法律状态公告日
法律状态信息
法律状态
2018-06-01
授权
授权
2014-10-29
实质审查的生效 IPC(主分类):G06F17/30 申请日:20130327
实质审查的生效
2014-10-01
公开
公开
技术领域
本申请涉及计算机和互联网数据处理技术领域,尤其涉及一种用户生成 内容(UGC,User Generated Content)访问次数的发布方法、客户端以及检 测发布方法和相关系统。
背景技术
目前,随着互联网技术的发展,网络逐渐成为人们获取信息的重要来源, 特别是在互联网进入Web2.0时代后,用户既是网站内容的浏览者,也是网 站内容的制造者。用户参与创造的内容被称为UGC,如用户发布的日志、照 片等。在Web2.0时代,由于UGC的大量涌现,网络信息量呈几何级快速增 长,形成一个多、广、专的局面,对人类知识的积累和传播起到了一个非常 大的作用。
可以发布UGC的网站系统通常被称为UGC网站系统。例如目前常用的 UGC网站系统包括:微博客(MicroBlog)系统、社交网络服务系统(SNS, Social Network Service))、社区论坛系统、知识分享系统等等。其中某些 UGC网站系统的功能也是相互融合的,具有多种属性。
例如,微博客(MicroBlog),简称微博,是一个基于用户关系的信息分 享、传播以及获取的UGC网站系统,也属于一种SNS系统,每一条微博就 相当于一条UGC。用户可以通过有线通信网络或无线通信网络、以及各种客 户端访问微博,发布文字和/或其它多媒体信息,例如包括但不限于链接、图 片、音频、影像以及一些特殊应用(如投票应用),并实现这些信息的即时 分享。
在现有的UGC系统中,衡量UGC热度以及传播广度的重要技术参数指 标主要包括该UGC的转发数、评论数、赞扬数等等。但是一条UGC真正覆 盖的用户并不仅仅是这些进行转发、评论、赞扬的用户,而是所有访问了该 UGC的用户。现有技术中却没有用于体现每条UGC的访问情况的技术参数 指标,这种技术参数指标的检测发布技术也是一片空白。因此,现有的这些 UGC的转发数、评论数、赞扬数等等参数指标无法准确地体现UGC的真实 的传播广度,即UGC传播广度的真实性和准确性较低。
另外,由于大型UGC系统巨量的UGC信息量和巨量的UGC访问量, 如微博系统中目前有几百亿条微博的信息量,每天全体微博的访问量也有几 百亿次,对UGC访问情况的检测发布技术会面临海量存储和海量读写的挑 战,即在大型的UGC系统中,如何保证UGC访问参数的准确性,以及如何 保障对UGC访问情况的高效的读写效率,是本技术领域必然面临的一个技 术难题。
发明内容
有鉴于此,本发明的主要目的是提供一种UGC访问次数的发布方法和发布 客户端,从而将UGC访问次数发布给用户,提高UGC传播广度的真实性和准 确性。
本发明的另一目的是提供一种UGC访问次数的检测发布方法和后台系统, 可以在大型的UGC系统中,既可以检测发布UGC访问次数,又能节省运行和 维护成本。
本发明的再一目的是提供一种UGC访问次数的检测发布系统,通过发布客 户端将UGC访问次数发布给用户,提高UGC传播广度的真实性和准确性;而 且保证在大型的UGC系统中,既可以检测发布UGC访问次数,又能节省运行 和维护成本。
本发明的技术方案是这样实现的:
一种用户生成内容UGC访问次数的发布方法,包括:
在加载展示UGC时,发送UGC访问次数查询请求,其中包括该UGC的标 识;
接收UGC访问次数的查询结果,在所展示的UGC的关联位置展示该UGC 的访问次数。
一种UGC访问次数的检测发布方法,包括:
确定UGC的访问次数信息;
根据UGC的访问次数信息累加UGC的访问次数,并存储累加后的UGC访 问次数;
接收UGC访问次数的查询请求,其中包括待查询的UGC标识;根据该UGC 标识读取所存储的该UGC的访问次数,将读取到的UGC访问次数返回给查询 请求方。
一种UGC访问次数的发布客户端,包括:
访问次数请求模块,用于在加载展示UGC时,发送UGC访问次数查询请 求,其中包括该UGC的标识;
访问次数展示模块,用于接收UGC访问次数的查询结果,在所展示的UGC 的关联位置展示该UGC的访问次数。
一种UGC访问次数的检测发布后台系统,包括:
接入层模块,用于确定UGC的访问次数信息,将所确定的UGC访问次数 信息发送给底层存储模块;
底层存储模块,用于根据接收到的UGC的访问次数信息累加UGC的访问 次数,并存储累加后的UGC访问次数;
接口机模块,用于接收UGC访问次数的查询请求,其中包括待查询的UGC 标识;根据该UGC标识从底层存储模块读取所存储的该UGC的访问次数,将 读取到的UGC访问次数返回给查询请求方。
一种UGC访问次数的检测发布系统,包括终端和后台系统,所述终端为包 括上述发布客户端的终端,所述后台系统为上述UGC访问次数的检测发布后台 系统。
与现有技术相比,本发明的技术方案在在加载展示UGC时,向后台系统发 送UGC访问次数查询请求,在接收到后台系统返回的UGC访问次数的查询结 果后,在所展示的UGC的关联位置展示该UGC的访问次数,因此可以使用户 直观了解到UGC的访问次数,该UGC的访问次数可以覆盖所有访问了该UGC 的用户,直接体现了每条UGC的访问情况,相比于现有技术的UGC的转发数、 评论数、赞扬数等等参数指标,该UGC的访问次数可以准确地体现UGC的真 实的传播广度,提高了UGC传播广度的真实性和准确性。
同时,为了适应大型UGC系统巨量的UGC信息量和巨量的UGC访问量, 如微博系统中目前有几百亿条微博的信息量,每天全体微博的访问量也有几百 亿次,本发明采用了分层设计方案,包括接入层模块、底层存储模块和接口机 模块,使得UGC访问次数的检测统计、存储、读取发布功能分开,因此还可以 简化了运行和维护操作,节省运行和维护成本。
附图说明
图1为本发明所述UGC访问次数的发布方法的一种流程图;
图2为本发明在所展示的UGC的关联位置展示该UGC的访问次数的一 种界面示意图;
图3为UGC的后台系统对UGC访问次数的检测发布方法的一种流程图;
图4为本发明所述UGC访问次数的发布客户端的一种实施例的组成示 意图;
图5为本发明所述UGC访问次数的发布客户端的又一种实施例的组成 示意图;
图6为本发明所述UGC访问次数的发布客户端的又一种实施例的组成 示意图;
图7为本发明所述UGC访问次数的检测发布后台系统的一种实施例组 成示意图。
具体实施方式
下面结合附图及具体实施例对本发明再作进一步详细的说明。
本发明所述的UGC优选可以是微博,也可以是其它的用户参与创造的 信息内容。所述的UGC系统优选可以是微博系统,也可以是其它UGC系统, 例如社交网络服务系统(SNS,Social Network Service))、社区论坛系统、 知识分享系统等等。
图1为本发明所述UGC访问次数的发布方法的一种流程图。参见图1, 该方法主要在UGC的客户端侧执行,所述客户端包括但不限于网页版客户 端、终端版客户端等等所有形式的客户端。该方法主要包括:
步骤101、在加载展示UGC时,发送UGC访问次数查询请求,其中包 括该UGC的标识;
步骤102、接收UGC访问次数的查询结果,在所展示的UGC的关联位 置展示该UGC的访问次数。
所述在所展示的UGC的关联位置就是可以区别本UGC和其它UGC的 位置,使得用户可以直观判断出该关联位置属于本UGC。一般的关联位置是 在所展示的UGC的旁边,下部等等。如图2所示为本发明在所展示的UGC 的关联位置展示该UGC的访问次数的一种界面示意图,参见图2,在所述 UGC201的下部的关联位置202处展示了该UGC的访问次数,此处所标识的 文字为“访问次数”,当然也可以用“阅读”、“已读”等其它相等或相似 意义的文字代替该“访问次数”文字。在一种实施例中,访问次数为阅读数 或包含阅读数。
在一种优选实施例中,该方法进一步包括:在刷新UGC时(即用户触 发了刷新UGC的指令),发送UGC访问次数查询请求(例如向后台系统发 送),其中包括该UGC的标识;接收UGC访问次数的最新查询结果,用该 最新查询结果更新原有展示的该UGC的访问次数。例如更新图2中所述“访 问次数”后括号中的数字。
在又一种优选实施例中,该方法进一步包括:在刷新UGC后的指定延 迟(例如指定延迟为2~5秒)之后,重新发送UGC访问次数查询请求,其 中包括该UGC的标识;接收UGC访问次数的最新查询结果,用该最新查询 结果更新原有展示的该UGC的访问次数。
在进一步的优选实施例中,本发明还可以包括:发送UGC访问者的查 询请求,其中包括该UGC的标识;接收UGC访问者的查询结果,在所展示 的UGC访问次数的关联位置展示该UGC访问者的信息。
其中,所述在所展示的UGC访问次数的关联位置展示该UGC访问者的 信息,具体包括:在加载展示UGC时,先展示所述UGC访问次数,在收到 对该UGC访问次数的展示位置的触发指令后,在该UGC访问次数的关联位 置展示该UGC访问者的信息。所述对该UGC访问次数的展示位置的触发指 令,例如可以是当用户点击该UGC访问次数的展示位置时,或者当用户鼠 标光标放置在该UGC访问次数的展示位置时,即相当于收到了所述的触发 指令。所述展示的该UGC访问者的信息例如可以是所有访问过该UGC的访 问者的列表信息,其中可以包括访问者的ID、访问时间等信息。
对于庞大的UGC系统而言,例如微博系统,由于微博消息存在每天几 百亿级别的海量读、以及上亿级别的海量写特点,对微博消息访问次数的检 测自然遇到海量写且海量读的难题,海量写来自对微博消息访问次数的检测, 海量读来自于对微博消息访问次数的读取。同时,微博系统还面临每天保持 上亿增量的数据存储压力。为了在能够准确检测UGC访问次数的同时解决 这些难题,本发明在UGC的后台系统主要采用如图3的方法。
图3为UGC的后台系统对UGC访问次数的检测发布方法的一种流程图。 参见图3,该检测发布方法在后台系统设置接入层模块、底层存储模块和接 口机模块,并包括:
步骤301、确定UGC的访问次数信息。
步骤302、根据UGC的访问次数信息累加UGC的访问次数,并存储累 加后的UGC访问次数。
为了提高读写效率,在一种优选实施例中,可以利用本地内存存储累加 后的UGC访问次数。
步骤303、接收UGC访问次数的查询请求,其中包括待查询的UGC标 识;根据该UGC标识读取所存储的该UGC的访问次数,将读取到的UGC 访问次数返回给查询请求方。
具体的,所述确定UGC的访问次数信息由接入层模块执行;
所述根据UGC的访问次数信息累加UGC的访问次数,并存储累加后的 UGC访问次数由底层存储模块执行;
所述接入层模块在确定UGC的访问次数信息后,先缓存所述UGC的访 问次数信息,若所缓存的信息量累积到指定数量或者超过指定的缓存时间, 则将所缓存的UGC访问次数信息合并打包成数据包发送到底层存储模块;
所述接收UGC访问次数的查询请求,根据该UGC标识读取所存储的该 UGC的访问次数,将读取到的UGC访问次数返回给查询请求方,由接口机 模块执行。
上述步骤301中,所述接入层模块根据UGC系统的对UGC的拉取动作 信息确定UGC的访问次数信息,具体包括:接入层模块从UGC系统的后台 读消息模块获取UGC的拉取动作信息,将UGC的拉取动作信息转化为UGC 的访问次数信息。此处,更为具体的方法是将所述接入层模块连接UGC系 统的中转系统,所述中转系统连接UGC系统的后台读消息模块,其作用是 将生产者的输出信息全部输送到消费者,此处的生产者为后台读消息模块, 消费者为本发明所述的接入层模块。所述中转系统中具有用于获取UGC拉 取动作信息的接口,接入层模块通过该中转系统的该接口从所述后台读消息 模块获取每条UGC的拉取动作信息。所述拉取动作是由对UGC的访问操作 触发的,例如浏览操作等等,因此本发明可以通过UGC的拉取动作来确定 UGC的访问次数,即可以检测到UGC的访问次数。每一次对UGC的拉取 动作都会触发一条UGC的拉取动作信息(也可以称之为消息),一条UGC 拉取动作信息中一般都包括该UGC的发表者、发表时间、该拉取动作的触 发者等必要的相关信息。
本发明中,UGC访问次数的检测原理是当UGC在客户端曝光一次就计 数一次,而UGC在客户端的一次曝光反映到后台就是该UGC被拉取了一次。 因此,本发明就是一种基于UGC拉取的动作来检测UGC访问次数的方法。 通常,一次UGC的拉取动作就转化为一次UGC的访问。在特殊情况下,对 于某些特殊帐号(如明星帐号)触发的UGC拉取动作,可以进行放大加权 处理,例如加权值为m,则一次UGC的拉取动作就转化为m次UGC的访问。
上述步骤301中,所述接入层模块将所确定的UGC访问次数信息发送 给底层存储模块,具体包括:接入层模块先缓存所述UGC的访问次数信息, 若所缓存的信息量累积到指定数量或者超过指定的缓存时间,则将所缓存的 UGC访问次数信息合并打包成数据包发送到底层存储模块。
此处,由于在庞大的UGC系统例如微博系统中,微博消息一天的拉取 动作量有几百亿之多,这些拉取动作信息都会转化为对相应微博的访问次数 信息,作为微博的访问次数的统计来源,如果统一接入层模块直接将这些访 问次数信息写到底层存储模块,会大大增加底层存储模块的负荷。另外,所 述拉取动作量中还存在大量无用的网络通信导致的拉取动作,例如由于微博 消息的拉取动作有局部性,一段时间内的一些微博消息会被多次拉取,如果 每拉取一次微博,相应的访问次数信息都要写入一次底层存储模块,则更加 增大底层存储模块的负荷。因此,本发明在接入层模块相当于增加了缓存机 制,从而可以减少发送到底层存储模块的数据包量。
本发明所述接入层模块的缓存机制包括两个纬度,即信息量纬度和缓存 时间纬度。
所述信息量纬度是指所缓存的信息量累积到指定数量就需要将所缓存的 微博访问次数信息合并打包成数据包发送到底层存储模块,这样大大的减少 了送向底层的包量。具体可以包括多种方式,例如下面是两种典型的方式:
第一种方式:按照所缓存的微博的访问次数信息对应的微博数量累积计 算。例如接入层模块如果收到了10次微博的拉取动作,其中微博1的拉取动 作为1次,微博2的拉取动作为5次,微博3的拉取动作为2次,微博4的 拉取动作为2次,如果按照一次拉取动作转化为一次访问计算,那么微博1 的访问次数为1次,微博2的访问次数为5次,微博3的访问次数为2次, 微博4的访问次数为2次,这10次访问对应的微博数量为4个,即微博1、 微博2、微博3和微博4。接入层模块需要将这些微博的访问次数信息缓存下 来,例如下面列表1是所缓存的访问次数信息的一种缓存方式:
表1
在上述第一种方式中,接入层模块会统计所缓存访问次数对应的微博的 数量,当访问次数对应的微博的数量累积到指定数量(例如100个,即缓存 了100个不同ID的微博),则就会将所缓存的访问次数信息合并打包成数 据包,并发送到底层存储模块。所述合并打包的数据包中至少包括如表1所 述的访问次数信息,即至少包括微博ID、该微博ID对应的访问次数。
第二种方式:也可以按照所缓存的微博访问次数的总次数累积计算。例 如对上述表1所示的第二列数值进行统计,将所缓存的所有微博的访问次数 累加,如果达到指定的次数(如1000次),则将所缓存的微博访问次数信息 合并打包操作并发送到底层存储模块。所述合并打包的数据包中至少包括如 表1所述的访问次数信息,即至少包括微博ID、该微博ID对应的访问次数。
所述缓存时间维度,是为了解决由于上述信息量维度的累计造成的访问 次数统计不及时的问题,即只允许所述访问次数信息在一定时间内缓存在接 入层模块,超过这个缓存时间,会将所缓存的微博访问次数信息合并打包操 作并发送到底层存储模块。
通过上述信息量维度和缓存时间维度两个参数的缓存控制,接入层模块 既能减少底层存储模块的数据包量又能保障微博访问次数检测的及时性。
在所述步骤302中,具体的,例如底层存储模块收到了包括如表1所述 访问次数信息的数据包,则会将各个微博对应的访问次数累加到该微博原有 的访问次数之上。例如微博1原有访问次数为100次,则此处累加后为101 次;微博2原有访问次数为0,则此处累加后为5次;微博3原有访问次数 为40次,则此处累加后为42次,微博4原有访问次数为30次,则此处累计 后为32次。同时,为了提高对UGC访问次数的读写速度,以适应庞大微博 系统高频率访问微博的特点,本发明在底层存储模块采用全内存存储所述 UGC访问次数。
所述接口机模块对外提供UGC访问次数的查询服务,即对所述UGC访 问次数的读服务。所述UGC访问次数的查询请求的触发条件可以有多种, 可以由UGC系统中的读取逻辑层进行设置,例如每当用户访问该UGC则触 发对该UGC访问次数的查询请求,或者也可以设置专门的查询接口,用户 可以通过该查询接口随时触发针对某一UGC的访问次数的查询请求。接口 机模块接收来自发布客户端的对UGC访问次数的查询请求,该查询请求中 包括所要查询的UGC的标识即ID,以及该请求的发起方信息。接口机模块 将包含该UGC的ID的查询请求发送到底层存储模块,底层存储模块可以根 据该UGC的ID从本地内存中读取出该UGC对应的访问次数,并反馈给接 口机模块,然后由接口机模块将该UGC的访问次数发布给该查询请求的发 起方所处的发布客户端,由该发布客户端发布所述UGC的访问次数。
由于庞大的UGC系统中的UGC量是巨大的,例如微博系统中的微博的 数量目前有几百亿的规模,且每天全体微博的访问量也有几百亿次,本发明 为了进一步提高对UGC访问次数的读写效率,在一种优选实施例中进一步 对所述UGC的号段进行划分,每个号段至少对应一个底层存储模块用于存 储该号段的UGC的访问次数。所述号段是以UGC的ID进行划分,UGC的 ID是UGC系统中每条UGC的一个唯一的ID,所述号段就是一个连续的ID 范围,是部署或迁移的基本单位。例如每十万个连续ID成为一个部署号段。
在该划分号段的实施例中,步骤301所述的接入层模块将所确定的UGC 访问次数信息发送给底层存储模块的具体执行方法包括:按照所述划分的号 段,缓存同一号段的UGC的访问次数信息,若同一号段的所缓存的信息量 累积到指定数量或者超过指定的缓存时间,则将所缓存的该号段的UGC的 访问次数信息合并打包成数据包,发送到该号段对应的底层存储模块。步骤 104中所述接口机模块从所述底层存储模块的内存中读取所述UGC的访问次 数,具体包括:根据查询请求所请求UGC的ID确定该UGC的号段,将查 询请求路由到该号段对应的底层存储模块中,该底层存储模块根据所述查询 请求从本地内存中读取所请求的UGC的访问次数,返回给所述接口机模块。
另外,在通常的UGC系统中,用户每访问一次UGC则需要向用户展示 一次该UGC的访问次数,从而供用户衡量该UGC的传播效果。而用户每天 对UGC的访问量巨大,例如目前每天已经达到几百亿级的量,因此由此所 触发的对UGC访问次数的触发请求也是每天几百亿次。所以在本发明的一 种优选实施例中,基于UGC访问计数的读取存在的热点效应,在接口机模 块增加了热点缓存机制。所述热点效应就是如果某一篇UGC的访问量巨大 就会成为热点对象,那么短时间内广大用户会集中访问该热点对象。
因此本发明在一种实施例中,在接口机模块增加了热点缓存机制。即: 所述接口机模块在每次从所述底层存储模块的内存中读取所请求的UGC的 访问次数之后,在接口机模块本地将该UGC的访问次数缓存一段时间;所 述接口机模块在每收到UGC访问次数的查询请求后,先从本地缓存中查询 所请求的UGC的访问次数,如果查询到则将该UGC的访问次数发布给所述 查询请求的发起方,否则再从所述底层存储模块的内存中读取所述UGC的 访问次数,发布给该查询请求的发起方。实际测试的效果显示,采用本实施 例所述的接口机模块的热点缓存机制,20%以上的UGC访问计数能直接从接 口机模块的热点缓存中获取。这样可以减少对底层存储模块的读请求,降低 底层存储模块的负荷,同时大大提高了热点UGC访问次数的查询发布效率。
另外,为了保证数据的安全性,针对所述每一个底层存储模块,都设置 至少一个对应的拷贝(COPY),即每个底层存储模块都对应至少一个备份 底层存储模块,这些备份底层存储模块可以同时接收所述接入层模块发送的 UGC的访问次数信息,并根据UGC的访问次数信息累加UGC的访问次数, 利用本备份底层存储模块对应的本地内存存储所述UGC访问次数。在其中 的处于工作状态的底层存储模块发生故障时,将读写操作切换到任意一个备 份底层存储模块上,从而防止数据的丢失,保障数据的安全。
在更为具体的实施例中,如果对UGC的号段进行了划分,每一号段都 有对应的底层存储模块,那么针对每一号段的底层存储模块,都具有至少一 个备份底层存储模块。所述接入层模块会按照号段将所述合并打包后的数据 包发送给该号段对应的底层存储模块及其备份底层存储模块,所述底层存储 模块及其备份底层存储模块会同时接收所述接入层模块发送的该号段的 UGC的访问次数信息,并根据UGC的访问次数信息累加UGC的访问次数, 利用本备份底层存储模块对应的本地内存存储所述UGC访问次数。在某号 段对应的底层存储模块发生故障后,则将读写操作切换到该设备对应的任意 一个备份底层存储模块上,从而防止数据的丢失,保障数据的安全。
为了进一步提高数据的安全性,本发明还进一步定期将所述底层存储模 块本地内存中存储的UGC访问次数信息存储到本地硬盘存储器中。例如, 可以采用常用的dump备份工具程序,可将内存中的UGC访问次数信息备份 至本地硬盘存储器中。
另外,在UGC系统中,UGC通常是可以被任何人看到的,包括这条UGC 的作者本身,而对一条UGC访问次数的检测统计是不应该把作者自己的访 问计算在内的。因此在本发明所述的一种优选实施例中,由于所述UGC拉 取动作信息中包括了该拉取动作的触发方信息、发表方信息、以及发表时间 等信息,因此可以在接入层模块根据UGC系统的对UGC的拉取动作信息确 定UGC的访问次数信息之前,进一步包括:解析每条UGC拉取动作信息的 触发方信息,将由UGC作者和指定帐号所触发的UGC拉取动作信息过滤掉。 所述指定帐号例如可以是一些内部帐号、部分第三方帐号、以及恶意帐号等, 将这些指定帐号的拉取动作过滤掉,可以进一步优化UGC访问次数的真实 性。
另外,在UGC系统中,UGC访问次数跟UGC本身一样都能被UGC系 统上的任何人看到,而一些官方帐号发表UGC的访问次数有着特殊意义, 会涉及到公司的运营秘密数据,所以需要对这些帐号发表的UGC做特殊处 理。
因此在本发明的又一种优选实施例中,可以在所述接入层模块进一步根 据UGC拉取动作信息解析每条UGC的发表帐号,在根据UGC的拉取动作 信息确定UGC的访问次数信息将UGC的拉取动作信息转化为UGC的信息 之后,对指定帐号所发表的UGC的访问次数信息打上隐私标志位;所述底 层存储模块在存储所述UGC访问次数时,进一步根据具有隐私标志位的 UGC访问次数信息,将对应的UGC的访问次数打上隐私标志位。所述接口 机模块在收到UGC访问次数的查询请求并从本地缓存或底层存储模块读取 到所述UGC的访问次数之后,判断该UGC访问次数是否具有隐私标志位, 如果有则拒绝该查询请求,否则将读取到的所述UGC的访问次数发布给该 查询请求的发起方。
另外,在上述方法的各个实施例中,所述UGC访问次数信息中还可以 进一步包括UGC的访问者信息;所述底层存储模块进一步用本地内存存储 UGC的访问者信息;所述接口机模块进一步接收UGC访问者的查询请求, 其中包括待查询的UGC标识,根据该UGC标识从底层存储模块的本地内存 中读取该UGC的访问者信息,将读取到的UGC访问者信息返回给查询请求 方。在上述各实施例中,所述UGC访问者信息的读写方式与UGC访问次数 的读写方式一样,也包括接入层模块的缓存机制、接口机模块的热点缓存机 制、分号段读写机制等等。
与上述UGC访问次数的发布方法对应,本发明还公开了一种UGC访问 次数的发布客户端。图4为本发明所述UGC访问次数的发布客户端的一种 实施例的组成示意图。参见图4,该发布客户端400包括:
访问次数请求模块401,用于在UGC客户端加载展示UGC时,向后台 系统发送UGC访问次数查询请求,其中包括该UGC的标识;
访问次数展示模块402,用于接收后台系统返回的UGC访问次数的查询 结果,在UGC客户端所展示的UGC的关联位置展示该UGC的访问次数。
图5为本发明所述UGC访问次数的发布客户端的又一种实施例的组成 示意图。在该实施例中,该发布客户端400进一步包括:
刷新请求模块403,用于在刷新UGC时,向后台系统发送UGC访问次 数查询请求,其中包括该UGC的标识;
访问次数更新模块404,用于接收后台系统返回的UGC访问次数的最新 查询结果,用该最新查询结果更新原有展示的该UGC的访问次数。
进一步的,该发布客户端400还可以在上述基础上进一步包括:
访问次数自动查询模块405,用于在刷新UGC后的指定延迟之后,重新 向后台系统发送UGC访问次数查询请求,其中包括该UGC的标识。此后, 所述展示更新模块404会接收后台系统返回的UGC访问次数的最新查询结 果,用该最新查询结果更新原有展示的该UGC的访问次数。当然,在另一 实施例中,该访问次数自动查询模块405还可以从图5中省略。
图6为本发明所述UGC访问次数的发布客户端的又一种实施例的组成 示意图。在该实施例中,该发布客户端400进一步包括:
访问者查询模块406,用于在加载展示UGC时,向后台系统发送UGC 访问者的查询请求,其中包括该UGC的标识;
访问者展示模块407,用于接收后台系统返回的UGC访问者的查询结果, 在所展示的UGC访问次数的关联位置展示该UGC访问者的信息。所展示的 UGC访问次数的关联位置就是可以区别本UGC访问次数和其它UGC访问 次数的位置,使得用户可以直观判断出该关联位置属于本UGC访问次数。 一般的关联位置是在所展示的UGC访问次数的旁边,下部等等。
在进一步的实施例中,所述访问者展示模块具体用于:检测对所述UGC 访问次数的展示位置的触发指令,若检测到则在该UGC访问次数的关联位 置展示该UGC访问者的信息。所述对该UGC访问次数的展示位置的触发指 令,例如可以是当用户点击该UGC访问次数的展示位置时,或者当用户鼠 标光标放置在该UGC访问次数的展示位置时,即相当于收到了所述的触发 指令。所述展示的该UGC访问者的信息例如可以是所有访问过该UGC的访 问者的列表信息,其中可以包括访问者的ID、访问时间等信息。
当然上述各种实施例还可以任意组合,组成新的实施例。
与上述后台系统的UGC访问次数的检测发布方法对应,本发明还公开 了一种UGC访问次数的检测发布后台系统,用于执行上述方法。图7为本 发明所述UGC访问次数的检测发布后台系统的一种实施例组成示意图。参 见图7,该UGC访问次数的检测发布后台系统700包括:接入层模块701、 底层存储模块702和接口机模块703,其中:
所述接入层模块701用于确定UGC的访问次数信息,将所确定的UGC 访问次数信息发送给底层存储模块。
具体的,所述接入层模块701根据UGC系统的对UGC的拉取动作信息 确定UGC的访问次数信息,并将所确定的UGC访问次数信息发送给后述的 底层存储模块。
更为具体的是,所述接入层模块701具体与UGC系统的中转系统704 具有通信连接,用于通过该中转系统705从所述后台消息模块704获取每条 UGC的拉取动作信息。
所述底层存储模块702用于根据接收到的UGC的访问次数信息累加 UGC的访问次数,并存储累加后的UGC访问次数。
在一种优选实施例中,所述底层存储模块702用本地内存存储累加后的 UGC访问次数。
所述接口机模块703用于接收UGC访问次数的查询请求,其中包括待 查询的UGC标识;根据该UGC标识从底层存储模块中读取该UGC的访问 次数,将读取到的UGC访问次数返回给查询请求方。
更为具体的是,所述查询请求可以是从UGC系统的发布客户端400发 起,所述接口机模块703将读取到的UGC访问次数发布给该发布客户端400, 由发布客户端400最终发布给该查询请求的发起方。
在一种优选实施例中,所述接入层模块具体用于:从UGC系统的后台 读消息模块获取UGC的拉取动作信息,将UGC的拉取动作信息转化为UGC 的访问次数信息;缓存所述UGC的访问次数信息,若所缓存的信息量累积 到指定数量或者超过指定的缓存时间,则将所缓存的UGC访问次数信息合 并打包成数据包发送到底层存储模块。
由于庞大的UGC系统中的UGC量是巨大的,例如微博系统中的微博的 数量目前有几百亿的规模,且每天全体微博的访问量也有几百亿次,本发明 为了进一步提高对UGC访问次数的读写效率,在一种优选实施例中,所述 底层存储模块702的数量为两个以上,每个底层存储模块702对应存储一个 号段的UGC的访问次数。所述接入层模块701具体用于:按照所述划分的 号段,缓存同一号段的UGC的访问次数信息,若同一号段的所缓存的信息 量累积到指定数量或者超过指定的缓存时间,则将所缓存的该号段的UGC 的访问次数信息合并打包成数据包,发送到该号段对应的底层存储模块702。 所述接口机模块703用于:根据查询请求所请求的UGC的号段,将查询请 求路由到该号段对应的底层存储模块702中,该底层存储模块702根据所述 查询请求从本地内存中读取所请求的UGC的访问次数,返回给所述接口机 模块703。
为了应对庞大UGC系统对UGC访问量巨大的特点,在本发明所述一种 优选实施例中,所述接口机模块703进一步用于:在每次从所述底层存储模 块702的内存中读取所请求的UGC的访问次数之后,在本地将该UGC的访 问次数缓存一段时间;在收到UGC访问次数的查询请求后,先从本地缓存 中查询所请求的UGC的访问次数,如果查询到则将该UGC的访问次数发布 给所述查询请求的发起方,否则从所述底层存储模块702的内存中读取所述 UGC的访问次数,发布给该查询请求的发起方。
另外,为了保证数据的安全性,在又一种优选实施例中,针对每个底层 存储模块,该系统进一步包括至少一个对应的备份底层存储模块,用于与所 述底层存储模块同时接收所述接入层模块发送的数据包,并根据其中的UGC 的访问次数信息累加UGC的访问次数,利用本备份底层存储模块对应的本 地内存存储所述UGC访问次数。
在更为具体的实施例中,如果对UGC的号段进行了划分,每一号段都 有对应的底层存储模块,那么针对每一号段的底层存储模块,都具有至少一 个备份底层存储模块。所述接入层模块会按照号段将所述合并打包后的数据 包发送给该号段对应的底层存储模块及其备份底层存储模块,所述底层存储 模块及其备份底层存储模块会同时接收所述接入层模块发送的该号段的数据 包,并根据其中的UGC的访问次数信息累加UGC的访问次数,利用本备份 底层存储模块对应的本地内存存储所述UGC访问次数。在某号段对应的底 层存储模块发生故障后,则将读写操作切换到该设备对应的任意一个备份底 层存储模块上,从而防止数据的丢失,保障数据的安全。
在进一步的优选实施例中,所述底层存储模块还可以进一步用于:定期 将所述底层存储模块本地内存中存储的UGC访问次数存储到本地硬盘存储 器中。从而进一步保障数据的安全性。
为了进一步优化UGC访问次数的真实性,在一种优选实施例中,所述 接入层模块701进一步用于:在根据UGC系统的对UGC的拉取动作信息确 定UGC的访问次数信息之前,解析每条UGC拉取动作信息的触发方信息, 将由UGC作者和指定帐号所触发的UGC拉取动作信息过滤掉。
在又一种优选实施例中,所述接入层模块701进一步用于:根据UGC 拉取动作信息解析每条UGC的发表帐号,在将UGC的拉取动作信息转化为 UGC的访问次数信息之后,对指定帐号所发表的UGC的访问次数信息打上 隐私标志位。所述底层存储模块702进一步用于:根据具有隐私标志位的UGC 访问次数信息,将对应的UGC的访问次数打上隐私标志位。所述接口机模 块703在收到UGC访问次数的查询请求并从本地缓存或底层存储模块读取 到所述UGC的访问次数之后,判断该UGC访问次数是否具有隐私标志位, 如果有则拒绝该查询请求,否则将读取到的所述UGC的访问次数发布给该 查询请求的发起方。
在上述后台系统的各个实施例中,所述UGC访问次数信息中还可以进 一步包括UGC的访问者信息;所述底层存储模块进一步用于用本地内存存 储UGC的访问者信息;所述接口机模块进一步用于接收来自发布客户端的 UGC访问者的查询请求,其中包括待查询的UGC标识,根据该UGC标识 从底层存储模块的本地内存中读取该UGC的访问者信息,将读取到的UGC 访问者信息返回给查询请求方的发布客户端。在上述各实施例中,所述UGC 访问者信息的读写方式与UGC访问次数的读写方式一样,也包括接入层模 块的缓存机制、接口机模块的热点缓存机制、分号段读写机制等等。
此外,本发明还公开了一种UGC访问次数的检测发布系统,包括终端 和后台系统,所述终端为包括上述任一种发布客户端实施例的终端,所述后 台系统为上述各后台系统实施例中的任一种。
与现有技术相比,本发明的技术方案在在加载展示UGC时,向后台系 统发送UGC访问次数查询请求,在接收到后台系统返回的UGC访问次数的 查询结果后,在所展示的UGC的关联位置展示该UGC的访问次数,因此可 以使用户直观了解到UGC的访问次数,该UGC的访问次数可以覆盖所有访 问了该UGC的用户,直接体现了每条UGC的访问情况,相比于现有技术的 UGC的转发数、评论数、赞扬数等等参数指标,该UGC的访问次数可以准 确地体现UGC的真实的传播广度,提高了UGC传播广度的真实性和准确性。
同时,为了适应大型UGC系统巨量的UGC信息量和巨量的UGC访问 量,如微博系统中目前有几百亿条微博的信息量,每天全体微博的访问量也 有几百亿次,本发明采用了分层设计方案,包括接入层模块、底层存储模块 和接口机模块,其中接入层模块根据UGC系统的对UGC的拉取动作信息确 定UGC的访问次数信息,保证了UGC访问次数的准确性,并将所确定的 UGC访问次数信息发送给底层存储模块,底层存储模块采用本地内存存储所 述UGC访问次数,提高了读写响应速度,从而保证即使对于拥有巨量UGC 信息量和巨量UGC访问量以及访问频率高的大型UGC系统来讲,也会保证 非常高效的UGC访问次数的读写效率。
另外,本发明所述后台系统的分层设计方案,使得UGC访问次数的检 测统计、存储、读取发布功能分开,因此还可以简化了运行和维护操作,降 低了运行和维护成本。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本 发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在 本发明保护的范围之内。
机译: 获取用户生成内容的访问次数的方法和装置
机译: 获取用户生成内容的访问次数的方法和装置
机译: 访问请求发布装置,访问请求发布系统,访问请求发布方法以及访问请求发布程序