CN111581237B - 数据查询方法、装置、系统及电子设备 - Google Patents
数据查询方法、装置、系统及电子设备 Download PDFInfo
- Publication number
- CN111581237B CN111581237B CN201910116741.9A CN201910116741A CN111581237B CN 111581237 B CN111581237 B CN 111581237B CN 201910116741 A CN201910116741 A CN 201910116741A CN 111581237 B CN111581237 B CN 111581237B
- Authority
- CN
- China
- Prior art keywords
- sub
- query
- data query
- data
- requests
- 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
Images
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/2455—Query execution
- G06F16/24564—Applying rules; Deductive queries
- G06F16/24566—Recursive queries
-
- 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/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Computing Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种数据查询方法、装置、系统、及电子设备,该数据查询方法包括:获取外部输入的数据查询请求;获取与该数据查询请求对应的第一索引表;根据第一索引表拆分该数据查询请求,得到多个子查询请求;将多个子查询请求中的至少部分子查询请求分发至其他电子设备进行查询;获取其他电子设备根据至少部分子查询请求返回的数据查询结果进行整合,并输出整合后的数据查询结果。
Description
技术领域
本发明涉及数据查询技术领域,更具体地,涉及一种数据查询方法、一种数据查询装置、一种电子设备、一种数据查询系统、及一种计算机可读介质。
背景技术
物联网(Internet of things,IoT)是新一代信息技术的重要组成部分,也是“信息化”时代的重要发展阶段。物联网通过智能感知、识别技术与普适计算等通信感知技术,广泛应用于网络的融合中,也因此被称为继计算机、互联网之后世界信息产业发展的第三次浪潮。物联网是互联网的应用拓展,与其说物联网是网络,不如说物联网是业务和应用。因此,应用创新是物联网发展的核心,以用户体验为核心的创新2.0是物联网发展的灵魂。
在现有的物联网的关系网络中,不同的索引表可能会存储在不同的数据库中。那么,复杂的关系网络导致会有多表联合查询,甚至递归一个表结构查询,这就需要写扩散的方式(例如是建立倒排索引)在数据库之间进行数据读取。这就导致了浪费资源,而且延时较高。
发明内容
本发明的一个目的是提供一种对通过跨表或者递归的方式查询数据的新技术方案。
根据本发明的第一方面,提供了一种数据查询方法,包括:
根据数据查询请求获取与所述数据查询请求对应的第一索引表;
根据所述第一索引表拆分所述数据查询请求,得到多个子查询请求;
将所述多个子查询请求中的至少部分子查询请求分发至其他电子设备进行查询;
获取其他电子设备根据所述至少部分子查询请求返回的数据查询结果进行整合,并输出整合后的数据查询结果。
可选的,将所述多个子查询请求中除所述至少部分子查询请求以外的子查询请求作为其他子查询请求;
所述数据查询方法还包括:
获取与所述其他子查询请求对应的第二索引表;
根据所述其他子查询请求查询所述第二索引表,得到所述其他子查询请求的数据查询结果,作为第一数据查询结果,以还将所述第一数据查询结果进行整合。
可选的,所述根据所述其他子查询请求查询所述第二索引表,得到所述其他子查询请求的数据查询结果,作为第一数据查询结果的步骤包括:
获取所述其他子查询请求中包含的子索引;
查询所述第二索引表中与所述子索引对应数据,作为所述第一数据查询结果。
可选的,所述获取其他电子设备返回的数据查询结果进行整合,并输出整合后的数据查询结果的步骤包括:
获取其他电子设备根据所述至少部分子查询请求返回的数据查询结果,作为第二数据查询结果;
将所述第一数据查询结果和所述第二数据查询结果进行整合,得到所述整合后的数据查询结果;
输出所述整合后的数据查询结果。
可选的,所述获取与所述数据查询请求对应的第一索引表的步骤包括:
确定所述数据查询请求中包含的主索引;
获取包含所述主索引的所述第一索引表。
可选的,所述根据所述第一索引表拆分所述数据查询请求,得到多个子查询请求的步骤包括:
查询所述第一索引表中与所述主索引对应的数据,作为子索引;
根据所述子索引生成所述多个子查询请求。
可选的,所述将所述多个子查询请求中的至少部分子查询请求分发至其他电子设备进行查询的步骤包括:
获取其他电子设备的数量;
根据所述其他电子设备的数量和预设的分发规则,将所述多个子查询请求中的至少部分子查询请求分发至其他电子设备进行查询。
可选的,所述根据所述其他电子设备的数量和预设的分发规则,将所述多个子查询请求中的至少部分子查询请求分发至其他电子设备进行查询的步骤包括:
根据所述多个子查询请求的数量、所述其他电子设备的数量,确定所述至少部分子查询请求的数量;
根据所述分发规则,确定所述至少部分子查询请求中对应每一其他电子设备的子查询请求;
将所述至少部分子查询请求中的每一子查询请求分发至对应的其他电子设备进行查询。
可选的,所述分发规则至少包括平均分发、或随机分发。
根据本发明的第二方面,提供了一种数据查询方法,包括:
根据关于物联网的数据查询请求,获取与数据查询请求对应的第一索引表;
根据所述第一索引表拆分所述数据查询请求,得到多个子查询请求;
将所述多个子查询请求中的至少部分子查询请求分发至其他电子设备进行查询;
获取其他电子设备根据所述至少部分子查询请求返回的数据查询结果进行整合,并输出整合后的数据查询结果,供物联网设备进行处理。
根据本发明的第三方面,提供了一种数据查询装置,包括:
第一表获取模块,用于根据数据查询请求获取与所述数据查询请求对应的第一索引表;
请求拆分模块,用于根据所述第一索引表拆分所述数据查询请求,得到多个子查询请求;
请求分发模块,用于将所述多个子查询请求中的至少部分子查询请求分发至其他电子设备进行查询;
整合输出模块,用于获取其他电子设备根据所述至少部分子查询请求返回的数据查询结果进行整合,并输出整合后的数据查询结果。
可选的,将所述多个子查询请求中除所述至少部分子查询请求以外的子查询请求作为其他子查询请求;
所述数据查询装置还包括:
第二表获取模块,用于获取与所述其他子查询请求对应的第二索引表;
查询模块,用于根据所述其他子查询请求查询所述第二索引表,得到所述其他子查询请求的数据查询结果,作为第一数据查询结果,以供所述整合输出模块还将所述第一数据查询结果进行整合。
可选的,所述查询模块还用于:
获取所述其他子查询请求中包含的子索引;
查询所述第二索引表中与所述子索引对应数据,作为所述第一数据查询结果。
可选的,所述整合输出模块还用于:
获取其他电子设备根据所述至少部分子查询请求返回的数据查询结果,作为第二数据查询结果;
将所述第一数据查询结果和所述第二数据查询结果进行整合,得到所述整合后的数据查询结果;
输出所述整合后的数据查询结果。
可选的,所述第一表获取模块用于:
确定所述数据查询请求中包含的主索引;
获取包含所述主索引的所述第一索引表。
可选的,所述请求拆分模块还用于:
查询所述第一索引表中与所述主索引对应的数据,作为子索引;
根据所述子索引生成所述多个子查询请求。
可选的,所述请求分发模块还用于:
获取其他电子设备的数量;
根据所述其他电子设备的数量和预设的分发规则,将所述多个子查询请求中的至少部分子查询请求分发至其他电子设备进行查询。
可选的,所述根据所述其他电子设备的数量和预设的分发规则,将所述多个子查询请求中的至少部分子查询请求分发至其他电子设备进行查询的步骤包括:
根据所述多个子查询请求的数量、所述其他电子设备的数量,确定所述至少部分子查询请求的数量;
根据所述分发规则,确定所述至少部分子查询请求中对应每一其他电子设备的子查询请求;
将所述至少部分子查询请求中的每一子查询请求分发至对应的其他电子设备进行查询。
可选的,所述分发规则至少包括平均分发、或随机分发。
根据本发明的第四方面,提供了一种电子设备,包括根据本发明第三方面所述的数据查询装置;或者,包括处理器和存储器,所述存储器用于存储可执行的指令,所述指令用于控制所述处理器执行根据本发明第一方面或第二方面所述的数据查询方法。
根据本发明的第五方面,提供了一种数据查询系统,包括至少一个其他电子设备、及根据本发明第四方面所述的电子设备,所述其他电子设备用于:
接收所述电子设备分发的子查询请求;
获取与所述子查询请求对应的第三索引表;
根据所述子查询请求查询所述第三索引表,得到所述子查询请求的数据查询结果,并返回至所述电子设备。
根据本发明的第六方面,提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序在被处理器执行时实现根据本发明第一方面或第二方面所述的数据查询方法。
在本发明的实施例中,通过将数据查询请求拆分为多个子查询请求,并将至少部分子查询请求分发至其他电子设备进行查询,再接收其他电子设备根据至少部分子查询请求返回的数据查询结果,进行整合后输出。这样,通过分布式查询的方式,得到数据查询结果进行整合后输出,可以提高数据查询效率,对应用的水平拆分扩容也更加方便。而且,不需要写扩散,也不需要建立额外的索引表结构,使得数据查询更加便捷,还可以减少在对跨数据库的数据进行查询时所占用的资源。
通过以下参照附图对本发明的示例性实施例的详细描述,本发明的其它特征及其优点将会变得清楚。
附图说明
被结合在说明书中并构成说明书的一部分的附图示出了本发明的实施例,并且连同其说明一起用于解释本发明的原理。
图1是可用于实现本发明的实施例的电子设备的硬件配置的一个例子的框图。
图2是可用于实现本发明的实施例的电子设备的硬件配置的另一个例子的框图;
图3是根据本发明第一个实施例的数据查询方法的流程示意图;
图4是根据本发明第二个实施例的数据查询方法的流程示意图;
图5是根据本发明第三个实施例的数据查询方法的流程示意图;
图6是根据本发明第四个实施例的数据查询方法的流程示意图;
图7是根据本发明第五个实施例的数据查询方法的流程示意图;
图8是根据本发明第六个实施例的数据查询方法的流程示意图;
图9是根据本发明实施例的数据查询方法的一个例子的系统示意图;
图10是根据本发明实施例的数据查询方法的一个例子的流程示意图;
图11是根据本发明第一个实施例的数据查询装置的原理框图;
图12是根据本发明第二个实施例的数据查询装置的原理框图;
图13是根据本发明第一个实施例的电子设备的原理框图;
图14是根据本发明第二个实施例的电子设备的硬件结构示意图;
图15是根据本发明的实施例的数据查询系统的原理框图;
图16是根据本发明的实施例的其他电子设备执行的数据查询方法的流程示意图。
具体实施方式
现在将参照附图来详细描述本发明的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本发明的范围。
以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本发明及其应用或使用的任何限制。
对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。
在这里示出和讨论的所有例子中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它例子可以具有不同的值。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
<硬件配置>
图1和图2是可用于实现本发明任意实施例的数据查询方法的电子设备1000的硬件配置的框图。
在一个实施例中,如图1所示,电子设备1000可以是服务器1100。
服务器1100提供处理、数据库、通讯设施的业务点。服务器1100可以是整体式服务器或是跨多计算机或计算机数据中心的分散式服务器。服务器可以是各种类型的,例如但不限于,网络服务器,新闻服务器,邮件服务器,消息服务器,广告服务器,文件服务器,应用服务器,交互服务器,数据库服务器,或代理服务器。在一些实施例中,每个服务器可以包括硬件,软件,或用于执行服务器所支持或实现的合适功能的内嵌逻辑组件或两个或多个此类组件的组合。例如,服务器例如刀片服务器、云端服务器等,或者可以是由多台服务器组成的服务器群组,可以包括上述类型的服务器中的一种或多种等等。
本实施例中,服务器1100可以如图1所示,包括处理器1110、存储器1120、接口装置1130、通信装置1140、显示装置1150、输入装置1160。
在该实施例中,服务器1100还可以包括扬声器、麦克风等等,在此不做限定。
处理器1110可以是专用的服务器处理器,也可以是满足性能要求的台式机处理器、移动版处理器等,在此不做限定。存储器1120例如包括ROM(只读存储器)、RAM(随机存取存储器)、诸如硬盘的非易失性存储器等。接口装置1130例如包括各种总线接口,例如串行总线接口(包括USB接口)、并行总线接口等。通信装置1140例如能够进行有线或无线通信。显示装置1150例如是液晶显示屏、LED显示屏触摸显示屏等。输入装置1160例如可以包括触摸屏、键盘等。
在该实施例中,服务器1100的存储器1120用于存储指令,该指令用于控制处理器1110进行操作以至少执行根据本发明任意实施例的数据查询方法。技术人员可以根据本发明所公开方案设计指令。指令如何控制处理器进行操作,这是本领域公知,故在此不再详细描述。
尽管在图1中示出了服务器1100的多个装置,但是,本发明可以仅涉及其中的部分装置,例如,服务器1100只涉及存储器1120和处理器1110。
在一个实施例中,电子设备1000可以是操作人员使用的PC机、笔记本电脑等终端设备1200,在此不做限定。
本实施例中,参照图2所示,终端设备1200可以包括处理器1210、存储器1220、接口装置1230、通信装置1240、显示装置1250、输入装置1260、扬声器1270、麦克风1280等等。
处理器1210可以是移动版处理器。存储器1220例如包括ROM(只读存储器)、RAM(随机存取存储器)、诸如硬盘的非易失性存储器等。接口装置1230例如包括USB接口、耳机接口等。通信装置1240例如能够进行有线或无线通信,通信装置1240可以包括短距离通信装置,例如是基于Hilink协议、WiFi(IEEE 802.11协议)、Mesh、蓝牙、ZigBee、Thread、Z-Wave、NFC、UWB、LiFi等短距离无线通信协议进行短距离无线通信的任意装置,通信装置1240也可以包括远程通信装置,例如是进行WLAN、GPRS、2G/3G/4G/5G远程通信的任意装置。显示装置1250例如是液晶显示屏、触摸显示屏等。输入装置1260例如可以包括触摸屏、键盘等。用户可以通过扬声器1270和麦克风1280输入/输出语音信息。
在该实施例中,终端设备1200的存储器1220用于存储指令,该指令用于控制处理器1210进行操作以至少执行根据本发明任意实施例的数据查询方法。技术人员可以根据本发明所公开方案设计指令。指令如何控制处理器进行操作,这是本领域公知,故在此不再详细描述。
尽管在图2中示出了终端设备1200的多个装置,但是,本发明可以仅涉及其中的部分装置,例如,终端设备1200只涉及存储器1220和处理器1210和显示装置1250。
<方法实施例>
在本实施例中,提供一种数据查询方法。该数据查询方法可以是由电子设备实施。该电子设备可以是如图1所示的服务器1100或图2所示终端设备1200。
根据图3所示,本实施例的数据查询方法可以包括如下步骤S3100~S3400:
步骤S3100,根据数据查询请求获取与该数据查询请求对应的第一索引表。
具体的,可以是用户通过执行本发明的实施例的电子设备主动输入的该数据查询请求;也可以是用户在使用终端设备的过程中,通过终端设备将数据查询请求输入至电子设备中的。
在一个实施例中,该数据查询请求可以是结构化查询语言(Structured QueryLanguage,SQL),是一种特殊目的的编程语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统;同时也是数据库脚本文件的扩展名。
本实施例中的数据查询请求可以是需要跨索引表查询的语句,也可以是递归查询的语句。
例如,该数据查询请求可以是请求查询房屋ID为1的房屋内所有的设备。服务器中可以存储有表征房屋和房间之间对应关系的索引表、及表征房间和设备之间对应关系的索引表。那么,该数据查询请求就是需要跨索引表查询的语句。表征房屋和房间之间对应关系的索引表、及表征房间和设备之间对应关系的索引表可以是存储在服务器内不同的数据库中。
具体的,第一索引表可以是存储在第一数据库中,第一数据库可以是设置在服务器中,因此,与该数据查询请求对应的第一索引表可以是从服务器中获取的。
在一个实施例中,获取与该数据查询请求对应的第一索引表的步骤可以包括如图4所示的步骤S3110~S3120:
步骤S3110,确定该数据查询请求中包含的主索引。
该主索引可以是该数据查询请求中所查询内容的关键词。具体的,可以是预先建立关键词提取模型,预先以多个数据查询请求作为训练样本,对该关键词提取模型进行训练。
那么,在执行该步骤S3110时,可以是直接将数据查询请求输入至训练好的关键词提取模型中,由该关键词提取模型输出该数据查询请求的关键词,作为该数据查询请求中包含的主索引。
例如,在该数据查询请求是请求查询“房屋ID=1”的房屋内所有的设备的情况下,对应的该数据查询请求中包含的主索引可以是“房屋ID=1”。
步骤S3120,获取包含该主索引的第一索引表。
在服务器中可以是设置有多个数据库,每个数据库中可以存储有一个或多个索引表。
在一个例子中,可以通过遍历所有数据库来获取包含该主索引的所有索引表,作为第一索引表。
在另一个例子中,可以是预先建立主索引与数据库相关联的数据库路由规则;根据数据库路由规则找到与该主索引匹配的数据库;在匹配得到的数据库中获取包含该主索引的第一索引表。
例如,该第一索引表中可以是表征房屋和房间之间的对应关系。具体的,该第一索引表可以包括第一数据列和第二数据列。第一索引表的第一数据列可以为每个房屋的ID。房屋ID可以包括但不限于由数字构成的字符串、由字母构成的字符串、或者由数字和字母共同构成的字符串。第一索引表的第二数据列可以为每个房屋对应的每个房间的ID。房间ID可以包括但不限于由数字构成的字符串、由字母构成的字符串、或者由数字和字母共同构成的字符串。
步骤S3200,根据第一索引表拆分该数据查询请求,得到多个子查询请求。
具体的,可以是根据第一索引表中与该数据查询请求对应的数据得到多个子查询请求。
在一个实施例中,根据第一索引表拆分该数据查询请求,得到多个子查询请求可以进一步包括如图5所示的步骤S3210~S3220:
步骤S3210,查询第一索引表中与主索引对应的数据,作为子索引。
具体的,第一索引表中可以是存储有主索引与多个数据之间的对应关系,即主索引对应有多个子索引。
例如,在该数据查询请求是请求查询“房屋ID=1”的房屋内所有的设备,主索引是“房屋ID=1”,该第一索引表中可以是存储有房屋和房间之间的对应关系的情况下,查询到的与主索引对应的数据可以包括“房屋ID=1”的房屋内的所有房间的房间ID。
步骤S3220,根据子索引生成多个子查询请求。
具体的,可以是根据每一个子索引生成一一对应的子查询请求,也可以是根据多个子索引生成一个子查询请求。
例如,在查询第一索引表中与主索引“房屋ID=1”对应的子索引包括“房间ID=11”“房间ID=12”、“房间ID=13”和“房间ID=14”。那么,可以是根据子索引“房间ID=11”生成的子查询请求可以为查询“房间ID=11”的房间内所有的设备;根据子索引“房间ID=12”生成的子查询请求可以为查询“房间ID=12”的房间内所有的设备;根据子索引“房间ID=13”生成的子查询请求可以为查询“房间ID=13”的房间内所有的设备;根据子索引“房间ID=14”生成的子查询请求可以为查询“房间ID=14”的房间内所有的设备。
步骤S3300,将多个子查询请求中的至少部分子查询请求分发至其他电子设备进行查询。
将多个子查询请求中的至少部分子查询请求分发至其他电子设备进行查询可以包括:将步骤S3200中拆分得到的多个子查询请求中的部分子查询请求分发至其他电子设备中;或者,将步骤S3200中拆分得到的所有子查询请求均分发至其他电子设备中。
在一个实施例中,可以是执行本发明的实施例的电子设备将部分子查询请求分发至其他电子设备中。将拆分得到的多个子查询请求中除分发至其他电子设备中的部分子查询请求以外的子查询请求,作为其他子查询请求。那么,执行本发明的实施例的电子设备将根据其他子查询请求进行查询。
具体的,该电子设备根据其他子查询请求进行查询的方法还可以包括如图6所示的步骤S6100~S6200:
步骤S6100,获取与其他子查询请求对应的第二索引表。
具体的,该步骤S6100可以进一步包括:确定其他子查询请求中包含的子索引;获取包含该子索引的第二索引表。
确定其他子查询请求中包含的子索引的具体方式可以参照前述的确定数据查询请求中包含的主索引的方式,获取包含该子索引的第二索引表的具体方式可以参照前述的确定包含主索引的第一索引表的方式,在此不再赘述。
本实施例中的第一索引表和第二索引表可以是存储在同一数据库中,也可以是存储在不同的数据库中。
例如,在数据查询请求是请求查询“房屋ID=1”的房屋内所有的设备,第一索引表中可以是表征房屋和房间之间的对应关系的情况下,第二索引表可以表征房间和设备之间的对应关系。具体的,该第二索引表可以包括第一数据列和第二数据列。第二索引表的第一数据列可以为每个房间的ID。房间ID可以包括但不限于由数字构成的字符串、由字母构成的字符串、或者由数字和字母共同构成的字符串。第二索引表的第二数据列可以为每个房间内的每个设备的ID。设备ID可以包括但不限于由数字构成的字符串、由字母构成的字符串、或者由数字和字母共同构成的字符串。
步骤S6200,根据其他子查询请求查询第二索引表,得到其他子查询请求的数据查询结果,作为第一数据查询结果,以还将第一数据查询结果进行整合。
具体的,根据其他子查询请求查询第二索引表,得到其他子查询请求的数据查询结果,作为第一数据查询结果可以进一步为:查询第二索引表中与其他子查询请求中包含的子索引对应的数据,作为第一数据查询结果。
例如,在其他子查询请求为查询“房间ID=11”的房间内所有的设备的情况下,得到的数据查询结果可以包括“设备ID=111”、“设备ID=112”。在其他子查询请求为查询“房间ID=12”的房间内所有的设备的情况下,得到的数据查询结果可以包括“设备ID=121”。在其他子查询请求为查询“房间ID=13”的房间内所有的设备的情况下,得到的数据查询结果可以包括“设备ID=131”、“设备ID=132”、“设备ID=133”、“设备ID=134”。在其他子查询请求为查询“房间ID=14”的房间内所有的设备的情况下,得到的数据查询结果可以包括“设备ID=141”、“设备ID=142”、“设备ID=143”。
在一个例子中,如果其他子查询请求包括多个子查询请求,可以是确定与每一个其他子查询请求对应的线程,再通过多个线程同时分别根据对应的一个其他子查询请求进行查询。这样,可以提高查询效率。
在另一个实施例中,可以是执行本发明的实施例的电子设备将拆分得到的所有子查询请求均分发至其他电子设备中。由其他电子设备根据分发到自身的子查询请求进行查询,并将数据查询结果返回至执行本发明的实施例的电子设备中。
在本实施例中,其他电子设备根据分发到自身的子查询请求进行查询的具体方式,可以参照本实施例中执行本发明的实施例的电子设备根据其他子查询请求进行查询的方式,在此不再赘述。
在一个实施例中,将多个子查询请求中的至少部分子查询请求分发至其他电子设备进行查询的步骤可以进一步包括如图7所示的步骤S3310~S3320:
步骤S3310,获取其他电子设备的数量。
具体的,可以是其他电子设备在启动时向执行本发明的实施例的电子设备发送自身状态信息。执行本发明的实施例的电子设备根据接收到的状态信息的电子设备的数量,确定其他电子设备的数量。
步骤S3320,根据其他电子设备的数量和预设的分发规则,将多个子查询请求中的至少部分子查询请求分发至其他电子设备进行查询。
该分发规则可以预先根据应用场景或者具体需求设定。例如,该分发规则可以是平均分发或者是随机分发。
该分发规则还可以是预先指定的每个其他电子设备的分发顺序和分发数量。例如,在至少部分子查询请求的数量为4,一个其他电子设备的分发顺序为1、分发数量为2,一个其他电子设备的分发顺序为2、分发数量为1,一个其他电子设备的分发顺序为3,分发数量为3的情况下,可以是先向分发顺序为1的其他电子设备分发2个子查询请求,再向分发顺序为2的其他电子设备分发1个子查询请求,再向分发顺序为3的其他电子设备分发1个子查询请求。
在一个例子中,该分发规则可以是平均分发。那么,该步骤S3320可以进一步包括如图8所示的步骤S3321~S3323:
步骤S3321,根据多个子查询请求的数量、其他电子设备的数量,确定至少部分子查询请求的数量。
具体的,该至少部分子查询请求的数量可以是其他电子设备的数量的整数倍,且该至少部分子查询请求的数量小于或等于多个子查询请求的数量。
进一步地,该多个子查询请求的数量与至少部分子查询请求的数量之间的差值可以小于其他电子设备的数量,且大于或等于零。
例如,在多个子查询请求的数量为N1,其他电子设备的数量为N2的情况下,至少部分子查询请求的数量可以为N3=N1-mod(N1,N2),其中,mod(N1,N2)为N1除以N2的余数。
步骤S3322,根据分发规则,确定至少部分子查询请求中对应每一其他电子设备的子查询请求。
具体的,可以是将步骤S3200中拆分得到的所有子查询请求中随机选取N3个子查询请求,作为至少部分子查询请求;再将至少部分子查询请求平均分成N2份,将每一份子查询请求与每一个其他电子设备一一对应,使得每个其他电子设备具有对应的至少一个子查询请求,至少部分子查询请求中的每一个子查询请求均具有对应的其他电子设备。
步骤S3323,将至少部分子查询请求中的每一子查询请求分发至对应的其他电子设备进行查询。
在至少部分子查询请求的数量N3小于步骤S3200中拆分得到的子查询请求的数量N1的情况下,可以是由执行本发明的实施例的电子设备来根据N1-N3个其他子查询请求进行查询。
步骤S3400,获取其他电子设备根据该至少部分子查询请求返回的数据查询结果进行整合,并输出整合后的数据查询结果。
在执行本发明的实施例的电子设备将部分子查询请求分发至其他电子设备中的情况下,该电子设备可以是将第一数据查询结果、及获取的其他电子设备返回的数据查询结果进行整合,得到整合后的数据查询结果。
在执行本发明的实施例的电子设备将拆分得到的多个子查询请求均分发至其他电子设备中的情况下,该电子设备可以是将获取的其他电子设备根据步骤S3300中分发的所有子查询请求所返回的数据查询结果进行整合,得到整合后的数据查询结果。
例如,在该数据查询请求是请求查询“房屋ID=1”的房屋内所有的设备,将该查询请求拆分为多个子查询请求包括查询“房间ID=11”的房间内所有的设备、查询“房间ID=12”的房间内所有的设备、查询“房间ID=13”的房间内所有的设备、查询“房间ID=14”的房间内所有的设备,子查询请求为查询“房间ID=11”的房间内所有的设备的数据查询结果包括“设备ID=111”、“设备ID=112”,子查询请求为查询“房间ID=12”的房间内所有的设备的数据查询结果包括“设备ID=121”,子查询请求为查询“房间ID=13”的房间内所有的设备的数据查询结果包括“设备ID=131”、“设备ID=132”、“设备ID=133”、“设备ID=134”,子查询请求为查询“房间ID=14”的房间内所有的设备的数据查询结果包括“设备ID=141”、“设备ID=142”、“设备ID=143”的情况下,整合后的数据查询结果可以包括“设备ID=111”、“设备ID=112”、“设备ID=121”、“设备ID=131”、“设备ID=132”、“设备ID=133”、“设备ID=134”、“设备ID=141”、“设备ID=142”、“设备ID=143”。即“房屋ID=1”的房屋内所有的设备包括“设备ID=111”的设备、“设备ID=112”的设备、“设备ID=121”的设备、“设备ID=131”的设备、“设备ID=132”的设备、“设备ID=133”的设备、“设备ID=134”的设备、“设备ID=141”的设备、“设备ID=142”的设备、“设备ID=143”的设备。
在本发明的实施例中,通过将数据查询请求拆分为多个子查询请求,并将至少部分子查询请求分发至其他电子设备进行查询,再接收其他电子设备根据至少部分子查询请求返回的数据查询结果,进行整合后输出。这样,通过分布式查询的方式,得到数据查询结果进行整合后输出,可以提高数据查询效率,对应用的水平拆分扩容也更加方便。而且,不需要写扩散,也不需要建立额外的索引表结构,使得数据查询更加便捷,还可以减少在对跨数据库的数据进行查询时所占用的资源。
<例子>
图9为一个例子中执行数据查询方法的系统的示意图。
该系统可以包括客户端、计算机集群和数据库。其中,计算机集群可以包括多个电子设备,例如可以包括电子设备01~04。数据库可以是基于分库分表结构,例如可以包括数据库01~04。
图10为图9中系统所执行的数据查询方法的流程图,其可以包括如下步骤:
步骤S9100,由客户端(APP)将数据查询请求发送至计算机集群中的一个电子设备。
本实施例中,接收到数据查询请求的电子设备可以是电子设备01,那么,对于电子设备01而言,电子设备02~04则为其他电子设备。
步骤S9210,由电子设备确定数据查询请求中包含的主索引。
步骤S9220,由电子设备确定包含主索引的第一索引表。
具体的,可以是电子设备01根据该主索引确定包含主索引的第一索引表为存储在数据库01中的索引表。
步骤S9310,由电子设备查询第一索引表中与主索引对应的数据,作为子索引。
具体的,可以是电子设备01根据该主索引查询对应的数据库01中的第一索引表,得到与主索引对应的数据作为子索引
步骤S9320,由电子设备根据子索引生成多个子查询请求。
步骤S9400,由电子设备根据分发规则将多个子查询请求分发至至少一个其他电子设备中进行查询。
步骤S9500,由至少一个其他电子设备分别根据接收到的子查询请求查询对应的索引表,得到第二数据查询结果。
具体的,可以是电子设备02根据接收到的子查询请求查询对应的数据库02中的索引表,得到第二数据查询结果;可以是电子设备03根据接收到的子查询请求查询对应的数据库03中的索引表,得到第二数据查询结果;可以是电子设备04根据接收到的子查询请求查询对应的数据库03中的索引表,得到第二数据查询请求。
步骤S9600,由至少一个其他电子设备分别将得到的第二数据查询结果返回至电子设备。
步骤S9700,由电子设备获取至少一个其他电子设备返回的第二数据查询结果。
步骤S9800,由电子设备将第二数据查询结果进行整合,并输出整合后的数据查询结果。
在一个例子中,在该数据查询请求是请求查询“房屋ID=1”的房屋内所有的设备的情况下,执行本发明实施例的数据查询方法的代码可以是如下所示:
其中,query=“select roomID from tableA where houseID=1”可以是由本发明的电子设备来执行的,query=“select deviveID from tableB where roomID=?”可以是由本发明的电子设备分发至其他电子设备来执行的。
<方法实施例>
在本发明的另一实施例中,还提供了一种基于物联网的数据查询方法,包括如下步骤:
步骤S5100,根据关于物联网的数据查询请求,获取与数据查询请求对应的第一索引表。
在物联网的关系网络中,复杂的关系网络导致会涉及多表联合查询,甚至递归一个表结构查询。因此,可以通过本实施例的数据查询方法,根据该关于物联网的数据查询请求,对物联网数据进行查询。
该步骤S5100具体可以参见前述实施例中对步骤S3100的描述,在此不再赘述。
步骤S5200,根据所述第一索引表拆分所述数据查询请求,得到多个子查询请求。
该步骤S5200具体可以参见前述实施例中对步骤S3200的描述,在此不再赘述。
步骤S5300,将所述多个子查询请求中的至少部分子查询请求分发至其他电子设备进行查询。
该步骤S5300具体可以参见前述实施例中对步骤S3300的描述,在此不再赘述。
步骤S5400,获取其他电子设备根据所述至少部分子查询请求返回的数据查询结果进行整合,并输出整合后的数据查询结果,供物联网设备进行处理。
该步骤S5400具体可以参见前述实施例中对步骤S3400的描述,在此不再赘述。
进一步地,执行本实施例的数据查询方法的电子设备可以是将整合后的数据查询结果输出至物联网设备,物联网设备可以根据接收到的数据查询结果进行展示、分析等后续处理。
<装置实施例>
在本实施例中,提供一种数据查询装置4000,如图11所示,包括:第一表获取模块4100、请求拆分模块4200、请求分发模块4300和整合输出模块4400。该第一表获取模块4100用于根据数据查询请求获取与数据查询请求对应的第一索引表;该请求拆分模块4200用于根据第一索引表拆分数据查询请求,得到多个子查询请求;该请求分发模块4300用于将多个子查询请求中的至少部分子查询请求分发至其他电子设备进行查询;该整合输出模块4400用于获取其他电子设备根据至少部分子查询请求返回的数据查询结果进行整合,并输出整合后的数据查询结果。
在一个实施例中,将多个子查询请求中除至少部分子查询请求以外的子查询请求作为其他子查询请求;那么,该数据查询装置4000还可以包括如图12所示的第二表获取模块4500和查询模块4600。该第二表获取模块4500用于获取与其他子查询请求对应的第二索引表;该查询模块4600用于根据其他子查询请求查询第二索引表,得到其他子查询请求的数据查询结果,作为第一数据查询结果,以供整合输出模块4400还将所述第一数据查询结果进行整合。
在一个实施例中,该查询模块4600还可以用于:获取其他子查询请求中包含的子索引;查询第二索引表中与子索引对应数据,作为第一数据查询结果。
在本实施例中,该整合输出模块4400还可以用于:获取其他电子设备根据至少部分子查询请求返回的数据查询结果,作为第二数据查询结果;将第一数据查询结果和第二数据查询结果进行整合,得到整合后的数据查询结果;输出整合后的数据查询结果。
在一个实施例中,第一表获取模块4100还可以用于:确定数据查询请求中包含的主索引;获取包含主索引的第一索引表。
在本实施例中,该请求拆分模块4200还可以用于:查询第一索引表中与主索引对应的数据,作为子索引;根据子索引生成多个子查询请求。
在一个实施例中,请求分发模块4300还可以用于:获取其他电子设备的数量;根据其他电子设备的数量和预设的分发规则,将多个子查询请求中的至少部分子查询请求分发至其他电子设备进行查询。
在本实施例中,根据其他电子设备的数量和预设的分发规则,将多个子查询请求中的至少部分子查询请求分发至其他电子设备进行查询的步骤包括:
根据多个子查询请求的数量、其他电子设备的数量,确定至少部分子查询请求的数量;
根据分发规则,确定至少部分子查询请求中对应每一其他电子设备的子查询请求;
将至少部分子查询请求中的每一子查询请求分发至对应的其他电子设备进行查询。
在本实施例中,分发规则至少可以包括平均分发、或随机分发。
本领域技术人员应当明白,可以通过各种方式来实现数据查询装置4000。例如,可以通过指令配置处理器来实现数据查询装置4000。例如,可以将指令存储在ROM中,并且当启动设备时,将指令从ROM读取到可编程器件中来实现数据查询装置4000。例如,可以将数据查询装置4000固化到专用器件(例如ASIC)中。可以将数据查询装置4000分成相互独立的单元,或者可以将它们合并在一起实现。数据查询装置4000可以通过上述各种实现方式中的一种来实现,或者可以通过上述各种实现方式中的两种或更多种方式的组合来实现。
在本实施例中,数据查询装置4000可以具有多种实现形式,例如,数据查询装置4000可以是任何的提供数据查询服务的软件产品或者应用程序中运行的功能模块,或者是这些软件产品或者应用程序的外设嵌入件、插件、补丁件等,还可以是这些软件产品或者应用程序本身。
<电子设备>
在本实施例中,还提供一种电子设备1000。该电子设备1000可以是图1所示的服务器1100,也可以是如图2所示的终端设备1200。
在一方面,如图13所示,该电子设备1000可以包括前述的数据查询装置4000,用于实施本发明任意实施例的数据查询方法。
在另一方面,如图14所示,电子设备1000还可以包括处理器1300和存储器1400,该存储器1400用于存储可执行的指令;该处理器1300用于根据指令的控制运行电子设备1000执行根据本发明任意实施例的数据查询方法。
<系统>
在本实施例中,还提供一种数据查询系统2000,如图15所示,该数据查询系统可以包括其他电子设备2100、及本发明任意实施例的电子设备1000。
该其他电子设备2100可以用于执行如图16所示的步骤S1510~S1530:
步骤S1510,接收电子设备1000分发的子查询请求。
步骤S1520,获取与子查询请求对应的第三索引表。
具体的,该第三索引表与前述的第二索引表可以相同,也可以不同。
在一个例子中,如果子查询请求包括多个子查询请求,可以是确定与每一个子查询请求对应的线程,再通过多个线程同时分别根据对应的一个其他子查询请求进行查询。这样,可以提高查询效率。
步骤S1530,根据该子查询请求查询第三索引表,得到子查询请求的数据查询结果,并返回至电子设备1000。
尽管在图15中仅示出了一个电子设备1000和两个其他电子设备2100,但这并不意味着限制本发明的数据查询系统2000仅可以包括一个电子设备1000和两个其他电子设备2100。
<计算机可读存储介质>
在本实施例中,还提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序在被处理器执行时实现如本发明任意实施例的数据查询方法。
本发明可以是系统、方法和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于使处理器实现本发明的各个方面的计算机可读程序指令。
计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是――但不限于――电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。
这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
用于执行本发明操作的计算机程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如Smalltalk、C++等,以及常规的过程式编程语言—诸如“C”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA),该电子电路可以执行计算机可读程序指令,从而实现本发明的各个方面。
这里参照根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本发明的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。对于本领域技术人员来说公知的是,通过硬件方式实现、通过软件方式实现以及通过软件和硬件结合的方式实现都是等价的。
以上已经描述了本发明的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。本发明的范围由所附权利要求来限定。
Claims (12)
1.一种数据查询方法,其中,包括:
根据数据查询请求获取与所述数据查询请求对应的第一索引表;
根据所述第一索引表拆分所述数据查询请求,得到多个子查询请求;
将所述多个子查询请求中的至少部分子查询请求分发至其他电子设备进行查询;
获取其他电子设备根据所述至少部分子查询请求返回的数据查询结果进行整合,并输出整合后的数据查询结果;
所述根据数据查询请求获取与所述数据查询请求对应的第一索引表,包括:
确定所述数据查询请求中包含的主索引,所述主索引是所述数据查询请求中所查询内容的关键词;
获取包含所述主索引的第一索引表;
所述根据所述第一索引表拆分所述数据查询请求,得到多个子查询请求,包括:
查询所述第一索引表中与所述主索引对应的数据,作为子索引;
根据所述子索引生成多个子查询请求。
2.根据权利要求1所述的数据查询方法,其中,将所述多个子查询请求中除所述至少部分子查询请求以外的子查询请求作为其他子查询请求;
所述数据查询方法还包括:
获取与所述其他子查询请求对应的第二索引表;
根据所述其他子查询请求查询所述第二索引表,得到所述其他子查询请求的数据查询结果,作为第一数据查询结果,以还将所述第一数据查询结果进行整合。
3.根据权利要求2所述的数据查询方法,其中,所述根据所述其他子查询请求查询所述第二索引表,得到所述其他子查询请求的数据查询结果,作为第一数据查询结果的步骤包括:
获取所述其他子查询请求中包含的子索引;
查询所述第二索引表中与所述子索引对应数据,作为所述第一数据查询结果。
4.根据权利要求2所述的数据查询方法,其中,所述获取其他电子设备根据所述至少部分子查询请求返回的数据查询结果进行整合,并输出整合后的数据查询结果的步骤包括:
获取其他电子设备根据所述至少部分子查询请求返回的数据查询结果,作为第二数据查询结果;
将所述第一数据查询结果和所述第二数据查询结果进行整合,得到所述整合后的数据查询结果;
输出所述整合后的数据查询结果。
5.根据权利要求1所述的数据查询方法,其中,所述将所述多个子查询请求中的至少部分子查询请求分发至其他电子设备进行查询的步骤包括:
获取其他电子设备的数量;
根据所述其他电子设备的数量和预设的分发规则,将所述多个子查询请求中的至少部分子查询请求分发至其他电子设备进行查询。
6.根据权利要求5所述的数据查询方法,其中,所述根据所述其他电子设备的数量和预设的分发规则,将所述多个子查询请求中的至少部分子查询请求分发至其他电子设备进行查询的步骤包括:
根据所述多个子查询请求的数量、所述其他电子设备的数量,确定所述至少部分子查询请求的数量;
根据所述分发规则,确定所述至少部分子查询请求中对应每一其他电子设备的子查询请求;
将所述至少部分子查询请求中的每一子查询请求分发至对应的其他电子设备进行查询。
7.根据权利要求5所述的数据查询方法,其中,所述分发规则至少包括平均分发、或随机分发。
8.一种数据查询方法,其中,包括:
根据关于物联网的数据查询请求,获取与数据查询请求对应的第一索引表;
根据所述第一索引表拆分所述数据查询请求,得到多个子查询请求;
将所述多个子查询请求中的至少部分子查询请求分发至其他电子设备进行查询;
获取其他电子设备根据所述至少部分子查询请求返回的数据查询结果进行整合,并输出整合后的数据查询结果,供物联网设备进行处理;
所述根据关于物联网的数据查询请求,获取与数据查询请求对应的第一索引表,包括:
确定所述数据查询请求中包含的主索引,所述主索引是所述数据查询请求中所查询内容的关键词;
获取包含所述主索引的第一索引表;
所述根据所述第一索引表拆分所述数据查询请求,得到多个子查询请求,包括:
查询所述第一索引表中与所述主索引对应的数据,作为子索引;
根据所述子索引生成多个子查询请求。
9.一种数据查询装置,其中,包括:
第一表获取模块,用于根据数据查询请求获取与所述数据查询请求对应的第一索引表;
请求拆分模块,用于根据所述第一索引表拆分所述数据查询请求,得到多个子查询请求;
请求分发模块,用于将所述多个子查询请求中的至少部分子查询请求分发至其他电子设备进行查询;
整合输出模块,用于获取其他电子设备根据所述至少部分子查询请求返回的数据查询结果进行整合,并输出整合后的数据查询结果;
所述第一表获取模块还用于:
确定所述数据查询请求中包含的主索引,所述主索引是所述数据查询请求中所查询内容的关键词;
获取包含所述主索引的第一索引表;
所述请求拆分模块还用于:
查询所述第一索引表中与所述主索引对应的数据,作为子索引;
根据所述子索引生成多个子查询请求。
10.一种电子设备,其中,包括根据权利要求9所述的数据查询装置;或者,包括处理器和存储器,所述存储器用于存储可执行的指令,所述指令用于控制所述处理器执行根据权利要求1至8中任一项所述的数据查询方法。
11.一种数据查询系统,其中,包括至少一个其他电子设备、及根据权利要求10所述的电子设备,所述其他电子设备用于:
接收所述电子设备分发的子查询请求;
获取与所述子查询请求对应的第三索引表;
根据所述子查询请求查询所述第三索引表,得到所述子查询请求的数据查询结果,并返回至所述电子设备。
12.一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序在被处理器执行时实现如权利要求1至8中任一项所述的数据查询方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910116741.9A CN111581237B (zh) | 2019-02-15 | 2019-02-15 | 数据查询方法、装置、系统及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910116741.9A CN111581237B (zh) | 2019-02-15 | 2019-02-15 | 数据查询方法、装置、系统及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111581237A CN111581237A (zh) | 2020-08-25 |
CN111581237B true CN111581237B (zh) | 2023-06-09 |
Family
ID=72122371
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910116741.9A Active CN111581237B (zh) | 2019-02-15 | 2019-02-15 | 数据查询方法、装置、系统及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111581237B (zh) |
Citations (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101189602A (zh) * | 2003-11-10 | 2008-05-28 | 奥弗图尔服务公司 | 具有分层存储的索引的搜索引擎 |
CN101436192A (zh) * | 2007-11-16 | 2009-05-20 | 国际商业机器公司 | 用于优化针对垂直存储式数据库的查询的方法和设备 |
CN103310011A (zh) * | 2013-07-02 | 2013-09-18 | 曙光信息产业(北京)有限公司 | 集群数据库系统环境下的数据查询解析方法 |
CN104112008A (zh) * | 2014-07-16 | 2014-10-22 | 深圳市国泰安信息技术有限公司 | 一种多表数据关联查询优化方法和装置 |
CN104111936A (zh) * | 2013-04-18 | 2014-10-22 | 阿里巴巴集团控股有限公司 | 数据查询方法和系统 |
CN104462429A (zh) * | 2014-12-12 | 2015-03-25 | 北京国双科技有限公司 | 数据库查询语句的生成方法及装置 |
CN104572676A (zh) * | 2013-10-16 | 2015-04-29 | 中国银联股份有限公司 | 一种针对多数据库表的跨库分页查询方法 |
CN105210058A (zh) * | 2012-12-14 | 2015-12-30 | 微软技术许可有限责任公司 | 使用多个引擎来进行图查询处理 |
CN105930407A (zh) * | 2016-04-18 | 2016-09-07 | 北京思特奇信息技术股份有限公司 | 一种分布式数据库跨库关联查询方法及系统 |
CN106294740A (zh) * | 2016-08-10 | 2017-01-04 | 北京创锐文化传媒有限公司 | 数据处理方法、装置及服务器 |
CN106649878A (zh) * | 2017-01-07 | 2017-05-10 | 陈翔宇 | 基于人工智能的物联网实体搜索方法及系统 |
CN106777108A (zh) * | 2016-12-15 | 2017-05-31 | 贵州电网有限责任公司电力科学研究院 | 一种基于混合存储架构的数据查询方法和装置 |
CN108108456A (zh) * | 2017-12-28 | 2018-06-01 | 重庆邮电大学 | 一种基于元数据的信息资源分布式查询方法 |
CN108431805A (zh) * | 2015-10-23 | 2018-08-21 | 甲骨文国际公司 | 并行执行具有递归子句的查询 |
CN108897767A (zh) * | 2018-05-24 | 2018-11-27 | 努比亚技术有限公司 | 一种数据查询方法及系统 |
CN109063037A (zh) * | 2018-07-17 | 2018-12-21 | 叶舒婷 | 一种查询方法、服务设备、终端设备以及计算机可读存储介质 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9418094B2 (en) * | 2008-02-13 | 2016-08-16 | Oracle International Corporation | Method and apparatus for performing multi-stage table updates |
US9519703B2 (en) * | 2013-03-20 | 2016-12-13 | International Business Machines Corporation | Refining search results for a compound search query |
US10521426B2 (en) * | 2016-11-29 | 2019-12-31 | Sap Se | Query plan generation for split table query operations |
-
2019
- 2019-02-15 CN CN201910116741.9A patent/CN111581237B/zh active Active
Patent Citations (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101189602A (zh) * | 2003-11-10 | 2008-05-28 | 奥弗图尔服务公司 | 具有分层存储的索引的搜索引擎 |
CN101436192A (zh) * | 2007-11-16 | 2009-05-20 | 国际商业机器公司 | 用于优化针对垂直存储式数据库的查询的方法和设备 |
CN105210058A (zh) * | 2012-12-14 | 2015-12-30 | 微软技术许可有限责任公司 | 使用多个引擎来进行图查询处理 |
CN104111936A (zh) * | 2013-04-18 | 2014-10-22 | 阿里巴巴集团控股有限公司 | 数据查询方法和系统 |
CN103310011A (zh) * | 2013-07-02 | 2013-09-18 | 曙光信息产业(北京)有限公司 | 集群数据库系统环境下的数据查询解析方法 |
CN104572676A (zh) * | 2013-10-16 | 2015-04-29 | 中国银联股份有限公司 | 一种针对多数据库表的跨库分页查询方法 |
CN104112008A (zh) * | 2014-07-16 | 2014-10-22 | 深圳市国泰安信息技术有限公司 | 一种多表数据关联查询优化方法和装置 |
CN104462429A (zh) * | 2014-12-12 | 2015-03-25 | 北京国双科技有限公司 | 数据库查询语句的生成方法及装置 |
CN108431805A (zh) * | 2015-10-23 | 2018-08-21 | 甲骨文国际公司 | 并行执行具有递归子句的查询 |
CN105930407A (zh) * | 2016-04-18 | 2016-09-07 | 北京思特奇信息技术股份有限公司 | 一种分布式数据库跨库关联查询方法及系统 |
CN106294740A (zh) * | 2016-08-10 | 2017-01-04 | 北京创锐文化传媒有限公司 | 数据处理方法、装置及服务器 |
CN106777108A (zh) * | 2016-12-15 | 2017-05-31 | 贵州电网有限责任公司电力科学研究院 | 一种基于混合存储架构的数据查询方法和装置 |
CN106649878A (zh) * | 2017-01-07 | 2017-05-10 | 陈翔宇 | 基于人工智能的物联网实体搜索方法及系统 |
CN108108456A (zh) * | 2017-12-28 | 2018-06-01 | 重庆邮电大学 | 一种基于元数据的信息资源分布式查询方法 |
CN108897767A (zh) * | 2018-05-24 | 2018-11-27 | 努比亚技术有限公司 | 一种数据查询方法及系统 |
CN109063037A (zh) * | 2018-07-17 | 2018-12-21 | 叶舒婷 | 一种查询方法、服务设备、终端设备以及计算机可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111581237A (zh) | 2020-08-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111259006B (zh) | 一种通用的分布式异构数据一体化物理汇聚、组织、发布与服务方法及系统 | |
CN107526777B (zh) | 一种基于版本号对文件进行处理的方法及设备 | |
CN109614402B (zh) | 多维数据查询方法和装置 | |
US10838964B2 (en) | Supporting a join operation against multiple NoSQL databases | |
CN109471838B (zh) | 目录文档的操作方法、装置、电子设备、可读存储介质 | |
CN106407303A (zh) | 数据存储、查询方法及装置 | |
JP2015513153A (ja) | マルチテナント環境におけるテナント固有のデータ・セットを管理するための、コンピュータで実施される方法、コンピュータ・プログラム製品、およびシステム | |
US20180203874A1 (en) | Space-efficient secondary indexing on distributed data stores | |
EP2842034B1 (en) | Providing client and service compatibility through cloud-hosted adapters | |
CN107103011B (zh) | 终端数据搜索的实现方法和装置 | |
CN113760948A (zh) | 一种数据查询的方法及装置 | |
US20200110838A1 (en) | Intelligent visualization of unstructed data in column-oriented data tables | |
CN111221851A (zh) | 一种基于Lucene的海量数据查询、存储的方法和装置 | |
US20170109407A1 (en) | Joining operations in document oriented databases | |
CN114579561A (zh) | 数据处理方法和装置、存储介质 | |
US11704327B2 (en) | Querying distributed databases | |
CN108959294B (zh) | 一种访问搜索引擎的方法和装置 | |
CN113704291A (zh) | 数据查询方法、装置、存储介质及电子设备 | |
US9465658B1 (en) | Task distribution over a heterogeneous environment through task and consumer categories | |
KR101743731B1 (ko) | 분산된 데이터를 통합하여 생성한 온톨로지를 기반으로 쿼리를 처리하는 방법 및 장치 | |
CN111581237B (zh) | 数据查询方法、装置、系统及电子设备 | |
CN111814020A (zh) | 一种数据的获取方法和装置 | |
CN115344688B (zh) | 业务数据展示方法、装置、电子设备和计算机可读介质 | |
CN107463618B (zh) | 一种索引创建方法和装置 | |
US10114864B1 (en) | List element query support and processing |
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 | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40035785 Country of ref document: HK |
|
GR01 | Patent grant | ||
GR01 | Patent grant |