[发明专利]随机游走、基于集群的随机游走方法、装置以及设备有效
申请号: | 201711144728.1 | 申请日: | 2017-11-17 |
公开(公告)号: | CN108073687B | 公开(公告)日: | 2020-09-08 |
发明(设计)人: | 曹绍升;杨新星;周俊 | 申请(专利权)人: | 阿里巴巴集团控股有限公司 |
主分类号: | G06F16/20 | 分类号: | G06F16/20 |
代理公司: | 北京晋德允升知识产权代理有限公司 11623 | 代理人: | 杨移 |
地址: | 英属开曼群岛大开*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 随机 游走 基于 集群 方法 装置 以及 设备 | ||
1.一种基于集群的随机游走方法,包括:
所述集群获取图数据包含的各节点的信息;所述集群包括服务器集群和工作机集群;所述集群获取图数据包含的各节点的信息,具体包括:所述工作机集群从数据库读取图数据包含的各节点的相邻节点的标识,其中,每个工作机读取一部分节点的相邻节点的标识;
根据所述各节点的信息,生成二维数组,所述二维数组的每行分别包括一个所述节点的相邻节点的标识;具体地,各所述工作机分别根据自己读取标识的相邻节点及其对应节点的标识,生成非全量的二维数组;所述工作机集群将各所述非全量的二维数组向所述服务器集群同步;所述服务器集群根据各所述非全量的二维数组,得到全量的二维数组;所述服务器集群将所述全量的二维数组向各所述工作机同步;
根据所述二维数组,生成随机序列,所述随机序列反映在所述图数据中的随机游走;具体地,各所述工作机根据所述全量的二维数组,分别生成随机序列,直至生成的随机序列总数量达到设定阈值;
其中,所述服务器集群中的各服务机,分别保存全量的二维数组或者只保存全量的二维数组的一部分;
其中,所述工作机若本地已有的所述二维数组丢失,则重新从所述服务器集群获取。
2.如权利要求1所述的方法,所述根据所述二维数组,生成随机序列,具体包括:
根据节点标识顺序,对所述全量的二维数组中的各行进行排序;
根据排序后的二维数组,生成随机序列。
3.如权利要求1所述的方法,所述根据所述二维数组,生成随机序列,具体包括:
所述工作机在所述各节点的标识中,随机确定一个标识,作为目标节点的标识;
根据所述目标节点的标识,在所述二维数组中索引得到对应的行,所述对应的行包括所述目标节点的标识,以及所述目标节点的相邻节点的标识;
确定所述对应的行包括的相邻节点的标识的数量;
随机确定一个小于所述数量的非负整数,并获取所述对应的行包括的第所述非负整数个相邻节点的标识;
通过将该第所述非负整数个相邻节点重新作为目标节点进行迭代计算,生成由依次得到的各目标节点的标识构成的随机序列。
4.如权利要求3所述的方法,所述节点总数量为N,第m个所述节点的标识为m,0≤m≤N-1,所述目标节点为第i个节点,所述对应的行为所述二维数组的第i行。
5.如权利要求3所述的方法,所述对应的行为一维数组,所述目标节点的第n个相邻节点的标识为该一维数组的第n个元素,n从0开始计数;
所述非负整数记作j,所述获取所述对应的行包括的第所述非负整数个相邻节点的标识,具体包括:
通过读取该一维数组的第j个元素,得到所述目标节点的第j个相邻节点的标识。
6.如权利要求5所述的方法,所述一维数组的元素总数量等于所述各节点中邻居节点最多的节点的邻居节点数量。
7.如权利要求3所述的方法,所述生成由依次得到的各目标节点的标识构成的随机序列,具体包括:
当依次得到的各目标节点总数量达到预设的随机游走步数时,生成由所述依次得到的各目标节点的标识构成的随机序列。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于阿里巴巴集团控股有限公司,未经阿里巴巴集团控股有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201711144728.1/1.html,转载请声明来源钻瓜专利网。