一种确定共同社交对象的方法、装置、系统及计算设备制造方法及图纸

技术编号:21400980 阅读:17 留言:0更新日期:2019-06-19 07:32
本发明专利技术公开了一种确定共同社交对象的方法、装置、系统及计算设备,属于数据处理技术领域,用于提高共同社交对象的计算效率。该方法包括:获得社交平台中的M个社交用户中的每个社交用户的好友列表,该社交平台中的所有社交用户的社交对象列表是按照预设分配策略分配到节点集群中的各个节点中存储,而社交对象列表包括好友列表;按照预设委托策略,针对每个社交用户,确定每个社交用户的好友列表中的委托用户;再从节点集群中确定用于存储每个委托用户的社交对象列表的节点;并将该社交用户的社交对象列表发送给每个委托用户所匹配的节点,以请求匹配的节点根据接收到的社交对象列表确定对应委托用户与该社交用户之间的共同社交对象。

【技术实现步骤摘要】
一种确定共同社交对象的方法、装置、系统及计算设备
本专利技术涉及数据处理
,尤其涉及一种确定共同社交对象的方法、装置、系统及计算设备。
技术介绍
社交平台中的共同好友、共同阅读、共同玩过的游戏等共同社交对象作为一种社交特征,可以有效应用于数据分析、好友推荐、用户画像、社交广告等场景。例如,若丙是甲和乙的共同好友,那么在广告推荐中,根据甲和乙的偏好,能够为丙提供推荐依据;在社交场景中,共同好友间会经常查看动态和互动,例如甲和乙均能同时查看丙所发布的动态,丙查看过的一些信息可以推荐给甲和乙,也就是说,覆盖到甲、乙、丙三者中的任何一个则可以起到推广到三者的目的;在游戏场景中,稳定好友关系的甲、乙、丙可能会经常开黑,或者,当甲、乙均玩耍某款游戏应用时,那么为丙再推荐这款游戏时,丙接受推荐的可能性也较大,所以可以获得较好的推荐效果。要应用共同社交对象这种社交特征,首先需要准确的计算社交网络中的各好友对之间的共同社交对象,而随着社交网络规模的迅速增大,例如,有些社交平台已经拥有超过10亿用户,海量的用户对应上千亿对好友,所以亟需一种计算全量关系链下的海量用户对的共同社交对象的方法。
技术实现思路
本申请实施例提供一种确定共同社交对象的方法、装置、系统及计算设备,用于提高确定共同社交对象的效率。一方面,提供一种确定共同社交对象的方法,所述方法包括:获得社交平台中的M个社交用户中的每个社交用户的社交对象列表,其中,所述社交平台中的所有社交用户的社交对象列表按照预设分配策略分配到节点集群中的各个节点上存储,社交对象列表为与社交用户之间有社交关系的社交对象的集合,社交对象列表包括社交用户的好友列表,M为大于或等于1的整数,且M小于所述所有社交用户的总数;按照预设委托策略,针对所述M个社交用户中的每个社交用户,从该社交用户的好友列表中确定委托用户;从所述节点集群中确定用于存储每个委托用户的社交对象列表所匹配的节点;并将该社交用户的社交对象列表发送给每个委托用户所匹配的节点,以请求匹配的节点根据接收到的社交对象列表确定对应委托用户与该社交用户之间的共同社交对象。在一种可能的设计方式中,在满足计算共同社交对象的触发条件时,则按照所述预设委托策略,针对所述M个社交用户中的每个社交用户,从该社交用户的好友列表中确定委托用户。在一种可能的设计方式中,获得社交平台中的M个社交用户中的每个社交用户的社交对象列表,包括:获得所述M个社交用户分别对应的社交活动关联数据;根据获得的社交活动关联数据,分别构建针对所述M个社交用户中的每个社交用户的社交对象列表。在一种可能的设计方式中,针对所述M个社交用户中的每个社交用户,从该社交用户的好友列表中确定委托用户,包括:遍历该社交用户的好友列表,以从该好友列表中确定社交对象列表存储在本节点的非委托用户;从该好友列表中除去非委托用户的剩余用户中确定委托用户。一方面,提供一种确定共同社交对象的装置,所述装置包括:获得模块,用于获得社交平台中的M个社交用户中的每个社交用户的社交对象列表,其中,所述社交平台中的所有社交用户的社交对象列表按照预设分配策略分配到节点集群中的各个节点存储,社交对象列表为与社交用户之间有社交关系的社交对象的集合,社交对象列表包括社交用户的好友列表,M为大于或等于1的整数,且M小于所述所有社交用户的总数;第一确定模块,用于按照预设委托策略,针对所述M个社交用户中的每个社交用户,从该社交用户的好友列表中确定委托用户;第二确定模块,用于从所述节点集群中确定用于存储每个委托用户的社交对象列表的节点;委托模块,用于将该社交用户的社交对象列表发送给每个委托用户所匹配的节点,以请求匹配的节点根据接收到的社交对象列表确定对应委托用户与该社交用户之间的共同社交对象。在一种可能的设计方式中,所述装置还包括:接收模块,用于接收所述节点集群中的其它节点根据所述预设委托策略发送的至少一个社交对象列表,其中,所述至少一个社交对象列表为N个社交用户的社交对象列表,在所述N个社交用户中的社交用户的好友列表中均包括属于所述M个社交用户的委托用户,N为大于或等于1的整数,且N小于所述所有社交用户的总数;第三确定模块,用于根据所述至少一个社交对象列表,确定属于所述M个社交用户的委托用户与所述N个社交用户之间的共同社交对象。在一种可能的设计方式中,所述第一确定模块用于:根据社交用户的用户标识的取值,从该社交用户的好友列表中确定取值大于或小于该社交用户的用户标识的取值的社交用户,并将确定出的社交用户确定为该好友列表中的委托用户;或者,根据节点的节点标识的取值,从该社交用户的好友列表中确定好友列表存储的节点的取值大于或小于本节点的取值的社交用户,并将确定出的社交用户确定为该好友列表中的委托用户,其中,所述本节点为存储所述M个社交用户的社交对象列表的节点。在一种可能的设计方式中,所述装置还包括第四确定模块,用于:从所述节点集群中确定可委托节点,其中,所述可委托节点的数量为所述节点集群的节点总数的一半;则,所述第二确定模块用于:从所述可委托节点中确定用于存储每个委托用户的社交对象列表的节点。在一种可能的设计方式中,所述节点集群中的每个节点具有唯一的节点标识,所述节点集群中的所有节点按照节点标识具有预定排列顺序,所述节点集群的节点总数为K,K为大于或等于2的整数;则,所述第四确定模块用于:若K为奇数,则根据所述预定排列顺序,将与本节点依次相邻的(K-1)/2个节点确定为所述可委托节点;若K为偶数,则根据所述预定排列顺序,将与本节点依次相邻的K/2个节点或(K-2)/2个节点确定为所述可委托节点;其中,所述本节点为存储所述M个社交用户的好友列表的节点。在一种可能的设计方式中,若K为偶数,所述节点集群中的K/2个节点中的每个节点按照所述预定排列顺序,将与该节点依次相邻的(K-2)/2个节点确定为所述可委托节点,以及所述节点集群中剩余的K/2个节点中的每个节点按照所述预定排列顺序,将与该节点依次相邻的K/2个节点确定为所述可委托节点。在一种可能的设计方式中,所述委托模块用于:若所述M个社交用户中的至少两个社交用户对应的至少两个社交对象列表存储在同一个节点,且所述至少两个社交用户的好友列表中均包括委托用户,则将所述至少两个社交对象列表合并处理为一条信息后发送。在一种可能的设计方式中,所述委托模块用于:若该社交用户的好友列表中的至少两个委托用户所匹配的节点为同一个节点,则针对所述至少两个委托用户,只向匹配的节点发送一次该社交用户的社交对象列表。在一种可能的设计方式中,所述M个社交用户中的每个社交用户与该社交用户的好友之间的共同社交对象的确定过程对应一个计算任务,与所述M个社交用户对应的M个计算任务中的至少两个计算任务并行执行。在一种可能的设计方式中,每个计算任务划分为至少两个子任务,每个子任务通过调用不同的线程执行,其中,根据每个子任务的执行时长分配对应的线程数量,子任务的执行时长和线程数量呈正相关关系。在一种可能的设计方式中,采用SIMD向量化方式确定两个社交用户对应的两个社交对象列表中的交集元素,并将确定出的交集元素确定为所述两个社交用户之间的共同社交对象。一方面,提供一种确定共同社交对象的系统,所述系统包括至少两个计算节点,本文档来自技高网...

【技术保护点】
1.一种确定共同社交对象的方法,其特征在于,所述方法包括:获得社交平台中的M个社交用户中的每个社交用户的社交对象列表,其中,所述社交平台中的所有社交用户的社交对象列表按照预设分配策略分配到节点集群中的各个节点上存储,社交对象列表为与社交用户之间有社交关系的社交对象的集合,社交对象列表包括社交用户的好友列表,M为大于或等于1的整数,且M小于所述所有社交用户的总数;按照预设委托策略,针对所述M个社交用户中的每个社交用户,从该社交用户的好友列表中确定委托用户;从所述节点集群中确定用于存储每个委托用户的社交对象列表所匹配的节点;并将该社交用户的社交对象列表发送给每个委托用户所匹配的节点,以请求匹配的节点根据接收到的社交对象列表确定对应委托用户与该社交用户之间的共同社交对象。

【技术特征摘要】
1.一种确定共同社交对象的方法,其特征在于,所述方法包括:获得社交平台中的M个社交用户中的每个社交用户的社交对象列表,其中,所述社交平台中的所有社交用户的社交对象列表按照预设分配策略分配到节点集群中的各个节点上存储,社交对象列表为与社交用户之间有社交关系的社交对象的集合,社交对象列表包括社交用户的好友列表,M为大于或等于1的整数,且M小于所述所有社交用户的总数;按照预设委托策略,针对所述M个社交用户中的每个社交用户,从该社交用户的好友列表中确定委托用户;从所述节点集群中确定用于存储每个委托用户的社交对象列表所匹配的节点;并将该社交用户的社交对象列表发送给每个委托用户所匹配的节点,以请求匹配的节点根据接收到的社交对象列表确定对应委托用户与该社交用户之间的共同社交对象。2.如权利要求1所述的方法,其特征在于,所述方法还包括:接收所述节点集群中的其它节点根据所述预设委托策略发送的至少一个社交对象列表,其中,所述至少一个社交对象列表为N个社交用户的社交对象列表,在所述N个社交用户中的每个社交用户的好友列表中均包括属于所述M个社交用户的委托用户,N为大于或等于1的整数,且N小于所述所有社交用户的总数;根据所述至少一个社交对象列表,确定属于所述M个社交用户的委托用户与所述N个社交用户之间的共同社交对象。3.如权利要求1所述的方法,其特征在于,按照预设委托策略,针对所述M个社交用户中的每个社交用户,从该社交用户的好友列表确定委托用户,包括:根据社交用户的用户标识的取值,从该社交用户的好友列表中确定取值大于或小于该社交用户的用户标识的取值的社交用户,并将确定出的社交用户确定为该好友列表中的委托用户;或者,根据节点的节点标识的取值,从该社交用户的好友列表中确定好友列表存储的节点的取值大于或小于本节点的取值的社交用户,并将确定出的社交用户确定为该好友列表中的委托用户,其中,所述本节点为存储所述M个社交用户的社交对象列表的节点。4.如权利要求1所述的方法,其特征在于,所述方法还包括:从所述节点集群中确定可委托节点,其中,所述可委托节点的数量为所述节点集群的节点总数的一半;则,从所述节点集群中确定用于存储每个委托用户的社交对象列表的节点,包括:从所述可委托节点中确定用于存储每个委托用户的社交对象列表的节点。5.如权利要求4所述的方法,其特征在于,所述节点集群中的每个节点具有唯一的节点标识,所述节点集群中的所有节点按照节点标识具有预定排列顺序,所述节点集群的节点总数为K,K为大于或等于2的整数;则,从所述节点集群中确定可委托节点,包括:若K为奇数,则根据所述预定排列顺序,将与本节点依次相邻的(K-1)/2个节点确定为所述可委托节点;若K为偶数,则根据所述预定排列顺序,将与本节点依次相邻的K/2个节点或(K-2)/2个节点确定为所述可委托节点;其中,所述本节点为存储所述M个社交用户的好友列表的节点。6.如权利要求5所述的方法,其特征在于,若K为偶数,所述节点集群中的K/2个节点中的每个节点按照所述预定排列顺序,将与该节点依次相邻的(K-2)/2个节点确定为所述可委托...

【专利技术属性】
技术研发人员:何聪辉于东海
申请(专利权)人:腾讯科技深圳有限公司
类型:发明
国别省市:广东,44

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

1