CN110764698B - Information receiving and transmitting method and equipment - Google Patents

Information receiving and transmitting method and equipment Download PDF

Info

Publication number
CN110764698B
CN110764698B CN201910931605.5A CN201910931605A CN110764698B CN 110764698 B CN110764698 B CN 110764698B CN 201910931605 A CN201910931605 A CN 201910931605A CN 110764698 B CN110764698 B CN 110764698B
Authority
CN
China
Prior art keywords
information
sub
combined
reading
storage
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
CN201910931605.5A
Other languages
Chinese (zh)
Other versions
CN110764698A (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.)
Beihang University
Original Assignee
Beihang University
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 Beihang University filed Critical Beihang University
Priority to CN201910931605.5A priority Critical patent/CN110764698B/en
Publication of CN110764698A publication Critical patent/CN110764698A/en
Application granted granted Critical
Publication of CN110764698B publication Critical patent/CN110764698B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management

Abstract

The application discloses an information reading method, an information sending method, information reading equipment and information sending equipment. The information reading method comprises the following steps: sending an information reading request for reading information to a plurality of storage devices, wherein each storage device in the plurality of storage devices at least stores a part of sub information of the information; receiving combined coding information and sub-information storage amount information sent by each storage device in the plurality of storage devices in response to the information reading request, wherein the combined coding information is obtained by performing combined coding on all sub-information stored in the storage devices; and based on the sub-information storage amount information, disassembling the sub-information from the combined coding information; and combining the disassembled sub-information into the information.

Description

Information receiving and transmitting method and equipment
Technical Field
The present application relates to distributed data storage, and in particular, to an information reading method, an information sending method, an information reading apparatus, and an information sending apparatus.
Background
In recent years, distributed data storage has received increasing market attention. As one of the distributed data storage technologies, the block chain technology has been widely applied in many fields due to characteristics of decentralization, openness, independence, security, and the like.
However, as data interaction increases, the data access amount also increases, and the storage burden of the node joining the blockchain also increases. The problem of block dilation has become one of the major problems that restrict the efficiency and scope of block chaining.
Some nodes joining a blockchain do not store all of the information, but only a portion of it. In the data reading process, it is desirable to be able to efficiently and reasonably utilize the information stored by the nodes.
Disclosure of Invention
The application provides an information reading method, which comprises the following steps: sending an information reading request for reading information to a plurality of storage devices, wherein each storage device in the plurality of storage devices at least stores a part of sub information of the information; receiving combined coding information and sub-information storage amount information sent by each storage device in the plurality of storage devices in response to the information reading request, wherein the combined coding information is obtained by performing combined coding on all sub-information stored in the storage devices; and based on the sub-information storage amount information, disassembling the sub-information from the combined coding information; and combining the disassembled sub-information into the information.
According to the embodiment of the application, the combined coding information is the information obtained by performing exclusive or operation on all the sub information stored in the storage device.
According to an embodiment of the present application, the sub information storage amount information is a set of hash identifiers of all sub information stored by the storage device.
According to an embodiment of the present application, the parsing out the sub information from the combined coding information based on the sub information storage amount information includes: reading unique information, and in response to the fact that the set of hash identifiers read from one storage device only comprises one hash identifier, reading the combined coded information sent by the storage device as the unique information; detaching the unique information, removing the one hash identifier from the set of hash identifiers read from the other of the plurality of storage devices, and removing the unique information from the combined encoded information read from the other of the plurality of storage devices; iteratively performing said unique information reading and said unique information detaching on a set of hash identifiers and combined encoded information read from other storage devices of said plurality of storage devices and having been subjected to unique information detaching until a predetermined termination condition is satisfied.
According to an embodiment of the present application, the predetermined termination condition includes that the sub-information is all disassembled from the combined encoded information or that the iteration is performed up to a predetermined number of times.
According to an embodiment of the present application, the combined encoded information is information obtained by performing an exclusive or operation on all pieces of sub information stored in the storage device, and removing the sub information from the combined encoded information read from the other storage devices of the plurality of storage devices includes: exclusive OR operation is performed on the combined encoded information and the sub information read from the other storage devices of the plurality of storage devices.
According to an embodiment of the present application, the unique information reading includes: in response to a set of hash identifiers read from a storage device including only one hash identifier, performing data verification based on the hash identifier and the combined encoded information sent by the storage device; and reading the combined encoded information sent by the storage device as the sub-information in response to the verification being passed.
According to the embodiment of the application, the number distribution of all the pieces of sub information stored in the storage device satisfies a certain distribution rule, such as a Robust arc wave (solution) distribution, a Robust arc wave (Robust solution) distribution, and the like.
The application provides an information sending method, which comprises the following steps: performing combined encoding on all the stored sub information to generate combined encoded information; in response to receiving an information reading request from an information receiving apparatus, sub information storage amount information of the combined encoded information and the stored sub information is transmitted to the information receiving apparatus.
According to an embodiment of the present application, the sub information storage amount information is a set of hash identifiers of all stored sub information.
According to an embodiment of the present application, the performing the combined encoding on all the stored sub information to generate the combined encoded information includes: exclusive-OR-ing all the stored sub-information to generate the combined encoded information.
The present application provides an information reading apparatus, including: a memory storing machine-readable instructions; and a processor connected to the memory and executing the machine-readable instructions to: sending an information reading request for reading information to a plurality of storage devices, wherein each storage device in the plurality of storage devices at least stores a part of sub information of the information; receiving combined coding information and sub-information storage amount information sent by each storage device in the plurality of storage devices in response to the information reading request, wherein the combined coding information is obtained by performing combined coding on all sub-information stored in the storage devices; and based on the sub-information storage amount information, disassembling the sub-information from the combined coding information; and combining the disassembled sub-information into the information.
According to the embodiment of the application, the combined coding information is the information obtained by performing exclusive or operation on all the sub information stored in the storage device.
According to an embodiment of the present application, the sub information storage amount information is a set of hash identifiers of all sub information stored by the storage device.
According to an embodiment of the present application, the parsing out the sub information from the combined coding information based on the sub information storage amount information includes: reading unique information, and in response to the fact that the set of hash identifiers read from one storage device only comprises one hash identifier, reading the combined coded information sent by the storage device as the unique information; detaching the unique information, removing the one hash identifier from the set of hash identifiers read from the other of the plurality of storage devices, and removing the unique information from the combined encoded information read from the other of the plurality of storage devices; iteratively performing said unique information reading and said unique information detaching on a set of hash identifiers and combined encoded information read from other storage devices of said plurality of storage devices and having been subjected to unique information detaching until a predetermined termination condition is satisfied.
According to an embodiment of the present application, the predetermined termination condition includes that the sub-information is all disassembled from the combined encoded information or that the iteration is performed up to a predetermined number of times.
According to an embodiment of the present application, the combined encoded information is information obtained by performing an exclusive or operation on all pieces of sub information stored in the storage device, and removing the sub information from the combined encoded information read from the other storage devices of the plurality of storage devices includes: exclusive OR operation is performed on the combined encoded information and the sub information read from the other storage devices of the plurality of storage devices.
According to an embodiment of the present application, the unique information reading includes: in response to a set of hash identifiers read from a storage device including only one hash identifier, performing data verification based on the hash identifier and the combined encoded information sent by the storage device; and reading the combined encoded information sent by the storage device as the sub-information in response to the verification being passed.
According to the embodiment of the application, the number distribution of all the pieces of sub information stored in the storage device meets a certain distribution rule, such as arc wave distribution, robust arc wave distribution and the like.
The application provides an information transmission apparatus, the information transmission apparatus includes: a memory storing machine-readable instructions; and a processor connected to the memory and executing the machine-readable instructions to: performing combined encoding on all the stored sub information to generate combined encoded information; in response to receiving an information reading request from an information receiving apparatus, sub information storage amount information of the combined encoded information and the stored sub information is transmitted to the information receiving apparatus.
According to an embodiment of the present application, the sub information storage amount information is a set of hash identifiers of all stored sub information.
According to an embodiment of the present application, the performing the combined encoding on all the stored sub information to generate the combined encoded information includes: exclusive-OR-ing all the stored sub-information to generate the combined encoded information.
Drawings
Other features, objects and advantages of the present application will become more apparent upon reading of the following detailed description of non-limiting embodiments thereof, made with reference to the accompanying drawings in which:
FIG. 1 is a diagram of a blockchain data structure according to an embodiment of the present application;
FIG. 2 is a schematic structural diagram of a Mercker tree according to an embodiment of the present application;
FIG. 3 is a flow chart of an information reading method according to an embodiment of the present application;
FIG. 4 is a schematic diagram of distributed storage of data according to an embodiment of the present application; and
fig. 5 is a schematic block diagram of a terminal device according to an embodiment of the present application.
Detailed Description
For a better understanding of the present application, various aspects of the present application will be described in more detail with reference to the accompanying drawings. It should be understood that the detailed description is merely illustrative of exemplary embodiments of the present application and does not limit the scope of the present application in any way. Like reference numerals refer to like elements throughout the specification. The expression "and/or" includes any and all combinations of one or more of the associated listed items.
It should be noted that in this specification, the expressions first, second, third, etc. are used only to distinguish one feature from another, and do not represent any limitation on the features. Thus, a first block discussed below may also be referred to as a second block without departing from the teachings of the present application. And vice versa.
In the drawings, the thickness, size and shape of the components have been slightly adjusted for convenience of explanation. The figures are purely diagrammatic and not drawn to scale. As used herein, the terms "approximately", "about" and the like are used as table-approximating terms and not as table-degree terms, and are intended to account for inherent deviations in measured or calculated values that would be recognized by one of ordinary skill in the art.
It will be further understood that terms such as "comprising," "including," "having," "including," and/or "containing," when used in this specification, are open-ended and not closed-ended, and specify the presence of stated features, elements, and/or components, but do not preclude the presence or addition of one or more other features, elements, components, and/or groups thereof. Furthermore, when a statement such as "at least one of" appears after a list of listed features, it modifies that entire list of features rather than just individual elements in the list. Furthermore, when describing embodiments of the present application, the use of "may" mean "one or more embodiments of the present application. Also, the term "exemplary" is intended to refer to an example or illustration.
Unless otherwise defined, all terms (including engineering and scientific terms) used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this application belongs. It will be further understood that terms, such as those defined in commonly used dictionaries, should be interpreted as having a meaning that is consistent with their meaning in the context of the relevant art and will not be interpreted in an idealized or overly formal sense unless expressly so defined herein.
It should be noted that the embodiments and features of the embodiments in the present application may be combined with each other without conflict. In addition, unless explicitly defined or contradicted by context, the specific steps included in the methods described herein are not necessarily limited to the order described, but can be performed in any order or in parallel. The present application will be described in detail below with reference to the embodiments with reference to the attached drawings.
To facilitate explanation of the technical solutions provided in the present application, a related art architecture of a blockchain is described below with reference to fig. 1 and 2.
Fig. 1 shows a data structure of a block chain. The block chain 1000 shown in fig. 1 includes a first block 1100, a second block 1200, and an nth block 1300. However, such as
The first block 1100 includes a first block head 1110 and a first block body 1120. The first chunk 1120 includes information content such as transaction information and a Merkel Tree (Merkel Tree) generated from the information content. The first block header 1110 includes a first block index 1111 and a first leading block index 1112. The first chunk index 1111 may be a root of a mercker tree included in the first chunk 1120, and the first leading chunk index 1112 may be a hash value of a chunk header of a previous chunk.
The second block 1200 includes a second block head 1210 and a second block body 1220. The second chunk 1220 includes information content such as transaction information and a Merkel Tree (Merkel Tree) generated from the information content. The second block header 1210 includes a second block index 1211 and a second leading block index 1212. The second chunk index 1211 may be a root of a mercker tree included in the second chunk 1220, and the second leading chunk index 1212 may be a hash value of a chunk header of a previous chunk (i.e., the first chunk 1100).
The nth block 1300 includes an nth block header 1310 and an nth block body 1320. The nth block body 1320 includes information contents such as transaction information and a Merkel Tree (Merkel Tree) generated from the information contents. The nth block header 1310 includes an nth block index 1311 and an nth leading block index 1312. The nth block index 1311 may be a root of a mercker tree included in the nth block 1320, and the nth leading block index 1312 may be a hash value of a block header of a previous block.
With the above data structure, each block can be concatenated with each other, for example, by the hash value of the block body of the previous block. In addition, the block body of each block can be linked to the corresponding block head, for example, through the root of the mercker tree contained in the block body. By the above connection mode, the inside of the block and the block are closely connected, thereby forming a block chain.
FIG. 2 shows a schematic block diagram of a Mercker tree. The mercker tree 2000 shown in fig. 2 is generated based on the information 2100. The information 2100 may include a plurality of sub information, such as the first sub information 2110, the second sub information 2120, the third sub information 2130 and the fourth sub information 2140 shown in fig. 2. The hash identifier of each sub-information of the information 2100 can be obtained by performing a hash operation on each sub-information. As shown in fig. 2, the first hash identifier 2210 corresponds to the first sub information 2110, the second hash identifier 2220 corresponds to the second sub information 2120, the third hash identifier 2230 corresponds to the third sub information 2130, and the fourth hash identifier 2240 corresponds to the fourth sub information 2140. And after pairwise pairing of the hash identifiers, performing hash operation again to generate each parent node. For example, the first hash identifier 2210 is paired with the second hash identifier 2220 and then hashed to generate its parent node, the fifth hash identifier 2310; and the third hash identifier 2230 is paired with the fourth hash identifier 2240 and then hashed to generate its parent node, the sixth hash identifier 2320. The five hash identifier 2310 is then paired with the sixth hash identifier 2320 and hashed to generate the root 2410 of the merkel tree.
As described above, the tree root 2410 of the mercker tree is included in the block header of the corresponding block to facilitate indexing of the information 2100. Each sub-information is the smallest unit of state transition of blockchain 2000, which should itself have independent availability.
For the sub information in the block chain, the authenticity of the sub information can be verified through hash certification. Reference to
In fig. 2, when the third sub information 2130 needs to be verified for authenticity, the third sub information 2130, the fourth hash identifier 2240, and the fifth hash identifier 2310 need to be provided. The hash certificate is the set of information { third sub-information 2130, fourth hash identifier 2240, fifth hash identifier 2310 }. The third sub information 2130 in the hash attestation may be hashed to obtain a third hash identifier 2230. It is then hashed with the fourth hash identifier 2240 in the hash attestation to obtain the sixth hash identifier 2320. And then hashed with a fifth hash identifier 2310 in the hash attestation. The result of this final hash operation is compared with the tree root 2410 of the merkel tree stored in the block header. If the result is consistent, it indicates that the sub information exists in the corresponding block chain.
As described above, some terminal devices (i.e., nodes) joining a blockchain may not store all information due to limitations in storage capacity or the like, but only store a part of the information. For example, while some terminal devices store all sub-information of information 2100, it is still possible that some terminal devices store only partial sub-information of information 2100, e.g., only first sub-information 2110. For another example, some terminal devices may store only the first sub information 2110 and the second sub information 2120. In the process of data reading, on one hand, it is desirable to be able to make full use of the sub information stored by the terminal devices, and on the other hand, the terminal devices are desirable to transmit the sub information with less transmission cost. According to the embodiment of the application, the quantity distribution of all the sub information stored in the storage device meets a certain distribution rule, such as arc wave distribution, robust arc wave distribution and the like.
Fig. 3 is a flowchart of an information reading method according to an embodiment of the present application. The information reading method can be implemented by any terminal equipment joining the block chain. Referring to fig. 3, an information reading method 3000 includes the following steps.
In step S3100, an information reading request for reading information is transmitted to a plurality of storage devices (hereinafter also referred to as terminal devices), each of which stores at least a part of sub information of the information. As shown in fig. 4, the first terminal 4100 may store only the first sub information 2110; the second terminal 4200 stores the first sub information 2110 and the second sub information 2120; the third terminal 4300 stores the first sub information 2110, the second sub information 2120, and the third sub information 2130; the fourth terminal 4400 stores the first sub information 2110, the second sub information 2120, the third sub information 2130 and the fourth sub information 2140.
In step S3200, the combined encoded information and the sub information storage amount information, which are transmitted by each of the plurality of storage devices in response to the information reading request, are received, and the combined encoded information is obtained by performing combined encoding on all the sub information stored in the storage device.
Since the first terminal 4100 stores only one piece of sub information 2110, in response to an information reading request issued from the information reading apparatus, the first terminal 4100 can directly transmit the sub information 2110 as combined encoded information to the information reading apparatus. The first terminal 4100 also transmits sub information storage amount information indicating the sub information storage amount it stores to the information reading apparatus.
The second terminal 4200 stores the first sub information 2110 and the second sub information 2120. In response to an information reading request issued from the information reading apparatus, the second terminal 4200 transmits the first sub-information 2110 and the second sub-information 2120 to the information reading apparatus, but transmits combined encoded information obtained by combining and encoding the first sub-information 2110 and the second sub-information 2120 to the information reading apparatus to reduce the transmission load. Further, the second terminal 4200 also transmits sub information storage amount information indicating the sub information storage amount it stores, to the information reading apparatus, similarly to the first terminal 4100.
The third terminal 4300 stores the first sub information 2110, the second sub information 2120, and the third sub information 2130. In response to an information reading request issued from the information reading apparatus, the third terminal 4300 transmits, to the information reading apparatus, not the first sub-information 2110, the second sub-information 2120, and the third sub-information 2130 directly, but combined encoded information obtained by combining and encoding the first sub-information 2110, the second sub-information 2120, and the third sub-information 2130 to reduce a transmission load. Further, the third terminal 4300 also transmits sub-information storage amount information indicating the sub-information storage amount it stores to the information reading apparatus, similarly to the first terminal 4100.
The fourth terminal 4400 stores the first sub information 2110, the second sub information 2120, the third sub information 2130 and the fourth sub information 2140. In response to an information reading request sent from the information reading apparatus, the fourth terminal 4400 sends the first sub-information 2110, the second sub-information 2120, the third sub-information 2130 and the fourth sub-information 2140 to the information reading apparatus, but sends the combined encoded information obtained by combining and encoding the first sub-information 2110, the second sub-information 2120, the third sub-information 2130 and the fourth sub-information 2140 to the information reading apparatus to reduce the transmission load. Further, the fourth terminal 4400 also transmits sub-information storage amount information indicating the sub-information storage amount it stores to the information reading apparatus, similarly to the first terminal 4100.
In step S3300, the sub information is disassembled from the combined encoded information based on the sub information storage amount information. As described above, the sub information storage amount information reflects the distribution of the sub information stored in each terminal. The information reading apparatus can disassemble the respective sub information from the combined encoded information based on the storage distribution of such sub information.
The information reading apparatus can determine that the first terminal 4100 stores only one piece of sub information 2110 based on the sub information storage amount information transmitted by the first terminal 4100, and the first terminal 4100 directly transmits the sub information 2110 as combined encoded information to the information reading apparatus. Therefore, the information reading apparatus can directly view the combined encoded information as the first sub information 2110.
The information reading apparatus may determine that the second terminal 4200 transmits the combined encoded information in which the first sub information 2110 and the second sub information 2120 are combined and encoded to the information reading apparatus based on the sub information storage amount information transmitted by the second terminal 4200. Therefore, the information reading apparatus can disassemble the second sub information 2120 from the combined encoded information based on the sub information storage amount information.
The information reading apparatus may determine that the third terminal 4300 transmits combined encoded information in which the first sub information 2110, the second sub information 2120, and the third sub information 2130 are combined and encoded to the information reading apparatus based on the sub information storage amount information transmitted by the third terminal 4300. Therefore, the information reading apparatus can disassemble the third sub information 2130 from the combined encoded information based on the sub information storage amount information.
The information reading device may determine, based on the sub information storage amount information sent by the fourth terminal 4400, that the fourth terminal 4400 sends the combined encoded information obtained by combining and encoding the first sub information 2110, the second sub information 2120, the third sub information 2130 and the fourth sub information 2140 to the information reading device. Therefore, the information reading apparatus can disassemble the fourth sub information 2140 from the combined encoded information based on the sub information storage amount information.
In step S3400, the disassembled sub information is combined into information. The information reading apparatus may obtain the complete information 2100 based on the disassembled first sub information 2110, second sub information 2120, third sub information 2130 and fourth sub information 2140.
According to the embodiment of the present application, the above-mentioned manner of combining and encoding may be an exclusive or operation. To facilitate this operation, the number of bits of each piece of sub information may be padded to the same number of bits before the exclusive or operation is performed. For ease of reference, each piece of sub-information and its hash identifier are denoted by the following notation:
t1: first sub information 2110T 1: first hash identifier 2210
T2: second sub information 2120T 2: second hash identifier 2220
T3: third sub information 2130T 3: third hash identifier 2230
T4: fourth sub information 2140T 4: fourth hash identifier 2240
The combined encoded information of the first sub information 2110 and the second sub information 2120 may be: t1 ≦ T2.
The combined encoded information of the first sub information 2110, the second sub information 2120 and the third sub information 2130 may be: t1 ≧ T2 ≦ T3.
The combined encoded information of the first sub information 2110, the second sub information 2120, the third sub information 2130 and the fourth sub information 2140 may be: t1 ^ T2 ^ T3 ^ T4.
As described above, by such combined encoding, the data transmission load can be reduced.
According to the embodiment of the present application, the sub information storage amount information may be a set of hash identifiers of all sub information stored by each terminal. For example, the sub information storage amount information transmitted by the first terminal 4100 may be the first hash identifier 2210. The sub information storage amount information transmitted by the second terminal 4200 may be a first hash identifier 2210 and a second hash identifier 2220. The sub information storage amount information transmitted by the third terminal 4300 may be a first hash identifier 2210, a second hash identifier 2220, and a third hash identifier 2230. The sub information storage amount information transmitted by the fourth terminal 4400 may be the first hash identifier 2210, the second hash identifier 2220, the third hash identifier 2230 and the fourth hash identifier 2240.
According to the embodiment of the present application, the splitting of the sub information from the combined encoded information based on the sub information storage amount information can be performed in the following manner.
First, in response to the set of hash identifiers read from one storage device including only one hash identifier, the combined encoded information sent by the storage device is read as the first sub-information. As described above, when a set of hash identifiers read from one storage device includes only one hash identifier, only one piece of sub information is stored corresponding to the storage device. In this case, the information sent by the storage device can be directly regarded as the sub information.
Then, the hash identifier is removed from the set of hash identifiers read from the other storage devices of the plurality of storage devices, and the first sub-information is removed from the combined encoded information read from the other storage devices of the plurality of storage devices.
In this process, the combined encoded information including only one hashed identifier may be verified first. Only if the verification passes, the subsequent operation is performed.
For example, after the first sub information 2110 and the first hash identifier 2210 have been read from the first terminal 4100, the first sub information is removed from the combined encoded information read by the second terminal 4200, and the above hash identifier is removed from the set of hash identifiers read by the second terminal 4200. An exemplary approach is given below. The combined encoded information and the first sub information read from the other storage devices of the plurality of storage devices may be exclusive-ored.
As described above, the combined encoding information of the first sub information 2110 and the second sub information 2120 transmitted by the second terminal 4200 may be T1 ≦ T2. When the combined encoded information is exclusive-ored with the first sub information 2110, the first sub information 2110 can be removed:
(T1⊕T2)⊕T1=T2。
similarly, the first sub information 2110 may be removed from the combined encoded information transmitted by the third terminal 4300:
(T1⊕T2⊕T3)⊕T1=T2⊕T3。
similarly, the first sub information 2110 may be removed from the combined coding information transmitted from the fourth terminal 4400:
(T1⊕T2⊕T3⊕T4)⊕T1=T2⊕T3⊕T4。
then, the unique information reading and the unique information detachment are iteratively performed on the set of the combined encoded information and the hash identifier read from the other storage devices of the plurality of storage devices and subjected to the unique information detachment until a predetermined termination condition is satisfied. The predetermined termination condition may be that the sub-information is all disassembled from the combined encoded information, or that the iteration is performed up to a predetermined number of times.
For example, after the above operation, the information reading apparatus obtains the first sub information 2110, and obtains information disassembled T2, T2 ≧ T3, and T2 × T3 × T4 transmitted from the second terminal 4200 to the fourth terminal 4400, and sets of corresponding hash identifiers { T2 }, { T2, T3 }, and { T2 ×, T3, T4 }.
The combined encoded information is read as the second sub information 2120 in response to the corresponding information of the second terminal 4200 including only one hash identifier T2. And T2 is removed from the set of corresponding hash identifiers for the remaining storage devices. The information after the first decomposition may be respectively xored with the second sub-information 2120:
(T2⊕T3)⊕T2=T3。
(T2⊕T3⊕T4)⊕T2=T3⊕T4。
after the above operation, the information reading apparatus obtains the first sub information 2110 and the second sub information 2120, and obtains information disassembled T3 and T3 ^ T4 transmitted from the third terminal 4300 to the fourth terminal 4400, and sets { T3 } and { T3, T4 } of the corresponding hash identifiers.
The combined encoded information is read as a third sub information 2130 in response to the third terminal 4300 including only one hash identifier T3 in its corresponding information. And T3 is removed from the set of corresponding hash identifiers for the remaining storage devices. The information after the second decomposition may be respectively subjected to an exclusive or operation with the third sub-information 2130:
(T3⊕T4)⊕T3=T4。
after the above operation, the information reading apparatus obtains the first sub information 2110, the second sub information 2120, and the third sub information 2130, and obtains the information T4 disassembled from the information sent from the fourth terminal 4400, and the corresponding set { T4 }.
Since the set of hash identifiers includes only one hash identifier T4, the combined encoded information can be directly read as the fourth sub information 2140.
Through the above iterative process, all sub information included in the information 2100 is finally obtained. According to the scheme provided by the application, under the condition of data distributed storage, the data availability of a single node is guaranteed, the data requesting process is simple and low in complexity, the verification of the received feedback data can be gradually realized, and the cost for finding the malicious node and the wrong feedback data is reduced.
The manner how the complete information 2100 is obtained from multiple storage devices is described above. However, according to the present application, a single sub information may also be requested from a plurality of storage devices. In this case, the information requesting device requests the plurality of storage devices for single sub information, for example, the third sub information 2130, respectively.
The information reading apparatus can request the third sub information 2130 from the first terminal 4100. In response to the first terminal 4100 returning "not stored" feedback, the information reading apparatus can request the third sub information 2130 from the second terminal 4200. In response to the second terminal 4200 returning the feedback of "not stored", the information reading apparatus may request the third sub information 2130 from the third terminal 4300. Since the third terminal 4300 stores the third sub-information 2130, the third terminal 4300 feeds back the third sub-information 2130 and the corresponding hash certificate to the information reading terminal. The information reading apparatus verifies the authenticity of the third sub information 2130 using the hash certification. After the verification is passed, the information reading apparatus reads the third sub information 2130.
The sub information described in the present application may be various types of information data. For example, the sub-information may be transaction information, in which case, the information transceiving method and apparatus provided in the present application may be applied to a financial system to implement distributed storage of financial data. For another example, the sub-information may be intellectual property license information or supply authorization information, in which case, the information transceiving method provided by the present application may be used for intellectual property license record inquiry or supply chain monitoring.
Fig. 5 is a block diagram of a terminal device according to an embodiment of the present application. The terminal device may be, for example, the first terminal 4100, the second terminal 4200, the third terminal 4300, or the fourth terminal 4400 shown in fig. 4. The terminal device may be, for example, a mobile terminal, a Personal Computer (PC), a tablet, a server, etc. The terminal device includes one or more processors, communication section, and the like, the one or more processors being, for example: one or more Central Processing Units (CPUs) 501, and/or one or more image processors (GPUs) 513, and the like. The processor may perform various appropriate actions and processes according to executable instructions stored in a Read Only Memory (ROM)502 or loaded from a storage section 508 into a Random Access Memory (RAM) 503. The communication portion 512 may include, but is not limited to, a network card, which may include, but is not limited to, an ib (infiniband) network card.
The processor may communicate with the read-only memory 502 and/or the random access memory 503 to execute the executable instructions, connect with the communication part 512 through the bus 504, and communicate with other target devices through the communication part 512, so as to complete the operations corresponding to any one of the methods provided by the embodiments of the present application, for example: sending an information reading request for reading information to a plurality of storage devices, wherein each storage device in the plurality of storage devices at least stores a part of sub information of the information; receiving combined coding information and sub-information storage amount information which are sent by each storage device in the plurality of storage devices in response to the information reading request, wherein the combined coding information is obtained by performing combined coding on all sub-information stored in the storage devices; and decoding the sub information from the combined encoded information based on the sub information storage amount information; and combining the disassembled sub-information into information.
In addition, in the RAM 503, various programs and data necessary for the operation of the apparatus can also be stored. The CPU 501, ROM 502, and RAM 503 are connected to each other via a bus 504. The ROM 502 is an optional module in case of the RAM 503. The RAM 503 stores or writes executable instructions into the ROM 502 at runtime, and the executable instructions cause the CPU 501 to execute operations corresponding to the above-described communication method. An input/output (I/O) interface 505 is also connected to bus 504. The communication unit 512 may be integrated, or may be provided with a plurality of sub-modules (e.g., a plurality of IB network cards) and connected to the bus link.
The following components are connected to the I/O interface 505: an input unit 506 including a keyboard, a mouse, and the like; an output section 507 including a display such as a Cathode Ray Tube (CRT), a Liquid Crystal Display (LCD), and the like, and a speaker; a storage unit 508 including a hard disk and the like; and a communication interface 509 comprising a network interface card such as a LAN card, modem, or the like. The communication interface 509 performs communication processing via a network such as the internet. The driver 510 is also connected to the I/O interface 505 as necessary. A removable medium 511 such as a magnetic disk, an optical disk, a magneto-optical disk, a semiconductor memory, or the like is mounted on the drive 510 as necessary, so that a computer program read out therefrom is mounted into the storage section 508 as necessary.
It should be noted that the architecture shown in fig. 5 is only an optional implementation manner, and in a specific practical process, the number and types of the components in fig. 5 may be selected, deleted, added or replaced according to actual needs; in different functional component settings, separate settings or integrated settings may also be used, for example, the GPU and the CPU may be separately set or the GPU may be integrated on the CPU, the communication part may be separately set or integrated on the CPU or the GPU, and so on. These alternative embodiments are all within the scope of the present disclosure.
Further, according to an embodiment of the present application, the processes described above with reference to the flowcharts may be implemented as a computer software program. For example, the present application provides a non-transitory machine-readable storage medium having stored thereon machine-readable instructions executable by a processor to perform instructions corresponding to the method steps provided herein, such as: sending an information reading request for reading information to a plurality of storage devices, wherein each storage device in the plurality of storage devices at least stores a part of sub information of the information; receiving combined coding information and sub-information storage amount information which are sent by each storage device in the plurality of storage devices in response to the information reading request, wherein the combined coding information is obtained by performing combined coding on all sub-information stored in the storage devices; and decoding the sub information from the combined encoded information based on the sub information storage amount information; and combining the disassembled sub-information into information.
In such embodiments, the computer program may be downloaded and installed from a network via the communication interface 509, and/or installed from the removable media 511. The computer program performs the above-described functions defined in the method of the present application when executed by the Central Processing Unit (CPU) 501.
The method and apparatus, device of the present application may be implemented in a number of ways. For example, the methods and apparatuses, devices of the present application may be implemented by software, hardware, firmware, or any combination of software, hardware, firmware. The above-described order for the steps of the method is for illustration only, and the steps of the method of the present application are not limited to the order specifically described above unless specifically stated otherwise. Further, in some embodiments, the present application may also be embodied as a program recorded in a recording medium, the program including machine-readable instructions for implementing a method according to the present application. Thus, the present application also covers a recording medium storing a program for executing the method according to the present application.
The above description is only an embodiment of the present application and an illustration of the technical principles applied. It will be appreciated by a person skilled in the art that the scope of protection covered by the present application is not limited to the embodiments with a specific combination of the features described above, but also covers other embodiments with any combination of the features described above or their equivalents without departing from the technical idea described above. For example, the above features may be replaced with (but not limited to) features having similar functions disclosed in the present application.

Claims (18)

1. An information reading method, characterized by comprising:
sending an information reading request for reading information to a plurality of storage devices, wherein each storage device in the plurality of storage devices at least stores a part of sub information of the information;
receiving combined coding information and sub-information storage amount information sent by each storage device in the plurality of storage devices in response to the information reading request, wherein the combined coding information is obtained by performing combined coding on all sub-information stored in the storage device, and the sub-information storage amount information is a set of hash identifiers of all sub-information stored in the storage device;
the sub information is disassembled from the combined coding information based on the sub information storage capacity information; and
and combining the disassembled sub information into the information.
2. An information reading method according to claim 1, wherein the combined encoded information is information obtained by exclusive-oring all pieces of sub information stored in the storage device.
3. The information reading method according to claim 1, wherein the parsing out the sub information from the combined encoded information based on the sub information storage amount information includes:
reading unique information, and in response to the fact that the set of hash identifiers read from one storage device only comprises one hash identifier, reading the combined coded information sent by the storage device as the unique information;
detaching the unique information, removing the one hash identifier from the set of hash identifiers read from the other of the plurality of storage devices, and removing the unique information from the combined encoded information read from the other of the plurality of storage devices;
iteratively performing said unique information reading and said unique information detaching on a set of hash identifiers and combined encoded information read from other storage devices of said plurality of storage devices and having been subjected to unique information detaching until a predetermined termination condition is satisfied.
4. An information reading method according to claim 3, wherein the predetermined termination condition includes that the sub-information is each disassembled from the combined encoded information or that the iteration is performed up to a predetermined number of times.
5. The information reading method according to claim 3, wherein the combined encoded information is information obtained by exclusive-oring all pieces of sub information stored in the storage device, and wherein removing the sub information from the combined encoded information read from the other storage devices of the plurality of storage devices comprises:
exclusive OR operation is performed on the combined encoded information and the sub information read from the other storage devices of the plurality of storage devices.
6. An information reading method according to claim 3, wherein the unique information reading includes:
in response to a set of hash identifiers read from a storage device including only one hash identifier, performing data verification based on the hash identifier and the combined encoded information sent by the storage device; and
reading the combined encoded information sent by the storage device as the sub-information in response to the verification being passed.
7. An information reading method according to claim 1, wherein the distribution of the number of all pieces of sub information stored in the storage device satisfies an arc wave distribution or a robust arc wave distribution.
8. An information transmission method, characterized in that the information transmission method comprises:
performing combined encoding on all the stored sub information to generate combined encoded information;
aggregating the hash identifiers of all the stored sub-information to generate sub-information storage amount information; and
in response to receiving an information reading request from an information receiving apparatus, sub information storage amount information of the combined encoded information and the stored sub information is transmitted to the information receiving apparatus.
9. The method of claim 8, wherein the step of performing combined coding on all the stored sub-information to generate combined coded information comprises:
exclusive-OR-ing all the stored sub-information to generate the combined encoded information.
10. An information reading apparatus characterized by comprising:
a memory storing machine-readable instructions; and
a processor connected to the memory and executing the machine-readable instructions to:
sending an information reading request for reading information to a plurality of storage devices, wherein each storage device in the plurality of storage devices at least stores a part of sub information of the information;
receiving combined coding information and sub-information storage amount information sent by each storage device in the plurality of storage devices in response to the information reading request, wherein the combined coding information is obtained after the combined coding of the storage devices is carried out, and the sub-information storage amount information is a set of hash identifiers of all sub-information stored by the storage devices; and
the sub information is disassembled from the combined coding information based on the sub information storage capacity information; and combining the disassembled sub-information into the information.
11. The information reading apparatus according to claim 10, wherein the combined encoded information is information obtained by exclusive-oring all pieces of sub information stored in the storage device.
12. The information reading apparatus according to claim 10, wherein the parsing out the sub information from the combined encoded information based on the sub information storage amount information includes:
reading unique information, and in response to the fact that the set of hash identifiers read from one storage device only comprises one hash identifier, reading the combined coded information sent by the storage device as the unique information;
detaching the unique information, removing the one hash identifier from the set of hash identifiers read from the other of the plurality of storage devices, and removing the unique information from the combined encoded information read from the other of the plurality of storage devices;
iteratively performing said unique information reading and said unique information detaching on a set of hash identifiers and combined encoded information read from other storage devices of said plurality of storage devices and having been subjected to unique information detaching until a predetermined termination condition is satisfied.
13. An information reading apparatus according to claim 12, wherein the predetermined termination condition includes that the sub information is each disassembled from the combined encoded information or that the iteration is performed up to a predetermined number of times.
14. The information reading apparatus according to claim 12, wherein the combined encoded information is information obtained by xoring all pieces of sub information stored in the storage apparatus, and wherein removing the sub information from the combined encoded information read from the other storage apparatuses of the plurality of storage apparatuses comprises:
exclusive OR operation is performed on the combined encoded information and the sub information read from the other storage devices of the plurality of storage devices.
15. The information reading apparatus according to claim 12, wherein the unique information reading includes:
in response to a set of hash identifiers read from a storage device including only one hash identifier, performing data verification based on the hash identifier and the combined encoded information sent by the storage device; and
reading the combined encoded information sent by the storage device as the sub-information in response to the verification being passed.
16. The information reading apparatus according to claim 10, wherein a distribution of the number of all pieces of sub information stored by the storage device satisfies an arc wave distribution or a robust arc wave distribution.
17. An information transmission apparatus characterized by comprising:
a memory storing machine-readable instructions; and
a processor connected to the memory and executing the machine-readable instructions to:
performing combined encoding on all the stored sub information to generate combined encoded information;
aggregating the hash identifiers of all the stored sub-information to generate sub-information storage amount information; and transmitting sub information storage amount information of the combined encoded information and the stored sub information to an information receiving apparatus in response to receiving an information reading request from the information receiving apparatus.
18. The information transmission apparatus according to claim 17, wherein the combination-encoding all the stored sub information to generate the combination-encoded information comprises:
exclusive-OR-ing all the stored sub-information to generate the combined encoded information.
CN201910931605.5A 2019-09-29 2019-09-29 Information receiving and transmitting method and equipment Active CN110764698B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910931605.5A CN110764698B (en) 2019-09-29 2019-09-29 Information receiving and transmitting method and equipment

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910931605.5A CN110764698B (en) 2019-09-29 2019-09-29 Information receiving and transmitting method and equipment

Publications (2)

Publication Number Publication Date
CN110764698A CN110764698A (en) 2020-02-07
CN110764698B true CN110764698B (en) 2021-01-29

Family

ID=69330801

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910931605.5A Active CN110764698B (en) 2019-09-29 2019-09-29 Information receiving and transmitting method and equipment

Country Status (1)

Country Link
CN (1) CN110764698B (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103106261A (en) * 2013-01-28 2013-05-15 中国电子科技集团公司第二十八研究所 Distributed query method based on narrow-band cloud data service
CN108243146A (en) * 2016-12-23 2018-07-03 航天星图科技(北京)有限公司 A kind of efficient information submits method
CN108769146A (en) * 2018-05-11 2018-11-06 北京奇虎科技有限公司 A kind of data transmission method, device and block catenary system based on block chain
CN109271449A (en) * 2018-09-30 2019-01-25 山东超越数控电子股份有限公司 A kind of distributed storage inquiry system file-based and querying method
CN110288445A (en) * 2019-06-28 2019-09-27 杭州复杂美科技有限公司 Decentralization storage method, equipment and storage medium

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103631873B (en) * 2013-11-07 2017-12-12 华为技术有限公司 A kind of data compression method and storage system
CN106851084B (en) * 2016-11-21 2019-12-20 北京空间机电研究所 On-satellite real-time processing algorithm annotation updating platform for remote sensing camera
CN107135264B (en) * 2017-05-12 2020-09-08 成都优孚达信息技术有限公司 Data coding method for embedded device
CN110109915B (en) * 2018-01-18 2024-01-05 伊姆西Ip控股有限责任公司 Method, apparatus and computer program product for managing hash tables

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103106261A (en) * 2013-01-28 2013-05-15 中国电子科技集团公司第二十八研究所 Distributed query method based on narrow-band cloud data service
CN108243146A (en) * 2016-12-23 2018-07-03 航天星图科技(北京)有限公司 A kind of efficient information submits method
CN108769146A (en) * 2018-05-11 2018-11-06 北京奇虎科技有限公司 A kind of data transmission method, device and block catenary system based on block chain
CN109271449A (en) * 2018-09-30 2019-01-25 山东超越数控电子股份有限公司 A kind of distributed storage inquiry system file-based and querying method
CN110288445A (en) * 2019-06-28 2019-09-27 杭州复杂美科技有限公司 Decentralization storage method, equipment and storage medium

Also Published As

Publication number Publication date
CN110764698A (en) 2020-02-07

Similar Documents

Publication Publication Date Title
KR102360186B1 (en) Method and system for offline data transfer via machine-readable code
CN105512881B (en) A kind of method and terminal for completing payment based on two dimensional code
US10878248B2 (en) Media authentication using distributed ledger
US9530012B2 (en) Processing extensible markup language security messages using delta parsing technology
KR20200011435A (en) Parameterizable Smart Contract
CN117278224A (en) Method and system for verifying identity attribute information
WO2019034983A1 (en) Random number generation in a blockchain
US20100185862A1 (en) Method and System for Encrypting JavaScript Object Notation (JSON) Messages
US11516008B2 (en) Efficient post-quantum secure software updates tailored to resource-constrained devices
KR20210065995A (en) Computer-implemented systems and methods for transmitting access to digital resources
CN110210211A (en) A kind of method of data protection and calculate equipment
US11159308B2 (en) Preventing an erroneous transmission of a copy of a record of data to a distributed ledger system
CN115917546A (en) Generating a blockchain address
JP2022532764A (en) Systems and methods for deparallelized mining in proof of work blockchain networks
CN111950032A (en) Block chain-based data storage method, terminal device and storage medium
JP2024012459A (en) Method and system for representing scalar digital assets using hash chains
CN110764698B (en) Information receiving and transmitting method and equipment
WO2021012732A1 (en) Blockchain-based information verification apparatus and method, and storage medium
CN103198258B (en) The method of compound system and transmission data
CN115086428A (en) Network request sending method and device and electronic equipment
CN113051622A (en) Index construction method, device, equipment and storage medium
CN111949738A (en) Block chain-based data storage deduplication method, terminal device and storage medium
CN112970227A (en) Computer-implemented system and method including public key combination verification
CN113282662B (en) Block information processing method, device, equipment and medium
US20230275769A1 (en) Systems and methods for linking cryptography-based digital repositories to perform blockchain operations in decentralized applications

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