预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共26页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

(19)中华人民共和国国家知识产权局(12)发明专利申请(10)申请公布号CN108965032A(43)申请公布日2018.12.07(21)申请号201810961358.9(22)申请日2018.08.22(71)申请人北京奇虎科技有限公司地址100088北京市西城区新街口外大街28号D座112室(德胜园区)(72)发明人杨森源(74)专利代理机构北京智汇东方知识产权代理事务所(普通合伙)11391代理人康正德陈智勇(51)Int.Cl.H04L12/24(2006.01)H04L12/26(2006.01)H04L12/58(2006.01)权利要求书3页说明书19页附图3页(54)发明名称一种基于循环队列的消息推送量统计方法和装置(57)摘要本发明提供了一种基于循环队列的消息推送量统计方法和装置。通过将被推送的消息的数据插入循环队列中,周期性地轮询循环队列中的每一条消息数据,获取每一消息的发送量并进行相关数学计算,得到每一消息的各时间段的推送量,并将过期的消息的数据从循环队列中删除,避免了从数据库查询未过期的所有消息的步骤,大大减少了数据库的查询工作量,降低了数据库的工作压力,并显著提升了推送量统计的更新速度,从而适用于千万级推送数据量的统计。CN108965032ACN108965032A权利要求书1/3页1.一种基于循环队列的消息推送量统计方法,包括:创建一循环队列,并设置所述循环队列的首次轮询开始时间和轮询周期,其中,每推送一条消息,则将所述消息的消息数据从所述循环队列的队尾插入所述循环队列中;所述消息数据包括消息唯一标识、计数时间、发送总量和有效时间;所述计数时间的初始值设为从所述消息被推送至下一次轮询开始时间范围内的任一时刻,所述发送总量的初始值设为0;当每次轮询开始时间到达时,重复进行如下步骤:从所述循环队列的队头取出一消息数据;判断当前取出的消息数据中的计数时间是否大于本次轮询开始时间;若当前取出的消息数据中的计数时间小于或等于本次轮询开始时间,则根据该消息数据中的消息唯一标识获取该消息的当前发送总量,并根据所获取的该消息的当前发送总量和该消息数据中记录的发送总量的比较结果,计算该消息的当前发送总量与该消息数据中记录的发送总量的差值作为发送增长量,根据所述消息唯一标识将所述发送增长量存入指定数据库中,将该消息数据中的发送总量更新为所获取的该消息的当前发送总量,并将该消息数据中的计数时间更新为下一次轮询开始时间;根据该消息数据中的有效时间判断该消息是否已过期;若是,则丢弃该消息数据,若否,则将更新后的消息数据从所述循环队列的队尾重新插入所述循环队列中;若当前取出的消息数据中的计数时间大于本次轮询开始时间,则将该消息数据从所述循环队列的队尾重新插入所述循环队列中,退出本次轮询,直到下一次轮询开始时间到达。2.根据权利要求1所述的方法,其中,根据所获取的该消息的当前发送总量和该消息数据中记录的发送总量的比较结果,计算该消息的当前发送总量与该消息数据中记录的发送总量的差值作为发送增长量,根据所述消息唯一标识将所述发送增长量存入指定数据库中,将该消息数据中的发送总量更新为所获取的该消息的当前发送总量,并将该消息数据中的计数时间更新为下一次轮询开始时间,包括:比较所获取的该消息的当前发送总量是否大于该消息数据中记录的发送总量;若所获取的该消息的当前发送总量大于该消息数据中记录的发送总量,则计算所获取的该消息的当前发送总量与该消息数据中记录的发送总量的差值,作为该消息的发送增长量,根据所述消息唯一标识将所述发送增长量存入所述指定数据库中,将该消息数据中的发送总量更新为所获取的该消息的当前发送总量,并将该消息数据中的计数时间更新为下一次轮询开始时间;若所获取的该消息的当前发送总量小于或等于该消息数据中记录的发送总量,则将该消息数据中的计数时间更新为下一次轮询开始时间。3.根据权利要求1或2所述的方法,其中,根据该消息数据中的有效时间判断该消息是否已过期,包括:比较该消息数据中的有效时间是否小于或等于本次轮询开始时间;若是,则判断该消息已过期,否则,判断该消息未过期。4.根据权利要求1-3中任一项所述的方法,其中,所述消息数据还包括应发送的设备数量;在根据所获取的该消息的当前发送总量和该消息数据中记录的发送总量的比较结果,计算该消息的当前发送总量与该消息数据中记录的发送总量的差值作为发送增长量,根据2CN108965032A权利要求书2/3页所述消息唯一标识将所述发送增长量存入指定数据库中,将该消息数据中的发送总量更新为所获取的该消息的当前发送总量,并将该消息数据中的计数时间更新为下一次轮询开始时间之后,所述方法还包括:确定该消息的推送方式;若该消息的推送方式为单播或多播,则判断所获取的该消息的当前发送总量是否等于所述应