CN108710681B - File acquisition method, device, equipment and storage medium - Google Patents

File acquisition method, device, equipment and storage medium Download PDF

Info

Publication number
CN108710681B
CN108710681B CN201810482561.8A CN201810482561A CN108710681B CN 108710681 B CN108710681 B CN 108710681B CN 201810482561 A CN201810482561 A CN 201810482561A CN 108710681 B CN108710681 B CN 108710681B
Authority
CN
China
Prior art keywords
node
file
storage node
storage
account book
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201810482561.8A
Other languages
Chinese (zh)
Other versions
CN108710681A (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.)
Tencent Technology Shenzhen Co Ltd
Beijing University of Posts and Telecommunications
Original Assignee
Tencent Technology Shenzhen Co Ltd
Beijing University of Posts and Telecommunications
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 Tencent Technology Shenzhen Co Ltd, Beijing University of Posts and Telecommunications filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN202010047750.XA priority Critical patent/CN111291000B/en
Priority to CN201810482561.8A priority patent/CN108710681B/en
Publication of CN108710681A publication Critical patent/CN108710681A/en
Application granted granted Critical
Publication of CN108710681B publication Critical patent/CN108710681B/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/18File system types
    • G06F16/182Distributed 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/13File access structures, e.g. distributed indices
    • G06F16/134Distributed indices
    • 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/172Caching, prefetching or hoarding of files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • 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)
  • Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Human Computer Interaction (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

The application discloses a file acquisition method, a file acquisition device, equipment and a storage medium, and belongs to the field of networks. The method comprises the following steps: sending a first account book to a second storage node in the distributed file storage system; receiving a connection establishment instruction sent by a second storage node; establishing connection with a second storage node according to the connection establishment instruction, and sending the unique identification information of the required file fragment to the second storage node; and receiving the demand file segments sent by the second storage node, and combining to obtain the demand file. According to the method and the device, after the first account book of the first storage node is detected through the second storage node, the required file segment is sent to the first storage node, and the first account book comprises the operation record of the first storage node on the file segment stored in the distributed file storage system, so that the second storage node can judge whether the first node is a legal user according to the detected first account book, and on the basis of realizing an anti-theft chain, due to the fact that the failure rate of downloading and/or accessing files of the legal user is reduced, the fluency of the user for obtaining the files is improved.

Description

File acquisition method, device, equipment and storage medium
Technical Field
The present application relates to the field of network technologies, and in particular, to a method, an apparatus, a device, and a storage medium for acquiring a file.
Background
A bad service provider usually stores a Uniform Resource Locator (URL) of a file (or service) provided by another service provider in its own database, and when a user accesses a network platform of the bad service provider, the URL of the accessed and/or downloaded file is the URL of the stolen chain file.
In the related art, in order to prevent a chain theft of a file published on a network platform, a service provider usually modifies a file name irregularly to prevent the chain theft of the file, and since modifying the file name changes a URL of a chain theft file accordingly, the URL of the chain theft file stored by a bad service provider is invalidated, thereby achieving the purpose of chain theft prevention.
The irregular modification of the file name causes the URL to be modified, which may result in a failure of the legitimate user's access and/or download behavior when the legitimate user is accessing and/or downloading the file.
Disclosure of Invention
The embodiment of the application provides a file acquisition method, a file acquisition device, a file acquisition equipment and a storage medium, which can be used for solving the problem that a legal user fails to access and/or download a file due to the fact that a file chain is prevented from being stolen by irregularly modifying a file name in the related technology. The technical scheme is as follows:
in one aspect, an embodiment of the present application provides a file obtaining method, where the method is applied to a first storage node of a distributed file storage system, and the method includes:
sending a first account book to a second storage node in the distributed file storage system; an account book is stored in a storage node in the distributed file storage system, the account book includes an operation record of the storage node operating a file segment stored in the distributed file storage system, and the first account book is the account book stored in the first storage node;
receiving a connection establishment instruction sent by the second storage node, where the connection establishment instruction is sent after the second storage node determines that the first account book and the second account book are matched, and the second account book is the account book stored in the second storage node;
establishing connection with the second storage node according to the connection establishment instruction, and sending the unique identification information of the required file segment to the second storage node;
receiving the demand file fragments sent by the second storage node, and combining to obtain a demand file; the requirement file segment is obtained by the second storage node according to the unique identification information through local query.
In one aspect, an embodiment of the present application provides a file obtaining apparatus, where the apparatus is applied to a first storage node of a distributed file storage system, and the apparatus includes:
the sending module is used for sending a first account book to a second storage node in the distributed file storage system; an account book is stored in a storage node in the distributed file storage system, the account book includes an operation record of the storage node operating a file segment stored in the distributed file storage system, and the first account book is the account book stored in the first storage node;
a receiving module, configured to receive a connection establishment instruction sent by the second storage node, where the connection establishment instruction is sent by the second storage node after determining that the first account book and the second account book are matched, and the second account book is the account book stored in the second storage node;
the sending module is further configured to establish a connection with the second storage node according to the connection establishment instruction, and send the unique identification information of the required file segment to the second storage node;
the receiving module is further configured to receive the requirement file segment sent by the second storage node; the requirement file segment is obtained by the second storage node through local query according to the unique identification information;
and the processing module is used for merging the demand file fragments and obtaining the demand file.
In one aspect, an embodiment of the present application provides a file obtaining apparatus, where the apparatus is applied to a second storage node in a distributed file storage system, and the apparatus includes:
the receiving module is used for receiving a first account book sent by a first storage node in the distributed file storage system; an account book is stored in a storage node in the distributed file storage system, the account book includes an operation record of the storage node operating a file segment stored in the distributed file storage system, and the first account book is the account book stored in the first storage node;
a sending module, configured to send a connection establishment instruction to the first storage node if the first account book is matched with the second account book, where the connection establishment instruction is used to instruct the first storage node and the second storage node to establish a connection, and the second account book is the account book stored in the second storage node;
the processing module is used for establishing connection with the first storage node;
the receiving module is further configured to receive unique identification information of the demand file segment sent by the first storage node;
the sending module is further used for sending the required file segments to the first storage node; the requirement file fragment is obtained by local query according to the unique identification information.
In one aspect, an embodiment of the present application provides an electronic device, where the electronic device includes a processor and a memory, where the memory stores at least one instruction, and the at least one instruction is loaded and executed by the processor to implement the file obtaining method described above.
In one aspect, an embodiment of the present application provides an electronic device, where the electronic device includes a processor and a memory, where the memory stores at least one instruction, and the at least one instruction is loaded and executed by the processor to implement the file storage method described above.
In one aspect, an embodiment of the present application provides a computer-readable storage medium, where at least one instruction is stored in the computer-readable storage medium, and the at least one instruction is loaded and executed by a processor to implement the file obtaining method described above.
In one aspect, embodiments of the present application provide a computer-readable storage medium, where at least one instruction is stored, and the at least one instruction is loaded and executed by a processor to implement the file storage method as described above.
The technical scheme provided by the embodiment of the application has the following beneficial effects that:
when the second storage node detects that the first account book of the first storage node is matched with the second account book in the second storage node, the second storage node sends the required file segment to the first storage node, and the first account book comprises the operation record of the first storage node on the file segment stored in the distributed file storage system, so that the second storage node can judge whether the first node is a legal user in the distributed file storage system or not according to the judgment that whether the first account book is matched with the second account book or not, the problem that the access and/or downloading behavior of the legal user possibly fails due to the fact that a file name anti-theft chain is modified irregularly in the related art is solved, and on the basis of achieving the anti-theft chain, due to the fact that the failure rate of downloading and/or accessing files of the legal user is reduced, the fluency of the user for obtaining files is improved.
Drawings
In order to more clearly illustrate the technical solutions in the embodiments of the present application, the drawings needed to be used in the description of the embodiments are briefly introduced below, and it is obvious that the drawings in the following description are only some embodiments of the present application, and it is obvious for those skilled in the art to obtain other drawings based on these drawings without creative efforts.
FIG. 1 is a schematic diagram of an implementation environment of a file acquisition method provided in an exemplary embodiment of the present application;
FIG. 2 is a flowchart of a method for file retrieval according to an exemplary embodiment of the present application;
FIG. 3 is an architecture diagram of one embodiment of a file retrieval method provided by an exemplary embodiment of the present application;
FIG. 4 is a flowchart of a method for file retrieval according to an exemplary embodiment of the present application;
FIG. 5 is a flowchart of a method for file retrieval according to an exemplary embodiment of the present application;
FIG. 6 is an architecture diagram of a particular embodiment of a file retrieval method provided by an exemplary embodiment of the present application;
FIG. 7 is a flowchart of a method for file retrieval according to an exemplary embodiment of the present application;
FIG. 8 is a flowchart of a method for file storage as provided by an exemplary embodiment of the present application;
FIG. 9 is an architecture diagram of one particular embodiment of a file storage method provided by an exemplary embodiment of the present application;
FIG. 10 is an architecture diagram of one particular embodiment of a file storage and retrieval method provided by an exemplary embodiment of the present application;
FIG. 11 is an apparatus block diagram of a file retrieval apparatus provided in an exemplary embodiment of the present application;
FIG. 12 is an apparatus block diagram of a file retrieval apparatus provided in an exemplary embodiment of the present application;
FIG. 13 is an apparatus block diagram of an electronic device provided by an exemplary embodiment of the present application;
fig. 14 is a block diagram of an apparatus of an electronic device according to an exemplary embodiment of the present application.
Detailed Description
To make the objects, technical solutions and advantages of the present application more clear, embodiments of the present application will be described in further detail below with reference to the accompanying drawings.
For convenience of understanding, terms referred to in the embodiments of the present application are explained below:
distributed file storage system: the storage system is used for dividing a file into a plurality of file segments to be stored in at least two electronic devices; or, storing a plurality of subfiles of a file in at least two electronic devices; the present application collectively refers to file fragments and subfiles as file fragments in the presentation. Optionally, the distributed file storage system in the present application is an interplanetary file system.
A storage node: the electronic device is an electronic device for storing file segments in a distributed file storage system, and an account book is stored in each storage node.
Index node: the distributed file storage system is an electronic device which stores operation records of each file segment in the distributed file storage system, and each index node stores unique identification information and a general ledger of a file stored in the distributed file storage system. The operation record of each file fragment refers to the operation record of each storage node in the distributed file storage system on the file fragment stored in the distributed file storage system, and the storage node can inquire other storage nodes storing the required file fragment through the index node; alternatively, the index nodes in the distributed storage nodes may form a blockchain platform, and each index node may be a blockchain node in the blockchain platform. For example, in the embodiment of the present application, a blockchain platform is taken as an example, and refers to an inode of a distributed file storage system.
Interplanetary File System (Inter planet File System, IPFS): is a global-oriented, point-to-point distributed file storage system.
Account book: is an operation record of the storage node operating on the file segments stored in the distributed file storage system. Optionally, the ledger includes at least one of a send list, an acquired list, a modify list, a delete list, and an incomplete list. The sending list is an operation record of the file segments sent by the storage nodes to other storage nodes, and comprises unique identification information of the file segments sent by the storage nodes and equipment identification of a sending object; the acquired list is an operation record of the file fragment acquired by the storage node from other storage nodes, and comprises the unique identification information of the file fragment acquired by the storage node, the equipment identifier of the storage node which sends the file fragment, and the equipment identifier of the storage node which modifies, sends and/or receives the file fragment; the modification list is the unique identification information of the file segments modified by the storage node; the deletion list is the only identification information of the file segments which are acquired by the storage node and deleted; the incomplete list is unique identification information of file fragments which are sent by the storage nodes in response to acquisition requests of other storage nodes but are not sent.
For example, if the storage node 1 sends a file segment a to the storage node 2, receives a file segment B sent by the storage node 3, modifies a file segment C, deletes a file segment D, and needs to send a file E to the storage node 4, the sending list of the ledger 1 of the storage node 1 includes the unique identification information of the file segment a and the device identifier of the storage node 2; the acquired list of the account book 1 comprises the unique identification information of the file segment B and the equipment identifier of the storage node 3; the modification list of the account book 1 includes the unique identification information of the file segment C and/or the unique identification information of the modified file segment C; the deletion list of the account book 1 contains the unique identification information of the file segment D; the incomplete list of the ledger 1 includes unique identification information of the file segment E.
Equipment identification: the device identification is the number identification of the storage node and the index node in the distributed file storage system, and any storage node or index node in the distributed file storage system can establish connection with the electronic device corresponding to the device identification through the device identification.
Unique identification information: the unique coding information is the unique coding information corresponding to the file fragment stored in the distributed file storage system, and the storage node can generate the unique identification information of the file fragment according to the file fragment. Wherein the unique identification information of each file or file fragment is unique. Optionally, in the distributed file storage system, the unique identifier may be a hash value of the file and the file segment, and the hash value is taken as an example in the following description to refer to unique identification information of the file and the file segment.
A block chain platform: the distributed file storage system is a network platform formed by index nodes in the distributed storage system, in the block chain platform, the index nodes are called block chain nodes, and each block chain node stores a hash value and a total account book of a file stored in the distributed file storage system. The block chain platform comprises at least two index nodes which are in communication connection, each index node is one block chain node in the block chain platform, and the total account book of the block chain platform is stored in each block chain node. And at least two blockchain nodes synchronize respectively stored general ledgers through a wired or wireless network. The block chain platform is in communication connection with at least one storage node in the distributed file storage system and receives the ledger sent by the at least one storage node in the distributed file storage system.
Total account book: the account book of each storage node in the distributed file storage system comprises an operation record of each file segment stored in the distributed file storage system, a device identifier of each storage node and the content of the account book of the storage node.
Leader Node (Leader Node): is the blockchain node in the blockchain platform responsible for communicating with the storage node. The leader node is elected from the blockchain nodes in response to the deposit request sent by the storage node to the blockchain platform.
Referring to fig. 1, a schematic diagram of an implementation environment of a file acquisition method according to an exemplary embodiment of the present application is shown, and as shown in fig. 1, the implementation environment includes a blockchain platform 100 and a distributed file storage system 200.
As shown, the blockchain platform 100 includes a plurality of blockchain nodes 110, 111, 112, 113, 114, 115, etc., each having stored therein an aggregate ledger of the blockchain platform, and the plurality of blockchain nodes may synchronize the aggregate ledger through a wired or wireless network.
For example, when the general ledger stored in the blockchain node 110 changes, the blockchain node 110 broadcasts the changed general ledger to other blockchain nodes in the blockchain platform 100, and the other blockchain nodes update the stored general ledger after receiving the broadcast. The general ledger includes operation records of each storage node in the distributed file storage system 200 on files stored in the distributed file storage system 200, and the blockchain platform 100 obtains the book sent by the storage node through communication connection with the storage node in the distributed file storage system 200, so as to obtain operation records of each storage node on files stored in the distributed file storage system 200.
The distributed file storage system 200 includes a plurality of storage nodes 210, 211, 212, 213, 214, etc. in which a user may divide a target file to be stored into at least two target file segments to be stored. Each storage node in the distributed file storage system 200 stores an account book of the storage node itself.
For example, if the storage node 210 sends the file fragment X to the storage node 211, the hash value of the file fragment X and the device identifier of the storage node 211 are stored in the sending list in the ledger of the storage node 210, which indicates that the file fragment X has been sent to the storage node 211; meanwhile, the hash value of the file segment X and the device identifier of the storage node 210 are stored in the acquired list in the ledger of the storage node 211, which indicates that the file segment X has been acquired from the storage node 210. The storage node operates the file segment, for example, sends the file segment, or modifies, deletes, copies, and the like the file segment, and records the updated ledger book in the ledger book, and sends the updated ledger book to the blockchain platform 100 in a broadcast manner, after at least one blockchain link point in the blockchain platform 100 receives the updated ledger book, the general ledger book stored in the node is updated, and the updated general ledger book is broadcast to other blockchain link points, so that the general ledger book stored on each blockchain node is synchronous and consistent.
Referring to fig. 2, a flowchart of a method for obtaining a file according to an exemplary embodiment of the present application is shown. The method is applicable to a first storage node of distributed storage nodes in an implementation environment as shown in fig. 1, and comprises the following steps:
step 201, sending the first account book to a second storage node in the distributed file storage system.
The first storage node sends the first account book to the second storage node. Generally, a first storage node sends a first ledger to at least two second storage nodes, but in a specific case, for example, when the first storage node leaves only one file segment that cannot be acquired and has acquired other file segments, the first ledger is sent to one second storage node.
Optionally, the first ledger contains an operation record of the first storage node on a file segment stored in the distributed file storage system. For example, if the first storage node receives the file segment X sent by the third storage node and the first storage node modifies the file segment X, the unique identification information of the file segment X and the device identifier of the third storage node are stored in the acquired list in the first book; the unique identification information of the file fragment X and/or the unique identification information of the modified file fragment X are stored in the modification list of the first account book.
It should be noted that the storage node may be a storage node that requests to acquire a file fragment, or may be a storage node that sends a file fragment or stores a file fragment, and for the sake of descriptive difference only, in this application, a first storage node is used to refer to a storage node that requests to acquire a file fragment, and a second storage node is used to refer to a storage node that sends a file fragment and stores a file fragment.
Step 202, receiving a connection establishment instruction sent by the second storage node, where the connection establishment instruction is sent after the second storage node determines that the first account book and the second account book are matched.
The first storage node receives a connection establishment instruction sent by the second storage node.
For example, after receiving the first account book, the second storage node detects whether the first account book matches a second account book stored in the second storage node, and if the first account book matches the second account book, sends a connection establishment instruction to the first storage node, where the connection establishment instruction is used to instruct the first storage node and the second storage node to establish a connection.
The matching of the first account book and the second account book means that the operation behavior of the first storage node recorded in the second account book is the same as the operation behavior of the first storage node recorded in the first account book.
For example, after the first storage node sends the file segment Y to a third storage node in the distributed file storage system, the unique identification information of the file segment Y and the device identifier of the first storage node may be recorded in an acquired list of a third account book stored in the third storage node; if the third storage node sends the file segment Y to the second storage node, the unique identification information of the file segment Y, the equipment identification of the third storage node and the equipment identification of the first storage node are recorded on the acquired list of the second account book; therefore, when the unique identification information of the file segment Y and the device identifier of the third storage node are recorded on the sent list of the first ledger, and the unique identification information of the file segment Y, the device identifier of the third storage node and the device identifier of the first storage node are recorded on the obtained list of the second ledger, it is described that the operation of the first storage node on the file segment Y (i.e., sending the file segment Y to the third node) recorded in the first ledger and the operation of the first storage node on the file segment Y (i.e., the second storage node receiving the file segment Y from the third storage node, the third storage node receiving the file segment Y from the first storage node) recorded in the second ledger are matched, so that the first ledger and the second ledger are matched.
Optionally, the connection establishing instruction is sent after the second storage node determines that the first account book and the second account book are matched and the liability rate of the first storage node is not higher than the liability rate threshold. The liability rate is used for indicating the proportion of the file segments which need to be sent to the distributed storage nodes by the first storage node but are not sent in the file segments transmitted by the first storage node.
Illustratively, the second storage node calculates the liability rate of the first storage node according to the number of file segments in the sent list in the first bill and the file segment data in the incomplete list after determining that the first ledger and the second ledger are matched. If the liability rate is higher than the liability rate threshold value, determining the first storage node as a malignant node, and stopping communication with the first storage node; and if the liability rate is not higher than the liability rate threshold value, sending a connection establishment instruction to the first storage node. The malicious node is a storage node with a high liability rate. The node with the higher liability rate is usually a storage node with a system failure, and the malicious node may send an incorrect account book to other storage nodes, or does not send file segments requested by other storage nodes after responding to transmission requests of other storage nodes.
And step 203, establishing connection with the second storage node according to the connection establishing instruction, and sending the unique identification information of the required file segment to the second storage node.
And the first storage node sends the unique identification information of the required file segment to the second storage node after establishing connection with the second storage node according to the connection establishing instruction sent by the second storage node. Optionally, the unique identification information of the requirement file segment is a hash value of the requirement file segment.
For example, after the first storage node and the second storage node are connected, if the first storage node requires a requirement file segment a, a requirement file segment B, and a requirement file segment C, the first storage node sends the unique identification information of the requirement file segment a, the unique identification information of the requirement file segment B, and the unique identification information of the requirement file segment C to the second storage node.
And step 204, receiving the demand file segments sent by the second storage node, and combining to obtain the demand file.
And the first storage node receives the demand file segments sent by the second storage node and merges the demand file segments into a demand file.
Illustratively, after receiving the unique identification information of the required file segment a, the unique identification information of the required file segment B and the unique identification information of the required file segment C, the second storage node detects whether the required file segment a, the required file segment B and/or the required file segment C are/is locally stored through an acquired list in the second book according to the acquired unique identification information of the required file segment, and if the required file segment a is locally stored, the second storage node sends the required file segment a to the first storage node; if a demand file segment A and a demand file segment B are locally stored, the demand file segment A and the demand file segment B are sent to a first storage node; if the required file segment A and the required file segment C are locally stored, the required file segment A and the required file segment C are sent to the first storage node; and if the required file segment B and the required file segment C are locally stored, sending the required file segment B and the required file segment C to the first storage node. The first storage node receives a demand file segment A, a demand file segment B and a demand file segment C which are sent by at least two second storage nodes, and the demand file segment A, the demand file segment B and the demand file segment C are combined into a demand file.
Fig. 3 is an architecture diagram of a specific embodiment of a file retrieval method according to an exemplary embodiment of the present application. As shown in the figure, a user B in the distributed file storage system initializes its own account book first in step 1; in step 2, public information and an account book of the public information are sent to the storage node, wherein the public information is used for broadcasting the data exchange between the user B and the storage node to the block chain platform; in step 3, the storage node judges whether the account book of the user B is matched with the account book of the user B; in step 4, the storage node establishes connection with the user B after judging that the account book of the user B is matched with the account book of the user B; in step 5, the user B sends a demand list to the storage node; in step 6, the storage node detects whether the content in the demand list is stored locally; in step 7, the storage node calculates the liability rate of the user B; in step 8, when the storage node stores the content in the demand list and the liability rate of the user B is not high, the storage node sends the content demanded by the user B to the user B.
In summary, in the embodiment of the present application, by sending a required file segment to a first storage node when a second storage node detects that a first ledger of the first storage node matches a second ledger in the second storage node, since the first ledger contains the operation record of the first storage node on the file segment stored in the distributed file storage system, therefore, the second storage node can judge whether the first node is a legal user in the distributed file storage system according to the judgment of whether the first account book is matched with the second account book, the problem that the access and/or downloading behavior of the legal user possibly fails due to the irregular modification of the file name anti-theft chain in the related art is solved, on the basis of realizing the anti-theft link, the failure rate of downloading and/or accessing the file by a legal user is reduced, and the fluency of the user for acquiring the file is improved.
Optionally, in this embodiment of the application, the second storage node calculates a liability rate of the first storage node through the first account book, and sends a connection establishment instruction to the first storage node when the liability rate is not higher than a liability rate threshold, so that a rogue node is prevented from occupying resources of the distributed file storage system, and the working efficiency of the distributed file storage system is improved.
Because each file is stored on a plurality of second storage nodes, when a first storage node needs to acquire a required file, the first storage node can query at least two second storage nodes (i.e. the second storage nodes storing required file segments) corresponding to the required file through the blockchain platform, so as to send a first account book to the at least two storage nodes to establish connection. The block chain platform is in communication connection with at least one storage node in the distributed file storage system, and obtains an account book broadcasted by the at least one node in the distributed file storage system. The embodiment of fig. 3 will be described with respect to a first storage node determining at least two second storage nodes corresponding to a demand file via a blockchain platform.
Referring to fig. 3, a flowchart of a method for obtaining a file according to an exemplary embodiment of the present application is shown. The method can be applied to a first storage node of distributed storage nodes in an implementation environment as shown in fig. 1, and can be the steps before step 201 of the embodiment of fig. 1, and the method includes:
step 301, sending the hash value of the required file segment to the blockchain platform.
The first storage node broadcasts the hash value of the demand file segment to the blockchain platform. The block chain platform is in communication connection with at least one storage node in the distributed file storage system, and obtains an account book broadcasted by the at least one node in the distributed file storage system.
The block chain platform stores a general ledger, the general ledger comprises operation records of each file stored in the distributed file storage system, and the operation records comprise hash values of the files stored in the distributed file storage system, hash values of file segments corresponding to the files stored in the distributed file storage system, accounts stored in each storage node in the distributed file storage system, and device identifications of the storage nodes corresponding to the accounts.
Illustratively, when a storage node 1 in the distributed file storage system stores a file Z in the distributed file storage system, a hash value of the file Z may be registered on a blockchain platform, and since the file Z needs to be divided into a file segment M and a file segment N when being stored in the distributed file storage system, the file segment M is stored in a storage node 2, and the file segment M is stored in a storage node 3, the general ledger records the hash value of the file Z, a device identifier of the storage node 1 corresponding to the hash value of the file Z, a correspondence relationship between the file Z and the file segment M, a correspondence relationship between the file segment N, a correspondence relationship between the file segment M and the storage node 2, and a correspondence relationship between the file segment N and the storage node 3.
For example, if the first storage node needs the requirement file X, the name of the requirement file X is sent to a block link point of the block link platform, the block link point queries the hash value of the corresponding requirement file X and the hash values of the requirement file segment a, the requirement file segment B, and the requirement file segment C corresponding to the requirement file X according to the name of the requirement file X, and sends the hash values of the requirement file segment a, the requirement file segment B, and the requirement file segment C to the first storage node, and the first storage node records the hash values of the requirement file segment a, the requirement file segment B, and the requirement file segment C in the requirement file list.
The first storage node broadcasts the hash value of the required file segment A, the hash value of the required file segment B and the hash value of the required file C to the blockchain platform, and one blockchain node in the blockchain platform responds to the broadcast of the first storage node and inquires the device identifier of the second storage node 4 in which the required file segment A is stored and the device identifier of the second storage node 5 in which the required file segment B and the required file segment C are stored on the general ledger.
Step 302, receiving the device identifications of the at least two second storage nodes sent by the blockchain platform.
The first storage node receives the device identifications of the at least two second storage nodes sent by the blockchain platform.
For example, if the blockchain platform queries that the second storage node 4 stores the required file segment a, and the second storage node 5 stores the required file segment B and the required file segment C, the device identifiers of the second storage node 4 and the second storage node 5 are sent to the first storage node.
Step 303, sending the first account book to the at least two second storage nodes according to the device identifiers of the at least two second storage nodes.
And the first storage node sends the first account book to the at least two second storage nodes according to the equipment identifications of the at least two second storage nodes.
Illustratively, after receiving the device identifiers of the second storage node 4 and the second storage node 5 sent by the blockchain platform, the first storage node sends the first ledger to the second storage node 4 and the second storage node 5.
To sum up, in the embodiment of the present application, the first storage node sends the hash value of the required file segment to the blockchain platform, the blockchain platform queries, according to the hash value of the required file segment, the at least two second storage nodes in which the required file segment is stored in the general ledger, and sends the device identifier of the at least two second storage nodes to the first storage node, so that the first storage node can accurately establish connection with the at least two second storage nodes in which the required file segment is stored.
Referring to fig. 5, a flowchart of a method for obtaining a file according to an exemplary embodiment of the present application is shown. The method can be applied to a first storage node of distributed storage nodes in an implementation environment as shown in fig. 1, and can be a step after step 204 of the embodiment of fig. 1, and the method includes:
step 401, receiving a hash value of a requirement file segment sent by a second storage node.
And the second storage node sends the required file segment to the first storage node and sends the hash value of the required file segment.
Step 402, detecting whether the demand file segment sent by the second storage node is a demand file segment that needs to be acquired by the first storage node according to the hash value of the demand file segment sent by the second storage node.
The first storage node detects whether the required file segment sent by the second storage node is the required file segment required to be acquired by the first storage node or not through a required list in the first account book according to the hash value of the required file segment sent by the second storage node.
Step 403, if it is determined that the required file segment sent by the second storage node is the required file segment that needs to be acquired by the first storage node, deleting the hash value of the required file segment from the required list, and adding the hash value of the required file segment to the acquired list to obtain the updated first account book.
If the hash value of the required file segment sent by the second storage node is matched with the hash value of the required file segment stored in the required list, determining that the required file segment sent by the second storage node is the required file segment required to be acquired by the first storage node, deleting the hash value of the required file segment from the required list, adding the hash value of the required file segment into the acquired list, and obtaining the updated first account book.
Step 404, sending the updated first ledger to the blockchain platform, so that the blockchain platform updates the total ledger.
The first storage node broadcasts the updated first account book to the block chain platform, and after one block chain link point in the block chain platform responds to the broadcast, the total account book stored locally is updated according to the updated first account book, and the updated total account book is broadcast to other block chain nodes in the block chain platform so as to synchronize the total account book.
Fig. 6 is an architecture diagram of a specific embodiment of a file retrieval method according to an exemplary embodiment of the present application. As shown in the figure, in step 1, a user B in the distributed file storage system checks whether a hash value of content received from a storage node exists in a requirement list; in step 2, if the verification passes, returning authentication to the storage node; in step 3, the storage node updates the self account book according to the authentication returned by the user B; in step 4, the storage node broadcasts the updated self account book to the block chain platform so as to update the total account book of the block chain platform; in step 5, the user B deletes the received content from the demand list and adds the received content to the acquired list; in step 6, the user B updates the self account book; in step 7, the user B broadcasts the updated self account book to the blockchain platform to update the total account book of the blockchain platform.
In summary, in the embodiment of the present application, the first storage node verifies whether the required file segment sent by the second storage node is the required file segment that the first storage node needs to acquire through the hash value of the required file segment sent by the second storage node, so that the accuracy of acquiring the file segment is improved.
Furthermore, in this application embodiment, the updated first account book is broadcast to the blockchain platform through the first storage node, and the blockchain platform updates the total account book according to the updated first account book, so that the timeliness of the total account book stored in the blockchain platform is improved.
Referring to fig. 7, a flowchart of a method for obtaining a file according to an exemplary embodiment of the present application is shown. The method is applicable to a first storage node of distributed storage nodes in an implementation environment as shown in fig. 1, and comprises the following steps:
step 501, the first storage node sends the hash value of the required file segment to the blockchain platform.
The first storage node broadcasts the hash value of the demand file segment to the blockchain platform. The demand file segment is a file segment of a file which needs to be acquired by the first storage node.
Step 502, the block chain platform queries the device identifiers of the at least two second storage nodes storing the required file segments through the general ledger according to the hash value of the required file segments.
One blockchain node in the blockchain platform responds to the broadcast of the first storage node, and device identifications of at least two second storage nodes storing the required file segments are inquired in the general ledger according to the hash value of the required file segments.
In step 503, the blockchain platform sends the device identifiers of the at least two second storage nodes to the first storage node.
One blockchain node in the blockchain platform sends the identities of at least two second storage nodes to the first storage node.
Step 504, the first storage node sends the first account book to the at least two second storage nodes according to the device identifiers of the at least two second storage nodes.
And the first storage node sends the first account book to the at least two second storage nodes according to the device identifications of the at least two second storage nodes sent by the block chain platform.
And 505, after the second storage node determines that the first account book is matched with the second account book, calculating the liability rate of the first storage node according to the first account book.
And after receiving the first account book, the second storage node detects whether the first account book is matched with a second account book stored in the second storage node, and if the first account book is matched with the second account book, the liability rate of the first storage node is calculated according to the number of file segments in a sent list in the first bill and the file segment data in an uncompleted list.
The matching between the first account book and the second account book means that the operation behavior of the first storage node recorded in the second account book is the same as the operation behavior of the first storage node recorded in the first account book.
Step 506, if the first account book and the second account book are matched and the liability rate of the first storage node is not higher than the liability rate threshold, the second storage node sends a connection establishment instruction to the first storage node.
And determining that the first account book and the second account book are matched, determining that the first storage node is a legal user and not a stealing link user in the distributed file storage system, determining that the liability rate of the first storage node is not higher than the liability rate threshold value, determining that the first storage node is not a rogue node, and sending a connection establishment instruction to the first storage node by the second storage node.
Optionally, the second storage node ranks among all the valid nodes according to the liability rate of the first storage node, and sends the connection establishment instruction to the first storage node according to the sequence from the back to the front of the ranking. The valid node is a node which sends an account book to the second storage node in the distributed file storage system, and the liability rate is not higher than the liability rate threshold.
The second storage node may respond to send requests from multiple other storage nodes, and therefore the second storage node needs to order the order in which the file segments are sent. After the liability rates of all the effective nodes are calculated by the second storage node, the liability rate of the first storage node is ranked in all the effective nodes, if the number of the effective nodes is 10, and the liability rate of the first storage node is ranked at 3 < rd > in all the effective nodes, the rank of the file segment sent to the first storage node by the second storage node is 7 < th >.
And step 507, the first storage node establishes connection with the second storage node according to the connection establishment instruction, and sends the hash value of the required file segment to the second storage node.
And the first storage node sends the hash value of the required file segment to the second storage node after establishing connection with the second storage node according to the connection establishing instruction sent by the second storage node.
Step 508, the second storage node sends the required file segment and the hash value of the required file segment to the first storage node according to the hash value of the required file segment sent by the first storage node.
For example, after receiving the hash value of the required file segment, the second storage node detects whether the required file segment is locally stored through the acquired manifest in the second ledger, and if the required file segment is locally stored, sends the required file segment and the hash value of the required file segment to the first storage node.
In step 509, the first storage node receives the requirement file segments sent by the second storage node, and combines the requirement file segments to obtain the requirement file.
And after receiving the demand file fragments sent by at least two second storage nodes, the first storage node merges the demand file fragments into a demand file.
In step 510, the first storage node detects, according to the hash value of the demand file segment sent by the second storage node, whether the demand file segment sent by the second storage node is a demand file segment that the first storage node needs to acquire.
The first storage node detects whether the required file segment sent by the second storage node is the required file segment required to be acquired by the first storage node or not through a required list in the first account book according to the hash value of the required file segment sent by the second storage node.
If the required file segment is the required file segment that needs to be acquired by the first storage node, step 511 is performed; and if the required file segment is not the required file segment required to be acquired by the first storage node, resending the hash value of the erroneously transmitted required file segment to the blockchain platform.
In step 511, after the first storage node determines that the required file segment sent by the second storage node is the required file segment that needs to be acquired by the first storage node, the hash value of the required file segment is deleted from the required list, and the hash value of the required file segment is added to the acquired list, so as to obtain the updated first account book.
If the hash value of the required file segment sent by the second storage node is matched with the hash value of the required file segment stored in the required list, determining that the required file segment sent by the second storage node is the required file segment required to be acquired by the first storage node, deleting the hash value of the required file segment from the required list, adding the hash value of the required file segment into the acquired list, and obtaining the updated first account book.
Step 512, the first storage node sends the updated first account book to the blockchain platform, so that the blockchain platform updates the total account book.
The first storage node broadcasts the updated first account book to the blockchain platform, a plurality of blockchain nodes in the blockchain platform inquire the broadcast content of the blockchain platform, one blockchain node updates the locally stored total account book according to the updated first account book after responding to the broadcast of the first storage node, and broadcasts the updated total account book to other blockchain nodes in the blockchain platform so as to synchronize the total account book.
In step 513, the first storage node sends the confirmation result to the second storage node.
After determining that the demand file segment sent by the second storage node is the demand file segment which needs to be acquired by the first storage node, the first storage node sends a confirmation result to the second storage node, wherein the confirmation result is used for informing the second storage node that the demand file segment sent by the second storage node is the demand file segment which needs to be acquired by the first storage node.
In step 514, the second storage node adds the hash value of the required file segment to the sending list of the second account book to obtain the updated second account book.
And after receiving the confirmation result sent by the first storage node, the second storage node adds the hash value of the required file segment to a sending list of the second account book to obtain the updated second account book.
Step 515, sending the updated second ledger.
And broadcasting the updated second account book to the blockchain platform by the second storage node, wherein the broadcast content of a plurality of blockchain nodes in the blockchain platform is inquired, one blockchain node in the blockchain platform responds to the broadcast of the second storage node, updates the locally stored total account book according to the updated second account book, and broadcasts the updated total account book to other blockchain nodes in the blockchain platform so as to synchronize the total account book.
In summary, in the embodiment of the present application, by sending a required file segment to a first storage node when a second storage node detects that a first ledger of the first storage node matches a second ledger in the second storage node, since the first ledger contains the operation record of the first storage node on the file segment stored in the distributed file storage system, therefore, the second storage node can judge whether the first node is a legal user in the distributed file storage system according to the judgment of whether the first account book is matched with the second account book, the problem that the access and/or downloading behavior of the legal user possibly fails due to the irregular modification of the file name anti-theft chain in the related art is solved, on the basis of realizing the anti-theft link, the failure rate of downloading and/or accessing the file by a legal user is reduced, and the fluency of the user for acquiring the file is improved.
Optionally, in this embodiment of the application, the second storage node calculates the liability rate of the first storage node through the first account book, and sends the connection establishment instruction to the first storage node when the liability rate is not higher than the liability rate threshold, so that resources of the distributed file storage system are prevented from being occupied by malicious nodes, and the working efficiency of the distributed file storage system is improved.
Optionally, in the embodiment of the application, the first storage node sends the hash value of the required file segment to the blockchain platform, the blockchain platform queries, according to the hash value of the required file segment, the at least two second storage nodes in which the required file segment is stored in the general ledger, and sends the device identifiers of the at least two second storage nodes to the first storage node, so that the first storage node can accurately establish connection with the at least two second storage nodes in which the required file segment is stored.
Optionally, in the embodiment of the present application, the first storage node verifies, through the hash value of the demand file segment sent by the second storage node, whether the demand file segment sent by the second storage node is the demand file segment that the first storage node needs to acquire, so that it is avoided that the first storage node receives an erroneous file segment due to a system failure of the second storage node, and accuracy of acquiring the file segment is improved.
Optionally, in this embodiment of the application, the updated first account book and the updated second account book are broadcast to the blockchain platform through the first storage node and the second storage node, and the blockchain platform updates the total account book according to the updated first account book and the updated second account book, so that timeliness of the total account book stored in the blockchain platform is improved.
One of the at least two second storage nodes may store the target file in the distributed file storage system before the first storage node obtains the required file segments from the at least two second storage nodes. The embodiments of fig. 8 and 9 will be described with respect to a storage process in which the second storage node stores the target file in the distributed file storage system.
Referring to fig. 8, a flowchart of a method of storing a file according to an exemplary embodiment of the present application is shown. The method, which may be the method before step 201 in the embodiment of fig. 2, may be applied to a second storage node of the distributed storage nodes in the implementation environment shown in fig. 1, and includes:
step 601, the second storage node sends a storage request to the blockchain platform.
The second storage node broadcasts a deposit request to the blockchain platform, the deposit request being used to inform the blockchain platform that the second storage node requests storage of the target file in the distributed file storage system.
Step 602, starting a timer with random duration according to a storage request by n block chain link points in the block chain platform, wherein n is a natural number and is greater than or equal to 2.
Illustratively, n block chain nodes respond to a storage request of a second storage node, and after a first time period, the n block chain nodes enter an activated state and send an activation signaling to each other; after a second time period has elapsed, the n activated block link points start a timer of random duration at the same time.
Step 603, after the timer is overtime, the ith block chain link point in the n block chain nodes sends an ith timing completion signaling to other n-1 block chain link points except the ith block chain link point in the n block chain nodes, wherein i is a natural number, and i is more than or equal to 1 and less than or equal to n.
And after the timer is overtime, the ith block chain link point sends the ith timing completion signaling to other n-1 block chain link points in the n block chain nodes. The ith timing completion signaling carries the time when the timer of the ith block link node times out and the equipment identifier of the ith block link node.
Step 604, when the jth block chain link point in the n block chain nodes receives the timing completion signaling, if the timer of the jth block chain link point is not overtime, the timer is stopped, and the received signaling is sent to the other n-1 block chain link points except the jth block chain link point in the n block chain nodes, wherein j is a natural number, and j is greater than or equal to 1 and is less than or equal to n.
And when the jth block chain node receives timing completion signaling sent by other block chain nodes, if the timer of the jth block chain node is not overtime, stopping the timer, and sending the received signaling to other n-1 block chain nodes. Wherein, the jth received signaling carries the device identifier of the jth block chain node.
And step 605, after the timing completion signaling and the received signaling are received between every two n block link points, taking the block link point with the earliest overtime moment of the timer as a leader node according to the timing completion signaling.
After any one of the n block chain nodes receives the signaling sent by other block chain nodes, according to the timing completion time carried in the timing completion signaling and the equipment identifier of the block chain link point, selecting the block chain link point with the earliest timing completion time as a leader node, wherein the leader node is used for communicating with a second storage node and forwarding information sent by the second storage node.
And step 606, the second storage node sends the hash value of the target file to the leader node.
And the second storage node calculates the hash value of the target file to be stored and sends the hash value of the target file segment to the leader node.
Step 607, the leader node sends the hash value of the target file to other blockchain nodes in the blockchain platform.
And after receiving the hash value of the target file, the leader node sends the hash value of the target file to other (n-1) block chain nodes.
And step 608, the leader node and other block chain nodes respectively detect whether the hash value of the target file exists in the block chain platform, and a node check result is obtained.
And respectively detecting whether the hash value of the target file exists in the total account book by the leader node and other block chain nodes to obtain a node checking result. And if the leader node or other block chain nodes determine that the total account book does not contain the hash value of the target file segment, the node verification result is passed. The hash value of the target file segment does not exist on the general ledger, which indicates that any storage node on the distributed file storage system does not store the target file segment, so that the target file is determined to be original by the second storage node, but not the contents of plagiarism.
The hash value of a file stored in the distributed file storage system is recorded in the general ledger of the block chain platform, and the leader node and other block chain nodes judge whether other storage nodes store the target file in the distributed file storage system or not by inquiring whether the hash value of the target file exists in the general ledger of the leader node and other block chain nodes, so that the originality of the target file is judged.
And step 609, when the leader node determines that the node verification result contains (n/2+1) node verification results as pass, determining that the node verification result is pass, and sending the verification result used for indicating pass to the second storage node.
The leader node counts node verification results of the leader node and other block chain nodes, if the node verification results contain (n/2+1) node verification results which are passed, the node verification results are determined to be passed, and verification results used for representing the passing are sent to the second storage node; and if the node verification result does not contain (n/2+1) node verification results, determining that the node verification result passes, sending a verification result for indicating that the node verification result does not pass to the second storage node, wherein the non-passing verification result is used for prohibiting the second storage node from storing the target file segment in the distributed file storage system.
And step 610, the second storage node stores the target file segment in the distributed file storage system according to the passed verification result.
And the second storage node stores the target file segment in the distributed file storage system according to the verification result for indicating passing.
Fig. 9 is an architecture diagram of a specific embodiment of a file storage method according to an exemplary embodiment of the present application. As shown in the figure, in step 1, a user a produces content and calculates a hash value of the content; in step 2, a user A broadcasts a storage request to a block chain platform, and a verification group consisting of at least one block chain node responds to the broadcast; in step 3, verifying the election of the group to generate a leader node; in step 4, the leader node replies to the storage request of the user A; in step 5, the user A sends a verification request to the leader node, wherein the request carries the hash value of the content to be stored; in step 7 and step 8, verifying whether each block chain link point in the group checks whether a hash value of the content to be stored is stored in the block chain total account book; in step 8, sending respective verification results between every two verification groups to start forming consensus; in step 9, the leader node counts the verification result; in step 10, the leader node sends the verification result to user a.
FIG. 10 is an architecture diagram of one embodiment of a file storage and retrieval method provided by an exemplary embodiment of the present application. As shown in the figure, the architecture is divided into two parts, one part is that the user a stores the generated content in the IPFS system, and the other part is that the user B obtains the content stored by the user a from the IPFS system, and the specific implementation manner may refer to the embodiments in fig. 3, fig. 6, and fig. 9, which is not described herein again.
In summary, in the embodiment of the application, the hash value of the target file is sent to the leader node by the second storage node, and the leader node and other block chain nodes detect whether the hash value of the target file exists on the block chain platform to obtain a verification result, and if the hash value of the target file does not exist on the block chain platform, it indicates that the target file is originated by the second storage node but not plagiarism, so that the second storage node is allowed to store the target file on the distributed file storage system, and the risk of piracy of the file stored on the distributed file storage system is reduced.
Referring to fig. 11, a block diagram of a file retrieving apparatus according to an exemplary embodiment of the present application is shown, where as shown, the apparatus may be applied to a first storage node of the storage nodes in the implementation environment shown in fig. 1, the apparatus includes a sending module 810, a receiving module 820, and a processing module 830:
a sending module 810, configured to execute sending steps for implementing step 201, step 203, step 301, step 303, step 404, step 501, step 504, step 507, step 512, step 513, and the like in the embodiments of fig. 2, fig. 3, fig. 5, or fig. 7, and other implicit sending steps.
A receiving module 820, configured to perform the steps 202, 204, 302, 401, 503, 506, 508, and other implicit receiving steps in the embodiments of fig. 2, fig. 3, fig. 5, or fig. 7 described above.
Processing module 830 is configured to execute the steps 402, 403, 509, 510, 511, and other implicit processing steps in the embodiment of fig. 5 or 7.
Referring to fig. 12, a block diagram of a file retrieving apparatus according to an exemplary embodiment of the present application is shown, where as shown, the apparatus may be applied to a second storage node of the storage nodes in the implementation environment shown in fig. 1, the apparatus includes a sending module 910, a receiving module 920, and a processing module 930:
a sending module 910, configured to perform sending steps such as step 506, step 508, step 515, and other implicit sending steps in the implementation of the foregoing fig. 7 embodiment.
A receiving module 920, configured to perform the steps 504, 507, and 513 in the embodiment of fig. 7 described above, as well as other implicit receiving steps.
A processing module 930 configured to perform the step 505 of the embodiment of fig. 7 described above, as well as other implicit processing steps.
Referring to fig. 13, a block diagram of an electronic device according to an exemplary embodiment of the present application is shown. The apparatus comprises: a processor 1010, a memory 1020, and a communication interface 1030.
Processor 1010 may be a Central Processing Unit (CPU), a Network Processor (NP), or a combination of a CPU and an NP. The processor 1010 may further include a hardware chip. The hardware chip may be an application-specific integrated circuit (ASIC), a Programmable Logic Device (PLD), or a combination thereof. The PLD may be a Complex Programmable Logic Device (CPLD), a field-programmable gate array (FPGA), a General Array Logic (GAL), or any combination thereof.
The memory 1020 is connected to the processor 1010 through a bus or other means, and at least one instruction, at least one program, a code set, or an instruction set is stored in the memory 1020, and the at least one instruction, the at least one program, the code set, or the instruction set is loaded and executed by the processor 1010 to implement the file obtaining method in the above-described embodiment. The memory 1020 may be a volatile memory (or a nonvolatile memory), a non-volatile memory (or a combination thereof). The volatile memory may be a random-access memory (RAM), such as a static random-access memory (SRAM) or a dynamic random-access memory (DRAM). The nonvolatile memory may be a Read Only Memory (ROM), such as a Programmable Read Only Memory (PROM), an Erasable Programmable Read Only Memory (EPROM), and an Electrically Erasable Programmable Read Only Memory (EEPROM). The non-volatile memory may also be a flash memory, a magnetic memory, such as a magnetic tape, a floppy disk, or a hard disk. The non-volatile memory may also be an optical disc.
The communication interface 1030 is connected to the memory 1020 and the processor 1010 through a bus or other means, and the electronic device can transmit information to other storage nodes or block chain nodes through the communication interface 1030 or receive information transmitted by other storage nodes or block chain nodes through the communication interface 1030.
The present application further provides a computer-readable storage medium, where at least one instruction, at least one program, a code set, or a set of instructions is stored in the storage medium, and the at least one instruction, the at least one program, the code set, or the set of instructions is loaded and executed by the processor to implement the file acquisition method provided by the foregoing method embodiments.
The present application also provides a computer program product containing instructions which, when run on a computer, cause the computer to perform the file retrieval method of the above aspects.
Referring to fig. 14, a block diagram of an electronic device according to an exemplary embodiment of the present application is shown. The apparatus comprises: a processor 1110, a memory 1120, and a communications interface 1130.
The processor 1110 may be a Central Processing Unit (CPU), a Network Processor (NP), or a combination of a CPU and an NP. The processor 1110 may further include a hardware chip. The hardware chip may be an application-specific integrated circuit (ASIC), a Programmable Logic Device (PLD), or a combination thereof. The PLD may be a Complex Programmable Logic Device (CPLD), a field-programmable gate array (FPGA), a General Array Logic (GAL), or any combination thereof.
The memory 1120 is connected to the processor 1110 through a bus or other means, and at least one instruction, at least one program, a code set, or a set of instructions is stored in the memory 1120, and the at least one instruction, at least one program, code set, or set of instructions is loaded and executed by the processor 1110 to implement the file storage method in the above-described embodiment. The memory 1120 may be a volatile memory (or a nonvolatile memory), a non-volatile memory (or a combination thereof). The volatile memory may be a random-access memory (RAM), such as a static random-access memory (SRAM) or a dynamic random-access memory (DRAM). The nonvolatile memory may be a Read Only Memory (ROM), such as a Programmable Read Only Memory (PROM), an Erasable Programmable Read Only Memory (EPROM), and an Electrically Erasable Programmable Read Only Memory (EEPROM). The non-volatile memory may also be a flash memory, a magnetic memory, such as a magnetic tape, a floppy disk, or a hard disk. The non-volatile memory may also be an optical disc.
The communication interface 1130 is connected to the memory 1120 and the processor 1110 through a bus or other means, and the electronic device can transmit information to other storage nodes or block chain nodes through the communication interface 1130 or receive information transmitted by other storage nodes or block chain nodes through the communication interface 1130.
The present application further provides a computer-readable storage medium, in which at least one instruction, at least one program, a code set, or a set of instructions is stored, and the at least one instruction, the at least one program, the code set, or the set of instructions is loaded and executed by the processor to implement the file storage method provided by the above-mentioned method embodiment.
The present application also provides a computer program product containing instructions which, when run on a computer, cause the computer to perform the file storage method of the above aspects.
It should be understood that reference to "a plurality" herein means two or more. "and/or" describes the association relationship of the associated objects, meaning that there may be three relationships, e.g., a and/or B, which may mean: a exists alone, A and B exist simultaneously, and B exists alone. The character "/" generally indicates that the former and latter associated objects are in an "or" relationship.
The above-mentioned serial numbers of the embodiments of the present application are merely for description and do not represent the merits of the embodiments.
It will be understood by those skilled in the art that all or part of the steps for implementing the above embodiments may be implemented by hardware, or may be implemented by a program instructing relevant hardware, where the program may be stored in a computer-readable storage medium, and the above-mentioned storage medium may be a read-only memory, a magnetic disk or an optical disk, etc.
The above description is only exemplary of the present application and should not be taken as limiting the present application, as any modification, equivalent replacement, or improvement made within the spirit and principle of the present application should be included in the protection scope of the present application.

Claims (21)

1. A file acquisition method is applied to a first storage node of a distributed file storage system, and comprises the following steps:
sending a first account book to a second storage node in the distributed file storage system; an account book is stored in a storage node in the distributed file storage system, the account book includes an operation record of the storage node operating a file segment stored in the distributed file storage system, and the first account book is the account book stored in the first storage node;
receiving a connection establishment instruction sent by the second storage node, where the connection establishment instruction is sent after the second storage node determines that the first account book and the second account book are matched, and the second account book is the account book stored in the second storage node;
establishing connection with the second storage node according to the connection establishment instruction, and sending the unique identification information of the required file segment to the second storage node;
receiving the demand file fragments sent by the second storage node, and combining to obtain a demand file; the requirement file segment is obtained by the second storage node according to the unique identification information through local query.
2. The method of claim 1, wherein the ledger comprises unique identifying information of file segments that have been acquired by the storage node, the method further comprising:
sending the unique identification information of the required file segment to an index node in the distributed file storage system; the index node is in communication connection with at least one storage node of the distributed file storage system, a general ledger is stored in the index node, and the general ledger comprises the ledger stored by each storage node in the distributed file storage system and a device identifier of the storage node corresponding to the ledger;
receiving the device identification of the second storage node sent by the index node; the equipment identification of the second storage node is obtained by the index node according to the unique identification information of the required file segment through query in the general ledger book;
the sending the first ledger to the second storage node in the distributed file storage system includes:
and sending the first account book to the second storage node according to the equipment identifier of the second storage node.
3. The method according to claim 1 or 2, wherein the ledger includes a requirement manifest including unique identification information of required file segments that the storage node needs to acquire, and an acquired manifest including unique identification information of required file segments that the storage node has acquired, the method further comprising:
receiving unique identification information of the demand file fragment sent by the second storage node;
detecting whether the demand file segment sent by the second storage node is the demand file segment required to be acquired by the first storage node or not according to the unique identification information of the demand file segment;
if the required file segment sent by the second storage node is determined to be the required file segment required to be acquired by the first storage node, deleting the unique identification information of the required file segment from the required list of the first account book, and adding the unique identification information of the required file segment into the acquired list of the first account book to obtain an updated first account book;
and sending the updated first account book to the index node for the index node to update the total account book.
4. The method according to claim 1 or 2, wherein the receiving of the connection establishment instruction sent by the second storage node comprises:
receiving a connection establishment instruction sent by the second storage node; the connection establishment instruction is sent after the second storage node determines that the first account book and the second account book are matched and the liability rate of the first storage node is lower than the liability rate threshold;
the liability rate is calculated by the second storage node according to the number of file fragments sent to the distributed file storage system by the first storage node included in the first account and the number of file fragments that the first storage node should send to the distributed file storage system but has not finished sending.
5. A file acquisition method is applied to a second storage node in a distributed file storage system, and comprises the following steps:
receiving a first account book sent by a first storage node in the distributed file storage system; an account book is stored in a storage node in the distributed file storage system, the account book includes an operation record of the storage node operating a file segment stored in the distributed file storage system, and the first account book is the account book stored in the first storage node;
if the first account book is matched with the second account book, sending a connection establishment instruction to the first storage node, wherein the connection establishment instruction is used for indicating the first storage node and the second storage node to establish connection, and the second account book is the account book stored in the second storage node;
establishing a connection with the first storage node;
receiving unique identification information of the demand file fragment sent by the first storage node;
sending a demand file segment to the first storage node; the requirement file fragment is obtained by local query according to the unique identification information.
6. The method of claim 5, further comprising:
calculating the liability rate of the first storage node according to the first account book; the liability rate is calculated according to the number of file fragments sent to the distributed file storage system by the first storage node and the number of file fragments which should be sent to the distributed file storage system by the first storage node but are not sent;
detecting whether the liability rate is higher than a liability rate threshold;
the establishing connection with the first storage node comprises:
and if the liability rate is not higher than the liability rate threshold value, establishing connection with the first storage node.
7. The method of claim 6, wherein after detecting whether the liability rate is above a liability rate threshold, further comprising:
if the liability rate is not higher than the liability rate threshold, calculating the ranking of the first storage node in all effective nodes according to the liability rate; the valid node is a storage node which sends the account book to the second storage node in the distributed file storage system and has a liability rate not higher than the liability rate threshold;
the establishing connection with the first storage node comprises:
and establishing connection with the first storage node according to the sequence from the back to the front of the ranking.
8. The method according to any one of claims 5 to 7, further comprising:
adding the unique identification information of the required file segment into a sending list of the second account book to obtain an updated second account book; the sending list of the second account book is unique identification information of the required file segment sent by the second storage node to the storage nodes in the distributed file storage system;
sending the updated second general ledger to an index node in the distributed file storage system; the index node is in communication connection with at least one storage node, a general ledger is stored in the index node, and the general ledger comprises each account in the distributed file storage system.
9. The method according to any one of claims 5 to 7, wherein said sending a demand file segment to the first storage node comprises:
sending a demand file segment and unique identification information of the demand file segment to the first storage node; the unique identification information of the file fragment is used for enabling the first storage node to detect whether the demand file fragment sent by the second storage node is the demand file fragment which needs to be acquired by the first storage node according to the unique identification information of the demand file fragment.
10. The method of claim 5, wherein before receiving the first ledger sent by the first storage node in the distributed file storage system, further comprising:
sending the unique identification information of the target file to a leader node in the index nodes; the leader node is a node in the index node responsible for communicating with the second storage node;
receiving a verification result which is sent by the leader node and used for indicating whether the target file is an original file or not; the check result is a result obtained by counting according to a received node check result sent by the other index nodes and a local node check result after the leader node sends the unique identification information of the target file to the other index nodes except the leader node, and the node check result is a result obtained by detecting whether the unique identification information of the target file exists in the total ledger by the leader node or any one of the other index nodes;
and if the verification result is that the verification is passed, storing the target file into the distributed file storage system.
11. The method of claim 10, wherein prior to sending the unique identifying information of the target file to the leader node of the inodes, further comprising:
sending a storage request to the distributed file storage system, wherein the storage request is used for requesting the storage of the target file in the distributed file storage system;
receiving a verification request sent by the leader node; the verification request is an instruction which is sent to the second storage node to verify the target file after the leader node receives the storage request.
12. A file storage method is applied to a distributed file storage system, and comprises the following steps:
a leader node in the distributed file storage system receives unique identification information of a target file sent by a second storage node in the distributed file storage system; the leader node is an index node in the index nodes, which is responsible for communicating with the second storage node; the index node comprises unique identification information of all files stored in the distributed file storage system, and the index node is in communication connection with at least one storage node;
the leader node sends the unique identification information of the target file to other index nodes except the leader node;
the leader node and the other index nodes respectively detect whether the unique identification information of the target file exists in the distributed file storage system or not to obtain a node verification result;
the leader node counts the node verification results to obtain verification results;
the leader node sends the verification result to the second storage node; and if the verification result is passed, the verification result is used for indicating the second storage node to store the target file in the distributed file storage system.
13. The method of claim 12, wherein the leader node counts the node verification results to obtain verification results, comprising:
the leader node detects whether the node check result contains n/2+1 node check results as pass or not; the node check result is that the unique identification information of the target file is determined not to be contained in the distributed file storage system by representing the leader node or any other index node, n is the total number of the leader node and the other index nodes, n is a natural number, and n is more than or equal to 1;
if the node verification result comprises n/2+1 node verification results, the leader node determines that the node verification result passes;
and if the node verification result does not contain n/2+1 node verification results, the leader node determines that the node verification results do not pass.
14. The method according to claim 12 or 13, characterized in that the method further comprises:
the n index nodes receive the storage request of the second storage node; the deposit request is used for requesting the storage of the target file in the distributed file storage system;
each index node in the n index nodes starts a timer with random time length according to the storage request;
after the timer of the ith index node is overtime, the ith index node in the n index nodes sends an ith timing completion signaling to other n-1 index nodes except the ith index node in the n index nodes, wherein i is a natural number, and i is more than or equal to 1 and less than or equal to n; the ith timing completion signaling carries the time when the timer of the ith index node is overtime and the equipment identifier of the ith index node;
when the jth index node in the n index nodes receives the timing completion signaling, if the timer of the jth index node is not overtime, stopping the timer of the jth index node, and sending the jth received signaling to other n-1 index nodes except the jth index node in the n index nodes, wherein j is a natural number, and j is greater than or equal to 1 and less than or equal to n; the jth received signaling carries the device identifier of the jth index node;
after the n index nodes receive the timing completion signaling and the received signaling, the index node with the earliest timer timeout time is used as the leader node according to the timing completion signaling.
15. The method of claim 14, wherein each of the n inodes starts a timer of random duration in response to the deposit request, comprising:
according to the storage request, after a first time threshold value is exceeded, the n index nodes enter an activation state;
the n index nodes entering the activated state mutually send activation signaling;
after the second time threshold is exceeded, if the n index nodes entering the activated state do not send the activation signaling any more, each index node in the n index nodes starts the timer with a random time length.
16. A file acquisition apparatus, applied to a first storage node of a distributed file storage system, the apparatus comprising:
the sending module is used for sending a first account book to a second storage node in the distributed file storage system; an account book is stored in a storage node in the distributed file storage system, the account book includes an operation record of the storage node operating a file segment stored in the distributed file storage system, and the first account book is the account book stored in the first storage node;
a receiving module, configured to receive a connection establishment instruction sent by the second storage node, where the connection establishment instruction is sent by the second storage node after determining that the first account book and the second account book are matched, and the second account book is the account book stored in the second storage node;
the sending module is further configured to establish a connection with the second storage node according to the connection establishment instruction, and send the unique identification information of the required file segment to the second storage node;
the receiving module is further configured to receive the requirement file segment sent by the second storage node; the requirement file segment is obtained by the second storage node through local query according to the unique identification information;
and the processing module is used for merging the demand file fragments and obtaining the demand file.
17. A file acquisition apparatus, applied to a second storage node in a distributed file storage system, the apparatus comprising:
the receiving module is used for receiving a first account book sent by a first storage node in the distributed file storage system; an account book is stored in a storage node in the distributed file storage system, the account book includes an operation record of the storage node operating a file segment stored in the distributed file storage system, and the first account book is the account book stored in the first storage node;
a sending module, configured to send a connection establishment instruction to the first storage node if the first account book and the second account book are matched, where the connection establishment instruction is used to instruct the first storage node and the second storage node to establish a connection, and the second account book is the account book stored in the second storage node;
the processing module is used for establishing connection with the first storage node;
the receiving module is further configured to receive unique identification information of the demand file segment sent by the first storage node;
the sending module is further used for sending the required file segments to the first storage node; the requirement file fragment is obtained by local query according to the unique identification information.
18. An electronic device, comprising a processor and a memory, wherein at least one instruction is stored in the memory, and the at least one instruction is loaded and executed by the processor to implement the file acquisition method according to any one of claims 1 to 11.
19. An electronic device, comprising a processor and a memory, wherein at least one instruction is stored in the memory, and the at least one instruction is loaded and executed by the processor to implement the file storage method according to any one of claims 12 to 15.
20. A computer-readable storage medium having stored thereon at least one instruction, which is loaded and executed by a processor to implement the file acquisition method of any one of claims 1 to 11.
21. A computer-readable storage medium having stored therein at least one instruction, which is loaded and executed by a processor to implement the file storage method of any one of claims 12 to 15.
CN201810482561.8A 2018-05-18 2018-05-18 File acquisition method, device, equipment and storage medium Active CN108710681B (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202010047750.XA CN111291000B (en) 2018-05-18 2018-05-18 File acquisition method, equipment and storage medium based on block chain
CN201810482561.8A CN108710681B (en) 2018-05-18 2018-05-18 File acquisition method, device, equipment and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810482561.8A CN108710681B (en) 2018-05-18 2018-05-18 File acquisition method, device, equipment and storage medium

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN202010047750.XA Division CN111291000B (en) 2018-05-18 2018-05-18 File acquisition method, equipment and storage medium based on block chain

Publications (2)

Publication Number Publication Date
CN108710681A CN108710681A (en) 2018-10-26
CN108710681B true CN108710681B (en) 2022-02-22

Family

ID=63869123

Family Applications (2)

Application Number Title Priority Date Filing Date
CN202010047750.XA Active CN111291000B (en) 2018-05-18 2018-05-18 File acquisition method, equipment and storage medium based on block chain
CN201810482561.8A Active CN108710681B (en) 2018-05-18 2018-05-18 File acquisition method, device, equipment and storage medium

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN202010047750.XA Active CN111291000B (en) 2018-05-18 2018-05-18 File acquisition method, equipment and storage medium based on block chain

Country Status (1)

Country Link
CN (2) CN111291000B (en)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109831527B (en) * 2019-03-13 2021-12-28 试金石信用服务有限公司 File processing method, user side, server and readable storage medium
CN111767427B (en) * 2019-04-02 2024-04-05 浙江宇视科技有限公司 Video information storage method and data storage domain
US20200394321A1 (en) * 2019-06-11 2020-12-17 International Business Machines Corporation Document redaction and reconciliation
CN111563083B (en) * 2020-04-30 2023-04-28 中国银行股份有限公司 Report data query method, device and system
CN112054990B (en) * 2020-07-21 2022-09-16 杜晓楠 Method for preventing Hash flood attack in blockchain system, computer readable medium and blockchain system
CN112100171B (en) * 2020-08-12 2021-06-25 北京大学 Method and device for establishing content index for random consensus diagram book
CN112311798A (en) * 2020-11-02 2021-02-02 大连理工大学 Data block exchange method based on peer-to-peer hypermedia distribution protocol
CN112749144B (en) * 2021-01-15 2023-06-30 云南云电同方科技有限公司 System and method for storing persistent file based on blockchain
EP4191976A1 (en) * 2021-12-06 2023-06-07 Wyplay Methods and devices for content distribution

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102752326A (en) * 2011-04-19 2012-10-24 腾讯科技(深圳)有限公司 Method, client, server and system for processing data in file downloading
US8990248B1 (en) * 2006-12-13 2015-03-24 Cisco Technology, Inc. Peer-to-peer network image distribution hierarchy
CN104731516A (en) * 2013-12-18 2015-06-24 腾讯科技(深圳)有限公司 Method and device for accessing files and distributed storage system
CN105068757A (en) * 2015-07-23 2015-11-18 浙江大学 File semantics and system real-time state based redundant data deduplication method
CN106911751A (en) * 2015-12-23 2017-06-30 北京奇虎科技有限公司 File acquisition method, device and system
CN107172090A (en) * 2017-07-03 2017-09-15 郑州云海信息技术有限公司 The acquisition methods and acquisition device of a kind of file

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101599994B (en) * 2009-06-01 2012-07-18 中兴通讯股份有限公司 Distributed file system (DFS), access node (AN) and method of transmitting file data among nodes
US9881176B2 (en) * 2015-06-02 2018-01-30 ALTR Solutions, Inc. Fragmenting data for the purposes of persistent storage across multiple immutable data structures
US10491378B2 (en) * 2016-11-16 2019-11-26 StreamSpace, LLC Decentralized nodal network for providing security of files in distributed filesystems
CN106815530B (en) * 2016-12-26 2020-04-24 北京爱接力科技发展有限公司 Data storage method, data verification method and device
CN107147704B (en) * 2017-04-21 2019-12-13 杭州趣链科技有限公司 block chain-oriented universal service middleware system
CN107171829B (en) * 2017-04-24 2019-12-24 杭州趣链科技有限公司 Dynamic node management method realized based on BFT consensus algorithm
CN107273410B (en) * 2017-05-03 2020-07-07 上海点融信息科技有限责任公司 Block chain based distributed storage
CN107239940A (en) * 2017-05-11 2017-10-10 北京博晨技术有限公司 Network trading method and device based on block catenary system
CN107147735B (en) * 2017-05-12 2020-08-11 北京博晨技术有限公司 Distributed account book system based on hierarchical structure
CN107819891B (en) * 2017-10-16 2020-01-24 平安科技(深圳)有限公司 Data processing method, data processing device, computer equipment and storage medium
CN107819789A (en) * 2017-12-07 2018-03-20 北京泛融科技有限公司 A kind of content anti-hijack system and method based on block chain
CN107944868A (en) * 2017-12-07 2018-04-20 杭州趣链科技有限公司 A kind of electronics deposit system and management method based on block chain intelligence contract

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8990248B1 (en) * 2006-12-13 2015-03-24 Cisco Technology, Inc. Peer-to-peer network image distribution hierarchy
CN102752326A (en) * 2011-04-19 2012-10-24 腾讯科技(深圳)有限公司 Method, client, server and system for processing data in file downloading
CN104731516A (en) * 2013-12-18 2015-06-24 腾讯科技(深圳)有限公司 Method and device for accessing files and distributed storage system
CN105068757A (en) * 2015-07-23 2015-11-18 浙江大学 File semantics and system real-time state based redundant data deduplication method
CN106911751A (en) * 2015-12-23 2017-06-30 北京奇虎科技有限公司 File acquisition method, device and system
CN107172090A (en) * 2017-07-03 2017-09-15 郑州云海信息技术有限公司 The acquisition methods and acquisition device of a kind of file

Also Published As

Publication number Publication date
CN108710681A (en) 2018-10-26
CN111291000B (en) 2023-11-03
CN111291000A (en) 2020-06-16

Similar Documents

Publication Publication Date Title
CN108710681B (en) File acquisition method, device, equipment and storage medium
CN107480555B (en) Database access authority control method and device based on block chain
CN108681965B (en) Block chain network transaction processing method and device for offline node
CN108965299B (en) Data access method, access verification equipment and data storage system
CN110602239A (en) Block chain information storage method and related equipment
CN106936835A (en) The method and system that equipment is accessed
CN111262822B (en) File storage method, device, block link point and system
CN111899019A (en) Method and system for cross validation and sharing of blacklist and multiple parties
CN110597918A (en) Account management method and device and computer readable storage medium
CN112104671B (en) Interface authorization monitoring method and device, computer equipment and storage medium
CN115396209B (en) Access authorization method, device, electronic equipment and readable storage medium
CN112069169A (en) Block data storage method and device, electronic equipment and readable storage medium
CN111680282B (en) Node management method, device, equipment and medium based on block chain network
CN110597820B (en) Information processing method, device, storage medium and equipment based on block chain
CN110162274B (en) Data processing method, device and equipment based on block chain
CN111026711A (en) Block chain based data storage method and device, computer equipment and storage medium
CN115913802A (en) Service data processing method and device, electronic equipment and storage medium
CN112258184B (en) Method, apparatus, electronic device and readable storage medium for freezing blockchain network
CN104660721A (en) Method, system and device for processing download link in downloading of resource data
CN115733613B (en) File verification method, device and storage medium
US20240283799A1 (en) Method for managing a local ledger of a node belonging to a set of nodes contributing to a distributed ledger
CN111400161B (en) True machine verification method, device and system of mobile terminal
CN112837019A (en) Express delivery track data pushing method, device and equipment
CN113259352A (en) Block chain node safety monitoring method and device, computer equipment and storage medium
CN117454332A (en) Software use verification method, device and storage medium

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