集数据库分库管理方法、装置、计算机终端及存储介质与流程

阅读: 评论:0



1.本发明涉及数据库领域,尤其涉及一种集数据库分库管理方法、装置、计算机终端及存储介质。


背景技术:



2.当前主流的数据库查询工具,可以在页面上指定数据源后,使用select命令查询指定数据库,查询结果分页显示在结果栏。然而在数据量庞大的分库集环境,特别是金融科技领域,此类单一的指定数据源查询已经不太适用,需要先执行分库逻辑后才知道数据应该在哪个具体的分库。实际使用过程中,用户并不需要了解、操作数据库的分片逻辑,所以很难直接到对应的分库,无法有效率的进行数据查询。


技术实现要素:



3.第一方面,本技术提供一种集数据库管理方法,包括:
4.接收并解析来自用户的查询命令,获取所述查询命令中的目标数据库集;
5.根据所述目标数据库集的名称,确定所述目标数据库集对应的主库并从所述主库中匹配对应的分库策略;
6.根据所述分库策略,确定所述数据库集对应的分库,根据所述查询命令从所述分库中到对应的查询数据;
7.将所述查询数据反馈回页面前端。
8.进一步的,每一数据库集设有对应维护的主库;所述从所述目标数据库集中的主库中匹配对应的分库策略包括:
9.根据所述目标数据库集的名称字段,从存储在所述主库中的分库策略配置表中,寻和所述目标数据库集匹配的分库策略。
10.进一步的,将所述查询数据反馈回页面前端包括:
11.将所述查询数据进行分页显示;
12.根据所述查询命令中的查询条件,对所述查询数据中的字段进行动态封装,并直接显示在前端页面上。
13.进一步的,还包括:将所述查询数据整体封装成html网页并在前端直接显示。
14.进一步的,所述查询命令为关键字查询语句或数据库查询语句。
15.进一步的,获取所述目标数据库集后,还包括:
16.判断所述目标数据库集是否为拆分集,若所述目标数据库集不是拆分集,则按照所述查询命令中用户指定的数据库或主库进行数据查询。
17.进一步的,所述根据所述分库策略,确定所述数据库集对应的分库包括:
18.从所述查询命令中确定和所述分库策略相关的关键字段;
19.根据所述关键字段和所述分库策略,在所述目标数据库集中确定所述分库。
20.第二方面,本技术还提供一种集数据库分库管理装置,包括:
21.解析模块,用于接收并解析来自用户的查询命令,获取所述查询命令中的目标数据库集;
22.匹配模块,用于根据所述目标数据库集的名称,确定所述目标数据库集对应的主库并从所述主库中匹配对应的分库策略;
23.查询模块,用于根据所述分库策略,确定所述数据库集对应的分库,根据所述查询命令从所述分库中到对应的查询数据;
24.反馈模块,用于将所述查询数据反馈回页面前端。
25.第三方面,本技术还提供一种计算机终端,包括处理器和存储器,所述存储器存储有计算机程序,所述计算机程序在所述处理器上运行时执行所述的集数据库分库管理方法。
26.第四方面,本技术还提供一种可读存储介质,其存储有计算机程序,所述计算机程序在处理器上运行时执行所述的集数据库分库管理方法。
27.本发明实施例公开了集数据库分库管理方法、装置、计算机终端及存储介质,该方法包括:接收并解析来自用户的查询命令,获取所述查询命令中的目标数据库集;根据所述目标数据库集的名称,确定所述目标数据库集对应的主库并从所述主库中匹配对应的分库策略;根据所述分库策略,确定所述数据库集对应的分库,根据所述查询命令从所述分库中到对应的查询数据;将所述查询数据反馈回页面前端。使得对拆分数据库进行数据搜索时,可以灵活快速的查到对应分库。且不同集可配置独有的分库策略,旨在自动化将用户的查询请求定位至指定分库,实现高效查询数据。解决了现有的数据库查询平台只能查询单一数据库,面对大数据量的拆分集时,查询逻辑复杂、效率低下的问题。
附图说明
28.为了更清楚地说明本发明的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对本发明保护范围的限定。在各个附图中,类似的构成部分采用类似的编号。
29.图1示出了本技术实施例一种集数据库分库管理方法流程示意图;
30.图2示出了本技术实施例一种数据库系统结构示意图;
31.图3示出了本技术实施例又一种集数据库分库管理方法流程示意图;
32.图4示出了本技术实施例一种分库确定流程示意图;
33.图5示出了本技术实施例一种查询数据反馈方法示意图;
34.图6示出了本技术实施例一种集数据库分库查询装置结构示意图。
具体实施方式
35.下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。
36.通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范
围。
37.在下文中,可在本发明的各种实施例中使用的术语“包括”、“具有”及其同源词仅意在表示特定特征、数字、步骤、操作、元件、组件或前述项的组合,并且不应被理解为首先排除一个或更多个其它特征、数字、步骤、操作、元件、组件或前述项的组合的存在或增加一个或更多个特征、数字、步骤、操作、元件、组件或前述项的组合的可能性。
38.此外,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
39.除非另有限定,否则在这里使用的所有术语(包括技术术语和科学术语)具有与本发明的各种实施例所属领域普通技术人员通常理解的含义相同的含义。所述术语(诸如在一般使用的词典中限定的术语)将被解释为具有与在相关技术领域中的语境含义相同的含义并且将不被解释为具有理想化的含义或过于正式的含义,除非在本发明的各种实施例中被清楚地限定。
40.在很多业务领域,例如金融科技领域中,对于数据库的维护和使用有着较高的频率和安全需求,本技术的技术方案应用于对拆分库的数据库集的查询方法,可应用在金融科技领域中。当数据库服务器接收到用户的查询命令时,会先确定其指定的数据库集,然后再确定和该数据库集对应的配置信息,以确定该数据库集中有哪些分库,并确认好分库策略,根据该分库策略来确定当前查询的数据在哪个分库,从而到该分库,进而再进行数据查询。
41.本技术的方案避免了用户在进行查询时,还需要去了解数据库的分库策略,可以通过对配置信息的获取来得到对应数据库集的分库策略,使得整个查过程自动化。
42.接下来以具体实施方式说明本技术的技术方案。
43.实施例1
44.如图1所示,本技术的数据库集的查询方法包括以下步骤:
45.步骤s100,接收并解析来自用户的查询命令,获取所述查询命令中的目标数据库集。
46.本技术的技术方案工作在数据库的维护系统上,这些数据库可以是学校数据库、金融数据库或者火车数据库等不同业务领域的数据库,该系统的结构如图2所示,包括配置中心,多个数据库集和数据库集下的主库以及多个分库。
47.这里的配置中心是用于存储各个数据库集的配置信息的,配置信息包括这些数据库集里指定的主库以及各个分库的字段、数据库集对应的分库策略以及分库表。通过配置中心,可以到各个数据库集,并且通过配置信息,可以确定各个数据库集的属性。
48.这里的主库和从库中储存的数据内容相同,主库还会存储该数据库集的配置信息,在分布式系统中,对于大数据量的任务,从库来分摊在该数据库集中的工作量,其分库策略也存在该配置信息中。
49.这里用户的查询命令可以是具体的数据库查询语言,也可以是针对关键词的查询,两种不同的查询语言针对不同的用户体。
50.针对数据库的运营维护工作人员,其可以通过查询语言对想要的数据进行查询,对于这类用户来讲,往往需要对数据进行深度查询,用于对数据库的开发和维护,因此根据
这种具体的查询语言中,可以获取其中的关键字,如表名和元素名之类的字段,从而可以确定对应的数据库集。
51.对于面向普通用户时,如对于银行的理财系统,用户想要查询某个理财产品,则可能只会输入理财产品的名字,此时前端系统会根据这些关键字,生成对应的数据库查询语言,到对应的数据库集,其中,面向普通用户时,数据库集可以是根据应用自带的算法进行分配,如根据地理位置分配,或者根据所搜查的数据种类分配之类的方式,确定本次数据搜索时,对应的数据库集。
52.确定数据库集后,才能够根据集进行接下来的分库操作。
53.如图3所示,在一个可行的实施例中,在获取了目标数据库集后,还包括一下步骤:
54.步骤s110,判断所述目标数据库集是否是拆分集。
55.不是所有的数据库都是拆分集,有的数据库可能不是拆分集,本身就不存在分库策略,因此可以直接寻指定的数据库进行数据查询,或者直接去默认的主库查询。
56.因此,在判定当前的目标数据库集不是拆分集时,直接跳到步骤s400,若是,则可以继续步骤,执行接下来的步骤s200。
57.步骤s200,根据所述目标数据库集的名称,确定所述目标数据库集对应的主库并从所述主库中匹配对应的分库策略。
58.如上述的数据库系统可知,这些配置信息中存入了该数据库集的分库策略,这里的分库策略指的是面对搜索、写入、增加、删除等任务时,每个分库承担任务的分库方法,这些分库方法由开发人员根据每个数据库集的特点,单独设计,并预先写入其中。
59.分库存策略和数据库集是一一对应的,为此,在行数的配置中心中,会维护一个数据库集和分库策略的对应表,在确定了数据库集的名字后,就可以按照该表去寻,该数据库集的分库策略是什么。
60.具体的,该分库策略在表中以关键字段的形式存储,作为定位具体方法的索引,该分库策略存储在该数据库集的主库中,通过该关键字段来到具体的分库方法,然后进行分库操作。
61.可以理解的是,配置信息中所存储的分库策略不止一种,这些分库策略可以通过配置文件进行配置,使得数据库集可以切换其分库策略,当某个数据库集切换了分库策略后,配置中心也会更新该对应表,避免后续用户出错。
62.步骤s300,根据所述分库策略,确定所述数据库集对应的分库,根据所述查询命令从所述分库中到对应的查询数据。
63.具体而言,分库策略可以是通过借据号取模的方式进行计算,例如,某个数据库集有32个库,用户来进行数据访问,在数据交互时,会产生借据号,例如bobp202207010001,根据算法,会将字母以0取代,并将借据号转换成数值202207010001,然后因为总共有32和库,则对该数值进行32的取模,得到202207010001%32=17,也就是说,该用户经过分库,会分配到17号库进行检索等操作。
64.这里的分库策略仅仅用于寻对应的分库,并不会用于对数据的搜寻。
65.具体而言,如图4所示,本步骤还包括以下步骤:
66.步骤s310,确定分库策略后,从所述查询命令中确定和所述分库策略相关的关键
字段。
67.查询命令如步骤100所述,包括具体的查询语言或者单纯的关键词,而在经过数据处理后,会有类似上述的借据号等数据产生,即无论什么查询命令,在本步骤进行处理时,都会被转化成对应的格式数据,针对这些数据,来获取该分库策略所需要的数据。
68.如上述的借据号取模的分库策略,则需要获取借据号,也有可能是根据时间进行分库,则需要获取当前时间,也可能根据ip进行分库,则需要获取ip。总之,根据确定的分库策略来获取具体所需要的数据。
69.获取这些数据的方法可以由分库策略自己实现,具体的实现方式本技术不做赘述。
70.步骤s320,根据所述关键字段和所述分库策略,在所述目标数据库集中确定所述分库。
71.将该关键字段输入到分库策略中,并执行分库策略的程序,以获取其输出的分库编号,根据分库编号,确定具体的分库。
72.得到分库后,就可以在该分库中进行具体的查询操作,若是运维或开发输入的查询语句,则可以直接根据该查询语句获取目标数据。若是一般用户自app上输入的查询关键字,则根据关键字生成对应的查询语句,来到对应的查询数据。
73.这些查询数据就是查询结果,用以返回给客户。
74.步骤s400,将所述查询数据反馈回页面前端。
75.得到数据后,需要反馈给页面前端,对此,数据库会给页面提交一个post表单,以输出这些查询数据。
76.具体如图5所示,本步骤包括以下步骤:
77.步骤s410,将所述查询数据进行分页显示。
78.可以理解的是,这些查询数据量可能会有很多,为了避免数据过多导致系统内存紧张,可以将这些数据进行分页显示,如一页只显示50条之类的方式,通过限制一页显示的数据量,控制由数据库向前端返回的数据量,避免因为过大的吞吐量,导致系统卡顿。
79.步骤s420,根据所述查询命令中的查询条件,针对所述查询数据中的字段进行动态封装,并直接显示在前端页面上。
80.此外,针对查询条件的不同,需要将这些数据组合成用户期望看到的样子,例如查询班级中各个学生的成绩排序,则返回时,需要生成学生名字和成绩两列数据,并且按照成绩高低将数据顺序进行排序显示,然后显示在前端页面上。
81.在一个可行的实施例中,可以将查询数据整体封装成html网页在前端直接显示。
82.可以理解的是,在金融平台中,例如银行的应用,通常会有海量用户进行访问,这些用户存在世界各个地区,因此大多采用分布式数据库,来应对与日俱增的访问量。在本系统中,当用户输入关键字或者具体的数据库语言进行搜查时,可以通过配置中心,获取对应的数据库集,然后再获取和数据库集对应的分库策略,以到对应分库进行数据查询。若该数据库集不支持拆分库,也可以直接按照默认主库或者指定的数据库进行处理,整个过程自动化程度高,并且灵活,后期易于二次开发。
83.本发明实施例公开了集数据库分库管理方法包括:接收并解析来自用户的查询命令,获取所述查询命令中的目标数据库集;根据所述目标数据库集的名称,确定所述
目标数据库集对应的主库并从所述主库中匹配对应的分库策略;根据所述分库策略,确定所述数据库集对应的分库,根据所述查询命令从所述分库中到对应的查询数据;将所述查询数据反馈回页面前端。使得对拆分数据库进行数据搜索时,可以灵活快速的查到对应分库。且不同集可配置独有的分库策略,旨在自动化将用户的查询请求定位至指定分库,实现高效查询数据。解决了现有的数据库查询平台只能查询单一数据库,面对大数据量的拆分集时,查询逻辑复杂、效率低下的问题。
84.实施例2
85.本技术还提供一种集数据库分库查询装置,如图6所示,包括:
86.解析模块10,用于接收并解析来自用户的查询命令,获取所述查询命令中的目标数据库集;
87.匹配模块20,用于根据所述目标数据库集的名称,确定所述目标数据库集对应的主库并从所述主库中匹配对应的分库策略;
88.查询模块30,用于根据所述分库策略,确定所述数据库集对应的分库,根据所述查询命令从所述分库中到对应的查询数据;
89.反馈模块40,用于将所述查询数据反馈回页面前端。
90.本技术还提供一种计算机终端,包括处理器和存储器,所述存储器存储有计算机程序,所述计算机程序在所述处理器上运行时执行所述的集数据库分库管理方法。
91.该计算机终端可以是服务器,也可以是中控制电脑。
92.本技术还提供一种可读存储介质,其存储有计算机程序,所述计算机程序在处理器上运行时执行所述的集数据库分库管理方法。
93.在本技术所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和结构图显示了根据本发明的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,结构图和/或流程图中的每个方框、以及结构图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
94.另外,在本发明各个实施例中的各功能模块或单元可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或更多个模块集成形成一个独立的部分。
95.所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是智能手机、个人计算机、服务器、或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的
介质。
96.以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。

技术特征:


1.一种集数据库分库管理方法,其特征在于,包括:接收并解析来自用户的查询命令,获取所述查询命令中的目标数据库集;根据所述目标数据库集的名称,确定所述目标数据库集对应的主库并从所述主库中匹配对应的分库策略;根据所述分库策略,确定所述数据库集对应的分库,根据所述查询命令从所述分库中到对应的查询数据;将所述查询数据反馈回页面前端。2.根据权利要求1所述的集数据库分库管理方法,其特征在于,每一数据库集设有对应维护的主库;所述从所述目标数据库集中的主库中匹配对应的分库策略包括:根据所述目标数据库集的名称字段,从存储在所述主库中的分库策略配置表中,寻和所述目标数据库集匹配的分库策略。3.根据权利要求1所述的集数据库分库管理方法,其特征在于,将所述查询数据反馈回页面前端包括:将所述查询数据进行分页显示;根据所述查询命令中的查询条件,对所述查询数据中的字段进行动态封装,并直接显示在前端页面上。4.根据权利要求3所述的集数据库分库管理方法,其特征在于,还包括:将所述查询数据整体封装成html网页并在前端直接显示。5.根据权利要求1所述的集数据库分库管理方法,其特征在于,所述查询命令为关键字查询语句或数据库查询语句。6.根据权利要求1所述的集数据库分库管理方法,其特征在于,获取所述目标数据库集后,还包括:判断所述目标数据库集是否为拆分集,若所述目标数据库集不是拆分集,则按照所述查询命令中用户指定的数据库或主库进行数据查询。7.根据权利要求1所述的集数据库分库管理方法,其特征在于,所述根据所述分库策略,确定所述数据库集对应的分库包括:从所述查询命令中确定和所述分库策略相关的关键字段;根据所述关键字段和所述分库策略,在所述目标数据库集中确定所述分库。8.一种集数据库分库管理装置,其特征在于,包括:解析模块,用于接收并解析来自用户的查询命令,获取所述查询命令中的目标数据库集;匹配模块,用于根据所述目标数据库集的名称,确定所述目标数据库集对应的主库并从所述主库中匹配对应的分库策略;查询模块,用于根据所述分库策略,确定所述数据库集对应的分库,根据所述查询命令从所述分库中到对应的查询数据;反馈模块,用于将所述查询数据反馈回页面前端。9.一种计算机终端,其特征在于,包括处理器和存储器,所述存储器存储有计算机程序,所述计算机程序在所述处理器上运行时执行权利要求1至7中任一项所述的集数据库分库管理方法。
10.一种可读存储介质,其特征在于,其存储有计算机程序,所述计算机程序在处理器上运行时执行权利要求1至7中任一项所述的集数据库分库管理方法。

技术总结


本发明涉及数据库领域,公开了集数据库分库管理方法、装置、计算机终端及存储介质,该方法包括:接收并解析来自用户的查询命令,获取所述查询命令中的目标数据库集;根据所述目标数据库集的名称,确定所述目标数据库集对应的主库并从所述主库中匹配对应的分库策略;根据所述分库策略,确定所述数据库集对应的分库,根据所述查询命令从所述分库中到对应的查询数据;将所述查询数据反馈回页面前端。使得对拆分数据库进行数据搜索时,可以灵活快速的查到对应分库。灵活快速的查到对应分库。灵活快速的查到对应分库。


技术研发人员:

吴淑正

受保护的技术使用者:

平安银行股份有限公司

技术研发日:

2022.10.12

技术公布日:

2022/12/30

本文发布于:2023-01-02 05:30:07,感谢您对本站的认可!

本文链接:https://patent.en369.cn/patent/3/50547.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:所述   集群   数据库   数据
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 369专利查询检索平台 豫ICP备2021025688号-20 网站地图