社交网络信息处理方法及系统的制作方法
【专利摘要】本发明实施例公开了一种社交网络信息处理方法及系统,属于数据服务和网络通信【技术领域】。所述方法包括:针对每个用户建立其发布信息列表;将接收到的用户新发布的信息添加至对应用户的发布信息列表中;在接收到客户端的访问请求后,获取所述访问请求指定的用户的关联用户列表;分别从所述关联用户列表中的每个用户的发布信息列表中读取预定数量的信息;以及将读取的所有关联用户发布的信息返回至所述客户端。本发明实施例提出的社交网络信息处理方法采用“读扩散”方式,由各个用户维护自己的一个发布信息列表,用户通过聚合其关联用户列表发布的信息和自己的发布的信息就可以构成用户的个人首页信息。
【专利说明】社交网络信息处理方法及系统
【技术领域】
[0001]本发明涉及数据服务和网络通信【技术领域】,特别涉及一种社交网络信息处理方法及系统,可以为用户提供稳定、高并发的海量数据读取服务。
【背景技术】
[0002]随着计算机运用与互联网技术的发展,各种社交网络运用而生。其中,微博是用户在互联网进行消息分享、传播的一种新方式,相比于平面、传统媒体以及网站等传播方式,微博最突出的特点是:快!微博,即微博客(MicroBlog)的简称,是一个基于用户关系的信息分享、传播以及获取的平台,用户可以通过各种终端以简短的文字(一般是140个字)发布个人所想、所做的信息,实现信息的即时分享。
[0003]在微博平台上,每一个用户都是一个分享者、传播者,每一个消息都能通过用户之间的关系链得到快速的传播,消息的传播是以爆炸式的扩散进行的。所谓关系链是人与人之间由于某种兴趣、目的或者利益而形成的关系列表,在微博特定场景中,主要是指由用户收听的人和该用户的听众所组成的用户集合。此外,微博的消息也是一种UGC (UserGeneratedContent ,用户原创内容)数据。
[0004]用户在微博上获取信息的方式一般是通过用户个人首页,而用户个人首页则由用户发表消息、用户收听的人发表的信息以及用户收到的信息等组成。由于数据是用户产生的,海量的用户催生出海量的数据,同时又会带来海量的读写量。如何快速的传播、获取这些数据,提供高性能并发的读取服务,是【技术领域】必然面临的问题。
[0005]现有技术方案的架构设计如图1,按其实现方式,可以称为“写扩散”。
[0006]写扩散方法为每个用户维护一个消息列表,用户通过读求该消息列表就可以构成用户的个人首页消息。
[0007]写扩散方法对用户每一条新产生的消息处理步骤如下:
[0008](I)产生一条新消息,并将该消息增加到用户个人的消息列表。
[0009](2)拉取用户的关系链列表(主要是听众列表)。
[0010](3)对于用户的每一个听众,将新消息增加到听众的个人消息列表。
[0011]写扩散方法对用户获取信息的处理步骤如下:
[0012](I)从用户个人消息列表获取一定数量的消息。
[0013](2)根据特定的要求和查询条件进行过滤,并将结果返回。
[0014]现有技术方案的具有如下的缺点:
[0015](I)实时性差。由于用户每新发表一条消息,都需要遍历用户的听众列表,将新消息增加到其听众的个人消息列表。当用户的听众数较少时,性能不是瓶颈,实时性也很快。但是当用户的听众数增大到一定的量级,同样是以写扩散的方式,对于同一条消息,不同的听众获取到的时间差异会很大,消息传播的实时性随着用户关系链的增加而呈现直线下降;
[0016](2)效率低。写扩散方式不考虑用户的在线状态而进行全量的写操作不是一种高效的方法,离线用户并不需要实时的数据写入,大量的CPU及网络带宽被用于性价比低下的操作;
[0017](3)写扩散方式对机器、网络的要求高,直接导致运维成本增加;
[0018](4)机器故障影响面广,服务质量差。当某个服务进程挂掉时,受影响的用户的听众的消息列表就出现消息缺失的情况,导致服务不可用。
【发明内容】
[0019]本发明实施例提供了一种社交网络信息处理方法及系统,提供实时高效、用户体验好的信息传播服务,同时还降低了运维成本。所述技术方案如下:
[0020]一种社交网络信息处理方法,包括:
[0021]针对每个用户建立其发布信息列表;
[0022]将接收到的用户新发布的信息添加至对应用户的发布信息列表中;
[0023]在接收到客户端的访问请求后,获取所述访问请求指定的用户的关联用户列表;
[0024]分别从所述关联用户列表中的每个用户的发布信息列表中读取预定数量的信息;以及
[0025]将读取的所有关联用户发布的信息返回至所述客户端。
[0026]一种社交网络信息处理系统,包括:
[0027]建立模块,用于针对每个用户建立其发布信息列表;
[0028]写入模块,用于将接收到的用户新发布的信息添加至对应用户的发布信息列表中;
[0029]获取模块,用于在接收到客户端的访问请求后,获取所述访问请求指定的用户的关联用户列表;
[0030]读取模块,用于分别从所述关联用户列表中的每个用户的发布信息列表中读取预定数量的信息;
[0031]返回模块,用于将读取的所有关联用户发布的信息返回至所述客户端。
[0032]本发明实施例提供的技术方案带来的有益效果是:本发明实施例提出了一种社交网络信息处理方法及系统,采用“读扩散”方式,由各个用户维护自己的一个发布信息列表,保存本用户发表过的信息,用户通过聚合其关联用户列表发布的信息和自己的发布的信息就可以构成用户的个人首页信息,可以为用户提供实时高效、体验好的信息传播服务,同时还降低了运维成本。
【专利附图】
【附图说明】
[0033]为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0034]图1是现有在微博中对信息进行处理的流程图;
[0035]图2是本发明实施例提供的一种社交网络信息处理方法的流程图;
[0036]图3是图2的方法以运用在微博场景中为例对信息进行处理的流程图;[0037]图4是本发明实施例提供的一种社交网络信息处理系统的结构图。
【具体实施方式】
[0038]本发明实施例提供一种社交网络信息处理方法及系统。为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
[0039]图2为本发明实施例提供的一种社交网络信息处理方法的流程图;图3是图2的社交网络信息处理方法以运用在微博场景中为例对信息进行处理的流程图。请参照图2和图3,所述方法包括:
[0040]步骤SlOl:针对每个用户建立其发布信息列表;
[0041]具体地,为社交网络提供信息处理功能的服务器将针对每个用户建立其发布信息列表。
[0042]步骤S102:将接收到的用户新发布的信息添加至对应用户的发布信息列表中;
[0043]具体地,用户通过客户端发布新的信息,服务器在接收到该用户新发布的信息后,将新发布的信息直接添加到该用户的发布信息列表中。
[0044]步骤S103:在接收到客户端的访问请求后,获取所述访问请求指定的用户的关联用户列表;
[0045]用户在使用社交网络时,为了便于与所关注的人分享信息,每个用户通常会维护一个自己的关联用户列表,将所关注的人纳入其关联用户列表中,并可以在关联用户列表中随时添加新的所关注的人,或者将不再关注的人从其关联用户列表中删除。
[0046]具体地,当用户通过客户端访问该社交网络时,客户端会向服务器发出访问请求。服务器在接收到客户端的访问请求后,获取所述访问请求指定的用户的关联用户列表,例如在微博的运用场景中,所述关联用户列表是指该用户收听的人所组成的用户集合(即收听用户列表)。
[0047]步骤S104:分别从所述关联用户列表中的每个用户的发布信息列表中读取预定数量的信息;
[0048]具体地,以微博的运用场景为例,用户通过客户端访问微博时,服务器将分别从该用户的每个收听的人的发布信息列表中读取预定数量的信息。
[0049]步骤S105:将读取的所有关联用户发布的信息返回至所述客户端。
[0050]具体地,以微博的运用场景为例,服务器在从每个收听的人的发布信息列表中读取信息之后,将读取的所有收听的人发布的信息返回至用户的客户端。
[0051]进一步地,在接收到客户端的访问请求后还包括:从所述访问请求指定的用户的发布信息列表中读取预定数量的信息并将读取的信息返回至所述客户端。具体地,以微博的运用场景为例,服务器在接收到用户客户端的访问请求后,还从该用户自身的发布信息列表中读取预定数量的信息并将读取的信息返回至用户的客户端。
[0052]进一步地,还包括:在返回所述客户端之前,对读取的所述关联用户发布的信息以及所述访问请求指定的用户发布的信息进行聚合及排序操作。具体地,以微博的运用场景为例,服务器在将读取的该用户的每个收听的人的发布的信息和该用户自身发布的信息返回至客户端之前,服务器还对这些信息进行聚合到一起并进行排序操作,例如以信息的发布时间的逆序进行聚合,然后再返回客户端。[0053]进一步地,在返回所述客户端之前,对聚合及排序后的信息进行过滤操作,以过滤掉某些用户不希望看到的信息内容。具体地,用户可以先设定过滤条件,服务器依照用户设定的过滤条件对聚合及排序后的信息进行过滤操作,返回的内容则不含有用户不希望看到的信息内容。
[0054]上述实施例提供的社交网络信息处理方式,不使用“写扩散”方式,改由各个用户维护自己的一个发布信息列表,保存本用户发表过的信息。例如以微博的运用场景为例,客户端的用户通过聚合其收听的人的发布信息列表和自己的发布信息列表就可以构成用户的个人首页信息。这种方式称为“读扩散”方式。
[0055]请参考图4,图4为本发明实施例提供的一种社交网络信息处理系统的结构图;所述系统包括:
[0056]建立模块401,用于针对每个用户建立其发布信息列表;
[0057]写入模块402,用于将接收到的用户新发布的信息添加至对应用户的发布信息列表中;
[0058]获取模块403,用于在接收到客户端的访问请求后,获取所述访问请求指定的用户的关联用户列表;
[0059]读取模块404,用于分别从所述关联用户列表中的每个用户的发布信息列表中读取预定数量的信息;
[0060]返回模块405,用于将读取的所有关联用户发布的信息返回至所述客户端。
[0061]进一步地,所述读取模块404还用于在接收到客户端的访问请求后,从所述访问请求指定的用户的发布信息列表中读取预定数量的信息并将读取的信息返回至所述客户端。
[0062]进一步地,所述系统进一步包括:聚合模块406,用于对读取的所述关联用户发布的信息以及所述访问请求指定的用户发布的信息进行聚合及排序操作。
[0063]进一步地,所述系统进一步包括:过滤模块407,用于对聚合及排序后的信息进行过滤操作。
[0064]进一步地,所述关联用户列表为所述访问请求指定的用户的收听用户列表。
[0065]关于本实施例的社交网络信息处理系统的进一步细节,还可参阅图2与图3所示的社交网络信息处理方法及相关描述。
[0066]上述实施例中提出的社交网络信息处理方法及系统,针对海量信息采取聚合拉取的实现方法,具有以下优点:
[0067](I)简单,只有一次写操作;
[0068](2)实时性高,用户可以快速地进行信息的分享,也可以快速的获取到最新的信息。而对于用户收听列表过大的问题,可以选择柔性的处理方式处理,但保证了不缺失数据;
[0069](3)效率高,不会产生无效的操作,CPU和网络带宽的消耗是依赖于在线的用户量,保证了最高的性价比;
[0070](4)运维成本低,可扩展性强。当机器处理性能下降时,可通过增加机器分流支持;
[0071](5)机器故障影响面小,服务质量高。当服务进程挂掉时,由于采用“读扩散”的方式,不会有写的操作,因此不会影响数据的差异性,而获取信息的计算可以快速的通过备机进行处理。
[0072]需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
[0073]本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory, ROM)或随机存储记忆体(Random AccessMemory, RAM)等。
[0074]以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何`修改、等同替换、改进等,均应包含在本发明的保护范围之内。
【权利要求】
1.一种社交网络信息处理方法,其特征在于,包括: 针对每个用户建立其发布信息列表; 将接收到的用户新发布的信息添加至对应用户的发布信息列表中; 在接收到客户端的访问请求后,获取所述访问请求指定的用户的关联用户列表; 分别从所述关联用户列表中的每个用户的发布信息列表中读取预定数量的信息;以及 将读取的所有关联用户发布的信息返回至所述客户端。
2.如权利要求1所述的社交网络信息处理方法,其特征在于,在接收到客户端的访问请求后还包括: 从所述访问请求指定的用户的发布信息列表中读取预定数量的信息并将读取的信息返回至所述客户端。
3.如权利要求2所述的社交网络信息处理方法,其特征在于,还包括:在返回所述客户端之前,对读取的所述关联用户发布的信息以及所述访问请求指定的用户发布的信息进行聚合及排序操作。
4.如权利要求3所述的社交网络信息处理方法,其特征在于,还包括:在返回所述客户端之前,对聚合及排序后的信息进行过滤操作。
5.如权利要求1所述的社交网络信息处理方法,其特征在于,所述关联用户列表为所述访问请求指定的用户的收听用户列表。
6.一种社交网络信息处理系统,其特征在于,包括: 建立模块,用于针对每个用户建立其发布信息列表; 写入模块,用于将接收到的用户新发布的信息添加至对应用户的发布信息列表中;获取模块,用于在接收到客户端的访问请求后,获取所述访问请求指定的用户的关联用户列表; 读取模块,用于分别从所述关联用户列表中的每个用户的发布信息列表中读取预定数量的信息; 返回模块,用于将读取的所有关联用户发布的信息返回至所述客户端。
7.如权利要求6所述的社交网络信息处理系统,其特征在于,所述读取模块还用于在接收到客户端的访问请求后,从所述访问请求指定的用户的发布信息列表中读取预定数量的信息并将读取 的信息返回至所述客户端。
8.如权利要求7所述的社交网络信息处理系统,其特征在于,所述系统进一步包括: 聚合模块,用于对读取的所述关联用户发布的信息以及所述访问请求指定的用户发布的信息进行聚合及排序操作。
9.如权利要求8所述的社交网络信息处理系统,其特征在于,所述系统进一步包括: 过滤模块,用于对所述聚合及排序后的信息进行过滤操作。
10.如权利要求6所述的社交网络信息处理系统,其特征在于,所述关联用户列表为所述访问请求指定的用户的收听用户列表。
【文档编号】H04L12/58GK103841001SQ201210478330
【公开日】2014年6月4日 申请日期:2012年11月22日 优先权日:2012年11月22日
【发明者】吴宏杰, 田明, 李钟伟 申请人:腾讯科技(深圳)有限公司