CN109766354A - 业务数据查询的优化方法、装置及设备 - Google Patents
业务数据查询的优化方法、装置及设备 Download PDFInfo
- Publication number
- CN109766354A CN109766354A CN201811474122.9A CN201811474122A CN109766354A CN 109766354 A CN109766354 A CN 109766354A CN 201811474122 A CN201811474122 A CN 201811474122A CN 109766354 A CN109766354 A CN 109766354A
- Authority
- CN
- China
- Prior art keywords
- business datum
- inquiry
- information
- query
- predetermined keyword
- 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.)
- Pending
Links
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开了一种业务数据查询的优化方法、装置及设备,涉及数据处理技术领域,可解决现有技术中存在的改造成本高,周期不可控的问题。其中方法包括:当接收到业务数据的查询请求指令时,对所述查询请求指令进行解析,得到所述业务数据对应的查询语句信息;对所述查询语句信息进行语法分析,获取符合预设条件的关键信息;根据所述关键信息确定所述业务数据对应的查询路径;按照所述查询路径执行所述业务数据的查询操作。本申请适用于业务数据查询的优化。
Description
技术领域
本申请涉及数据处理技术领域,尤其是涉及到一种业务数据查询的优化方法、装置及设备。
背景技术
随着信息技术的发展,人们对业务数据查询的需求越来越多。具体可通过精确检索、模糊检索等方式在业务***的数据库中查询到用户自身需要的业务数据,进而满足用户相应的业务需求。在业务***的数据库中存在大量的表数据时,会对业务数据的效率造成影响,并且随着数据量的增加,将会极大的消耗数据库的性能。
目前,为了解决上述这一问题,可通过倒排索引的方式根据索引表中每一项包括的属性值和具有该属性值的各记录的地址进行业务数据查询,即由属性值来确定业务数据记录的位置,然后按照该位置获取相应的业务数据。
然而,这种倒排索引的方式需要业务开发人员进行代码修改才能实现,尤其是历史遗留***或代码量很大的***,由于其功能点多,代码量大,因此会存在改造成本高,周期不可控的问题。同时对于业务开发人员的技术水平要求也是较高的。
发明内容
有鉴于此,本申请提供了一种业务数据查询的优化方法、装置及设备,主要目的在于解决目前利用倒排索引的方式需要业务开发人员进行代码修改才能实现,因此会存在改造成本高,周期不可控的问题。
根据本申请的一个方面,提供了一种业务数据查询的优化方法,该方法包括:
当接收到业务数据的查询请求指令时,对所述查询请求指令进行解析,得到所述业务数据对应的查询语句信息;
对所述查询语句信息进行语法分析,获取符合预设条件的关键信息;
根据所述关键信息确定所述业务数据对应的查询路径;
按照所述查询路径执行所述业务数据的查询操作。
优选的,对所述查询请求指令进行解析,得到所述业务数据对应的查询语句信息,具体包括:
利用数据库访问协议,识别所述查询请求指令中携带的数据段;
按照识别出的所述数据段,还原相应的SQL查询语句。
优选的,对所述查询语句信息进行语法分析,获取符合预设条件的关键信息,具体包括:
对所述SQL查询语句进行抽象语法树分析,得到所述SQL查询语句中的数据源信息和谓词信息;
将所述数据源信息和所述谓词信息确定为符合所述预设条件的关键信息。
优选的,根据所述关键信息确定所述业务数据对应的查询路径,具体包括:
对所述谓词信息进行分词;
将分词结果与预设关键词进行匹配;
若存在匹配的预设关键词,则根据与所述匹配的预设关键词对应的预设路由规则,确定所述业务数据对应的查询路径,其中,每个所述预设路由规则都有各自对应的查询路径;
若不存在匹配的预设关键词,则将数据库的位置确定为所述业务数据对应的查询路径。
优选的,所述根据与所述匹配的预设关键词对应的预设路由规则,确定所述业务数据对应的查询路径,具体包括:
若根据所述匹配的预设关键词确定所述查询请求指令符合模糊搜索条件,则将搜索引擎的位置确定为所述业务数据对应的查询路径。
优选的,所述方法还包括:
接收所述预设关键词和所述预设路由规则的更新信息;
按照所述更新信息,对所述预设关键词和与所述预设关键词对应的所述预设路由规则进行更新。
优选的,根据所述关键信息确定所述业务数据对应的查询路径,具体包括:
若根据所述数据源信息,确定所述业务数据在缓存中存在备份,则将所述缓存对应的位置确定为所述业务数据对应的查询路径。
优选的,在按照所述查询路径执行所述业务数据的查询操作之后,所述方法还包括:
若所述业务数据包含的各个业务子数据需要按照不同的所述查询路径进行查询,则将所述各个业务子数据的查询结果,按照数据库访问协议进行统一的数据封装,得到所述业务数据的查询结果。
根据本申请的另一方面,提供了一种业务数据查询的优化装置,该装置包括:
解析单元,用于当接收到业务数据的查询请求指令时,对所述查询请求指令进行解析,得到所述业务数据对应的查询语句信息;
分析单元,用于对所述查询语句信息进行语法分析,获取符合预设条件的关键信息;
确定单元,用于根据所述关键信息确定所述业务数据对应的查询路径;
执行单元,用于按照所述查询路径执行所述业务数据的查询操作。
优选的,所述解析单元,具体用于利用数据库访问协议,识别所述查询请求指令中携带的数据段;
按照识别出的所述数据段,还原相应的SQL查询语句。
优选的,所述分析单元,具体用于对所述SQL查询语句进行抽象语法树分析,得到所述SQL查询语句中的数据源信息和谓词信息;
将所述数据源信息和所述谓词信息确定为符合所述预设条件的关键信息。
优选的,所述确定单元,具体用于对所述谓词信息进行进行分词;
将分词结果与预设关键词进行匹配;
若存在匹配的预设关键词,则根据与所述匹配的预设关键词对应的预设路由规则,确定所述业务数据对应的查询路径,其中,每个所述预设路由规则都有各自对应的查询路径;
若不存在匹配的预设关键词,则将数据库的位置确定为所述业务数据对应的查询路径。
优选的,所述确定单元,具体还用于若根据所述匹配的预设关键词确定所述查询请求指令符合模糊搜索条件,则将搜索引擎的位置确定为所述业务数据对应的查询路径。
优选的,所述装置还包括:
接收单元,用于接收所述预设关键词和所述预设路由规则的更新信息;
更新单元,用于按照所述更新信息,对所述预设关键词和与所述预设关键词对应的所述预设路由规则进行更新。
优选的,所述确定单元,具体还用于若根据所述数据源信息,确定所述业务数据在缓存中存在备份,则将所述缓存对应的位置确定为所述业务数据对应的查询路径。
优选的,所述装置还包括:
封装单元,用于若所述业务数据包含的各个业务子数据需要按照不同的所述查询路径进行查询,则将所述各个业务子数据的查询结果,按照数据库访问协议进行统一的数据封装,得到所述业务数据的查询结果。
依据本申请又一个方面,提供了一种存储介质,其上存储有计算机程序,所述程序被处理器执行时实现上述业务数据查询的优化方法。
依据本申请再一个方面,提供了一种业务数据查询优化的实体设备,包括存储介质、处理器及存储在存储介质上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述业务数据查询的优化方法。
借由上述技术方案,本申请提供的一种业务数据查询的优化方法、装置及设备,与目前现有的倒排索引的方式相比,本申请可对接收到的业务数据的查询请求指令进行解析得到相应的查询语句信息,再根据该查询语句信息进行语法分析得到的关键信息,确定该业务数据对应的查询路径,以便按照该查询路径执行业务数据查询操作。整个方案无需修改原有***的代码逻辑,即可提高业务数据的查询效率,不会存在改造成本高,周期不可控、可能存在风险的问题。也降低了对于业务开发人员的技术水平要求,可做到用户无感知下提高业务数据查询效率,保证了对业务透明无感知。
上述说明仅是本申请技术方案的概述,为了能够更清楚了解本申请的技术手段,而可依照说明书的内容予以实施,并且为了让本申请的上述和其它目的、特征和优点能够更明显易懂,以下特举本申请的具体实施方式。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1示出了本申请实施例提供的一种业务数据查询的优化方法的流程示意图;
图2示出了本申请实施例提供的另一种业务数据查询的优化方法的流程示意图;
图3示出了本申请实施例提供的一种应用场景实例示意图;
图4示出了本申请实施例提供的解决应用场景实例问题的方法流程示意图;
图5示出了本申请实施例提供的一种业务数据查询的优化装置的结构示意图;
图6示出了本申请实施例提供的另一种业务数据查询的优化装置的结构示意图。
具体实施方式
下文中将参考附图并结合实施例来详细说明本申请。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
针对目前现有的倒排索引的方式会存在改造成本高、周期不可控、可能存在风险的问题,本实施例提供了一种业务数据查询的优化方法,如图1所示,该方法包括:
101、当接收到业务数据的查询请求指令时,对查询请求指令进行解析,得到业务数据对应的查询语句信息。
其中,查询语句信息可包含向数据库查询业务数据的查询语句内容。用户需要查询的业务数据可根据实际用户需求而定,例如需要查询的业务数据为商家的营业额数据、仓库的货品存放数据等。
对于本实施例的执行主体可以为处理业务数据查询请求的装置或设备,可配置在客户端侧或者服务器侧,具体根据实际业务需求而定。
102、对查询语句信息进行语法分析,得到符合预设条件的关键信息。
其中,预设条件可根据实际需求预先设定。例如,符合预设条件的关键信息可用于判断本次查询请求包含的查询类型,如模糊查询、关联查询、精确查询等,这里模糊查询和关联查询可能会加大对数据库性能的影响。以便按照该查询类型确定业务数据对应的查询路径。再例如,符合预设条件的关键信息可用于判断本次查询请求是否与最近相邻时刻的查询请求内容相同,以便根据该判断结果确定业务数据对应的查询路径。
在本实施例中,预先统计业务数据查询语句可包含的不同语法信息,生成相应的语法词典,然后按照该语法词典,对本次的查询语句信息进行语法分析,从该查询语句信息中获取得到符合预设条件的关键信息。
103、根据分析获取得到的关键信息确定业务数据对应的查询路径。
其中,查询路径相当于指示业务数据在哪个路径中查询。例如,查询路径可包含搜索引擎、缓存、数据库等路径,该搜索引擎是指根据一定的策略、运用特定的计算机程序从互联网上搜集信息,在对信息进行组织和处理后,为用户提供检索服务,将用户检索相关的信息展示给用户的***,即对互联网信息资源进行搜索整理和分类,并储存在网络数据库中供用户查询的***,包括信息搜集、信息分类、用户查询三部分。
对于本实施例,可根据分析获取得到的符合预设条件的关键信息,可自动找到业务数据对应的更加合适的查询路径。无需对原***修改原有***的代码逻辑,即可提高业务数据的查询效率。
104、按照查询路径执行业务数据的查询操作。
例如,如果本次查询请求为模糊查询和/或关联查询类型的查询请求,相应的查询路径可为搜索引擎的路径,这样可通过搜索引擎执行该业务数据的查询操作,进而避免对数据库的性能造成过多影响。在查询得到结果后返回给调用方进行展示,使得用户观看到查询结果。
通过应用上述实施过程,与目前现有的倒排索引的方式相比,本实施例方法无需修改原有***的代码逻辑,即可提高业务数据的查询效率,不会存在改造成本高,周期不可控、可能存在风险的问题。也降低了对于业务开发人员的技术水平要求,可做到用户无感知下提高业务数据查询效率,保证了对业务透明无感知。
进一步的,作为上述实施例具体实施方式的细化和扩展,为了完整说明本实施例方法的实施过程,以结构化查询语言(Structured Query Language,SQL)语句查询业务数据为例,提供了另一种业务数据查询的优化方法,如图2所示,该方法包括:
201、当接收到业务数据的查询请求指令时,利用数据库访问协议,识别查询请求指令中携带的数据段。
其中,数据库访问协议可预先获取得到,以便解析查询语句信息时可快速响应。对于本实施例,可利用基于传输控制协议(Transmission Control Protocol,TCP)/互联网协议(Internet Protocol,IP)进行通信,利用Java jdbc连接数据库。TCP/IP是一套被用于连接互联网上各主机的通信协议。
202、按照识别出的数据段,还原相应的SQL查询语句。
具体的,按照识别出的数据段进行进一步解析,结合SQL查询语句的构建标准,还原相应的SQL查询语句,该SQL查询语句可为用户用于业务数据查询而输入的SQL查询语句。
203、对SQL查询语句进行抽象语法树分析,得到SQL查询语句中的数据源信息和谓词信息。
其中,抽象语法树(abstract syntax tree,AST),或者语法树(syntax tree),是源代码的抽象语法结构的树状表现形式,这里特指编程语言的源代码。和抽象语法树相对的是具体语法树(concrete syntaxtree),通常称作分析树(parse tree)。一般的,在源代码的翻译和编译过程中,语法分析器创建出分析树。数据源信息中可包含数据来源情况,数据源是数据、访问该数据所需的信息和该数据源位置的特定集合,其中的数据源位置可用数据源名称描述。谓词信息可包含业务数据的查询条件内容。
204、将分析得到的数据源信息和谓词信息确定为符合预设条件的关键信息。
例如,对提取出的SQL查询语句进行AST语法树分析,提取关键信息如数据来源、谓词(如表、查询条件等)。
205、根据关键信息确定业务数据对应的查询路径。
作为一种可选方式,步骤205具体可包括:首先对关键信息中的谓词信息进行分词;然后将分词结果与预设关键词进行匹配,其中预设关键词可根据实际需求预先设置,目的是为了提取查询语句中的关键词,以便找到业务数据更加合适的查询路径;接下来若存在匹配的预设关键词,则根据与匹配的预设关键词对应的预设路由规则,确定业务数据对应的查询路径,其中,每个预设路由规则都有各自对应的查询路径,预设路由规则对应指示业务数据应从哪个查询路径中查询;若不存在匹配的预设关键词,则将数据库的位置确定为业务数据对应的查询路径。
例如,预先配置一些关键词,识别出查询语句中的关键词,如果该关键词为模糊搜索和/或关联搜索相关的关键词,说明本次查询属于模糊搜索和/或关联搜索范畴,如果利用数据库查询会由于查询数据量较大而导致影响数据库的性能,本实施例可按照与该关键词对应的预设路由规则,将搜索引擎的位置作为该业务数据对应的查询路径,进而利用搜索引擎进行业务数据查询,降低数据库查询的性能影响。
再例如,如果根据识别出的查询语句中的关键词,确定本次查询与上次查询(距离当前查询时刻的时长小于一定阈值)的业务数据无变化,相当于最近时刻刚查询过,由于***会在缓存中保留该业务数据一段时间(相当于缓存热数据,然后利用缓存查询该热数据),因此本实施例可按照与该关键词对应的预设路由规则,将缓存的位置作为该业务数据对应的查询路径,进而利用缓存进行业务数据查询,降低数据库查询的性能影响。
需要说明的是,对于本实施例,将分词结果与预设关键词进行匹配的过程,除了精确匹配的方式以外,如果没有匹配成功的预设关键词,还可进行模糊匹配,找到与分词结果语义相近的预设关键词,进而做到更全面的预设关键词匹配。如果确定没有匹配的预设关键词,说明本次业务数据查询并非模糊查询和/或关联查询,在缓存中也不存在该业务数据,可直接将数据库的位置确定为该业务数据对应的查询路径,进而利用数据库进行该业务数据的查询,由于不是模糊查询和/或关联查询,对数据库的性能影响较小,并且可提高业务数据的查询效率。
为了说明上述根据与匹配的预设关键词对应的预设路由规则,确定业务数据对应的查询路径的步骤,作为一种可选方式,该过程具体可包括:若根据匹配的预设关键词确定本次查询请求指令符合模糊搜索条件,则将搜索引擎的位置确定为业务数据对应的查询路径。
其中,模糊搜索条件可根据实际需求预先配置。例如,匹配的预设关键词为“like”,该关键词在查询语句中属于模糊搜索范畴,因此本次查询请求指令符合模糊搜索条件,为了降低对数据库的性能影响,可将搜索引擎的位置确定为该需要查询的业务数据对应的查询路径,以便利用搜索引擎进行该业务数据的查询。
进一步的,为了满足预设关键词和预设路由规则的更新需求,本实施例还可包括:接收预设关键词和预设路由规则的更新信息;然后按照更新信息,对预设关键词和与预设关键词对应的预设路由规则进行更新。进而使得本实施例方法可基于最新的预设关键词和与其对应的最新的预设路由规则来实现得到。
除了上述方式以外,为了更加快速的确定业务数据的查询路径,作为一种可选方式,步骤205具体还可包括:若根据数据源信息,确定业务数据在缓存中存在备份,则将缓存对应的位置确定为业务数据对应的查询路径。由于数据源信息中包含业务数据的数据来源,如果根据该数据源信息,确定需要查询的业务数据在缓存中存在备份,那么可直接将缓存对应的位置确定为该业务数据对应的查询路径,以便利用缓存进行该业务数据的查询。例如,根据该数据源信息,确定需要查询的业务数据为最近时间段内集中查询的热数据,而***为了降低对数据库的性能影响会将热数据保存在缓存中,然后利用缓存代替数据库进行热数据查询,因此可直接将该业务数据的查询路径设置为缓存的位置,进而在缓存中查询该业务数据,避免影响数据库的性能。
206、按照查询路径执行业务数据的查询操作。
例如,如果查询路径为缓存的位置,那么可在缓存中查询该业务数据;如果查询路径为搜索引擎的位置,那么可在搜索引擎中查询该业务数据;如果查询路径为数据库的位置,那么可在数据库中查询该业务数据。
207、若业务数据包含的各个业务子数据需要按照不同的查询路径进行查询,则将各个业务子数据的查询结果,按照数据库访问协议进行统一的数据封装,得到业务数据的查询结果。
例如,将业务数据包含的业务子数据A需要在缓存中查询,业务子数据B需要在搜索引擎中查询,业务子数据C需要在数据库中查询,那么将这三个查询路径查询得到的查询结果,按照数据库访问协议进行统一的数据封装,得到该业务数据最终的查询结果进行展示。通过这种方式在装置侧可实现在降低对数据库性能影响的情况下做到业务数据的准确查询,在用户侧可实现用户无感知,需要查询的业务数据可准确输出展示,满足用户的查询需求。
为了方便理解上述本实施例所描述的内容,以Java数据库连接(Java DataBaseConnectivity,JDBC)驱动方式为例,给出如下应用场景,但不限于此,还可为开放数据库互连(Open Database Connectivity,ODBC)驱动方式等。
目前,传统业务***通过JDBC访问数据库(Database,DB),数据库提供数据服务,在接收到JDBC客户端发送的业务数据查询请求时,在数据库中查询业务数据并返回给JDBC客户端,具体如图3所示。业务***中通常需要编写大量的SQL查询语句,其中有不可避免的需要通过名称(标题)模糊检索,同时还需要进行大量的关联查询。而随着数据量的增加,无论是关联查询还是模糊检索将会极大的消耗数据库性能。为了解决该技术问题,本实施例提供一种无需业务开发人员修改原有***的SQL代码逻辑,即可提高业务数据查询效率的技术方案。
具体的实施过程如图4所示。1、JDBC客户端发送业务数据查询请求后,在对数据库提供的JDBC驱动链接访问代理层(Data Access Layer,DAL)负责接收客户端的业务数据查询请求。2、根据数据库访问协议,解析出数据段并还原SQL查询语句。3、对提取出的SQL查询语句进行AST语法树分析,提取关键信息如数据源、谓词(表、查询条件)。对谓词进行分词并与预设关键词匹配,按照可作用全文检索的特性,提取出相应的关键词。4、根据提取的关键词进行分析并查看是否有匹配上的路由规则,如果匹配不上则继续请求DB,对符合匹配条件的关键词进行SQL改写或者路由其它服务。5、匹配路由规则,模糊搜索直接利用搜索引擎查询,数据无变化的利用缓存查询,无适配规则的直接利用数据库查询,如关键词“like”匹配路由规则“搜索”(即对应搜索引擎),关键词“=”匹配路由规则“缓存”(即对应缓存)。路由规则需要提前按照关键词以及对应的服务进行映射,匹配上时进行功能路由到对应的服务(如搜索引擎、缓存、数据库等)。6、对不同的服务(如搜索引擎、缓存等)返回的数据查询结果按照数据库访问协议,进行统一的数据封装,并返回给JDBC客户端。
对于实施例的方案,无需修改***业务代码,即可达到优化查询SQL的效果,保证了对业务透明无感知。因无需修改业务端,所以风险小。业务开发人员可无感知接入搜索引擎、缓存处理能力的流程。
进一步的,作为图1所示方法的具体实现,本实施例提供了一种业务数据查询的优化装置,如图5所示,该装置包括:解析单元31、分析单元32、确定单元33、执行单元34。
解析单元31,可用于当接收到业务数据的查询请求指令时,对查询请求指令进行解析,得到业务数据对应的查询语句信息;
分析单元32,可用于对查询语句信息进行语法分析,获取符合预设条件的关键信息;
确定单元33,可用于根据关键信息确定业务数据对应的查询路径;
执行单元34,可用于按照查询路径执行业务数据的查询操作。
在具体的应用场景中,解析单元31,具体可用于利用数据库访问协议,识别查询请求指令中携带的数据段;按照识别出的数据段,还原相应的SQL查询语句。
在具体的应用场景中,分析单元32,具体可用于对SQL查询语句进行抽象语法树分析,得到SQL查询语句中的数据源信息和谓词信息;将数据源信息和谓词信息确定为符合预设条件的关键信息。
在具体的应用场景中,确定单元33,具体可用于对谓词信息进行进行分词;将分词结果与预设关键词进行匹配;若存在匹配的预设关键词,则根据与匹配的预设关键词对应的预设路由规则,确定业务数据对应的查询路径,其中,每个预设路由规则都有各自对应的查询路径;若不存在匹配的预设关键词,则将数据库的位置确定为业务数据对应的查询路径。
在具体的应用场景中,确定单元33,具体还可用于若根据匹配的预设关键词确定查询请求指令符合模糊搜索条件,则将搜索引擎的位置确定为业务数据对应的查询路径。
在具体的应用场景中,如图6所示,本装置还可包括:接收单元35和更新单元36;
接收单元35,可用于接收预设关键词和预设路由规则的更新信息;
更新单元36,可用于按照更新信息,对预设关键词和与预设关键词对应的预设路由规则进行更新。
在具体的应用场景中,确定单元33,具体还可用于若根据数据源信息,确定业务数据在缓存中存在备份,则将缓存对应的位置确定为业务数据对应的查询路径。
在具体的应用场景中,如图6所示,本装置还包括:封装单元37;
封装单元37,可用于若业务数据包含的各个业务子数据需要按照不同的查询路径进行查询,则将各个业务子数据的查询结果,按照数据库访问协议进行统一的数据封装,得到业务数据的查询结果。
需要说明的是,本实施例提供的一种业务数据查询的优化装置所涉及各功能单元的其它相应描述,可以参考图1至图2中的对应描述,在此不再赘述。
基于上述如图1和图2所示方法,相应的,本实施例还提供了一种存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述如图1所示的业务数据查询的优化方法。具体可基于Java语言工具和Java2平台企业版(Java 2Platform Enterprise Edition,J2EE)技术体系来实现。
基于这样的理解,本申请的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施场景所述的方法。
基于上述如图1和图2所示的方法,以及图5、图6所示的虚拟装置实施例,为了实现上述目的,本实施例还提供了一种业务数据查询优化的实体设备,具体可以为个人计算机,智能手机、平板电脑、智能手表,服务器,或者其它网络设备等,该实体设备包括存储介质和处理器;存储介质,用于存储计算机程序;处理器,用于执行计算机程序以实现上述如图1和图2所示的业务数据查询的优化方法。
可选的,该实体设备还可以包括用户接口、网络接口、摄像头、射频(RadioFrequency,RF)电路,传感器、音频电路、WI-FI模块等等。用户接口可以包括显示屏(Display)、输入单元比如键盘(Keyboard)等,可选用户接口还可以包括USB接口、读卡器接口等。网络接口可选的可以包括标准的有线接口、无线接口(如WI-FI接口)等。
本领域技术人员可以理解,本实施例提供的一种业务数据查询的优化设备的结构并不构成对该实体设备的限定,可以包括更多或更少的部件,或者组合某些部件,或者不同的部件布置。
存储介质中还可以包括操作***、网络通信模块。操作***是管理上述业务数据查询优化的实体设备硬件和软件资源的程序,支持信息处理程序以及其它软件和/或程序的运行。网络通信模块用于实现存储介质内部各组件之间的通信,以及与信息处理实体设备中其它硬件和软件之间通信。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本申请可以借助软件加必要的通用硬件平台的方式来实现,也可以通过硬件实现。通过应用本申请的技术方案,无需修改原有***的代码逻辑,即可提高业务数据的查询效率,不会存在改造成本高,周期不可控、可能存在风险的问题。也降低了对于业务开发人员的技术水平要求,可做到用户无感知下提高业务数据查询效率,保证了对业务透明无感知。
本领域技术人员可以理解附图只是一个优选实施场景的示意图,附图中的模块或流程并不一定是实施本申请所必须的。本领域技术人员可以理解实施场景中的装置中的模块可以按照实施场景描述进行分布于实施场景的装置中,也可以进行相应变化位于不同于本实施场景的一个或多个装置中。上述实施场景的模块可以合并为一个模块,也可以进一步拆分成多个子模块。
上述本申请序号仅仅为了描述,不代表实施场景的优劣。以上公开的仅为本申请的几个具体实施场景,但是,本申请并非局限于此,任何本领域的技术人员能思之的变化都应落入本申请的保护范围。
Claims (10)
1.一种业务数据查询的优化方法,其特征在于,包括:
当接收到业务数据的查询请求指令时,对所述查询请求指令进行解析,得到所述业务数据对应的查询语句信息;
对所述查询语句信息进行语法分析,获取符合预设条件的关键信息;
根据所述关键信息确定所述业务数据对应的查询路径;
按照所述查询路径执行所述业务数据的查询操作。
2.根据权利要求1所述的方法,其特征在于,对所述查询请求指令进行解析,得到所述业务数据对应的查询语句信息,具体包括:
利用数据库访问协议,识别所述查询请求指令中携带的数据段;
按照识别出的所述数据段,还原相应的SQL查询语句。
3.根据权利要求2所述的方法,其特征在于,对所述查询语句信息进行语法分析,获取符合预设条件的关键信息,具体包括:
对所述SQL查询语句进行抽象语法树分析,得到所述SQL查询语句中的数据源信息和谓词信息;
将所述数据源信息和所述谓词信息确定为符合所述预设条件的关键信息。
4.根据权利要求3所述的方法,其特征在于,根据所述关键信息确定所述业务数据对应的查询路径,具体包括:
对所述谓词信息进行分词;
将分词结果与预设关键词进行匹配;
若存在匹配的预设关键词,则根据与所述匹配的预设关键词对应的预设路由规则,确定所述业务数据对应的查询路径,其中,每个所述预设路由规则都有各自对应的查询路径;
若不存在匹配的预设关键词,则将数据库的位置确定为所述业务数据对应的查询路径。
5.根据权利要求4所述的方法,其特征在于,所述根据与所述匹配的预设关键词对应的预设路由规则,确定所述业务数据对应的查询路径,具体包括:
若根据所述匹配的预设关键词确定所述查询请求指令符合模糊搜索条件,则将搜索引擎的位置确定为所述业务数据对应的查询路径。
6.根据权利要求4所述的方法,其特征在于,所述方法还包括:
接收所述预设关键词和所述预设路由规则的更新信息;
按照所述更新信息,对所述预设关键词和与所述预设关键词对应的所述预设路由规则进行更新。
7.根据权利要求3所述的方法,其特征在于,根据所述关键信息确定所述业务数据对应的查询路径,具体包括:
若根据所述数据源信息,确定所述业务数据在缓存中存在备份,则将所述缓存对应的位置确定为所述业务数据对应的查询路径。
8.一种业务数据查询的优化装置,其特征在于,包括:
解析单元,用于当接收到业务数据的查询请求指令时,对所述查询请求指令进行解析,得到所述业务数据对应的查询语句信息;
分析单元,用于对所述查询语句信息进行语法分析,获取符合预设条件的关键信息;
确定单元,用于根据所述关键信息确定所述业务数据对应的查询路径;
执行单元,用于按照所述查询路径执行所述业务数据的查询操作。
9.一种存储介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现权利要求1至7中任一项所述的业务数据查询的优化方法。
10.一种业务数据查询的优化设备,包括存储介质、处理器及存储在存储介质上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现权利要求1至7中任一项所述的业务数据查询的优化方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811474122.9A CN109766354A (zh) | 2018-12-04 | 2018-12-04 | 业务数据查询的优化方法、装置及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811474122.9A CN109766354A (zh) | 2018-12-04 | 2018-12-04 | 业务数据查询的优化方法、装置及设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109766354A true CN109766354A (zh) | 2019-05-17 |
Family
ID=66451121
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811474122.9A Pending CN109766354A (zh) | 2018-12-04 | 2018-12-04 | 业务数据查询的优化方法、装置及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109766354A (zh) |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110765484A (zh) * | 2019-10-17 | 2020-02-07 | 中信银行股份有限公司 | 一种征信数据处理方法及电子设备 |
CN111046310A (zh) * | 2019-12-12 | 2020-04-21 | 北京奇艺世纪科技有限公司 | 页面处理方法、装置、服务器及计算机可读存储介质 |
CN111078773A (zh) * | 2019-12-04 | 2020-04-28 | 北京奇艺世纪科技有限公司 | 一种数据处理方法及装置 |
CN111400338A (zh) * | 2020-03-04 | 2020-07-10 | 平安医疗健康管理股份有限公司 | Sql优化方法、装置、存储介质及计算机设备 |
CN111598755A (zh) * | 2020-04-25 | 2020-08-28 | 济南市公安局 | 一种公安机关便民服务***及其应用平台 |
CN111639095A (zh) * | 2020-05-27 | 2020-09-08 | 中信银行股份有限公司 | 一种数据表查询方法、装置及存储介质 |
CN111914155A (zh) * | 2020-08-06 | 2020-11-10 | 南京力通达电气技术有限公司 | 一种基于关键词匹配的查询转换***及其方法 |
CN112287092A (zh) * | 2020-11-30 | 2021-01-29 | 珠海采筑电子商务有限公司 | 电梯业务智能查询方法及相关产品 |
CN112860713A (zh) * | 2021-04-23 | 2021-05-28 | 脉策(上海)智能科技有限公司 | 用于获取图层数据的方法、电子设备和存储介质 |
CN113420051A (zh) * | 2021-06-30 | 2021-09-21 | 网易(杭州)网络有限公司 | 一种数据查询方法、装置、电子设备和存储介质 |
CN113505303A (zh) * | 2021-07-28 | 2021-10-15 | 云账户技术(天津)有限公司 | 一种合同信息查询的方法及装置 |
CN116737522A (zh) * | 2023-06-21 | 2023-09-12 | 山东日照发电有限公司 | 一种***性能优化方法 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6801904B2 (en) * | 2001-10-19 | 2004-10-05 | Microsoft Corporation | System for keyword based searching over relational databases |
CN103403707A (zh) * | 2010-12-28 | 2013-11-20 | 思杰***有限公司 | 用于数据库代理请求交换的***和方法 |
CN104572638A (zh) * | 2013-10-09 | 2015-04-29 | 腾讯科技(深圳)有限公司 | 数据读写方法及装置 |
CN106202451A (zh) * | 2016-07-11 | 2016-12-07 | 浙江大华技术股份有限公司 | 一种数据查询方法及装置 |
CN106294468A (zh) * | 2015-06-02 | 2017-01-04 | 阿里巴巴集团控股有限公司 | 处理业务数据的方法和装置 |
CN106649630A (zh) * | 2016-12-07 | 2017-05-10 | 乐视控股(北京)有限公司 | 数据查询方法及装置 |
CN108009236A (zh) * | 2017-11-29 | 2018-05-08 | 北京锐安科技有限公司 | 一种大数据查询方法、***、计算机及存储介质 |
-
2018
- 2018-12-04 CN CN201811474122.9A patent/CN109766354A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6801904B2 (en) * | 2001-10-19 | 2004-10-05 | Microsoft Corporation | System for keyword based searching over relational databases |
CN103403707A (zh) * | 2010-12-28 | 2013-11-20 | 思杰***有限公司 | 用于数据库代理请求交换的***和方法 |
CN104572638A (zh) * | 2013-10-09 | 2015-04-29 | 腾讯科技(深圳)有限公司 | 数据读写方法及装置 |
CN106294468A (zh) * | 2015-06-02 | 2017-01-04 | 阿里巴巴集团控股有限公司 | 处理业务数据的方法和装置 |
CN106202451A (zh) * | 2016-07-11 | 2016-12-07 | 浙江大华技术股份有限公司 | 一种数据查询方法及装置 |
CN106649630A (zh) * | 2016-12-07 | 2017-05-10 | 乐视控股(北京)有限公司 | 数据查询方法及装置 |
CN108009236A (zh) * | 2017-11-29 | 2018-05-08 | 北京锐安科技有限公司 | 一种大数据查询方法、***、计算机及存储介质 |
Cited By (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110765484B (zh) * | 2019-10-17 | 2024-02-02 | 中信银行股份有限公司 | 一种征信数据处理方法及电子设备 |
CN110765484A (zh) * | 2019-10-17 | 2020-02-07 | 中信银行股份有限公司 | 一种征信数据处理方法及电子设备 |
CN111078773A (zh) * | 2019-12-04 | 2020-04-28 | 北京奇艺世纪科技有限公司 | 一种数据处理方法及装置 |
CN111078773B (zh) * | 2019-12-04 | 2023-09-05 | 北京奇艺世纪科技有限公司 | 一种数据处理方法及装置 |
CN111046310A (zh) * | 2019-12-12 | 2020-04-21 | 北京奇艺世纪科技有限公司 | 页面处理方法、装置、服务器及计算机可读存储介质 |
CN111046310B (zh) * | 2019-12-12 | 2024-03-19 | 北京奇艺世纪科技有限公司 | 页面处理方法、装置、服务器及计算机可读存储介质 |
CN111400338B (zh) * | 2020-03-04 | 2022-11-22 | 深圳平安医疗健康科技服务有限公司 | Sql优化方法、装置、存储介质及计算机设备 |
CN111400338A (zh) * | 2020-03-04 | 2020-07-10 | 平安医疗健康管理股份有限公司 | Sql优化方法、装置、存储介质及计算机设备 |
CN111598755A (zh) * | 2020-04-25 | 2020-08-28 | 济南市公安局 | 一种公安机关便民服务***及其应用平台 |
CN111639095B (zh) * | 2020-05-27 | 2023-03-31 | 中信银行股份有限公司 | 一种数据表查询方法、装置及存储介质 |
CN111639095A (zh) * | 2020-05-27 | 2020-09-08 | 中信银行股份有限公司 | 一种数据表查询方法、装置及存储介质 |
CN111914155A (zh) * | 2020-08-06 | 2020-11-10 | 南京力通达电气技术有限公司 | 一种基于关键词匹配的查询转换***及其方法 |
CN112287092A (zh) * | 2020-11-30 | 2021-01-29 | 珠海采筑电子商务有限公司 | 电梯业务智能查询方法及相关产品 |
CN112860713A (zh) * | 2021-04-23 | 2021-05-28 | 脉策(上海)智能科技有限公司 | 用于获取图层数据的方法、电子设备和存储介质 |
CN113420051A (zh) * | 2021-06-30 | 2021-09-21 | 网易(杭州)网络有限公司 | 一种数据查询方法、装置、电子设备和存储介质 |
CN113420051B (zh) * | 2021-06-30 | 2023-08-29 | 网易(杭州)网络有限公司 | 一种数据查询方法、装置、电子设备和存储介质 |
CN113505303A (zh) * | 2021-07-28 | 2021-10-15 | 云账户技术(天津)有限公司 | 一种合同信息查询的方法及装置 |
CN116737522A (zh) * | 2023-06-21 | 2023-09-12 | 山东日照发电有限公司 | 一种***性能优化方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109766354A (zh) | 业务数据查询的优化方法、装置及设备 | |
US11068439B2 (en) | Unsupervised method for enriching RDF data sources from denormalized data | |
CN102253936B (zh) | 记录用户访问商品信息的方法及搜索方法和服务器 | |
US8316007B2 (en) | Automatically finding acronyms and synonyms in a corpus | |
CN100550019C (zh) | 面向对象的数据库访问方法及*** | |
US20030236780A1 (en) | Method and system for implementing dynamic cache of database cursors | |
US20110213783A1 (en) | Method and apparatus for gathering, categorizing and parameterizing data | |
CN105988996B (zh) | 一种索引文件生成方法及装置 | |
US11068512B2 (en) | Data virtualization using leveraged semantic knowledge in a knowledge graph | |
KR101083563B1 (ko) | 데이터베이스 관리 방법 및 시스템 | |
CN102819592B (zh) | 一种基于Lucene的桌面搜索***及方法 | |
CN105224554A (zh) | 推荐搜索词进行搜索的方法、***、服务器和智能终端 | |
US20200320045A1 (en) | Sytems and methods for context-independent database search paths | |
CN109947770A (zh) | 一种数据库查询方法、终端设备及存储介质 | |
CN114356971A (zh) | 数据处理方法、装置以及*** | |
CN109840254A (zh) | 一种数据虚拟化及查询方法、装置 | |
CN111259067A (zh) | 一种基于Spring实现DAO接口的方法、装置及设备 | |
CN109710220A (zh) | 关系型数据库查询方法、装置、设备及存储介质 | |
CN106202254A (zh) | 一种查询方法及数据查询*** | |
CN107315833A (zh) | 基于应用程序的检索与下载的方法和装置 | |
CN112970011A (zh) | 记录查询优化中的谱系 | |
CN105354189A (zh) | 搜寻应用软件的方法及其*** | |
CN108959294B (zh) | 一种访问搜索引擎的方法和装置 | |
CN111090668B (zh) | 数据检索方法及装置、电子设备和计算机可读存储介质 | |
US20160179857A1 (en) | Database joins using uncertain criteria |
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 |