[发明专利]多节点数据同步的方法和装置,以及计算机设备在审
申请号: | 202010048622.7 | 申请日: | 2020-01-16 |
公开(公告)号: | CN111274317A | 公开(公告)日: | 2020-06-12 |
发明(设计)人: | 王东临 | 申请(专利权)人: | 书生星际(北京)科技有限公司 |
主分类号: | G06F16/27 | 分类号: | G06F16/27 |
代理公司: | 北京布瑞知识产权代理有限公司 11505 | 代理人: | 秦卫中 |
地址: | 100102 北京市朝阳区*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 节点 数据 同步 方法 装置 以及 计算机 设备 | ||
本发明提供了一种多节点数据同步的方法和装置,以及计算机设备,该方法包括:多节点中的至少一个主节点中的一个主节点接收到应用程序提交的写操作;该主节点将该写操作对应的至少一条数据变更日志打包到由该主节点产生的区块中,并对该区块进行签名;在对该区块进行签名后,该主节点将该区块广播至多节点中的其它节点;多节点中的至少一个同步节点读取该区块中的所述至少一条数据变更日志,并执行该区块中的与至少一条数据变更日志对应的至少一个数据变更操作;以及多节点中的至少一个节点确定该区块的操作状态,以便于所述应用程序根据所述区块的操作状态,确定数据同步的状态。
技术领域
本发明涉及区块链开发技术领域,具体涉及一种多节点数据同步的方法和装置,以及计算机设备。
背景技术
传统数据库集群或分布式存储系统在数据同步时存在数据可靠性和写操作的同步性能的矛盾,原因在于,如果应用程序等待多节点都同步后才算完成写操作,则写操作的同步性能过低,如果多节点中的一个节点保存后就同步,当数据还没同步到其它节点时该节点就出现故障,则导致数据丢失,会使数据可靠性降低,所以如果想保证数据可靠性,就需要等待多节点之间同步完成,导致数据写入性能过低。当各节点数据库都在同机房时这个矛盾相对不是很突出,可以利用高速局域网,既可以得到较好的写操作的同步性能,又能够保证数据不丢失,而且在同一机房的多节点数据库都归同一个所有者所有,可以与外网隔离,有较好的物理防护和防火墙等安全防护措施,对多节点数据的同步方案可以不考虑节点作恶的问题。
但当各节点位于距离遥远的不同地域、相互之间通过广域网来连接时,以上问题就非常突出了。由于节点之间同步性能过慢,每次写操作都等待足够多节点完成同步才返回应用的话,写操作的同步性能过于低下,而且各节点分布在不同地域,给每个节点都增加安保人员、物理防护和防火墙等安全防护措施的成本过于高昂,甚至不同节点都可能归属不同的所有者,存在节点主动作恶或被黑客掌控后作恶的风险。在这种情况下,传统的多节点数据同步方案就不再适用。
传统方式下应用程序不了解各节点的同步状态,当写完再读时,可能会因为写操作和读操作被分配到不同节点上,而执行读操作的节点还没完成对写操作的同步,从而出现读到的数据是写之前的旧数据的情况。
发明内容
有鉴于此,本发明实施例致力于提供一种多节点数据同步的方法和装置,以及计算机设备,通过主节点将与应用程序提交的写操作对应的至少一条数据变更日志打包到区块中,并将该区块广播至多节点中的其它节点,然后多节点中的同步节点对数据进行同步,多节点中的至少一个节点确定出该区块的操作状态,最后应用程序在数据同步过程中向至少一个节点查询该区块的操作状态,并根据该区块的操作状态确定数据同步的状态,从而实现应用程序在数据同步的过程中对数据同步的状态的追踪,从而让应用程序可以自行在写操作的同步性能和数据可靠性中进行平衡,并解决数据不一致的问题。例如,应用程序可以在一系列写操作时不等每一次写操作确认就继续进行下一步骤,在最后再确认所有写操作是否都全部确认(即每个写操作都同步到足够多数量的节点),如果因为某个节点故障导致某个写操作不成功时,可以重新提交该次写操作,直到所有写操作都彻底完成,这样可以兼顾写操作的同步性能和数据可靠性。另外,应用程序也可以了解写操作的执行状态,知道在哪个节点可以读到写操作执行完之后的数据,以及什么时候可以在所有同步节点都能读到写完后的数据。
根据本发明实施例的第一方面,提供一种多节点数据同步的方法,包括:所述多节点中的至少一个主节点中的一个主节点接收到应用程序提交的写操作;所述主节点将所述写操作对应的至少一条数据变更日志打包到由所述主节点产生的区块中,并对所述区块进行签名;在对所述区块进行签名后,所述主节点将所述区块广播至所述多节点中的其它节点;所述多节点中的至少一个同步节点读取所述区块中的所述至少一条数据变更日志,并执行所述区块中的与所述至少一条数据变更日志对应的至少一个数据变更操作;以及所述多节点中的至少一个节点确定所述区块的操作状态,以便于所述应用程序根据所述区块的操作状态,确定数据同步的状态。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于书生星际(北京)科技有限公司,未经书生星际(北京)科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010048622.7/2.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置