CN108984287A - 一种滑动榜单处理方法、装置、设备及介质 - Google Patents

一种滑动榜单处理方法、装置、设备及介质 Download PDF

Info

Publication number
CN108984287A
CN108984287A CN201810739245.4A CN201810739245A CN108984287A CN 108984287 A CN108984287 A CN 108984287A CN 201810739245 A CN201810739245 A CN 201810739245A CN 108984287 A CN108984287 A CN 108984287A
Authority
CN
China
Prior art keywords
data
queue
list
date
sliding
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.)
Granted
Application number
CN201810739245.4A
Other languages
English (en)
Other versions
CN108984287B (zh
Inventor
张李攀
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Wuhan Douyu Network Technology Co Ltd
Original Assignee
Wuhan Douyu Network Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Wuhan Douyu Network Technology Co Ltd filed Critical Wuhan Douyu Network Technology Co Ltd
Priority to CN201810739245.4A priority Critical patent/CN108984287B/zh
Publication of CN108984287A publication Critical patent/CN108984287A/zh
Application granted granted Critical
Publication of CN108984287B publication Critical patent/CN108984287B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开一种滑动榜单处理方法、装置、设备及介质,包括:获取榜单数据包括:所述滑动榜单为最近X日期的榜单;获取当前的日期信息D,根据所述日期信息D从第一数据队列和第二数据队列中确定计算队列;所述第一数据队列和所述第二数据队列随着日期的递增轮流被确定为计算队列;减去计算队列中日期为D‑X和日期为D‑X+1的数据;根据查询请求从查询队列中查询获取第一数据,并反馈所述第一数据至查询端,其中,查询队列为第一数据队列和第二数据队列中除计算队列外的队列。本申请提供的方法和装置可以解决现有技术中的排行榜单,存在的积分沉积、缺乏实时性的技术问题。实现了计算高效,且计算不干扰榜单查询的滑动榜单的技术效果。

Description

一种滑动榜单处理方法、装置、设备及介质
技术领域
本发明涉及计算机技术领域,尤其涉及一种滑动榜单处理方法、装置、设备及介质。
背景技术
当前,随着网络通信技术的进步和宽带网络的提速,网络直播得到了越来越多的发展和应用。网络直播平台通常会提供多种类型的排行榜,用于增强活动的可玩性和刺激用户的消费。
目前的排行榜通常都是固定周期的榜单,常见的有日榜、周榜、月榜等,固定周期的榜单会导致积分沉淀,不利于刺激用户消费和刺激主播改进直播。
可见,现有技术中的排行榜单,存在积分沉积、缺乏实时性的技术问题。
发明内容
本发明提供一种滑动榜单处理方法、装置、设备及介质,用以解决现有技术中的排行榜单,存在的积分沉积、缺乏实时性的技术问题。
第一方面,本发明提供了一种滑动榜单处理方法,所述方法应用于服务器,包括:
获取需要计算的滑动榜单的榜单数据;所述榜单数据包括:所述滑动榜单为最近X日期的榜单;X为自然数;
获取当前的日期信息D,根据所述日期信息D从第一数据队列和第二数据队列中确定计算队列;其中,所述第一数据队列和所述第二数据队列随着日期的递增轮流被确定为所述计算队列;其中,用于生成所述滑动榜单的数据会在产生后存储入所述第一数据队列和所述第二数据队列;
根据所述日期信息D和X的数值,减去所述计算队列中日期为D-X和日期为D-X+1的数据;
如果接收到用于获取所述滑动榜单数据的查询请求,则根据所述查询请求从查询队列中查询获取第一数据,并反馈所述第一数据至发送所述查询请求的查询端,其中,查询队列为所述第一数据队列和所述第二数据队列中除所述计算队列外的队列。
可选的,所述获取需要计算的滑动榜单的榜单数据,包括:从榜单数据队列中获取需要计算的滑动榜单的榜单数据,所述榜单数据队列中存储有需要计算的榜单的清单,和需要计算的榜单的计算规则。
可选的,所述根据所述日期信息D和X的数值,减去所述目标队列中日期为D-X和日期为D-X+1的数据,包括:根据所述日期信息D和X的数值,从总数据队列中确定出日期为D-X和日期为D-X+1的数据,其中,所述总数据队列为按日期存储的用于生成所述滑动榜单的数据;减去所述计算队列中日期为D-X和日期为D-X+1的数据。
可选的,所述第一数据队列和所述第二数据队列为按直播间存储的队列。
第二方面,提供一种滑动榜单处理装置,所述装置为服务器,包括:
获取模块,用于获取需要计算的滑动榜单的榜单数据;所述榜单数据包括:所述滑动榜单为最近X日期的榜单;X为自然数;
确定模块,用于获取当前的日期信息D,根据所述日期信息D从第一数据队列和第二数据队列中确定计算队列;其中,所述第一数据队列和所述第二数据队列随着日期的递增轮流被确定为所述计算队列;其中,用于生成所述滑动榜单的数据会在产生后存储入所述第一数据队列和所述第二数据队列;
计算模块,用于根据所述日期信息D和X的数值,减去所述计算队列中日期为D-X和日期为D-X+1的数据;
查询模块,用于如果接收到用于获取所述滑动榜单数据的查询请求,则根据所述查询请求从查询队列中查询获取第一数据,并反馈所述第一数据至发送所述查询请求的查询端,其中,查询队列为所述第一数据队列和所述第二数据队列中除所述计算队列外的队列。
可选的,所述获取模块还用于:从榜单数据队列中获取需要计算的滑动榜单的榜单数据,所述榜单数据队列中存储有需要计算的榜单的清单,和需要计算的榜单的计算规则。
可选的,所述计算模块还用于:根据所述日期信息D和X的数值,从总数据队列中确定出日期为D-X和日期为D-X+1的数据,其中,所述总数据队列为按日期存储的用于生成所述滑动榜单的数据;减去所述计算队列中日期为D-X和日期为D-X+1的数据。
可选的,所述第一数据队列和所述第二数据队列为按直播间存储的队列。
第三方面,提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现第一方面所述的方法。
第四方面,提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现第一方面所述的方法。
本发明实施例中提供的一个或多个技术方案,至少具有如下技术效果或优点:
本申请实施例提供的方法、装置、设备及介质,设置用于生成所述滑动榜单的数据产生后就实时写入第一数据队列和第二数据队列,第一数据队列和第二数据队列轮换作为计算队列,且设置用于计算排行榜数据的队列与用于查询排行榜中数据的队列为不同的数据队列,以避免计算影响用户查询榜单。在查询队列提供榜单的查询时,计算队列完成生成榜单的数据的计算,减去日期为D-X和日期为D-X+1的数据,这样在下一日期,当前的计算队列轮换为查询队列时,加上该下一日期更新存储的数据,就能保证查询队列中刚好保持近X日期的数据,即当前至X日期之间的数据,实现计算高效,且计算不干扰榜单查询的滑动榜单,更具实时性。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例中滑动榜单处理方法的流程图;
图2为本发明实施例中滑动榜单处理方法的实例流程图;
图3为本发明实施例中滑动榜单处理装置的结构示意图;
图4为本发明实施例中设备的结构示意图;
图5为本发明实施例中介质的结构示意图。
具体实施方式
本申请实施例通过提供一种滑动榜单处理方法、装置、设备及介质,用以解决现有技术中的排行榜单,存在的积分沉积、缺乏实时性的技术问题。实现了计算高效,且计算不干扰榜单查询的滑动榜单的技术效果。
本申请实施例中的技术方案,总体思路如下:
设置用于生成所述滑动榜单的数据产生后就实时写入第一数据队列和第二数据队列,第一数据队列和第二数据队列轮换作为计算队列,且设置用于计算排行榜数据的队列与用于查询排行榜中数据的队列为不同的数据队列,以避免计算影响用户查询榜单。在查询队列提供榜单的查询时,计算队列完成生成榜单的数据的计算,减去日期为D-X和日期为D-X+1的数据,这样在下一日期,当前的计算队列轮换为查询队列时,加上该下一日期更新存储的数据,就能保证查询队列中刚好保持近X日期的数据,即当前至X日期之间的数据,实现计算高效,且计算不干扰榜单查询的滑动榜单。
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例一
本实施例提供一种滑动榜单处理方法,如图1所示,所述方法应用于服务器,包括:
步骤S101,获取需要计算的滑动榜单的榜单数据;所述榜单数据包括:所述滑动榜单为最近X日期的榜单;
步骤S102,获取当前的日期信息D,根据所述日期信息D从第一数据队列和第二数据队列中确定计算队列;其中,所述第一数据队列和所述第二数据队列随着日期的递增轮流被确定为所述计算队列;其中,用于生成所述滑动榜单的数据会在产生后存储入所述第一数据队列和所述第二数据队列;
步骤S103,根据所述日期信息D和X的数值,减去所述目标队列中日期为D-X和日期为D-X+1的数据;
步骤S104,如果接收到用于获取所述滑动榜单数据的查询请求,则根据所述查询请求从查询队列中查询获取第一数据,并反馈所述第一数据至发送所述查询请求的查询端,其中,查询队列为所述第一数据队列和所述第二数据队列中除所述计算队列外的队列。
本实施例中提供的方法可以应用于直播网站、游戏网站或短视频网站等等平台的排行榜处理。
所述服务器可以为单台服务器、服务器组或云服务器等,在此不作限制。所述查询端可以为智能手机、台式机或平板电脑等,在此也不作限制。
下面结合图1,对本申请提供的方法的具体实施步骤进行详细说明:
需要说明的是,步骤S104与步骤S101、S102和S103均没有先后顺序限制。步骤S104是可以独立执行的查询步骤。
步骤S101,获取需要计算的滑动榜单的榜单数据;所述榜单数据包括:所述滑动榜单为最近X日期的榜单。
需要说明的是,所述最近X日期是指从当前至当前往前X日期之间的时间段,即滑动榜单统计的时间段,其中,所述日期可以是天、月、小时或季度等,在此不作限制。滑动榜单表示周期窗口向前平移滑动的榜单。滑动榜单的实现难点在于周期窗口是一直滑动的,而且当天的数据是要求实时统计在榜单中的,这就导致榜单的周期窗口和统计数据都在实时变化,很难高效快捷的对榜单的数据做统计和排序。而本申请通过设置后续步骤能提高滑动榜单的计算效率,且避免计算和榜单查询的相互干扰。
举例来说,当日期为天,X为10,所述最近X日期的榜单即近10日的滑动榜单,假设当前为6月14日,则近10日的榜单为根据6月5日至6月14日的数据生成的滑动榜单,当时间到达6月15日时,则近10日的榜单自动更新为按照6月6日至6月15日的数据生成的滑动榜单。
在本申请实施例中,所述获取需要计算的滑动榜单的榜单数据,包括:从榜单数据队列中获取需要计算的滑动榜单的榜单数据,所述榜单数据队列中存储有需要计算的榜单的清单,和需要计算的榜单的计算规则。即服务器中预设有榜单数据队列,该榜单数据队列中可以存储有:需要计算近多长日期的滑动榜单、该滑动榜单需要根据哪些数据来生成和该滑动榜单的排序计算规则,等等。服务器从该榜单数据队列获取榜单数据,从而指导后续的计算。如果当前需要计算的榜单不在榜单数据队列中,则会在榜单数据队列中新增该当前榜单。
在具体实施过程中,该滑动榜单可以是直播间收礼物数据的榜单,也可以是观众点赞数据的榜单,还可以是累积观众量数据的榜单,或者直播总时长的榜单,在此不作限制。
步骤S102,获取当前的日期信息D,根据所述日期信息D从第一数据队列和第二数据队列中确定计算队列;其中,所述第一数据队列和所述第二数据队列随着日期的递增轮流被确定为所述计算队列;其中,用于生成所述滑动榜单的数据会在产生后存储入所述第一数据队列和所述第二数据队列。
所述日期信息D可以是服务器直接从系统时间中确认获得的,也可以是工作人员输入的,在此不作限制。较优的,该日期信息D与X的最小单位一致,以便于后续计算。例如,X为日或天,则D为某月某日;X为月,则D为某月。
在本申请实施例中,所述服务器中预设有第一数据队列和第二数据队列,用于生成滑动榜单的数据(例如,收礼物数据,直播时长数据等等)会在产生后就实时的触发存储该数据入第一数据队列和第二数据队列。为了便于计算出榜单,当所述服务器为直播平台服务器时,所述第一数据队列和所述第二数据队列为按直播间存储数据的队列。具体来讲,可以是将每个直播间的数据作为一个子集合,分别存储各个直播间的子集合数据,也可以是将每个直播间的数据按照排序的计算规则计算出数值,分别存储各个直播间的对应数值。
举例来讲,当需要的滑动榜单为直播间内收礼物金额在近7天的排行榜时,每个直播间有观众赠送礼物时,即会把赠送礼物的金额数据实时存储入第一数据队列和第二数据队列中,该两个队列中的数据可以是按照每个直播间的所有数据为一个子集合来存储的,也可以是直接计算出队列中每个直播间的礼物金额的总额来对应存储的,在此不作限制。
当然,所述服务器也可以是游戏平台服务器或短视频平台服务器,对应的所述第一数据队列和所述第二数据队列为按游戏用户存储数据的队列,或者为按短视频发送用户存储数据的队列,在此不作限制。
在本申请实施例中,根据所述日期信息D从第一数据队列和第二数据队列中确定计算队列,是根据X的单位交替轮换确定的,例如X为天时,则一天确定计算队列为第一数据队列,下一天就确定计算队列为第二数据队列。具体的确定规则可以预先设置,例如确定D为奇数对应计算队列为第一数据队列,D为偶数对应计算队列为第二数据,在此不作限制。
步骤S103,根据所述日期信息D和X的数值,减去所述计算队列中日期为D-X和日期为D-X+1的数据。
本申请实施例将计算队列与查询队列分开设置,以避免干扰。展示给用户的是查询队列中的查询数据,所以需要保证查询队列中的数据刚好是最近X日期内用于生成榜单的数据。而计算队列在接下来的日期会轮换为查询队列,故需要保证计算队列在当前日期计算后的数据刚好是最近X-1日期内用于生成榜单的数据,这样,在下一日期到来时,在计算队列轮换为查询队列后,由于更新增加了下一日期的数据,故轮换后的查询队列也刚好存储了最近X日期内用于生成榜单的数据。
故在每次计算时,将计算队列中日期为D-X和日期为D-X+1的数据删除或减去,以保证计算队列在当前日期计算后的数据刚好是最近X-1日期内用于生成榜单的数据。
举例来讲,如图2所示,假设滑动榜单为近7天的榜单,当前为第8天,第一数据队列A为当天的查询队列,其中存储有第2~8天的数据或2~8天数据的累计值,第二数据队列B为当天的计算队列,由于第二数据队列前一天为查询队列,没有进行计算和数据删除,故其中存储有第1~8天的数据或1~8天数据的累计值,故第二数据队列删除或减去第1(8减去7)天和第2天(8减去7再加1)的数据,保存为第3~8天的数据,使得计算队列中刚好是最近X-1日期内用于生成榜单的数据。在第9日到来时,第二数据队列轮换为查询队列,在加上第9天的数据,其中刚好存储有第3~9天的近7天数据,以供查询近7天的滑动榜单。而第一数据队列(存储有第2~9天的数据)轮换为计算队列,在计算时,删除或减去第2(9减去7)天和第3(9减去7再加1)的数据,保存为第4~9天的数据,从而为第10天的查询作准备,这样循环轮换计算,即可实现每次的查询队列中刚好存储有近7天的数据,实现近7天的滑动榜单。
由于对计算队列进行计算时,不需要为观众提供查询功能,故该计算可以是离线计算,以提高计算效率,同时,对计算队列的计算不会影响查询队列中的查询数据,能避免出现数据混乱。
在本申请实施例中,为了提高确认需减去或删除的日期为D-X和日期为D-X+1的数据的效率和准确度,还设置可以先根据所述日期信息D和X的数值,从总数据队列中确定出日期为D-X和日期为D-X+1的数据,其中,所述总数据队列为按日期存储的用于生成所述滑动榜单的数据;再减去所述计算队列中日期为D-X和日期为D-X+1的数据。
具体来讲,所述服务器中预先设置有总数据队列,用于生成滑动榜单的数据(例如,收礼物数据,直播时长数据等等)会在产生后就实时的触发存储该数据入总数据队列、第一数据队列和第二数据队列。其中,与第一数据队列和第二数据队列不相同,总数据队列中的数据是按日期排列存储的,以便于在对计算队列进行计算时,能根据总数据队列确认所述计算队列中日期为D-X和日期为D-X+1的数据。
步骤S104,如果接收到用于获取所述滑动榜单数据的查询请求,则根据所述查询请求从查询队列中查询获取第一数据,并反馈所述第一数据至发送所述查询请求的查询端,其中,查询队列为所述第一数据队列和所述第二数据队列中除所述计算队列外的队列。
在本申请实施例中,在查询队列中的查询与在计算队列中的计算是独立进行的,第一数据队列和第二数据队列流量交替为查询队列和计算队列。如前所述,查询队列中保持为最近X日期内的数据,故根据查询队列就能查询出近X日期的榜单信息。
举例来讲,当需要查询当前的滑动榜单时,根据当前日期做计算,简单的计算规则为:
if day%2==1:return Rank_A;else:return Rank_B;
其中,Rank_A为第一数据队列,Rank_B为第二数据队列。即当第一天查询Rank_A时,第二天查询Rank_B,第三天查询Rank_A,以此类推,每天切换一次Rank_A和Rank_B的查询。当查询Rank_A的时候,Rank_A中的数据为最近X天的数据的总和其中,Rank_dayday为第day天的数据。而Rank_B中的数据为最近X-1天的数据的总和 这样在下一天的时候,Rank_B的数据正好是最近X天的总和,而Rank_A的数据是最近X+1天的总和,再通过离线计算对Rank_A的数据做处理,转换成最近X-1天的数据,即此时计算后的
具体来讲,设置用于生成所述滑动榜单的数据产生后就实时写入第一数据队列和第二数据队列,第一数据队列和第二数据队列轮换作为计算队列,且设置用于计算排行榜数据的队列与用于查询排行榜中数据的队列为不同的数据队列,以避免计算影响用户查询榜单。在查询队列提供榜单的查询时,计算队列完成生成榜单的数据的计算,减去日期为D-X和日期为D-X+1的数据,这样在下一日期,当前的计算队列轮换为查询队列时,加上该下一日期更新存储的数据,就能保证查询队列中刚好保持近X日期的数据,即当前至X日期之间的数据,实现计算高效,且计算不干扰榜单查询的滑动榜单,更具实时性。通过实时写入和离线计算的策略,实现了按照时间窗口平移的滑动榜单,这种策略实现的滑动榜单的写入和查询的性能非常高,不会受到离线计算过程的影响。
基于同一发明构思,本申请还提供了与实施例一中滑动榜单处理方法对应的装置,详见实施例二。
实施例二
本实施例提供一种滑动榜单处理装置,如图3所示,所述装置为服务器,包括:
获取模块301,用于获取需要计算的滑动榜单的榜单数据;所述榜单数据包括:所述滑动榜单为最近X日期的榜单;X为自然数;
确定模块302,用于获取当前的日期信息D,根据所述日期信息D从第一数据队列和第二数据队列中确定计算队列;其中,所述第一数据队列和所述第二数据队列随着日期的递增轮流被确定为所述计算队列;其中,用于生成所述滑动榜单的数据会在产生后存储入所述第一数据队列和所述第二数据队列;
计算模块303,用于根据所述日期信息D和X的数值,减去所述计算队列中日期为D-X和日期为D-X+1的数据;
查询模块304,用于如果接收到用于获取所述滑动榜单数据的查询请求,则根据所述查询请求从查询队列中查询获取第一数据,并反馈所述第一数据至发送所述查询请求的查询端,其中,查询队列为所述第一数据队列和所述第二数据队列中除所述计算队列外的队列。
可选的,所述获取模块301还用于:从榜单数据队列中获取需要计算的滑动榜单的榜单数据,所述榜单数据队列中存储有需要计算的榜单的清单,和需要计算的榜单的计算规则。
可选的,所述计算模块303还用于:根据所述日期信息D和X的数值,从总数据队列中确定出日期为D-X和日期为D-X+1的数据,其中,所述总数据队列为按日期存储的用于生成所述滑动榜单的数据;减去所述计算队列中日期为D-X和日期为D-X+1的数据。
可选的,所述第一数据队列和所述第二数据队列为按直播间存储的队列。
由于本发明实施例二所介绍的装置,为实施本发明实施例一的方法所采用的装置,故而基于本发明实施例一所介绍的方法,本领域所属人员能够了解该装置的具体结构及变形,故而在此不再赘述。凡是本发明实施例一的方法所采用的装置都属于本发明所欲保护的范围。
基于同一发明构思,本发明实施例还提供了实施例一中方法对应的电子设备实施例,见实施例三。
实施例三
本实施例提供一种电子设备,如图4所示,包括存储器410、处理器420及存储在存储器410上并可在处理器420上运行的计算机程序411,处理器420执行计算机程序411时,可以实现实施例一中任一实施方式。
由于本实施例所介绍的电子设备为实施本申请实施例一中方法所采用的设备,故而基于本申请实施例一所介绍的方法,本领域所属技术人员能够了解本实施例的电子设备的具体实施方式以及其各种变化形式,所以在此对于该电子设备如何实现本申请实施例中的方法不再详细介绍。只要本领域所属技术人员实施本申请实施例中的方法所采用的设备,都属于本申请所欲保护的范围。
基于同一发明构思,本申请提供了实施例一对应的存储介质,详见实施例四。
实施例四
本实施例提供一种计算机可读存储介质500,如图5所示,其上存储有计算机程序511,该计算机程序511被处理器执行时,可以实现实施例一任一实施方式。
本申请实施例中提供的技术方案,至少具有如下技术效果或优点:
本申请实施例提供的方法及装置,设置用于生成所述滑动榜单的数据产生后就实时写入第一数据队列和第二数据队列,第一数据队列和第二数据队列轮换作为计算队列,且设置用于计算排行榜数据的队列与用于查询排行榜中数据的队列为不同的数据队列,以避免计算影响用户查询榜单。在查询队列提供榜单的查询时,计算队列完成生成榜单的数据的计算,减去日期为D-X和日期为D-X+1的数据,这样在下一日期,当前的计算队列轮换为查询队列时,加上该下一日期更新存储的数据,就能保证查询队列中刚好保持近X日期的数据,即当前至X日期之间的数据,实现计算高效,且计算不干扰榜单查询的滑动榜单。通过实时写入和离线计算的策略,实现了按照时间窗口平移的滑动榜单,这种策略实现的滑动榜单的写入和查询的性能非常高,不会受到离线计算过程的影响,更具实时性。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明实施例进行各种改动和变型而不脱离本发明实施例的精神和范围。这样,倘若本发明实施例的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

Claims (10)

1.一种滑动榜单处理方法,其特征在于,所述方法应用于服务器,包括:
获取需要计算的滑动榜单的榜单数据;所述榜单数据包括:所述滑动榜单为最近X日期的榜单;X为自然数;
获取当前的日期信息D,根据所述日期信息D从第一数据队列和第二数据队列中确定计算队列;其中,所述第一数据队列和所述第二数据队列随着日期的递增轮流被确定为所述计算队列;其中,用于生成所述滑动榜单的数据会在产生后存储入所述第一数据队列和所述第二数据队列;
根据所述日期信息D和X的数值,减去所述计算队列中日期为D-X和日期为D-X+1的数据;
如果接收到用于获取所述滑动榜单数据的查询请求,则根据所述查询请求从查询队列中查询获取第一数据,并反馈所述第一数据至发送所述查询请求的查询端,其中,查询队列为所述第一数据队列和所述第二数据队列中除所述计算队列外的队列。
2.如权利要求1所述的方法,其特征在于,所述获取需要计算的滑动榜单的榜单数据,包括:
从榜单数据队列中获取需要计算的滑动榜单的榜单数据,所述榜单数据队列中存储有需要计算的榜单的清单,和需要计算的榜单的计算规则。
3.如权利要求1所述的方法,其特征在于,所述根据所述日期信息D和X的数值,减去所述目标队列中日期为D-X和日期为D-X+1的数据,包括:
根据所述日期信息D和X的数值,从总数据队列中确定出日期为D-X和日期为D-X+1的数据,其中,所述总数据队列为按日期存储的用于生成所述滑动榜单的数据;
减去所述计算队列中日期为D-X和日期为D-X+1的数据。
4.如权利要求1所述的方法,其特征在于,所述第一数据队列和所述第二数据队列为按直播间存储的队列。
5.一种滑动榜单处理装置,其特征在于,所述装置为服务器,包括:
获取模块,用于获取需要计算的滑动榜单的榜单数据;所述榜单数据包括:所述滑动榜单为最近X日期的榜单;X为自然数;
确定模块,用于获取当前的日期信息D,根据所述日期信息D从第一数据队列和第二数据队列中确定计算队列;其中,所述第一数据队列和所述第二数据队列随着日期的递增轮流被确定为所述计算队列;其中,用于生成所述滑动榜单的数据会在产生后存储入所述第一数据队列和所述第二数据队列;
计算模块,用于根据所述日期信息D和X的数值,减去所述计算队列中日期为D-X和日期为D-X+1的数据;
查询模块,用于如果接收到用于获取所述滑动榜单数据的查询请求,则根据所述查询请求从查询队列中查询获取第一数据,并反馈所述第一数据至发送所述查询请求的查询端,其中,查询队列为所述第一数据队列和所述第二数据队列中除所述计算队列外的队列。
6.如权利要求5所述的装置,其特征在于,所述获取模块还用于:
从榜单数据队列中获取需要计算的滑动榜单的榜单数据,所述榜单数据队列中存储有需要计算的榜单的清单,和需要计算的榜单的计算规则。
7.如权利要求5所述的装置,其特征在于,所述计算模块还用于:
根据所述日期信息D和X的数值,从总数据队列中确定出日期为D-X和日期为D-X+1的数据,其中,所述总数据队列为按日期存储的用于生成所述滑动榜单的数据;
减去所述计算队列中日期为D-X和日期为D-X+1的数据。
8.如权利要求5所述的装置,其特征在于,所述第一数据队列和所述第二数据队列为按直播间存储的队列。
9.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现权利要求1-4任一所述的方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现权利要求1-4任一所述的方法。
CN201810739245.4A 2018-07-06 2018-07-06 一种滑动榜单处理方法、装置、设备及介质 Active CN108984287B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810739245.4A CN108984287B (zh) 2018-07-06 2018-07-06 一种滑动榜单处理方法、装置、设备及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810739245.4A CN108984287B (zh) 2018-07-06 2018-07-06 一种滑动榜单处理方法、装置、设备及介质

Publications (2)

Publication Number Publication Date
CN108984287A true CN108984287A (zh) 2018-12-11
CN108984287B CN108984287B (zh) 2020-10-16

Family

ID=64537314

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810739245.4A Active CN108984287B (zh) 2018-07-06 2018-07-06 一种滑动榜单处理方法、装置、设备及介质

Country Status (1)

Country Link
CN (1) CN108984287B (zh)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106294691A (zh) * 2016-08-04 2017-01-04 广州交易猫信息技术有限公司 榜单刷新方法、装置及服务端
CN107391681A (zh) * 2017-07-24 2017-11-24 广州市百果园信息技术有限公司 业务数据排行处理方法和机器可读存储介质
CN108153758A (zh) * 2016-12-02 2018-06-12 阿里巴巴集团控股有限公司 一种数据累计方法、装置及电子设备

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106294691A (zh) * 2016-08-04 2017-01-04 广州交易猫信息技术有限公司 榜单刷新方法、装置及服务端
CN108153758A (zh) * 2016-12-02 2018-06-12 阿里巴巴集团控股有限公司 一种数据累计方法、装置及电子设备
CN107391681A (zh) * 2017-07-24 2017-11-24 广州市百果园信息技术有限公司 业务数据排行处理方法和机器可读存储介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
WEIXIN_30389003: "用redis实现动态时间段内统计排序", 《HTTPS://BLOG.CSDN.NET/WEIXIN_30389003/ARTICLE/DETAILS/99389113?DEPTH_1-UTM_SOURCE=DISTRIBUTE.PC_RELEVANT.NONE-TASK-BLOG-BLOGCOMMENDFROMBAIDU-2&UTM_SOURCE=DISTRIBUTE.PC_RELEVANT.NONE-TASK-BLOG-BLOGCOMMENDFROMBAIDU-2》 *

Also Published As

Publication number Publication date
CN108984287B (zh) 2020-10-16

Similar Documents

Publication Publication Date Title
Du et al. Learning resource allocation and pricing for cloud profit maximization
CN107993151B (zh) 基金交易清算方法、装置、设备及计算机可读存储介质
CN104077671B (zh) 一种同步库存信息的方法和系统
CN104967607A (zh) 一种信息处理方法、终端及服务器
CN108363788B (zh) 帖子智能排位方法、装置以及计算机可读存储介质
US20170178041A1 (en) Completion contracts
CN108108933B (zh) 仓储位置分配方法及装置
CN109725899A (zh) 数据流式处理方法及装置
CN110351375A (zh) 一种数据处理方法、装置及计算机装置、可读存储介质
RU2622850C2 (ru) Метод и сервер для обработки идентификаторов продукта и машиночитаемый носитель данных
CN109583945A (zh) 一种广告资源分配的方法和装置
Forbes et al. Bayesian arbitrage threshold analysis
Voswinkel et al. Sharing congestion management costs among system operators using the Shapley value
CN106775932A (zh) 一种云计算系统中随机事件触发的实时工作流调度方法
Leonardos et al. Optimality despite chaos in fee markets
CN110070424A (zh) 订单生成方法、装置、服务器及存储介质
CN109086289A (zh) 一种媒体数据处理方法、客户端、介质和设备
CN108984287A (zh) 一种滑动榜单处理方法、装置、设备及介质
CN109285015A (zh) 一种虚拟资源的分配方法及系统
CN106296279A (zh) 广告投放方法及装置
CN113038242B (zh) 直播卡片展示位置的确定方法、装置、设备及存储介质
CN109582476A (zh) 数据处理方法、装置及系统
CN112767056A (zh) 业务数据预测方法、装置、计算机设备和存储介质
CN108804640B (zh) 基于最大化iv的数据分组方法、装置、储存介质及设备
CN112199191A (zh) 用于虚拟交易的数据撮合方法、装置及系统

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant