数据处理方法、装置、电子设备、系统和存储介质制造方法及图纸

技术编号:31725554 阅读:16 留言:0更新日期:2022-01-05 15:50
本发明专利技术实施例公开了一种数据处理方法、装置、电子设备、系统和存储介质,该数据处理方法包括:从源服务器获取数据库中表的操作日志,解析该操作日志得到源操作信息,根据该表的配置信息将该源操作信息映射成目标操作信息,将目标操作信息写入目标服务器,以使得目标服务器根据该目标操作信息与源服务器进行实时数据同步,本发明专利技术实施例中,目标服务器与源服务器之间可以基于实时的操作日志进行数据同步,因而可以实现数据的实时同步,满足了对数据有实时查询需求的系统的要求。实时查询需求的系统的要求。实时查询需求的系统的要求。

【技术实现步骤摘要】
数据处理方法、装置、电子设备、系统和存储介质


[0001]本专利技术涉及数据同步技术,尤其涉及一种数据处理方法、装置、电子设备、系统和存储介质。

技术介绍

[0002]传统的数据同步方法,通常是在用户请求量少的时间段(比如凌晨)来对前一天的数据进行同步,在实现本专利技术的过程中,专利技术人发现,这种数据同步方法同步的数据不具备实时性,无法满足对数据有实时查询需求的系统的要求。

技术实现思路

[0003]本专利技术实施例提供一种数据处理方法、装置、电子设备、系统和存储介质,能够实现数据的实时同步,满足对数据有实时查询需求的系统的要求。
[0004]第一方面,本专利技术实施例提供一种数据处理方法,所述方法包括:
[0005]从源服务器获取数据库中表的操作日志,解析所述操作日志得到源操作信息;
[0006]根据所述表的配置信息将所述源操作信息映射成目标操作信息;
[0007]将所述目标操作信息写入目标服务器,以使得所述目标服务器根据所述目标操作信息与所述源服务器进行实时数据同步。
[0008]第二方面,本专利技术实施例提供一种数据处理装置,所述装置包括:
[0009]获取模块,用于从源服务器获取数据库中表的操作日志,解析所述操作日志得到源操作信息;
[0010]映射模块,用于根据所述表的配置信息将所述源操作信息映射成目标操作信息;
[0011]同步模块,用于将所述目标操作信息写入目标服务器,以使得所述目标服务器根据所述目标操作信息与所述源服务器进行实时数据同步。
[0012]第三方面,本专利技术实施例还提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如本专利技术实施例中任一所述的数据处理方法。
[0013]第四方面,本专利技术实施例还提供了一种数据处理系统,包括源服务器、目标服务器以及用于执行本专利技术实施例中任一所述的数据处理方法的电子设备。
[0014]第五方面,本专利技术实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本专利技术实施例中任一所述的数据处理方法。
[0015]本专利技术实施例中,可以从源服务器获取数据库中表的操作日志,解析该操作日志得到源操作信息,根据该表的配置信息将该源操作信息映射成目标操作信息,将目标操作信息写入目标服务器,以使得目标服务器根据该目标操作信息与源服务器进行实时数据同步;即本专利技术实施例中,目标服务器与源服务器之间可以基于实时的操作日志进行数据同步,因而可以实现数据的实时同步,满足了对数据有实时查询需求的系统的要求;另外,将日志的拉取与解析、信息的映射等功能整合在一台设备上实现,节省了设备资源,简化了系
统配置。
附图说明
[0016]为了更清楚地说明本专利技术实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本专利技术的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
[0017]图1是本专利技术实施例提供的数据处理方法的一个流程示意图。
[0018]图2是本专利技术实施例提供的数据处理方法的另一流程示意图。
[0019]图3是本专利技术实施例提供的数据处理方法的又一流程示意图。
[0020]图4是本专利技术实施例提供的数据处理装置的一个结构示意图。
[0021]图5是本专利技术实施例提供的数据处理系统的一个结构示意图。
[0022]图6是本专利技术实施例提供的电子设备的一个结构示意图。
具体实施方式
[0023]下面结合附图和实施例对本专利技术作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本专利技术,而非对本专利技术的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本专利技术相关的部分而非全部结构。
[0024]图1为本专利技术实施例提供的数据处理方法的一个流程示意图,该方法可以由本专利技术实施例提供的数据处理装置来执行,该装置可采用软件和/或硬件的方式实现。在一个具体的实施例中,该装置可以集成在服务器中,以下实施例将以该装置集成在服务器中为例进行说明。
[0025]具体实现中,服务器可以是用于将源服务器中的数据或数据变更同步到目标服务器的同步服务器,其中,源服务器可以是开放源代码的关系型数据库MySQL对应的服务器(即MySQL服务器),目标服务器可以是用于分布式全文检索的分析引擎Elastic Search对应的服务器(即Elastic Search服务器,简称ES服务器)、远程字典服务Redis数据库对应的服务器(即Redis服务器)、开源数据库HBase对应的服务器(即HBase服务器)等,此处不做具体限定。具体在本专利技术实施例中,同步服务器中可以搭建Canal框架,Canal可以基于MySQL数据库增量日志解析,提供增量数据订阅和消费,可以将Canal理解为一个用来同步增量数据的工具。
[0026]请参考图1,本专利技术实施例提供的数据处理方法具体可以包括如下步骤:
[0027]步骤101,从源服务器获取数据库中表的操作日志,解析该操作日志得到源操作信息。
[0028]具体地,该操作日志可以是二进制日志binary log,二进制日志也可叫做变更日志update log,二进制日志是MySQL中非常重要的日志,主要用于记录数据库中表的变更情况,可以通过在配置文件中添加log

bin选项来开启二进制日志。具体实现中,可以订阅源服务器内数据库中的表并监听表操作,当源服务器内数据库中表有更新时,源服务器会按照设置的二进制日志格式,将更新写入到二进制日志文件中,然后创建log dump线程通知其slave节点有更新,当监听到该更新时,同步服务器可以从源服务器获取表的操作日志。
具体获取该操作日志的方法可以如下:
[0029](1)将源服务器作为主节点,模拟成源服务器的从节点向源服务器发送日志获取请求。
[0030]比如,源服务器为MySQL服务器,则可以将源服务器作为MySQL master节点(主节点),模拟MySQL slave的交互协议,将自身伪装成MySQL slave节点(从节点),向源服务器发送dump请求,以请求获取表的操作日志。
[0031](2)接收源服务器返回的操作日志。
[0032]具体地,MySQL mater收到dump请求之后,可以获取二进制日志文件的存储位置,根据该存储位置从二进制日志文件中读取二进制日志,并将读取的二进制日志推送给同步服务器,同步服务器接收该二进制日志。
[0033]同步服务器接收到的该二进制日志原始为字节byte流格式,同步服务器可以将该二进制日志由字节流格式解析成数组entry格式,从而得到源操作信息,源操作信息中可以包括数据库中表的列名、二进制日志文件名、数据变更类型、变更数据等。
[0034]步骤102本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据处理方法,其特征在于,包括:从源服务器获取数据库中表的操作日志,解析所述操作日志得到源操作信息;根据所述表的配置信息将所述源操作信息映射成目标操作信息;将所述目标操作信息写入目标服务器,以使得所述目标服务器根据所述目标操作信息与所述源服务器进行实时数据同步。2.根据权利要求1所述的数据处理方法,其特征在于,所述从源服务器获取数据库中表的操作日志,包括:将所述源服务器作为主节点,模拟成所述源服务器的从节点向所述源服务器发送日志获取请求;接收所述源服务器返回的所述操作日志。3.根据权利要求1所述的数据处理方法,其特征在于,在根据所述表的配置信息将所述源操作信息映射成目标操作信息之前,还包括:确定所述源操作信息的类型;当所述源操作信息的类型为数据操作语言DML类型时,执行根据所述表的配置信息将所述源操作信息映射成目标操作信息的步骤。4.根据权利要求1所述的数据处理方法,其特征在于,所述根据所述表的配置信息将所述源操作信息映射成目标操作信息,包括:从配置服务器获取Json格式的所述表的配置信息,并将所述表的配置信息从所述Json格式转换成Java Bean格式;根据所述Java Bean格式的所述表的配置信息将所述源操作信息映射成所述目标操作信息。5.根据权利要求1所述的数据处理方法,其特征在于,所述方法还包括:生成定时同步数据;将所述定时同步数据写入所述目标服务器,以...

【专利技术属性】
技术研发人员:高帅
申请(专利权)人:京东科技控股股份有限公司
类型:发明
国别省市:

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

1