CN113449067A - 一种数据查询方法、装置、设备及介质 - Google Patents
一种数据查询方法、装置、设备及介质 Download PDFInfo
- Publication number
- CN113449067A CN113449067A CN202010219689.2A CN202010219689A CN113449067A CN 113449067 A CN113449067 A CN 113449067A CN 202010219689 A CN202010219689 A CN 202010219689A CN 113449067 A CN113449067 A CN 113449067A
- Authority
- CN
- China
- Prior art keywords
- traversal
- query
- action
- query request
- management system
- 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 61
- 230000009471 action Effects 0.000 claims description 191
- 238000001914 filtration Methods 0.000 claims description 55
- 238000004891 communication Methods 0.000 claims description 23
- 238000006243 chemical reaction Methods 0.000 claims description 19
- 102100038367 Gremlin-1 Human genes 0.000 claims description 17
- 101001032872 Homo sapiens Gremlin-1 Proteins 0.000 claims description 17
- 238000003860 storage Methods 0.000 claims description 9
- 238000010276 construction Methods 0.000 claims description 3
- 238000004458 analytical method Methods 0.000 claims description 2
- 230000008569 process Effects 0.000 description 14
- 238000010586 diagram Methods 0.000 description 10
- 230000004044 response Effects 0.000 description 8
- 230000006870 function Effects 0.000 description 7
- 230000002776 aggregation Effects 0.000 description 5
- 238000004220 aggregation Methods 0.000 description 5
- 238000004590 computer program Methods 0.000 description 5
- 238000004364 calculation method Methods 0.000 description 3
- 230000001133 acceleration Effects 0.000 description 2
- 238000012512 characterization method Methods 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 238000004904 shortening Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 1
- 230000004992 fission Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000001131 transforming effect Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
- 239000002699 waste material 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/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/3331—Query processing
- G06F16/334—Query execution
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/3331—Query processing
- G06F16/334—Query execution
- G06F16/3344—Query execution using natural language analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/335—Filtering based on additional data, e.g. user or group profiles
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/35—Clustering; Classification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/36—Creation of semantic tools, e.g. ontology or thesauri
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Artificial Intelligence (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请提供了一种数据查询方法,包括:接收基于图遍历语言的第一查询请求,解析第一查询请求,获得第一遍历,利用与第一遍历匹配的参考遍历改写第一遍历,以使数据库管理系统根据改写后的第一遍历和物化视图查询数据,其中,参考遍历是已物化的历史查询请求对应的遍历,物化视图包括已物化的历史查询请求对应的历史查询结果。如此,提高了查询效率,降低了资源占用率。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种数据查询方法、装置、设备以及计算机可读存储介质。
背景技术
随着信息时代的来临,海量数据也随之产生。为了满足用户对数据的需求,数据库应运而生。数据库是按照数据结构来组织、存储和管理数据的仓库。基于数据结构的差异,数据库可以分为关系型数据库和非关系型数据库(也称作not only SQL,NoSQL)。
上述数据库中的数据查询一般是通过查询语言生成的查询语句实现的。经典数据库查询语言如结构化查询语言(structured query language,SQL)与最终在生产环境中使用的编程语言截然不同,导致开发人员既要编写主编程语言,还要编写数据库相应的查询语言。而图遍历语言可以无缝嵌入主语言,给开发人员提供了便利。
然而,利用图遍历语言进行数据查询时,往往会占用较多的资源,并且查询效率也较低。基于此,业界亟需提供一种高效的、资源占用较少的数据查询方法。
发明内容
本申请提供了一种数据查询方法,该方法通过改写遍历解决了利用图遍历语言进行数据查询时占用较多资源,查询效率较低的问题。本申请还提供了该数据查询方法对应的装置、设备、计算机可读存储介质以及计算机程序产品。
第一方面,本申请提供了一种数据查询方法。该方法利用历史查询的物化视图匹配新的查询请求,以从物化的历史查询结果中进行二次查询,从而减少物理读写、排序和聚集等操作,减少重复计算,缩短了查询响应时间,提高了查询效率,减少了资源占用率。
具体地,在接收到基于图遍历语言如Gremlin的新查询请求即第一查询请求时,可以解析该第一查询请求获得第一遍历,然后利用与该第一遍历匹配的参考遍历改写第一遍历,可以使得数据库管理系统根据改写后的第一遍历和物化视图查询数据。数据库管理系统基于改写后的第一遍历从物化的历史查询结果中进行二次查询,提高了查询效率,减少了资源占有率。
在一些可能的实现方式中,可以比较第一遍历包括的动作和参考遍历包括的动作,然后根据比较结果改写第一遍历。具体地,比较所述第一遍历包括的动作和参考遍历包括的动作,确定与所述第一遍历匹配的参考遍历。然后根据目标过滤动作以及与所述目标过滤动作对应的引用标签构建引用动作。其中,目标过滤动作为所述第一遍历中包括且与所述第一遍历匹配的参考遍历中不包括的过滤动作。接着根据上述引用动作可以改写第一遍历。
其中,改写后的第一遍历可以指示数据库管理系统从物化的历史查询结果中进行二次查询,如在历史查询结果中进行进一步地过滤操作,如此,可以大幅缩短查询响应时间,提高查询效率。
在一些可能的实现方式中,可以通过如下方式确定与所述第一遍历匹配的参考遍历。具体地,比较所述第一遍历包括的第i个动作和参考遍历包括的第j个动作,所述i和所述j为正整数。当所述第一遍历包括的第i个动作和所述参考遍历包括的第j个动作不匹配时,若所述第一遍历包括的第i个动作满足预设条件,则比较所述第一遍历包括的第i+1个动作和所述参考遍历包括的第j个动作。当所述第一遍历包括的最后一个动作和所述参考遍历包括的最后一个动作匹配,或者所述第一遍历包括的最后一个动作满足所述预设条件时,则确定所述参考遍历为与所述第一遍历匹配的参考遍历。
需要说明的是,当第i个动作还嵌套有子遍历时,还可以递归地比较第一遍历的第i个动作嵌套的子遍历所包括的动作和参考遍历的第j个动作嵌套的子遍历所包括的动作。其中,子遍历所包括的动作的比较过程可以参见第一遍历包括的动作和参考遍历包括的动作的比较过程,在此不再赘述。
通过上述比较方式,可以较为准确地识别出与第一查询请求相似的历史查询请求。基于上述相似的历史查询请求所对应的遍历可以获得与第一遍历匹配的参考遍历,进而实现基于该参考遍历改写第一遍历。
在一些可能的实现方式中,所述预设条件包括所述动作为过滤动作,且所述过滤动作的前一个动作的结果集包括于所述参考遍历对应的结果集。
在一些可能的实现方式中,还可以将改写后的所述第一遍历转换为第一结构化查询语句,以使所述数据库管理系统根据所述第一结构化查询语句和所述物化视图查询数据。
通过将第一遍历转换为第一结构化查询语句,可以标识图遍历语言中具有相同语义的查询,从而优化函数式图遍历语言中的查询。
在一些可能的实现方式中,所述历史查询请求包括第二查询请求,还可以通过如下方式对历史查询请求以及历史查询结果进行物化。具体地,在利用与所述第一遍历匹配的参考遍历改写所述第一遍历之前,接收基于图遍历语言的第二查询请求,然后解析所述第二查询请求,获得第二遍历,所述参考遍历包括所述第二遍历,接着将所述第二遍历转换为第二结构化查询语句,以使所述数据库管理系统根据所述第二结构化查询语句以及第二查询结果生成第二查询物化视图。
通过上述方法对历史查询请求以及对应的历史查询结果进行物化,可以为后续查询操作提供帮助,减少后续查询需要耗费的时间,提高查询效率,减少资源占用率。
在一些可能的实现方式中,所述图遍历语言包括Gremlin。
第二方面,本申请提供了一种数据查询装置。所述装置包括:通信模块、解析模块和改写模块。其中,通信模块用于接收基于图遍历语言的第一查询请求,解析模块用于解析所述第一查询请求,获得第一遍历,改写模块用于利用与所述第一遍历匹配的参考遍历改写所述第一遍历,以使数据库管理系统根据改写后的所述第一遍历和物化视图查询数据,所述参考遍历是已物化的历史查询请求对应的遍历,所述物化视图包括已物化的历史查询请求对应的历史查询结果。
在一些可能的实现方式中,所述改写模块包括:
比较单元,用于比较所述第一遍历包括的动作和参考遍历包括的动作,确定与所述第一遍历匹配的参考遍历;
构建单元,用于根据目标过滤动作以及与所述目标过滤动作对应的引用标签构建引用动作,所述目标过滤动作为所述第一遍历中包括且与所述第一遍历匹配的参考遍历中不包括的过滤动作;
改写单元,用于根据所述引用动作改写所述第一遍历。
在一些可能的实现方式中,所述比较单元具体用于:
比较所述第一遍历包括的第i个动作和参考遍历包括的第j个动作,所述i和所述j为正整数;
当所述第一遍历包括的第i个动作和所述参考遍历包括的第j个动作不匹配时,若所述第一遍历包括的第i个动作满足预设条件,则比较所述第一遍历包括的第i+1个动作和所述参考遍历包括的第j个动作;
当所述第一遍历包括的最后一个动作和所述参考遍历包括的最后一个动作匹配,或者所述第一遍历包括的最后一个动作满足所述预设条件时,则确定所述参考遍历为与所述第一遍历匹配的参考遍历。
在一些可能的实现方式中,所述预设条件包括所述动作为过滤动作,且所述过滤动作的前一个动作的结果集包括于所述参考遍历对应的结果集。
在一些可能的实现方式中,所述装置还包括:
转换模块,用于将改写后的所述第一遍历转换为第一结构化查询语句,以使所述数据库管理系统根据所述第一结构化查询语句和所述物化视图查询数据。
在一些可能的实现方式中,所述历史查询请求包括第二查询请求;
所述通信模块还用于:
在利用与所述第一遍历匹配的参考遍历改写所述第一遍历之前,接收基于图遍历语言的第二查询请求;
所述解析模块还用于:
解析所述第二查询请求,获得第二遍历,所述参考遍历包括所述第二遍历;
所述装置还包括:
转换模块,用于将所述第二遍历转换为第二结构化查询语句,以使所述数据库管理系统根据所述第二结构化查询语句以及第二查询结果生成第二查询物化视图。
在一些可能的实现方式中,所述图遍历语言包括Gremlin。
第三方面,本申请提供了一种计算机,所述计算机包括处理器和存储器。所述处理器、所述存储器进行相互的通信。所述处理器用于执行所述存储器中存储的指令,以使得计算机执行如第一方面或第一方面的任一种实现方式中的数据查询方法。
第四方面,本申请提供一种计算机可读存储介质,所述计算机可读存储介质包括指令,所述指令指示计算机执行上述第一方面或第一方面的任一种实现方式所述的数据查询方法。
第五方面,本申请提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述第一方面或第一方面的任一种实现方式所述的数据查询方法。
本申请在上述各方面提供的实现方式的基础上,还可以进行进一步组合以提供更多实现方式。
附图说明
为了更清楚地说明本申请实施例的技术方法,下面将对实施例中所需使用的附图作以简单地介绍。
图1为本申请实施例提供的一种图数据库中关系图的示意图;
图2为本申请实施例提供的一种数据查询方法的系统架构图100;
图3为本申请实施例提供的一种数据查询方法的系统架构图200;
图4为本申请实施例提供的一种数据查询方法的系统架构图300;
图5为本申请实施例提供的一种数据查询方法的流程图;
图6为本申请实施例提供的一种改写第一遍历的示意图;
图7为本申请实施例提供的一种对历史查询进行物化的流程图;
图8为本申请实施例提供的一种计算机的结构示意图。
具体实施方式
下面将结合本申请中的附图,对本申请提供的实施例中的方案进行描述。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的术语在适当情况下可以互换,这仅仅是描述本申请的实施例中对相同属性的对象在描述时所采用的区分方式。
为了便于理解本申请的技术方案,下面对本申请涉及的一些技术术语进行介绍。
数据库(database)是按照数据结构来组织、存储和管理数据的仓库。数据库中一般存储有海量数据,用户在查询数据库中的数据时,为了提高查询效率,通常会借助数据查询语言编写查询语句进行查询。
数据查询语言包括图查询语言,也称作图遍历语言。图遍历语言是与图数据库进行交互从而实现数据查询的一类语言的统称。针对不同的图数据库,对图遍历的实现有所差异。图数据库中图数据以点(vertex)和边(edge,或称关系)的形式组织。其中,点或称顶点一般是指实体(entity),边表示点之间的关系。例如,人际关系图中的“人”是点,“朋友关系”和“转账关系”是边。点或边还可以包括属性(property),该属性用于描述点指代的实体的特征或者边指代的关系的特征,例如人的姓名、人的年龄、转账时间等等。
为了便于理解,本申请还提供了图数据库中图数据的一个示例。如图1所示,该数据库中包括4个顶点和5条边,具体为3个“人”顶点和1个“软件”顶点,以及3条“创建(created)”边,2条“认识(knows)”边。顶点和边具有若干属性。例如,软件顶点包括“名称name”、“语言lang”等属性。一个属性由属性名和属性值组成,如“lang:java”。另外,顶点和边通常有类别之分,因此,顶点和边还可以具有类别标签(classification lable)属性,例如图1中的名称为HugeGraph的顶点的类别标签为软件(software),名称为“张三”、“李四”和“王五”的顶点的类别标签为人(person)。
图遍历语言可以使得用户通过简单的方式表述复杂的关系图的遍历(travesal)或查询。图遍历语言具体包括Gremlin、cypher等等。为了方便描述,后文均以Gremlin语言进行示例说明。基于Gremlin表述的遍历,也即Gremlin遍历是Gremlin语句通过翻译所得的内存表达结构。Gremlin遍历包括一系列动作(step),每个动作在数据流(data stream)上执行一个原子操作。根据操作类型可以将动作分为以下几类:
转换动作(map step):对数据流中的对象进行转换;
过滤动作(filter step):对数据流中的对象进行过滤;
计算统计动作(sideEffect step):对数据流进行计算统计。
需要说明的是,在有些情况下,Gremlin遍历包括的动作中还可以嵌套子遍历(subtraversal)。对应地,Gremlin遍历包括的动作还可以是裂变动作(branch step),用于将数据流对象分裂为多个子遍历。
Gremlin遍历可以以命令式和声明式方式编写,或者是二者的混合方式编写。命令式编写的遍历可以告知遍历器(traverser)如何执行遍历中的每一步动作,而声明式遍历不告知遍历器如何执行遍历中的每一步动作,但是允许每个遍历器从一个可能嵌套的模式的集合中选择一个模式来执行。
用户可以采用命令式或者声明式方式撰写查询语句,该查询语句被解析为遍历,遍历器可以执行遍历实现数据查询。为了便于理解,下面仍结合图1的示例,对命令式编写方式所得遍历和声明式编写方式所得遍历进行示例说明。
命令式编写方式所得遍历为:
g.V().has(‘name’,‘HugeGraph’).as(‘a’).in(‘created’).groupCount().by(‘name’);
该遍历表征从图的所有顶点中先查找名称为HugeGraph的顶点,然后查找创建HugeGraph的顶点,接着按名称对创建HugeGraph的顶点进行计数并显示创建HugeGraph的顶点。
声明式编写方式所得遍历为:
g.V().match(
__.as(‘a’).has(‘name’,’HugeGraph’).as(‘b’),
__.as(‘b’).in(‘created’).as(‘c’)).
select(‘c’).groupCount().by(‘name’)
该遍历表征从图的所有顶点中匹配出创建了HugeGraph的人员的名称,按名称对人员计数,并显示人员的名称。
然而无论是采用声明式编写方式或者是采用命令式编写方式编写查询语句,每一次查询操作均是从头开始查询。例如,从图的所有顶点或者图的所有边开始查询。由此产生了大量的物理读写、排序和聚集等操作。而相似的查询会导致一些重复的物理读写、排序和聚集等操作,导致查询响应时间较长,查询效率较低,并且占用较多的资源。
有鉴于此,本申请实施例提供了一种数据查询方法。该方法支持对历史查询进行物化,具体是针对历史查询请求生成包括历史查询结果的物化视图(materialized view)。其中,已物化的历史查询请求对应的遍历可以作为参考遍历,以供后续查询使用。
具体地,在接收到基于图遍历语言如Gremlin的新查询请求即第一查询请求时,可以解析该第一查询请求获得第一遍历,利用与该第一遍历匹配的参考遍历改写第一遍历,可以使得数据库管理系统根据改写后的第一遍历查询数据,数据库管理系统可以基于改写后的第一遍历从物化的历史查询结果中进行二次查询,如此可以减少物理读写、排序和聚集等操作,从而减少重复计算,缩短了查询响应时间,提高了查询效率,减少了资源占用率。
为了便于理解,接下来对本申请实施例提供的数据查询方法的应用环境进行介绍。本申请实施例提供的数据查询方法可以包括但不限于应用于如图2所示的应用环境中。
如图2所示,该应用场景中包括数据库管理系统(database management system,DBMS)202和查询装置204。其中,数据库管理系统202部署于管理服务器中,查询装置204部署于查询服务器中。数据库管理系统202接收到查询请求,将该查询请求发送给查询装置204,查询装置204将该查询请求解析为对应的遍历,然后利用历史查询请求对应的参考遍历改写当前查询请求对应的遍历,数据库管理系统202可以基于改写后的遍历进行数据查询。
具体地,数据库管理系统202包括通信模块2022、物化模块2024和存储模块2026。通信模块2022用于接收基于图遍历语言的查询请求,如接收基于图遍历语言的历史查询请求。为了便于描述,本申请实施例将历史查询请求称之为第二查询请求。物化模块2024用于对第二查询请求以及对应的第二查询结果进行物化,生成物化视图。在实际应用时,物化模块2024可以通过关系表对第二查询请求以及对应的第二查询结果进行物化。存储模块2026存储上述物化视图。
数据库管理系统202的通信模块2022还用于接收基于图遍历语言的新查询请求。为了便于描述,本申请实施例将新查询请求(或者是当前查询请求)称之为第一查询请求。通信模块2022还想查询装置204发送上述第一查询请求。
查询装置204包括通信模块2042、解析模块2044以及改写模块2046。通信模块2042接收到第一查询请求时,解析模块2044可以对第一查询请求进行解析,得到第一遍历。查询装置204还可以存储已物化的历史查询请求对应的遍历,本申请实施例称之为参考遍历。改写模块2046可以利用与第一遍历匹配的参考遍历改写第一遍历,以便数据库管理系统202根据改写后的第一遍历查询数据。
在具体实现时,查询装置204还可以包括转换模块2048。该转换模块2048用于对改写后的第一遍历进行转换,将其转换为基于结构化查询语言(structured querylanguage)第一结构化查询语句。通信模块2042将该第一结构化查询语句发送至数据库管理系统202。如此,数据库管理系统可以基于第一结构化查询语句,从物化的关系表中进行二次查询,从而快速获得第一查询结果。由此缩短了查询响应时间,提高了查询效率,而且避免了重复的物理读写、排序和聚集等操作导致的资源浪费,减少了资源占用率。
需要说明,图2是以查询装置204包括转换模块2048进行示例说明的。在一些可能的实现方式中,转换模块2048的功能也可以通过单独的装置实现。例如,转换模块2048的功能可以通过转换装置206实现。该转换装置206具体可以部署于转换器transformer中。transformer可以是终端或者服务器。
图1和图2的应用场景均是以数据库管理系统202、查询装置204部署于服务器等物理设备中进行示例说明。在一些可能的实现方式中,数据库管理系统202和查询装置204还可以部署于虚拟化的云设备中。如图3所示,数据库管理系统202和查询装置204可以部署于云计算集群(包括至少一个云计算设备,例如:云服务器等)中。
还需要说明的是,图3是以数据库管理系统202和查询装置204分别部署于不同的云计算集群进行示例说明,在一些可能的实现方式中,数据库管理系统202和查询装置204也可以部署于同一计算机集群。当然,数据库管理系统202和查询装置204也可以采用混合部署的方式,即一个部署于物理设备如服务器中,另一个部署于虚拟化的云设备如云计算集群中。本申请实施例对此不作限定。
为了使得本申请实施例的技术方案更加清楚、易于理解,接下来,从数据库管理系统202和查询装置204交互的角度对本申请实施例提供的数据查询方法进行详细说明。
参见图5所示的数据查询方法的流程图,该方法包括:
S502:数据库管理系统202向查询装置204发送基于图遍历语言的第一查询请求。
具体地,用户在查询数据时,可以通过用户装置如浏览器或者查询客户端,采用图遍历语言编写查询语句,该查询语句具体是基于图遍历语言的查询语句。用户装置可以响应于用户操作,根据上述基于图遍历语言的查询语句生成基于图遍历语言的查询请求,然后向数据库管理系统202发送基于图遍历语言的查询请求。其中,当前查询请求称之为第一查询请求,历史查询请求称之为第二查询请求。
数据库管理系统202接收到用户通过浏览器或者查询客户端发送的第一查询请求时,向查询装置204发送该第一查询请求,以便查询装置204对该第一查询请求进行处理,提高查询效率。
S504:查询装置204解析第一查询请求,获得第一遍历。
具体地,查询装置204可以从第一查询请求携带的查询语句中提取动作(step),基于提取的动作获得与第一查询请求对应的第一遍历。该第一遍历包括第一查询请求携带的查询语句中的所有动作。
S506:查询装置204利用与第一遍历匹配的参考遍历改写第一遍历。
查询装置204可以对历史查询请求如第二查询请求进行解析,例如,从第二查询请求携带的查询语句中提取动作,基于提取的动作获得对应的遍历。该历史查询请求对应的遍历可以称之为参考遍历。
查询装置204可以从参考遍历中确定与第一遍历匹配的参考遍历,然后利用与第一遍历匹配的参考遍历改写第一遍历,以使数据库管理系统202能够基于改写后的第一遍历,结合历史查询请求对应的查询结果进行数据查询,而不必从头开始查询,提高查询效率。
在具体实现时,查询装置204可以比较所述第一遍历包括的动作和参考遍历包括的动作,从而确定与所述第一遍历匹配的参考遍历。具体地,查询装置204可以比较第一遍历包括的第i个动作和参考遍历包括的第j个动作,i和j为正整数。
当第一遍历包括的第i个动作和参考遍历包括的第j个动作匹配,即动作类型相同,且动作所作用的数据流相同时,继续比较第i+1个动作和第j+1个动作。当第一遍历包括的第i个动作和参考遍历包括的第j个动作不匹配,即动作类型或者动作所左右的数据流至少有一个不同时,则判断第一遍历包括的第i个动作是否满足预设条件,若是,则比较第一遍历包括的第i+1个动作和所述参考遍历包括的第j个动作。
当查询装置204比较至最后一个动作时,若所述第一遍历包括的最后一个动作和所述参考遍历包括的最后一个动作匹配,或者所述第一遍历包括的最后一个动作满足所述预设条件时,则确定所述参考遍历为与所述第一遍历匹配的参考遍历。
其中,预设条件可以为所述动作为过滤动作,且所述过滤动作的前一个动作的结果集包括于所述参考遍历对应的结果集。如此,本次查询可以在参考遍历对应的历史查询结果基础上进行,如在历史查询结果包括的结果集中进行进一步过滤。
需要说明,上述i和j可以相同,也可不同。例如,在初始阶段,查询装置204比较第一遍历的第1个动作和参考遍历的第1个动作。当第1个动作匹配时,即动作类型相同,动作所作用的数据流也相同时,查询装置204继续比较下一个动作,如比较第一遍历的第2个动作和参考遍历的第2个动作。当第2个动作不匹配时,若第一遍历包括的第2个动作满足预设条件,则比较第一遍历包括的第3个动作和参考遍历包括的第2个动作。
在确定与第一遍历匹配的参考遍历过程中,如果确定出第一遍历中包括且与第一遍历匹配的参考遍历中不包括的过滤动作(filter step),也即目标过滤动作,则查询装置204可以根据目标过滤动作以及与该目标过滤动作对应的引用标签构建引用动作。其中,引用标签指示了目标过滤动作所作用的数据流,该数据流具体为目标过滤动作的上一动作对应的结果集。接着,查询装置204可以根据上述引用动作改写第一遍历。
下面结合一具体示例对改写第一遍历的过程进行说明。
如图6所示,已经物化的历史查询请求对应的参考遍历包括如下遍历:
g.V().as(′a′).match(_.as(′a′).out(′own′).out(′call′).in(′own′).as(′b′)).select(′a′,′b′)
第一查询请求对应的第一遍历如下:
g.V().has(′name′,′jack′).match(_.as(′r′).out(′own′).out(′call′).in(′own′).as(′s′)).select(′s′)
在该示例中,查询装置204首先比较第一遍历的第1个step即g.V()和参考遍历的第1个step即g.V(),二者匹配,查询装置204继续比较第一遍历的第2个step即has(′name′,′jack′)和参考遍历的第2个step即match(_.as(′a′).out(′own′).out(′call′).in(′own′).as(′b′))。其中,as作用在于临时保存上一步骤的结果集,对于数据无实质性动作,因此,本申请实施例中as不视为一个step。
查询装置204确定第2个step不匹配,接着判断第一遍历包括的第2个step是否为过滤动作。在该示例中,has(′name′,′jack′)显然是过滤动作。查询装置204判断该过滤动作的有效性。具体是通过判断参考遍历的结果集中是否包括上述过滤动作所作用的数据流,从而确定过滤动作的有效性。
如图6中虚线①所示,引用标签′a′表示上一步的结果集,该结果集为图中的所有顶点。而参考遍历对应的查询结果中也包括该结果集。这与第一遍历中has(′name′,′jack′)作用于所有顶点是一致的,因此,该过滤动作有效。
查询装置204可以比较第一遍历的下一个step即第3个step与参考遍历中的第2个step。在该示例中,查询装置204比较match(_.as(′r′).out(′own′).out(′call′).in(′own′).as(′s′))和match(_.as(′a′).out(′own′).out(′call′).in(′own′).as(′b′))。需要说明,如果待比较的step包括sub traversal,查询装置204需要递归地比较上述subtraversal,且根据当前语义确定各个sub travesal之间的关系。例如,对于match,其所有sub traversal之间关系是按顺序求交,对于or,其所有sub traversal之间关系是求或。
在比较过程中,相同位置的引用标签可以是不同的,如图6中参考遍历的引用标签′a′、′b′和第一遍历的引用标签′r′、′s′。查询装置204可以记录引用标签的位置,并建立参考遍历和第一遍历中引用标签之间的映射关系,以处理两个遍历之间引用标签的等价映射问题,避免将匹配的step误判为不匹配。基于上述内容描述可知,第一遍历的第3个step与参考遍历的第2个step匹配。
查询装置204继续比较第一遍历的最后一个step即select(′s′)和参考遍历的最后一个step即select(′a′,′b′),由于引用标签′b′和引用标签′s′等效,因此,select(′s′)包含在select(′a′,′b′)中。select(′s′)和select(′a′,′b′)匹配。由此,查询装置204可以确定上述参考遍历为与第一遍历匹配的参考遍历。
其中,has(′name′,′jack′)为目标过滤操作。该目标过滤操作作用于引用标签′a′指代的结果集。如图6中虚线②所示,查询装置204根据目标过滤操作以及该目标过滤操作对应的引用标签创建引用操作。其中,目标过滤操作对应的引用标签包括目标过滤操作所作用的结果集对应的引用标签,如引用标签′a′。在有些情况下,目标过滤操作对应的引用标签还包括本次查询的结果集所对应的应用标签,如引用标签′s′。在该示例中,引用操作可以表示为mgtStep(′s′,(′a′,has(′name′,′jack′)))。
S508:查询装置204将改写的第一遍历转换第一结构化查询语句。
查询装置具有转换模块2048时,可以通过该转换模块进行图遍历语言至结构化查询语言的转换,将改写的第一遍历转换为第一结构化查询语句。
在有些情况下,查询装置204也可以不执行S508,由独立的转换装置206执行转换功能,将改写的第一遍历转换为第一结构化查询语句。
S510:查询装置204向数据库管理系统202发送第一结构化查询语句。
查询装置204将改写的第一遍历转换第一结构化查询语句后,可以向数据库管理系统202发送第一结构化查询语句。
在有些情况下,查询装置204也可以不执行S510,由独立的转换装置206将改写的第一遍历转换为第一结构化查询语句后,向数据库管理系统发送第一结构化查询语句。
S512:数据库管理系统202根据第一结构化查询语句以及物化视图查询数据。
数据库管理系统202根据第一结构化查询语句,从物化视图中物化的历史查询结果查询数据。例如,历史查询结果包括创建软件HugeGraph的所有人的姓名,第一查询请求具体请求查询创建软件HugeGraph的所有人中年龄大于45岁的人的姓名。则数据库管理系统202可以在上述历史查询结果中进行进一步过滤,过滤条件为年龄大于45岁,如此可以快速获得第一查询请求对应的第一查询结果。
基于上述内容描述,本申请提供的数据查询方法对历史查询进行物化,具体是针对历史查询请求生成包括历史查询结果的物化视图。其中,已物化的历史查询请求对应的遍历可以作为参考遍历,以供后续查询使用。当收到基于图遍历语言如Gremlin的新查询请求时,可以解析该查询请求获得遍历,然后与该遍历匹配的参考遍历改写该遍历,可以使得数据库管理系统根据改写后的遍历查询数据,数据库管理系统可以基于改写后的遍历从物化的历史查询结果中进行二次查询,从而减少物理读写、排序和聚集等操作,缩短了查询响应时间,提高了查询效率,减少了资源占用率。
图5所示实施例主要对数据查询过程进行了详细描述,而数据查询过程依赖于对于历史查询的物化。基于此,本申请实施例提供了对历史查询进行物化的具体实现方式。
参见图7所示的对历史查询进行物化的流程图,在图5所示实施例基础上,执行S506之前,所述方法还包括:
S514:数据库管理系统202向查询装置204发送基于图遍历语言的第二查询请求。
第二查询请求为历史查询请求,即触发时间早于第一查询请求的触发时间的查询请求。与第一查询请求类似,第二查询请求可以是用户装置响应于用户触发的查询操作,根据基于图遍历语言的查询语句生成的基于图遍历语言的查询请求。然后,用户装置向数据库管理系统202发送该第二查询请求,数据库管理系统202再将该第二查询请求发送至查询装置204。
S516:查询装置204解析所述第二查询请求,获得第二遍历。
查询装置204可以从第二查询请求携带的查询语句中提取动作,从而获得第二遍历。其具体实现可以参见解析第一查询请求,获得第一遍历的过程,即S504相关内容描述,在此不再赘述。
进一步地,查询装置204可以存储上述第二遍历,将该第二遍历作为参考遍历,以供后续查询时使用。
S518:查询装置204将所述第二遍历转换为第二结构化查询语句。
查询装置204可以通过转换模块2048将第二遍历转换为对应的结构化查询语句,也即第二结构化查询语句。其具体实现过程与查询装置204将改写后的第一遍历转换为第一结构化查询语句过程类似,在此不再赘述。
S520:查询装置204向所述数据库管理系统202发送第二结构化查询语句。
S522:数据库管理系统202根据所述第二结构化查询语句以及第二查询结果生成第二查询物化视图。
具体地,数据库管理系统202可以根据所述第二结构化查询语句以及第二查询结果生成关系表,从而实现对查询结果的物化。其中,关系表即为第二查询请求对应的物化视图,即第二查询物化视图。
需要说明的是,在本申请实施例中,数据库管理系统202在获得第一查询请求对应的第一查询结果之后,也可以对第一查询结果进行物化,生成第一查询物化视图,以供后续查询时使用。
在有些情况下,用户可以根据需求选择性地采用本申请提供的数据查询方法进行查询加速。具体地,查询装置204可以提供针对参考遍历的三种控制模块,具体如下:
全局控制模式:启用该模式时,针对数据库的数据查询均可以使用该数据库的所有参考遍历,以实现查询加速;关闭该模式时,针对数据库的数据查询均不可以使用该数据库的参考遍历。
会话(session)控制模式:启用该模式,仅在当前该会话过程中发起的针对数据库的查询操作使用可用的参考遍历,关闭该模式,则不会在当前会话过程中发起的针对数据库的查询操作使用可用的参考遍历。
个体控制:每个参考遍历具有使用属性,当该属性表示可用时,则表示该参考遍历可以被使用,当该属性表示不可用时,则表示该参考遍历不可以被使用。
基于上述设置,用户可以选择开启相应的控制模式,如此可以满足用户对数据查询的个性化需求。
上文中结合图1至图7,详细描述了本申请实施例所提供的数据查询方法,下面将结合附图,描述根据本申请实施例所提供的数据查询装置以及相应的设备。
参见图2所示的查询装置204的结构示意图,该查询装置204包括:
通信模块2042,用于接收基于图遍历语言的第一查询请求;
解析模块2044,用于解析所述第一查询请求,获得第一遍历;
改写模块2046,用于利用与所述第一遍历匹配的参考遍历改写所述第一遍历,以使数据库管理系统根据改写后的所述第一遍历和物化视图查询数据,所述参考遍历是已物化的历史查询请求对应的遍历,所述物化视图包括已物化的历史查询请求对应的历史查询结果。
其中,通信模块2042的具体实现可以参见图5所示实施例中S502相关内容描述。解析模块2044的具体实现可以参见图5所示实施例中S504相关内容描述。改写模块2046的具体实现可以参见图5所示实施例中S506相关内容描述。
在一些可能的实现方式中,所述改写模块2046包括:
比较单元,用于比较所述第一遍历包括的动作和参考遍历包括的动作,确定与所述第一遍历匹配的参考遍历;
构建单元,用于根据目标过滤动作以及与所述目标过滤动作对应的引用标签构建引用动作,所述目标过滤动作为所述第一遍历中包括且与所述第一遍历匹配的参考遍历中不包括的过滤动作;
改写单元,用于根据所述引用动作改写所述第一遍历。
改写模块2046的具体实现可以参见图5所示实施例中S506相关内容描述,在此不再赘述。
在一些可能的实现方式中,所述比较单元具体用于:
比较所述第一遍历包括的第i个动作和参考遍历包括的第j个动作,所述i和所述j为正整数;
当所述第一遍历包括的第i个动作和所述参考遍历包括的第j个动作不匹配时,若所述第一遍历包括的第i个动作满足预设条件,则比较所述第一遍历包括的第i+1个动作和所述参考遍历包括的第j个动作;
当所述第一遍历包括的最后一个动作和所述参考遍历包括的最后一个动作匹配,或者所述第一遍历包括的最后一个动作满足所述预设条件时,则确定所述参考遍历为与所述第一遍历匹配的参考遍历。
比较单元的具体实现过程可以参见图5所示实施例中S506相关内容描述,在此不再赘述。
在一些可能的实现方式中,所述预设条件包括所述动作为过滤动作,且所述过滤动作的前一个动作的结果集包括于所述参考遍历对应的结果集。
在一些可能的实现方式中,所述查询装置204还包括:
转换模块2048,用于将改写后的所述第一遍历转换为第一结构化查询语句,以使所述数据库管理系统根据所述第一结构化查询语句和所述物化视图查询数据。
其中,转换模块2048的具体实现可以参见图5所示实施例中S508相关内容描述,在此不再赘述。
在一些可能的实现方式中,所述历史查询请求包括第二查询请求;
所述通信模块2042还用于:
在利用与所述第一遍历匹配的参考遍历改写所述第一遍历之前,接收基于图遍历语言的第二查询请求;
所述解析模块2044还用于:
解析所述第二查询请求,获得第二遍历,所述参考遍历包括所述第二遍历;
所述查询装置204还包括:
转换模块2048,用于将所述第二遍历转换为第二结构化查询语句,以使所述数据库管理系统根据所述第二结构化查询语句以及第二查询结果生成第二查询物化视图。
在一些可能的实现方式中,所述图遍历语言包括Gremlin。
根据本申请实施例的数据查询装置204可对应于执行本申请实施例中描述的方法,并且数据查询装置204的各个模块/单元的上述和其它操作和/或功能分别为了实现图5、图7所示实施例中的各个方法的相应流程,为了简洁,在此不再赘述。
本申请实施例还提供了一种计算机。该计算机可以是服务器或者云服务器,具体用于实现如图2所示实施例中数据查询装置204的功能。
图8提供了一种计算机的结构示意图,如图8所示,计算机800包括总线801、处理器802、通信接口803和存储器804。处理器802、存储器804和通信接口803之间通过总线801通信。总线801可以是外设部件互连标准(peripheral component interconnect,PCI)总线或扩展工业标准结构(extended industry standard architecture,EISA)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,图8中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。通信接口803用于与外部通信。例如,接收基于图遍历语言的第一查询请求,接收基于图遍历语言的第二查询请求等等。
其中,处理器802可以为中央处理器(central processing unit,CPU)。存储器804可以包括易失性存储器(volatile memory),例如随机存取存储器(random accessmemory,RAM)。存储器804还可以包括非易失性存储器(non-volatile memory),例如只读存储器(read-only memory,ROM),快闪存储器,HDD或SSD。
存储器804中存储有可执行代码,处理器802执行该可执行代码以执行前述数据查询方法。
具体地,在实现图2所示实施例的情况下,且图2实施例中所描述的数据查询装置204的各模块为通过软件实现的情况下,执行图2中的解析模块2044、改写模块2046和转换模块2048功能所需的软件或程序代码存储在存储器804中。通信模块2042功能通过通信接口803实现。通信接口803接收基于图遍历语言的第一查询请求,将其通过总线601传输至处理器802,处理器802执行存储器804中存储的各模块对应的程序代码,如解析模块2044、改写模块2046对应的程序代码,从而实现对第一查询请求进行解析得到第一遍历,以及基于与第一遍历匹配的参考遍历改写第一遍历。当然,处理器802还可以执行转换模块2048对应的程序代码,将改写后的第一遍历转换对应的第一SQL语句,如此,数据库管理系统202可以基于第一SQL语句和物化视图进行数据查询。
本申请实施例还提供了一种计算机可读存储介质,该计算机可读存储介质包括指令,所述指令指示计算机执行上述应用于数据查询装置204的数据查询方法。
本申请实施例还提供了一种计算机可读存储介质,该计算机可读存储介质包括指令,所述指令指示计算机执行上述应用于数据查询装置204的数据查询方法。
本申请实施例还提供了一种计算机程序产品,所述计算机程序产品被计算机执行时,所述计算机执行前述数据查询方法的任一方法。该计算机程序产品可以为一个软件安装包,在需要使用前述数据查询方法的任一方法的情况下,可以下载该计算机程序产品并在计算机上执行该计算机程序产品。
Claims (16)
1.一种数据查询方法,其特征在于,所述方法包括:
接收基于图遍历语言的第一查询请求;
解析所述第一查询请求,获得第一遍历;
利用与所述第一遍历匹配的参考遍历改写所述第一遍历,以使数据库管理系统根据改写后的所述第一遍历和物化视图查询数据,所述参考遍历是已物化的历史查询请求对应的遍历,所述物化视图包括已物化的历史查询请求对应的历史查询结果。
2.根据权利要求1所述的方法,其特征在于,所述利用与所述第一遍历匹配的参考遍历改写所述第一遍历,包括:
比较所述第一遍历包括的动作和参考遍历包括的动作,确定与所述第一遍历匹配的参考遍历;
根据目标过滤动作以及与所述目标过滤动作对应的引用标签构建引用动作,所述目标过滤动作为所述第一遍历中包括且与所述第一遍历匹配的参考遍历中不包括的过滤动作;
根据所述引用动作改写所述第一遍历。
3.根据权利要求2所述的方法,其特征在于,所述比较所述第一遍历包括的动作和参考遍历包括的动作,确定与所述第一遍历匹配的参考遍历,包括:
比较所述第一遍历包括的第i个动作和参考遍历包括的第j个动作,所述i和所述j为正整数;
当所述第一遍历包括的第i个动作和所述参考遍历包括的第j个动作不匹配时,若所述第一遍历包括的第i个动作满足预设条件,则比较所述第一遍历包括的第i+1个动作和所述参考遍历包括的第j个动作;
当所述第一遍历包括的最后一个动作和所述参考遍历包括的最后一个动作匹配,或者所述第一遍历包括的最后一个动作满足所述预设条件时,则确定所述参考遍历为与所述第一遍历匹配的参考遍历。
4.根据权利要求3所述的方法,其特征在于,所述预设条件包括所述动作为过滤动作,且所述过滤动作的前一个动作的结果集包括于所述参考遍历对应的结果集。
5.根据权利要求1至4任一项所述的方法,其特征在于,所述方法还包括:
将改写后的所述第一遍历转换为第一结构化查询语句,以使所述数据库管理系统根据所述第一结构化查询语句和所述物化视图查询数据。
6.根据权利要求1至5任一项所述的方法,其特征在于,所述历史查询请求包括第二查询请求,在利用与所述第一遍历匹配的参考遍历改写所述第一遍历之前,所述方法还包括:
接收基于图遍历语言的第二查询请求;
解析所述第二查询请求,获得第二遍历,所述参考遍历包括所述第二遍历;
将所述第二遍历转换为第二结构化查询语句,以使所述数据库管理系统根据所述第二结构化查询语句以及第二查询结果生成第二查询物化视图。
7.根据权利要求1至6任一项所述的方法,其特征在于,所述图遍历语言包括Gremlin。
8.一种数据查询装置,其特征在于,所述装置包括:
通信模块,用于接收基于图遍历语言的第一查询请求;
解析模块,用于解析所述第一查询请求,获得第一遍历;
改写模块,用于利用与所述第一遍历匹配的参考遍历改写所述第一遍历,以使数据库管理系统根据改写后的所述第一遍历和物化视图查询数据,所述参考遍历是已物化的历史查询请求对应的遍历,所述物化视图包括已物化的历史查询请求对应的历史查询结果。
9.根据权利要求8所述的装置,其特征在于,所述改写模块包括:
比较单元,用于比较所述第一遍历包括的动作和参考遍历包括的动作,确定与所述第一遍历匹配的参考遍历;
构建单元,用于根据目标过滤动作以及与所述目标过滤动作对应的引用标签构建引用动作,所述目标过滤动作为所述第一遍历中包括且与所述第一遍历匹配的参考遍历中不包括的过滤动作;
改写单元,用于根据所述引用动作改写所述第一遍历。
10.根据权利要求9所述的装置,其特征在于,所述比较单元具体用于:
比较所述第一遍历包括的第i个动作和参考遍历包括的第j个动作,所述i和所述j为正整数;
当所述第一遍历包括的第i个动作和所述参考遍历包括的第j个动作不匹配时,若所述第一遍历包括的第i个动作满足预设条件,则比较所述第一遍历包括的第i+1个动作和所述参考遍历包括的第j个动作;
当所述第一遍历包括的最后一个动作和所述参考遍历包括的最后一个动作匹配,或者所述第一遍历包括的最后一个动作满足所述预设条件时,则确定所述参考遍历为与所述第一遍历匹配的参考遍历。
11.根据权利要求10所述的装置,其特征在于,所述预设条件包括所述动作为过滤动作,且所述过滤动作的前一个动作的结果集包括于所述参考遍历对应的结果集。
12.根据权利要求8至11任一项所述的装置,其特征在于,所述装置还包括:
转换模块,用于将改写后的所述第一遍历转换为第一结构化查询语句,以使所述数据库管理系统根据所述第一结构化查询语句和所述物化视图查询数据。
13.根据权利要求8至12任一项所述的装置,其特征在于,所述历史查询请求包括第二查询请求;
所述通信模块还用于:
在利用与所述第一遍历匹配的参考遍历改写所述第一遍历之前,接收基于图遍历语言的第二查询请求;
所述解析模块还用于:
解析所述第二查询请求,获得第二遍历,所述参考遍历包括所述第二遍历;
所述装置还包括:
转换模块,用于将所述第二遍历转换为第二结构化查询语句,以使所述数据库管理系统根据所述第二结构化查询语句以及第二查询结果生成第二查询物化视图。
14.根据权利要求8至13任一项所述的装置,其特征在于,所述图遍历语言包括Gremlin。
15.一种计算机,其特征在于,所述计算机包括处理器和存储器;
所述处理器用于执行所述存储器中存储的指令,以使得所述计算机执行如权利要求1至7中任一项所述的数据查询方法。
16.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质包括指令,所述指令指示计算机执行如权利要求1至7中任一项所述的数据查询方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010219689.2A CN113449067A (zh) | 2020-03-25 | 2020-03-25 | 一种数据查询方法、装置、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010219689.2A CN113449067A (zh) | 2020-03-25 | 2020-03-25 | 一种数据查询方法、装置、设备及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113449067A true CN113449067A (zh) | 2021-09-28 |
Family
ID=77806820
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010219689.2A Pending CN113449067A (zh) | 2020-03-25 | 2020-03-25 | 一种数据查询方法、装置、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113449067A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114547086A (zh) * | 2022-04-22 | 2022-05-27 | 网易(杭州)网络有限公司 | 数据处理方法、装置、设备及计算机可读存储介质 |
CN115016873A (zh) * | 2022-05-05 | 2022-09-06 | 上海乾臻信息科技有限公司 | 前端数据交互方法、系统、电子设备及可读存储介质 |
-
2020
- 2020-03-25 CN CN202010219689.2A patent/CN113449067A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114547086A (zh) * | 2022-04-22 | 2022-05-27 | 网易(杭州)网络有限公司 | 数据处理方法、装置、设备及计算机可读存储介质 |
CN115016873A (zh) * | 2022-05-05 | 2022-09-06 | 上海乾臻信息科技有限公司 | 前端数据交互方法、系统、电子设备及可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20220035600A1 (en) | API Specification Generation | |
WO2018000998A1 (zh) | 界面生成方法、装置和系统 | |
US8438190B2 (en) | Generating web services from business intelligence queries | |
US20190251471A1 (en) | Machine learning device | |
US20170169093A9 (en) | Syntactic tagging in a domain-specific context | |
US10452607B2 (en) | Reusable transformation mechanism to allow mappings between incompatible data types | |
WO2020015190A1 (zh) | 业务规则的生成方法、电子装置及可读存储介质 | |
US8275775B2 (en) | Providing web services from business intelligence queries | |
WO2019076062A1 (zh) | 功能页面定制方法及应用服务器 | |
CN114625732B (zh) | 基于结构化查询语言sql的查询方法和系统 | |
CN109710220B (zh) | 关系型数据库查询方法、装置、设备及存储介质 | |
CN113051362B (zh) | 数据的查询方法、装置和服务器 | |
US20160004737A1 (en) | Resolving in-memory foreign keys in transmitted data packets from single-parent hierarchies | |
WO2015155561A1 (en) | Accessing non-relational data stores using structured query language queries | |
CN112860727B (zh) | 基于大数据查询引擎的数据查询方法、装置、设备及介质 | |
CN111813803B (zh) | 语句块执行计划的生成方法、装置、设备和存储介质 | |
US20140006000A1 (en) | Built-in response time analytics for business applications | |
CN113449067A (zh) | 一种数据查询方法、装置、设备及介质 | |
CN110795101B (zh) | Sql代码信息显示方法、装置、计算机装置及存储介质 | |
US8930960B2 (en) | Methods and systems for object interpretation within a shared object space | |
CN115511644A (zh) | 用于目标保单的处理方法、电子设备和可读存储介质 | |
CN114610769A (zh) | 数据分析方法、装置、设备及存储介质 | |
CN114020852A (zh) | 知识图谱的展示方法和装置 | |
CN110727457A (zh) | 组件管理方法、装置、存储介质及电子设备 | |
CN110442629B (zh) | 大数据多中心异构动态数据转换方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
TA01 | Transfer of patent application right | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20220209 Address after: 550025 Huawei cloud data center, jiaoxinggong Road, Qianzhong Avenue, Gui'an New District, Guiyang City, Guizhou Province Applicant after: Huawei Cloud Computing Technologies Co.,Ltd. Address before: 518129 Bantian HUAWEI headquarters office building, Longgang District, Guangdong, Shenzhen Applicant before: HUAWEI TECHNOLOGIES Co.,Ltd. |
|
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |