发明名称 一种基于用户活跃度的社交网络新动态队列缓存方法
摘要 本发明公开了一种基于用户活跃度的社交网络新动态队列缓存方法,包括以下步骤:S1、生成关注列表;S2、查找活跃度最高的用户并查找该用户的专属新动态缓存列表;S3、计算用户缓存长度限定值;S4、将专属新动态缓存列表长度缩减至原来的一半;S5、将新动态添加至该用户缓存列表的首部;S6、判断关注列表是否为空;S7、判断系统缓存总容量是否大于预设的系统缓存总容量限定值;S8、将活跃度最低的用户移出队列;S9、将专属新动态缓存列表长度缩减至原来的一半;S10、判断系统缓存总容量是否大于预设的缓存总容量限定值。本发明为每个用户建立独立的新动态缓存队列,能在用户发表动态时动态更新其他用户的缓存、在系统缓存容量过高时自动删减缓存。
申请公布号 CN106502921A 申请公布日期 2017.03.15
申请号 CN201610939422.4 申请日期 2016.10.25
申请人 电子科技大学 发明人 唐雪飞;吴昊天;肖文倩;李贞昊
分类号 G06F12/0846(2016.01)I;G06F12/0886(2016.01)I 主分类号 G06F12/0846(2016.01)I
代理机构 成都宏顺专利代理事务所(普通合伙) 51227 代理人 周永宏;王伟
主权项 一种基于用户活跃度的社交网络新动态队列缓存方法,其特征在于,包括以下步骤:S1、生成一个新的关注列表:读取数据库中用户之间的关注关系,对于发布动态的用户,取出所有关注该用户的用户标记,并将取出的用户标记保存在生成的关注列表中;S2、查找关注列表中活跃度最高的用户并取出该用户,并在缓存系统中查找该活跃度最高的用户的专属新动态缓存列表;若该用户的专属新动态缓存列表不存在则为该用户创建一个专属新动态缓存列表,然后执行步骤S5;否则执行步骤S3;S3、基于用户活跃度计算用户缓存长度限定值:根据用户的专属新动态缓存列表计算用户缓存长度限定值,并判断当前新动态缓存队列的大小是否超过用户缓存长度限定值,若超过执行步骤S4,否则执行步骤S5;S4、将用户的专属新动态缓存列表中的信息根据动态具有的时间戳信息进行排序,把时间久的信息移出列表,仅保留时间最新的一半数据,并根据保留的数据将该用户的专属新动态缓存列表长度缩减至原来的一半,并对该用户进行溢出标记,然后执行步骤S5;S5、将对用户的专属新动态缓存列表进行的操作作为新动态事件添加至该用户缓存列表的首部;S6、判断关注列表是否为空,若关注列表不为空则返回步骤S2;否则进行步骤S7;S7、计算系统缓存总容量,判断系统缓存总容量是否大于预设的系统缓存总容量限定值,若是则建立新的队列,将系统中所有用户按照活跃度升序排序放入该队列中,否则结束缓存;S8、将S7得到的队列中活跃度最低的用户移出队列,并在缓存系统中读取该用户的专属新动态缓存列表;S9、将步骤S8得到的专属新动态缓存列表中的数据根据动态具有的时间戳信息进行排序,把时间久的数据移出列表,仅保留时间最新的一半数据,并根据保留的数据将该用户的专属新动态缓存列表长度缩减至原来的一半;然后对该用户产生溢出标记;S10、重新计算系统缓存总容量,若系统缓存总容量大于预设的缓存总容量限定值,则返回步骤S8;否则结束缓存。
地址 611731 四川省成都市高新区(西区)西源大道2006号