一种自动化数据查询同步存储方法与流程

文档序号:12470462阅读:296来源:国知局
一种自动化数据查询同步存储方法与流程

本发明涉及计算机软件技术领域,尤其涉及一种自动化数据查询同步存储方法。



背景技术:

随着互联网技术的发展,对于数据的存储、查询已由单一的数据库操作逐渐发展到多样化,其中Elasticserach(开源数据存储工具)在复杂查询的速度上用户体验明显优于数据库。但由于数据库的稳定性、安全性表现突出,又不能完全的抛开数据库独立的使用ES作为存储的容器。一种使用数据库充当数据容器,ES来实现快速查询的模型就产生。既能够确保数据的准确性,又能确保复杂查询的速度。因此,如何确保数据库和ES的数据完全一致成为一个技术难点。

当前同步模型趋向于控制数据的入口,在数据入库时同步更新数据库和开源数据存储工具的内容,确保数据一致,但两套逻辑其中任何一方失败都会导致数据的不一致,故需要再以数据库数据为原始数据进行全量校验。该模型能够实现快速查询复杂逻辑的要求,但是从代码开发层面,需要付出大量的开发成本。



技术实现要素:

本发明要解决的技术问题是提供一种自动化数据查询同步存储方法,该自动化数据查询同步存储方法能自动捕获数据库中更新数据并同步至开源数据存储工具,节约开发人员开发成本,无需进行开源数据存储工具同步、校验,方法各环节都实现可配置化,能够按配置的灵活的添加、删除新旧业务。

为解决上述技术问题,本发明提供了自动化数据查询同步存储方法,提供一数据库、开源数据存储工具及数据缓存工具,所述自动化数据查询同步存储方法包括以下步骤:获取解析信息单元获取数据库变更数据,判断是否订阅自动化同步服务信息,如果是,则生成变更信息并将变更信息输入到消息队列单元,所述消息队列单元分发业务信息至信息同步处理单元,所述信息同步处理单元对所述消息队列单元分发的业务信息进行数据同步,如果否,则结束生成变更信息;

所述消息队列单元输入口为获取数据库变更信息,所述消息队列单元的输出口为输出待进行信息同步处理的业务信息;

所述“获取数据库变更信息”步骤包括捕获变更数据和生成、分发变更信息到消息队列单元,所述“信息同步处理”步骤包括将消息队列单元中存放的变更信息自动同步至所述开源数据存储工具中;

所述获取解析信息单元包括数据同步工具,所述“获取解析信息单元获取数据库变更数据并生成变更信息”步骤包括:将数据同步工具定义成从服务器库,向数据库发送dump协议,数据库收到dump协议后将二进制日志信息发送给从服务器库,所述数据同步工具对二进制日志信息进行解析,获取数据库的数据变化。

优选地,所述获取解析信息单元还包括订阅客户端,所述“获取解析信息单元获取数据库变更数据并生成变更信息”步骤还包括通过所述订阅客户端订阅指定的数据结构及表,使用所述数据同步工具获取数据库的日志信息,并通过指定的数据结构完成对日志信息的解析。

优选地,所述信息同步处理单元包括数据同步消费服务单元及若干个消费客户端,所述“信息同步处理单元对所述消息队列单元分发的业务信息进行数据同步”步骤包括:

步骤11:所述获取解析信息单元根据数据库变更的信息配置不同业务线的信息,并通过所述消息队列单元将变更的业务信息自动地分发到各业务订阅的消息队列;

步骤12:判断是否有待消费的信息,如果是,则执行步骤13,如果否,则执行步骤16;

步骤13:解析所述消费信息;

步骤14:判断是否存在特殊的逻辑,如果是,则处理对应的逻辑,如果否,则执行步骤15;

步骤15:所述数据同步消费服务单元将各业务的信息同步进行物理隔离,再由各个所述对应的消费客户端的消费服务独立完成各自的数据同步;

步骤16:重新等待。

优选地,所述开源数据存储工具由索引和类型指定数据空间,所述数据库中表格结构和开源数据存储工具的类型一一映射从而完成数据同步。

优选地,所述数据库中一个表格分别以不同的类型存在于所述开源数据存储工具,针对一份数据,同时同步数据至所述开源数据存储工具中指定的n个类型或类型中的子属性。

优选地,所述开源数据存储工具及所述数据缓存工具包括集群、索引、类型。

优选地,所述数据库包括数据库链接基本信息、数据库索引、数据表。

优选地,所述消息队列单元指定待消费数据源。

优选地,所述信息同步处理单元设定消费模型,并指定消费者按何种模型进行消费。

采用了上述方法之后,获取解析信息单元获取数据库变更数据,判断是否订阅自动化同步服务信息,如果是,则生成变更信息,所述消息队列单元分发业务信息至信息同步处理单元,所述信息同步处理单元对所述消息队列单元分发的业务信息进行数据同步,如果否,则结束生成变更信息;所述消息队列单元输入口为获取数据库变更信息,所述消息队列单元的输出口为输出待进行信息同步处理的业务信息;获取数据库变更信息步骤包括捕获变更数据和生成、分发变更信息到消息队列单元,所述信息同步处理步骤包括将消息队列单元中存放的变更信息自动同步至所述开发源数据存储工具中;所述获取解析信息单元包括数据同步工具,获取解析信息单元获取数据库变更数据并生成变更信息步骤包括:将数据同步工具定义成从服务器库,向数据库发送dump协议,数据库收到dump协议后将二进制日志信息发送给从服务器库,所述数据同步工具对二进制日志信息进行解析,获取数据库的数据变化,该自动化数据查询同步存储方法能自动捕获数据库中更新数据并同步至开源数据存储工具,节约开发人员开发成本,无需进行开源数据存储工具同步、校验,方法各环节都实现可配置化,能够按配置的灵活的添加、删除新旧业务。

附图说明

图1是本发明的自动化数据查询同步存储方法的步骤流程图;

图2是与图1的步骤流程图对应的整体模型示意图;

图3是本发明自动化数据查询同步存储方法的信息同步处理步骤的流程图;

图4是本发明自动化数据查询同步存储方法的获取解析信息步骤的流程图;

图5是本发明自动化数据查询同步存储方法的不同类型的业务同步模型的结构示意图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用于解释本发明,并不用于限定本发明。

请参阅图1及图2,图1是本发明的自动化数据查询同步存储方法的步骤流程图;图2是与图1的步骤流程图对应的整体模型示意图。

本发明公开的一种自动化数据查询同步存储方法,提供一数据库20、开源数据存储工具30及数据缓存工具50,数据库20、开源数据存储工具30及数据缓存工具50通过数据封装单元40进行数据交换,所述自动化数据查询同步存储方法包括以下步骤:

获取解析信息单元10获取数据库变更数据,判断是否订阅自动化同步服务信息,如果是,则生成变更信息并将变更信息输入到消息队列单元16,消息队列单元16分发业务信息至信息同步处理单元60,信息同步处理单元60对消息队列单元16分发的业务信息进行数据同步,如果否,则结束生成变更信息;

消息队列单元16输入口为获取数据库变更信息,消息队列单元16的输出口为输出待进行信息同步处理的业务信息;

请参阅图4,图4是本发明自动化数据查询同步存储方法的获取解析信息步骤的流程图;

所述“获取数据库变更信息”步骤包括捕获变更数据和生成、分发变更信息到消息队列单元16,所述信息同步处理步骤包括将消息队列单元16中存放的变更信息自动同步至开源数据存储工具30中;

获取解析信息单元10包括数据同步工具,所述“获取解析信息单元获取数据库变更数据并生成变更信息”步骤包括:将数据同步工具定义成从服务器库,向数据库20发送dump协议,数据库20收到dump协议后将二进制日志信息发送给从服务器库,数据同步工具对二进制日志信息进行解析,获取数据库20的数据变化。

获取解析信息单元10还包括订阅客户端14、若干个业务服务端12及数据转发中心子单元15,各个订阅客户端14将接收到的数据通过数据转发中心单元15进行解析后传给消息队列单元16,所述“获取解析信息单元获取数据库变更数据并生成变更信息”步骤还包括通过所述订阅客户端14订阅指定的数据结构及表,使用所述数据同步工具获取数据库的日志信息,并通过指定的数据结构完成对日志信息的解析。

请参阅图3,图3是本发明自动化数据查询同步存储方法的信息同步处理步骤的流程图;

信息同步处理单元60包括数据同步消费服务单元及若干个消费客户端62,所述“信息同步处理单元60对所述消息队列单元分发的业务信息进行数据同步”步骤包括:

步骤11:获取解析信息单元10根据数据库20变更的信息配置不同业务线的信息,并通过消息队列单元16将变更的业务信息自动地分发到各业务订阅的消息队列;

步骤12:判断是否有待消费的信息,如果是,则执行步骤13,如果否,则执行步骤16;

步骤13:解析所述消费信息;

步骤14:判断是否存在特殊的逻辑,如果是,则处理对应的逻辑,如果否,则执行步骤15;

步骤15:数据同步消费服务单元63将各业务的信息同步进行物理隔离,再由各个所述对应的消费客户端62的消费服务独立完成各自的数据同步;

步骤16:重新等待。

开源数据存储工具30由索引和类型指定数据空间,数据库20中表格结构和开源数据存储工具30的类型一一映射从而完成数据同步。

数据库20中一个表格分别以不同的类型存在于开源数据存储工具30,针对一份数据,同时同步数据至开源数据存储工具30中指定的n个类型或类型中的子属性。

开源数据存储工具30及所述数据缓存工具包括集群、索引、类型。

数据库20包括数据库链接基本信息、数据库索引、数据表。

消息队列单元16指定待消费数据源。

信息同步处理单元63设定消费模型,并指定消费者按何种模型进行消费。

数据库20变更、生成变更信息即是生产,获取数据同步即是消费。

各业务线各有一个消费者实例,通过配置,获取到业务注册队列,从消息队列单元中获取对应待消费数据,开源数据存储工具30由索引和类型指定数据空间,本实施例中,开源数据存储工具30的同步包括两种模型:

模型一:1:1模型,即数据库20中表格结构和开源数据存储工具30的类型一一映射从而完成数据同步;

模型二:数据库20中一个表格分别以不同的类型存在于开源数据存储工具30,针对一份数据,同时同步数据至开源数据存储工具30中指定的n个类型或类型中的子属性。

以上的同步操作,通过消费者自身的配置即可完成,即当添加一个新业务需要使用数据同步服务,无需做任何代码上的开发,只需按标准化配置,配置好即可完成数据库20和开源数据存储工具30的数据同步。

请参阅图4,图4是本发明自动化数据查询同步存储方法的不同类型的业务同步模型的结构示意图;

图4中共有四条相互独立的业务线,其中业务A、B、C分别订阅了数据同步服务,业务D未订阅同步服务。当业务D中的数据库发生变化,由于未订阅同步服务,更新完数据库后,并未有任何其他操作。业务A、B、C分别订阅了同步分钟中的不同模型。业务A满足1:1模型。数据库表结构能够与的类型一一对应。业务B也满足1:1模型,但其表结构只是某个开源数据存储工具30的类型的子属性。业务C满足1:n模型,即同一个表结构在开源数据存储工具30中有若干份数据需要同步,其数据能够是一个开源数据存储工具30的类型也可以是开源数据存储工具30任一种类型中的一个子属性。当订阅了自动同步服务的业务有相关表数据变化后,同步服务通过开源数据同步工具获取数据库变更日志,解析成消费端指定的数据格式,通过配置的消息队列名,通过数据分发中心将待消费的数据分别的存入对应的消息对列单元队列,获取解析信息单元需要完成数据的捕获、解析、分发。

当消费者服务侦听到对应队列有待消费数据,则开始数据消费。消费者具备高可配性,能够灵活的配置开源数据存储工具30、数据库、消息队列、消费模型。

开源数据存储工具30配置包括集群、索引、类型。

数据库包括数据库链接基本信息、数据库、表。

消费队列指定待消费数据源。消费模型指定消费者按何种模型进行消费。从而能够满足不同业务的不同同步需求。消费者将数据库变更同步至开源数据存储工具30则整个服务流程就完成了。

整个同步服务具备高可配性,业务D若因业务变更需要使用开源数据存储工具30,则只需在生产和消费两个部分,添加对应规范化配置,则能够使用数据的自动化同步。

采用了上述方法之后,获取解析信息单元10获取数据库20变更数据,判断是否订阅自动化同步服务信息,如果是,则生成变更信息,消息队列单元16分发业务信息至信息同步处理单元60,信息同步处理单元60对消息队列单元16分发的业务信息进行数据同步,如果否,则结束生成变更信息;消息队列单元16输入口为获取数据库变更信息,消息队列单元16的输出口为输出待进行信息同步处理的业务信息;获取数据库20变更信息步骤包括捕获变更数据和生成、分发变更信息到消息队列单元16,所述信息同步处理步骤包括将消息队列单元16中存放的变更信息自动同步至开发源数据存储工具30中;获取解析信息单元10包括数据同步工具,获取解析信息单元10获取数据库变更数据并生成变更信息步骤包括:将数据同步工具定义成从服务器库,向数据库20发送dump协议,数据库20收到dump协议后将二进制日志信息发送给从服务器库,所述数据同步工具对二进制日志信息进行解析,获取数据库的数据变化,该自动化数据查询同步存储方法能自动捕获数据库中更新数据并同步至开源数据存储工具,节约开发人员开发成本,无需进行开源数据存储工具同步、校验,方法各环节都实现可配置化,能够按配置的灵活的添加、删除新旧业务。

同时,应当理解的是,以上仅为本发明的优选实施例,不能因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效实现方法,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

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