本技术涉及数据库,尤其涉及一种数据处理方法、装置、服务器、存储介质及程序产品。
背景技术:
1、冗余字段用于表示在数据库中反复出现的重复的字段,换句话说,冗余字段是在不同数据表中均存在的字段。
2、在一些场景中,当一个字段在不同数据表中均存在时,若其中一个数据表中更改了该字段的字段值,则其他数据表中均需要更改该字段的字段值。
3、如何更改其他数据表中该字段的字段值成为一个亟需解决的问题。
技术实现思路
1、本技术提供一种数据处理方法、装置、服务器、存储介质及程序产品,用于在不同数据表中同步对冗余字段进行处理。
2、第一方面,本技术实施例提供一种数据处理方法,应用于服务器,服务器包括第一模块和第二模块;方法包括:第一模块获取第一指令,第一指令是响应于交易请求生成的,交易请求用于请求进行交易,第一指令用于对第一数据表中的第一字段的字段值进行处理;若第一字段为第一数据表中的冗余字段,则第一模块生成第一消息,第一消息包括第一字段和对第一字段的处理类型;第一模块将第一消息传输至消息队列中;第二模块在消息队列中监听到第一消息;响应于第一消息,第二模块获取至少一个数据表,至少一个数据表均包括第一字段;根据处理类型,第二模块分别对至少一个数据表中的第一字段的字段值进行处理。
3、在一种可能的设计中,第一模块包括第一对应关系,第一对应关系为第一数据表中的冗余字段与主题之间的对应关系;第二模块包括第二对应关系,第二对应关系为主题与数据表之间的对应关系;其中,主题用于对冗余字段进行分类;若第一字段为第一数据表中的冗余字段,则第一模块生成第一消息,包括:若第一字段为第一数据表中的冗余字段,则第一模块从第一对应关系中,得到与第一字段对应的目标主题;生成第一消息,第一消息包括第一字段、处理类型以及目标主题;响应于第一消息,第二模块获取至少一个数据表,包括:响应于第一消息,在第二对应关系包括目标主题的情况下,第二模块从第二对应关系中得到与目标主题对应的至少一个数据表。
4、在一种可能的设计中,若第一字段为第一数据表中的冗余字段,方法还包括:第一模块获取第一数据表的表主键,第一消息还包括表主键;在根据处理类型,第二模块分别对至少一个数据表中的第一字段的字段值进行处理之前,方法还包括:第二模块根据表主键分别从至少一个数据表中得到第一字段。
5、在一种可能的设计中,处理类型包括更新、删除或者插入或者第一类型,第一类型与更新、删除以及插入不同;根据处理类型,第二模块分别对至少一个数据表中的第一字段的字段值进行处理,包括:若处理类型为更新,则第二模块分别将至少一个数据表中的第一字段的字段值更新成目标值;若处理类型为删除,则第二模块分别将至少一个数据表中的第一字段的字段值更新成空值;若处理类型为插入,则第二模块不更改至少一个数据表中的第一字段的字段值;或者,若处理类型为第一类型,则第二模块执行与第一类型对应的预设方法,预设方法用于分别对目标数据表中的第一字段的字段值进行处理,目标数据表为至少一个数据表中满足预设条件的数据表。
6、在一种可能的设计中,第一模块包括第三对应关系,第三对应关系包括数据表与字段之间的对应关系;在第三对应关系中包括第一数据表,且在第三对应关系中与第一数据表对应的字段包括第一字段的情况下,第一字段为第一数据表中的冗余字段。
7、在一种可能的设计中,第一模块包括第三对应关系,第三对应关系包括数据表与字段之间的对应关系;在第三对应关系中包括第一数据表,且在第三对应关系中与第一数据表对应的字段不包括第一字段的情况下,第一字段为第一数据表中的冗余字段。
8、在一种可能的设计中,在若第一字段为第一数据表中的冗余字段,则第一模块生成第一消息之前,方法还包括:判断第一标识是否为第一值;若第一字段为第一数据表中的冗余字段,则第一模块生成第一消息,包括:若第一字段为第一数据表中的冗余字段,且第一标识为第一值,则第一模块生成第一消息。
9、在一种可能的设计中,在第一模块将第一消息传输至消息队列中之前,方法还包括:将第一消息存储在目标存储空间中;第一模块将第一消息传输至消息队列中,包括:在交易成功的情况下,第一模块将第一消息从目标存储空间中传输至消息队列中。
10、在一种可能的设计中,方法还包括:在交易失败的情况下,第一模块删除第一消息。
11、在一种可能的设计中,方法还包括:第一模块获取第二指令,第二指令的获取时间与第一指令的获取时间相同,第二指令是响应于交易请求生成的,第二指令用于对第一数据表中的第二字段的字段值进行处理;若第二字段为第一数据表中的冗余字段,则第一模块生成第二消息,第二消息包括第二字段和对第二字段的处理类型;在第一模块将第一消息传输至消息队列中之前,方法还包括:将第一消息和第二消息存储在存储空间中;第一模块将第一消息传输至消息队列中,包括:在交易成功的情况下,第一模块将第一消息和第二消息传输至消息队列中。
12、在一种可能的设计中,方法还包括:在交易失败的情况下,第一模块删除第一消息和第二消息。
13、第二方面,本技术实施例提供一种数据处理装置,包括:获取模块,用于获取第一指令,第一指令是响应于交易请求生成的,交易请求用于请求进行交易;第一指令用于对第一数据表中的第一字段的字段值进行处理;处理模块,用于若第一字段为第一数据表中的冗余字段,则生成第一消息,第一消息包括第一字段和对第一字段的处理类型;将第一消息传输至消息队列中;监听模块,用于在消息队列中监听到第一消息;处理模块还用于:响应于第一消息,获取至少一个数据表,至少一个数据表均包括第一字段;根据处理类型,分别对至少一个数据表中的第一字段的字段值进行处理。
14、在一种可能的设计中,第一对应关系为第一数据表中的冗余字段与主题之间的对应关系;包括第二对应关系,第二对应关系为主题与数据表之间的对应关系;其中,主题用于对冗余字段进行分类;处理模块还用于:若第一字段为第一数据表中的冗余字段,则从第一对应关系中,得到与第一字段对应的目标主题;生成第一消息,第一消息包括第一字段、处理类型以及目标主题;获取模块还用于:响应于第一消息,在第二对应关系包括目标主题的情况下,从第二对应关系中得到与目标主题对应的至少一个数据表。
15、在一种可能的设计中,若第一字段为第一数据表中的冗余字段,获取模块还用于:获取第一数据表的表主键,第一消息还包括表主键;处理模块还用于:根据表主键分别从至少一个数据表中得到第一字段。
16、在一种可能的设计中,处理类型包括更新、删除或者插入或者第一类型,第一类型与更新、删除以及插入不同;处理模块还用于:若处理类型为更新,则分别将至少一个数据表中的第一字段的字段值更新成目标值;若处理类型为删除,则分别将至少一个数据表中的第一字段的字段值更新成空值;若处理类型为插入,则不更改至少一个数据表中的第一字段的字段值;或者,若处理类型为第一类型,则执行与第一类型对应的预设方法,预设方法用于分别对目标数据表中的第一字段的字段值进行处理,目标数据表为至少一个数据表中满足预设条件的数据表。
17、在一种可能的设计中,数据处理装置包括第三对应关系,第三对应关系包括数据表与字段之间的对应关系;在第三对应关系中包括第一数据表,且在第三对应关系中与第一数据表对应的字段包括第一字段的情况下,第一字段为第一数据表中的冗余字段。
18、在一种可能的设计中,数据处理装置包括第三对应关系,第三对应关系包括数据表与字段之间的对应关系;在第三对应关系中包括第一数据表,且在第三对应关系中与第一数据表对应的字段不包括第一字段的情况下,第一字段为第一数据表中的冗余字段。
19、在一种可能的设计中,处理模块还用于:判断第一标识是否为第一值;若第一字段为第一数据表中的冗余字段,且第一标识为第一值,则生成第一消息。
20、在一种可能的设计中,处理模块还用于:将第一消息存储在目标存储空间中;在交易成功的情况下,第一模块将第一消息从目标存储空间中传输至消息队列中。
21、在一种可能的设计中,处理模块还用于:在交易失败的情况下,第一模块删除第一消息。
22、在一种可能的设计中,获取模块还用于:第一模块获取第二指令,第二指令的获取时间与第一指令的获取时间相同,第二指令是响应于交易请求生成的,第二指令用于对第一数据表中的第二字段的字段值进行处理;处理模块还用于:若第二字段为第一数据表中的冗余字段,则第一模块生成第二消息,第二消息包括第二字段和对第二字段的处理类型;将第一消息和第二消息存储在存储空间中;在交易成功的情况下,第一模块将第一消息和第二消息传输至消息队列中。
23、在一种可能的设计中,处理模块还用于:在交易失败的情况下,第一模块删除第一消息和第二消息。
24、第三方面,本技术实施例提供一种服务器,包括:至少一个处理器和存储器;所述存储器存储计算机执行指令;所述至少一个处理器执行所述存储器存储的计算机执行指令,使得所述至少一个处理器执行如上第一方面以及第一方面各种可能的设计所述的数据处理方法。
25、第四方面,本技术实施例提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如上第一方面以及第一方面各种可能的设计所述的数据处理方法。
26、第五方面,本技术实施例提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时,实现如上第一方面以及第一方面各种可能的设计所述的数据处理方法。
27、本技术实施例提供的数据处理方法,第一模块获取第一指令后,分析第一指令中的信息,若第一字段为第一数据表中的冗余字段,则生成第一消息,并将第一消息传输至消息队列中,以便于其他模块可以自行更改所需的字段。第二模块在消息队列中监听到第一消息;响应于第一消息,获取至少一个数据表,并分别对至少一个数据表中的第一字段的字段值进行处理。这样,第一模块与第二模块之间无需交互,没有耦合,也可以实现第一模块对冗余字段进行处理后,第二模块也可以对冗余字段进行处理,实现在不同数据表中同步对冗余字段进行处理的效果。