CN111538854B - 搜索方法及装置 - Google Patents
搜索方法及装置 Download PDFInfo
- Publication number
- CN111538854B CN111538854B CN202010344147.8A CN202010344147A CN111538854B CN 111538854 B CN111538854 B CN 111538854B CN 202010344147 A CN202010344147 A CN 202010344147A CN 111538854 B CN111538854 B CN 111538854B
- Authority
- CN
- China
- Prior art keywords
- query
- graph
- execution plan
- operator
- relationship
- 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
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/50—Information retrieval; Database structures therefor; File system structures therefor of still image data
- G06F16/53—Querying
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)
- User Interface Of Digital Computer (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请实施例提供一种搜索方法及装置,涉及智能搜索技术领域,具体包括:接收来自显示设备的查询请求;查询请求包括查询关键字和查询类型,查询类型用于指示查询请求所要请求查询的关系;依据查询类型生成执行计划,执行计划用于指示顺序调用的多个图算子,以及执行各图算子时的结果选择方式;图算子为屏蔽图形数据库底层接口的执行逻辑;利用查询关键字和执行计划,获取查询请求的查询结果;向显示设备发送查询结果,从而在查询过程中只需要依据查询需求,生成执行计划,依据执行计划顺次调用图算子,到该图算子适配的图形数据库中计算即可,具有较好的通用性。
Description
技术领域
本申请涉及数据处理技术领域的智能搜索,尤其涉及一种搜索方法及装置。
背景技术
图形数据库可以应用图形理论存储实体之间的关系信息。例如,图形数据库中可以包括:结点集和连接结点的关系,结点集是图中一系列结点的集合,关系可以是任意两个结点的边。
在图形数据库中进行图相关信息查询时,通常依赖于底层代码应用程序编程接口(application programming interface,API),或者类似结构化查询语言(structuredquery language,SQL)语句的定制化查询。
但是现有技术的依赖底层调用或定制化查询的方式,在查询过程中需要大量定制化的图API/SQL的开发和调用执行,实现方式复杂,需要占用较多资源。
发明内容
本申请实施例提供一种搜索方法及装置,提供一种较为通用的对图形数据库的查询方式,以解决现有技术中对图形数据库查询时实现方式复杂、占用资源多的技术问题。
本申请实施例第一方面提供一种搜索方法,包括:
接收来自显示设备的查询请求;所述查询请求包括查询关键字和查询类型,所述查询类型用于指示所述查询请求所要请求查询的关系;
依据所述查询类型生成执行计划,所述执行计划用于指示顺序调用的多个图算子,以及执行各所述图算子时的结果选择方式;所述图算子为屏蔽图形数据库底层接口的执行逻辑;
利用所述查询关键字和所述执行计划,获取所述查询请求的查询结果;
向所述显示设备发送所述查询结果。
本申请实施例第二方面提供一种搜索装置,包括:
接收模块,用于接收来自显示设备的查询请求;所述查询请求包括查询关键字和查询类型,所述查询类型用于指示所述查询请求所要请求查询的关系;
处理模块,用于依据所述查询类型生成执行计划,所述执行计划用于指示顺序调用的多个图算子,以及执行各所述图算子时的结果选择方式;所述图算子为屏蔽图形数据库底层接口的执行逻辑;
所述处理模块,还用于利用所述查询关键字和所述执行计划,获取所述查询请求的查询结果;
发送模块,用于向所述显示设备发送所述查询结果。
本申请实施例第三方面提供一种电子设备,包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如前述第一方面任一项所述的方法。
本申请实施例第四方面提供一种存储有计算机指令的非瞬时计算机可读存储介质,所述计算机指令用于使所述计算机执行如前述第一方面中任一项所述的方法。
综上所述,本申请实施例相对于现有技术的有益效果:
本申请实施例中提供了一种搜索方法及装置,可以在执行计划中包括多个屏蔽了图形数据库底层接口的图算子,并基于图算子实现对查询结果的计算,从而在查询过程中不需要大量定制化的图API/SQL等,只需要依据查询需求,生成执行计划,依据执行计划顺次调用图算子,到该图算子适配的图形数据库中计算即可,具有较好的通用性。具体的实现中,可以接收来自显示设备的查询请求;查询请求包括查询关键字和查询类型,查询类型用于指示查询请求所要请求查询的关系;依据查询类型生成执行计划,执行计划用于指示顺序调用的多个图算子,以及执行各图算子时的结果选择方式;图算子为屏蔽图形数据库底层接口的执行逻辑;利用查询关键字和执行计划,获取查询请求的查询结果;向显示设备发送查询结果,从而在查询过程中只需要依据查询需求,生成执行计划,依据执行计划顺次调用图算子,到该图算子适配的图形数据库中计算即可,具有较好的通用性。
附图说明
图1为本申请实施例提供的搜索方法适用的系统架构示意图;
图2为本申请实施例提供的搜索方法的流程示意图;
图3为本申请实施例提供的一种同行关系的原始查询路径示意图;
图4为本申请实施例提供的一种同行关系的虚拟桥接路径示意图;
图5为本申请实施例提供的一种执行计划的执行过程模型示意图;
图6为本申请实施例提供的搜索方法的架构实现示意图;
图7为本申请实施例提供的搜索装置的结构示意图;
图8是用来实现本申请实施例的搜索方法的电子设备的框图。
具体实施方式
以下结合附图对本申请的示范性实施例做出说明,其中包括本申请实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本申请的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。在不冲突的情况下,下述的实施例及实施例中的特征可以相互组合。
通常的,由于各地域或机构在收集数据时的数据来源等不同,导致不同的图形数据库通常采用不同的建模方式,不同的图形数据库之间不能通用,因此在对图形数据库中内容查询时,需要定制化的开发API或SQL等,实现对各图形数据库的查询,实现方式复杂,需要占用较多资源。且图形数据库中的实体和关系变化会导致图查询的执行完全不可复用。
基于此,本申请实施例提供了一种搜索方法,可以在执行计划中包括多个屏蔽了图形数据库底层接口的图算子,并基于图算子实现对查询结果的计算,从而在查询过程中不需要大量定制化的图API/SQL等,只需要依据查询需求,生成执行计划,依据执行计划顺次调用图算子,到该图算子适配的图形数据库中计算即可,具有较好的通用性。
本申请实施例所描述的图算子也可以称为执行逻辑、执行步骤或函数,图算子主要用于与图形数据库交互,图算子可以屏蔽图形数据库的底层数据库接口。
本申请实施例所描述的执行计划可以用于指示顺序调用的多个图算子,以及执行各图算子时的结果选择方式。可能的实现方式中,执行计划与查询类型可以具有一一对应的关联关系,或者可以理解为,查询一类关系时可以采用一种执行计划。
本申请实施例所描述的查询类型用于指示查询请求所要请求查询的关系,例如可以包括同行关系、住宿关系、快递关系、交易关系或打电话关系等的一种或多种。可能的实现方式中,同行关系可以是行程有交汇的关系等,住宿关系可以是住宿位置有交汇的关系等,快递关系可以是快递有交汇的关系等,交易关系可以是共同购买过一个物品的关系或进行过交易的关系等,打电话关系可以是互相有电话通信的关系等。可以理解,具体应用中,还可以根据实际需求查询其他任意可能的关系,本申请实施例对此不做具体限定。
本申请实施例的方法可以应用于终端或服务器,终端可以包括:手机、平板电脑、笔记本电脑、或者台式电脑等电子设备。本申请实施例对应用的具体设备不作具体限定。
示例性的,终端或服务器中可以提供图形用户界面(graphical user interface,GUI),在图形用户界面中可以设置用于接收用户操作的控件、输入框等,使得用户可以在图形用户界面中输入查询关键字,进而实现本申请实施例的搜索方法,可以理解,图形用户界面的具体内容可以根据实际的应用场景确定,本发明实施例对此不作具体限定。
如图1所示,图1为本申请实施例提供的方法所适用的应用场景架构示意图。
一种可能的实现方式中,可以基于终端设备11与服务器12的交互,实现本申请实施例的搜索方法。例如,用户可以在显示设备(例如终端设备11)的用户界面中输入查询关键字,并点击需要查询的查询类型,则终端设备11可以获取查询关键字和查询类型,终端设备11可以生成包含查询关键字和查询类型的查询请求,以及向服务器12发送该查询请求;服务器12可以接收查询请求,依据查询请求中的查询类型生成执行计划,利用查询关键字和执行计划,获取查询请求的查询结果;向显示设备发送查询结果,从而可以在终端设备11中显示该查询结果。在查询过程中只需要依据查询需求,生成执行计划,依据执行计划顺次调用图算子,到该图算子适配的图形数据库中计算即可,具有较好的通用性。可以理解,具体应用中,服务器的数量可以为大于或等于1的任意值,本申请实施例对此不作具体限定。
一种可能的实现方式中,终端设备11可以实现本申请实施例的搜索方法。例如,用户可以在终端设备11的显示设备中输入查询关键字,并点击需要查询的查询类型,则终端设备11可以获取查询关键字和查询类型,终端设备11可以生成包含查询关键字和查询类型的查询请求,依据查询请求中的查询类型生成执行计划,利用查询关键字和执行计划,获取查询请求的查询结果;向显示设备发送查询结果,从而可以在终端设备11中显示该查询结果。在查询过程中只需要依据查询需求,生成执行计划,依据执行计划顺次调用图算子,到该图算子适配的图形数据库中计算即可,具有较好的通用性。
可以理解,本申请实施例的搜索方法也可以应用于其他的场景,本申请实施例对此不作具体限定。且,无论哪种应用场景中,因为查询过程中只需要依据查询需求,生成执行计划,依据执行计划顺次调用图算子,到该图算子适配的图形数据库中计算即可,具有较好的通用性。
如图2所示,图2为本申请实施例提供的搜索方法的流程示意图。该方法具体可以包括:
S101:接收来自显示设备的查询请求;所述查询请求包括查询关键字和查询类型,所述查询类型用于指示所述查询请求所要请求查询的关系。
本申请实施例中,查询关键字可以是用户在显示设备输入的任意内容,例如,查询关键字可以包括身份证号、手机号或任意能够标识用户身份的参数。查询类型可以是用户在显示设备输入的用于表示关系的参数,或者是用户点击显示设备的用户界面的控件生成的,本申请实施例对此不作具体限定。
在显示设备中获取到查询关键字和查询类型后,显示设备可以向执行搜索方法的设备发送请求。
示例性的,以搜索与某人具有同行关系的对象为例,可以在显示设备中输入该人的身份证号,并点击用于指示搜索同行关系的按钮,显示设备可以向服务器发送包含身份证号和同行关系的查询请求。或者,显示设备的图形用户界面中可以设置用于指示搜索同行关系的按钮,在该按钮上设置有输入框,用户在该按钮的输入框中输入身份证号,并触发该按钮后,显示设备可以向服务器发送包含身份证号和同行关系的查询请求。或者,可以在显示设备中输入该人的身份证号和同行关系,并触发执行搜索步骤,显示设备可以向服务器发送包含身份证号和同行关系的查询请求。
S102:依据所述查询类型生成执行计划,所述执行计划用于指示顺序调用的多个图算子,以及执行各所述图算子时的结果选择方式;所述图算子为屏蔽图形数据库底层接口的执行逻辑。
本申请实施例一种可能的实现方式中,查询类型与执行计划可以是具有关联关系,依据查询类型可以生成对应的执行计划。
执行计划可以理解为是多个图算子的拼接,多个图算子之间的顺序是确定的,对上一个图算子计算的结果进行选择后,作为下一个图算子的输入。
示例性的,以查询类型指示所查询的关系为同行关系为例,可以生成用于计算同行关系的执行计划,执行计划中的各图算子可以对应不同的图形数据库,后续执行该执行计划,可以计算得到查询关键字对应的查询结果。
S103:利用所述查询关键字和所述执行计划,获取所述查询请求的查询结果。
本申请实施例中,可以将查询关键字作为执行计划的输入参数,执行该执行计划,从而可以得到查询请求的查询结果。
示例性的,以搜索与某人具有同行关系的对象为例,查询结果可以为与该人具有同行关系的其他人。
S104:向所述显示设备发送所述查询结果。
一种可能的实现方式中,S101-S103的执行主体为服务器,则S104中,显示设备可以是用户输入查询关键字的终端设备,服务器可以向终端设备发送查询结果,进而终端设备可以显示查询结果。
一种可能的实现方式中,S101-S103的执行主体为用户输入查询关键字的终端设备,则S104中,显示设备可以是终端设备的显示屏幕等,终端设备可以向显示设备发送查询结果,显示设备可以显示查询结果。
综上所述,本申请实施例中提供了一种搜索方法及装置,可以在执行计划中包括多个屏蔽了图形数据库底层接口的图算子,并基于图算子实现对查询结果的计算,从而在查询过程中不需要大量定制化的图API/SQL等,只需要依据查询需求,生成执行计划,依据执行计划顺次调用图算子,到该图算子适配的图形数据库中计算即可,具有较好的通用性。具体的实现中,可以接收来自显示设备的查询请求;查询请求包括查询关键字和查询类型,查询类型用于指示查询请求所要请求查询的关系;依据查询类型生成执行计划,执行计划用于指示顺序调用的多个图算子,以及执行各图算子时的结果选择方式;图算子为屏蔽图形数据库底层接口的执行逻辑;利用查询关键字和执行计划,获取查询请求的查询结果;向显示设备发送查询结果,从而在查询过程中只需要依据查询需求,生成执行计划,依据执行计划顺次调用图算子,到该图算子适配的图形数据库中计算即可,具有较好的通用性。
在图2对应的实施例的基础上,一种可能的实现方式中,S101的所述接收来自显示设备的查询请求,包括:在显示设备的图形用户界面的输入框中接收用户输入的所述查询关键字;接收用户对所述图形用户界面中的关系控件的触发操作,获取所述查询请求;所述关系控件与所述查询类型具有一一对应的映射关系。
本申请实施例中,关系控件与查询类型具有一一对应的映射关系,则用户在图形用户界面的输入框中输入查询关键字,并对图形用户界面中的关系控件执行触发操作后,显示设备可以获取该查询请求,进而向执行本申请实施例的方法的设备发送该查询请求。
示例性的,触发操作可以是点击、拖拽、语音触发、手势触发等的一种或多种,本申请实施例对触发操作不做具体限定。
本申请实施例中,因为关系控件与查询类型具有一一对应的映射关系,因此,显示设备可以依据用户对关系控件的触发,便捷准确的确定查询类型,提升确定查询类型的效率和准确度。
在图2对应的实施例的基础上,一种可能的实现方式中,S102的所述依据所述查询类型生成执行计划,包括:依据所述查询类型获取所述查询类型所需的信息,所述查询类型所需的信息包括检索路径、相关点和边的图特性、以及点和边属性索引情况;利用所述查询类型所需的信息确定所述执行计划。
本申请实施例的一种可能实现中,可以依据查询类型从图形元(graph meta)获取查询此查询类型所需要的信息。该信息包含但不限于检索路径(例如起点、终点、中间点、中间边的类型以及相关逻辑条件),以及相关点和边的图特性(例如是否有聚合点/分点/聚合边/是否有虚拟点等特性),以及点和边属性索引情况(例如是否支持范围检索,是否有分段属性值/分段聚合)等。
根据基本检索路径,可以确定需要的图算子,和图算子执行的图元素schema相关参数。根据相关点和边的聚合拆分特性,可以选用图算子的对应优化版本,或者直接优化查询路径条件。根据属性索引情况,图算子可以选用不同的查询实现来优化查询速度。从而可以生成对应的执行计划。
本申请实施例中,图算子是屏蔽图形数据库底层接口的,可能的实现方式中,图算子可以对相同属性的两个结点进行虚拟桥接,简化查询和过滤条件。
示例性的,图3是某种同行关系的原始查询路径,图4是经过虚拟桥接的图算子处理(将“地点”点和“出行”边提取为“虚拟行程”点)之后的查询路径。其中,身份证人1和身份证人2可以认为是相同属性的结点,可以根据身份证人1和身份证人2得到出行路径和时间对身份证人1和身份证人2进行虚拟桥接,得到身份证人1和身份证人2的虚拟行程。可以理解,因为图4中采用虚拟行程替换了地点以及相应的边关系,在查询时可以不关注地点而是根据两个人之间的虚拟行程查询,简化了查询和过滤条件。
在图2对应的实施例的基础上,一种可能的实现方式中,S103的所述利用所述查询关键字和所述执行计划,获取所述查询请求的查询结果,包括:依次调用所述执行计划中的多个图算子;对于任意两个顺序相邻的图算子,依据所述结果选择方式将上一个图算子所计算的计算结果过滤后,输入下一个图算子,利用所述下一个图算子从所述图形数据库中计算得到所述下一个图算子计算结果,直到所述多个图算子中的最后一个图算子计算得到所述查询关键字的查询结果。
本申请实施例中,对于可以按计划中的每个步骤进行执行,例如可以依次调用图算子获得相关点边信息,以及依据聚合或过滤逻辑在各图算子的计算结果中进行选择,计划执行完成之后,返回对应结果。
示例性的,一个执行计划可以描述某种模式的图计算过程。包含:将用户输入的查询关键字作为执行计划的参数输入,依次调用具体的图算子,以及向各图算子输入需要的参数,图算子需要的参数可以包含执行计划的输入参数,图schema信息,以及上层图算子计算的结果进行聚合、过滤等逻辑处理后输出的信息。例如,图5示出了一种执行计划的执行过程模型,标号1、2、3可以分别对应一个图算子。
在图2对应的实施例的基础上,一种可能的实现方式中,所述图形数据库包括多种数据源数据库,各所述数据源数据库所支持的图算子类型不同。
本申请实施例中,可以在一个执行计划中拼接不同类型的图算子,实现对多种数据源数据库的查询,将查询与数据源数据库实现逻辑解耦,从而能得到更加丰富的查询结果,增加了本申请实施例的方法的通用性。
在图2对应的实施例的基础上,一种可能的实现方式中,所述图算子用于处理下述类别的图特性:关系类型、关系时长、连接点特性和关系边特性。所述关系类型包括直接和间接,所述关系时长包括持续和单次,所述连接点特性包括分裂点和虚拟桥接点,所述关系边特性包括时间聚合边。
本申请实施例中,可以提供图算子处理库,图算子处理库中可以包括不同的图算子,图算子可以对不同的元素特性进行处理,例如,目前图算子可以处理如表1的图特性。
表1
关系类型 | 关系时长 | 连接点特性 | 关系边特性 |
间接 | 持续 | 分裂点 | 时间聚合边 |
直接 | 单次 | 虚拟桥接点 |
本申请实施例中,直接关系可以是两个结点有直接交集的,间接关系可以是两个结点通过其他的结点有交集的。持续关系时长可以是在一段时间内的关系,单次关系时长可以是一个时刻的关系。分裂点可以是实际的结点,虚拟桥接点可以是虚拟桥接得到的连接点。可以理解,图算子处理的内容可以随着图特征的增长而扩充,本申请实施例对此不做具体限定。
示例性的,图6为本申请实施例的搜索方法的架构示意图。
如图6所示,在接收到查询请求后,可以解析查询请求中的查询类型和查询关键字,进而确定执行计划,执行该执行计划时,可以依次调用图算子,利用图算子与图形数据库的交互,以及对各图算子计算结果的选择得到查询结果,并输出查询结果。
可见,本申请实施例提供一个统一的图查询执行控制流,包含对图算子调用,以及相关结果的聚合、过滤、和传递操作。具有较好的通用性。
图7为本申请提供的搜索装置一实施例的结构示意图。如图7所示,本实施例提供的搜索装置包括:
接收模块71,用于接收来自显示设备的查询请求;所述查询请求包括查询关键字和查询类型,所述查询类型用于指示所述查询请求所要请求查询的关系;
处理模块72,用于依据所述查询类型生成执行计划,所述执行计划用于指示顺序调用的多个图算子,以及执行各所述图算子时的结果选择方式;所述图算子为屏蔽图形数据库底层接口的执行逻辑;
所述处理模块73,还用于利用所述查询关键字和所述执行计划,获取所述查询请求的查询结果;
发送模块,用于向所述显示设备发送所述查询结果。
一种可能的实现方式中,所述处理模块,具体用于:
依次调用所述执行计划中的多个图算子;
对于任意两个顺序相邻的图算子,依据所述结果选择方式将上一个图算子所计算的计算结果过滤后,输入下一个图算子,利用所述下一个图算子从所述图形数据库中计算得到所述下一个图算子计算结果,直到所述多个图算子中的最后一个图算子计算得到所述查询关键字的查询结果。
一种可能的实现方式中,所述图形数据库包括多种数据源数据库,各所述数据源数据库所支持的图算子类型不同。
一种可能的实现方式中,所述处理模块,具体用于:
依据所述查询类型获取查询所述查询类型所需的信息,所述查询类型所需的信息包括检索路径、相关点和边的图特性、以及点和边属性索引情况;
利用所述查询类型所需的信息确定所述执行计划。
一种可能的实现方式中,所述接收模块具体用于:
在显示设备的图形用户界面的输入框中接收用户输入的所述查询关键字;
接收用户对所述图形用户界面中的关系控件的触发操作,获取所述查询请求;所述关系控件与所述查询类型具有一一对应的映射关系。
一种可能的实现方式中,所述图算子用于处理下述类别的图特性:关系类型、关系时长、连接点特性和关系边特性。
一种可能的实现方式中,所述关系类型包括直接和间接,所述关系时长包括持续和单次,所述连接点特性包括分裂点和虚拟桥接点,所述关系边特性包括时间聚合边。
一种可能的实现方式中,所述查询请求所要请求查询的关系包括下述的一个或多个:同行关系、住宿关系、快递关系、交易关系、打电话关系。
本申请实施例中提供了一种搜索方法及装置,可以在执行计划中包括多个屏蔽了图形数据库底层接口的图算子,并基于图算子实现对查询结果的计算,从而在查询过程中不需要大量定制化的图API/SQL等,只需要依据查询需求,生成执行计划,依据执行计划顺次调用图算子,到该图算子适配的图形数据库中计算即可,具有较好的通用性。具体的实现中,可以接收来自显示设备的查询请求;查询请求包括查询关键字和查询类型,查询类型用于指示查询请求所要请求查询的关系;依据查询类型生成执行计划,执行计划用于指示顺序调用的多个图算子,以及执行各图算子时的结果选择方式;图算子为屏蔽图形数据库底层接口的执行逻辑;利用查询关键字和执行计划,获取查询请求的查询结果;向显示设备发送查询结果,从而在查询过程中只需要依据查询需求,生成执行计划,依据执行计划顺次调用图算子,到该图算子适配的图形数据库中计算即可,具有较好的通用性。
本申请各实施例提供的搜索装置可用于执行如前述各对应的实施例所示的方法,其实现方式与原理相同,不再赘述。
根据本申请的实施例,本申请还提供了一种电子设备和一种可读存储介质。
如图8所示,是根据本申请实施例的搜索方法的电子设备的框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本申请的实现。
如图8所示,该电子设备包括:一个或多个处理器801、存储器802,以及用于连接各部件的接口,包括高速接口和低速接口。各个部件利用不同的总线互相连接,并且可以被安装在公共主板上或者根据需要以其它方式安装。处理器可以对在电子设备内执行的指令进行处理,包括存储在存储器中或者存储器上以在外部输入/输出装置(诸如,耦合至接口的显示设备)上显示GUI的图形信息的指令。在其它实施方式中,若需要,可以将多个处理器和/或多条总线与多个存储器和多个存储器一起使用。同样,可以连接多个电子设备,各个设备提供部分必要的操作(例如,作为服务器阵列、一组刀片式服务器、或者多处理器系统)。图8中以一个处理器801为例。
存储器802即为本申请所提供的非瞬时计算机可读存储介质。其中,所述存储器存储有可由至少一个处理器执行的指令,以使所述至少一个处理器执行本申请所提供的搜索方法。本申请的非瞬时计算机可读存储介质存储计算机指令,该计算机指令用于使计算机执行本申请所提供的搜索方法。
存储器802作为一种非瞬时计算机可读存储介质,可用于存储非瞬时软件程序、非瞬时计算机可执行程序以及模块,如本申请实施例中的搜索方法对应的程序指令/模块(例如,附图7所示的接收模块71、处理模块72和发送模块73)。处理器801通过运行存储在存储器802中的非瞬时软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述方法实施例中的搜索方法。
存储器802可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据搜索电子设备的使用所创建的数据等。此外,存储器802可以包括高速随机存取存储器,还可以包括非瞬时存储器,例如至少一个磁盘存储器件、闪存器件、或其他非瞬时固态存储器件。在一些实施例中,存储器802可选包括相对于处理器801远程设置的存储器,这些远程存储器可以通过网络连接至搜索电子设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
搜索方法的电子设备还可以包括:输入装置803和输出装置804。处理器801、存储器802、输入装置803和输出装置804可以通过总线或者其他方式连接,图8中以通过总线连接为例。
输入装置803可接收输入的数字或字符信息,以及产生与搜索电子设备的用户设置以及功能控制有关的键信号输入,例如触摸屏、小键盘、鼠标、轨迹板、触摸板、指示杆、一个或者多个鼠标按钮、轨迹球、操纵杆等输入装置。输出装置804可以包括显示设备、辅助照明装置(例如,LED)和触觉反馈装置(例如,振动电机)等。该显示设备可以包括但不限于,液晶显示器(LCD)、发光二极管(LED)显示器和等离子体显示器。在一些实施方式中,显示设备可以是触摸屏。
此处描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、专用ASIC(专用集成电路)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
这些计算程序(也称作程序、软件、软件应用、或者代码)包括可编程处理器的机器指令,并且可以利用高级过程和/或面向对象的编程语言、和/或汇编/机器语言来实施这些计算程序。如本文使用的,术语“机器可读介质”和“计算机可读介质”指的是用于将机器指令和/或数据提供给可编程处理器的任何计算机程序产品、设备、和/或装置(例如,磁盘、光盘、存储器、可编程逻辑装置(PLD)),包括,接收作为机器可读信号的机器指令的机器可读介质。术语“机器可读信号”指的是用于将机器指令和/或数据提供给可编程处理器的任何信号。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。
根据本申请实施例的技术方案,可以在执行计划中包括多个屏蔽了图形数据库底层接口的图算子,并基于图算子实现对查询结果的计算,从而在查询过程中不需要大量定制化的图API/SQL等,只需要依据查询需求,生成执行计划,依据执行计划顺次调用图算子,到该图算子适配的图形数据库中计算即可,具有较好的通用性。具体的实现中,可以接收来自显示设备的查询请求;查询请求包括查询关键字和查询类型,查询类型用于指示查询请求所要请求查询的关系;依据查询类型生成执行计划,执行计划用于指示顺序调用的多个图算子,以及执行各图算子时的结果选择方式;图算子为屏蔽图形数据库底层接口的执行逻辑;利用查询关键字和执行计划,获取查询请求的查询结果;向显示设备发送查询结果,从而在查询过程中只需要依据查询需求,生成执行计划,依据执行计划顺次调用图算子,到该图算子适配的图形数据库中计算即可,具有较好的通用性。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本申请中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本申请公开的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本申请保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本申请的精神和原则之内所作的修改、等同替换和改进等,均应包含在本申请保护范围之内。
Claims (14)
1.一种搜索方法,其特征在于,所述方法包括:
接收来自显示设备的查询请求;所述查询请求包括查询关键字和查询类型,所述查询类型用于指示所述查询请求所要请求查询的关系;
依据所述查询类型生成执行计划,所述执行计划用于指示顺序调用的多个图算子,以及执行各所述图算子时的结果选择方式;所述图算子为屏蔽图形数据库底层接口的执行逻辑;
依次调用所述执行计划中的多个图算子;
对于任意两个顺序相邻的图算子,依据所述结果选择方式将上一个图算子所计算的计算结果过滤后,输入下一个图算子,利用所述下一个图算子从所述图形数据库中计算得到所述下一个图算子计算结果,直到所述多个图算子中的最后一个图算子计算得到所述查询关键字的查询结果;
向所述显示设备发送所述查询结果。
2.根据权利要求1所述的方法,其特征在于,所述图形数据库包括多种数据源数据库,各所述数据源数据库所支持的图算子类型不同。
3.根据权利要求1所述的方法,其特征在于,所述依据所述查询类型生成执行计划,包括:
依据所述查询类型获取所述查询类型所需的信息,所述查询类型所需的信息包括检索路径、相关点和边的图特性、以及点和边属性索引情况;
利用所述查询类型所需的信息确定所述执行计划。
4.根据权利要求1所述的方法,其特征在于,所述接收来自显示设备的查询请求,包括:
在显示设备的图形用户界面的输入框中接收用户输入的所述查询关键字;
接收用户对所述图形用户界面中的关系控件的触发操作,获取所述查询请求;所述关系控件与所述查询类型具有一一对应的映射关系。
5.根据权利要求1-4任一项所述的方法,其特征在于,所述图算子用于处理下述类别的图特性:关系类型、关系时长、连接点特性和关系边特性。
6.根据权利要求5所述的方法,其特征在于,所述关系类型包括直接和间接,所述关系时长包括持续和单次,所述连接点特性包括分裂点和虚拟桥接点,所述关系边特性包括时间聚合边。
7.一种搜索装置,其特征在于,包括:
接收模块,用于接收来自显示设备的查询请求;所述查询请求包括查询关键字和查询类型,所述查询类型用于指示所述查询请求所要请求查询的关系;
处理模块,用于依据所述查询类型生成执行计划,所述执行计划用于指示顺序调用的多个图算子,以及执行各所述图算子时的结果选择方式;所述图算子为屏蔽图形数据库底层接口的执行逻辑;
所述处理模块,还用于利用所述查询关键字和所述执行计划,获取所述查询请求的查询结果;
发送模块,用于向所述显示设备发送所述查询结果;
所述处理模块,具体用于:
依次调用所述执行计划中的多个图算子;
对于任意两个顺序相邻的图算子,依据所述结果选择方式将上一个图算子所计算的计算结果过滤后,输入下一个图算子,利用所述下一个图算子从所述图形数据库中计算得到所述下一个图算子计算结果,直到所述多个图算子中的最后一个图算子计算得到所述查询关键字的查询结果。
8.根据权利要求7所述的装置,其特征在于,所述图形数据库包括多种数据源数据库,各所述数据源数据库所支持的图算子类型不同。
9.根据权利要求7所述的装置,其特征在于,所述处理模块,具体用于:
依据所述查询类型获取所述查询类型所需的信息,所述查询类型所需的信息包括检索路径、相关点和边的图特性、以及点和边属性索引情况;
利用所述查询类型所需的信息确定所述执行计划。
10.根据权利要求7所述的装置,其特征在于,所述接收模块具体用于:
在显示设备的图形用户界面的输入框中接收用户输入的所述查询关键字;
接收用户对所述图形用户界面中的关系控件的触发操作,获取所述查询请求;所述关系控件与所述查询类型具有一一对应的映射关系。
11.根据权利要求7-10任一项所述的装置,其特征在于,所述图算子用于处理下述类别的图特性:关系类型、关系时长、连接点特性和关系边特性。
12.根据权利要求11所述的装置,其特征在于,所述关系类型包括直接和间接,所述关系时长包括持续和单次,所述连接点特性包括分裂点和虚拟桥接点,所述关系边特性包括时间聚合边。
13.一种电子设备,其特征在于,包括:
至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如权利要求1-6任一项所述的方法的指令。
14.一种存储有计算机指令的非瞬时计算机可读存储介质,其特征在于,计算机指令用于使所述计算机执行如权利要求1-6任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010344147.8A CN111538854B (zh) | 2020-04-27 | 2020-04-27 | 搜索方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010344147.8A CN111538854B (zh) | 2020-04-27 | 2020-04-27 | 搜索方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111538854A CN111538854A (zh) | 2020-08-14 |
CN111538854B true CN111538854B (zh) | 2023-08-08 |
Family
ID=71978854
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010344147.8A Active CN111538854B (zh) | 2020-04-27 | 2020-04-27 | 搜索方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111538854B (zh) |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101799826A (zh) * | 2010-03-04 | 2010-08-11 | 中国电子科技集团公司第二十八研究所 | 一种基于虚拟视图的网络化数据共享系统及方法 |
CN105210058A (zh) * | 2012-12-14 | 2015-12-30 | 微软技术许可有限责任公司 | 使用多个引擎来进行图查询处理 |
WO2017052539A1 (en) * | 2015-09-23 | 2017-03-30 | Hewlett Packard Enterprise Development Lp | Graph database query classification |
CN107885786A (zh) * | 2017-10-17 | 2018-04-06 | 东华大学 | 面向大数据的自然语言查询接口实现方法 |
CN109063056A (zh) * | 2018-07-20 | 2018-12-21 | 阿里巴巴集团控股有限公司 | 一种数据查询方法、系统及终端设备 |
CN109670089A (zh) * | 2018-12-29 | 2019-04-23 | 颖投信息科技(上海)有限公司 | 知识图谱系统及其图服务器 |
CN109753658A (zh) * | 2018-12-29 | 2019-05-14 | 百度在线网络技术(北京)有限公司 | 交互方法和装置 |
CN110431545A (zh) * | 2017-03-31 | 2019-11-08 | 亚马逊科技公司 | 针对结构化数据和非结构化数据执行查询 |
CN110990638A (zh) * | 2019-10-28 | 2020-04-10 | 北京大学 | 基于fpga-cpu异构环境的大规模数据查询加速装置及方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150169758A1 (en) * | 2013-12-17 | 2015-06-18 | Luigi ASSOM | Multi-partite graph database |
US10409782B2 (en) * | 2016-06-15 | 2019-09-10 | Chen Zhang | Platform, system, process for distributed graph databases and computing |
-
2020
- 2020-04-27 CN CN202010344147.8A patent/CN111538854B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101799826A (zh) * | 2010-03-04 | 2010-08-11 | 中国电子科技集团公司第二十八研究所 | 一种基于虚拟视图的网络化数据共享系统及方法 |
CN105210058A (zh) * | 2012-12-14 | 2015-12-30 | 微软技术许可有限责任公司 | 使用多个引擎来进行图查询处理 |
WO2017052539A1 (en) * | 2015-09-23 | 2017-03-30 | Hewlett Packard Enterprise Development Lp | Graph database query classification |
CN110431545A (zh) * | 2017-03-31 | 2019-11-08 | 亚马逊科技公司 | 针对结构化数据和非结构化数据执行查询 |
CN107885786A (zh) * | 2017-10-17 | 2018-04-06 | 东华大学 | 面向大数据的自然语言查询接口实现方法 |
CN109063056A (zh) * | 2018-07-20 | 2018-12-21 | 阿里巴巴集团控股有限公司 | 一种数据查询方法、系统及终端设备 |
CN109670089A (zh) * | 2018-12-29 | 2019-04-23 | 颖投信息科技(上海)有限公司 | 知识图谱系统及其图服务器 |
CN109753658A (zh) * | 2018-12-29 | 2019-05-14 | 百度在线网络技术(北京)有限公司 | 交互方法和装置 |
CN110990638A (zh) * | 2019-10-28 | 2020-04-10 | 北京大学 | 基于fpga-cpu异构环境的大规模数据查询加速装置及方法 |
Also Published As
Publication number | Publication date |
---|---|
CN111538854A (zh) | 2020-08-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7269913B2 (ja) | ナレッジグラフ構築方法、装置、電子機器、記憶媒体およびコンピュータプログラム | |
EP3822875A2 (en) | Method and apparatus for outputting information, device, storage medium, and computer program product | |
CN111177476B (zh) | 数据查询方法、装置、电子设备及可读存储介质 | |
CN106156088B (zh) | 一种索引数据处理方法、数据查询方法及装置 | |
CN111368153B (zh) | 搜索方法及装置 | |
CN111090991B (zh) | 场景纠错方法、装置、电子设备和存储介质 | |
US20200342029A1 (en) | Systems and methods for querying databases using interactive search paths | |
CN112491617B (zh) | 一种链路跟踪方法、装置、电子设备和介质 | |
CN112015468B (zh) | 一种接口文档处理方法、装置、电子设备以及存储介质 | |
CN111752960B (zh) | 数据处理方法和装置 | |
CN111291082B (zh) | 数据聚合处理方法、装置、设备及存储介质 | |
US20210216713A1 (en) | Method, apparatus, device and storage medium for intelligent response | |
CN111177479B (zh) | 获取关系网络图中节点的特征向量的方法以及装置 | |
CN111767442B (zh) | 数据更新方法、装置、搜索服务器、终端及存储介质 | |
CN112328658A (zh) | 用户档案数据处理方法、装置、设备及存储介质 | |
CN110517079B (zh) | 数据处理方法、装置、电子设备和存储介质 | |
CN111538854B (zh) | 搜索方法及装置 | |
CN115905322A (zh) | 业务处理方法、装置、电子设备及存储介质 | |
CN115328917A (zh) | 一种查询方法、装置、设备及存储介质 | |
CN111523000B (zh) | 用于导入数据的方法、装置、设备以及存储介质 | |
CN111198971B (zh) | 搜索方法、搜索装置和电子设备 | |
CN111581049B (zh) | 分布式系统运行状态监测方法、装置、设备及存储介质 | |
KR20210128372A (ko) | 정보 검색 방법, 장치, 전자 기기, 저장 매체 및 컴퓨터 프로그램 | |
CN111506737B (zh) | 图数据处理方法、检索方法、装置及电子设备 | |
CN111597301B (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 |