CN104252424B - 一种用户原创内容消息的缓存处理方法及装置 - Google Patents
一种用户原创内容消息的缓存处理方法及装置 Download PDFInfo
- Publication number
- CN104252424B CN104252424B CN201310260882.0A CN201310260882A CN104252424B CN 104252424 B CN104252424 B CN 104252424B CN 201310260882 A CN201310260882 A CN 201310260882A CN 104252424 B CN104252424 B CN 104252424B
- Authority
- CN
- China
- Prior art keywords
- message
- attribute information
- ugc
- caching
- functional value
- 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.)
- Active
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/568—Storing data temporarily at an intermediate stage, e.g. caching
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/568—Storing data temporarily at an intermediate stage, e.g. caching
- H04L67/5682—Policies or rules for updating, deleting or replacing the stored data
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/12—Avoiding congestion; Recovering from congestion
Abstract
一种用户原创内容消息的缓存处理方法及装置。本发明公开了一种UGC消息的缓存处理方法,该方法包括:获取UGC消息的第一属性信息和第二属性信息;根据所述第一属性信息及预先设定的第一函数,获得所述第一属性信息对应的函数值;根据所述第二属性信息及预先设定的第二函数,获得所述第二属性信息对应的函数值;根据所述第一属性信息对应的函数值和所述第二属性信息对应的函数值确定所述属性信息符合所述UGC消息加入缓存的条件时,将所述UGC消息加入缓存。本发明还公开了一种UGC消息的缓存处理装置;通过本发明的方案,能够减轻服务器磁盘的负担,优化缓存空间,更好的适应UGC消息的访问特征。
Description
技术领域
本发明涉及互联网的数据缓存技术,具体涉及一种用户原创内容(UGC,UserGenerated Content)消息的缓存处理方法及装置。
背景技术
随着互联网业务的发展,提供UGC服务的社交平台逐渐兴起,例如微博。微博作为一种UGC服务,每天都会由用户产生大量的消息,而对消息的读取次数更是庞大。
将用户经常读取的消息存入缓存,可以提高系统的响应速率。现有技术在缓存消息时,通常每个消息对应一个计数器,记录该消息被读的次数,当缓存存储消息过多需要删除消息时,首先删除被读次数最小的消息。
现有技术存在的问题包括如下几方面:
首先,会出现老消息残留问题;对于老消息,被读次数会随时间积累,使得新消息的被读次数总是比老消息少,新消息总是被淘汰,不能累计被读次数;
其次,每个消息对应一个计数器来记录该消息被读的次数,这就需要额外的缓存空间来记录每个消息被读的次数,从而对缓存空间造成过多的占用。
发明内容
有鉴于此,本发明的主要目的在于提供一种UGC消息的缓存处理方法及装置,能够减轻服务器磁盘的负担,解决缓存中的老消息残留问题,优化缓存空间。
为达到上述目的,本发明的技术方案是这样实现的:
本发明提供了一种用户原创内容UGC消息的缓存处理方法,该方法包括:
获取UGC消息的第一属性信息和第二属性信息;
根据所述第一属性信息及预先设定的第一函数,获得所述第一属性信息对应的函数值;
根据所述第二属性信息及预先设定的第二函数,获得所述第二属性信息对应的函数值;
根据所述第一属性信息对应的函数值和所述第二属性信息对应的函数值确定所述属性信息符合所述UGC消息加入缓存的条件时,将所述UGC消息加入缓存。
上述方案中,在所述获取UGC消息的第一属性信息和第二属性信息之前,该方法还包括:
检测到读取所述UGC消息的请求消息,确定在缓存中检索不到所述UGC消息时,从磁盘中获取所述UGC消息。
上述方案中,所述第一属性信息为时间属性信息,包括消息产生的时间;
所述第二属性信息为状态属性信息,包括第一子状态属性信息、第二子状态属性信息和第三子状态属性信息;其中,
所述第一子状态属性信息为正常状态或者是删除状态;
所述第二子状态属性信息包括:空转状态、原创消息状态、评论状态或者转播状态;
所述第三子状态属性信息包括消息的优先级信息。
上述方案中,所述根据第一属性信息对应的函数值和第二属性信息对应的函数值确定所述属性信息符合UGC消息加入缓存的条件包括:
判断所述第一属性信息对应的函数值与所述第二属性信息对应的函数值的总和是否大于预设阈值,当判断的结果为是时,确定所述属性信息符合所述UGC消息加入缓存的条件。
上述方案中,该方法还包括:在所述UGC消息加入缓存时,将所述UGC消息返回给客户端。
上述方案中,该方法还包括:当所述UGC消息不符合所述UGC消息加入缓存的条件时,将从磁盘中获取的所述UGC消息返回给客户端。
上述方案中,该方法还包括:在将所述UGC消息加入缓存前,判断缓存的存储容量是否达到预设容量门限值,并在判断达到时,通过待加入缓存的UGC消息ID计算所述UGC消息对应的hash值,检索缓存中与所述hash值相等的所有UGC消息,计算检索到的每个所述UGC消息的函数值总和,删除所述函数值总和最低的UGC消息。
本发明还提供了一种用户原创内容UGC消息的缓存处理装置,该装置包括:第一获取模块、设置模块、第二获取模块、确定模块和发送模块;其中,
所述第一获取模块,用于获取UGC消息的第一属性信息和第二属性信息;
所述设置模块,用于设置第一函数及第二函数;
所述第二获取模块,用于根据所述第一属性信息及第一函数,获得所述第一属性信息对应的函数值;根据所述第二属性信息及第二函数,获得所述第二属性信息对应的函数值;
所述确定模块,用于根据所述第一属性信息对应的函数值和所述第二属性信息对应的函数值确定所述属性信息是否符合所述UGC消息加入缓存的条件,并在符合所述UGC消息加入缓存的条件时,通知发送模块;
所述发送模块,用于将所述UGC消息发送给缓存。
上述方案中,所述装置还包括:检测模块、检索模块和第三获取模块;其中,
所述检测模块,用于检测读取UGC消息的请求消息,并在检测到所述读取UGC消息的请求消息时,触发检索模块;
所述检索模块,用于在缓存中检索UGC消息,并在缓存中检索不到所述UGC消息时,触发第三获取模块;
所述第三获取模块,用于从磁盘中获取所述UGC消息。
上述方案中,所述确定模块,进一步用于判断所述第一属性信息对应的函数值与所述第二属性信息对应的函数值的总和是否大于预设阈值,在判断的结果为是时,确定所述属性信息符合所述UGC消息加入缓存的条件。
上述方案中,所述装置还包括监控模块和清理模块;其中,
所述监控模块,用于在将所述UGC消息加入缓存前,判断缓存的存储容量是否达到预设容量门限值,并在判断达到时,向所述清理模块发送清理指令;
所述清理模块,用于在接收到所述监控模块发送的清理指令时,通过待加入缓存的UGC消息ID计算所述UGC消息对应的hash值,检索缓存中与所述hash值相等的所有UGC消息,计算检索到的每个所述UGC消息的函数值总和,删除所述函数值总和最低的UGC消息。
本发明提供的一种UGC消息的缓存处理方法及装置,获取UGC消息的第一属性信息和第二属性信息;根据所述第一属性信息及预先设定的第一函数,获得所述第一属性信息对应的函数值;根据所述第二属性信息及预先设定的第二函数,获得所述第二属性信息对应的函数值;根据所述第一属性信息对应的函数值和所述第二属性信息对应的函数值确定所述属性信息符合所述UGC消息加入缓存的条件时,将所述UGC消息加入缓存。如此,解决了现有技术中采用累积被读次数产生的老数据残留的问题,通过增加消息的时间因素和状态因素,使得更多当天产生的高访问频次的UGC消息被保留在缓存中,减轻了服务器磁盘的负担,更好的适应了UGC消息的访问特征;同时,解决了现有技术中需要额外的缓存空间记录UGC消息被读的次数的问题,节省了缓存的空间,使更多的UGC消息可以加入到缓存中。
附图说明
图1为本发明实施例的一种UGC消息的缓存处理方法的流程示意图;
图2为本发明实施例的一种UGC消息的缓存处理装置的组成结构示意图。
具体实施方式
下面结合附图及具体实施例对本发明再作进一步详细的说明。
分析用户对消息的读取情况,按照读取数量与消息产生的时间,发现具有以下特征:
1、对当天产生的消息具有非常大的读请求量,大约占据当天30%的总读请求量;
2、对当天之前至前100天的消息的读请求量则迅速递减;
3、对100天之前的消息的读请求量,大约占据当天26%的总读请求量。
而对一天中所有被读的消息,按照该消息被读次数与其占总读请求量的关系,发现具有以下特征:
1、一天中大约50%的消息只被读一次,大约占总读请求量的4%;
2、一天中大约16%的消息被读两次,大约占总读请求量的3%;
3、一天中大约34%的消息被读大于等于3次,大约占总读请求量的93%。
因此,只要缓存能够存储这34%的消息,就可以为系统减轻93%的读请求。
为此,本发明实施例提出一种UGC消息的缓存处理方法,图1为该方法的流程示意图,如图1所示,包括以下步骤:
步骤101:获取UGC消息的第一属性信息和第二属性信息;
这里,在所述获取UGC消息的第一属性信息和第二属性信息之前,该方法还包括:
检测到读取所述UGC消息的请求消息,确定在缓存中检索不到所述UGC消息时,从磁盘中获取所述UGC消息。
具体的,当检测到读取UGC消息的请求消息时,首先在缓存中检索所述UGC消息,当检索不到所述UGC消息时,从服务器磁盘中检索并获取所述UGC消息,并获取所述UGC消息的第一属性信息和第二属性信息;
其中,所述第一属性信息为时间属性信息,包括但不限于消息产生的时间;
所述第二属性信息为状态属性信息,包括多种子状态属性信息,例如:消息的第一子状态属性信息是正常状态或者是删除状态;消息的第二子状态属性信息是空转状态、原创消息状态、评论状态或者是转播状态等等;消息的第三子状态属性信息为消息的优先级信息,可以按照消息的产生者的影响因子将消息分为级,不同的消息产生者发布的消息对应不同的优先级,分为一级消息、二级消息等等,所述消息产生者可以是消息的原创者、或消息的评论者、或者消息的转播者等所有可以产生消息的用户。所述影响因子包括但不限于消息产生者的粉丝数、好友数。
步骤102:根据所述第一属性信息及预先设定的第一函数,获得所述第一属性信息对应的函数值;
这里,预先设定与所述第一属性信息对应的第一函数,所述第一函数为与时间属性相关的分段函数,例如:
公式(1)中,当t≤1时,即消息产生的时间在1天之内且包括当天,则函数值为50;当1<t≤10时,即消息产生的时间在1至10天之内且包括10天,则函数值为80;当10<t≤100时,即消息产生的时间在10至100天之内且包括100天,则函数值为50;当100<t<365时,即消息产生的时间在100至365天之内,则函数值为20;当t=365时,则函数值为70;
进一步的,根据获取的第一属性信息,即根据获取的消息产生的时间,以及预先设定的第一函数,获得所述第一属性信息对应的函数值;例如,消息产生的时间为两天前,即消息的第一属性信息为t=2,根据公式(1)可获得对应的函数值F(t)=80。
步骤103:根据所述第二属性信息及预先设定的第二函数,获得所述第二属性信息对应的函数值;
这里,预先设定与所述第二属性信息对应的第二函数,所述第二函数为与消息状态属性相关的分段函数,所述第二函数包括与多个子状态属性信息对应的子函数。
例如:第一子状态属性包括消息正常状态或删除状态,如公式(2)所示:
公式(2)中,当消息状态为正常状态时,设置为x=1,则与所述正常状态对应的函数值为10;当消息状态为删除状态时,设置为x=0,则与所述删除状态对应的函数值为-200。
第二子状态属性包括消息空转状态、消息转播状态、消息为原创消息、消息评论状态等,如公式(3)所示:
公式(3)中,当所述消息为空转状态时,设置为x=2,则与所述空转状态对应的函数值为0;当所述消息为转播状态时,设置为x=3,则与所述转播状态对应的函数值为10;当所述消息为原创消息时,设置为x=4,则与所述原创消息对应的函数值为20;当所述消息为评论状态时,设置为x=5,则与所述评论状态对应的函数值为-10。
第三子状态属性为与消息的产生者的影响因子相关的状态属性,如公式(4)所示:
这里,可按照消息产生者的影响因子划分消息的优先级,所述消息产生者可以是消息的原创者、或消息的评论者、或者消息的转播者等所有可以产生消息的用户。例如在公式(4)中,将消息的优先级划分为四级,分别为a、b、c、d,将消息的产生者按影响因子降序排列,影响因子最大的划分为a级,影响因子最小的划分为d级;如:按消息产生者的粉丝数或好友数降序排名,分为四个等级,将粉丝数或好友数最多的划分为a级,将粉丝数或好友数最少的划分为d级;如此,则当消息产生者为a时,对应的函数值为85;当消息产生者为b时,对应的函数值为60;当消息产生者为c时,对应的函数值为35;当消息产生者为d时,对应的函数值为20;具体可按消息产生者的影响因子生成优先级列表,所述优先级列表中记录有产生者姓名与级别的对应关系,可定期更新所述优先级列表。
具体的,根据获取的第二属性信息,即根据获取的所述消息的状态及优先级信息等等,获得所述第二属性信息对应的函数值;例如,消息的状态为正常,根据公式(2)获得的函数值F(x)=10;消息为转播状态,根据公式(2)获得的函数值F(x)=10;消息的优先级信息为c级,根据公式(3)获得的函数值F(x)=35。
步骤104:根据所述第一属性信息对应的函数值和所述第二属性信息对应的函数值确定所述属性信息符合将所述UGC消息加入缓存的条件时,将所述UGC消息加入缓存;
这里,所述根据所述第一属性信息对应的函数值和所述第二属性信息对应的函数值确定所述属性信息符合将所述UGC消息加入缓存的条件包括:
判断所述第一属性信息对应的函数值与所述第二属性信息对应的函数值的总和是否大于预设阈值,当判断的结果为是时,则确定所述属性信息符合将所述UGC消息加入缓存的条件;
当然,当上述判断的结果为否时,则确定所述属性信息不符合将所述UGC消息加入缓存的条件。
其中,所述第一属性信息对应的函数值为消息最初发布的时间属性信息对应的函数值;所述第二属性信息对应的函数值为子状态属性信息对应的子函数的函数值的累加;
具体的,所述第一属性信息对应的函数值与所述第二属性信息对应的函数值的总和可采用下述公式进行计算:
F=F(t)j+∑F(x)i (5)
公式(5)中,F(t)j为时间属性j在t时刻对应的函数值;F(x)i为子状态属性i在x状态对应的子函数的函数值;∑F(x)i为多个子状态属性i在x状态对应的子函数的函数值累加总和。
具体的,以上述公式(1)至公式(4)设定的函数为例,假设消息产生的时间为两天前,即消息的第一属性信息为t=2,根据公式(1)可获得对应的函数值F(t)=80;消息的状态为正常,根据公式(2)获得的函数值F(x)=10;消息为转播状态,根据公式(3)获得的函数值F(x)=10;消息的优先级信息为c级,根据公式(4)获得的函数值F(x)=35;根据公式(5)获得所述第一属性信息对应的函数值与所述第二属性信息对应的函数值的总和为80+10+10+35=135;
当预先设定的阈值为100时,所获得的函数值总和135大于预设阈值100,则当前的UGC消息符合所述UGC消息加入缓存的条件,则将所述UGC消息加入缓存;
当预先设定的阈值为150时,所获得的函数值总和135小于预设阈值150,则当前的UGC消息不符合所述UGC消息加入缓存的条件,则所述UGC消息不能加入缓存。
采用上述通过函数值总和与阈值比较的方法的有益效果在于:当有UGC消息需要加入缓存时,通过即时获取第一属性信息对应的函数值和第二属性信息对应的函数值,即时使用所述函数值与预设阈值进行比较的方法,使加入到缓存中的UGC消息不需要额外的缓存空间存储被读次数等其他信息,节省了缓存空间,可以使更多的UGC消息加入到缓存中。
进一步的,该步骤还包括:在所述UGC消息加入缓存时,将所述UGC消息返回给客户端。
进一步的,该步骤还包括:当所述UGC消息不符合所述UGC消息加入缓存的条件时,将从磁盘中获取的所述UGC消息返回给客户端。
具体的,当检测到读取UGC消息的请求消息时,首先在缓存中检索所述UGC消息,当在缓存中检索到所述UGC消息时,则直接将缓存中的所述UGC消息返回给客户端;当缓存中没有检索到所述UGC消息时,则从磁盘中检索并获取所述UGC消息,按照上述步骤判断所述UGC消息是否符合加入缓存的条件,当所述UGC消息符合加入缓存的条件时,将所述UGC消息加入缓存,并返回给客户端;当所述UGC消息不符合加入缓存的条件时,将从磁盘获取的UGC消息返回给客户端。
进一步的,在将所述UGC消息加入缓存前,判断缓存的存储容量是否达到预设容量门限值,并在判断达到时,通过待加入缓存的UGC消息ID计算所述UGC消息对应的hash值,检索缓存中与所述hash值相等的所有UGC消息,计算检索到的每个所述UGC消息的函数值总和,删除所述函数值总和最低的UGC消息;
这里,由于缓存的容量有限,而消息的第一属性信息,即时间属性信息会随时间变化而变化,要加入缓存的UGC消息会越来越多,因此,当缓存中存储的容量达到一定的容量门限值后,需要对缓存中的UGC消息进行清理,删除缓存中hash值相等的且函数值总和最低的UGC消息,加入新的UGC消息。
以下以微博场景为具体实施例对本发明再作进一步详细的说明。
具体的,预先设置所述第一属性对应的第一函数,所述第一函数以公式(1)所列举的函数为例;预先设置所述第二属性对应的第二函数,所述第二函数以公式(2)至公式(4)列举的函数为例;预先设置阈值为100,即当函数值总和大于100时,将消息加入缓存。
实施例一:
用户A发布了一条原创的新微博消息,且用户A为名人,其影响因子为a级,由于微博为当天产生,根据公式(1)获得时间属性信息对应的函数值F(t)=50;由于微博的状态为正常状态,根据公式(2)获得第一子状态属性对应的函数值F(x)=10;由于微博为原创,根据公式(3)获得第二子状态属性对应的函数值F(x)=20;由于微博的优先级为a,根据公式(4)获得第三子状态属性对应的函数值F(x)=85;根据公式(5)将所有函数值累加,获得函数值总和50+10+20+85=165,由于165大于100,则将用户A发布的微博消息加入缓存。
实施例二:
用户B转播了一条微博消息,且用户B的影响因子为b级,所述微博消息为3天前发布,根据公式(1)获得时间属性信息对应的函数值F(t)=80;由于微博的状态为正常状态,根据公式(2)获得第一子状态属性对应的函数值F(x)=10;由于微博为转播状态,根据公式(3)获得第二子状态属性对应的函数值F(x)=10;由于微博的优先级为b,根据公式(4)获得第三子状态属性对应的函数值F(x)=60;根据公式(5)将所有函数值累加,获得函数值总和80+10+10+60=160,由于160大于100,则将用户B发布的微博消息加入缓存。
实施例三:
用户C发布了一条原创的新微博消息,且用户C为名人,影响因子为a级,但当天用户C又将该微博删除,由于微博为当天产生,根据公式(1)获得时间属性信息对应的函数值F(t)=50;由于微博的状态为删除状态,根据公式(2)获得第一子状态属性对应的函数值F(x)=-200;由于微博为原创,根据公式(3)获得第二子状态属性对应的函数值F(x)=20;由于微博的优先级为a,根据公式(4)获得第三子状态属性对应的函数值F(x)=85;根据公式(5)将所有函数值累加,获得函数值总和50+(-200)+20+85=-45,由于-45小于100,因此用户C发布的微博消息不加入缓存。
实施例四:
用户D评论了一条微博消息,且用户D的影响因子为d级,所述微博消息为20天之前发布的,根据公式(1)获得时间属性信息对应的函数值F(t)=50;由于微博的状态为正常状态,根据公式(2)获得第一子状态属性对应的函数值F(x)=10;由于微博为评论状态,根据公式(3)获得第二子状态属性对应的函数值F(x)=-10;由于微博的优先级为d,根据公式(4)获得第三子状态属性对应的函数值F(x)=25;根据公式(5)将所有函数值累加,获得函数值总和50+10+(-10)+25=75,由于75小于100,因此用户D评论的微博消息不能加入缓存。
实施例五:
用户E空转了一条微博消息,且用户D的影响因子为c级,所述微博消息为120天前发布的,根据公式(1)获得时间属性信息对应的函数值F(t)=20;由于微博的状态为正常状态,根据公式(2)获得第一子状态属性对应的函数值F(x)=10;由于微博为空转状态,根据公式(3)获得第二子状态属性对应的函数值F(x)=0;由于微博的优先级为c,根据公式(4)获得第三子状态属性对应的函数值F(x)=35;根据公式(5)将所有函数值累加,获得函数值总和20+10+0+35=65,由于65小于100,因此用户E空转的微博消息不能加入缓存。
为实现上述方法,本发明还提供了一种UGC消息的缓存处理装置,如图2所示,该装置包括:第一获取模块21、设置模块22、第二获取模块23、确定模块24和发送模块25;其中,
所述第一获取模块21,用于获取UGC消息的第一属性信息和第二属性信息;
所述设置模块22,用于设置第一函数及第二函数;
所述第二获取模块23,用于根据所述第一属性信息及第一函数,获得所述第一属性信息对应的函数值;根据所述第二属性信息及第二函数,获得所述第二属性信息对应的函数值;
所述确定模块24,用于根据所述第一属性信息对应的函数值和所述第二属性信息对应的函数值确定所述属性信息是否符合所述UGC消息加入缓存的条件,并在符合所述UGC消息加入缓存的条件时,通知发送模块25;
所述发送模块25,用于将所述UGC消息发送给缓存。
这里,所述第一属性信息为时间属性信息,包括但不限于消息产生的时间;
所述第二属性信息为状态属性信息,包括多种子状态属性信息,例如:消息的第一子状态属性信息是正常状态或者是删除状态;消息的第二子状态属性信息是空转状态、原创消息状态、评论状态或者是转播状态等等;消息的第三子状态属性信息为消息的优先级信息,按照消息的产生者的影响因子将消息分为级,不同的消息产生者发布的消息对应不同的优先级,分为一级消息、二级消息等等,所述消息产生者可以是消息的原创者、或消息的评论者、或者消息的转播者等所有可以产生消息的用户;
所述第一函数为与所述第一属性信息对应的、与时间属性相关的分段函数;
所述第二函数为与所述第二属性信息对应的、与消息状态属性相关的分段函数,所述第二函数包括与多个子状态属性信息对应的子函数。
进一步的,所述装置还包括:检测模块26、检索模块27和第三获取模块28;其中,
所述检测模块26,用于检测读取UGC消息的请求消息,并在检测到所述读取UGC消息的请求消息时,触发检索模块27;
所述检索模块27,用于在缓存中检索UGC消息,并在缓存中检索不到所述UGC消息时,触发第三获取模块28;
所述第三获取模块28,用于从磁盘中获取所述UGC消息。
进一步的,所述确定模块24,具体用于判断所述第一属性信息对应的函数值与所述第二属性信息对应的函数值的总和是否大于预设阈值,在判断的结果为是时,确定所述属性信息符合所述UGC消息加入缓存的条件。
这里,所述第一属性信息对应的函数值为消息最初发布的时间属性信息对应的函数值;所述第二属性信息对应的函数值为子状态属性信息对应的子函数的函数值的累加。
进一步的,所述装置还包括监控模块29和清理模块20;其中,
所述监控模块29,用于在将所述UGC消息加入缓存前,判断缓存的存储容量是否达到预设容量门限值,并在判断达到时,向所述清理模块20发送清理指令;
所述清理模块20,用于在接收到所述监控模块29发送的清理指令时,通过待加入缓存的UGC消息ID计算所述UGC消息对应的hash值,检索缓存中与所述hash值相等的所有UGC消息,计算检索到的每个所述UGC消息的函数值总和,删除所述函数值总和最低的UGC消息。
这里,由于缓存的容量有限,而消息的第一属性信息,即时间属性信息会随时间变化而变化,要加入缓存的UGC消息会越来越多,因此,当缓存中存储的容量达到一定的容量门限值后,需要对缓存中的UGC消息进行清理,删除缓存中hash值相等的且函数值总和最低的UGC消息,加入新的UGC消息。
本发明实施例所述的UGC消息的缓存处理方法如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本发明各个实施例所述方法的全部或部分。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。这样,本发明实施例不限制于任何特定的硬件和软件结合。
相应的,本发明实施例还提供一种计算机存储介质,其中存储有计算机程序,该计算机程序用于执行本发明实施例的UGC消息的缓存处理方法。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和范围之内所作的任何修改、等同替换和改进等,均包含在本发明的保护范围之内。
Claims (11)
1.一种用户原创内容UGC消息的缓存处理方法,其特征在于,该方法包括:
获取UGC消息的第一属性信息和第二属性信息;所述第一属性信息为时间属性信息,所述第二属性信息为状态属性信息;
根据所述第一属性信息及预先设定的第一函数,获得所述第一属性信息对应的函数值;
根据所述第二属性信息及预先设定的第二函数,获得所述第二属性信息对应的函数值;
根据所述第一属性信息对应的函数值和所述第二属性信息对应的函数值确定所述属性信息符合所述UGC消息加入缓存的条件时,将所述UGC消息加入缓存。
2.根据权利要求1所述的缓存处理方法,其特征在于,在所述获取UGC消息的第一属性信息和第二属性信息之前,该方法还包括:
检测到读取所述UGC消息的请求消息,确定在缓存中检索不到所述UGC消息时,从磁盘中获取所述UGC消息。
3.根据权利要求1所述的缓存处理方法,其特征在于,所述第一属性信息,包括消息产生的时间;
所述第二属性信息,包括第一子状态属性信息、第二子状态属性信息和第三子状态属性信息;其中,
所述第一子状态属性信息为正常状态或者是删除状态;
所述第二子状态属性信息包括:空转状态、原创消息状态、评论状态或者转播状态;
所述第三子状态属性信息包括消息的优先级信息。
4.根据权利要求1、2或3所述的缓存处理方法,其特征在于,所述根据第一属性信息对应的函数值和第二属性信息对应的函数值确定所述属性信息符合UGC消息加入缓存的条件包括:
判断所述第一属性信息对应的函数值与所述第二属性信息对应的函数值的总和是否大于预设阈值,当判断的结果为是时,确定所述属性信息符合所述UGC消息加入缓存的条件。
5.根据权利要求1、2或3所述的缓存处理方法,其特征在于,该方法还包括:在所述UGC消息加入缓存时,将所述UGC消息返回给客户端。
6.根据权利要求1、2或3所述的缓存处理方法,其特征在于,该方法还包括:
当所述UGC消息不符合所述UGC消息加入缓存的条件时,将从磁盘中获取的所述UGC消息返回给客户端。
7.根据权利要求4所述的缓存处理方法,其特征在于,该方法还包括:
在将所述UGC消息加入缓存前,判断缓存的存储容量是否达到预设容量门限值,并在判断达到时,通过待加入缓存的UGC消息ID计算所述UGC消息对应的hash值,检索缓存中与所述hash值相等的所有UGC消息,计算检索到的每个所述UGC消息的函数值总和,删除所述函数值总和最低的UGC消息。
8.一种用户原创内容UGC消息的缓存处理装置,其特征在于,该装置包括:第一获取模块、设置模块、第二获取模块、确定模块和发送模块;其中,
所述第一获取模块,用于获取UGC消息的第一属性信息和第二属性信息;所述第一属性信息为时间属性信息,所述第二属性信息为状态属性信息;
所述设置模块,用于设置第一函数及第二函数;
所述第二获取模块,用于根据所述第一属性信息及第一函数,获得所述第一属性信息对应的函数值;根据所述第二属性信息及第二函数,获得所述第二属性信息对应的函数值;
所述确定模块,用于根据所述第一属性信息对应的函数值和所述第二属性信息对应的函数值确定所述属性信息是否符合所述UGC消息加入缓存的条件,并在符合所述UGC消息加入缓存的条件时,通知发送模块;
所述发送模块,用于将所述UGC消息发送给缓存。
9.根据权利要求8所述的缓存处理装置,其特征在于,所述装置还包括:检测模块、检索模块和第三获取模块;其中,
所述检测模块,用于检测读取UGC消息的请求消息,并在检测到所述读取UGC消息的请求消息时,触发检索模块;
所述检索模块,用于在缓存中检索UGC消息,并在缓存中检索不到所述UGC消息时,触发第三获取模块;
所述第三获取模块,用于从磁盘中获取所述UGC消息。
10.根据权利要求8或9所述的缓存处理装置,其特征在于,所述确定模块,进一步用于判断所述第一属性信息对应的函数值与所述第二属性信息对应的函数值的总和是否大于预设阈值,在判断的结果为是时,确定所述属性信息符合所述UGC消息加入缓存的条件。
11.根据权利要求10所述的缓存处理装置,其特征在于,所述装置还包括监控模块和清理模块;其中,
所述监控模块,用于在将所述UGC消息加入缓存前,判断缓存的存储容量是否达到预设容量门限值,并在判断达到时,向所述清理模块发送清理指令;
所述清理模块,用于在接收到所述监控模块发送的清理指令时,通过待加入缓存的UGC消息ID计算所述UGC消息对应的hash值,检索缓存中与所述hash值相等的所有UGC消息,计算检索到的每个所述UGC消息的函数值总和,删除所述函数值总和最低的UGC消息。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310260882.0A CN104252424B (zh) | 2013-06-26 | 2013-06-26 | 一种用户原创内容消息的缓存处理方法及装置 |
PCT/CN2014/080731 WO2014206298A1 (en) | 2013-06-26 | 2014-06-25 | Method and apparatus for caching user generated content messages |
US14/826,372 US10506063B2 (en) | 2013-06-26 | 2015-08-14 | Method and apparatus for caching user generated content messages |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310260882.0A CN104252424B (zh) | 2013-06-26 | 2013-06-26 | 一种用户原创内容消息的缓存处理方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104252424A CN104252424A (zh) | 2014-12-31 |
CN104252424B true CN104252424B (zh) | 2018-04-17 |
Family
ID=52141078
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310260882.0A Active CN104252424B (zh) | 2013-06-26 | 2013-06-26 | 一种用户原创内容消息的缓存处理方法及装置 |
Country Status (3)
Country | Link |
---|---|
US (1) | US10506063B2 (zh) |
CN (1) | CN104252424B (zh) |
WO (1) | WO2014206298A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7899869B1 (en) | 2007-03-22 | 2011-03-01 | Google Inc. | Broadcasting in chat system without topic-specific rooms |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101582876A (zh) * | 2008-05-12 | 2009-11-18 | 华为技术有限公司 | 用户生成内容的注册方法、装置和系统 |
CN101667198A (zh) * | 2009-09-18 | 2010-03-10 | 浙江大学 | 实时垂直搜索引擎对象缓存优化方法 |
CN102681998A (zh) * | 2011-03-08 | 2012-09-19 | 腾讯科技(深圳)有限公司 | 一种服务请求及响应的方法及系统 |
CN103118122A (zh) * | 2013-02-21 | 2013-05-22 | 腾讯科技(深圳)有限公司 | 一种用户生产内容的处理方法、装置和系统 |
Family Cites Families (33)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH1196102A (ja) * | 1997-09-25 | 1999-04-09 | Hitachi Ltd | サーバ分散管理方法 |
US7197534B2 (en) * | 1998-09-01 | 2007-03-27 | Big Fix, Inc. | Method and apparatus for inspecting the properties of a computer |
US6535509B2 (en) * | 1998-09-28 | 2003-03-18 | Infolibria, Inc. | Tagging for demultiplexing in a network traffic server |
US6542964B1 (en) * | 1999-06-02 | 2003-04-01 | Blue Coat Systems | Cost-based optimization for content distribution using dynamic protocol selection and query resolution for cache server |
US20020078300A1 (en) * | 1999-08-16 | 2002-06-20 | Chanda Dharap | Semantics-based caching policy to minimize latency |
US7454457B1 (en) * | 2000-02-07 | 2008-11-18 | Parallel Networks, Llc | Method and apparatus for dynamic data flow control using prioritization of data requests |
US6651141B2 (en) * | 2000-12-29 | 2003-11-18 | Intel Corporation | System and method for populating cache servers with popular media contents |
US7301658B2 (en) * | 2002-04-19 | 2007-11-27 | Hewlett-Packard Development Company, L.P. | Device transmission tracking |
US20050204001A1 (en) * | 2002-09-30 | 2005-09-15 | Tzvi Stein | Method and devices for prioritizing electronic messages |
CA2507374C (en) * | 2002-12-03 | 2013-04-02 | Research In Motion Limited | Method, system and computer software product for pre-selecting a folder for a message |
FI20041159A0 (fi) * | 2004-09-07 | 2004-09-07 | Nokia Corp | Menetelmä viestien suodattamiseksi tietoverkossa |
US7860993B2 (en) * | 2005-03-30 | 2010-12-28 | Yahoo! Inc. | Streaming media content delivery system and method for delivering streaming content |
GB0517113D0 (en) * | 2005-08-20 | 2005-09-28 | Ibm | Methods, apparatus and computer programs for data communication efficiency |
US8307036B2 (en) * | 2005-09-27 | 2012-11-06 | Research In Motion Limited | Email server with enhanced least recently used (LRU) cache |
US7673099B1 (en) * | 2006-06-30 | 2010-03-02 | Emc Corporation | Affinity caching |
US7899869B1 (en) * | 2007-03-22 | 2011-03-01 | Google Inc. | Broadcasting in chat system without topic-specific rooms |
US8364666B1 (en) * | 2008-01-02 | 2013-01-29 | Verint Americas, Inc. | Method and system for context-aware data prioritization using a common scale and logical transactions |
US8990313B2 (en) * | 2008-04-01 | 2015-03-24 | Microsoft Technology Licensing, Llc | Download of current portions of email messages |
US8301627B2 (en) * | 2008-09-30 | 2012-10-30 | International Business Machines Corporation | Automatic determination of selective message caching to support rules in a trading partner collaboration management environment |
US8266661B2 (en) * | 2008-10-14 | 2012-09-11 | Alcatel Lucent | Method and apparatus for performing template-based prefix caching for use in video-on-demand applications |
US8316106B2 (en) * | 2008-12-05 | 2012-11-20 | At&T Intellectual Property Ii, Lp | System and method for assigning requests in a content distribution network |
TW201118589A (en) * | 2009-06-09 | 2011-06-01 | Ebh Entpr Inc | Methods, apparatus and software for analyzing the content of micro-blog messages |
US20110055264A1 (en) * | 2009-08-28 | 2011-03-03 | Microsoft Corporation | Data mining organization communications |
US8788760B2 (en) * | 2009-11-18 | 2014-07-22 | International Business Machines Corporation | Adaptive caching of data |
US20110282727A1 (en) * | 2010-05-14 | 2011-11-17 | Minh Phan | Content management in out-of-home advertising networks |
US20120072835A1 (en) * | 2010-09-20 | 2012-03-22 | UberMedia, Inc. | Microblog Client |
US9081777B1 (en) * | 2011-11-22 | 2015-07-14 | CMN, Inc. | Systems and methods for searching for media content |
US9397974B1 (en) * | 2011-12-08 | 2016-07-19 | UberMedia, Inc. | Microblogging system and method for resending posts |
US8989587B2 (en) * | 2012-01-11 | 2015-03-24 | Source Photonics, Inc. | Operational state information generation in an optical transceiver |
US9037577B1 (en) * | 2012-06-19 | 2015-05-19 | Microstrategy Incorporated | Filtering posts |
US9979595B2 (en) * | 2012-12-18 | 2018-05-22 | Juniper Networks, Inc. | Subscriber management and network service integration for software-defined networks having centralized control |
US9483529B1 (en) * | 2014-02-14 | 2016-11-01 | Twitter, Inc. | Selection and presentation of unviewed messages |
US9934146B2 (en) * | 2014-09-26 | 2018-04-03 | Intel Corporation | Hardware apparatuses and methods to control cache line coherency |
-
2013
- 2013-06-26 CN CN201310260882.0A patent/CN104252424B/zh active Active
-
2014
- 2014-06-25 WO PCT/CN2014/080731 patent/WO2014206298A1/en active Application Filing
-
2015
- 2015-08-14 US US14/826,372 patent/US10506063B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101582876A (zh) * | 2008-05-12 | 2009-11-18 | 华为技术有限公司 | 用户生成内容的注册方法、装置和系统 |
CN101667198A (zh) * | 2009-09-18 | 2010-03-10 | 浙江大学 | 实时垂直搜索引擎对象缓存优化方法 |
CN102681998A (zh) * | 2011-03-08 | 2012-09-19 | 腾讯科技(深圳)有限公司 | 一种服务请求及响应的方法及系统 |
CN103118122A (zh) * | 2013-02-21 | 2013-05-22 | 腾讯科技(深圳)有限公司 | 一种用户生产内容的处理方法、装置和系统 |
Also Published As
Publication number | Publication date |
---|---|
US10506063B2 (en) | 2019-12-10 |
US20150358419A1 (en) | 2015-12-10 |
CN104252424A (zh) | 2014-12-31 |
WO2014206298A1 (en) | 2014-12-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11727048B2 (en) | Methods, systems, and media for presenting recommended content based on social cues | |
EP2407897A1 (en) | Device for determining internet activity | |
CN106339331B (zh) | 一种基于用户活跃度的数据缓存层置换算法 | |
CN106202569A (zh) | 一种基于大数据量的清洗方法 | |
CN104052714B (zh) | 多媒体信息的推送方法及服务器 | |
KR20180118597A (ko) | 네트워크 액세스 행동을 식별하는 방법 및 장치, 서버와 저장 매체 | |
KR101764696B1 (ko) | 사용자 영향력 및 시간 변화를 고려한 소셜 네트워크 핫 토픽 결정 방법 및 시스템 | |
CN108959505A (zh) | 一种管理缓存图片的方法及终端设备 | |
KR101540451B1 (ko) | 사용자들간의 친밀도에 기초하여 친구의 친구를 추천하는 소셜 네트워크 서비스 시스템 및 방법 | |
US20210266286A1 (en) | Method, server, and program for managing notification | |
Einmahl et al. | Ultimate 100‐m world records through extreme‐value theory | |
CN114817425B (zh) | 一种冷热数据分类的方法、装置、设备及可读存储介质 | |
CN107766470B (zh) | 一种数据分享的智能统计方法、智能统计显示方法及装置 | |
CN108228745A (zh) | 一种基于协同过滤优化的推荐算法和装置 | |
CN107623732A (zh) | 一种基于云平台的数据存储方法、装置、设备及存储介质 | |
CN112363886A (zh) | 数据库监控方法、系统、终端及存储介质 | |
KR101693429B1 (ko) | 대인 관계 유형 파악을 통한 코칭 정보 제공 시스템 | |
CN102880643B (zh) | 一种动态信息的筛选显示方法和装置 | |
CN104252424B (zh) | 一种用户原创内容消息的缓存处理方法及装置 | |
CN105706409B (zh) | 用于增强用户对于服务的参与度的方法、设备及系统 | |
JP2015153157A (ja) | 仮想情報管理システム | |
US8954679B2 (en) | Management of cached data based on user engagement | |
CN111225267B (zh) | 内容缓存调度方法、装置和系统、内容分发网络节点 | |
KR101928822B1 (ko) | 사물 인터넷 환경에서 낯선 기기에 대한 사용자 신뢰도 계산 시스템 및 방법 | |
CN104111926A (zh) | 通讯录的关注推荐列表的生成方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
EXSB | Decision made by sipo to initiate substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |