CN114416776A - 一种数据自定义查询统计方法 - Google Patents
一种数据自定义查询统计方法 Download PDFInfo
- Publication number
- CN114416776A CN114416776A CN202210044736.3A CN202210044736A CN114416776A CN 114416776 A CN114416776 A CN 114416776A CN 202210044736 A CN202210044736 A CN 202210044736A CN 114416776 A CN114416776 A CN 114416776A
- Authority
- CN
- China
- Prior art keywords
- data
- query
- field
- request message
- checking
- 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
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/2452—Query translation
- G06F16/24528—Standardisation; Simplification
-
- 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
- G06F16/24553—Query execution of query operations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/30—Semantic analysis
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- General Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- General Health & Medical Sciences (AREA)
- Mathematical Physics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明通过获取按照预设协议输入的请求报文;对请求报文进行校验,得到校验结果;当校验结果为通过状态时,对请求报文进行解析并生成查询语句;根据查询语句进行数据查询并获取查询数据;按照预设协议对查询数据进行报文封装,作为输出。本发明通过屏蔽不同类型数据库差异,提供统一的查询方式,解决了数据的安全性隐患确保数据安全;使用户只专注于自己的业务数据;并提供通用的方式,解决了某些数据库受开发语言限制的问题。
Description
技术领域
本申请实施例涉及电子信息技术领域,尤其涉及数据自定义查询统计方法。
背景技术
目前,数据库查询通常有三类:通过数据库软件提供方自己提供的数据库管理工具进行查询;通过开发环境编译器,开发人员在自己的应用程序里面去访问数据库;跨数据库平台的查询工具。上述方式都需要与数据库直接连接,或通过数据库驱动连接,对数据安全保护不够高,操作人员需要熟悉不同数据库的查询方式、数据库表的存储方式,以及复杂的SQL查询方法。
发明内容
有鉴于此,本申请实施例提供一种数据自定义查询统计方法,以至少部分解决上述问题。
第一方面,本申请实施例提供了一种数据自定义查询统计方法,其特征在于,包括:
获取按照预设协议输入的请求报文;
对请求报文进行校验,得到校验结果;
当校验结果为通过状态时,对请求报文进行解析并生成查询语句;
根据查询语句进行数据查询并获取查询数据;
按照预设协议对查询数据进行报文封装,作为输出。
可选地,在一种实现方式中,对请求报文进行校验,得到校验结果,包括:
对请求报文分别进行语法校验与语义校验,得到校验结果。
可选地,在一种实现方式中,语法校验,包括:
对请求报文进行Json语法校验,并对请求报文的字段进行语法校验;
字段包括:业务数据类型字段、非业务数据类型字段。
可选地,在一种实现方式中,语义校验,包括:
对请求报文的SQL字段进行语义校验,用于判断请求报文能否组成完整SQL语句。
可选地,在一种实现方式中,对请求报文进行解析并生成查询语句,包括:
对请求报文进行解析,得到解析结果,根据解析结果与预先定义字段查询映射表及关键字函数查询映射表生成SQL查验语句;
在生成SQL查询语句时,对请求报文的字段进行字段名转换,用于实现业务侧与数据侧的隔离。
第二方面,本申请实施例提供了一种数据自定义查询统计装置,其特征在于,包括:
服务接口、校验器、解析器、执行器、封装器;
服务接口,用于获取按照预设协议输入的请求报文;
校验器,用于对请求报文进行校验,得到校验结果;
解析器,用于当校验结果为通过状态时,对请求报文进行解析并生成查询语句;
执行器,用于根据查询语句进行数据查询并获取查询数据;
封装器,用于按照预设协议对查询数据进行报文封装,作为输出。
可选地,在一种实现方式中,校验器还用于,对请求报文分别进行语法校验与语义校验,得到校验结果。
可选地,在一种实现方式中,校验器还用于,对请求报文进行Json语法校验,并对请求报文的字段进行语法校验;
字段包括:业务数据类型字段、非业务数据类型字段。
可选地,在一种实现方式中,校验器还用于,对请求报文的SQL字段进行语义校验,判断请求报文能否组成完整SQL语句。
可选地,在一种实现方式中,解析器还用于,对请求报文进行解析,得到解析结果,根据解析结果与预先定义字段查询映射表及关键字函数查询映射表生成SQL查验语句;
在生成SQL查询语句时,对请求报文的字段进行字段名转换,用于实现业务侧与数据侧的隔离。
本发明通过获取按照预设协议输入的请求报文;对请求报文进行校验,得到校验结果;当校验结果为通过状态时,对请求报文进行解析并生成查询语句;根据查询语句进行数据查询并获取查询数据;按照预设协议对查询数据进行报文封装,作为输出。本发明通过屏蔽不同类型数据库差异,提供统一的查询方式,解决了数据的安全性隐患确保数据安全;使用户只专注于自己的业务数据;并提供通用的方式,解决了某些数据库受开发语言限制的问题。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请实施例中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。
图1为根据本申请实施例的一种数据自定义查询统计方法步骤流程图;
图2为根据本申请实施例的一种数据自定义查询统计装置结构图;
图3为根据本申请实施例的一种电子设备图;
具体实施方式
为了使本领域的人员更好地理解本申请实施例中的技术方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请实施例一部分实施例,而不是全部的实施例。基于本申请实施例中的实施例,本领域普通技术人员所获得的所有其他实施例,都应当属于本申请实施例保护的范围。
下面结合本申请实施例附图进一步说明本申请实施例具体实现。
实施例一
本申请实施例一提供一种数据自定义查询统计方法,参照图1所示,该方法可以在后台服务器上运行,其具体包括以下步骤:
步骤101、获取按照预设协议输入的请求报文;
需要说明的是,此处的预设协议是一种采用Json协议格式的数据协议,JSON(JavaScriptObjectNotation,JS对象简谱)是一种轻量级的数据交换格式。它基于ECMAScript(欧洲计算机协会制定的js规范)的一个子集,采用完全独立于编程语言的文本格式来存储和表示数据。简洁和清晰的层次结构使得JSON成为理想的数据交换语言。易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率。报文指的是网络中交换与传输的数据单元,即站点一次性要发送的数据块。报文包含了将要发送的完整的数据信息,其长短很不一致,长度不限且可变,此处的请求报文可以是http请求报文。通过可对外提供语法统一的基于Json协议的数据库查询方法,使用户不用去处理不同类型数据库的差异及查询方法的差异。
此处的预设协议包括但不仅限于以下要求,包括:业务/数据类型字段、SQL语义字段、其他字段。其中,业务/数据类型字段,也可以称为业务数据类型字段,用于标识需要查询的业务数据类型,可以是一个或多个,根据实际需要可扩展。SQL语义字段,用于表示要执行的数据库操作。SQL语义字段具体包括以下:查询/统计字段,用于支持不同的查询/统计类型,如查询、计数、求和等;条件字段,用于支持不同的条件查询,包括范围、枚举、等于、模糊匹配等条件;分组字段:用于说明查询结果的显示方法;排序:用于说明查询结果排序依据及排序方法;限制字段:用于说明查询结果条数的限制。上述SQL具体字段涉及的业务数据个数,在授权给用户查询的范围内动态可变,可以实现数据查询/统计的自定义功能。其他字段,指的是与数据查询不直接相关,即不参与SQL语句组装的字段,可扩展。
下面,列举一种符合预设协议的协议格式:
下面,对预设协议具体的字段进行说明:1、数据项“cxlx”,表示查询类型,是一种int类型数据,数据长度为1字节,是一种必须的预设协议数据项,用于说明查询数据的类型,例如,0:A类数据、1:B类数据、2:C类数据、4:D类数据等。2、数据项“fjh”,表示分机号,是一种Varchar类型数据,数据长度为5字节,是一种必须的预设协议数据项,其范围是0至29999的整数。3、数据项“certpwd”,表示税控设备证书口令,是一种Varchar类型数据,数据长度为20字节,是一种必须的预设协议数据项。4、数据项“select”,表示统计/查询项,是一种Json数组类型数据,是一种必须的预设协议数据项,其中,数组里面用json对象来表示需要统计/查询的数据,json对象里不能为空,至少需要有一个键值对。5、数据项“type”,表示统计/查询类型,是一种Varchar类型数据,数据长度为1字节,是一种必须的预设协议数据项,其中,type有3种情况:count:表示需要对后面的字段名进行计数统计;sum:表示需要对后面的字段名进行求和统计;query:表示需要对后面的字段名进行查询。6、数据项“select_field”,表示"字段名"列表,是一种Json数组类型数据,是一种必须的预设协议数据项,其中,当“统计/查询类型”为count时:数组里的字段不进行排重处理。7、数据项“where”,表示统计/查询条件,是一种Json数组类型数据,是一种必须的预设协议数据项,用于当用户不需要条件时,按下面格式输入:"where":[],此外where条件里面,不同json对象表示的条件之间是“并且(and)”的关系。8、数据项“type”,表示条件类型,是一种Varchar类型数据,数据长度为5字节,是一种必须的预设协议数据项,type的值可以为以下3种:range:按范围查询;enum:按枚举查询;like:模糊查询。9、数据项“field”,表示条件字段名,是一种Varchar类型数据,是一种必须的预设协议数据项。10、数据项“value”,表示"字段值"列表,是一种Json数组类型数据,是一种必须的预设协议数据项,其中,当用户按range(范围)统计/查询时,"字段值"输入格式如下,["value1","value2"],当value1≠"",value2=""时,表示value1≤字段值,当value1="",value2≠""时,表示字段值≤value2。当value1≠"",value2≠"",且value1≤value2时,表示:value1≤字段值≤value2;当用户按enum或like统计/查询时:"字段值"列表里面的个数不受限制。"字段值"列表里面的字段之间是"或(or)"的关系。例如传入的条件值为空([“”]),则包含数据库中的null及””两种情况。11、数据项“group_by”,表示分组,是一种Json数组类型数据,是一种必须的预设协议数据项,用于用户不需要分组时按下面的格式输入:"group_by":[]。12、数据项“group_field”,表示"分组字段名"列表,是一种Varchar类型数据,是一种非必须的预设协议数据项。13、数据项“order_by”,表示排序,是一种Json数组类型数据,是一种必须的预设协议数据项,用于用户不需要排序时按下面的格式输入:"order_by":[]。14、数据项“order_field”,表示"条件字段名"列表,是一种Varchar类型数据,是一种非必须的预设协议数据项,其中,当用户输入需要排序的字段:需要进行升序/降序排序,则在字段名后面加上排序方式:“asc/desc”。格式为[“字段名排序方式”],如果用户没有对字段名指定排序方式,则相关字段默认按照升序进行排序输出。15、数据项“limit”,表示返回报文条数,是一种Varchar类型数据,数据长度为1字节,是一种非必须的预设协议数据项,其中,limit节点可以有,也可以没有。
需要说明的是,上述Json协议报文格式的键名,即数据项,在具体实现过程中,也可以使用别的名字,只要提供给用户的规范和系统里面实现使用的名字一样就行。比如“select”也可以叫别的名字,如“choice”,为了通用,这里借鉴数据库的一些关键字。此外,不管是SQL语义字段,还是协议里别的字段,都是可变及可扩展的,使得用户可以自定义自己的查询方式和数据,给用户查询/统计提供灵活的方式。
步骤102、对请求报文进行校验,得到校验结果;
需要说明的是,此处的校验是根据用户按照上述协议格式输入请求数据,系统对其合法性进行的一种数据校验,其校验结果分为通过状态与不通过状态,用于表示请求报文是否满足预设协议的要求。
可选地,在一种实施例中,对请求报文进行校验,得到校验结果,包括:
对请求报文分别进行语法校验与语义校验,得到校验结果。
需要说明的是,对请求报文进行校验时需要语法校验和语义校验,优选地,也可以进行范围校验,即从请求数据里面提取用户特征数据,去云端获得授权的字段范围,以此来判断请求的字段是否在授权范围内。通过对请求报文进行语法校验和语义校验保证了请求报文满足预设协议的要求。
可选地,在一种实施例中,语法校验,包括:
对请求报文进行Json语法校验,并对请求报文的字段进行语法校验;
字段包括:业务数据类型字段、非业务数据类型字段。
需要说明的是,此处的语法校验,是对整个请求报文进行Json语法检验,此处的字段包括对业务/数据类型字段、其他字段进行语法校验,具体对数据项名、类型、长度、是否必须进行校验。通过上述语法校验,初步确定请求报文的语法是否满足预设协议要求,提高了校验效率。
可选地,在一种实施例中,语义校验,包括:
对请求报文的SQL字段进行语义校验,用于判断请求报文能否组成完整SQL语句。
需要说明的是,此处的语义校验,即对业务/数据类型字段、其他字段,根据上述预设协议具体字段的部分或全部内容进行的校验,此处的SQL字段指的是,对“SQL语义字段”涉及的各节点、对象、列表、键值对等进行语义校验,检查输入请求报文是否满足指定的格式及组合,是否能组装完整的SQL语句。提供SQL语义字段,包括:查询/统计字段、条件字段、分组字段、排序、限制等字段,并对各字段的用法进行说明,使得即便没有SQL基础的人也能看懂、使用户专注自己需要的业务数据查询。通过上述语义检验,确定了请求报文是否能够实现数据查询功能,避免了后续数据查询存在问题的情况。
步骤103、当校验结果为通过状态时,对请求报文进行解析并生成查询语句;
需要说明的是,当校验结果为未通过状态时,则返回错误提示信息,此处的对请求报文进行解析并生成查询语句,可以表示为,对请求报文进行格式和内容的解析,并根据解析的结果生成查询语句。
可选地,对请求报文进行解析并生成查询语句,包括:
对请求报文进行解析,得到解析结果,根据解析结果与预先定义字段查询映射表及关键字函数查询映射表生成SQL查验语句;在生成SQL查询语句时,对请求报文的字段进行字段名转换,用于实现业务侧与数据侧的隔离。
需要说明的是,在生成SQL语句时,所有请求报文的字段,即开放给用户的字段,都需要转换为内部使用的字段名。实现业务侧和数据侧的隔离,确保数据安全。此处的对请求报文的字段进行字段名转换,包括如下步骤。
第一步,定义字段查询映射表;字段查询映射表包括开放数据和内部数据两部分,其中,开放数据部分包括请求字段名,内部数据部分包括,内部字段名、内部字段类型、查询表名、字段值转换、内部函数名、返回字段处理方式、关联字段。对开放给用户查询的每个数据,内部都有一个上面的映射关系,所有开放数据的映射关系就是字段映射表。各字段含义具体为,请求字段名:包含开放给用户查询的数据字段及“查询/统计字段”信息的组合字段。内部字段名:内部数据库使用的字段名,对某些请求字段,可能对应多个内部字段的组合,即需要内部多个数据字段进行查询才能得到用户需要的一个数据。内部字段类型:数据库表字段的类型。查询表名:SQL语句中,from后的表名,可以是子查询。字段值转换:同一含义的数据,开放给用户的数据值和内部的数据值会不一样,这里用来表示他们之间的转换/映射关系。内部函数名:对某些字段,需要使用数据库内部函数参与实现SQL语句的查询。返回字段的处理方式:表示该字段的查询数据,在返回给用户之前是否需要经过特殊处理,包括但不限于聚合处理:根据业务要求,对不同来源的数据进行聚合处理,得到用户需要的业务数据。关联字段:说明请求字段需要内部别的数据字段参与查询的字段。第二步,定义“关键字-函数查询”映射表,也可以称为关键字函数查询映射表;即对开放给用户协议规范里涉及的关键字,如不同的查询类型(sum、count、query),不同的条件类型(range、enum、like),分组及排序等均有对应的函数操作,该函数根据请求报文输入的字段,结合“字段查询映射表”,完成关键字下对应的SQL子句的封装。第三步,解析Json请求报文,并组装完整的SQL查询语句;具体如下,对Json报文进行解析,解析到不同的关键字,就自动调用相应的函数生成对应的SQL子句;当Json报文解析完毕时,所有SQL子句也生成完毕,最后安照数据库SQL查询的语法,把各SQL子句组合为一完整的SQL语句,并根据请求的字段,确定目标数据源,可以从硬件读取,也可以通过软件数据库读取。通过上述具体步骤,在根据解析结果与预先定义字段查询映射表及关键字函数查询映射表生成SQL查验语句时,对请求报文的字段进行字段名转换,实现了实现业务侧和数据侧的隔离,确保了数据的安全。
步骤104、根据查询语句进行数据查询并获取查询数据;
需要说明的是,此处的查询语句,可以包含业务标识字段、目标数据源、数据库版本、SQL语句等。此处的业务标识字段,用于判断需要从硬件设备还是软件数据库获取数据,或者两者都需要;此处的目标数据源,用于从对应的目标数据源去获取数据,其中目标数据源包括硬件设备、软件数据库;此处的数据库版本,用于执行不同的查询逻辑。此外,若是从软件数据库读取数据,则执行SQL语句查询。在根据查询语句查询到数据后,从不同目标数据源获得的数据进行组装合并,作为最终的查询数据。
步骤105、按照预设协议对查询数据进行报文封装,作为输出。
需要说明的是,此处的按照预设协议对查询数据进行报文封装,作为输出指的是对查询数据进行解析、处理,按照提供给外部对接规范的预设协议封装报文,并将封装报文作为输出,最终返回给用户。具体地,按照预设协议,此处的预设协议可以是一种内部协议,即执行器与封装器之间的通信协议,对查询数据进行解析,获得查询数据的数目名、数据值,然后对查询数据进行一些特殊的处理:如有效位、数据长度、关联字段的计算、不同权限如何返回、数据聚合处理等。最后把内部字段名转换为预设协议的请求字段名,并对报文进行封装,作为输出返回用户调用。下面列举一种可实现的报文封装格式:
[
{"field1":"value","field2":"value","field3":"value",…},
{"field1":"value","field2":"value","field3":"value",…},
{"field1":"value","field2":"value","field3":"value",…},
...
]
此处,对报文封装格式数据项进行说明,1、数据项“field”,表示字段名,是一种Varchar类型数据,是一种必须的预设协议数据项,包括统计/查询、分组的字段名;2、数据项“value”,表示字段值,是一种Varchar类型数据,是一种必须的预设协议数据项,返回Json数组里面的一个对象,表示数据查询记录里的一行。
本发明通过获取按照预设协议输入的请求报文;对请求报文进行校验,得到校验结果;当校验结果为通过状态时,对请求报文进行解析并生成查询语句;根据查询语句进行数据查询并获取查询数据;按照预设协议对查询数据进行报文封装,作为输出。本发明通过屏蔽不同类型数据库差异,提供统一的查询方式,解决了数据的安全性隐患确保数据安全;使用户只专注于自己的业务数据;并提供通用的方式,解决了某些数据库受开发语言限制的问题。
实施例二
本申请实施例二提供一种数据自定义查询统计装置,参照图2所示,其特征在于,包括:
服务接口、校验器、解析器、执行器、封装器;
服务接口,用于获取按照预设协议输入的请求报文;校验器,用于对请求报文进行校验,得到校验结果;解析器,用于当校验结果为通过状态时,对请求报文进行解析并生成查询语句;执行器,用于根据查询语句进行数据查询并获取查询数据;封装器,用于按照预设协议对查询数据进行报文封装,作为输出。
需要说明的是,上述服务接口、校验器、解析器与封装器、执行器,直接采用网络通信,即可部署在同一台电脑上,也可以部署在不同电脑上,满足不同业务查询场景、不同性能要求的查询需求。执行器可以根据传入的数据,自动识别要查询的业务数据和目标数据源,执行相关的数据查询获得数据,对不同的目标数据源,对查询逻辑进行抽象,统一执行,从而对查询的数据按内部协议规范返回封装器,确保数据隔离和安全。封装器可以对内、对外使用不同的协议,对内部获得数据进行解析,并根据“字段查询映射表”里的“返回字段处理方式”,对返回的字段进行自动化的特殊处理,然后按照对接规范的返回格式,封装返回数据;通过内、外不同的协议以及“字段查询映射表”,使业务逻辑与数据查询分离,确保数据安全,实现了信息的聚合查询,对用户屏蔽复杂的SQL语句查询,如多库查询,多表联合、字段关联、SQL函数操作等,该发明自动实现这些复杂的操作,并对不同来源的数据进行聚合处理,获得用户需要的数据,从而让用户只关注与业务紧密相关的数据。
可选地,在一种实施例中,校验器还用于,对请求报文分别进行语法校验与语义校验,得到校验结果。
需要说明的是,校验器通过云端配置授权字段,可以灵活控制授权用户的数据范围,通过本地的字段范围校验,实现数据合法性校验,从入口处确保数据安全;对请求的数据进行语法校验,确保语法正确,对请求的数据进行语义校验,确保用户请求的数据能组装出有效的SQL语句。
可选地,在一种实施例中,校验器还用于,对请求报文进行Json语法校验,并对请求报文的字段进行语法校验;
字段包括:业务数据类型字段、非业务数据类型字段。
可选地,在一种实施例中,校验器还用于,对请求报文的SQL字段进行语义校验,判断请求报文能否组成完整SQL语句。
可选地,在一种实施例中,解析器还用于,对请求报文进行解析,得到解析结果,根据解析结果与预先定义字段查询映射表及关键字函数查询映射表生成SQL查验语句;
在生成SQL查询语句时,对请求报文的字段进行字段名转换,用于实现业务侧与数据侧的隔离。
需要说明的是,解析器通过“字段查询映射表”,实现对用户请求每个字段的SQL语句组装,通过“关键字-函数查询”,实现对不同SQL关键字,自动组装对应的SQL查询子句,在以上2点基础上,通过对请求Json报文的解析及相关SQL节点的遍历,自动组装完整的SQL语句。也可以通过“字段查询映射表”,开放数据、内部数据使用不同的名称并建立映射关系,实现数据隔离并确保数据查询安全。
实施例三
结合上述实施例一所描述的数据自定义查询统计方法,参照图3所示,本申请实施例三提供了一种电子设备,包括:处理器、存储器、通信接口和通信总线,处理器、存储器和通信接口通过通信总线完成相互间的通信;
存储器用于存放至少一可执行指令,可执行指令使处理器执行上述实施例一所描述的数据自定义查询统计方法对应的操作。
实施例四
结合上述实施例一所描述的数据自定义查询统计方法,本申请实施例四提供了一种计算机存储介质,其上存储有计算机程序,该程序被处理器执行时上述实施例一所描述的数据自定义查询统计方法。
实施例五
结合上述实施例一所描述的数据自定义查询统计方法,本申请实施例五提供了一种计算机程序产品,包括计算机指令,计算机指令指示计算设备执行上述实施例一所描述的数据自定义查询统计方法对应的操作。
以上实施方式仅用于说明本申请实施例,而并非对本申请实施例的限制,有关技术领域的普通技术人员,在不脱离本申请实施例的精神和范围的情况下,还可以做出各种变化和变型,因此所有等同的技术方案也属于本申请实施例的范畴,本申请实施例的专利保护范围应由权利要求限定。上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flashRAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitorymedia),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定事务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行事务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
Claims (10)
1.一种数据自定义查询统计方法,其特征在于,包括:
获取按照预设协议输入的请求报文;
对所述请求报文进行校验,得到校验结果;
当所述校验结果为通过状态时,对所述请求报文进行解析并生成查询语句;
根据所述查询语句进行数据查询并获取查询数据;
按照所述预设协议对所述查询数据进行报文封装,作为输出。
2.根据权利要求1所述的数据自定义查询统计方法,其特征在于,所述对所述请求报文进行校验,得到校验结果,包括:
对所述请求报文分别进行语法校验与语义校验,得到校验结果。
3.根据权利要求2所述的数据自定义查询统计方法,其特征在于,所述语法校验,包括:
对所述请求报文进行Json语法校验,并对所述请求报文的字段进行语法校验;
所述字段包括:业务数据类型字段、非业务数据类型字段。
4.根据权利要求2所述的数据自定义查询统计方法,其特征在于,所述语义校验,包括:
对所述请求报文的SQL字段进行语义校验,用于判断所述请求报文能否组成完整SQL语句。
5.根据权利要求1所述的数据自定义查询统计方法,其特征在于,所述对所述请求报文进行解析并生成查询语句,包括:
对所述请求报文进行解析,得到解析结果,根据所述解析结果与预先定义字段查询映射表及关键字函数查询映射表生成SQL查验语句;
在生成所述SQL查询语句时,对请求报文的字段进行字段名转换,用于实现业务侧与数据侧的隔离。
6.一种数据自定义查询统计装置,其特征在于,包括:
服务接口、校验器、解析器、执行器、封装器;
所述服务接口,用于获取按照预设协议输入的请求报文;
所述校验器,用于对所述请求报文进行校验,得到校验结果;
所述解析器,用于当所述校验结果为通过状态时,对所述请求报文进行解析并生成查询语句;
所述执行器,用于根据所述查询语句进行数据查询并获取查询数据;
所述封装器,用于按照所述预设协议对所述查询数据进行报文封装,作为输出。
7.根据权利要求6所述的数据自定义查询统计装置,其特征在于,所述校验器还用于,对所述请求报文分别进行语法校验与语义校验,得到校验结果。
8.根据权利要求7所述的数据自定义查询统计装置,其特征在于,所述校验器还用于,对所述请求报文进行Json语法校验,并对所述请求报文的字段进行语法校验;
所述字段包括:业务数据类型字段、非业务数据类型字段。
9.根据权利要求7所述的数据自定义查询统计装置,其特征在于,所述校验器还用于,对所述请求报文的SQL字段进行语义校验,判断所述请求报文能否组成完整SQL语句。
10.根据权利要求6所述的数据自定义查询统计装置,其特征在于,所述解析器还用于,对所述请求报文进行解析,得到解析结果,根据所述解析结果与预先定义字段查询映射表及关键字函数查询映射表生成SQL查验语句;
在生成所述SQL查询语句时,对请求报文的字段进行字段名转换,用于实现业务侧与数据侧的隔离。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2021116310328 | 2021-12-28 | ||
CN202111631032 | 2021-12-28 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114416776A true CN114416776A (zh) | 2022-04-29 |
Family
ID=81273716
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210044736.3A Pending CN114416776A (zh) | 2021-12-28 | 2022-01-14 | 一种数据自定义查询统计方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114416776A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116010438A (zh) * | 2022-12-22 | 2023-04-25 | 北京柏睿数据技术股份有限公司 | 一种数据库操作延迟计算的方法和系统 |
-
2022
- 2022-01-14 CN CN202210044736.3A patent/CN114416776A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116010438A (zh) * | 2022-12-22 | 2023-04-25 | 北京柏睿数据技术股份有限公司 | 一种数据库操作延迟计算的方法和系统 |
CN116010438B (zh) * | 2022-12-22 | 2023-11-28 | 北京柏睿数据技术股份有限公司 | 一种数据库操作延迟计算的方法和系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2022126966A1 (zh) | 接口参数校验与转换方法、装置、设备及存储介质 | |
US11120018B2 (en) | Spark query method and system supporting trusted computing | |
CN109582691B (zh) | 用于控制数据查询的方法和装置 | |
CN109379326B (zh) | Xml报文规则校验方法、设备和存储介质 | |
CN110020358B (zh) | 用于生成动态页面的方法和装置 | |
CN109800258A (zh) | 数据文件部署方法、装置、计算机设备及存储介质 | |
CN114064690A (zh) | 数据处理方法及装置 | |
CN112181804A (zh) | 一种参数校验方法、设备以及存储介质 | |
CN109614327B (zh) | 用于输出信息的方法和装置 | |
CN112541002A (zh) | 程序语言转换方法、装置、电子设备及存储介质 | |
CN114238381A (zh) | 数据质量校验方法、设备及计算机可读存储介质 | |
CN114035805A (zh) | 用于预编译器的代码转换方法、装置、介质及设备 | |
CN113238740A (zh) | 代码生成方法、代码生成装置、存储介质及电子设备 | |
CN110660395B (zh) | 一种基于语音识别的安全报告生成方法和装置 | |
CN115599386A (zh) | 代码生成方法、装置、设备及存储介质 | |
CN114416776A (zh) | 一种数据自定义查询统计方法 | |
CN113987337A (zh) | 基于组件化动态编排的搜索方法、系统、设备及存储介质 | |
CN113885876A (zh) | 一种参数校验方法、装置、存储介质及计算机系统 | |
CN113760961A (zh) | 数据查询方法和装置 | |
CN115809259A (zh) | 基于sql的数据查询方法、终端及服务器 | |
US20220391529A1 (en) | Searching, matching, and masking of composite formats | |
CN114866627A (zh) | 报文核对方法、装置、处理器及电子设备 | |
CN114047923A (zh) | 错误代码定位方法、装置、存储介质以及电子设备 | |
CN114281549A (zh) | 数据的处理方法及装置 | |
CN114499759B (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 |