CN114237712B - 指令执行方法、装置、电子设备及计算机存储介质 - Google Patents

指令执行方法、装置、电子设备及计算机存储介质 Download PDF

Info

Publication number
CN114237712B
CN114237712B CN202111545481.0A CN202111545481A CN114237712B CN 114237712 B CN114237712 B CN 114237712B CN 202111545481 A CN202111545481 A CN 202111545481A CN 114237712 B CN114237712 B CN 114237712B
Authority
CN
China
Prior art keywords
instruction
language
target language
content
end page
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
Application number
CN202111545481.0A
Other languages
English (en)
Other versions
CN114237712A (zh
Inventor
宋传园
蔡俊辉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Baidu Netcom Science and Technology Co Ltd
Original Assignee
Beijing Baidu Netcom Science and Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Baidu Netcom Science and Technology Co Ltd filed Critical Beijing Baidu Netcom Science and Technology Co Ltd
Priority to CN202111545481.0A priority Critical patent/CN114237712B/zh
Publication of CN114237712A publication Critical patent/CN114237712A/zh
Application granted granted Critical
Publication of CN114237712B publication Critical patent/CN114237712B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/3017Runtime instruction translation, e.g. macros

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Devices For Executing Special Programs (AREA)
  • Stored Programmes (AREA)

Abstract

本公开提供了指令执行方法、装置、电子设备及计算机存储介质,涉及计算机技术领域,尤其涉及大数据等技术领域。具体实现方案为:根据前端页面接收到的输入操作,生成基于前端页面设定语言的第一指令;利用所述前端页面对应的后端,将所述第一指令转化为基于目标语言的第二指令;根据所述第二指令,针对目标对象执行对应的操作。本公开实施例能够降低指令执行的实现难度,提高指令执行效率。

Description

指令执行方法、装置、电子设备及计算机存储介质
技术领域
本公开涉及计算机技术领域,尤其涉及大数据等技术领域。
背景技术
计算机语言是人与计算机之间传递信息的媒介。计算机系统最大特征是指令通过一种语言传达给机器。为了使电子计算机进行各种工作,就需要有一套用以编写计算机程序的数字、字符和语法规划,由这些字符和语法规则组成计算机各种指令或各种语句。
随着计算机技术的发展,计算机语言的种类也越来越多,针对一个功能所使用到的前端模块和后端模块之间的语言种类可能不一样,同时计算机语言的专业性也对用户的使用提出了更高的技术性要求,从而可能对某种功能的普适性等造成影响。
发明内容
本公开提供了一种指令执行方法、装置、电子设备及计算机存储介质。
根据本公开的一方面,提供了指令执行方法,包括:
根据前端页面接收到的输入操作,生成基于前端页面设定语言的第一指令;
利用前端页面对应的后端,将第一指令转化为基于目标语言的第二指令;
根据第二指令,针对目标对象执行对应的操作。
根据本公开的另一方面,提供了一种指令执行装置,包括:
第一指令生成模块,用于根据前端页面接收到的输入操作,生成基于前端页面设定语言的第一指令;
转化模块,用于利用前端页面对应的后端,将第一指令转化为基于目标语言的第二指令;
执行模块,用于根据第二指令,针对目标对象执行对应的操作。
根据本公开的另一方面,提供了一种电子设备,包括:
至少一个处理器;以及
与该至少一个处理器通信连接的存储器;其中,
该存储器存储有可被该至少一个处理器执行的指令,该指令被该至少一个处理器执行,以使该至少一个处理器能够执行本公开任一实施例中的方法。
根据本公开的另一方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,该计算机指令用于使计算机执行本公开任一实施例中的方法。
根据本公开的另一方面,提供了一种计算机程序产品,包括计算机程序/指令,该计算机程序/指令被处理器执行时实现本公开任一实施例中的方法。
根据本公开的技术,能够根据前端页面接收到的操作指令,最终生成后端能够对目标对象执行的语言的指令,从而在前端和后端所使用的语言不同的情况下,也能够实现前端和后端的交互,降低对前端或后端开发人员的语言掌握要求,减少前端和后端的开发、维护和使用成本。
应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
附图用于更好地理解本方案,不构成对本公开的限定。其中:
图1是根据本公开一实施例的指令执行方法示意图;
图2是根据本公开另一实施例的指令执行方法示意图;
图3是根据本公开又一实施例的指令执行方法示意图;
图4是根据本公开又一实施例的指令执行方法示意图;
图5A、5B是根据本公开一示例的前端页面示意图;
图6是根据本公开一示例的指令执行方法示意图;
图7是根据本公开一示例的解析器实现示意图;
图8是根据本公开一实施例的指令执行装置示意图;
图9是根据本公开另一实施例的指令执行装置示意图;
图10是根据本公开又一实施例的指令执行装置示意图;
图11是根据本公开又一实施例的指令执行装置示意图;
图12是根据本公开又一实施例的指令执行装置示意图;
图13是用来实现本公开实施例的指令执行方法的电子设备的框图。
具体实施方式
以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
根据本公开的实施例,提供了一种指令执行方法,图1是根据本公开实施例的指令执行方法的流程示意图,该方法可以应用于可利用前端或有段执行指令的电子设备,例如,该装置可以部署于终端或服务器或其它处理设备执行的情况下,可以执行接收输入操作、不同语言的指令转化等步骤。其中,终端可以为用户设备(UE,User Equipment)、移动设备、蜂窝电话、无绳电话、个人数字处理(PDA,Personal Digital Assistant)、手持设备、计算设备、车载设备、可穿戴设备等。在一些可能的实现方式中,该方法还可以通过处理器调用存储器中存储的计算机可读指令的方式来实现。如图1所示,指令执行方法包括:
步骤S11:根据前端页面接收到的输入操作,生成基于前端页面设定语言的第一指令;
步骤S12:利用前端页面对应的后端,将第一指令转化为基于目标语言的第二指令;
步骤S13:根据第二指令,针对目标对象执行对应的操作。
本实施例中,前端即网站前台部分,运行在PC(Personal Computer,个人计算机)端,移动端等浏览器上展现给用户浏览的网页。
前端页面可以是网页、软件程序页面、应用页面等。在一种具体实现方式中,前端页面可以是前端的显示界面。比如,网站前台的页面。
前端页面接收到的输入操作,可以是用户通过在前端页面使用鼠标、触控设备、键盘等输入装置输入信息时,产生的输入操作。比如鼠标的拖拽操作、触控操作、字符输入操作等。
前端页面设定语言,可以是将外界的用户操作转换为计算机指令的语言。比如,可以是Json(JavaScript Object Notation,JS对象简谱)格式的语言、C#语言、Python(蟒蛇)语言、PHP(超文本预处理器:Hypertext Preprocessor)语言等。
前端页面设定语言,也可以是自定义语言,比如,前端后端预定义的通用语言,即前端和后端均可识别的语言。
基于前端页面设定语言的第一指令,可以是采用前端页面所使用的语言生成的第一指令。
本实施例中,前端页面对应的后端可以是与前端进行信息传输的后端。利用前端页面对应的后端,将第一指令转化为基于目标语言的第二指令,可以是在后端,将第一指令的语言转化为目标语言,得到第二指令。
目标语言可以是后端使用的计算机语言或者自定义语言,具体可以是执行操作时所采用的语言,比如,针对数据库的查询操作的语言、信息发送操作的语言等。具体的语言种类可以是SQL(Structured Query Language,结构化查询语言)语言、Python语言等。
前端页面设定语言和目标语言可以是不同的语言。比如,其中一种是技术性较高或难度的语言,另一种是普遍性较高或较为简单的语言。从而,前端页面设定语言的建立和维护者无需掌握目标语言,在目标语言难度较高的情况下,减少前端使用、建立和维护的难度。
本实施例中,目标对象可以是指令执行的对象,比如设备或装置,数据库、服务器、终端、驱动器、接口、电子设备等,也可以是数据对象,比如存储模块中存储的数据等。
根据第二指令,针对目标对象执行对应的操作,可以是针对目标对象运行目标语言的第二指令,以实现计算、查询、发送、编码、解码、复制、删除等操作中的至少一种。
本公开实施例中,能够根据前端页面接收到的操作指令,最终生成后端能够对目标对象执行的语言的指令,从而在前端和后端所使用的语言不同的情况下,也能够实现前端和后端的交互,降低对前端或后端开发人员的语言掌握要求,减少前端和后端的开发、维护和使用成本。
在一种实施方式中,如图2所示,将基于前端页面设定语言的第一指令转化为目标语言的第二指令,包括:
步骤S21:根据前端页面设定语言的格式,对第一指令的内容进行校验,获得校验结果;
步骤S22:根据校验结果,将第一指令转换为前端页面设定语言表达的对象;
步骤S23:根据对象,获得基于目标语言的第二指令。
本实施例中,根据前端页面设定语言的格式,对第一指令的内容进行校验,可以是校验第一指令的内容是否为合法操作的指令、第一指令的内容是否符合前端页面设定语言的格式要求等。
前端页面设定语言表达的对象,可以是某一种已知语言的对象,比如可以是Java对象。
根据对象,获得基于目标语言的第二指令,可以是将Java对象与目标语言结合,生成第二指令。
本实施例中,能够根据校验结果,将第一指令中涉及的对象,与目标语言的操作指令相结合,生成第二指令,从而实现目标语言的转化功能。
在一种实施方式中,根据对象以及目标语言的嵌套规则,对第一指令中的嵌套结构进行拆分,包括:
根据对象以及目标语言的嵌套规则,将第一指令中的嵌套结构拆分为单子句和/或复合子句。
本实施例中,将第一指令中的嵌套结构拆分为单子句或复合子句,使得第一指令便于转换为第二指令。
在一种实施方式中,根据对象以及目标语言的嵌套规则,将第一指令中的嵌套结构拆分为单子句和/或复合子句,包括:
对第一指令进行功能解析,获得第一解析结果;
对第一解析结果进行关键字解析,获得第二解析结果;
根据第二解析结果进行选择语法结构解析,获得第三解析结果;
根据第三解析结果,获得单子句和/或复合子句。
通过本实施例,能够将第一指令逐步解析为第二指令,同时保证解析的准确性和效率。
在一种实施方式中,根据对象,获得基于目标语言的第二指令,包括:
根据对象以及目标语言的嵌套规则,对第二指令中的嵌套结构进行拆分;
根据拆分的内容,确定数据引擎类型;
确定数据引擎类型所使用的目标语言的类型;
将第一指令转换为目标语言的类型的语言,获得基于目标语言的第二指令。
本实施例中,目标语言的嵌套规则,可以是目标语言的语句或操作复合规则。若第一指令中的至少有一个操作指令,依据其它至少一个操作指令的执行结果进行执行,则该第一指令可以认为是嵌套的第一指令。
比如,针对操作指令X、Y,对象a,存在第一指令X[Y(a)],则X操作基于Y操作的操作结果执行,该第一指令为嵌套的指令。
本实施例中,根据拆分的内容,确定引擎的类型,可以是根据拆分的内容,确定第二指令执行的目标对象所在的引擎的类型。
在一些可能的实现方式中,根据目标语言的具体种类,若针对不同的音区,可能存在不同的目标语言的方言,即目标语言包含的子类别,针对不同的方言或子类别,目标语言的定义、使用方式大体相同,但存在个别差异。本实施例根据引擎的类型,确定目标语言的具体种类,从而能够提高对各种不同种类的引擎类别的通用性和兼容性。使得前端操作人员无需具体学习目标语言的多种不同的方言或子分类的规则,提高前端操作人员的操作便利性。
比如,SQL是一种标准的计算机语言。针对一些不同的数据存储引擎,又会存在一些特定的方言,但是都遵循SQL整体的结构和标准。
在一种实施方式中,输入操作包括拖拽操作,根据前端页面的输入操作,生成基于前端页面设定语言的第一指令,如图3所示,包括:
步骤S301:检测从前端页面的第一设定区域到前端页面的第二设定区域的拖拽操作;
步骤S302:根据第一设定区域对应的指令参数信息,补充第二设定区域对应的指令待填充内容,得到填充内容;
步骤S303:将填充内容和预设的默认指令内容合并,得到第一指令。
第一设定区域可以是操作选择区域或者参数选择区域。第二设定区域可以是指令生成区域。
从前端页面的第一设定区域到前端页面的第二设定区域的拖拽操作,可以是一次或多次拖拽操作。
填充内容可以是可选内容或可调整内容,比如参数等。预设的默认指令内容可以是指令的框架部分内容。
本实施例中,能够根据拖拽操作生成第一指令,从而将指令的内容以可视化的直观形式展现出来,提高在前端生成第一指令的便利性。
在一种实施方式中,指令参数信息包括指令待执行的操作种类、指令待执行的操作种类针对的数据对象和指令待执行的操作参数中的至少一个。
针对具体的计算机语言SQL,一些前端产品(比如Palo Studio)允许用户直接在Web页面上点击或者拖拽,就能实现访问和处理数据引擎中的数据,进行数据分析,便于非专业分析人员的使用和操作。但是前端的Web开发工具并不适合直接通过使用者的点击或拖拽行为生成SQL语句,而且由于SQL方言的存在,不同数据存储引擎作为数据源时,相同的点击或者拖拽,生成的SQL语言并不一定完全相同。所以结合前端只能快速生成JSON的特点,以及后端使用Java语言开发的特点。而通过本公开实施例,第一语言可以是基于WebJson的标准结构化查询语言PSQL(Palo Studio Query Language),从而商业智能工具给用户提供点击或者拖拽式数据分析和查询功能时,要求不必前端开发人员掌握专门的SQL语言,也不需要考虑不同数据存储引擎方言的存在,就能提供标准的结构化查询JSON,发送到后端经过解析后就自动实现数据分析和查询功能。
本实施例中,指令参数信息包括操作种类、指令待执行的操作种类针对的数据对象和指令待执行的操作参数,从而保证指令的完整性或可执行性。
在一种实施方式中,根据第二指令,针对目标对象执行对应的操作,如图4所示,包括:
步骤S401:根据第二指令所包含的内容,确定执行内容的条件;
步骤S402:验证条件是否被满足;
步骤S403:在条件被满足的情况下,将第二指令转发至数据引擎。
执行内容的条件,比如可以是身份条件、权限条件等。
本实施例中,在执行第二指令前,将第二指令转发至数据引擎执行操作,从而能够限制第二指令的无效执行或者恶意的第二指令被执行。
在一种实施方式中,基于前端页面设定语言的第一指令,为基于SQL的Json格式的指令;目标语言为SQL语言,执行对应的操作包括:
执行对SQL数据库的数据操作。
SQL是访问和处理数据库的标准的计算机语言,用于存取数据以及查询、更新和管理数据存储引擎。SQL数据库可以包括多种,比如MySQL、SQL server、PostgreSQL、BaiduPalo。标准的SQL拥有标准的语法和语句结构,是专业的数据分析人员需要掌握的一门编程语言。
第一语言可以是结合SQL语言的语法特点和Java语言面向对象的特点,定义前后端交互标准化Web(网页)查询语言。
本实施例中,能够对SQL数据库执行操作,从而实现SQL数据库的查询等功能。
在本公开一种示例中,前端可以通过页面直接拖拽生成PSQL标准化的Json格式,发送到后端后,后端针对PSQL格式特点进行解析,并且根据对应的引擎类型生成对应的查询SQL语言,然后通过连接引擎的Driver层发送到引擎查询,并且获取查询结果返回到前端。
在本公开一种示例中,前端页面如图5A、B所示,其中,数据表示查询的源表;关联表示Join(联合)查询的信息;自定义列表示表达式查询;筛选表示过滤查询;聚合表示聚合表达式查询;通过分组的列,表示groupby(分组条件)查询;排序和行限制分别表示orderby(排序条件)和limit(限制);如果选择了聚合和分组,还可以进一步进行嵌套查询,就是把之前的结果当成后一个查询的源表。
在本公开一种示例中,第一语言可以是基于Web JSON的标准结构化查询语言PSQL,目标语言为SQL语言。根据SQL查询的语法特点,SQL最终的语句元素都是由SQL关键字、数据字段信息、各种算数表达式、各种函数表达式组成,表名称是数据查询源。表达式的初级参数是字段信息,而表达式又可以被引用成字段信息,再次被算数表达式或者函数表达式当成参数。如果还有嵌套查询,那里层的查询结果就是外层数据查询源。但是最里层的查询数据源一定是一个数据表。
所以定义PSQL时,定义标准可以是,能够转换成Java对象的子句来表示SQL中的元素,子句分为单子句(即不包含其他子句,只包含Java基本的数据类型)和复合子句(子句中不仅包含Java基本的数据类型,还包含别的子句,即包含嵌套关系的子句)。
本公开示例的单子句可以是只包含了Java的基本数据类型,并且是复合子句组成的基础。在一种示例中,定义的单子句类型可包括5种,分别是:数据查询源表的字段子句、连接查询数据源表的字段子句、自定义表达式引用字段字句、嵌套查询中聚合表达式引用字段子句、嵌套查询中分组表达式引用字段子句。
本公开示例的复合子句可以是由Java基本数据类型和其他子句(单子句或者复合子句)组合在一起,表示SQL中各种关键字和表达式的Java对象JSON串。
本公开示例的单子句和复合子句还包括自定义表达式。自定义表达式有多种类型,包括加法、减法、乘法、除法、向下取整、向上取整、四舍五入取整、绝对值、平方、以e为底的指数函数、以1 0为底的对数函数、幂函数、字符串长度函数、字符串截断表达式、匹配并替换函数、移除字符串首尾空格、移除字符串首部空格、移除字符串尾部空格、字符串全部转换为大写、字符串全部转换为小写、字符串连接函数等。
本示例中,可依次参考各参数表达式,根据不同的表达式最终的结构特点,定义的PSQL又分为如下几类:
加法、减法、乘法、除法复合子句。加法、减法、乘法、除法表达式的特点是可以有不限个参数,参数类型可以是数字,单子句,还可以是另一个复合的加法、减法、乘法、除法等复合子句,所以这个复合子句的构成,是表达式算子名称(加法、减法、乘法、除法对应的符号或指令)和一个参数列表,列表中的元素个数不限。
针对一个乘法表达式,可以由2个参数组成,第一个参数可以是一个字段子句,第二个参数可以是一个加法复合子句。这个加法复合子句也可以由2个参数组成,第一个参数可以是一个字段子句,第二个参数可以是一个Java基本数据类型——数字5组成的。
本公开示例中,还可以包括:向下取整、向上取整、四舍五入取整、绝对值、平方、以e为底的指数函数、以10为底的对数函数等复合子句。
向下取整、向上取整、四舍五入取整、绝对值、平方、以e为底的指数函数、以10为底的对数函数表达式的特点是可以只有一个参数,这个参数可以是数字、单子句,还可以是另一个结果是数字类型的复合子句。
比如,在一个取绝对值表达式的格式中,参数可以只有也只能是一个,因此取绝对值表达式是一个单子句。
幂函数算子表达式的特点是有两个参数,两个参数的类型都可以是数字、单子句,还可以是另一个结果是数字类型的复合子句,但是每个表达式里两个参数的类型可以不一样。
比如,在一个幂函数的表达式格式中,参数有两个,第一个参数可以是一个单子句,第二个参数可以是一个数字。
字符串长度函数算子表达式的特点是只有一个参数,这个参数可以是字符串、单子句,还可以是另一个结果是字符串类型的复合子句。字符串长度函数算子的返回结果是数字。
字符串截断表达式算子表达式的特点是有三个参数,第一个参数可以是字符串、单子句,还可以是另一个结果是字符串类型的复合子句。第二个和第三个参数,可以都只能是数字,可以分别表示字符串截断的起始位置和截取的长度。
匹配并替换函数算子表达式的特点是有三个参数,第一个参数可以是字符串、单子句,还可以是另一个结果是字符串型的复合子句。第二个和第三个参数,可以都只能是字符串,可以分别表示要查询的匹配字符串和匹配后要替换的内容。
移除字符串首尾空格、移除字符串首部空格、移除字符串尾部空格、字符串全部转换为大写、字符串全部转换为小写算子表达式的特点是可以只有一个参数,这个参数可以是字符串、单子句,还可以是另一个结果是字符串型的复合子句。移除字符串首尾空格、移除字符串首部空格、移除字符串尾部空格、字符串全部转换为大写、字符串全部转换为小写算子的返回结果是字符串。
字符串连接函数算子表达式的特点是可以有不限个参数,参数类型可以是字符串、单子句,还可以是另一个结果是字符串型的复合子句,这些参数可以构成一个参数列表,且列表中的元素个数可以不限。
依次参考各参数表达式算子表达式的特点是只有一个参数,这个参数可以是字符串、数字、单子句,还可以是另一个结果是字符串型或数字型复合子句。依次参考各参数表达式算子的返回结果是字符串。
本示例中的复合子句还可包括连接查询复合子句、分组复合子句。
分组查询可以直接是5种单子句直接进行分组,也可以组成几种复合子句。
时间字段分组复合子句,包括两个元素,第一个元素是5个单子句中的一种,第二个元素是分组时间单位。
分桶字段分组复合子句,包括3个元素,第一个元素是5个单子句中的一种,第二个元素分桶的长度,第三个元素是分桶的策略。
比如,可以将前端页面的语句转换为联合查询,结合分桶长度的元素和分桶策略的元素,生成第一指令。
本公开示例中还可包括聚合函数复合子句,支持的聚合函数包括:计数、累计计数、去重计数、求平均值、累计求和、求和、最小值、最大值、标准差。
针对计数复合子句或累计计数复合子句,可以只有一个参数或者没有参数,参数类型可以只能是5种单子句中的一种,如果没有参数,就表示对整表计数。
针对去重计数聚合函数的复合子句特点是可以只有一个参数,参数类型可以只能是5种单子句中的一种。
针对求平均值、累计求和、求和、最小值、最大值、标准差聚合函数的复合子句特点是只有一个参数,参数类型只能是5种单子句中的一种,但是单子句表示的字段,在数据引擎中的类型必须是数字类型的。
针对过滤复合子句,其中过滤是指对数据进行筛选,过滤的复合子句类型可包括:
时间字段过滤复合子句,具体还可以包括绝对时间过滤符合子句和/或相对时间过滤复合子句。绝对时间过滤符合子句和相对时间过滤复合子句特点都可以是:可以有一个单子句元素、一个相对/绝对时间表示、一个时间单位、一个是否包含当前时间单位的boolean(布尔)类型参数。
等于复合子句或不等于复合子句可以属于过滤函数复合子句。过滤函数的复合子句特点是,包括两个参数,第一个参数是单子句中的一种,第二个参数是单子句中的一种或者Java基本的数字、字符串、boolean等类型的数据。比如在一个等于复合子句中,第一个参数可以是标识码,第二参数是数字。在一个不等于复合子句中,第一个参数可以是标识码,第二参数也可以是标识码。
大于、小于、大于等于或小于等于复合子句,也可以属于过滤函数的复合子句。大于、小于、大于等于或小于等于复合子句特点是,包括两个参数,第一个参数可以是单子句中的一种,第二个参数可以是单子句中的一种或者Java基本的数字或者字符串的数据。
介于两个值之间复合子句也可以属于过滤函数的复合子句。介于两个值之间复合子句的特点是,可以包括三个参数,第一个参数可以是单子句中的一种,第二个和第三个参数可以是单子句中的一种或者Java基本的数字或者字符串的数据。
为空或不为空过滤函数的复合子句。为空或不为空过滤函数特点是,可以只有一个参数,可以被视为是单子句中的一种。
以什么开始、以什么结束、包含、不包含过滤函数的复合子句特点是,可以包括三个参数,第一个参数可以是本身代表的数据类型是字符串类型的单子句中的一种,第二个参数可以是一个字符串,第三个参数可以是一个boolean(布尔)型,表示是否大小写敏感。
且和或过滤函数的参数个数不受限制,参数的内容是其他过滤函数复合子句的列表。
非过滤函数只有一个参数,参数的内容是其他过滤函数复合子句。
排序复合子句的特点是可以包含一个单子句(5种中的一种),还可以包含一个排序的方法ASC(正序排序,即从小到大排序)和DESC(降序排序,即从大到小排序)。
在本公开一种示例中,实现PSQL解析的整体过程如图6所示,包括:
步骤S61:根据前端页面接收到的操作,确定Json格式的结构化查询请求。接收到结构化的查询请求Json(此处Json的定义是根据PSQL统一定义的),通过PSQL标准定义转化成PSQL统一对象。
步骤S62:根据Json格式的结构化查询请求,确定结构化查询请求对象PSQL。利用SQL Parser Manager(SQL解析管理器)和SQL Parser(SQL解析器),将Json格式的结构化查询请求转化成统一对象后再经过解析层(Parser),根据不同的存储引擎类型和SQL语法,转化成引擎特有的查询SQL语句。
步骤S63:根据查询的请求和转化后的SQL,Service(服务)层通过读取后端数据库、执行校验权限等,构造引擎转发请求。可利用SQL Driver(SQL驱动器)执行本步骤。
步骤S64:统一由查询层(Driver驱动器)根据不同的查询引擎转发,并获取和处理对应的查询结果。本步骤中,可以根据不同的数据存储引擎类型,转发查询请求的方式(比如连接信息封装、连接方式等)不同。可根据数据存储引擎(相当于前述实施例中的数据引擎)类型,确定转发查询请求的方式,从而根据转发查询请求的方式,将一个结构化查询请求传输到Studio(平台)的后端。
本公开示例中,解析器实现时,主要可以把查询结构化语句转换成对应类型的select SQL(选择SQL)语句,SQL语句的标准语法大多一致,但是不同的引擎类型会出现方言和一些新的语法。采用本公开实施例提供的方法,能够根据不同的引擎类型,将查询结构化语句转化为对应的方言和新的语法,降低对前端或后端操作人员的语言技能要求。
本公开示例中,解析器的整体实现如图7所示,包括:
统一解析接口71:用于查询结构化语句统一解析的入口,还可用于传入结构化查询类型和引擎的类型与名称。如果后续有新的SQL语法,可以直接在这一层继承这个类,实现新的接口,并再增加一个Manager(管理器)功能,实现根据不同引擎类型,构造不同引擎的方言SQL。
解析模块72:用于分模块解析结构化查询的内容,如果后续增加新的模块,可以增加对应的模块解析功能;同时,如果对应模块的解析需要自定义实现,可以继承对应的模块实现。具体可以包括如下子模块:TableParser(表格解析器),可以用于解析查询的table信息和Join的table信息。FieldParser(字段解析器),属于字段解析工具类,可以用于为其他解析模块提供字段解析的基础功能。ExpressionParser(表达式解析器),可以用于自定义表达式解析。FilterParser(过滤解析器),可以用于过滤条件解析。BreakoutParser(分段解析),用于执行GroupBy(分组)解析。AggregationParser(聚合解析),用于对聚合表达式解析,对于过程相对简单的解析,可以在同一解析接口中解析,后续如果有新的需求,可以拆分出来单独实现。
关键字模块73,主要用于包括SQL公共的关键字(CommonKeyword)、自定义表达式的函数和关键字(ExpressionKeyword)、过滤筛选表达式的函数和关键字(FilterKeyword)、时间类型函数和关键字(TimeFunction)、聚合表达式的函数和关键字(AggregationKeyword)的获取。如果不同的引擎在这些关键字有对应的方言,则增加对应的实现即可。
Select(选择)语法结构模块74,Select语句语法基本的结构包括:单层(最里面查询数据源表或者视图的语句)结构和多层嵌套结构。
效率优化模块75。Select查询时,嵌套的层数越少效率越高,所以构造SQL的时候,会利用效率优化模块75在不改变语义的前提下进行嵌套层数的优化。比如自定义表达式引用这类的嵌套,是可以直接优化成自定义表达式作为字段进行查询的。
本公开实施例还提供一种指令执行装置,如图8所示,包括:
第一指令生成模块81,用于根据前端页面接收到的输入操作,生成基于前端页面设定语言的第一指令;
转化模块82,用于利用前端页面对应的后端,将第一指令转化为基于目标语言的第二指令;
执行模块83,用于根据第二指令,针对目标对象执行对应的操作。
在一种实施方式中,如图9所示,转化模块包括:
校验单元91,用于根据前端页面设定语言的格式,对第一指令的内容进行校验,获得校验结果;
校验结果处理单元92,用于根据校验结果,将第一指令转换为前端页面设定语言表达的对象;
第二指令单元93,用于根据对象,获得基于目标语言的第二指令。
在一种实施方式中,第二指令单元还用于:
根据对象以及目标语言的嵌套规则,对第一指令中的嵌套结构进行拆分;
根据拆分的内容,确定数据引擎类型;
确定数据引擎类型所使用的目标语言的类型;
将第一指令转换为目标语言的类型的语言,获得基于目标语言的第二指令。
在一种实施方式中,第二指令单元还用于:
根据对象以及目标语言的嵌套规则,将第一指令中的嵌套结构拆分为单子句和/或复合子句。
在一种实施方式中,第二指令单元还用于:
对第一指令进行功能解析,获得第一解析结果;
对第一解析结果进行关键字解析,获得第二解析结果;
根据第二解析结果进行选择语法结构解析,获得第三解析结果;
根据第三解析结果,获得单子句和/或复合子句。
在一种实施方式中,输入操作包括拖拽操作,如图10所示,根第一指令生成模块包括:
拖拽检测单元101,用于检测从前端页面的第一设定区域到前端页面的第二设定区域的拖拽操作;
填充单元102,用于根据第一设定区域对应的指令参数信息,补充第二设定区域对应的指令待填充内容,得到填充内容;
合并单元103,用于将填充内容和预设的默认指令内容合并,得到第一指令。
在一种实施方式中,指令参数信息包括指令待执行的操作种类、指令待执行的操作种类针对的数据对象和指令待执行的操作参数中的至少一个。
在一种实施方式中,如图11所示,执行模块包括:
条件单元111,用于根据第二指令所包含的内容,确定执行内容的条件;
验证单元112,用于验证条件是否被满足;
转发单元113,用于在条件被满足的情况下,将第二指令转发至数据引擎。
在一种实施方式中,基于前端页面设定语言的第一指令,为基于SQL的Json格式的指令;目标语言为SQL语言,入图12所示,执行模块包括:
SQL执行单元121,用于执行对SQL数据库的数据操作。
本公开的技术方案中,所涉及的用户个人信息的获取,存储和应用等,均符合相关法律法规的规定,且不违背公序良俗。
根据本公开的实施例,本公开还提供了一种电子设备、一种可读存储介质和一种计算机程序产品。
图13示出了可以用来实施本公开的实施例的示例电子设备130的示意性框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
如图13所示,设备130包括计算单元131,其可以根据存储在只读存储器(ROM)132中的计算机程序或者从存储单元138加载到随机访问存储器(RAM)133中的计算机程序,来执行各种适当的动作和处理。在RAM133中,还可存储设备130操作所需的各种程序和数据。计算单元131、ROM132以及RAM133通过总线134彼此相连。输入/输出(I/O)接口135也连接至总线134。
设备130中的多个部件连接至I/O接口135,包括:输入单元136,例如键盘、鼠标等;输出单元137,例如各种类型的显示器、扬声器等;存储单元138,例如磁盘、光盘等;以及通信单元139,例如网卡、调制解调器、无线通信收发机等。通信单元139允许设备130通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
计算单元131可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元131的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。计算单元131执行上文所描述的各个方法和处理,例如指令执行方法。例如,在一些实施例中,指令执行方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元138。在一些实施例中,计算机程序的部分或者全部可以经由ROM132和/或通信单元139而被载入和/或安装到设备130上。当计算机程序加载到RAM133并由计算单元131执行时,可以执行上文描述的指令执行方法的一个或多个步骤。备选地,在其他实施例中,计算单元131可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行指令执行方法。
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、负载可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,也可以为分布式系统的服务器,或者是结合了区块链的服务器。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。

Claims (14)

1.一种指令执行方法,包括:
根据前端页面接收到的输入操作,生成基于前端页面设定语言的第一指令;
利用所述前端页面对应的后端,将所述第一指令转化为基于目标语言的第二指令;
根据所述第二指令,针对目标对象执行对应的操作;
所述将所述第一指令转化为目标语言的第二指令,包括:
根据前端页面设定语言的格式,对所述第一指令的内容进行校验,获得校验结果;
根据所述校验结果,将所述第一指令转换为前端页面设定语言表达的对象;
根据所述对象,获得基于目标语言的第二指令;
所述根据所述对象,获得基于目标语言的第二指令,包括:
根据所述对象以及所述目标语言的嵌套规则,对所述第一指令中的嵌套结构进行拆分;
根据拆分的内容,确定数据引擎类型;
确定所述数据引擎类型所使用的目标语言的类型;
将所述第一指令转换为所述目标语言的类型的语言,获得基于目标语言的第二指令;
所述目标语言的嵌套规则包括目标语言的语句或操作复合规则;根据所述嵌套规则,嵌套的指令依据其它至少一个操作指令的执行结果进行执行;
所述根据拆分的内容,确定数据引擎类型,包括:根据拆分的内容,确定第二指令执行的目标对象所在的引擎的类型;
所述根据所述第二指令,针对目标对象执行对应的操作,包括:
根据所述第二指令所包含的内容,确定执行所述内容的条件;
验证所述条件是否被满足;
在所述条件被满足的情况下,将所述第二指令转发至数据引擎。
2.根据权利要求1所述的方法,其中,所述根据所述对象以及所述目标语言的嵌套规则,对所述第一指令中的嵌套结构进行拆分,包括:
根据所述对象以及所述目标语言的嵌套规则,将所述第一指令中的嵌套结构拆分为单子句和/或复合子句。
3.根据权利要求2所述的方法,其中,所述根据所述对象以及所述目标语言的嵌套规则,将所述第一指令中的嵌套结构拆分为单子句和/或复合子句,包括:
对所述第一指令进行功能解析,获得第一解析结果;
对第一解析结果进行关键字解析,获得第二解析结果;
根据第二解析结果进行选择语法结构解析,获得第三解析结果;
根据所述第三解析结果,获得所述单子句和/或复合子句。
4.根据权利要求1-3中任意一项所述的方法,其中,所述输入操作包括拖拽操作,所述根据前端页面的输入操作,生成基于前端页面设定语言的第一指令,包括:
检测从所述前端页面的第一设定区域到所述前端页面的第二设定区域的拖拽操作;
根据所述第一设定区域对应的指令参数信息,补充所述第二设定区域对应的指令待填充内容,得到填充内容;
将所述填充内容和预设的默认指令内容合并,得到所述第一指令。
5.根据权利要求4所述的方法,其中,所述指令参数信息包括指令待执行的操作种类、指令待执行的操作种类针对的数据对象和指令待执行的操作参数中的至少一个。
6.根据权利要求1所述的方法,其中,所述基于前端页面设定语言的第一指令,为基于SQL的Json格式的指令;所述目标语言为SQL语言,所述执行对应的操作包括:
执行对SQL数据库的数据操作。
7.一种指令执行装置,包括:
第一指令生成模块,用于根据前端页面接收到的输入操作,生成基于前端页面设定语言的第一指令;
转化模块,用于利用所述前端页面对应的后端,将所述第一指令转化为基于目标语言的第二指令;
执行模块,用于根据所述第二指令,针对目标对象执行对应的操作;
所述转化模块包括:
校验单元,用于根据前端页面设定语言的格式,对所述第一指令的内容进行校验,获得校验结果;
校验结果处理单元,用于根据所述校验结果,将所述第一指令转换为前端页面设定语言表达的对象;
第二指令单元,用于根据所述对象,获得基于目标语言的第二指令;
所述第二指令单元还用于:
根据所述对象以及所述目标语言的嵌套规则,对所述第一指令中的嵌套结构进行拆分;
根据拆分的内容,确定数据引擎类型;
确定所述数据引擎类型所使用的目标语言的类型;
将所述第一指令转换为所述目标语言的类型的语言,获得基于目标语言的第二指令;
所述目标语言的嵌套规则包括目标语言的语句或操作复合规则;根据所述嵌套规则,嵌套的指令依据其它至少一个操作指令的执行结果进行执行;
所述第二指令单元还用于:根据拆分的内容,确定第二指令执行的目标对象所在的引擎的类型;
所述执行模块包括:
条件单元,用于根据所述第二指令所包含的内容,确定执行所述内容的条件;
验证单元,用于验证所述条件是否被满足;
转发单元,用于在所述条件被满足的情况下,将所述第二指令转发至数据引擎。
8.根据权利要求7所述的装置,其中,所述第二指令单元还用于:
根据所述对象以及所述目标语言的嵌套规则,将所述第一指令中的嵌套结构拆分为单子句和/或复合子句。
9.根据权利要求8所述的装置,其中,所述第二指令单元还用于:
对所述第一指令进行功能解析,获得第一解析结果;
对第一解析结果进行关键字解析,获得第二解析结果;
根据第二解析结果进行选择语法结构解析,获得第三解析结果;
根据所述第三解析结果,获得所述单子句和/或复合子句。
10.根据权利要求7-9中任意一项所述的装置,其中,所述输入操作包括拖拽操作,所述根据第一指令生成模块包括:
拖拽检测单元,用于检测从所述前端页面的第一设定区域到所述前端页面的第二设定区域的拖拽操作;
填充单元,用于根据所述第一设定区域对应的指令参数信息,补充所述第二设定区域对应的指令待填充内容,得到填充内容;
合并单元,用于将所述填充内容和预设的默认指令内容合并,得到所述第一指令。
11.根据权利要求10所述的装置,其中,所述指令参数信息包括指令待执行的操作种类、指令待执行的操作种类针对的数据对象和指令待执行的操作参数中的至少一个。
12.根据权利要求9所述的装置,其中,所述基于前端页面设定语言的第一指令,为基于SQL的Json格式的指令;所述目标语言为SQL语言,所述执行模块包括:
SQL执行单元,用于执行对SQL数据库的数据操作。
13.一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-6中任一项所述的方法。
14.一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使计算机执行根据权利要求1-6中任一项所述的方法。
CN202111545481.0A 2021-12-15 2021-12-15 指令执行方法、装置、电子设备及计算机存储介质 Active CN114237712B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111545481.0A CN114237712B (zh) 2021-12-15 2021-12-15 指令执行方法、装置、电子设备及计算机存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111545481.0A CN114237712B (zh) 2021-12-15 2021-12-15 指令执行方法、装置、电子设备及计算机存储介质

Publications (2)

Publication Number Publication Date
CN114237712A CN114237712A (zh) 2022-03-25
CN114237712B true CN114237712B (zh) 2022-12-27

Family

ID=80757240

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111545481.0A Active CN114237712B (zh) 2021-12-15 2021-12-15 指令执行方法、装置、电子设备及计算机存储介质

Country Status (1)

Country Link
CN (1) CN114237712B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115129743A (zh) * 2022-06-21 2022-09-30 北京合思信息技术有限公司 一种数据库访问方法、装置及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105335434A (zh) * 2014-08-11 2016-02-17 腾讯科技(北京)有限公司 日志管理方法、装置及电子设备
CN105976245A (zh) * 2016-04-28 2016-09-28 优品财富管理有限公司 一种模拟交易系统及方法
CN108446109A (zh) * 2018-02-06 2018-08-24 微梦创科网络科技(中国)有限公司 转换前端模板的方法及系统
CN111666293A (zh) * 2019-03-05 2020-09-15 北京京东尚科信息技术有限公司 数据库访问方法和装置
CN112506948A (zh) * 2020-12-03 2021-03-16 中国人寿保险股份有限公司 业务信息的指标查询方法及相关设备

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101375273A (zh) * 2005-12-09 2009-02-25 泰吉克通讯股份有限公司 用于绘制文本和其他应用的嵌入式规则引擎
US7975233B2 (en) * 2006-07-24 2011-07-05 National Instruments Corporation Automatic conversion of a textual language into a graphical program representation
CN102663198A (zh) * 2012-04-18 2012-09-12 上海方正数字出版技术有限公司 一种web后台与前台结合的在线设计制作印制品的方法及系统
EP4089531B1 (en) * 2016-12-31 2024-06-26 Intel Corporation Systems, methods, and apparatuses for heterogeneous computing
CN112183712A (zh) * 2019-07-03 2021-01-05 安徽寒武纪信息科技有限公司 深度学习算法的编译方法、装置及相关产品
CN113032423B (zh) * 2021-05-31 2021-08-17 北京谷数科技股份有限公司 基于多数据引擎动态装载的查询方法和系统

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105335434A (zh) * 2014-08-11 2016-02-17 腾讯科技(北京)有限公司 日志管理方法、装置及电子设备
CN105976245A (zh) * 2016-04-28 2016-09-28 优品财富管理有限公司 一种模拟交易系统及方法
CN108446109A (zh) * 2018-02-06 2018-08-24 微梦创科网络科技(中国)有限公司 转换前端模板的方法及系统
CN111666293A (zh) * 2019-03-05 2020-09-15 北京京东尚科信息技术有限公司 数据库访问方法和装置
CN112506948A (zh) * 2020-12-03 2021-03-16 中国人寿保险股份有限公司 业务信息的指标查询方法及相关设备

Also Published As

Publication number Publication date
CN114237712A (zh) 2022-03-25

Similar Documents

Publication Publication Date Title
US11100174B2 (en) Simple web search
US11409744B2 (en) Query generation based on merger of subqueries
JP6568935B2 (ja) 知識ソースを用いた類似性分析およびデータ強化の技術
US20180336186A1 (en) Automated ontology building
CN110704290B (zh) 日志分析方法及装置
WO2023116086A1 (zh) 数据查询方法、装置、电子设备以及存储介质
US20180165347A1 (en) Multi-dimensional analysis using named filters
CN111274267A (zh) 一种数据库查询方法、装置及计算机可读取存储介质
US11055353B2 (en) Typeahead and autocomplete for natural language queries
CN110232178A (zh) 报表生成方法及装置
US20210216713A1 (en) Method, apparatus, device and storage medium for intelligent response
KR102172138B1 (ko) 분산 컴퓨팅 프레임워크 및 분산 컴퓨팅 방법
CN114237712B (zh) 指令执行方法、装置、电子设备及计算机存储介质
CN117743369A (zh) 数据查询方法、装置、存储介质及终端设备
JP7500688B2 (ja) 観測情報処理方法、装置、電子機器、記憶媒体及びコンピュータプログラム
CN114995719A (zh) 列表渲染方法、装置、设备以及存储介质
CN114117189A (zh) 一种问题解析方法、装置、电子设备及存储介质
US20230086429A1 (en) Method of recognizing address, electronic device and storage medium
Liu et al. PolySem: Efficient Polyglot Analytics on Semantic Data.
CN117033402A (zh) 一种数据访问方法、装置、设备及存储介质
CN114756238A (zh) 一种动态化编译的方法、装置、设备和存储介质
CN113760945A (zh) 一种审核sql语句的方法及装置
CN118093622A (zh) 一种基于大型语言模型的sql生成方法、装置、设备和存储介质
CN117472940A (zh) 数据血缘关系构建方法和装置、电子设备及存储介质
CN118296026A (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