数据库更新方法及系统与流程
未命名
10-17
阅读:168
评论:0
1.本发明涉及数据更新技术领域,尤其涉及一种数据库更新方法及系统。
背景技术:
2.在业务平台进行系统升级时,若升级对象为业务平台的功能接口、数据算法等,升级内容可能会导致平台调用数据出现不兼容的情况,需要在升级前对平台数据库按照升级内容进行数据更新或数据同步。通常情况下,数据更新前,需要整理待升级的数据库表、表字段等,并将整理得到的数据库表、表字段等作为数据更新目标形成升级脚本,再通过升级脚本对平台数据库进行更新、同步。
3.但是,在业务平台的数据量较大、跨业务平台的情况下,整理数据库表、表字段等具体的数据更新目标需要耗费人力、时间等大量劳动成本,造成数据更新的准备时间较长,数据更新效率较低,进而导致业务平台的系统升级效率较低,无法满足系统升级的及时性要求。
技术实现要素:
4.为了对披露的实施例的一些方面有基本的理解,下面给出了简单的概括。所述概括不是泛泛评述,也不是要确定关键/重要组成元素或描绘这些实施例的保护范围,而是作为后面的详细说明的序言。
5.鉴于以上所述现有技术的缺点,本发明公开了一种数据库更新方法及系统,以提高系统升级前的数据更新效率。
6.本发明提供了一种数据库更新方法,包括:获取原始数据库对应的更新映射表,其中,所述更新映射表包括原始数据文本和目标数据文本之间的映射关系;将所述原始数据文本作为查询变量对所述原始数据库进行数据查询,得到具有所述原始数据文本的待更新数据;将所述目标数据文本和所述待更新数据作为更新变量生成数据库更新语句,并通过执行所述数据库更新语句将所述待更新数据的原始数据文本替换为所述目标数据文本,以更新所述待更新数据。
7.可选地,将所述原始数据文本作为查询变量对所述原始数据库进行数据查询,得到具有所述原始数据文本的待更新数据,包括:预先设置临时数据表;将所述原始数据文本作为查询变量,利用游标方式遍历查询所述原始数据库,得到查询记录;根据所述查询记录从所述原始数据库中确定具有所述原始数据文本的待更新数据,并将所述待更新数据添加在所述临时数据表中。
8.可选地,将所述待更新数据添加在所述临时数据表中之后,将所述目标数据文本和所述待更新数据作为更新变量生成数据库更新语句之前,所述方法还包括:根据所述临时数据表中的待更新数据生成数据库查询语句;将所述数据库查询语句发送至预设的用户终端,使得用户通过所述用户终端的数据库查询语句对所述临时数据表进行数据查询;若从所述用户终端接收到所述待更新数据对应的用户选择指令,根据所述用户选择指令对所
述待更新数据进行更新。
9.可选地,通过以下方法将所述待更新数据的原始数据文本替换为所述目标数据文本:预先设置所述原始数据文本的目标数据类型、默认数据文本;获取所述原始数据文本的当前数据类型;若所述当前数据类型属于所述目标数据类型,则将所述待更新数据的原始数据文本替换为所述目标数据文本;若所述当前数据类型不属于所述目标数据类型,则将所述待更新数据的原始数据文本替换为默认数据文本。
10.可选地,所述方法还包括:获取所述待更新数据所在的数据库表;若所述数据库表的表数据量大于或等于预设数据量,则生成主线程和异步线程,其中,所述主线程用于管理所述数据库表,所述异步线程用于根据所述目标数据文本更新所述数据库表中的待更新数据;若所述异步线程执行完成,则将所述待更新数据对应的更新结果确定为数据更新完成。
11.可选地,所述方法还包括:若所述原始数据文本的数量为多个,则分配各所述原始数据文本对应的值权重;分别建立各所述原始数据文本对应的更新线程,以同时通过各所述更新线程将所述原始数据文本对应的待更新数据更新为所述原始数据文本对应的目标数据文本;若任一待更新数据中包括多个原始数据文本,则根据所述值权重依次执行所述待更新数据对应的更新线程,以将所述待更新数据中的各原始数据文本依次替换为所述目标数据文本。
12.可选地,获取原始数据库对应的更新映射表,包括:获取原始数据库的关联数据组,其中,所述关联数据组包括原始数据文本、所述原始数据文本对应的关联数据;根据所述关联数据对预设的目标数据库进行数据同步,使得所述目标数据库在同步所述关联数据之后,反馈所述原始数据文本对应的目标数据文本;建立所述原始数据文本与所述目标数据文本之间的映射关系,得到更新映射表。
13.可选地,根据所述关联数据对预设的目标数据库进行数据同步,包括:所述关联数据包括标识数据和待同步数据;根据所述标识数据对所述目标数据库进行数据查询,得到查询结果;若所述查询结果为存在,则将查询到的数据库数据更新为所述待同步数据,使得所述目标数据库根据更新后的待同步数据生成目标数据文本;若所述查询结果为不存在,则将所述待同步数据同步至所述目标数据库,使得所述目标数据库根据同步后的待同步数据生成目标数据文本。
14.可选地,所述方法还包括:通过执行所述数据库更新语句将所述待更新数据的原始数据文本替换为所述目标数据文本之后,根据更新后的待更新数据对预设的目标数据库再次进行数据同步。
15.本发明提供了一种数据库更新系统,包括:获取模块,用于获取原始数据库对应的更新映射表,其中,所述更新映射表包括原始数据文本和目标数据文本之间的映射关系;查询模块,用于将所述原始数据文本作为查询变量对所述原始数据库进行数据查询,得到具有所述原始数据文本的待更新数据;更新模块,用于将所述目标数据文本和所述待更新数据作为更新变量生成数据库更新语句,并通过执行所述数据库更新语句将所述待更新数据的原始数据文本替换为所述目标数据文本,以更新所述待更新数据。
16.本发明的有益效果:
17.通过获取原始数据文本与目标数据文本之间的映射关系,根据原始数据文本对原始数据库进行数据查询,得到具有原始数据文本的待更新数据,并通过执行数据库更新语
句将待更新数据的原始数据文本替换为目标数据文本,从而完成待更新数据。这样,通过文本从数据库中搜索待更新数据,再对待更新数据的文本进行替换,以完成对待更新数据的更新,相较于整理需要更新的数据库表和表字段,缩短了系统升级前针对数据库表、表字段等更新位置的整理时长,提高了数据更新的效率,从而提高业务平台的系统升级效率。
附图说明
18.图1是本发明实施例中一个用于实施数据库更新方法的应用环境的结构示意图;
19.图2是本发明实施例中一个数据库更新方法的流程示意图;
20.图3是本发明实施例中一个更新映射表获取方法的流程示意图;
21.图4是本发明实施例中另一个数据库更新方法的流程示意图;
22.图5是本发明实施例中另一个数据库更新方法的流程示意图;
23.图6是本发明实施例中一个数据库更新系统的结构示意图。
具体实施方式
24.以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的子样本可以相互组合。
25.需要说明的是,以下实施例中所提供的图示仅以示意方式说明本发明的基本构想,遂图式中仅显示与本发明中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。
26.在下文描述中,探讨了大量细节,以提供对本发明实施例的更透彻的解释,然而,对本领域技术人员来说,可以在没有这些具体细节的情况下实施本发明的实施例是显而易见的,在其他实施例中,以方框图的形式而不是以细节的形式来示出公知的结构和设备,以避免使本发明的实施例难以理解。
27.本公开实施例的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开实施例的实施例。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含。
28.除非另有说明,术语“多个”表示两个或两个以上。
29.本公开实施例中,字符“/”表示前后对象是一种“或”的关系。例如,a/b表示:a或b。
30.术语“和/或”是一种描述对象的关联关系,表示可以存在三种关系。例如,a和/或b,表示:a或b,或,a和b这三种关系。
31.对本发明实施例进行进一步详细说明之前,对本发明实施例中涉及的名词和术语进行说明,本发明实施例中涉及的名词和术语适用于如下的解释。
32.数据库更新,数据表是数据库的重要对象,是存储数据的基本单元,表结构创建完成后就涉及向表中插入新的数据,以及对已有数据进行修改与删除,这就是数据更新,数据
更新可以使用“对象资源管理器”和t-sql语句两种方式实现。也就是说,数据更新是以新数据项或记录、替换数据文件或数据库中与之相对应的旧数据项或记录的过程,通过删除、修改、再插入的操作来实现。
33.sql(structured query language,结构化查询语言),是一种特殊目的的编程语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统。结构化查询语言是高级的非过程化编程语言,允许用户在高层数据结构上工作。它不要求用户指定对数据的存放方法,也不需要用户了解具体的数据存放方式,所以具有完全不同底层结构的不同数据库系统,可以使用相同的结构化查询语言作为数据输入与管理的接口。结构化查询语言语句可以嵌套,这使它具有极大的灵活性和强大的功能。
34.游标,是指向数据库查询结果中特定行的指针。指针可以从一行移动到下一行,并根据游标的类型,也可以将其移动到上一行。通俗来说,sql结果就像一个袋子,保存了多个数据库行,但不能单独保存任何一行;而游标就像一把镊子,在包里抓特定的数据库行,然后移到下一个行。
35.结合图1所示,本公开实施例提供了一种应用环境,用于实施数据库更新方法,包括客户端和服务端,其中,客户端通过网络与服务端进行通信。服务端可以通过客户端接收用户指令,用户指令包括以下至少一部分:获取原始数据库对应的更新映射表,其中,更新映射表包括原始数据文本和目标数据文本之间的映射关系;将原始数据文本作为查询变量对原始数据库进行数据查询,得到具有原始数据文本的待更新数据;将目标数据文本和待更新数据作为更新变量生成数据库更新语句,并通过执行数据库更新语句将待更新数据的原始数据文本替换为目标数据文本,以更新待更新数据。
36.结合图2所示,本公开实施例提供了一种数据库更新方法,包括:
37.步骤s201,获取原始数据库对应的更新映射表;
38.其中,更新映射表包括原始数据文本和目标数据文本之间的映射关系。
39.在一些实施例中,业务平台a接入了业务平台b,需要对业务平台a进行系统升级,使得业务平台a使用业务平台b提供的服务,其中,业务平台a在自有的平台体系中生成了例如用户信息、账户信息、租户信息、部门信息、员工信息等大量业务数据,并按照第一id(identity document,身份证标识号、账号、唯一编码、专属号码、工业设计、国家简称、法律词汇、通用账户、译码器、软件公司等各类专有词汇的缩写)的方式存放在业务平台a的数据库中;业务平台a向业务平台b同步业务数据,使得业务平台b在同步业务平台a的业务数据时生成各业务数据对应的第二id;业务平台a在获取到业务平台b反馈的第二id时,需要以业务平台b的第二id为标准,对业务平台a的第一id进行更新;若建立升级脚本,需要整理出第一id所在的数据库、数据库表、数据库字段、字段类型等数据更新目标,整理难度较大,需要耗费人力、时间等大量劳动成本,同时无法保证数据全面覆盖。
40.在一些实施例中,更新映射表不仅包括文本形式的映射关系,还包括字段值、数据值等形式的映射关系。
41.结合图3所示,获取原始数据库对应的更新映射表,包括:
42.步骤s301,获取原始数据库的关联数据组;
43.其中,关联数据组包括原始数据文本、原始数据文本对应的关联数据;
44.其中,关联数据包括标识数据和待同步数据;
45.步骤s302,根据关联数据对预设的目标数据库进行数据同步,使得目标数据库在同步关联数据之后,反馈原始数据文本对应的目标数据文本;
46.步骤s303,建立原始数据文本与目标数据文本之间的映射关系,得到更新映射表。
47.可选地,根据关联数据对预设的目标数据库进行数据同步之前,对关联数据进行数据校验,并根据数据校验结果进行数据修复,其中,数据校验包括数据是否为空、数据是否重复、数据是否缺失等。
48.结合图3所示,根据关联数据对预设的目标数据库进行数据同步,包括:
49.步骤s3021,根据标识数据对目标数据库进行数据查询,得到查询结果;
50.步骤s3022,若查询结果为存在,则将查询到的数据库数据更新为待同步数据,使得目标数据库根据更新后的待同步数据生成目标数据文本;
51.步骤s3023,若查询结果为不存在,则将待同步数据同步至目标数据库,使得目标数据库根据同步后的待同步数据生成目标数据文本。
52.在一些实施例中,将业务平台a的第一id作为原始数据文本,将业务平台b的第二id作为目标数据文本,建立第一id和第二id之间的映射关系,得到更新映射表。
53.在一些实施例中,查询业务平台a的员工信息和员工信息对应的第一id,其中,将员工信息作为关联数据,将员工信息对应的第一id作为原始数据文本;根据关联数据进行数据组装,得到兼容业务平台b的待同步数据,其中,待同步数据包括员工账号、员工所在部门、员工兼职部门、员工性别、员工工号、员工登录密码等;将具有唯一性的员工账号作为标识数据,根据标识数据对业务平台b的数据库进行查询,得到查询结果;若业务平台b的数据库中存在该员工账号,则根据业务平台a中员工账号对应的员工信息更新业务平台b中的员工信息,并在更新成功之后接收业务平台b反馈的第二id;若业务平台b的数据库中不存在该员工账号,则将业务平台a中员工账号对应的员工信息添加在业务平台b的数据库中,并在添加成功之后接收业务平台b反馈的第二id;将业务平台b的第二id作为目标数据文本,建立第一id和第二id之间的映射关系,得到更新映射表。
54.在一些实施例中,根据上述员工信息对应id的更新映射表生成方法,得到用户信息、账户信息、租户信息、部门信息等业务数据对应id的更新映射表。
55.在一些实施例中,由于业务平台a将手机号作为员工账号,而业务平台b不支持将手机号作为员工账号,接收到业务平台b的查询失败信息,则将标识数据修改为其他任意数据,重新进行数据查询和数据同步。
56.可选地,该方法还包括:通过执行数据库更新语句将待更新数据的原始数据文本替换为目标数据文本之后,根据更新后的待更新数据对预设的目标数据库再次进行数据同步。
57.在一些实施例中,在业务平台b的数据库中中,员工a的上司信息一栏为员工b,同时,在更新了员工a的员工信息之后,再更新员工b的员工信息,则在员工b的员工信息更新完成之后,根据员工b的员工信息对员工a的员工信息再次进行更新。
58.步骤s202,将原始数据文本作为查询变量对原始数据库进行数据查询,得到具有原始数据文本的待更新数据。
59.可选地,将原始数据文本作为查询变量对原始数据库进行数据查询,得到具有原始数据文本的待更新数据,包括:预先设置临时数据表;将原始数据文本作为查询变量,利
用游标方式遍历查询原始数据库,得到查询记录;根据查询记录从原始数据库中确定具有原始数据文本的待更新数据,并将待更新数据添加在临时数据表中。
60.可选地,将待更新数据添加在临时数据表中之后,将目标数据文本和待更新数据作为更新变量生成数据库更新语句之前,该方法还包括:根据临时数据表中的待更新数据生成数据库查询语句;将数据库查询语句发送至预设的用户终端,使得用户通过用户终端的数据库查询语句对临时数据表进行数据查询;若从用户终端接收到待更新数据对应的用户选择指令,根据用户选择指令对待更新数据进行更新。
61.在一些实施例中,根据临时数据表中的待更新数据生成sql查询语句,并发送到用户终端,使得用户便于通过生成的sql查询语句对待更新数据进行查询和选择,从而根据用户选择指令确认最终的待更新数据。
62.步骤s203,将目标数据文本和待更新数据作为更新变量生成数据库更新语句,并通过执行数据库更新语句将待更新数据的原始数据文本替换为目标数据文本,以更新待更新数据。
63.在一些实施例中,获取业务平台a的第一id(例如“100314782”)、业务平台b的第二id(例如“23562”)之间的映射关系;则通过执行sql语句(call`auto_replace`('database','100314782','23562');)则将业务平台a数据库中的“100314782”替换为了“23562”,从而完成对业务平台a中第一id的更新。
64.可选地,通过以下方法将待更新数据的原始数据文本替换为目标数据文本:预先设置原始数据文本的目标数据类型、默认数据文本;获取原始数据文本的当前数据类型;若当前数据类型属于目标数据类型,则将待更新数据的原始数据文本替换为目标数据文本;若当前数据类型不属于目标数据类型,则将待更新数据的原始数据文本替换为默认数据文本。
65.可选地,该方法还包括:预先设置异常处理规则;更新待更新数据之后,生成数据更新结果;若数据更新结果为更新异常,则向用户反馈数据更新结果,并执行预设的异常处理规则。
66.可选地,该方法还包括:获取待更新数据所在的数据库表;若数据库表的表数据量大于或等于预设数据量,则生成主线程和异步线程,其中,主线程用于管理数据库表,异步线程用于根据目标数据文本更新数据库表中的待更新数据;若异步线程执行完成,则将待更新数据对应的更新结果确定为数据更新完成。
67.在一些实施例中,例如信息历史表等数据库表的数据量巨大,则对该数据库表采用线程异步进行更新,在主线执行完成之后执行异步线程;并在异步线程执行完成之后,确定数据更新完成。
68.这样,利用线程异步的方式保证数据库的数据同步的同时,并避免线程执行拥挤,提高数据更新效率。
69.可选地,该方法还包括:若原始数据文本的数量为多个,则分配各原始数据文本对应的值权重;分别建立各原始数据文本对应的更新线程,以同时通过各更新线程将原始数据文本对应的待更新数据更新为原始数据文本对应的目标数据文本;若任一待更新数据中包括多个原始数据文本,则根据值权重依次执行待更新数据对应的更新线程,以将待更新数据中的各原始数据文本依次替换为目标数据文本。
70.在一些实施例中,员工c的上司为员工d,则员工c的员工信息中包括员工c的员工编号、员工d的员工编号两个待更新数据,则分别建立两个员工编号对应的更新线程;预先设置本人更新权重大于上司更新权重,则员工d对应的更新线程在员工c对应的更新线程完成之后,在对员工d的数据进行更新。
71.这样,通过建立多个文本更新线程分别完成不同数据的更新,在一个待更新数据中存在多个文本需要更新时,则按照值权重依次执行数据更新,在保证数据更新效率的同时,避免数据更新出错。
72.采用本公开实施例提供的数据库更新方法,通过获取原始数据文本与目标数据文本之间的映射关系,根据原始数据文本对原始数据库进行数据查询,得到具有原始数据文本的待更新数据,并通过执行数据库更新语句将待更新数据的原始数据文本替换为目标数据文本,从而完成待更新数据,具有以下优点:
73.第一、通过文本从数据库中搜索待更新数据,再对待更新数据的文本进行替换,以完成对待更新数据的更新,相较于整理需要更新的数据库表和表字段,缩短了系统升级前针对数据库表、表字段等更新位置的整理时长,提高了数据更新的效率,从而提高业务平台的系统升级效率;
74.第二、利用线程异步的方式保证数据库的数据同步的同时,并避免线程执行拥挤,提高数据更新效率;
75.第三、通过建立多个文本更新线程分别完成不同数据的更新,在一个待更新数据中存在多个文本需要更新时,则按照值权重依次执行数据更新,在保证数据更新效率的同时,避免数据更新出错。
76.结合图4所示,本公开实施例提供了一种数据库更新方法,包括:
77.步骤s401,获取原始数据库对应的更新映射表;
78.其中,更新映射表包括原始数据文本和目标数据文本之间的映射关系;
79.步骤s402,根据原始数据库、更新映射表声明变量;
80.其中,将原始数据文本作为查询变量;
81.其中,将目标数据文本作为更新变量;
82.步骤s403,声明游标,利用游标方式对原始数据库进行查询,得到查询记录;
83.步骤s404,根据查询记录从原始数据库中确定具有原始数据文本的待更新数据,并将待更新数据添加在临时数据表中;
84.步骤s405,根据临时数据表中的待更新数据生成sql更新语句;
85.步骤s406,执行sql更新语句,将待更新数据的原始数据文本替换为目标数据文本,以更新待更新数据。
86.采用本公开实施例提供的数据库更新方法,通过获取原始数据文本与目标数据文本之间的映射关系,根据原始数据文本对原始数据库进行数据查询,得到具有原始数据文本的待更新数据,并通过执行数据库更新语句将待更新数据的原始数据文本替换为目标数据文本,从而完成待更新数据。这样,通过文本从数据库中搜索待更新数据,再对待更新数据的文本进行替换,以完成对待更新数据的更新,相较于整理需要更新的数据库表和表字段,缩短了系统升级前针对数据库表、表字段等更新位置的整理时长,提高了数据更新的效率,从而提高业务平台的系统升级效率。
87.结合图5所示,本公开实施例提供了一种数据库更新方法,包括:
88.步骤s501,获取临时数据表;
89.其中,临时数据表存储有待更新数据;
90.步骤s502,判断临时数据表中是否存在未处理的待更新数据,若是,跳转步骤s503,若否,跳转步骤s507;
91.步骤s503,从临时数据表中提取未处理的待更新数据;
92.步骤s504,根据提取到的待更新数据生成sql更新语句;
93.步骤s505,执行sql更新语句,将待更新数据的原始数据文本替换为目标数据文本,以更新待更新数据,分别跳转步骤s502和s506;
94.步骤s506,同步更新后的待更新数据。
95.步骤s507,数据更新完成。
96.采用本公开实施例提供的数据库更新方法,通过获取原始数据文本与目标数据文本之间的映射关系,根据原始数据文本对原始数据库进行数据查询,得到具有原始数据文本的待更新数据,并通过执行数据库更新语句将待更新数据的原始数据文本替换为目标数据文本,从而完成待更新数据。这样,通过文本从数据库中搜索待更新数据,再对待更新数据的文本进行替换,以完成对待更新数据的更新,相较于整理需要更新的数据库表和表字段,缩短了系统升级前针对数据库表、表字段等更新位置的整理时长,提高了数据更新的效率,从而提高业务平台的系统升级效率。
97.结合图6所示,本公开实施例提供了一种数据库更新系统,包括获取模块601、查询模块602、更新模块603。
98.获取模块601用于获取原始数据库对应的更新映射表,其中,更新映射表包括原始数据文本和目标数据文本之间的映射关系。
99.查询模块602用于将原始数据文本作为查询变量对原始数据库进行数据查询,得到具有原始数据文本的待更新数据。
100.更新模块603用于将目标数据文本和待更新数据作为更新变量生成数据库更新语句,并通过执行数据库更新语句将待更新数据的原始数据文本替换为目标数据文本,以更新待更新数据。
101.采用本公开实施例提供的数据库更新系统,通过获取原始数据文本与目标数据文本之间的映射关系,根据原始数据文本对原始数据库进行数据查询,得到具有原始数据文本的待更新数据,并通过执行数据库更新语句将待更新数据的原始数据文本替换为目标数据文本,从而完成待更新数据。这样,通过文本从数据库中搜索待更新数据,再对待更新数据的文本进行替换,以完成对待更新数据的更新,相较于整理需要更新的数据库表和表字段,缩短了系统升级前针对数据库表、表字段等更新位置的整理时长,提高了数据更新的效率,从而提高业务平台的系统升级效率。
102.以上描述和附图充分地示出了本公开的实施例,以使本领域的技术人员能够实践它们。其他实施例可以包括结构的、逻辑的、电气的、过程的以及其他的改变。实施例仅代表可能的变化。除非明确要求,否则单独的部件和功能是可选地,并且操作的顺序可以变化。一些实施例的部分和子样本可以被包括在或替换其他实施例的部分和子样本。而且,本技术中使用的用词仅用于描述实施例并且不用于限制权利要求。如在实施例以及权利要求的
描述中使用的,除非上下文清楚地表明,否则单数形式的“一个”(a)、“一个”(an)和
“”
(the)旨在同样包括复数形式。类似地,如在本技术中所使用的术语“和/或”是指包含一个或一个以上相关联的列出的任何以及所有可能的组合。另外,当用于本技术中时,术语“包括”(comprise)及其变型“包括”(comprises)和/或包括(comprising)等指陈述的子样本、整体、步骤、操作、元素,和/或组件的存在,但不排除一个或一个以上其它子样本、整体、步骤、操作、元素、组件和/或这些的分组的存在或添加。在没有更多限制的情况下,由语句“包括一个
…”
限定的要素,并不排除在包括要素的过程、方法或者设备中还存在另外的相同要素。本文中,每个实施例重点说明的可以是与其他实施例的不同之处,各个实施例之间相同相似部分可以互相参见。对于实施例公开的方法、产品等而言,如果其与实施例公开的方法部分相对应,那么相关之处可以参见方法部分的描述。
103.本领域技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,可以取决于技术方案的特定应用和设计约束条件。技术人员可以对每个特定的应用来使用不同方法以实现所描述的功能,但是这种实现不应认为超出本公开实施例的范围。技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
104.本文所披露的实施例中,所揭露的方法、产品(包括但不限于装置、设备等),可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,单元的划分,可以仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些子样本可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例。另外,在本公开实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
105.附图中的流程图和框图显示了根据本公开实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这可以依所涉及的功能而定。在附图中的流程图和框图所对应的描述中,不同的方框所对应的操作或步骤也可以以不同于描述中所披露的顺序发生,有时不同的操作或步骤之间不存在特定的顺序。例如,两个连续的操作或步骤实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这可以依所涉及的功能而定。框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
技术特征:
1.一种数据库更新方法,其特征在于,包括:获取原始数据库对应的更新映射表,其中,所述更新映射表包括原始数据文本和目标数据文本之间的映射关系;将所述原始数据文本作为查询变量对所述原始数据库进行数据查询,得到具有所述原始数据文本的待更新数据;将所述目标数据文本和所述待更新数据作为更新变量生成数据库更新语句,并通过执行所述数据库更新语句将所述待更新数据的原始数据文本替换为所述目标数据文本,以更新所述待更新数据。2.根据权利要求1所述的方法,其特征在于,将所述原始数据文本作为查询变量对所述原始数据库进行数据查询,得到具有所述原始数据文本的待更新数据,包括:预先设置临时数据表;将所述原始数据文本作为查询变量,利用游标方式遍历查询所述原始数据库,得到查询记录;根据所述查询记录从所述原始数据库中确定具有所述原始数据文本的待更新数据,并将所述待更新数据添加在所述临时数据表中。3.根据权利要求2所述的方法,其特征在于,将所述待更新数据添加在所述临时数据表中之后,将所述目标数据文本和所述待更新数据作为更新变量生成数据库更新语句之前,所述方法还包括:根据所述临时数据表中的待更新数据生成数据库查询语句;将所述数据库查询语句发送至预设的用户终端,使得用户通过所述用户终端的数据库查询语句对所述临时数据表进行数据查询;若从所述用户终端接收到所述待更新数据对应的用户选择指令,根据所述用户选择指令对所述待更新数据进行更新。4.根据权利要求1所述的方法,其特征在于,通过以下方法将所述待更新数据的原始数据文本替换为所述目标数据文本:预先设置所述原始数据文本的目标数据类型、默认数据文本;获取所述原始数据文本的当前数据类型;若所述当前数据类型属于所述目标数据类型,则将所述待更新数据的原始数据文本替换为所述目标数据文本;若所述当前数据类型不属于所述目标数据类型,则将所述待更新数据的原始数据文本替换为默认数据文本。5.根据权利要求1所述的方法,其特征在于,所述方法还包括:获取所述待更新数据所在的数据库表;若所述数据库表的表数据量大于或等于预设数据量,则生成主线程和异步线程,其中,所述主线程用于管理所述数据库表,所述异步线程用于根据所述目标数据文本更新所述数据库表中的待更新数据;若所述异步线程执行完成,则将所述待更新数据对应的更新结果确定为数据更新完成。6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
若所述原始数据文本的数量为多个,则分配各所述原始数据文本对应的值权重;分别建立各所述原始数据文本对应的更新线程,以同时通过各所述更新线程将所述原始数据文本对应的待更新数据更新为所述原始数据文本对应的目标数据文本;若任一待更新数据中包括多个原始数据文本,则根据所述值权重依次执行所述待更新数据对应的更新线程,以将所述待更新数据中的各原始数据文本依次替换为所述目标数据文本。7.根据权利要求1至6任一项所述的方法,其特征在于,获取原始数据库对应的更新映射表,包括:获取原始数据库的关联数据组,其中,所述关联数据组包括原始数据文本、所述原始数据文本对应的关联数据;根据所述关联数据对预设的目标数据库进行数据同步,使得所述目标数据库在同步所述关联数据之后,反馈所述原始数据文本对应的目标数据文本;建立所述原始数据文本与所述目标数据文本之间的映射关系,得到更新映射表。8.根据权利要求7所述的方法,其特征在于,根据所述关联数据对预设的目标数据库进行数据同步,包括:所述关联数据包括标识数据和待同步数据;根据所述标识数据对所述目标数据库进行数据查询,得到查询结果;若所述查询结果为存在,则将查询到的数据库数据更新为所述待同步数据,使得所述目标数据库根据更新后的待同步数据生成目标数据文本;若所述查询结果为不存在,则将所述待同步数据同步至所述目标数据库,使得所述目标数据库根据同步后的待同步数据生成目标数据文本。9.根据权利要求7所述的方法,其特征在于,所述方法还包括:通过执行所述数据库更新语句将所述待更新数据的原始数据文本替换为所述目标数据文本之后,根据更新后的待更新数据对预设的目标数据库再次进行数据同步。10.一种数据库更新系统,其特征在于,包括:获取模块,用于获取原始数据库对应的更新映射表,其中,所述更新映射表包括原始数据文本和目标数据文本之间的映射关系;查询模块,用于将所述原始数据文本作为查询变量对所述原始数据库进行数据查询,得到具有所述原始数据文本的待更新数据;更新模块,用于将所述目标数据文本和所述待更新数据作为更新变量生成数据库更新语句,并通过执行所述数据库更新语句将所述待更新数据的原始数据文本替换为所述目标数据文本,以更新所述待更新数据。
技术总结
本发明涉及数据更新技术领域,公开了一种数据库更新方法及系统,该方法通过获取原始数据文本与目标数据文本之间的映射关系,根据原始数据文本对原始数据库进行数据查询,得到具有原始数据文本的待更新数据,并通过执行数据库更新语句将待更新数据的原始数据文本替换为目标数据文本,从而完成待更新数据,通过文本从数据库中搜索待更新数据,再对待更新数据的文本进行替换,以完成对待更新数据的更新,相较于整理需要更新的数据库表和表字段,缩短了系统升级前针对数据库表、表字段等更新位置的整理时长,提高了数据更新的效率,从而提高业务平台的系统升级效率。业务平台的系统升级效率。业务平台的系统升级效率。
技术研发人员:王晓虎 张劲
受保护的技术使用者:浙江吉利控股集团有限公司
技术研发日:2023.08.03
技术公布日:2023/10/11
版权声明
本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
飞行汽车 https://www.autovtol.com/
