Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP6944317B2 - File transfer system and file transfer method - Google Patents
[go: Go Back, main page]

JP6944317B2 - File transfer system and file transfer method - Google Patents

File transfer system and file transfer method Download PDF

Info

Publication number
JP6944317B2
JP6944317B2 JP2017174444A JP2017174444A JP6944317B2 JP 6944317 B2 JP6944317 B2 JP 6944317B2 JP 2017174444 A JP2017174444 A JP 2017174444A JP 2017174444 A JP2017174444 A JP 2017174444A JP 6944317 B2 JP6944317 B2 JP 6944317B2
Authority
JP
Japan
Prior art keywords
piece
server
file
upload
information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2017174444A
Other languages
Japanese (ja)
Other versions
JP2019049914A (en
Inventor
峰幸 田村
峰幸 田村
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Systems Ltd
Original Assignee
Hitachi Systems Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Systems Ltd filed Critical Hitachi Systems Ltd
Priority to JP2017174444A priority Critical patent/JP6944317B2/en
Publication of JP2019049914A publication Critical patent/JP2019049914A/en
Application granted granted Critical
Publication of JP6944317B2 publication Critical patent/JP6944317B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Transfer Between Computers (AREA)

Description

本発明は、ファイル転送の技術に関し、特に、インターネットを介してラージファイルを転送するファイル転送システムおよびファイル転送方法に適用して有効な技術に関するものである。 The present invention relates to a file transfer technique, and more particularly to a technique effective when applied to a file transfer system and a file transfer method for transferring a large file via the Internet.

例えば、サーバ間でファイルを転送する際に、ファイル単位で転送を行うと、サイズが大きいファイル(ラージファイル)の場合、転送効率が悪くなることから、ファイルを複数の断片(ピース)に細分化し、ピース単位で転送することが行われている。また、ファイルをピースに細分化して個別に転送することで、ファイル転送に係るセキュリティを向上させることも検討されている。 For example, when transferring files between servers, if the files are transferred in file units, the transfer efficiency will be poor for large files (large files), so the files will be subdivided into multiple pieces. , Is being transferred piece by piece. It is also being considered to improve the security related to file transfer by subdividing the file into pieces and transferring them individually.

これらに関連する技術として、例えば、特開2016−152569号公報(特許文献1)には、単一のファイルをN個のデータ群に分割し、N個のデータ群とオフセット位置を示すN個の転送ジョブを作成し、TCPの同時接続数のM個の転送スレッドに転送ジョブを割り当て、M個のコネクションにより、M個の転送ジョブで指定されたM個のデータ群とオフセット位置を並列に転送する旨が記載されている。 As a technique related to these, for example, Japanese Patent Application Laid-Open No. 2016-152569 (Patent Document 1) divides a single file into N data groups, and N data groups and N data groups indicating offset positions. Create a transfer job, assign a transfer job to M transfer threads with the number of simultaneous TCP connections, and use M connections to parallelize the offset position with the M data group specified by the M transfer jobs. It is stated that it will be transferred.

また、特開2012−208549号公報(特許文献2)には、送信側コンピュータに、入力ファイルからデータを読み出して分割して複数のピースとしてネットワークへ送信する処理をマルチスレッドの処理により行うモジュールを備え、受信側コンピュータに、ネットワークから複数のピースを受信して統合して出力ファイルへ書き込む処理をマルチスレッドの処理により行うモジュールを備える旨が記載されている。 Further, Japanese Patent Application Laid-Open No. 2012-208549 (Patent Document 2) provides a module that performs a process of reading data from an input file, dividing the data, and transmitting the data as a plurality of pieces to the network by a multi-thread process on the transmitting computer. It is described that the receiving computer is provided with a module that receives a plurality of pieces from the network, integrates them, and writes them to an output file by multi-thread processing.

また、特開2003−323365号公報(特許文献3)には、送信側の転送制御装置が、転送対象データを複数のピースに分割し、各ピースからその一部のデータを欠落させて暗号化した上で異なる中継サーバにそれぞれアップロードするとともに、欠落分のデータを受信側の転送制御装置に送信し、受信側の転送制御装置では、各中継サーバから各ピースをダウンロードして復号し、欠落分のデータを補充して欠落前の状態に復元して組み立てることで、元の転送対象データを得る旨が記載されている。 Further, in Japanese Patent Application Laid-Open No. 2003-323365 (Patent Document 3), the transfer control device on the transmitting side divides the data to be transferred into a plurality of pieces and encrypts the data by removing a part of the data from each piece. After that, the data is uploaded to different relay servers, and the missing data is sent to the transfer control device on the receiving side. The transfer control device on the receiving side downloads each piece from each relay server, decodes it, and deletes the missing data. It is stated that the original data to be transferred can be obtained by replenishing the data in the above and restoring it to the state before the loss and assembling it.

特開2016−152569号公報Japanese Unexamined Patent Publication No. 2016-152569 特開2012−208549号公報Japanese Unexamined Patent Publication No. 2012-208549 特開2003−323365号公報Japanese Unexamined Patent Publication No. 2003-323365

例えば、特許文献1、2等に記載された技術によれば、ファイルを複数のピースに細分化して並行的に送信(および受信)することで、ラージファイルについても高速に転送することが可能である。しかし、この場合、転送元と転送先とが相互に通信セッションを直接確立する必要があるため、インターネット上でのファイル転送には適さない場合がある。 For example, according to the techniques described in Patent Documents 1, 2, etc., a large file can be transferred at high speed by subdividing the file into a plurality of pieces and transmitting (and receiving) the file in parallel. be. However, in this case, since it is necessary for the transfer source and the transfer destination to directly establish a communication session with each other, it may not be suitable for file transfer on the Internet.

これに対し、特許文献3等に記載された技術のように、インターネット上のサーバやストレージ等(以下では「オンラインストレージ」と記載する場合がある)に対して転送元がHTTP(HyperText Transfer Protocol)等の通信を利用してファイルをアップロードし、転送先がこれをHTTP等の通信を利用してダウンロードすることで間接的にファイルを転送することも行われる。これにより、転送元および転送先は、それぞれ一般的なインターネット接続環境を有していればファイル転送を行うことができる。 On the other hand, as in the technology described in Patent Document 3, etc., the transfer source is HTTP (HyperText Transfer Protocol) for servers, storage, etc. on the Internet (hereinafter, may be referred to as "online storage"). A file is uploaded by using communication such as HTTP, and the transfer destination indirectly transfers the file by downloading the file using communication such as HTTP. As a result, the transfer source and the transfer destination can perform file transfer as long as they have a general Internet connection environment.

しかし、この場合、転送先によるファイルのダウンロードは、転送元によるファイルのアップロードが完了してからでなければ実行することができない。したがって、例えば、テラバイトを超えるようなラージファイルの転送では、転送元によるアップロード、および転送先によるダウンロードのそれぞれについて上記のようなファイルの細分化による高速化を行ったとしても、転送元がアップロードを開始して完了し、その後、転送先がダウンロードを開始して完了するまでにはかなりの時間を要してしまう。 However, in this case, the file download by the transfer destination can be executed only after the file upload by the transfer source is completed. Therefore, for example, in the case of transferring a large file that exceeds terabytes, the transfer source uploads the file even if the upload by the transfer source and the download by the transfer destination are accelerated by the above-mentioned file subdivision. It takes a considerable amount of time for the transfer destination to start and complete the download after it starts and completes.

そこで本発明の目的は、オンラインストレージを介した間接的なファイル転送を利用してラージファイルを高速に転送することを可能とするファイル転送システムおよびファイル転送方法を提供することにある。 Therefore, an object of the present invention is to provide a file transfer system and a file transfer method that enable high-speed transfer of a large file by using indirect file transfer via online storage.

本発明の前記ならびにその他の目的と新規な特徴は、本明細書の記述および添付図面から明らかになるであろう。 The above and other objects and novel features of the present invention will become apparent from the description and accompanying drawings herein.

本願において開示される発明のうち、代表的なものの概要を簡単に説明すれば、以下のとおりである。 A brief description of typical inventions disclosed in the present application is as follows.

本発明の代表的な実施の形態によるファイル転送システムは、オンラインストレージを介して第1のサーバが第2のサーバにファイルを転送するファイル転送システムであって、前記第1のサーバは、前記ファイルを1つ以上のピースに分割して、前記ピース毎に前記オンラインストレージにアップロードし、また、前記各ピースについてのアップロードの状況に係る第1の情報、および前記各ピースから前記ファイルを復元するための第2の情報を、第3のサーバに保存するアップロード処理部を有し、前記第2のサーバは、前記第3のサーバから取得した前記第1の情報に基づいて、前記オンラインストレージにアップロードされた前記各ピースをダウンロードし、ダウンロードした前記各ピースに基づいて、前記第3のサーバから取得した前記第2の情報にしたがって前記ファイルを復元するダウンロード処理部を有する。 The file transfer system according to a typical embodiment of the present invention is a file transfer system in which a first server transfers a file to a second server via online storage, and the first server is the file. To divide the file into one or more pieces and upload each piece to the online storage, and to restore the first information regarding the upload status for each piece and the file from each piece. The second server has an upload processing unit that stores the second information of the above in a third server, and the second server uploads to the online storage based on the first information acquired from the third server. It has a download processing unit that downloads each of the pieces and restores the file according to the second information acquired from the third server based on the downloaded pieces.

そして、前記ダウンロード処理部は、前記第1のサーバによる前記オンラインストレージへのアップロードが完了した前記ピースから順次、他の全ての前記ピースがアップロードされるのを待つことなくダウンロードを開始する。 Then, the download processing unit starts downloading sequentially from the piece that has been uploaded to the online storage by the first server without waiting for all the other pieces to be uploaded.

本願において開示される発明のうち、代表的なものによって得られる効果を簡単に説明すれば以下のとおりである。 Among the inventions disclosed in the present application, the effects obtained by representative ones will be briefly described as follows.

すなわち、本発明の代表的な実施の形態によれば、オンラインストレージを介した間接的なファイル転送を利用してラージファイルを高速に転送することが可能となる。 That is, according to a typical embodiment of the present invention, it is possible to transfer a large file at high speed by using indirect file transfer via online storage.

本発明の一実施の形態であるファイル転送システムの構成例について概要を示した図である。It is a figure which showed the outline about the structural example of the file transfer system which is one Embodiment of this invention. 本発明の一実施の形態におけるアップロード処理の流れの例について概要を示したフローチャートである。It is a flowchart which showed the outline about the example of the flow of the upload process in one Embodiment of this invention. 本発明の一実施の形態におけるダウンロード処理の流れの例について概要を示したフローチャートである。It is a flowchart which showed the outline about the example of the flow of the download process in one Embodiment of this invention. (a)は従来技術における、(b)は本発明の一実施の形態におけるアップロード処理とダウンロード処理の実行例について概要を示した図である。(A) is a diagram showing an outline of an execution example of an upload process and a download process in one embodiment of the present invention in the prior art.

以下、本発明の実施の形態を図面に基づいて詳細に説明する。なお、実施の形態を説明するための全図において、同一部には原則として同一の符号を付し、その繰り返しの説明は省略する。一方で、ある図において符号を付して説明した部位について、他の図の説明の際に再度の図示はしないが同一の符号を付して言及する場合がある。 Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings. In addition, in all the drawings for explaining the embodiment, in principle, the same reference numerals are given to the same parts, and the repeated description thereof will be omitted. On the other hand, the parts described with reference numerals in one figure may be referred to with the same reference numerals in the explanation of other figures, although they are not shown again.

<システム構成>
図1は、本発明の一実施の形態であるファイル転送システムの構成例について概要を示した図である。ファイル転送システム1は、例えば、インターネット2に対して、アップロードサーバ10、ダウンロードサーバ20、オンラインストレージ30、および管理サーバ40等の各種サーバやサービス、サブシステム等が接続された構成を有する。
<System configuration>
FIG. 1 is a diagram showing an outline of a configuration example of a file transfer system according to an embodiment of the present invention. The file transfer system 1 has, for example, a configuration in which various servers such as an upload server 10, a download server 20, an online storage 30, and a management server 40, services, subsystems, and the like are connected to the Internet 2.

アップロードサーバ10は、ファイルの転送元のサーバであり、オンラインストレージ30に転送対象のファイルをアップロードする機能を有する。また、ダウンロードサーバ20は、ファイルの転送先のサーバであり、オンラインストレージ30から転送対象のフィアルをダウンロードして取得する機能を有する。なお、アップロードサーバ10とダウンロードサーバ20の分類は機能的・論理的なものであり、実装上は両者の機能を兼ね備えた(すなわち、ファイルの転送元・転送先いずれにもなれる)サーバが複数存在する構成であってもよい。 The upload server 10 is a file transfer source server, and has a function of uploading a file to be transferred to the online storage 30. Further, the download server 20 is a server to which the file is transferred, and has a function of downloading and acquiring a file to be transferred from the online storage 30. The classification of the upload server 10 and the download server 20 is functional and logical, and there are a plurality of servers that have both functions (that is, can be both a file transfer source and a transfer destination) in terms of implementation. It may be configured to be used.

アップロードサーバ10、ダウンロードサーバ20のいずれも、例えば、サーバ機器やクラウドコンピューティングサービス上に構築された仮想サーバ等により構成される。テラバイトを超えるようなラージファイルを保持することができるものであれば、PC(Personal Computer)等の情報処理端末であってもよい。そして、図示しないCPU(Central Processing Unit)により、HDD(Hard Disk Drive)等の記録装置からメモリ上に展開したOS(Operating System)やDBMS(DataBase Management System)等のミドルウェアや、その上で稼働するソフトウェアを実行することで、ファイル転送に係る後述する各種機能を実現する。 Both the upload server 10 and the download server 20 are composed of, for example, a server device, a virtual server built on a cloud computing service, or the like. An information processing terminal such as a PC (Personal Computer) may be used as long as it can hold a large file exceeding terabytes. Then, by a CPU (Central Processing Unit) (not shown), middleware such as OS (Operating System) and DBMS (DataBase Management System) developed on the memory from a recording device such as HDD (Hard Disk Drive) and running on it. By executing the software, various functions related to file transfer, which will be described later, are realized.

アップロードサーバ10は、ソフトウェアとして実装されたアップロード処理部11を有する。アップロード処理部11は、ラージファイルも含む転送対象のファイルであるアップロードファイル12を、小さなサイズの断片(ピース)に分割し、これらをオンラインストレージ30へアップロードする機能を有する。図1の例では、アップロードファイル12をP1、P2、P3、…の複数のピースに分割し、これらをオンラインストレージ30にそれぞれアップロードしたことを示している。 The upload server 10 has an upload processing unit 11 implemented as software. The upload processing unit 11 has a function of dividing the upload file 12, which is a file to be transferred including a large file, into small-sized fragments (pieces) and uploading them to the online storage 30. In the example of FIG. 1, it is shown that the upload file 12 is divided into a plurality of pieces of P1, P2, P3, ..., And these are uploaded to the online storage 30 respectively.

オンラインストレージ30は、インターネット2を介してファイルを授受し、これをHDD等の記録装置に保管する機能を有するサービスであり、大容量のHDDを備えた複数のファイルサーバやネットワークストレージ等により構成されていてもよいし、Amazon(登録商標) Simple Storage Service(S3)のようないわゆるクラウドストレージにより構成されていてもよい。いずれの構成でも、アップロードサーバ10からアップロードされた複数のピースを分散保管することができるよう、複数のストレージを有する構成とするのが望ましいが、単一のストレージであってもよい。図1の例でも、P1、P2、P3、…の複数のピースをそれぞれ異なるストレージに保管したことを示している。 The online storage 30 is a service having a function of sending and receiving files via the Internet 2 and storing the files in a recording device such as an HDD, and is composed of a plurality of file servers equipped with a large-capacity HDD, network storage, and the like. It may be configured by so-called cloud storage such as Amazon (registered trademark) Simple Storage Service (S3). In any configuration, it is desirable to have a plurality of storages so that a plurality of pieces uploaded from the upload server 10 can be distributed and stored, but a single storage may be used. The example of FIG. 1 also shows that a plurality of pieces of P1, P2, P3, ... Are stored in different storages.

アップロードサーバ10と同様に、ダウンロードサーバ20は、ソフトウェアとして実装されたダウンロード処理部21を有する。ダウンロード処理部21は、オンラインストレージ30から複数のピースをダウンロードし、取得したピースから転送対象のファイルであるダウンロードファイル22を復元する機能を有する。図1の例では、オンラインストレージ30からP1、P2、P3、…の複数のピースをそれぞれダウンロードし、これらのピースからダウンロードファイル22を復元したことを示している。 Like the upload server 10, the download server 20 has a download processing unit 21 implemented as software. The download processing unit 21 has a function of downloading a plurality of pieces from the online storage 30 and restoring the download file 22 which is a file to be transferred from the acquired pieces. In the example of FIG. 1, it is shown that a plurality of pieces of P1, P2, P3, ... Are downloaded from the online storage 30, and the download file 22 is restored from these pieces.

アップロードファイル12から分割された各ピースのオンラインストレージ30へのアップロードの状況に係る情報、およびこれらの各ピースからダウンロードファイル22を復元するための情報は、アップロード処理部11が、管理サーバ40上にマップ情報41として記録する。各ピースのアップロードの状況に係る情報には、例えば、各ピースの名称や、それぞれがアップロードされた(もしくはされる)オンラインストレージ30上のストレージ、および各ピースについてそれぞれアップロードが完了したか否か等の情報が含まれる。 The upload processing unit 11 sends the information related to the upload status of each piece divided from the upload file 12 to the online storage 30 and the information for restoring the download file 22 from each of these pieces on the management server 40. Record as map information 41. Information related to the upload status of each piece includes, for example, the name of each piece, the storage on the online storage 30 to which each piece has been uploaded (or is), and whether or not the upload has been completed for each piece. Information is included.

また、ダウンロードファイル22を復元するための情報には、例えば、ダウンロードファイル22(=アップロードファイル12)と各ピースとの関連付けの情報や、各ピースのファイル中の位置(オフセット)や配置順序・処理順序等に係る情報が含まれる。ダウンロードサーバ20のダウンロード処理部21は、例えば、一定間隔で定期的に管理サーバ40のマップ情報41を参照し、自身宛に転送されているファイルに係る情報が登録されている場合に、その内容に基づいて、オンラインストレージ30の対象のストレージから復元に必要なピースをダウンロードしてダウンロードファイル22を復元する。 The information for restoring the download file 22 includes, for example, information on the association between the download file 22 (= upload file 12) and each piece, the position (offset) in the file of each piece, the arrangement order / processing, and the information. Information related to the order etc. is included. For example, the download processing unit 21 of the download server 20 periodically refers to the map information 41 of the management server 40 at regular intervals, and when the information related to the file transferred to itself is registered, the contents thereof. Based on the above, the pieces necessary for restoration are downloaded from the target storage of the online storage 30, and the download file 22 is restored.

ダウンロード処理部21は、ダウンロードした各ピースについて、例えば、ダウンロードファイル22の復元が完了したタイミング等でオンラインストレージ30から削除するようにしてもよい。また、ダウンロードした各ピースについて管理サーバ40のマップ情報41を更新するようにしてもよい。なお、管理サーバ40のマップ情報41の更新については、例えば、アップロード処理部11やダウンロード処理部21が直接マップ情報41のファイルやデータを更新してもよいし、管理サーバ40が提供するAPI(Application Programming Interface)等の外部インタフェースを介して更新するようにしてもよい。 The download processing unit 21 may delete each downloaded piece from the online storage 30 at the timing when the restoration of the download file 22 is completed, for example. Further, the map information 41 of the management server 40 may be updated for each downloaded piece. Regarding the update of the map information 41 of the management server 40, for example, the upload processing unit 11 or the download processing unit 21 may directly update the file or data of the map information 41, or the API (API) provided by the management server 40. It may be updated via an external interface such as Application Programming Interface).

アップロード処理部11、ダウンロード処理部21のいずれも、インターネット2上のオンラインストレージ30や管理サーバ40にアクセスする際の通信プロトコルとしてHTTP(HTTPS)を用いる。したがって、グローバルIPアドレスを有する必要はなく、プロキシーサーバの環境にも対応することができ、一般的なインターネット2への接続環境を有していれば本実施の形態のファイル転送を実現することができる。また、オンラインストレージ30にアクセスするためのアカウント情報を図示しない設定ファイル等に設定してアップロード処理部11およびダウンロード処理部21がこれを参照することで、ユーザからオンラインストレージ30にアクセスするためのアカウント情報を隠蔽することができる。 Both the upload processing unit 11 and the download processing unit 21 use HTTP (HTTPS) as a communication protocol when accessing the online storage 30 and the management server 40 on the Internet 2. Therefore, it is not necessary to have a global IP address, it is possible to correspond to the environment of the proxy server, and if it has a general connection environment to the Internet 2, the file transfer of the present embodiment can be realized. can. Further, the account information for accessing the online storage 30 is set in a setting file or the like (not shown), and the upload processing unit 11 and the download processing unit 21 refer to the account information for accessing the online storage 30 from the user. Information can be hidden.

また、アップロード処理部11、ダウンロード処理部21のいずれも、ピースの転送(アップロード/ダウンロード)処理中にネットワークエラーが発生した場合、自動的にリトライするようにしてもよい。これにより、インターネット2のようにエラー率が高いネットワークにおいてもファイルを確実に転送することができる。 Further, both the upload processing unit 11 and the download processing unit 21 may automatically retry if a network error occurs during the piece transfer (upload / download) process. As a result, files can be reliably transferred even in a network with a high error rate such as the Internet 2.

アップロード処理部11、ダウンロード処理部21のいずれも、ピースの転送(アップロード/ダウンロード)に係る処理をマルチスレッドで並行的に行うようにしてもよい。これにより、ピース全体の転送に係る時間を短縮し、ファイル転送を高速化することができる。また、後述するように、アップロード処理部11によるピースのアップロードの処理と、ダウンロード処理部21によるピースのダウンロードの処理とをパイプライン処理として並行的に行うようにしてもよい。これにより、ファイル全体の転送に係る時間を短縮してファイル転送を高速化することができる。 Both the upload processing unit 11 and the download processing unit 21 may perform processing related to piece transfer (upload / download) in parallel in multiple threads. As a result, the time required for transferring the entire piece can be shortened, and the file transfer can be speeded up. Further, as will be described later, the process of uploading the piece by the upload processing unit 11 and the process of downloading the piece by the download processing unit 21 may be performed in parallel as the pipeline process. As a result, the time required for transferring the entire file can be shortened and the file transfer can be speeded up.

転送対象のファイル(本実施の形態ではアップロードファイル12)を複数のピースに分割し、さらに分割した複数のピース(もしくはその一部のピース)から転送対象のファイル(本実施の形態ではダウンロードファイル22)を復元する手法は特に限定されない。例えば、単順に転送対象のファイルを所定のサイズ毎に分割し、これらを順序に従って並べて結合することで復元するものであってもよいし、公知の秘密分散や電子割符の技術を用いて、それだけでは意味をなさないピースに分割するものであってもよい。 The file to be transferred (upload file 12 in the present embodiment) is divided into a plurality of pieces, and the file to be transferred (download file 22 in the present embodiment) is further divided from the plurality of divided pieces (or some pieces thereof). ) Is not particularly limited. For example, the files to be transferred may be simply divided into predetermined sizes and then arranged and combined in order to restore the files, or by using known secret sharing or electronic tally techniques. Then, it may be divided into pieces that do not make sense.

特に、秘密分散や電子割符等のセキュアな技術を用いない場合は、アップロード処理部11において、生成した各ピースを暗号化するようにしてもよい。例えば、ピース毎に生成した暗号鍵により暗号化し、さらに無意味な名称(ファイル名)としてオンラインストレージ30にアップロードする。暗号化されたピースを復号するための鍵(例えば、共通鍵方式の場合は共通鍵、公開鍵方式の場合は公開鍵)の情報は、例えば、ダウンロードファイル22を復元するための情報として、オンラインストレージ30とは別の管理サーバ40のマップ情報41にピースと関連付けて登録する。これにより、オンラインストレージ30上に保持されたピースの情報が漏洩したとしても、転送対象のファイルが復元されるのを回避することができる。 In particular, when a secure technique such as secret sharing or electronic tally is not used, the upload processing unit 11 may encrypt each generated piece. For example, it is encrypted with the encryption key generated for each piece and uploaded to the online storage 30 as a meaningless name (file name). The information of the key for decrypting the encrypted piece (for example, the common key in the case of the common key method and the public key in the case of the public key method) is online as, for example, information for restoring the download file 22. It is registered in the map information 41 of the management server 40, which is different from the storage 30, in association with the piece. As a result, even if the information of the piece held on the online storage 30 is leaked, it is possible to prevent the file to be transferred from being restored.

また、アップロード処理部11、ダウンロード処理部21のいずれも、例えば、ピースの転送(アップロード/ダウンロード)の際に各ピースのハッシュ値をそれぞれ算出し、オンラインストレージ30が算出したハッシュ値と比較するようにしてもよい。ハッシュ値が一致しない場合は、例えば、ピースの単位で転送をリトライすることにより、ピースの転送中の改竄やデータ化けを回避し、確実なファイル転送を実現する。オンラインストレージ30がハッシュ値の算出機能を有さない場合は、アップロード処理部11とダウンロード処理部21との間でそれぞれが算出したハッシュ値を比較するようにしてもよい。 Further, both the upload processing unit 11 and the download processing unit 21 calculate, for example, the hash value of each piece at the time of piece transfer (upload / download) and compare it with the hash value calculated by the online storage 30. You may do it. If the hash values do not match, for example, by retrying the transfer in units of pieces, falsification and data garbled during the transfer of the pieces are avoided, and reliable file transfer is realized. When the online storage 30 does not have the hash value calculation function, the hash values calculated by the upload processing unit 11 and the download processing unit 21 may be compared.

<処理の流れ(アップロード)>
図2は、本実施の形態におけるアップロード処理の流れの例について概要を示したフローチャートである。ユーザからファイル転送の指示を受けた場合、アップロードサーバ10のアップロード処理部11は、まず、転送対象のアップロードファイル12のファイルサイズを取得し(S01)、ファイルサイズが所定のサイズ以上であるか否かを判定する(S02)。ファイルサイズが所定のサイズ以上である場合(S02:Yes)は、アップロードファイル12を所定のサイズ以下の複数のピースに分割する(S03)。上述したように、アップロードファイル12をピースに分割する手法は特に限定されない。一方、ファイルサイズが所定のサイズ未満である場合(S02:No)は、複数のピースに分割してアップロードする方が非効率となるため、ステップS03でのアップロードファイル12の複数のピースへの分割処理を行わないものとする。この場合、アップロードファイル12全体をそのまま1つのピースとして取り扱えばよく、このように取り扱うことも本実施の形態におけるピースへの「分割」の概念に含まれるものとする。
<Processing flow (upload)>
FIG. 2 is a flowchart showing an outline of an example of the flow of the upload process in the present embodiment. When receiving a file transfer instruction from the user, the upload processing unit 11 of the upload server 10 first acquires the file size of the upload file 12 to be transferred (S01), and whether or not the file size is equal to or larger than a predetermined size. (S02). When the file size is larger than or equal to a predetermined size (S02: Yes), the upload file 12 is divided into a plurality of pieces having a predetermined size or less (S03). As described above, the method of dividing the upload file 12 into pieces is not particularly limited. On the other hand, when the file size is less than a predetermined size (S02: No), it is inefficient to divide the upload file 12 into a plurality of pieces and upload the file. Therefore, the upload file 12 is divided into a plurality of pieces in step S03. No processing shall be performed. In this case, the entire upload file 12 may be treated as one piece as it is, and such handling is also included in the concept of "division" into pieces in the present embodiment.

なお、上記の所定のファイルサイズは、例えば、オンラインストレージ30の仕様(例えば、単一のストレージにファイル全体を保管することができる最大サイズや、1回のアップロードで転送可能なファイルサイズ等)に応じて予め決定される。小さいサイズのピースに分割して転送することから、元のアップロードファイル12自体のファイルサイズには特に制限がなく、オンラインストレージ30が保管可能なファイルの最大サイズより大きいラージファイルであっても対応することができる。また、ピースに分割する際の所定のピースサイズは、上記の所定のファイルサイズと同じであってもよいし、それ未満のサイズであってもよい。これらのサイズに係る情報は、例えば、図示しない設定ファイル等に予め設定しておく。 The above-mentioned predetermined file size is, for example, according to the specifications of the online storage 30 (for example, the maximum size that can store the entire file in a single storage, the file size that can be transferred by one upload, etc.). It is determined in advance accordingly. Since the file is divided into small pieces and transferred, the file size of the original upload file 12 itself is not particularly limited, and even a large file larger than the maximum size of the file that can be stored in the online storage 30 can be supported. be able to. Further, the predetermined piece size when dividing into pieces may be the same as the above-mentioned predetermined file size, or may be smaller than the predetermined file size. Information related to these sizes is set in advance in, for example, a setting file (not shown).

アップロードファイル12を1つ以上のピースに分割すると、その後、各ピースについてそれぞれ暗号化を行う(S04)。そして、各ピースの名称等の識別情報や、アップロードファイル12(=ダウンロードファイル22)を復元するために用いられる各種情報を、アップロードファイル12と関連付けて、管理サーバ40のマップ情報41に新たに登録する(S05)。各ピースのサイズ等の情報を含んでいてもよい。なお、この時点では、いずれのピースについてもアップロード未了として登録される。 When the upload file 12 is divided into one or more pieces, each piece is then encrypted (S04). Then, the identification information such as the name of each piece and various information used for restoring the upload file 12 (= download file 22) are newly registered in the map information 41 of the management server 40 in association with the upload file 12. (S05). Information such as the size of each piece may be included. At this point, all pieces are registered as upload incomplete.

その後、各ピースをオンラインストレージ30にアップロードするためのスレッドを所定の数だけ起動する(S06)。上述したように、本実施の形態では、ピースのアップロードをマルチスレッドにて並行的に行う。起動するスレッドの数は、例えば、アップロードサーバ10が備える使用可能なメモリの容量と、ピースのサイズとに基づいて動的に決定し、もしくは図示しない設定ファイル等に予め設定しておく。 After that, a predetermined number of threads for uploading each piece to the online storage 30 are started (S06). As described above, in the present embodiment, the pieces are uploaded in parallel by multithreading. The number of threads to be activated is dynamically determined based on, for example, the amount of available memory provided in the upload server 10 and the size of the piece, or is set in advance in a setting file (not shown) or the like.

起動された各スレッドでは、アップロード対象のピースを取得し(S07)、取得したピースのアップロード先となるオンラインストレージ30上のストレージを決定する(S08)。図2の例では、各スレッドがアップロード対象のピースについてアップロード先を随時決定するものとしているが、これに限られない。例えば、アップロード処理部11が、上記のステップS03でアップロードファイル12を1つ以上のピースに分割した際に、各ピースについてアップロード先を一括して決定するようにしてもよい。なお、各ピースについてアップロード先となるオンラインストレージ30上のストレージを決定するため、例えば、アップロードサーバ10は、オンラインストレージ30上で利用可能なストレージの情報を、図示しない設定ファイル等に予め保持していてもよい。 In each started thread, the piece to be uploaded is acquired (S07), and the storage on the online storage 30 to which the acquired piece is uploaded is determined (S08). In the example of FIG. 2, each thread decides the upload destination for the piece to be uploaded at any time, but the upload destination is not limited to this. For example, when the upload processing unit 11 divides the upload file 12 into one or more pieces in step S03 above, the upload destination may be collectively determined for each piece. In order to determine the storage on the online storage 30 as the upload destination for each piece, for example, the upload server 10 holds information on the storage available on the online storage 30 in advance in a setting file or the like (not shown). You may.

対象のピースについてアップロード先となるオンラインストレージ30上のストレージが決定されると、当該アップロード先に当該ピースをアップロードする(S09)。アップロード開始後は、アップロードが完了するまで状況を監視し、アップロードが途中で異常終了した場合は、所定の上限回数までリトライするようにしてもよい。また、アップロードしたピースについてオンラインストレージ30側で算出されたハッシュ値を取得し、アップロード処理部11のスレッド側で算出したハッシュ値と比較して(S10)、一致しない場合に異常終了とするようにしてもよい。 When the storage on the online storage 30 to be the upload destination for the target piece is determined, the piece is uploaded to the upload destination (S09). After the upload is started, the situation may be monitored until the upload is completed, and if the upload ends abnormally in the middle, the retry may be performed up to a predetermined maximum number of times. In addition, the hash value calculated on the online storage 30 side for the uploaded piece is acquired, compared with the hash value calculated on the thread side of the upload processing unit 11 (S10), and if they do not match, the process ends abnormally. You may.

対象のピースのアップロードが完了すると、その旨、およびオンラインストレージ30上のいずれのストレージにアップロードしたかの情報を管理サーバ40上のマップ情報41に記録してマップ情報41の内容を更新する(S11)。これにより、ダウンロードサーバ20は、マップ情報41を参照することで、対象のピースがオンラインストレージ30上にアップロードされたことを認識することができる。 When the upload of the target piece is completed, the information to that effect and the information on which storage on the online storage 30 is uploaded is recorded in the map information 41 on the management server 40, and the content of the map information 41 is updated (S11). ). As a result, the download server 20 can recognize that the target piece has been uploaded to the online storage 30 by referring to the map information 41.

その後、アップロードが未了のピースが残っているか否かを判定し(S12)、残っていない場合、すなわち全てのピースのアップロードが完了した場合(S12:No)は、アップロード処理を終了する。未了のピースが残っている場合(S12:Yes)は、ステップS07に戻って、未了のピースがなくなるまでアップロードの処理を繰り返す。以上の一連の処理により、アップロードファイル12を分割した1つ以上のピースを、マルチスレッドで高速にオンラインストレージ30にアップロードすることができる。 After that, it is determined whether or not there are pieces that have not been uploaded (S12), and if there are no pieces left, that is, if the upload of all the pieces is completed (S12: No), the upload process ends. If there are unfinished pieces remaining (S12: Yes), the process returns to step S07 and the upload process is repeated until there are no unfinished pieces. By the above series of processing, one or more pieces obtained by dividing the upload file 12 can be uploaded to the online storage 30 at high speed by multithreading.

<処理の流れ(ダウンロード)>
図3は、本実施の形態におけるダウンロード処理の流れの例について概要を示したフローチャートである。ダウンロードサーバ20では、一定時間毎に定期的に、もしくはユーザからの指示を受けたタイミングで、ダウンロード処理部21により、管理サーバ40上のマップ情報41を確認し(S21)、自身宛に転送されたファイルに係るピースの情報が登録されているか否かを判定する(S22)。ここでのピースには、アップロードファイル12が所定のファイルサイズより小さかったために全体が1つのピースとして取り扱われた場合も含まれる。該当するピースの情報が登録されていない場合(S22:No)は、自身宛に転送されているファイルがないものとして、ステップS21に戻って、該当するピースの情報が登録されるまで、所定のタイミングでのマップ情報41の確認を繰り返す。
<Processing flow (download)>
FIG. 3 is a flowchart showing an outline of an example of the flow of the download process in the present embodiment. In the download server 20, the download processing unit 21 confirms the map information 41 on the management server 40 (S21) and transfers it to itself at regular intervals or at the timing of receiving an instruction from the user. It is determined whether or not the piece information related to the file is registered (S22). The piece here includes a case where the uploaded file 12 is smaller than a predetermined file size and is therefore treated as one piece as a whole. If the information of the corresponding piece is not registered (S22: No), it is assumed that there is no file transferred to itself, and the process returns to step S21 until the information of the corresponding piece is registered. The confirmation of the map information 41 at the timing is repeated.

管理サーバ40上のマップ情報41に、自身宛に転送されたファイルに係るいずれかのピースの情報が新たに登録されている場合(S22:Yes)、以下に示す、対象のファイルのダウンロードに係る一連の処理を開始する。このように、ダウンロード処理部21が管理サーバ40上のマップ情報41をポーリングすることで、オンラインストレージ30に対象のファイルに係るピースがアップロードされたことを検知し、自動的にダウンロードに係る処理を開始することができる。すなわち、オンラインストレージ30を介した、アップロードサーバ10からダウンロードサーバ20へのファイル転送を、アップロードサーバ10からダウンロードサーバ20に対して直接ファイル転送しているかのような形で実装することができる。 When the information of any piece related to the file transferred to itself is newly registered in the map information 41 on the management server 40 (S22: Yes), it relates to the download of the target file as shown below. Start a series of processes. In this way, the download processing unit 21 polls the map information 41 on the management server 40 to detect that the piece related to the target file has been uploaded to the online storage 30, and automatically performs the processing related to the download. You can start. That is, the file transfer from the upload server 10 to the download server 20 via the online storage 30 can be implemented as if the file was directly transferred from the upload server 10 to the download server 20.

ダウンロードに係る処理では、まず、対象のピースをオンラインストレージ30からダウンロードするためのスレッドを所定の数だけ起動する(S23)。上述したように、本実施の形態では、ピースのダウンロードもマルチスレッドにて並行的に行う。起動するスレッドの数は、例えば、ダウンロードサーバ20が備える使用可能なメモリの容量と、ピースのサイズとに基づいて動的に決定し、もしくは図示しない設定ファイル等に予め設定しておく。 In the process related to download, first, a predetermined number of threads for downloading the target piece from the online storage 30 are started (S23). As described above, in the present embodiment, the pieces are also downloaded in parallel by multithreading. The number of threads to be activated is dynamically determined based on, for example, the amount of available memory provided in the download server 20 and the size of the piece, or is set in advance in a setting file (not shown) or the like.

起動された各スレッドでは、管理サーバ40のマップ情報41から、ダウンロード対象のピースに係る情報を取得する(S24)。取得する情報には、例えば、対象のピースの保存先であるオンラインストレージ30上のストレージの情報や、ピースのサイズ、復号するための鍵や、ハッシュ値等の情報が含まれ得る。そして、マップ情報41から取得した対象のピースの保存先のストレージの情報に基づいて、当該ピースをダウンロードする(S25)。ダウンロード開始後は、ダウンロードが完了するまで状況を監視し、ダウンロードが途中で異常終了した場合は、所定の上限回数までリトライするようにしてもよい。また、当該ピースについてオンラインストレージ30側で算出されたハッシュ値を取得し、ダウンロード処理部21のスレッド側で算出したハッシュ値と比較して(S26)、一致しない場合に異常終了させるようにしてもよい。 Each started thread acquires information related to the piece to be downloaded from the map information 41 of the management server 40 (S24). The information to be acquired may include, for example, information on the storage on the online storage 30 where the target piece is stored, information on the size of the piece, a key for decryption, a hash value, and the like. Then, the piece is downloaded based on the storage information of the storage destination of the target piece acquired from the map information 41 (S25). After the download starts, the situation may be monitored until the download is completed, and if the download ends abnormally in the middle, the retry may be performed up to a predetermined maximum number of times. Further, the hash value calculated on the online storage 30 side for the piece is acquired, compared with the hash value calculated on the thread side of the download processing unit 21 (S26), and if they do not match, the process is abnormally terminated. good.

その後、ダウンロードしたピースについて、マップ情報41から取得した復号用の鍵を用いて復号する(S27)。復号が完了したピースについては、保存先のオンラインストレージ30上のストレージから削除するようにしてもよい(S28)。 After that, the downloaded piece is decrypted using the decryption key obtained from the map information 41 (S27). The decrypted piece may be deleted from the storage on the storage destination online storage 30 (S28).

その後、ダウンロードが未了のピースが残っているか否かを判定し(S29)、残っている場合(S29:Yes)は、ステップS24に戻って、未了のピースがなくなるまでダンロードの処理を繰り返す。未了のピースが残っていない場合、すなわち全てのピースのダウンロードが完了した場合(S29:No)は、ダウンロードされ復号された各ピースに基づいて、マップ情報41に記録されたファイルを復元するための情報を参照して、ダウンロードファイル22を復元し(S30)、ダウンロード処理を終了する。以上の一連の処理により、オンラインストレージ30上のストレージに保存された1つ以上のピースを、マルチスレッドで高速にダウンロードし、ダウンロードファイル22を復元することができる。 After that, it is determined whether or not there are unfinished pieces to be downloaded (S29), and if they are left (S29: Yes), the process returns to step S24 and the download process is repeated until there are no unfinished pieces. .. When there are no unfinished pieces left, that is, when the download of all pieces is completed (S29: No), the file recorded in the map information 41 is restored based on each downloaded and decrypted piece. The download file 22 is restored (S30) with reference to the information in the above, and the download process is terminated. Through the above series of processes, one or more pieces stored in the storage on the online storage 30 can be downloaded at high speed with multithreading, and the download file 22 can be restored.

<アップロードとダウンロードのパイプライン処理>
図4は、オンラインストレージ30を介したアップロード処理とダウンロード処理の実行例について概要を示した図である。図中では、転送対象のファイルをP1〜P5の5つのピースに分割し、アップロードサーバ10がこの順でオンラインストレージ30にアップロードするとともに、ダウンロードサーバ20がこの順でオンラインストレージ30からダウンロードする場合を、横軸の時間経過により模式的に示している。また、説明の便宜上、アップロードサーバ10もダウンロードサーバ20もそれぞれシングルスレッドで各ピースを逐次アップロードもしくはダウンロードするものとしている。
<Upload and download pipeline processing>
FIG. 4 is a diagram showing an outline of an execution example of an upload process and a download process via the online storage 30. In the figure, a case where the file to be transferred is divided into five pieces P1 to P5, the upload server 10 uploads to the online storage 30 in this order, and the download server 20 downloads from the online storage 30 in this order. , Is shown schematically by the passage of time on the horizontal axis. Further, for convenience of explanation, both the upload server 10 and the download server 20 are supposed to upload or download each piece sequentially in a single thread.

図4(a)は、従来技術におけるアップロード処理とダウンロード処理の実行例を示している。ここでは、時刻T1に各ピースのアップロードを開始した場合、時刻T3にアップロードが完了することを示している。従来技術では、オンラインストレージ30上にP1〜P5の全てのピースのアップロードが完了した時点、すなわち転送対象のファイル全体のアップロードが完了した時点で、当該ファイルのダウンロード、すなわちP1〜P5の各ピースのダウンロードが開始される。すなわち、各ピースのダウンロードは時刻T3に開始することができ、時刻T5にダウンロードが完了することを示している。この場合、転送対象のファイルのアップロードを開始してからダウンロードを完了するまでのTAT(Turn Around Time)は、アップロード時間(時刻T1〜T3)とダウンロード時間(時刻T3〜T5)との和となる。 FIG. 4A shows an execution example of the upload process and the download process in the prior art. Here, it is shown that when the upload of each piece is started at the time T1, the upload is completed at the time T3. In the prior art, when all the pieces of P1 to P5 are uploaded to the online storage 30, that is, when the upload of the entire file to be transferred is completed, the file is downloaded, that is, each piece of P1 to P5 is downloaded. The download will start. That is, it indicates that the download of each piece can be started at time T3 and the download is completed at time T5. In this case, the TAT (Turn Around Time) from the start of uploading the file to be transferred to the completion of download is the sum of the upload time (time T1 to T3) and the download time (time T3 to T5). ..

これに対し、本実施の形態では、上述したように、アップロード処理とダウンロード処理とを、パイプライン処理として並行的に行うことが可能である。図4(b)は、本実施の形態におけるアップロード処理とダウンロード処理の実行例を示している。 On the other hand, in the present embodiment, as described above, the upload process and the download process can be performed in parallel as the pipeline process. FIG. 4B shows an execution example of the upload process and the download process in the present embodiment.

図4(b)に示すように、本実施の形態では、P1のピースのアップロードが完了した時刻T2の時点で、管理サーバ40のマップ情報41を参照することで、他の全てのピースのアップロードが完了するのを待つことなく、P1のピースのダウンロードを開始することができる。さらに、P1のピースのダウンロードと並行して、P2のピースのアップロードを開始することができ、また、P2のピースのアップロードが完了した時点でそのダウンロードを開始することができる。すなわち、ピース毎に、アップロードが完了したものから、他の全てのピース(すなわち転送対象のファイル全体)のアップロードの完了を待つことなく、ダウンロードを順次開始する。 As shown in FIG. 4B, in the present embodiment, at the time T2 when the upload of the piece of P1 is completed, by referring to the map information 41 of the management server 40, all the other pieces are uploaded. You can start downloading the P1 piece without waiting for it to complete. Further, the upload of the P2 piece can be started in parallel with the download of the P1 piece, and the download can be started when the upload of the P2 piece is completed. That is, for each piece, the download is sequentially started from the one for which the upload is completed, without waiting for the completion of the upload for all the other pieces (that is, the entire file to be transferred).

この場合、P1〜P5の全てのピースのアップロードが完了した時刻T3の時点で、ダウンロードが未了であるピースはP5のみであり、このP5のピースのダウンロードが完了した時刻T4の時点で、P1〜P5の全てのピースのダウンロードを完了させることができる。このようなパイプライン処理により、転送対象のファイルのアップロードを開始してからダウンロードを完了するまでのTATを、図4(a)の従来技術による場合よりも大幅に短縮し、ファイル転送を高速化することができる。 In this case, at the time T3 when the upload of all the pieces of P1 to P5 is completed, the only piece whose download has not been completed is P5, and at the time T4 when the download of the pieces of P5 is completed, P1 You can complete the download of all the pieces of ~ P5. By such pipeline processing, the TAT from the start of uploading the file to be transferred to the completion of download is significantly shortened as compared with the case of the conventional technique of FIG. 4 (a), and the file transfer is speeded up. can do.

以上に説明したように、本発明の一実施の形態であるファイル転送システム1によれば、アップロードサーバ10、ダウンロードサーバ20のいずれも、一般的なインターネット2への接続環境を有していれば、オンラインストレージ30を介して容易にラージファイルのファイル転送を行うことができる。 As described above, according to the file transfer system 1 according to the embodiment of the present invention, if both the upload server 10 and the download server 20 have a general connection environment to the Internet 2. The large file can be easily transferred via the online storage 30.

また、転送対象のファイルを1つ以上のピースに分割して暗号化し、意味をなさない名称でオンラインストレージ30上に分散保存するとともに、ファイルを復元するための情報を保持するマップ情報41をオンラインストレージ30とは別の管理サーバ40に保管することにより、セキュアにファイル転送を行うことができる。 In addition, the file to be transferred is divided into one or more pieces, encrypted, distributed and stored on the online storage 30 with a meaningless name, and the map information 41 that holds the information for restoring the file is online. By storing the files on the management server 40, which is different from the storage 30, the files can be transferred securely.

また、各ピースのアップロード/ダウンロードの処理が異常終了した場合であっても自動的にリトライすることで、インターネット2のような信頼性の低いネットワークにおいても確実にファイル転送を行うことができる。また、アップロード/ダウンロードに際して、オンラインストレージ30との間で各ピースのハッシュ値を比較することにより、データの改竄や化け等を防止して確実にファイル転送を行うことができる。 Further, even if the upload / download process of each piece ends abnormally, the file can be reliably transferred even in an unreliable network such as the Internet 2 by automatically retrying. Further, by comparing the hash value of each piece with the online storage 30 at the time of uploading / downloading, it is possible to prevent falsification or garbled data and reliably transfer the file.

また、各ピースのアップロード/ダウンロードの処理をマルチスレッドで並行的に行うことで、インターネット2の帯域を十分に活用した高速なファイル転送を行うことができる。また、ピース毎にアップロードとダウンロードの処理をパイプライン処理として並行的に実行することにより、アップロードの開始からダウンロードの終了までのTATを短縮して高速にファイル転送を行うことができる。 Further, by performing the upload / download process of each piece in parallel in multithreading, high-speed file transfer that fully utilizes the bandwidth of the Internet 2 can be performed. Further, by executing the upload and download processes for each piece in parallel as the pipeline process, the TAT from the start of the upload to the end of the download can be shortened and the file transfer can be performed at high speed.

以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は上記の実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。例えば、上記の実施の形態は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、上記の実施の形態の構成の一部について、他の構成の追加・削除・置換をすることが可能である。 Although the invention made by the present inventor has been specifically described above based on the embodiments, the present invention is not limited to the above embodiments and can be variously modified without departing from the gist thereof. Needless to say. For example, the above-described embodiment has been described in detail in order to explain the present invention in an easy-to-understand manner, and is not necessarily limited to the one including all the described configurations. Further, it is possible to add / delete / replace a part of the configuration of the above-described embodiment with another configuration.

また、上記の各構成、機能、処理部、処理手段等は、それらの一部または全部を、例えば、集積回路で設計する等によりハードウェアで実現してもよい。また、上記の各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリやハードディスク、SSD(Solid State Drive)等の記録装置、またはICカード、SDカード、DVD等の記録媒体に置くことができる。 Further, each of the above configurations, functions, processing units, processing means and the like may be realized by hardware by designing a part or all of them by, for example, an integrated circuit. Further, each of the above configurations, functions, and the like may be realized by software by the processor interpreting and executing a program that realizes each function. Information such as programs, tables, and files that realize each function can be placed in a memory, a hard disk, a recording device such as an SSD (Solid State Drive), or a recording medium such as an IC card, an SD card, or a DVD.

また、上記の各図において、制御線や情報線は説明上必要と考えられるものを示しており、必ずしも実装上の全ての制御線や情報線を示しているとは限らない。実際にはほとんど全ての構成が相互に接続されていると考えてもよい。 Further, in each of the above figures, the control lines and information lines are shown as necessary for explanation, and not all the control lines and information lines in the implementation are necessarily shown. In practice, it can be considered that almost all configurations are interconnected.

本発明は、インターネットを介してラージファイルを転送するファイル転送システムおよびファイル転送方法に利用可能である。 The present invention can be used in file transfer systems and file transfer methods for transferring large files over the Internet.

1…ファイル転送システム、2…インターネット、
10…アップロードサーバ、11…アップロード処理部、12…アップロードファイル、
20…ダウンロードサーバ、21…ダウンロード処理部、22…ダウンロードファイル、
30…オンラインストレージ、
40…管理サーバ、41…マップ情報
1 ... File transfer system, 2 ... Internet,
10 ... Upload server, 11 ... Upload processing unit, 12 ... Upload file,
20 ... Download server, 21 ... Download processing unit, 22 ... Download file,
30 ... Online storage,
40 ... Management server, 41 ... Map information

Claims (7)

オンラインストレージを介して第1のサーバが第2のサーバにファイルを転送するファイル転送システムであって、
前記第1のサーバは、前記ファイルを1つ以上のピースに分割して、前記ピース毎に前記オンラインストレージにアップロードし、また、前記各ピースについてのアップロードの状況に係る第1の情報、および前記各ピースから前記ファイルを復元するための第2の情報を、第3のサーバに保存するアップロード処理部を有し、
前記第2のサーバは、前記第3のサーバから取得した前記第1の情報に基づいて、前記オンラインストレージにアップロードされた前記各ピースをダウンロードし、ダウンロードした前記各ピースに基づいて、前記第3のサーバから取得した前記第2の情報にしたがって前記ファイルを復元するダウンロード処理部を有し、
前記ダウンロード処理部は、前記第1のサーバによる前記オンラインストレージへのアップロードが完了した前記ピースから順次、他の全ての前記ピースがアップロードされるのを待つことなくダウンロードを開始する、ファイル転送システム。
A file transfer system in which the first server transfers files to the second server via online storage.
The first server divides the file into one or more pieces and uploads the files to the online storage for each piece, and the first information relating to the upload status for each piece, and the above. It has an upload processing unit that stores the second information for restoring the file from each piece on the third server.
The second server downloads each piece uploaded to the online storage based on the first information acquired from the third server, and the third piece is based on the downloaded piece. It has a download processing unit that restores the file according to the second information acquired from the server of.
The download processing unit is a file transfer system that starts downloading sequentially from the piece that has been uploaded to the online storage by the first server without waiting for all the other pieces to be uploaded.
請求項1に記載のファイル転送システムにおいて、
前記アップロード処理部、および前記ダウンロード処理部の少なくとも一方は、前記各ピースの前記オンラインストレージとの間の転送に係る処理をマルチスレッドで並行的に行う、ファイル転送システム。
In the file transfer system according to claim 1,
A file transfer system in which at least one of the upload processing unit and the download processing unit performs processing related to transfer of each piece to the online storage in parallel in a multithread manner.
請求項1に記載のファイル転送システムにおいて、
前記アップロード処理部は、前記オンラインストレージへのアップロードが完了した前記ピースについて、アップロードが完了した旨、および前記オンラインストレージ上での保存場所に係る情報を、前記第1の情報の少なくとも一部として前記第3のサーバに随時保存する、ファイル転送システム。
In the file transfer system according to claim 1,
Regarding the piece that has been uploaded to the online storage, the upload processing unit uses the information indicating that the upload has been completed and the storage location on the online storage as at least a part of the first information. A file transfer system that saves data on a third server at any time.
請求項1に記載のファイル転送システムにおいて、
前記ダウンロード処理部は、所定の時間間隔毎に、前記第3のサーバに前記第1の情報が登録されているか否かを確認し、登録されている場合に、登録されている前記第1の情報に対応する前記ピースに係る前記オンラインストレージからのダウンロードを開始する、ファイル転送システム。
In the file transfer system according to claim 1,
The download processing unit confirms whether or not the first information is registered in the third server at predetermined time intervals, and if it is registered, the registered first information is registered. A file transfer system that initiates a download from the online storage of the piece corresponding to the information.
請求項1に記載のファイル転送システムにおいて、
前記アップロード処理部は、前記各ピースをそれぞれ暗号鍵により暗号化し、復号鍵に係る情報を、前記第2の情報の少なくとも一部として前記第3のサーバに保存する、ファイル転送システム。
In the file transfer system according to claim 1,
The upload processing unit is a file transfer system in which each piece is encrypted with an encryption key, and information related to the decryption key is stored in the third server as at least a part of the second information.
請求項1に記載のファイル転送システムにおいて、
前記アップロード処理部、および前記ダウンロード処理部の少なくとも一方は、前記オンラインストレージとの間で前記ピースの転送を行った後、前記ピースについて算出したハッシュ値と、前記オンラインストレージにおいて前記ピースについて算出されたハッシュ値とを比較し、前記ピースの転送の結果が正常か否かを判定する、ファイル転送システム。
In the file transfer system according to claim 1,
After transferring the piece to and from the online storage, at least one of the upload processing unit and the download processing unit has calculated the hash value calculated for the piece and the piece calculated for the online storage. A file transfer system that compares with a hash value and determines whether or not the transfer result of the piece is normal.
オンラインストレージを介して第1のサーバが第2のサーバにファイルを転送するファイル転送方法であって、
前記第1のサーバが、前記ファイルを1つ以上のピースに分割して、前記ピース毎に前記オンラインストレージにアップロードする第1の工程と、
前記第1のサーバが、前記各ピースについてのアップロードの状況に係る第1の情報、および前記各ピースから前記ファイルを復元するための第2の情報を、第3のサーバに保存する第2の工程と、
前記第2のサーバが、前記第3のサーバから取得した前記第1の情報に基づいて、前記オンラインストレージにアップロードされた前記各ピースをダウンロードする第3の工程と、
前記第2のサーバが、ダウンロードした前記各ピースに基づいて、前記第3のサーバから取得した前記第2の情報にしたがって前記ファイルを復元する第4の工程と、を有し、
前記第3の工程は、前記第1のサーバによる前記オンラインストレージへのアップロードが完了した前記ピースから順次、他の全ての前記ピースがアップロードされるのを待つことなく開始される、ファイル転送方法。
A file transfer method in which the first server transfers files to the second server via online storage.
A first step in which the first server divides the file into one or more pieces and uploads each piece to the online storage.
A second server in which the first server stores the first information regarding the upload status for each piece and the second information for restoring the file from each piece in the third server. Process and
A third step in which the second server downloads each piece uploaded to the online storage based on the first information acquired from the third server.
The second server has a fourth step of restoring the file according to the second information obtained from the third server based on each of the downloaded pieces.
The third step is a file transfer method that is started sequentially from the piece that has been uploaded to the online storage by the first server, without waiting for all the other pieces to be uploaded.
JP2017174444A 2017-09-12 2017-09-12 File transfer system and file transfer method Active JP6944317B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2017174444A JP6944317B2 (en) 2017-09-12 2017-09-12 File transfer system and file transfer method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017174444A JP6944317B2 (en) 2017-09-12 2017-09-12 File transfer system and file transfer method

Publications (2)

Publication Number Publication Date
JP2019049914A JP2019049914A (en) 2019-03-28
JP6944317B2 true JP6944317B2 (en) 2021-10-06

Family

ID=65905633

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017174444A Active JP6944317B2 (en) 2017-09-12 2017-09-12 File transfer system and file transfer method

Country Status (1)

Country Link
JP (1) JP6944317B2 (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6534478B1 (en) * 2018-08-16 2019-06-26 行徳紙工株式会社 File sharing system and method
JP7574672B2 (en) 2021-01-29 2024-10-29 ブラザー工業株式会社 Management system, management method and management program
JP7533250B2 (en) * 2021-01-29 2024-08-14 ブラザー工業株式会社 Terminal management program, terminal management method, and terminal management system
CN115695410A (en) * 2022-09-12 2023-02-03 方正株式(武汉)科技开发有限公司 Large file fragment string parallel uploading method and system

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4218256B2 (en) * 2002-05-02 2009-02-04 富士ゼロックス株式会社 Data transfer method and system
US20060075064A1 (en) * 2004-09-30 2006-04-06 International Business Machines Corporation Concurrent ftp read and write
JP5996691B2 (en) * 2015-02-19 2016-09-21 株式会社シミュラティオ File transfer method and file transfer program
CN105187551A (en) * 2015-09-29 2015-12-23 成都四象联创科技有限公司 Distributed computing method based on cloud platform

Also Published As

Publication number Publication date
JP2019049914A (en) 2019-03-28

Similar Documents

Publication Publication Date Title
US12517661B2 (en) Gateway for cloud-based secure storage
US11502824B2 (en) Encryption by default in an elastic computing system
EP3369030B1 (en) Methods and apparatus for mobile computing device security in testing facilities
US11657171B2 (en) Large network attached storage encryption
US10264072B2 (en) Systems and methods for processing-based file distribution in an aggregation of cloud storage services
US8300823B2 (en) Encryption and compression of data for storage
US20180034787A1 (en) Data encryption key sharing for a storage system
JP6944317B2 (en) File transfer system and file transfer method
US20110016095A1 (en) Integrated Approach for Deduplicating Data in a Distributed Environment that Involves a Source and a Target
JP5477660B2 (en) Net boot thin client system, computer, thin client implementation method, and thin client program
US8285997B2 (en) Backup apparatus with higher security and lower network bandwidth consumption
CN105208135B (en) A kind of document transmission method and equipment
US10296375B1 (en) Method of fast file transfer across network
US10924275B1 (en) Creating multiple encrypted volumes from a single source
CN111488372A (en) Data processing method, device and storage medium
US7600133B2 (en) Backing up at least one encrypted computer file
JP2019079280A (en) File verification device, file transfer system and program
US20130166923A1 (en) Automatic virtualization medium, automatic virtualization method, and information processing apparatus
CN110569042B (en) System, method, equipment and storage medium for supporting function of updating FPGA in virtual machine
JP2019003618A (en) Method for migrating workload, computer configuration, and non-volatile storage medium
EP3054398B1 (en) Method and system for performing secure i/o operation in a pluggable flash storage device
EP2372978A1 (en) Computer architectures using shared storage
JP2016042341A (en) Backup system
JP2016115036A (en) Data storage control device, data storage control method, and program
JP2019079281A (en) Synchronization processor, file synchronization system and program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200903

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210622

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20210817

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210910

R150 Certificate of patent or registration of utility model

Ref document number: 6944317

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250