CN111984614A - Method, device and system for sharing files - Google Patents

Method, device and system for sharing files Download PDF

Info

Publication number
CN111984614A
CN111984614A CN202010772434.9A CN202010772434A CN111984614A CN 111984614 A CN111984614 A CN 111984614A CN 202010772434 A CN202010772434 A CN 202010772434A CN 111984614 A CN111984614 A CN 111984614A
Authority
CN
China
Prior art keywords
hash value
file
current
blockchain
files
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.)
Granted
Application number
CN202010772434.9A
Other languages
Chinese (zh)
Other versions
CN111984614B (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.)
Institute of Printing Science and Technology Peoples Bank of China
Original Assignee
Institute of Printing Science and Technology Peoples Bank of China
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 Institute of Printing Science and Technology Peoples Bank of China filed Critical Institute of Printing Science and Technology Peoples Bank of China
Priority to CN202010772434.9A priority Critical patent/CN111984614B/en
Publication of CN111984614A publication Critical patent/CN111984614A/en
Priority to PCT/CN2021/110599 priority patent/WO2022028486A1/en
Priority to EP21852328.0A priority patent/EP4180984A4/en
Priority to US18/040,467 priority patent/US12346292B2/en
Application granted granted Critical
Publication of CN111984614B publication Critical patent/CN111984614B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/176Support for shared access to files; File sharing support
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/16File or folder operations, e.g. details of user interfaces specifically adapted to file systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/174Redundancy elimination performed by the file system
    • G06F16/1744Redundancy elimination performed by the file system using compression, e.g. sparse files
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种共享文件的方法、装置和系统,涉及计算机技术领域。该方法的一具体实施方式包括:获取待共享的文件,形成文件压缩包,对文件压缩包执行区块链上链操作并获取相应的第一哈希值,选择设定数量个第一哈希值上链并获取当前哈希值;经过循环直到获取根哈希值,各个层级当前哈希值以设定数量分叉树结构存储。基于根哈希值,遍历分叉树结构节点的哈希值,获取文件压缩包中的共享文件;通过采用将多个文件压缩成文件压缩包,部分克服了因为文件数量大造成的网络资源负担过高的技术问题,通过将各个文件压缩包并发上链,提高了文件上链和共享的效率;利用分叉树结构存储并分享根哈希值,通过根哈希值获取共享文件,提高文件的安全性。

Figure 202010772434

The invention discloses a method, device and system for sharing files, and relates to the technical field of computers. A specific implementation of the method includes: obtaining a file to be shared, forming a file compressed package, performing a blockchain on-chain operation on the file compressed package, obtaining a corresponding first hash value, and selecting a set number of first hashes The value is uploaded to the chain and the current hash value is obtained; after looping until the root hash value is obtained, the current hash value of each level is stored in a set number of forked tree structures. Based on the root hash value, traverse the hash value of the node of the bifurcated tree structure to obtain the shared files in the file compressed package; by compressing multiple files into a file compressed package, the burden of network resources caused by the large number of files is partially overcome. For high technical problems, the efficiency of file uploading and sharing is improved by concurrently uploading the compressed packages of each file to the chain; using the bifurcated tree structure to store and share the root hash value, obtain the shared file through the root hash value, and improve the file security.

Figure 202010772434

Description

一种共享文件的方法、装置和系统A method, device and system for sharing files

技术领域technical field

本发明涉及计算机技术领域,尤其涉及一种共享文件的方法、装置和系统。The present invention relates to the field of computer technology, and in particular, to a method, device and system for sharing files.

背景技术Background technique

在企业的业务流程中,往往需要共享业务所需要的文件,尤其是涉及到企业与企业之间的业务,随着区块链技术的发展,企业之间可以基于区块链共享文件,所采用的方法主要有:1.将所有的共享文件当作交易上链并进行广播实现共享,2.将文件保存在中心化数据库中,将文件的电子存证上链并进行广播实现共享。In the business process of enterprises, it is often necessary to share the files required by the business, especially when it comes to business between enterprises. With the development of blockchain technology, enterprises can share files based on the blockchain. The main methods are: 1. Put all shared files on the chain as transactions and broadcast them to achieve sharing; 2. Save the files in a centralized database, upload the electronic certificates of the files to the chain and broadcast them to achieve sharing.

在实现本发明过程中,发明人发现现有技术中至少存在如下问题:In the process of realizing the present invention, the inventor found that there are at least the following problems in the prior art:

利用方法1的方法,当文件的数量较大时,造成网络资源的使用率过高从而导致文件上链的效率减低;方法2,利用中心化的数据库保存文件,当文件为安全性较高的文件时,会存在一定的安全风险。Using the method of method 1, when the number of files is large, the utilization rate of network resources is too high and the efficiency of file uploading is reduced; file, there will be certain security risks.

发明内容SUMMARY OF THE INVENTION

有鉴于此,本发明实施例提供一种共享文件的方法和装置,能够获取待共享的文件,形成文件压缩包,对文件压缩包执行区块链上链操作并获取相应的第一哈希值,选择设定数量个第一哈希值上链并获取当前哈希值;经过循环直到获取根哈希值,各个层级当前哈希值以设定数量分叉树结构存储。基于根哈希值,遍历分叉树结构节点的哈希值,获取文件压缩包中的共享文件;通过采用将多个文件压缩成文件压缩包,部分克服了因为文件数量大造成的网络资源负担过高的技术问题,通过将各个文件压缩包并发上链,提高了文件上链和共享的效率;利用分叉树结构存储并分享根哈希值,通过根哈希值获取共享文件,提高文件的安全性。In view of this, the embodiments of the present invention provide a method and apparatus for sharing files, which can obtain a file to be shared, form a file compression package, perform a blockchain on-chain operation on the file compression package, and obtain a corresponding first hash value. , select a set number of first hash values to upload on the chain and obtain the current hash value; after looping until the root hash value is obtained, the current hash values of each level are stored in a set number of forked tree structures. Based on the root hash value, traverse the hash value of the node of the bifurcated tree structure to obtain the shared files in the file compressed package; by compressing multiple files into a file compressed package, the burden of network resources caused by the large number of files is partially overcome. For high technical problems, the efficiency of file uploading and sharing is improved by concurrently uploading the compressed packages of each file to the chain; using the bifurcated tree structure to store and share the root hash value, obtain the shared file through the root hash value, and improve the file security.

为实现上述目的,根据本发明实施例的第一方面,提供了一种共享文件的方法,其特征在于,包括:获取待共享的文件,形成多个文件压缩包;对所述文件压缩包执行区块链上链操作,并从区块链获取所述文件压缩包对应的至少三个第一哈希值;将所述第一哈希值作为当前哈希值,循环执行以下操作,直至所述当前哈希值的数量为1:从所述至少三个当前哈希值中,分别选择设定数量个当前哈希值,基于选择出的设定数量个当前哈希值生成中间哈希值,对所述中间哈希值执行区块链上链操作,并从区块链获取对应的第二哈希值;当存在未被选择过的所述当前哈希值、且未被选择过的所述当前哈希值的数量小于所述设定数量时,基于未被选择过的所述当前哈希值生成中间哈希值,对所述中间哈希值执行区块链上链操作,并从区块链获取对应的第二哈希值;将所述第二哈希值作为所述当前哈希值;所述设定数量为大于2的整数;将所述当前哈希值作为根哈希值,并发送所述哈希值。In order to achieve the above object, according to a first aspect of the embodiments of the present invention, a method for sharing files is provided, characterized in that, the method includes: acquiring files to be shared, forming multiple file compression packages; The blockchain is operated on the chain, and at least three first hash values corresponding to the file compressed package are obtained from the blockchain; the first hash value is used as the current hash value, and the following operations are performed cyclically until all the The number of the current hash values is 1: from the at least three current hash values, a set number of current hash values are respectively selected, and an intermediate hash value is generated based on the selected set number of current hash values , perform the blockchain on-chain operation on the intermediate hash value, and obtain the corresponding second hash value from the blockchain; when there is the current hash value that has not been selected and has not been selected When the number of the current hash values is less than the set number, generate an intermediate hash value based on the current hash value that has not been selected, perform a blockchain on-chain operation on the intermediate hash value, and Obtain the corresponding second hash value from the blockchain; use the second hash value as the current hash value; the set number is an integer greater than 2; use the current hash value as the root hash value hash value, and send the hash value.

可选地,所述共享文件的方法,其特征在于,Optionally, the method for sharing files is characterized in that:

获取待共享的文件,形成多个文件压缩包,包括:Obtain the files to be shared and form multiple file compression packages, including:

获取预定义时间范围内待共享的文件,形成至少三个文件包,根据网络带宽,确定所述文件包中文件的数量。Obtain files to be shared within a predefined time range, form at least three file packages, and determine the number of files in the file packages according to network bandwidth.

可选地,所述共享文件的方法,其特征在于,Optionally, the method for sharing files is characterized in that:

分别对所述文件包执行压缩和加密操作,形成所述文件压缩包。Compressing and encrypting the file package are respectively performed to form the file compression package.

可选地,所述共享文件的方法,其特征在于,Optionally, the method for sharing files is characterized in that:

对所述文件压缩包执行区块链并发上链操作。A concurrent blockchain uploading operation is performed on the file compressed package.

为实现上述目的,根据本发明实施例的第二方面,提供了一种共享文件的方法,其特征在于,包括:接收当前哈希值;循环执行以下步骤,直至获取到所述当前哈希值所对应的文件压缩包;确定所述区块链上存在与所述当前哈希值相同的文件压缩包哈希值,如果是,执行A1;否则执行A2;A1:从所述区块链上获取所述当前哈希值所对应的文件压缩包;A2:确定所述当前哈希值对应的各个下级哈希值,并将所述下级哈希值作为所述当前哈希值。In order to achieve the above object, according to a second aspect of the embodiments of the present invention, a method for sharing files is provided, which includes: receiving a current hash value; cyclically executing the following steps until the current hash value is obtained The corresponding file compressed package; determine that there is a file compressed package hash value that is the same as the current hash value on the blockchain, if so, execute A1; otherwise, execute A2; A1: from the blockchain Acquire the file compressed package corresponding to the current hash value; A2: Determine each lower-level hash value corresponding to the current hash value, and use the lower-level hash value as the current hash value.

可选地,所述共享文件的方法,其特征在于,Optionally, the method for sharing files is characterized in that:

获取到所述当前哈希值所对应的文件压缩包,包括:Obtain the file compressed package corresponding to the current hash value, including:

获取所述当前哈希值所对应文件压缩包,对所述文件压缩包执行解压和解密操作,获取文件压缩包中的文件。Obtain the file compressed package corresponding to the current hash value, perform decompression and decryption operations on the file compressed package, and obtain the files in the file compressed package.

为实现上述目的,根据本发明实施例的第三方面,提供了一种共享文件的装置,其特征在于,包括:文件压缩包上链模块、节点哈希值获取模块和根哈希值获取模块;其中,In order to achieve the above object, according to a third aspect of the embodiments of the present invention, a device for sharing files is provided, which is characterized by comprising: a file compression package uploading module, a node hash value obtaining module, and a root hash value obtaining module ;in,

所述文件压缩包上链模块,用于获取待共享的文件,形成多个文件压缩包;对所述文件压缩包执行区块链上链操作,并从区块链获取所述文件压缩包对应的至少三个第一哈希值;The file compression package uploading module is used to obtain the files to be shared to form a plurality of file compression packages; perform the blockchain chaining operation on the file compression package, and obtain the corresponding file compression package from the blockchain at least three first hash values of ;

所述上级哈希值获取模块,用于将所述第一哈希值作为当前哈希值,循环执行以下操作,直至所述当前哈希值的数量为1:从所述至少三个当前哈希值中,分别选择设定数量个当前哈希值,基于选择出的设定数量个当前哈希值生成中间哈希值,对所述中间哈希值执行区块链上链操作,并从区块链获取对应的第二哈希值;当存在未被选择过的所述当前哈希值、且未被选择过的所述当前哈希值的数量小于所述设定数量时,基于未被选择过的所述当前哈希值生成中间哈希值,对所述中间哈希值执行区块链上链操作,并从区块链获取对应的第二哈希值;将所述第二哈希值作为所述当前哈希值;所述设定数量为大于2的整数;The upper-level hash value acquisition module is configured to use the first hash value as the current hash value, and perform the following operations cyclically until the number of the current hash values is 1: from the at least three current hash values Among the values, a set number of current hash values are respectively selected, an intermediate hash value is generated based on the selected set number of current hash values, the blockchain on-chain operation is performed on the intermediate hash value, and the The blockchain obtains the corresponding second hash value; when there is the current hash value that has not been selected, and the number of the current hash value that has not been selected is less than the set number, based on the unselected current hash value The selected current hash value generates an intermediate hash value, performs a blockchain on-chain operation on the intermediate hash value, and obtains a corresponding second hash value from the blockchain; The hash value is used as the current hash value; the set number is an integer greater than 2;

所述根哈希值获取模块,用于将所述当前哈希值作为根哈希值,并发送所述哈希值。The root hash value obtaining module is configured to use the current hash value as the root hash value and send the hash value.

可选地,所述共享文件的装置,其特征在于,Optionally, the device for sharing files is characterized in that:

获取待共享的文件,形成多个文件压缩包,包括:Obtain the files to be shared and form multiple file compression packages, including:

获取预定义时间范围内待共享的文件,形成至少三个文件包,根据网络带宽,确定所述文件包中文件的数量。Obtain files to be shared within a predefined time range, form at least three file packages, and determine the number of files in the file packages according to network bandwidth.

可选地,所述共享文件的装置,其特征在于,Optionally, the device for sharing files is characterized in that:

分别对所述文件包执行压缩和加密操作,形成所述文件压缩包。Compressing and encrypting the file package are respectively performed to form the file compression package.

可选地,所述共享文件的装置,其特征在于,Optionally, the device for sharing files is characterized in that:

对所述文件压缩包执行区块链并发上链操作。A concurrent blockchain uploading operation is performed on the file compressed package.

为实现上述目的,根据本发明实施例的第四方面,还提供了一种共享文件的装置,其特征在于,包括:获取链上文件模块;其中,In order to achieve the above object, according to a fourth aspect of the embodiments of the present invention, there is also provided an apparatus for sharing files, which is characterized in that it includes: acquiring a file module on the chain; wherein,

所述获取链上文件模块,用于接收当前哈希值;循环执行以下步骤,直至获取到所述当前哈希值所对应的文件压缩包;确定所述区块链上存在与所述当前哈希值相同的文件压缩包哈希值,如果是,执行A1;否则执行A2;A1:从所述区块链上获取所述当前哈希值所对应的文件压缩包;A2:确定所述当前哈希值对应的各个下级哈希值,并将所述下级哈希值作为所述当前哈希值。The module for obtaining the file on the chain is used to receive the current hash value; the following steps are performed cyclically until the file compressed package corresponding to the current hash value is obtained; The hash value of the file compressed package with the same value, if yes, execute A1; otherwise, execute A2; A1: Obtain the file compressed package corresponding to the current hash value from the blockchain; A2: Determine the current each lower-level hash value corresponding to the hash value, and the lower-level hash value is used as the current hash value.

可选地,所述共享文件的装置,其特征在于,Optionally, the device for sharing files is characterized in that:

获取到所述当前哈希值所对应的文件压缩包,包括:Obtain the file compressed package corresponding to the current hash value, including:

获取所述当前哈希值所对应文件压缩包,对所述文件压缩包执行解压和解密操作,获取文件压缩包中的文件。Obtain the file compressed package corresponding to the current hash value, perform decompression and decryption operations on the file compressed package, and obtain the files in the file compressed package.

为实现上述目的,根据本发明实施例的第五方面,提供了一种共享文件的系统900,包含上述第三方面提供的共享文件的装置700、以及上述第四方面提供的共享文件的装置800;To achieve the above object, according to a fifth aspect of the embodiments of the present invention, a system 900 for sharing files is provided, including the device 700 for sharing files provided in the third aspect and the device 800 for sharing files provided in the fourth aspect. ;

为实现上述目的,根据本发明实施例的第六方面,提供了一种共享文件的电子设备,其特征在于,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如上述共享文件的方法中任一所述的方法。To achieve the above object, according to a sixth aspect of the embodiments of the present invention, an electronic device for sharing files is provided, which is characterized by comprising: one or more processors; a storage device for storing one or more programs, When the one or more programs are executed by the one or more processors, the one or more processors implement the method as described in any one of the above methods for sharing files.

为实现上述目的,根据本发明实施例的第七方面,提供了一种计算机可读介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如上述共享文件的方法中任一所述的方法。In order to achieve the above object, according to a seventh aspect of the embodiments of the present invention, a computer-readable medium is provided on which a computer program is stored, wherein the program is executed by a processor to implement the above-mentioned method for sharing files any of the methods described above.

上述发明中的一个实施例具有如下优点或有益效果:获取待共享的文件,形成文件压缩包,对文件压缩包执行区块链上链操作并获取相应的第一哈希值,选择设定数量个第一哈希值上链并获取当前哈希值;经过循环直到获取根哈希值,各个层级当前哈希值以设定数量分叉树结构存储。基于根哈希值,遍历分叉树结构节点的哈希值,获取文件压缩包中的共享文件;通过采用将多个文件压缩成文件压缩包,部分克服了因为文件数量大造成的网络资源负担过高的技术问题,通过将各个文件压缩包并发上链,提高了文件上链和共享的效率;利用分叉树结构存储并分享根哈希值,通过根哈希值获取共享文件,提高文件的安全性。One embodiment of the above invention has the following advantages or beneficial effects: obtaining a file to be shared, forming a file compression package, performing a blockchain on-chain operation on the file compression package and obtaining a corresponding first hash value, selecting a set number of The first hash value is uploaded to the chain and the current hash value is obtained; after looping until the root hash value is obtained, the current hash value of each level is stored in a set number of forked tree structures. Based on the root hash value, traverse the hash value of the node of the bifurcated tree structure to obtain the shared files in the file compressed package; by compressing multiple files into a file compressed package, the burden of network resources caused by the large number of files is partially overcome. For high technical problems, the efficiency of file uploading and sharing is improved by concurrently uploading the compressed packages of each file to the chain; using the bifurcated tree structure to store and share the root hash value, obtain the shared file through the root hash value, and improve the file security.

上述的非惯用的可选方式所具有的进一步效果将在下文中结合具体实施方式加以说明。Further effects of the above non-conventional alternatives will be described below in conjunction with specific embodiments.

附图说明Description of drawings

附图用于更好地理解本发明,不构成对本发明的不当限定。其中:The accompanying drawings are used for better understanding of the present invention and do not constitute an improper limitation of the present invention. in:

图1是本发明一个实施例提供的一种存储共享文件的方法的流程示意图;1 is a schematic flowchart of a method for storing a shared file provided by an embodiment of the present invention;

图2是本发明一个实施例提供的一种获取共享文件的流程示意图;FIG. 2 is a schematic flow chart of obtaining a shared file provided by an embodiment of the present invention;

图3是本发明一个实施例提供的一种利用多叉树结构存储共享文件哈希值示意图;3 is a schematic diagram of storing a shared file hash value using a multi-tree structure provided by an embodiment of the present invention;

图4是本发明一个实施例提供的一种获取共享文件的流程示意图;FIG. 4 is a schematic flow chart of obtaining a shared file according to an embodiment of the present invention;

图5是本发明一个实施例提供的一种利用多叉树结构存储共享文件哈希值示意图;5 is a schematic diagram of a shared file hash value stored in a multi-tree structure provided by an embodiment of the present invention;

图6是本发明一个实施例提供的一种共享文件的流程示意图;6 is a schematic flowchart of a shared file provided by an embodiment of the present invention;

图7是本发明一个实施例提供的一种共享文件的装置的结构示意图;7 is a schematic structural diagram of an apparatus for sharing files provided by an embodiment of the present invention;

图8是本发明一个实施例提供的一种获取共享文件的装置的结构示意图;8 is a schematic structural diagram of an apparatus for acquiring a shared file provided by an embodiment of the present invention;

图9是本发明一个实施例提供的一种获取共享文件的系统的结构示意图;9 is a schematic structural diagram of a system for acquiring a shared file provided by an embodiment of the present invention;

图10是本发明实施例可以应用于其中的示例性系统架构图;10 is an exemplary system architecture diagram to which an embodiment of the present invention may be applied;

图11是适于用来实现本发明实施例的终端设备或服务器的计算机系统的结构示意图。FIG. 11 is a schematic structural diagram of a computer system suitable for implementing a terminal device or a server according to an embodiment of the present invention.

具体实施方式Detailed ways

以下结合附图对本发明的示范性实施例做出说明,其中包括本发明实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本发明的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。Exemplary embodiments of the present invention are described below with reference to the accompanying drawings, which include various details of the embodiments of the present invention to facilitate understanding and should be considered as exemplary only. Accordingly, those of ordinary skill in the art will recognize that various changes and modifications of the embodiments described herein can be made without departing from the scope and spirit of the invention. Also, descriptions of well-known functions and constructions are omitted from the following description for clarity and conciseness.

如图1所示,本发明实施例提供了一种存储共享文件的方法,该方法可以包括以下步骤:As shown in FIG. 1, an embodiment of the present invention provides a method for storing a shared file, and the method may include the following steps:

步骤S101:获取待共享的文件,形成多个文件压缩包;对所述文件压缩包执行区块链上链操作,并从区块链获取所述文件压缩包对应的至少三个第一哈希值。Step S101: Acquire the files to be shared to form multiple file compression packages; perform a blockchain on-chain operation on the file compression packages, and obtain at least three first hashes corresponding to the file compression packages from the blockchain value.

具体地,待共享的文件可以为某电子银行产生的交易文件、电子银行产生的对账单文件、电子商城产生的订单文件等;本发明对带共享的文件的格式和内容不做限定;进一步地,获取待共享的文件,形成多个文件压缩包,包括:获取预定义时间范围内待共享的文件,形成至少三个文件包,根据网络带宽,确定所述文件包中文件的数量。Specifically, the file to be shared can be a transaction file generated by an electronic bank, a statement file generated by an electronic bank, an order file generated by an electronic mall, etc. The present invention does not limit the format and content of the file with sharing; further , obtaining files to be shared to form multiple file compression packages, including: obtaining files to be shared within a predefined time range, forming at least three file packages, and determining the number of files in the file packages according to network bandwidth.

具体地,本发明的一个实施例为基于多个文件压缩包对应的哈希值,经过循环通过各层级哈希值上链并获取下一级的哈希值,从而形成多叉树状的哈希值结构,所述多叉树的分叉数量至少为3,即,所述设定数量为大于2的整数;也即,并从区块链获取所述文件压缩包对应的至少三个第一哈希值;可以理解的是,文件压缩包的数量可以是根据一个时间范围内所接收的共享文件的数量,即,获取预定义时间范围内产生的待共享的文件,例如,一个小时之内某电子银行产生的交易文件、一个小时之内某两个电子银行产生的对账单文件、一天之内电子商城产生的订单文件等,所述预定义时间范围可以根据业务的场景和产生文件的数量来设定,例如,一天、一小时、一分钟等;本发明对预定义时间范围的具体内容不做限定。Specifically, an embodiment of the present invention is based on the hash values corresponding to multiple file compression packages, and after looping through the hash values of each level to upload the chain and obtain the hash value of the next level, thereby forming a multi-fork tree-like hash value Value structure, the number of forks of the multi-fork tree is at least 3, that is, the set number is an integer greater than 2; that is, at least the third third corresponding to the file compressed package is obtained from the blockchain A hash value; it can be understood that the number of file compressed packages can be based on the number of shared files received within a time range, that is, to obtain the files to be shared generated within a predefined time range, for example, within an hour Transaction documents generated by an electronic bank within one hour, statement documents generated by two electronic banks within an hour, order documents generated by an electronic mall within one day, etc. The predefined time range can be based on business scenarios and document generation. The specific content of the predefined time range is not limited in the present invention.

进一步地,获取待共享的文件,例如,获取预定义时间范围内待共享的文件,形成至少三个个文件包,可以根据网络带宽,确定每个所述文件包中文件的数量,并分别形成至少三个文件压缩包;获取所述预定义时间范围内产生的文件的数量、结合网络的带宽等因素,对所述文件划分形成多个文件包,并分别对文件包进行压缩操作,分别形成文件压缩包;所述文件包中包含的文件数量根据文件的尺寸而设定,因此文件包中的数量是可变的,根据一个时间范围内的总量,通过获取网络的带宽确定每个文件包中包含文件的数量,进一步地,进行对文件包进行压缩形成多个文件压缩包;Further, obtain the files to be shared, for example, obtain the files to be shared within a predefined time range to form at least three file packages, and determine the number of files in each of the file packages according to the network bandwidth, and form them respectively. At least three file compression packages; obtain the number of files generated within the predefined time range, combined with factors such as network bandwidth, divide the files into multiple file packages, and compress the file packages respectively to form File compression package; the number of files contained in the file package is set according to the size of the file, so the number in the file package is variable. According to the total amount in a time range, each file is determined by obtaining the bandwidth of the network The number of files contained in the package, and further, the file package is compressed to form a plurality of file compressed packages;

分别对所述文件包执行压缩和加密操作,形成所述文件压缩包。其中,形成至少三个文件压缩包,还包括在执行压缩操作以及加密操作,通过加密提高了文件的安全性,尤其是提高了对安全性要求高的例如电子银行之间的对账单等文件的安全性,加密的方法可以使用压缩软件进行加密,例如gzip、WinRAR等;加密的方法可以使用压缩软件进行加密,也可使用操作系统或加密软件进行加密,本发明对压缩使用的具体方法、加密的具体方法不做限定。Compressing and encrypting the file package are respectively performed to form the file compression package. Among them, at least three file compression packages are formed, and the compression operation and encryption operation are also performed, and the security of the files is improved by encryption, especially, the security requirements of documents such as statements between electronic banks and other documents are improved. Security, the encryption method can be encrypted by using compression software, such as gzip, WinRAR, etc.; the encryption method can be encrypted by using compression software, and can also be encrypted by operating system or encryption software. The specific method is not limited.

再进一步地,对各个文件压缩包执行区块链并发上链操作,因为各个文件压缩包之间不具有依赖交易关系,执行文件压缩包的并发上链操作;即,对所述文件压缩包执行区块链并发上链操作。可以理解的是,由于存在网络的带宽等资源的限制,多个文件压缩包的上链操作可以是分批进行的,每一批内文件压缩包执行并发上链,通过同时上链的操作,提高了文件上链的效率;进一步地,对所述至少三个文件压缩包执行区块链上链操作,并获取所述至少三个文件压缩包分别对应的至少三个第一哈希值;其中,可以分别将文件压缩包作为交易执行区块链上链操作,并分别从区块链获取针对该交易返回的哈希值,该哈希值即为所述文件压缩包对应的第一哈希值;其中,所使用的区块链可以是联盟链、私有链等,本发明对区块链的类型不做限定。本发明对执行区块链上链所使用的具体工具或者方法不做限定。Still further, the concurrent blockchain uploading operation is performed on each file compressed package, because each file compressed package does not have a dependent transaction relationship, the concurrent on-chain operation of the file compressed package is performed; that is, the file compressed package is executed. Blockchain concurrent on-chain operations. It is understandable that due to the limitation of resources such as network bandwidth, the uploading operation of multiple file compressed packages can be performed in batches, and the file compressed packages in each batch are concurrently uploaded to the chain. The efficiency of file uploading is improved; further, the blockchain uploading operation is performed on the at least three file compressed packages, and at least three first hash values corresponding to the at least three file compressed packages are obtained respectively; Among them, the file compressed package can be used as a transaction to perform the blockchain on-chain operation, and the hash value returned for the transaction can be obtained from the blockchain respectively, and the hash value is the first hash value corresponding to the file compressed package. Value; wherein, the blockchain used can be a consortium chain, a private chain, etc., and the type of the blockchain is not limited in the present invention. The present invention does not limit the specific tools or methods used to perform blockchain on-chain.

步骤S102:将所述第一哈希值作为当前哈希值,循环执行以下操作,直至所述当前哈希值的数量为1:从所述至少三个当前哈希值中,分别选择设定数量个当前哈希值,基于选择出的设定数量个当前哈希值生成中间哈希值,对所述中间哈希值执行区块链上链操作,并从区块链获取对应的第二哈希值;当存在未被选择过的所述当前哈希值、且未被选择过的所述当前哈希值的数量小于所述设定数量时,基于未被选择过的所述当前哈希值生成中间哈希值,对所述中间哈希值执行区块链上链操作,并从区块链获取对应的第二哈希值;将所述第二哈希值作为所述当前哈希值;所述设定数量为大于2的整数。Step S102: Take the first hash value as the current hash value, and perform the following operations cyclically until the number of the current hash values is 1: from the at least three current hash values, select and set respectively A number of current hash values, an intermediate hash value is generated based on the selected set number of current hash values, the blockchain on-chain operation is performed on the intermediate hash value, and the corresponding second hash value is obtained from the blockchain. Hash value; when there is the current hash value that has not been selected and the number of the current hash value that has not been selected is less than the set number, based on the current hash value that has not been selected Generate an intermediate hash value from the hash value, perform a blockchain on-chain operation on the intermediate hash value, and obtain a corresponding second hash value from the blockchain; use the second hash value as the current hash value. Greek value; the set number is an integer greater than 2.

具体地,根据步骤S101所形成的各个文件压缩包对应的第一哈希值,基于选择出的设定数量个当前哈希值生成中间哈希值,对所述中间哈希值执行区块链上链操作,并从区块链获取对应的第二哈希值;具体地,基于选择出的设定数量个当前哈希值生成中间哈希值可以将设定数量个当前哈希值进行组合生成中间哈希值,也可以通过计算设定数量个当前哈希值生成中间哈希值,本发明对基于设定数量个当前哈希值生成中间哈希值的具体方法不做限定。进一步地,可以将中间哈希值作为交易执行区块链上链操作,并分别从区块链获取针对该交易返回的第二哈希值;循环该步骤,获取各个层级的第二哈希值。其中,设定数量为大于2的整数,例如,3、4、10、100、1000,设定数量用于设定多叉树结构的分叉数量,设定数量可以根据业务的场景或者文件压缩包的数量而确定本发明对设定数量的具体数值不做限定。Specifically, according to the first hash value corresponding to each file compression package formed in step S101, an intermediate hash value is generated based on the selected set number of current hash values, and the blockchain is executed on the intermediate hash value. On-chain operation, and obtain the corresponding second hash value from the blockchain; specifically, based on the selected set number of current hash values to generate intermediate hash values, the set number of current hash values can be combined To generate the intermediate hash value, the intermediate hash value can also be generated by calculating a set number of current hash values. The present invention does not limit the specific method for generating the intermediate hash value based on the set number of current hash values. Further, the intermediate hash value can be used as a transaction to perform the blockchain on-chain operation, and the second hash value returned for the transaction can be obtained from the blockchain respectively; this step is repeated to obtain the second hash value of each level. . Among them, the set number is an integer greater than 2, for example, 3, 4, 10, 100, 1000, the set number is used to set the number of forks of the multi-tree structure, and the set number can be based on business scenarios or file compression The specific value of the set number is not limited in the present invention.

在循环过程中,将所述第一哈希值、第二哈希值作为当前哈希值;可以理解的是,根据上述描述,经过循环获取各个层级的哈希值,直到获取唯一的根哈希值(即,直至所述当前哈希值的数量为1),分别对所述第一哈希值、第二哈希值(当前哈希值)执行区块链上链,形成一个多叉树(设定数量分叉树)的哈希值存储结构。通过上述方法,提高了获取文件的复杂度,从而提高了文件的安全性。In the loop process, the first hash value and the second hash value are used as the current hash value; it can be understood that, according to the above description, the hash values of each level are obtained through the loop until the unique root hash value is obtained. Hash value (that is, until the number of the current hash value is 1), perform blockchain on-chain on the first hash value and the second hash value (current hash value) respectively, forming a multi-fork The hash value storage structure of a tree (a set number of forked trees). Through the above method, the complexity of acquiring the file is improved, thereby improving the security of the file.

下面举例说明,例如:文件压缩包哈希值的数量为99,对应形成99个第一哈希值;设定数量为5;则将所述第一哈希值作为当前哈希值,循环执行以下操作,直至所述当前哈希值的数量为1:即,将99个第一哈希值作为当前哈希值循环执行以下操作:从99个哈希值中,分别选择设定数量个(例如:5个)当前哈希值,并基于选择出的设定数量个(例如:5)当前哈希值生成中间哈希值,对所述中间哈希值执行区块链上链操作执行区块链上链操作,并从区块链获取对应的第二哈希值;可以理解的是,将99个第一哈希值,分别选择5个当前哈希值,并根据选择的5个哈希值生成中间哈希值,对所述中间哈希值执行区块链上链操作,并从区块链获取对应的第二哈希值,通过上述操作,可知获取到19个第二哈希值;进一步地,基于99个第一哈希值中的95(19*5)个对哈希值获取到19个第二哈希值,可以理解的是,因为设定数量为5,还有4个未被选择,且未被选择过的所述当前哈希值的数量小于所述设定数量(例如:5个)时,则基于这4个第一哈希值生成中间哈希值,对中间哈希值执行区块链上链操作,并从区块链获取对应的第二哈希值;即,当存在未被选择过的所述当前哈希值、且未被选择过的所述当前哈希值的数量小于所述设定数量时,基于未被选择过的所述当前哈希值生成中间哈希值,对所述中间哈希值执行区块链上链操作,并从区块链获取对应的第二哈希值。An example is given below, for example: the number of hash values of the file compressed package is 99, corresponding to 99 first hash values; the set number is 5; then the first hash value is used as the current hash value, and the cycle is executed The following operations are performed until the number of the current hash value is 1: that is, the 99 first hash values are used as the current hash value and the following operations are performed cyclically: from the 99 hash values, a set number of ( For example: 5) current hash values, and based on the selected set number (for example: 5) current hash values, an intermediate hash value is generated, and the blockchain on-chain operation execution area is performed on the intermediate hash value. The block chain is operated on the chain, and the corresponding second hash value is obtained from the block chain; it is understandable that 5 current hash values are selected from the 99 first hash values, and according to the selected 5 hash values Generate an intermediate hash value from the hash value, perform the blockchain on-chain operation on the intermediate hash value, and obtain the corresponding second hash value from the blockchain. Through the above operation, it can be known that 19 second hash values are obtained. value; further, 19 second hash values are obtained based on 95 (19*5) pairs of hash values among the 99 first hash values, it is understandable that since the set number is 5, there are also When 4 are not selected, and the number of the current hash values that have not been selected is less than the set number (for example: 5), then an intermediate hash value is generated based on the 4 first hash values, Perform the blockchain on-chain operation on the intermediate hash value, and obtain the corresponding second hash value from the blockchain; that is, when there is the current hash value that has not been selected, and the When the number of the current hash values is less than the set number, an intermediate hash value is generated based on the current hash value that has not been selected, and the blockchain on-chain operation is performed on the intermediate hash value, and the The blockchain obtains the corresponding second hash value.

基于上述示例步骤可知,99个第一哈希值获取到20个第二哈希值,进一步地,将这20个第二哈希值作为当前哈希值,循环执行上述步骤,进一步地,类似地可知,20个当前哈希值中,分别选择5个(设定数量)生成中间哈希值,对所述中间哈希值执行区块链上链操作,并从区块链获取对应的下一层级的第二哈希值,获取到4个第二哈希值(当前哈希值);再进一步地,获取到1个第二哈希值,即,直至所述当前哈希值的数量为1;循环执行的操作停止。即,将所述第一哈希值作为当前哈希值,循环执行以下操作,直至所述当前哈希值的数量为1:从所述至少三个当前哈希值中,分别选择设定数量个当前哈希值,基于选择出的设定数量个当前哈希值生成中间哈希值,对所述中间哈希值执行区块链上链操作,并从区块链获取对应的第二哈希值;当存在未被选择过的所述当前哈希值、且未被选择过的所述当前哈希值的数量小于所述设定数量时,基于未被选择过的所述当前哈希值生成中间哈希值,对所述中间哈希值执行区块链上链操作,并从区块链获取对应的第二哈希值;将所述第二哈希值作为所述当前哈希值;所述设定数量为大于2的整数。Based on the above example steps, it can be seen that 20 second hash values are obtained from 99 first hash values. Further, the 20 second hash values are used as the current hash value, and the above steps are executed cyclically. Further, similar to It can be known that among the 20 current hash values, 5 (set number) are selected to generate intermediate hash values, the blockchain up-chain operation is performed on the intermediate hash values, and the corresponding down-links are obtained from the blockchain. For the second hash value of one level, four second hash values (current hash values) are obtained; further, one second hash value is obtained, that is, up to the number of the current hash values is 1; cyclic execution stops. That is, the first hash value is taken as the current hash value, and the following operations are performed cyclically until the number of the current hash values is 1: from the at least three current hash values, respectively select a set number of a current hash value, generate an intermediate hash value based on the selected set number of current hash values, perform a blockchain on-chain operation on the intermediate hash value, and obtain the corresponding second hash value from the blockchain Value; when there is the current hash value that has not been selected, and the number of the current hash value that has not been selected is less than the set number, based on the current hash value that has not been selected value to generate an intermediate hash value, perform a blockchain on-chain operation on the intermediate hash value, and obtain a corresponding second hash value from the blockchain; use the second hash value as the current hash value value; the set number is an integer greater than 2.

可以理解的是,根据上述描述,经过循环操作获取哈希值的操作,直到获取唯一的根哈希值,形成一个多叉树的哈希值存储结构。通过上述方法,提高了获取文件的复杂度,从而提高了文件的安全性。获取根哈希值方法的进一步描述与图3中所示的示例的步骤S301-步骤S303一致;在此不再赘述。It can be understood that, according to the above description, the operation of obtaining a hash value through a loop operation until a unique root hash value is obtained, forming a hash value storage structure of a multi-fork tree. Through the above method, the complexity of acquiring the file is improved, thereby improving the security of the file. The further description of the method for obtaining the root hash value is consistent with steps S301 to S303 of the example shown in FIG. 3 ; details are not repeated here.

步骤S103:将所述当前哈希值作为根哈希值,并发送所述哈希值。Step S103: Use the current hash value as the root hash value, and send the hash value.

具体地,根据步骤S102描述的多叉树(即设定数量分叉树)的存储结构,经过循环,获取根哈希值并发送所述根哈希值;进一步地,下面以图5的示意图说明上述步骤,如图5所示,若设定数量为N;且每一个圆圈中的数字代表各个层级的当前哈希值的标识,假设在获取到根哈希值之前,每个层级的当前哈希值数量均不小于设定数量,分别选择设定数量N个当前哈希值,并根据选择出的设定数量个所述当前哈希值,分别生成中间哈希值,对所述中间哈希值执行区块链上链操作,并从区块链获取对应的多个第二哈希值;循环执行上述操作,经过M个层级以后,当前哈希值的数量为1,即获取根哈希值;进一步地,发送所述根哈希值有两种方法:1)通过区块链发送所述根哈希值给有获取共享文件权限的获取方;2)通过其他方式发送所述根哈希值给有获取共享文件权限的获取方,例如:官方电子邮件等;可以理解的是,将所述根哈希值发送给有获取共享文件权限的获取方,所述有权限的获取方可以是一方或者多方;例如:所述文件为银行A和银行B在预定义时间范围内产生的对账单;在步骤S101-步骤S103之后产生了根哈希值,则将所述根哈希值发送给对这些对账单文件有获取权限的银行A和银行B;显而易见地是,利用该操作进一步提高了文件的安全性。Specifically, according to the storage structure of the multi-fork tree (that is, the set number of fork trees) described in step S102, after circulation, the root hash value is obtained and the root hash value is sent; further, the schematic diagram of FIG. 5 is used below. Explain the above steps, as shown in Figure 5, if the set number is N; and the number in each circle represents the identifier of the current hash value of each level, assuming that before the root hash value is obtained, the current hash value of each level is The number of hash values is not less than the set number, and the set number N of current hash values are respectively selected, and according to the selected set number of the current hash values, intermediate hash values are respectively generated, and the intermediate hash values are respectively generated. The hash value performs the blockchain on-chain operation, and obtains a plurality of corresponding second hash values from the blockchain; the above operations are performed cyclically, after M levels, the current number of hash values is 1, that is, the root is obtained. Hash value; further, there are two methods for sending the root hash value: 1) sending the root hash value through the blockchain to the acquirer who has the permission to obtain the shared file; 2) sending the root hash value by other means The root hash value is given to the acquirer who has the permission to acquire the shared file, such as official email, etc. It is understandable that the root hash value is sent to the acquirer who has the permission to acquire the shared file, and the The party can be one or more parties; for example: the document is a statement generated by bank A and bank B within a predefined time range; after step S101-step S103, the root hash value is generated, then the root hash value is generated. The values are sent to Bank A and Bank B who have access to these statement files; obviously, using this operation further increases the security of the files.

如图2所示,本发明实施例提供了一种获取共享文件的方法,该方法可以包括以下步骤:As shown in FIG. 2, an embodiment of the present invention provides a method for acquiring a shared file, and the method may include the following steps:

步骤S201:接收当前哈希值;循环执行以下步骤,直至获取到所述当前哈希值所对应的文件压缩包;确定所述区块链上存在与所述当前哈希值相同的文件压缩包哈希值,如果是,执行A1;否则执行A2;A1:从所述区块链上获取所述当前哈希值所对应的文件压缩包;A2:确定所述当前哈希值对应的各个下级哈希值,并将所述下级哈希值作为所述当前哈希值。Step S201: Receive the current hash value; perform the following steps in a loop until the file compressed package corresponding to the current hash value is obtained; determine that a file compressed package that is the same as the current hash value exists on the blockchain Hash value, if yes, execute A1; otherwise, execute A2; A1: Obtain the file compressed package corresponding to the current hash value from the blockchain; A2: Determine each subordinate corresponding to the current hash value hash value, and use the lower-level hash value as the current hash value.

具体地,根据所述根哈希值,从区块链上获取所述文件压缩包哈希值对应的文件压缩包中文件的方法的描述与步骤S401-步骤S403所描述的示例一致,在此不再赘述。Specifically, according to the root hash value, the description of the method for obtaining the file in the file compression package corresponding to the file compression package hash value from the blockchain is consistent with the example described in steps S401-S403, here No longer.

如图3所示,本发明实施例提供了一种利用多叉树结构存储共享文件以及哈希值的方法,该方法可以包括以下步骤:As shown in FIG. 3 , an embodiment of the present invention provides a method for storing a shared file and a hash value by using a multi-tree structure, and the method may include the following steps:

步骤S301:获取各个文件压缩包对应的第一哈希值。Step S301: Obtain a first hash value corresponding to each file compression package.

具体地,关于生成文件压缩包以及获取对应的第一哈希值的描述与步骤S101一致,在此不再赘述。如图3所示的示例中,包含10个文件压缩包,可以理解的是,文件压缩包的数量可以是数十、数百、数万、数十万、数百万、数千万等;为了具体说明步骤S301-步骤S303,本示例采用设定数量为4作为示例,即为4叉树结构;根据文件压缩包1-10,分别获取到第一哈希值1-10。Specifically, the description about generating the file compressed package and obtaining the corresponding first hash value is consistent with step S101, and details are not repeated here. In the example shown in Figure 3, 10 file compression packages are included. It can be understood that the number of file compression packages can be tens, hundreds, tens of thousands, hundreds of thousands, millions, tens of millions, etc.; In order to specifically describe steps S301 to S303, this example uses a set number of 4 as an example, that is, a 4-ary tree structure; according to the file compressed packages 1-10, the first hash values 1-10 are obtained respectively.

步骤S302-步骤S303:获取第二哈希值。Step S302-Step S303: Obtain the second hash value.

具体地,步骤S302-步骤S303的示例描述了循环执行的获取第二哈希值(当前哈希值)的操作;具体地,为了说明,如图3所示,利用3个示例层级描述第二哈希值,分别为层级1、层级2、层级3;如图3所示,示例中包含10个第一哈希值;设定数量为4,则将所述第一哈希值作为当前哈希值,循环执行以下操作,直至所述当前哈希值的数量为1;从10个第一哈希值中,分别选择4个第一哈希值,并基于这4个第一哈希值生成中间哈希值,对所述中间哈希值执行区块链上链操作,并从区块链获取对应的第二哈希值;例如,基于第一哈希值1-4,获取到第二哈希值1,基于第一哈希值5-8,获取到第二哈希值2;第一哈希值9、第一哈希值10(10个里面减掉2组,每组4个,余数为2)为未被选择过的所述当前哈希值,且未被选择过的所述当前哈希值的数量小于所述设定数量时,2<4,则基于这2个第一哈希值(第一哈希值9、第一哈希值10)获取对应的第二哈希值3;即,将所述第一哈希值作为当前哈希值,循环执行以下操作,直至所述当前哈希值的数量为1:从所述至少三个当前哈希值中,分别选择设定数量个当前哈希值,基于选择出的设定数量个当前哈希值生成中间哈希值,对所述中间哈希值执行区块链上链操作,并从区块链获取对应的第二哈希值;当存在未被选择过的所述当前哈希值、且未被选择过的所述当前哈希值的数量小于所述设定数量时,基于未被选择过的所述当前哈希值生成中间哈希值,对所述中间哈希值执行区块链上链操作,并从区块链获取对应的第二哈希值;将所述第二哈希值作为所述当前哈希值;所述设定数量为大于2的整数。Specifically, the example of step S302-step S303 describes the cyclically executed operation of obtaining the second hash value (current hash value); specifically, for the sake of illustration, as shown in FIG. The hash values are level 1, level 2, and level 3 respectively; as shown in Figure 3, the example contains 10 first hash values; if the number is set to 4, the first hash value is used as the current hash value. Hash value, perform the following operations in a loop until the number of the current hash value is 1; from the 10 first hash values, select 4 first hash values respectively, and based on these 4 first hash values Generate an intermediate hash value, perform a blockchain on-chain operation on the intermediate hash value, and obtain a corresponding second hash value from the blockchain; for example, based on the first hash value 1-4, obtain the first hash value. Second hash value 1, based on the first hash value 5-8, the second hash value 2 is obtained; the first hash value 9, the first hash value 10 (10 minus 2 groups, each group 4 number, the remainder is 2) is the current hash value that has not been selected, and the number of the current hash value that has not been selected is less than the set number, 2<4, then based on the two The first hash value (the first hash value 9, the first hash value 10) obtains the corresponding second hash value 3; that is, the first hash value is used as the current hash value, and the following operations are performed cyclically , until the number of the current hash values is 1: from the at least three current hash values, select a set number of current hash values respectively, and generate an intermediate hash value based on the selected set number of current hash values. Hash value, perform the blockchain on-chain operation on the intermediate hash value, and obtain the corresponding second hash value from the blockchain; when there is the current hash value that has not been selected and has not been selected When the number of the selected current hash values is less than the set number, generate an intermediate hash value based on the unselected current hash value, and perform blockchain on-chain on the intermediate hash value operation, and obtain the corresponding second hash value from the blockchain; use the second hash value as the current hash value; the set number is an integer greater than 2.

步骤S303:获取根哈希值。Step S303: Obtain the root hash value.

具体地,根据步骤S302的步骤可知示例,层级2中包含3个第二哈希值,将所述第二哈希值作为所述当前哈希值;进一步执行步骤S302的操作,获取层级3的第二哈希值;因为该第二哈希值(当前哈希值)的数量为1,将所述当前哈希值作为根哈希值;可以理解的是,设定数量多叉树的层级由文件压缩包哈希值(第一哈希值)的数量的确定;而文件压缩包哈希值的数量根据产生的业务相关的文件数量相关,本发明对设定数量、文件压缩包哈希值(第一哈希值)的数量不做限定。Specifically, according to the steps of step S302, it can be seen that there are three second hash values in level 2, and the second hash values are used as the current hash value; and the operation of step S302 is further performed to obtain the The second hash value; because the number of the second hash value (current hash value) is 1, the current hash value is used as the root hash value; it can be understood that the number of levels of the multi-fork tree is set Determined by the number of file compression package hash values (first hash value); and the number of file compression package hash values is related to the number of files related to the generated business. The number of values (first hash values) is not limited.

如图4所示,本发明实施例提供了一种基于多叉树结构的哈希值获取共享文件的方法,该方法可以包括以下步骤:As shown in FIG. 4 , an embodiment of the present invention provides a method for obtaining a shared file based on a hash value of a multi-tree structure, and the method may include the following steps:

以下步骤S401-步骤S403以步骤S301-步骤S303所描述的示例为例说明基于多叉树结构的哈希值获取共享文件的方法;The following steps S401-step S403 take the example described in steps S301-step S303 as an example to illustrate the method for obtaining a shared file based on a hash value of a multi-tree structure;

步骤S401:根据当前哈希值(根哈希值)。Step S401: According to the current hash value (root hash value).

具体地,接收当前哈希值;确定所述区块链上存在与所述当前哈希值相同的文件压缩包哈希值;如图4所示,确定所述区块链上不存在与所述当前哈希值相同的文件压缩包哈希值,即所述当前哈希值不是文件压缩包的哈希值,则确定所述当前哈希值对应的设定数量个下级哈希值,并将所述下级哈希值作为所述当前哈希值;当前哈希值的下级哈希值分别为下级哈希值1、下级哈希值2、下级哈希值3;并将所述下级哈希值作为所述当前哈希值。Specifically, the current hash value is received; it is determined that a file compression package hash value that is the same as the current hash value exists on the blockchain; as shown in FIG. 4 , it is determined that the blockchain does not exist on the blockchain. The hash value of the file compressed package with the same current hash value, that is, the current hash value is not the hash value of the file compressed package, then determine the set number of lower-level hash values corresponding to the current hash value, and Take the lower-level hash value as the current hash value; the lower-level hash values of the current hash value are respectively lower-level hash value 1, lower-level hash value 2, and lower-level hash value 3; Hash value as the current hash value.

步骤S402-步骤S403:循环执行获取下级哈希值。Step S402-Step S403: Circularly execute the acquisition of the lower-level hash value.

下面通过步骤S402-步骤S403描述根哈希值以下的各层哈希值遍历并获取文件压缩包过程的示例;具体地,如图4所示,接收当前哈希值(下级哈希值1、下级哈希值2、下级哈希值3);确定所述区块链上不存在与所述当前哈希值(下级哈希值1、下级哈希值2、下级哈希值3)相同的文件压缩包哈希值;则确定所述当前哈希值对应的各个下级哈希值,并将所述下级哈希值作为所述当前哈希值,例如:确定下级哈希值1对应的各个子哈希值为下级哈希值1-下级哈希值4;确定下级哈希值2对应的各个子哈希值为下级哈希值5-下级哈希值8;确定下级哈希值3对应的各个子哈希值为下级哈希值9、下级哈希值10;进一步地,确定所述区块链上存在与所述当前哈希值(下级哈希值1-下级哈希值10)相同的文件压缩包哈希值;则从所述区块链上获取所述当前哈希值所对应的文件压缩包;分别为文件压缩包1-文件压缩包10。即,接收当前哈希值;循环执行以下步骤,直至获取到所述当前哈希值所对应的文件压缩包;确定所述区块链上存在与所述当前哈希值相同的文件压缩包哈希值,如果是,执行A1;否则执行A2;A1:从所述区块链上获取所述当前哈希值所对应的文件压缩包;A2:确定所述当前哈希值对应的各个下级哈希值,并将所述下级哈希值作为所述当前哈希值。The following describes an example of the process of traversing the hash values of each layer below the root hash value and obtaining the file compressed package through steps S402-step S403; specifically, as shown in FIG. Lower-level hash value 2, lower-level hash value 3); determine that there is no same hash value (lower-level hash value 1, lower-level hash value 2, lower-level hash value 3) with the current hash value (lower-level hash value 1, lower-level hash value 3) on the blockchain file compression package hash value; then determine each subordinate hash value corresponding to the current hash value, and use the subordinate hash value as the current hash value, for example: determine each subordinate hash value corresponding to 1 The sub-hash value is sub-hash value 1-sub-hash value 4; determine that each sub-hash value corresponding to sub-hash value 2 is sub-hash value 5-sub-hash value 8; determine that sub-hash value 3 corresponds to Each sub-hash value of the lower-level hash value is 9 and the lower-level hash value is 10; The same file compression package hash value; the file compression package corresponding to the current hash value is obtained from the blockchain; respectively, the file compression package 1-file compression package 10. That is, receive the current hash value; cyclically execute the following steps until the file compressed package corresponding to the current hash value is obtained; determine that there is a file compressed package that is the same as the current hash value on the blockchain If yes, execute A1; otherwise, execute A2; A1: Obtain the file compressed package corresponding to the current hash value from the blockchain; A2: Determine each subordinate hash value corresponding to the current hash value Hash value, and use the lower-level hash value as the current hash value.

进一步地,获取到所述当前哈希值所对应的文件压缩包,包括:获取所述当前哈希值所对应文件压缩包,对所述文件压缩包执行解压和解密操作,获取文件压缩包中的文件;具体地对每个获取到的文件压缩包,执行解压和解密操作,解压和解密的方法与压缩和加密的方法相互对应。Further, obtaining the file compressed package corresponding to the current hash value includes: obtaining the file compressed package corresponding to the current hash value, performing decompression and decryption operations on the file compressed package, and obtaining the compressed file in the file compressed package. Specifically, for each obtained file compressed package, decompression and decryption operations are performed, and the decompression and decryption methods correspond to the compression and encryption methods.

可以理解的是,设置数量个分叉树的层级由文件压缩包哈希值的数量、设置数量确定;而文件压缩包哈希值的数量根据产生的业务相关的文件数量相关,本发明对设置数量、文件压缩包哈希值的数量不做限定。It can be understood that the level of the set number of fork trees is determined by the number of hash values of the file compressed package and the number of settings; and the number of hash values of the file compressed package is related to the number of files related to the generated business. The number and the number of hash values of file archives are not limited.

如图6所示,本发明实施例提供了一种共享文件的流程,该流程包括以下步骤:As shown in FIG. 6 , an embodiment of the present invention provides a process for sharing files, and the process includes the following steps:

如图6所示的示意流程,利用步骤S601-步骤S603描述共享文件上链的过程;利用步骤S604-步骤S605描述共享文件获取方获取共享文件的过程;例如,执行共享文件上链的可以是银行总部,共享文件获取方可以是在业务上与共享文件直接相关的企业,例如:银行1、银行2、银行3等。As shown in Fig. 6 , the process of uploading the shared file on the chain is described using steps S601-S603; the process of obtaining the shared file by the shared file acquirer is described using steps S604-step S605; At the bank headquarters, the acquirer of the shared file may be an enterprise directly related to the shared file in business, for example: Bank 1, Bank 2, Bank 3, etc.

步骤S601:获取待共享的文件,形成多个文件压缩包。Step S601: Acquire files to be shared, and form multiple file compression packages.

对所述文件压缩包执行区块链上链操作,并从区块链获取所述文件压缩包对应的至少三个第一哈希值描述与步骤S101一致,在此不再赘述。进一步地,获取待共享的文件,形成多个文件压缩包,包括:获取预定义时间范围内待共享的文件,形成至少三个文件包,根据网络带宽,确定所述文件包中文件的数量。进一步地,分别对所述文件包执行压缩和加密操作,形成所述文件压缩包。对所述文件压缩包执行区块链并发上链操作。Performing a blockchain on-chain operation on the file compressed package, and obtaining at least three first hash value descriptions corresponding to the file compressed package from the blockchain is consistent with step S101, and will not be repeated here. Further, acquiring files to be shared to form multiple file compression packages includes: acquiring files to be shared within a predefined time range, forming at least three file packages, and determining the number of files in the file packages according to network bandwidth. Further, compression and encryption operations are respectively performed on the file package to form the file compression package. A concurrent blockchain uploading operation is performed on the file compressed package.

步骤S602:将所述第一哈希值作为当前哈希值,循环执行以下操作,直至所述当前哈希值的数量为1:从所述至少三个当前哈希值中,分别选择设定数量个当前哈希值,基于选择出的设定数量个当前哈希值生成中间哈希值,对所述中间哈希值执行区块链上链操作,并从区块链获取对应的第二哈希值;当存在未被选择过的所述当前哈希值、且未被选择过的所述当前哈希值的数量小于所述设定数量时,基于未被选择过的所述当前哈希值生成中间哈希值,对所述中间哈希值执行区块链上链操作,并从区块链获取对应的第二哈希值;将所述第二哈希值作为所述当前哈希值;所述设定数量为大于2的整数。Step S602: Take the first hash value as the current hash value, and perform the following operations cyclically until the number of the current hash values is 1: from the at least three current hash values, select and set respectively A number of current hash values, an intermediate hash value is generated based on the selected set number of current hash values, the blockchain on-chain operation is performed on the intermediate hash value, and the corresponding second hash value is obtained from the blockchain. Hash value; when there is the current hash value that has not been selected and the number of the current hash value that has not been selected is less than the set number, based on the current hash value that has not been selected Generate an intermediate hash value from the hash value, perform a blockchain on-chain operation on the intermediate hash value, and obtain a corresponding second hash value from the blockchain; use the second hash value as the current hash value. Greek value; the set number is an integer greater than 2.

具体地,关于经过循环获取根哈希值的描述与步骤S102一致,在此不再赘述。Specifically, the description about obtaining the root hash value through circulation is consistent with step S102, and details are not repeated here.

步骤S603:将所述当前哈希值作为根哈希值,并发送所述哈希值。Step S603: Use the current hash value as the root hash value, and send the hash value.

具体地,关于发送根哈希值的描述与步骤S103一致,在此不再赘述。Specifically, the description about sending the root hash value is consistent with step S103, and details are not repeated here.

步骤S604:接收当前哈希值;循环执行以下步骤,直至获取到所述当前哈希值所对应的文件压缩包;确定所述区块链上存在与所述当前哈希值相同的文件压缩包哈希值,如果是,执行A1;否则执行A2;A1:从所述区块链上获取所述当前哈希值所对应的文件压缩包;A2:确定所述当前哈希值对应的各个下级哈希值,并将所述下级哈希值作为所述当前哈希值。Step S604: Receive the current hash value; perform the following steps in a loop until the file compressed package corresponding to the current hash value is obtained; determine that a file compressed package with the same current hash value exists on the blockchain Hash value, if yes, execute A1; otherwise, execute A2; A1: Obtain the file compressed package corresponding to the current hash value from the blockchain; A2: Determine each subordinate corresponding to the current hash value hash value, and use the lower-level hash value as the current hash value.

具体地,关于根据根哈希值,获取所述根哈希值对应的各个下级哈希值的描述与步骤S201一致,在此不再赘述;进一步地,获取到所述当前哈希值所对应的文件压缩包,包括:获取所述当前哈希值所对应文件压缩包,对所述文件压缩包执行解压和解密操作,获取文件压缩包中的文件。Specifically, the description about obtaining each subordinate hash value corresponding to the root hash value according to the root hash value is consistent with step S201, and will not be repeated here; further, obtaining the corresponding hash value of the current hash value The file compression package includes: obtaining the file compression package corresponding to the current hash value, performing decompression and decryption operations on the file compression package, and obtaining the files in the file compression package.

如图7所示,本发明实施例提供了一种共享文件的装置700,包括:文件压缩包上链模块701、节点哈希值获取模块702和根哈希值获取模块703;其中,As shown in FIG. 7, an embodiment of the present invention provides an apparatus 700 for sharing files, including: a file compressed package uploading module 701, a node hash value obtaining module 702, and a root hash value obtaining module 703; wherein,

所述文件压缩包上链模块701,用于获取待共享的文件,形成多个文件压缩包;对所述文件压缩包执行区块链上链操作,并从区块链获取所述文件压缩包对应的至少三个第一哈希值;The file compression package uploading module 701 is used to obtain files to be shared to form multiple file compression packages; perform blockchain chaining operation on the file compression package, and obtain the file compression package from the blockchain corresponding at least three first hash values;

所述上级哈希值获取模块702,用于将所述第一哈希值作为当前哈希值,循环执行以下操作,直至所述当前哈希值的数量为1:从所述至少三个当前哈希值中,分别选择设定数量个当前哈希值,基于选择出的设定数量个当前哈希值生成中间哈希值,对所述中间哈希值执行区块链上链操作,并从区块链获取对应的第二哈希值;当存在未被选择过的所述当前哈希值、且未被选择过的所述当前哈希值的数量小于所述设定数量时,基于未被选择过的所述当前哈希值生成中间哈希值,对所述中间哈希值执行区块链上链操作,并从区块链获取对应的第二哈希值;将所述第二哈希值作为所述当前哈希值;所述设定数量为大于2的整数;The upper-level hash value obtaining module 702 is configured to use the first hash value as the current hash value, and perform the following operations cyclically until the number of the current hash values is 1: from the at least three current hash values Among the hash values, a set number of current hash values are respectively selected, an intermediate hash value is generated based on the selected set number of current hash values, the blockchain on-chain operation is performed on the intermediate hash values, and Obtain the corresponding second hash value from the blockchain; when there is the current hash value that has not been selected, and the number of the current hash value that has not been selected is less than the set number, based on The current hash value that has not been selected generates an intermediate hash value, performs a blockchain on-chain operation on the intermediate hash value, and obtains a corresponding second hash value from the blockchain; Two hash values are used as the current hash value; the set number is an integer greater than 2;

所述根哈希值获取模块703,用于将所述当前哈希值作为根哈希值,并发送所述哈希值。The root hash value obtaining module 703 is configured to use the current hash value as the root hash value and send the hash value.

可选地,所述文件压缩包上链模块701,还用于获取待共享的文件,形成多个文件压缩包,包括:获取预定义时间范围内待共享的文件,形成至少三个文件包,根据网络带宽,确定所述文件包中文件的数量。Optionally, the file compression package on-chain module 701 is further configured to acquire files to be shared and form multiple file compression packages, including: acquiring files to be shared within a predefined time range to form at least three file packages, Determine the number of files in the file package according to the network bandwidth.

可选地,所述文件压缩包上链模块701,还用于分别对所述文件包执行压缩和加密操作,形成所述文件压缩包。Optionally, the file compression package uploading module 701 is further configured to perform compression and encryption operations on the file package respectively to form the file compression package.

可选地,所述文件压缩包上链模块701,还用于对所述文件压缩包执行区块链并发上链操作。Optionally, the file compressed package on-chain module 701 is further configured to perform a blockchain concurrent on-chain operation on the file compressed package.

如图8所示,本发明实施例提供了一种共享文件的装置800,包括:获取链上文件模块801;其中,As shown in FIG. 8 , an embodiment of the present invention provides an apparatus 800 for sharing files, including: a module 801 for obtaining on-chain files; wherein,

所述获取链上文件模块801,用于接收当前哈希值;循环执行以下步骤,直至获取到所述当前哈希值所对应的文件压缩包;确定所述区块链上存在与所述当前哈希值相同的文件压缩包哈希值,如果是,执行A1;否则执行A2;A1:从所述区块链上获取所述当前哈希值所对应的文件压缩包;A2:确定所述当前哈希值对应的各个下级哈希值,并将所述下级哈希值作为所述当前哈希值。The on-chain file acquisition module 801 is configured to receive the current hash value; cyclically execute the following steps until a file compressed package corresponding to the current hash value is acquired; The hash value of the file compressed package with the same hash value, if yes, execute A1; otherwise, execute A2; A1: obtain the file compressed package corresponding to the current hash value from the blockchain; A2: determine the each lower-level hash value corresponding to the current hash value, and the lower-level hash value is used as the current hash value.

可选地,所述获取链上文件模块801,还用于获取到所述当前哈希值所对应的文件压缩包,包括:获取所述当前哈希值所对应文件压缩包,对所述文件压缩包执行解压和解密操作,获取文件压缩包中的文件。Optionally, the obtaining on-chain file module 801 is further configured to obtain the file compressed package corresponding to the current hash value, including: obtaining the file compressed package corresponding to the current hash value, The compressed package performs decompression and decryption operations to obtain the files in the file compressed package.

本发明实施例还提供了一种共享文件的电子设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现上述任一实施例提供的方法。An embodiment of the present invention also provides an electronic device for sharing files, including: one or more processors; and a storage device for storing one or more programs, when the one or more programs are stored by the one or more programs Each processor executes, so that the one or more processors implement the method provided by any one of the foregoing embodiments.

本发明实施例还提供了一种计算机可读介质,其上存储有计算机程序,所述程序被处理器执行时实现上述任一实施例提供的方法。An embodiment of the present invention further provides a computer-readable medium, on which a computer program is stored, and when the program is executed by a processor, implements the method provided by any of the foregoing embodiments.

图10示出了可以应用本发明实施例的共享文件的方法或共享文件的装置的示例性系统架构1000。FIG. 10 shows an exemplary system architecture 1000 of a method for sharing a file or an apparatus for sharing a file to which an embodiment of the present invention can be applied.

如图10所示,系统架构1000可以包括终端设备1001、1002、1003,网络1004和服务器1005。网络1004用以在终端设备1001、1002、1003和服务器1005之间提供通信链路的介质。网络1004可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。As shown in FIG. 10 , the system architecture 1000 may include terminal devices 1001 , 1002 , and 1003 , a network 1004 and a server 1005 . The network 1004 is a medium used to provide a communication link between the terminal devices 1001 , 1002 , 1003 and the server 1005 . The network 1004 may include various connection types, such as wired, wireless communication links, or fiber optic cables, among others.

用户可以使用终端设备1001、1002、1003通过网络1004与服务器1005交互,以接收或发送消息等。终端设备1001、1002、1003上可以安装有各种客户端应用,例如企业应用客户端、网页浏览器应用、搜索类应用、即时通信工具和邮箱客户端等。The user can use the terminal devices 1001, 1002, 1003 to interact with the server 1005 through the network 1004 to receive or send messages and the like. Various client applications may be installed on the terminal devices 1001 , 1002 and 1003 , such as enterprise application clients, web browser applications, search applications, instant messaging tools, and email clients.

终端设备1001、1002、1003可以是具有显示屏并且支持运行各种客户端应用的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。The terminal devices 1001, 1002, 1003 may be various electronic devices having a display screen and supporting the running of various client applications, including but not limited to smart phones, tablet computers, laptops and desktop computers, and the like.

服务器1005可以是提供各种服务的服务器,例如对用户利用终端设备1001、1002、1003所提出的获取文件的请求提供支持的后台管理服务器。后台管理服务器可以将待共享文件执行上链和存储,针对提出的获取文件的请求进行处理,并将文件返回给终端设备。The server 1005 may be a server that provides various services, for example, a background management server that provides support for the user's request for obtaining files by using the terminal devices 1001 , 1002 , and 1003 . The background management server can upload and store the file to be shared, process the request for obtaining the file, and return the file to the terminal device.

需要说明的是,本发明实施例所提供的共享文件的方法一般由服务器1005执行,相应地,共享文件的装置一般设置于服务器1005中。It should be noted that the method for sharing files provided in the embodiments of the present invention is generally executed by the server 1005 , and accordingly, the apparatus for sharing files is generally set in the server 1005 .

应该理解,图10中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。It should be understood that the numbers of terminal devices, networks and servers in FIG. 10 are only illustrative. There can be any number of terminal devices, networks and servers according to implementation needs.

下面参考图11,其示出了适于用来实现本发明实施例的终端设备的计算机系统1100的结构示意图。图11示出的终端设备仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。Referring to FIG. 11 below, it shows a schematic structural diagram of a computer system 1100 suitable for implementing a terminal device according to an embodiment of the present invention. The terminal device shown in FIG. 11 is only an example, and should not impose any limitations on the functions and scope of use of the embodiments of the present invention.

如图11所示,计算机系统1100包括中央处理单元(CPU)1101,其可以根据存储在只读存储器(ROM)1102中的程序或者从存储部分1108加载到随机访问存储器(RAM)1103中的程序而执行各种适当的动作和处理。在RAM 1103中,还存储有系统1100操作所需的各种程序和数据。CPU 1101、ROM 1102以及RAM 1103通过总线1104彼此相连。输入/输出(I/O)接口1105也连接至总线1104。As shown in FIG. 11, a computer system 1100 includes a central processing unit (CPU) 1101, which can be loaded into a random access memory (RAM) 1103 according to a program stored in a read only memory (ROM) 1102 or a program from a storage section 1108 Instead, various appropriate actions and processes are performed. In the RAM 1103, various programs and data necessary for the operation of the system 1100 are also stored. The CPU 1101 , the ROM 1102 , and the RAM 1103 are connected to each other through a bus 1104 . An input/output (I/O) interface 1105 is also connected to the bus 1104 .

以下部件连接至I/O接口1105:包括键盘、鼠标等的输入部分1106;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分1107;包括硬盘等的存储部分1108;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分1109。通信部分1109经由诸如因特网的网络执行通信处理。驱动器1110也根据需要连接至I/O接口1105。可拆卸介质1111,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器1110上,以便于从其上读出的计算机程序根据需要被安装入存储部分1108。The following components are connected to the I/O interface 1105: an input section 1106 including a keyboard, a mouse, etc.; an output section 1107 including a cathode ray tube (CRT), a liquid crystal display (LCD), etc., and a speaker, etc.; a storage section 1108 including a hard disk, etc. ; and a communication section 1109 including a network interface card such as a LAN card, a modem, and the like. The communication section 1109 performs communication processing via a network such as the Internet. Drivers 1110 are also connected to I/O interface 1105 as needed. A removable medium 1111, such as a magnetic disk, an optical disk, a magneto-optical disk, a semiconductor memory, etc., is mounted on the drive 1110 as needed so that a computer program read therefrom is installed into the storage section 1108 as needed.

特别地,根据本发明公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本发明公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分1109从网络上被下载和安装,和/或从可拆卸介质1111被安装。在该计算机程序被中央处理单元(CPU)1101执行时,执行本发明的系统中限定的上述功能。In particular, the processes described above with reference to the flowcharts may be implemented as computer software programs in accordance with the disclosed embodiments of the present invention. For example, embodiments disclosed herein include a computer program product comprising a computer program carried on a computer-readable medium, the computer program containing program code for performing the method illustrated in the flowchart. In such an embodiment, the computer program may be downloaded and installed from the network via the communication portion 1109, and/or installed from the removable medium 1111. When the computer program is executed by the central processing unit (CPU) 1101, the above-described functions defined in the system of the present invention are executed.

需要说明的是,本发明所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本发明中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本发明中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。It should be noted that the computer-readable medium shown in the present invention may be a computer-readable signal medium or a computer-readable storage medium, or any combination of the above two. The computer-readable storage medium can be, for example, but not limited to, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus or device, or a combination of any of the above. More specific examples of computer readable storage media may include, but are not limited to, electrical connections with one or more wires, portable computer disks, hard disks, random access memory (RAM), read only memory (ROM), erasable Programmable read only memory (EPROM or flash memory), fiber optics, portable compact disk read only memory (CD-ROM), optical storage devices, magnetic storage devices, or any suitable combination of the foregoing. In the present invention, a computer-readable storage medium may be any tangible medium that contains or stores a program that can be used by or in conjunction with an instruction execution system, apparatus, or device. In the present invention, however, a computer-readable signal medium may include a data signal propagated in baseband or as part of a carrier wave, carrying computer-readable program code therein. Such propagated data signals may take a variety of forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination of the foregoing. A computer-readable signal medium can also be any computer-readable medium other than a computer-readable storage medium that can transmit, propagate, or transport the program for use by or in connection with the instruction execution system, apparatus, or device . Program code embodied on a computer readable medium may be transmitted using any suitable medium including, but not limited to, wireless, wireline, optical fiber cable, RF, etc., or any suitable combination of the foregoing.

附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。The flowchart and block diagrams in the Figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods and computer program products according to various embodiments of the present invention. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of code that contains one or more logical functions for implementing the specified functions executable instructions. It should also be noted that, in some alternative implementations, the functions noted in the blocks may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It is also noted that each block of the block diagrams or flowchart illustrations, and combinations of blocks in the block diagrams or flowchart illustrations, can be implemented in special purpose hardware-based systems that perform the specified functions or operations, or can be implemented using A combination of dedicated hardware and computer instructions is implemented.

描述于本发明实施例中所涉及到的模块和/或单元可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的模块和/或单元也可以设置在处理器中,例如,可以描述为:一种处理器包括文件压缩包上链模块、节点哈希值获取模块和根哈希值获取模块;其中,这些模块的名称在某种情况下并不构成对该模块本身的限定,例如,节点哈希值获取模块还可以被描述为“对文件压缩包的第一哈希值执行区块链上链操作,并从区块链获取第二哈希值的模块”。还可以描述为:一种处理器包括获取链上文件模块;其中,这些模块的名称在某种情况下并不构成对该模块本身的限定,例如,获取链上文件模块还可以被描述为“根据根哈希值,获取区块链上的文件压缩包哈希值,根据文件压缩包哈希值获取文件压缩包所包含的文件的模块”。The modules and/or units involved in the embodiments of the present invention may be implemented in a software manner, and may also be implemented in a hardware manner. The described modules and/or units can also be provided in the processor, for example, it can be described as: a processor includes a file compression package uploading module, a node hash value obtaining module and a root hash value obtaining module; wherein, The names of these modules do not limit the module itself under certain circumstances. For example, the node hash value acquisition module can also be described as "performing the blockchain on-chain operation on the first hash value of the file compressed package. , and a module that gets the second hash from the blockchain". It can also be described as: a processor includes a module for obtaining files on the chain; wherein the names of these modules do not constitute a limitation of the module itself under certain circumstances, for example, the module for obtaining files on the chain can also be described as " According to the root hash value, obtain the file compression package hash value on the blockchain, and obtain the module of the files contained in the file compression package according to the file compression package hash value".

作为另一方面,本发明还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的设备中所包含的;也可以是单独存在,而未装配入该设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该设备执行时,使得该设备包括:获取待共享的文件,形成多个文件压缩包;对所述文件压缩包执行区块链上链操作,并从区块链获取所述文件压缩包对应的至少三个第一哈希值;将所述第一哈希值作为当前哈希值,循环执行以下操作,直至所述当前哈希值的数量为1:从所述至少三个当前哈希值中,分别选择设定数量个当前哈希值,基于选择出的设定数量个当前哈希值生成中间哈希值,对所述中间哈希值执行区块链上链操作,并从区块链获取对应的第二哈希值;当存在未被选择过的所述当前哈希值、且未被选择过的所述当前哈希值的数量小于所述设定数量时,基于未被选择过的所述当前哈希值生成中间哈希值,对所述中间哈希值执行区块链上链操作,并从区块链获取对应的第二哈希值;将所述第二哈希值作为所述当前哈希值;所述设定数量为大于2的整数;将所述当前哈希值作为根哈希值,并发送所述哈希值。接收当前哈希值;循环执行以下步骤,直至获取到所述当前哈希值所对应的文件压缩包;确定所述区块链上存在与所述当前哈希值相同的文件压缩包哈希值,如果是,执行A1;否则执行A2;A1:从所述区块链上获取所述当前哈希值所对应的文件压缩包;A2:确定所述当前哈希值对应的各个下级哈希值,并将所述下级哈希值作为所述当前哈希值。As another aspect, the present invention also provides a computer-readable medium, which may be included in the device described in the above embodiments; or may exist alone without being assembled into the device. The above-mentioned computer-readable medium carries one or more programs, and when the above-mentioned one or more programs are executed by a device, the device includes: acquiring files to be shared, forming a plurality of file compression packages; compressing the files The package performs the blockchain on-chain operation, and obtains at least three first hash values corresponding to the file compression package from the blockchain; the first hash value is used as the current hash value, and the following operations are performed cyclically: Until the number of the current hash values is 1: from the at least three current hash values, select a set number of current hash values respectively, and generate an intermediate hash value based on the selected set number of current hash values. Hash value, perform the blockchain on-chain operation on the intermediate hash value, and obtain the corresponding second hash value from the blockchain; when there is the current hash value that has not been selected and has not been selected When the number of the current hash values that have been passed is less than the set number, an intermediate hash value is generated based on the current hash value that has not been selected, and the blockchain on-chain operation is performed on the intermediate hash value , and obtain the corresponding second hash value from the blockchain; take the second hash value as the current hash value; the set number is an integer greater than 2; take the current hash value as root hash, and send said hash. Receive the current hash value; perform the following steps in a loop until the file compressed package corresponding to the current hash value is obtained; determine that there is a file compressed package hash value that is the same as the current hash value on the blockchain , if yes, execute A1; otherwise, execute A2; A1: Obtain the file compressed package corresponding to the current hash value from the blockchain; A2: Determine each lower-level hash value corresponding to the current hash value , and use the lower-level hash value as the current hash value.

根据本发明实施例的技术方案,通过采用将多个文件压缩成文件压缩包,部分克服了因为文件数量大造成的网络资源负担过高的技术问题,通过将各个文件压缩包并发上链,提高了文件上链和共享的效率;利用分叉树结构存储并分享根哈希值,通过根哈希值获取共享文件,提高文件的安全性。According to the technical solution of the embodiment of the present invention, by compressing a plurality of files into a file compressed package, the technical problem that the network resource burden is too high due to the large number of files is partially overcome. The efficiency of file chaining and sharing is improved; the root hash value is stored and shared by using the bifurcated tree structure, and the shared file is obtained through the root hash value to improve the security of the file.

上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,取决于设计要求和其他因素,可以发生各种各样的修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。The above-mentioned specific embodiments do not constitute a limitation on the protection scope of the present invention. It should be understood by those skilled in the art that various modifications, combinations, sub-combinations and substitutions may occur depending on design requirements and other factors. Any modifications, equivalent replacements and improvements made within the spirit and principle of the present invention shall be included within the protection scope of the present invention.

Claims (11)

1.一种共享文件的方法,其特征在于,包括:1. a method for sharing files, is characterized in that, comprises: 获取待共享的文件,形成多个文件压缩包;Obtain the files to be shared and form multiple file compression packages; 对所述文件压缩包执行区块链上链操作,并从区块链获取所述文件压缩包对应的至少三个第一哈希值;performing a blockchain on-chain operation on the file compressed package, and obtaining at least three first hash values corresponding to the file compressed package from the blockchain; 将所述第一哈希值作为当前哈希值,循环执行以下操作,直至所述当前哈希值的数量为1:从所述至少三个当前哈希值中,分别选择设定数量个当前哈希值,基于选择出的设定数量个当前哈希值生成中间哈希值,对所述中间哈希值执行区块链上链操作,并从区块链获取对应的第二哈希值;当存在未被选择过的所述当前哈希值、且未被选择过的所述当前哈希值的数量小于所述设定数量时,基于未被选择过的所述当前哈希值生成中间哈希值,对所述中间哈希值执行区块链上链操作,并从区块链获取对应的第二哈希值;将所述第二哈希值作为所述当前哈希值;所述设定数量为大于2的整数;Taking the first hash value as the current hash value, the following operations are performed cyclically until the number of the current hash values is 1: from the at least three current hash values, a set number of current hash values are selected respectively. Hash value, generate an intermediate hash value based on the selected set number of current hash values, perform the blockchain on-chain operation on the intermediate hash value, and obtain the corresponding second hash value from the blockchain ; When there is the current hash value that has not been selected, and the number of the current hash value that has not been selected is less than the set number, generate based on the current hash value that has not been selected. an intermediate hash value, performing a blockchain on-chain operation on the intermediate hash value, and obtaining a corresponding second hash value from the blockchain; using the second hash value as the current hash value; The set number is an integer greater than 2; 将所述当前哈希值作为根哈希值,并发送所述哈希值。The current hash value is used as the root hash value, and the hash value is sent. 2.根据权利要求1所述的方法,其特征在于,2. The method according to claim 1, wherein 获取待共享的文件,形成多个文件压缩包,包括:Obtain the files to be shared and form multiple file compression packages, including: 获取预定义时间范围内待共享的文件,形成至少三个文件包,根据网络带宽,确定所述文件包中文件的数量。Obtain files to be shared within a predefined time range, form at least three file packages, and determine the number of files in the file packages according to network bandwidth. 3.根据权利要求2所述的方法,其特征在于,3. The method of claim 2, wherein 分别对所述文件包执行压缩和加密操作,形成所述文件压缩包。Compressing and encrypting the file package are respectively performed to form the file compression package. 4.根据权利要求1所述的方法,其特征在于,4. The method of claim 1, wherein 对所述文件压缩包执行区块链并发上链操作。A concurrent blockchain uploading operation is performed on the file compressed package. 5.一种共享文件的方法,其特征在于,包括:5. A method for sharing files, comprising: 接收当前哈希值;循环执行以下步骤,直至获取到所述当前哈希值所对应的文件压缩包;Receive the current hash value; cyclically execute the following steps until the file compressed package corresponding to the current hash value is obtained; 确定所述区块链上存在与所述当前哈希值相同的文件压缩包哈希值,如果是,执行A1;否则执行A2;Determine that there is a file compression package hash value that is the same as the current hash value on the blockchain, and if so, execute A1; otherwise, execute A2; A1:从所述区块链上获取所述当前哈希值所对应的文件压缩包;A1: Obtain the file compressed package corresponding to the current hash value from the blockchain; A2:确定所述当前哈希值对应的各个下级哈希值,并将所述下级哈希值作为所述当前哈希值。A2: Determine each lower-level hash value corresponding to the current hash value, and use the lower-level hash value as the current hash value. 6.根据权利要求5所述的方法,其特征在于,6. The method of claim 5, wherein 获取到所述当前哈希值所对应的文件压缩包,包括:Obtain the file compressed package corresponding to the current hash value, including: 获取到所述当前哈希值所对应文件压缩包,对所述文件压缩包执行解压和解密操作,获取文件压缩包中的文件。Obtain the file compressed package corresponding to the current hash value, perform decompression and decryption operations on the file compressed package, and obtain the files in the file compressed package. 7.一种共享文件的装置,其特征在于,包括:文件压缩包上链模块、节点哈希值获取模块和根哈希值获取模块;其中,7. A device for sharing files, comprising: a file compression package uploading module, a node hash value obtaining module and a root hash value obtaining module; wherein, 所述文件压缩包上链模块,用于获取待共享的文件,形成多个文件压缩包;对所述文件压缩包执行区块链上链操作,并从区块链获取所述文件压缩包对应的至少三个第一哈希值;The file compression package uploading module is used to obtain the files to be shared to form a plurality of file compression packages; perform the blockchain chaining operation on the file compression package, and obtain the corresponding file compression package from the blockchain at least three first hash values of ; 所述上级哈希值获取模块,用于将所述第一哈希值作为当前哈希值,循环执行以下操作,直至所述当前哈希值的数量为1:从所述至少三个当前哈希值中,分别选择设定数量个当前哈希值,基于选择出的设定数量个当前哈希值生成中间哈希值,对所述中间哈希值执行区块链上链操作,并从区块链获取对应的第二哈希值;当存在未被选择过的所述当前哈希值、且未被选择过的所述当前哈希值的数量小于所述设定数量时,基于未被选择过的所述当前哈希值生成中间哈希值,对所述中间哈希值执行区块链上链操作,并从区块链获取对应的第二哈希值;将所述第二哈希值作为所述当前哈希值;所述设定数量为大于2的整数;The upper-level hash value acquisition module is configured to use the first hash value as the current hash value, and perform the following operations cyclically until the number of the current hash values is 1: from the at least three current hash values Among the values, a set number of current hash values are respectively selected, an intermediate hash value is generated based on the selected set number of current hash values, the blockchain on-chain operation is performed on the intermediate hash value, and the The blockchain obtains the corresponding second hash value; when there is the current hash value that has not been selected, and the number of the current hash value that has not been selected is less than the set number, based on the unselected current hash value The selected current hash value generates an intermediate hash value, performs a blockchain on-chain operation on the intermediate hash value, and obtains a corresponding second hash value from the blockchain; The hash value is used as the current hash value; the set number is an integer greater than 2; 所述根哈希值获取模块,用于将所述当前哈希值作为根哈希值,并发送所述哈希值。The root hash value obtaining module is configured to use the current hash value as the root hash value and send the hash value. 8.一种共享文件的装置,其特征在于,包括:获取链上文件模块;其中,8. A device for sharing files, comprising: acquiring a file module on a chain; wherein, 所述获取链上文件模块,用于接收当前哈希值;循环执行以下步骤,直至获取到所述当前哈希值所对应的文件压缩包;确定所述区块链上存在与所述当前哈希值相同的文件压缩包哈希值,如果是,执行A1;否则执行A2;A1:从所述区块链上获取所述当前哈希值所对应的文件压缩包;A2:确定所述当前哈希值对应的各个下级哈希值,并将所述下级哈希值作为所述当前哈希值。The module for obtaining the file on the chain is used to receive the current hash value; the following steps are performed cyclically until the file compressed package corresponding to the current hash value is obtained; The hash value of the file compressed package with the same value, if yes, execute A1; otherwise, execute A2; A1: Obtain the file compressed package corresponding to the current hash value from the blockchain; A2: Determine the current each lower-level hash value corresponding to the hash value, and the lower-level hash value is used as the current hash value. 9.一种共享文件的系统,其特征在于,包括:权利要求7所述的共享文件的装置、以及权利要求8所述的共享文件的装置。9 . A system for sharing files, comprising: the device for sharing files according to claim 7 and the device for sharing files according to claim 8 . 10.一种电子设备,其特征在于,包括:10. An electronic device, comprising: 一个或多个处理器;one or more processors; 存储装置,用于存储一个或多个程序,storage means for storing one or more programs, 当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-4或者5-6中任一所述的方法。The one or more programs, when executed by the one or more processors, cause the one or more processors to implement the method of any one of claims 1-4 or 5-6. 11.一种计算机可读介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求1-4或者5-6中任一所述的方法。11. A computer-readable medium on which a computer program is stored, characterized in that, when the program is executed by a processor, the method according to any one of claims 1-4 or 5-6 is implemented.
CN202010772434.9A 2020-08-04 2020-08-04 Method, device and system for sharing files Active CN111984614B (en)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN202010772434.9A CN111984614B (en) 2020-08-04 2020-08-04 Method, device and system for sharing files
PCT/CN2021/110599 WO2022028486A1 (en) 2020-08-04 2021-08-04 File sharing method, device, and system
EP21852328.0A EP4180984A4 (en) 2020-08-04 2021-08-04 FILE SHARING METHOD, APPARATUS AND SYSTEM
US18/040,467 US12346292B2 (en) 2020-08-04 2021-08-04 File sharing method, device, and system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010772434.9A CN111984614B (en) 2020-08-04 2020-08-04 Method, device and system for sharing files

Publications (2)

Publication Number Publication Date
CN111984614A true CN111984614A (en) 2020-11-24
CN111984614B CN111984614B (en) 2023-05-26

Family

ID=73445010

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010772434.9A Active CN111984614B (en) 2020-08-04 2020-08-04 Method, device and system for sharing files

Country Status (1)

Country Link
CN (1) CN111984614B (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022028486A1 (en) * 2020-08-04 2022-02-10 中国人民银行数字货币研究所 File sharing method, device, and system

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106815530A (en) * 2016-12-26 2017-06-09 北京爱接力科技发展有限公司 Data deposit card method, data verification method and device
CN109101572A (en) * 2018-07-17 2018-12-28 何晓行 Card method, apparatus and server, storage medium are deposited based on block chain
CN109657499A (en) * 2018-10-31 2019-04-19 深圳市网心科技有限公司 Metadata validation method, system server and computer readable storage medium
CN109684871A (en) * 2018-12-20 2019-04-26 鸿秦(北京)科技有限公司 File memory method and system based on block chain
CN109903049A (en) * 2019-03-01 2019-06-18 长沙理工大学 A block chain transaction data storage method, device, equipment and storage medium
CN110020544A (en) * 2018-12-26 2019-07-16 阿里巴巴集团控股有限公司 The Hash information processing method and system of record are stored in the block of block chain
CN110032581A (en) * 2019-01-18 2019-07-19 阿里巴巴集团控股有限公司 A kind of service scripts storage method and device based on block chain
CN110599174A (en) * 2019-09-20 2019-12-20 腾讯科技(深圳)有限公司 Block chain information processing method and related equipment
JP6626228B1 (en) * 2019-03-19 2019-12-25 株式会社スカイコム Management server, document file management system, document file management method, and document file management program
CN111209262A (en) * 2020-01-10 2020-05-29 浪潮天元通信信息系统有限公司 Large-scale distributed safe storage system based on block chain
CN111259070A (en) * 2019-11-28 2020-06-09 国网山东省电力公司 Method and related device for storing and acquiring service data

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106815530A (en) * 2016-12-26 2017-06-09 北京爱接力科技发展有限公司 Data deposit card method, data verification method and device
CN109101572A (en) * 2018-07-17 2018-12-28 何晓行 Card method, apparatus and server, storage medium are deposited based on block chain
CN109657499A (en) * 2018-10-31 2019-04-19 深圳市网心科技有限公司 Metadata validation method, system server and computer readable storage medium
CN109684871A (en) * 2018-12-20 2019-04-26 鸿秦(北京)科技有限公司 File memory method and system based on block chain
CN110020544A (en) * 2018-12-26 2019-07-16 阿里巴巴集团控股有限公司 The Hash information processing method and system of record are stored in the block of block chain
CN110032581A (en) * 2019-01-18 2019-07-19 阿里巴巴集团控股有限公司 A kind of service scripts storage method and device based on block chain
CN109903049A (en) * 2019-03-01 2019-06-18 长沙理工大学 A block chain transaction data storage method, device, equipment and storage medium
JP6626228B1 (en) * 2019-03-19 2019-12-25 株式会社スカイコム Management server, document file management system, document file management method, and document file management program
CN110599174A (en) * 2019-09-20 2019-12-20 腾讯科技(深圳)有限公司 Block chain information processing method and related equipment
CN111259070A (en) * 2019-11-28 2020-06-09 国网山东省电力公司 Method and related device for storing and acquiring service data
CN111209262A (en) * 2020-01-10 2020-05-29 浪潮天元通信信息系统有限公司 Large-scale distributed safe storage system based on block chain

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
张桂鹏,匡振曦,陈平华: "一种采用签名与哈希技术的云存储去重方案", 《计算机工程与应用》 *
翟社平,汪一景,陈思吉: "区块链技术在电子病历共享的应用研究", 《西安电子科技大学学报》 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022028486A1 (en) * 2020-08-04 2022-02-10 中国人民银行数字货币研究所 File sharing method, device, and system
US12346292B2 (en) 2020-08-04 2025-07-01 Digital Currency Institute, The People's Bank Of China File sharing method, device, and system

Also Published As

Publication number Publication date
CN111984614B (en) 2023-05-26

Similar Documents

Publication Publication Date Title
US20220261804A1 (en) Deploying a cloud-based system using a distributed ledger
CN110572422B (en) Data downloading method, device, equipment and medium
CN113536748B (en) A method and device for generating chart data
CN111612388A (en) Method and apparatus for merging target orders
CN111931474A (en) Information table generation method and device, electronic equipment and computer readable medium
US10986203B2 (en) Balancing and control framework for real-time processing
CN110753020A (en) Network request processing method and device
WO2022028484A1 (en) File sharing method, apparatus, and system
CN111984616B (en) A method, device and system for updating shared files
CN111984614B (en) Method, device and system for sharing files
CN110705935B (en) Logistics document processing method and device
US12346292B2 (en) File sharing method, device, and system
CN111984613B (en) Method, device and system for sharing files
CN113190558A (en) A data processing method and system
CN111984612A (en) A method, device and system for sharing files
CN110730109A (en) Method and apparatus for generating information
CN112257039B (en) Identity attribute adding method and device and electronic equipment
CN114091044A (en) System authority management method and device
CN109657481B (en) Data management method and device
CN111258572A (en) Method and device for generating business code framework
CN113242306B (en) Block chain consensus method and device
CN114500485B (en) Data processing method and device
CN116743408A (en) Distributed file sharing method and system based on blockchain
CN117149525A (en) Method, apparatus, device and computer readable medium for data backup
CN114528212A (en) Method, apparatus, device and computer readable medium for providing test data

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant