[发明专利]一种跨区块链网络的数据同步方法在审
申请号: | 201711212285.5 | 申请日: | 2017-11-28 |
公开(公告)号: | CN109842655A | 公开(公告)日: | 2019-06-04 |
发明(设计)人: | 路京磊;卢小明;陈姝 | 申请(专利权)人: | 北京众享比特科技有限公司 |
主分类号: | H04L29/08 | 分类号: | H04L29/08 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 100016 北京市朝*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 区块 交易 数据同步 同步工具 线程 哈希 字段 节点获取 同步过程 唯一性 网络 可配置 链节点 链系统 同步的 原操作 并发 审计 保证 | ||
本发明提出一种基于区块链系统的数据同步方法,所述方法包括:S1,区块链网络之间通过同步交易来实现数据同步;S2,提供一种区块链同步工具的实现,在不同区块链网络之间同步交易;S3,区块链节点程序通过在交易中添加当前交易哈希与下一个交易的哈希两个字段以保证同步后交易的顺序及唯一性,添加交易原操作者与原区块链编号字段以方便审计;S4,区块链同步工具开启两个线程,一个线程从区块链A获取交易,一个线程将获取到的交易发送到区块链B进行共识;S5,可同时在多台机器上开启多个区块链同步工具程序进行交易同步,可配置从区块链A的不同节点获取交易,并发送到区块链B的不同节点上,以解决同步过程中出现异常无法同步的问题。
技术领域
本申请涉及区块链技术,更具体的,涉及一种基于联盟区块链进行的数据同步技术。
背景技术
区块链是一种交易驱动的分布式账本技术,与传统数据库存储数据的方式不同,区块链中的数据一般经过序列化之后存储在每个节点的本地文件系统中。
在数据的迁移方面,数据库会提供数据的导入导出功能,即使不同类型的数据库之间都可以很方便的转移数据。区块链可细分为公有链,私有链与联盟链。一般来说公有链(如比特币、以太坊)的数据全世界都全用同一份,不需要考虑在不同的链之间转移数据,只需要同步当前区块链的数据即可。而联盟链因为是面向机构的,不同机构或者同一个机构的不同部门往往会同时运行多个区块链网络,因此会有不同区块链网络之间同步数据的需求。
因为区块链是交易驱动的,区块链网络之间的数据转移只需要将交易转移到另一个区块链上,区块链的交易数据与数据库中存储的数据不同,交易必须经过区块链网络的共识后被记到区块链上才能生效;另一方面,为防止数据同步过程中程序崩溃或者网络中断的情况,用户往往需要同时在多个节点开启数据同步服务,这样就要考虑并发上传过程中的交易的先后顺序及唯一性问题。
举个例子说明:
银行A是一个大型机构,组织机构呈树型结构,每个网点运行一个区块链,每个支行运行一个区块链,总行运行一个区块链,这些区块链之间都是独立的,用的是同一种联盟链程序。
在某个时间点,银行A需要同步交易数据,需要将各网点的数据先上传到支行,然后支行的数据上传到总行。这种情况下,各级区块链之间如何协作来完成这一需求呢,本发明提出的方案很适合解决这一问题
发明内容
针对背景技术中的问题,本文给出一种在同类型的联盟区块链网络之间支持多点并发上传、快速、准确同步交易数据的方法,这里说的交易主要针对非转账类型交易,不对账户本身的属性(比如余额)造成影响。
从区块链A向区块链B同步交易,需要如下准备工作:
S1,向区块链B同步交易的区块链可能不止A一个,需要给区块链A编号,如001;
S2,需要在区块链B上激活一个账户专门用来同步交易。
本发明需要区块链节点程序与区块链同步工具结合来实现:
区块链节点程序的支持包括:
S1,新添加交易字段,包括交易原操作者账户地址、交易当前哈希、下一个交易哈希、原交易在原区块链的区块号;
S2,添加对report类型交易的支持,report类型交易的当前交易哈希为当前区块的区块号;
S3,区块链节点程序保存交易的当前交易哈希与下一个交易哈希,当接收到新的交易时,用交易的当前交易哈希与保存的下一个交易哈希进行比较,相同则通过,不同则拒绝,并返回正确的下一交易哈希。
区块链同步工具的执行步骤如下:
S1,配置要获取交易的区块链节点信息、同步使用的账户信息、将要接收交易的区块链节点信息;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京众享比特科技有限公司,未经北京众享比特科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201711212285.5/2.html,转载请声明来源钻瓜专利网。