一种跨安全区域数据库实时同步方法与流程

文档序号:37161247发布日期:2024-02-26 17:31阅读:54来源:国知局
一种跨安全区域数据库实时同步方法与流程

本发明涉及数据库领域,尤其涉及一种跨安全区域数据库实时同步方法。


背景技术:

1、安全边界按照用途分为数据边界和视频边界,其中数据边界按照传输方式分为文件摆渡、数据库同步和端口映射(安全规范禁止使用);

2、如图1所示为现有技术中互联网数据传入视频专网的流程图,图2为现有技术中单向数据库触发式同步原理图。

3、应用需要进行数据同步时的执行步骤包括:

4、1、根据需求填写完申请表:

5、

6、整理需要进行同步的数据表以及同步方式(全量、增量)。

7、2、边界厂商在安全边界管理平台上进行配置,会在需要同步的表中自动增加以下触发器(表名、触发器名称是动态的),流程包括:边界运维人员连上发送端业务库,创建增、删、改触发器;触发器业务逻辑,首先判断配置表中是否存在当前表对应的数据;如果存在,则网当前表对应的同步任务表中插入一条数据,数据表字段包含【表名】、【编号】、【动作类型】、【主键值】、【操作时间】;其中动作类型取值insert|update|delete;安全边界定周期读取发送端同步任务表数据,根据动作类型生成对应执行sql,去接收端执行完成同步流程。

8、目前的方式存在的问题包括:需要同步的表每秒插入数据量过大时,数据库同步性能跟不上,会存在数据积压情况;但文件同步方式可以解决性能问题。使用数据库配置双网双向同步任务会存在死循环问题;互联网侧a表更新一条数据,触发器会往任务表插入一条任务;到视频专网侧完成数据更新后,触发器会往视频专网任务表插入一条任务,回到互联网;形成死循环。数据同步异常排查不方便,往往需要找边界厂商查看日志进行分析。业务方需要新增或者删减同步表都需要重新提申请,阻塞业务实施进度。


技术实现思路

1、本发明针对现有技术中存在的技术问题,提供一种跨安全区域数据库实时同步方法,通过设计一套可视化数据库同步方法与流程简化数据库同步申请流程,解决大批量数据同步性能问题、解决同步时遇到异常运维管理问题、解决数据库同步无法双向同步问题。

2、根据本发明的第一方面,提供了一种跨安全区域数据库实时同步方法,包括:步骤1,在业务库中创建同步任务表、同步数据明细表和临时同步数据明细表;步骤2,配置业务库需要同步的所需同步表及其同步参数,所述所需同步表的同步参数包括:表数据新增时是否同步、数据删除时是否同步以及数据更新时是否同步;步骤3,在所述同步任务表中保存所述所需同步表,对所述所需同步表创建新增、更新或删除触发器;步骤4,在互联网侧定时扫描所述同步数据明细表,每次读取一批x条数据,将读取完成后将数据发送到消息队列中,通过网关将文件同步到视频专网侧;步骤5,在所述视频专网侧监听网关解析处理后的消息,将字段twoway_sync为1的数据写入到业务库的所述临时同步数据明细表;同时在业务库中批量执行action_sql字段对应sql,执行完成后删除所述临时同步数据明细表对应的明细数据。

3、在上述技术方案的基础上,本发明还可以作出如下改进。

4、可选的,所述同步任务表包含:主键id、表名、数据新增时是否同步、数据删除时是否同步、数据更新时是否同步、是否双向同步、创建时间;

5、所述同步数据明细表包含:主键id、表名、表对应主键值、操作类型、操作sql、是否双向同步、创建时间;

6、所述临时同步数据明细表与所述同步数据明细表结构相同。

7、可选的,所述步骤2还包括:

8、对配置的同步表进行是否存在主键校验,对于没有主键的表不能配置同步。

9、可选的,所述步骤3中对所述所需同步表新增触发器的创建过程包括:

10、步骤301,判断是单向同步时执行步骤303,双向同步时执行步骤302;

11、步骤302,判断临时任务表中是否存在当前表名对应的操作类型数据,是则结束,否则执行步骤303;

12、步骤303,根据表结构生成对应所有字段的insert语句,将任务表信息保存到任务表中后结束;所述任务表信息包括:表名、主键值、操作类型、insert语句以及是否双向同步。

13、可选的,所述步骤3中对所述所需同步表更新触发器的创建过程包括:

14、步骤311,判断是单向同步时执行步骤313,双向同步时执行步骤312;

15、步骤312,判断临时任务表中是否存在当前表名对应的操作类型数据,是则结束,否则执行步骤313;

16、步骤313,根据表结构生成根据主键更新所有字段的update语句,将任务表信息保存到任务表中后结束;所述任务表信息包括:表名、主键值、操作类型、update语句以及是否双向同步。

17、可选的,所述步骤3中对所述所需同步表删除触发器的创建过程包括:

18、步骤321,判断是单向同步时执行步骤323,双向同步时执行步骤322;

19、步骤322,判断临时任务表中是否存在当前表名对应的操作类型数据,是则结束,否则执行步骤323;

20、步骤323,生成根据主键删除数据的delete语句,将insert语句保存到任务表中后结束。

21、可选的,所述步骤4包括:

22、步骤401,按照设定时间周期性扫描所述同步数据明细表;

23、步骤402,从同步数据明细表读取x条数据,判断读取到的数据条数是否大于0,是则执行步骤403;否则执行步骤401等待下一个扫描时间;

24、步骤403,将读取完成后将数据发送到消息队列中,通过网关将文件同步到视频专网侧;从同步数据明细表中删除所述x条数据,判断条数是否等于x,是则执行步骤402重新读取数据,否则执行步骤401等待下一个扫描时间。

25、可选的,所述步骤5包括:

26、步骤501,按照设定时间周期性扫描所述同步数据明细表;

27、步骤502,从同步数据明细表读取x条数据,判断读取到的数据条数是否大于0,是则执行步骤503;否则执行步骤501等待下一个扫描时间;

28、步骤503,将读取完成后将数据发送到消息队列中,通过网关将文件同步到视频专网侧;从同步数据明细表中删除所述x条数据,判断条数是否等于x,是则执行步骤502重新读取数据,否则执行步骤501等待下一个扫描时间。

29、可选的,所述步骤1中创建的表还包括:用于记录sql执行结果执行结果表;

30、所述步骤5还包括:记录sql执行返回结果,用于运维管理模块查看执行异常的sql;通过消息提醒功能主动提醒使用者同步中遇到的问题

31、所述执行异常按照错误类型分为:双向表结构不一致以及其它类本发明提供的一种跨安全区域数据库实时同步方法,成本低,性能高;系统可以横向拓展提升处理性能,满足大批量数据同步需求;而安全边界数据库同步模式需要进行扩容,相对与平台增加节点来说成本更高;在不侵入业务系统表前提下,解决了数据库双向同步死循环问题;便捷化运维排错;通过数据运维管理模块,解决同步过程中遇到异常排查不便问题;业务方对需要同步的表实现了自主可控;结合摆渡网关实现了大批量数据同步同时,保证了同步的低时延。

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