一种数据更新方法及装置制造方法及图纸

技术编号:38996730 阅读:6 留言:0更新日期:2023-10-07 10:27
本说明书提供一种数据更新方法及装置,应用于与目标业务程序对应的同步程序,所述方法包括:在第一数据库的日志信息发生更新时,确定所述日志信息的更新部分是否包含目标语句;其中,所述目标语句由所述目标业务程序执行,并用于将所述目标业务程序的目标数据更新至所述第一数据库;如果所述日志信息的更新部分包含所述目标语句,则基于与第二数据库建立的连接,在所述第二数据库中执行所述目标语句包含的SQL语句,以将所述目标业务程序的目标数据同步更新至所述第二数据库。据同步更新至所述第二数据库。据同步更新至所述第二数据库。

【技术实现步骤摘要】
一种数据更新方法及装置


[0001]本申请涉及数据库
,尤其涉及一种数据更新方法、装置、电子设备及机器可读存储介质。

技术介绍

[0002]由于在进行数据库替换的过程中,为了保证业务程序对应的业务的连续性,在对原数据库进行数据写入的同时,也需要将数据同步写入新的数据库。
[0003]在相关的技术中,由于将业务程序的目标数据写入新的数据库时,需要修改业务程序的源代码,而这种方式,需要由人工手动添加,导致将数据更新至新的数据库的效率不高。同时,修改业务程序源代码的方式,也增加了代码异常的风险。

技术实现思路

[0004]本申请提供一种数据更新方法,应用于与目标业务程序对应的同步程序,所述方法包括:
[0005]在第一数据库的日志信息发生更新时,确定所述日志信息的更新部分是否包含目标语句;其中,所述目标语句由所述目标业务程序执行,并用于将所述目标业务程序的目标数据更新至所述第一数据库;
[0006]如果所述日志信息的更新部分包含所述目标语句,则基于与第二数据库建立的连接,在所述第二数据库中执行所述目标语句包含的SQL语句,以将所述目标业务程序的目标数据同步更新至所述第二数据库。
[0007]可选的,在第一数据库的日志信息发生更新时,确定所述日志信息的更新部分是否包含目标语句之前,所述方法还包括:
[0008]对所述第一数据库的日志信息进行监听,确定所述第一数据库的日志信息是否发生更新;
[0009]如果所述第一数据库的日志信息发生更新,则进一步确定所述日志信息的更新部分是否包含目标语句。
[0010]可选的,确定所述日志信息的更新部分是否包含目标语句,包括:
[0011]通过创建的目标线程,获取所述日志信息的更新部分;
[0012]查询所述更新部分,并基于查询结果,确定所述日志信息的更新部分是否包含目标语句。
[0013]可选的,在第一数据库的日志信息发生更新时,确定所述日志信息的更新部分是否包含目标语句之前,所述方法还包括:
[0014]开启所述第一数据库的跟踪功能,并获取所述第一数据库生成的日志信息。
[0015]可选的,如果所述日志信息的更新部分包含所述目标语句,则通过与第二数据库建立的连接,在所述第二数据库中执行所述目标语句包含的SQL语句,以将所述目标数据同步更新至所述第二数据库,包括:
[0016]如果所述日志信息的更新部分包含所述目标语句,则通过正则表达式获取所述目标语句中的SQL语句,并通过与第二数据库建立的连接,在所述第二数据库中执行所述SQL语句,以将所述目标数据同步更新至所述第二数据库。
[0017]可选的,所述同步程序所在的服务器加载有与所述第二数据库对应的驱动程序,并包括基于所述驱动程序创建的连接对象;
[0018]所述同步程序通过以下方式与所述第二数据库建立连接:
[0019]基于所述连接对象,所述同步程序与所述第二数据库建立连接。
[0020]可选的,所述服务器还包括基于所述连接对象创建的交互对象;
[0021]通过与第二数据库建立的连接,在所述第二数据库中执行所述目标语句包含的SQL语句,以将所述目标业务程序的目标数据同步更新至所述第二数据库,包括:
[0022]通过所述交互对象,将所述目标语句包含的SQL语句发送给所述连接对象,并基于所述连接对象,在所述第二数据库中执行所述SQL语句,以将所述目标业务程序的目标数据同步更新至所述第二数据库。
[0023]本申请还提供一种数据更新装置,应用于与目标业务程序对应的同步程序,所述装置包括:
[0024]确定单元,用于在第一数据库的日志信息发生更新时,确定所述日志信息的更新部分是否包含目标语句;其中,所述目标语句由所述目标业务程序执行,并用于将所述目标业务程序的目标数据更新至所述第一数据库;
[0025]更新单元,用于如果所述日志信息的更新部分包含所述目标语句,则基于与第二数据库建立的连接,在所述第二数据库中执行所述目标语句包含的SQL语句,以将所述目标业务程序的目标数据同步更新至所述第二数据库。
[0026]本申请还提供一种电子设备,包括通信接口、处理器、存储器和总线,所述通信接口、所述处理器和所述存储器之间通过总线相互连接;
[0027]所述存储器中存储机器可读指令,所述处理器通过调用所述机器可读指令,执行所述数据更新方法。
[0028]本申请还提供一种机器可读存储介质,所述机器可读存储介质存储有机器可读指令,所述机器可读指令在被处理器调用和执行时,实现所述数据更新方法。
[0029]本申请提供的技术方案至少可以包括以下有益效果:
[0030]通过以上实施例,所述目标程序通过在第一数据库的日志信息发生更新时,可以先确定该日志信息的更新部分是否包含目标语句,如果该更新部分包含目标语句,则可以基于与第二数据库之间的连接,在第二数据库中执行该目标语句包含的SQL语句,由于该目标语句是由目标业务程序执行,用于将目标业务程序的目标数据更新至第一数据库的,因此,该同步程序在第二数据库中执行该目标语句包含的SQL语句,能够将该目标数据同步更新至第二数据库;从而在目标业务程序将目标数据更新至第一数据库时,自动将该目标数据同步更新至第二数据库,提高了数据更新的效率;同时,由于这种方式无需对业务程序的源代码进行修改,因此,避免了代码异常的风险,提高了数据更新的安全性。
附图说明
[0031]图1是一示例性的实施例示出的一种数据更新方法的流程图。
[0032]图2是一示例性的实施例示出的另一种数据更新方法的流程图。
[0033]图3是一示例性的实施例示出的一种成数据更新装置所在电子设备的硬件结构图。
[0034]图4是一示例性的实施例示出的一种数据更新装置的框图。
具体实施方式
[0035]这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
[0036]需要说明的是:在其他实施例中并不一定按照本说明书示出和描述的顺序来执行相应方法的步骤。在一些其他实施例中,其方法所包括的步骤可以比本说明书所描述的更多或更少。此外,本说明书中所描述的单个步骤,在其他实施例中可能被分解为多个步骤进行描述;而本说明书中所描述的多个步骤,在其他实施例中也可能被合并为单个步骤进行描述。
[0037]在软件开发过程中,通常需要对数据库中的数据进行增删改查操作。由于在进行数据库替换的过程中,为了保证业务程序对应的业务的连续性,在对原数据库进行数据写入的同时,也需要将数据同步写入新的数据库。
[0038]在相关的技术中,将业务程序的目标数据写入新的数据库时,需要修改业务程序的源代本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据更新方法,应用于与目标业务程序对应的同步程序,所述方法包括:在第一数据库的日志信息发生更新时,确定所述日志信息的更新部分是否包含目标语句;其中,所述目标语句由所述目标业务程序执行,并用于将所述目标业务程序的目标数据更新至所述第一数据库;如果所述日志信息的更新部分包含所述目标语句,则基于与第二数据库建立的连接,在所述第二数据库中执行所述目标语句包含的SQL语句,以将所述目标业务程序的目标数据同步更新至所述第二数据库。2.根据权利要求1所述的方法,在第一数据库的日志信息发生更新时,确定所述日志信息的更新部分是否包含目标语句之前,所述方法还包括:对所述第一数据库的日志信息进行监听,确定所述第一数据库的日志信息是否发生更新;如果所述第一数据库的日志信息发生更新,则进一步确定所述日志信息的更新部分是否包含目标语句。3.根据权利要求1所述的方法,确定所述日志信息的更新部分是否包含目标语句,包括:通过创建的目标线程,获取所述日志信息的更新部分;查询所述更新部分,并基于查询结果,确定所述日志信息的更新部分是否包含目标语句。4.根据权利要求1所述的方法,在第一数据库的日志信息发生更新时,确定所述日志信息的更新部分是否包含目标语句之前,所述方法还包括:开启所述第一数据库的跟踪功能,并获取所述第一数据库生成的日志信息。5.根据权利要求1所述的方法,如果所述日志信息的更新部分包含所述目标语句,则通过与第二数据库建立的连接,在所述第二数据库中执行所述目标语句包含的SQL语句,以将所述目标数据同步更新至所述第二数据库,包括:如果所述日志信息的更新部分包含所述目标语句,则通过正则表达式获取所述目标语句中的SQL语句,并通过与第二数据库建立的连接,在所述第二数据库中执行所述SQL语句,以将所述目标数据同步更新...

【专利技术属性】
技术研发人员:方海波
申请(专利权)人:浙江吉利控股集团有限公司
类型:发明
国别省市:

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

1