一种社交网络用户关系搜索方法技术

技术编号:13743237 阅读:66 留言:0更新日期:2016-09-23 04:28
本发明专利技术公开了一种社交网络用户关系搜索方法,包括以下步骤:(1)对于社交网络建立两跳关系集合,按照用户热度降序排列形成两跳关系列表;(2)分别搜索其关于第一用户及第二用户的两跳关系,形成第一用户两跳关系集合及第二用户两跳关系集合;(3)如存在相同用户则进入步骤(4),否则进入步骤(5);(4)得出社交网络用户关系搜索结果;(5)搜索出现待关联用户集合中两个或两个以上用户的两跳关系,如果存在则进入步骤(6),否则进入步骤(7);(6)得出社交网络用户关系搜索结果;(7)搜索结果为空,结束。本方法大幅缩短了查询时间。

【技术实现步骤摘要】

本专利技术属于计算机领域,更具体地,涉及一种社交网络用户关系搜索方法
技术介绍
在线社交网络是一种在信息网络上由社会个体集合及个体之间的连接关系构成的社会性结构。随着众多社交应用的普及,社交网络的规模经历了一段爆发式的增长期,2012年三月,微信的注册用户量突破1亿,2013年微信月活跃用户数的增长率为42.5%,月活跃账户数达到3.55亿。2014年,Facebook月活跃用户数突破13.5亿,2015年,微信和WeChat的合并月活跃账户数达到6.50亿。可以看出,社交网络规模的增长势头非常明显。在社交网络中,人与人之间都是相互联系的。根据著名的六度人脉理论,地球上所有的人都可以通过六层以内的熟人链和任何其他人联系起来。在社交网络中,如果能够得到两个陌生用户之间的熟人链,就可以对用户的人脉扩展提供极有价值的参考。当前社交网络的关系搜索方法还比较少见,微博上有一个类似的人脉分析方法,采用的是在线计算的方式,在线计算是通过双向的BFS的算法,通过穷举搜索的方法来计算两个用户的之间的关系路径。在线计算存在的主要问题是当用户的热度很高的时候,不能很快的得出结果,最坏情况需要穷举两个用户的所有三跳关系,如果某一个用户的三跳关系很多,由于需要一个个穷举,将会产生很长的查询时间。当前的人脉分析算法还比较少见,微博上有一个类似的人脉分析方法,采用的是在线计算的方式,在线计算是通过双向的BFS的算法,通过穷举
搜索的方法来计算两个用户的之间的关系路径,在线计算存在的主要问题是当用户的热度很高的时候,不能很快的得出结果,最坏情况需要穷举两个用户的所有三跳关系,如果某一个用户的三跳关系很多,由于需要一个个穷举,将会产生很长的查询时间。
技术实现思路
针对现有技术的以上缺陷或改进需求,本专利技术提供了一种基于索引的社交网络用户关系搜索方法,其目的在于通过两跳关系拼接,实现用户关系搜索,由此解决现有的用户关系搜索方法查询时间过长的技术问题。为实现上述目的,按照本专利技术的一个方面,提供了一种社交网络用户关系搜索方法,包括以下步骤:(1)对于社交网络建立两跳关系集合,按照用户热度降序排列形成两跳关系列表;(2)对于其关系待搜索的第一用户及第二用户,在步骤(1)中获取的两跳关系列表中,分别搜索其关于第一用户及第二用户的两跳关系,形成第一用户两跳关系集合及第二用户两跳关系集合;(3)搜索第一用户两跳关系集合和第二用户两跳关系集合中是否存在相同用户,如存在则进入步骤(4),否则进入步骤(5);(4)根据步骤(3)搜索出的相同用户还原第一用户及第二用户的关系路径,得出社交网络用户关系搜索结果;(5)将第一用户两跳关系集合和第二用户两跳关系集合中出现的所用用户作为待关联用户集合,在步骤(1)获得的两跳关系列表中,搜索出现待关联用户集合中两个或两个以上用户的两跳关系,如果存在则进入步骤(6),否则进入步骤(7);(6)根据步骤(5)中得到的中间用户还原出完整的关系路径,得出社交网络用户关系搜索结果;(7)搜索结果为空,结束。优选地,所述用户关系搜索方法,其所述两跳关系为通过一个陌生人可认识的关系。优选地,所述用户关系搜索方法,其所述用户热度为余户的熟人数,即所述用户直接认识的人的个数。优选地,所述用户关系搜索方法,其所述降序排列采用快速排序或堆排序。优选地,所述用户关系搜索方法,其所述步骤(4)和步骤(6)穷举所有关系路径。优选地,所述用户关系搜索方法,其所述步骤(4)和步骤(6)输出一条关系路径。总体而言,通过本专利技术所构思的以上技术方案与现有技术相比,由于使用了较好的索引技术,能够取得下列大大减少查询时间有益效果。附图说明图1是基于索引的用户关系搜索方法的流程图;图2是2-hop索引的示意图;图3是用户关系搜索方法的查询过程;图4是查询过程的优化方法。具体实施方式为了使本专利技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本专利技术进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本专利技术,并不用于限定本专利技术。此外,下面所描述的本专利技术各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。本专利技术提供的社交网络用户关系搜索方法,包括以下步骤:(1)对于社交网络建立两跳关系集合,按照用户热度降序排列形成两跳关系列表;N跳关系是指通过N-1个陌生人可以认识的关系,比如说,如果两个人直接认识,这样的关系是一跳关系,如果两个需要通过一个共同的熟人才能认识,这样的关系称为两跳关系,以此类推。为方便描述,将两跳关系索引简记为2-hop索引。所述用户热度为用户的熟人数,即用户直接认识的人的个数。降序排列可以采用常见的排序方式,如快速排序,堆排序等。(2)对于其关系待搜索的第一用户及第二用户,在步骤(1)中获取的两跳关系列表中,分别搜索其关于第一用户及第二用户的两跳关系,形成第一用户两跳关系集合及第二用户两跳关系集合。(3)搜索第一用户两跳关系集合和第二用户两跳关系集合中是否存在相同用户,如存在则进入步骤(4),否则进入步骤(5);(4)根据步骤(3)搜索出的相同用户还原第一用户及第二用户的关系路径,得出社交网络用户关系搜索结果;(5)将第一用户两跳关系集合和第二用户两跳关系集合中出现的所用用户作为待关联用户集合,在步骤(1)获得的两跳关系列表中,搜索出现待关联用户集合中两个或两个以上用户的两跳关系,如果存在则进入步骤(6),否则进入步骤(7);(6)根据步骤(5)中得到的中间用户还原出完整的关系路径,得出社交网络用户关系搜索结果。步骤(4)和步骤(6)可穷举所有四跳以内或者五跳至六跳关系,也可输出最短关系路径,或输出其中一条关系路径。(7)搜索结果为空,结束。以下为实施例:如图1所示,一种社交网络用户关系搜索方法,包括以下步骤:(1)对于社交网络,获取全部关系数据形成社交网络图,遍历社交图中每一个用户,对每一个用户X做一次BFS搜索,深度限制为2,将访问到
的顶点加入顶点X的优先队列中作为2-hop关系索引,队列中包含顶点的度数信息,以及遍历的前一用户信息,遍历完成后,将结果写入索引文件中。这样索引包含了每一个用户的全部2-hop好友信息。如图2所示,john的2-hop索引包括peter,kai等。Marry的2-hop索引包括frank,mike等。(2)根据检索请求,从索引文件中取出检索第一用户和第二用户的两跳关系列表。实例中取出john的索引包括peter,kai等。Marry的2-hop索引包括frank,mike等。(3)遍历第一用户和第二用户的两跳关系列表,按照顶点度从高到低的顺序,判定查询用户A的两跳关系列表中的用户X和B中的两跳关系集合中的用户Y是否是两跳可达的,如果存在,进入步骤(4);如果不存在,则进入步骤(7)。开始分别遍历john和marry的两跳关系列表,找到了john的2-hop用户kai和marry的2-hop用户mike是2-hop可达的。进入步骤(4)。(4)根据公共节点还原出关系路径。(5)将第一用户两跳关系集合和第二用户两跳关系集合中出现的所用用户作为待关联用户集合,在步骤(1)获得的两跳关系列表中,搜索出现待关联用户集合中两个或两个以上用户的两跳关系,如本文档来自技高网
...

【技术保护点】
一种社交网络用户关系搜索方法,其特征在于,包括以下步骤:(1)对于社交网络建立两跳关系集合,按照用户热度降序排列形成两跳关系列表;(2)对于其关系待搜索的第一用户及第二用户,在步骤(1)中获取的两跳关系列表中,分别搜索其关于第一用户及第二用户的两跳关系,形成第一用户两跳关系集合及第二用户两跳关系集合;(3)搜索第一用户两跳关系集合和第二用户两跳关系集合中是否存在相同用户,如存在则进入步骤(4),否则进入步骤(5);(4)根据步骤(3)搜索出的相同用户还原第一用户及第二用户的关系路径,得出社交网络用户关系搜索结果;(5)将第一用户两跳关系集合和第二用户两跳关系集合中出现的所用用户作为待关联用户集合,在步骤(1)获得的两跳关系列表中,搜索出现待关联用户集合中两个或两个以上用户的两跳关系,如果存在则进入步骤(6),否则进入步骤(7);(6)根据步骤(5)中得到的中间用户还原出完整的关系路径,得出社交网络用户关系搜索结果;(7)搜索结果为空,结束。

【技术特征摘要】
1.一种社交网络用户关系搜索方法,其特征在于,包括以下步骤:(1)对于社交网络建立两跳关系集合,按照用户热度降序排列形成两跳关系列表;(2)对于其关系待搜索的第一用户及第二用户,在步骤(1)中获取的两跳关系列表中,分别搜索其关于第一用户及第二用户的两跳关系,形成第一用户两跳关系集合及第二用户两跳关系集合;(3)搜索第一用户两跳关系集合和第二用户两跳关系集合中是否存在相同用户,如存在则进入步骤(4),否则进入步骤(5);(4)根据步骤(3)搜索出的相同用户还原第一用户及第二用户的关系路径,得出社交网络用户关系搜索结果;(5)将第一用户两跳关系集合和第二用户两跳关系集合中出现的所用用户作为待关联用户集合,在步骤(1)获得的两跳关系列表中,搜索出现待关联用户集合中两个或两...

【专利技术属性】
技术研发人员:谢夏杨晓冬金海王多强
申请(专利权)人:华中科技大学
类型:发明
国别省市:湖北;42

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

1