CN109062952B - 一种数据查询方法、装置及电子设备 - Google Patents
一种数据查询方法、装置及电子设备 Download PDFInfo
- Publication number
- CN109062952B CN109062952B CN201810653080.9A CN201810653080A CN109062952B CN 109062952 B CN109062952 B CN 109062952B CN 201810653080 A CN201810653080 A CN 201810653080A CN 109062952 B CN109062952 B CN 109062952B
- Authority
- CN
- China
- Prior art keywords
- model
- queried
- target
- models
- attribute
- 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
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明实施例提供了一种数据查询方法、装置及电子设备,可以根据DSL数据查询请求,获取目标模型的标识和待查询属性,根据目标模型标识,从预先存储的模型中获得目标模型,再根据待查询属性和目标模型,获得查询模型,进一步的,根据预设的模型属性与字段之间的映射关系表,获得所述待查询属性与对应的待查询字段之间的映射关系,按照SQL语句的语法,将所述查询模型和所述待查询属性与对应的待查询字段之间的映射关系转换为SQL语句,实现了SQL语句的自动生成,从而有效地减少开发人员的工作量,提高了工作效率,并且,由于开发人员不需要直接将SQL语句写入系统,从而避免了SQL语句被注入了病毒等的风险,提高了系统的安全性。
Description
技术领域
本发明涉及查询技术领域,特别是涉及一种数据查询方法、装置及电子设备。
背景技术
大型互联网公司需要使用各种类型的中间件服务、底层服务,满足不同的用户的需求,提供更加优质的服务。不管是中间件服务,还是底层服务都有很多配置项,可以使用CMDB(Configuration Management Database,配置管理数据库)对配置进行存储及管理。存储配置信息的方式为:开发人员在数据库中建立模型属性表,然后为模型的每一模型属性分配字段,即定义模型属性表中哪一列存储模型的哪一种模型属性,示例性的,定义列1存储模型属性A,即将字段列1分配给模型属性A;再将模型实例化后的数据存储至模型属性表中,开发对应的代码。
CMDB对配置进行管理包括对数据进行查询,用户可以查询配置数据,而实现查询功能的前提是:开发人员预先开发查询配置数据的SQL(Structured Query Language,结构化查询语言)语句。具体的,针对不同的查询请求,编写不同的SQL语句。当CMDB接收到查询请求时,会确定查询请求对应的SQL语句,并执行所确定的SQL语句,获得查询结果。
然而,发明人在实现本发明的过程中发现,现有技术至少存在如下问题:现有技术中由于查询的SQL语句是开发人员预先开发的,因此,为了满足用户灵活多变的需求,就需要开发人员针对每一种潜在的查询需求都开发相应的SQL语句,导致存在开发效率不高的问题。
发明内容
本发明实施例的目的在于提供一种数据查询方法、装置及电子设备,以实现查询过程中自动生成SQL语句,从而有效地减少开发人员的工作量,提高了工作效率。具体技术方案如下:
为了达到上述目的,第一方面,本发明实施例提供了一种应用于终端设备的数据查询方法,所述方法包括:
获得数据查询请求;所述查询请求中包含目标模型的标识和所述目标模型中的待查询属性;
根据目标模型标识,从预先存储的多个模型中获得目标模型;所述预先存储的每个模型中分别包含多个不同的模型属性;
根据待查询属性和目标模型,获得查询模型;所述查询模型中包含的模型属性为:待查询属性;
从预设的模型属性与字段之间的映射关系表中,获得所述待查询属性与其对应的待查询字段之间的映射关系;
按照SQL语句的语法、查询模型和所述待查询属性与对应的待查询字段之间的映射关系,将所述数据查询请求转换为针对所述待查询字段的SQL语句;
执行所述转换成的SQL语句,获得数据查询结果。
可选的,所述数据查询请求中包含多个目标模型的标识、每个目标模型中的待查询属性和各个目标模型之间的关系;
所述根据目标模型标识,从预先存储的多个模型中获得目标模型的步骤,包括:
根据每个目标模型标识,从预先存储的多个模型中获得各个目标模型;
所述根据待查询属性和目标模型,获得查询模型的步骤,包括:根据每个目标模型中的待查询属性和每个目标模型,获得与目标模型数量相同的多个查询模型和各个查询模型之间的关系;
所述从预设的模型属性与字段之间的映射关系表中,获得所述待查询属性与其对应的待查询字段之间的映射关系的步骤,包括:
从预设的模型属性与字段之间的映射关系表中,获得所述每个目标模型中的待查询属性与其对应的待查询字段之间的映射关系;
所述按照SQL语句的语法、查询模型、各查询模型间的关系和所述待查询属性与对应的待查询字段之间的映射关系,将所述数据查询请求转换为针对所述待查询字段的SQL语句的步骤,包括:
按照SQL语句的语法、各个查询模型、各个查询模型之间的关系和所述每个目标模型中的待查询属性与对应的待查询字段之间的映射关系,将所述数据查询请求转换为针对所述待查询字段的SQL语句。
可选的,所述根据每个目标模型标识,从预先存储的多个模型中获得各个目标模型的步骤,包括:
分别根据每个目标模型标识,从预设的模型定义表中获得与各个所述目标模型标识对应的目标模型;所述模型定义表中存储预先定义的目标模型及各个目标模型的标识。
可选的,所述的数据查询请求为用DSL语言描述的数据查询请求;
所述用DSL语言描述的数据查询请求中包含:用DSL语言描述的多个目标模型的标识和各个目标模型之间的关系的模型描述信息,和用于存储每个目标模型中的待查询属性的数组;
在所述根据每个目标模型标识,从预先存储的多个模型中获得各个目标模型之前,还包括:
对所述用DSL语言描述的数据查询请求进行解析;
将所述用DSL语言描述的多个目标模型的标识和各个目标模型之间的关系的模型描述信息,转换为图形数据结构;
从所述图形数据结构中获取目标模型的标识和各个目标模型之间的关系。
可选的,所述根据每个目标模型中的待查询属性和每个目标模型,获得与目标模型数量相同的多个查询模型和查询模型之间的关系的步骤,包括:
根据各个目标模型中的待查询属性和各个目标模型中与所述待查询属性对应的模型属性,生成仅包含所述待查询属性的查询模型;
根据各个目标模型间的关系,获得各个查询模型间的关系。
可选的,所述数据查询请求中,还包含:待查询字段的筛选条件;
所述按照SQL语句的语法、查询模型、各查询模型间的关系和所述待查询属性与对应的待查询字段之间的映射关系,将所述数据查询请求转换为针对所述待查询字段的SQL语句的步骤,包括:
按照SQL语句的语法、查询模型、各查询模型间的关系、所述待查询属性与对应的待查询字段之间的映射关系和待查询字段的筛选条件,将所述数据查询请求转换为针对所述待查询字段的SQL语句。
第二方面,本发明实施例提供了一种数据查询装置,所述装置包括:
数据查询请求获得模块,用于获得数据查询请求,其中,所述数据查询请求中包含目标模型的标识和所述目标模型中的待查询属性;
目标模型获得模块,用于根据目标模型标识,从预先存储的模型中获得目标模型,其中,所述目标模型中包含模型属性,所述模型属性为目标模型中的属性;
查询模型生成模块,用于根据待查询属性和目标模型,获得查询模型,其中,查询模型中包含待查询属性;
映射关系获得模块,用于从预设的模型属性与字段之间的映射关系表中,获得所述待查询属性与其对应的待查询字段之间的映射关系;
转换模块,用于按照SQL语句的语法、查询模型和所述待查询属性与对应的待查询字段之间的映射关系,将所述数据查询请求转换为针对所述待查询字段的SQL语句;
SQL语句执行模块,用于执行所述转换成的SQL语句,获得数据查询结果。
可选的,所述数据查询请求中包含多个目标模型的标识、每个目标模型中的待查询属性和各个目标模型之间的关系;
所述目标模型获得模块,具体用于:根据每个目标模型标识,从预先存储的多个模型中获得各个目标模型;
所述查询模型生成模块,具体用于:根据每个目标模型中的待查询属性和每个目标模型,获得与目标模型数量相同的多个查询模型和各个查询模型之间的关系;
所述映射关系获得模块,具体用于:从预设的模型属性与字段之间的映射关系表中,获得所述每个目标模型中的待查询属性与其对应的待查询字段之间的映射关系;
所述转换模块,具体用于:按照SQL语句的语法、各个查询模型、各个查询模型之间的关系和所述每个目标模型中的待查询属性与对应的待查询字段之间的映射关系,将所述数据查询请求转换为针对所述待查询字段的SQL语句。
可选的,所述目标模型获得模块,包括:
存储位置获得子模块,用于分别根据每个目标模型标识,从预设的模型定义表中获得与各个所述目标模型标识对应的目标模型的存储位置;
目标模型获取子模块,用于从模型定义表中获得各个目标模型,其中,所述模型定义表中存储预先定义的目标模型及各个目标模型的标识。
可选的,所述的数据查询请求为用DSL语言描述的数据查询请求;所述用DSL语言描述的数据查询请求中包含:用DSL语言描述的多个目标模型的标识和各个目标模型之间的关系的模型描述信息,和用于存储每个目标模型中的待查询属性的数组;
所述装置,还包括:解析模块;
所述解析模块:具体用于在所述目标模型获得模块根据每个目标模型标识,从预先存储的多个模型中获得各个目标模型之前,对所述用DSL语言描述的数据查询请求进行解析;
将所述用DSL语言描述的多个目标模型的标识和各个目标模型之间的关系的模型描述信息,转换为图形数据结构;
从所述图形数据结构中获取目标模型的标识和各个目标模型之间的关系。
可选的,所述查询模型生成模块,包括:
查询模型生成子模块,用于根据各个目标模型中的待查询属性和各个目标模型中与所述待查询属性对应的模型属性,生成仅包含所述待查询属性的查询模型;
查询模型间关系获得子模块,用于根据各个目标模型间的关系,获得各个查询模型间的关系;
可选的,所述转换模块,包括:
预设的筛选条件获取子模块,用于从所述数据查询请求中获取预设的筛选条件;
转换子模块,用于按照SQL语句的语法、查询模型、各查询模型间的关系、所述待查询属性与对应的待查询字段之间的映射关系和待查询字段的筛选条件,将所述数据查询请求转换为针对所述待查询字段的SQL语句;
SQL语句获取子模块,用于获取所述转换成的SQL语句。
第三方面,本发明实施例提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现以下方法步骤:
获得数据查询请求;所述查询请求中包含目标模型的标识和所述目标模型中的待查询属性;
根据目标模型标识,从预先存储的多个模型中获得目标模型;所述预先存储的每个模型中分别包含多个不同的模型属性;
根据待查询属性和目标模型进行,获得查询模型;所述查询模型中包含的模型属性为:待查询属性;
从预设的模型属性与字段之间的映射关系表中,获得所述待查询属性与其对应的待查询字段之间的映射关系;
按照SQL语句的语法、查询模型和所述待查询属性与对应的待查询字段之间的映射关系,将所述数据查询请求转换为针对所述待查询字段的SQL语句;
执行所述转换成的SQL语句,获得数据查询结果。
在本发明实施的又一方面,还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述任一所述的数据查询方法。
在本发明实施的又一方面,本发明实施例还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述任一所述的数据查询方法。
本发明实施例提供的一种数据查询方法、装置及电子设备,可以根据DSL数据查询请求,获取所述查询请求中包含的目标模型的标识和所述目标模型中的待查询属性,根据目标模型标识,从预先存储的模型中获得目标模型,再根据待查询属性和目标模型进行,获得查询模型,进一步的,根据预设的模型属性与字段之间的映射关系表,获得所述待查询属性与对应的待查询字段之间的映射关系,按照SQL语句的语法,将所述查询模型和所述待查询属性与对应的待查询字段之间的映射关系转换为针对所述待查询字段的SQL语句,实现了SQL语句的自动生成,可以根据不同的查询请求,生成不同的SQL语句,从而满足用户灵活多变的需求,同时也有效地减少开发人员的工作量,提高了工作效率。并且,由于开发人员不需要直接写SQL语句,从而避免了SQL语句被注入了病毒等的风险,提高了系统的安全性。当然,实施本发明的任一产品或方法必不一定需要同时达到以上所述的所有优点。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。
图1为本发明实施例提供的一种数据查询方法的流程示意图;
图2为本发明实施例提供的一种数据查询方法的另一流程示意图;
图3为本发明实施例提供的一种数据查询方法中一种数据查询请求示意图;
图4为本发明实施例提供的一种数据查询装置的示意图;
图5为本发明实施例提供的一种电子设备的示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行描述。
图1为本发明实施例提供的一种数据查询方法的流程示意图,如图1所示,该方法包括:
S101:获得数据查询请求;所述查询请求中包含目标模型的标识和所述目标模型中的待查询属性。
用户在对数据库进行查询时,提出数据查询请求,本发明实施例提供的一种数据查询方法,在获得用户的数据查询请求后,同时获得所述查询请求中包含目标模型的标识和所述目标模型中的待查询属性,并按照实施例中提供的方法对数据库进行查询,返回用户想要的查询结果。
在具体的实施例中,数据查询请求中可以包含:多个目标模型的标识、每个目标模型中的待查询属性和各个目标模型之间的关系。
S102:根据目标模型标识,从预先存储的多个模型中获得目标模型;所述预先存储的每个模型中分别包含多个不同的模型属性。
根据目标模型标识,从预先存储的多个模型中获得目标模型,具体为:
根据目标模型标识,从预设的模型定义表中获得与所述目标模型标识对应的目标模型;
当从数据查询请求中获得到多个目标模型标识时,则分别根据每个目标模型标识,从预设的模型定义表中获得与各个所述目标模型标识对应的目标模型。
S103:根据待查询属性和目标模型,获得查询模型;所述查询模型中包含的模型属性为:待查询属性。
当获得的目标模型的数量是多个时,本步骤可以是根据各个目标模型中的待查询属性和各个目标模型中与所述待查询属性对应的模型属性,生成仅包含所述待查询属性的查询模型,并根据各个目标模型间的关系,获得各个查询模型间的关系。
S104:从预设的模型属性与字段之间的映射关系表中,获得所述待查询属性与其对应的待查询字段之间的映射关系。
当获得的目标模型的数量是多个时,本步骤具体可以是:从预设的模型属性与字段之间的映射关系表中,获得所述每个目标模型中的待查询属性与其对应的待查询字段之间的映射关系。
S105:按照SQL语句的语法、查询模型和所述待查询属性与对应的待查询字段之间的映射关系,将所述数据查询请求转换为针对所述待查询字段的SQL语句。
若在步骤步骤S103中生成仅包含所述待查询属性的查询模型,并根据各个目标模型间的关系,获得各个查询模型间的关系;且在步骤S104中,获得所述每个目标模型中的待查询属性与其对应的待查询字段之间的映射关系,则本步骤具体可以是:
按照SQL语句的语法、各个查询模型、各个查询模型之间的关系和所述每个目标模型中的待查询属性与对应的待查询字段之间的映射关系,将所述数据查询请求转换为针对所述待查询字段的SQL语句。
S106:执行所述转换成的SQL语句,获得数据查询结果。
具体的,本步骤可以为:执行所述转换成的SQL语句,对数据库进行查询,从数据库中获得查询结果。
由图1所示的实施例可见,本发明实施例提供的一种数据查询方法,可以根据不同的目标模型和待查询属性,生成不同的SQL语句,即根据不同的查询请求,在查询过程中自动生成不同的SQL语句。因此,应用本发明实施例提供的数据查询可以满足用户灵活多变的需求。同时,也可以快速、大批量地自动生成SQL语句,从而有效地减少开发人员的工作量,提高了工作效率。并且,由于开发人员不需要直接将SQL语句写入系统,从而避免了SQL语句被注入了病毒等的风险,提高了系统的安全性。
参见图2,图2为本发明实施例提供的一种数据查询方法的另一流程示意图,包括如下步骤:
S201:获得用DSL(Domain-Specific Languages,领域特定语言)描述的数据查询请求;所述用DSL语言描述的数据查询请求中包含:用DSL语言描述的多个目标模型的标识和各个目标模型之间的关系的模型描述信息,和用于存储每个目标模型中的待查询属性的数组。
例如:
实例一
用DSL语言定义的数据查询请求为:查询各IDC(机房)的name及个IDC中Machine(服务器)的name,由于IDC(机房)中可以包含多Machine(服务器),故目标模型IDC和Machine之间的关系是一对多的关系,待返回的查询结果的形式为:
[[“i.name”],[“m.name”]]
其中IDC和Machine为各个目标模型的标识的描述信息;IDC和Machine之间的关系为各个目标模型之间的关系的模型描述信息;数组[[“i.name”],[“m.name”]]中的name即是目标模型IDC和Machine中的待查询属性。
S202:对所述用DSL语言描述的数据查询请求进行解析。
本步骤中,就是从所述用DSL语言描述的数据查询请求中,提取出多个目标模型的标识和各个目标模型之间的关系的模型描述信息。
S203:将所述用DSL语言描述的多个目标模型的标识和各个目标模型之间的关系的模型描述信息,转换为图形数据结构。
解析的主要目的是为了将终端设备不能执行的代码转换为终端设备能够执行的代码。示例性的,终端设备所使用的语言环境是Java(一种可以撰写跨平台应用软件的面向对象的程序设计语言),所述目标模型是采用DSL定义的,在这种情况下,需要解析所述目标模型,将其转换为Java语言能够识别和执行的指令代码;
具体的,在本发明实施例中,可以将定义的DSL数据查询请求解析为一张内存中的有向图的数据结构,图一般由节点和边组成,由边来连接多个节点,将各个目标模型转换为图中的节点,将所述各个目标模型中的待查询属性转换为图中的节点的属性,将所述各个目标模型间的关系转换为图中的节点和节点间的关系;
例如:上述实例一
转换为图形数据结构,为:
节点m为Type M类型
Type M{
name;
}
其中,i表示目标模型IDC转换成的节点,m表示目标模型Machine转换成的节点,m~>@idc~>i表示目标模型IDC和目标模型Machine之间的关系。
转换后所述图形数据结构的示意图,如图3所示,其中,
节点i为目标模型IDC转换成的节点,节点m为目标模型Machine转换成的节点,有向边为节点i和节点m之间的关系。
S204:从所述图形数据结构中获取目标模型的标识和各个目标模型之间的关系。
本实施例中,目标模型是开发人员预先通过DSL定义的。其结构如下所示,目标模型为Model(模型)X,通过DSL定义的ModelX为:
其中,ModelX为目标模型的名字,name(名字)、state(状态)、create_time(创建时间)为模型属性的名字,其中,模型属性为模型中包含的属性,string(字符串)、enum(枚举)、date(日期)是属性的类型,online(可访问)、offline(不可访问)。当冒号“:”右边为大写字母开头,则为定义一个关系,表示ModelX中有个关系,关系名为compose(组成),关系的目标模型为ModelY。[]表示该关系为1:n关系,表示ModelX与ModelY为1对多的关系。
模型定义表也称Type表,其表结构可以为:
id:long(主键)
name:varchar(类型名称)
definition:TEXT(DSL)
Type表的表结构中的id是指目标模型标识,name是指目标模型的名字,definition是指目标模型的定义,TEXT就是指目标模型存储的格式,TEXT是程序设计中经常遇到的宏,TEXT定义在winnt.h中,计算机科学里的宏(Macro),是一种批量处理的称谓,一般说来,宏是一种规则或模式,或称语法替换,用于说明某一特定输入(通常是字符串)如何根据预定义的规则转换成对应的输出(通常也是字符串)。
示例性的,Type表中存储的目标模型IDC(机房)为:
Type表中存储的目标模型Machine(服务器)为:
具体的,在获得目标模型标识后,根据所述目标模型标识,在Type表中查找与该目标模型标识即id号相同的模型,从而,确定所述目标模型在模型定义表中的存储位置,获取所述目标模型。
S205:根据每个目标模型中的待查询属性和每个目标模型,获得与目标模型数量相同的多个查询模型和各个查询模型之间的关系。
具体的,本步骤可以为:
根据各个目标模型中的待查询属性和各个目标模型中与所述待查询属性对应的模型属性,生成仅包含所述待查询属性的查询模型,并根据各个目标模型间的关系,获得各个查询模型间的关系。
示例性的,如果待查询属性为:IDC的name属性和Machine的name属性,则根据IDC的name属性和目标模型IDC,生成仅包含name属性的Model I查询模型,根据Machine的name属性和目标模型Machine,生成仅包含name属性的Model M查询模型,并根据IDC和Machine间的关系,获得各个Model I和Model M间的关系。
S206:从预设的模型属性与字段之间的映射关系表中,获得所述每个目标模型中的待查询属性与其对应的待查询字段之间的映射关系。
示例性的,在想面预设的模型属性与字段之间的映射关系表即Codec表中,分别查询IDC(机房)的name和Machine(服务器)的name与其对应的待查询字段之间的映射关系;
获得所述目标模型IDC中的待查询属性name与其对应的待查询字段s0之间的映射关系和目标模型Machine中的待查询属性name与其对应的待查询字段s1之间的映射关系。
其中,Codec表的定义为:
id:long(主键)
name:varchar(待查询属性名称)
data_type:varchar(待查询属性类型,如string,int等)
column:varchar(映射到的字段,如s0,i1等)。
其中,id是指字段的标识,其中,一个字段为数据库中存储的二维表中的一列,字段的标识可以包括数字、字母和字符中的至少一种。name是待查询属性的属性名,data_type是指待查询属性的属性类型,即待查询属性对应的属性值的数据类型,Column是指待查询属性映射到的字段,varchar指的是可变长度的字符串。
示例性的,待查询属性名软件配置,为软件配置分配的字段为s6,软件配置对应的属性值的数据类型为string,则CodeC表中针对软件配置记录的映射关系为:
id:s6
name:ruanjianpeizhi
data_type:string
column:s6
其中,s0-s10、i0-i10是指给待查询属性预留的字段,其中,s0-s10指给待查询属性的属性类型为string预留的字段,i0-i10指给待查询属性类型为int预留的字段。当待查询属性的属性类型为string时,可以在s0-s10中选择一个字段,分配给该待查询属性,当待查询属性的属性类型为int时,可以在i0-i10中选择一个字段,分配给该待查询属性。
S207:按照SQL语句的语法、各个查询模型、各个查询模型之间的关系和所述每个目标模型中的待查询属性与对应的待查询字段之间的映射关系,将所述数据查询请求转换为针对所述待查询字段的SQL语句。
示例性的,与S201中列举的数据查询请求对应的自动生成的SQL语句为:
SELECT InstanceI-1.s0asI.name,InstanceM-1.s1as M.name FROM resourceas InstanceI-1,resource as InstanceM-1,relationship as R0
WHERE
InstanceI-1.type=“Type I”
InstanceM-1.type=“Type M”
R0.name=“idc”
R0.primary_id=InstanceI-1.id
R0.secondary_id=InstanceM-1.id。
其中,resource表和relationship表均是数据库中的表,resource表中存放的是字段,relationship表中存放的是查询模型间的关系。
具体的,resource表的定义为:
id:long(主键)
type_id:long(模型类型)
s0:varchar(string类型的属性)
…
s10:varchar(预留10个string类型字段)
i0:int(integer类型的属性)
…
i10:int(预留10个integer类型的字段)
…
其中,id是指实例化模型后的模型标识,s0-s10、i0-i10是指模型属性表中的字段,其中,s0-s10在模型属性表中为属性类型为string预留的字段,i0-i10在模型属性表中为属性类型为integer(整数)预留的字段。当属性类型为string时,可以在s0-s10中选择一个字段,分配给该属性,当属性类型为integer时,可以在i0-i10中选择一个字段,分配给该属性。type_id为模型的标识,可以为上述定义的目标模型中的name。为了能够方便、灵活地存储数据,可以将s0-s10的存储的数据类型确定为varchar(表示字符数据),可以将i0-i10的存储的数据类型确定为int(整型)。
relationship表的定义为:
id:long(主键)
primary_id:long(外键到Resource.id)
secondary_id:long(外键到Resource.id)
…
name:varchar(关系名字)
关系表中的id为关系的编号,primary(基本的)_id是关系中的一个模型实例化后的标识,secondary(次要的)_id是指关系中的另一模型实例化后的标识,name是指关系名字。
示例性的,以S201中列举的数据查询请求为例,
Type I在resource表中对应的字段为:
id:InstanceI-1
type_id:Type I
s0:name
Type I在resource表中对应的字段为:
id:Type M
type_id:InstanceM-1
s1:name
在relationship表中的对应关系为:
id:R0
primary_id:Type I
name:idc
S208:执行所述转换成的SQL语句,获得数据查询结果。
具体的,本步骤可以与图1所示步骤S106完全相同,这里不再重复。
实例二
如果用DSL语言定义的数据查询请求为:在目标模型ModelA、ModelB和ModelC中查询名字在包含foobar的数据。
获得DSL数据查询请求,将所述查询请求解析成的图为:
b:Model B[name contains“foobar”];
c:Model C;
b~>@rel1~>a;
b~>@rel2~>c;
}
节点a为Type A类型
Type A{
name;
}
节点b为Type B类型
Type B{
name;
}
节点c为Type C类型
Type C{
name;
}
其中a、b和c分别为目标模型ModelA、ModelB和ModelC,转换成的图中的节点,b~>@rel1~>c及b~>@rel2~>a分别定义了节点b与节点c及节点b与节点a的关系,其中rel1及rel2为关系的名字,[name contains“foobar”]为筛选条件,该筛选条件表示查询名字中包含”foobar”的数据。
从所述数据查询请求中获取目标模型的标识、待查询属性、各个目标模型之间的关系和预设的筛选条件。
根据ModelA、ModelB和ModelC的目标模型的标识,确定ModelA、ModelB和ModelC在Type表中的存储位置,并获取ModelA、ModelB和ModelC。
根据每个目标模型中的待查询属性和每个目标模型,获得查询模型,根据各个目标模型之间的关系获取各个查询模型之间的关系。
在Codec表中查询节点a、b、c的待查询属性与数据库中与其对应的待查询字段之间的映射关系。
示例性的,如果在Codec表中获得节点a、b、c的待查询属性与对应的待查询字段之间的映射关系为:
按照SQL语句的语法、各个查询模型、各个查询模型之间的关系和所述每个目标模型中的待查询属性与对应的待查询字段之间的映射关系,将所述数据查询请求转换为针对所述待查询字段的SQL语句。
示例性的,所述数据查询请求转换成的SQL语句为:
SELECT T0.s2as A.name,T1.s3as B.name,T2.s4as C.name FROM resource asT0,resource as T1,resource as T2.relationship as R1.relationship as R2
WHERE
name contains“foobar”
T0.type=“Type A”
T1.type=“Type B”
T2.type=“Type C”
R1.name=“rel1”
R2.name=“rel2”
R1.primary_id=T1.id
R1.secondary_id=T0.id
R2.primary_id=T1.id
R2.secondary_id=T2.id。
最后,执行所转换成的SQL语句,对数据库进行查询,从数据库中获得与节点a、b、c的待查询属性对应的字段中名字中包含”foobar”的数据。
可选的,本发明实施例提供的一种数据查询方法,可适用于单查的情况下,此时,数据查询请求中只包含一个目标模型标识,不包含目标模型之间的关系,将所述数据查询请求解析成的有向图中,只有一个节点。
由图2所示的实施例可见,本发明提供的一种数据查询方法,用DSL语言描述数据查询请求,并将用DSL语言定义的模型解析转换为图形数据结构,DSL是在模型之上建立的一种更加灵活的对模型化的理解和使用方式,是一种用于提高生产力的手段;开发人员利用DSL可以快速地构建出目标模型,应用本发明提供的一种数据查询方法,可以根据不同的目标模型和待查询属性,生成不同的SQL语句,即根据不同的DSL数据查询请求,在查询过程中自动生成不同的SQL语句,可以满足用户灵活多变的需求,同时,也可以快速、大批量地自动生成SQL语句,从而有效地减少开发人员的工作量,提高了工作效率,并且,由于开发人员不需要直接将SQL语句写入系统,从而避免了SQL语句被注入了病毒等的风险,提高了系统的安全性。
与图1所示的实施例相对应,本发明实施例还提供了一种数据的查询装置。如图4所示,该装置包括:数据查询请求获得模块401、目标模型获得模块402、查询模型生成模块403、映射关系获得模块404、转换模块405和SQL语句执行模块406,其中,
数据查询请求获得模块401,用于获得数据查询请求,其中,所述数据查询请求中包含目标模型的标识和所述目标模型中的待查询属性;
目标模型获得模块402,用于根据目标模型标识,从预先存储的模型中获得目标模型,其中,所述目标模型中包含模型属性,所述模型属性为目标模型中的属性;
查询模型生成模块403,用于根据待查询属性和目标模型,获得查询模型,其中,查询模型中包含待查询属性;
映射关系获得模块404,用于从预设的模型属性与字段之间的映射关系表中,获得所述待查询属性与其对应的待查询字段之间的映射关系;
转换模块405,用于按照SQL语句的语法、查询模型和所述待查询属性与对应的待查询字段之间的映射关系,将所述数据查询请求转换为针对所述待查询字段的SQL语句;
SQL语句执行模块406,用于执行所述转换成的SQL语句,获得数据查询结果。
可选的,所述数据查询请求中包含多个目标模型的标识、每个目标模型中的待查询属性和各个目标模型之间的关系;
所述目标模型获得模块402,具体用于:根据每个目标模型标识,从预先存储的多个模型中获得各个目标模型;
所述查询模型生成模块403,具体用于:根据每个目标模型中的待查询属性和每个目标模型,获得与目标模型数量相同的多个查询模型和各个查询模型之间的关系;
所述映射关系获得模块404,具体用于:从预设的模型属性与字段之间的映射关系表中,获得所述每个目标模型中的待查询属性与其对应的待查询字段之间的映射关系;
所述转换模块405,具体用于:按照SQL语句的语法、各个查询模型、各个查询模型之间的关系和所述每个目标模型中的待查询属性与对应的待查询字段之间的映射关系,将所述数据查询请求转换为针对所述待查询字段的SQL语句。
可选的,所述目标模型获得模块402,包括:
存储位置获得子模块,用于分别根据每个目标模型标识,从预设的模型定义表中获得与各个所述目标模型标识对应的目标模型的存储位置;
目标模型获取子模块,用于从模型定义表中获得各个目标模型,其中,所述模型定义表中存储预先定义的目标模型及各个目标模型的标识。
可选的,所述的数据查询请求为用DSL语言描述的数据查询请求;所述用DSL语言描述的数据查询请求中包含:用DSL语言描述的多个目标模型的标识和各个目标模型之间的关系的模型描述信息,和用于存储每个目标模型中的待查询属性的数组;
所述装置,还包括:解析模块;
所述解析模块:具体用于在所述目标模型获得模块根据每个目标模型标识,从预先存储的多个模型中获得各个目标模型之前,对所述用DSL语言描述的数据查询请求进行解析;
将所述用DSL语言描述的多个目标模型的标识和各个目标模型之间的关系的模型描述信息,转换为图形数据结构;
从所述图形数据结构中获取目标模型的标识和各个目标模型之间的关系。
可选的,所述查询模型生成模块403,包括:
查询模型生成子模块,用于根据各个目标模型中的待查询属性和各个目标模型中与所述待查询属性对应的模型属性,生成仅包含所述待查询属性的查询模型;
查询模型间关系获得子模块,用于根据各个目标模型间的关系,获得各个查询模型间的关系;
可选的,所述转换模块405,包括:
预设的筛选条件获取子模块,用于从所述数据查询请求中获取预设的筛选条件;
转换子模块,用于按照SQL语句的语法、查询模型、各查询模型间的关系、所述待查询属性与对应的待查询字段之间的映射关系和待查询字段的筛选条件,将所述数据查询请求转换为针对所述待查询字段的SQL语句;
SQL语句获取子模块,用于获取所述转换成的SQL语句。
本发明提供的一种数据查询装置,可以根据不同的目标模型和待查询属性,生成不同的SQL语句,即根据不同的数据查询请求,在查询过程中自动生成不同的SQL语句,可以满足用户灵活多变的需求,同时,也可以快速、批量地自动生成SQL语句,从而有效地减少开发人员的工作量,提高了工作效率,并且,由于开发人员不需要直接将SQL语句写入系统,从而避免了SQL语句被注入了病毒等的风险,提高了系统的安全性。
与图1所示的实施例相对应,本发明实施例还提供了一种电子设备。如图5所示,该电子设备包括,处理器501、通信接口502、存储器503和通信总线504,其中,处理器501,通信接口502,存储器503通过通信总线504完成相互间的通信;
存储器503,用于存放计算机程序;
处理器501,用于执行存储器上所存放的程序时,实现以下步骤:
获得数据查询请求;所述查询请求中包含目标模型的标识和所述目标模型中的待查询属性;
根据目标模型标识,从预先存储的多个模型中获得目标模型;所述预先存储的每个模型中分别包含多个不同的模型属性;
根据待查询属性和目标模型,获得查询模型;所述查询模型中包含的模型属性为:待查询属性;
从预设的模型属性与字段之间的映射关系表中,获得所述待查询属性与其对应的待查询字段之间的映射关系;
按照SQL语句的语法、查询模型和所述待查询属性与对应的待查询字段之间的映射关系,将所述数据查询请求转换为针对所述待查询字段的SQL语句;
执行所述转换成的SQL语句,获得数据查询结果。
由图5所示的实施例可见,本发明提供的一种数据查询电子设备,可以根据不同的目标模型和待查询属性,生成不同的SQL语句,即根据不同的查询请求,在查询过程中自动生成不同的SQL语句,可以满足用户灵活多变的需求,同时,也可以快速、批量地自动生成SQL语句,从而有效地减少开发人员的工作量,提高了工作效率,并且,由于开发人员不需要直接将SQL语句写入系统,从而避免了SQL语句被注入了病毒等的风险,提高了系统的安全性。
上述实施例仅仅是本发明一部分实施例,而不是全部的实施例,本发明可以应用到云平台服务云运维平台中配置管理系统(CMDB)的查询接口中,用户利用本发明可以根据业务需要任意组合查询,灵活的定义联查、筛选条件及想要返回的字段等。
上述电子设备提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,简称PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,简称EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述电子设备与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,简称RAM),也可以包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(Digital Signal Processing,简称DSP)、专用集成电路(Application SpecificIntegrated Circuit,简称ASIC)、现场可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
在本发明提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的数据查询方法。
在本发明提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的数据查询方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
Claims (11)
1.一种数据查询方法,其特征在于,所述方法应用于终端设备,包括:
获得数据查询请求;所述数据查询请求中包含多个目标模型的标识、每个目标模型中的待查询属性和各个模型之间的关系;
根据目标模型标识,从预先存储的多个模型中获得目标模型;所述预先存储的每个模型中分别包含多个不同的模型属性;
根据待查询属性和目标模型,获得查询模型;所述查询模型中包含的模型属性为:待查询属性;
从预设的模型属性与字段之间的映射关系表中,获得所述待查询属性与其对应的待查询字段之间的映射关系;
按照SQL语句的语法、查询模型和所述待查询属性与对应的待查询字段之间的映射关系,将所述数据查询请求转换为针对所述待查询字段的SQL语句;
执行所述转换成的SQL语句,获得数据查询结果;
所述根据目标模型标识,从预先存储的多个模型中获得目标模型的步骤,包括:
根据每个目标模型标识,从预先存储的多个模型中获得各个目标模型;所述数据查询请求为用DSL语言描述的数据查询请求;所述用DSL语言描述的数据查询请求中包含:用DSL语言描述的多个目标模型的标识和各个目标模型之间的关系的模型描述信息,和用于存储每个目标模型中的待查询属性的数组;
在所述根据每个目标模型标识,从预先存储的多个模型中获得各个目标模型之前,还包括:
对所述用DSL语言描述的数据查询请求进行解析;
将所述用DSL语言描述的多个目标模型的标识和各个目标模型之间的关系的模型描述信息,转换为图形数据结构;
从所述图形数据结构中获取目标模型的标识和各个目标模型之间的关系。
2.根据权利要求1所述的方法,其特征在于,
所述根据待查询属性和目标模型,获得查询模型的步骤,包括:根据每个目标模型中的待查询属性和每个目标模型,获得与目标模型数量相同的多个查询模型和各个查询模型之间的关系;
所述从预设的模型属性与字段之间的映射关系表中,获得所述待查询属性与其对应的待查询字段之间的映射关系的步骤,包括:
从预设的模型属性与字段之间的映射关系表中,获得所述每个目标模型中的待查询属性与其对应的待查询字段之间的映射关系;
所述按照SQL语句的语法、查询模型和所述待查询属性与对应的待查询字段之间的映射关系,将所述数据查询请求转换为针对所述待查询字段的SQL语句的步骤,包括:
按照SQL语句的语法、各个查询模型、各个查询模型之间的关系和所述每个目标模型中的待查询属性与对应的待查询字段之间的映射关系,将所述数据查询请求转换为针对所述待查询字段的SQL语句。
3.根据权利要求2所述的方法,其特征在于,所述根据每个目标模型标识,从预先存储的多个模型中获得各个目标模型的步骤,包括:
分别根据每个目标模型标识,从预设的模型定义表中获得与各个所述目标模型标识对应的目标模型;所述模型定义表中存储预先定义的目标模型及各个目标模型的标识。
4.根据权利要求2所述的方法,其特征在于,
所述根据每个目标模型中的待查询属性和每个目标模型,获得与目标模型数量相同的多个查询模型和查询模型之间的关系的步骤,包括:
根据各个目标模型中的待查询属性分别获得各个目标模型中与所述待查询属性对应的模型属性,生成仅包含所述待查询属性的查询模型;
根据各个目标模型间的关系,获得各个查询模型间的关系。
5.根据权利要求2所述的方法,其特征在于,所述数据查询请求中,还包含:待查询字段的筛选条件;
所述按照SQL语句的语法、查询模型、各查询模型间的关系和所述待查询属性与对应的待查询字段之间的映射关系,将所述数据查询请求转换为针对所述待查询字段的SQL语句的步骤,包括:
按照SQL语句的语法、查询模型、各查询模型间的关系、所述待查询属性与对应的待查询字段之间的映射关系和待查询字段的筛选条件,将所述数据查询请求转换为针对所述待查询字段的SQL语句。
6.一种数据查询装置,其特征在于,所述装置包括:
数据查询请求获得模块,用于获得数据查询请求,其中,所述数据查询请求中包含多个目标模型的标识、每个目标模型中的待查询属性和各个模型之间的关系;
目标模型获得模块,用于根据目标模型标识,从预先存储的模型中获得目标模型,其中,所述目标模型中包含模型属性,所述模型属性为目标模型中的属性;
查询模型生成模块,用于根据待查询属性和目标模型,获得查询模型,其中,查询模型中包含待查询属性;
映射关系获得模块,用于从预设的模型属性与字段之间的映射关系表中,获得所述待查询属性与其对应的待查询字段之间的映射关系;
转换模块,用于按照SQL语句的语法、查询模型和所述待查询属性与对应的待查询字段之间的映射关系,将所述数据查询请求转换为针对所述待查询字段的SQL语句;
SQL语句执行模块,用于执行所述转换成的SQL语句,获得数据查询结果;
所述目标模型获得模块,具体用于:根据每个目标模型标识,从预先存储的多个模型中获得各个目标模型;
所述的数据查询请求为用DSL语言描述的数据查询请求;所述用DSL语言描述的数据查询请求中包含:用DSL语言描述的多个目标模型的标识和各个目标模型之间的关系的模型描述信息,和用于存储每个目标模型中的待查询属性的数组;
所述装置,还包括:解析模块;
所述解析模块:具体用于在所述目标模型获得模块根据每个目标模型标识,从预先存储的多个模型中获得各个目标模型之前,对所述用DSL语言描述的数据查询请求进行解析;
将所述用DSL语言描述的多个目标模型的标识和各个目标模型之间的关系的模型描述信息,转换为图形数据结构;
从所述图形数据结构中获取目标模型的标识和各个目标模型之间的关系。
7.根据权利要求6所述的装置,其特征在于,所述查询模型生成模块,具体用于:根据每个目标模型中的待查询属性和每个目标模型,获得与目标模型数量相同的多个查询模型和各个查询模型之间的关系;
所述映射关系获得模块,具体用于:从预设的模型属性与字段之间的映射关系表中,获得所述每个目标模型中的待查询属性与其对应的待查询字段之间的映射关系;
所述转换模块,具体用于:按照SQL语句的语法、各个查询模型、各个查询模型之间的关系和所述每个目标模型中的待查询属性与对应的待查询字段之间的映射关系,将所述数据查询请求转换为针对所述待查询字段的SQL语句。
8.根据权利要求6所述的装置,其特征在于,所述目标模型获得模块,包括:
存储位置获得子模块,用于分别根据每个目标模型标识,从预设的模型定义表中获得与各个所述目标模型标识对应的目标模型的存储位置;
目标模型获取子模块,用于从模型定义表中获得各个目标模型,其中,所述模型定义表中存储预先定义的目标模型及各个目标模型的标识。
9.如权利要求6所述的装置,其特征在于,所述查询模型生成模块,包括:
查询模型生成子模块,用于根据各个目标模型中的待查询属性和各个目标模型中与所述待查询属性对应的模型属性,生成仅包含所述待查询属性的查询模型;
查询模型间关系获得子模块,用于根据各个目标模型间的关系,获得各个查询模型间的关系。
10.如权利要求6所述的装置,其特征在于,所述转换模块,包括:
预设的筛选条件获取子模块,用于从所述数据查询请求中获取预设的筛选条件;
转换子模块,用于按照SQL语句的语法、查询模型、各查询模型间的关系、所述待查询属性与对应的待查询字段之间的映射关系和待查询字段的筛选条件,将所述数据查询请求转换为针对所述待查询字段的SQL语句;
SQL语句获取子模块,用于获取所述转换成的SQL语句。
11.一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现权利要求1-5任一所述的方法步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810653080.9A CN109062952B (zh) | 2018-06-22 | 2018-06-22 | 一种数据查询方法、装置及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810653080.9A CN109062952B (zh) | 2018-06-22 | 2018-06-22 | 一种数据查询方法、装置及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109062952A CN109062952A (zh) | 2018-12-21 |
CN109062952B true CN109062952B (zh) | 2022-06-03 |
Family
ID=64820812
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810653080.9A Active CN109062952B (zh) | 2018-06-22 | 2018-06-22 | 一种数据查询方法、装置及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109062952B (zh) |
Families Citing this family (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109885614B (zh) * | 2019-01-04 | 2024-06-28 | 平安科技(深圳)有限公司 | 一种数据同步的方法和装置 |
CN110134707A (zh) * | 2019-04-12 | 2019-08-16 | 平安普惠企业管理有限公司 | 一种数据查询方法、装置、电子设备及存储介质 |
CN110198420B (zh) * | 2019-04-29 | 2022-06-10 | 北京卡路里信息技术有限公司 | 基于非线性视频编辑的视频生成方法及装置 |
CN110442774A (zh) * | 2019-07-12 | 2019-11-12 | 平安普惠企业管理有限公司 | 信息获取方法及装置 |
CN110648052B (zh) * | 2019-09-02 | 2022-07-01 | 浙江大搜车软件技术有限公司 | 风控决策方法、装置、计算机设备和存储介质 |
CN110765100B (zh) * | 2019-09-09 | 2022-08-02 | 天云软件技术有限公司 | 标签的生成方法、装置、计算机可读存储介质及服务器 |
CN112905620B (zh) * | 2019-11-19 | 2024-05-17 | 北京沃东天骏信息技术有限公司 | 数据查询方法及装置、电子设备、存储介质 |
CN111309991B (zh) * | 2020-01-16 | 2023-03-31 | 广州三七互娱科技有限公司 | 查询语句生成方法、装置和数据查询方法、系统 |
CN111459991B (zh) * | 2020-04-15 | 2023-04-07 | 中国银行股份有限公司 | 信息查询方法及装置 |
CN111966707A (zh) * | 2020-08-21 | 2020-11-20 | 北京明略昭辉科技有限公司 | 查询语句生成方法、装置、电子设备和计算机可读介质 |
CN112115466B (zh) * | 2020-08-26 | 2021-05-14 | 广州锦行网络科技有限公司 | 一种绕过select关键字的sql注入方法 |
CN112434231B (zh) * | 2020-11-05 | 2023-09-08 | 北京奇艺世纪科技有限公司 | 一种数据处理方法、装置及电子设备 |
CN112632331A (zh) * | 2020-12-18 | 2021-04-09 | 上海电气集团股份有限公司 | 一种信息处理方法、系统、电子设备及存储介质 |
CN113760948A (zh) * | 2021-01-29 | 2021-12-07 | 北京沃东天骏信息技术有限公司 | 一种数据查询的方法及装置 |
CN112948419A (zh) * | 2021-03-02 | 2021-06-11 | 广州海量数据库技术有限公司 | 查询语句处理方法及装置 |
CN113220732A (zh) * | 2021-03-19 | 2021-08-06 | 浪潮云信息技术股份公司 | 一种联通同享的数据匹配方法及系统 |
CN113821533B (zh) * | 2021-09-30 | 2023-09-08 | 北京鲸鹳科技有限公司 | 数据查询的方法、装置、设备以及存储介质 |
CN114461667B (zh) * | 2022-04-12 | 2022-07-29 | 北京宝兰德软件股份有限公司 | 基于cmdb资源数据的查询方法及系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1786950A (zh) * | 2004-12-06 | 2006-06-14 | 国际商业机器公司 | 处理抽象查询的方法和系统 |
CN101593203A (zh) * | 2009-05-12 | 2009-12-02 | 用友软件股份有限公司 | 带有前处理和后处理的数据库复合查询系统及方法 |
CN107766381A (zh) * | 2016-08-22 | 2018-03-06 | 北京京东尚科信息技术有限公司 | 数据查询方法、系统及电子设备 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100538806B1 (ko) * | 2003-02-21 | 2005-12-26 | 주식회사 하이닉스반도체 | 에피택셜 c49상의 티타늄실리사이드막을 갖는 반도체소자 및 그 제조 방법 |
-
2018
- 2018-06-22 CN CN201810653080.9A patent/CN109062952B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1786950A (zh) * | 2004-12-06 | 2006-06-14 | 国际商业机器公司 | 处理抽象查询的方法和系统 |
CN101593203A (zh) * | 2009-05-12 | 2009-12-02 | 用友软件股份有限公司 | 带有前处理和后处理的数据库复合查询系统及方法 |
CN107766381A (zh) * | 2016-08-22 | 2018-03-06 | 北京京东尚科信息技术有限公司 | 数据查询方法、系统及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN109062952A (zh) | 2018-12-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109062952B (zh) | 一种数据查询方法、装置及电子设备 | |
CN107480198B (zh) | 一种分布式NewSQL数据库系统和全文检索方法 | |
US8527451B2 (en) | Business semantic network build | |
CN106874163B (zh) | 一种显示软件错误码信息的方法及系统 | |
CN114116065B (zh) | 获取拓扑图数据对象的方法、装置、及电子设备 | |
CN104461531A (zh) | 一种报表系统自定义函数的实现方法 | |
CN104317964A (zh) | 一种基于iBatis的对象关系映射方法及系统 | |
CN112579610A (zh) | 多数据源结构分析方法、系统、终端设备及存储介质 | |
KR101637504B1 (ko) | 비정형 데이터 처리 시스템 및 방법 | |
CN113568924A (zh) | 一种数据处理方法、装置、电子设备及存储介质 | |
CN109344306B (zh) | 一种领域多标准元数据定制化在线汇交与服务方法及系统 | |
CN103678396A (zh) | 一种基于数据模型的数据备份方法和装置 | |
JP2018109977A (ja) | 相互接続されたセマンティックデータにソースデータを昇格させるための方法およびプラットフォーム | |
CN112597105B (zh) | 文件关联对象的处理方法、服务端设备及存储介质 | |
van Berlo et al. | Creating information delivery specifications using linked data | |
CN114547083A (zh) | 数据处理方法、装置及电子设备 | |
CN114490651A (zh) | 数据存储方法及装置 | |
CN114358596A (zh) | 指标计算方法及装置 | |
CN113312540A (zh) | 信息处理方法、装置、设备、系统及可读存储介质 | |
US20150286700A1 (en) | Recording medium having stored thereon database access control program, method for controlling database access, and information processing apparatus | |
CN112130860A (zh) | Json对象解析方法、装置、电子设备及存储介质 | |
CN116755684B (zh) | OAS Schema的生成方法、装置、设备及介质 | |
JP7036760B2 (ja) | オントロジー拡張支援装置及びオントロジー拡張支援方法 | |
CN109905475B (zh) | 一种基于sql以规定格式输出云计算监控数据的方法 | |
CN113535843B (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 |