CN117807119A - 基于场景分析的查询处理方法、装置、设备及存储介质 - Google Patents
基于场景分析的查询处理方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN117807119A CN117807119A CN202311826875.2A CN202311826875A CN117807119A CN 117807119 A CN117807119 A CN 117807119A CN 202311826875 A CN202311826875 A CN 202311826875A CN 117807119 A CN117807119 A CN 117807119A
- Authority
- CN
- China
- Prior art keywords
- rule
- query
- scene
- normal form
- execution
- 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
- 238000004458 analytical method Methods 0.000 title claims abstract description 45
- 238000003860 storage Methods 0.000 title claims abstract description 18
- 238000003672 processing method Methods 0.000 title claims abstract description 13
- 238000000034 method Methods 0.000 claims abstract description 56
- 230000003068 static effect Effects 0.000 claims abstract description 23
- 238000010586 diagram Methods 0.000 claims abstract description 22
- 230000015654 memory Effects 0.000 claims description 29
- 238000012545 processing Methods 0.000 claims description 25
- 238000004590 computer program Methods 0.000 claims description 18
- 230000002776 aggregation Effects 0.000 claims description 10
- 238000004220 aggregation Methods 0.000 claims description 10
- 238000013519 translation Methods 0.000 claims description 7
- 238000004364 calculation method Methods 0.000 claims description 6
- 238000006243 chemical reaction Methods 0.000 claims description 5
- 238000005457 optimization Methods 0.000 claims description 4
- 238000005516 engineering process Methods 0.000 abstract description 5
- 230000008569 process Effects 0.000 description 14
- 230000006870 function Effects 0.000 description 8
- 238000004891 communication Methods 0.000 description 7
- 238000013500 data storage Methods 0.000 description 5
- 230000007246 mechanism Effects 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 4
- 238000011161 development Methods 0.000 description 3
- 230000008676 import Effects 0.000 description 3
- 238000012423 maintenance Methods 0.000 description 3
- 238000013507 mapping Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000008447 perception Effects 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本文涉及异构数据源及多业务场景下的查询技术,提供了一种基于场景分析的查询处理方法、装置、设备及存储介质,该方法包括:接收不同应用系统异步发送的查询请求,查询请求中自定义配置的场景数据特征;根据场景数据特征从规则范式集合中匹配规则范式;将规则范式转换为代码实体;从规则模版集合中匹配规则范式中引用的规则模版;根据规则模版生成查询规则执行图;将代码实体与查询规则执行图中的节点进行绑定,以获得静态查询计划;基于静态查询计划生成执行计划;根据执行计划查询对应的异构数据源;返回由对应规则范式约束的查询结果。本文实施例可在数据源异构性及业务场景多样性的场景下,提升查询服务的可重用性与可扩展性并降低实现成本。
Description
技术领域
本说明书涉及异构数据源及多业务场景下的查询技术,尤其是涉及一种基于场景分析的查询处理方法、装置、设备及存储介质。
背景技术
近年来,计算机软件行业的不断发展,越来越多的业务数据被采集和存储在各式各样的数据库中,伴随着业务场景不断丰富,这些被保存的业务数据可能会被重复使用或者按需加工,提供给外部系统或服务。由于业务场景的多样性,以及数据存储引擎的差异性,应用开发人员往往需要根据各自需求开发单独的服务模块——查询服务来读取数据库中的原始数据,或者将原始数据库中的数据进行处理并导入到各自的数据存储引擎中,以提供给各自业务场景下的服务使用。传统数据查询服务较高地耦合于业务服务,应用开发人员需要根据不同的业务场景,按需从异构的数据源中获取预期的数据指标。
进一步地,由于数据源的异构性以及业务场景的多样性,传统的应用开发人员将通过开发不同的查询服务来获取数据库中的业务数据,他们在使用数据前,需要明确的知道数据库中的数据定义以及数据结构,并能够熟练的使用不同存储引擎中的数据。同时,不同的应用开发人员之间并不清楚彼此的查询服务是否有重复的数据加工逻辑,可能会造成应用开发人员重复开发相似的查询服务,数据提供方则需要根据数据使用方的需求进行多次沟通对接,大大增加软件开发的成本。若原始数据的组织结构发生变化和调整,数据提供方需要通知到所有查询服务,每个查询服务均需评估数据结构的变化对应用的影响;如此,则影响了查询服务的灵活性。因此,如何在数据源异构性及业务场景多样性的场景下,提升查询服务的可重用性与可扩展性并降低实现成本,已成为目前亟待解决的技术难题。
发明内容
本说明书实施例的目的在于提供一种基于场景分析的查询处理方法、装置、设备及存储介质,以实现在数据源异构性及业务场景多样性的场景下,提升查询服务的可重用性与可扩展性并降低实现成本。
为达到上述目的,一方面,本说明书实施例提供了一种基于场景分析的查询处理方法,包括:
接收不同应用系统异步发送的查询请求,所述查询请求中携带自定义配置的场景数据特征;
根据所述场景数据特征从规则范式集合中匹配规则范式;
将所述规则范式转换为代码实体;
从规则模版集合中匹配所述规则范式中引用的规则模版;
根据所述规则模版生成查询规则执行图;所述查询规则执行图中的每个节点表示一个查询相关操作,所述查询规则执行图中每条有向边表示节点之间的依赖关系;
将所述代码实体与所述查询规则执行图中的节点进行绑定,以获得静态查询计划;
基于所述静态查询计划生成执行计划;
根据所述执行计划查询对应的异构数据源;
返回由对应规则范式约束的查询结果。
本说明书实施例的基于场景分析的查询处理方法中,所述场景数据特征包括:场景关键词、场景热搜词或场景标签。
本说明书实施例的基于场景分析的查询处理方法中,根据所述场景数据特征从规则范式集合中匹配规则范式,包括:
调用范式翻译引擎解析规则范式集合中的规则范式,对应获得每个所述规则范式中的查询场景范式和查询规则范式;每个所述查询场景范式定义有对应的场景数据特征,每个所述查询规则范式定义有对应的查询策略;
确定所述场景数据特征分别与每个所述查询场景范式的语义相似度;
将语义相似度最大者对应的查询场景范式所归属的规则范式作为目标规则范式。
本说明书实施例的基于场景分析的查询处理方法中,将所述规则范式转换为代码实体,包括:
将所述目标规则范式中的查询规则范式转换为查询规则代码实体。
本说明书实施例的基于场景分析的查询处理方法中,每个所述规则模版中包括:存放查询规则元数据的规则头,以及存放查询规则完整描述的规则体;所述规则体包括:字段实体、聚合类型实体、计算规则实体、查询条件实体、查询范围实体、排序方式实体和自定义查询实体。
本说明书实施例的基于场景分析的查询处理方法中,所述自定义查询实体由应用开发人员基于所述规则范式集合的规则范式预先构建。
本说明书实施例的基于场景分析的查询处理方法中,根据所述规则模版生成查询规则执行图,包括:
调用规则解析引擎解析所述规则范式中引用的规则模版;
加载并校验所述规则范式中引用的规则模版的正确性;
将所述规则模版中的每个查询相关操作分别绘制为一个节点;
按照所述查询相关操作之间的依赖关系将对应节点用有向边连接。
本说明书实施例的基于场景分析的查询处理方法中,在返回由对应规则范式约束的查询结果之后,还包括:
对具有相同场景数据特征的历史执行计划进行异步优化,并保存优化的执行计划;
当接收到携带相同场景数据特征的查询请求时,调用对应的优化后的历史执行计划查询对应的异构数据源。
本说明书实施例的基于场景分析的查询处理方法中,所述规则范式集合中的规则范式为xml或json数据格式。
本说明书实施例的基于场景分析的查询处理方法中,所述规则模版集合中的规则模版为xml或json数据格式。
本说明书实施例的基于场景分析的查询处理方法中,所述查询结果包括:符合应用开发人员基于所述规则范式集合的规则范式预定义的格式化数据结果集合。
另一方面,本说明书实施例还提供了一种基于场景分析的查询处理装置,包括:
接收模块,用于接收不同应用系统异步发送的查询请求,所述查询请求携带自定义配置的场景数据特征;
第一匹配模块,用于根据所述场景数据特征从规则范式集合中匹配规则范式;
转换模块,用于将所述规则范式转换为代码实体;
第二匹配模块,用于从规则模版集合中匹配所述规则范式中引用的规则模版;
第一生成模块,用于根据所述规则模版生成查询规则执行图;所述查询规则执行图中的每个节点表示一个查询相关操作,所述查询规则执行图中每条有向边表示节点之间的依赖关系;
绑定模块,用于将所述代码实体与所述查询规则执行图中的节点进行绑定,以获得静态查询计划;
第二生成模块,用于基于所述静态查询计划生成执行计划;
执行模块,用于根据所述执行计划查询对应的异构数据源;
返回模块,用于返回由对应规则范式约束的查询结果。
另一方面,本说明书实施例还提供了一种计算机设备,包括存储器、处理器、以及存储在所述存储器上的计算机程序,所述计算机程序被所述处理器运行时,执行上述方法的指令。
另一方面,本说明书实施例还提供了一种计算机存储介质,其上存储有计算机程序,所述计算机程序被计算机设备的处理器运行时,执行上述方法的指令。
另一方面,本说明书实施例还提供了一种计算机程序产品,所述计算机程序产品包括计算机程序,所述计算机程序被计算机设备的处理器运行时,执行上述方法的指令。
由以上本说明书实施例提供的技术方案可见,本说明书实施例中,查询引擎可以根据不同Web应用系统发送的查询请求中携带的自定义配置的场景数据特征(即Web应用系统侧自定义配置场景数据特征),从规则范式集合中匹配出对应的规则范式,并将该规则范式转换为代码实体;然后从规则模版集合中匹配该规则范式中引用的规则模版,根据规则模版生成查询规则执行图,将代码实体与查询规则执行图中的节点进行绑定,得到静态查询计划以用于异构数据源的查询;从而实现了查询引擎对多个不同Web应用系统的通用,从而提高了查询引擎的查询服务的可重用性。对于Web应用系统侧的业务运营人员而言,通过自定义配置场景数据特征,即可以实现异构数据源的访问,无需了解复杂的数据访问逻辑同时也能屏蔽web应用对异构数据源的感知;而且Web应用系统侧的应用开发人员也无需为不同业务场景单独开发查询服务模块,或者将原始数据库中的数据进行处理并导入到各自的数据存储引擎中,以提供给各自业务场景下的服务使用,从而大幅降低了实现成本。不仅如此,由于规则范式和规则模版可以由规则维护人员配置,场景数据特征可以由Web应用系统侧按需自定义配置,从而提高了查询引擎的查询服务的灵活性或可扩展性。
附图说明
为了更清楚地说明本说明书实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。在附图中:
图1示出了本说明书一些实施例中基于场景分析的查询处理的应用环境示意图;
图2示出了本说明书一些实施例中基于场景分析的查询处理方法的流程图;
图3示出了图2所示方法中根据场景数据特征从规则范式集合中匹配规则范式的流程图;
图4示出了图2所示方法中根据规则模版生成查询规则执行图的流程图;
图5示出了本说明书一示例性实施例中一规则模版的数据结构示意图;
图6示出了本说明书一示例性实施例中一规则范式的代码实体的示意图;
图7示出了本说明书一些实施例中基于场景分析的查询处理装置的结构框图;
图8示出了本说明书一些实施例中计算机设备的结构框图。
【附图标记说明】
10、Web应用系统;
20、查询引擎;
30、数据源;
71、接收模块;
72、第一匹配模块;
73、转换模块;
74、第二匹配模块;
75、第一生成模块;
76、绑定模块;
77、第二生成模块;
78、执行模块;
79、返回模块;
802、计算机设备;
804、处理器;
806、存储器;
808、驱动机构;
810、输入/输出接口;
812、输入设备;
814、输出设备;
816、呈现设备;
818、图形用户接口;
820、网络接口;
822、通信链路;
824、通信总线。
具体实施方式
为了使本技术领域的人员更好地理解本说明书中的技术方案,下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本说明书一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本说明书保护的范围。
图1中示出了本说明书一些实施例中基于场景分析的查询处理的应用环境示意图;该应用环境中包括多个Web应用系统10、查询引擎20和多个异构的数据源30。查询引擎20可以与多个不同的Web应用系统10进行交互,不同Web应用系统10可以提供不用的Web服务;而且,每个Web应用系统10中又可以提供一个或多个不同的Web服务;因此,查询引擎20面临多样化的业务场景。进一步地,数据源30可以包括SQL类型数据源和非SQL类型数据源;其中,SQL类型数据源例如可以包括但不限于MySQL、Oracle、SQL Server、ClickHouse等;非SQL类型数据源例如可以包括但不限于Elastric、MongoDB、Redis等。因此,查询引擎20同时还面临多源异构的数据源场景。
继续参数图1所示,查询引擎20可以包括查询代理服务器、规则解析引擎和范式解析引擎,规则范式集合和规则模版集合可以单独存储,并由查询引擎在需要时从外部动态加载;查询代理服务器可以在接收不同Web应用系统10异步发送的查询请求时,在调用范式解析引擎和范式解析引擎的基础上实现基于场景分析的查询处理。具体而言,查询引擎20可以接收不同Web应用系统10异步发送的查询请求,所述查询请求中携带自定义配置的场景数据特征;根据所述场景数据特征从规则范式集合中匹配规则范式;将所述规则范式转换为代码实体;从规则模版集合中匹配所述规则范式中引用的规则模版;根据所述规则模版生成查询规则执行图;所述查询规则执行图中的每个节点表示一个查询相关操作,所述查询规则执行图中每条有向边表示节点之间的依赖关系;将所述代码实体与所述查询规则执行图中的节点进行绑定,以获得静态查询计划;基于所述静态查询计划生成执行计划;根据所述执行计划查询对应的数据源30;返回由对应规则范式约束的查询结果;如此,可以实现在数据源异构性及业务场景多样性的场景下,提升查询服务的可重用性与可扩展性并降低实现成本。
本说明书实施例提供了一种基于场景分析的查询处理方法,可以应用于上述的查询引擎侧,参考图2所示,在本说明书一些实施例中,基于场景分析的查询处理方法可以包括以下步骤:
步骤201、接收不同应用系统异步发送的查询请求,所述查询请求中携带自定义配置的场景数据特征。
步骤202、根据所述场景数据特征从规则范式集合中匹配规则范式。
步骤203、将所述规则范式转换为代码实体。
步骤204、从规则模版集合中匹配所述规则范式中引用的规则模版。
步骤205、根据所述规则模版生成查询规则执行图;所述查询规则执行图中的每个节点表示一个查询相关操作,所述查询规则执行图中每条有向边表示节点之间的依赖关系。
步骤206、将所述代码实体与所述查询规则执行图中的节点进行绑定,以获得静态查询计划。
步骤207、基于所述静态查询计划生成执行计划。
步骤208、根据所述执行计划查询对应的异构数据源。
步骤209、返回由对应规则范式约束的查询结果。
本说明书的实施例中,查询引擎可以根据不同Web应用系统发送的查询请求中携带的自定义配置的场景数据特征(即Web应用系统侧自定义配置场景数据特征),从规则范式集合中匹配出对应的规则范式,并将该规则范式转换为代码实体;然后从规则模版集合中匹配该规则范式中引用的规则模版,根据规则模版生成查询规则执行图,将代码实体与查询规则执行图中的节点进行绑定,得到静态查询计划以用于异构数据源的查询;从而实现了查询引擎对多个不同Web应用系统的通用,从而提高了查询引擎的查询服务的可重用性。对于Web应用系统侧的业务运营人员而言,通过自定义配置场景数据特征,即可以实现异构数据源的访问,无需了解复杂的数据访问逻辑同时也能屏蔽web应用对异构数据源的感知;而且Web应用系统侧的应用开发人员也无需为不同业务场景单独开发查询服务模块,或者将原始数据库中的数据进行处理并导入到各自的数据存储引擎中,以提供给各自业务场景下的服务使用,从而大幅降低了实现成本。不仅如此,由于规则范式和规则模版可以由规则维护人员配置,场景数据特征可以由Web应用系统侧按需自定义配置,从而提高了查询引擎的查询服务的灵活性或可扩展性。
进一步地,由于规则模版可由规则维护人员灵活配置,场景数据特征可以由Web应用系统侧的业务运营人员自定义配置,查询引擎还可根据不同场景的规则定义完成多维度的数据分析查询。
在本说明书一些实施例中,查询请求可以是各个Web应用系统的业务运营人员,在Web应用系统侧自定义配置查询的场景数据特征后,由各Web应用系统发起。业务运营人员从Web应用系统前端的可视化的界面进入,根据Web应用系统提供的默认查询组件选择期望查询的场景数据特征(例如场景关键词、场景热搜词或场景标签等);场景数据特征会发送到Web应用系统的WEB应用层,WEB应用层会将前端的查询请求组装成数据报文发送给查询引擎处理。
其中,场景标签可根据不同的业务领域进行划分,如电子商务、用户体验、智能营销等多个场景。在本说明书一些实施例中,当使用场景标签作为场景数据特征时,在根据场景数据特征从规则范式集合中匹配规则范式时,可以直接匹配包含该场景标签的规则范式,而无需进行语义相似度计算,如此可以有利于提高查询效率。在本说明书另一些实施例中,当使用场景关键词、场景热搜词或其组合作为场景数据特征时,则需要进行语义相似度计算;但是,由于场景关键词、场景热搜词等具有相对较大的灵活性,从而提高了查询的灵活性。
在本说明书一些实施例中,规则模版集合和规则范式集合可以由查询引擎侧的规则维护人员负责开发和维护。规则模版集合中可以包含多个可配置、可重用的规则模版。规则范式集合中可以包含多个可配置、可重用的规则范式。在本说明书的实施例中,引入规则范式的主要作用在于:如果不同Web应用系统的业务运营人员均遵循规则范式集合中的范式进行数据查询,那么不同Web应用系统的应用开发人员也将无需关注底层数据存储结构,只需在自定义查询实体时根据规则范式完成规则构建,并输入至查询引擎中即可,从而可以进一步降低实现复杂度和成本。
在本说明书一些实施例中,每个规则模版可以是一种基于xml或json数据格式的半结构化数据,以利于读写和维护,并有利于跨平台使用。规则模板为查询引擎提供了基础的数据查询规则描述,不同的查询规则可抽象成独立的规则模版(或称为规则模型)。结合图5所示,每个规则模版可以包括规则头和规则体;规则头用于存放查询规则元数据(如规则模版的标识、名称、创建时间等);规则体用于存放查询规则的完整描述(例如字段实体、聚合类型实体、计算规则实体、查询条件实体、查询范围实体、排序方式实体和自定义查询实体,这些实体都可以抽象为一个对象实体,这些对象实体的组合可构建出完整的规则描述)。
其中,字段实体描述了需要查询的字段基本信息,查询结果将在给定的字段范围内产生。聚合类型实体定义了被查询字段实体的聚合规则,并根据聚合规则组装对应的聚合逻辑。计算规则实体定义多个字段之间的复杂计算规则(例如和、或等逻辑计算),并将字段的复杂计算逻辑翻译成各类数据库可执行的计算语句进行执行。查询条件实体定义了查询语句的条件表达式,用来描述查询结果集的筛选条件。自定义查询实体可支持应用开发人员根据个性化的业务需求开发对应的自定义查询模块,并可由业务运营人员通过简单的可视化配置操作即可以完成特定查询规则的配置。由于自定义查询实体可由应用开发人员基于所述规则范式集合的规则范式预先构建,使得应用开发人员不再需要关注异构数据源的多样性,还可以避免重复开发相同功能的数据查询服务。
在本说明书一些实施例中,每个规则范式同样可以基于xml或json数据格式的半结构化数据。每个规则范式可以为两个部分:查询场景范式(Query Scene Style,QSS)和查询规则范式(Query Rules Style,QRS),QSS定义查询侧的场景状态(即定义了可供查询侧使用的场景描述(场景数据特征)),QRS则定义了查询的策略;每个规则范式中可以引用一个或多个规则模版。例如,在如图6所示的示例性实施例中给出了查询条件规则的一个简单的规则范式的代码实体,该规则范式中描述了在需要访问MySQL数据库的场景中,业务运营人员可通过动态配置规则范式,组合不同的查询规则模板以及定义查询的约束条件,即可完成一次MySQL数据库的查询操作。
其中,“查询场景(query_scene)”(包括“查询场景名称”、“场景属性”和“场景资源描述”等)形成QSS;“查询规则(query_rules_schema)”形成QRS。
结合图3所示,在本说明书一些实施例中,根据所述场景数据特征从规则范式集合中匹配规则范式,可以包括以下步骤:
步骤301、调用范式翻译引擎解析规则范式集合中的规则范式,对应获得每个所述规则范式中的查询场景范式和查询规则范式。
调用范式翻译引擎解析规则范式集合中的规则范式是指:查询代理服务器调用范式翻译引擎解析规则范式集合中的规则范式
步骤302、确定所述场景数据特征分别与每个所述查询场景范式的语义相似度。
以场景数据特征为场景关键词为例,可以计算该场景关键词分别与每个规则范式中的查询场景的语义相似度。
步骤303、将语义相似度最大者对应的查询场景范式所归属的规则范式作为目标规则范式。
目标规则范式即为与该场景数据特征最为匹配的规则范式。
其中,步骤302和步骤303可以由查询代理服务器侧实现,也可以由范式翻译引擎侧实现,具体可以按需选择。
在本说明书一些实施例中,将所述规则范式转换为代码实体,具体可以包括:将所述目标规则范式中的查询规则范式转换为查询规则代码实体(Query Rules Entity,QRE)。QRE定义了一个查询的完整生命周期,查询的结果、过程及约束条件均由QRE提供,其中,查询过程可由一个或多个QRT构成。
例如,当目标规则范式中的查询规则范式为xml文件时,可以将该xml文件转换为查询规则代码实体;当目标规则范式中的查询规则范式为json文件时,可以将该json文件转换为查询规则代码实体。由于将xml文件或json文件转换为代码实体,均为已知技术(例如利用XML转换器可以将xml文件转换为C++代码,利用Java代码生成器可以将json文件转换为Java代码),且本说明书的实施例不涉及该部分的改进,不再赘述。
在本说明书一些实施例中,从规则模版集合中匹配所述规则范式中引用的规则模版是指:可以根据规则模版名称从规则模版集合中匹配引用了该规则模版的规则范式。
在本说明书的实施例中,查询规则执行图例如可以是有向图。结合图4所示,在本说明书一些实施例中,根据所述规则模版生成查询规则执行图,可以包括以下步骤:
步骤401、调用规则解析引擎解析所述规则范式中引用的规则模版。
步骤402、加载并校验所述规则范式中引用的规则模版的正确性。
在本说明书一些实施例中校验内容可以按需选择,例如可以校验数据类型(如字符串、数字等)的正确性,也可以校验业务逻辑等的正确性。本说明书对此不作限定;如果规则模版通过校验则可以执行步骤403,否则可以输出对应提示,以供相关人员进行应对处理。
步骤403、将所述规则模版中的每个查询相关操作分别绘制为一个节点。
在本说明书一些实施例中,查询相关操作可以是指单个操作,也可以是指一组用户实现特定功能的操作(例如聚合方法、计算方法、调用方法等),具体可以根据需要选择合适的节点粒度。
步骤404、按照所述查询相关操作之间的依赖关系将对应节点用有向边连接。
在本说明书另一些实施例中,在返回由对应规则范式约束的查询结果之后,还可以包括:对具有相同场景数据特征的历史执行计划进行异步优化,并保存优化的执行计划;当接收到携带相同场景数据特征的查询请求时,调用对应的优化后的历史执行计划查询对应的异构数据源(即直接执行优化后的历史执行计划中的查询语句);如此,可以有利于进一步提高查询效率。
在本说明书的实施例中,将所述代码实体与所述查询规则执行图中的节点进行绑定是指:建立查询规则执行图中的节点与代码实体中的代码块之间的映射关系。例如,当一个节点对应的查询相关操作为聚合方法时,则建立代码实体中聚合方法对应的代码块与该节点的映射关系。将所述代码实体与所述查询规则执行图中的节点进行绑定后,即获得了静态的查询计划。然后可以根据静态查询计划生成执行计划(即查询执行计划)。由于不同的Web应用的查询请求是异步并发的,查询引擎可能会存在查询请求同时收到多个查询请求或短时间内收到大量查询请求的情况,为此,查询引擎可以建立如图1所示的查询执行计划缓存队列,并按照先入先出规则逐个处理。
在本说明书的实施例中,静态查询计划是一个查询执行的步骤序列,用于描述查询引擎如何执行查询的过程。执行计划是查询计划的具体实现,描述了查询引擎执行查询所需的具体的可执行操作(包括表的读取方式、索引的使用、数据库连接方式、查询结果排序方式等)。由于由静态的查询计划生成执行计划是本领域的已有技术,本说明实施例不涉及查询计划生成执行计划部分的改进,对此不再赘述。
在本说明书一些实施例中,根据所述执行计划查询对应的异构数据源可以是指:查询引擎按照执行计划进行多数据源分布查询操作。在获取到查询结果数据集后,范式翻译引擎可以根据规则范式中定义的数据结果集约定格式返回需要的数据集合,并由前端完成动态数据渲染。换而言之,查询返回结果集可由开发人员完成符合QRT约束的格式化配置,以满足动态、灵活地获取各阶段需要测试和使用的数据集结构。
此外,应当指出的是,应用开发人员在进行需求开发过程中,可以根据查询引擎使用文档完成标准的查询调用接口定义,若下游系统是标准SQL数据库,则可以在请求访问的方法中明确定义访问方式为SQL类型,并按照查询实体中的标准QRT完成查询规则的预定义,使前置应用的请求报文能按照QRT的解析规范进行查询映射。
此外,在上述的对具有相同场景数据特征的历史执行计划进行异步优化中;若下游系统是非标准SQL的数据库,则需要在访问方式里面给出标准的请求URL或者数据库访问的API名称及约束。
虽然上文描述的过程流程包括以特定顺序出现的多个操作,但是,应当清楚了解,这些过程可以包括更多或更少的操作,这些操作可以顺序执行或并行执行(例如使用并行处理器或多线程环境)。
与上述的基于场景分析的查询处理方法对应,本说明书实施例还提供了一种基于场景分析的查询处理装置,其可以配置于上述的查询引擎侧,参考图7所示,在本说明书一些实施例中,基于场景分析的查询处理装置可以包括:
接收模块71,用于接收不同应用系统异步发送的查询请求,所述查询请求携带自定义配置的场景数据特征;
第一匹配模块72,用于根据所述场景数据特征从规则范式集合中匹配规则范式;
转换模块73,用于将所述规则范式转换为代码实体;
第二匹配模块74,用于从规则模版集合中匹配所述规则范式中引用的规则模版;
第一生成模块75,用于根据所述规则模版生成查询规则执行图;所述查询规则执行图中的每个节点表示一个查询相关操作,所述查询规则执行图中每条有向边表示节点之间的依赖关系;
绑定模块76,用于将所述代码实体与所述查询规则执行图中的节点进行绑定,以获得静态查询计划;
第二生成模块77,用于基于所述静态查询计划生成执行计划;
执行模块78,用于根据所述执行计划查询对应的异构数据源;
返回模块79,用于返回由对应规则范式约束的查询结果。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本说明书时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
需要说明的是,本说明书的实施例中,所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权同意且经过各方充分授权的信息和数据。
本说明书的实施例还提供一种计算机设备。如图8所示,在本说明书一些实施例中,所述计算机设备802可以包括一个或多个处理器804,诸如一个或多个中央处理单元(CPU)或图形处理器(GPU),每个处理单元可以实现一个或多个硬件线程。计算机设备802还可以包括任何存储器806,其用于存储诸如代码、设置、数据等之类的任何种类的信息,一具体实施例中,存储器806上并可在处理器804上运行的计算机程序,所述计算机程序被所述处理器804运行时,可以执行上述任一实施例所述的基于场景分析的查询处理方法的指令。非限制性的,比如,存储器806可以包括以下任一项或多种组合:任何类型的RAM,任何类型的ROM,闪存设备,硬盘,光盘等。更一般地,任何存储器都可以使用任何技术来存储信息。进一步地,任何存储器可以提供信息的易失性或非易失性保留。进一步地,任何存储器可以表示计算机设备802的固定或可移除部件。在一种情况下,当处理器804执行被存储在任何存储器或存储器的组合中的相关联的指令时,计算机设备802可以执行相关联指令的任一操作。计算机设备802还包括用于与任何存储器交互的一个或多个驱动机构808,诸如硬盘驱动机构、光盘驱动机构等。
计算机设备802还可以包括输入/输出接口810(I/O),其用于接收各种输入(经由输入设备812)和用于提供各种输出(经由输出设备814)。一个具体输出机构可以包括呈现设备816和相关联的图形用户接口818(GUI)。在其他实施例中,还可以不包括输入/输出接口810(I/O)、输入设备812以及输出设备814,仅作为网络中的一台计算机设备。计算机设备802还可以包括一个或多个网络接口820,其用于经由一个或多个通信链路822与其他设备交换数据。一个或多个通信总线824将上文所描述的部件耦合在一起。
通信链路822可以以任何方式实现,例如,通过局域网、广域网(例如,因特网)、点对点连接等、或其任何组合。通信链路822可以包括由任何协议或协议组合支配的硬连线链路、无线链路、路由器、网关功能、名称服务端等的任何组合。
本申请是参照本说明书一些实施例的方法、设备(系统)、计算机可读存储介质和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理器的处理器以产生一个机器,使得通过计算机或其他可编程数据处理器的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理器以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理器上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算机设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算机设备访问的信息。按照本说明书中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
本领域技术人员应明白,本说明书的实施例可提供为方法、系统或计算机程序产品。因此,本说明书实施例可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本说明书实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本说明书实施例可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本说明书实施例,在这些分布式计算环境中,由通过通信网络而被连接的远程处理器来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
还应理解,在本说明书实施例中,术语“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系。例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本说明书实施例的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
Claims (15)
1.一种基于场景分析的查询处理方法,其特征在于,包括:
接收不同应用系统异步发送的查询请求,所述查询请求中携带自定义配置的场景数据特征;
根据所述场景数据特征从规则范式集合中匹配规则范式;
将所述规则范式转换为代码实体;
从规则模版集合中匹配所述规则范式中引用的规则模版;
根据所述规则模版生成查询规则执行图;所述查询规则执行图中的每个节点表示一个查询相关操作,所述查询规则执行图中每条有向边表示节点之间的依赖关系;
将所述代码实体与所述查询规则执行图中的节点进行绑定,以获得静态查询计划;
基于所述静态查询计划生成执行计划;
根据所述执行计划查询对应的异构数据源;
返回由对应规则范式约束的查询结果。
2.如权利要求1所述的基于场景分析的查询处理方法,其特征在于,所述场景数据特征包括:场景关键词、场景热搜词或场景标签。
3.如权利要求1所述的基于场景分析的查询处理方法,其特征在于,根据所述场景数据特征从规则范式集合中匹配规则范式,包括:
调用范式翻译引擎解析规则范式集合中的规则范式,对应获得每个所述规则范式中的查询场景范式和查询规则范式;每个所述查询场景范式定义有对应的场景数据特征,每个所述查询规则范式定义有对应的查询策略;
确定所述场景数据特征分别与每个所述查询场景范式的语义相似度;
将语义相似度最大者对应的查询场景范式所归属的规则范式作为目标规则范式。
4.如权利要求3所述的基于场景分析的查询处理方法,其特征在于,将所述规则范式转换为代码实体,包括:
将所述目标规则范式中的查询规则范式转换为查询规则代码实体。
5.如权利要求1所述的基于场景分析的查询处理方法,其特征在于,每个所述规则模版中包括:存放查询规则元数据的规则头,以及存放查询规则完整描述的规则体;所述规则体包括:字段实体、聚合类型实体、计算规则实体、查询条件实体、查询范围实体、排序方式实体和自定义查询实体。
6.如权利要求5所述的基于场景分析的查询处理方法,其特征在于,所述自定义查询实体由应用开发人员基于所述规则范式集合的规则范式预先构建。
7.如权利要求1所述的基于场景分析的查询处理方法,其特征在于,根据所述规则模版生成查询规则执行图,包括:
调用规则解析引擎解析所述规则范式中引用的规则模版;
加载并校验所述规则范式中引用的规则模版的正确性;
将所述规则模版中的每个查询相关操作分别绘制为一个节点;
按照所述查询相关操作之间的依赖关系将对应节点用有向边连接。
8.如权利要求1所述的基于场景分析的查询处理方法,其特征在于,在返回由对应规则范式约束的查询结果之后,还包括:
对具有相同场景数据特征的历史执行计划进行异步优化,并保存优化的执行计划;
当接收到携带相同场景数据特征的查询请求时,调用对应的优化后的历史执行计划查询对应的异构数据源。
9.如权利要求1所述的基于场景分析的查询处理方法,其特征在于,所述规则范式集合中的规则范式为xml或json数据格式。
10.如权利要求1所述的基于场景分析的查询处理方法,其特征在于,所述规则模版集合中的规则模版为xml或json数据格式。
11.如权利要求1所述的基于场景分析的查询处理方法,其特征在于,所述查询结果包括:符合应用开发人员基于所述规则范式集合的规则范式预定义的格式化数据结果集合。
12.一种基于场景分析的查询处理装置,其特征在于,包括:
接收模块,用于接收不同应用系统异步发送的查询请求,所述查询请求携带自定义配置的场景数据特征;
第一匹配模块,用于根据所述场景数据特征从规则范式集合中匹配规则范式;
转换模块,用于将所述规则范式转换为代码实体;
第二匹配模块,用于从规则模版集合中匹配所述规则范式中引用的规则模版;
第一生成模块,用于根据所述规则模版生成查询规则执行图;所述查询规则执行图中的每个节点表示一个查询相关操作,所述查询规则执行图中每条有向边表示节点之间的依赖关系;
绑定模块,用于将所述代码实体与所述查询规则执行图中的节点进行绑定,以获得静态查询计划;
第二生成模块,用于基于所述静态查询计划生成执行计划;
执行模块,用于根据所述执行计划查询对应的异构数据源;
返回模块,用于返回由对应规则范式约束的查询结果。
13.一种计算机设备,包括存储器、处理器、以及存储在所述存储器上的计算机程序,其特征在于,所述计算机程序被所述处理器运行时,执行根据权利要求1-11任意一项所述方法的指令。
14.一种计算机存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被计算机设备的处理器运行时,执行根据权利要求1-11任意一项所述方法的指令。
15.一种计算机程序产品,其特征在于,所述计算机程序产品包括计算机程序,所述计算机程序被计算机设备的处理器运行时,执行根据权利要求1-11任意一项所述方法的指令。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311826875.2A CN117807119A (zh) | 2023-12-27 | 2023-12-27 | 基于场景分析的查询处理方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311826875.2A CN117807119A (zh) | 2023-12-27 | 2023-12-27 | 基于场景分析的查询处理方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117807119A true CN117807119A (zh) | 2024-04-02 |
Family
ID=90426972
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311826875.2A Pending CN117807119A (zh) | 2023-12-27 | 2023-12-27 | 基于场景分析的查询处理方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117807119A (zh) |
-
2023
- 2023-12-27 CN CN202311826875.2A patent/CN117807119A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20230351535A1 (en) | System and method for blockchain-based network transitioned by a legal contract | |
Ali et al. | From conceptual design to performance optimization of ETL workflows: current state of research and open problems | |
Terzić et al. | Development and evaluation of MicroBuilder: a Model-Driven tool for the specification of REST Microservice Software Architectures | |
CN107861728B (zh) | 用于传统程序语言向现代程序语言转换的方法及其系统 | |
US8209710B2 (en) | Implementation system for business applications | |
US11201936B2 (en) | Input and output schema mappings | |
US20190129734A1 (en) | Data collection workflow extension | |
US9535966B1 (en) | Techniques for aggregating data from multiple sources | |
CN103744891A (zh) | 一种数据查询方法和系统 | |
Sellami et al. | Supporting multi data stores applications in cloud environments | |
CN104536987B (zh) | 一种查询数据的方法及装置 | |
WO2023065847A1 (zh) | 计算逻辑的处理方法、电子设备和可读存储介质 | |
CN112860730A (zh) | Sql语句的处理方法、装置、电子设备及可读存储介质 | |
CN113177062A (zh) | 一种数据查询方法及装置 | |
CN112882844A (zh) | 基于网络前后端的联调方法、装置及存储介质 | |
CN111176660A (zh) | 一种面向分布式架构的微服务契约管理方法、装置、计算机设备、和可读存储介质 | |
CN111142849A (zh) | 流程处理方法、装置、存储介质及处理器 | |
Swetha et al. | Reinforcement learning infused intelligent framework for semantic web service composition: RL infused intelligent framework for SWSC | |
CN114168149A (zh) | 一种数据转换方法及装置 | |
CN117807119A (zh) | 基于场景分析的查询处理方法、装置、设备及存储介质 | |
CN112632082B (zh) | 一种创建Flink作业的方法及装置 | |
Sharma et al. | FLASc: a formal algebra for labeled property graph schema | |
CN110471646B (zh) | 一种通过人工配置实现复杂程序逻辑的方法 | |
Li et al. | An approach to composing web services with context heterogeneity | |
Buneman et al. | Hierarchical Models of Provenance. |
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 |