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

图分区、信息推荐及风险控制方法、设备及存储介质与流程

2022-02-22 07:47:05 来源:中国专利 TAG:


1.本技术涉及数据处理技术领域,尤其涉及一种图分区、信息推荐及风险控制方法、设备及存储介质。


背景技术:

2.图分区是并行图计算过程中必不可少的一环。图分区是将一张图g切分成多个图分块(fragment)的过程,之后这些图分块被分配到不同的计算节点进行并行图计算。常用的图分区策略包括边分割(edeg-cut)图分区策略、点分割(vertex-cut)图分区策略以及混合分割(hybrid-cut)图分区策略。
3.其中,edeg-cut图分区策略通过切边的方式将一张图切分成点不相交的多个图分块;vertex-cut图分区策略通过切点的方式将一张图切分成边不相交的多个图分块;hybrid-cut图分区策结合了edge-cut图分区策略和vertex-cut图分区策略,同时通过切边和切点的方式将一张图切分成多个图分块,所得图分块之间的点和边都可以是相交。
4.上述每种图分区策略下都有不同的图分区算法,无论是不同图分区策略下的不同图分区算法还是同一图分区策略下的不同图分区算法,对同一张图g的分区结果一般是不同的,不同图分区结果对并行图计算效率的影响也是不同的,所以如何合理地进行图分区来提升并行图计算效率是亟待解决的问题。


技术实现要素:

5.本技术的多个方面提供一种图分区、信息推荐及风险控制方法、设备及存储介质,用以提高图分区的合理性,进而提高基于图分区结果的并行图计算的效率。
6.本技术实施例提供一种图分区方法,包括:获取目标应用中待处理的图数据,所述图数据包括代表目标应用中数据对象的多个结点和代表数据对象之间关联关系的多条边;对所述图数据进行图分区,得到多个初始图分块;基于所述目标应用对应的图计算代价模型,调整所述多个初始图分块包含的结点和边,以得到所述目标应用需要并行处理的多个目标图分块。
7.本技术实施例还提供一种图分区设备,包括:存储器和处理器;所述存储器用于存储计算机程序;所述处理器,与所述存储器耦合,用于执行所述计算机程序,以用于:获取目标应用中待处理的图数据,所述图数据包括代表目标应用中数据对象的多个结点和代表数据对象之间关联关系的多条边;对所述图数据进行图分区,得到多个初始图分块;基于所述目标应用对应的图计算代价模型,调整所述多个初始图分块包含的结点和边,以得到所述目标应用需要处理的多个目标图分块。
8.本技术实施例还提供一种信息推荐方法,包括:获取网络平台产生的图数据,所述图数据包括代表网络平台中网络用户的第一结点、代表网络平台中网络对象的第二结点以及所述第一结点和所述第二结点之间代表网络用户和网络对象之间关联关系的边;对所述图数据进行图分区,得到多个初始图分块;基于与信息推荐逻辑对应的图计算代价模型,调
整所述多个初始图分块包含的结点和边,以得到多个目标图分块;按照所述信息推荐逻辑对所述多个目标图分块进行并行处理,以向目标网络用户进行网络对象的推荐。
9.本技术实施例还提供一种风险控制方法,包括:获取网络平台产生的图数据,所述图数据包括代表网络平台中账户信息的第一结点、代表网络平台中网络对象的第二结点以及所述第一结点和所述第二结点之间代表账户信息和网络对象之间关联关系的边;对所述图数据进行图分区,得到多个初始图分块;基于与风险控制逻辑对应的图计算代价模型,调整所述多个初始图分块包含的结点和边,以得到多个目标图分块;按照所述风险控制逻辑对所述多个目标图分块进行并行处理,以对所述账户信息和/或网络对象进行风险控制。
10.本技术实施例还体用一种网络服务设备,包括:存储器和处理器;所述存储器用于存储计算机程序;所述处理器,与所述存储器耦合,用于执行所述计算机程序,以用于:获取网络平台产生的图数据,所述图数据包括代表网络平台中网络用户的第一结点、代表网络平台中网络对象的第二结点以及所述第一结点和所述第二结点之间代表网络用户和网络对象之间关联关系的边;对所述图数据进行图分区,得到多个初始图分块;基于与信息推荐逻辑对应的图计算代价模型,调整所述多个初始图分块包含的结点和边,以得到多个目标图分块;按照所述信息推荐逻辑对所述多个目标图分块进行并行处理,以向目标网络用户进行网络对象的推荐。
11.本技术实施例还体用一种风险控制设备,包括:存储器和处理器;所述存储器用于存储计算机程序;所述处理器,与所述存储器耦合,用于执行所述计算机程序,以用于:获取网络平台产生的图数据,所述图数据包括代表网络平台中账户信息的第一结点、代表网络平台中网络对象的第二结点以及所述第一结点和所述第二结点之间代表账户信息和网络对象之间关联关系的边;对所述图数据进行图分区,得到多个初始图分块;基于与风险控制逻辑对应的图计算代价模型,调整所述多个初始图分块包含的结点和边,以得到多个目标图分块;按照所述风险控制逻辑对所述多个目标图分块进行并行处理,以对所述账户信息和/或网络对象进行风险控制。
12.本技术实施例还提供一种存储有计算机程序的计算机可读存储介质,当所述计算机程序被处理器执行时,致使所述处理器实现本技术实施例提供的图分区方法或信息推荐方法或风险控制方法中的步骤。
13.在本技术实施例中,提供一种基于应用驱动的图分区方法,结合每个应用对应的图计算代价模型,对图数据分区得到的初始图分区结果进行调整,使得调整后的图分区结果更加符合应用的特性,进而提高在该应用中进行并行图计算的效率。进一步,可以将本技术实施例基于应用驱动的图分区方法应用到信息推荐或风险控制应用中,有利于提高信息推荐或风险控制的效率。
附图说明
14.此处所说明的附图用来提供对本技术的进一步理解,构成本技术的一部分,本技术的示意性实施例及其说明用于解释本技术,并不构成对本技术的不当限定。在附图中:
15.图1为本技术实施例提供的一种分布式图计算系统的工作原理示意图;
16.图2为本技术示例性实施例提供的一种图分区方法的流程示意图;
17.图3为本技术示例性实施例提供的另一种分布式图计算系统的工作原理示意图;
18.图4a为本技术示例性实施例提供的一种基于图计算代价模型调整初始图分块中包含的点和边的过程示意图;
19.图4b为图4a所示实施例中步骤41的一种实施方式的流程示意图;
20.图4c为图4a所示实施例中步骤42的一种实施方式的流程示意图;
21.图4d为本技术示例性实施例提供的又一种分布式图计算系统的工作原理示意图;
22.图4e为本技术示例性实施例提供的一种信息推荐方法的流程示意图;
23.图4f为本技术示例性实施例提供的一种风险控制方法的流程示意图;
24.图5为本技术示例性实施例提供的一种图分区设备的结构示意图。
具体实施方式
25.为使本技术的目的、技术方案和优点更加清楚,下面将结合本技术具体实施例及相应的附图对本技术技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
26.信息关系在日常生活中是无所不在的。例如,在社交媒体、科学中分子结构关系、电商平台的广告推荐、网页信息等应用场景中存在各种各样的信息关系。图(graph)能够将各种应用场景中的信息关系进行编码,转成一种结构进行存储。图数据结构可以很好的表达数据之间的关联性。图数据结构可表示为:g=(v,e,d),v(vertex)表示顶点或结点,e(edge)表示边,d(data)表示元数据。换句话说,图数据包含结点、结点所连接的边以及丰富的元数据;图数据中的结点表示信息关系中的数据对象,图数据中的边表示其所连接的两个结点代表的数据对象之间的关联关系。在不同应用场景中,结点所表示的数据对象以及边所表示的数据对象之间的关联关系均会有所不同。无论是哪种应用场景,都可以利用图数据来进行数据挖掘和机器学习,例如社区发现、寻找产品和广告的投放用户、给有依赖关系的复杂数据构建模型等都可以使用图数据来完成。
27.图数据的特点是数据量大,通常具有数十亿的结点和边,所以图计算比较耗时。为了提高图计算的效率,可以采用图分区算法将图数据切分为多个图分块,之后利用分布式图计算系统中的计算节点对多个图分块进行并行图计算,从而提高图计算效率。如图1所示,图数据g被切分为n个图分块f_1,...f_n,每个图分块中包含图数据g中的部分结点和部分边;n个图分块f_1,...f_n被分配到分布式图计算系统中的m个计算节点上j_1,

j_m,m个计算节点j_1,

j_m对n个图分块f_1,...f_n进行并行图计算。其中,n、m均是≥1的整数,且m≤n。
28.在本技术实施例中,并不限定对图数据g进行图分区所采用的图分区算法。图分区算法可以采用边分割(edge-cut)图分区策略,也可以采用点分割(vertex-cut)图分区策略,还可以采用混合分割(hybrid-cut)图分区策略。边分割(edge-cut)图分区策略通过切割边的方式将一张图数据切分成点不相交的多个图分块;vertex-cut图分区策略通过切割点的方式将一张图数据切分成边不相交的多个图分块。hybrid-cut图分区策略结合了edge-cut图分区策略和vertex-cut图分区策略,同时允许切边和切点,其所得到的图分块之间点和边都可以是相交。其中,采用edge-cut图分区策略的图分区算法包括但不限于:xtrapulp、流式分图算法(如fennel)或经典图分区算法metis的并行化版本,即parmetis。
采用vertex-cut图分区策略的图分区算法包括但不限于:采用2d-hash的图分区算法(如grid)、ne/distne或流式分图算法(如hdrf)。采用hybrid-cut图分区策略的图分区算法包括但不限于:ginger,即fennel算法的混合(hybrid)版本或mdbgp;其中,mdbgp允许用户给定一组目标权重来进行负载均衡,实现混合分图。这些图分区算法都可用来对图数据g进行图分区,得到n个图分区图分块f_1,...f_n。关于前面列举的各种图分区算法的详细原理可参见现有技术,在此不再赘述。
29.由于图数据的应用场景较多,为了让图分区算法具有普适性,能够适用于大多数应用场景,上面提到的各种图分区算法在设计时会重点考虑大多数应用的通用性。上面提到的各种图分区算法在执行图分区操作时,会重点考虑大多数应用的通用性,但却忽略了每个具体应用的特性,这导致图分区结果对某些应用并不友好,从而影响这些应用中并行图计算的效率。其中,影响并行图计算效率的因素有很多,例如计算节点的处理能力、图分块的数量、在图分块上执行的计算量以及图分块之间的同步量等。其中,计算节点的处理能力以及图分块的数量相对具有通用性,上述具有普适性的各种图分区算法在设计时给予了考虑;但是在图分块上执行的计算量以及图分块之间的同步量作为影响并行图计算效率的两个主要因素,会因为应用的不同而有所不同,这是因为不同应用中的计算需求和通信需求是不同的。
30.基于上述分析,在本技术实施例中,首先针对具体应用定义一个图计算代价模型(cost model),用于刻画该具体应用中影响并行图计算效率的计算和通信模式;进一步通过机器学习的方法得到具体应用对应的图计算代价模型;最后在图计算代价模型的基础上提供一种应用驱动的图分区方法,该图分区方法可结合具体应用的特性,得到更加符合应用特性的图分块,进而提高具体应用中并行图计算的效率。下面对本技术实施例提供的基于应用驱动的图分区方法进行详细说明。
31.图2为本技术示例性实施例提供的一种图分区方法的流程示意图。如图2所示,该方法包括:
32.21、获取目标应用中待处理的图数据,该图数据包括代表目标应用中数据对象的多个结点和代表数据对象之间关联关系的多条边。
33.22、对上述图数据进行图分区,得到多个初始图分块。
34.23、基于目标应用对应的图计算代价模型,调整多个初始图分块包含的结点和边,以得到目标应用需要并行处理的多个目标图分块。
35.在本实施例中,为便于描述和区分,以目标应用为例进行说明。其中,目标应用可以是任何以图数据为基础需要做进一步数据处理的应用,例如可以是用于分析社交关系的应用、用于商品或产品推荐的应用、用于网页排名的应用或用于安全分析的应用,等等。无论是哪种目标应用,目标应用中待处理的图数据中包含多个结点和多条边,多个结点代表目标应用中的多个数据对象,多条边代表多个数据对象之间的关联关系。需要说明的是,根据目标应用的不同,目标应用中待处理的图数据中结点和边所代表的物理含义会有所不同,下面举例说明:
36.例如,若目标应用是用于网页排名的应用,则图数据中的结点代表待排名的网页,图数据中的边代表网页之间的跳转关系。目标应用可基于代表网页以及网页之间的跳转关系的图数据,计算网页之间的排名并输出网页之间的排名结果。
37.又例如,若目标应用是电商平台中用于商品推荐的应用,则图数据中的结点代表电商平台上的用户和商品,对于同一结点或者代表用户或者代表商品,图数据中的边代表用户与商品之间的关联关系,该关联关系包括但不限于:购买关系、浏览关系、收藏关系、咨询关系、投诉关系以及评价关系等。目标应用可基于代表用户、商品以及用户与商品之间的关联关系的图数据,分析用户对商品的购买兴趣,进而向用户推荐其感兴趣的商品。
38.又例如,若目标应用是用于分析社交关系的应用,则图数据中的结点代表相应社交平台上的用户信息,图数据中的边代表不同用户信息之间的关联关系,该关联关系包括但不限于:点赞关系、来自相同社交平台的关系、属于同一用户群的关系、具有共同好友的关系以及转发同一广告或消息的关系等等。目标应用可基于代表用户以及用户之间的关联关系的图数据,分析用户之间存在的社交关系。
39.对于目标应用来说,以图数据为基础做进一步数据处理,但是考虑到图数据的数据量较大,所以在对图数据做进一步数据处理之前,可以图数据进行图分区处理得到多个图分块,然后采用分布式图计算系统以图分块为单位做并行图计算,其中,以图分块为单位进行图计算,同时采用并行处理方式可提高图计算的效率。具体地,在本实施例中,可以采用图分区算法对图数据进行图分区,得到多个初始图分块;进一步,基于目标应用对应的图计算代价模型,调整多个初始图分块包含的结点和边,得到符合目标应用特性的多个目标图分块;之后,可利用图3所示的分布式图计算系统中的多个计算节点对多个目标图分块进行并行图计算,以得到目标应用所需的数据结果。在图3中,g表示图数据,f_1,

f_n表示多个初始图分块,l_1,

l_n表示多个目标图分块;m表示参与并行图计算的计算节点的数量。其中,m、n均是≥2的整数,且m≤n。在此说明,在图3中,以目标图分块的数量与初始图分块的数量相同为例进行图示,但并不限于此。目标图分块的数量可以与初始图分块的数量相同,也可以不相同。目标图分块的数量可以大于初始图分块的数量,也可以小于初始图分块的数量,具体视调整策略而定,对此不做限定。
40.通过对并行图计算过程进行研究发现,多个图分块之间的整体图计算代价相对均衡,是提高并行图计算效率的主要因素。基于此,在本技术一些可选实施例中,可基于目标应用对应的图计算代价模型,以均衡多个初始图分块之间的整体图计算代价为目标,调整多个初始图分块包含的结点和边,以得到整体图计算代价满足均衡性要求的多个目标图分块。在得到整体图计算代价满足均衡性要求的多个目标图分块之后,在对这些目标图分块进行并行图计算时,彼此之间的计算代价相对均衡,有利于提高并行图计算效率。在本实施例中,并不对整体图计算代价的均衡性要求做限定,可根据应用场景灵活设定。
41.进一步,每一轮并行图计算包括两个阶段,开始于计算阶段,紧跟着是通信阶段。基于此,对任一图分块而言,其整体图计算代价可通过在该图分块上执行的计算代价和该图分块与其它图分块之间的同步代价进行衡量。一个图分块与其它图分块之间的同步代价主要体现为该图分块与其它图分块之间进行同步所需的通信代价。基于此,可通过下述公式(1)表达任一图分块的整体图计算代价。
[0042][0043]
在上述公式(1)中,fi表示第i个图分块,i的取值是从1到n的整数,n是初始图分块的数量;ca(fi)表示图分块fi的整体图计算代价,表示图分块fi的计算代价;
表示图分块fi的通信代价。
[0044]
基于上述可知,提高并行图计算效率可在以下两个方面进行优化:其一是让在不同图分块上执行的计算代价达到负载均衡;其二是最小化不同图分块之间的同步代价。基于此,可以预先训练包含计算代价模型ha和通信代价模型ga的图计算代价模型。其中,计算代价模型ha主要体现目标应用在分布式环境下的计算模式,可用来优化图分块之间的计算代价;通信代价模型ga主要用于体现目标应用在分布式环境下的通信模式,可用来优化图分块之间的通信代价;其中,a表示目标应用。其中,计算代价模型ha和通信代价模型ga是与初始图分块中结点的度量变量有关的模型,给定一个结点v,可以利用计算代价模型ha和通信代价模型ga独立地计算该结点v引起的计算代价和通信代价;进而,根据一个图分块中各结点的计算代价和通信代价,可得到图分块的计算代价和通信代价;进而得到图分块的整体图计算代价。
[0045]
基于上述计算代价模型ha和通信代价模型ga,以均衡多个初始图分块之间的整体图计算代价为目标,调整多个初始图分块包含的结点和边的过程,如图4a所示,包括下述步骤41和步骤42所示的两个阶段:
[0046]
步骤41:基于计算代价模型ha,以均衡多个初始图分块之间的计算代价为目标,对多个初始图分块包含的结点和边进行移动,以得到多个中间图分块;
[0047]
步骤42:基于通信代价模型ga,以均衡多个中间图分块之间的通信代价为目标,在多个中间图分块之间重新分配主结点,以得到整体图计算代价满足均衡性要求的多个目标图分块。
[0048]
关于步骤41的一种实施方式,如图4b所示,包括如下步骤:
[0049]
步骤411,根据计算代价模型,计算多个初始图分块的计算代价。需要说明的是,目标应用的不同,在初始图分块上执行的计算模式会有所不同,相应地,用于衡量初始图分块的计算代价的计算代价模型也会有所不同。其中,计算代价模型不同,计算初始图分块的计算代价的过程也就不同。
[0050]
在一可选实施例中,计算代价模型ha是与结点出入度信息相关的多元回归模型。基于此,根据计算代价模型ha计算多个初始图分块的计算代价的过程包括:对每个初始图分块,获取该初始图分块中各非虚拟结点的出入度信息;将该初始图分块中各非虚拟结点的出入度信息输入多元回归模型,得到该初始图分块中各非虚拟结点的计算代价;对该初始图分块中各非虚拟结点的计算代价求和,得到该初始图分块的计算代价。对于任一结点,如果存在于至少两个初始图分块中,即该结点存在至少两个副本,则将其中一个定义为非虚拟结点,将其余副本称为虚拟结点。在计算初始图分块的计算代价的过程中,只考虑非虚拟结点,可避免重复计算,有利于提高计算准确性。
[0051]
其中,上述计算初始图分块的计算代价的过程可表达为下述公式(2):
[0052][0053]
在上述公式(2)中,v表示图分块fi中的结点,χ(v)表示结点v的度量变量,具体表示结点v的出入度信息,ha(χ(v))表示与结点v的出入度信息相关的多元回归模型,即计算代价模型。其中,结点v的出入度信息包括但不限于:结点v在其所属图分块中的入度结点v在其所属图分块中的出度结点v在整个图数据g中的入度以及结点v在整
个图数据g中的出度等。
[0054]
需要说明的是,根据目标应用的不同,计算代价模型ha的实现形式会有所不同。例如,在一种应用场景中,目标应用采用共同邻居(common neighbor,cn)计算模式,在cn中需要计算每对结点的公共邻居数,这种计算方式广泛应用于链接预测、商品推荐和欺诈检测等目标应用中。在cn场景中,计算代价模型ha可实现为h
cn
,又例如,在另一种应用场景中,目标应用采用三角形计数(triangle counting,tc)计算模式,在tc中需要计算图分块中所有的三角形,这种计算方式广泛应用于聚类、循环检测和传递性等目标应用中。在tc场景中,计算代价模型ha可实现为h
tc
,其中,α,β和γ是预先训练出来的多项回归模型中的权重系数,这些系数的取值均大于0。
[0055]
步骤412,根据多个初始图分块的计算代价,将多个初始图分块划分为第一初始图分块和第二初始图分块。其中,第一初始图分块是指计算负载相对较重的初始图分块,第二初始图分块是指计算负载相对较轻的初始图分块。其中,第一初始图分块可以是一个或多个,第二初始图分块可以是一个或多个。
[0056]
可选地,可以设定一计算代价阈值,根据该计算代价阈值和多个初始图分块的计算代价,将多个初始图分块划分为第一初始图分块和第二初始图分块。例如,将计算代价大于预设的计算代价阈值的初始图分块视为第一初始图分块;将计算代价小于或等于计算代价阈值的初始图分块视为第二初始图分块。
[0057]
或者
[0058]
可选地,可以根据多个初始图分块的计算代价,计算出计算代价平均值,即计算多个初始图分块的计算代价的平均值;之后,以计算代价平均值为判断标准,将计算代价大于该计算代价平均值的初始图分块作为第一初始图分块,并将其余初始图分块(即计算代价小于或等于该计算代价平均值的初始图分块)作为第二初始图分块。
[0059]
步骤413,将第一初始图分块中的部分结点及其相连的边迁移至第二初始图分块中,以在第一初始图分块和第二初始图分块之间进行计算负载的均衡,得到计算负载均衡后的多个中间图分块。
[0060]
在本实施例中,并不限定将第一初始图分块中的部分结点及其相连的边迁移至第二初始图分块中的具体实施方式,凡是能够对不同图分块中的计算代价起到均衡作用的迁移方式均适用于本技术实施例。下面举例说明:
[0061]
在一可选实施例s1中,对图数据进行图分区得到多个初始图分块所采用的图分区算法是采用edeg-cut图分区策略的算法,例如xtrapulp、fennel或parmetis。在采用edeg-cut图分区策略的算法中,被分割出的结点可称为以边分割的结点,简称为e-分割的结点。关于e-分割的结点的定义为:对于任一图分块中的任一结点,如果图数据中所有入射到该结点的边都包含在该图分块中,则该结点属于e-分割的结点。在指定图分区算法采用edeg-cut图分区策略的情况下,上述将第一初始图分块中的部分结点及其相连的边迁移至第二初始图分块中的实施方式包括:以第一初始图分块除去待迁移结点后的计算代价小于或等于计算代价平均值为目标,选择第一初始图分块中的待迁移结点;以第二初始图分块中添加新结点后的计算代价小于或等于计算代价平均值为目标,将待迁移结点及其相邻的边迁移至第二初始图分块中,以得到多个中间图分块。在实施例s1中,待迁移结点相邻的边是指
图数据中入射到待迁移结点的所有边。其中,凡是满足上述两个目标的具体迁移方式均适用于本技术实施例,对此不做具体限定。另外,在迁移过程中,也不限定具体将哪个第一初始图分块中哪个或哪些待迁移结点及其相连的边迁移到哪个或哪些第二初始图分块中。在此说明,当所有待迁移结点均被迁移至第二初始图分块中时,或者当找不到添加新结点后的计算代价小于或等于计算代价平均值的第二初始图分块时,该迁移操作终止或结束。另外,需要说明的是,对于待迁移结点来说,在迁移前属于e-分割的结点,在被迁移到第二初始图分块中之后仍属于e-分割的结点。
[0062]
进一步,在上述迁移过程中,若添加新结点后的计算代价小于或等于计算代价平均值的第二初始图分块的数量不足,有可能导致部分待迁移结点无法迁移至第二初始图分块中;或者,若第一初始图分块中存在与大量边连接的待迁移结点,无论将该待迁移结点及其相连的边迁移到哪个图分块中都会导致该图分块的计算代价大于计算代价平均值,则这类待迁移结点将无法被成功迁移至第二初始图分块中。鉴于上述两种情况,在得到中间图分块的过程中,在上述迁移操作终止或结束时,还可以判断待迁移结点中是否还存在无法迁移至第二初始图分块中的剩余结点;若判断结果为存在,则可以将剩余结点从以边分割的结点分割成多个以顶点分割的结点(其中,将以顶点分割的结点简称为v-分割结点),即将剩余的e-分割结点分割成多个v-分割结点,并以v-分割结点为迁移单位将v-分割结点所连接的边迁移至第二初始图分块中,以得到多个中间图分块。在该情况下,本实施例提供的图分区算法属于混合分割(hybrid-cut)型的图分区算法。
[0063]
其中,将v-分割结点所连接的边迁移至第二初始图分块中,意味着将剩余结点的部分边迁移至第二初始图分块中;另外,将v-分割结点所连接的边迁移至第二初始图分块中的过程,仍要保证增加新边后的第二初始图分块的计算代价小于或等于计算代价平均值。再者,并不限定将v-分割结点所连接的边迁移至哪个第二初始图分块中,凡是满足在增加新边后其计算代价小于或等于计算代价平均值的第二初始图分块均适用于本技术实施例。在一可选实施例中,可以从第二初始图分块中,选择包含v-分割结点和/或其所连接的边所连接的另一结点的第二初始图分块,并将v-分割结点所连接的边迁移至所述被选择出的第二初始图分块中。在此说明,当所有剩余结点都被分割并进行迁移后,上述分割并迁移的操作可终止或结束。
[0064]
在一可选实施例s2中,对图数据进行图分区得到多个初始图分块所采用的图分区算法是采用vertex-cut图分区策略的算法,例如grid、ne/distne或hdrf。在采用vertex-cut图分区策略的算法中,被分割出的结点可称为以顶点分割的结点,简称为v-分割的结点。关于v-分割的结点的定义为:对于任一图分块中的任一结点,如果所有入射到该结点的边并未全部包含在该图分块中,则该结点属于v-分割的结点。在指定图分区算法采用vertex-cut图分区策略的情况下,上述将第一初始图分块中的部分结点及其相连的边迁移至第二初始图分块中的实施方式包括:以第一初始图分块除去待迁移结点后的计算代价小于或等于计算代价平均值为目标,选择第一初始图分块中的待迁移结点;以第二初始图分块中添加新结点后的计算代价小于或等于计算代价平均值为目标,将待迁移结点及其相邻的边迁移至包含有待迁移结点的第二初始图分块中,以得到多个中间图分块。在实施例s2中,待迁移结点相邻的边是指待迁移结点所属第一初始图分块中包含的入射到该待迁移结点的所有边。其中,凡是满足上述两个目标的具体迁移方式均适用于本技术实施例,对此不
做具体限定。另外,在迁移过程中,也不限定具体将哪个第一初始图分块中哪个或哪些待迁移结点及其相连的边迁移到哪个或哪些第二初始图分块中。在此说明,当所有待迁移结点均被迁移至第二初始图分块中时,或者当找不到添加新结点后的计算代价小于或等于计算代价平均值的第二初始图分块时,该迁移操作终止或结束。
[0065]
进一步可选地,在得到中间图分块之后,还可以通过将中间图分块中的v-分割结点合并为e-分割结点来减少图分块的计算量,使在不同图分块上执行的计算量更加均衡。具体地,在每次迭代中,可以针对多个中间图分块中计算成本值最小的中间图分块,以计算成本值最小的中间图分块中的结点从v-分割结点转换为e-分割结点后的计算成本值小于或等于计算成本平均值为目标,将计算成本值最小的中间图分块中的至少一个结点从v-分割结点转换为e-分割结点。其中,将v-分割结点转换为e-分割点的方式可以是:以移动或复制的方式,将计算成本值最小的中间图分块中至少一个结点所有缺失的边补全,以将至少一个结点从v-分割结点转换为e-分割结点。
[0066]
更进一步,为了减少v-分割结点产生的计算成本,除了将v-分割结点转换为e-分割结点之外,还可以将该结点在其它中间图分块中的副本标记为虚拟结点,这样在其它图分块中将不再重复计算虚拟结点,有利于减轻工作量。
[0067]
在上述实施例中,通过将v-分割结点转换为e-分割结点,可以起到将计算在不同图分块之间重新分配的作用,有利于均衡不同图分块之间的计算代价。另外,需要说明的是,上述将v-分割结点转换为e-分割结点的过程可以循环执行,直至在将v-分割结点转换为e-分割结点后中间图分块的计算代价不再满足小于或等于计算代价平均值的要求时终止。
[0068]
无论采用何种方式,在得到多个中间图分块之后,可以执行步骤42描述的操作,即基于通信代价模型,以均衡多个中间图分块之间的通信代价为目标,在多个中间图分块之间重新分配主结点,以得到整体图计算代价满足均衡性要求的多个目标图分块。与计算代价不同,通信代价主要有多个中间图分块中存在多副本的结点产生。在本实施例中,重点考虑主结点引起的通信代价。对一个中间图分块而言,其通信代价是该中间图分块中存在的各主结点的通信代价之和。关于主结点的定义:对于任一结点,若其在多个中间图分块中存在多个副本(即该结点存在于至少两个中间图分块中),将其中一个副本定义为主结点,将其余副本定义为主结点的镜像。例如,假设一个结点v1同时存在于中间图分块f1和中间图分块f2中,则若将中间图分块f1中的结点v1定义为主结点,则中间图分块f2中的结点v1可视为主节点的镜像。主结点的通信代价主要是在其存在镜像的情况下产生的,主结点可以接收其镜像发送的更新消息,以及将所有更新消息聚合后返回给其镜像,这就是产生通信代价的过程。每一轮并行图计算包括两个阶段,开始于计算阶段,紧跟着是通信阶段,两个阶段在时间上略有重叠但重叠时间非常有限,所以在计算通信代价的过程中并不考虑与计算阶段的重叠部分。
[0069]
关于步骤42的一种实施方式,如图4c所示,包括如下步骤:
[0070]
步骤421、对于多个中间图分块中的任一结点,若所述结点存在于至少两个中间图分块中,则根据通信代价模型计算所述结点的通信代价。
[0071]
步骤422、基于上述结点的通信代价,计算至少两个中间图分块中的所述结点分别作为主结点时对应的整体图计算代价。
[0072]
步骤423、将最小整体图计算代价对应的中间图分块上的所述结点设置为主结点,以得到多个目标图分块。
[0073]
在步骤421中,首先要确定存在于至少两个中间图分块中的结点,即确定存在副本或镜像的结点,对任意一个存在副本或镜像的结点v,有必要为其确定主结点。对任一存在副本或镜像的结点v,为了确定其主结点,可根据通信代价模型计算该结点v的通信代价。
[0074]
需要说明的是,目标应用的不同,图分块或结点之间的通信模式会有所不同,相应地,用于衡量图分块或结点的通信代价的通信代价模型也会有所不同。其中,通信代价模型不同,根据通信代价模型计算结点的通信代价的过程也就不同。
[0075]
在一可选实施例中,通信代价模型是与结点的出入度信息或结点的镜像数量相关的多元回归模型。基于此,根据通信代价模型计算结点v的通信代价的过程包括:将结点v在图数据g中的出度信息和图数据g的平均出入度信息d输入通信代价模型,得到该结点v的通信代价。或者,将结点v在图数据中的入度信息和结点v的镜像数量r(v)输入通信代价模型,得到结点v的通信代价。
[0076]
需要说明的是,根据目标应用的不同,通信代价模型ga的实现形式会有所不同。例如,在一种应用场景中,目标应用采用cn计算模式,在cn场景中,通信代价模型ga可实现为g
cn
,又例如,在另一种应用场景中,目标应用采用tc计算模式,在tc场景中,通信代价模型ga可实现为g
tc
,其中,δ和γ是预先训练出来的多项回归模型中的权重系数,这些系数的取值均大于0。其中,i(v)是e-分割结点的指示符,如果结点v不是e-分割结点,则i(v)的取值为1,反之,i(v)的取值为0。
[0077]
在步骤422中,基于结点v的通信代价,可计算上述至少两个中间图分块中的结点v分别作为主结点时对应的整体图计算代价。例如,以结点v为例,将结点v所存在的中间图分块记为f
i1
,...,f
ik
,则将中间图分块f
i1
,...,f
ik
上的结点v分别当作主结点时产生的通信代价分别记为相应地,在结点v所在任一中间图分块上的结点v被当作主结点时,该中间图分块所对应的整体图计算代价可定义为:结点v作为主结点时在该中间图分块上产生的通信代价、该中间图分块上已分配的其它主结点在该中间图分块上产生的通信代价以及该中间图分块的计算代价之和。则在中间图分块f
i1
,...,f
ik
上的结点v分别作为主结点时,所对应的整体图计算代价为:其中,表示中间图分块fj上的结点v作为主结点时中间图分块fj所对应的整体图计算代价;表示中间图分块fj上的结点v作为主结点时中间图分块fj的计算代价;表示中间图分块fj上已分配的其它主结点产生的通信代价;表示中间图分块fj上的结点v作为主结点时结点v在中间图分块fj上产生的通信代价。其中,j的取值是i1,...,ik,i1,...,ik是≥1的整数。
[0078]
其中,对中间图分块fj而言,其通信代价可表示为即中间图分块fj的通信代价为其上所有主结点产生的通信代价之和;ga(χ(u))表示主结点u在中间图分块fj上产生的通信代价。
[0079]
在步骤423中,在得到中间图分块f
i1
,...,f
ik
上的结点v分别作为主结点时所对应的整体图计算代价之后,可以将最小整体图计算代价对应的中间图分块上的结点v设置为主结点,其它中间图分块上的结点v设置为主结点的镜像,从而得到多个目标图分块。其中,通过对主结点进行重分配,可最小化图分块之间的整体图计算代价,有利于进一步提高对多个目标图分块进行并行图计算时的效率。
[0080]
在本实施例中,图计算代价模型可体现目标应用的特性,利用该图计算代价模型调整多个初始图分块包含的结点和边,可得到符合目标应用特性的多个目标图分块,进而对符合目标应用特性的目标图分块进行并行图计算,有利于提高并行图计算的效率。
[0081]
在本技术实施例中,在使用图计算代价模型之前,可预先训练目标应用对应的图计算代价模型。在本实施例中,定义一组结点的度量变量,这组度量变量能够影响大部分应用场景下并行图计算过程中的计算代价和通信代价。例如,这组度量变量包括但不限于:结点在其所属图分块中的入度、结点在其所属图分块中的出度、结点在整个图数据中的入度、结点在整个图数据中的出度、整个图数据的平均出入度以及结点在图数据中的镜像数量等。基于此,训练目标应用对应的图计算代价模型的过程包括:首先,从目标应用中历史图数据对应的图分区运行日志中,采集训练样本,该训练样本包含从图分区运行日志中获取到的多个历史结点的度量变量及其引起的图计算代价;其次,利用机器学习的方法对训练样本进行模型训练,以得到目标应用对应的图计算代价模型。
[0082]
在一可选实施例中,本技术实施例训练的图计算代价模型包括计算代价模型和通信代价模型。具体地,一种训练计算代价模型的过程包括:从目标应用中历史图数据对应的图分区运行日志中,选择参与计算的历史结点的度量变量及其计算代价,作为用于训练计算代价模型的训练样本;定义计算代价模型对应的多元回归函数,该多元回归函数是前面提到的度量变量的多元回归函数;利用参与计算的历史结点的度量变量及其计算代价,对计算代价模型对应的多元回归函数进行训练,以得到计算代价模型对应的多元回归函数的权重系数,即得到计算代价模型。可选地,对于cn场景,可以选择有入射边的结点作为训练样本,只有这些结点才会参与计算。其中,在训练计算代价模型过程中,历史结点的度量变量可以是历史结点的出入度信息,例如历史结点w在其所属图分块中的入度历史结点w在其所属图分块中的出度历史结点w在整个图数据中的入度以及历史结点w在整个图数据中的出度等,但不限于此。
[0083]
相应地,一种训练通信代价模型的过程包括:从目标应用中历史图数据对应的图分区运行日志中,选择作为主结点的历史结点的度量变量及其通信代价,作为用于训练通信代价模型的训练样本;定义通信代价模型对应的多元回归函数,该多元回归函数是前面提到的度量变量的多元回归函数;利用作为主结点的历史结点的度量变量及其通信代价,对通信代价模型对应的多元回归函数进行训练,以得到通信代价模型对应的多元回归函数的权重系数,即得到通信代价模型。之所以选择主结点作为训练样本是因为通信开销基本都在主结点上。其中,在训练通信代价模型过程中,历史结点的度量变量可以是历史结点在图数据中的出入度信息或历史结点的镜像数量,例如历史结点w在整个图数据中的入度历史结点w在整个图数据中的出度以及历史结点w在整个图数据中的镜像数量r(w),但不限于此。
[0084]
在上述模型训练过程中,可以将历史结点对应的度量变量代入计算代价模型或通信代价模型对应的多项式函数中,计算得到历史结点对应的计算代价或通信代价;然后,不断调整多项式函数中的权重系统,使得计算出的计算代价或通信代价无限接近训练样本中历史结点的计算代价或通信代价。可选地,在模型过程中,可以使用相对均方差均值作为模型训练的损失函数,以并以计算出的计算代价或通信代价与训练样本中历史结点的计算代价或通信代价之间的相对均方差均值最小为模型训练的结束条件。其中,以计算代价模型ha为例,模型训练的结束条件可表示为:d
ha
表示计算代价模型ha的训练样本集,|d
ha
|表示训练样本集中训练样本的数量;χ(wk)表示训练样本集中历史结点w在t时刻对应的一组度量变量;tk表示训练样本集中历史结点w在t时刻的实际计算代价;ω={ω1,...,ω
γ
},γ表示扩展出的所有回归项的集合;xi(w)表示历史结点w的一组度量变量中第i个度量变量;ωj表示计算代价模型中第j个回归项的权重系数,j={1,...,|γ|}。或者,在模型过程中,可以使用相对均方差均值作为模型训练的损失函数,并设定相对均方差误差范围,当计算出的计算代价或通信代价与训练样本中历史结点的计算代价或通信代价之间的相对均方差均值位于设定相对均方差误差范围之内时,模型训练过程结束。或者,在模型训练过程中,也可以使用迭代次数作为模型训练结束的条件,例如可以设定最大迭代次数,当模型训练的迭代次数达到最大迭代次数时,模型训练过程结束。
[0085]
进一步,在上述计算代价模型或通信代价模型的训练过程中,可以采用随机梯度下降算法,对训练样本进行训练,得到计算代价模型或通信代价模型。进而,为后续基于计算代价模型和通信代价模型的图分区方法提供模型基础。
[0086]
在此说明,在对图数据进行图分区得到多个初始图分块所采用的图分区算法采用edge-cut图分区策略的情况下,本技术实施例利用目标应用对应的图计算代价模型,对采用edge-cut图分区策略得到的初始图分块进行调整可得到一种混合分割的图分区方法,称为pare2h;相应地,在对图数据进行图分区得到多个初始图分块所采用的图分区算法采用vertex-cut图分区策略的情况下,本技术实施例利用目标应用对应的图计算代价模型,对采用vertex-cut图分区策略得到的初始图分块进行调整可得到另一种混合分割的图分区方法,称为pare2h。在pare2h中,利用edge-cut图分区策略将图数据g分割为初始图分块f_1,f_2,...,f_n;利用图计算代价模型(g,h)将初始图分块f_1,f_2,...,f_n调整更适配目标应用的新的图分块。在parv2h中,利用vertex-cut图分区策略将图数据g分割为初始图分块f_1,f_2,...,f_n;利用图计算代价模型(g,h)将初始图分块f_1,f_2,...,f_n调整更适配目标应用的新的图分块。
[0087]
其中,在计算代价模型h的引导下,通过调整初始图分块中的点和边的分配可平衡各个图分块的计算开销;在通讯代价模型g的引导下,通过调整主节点(master)的分配可平衡各个图分块之间的通讯开销。
[0088]
需要说明的是,在pare2h和parv2h中,初始图分块可以是随机产生的图分块,也可以是由其他图分区算法所生成的,对此不做限定,使得本实施例提供的pare2h和parv2h具有更好的通用性。
[0089]
另外,需要说明的是,本技术上述实施例提供的图分区方法可以由图3所示分布式图计算系统中负责进行并行计算的多个计算节点实施,多个计算节点之间相互配合对其分配到初始图分块进行调整以得到目标图分块,进而对目标图分块进行并行图计算,提高并行图计算的效率。或者,也可以如图4d所示,在分布式图计算系统中部署专门负责图分区的节点,由该专用节点实施本技术上述实施例提供的图分区方法,该专用节点与图4d所示系统中的多个计算节点通信连接,负责将多个目标图分块提供给多个计算节点,以供多个计算节点对多个目标图分块进行并行图计算,提高并行图计算的效率。
[0090]
在此说明,本技术上述实施例提供的基于应用驱动的图分区方法可应用到多种应用场景中,例如可应用到分析社交关系,商品或产品推荐,网页排名或安全分析等应用场景中。下面以本技术实施例基于应用驱动的图分区方法在信息推荐和风险控制中的应用为例进行详细说明。
[0091]
图4e为本技术示例性实施例提供的一种信息推荐方法的流程示意图。如图4e所示,该方法包括:
[0092]
41e、获取网络平台产生的图数据,该图数据包括代表网络平台中网络用户的第一结点、代表网络平台中网络对象的第二结点以及第一结点和第二结点之间代表网络用户和网络对象之间关联关系的边。
[0093]
42e、对上述图数据进行图分区,得到多个初始图分块。
[0094]
43e、基于与信息推荐逻辑对应的图计算代价模型,调整多个初始图分块包含的结点和边,以得到多个目标图分块。
[0095]
44e、按照信息推荐逻辑对多个目标图分块进行并行处理,以向目标网络用户进行网络对象的推荐。
[0096]
随着网络技术的发展,网络平台越来越多,例如各种电商平台、各种游戏平台、各种社交平台等。这些网络平台可以向网络用户提供所需的网络对象,且网络用户与网络平台所提供的网络对象之间存在一定关联关系。
[0097]
以网络平台是电商平台为例,电商平台可以向其网络用户(如消费者)提供电脑、衣服、日用品、食品等各种商品,也可以向其网络用户提供童装店铺、某品牌店铺或鲜花店铺等各种店铺,还可以向其网络用户提供洗车服务、家政服务、云存储服务、售后服务等各种服务。对电商平台而言,其所提供的商品、店铺或服务即为与网络用户存在关联关系的网络对象;相应地,网络用户与网络对象之间的关联关系包括浏览、查看详情、关注、加购物车、购买以及评论中的至少一种。例如,网络用户可以浏览某个商品、店铺或服务,也可以查看某个商品、店铺或服务的详情,还可以关注某个商品、店铺或服务,也可以将某个商品加入购物车,还可以购买某个商品或服务,也可以对某个商品、店铺或服务发表评论。
[0098]
以网络平台是游戏平台为例,游戏平台可以向其网络用户(如游戏玩家)提供不同的游戏、游戏道具或游戏场景等各种商品,也可以向其网络用户提供续命、加血或买游戏币等各种游戏服务。对游戏平台而言,其所提供的商品或服务即为与网络用户存在关联关系的网络对象;相应地,网络用户与网络对象之间的关联关系包括浏览、查看详情、关注、加购物车、购买以及评论中的至少一种。例如,网络用户可以浏览某个游戏道具,也可以查看某个游戏道具的使用详情,还可以关注某个游戏道具,也可以将某个游戏道具加入购物车,还可以购买某个游戏道具,也可以对某个游戏道具发表评论。
[0099]
在本实施例中,为了让网络用户获得更加适合、更加需要或更加个性化的网络对象,以网络平台产生的图数据为基础,采用信息推荐逻辑向网络用户推荐网络对象。其中,网络平台产生的图数据包括代表网络用户的第一结点、代表网络对象的第二结点以及第一结点和第二节点之间的边,第一结点和第二结点之间的边代表网络用户与网络对象之间的关联关系,例如可以是但不限于:浏览关系、查看详情的关系、关注关系、加购物车关系、购买关系或评论关系。
[0100]
网络平台中网络用户和网络对象的数量较多,所产生的图数据的数据量也较大,通常具有数十亿的结点和边,基于图数据的信息推荐过程会比较耗时,用户感受可能较差。为了提高基于图数据的信息推荐过程的效率,提高用户感受,在本实施例中,可以将网络平台产生的图数据切分为多个图分块,以图分块为单位,按照信息推荐逻辑对多个图分块进行并行处理,达到向目标网络用户推荐网络对象的目的,从而提高信息推荐效率。
[0101]
进一步,在本实施例中,对网络平台产生的图数据进行图分区之后,并不是直接按照所采用的信息推荐逻辑对图分区得到的多个初始图分块进行并行处理以向目标网络用户进行网络对象的推荐,而是针对所采用的信息推荐逻辑预先构建图计算代价模型,在得到多个初始图分块之后,基于该图计算代价模型,以均衡多个初始图分块之间的整体图计算代价为目标,调整对多个初始图分块包含的结点和边,以得到整体图计算代价满足均衡性要求的多个目标图分块;进而,按照所采用的信息推荐逻辑对调整后得到的多个目标图分块进行并行处理,以向目标网络用户进行网络对象的推荐。在得到整体图计算代价满足均衡性要求的多个目标图分块之后,在按照所采用的信息推荐逻辑对这些目标图分块进行并行图计算时,彼此之间的计算代价相对均衡,有利于提高并行处理的效率,进而提高信息推荐的效率。
[0102]
在一可选实施例中,对任一图分块而言,其整体图计算代价可通过在该图分块上执行的计算代价和该图分块与其它图分块之间的同步代价进行衡量。一个图分块与其它图分块之间的同步代价主要体现为该图分块与其它图分块之间进行同步所需的通信代价。在本实施例中,针对所采用的信息推荐逻辑构建与其适应的图计算代价模型,该图计算代价模型包括计算代价模型ha和通信代价模型ga,基于计算代价模型ha和通信代价模型ga计算每个初始图分块中各结点引起的计算代价和通信代价;进而,根据每个初始图分块中各结点的计算代价和通信代价,可得到每个初始图分块的计算代价和通信代价;进而,得到每个初始图分块的整体图计算代价。如果多个初始图分块的整体图计算代价不均衡,则以均衡多个初始图分块之间的整体图计算代价为目标,通过不断调整多个初始图分块包含的结点和边,直至得到整体图计算代价相对均衡的多个目标图分块。之后,再按照所采用的信息推荐逻辑对这些目标图分块进行并行图计算,以向目标网络用户进行网络对象的推荐,由于多个图分块彼此之间的整体图计算代价相对均衡,有利于提高并行处理的效率,进而提高信息推荐的效率。关于计算代价模型ha和通信代价模型ga,以及基于计算代价模型ha和通信代价模型ga以均衡多个初始图分块之间的整体图计算代价为目标,调整多个初始图分块包含的结点和边以得到多个目标图分块的过程可参见前述实施例,在此不再赘述。
[0103]
在本实施例中,并不限定向网络用户推荐网络对象所使用的信息推荐逻辑,例如可以采用但不限于:基于内容的推荐逻辑、基于协同过滤的推荐逻辑、基于关联规则的推荐逻辑、基于知识的推荐逻辑或组合推荐逻辑。其中,基于内容的推荐逻辑主要考虑与网络用
户存在关联关系的历史网络对象,基于网络对象之间的匹配程度向网络用户进行推荐。基于协同过滤的推荐逻辑一般采用最近邻技术,找到网络用户的最近邻居用户,利用最近邻居用户对网络对象的喜好程度来预测网络用户对网络对象的喜好程度,根据这一喜好程度向网络用户进行推荐。基于关联规则的推荐逻辑是以关联规则为基础,分析与网络用户存在关联关系的历史网络对象之间的相关性,基于这种相关性向网络用户进行推荐;例如,通过分析网络用户在购买某些商品的时候有多大倾向去购买另外一些商品,基于这种倾向性向网络用户进行商品推荐。其中,基于知识的推荐逻辑,在一定程度上可以看作是一种推理技术,主要是基于网络用户的相关资料通过逻辑分析进行推荐的方式,网络用户的相关资料可以是任何能够支持推理的知识结构,例如可以是网络用户的需求表示等。其中,组合推荐逻辑可以是两种或两种以上推荐逻辑的组合,例如可以是基于内容的推荐逻辑和基于协同过滤的推荐逻辑的组合。
[0104]
其中,对于不同信息推荐逻辑,计算阶段和通信阶段会有所不同,即在每个图分块上执行的计算代价和图分块之间的同步代价会有所不同。在本实施例中,可以针对所采用的信息推荐逻辑,收集网络平台采用信息推荐逻辑所产生的历史图数据,从该历史图数据对应的图分区运行日志中,采集训练样本,训练与该信息推荐逻辑对应或适配的图计算代价模型。关于模型训练的过程可参见前述实施例,在此不再赘述。
[0105]
在本实施例中,并不限定按照信息推荐逻辑对目标图分块进行处理的过程,具体可根据信息推荐逻辑而定,关于本实施例可采用的信息推荐逻辑的介绍可参见上文,在此不再赘述。
[0106]
在本实施例中,通过预先训练与所采用的信息推荐逻辑对应的图计算代价模型,在对图数据进行图分区后,利用该图计算代价模型对图分区得到的多个初始图分块进行调整,使得调整得到的多个目标图分块更加符合所采用的信息推荐逻辑的特性,有利于提高按照所采用的信息推荐逻辑对多个目标图分块并行处理的效率,进而有利于提高信息推荐的效率。
[0107]
图4f为本技术示例性实施例提供的一种风险控制方法的流程示意图。如图4f所示,该方法包括:
[0108]
41f、获取网络平台产生的图数据,该图数据包括代表网络平台中账户信息的第一结点、代表网络平台中网络对象的第二结点以及第一结点和第二结点之间代表账户信息和网络对象之间关联关系的边。
[0109]
42f、对上述图数据进行图分区,得到多个初始图分块。
[0110]
43f、基于与风险控制逻辑对应的图计算代价模型,调整多个初始图分块包含的结点和边,以得到多个目标图分块。
[0111]
44f、按照风险控制逻辑对多个目标图分块进行并行处理,以对账户信息和/或网络对象进行风险控制。
[0112]
随着网络技术的发展,网络平台越来越多,例如各种电商平台、各种游戏平台、各种社交平台等。这些网络平台可以向网络用户提供所需的网络对象,且网络用户与网络平台所提供的网络对象之间存在一定关联关系。
[0113]
以网络平台是电商平台为例,电商平台可以向其网络用户(如消费者)提供电脑、衣服、日用品、食品等各种商品,也可以向其网络用户提供童装店铺、某品牌店铺或鲜花店
铺等各种店铺,还可以向其网络用户提供洗车服务、家政服务、云存储服务、售后服务等各种服务。对电商平台而言,其所提供的商品、店铺或服务即为与网络用户存在关联关系的网络对象;相应地,网络用户与网络对象之间的关联关系包括浏览、查看详情、关注、加购物车、购买以及评论中的至少一种。例如,网络用户可以浏览某个商品、店铺或服务,也可以查看某个商品、店铺或服务的详情,还可以关注某个商品、店铺或服务,也可以将某个商品加入购物车,还可以购买某个商品或服务,也可以对某个商品、店铺或服务发表评论。
[0114]
以网络平台是游戏平台为例,游戏平台可以向其网络用户(如游戏玩家)提供不同的游戏、游戏道具或游戏场景等各种商品,也可以向其网络用户提供续命、加血或买游戏币等各种游戏服务。对游戏平台而言,其所提供的商品或服务即为与网络用户存在关联关系的网络对象;相应地,网络用户与网络对象之间的关联关系包括浏览、查看详情、关注、加购物车、购买以及评论中的至少一种。例如,网络用户可以浏览某个游戏道具,也可以查看某个游戏道具的使用详情,还可以关注某个游戏道具,也可以将某个游戏道具加入购物车,还可以购买某个游戏道具,也可以对某个游戏道具发表评论。
[0115]
在实际应用中,这些网络平台中可能发生一些作弊、有损平台或网络用户的行为。例如,某个店铺可能采用刷单方式为自己提高销售量、排名或信誉度;又例如某个网络用户可能注册多个账户多次领取平台优惠或商家优惠,给平台或商家造成损失。为了识别这种不良行为,本技术实施例提供一种以网络平台产生的图数据为基础,采用风险控制逻辑对网络平台中的账号信息和/或网络对象进行风险控制的方法,用于识别网络平台上存在的不符合相关规定的网络对象或账户信息,进而发现不符合相关规定的网络行为。其中,网络平台产生的图数据包括代表网络用户的第一结点、代表网络对象的第二结点以及第一结点和第二节点之间的边,第一结点和第二结点之间的边代表网络用户与网络对象之间的关联关系,例如可以是但不限于:浏览关系、查看详情的关系、关注关系、加购物车关系、购买关系或评论关系。
[0116]
网络平台中网络用户和网络对象的数量较多,所产生的图数据的数据量也较大,通常具有数十亿的结点和边,基于图数据的风险控制过程会比较耗时。为了提高基于图数据的风险控制过程的效率,在本实施例中,可以将网络平台产生的图数据切分为多个图分块,以图分块为单位,按照风险控制逻辑对多个图分块进行并行处理,达到对账号信息和/或网络对象进行风险控制的目的,从而提高风险控制效率。
[0117]
进一步,在本实施例中,对网络平台产生的图数据进行图分区之后,并不是直接按照所采用的风险控制逻辑对图分区得到的多个初始图分块进行并行处理以对账号信息和/或网络对象进行风险控制,而是针对所采用的风险控制逻辑预先构建图计算代价模型,在得到多个初始图分块之后,基于该图计算代价模型,以均衡多个初始图分块之间的整体图计算代价为目标,调整对多个初始图分块包含的结点和边,以得到整体图计算代价满足均衡性要求的多个目标图分块;进而,按照所采用的风险控制逻辑对调整后得到的多个目标图分块进行并行处理,以向对账号信息和/或网络对象进行风险控制。在得到整体图计算代价满足均衡性要求的多个目标图分块之后,在按照所采用的风险控制逻辑对这些目标图分块进行并行图计算时,彼此之间的计算代价相对均衡,有利于提高并行处理的效率,进而提高风险控制的效率。
[0118]
在一可选实施例中,对任一图分块而言,其整体图计算代价可通过在该图分块上
执行的计算代价和该图分块与其它图分块之间的同步代价进行衡量。一个图分块与其它图分块之间的同步代价主要体现为该图分块与其它图分块之间进行同步所需的通信代价。在本实施例中,针对所采用的风险控制逻辑构建与其适应的图计算代价模型,该图计算代价模型包括计算代价模型ha和通信代价模型ga,基于计算代价模型ha和通信代价模型ga计算每个初始图分块中各结点引起的计算代价和通信代价;进而,根据每个初始图分块中各结点的计算代价和通信代价,可得到每个初始图分块的计算代价和通信代价;进而,得到每个初始图分块的整体图计算代价。如果多个初始图分块的整体图计算代价不均衡,则以均衡多个初始图分块之间的整体图计算代价为目标,通过不断调整多个初始图分块包含的结点和边,直至得到整体图计算代价相对均衡的多个目标图分块。之后,再按照所采用的风险控制逻辑对这些目标图分块进行并行图计算,以对账号信息和/或网络对象进行风险控制,由于多个图分块彼此之间的整体图计算代价相对均衡,有利于提高并行处理的效率,进而提高风险控制的效率。关于计算代价模型ha和通信代价模型ga,以及基于计算代价模型ha和通信代价模型ga以均衡多个初始图分块之间的整体图计算代价为目标,调整多个初始图分块包含的结点和边以得到多个目标图分块的过程可参见前述实施例,在此不再赘述。
[0119]
在本实施例中,并不限定对账号信息和/或网络对象进行风险控制所使用的风险控制逻辑,可以根据应用需求灵活设定。例如,可以采用聚合算法识别出与同一网络对象发生关联且来自同一详细地址(或同一局域网络)的账号信息,作为存在风险的账号信息,进一步,还可以将该网络对象识别为存在风险的网络对象。又例如,也可以将在较短时间内(例如一周内)大批量购买或关注同一网络对象(如店铺或商品)的账号信息作为存在风险的账号信息,进一步,还可以将该网络对象识别为存在风险的网络对象。
[0120]
其中,对于不同风险控制逻辑,计算阶段和通信阶段会有所不同,即在每个图分块上执行的计算代价和图分块之间的同步代价会有所不同。在本实施例中,可以针对所采用的风险控制逻辑,收集网络平台采用该风险控制逻辑所产生的历史图数据,从该历史图数据对应的图分区运行日志中,采集训练样本,训练与该风险控制逻辑对应或适配的图计算代价模型。关于模型训练的过程可参见前述实施例,在此不再赘述。
[0121]
在本实施例中,并不限定按照风险控制逻辑对目标图分块进行处理的过程,具体可根据风险控制逻辑而定,关于本实施例可采用的风险控制逻辑的介绍可参见上文,在此不再赘述。
[0122]
在本实施例中,通过预先训练与所采用的风险控制逻辑对应的图计算代价模型,在对图数据进行图分区后,利用该图计算代价模型对图分区得到的多个初始图分块进行调整,使得调整得到的多个目标图分块更加符合所采用的风险控制逻辑的特性,有利于提高按照所采用的风险控制逻辑对多个目标图分块并行处理的效率,进而有利于提高风险控制的效率。
[0123]
需要说明的是,上述实施例所提供方法的各步骤的执行主体均可以是同一设备,或者,该方法也由不同设备作为执行主体。比如,步骤411至步骤413的执行主体可以为设备a;又比如,步骤411和412的执行主体可以为设备a,步骤413的执行主体可以为设备b;等等。
[0124]
另外,在上述实施例及附图中的描述的一些流程中,包含了按照特定顺序出现的多个操作,但是应该清楚了解,这些操作可以不按照其在本文中出现的顺序来执行或并行执行,操作的序号如411、412等,仅仅是用于区分开各个不同的操作,序号本身不代表任何
的执行顺序。另外,这些流程可以包括更多或更少的操作,并且这些操作可以按顺序执行或并行执行。需要说明的是,本文中的“第一”、“第二”等描述,是用于区分不同的消息、设备、模块等,不代表先后顺序,也不限定“第一”和“第二”是不同的类型。
[0125]
图5为本技术示例性实施例提供的一种图分区设备的结构示意图。如图5所示,该图分区设备包括:存储器51和处理器52。
[0126]
存储器51,用于存储计算机程序,并可被配置为存储其它各种数据以支持在图分区设备上的操作。这些数据的示例包括用于在图分区设备上操作的任何应用程序或方法的指令,消息,图数据,图分块等。
[0127]
处理器52,与存储器51耦合,用于执行存储器51中的计算机程序,以用于:获取目标应用中待处理的图数据,所述图数据包括代表目标应用中数据对象的多个结点和代表数据对象之间关联关系的多条边;对所述图数据进行图分区,得到多个初始图分块;基于所述目标应用对应的图计算代价模型,调整所述多个初始图分块包含的结点和边,以得到所述目标应用需要处理的多个目标图分块。
[0128]
在一可选实施例中,处理器52在基于目标应用对应的图计算代价模型,调整多个初始图分块包含的结点和边时,具体用于:基于所述目标应用对应的图计算代价模型,以均衡所述多个初始图分块之间的整体图计算代价为目标,调整所述多个初始图分块包含的结点和边,以得到整体图计算代价满足均衡性要求的多个目标图分块。
[0129]
进一步可选地,上述目标应用对应的图计算代价模型包括计算代价模型和通信代价模型。基于此,处理器52在得到整体图计算代价满足均衡性要求的多个目标图分块时,具体用于:基于所述计算代价模型,以均衡所述多个初始图分块之间的计算代价为目标,对所述多个初始图分块包含的结点和边进行移动,以得到多个中间图分块;以及基于所述通信代价模型,以均衡所述多个中间图分块之间的通信代价为目标,在所述多个中间图分块之间重新分配主结点,以得到整体图计算代价满足均衡性要求的多个目标图分块。
[0130]
在一可选实施例中,处理器52在得到多个中间图分块时,具体用于:根据所述计算代价模型,计算所述多个初始图分块的计算代价;根据所述多个初始分块的计算代价,将所述多个初始图分块划分为第一初始图分块和第二初始图分块;将所述第一初始图分块中的部分结点及其相连的边迁移至所述第二初始图分块中,以得到所述多个中间图分块。
[0131]
进一步可选地,上述计算代价模型是与结点出入度信息相关的多元回归模型。基于此,处理器52在根据所述计算代价模型,计算所述多个初始图分块的计算代价时,具体用于:对每个初始图分块,将所述初始图分块中各非虚拟结点的出入度信息输入所述多元回归模型,得到所述各非虚拟结点的计算代价;对所述各非虚拟结点的计算代价求和,得到所述初始图分块的计算代价。
[0132]
进一步可选地,处理器52在根据所述多个初始图分块的计算代价,将所述多个初始图分块划分为第一初始图分块和第二初始图分块时,具体用于:根据所述多个初始图分块的计算代价,计算出计算代价平均值;将计算代价大于所述计算代价平均值的初始图分块作为第一初始图分块,并将其余初始图分块作为第二初始图分块。
[0133]
在一可选实施例中,对图数据进行图分区以得到多个初始图分块所采用的图分区算法是采用边分割图分区策略的算法,则处理器52在将所述第一初始图分块中的部分结点及其相连的边迁移至所述第二初始图分块中,以得到所述多个中间图分块时,具体用于:以
所述第一初始图分块除去待迁移结点后的计算代价小于或等于计算代价平均值为目标,选择所述第一初始图分块中的待迁移结点;以所述第二初始图分块中添加新结点后的计算代价小于或等于计算代价平均值为目标,将所述待迁移结点及其相邻的边迁移至所述第二初始图分块中,以得到所述多个中间图分块。
[0134]
更进一步,处理器52在得到所述多个中间图分块的过程中,还用于:若所述待迁移结点中存在无法迁移至所述第二初始图分块中的剩余结点,则将所述剩余结点从以边分割的结点分割成多个以顶点分割的结点,并将所述以顶点分割的结点所连接的边迁移至所述第二初始图分块中,以得到所述多个中间图分块。
[0135]
更进一步,处理器52在将所述以顶点分割的结点所连接的边迁移至第二初始图分块中时,具体用于:从所述第二初始图分块中,选择包含所述以顶点分割的结点和/或其所连接的边所连接的另一结点的第二初始图分块,并将所述以顶点分割的结点所连接的边迁移至所述被选择出的第二初始图分块中。
[0136]
在一可选实施例中,对图数据进行图分区以得到多个初始图分块所采用的图分区算法是采用顶点分割图分区策略的算法,则处理器52在将所述第一初始图分块中的部分结点及其相连的边迁移至所述第二初始图分块中,以得到所述多个中间图分块时,具体用于:以所述第一初始图分块除去待迁移结点后的计算代价小于或等于计算代价平均值为目标,选择所述第一初始图分块中的待迁移结点;以所述第二初始图分块中添加新结点后的计算代价小于或等于计算代价平均值为目标,将所述待迁移结点及其相邻的边迁移至包含有所述待迁移结点的第二初始图分块中,以得到所述多个中间图分块。
[0137]
进一步可选地,处理器52在得到所述多个中间图分块之后,还用于:针对所述多个中间图分块中计算成本值最小的中间图分块,以所述计算成本值最小的中间图分块中的结点从以顶点分割的结点转换为以边分割的结点后的计算成本值小于或等于计算成本平均值为目标,将所述计算成本值最小的中间图分块中的至少一个结点从以顶点分割的结点转换为以边分割的结点。
[0138]
更进一步,处理器52在将所述计算成本值最小的中间图分块中的至少一个结点从以顶点分割的结点转换为以边分割的结点时,具体用于:以移动或复制的方式,将所述计算成本值最小的中间图分块中至少一个结点所有缺失的边补全,以将所述至少一个结点从以顶点分割的结点转换为以边分割的结点。
[0139]
在一可选实施例中,处理器52在基于所述通信代价模型,以均衡所述多个中间图分块之间的通信代价为目标,在所述多个中间图分块之间重新分配主结点,以得到整体图计算代价满足均衡性要求的多个目标图分块时,具体用于:对于所述多个中间图分块中的任一结点,若所述结点存在于至少两个中间图分块中,则根据所述通信代价模型计算所述结点的通信代价;基于所述结点的通信代价,计算存在于所述至少两个中间图分块中的所述结点分别作为主结点时对应的整体图计算代价;将最小整体图计算代价对应的中间图分块上的所述结点设置为主结点,以得到所述多个目标图分块。
[0140]
进一步可选地,上述通信代价模型为与结点的出入度信息或结点的镜像数量相关的多元回归模型。基于此,处理器52在根据通信代价模型计算所述结点的通信代价时,具体用于:将所述结点在所述图数据中的出度信息和所述图数据的平均出入度信息输入所述通信代价模型,得到所述结点的通信代价;或者,将所述结点在所述图数据中的入度信息和所
述结点的镜像数量输入所述通信代价模型,得到所述结点的通信代价。
[0141]
在一可选实施例中,处理器52还用于:从所述目标应用中历史图数据对应的图分区运行日志中,采集训练样本;利用机器学习的方法对训练样本进行模型训练,以得到图计算代价模型。
[0142]
进一步可选地,图计算代价模型包括计算代价模型和通信代价模型。基于此,处理器52在从所述目标应用中历史图数据对应的图分区运行日志中,采集训练样本时,具体用于:从所述图分区运行日志中,选择参与计算的历史结点的度量变量及其计算代价,作为用于训练计算代价模型的训练样本;以及从所述图分区运行日志中,选择作为主结点的历史结点的度量变量及其通信代价,作为用于训练通信代价模型的训练样本。相应地,处理器52在利用所述训练样本进行模型训练,以得到所述图计算代价模型时,具体用于:定义所述计算代价模型对应的多元回归函数,利用参与计算的历史结点的度量变量及其计算代价,对所述计算代价模型对应的多元回归函数进行训练,以得到所述计算代价模型对应的多元回归函数的权重系数;以及定义所述通信代价模型对应的多元回归函数,利用作为主结点的历史结点的度量变量及其通信代价,对所述通信代价模型对应的多元回归函数进行训练,以得到所述通信代价模型对应的多元回归函数的权重系数。
[0143]
进一步,如图5所示,该图分区设备还包括:通信组件53、显示器54、电源组件55、音频组件56等其它组件。图5中仅示意性给出部分组件,并不意味着图分区设备只包括图5所示组件。另外,图5中虚线框内的组件为可选组件,而非必选组件,具体可视图分区设备的产品形态而定。本实施例的图分区设备可以实现为台式电脑、笔记本电脑等终端设备,也可以是常规服务器、云服务器或服务器阵列等服务端设备。若本实施例的图分区设备实现为台式电脑、笔记本电脑等终端设备,可以包含图5中虚线框内的组件;若本实施例的图分区设备实现为常规服务器、云服务器或服务器阵列等服务端设备,则可以不包含图5中虚线框内的组件。
[0144]
相应地,本技术实施例还提供一种存储有计算机程序的计算机可读存储介质,计算机程序被处理器执行时,致使处理器实现上述图分区方法实施例中的各步骤。
[0145]
本技术实施例还提供一种网络服务设备,该网络服务设备的结构与图5所示图分区设备的结构相同或类似,故不再图示。本实施例提供的网络服务设备与图5所示图分区设备的区别在于:处理器执行存储器中存储的计算机程序所实现的功能有所不同。本实施例提供的网络服务设备,其处理器执行存储器中存储的计算机程序,以用于:
[0146]
获取网络平台产生的图数据,所述图数据包括代表网络平台中网络用户的第一结点、代表网络平台中网络对象的第二结点以及所述第一结点和所述第二结点之间代表网络用户和网络对象之间关联关系的边;对所述图数据进行图分区,得到多个初始图分块;基于与信息推荐逻辑对应的图计算代价模型,调整所述多个初始图分块包含的结点和边,以得到多个目标图分块;按照所述信息推荐逻辑对所述多个目标图分块进行并行处理,以向目标网络用户进行网络对象的推荐。
[0147]
关于上述各功能的详细实现过程,可参见前述各实施例中相同或相应部分的描述,在此不再赘述。
[0148]
相应地,本技术实施例还提供一种存储有计算机程序的计算机可读存储介质,计算机程序被处理器执行时,致使处理器实现上述信息推荐方法实施例中的各步骤。
[0149]
本技术实施例还提供一种风险控制设备,该风险控制设备的结构与图5所示图分区设备的结构相同或类似,故不再图示。本实施例提供的风险控制设备与图5所示图分区设备的区别在于:处理器执行存储器中存储的计算机程序所实现的功能有所不同。本实施例提供的风险控制设备,其处理器执行存储器中存储的计算机程序,以用于:
[0150]
获取网络平台产生的图数据,所述图数据包括代表网络平台中账户信息的第一结点、代表网络平台中网络对象的第二结点以及所述第一结点和所述第二结点之间代表账户信息和网络对象之间关联关系的边;对所述图数据进行图分区,得到多个初始图分块;基于与风险控制逻辑对应的图计算代价模型,调整所述多个初始图分块包含的结点和边,以得到多个目标图分块;按照所述风险控制逻辑对所述多个目标图分块进行并行处理,以对所述账户信息和/或网络对象进行风险控制。
[0151]
关于上述各功能的详细实现过程,可参见前述各实施例中相同或相应部分的描述,在此不再赘述。
[0152]
相应地,本技术实施例还提供一种存储有计算机程序的计算机可读存储介质,计算机程序被处理器执行时,致使处理器实现上述风险控制方法实施例中的各步骤。
[0153]
上述实施例中的存储器可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(sram),电可擦除可编程只读存储器(eeprom),可擦除可编程只读存储器(eprom),可编程只读存储器(prom),只读存储器(rom),磁存储器,快闪存储器,磁盘或光盘。
[0154]
上述实施例中的通信组件被配置为便于通信组件所在设备和其他设备之间有线或无线方式的通信。通信组件所在设备可以接入基于通信标准的无线网络,如wifi,2g、3g、4g/lte、5g等移动通信网络,或它们的组合。在一个示例性实施例中,通信组件经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件还可以包括近场通信(nfc)模块,射频识别(rfid)技术,红外数据协会(irda)技术,超宽带(uwb)技术,蓝牙(bt)技术等。
[0155]
上述实施例中的显示器包括屏幕,其屏幕可以包括液晶显示器(lcd)和触摸面板(tp)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。
[0156]
上述实施例中的电源组件,为电源组件所在设备的各种组件提供电力。电源组件可以包括电源管理系统,一个或多个电源,及其他与为电源组件所在设备生成、管理和分配电力相关联的组件。
[0157]
上述实施例中的音频组件,可被配置为输出和/或输入音频信号。例如,音频组件包括一个麦克风(mic),当音频组件所在设备处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器或经由通信组件发送。在一些实施例中,音频组件还包括一个扬声器,用于输出音频信号。
[0158]
本领域内的技术人员应明白,本技术的实施例可提供为方法、系统、或计算机程序产品。因此,本技术可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实
施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
[0159]
本技术是参照根据本技术实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0160]
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0161]
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0162]
在一个典型的配置中,计算设备包括一个或多个处理器(cpu)、输入/输出接口、网络接口和内存。
[0163]
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flash ram)。内存是计算机可读介质的示例。
[0164]
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
[0165]
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
[0166]
以上所述仅为本技术的实施例而已,并不用于限制本技术。对于本领域技术人员来说,本技术可以有各种更改和变化。凡在本技术的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本技术的权利要求范围之内。
再多了解一些

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

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

相关文献