区块链数据处理的方法、系统及相关装置制造方法及图纸

技术编号:31500304 阅读:14 留言:0更新日期:2021-12-22 23:10
本申请实施例公开了区块链数据处理的方法。该方法中,将区块链账本中的区块数据拆分为多个区块数据包,根据区块数据包生成恢复数据包,并将该区块数据包和恢复数据包转移到区块链系统中的多个节点中去。而区块链账本中的该区块数据可以被删除,因而能够减轻区块链存储压力。转移的区块数据包、恢复数据包这些数据包和存储这些数据包的节点之间的对应关系被记录下来,并广播到区块链系统中,便于后期获取转移的该区块数据。在发生区块数据包不可用时恢复数据包可用于恢复区块数据包,从而提高了区块数据转移的可靠性。高了区块数据转移的可靠性。高了区块数据转移的可靠性。

【技术实现步骤摘要】
区块链数据处理的方法、系统及相关装置


[0001]本申请涉及信息
,尤其涉及区块链数据处理的方法、系统及相关装置。

技术介绍

[0002]区块链技术,也被称为分布式账本技术,依靠多个节点共同参与记账、共同维护一个可靠的数据库。每当有新的交易数据需要被写入区块链账本,这些数据会被汇总到一个区块中,该区块被添加到已有区块链账本的末端。区块链技术通过共识算法保证每个节点新添加的区块是相同的。每个区块除记录交易数据之外,还包含前一个区块的摘要(如哈希值),从而使得组成的区块链难以被篡改和伪造。因而区块链技术可以不依赖第三方信用机构,具有去中心化的特性。
[0003]在使用区块链技术的过程中,存储的数据不断增多,导致区块链的存储压力越来越大。

技术实现思路

[0004]本申请实施例提供一种区块链数据处理的方法、系统和相关装置,能够缓解区块链的存储压力。
[0005]第一方面,本申请实施例提供了一种区块链数据处理的方法,具体为转移区块链数据的方法。该方法包括:第一节点确定从存储的区块链账本中待转移的第一区块数据;接着,第一节点将该第一区块数据拆分为至少2个区块数据包,并根据该至少2个区块数据包生成至少1个恢复数据包,其中,恢复数据包用于恢复区块数据包;进而,第一节点将该至少2个区块数据包和该至少1个恢复数据包中的数据包发送至对应的第二节点,记录第一区块数据的数据包与第二节点的第一对应关系,并广播该第一对应关系;第一节点还删除存储的区块链账本中的第一区块数据。
[0006]本申请中,区块链账本中的区块数据可以被拆分并转移到多个节点中,从而减轻了区块链账本的存储压力。并且恢复数据包可以容忍转移到一些节点上的区块数据包不可用,即在发生区块数据包不可用时恢复数据包可用于恢复区块数据包,从而提高了区块数据转移的可靠性。
[0007]在一个实施方式中,第二节点为区块链系统中的节点。由于区块链系统中的节点相对于区块链系统外部的设备安全性更高,因而将区块数据的数据包转移到区块链系统内部的节点,有利于提高区块数据转移的安全性。
[0008]可选地,第一节点根据第一区块数据生成第一校验数据,并广播该第一校验数据,其中,该第一校验数据用于对第一区块数据进行校验。该第一校验数据便于后期获取转移的该第一区块数据时对获取的第一区块数据进行校验,从而保证获取的第一区块数据是准确的,即保证了数据的可靠性和安全性。
[0009]可选地,第一节点根据第一区块数据的每个数据包(包括区块数据包和/或恢复数据包)生成对应的第二校验数据,并广播第二校验数据,其中,该第二校验数据用于对对应
的数据包进行校验,以快速地确定是否存在不可用的数据包,以及准确地确定不可用的数据包是哪个。
[0010]可选地,在第一节点将该第一区块数据拆分为至少2个区块数据包之前,第一节点还触发区块链系统对于第一区块数据进行一致性校验。具体地,第一节点广播指示对于第一区块数据进行一致性校验的第一共识请求,并接收对于该第一共识请求的共识成功消息,从而确定对于第一区块数据的一致性校验成功。这样保证了待转移的第一区块数据是准确的,避免对本身就不准确的区块数据进行转移而导致的安全隐患。
[0011]可选地,在第一节点删除存储的区块链账本中的该第一区块数据之前,第一节点成功获取已转移的该第一区块数据。具体地,第一节点根据该第一对应关系中第一区块数据的区块数据包与存储该区块数据包的第二节点之间的对应关系从该存储该区块数据包的第二节点获取对应的区块数据包,并将该获取的区块数据包组合成第二区块数据,当该第二区块数据与该第一区块数据相同时,第一节点确定成功获取该第一区块数据。从而保证转移的区块数据是可以成功获取的,以避免转移的区块数据无法成功获取而造成的区块数据丢失。
[0012]可选地,在第一节点删除存储的区块链账本中的该第一区块数据之前,第一节点触发区块链系统对于能够成功获取已转移的第一区块数据进行共识。具体地,第一节点在区块链系统中广播第二共识请求,该第二共识请求用于请求校验是否能成功获取已转移的第一区块数据;第一节点接收对于该第二共识请求的共识成功消息。进一步地,共识成功之后,第一节点还进一步触发区块链系统删除区块链账本中的该第一区块数据。具体地,第一节点还广播删除请求,该删除请求指示删除区块链账本中的该第一区块数据。这样可以在多节点对于能够成功获取已转移的第一区块数据达成共识之后,再删除第一区块数据,以避免第一节点被攻击利用而随意删除区块链账本中的数据,从而提高数据安全性。
[0013]在一个实施方式中,该至少1个恢复数据包的总数据量小于该至少2个区块数据包的总数据量,从而在保证区块数据转移的可靠性的同时,避免恢复数据包占用过多存储空间而造成存储压力。
[0014]可选地,第一节点从存储的区块链账本中确定待转移的第三区块数据,该第三区块数据的安全要求低于该第一区块数据的安全要求;进而第一节点将该第三区块数据发送至区块链系统外部的存储设备,记录该第三区块数据与该存储设备的第二对应关系,并广播该第二对应关系;第一节点删除该存储的区块链账本中的该第三区块数据。将安全要求较高的第一区块数据转移到区块链系统内部的节点,安全要求不高的第三区块数据转移到区块链系统外部的存储设备,有利于在保证安全要求高的区块数据的安全性的同时,还进一步减轻区块链系统的存储压力。
[0015]可选地,第一节点根据区块链系统中各节点的性能信息选取该第二节点,其中,该性能信息包括以下一项或多项:安全性、剩余存储空间、访问频率、CPU占用率、或故障率。
[0016]在一个实施方式中,该第二节点为区块链系统中的安全节点,其中,安全节点是根据区块链系统中各节点的安全性来确定的、或者是通过共识机制来确定的。由于区块链系统中可能存在恶意说谎节点,这样可以避开这些恶意说谎节点,从而进一步提高了区块数据转存的安全性。可选地,第一节点还触发区块链系统删除区块链账本中的第一区块数据。具体地,第一节点广播删除请求,该删除请求指示删除区块链账本中的该第一区块数据。
[0017]第二方面,本申请实施例提供了一种区块链数据处理的方法,具体为存储区块链数据的方法。该方法包括:第二节点接收并存储第一节点发送的第一数据包,其中,该第一数据包为第一区块数据被拆分得到的区块数据包中的一个或多个数据包,和/或用于恢复该第一区块数据的区块数据包的恢复数据包,该第一区块数据为区块链账本中待转移的数据;接着,第二节点还接收并存储第一对应关系,该第一对应关系包括:该第一区块数据的区块数据包与存储该区块数据包的节点的对应关系、该第一区块数据的恢复数据包与存储该恢复数据包的节点的对应关系。
[0018]本申请中,区块链账本中的区块数据可以被拆分并转移到多个节点中,从而减轻了区块链账本的存储压力。并且恢复数据包可以容忍转移到一些节点上的区块数据包不可用,即在发生区块数据包不可用时恢复数据包可用于恢复区块数据包,从而提高了区块数据转移的可靠性。转移的区块数据的数据包(区块数据包、恢本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种区块链数据处理的方法,其特征在于,包括:第一节点确定存储的区块链账本中待转移的第一区块数据;所述第一节点将所述第一区块数据拆分为至少2个区块数据包,并根据所述至少2个区块数据包生成至少1个恢复数据包,其中,所述恢复数据包用于恢复所述区块数据包;所述第一节点将所述至少2个区块数据包和所述至少1个恢复数据包中的数据包发送至对应的第二节点,记录所述第一区块数据的数据包与所述第二节点的第一对应关系,并广播所述第一对应关系;所述第一节点删除所述存储的区块链账本中的所述第一区块数据。2.根据权利要求1所述的方法,其特征在于,所述第二节点为区块链系统中的节点。3.根据权利要求1或2所述的方法,其特征在于,所述第一节点将所述第一区块数据拆分为至少2个区块数据包之前,还包括:所述第一节点广播第一共识请求,所述第一共识请求指示对于所述第一区块数据进行一致性校验,并接收对于所述第一共识请求的共识成功消息。4.根据权利要求1-3任一所述的方法,其特征在于,所述第一节点删除所述第一区块数据之前,还包括:所述第一节点成功获取已转移的所述第一区块数据。5.根据权利要求4所述的方法,其特征在于,所述第一节点成功获取已转移的所述第一区块数据,包括:所述第一节点根据所述第一对应关系中第一区块数据的区块数据包与存储所述区块数据包的第二节点之间的对应关系从所述存储所述区块数据包的第二节点获取对应的区块数据包;所述第一节点将所述获取的区块数据包组合成第二区块数据;当所述第二区块数据与所述第一区块数据相同时,所述第一节点确定成功获取所述第一区块数据。6.根据权利要求1-5任一所述的方法,其特征在于,所述第一节点删除所述第一区块数据之前,还包括:所述第一节点广播第二共识请求,所述第二共识请求指示校验是否能成功获取已转移的所述第一区块数据;所述第一节点接收对于所述第二共识请求的共识成功消息。7.根据权利要求1-6任一所述的方法,其特征在于,所述至少1个恢复数据包的总数据量小于所述至少2个区块数据包的总数据量。8.根据权利要求1-7任一所述的方法,其特征在于,还包括:所述第一节点从所述存储的区块链账本中确定待转移的第三区块数据,所述第三区块数据的安全要求低于所述第一区块数据的安全要求;所述第一节点将所述第三区块数据发送至区块链系统外部的存储设备;所述第一节点记录所述第三区块数据与所述存储设备的第二对应关系,并广播所述第二对应关系;所述第一节点删除所述存储的区块链账本中的所述第三区块数据。9.一种区块链数据处理的方法,其特征在于,包括:
接收并存储第一节点发送的第一数据包,其中,所述第一数据包为第一区块数据被拆分得到的区块数据包中的一个或多个数据包,和/或用于恢复所述区块数据包的恢复数据包,所述第一区块数据为区块链账本中待转移的数据;接收并存储第一对应关系,所述第一对应关系包括:所述第一区块数据的区块数据包与存储所述区块数据包的节点的对应关系,所述第一区块数据的恢复数据包与存储所述恢复数据包的节点的对应关系。10.根据权利要求9所述的方法,其特征在于,执行所述方法的节点为区块链系统中的第二节点。11.根据权利要求10所述的方法,其特征在于,所述第二节点为存储所述区块链账本的节点,所述方法还包括:所述第二节点接收所述第一节点发送的删除请求,所述删除请求指示删除所述区块链账本中的所述第一区块数据;所述第二节点删除存储的所述区块链账本中的所述第一区块数据。12.根据权利要求9-11任一所述的方法,其特征在于,还包括:接收共识请求,所述共识请求用于请求校验是否能成功获取已转移的所述第一区块数据;成功获取已转移的所述第一区块数据后,,广播校验成功消息。13.根据权利要求9-12任一所述的方法,其特征在于,还包括:接收并存储所述第一数据包的校验数据;周期性地根据所述第一数据包的校验数据对所述第一数据包进行完整性校验。14.根据权利要求13所述的方法,其特征在于,当对所述第一数据包的完整性校验失败时,还包括:根据所述第一对应关系向存储所述第一区块数据的其他数据包的节点获取所述第一区块数据的其他数据包,所述第一区块数据的其他数据包为第一区块数据的区块数据包和恢复数据包中除第一数据包以外的数据包;根据所述第一区块数据的其他数据包恢复所述第一数据包。15.一种区块链数据处理的装置,其特征在于,包括:存储模块,用于存储区块链账本;处理模块,用于确定所述存储模块中存储的所述区块链账本中待转移的第一区块数据,将所述第一区块数据拆分为至少2个区块数据包,并根据所述至少2个区块数据包生成至少1个恢复数据包,其中,所述恢复数据包用于恢复所述区块数据包;...

【专利技术属性】
技术研发人员:陈韬胡瑞丰蒋飞虎朱殿宏
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:

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

1