关系链处理系统、方法和装置与流程

文档序号:12135087阅读:292来源:国知局
关系链处理系统、方法和装置与流程

本发明涉及网络社交技术领域,特别是涉及一种关系链处理系统、方法和装置。



背景技术:

随着终端硬件技术的发展进步以及网络的普及,用户可以使用个人计算机或者手机等终端登录社交应用客户端,与其他同样登录了社交应用客户端的用户进行社交互动。社交互动比如即时通信和内容分享等。

关系链是用户进行网络社交的基础,通常可以通过用户标识之间的映射关系来表示。比如可存储用户A与用户B的映射关系,用户A和用户B拉取这种映射关系来获取对方的信息,从而与对方进行社交互动。

然而,目前为了避免关系链出错从而导致基于关系链的社交互动无法进行,需要将关系链进行集中存储,比如存储在某一互联网数据中心(IDC,Internet Data Center)。但对关系链进行集中存储存在很大的宕机风险,而且用户无法就近访问,终端的访问性能无法保证。



技术实现要素:

基于此,有必要针对目前对关系链进行集中存储存在宕机风险的问题,提供一种关系链处理系统、方法和装置。

一种关系链处理系统,所述系统包括:

多个互联网数据中心,各自用于存储与用户标识对应的正向关系链用户集合和反向关系链用户集合;所述正向关系链用户集合包括对应的用户标识所添加的社交好友的用户标识;所述反向关系链用户集合包括添加了所述反向关系链用户集合所对应的用户标识为社交好友的用户标识;

关系链修复服务器,用于检测各互联网数据中心存储的与当前检测的用户标识对应的正向关系链用户集合是否与相应的反转反向关系链用户集合一致, 若不一致,则将不一致的正向关系链用户集合和/或相应的反向关系链用户集合进行一致性修复;

其中,所述反转反向关系链用户集合是包括了当前检测的用户标识的反向关系链用户集合所对应的用户标识构成的;若不一致,则将不一致的正向关系链用户集合和/或相应的反向关系链用户集合进行一致性修复。

一种关系链处理方法,所述方法包括:

检测各互联网数据中心存储的与当前检测的用户标识对应的正向关系链用户集合是否与相应的反转反向关系链用户集合一致;所述正向关系链用户集合包括对应的当前检测的用户标识所添加的社交好友的用户标识;所述反向关系链用户集合包括添加了当前检测的用户标识为社交好友的用户标识;所述反转反向关系链用户集合是包括了当前检测的用户标识的反向关系链用户集合所对应的用户标识构成的;

若不一致,则将不一致的正向关系链用户集合和/或相应的反向关系链用户集合进行一致性修复。

一种关系链处理装置,其特征在于,所述装置包括:

一致性检测模块,用于检测各互联网数据中心存储的与当前检测的用户标识对应的正向关系链用户集合是否与相应的反转反向关系链用户集合一致;所述正向关系链用户集合包括对应的当前检测的用户标识所添加的社交好友的用户标识;所述反向关系链用户集合包括添加了当前检测的用户标识为社交好友的用户标识;所述反转反向关系链用户集合是包括了当前检测的用户标识的反向关系链用户集合所对应的用户标识构成的;

修复模块,用于若不一致,则将不一致的正向关系链用户集合和/或相应的反向关系链用户集合进行一致性修复。

上述关系链处理系统、方法和装置,通过将关系链存储在多个互联网数据中心上,即使一个互联网数据中心发生故障仍能够保障关系链的可用性。而且 在各个互联网数据中心上以正向关系链用户集合和反向关系链用户集合的形式来存储关系链,可以明确用户添加了哪些好友以及被哪些其它用户添加为好友,这样可以明确用户之间双向的关系链,从而根据该关系链进行更为精确的社交互动。而且通过检测用户的正向关系链用户集合与反转反向关系链用户集合是否一致,可以检测出各互联网数据中心存储的关系链是否发生了问题,从而通过修复正向关系链用户集合和/或反向关系链用户集合来保证关系链的一致性和可用性。

附图说明

图1为一个实施例中关系链处理系统的应用环境图;

图2为另一个实施例中关系链处理系统的应用环境图;

图3为再一个实施例中关系链处理系统的应用环境图;

图4为一个实施例中一个互联网数据中心的应用环境图;

图5为另一个实施例中关系链处理系统的应用环境图;

图6为一个实施例中关系链处理方法的流程示意图;

图7为一个实施例中检测各互联网数据中心存储的与当前检测的用户标识对应的正向关系链用户集合是否与相应的反转反向关系链用户集合一致的步骤的流程示意图;

图8为一个实施例中获取各个互联网数据中心上与当前检测的用户标识对应的正向关系链用户集合中的各个用户标识间的第一异或值,以及相应的反转反向关系链用户集合中各个用户标识间的第二异或值的步骤的流程示意图;

图9为一个实施例中将不一致的正向关系链用户集合和/或相应的反向关系链用户集合进行一致性修复的步骤的流程示意图;

图10为一个实施例中互联网数据中心内部运行步骤的流程示意图;

图11为一个实施例中互联网数据中心中的服务器的结构示意图;

图12为一个实施例中关系链处理装置的结构框图;

图13为另一个实施例中关系链处理装置的结构框图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

如图1所示,在一个实施例中,提供了一种关系链处理系统,包括多个互联网数据中心102(包括图1中的102(1)和102(2))和关系链修复服务器104。关系链修复服务器104与各个互联网数据中心102连接,互联网数据中心102为用户终端200提供接入接口。用户终端200可选择任意一个互联网数据中心102接入,一般可根据网络结构就近接入互联网数据中心102。用户终端200可以是台式计算机或者移动终端,移动终端包括手机、平板电脑、智能手表以及PDA(个人数字助理)中的至少一种。

多个互联网数据中心102各自用于存储与用户标识对应的正向关系链用户集合和反向关系链用户集合;正向关系链用户集合包括对应的用户标识所添加的社交好友的用户标识;反向关系链用户集合包括添加了反向关系链用户集合所对应的用户标识为社交好友的用户标识。

具体地,互联网数据中心102是服务器集群,是基于互联网的为集中式收集、存储、处理和发送数据的设备提供运行维护的设施。多个互联网数据中心102的数量是已知的。一个互联网数据中心102中的服务器集群在地域上是集中的。社交好友是指基于社交网络的好友,好友并不限于表示线下的朋友,还可以是同事、亲人或者恋人等各种熟人关系的用户。关系链是社交网络中社交好友之间的映射关系。

正向关系链是指用户主动添加其他用户为好友的关系链,正向关系链用户集合则是用户所添加的好友的集合,正向关系链用户集合唯一对应的用户标识是主动添加好友的用户的唯一标识,正向关系链用户集合所包括的用户标识是用户主动添加的好友的唯一标识。正向关系链用户集合可以数据库表的形式存储,可称为正向表。

反向关系链则是用户被动被其他用户添加为好友的关系链,反向关系链用户集合唯一对应的用户标识是被动被其他用户添加为好友的用户的唯一标识, 反向关系链用户集合所包括的用户标识是添加了该反向关系链用户集合所对应的用户标识为好友的各个用户的唯一标识。反向关系链用户集合可以数据库表的形式存储,可称为反向表。正向关系链用户集合和反向关系链用户集合以及与相应的用户标识的对应关系可统称为关系链数据。

与用户标识对应的正向关系链用户集合和反向关系链用户集合存储在一个互联网数据中心102中,多个互联网数据中心102中的其它互联网数据中心102则会存储该正向关系链用户集合和反向关系链用户集合的副本。

举例说明,假设用户UserA和用户UserB互加好友且无其他好友,那么UserA对应的正向关系链用户集合为{UserB},对应的反向关系链用户集合为{UserB},且UserA对应的正向关系链用户集合和反向关系链用户集合存储在UserA所属的互联网数据中心。UserB对应的正向关系链用户集合为{UserA},对应的反向关系链用户集合为{UserA},且UserB对应的正向关系链用户集合和反向关系链用户集合存储在UserB所属的互联网数据中心。

随着时间的推移,UserA和UserB之间的关系链可能会发生变化,比如若如果UserB先把UserA给删除好友了,那么UserA对应的正向关系链用户集合仍为{UserB},对应的反向关系链用户集合变更为{};而UserB对应的正向关系链用户集合则变更为{},对应的反向关系链用户集合仍为{UserA}。

可见,用户UserB删除UserA是要操作两个用户集合里的数据的,即删除UserB对应的正向关系链用户集合里的UserA,并删除UserA对应的反向关系链用户集合中的UserB。同时操作两个用户集合,就需要跨互联网数据中心修改,此时如果某次修改其中一个用户集合修改成功了,另一个用户集合修改失败了,就会导致互联网数据中心102间的关系链不一致,这就需要关系链修复服务器104来维持多个互联网数据中心102之间的关系链的一致性。

关系链修复服务器104,用于检测各互联网数据中心102存储的与当前检测的用户标识对应的正向关系链用户集合是否与相应的反转反向关系链用户集合一致,若不一致,则将不一致的正向关系链用户集合和/或相应的反向关系链用户集合进行一致性修复。其中,反转反向关系链用户集合是包括了当前检测的用户标识的反向关系链用户集合所对应的用户标识构成的。

具体地,关系链修复服务器104用于检测各个互联网数据中心102存储的用户的关系链是否存在问题,如果存在问题会对相应的正向关系链用户集合和/或反向关系链用户集合进行一致性修复。这里的一致性修复是指将不一致的正向关系链用户集合和相应的反向关系链用户集合修复为一致,维持多个互联网数据中心102的一致性。当前检测的用户标识是指在检测关系链是否存在问题时针对的用户所具有的用户标识。

反转反向关系链用户集合是包括了当前检测的用户标识的反向关系链用户集合所对应的所有用户标识构成的,这样在正常情况下,当前检测的用户标识对应的正向关系链用户集合与相应的反转反向关系链用户集合一致的。如果一致就不修复。如果不一致就说明当前检测的用户标识对应的正向关系链用户集合和反向关系链用户集合中的至少一种存在问题,需要进行一致性修复。

举例说明,假设某互联网数据中心上当前检测的用户标识U对应的正向关系链用户集合表示为f(U):{A,B,C},该互联网数据中心上其它用户标识对应的反向关系链用户集合中包括了当前检测的用户标识U的反向关系链用户集合有r(A):{...,U,...}、r(B):{...,U,...}以及r(C):{...,U,...},分别为用户标识A、B和C对应的反向关系链用户集合。这样将包括了当前检测的用户标识U的反向关系链用户集合对应的用户标识A、B和C提取出来构成新的集合rr(U):{A,B,C},也就是当前检测的用户标识对应的反转反向关系链用户集合。可以看出,正常情况下f(U)=rr(U)。如果当前检测的用户标识存在任意一条关系链不一致,那么就存在f(U)≠rr(U)。

进一步地,关系链修复服务器104可用于将各互联网数据中心102中当前检测的用户标识对应的正向关系链用户集合和相应的反转反向关系链用户集合拉取到关系链修复服务器104上,进而判断两者是否一致。

其中,将不一致的正向关系链用户集合和/或相应的反向关系链用户集合进行一致性修复,可以将不一致的正向关系链用户集合修复为与相应的反转反向关系链用户集合一致;也可以通过修复反向关系链用户集合以使得相应的反转反向关系链用户集合与正向关系链用户集合一致;也可以同时修改相应的正向关系链用户集合和反向关系链用户集合,使得修改后的正向关系链用户集合和 相应的反转反向关系链用户集合一致。

在一个实施例中,关系链修复服务器104在将不一致的正向关系链用户集合和/或相应的反向关系链用户集合进行一致性修复时,具体可以在因缺失了用户标识而导致不一致的正向关系链用户集合或者相应的反向关系链用户集合中增加所缺失的用户标识。这样进行一致性修复时能够尽量保留关系链,防止因系统风险导致用户关系链的丢失。

举例说明,假设f(U):{A,B,C},rr(U):{A,B},此时f(U)≠rr(U),则优选地可在用户标识C对应的反向关系链用户集合中增加用户标识U,这样可以尽量保持用户标识U和用户标识C的关系链。当然也可以在用户标识U对应的正向关系链用户集合中删除用户标识C,也可以使得正向关系链用户集合和相应的反转反向关系链用户集合一致,但这样会导致用户标识U和用户标识C之间的关系链丢失。

在一个实施例中,关系链修复服务器104在将不一致的正向关系链用户集合和/或相应的反向关系链用户集合进行一致性修复前,可向存在一致性问题的关系链对中的至少一方发送一致性修复方式选择请求;在接收到响应于该一致性修复选择请求而反馈的一致性修复方式确认指令后,根据该一致性修复方式确认指令将不一致的正向关系链用户集合和/或相应的反向关系链用户集合进行一致性修复。

举例说明,假设f(U):{A,B,C},rr(U):{A,B},此时f(U)≠rr(U),此时关系链修复服务器104可向用户标识U和/或C对应的终端发送一致性修复方式选择请求,使得相应的终端提供界面接收用户输入以确定一致性修复方式,进而向关系链修复服务器104返回表示采用何种一致性修复方式的一致性修复方式确认指令。这里的修复方式包括删除不一致的关系链和完善不一致的关系链。这样关系链修复服务器104便可以根据一致性修复方式确认指令,在用户标识C对应的反向关系链用户集合中增加用户标识U,或者在用户标识U对应的正向关系链用户集合中删除用户标识C。

上述关系链处理系统,通过将关系链存储在多个互联网数据中心上,即使一个互联网数据中心发生故障仍能够保障关系链的可用性。而且在各个互联网 数据中心上以正向关系链用户集合和反向关系链用户集合的形式来存储关系链,可以明确用户添加了哪些好友以及被哪些其它用户添加为好友,这样可以明确用户之间双向的关系链,从而根据该关系链进行更为精确的社交互动。而且通过检测用户的正向关系链用户集合与反转反向关系链用户集合是否一致,可以检测出各互联网数据中心存储的关系链是否发生了问题,从而通过修复正向关系链用户集合和/或反向关系链用户集合来保证关系链的一致性和可用性。

如图2所示,在一个实施例中,关系链处理系统还包括同步代理服务器106,同步代理服务器106与各个互联网数据中心102连接,还可以与关系链修复服务器104连接。

在一个实施例中,同步代理服务器106用于在任意一个互联网数据中心102的正向关系链用户集合和/或反向关系链用户集合发生变化时,将变化的关系链数据在多个互联网数据中心102之间进行同步。

具体地,这里同步代理服务器106是一种代理服务器,用于代理多个互联网数据中心102之间关系链数据的同步,当任意一个互联网数据中心102的正向关系链用户集合和/或反向关系链用户集合发生变化时,发生变化的互联网数据中心102将变化的关系链数据发送到同步代理服务器106,同步代理服务器106则用于将变化的关系链数据同步到其它互联网数据中心102。多个互联网数据中心102之间的核心数据的交换也通过该同步代理服务器106进行。

在一个实施例中,同步代理服务器106用于将修复后的正向关系链用户集合和/或反向关系链用户集合在多个互联网数据中心102之间进行同步。

具体地,同步代理服务器106和关系链修复服务器104连接通信,获取关系链修复服务器104修复关系链时的变更数据,从而将该变更数据同步到各个互联网数据中心102。

本实施例中,关系链处理系统包括同步代理服务器106,通过该同步代理服务器106可以保证各个互联网数据中心102存储的正向关系链用户集合和/或反向关系链用户集合发生变化时可以及时地同步到其它互联网数据中心102,保证关系链的动态一致性。

在一个实施例中,各个互联网数据中心102还用于将当前检测的用户标识 对应的本地存储的正向关系链用户集合中各个用户标识进行异或运算后获得第一异或值;将当前检测的用户标识对应的反转反向关系链用户集合中的各个用户标识进行异或运算后获得第二异或值。

具体地,关系链修复服务器104可汇总各个互联网数据中心102的关系链数据到一个互联网数据中心102中进行,但这样跨互联网数据中心的数据转移会占用大量网络带宽,对网络带宽资源的消耗极大,成本高。

为了减少对网络带宽的占用,这里各个互联网数据中心102用于先各自在本地将本地存储的当前检测的用户标识对应的正向关系链用户集合进行异或运算,也就是将该正向关系链用户集合中各个用户标识进行异或运算,从而获得第一异或值。并且各个互联网数据中心102用于各自在本地将当前检测的用户标识对应的反转反向关系链用户集合进行异或运算,也就是将该反转反向关系链用户集合中的各个用户标识进行异或运算,获得第二异或值。

举例说明,假设当前检测的用户标识U对应的正向关系链用户集合表示为f(U):{A,B,C},相应的反转反向关系链用户集合表示为rr(U):{A,B,C}。这样第一异或值为XOR(f(U))=A xor B xor C,第二异或值为XOR(rr(U))=A xor B xor C,其中XOR()表示求取异或值的函数,xor是异或运算符。其中两个不相同的值进行异或运算结果为1;两个相同的值进行异或运算结果为0。因此在正常情况下,应当存在:XOR(f(U))=XOR(rr(U))。如果存在XOR(f(U))≠XOR(rr(U)),则说明f(U)与rr(U)肯定不一致。

关系链修复服务器104具体用于获取来自各个互联网数据中心102的第一异或值和第二异或值;将来自各个互联网数据中心102的第一异或值进行异或运算获得第一比对值;将来自各个互联网数据中心102的第二异或值进行异或运算获得第二比对值;判断第一比对值是否与第二比对值一致;若不一致,则将不一致的正向关系链用户集合和/或相应的反向关系链用户集合进行一致性修复。

具体地,假设各个互联网数据中心102分别用0,1,2……进行编号,相应的互联网数据中心102上当前检测的用户标识对应的正向关系链用户集合可表示为fi(U),相应的互联网数据中心102上当前检测的用户标识对应的反转反 向关系链用户集合可表示为rri(U),其中i=0,1,2……,表示相应的互联网数据中心102的编号。则来自各个互联网数据中心102的第一异或值为XOR(fi(U)),来自各个互联网数据中心102的第二异或值进行异或运算获得第二比对值为XOR(rri(U))。

于是第一比对值表示为XOR(f(U))=XOR(f0(U))xor XOR(f1(U))xor XOR(f2(U))……,第二比对值表示为XOR(rr(U))=XOR(rr0(U))xor XOR(rr1(U))xor XOR(rr2(U))……。

然后判断第一比对值XOR(f(U))与第二比对值XOR(rr(U))是否相等,如果相等则说明未检测到一致性问题,此时不进行修复;如果不相等,就说明检测到一致性问题,此时将不一致的正向关系链用户集合和/或相应的反向关系链用户集合进行一致性修复。

本实施例中,各个互联网数据中心102不需要将各自本地的正向关系链用户集合和反转反向关系链用户集合都汇集到一处进行一致性分析,而是仅需要将内部运算后的第一异或值和第二异或值汇集到关系链修复服务器104上,由关系链修复服务器104再进行后续的检测。这样需要跨互联网数据中心传输的数据急剧减少,减少了对网络带宽的占用,节省资源并提高了效率。

如图3所示,在一个实施例中,各个互联网数据中心102用于将当前检测的用户标识对应的本地存储的正向关系链用户集合和反转反向关系链用户集合汇集到本互联网数据中心102内部的关系链修复服务器104上。

各个互联网数据中心102内部的关系链修复服务器104用于计算本互联网数据中心102汇集的正向关系链用户集合中各个用户标识间的第一异或值,并计算本互联网数据中心102汇集的反转反向关系链用户集合中各个用户标识间的第二异或值。

指定的互联网数据中心102内部的关系链修复服务器104从其它互联网数据中心102内部的关系链修复服务器104上拉取第一异或值和第二异或值;将来自各个互联网数据中心102的第一异或值进行异或运算获得第一比对值;将来自各个互联网数据中心102的第二异或值进行异或运算获得第二比对值;判断第一比对值是否与第二比对值一致;若不一致,则将不一致的正向关系链用 户集合和/或相应的反向关系链用户集合进行一致性修复。

具体地,本实施例中,关系链修复服务器104部署在各个互联网数据中心102内部。这样各个互联网数据中心102先用于获取当前检测的用户标识对应的本互联网数据中心102存储的正向关系链用户集合fi(U)和反转反向关系链用户集合rri(U),并汇集到本互联网数据中心102内部的关系链修复服务器104上。其中i表示相应的互联网数据中心102的编号。

然后,各个互联网数据中心102内部的关系链修复服务器104用于对汇集的正向关系链用户集合fi(U)进行异或运算获得第一异或值XOR(fi(U)),对汇集的反转反向关系链用户集合rri(U)进行异或运算获得第二异或值XOR(rri(U))。

再者,互联网数据中心102中的其中一个指定的互联网数据中心102内部的关系链修复服务器104,用于再从其它互联网数据中心102内部的关系链修复服务器104上拉取第一异或值XOR(fi(U))和第二异或值XOR(rri(U)),从而再计算出第一比对值XOR(f(U))=XOR(f0(U))xor XOR(f1(U))xor XOR(f2(U))……,以及第二比对值XOR(rr(U))=XOR(rr0(U))xor XOR(rr1(U))xor XOR(rr2(U))……。

指定的互联网数据中心102内部的关系链修复服务器104用于判断第一比对值XOR(f(U))与第二比对值XOR(rr(U))是否相等,如果相等则说明未检测到一致性问题,此时不进行修复;如果不相等,就说明检测到一致性问题,此时将不一致的正向关系链用户集合和/或相应的反向关系链用户集合进行一致性修复。

在一个实施例中,关系链修复服务器104具体用于若第一比对值与第二比对值不一致,则从各个互联网数据中心102拉取当前检测的用户标识对应的正向关系链用户集合和反转反向关系链用户集合;对拉取的正向关系链用户集合和反转反向关系链用户集合进行比对,查找到不一致的关系链对;对于不一致的关系链对,到双方所属的互联网数据中心102拉取双方的正向关系链用户集合和反向关系链用户集合以进行一致性修复。

具体地,当检测到第一比对值与第二比对值不一致时,说明检测到一致性 问题,此时关系链修复服务器104才用于再从各个互联网数据中心102拉取当前检测的用户标识对应的正向关系链用户集合和反转反向关系链用户集合,这样只拉取可能存在问题的正向关系链用户集合和反转反向关系链用户集合,对网络带宽的占用仍然是可以接受的。

关系链修复服务器104用于对拉取的正向关系链用户集合和反转反向关系链用户集合进行比对,具体可以将正向关系链用户集合和反转反向关系链用户集合分别排序后进行比对,找到存在问题的关系链对。关系链对是指一条关系链上双方的用户标识。

对于存在问题的关系链对,到双方所属的互联网数据中心102拉取双方的正向关系链用户集合和反向关系链用户集合以进行一致性修复。然后通过同步代理服务器104将修复后的正向关系链用户集合和反向关系链用户集合在各个互联网数据中心102间进行同步。

在一个实施例中,关系链修复服务器104用于定期定量从各个互联网数据中心102拉取检测到一致性问题的用户标识对应的正向关系链用户集合和反转反向关系链用户集合;对拉取的正向关系链用户集合和反转反向关系链用户集合进行比对,查找到不一致的关系链对;对于不一致的关系链对,到双方所属的互联网数据中心102拉取双方的正向关系链用户集合和反向关系链用户集合以进行一致性修复。

举例说明,假设存在一致性问题的用户占比多于0.1%,那么每天每次仅修复0.1%的关系链。这样多次迭代后存在一致性问题的用户占比会越来越少,最终每天修复的量基本等于每天新产生的量,达到平衡。本实施例中,通过定期定量进行一致性修复,使得对网络带宽的占用均衡化。

参照图4和图5,在一个实施例中,互联网数据中心102包括接口服务器102a、关系链逻辑服务器102b和关系链存储服务器102c。

其中,接口服务器102a,用于连接社交应用客户端,接收社交应用客户端发送的与用户标识对应的关系链操作指令并发送给关系链逻辑服务器102b。

具体地,社交应用客户端可以是即时通信应用客户端、SNS(Social Network Site,社交网站)应用客户端或者内容分享应用客户端。客户端可以是专门制作 的应用软件,也可以是具有访问相应的应用服务器的第三方应用,第三方应用比如网页浏览器或者具有网页浏览功能的应用。社交应用客户端可根据关系链进行消息收发,这里的消息包括文字、图片、视频以及音频中的至少一种。

关系链操作指令是指对关系链进行操作的指令,包括加好友、删除好友、关注、取消关注、添加黑名单以及屏蔽等涉及到关系链的变更的操作指令。

关系链逻辑服务器102b,用于根据关系链操作指令访问关系链存储服务器102c以操作相应的用户标识对应的正向关系链用户集合和/或反向关系链用户集合。

具体地,关系链逻辑服务器102b用于处理关系链相关的各种业务逻辑,具体可解析接口服务器102a发来的关系链操作指令并执行。关系链逻辑服务器102b可连接到同步代理服务器106,将关系链的变更数据直接通过同步代理服务器106在多个互联网数据中心102间同步。关系链逻辑服务器102b可连接到关系链修复服务器104,接受关系链修复服务器104对本互联网数据中心102的读操作和/或写操作。

关系链存储服务器102c,用于存储与用户标识对应的正向关系链用户集合和反向关系链用户集合,并接受关系链逻辑服务器102b对存储的关系链用户集合和/或反向关系链用户集合的访问和操作。

具体地,关系链存储服务器102c可采用分布式的Key(键)-Value(值)存储系统,确保数据不丢失和可靠性,最终关系链数据的落地保存。关系链存储服务器102c还可以用于接受关系链逻辑服务器102b的各种操作比如取消关注、关注及屏蔽操作等。

本实施例中,互联网数据中心102内部通过接口服务器102a来统一管理对互联网数据中心102的访问,通过关系链逻辑服务器102b处理各种业务逻辑,并通过关系链存储服务器102c来存储正向关系链用户集合和反向关系链用户集合。这样互联网数据中心102内部各服务器功能明确,便于管理和维护。

参照图4和图5,在一个实施例中,互联网数据中心102还包括访问代理服务器102d。

关系链逻辑服务器102b还用于根据关系链操作指令以通过访问代理服务器 访问关系链存储服务器以操作相应的用户标识对应的正向关系链用户集合和/或反向关系链用户集合。

访问代理服务器102d用于对关系链逻辑服务器的访问频率和访问权限进行控制,并生成访问记录。

本实施例中,通过访问代理服务器102d来隔离关系链逻辑服务器102b和关系链存储服务器102c,通过访问代理服务器102d可以对关系链逻辑服务器的访问频率和访问权限进行控制。生成的访问记录可用来审计历史行为记录,还可以作为进行一致性修复的依据。访问代理服务器102d还可以起到保护敏感的关系链数据的作用。

在一个实施例中,用户标识包括公众号和个人用户标识;正向关系链用户集合或反向关系链用户集合中的用户标识以指定数量为单位分组建立索引。

其中,公众号是指应用开发者或商家申请的应用账号,通过公众号,应用开发者或者商家可实现与关注该公众号的用户群体间进行一对一和一对多的信息交互,比如进行文字、图片、语音或者视频的信息交互。个人用户标识则是普通自然人申请的应用账号。个人用户标识与公众号具有关系链,则该个人用户标识可称为该公众号的粉丝。与公众号具有关系链的个人用户标识通常数量庞大,这种关系链可称为长关系链。

考虑到公众号与个人用户之间的关系链的复杂性,这里将正向关系链用户集合或反向关系链用户集合中的用户标识进行分组建立索引,便于查询关系链数据。以指定数量为单位分组是指分组后的各个组中包括指定数量的用户标识。

如图6所示,在一个实施例中,提供了一种关系链处理方法,本实施例以该方法应用于上述图1至图5中的关系链处理系统进行说明。该方法具体包括如下步骤:

步骤602,检测各互联网数据中心存储的与当前检测的用户标识对应的正向关系链用户集合是否与相应的反转反向关系链用户集合一致。若不一致,则执行步骤604;若一致,则无动作。其中,正向关系链用户集合包括对应的当前检测的用户标识所添加的社交好友的用户标识;反向关系链用户集合包括添加了 当前检测的用户标识为社交好友的用户标识;反转反向关系链用户集合是包括了当前检测的用户标识的反向关系链用户集合所对应的用户标识构成的。

具体地,互联网数据中心是服务器集群,是基于互联网的为集中式收集、存储、处理和发送数据的设备提供运行维护的设施。一个互联网数据中心中的服务器集群在地域上是集中的。社交好友是指基于社交网络的好友,好友并不限于线下的朋友,还可以是同事、亲人或者恋人等各种熟人关系的用户。

正向关系链是指用户主动添加其他用户为好友的关系链,正向关系链用户集合则是用户所添加的好友的集合,正向关系链用户集合唯一对应的用户标识是主动添加好友的用户的唯一标识,正向关系链用户集合所包括的用户标识是用户主动添加的好友的唯一标识。正向关系链用户集合可以数据库表的形式存储,可称为正向表。

反向关系链则是用户被动被其他用户添加为好友的关系链,反向关系链用户集合唯一对应的用户标识是被动被其他用户添加为好友的用户的唯一标识,反向关系链用户集合所包括的用户标识是添加了该反向关系链用户集合所对应的用户标识为好友的各个用户的唯一标识。反向关系链用户集合可以数据库表的形式存储,可称为反向表。

与用户标识对应的正向关系链用户集合和反向关系链用户集合存储在一个互联网数据中心中,多个互联网数据中心中的其它互联网数据中心则会存储该正向关系链用户集合和反向关系链用户集合的副本。

举例说明,假设用户UserA和用户UserB互加好友且无其他好友,那么UserA对应的正向关系链用户集合为{UserB},对应的反向关系链用户集合为{UserB},且UserA对应的正向关系链用户集合和反向关系链用户集合存储在UserA所属的互联网数据中心。UserB对应的正向关系链用户集合为{UserA},对应的反向关系链用户集合为{UserA},且UserB对应的正向关系链用户集合和反向关系链用户集合存储在UserB所属的互联网数据中心。

随着时间的推移,UserA和UserB之间的关系链可能会发生变化,比如若如果UserB先把UserA给删除好友了,那么UserA对应的正向关系链用户集合仍为{UserB},对应的反向关系链用户集合变更为{};而UserB对应的正向关系链 用户集合则变更为{},对应的反向关系链用户集合仍为{UserA}。

可见,用户UserB删除UserA是要操作两个用户集合里的数据的,即删除UserB对应的正向关系链用户集合里的UserA,并删除UserA对应的反向关系链用户集合中的UserB。同时操作两个用户集合,就需要跨互联网数据中心修改,此时如果某次修改其中一个用户集合修改成功了,另一个用户集合修改失败了,就会导致互联网数据中心间的关系链不一致,这就需要关系链修复服务器来维持多个互联网数据中心之间的关系链的一致性。

步骤604,将不一致的正向关系链用户集合和/或相应的反向关系链用户集合进行一致性修复。

具体地,关系链修复服务器检测各个互联网数据中心存储的用户的关系链是否存在问题,如果存在问题会对相应的正向关系链用户集合和/或反向关系链用户集合进行一致性修复。这里的一致性修复是指将不一致的正向关系链用户集合和相应的反向关系链用户集合修复为一致,维持多个互联网数据中心的一致性。当前检测的用户标识是指在检测关系链是否存在问题时针对的用户所具有的用户标识。

反转反向关系链用户集合是包括了当前检测的用户标识的反向关系链用户集合所对应的所有用户标识构成的,这样在正常情况下,当前检测的用户标识对应的正向关系链用户集合与相应的反转反向关系链用户集合一致的。如果一致就不修复。如果不一致就说明当前检测的用户标识对应的正向关系链用户集合和反向关系链用户集合中的至少一种存在问题,需要进行一致性修复。

举例说明,假设当前检测的用户标识U对应的正向关系链用户集合表示为f(U):{A,B,C},其它用户标识对应的反向关系链用户集合中包括了当前检测的用户标识U的有r(A):{...,U,...}、r(B):{...,U,...}以及r(C):{...,U,...},分别为用户标识A、B和C对应的反向关系链用户集合。这样将包括了当前检测的用户标识U的反向关系链用户集合对应的用户标识A、B和C提取出来构成新的集合rr(U):{A,B,C},也就是当前检测的用户标识对应的反转反向关系链用户集合。可以看出,正常情况下f(U)=rr(U)。如果当前检测的用户标识存在任意一条关系链不一致,那么就存在f(U)≠rr(U)。

进一步地,关系链修复服务器可将各互联网数据中心中当前检测的用户标识对应的正向关系链用户集合和相应的反转反向关系链用户集合拉取到关系链修复服务器上,进而判断两者是否一致。

其中,将不一致的正向关系链用户集合和/或相应的反向关系链用户集合进行一致性修复,可以将不一致的正向关系链用户集合修复为与相应的反转反向关系链用户集合一致,也可以通过修复反向关系链用户集合以使得相应的反转反向关系链用户集合与正向关系链用户集合一致。也可以同时修改相应的正向关系链用户集合和反向关系链用户集合,使得修改后的正向关系链用户集合和相应的反转反向关系链用户集合一致。

将不一致的正向关系链用户集合和/或相应的反向关系链用户集合进行一致性修复时,可以保持关系链为原则进行修复。比如f(U):{A,B,C},rr(U):{A,B},此时f(U)≠rr(U),则优选地可在用户标识C对应的反向关系链用户集合中增加用户标识U,这样可以尽量保持用户标识U和用户标识C的关系链。当然也可以在用户标识U对应的正向关系链用户集合中删除用户C,也可以保持正向关系链用户集合和相应的反转反向关系链用户集合一致。

上述关系链处理方法,通过将关系链存储在多个互联网数据中心上,即使一个互联网数据中心发生故障仍能够保障关系链的可用性。而且在各个互联网数据中心上以正向关系链用户集合和反向关系链用户集合的形式来存储关系链,可以明确用户添加了哪些好友以及被哪些其它用户添加为好友,这样可以明确用户之间双向的关系链,从而根据该关系链进行更为精确的社交互动。而且通过检测用户的正向关系链用户集合与反转反向关系链用户集合是否一致,可以检测出各互联网数据中心存储的关系链是否发生了问题,从而通过修复正向关系链用户集合和/或反向关系链用户集合来保证关系链的一致性和可用性。

在一个实施例中,该关系链处理方法还包括:在任意一个互联网数据中心的正向关系链用户集合和/或反向关系链用户集合发生变化时,通过同步代理服务器将变化的关系链数据在多个互联网数据中心之间进行同步。

具体地,这里同步代理服务器是一种代理服务器,用于代理多个互联网数据中心之间关系链数据的同步,当任意一个互联网数据中心的正向关系链用户 集合和/或反向关系链用户集合发生变化时,发生变化的互联网数据中心将变化的关系链数据发送到同步代理服务器,同步代理服务器则用于将变化的关系链数据同步到其它互联网数据中心。多个互联网数据中心之间的核心数据的交换也通过该同步代理服务器进行。

在一个实施例中,该关系链处理方法还包括:通过同步代理服务器将修复后的正向关系链用户集合和/或反向关系链用户集合在多个互联网数据中心之间进行同步。

具体地,同步代理服务器和关系链修复服务器连接通信,获取关系链修复服务器修复关系链时的变更数据,从而将该变更数据同步到各个互联网数据中心。

本实施例中,关系链处理系统包括同步代理服务器,通过该同步代理服务器可以保证各个互联网数据中心存储的正向关系链用户集合和/或反向关系链用户集合发生变化时可以及时地同步到其它互联网数据中心,保证关系链的动态一致性。

如图7所示,在一个实施例中,步骤602包括如下步骤:

步骤702,获取各个互联网数据中心上与当前检测的用户标识对应的正向关系链用户集合中的各个用户标识间的第一异或值,以及相应的反转反向关系链用户集合中各个用户标识间的第二异或值。

具体地,关系链修复服务器可汇总各个互联网数据中心的关系链数据到一个互联网数据中心中进行,但这样跨互联网数据中心的数据转移会占用大量网络带宽,对网络带宽资源的消耗极大,成本高。

为了减少对网络带宽的占用,这里各个互联网数据中心用于先各自在本地将本地存储的当前检测的用户标识对应的正向关系链用户集合进行异或运算,也就是将该正向关系链用户集合中各个用户标识进行异或运算,从而获得第一异或值。并且各个互联网数据中心用于各自在本地将当前检测的用户标识对应的反转反向关系链用户集合进行异或运算,也就是将该反转反向关系链用户集合中的各个用户标识进行异或运算,获得第二异或值。

举例说明,假设当前检测的用户标识U对应的正向关系链用户集合表示为 f(U):{A,B,C},相应的反转反向关系链用户集合表示为rr(U):{A,B,C}。这样第一异或值为XOR(f(U))=A xor B xor C,第二异或值为XOR(rr(U))=A xor B xor C,其中XOR()表示求取异或值的函数,xor是异或运算符。其中两个不相同的值进行异或运算结果为1;两个相同的值进行异或运算结果为0。因此在正常情况下,应当存在:XOR(f(U))=XOR(rr(U))。如果存在XOR(f(U))≠XOR(rr(U)),则说明f(U)与rr(U)肯定不一致。

假设各个互联网数据中心分别用0,1,2……进行编号,相应的互联网数据中心上当前检测的用户标识对应的正向关系链用户集合可表示为fi(U),相应的互联网数据中心上当前检测的用户标识对应的反转反向关系链用户集合可表示为rri(U),其中i=0,1,2……,表示相应的互联网数据中心的编号。则来自各个互联网数据中心的第一异或值为XOR(fi(U)),来自各个互联网数据中心的第二异或值进行异或运算获得第二比对值为XOR(rri(U))。

步骤704,将来自各个互联网数据中心的第一异或值进行异或运算获得第一比对值。

具体地,第一比对值表示为XOR(f(U))=XOR(f0(U))xor XOR(f1(U))xor XOR(f2(U))……。

步骤706,将来自各个互联网数据中心的第二异或值进行异或运算获得第二比对值。

具体地,第二比对值表示为XOR(rr(U))=XOR(rr0(U))xor XOR(rr1(U))xor XOR(rr2(U))……。

步骤708,判断第一比对值是否与第二比对值一致。若不一致则执行步骤604。

具体地,判断第一比对值XOR(f(U))与第二比对值XOR(rr(U))是否相等,如果相等则说明未检测到一致性问题,此时不进行修复;如果不相等,就说明检测到一致性问题,此时将不一致的正向关系链用户集合和/或相应的反向关系链用户集合进行一致性修复。

本实施例中,各个互联网数据中心不需要将各自本地的正向关系链用户集合和反转反向关系链用户集合都汇集到一处进行一致性分析,而是仅需要将内 部运算后的第一异或值和第二异或值汇集到关系链修复服务器上,由关系链修复服务器再进行后续的检测。这样需要跨互联网数据中心传输的数据急剧减少,减少了对网络带宽的占用,节省资源并提高了效率。

如图8所示,在一个实施例中,步骤702包括如下步骤:

步骤802,通过各个互联网数据中心各自内部的关系链修复服务器汇集本互联网数据中心存储的与当前检测的用户标识对应的正向关系链用户集合和反转反向关系链用户集合;计算本互联网数据中心汇集的正向关系链用户集合中各个用户标识间的第一异或值,并计算本互联网数据中心汇集的反转反向关系链用户集合中各个用户标识间的第二异或值。

具体地,本实施例中,关系链修复服务器部署在各个互联网数据中心内部。这样各个互联网数据中心先用于获取当前检测的用户标识对应的本互联网数据中心存储的正向关系链用户集合fi(U)和反转反向关系链用户集合rri(U),并汇集到本互联网数据中心内部的关系链修复服务器上。其中i表示相应的互联网数据中心的编号。

然后,各个互联网数据中心内部的关系链修复服务器用于对汇集的正向关系链用户集合fi(U)进行异或运算获得第一异或值XOR(fi(U)),对汇集的反转反向关系链用户集合rri(U)进行异或运算获得第二异或值XOR(rri(U))。

步骤804,通过指定的互联网数据中心内部的关系链修复服务器从其它互联网数据中心内部的关系链修复服务器上拉取第一异或值和第二异或值;将来自各个互联网数据中心的第一异或值进行异或运算获得第一比对值;将来自各个互联网数据中心的第二异或值进行异或运算获得第二比对值;判断第一比对值是否与第二比对值一致;若不一致,则将不一致的正向关系链用户集合和/或相应的反向关系链用户集合进行一致性修复。

具体地,互联网数据中心中的其中一个指定的互联网数据中心内部的关系链修复服务器,用于再从其它互联网数据中心内部的关系链修复服务器上拉取第一异或值XOR(fi(U))和第二异或值XOR(rri(U)),从而再计算出第一比对值XOR(f(U))=XOR(f0(U))xor XOR(f1(U))xor XOR(f2(U))……,以及第二比对值XOR(rr(U))=XOR(rr0(U))xor XOR(rr1(U))xor XOR (rr2(U))……。

指定的互联网数据中心内部的关系链修复服务器用于判断第一比对值XOR(f(U))与第二比对值XOR(rr(U))是否相等,如果相等则说明未检测到一致性问题,此时不进行修复;如果不相等,就说明检测到一致性问题,此时将不一致的正向关系链用户集合和/或相应的反向关系链用户集合进行一致性修复。

如图9所示,在一个实施例中,步骤604包括如下步骤:

步骤902,从各个互联网数据中心拉取当前检测的用户标识对应的正向关系链用户集合和反转反向关系链用户集合。

具体地,当检测到第一比对值与第二比对值不一致时,说明检测到一致性问题,此时关系链修复服务器再从各个互联网数据中心拉取当前检测的用户标识对应的正向关系链用户集合和反转反向关系链用户集合,这样只拉取可能存在问题的正向关系链用户集合和反转反向关系链用户集合,对网络带宽的占用仍然是可以接受的。

步骤904,对拉取的正向关系链用户集合和反转反向关系链用户集合进行比对,查找到不一致的关系链对。

具体地,关系链修复服务器对拉取的正向关系链用户集合和反转反向关系链用户集合进行比对,具体可以将正向关系链用户集合和反转反向关系链用户集合分别排序后进行比对,找到存在问题的关系链对。关系链对是指一条关系链上双方的用户标识。

步骤906,对于不一致的关系链对,到双方所属的互联网数据中心拉取双方的正向关系链用户集合和反向关系链用户集合以进行一致性修复。

具体地,对于存在问题的关系链对,到双方所属的互联网数据中心拉取双方的正向关系链用户集合和反向关系链用户集合以进行一致性修复。然后通过同步代理服务器将修复后的正向关系链用户集合和反向关系链用户集合在各个互联网数据中心间进行同步。

在一个实施例中,该关系链处理方法还包括:定期定量从各个互联网数据中心拉取检测到一致性问题的用户标识对应的正向关系链用户集合和反转反向 关系链用户集合;对拉取的正向关系链用户集合和反转反向关系链用户集合进行比对,查找到不一致的关系链对;对于不一致的关系链对,到双方所属的互联网数据中心拉取双方的正向关系链用户集合和反向关系链用户集合以进行一致性修复。

举例说明,假设存在一致性问题的用户占比多于0.1%,那么每天每次仅修复0.1%的关系链。这样多次迭代后存在一致性问题的用户占比会越来越少,最终每天修复的量基本等于每天新产生的量,达到平衡。本实施例中,通过定期定量进行一致性修复,使得对网络带宽的占用均衡化。

如图10所示,在一个实施例中,互联网数据中心包括:接口服务器、关系链逻辑服务器和关系链存储服务器;该关系链处理方法还包括互联网数据中心内部运行步骤,具体包括如下步骤:

步骤1002,通过接口服务器连接社交应用客户端,接收社交应用客户端发送的与用户标识对应的关系链操作指令并发送给关系链逻辑服务器。

具体地,社交应用客户端可以是即时通信应用客户端、SNS应用客户端或者内容分享应用客户端。客户端可以是专门制作的应用软件,也可以是具有访问相应的应用服务器的第三方应用,第三方应用比如网页浏览器或者具有网页浏览功能的应用。社交应用客户端可根据关系链进行消息收发,这里的消息包括文字、图片、视频以及音频中的至少一种。

关系链操作指令是指对关系链进行操作的指令,包括加好友、删除好友、关注、取消关注、添加黑名单以及屏蔽等涉及到关系链的变更的操作指令。

步骤1004,通过关系链逻辑服务器以根据关系链操作指令访问关系链存储服务器以操作相应的用户标识对应的正向关系链用户集合和/或反向关系链用户集合。

具体地,关系链逻辑服务器可处理关系链相关的各种业务逻辑,具体可解析接口服务器发来的关系链操作指令并执行。关系链逻辑服务器可连接到同步代理服务器,将关系链的变更数据直接通过同步代理服务器在多个互联网数据中心间同步。关系链逻辑服务器可连接到关系链修复服务器,接受关系链修复服务器对本互联网数据中心的读操作和/或写操作。

步骤1006,通过关系链存储服务器接受关系链逻辑服务器对存储的关系链用户集合和/或反向关系链用户集合的访问和操作。

具体地,关系链存储服务器可采用分布式的Key(键)-Value(值)存储系统,确保数据不丢失和可靠性,最终关系链数据的落地保存。关系链存储服务器还可以用于接受关系链逻辑服务器的各种操作比如取消关注、关注及屏蔽操作等。

本实施例中,互联网数据中心内部通过接口服务器来统一管理对互联网数据中心的访问,通过关系链逻辑服务器处理各种业务逻辑,并通过关系链存储服务器来存储正向关系链用户集合和反向关系链用户集合。这样互联网数据中心内部各服务器功能明确,便于管理和维护。

在一个实施例中,互联网数据中心还包括访问代理服务器;该关系链处理方法还包括:通过关系链逻辑服务器以根据关系链操作指令以通过访问代理服务器访问关系链存储服务器以操作相应的用户标识对应的正向关系链用户集合和/或反向关系链用户集合,使得访问代理服务器对关系链逻辑服务器的访问频率和访问权限进行控制,并生成访问记录。

本实施例中,通过访问代理服务器来隔离关系链逻辑服务器和关系链存储服务器,通过访问代理服务器可以对关系链逻辑服务器的访问频率和访问权限进行控制。生成的访问记录可用来审计历史行为记录,还可以作为进行一致性修复的依据。访问代理服务器还可以起到保护敏感的关系链数据的作用。

在一个实施例中,用户标识包括公众号和个人用户标识;正向关系链用户集合或反向关系链用户集合中的用户标识以指定数量为单位分组建立索引。

其中,公众号是指应用开发者或商家申请的应用账号,通过公众号,应用开发者或者商家可实现与关注该公众号的用户群体间进行一对一和一对多的信息交互,比如进行文字、图片、语音或者视频的信息交互。个人用户标识则是普通自然人申请的应用账号。

考虑到公众号与个人用户之间的关系链的复杂性,这里将正向关系链用户集合或反向关系链用户集合中的用户标识进行分组建立索引,便于查询关系链数据。以指定数量为单位分组是指分组后的各个组中包括指定数量的用户标识。

如图11所示,在一个实施例中,互联网数据中心中的服务器包括通过系统总线连接的处理器、非易失性存储介质、内存储器和网络接口。其中处理器具有计算功能和控制服务器工作的功能,该处理器被配置为执行一种关系链处理方法。非易失性存储介质包括磁存储介质、光存储介质和闪存式存储介质中的至少一种,非易失性存储介质存储有操作系统和关系链处理装置。该关系链处理装置用于实现一种关系链处理方法。网络接口用于连接到网络。

如图12所示,在一个实施例中提供了一种关系链处理装置1200,具有实现上述各个实施例的关系链处理方法的功能模块。该关系链处理装置1200包括一致性检测模块1201和修复模块1202。

一致性检测模块1201,用于检测各互联网数据中心存储的与当前检测的用户标识对应的正向关系链用户集合是否与相应的反转反向关系链用户集合一致;正向关系链用户集合包括对应的当前检测的用户标识所添加的社交好友的用户标识;反向关系链用户集合包括添加了当前检测的用户标识为社交好友的用户标识;反转反向关系链用户集合是包括了当前检测的用户标识的反向关系链用户集合所对应的用户标识构成的。

修复模块1202,用于若当前检测的用户标识对应的正向关系链用户集合与相应的反转反向关系链用户集合不一致,则将不一致的正向关系链用户集合和/或相应的反向关系链用户集合进行一致性修复。

如图13所示,在一个实施例中,该关系链处理装置1200还包括同步代理模块1203,用于在任意一个互联网数据中心的正向关系链用户集合和/或反向关系链用户集合发生变化时,将变化的关系链数据在多个互联网数据中心之间进行同步。

在一个实施例中,同步代理模块1203还用于将修复后的正向关系链用户集合和/或反向关系链用户集合在多个互联网数据中心之间进行同步。

在一个实施例中,一致性检测模块1201包括:获取模块1201a、运算模块1201b和判断模块1201c。

获取模块1201a,用于获取各个互联网数据中心上与当前检测的用户标识对 应的正向关系链用户集合中的各个用户标识间的第一异或值,以及相应的反转反向关系链用户集合中各个用户标识间的第二异或值。

运算模块1201b,用于将来自各个互联网数据中心的第一异或值进行异或运算获得第一比对值;将来自各个互联网数据中心的第二异或值进行异或运算获得第二比对值。

判断模块1201c,用于判断第一比对值是否与第二比对值一致。

在一个实施例中,获取模块1201a包括:在各个互联网数据中心各自内部运行的内部获取模块。

在各个互联网数据中心各自内部运行的内部获取模块用于汇集当前检测的用户标识对应的本互联网数据中心存储的正向关系链用户集合和反转反向关系链用户集合;计算本互联网数据中心汇集的正向关系链用户集合中各个用户标识间的第一异或值,并计算本互联网数据中心汇集的反转反向关系链用户集合中各个用户标识间的第二异或值。

指定的互联网数据中心内部运行的内部获取模块用于从其它互联网数据中心内部运行的内部获取模块拉取第一异或值和第二异或值;将来自各个互联网数据中心的第一异或值进行异或运算获得第一比对值;将来自各个互联网数据中心的第二异或值进行异或运算获得第二比对值;判断第一比对值是否与第二比对值一致;若不一致,则将不一致的正向关系链用户集合和/或相应的反向关系链用户集合进行一致性修复。

在一个实施例中,修复模块1202包括:拉取模块1202a、比对模块1202b和修复执行模块1202c。

拉取模块1202a,用于若第一比对值与第二比对值不一致,则从各个互联网数据中心拉取当前检测的用户标识对应的正向关系链用户集合和反转反向关系链用户集合。

比对模块1202b,用于对拉取的正向关系链用户集合和反转反向关系链用户集合进行比对,查找到不一致的关系链对。

修复执行模块1202c,用于对于不一致的关系链对,到双方所属的互联网数据中心拉取双方的正向关系链用户集合和反向关系链用户集合以进行一致性修 复。

在一个实施例中,用户标识包括公众号和个人用户标识;正向关系链用户集合或反向关系链用户集合中的用户标识以指定数量为单位分组建立索引。

上述关系链处理装置1200,通过将关系链存储在多个互联网数据中心上,即使一个互联网数据中心发生故障仍能够保障关系链的可用性。而且在各个互联网数据中心上以正向关系链用户集合和反向关系链用户集合的形式来存储关系链,可以明确用户添加了哪些好友以及被哪些其它用户添加为好友,这样可以明确用户之间双向的关系链,从而根据该关系链进行更为精确的社交互动。而且通过检测用户的正向关系链用户集合与反转反向关系链用户集合是否一致,可以检测出各互联网数据中心存储的关系链是否发生了问题,从而通过修复正向关系链用户集合和/或反向关系链用户集合来保证关系链的一致性和可用性。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)等非易失性存储介质,或随机存储记忆体(Random Access Memory,RAM)等。

以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。

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