CN113434529B - 业务数据查询方法、装置、存储介质、处理器及电子设备 - Google Patents
业务数据查询方法、装置、存储介质、处理器及电子设备 Download PDFInfo
- Publication number
- CN113434529B CN113434529B CN202110693654.7A CN202110693654A CN113434529B CN 113434529 B CN113434529 B CN 113434529B CN 202110693654 A CN202110693654 A CN 202110693654A CN 113434529 B CN113434529 B CN 113434529B
- Authority
- CN
- China
- Prior art keywords
- query
- statement
- service data
- data table
- query statement
- 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/242—Query formulation
- G06F16/2433—Query languages
-
- 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/22—Indexing; Data structures therefor; Storage structures
- G06F16/2282—Tablespace storage structures; Management thereof
-
- 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
-
- 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)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种业务数据查询方法、装置、存储介质、处理器及电子设备。其中,该方法包括:接收客户端发送的数据查询请求,其中,上述数据查询请求用于查询业务数据表;对上述数据查询请求进行语法解析处理,得到初始查询语句;确定与上述初始查询语句对应的开销匹配规则和语句改写规则;基于上述开销匹配规则和上述语句改写规则对上述初始查询语句进行改写处理,得到改写后查询语句;基于上述改写后查询语句从目标数据库中获取业务数据表,以及上述业务数据表中的业务数据。本发明解决了由于业务数据量的不断增加,业务数据表的扫描与关联代价剧增造成的业务数据查询效率低的技术问题。
Description
技术领域
本发明涉及大数据领域,具体而言,涉及一种业务数据查询方法、装置、存储介质、处理器及电子设备。
背景技术
随着公司业务的不断发展,业务数据量逐渐增加,业务数据涉及的领域更加广泛、划分的维度也不断细化,导致业务数据查询的难度增加,部分业务对应的后台数据表扫描与关联的代价剧增。这不仅降低了业务数据的查询效率,也对业务数据库的使用体验造成一定的影响。
目前,普遍采用列式存储数据库并建立二级索引的方式进行业务数据查询,但列式存储的二级索引需要指定索引键,对业务数据的查询效率低,仍无法满足用户灵活的查询需求。
针对上述的问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种业务数据查询方法、装置、存储介质、处理器及电子设备,以至少解决由于业务数据量的不断增加,业务数据表的扫描与关联代价剧增造成的业务数据查询效率低的技术问题。
根据本发明实施例的一个方面,提供了一种业务数据查询方法,包括:接收客户端发送的数据查询请求,其中,上述数据查询请求用于查询业务数据表;对上述数据查询请求进行语法解析处理,得到初始查询语句;确定与上述初始查询语句对应的开销匹配规则和语句改写规则;基于上述开销匹配规则和上述语句改写规则对上述初始查询语句进行改写处理,得到改写后查询语句;基于上述改写后查询语句从目标数据库中获取业务数据表,以及上述业务数据表中的业务数据。
可选地,对上述数据查询请求进行语法解析处理,得到初始查询语句,包括:对上述数据查询请求进行语法解析处理,获取上述数据查询请求中的初始查询语句,其中,上述,上述初始查询语句包括:查询过滤字段和过滤条件。
可选地,确定与上述初始查询语句对应的开销匹配规则和语句改写规则,包括:依据上述查询过滤字段和过滤条件,对上述初始查询语句进行跨维度筛选处理,得到筛选结果;基于上述筛选结果从多个查询规则中确定对应的上述开销匹配规则,以及从多个查询规则中确定对应的上述语句改写规则。
可选地,依据上述查询过滤字段和过滤条件,对上述初始查询语句进行跨维度筛选处理得到筛选结果,包括:获取与上述查询过滤字段对应的子表数据量和第一权重值,以及与上述过滤条件对应的关联语法和第二权重值;依据上述子表数据量、上述第一权重值、上述关联语法和第二权重值对上述初始查询语句进行跨维度筛选处理,得到上述筛选结果。
可选地,基于上述改写后查询语句从目标数据库中获取业务数据表,以及上述业务数据表中的业务数据,包括:基于上述改写后查询语句获取上述业务数据表,并确定上述改写后查询语句是否命中上述业务数据表中的核心数据表;若上述改写后查询语句命中上述核心数据表,则返回上述核心数据表中的全量数据。
可选地,基于上述改写后查询语句从目标数据库中获取业务数据表,以及上述业务数据表中的业务数据,包括:基于上述改写后查询语句获取上述业务数据表,并确定上述改写后查询语句是否命中上述业务数据表中的核心数据表;若上述改写后查询语句并未命中上述核心数据表,则检测上述改写后查询语是否命中上述核心数据表的子集;若上述改写后查询语命中上述核心数据表的子集,则返回上述核心数据表的子集。
根据本发明实施例的另一方面,还提供了一种业务数据查询装置,包括:接收模块,用于接收客户端发送的数据查询请求,其中,上述数据查询请求用于查询业务数据表;查询模块,用于对上述数据查询请求进行语法解析处理,得到初始查询语句;确定模块,用于确定与上述初始查询语句对应的开销匹配规则和语句改写规则;改写模块,用于基于上述开销匹配规则和上述语句改写规则对上述初始查询语句进行改写处理,得到改写后查询语句;获取模块,用于基于上述改写后查询语句从目标数据库中获取业务数据表,以及上述业务数据表中的业务数据。
根据本发明实施例的另一方面,还提供了一种非易失性存储介质,上述非易失性存储介质存储有多条指令,上述指令适于由处理器加载并执行任意一项上述的业务数据查询方法。
根据本发明实施例的另一方面,还提供了一种处理器,上述处理器用于运行程序,其中,上述程序被设置为运行时执行任意一项上述业务数据查询方法。
根据本发明实施例的另一方面,还提供了一种电子设备,包括存储器和处理器,上述存储器中存储有计算机程序,上述处理器被设置为运行上述计算机程序以执行任意一项上述业务数据查询方法。
在本发明实施例中,采用业务数据查询的方式,通过接收客户端发送的数据查询请求,其中,上述数据查询请求用于查询业务数据表;对上述数据查询请求进行语法解析处理,得到初始查询语句;确定与上述初始查询语句对应的开销匹配规则和语句改写规则;基于上述开销匹配规则和上述语句改写规则对上述初始查询语句进行改写处理,得到改写后查询语句;基于上述改写后查询语句从目标数据库中获取业务数据表,以及上述业务数据表中的业务数据,达到了通过修改后台数据架构、采用改写后查询语句获取业务数据的目的,从而实现了提高业务数据查询效率的技术效果,进而解决了由于业务数据量的不断增加,业务数据表的扫描与关联代价剧增造成的业务数据查询效率低的技术问题。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的一种业务数据查询方法的步骤流程图;
图2是根据本发明实施例的一种可选的业务数据查询方法的设计方案示意图;
图3是根据本发明实施例的一种可选的业务数据库的架构示意图;
图4是根据本发明实施例的一种可选的开销评估方法的流程图;
图5是根据本发明实施例的一种可选的业务数据查询方法的流程图;
图6是根据本发明实施例的另一种可选的业务数据查询方法的流程图;
图7是根据本发明实施例的一种业务数据查询装置的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
根据本发明实施例,提供了一种业务数据查询方法的实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
该方法实施例的技术方案可以在移动终端、计算机终端或者类似的运算装置中执行。以运行在移动终端上为例,该移动终端可以是智能手机(如Android手机、iOS手机等)、平板电脑、掌上电脑以及移动互联网设备(Mobile Internet Devices,简称为MID)、PAD等终端设备。移动终端可以包括一个或多个处理器(处理器可以包括但不限于中央处理器(CPU)、图形处理器(GPU)、数字信号处理(DSP)芯片、微处理器(MCU)、可编程逻辑器件(FPGA)、神经网络处理器(NPU)、张量处理器(TPU)、人工智能(AI)类型处理器等的处理装置)和用于存储数据的存储器。可选地,上述移动终端还可以包括用于通信功能的传输设备、输入输出设备以及显示设备。本领域普通技术人员可以理解,上述结构描述仅为示意,其并不对上述移动终端的结构造成限定。例如,移动终端还可包括比上述结构描述更多或者更少的组件,或者具有与上述结构描述不同的配置。
存储器可用于存储计算机程序,例如,应用软件的软件程序以及模块,如本公开实施例中的智能场景搭建方法对应的计算机程序,处理器通过运行存储在存储器内的计算机程序,从而执行各种功能应用以及数据处理,即实现上述的智能场景搭建方法。存储器可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器可进一步包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至移动终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输设备用于经由一个网络接收或者发送数据。上述的网络具体实例可包括移动终端的通信供应商提供的无线网络。在一个实例中,传输设备包括一个网络适配器(Network Interface Controller,简称为NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输设备可以为射频(Radio Frequency,简称为RF)模块,其用于通过无线方式与互联网进行通讯。该方法实施例的技术方案可以应用于各种通信系统,例如:全球移动通讯(Global System of Mobile communication,简称为GSM)系统、码分多址(Code Division Multiple Access,简称为CDMA)系统、宽带码分多址(Wideband Code Division Multiple Access,简称为WCDMA)系统、通用分组无线业务(General Packet Radio Service,简称为GPRS)、长期演进(Long Term Evolution,简称为LTE)系统、LTE频分双工(Frequency Division Duplex,简称为FDD)系统、LTE时分双工(Time Division Duplex,简称为TDD)、通用移动通信系统(Universal MobileTelecommunication System,简称为UMTS)、全球互联微波接入(WorldwideInteroperability for Microwave Access,简称为WiMAX)通信系统或5G系统等。可选地,多个移动终端之间可以进行设备到设备(Device to Device,简称为D2D)通信。可选地,5G系统或5G网络又被称为新无线(New Radio,简称为NR)系统或NR网络。
显示设备可以例如触摸屏式的液晶显示器(LCD)和触摸显示器(也被称为“触摸屏”或“触摸显示屏”)。该液晶显示器可使得用户能够与移动终端的用户界面进行交互。在一些实施例中,上述移动终端具有图形用户界面(GUI),用户可以通过触摸触敏表面上的手指接触和/或手势来与GUI进行人机交互,此处的人机交互功能可选的包括如下交互:创建网页、绘图、文字处理、制作电子文档、游戏、视频会议、即时通信、收发电子邮件、通话界面、播放数字视频、播放数字音乐和/或网络浏览等、用于执行上述人机交互功能的可执行指令被配置或存储在一个或多个处理器可执行的计算机程序产品或可读非易失性存储介质中。
根据本发明实施例,提供了一种业务数据查询的方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
图1是根据本发明实施例的一种业务数据查询方法的步骤流程图,如图1所示,该方法包括如下步骤:
步骤S102,接收客户端发送的数据查询请求,其中,上述数据查询请求用于查询业务数据表;
步骤S104,对上述数据查询请求进行语法解析处理,得到初始查询语句;
步骤S106,确定与上述初始查询语句对应的开销匹配规则和语句改写规则;
步骤S108,基于上述开销匹配规则和上述语句改写规则对上述初始查询语句进行改写处理,得到改写后查询语句;
步骤S110,基于上述改写后查询语句从目标数据库中获取业务数据表,以及上述业务数据表中的业务数据。
可选地,上述语法解析处理可以但不限于:获取上述数据查询请求中的初始查询语句,上述初始查询语句包括:查询过滤字段和过滤条件。
需要说明的是,本申请实施例的执行主体是服务器,该服务器在接收客户端发送的数据查询请求之后,确定与上述初始查询语句对应的开销匹配规则和语句改写规则;该客户单基于该数据查询请求来向服务器请求查询业务数据表,服务器对上述数据查询请求进行语法解析处理,得到初始查询语句,例如,查询过滤字段和过滤条件。
可选地,上述开销匹配规则和语句改写规则包括:依据上述查询过滤字段和过滤条件,对上述初始查询语句进行跨维度筛选处理,得到筛选结果;基于上述筛选结果从多个查询规则中确定对应的上述开销匹配规则,以及从多个查询规则中确定对应的上述语句改写规则。
在服务器返回数据查询请求对应的响应结果之前,该服务器先基于上述开销匹配规则和上述语句改写规则对上述初始查询语句进行改写处理,得到改写后查询语句;根据上述语句改写规则获取开销小的改写路径,并对上述开销小的改写路径做进一步的谓词下推改写。再基于上述改写后查询语句获取上述业务数据表,并根据改写后查询语句是否命中上述业务数据表中的核心数据表,从目标数据库中获取业务数据表,以及上述业务数据表中的业务数据。
本实施例可以实现如下技术效果:本实施例中的业务数据查询方法能够使业务数据收敛到核心表的字段和子表,业务数据扩展只需要横向加表,业务数据下线只需要修改引擎规则,具有更好的扩展性;同时,上述业务数据查询方法能够帮助用户屏蔽业务数据间的关系,用户只需输入自己关注的查询语句便能得到想要的结果,具有更好的用户体验;此外,上述业务数据查询方法能够实现对跨业务领域的多个项目进行数据整合,并将开销大的关联动作收敛到核心表的单表查询中,具有更好的实用性。
作为一种可选的实施例,图2是根据本发明实施例的一种可选的业务数据查询方法的总体设计方案图,如图2所示,在本实施例中,上述业务数据查询方法,主要有提交查询21、开销评价22、改写规则23(即语句改写规则)、返回结果24四个关键环节,其中:
提交查询21,用户向客户端提交数据查询请求后,客户端显示界面会呈现一张虚拟表,并显示出虚拟字段,并将上述信息同步至开销评价引擎,其中,上述数据查询请求用于查询业务数据表;
开销评价22,对上述数据查询请求进行语法解析处理,获取上述数据查询请求中的初始查询语句,依据上述初始查询语句确定与上述初始查询语句对应的开销匹配规则,并将上述初始查询语句和上述开销匹配规则传输至改写规则引擎;
改写规则23,依据上述初始查询语句和上述开销匹配规则确定数据库改写规则,生成结构化查询语言sql,登记原始查询语句与改写后查询语句,并将上述改写后查询语句同步至业务数据库;
返回结果24,基于上述改写后查询语句从目标数据库中获取业务数据表,以及上述业务数据表中的业务数据。
作为一种可选的实施例,对上述数据查询请求进行语法解析处理,得到初始查询语句,包括:对上述数据查询请求进行语法解析处理,获取上述数据查询请求中的初始查询语句。
可选地,上述初始查询语句可以但不限于包括:查询过滤字段和过滤条件,其中,上述查询过滤字段对应子表数据量与权重,上述查询过滤条件对应关联语法与权重。
作为一种可选的实施例,确定与上述初始查询语句对应的开销匹配规则和语句改写规则,包括:
步骤S302,依据上述查询过滤字段和过滤条件,对上述初始查询语句进行跨维度筛选处理,得到筛选结果;
步骤S304,基于上述筛选结果从多个查询规则中确定对应的上述开销匹配规则,以及从多个查询规则中确定对应的上述语句改写规则。
作为一种可选的实施例,依据上述查询过滤字段和过滤条件,对上述初始查询语句进行跨维度筛选处理得到筛选结果,包括:
步骤S402,获取与上述查询过滤字段对应的子表数据量和第一权重值,以及与上述过滤条件对应的关联语法和第二权重值;
步骤S404,依据上述子表数据量、上述第一权重值、上述关联语法和第二权重值对上述初始查询语句进行跨维度筛选处理,得到上述筛选结果。
作为一种可选的实施例,图3是根据本发明实施例的一种可选的业务数据库架构图,如图3所示,依据上述查询过滤字段和过滤条件,分别对上述初始查询语句1、初始查询语句2和初始查询语句3进行筛选处理并得到筛选结果,其中初始查询语句1和初始查询语句2进行跨维度筛选,初始查询语句3进行单维度筛选;基于上述筛选结果从多个查询规则中确定对应的上述开销匹配规则,以及从多个查询规则中确定对应的上述语句改写规则;根据上述开销匹配规则和上述语句改写规则对上述初始查询进行开销评估,并根据上述开销评估结果确定业务数据查询范围,例如,在本实施例中,初始查询语句1命中上述核心表,初始查询语句2和初始查询语句3均命中核心表的子集。在本实施例中,上述业务数据库中的数据为全量数据,并按照维度对上述数据进行分类整合,其中,一类维度代表一个字段,一个字段按特定规则汇总多个属性。
在一种可选的实施例中,图4是根据本发明实施例的一种可选的开销评估方法的流程图,依据上述查询过滤字段对应子表数据量与权重、查询过滤条件对应的关联语法与权重以及开销匹配规则进行开销评估,上述开销评估方法包括如下方法步骤:
步骤S501,根据上述开销匹配规则判断子表开销,具体为:总开销=子表扫描代价*权重+子表1子表2关联代价*权重+...子表x子表y关联代价*权重;
步骤S502,根据上述开销匹配规则判断核心表扫描代价,其中,总开销=扫描代价,且二者均为常数;
步骤S503,判断上述子表开销是否小于核心表开销。
可选地,比较子表开销与核心表开销之间的数量关系,若子表开销小于核心表开销,执行步骤S504,若子表开销大于核心表开销,则执行步骤S505。
步骤S504,使用子表语句;
步骤S505,使用核心表语句。
可选地,根据上述语句改写规则获取开销小的改写路径,并对上述开销小的改写路径做进一步的谓词下推改写。
作为一种可选的实施例,基于上述改写后查询语句从目标数据库中获取业务数据表,以及上述业务数据表中的业务数据,包括:
步骤S602,基于上述改写后查询语句获取上述业务数据表,并确定上述改写后查询语句是否命中上述业务数据表中的核心数据表;
步骤S604,若上述改写后查询语句命中上述核心数据表,则返回上述核心数据表中的全量数据。
在一种可选的实施例中,图5是根据本发明实施例的一种可选的业务数据查询方法的流程图,如图5所示,上述业务数据查询方法包括:
基于上述改写后查询语句获取上述业务数据表,并确定上述改写后查询语句是否存在最优化查询结果,若上述改写后查询语句存在最优化结果,即上述改写后查询语句命中上述业务数据表中的核心数据表,则返回上述核心数据表中的全量数据;若上述改写后查询语句不存在最优化结果,即上述改写后查询语句未命中上述业务数据表中的核心数据表,则进入新一轮的业务数据查询,重新进行语法解析、开销匹配以及语法改写,并基于上述改写后查询语句从目标数据库中获取业务数据表,以及上述业务数据表中的业务数据。
作为一种可选的实施例,图6是根据本发明实施例的另一种可选的业务数据查询方法的流程图,如图6所示,基于上述改写后查询语句从目标数据库中获取业务数据表,以及上述业务数据表中的业务数据,包括:
步骤S701,基于上述改写后查询语句获取上述业务数据表,并确定上述改写后查询语句是否命中上述业务数据表中的核心数据表;
步骤S703,若上述改写后查询语并未命中上述核心数据表,则检测上述改写后查询语是否命中上述核心数据表的子集;
步骤S705,若上述改写后查询语命中上述核心数据表的子集,则返回上述核心数据表的子集。
可选地,若上述改写后查询语句命中上述核心数据表,则返回上述核心数据表中的全量数据。若上述改写后查询语并未命中上述核心数据表,则检测上述改写后查询语是否命中上述核心数据表的子集;若上述改写后查询语命中上述核心数据表的子集,则返回上述核心数据表的子集。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例上述的方法。
根据本发明实施例,还提供了一种用于实施上述业务数据查询方法的装置实施例,图7是根据本发明实施例的一种业务数据查询装置的结构示意图,如图7所示,上述业务数据查询装置,包括:接收模块80、查询模块82、确定模块84、改写模块86、获取模块88,其中:
接收模块80,用于接收客户端发送的数据查询请求,其中,上述数据查询请求用于查询业务数据表;查询模块82,用于对上述数据查询请求进行语法解析处理,得到初始查询语句;确定模块84,用于确定与上述初始查询语句对应的开销匹配规则和语句改写规则;改写模块86,用于基于上述开销匹配规则和上述语句改写规则对上述初始查询语句进行改写处理,得到改写后查询语句;获取模块88,用于基于上述改写后查询语句从目标数据库中获取业务数据表,以及上述业务数据表中的业务数据。
需要说明的是,上述各个模块是可以通过软件或硬件来实现的,例如,对于后者,可以通过以下方式实现:上述各个模块可以位于同一处理器中;或者,上述各个模块以任意组合的方式位于不同的处理器中。
此处需要说明的是,上述接收模块80、查询模块82、确定模块84、改写模块86、获取模块88对应于实施例1中的步骤S102至步骤S110,上述模块与对应的步骤所实现的实例和应用场景相同,但不限于上述实施例1所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在计算机终端中。
需要说明的是,本实施例的可选或优选实施方式可以参见实施例1中的相关描述,此处不再赘述。
上述的业务数据查询装置还可以包括处理器和存储器,上述接收模块80、查询模块82、确定模块84、改写模块86、获取模块88等均作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序单元来实现相应的功能。
处理器中包含内核,由内核去存储器中调取相应的程序单元,上述内核可以设置一个或以上。存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM),存储器包括至少一个存储芯片。
根据本发明实施例,还提供了一种非易失性存储介质的实施例。可选地,在本实施例中,上述非易失性存储介质包括存储的程序,其中,在上述程序运行时控制上述非易失性存储介质所在设备执行上述任意一种业务数据查询方法。
可选地,在本实施例中,上述非易失性存储介质可以位于计算机网络中计算机终端群中的任意一个计算机终端中,或者位于移动终端群中的任意一个移动终端中,上述非易失性存储介质包括存储的程序。
可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的程序代码:
S1,接收客户端发送的数据查询请求,其中,上述数据查询请求用于查询业务数据表;
S2,对上述数据查询请求进行语法解析处理,得到初始查询语句;
S3,确定与上述初始查询语句对应的开销匹配规则和语句改写规则;
S4,基于上述开销匹配规则和上述语句改写规则对上述初始查询语句进行改写处理,得到改写后查询语句;
S5,基于上述改写后查询语句从目标数据库中获取业务数据表,以及上述业务数据表中的业务数据。
根据本发明实施例,还提供了一种处理器的实施例。可选地,在本实施例中,上述处理器用于运行程序,其中,上述程序运行时执行上述任意一种业务数据查询方法。
根据本发明实施例,还提供了一种电子设备的实施例,包括存储器和处理器,上述存储器中存储有计算机程序,上述处理器被设置为运行上述计算机程序以执行上述任意一种的业务数据查询方法。
根据本发明实施例,还提供了一种计算机程序产品的实施例,当在数据处理设备上执行时,适于执行初始化有上述任意一种的业务数据查询方法步骤的程序。
可选地,上述计算机程序产品,当在数据处理设备上执行时,适于执行初始化有如下方法步骤的程序:
S1,接收客户端发送的数据查询请求,其中,上述数据查询请求用于查询业务数据表;
S2,对上述数据查询请求进行语法解析处理,得到初始查询语句;
S3,确定与上述初始查询语句对应的开销匹配规则和语句改写规则;
S4,基于上述开销匹配规则和上述语句改写规则对上述初始查询语句进行改写处理,得到改写后查询语句;
S5,基于上述改写后查询语句从目标数据库中获取业务数据表,以及上述业务数据表中的业务数据。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取非易失性存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个非易失性存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的非易失性存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (10)
1.一种业务数据查询方法,其特征在于,包括:
接收客户端发送的数据查询请求,其中,所述数据查询请求用于查询业务数据表;
对所述数据查询请求进行语法解析处理,得到初始查询语句;
确定与所述初始查询语句对应的开销匹配规则和语句改写规则;
基于所述开销匹配规则和所述语句改写规则对所述初始查询语句进行改写处理,得到改写后查询语句;
基于所述改写后查询语句从目标数据库中获取业务数据表,以及所述业务数据表中的业务数据,其中,基于所述开销匹配规则和所述语句改写规则对所述初始查询语句进行改写处理,得到改写后查询语句,包括:根据所述开销匹配规则判断子表开销和核心表开销;将所述子表开销和所述核心表开销中开销小的确定为所述语句改写规则的改写路径,根据所述语句改写规则和所述改写路径对所述初始查询语句进行谓词下推改写。
2.根据权利要求1所述的方法,其特征在于,对所述数据查询请求进行语法解析处理,得到初始查询语句,包括:
对所述数据查询请求进行语法解析处理,获取所述数据查询请求中的初始查询语句,其中,所述初始查询语句包括:查询过滤字段和过滤条件。
3.根据权利要求2所述的方法,其特征在于,确定与所述初始查询语句对应的开销匹配规则和语句改写规则,包括:
依据所述查询过滤字段和过滤条件,对所述初始查询语句进行跨维度筛选处理,得到筛选结果;
基于所述筛选结果从多个查询规则中确定对应的所述开销匹配规则,以及从多个查询规则中确定对应的所述语句改写规则。
4.根据权利要求3所述的方法,其特征在于,依据所述查询过滤字段和过滤条件,对所述初始查询语句进行跨维度筛选处理得到筛选结果,包括:
获取与所述查询过滤字段对应的子表数据量和第一权重值,以及与所述过滤条件对应的关联语法和第二权重值;
依据所述子表数据量、所述第一权重值、所述关联语法和第二权重值对所述初始查询语句进行跨维度筛选处理,得到所述筛选结果。
5.根据权利要求1所述的方法,其特征在于,基于所述改写后查询语句从目标数据库中获取业务数据表,以及所述业务数据表中的业务数据,包括:
基于所述改写后查询语句获取所述业务数据表,并确定所述改写后查询语句是否命中所述业务数据表中的核心数据表;
若所述改写后查询语句命中所述核心数据表,则返回所述核心数据表中的全量数据。
6.根据权利要求1所述的方法,其特征在于,基于所述改写后查询语句从目标数据库中获取业务数据表,以及所述业务数据表中的业务数据,包括:
基于所述改写后查询语句获取所述业务数据表,并确定所述改写后查询语句是否命中所述业务数据表中的核心数据表;
若所述改写后查询语句并未命中所述核心数据表,则检测所述改写后查询语是否命中所述核心数据表的子集;
若所述改写后查询语命中所述核心数据表的子集,则返回所述核心数据表的子集。
7.一种业务数据查询装置,其特征在于,包括:
接收模块,用于接收客户端发送的数据查询请求,其中,所述数据查询请求用于查询业务数据表;
查询模块,用于对所述数据查询请求进行语法解析处理,得到初始查询语句;
确定模块,用于确定与所述初始查询语句对应的开销匹配规则和语句改写规则;
改写模块,用于基于所述开销匹配规则和所述语句改写规则对所述初始查询语句进行改写处理,得到改写后查询语句;
获取模块,用于基于所述改写后查询语句从目标数据库中获取业务数据表,以及所述业务数据表中的业务数据,其中,
所述改写模块还用于根据所述开销匹配规则判断子表开销和核心表开销;将所述子表开销和所述核心表开销中开销小的确定为所述语句改写规则的改写路径,根据所述语句改写规则和所述改写路径对所述初始查询语句进行谓词下推改写。
8.一种非易失性存储介质,其特征在于,所述非易失性存储介质存储有多条指令,所述指令适于由处理器加载并执行权利要求1至6中任意一项所述的业务数据查询方法。
9.一种处理器,其特征在于,所述处理器用于运行程序,其中,所述程序被设置为运行时执行权利要求1至6中任意一项所述的业务数据查询方法。
10.一种电子设备,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行权利要求1至6中任意一项所述的业务数据查询方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110693654.7A CN113434529B (zh) | 2021-06-22 | 2021-06-22 | 业务数据查询方法、装置、存储介质、处理器及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110693654.7A CN113434529B (zh) | 2021-06-22 | 2021-06-22 | 业务数据查询方法、装置、存储介质、处理器及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113434529A CN113434529A (zh) | 2021-09-24 |
CN113434529B true CN113434529B (zh) | 2023-06-16 |
Family
ID=77757089
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110693654.7A Active CN113434529B (zh) | 2021-06-22 | 2021-06-22 | 业务数据查询方法、装置、存储介质、处理器及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113434529B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115185921B (zh) * | 2022-05-17 | 2023-06-16 | 贝壳找房(北京)科技有限公司 | 数据库故障止损方法、装置、电子设备、介质及程序产品 |
CN114861214B (zh) * | 2022-07-08 | 2022-10-14 | 智控天下(北京)商业管理有限公司 | 业务数据监控方法、设备、存储介质及装置 |
CN117453732B (zh) * | 2023-12-25 | 2024-03-01 | 智业软件股份有限公司 | 一种cdss医嘱数据查询优化方法和系统 |
CN117931847A (zh) * | 2024-03-22 | 2024-04-26 | 恒生电子股份有限公司 | 数据处理系统及方法 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103064875A (zh) * | 2012-10-30 | 2013-04-24 | 中国标准化研究院 | 一种服务化空间数据分布式查询方法 |
CN104484392A (zh) * | 2014-12-11 | 2015-04-01 | 北京国双科技有限公司 | 数据库查询语句生成方法及装置 |
US9183254B1 (en) * | 2012-05-04 | 2015-11-10 | Paraccel Llc | Optimizing database queries using subquery composition |
CN107451191A (zh) * | 2017-06-26 | 2017-12-08 | 杭州沃趣科技股份有限公司 | 一种对多个谓词进行排序的方法 |
CN109656946A (zh) * | 2018-09-29 | 2019-04-19 | 阿里巴巴集团控股有限公司 | 一种多表关联查询方法、装置及设备 |
CN110046181A (zh) * | 2019-03-13 | 2019-07-23 | 平安科技(深圳)有限公司 | 基于数据库分布式存储的数据路由的方法和装置 |
CN112559554A (zh) * | 2020-12-24 | 2021-03-26 | 北京百家科技集团有限公司 | 一种查询语句优化方法及装置 |
CN112765017A (zh) * | 2021-01-08 | 2021-05-07 | 中国工商银行股份有限公司 | 基于MySQL数据库的数据查询性能测试方法和装置 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170249360A1 (en) * | 2016-02-26 | 2017-08-31 | International Business Machines Corporation | Skew sensitive estimating of record cardinality of a join predicate for rdbms query optimizer access path selection |
US10649987B2 (en) * | 2017-01-31 | 2020-05-12 | Salesforce.Com, Inc. | Systems, methods, and apparatuses for implementing conditional statement execution within a multi-tenant aware structured query language |
-
2021
- 2021-06-22 CN CN202110693654.7A patent/CN113434529B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9183254B1 (en) * | 2012-05-04 | 2015-11-10 | Paraccel Llc | Optimizing database queries using subquery composition |
CN103064875A (zh) * | 2012-10-30 | 2013-04-24 | 中国标准化研究院 | 一种服务化空间数据分布式查询方法 |
CN104484392A (zh) * | 2014-12-11 | 2015-04-01 | 北京国双科技有限公司 | 数据库查询语句生成方法及装置 |
CN107451191A (zh) * | 2017-06-26 | 2017-12-08 | 杭州沃趣科技股份有限公司 | 一种对多个谓词进行排序的方法 |
CN109656946A (zh) * | 2018-09-29 | 2019-04-19 | 阿里巴巴集团控股有限公司 | 一种多表关联查询方法、装置及设备 |
CN110046181A (zh) * | 2019-03-13 | 2019-07-23 | 平安科技(深圳)有限公司 | 基于数据库分布式存储的数据路由的方法和装置 |
CN112559554A (zh) * | 2020-12-24 | 2021-03-26 | 北京百家科技集团有限公司 | 一种查询语句优化方法及装置 |
CN112765017A (zh) * | 2021-01-08 | 2021-05-07 | 中国工商银行股份有限公司 | 基于MySQL数据库的数据查询性能测试方法和装置 |
Non-Patent Citations (3)
Title |
---|
On-the-fly Composition of FPGA-Based SQL Query Accelerators Using A Partially Reconfigurable Module Library;Dennl, Christopher等;《2012 IEEE 20TH ANNUAL INTERNATIONAL SYMPOSIUM ON FIELD-PROGRAMMABLE CUSTOM COMPUTING MACHINES (FCCM)》;第45-52页 * |
一种对象代理数据库的跨类查询优化方法;蒋廉等;《计算机工程与科学》;第1425-1433页 * |
基于PCEDM的数据查询模型研究;李永盛;《中国优秀硕士学位论文全文数据库 信息科技辑》;I138-416 * |
Also Published As
Publication number | Publication date |
---|---|
CN113434529A (zh) | 2021-09-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113434529B (zh) | 业务数据查询方法、装置、存储介质、处理器及电子设备 | |
CN109299110B (zh) | 数据查询方法、装置、存储介质和电子设备 | |
KR102278020B1 (ko) | 챗봇을 이용한 질의응답 처리 장치 및 방법 | |
CN103207881B (zh) | 查询方法和装置 | |
CN109426725B (zh) | 数据脱敏方法、设备及计算机可读存储介质 | |
CN111666326B (zh) | Etl调度方法及装置 | |
US10102269B2 (en) | Object query model for analytics data access | |
CN105431844A (zh) | 用于搜索系统的第三方搜索应用 | |
CN108153716B (zh) | 表单处理方法、装置、存储介质及电子设备 | |
CN103368992A (zh) | 一种信息推送方法及装置 | |
CN111143543A (zh) | 一种对象推荐方法、装置、设备及介质 | |
CN112416962A (zh) | 数据查询方法、装置以及存储介质 | |
US10776352B2 (en) | Generic query language for data stores | |
CN110245289A (zh) | 一种信息搜索方法以及相关设备 | |
US11023499B2 (en) | Object relational mapping for relational databases | |
US20220052976A1 (en) | Answer text processing methods and apparatuses, and key text determination methods | |
EP3311313B1 (en) | Network server, methods and computer program product for providing data as a service (daas) in real-time | |
CN110069769A (zh) | 应用标签生成方法、装置及存储设备 | |
US9152698B1 (en) | Substitute term identification based on over-represented terms identification | |
CN111611369B (zh) | 基于人工智能的交互方法和相关装置 | |
CN114003818A (zh) | 页面推荐方法、装置、服务器及存储介质 | |
CN105512260A (zh) | 电子书多段节选分享方法及装置 | |
US10467269B2 (en) | Accessing category-specific search servers | |
US20170193119A1 (en) | Add-On Module Search System | |
CN112925878A (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 |