CN110457363B - 基于分布式数据库的查询方法、装置及存储介质 - Google Patents
基于分布式数据库的查询方法、装置及存储介质 Download PDFInfo
- Publication number
- CN110457363B CN110457363B CN201910608693.5A CN201910608693A CN110457363B CN 110457363 B CN110457363 B CN 110457363B CN 201910608693 A CN201910608693 A CN 201910608693A CN 110457363 B CN110457363 B CN 110457363B
- Authority
- CN
- China
- Prior art keywords
- node
- condition field
- current query
- query condition
- current
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 48
- 238000013507 mapping Methods 0.000 claims abstract description 47
- 239000012634 fragment Substances 0.000 claims abstract description 7
- 238000012544 monitoring process Methods 0.000 claims description 6
- 238000012545 processing Methods 0.000 abstract description 5
- YZMCKZRAOLZXAZ-UHFFFAOYSA-N sulfisomidine Chemical compound CC1=NC(C)=CC(NS(=O)(=O)C=2C=CC(N)=CC=2)=N1 YZMCKZRAOLZXAZ-UHFFFAOYSA-N 0.000 description 16
- 230000002265 prevention Effects 0.000 description 10
- 238000004891 communication Methods 0.000 description 4
- 150000001875 compounds Chemical class 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000004590 computer program Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2458—Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
- G06F16/2471—Distributed queries
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- General Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- Fuzzy Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及一种数据处理技术,揭露了一种基于分布式数据库的查询方法、装置及计算机可读存储介质,该方法包括:预设查询条件字段与分片键的映射关系;接收客户端发送的当前查询请求;解析所述当前查询请求得到第一当前查询条件字段;根据所述映射关系获取所述第一当前查询条件字段对应的第一分片键;根据所述第一分片键查找到对应的第一节点,并将所述第一当前查询条件字段发送给所述第一节点以查询所述第一当前查询条件字段所需的信息。所述方法根据查询请求确定查询条件字段,再根据确定好的查询条件字段来确定对应的分片键,从而可以确定对应的节点然后进查询所需的信息,这样能有效地提高了查询速率。
Description
技术领域
本发明涉及数据查询领域,尤其涉及一种基于分布式数据库的查询方法、装置及计算机可读存储介质。
背景技术
随着数据量越来越大,针对数据的存储要求也就越来越高,分布式数据库在这种情况下应运而生。分布式数据库在逻辑上是一个统一的整体,在物理上则是分别存储在不同的物理节点上。一个应用程序通过网络的连接可以访问分布在不同地理位置的数据库。其中,每一物理节点上的数据库通常被称为分片数据库,且不同的分片数据库存储有不同的数据内容;同时,分片数据库会包括至少两个所存储数据内容相同的子数据库,这样使得分片数据库所存储的内容存在副本,达到了提高数据安全性的目的。
现有技术根据查询条件去查询对应的数据,需要到所有节点上去寻找,如何进一步提高查询分布式数据库的速率是一个亟待解决的问题。
发明内容
本发明提供一种基于分布式数据库的查询方法、装置及计算机可读存储介质,其主要目的在于提高查询速率。
为实现上述目的,本发明提供一种基于分布式数据库的查询方法,应用于电子装置,所述方法包括:
预设查询条件字段与分片键的映射关系;
接收客户端发送的当前查询请求;
解析所述当前查询请求得到第一当前查询条件字段;
根据所述映射关系获取所述第一当前查询条件字段对应的第一分片键;
根据所述第一分片键查找到对应的第一节点,并将所述第一当前查询条件字段发送给所述第一节点以查询所述第一当前查询条件字段所需的信息。
可选地,所述方法还包括:
解析所述当前查询请求得到所述第一当前查询条件字段的同时还得到第二当前查询条件字段;
根据所述映射关系获取所述第二当前查询条件字段对应的第二分片键;
根据所述第二分片键查找到对应的第二节点;
判断所述第二节点与所述第一节点为同一节点后,将所述第二当前查询条件字段与所述第一当前查询条件字段一起发送给所述第一节点以查询所述第一当前查询条件字段及第二当前查询条件字段所需的信息。
可选地,所述方法还包括:
监测分布式数据库中每一节点的内存消耗率;
判断所述第一节点的内存消耗率是否超过第一预设阈值;
若所述第一节点的内存消耗率超过第一预设阈值,查询内存消耗率低于所述第二预设阈值的节点;
将发送给所述第一节点的所述第二当前查询条件字段与所述第一当前查询条件字段转发给所述内存消耗率低于所述第二预设阈值的节点。
可选地,所述方法还包括:如果查询到内存消耗率低于所述第二预设阈值的节点为多个,则将所述第二当前查询条件字段与所述第一当前查询条件字段转发给内存消耗率最低的节点。
可选地,所述方法还包括:
判断所述第一节点的内存消耗率高于所述第二阈值而低于所述第一阈值后查找内存消耗率低于所述第二预设阈值的节点;
将发送给所述第一节点的所述第二当前查询条件字段转发给所述内存消耗率低于所述第二预设阈值的节点。
本发明还提供一种电子装置,所述电子装置包括存储器和处理器,所述存储器上存储有可在所述处理器上运行的基于分布式数据库的查询程序,所述基于分布式数据库的查询程序被所述处理器执行时实现如下步骤:
预设查询条件字段与分片键的映射关系;
接收客户端发送的当前查询请求;
解析所述当前查询请求得到第一当前查询条件字段;
根据所述映射关系获取所述第一当前查询条件字段对应的第一分片键;
根据所述第一分片键查找到对应的第一节点,并将所述第一当前查询条件字段发送给所述第一节点以查询所述第一当前查询条件字段所需的信息。
可选地,所述基于分布式数据库的查询程序被所述处理器执行时还实现如下步骤:
解析所述当前查询请求得到所述第一当前查询条件字段的同时还得到第二当前查询条件字段;
根据所述映射关系获取所述第二当前查询条件字段对应的第二分片键;
根据所述第二分片键查找到对应的第二节点;
判断所述第二节点与所述第一节点为同一节点后,将所述第二当前查询条件字段与所述第一当前查询条件字段一起发送给所述第一节点以查询所述第一当前查询条件字段及第二当前查询条件字段所需的信息。
可选地,所述基于分布式数据库的查询程序被所述处理器执行时还实现如下步骤:
监测分布式数据库中每一节点的内存消耗率;
判断所述第一节点的内存消耗率是否超过第一预设阈值;
若所述第一节点的内存消耗率超过第一预设阈值,查询内存消耗率低于所述第二预设阈值的节点;
将发送给所述第一节点的所述第二当前查询条件字段与所述第一当前查询条件字段转发给所述内存消耗率低于所述第二预设阈值的节点。
可选地,所述基于分布式数据库的查询程序被所述处理器执行时还实现如下步骤:
若查询到内存消耗率低于所述第二预设阈值的节点为多个,则将所述第二当前查询条件字段与所述第一当前查询条件字段转发给内存消耗率最低的节点。
此外,为实现上述目的,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有基于分布式数据库的查询程序,所述基于分布式数据库的查询程序可被一个或者多个处理器执行,以实现上述的基于分布式数据库的查询方法的步骤。
本发明提供的基于分布式数据库的查询方法、装置及计算机可读存储介质先预设查询条件字段与分片键的映射关系,在接收到客户端的查询请求后根据所述查询请求确定查询条件字段,再根据确定好的查询条件字段来确定对应的分片键,从而可以确定对应的节点然后进查询所需的信息,这样能有效地提高了查询速率。
附图说明
图1为本发明一实施例提供的基于分布式数据库的查询方法的流程示意图;
图2为本发明一实施例提供的电子装置的内部结构示意图;
图3为本发明一实施例提供的电子装置中基于分布式数据库的查询程序的模块示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明提供一种基于分布式数据库的查询方法。参照图1所示,为本发明一实施例提供的基于分布式数据库的查询方法的流程示意图。该方法可以由一个装置执行,该装置可以由软件和/或硬件实现。
在本实施例中,基于分布式数据库的查询方法包括:
S101,预设查询条件字段与分片键的映射关系;例如建立一映射表,所述映射表中写入不同的的查询条件字段及对应的分片键,分片键为是文档的一个属性字段或者一个复合索引字段,一个分片节点一般包含多个分片键,例如根据映射关系获取“保险险种”的分片键为domian:1、url:1,根据映射关系获取“风险预防的收入比例”的分片键为domian:2、url:2;
S103,接收客户端发送的当前查询请求;
S105,解析所述当前查询请求得到第一当前查询条件字段;例如根据文字规则对所述当前查询请求进行拆分而得到所述当前查询条件字段;例如根据文字规则对所述当前查询请求进行拆分而得到所述当前查询条件字段;
S107,根据所述映射关系获取所述第一当前查询条件字段对应的第一分片键;
S109,根据所述第一分片键查找到对应的第一节点,并将所述第一当前查询条件字段发送给所述第一节点以查询所述第一当前查询条件字段所需的信息。
进一步地,所述方法还包括:
解析所述当前查询请求得到所述第一当前查询条件字段的同时还得到第二当前查询条件字段;
根据所述映射关系获取所述第二当前查询条件字段对应的第二分片键;
根据所述第二分片键查找到对应的第二节点;
判断所述第二节点与所述第一节点为同一节点后,将所述第二当前查询条件字段与所述第一当前查询条件字段一起发送给所述第一节点以查询所述第一当前查询条件字段及第二当前查询条件字段所需的信息。
例如输入的查询请求为:保险险种及风险预防的收入比例,先将所述查询请求解析而得到查询条件字段“保险险种”及“风险预防的收入比例”,根据映射关系获取“保险险种”的分片键为domian:1、url:1,根据映射关系获取“风险预防的收入比例”的分片键为domian:2、url:2,再根据分片键为domian:1、url:1查找到对应的节点,根据分片键为domian:2、url:2查找到对应的节点,如果他们对应的节点相同,即可将查询条件字段“保险险种”及“风险预防的收入比例”“保险险种”及“风险预防的收入比例”发送给同一节点。
进一步地,所述方法还包括:
监测分布式数据库中每一节点的内存消耗率;
判断所述第一节点的内存消耗率是否超过第一预设阈值;例如第一预设阈值为85%;
若所述第一节点的内存消耗率超过第一预设阈值,查询内存消耗率低于所述第二预设阈值的节点;例如第二预设阈值为50%;
将发送给所述第一节点的所述第二当前查询条件字段与所述第一当前查询条件字段转发给所述内存消耗率低于所述第二预设阈值的节点。
进一步地,所述方法还包括:如果查询到内存消耗率低于所述第二预设阈值的节点为多个,则将所述第二当前查询条件字段与所述第一当前查询条件字段转发给内存消耗率最低的节点。
进一步地,所述方法还包括:
判断所述第一节点的内存消耗率高于所述第二阈值而低于所述第一阈值后查找内存消耗率低于所述第二预设阈值的节点;
将发送给所述第一节点的所述第二当前查询条件字段转发给所述内存消耗率低于所述第二预设阈值的节点。
进一步地,所述方法还包括:
判断所述第二节点与所述第一节点为不同节点后,将所述第二当前查询条件字段发送给所述第二节点以查询所述第二当前查询条件字段所需的信息。
例如查询的条件拆分字段包含金融、保险,金融的信息在第一节点,保险的信息在第二节点,那查询结果金融在第一节点上查找数据,保险在第二节点上查找数据,查询结果一起显示。
进一步地,所述步骤S109包括:
根据所述第一分片键查找到对应的第一节点的名称;
根据所述第一节点的名称获取所述第一节点的位置信息;
根据所述第一节点的位置信息发送所述第一当前查询条件字段给所述第一节点。
本实施例提出的基于分布式数据库的查询方法先预设查询条件字段与分片键的映射关系,在接收到客户端的查询请求后根据所述查询请求确定查询条件字段,再根据确定好的查询条件字段来确定对应的分片键,从而可以确定对应的节点然后进查询所需的信息,这样能有效地提高了查询速率。
本发明还提供一种电子装置1。参照图2所示,为本发明一实施例提供的电子装置的内部结构示意图。
在本实施例中,电子装置1可以是电脑或服务器。所述电子装置1至少包括存储器11、处理器13,通信总线15,以及网络接口17。在本实施例中,所述电子装置1为服务端。
其中,存储器11至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、磁性存储器、磁盘、光盘等。存储器11在一些实施例中可以是电子装置的内部存储单元,例如所述电子装置的硬盘。存储器11在另一些实施例中也可以是电子装置的外部存储设备,例如电子装置上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(FlashCard)等。进一步地,存储器11还可以既包括电子装置的内部存储单元也包括外部存储设备。存储器11不仅可以用于存储安装于电子装置1的应用软件及各类数据,例如基于分布式数据库的查询程序111的代码等,还可以用于暂时地存储已经输出或者将要输出的数据。
处理器13在一些实施例中可以是一中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器或其他数据处理芯片,用于运行存储器11中存储的程序代码或处理数据。
通信总线15用于实现这些组件之间的连接通信。
网络接口17可选的可以包括标准的有线接口、无线接口(如WI-FI接口),通常用于在电子装置1与其他电子设备之间建立通信连接。
可选地,电子装置1还可以包括用户接口,用户接口可以包括显示器(Display)、输入单元比如键盘(Keyboard),可选的用户接口还可以包括标准的有线接口、无线接口。可选地,在一些实施例中,显示器可以是LED显示器、液晶显示器、触控式液晶显示器以及OLED(Organic Light-Emitting Diode,有机发光二极管)触摸器等。其中,显示器也可以适当的称为显示屏或显示单元,用于显示在电子装置中处理的信息以及用于显示可视化的用户界面。
图2仅示出了具有组件11~17的电子装置1,本领域技术人员可以理解的是,图2示出的结构并不构成对电子装置的限定,可以包括比图示更少或者更多的部件,或者组合某些部件,或者不同的部件布置。
在图2所示的电子装置1的实施例中,存储器11中存储有基于分布式数据库的查询程序111;处理器13执行存储器11中存储的基于分布式数据库的查询程序111时实现如下步骤:
预设查询条件字段与分片键的映射关系;例如建立一映射表,所述映射表中写入不同的的查询条件字段及对应的分片键,分片键为是文档的一个属性字段或者一个复合索引字段,一个分片节点一般包含多个分片键,例如根据映射关系获取“保险险种”的分片键为domian:1、url:1,根据映射关系获取“风险预防的收入比例”的分片键为domian:2、url:2;
接收客户端发送的当前查询请求;
解析所述当前查询请求得到第一当前查询条件字段;例如根据文字规则对所述当前查询请求进行拆分而得到所述当前查询条件字段;例如根据文字规则对所述当前查询请求进行拆分而得到所述当前查询条件字段;
根据所述映射关系获取所述第一当前查询条件字段对应的第一分片键;
根据所述第一分片键查找到对应的第一节点,并将所述第一当前查询条件字段发送给所述第一节点以查询所述第一当前查询条件字段所需的信息。
进一步地,所述基于分布式数据库的查询程序被所述处理器执行时还实现如下步骤:
解析所述当前查询请求得到所述第一当前查询条件字段的同时还得到第二当前查询条件字段;
根据所述映射关系获取所述第二当前查询条件字段对应的第二分片键;
根据所述第二分片键查找到对应的第二节点;
判断所述第二节点与所述第一节点为同一节点后,将所述第二当前查询条件字段与所述第一当前查询条件字段一起发送给所述第一节点以查询所述第一当前查询条件字段及第二当前查询条件字段所需的信息。
例如输入的查询请求为:保险险种及风险预防的收入比例,先将所述查询请求解析而得到查询条件字段“保险险种”及“风险预防的收入比例”,根据映射关系获取“保险险种”的分片键为domian:1、url:1,根据映射关系获取“风险预防的收入比例”的分片键为domian:2、url:2,再根据分片键为domian:1、url:1查找到对应的节点,根据分片键为domian:2、url:2查找到对应的节点,如果他们对应的节点相同,即可将查询条件字段“保险险种”及“风险预防的收入比例”“保险险种”及“风险预防的收入比例”发送给同一节点。
进一步地,所述基于分布式数据库的查询程序被所述处理器执行时还实现如下步骤:
监测分布式数据库中每一节点的内存消耗率;
判断所述第一节点的内存消耗率是否超过第一预设阈值;例如第一预设阈值为85%;
若所述第一节点的内存消耗率超过第一预设阈值,查询内存消耗率低于所述第二预设阈值的节点;例如第二预设阈值为50%;
将发送给所述第一节点的所述第二当前查询条件字段与所述第一当前查询条件字段转发给所述内存消耗率低于所述第二预设阈值的节点。
进一步地,所述基于分布式数据库的查询程序被所述处理器执行时还实现如下步骤:
如果查询到内存消耗率低于所述第二预设阈值的节点为多个,则将所述第二当前查询条件字段与所述第一当前查询条件字段转发给内存消耗率最低的节点。
进一步地,所述基于分布式数据库的查询程序被所述处理器执行时还实现如下步骤:
判断所述第一节点的内存消耗率高于所述第二阈值而低于所述第一阈值后查找内存消耗率低于所述第二预设阈值的节点;
将发送给所述第一节点的所述第二当前查询条件字段转发给所述内存消耗率低于所述第二预设阈值的节点。
进一步地,所述基于分布式数据库的查询程序被所述处理器执行时还实现如下步骤:
判断所述第二节点与所述第一节点为不同节点后,将所述第二当前查询条件字段发送给所述第二节点以查询所述第二当前查询条件字段所需的信息。
例如查询的条件拆分字段包含金融、保险,金融的信息在第一节点,保险的信息在第二节点,那查询结果金融在第一节点上查找数据,保险在第二节点上查找数据,查询结果一起显示。
进一步地,所述根据所述第一分片键查找到对应的第一节点,并将所述第一当前查询条件字段发送给所述第一节点以查询所述第一当前查询条件字段所需的信息的步骤包括:
根据所述第一分片键查找到对应的第一节点的名称;
根据所述第一节点的名称获取所述第一节点的位置信息;
根据所述第一节点的位置信息发送所述第一当前查询条件字段给所述第一节点。
本实施例提出的电子装置先预设查询条件字段与分片键的映射关系,在接收到客户端的查询请求后根据所述查询请求确定查询条件字段,再根据确定好的查询条件字段来确定对应的分片键,从而可以确定对应的节点然后进查询所需的信息,这样能有效地提高了查询速率。
此外,本发明实施例还提出一种计算机可读存储介质,所述计算机可读存储介质上存储有的基于分布式数据库的查询程序111,所述基于分布式数据库的查询程序111可被一个或多个处理器执行,以实现如下操作:
预设查询条件字段与分片键的映射关系;例如建立一映射表,所述映射表中写入不同的的查询条件字段及对应的分片键,分片键为是文档的一个属性字段或者一个复合索引字段,一个分片节点一般包含多个分片键,例如根据映射关系获取“保险险种”的分片键为domian:1、url:1,根据映射关系获取“风险预防的收入比例”的分片键为domian:2、url:2;
接收客户端发送的当前查询请求;
解析所述当前查询请求得到第一当前查询条件字段;例如根据文字规则对所述当前查询请求进行拆分而得到所述当前查询条件字段;例如根据文字规则对所述当前查询请求进行拆分而得到所述当前查询条件字段;
根据所述映射关系获取所述第一当前查询条件字段对应的第一分片键;
根据所述第一分片键查找到对应的第一节点,并将所述第一当前查询条件字段发送给所述第一节点以查询所述第一当前查询条件字段所需的信息。
本发明计算机可读存储介质具体实施方式与上述电子装置和方法各实施例基本相同,在此不作累述。
可选地,在其他实施例中,所述基于分布式数据库的查询程序111还可以被分割为一个或者多个模块,一个或者多个模块被存储于存储器11中,并由一个或多个处理器(本实施例为处理器13)所执行以完成本发明,本发明所称的模块是指能够完成特定功能的一系列计算机程序指令段,用于描述基于分布式数据库的查询程序111在电子装置中的执行过程。
例如,参照图3所示,为本发明电子装置一实施例中的基于分布式数据库的查询程序111的程序模块示意图,该实施例中,基于分布式数据库的查询程序111可以被分割为查询模块10、接收模块20、解析模块30、获取模块40及查找模块50,示例性地:
查询模块10,用于预设查询条件字段与分片键的映射关系;例如建立一映射表,所述映射表中写入不同的的查询条件字段及对应的分片键,分片键为是文档的一个属性字段或者一个复合索引字段,一个分片节点一般包含多个分片键,例如根据映射关系获取“保险险种”的分片键为domian:1、url:1,根据映射关系获取“风险预防的收入比例”的分片键为domian:2、url:2;
接收模块20,用于接收客户端发送的当前查询请求;
解析模块30,用于解析所述当前查询请求得到第一当前查询条件字段;例如根据文字规则对所述当前查询请求进行拆分而得到所述当前查询条件字段;例如根据文字规则对所述当前查询请求进行拆分而得到所述当前查询条件字段;
获取模块40,用于根据所述映射关系获取所述第一当前查询条件字段对应的第一分片键;
查找模块50,用于根据所述第一分片键查找到对应的第一节点,并将所述第一当前查询条件字段发送给所述第一节点以查询所述第一当前查询条件字段所需的信息。
所述查询模块10、接收模块20、解析模块30、获取模块40及查找模块50等程序模块被执行时所实现的功能或操作步骤与上述实施例大体相同,在此不再赘述。
需要说明的是,上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。并且本文中的术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、装置、物品或者方法不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、装置、物品或者方法所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、装置、物品或者方法中还存在另外的相同要素。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (6)
1.一种基于分布式数据库的查询方法,应用于电子装置,其特征在于,所述方法包括:
预设查询条件字段与分片键的映射关系;
接收客户端发送的当前查询请求;
解析所述当前查询请求得到第一当前查询条件字段,根据所述映射关系获取所述第一当前查询条件字段对应的第一分片键;
根据所述第一分片键查找到对应的第一节点,并将所述第一当前查询条件字段发送给所述第一节点以查询所述第一当前查询条件字段所需的信息;
其中,所述方法还包括:解析所述当前查询请求得到所述第一当前查询条件字段的同时还得到第二当前查询条件字段;根据所述映射关系获取所述第二当前查询条件字段对应的第二分片键;根据所述第二分片键查找到对应的第二节点;判断所述第二节点与所述第一节点为同一节点后,将所述第二当前查询条件字段与所述第一当前查询条件字段一起发送给所述第一节点以查询所述第一当前查询条件字段及第二当前查询条件字段所需的信息;
所述方法还包括:监测分布式数据库中每一节点的内存消耗率;判断所述第一节点的内存消耗率是否超过第一预设阈值;若所述第一节点的内存消耗率超过第一预设阈值,查询内存消耗率低于第二预设阈值的节点;将发送给所述第一节点的所述第二当前查询条件字段与所述第一当前查询条件字段转发给所述内存消耗率低于所述第二预设阈值的节点。
2.如权利要求1所述的基于分布式数据库的查询方法,其特征在于,所述方法还包括:如果查询到内存消耗率低于所述第二预设阈值的节点为多个,则将所述第二当前查询条件字段与所述第一当前查询条件字段转发给内存消耗率最低的节点。
3.如权利要求1所述的基于分布式数据库的查询方法,其特征在于,所述方法还包括:
判断所述第一节点的内存消耗率高于所述第二预设阈值而低于所述第一预设阈值后,查找内存消耗率低于所述第二预设阈值的节点;
将发送给所述第一节点的所述第二当前查询条件字段转发给所述内存消耗率低于所述第二预设阈值的节点。
4.一种电子装置,其特征在于,所述电子装置包括存储器和处理器,所述存储器上存储有可在所述处理器上运行的基于分布式数据库的查询程序,所述基于分布式数据库的查询程序被所述处理器执行时实现如下步骤:
预设查询条件字段与分片键的映射关系;
接收客户端发送的当前查询请求;
解析所述当前查询请求得到第一当前查询条件字段;
根据所述映射关系获取所述第一当前查询条件字段对应的第一分片键;
根据所述第一分片键查找到对应的第一节点,并将所述第一当前查询条件字段发送给所述第一节点以查询所述第一当前查询条件字段所需的信息;
其中,所述基于分布式数据库的查询程序被所述处理器执行时还实现如下步骤:解析所述当前查询请求得到所述第一当前查询条件字段的同时还得到第二当前查询条件字段;根据所述映射关系获取所述第二当前查询条件字段对应的第二分片键;根据所述第二分片键查找到对应的第二节点;判断所述第二节点与所述第一节点为同一节点后,将所述第二当前查询条件字段与所述第一当前查询条件字段一起发送给所述第一节点以查询所述第一当前查询条件字段及第二当前查询条件字段所需的信息;
所述基于分布式数据库的查询程序被所述处理器执行时还实现如下步骤:监测分布式数据库中每一节点的内存消耗率;判断所述第一节点的内存消耗率是否超过第一预设阈值;
若所述第一节点的内存消耗率超过第一预设阈值,查询内存消耗率低于第二预设阈值的节点;
将发送给所述第一节点的所述第二当前查询条件字段与所述第一当前查询条件字段转发给所述内存消耗率低于所述第二预设阈值的节点。
5.如权利要求4所述的电子装置,其特征在于,所述基于分布式数据库的查询程序被所述处理器执行时还实现如下步骤:
若查询到内存消耗率低于所述第二预设阈值的节点为多个,则将所述第二当前查询条件字段与所述第一当前查询条件字段转发给内存消耗率最低的节点。
6.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有基于分布式数据库的查询程序,所述基于分布式数据库的查询程序可被一个或者多个处理器执行,以实现如权利要求1至3中任一项所述的基于分布式数据库的查询方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910608693.5A CN110457363B (zh) | 2019-07-05 | 2019-07-05 | 基于分布式数据库的查询方法、装置及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910608693.5A CN110457363B (zh) | 2019-07-05 | 2019-07-05 | 基于分布式数据库的查询方法、装置及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110457363A CN110457363A (zh) | 2019-11-15 |
CN110457363B true CN110457363B (zh) | 2023-11-21 |
Family
ID=68482439
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910608693.5A Active CN110457363B (zh) | 2019-07-05 | 2019-07-05 | 基于分布式数据库的查询方法、装置及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110457363B (zh) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111177124A (zh) * | 2019-12-31 | 2020-05-19 | 江苏苏宁物流有限公司 | 基于pg数据库与citus组件的数据处理方法及*** |
CN111259060B (zh) * | 2020-02-18 | 2023-08-15 | 北京百度网讯科技有限公司 | 数据查询的方法及装置 |
CN113297198B (zh) * | 2020-06-10 | 2022-04-29 | 阿里巴巴集团控股有限公司 | 数据库索引优化方法、分布式数据库查询方法及装置 |
CN111831663A (zh) * | 2020-07-28 | 2020-10-27 | 北京首汽智行科技有限公司 | 一种基于Mongodb数据库分片技术的数据查询方法 |
CN112364059B (zh) * | 2020-11-10 | 2023-12-22 | 国网甘肃省电力公司白银供电公司 | 多规则场景下关联匹配方法、装置、设备和存储介质 |
CN112925841B (zh) * | 2021-03-26 | 2022-11-08 | 瀚高基础软件股份有限公司 | 分布式jdbc实现方法、设备及计算机可读存储介质 |
CN112860802B (zh) * | 2021-03-29 | 2024-06-11 | 中信银行股份有限公司 | 数据库操作语句的处理方法、装置及电子设备 |
CN113568924B (zh) * | 2021-07-23 | 2024-05-14 | 北京达佳互联信息技术有限公司 | 一种数据处理方法、装置、电子设备及存储介质 |
CN116821138B (zh) * | 2023-08-24 | 2023-12-15 | 腾讯科技(深圳)有限公司 | 一种数据处理方法及相关设备 |
CN118132591B (zh) * | 2024-05-07 | 2024-07-02 | 深圳九有数据库有限公司 | 数据库分片键自动识别方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101727465A (zh) * | 2008-11-03 | 2010-06-09 | ***通信集团公司 | 分布式列存储数据库索引建立、查询方法及装置与*** |
CN106802891A (zh) * | 2015-11-26 | 2017-06-06 | 中国电信股份有限公司 | 分布式数据库非分片字段的查询方法、***和设备 |
CN107451214A (zh) * | 2016-09-21 | 2017-12-08 | 广州特道信息科技有限公司 | 一种非主键查询方法和分布式NewSQL数据库*** |
CN108427705A (zh) * | 2018-01-17 | 2018-08-21 | 平安科技(深圳)有限公司 | 电子装置、分布式***日志查询方法及存储介质 |
CN108427748A (zh) * | 2018-03-12 | 2018-08-21 | 北京奇艺世纪科技有限公司 | 分布式数据库二级索引查询方法、装置以及服务器 |
-
2019
- 2019-07-05 CN CN201910608693.5A patent/CN110457363B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101727465A (zh) * | 2008-11-03 | 2010-06-09 | ***通信集团公司 | 分布式列存储数据库索引建立、查询方法及装置与*** |
CN106802891A (zh) * | 2015-11-26 | 2017-06-06 | 中国电信股份有限公司 | 分布式数据库非分片字段的查询方法、***和设备 |
CN107451214A (zh) * | 2016-09-21 | 2017-12-08 | 广州特道信息科技有限公司 | 一种非主键查询方法和分布式NewSQL数据库*** |
CN108427705A (zh) * | 2018-01-17 | 2018-08-21 | 平安科技(深圳)有限公司 | 电子装置、分布式***日志查询方法及存储介质 |
CN108427748A (zh) * | 2018-03-12 | 2018-08-21 | 北京奇艺世纪科技有限公司 | 分布式数据库二级索引查询方法、装置以及服务器 |
Also Published As
Publication number | Publication date |
---|---|
CN110457363A (zh) | 2019-11-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110457363B (zh) | 基于分布式数据库的查询方法、装置及存储介质 | |
CN108388604B (zh) | 用户权限数据管理装置、方法及计算机可读存储介质 | |
CN110457346B (zh) | 数据查询方法、装置及计算机可读存储介质 | |
WO2019148720A1 (zh) | 电子装置、数据存储方法及存储介质 | |
US20150052223A1 (en) | System and method for determining effective policy profiles in a client-server architecture | |
CN109299235B (zh) | 知识库搜索方法、装置及计算机可读存储介质 | |
CN106156088B (zh) | 一种索引数据处理方法、数据查询方法及装置 | |
CN108415925B (zh) | 电子装置、数据调用日志生成及查询方法及存储介质 | |
WO2020015170A1 (zh) | 接口调用方法、装置及计算机可读存储介质 | |
CN108769211B (zh) | 客户端设备、网页的路由方法和计算机可读存储介质 | |
CN109871251B (zh) | 一种响应数据的处理方法、装置、存储介质及终端设备 | |
CN112000692B (zh) | 页面查询反馈方法、装置、计算机设备及可读存储介质 | |
CN112579898A (zh) | 企业信息的管理方法、装置及服务器 | |
CN113132267B (zh) | 一种分布式***、数据聚合方法和计算机可读存储介质 | |
CN113656098B (zh) | 配置获取方法及*** | |
CN108763524B (zh) | 电子装置、聊天数据处理方法和计算机可读存储介质 | |
CN111259056A (zh) | 一种区块链数据查询方法、***及相关设备 | |
CN111159729A (zh) | 权限控制方法、装置及存储介质 | |
CN112130936B (zh) | 基于轮询的数据调用方法、装置、设备及存储介质 | |
CN112000690B (zh) | 解析结构化操作语句的方法和装置 | |
CN111291137B (zh) | 基于实体关系的搜索方法和*** | |
CN110866007B (zh) | 大数据应用和表的信息管理方法、***和计算机设备 | |
WO2019071899A1 (zh) | 电子装置、车辆数据导入方法及存储介质 | |
CN113163027B (zh) | 数据标识的生成方法、装置、设备及存储介质 | |
CN111221917B (zh) | 智能分区存储方法、装置及计算机可读存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |