一种基于区块链的微服务跨库查询的方法和系统技术方案

技术编号:33450149 阅读:27 留言:0更新日期:2022-05-19 00:34
本发明专利技术提供了一种基于区块链的微服务跨库查询的方法和系统,其方法包括:步骤1:根据需要关联的数据库表,设计智能合约,并基于WeBase平台部署在区块链上;步骤2:当机房需要对商品数据执行更新操作时,基于对应的更新请求信息以及待更新的商品数据,向所述区块链的控制终端发送交易请求;步骤3:调用所述智能合约,并按照预设流程在区块链执行对应交易;步骤4:基于区块链达成交易共识后,将达成一致的状态数据进行存储;步骤5:当微服务需要与公共业务数据关联查询时,将所述微服务与所述区块链同步到本地节点的数据库表进行关联,通过采用区块链技术,自动化的实现数据同步,提升了数据的可信度,保证数据的安全性。保证数据的安全性。保证数据的安全性。

【技术实现步骤摘要】
一种基于区块链的微服务跨库查询的方法和系统


[0001]本专利技术涉及区块链
,特别涉及一种基于区块链的微服务跨库查询的方法和系统。

技术介绍

[0002]目前,现有的数据同步的表广播方案,基本能实现微服务的跨库关联查询业务,但是存在的问题也比较明显。具体痛点有3点:1、基于数据同步模式,当同步服务异常时,会导致不同库的表数据不一致,影响最终业务;2、对于存在异常的节点,无法及时感知;3、对于新增节点,不能方便的接入;4、对于异地机房等等,同步存在较大延迟和不安全性;
[0003]本专利技术提供了一种基于区块链的微服务跨库查询的方法和系统,通过替代传统的微服务数据同步或者跨库方案,借助区块链的全网共识进行数据的实时同步;通过mysql存储,实现分布式存储,可以带来容量和性能上的提升;当有新的微服务节点部署时,同步添加区块链节点即可自动接入区块链网络,后续自动完成历史数据同步;采用区块链方式,大大提高了数据安全。

技术实现思路

[0004]本专利技术提供一种基于区块链的微服务跨库查询的方法和系统,用以通过采用区块链技术,自动化的实现数据同步,提升了数据的可信度,保证数据的安全性。
[0005]本专利技术提供了一种基于区块链的微服务跨库查询的方法,包括:
[0006]步骤1:根据需要关联的数据库表,设计智能合约,并基于WeBase平台部署在区块链上;
[0007]步骤2:当机房需要对商品数据执行更新操作时,基于对应的更新请求信息以及待更新的商品数据,向所述区块链的控制终端发送交易请求;
[0008]步骤3:调用对应智能合约,并按照预设流程在区块链执行对应交易;
[0009]步骤4:基于区块链达成交易共识后,将达成一致的状态数据进行存储;
[0010]步骤5:当微服务需要与公共业务数据关联查询时,将所述微服务与所述区块链同步到本地节点的数据库表进行关联。
[0011]在一种可能实现的方式中,步骤1中,在设计智能合约之前,包括:
[0012]步骤1.1:获取所述区块链所需最小共识节点的第一数量;
[0013]步骤1.2:基于所述第一数量,确定作为共识机构的机房的第二数量以及每个共识机构内启动节点的第三数量,并将不作为共识机构的其他机房对应的节点作为观察节点,参与区块同步。
[0014]在一种可能实现的方式中,步骤1中,在设计智能合约之前,还包括:
[0015]步骤1.4:获取区块链节点群组配置文件的相关信息;
[0016]步骤1.5:将所述相关信息进行修改;
[0017]步骤1.6:基于修改结果,确认是否由区块链默认的节点存储引擎RocksDB修改为
mysql。
[0018]在一种可能实现的方式中,步骤2中,基于对应的更新请求信息以及待更新的商品数据,向所述区块链的控制终端发送交易请求,包括:
[0019]步骤2.1:当机房需要对商品数据执行更新操作时,调用所述WeBase平台提供的SDK接口,将对应的更新请求信息作为第一交易请求信息;
[0020]步骤2.2:将待更新的商品数据作为第二交易请求信息;
[0021]步骤2.3:所述WeBase平台基于所述区块链提供的协议接口将所述第一交易请求信息以及所述第二交易请求信息发送到所述区块链的控制终端。
[0022]在一种可能实现的方式中,步骤3中,按照预设流程在区块链执行对应交易,具体包括:
[0023]步骤3.1:在所述区块链网络执行第一操作的过程中,根据所述第一操作的操作规范标准,对所述第一操作进行第一检验;
[0024]步骤3.2:获取所述第一操作基于操作规范标准下的理想结果,并基于所述理想结果对所述第一操作的实际操作结果进行第二检验;
[0025]步骤3.3:获取所述第一操作基于当前操作规范程度的预期结果,并基于所述预期结果对所述第一操作的实际操作结果进行第三检验;
[0026]步骤3.4:根据第一检验结果、第二检验结果以及第三检验结果,确定所述第一操作的合格性;
[0027]步骤3.5:当所述合格性满足第一条件时,基于所述区块链并按照预设流程依次执行除所述第一操作外的其他操作;
[0028]步骤3.6:当所述合格性满足第二条件时,获取与所述第一操作对应的差异报告,并调取与所述差异报告对应的修正方案进行修正。
[0029]在一种可能实现的方式中,步骤4中,将达成一致的状态数据进行存储之前,包括:
[0030]获取所述区块链中所有节点的历史共识记录信息,并将所述历史共识记录信息作为内容信息,补充至预先构建的识别模型中;
[0031]获取所有节点中每一节点的当前位置信息,并基于所述当前位置信息确定所有节点的当前布局区域;
[0032]获取所述当前布局区域的中心位置以及每一节点的当前位置与所述中心位置之间的距离,并以所述中心位置作为中心,以所述距离作为半径,按照预设方向以预设起始位置为起点,向每个节点进行画圆操作;
[0033]当所述中心位置处存在第一节点时,为所述第一节点设置第一排序号,并根据剩余节点对应的半径大小,分别为除所述第一节点外的其他节点设置排序号,并结合所述第一排序号,生成第一顺序;
[0034]获取具有相同半径的多个节点所在的圆弧线,并按照所述预设方向以所述预设起始位置为起点,统计所述圆弧线上出现节点的先后顺序,并基于所述先后顺序,更新所述第一顺序,生成第二顺序,并作为最后顺序;
[0035]当所述中心位置处不存在所述第一节点时,获取最小半径对应的第二节点,并为所述第二节点设置第一排序号,并依次对剩余节点进行排序,得到最后顺序;
[0036]控制所述识别模型按照最后顺序依次访问对应的所有节点,并获取对应的所有节
点中每一节点接收交易数据的时间点以及对应的交易数据信息,确认所述每一节点的待判定信息是否一致,若一致,判定达成交易共识;
[0037]若不一致,判定未达成交易共识。
[0038]在一种可能实现的方式中,步骤4中,在将达成一致的状态数据进行存储后,还包括:
[0039]当有新的微服务扩展时,增加区块链节点,并自动完成数据同步,且保持与其它节点相同的数据状态。
[0040]在一种可能实现的方式中,步骤4中,在将达成一致的状态数据进行存储后,还包括:
[0041]当区块链节点发生篡改数据或其它异常行为时,将与其它区块链节点账本数据不一致的节点从所述区块链中剔除。
[0042]在一种可能实现的方式中,将与其它区块链节点账本数据不一致的节点从所述区块链中剔除后,包括:
[0043]获取存在于所述区块链中的所有节点对应设置标签的属性信息;
[0044]获取发生篡改数据或其它异常行为的问题节点信息对应的问题属性信息,基于所述问题属性信息在所述属性信息中进行筛选,根据筛选结果,确定所述区块链对问题节点的剔除效果。
[0045]本专利技术提供了一种基于区本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于区块链的微服务跨库查询的方法,其特征在于,包括:步骤1:根据需要关联的数据库表,设计智能合约,并基于WeBase平台部署在区块链上;步骤2:当机房需要对商品数据执行更新操作时,基于对应的更新请求信息以及待更新的商品数据,向所述区块链的控制终端发送交易请求;步骤3:调用对应智能合约,并按照预设流程在区块链执行对应交易;步骤4:基于区块链达成交易共识后,将达成一致的状态数据进行存储;步骤5:当微服务需要与公共业务数据关联查询时,将所述微服务与所述区块链同步到本地节点的数据库表进行关联。2.根据权利要求1所述的一种基于区块链的微服务跨库查询的方法,其特征在于,步骤1中,在设计智能合约之前,包括:步骤1.1:获取所述区块链所需最小共识节点的第一数量;步骤1.2:基于所述第一数量,确定作为共识机构的机房的第二数量以及每个共识机构内启动节点的第三数量,并将不作为共识机构的其他机房对应的节点作为观察节点,参与区块同步。3.根据权利要求1所述的一种基于区块链的微服务跨库查询的方法,其特征在于,步骤1中,在设计智能合约之前,还包括:步骤1.4:获取区块链节点群组配置文件的相关信息;步骤1.5:将所述相关信息进行修改;步骤1.6:基于修改结果,确认是否由区块链默认的节点存储引擎RocksDB修改为mysql。4.根据权利要求1所述的一种基于区块链的微服务跨库查询的方法,其特征在于,步骤2中,基于对应的更新请求信息以及待更新的商品数据,向所述区块链的控制终端发送交易请求,包括:步骤2.1:当机房需要对商品数据执行更新操作时,调用所述WeBase平台提供的SDK接口,将对应的更新请求信息作为第一交易请求信息;步骤2.2:将待更新的商品数据作为第二交易请求信息;步骤2.3:所述WeBase平台基于所述区块链提供的协议接口将所述第一交易请求信息以及所述第二交易请求信息发送到所述区块链的控制终端。5.根据权利要求1所述的一种基于区块链的微服务跨库查询的方法,其特征在于,步骤3中,按照预设流程在区块链执行对应交易,具体包括:步骤3.1:在所述区块链网络执行第一操作的过程中,根据所述第一操作的操作规范标准,对所述第一操作进行第一检验;步骤3.2:获取所述第一操作基于操作规范标准下的理想结果,并基于所述理想结果对所述第一操作的实际操作结果进行第二检验;步骤3.3:获取所述第一操作基于当前操作规范程度的预期结果,并基于所述预期结果对所述第一操作的实际操作结果进行第三检验;步骤3.4:根据第一检验结果、第二检验结果以及第三检验结果,确定所述第一操作的合格性;步骤3.5:当所述合格性满足第一条件时,基于所述区块链并按照预设流程依次执行除
所述第一操作外的其他操作;步骤3.6:当所述合格性满足第二条件时,获取与所述第一操作对应的差异报告,并调取与所述差异报告对应的修正方案进行修正。6.根据权利要求1所述的一种基于区块链的微服务跨库查询的方法,其特征在于,步骤4中,将...

【专利技术属性】
技术研发人员:陈成斌廖畅叶智慧苏胜林马军亮
申请(专利权)人:中睿信数字技术有限公司
类型:发明
国别省市:

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

1