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