一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种图数据采样方法和系统与流程

2022-06-22 19:39:20 来源:中国专利 TAG:


1.本技术涉及图数据处理技术领域,特别涉及图数据采样方法和系统。


背景技术:

2.随着计算机技术的发展,以节点、连接节点的边来表示和存储数据的图数据广泛地应用到了众多领域和众多场景,例如用社交网络图存储和表示社交网络中用户的信息、用商户网络图存储和表示市场中商户的信息等等。在一些图数据的应用场景中,需要对图数据进行采样,得到其中的部分图数据(例如部分节点、边)以用于各种预测(例如实体分类预测等)、模型训练等数据处理任务。如何实现灵活、方便地基于各种采样策略或采样模式进行图采样是亟需研究的问题。
3.因此,本技术提出了一种图数据采样方法和系统,以实现灵活、方便地基于各种采样策略或采样模式进行图采样。


技术实现要素:

4.本说明书一个方面提供一种支持自定义表达式的图计算方法,所述方法包括:获取用户自定义的图计算表达式;其中,图计算表达式包括图属性变量以及运算符,所述图属性变量包括对象名以及属性名,对象名包括中心节点、邻居节点、边、有向边起点以及有向边终点中的一种或多种;执行所述图计算表达式,以得到计算结果,其进一步包括:通过所述图属性变量获取图数据中目标对象的目标属性值;其中,对象包括节点和/或边;基于所述运算符对目标对象的目标属性值进行指定计算,得到计算结果。
5.本说明书另一个方面提供一种支持自定义表达式的图计算系统,所述系统包括:图计算表达式获取模块,用于获取用户自定义的图计算表达式;其中,图计算表达式包括图属性变量以及运算符,所述图属性变量包括对象名以及属性名,对象名包括中心节点、邻居节点、边、有向边起点以及有向边终点中的一种或多种;图计算表达式执行模块,用于执行所述图计算表达式,以得到计算结果,其进一步用于:通过所述图属性变量获取图数据中目标对象的目标属性值;其中,对象包括节点和/或边;基于所述运算符对目标对象的目标属性值进行指定计算,得到计算结果。
6.本说明书另一个方面提供一种支持自定义表达式的图计算装置,包括至少一个存储介质和至少一个处理器,所述至少一个存储介质用于存储计算机指令;所述至少一个处理器用于执行所述计算机指令以实现前述的支持自定义表达式的图计算方法。
7.本说明书另一个方面提供一种图数据采样方法,所述方法包括:接收采样请求;基于所述采样请求确定采样模式以及图计算表达式;其中,图计算表达式包括图属性变量以及运算符,所述图属性变量包括对象名以及属性名,对象名包括中心节点、邻居节点、边、有向边起点以及有向边终点中的一种或多种;在图数据中确定多个初始对象;执行所述图计算表达式:通过所述图属性变量从所述多个初始对象中获取目标对象的目标属性值;基于所述运算符对目标对象的目标属性值执行指定计算,得到计算结果;基于计算结果对各初
始对象进行筛选,得到候选对象;根据所述采样模式在所述候选对象中执行采样,得到采样结果;其中,对象包括节点和/或边。
8.本说明书另一个方面提供一种图数据采样系统,所述系统包括:第一采样请求接收模块,用于接收采样请求;第一采样参数确定模块,用于基于所述采样请求确定采样模式以及图计算表达式;其中,图计算表达式包括图属性变量以及运算符,所述图属性变量包括对象名以及属性名,对象名包括中心节点、邻居节点、边、有向边起点以及有向边终点中的一种或多种;第一初始对象确定模块,用于在图数据中确定多个初始对象;用于对象筛选的图计算表达式执行模块,用于执行所述图计算表达式:通过所述图属性变量从所述多个初始对象中获取目标对象的目标属性值;基于所述运算符对目标对象的目标属性值执行指定计算,得到计算结果;候选对象确定模块,用于基于计算结果对各初始对象进行筛选,得到候选对象;采样模块,用于根据所述采样模式在所述候选对象中执行采样,得到采样结果;其中,对象包括节点和/或边。
9.本说明书另一个方面提供一种图数据采样装置,包括至少一个存储介质和至少一个处理器,所述至少一个存储介质用于存储计算机指令;所述至少一个处理器用于执行所述计算机指令以实现前述的一种图数据采样方法。
10.本说明书另一个方面提供另一种图数据采样方法,所述方法包括:接收采样请求;基于所述采样请求确定图计算表达式;其中,图计算表达式包括图属性变量以及运算符,所述图属性变量包括对象名以及属性名,对象名包括中心节点、邻居节点、边、有向边起点以及有向边终点中的一种或多种;在图数据中确定多个初始对象;执行所述图计算表达式:通过所述图属性变量从所述多个初始对象中获取目标对象的目标属性值;基于所述运算符对目标对象的目标属性值执行指定计算,得到各初始对象的权重;根据各初始对象的权重在所述初始对象中执行带权采样,得到采样结果;其中,对象包括节点和/或边。
11.本说明书另一个方面提供另一种图数据采样系统,所述系统包括:第二采样请求接收模块,用于接收采样请求;第二采样参数确定模块,用于基于所述采样请求确定图计算表达式;其中,图计算表达式包括图属性变量以及运算符,所述图属性变量包括对象名以及属性名,对象名包括中心节点、邻居节点、边、有向边起点以及有向边终点中的一种或多种;第二初始对象确定模块,用于在图数据中确定多个初始对象;基于权重计算的图计算表达式执行模块,用于执行所述图计算表达式:通过所述图属性变量从所述多个初始对象中获取目标对象的目标属性值;基于所述运算符对目标对象的目标属性值执行指定计算,得到各初始对象的权重;带权采样模块,用于根据各初始对象的权重在所述初始对象中执行带权采样,得到采样结果;其中,对象包括节点和/或边。
12.本说明书另一个方面提供另一种图数据采样装置,包括至少一个存储介质和至少一个处理器,所述至少一个存储介质用于存储计算机指令;所述至少一个处理器用于执行所述计算机指令以实现前述的另一种图数据采样方法。
附图说明
13.本说明书将以示例性实施例的方式进一步说明,这些示例性实施例将通过附图进行详细描述。这些实施例并非限制性的,在这些实施例中,相同的编号表示相同的结构,其中:
图1是根据本说明书一些实施例所示的支持自定义表达式的图计算系统的模块图;图2是根据本说明书一些实施例所示的图数据采样系统的模块图;图3是根据本说明书另一些实施例所示的图数据采样系统的模块图;图4是根据本说明书一些实施例所示的支持自定义表达式的图计算方法的示例性流程图;图5是根据本说明书一些实施例所示的图数据采样方法的示例性流程图;图6是根据本说明书另一些实施例所示的图数据采样方法的示例性流程图;图7是根据本说明一些实施例所示的图数据示意图。
具体实施方式
14.为了更清楚地说明本说明书实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单的介绍。显而易见地,下面描述中的附图仅仅是本说明书的一些示例或实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图将本说明书应用于其它类似情景。除非从语言环境中显而易见或另做说明,图中相同标号代表相同结构或操作。
15.应当理解,本说明书中所使用的“系统”、“装置”、“单元”和/或“模组”是用于区分不同级别的不同组件、元件、部件、部分或装配的一种方法。然而,如果其他词语可实现相同的目的,则可通过其他表达来替换所述词语。
16.如本说明书和权利要求书中所示,除非上下文明确提示例外情形,“一”、“一个”、“一种”和/或“该”等词并非特指单数,也可包括复数。一般说来,术语“包括”与“包含”仅提示包括已明确标识的步骤和元素,而这些步骤和元素不构成一个排它性的罗列,方法或者设备也可能包含其它的步骤或元素。
17.本说明书中使用了流程图用来说明根据本说明书的实施例的系统所执行的操作。应当理解的是,前面或后面操作不一定按照顺序来精确地执行。相反,可以按照倒序或同时处理各个步骤。同时,也可以将其他操作添加到这些过程中,或从这些过程移除某一步或数步操作。
18.本说明中提出的方法、系统和装置可以涉及与图数据采样相关的各种场景,例如从图数据中采样样本数据以用于模型训练、从图数据中采样与指定节点(例如用户指定的起始节点)相关的子图以用于指定节点的分类预测等场景。
19.在一些实施例中,图数据可以全量存储在计算单元上,以实现在计算单元上进行单机图数据采样。计算单元可以是可进行数据存储和数据处理的各种设备或平台(例如云平台)。在一些实施例中,图数据可以被拆分得到多个图分片,拆分得到的多个图分片可以分布式存储在多个计算单元上,以实现在多个计算单元上进行分布式图数据采样。
20.图数据是指数据结构为图(graph)的数据,图数据中用节点、连接节点的边来表示和存储数据。知识图谱是图数据的一种典型应用,本说明书将以知识图谱为主对图数据进行介绍,在无特别说明的情况下,知识图谱的相关术语的解释亦适用于其他图数据。
21.知识图谱是指由一系列表示实体的节点和表示实体之间关系的边构成的知识库。其中,节点可以有多种类型,称作节点类型,用于指示各类实体。图谱中的边表示关系。边也
可以有多种类型,称作边类型,用于指示各类关系。实体可以指现实世界中的事物,例如,人、地名、概念、药物、公司、用户等等。关系可用于表达不同实体之间的联系,例如,某人“居住在”北京、用户a和用户b是“好友”、张三和李四是“同事”、逻辑回归是深度学习的“先导知识”等等。在一些实施例中,图数据的中的节点和边可以称为图数据的对象或图元素。
22.节点/边可以具有属性。可以理解,节点的属性即节点所表示的实体的属性,边属性即边所表示的关系的属性。例如,表示某种药物的节点的属性可以包括此药物的服用方法、服用频率、疗程、禁忌信息等,表示“曾服役于”的关系的属性可以包括服役的时长。属性的取值可以称为属性值。
23.知识图谱可以是有向图或无向图,即,知识图谱中的边可以是有向的,也可以是无向的。有向的边可以是单向的,也可以是双向的,以指示关系的方向性。当知识图谱为无向图时,边可以表示关系不具有方向性或关系是双向的(如“朋友”关系)。指向一个节点的边可称作该节点的入边,该节点可以称作该有向边的终点。从一个节点指出(即指向其它节点)的边可称作该节点的出边,该节点可以称为该有向边的起点。双向或无向的边可称作该边连接的任一节点的出入边。在一些实施例中,出入边也可以指节点的出边与入边。对于有向图,边属性可以包括边的方向。
24.在知识图谱中,可以用度表示一个节点连接的边的数量,也可以表示一个节点连接其它节点的数量。度可以包括出度和入度,出度是指从该节点出发指向其他节点的边的数量,入度是指指向该节点的边的数量。在一些实施例中,知识图谱中会存在热点,热点是指度(例如出度或者入度)的值大于阈值的节点。
25.在两个节点之间连接的边的数量通常被称作“跳数”。当两个节点仅通过一条边连接时(或者说两个节点不间隔其他节点时),这两个节点间的跳数为1。当两个节点通过n(大于1)条边依次连接时(或者说两个节点间隔n-1个其他节点时),这两个节点间的跳数为n。如本文中所使用的,当两个节点之间的跳数为n(正整数)时,这两个节点互为彼此的第n跳节点。特别地,当两个节点之间的跳数为1时,也可以描述为这两个节点互为彼此的邻节点(邻居或邻居节点)。
26.节点的n跳子图是指以该节点为中心(也称作起点)且外围节点与该中心节点间的最大跳数为n的子图。外围节点指n跳子图中除中心节点以外的节点,对于n跳子图,其中的外围节点可以包括中心节点的第1跳节点、第2跳节点、

以及第n跳节点。如本文中所使用的,n跳子图的中心节点的第i跳节点也被称作该子图的第i跳节点。
27.子图数据可指图数据的子集(一部分)。具体地,子图数据可以包括与起始节点(或目标节点)相关的若干节点和/或边。例如,子图数据可以包含起始节点的1跳子图或2跳子图。又如,子图数据可以包含起始节点的至少部分邻居和/或连接起始节点的至少部分边。
28.在一些实施例中,由于数据处理任务的需要和/或图数据的复杂性,可以采用多种不同的图数据采样策略来对图数据执行采样,以得到所需的采样结果。在一些实施例中,可以采用均匀采样、meta path采样、带权采样等各种采样模式进行图数据采样。
29.均匀采样是指在执行图数据采样时,各对象(节点和/或边)被采到的概率(即采样概率)相等。
30.meta path采样是指基于起始节点在图数据中采样满足指定的节点间关系(或称图模式)的节点序列或图路径。例如,起始节点为节点a,图模式指定采样两跳图路径(包含
三个节点两条边),其中第一跳关系和第二跳关系均为转账。在执行图数据采样时,可以基于起始节点在图数据中查询节点字段或边字段对应的实例数据以及实例数据间的关系,获取与指定的节点间关系匹配的节点和边,以得到所需的采样结果,例如得到采样结果为图路径:节点实例a—转账—节点实例b—转账—节点实例c。
31.带权采样是指各对象(节点和/或边)有其对应的权重,以及基于各对象对应的权重可以确定其对应的采样概率,在执行图数据采样时,基于各对象对应的采样概率进行采样。
32.在一些实施例中,在采用各种采样模式进行图数据采样时,还可以对对象进行过滤筛选,以使得在符合指定条件(可以称为过滤条件,例如节点、边的属性值符合指定条件,具体地,例如节点的时间戳取值在指定范围内,又例如节点间关系类型满足指定关系类型)的多个对象中执行图数据采样。
33.在一些实施例中,图数据采样需要过滤时,支持图数据采样的计算设备或图模型训练框架不能支持自定义的对象过滤,只能先在图数据中按照指定采样模式执行图数据采样得到采样结果,将采样结果全部发送给用户,用户获取到采样结果后需要自行在采样结果中过滤掉不需要的对象。该种方法不能灵活方便地实现过滤,且采样结果中包含了部分无用信息,造成通信量浪费、效率低下。在带权采样的一些实施例中,计算设备或图模型训练框架需要按照预设指定的权重计算方法对图数据中的对象预先计算对应的权重,并将各对象的权重进行存储以用于在执行基于对象权重的图数据采样时进行使用。当权重计算方式改变时,则需要重新对图数据的对象进行权重计算以更新存储的权重。该种方法实现计算对象的权重需要较大的存储开销,且不能灵活地计算权重和更新权重,若需要重新计算对象的权重则需要重启计算设备或图模型训练框架。
34.有鉴于此,本说明书一些实施例提出支持自定义表达式的图计算方法,通过计算单元或计算设备获取用户自定义的图计算表达式,以及执行图计算表示式以对目标对象的目标属性值执行指定计算并得到计算结果,从而实现用户可以通过自定义表达式来自定义过滤条件和/或自定义权重计算方法,图计算表达式能够与各种图采样策略或图采样模式配合,实现在图数据采样过程中进行对象过滤和/或实时计算对象的权重,有效提高图采样效率,以及降低通信量和/或权重存储空间。
35.另外,本说明一些实施例还提出图数据采样方法,通过接收采样请求,基于采样请求确定起始节点、采样模式以及图计算表达式,并基于起始节点在图数据中确定多个初始对象,执行图计算表达式以对多个初始对象中的目标对象的目标属性值执行指定计算并得到计算结果,基于计算结果对各初始对象进行筛选,得到候选对象,进一步根据采样模式在候选对象中执行采样,以得到采样结果。通过前述图数据采样方法,可以实现在图数据采样过程中通过执行用户自定义的图计算表达式实现自定义的过滤,从而更加灵活、方便地实现基于条件过滤的图数据采样方法。
36.本说明书一些实施例还提出另一种图数据采样方法,通过接收采样请求,基于采样请求确定起始节点以及图计算表达式,并基于起始节点在图数据中确定多个初始对象,执行图计算表达式对多个初始对象中的目标对象的目标属性值执行指定计算并得到各初始对象的权重,进一步根据各初始对象的权重在多个初始对象中执行基于对象权重的采样方法例如带权采样,以得到采样结果。通过前述图数据采样方法,可以实现在图数据采样过
程中通过执行用户自定义的图计算表达式实现实时地和自定义的对象权重计算,从而更加灵活、方便地实现基于对象权重的图数据采样方法例如带权采样。
37.图1是根据本说明书一些实施例所示的支持自定义表达式的图计算系统的模块图。
38.在一些实施例中,支持自定义表达式的图计算系统100可以实现于计算单元(例如全量存储图数据的计算单元或分布式存储多个图分片的多个计算单元中的各计算单元)上。
39.在一些实施例中,支持自定义表达式的图计算系统100可以包括图计算表达式获取模块110、图计算表达式执行模块120。
40.在一些实施例中,图计算表达式获取模块110可以用于获取用户自定义的图计算表达式;其中,图计算表达式包括图属性变量以及运算符,所述图属性变量包括对象名以及属性名,对象名包括中心节点、邻居节点、边、有向边起点以及有向边终点中的一种或多种。
41.在一些实施例中,图计算表达式执行模块120可以用于执行所述图计算表达式,以得到计算结果。在一些实施例中,其进一步用于:通过所述图属性变量获取图数据中目标对象的目标属性值;其中,对象包括节点和/或边;基于所述运算符对目标对象的目标属性值进行指定计算,得到计算结果。
42.关于图计算表达式获取模块110、图计算表达式执行模块120的更多具体内容可以参见图4及其相关说明。
43.图2是根据本说明书一些实施例所示的图数据采样系统的模块图。
44.在一些实施例中,图数据采样系统200可以实现于计算单元(例如全量存储图数据的计算单元或分布式存储多个图分片的多个计算单元中的各计算单元)上。
45.在一些实施例中,图数据采样系统200可以包括第一采样请求接收模块210、第一采样参数确定模块220、第一初始对象确定模块230、用于对象筛选的图计算表达式执行模块240、候选对象确定模块250、采样模块260。
46.在一些实施例中,第一采样请求接收模块210可以用于接收采样请求。
47.在一些实施例中,第一采样参数确定模块220可以用于基于所述采样请求确定采样模式以及图计算表达式;其中,图计算表达式包括图属性变量以及运算符,所述图属性变量包括对象名以及属性名,对象名包括中心节点、邻居节点、边、有向边起点以及有向边终点中的一种或多种。
48.在一些实施例中,第一初始对象确定模块230可以用于在图数据中确定多个初始对象。
49.在一些实施例中,用于对象筛选的图计算表达式执行模块240可以用于执行所述图计算表达式:通过所述图属性变量从所述多个初始对象中获取目标对象的目标属性值;基于所述运算符对目标对象的目标属性值执行指定计算,得到计算结果。
50.在一些实施例中,候选对象确定模块250可以用于基于计算结果对各初始对象进行筛选,得到候选对象。
51.在一些实施例中,采样模块260可以用于根据所述采样模式在所述候选对象中执行采样,得到采样结果。
52.关于第一采样请求接收模块210、第一采样参数确定模块220、第一初始对象确定
模块230、用于对象筛选的图计算表达式执行模块240、候选对象确定模块250、采样模块260的更多具体内容可以参见图5及其相关说明。
53.图3是根据本说明书另一些实施例所示的图数据采样系统的模块图。
54.在一些实施例中,图数据采样系统300可以实现于计算单元(例如全量存储图数据的计算单元或分布式存储多个图分片的多个计算单元中的各计算单元)上。
55.在一些实施例中,图数据采样系统300可以包括第二采样请求接收模块310、第二采样参数确定模块320、第二初始对象确定模块330、基于权重计算的图计算表达式执行模块340、带权采样模块350。
56.在一些实施例中,第二采样请求接收模块310可以用于接收采样请求。
57.在一些实施例中,第二采样参数确定模块320可以用于基于所述采样请求确定图计算表达式;其中,图计算表达式包括图属性变量以及运算符,所述图属性变量包括对象名以及属性名,对象名包括中心节点、邻居节点、边、有向边起点以及有向边终点中的一种或多种。
58.在一些实施例中,第二初始对象确定模块330可以用于在图数据中确定多个初始对象。
59.在一些实施例中,基于权重计算的图计算表达式执行模块340可以用于执行所述图计算表达式:通过所述图属性变量从所述多个初始对象中获取目标对象的目标属性值;基于所述运算符对目标对象的目标属性值执行指定计算,得到各初始对象的权重。
60.在一些实施例中,带权采样模块350可以用于根据各初始对象的权重在所述初始对象中执行带权采样,得到采样结果。
61.关于第二采样请求接收模块310、第二采样参数确定模块320、第二初始对象确定模块330、基于权重计算的图计算表达式执行模块340、带权采样模块350的更多具体内容可以参见图6及其相关说明。
62.应当理解,所示的系统及其模块可以利用各种方式来实现。例如,在一些实施例中,系统及其模块可以通过硬件、软件或者软件和硬件的结合来实现。其中,硬件部分可以利用专用逻辑来实现;软件部分则可以存储在存储器中,由适当的指令执行系统,例如微处理器或者专用设计硬件来执行。本领域技术人员可以理解上述的方法和系统可以使用计算机可执行指令和/或包含在处理器控制代码中来实现,例如在诸如磁盘、cd或dvd-rom的载体介质、诸如只读存储器(固件)的可编程的存储器或者诸如光学或电子信号载体的数据载体上提供了这样的代码。本说明书的系统及其模块不仅可以有诸如超大规模集成电路或门阵列、诸如逻辑芯片、晶体管等的半导体、或者诸如现场可编程门阵列、可编程逻辑设备等的可编程硬件设备的硬件电路实现,也可以用例如由各种类型的处理器所执行的软件实现,还可以由上述硬件电路和软件的结合(例如,固件)来实现。
63.需要注意的是,以上对于系统及其模块的描述,仅为描述方便,并不能把本说明书限制在所举实施例范围之内。可以理解,对于本领域的技术人员来说,在了解该系统的原理后,可能在不背离这一原理的情况下,对各个模块进行任意组合,或者构成子系统与其他模块连接。
64.图4是根据本说明书一些实施例所示的支持自定义表达式的图计算方法的示例性流程图。
65.在一些实施例中,方法400可以由计算单元(例如全量存储图数据的计算单元或分布式存储多个图分片的多个计算单元中的各计算单元)执行。在一些实施例中,方法400可以由部署于计算单元上的支持自定义表达式的图计算系统100实现。
66.如图4所示,该方法400可以包括:步骤410,获取用户自定义的图计算表达式。
67.在一些实施例中,该步骤410可以由图计算表达式获取模块110执行。
68.图计算表达式可以是指可以用于对图数据进行计算的表达式或可执行的表达式(例如可执行的表达式代码)。在一些实施例中,图计算表达式可以通过基于表达式语言编写得到。在一些实施例中,表达式语言可以包括可以描述图数据中目标对象、目标对象的属性以及构造对对象的属性值进行的指定计算的多种元素。目标对象是指待对其进行计算的图数据中的对象。
69.在一些实施例中,用于编写图计算表达式的表达式语言可以包括图属性变量,图属性变量可以用于在图计算表达式中指定图数据中的目标对象的目标属性。在一些实施例中,图属性变量可以包括对象名、属性名。示例性的,图属性变量可以以(对象名.属性名)或其它可行的格式来表示。
70.对象名可以用于指定目标对象在图数据中的角色,在一些实施例中,对象名可以包括以下中的一种或多种:中心节点(可以用centernode或其它字符表示)、邻居节点(可以用neighbornode或其它字符表示)、边(可以用edge或其它字符表示)、有向边起点(可以用sourcenode或其它字符表示)以及有向边终点(可以用targetnode或其它字符表示)。本说明书一些实施例提出的图属性变量中的对象名通过通用名(如边)或相对关系(如中心节点、有向边起点)来引用图数据中的对象,可以覆盖图数据中的全部对象且使得表达式语言可以兼容各种图数据。
71.图7是本说明书一些实施例所示的图数据示意图。在没有指定起始节点时,图数据中的任一节点或边都可能成为图属性变量指定的目标对象。示例性的,当图计算表达式包含centernode以及neighbornode时,在进行图计算时,可以将图7中的任一节点作为centernode,将该任一节点的邻居节点作为neighbornode,进而代入对应的属性值进行表达式计算。例如,中心节点可以是a,相应的邻居节点为b、c、d、e、f;中心节点还可以是c,相应的邻居节点为a。当图计算表达式包括有向边起点时,则图7中的任一边的起点(如b、a、f)都可以作为有向边起点被代入到图计算表达式中进行计算。
72.在一些计算场景中,可以具有指定的起始节点,此时,可以将起始节点作为中心节点进行表达式计算,相应的,包含其余类型对象名的图属性变量也会基于起始节点确定。如图7所示,中心节点可以是指定的某个起始节点(例如与7中所示的节点a),邻居节点可以是指中心节点的邻居节点(例如图7中所示的中心节点a的邻居节点b、c、d、e、f),边可以是指中心节点连接的各个边(包括中心节点的入边、出边),相应的有向边也是指中心节点连接的各个边中的有向边。例如,对于指定的有向边ac,有向边起点为a,对于指定的有向边af,有向边终点为a。
73.属性名可以用于指定对象的目标属性,例如时间戳、入度、出度等。
74.在一些实施例中,用于编写图计算表达式的表达式语言还可以包括运算符,运算符可以用于在图计算表达式中构造对目标对象的目标属性值进行的指定计算,运算符可以
包括四则运算、逻辑运算、幂运算、指数函数、对数函数、绝对值、最大值、最小值等各种操作符、函数。
75.在一些实施例中,用于编写图计算表达式的表达式语言还可以包括常量,常量可以用于在图计算表达式中表示固定值,可以包括数值、字符串、布尔值等。
76.在一些实施例中,用于编写图计算表达式的表达式语言还可以包括自定义变量,自定义变量可以用于在图计算表达式中指定一些自定义的值,例如用于表示过滤条件的自定义取值,又例如用于构成权重计算公式的自定义取值。
77.在一些实施例中,图计算表达式可以包括用于对图数据中对象进行条件过滤的图计算表达式(可以称为条件表达式)、用于对图数据中对象进行权重计算的图计算表达式(可以称为权重计算表达式)。
78.仅作为示例,以下列举了一些图计算表达式文本的例子:例如,一个用于对图数据中对象进行条件过滤的图计算表达式可以为neighbornode.version《=threshold ,该表达式中neighbornode.version为图属性变量,其中neighbornode为对象名,表示指定的中心节点的邻居节点,version为属性名,表示邻居节点的时间戳,threshold为自定义变量,《=为运算符,构造了对邻居节点的时间戳取值的指定计算即计算邻居节点的时间戳取值是否小于threshold;又例如,另一个用于对图数据中对象进行条件过滤的图计算表达式可以为centernode.version《neighbornode.version,该表达式中centernode.version和neighbornode.version为图属性变量,分别表示中心节点的时间戳和中心节点的邻居节点的时间戳,《为运算符,构造了对中心节点的时间戳取值和邻居节点的时间戳取值的指定计算即计算中心节点的时间戳取值是否小于邻居节点的时间戳取值;又例如,一个用于对图数据中对象进行权重计算的表达式可以为log(neighbornode.outdegree),其中neighbornode.outdegree为图属性变量,其中neighbornode为对象名表示指定的中心节点的邻居节点,outdegree为属性名表示邻居节点的出度,log()为运算符,构造了对邻居节点的出度取值的指定计算。
79.在一些实施例中,可以由用户基于表达式语言编写图计算表达式文本,并将图计算表达式文本发送至计算单元,以使得计算单元获取到用户自定义的图计算表达式。在一些实施例中,计算单元可以对获取的图计算表达式文本进行编译得到可执行图计算表达式(例如可执行的图计算表达式代码)以用于后续计算。
80.在一些实施例中,用户可以预先基于表达式语言编写各种所需的图计算表达式文本,然后用户可以向计算单元发送注册请求,注册请求可以包括用户编写的各种图计算表达式,计算单元接收到注册请求后,可以对接收到的各种图计算表达式进行编译,得到各种可执行的图计算表达式(例如可执行的图计算表达式代码,其中包括了图计算表达式文本中各元素例如图属性变量、运算符对应的代码)并存储。在一些实施例中,计算单元可以通过对得到的各种可执行的图计算表达式进行命名后存储,具体地,可以对各种可执行的图计算表达式确定对应的表达式标识并存储可执行的图计算表达式及其对应的表达式标识。例如,对于图计算表达式文本centernode.version《neighbornode.version,可以对其进行编译得到对应的可执行的图计算表达式,并确定其对应的表达式标识为filter.version。
81.在一些实施例中,若计算单元中存储了各种可执行的图计算表达式及其对应的表达式标识,用户可以指定表达式标识并将其发送至计算单元,计算单元可以基于用户指定
的表达式标识从表达式库中获取相应的可执行的图计算表达式以用于后续计算。
82.在一些实施例中,若图计算表达式中包括自定义变量,在进行图表达式计算时还需要用户指定自定义变量的输入参数,例如图计算表达式中包括自定义变量threshold,用户可以指定threshold=5即threshold的输入参数为5。计算单元可以将用户指定的自定义变量的输入参数作为图计算表达式中自定义变量的取值以进行后续计算。在图计算表达式中引入自定义变量,可以有效提高图计算表达式的复用率,同时增加图采样过程中过滤条件或权重值计算的灵活性。具体的,不同用户可以在其图采样请求中指定表达式标识为filter. version,以及自定义表达式的不同取值,进而不同用户可以高效定义不同的图采样过滤条件。
83.步骤420,执行所述图计算表达式,以得到计算结果。
84.在一些实施例中,该步骤420可以由图计算表达式执行模块120执行。
85.在一些实施例中,计算单元可以执行可执行的图计算表达式,以实现图计算表达式所指定的计算。
86.在一些实施例中,图计算表达式的执行过程可以包括基于图计算表达式中的图属性变量获取其指定的图数据中目标对象的目标属性的取值,以及基于图计算表达式中的运算符对目标对象的目标属性值进行图计算表达式所指定的计算,得到计算结果。
87.以用户指定图计算表达式为centernode.version《neighbornode.version为例,用指定了起始节点为节点a,则起始节点a即为图计算表达式中centernode(即中心节点)指定的目标对象,centernode.version指定的目标对象的目标属性的取值即为起始节点a的时间戳的取值,起始节点a的邻居节点(例如邻居节点b)即为图计算表达式中neighbornode指定的目标对象,neighbornode.version指定的目标对象的目标属性的取值即为起始节点a的邻居节点的时间戳的取值。获取了表达式centernode.version《neighbornode.version中各图属性变量指定的目标对象的目标属性值后,便可以对其基于运算符进行指定计算,得到计算结果,例如起始节点a的时间戳取值满足小于邻居节点b的时间戳取值,计算结果为ture。
88.在一些实施例中,如前所述,图计算表达式可以包括用于对图数据中对象进行条件过滤的图计算表达式、用于对图数据中对象进行权重计算的图计算表达式。
89.在一些实施例中,用于对图数据中对象进行条件过滤的图计算表达式的计算结果可以用于在采用各种采样模式进行图数据采样时对对象进行过滤。关于基于图计算表达式实现在图数据采样时对对象进行过滤的更多具体内容可以参见图5及其相关描述。
90.在一些实施例中,用于对图数据中对象进行权重计算的图计算表达式可以用于计算图数据中对象的权重值,进一步各对象的权重值可以用于实现基于对象的权重进行采样的图数据采样方法例如带权采样。关于基于图计算表达式实现计算图数据中对象的权重值以进行基于对象的权重进行采样的图数据采样方法例如带权采样的更多具体内容可以参见图6及其相关描述。
91.图5是根据本说明书一些实施例所示的图数据采样方法的示例性流程图。
92.在一些实施例中,方法500可以由计算单元(例如全量存储图数据的计算单元或分布式存储多个图分片的多个计算单元中的各计算单元)执行。在一些实施例中,方法500可以由部署于计算单元(例如全量存储图数据的计算单元或分布式存储多个图分片的多个计
算单元中的各计算单元)上的图数据采样系统200实现。
93.如图5所示,该方法500可以包括:步骤510,接收采样请求。
94.在一些实施例中,该步骤510可以由第一采样请求接收模块210执行。
95.在一些实施例中,采样请求可以由用户端发送至计算单元。在一些实施例中,当图数据分布式存储在多个计算单元时,可以通过控制端基于用户的查询需求确定采样请求并转发给一个或多个计算单元。
96.步骤520,基于所述采样请求确定采样模式以及图计算表达式。
97.在一些实施例中,该步骤520可以由第一采样参数确定模块220执行。
98.在一些实施例中,采样请求可以反映用户的采样或查询需求。计算单元可以基于采样请求确定采样模式以及图计算表达式。在一些实施例中,采样请求可以直接包括采样模式以及指定的图计算表达式或图计算表达式标识。计算单元接收到采样请求后,可以将采样请求指定的采样模式作为图数据采样的采样模式,将采样请求指定的图计算表达式(例如用于过滤的条件表达式)作为图数据采样时用于图数据计算的图计算表达式。在一些实施例中,计算单元还可以基于采样请求确定起始节点,所述起始节点可以是用户指定的。示例性的,计算单元基于采样请求确定起始节点为:centernode=[1、2、3],其中1、2、3表示图数据中节点的id;采样模式为均匀采样或meta path采样等采样模式;图计算表达式为centernode.version《neighbornode.version或图计算表达式标识为filter. version。
[0099]
步骤530,在图数据中确定多个初始对象。
[0100]
在一些实施例中,该步骤530可以由第一初始对象确定模块230执行。
[0101]
在一些实施例中,当有指定的起始节点时,可以先基于采样请求指定的起始节点在图数据中确定多个初始对象,以在多个初始对象中进行过滤。初始对象可以是图数据中与采样目标相关的对象。在一些实施例中,可以基于最终的采样目标或用户采样需求从图数据中确定初始对象。例如,采样需求是为了找到与起始节点相关的部分节点,以基于与起始节点关联的节点对起始节点进行分类或其他预测。因此,可以从图数据中获取起始节点的n跳邻居节点或n跳子图(即包括n跳邻居节点和边)作为初始对象。其中,n可以取1、2等自然数。在一些实施例中,还可以将起始节点以及其n跳邻居节点或n跳子图(即包括n跳邻居节点和边)一并作为初始对象。可以理解,在一些采样场景下,起始节点可以是多个,相应的,可以获取各起始节点的n跳邻居节点或n跳子图,得到所述初始对象。在一些实施例中,采样请求可以不指定起始节点,由于图数据的数据量很大,为了提高采样效率,可以在图数据中随机圈定一些子图(即包括其中的节点和边)作为初始对象。
[0102]
步骤540,执行所述图计算表达式。
[0103]
在一些实施例中,该步骤540可以由用于对象筛选的图计算表达式执行模块240执行。
[0104]
在一些实施例中,可以通过执行图计算表达式以对多个初始对象中的目标对象的目标属性值执行指定计算,得到计算结果。关于执行图计算表达式的更多具体内容可以参见图4及其相关说明,此处不再赘述。
[0105]
作为示例,用户指定的起始节点为:centernode=[1、2、3];用于对对象进行过滤的图计算表达式为:centernode.version《neighbornode.version;初始对象为采样请求指定
的各个起始节点以及各个起始节点的各个1跳邻居节点

n跳邻居节点;通过执行图计算表达式centernode.version《neighbornode.version,可以从图数据中获取节点1的1跳邻居节点的时间戳取值和节点1的时间戳取值并计算两者是否满足centernode.version《neighbornode.version得到计算结果、获取节点2的1跳邻居节点的时间戳取值和节点2的时间戳取值并计算两者是否满足centernode.version《neighbornode.version得到计算结果、获取节点3的1跳邻居节点的时间戳取值和节点3的时间戳取值并计算两者是否满足centernode.version《neighbornode.version得到计算结果。
[0106]
步骤550,基于计算结果对各初始对象进行筛选,得到候选对象。
[0107]
在一些实施例中,该步骤550可以由候选对象确定模块250执行。
[0108]
在一些实施例中,基于执行图计算表达式得到的计算结果,可以对各初始对象进行过滤,在初始对象中筛选出满足指定条件的对象并将其作为候选对象。
[0109]
在一些实施例中,用于对对象进行过滤的图计算表达式的计算结果可以为布尔值,例如可以为真(或称true,可以表示满足图计算表达式所指定的条件)或者假(或称false,可以表示不满足图计算表达式所指定的条件)。在对各初始对象进行过滤时,可以保留初始对象中对应的计算结果为真的对象,并将其作为候选对象。
[0110]
在一些实施例中,可以由用户指定图计算表达式的计算结果如何影响筛选过程。继续以前述示例为例进行说明,假设计算结果用于对邻居节点进行筛选,则:对节点1执行图计算表达式centernode.version《neighbornode.version,将计算结果为真的节点1的邻居节点作为候选对象;对节点2执行图计算表达式centernode.version《neighbornode.version,将计算结果为真的节点2的邻居节点作为候选对象,同理,对节点3执行图计算表达式centernode.version《neighbornode.version,将计算结果为真的节点3的邻居节点作为候选对象。
[0111]
步骤560,根据所述采样模式在所述候选对象中执行采样,得到采样结果。
[0112]
在一些实施例中,该步骤560可以由采样模块260执行。
[0113]
在一些实施例中,确定了候选对象后,便可以根据采样模式在候选对象中执行采样。
[0114]
继续以前述示例为例进行说明:确定的候选对象包括起始节点1和起始节点1的10个1跳邻居节点3、5、6

20,采样模式为均匀采样,则可以在起始节点1的10个1跳邻居节点3、5、6

20中等概率地获取至少部分1跳邻居节点作为采样结果。
[0115]
又一示例:确定的候选对象包括起始节点1,起始节点1的10个1跳邻居节点3、5、6

20和10个2跳邻居节点33、35、36

50,采样模式为meta path采样,且meta path采样所指定的节点间关系为起始节点—转账—第一个节点—转账—第二个节点,则可以在起始节点1的10个1跳邻居节点3、5、6

20和10个2跳邻居节点33、35、36

50中执行前述meta path采样,通过查询节点字段或边字段对应的实例数据以及实例数据间的关系,获取与指定的节点间关系匹配的节点和边,得到采样结果,例如得到采样结果为图路径:节点1—转账—节点6—转账—节点36。
[0116]
图6是根据本说明书另一些实施例所示的图数据采样方法的示例性流程图。
[0117]
在一些实施例中,方法600可以由计算单元(例如全量存储图数据的计算单元或分布式存储多个图分片的多个计算单元中的各计算单元)执行。在一些实施例中,方法600可
以由部署于计算单元(例如全量存储图数据的计算单元或分布式存储多个图分片的多个计算单元中的各计算单元)上的图数据采样系统300实现。
[0118]
方法600的图数据采样可以采用预设的或用户指定的基于对象权重进行采样的采样模式例如带权采样。在方法600中不再对采样模式的设置进行额外描述。
[0119]
如图6所示,该方法600可以包括:步骤610,接收采样请求。
[0120]
在一些实施例中,该步骤610可以由第二采样请求接收模块310执行。
[0121]
关于采样请求的详细内容可以参见步骤510的相关说明,在此不再赘述。
[0122]
步骤620,基于所述采样请求确定图计算表达式。
[0123]
在一些实施例中,该步骤620可以由第二采样参数确定模块320执行。
[0124]
在一些实施例中,还可以基于采样请求确定起始节点。关于基于采样请求确定起始节点和图计算表达式的详细内容可以参见步骤520的相关描述,在此不再赘述。
[0125]
步骤630,在图数据中确定多个初始对象。
[0126]
在一些实施例中,该步骤630可以由第二初始对象确定模块330执行。
[0127]
在图数据中确定多个初始对象的详细内容可以参见步骤530的相关描述,在此不再赘述。
[0128]
步骤640,执行所述图计算表达式。
[0129]
在一些实施例中,该步骤640可以由基于权重计算的图计算表达式执行模块340执行。
[0130]
在一些实施例中,可以通过执行图计算表达式以对多个初始对象中的目标对象的目标属性值执行指定计算,得到各初始对象的权重。关于执行图计算表达式的更多具体内容可以参见图4及其相关说明,此处不再赘述。
[0131]
作为示例,用户指定的起始节点为:centernode=[1];用于对对象进行权重计算的图计算表达式为:log(neighbornode.outdegree);确定的多个初始对象为节点1的所有1跳邻居节点;通过执行图计算表达式log(neighbornode.outdegree),可以从图数据中获取多个初始对象即节点1的所有1跳邻居节点中各个邻居节点的出度取值并计算log(neighbornode.outdegree)得到各个邻居节点对应的权重值。
[0132]
步骤650,根据各初始对象的权重在所述初始对象中执行带权采样,得到采样结果。
[0133]
在一些实施例中,该步骤650可以由带权采样模块350执行。
[0134]
在一些实施例中,得到了多个初始对象中各初始对象的权重后,便可以基于各初始对象的权重在多个初始对象中执行带权采样。
[0135]
继续以前述示例为例进行说明:确定的多个初始对象为节点1的所有1跳邻居节点,以及通过执行图计算表达式得到了各个1跳邻居节点对应的权重值;可以基于各1跳邻居节点对应的权重确定各1跳邻居节点对应的采样概率,例如,对于某个1跳邻居节点,基于该1跳邻居节点对应的权重值与所有1跳邻居节点对应的权重值之和的比值可以确定该1跳邻居节点对应的采样概率;进而可以基于各1跳邻居节点对应的采样概率获取节点1的至少部分1跳邻居节点,以得到采样结果。
[0136]
应当注意的是,上述有关流程和方法的描述仅仅是为了示例和说明,而不限定本
说明书的适用范围。对于本领域技术人员来说,在本说明书的指导下可以对流程和方法进行各种修正和改变。然而,这些修正和改变仍在本说明书的范围之内。例如,对流程和方法中的步骤顺序进行改变,对不同流程和方法中的步骤进行组合等。需要说明的是,上述实施例提供的带权采样可以支持权重值的实时计算,有效节省了预先进行全量计算并存储权重时所需的存储空间。
[0137]
本说明书实施例还提供一种支持自定义表达式的图计算装置,包括至少一个存储介质和至少一个处理器,所述至少一个存储介质用于存储计算机指令;所述至少一个处理器用于执行支持自定义表达式的图计算方法,所述方法可以包括:获取用户自定义的图计算表达式;其中,图计算表达式包括图属性变量以及运算符,所述图属性变量包括对象名以及属性名,对象名包括中心节点、邻居节点、边、有向边起点以及有向边终点中的一种或多种;执行所述图计算表达式,以得到计算结果,其进一步包括:通过所述图属性变量获取图数据中目标对象的目标属性值;其中,对象包括节点和/或边;基于所述运算符对目标对象的目标属性值进行指定计算,得到计算结果。
[0138]
本说明书实施例还提供一种图数据采样装置,包括至少一个存储介质和至少一个处理器,所述至少一个存储介质用于存储计算机指令;所述至少一个处理器用于执行所述计算机指令以实现图数据采样实现,所述方法可以包括:接收采样请求;基于所述采样请求确定采样模式以及图计算表达式;其中,图计算表达式包括图属性变量以及运算符,所述图属性变量包括对象名以及属性名,对象名包括中心节点、邻居节点、边、有向边起点以及有向边终点中的一种或多种;在图数据中确定多个初始对象;执行所述图计算表达式:通过所述图属性变量从所述多个初始对象中获取目标对象的目标属性值;基于所述运算符对目标对象的目标属性值执行指定计算,得到计算结果;基于计算结果对各初始对象进行筛选,得到候选对象;根据所述采样模式在所述候选对象中执行采样,得到采样结果;其中,对象包括节点和/或边。
[0139]
本说明书实施例还提供另一种图数据采样装置,包括至少一个存储介质和至少一个处理器,所述至少一个存储介质用于存储计算机指令;所述至少一个处理器用于执行所述计算机指令以实现另一种图数据采样方法,所述方法可以包括:接收采样请求;基于所述采样请求确定图计算表达式;其中,图计算表达式包括图属性变量以及运算符,所述图属性变量包括对象名以及属性名,对象名包括中心节点、邻居节点、边、有向边起点以及有向边终点中的一种或多种;在图数据中确定多个初始对象;执行所述图计算表达式:通过所述图属性变量从所述多个初始对象中获取目标对象的目标属性值;基于所述运算符对目标对象的目标属性值执行指定计算,得到各初始对象的权重;根据各初始对象的权重在所述初始对象中执行带权采样,得到采样结果;其中,对象包括节点和/或边。
[0140]
本说明书实施例可能带来的有益效果包括但不限于:(1)通过本说明书提出的支持自定义表达式的图计算方法可以支持对图数据进行自定义条件(可以用于过滤)计算、实时权重计算(可以用于带权采样),使得图计算更加灵活和方便;(2)通过本说明书提出的基于支持自定义表达式的图计算方法的图数据采样方法,可以支持灵活方便地执行各种带自定义过滤条件或自定义权重的子图采样策略,采样策略可以包括例如均匀采样、带权采样、限定边类型的meta path采样等等,以实现对复杂的图数据进行采样和/或满足更加多样化的数据处理任务需求;(3)表达式语言提供的图属性变量使用通用的对象名,使得图计算表
达式可以适用于各类图数据;在图计算表达式中引入自定义变量,可以有效提高图计算表达式的复用率,同时增加图采样过程中过滤条件或权重值计算的灵活性。需要说明的是,不同实施例可能产生的有益效果不同,在不同的实施例里,可能产生的有益效果可以是以上任意一种或几种的组合,也可以是其他任何可能获得的有益效果。
[0141]
上文已对基本概念做了描述,显然,对于本领域技术人员来说,上述详细披露仅仅作为示例,而并不构成对本说明书的限定。虽然此处并没有明确说明,本领域技术人员可能会对本说明书进行各种修改、改进和修正。该类修改、改进和修正在本说明书中被建议,所以该类修改、改进、修正仍属于本说明书示范实施例的精神和范围。
[0142]
同时,本说明书使用了特定词语来描述本说明书的实施例。如“一个实施例”、“一实施例”、和/或“一些实施例”意指与本说明书至少一个实施例相关的某一特征、结构或特点。因此,应强调并注意的是,本说明书中在不同位置两次或多次提及的“一实施例”或“一个实施例”或“一个替代性实施例”并不一定是指同一实施例。此外,本说明书的一个或多个实施例中的某些特征、结构或特点可以进行适当的组合。
[0143]
此外,本领域技术人员可以理解,本说明书的各方面可以通过若干具有可专利性的种类或情况进行说明和描述,包括任何新的和有用的工序、机器、产品或物质的组合,或对他们的任何新的和有用的改进。相应地,本说明书的各个方面可以完全由硬件执行、可以完全由软件(包括固件、常驻软件、微码等)执行、也可以由硬件和软件组合执行。以上硬件或软件均可被称为“数据块”、“模块”、“引擎”、“单元”、“组件”或“系统”。此外,本说明书的各方面可能表现为位于一个或多个计算机可读介质中的计算机产品,该产品包括计算机可读程序编码。
[0144]
计算机存储介质可能包含一个内含有计算机程序编码的传播数据信号,例如在基带上或作为载波的一部分。该传播信号可能有多种表现形式,包括电磁形式、光形式等,或合适的组合形式。计算机存储介质可以是除计算机可读存储介质之外的任何计算机可读介质,该介质可以通过连接至一个指令执行系统、装置或设备以实现通讯、传播或传输供使用的程序。位于计算机存储介质上的程序编码可以通过任何合适的介质进行传播,包括无线电、电缆、光纤电缆、rf、或类似介质,或任何上述介质的组合。
[0145]
本说明书各部分操作所需的计算机程序编码可以用任意一种或多种程序语言编写,包括面向对象编程语言如java、scala、smalltalk、eiffel、jade、emerald、c 、c#、vb.net、python等,常规程序化编程语言如c语言、visual basic、fortran2003、perl、cobol2002、php、abap,动态编程语言如python、ruby和groovy,或其他编程语言等。该程序编码可以完全在用户计算机上运行、或作为独立的软件包在用户计算机上运行、或部分在用户计算机上运行部分在远程计算机运行、或完全在远程计算机或处理设备上运行。在后种情况下,远程计算机可以通过任何网络形式与用户计算机连接,比如局域网(lan)或广域网(wan),或连接至外部计算机(例如通过因特网),或在云计算环境中,或作为服务使用如软件即服务(saas)。
[0146]
此外,除非权利要求中明确说明,本说明书所述处理元素和序列的顺序、数字字母的使用、或其他名称的使用,并非用于限定本说明书流程和方法的顺序。尽管上述披露中通过各种示例讨论了一些目前认为有用的发明实施例,但应当理解的是,该类细节仅起到说明的目的,附加的权利要求并不仅限于披露的实施例,相反,权利要求旨在覆盖所有符合本
说明书实施例实质和范围的修正和等价组合。例如,虽然以上所描述的系统组件可以通过硬件设备实现,但是也可以只通过软件的解决方案得以实现,如在现有的处理设备或移动设备上安装所描述的系统。
[0147]
同理,应当注意的是,为了简化本说明书披露的表述,从而帮助对一个或多个发明实施例的理解,前文对本说明书实施例的描述中,有时会将多种特征归并至一个实施例、附图或对其的描述中。但是,这种披露方法并不意味着本说明书对象所需要的特征比权利要求中提及的特征多。实际上,实施例的特征要少于上述披露的单个实施例的全部特征。
[0148]
一些实施例中使用了描述成分、属性数量的数字,应当理解的是,此类用于实施例描述的数字,在一些示例中使用了修饰词“大约”、“近似”或“大体上”来修饰。除非另外说明,“大约”、“近似”或“大体上”表明所述数字允许有
±
20%的变化。相应地,在一些实施例中,说明书和权利要求中使用的数值参数均为近似值,该近似值根据个别实施例所需特点可以发生改变。在一些实施例中,数值参数应考虑规定的有效数位并采用一般位数保留的方法。尽管本说明书一些实施例中用于确认其范围广度的数值域和参数为近似值,在具体实施例中,此类数值的设定在可行范围内尽可能精确。
[0149]
针对本说明书引用的每个专利、专利申请、专利申请公开物和其他材料,如文章、书籍、说明书、出版物、文档等,特此将其全部内容并入本说明书作为参考。与本说明书内容不一致或产生冲突的申请历史文件除外,对本说明书权利要求最广范围有限制的文件(当前或之后附加于本说明书中的)也除外。需要说明的是,如果本说明书附属材料中的描述、定义、和/或术语的使用与本说明书所述内容有不一致或冲突的地方,以本说明书的描述、定义和/或术语的使用为准。
[0150]
最后,应当理解的是,本说明书中所述实施例仅用以说明本说明书实施例的原则。其他的变形也可能属于本说明书的范围。因此,作为示例而非限制,本说明书实施例的替代配置可视为与本说明书的教导一致。相应地,本说明书的实施例不仅限于本说明书明确介绍和描述的实施例。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献