一种区块链数据同步迁移的方法与流程

文档序号:22966631发布日期:2020-11-19 21:38阅读:343来源:国知局
一种区块链数据同步迁移的方法与流程

本发明涉及区块链技术领域,具体涉及一种区块链数据同步迁移的方法。



背景技术:

区块链技术,是一种由若干台计算设备共同参与“记账”,来维护一份完整的分布式数据库的新兴技术。对应的数据存储具有去中心化、公开透明的特点,加上时间戳及相应的加密机制,从而使交易记录可追溯并不可篡改,促进各个交易环节的信任关系,在金融、供应链等涉及到多方协作领域具有广泛应用的前景。

随着区块链技术的迅速发展,区块链会因为版本的升级或者技术架构的调整或者上层业务系统的变化,导致原有的数据无法被识别,或者无法满足新的需求。

现有技术中常用的方法有两种,其中一种是跨链,将原来的区块链系统和新的区块链系统作为两个独立的链,通过跨链调用原有的数据,虽然这种方式保证了数据的安全和可溯源,但这种方法存在效率慢,有两套系统需要维护,工作量和复杂度都成倍增加。

另外一种方法则是将原有区块链系统中的数据迁移至升级后的区块链系统中,以避免数据存储不兼容的问题,而数据迁移的方法通常是求助于两个区块链系统共同认可的第三方服务组织,将原有区块链上的账本数据迁移至第三方服务组织,并由第三方服务组织将账本数据迁移至新区块链上,但整个过程中需要依赖于第三方服务组织,数据迁移的效率较低、安全性较低。

同时,由于区块链系统的特性,新区块链系统中的数据时间戳将会更新为迁移时的时间戳,而不是业务发生时的时间戳,这一技术问题也会使区块链系统产生严重的信任问题。



技术实现要素:

本发明的目的在于提供一种区块链数据同步迁移的方法,提高区块链系统数据同步迁移的可信性,将原来区块链系统中的交易信息直接导入到新的区块链系统中,提供给其他合约及用户查询。

为达此目的,本发明采用以下技术方案:

提供一种区块链数据同步迁移的方法,包括以下步骤:

s10、建立第一区块链网络和第二区块链网络;

s20、各个联盟成员达成共识:将所述第一区块链网络中的交易数据导入到所述第二区块链网络作为他链历史交易;

s30、部署同步合约:编写同步合约代码,将所述同步合约部署到所述第二区块链网络;

s40、读取数据:在所述第一区块链网络和所述第二区块链网络之间建立apisever,所述apisever对所述第一区块链网络的交易进行解析后,通过sdk从所述第一区块链网络的区块中读取全部交易信息t(n);

s50、同步数据:将所述第一区块链网络的交易信息t(n)依次作为新交易的内容通过所述同步合约提交给所述第二区块链网络,完成所述第一区块链网络与所述第二区块链网络的数据同步,其他合约及用户通过所述同步合约可查询他链历史交易。

作为区块链数据同步迁移的方法的一种优选方案,所述步骤s50中,所述交易信息t(n)存储于所述第一区块链网络的原始节点1a(b,c…n)内,所述原始节点1a(b,c…n)内的交易信息t(n)通过所述同步合约依次提交给所述第二区块链网络的新节点2a(b,c…n)内,形成所述第二区块链网络中新交易的交易内容。

作为区块链数据同步迁移的方法的一种优选方案,所述步骤s40中,所述交易信息t(n)包括hash值、时间戳、交易内容、签名和交易状态。

作为区块链数据同步迁移的方法的一种优选方案,所述步骤s50中,所述第二区块链网络通过所述同步合约写入的数据可通过所述hash值进行检索,各联盟成员可以对数据的有效性及完整性进行检查。

本发明的有益效果:

(1)本发明通过同步迁移的方法将第一区块链网络的交易数据迁移到第二区块链网络,该交易数据包含了时间戳、交易内容、签名和交易状态等完整的交易信息,有效解决了导入交易数据的时间戳变化为导入时间的问题,同时通过智能合约写入第二区块链网络中的数据可以通过交易hash值进行检索,各联盟成员随时可以对数据的有效性及完整性进行检查,极大的提高了数据同步后的可信性;

(2)本发明从第一区块链网络中读取的是完整的交易信息,该完整的交易信息作为一个整体迁移至第二区块链网络,形成第二区块链网络中新交易的交易内容,保证了两个区块链网络的数据结构是相互独立的,没有强制关联,并且对于旧交易的解析,只需在同步合约中提供即可,这一方法对区块链系统的升级,带来了极大的灵活性。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例中所需要使用的附图作简单地介绍。显而易见地,下面所描述的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本发明一实施例所述的区块链数据同步迁移的方法的流程图。

图2是本发明一实施例所述的第一区块链网络与第二区块链网络的对接图。

图3是本发明一实施例所述的区块链数据同步迁移的方法的网络示意图。

图4是本发明一实施例所述的第一区块链网络与第二区块链网络的账本数据对比图。

具体实施方式

下面结合附图并通过具体实施方式来进一步说明本发明的技术方案。

其中,附图仅用于示例性说明,表示的仅是示意图,而非实物图,不能理解为对本专利的限制;为了更好地说明本发明的实施例,附图某些部件会有省略、放大或缩小,并不代表实际产品的尺寸;对本领域技术人员来说,附图中某些公知结构及其说明可能省略是可以理解的。

本发明实施例的附图中相同或相似的标号对应相同或相似的部件;在本发明的描述中,需要理解的是,若出现术语“上”、“下”、“左”、“右”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此附图中描述位置关系的用语仅用于示例性说明,不能理解为对本专利的限制,对于本领域的普通技术人员而言,可以根据具体情况理解上述术语的具体含义。

在本发明的描述中,除非另有明确的规定和限定,若出现术语“连接”等指示部件之间的连接关系,该术语应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或成一体;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个部件内部的连通或两个部件的相互作用关系。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。

如图1所示,本发明实施例中的区块链数据同步迁移的方法包括以下步骤:

s10、建立第一区块链网络和第二区块链网络;

s20、各个联盟成员达成共识:将第一区块链网络中的交易数据导入到第二区块链网络作为他链历史交易;

s30、部署同步合约:编写同步合约代码,将同步合约部署到第二区块链网络;

s40、读取数据:在第一区块链网络和第二区块链网络之间建立apisever,apisever对第一区块链网络的交易进行解析后,通过sdk从第一区块链网络的区块中读取全部交易信息t(n);

s50、同步数据:将第一区块链网络的交易信息t(n)依次作为新交易的内容通过同步合约提交给第二区块链网络,完成第一区块链网络与第二区块链网络的数据同步,其他合约及用户通过同步合约可查询他链历史交易。

如图2所示,步骤s50中,交易信息t(n)存储于第一区块链网络的原始节点1a(b,c…n)内,原始节点1a(b,c…n)内的交易信息t(n)通过同步合约依次提交给第二区块链网络的新节点2a(b,c…n)内,形成第二区块链网络中新交易的交易内容。

于本实施例中,步骤s40中,交易信息t(n)包括hash值、时间戳、交易内容、签名和交易状态。

于本实施例中,步骤s50中,第二区块链网络通过同步合约写入的数据可通过hash值进行检索,各联盟成员可以对数据的有效性及完整性进行检查。

如图3所示,本发明通过同步迁移的方法将第一区块链网络的交易数据迁移到第二区块链网络,该交易数据包含了时间戳、交易内容、签名和交易状态等完整的交易信息t(n),有效解决了导入交易数据的时间戳变化为导入时间的问题,同时通过智能合约写入第二区块链网络中的数据可以通过交易hash值进行检索,各联盟成员随时可以对数据的有效性及完整性进行检查,极大的提高了数据同步后的可信性;

如图4所示,本发明从第一区块链网络中读取的是完整的交易信息t(n),该完整的交易信息t(n)作为一个整体迁移至第二区块链网络,形成第二区块链网络中新交易的交易内容,保证了两个区块链网络的数据结构是相互独立的,没有强制关联,并且对于旧交易的解析只需在同步合约中提供即可,其他合约及用户通过同步合约可以查询到他链历史交易,通过对比第一区块链网络与第二区块链网络各个节点的账本数据,即可得知各个交易信息的有效性及完整性,这一方法对区块链系统的升级,带来了极大的灵活性。

在本发明中专有名词解释:

联盟成员:是指区块链中的成员,一般是机构为单位,成员下面可以包含一个到多个节点。

他链历史交易:是指其他区块链的历史交易信息。

apisever:提供接口可供外部访问的服务器。

sdk:是为特定的软件包、软件框架、硬件平台、操作系统等建立应用软件时的开发工具的集合。

t(n):表示区块链网络中的第n条交易信息,其中t是transaction的缩写,n是代表交易的序号。

其他合约与用户:其他合约是指部署在联盟链中的其他智能合约,即以程序代码形式定义的承诺,包括合约参与方可以在上面执行这些承诺的协议,用户是指联盟成员及机构下属的用户。

1a(b,c…n):代表第一区块链网络中节点,序号从a,b,c到n。

2a(b,c…n):代表第二区块链网络中节点,序号从a,b,c到n。

hash:是把任意长度的输入(又叫做预映射pre-image)通过散列算法变换成固定长度的输出,该输出就是散列值。

时间戳:使用数字签名技术产生的数据,签名的对象包括了原始文件信息、签名参数、签名时间等信息。时间戳系统用来产生和管理时间戳,对签名对象进行数字签名产生时间戳,以证明原始文件在签名时间之前已经存在。

签名:是只有信息的发送者才能产生的别人无法伪造的一段数字串,这段数字串同时也是对信息的发送者发送信息真实性的一个有效证明。

交易状态:表示交易是否成功等信息。

交易内容:包含了交易的具体信息,比如交易双方、交易物品等。

需要声明的是,上述具体实施方式仅仅为本发明的较佳实施例及所运用技术原理。本领域技术人员应该明白,还可以对本发明做各种修改、等同替换、变化等等。但是,这些变换只要未背离本发明的精神,都应在本发明的保护范围之内。另外,本申请说明书和权利要求书所使用的一些术语并不是限制,仅仅是为了便于描述。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1