一种异构数据库的数据转换同步方法、设备及存储介质技术

技术编号:22075733 阅读:40 留言:0更新日期:2019-09-12 14:09
本发明专利技术公开了一种异构数据库的数据转换同步方法、设备及存储介质,所述方法包括:首先创建转换函数,然后读取配置文件并加载出需要进行数据处理的表名以及列信息,并验证配置的有效性;之后在验证有效时,接收源端发送的日志消息包并解析;之后根据加载出的需要进行数据处理的表名以及列信息判断日志消息包中的操作表是否需要进行数据转换;最后当需要进行数据转换时,根据转换函数对该操作表进行表达式的替换处理,并应用到目标数据库中。本发明专利技术、有效满足实时的数据同步和转换处理,并且使用内置的函数来计算和转换数据,效率高效,而且具备较强的灵活性和高度的可扩展性。

A Data Conversion Synchronization Method, Equipment and Storage Medium for Heterogeneous Databases

【技术实现步骤摘要】
一种异构数据库的数据转换同步方法、设备及存储介质
本专利技术涉及数据库同步
,具体涉及一种异构数据库的数据转换同步方法、设备及存储介质。
技术介绍
随着企业业务规模的不断发展,服务于企业应用的信息化系统所面临的负载压力也越来越大,同时企业多样化的业务类型导致对信息系统数据访问的需求日趋复杂和多样化。在信息技术的时代,现代信息化系统已成为企业运作的关键,存储着企业的核心数据资产。如何有效的对数据进行存储和管理,构建高效可用的信息化系统,保证业务的连续性,满足多样化的业务需求,最大限度的保障企业数据资产,高效服务用户是当前企业信息化系统发展过程中所需要面临的挑战。为保障数据存储的安全,对于企业生产系统,通常需要使用相关容灾备份技术构建灾备系统。传统的基于数据库自身的备份恢复系统、服务器集群系统、磁盘阵列、OracleDataGuard等技术通常都有一定的使用场景和限制,无法完全满足企业对于信息系统不中断服务的要求。对于传统数据库备份系统,在两次数据备份之间若服务器出问题则数据会丢失,并且在数据量较大的情况下,利用备份还原通常需花费较长的时间;服务器集群系统无法达到异地备份目的,且成本昂贵;磁盘阵列无法应付操作系统或应用程序造成的宕机,并且无法立即恢复服务;OracleDataGuard等产品是单一数据库解决方案,备机必须与主机同构,使用相同的数据库版本,整个备机数据库只能以只读方式访问,也无法实现数据整合和数据分发。此外,在大数据时代,企业多样化的业务需求导致需要对数据进行多样化的处理,以满足各项应用需要。传统的资源信息整合通常借助于ETL等专用工具提供的数据抽取、转换和清洗等功能。ETL数据处理工具在实现机制上通常需要在生产数据库系统中创建触发器、影子表等,实现增量数据抽取。在复杂业务系统及海量数据处理上,这会对生产系统性能和稳定性产生较大影响。另一方面ETL工具往往通过计划性的任务调度实现数据转换处理,不能满足实时数据同步转换处理的需求。因而现有技术还有待于改进和提高。
技术实现思路
鉴于上述现有技术的不足之处,本专利技术的目的在于提供一种异构数据库的数据转换同步方法、设备及存储介质,以解决目前数据无法实时同步以及高效转换处理的问题。为了达到上述目的,本专利技术采取了以下技术方案:一种异构数据库的数据转换同步方法,包括如下步骤:创建转换函数,其中,所述转换函数用于定义需要转换的列和替换该列的表达式;读取配置文件并加载出需要进行数据处理的表名以及列信息,并验证配置的有效性;在验证配置有效时,接收源端发送的日志消息包并解析;根据加载出的需要进行数据处理的表名以及列信息判断日志消息包中的操作表是否需要进行数据转换;当判断日志消息包中的操作表需要进行数据转换时,根据转换函数对该操作表进行表达式的替换处理,并将处理后的操作表应用到目标数据库中。优选的,所述的异构数据库的数据转换同步方法中,所述日志消息包至少包括事务ID、事务操作类型以及操作表,所述操作表至少包括表名、列信息和数据值。优选的,所述的异构数据库的数据转换同步方法中,在所述创建转换函数的步骤之后,在读取配置文件并加载出需要进行数据处理的表列名信息以及外部数据处理动态库,并验证外部数据处理动态库的有效性的步骤之前包括:使用配置文件对需要进行数据处理的表名、需要转换的列以及替换该列的表达式进行配置。优选的,所述的异构数据库的数据转换同步方法中,所述根据加载出的需要进行数据处理的表名以及列信息判断日志消息包中的操作表是否需要进行数据转换的步骤包括:提取日志消息包中的操作表,比较所述操作表的表名和加载出的需要进行数据处理的表名;在所述操作表的表名与加载出的需要进行数据处理的表名一致时,将所述操作表的列信息与需要进行数据处理的列信息进行比较;根据比较结果判断操作表中的列信息中是否存在待转换的列,如果比较结果一致,则判断所述操作表中存在待转换的列,否则判断所述操作表不存在待转换的列。优选的,所述的异构数据库的数据转换同步方法中,所述当判断日志消息包中的操作表需要进行数据转换时,根据转换函数对该操作表进行表达式的替换处理,并将处理后的操作表应用到目标数据库中的步骤包括:当判断操作表中存在待转换的列时,调用该列的转换函数;根据该列的转换函数对该列进行表达式的替换;将替换后的列信息组装成相应的SQL语句并应用到目标数据库中。优选的,所述的异构数据库的数据转换同步方法中,所述根据该列的转换函数对该列进行表达式的替换的步骤具体包括:根据该转换列的转换函数替换该列的表达式,并在该列的转换函数的参数中存在对其它列的引用时,复制引用列的列值并将其填充到替换的表达式中。优选的,所述的异构数据库的数据转换同步方法还包括:当判断日志消息包中的操作表的表名不需要进行数据转换或者操作表中不存在待转换的列时,将所述操作表中的列信息组装成相应的SQL语句并应用到目标数据库。优选的,所述的异构数据库的数据转换同步方法中,通过TCP/IP网络接收源端发送的日志消息包。一种异构数据库的数据转换同步设备,其包括:处理器、存储器和通信总线;所述存储器上存储有可被所述处理器执行的计算机可读程序;所述通信总线实现处理器和存储器之间的连接通信;所述处理器执行所述计算机可读程序时实现如上所述的异构数据库的数据转换同步方法中的步骤。一种计算机可读存储介质,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现如上所述的异构数据库的数据转换同步方法中的步骤。本专利技术提供的异构数据库的数据转换同步方法、设备及存储介质中,所述方法包括:首先创建转换函数,然后读取配置文件并加载出需要进行数据处理的表名以及列信息,并验证配置的有效性;之后在验证配置有效时,接收源端发送的日志消息包并解析;之后根据加载出的需要进行数据处理的表名以及列信息判断日志消息包中的操作表是否需要进行数据转换;最后当判断日志消息包中的操作表需要进行数据转换时,根据转换函数对该操作表进行表达式的替换处理,并将处理后的操作表应用到目标数据库中。本专利技术一方面基于数据库日志解析的数据实时同步,不依赖于源主机上的触发器或影子表等技术手段,来获取增量数据库数据,对源端生产数据库系统的影响较小;另一方面,本专利技术有效满足实时的数据同步和转换处理,并且使用内置的函数来计算和转换数据,不但效率高效,而且具备较强的灵活性和高度的可扩展性,可以不断丰富函数对数据处理的功能,实现多种需求下的数据转换处理。附图说明图1为本专利技术提供的异构数据库的数据转换同步方法的流程图。图2为本专利技术提供的异构数据库的数据转换同步方法中,所述步骤S400的流程图。图3为本专利技术提供的异构数据库的数据转换同步方法中,所述步骤S500的流程图。图4为本专利技术提供的异构数据库的数据转换同步方法的一较佳实施例的流程图。图5为本专利技术异构数据库的数据转换同步程序的较佳实施例的运行环境示意图。图6为本专利技术安装异构数据库的数据转换同步程序的系统较佳实施例的功能模块图。具体实施方式鉴于现有技术中数据库数据容灾和转换处理的解决存在局限性等缺点,本专利技术的目的在于提供一种异构数据库的数据转换同步方法、设备及存储介质,能对异构数据库的数据进行实施同步以及高效转换处理。为使本专利技术的目本文档来自技高网
...

【技术保护点】
1.一种异构数据库的数据转换同步方法,其特征在于,包括如下步骤:创建转换函数,其中,所述转换函数用于定义需要转换的列和替换该列的表达式;读取配置文件并加载出需要进行数据处理的表名以及列信息,并验证配置的有效性;在验证配置有效时,接收源端发送的日志消息包并解析;根据加载出的需要进行数据处理的表名以及列信息判断日志消息包中的操作表是否需要进行数据转换;当判断日志消息包中的操作表需要进行数据转换时,根据转换函数对该操作表进行表达式的替换处理,并将处理后的操作表应用到目标数据库中。

【技术特征摘要】
1.一种异构数据库的数据转换同步方法,其特征在于,包括如下步骤:创建转换函数,其中,所述转换函数用于定义需要转换的列和替换该列的表达式;读取配置文件并加载出需要进行数据处理的表名以及列信息,并验证配置的有效性;在验证配置有效时,接收源端发送的日志消息包并解析;根据加载出的需要进行数据处理的表名以及列信息判断日志消息包中的操作表是否需要进行数据转换;当判断日志消息包中的操作表需要进行数据转换时,根据转换函数对该操作表进行表达式的替换处理,并将处理后的操作表应用到目标数据库中。2.根据权利要求1所述的异构数据库的数据转换同步方法,其特征在于,所述日志消息包至少包括事务ID、事务操作类型以及操作表,所述操作表至少包括表名、列信息和数据值。3.根据权利要求2所述的异构数据库的数据转换同步方法,其特征在于,在所述创建转换函数的步骤之后,在读取配置文件并加载出需要进行数据处理的表列名信息以及外部数据处理动态库,并验证外部数据处理动态库的有效性的步骤之前包括:使用配置文件对需要进行数据处理的表名、需要转换的列以及替换该列的表达式进行配置。4.根据权利要求3所述的异构数据库的数据转换同步方法,其特征在于,所述根据加载出的需要进行数据处理的表名以及列信息判断日志消息包中的操作表是否需要进行数据转换的步骤包括:提取日志消息包中的操作表,比较所述操作表的表名和加载出的需要进行数据处理的表名;在所述操作表的表名与加载出的需要进行数据处理的表名一致时,将所述操作表的列信息与需要进行数据处理的列信息进行比较;根据比较结果判断操作表中的列信息中是否存在待转换的列,如果比较结果一致,则判断所述操作表中存在待转换的列,否则判断所述操作表不存在待转换的列。5.根据...

【专利技术属性】
技术研发人员:付铨孙峰余院兰赵家威
申请(专利权)人:武汉达梦数据库有限公司
类型:发明
国别省市:湖北,42

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

1