CN110019975B - 随机游走、基于集群的随机游走方法、装置以及设备 - Google Patents

随机游走、基于集群的随机游走方法、装置以及设备 Download PDF

Info

Publication number
CN110019975B
CN110019975B CN201710932612.8A CN201710932612A CN110019975B CN 110019975 B CN110019975 B CN 110019975B CN 201710932612 A CN201710932612 A CN 201710932612A CN 110019975 B CN110019975 B CN 110019975B
Authority
CN
China
Prior art keywords
node
hash table
identifier
cluster
random
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
Application number
CN201710932612.8A
Other languages
English (en)
Other versions
CN110019975A (zh
Inventor
曹绍升
杨新星
周俊
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Advanced New Technologies Co Ltd
Advantageous New Technologies Co Ltd
Original Assignee
Advanced New Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Advanced New Technologies Co Ltd filed Critical Advanced New Technologies Co Ltd
Priority to CN201710932612.8A priority Critical patent/CN110019975B/zh
Priority to TW107128022A priority patent/TWI680467B/zh
Priority to SG11202001207UA priority patent/SG11202001207UA/en
Priority to PCT/CN2018/102748 priority patent/WO2019072040A1/zh
Priority to EP18865436.2A priority patent/EP3654207A4/en
Publication of CN110019975A publication Critical patent/CN110019975A/zh
Priority to US16/736,603 priority patent/US10901971B2/en
Application granted granted Critical
Publication of CN110019975B publication Critical patent/CN110019975B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • G06F16/2255Hash tables
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/901Indexing; Data structures therefor; Storage structures
    • G06F16/9014Indexing; Data structures therefor; Storage structures hash tables
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/901Indexing; Data structures therefor; Storage structures
    • G06F16/9024Graphs; Linked lists
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes

Abstract

本说明书实施例公开了随机游走、基于集群的随机游走方法、装置以及设备,方案包括:获取图数据包含的各节点的信息,根据各节点的信息生成反映节点及其相邻节点之间的对应关系的哈希表,根据哈希表生成随机序列,实现在图数据中的随机游走;该方案可以既适用于集群也适用于单机。

Description

随机游走、基于集群的随机游走方法、装置以及设备
技术领域
本说明书涉及计算机软件技术领域,尤其涉及随机游走、基于集群的随机游走方法、装置以及设备。
背景技术
随着计算机和互联网技术的迅速发展,很多业务都可以在网上进行,图计算是处理社交方面的网上业务的一种常用手段。
例如,对于社交风控业务中的账户欺诈识别:每个用户分别作为一个节点,若两个用户之间存在转账关系,则对应的两个节点之间存在一条边,边可以是无向的,也可以是根据转账方向定义了方向的;以此类推,可以得到包含多个节点和多条边的图数据,进而基于图数据进行图计算以实现风控。
随机游走算法是图计算中比较基础和重要的一环,其为上层复杂算法提供支持。在现有技术中,一般采用这样的随机游走算法:在数据库中随机读取图数据包含的一个节点,再继续在该数据库中随机读取该节点的一个相邻节点,以此类推,实现在图数据中的随机游走。
基于现有技术,需要能够应用于大规模图数据的更为高效的随机游走方案。
发明内容
本说明书实施例提供随机游走、基于集群的随机游走方法、装置以及设备,用以解决如下技术问题:需要能够应用于大规模图数据的更为高效的随机游走方案。
为解决上述技术问题,本说明书实施例是这样实现的:
本说明书实施例提供的一种基于集群的随机游走方法,包括:
所述集群获取图数据包含的各节点的信息;
根据所述各节点的信息,生成哈希表,所述哈希表的键包括所述节点的标识,值包括所述节点的相邻节点的标识;
根据所述哈希表,生成随机序列,所述随机序列反映在所述图数据中的随机游走。
本说明书实施例提供的一种随机游走方法,包括:
获取根据图数据包含的各节点的信息生成的哈希表,所述哈希表的键包括所述节点的标识,值包括所述节点的相邻节点的标识;
根据所述哈希表,生成随机序列,所述随机序列反映在所述图数据中的随机游走。
本说明书实施例提供的一种基于集群的随机游走装置,所述装置属于所述集群,包括:
获取模块,获取图数据包含的各节点的信息;
第一生成模块,根据所述各节点的信息,生成哈希表,所述哈希表的键包括所述节点的标识,值包括所述节点的相邻节点的标识;
第二生成模块,根据所述哈希表,生成随机序列,所述随机序列反映在所述图数据中的随机游走。
本说明书实施例提供的一种随机游走装置,包括:
获取模块,获取根据图数据包含的各节点的信息生成的哈希表,所述哈希表的键包括所述节点的标识,值包括所述节点的相邻节点的标识;
生成模块,根据所述哈希表,生成随机序列,所述随机序列反映在所述图数据中的随机游走。
本说明书实施例提供的一种基于集群的随机游走设备,所述设备属于所述集群,包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够:
获取图数据包含的各节点的信息;
根据所述各节点的信息,生成哈希表,所述哈希表的键包括所述节点的标识,值包括所述节点的相邻节点的标识;
根据所述哈希表,生成随机序列,所述随机序列反映在所述图数据中的随机游走。
本说明书实施例提供的一种随机游走设备,包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够:
获取根据图数据包含的各节点的信息生成的哈希表,所述哈希表的键包括所述节点的标识,值包括所述节点的相邻节点的标识;
根据所述哈希表,生成随机序列,所述随机序列反映在所述图数据中的随机游走。
本说明书实施例采用的上述至少一个技术方案能够达到以下有益效果:有利于减少对原始保存图数据的数据库的访问,哈希表在生成后无需依赖该数据库,通过哈希表能够快速索引节点的相邻节点,该方案能够适用于大规模图数据且效率较高,在基于集群实施该方案的情况下,还能够进一步地提高效率。
附图说明
为了更清楚地说明本说明书实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本说明书的方案在一种实际应用场景下涉及的一种整体架构示意图;
图2为本说明书实施例提供的一种基于集群的随机游走方法的流程示意图;
图3为本说明书实施例提供的一种实际应用场景下,基于集群的哈希表生成流程示意图;
图4为本说明书实施例提供的一种实际应用场景下,基于集群的随机序列生成流程示意图;
图5为本说明书实施例提供的一种随机游走方法的流程示意图;
图6为本说明书实施例提供的对应于图2的一种基于集群的随机游走装置的结构示意图;
图7为本说明书实施例提供的对应于图5的一种随机游走装置的结构示意图。
具体实施方式
本说明书实施例提供随机游走、基于集群的随机游走方法、装置以及设备。
为了使本技术领域的人员更好地理解本说明书中的技术方案,下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本说明书实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
本说明书的方案既适用于集群,也适用于单机。在集群下对于大规模图数据的处理效率更高,原因在于:可以拆分任务(比如,数据读取任务、数据同步任务等),进而由集群中的多个机器并行执行被分配给自己的一部分任务。以下各实施例主要基于集群场景进行说明。
方案涉及的集群可以有一个或者多个,以图1为例,涉及了两个集群。
图1为本说明书的方案在一种实际应用场景下涉及的一种整体架构示意图。该整体架构中,主要涉及三部分:服务器集群、工作机集群、数据库。数据库保存有图数据,供集群读取,服务器集群与工作机集群相互配合,根据从数据库读取的数据,实现在图数据中的随机游走。
图1中的架构是示例性的,并非唯一。比如,方案可以涉及一个集群,该集群中包含至少一个调度机和多个工作机;再比如,方案也可以涉及一个工作机集群和一个服务器;等等;方案涉及的机器相互配合,实现在图数据中的随机游走。
下面对本说明书的方案进行详细说明。
图2为本说明书实施例提供的一种基于集群的随机游走方法的流程示意图。图2中各步骤由集群中的至少一个机器(或者机器上的程序)执行,不同步骤的执行主体可以不同。
图2中的流程包括以下步骤:
S202:所述集群获取图数据包含的各节点的信息。
在本说明书实施例中,节点的信息可以包括:节点的标识、节点的相邻节点的标识(以下以此为例)、或者标识以外的能够指示节点的相邻节点的信息等。各节点的信息可以是一次性获取的,也可以是分多次获取的。
一般地,原始的图数据保存于数据库中,在这种情况下,需要通过访问数据库,读取得到各节点的信息。为了避免重复读取数据增加数据库的负担,集群中的多个机器可以分别读取不重复的一部分节点的信息,进一步地,多个机器可以并行读取数据库,以快速获取节点的信息。
例如,可以由工作机集群中的各工作机并行地、分别从数据库读取一部分节点的信息并进行处理,再将处理后得到的数据同步至服务器集群。或者,各工作机也可以将读取的节点的信息,直接同步至服务器集群,由服务器集群进一步地处理。所述处理至少包括生成哈希表。
S204:根据所述各节点的信息,生成哈希表,所述哈希表的键包括所述节点的标识,值包括所述节点的相邻节点的标识。
在本说明书实施例中,任意节点的标识及该节点的相邻节点的标识,可以构成哈希表中的键值对。进而,根据哈希表以及任意节点的标识,能够快速索引到该节点的任意相邻节点的标识,从而,有利于高效地在图数据中随机游走。
为了支持索引时进行的哈希运算,各节点的标识优选地为数字。比如,用各节点的标识大小定义各节点的顺序,从0开始计数,顺序最先的节点的标识为0、顺序第二的节点的标识为1,依次类推。以下各实施例基于该例中的定义进行说明。
当然,若节点原本的标识并非数字,也可以基于一一映射的规则,将所述原本的标识映射为数字后,作为节点的标识用于生成哈希表。
在本说明书实施例中,一个节点可能有多个相邻节点,则哈希表中对应的键值对中的值相应地可能包括这多个相邻节点的标识,哈希表可以用诸如数组、或者链表等能够容纳多个元素的数据结构存储所述值。如此,也能够便利地通过这些数据结构,索引任意相邻节点的标识。
以数组为例,每个节点分别对应一个所述数组,该数组存储对应节点的各相邻节点的标识,其中,每个所述相邻节点的标识分别为该数组中的一个元素,通过针对数组元素的访问操作,即可索引到相邻节点的标识。
S206:根据所述哈希表,生成随机序列,所述随机序列反映在所述图数据中的随机游走。
在本说明书实施例中,随机序列为多个节点的标识构成的序列,各标识在该随机序列中的顺序即为随机游走顺序,随机序列的最大长度一般由预定的随机游走步数决定。
在得到哈希表后,可以相互独立地多次执行步骤S206,进而得到多个相互独立的随机序列。比如,各工作机分别根据哈希表,生成一个或者多个随机序列。
通过图2的方法,有利于减少对原始保存图数据的数据库的访问,哈希表在生成后无需依赖该数据库,通过哈希表能够快速索引节点的相邻节点,该方案能够适用于大规模图数据且效率较高,由于基于集群实施该方法,因此,还能够进一步地提高效率。
基于图2的方法,本说明书实施例还提供了该方法的一些具体实施方案,以及扩展方案,下面以图1中的架构为例,进行说明。
在本说明书实施例中,所述集群可以包括服务器集群和工作机集群,对于步骤S202,所述集群获取图数据包含的各节点的信息,具体可以包括:
所述工作机集群从数据库读取图数据包含的各节点的相邻节点的标识,其中,每个工作机读取一部分节点的相邻节点的标识。需要说明的是,若对于工作机集群,节点的标识本身也是未知的,则工作机集群可以读取节点的标识,并根据节点的标识(在数据库中作为主键),读取节点的相邻节点的标识。
例如,假定有标识分别为0~4的5个节点。工作机集群包括工作机0、工作机1、工作机2,每个工作机分别从数据库读取一部分节点的相邻节点的标识;比如,工作机0读取节点1的相邻节点的标识(分别为0、2),以及节点2的标识(分别为1、3、4);工作机1读取节点0的相邻节点的标识(为1);工作机2读取节点3的相邻节点的标识(分别为2、4),以及节点4的标识(分别为2、3)。
在本说明书实施例中,各工作机可以根据自己读取标识的相邻节点及其对应节点的标识,生成非全量的哈希表。
进一步地,工作机集群可以将这些非全量的哈希表同步给服务器集群。从而,服务器集群能够得到由这些非全量的哈希表构成的全量的哈希表,具体地:服务器集群可以通过专门整合(比如,拆分哈希表、合并哈希表等)这些非全量的哈希表,得到全量的哈希表;也可以不专门整合而只是在工作机集群同步完毕后,将同步得到的全部数据视为一个整体,即全量的哈希表。服务器集群中的各服务机可以分别保存全量的哈希表,也可以只保存全量的哈希表的一部分。
步骤S204所述的哈希表可以是所述全量的哈希表,也可以是所述非全量的哈希表。需要说明的是,若是非全量的哈希表,则后续的随机游走相应地在该非全量的哈希表涉及的节点(这些节点只是图数据中的一部分节点)中进行,任意工作机可以根据自己生成的非全量的哈希表,生成随机序列,而未必要依赖于上述同步和服务器集群。
对上述同步后的动作继续说明。服务器集群可以进一步地将全量的哈希表再向各工作机分别同步,以便各工作机能够根据全量的哈希表,生成随机序列。
沿用上例,结合图3进行说明。图3为本说明书实施例提供的一种实际应用场景下,基于集群的哈希表生成流程示意图。
在图3中,数据库中的数据表以节点的标识作为主键,记录了各节点的相邻节点的标识,其中,节点0的相邻节点为节点1,节点1的相邻节点为节点0、节点2,节点2的相邻节点为节点1、节点3、节点4,节点3的相邻节点为节点2、节点4、节点4的相邻节点为节点2、节点3。工作机0~2如前所述,优选地可以并行分别从数据库读取一部分节点的相邻节点的标识。
每个工作机根据自己读取的标识,对应地生成非全量的哈希表。工作机0生成的哈希表中包含两个键值对,工作机1生成的哈希表中包含一个键值对,工作机2生成的哈希表中包含两个键值对。
工作机集群将生成的各非全量的哈希表都同步至服务器集群,可以看到服务器集群得到了全量的哈希表并分部分保存在服务器0~2中。
服务器集群将全量的哈希表分别同步给各工作机。则各工作机可以分别独立地根据全量的哈希表,生成随机序列。
在本说明书实施例中,对于步骤S206,所述根据所述哈希表,生成随机序列,具体可以包括:
所述工作机在所述各节点的标识中,随机确定一个标识,作为目标节点的标识;以所述目标节点的标识为键,在所述哈希表中索引得到对应的值,所述对应的值包括所述目标节点的相邻节点的标识;确定所述对应的值包括的相邻节点的标识的数量;随机确定一个小于所述数量的非负整数,并获取所述对应的值包括的第所述非负整数个相邻节点的标识;通过将该第所述非负整数个相邻节点重新作为目标节点进行迭代计算,生成由依次得到的各目标节点的标识构成的随机序列。
进一步地沿用图3的例子,结合图4说明。图4为本说明书实施例提供的一种实际应用场景下,基于集群的随机序列生成流程示意图。
假定图数据共包含N个节点,第n个所述节点的标识为n,n从0开始计数。在图5中,N=5,全量的哈希表中相应地包含5个键值对,每个键值对的值存储于一个数组中,该键对应的节点的第n个相邻节点的标识为该数组的第n个元素。
工作机随机生成一个属于[0,N-1=4]的整数,即工作机在各节点的标识中,随机确定的目标节点的标识;以目标节点的标识为键,在全量的哈希表中索引得到对应的值;查询确定存储该值的数组包含的元素数量,即该值包括的相邻节点的标识的数量;随机确定一个小于该数量的非负整数,记作j;通过读取该数组的第j个元素,获取目标节点的第j个相邻节点的标识。
假定目标节点的标识为2,j=1。则目标节点为节点2,该数组为[1,3,4],获取的目标节点的第1个相邻节点的标识为该数组的第1个元素,即3。从而,实现从节点2随机游走到节点3,进而将节点3作为目标节点迭代计算,继续随机游走,如此,依次经过的多个节点的标识构成随机序列。
在图4中,预先设定随机游走步数为8,批数为5。用矩阵进行表示,随机游走步数比如为该矩阵的列数,批数为该矩阵的行数,该矩阵的每一行可以存储一个随机序列。
随机游走步数定义了一个随机序列的最大长度,每当随机序列达到该最大长度时,可以不依赖该随机序列而开始生成下一个随机序列。
批数定义了每个工作机在向数据库写入已生成前,生成随机序列的最大个数,到达该最大个数时,工作机可以将自己已生成未写入的多个随机序列(表示为对应的矩阵)写入数据库。比如,图5中工作机2当前已生成未写入的随机序列已经到达最大个数5,则可以将对应的矩阵写入数据库。
以图4中工作机0生成的第一个随机序列(3,4,3,2,4,2,3,2)为例,该随机序列即表示依次经过下列节点的随机游走过程:节点3、节点4、节点3、节点2、节点4、节点2、节点3、节点2。
进一步地,还可以预先设定阈值,用于限定整个工作机集群生成的随机序列的最大总数量。当到达该设定阈值时,各工作机可以停止生成随机序列。
另外,在实际应用中,工作机集群中的某些工作机可能会出现异常,导致之前同步得到的哈希表丢失。比如,若工作机将得到的哈希表只存储在内存中,则宕机后内存中的数据会丢失。在这种情况下,当这些工作机恢复正常时,可以从服务器集群重新获取丢失的哈希表。图4中通过工作机2示出了这种情况。
上面主要是基于集群场景,对本说明书的方案进行说明的,本说明书的方案也可以脱离集群场景。比如,基于同样的思路,本说明书实施例还提供了一种随机游走方法的流程示意图,如图5所示。
图5中的流程的执行主体可以是单一的计算设备,也可以是多个计算设备,该流程包括以下步骤:
S502:获取根据图数据包含的各节点的信息生成的哈希表,所述哈希表的键包括所述节点的标识,值包括所述节点的相邻节点的标识。
在步骤S502中,哈希表具体由谁生成,本申请并不做限定。一般地,只要图数据未发生变化,根据该图数据已生成的哈希表可以一直复用。
S504:根据所述哈希表,生成随机序列,所述随机序列反映在所述图数据中的随机游走。
基于同样的思路,本说明书实施例还提供了上面各方法的对应装置,如图6、图7所示。
图6为本说明书实施例提供的对应于图2的一种基于集群的随机游走装置的结构示意图,该装置属于所述集群,包括:
获取模块601,获取图数据包含的各节点的信息;
第一生成模块602,根据所述各节点的信息,生成哈希表,所述哈希表的键包括所述节点的标识,值包括所述节点的相邻节点的标识;
第二生成模块603,根据所述哈希表,生成随机序列,所述随机序列反映在所述图数据中的随机游走。
可选地,所述集群包括服务器集群和工作机集群;
所述获取模块601获取图数据包含的各节点的信息,具体包括:
所述工作机集群从数据库读取图数据包含的各节点的相邻节点的标识,其中,每个工作机读取一部分节点的相邻节点的标识。
可选地,所述第一生成模块602根据所述各节点的信息,生成哈希表,具体包括:
各所述工作机分别根据自己读取标识的相邻节点及其对应节点的标识,生成非全量的哈希表;
所述工作机集群将各所述非全量的哈希表向所述服务器集群同步;
所述服务器集群根据各所述非全量的哈希表,得到全量的哈希表。
可选地,所述第二生成模块603根据所述哈希表,生成随机序列前,所述服务器集群将所述全量的哈希表向各所述工作机同步,以便各所述工作机根据所述全量的哈希表,生成随机序列。
可选地,所述第二生成模块603根据所述哈希表,生成随机序列,具体包括:
所述工作机在所述各节点的标识中,随机确定一个标识,作为目标节点的标识;
以所述目标节点的标识为键,在所述哈希表中索引得到对应的值,所述对应的值包括所述目标节点的相邻节点的标识;
确定所述对应的值包括的相邻节点的标识的数量;
随机确定一个小于所述数量的非负整数,并获取所述对应的值包括的第所述非负整数个相邻节点的标识;
通过将该第所述非负整数个相邻节点重新作为目标节点进行迭代计算,生成由依次得到的各目标节点的标识构成的随机序列。
可选地,所述对应的值存储于数组,所述目标节点的第n个相邻节点的标识为该数组的第n个元素,n从0开始计数;
所述非负整数记作j,所述第二生成模块603获取所述对应的值包括的第所述非负整数个相邻节点的标识,具体包括:
通过读取该数组的第j个元素,获取所述目标节点的第j个相邻节点的标识。
可选地,所述工作机生成由依次得到的各目标节点的标识构成的随机序列,具体包括:
所述工作机当依次得到的各目标节点总数量达到预设的随机游走步数时,生成由所述依次得到的各目标节点的标识构成的随机序列。
可选地,所述第二生成模块603生成随机序列,具体包括:
各所述工作机分别生成随机序列,直至生成的随机序列总数量达到设定阈值。
可选地,所述工作机若本地已有的所述哈希表丢失,则重新从所述服务器集群获取。
图7为本说明书实施例提供的对应于图5的一种随机游走装置的结构示意图,该装置包括:
获取模块701,获取根据图数据包含的各节点的信息生成的哈希表,所述哈希表的键包括所述节点的标识,值包括所述节点的相邻节点的标识;
生成模块702,根据所述哈希表,生成随机序列,所述随机序列反映在所述图数据中的随机游走。
基于同样的思路,本说明书实施例还提供了对应于图2的一种基于集群的随机游走设备,该设备属于所述集群,包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够:
获取图数据包含的各节点的信息;
根据所述各节点的信息,生成哈希表,所述哈希表的键包括所述节点的标识,值包括所述节点的相邻节点的标识;
根据所述哈希表,生成随机序列,所述随机序列反映在所述图数据中的随机游走。
基于同样的思路,本说明书实施例还提供了对应于图5的一种随机游走设备,包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够:
获取根据图数据包含的各节点的信息生成的哈希表,所述哈希表的键包括所述节点的标识,值包括所述节点的相邻节点的标识;
根据所述哈希表,生成随机序列,所述随机序列反映在所述图数据中的随机游走。
基于同样的思路,本说明书实施例还提供了对应于图2的一种非易失性计算机存储介质,存储有计算机可执行指令,所述计算机可执行指令设置为:
获取图数据包含的各节点的信息;
根据所述各节点的信息,生成哈希表,所述哈希表的键包括所述节点的标识,值包括所述节点的相邻节点的标识;
根据所述哈希表,生成随机序列,所述随机序列反映在所述图数据中的随机游走。
基于同样的思路,本说明书实施例还提供了对应于图5的一种非易失性计算机存储介质,存储有计算机可执行指令,所述计算机可执行指令设置为:
获取根据图数据包含的各节点的信息生成的哈希表,所述哈希表的键包括所述节点的标识,值包括所述节点的相邻节点的标识;
根据所述哈希表,生成随机序列,所述随机序列反映在所述图数据中的随机游走。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置、设备、非易失性计算机存储介质实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本说明书实施例提供的装置、设备、非易失性计算机存储介质与方法是对应的,因此,装置、设备、非易失性计算机存储介质也具有与对应方法类似的有益技术效果,由于上面已经对方法的有益技术效果进行了详细说明,因此,这里不再赘述对应装置、设备、非易失性计算机存储介质的有益技术效果。
在20世纪90年代,对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(Programmable Logic Device,PLD)(例如现场可编程门阵列(Field Programmable GateArray,FPGA))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字系统“集成”在一片PLD上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logic compiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(Hardware Description Language,HDL),而HDL也并非仅有一种,而是有许多种,如ABEL(Advanced Boolean Expression Language)、AHDL(Altera Hardware DescriptionLanguage)、Confluence、CUPL(Cornell University Programming Language)、HDCal、JHDL(Java Hardware Description Language)、Lava、Lola、MyHDL、PALASM、RHDL(RubyHardware Description Language)等,目前最普遍使用的是VHDL(Very-High-SpeedIntegrated Circuit Hardware Description Language)与Verilog。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。
控制器可以按任何适当的方式实现,例如,控制器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程逻辑控制器和嵌入微控制器的形式,控制器的例子包括但不限于以下微控制器:ARC 625D、Atmel AT91SAM、Microchip PIC18F26K20以及Silicone Labs C8051F320,存储器控制器还可以被实现为存储器的控制逻辑的一部分。本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本说明书时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
本领域内的技术人员应明白,本说明书实施例可提供为方法、系统、或计算机程序产品。因此,本说明书实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本说明书实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本说明书是参照根据本说明书实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本说明书可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本说明书,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本说明书实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

Claims (16)

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

Priority Applications (6)

Application Number Priority Date Filing Date Title
CN201710932612.8A CN110019975B (zh) 2017-10-10 2017-10-10 随机游走、基于集群的随机游走方法、装置以及设备
TW107128022A TWI680467B (zh) 2017-10-10 2018-08-10 隨機遊走、基於集群的隨機遊走方法、裝置以及設備
SG11202001207UA SG11202001207UA (en) 2017-10-10 2018-08-28 Random walking and cluster-based random walking method, apparatus and device
PCT/CN2018/102748 WO2019072040A1 (zh) 2017-10-10 2018-08-28 随机游走、基于集群的随机游走方法、装置以及设备
EP18865436.2A EP3654207A4 (en) 2017-10-10 2018-08-28 PROCESS, APPARATUS AND DEVICE FOR RANDOM AND RANDOM MOVEMENT BASED ON A CLUSTER
US16/736,603 US10901971B2 (en) 2017-10-10 2020-01-07 Random walking and cluster-based random walking method, apparatus and device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710932612.8A CN110019975B (zh) 2017-10-10 2017-10-10 随机游走、基于集群的随机游走方法、装置以及设备

Publications (2)

Publication Number Publication Date
CN110019975A CN110019975A (zh) 2019-07-16
CN110019975B true CN110019975B (zh) 2020-10-16

Family

ID=66101242

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710932612.8A Active CN110019975B (zh) 2017-10-10 2017-10-10 随机游走、基于集群的随机游走方法、装置以及设备

Country Status (6)

Country Link
US (1) US10901971B2 (zh)
EP (1) EP3654207A4 (zh)
CN (1) CN110019975B (zh)
SG (1) SG11202001207UA (zh)
TW (1) TWI680467B (zh)
WO (1) WO2019072040A1 (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108073687B (zh) 2017-11-17 2020-09-08 阿里巴巴集团控股有限公司 随机游走、基于集群的随机游走方法、装置以及设备
CN111984828A (zh) * 2020-06-30 2020-11-24 联想(北京)有限公司 一种邻居节点检索方法和装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7827182B1 (en) * 2004-06-02 2010-11-02 Cisco Technology, Inc Searching for a path to identify where to move entries among hash tables with storage for multiple entries per bucket during insert operations
CN104063507A (zh) * 2014-07-09 2014-09-24 时趣互动(北京)科技有限公司 一种图计算方法及引擎

Family Cites Families (50)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6549896B1 (en) 2000-04-07 2003-04-15 Nec Usa, Inc. System and method employing random walks for mining web page associations and usage to optimize user-oriented web page refresh and pre-fetch scheduling
US7043239B2 (en) 2002-12-09 2006-05-09 Qualcomm Incorporated Download and display of system tags in wireless communication systems
US8122030B1 (en) 2005-01-14 2012-02-21 Wal-Mart Stores, Inc. Dual web graph
US8396864B1 (en) 2005-06-29 2013-03-12 Wal-Mart Stores, Inc. Categorizing documents
US8849830B1 (en) 2005-10-14 2014-09-30 Wal-Mart Stores, Inc. Delivering search results
US8498999B1 (en) 2005-10-14 2013-07-30 Wal-Mart Stores, Inc. Topic relevant abbreviations
US20070203789A1 (en) 2006-02-27 2007-08-30 Microsoft Corporation Designing hyperlink structures
US8396884B2 (en) 2006-02-27 2013-03-12 The Regents Of The University Of California Graph querying, graph motif mining and the discovery of clusters
US7933915B2 (en) 2006-02-27 2011-04-26 The Regents Of The University Of California Graph querying, graph motif mining and the discovery of clusters
US20080097971A1 (en) * 2006-10-18 2008-04-24 Telcordia Applied Research Center Taiwan Company Peer-to-peer based secondary key search method and system for cluster database
US7788254B2 (en) 2007-05-04 2010-08-31 Microsoft Corporation Web page analysis using multiple graphs
US7818396B2 (en) * 2007-06-21 2010-10-19 Microsoft Corporation Aggregating and searching profile data from multiple services
US20090070873A1 (en) 2007-09-11 2009-03-12 Yahoo! Inc. Safe web based interactions
TWI361984B (en) * 2008-11-04 2012-04-11 Univ Nat Taiwan Distributed multimedia access system and method
US8122419B2 (en) 2008-11-09 2012-02-21 International Business Machines Corporation System and method for three-dimensional variational capacitance calculation
US8156129B2 (en) 2009-01-15 2012-04-10 Microsoft Corporation Substantially similar queries
US9171077B2 (en) 2009-02-27 2015-10-27 International Business Machines Corporation Scaling dynamic authority-based search using materialized subgraphs
US8073832B2 (en) * 2009-05-04 2011-12-06 Microsoft Corporation Estimating rank on graph streams
US8423538B1 (en) 2009-11-02 2013-04-16 Google Inc. Clustering query refinements by inferred user intent
CN101894123A (zh) * 2010-05-11 2010-11-24 清华大学 基于子图的链接相似度的快速近似计算系统和方法
US9092483B2 (en) 2010-10-19 2015-07-28 Microsoft Technology Licensing, Llc User query reformulation using random walks
US8818918B2 (en) 2011-04-28 2014-08-26 International Business Machines Corporation Determining the importance of data items and their characteristics using centrality measures
US8856047B2 (en) * 2011-06-21 2014-10-07 Microsoft Corporation Fast personalized page rank on map reduce
US8943011B2 (en) 2011-06-28 2015-01-27 Salesforce.Com, Inc. Methods and systems for using map-reduce for large-scale analysis of graph-based data
US8903824B2 (en) 2011-12-09 2014-12-02 International Business Machines Corporation Vertex-proximity query processing
CN103198177B (zh) 2013-03-11 2015-08-12 清华大学 基于gpu的集成电路电容参数提取系统及方法
US8955129B2 (en) 2013-04-23 2015-02-10 Duke University Method and system for detecting fake accounts in online social networks
WO2014182672A1 (en) 2013-05-07 2014-11-13 Wilber Scott A Acquisition and assessment of classically non-inferable information
WO2014190037A1 (en) 2013-05-22 2014-11-27 Siemens Aktiengesellschaft Parameter estimation for mesh segmentation using random walks
US9286396B2 (en) 2013-07-26 2016-03-15 Microsoft Technology Licensing, Llc Query expansion and query-document matching using path-constrained random walks
CN103699617B (zh) 2013-12-16 2017-06-06 西安交通大学 一种基于随机游走的社区发现方法
CN104158840B (zh) 2014-07-09 2017-07-07 东北大学 一种分布式计算图节点相似度的方法
CN104462374B (zh) 2014-12-09 2018-06-05 深圳大学 一种广义最大度随机游走图抽样方法
US9805138B2 (en) 2015-02-06 2017-10-31 Xerox Corporation Efficient calculation of all-pair path-based distance measures
WO2016154460A1 (en) 2015-03-24 2016-09-29 Kyndi, Inc. Cognitive memory graph indexing, storage and retrieval
US11627199B2 (en) * 2016-01-05 2023-04-11 Schneider Electric USA, Inc. System and methods for creating a geospatial network model in a client environment
CN105741175B (zh) * 2016-01-27 2019-08-20 电子科技大学 一种对在线社交网络中账户进行关联的方法
CN107179940B (zh) 2016-03-10 2020-06-19 阿里巴巴集团控股有限公司 一种任务执行的方法及装置
US10304244B2 (en) 2016-07-08 2019-05-28 Microsoft Technology Licensing, Llc Motion capture and character synthesis
CN106844426A (zh) 2016-12-09 2017-06-13 中电科华云信息技术有限公司 基于随机游走人员亲密度的计算系统及方法
CN106777284A (zh) 2016-12-29 2017-05-31 南京邮电大学 一种基于标签信息的图游走表示方法
CN106991133B (zh) * 2017-03-13 2019-08-06 南京邮电大学 一种基于重启随机游走模型的活跃用户群组推荐方法
CN107248095A (zh) 2017-04-14 2017-10-13 北京小度信息科技有限公司 推荐方法及装置
CN107145977B (zh) * 2017-04-28 2020-07-31 电子科技大学 一种对在线社交网络用户进行结构化属性推断的方法
US20190066054A1 (en) 2017-08-24 2019-02-28 Linkedln Corporation Accuracy of member profile retrieval using a universal concept graph
US20190114373A1 (en) 2017-10-13 2019-04-18 Facebook, Inc. Scalable candidate selection for recommendations
US11797838B2 (en) 2018-03-13 2023-10-24 Pinterest, Inc. Efficient convolutional network for recommender systems
US11281964B2 (en) 2018-06-27 2022-03-22 National Technology & Engineering Solutions Of Sandia, Llc Devices and methods for increasing the speed and efficiency at which a computer is capable of modeling a plurality of random walkers using a particle method
US11409922B2 (en) 2018-06-27 2022-08-09 National Technology & Engineering Solutions Of Sandia, Llc Devices and methods for increasing the speed and efficiency at which a computer is capable of modeling a plurality of random walkers using a density method
CN109934306A (zh) 2019-04-04 2019-06-25 西南石油大学 基于随机游走的多标签属性值划分方法和装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7827182B1 (en) * 2004-06-02 2010-11-02 Cisco Technology, Inc Searching for a path to identify where to move entries among hash tables with storage for multiple entries per bucket during insert operations
CN104063507A (zh) * 2014-07-09 2014-09-24 时趣互动(北京)科技有限公司 一种图计算方法及引擎

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Random Walk with Restart over Dynamic Graphs;Weiren Yu 等;《2016 IEEE 16th International Conference on Data Mining》;20161231;全文 *
面向近邻搜索的马尔科夫图哈希算法;刘弘;《计算机科学与探索》;20141009;全文 *

Also Published As

Publication number Publication date
CN110019975A (zh) 2019-07-16
US10901971B2 (en) 2021-01-26
WO2019072040A1 (zh) 2019-04-18
EP3654207A1 (en) 2020-05-20
EP3654207A4 (en) 2020-09-02
US20200142877A1 (en) 2020-05-07
SG11202001207UA (en) 2020-03-30
TW201915798A (zh) 2019-04-16
TWI680467B (zh) 2019-12-21

Similar Documents

Publication Publication Date Title
CN108073687B (zh) 随机游走、基于集群的随机游走方法、装置以及设备
CN107450979B (zh) 一种区块链共识方法及装置
CN107391527B (zh) 一种基于区块链的数据处理方法及设备
CN107957989B (zh) 基于集群的词向量处理方法、装置以及设备
CN107577697B (zh) 一种数据处理方法、装置及设备
CN109104327B (zh) 一种业务日志生成方法、装置及设备
CN110635962B (zh) 用于分布式系统的异常分析方法及装置
WO2019085614A1 (zh) 随机游走、基于分布式系统的随机游走方法、装置以及设备
CN107451204B (zh) 一种数据查询方法、装置及设备
CN110807013B (zh) 用于分布式数据存储集群的数据迁移方法和装置
CN110019975B (zh) 随机游走、基于集群的随机游走方法、装置以及设备
CN111930343A (zh) 一种获取随机数、生成随机数的方法、设备及介质
CN109658094B (zh) 随机游走、基于集群的随机游走方法、装置以及设备
CN110083602B (zh) 一种基于hive表的数据存储及数据处理的方法及装置
CN109446271B (zh) 一种数据同步方法、装置、设备及介质
CN110008382B (zh) 一种确定TopN数据的方法、系统及设备
CN107562533B (zh) 一种数据加载处理方法及装置
CN107368281B (zh) 一种数据处理方法及装置
CN110633321B (zh) 一种数据的同步方法、装置及设备
CN110851416B (zh) 数据存储性能分析方法和装置、宿主机确定方法和装置
CN115098271B (zh) 一种多线程数据处理方法、装置、设备及介质
CN116414308A (zh) 数据存储方法、装置及系统
CN115016860A (zh) 业务的冷启动方法、装置及设备
CN116226225A (zh) 单号生成方法、装置及设备
CN117762693A (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
TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20200918

Address after: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands

Applicant after: Innovative advanced technology Co.,Ltd.

Address before: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands

Applicant before: Advanced innovation technology Co.,Ltd.

Effective date of registration: 20200918

Address after: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands

Applicant after: Advanced innovation technology Co.,Ltd.

Address before: A four-storey 847 mailbox in Grand Cayman Capital Building, British Cayman Islands

Applicant before: Alibaba Group Holding Ltd.

GR01 Patent grant
GR01 Patent grant