随机游走、基于集群的随机游走方法、装置以及设备制造方法及图纸

技术编号:21629558 阅读:36 留言:0更新日期:2019-07-17 11:17
本说明书实施例公开了随机游走、基于集群的随机游走方法、装置以及设备,方案包括:获取图数据包含的各节点的信息,根据各节点的信息生成反映节点及其相邻节点之间的对应关系的哈希表,根据哈希表生成随机序列,实现在图数据中的随机游走;该方案可以既适用于集群也适用于单机。

Random Walk, Cluster-based Random Walk Methods, Devices and Equipment

【技术实现步骤摘要】
随机游走、基于集群的随机游走方法、装置以及设备
本说明书涉及计算机软件
,尤其涉及随机游走、基于集群的随机游走方法、装置以及设备。
技术介绍
随着计算机和互联网技术的迅速发展,很多业务都可以在网上进行,图计算是处理社交方面的网上业务的一种常用手段。例如,对于社交风控业务中的账户欺诈识别:每个用户分别作为一个节点,若两个用户之间存在转账关系,则对应的两个节点之间存在一条边,边可以是无向的,也可以是根据转账方向定义了方向的;以此类推,可以得到包含多个节点和多条边的图数据,进而基于图数据进行图计算以实现风控。随机游走算法是图计算中比较基础和重要的一环,其为上层复杂算法提供支持。在现有技术中,一般采用这样的随机游走算法:在数据库中随机读取图数据包含的一个节点,再继续在该数据库中随机读取该节点的一个相邻节点,以此类推,实现在图数据中的随机游走。基于现有技术,需要能够应用于大规模图数据的更为高效的随机游走方案。
技术实现思路
本说明书实施例提供随机游走、基于集群的随机游走方法、装置以及设备,用以解决如下技术问题:需要能够应用于大规模图数据的更为高效的随机游走方案。为解决上述技术问题,本说明书实施例是这样实现的:本说明书实施例提供的一种基于集群的随机游走方法,包括:所述集群获取图数据包含的各节点的信息;根据所述各节点的信息,生成哈希表,所述哈希表的键包括所述节点的标识,值包括所述节点的相邻节点的标识;根据所述哈希表,生成随机序列,所述随机序列反映在所述图数据中的随机游走。本说明书实施例提供的一种随机游走方法,包括:获取根据图数据包含的各节点的信息生成的哈希表,所述哈希表的键包括所述节点的标识,值包括所述节点的相邻节点的标识;根据所述哈希表,生成随机序列,所述随机序列反映在所述图数据中的随机游走。本说明书实施例提供的一种基于集群的随机游走装置,所述装置属于所述集群,包括:获取模块,获取图数据包含的各节点的信息;第一生成模块,根据所述各节点的信息,生成哈希表,所述哈希表的键包括所述节点的标识,值包括所述节点的相邻节点的标识;第二生成模块,根据所述哈希表,生成随机序列,所述随机序列反映在所述图数据中的随机游走。本说明书实施例提供的一种随机游走装置,包括:获取模块,获取根据图数据包含的各节点的信息生成的哈希表,所述哈希表的键包括所述节点的标识,值包括所述节点的相邻节点的标识;生成模块,根据所述哈希表,生成随机序列,所述随机序列反映在所述图数据中的随机游走。本说明书实施例提供的一种基于集群的随机游走设备,所述设备属于所述集群,包括:至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够:获取图数据包含的各节点的信息;根据所述各节点的信息,生成哈希表,所述哈希表的键包括所述节点的标识,值包括所述节点的相邻节点的标识;根据所述哈希表,生成随机序列,所述随机序列反映在所述图数据中的随机游走。本说明书实施例提供的一种随机游走设备,包括:至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够:获取根据图数据包含的各节点的信息生成的哈希表,所述哈希表的键包括所述节点的标识,值包括所述节点的相邻节点的标识;根据所述哈希表,生成随机序列,所述随机序列反映在所述图数据中的随机游走。本说明书实施例采用的上述至少一个技术方案能够达到以下有益效果:有利于减少对原始保存图数据的数据库的访问,哈希表在生成后无需依赖该数据库,通过哈希表能够快速索引节点的相邻节点,该方案能够适用于大规模图数据且效率较高,在基于集群实施该方案的情况下,还能够进一步地提高效率。附图说明为了更清楚地说明本说明书实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1为本说明书的方案在一种实际应用场景下涉及的一种整体架构示意图;图2为本说明书实施例提供的一种基于集群的随机游走方法的流程示意图;图3为本说明书实施例提供的一种实际应用场景下,基于集群的哈希表生成流程示意图;图4为本说明书实施例提供的一种实际应用场景下,基于集群的随机序列生成流程示意图;图5为本说明书实施例提供的一种随机游走方法的流程示意图;图6为本说明书实施例提供的对应于图2的一种基于集群的随机游走装置的结构示意图;图7为本说明书实施例提供的对应于图5的一种随机游走装置的结构示意图。具体实施方式本说明书实施例提供随机游走、基于集群的随机游走方法、装置以及设备。为了使本
的人员更好地理解本说明书中的技术方案,下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本说明书实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。本说明书的方案既适用于集群,也适用于单机。在集群下对于大规模图数据的处理效率更高,原因在于:可以拆分任务(比如,数据读取任务、数据同步任务等),进而由集群中的多个机器并行执行被分配给自己的一部分任务。以下各实施例主要基于集群场景进行说明。方案涉及的集群可以有一个或者多个,以图1为例,涉及了两个集群。图1为本说明书的方案在一种实际应用场景下涉及的一种整体架构示意图。该整体架构中,主要涉及三部分:服务器集群、工作机集群、数据库。数据库保存有图数据,供集群读取,服务器集群与工作机集群相互配合,根据从数据库读取的数据,实现在图数据中的随机游走。图1中的架构是示例性的,并非唯一。比如,方案可以涉及一个集群,该集群中包含至少一个调度机和多个工作机;再比如,方案也可以涉及一个工作机集群和一个服务器;等等;方案涉及的机器相互配合,实现在图数据中的随机游走。下面对本说明书的方案进行详细说明。图2为本说明书实施例提供的一种基于集群的随机游走方法的流程示意图。图2中各步骤由集群中的至少一个机器(或者机器上的程序)执行,不同步骤的执行主体可以不同。图2中的流程包括以下步骤:S202:所述集群获取图数据包含的各节点的信息。在本说明书实施例中,节点的信息可以包括:节点的标识、节点的相邻节点的标识(以下以此为例)、或者标识以外的能够指示节点的相邻节点的信息等。各节点的信息可以是一次性获取的,也可以是分多次获取的。一般地,原始的图数据保存于数据库中,在这种情况下,需要通过访问数据库,读取得到各节点的信息。为了避免重复读取数据增加数据库的负担,集群中的多个机器可以分别读取不重复的一部分节点的信息,进一步地,多个机器可以并行读取数据库,以快速获取节点的信息。例如,可以由工作机集群中的各工作机并行地、分别从数据库读取一部分节点的信息并进行处理,再将处理后得到的数据同步至服务器集群。或者,各工作机也可以将读取的节点的信息,直接同步至服务器集群,本文档来自技高网
...

【技术保护点】
1.一种基于集群的随机游走方法,包括:所述集群获取图数据包含的各节点的信息;根据所述各节点的信息,生成哈希表,所述哈希表的键包括所述节点的标识,值包括所述节点的相邻节点的标识;根据所述哈希表,生成随机序列,所述随机序列反映在所述图数据中的随机游走。

【技术特征摘要】
1.一种基于集群的随机游走方法,包括:所述集群获取图数据包含的各节点的信息;根据所述各节点的信息,生成哈希表,所述哈希表的键包括所述节点的标识,值包括所述节点的相邻节点的标识;根据所述哈希表,生成随机序列,所述随机序列反映在所述图数据中的随机游走。2.如权利要求1所述的方法,所述集群包括服务器集群和工作机集群;所述集群获取图数据包含的各节点的信息,具体包括:所述工作机集群从数据库读取图数据包含的各节点的相邻节点的标识,其中,每个工作机读取一部分节点的相邻节点的标识。3.如权利要求2所述的方法,所述根据所述各节点的信息,生成哈希表,具体包括:各所述工作机分别根据自己读取标识的相邻节点及其对应节点的标识,生成非全量的哈希表;所述工作机集群将各所述非全量的哈希表向所述服务器集群同步;所述服务器集群根据各所述非全量的哈希表,得到全量的哈希表。4.如权利要求3所述的方法,所述根据所述哈希表,生成随机序列前,所述方法还包括:所述服务器集群将所述全量的哈希表向各所述工作机同步,以便各所述工作机根据所述全量的哈希表,生成随机序列。5.如权利要求2所述的方法,所述根据所述哈希表,生成随机序列,具体包括:所述工作机在所述各节点的标识中,随机确定一个标识,作为目标节点的标识;以所述目标节点的标识为键,在所述哈希表中索引得到对应的值,所述对应的值包括所述目标节点的相邻节点的标识;确定所述对应的值包括的相邻节点的标识的数量;随机确定一个小于所述数量的非负整数,并获取所述对应的值包括的第所述非负整数个相邻节点的标识;通过将该第所述非负整数个相邻节点重新作为目标节点进行迭代计算,生成由依次得到的各目标节点的标识构成的随机序列。6.如权利要求5所述的方法,所述对应的值存储于数组,所述目标节点的第n个相邻节点的标识为该数组的第n个元素,n从0开始计数;所述非负整数记作j,所述获取所述对应的值包括的第所述非负整数个相邻节点的标识,具体包括:通过读取该数组的第j个元素,获取所述目标节点的第j个相邻节点的标识。7.如权利要求5所述的方法,所述生成由依次得到的各目标节点的标识构成的随机序列,具体包括:当依次得到的各目标节点总数量达到预设的随机游走步数时,生成由所述依次得到的各目标节点的标识构成的随机序列。8.如权利要求2所述的方法,所述生成随机序列,具体包括:各所述工作机分别生成随机序列,直至生成的随机序列总数量达到设定阈值。9.如权利要求5所述的方法,所述方法还包括:所述工作机若本地已有的所述哈希表丢失,则重新从所述服务器集群获取。10.一种随机游走方法,包括:获取根据图数据包含的各节点的信息生成的哈希表,所述哈希表的键包括所述节点的标识,值包括所述节点的相邻节点的标识;根据所述哈希表,生成随机序列,所述随机序列反映在所述图数据中的随机游走。11.一种基于集群的随机游走装置,所述装置属于所述集群,包括:获取模块,获取图数据包含的各节点的信息;第一生成模块,根据所述各节点的信息,生成哈希表,所述哈希表的键包括所述节点的标识,值包括所述节点的相邻节点的标识;第二生成模块,根据所述哈希表,生成随机序列,所述随机序列反映在所述图数据中的随机游走。12.如权利要求11所述的装置,所述集群包括服务器集群和工作机集群;所述获取模块获取图数据包含的各节点的信息,具体包括:所述工作机集群从数据库读取图数据包含的各节点的相邻节点的标识,其中,每个...

【专利技术属性】
技术研发人员:曹绍升杨新星周俊
申请(专利权)人:阿里巴巴集团控股有限公司
类型:发明
国别省市:开曼群岛,KY

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1