WO2022088807A1 - 基于区块链的分布式文件存储方法、系统、服务器及客户端 - Google Patents
基于区块链的分布式文件存储方法、系统、服务器及客户端 Download PDFInfo
- Publication number
- WO2022088807A1 WO2022088807A1 PCT/CN2021/109490 CN2021109490W WO2022088807A1 WO 2022088807 A1 WO2022088807 A1 WO 2022088807A1 CN 2021109490 W CN2021109490 W CN 2021109490W WO 2022088807 A1 WO2022088807 A1 WO 2022088807A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- file
- client
- identification code
- storage
- fragmentation
- 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.)
- Ceased
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/182—Distributed file systems
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/13—File access structures, e.g. distributed indices
- G06F16/137—Hash-based
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/16—File or folder operations, e.g. details of user interfaces specifically adapted to file systems
- G06F16/164—File meta data generation
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2107—File encryption
Definitions
- the present application relates to the technical field of artificial intelligence and blockchain technology, and in particular, to a distributed file storage method, system, server and client based on blockchain.
- Blockchain as a distributed shared ledger and database, has the characteristics of decentralization, immutability, traceability, traceability, collective maintenance, openness and transparency, etc. These features ensure the “honesty” and “transparency” of the blockchain, laying the foundation for creating trust in the blockchain.
- the rich application scenarios of the blockchain are basically based on the fact that the blockchain can solve the problem of information asymmetry, realize the cooperative trust and consistent action among multiple subjects, so that users can upload files with peace of mind Download provides strong support. Therefore, how to realize distributed storage of files based on blockchain to improve file storage efficiency and file storage security has become an urgent problem to be solved.
- the present application provides a blockchain-based distributed file storage method, which includes the following steps:
- the coordination server When detecting the file upload request of the client, the coordination server obtains the meta information of the file to be uploaded carried in the file upload request;
- the coordination server obtains the file size of the to-be-uploaded file from the meta information, and formulates a corresponding fragmentation strategy according to the file size;
- the coordination server generates a file identification code according to the meta information, and sends the fragmentation strategy and the file identification code to the client;
- the client performs fragmentation processing on the to-be-uploaded file according to the fragmentation strategy and the file identification code, obtains fragmented data, and uploads the fragmented data to the blockchain node corresponding to the storage server for processing. storage.
- the present application also proposes a blockchain-based distributed file storage system, where the blockchain-based distributed file storage system includes a coordination server and a client;
- the coordination server configured to obtain the meta information of the file to be uploaded carried in the file upload request when detecting the file upload request of the client;
- the coordination server is further configured to obtain the file size of the to-be-uploaded file from the meta information, and formulate a corresponding fragmentation strategy according to the file size;
- the coordination server is further configured to generate a file identification code according to the meta information, and send the fragmentation strategy and the file identification code to the client;
- the client is configured to perform fragmentation processing on the to-be-uploaded file according to the fragmentation strategy and the file identification code, obtain fragmented data, and upload the fragmented data to the block corresponding to the storage server chain nodes for storage.
- the present application also proposes a server, the server comprising:
- the memory stores a distributed file storage program executable by the at least one processor, the distributed file storage program being executed by the at least one processor to enable the at least one processor to perform the following steps:
- a file identification code is generated according to the meta information, and the fragmentation strategy and the file identification code are sent to the client, so that the client can identify all files according to the fragmentation strategy and the file identification code.
- the file to be uploaded is subjected to fragmentation processing to obtain fragmented data, and the fragmented data is uploaded to the blockchain node corresponding to the storage server for storage.
- the present application also provides a client, the client comprising:
- the memory stores a distributed file storage program executable by the at least one processor, the distributed file storage program being executed by the at least one processor to enable the at least one processor to perform the following steps:
- FIG. 1 is a schematic structural diagram of a first embodiment of a blockchain-based distributed file storage system of the present application
- FIG. 2 is a schematic flowchart of the first embodiment of the blockchain-based distributed file storage method of the present application
- FIG. 3 is a schematic flowchart of the second embodiment of the blockchain-based distributed file storage method of the present application.
- FIG. 4 is a schematic flowchart of a third embodiment of a blockchain-based distributed file storage method of the present application.
- AI artificial intelligence
- digital computers or machines controlled by digital computers to simulate, extend and expand human intelligence, perceive the environment, acquire knowledge and use knowledge to obtain the best results.
- the basic technologies of artificial intelligence generally include technologies such as sensors, special artificial intelligence chips, cloud computing, distributed storage, big data processing technology, operation/interaction systems, and mechatronics.
- Artificial intelligence software technology mainly includes computer vision technology, robotics technology, biometrics technology, speech processing technology, natural language processing technology, and machine learning/deep learning.
- FIG. 1 is a schematic structural diagram of a first embodiment of a blockchain-based distributed file storage system of the present application.
- the blockchain-based distributed file storage system proposed in the embodiment of the present application mainly includes a coordination server 1001 , a coordination synchronization server 1002 , a client 1003 , and a storage server 1004 .
- the coordination server 1001 is mainly used to receive the file upload request and file download request from the client 1003, and formulate a corresponding fragmentation strategy according to the file upload request.
- the fragmentation strategy can be understood as based on the file The strategy for distributed storage made by the file to be uploaded corresponding to the upload request, and then, the coordination server 1001 sends the fragmentation strategy to the client 1003, and the client 1003 receives the After the fragmentation strategy is established, the corresponding fragmentation operation can be performed according to the fragmentation strategy to obtain fragmented data, and the storage location of the fragmented data in the storage server 1004 is determined according to the fragmentation strategy, Next, the client 1003 stores the fragmented data in the corresponding storage location of the storage server 1004 .
- the client 1003 is mainly configured to perform a corresponding fragmentation operation on the to-be-uploaded file according to the fragmentation policy, and allocate a storage location for the fragmented data according to the fragmentation policy.
- the storage server 1004 is mainly used to store the fragmented data.
- the coordination and synchronization server 1002 is mainly used for synchronizing the data of the coordination server 1001 to prevent a single point of failure, so as to improve the security and reliability of the distributed file storage system.
- FIG. 1 does not constitute a limitation to the blockchain-based distributed file storage system, and may include more or less components than those shown in the figure, or combine some components, Or a different component arrangement.
- FIG. 2 A schematic flowchart of the first embodiment of the distributed file storage method.
- the blockchain-based distributed file storage method includes the following steps:
- Step S10 When detecting the file upload request of the client, the coordination server obtains the meta information of the file to be uploaded carried in the file upload request;
- the blockchain-based distributed file storage method described in this embodiment is applied to the above-mentioned blockchain-based distributed file storage system, wherein the blockchain is a distributed ledger, and the Each node in the blockchain can view this distributed ledger.
- the ledger can only be added but not deleted.
- the file to be uploaded can be segmented to obtain segmented data, and then the segmented data can be obtained. It is discretely stored in the nodes of the blockchain with the corresponding copies. If you want to obtain the complete file to be uploaded, you need to reach an agreement on the blockchain nodes of all shard data or shard data backup, so as to improve the security of file storage. .
- the coordination server When detecting the file upload request of the client, the coordination server obtains the meta information of the file to be uploaded carried in the file upload request, and the meta information includes but is not limited to the file size and file type of the file to be uploaded.
- Step S20 the coordination server obtains the file size of the to-be-uploaded file from the meta information, and formulates a corresponding fragmentation strategy according to the file size;
- the coordination server may obtain the file size of the file to be uploaded from the meta information, and determine whether the file size is greater than or equal to the preset file size, and the The preset file size can be set according to actual requirements, such as 1M, which is not limited in this embodiment. Therefore, the file to be uploaded that is smaller than the preset file size does not need to be fragmented, and can be directly uploaded to the storage server to improve the file processing speed, and the information of the to-be-uploaded file can be obtained directly from the meta information.
- the coordination server determines that the file size is greater than or equal to the preset file size, it can formulate a corresponding fragmentation strategy according to the file size.
- the sharding strategy can be understood as a strategy for distributed storage based on the file size of the file to be uploaded, including but not limited to sharding the file to be uploaded according to the file size to obtain the sharding strategy. slice data, and allocate a storage location for the slice data.
- Step S30 the coordination server generates a file identification code according to the meta information, and sends the fragmentation strategy and the file identification code to the client;
- the coordination server may also generate a document identification code (docID) according to the meta information, and the document identification code is a relatively unique ID of the file to be uploaded in the blockchain-based distributed file storage system.
- the code can be understood as the identification code of the file to be uploaded, and the client can find the file to be uploaded on the storage server according to the file identification code.
- the coordination server may send the fragmentation strategy and the file identification code to the client.
- Step S40 the client performs fragmentation processing on the to-be-uploaded file according to the fragmentation policy and the file identification code, obtains fragmented data, and uploads the fragmented data to the corresponding block of the storage server chain nodes for storage.
- the client can pair the The to-be-uploaded file is processed into segments.
- the file size range corresponding to the file size can be obtained first, and then segments of different sizes can be set according to different file size ranges.
- the preset file size range can be Set according to actual needs, which is not limited in this embodiment. For example, the segment corresponding to the file to be uploaded with the file size of (0M, 100M) is 10M, and the file size of (100M, 1G) corresponding to the file to be uploaded is 10M.
- the fragmentation is 100M, etc.
- upload the fragmented data to the blockchain node corresponding to the storage server for storage and the blockchain node can be understood as the storage node in the storage server that maps to the blockchain , and then obtain the path information of the blockchain node that stores the fragmented data, and send the path information to the coordination server, where the path information includes but is not limited to the storage corresponding to the blockchain node
- the coordination server obtains according to the meta information that the file size of the file to be uploaded is 50M, and obtains according to the file size that the fragment corresponding to the current file size is 10M
- the to-be-uploaded file is The file is divided into 5 pieces of data with a file size of 10M, and the obtained 5 pieces of data are uploaded to the corresponding blockchain nodes of the storage server for storage according to the sharding strategy, such as blockchain node a, area blockchain node b, blockchain node c, blockchain node d, blockchain node e, then, the blockchain node a, blockchain node b, blockchain no
- the fragment data is still stored in the corresponding fragment unit.
- the fragment corresponding to the file to be uploaded is 10M
- it is detected that the data of a fragment of the file to be uploaded is 9.1M, and the fragment is still stored.
- Slice data is stored in 10M shards.
- the client may also intercept fragmented data of a preset length respectively.
- a target verification value is generated according to the verification data, and the to-be-uploaded file is verified according to the target verification value.
- the target verification value may be an MD5 value, and the preset length It can be set according to actual needs, which is not limited in this implementation. Therefore, the integrity of the file to be uploaded can be checked according to the target check value, and since the check value of the entire file does not need to be calculated, the speed of file check is improved, and the file storage efficiency is further improved. Then, when the client detects that the file to be uploaded has passed the verification, the client uploads the fragmented data to the blockchain node corresponding to the storage server for storage.
- the coordination server when detecting a file upload request from a client, obtains the meta information of the file to be uploaded carried in the file upload request, and the coordination server obtains the metadata of the file to be uploaded from the meta information. file size, and formulate a corresponding fragmentation policy according to the file size, the coordination server generates a file identification code according to the meta information, and sends the fragmentation policy and the file identification code to the client, The client performs fragmentation processing on the to-be-uploaded file according to the fragmentation strategy and the file identification code, obtains fragmented data, and uploads the fragmented data to the blockchain node corresponding to the storage server for processing. storage.
- the client performs fragmentation processing on the uploaded file by coordinating the fragmentation strategy formulated by the server to obtain fragmented data, and
- the sharded data is uploaded to the blockchain node corresponding to the storage server for storage to realize the distributed storage of the file, which avoids the problem of storing the file to be uploaded in a third-party server in the prior art. It also reduces the storage pressure of the storage server, and further improves the file storage efficiency and file storage security.
- FIG. 3 is a schematic flowchart of the second embodiment of the blockchain-based distributed file storage method of the present application.
- the step S30 includes:
- Step S301 the coordination server generates a file identification code according to the meta information
- Step S302 the coordination server binds the file identification code and the preset block tree included in the fragmentation strategy, and sends the fragmentation strategy and the file identification code to the client;
- the coordination server can also bind the file identification code and the preset block tree included in the fragmentation strategy, and The sharding strategy and the file identification code are sent to the client.
- the preset block tree may be Merkle trees, and the Merkle tree is a block chain. An important data structure whose function is to quickly summarize and verify the existence and integrity of block data.
- the Merkle tree contains the underlying database of the block body, the root hash of the block header (ie the Merkle root) and all data along the underlying block to the root hash branch.
- the Merkle tree operation process can hash the data of the block body in groups, and insert the generated new hash value into the Merkle tree, and so on recursively until only the last root hash value is left and recorded as the block header Merkel root.
- step S40 includes:
- Step S401 the client performs fragmentation processing on the to-be-uploaded file according to the fragmentation policy and the file identification code, to obtain fragmented data;
- Step S402 the client uses a key to encrypt the fragmented data according to a preset encryption sequence to generate a corresponding hash value
- Step S403 the client inserts the hash value into the preset block tree, and uploads the encrypted fragment data according to the preset block tree into which the hash value is inserted to the blockchain node corresponding to the storage server for storage.
- the client can According to the fragmentation policy and the file identification code, the file to be uploaded is fragmented to obtain fragmented data. Then, the client uses a key to encrypt the fragmented data according to a preset encryption sequence to obtain fragmented data. Generate a corresponding hash value, and insert the hash value into the preset block tree.
- the Merkle tree is used to record the hash value corresponding to the fragmented data.
- the client uploads the encrypted sharded data to the blockchain node corresponding to the storage server according to the sharded Merkle tree inserted with the hash value.
- Store and obtain the path information of the blockchain node and then send the path information to the coordination server, so that the coordination server updates the shard Merkle tree, the path information includes but does not It is limited to the storage path corresponding to the blockchain node, and the corresponding relationship between the IP address corresponding to the storage path and the fragmented data.
- a corresponding shard sequence number and hash value can be set for each shard data, so that each shard data can be obtained according to the hash value contained in it.
- a corresponding sharded Merkle tree A corresponding sharded Merkle tree.
- the client when the client stores the fragmented data to the blockchain node corresponding to the storage server, it can first determine whether the target storage server with the smallest relative distance from the client is not. There is enough storage space, when the target storage server does not have enough storage space, search for storage servers in other regions until enough storage space is found, and then, according to the block data of the shard data in the storage server
- the chain node generates the corresponding path information, sends the path information to the coordination server, and detects in real time whether the file to be uploaded is successfully uploaded according to the hash value.
- the corresponding storage path block in the preset block tree, the storage path block can be understood as the built-in block in the preset block tree for recording the storage location and storage relationship of fragmented data, which can be update it with the above path information.
- the coordination server generates a file identification code according to the meta information, binds the file identification code and a preset block tree included in the fragmentation strategy, and then generates the fragmentation
- the policy and the file identification code are sent to the client, and the client then performs fragmentation processing on the to-be-uploaded file according to the fragmentation policy and the file identification code, obtains fragmented data, and uses encrypted data.
- the key encrypts the fragmented data according to a preset encryption sequence to generate a corresponding hash value, and then the client inserts the hash value into the preset block tree, and according to the insertion
- the preset block tree of the hash value uploads the encrypted fragmented data to the block chain node corresponding to the storage server for storage.
- the corresponding hash value is obtained, and then, according to the insertion
- the preset block tree of the hash value uploads the encrypted fragmented data to the blockchain node corresponding to the storage server for storage, so as to further improve the efficiency of file storage and the security of file storage, and shorten the project time.
- the development cycle also reduces economic expenses and avoids unnecessary waste of development resources because there is no need to use a third-party storage server.
- FIG. 4 is a schematic flowchart of the third embodiment of the blockchain-based distributed file storage method of the present application.
- the method further includes:
- Step S501 when detecting the file download request of the client, the coordination server obtains the file identification code corresponding to the target download file carried in the file download request, and sends the file identification code to the client;
- Step S502 the client matches the corresponding preset block tree according to the file identification code, and downloads the fragmented data according to the preset block tree;
- the coordination server detects the file download request of the client, it can obtain the file identification code corresponding to the target download file carried in the file download request, and send the file identification code to the client. Then, the client matches the corresponding preset block tree according to the file identification code, and the preset block tree stores the storage path corresponding to the block chain node where the fragmented data is located and all The corresponding relationship between the IP address corresponding to the storage path and the fragmented data, thus, the client can download according to the storage path corresponding to the blockchain node where the fragmented data stored in the preset block tree is located. the fragmented data.
- the coordination server may first determine whether the client has the read permission of the decryption rule corresponding to the key, and then determine whether the client has the read permission of the decryption rule corresponding to the key.
- the client When reading the decryption rule, allow the client to download the encrypted fragmented data according to the preset block tree, and send the decryption rule to the client.
- the file identification code matches the corresponding preset block tree, and downloads the encrypted fragmentation data according to the preset block tree, and then, the client performs the encryption on the encrypted fragmentation according to the decryption rule.
- the data is decrypted to obtain the fragmented data. Therefore, even if the attacker downloads the fragmented data, he cannot obtain a complete and readable target download file, which further improves the security of file storage.
- Step S503 The client splices the fragmented data according to a preset splicing rule to obtain a target download file.
- the client obtains the sharding sequence corresponding to the sharding data from the preset block tree.
- the fragmented data is spliced to obtain a target download file, and the target download file can be understood as a copy file obtained by splicing and splicing the to-be-uploaded file.
- the coordination server may obtain the storage path, storage sequence (or fragmentation sequence) of the fragmented data and the fragmented Merkle tree according to the path information
- the corresponding relationship with the storage path after downloading the fragmented data according to the storage path, can be based on the storage order (or fragmentation sequence) and the fragmentation Merkle tree and the storage location.
- the fragmented data is spliced according to the corresponding relationship to obtain the target download file. As a result, the splicing work of the fragmented data is handed over to the client, thereby reducing the storage pressure of the storage server and improving the file download efficiency.
- the coordination server when detecting the file download request of the client, obtains the file identification code corresponding to the target download file carried in the file download request, and sends the file identification code to the client , the client then matches the corresponding preset block tree according to the file identification code, and downloads the fragmented data according to the preset block tree, and then, the client splices the data according to the preset splicing rule.
- the shard data described above to obtain the target download file.
- the coordination server 1001 is further configured to obtain the meta information of the file to be uploaded carried in the file upload request when detecting the file upload request of the client;
- the coordination server 1001 is further configured to obtain the file size of the to-be-uploaded file from the meta information, and formulate a corresponding fragmentation strategy according to the file size;
- the coordination server 1001 is further configured to generate a file identification code according to the meta information, and send the fragmentation strategy and the file identification code to the client;
- the client 1003 is further configured to perform fragmentation processing on the to-be-uploaded file according to the fragmentation strategy and the file identification code, obtain fragmented data, and upload the fragmented data to the corresponding storage server.
- Blockchain nodes for storage
- the coordination server when detecting a file upload request from a client, obtains the meta information of the file to be uploaded carried in the file upload request, and the coordination server obtains the metadata of the file to be uploaded from the meta information. file size, and formulate a corresponding fragmentation policy according to the file size, the coordination server generates a file identification code according to the meta information, and sends the fragmentation policy and the file identification code to the client, The client performs fragmentation processing on the to-be-uploaded file according to the fragmentation strategy and the file identification code, obtains fragmented data, and uploads the fragmented data to the blockchain node corresponding to the storage server for processing. storage.
- the client performs fragmentation processing on the uploaded file by coordinating the fragmentation strategy formulated by the server to obtain fragmented data, and
- the sharded data is uploaded to the blockchain node corresponding to the storage server for storage to realize the distributed storage of the file, which avoids the problem of storing the file to be uploaded in a third-party server in the prior art. It also reduces the storage pressure of the storage server, and further improves the file storage efficiency and file storage security.
- the client 1003 is further configured to perform fragmentation processing on the to-be-uploaded file according to the fragmentation policy and the file identification code to obtain fragmented data;
- the client 1003 is further configured to intercept fragmented data of preset lengths as verification data;
- the client 1003 is further configured to generate a target verification value according to the verification data, and verify the to-be-uploaded file according to the target verification value;
- the client 1003 is further configured to upload the fragmented data to the blockchain node corresponding to the storage server for storage when it is detected that the file to be uploaded has passed the verification.
- the coordination server 1001 is further configured to generate a file identification code according to the meta information
- the coordination server 1001 is further configured to bind the file identification code and the preset block tree contained in the fragmentation strategy, and send the fragmentation strategy and the file identification code to the client end;
- the client 1003 is further configured to perform fragmentation processing on the to-be-uploaded file according to the fragmentation strategy and the file identification code to obtain fragmented data;
- the client 1003 is further configured to encrypt the fragmented data by using a key according to a preset encryption sequence to generate a corresponding hash value;
- the client 1003 is further configured to insert the hash value into the preset block tree, and encrypt the encrypted fragment according to the preset block tree into which the hash value is inserted
- the data is uploaded to the blockchain node corresponding to the storage server for storage.
- the coordination server 1001 is further configured to obtain the file identification code corresponding to the target download file carried in the file download request when detecting the file download request of the client, and send the file identification code to the client ;
- the client 1003 is further configured to match a corresponding preset block tree according to the file identification code, and download the fragmented data according to the preset block tree;
- the client 1003 is further configured to splicing the fragmented data according to a preset splicing rule to obtain a target download file.
- the coordination server 1001 is further configured to, when detecting the file download request of the client, determine whether the client has the read permission of the decryption rule corresponding to the key;
- the coordination server 1001 is further configured to allow the client to download the encrypted fragmented data according to the preset block tree when it is determined that the client has the read permission of the decryption rule, and sending the decryption rule to the client;
- the client 1003 is further configured to match a corresponding preset block tree according to the file identification code, and download the encrypted fragmented data according to the preset block tree;
- the client 1003 is further configured to decrypt the encrypted fragmented data according to the decryption rule to obtain the fragmented data.
- the client 1003 is further configured to obtain the fragmentation sequence corresponding to the fragmented data from the preset block tree, and splicing the fragmented data according to the fragmentation sequence to obtain a target download file .
- the coordination server 1001 is further configured to obtain the file size of the to-be-uploaded file from the meta information, and determine whether the file size is greater than or equal to a preset file size;
- the coordination server 1001 is further configured to formulate a corresponding fragmentation strategy according to the file size when it is determined that the file size is greater than or equal to a preset file size.
- the method of the above embodiment can be implemented by means of software plus a necessary general hardware platform, and of course can also be implemented by hardware, but in many cases the former is better implementation.
- the technical solutions of the present application can be embodied in the form of software products in essence or the parts that make contributions to the prior art.
- the computer software products are stored in a storage medium (such as read-only memory/random access). memory, magnetic disk, optical disk), including several instructions to make a terminal device (which may be a mobile phone, a computer, a server, an air conditioner, or a network device, etc.) execute the methods described in the various embodiments of the present application.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Health & Medical Sciences (AREA)
- Human Computer Interaction (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Information Transfer Between Computers (AREA)
Abstract
一种基于区块链的分布式文件存储方法、系统、服务器及客户端,涉及人工智能技术领域及区块链技术领域,所述方法包括:协调服务器在检测到客户端的文件上传请求时,获取待上传文件的元信息,协调服务器从元信息中获取待上传文件的文件大小,并根据文件大小制定对应的分片策略,协调服务器根据元信息生成文件标识码,并将分片策略和文件标识码发送至客户端,客户端根据分片策略和文件标识码对待上传文件进行分片处理,获得分片数据,并将分片数据上传至存储服务器对应的区块链节点进行存储以实现文件的分布式存储,避免了现有技术中将待上传文件存储于第三方服务器所带来的安全隐患,减少了存储服务器的存储压力,提高了文件存储效率和存储安全性。
Description
本申请要求于2020年10月30日提交中国专利局、申请号为CN202011199967.9、名称为“基于区块链的分布式文件存储方法及系统”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
本申请涉及人工智能技术领域及区块链技术领域,尤其涉及一种基于区块链的分布式文件存储方法、系统、服务器及客户端。
现有技术在进行文件存储时,大多是通过中心化的存储服务器来进行存储的,即现有技术多采用中心化存储的方式进行文件存储,发明人意识到这种方式不仅容易给存储服务器带来较大的存储压力,云存储的成本也日益增高,另一方面,现有的数据存储技术大多是将文件保存至第三方服务器,存在潜在的风险,也不便于服务器拓展和维护。
区块链(Blockchain)作为一个分布式的共享账本和数据库,具有去中心化、不可篡改、全程留痕、可以追溯、集体维护、公开透明等特点。这些特点保证了区块链的“诚实”与“透明”,为区块链创造信任奠定基础。而区块链丰富的应用场景,基本上都基于区块链能够解决信息不对称问题,实现多个主体之间的协作信任与一致行动,使得用户可以安心的上传文件,也为文件的上传与下载提供了强有力的支持。因此,如何基于区块链实现文件的分布式存储以提高文件存储效率和文件存储安全性,成为一个亟待解决的问题。
上述内容仅用于辅助理解本申请的技术方案,并不代表承认上述内容是现有技术。
本申请提供了一种基于区块链的分布式文件存储方法,所述方法包括以下步骤:
协调服务器在检测到客户端的文件上传请求时,获取所述文件上传请求中携带的待上传文件的元信息;
所述协调服务器从所述元信息中获取所述待上传文件的文件大小,并根据所述文件大小制定对应的分片策略;
所述协调服务器根据所述元信息生成文件标识码,并将所述分片策略和所述文件标识码发送至所述客户端;
所述客户端根据所述分片策略和所述文件标识码对所述待上传文件进行分片处理,获得分片数据,并将所述分片数据上传至存储服务器对应的区块链节点进行存储。
本申请还提出一种基于区块链的分布式文件存储系统,所述基于区块链的分布式文件存储系统包括协调服务器和客户端;
所述协调服务器,用于在检测到客户端的文件上传请求时,获取所述文件上传请求中携带的待上传文件的元信息;
所述协调服务器,还用于从所述元信息中获取所述待上传文件的文件大小,并根据所述文件大小制定对应的分片策略;
所述协调服务器,还用于根据所述元信息生成文件标识码,并将所述分片策略和所述文件标识码发送至所述客户端;
所述客户端,用于根据所述分片策略和所述文件标识码对所述待上传文件进行分片处理,获得分片数据,并将所述分片数据上传至存储服务器对应的区块链节点进行存储。
本申请还提出一种服务器,所述服务器包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的分布式文件存储程序,所述分布式文件存储程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行如下步骤:
在检测到客户端的文件上传请求时,获取所述文件上传请求中携带的待上传文件的元信息;
从所述元信息中获取所述待上传文件的文件大小,并根据所述文件大小制定对应的分片策略;
根据所述元信息生成文件标识码,并将所述分片策略和所述文件标识码发送至所述客户端,以供所述客户端根据所述分片策略和所述文件标识码对所述待上传文件进行分片处理,获得分片数据,并将所述分片数据上传至存储服务器对应的区块链节点进行存储。
本申请还提供一种客户端,所述客户端包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的分布式文件存储程序,所述分布式文件存储程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行如下步骤:
接收协调服务器发送的文件上传请求对应的分片策略和文件标识码,根据所述分片策略和所述文件标识码对待上传文件进行分片处理,获得分片数据,并将所述分片数据上传至存储服务器对应的区块链节点进行存储。
图1为本申请基于区块链的分布式文件存储系统第一实施例的结构示意图;
图2为本申请基于区块链的分布式文件存储方法第一实施例的流程示意图;
图3为本申请基于区块链的分布式文件存储方法第二实施例的流程示意图;
图4为本申请基于区块链的分布式文件存储方法第三实施例的流程示意图。
本申请目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
应当理解,此处所描述的具体实施例仅用以解释本申请,并不用于限定本申请。
本申请实施例可以基于人工智能技术对相关的数据进行获取和处理。其中,人工智能(Artificial Intelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。
人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、机器人技术、生物识别技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
参照图1,图1为本申请基于区块链的分布式文件存储系统第一实施例的结构示意图。
如图1所示,本申请实施例提出的基于区块链的分布式文件存储系统主要包括协调服务器1001,协调同步服务器1002,客户端1003,存储服务器1004。其中,所述协调服务器1001,主要用于接收客户端1003的文件上传请求和文件下载请求,并根据所述文件上传请求制定对应的分片策略,所述分片策略可理解为基于所述文件上传请求对应的待上传文件所制定的用以进行分布式存储的策略,然后,所述协调服务器1001将所述分片策略发送至所述客户端1003,所述客户端1003在接收到所述分片策略后,就可以根据所述分片策略执行对应的分片操作,以获得分片数据,并根据所述分片策略确定所述分片数据在所述存储服务器1004中的存储位置,接着,所述客户端1003将所述分片数据存储至存储服务器1004的对应存储位置。所述客户端1003,主要用于根据所述分片策略对所述待上传文件执行对应的分片操作,并根据所述分片策略为所述分片数据分配存储位置。所述存储服务器1004,主要用于存储所述分片数据。所述协调同步服务器1002,主要用于同步协调服务器1001的数据,防止单点故障,以提高所述分布式文件存储系统的安全性和可靠性。
本领域技术人员可以理解,图1中示出的结构并不构成对基于区块链的分布式文件存储系统的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
基于本申请上述基于区块链的分布式文件存储系统第一实施例,提出本申请基于区块链的分布式文件存储方法第一实施例,参照图2,图2为本申请基于区块链的分布式文件存储方法第一实施例的流程示意图。
本实施例中,所述基于区块链的分布式文件存储方法包括以下步骤:
步骤S10:协调服务器在检测到客户端的文件上传请求时,获取所述文件上传请求中携带的待上传文件的元信息;
易于理解的是,本实施例所述的基于区块链的分布式文件存储方法应用于上述基于区块链的分布式文件存储系统,其中,所述区块链是一种分布式账本,区块链中每个节点都能查看这个分布式账本,该账本只能新增不能删除,在具体实现中,可将待上传文件进行分片处理,获得分片数据,再将所述分片数据与对应的副本离散的存储在区块链的节点中,若想获得完整的待上传文件,需要所有分片数据或者分片数据备份的区块链节点达成一致,以此提高文件存储的安全性。
协调服务器在检测到客户端的文件上传请求时,获取所述文件上传请求中携带的待上传文件的元信息,所述元信息包括但不限于待上传文件的文件大小、文件种类。
步骤S20:所述协调服务器从所述元信息中获取所述待上传文件的文件大小,并根据所述文件大小制定对应的分片策略;
需要说明的是,所述协调服务器在获得所述元信息后,可从所述元信息中获取所述待上传文件的文件大小,并判断所述文件大小是否大于等于预设文件大小,所述预设文件大小可根据实际需求进行设置,如1M,本实施例对此不加以限制。由此,对于小于所述预设文件大小的待上传文件则不需要进行分片处理,可直接上传至存储服务器以提高文件处理速度,并直接从所述元信息中获取所述待上传文件的文件检验值,或根据所述待上传文件计算文件校验值以进行文件完整性检验,其中,所述文件校验值可为MD5值。
易于理解的是,为了提高文件存储效率和文件存储的安全性,所述协调服务器在判定所述文件大小大于等于预设文件大小时,可根据所述文件大小制定对应的分片策略,所述分片策略可理解为基于所述待上传文件的文件大小所制定的用以进行分布式存储的策略,包括但不限于根据所述文件大小将所述待上传文件进行分片处理,以获得分片数据,并分配所述分片数据的存储位置。
步骤S30:所述协调服务器根据所述元信息生成文件标识码,并将所述分片策略和所述文件标识码发送至所述客户端;
需要说明的是,所述协调服务器还可根据所述元信息生成文件标识码(docID),所述文件标识码为所述基于区块链的分布式文件存储系统中相对唯一的待上传文件的编码,可理解为所述待上传文件的身份标识码,客户端可根据所述文件标识码在所述存储服务器查找到所述待上传文件。所述协调服务器在生成所述文件标识码后,则可将所述分片策略和所述文件标识码发送至所述客户端。
步骤S40:所述客户端根据所述分片策略和所述文件标识码对所述待上传文件进行分片处理,获得分片数据,并将所述分片数据上传至存储服务器对应的区块链节点进行存储。
易于理解的是,为了提高文件存储效率和文件存储安全性,所述客户端在接收到所述分片策略和所述文件标识码后,可根据所述分片策略和所述文件标识码对所述待上传文件进行分片处理,在具体实现中,可先获取所述文件大小对应的文件大小范围,再根据不同的文件大小范围设置不同大小的分片,所述预设文件大小范围可根据实际需要进行设置,本实施例对此不加以限制,如,文件大小处于(0M,100M]的待上传文件对应的分片为10M,文件大小(100M,1G]的待上传文件的对应的分片为100M等。然后,将所述分片数据上传至存储服务器对应的区块链节点进行存储,所述区块链节点可理解为所述存储服务器中与区块链相映射的存储节点,然后,获取存储有所述分片数据的区块链节点的路径信息,并将所述路径信息发送至所述协调服务器,所述路径信息包括但不限于所述区块链节点对应的存储路径。又如,所述协调服务器在根据所述元信息获取到待上传文件的文件大小为50M时,根据所述文件大小获取到当前文件大小对应的分片为10M,则将所述待上传文件分成5个文件大小为10M的分片数据,并根据所述分片策略将获得的5个分片数据上传至存储服务器的对应的区块链节点进行存储,如区块链节点a,区块链节点b,区块链节点c,区块链节点d,区块链节点e,然后,将所述区块链节点a,区块链节点b,区块链节点c,区块链节点d,区块链节点e的路径信息发送至所述协调服务器。在具体实现中,若检测到待上传文件的某一分片数据的文件大小小于待上传文件所对应的分片单位的大小,仍将该分片数据以对应的分片单位进行存储,如,待上传文件所对应的分片为10M,检测到所述待上传文件的某一分片数据为9.1M,则仍将该分片数据以10M为单位的分片进行存储。
在具体实现中,所述客户端在根据所述分片策略和所述文件标识码对所述待上传文件进行分片处理,获得分片数据后,还可分别截取预设长度的分片数据作为校验数据,再根据所述校验数据生成目标校验值,并根据所述目标校验值校验所述待上传文件,所述目标校验值可为MD5值,所述预设长度可根据实际需求进行设置,本实施对此不加以限制。由此,可根据所述目标校验值校验所述待上传文件的完整性,由于不需要计算整个文件的校验值,提高了文件校验的速度,也进一步提高了文件存储效率。然后,所述客户端在检测到所述待上传文件校验通过时,将所述分片数据上传至存储服务器对应的区块链节点进行存储。
本实施例中,协调服务器在检测到客户端的文件上传请求时,获取所述文件上传请求中携带的待上传文件的元信息,所述协调服务器从所述元信息中获取所述待上传文件的文件大小,并根据所述文件大小制定对应的分片策略,所述协调服务器根据所述元信息生成文件标识码,并将所述分片策略和所述文件标识码发送至所述客户端,所述客户端根据所述分片策略和所述文件标识码对所述待上传文件进行分片处理,获得分片数据,并将所述分片数据上传至存储服务器对应的区块链节点进行存储。有别于现有技术多通过中心化的第三方存储服务器来进行文件存储,本实施例中,客户端通过协调服务器制定的分片策略对待上传文件进行分片处理,以获得分片数据,并根据所述分片策略将所述分片数据上传至存储服务器对应的区块链节点进行存储来实现文件的分布式存储,避免了现有技术中将待上传文件存储于第三方服务器所带来的安全隐患,也减少了存储服务器的存储压力,进一步地,提高了文件存储效率和文件存储安全性。
参考图3,图3为本申请基于区块链的分布式文件存储方法第二实施例的流程示意图。
基于上述第一实施例,在本实施例中,所述步骤S30包括:
步骤S301:所述协调服务器根据所述元信息生成文件标识码;
步骤S302:所述协调服务器将所述文件标识码和所述分片策略包含的预设区块树进行绑定,并将所述分片策略和所述文件标识码发送至所述客户端;
需要说明的是,所述协调服务器在根据所述元信息生成文件标识码后,还可将所述文件标识码和所述分片策略包含的预设区块树进行绑定,并将所述分片策略和所述文件标识码发送至所述客户端,在具体实现中,所述预设区块树可为梅克尔树(Merkle trees),所述梅克尔树是区块链的重要数据结构,其作用是快速归纳和校验区块数据的存在性和完整性,可理解为是哈希大量聚集数据“块”的一种方式,它依赖于将这些数据“块”分裂成较小单位的数据块,也就是说,所述梅克尔树包含区块体的底层数据库,区块头的根哈希值 (即梅克尔根) 以及所有沿底层区块数据到根哈希的分支。梅克尔树运算过程可将区块体的数据进行分组哈希,并将生成的新哈希值插入到梅克尔树中,如此递归直到只剩最后一个根哈希值并记为区块头的梅克尔根。
相应地,所述步骤S40包括:
步骤S401:所述客户端根据所述分片策略和所述文件标识码对所述待上传文件进行分片处理,获得分片数据;
步骤S402:所述客户端采用密钥根据预设加密顺序对所述分片数据进行加密,以生成对应的哈希值;
步骤S403:所述客户端将所述哈希值插入到所述预设区块树中,并根据插入所述哈希值的所述预设区块树将加密后的所述分片数据上传至存储服务器对应的区块链节点进行存储。
易于理解的是,为了提高文件存储的安全性,所述客户端在获得所述分片策略和已与所述分片策略中的预设区块树绑定的所述文件标识码后,可根据所述分片策略和所述文件标识码对所述待上传文件进行分片处理,获得分片数据,然后,客户端采用密钥根据预设加密顺序对所述分片数据进行加密,以生成对应的哈希值,并将所述哈希值插入到所述预设区块树中,在具体实现中,可理解为采用所述梅克尔树记录分片数据对应的哈希值,作为分片梅克尔树,接着,所述客户端根据插入所述哈希值的所述分片梅克尔树将加密后的所述分片数据上传至存储服务器对应的区块链节点进行存储,并获取所述区块链节点的路径信息,再将所述路径信息发送至所述协调服务器,以使所述协调服务器更新所述分片梅克尔树,所述路径信息包括但不限于所述区块链节点对应的存储路径,所述存储路径对应的IP地址与所述分片数据的对应关系。另一方面,可在获取所述梅克尔树时,为每个分片数据设置对应的分片顺序编号和哈希值,由此,每个分片数据可以依据其包含的哈希值获得一个对应的分片梅克尔树。
在具体实现中,为了提高文件存储效率,所述客户端在将所述分片数据存储至存储服务器对应的区块链节点时,可先判断与所述客户端相对距离最小的目标存储服务器是否有足够存储空间,当所述目标存储服务器没有足够存储空间时,遍寻其他区域的存储服务器,直至寻找到足够的存储空间,然后,根据所述分片数据在所述存储服务器中的区块链节点生成对应的路径信息,并将所述路径信息发送至所述协调服务器,并根据所述哈希值实时检测待上传文件是否上传成功,在上传成功时,更新所述分片数据在所述预设区块树中对应的存储路径块,所述存储路径块可理解为所述预设区块树中内置的用于记录分片数据的存储位置和存储关系的区块,可通过所述路径信息对其进行更新。
本实施例中,所述协调服务器根据所述元信息生成文件标识码,并将所述文件标识码和所述分片策略包含的预设区块树进行绑定,然后,将所述分片策略和所述文件标识码发送至所述客户端,所述客户端再根据所述分片策略和所述文件标识码对所述待上传文件进行分片处理,获得分片数据,并采用密钥根据预设加密顺序对所述分片数据进行加密,以生成对应的哈希值,接着,所述客户端将所述哈希值插入到所述预设区块树中,并根据插入所述哈希值的所述预设区块树将加密后的所述分片数据上传至存储服务器对应的区块链节点进行存储。通过绑定所述分片策略中的梅克尔树与所述文件标识码,并基于所述梅克尔树校验所述分片数据,以获得对应的哈希值,然后,根据插入所述哈希值的所述预设区块树将加密后的所述分片数据上传至存储服务器对应的区块链节点进行存储,以进一步提高文件存储的效率和文件存储安全性,缩短了项目开发周期,另一方面,由于不用采用第三方的存储服务器,也减少了经济开支,避免了不必要的开发资源浪费。
参考图4,图4为本申请基于区块链的分布式文件存储方法第三实施例的流程示意图。
基于上述第二实施例,在本实施例中,所述步骤S403之后,所述方法还包括:
步骤S501:所述协调服务器在检测到客户端的文件下载请求时,获取所述文件下载请求中携带的目标下载文件对应的文件标识码,并将所述文件标识码发送至所述客户端;
步骤S502:所述客户端根据所述文件标识码匹配对应的预设区块树,并根据所述预设区块树下载所述分片数据;
易于理解的是,所述协调服务器在检测到客户端的文件下载请求时,可获取所述文件下载请求中携带的目标下载文件对应的文件标识码,并将所述文件标识码发送至所述客户端,然后,所述客户端根据所述文件标识码匹配对应的预设区块树,所述预设区块树中存储有所述分片数据所在的区块链节点对应的存储路径和所述存储路径对应的IP地址与所述分片数据的对应关系,由此,所述客户端可根据所述预设区块树中存储的分片数据所在的区块链节点对应的存储路径下载所述分片数据。
在具体实现中,为了进一步提高文件存储的安全性,所述协调服务器还可先判断所述客户端是否具有所述密钥对应的解密规则的读取权限,在判定所述客户端具有所述解密规则的读取权限时,允许所述客户端根据所述预设区块树下载所述加密后的分片数据,并发送所述解密规则至所述客户端,所述客户端根据所述文件标识码匹配对应的预设区块树,并根据所述预设区块树下载所述加密后的分片数据,接着,所述客户端根据所述解密规则对所述加密后的分片数据进行解密,获得所述分片数据。由此,即使攻击者下载了分片数据也无法获得完整的可读的目标下载文件,进一步提高了文件存储的安全性。
步骤S503:所述客户端根据预设拼接规则拼接所述分片数据,以获得目标下载文件。
需要说明的是,所述客户端从所述预设区块树获取所述分片数据对应的分片顺序,在具体实现中,获取的是分片顺序编号,并根据所述分片顺序对所述分片数据进行拼接,以获得目标下载文件,所述目标下载文件可理解为将待上传文件分片后又进行拼接的复制文件。
在具体实现中,所述协调服务器在检测到客户端的文件下载请求时,可根据所述路径信息获取分片数据的存储路径、存储顺序(或分片顺序)以及所述分片梅克尔树与所述存储路径的对应关系,在根据所述存储路径下载所述分片数据后,可根据所述存储顺序(或分片顺序)和所述分片梅克尔树与所述存储位置的对应关系对所述分片数据进行拼接,以获得所述目标下载文件。由此,将分片数据的拼接工作交给客户端,以此减轻存储服务器的存储压力,提高文件下载效率。
本实施例中,所述协调服务器在检测到客户端的文件下载请求时,获取所述文件下载请求中携带的目标下载文件对应的文件标识码,并将所述文件标识码发送至所述客户端,所述客户端再根据所述文件标识码匹配对应的预设区块树,并根据所述预设区块树下载所述分片数据,接着,所述客户端根据预设拼接规则拼接所述分片数据,以获得目标下载文件。通过将分片数据的拼接工作交给客户端,以此减轻存储服务器的存储压力,提高文件下载效率,另一方面,通过对所述分片数据进行加密,并设置对应的解密规则的读取权限以提高文件存储安全性。
基于本申请上述基于区块链的分布式文件存储系统第一实施例,提出本申请基于区块链的分布式文件存储系统的第二实施例。
在本实施例中,所述协调服务器1001,还用于在检测到客户端的文件上传请求时,获取所述文件上传请求中携带的待上传文件的元信息;
所述协调服务器1001,还用于从所述元信息中获取所述待上传文件的文件大小,并根据所述文件大小制定对应的分片策略;
所述协调服务器1001,还用于根据所述元信息生成文件标识码,并将所述分片策略和所述文件标识码发送至所述客户端;
所述客户端1003,还用于根据所述分片策略和所述文件标识码对所述待上传文件进行分片处理,获得分片数据,并将所述分片数据上传至存储服务器对应的区块链节点进行存储。
本实施例中,协调服务器在检测到客户端的文件上传请求时,获取所述文件上传请求中携带的待上传文件的元信息,所述协调服务器从所述元信息中获取所述待上传文件的文件大小,并根据所述文件大小制定对应的分片策略,所述协调服务器根据所述元信息生成文件标识码,并将所述分片策略和所述文件标识码发送至所述客户端,所述客户端根据所述分片策略和所述文件标识码对所述待上传文件进行分片处理,获得分片数据,并将所述分片数据上传至存储服务器对应的区块链节点进行存储。有别于现有技术多通过中心化的第三方存储服务器来进行文件存储,本实施例中,客户端通过协调服务器制定的分片策略对待上传文件进行分片处理,以获得分片数据,并根据所述分片策略将所述分片数据上传至存储服务器对应的区块链节点进行存储来实现文件的分布式存储,避免了现有技术中将待上传文件存储于第三方服务器所带来的安全隐患,也减少了存储服务器的存储压力,进一步地,提高了文件存储效率和文件存储安全性。
基于本申请上述基于区块链的分布式文件存储系统第二实施例,提出本申请基于区块链的分布式文件存储系统的第三实施例。
在本实施例中,所述客户端1003,还用于根据所述分片策略和所述文件标识码对所述待上传文件进行分片处理,获得分片数据;
所述客户端1003,还用于分别截取预设长度的分片数据作为校验数据;
所述客户端1003,还用于根据所述校验数据生成目标校验值,并根据所述目标校验值校验所述待上传文件;
所述客户端1003,还用于在检测到所述待上传文件校验通过时,将所述分片数据上传至存储服务器对应的区块链节点进行存储。
所述协调服务器1001,还用于根据所述元信息生成文件标识码;
所述协调服务器1001,还用于将所述文件标识码和所述分片策略包含的预设区块树进行绑定,并将所述分片策略和所述文件标识码发送至所述客户端;
所述客户端1003,还用于根据所述分片策略和所述文件标识码对所述待上传文件进行分片处理,获得分片数据;
所述客户端1003,还用于采用密钥根据预设加密顺序对所述分片数据进行加密,以生成对应的哈希值;
所述客户端1003,还用于将所述哈希值插入到所述预设区块树中,并根据插入所述哈希值的所述预设区块树将加密后的所述分片数据上传至存储服务器对应的区块链节点进行存储。
所述协调服务器1001,还用于在检测到客户端的文件下载请求时,获取所述文件下载请求中携带的目标下载文件对应的文件标识码,并将所述文件标识码发送至所述客户端;
所述客户端1003,还用于根据所述文件标识码匹配对应的预设区块树,并根据所述预设区块树下载所述分片数据;
所述客户端1003,还用于根据预设拼接规则拼接所述分片数据,以获得目标下载文件。
所述协调服务器1001,还用于在检测到客户端的文件下载请求时,判断所述客户端是否具有所述密钥对应的解密规则的读取权限;
所述协调服务器1001,还用于在判定所述客户端具有所述解密规则的读取权限时,允许所述客户端根据所述预设区块树下载所述加密后的分片数据,并发送所述解密规则至所述客户端;
所述客户端1003,还用于根据所述文件标识码匹配对应的预设区块树,并根据所述预设区块树下载所述加密后的分片数据;
所述客户端1003,还用于根据所述解密规则对所述加密后的分片数据进行解密,获得所述分片数据。
所述客户端1003,还用于从所述预设区块树获取所述分片数据对应的分片顺序,并根据所述分片顺序对所述分片数据进行拼接,以获得目标下载文件。
所述协调服务器1001,还用于从所述元信息中获取所述待上传文件的文件大小,并判断所述文件大小是否大于等于预设文件大小;
所述协调服务器1001,还用于在判定所述文件大小大于等于预设文件大小时,根据所述文件大小制定对应的分片策略。
本申请基于区块链的分布式文件存储系统的其他实施例或具体实现方式可参照上述各方法实施例,此处不再赘述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如只读存储器/随机存取存储器、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本申请各个实施例所述的方法。
以上仅为本申请的优选实施例,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。
Claims (20)
- 一种基于区块链的分布式文件存储方法,其中,所述基于区块链的分布式文件存储方法包括以下步骤:协调服务器在检测到客户端的文件上传请求时,获取所述文件上传请求中携带的待上传文件的元信息;所述协调服务器从所述元信息中获取所述待上传文件的文件大小,并根据所述文件大小制定对应的分片策略;所述协调服务器根据所述元信息生成文件标识码,并将所述分片策略和所述文件标识码发送至所述客户端;所述客户端根据所述分片策略和所述文件标识码对所述待上传文件进行分片处理,获得分片数据,并将所述分片数据上传至存储服务器对应的区块链节点进行存储。
- 如权利要求1所述的基于区块链的分布式文件存储方法,其中,所述客户端根据所述分片策略和所述文件标识码对所述待上传文件进行分片处理,获得分片数据,并将所述分片数据上传至存储服务器对应的区块链节点进行存储的步骤,具体包括:所述客户端根据所述分片策略和所述文件标识码对所述待上传文件进行分片处理,获得分片数据;所述客户端分别截取预设长度的分片数据作为校验数据;所述客户端根据所述校验数据生成目标校验值,并根据所述目标校验值校验所述待上传文件;所述客户端在检测到所述待上传文件校验通过时,将所述分片数据上传至存储服务器对应的区块链节点进行存储。
- 如权利要求1所述的基于区块链的分布式文件存储方法,其中,所述协调服务器根据所述元信息生成文件标识码,并将所述分片策略和所述文件标识码发送至所述客户端的步骤,具体包括:所述协调服务器根据所述元信息生成文件标识码;所述协调服务器将所述文件标识码和所述分片策略包含的预设区块树进行绑定,并将所述分片策略和所述文件标识码发送至所述客户端;相应地,所述客户端根据所述分片策略和所述文件标识码对所述待上传文件进行分片处理,获得分片数据,并将所述分片数据上传至存储服务器对应的区块链节点进行存储的步骤,具体包括:所述客户端根据所述分片策略和所述文件标识码对所述待上传文件进行分片处理,获得分片数据;所述客户端采用密钥根据预设加密顺序对所述分片数据进行加密,以生成对应的哈希值;所述客户端将所述哈希值插入到所述预设区块树中,并根据插入所述哈希值的所述预设区块树将加密后的所述分片数据上传至存储服务器对应的区块链节点进行存储。
- 如权利要求3所述的基于区块链的分布式文件存储方法,其中,所述客户端将所述哈希值插入到所述预设区块树中,并根据插入所述哈希值的所述预设区块树将加密后的所述分片数据上传至存储服务器对应的区块链节点进行存储的步骤之后,还包括:所述协调服务器在检测到客户端的文件下载请求时,获取所述文件下载请求中携带的目标下载文件对应的文件标识码,并将所述文件标识码发送至所述客户端;所述客户端根据所述文件标识码匹配对应的预设区块树,并根据所述预设区块树下载所述分片数据;所述客户端根据预设拼接规则拼接所述分片数据,以获得目标下载文件。
- 如权利要求4所述的基于区块链的分布式文件存储方法,其中,所述客户端根据所述文件标识码匹配对应的预设区块树,并根据所述预设区块树下载所述分片数据的步骤之前,还包括:所述协调服务器在检测到客户端的文件下载请求时,判断所述客户端是否具有所述密钥对应的解密规则的读取权限;所述协调服务器在判定所述客户端具有所述解密规则的读取权限时,允许所述客户端根据所述预设区块树下载所述加密后的分片数据,并发送所述解密规则至所述客户端;相应地,所述客户端根据所述文件标识码匹配对应的预设区块树,并根据所述预设区块树下载所述分片数据的步骤,具体包括:所述客户端根据所述文件标识码匹配对应的预设区块树,并根据所述预设区块树下载所述加密后的分片数据;所述客户端根据所述解密规则对所述加密后的分片数据进行解密,获得所述分片数据。
- 如权利要求5所述的基于区块链的分布式文件存储方法,其中,所述客户端根据预设拼接规则拼接所述分片数据,以获得目标下载文件的步骤,具体包括:所述客户端从所述预设区块树获取所述分片数据对应的分片顺序,并根据所述分片顺序对所述分片数据进行拼接,以获得目标下载文件。
- 如权利要求1所述的基于区块链的分布式文件存储方法,其中,所述协调服务器从所述元信息中获取所述待上传文件的文件大小,并根据所述文件大小制定对应的分片策略的步骤,具体包括:所述协调服务器从所述元信息中获取所述待上传文件的文件大小,并判断所述文件大小是否大于等于预设文件大小;所述协调服务器在判定所述文件大小大于等于预设文件大小时,根据所述文件大小制定对应的分片策略。
- 一种基于区块链的分布式文件存储系统,其中,所述基于区块链的分布式文件存储系统包括协调服务器和客户端;所述协调服务器,用于在检测到客户端的文件上传请求时,获取所述文件上传请求中携带的待上传文件的元信息;所述协调服务器,还用于从所述元信息中获取所述待上传文件的文件大小,并根据所述文件大小制定对应的分片策略;所述协调服务器,还用于根据所述元信息生成文件标识码,并将所述分片策略和所述文件标识码发送至所述客户端;所述客户端,用于根据所述分片策略和所述文件标识码对所述待上传文件进行分片处理,获得分片数据,并将所述分片数据上传至存储服务器对应的区块链节点进行存储。
- 如权利要求8所述的基于区块链的分布式文件存储系统,其中,所述客户端,还用于根据所述分片策略和所述文件标识码对所述待上传文件进行分片处理,获得分片数据;所述客户端,还用于分别截取预设长度的分片数据作为校验数据;所述客户端,还用于根据所述校验数据生成目标校验值,并根据所述目标校验值校验所述待上传文件;所述客户端,还用于在检测到所述待上传文件校验通过时,将所述分片数据上传至存储服务器对应的区块链节点进行存储。
- 如权利要求8所述的基于区块链的分布式文件存储系统,其中,所述协调服务器,还用于根据所述元信息生成文件标识码;所述协调服务器,还用于将所述文件标识码和所述分片策略包含的预设区块树进行绑定,并将所述分片策略和所述文件标识码发送至所述客户端;所述客户端,还用于根据所述分片策略和所述文件标识码对所述待上传文件进行分片处理,获得分片数据;所述客户端,还用于采用密钥根据预设加密顺序对所述分片数据进行加密,以生成对应的哈希值;所述客户端,还用于将所述哈希值插入到所述预设区块树中,并根据插入所述哈希值的所述预设区块树将加密后的所述分片数据上传至存储服务器对应的区块链节点进行存储。
- 一种服务器,其中,所述服务器包括:至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的分布式文件存储程序,所述分布式文件存储程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行如下步骤:在检测到客户端的文件上传请求时,获取所述文件上传请求中携带的待上传文件的元信息;从所述元信息中获取所述待上传文件的文件大小,并根据所述文件大小制定对应的分片策略;根据所述元信息生成文件标识码,并将所述分片策略和所述文件标识码发送至所述客户端,以供所述客户端根据所述分片策略和所述文件标识码对所述待上传文件进行分片处理,获得分片数据,并将所述分片数据上传至存储服务器对应的区块链节点进行存储。
- 如权利要求11所述的服务器,其中,所述根据所述元信息生成文件标识码,并将所述分片策略和所述文件标识码发送至所述客户端的步骤,具体包括:根据所述元信息生成文件标识码;将所述文件标识码和所述分片策略包含的预设区块树进行绑定,并将所述分片策略和所述文件标识码发送至所述客户端。
- 如权利要求11所述的服务器,其中,所述以供所述客户端根据所述分片策略和所述文件标识码对所述待上传文件进行分片处理,获得分片数据,并将所述分片数据上传至存储服务器对应的区块链节点进行存储之后,所述分布式文件存储程序被所述至少一个处理器执行时还实现如下步骤:在检测到客户端的文件下载请求时,获取所述文件下载请求中携带的目标下载文件对应的文件标识码,并将所述文件标识码发送至所述客户端,以供所述客户端根据所述文件标识码匹配对应的预设区块树,并根据所述预设区块树下载所述分片数据。
- 如权利要求13所述的服务器,其中,所述以供所述客户端根据所述文件标识码匹配对应的预设区块树,并根据所述预设区块树下载所述分片数据的步骤之前,所述分布式文件存储程序被所述至少一个处理器执行时还实现如下步骤:在检测到客户端的文件下载请求时,判断所述客户端是否具有所述密钥对应的解密规则的读取权限;在判定所述客户端具有所述解密规则的读取权限时,允许所述客户端根据所述预设区块树下载所述加密后的分片数据,并发送所述解密规则至所述客户端。
- 如权利要求11所述的服务器,其中,所述从所述元信息中获取所述待上传文件的文件大小,并根据所述文件大小制定对应的分片策略的步骤,具体包括:从所述元信息中获取所述待上传文件的文件大小,并判断所述文件大小是否大于等于预设文件大小;在判定所述文件大小大于等于预设文件大小时,根据所述文件大小制定对应的分片策略。
- 一种客户端,其中,所述客户端包括:至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的分布式文件存储程序,所述分布式文件存储程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行如下步骤:接收协调服务器发送的文件上传请求对应的分片策略和文件标识码,根据所述分片策略和所述文件标识码对待上传文件进行分片处理,获得分片数据,并将所述分片数据上传至存储服务器对应的区块链节点进行存储。
- 如权利要求16所述的客户端,其中,所述根据所述分片策略和所述文件标识码对待上传文件进行分片处理,获得分片数据,并将所述分片数据上传至存储服务器对应的区块链节点进行存储的步骤,具体包括:根据所述分片策略和所述文件标识码对所述待上传文件进行分片处理,获得分片数据;分别截取预设长度的分片数据作为校验数据;根据所述校验数据生成目标校验值,并根据所述目标校验值校验所述待上传文件;在检测到所述待上传文件校验通过时,将所述分片数据上传至存储服务器对应的区块链节点进行存储。
- 如权利要求16所述的客户端,其中,所述根据所述分片策略和所述文件标识码对待上传文件进行分片处理,获得分片数据,并将所述分片数据上传至存储服务器对应的区块链节点进行存储的步骤,具体包括:根据所述分片策略和所述文件标识码对所述待上传文件进行分片处理,获得分片数据;采用密钥根据预设加密顺序对所述分片数据进行加密,以生成对应的哈希值;将所述哈希值插入到所述预设区块树中,并根据插入所述哈希值的所述预设区块树将加密后的所述分片数据上传至存储服务器对应的区块链节点进行存储。
- 如权利要求18所述的客户端,其中,所述根据插入所述哈希值的所述预设区块树将加密后的所述分片数据上传至存储服务器对应的区块链节点进行存储之后,所述分布式文件存储程序被所述至少一个处理器执行时还实现如下步骤:接收协调服务器发送的目标下载文件对应的文件标识码,根据所述文件标识码匹配对应的预设区块树,并根据所述预设区块树下载所述分片数据;根据预设拼接规则拼接所述分片数据,以获得目标下载文件。
- 如权利要求19所述的客户端,其中,所述根据所述文件标识码匹配对应的预设区块树,并根据所述预设区块树下载所述分片数据的步骤,具体包括:根据所述文件标识码匹配对应的预设区块树,并根据所述预设区块树下载所述加密后的分片数据;根据所述解密规则对所述加密后的分片数据进行解密,获得所述分片数据。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202011199967.9A CN112256663A (zh) | 2020-10-30 | 2020-10-30 | 基于区块链的分布式文件存储方法及系统 |
| CN202011199967.9 | 2020-10-30 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2022088807A1 true WO2022088807A1 (zh) | 2022-05-05 |
Family
ID=74268730
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/CN2021/109490 Ceased WO2022088807A1 (zh) | 2020-10-30 | 2021-07-30 | 基于区块链的分布式文件存储方法、系统、服务器及客户端 |
Country Status (2)
| Country | Link |
|---|---|
| CN (1) | CN112256663A (zh) |
| WO (1) | WO2022088807A1 (zh) |
Cited By (33)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN114666166A (zh) * | 2022-05-20 | 2022-06-24 | 浙江木链物联网科技有限公司 | 工业互联网可信数据获取及存储方法和系统 |
| CN114726884A (zh) * | 2022-06-06 | 2022-07-08 | 深圳市佑荣信息科技有限公司 | 一种金融级文件安全存储方法及系统 |
| CN114866536A (zh) * | 2022-05-31 | 2022-08-05 | 北京奕斯伟计算技术有限公司 | 文件上传方法及web前端 |
| CN115174561A (zh) * | 2022-09-08 | 2022-10-11 | 北京亿赛通网络安全技术有限公司 | 一种文件分段传输方法及系统 |
| CN115328858A (zh) * | 2022-08-19 | 2022-11-11 | 济南浪潮数据技术有限公司 | 一种分布式存储系统的分片上传方法、装置及介质 |
| CN115408390A (zh) * | 2022-08-24 | 2022-11-29 | 上海电气风电集团股份有限公司 | 一种数据处理方法、装置及电子设备 |
| CN115484253A (zh) * | 2022-08-12 | 2022-12-16 | 视联动力信息技术股份有限公司 | 一种数据传输方法、装置、终端设备和存储介质 |
| CN115499249A (zh) * | 2022-11-17 | 2022-12-20 | 南京可信区块链与算法经济研究院有限公司 | 一种基于区块链分布式加密的文件存储方法及系统 |
| CN115514991A (zh) * | 2022-09-22 | 2022-12-23 | 中国电信股份有限公司 | Iptv视频的防篡改方法、服务器及客户端 |
| CN115665126A (zh) * | 2022-10-11 | 2023-01-31 | 平安银行股份有限公司 | 批量执行文件生成方法、装置、介质及设备 |
| CN115834571A (zh) * | 2022-11-23 | 2023-03-21 | 中国工商银行股份有限公司 | 基于区块链的文件传输方法及装置 |
| CN115842833A (zh) * | 2022-11-24 | 2023-03-24 | 国家电投集团重庆狮子滩发电有限公司 | 一种超融合虚拟存储的处理方法、装置及系统 |
| CN115883534A (zh) * | 2022-11-28 | 2023-03-31 | 安徽小豆网络科技有限公司 | 一种大数据文件远程分布式加密传输方法 |
| CN115934643A (zh) * | 2023-01-06 | 2023-04-07 | 济南浪潮数据技术有限公司 | 一种文件排序方法、系统、装置及存储介质 |
| CN116032913A (zh) * | 2022-10-12 | 2023-04-28 | 浪潮云信息技术股份公司 | 基于分布式对象存储的文件上传方法及系统 |
| CN116088755A (zh) * | 2022-11-30 | 2023-05-09 | 中国建设银行股份有限公司 | 一种数据存储的方法和装置 |
| CN116112484A (zh) * | 2023-03-07 | 2023-05-12 | 芜湖雄狮汽车科技有限公司 | 文件分片上传方法、装置、车辆及存储介质 |
| CN116346508A (zh) * | 2023-05-31 | 2023-06-27 | 深圳市东信时代信息技术有限公司 | 基于分片加密存储的信息传输方法、装置、设备及介质 |
| CN116614491A (zh) * | 2023-05-05 | 2023-08-18 | 中电科网络安全科技股份有限公司 | 一种文件上传方法、装置、设备及存储介质 |
| CN116669097A (zh) * | 2022-08-26 | 2023-08-29 | 天翼数字生活科技有限公司 | 基于OKhttp的分片传输的方法和装置 |
| CN116886776A (zh) * | 2023-08-04 | 2023-10-13 | 中国工商银行股份有限公司 | 一种基于传输热点的存储节点自适应调整方法及装置 |
| CN116915520A (zh) * | 2023-09-14 | 2023-10-20 | 南京龟兔赛跑软件研究院有限公司 | 基于分布式计算的农业产品信息化数据安全优化方法 |
| WO2024001304A1 (zh) * | 2022-06-30 | 2024-01-04 | 华为云计算技术有限公司 | 一种数据处理方法及相关设备 |
| CN117376364A (zh) * | 2022-06-30 | 2024-01-09 | 华为云计算技术有限公司 | 一种数据处理方法及相关设备 |
| CN117914849A (zh) * | 2024-01-17 | 2024-04-19 | 广州虎牙科技有限公司 | 文件下载方法、系统及计算机可读存储介质 |
| CN118802966A (zh) * | 2024-09-12 | 2024-10-18 | 青矩技术股份有限公司 | 分布式存储的加速访问方法、装置、设备及存储介质 |
| CN118890219A (zh) * | 2024-09-27 | 2024-11-01 | 泉州举世通讯有限公司 | 一种全球范围通讯的通讯方法及相关设备 |
| CN119011573A (zh) * | 2024-10-25 | 2024-11-22 | 亿次网联(杭州)科技有限公司 | 一种文件上传方法、电子设备及计算机可读介质 |
| CN119316413A (zh) * | 2024-12-10 | 2025-01-14 | 杭州领信数科信息技术有限公司 | 文件交互方法、系统及服务器 |
| CN119484510A (zh) * | 2024-11-21 | 2025-02-18 | 天翼云科技有限公司 | 文件下载方法、装置、计算机设备、可读存储介质和程序产品 |
| CN120110790A (zh) * | 2025-04-30 | 2025-06-06 | 湖南工程学院 | 基于区块链的医疗图像加密与安全存储方法及系统 |
| CN120653788A (zh) * | 2025-06-17 | 2025-09-16 | 东港瑞云数据技术有限公司 | 一种基于区块链电子档案智能检索方法及系统 |
| CN121056452A (zh) * | 2025-11-03 | 2025-12-02 | 浪潮工业互联网股份有限公司 | 大文件的前端处理方法、系统、设备及存储介质 |
Families Citing this family (21)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN112256663A (zh) * | 2020-10-30 | 2021-01-22 | 深圳壹账通智能科技有限公司 | 基于区块链的分布式文件存储方法及系统 |
| CN112908440A (zh) * | 2021-02-07 | 2021-06-04 | 深圳万海思数字医疗有限公司 | 健康管理数据共享方法、装置及远程医疗平台 |
| CN113127895A (zh) * | 2021-03-17 | 2021-07-16 | 嘉兴职业技术学院 | 一种基于分布式存储的云端数据防护方法 |
| CN113011413A (zh) * | 2021-04-15 | 2021-06-22 | 深圳市鹰硕云科技有限公司 | 基于智能笔手写图像的处理方法、装置、系统及存储介质 |
| CN113518113B (zh) * | 2021-05-11 | 2022-10-28 | 深圳前海移联科技有限公司 | 一种基于区块链和里德-所罗门码的文件存储方法、计算机设备及存储介质 |
| CN112988764B (zh) * | 2021-05-14 | 2022-05-10 | 北京百度网讯科技有限公司 | 数据存储方法、装置、设备和存储介质 |
| CN113535648B (zh) * | 2021-07-27 | 2024-09-03 | 浪潮卓数大数据产业发展有限公司 | 一种基于ipfs的分布式云存储方法、设备及存储介质 |
| CN113608705A (zh) * | 2021-08-27 | 2021-11-05 | 中国银行股份有限公司 | 基于区块链的文件存储方法及系统 |
| CN114079660B (zh) * | 2021-09-28 | 2024-06-11 | 中诚区块链研究院(南京)有限公司 | 一种高性能分布式存储区块数据、时间戳、跨链通信与数据协同方法 |
| CN113900991A (zh) * | 2021-10-11 | 2022-01-07 | 北京青云科技股份有限公司 | 数据交互方法、装置、设备及存储介质 |
| CN114338644A (zh) * | 2021-11-24 | 2022-04-12 | 石化盈科信息技术有限责任公司 | 文件的处理方法、处理装置、存储介质及其电子设备 |
| CN114254045A (zh) * | 2021-12-21 | 2022-03-29 | 京北方信息技术股份有限公司 | 一种基于区块链的数据存储方法、装置、设备及存储介质 |
| CN114363321A (zh) * | 2021-12-30 | 2022-04-15 | 支付宝(杭州)信息技术有限公司 | 文件传输方法、设备及系统 |
| CN114389878B (zh) * | 2022-01-13 | 2024-03-19 | 中国人民解放军国防科技大学 | 一种区块链分片方法及区块链网络系统 |
| CN114398332B (zh) * | 2022-01-21 | 2024-10-25 | 平安科技(深圳)有限公司 | 一种文件处理方法、装置、计算机可读存储介质及服务器 |
| CN114860683A (zh) * | 2022-04-13 | 2022-08-05 | 浙江安存云链数据技术有限公司 | 基于区块链存储机的分布式存储系统 |
| CN115118734A (zh) * | 2022-07-11 | 2022-09-27 | 京东科技信息技术有限公司 | 文件共享方法、装置及设备 |
| CN115514470B (zh) * | 2022-11-22 | 2023-03-10 | 中网道科技集团股份有限公司 | 一种社区矫正数据安全性的存储方法及系统 |
| CN116319815B (zh) * | 2023-05-17 | 2023-08-04 | 驿羚江苏大数据有限公司 | 引入SaaS特征的云数据放置策略管理系统 |
| CN116303329A (zh) * | 2023-05-25 | 2023-06-23 | 安徽中科晶格技术有限公司 | 基于区块链的分布式存储方法 |
| CN118051958B (zh) * | 2024-04-15 | 2024-07-02 | 华南师范大学 | 一种基于区块链的会计数据修改方法及系统 |
Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN108111585A (zh) * | 2017-12-15 | 2018-06-01 | 成都链网络科技有限公司 | 基于区块链的分布式存储方法 |
| CN109587253A (zh) * | 2018-12-11 | 2019-04-05 | 浙江大学 | 一种基于区块链对文件实现分布式存储的方法 |
| CN110543448A (zh) * | 2019-07-22 | 2019-12-06 | 深圳壹账通智能科技有限公司 | 数据同步方法、装置、设备及计算机可读存储介质 |
| CN112256663A (zh) * | 2020-10-30 | 2021-01-22 | 深圳壹账通智能科技有限公司 | 基于区块链的分布式文件存储方法及系统 |
Family Cites Families (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN107295018A (zh) * | 2017-08-14 | 2017-10-24 | 北京连云决科技有限公司 | 一种云盘文件的安全存储及分享方法 |
| CN109522270A (zh) * | 2018-10-19 | 2019-03-26 | 平安科技(深圳)有限公司 | 基于区块链的文件存读方法、电子装置及可读存储介质 |
| CN109598144A (zh) * | 2018-12-07 | 2019-04-09 | 暨南大学 | 一种质谱数据资产管理系统及方法 |
| CN109491981B (zh) * | 2019-01-11 | 2021-05-28 | 珮金(上海)信息科技有限公司 | 基于区块链的文件管理方法和装置 |
| CN110399338B (zh) * | 2019-04-13 | 2022-03-08 | 西安电子科技大学 | 基于区块链的分布式文件索引系统及方法、云存储服务器 |
-
2020
- 2020-10-30 CN CN202011199967.9A patent/CN112256663A/zh active Pending
-
2021
- 2021-07-30 WO PCT/CN2021/109490 patent/WO2022088807A1/zh not_active Ceased
Patent Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN108111585A (zh) * | 2017-12-15 | 2018-06-01 | 成都链网络科技有限公司 | 基于区块链的分布式存储方法 |
| CN109587253A (zh) * | 2018-12-11 | 2019-04-05 | 浙江大学 | 一种基于区块链对文件实现分布式存储的方法 |
| CN110543448A (zh) * | 2019-07-22 | 2019-12-06 | 深圳壹账通智能科技有限公司 | 数据同步方法、装置、设备及计算机可读存储介质 |
| CN112256663A (zh) * | 2020-10-30 | 2021-01-22 | 深圳壹账通智能科技有限公司 | 基于区块链的分布式文件存储方法及系统 |
Cited By (38)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN114666166A (zh) * | 2022-05-20 | 2022-06-24 | 浙江木链物联网科技有限公司 | 工业互联网可信数据获取及存储方法和系统 |
| CN114866536A (zh) * | 2022-05-31 | 2022-08-05 | 北京奕斯伟计算技术有限公司 | 文件上传方法及web前端 |
| CN114726884A (zh) * | 2022-06-06 | 2022-07-08 | 深圳市佑荣信息科技有限公司 | 一种金融级文件安全存储方法及系统 |
| CN117376364A (zh) * | 2022-06-30 | 2024-01-09 | 华为云计算技术有限公司 | 一种数据处理方法及相关设备 |
| WO2024001304A1 (zh) * | 2022-06-30 | 2024-01-04 | 华为云计算技术有限公司 | 一种数据处理方法及相关设备 |
| CN115484253A (zh) * | 2022-08-12 | 2022-12-16 | 视联动力信息技术股份有限公司 | 一种数据传输方法、装置、终端设备和存储介质 |
| CN115328858A (zh) * | 2022-08-19 | 2022-11-11 | 济南浪潮数据技术有限公司 | 一种分布式存储系统的分片上传方法、装置及介质 |
| CN115408390A (zh) * | 2022-08-24 | 2022-11-29 | 上海电气风电集团股份有限公司 | 一种数据处理方法、装置及电子设备 |
| CN116669097A (zh) * | 2022-08-26 | 2023-08-29 | 天翼数字生活科技有限公司 | 基于OKhttp的分片传输的方法和装置 |
| CN115174561A (zh) * | 2022-09-08 | 2022-10-11 | 北京亿赛通网络安全技术有限公司 | 一种文件分段传输方法及系统 |
| CN115174561B (zh) * | 2022-09-08 | 2022-11-22 | 北京亿赛通网络安全技术有限公司 | 一种文件分段传输方法及系统 |
| CN115514991A (zh) * | 2022-09-22 | 2022-12-23 | 中国电信股份有限公司 | Iptv视频的防篡改方法、服务器及客户端 |
| CN115514991B (zh) * | 2022-09-22 | 2024-05-14 | 中国电信股份有限公司 | Iptv视频的防篡改方法、服务器及客户端 |
| CN115665126A (zh) * | 2022-10-11 | 2023-01-31 | 平安银行股份有限公司 | 批量执行文件生成方法、装置、介质及设备 |
| CN116032913A (zh) * | 2022-10-12 | 2023-04-28 | 浪潮云信息技术股份公司 | 基于分布式对象存储的文件上传方法及系统 |
| CN115499249A (zh) * | 2022-11-17 | 2022-12-20 | 南京可信区块链与算法经济研究院有限公司 | 一种基于区块链分布式加密的文件存储方法及系统 |
| CN115834571A (zh) * | 2022-11-23 | 2023-03-21 | 中国工商银行股份有限公司 | 基于区块链的文件传输方法及装置 |
| CN115842833B (zh) * | 2022-11-24 | 2023-12-15 | 国家电投集团重庆狮子滩发电有限公司 | 一种超融合虚拟存储的处理方法、装置及系统 |
| CN115842833A (zh) * | 2022-11-24 | 2023-03-24 | 国家电投集团重庆狮子滩发电有限公司 | 一种超融合虚拟存储的处理方法、装置及系统 |
| CN115883534A (zh) * | 2022-11-28 | 2023-03-31 | 安徽小豆网络科技有限公司 | 一种大数据文件远程分布式加密传输方法 |
| CN116088755A (zh) * | 2022-11-30 | 2023-05-09 | 中国建设银行股份有限公司 | 一种数据存储的方法和装置 |
| CN115934643A (zh) * | 2023-01-06 | 2023-04-07 | 济南浪潮数据技术有限公司 | 一种文件排序方法、系统、装置及存储介质 |
| CN116112484A (zh) * | 2023-03-07 | 2023-05-12 | 芜湖雄狮汽车科技有限公司 | 文件分片上传方法、装置、车辆及存储介质 |
| CN116614491A (zh) * | 2023-05-05 | 2023-08-18 | 中电科网络安全科技股份有限公司 | 一种文件上传方法、装置、设备及存储介质 |
| CN116346508A (zh) * | 2023-05-31 | 2023-06-27 | 深圳市东信时代信息技术有限公司 | 基于分片加密存储的信息传输方法、装置、设备及介质 |
| CN116346508B (zh) * | 2023-05-31 | 2023-09-29 | 深圳市东信时代信息技术有限公司 | 基于分片加密存储的信息传输方法、装置、设备及介质 |
| CN116886776A (zh) * | 2023-08-04 | 2023-10-13 | 中国工商银行股份有限公司 | 一种基于传输热点的存储节点自适应调整方法及装置 |
| CN116915520B (zh) * | 2023-09-14 | 2023-12-19 | 南京龟兔赛跑软件研究院有限公司 | 基于分布式计算的农业产品信息化数据安全优化方法 |
| CN116915520A (zh) * | 2023-09-14 | 2023-10-20 | 南京龟兔赛跑软件研究院有限公司 | 基于分布式计算的农业产品信息化数据安全优化方法 |
| CN117914849A (zh) * | 2024-01-17 | 2024-04-19 | 广州虎牙科技有限公司 | 文件下载方法、系统及计算机可读存储介质 |
| CN118802966A (zh) * | 2024-09-12 | 2024-10-18 | 青矩技术股份有限公司 | 分布式存储的加速访问方法、装置、设备及存储介质 |
| CN118890219A (zh) * | 2024-09-27 | 2024-11-01 | 泉州举世通讯有限公司 | 一种全球范围通讯的通讯方法及相关设备 |
| CN119011573A (zh) * | 2024-10-25 | 2024-11-22 | 亿次网联(杭州)科技有限公司 | 一种文件上传方法、电子设备及计算机可读介质 |
| CN119484510A (zh) * | 2024-11-21 | 2025-02-18 | 天翼云科技有限公司 | 文件下载方法、装置、计算机设备、可读存储介质和程序产品 |
| CN119316413A (zh) * | 2024-12-10 | 2025-01-14 | 杭州领信数科信息技术有限公司 | 文件交互方法、系统及服务器 |
| CN120110790A (zh) * | 2025-04-30 | 2025-06-06 | 湖南工程学院 | 基于区块链的医疗图像加密与安全存储方法及系统 |
| CN120653788A (zh) * | 2025-06-17 | 2025-09-16 | 东港瑞云数据技术有限公司 | 一种基于区块链电子档案智能检索方法及系统 |
| CN121056452A (zh) * | 2025-11-03 | 2025-12-02 | 浪潮工业互联网股份有限公司 | 大文件的前端处理方法、系统、设备及存储介质 |
Also Published As
| Publication number | Publication date |
|---|---|
| CN112256663A (zh) | 2021-01-22 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| WO2022088807A1 (zh) | 基于区块链的分布式文件存储方法、系统、服务器及客户端 | |
| US10445517B1 (en) | Protecting data in insecure cloud storage | |
| US10754848B2 (en) | Method for registration of data in a blockchain database and a method for verifying data | |
| US8353041B2 (en) | Secure application streaming | |
| CN107615730A (zh) | 跨文件系统对象和客户端共享的数据的安全的基于云的存储 | |
| US11256662B2 (en) | Distributed ledger system | |
| US20120260096A1 (en) | Method and system for monitoring a secure document | |
| CN109634615B (zh) | 应用安装包的发布方法、验证方法和装置 | |
| US8484347B1 (en) | System and method for malware detection in peer-to-peer computer networks | |
| WO2007131206A2 (en) | System and method for cacheing web files | |
| US12505231B2 (en) | Systems and methods for performing distributed computing | |
| CN112035863B (zh) | 一种基于智能合约方式的电子合同取证方法及系统 | |
| Vaidya et al. | Commit signatures for centralized version control systems | |
| CN109918451B (zh) | 基于区块链的数据库管理方法及系统 | |
| Walker et al. | Provable data possession (pdp) and proofs of retrievability (por) of current big user data | |
| CN113961908B (zh) | 数据存证方法、装置、计算机设备和存储介质 | |
| US20050154899A1 (en) | Mobile software authentication and validation | |
| US20200326892A1 (en) | Methods for encrypting and updating virtual disks | |
| CN115484249B (zh) | 数据传输方法及装置 | |
| CN111291001A (zh) | 计算机文件的读取方法、装置、计算机系统及存储介质 | |
| Wei et al. | An automatic carving method for RAR file based on content and structure | |
| CN120934903B (zh) | 一种改进的公钥可搜索加密方法、系统及设备 | |
| CN120386769B (zh) | 一种基于去中心化存储网络协议的文件检索方法、装置、设备及介质 | |
| CN121681488B (zh) | 多终端数据同步与安全存储方法、设备、程序产品及介质 | |
| KR102927511B1 (ko) | 블록체인 기반 생성형 ai 콘텐츠 관리 시스템 및 방법 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 21884542 Country of ref document: EP Kind code of ref document: A1 |
|
| NENP | Non-entry into the national phase |
Ref country code: DE |
|
| 32PN | Ep: public notification in the ep bulletin as address of the adressee cannot be established |
Free format text: NOTING OF LOSS OF RIGHTS PURSUANT TO RULE 112(1) EPC (EPO FORM 1205A DATED 110823) |
|
| 122 | Ep: pct application non-entry in european phase |
Ref document number: 21884542 Country of ref document: EP Kind code of ref document: A1 |