一种用户好友数据的分析方法及系统、相关设备与流程

文档序号:19155951发布日期:2019-11-16 00:46阅读:228来源:国知局
一种用户好友数据的分析方法及系统、相关设备与流程

本发明涉及数据分析技术领域,特别涉及一种用户好友数据的分析方法及系统、相关设备。



背景技术:

好友推荐是各大社交平台的重要功能之一,好友推荐的核心思想是发现用户的潜在好友,一般是由平台对应的服务器对平台中用户的好友数据进行分析,发现不同用户之间的关联性,进而确定出用户的潜在好友。随着平台的用户数量的增长,用户的好友数据的数据量可以达到太字节(terabyte,tb)级别,这就需要大数据技术的支持,目前,一般是基于mapreduce这一面向大数据并行处理的计算框架,把数据分析任务分配到集群的不同节点上并行分析,从而实现对海量数据的支持。然而,目前的用户好友数据的分析过程存在多个mapreduce阶段,会产生大量的输入/输出(input/output,i/o)开销,使得用户好友数据的分析效率较低。



技术实现要素:

为了解决相关技术中存在的用户好友数据的分析效率较低的问题,本发明提供了一种用户好友数据的分析方法及系统、相关设备。

本发明实施例第一方面公开了一种用户好友数据的分析方法,所述方法包括:

获取包括若干行数据的好友关系文档;其中,每一行数据包括用户身份标识码以及所述用户身份标识码对应的好友列表,所述好友列表包括与所述用户身份标识码绑定为好友关系的好友身份标识码,所述用户身份标识码以及好友身份标识码均为非负数值;

将所述好友关系文档发送至目标映射服务器,以使所述目标映射服务器根据所述好友关系文档生成所述好友关系文档对应的键值对总列表;所述键值对总列表包括所述好友关系文档中每一行数据对应的键值对列表,所述键值对列表包括第一键值对和第二键值对,所述第一键值对包括行数据对应的好友列表中的任意两个好友身份标识码,所述第二键值对包括标记标识码和用户元组,所述用户元组包括所述行数据对应的用户身份标识码和所述行数据对应的好友列表中的好友数量,所述标记识别码为负数值;

将所述目标映射服务器反馈的所述键值对总列表传输至目标规约服务器,以使所述目标规约服务器根据所述键值对总列表获取目标计算参数,以及由所述目标规约服务器根据所述目标计算参数获取所述好友关系文档中任意两个用户身份标识码对应的jaccard相似度,所述目标计算参数包括所述好友关系文档中的用户身份标识码对应的好友数量以及任意两个用户身份标识码的共同好友数量;

接收所述目标规约服务器反馈的所述好友关系文档中任意两个用户身份标识码对应的jaccard相似度;

输出好友匹配率列表,所述好友匹配率列表包括所述好友关系文档中任意两个用户身份标识码对应的jaccard相似度。

作为一种可选的实施方式,在本发明实施例第一方面中,所述将所述好友关系文档发送至目标映射服务器,以使所述目标映射服务器根据所述好友关系文档生成所述好友关系文档对应的键值对总列表,包括:

根据预设的文档分割规则,将所述好友关系文档分割为若干个好友关系子文档;

将所述若干个好友关系子文档分别发送至所述若干个好友关系子文档各自对应的映射服务器,以使若干个所述映射服务器分别根据接收到的好友关系子文档生成所述收到的好友关系子文档对应的键值对子列表,所述键值对子列表包括所述收到的好友关系子文档中每一行数据对应的键值对列表;

根据所述若干个好友关系子文档各自对应的映射服务器分别反馈的键值对子列表生成键值对总列表;

所述将所述目标映射服务器反馈的所述键值对总列表传输至目标规约服务器,以使所述目标规约服务器根据所述键值对总列表获取目标计算参数,包括:

将所述键值对总列表传输至目标规约服务器,以使所述目标规约服务器根据所述键值对总列表获取目标计算参数。

作为一种可选的实施方式,在本发明实施例第一方面中,所述根据所述若干个好友关系子文档各自对应的映射服务器分别反馈的键值对子列表生成键值对总列表之后,所述方法还包括:

按照预设的排序规则对所述键值对总列表进行升序排序,获得排序后的目标键值对总列表;

将所述目标键值对总列表分割为若干个键值对分列表,其中,包括相同的标记标识码的行数据对应的键值对列表被分配至同一个键值对分列表;

所述将所述键值对总列表传输至目标规约服务器,以使所述目标规约服务器根据所述键值对总列表获取目标计算参数,包括:

将所述若干个键值对分列表分别传输至所述若干个键值对分列表各自对应的规约服务器,以使若干个所述规约服务器分别根据接收到的键值对分列表获取所述接收到的键值对分列表对应的初始计算参数;所述初始计算参数包括所述接收到的键值对分列表中的用户身份标识码对应的好友数量以及任意两个用户身份标识码的共同好友数量;以及由目标规约服务器在接收到若干个所述规约服务器分别反馈的若干个所述初始计算参数后,整合若干个所述初始计算参数以获得目标计算参数,所述目标规约服务器为若干个所述规约服务器中运算速度最快的规约服务器。

作为一种可选的实施方式,在本发明实施例第一方面中,所述将所述若干个好友关系子文档分别发送至所述若干个好友关系子文档各自对应的映射服务器之前,所述方法还包括:

获取可用的规约服务器的数量n,n为正整数;

生成n个标记标识码;

将所述n个标记标识码与不同的规约服务器关联存储至标记标识码与规约服务器的对照表;

所述将所述若干个键值对分列表分别传输至所述若干个键值对分列表各自对应的规约服务器,包括:

查找所述对照表,以根据所述若干个键值对分列表各自对应的标记标识码将所述若干个键值对分列表分别传输至所述若干个键值对分列表各自对应的规约服务器。

作为一种可选的实施方式,在本发明实施例第一方面中,所述jaccard相似度的计算公式为:

其中,n1、n2分别表示所述任意两个用户身份标识码各自对应的好友数量,n3表示所述任意两个用户身份标识码的共同好友数量。

作为一种可选的实施方式,在本发明实施例第一方面中,所述输出好友匹配率列表之后,所述方法还包括:

遍历所述好友匹配率列表,以获得所述好友匹配率列表中高于预设的jaccard相似度阈值的目标jaccard相似度;

将所述目标jaccard相似度对应两个用户身份标识码关联标记为潜在好友对;

根据所述潜在好友对生成好友推荐列表,所述好友推荐列表包括所述好友关系文档中的用户身份标识码以及所述好友关系文档中的用户身份标识码各自对应的潜在好友的用户身份标识码。

作为一种可选的实施方式,在本发明实施例第一方面中,所述根据所述潜在好友对生成好友推荐列表之后,所述方法还包括:

检测所述好友关系文档中各用户身份标识码对应的用户活跃度;所述用户活跃度与用户的用户身份标识码的使用频率成正比;

根据好友推荐列表以及目标用户的用户身份标识码为目标用户推送好友推荐信息,所述好友推荐信息至少包括所述目标用户的潜在好友的用户身份标识码,所述目标用户为所述用户活跃度低于预设的用户活跃度阈值的用户。

本发明实施例第二方面公开了一种用户好友数据的分析系统,所述系统包括:

第一获取单元,用于获取包括若干行数据的好友关系文档;其中,每一行数据包括用户身份标识码以及所述用户身份标识码对应的好友列表,所述好友列表包括与所述用户身份标识码绑定为好友关系的好友身份标识码,所述用户身份标识码以及好友身份标识码均为非负数值;

发送单元,用于将所述好友关系文档发送至目标映射服务器,以使所述目标映射服务器根据所述好友关系文档生成所述好友关系文档对应的键值对总列表;所述键值对总列表包括所述好友关系文档中每一行数据对应的键值对列表,所述键值对列表包括第一键值对和第二键值对,所述第一键值对包括行数据对应的好友列表中的任意两个好友身份标识码,所述第二键值对包括标记标识码和用户元组,所述用户元组包括所述行数据对应的用户身份标识码和所述行数据对应的好友列表中的好友数量,所述标记识别码为负数值;

传输单元,用于将所述目标映射服务器反馈的所述键值对总列表传输至目标规约服务器,以使所述目标规约服务器根据所述键值对总列表获取目标计算参数,以及由所述目标规约服务器根据所述目标计算参数获取所述好友关系文档中任意两个用户身份标识码对应的jaccard相似度,所述目标计算参数包括所述好友关系文档中的用户身份标识码对应的好友数量以及任意两个用户身份标识码的共同好友数量;

接收单元,用于接收所述目标规约服务器反馈的所述好友关系文档中任意两个用户身份标识码对应的jaccard相似度;

输出单元,用于输出好友匹配率列表,所述好友匹配率列表包括所述好友关系文档中任意两个用户身份标识码对应的jaccard相似度。

本发明实施例第三方面公开了一种电子设备,所述电子设备包括:

处理器;

存储器,所述存储器上存储有计算机可读指令,所述计算机可读指令被所述处理器执行时,实现本发明实施例第一方面公开的用户好友数据的分析方法。

本发明实施例第四方面公开了一种计算机可读存储介质,其存储计算机程序,所述计算机程序使得计算机执行本发明实施例第一方面公开的用户好友数据的分析方法。

本发明的实施例提供的技术方案可以包括以下有益效果:

本发明所提供的用户好友数据的分析方法包括如下步骤:获取包括若干行数据的好友关系文档;其中,每一行数据包括用户身份标识码以及该用户身份标识码对应的好友列表,好友列表包括与用户身份标识码绑定为好友关系的好友身份标识码,用户身份标识码以及好友身份标识码均为非负数值;将好友关系文档发送至目标映射服务器,以使目标映射服务器根据好友关系文档生成好友关系文档对应的键值对总列表;该键值对总列表包括好友关系文档中每一行数据对应的键值对列表,键值对列表包括第一键值对和第二键值对,第一键值对包括行数据对应的好友列表中的任意两个好友身份标识码,第二键值对包括标记标识码和用户元组,用户元组包括行数据对应的用户身份标识码和行数据对应的好友列表中的好友数量,标记识别码为负数值;接收目标映射服务器反馈的键值对总列表;将键值对总列表传输至目标规约服务器,以使目标规约服务器根据键值对总列表获取目标计算参数,以及由目标规约服务器根据目标计算参数获取键值对总列表中任意两个用户身份标识码对应的jaccard相似度,该目标计算参数包括好友关系文档中的用户身份标识码对应的好友数量以及任意两个用户身份标识码的共同好友数量;接收目标规约服务器反馈的好友关系文档中任意两个用户身份标识码对应的jaccard相似度;输出好友匹配率列表,该好友匹配率列表包括好友关系文档中任意两个用户身份标识码对应的jaccard相似度。

此方法下,将每一用户的用户身份标识码与用户好友的好友身份标识码整合至好友关系文档中并分配至目标映射服务器,由目标映射服务器根据好友关系文档生成好友关系文档对应的键值对总列表,在接收到键值对总列表后将键值对总列表发送至目标规约服务器,由目标规约服务器根据键值对总列表计算出任意两个用户身份标识码对应的jaccard相似度。可见,实施本发明实施例,将用户好友数据的分析压缩至一个mapreduce阶段,减少了i/o开销,进而能够提高用户好友数据的分析效率。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本发明。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并于说明书一起用于解释本发明的原理。

图1是本发明实施例公开的一种装置的结构示意图;

图2是本发明实施例公开的一种用户好友数据的分析方法的流程图;

图3是本发明实施例公开的另一种用户好友数据的分析方法的流程图;

图4是本发明实施例公开的一种用户好友数据的分析系统的结构示意图;

图5是本发明实施例公开的另一种用户好友数据的分析系统的结构示意图。

具体实施方式

这里将详细地对示例性实施例执行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。

实施例一

本发明的实施环境可以是电子设备,例如智能手机、平板电脑、台式电脑。

图1是本发明实施例公开的一种装置的结构示意图。装置100可以是上述电子设备。如图1所示,装置100可以包括以下一个或多个组件:处理组件102,存储器104,电源组件106,多媒体组件108,音频组件110,传感器组件114以及通信组件116。

处理组件102通常控制装置100的整体操作,诸如与显示,电话呼叫,数据通信,相机操作以及记录操作相关联的操作等。处理组件102可以包括一个或多个处理器118来执行指令,以完成下述的方法的全部或部分步骤。此外,处理组件102可以包括一个或多个模块,用于便于处理组件102和其他组件之间的交互。例如,处理组件102可以包括多媒体模块,用于以方便多媒体组件108和处理组件102之间的交互。

存储器104被配置为存储各种类型的数据以支持在装置100的操作。这些数据的示例包括用于在装置100上操作的任何应用程序或方法的指令。存储器104可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(staticrandomaccessmemory,简称sram),电可擦除可编程只读存储器(electricallyerasableprogrammableread-onlymemory,简称eeprom),可擦除可编程只读存储器(erasableprogrammablereadonlymemory,简称eprom),可编程只读存储器(programmablered-onlymemory,简称prom),只读存储器(read-onlymemory,简称rom),磁存储器,快闪存储器,磁盘或光盘。存储器104中还存储有一个或多个模块,用于该一个或多个模块被配置成由该一个或多个处理器118执行,以完成如下所示方法中的全部或者部分步骤。

电源组件106为装置100的各种组件提供电力。电源组件106可以包括电源管理系统,一个或多个电源,及其他与为装置100生成、管理和分配电力相关联的组件。

多媒体组件108包括在装置100和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(liquidcrystaldisplay,简称lcd)和触摸面板。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与触摸或滑动操作相关的持续时间和压力。屏幕还可以包括有机电致发光显示器(organiclightemittingdisplay,简称oled)。

音频组件110被配置为输出和/或输入音频信号。例如,音频组件110包括一个麦克风(microphone,简称mic),当装置100处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器104或经由通信组件116发送。在一些实施例中,音频组件110还包括一个扬声器,用于输出音频信号。

传感器组件114包括一个或多个传感器,用于为装置100提供各个方面的状态评估。例如,传感器组件114可以检测到装置100的打开/关闭状态,组件的相对定位,传感器组件114还可以检测装置100或装置100一个组件的位置改变以及装置100的温度变化。在一些实施例中,该传感器组件114还可以包括磁传感器,压力传感器或温度传感器。

通信组件116被配置为便于装置100和其他设备之间有线或无线方式的通信。装置100可以接入基于通信标准的无线网络,如wifi(wireless-fidelity,无线保真)。在本发明实施例中,通信组件116经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在本发明实施例中,通信组件116还包括近场通信(nearfieldcommunication,简称nfc)模块,用于以促进短程通信。例如,在nfc模块可基于射频识别(radiofrequencyidentification,简称rfid)技术,红外数据协会(infrareddataassociation,简称irda)技术,超宽带(ultrawideband,简称uwb)技术,蓝牙技术和其他技术来实现。

在示例性实施例中,装置100可以被一个或多个应用专用集成电路(applicationspecificintegratedcircuit,简称asic)、数字信号处理器、数字信号处理设备、可编程逻辑器件、现场可编程门阵列、控制器、微控制器、微处理器或其他电子元件实现,用于执行下述方法。

实施例二

请参阅图2,图2是本发明实施例公开的一种用户好友数据的分析方法的流程示意图。如图2所示该用户好友数据的分析方法可以包括以下步骤:

201、获取包括若干行数据的好友关系文档。

本发明实施例中,上述好友关系文档中的每一行数据包括用户身份标识码以及用户身份标识码对应的好友列表,该好友列表包括与用户身份标识码绑定为好友关系的好友身份标识码,用户身份标识码以及好友身份标识码均为非负数值。

202、将好友关系文档发送至目标映射服务器,以使目标映射服务器根据该好友关系文档生成好友关系文档对应的键值对总列表。

本发明实施例中,上述键值对总列表包括好友关系文档中每一行数据对应的键值对列表,键值对列表包括第一键值对和第二键值对,第一键值对包括行数据对应的好友列表中的任意两个好友身份标识码,第二键值对包括标记标识码和用户元组,用户元组包括行数据对应的用户身份标识码和行数据对应的好友列表中的好友数量,标记识别码为负数值。

203、将目标映射服务器反馈的键值对总列表传输至目标规约服务器,以使目标规约服务器根据键值对总列表获取目标计算参数,以及由目标规约服务器根据目标计算参数获取好友关系文档中任意两个用户身份标识码对应的jaccard相似度。

本发明实施例中,上述目标计算参数包括好友关系文档中的用户身份标识码对应的好友数量以及任意两个用户身份标识码的共同好友数量。可以理解,本发明实施例是基于mapreduce,对好友关系文档中的数据进行分析,上述目标映射服务器可以是用于处理映射阶段的数据的服务器,目标规约服务器可以是用于处理规约阶段的数据的服务器。

本发明实施例中,可以理解,jaccard相似度用于比较不同用户的好友之间的相似度。jaccard相似度值越大,相似度越高。jaccard相似度的计算公式可以为:

其中,n1、n2分别表示任意两个用户身份标识码各自对应的好友数量,n3表示任意两个用户身份标识码的共同好友数量。

举例来说,请参阅如下的好友关系文档以及该好友关系文档对应的键值对总列表如表1所示:

表1

其中,好友关系文档中第一列为用户身份标识码(a,b,c,d),第二列为用户身份标识码对应的好友列表,比如a对应的好友列表为包括b、c和d的集合。第一行数据对应的键值对列表中第一键值对有<b,c>、<b,d>和<c,d>,第二键值对为<-1,[a,3]>,其中-1为标记标识码,[a,3]为用户元组,由<-1,[a,3]>可以获知a的好友数量为3。进一步的,键值对总列表中键值对<b,c>的数量为2,可以获知b和c之间有2个共同好友。以此类推,可以获取好友关系文档中每一用户身份标识码对应的好友数量以及任意两个用户身份标识码的共同好友数量。

204、接收目标规约服务器反馈的好友关系文档中任意两个用户身份标识码对应的jaccard相似度。

205、输出好友匹配率列表,该好友匹配率列表包括好友关系文档中任意两个用户身份标识码对应的jaccard相似度。

作为一种可选的实施方式,本发明实施例还在磁盘中存储有每一用户身份标识码的好友数记录表,以及任意两个用户身份标识码对应的好友匹配率记录表,在步骤205之后,还可以包括以下步骤:对任一用户身份标识码,将获得的该用户身份标识码的好友数量保存至该用户身份标识码对应的好友数记录表中;以及,对任意两个用户身份标识码对应的好友匹配率记录表,根据上述好友匹配率列表进行数据更新。

进一步可选的,在上述对任意两个用户身份标识码对应的好友匹配率记录表,根据上述好友匹配率列表进行数据更新之后,还可以包括以下步骤:

对任一目标身份标识码,分析该目标用户身份标识码对应的好友数记录表以获取好友数增长率,若该好友数增长率低于预设的好友数增长率,根据上述好友匹配率列表为该目标身份标识码对应的终端推送好友推荐信息,该好友推荐信息可以包括若干个潜在好友的用户身份标识码,潜在好友的用户身份标识码与目标用户身份标识码的jaccard相似度高于预设的jaccard相似度阈值。

对更新后的任意两个用户身份标识码对应的好友匹配率记录表进行分析,以获取这两个用户身份标识码之间的jaccard相似度增长率,若该jaccard相似度增长率高于预设的jaccard相似度增长率,为这两个用户身份标识码各自对应的终端推送彼此的用户身份标识码。

可见,实施可选的实施方式,能够对每一用户的好友数以及任意两个用户之间的jaccard相似度进行记录,此外,根据好友数的增长率以及jaccard相似度增长率实现好友推荐,能够提升用户的交友体验。

可见,实施图2所描述的方法,将每一用户的用户身份标识码与用户好友的好友身份标识码整合至好友关系文档中并分配至目标映射服务器,由目标映射服务器根据好友关系文档生成好友关系文档对应的键值对总列表,在接收到键值对总列表后将键值对总列表发送至目标规约服务器,由目标规约服务器根据键值对总列表计算出任意两个用户身份标识码对应的jaccard相似度,减少了i/o开销,进而能够提高用户好友数据的分析效率。

实施例三

请参阅图3,图3是本发明实施例公开的另一种用户好友数据的分析方法的流程示意图。如图3所示,该用户好友数据的分析方法可以包括以下步骤:

301、获取包括若干行数据的好友关系文档。

本发明实施例中,上述好友关系文档中的每一行数据包括用户身份标识码以及用户身份标识码对应的好友列表,该好友列表包括与用户身份标识码绑定为好友关系的好友身份标识码,用户身份标识码以及好友身份标识码均为非负数值。

302、根据预设的文档分割规则,将好友关系文档分割为若干个好友关系子文档。

303、将若干个好友关系子文档分别发送至若干个好友关系子文档各自对应的映射服务器,以使若干个映射服务器分别根据接收到的好友关系子文档生成收到的好友关系子文档对应的键值对子列表。

本发明实施例中,上述键值对子列表包括收到的好友关系子文档中每一行数据对应的键值对列表。

304、根据若干个好友关系子文档各自对应的映射服务器分别反馈的键值对子列表生成键值对总列表。

本发明实施例中,上述键值对总列表包括好友关系文档中每一行数据对应的键值对列表,键值对列表包括第一键值对和第二键值对,第一键值对包括行数据对应的好友列表中的任意两个好友身份标识码,第二键值对包括标记标识码和用户元组,用户元组包括行数据对应的用户身份标识码和行数据对应的好友列表中的好友数量,标记识别码为负数值。

305、将键值对总列表传输至目标规约服务器,以使目标规约服务器根据键值对总列表获取目标计算参数,以及由目标规约服务器根据目标计算参数获取好友关系文档中任意两个用户身份标识码对应的jaccard相似度。

本发明实施例中,上述目标计算参数包括好友关系文档中的用户身份标识码对应的好友数量以及任意两个用户身份标识码的共同好友数量。

作为一种可选的实施方式,在步骤304之后,还可以包括以下步骤:

按照预设的排序规则对键值对总列表进行升序排序,获得排序后的目标键值对总列表;将目标键值对总列表分割为若干个键值对分列表,其中,包括相同的标记标识码的行数据对应的键值对列表被分配至同一个键值对分列表;

上述将键值对总列表传输至目标规约服务器,以使目标规约服务器根据键值对总列表获取目标计算参数,可以包括:

将若干个键值对分列表分别传输至若干个键值对分列表各自对应的规约服务器,以使若干个规约服务器分别根据接收到的键值对分列表获取接收到的键值对分列表对应的初始计算参数;该初始计算参数包括接收到的键值对分列表中的用户身份标识码对应的好友数量以及任意两个用户身份标识码的共同好友数量;以及由目标规约服务器在接收到若干个规约服务器分别反馈的若干个初始计算参数后,整合若干个初始计算参数以获得目标计算参数,目标规约服务器为若干个规约服务器中运算速度最快的规约服务器。

进一步可选的,在将若干个好友关系子文档分别发送至若干个好友关系子文档各自对应的映射服务器之前,还可以包括以下步骤:

获取可用的规约服务器的数量n,n为正整数;生成n个标记标识码;

将n个标记标识码与不同的规约服务器关联存储至标记标识码与规约服务器的对照表;

上述将若干个键值对分列表分别传输至若干个键值对分列表各自对应的规约服务器,可以包括:

查找上述对照表,以根据若干个键值对分列表各自对应的标记标识码将若干个键值对分列表分别传输至若干个键值对分列表各自对应的规约服务器。

进一步的,在将n个标记标识码与不同的规约服务器关联存储至标记标识码与规约服务器的对照表之后,还可以包括以下步骤:

将包括用户身份标识码及其好友数量的元组分别与不同的标记标识码以第二键值对的形式加入广播键值对列表,并根据标记标识码将广播键值对列表进行定向广播。例如,当前可用的规约服务器数为3个,若用户a拥有20位好友,那么将键值对<-1,[a,20]>、<-2,[a,20]>和<-3,[a,20]>分别广播至不同的规约服务器。

可见,实施本实施方式,在对键值对总列表进行升序排序后,负数值的标记标识码可以保证用户身份标识码的好友数信息优先于其他信息到达规约服务器;此外,将键值对总列表进行分割并分配至不同的规约服务器,能够减少单个规约服务器的计算压力,进而提升数据分析效率。此外,将广播键值对列表根据标记标识码进行定向广播,使得在利用分布式系统对用户好友数据进行集群处理时,保证每个服务器上用户好友数量的完整性与准确性。

306、接收目标规约服务器反馈的好友关系文档中任意两个用户身份标识码对应的jaccard相似度。

307、输出好友匹配率列表,该好友匹配率列表包括好友关系文档中任意两个用户身份标识码对应的jaccard相似度。

308、遍历好友匹配率列表,以获得好友匹配率列表中高于预设的jaccard相似度阈值的目标jaccard相似度;

309、将目标jaccard相似度对应两个用户身份标识码关联标记为潜在好友对。

310、根据潜在好友对生成好友推荐列表,该好友推荐列表包括好友关系文档中的用户身份标识码以及好友关系文档中的用户身份标识码各自对应的潜在好友的用户身份标识码。

作为一种可选的实施方式,在步骤310之后,还可以包括以下步骤:

检测好友关系文档中各用户身份标识码对应的用户活跃度;用户活跃度与用户的用户身份标识码的使用频率成正比;

根据好友推荐列表以及目标用户的用户身份标识码为目标用户推送好友推荐信息,好友推荐信息至少包括目标用户的潜在好友的用户身份标识码,目标用户为用户活跃度低于预设的用户活跃度阈值的用户。

可见,实施本实施方式,在检测到用户身份标识码对应的用户活跃度较低时,为该用户推荐好友,有助于提升的用户活跃。

可见,实施图3所描述的方法,减少了i/o开销,进而能够提高用户好友数据的分析效率。此外,在对键值对总列表进行升序排序后,负数值的标记标识码可以保证用户身份标识码的好友数信息优先于其他信息到达规约服务器;此外,将键值对总列表进行分割并分配至不同的规约服务器,能够减少单个规约服务器的计算压力,进而提升数据分析效率。此外,在检测到用户身份标识码对应的用户活跃度较低时,为该用户推荐好友,有助于提升的用户活跃。

实施例四

请参阅图4,图4是本发明实施例公开的一种用户好友数据的分析系统的结构示意图。如图4所示,该用户好友数据的分析系统可以包括:第一获取单元401、发送单元402、传输单元403、接收单元404以及输出单元405,其中,

第一获取单元401,用于获取包括若干行数据的好友关系文档;其中,每一行数据包括用户身份标识码以及用户身份标识码对应的好友列表,好友列表包括与用户身份标识码绑定为好友关系的好友身份标识码,用户身份标识码以及好友身份标识码均为非负数值;

发送单元402,用于将好友关系文档发送至目标映射服务器,以使目标映射服务器根据好友关系文档生成好友关系文档对应的键值对总列表;键值对总列表包括好友关系文档中每一行数据对应的键值对列表,键值对列表包括第一键值对和第二键值对,第一键值对包括行数据对应的好友列表中的任意两个好友身份标识码,第二键值对包括标记标识码和用户元组,用户元组包括行数据对应的用户身份标识码和行数据对应的好友列表中的好友数量,标记识别码为负数值;

传输单元403,用于将目标映射服务器反馈的键值对总列表传输至目标规约服务器,以使目标规约服务器根据键值对总列表获取目标计算参数,以及由目标规约服务器根据目标计算参数获取好友关系文档中任意两个用户身份标识码对应的jaccard相似度,目标计算参数包括好友关系文档中的用户身份标识码对应的好友数量以及任意两个用户身份标识码的共同好友数量;

本发明实施例中,jaccard相似度的计算公式可以为:

其中,n1、n2分别表示任意两个用户身份标识码各自对应的好友数量,n3表示任意两个用户身份标识码的共同好友数量。

接收单元404,用于接收目标规约服务器反馈的好友关系文档中任意两个用户身份标识码对应的jaccard相似度;

输出单元405,用于输出好友匹配率列表,好友匹配率列表包括好友关系文档中任意两个用户身份标识码对应的jaccard相似度。

作为一种可选的实施方式,本发明实施例还在磁盘中存储有每一用户身份标识码的好友数记录表,以及任意两个用户身份标识码对应的好友匹配率记录表,输出单元405,还用于在输出好友匹配率列表之后,对任一用户身份标识码,将获得的该用户身份标识码的好友数量保存至该用户身份标识码对应的好友数记录表中;以及,对任意两个用户身份标识码对应的好友匹配率记录表,根据上述好友匹配率列表进行数据更新。

进一步可选的,输出单元405,还用于在对任意两个用户身份标识码对应的好友匹配率记录表,根据上述好友匹配率列表进行数据更新之后,对任一目标身份标识码,分析该目标用户身份标识码对应的好友数记录表以获取好友数增长率,以及在该好友数增长率低于预设的好友数增长率时,根据上述好友匹配率列表为该目标身份标识码对应的终端推送好友推荐信息,该好友推荐信息可以包括若干个潜在好友的用户身份标识码,潜在好友的用户身份标识码与目标用户身份标识码的jaccard相似度高于预设的jaccard相似度阈值。

此外,输出单元405,还用于对更新后的任意两个用户身份标识码对应的好友匹配率记录表进行分析,以获取这两个用户身份标识码之间的jaccard相似度增长率,以及在该jaccard相似度增长率高于预设的jaccard相似度增长率时,为这两个用户身份标识码各自对应的终端推送彼此的用户身份标识码。

可见,实施可选的实施方式,能够对每一用户的好友数以及任意两个用户之间的jaccard相似度进行记录,此外,根据好友数的增长率以及jaccard相似度增长率实现好友推荐,能够提升用户的交友体验。

可见,实施图4所描述的用户好友数据的分析系统,将每一用户的用户身份标识码与用户好友的好友身份标识码整合至好友关系文档中并分配至目标映射服务器,由目标映射服务器根据好友关系文档生成好友关系文档对应的键值对总列表,在接收到键值对总列表后将键值对总列表发送至目标规约服务器,由目标规约服务器根据键值对总列表计算出任意两个用户身份标识码对应的jaccard相似度,减少了i/o开销,进而能够提高用户好友数据的分析效率。

实施例五

请参阅图5,图5是本发明实施例公开的另一种用户好友数据的分析系统的结构示意图。图5所示的用户好友数据的分析系统是由图4所示的用户好友数据的分析系统进行优化得到的。与图4所示的用户好友数据的分析系统相比较,图5所示的用户好友数据的分析系统还可以包括:排序单元406、分割单元407、第二获取单元408、第一生成单元409、存储单元410、遍历单元411、标记单元412、第二生成单元413、检测单元414以及推送单元415,其中,

发送单元402可以包括:

分割子单元4021,用于根据预设的文档分割规则,将好友关系文档分割为若干个好友关系子文档;

发送子单元4022,用于将若干个好友关系子文档分别发送至若干个好友关系子文档各自对应的映射服务器,以使若干个映射服务器分别根据接收到的好友关系子文档生成收到的好友关系子文档对应的键值对子列表,键值对子列表包括收到的好友关系子文档中每一行数据对应的键值对列表;

生成子单元4023,用于根据若干个好友关系子文档各自对应的映射服务器分别反馈的键值对子列表生成键值对总列表;

传输单元403用于将目标映射服务器反馈的键值对总列表传输至目标规约服务器,以使目标规约服务器根据键值对总列表获取目标计算参数的方式具体可以为:

传输单元403,用于将键值对总列表传输至目标规约服务器,以使目标规约服务器根据键值对总列表获取目标计算参数。

作为一种可选的实施方式,上述用户好友数据的分析系统还可以包括:

排序单元406,用于在根据若干个好友关系子文档各自对应的映射服务器分别反馈的键值对子列表生成键值对总列表之后,按照预设的排序规则对键值对总列表进行升序排序,获得排序后的目标键值对总列表;

分割单元407,用于将目标键值对总列表分割为若干个键值对分列表,其中,包括相同的标记标识码的行数据对应的键值对列表被分配至同一个键值对分列表;

传输单元403用于将键值对总列表传输至目标规约服务器,以使目标规约服务器根据键值对总列表获取目标计算参数的方式具体可以为:

传输单元403,用于将若干个键值对分列表分别传输至若干个键值对分列表各自对应的规约服务器,以使若干个规约服务器分别根据接收到的键值对分列表获取接收到的键值对分列表对应的初始计算参数;初始计算参数包括接收到的键值对分列表中的用户身份标识码对应的好友数量以及任意两个用户身份标识码的共同好友数量;以及由目标规约服务器在接收到若干个规约服务器分别反馈的若干个初始计算参数后,整合若干个初始计算参数以获得目标计算参数,目标规约服务器为若干个规约服务器中运算速度最快的规约服务器。

进一步可选的,还可以包括:

第二获取单元408,用于在将若干个好友关系子文档分别发送至若干个好友关系子文档各自对应的映射服务器之前,获取可用的规约服务器的数量n,n为正整数;

第一生成单元409,用于生成n个标记标识码;

存储单元410,用于将n个标记标识码与不同的规约服务器关联存储至标记标识码与规约服务器的对照表;

更进一步的,传输单元403用于将若干个键值对分列表分别传输至若干个键值对分列表各自对应的规约服务器的方式可以具体可以为:

传输单元403,用于查找对照表,以根据若干个键值对分列表各自对应的标记标识码将若干个键值对分列表分别传输至若干个键值对分列表各自对应的规约服务器。

进一步的,存储单元410在用于将n个标记标识码与不同的规约服务器关联存储至标记标识码与规约服务器的对照表之后,还可以将包括用户身份标识码及其好友数量的元组分别与不同的标记标识码以第二键值对的形式加入广播键值对列表,以及根据标记标识码将广播键值对列表进行定向广播。

可见,实施本实施方式,在对键值对总列表进行升序排序后,负数值的标记标识码可以保证用户身份标识码的好友数信息优先于其他信息到达规约服务器;此外,将键值对总列表进行分割并分配至不同的规约服务器,能够减少单个规约服务器的计算压力,进而提升数据分析效率。此外,将广播键值对列表根据标记标识码进行定向广播,使得在利用分布式系统对用户好友数据进行集群处理时,保证每个服务器上用户好友数量的完整性与准确性。

遍历单元411,用于在输出好友匹配率列表之后,遍历好友匹配率列表,以获得好友匹配率列表中高于预设的jaccard相似度阈值的目标jaccard相似度;

标记单元412,用于将目标jaccard相似度对应两个用户身份标识码关联标记为潜在好友对;

第二生成单元413,用于根据潜在好友对生成好友推荐列表,好友推荐列表包括好友关系文档中的用户身份标识码以及好友关系文档中的用户身份标识码各自对应的潜在好友的用户身份标识码。

作为一种可选的实施方式,上述用户好友数据的分析系统还可以包括:

检测单元414,用于在根据潜在好友对生成好友推荐列表之后,检测好友关系文档中各用户身份标识码对应的用户活跃度;用户活跃度与用户的用户身份标识码的使用频率成正比;

推送单元415,用于根据好友推荐列表以及目标用户的用户身份标识码为目标用户推送好友推荐信息,好友推荐信息至少包括目标用户的潜在好友的用户身份标识码,目标用户为用户活跃度低于预设的用户活跃度阈值的用户。

可见,实施本实施方式,在检测到用户身份标识码对应的用户活跃度较低时,为该用户推荐好友,有助于提升的用户活跃。

可见,实施图5所描述的用户好友数据的分析系统,减少了i/o开销,进而能够提高用户好友数据的分析效率。此外,在对键值对总列表进行升序排序后,负数值的标记标识码可以保证用户身份标识码的好友数信息优先于其他信息到达规约服务器;此外,将键值对总列表进行分割并分配至不同的规约服务器,能够减少单个规约服务器的计算压力,进而提升数据分析效率。此外,在检测到用户身份标识码对应的用户活跃度较低时,为该用户推荐好友,有助于提升的用户活跃。

本发明还提供一种电子设备,该电子设备包括:

处理器;

存储器,该存储器上存储有计算机可读指令,该计算机可读指令被处理器执行时,实现如前所示的用户好友数据的分析方法。

该电子设备可以是图1所示装置100。

在一示例性实施例中,本发明还提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时,实现如前所示的用户好友数据的分析方法。

应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围执行各种修改和改变。本发明的范围仅由所附的权利要求来限制。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1