CN102480513B - 在社交网络中辅助传递更新内容的装置和方法 - Google Patents
在社交网络中辅助传递更新内容的装置和方法 Download PDFInfo
- Publication number
- CN102480513B CN102480513B CN201010577038.7A CN201010577038A CN102480513B CN 102480513 B CN102480513 B CN 102480513B CN 201010577038 A CN201010577038 A CN 201010577038A CN 102480513 B CN102480513 B CN 102480513B
- Authority
- CN
- China
- Prior art keywords
- user
- content
- mutual
- fresh content
- stored
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims abstract description 38
- 230000002452 interceptive effect Effects 0.000 claims description 30
- 230000005540 biological transmission Effects 0.000 claims description 24
- 230000004044 response Effects 0.000 claims description 9
- 238000004891 communication Methods 0.000 claims description 6
- 239000000284 extract Substances 0.000 claims description 5
- 230000003993 interaction Effects 0.000 abstract description 7
- 230000006870 function Effects 0.000 description 9
- 238000010586 diagram Methods 0.000 description 8
- 238000005516 engineering process Methods 0.000 description 5
- 230000008859 change Effects 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 238000000605 extraction Methods 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 239000002699 waste material Substances 0.000 description 2
- 238000005303 weighing Methods 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 239000012141 concentrate Substances 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000002609 medium Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000012120 mounting media Substances 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 238000013515 script Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q50/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/01—Social networking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/958—Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/10—Office automation; Time management
- G06Q10/101—Collaborative creation, e.g. joint development of products or services
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Theoretical Computer Science (AREA)
- Human Resources & Organizations (AREA)
- Strategic Management (AREA)
- Entrepreneurship & Innovation (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Economics (AREA)
- Tourism & Hospitality (AREA)
- Marketing (AREA)
- General Business, Economics & Management (AREA)
- Data Mining & Analysis (AREA)
- Health & Medical Sciences (AREA)
- Primary Health Care (AREA)
- General Health & Medical Sciences (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Operations Research (AREA)
- Quality & Reliability (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明提供了一种在社交网络中辅助传递更新内容的装置和方法。上述社交网络还包括多个对等客户端,所述辅助装置包括:评估单元,配置为根据用户的交互历史评估该用户的交互偏好;以及预存储单元,其响应于接收到的更新通知,根据所评估的交互偏好判断是否需要预存储与该更新通知对应的更新内容,如果需要,则从至少一个对等客户端预存储所述更新内容。还提供了与上述装置对应的方法。通过以上装置和方法,社交网络中的更新内容可以在对等客户端之间传递,而不需通过中心服务器,从而减轻了中心服务器的负载,同时不影响客户端的用户体验。
Description
技术领域
本发明涉及社交网站和社交网络,更具体而言,涉及在社交网络中辅助传递更新内容的装置和方法。
背景技术
近年来,社交网站以极快的速度迅速风靡互联网。根据在世界各地14个国家的统计,94%的人知道至少一个社交网站,其中72%的人是至少一个社交网站的成员。以知名社交网站facebook为例,根据2009年的统计,facebook在2009年12月已经具有1.12亿用户。伴随着社交网站的迅速发展壮大,社交网站的可扩展性成为有待解决的问题。
现有的社交网站通常是基于客户端浏览器与中心服务器之间的通信。具体地,用户A可以通过浏览器更新其个人内容,例如更改个人状态、上传一张照片、发布一篇日记等。浏览器将用户A的更新内容发送至中心服务器。中心服务器存储接收到的更新内容,通过查询获得用户A的所有好友,例如用户F1-F10,向所有好友发送一个更新通知,通知他们用户A进行了内容更新。如果用户F1-F10中有用户,例如用户F3,点击了接收到的更新通知,则表示该用户F3对用户A的更新内容感兴趣,于是用户F3端的浏览器向中心服务器发送一个请求,中心服务器响应于该请求将用户A的更新内容传送到用户F3的浏览器。由于社交网站用户之间的高度互联,从一个在线用户发出的任何请求都会触发中心服务器收集该用户的众多好友的最新活动更新,为该用户产生动态的、定制的页面,并在很短时间内将页面返回给该用户。这样,用户数量的快速增加使得中心服务器的负载成几何倍数增长。以facebook为例,在112M用户之中,平均57%的用户是在线的,并且在线用户表现非常活跃,这对中心服务器的数据负载能力提出了极高的要求。解决中心服务器负载的传统方式是扩展服务器端的硬件基础架构,并构建高速缓存层用于数据的快速存取。目前,facebook的硬件平台已经达到了1万台机器,包括大约1800个MySQL数据库服务器,其中MySQL机器负责保存用户概况和其他附加信息,其他服务器机器用于保存照片和其他用户数据。对于高速缓存层的构建,由于用户之间的高度的互连性,对用户数据的划分通常不够有效。一些社交网站将用户数据归一化,使其随机分布在几千个基础架构服务器上,然后部署一个分布式高速缓存来保证大部分活跃数据被存储在缓存中用于快速取出。可以看出,以上的方案都对硬件基础架构和相关工程提出很高的要求,使得社交网站的运行成本和扩展代价不断提高。
由于社交网站的用户之间的高度互联,可以尝试利用P2P(peer-to-peer,端对端)的方案来解决社交网站的扩展性。实际上,P2P技术已经成功地解决了若干原本依赖于中心服务器的应用所面临的扩展性的挑战,例如Skype和Bittorrent。然而,将P2P方案用于社交网站还存在诸多问题。首先是关于页面加载的延迟问题。页面加载的延迟时间是衡量社交网站的用户体验的主要标准之一。通常的Web浏览要求页面响应时间少于2秒,然而,Web交互的最近发展使得用户对响应时间的期待值进一步缩短。如果采用P2P方式按需加载页面内容,那么由于用户带宽等限制,加载时间可能会远远超过用户的期待值。另外,采用P2P方式进行社交网络中内容的传输还要考虑各个端的可达性和可靠性。在P2P方案下,有可能遇到用户离线、无法连接等情况,这都会影响页面加载的可靠性,进而影响用户体验。因此,如何将P2P方案用于社交网络从而增进其可扩展性,同时尽量少地影响用户体验成为一项有意义的挑战。
发明内容
鉴于上述问题,提出本发明,旨在减轻社交网络的中心服务器的负载,同时较少地影响用户体验。
根据本发明第一方面,提供一种用于在社交网络中辅助传递更新内容的客户端辅助装置,上述社交网络还包括可与所述辅助装置通信的至少一个对等客户端,所述辅助装置包括:评估单元,配置为根据用户的交互历史评估该用户的交互偏好;以及预存储单元,其响应于从社交网络的中心服务器接收到的更新通知,根据所评估的交互偏好判断是否需要预存储与该更新通知对应的更新内容,如果需要,则通过P2P方式从至少一个对等客户端获取所述更新内容,并将其预存储到本地。
根据本发明第二方面,提供一种用于在社交网络中辅助传递更新内容的方法,上述社交网络包括至少一个对等客户端,上述方法包括:根据用户的交互历史评估该用户的交互偏好;响应于从社交网络的中心服务器接收到的更新通知,根据所评估的交互偏好判断是否需要预存储与该更新通知对应的更新内容;如果需要进行预存储,则通过P2P方式从至少一个对等客户端获取所述更新内容,并将其预存储到本地。
利用本发明实施例中的辅助装置和方法,能够将P2P传输方式用于社交网络中更新内容的传递,从而减轻中心服务器的负载,增进社交网络的扩展性,并且较少地影响用户体验。
附图说明
图1示出根据本发明一个实施例的客户端辅助装置10的框图;
图2示出根据本发明一个实施例发布单元发布更新内容的示意图;
图3示出根据本发明一个实施例预存储单元预存储更新内容的示意图;
图4示出根据本发明一个实施例的方法的流程图;
图5示出根据本发明一个实施例的发布步骤的流程图;以及
图6示出根据本发明一个实施例预存储更新内容的示意图。
具体实施方式
以下结合附图描述本发明的具体实施例。但是应该理解,以下对具体实施例的描述仅仅是为了解释本发明的执行示例,而不对本发明的范围进行任何限定。
在现有的社交网络中,用户之间具有高度互联性,并且用户在线的比例很高,这为用户之间通过P2P方式进行内容共享提供了非常理想的运行环境。另一方面,对现有的社交网络的研究表明,尽管社交网络中用户具有大量的关联用户,也就是社交网络中的“好友”,这些好友会频繁地进行内容更新,但是用户真正与其发生交互的更新内容一般只集中于所有更新内容中的特定的一小部分。例如,一般来说,即使一个用户在社交网络中具有几百个甚至上千个好友,但是用户发生交互的好友数目总是维持在一个相对稳定的数目,该数目要远远小于好友总数目。或者,面对社交网络中众多好友的状态更新,用户真正感兴趣而进行交互的通常是特定类型、特定主题的一部分内容,例如有些用户总是喜欢浏览好友的照片更新,有些用户喜欢浏览与旅游相关的更新内容等等。因此,如果能够判别出用户最有可能进行交互的内容,将其通过P2P方式预先存储在用户本地,就有可能将P2P方式应用于社交网络而不影响用户体验。基于这样的构思,在本发明的多个实施例中,根据用户与其好友的交互历史确定用户的交互偏好。一旦接收到好友的更新通知,就根据交互偏好决定是否需要对更新内容进行预存储,如果是,则从社交网络中的其他客户端依照P2P方式获取更新内容,从而减轻中心服务器端的负载。同时,由于对可能需要的更新内容进行了预存储,在用户点击查看好友的更新内容时,可以直接从本地将该更新内容呈现给用户而不影响用户体验,由此实现了社交网络中更新内容的有效传递。
图1示出根据本发明一个实施例的客户端辅助装置10的框图,该辅助装置10用于在社交网络中辅助传递更新内容,上述社交网络还包括多个与辅助装置10对等的对等辅助装置。在一个具体例子中,辅助装置10可以实现为浏览器的插件;在另一例子中,辅助装置10可以表现为由社交网站或第三方提供的单机应用工具,或应用工具的一个功能组件。从功能实现的角度,辅助装置10包括评估单元102,配置为根据用户的交互历史评估该用户的交互偏好;以及预存储单元104,其响应于接收到的更新通知,根据所评估的交互偏好判断是否需要预存储与该更新通知对应的更新内容,如果需要,则从至少一个对等辅助装置获取所述更新内容,并将其预存储到本地。
具体地,评估单元102通过捕获用户的操作或捕获浏览器的通信数据,例如浏览器发出的请求以及获得的数据,可以获得用户在一段时间内对其好友动态的点击、浏览、评论等交互操作的信息,进而获得用户的交互历史。或者,评估单元102可以读取其他模块已经记录的交互历史来进行分析。通过对用户的交互历史进行分析,评估单元102可以确定用户在内容类型、内容主题、好友等方面的交互偏好。
评估单元102获得的交互偏好可以用于判断用户是否会对后续的好友更新感兴趣。具体来说,一旦用户的好友进行了内容更新,辅助装置会从中心服务器接收到更新通知,更新通知中通常包含了所更新的内容的摘要信息,例如更新时间、类型、题目等。预存储单元104对接收到的更新通知进行分析,判断与该更新通知对应的更新内容是否符合评估单元102确定的交互偏好。如果符合,预存储单元104就认为有必要预存储该更新内容,于是从社交网络中可能存储有该更新内容的其他对等客户端获取该更新内容,并预存储在本地。
如上所述,预存储单元104基于评估单元102评估得到的交互偏好对各个好友的更新内容进行选择和预存储。其中,评估单元102对交互偏好的评估,以及预存储单元104对更新内容的选择都有多种实施方式,以下结合多个实施例进行举例说明。
在一个实施例中,评估单元102根据用户的交互历史中包含的各个交互所针对的内容类型来创建一个内容类型列表,其中记录用户最为频繁进行交互的内容类型,以此内容类型列表来反映用户的交互偏好。例如,在一个例子中,评估单元102将更新内容分为多种类型,包括状态更新、照片更新、日记更新等等,并按照以上分类,对用户所进行的交互进行计数。例如,用户对类型1的更新内容的点击使得类型1交互数目Num(type1)递增,对类型2的更新内容的点击使得类型2交互数目Num(type2)递增,从而获得每种类型的内容所对应的交互数目。根据这样的统计,评估单元102将交互数目最高的一种或几种类型认为是交互最为频繁的内容类型,从而将其记录在内容类型列表中。由此,内容类型列表中所记录的内容类型是用户在过去一段时间内最感兴趣的内容类型,也是在未来最有可能进行交互的内容类型。
在这种情况下,一旦接收到更新通知,预存储单元104就通过对更新通知进行分析,确定所对应的更新内容的类型。如果更新内容的类型包含在上述内容类型列表中,那么预存储单元104就对该更新内容进行预存储。
在一个实施例中,评估单元102根据用户的交互历史中包含的交互所涉及的关键字来创建一个关键字列表,其中记录用户最为频繁进行交互的内容的关键字,以此关键字列表反映用户的交互偏好。在这种情况下,评估单元102可以进一步包含一个关键字提取模块(未示出),该模块的算法可以采用现有技术中已知的各种关键字提取方法,只要所提取的关键字能够从一个角度反映用户感兴趣的主题。从而,关键字列表所记录的关键字能够反映用户在过去一段时间内感兴趣的内容主题,这种主题的内容也是用户接下来最有可能进行交互的内容。例如,在一个例子中,用户在一段时间内点击了5篇有关美食的日记、10张名称含有“美食”或“饭店”的照片、2篇有关旅游的日记、1篇有关娱乐新闻的评论,那么评估单元102通过对关键字的分析,可以将“美食”、“旅游”等出现频率较高的关键词添加到关键字列表中,使其反映出用户感兴趣的内容主题。
在这种情况下,一旦接收到更新通知,预存储单元104就对更新通知进行分析,提取更新通知中的关键字,确定更新内容的主题。如果更新通知的关键字包含在上述关键字列表中,那么预存储单元104就对更新通知所对应的更新内容进行预存储。
在一个实施例中,评估单元102根据用户的交互历史中包含的各个交互所涉及的好友来创建一个交互好友列表,其中记录用户最为频繁进行交互的好友,以此交互好友列表来反映用户的交互偏好。
在一个具体例子中,假定辅助装置10的当前用户为用户n,用户n在社交网络中具有Mn个关联用户,也就是好友,分别记为好友0到Mn。对于每个好友m,m=0-Mn,每当该好友m进行内容更新时,辅助装置10会接收到来自该好友m的更新通知。由此,评估单元102通过对更新通知进行计数可以得到该好友m在一段时间内的更新次数am。另一方面,通过参照交互历史中各个交互涉及的好友,评估单元102可以得到在一段时间内,用户n与该好友m发生交互的次数Cm,n。可以通过交互次数Cm,n与更新次数am的比例来表征用户n对该好友m的关注度dm=Cm,n/am。为该关注度设定一个阈值H,将关注度高于该阈值H的好友添加到交互好友列表中。
在这种情况下,一旦接收到更新通知,预存储单元104就判断更新通知所涉及的好友。如果更新通知涉及的好友包含在上述交互好友列表中,那么预存储单元104就对更新通知所对应的更新内容进行预存储。
在评估单元102建立交互好友列表的情况下,预存储单元104基于该交互好友列表来判断是否对更新内容进行预存储,因此,交互好友列表中好友的选取直接关系到预存储单元104对预存储内容的判定。很自然地,希望交互好友列表中好友的选取能够使得预存储带来最大效益,也就是,尽可能增加预存储的命中率,尽可能减小预存储所导致的带宽消耗。为此,评估单元102可以考虑命中率、带宽消耗等更多因素,采用更为全面的算法来优化以上的好友选取。
在一个具体例子中,评估单元102考虑在基于好友进行预存储的情况下预存储的命中率hn:
其中,Pm,n是用户n与用户m的交互次数Cm,n占用户n的总交互次数的比例;Sm,n为是否将用户n的好友用户m添加到交互好友列表的标志,其中Sm,n为1或者0。当Sm,n为1时,表示将用户m添加到交互好友列表,进而在后续预存储用户m的更新内容;如果Sm,n为0,则不添加用户m,从而不对用户m的更新内容进行预存储。
显然,当所有的Sm,n为1时,hn等于1。这是容易理解的,因为如果评估单元102将用户n的所有好友都添加到交互好友列表,那么预存储单元104将会预存储所有朋友m的更新内容,那么用户n对所有更新内容的访问都可以在预存储区域找到,也就是都可以命中。
然而,预存储所有朋友m的信息,带来的代价是消耗非常多的网络带宽。为此,评估单元102还考虑带宽消耗wn,用于衡量预存储数据所引起的带宽消耗。
在上式中,分母表示用户n的好友进行了更新、而用户n未对其进行交互的未交互更新的总数目,分子表示进行了预存储的未交互更新的数目。因此,wn可以表征未进行交互的浪费的带宽。显然,当所有的Sm,n为1时,wn也为1。意味着网络的消耗也为最大。
为了在命中率和带宽消耗之间进行权衡,可以定义一个效用函数Un:
其中,a,b是两个参数,用于平衡hn和wn的权重。在上式中,显然,hn越大,命中率越高,效用越好;wn越大,浪费带宽越大,效用越低。由此,评估单元102可以将如何构建交互好友列表的问题转化为这样一个问题,即,如何选择一个集合{S0,n,S1,n,...SM-1,n|Sm,n=0或者1},使得效用函数为最大。
在一个例子中,评估单元102遍历上述集合的所有可能组合,代入到效用函数Un中,找出使得效用函数最大的最优集合,根据这个最优集合构建交互好友列表。这种方法要计算的集合的数目为2Mn量级。
在一个例子中,评估单元102采用启发式方法来简化寻找最优集合的过程。具体地,可以将关注度dm=Cm,n/am作为启发值。对于用户n的Mn个好友,将用户n对每个好友m的关注度dm进行排序,得到一个从大到小的序列。在这个序列中,选择其中一个dm值作为假定阀值,假设其为di;凡是关注度大于di的用户m,将其对应的Sm,n设置为1,否则为0,然后计算其效用函数。由于di的选择最多有Mn种可能,因此最多可以计算出Mn个效用函数值。将获得最大效用函数的假定阀值作为最终阈值,就可以得到较为理想的{S0,n,S1,n,...SMn-1,n}集合,利用这个集合来选择好友,构建交互好友列表。在这个例子中,将有待计算的集合的数目简化到约为Mn,提高了计算的可行性。
对于构建交互好友列表的方法,可以理解的是,本领域技术人员能够对以上的方法进行一定的修改,从而以其他方式实现对好友的选择。例如,在一个例子中,可以采用其他参数,例如Cm,n,作为启发值来求解Sm,n集合;在一个例子中,可以改变控制参数a和b,从而改变命中率和带宽消耗的权重;在一个例子中,可以采用其他形式的效用函数,只要其能够反映命中率和带宽消耗与预存储的收益之间的关系。在一些简化的例子中,还可以直接判断一些参数,例如交互数目,交互频率等,将参数值大于预先设定的阈值的好友添加到交互好友列表中。
进一步地,尽管以上具体描述了评估单元102通过构建内容类型列表、关键字列表和交互好友列表而获取交互偏好的实施例,但是交互偏好并不限于以上所举例说明的内容。例如,在一个例子中,对交互历史的分析可能表明,用户总是倾向于对“热门”主题做出交互,也就是,对于一条更新,如果用户发现已经有多个好友,例如5个,对此内容做出了交互,那么用户就有很大的可能性关注这个更新内容。在这种情况下,交互偏好可能包含一个阈值参数,表明用户参与一个内容的交互时该内容已有的关注度。可以理解,除了以上描述的多个示例之外,本领域技术人员能够根据需要,分析交互历史中的其他特征,从而评估用户的交互偏好。并且,可以想到,在不同的实施例中,可以将以上描述的获取交互偏好的不同方式结合在一起,例如,同时构建内容类型列表和交互好友列表等等,从而使得交互偏好的表征更加细致。相应地,基于不同实施方式的交互偏好,预存储单元104可以从不同方面对更新内容进行选择和预存储。
在对更新内容进行预存储时,预存储单元104可以利用现有的P2P技术从对等的客户端获取更新内容。在一个实施例中,预存储单元104可以向产生更新内容的好友所在的客户端发出请求,从而通过P2P方式直接从源客户端获得更新内容。此外,由于社交网络之中各个用户之间的互连性,各个用户所在的客户端之间也具有相互关联。因此,在一种实施例中,预存储单元104可以通过“好友的好友”作为中继,从与源客户端相关联的其他客户端间接地获取到更新内容。根据所需的更新内容在好友之中的分布情况,预存储单元104还可以同时从多个对等客户端获取更新内容。
在以上的实施例中,一旦接收到好友的更新通知,预存储单元104选择性地对更新内容进行预存储,以供用户进行交互。为了使得用户所发布的更新内容也同样能够被好友以类似的方式预存储,在一个实施例中,辅助装置10还包括发布单元(未示出),配置为发布用户的更新内容。具体地,在用户通过浏览器发布更新内容时,发布单元除了传统地将更新内容传送给中心服务器之外,还将更新内容存储在本地,以供用户的好友在需要的情况下从用户本地请求该更新内容。
如以上所述,社交网络中更新内容的传递以P2P方式在各个对等的用户客户端之间进行。为使得更新内容的传递更加有效,社交网络中还可以包含一个网络管理设备,用于部署各个对等客户端之间的网络传输。具体地,各个客户端可能具有不同的网络类型,也就是NAT网关类型,包括开放、限制IP、限制端口、UDP禁用等等。具有特定网关类型的客户端只能与对应的特定类型的客户端通信,例如限制IP的客户端能够与除UDP禁用之外所有类型的客户端通信,而UDP禁用的客户端只能与开放类型的客户端通信。为此,网络管理设备可以记录每个客户端的网络类型,以及其能够通信的网络类型。此外,网络管理设备还可以为每个更新内容分配一个独有的ID,并以该ID为索引记录各个更新内容在多个对等客户端之间的分布状况。现有技术的P2P网络中通常也具有类似的网络管理设备,用于管理和协调对等的网络节点之间的网络传输。并且,根据需要,网络管理设备还可以记录更多的信息用于更好地管理P2P网络传输。
在社交网络中具有网络管理设备的情况下,辅助装置10可以通过与网络管理设备通信,更好地实现更新内容的共享和预存储。
图2示出根据本发明一个实施例发布单元发布更新内容的示意图。如图2所示,在用户通过浏览器发布更新内容时,发布单元首先从浏览器获得有待发布的更新内容。接着,发布单元向网络管理设备发出发布请求。网络管理设备为有待发布的内容分配一个独有的ID,返回给发布单元。于是发布单元将更新内容连同获得的内容ID一起存储在本地。并且,与传统方式类似,发布单元还将更新内容发送到中心服务器,但是在更新内容中嵌入上述内容ID,使得中心服务器在生成更新通知时,能够在更新通知中引入该内容ID。
图3示出根据本发明一个实施例预存储单元预存储更新内容的示意图。如图3所示,在从中心服务器接收到更新通知时,预存储单元如之前所述地参照交互偏好判断是否预存储对应的更新内容。如果决定要进行预存储,则预存储单元从更新通知中提取出嵌入的内容ID,利用该内容ID向网络管理设备发出获取请求。网络管理设备参照各个客户端的网络类型以及该内容ID所对应的更新内容在各个客户端之间的分布情况,向预存储单元返回连接信息,其中示出存储有所需更新内容的客户端地址和其网络状态。利用这样的连接信息,预存储单元就可以高效地从对等的客户端获取需要的更新内容,并在适当时候交给浏览器进行呈现。
可以理解,虽然以上示出了在网络管理设备的协助下利用P2P方式传递更新内容的例子,但是,传递更新内容的具体过程并不限于以上所述,而是可以利用各种P2P技术来实现。现有技术中对于P2P传输的具体实现方式已经进行了多方面的研究,本领域技术人员能够根据需要采用适当的实现方式用于在社交网络中传递更新内容。
基于同一发明构思,本发明还提供了一种与上述辅助装置对应的方法。图4示出根据本发明一个实施例的方法的流程图,该方法用于在社交网络中辅助传递更新内容,上述社交网络包括多个对等客户端。如图所示,上述方法包括,步骤402,在其中根据用户的交互历史评估该用户的交互偏好;步骤404,在其中,响应于接收到的更新通知,根据所评估的交互偏好判断是否需要预存储与该更新通知对应的更新内容;如果步骤404的判断结果为是,则在步骤406,从至少一个对等客户端获取所述更新内容,并将其预存储到本地。
在一个实施例中,在评估步骤402中,根据用户的交互历史中包含的各个交互所针对的内容类型来创建一个内容类型列表,其中记录用户最为频繁进行交互的内容类型,以此内容类型列表反映用户的交互偏好。
在这种情况下,在步骤404中,一旦接收到更新通知,通过对更新通知进行分析,确定所对应的更新内容的类型,并判断对应的更新内容类型是否包含在上述内容类型列表中。
在一个实施例中,在评估步骤402中,根据用户的交互历史中包含的交互所涉及的关键字来创建一个关键字列表,其中记录用户最为频繁进行交互的内容的关键字,以此关键字列表来反映用户的交互偏好。
在这种情况下,在步骤404中,一旦接收到更新通知,就对更新通知进行分析,提取更新通知中的关键字,并判断该关键字是否包含在上述关键字列表中。
在一个实施例中,在评估步骤402中,根据用户的交互历史中包含的各个交互所涉及的好友来创建一个交互好友列表,其中记录用户最为频繁进行交互的好友,以此交互好友列表来反映用户的交互偏好。构建交互列表的具体例子如参照辅助装置的描述,在此不再赘述。
在这种情况下,在步骤404中,一旦接收到更新通知,就确定更新通知所涉及的好友,并判断所涉及的好友是否包含在上述交互好友列表中。
尽管以上描述了评估步骤402和判断步骤404的例子,但可以理解,这两个步骤都存在多种不同的实施方式。本领域技术人员能够根据需要选择适当的方式在执行上述步骤402和404。
在判断步骤404的结果为肯定结果时,在步骤406中,可以利用现有的P2P技术从对等的客户端获取更新内容,并存储在本地。在一个实施例中,可以向产生更新内容的好友所在的客户端发出请求,从而通过P2P方式直接从源客户端获得更新内容。在另一种实施例中,可以通过“好友的好友”作为中继,从与源客户端相关联的其他客户端间接地获取到更新内容。
此外,为了使得用户所发布的更新内容也同样能够被好友以上述方式预存储,在一个实施例中,方法还包括发布步骤,用于发布用户的更新内容。具体地,在发布步骤中,除了传统地将更新内容传送给中心服务器之外,还将更新内容存储在本地,以供用户的好友在需要的情况下从用户本地请求该更新内容。
如以上所述,社交网络中更新内容的获取以P2P方式在对等的用户客户端之间进行。为使得更新内容的传递更加有效,社交网络中还可以包含一个网络管理设备,用于部署各个对等客户端之间的网络传输。具体地,网络管理设备可以记录每个客户端的网络类型,以及其能够通信的网络类型。此外,网络管理设备还可以为每个更新内容分配一个独有的ID,并以该ID为索引记录各个更新内容在多个对等客户端之间的分布状况。
在社交网络中具有网络管理设备的情况下,上述更新内容发布步骤和获取步骤可以如下进行。
图5示出根据本发明一个实施例的发布步骤的流程图。如图5所示,在步骤501中,从浏览器获得有待发布的更新内容。接着,在步骤502向网络管理设备发出发布请求。网络管理设备为有待发布的内容分配一个独有的ID,返回给发布单元。因此,在步骤503,可以获得返回的ID,并在步骤504,将更新内容连同内容ID存储在本地。最后在步骤505,将更新内容发送到中心服务器,但是在更新内容中嵌入上述内容ID,使得中心服务器在生成更新通知时,能够在更新通知中引入该内容ID。
图6示出根据本发明一个实施例预存储更新内容的示意图。如图6所示,在步骤601,从更新通知中提取出嵌入的内容ID,利用该内容ID向网络管理设备发出获取请求。在步骤602,从网络管理设备接收到返回的连接信息,其中示出存储有所需更新内容的客户端地址和其网络状态。于是,在步骤603,利用这样的连接信息,从连接信息中指示的对等客户端获取需要的更新内容,并预存储在本地。
通过以上所述的方法的示例,可以在接收到的更新通知符合交互偏好的情况下,从对等的客户端设备预存储对应的更新内容,从而减轻中心服务器的负载,同时由于对更新内容进行了预存储,在用户请求对更新内容进行交互时,不会影响用户的体验。尽管以上参照具体实施例进行了描述,但是可以想到,本发明的方法并不限于以上具体描述的例子,而是能够根须需要做出各种修改。各种修改的实例如参照辅助装置的描述,在此不再赘述。
本领域技术人员可以理解,上述在社交网络中辅助传递更新内容的装置和方法可以使用计算机可执行指令和/或包含在处理器控制代码中来实现,例如在诸如磁盘、CD或DVD-ROM的载体介质、诸如只读存储器(固件)的可编程的存储器或者诸如光学或电子信号载体的数据载体上提供了这样的代码。本实施例的装置及其单元可以由诸如超大规模集成电路或门阵列、诸如逻辑芯片、晶体管等的半导体、或者诸如现场可编程门阵列、可编程逻辑设备等的可编程硬件设备的硬件电路实现,也可以用由各种类型的处理器执行的软件实现,也可以由上述硬件电路和软件的结合实现。用于执行本发明的操作的软件和程序代码,可以用一种或多种程序设计语言的组合来编写,包括但不限于,面向对象的程序设计语言,诸如Java,Smalltalk,C++之类,以及常规的过程式程序设计语言,诸如C程序设计语言或类似的程序设计语言。程序代码可以本地地或远程地在计算机上执行,以完成设定的操作。
虽然以上结合具体实施例,对本发明的辅助装置、辅助传递更新内容的方法进行了详细描述,但本发明并不限于此。本领域普通技术人员能够在说明书教导之下对本发明进行多种变换、替换和修改而不偏离本发明的精神和范围。应该理解,所有这样的变化、替换、修改仍然落入本发明的保护范围之内。本发明的保护范围由所附权利要求来限定。
Claims (16)
1.一种用于在社交网络中辅助传递更新内容的客户端辅助装置,上述社交网络还包括可与所述辅助装置通信的至少一个对等客户端,所述辅助装置包括:
评估单元,配置为根据用户的交互历史评估该用户的交互偏好,其中评估单元进一步被配置为:
计算用户n对所述交互历史中所涉及的好友m的关注度dm=Cm,n/am,其中Cm,n是用户n与好友m发生交互的次数,am是好友m更新通知的次数;
将关注度高于阈值的好友添加到交互好友列表;
根据所述交互好友列表评估该用户的交互偏好,
预存储单元,其响应于从社交网络的中心服务器接收到的更新通知,根据所评估的交互偏好判断是否需要预存储与该更新通知对应的更新内容,如果需要,则通过P2P方式从至少一个对等客户端获取所述更新内容,并将其预存储到本地。
2.根据权利要求1的辅助装置,其中所述评估单元配置为通过捕获用户的操作和捕获浏览器的通信数据中的至少一个,获得用户的交互历史。
3.根据权利要求1的辅助装置,其中所述评估单元配置为,根据所述交互历史中所涉及的内容类型来创建内容类型列表,由此获取用户的交互偏好。
4.根据权利要求1的辅助装置,其中所述评估单元配置为,根据所述交互历史中所涉及的关键字来创建关键字列表,由此获取用户的交互偏好。
5.根据权利要求1的辅助装置,其中所述辅助装置还包括:发布单元,配置为发布用户的更新内容,并将所述更新内容存储在本地。
6.根据权利要求1的辅助装置,其中所述社交网络还包括网络管理设备,配置为部署社交网络中的各个对等客户端之间的网络传输。
7.根据权利要求6的辅助装置,其中所述辅助装置还包括:发布单元,配置为向所述网络管理设备发送发布请求,从所述网络管理设备接收返回的内容ID,将用户的更新内容以及返回的内容ID存储在本地,并将所述更新内容和内容ID发送到所述中心服务器,使得中心服务器在生成更新通知时包含所述内容ID。
8.根据权利要求6的辅助装置,其中所述预存储单元配置为,从包含内容ID的更新通知中提取内容ID,利用该内容ID向所述网络管理设备发出获取更新内容的请求,并利用所述网络管理设备返回的连接信息,从至少一个对等客户端获取更新内容。
9.一种用于在社交网络中辅助传递更新内容的方法,上述社交网络包括至少一个对等客户端,上述方法包括:
根据用户的交互历史评估该用户的交互偏好,其中包括:
计算用户n对所述交互历史中所涉及的好友m的关注度dm=Cm,n/am,其中Cm,n是用户n与好友m发生交互的次数,am是好友m更新通知的次数;
将关注度高于阈值的好友添加到交互好友列表;
根据所述交互好友列表评估该用户的交互偏好,
响应于从社交网络的中心服务器接收到的更新通知,根据所评估的交互偏好判断是否需要预存储与该更新通知对应的更新内容;
如果需要进行预存储,则通过P2P方式从至少一个对等客户端获取所述更新内容,并将其预存储到本地。
10.根据权利要求9的方法,还包括,通过捕获用户的操作和捕获浏览器的通信数据中的至少一个,获得用户的交互历史。
11.根据权利要求9的方法,其中评估用户的交互偏好的步骤包括,根据所述交互历史中所涉及的内容类型来创建内容类型列表,由此获取用户的交互偏好。
12.根据权利要求9的方法,其中评估用户的交互偏好的步骤包括,根据所述交互历史中所涉及的关键字来创建关键字列表,由此获取用户的交互偏好。
13.根据权利要求9的方法,还包括:发布用户的更新内容,并将所述更新内容存储在本地。
14.根据权利要求9的方法,其中所述社交网络还包括网络管理设备,配置为部署社交网络中的各个对等客户端之间的网络传输。
15.根据权利要求14的方法,还包括发布用户的更新内容,在其中,向所述网络管理设备发送发布请求,从所述网络管理设备接收返回的内容ID,将用户的更新内容以及返回的内容ID存储在本地,并将所述更新内容和内容ID发送到所述中心服务器,使得中心服务器在生成更新通知时包含所述内容ID。
16.根据权利要求14的方法,其中获取所述更新内容的步骤包括,从包含内容ID的更新通知中提取内容ID,利用该内容ID向所述网络管理设备发出获取更新内容的请求,并利用所述网络管理设备返回的连接信息,从至少一个对等客户端获取更新内容。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010577038.7A CN102480513B (zh) | 2010-11-29 | 2010-11-29 | 在社交网络中辅助传递更新内容的装置和方法 |
US13/306,484 US8732237B2 (en) | 2010-11-29 | 2011-11-29 | Interaction-based update delivery for user generated content |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010577038.7A CN102480513B (zh) | 2010-11-29 | 2010-11-29 | 在社交网络中辅助传递更新内容的装置和方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102480513A CN102480513A (zh) | 2012-05-30 |
CN102480513B true CN102480513B (zh) | 2014-09-10 |
Family
ID=46092992
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201010577038.7A Expired - Fee Related CN102480513B (zh) | 2010-11-29 | 2010-11-29 | 在社交网络中辅助传递更新内容的装置和方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US8732237B2 (zh) |
CN (1) | CN102480513B (zh) |
Families Citing this family (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9418160B2 (en) * | 2010-12-17 | 2016-08-16 | Microsoft Technology Licensing, Llc | Hash tag management in a microblogging infrastructure |
US8938500B1 (en) * | 2012-05-09 | 2015-01-20 | Google Inc. | Retrieving social network content |
WO2013191681A2 (en) * | 2012-06-19 | 2013-12-27 | Empire Technology Development, Llc | Automatic content forwarding to communication networks |
CN103731459A (zh) * | 2012-10-15 | 2014-04-16 | 阿里巴巴集团控股有限公司 | 一种基于社会性网络服务的互动数据的传播方法及服务器 |
CN103870469B (zh) * | 2012-12-10 | 2018-03-27 | 联想(北京)有限公司 | 一种信息处理的方法及电子设备 |
CN104125163B (zh) * | 2013-04-25 | 2020-04-07 | 腾讯科技(深圳)有限公司 | 一种数据处理方法、装置及终端 |
US11252213B2 (en) | 2013-08-15 | 2022-02-15 | Comcast Cable Communications, Llc | Multiple flinging devices in a media fling system |
CN103746895A (zh) * | 2013-10-29 | 2014-04-23 | 广州华多网络科技有限公司 | 通讯用户间关注度的处理方法和*** |
CN103701893B (zh) * | 2013-12-23 | 2017-11-17 | 华为技术有限公司 | 个人终端设备间的信息访问方法、***及个人终端设备 |
EP3134945B1 (en) | 2014-04-23 | 2019-06-12 | TE Connectivity Corporation | Electrical connector with shield cap and shielded terminals |
WO2016009285A1 (en) | 2014-07-16 | 2016-01-21 | Tensera Networks Ltd. | Efficient content delivery over wireless networks using guaranteed prefetching at selected times-of-day |
US11095743B2 (en) | 2014-07-16 | 2021-08-17 | Tensera Networks Ltd. | Optimized content-delivery network (CDN) for the wireless last mile |
US9979796B1 (en) * | 2014-07-16 | 2018-05-22 | Tensera Networks Ltd. | Efficient pre-fetching notifications |
US10432566B2 (en) * | 2015-11-20 | 2019-10-01 | International Business Machines Corporation | Determining membership causes for new user and continued involvement in social network sites |
US10348669B2 (en) | 2015-11-20 | 2019-07-09 | International Business Machines Corporation | Encouraging the engagement of users on a social network site |
CN106896991B (zh) * | 2017-02-21 | 2020-02-28 | 北京小米移动软件有限公司 | 一种更新信息的方法及装置 |
CN114338578B (zh) * | 2021-12-29 | 2024-02-09 | 上海掌门科技有限公司 | 一种用于发送好友申请的方法、设备、介质及程序产品 |
CN115834697A (zh) * | 2022-11-16 | 2023-03-21 | 北京奇艺世纪科技有限公司 | 一种文件存储方法、***、装置及电子设备 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6085226A (en) * | 1998-01-15 | 2000-07-04 | Microsoft Corporation | Method and apparatus for utility-directed prefetching of web pages into local cache using continual computation and user models |
CN101022396A (zh) * | 2007-03-15 | 2007-08-22 | 上海交通大学 | 网格数据副本管理*** |
CN101221583A (zh) * | 2008-01-29 | 2008-07-16 | 北京百问百答网络技术有限公司 | 一种问题推荐方法及*** |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6959320B2 (en) * | 2000-11-06 | 2005-10-25 | Endeavors Technology, Inc. | Client-side performance optimization system for streamed applications |
WO2002057917A2 (en) * | 2001-01-22 | 2002-07-25 | Sun Microsystems, Inc. | Peer-to-peer network computing platform |
US7065550B2 (en) * | 2001-02-14 | 2006-06-20 | International Business Machines Corporation | Information provision over a network based on a user's profile |
US8171128B2 (en) * | 2006-08-11 | 2012-05-01 | Facebook, Inc. | Communicating a newsfeed of media content based on a member's interactions in a social network environment |
US7886000B1 (en) * | 2006-06-27 | 2011-02-08 | Confluence Commons, Inc. | Aggregation system for social network sites |
JP5354847B2 (ja) * | 2006-08-24 | 2013-11-27 | 株式会社東芝 | リコメンドシステム、リコメンドサーバ、コンテンツリコメンド方法及びリコメンドプログラム |
US9798789B2 (en) * | 2006-09-12 | 2017-10-24 | Facebook, Inc. | Method and system for tracking changes to user content in an online social network |
US20080120178A1 (en) | 2006-11-22 | 2008-05-22 | Ronald Martinez | Methods, Systems and Apparatus for Delivery of Media |
US20090125637A1 (en) | 2007-11-09 | 2009-05-14 | Nokia Corporation | Method, Apparatus and Computer Program Product for Providing Data Management in a P2P Network |
US20090234876A1 (en) * | 2008-03-14 | 2009-09-17 | Timothy Schigel | Systems and methods for content sharing |
WO2009144688A2 (en) | 2008-05-28 | 2009-12-03 | France Telecom | System, method and device for locally caching data |
US8539161B2 (en) * | 2009-10-12 | 2013-09-17 | Microsoft Corporation | Pre-fetching content items based on social distance |
-
2010
- 2010-11-29 CN CN201010577038.7A patent/CN102480513B/zh not_active Expired - Fee Related
-
2011
- 2011-11-29 US US13/306,484 patent/US8732237B2/en not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6085226A (en) * | 1998-01-15 | 2000-07-04 | Microsoft Corporation | Method and apparatus for utility-directed prefetching of web pages into local cache using continual computation and user models |
CN101022396A (zh) * | 2007-03-15 | 2007-08-22 | 上海交通大学 | 网格数据副本管理*** |
CN101221583A (zh) * | 2008-01-29 | 2008-07-16 | 北京百问百答网络技术有限公司 | 一种问题推荐方法及*** |
Also Published As
Publication number | Publication date |
---|---|
CN102480513A (zh) | 2012-05-30 |
US20120136929A1 (en) | 2012-05-31 |
US8732237B2 (en) | 2014-05-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102480513B (zh) | 在社交网络中辅助传递更新内容的装置和方法 | |
CN106105160B (zh) | 预取断开连接时段的应用数据 | |
CN102792292B (zh) | 站点性能优化和因特网业务处理的***和方法 | |
US9628582B2 (en) | Social-driven precaching of accessible objects | |
EP2088711B1 (en) | A log analyzing method and system based on distributed compute network | |
US20150339388A1 (en) | Collection of Telemetry Data by a Telemetry Library Within a Client Device | |
EP2693669A2 (en) | Content feed for facilitating topic discovery in social networking environments | |
US20180349201A1 (en) | Platform for collaborative processing of computing tasks | |
US20140149583A1 (en) | Social network forensic apparatus and method for analyzing sns data using the apparatus | |
CN101636723A (zh) | 管理会话的Web服务器及其方法 | |
CN102446222A (zh) | 一种网页内容预加载方法、装置及*** | |
CN103095819A (zh) | 推送数据信息的方法及数据信息推送*** | |
Pickerill | Weaving a green web: environmental protest and computer-mediated communication in Britain | |
CN101046806B (zh) | 搜索引擎***和方法 | |
Charzinski | Traffic properties, client side cachability and CDN usage of popular web sites | |
CN101426019A (zh) | 手机***的数据文件传输方法 | |
CN104317804A (zh) | 发布投票信息的方法和装置 | |
CN104142975A (zh) | 一种基于微博消息的推广方法、装置及*** | |
Waibel et al. | Cost-optimized redundant data storage in the cloud | |
CN103262079B (zh) | 检索装置及检索方法 | |
EP3844645A1 (en) | System and method for providing customer specified webpage configuration | |
CN109522501A (zh) | 页面内容管理方法及其装置 | |
CN101517540B (zh) | 在规则***中键入基于资源的事件的方法和*** | |
KR20210000041A (ko) | 로그 데이터의 실시간 분석 방법 및 그 장치 | |
Murphy | Performance engineering for cloud computing |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20140910 Termination date: 20201129 |