本技术涉及数据处理领域,尤其涉及一种基于分片路由的多库访问操作方法、设备及存储介质。
背景技术:
1、现有的数据库表分片路由实现主要有两种,一种是数据库自身实现,该种实现对应用是透明的,应用访问数据库就像访问单库一样,实际上数据库已经按照指定的分片规则对数据进行分片存储;但是当需要进行多库访问且分片规则不同时,使用数据库自身的分片路由机制是无法实现的。另外一种是在应用里面实现访问多库,在应用实现多库访问时,存在着具体访问数据库需要对每个sql语句在访问前进行分片路由规则解析并选择指定数据库源,从而造成了代码冗余复杂,如果修改分片规则或数据库源需要修改每个sql语句的相应代码,存在很多弊端。
技术实现思路
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、在一种可能的设计中,根据所述目标访问表和与所述目标访问表对应的预设路由规则获取待选数据库源集合,包括:
28、将所述目标访问表与预设路由规则数据库进行匹配得到目标路由规则,所述预设路由规则数据库中包含数据表与路由规则之间的映射关系,所述路由规则用于指示数据表与数据库源之间的映射,每个路由规则根据所述数据表中关键字段的数值映射不同的数据库源;
29、根据所述目标路由规则获取与所述目标访问表对应的多个数据库源生成待选数据库源集合。
30、第三方面,本技术提供一种基于分片路由的多库访问操作设备,用于请求端,包括:
31、第一获取模块,用于获取业务交易报文,所述业务交易报文包括一个或多个数据类型的操作数据;
32、标识模块,用于根据所述操作数据的数据类型和预设分片规则,获取路由规则标识和目标数据库源标识;
33、建立模块,用于建立所述操作数据与路由规则标识和目标数据库源标识之间的第一映射关系并生成请求头部报文;
34、发送模块,用于根据所述请求头部报文和业务交易报文生成交易请求报文,并将所述交易请求报文发送至应用端。
35、在一种可能的设计中,标识模块,具体用于:
36、将所述数据类型和所述操作数据与预设分片规则进行匹配得到目标数据库源,每个目标数据库源对应多个路由规则,每个所述路由规则用于指示数据表与数据库源之间的映射,所述数据表中包含多个数据类型的操作数据;所述预设分片规则用于指示各数据类型对应的操作数据与数据库源之间的映射;
37、根据所述数据类型和所述目标数据库源对应的多个路由规则,获取与所述数据类型对应的目标路由规则;
38、基于所述目标路由规则和所述目标数据库源生成路由规则标识和目标数据库源标识。
39、第四方面,本技术提供一种基于分片路由的多库访问操作设备,用于应用端,包括:
40、第二获取模块,用于获取请求端发送的交易请求报文;
41、解析模块,用于根据所述交易请求报文解析得到业务交易报文和请求头部报文,所述业务交易报文包括一个或多个数据类型的操作数据,所述请求头部报文包括所述操作数据与路由规则标识、目标数据库源标识之间的第一映射关系;
42、分析模块,用于基于所述业务交易报文分析获得目标访问表、所述目标访问表与操作数据之间的第二映射关系和对所述目标访问表的操作指令;
43、定位模块,用于根据所述目标访问表、预设路由规则、第一映射关系和第二映射关系获取目标数据库,所述目标数据库内存储有所述目标访问表;
44、操作模块,用于根据所述操作指令对所述目标数据库中的目标访问表进行操作。
45、在一种可能的设计中,分析模块,具体用于:
46、根据所述业务交易报文得到需要进行操作的数据类型;
47、将所述数据类型与多个预设数据表对应的数据类型进行匹配,得到目标访问表;
48、获取所述操作数据与所述目标访问表之间的第二映射关系;
49、基于所述数据类型、操作数据和所述目标访问表生成操作指令,所述操作指令用于对所述目标访问表进行增加/删除/修改/查看。
50、在一种可能的设计中,定位模块,具体用于:
51、根据所述目标访问表和与所述目标访问表对应的预设路由规则获取待选数据库源集合;
52、根据所述目标访问表与所述操作数据之间的第二映射关系和所述操作数据与路由规则标识、目标数据库源标识之间的第一映射关系,获取与所述目标访问表对应的目标数据库源标识;
53、通过所述目标数据库源标识从所述待选数据库源集合中获取目标数据库源;
54、基于所述目标数据库源得到目标数据库。
55、在一种可能的设计中,定位模块,还用于:
56、将所述目标访问表与预设路由规则数据库进行匹配得到目标路由规则,所述预设路由规则数据库中包含数据表与路由规则之间的映射关系,所述路由规则用于指示数据表与数据库源之间的映射,每个路由规则根据所述数据表中关键字段的数值映射不同的数据库源;
57、根据所述目标路由规则获取与所述目标访问表对应的多个数据库源生成待选数据库源集合。
58、第五方面,本技术提供一种基于分片路由的多库访问操作设备,包括:处理器,以及与处理器通信连接的存储器;
59、存储器存储计算机执行指令;
60、处理器执行存储器存储的计算机执行指令,使得接入网络资源的路径查询设备执行第一方面或第二方面中任一项的基于分片路由的多库访问操作方法。
61、第六方面,本技术提供一种计算机可读存储介质,计算机可读存储介质中存储有计算机执行指令,计算机执行指令被处理器执行时用于实现如第一方面或第二方面中任一项的基于分片路由的多库访问操作方法。
62、本技术提供的基于分片路由的多库访问操作方法、设备及存储介质,通过在请求端获取业务交易报文,业务交易报文包括一个或多个数据类型的操作数据;根据操作数据的数据类型和预设分片规则,获取路由规则标识和目标数据库源标识;建立操作数据与路由规则标识和目标数据库源标识之间的第一映射关系并生成请求头部报文;根据请求头部报文和业务交易报文生成交易请求报文,并将交易请求报文发送至应用端。通过在应用端获取请求端发送的交易请求报文;根据交易请求报文解析得到业务交易报文和请求头部报文,业务交易报文包括一个或多个数据类型的操作数据,请求头部报文包括操作数据与路由规则标识、目标数据库源标识之间的第一映射关系;基于业务交易报文分析获得目标访问表、目标访问表与操作数据之间的第二映射关系和对目标访问表的操作指令;根据目标访问表、预设路由规则、第一映射关系和第二映射关系获取目标数据库,目标数据库内存储有目标访问表;根据操作指令对目标数据库中的目标访问表进行操作的手段,在面对多库访问且分片规则存在差异的情况下,简化了访问操作流程,无需修改每个sql语句的相应代码,避免了代码冗余复杂的问题,有效提高了多库访问操作的效率。
1.一种基于分片路由的多库访问操作方法,用于请求端,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,所述根据所述操作数据的数据类型和预设分片规则获取路由规则标识和目标数据库源标识,包括:
3.一种基于分片路由的多库访问操作方法,用于应用端,其特征在于,包括:
4.根据权利要求3所述的方法,其特征在于,所述基于所述业务交易报文分析获得目标访问表、所述目标访问表与操作数据之间的第二映射关系和对所述目标访问表的操作指令,包括:
5.根据权利要求3所述的方法,其特征在于,所述根据所述目标访问表、预设路由规则、第一映射关系和第二映射关系获取目标数据库,包括:
6.根据权利要求5所述的方法,其特征在于,所述根据所述目标访问表和与所述目标访问表对应的预设路由规则获取待选数据库源集合,包括:
7.一种基于分片路由的多库访问操作设备,用于请求端,其特征在于,包括:
8.一种基于分片路由的多库访问操作设备,用于应用端,其特征在于,包括:
9.一种基于分片路由的多库访问操作设备,其特征在于,包括:处理器,以及与所述处理器通信连接的存储器;
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如权利要求1至2或3至6任一项所述的方法。
