CN113312374A - 数据查询方法、装置、设备及存储介质 - Google Patents
数据查询方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN113312374A CN113312374A CN202110541726.6A CN202110541726A CN113312374A CN 113312374 A CN113312374 A CN 113312374A CN 202110541726 A CN202110541726 A CN 202110541726A CN 113312374 A CN113312374 A CN 113312374A
- Authority
- CN
- China
- Prior art keywords
- query
- service
- logic
- parameter
- script
- 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
- 238000000034 method Methods 0.000 title claims abstract description 43
- 238000013515 script Methods 0.000 claims abstract description 136
- 238000006243 chemical reaction Methods 0.000 claims description 42
- 230000014509 gene expression Effects 0.000 claims description 35
- 230000006870 function Effects 0.000 claims description 30
- 238000012545 processing Methods 0.000 claims description 13
- 238000004891 communication Methods 0.000 claims description 8
- 238000004590 computer program Methods 0.000 claims description 8
- 230000002159 abnormal effect Effects 0.000 claims description 2
- 230000008569 process Effects 0.000 description 11
- 230000009471 action Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 101150037009 pin1 gene Proteins 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 241001522296 Erithacus rubecula Species 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000012216 screening Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
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/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请涉及一种数据查询方法、装置、设备及存储介质。该方法包括,获取查询参数以及与查询参数对应的业务逻辑,业务逻辑用于指示查询参数对应的查询规则,查询参数包括输入参数和反映输入参数对应的查询结果的参数类型;采用查询参数和业务逻辑配置查询服务脚本,得到目标查询服务脚本;执行目标查询服务脚本,使得目标查询服务脚本调用业务逻辑执行对查询参数的数据查询,得到查询结果。由于获取查询参数的同时获取了业务逻辑,因此用户在前端所配置的数据较少,大大简化前端的技术实现难度。
Description
技术领域
本申请涉及计算机领域,尤其涉及一种数据查询方法、装置、设备及存储介质。
背景技术
现有业务中,用户通过数据库开放的API(Application Programming Interface,应用程序接口)实现对数据库中数据的查询。具体地,前端展示配置页面,用户从配置页面中选择从哪张表出数据,选择输出哪些列,选择哪些输入参数,如果有关联表的情况下,也需要把这种关联关系也通过页面的方式表述出来。后端通过查询服务对应的API接口获取配置页面中用户所配置的数据,并将这些数据转换成SQL(结构化查询语言,StructuredQuery Language)语句,然后解析并执行该SQL语句,从而生成相应的服务,最后输出数据。
发明人在对现有技术的研究过程中发现,当用户在前端的配置页面所配置的数据比较多时,后端转换得到的SQL语句往往也比较复杂,导致对SQL语句的解析和执行均需要很长的时间。
发明内容
本申请提供了一种数据查询方法、装置、设备及存储介质,用以解决通过SQL语句进行数据查询时,解析和执行需要很长时间的问题。
第一方面、提供一种数据查询方法,包括:
获取查询参数以及与所述查询参数对应的业务逻辑,所述业务逻辑用于指示所述查询参数对应的查询规则,所述查询参数包括输入参数和反映所述输入参数对应的查询结果的参数类型;
采用所述查询参数和所述业务逻辑配置查询服务脚本,得到目标查询服务脚本;
执行所述目标查询服务脚本,使得所述目标查询服务脚本调用所述业务逻辑执行对所述查询参数的数据查询,得到所述查询结果。
可选地,采用所述查询参数和所述业务逻辑配置查询服务脚本,得到目标查询服务脚本,包括:
获取所述查询服务脚本中的业务逻辑项、以及与所述查询服务脚本对应的输入转换规则;
采用所述业务逻辑配置所述业务逻辑项、以及按照所述输入转换规则将所述输入参数转换为所述目标查询服务脚本的输入表达。
可选地,按照所述输入参数规则将所述输入参数转换为所述目标查询服务脚本的输入表达,包括:
获取所述输入参数中的常量输入参数和非常量输入参数;
获取所述输入转换规则中的常量转换规则和非常量转换规则;
依据所述常量转换规则将所述常量输入参数转换为所述目标查询服务脚本中的常量输入表达,以及依据所述非常量转换规则将所述非常量输入参数转换为所述目标查询脚本中的非常量输入表达;
将所述常量输入表达和所述非常量输入表达确定为所述目标查询服务脚本的输入表达。
可选地,获取与所述查询参数对应的业务逻辑,包括:
获取用于对数据库执行查询服务的查询逻辑;
将所述查询逻辑确定为所述业务逻辑;
或,
获取用于对数据库执行查询服务的查询逻辑和外部函数,所述外部函数用于对依据所述查询逻辑查询得到的数据进行处理以得到所述查询结果和/或对所述输入参数进行处理。
可选地,执行所述目标查询服务脚本,使得所述目标查询服务脚本调用所述业务逻辑执行对所述查询参数的数据查询,得到所述查询结果,包括:
运行与所述目标查询服务脚本对应的脚本代码,使得所述脚本代码调用所述业务逻辑执行对所述查询参数的数据查询,得到查询结果表达;
获取输出转换规则;
按照所述输出转换规则转换所述查询结果表达,得到所述查询结果。
可选地,获取查询参数以及与所述查询参数对应的业务逻辑之前,还包括:
确定所述查询服务脚本对应的API接口;
通过所述API接口获取用户指示的所述查询参数和所述业务逻辑。
第二方面、提供一种数据查询系统,包括:
电子设备和终端设备;
所述终端设备,用于获取用户输入的查询参数以及与所述查询参数对应的业务逻辑,所述业务逻辑用于指示所述查询参数的查询规则,所述查询参数包括输入参数和反映所述输入参数对应的查询结果的参数类型;向所述电子设备发送所述查询参数和所述业务逻辑;
所述电子设备,用于获取所述查询参数以及所述业务逻辑;采用所述查询参数和所述业务逻辑配置查询服务脚本,得到目标查询服务脚本;执行所述目标查询服务脚本,使得所述目标查询服务脚本调用所述业务逻辑执行对所述查询参数的数据查询,得到所述查询结果。
可选地,所述系统还包括:
前端设备和后端设备;
所述前端设备,用于获取查询服务脚本,所述查询服务脚本包括至少一个业务逻辑;
所述后端设备,用于解析所述查询服务脚本,并生成与所述查询服务脚本对应的源代码;
所述电子设备还用于编译和部署所述源代码,得到所述查询服务脚本对应的API接口,并通过所述API接口获取所述查询参数和所述业务逻辑。
可选地,所述后端设备还用于:
确定所述查询服务脚本所能调用的外部函数的标识;
确定存在与所述外部函数的标识对应的外部函数。
第三方面、提供一种数据查询装置,包括:
获取单元,用于获取查询参数以及与所述查询参数对应的业务逻辑,所述业务逻辑用于指示所述查询参数的查询规则,所述查询参数包括输入参数和反映所述输入参数对应的查询结果的参数类型;
配置单元,用于采用所述查询参数和所述业务逻辑配置查询服务脚本,得到目标查询服务脚本;
执行单元,用于执行所述目标查询服务脚本,使得所述目标查询服务脚本调用所述业务逻辑执行对所述查询参数的数据查询,得到所述查询结果。
第四方面、提供一种电子设备,包括:处理器、存储器和通信总线,其中,处理器和存储器通过通信总线完成相互间的通信;
所述存储器,用于存储计算机程序;
所述处理器,用于执行所述存储器中所存储的程序,实现第一方面所述的数据查询方法。
第五方面、提供一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时实现第一方面所述的数据查询方法。
本申请实施例提供的上述技术方案与现有技术相比具有如下优点:本申请实施例提供的技术方案,获取查询参数以及与查询参数对应的业务逻辑,采用查询参数和业务逻辑配置查询服务脚本,得到目标查询服务脚本,执行目标查询服务脚本,使得目标查询服务脚本调用业务逻辑执行对查询参数的数据查询,得到查询结果。由于获取查询参数的同时获取了业务逻辑,因此用户在前端所配置的数据较少,大大简化前端的技术实现难度,其次,后端直接解析得到用于查询的业务逻辑进行数据查询,相比于逐条解析SQL语句,减少了解析和执行时间,最后,相对于SQL类代码的编写难度,只需要编写语法简单的查询服务脚本即可实现。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例中一种数据查询方法的流程示意图;
图2为本申请实施例中又一种数据查询方法的流程示意图;
图3为本申请实施例中又一种数据查询方法的流程示意图;
图4为本申请实施例中数据查询系统的结构示意图;
图5为本申请实施例中数据查询装置的结构示意图;
图6为本申请实施例中电子设备的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请的一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
本申请实施例提供一种数据查询方法,该方法可以应用于任意形式的电子设备中,例如,应用于终端或服务器中,这里的终端可以是手机、平板电脑、计算机等任意形式。
如图1所示,数据查询的过程主要包括:
步骤101、获取查询参数以及与查询参数对应的业务逻辑。
业务逻辑用于指示查询参数对应的查询规则,查询参数包括输入参数和反映输入参数对应的查询结果的参数类型。
一个具体实施例中,业务逻辑为对数据库执行查询服务的查询逻辑,查询逻辑包括但不限于顺序逻辑、选择逻辑或循环逻辑。
其中,顺序逻辑用于指示顺序查询规则。
一个例子中,顺序逻辑可以与具体的查询场景相对应,即不同的查询场景对应的顺序逻辑不同,此时可以对数据数据库中可查询的字段分别设置顺序逻辑。例如设置的顺序逻辑可以为针对查询身份证号这一场景的规则。具体应用时,当用户想查询张三的身份证号时,用户指示业务逻辑为针对查询身份证号的场景的顺序逻辑,从而使得电子设备可以按照该顺序逻辑所指示的顺序查询规则查找张三的身份证号。
在此种情况下,可以为不同的查询场景的顺序逻辑设置不同的标识,以便用户根据需求指示顺序逻辑。
又一个例子中,顺序逻辑可以不与具体的查询场景相关,为通用的查询逻辑,即该顺序逻辑适应于任何查询场景。例如该通用的顺序逻辑所指示的顺序查询规则可以为先确定输入参数的标识,然后根据标识查找与参数类型对应的查询结果。
可以理解的是,电子设备中可以针对部分查询场景设置相对应的顺序逻辑,同时设置与查询场景不相关的通用的顺序逻辑,当用户指示顺序逻辑时,优先从前者的顺序逻辑中指示,当前者的顺序逻辑中不存在与查询场景相对应的顺序逻辑时,指示通用的顺序逻辑作为业务逻辑。
基于以上两种顺序逻辑的设置方式,示例性地,本实施例通过以下顺序语句实现查询服务脚本中的顺序逻辑:
顺序语句包括变量定义和变量赋值两部分,其中:
变量定义:
顺序语句的变量定义语法为:{MAP|STR|NUM|DT}变量名
针对顺序语句的变量定义,参见表一的举例:
表一
语句 | 说明 |
STR pin1 | 定义变量pin1,为字符串类型 |
MAP userInfo | 定义变量userInfo,为字典类型 |
DT birthday1 | 定义变量birthday1,为日期类型 |
变量赋值:
顺序语句的变量赋值语法为:变量名={值|变量}
针对顺序语句的变量赋值,参见表二的举例:
表二
其中,循环逻辑用于指示逐条对每条数据进行判断,直到找到与输入参数对应的查询结果的查询规则。
仍然以查询张三的身份证号为例,当采用循环逻辑进行查询时,对于任意一条数据,判断该数据中是否包括张三的身份证号,如若没有,则对于下一条数据进行是否包括张三的身份证号的判断,直到找到张三的身份证号结束查询。
示例性地,本实施例中,查询服务脚本中的循环逻辑通过循环语句实现:
循环语句的语法为:WHILE逻辑表达式THEN{顺序语句|选择|循环}ENDWHILE
针对循环语句,参见表三的举例:
表三
其中,选择逻辑用于指示对于任意一条数据找到与输入参数对应的查询结果的查询规则。
仍然以查询张三的身份证号为例,当采用选择逻辑进行查询时,对于任意一条数据,判断该数据中的姓名是否为张三或数据中的标识是否为张三的标识,如果是,则将数据中的身份证号作为张三的身份证号返回用户,否则返回一默认值。其中该默认值可以为空、指示错误的数据,等。
示例性地,本实施例通过选择语句实现选择逻辑:
选择语句的语法为:IF逻辑表达式THEN顺序语句(ELSE顺序语句)ENDIF
说明:逻辑表达式语法变量名{>|<|==|<>|>=|<=}{值|变量},变量类型不同时,与该变量类型对应的比较符号也不同。具体地,当变量类型为字符串类型时,对应的比较符号可以为{==|<>},而其他类型得变量类型,所对应得比较符号可以为{>|<|==|<>|>=|<=}。
针对选择语句,参见表四的举例:
表四
本实施例中,电子设备所获取的业务逻辑包括但不限于业务逻辑的标识。因此当采用业务逻辑配置查询服务脚本中的业务逻辑项时,采用业务逻辑的标识对业务逻辑项进行配置。
另一个具体实施例中,电子设备在通过查询服务脚本实现查询服务时,可以通过查询服务脚本调用外部逻辑,以通过外部逻辑对查询过程中的数据进行处理。
在此种情况下,业务逻辑包括查询逻辑和外部函数,外部函数用于对依据查询逻辑查询得到的数据进行处理以得到查询结果和/或对输入参数进行处理。
其中,外部函数包括但不限于筛选函数。
以身份证号查询场景为例,当查询张三的身份证号时,首先调用黑名单筛选函数判断张三这一姓名是否位于黑名单中,如果是,则不再依据查询逻辑进行查询操作,并返回空值或默认值,否则依据查询逻辑进行查询操作,得到查询结果。
在此种情况下,在采用业务逻辑配置业务逻辑项时,采用查询逻辑的标识和外部函数的地址对业务逻辑项进行配置。
其中外部函数的地址包括但不限于URL(Uniform Resource Locator,统一资源定位器)地址。此时当调用外部函数时,通过URL地址访问外部函数。
本实施例中,查询结果与参数类型具有匹配关系,查询结果为电子设备依据查询参数向用户返回的数据,参数类型反映查询结果的属性。实际应用中,参数类型可以为查询结果在数据库中的字段名称。例如查询结果为18位的身份证号时,相对应的参数类型可以为“身份证号”这一字符串,或能够表征“身份证号”这一字符串的其他表达。
本实施例中,电子设备可以从显示的查询界面中获取用户配置的查询参数和业务逻辑;或,电子设备从用户所编写的脚本中获取用户指示的查询参数和业务逻辑。
其中,电子设备显示的查询界面与查询服务脚本所封装得到的API接口相对应,即电子设备通过API接口显示查询界面,从而可以通过该API接口获取用户指示的查询参数和业务逻辑。
步骤102、采用查询参数和业务逻辑配置查询服务脚本,得到目标查询服务脚本。
一个具体实施例中,用查询参数和业务逻辑配置查询服务脚本,得到目标查询服务脚本,如图2所示,具体包括以下步骤:
步骤201、获取查询服务脚本中的业务逻辑项、以及与查询服务脚本对应的输入转换规则;
步骤202、采用业务逻辑配置业务逻辑项、以及按照输入转换规则将输入参数转换为目标查询服务脚本的输入表达。
其中,当获取的业务逻辑为业务逻辑的标识时,采用业务逻辑的标识对业务逻辑项进行配置。
其中,输入转换规则包括常量转换规则和非常量转换规则,常量转换规则用于对输入参数中的常量参数进行转换,将常量参数转换为目标查询服务脚本中的常量输入表达;非常量转换规则用于对输入参数中的非常量参数进行转换,将非常量参数转换为目标查询服务脚本中的非常量输入表达。
示例性地,本实施例提供如下的常量参数转换规则和非常量参数转换规则:
常量参数转换规则可以为:
语法为:CONST{STR|NUM|DT}变量名=值
常量参数转换规则,参见表五的举例可以为:
表五
非常量参数转换规则可以为:
语法为:IN{STR|NUM|DT}变量名DEFAULT?默认值AS?别名
说明:入参不传时,默认值起作用。即当没有非常量参数的输入时,使用默认值作为输入的非常量参数。
同时,为了使得查询更灵活,还可以使用别名当做入参名。
非常量参数转换规则,参见表六的举例可以为:
表六
步骤103、执行目标查询服务脚本,使得目标查询服务脚本调用业务逻辑执行对查询参数的数据查询,得到查询结果。
一个具体实施例中,执行目标查询服务脚本,得到查询结果,如图3所示,具体可以包括以下步骤:
步骤301、运行与目标查询服务脚本对应的脚本代码,使得脚本代码调用业务逻辑执行对查询参数的数据查询,得到查询结果表达;
步骤302、获取输出转换规则;
步骤303、按照输出转换规则转换查询结果表达,得到查询结果。
示例性地,输出转换规则可以为:
语法为:OUT{STR|NUM|DT}变量名DEFAULT?初始值AS?别名
说明:可以使用别名当做出参名。
参见表七的举例:
表七
本申请实施例提供的技术方案,获取查询参数以及与查询参数对应的业务逻辑,采用查询参数和业务逻辑配置查询服务脚本,得到目标查询服务脚本,执行目标查询服务脚本,使得目标查询服务脚本调用业务逻辑执行对查询参数的数据查询,得到查询结果。由于获取查询参数的同时获取了业务逻辑,因此用户在前端所配置的数据较少,大大简化前端的技术实现难度,其次,后端直接解析得到用于查询的业务逻辑进行数据查询,相比于逐条解析SQL语句,减少了解析和执行时间,最后,相对于SQL类代码的编写难度,只需要编写语法简单的查询服务脚本即可实现。
基于同一构思,本申请实施例中提供了一种数据查询系统,该系统的具体实施可参见方法实施例部分的描述,重复之处不再赘述,如图4所示,该系统主要包括:
电子设备401和终端设备402;
终端设备402,用于获取用户输入的查询参数以及与查询参数对应的业务逻辑,业务逻辑用于指示查询参数的查询规则,查询参数包括输入参数和反映输入参数对应的查询结果的参数类型;向电子设备发送查询参数和业务逻辑;
电子设备401,用于获取查询参数以及业务逻辑;采用查询参数和业务逻辑配置查询服务脚本,得到目标查询服务脚本;执行目标查询服务脚本,使得目标查询服务脚本调用业务逻辑执行对查询参数的数据查询,得到查询结果。
可选的,该查询系统还可以包括:
前端设备和后端设备;
前端设备,用于获取查询服务脚本,查询服务脚本包括至少一个业务逻辑;
此处业务逻辑可以为查询逻辑;或业务逻辑可以为查询逻辑和外部函数。
其中,当查询逻辑包括外部函数时,该外部函数具体可以为外部函数的标识,如外部函数的URL地址。
后端设备,用于解析查询服务脚本,并生成与查询服务脚本对应的源代码;
后端设备把前端配置出来的查询服务脚本进行语法解析,以确定该查询服务脚本是否符合脚本的语法规则;当查询服务脚本绑定有可调用的外部函数时,后端设备还用于确定查询服务脚本所能调用的外部函数的标识;并根据该标识确定是否存在与外部函数的标识对应的外部函数。
当确定符合脚本的语法规则后,后端设备可以由ANTLR(开源语法分析器)把脚本语言翻译成JAVA语言,从而得到源代码。
电子设备还用于编译和部署源代码,得到查询服务脚本对应的API接口,并通过API接口获取查询参数和业务逻辑。
在编译的过程中,电子设备可以对JAVA语言进行热编译,得到二进制代码,通过把二进制代码部署到电子设备的本地上面,从而生成API服务,得到API接口,并通过API接口对外提供服务。
基于同一构思,本申请实施例中提供了一种数据查询装置,该装置的具体实施可参见方法实施例部分的描述,重复之处不再赘述,如图5所示,该装置主要包括:
获取单元501,用于获取查询参数以及与查询参数对应的业务逻辑,业务逻辑用于指示查询参数的查询规则,查询参数包括输入参数和反映输入参数对应的查询结果的参数类型;
配置单元502,用于采用查询参数和业务逻辑配置查询服务脚本,得到目标查询服务脚本;
执行单元503,用于执行目标查询服务脚本,使得目标查询服务脚本调用业务逻辑执行对查询参数的数据查询,得到查询结果。
可选地,配置单元502用于:
获取查询服务脚本中的业务逻辑项、以及与查询服务脚本对应的输入转换规则;
采用业务逻辑配置业务逻辑项、以及按照输入转换规则将输入参数转换为目标查询服务脚本的输入表达。
可选地,配置单元502用于:
获取输入参数中的常量输入参数和/或非常量输入参数;
获取输入转换规则中的常量转换规则和/或非常量转换规则;
依据常量转换规则将常量输入参数转换为目标查询服务脚本中的常量输入表达,和/或依据非常量转换规则将非常量输入参数转换为目标查询脚本中的非常量输入表达;
将常量输入表达和/或非常量输入表达确定为目标查询服务脚本的输入表达。
可选地,获取单元501:
获取用于对数据库执行查询服务的查询逻辑;
将查询逻辑确定为业务逻辑;
或,
获取用于对数据库执行查询服务的查询逻辑和外部函数,外部函数用于对依据查询逻辑查询得到的数据进行处理以得到查询结果和/或对输入参数进行处理。
可选地,执行单元503用于:
运行与目标查询服务脚本对应的脚本代码,使得脚本代码调用业务逻辑执行对查询参数的数据查询,得到查询结果表达;
获取输出转换规则;
按照输出转换规则转换查询结果表达,得到查询结果。
可选地,系统还用于:
获取查询参数以及与查询参数对应的业务逻辑之前确定查询服务脚本对应的API接口;
通过API接口获取用户指示的查询参数和业务逻辑。
基于同一构思,本申请实施例中还提供了一种电子设备,如图6所示,该电子设备主要包括:处理器601、存储器602和通信总线603,其中,处理器601和存储器602通过通信总线603完成相互间的通信。其中,存储器602中存储有可被处理器601执行的程序,处理器601执行存储器602中存储的程序,实现如下步骤:
获取查询参数以及与查询参数对应的业务逻辑,业务逻辑用于指示查询参数对应的查询规则,查询参数包括输入参数和反映输入参数对应的查询结果的参数类型;采用查询参数和业务逻辑配置查询服务脚本,得到目标查询服务脚本;执行目标查询服务脚本,使得目标查询服务脚本调用业务逻辑执行对查询参数的数据查询,得到查询结果。
上述电子设备中提到的通信总线603可以是外设部件互连标准(PeripheralComponent Interconnect,简称PCI)总线或扩展工业标准结构(Extended IndustryStandard Architecture,简称EISA)总线等。该通信总线603可以分为地址总线、数据总线、控制总线等。为便于表示,图6中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
存储器602可以包括随机存取存储器(Random Access Memory,简称RAM),也可以包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。可选地,存储器还可以是至少一个位于远离前述处理器601的存储装置。
上述的处理器601可以是通用处理器,包括中央处理器(Central ProcessingUnit,简称CPU)、网络处理器(Network Processor,简称NP)等,还可以是数字信号处理器(Digital Signal Processing,简称DSP)、专用集成电路(Application SpecificIntegrated Circuit,简称ASIC)、现场可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
在本申请的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,当该计算机程序在计算机上运行时,使得计算机执行上述实施例中所描述的数据查询方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。该计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行该计算机指令时,全部或部分地产生按照本申请实施例所述的流程或功能。该计算机可以时通用计算机、专用计算机、计算机网络或者其他可编程装置。该计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,计算机指令从一个网站站点、计算机、服务器或者数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、微波等)方式向另外一个网站站点、计算机、服务器或数据中心进行传输。该计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。该可用介质可以是磁性介质(例如软盘、硬盘、磁带等)、光介质(例如DVD)或者半导体介质(例如固态硬盘)等。
需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅是本发明的具体实施方式,使本领域技术人员能够理解或实现本发明。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所申请的原理和新颖特点相一致的最宽的范围。
Claims (12)
1.一种数据查询方法,其特征在于,包括:
获取查询参数以及与所述查询参数对应的业务逻辑,所述业务逻辑用于指示所述查询参数对应的查询规则,所述查询参数包括输入参数和反映所述输入参数对应的查询结果的参数类型;
采用所述查询参数和所述业务逻辑配置查询服务脚本,得到目标查询服务脚本;
执行所述目标查询服务脚本,使得所述目标查询服务脚本调用所述业务逻辑执行对所述查询参数的数据查询,得到所述查询结果。
2.根据权利要求1所述的方法,其特征在于,采用所述查询参数和所述业务逻辑配置查询服务脚本,得到目标查询服务脚本,包括:
获取所述查询服务脚本中的业务逻辑项、以及与所述查询服务脚本对应的输入转换规则;
采用所述业务逻辑配置所述业务逻辑项、以及按照所述输入转换规则将所述输入参数转换为所述目标查询服务脚本的输入表达。
3.根据权利要求2所述的方法,其特征在于,按照所述输入参数规则将所述输入参数转换为所述目标查询服务脚本的输入表达,包括:
获取所述输入参数中的常量输入参数和非常量输入参数;
获取所述输入转换规则中的常量转换规则和非常量转换规则;
依据所述常量转换规则将所述常量输入参数转换为所述目标查询服务脚本中的常量输入表达,以及依据所述非常量转换规则将所述非常量输入参数转换为所述目标查询脚本中的非常量输入表达;
将所述常量输入表达和所述非常量输入表达确定为所述目标查询服务脚本的输入表达。
4.根据权利要求1所述的方法,其特征在于,获取与所述查询参数对应的业务逻辑,包括:
获取用于对数据库执行查询服务的查询逻辑;
将所述查询逻辑确定为所述业务逻辑;
或,
获取用于对数据库执行查询服务的查询逻辑和外部函数,所述外部函数用于对依据所述查询逻辑查询得到的数据进行处理以得到所述查询结果和/或对所述输入参数进行处理。
5.根据权利要求1所述的方法,其特征在于,执行所述目标查询服务脚本,使得所述目标查询服务脚本调用所述业务逻辑执行对所述查询参数的数据查询,得到所述查询结果,包括:
运行与所述目标查询服务脚本对应的脚本代码,使得所述脚本代码调用所述业务逻辑执行对所述查询参数的数据查询,得到查询结果表达;
获取输出转换规则;
按照所述输出转换规则转换所述查询结果表达,得到所述查询结果。
6.根据权利要求1所述的方法,其特征在于,获取查询参数以及与所述查询参数对应的业务逻辑之前,还包括:
确定所述查询服务脚本对应的API接口;
通过所述API接口获取用户指示的所述查询参数和所述业务逻辑。
7.一种数据查询系统,其特征在于,包括:
电子设备和终端设备;
所述终端设备,用于获取用户输入的查询参数以及与所述查询参数对应的业务逻辑,所述业务逻辑用于指示所述查询参数的查询规则,所述查询参数包括输入参数和反映所述输入参数对应的查询结果的参数类型;向所述电子设备发送所述查询参数和所述业务逻辑;
所述电子设备,用于获取所述查询参数以及所述业务逻辑;采用所述查询参数和所述业务逻辑配置查询服务脚本,得到目标查询服务脚本;执行所述目标查询服务脚本,使得所述目标查询服务脚本调用所述业务逻辑执行对所述查询参数的数据查询,得到所述查询结果。
8.根据权利要求7所述的系统,其特征在于,所述系统还包括:
前端设备和后端设备;
所述前端设备,用于获取查询服务脚本,所述查询服务脚本包括至少一个业务逻辑;
所述后端设备,用于解析所述查询服务脚本,并生成与所述查询服务脚本对应的源代码;
所述电子设备还用于编译和部署所述源代码,得到所述查询服务脚本对应的API接口,并通过所述API接口获取所述查询参数和所述业务逻辑。
9.根据权利要求8所述的系统,其特征在于,所述后端设备还用于:
确定所述查询服务脚本所能调用的外部函数的标识;
确定存在与所述外部函数的标识对应的外部函数。
10.一种数据查询装置,其特征在于,包括:
获取单元,用于获取查询参数以及与所述查询参数对应的业务逻辑,所述业务逻辑用于指示所述查询参数的查询规则,所述查询参数包括输入参数和反映所述输入参数对应的查询结果的参数类型;
配置单元,用于采用所述查询参数和所述业务逻辑配置查询服务脚本,得到目标查询服务脚本;
执行单元,用于执行所述目标查询服务脚本,使得所述目标查询服务脚本调用所述业务逻辑执行对所述查询参数的数据查询,得到所述查询结果。
11.一种电子设备,其特征在于,包括:处理器、存储器和通信总线,其中,处理器和存储器通过通信总线完成相互间的通信;
所述存储器,用于存储计算机程序;
所述处理器,用于执行所述存储器中所存储的程序,实现权利要求1-6任一项所述的数据查询方法。
12.一种计算机可读存储介质,存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1-6任一项所述的数据查询方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110541726.6A CN113312374A (zh) | 2021-05-18 | 2021-05-18 | 数据查询方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110541726.6A CN113312374A (zh) | 2021-05-18 | 2021-05-18 | 数据查询方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113312374A true CN113312374A (zh) | 2021-08-27 |
Family
ID=77373394
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110541726.6A Pending CN113312374A (zh) | 2021-05-18 | 2021-05-18 | 数据查询方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113312374A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113961588A (zh) * | 2021-10-27 | 2022-01-21 | 北京科杰科技有限公司 | 一种基于可配置参数的大数据sql程序设计方法 |
CN114860333A (zh) * | 2022-04-25 | 2022-08-05 | 海信视像科技股份有限公司 | 一种服务编排方法和电子设备 |
CN115562641A (zh) * | 2022-10-27 | 2023-01-03 | 中电金信软件有限公司 | 数据处理方法、装置、电子设备及计算机可读存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018035799A1 (zh) * | 2016-08-25 | 2018-03-01 | 阿里巴巴集团控股有限公司 | 数据查询方法、应用和数据库服务器、中间件及系统 |
CN110825488A (zh) * | 2019-09-29 | 2020-02-21 | 山东中创软件工程股份有限公司 | 一种业务处理方法、装置及电子设备和存储介质 |
CN110990400A (zh) * | 2019-11-20 | 2020-04-10 | 浙江大搜车软件技术有限公司 | 数据库查询方法、装置、计算机设备和存储介质 |
CN112784029A (zh) * | 2021-01-28 | 2021-05-11 | 深圳追一科技有限公司 | 基于自然语言处理的业务处理方法、装置和计算机设备 |
-
2021
- 2021-05-18 CN CN202110541726.6A patent/CN113312374A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018035799A1 (zh) * | 2016-08-25 | 2018-03-01 | 阿里巴巴集团控股有限公司 | 数据查询方法、应用和数据库服务器、中间件及系统 |
CN110825488A (zh) * | 2019-09-29 | 2020-02-21 | 山东中创软件工程股份有限公司 | 一种业务处理方法、装置及电子设备和存储介质 |
CN110990400A (zh) * | 2019-11-20 | 2020-04-10 | 浙江大搜车软件技术有限公司 | 数据库查询方法、装置、计算机设备和存储介质 |
CN112784029A (zh) * | 2021-01-28 | 2021-05-11 | 深圳追一科技有限公司 | 基于自然语言处理的业务处理方法、装置和计算机设备 |
Non-Patent Citations (1)
Title |
---|
范晖;夏清国;: "业务逻辑编译器的设计与实现", 计算机科学, no. 03, 25 March 2007 (2007-03-25), pages 262 - 267 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113961588A (zh) * | 2021-10-27 | 2022-01-21 | 北京科杰科技有限公司 | 一种基于可配置参数的大数据sql程序设计方法 |
CN114860333A (zh) * | 2022-04-25 | 2022-08-05 | 海信视像科技股份有限公司 | 一种服务编排方法和电子设备 |
CN115562641A (zh) * | 2022-10-27 | 2023-01-03 | 中电金信软件有限公司 | 数据处理方法、装置、电子设备及计算机可读存储介质 |
CN115562641B (zh) * | 2022-10-27 | 2024-05-10 | 中电金信软件有限公司 | 数据处理方法、装置、电子设备及计算机可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113312374A (zh) | 数据查询方法、装置、设备及存储介质 | |
CN107861870B (zh) | 接口测试及测试数据生成方法、装置、终端和存储介质 | |
US11269611B2 (en) | Data interface processing method, device, server and medium | |
CN113364853A (zh) | 一种业务服务系统、业务请求方法及网关设备 | |
US20140173559A1 (en) | Identifying differences between source codes of different versions of a software when each source code is organized using incorporated files | |
CN107958059B (zh) | 智能问答方法、装置、终端和计算机可读存储介质 | |
CN112154420A (zh) | 自动智能云服务测试工具 | |
CN114416075A (zh) | 业务处理方法及装置 | |
CN111225018A (zh) | 一种请求报文处理方法、装置和电子设备 | |
US11409585B2 (en) | Automatic code generation for API mashups | |
CN108959294B (zh) | 一种访问搜索引擎的方法和装置 | |
CN112947900B (zh) | web应用开发方法、装置、服务器及开发终端 | |
CN114185973A (zh) | 参数调用方法、装置、设备及计算机可读存储介质 | |
CN113760961B (zh) | 数据查询方法和装置 | |
CN117668560A (zh) | 模型训练、插件预测方法、装置、设备、介质及产品 | |
CN111045724A (zh) | 调用链信息的查询方法、装置和可读存储介质 | |
CN117369774A (zh) | 流程编排方法、装置及电子设备 | |
CN116089462A (zh) | 数据查询方法、装置、电子设备和存储介质 | |
CN115114047A (zh) | 远程调用方法、系统、装置、电子设备和存储介质 | |
US8200713B2 (en) | Database exploration for building wireless component applications | |
CN114416776A (zh) | 一种数据自定义查询统计方法 | |
CN113641678A (zh) | 一种基于多维表单的动态服务配置方法和系统 | |
CN113342553A (zh) | 一种数据的获取方法、装置、电子设备及存储介质 | |
CN109086145B (zh) | 数据生成方法、装置及计算机存储介质 | |
CN114090625A (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 |