一种轨道交通分布式数据库的组模型准延迟同步方法技术

技术编号:34497537 阅读:17 留言:0更新日期:2022-08-10 09:17
本发明专利技术公开了一种轨道交通分布式数据库的组模型准延迟同步方法,步骤如下:生成修改时间、摘要时间、摘要标识功能;根据源IP是否本地决定是否执行同步,同步目标中心库和车站非本机冗余库,根据源IP是否本地决定是否执行同步,同时根据目标车站决定同步对应的车站冗余库以及中心非本机冗余库;同步成功后重读表中目标记录摘要求和得出同步摘要,比对同步对象中目标同步摘要是否一致,生成同步结果并记录同步成功记录。本发明专利技术将内容比对转换为摘要比对,提升了变化的识别效率;本发明专利技术非常契合轨道交通领域全生命周期特性;本发明专利技术一次只写一个目标数据库,模型一致性、系统可用性得到了加强。加强。加强。

【技术实现步骤摘要】
一种轨道交通分布式数据库的组模型准延迟同步方法


[0001]本专利技术涉及轨道交通综合自动化系统,特别是一种轨道交通分布式数据库的组模型准延迟同步方法。

技术介绍

[0002]在轨道交通自动化领域,最重要的数据就是设备相关模型,基础的分类方式就是车站。轨道交通车站数目多,成都地铁6号线拥有56个车站,以综合监控为例,标准要求系统提供三级控制中心、车站、就地,当中心离线时,车站具备完整的设备模型、能够独立运行。由此带来数量多达114个数据库同步的巨大难题。未来综合监控将升级线网级监控,需要模型同步的数据库数量会剧增,风险急剧增加。
[0003]常规的方法:1、采用同时写多个目标数据库,当目标数据库离线的时本地缓存同步记录,同步记录庞大,容易导致同步程序无法加载缓存文件,同时由于没有校验机制,虽然保证了实时性,但一致性较差,存在安全隐患,并随着规模的扩大风险急剧增加;2、采用中心建模,定期复制这个数据库,该方法过程复杂,需要清空数据库,再进行同步,存在清空数据无法恢复的问题,可能导致更大的安全隐患;3、采用RANK等商用同步工具或者基于Binlog机制的同步技术或开源组件,该方法仅适用于少量的数据库同步,不适合分布式数据库同步,尤其是不适合轨道交通中心车站数据库非对等的应用场景。详见图2,中心库拥有所有车站模型,车站只有本站模型。

技术实现思路

[0004]专利技术目的:本专利技术的目的是提供一种轨道交通分布式数据库的组模型准延迟同步方法,从而解决多数据库模式下存在的数据不一致问题。
[0005]技术方案:本专利技术所述的一种轨道交通分布式数据库的组模型准延迟同步方法,包括以下步骤:(1)根据本库性质和目标库性质,当本地库为中心库,目标库为车站时获取目标站,其他情况目标库置为空值;(2)读取库

表同步记录,读取上次成功同步时间,摘要,如果记录为空,执行步骤(2.1);如果记录不为空,执行步骤(2.2);(2.1)读取本表中source_db为本机、属性为目标站(可选,中心同步车站时需要)的所有记录,如果记录为空,记录本次同步成功,生成默认hashcode,如果记录不为空,计算目标库

表来源为本库的表hashcode,如果不一致,执行步骤(2),如果一致,执行步骤(6);(2.2)读取本表中source_db为本机、属性为目标站(可选,中心同步车站时需要)的所有记录的record_changed_time>= synced_time的记录,如果记录为空,记录本次同步成功,hashcode不变;如果记录不为空,执行步骤(2);(3)判断record_hash_time为空或record_changed_time>=record_hash_time,生成修改时间、摘要时间、摘要标识功能,生成修改时间为记录更新和处理标识,摘要标识由
非关键字顺序HASH生成;(4)判断目标库记录是否存在,不存在直接插入记录;记录存在,比较记录hashcode是否一致,一致,跳过同步,不一致执行更新,(5)重新计算本库hashcode;(6)生成同步结果并记录同步记录,同步成功记录本库hashcode,同步不成功记录日志;(7)当库损坏时,手动导入冗余库,如果本库是主库,根据步骤(2.1)生成同步记录,无同步操作;如果本库是备库,无影响。
[0006]一种轨道交通分布式数据库的组模型准延迟同步系统,包括以下模块:记录同步模块:拥有生成修改时间、摘要时间、摘要标识;其中,生成修改时间为记录更新和处理标识,摘要标识由非关键字顺序HASH生成;车站同步模块:根据源IP是否本地决定是否执行同步,同步目标中心库和车站非本机冗余库,位于中心的车站同步模块会根据源IP是否本地决定是否执行同步,同时根据目标车站决定同步对应的车站冗余库以及中心非本机冗余库;表同步模块:在车站同步模块同步成功后重读表中目标记录摘要求和得出同步摘要,比对同步对象中目标同步摘要是否一致,生成同步结果;同步结果记录模块:记录由表同步模块生成的同步结果;提供数据库、数据表、车站同步游标的功能,以便精细化的识别哪些是同步后的修改。
[0007]一种计算机存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述的一种轨道交通分布式数据库的组模型准延迟同步方法。
[0008]一种计算机设备,包括储存器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述的一种轨道交通分布式数据库的组模型准延迟同步方法。
[0009]有益效果:与现有技术相比,本专利技术具有如下优点:1、本专利技术由于对数据库记录和表采用了摘要的表征方法,将内容比对转换为摘要比对,故而大幅提升了变化的识别效率;2、本专利技术非常契合轨道交通领域全生命周期特性,即前期建设时改动大、对备份的依赖性低、同步要求低的特性,后期运维时改动小或者几乎无改动、对备份依赖强、同步要求高的特性;3、本专利技术由于延迟同步,一次只写一个目标数据库,写效率、模型一致性、系统可用性得到了加强。
附图说明
[0010]图1为本专利技术的流程图;图2为适用环境以及同步效果图。
具体实施方式
[0011]下面结合附图对本专利技术的技术方案作进一步说明。
[0012]如图1所示,一种轨道交通分布式数据库的组模型准延迟同步方法,包括以下步
骤:(1)记录同步模块拥有生成修改时间、摘要时间、摘要标识,如表1所示,生成修改时间为记录更新和处理标识,摘要标识由非关键字顺序HASH生成。源IP和生成修改时间由数据库写程序生成,随记录一起生成和修改。摘要时间和摘要标识由同步管理程序定期生成,同步管理程序独立运行,通过业务和管理分开使得模型业务程序更加简洁、轻量化,提升了业务程序的可靠性和稳定性。
[0013](2)位于车站的车站同步模块会根据源IP是否本地决定是否执行同步,同步目标中心库和车站非本机冗余库,位于中心的车站同步模块会根据源IP是否本地决定是否执行同步,同时根据目标车站决定同步对应的车站冗余库以及中心非本机冗余库。按照唯一源IP作为系统修改同步源,实现了业务模块专一读写唯一数据库,并从该库发起同步任务,其他数据库同步不会受到任何影响。以车站为组标识,符合轨道交通基本的分类方式,很好的满足轨道交通中心车站数据库非对等的应用场景。
[0014](3)表同步模块在车站同步模块同步成功后重读表中目标记录摘要求和得出同步摘要,比对同步对象中目标同步摘要是否一致,生成同步结果,通过同步结果记录模块记录同步成功记录,如表2所示。
[0015](4)同步记录模块除记录同步结果外,还提供数据库、数据表、车站同步游标的功能,以便精细化的识别哪些是同步后的修改。
[0016]表1模型相关设备、点表、联动表等数据表扩充列及示例表2同步结果表及示例一种轨道交通分布式数据库的组模型准延迟同步方法,包括以下模块:记录同步模块:拥有生成修改时间、摘要时间、摘要标识;其中,生成修改时间为记录更新和处理本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种轨道交通分布式数据库的组模型准延迟同步方法,其特征在于,包括以下步骤:(1)根据本库性质和目标库性质,当本地库为中心库,目标库为车站时获取目标站,其他情况目标库置为空值;(2)读取库

表同步记录,读取上次成功同步时间,摘要,如果记录为空,执行步骤(2.1);如果记录不为空,执行步骤(2.2);(2.1)读取本表中source_db为本机、属性为目标站的所有记录,如果记录为空,记录本次同步成功,生成默认hashcode,如果记录不为空,计算目标库

表来源为本库的表hashcode,如果不一致,执行步骤(2),如果一致,执行步骤(6);(2.2)读取本表中source_db为本机、属性为目标站的所有记录的record_changed_time>= synced_time的记录,如果记录为空,记录本次同步成功,hashcode不变;如果记录不为空,执行步骤(2);(3)判断record_hash_time为空或record_changed_time>=record_hash_time,生成修改时间、摘要时间、摘要标识功能,生成修改时间为记录更新和处理标识,摘要标识由非关键字顺序HASH生成;(4)判断目标库记录是否存在,不存在直接插入记录;记录存在,比较记录hashcode是否一致,一致,跳过同步,不一致执行更新,(5)重新计算本库hashcode;(6)生成同步结果并记录同步记录,同步成功...

【专利技术属性】
技术研发人员:张浩胡波石琦徐超李冰陈莉莉
申请(专利权)人:南瑞轨道交通技术有限公司
类型:发明
国别省市:

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

1