CN110764698B - 信息收发方法及设备 - Google Patents
信息收发方法及设备 Download PDFInfo
- 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.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims abstract description 43
- 230000004044 response Effects 0.000 claims abstract description 33
- 230000005540 biological transmission Effects 0.000 claims description 11
- 238000012795 verification Methods 0.000 claims description 7
- 238000013524 data verification Methods 0.000 claims description 4
- 230000004931 aggregating effect Effects 0.000 claims 2
- 238000004891 communication Methods 0.000 description 11
- 230000008569 process Effects 0.000 description 7
- 238000010586 diagram Methods 0.000 description 6
- 238000004590 computer program Methods 0.000 description 3
- 238000013500 data storage Methods 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 238000000354 decomposition reaction Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000014509 gene expression Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 230000010339 dilation Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012804 iterative process Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/067—Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Between Computers (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开了一种信息读取方法、信息发送方法、信息读取设备以及信息发送设备。所述信息读取方法包括:向多个存储设备发送用于读取信息的信息读取请求,所述多个存储设备中的每个存储设备至少存储所述信息的一部分子信息;接收所述多个存储设备中的每个存储设备响应于所述信息读取请求发送的组合编码信息和子信息存储量信息,所述组合编码信息是对所述存储设备所存储的所有子信息进行组合编码后得到的信息;以及基于所述子信息存储量信息从所述组合编码信息中拆解出所述子信息;以及将所拆解出的子信息组合成所述信息。
Description
技术领域
本申请涉及分布式数据存储,具体地,涉及一种信息读取方法、信息发送方法、信息读取设备以及信息发送设备。
背景技术
近年来,分布式数据存储越来越受到市场关注。作为分布式数据存储技术中的一种,区块链技术以其去中心化、开放性、独立性和安全性等特性,在诸多领域有着广泛的应用。
然而,随着数据交互的增多,数据存取量也日益增加,加入区块链的节点的存储负担也日益增加。区块膨胀问题已经成为制约区块链效率和应用范围的主要问题之一。
加入区块链的某些节点并非存储所有的信息,而是仅仅存储一部分信息。在数据读取的过程中,期望能够对这些节点所存储的信息高效合理地进行利用。
发明内容
本申请提供了一种信息读取方法,所述信息读取方法包括:向多个存储设备发送用于读取信息的信息读取请求,所述多个存储设备中的每个存储设备至少存储所述信息的一部分子信息;接收所述多个存储设备中的每个存储设备响应于所述信息读取请求发送的组合编码信息和子信息存储量信息,所述组合编码信息是对所述存储设备所存储的所有子信息进行组合编码后得到的信息;以及基于所述子信息存储量信息从所述组合编码信息中拆解出所述子信息;以及将所拆解出的子信息组合成所述信息。
根据本申请实施方式,所述组合编码信息是对所述存储设备所存储的所有子信息进行异或操作后的信息。
根据本申请实施方式,所述子信息存储量信息是所述存储设备所存储的所有子信息的哈希标识符的集合。
根据本申请实施方式,基于所述子信息存储量信息从所述组合编码信息中拆解出所述子信息包括:独子信息读取,响应于从一个存储设备中读取的哈希标识符的集合只包括一个哈希标识符,将所述存储设备发送的组合编码信息读取为子信息;独子信息拆离,将从所述多个存储设备中的其它存储设备中读取的哈希标识符的集合中去除所述一个哈希标识符,并且将从所述多个存储设备中的其它存储设备中读取的组合编码信息中去除所述子信息;对从所述多个存储设备中的其它存储设备中读取并经过独子信息拆离的组合编码信息和哈希标识符的集合迭代执行所述独子信息读取和所述独子信息拆离,直至满足预定终止条件。
根据本申请实施方式,所述预定终止条件包括所述子信息均从所述组合编码信息中被拆解出或所述迭代执行达到预定次数。
根据本申请实施方式,所述组合编码信息是对所述存储设备所存储的所有子信息进行异或操作后的信息,以及从所述多个存储设备中的其它存储设备中读取的组合编码信息中去除所述子信息包括:对从所述多个存储设备中的其它存储设备中读取的组合编码信息和所述子信息进行异或操作。
根据本申请实施方式,所述独子信息读取包括:响应于从一个存储设备中读取的哈希标识符的集合只包括一个哈希标识符,基于所述哈希标识符和所述存储设备发送的组合编码信息进行数据验证;以及响应于所述验证被通过,将所述存储设备发送的组合编码信息读取为所述子信息。
根据本申请实施方式,所述存储设备所存储的所有子信息的数量分布满足一定分布规则,如弧波(Soliton)分布、鲁棒弧波(Robust Soliton)分布等。
本申请提供了一种信息发送方法,所述信息发送方法包括:对所存储的所有子信息进行组合编码以生成组合编码信息;响应于从信息接收设备接收到信息读取请求,将所述组合编码信息和所存储的子信息的子信息存储量信息发送至所述信息接收设备。
根据本申请实施方式,所述子信息存储量信息是所存储的所有子信息的哈希标识符的集合。
根据本申请实施方式,对所存储的所有子信息进行组合编码以生成组合编码信息包括:对所存储的所有子信息进行异或操作以生成所述组合编码信息。
本申请提供了一种信息读取设备,所述信息读取设备包括:存储器,所述存储器存储有机器可读指令;以及处理器,所述处理器连接至所述存储器并且执行所述机器可读指令以进行以下操作:向多个存储设备发送用于读取信息的信息读取请求,所述多个存储设备中的每个存储设备至少存储所述信息的一部分子信息;接收所述多个存储设备中的每个存储设备响应于所述信息读取请求发送的组合编码信息和子信息存储量信息,所述组合编码信息是对所述存储设备所存储的所有子信息进行组合编码后得到的信息;以及基于所述子信息存储量信息从所述组合编码信息中拆解出所述子信息;以及将所拆解出的子信息组合成所述信息。
根据本申请实施方式,所述组合编码信息是对所述存储设备所存储的所有子信息进行异或操作后的信息。
根据本申请实施方式,所述子信息存储量信息是所述存储设备所存储的所有子信息的哈希标识符的集合。
根据本申请实施方式,基于所述子信息存储量信息从所述组合编码信息中拆解出所述子信息包括:独子信息读取,响应于从一个存储设备中读取的哈希标识符的集合只包括一个哈希标识符,将所述存储设备发送的组合编码信息读取为子信息;独子信息拆离,将从所述多个存储设备中的其它存储设备中读取的哈希标识符的集合中去除所述一个哈希标识符,并且将从所述多个存储设备中的其它存储设备中读取的组合编码信息中去除所述子信息;对从所述多个存储设备中的其它存储设备中读取并经过独子信息拆离的组合编码信息和哈希标识符的集合迭代执行所述独子信息读取和所述独子信息拆离,直至满足预定终止条件。
根据本申请实施方式,所述预定终止条件包括所述子信息均从所述组合编码信息中被拆解出或所述迭代执行达到预定次数。
根据本申请实施方式,所述组合编码信息是对所述存储设备所存储的所有子信息进行异或操作后的信息,以及从所述多个存储设备中的其它存储设备中读取的组合编码信息中去除所述子信息包括:对从所述多个存储设备中的其它存储设备中读取的组合编码信息和所述子信息进行异或操作。
根据本申请实施方式,所述独子信息读取包括:响应于从一个存储设备中读取的哈希标识符的集合只包括一个哈希标识符,基于所述哈希标识符和所述存储设备发送的组合编码信息进行数据验证;以及响应于所述验证被通过,将所述存储设备发送的组合编码信息读取为所述子信息。
根据本申请实施方式,所述存储设备所存储的所有子信息的数量分布满足一定分布规则,如弧波分布、鲁棒弧波分布等。
本申请提供了一种信息发送设备,所述信息发送设备包括:存储器,所述存储器存储有机器可读指令;以及处理器,所述处理器连接至所述存储器并且执行所述机器可读指令以进行以下操作:对所存储的所有子信息进行组合编码以生成组合编码信息;响应于从信息接收设备接收到信息读取请求,将所述组合编码信息和所存储的子信息的子信息存储量信息发送至所述信息接收设备。
根据本申请实施方式,所述子信息存储量信息是所存储的所有子信息的哈希标识符的集合。
根据本申请实施方式,对所存储的所有子信息进行组合编码以生成组合编码信息包括:对所存储的所有子信息进行异或操作以生成所述组合编码信息。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
图1是根据本申请实施方式的区块链数据结构的示意图;
图2是根据本申请实施方式的默克尔树的示意性结构图;
图3是根据本申请实施方式的信息读取方法的流程图;
图4是根据本申请实施方式的数据分布式存储的示意图;以及
图5是根据本申请实施方式的终端设备的示意性框图。
具体实施方式
为了更好地理解本申请,将参考附图对本申请的各个方面做出更详细的说明。应理解,这些详细说明只是对本申请的示例性实施方式的描述,而非以任何方式限制本申请的范围。在说明书全文中,相同的附图标号指代相同的元件。表述“和/或”包括相关联的所列项目中的一个或多个的任何和全部组合。
应注意,在本说明书中,第一、第二、第三等的表述仅用于将一个特征与另一个特征区分开来,而不表示对特征的任何限制。因此,在不背离本申请的教导的情况下,下文中讨论的第一区块也可被称作第二区块。反之亦然。
在附图中,为了便于说明,已稍微调整了部件的厚度、尺寸和形状。附图仅为示例而并非严格按比例绘制。如在本文中使用的,用语“大致”、“大约”以及类似的用语用作表近似的用语,而不用作表程度的用语,并且旨在说明将由本领域普通技术人员认识到的、测量值或计算值中的固有偏差。
还应理解的是,诸如“包括”、“包括有”、“具有”、“包含”和/或“包含有”等表述在本说明书中是开放性而非封闭性的表述,其表示存在所陈述的特征、元件和/或部件,但不排除一个或多个其它特征、元件、部件和/或它们的组合的存在。此外,当诸如“...中的至少一个”的表述出现在所列特征的列表之后时,其修饰整列特征,而非仅仅修饰列表中的单独元件。此外,当描述本申请的实施方式时,使用“可”表示“本申请的一个或多个实施方式”。并且,用语“示例性的”旨在指代示例或举例说明。
除非另外限定,否则本文中使用的所有措辞(包括工程术语和科技术语)均具有与本申请所属领域普通技术人员的通常理解相同的含义。还应理解的是,除非本申请中有明确的说明,否则在常用词典中定义的词语应被解释为具有与它们在相关技术的上下文中的含义一致的含义,而不应以理想化或过于形式化的意义解释。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。另外,除非明确限定或与上下文相矛盾,否则本申请所记载的方法中包含的具体步骤不必限于所记载的顺序,而可以任意顺序执行或并行地执行。下面将参考附图并结合实施例来详细说明本申请。
为便于阐释本申请提供的技术方案,以下参考图1和图2描述区块链的相关技术架构。
图1示出了一种区块链的数据结构。图1所示的区块链1000包括第一区块1100、第二区块1200、以及第N区块1300。然而,如
第一区块1100包括第一区块头1110和第一区块体1120。第一区块体1120包括诸如交易信息等信息内容以及由这些信息内容生成的默尔克树(Merkel Tree)。第一区块头1110包括第一区块体索引1111和第一前导区块索引1112。第一区块体索引1111可以是第一区块体1120所包含的默克尔树的树根,而第一前导区块索引1112可以是前一区块的区块头的哈希值。
第二区块1200包括第二区块头1210和第二区块体1220。第二区块体1220包括诸如交易信息等信息内容以及由这些信息内容生成的默尔克树(Merkel Tree)。第二区块头1210包括第二区块体索引1211和第二前导区块索引1212。第二区块体索引1211可以是第二区块体1220所包含的默克尔树的树根,而第二前导区块索引1212可以是前一区块(即,第一区块1100)的区块头的哈希值。
第N区块1300包括第N区块头1310和第N区块体1320。第N区块体1320包括诸如交易信息等信息内容以及由这些信息内容生成的默尔克树(Merkel Tree)。第N区块头1310包括第N区块体索引1311和第N前导区块索引1312。第N区块体索引1311可以是第N区块体1320所包含的默克尔树的树根,而第N前导区块索引1312可以是前一区块的区块头的哈希值。
通过上述数据结构,每个区块可例如通过前一区块的区块体的哈希值彼此衔接。此外,每个区块的区块体可例如通过其所包含的默克尔树的树根衔接至对应的区块头。通过上述衔接方式,区块的内部以及区块与区块之间紧密相连,从而构成一个区块链。
图2示出了一种默克尔树的示意性结构图。图2所示的默克尔树2000基于信息2100而生成。信息2100可包括多个子信息,例如图2所示的第一子信息2110、第二子信息2120、第三子信息2130和第四子信息2140。可以通过对信息2100的各个子信息分别进行哈希运算得到各个子信息的哈希标识符。如图2所示,第一哈希标识符2210与第一子信息2110对应,第二哈希标识符2220与第二子信息2120对应,第三哈希标识符2230与第三子信息2130对应,并且第四哈希标识符2240与第四子信息2140对应。这些哈希标识符彼此两两配对后再次进行哈希运算从而生成各个母节点。例如,第一哈希标识符2210与第二哈希标识符2220配对后进行哈希运算,以生成其母节点——第五哈希标识符2310;并且第三哈希标识符2230与第四哈希标识符2240配对后进行哈希运算,以生成其母节点——第六哈希标识符2320。然后,五哈希标识符2310与第六哈希标识符2320配对后进行哈希运算,以生成该默克尔树的树根2410。
如上所述,默克尔树的树根2410被包含在对应区块的区块头中以便于对信息2100的索引。各个子信息是区块链2000的状态转移的最小单元,其本身应当具备独立可用性。
对于区块链中的子信息,可以通过哈希证明来验证其真伪。参考
图2,当需要验证第三子信息2130的真伪时,需要提供第三子信息2130、第四哈希标识符2240、第五哈希标识符2310。哈希证明即上述信息的集合{第三子信息2130,第四哈希标识符2240,第五哈希标识符2310}。可以对哈希证明中的第三子信息2130进行哈希运算以获得第三哈希标识符2230。然后,对其与哈希证明中的第四哈希标识符2240进行哈希运算以获得第六哈希标识符2320。然后将其与哈希证明中的第五哈希标识符2310进行哈希运算。将最终这一次哈希运算的结果与区块头中存储的默克尔树的树根2410进行比较。如果结果一致,则表明该子信息存在于对应的区块链中。
如上文所述,加入区块链的某些终端设备(即,节点)可能因存储能力等限制而未存储所有的信息,而是仅仅存储一部分信息。例如,虽然一些终端设备存储了信息2100的全部子信息,但仍然可能有一些终端设备仅存储了信息2100的部分子信息,例如,仅存储了第一子信息2110。再例如,可能一些终端设备仅存储了第一子信息2110和第二子信息2120。在数据读取的过程中,一方面希望能够充分利用这些终端设备存储的子信息,另一方面有希望这些终端设备以较小的传输代价来对子信息进行传输。根据本申请实施方式,存储设备所存储的所有子信息的数量分布满足一定分布规则,如弧波分布、鲁棒弧波分布等。
图3是根据本申请实施方式的信息读取方法的流程图。该信息读取方法可由加入区块链的任一终端设备来实施。参考图3,信息读取方法3000包括以下步骤。
在步骤S3100中,向多个存储设备(下文也称作终端设备)发送用于读取信息的信息读取请求,多个存储设备中的每个存储设备至少存储信息的一部分子信息。如图4所示,第一终端4100可仅存储第一子信息2110;第二终端4200存储第一子信息2110和第二子信息2120;第三终端4300存储第一子信息2110、第二子信息2120和第三子信息2130;第四终端4400存储第一子信息2110、第二子信息2120、第三子信息2130和第四子信息2140。
在步骤S3200中,接收多个存储设备中的每个存储设备响应于信息读取请求发送的组合编码信息和子信息存储量信息,组合编码信息是对存储设备所存储的所有子信息进行组合编码后得到的信息。
由于第一终端4100仅存储了一个子信息2110,因此,响应于从信息读取设备发出的信息读取请求,第一终端4100可直接将该子信息2110作为组合编码信息发送至信息读取设备。第一终端4100还将表示其存储的子信息存储量的子信息存储量信息发送至信息读取设备。
第二终端4200存储了第一子信息2110和第二子信息2120。响应于从信息读取设备发出的信息读取请求,第二终端4200并非将第一子信息2110和第二子信息2120直接发送至信息读取设备,而是将对第一子信息2110和第二子信息2120组合编码后得到的组合编码信息发送至信息读取设备以降低传输负担。此外,与第一终端4100类似,第二终端4200还将表示其存储的子信息存储量的子信息存储量信息发送至信息读取设备。
第三终端4300存储了第一子信息2110、第二子信息2120和第三子信息2130。响应于从信息读取设备发出的信息读取请求,第三终端4300并非将第一子信息2110、第二子信息2120和第三子信息2130直接发送至信息读取设备,而是将对第一子信息2110、第二子信息2120和第三子信息2130组合编码后得到的组合编码信息发送至信息读取设备以降低传输负担。此外,与第一终端4100类似,第三终端4300还将表示其存储的子信息存储量的子信息存储量信息发送至信息读取设备。
第四终端4400存储了第一子信息2110、第二子信息2120、第三子信息2130和第四子信息2140。响应于从信息读取设备发出的信息读取请求,第四终端4400并非将第一子信息2110、第二子信息2120、第三子信息2130和第四子信息2140直接发送至信息读取设备,而是将对第一子信息2110、第二子信息2120、第三子信息2130和第四子信息2140组合编码后得到的组合编码信息发送至信息读取设备以降低传输负担。此外,与第一终端4100类似,第四终端4400还将表示其存储的子信息存储量的子信息存储量信息发送至信息读取设备。
在步骤S3300中,基于子信息存储量信息从组合编码信息中拆解出子信息。如上所述,子信息存储量信息反映出各个终端所存储的子信息的分布情况。信息读取设备可以基于这种子信息的存储分布来从组合编码信息中拆解出各个子信息。
信息读取设备可以基于第一终端4100发送的子信息存储量信息确定第一终端4100仅存储了一个子信息2110,并且第一终端4100直接将该子信息2110作为组合编码信息发送至信息读取设备。因此,信息读取设备可以将该组合编码信息直接视作为第一子信息2110。
信息读取设备可以基于第二终端4200发送的子信息存储量信息确定第二终端4200将第一子信息2110和第二子信息2120组合编码后的组合编码信息发送至该信息读取设备。因此,信息读取设备可以基于该子信息存储量信息将第二子信息2120从该组合编码信息中拆解出来。
信息读取设备可以基于第三终端4300发送的子信息存储量信息确定第三终端4300将第一子信息2110、第二子信息2120和第三子信息2130组合编码后的组合编码信息发送至该信息读取设备。因此,信息读取设备可以基于该子信息存储量信息将第三子信息2130从该组合编码信息中拆解出来。
信息读取设备可以基于第四终端4400发送的子信息存储量信息确定第四终端4400将第一子信息2110、第二子信息2120、第三子信息2130和第四子信息2140组合编码后的组合编码信息发送至该信息读取设备。因此,信息读取设备可以基于该子信息存储量信息将第四子信息2140从该组合编码信息中拆解出来。
在步骤S3400中,将所拆解出的子信息组合成信息。信息读取设备可以基于所拆解出的第一子信息2110、第二子信息2120、第三子信息2130和第四子信息2140得到完整的信息2100。
根据本申请实施方式,上述组合编码的方式可以是异或操作。为了方便这一操作,可以在进行异或操作之前对各个子信息的位数补齐到相同的比特位数。为便于引述,用以下符号表示各个子信息及其哈希标识符:
T1:第一子信息2110 T1*:第一哈希标识符2210
T2:第二子信息2120 T2*:第二哈希标识符2220
T3:第三子信息2130 T3*:第三哈希标识符2230
T4:第四子信息2140 T4*:第四哈希标识符2240
第一子信息2110和第二子信息2120的组合编码信息可以是:T1⊕T2。
第一子信息2110、第二子信息2120和第三子信息2130的组合编码信息可以是:T1⊕T2⊕T3。
第一子信息2110、第二子信息2120、第三子信息2130和第四子信息2140的组合编码信息可以是:T1⊕T2⊕T3⊕T4。
如上所述,通过这样的组合编码,可以降低数据传输负担。
根据本申请实施方式,子信息存储量信息可以是各个终端所存储的所有子信息的哈希标识符的集合。例如,第一终端4100发送的子信息存储量信息可以是第一哈希标识符2210。第二终端4200发送的子信息存储量信息可以是第一哈希标识符2210和第二哈希标识符2220。第三终端4300发送的子信息存储量信息可以是第一哈希标识符2210、第二哈希标识符2220和第三哈希标识符2230。第四终端4400发送的子信息存储量信息可以是第一哈希标识符2210、第二哈希标识符2220、第三哈希标识符2230和第四哈希标识符2240。
根据本申请实施方式,基于子信息存储量信息从组合编码信息中拆解出子信息可以通过以下方式来进行。
首先,响应于从一个存储设备中读取的哈希标识符的集合只包括一个哈希标识符,将存储设备发送的组合编码信息读取为第一子信息。如上所述,当从一个存储设备中读取的哈希标识符的集合只包括一个哈希标识符时,对应于该存储设备只存储了一个子信息。在这种情况下,可以直接将该存储设备发送的信息视作为该子信息。
然后,将从多个存储设备中的其它存储设备中读取的哈希标识符的集合中去除上述哈希标识符,并且将从多个存储设备中的其它存储设备中读取的组合编码信息中去除上述第一子信息。
在这一过程中,可以先对只包括一个哈希标识符的组合编码信息进行验证。只有该验证通过时,才进行后续操作。
例如,当已经从第一终端4100读取到第一子信息2110和第一哈希标识符2210后,从第二终端4200读取的组合编码信息中去除第一子信息,并且从第二终端4200读取的哈希标识符的集合中去除上述哈希标识符。以下给出一种示例性的方式。可对从多个存储设备中的其它存储设备中读取的组合编码信息和第一子信息进行异或操作。
如上所述,第二终端4200发送的第一子信息2110和第二子信息2120的组合编码信息可以是T1⊕T2。当将该组合编码信息与第一子信息2110进行异或操作后,可去除第一子信息2110:
(T1⊕T2)⊕T1=T2。
类似地,可以从第三终端4300发送的组合编码信息中去除第一子信息2110:
(T1⊕T2⊕T3)⊕T1=T2⊕T3。
类似地,可以从第四终端4400发送的组合编码信息中去除第一子信息2110:
(T1⊕T2⊕T3⊕T4)⊕T1=T2⊕T3⊕T4。
然后,对从多个存储设备中的其它存储设备中读取并经过独子信息拆离的组合编码信息和哈希标识符的集合迭代执行独子信息读取和独子信息拆离,直至满足预定终止条件。该预定终止条件可以是子信息均从组合编码信息中被拆解出,或者迭代执行达到预定次数。
例如,经过上述操作后,信息读取设备获得了第一子信息2110,并且获得了从第二终端4200至第四终端4400发送的经过信息拆解后的信息T2、T2⊕T3和T2⊕T3⊕T4,以及相应的哈希标识符的集合{T2*}、{T2*,T3*}和{T2*,T3*,T4*}。
响应于第二终端4200的相应信息中只包括一个哈希标识符T2*,将该组合编码信息读取为第二子信息2120。并且从其余的存储设备的相应哈希标识符的集合中去除T2*。可将经过第一次拆解后的各个信息分别与第二子信息2120进行异或操作:
(T2⊕T3)⊕T2=T3。
(T2⊕T3⊕T4)⊕T2=T3⊕T4。
经过上述操作后,信息读取设备获得了第一子信息2110和第二子信息2120,并且获得了从第三终端4300至第四终端4400发送的经过信息拆解后的信息T3和T3⊕T4,以及相应的哈希标识符的集合{T3*}和{T3*,T4*}。
响应于第三终端4300的相应信息中只包括一个哈希标识符T3*,将该组合编码信息读取为第三子信息2130。并且从其余的存储设备的相应哈希标识符的集合中去除T3*。可将经过第二次拆解后的各个信息分别与第三子信息2130进行异或操作:
(T3⊕T4)⊕T3=T4。
经过上述操作后,信息读取设备获得了第一子信息2110、第二子信息2120和第三子信息2130,并且获得了从第四终端4400发送的经过信息拆解后的信息T4,以及相应的哈希标识符的集合{T4*}。
由于该哈希标识符的集合中只包括一个哈希标识符T4*,可以将该组合编码信息直接读取为第四子信息2140。
通过上述迭代过程,最终获得信息2100所包括的所有子信息。本申请提供的上述方案在数据分布式存储的情况下,保证了单个节点的数据可用性,请求数据过程简洁、复杂度低,可以逐步实现对接收的反馈数据的验证,降低了发现作恶节点和错误反馈数据的代价。
以上描述了如何从多个存储设备获取完整的信息2100的方式。然而,根据本申请,也可以从多个存储设备请求单个子信息。在这种情况下,信息请求设备向多个存储设备分别请求单个子信息,例如,第三子信息2130。
信息读取设备可以向第一终端4100请求第三子信息2130。响应于第一终端4100返回“未存储”的反馈,信息读取设备可向第二终端4200请求第三子信息2130。响应于第二终端4200返回“未存储”的反馈,信息读取设备可向第三终端4300请求第三子信息2130。由于第三终端4300存储有第三子信息2130,第三终端4300向信息读取终端反馈第三子信息2130和对应的哈希证明。信息读取设备利用该哈希证明验证第三子信息2130的真伪。验证通过后,信息读取设备读取该第三子信息2130。
本申请所述的子信息可以是各种类型的信息数据。例如,该子信息可以是交易信息,在这种情况下,可将本申请所提供的信息收发方法及设备应用于金融***以利用实现金融数据的分布式存储。再例如,该子信息可以是知识产权许可信息或供货授权信息,在这种情况下,可将本申请所提供的信息收发方法用于知识产权许可记录查询或供应链监控。
图5是根据本申请实施方式的终端设备的框图。该终端设备例如可以是图4所示的第一终端4100、第二终端4200、第三终端4300或第四终端4400。终端设备例如可以是移动终端、个人计算机(PC)、平板电脑、服务器等。终端设备包括一个或多个处理器、通信部等,所述一个或多个处理器例如:一个或多个中央处理单元(CPU)501,和/或一个或多个图像处理器(GPU)513等。处理器可以根据存储在只读存储器(ROM)502中的可执行指令或者从存储部508加载到随机访问存储器(RAM)503中的可执行指令而执行各种适当的动作和处理。通信部512可包括但不限于网卡,所述网卡可包括但不限于IB(Infiniband)网卡。
处理器可与只读存储器502和/或随机访问存储器503中通信以执行可执行指令,通过总线504与通信部512相连、并经通信部512与其他目标设备通信,从而完成本申请实施例提供的任一项方法对应的操作,例如:向多个存储设备发送用于读取信息的信息读取请求,多个存储设备中的每个存储设备至少存储信息的一部分子信息;接收多个存储设备中的每个存储设备响应于信息读取请求发送的组合编码信息和子信息存储量信息,组合编码信息是对存储设备所存储的所有子信息进行组合编码后得到的信息;以及基于子信息存储量信息从组合编码信息中拆解出子信息;以及将所拆解出的子信息组合成信息。
此外,在RAM 503中,还可存储有装置操作所需的各种程序和数据。CPU 501、ROM502以及RAM 503通过总线504彼此相连。在有RAM 503的情况下,ROM 502为可选模块。RAM503存储可执行指令,或在运行时向ROM 502中写入可执行指令,可执行指令使CPU 501执行上述通信方法对应的操作。输入/输出(I/O)接口505也连接至总线504。通信部512可以集成设置,也可以设置为具有多个子模块(例如多个IB网卡),并在总线链接上。
以下部件连接至I/O接口505:包括键盘、鼠标等的输入部506;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部507;包括硬盘等的存储部508;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信接口509。通信接口509经由诸如因特网的网络执行通信处理。驱动器510也根据需要连接至I/O接口505。可拆卸介质511,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器510上,以便于从其上读出的计算机程序根据需要被安装入存储部508。
需要说明的,如图5所示的架构仅为一种可选实现方式,在具体实践过程中,可根据实际需要对上述图5的部件数量和类型进行选择、删减、增加或替换;在不同功能部件设置上,也可采用分离设置或集成设置等实现方式,例如GPU和CPU可分离设置或者可将GPU集成在CPU上,通信部可分离设置,也可集成设置在CPU或GPU上,等等。这些可替换的实施方式均落入本申请公开的保护范围。
另外,根据本申请的实施方式,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本申请提供了一种非暂时性机器可读存储介质,所述非暂时性机器可读存储介质存储有机器可读指令,所述机器可读指令能够由处理器运行以执行与本申请提供的方法步骤对应的指令,例如:向多个存储设备发送用于读取信息的信息读取请求,多个存储设备中的每个存储设备至少存储信息的一部分子信息;接收多个存储设备中的每个存储设备响应于信息读取请求发送的组合编码信息和子信息存储量信息,组合编码信息是对存储设备所存储的所有子信息进行组合编码后得到的信息;以及基于子信息存储量信息从组合编码信息中拆解出子信息;以及将所拆解出的子信息组合成信息。
在这样的实施方式中,该计算机程序可以通过通信接口509从网络上被下载和安装,和/或从可拆卸介质511被安装。在该计算机程序被中央处理单元(CPU)501执行时,执行本申请的方法中限定的上述功能。
可能以许多方式来实现本申请的方法和装置、设备。例如,可通过软件、硬件、固件或者软件、硬件、固件的任何组合来实现本申请的方法和装置、设备。用于方法的步骤的上述顺序仅是为了进行说明,本申请的方法的步骤不限于以上具体描述的顺序,除非以其它方式特别说明。此外,在一些实施例中,还可将本申请实施为记录在记录介质中的程序,这些程序包括用于实现根据本申请的方法的机器可读指令。因而,本申请还覆盖存储用于执行根据本申请的方法的程序的记录介质。
以上描述仅为本申请的实施方式以及对所运用技术原理的说明。本领域技术人员应当理解,本申请中所涉及的保护范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离所述技术构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本申请中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
Claims (18)
1.一种信息读取方法,其特征在于,所述信息读取方法包括:
向多个存储设备发送用于读取信息的信息读取请求,所述多个存储设备中的每个存储设备至少存储所述信息的一部分子信息;
接收所述多个存储设备中的每个存储设备响应于所述信息读取请求发送的组合编码信息和子信息存储量信息,其中,所述组合编码信息是对所述存储设备所存储的所有子信息进行组合编码后得到的信息,所述子信息存储量信息是所述存储设备所存储的所有子信息的哈希标识符的集合;
基于所述子信息存储量信息从所述组合编码信息中拆解出所述子信息;以及
将所拆解出的子信息组合成所述信息。
2.根据权利要求1所述的信息读取方法,其特征在于,所述组合编码信息是对所述存储设备所存储的所有子信息进行异或操作后的信息。
3.根据权利要求1所述的信息读取方法,其特征在于,基于所述子信息存储量信息从所述组合编码信息中拆解出所述子信息包括:
独子信息读取,响应于从一个存储设备中读取的哈希标识符的集合只包括一个哈希标识符,将所述存储设备发送的组合编码信息读取为子信息;
独子信息拆离,将从所述多个存储设备中的其它存储设备中读取的哈希标识符的集合中去除所述一个哈希标识符,并且将从所述多个存储设备中的其它存储设备中读取的组合编码信息中去除所述子信息;
对从所述多个存储设备中的其它存储设备中读取并经过独子信息拆离的组合编码信息和哈希标识符的集合迭代执行所述独子信息读取和所述独子信息拆离,直至满足预定终止条件。
4.根据权利要求3所述的信息读取方法,其特征在于,所述预定终止条件包括所述子信息均从所述组合编码信息中被拆解出或所述迭代执行达到预定次数。
5.根据权利要求3所述的信息读取方法,其特征在于,所述组合编码信息是对所述存储设备所存储的所有子信息进行异或操作后的信息,以及从所述多个存储设备中的其它存储设备中读取的组合编码信息中去除所述子信息包括:
对从所述多个存储设备中的其它存储设备中读取的组合编码信息和所述子信息进行异或操作。
6.根据权利要求3所述的信息读取方法,其特征在于,所述独子信息读取包括:
响应于从一个存储设备中读取的哈希标识符的集合只包括一个哈希标识符,基于所述哈希标识符和所述存储设备发送的组合编码信息进行数据验证;以及
响应于所述验证被通过,将所述存储设备发送的组合编码信息读取为所述子信息。
7.根据权利要求1所述的信息读取方法,其特征在于,所述存储设备所存储的所有子信息的数量分布满足弧波分布或鲁棒弧波分布。
8.一种信息发送方法,其特征在于,所述信息发送方法包括:
对所存储的所有子信息进行组合编码以生成组合编码信息;
对所存储的所有子信息的哈希标识符进行集合以生成子信息存储量信息;以及
响应于从信息接收设备接收到信息读取请求,将所述组合编码信息和所存储的子信息的子信息存储量信息发送至所述信息接收设备。
9.根据权利要求8所述的信息发送方法,其特征在于,对所存储的所有子信息进行组合编码以生成组合编码信息包括:
对所存储的所有子信息进行异或操作以生成所述组合编码信息。
10.一种信息读取设备,其特征在于,所述信息读取设备包括:
存储器,所述存储器存储有机器可读指令;以及
处理器,所述处理器连接至所述存储器并且执行所述机器可读指令以进行以下操作:
向多个存储设备发送用于读取信息的信息读取请求,所述多个存储设备中的每个存储设备至少存储所述信息的一部分子信息;
接收所述多个存储设备中的每个存储设备响应于所述信息读取请求发送的组合编码信息和子信息存储量信息,所述组合编码信息是对所述存储设备所存储的组合编码后得到的信息,所述子信息存储量信息是所述存储设备所存储的所有子信息的哈希标识符的集合;以及
基于所述子信息存储量信息从所述组合编码信息中拆解出所述子信息;以及将所拆解出的子信息组合成所述信息。
11.根据权利要求10所述的信息读取设备,其特征在于,所述组合编码信息是对所述存储设备所存储的所有子信息进行异或操作后的信息。
12.根据权利要求10所述的信息读取设备,其特征在于,基于所述子信息存储量信息从所述组合编码信息中拆解出所述子信息包括:
独子信息读取,响应于从一个存储设备中读取的哈希标识符的集合只包括一个哈希标识符,将所述存储设备发送的组合编码信息读取为子信息;
独子信息拆离,将从所述多个存储设备中的其它存储设备中读取的哈希标识符的集合中去除所述一个哈希标识符,并且将从所述多个存储设备中的其它存储设备中读取的组合编码信息中去除所述子信息;
对从所述多个存储设备中的其它存储设备中读取并经过独子信息拆离的组合编码信息和哈希标识符的集合迭代执行所述独子信息读取和所述独子信息拆离,直至满足预定终止条件。
13.根据权利要求12所述的信息读取设备,其特征在于,所述预定终止条件包括所述子信息均从所述组合编码信息中被拆解出或所述迭代执行达到预定次数。
14.根据权利要求12所述的信息读取设备,其特征在于,所述组合编码信息是对所述存储设备所存储的所有子信息进行异或操作后的信息,以及从所述多个存储设备中的其它存储设备中读取的组合编码信息中去除所述子信息包括:
对从所述多个存储设备中的其它存储设备中读取的组合编码信息和所述子信息进行异或操作。
15.根据权利要求12所述的信息读取设备,其特征在于,所述独子信息读取包括:
响应于从一个存储设备中读取的哈希标识符的集合只包括一个哈希标识符,基于所述哈希标识符和所述存储设备发送的组合编码信息进行数据验证;以及
响应于所述验证被通过,将所述存储设备发送的组合编码信息读取为所述子信息。
16.根据权利要求10所述的信息读取设备,其特征在于,所述存储设备所存储的所有子信息的数量分布满足弧波分布或鲁棒弧波分布。
17.一种信息发送设备,其特征在于,所述信息发送设备包括:
存储器,所述存储器存储有机器可读指令;以及
处理器,所述处理器连接至所述存储器并且执行所述机器可读指令以进行以下操作:
对所存储的所有子信息进行组合编码以生成组合编码信息;
对所存储的所有子信息的哈希标识符进行集合以生成子信息存储量信息;以及响应于从信息接收设备接收到信息读取请求,将所述组合编码信息和所存储的子信息的子信息存储量信息发送至所述信息接收设备。
18.根据权利要求17所述的信息发送设备,其特征在于,对所存储的所有子信息进行组合编码以生成组合编码信息包括:
对所存储的所有子信息进行异或操作以生成所述组合编码信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910931605.5A CN110764698B (zh) | 2019-09-29 | 2019-09-29 | 信息收发方法及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910931605.5A CN110764698B (zh) | 2019-09-29 | 2019-09-29 | 信息收发方法及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110764698A CN110764698A (zh) | 2020-02-07 |
CN110764698B true CN110764698B (zh) | 2021-01-29 |
Family
ID=69330801
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910931605.5A Expired - Fee Related CN110764698B (zh) | 2019-09-29 | 2019-09-29 | 信息收发方法及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110764698B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103106261A (zh) * | 2013-01-28 | 2013-05-15 | 中国电子科技集团公司第二十八研究所 | 基于窄带云数据服务的分布式查询方法 |
CN108243146A (zh) * | 2016-12-23 | 2018-07-03 | 航天星图科技(北京)有限公司 | 一种高效的信息提交方法 |
CN108769146A (zh) * | 2018-05-11 | 2018-11-06 | 北京奇虎科技有限公司 | 一种基于区块链的数据传输方法、装置及区块链*** |
CN109271449A (zh) * | 2018-09-30 | 2019-01-25 | 山东超越数控电子股份有限公司 | 一种基于文件的分布式存储查询***及查询方法 |
CN110288445A (zh) * | 2019-06-28 | 2019-09-27 | 杭州复杂美科技有限公司 | 去中心化存储方法、设备和存储介质 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103631873B (zh) * | 2013-11-07 | 2017-12-12 | 华为技术有限公司 | 一种数据压缩方法及存储*** |
CN106851084B (zh) * | 2016-11-21 | 2019-12-20 | 北京空间机电研究所 | 一种遥感相机星上实时处理算法上注更新平台 |
CN107135264B (zh) * | 2017-05-12 | 2020-09-08 | 成都优孚达信息技术有限公司 | 用于嵌入式设备的数据编码方法 |
CN110109915B (zh) * | 2018-01-18 | 2024-01-05 | 伊姆西Ip控股有限责任公司 | 用于管理哈希表的方法、设备和计算机程序产品 |
-
2019
- 2019-09-29 CN CN201910931605.5A patent/CN110764698B/zh not_active Expired - Fee Related
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103106261A (zh) * | 2013-01-28 | 2013-05-15 | 中国电子科技集团公司第二十八研究所 | 基于窄带云数据服务的分布式查询方法 |
CN108243146A (zh) * | 2016-12-23 | 2018-07-03 | 航天星图科技(北京)有限公司 | 一种高效的信息提交方法 |
CN108769146A (zh) * | 2018-05-11 | 2018-11-06 | 北京奇虎科技有限公司 | 一种基于区块链的数据传输方法、装置及区块链*** |
CN109271449A (zh) * | 2018-09-30 | 2019-01-25 | 山东超越数控电子股份有限公司 | 一种基于文件的分布式存储查询***及查询方法 |
CN110288445A (zh) * | 2019-06-28 | 2019-09-27 | 杭州复杂美科技有限公司 | 去中心化存储方法、设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN110764698A (zh) | 2020-02-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7213310B2 (ja) | マシン可読コードを介したオフラインデータ転送のための方法及びシステム | |
US11501533B2 (en) | Media authentication using distributed ledger | |
CN105512881B (zh) | 一种基于二维码完成支付的方法及终端 | |
US9530012B2 (en) | Processing extensible markup language security messages using delta parsing technology | |
KR20200011435A (ko) | 파라미터화 가능 스마트 계약 | |
WO2019034983A1 (en) | GENERATION OF RANDOM NUMBERS IN A BLOCK CHAIN | |
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 | |
CN110061840A (zh) | 数据加密方法、装置、计算机设备及存储介质 | |
TW202036402A (zh) | 業務處理的方法和裝置 | |
KR20210065995A (ko) | 디지털 리소스에 대한 액세스를 전송하기 위한 컴퓨터 구현된 시스템 및 방법 | |
JP7494205B2 (ja) | データレコードのコピーの分散型台帳システムへの誤伝送の防止 | |
CN111950032A (zh) | 基于区块链的数据存储方法、终端设备和存储介质 | |
CN115917546A (zh) | 生成区块链地址 | |
CN111177740B (zh) | 数据混淆处理方法、***及计算机可读介质 | |
JP2022532764A (ja) | プルーフオブワークブロックチェーンネットワークにおける非並列化マイニングのためのシステムおよび方法 | |
KR20210074358A (ko) | 공개 키 조합 검증을 포함하는 컴퓨터-구현된 시스템 및 방법 | |
JP2024012459A (ja) | ハッシュチェインを使用してスカラーデジタル資産を表すための方法及びシステム | |
CN110764698B (zh) | 信息收发方法及设备 | |
WO2021012732A1 (zh) | 基于区块链的信息验证装置、方法及存储介质 | |
CN115086428B (zh) | 网络请求发送方法、装置与电子设备 | |
CN103198258B (zh) | 复合***以及传输数据的方法 | |
CN113051622A (zh) | 索引构建方法、装置、设备和存储介质 | |
CN111949738A (zh) | 基于区块链的数据存储去重方法、终端设备和存储介质 | |
Abdul-Jabbar | Secure QR-code generation in healthcare |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20210129 |
|
CF01 | Termination of patent right due to non-payment of annual fee |