用于存储二进制大对象的方法和系统技术方案

技术编号:23194168 阅读:18 留言:0更新日期:2020-01-24 17:24
用于存储二进制大对象的方法、系统和技术涉及在组成第一区块链的一部分的第一节点处接收二进制大对象;哈希二进制大对象;从第一节点向作为第一区块链的一部分的至少一个其他节点发送二进制大对象,而无需使用第一区块链;在将二进制大对象散布到至少达成共识所需的第一区块链上的多个节点之后,将二进制大对象的哈希存储在第一区块链上。发送二进制大对象涉及将二进制大对象散布到至少达成共识所需的第一区块链上的多个节点。

Methods and systems for storing binary large objects

【技术实现步骤摘要】
【国外来华专利技术】用于存储二进制大对象的方法和系统
本公开针对用于存储二进制大对象的方法、系统和技术。
技术介绍
区块链是分布在计算机节点上并且本质上可以抵抗损坏和篡改的数据库和/或应用程序执行引擎。尽管最初用于比特币,但是区块链的应用范围远远超出了比特币和整个金融服务行业。
技术实现思路
根据第一方面,提供了一种用于存储二进制大对象的方法,该方法包括:在组成第一区块链的一部分的第一节点处接收二进制大对象;以及哈希二进制大对象;从第一节点向组成第一区块链的一部分的至少一个其他节点发送二进制大对象,而无需使用第一区块链,其中,发送包括将二进制大对象散布到至少达成共识所需的第一区块链上的多个节点的一部分;在将二进制大对象已经散布到至少达成共识所需的第一区块链上的多个节点数后,将二进制大对象的哈希存储在第一区块链上。在第一区块链上存储二进制大对象的哈希可以包括:在至少达成共识所需的第一区块链上的多个节点中的每个节点处:接收所提出的二进制大对象的哈希;确定已散布到节点的二进制大对象的哈希;确定所提出的哈希是否等同于已散布到节点的二进制大对象的哈希;如果所提出的哈希等同于已散布到节点的二进制大对象的哈希则仅投票以将所提出的哈希存储在第一区块链上。该方法还可以包括:在至少达成共识所需的第一区块链上的多个节点中的每个节点处:将已散布到节点的二进制大对象标记为临时文件;以及当所提出的哈希等同于已散布到节点的二进制大对象的哈希时,将作为临时文件的已散布到节点的二进制大对象标记为非临时文件。该方法可以进一步包括:在第一节点处接收二进制大对象的路径;以及在已经将二进制大对象散布到至少达成共识所需的第一区块链上的多个节点之后,将二进制大对象的路径存储在第一区块链上。该方法还可以包括:在将路径存储在第一区块链上之前,在至少达成共识所需的第一区块链上的多个节点中的每个节点处:接收所提出的二进制大对象的路径;确定所提出的路径是否有效;如果所提出的路径有效则仅投票以将所提出的路径存储在第一区块链上。该方法还可以包括:从第一区块链向第二区块链发送二进制大对象的哈希;将二进制大对象的哈希存储在第二区块链上;在组成第一区块链的一部分的第一节点处从组成括第二区块链的一部分的第二节点处接收二进制大对象的哈希,而无需使用第一或第二区块链;在接收到二进制大对象的哈希后,确定二进制大对象的哈希是否已经发送到第二区块链;当二进制大对象的哈希已经发送到第二区块链时,将二进制大对象从第一节点发送到第二节点,而无需使用第一区块链或第二区块链。从第一区块链向第二区块链发送二进制大对象的哈希包括从第一区块链向第二区块链发送:世系验证数据,其允许第二区块链验证第一区块链的至少一个区块的世系;使用至少一个区块存储的所有非报头数据的适当子集,其中,所有非报头数据的适当子集包括二进制大对象的哈希;以及有效性验证数据,其允许第二区块链验证从第一区块链发送到第二区块链的所有非报头数据的适当子集的有效性。根据另一方面,提供了一种用于存储二进制大对象的方法,该方法包括:在第二节点处从第一节点接收二进制大对象,其中第一和第二节点中的每一个都组成第一区块链的一部分,并且在第二节点处接收二进制大对象,而无需使用第一区块链;在接收到整个二进制大对象之后,确定在第二节点处从第一节点接收到的二进制大对象的哈希;接收所提出的二进制大对象的哈希;确定所提出的哈希是否等同于在第二节点处从第一节点接收到的二进制大对象的哈希;如果所提出的哈希等同于在第二个节点处从第一节点接收到的二进制大对象的哈希则仅投票以将所提出的哈希存储在第一区块链上。该方法还可以包括:将已散布到节点的二进制大对象标记为临时文件;以及当所提出的哈希等同于已散布到节点的二进制大对象的哈希时,将作为临时文件的已散布到节点的二进制大对象标记为非临时文件。该方法可以进一步包括:接收所提出的二进制大对象的路径;以及确定所提出的路径是否有效;如果所提出的路径有效则仅投票以将所提出的路径存储在第一区块链上。该方法可以进一步包括:在包括第二节点的第二区块链处从包括第一节点的第一区块链接收二进制大对象的哈希;将二进制大对象的哈希存储在第二区块链上;从第二节点向第一节点发送二进制大对象的哈希,而无需使用第一或第二区块链;从第一节点到第二节点接收二进制大对象,而无需使用第一或第二区块链。在第二区块链处从第一区块链接收二进制大对象的哈希包括:在第二个区块链处从第一区块链接收:世系验证数据,其允许现有区块链验证第一区块链的至少一个区块的世系;使用至少一个区块存储的所有非报头数据的适当子集,其中,所有非报头数据的适当子集包括二进制大对象的哈希;有效性验证数据,其允许第二区块链验证从第一区块链发送到第二区块链的所有非报头数据的适当子集的有效性;使用世系验证数据来验证第一区块链的至少一个区块的世系;使用有效性验证数据来验证所有非报头数据的适当子集的有效性;向第二区块链中添加新区块,其中,新区块用于存储从第一区块链接收到的世系验证数据、所有非报头数据的恰当子集以及有效性验证数据。根据另一方面,提供了一种用于存储二进制大对象的系统,该系统包括:用于与组成第一区块链的一部分的另一节点对接的网络接口硬件;在其上已经存储有第一区块链并用于存储二进制大对象的数据存储;以通信方式耦合到数据存储和网络接口硬件的处理器;以及通信地耦合到处理器并且在其上已经存储了计算机程序代码的存储器,计算机程序代码可由处理器执行,并且当由处理器执行时使处理器执行前述方面中任一项的方法及其适当的组合。根据另一方面,提供了一种非暂时性计算机可读介质,在其上已经存储了可由处理器执行的计算机程序代码,并且计算机程序代码在由处理器执行时使处理器执行前述方面中任一项的方法及其适当的组合。本
技术实现思路
不一定描述所有方面的整个范围。通过阅读以下对具体实施例的描述,其他方面、特征和优点对于本领域普通技术人员将是显而易见的。附图说明在说明一个或多个示例实施方式的附图中:图1描绘了根据一个示例实施方式的用于促进区块链之间的数据传输的系统。图2描绘了组成图1的系统的一部分的软件栈。图3描绘了用于图1的系统的物理网络拓扑。图4描绘了示出了根据图1的系统,使用归约器来执行动作以影响系统状态以及针对区块链达成共识的的流程图。图5A和5B描绘了示出了根据图1的系统,两个区块链如何执行读联接的UML序列图。图6描绘了示出了根据图1的系统,两个区块链如何执行写联接的框图。图7A至7C描绘了示出了根据图6的框图,两个区块链如何执行写联接的UML序列图。图8A描绘了根据另一示例实施方式的用于促进区块链之间的数据传输的系统。图8B描绘了根据图8B的系统的管理程序和在其上运行的各种区块链的框图。图9描绘了根据另一示例实施例的用于存储二进制大对象的方法。图10描绘了根据另一示例实施例的用于从组成第一区块链的一部分的节点向组成第二区块链的一部分的节点发送二进制大对象本文档来自技高网
...

【技术保护点】
1.一种用于存储二进制大对象的方法,所述方法包括:/n(a)在组成第一区块链的一部分的第一节点处接收所述二进制大对象;/n(b)哈希所述二进制大对象;/n(c)从所述第一节点向组成所述第一区块链的一部分的至少一个其他节点发送所述二进制大对象,而无需使用所述第一区块链,其中所述发送包括以下的一部分:将所述二进制大对象散布到至少达成共识所需的所述第一区块链上的多个节点;和/n(d)在已经将所述二进制大对象散布到至少达成共识所需的所述第一区块链上的多个节点数后,将所述二进制大对象的哈希存储在所述第一区块链上。/n

【技术特征摘要】
【国外来华专利技术】20180420 US 62/660,9351.一种用于存储二进制大对象的方法,所述方法包括:
(a)在组成第一区块链的一部分的第一节点处接收所述二进制大对象;
(b)哈希所述二进制大对象;
(c)从所述第一节点向组成所述第一区块链的一部分的至少一个其他节点发送所述二进制大对象,而无需使用所述第一区块链,其中所述发送包括以下的一部分:将所述二进制大对象散布到至少达成共识所需的所述第一区块链上的多个节点;和
(d)在已经将所述二进制大对象散布到至少达成共识所需的所述第一区块链上的多个节点数后,将所述二进制大对象的哈希存储在所述第一区块链上。


2.根据权利要求1所述的方法,其中将所述二进制大对象的所述哈希存储在所述第一区块链上包括,在至少达成共识所需的所述第一区块链上的多个节点中的每个节点处:
(a)接收所提出的所述二进制大对象的哈希;
(b)确定已散布到所述节点的所述二进制大对象的哈希;
(c)确定所提出的哈希是否等同于已散布到所述节点的所述二进制大对象的所述哈希;和
(d)如果所提出的哈希等同于已散布到所述节点的所述二进制大对象的所述哈希则仅投票以将所提出的哈希存储在所述第一区块链上。


3.根据权利要求2所述的方法,还包括:在至少达成共识所需的第一区块链上的多个节点中的每个节点处:
(a)将已散布到所述节点的所述二进制大对象标记为临时文件;和
(b)当所提出的哈希等同于已散布到所述节点的所述二进制大对象的哈希时,将作为临时文件的已散布到所述节点的所述二进制大对象标记为非临时文件。


4.根据权利要求1至3中任一项所述的方法,还包括:
(a)在所述第一节点处接收所述二进制大对象的路径;和
(b)在已经将所述二进制大对象散布到至少达成共识所需的第一区块链上的多个节点之后,将所述二进制大对象的路径存储在所述第一区块链上。


5.根据权利要求4所述的方法,还包括:在将所述路径存储在所述第一区块链上之前,在至少达成共识所需的第一区块链上的多个节点中的每个节点处:
(a)接收所提出的所述二进制大对象的路径;
(b)确定所提出的路径是否有效;和
(c)如果所提出的路径有效则仅投票以将所提出的路径存储在所述第一区块链上。


6.根据权利要求1至5中任一项所述的方法,还包括:
(a)从所述第一区块链向所述第二区块链发送所述二进制大对象的所述哈希;
(b)将所述二进制大对象的所述哈希存储在所述第二区块链上;
(c)在组成所述第一区块链的一部分的第一节点处从组成所述第二区块链的一部分的第二节点处接收所述二进制大对象的所述哈希,而无需使用所述第一区块链或所述第二区块链;
(d)在接收到所述二进制大对象的所述哈希后,确定所述二进制大对象的所述哈希是否已经发送到所述第二区块链;和
(e)当所述二进制大对象的所述哈希已经发送到所述第二区块链时,将所述二进制大对象从所述第一节点发送到所述第二节点,而无需使用所述第一区块链或所述第二区块链。


7.根据权利要求6所述的方法,其中从所述第一区块链向所述第二区块链发送所述二进制大对象的所述哈希包括从所述第一区块链向所述第二区块链发送:
(a)世系验证数据,其允许所述第二区块链验证所述第一区块链的至少一个区块的世系;
(b)使用所述至少一个区块存储的所有非报头数据的适当子集,其中所有非报头数据的所述适当子集包括所述二进制大对象的所述哈希;和
(c)有效性验证数据,其允许所述第二区块链验证从所述第一区块链发送到所述第二区块链的所有非报头数据的所述适当子集的有效性。<...

【专利技术属性】
技术研发人员:托马斯·汤普森
申请(专利权)人:因特比有限公司
类型:发明
国别省市:加拿大;CA

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1