CN107391681A - 业务数据排行处理方法和机器可读存储介质 - Google Patents
业务数据排行处理方法和机器可读存储介质 Download PDFInfo
- Publication number
- CN107391681A CN107391681A CN201710606286.1A CN201710606286A CN107391681A CN 107391681 A CN107391681 A CN 107391681A CN 201710606286 A CN201710606286 A CN 201710606286A CN 107391681 A CN107391681 A CN 107391681A
- Authority
- CN
- China
- Prior art keywords
- target data
- accumulated value
- time
- moment
- user
- 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.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/958—Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本申请提供一种业务数据排行处理方法和机器可读存储介质,所述方法包括:采用实时进程生成第一累加值序列;采用延时进程生成第二累加值序列;根据排行需求,确定排行需求时段对应的结束时刻和起始时刻,其中结束时刻与起始时刻之间间隔所述预设时间间隔;从第一累加值序列中,获取结束时刻对应的累加值;从第二累加值序列中,获取起始时刻对应的累加值;计算结束时刻对应累加值与起始时刻对应的累加值之间的差值,得到目标数据在排行需求时段内的累加值。该方法可以提高计算速度,满足实时的对目标数据的排行需求。
Description
技术领域
本申请涉及计算机通信领域,尤其涉及业务数据排行处理方法和机器可读存储介质。
背景技术
随着网络技术的飞速发展,基于网络的业务得到了广泛的应用,例如,网上购物、网上直播、网络游戏、网络音乐、网络论坛等,用户可以直接通过网络进行互动,互动过程中产生的数据记录多达百万条甚至千万条至上亿条,为了提高用户互动的积极性,提高网络业务产品的竞争力,通常对互动过程中数据记录进行统计分析并计算生成排行榜,例如,网上销售产品的销售量排行榜、网络节目的收视率排行榜、网上直播的主播热度排行榜、网上音乐作品点击率排行榜等。
目前获得排行榜的一种方案是:将数据记录存入数据库,然后确定排行时间段,对排行时间段内的数据记录按照一定标准进行分类统计得到若干类型的数据记录,可以对同一类型的数据记录按照对应的标识进行计算,得到与每个标识对应的结果,然后根据结果的大小进行排序,得到排行榜。以网上直播的应用场景为例,在网上直播过程中,用户与主播互动时产生大量的互动记录,这些互动记录包括各用户给主播的金豆数量、各主播的粉丝数量等,这些互动记录在存入数据库时,可记录为与每个用户的标识对应的数据记录,并且可以记录数据记录的产生时间等,例如,7:30时间点用户1给主播1的金豆数量为1,7:35时间点用户1给主播1的金豆数量为3,7:35时间点用户2给主播1的金豆数量为5,7:36用户3给主播1的金豆数量为2,如果要获取7:00~8:00时间段用户送给主播1金豆数量的排行榜,则对该时间段内的所有用户送给主播1的金豆数量按照用户进行统计,可以得到用户1送给主播1的金豆数量为4,用户2送给主播1的金豆数量为5,用户3送给主播1的金豆数量为2,然后可按照金豆数量的大小进行排序,生成所需要的排行榜。
上述获取排行榜的方法中如果排行期间内的数据记录的数据量达到百万级甚至更大,针对百万级的数据记录的数据量计算出排行榜需要花费较长时间,因此,最后得到的排行榜可能是基于之前产生的数据记录得到的,排行榜并非实时的,影响了用户体验。
发明内容
有鉴于此,本申请提供一种业务数据排行处理方法和机器可读存储介质。
具体地,本申请是通过如下技术方案实现的:
根据本申请的第一方面,提供一种业务数据排行处理方法,用于统计目标数据在预设时间间隔内的累加值,所述方法包括:
采用实时进程生成第一累加值序列,所述第一累加值序列包括依次记录的目标数据截至最新统计时刻的累加值;
采用延时进程生成第二累加值序列,所述第二累加值序列包括依次记录的目标数据截至最新统计时刻的预设时间间隔之前时刻的累加值;
根据排行需求,确定排行需求时段对应的结束时刻和起始时刻,其中结束时刻与起始时刻之间间隔所述预设时间间隔;
从第一累加值序列中,获取结束时刻对应的累加值;
从第二累加值序列中,获取起始时刻对应的累加值;
计算结束时刻对应累加值与起始时刻对应的累加值之间的差值,得到目标数据在排行需求时段内的累加值。
可选的,所述实时进程和所述延时进程并行运算。
可选的,在所述采用实时进程生成第一累加值序列之前,还包括:
接收各时刻产生的目标数据生成目标数据队列。
可选的,采用实时进程生成第一累加值序列具体包括:
按照所述目标数据的产生时间顺序,从所述目标队列中实时获取产生的新增目标数据;
根据上一时刻的目标数据的累加值及实时获取的所述新增目标数据计算下一时刻的目标数据的累加值;
依次记录包括最新统计时刻的各时刻及各时刻对应的目标数据的累加值,生成第一累加值序列。
可选的,所述采用延时进程生成第二累加值序列,具体包括:
按照所述目标数据的产生时间顺序,从所述目标数据队列中比所述最新统计时刻延时预设时间间隔获取产生的新增目标数据;
根据与最新统计时刻间隔预设时间间隔的上一时刻的目标数据的累加值,及延时预设时间间隔获取的所述新增目标数据计算下一时刻的目标数据的累加值;
依次记录包括最新统计时刻的预设时间间隔之前时刻的各时刻及各时刻对应的目标数据的累加值,生成第二累加值序列。
可选的,所述计算结束时刻对应累加值与起始时刻对应的累加值之间的差值,得到目标数据在统计需求时段内的累加值,具体包括:
分别计算与各用户标识对应的结束时刻对应累加值与起始时刻对应的累加值之间的差值,得到多个与用户标识对应的目标数据在需求时间段内的累加值。
可选的,在所述得到多个与用户标识对应的目标数据在需求时间段内的累加值,之后还包括:
对各用户标识对应的目标数据在统计需求时间段内的累加值进行排序。
可选的,所述目标数据为直播中用户与主播互动产生的数据记录。
可选的,所述目标数据的累加值包括以下至少之一:用户给主播的打赏总数量、主播的粉丝总数量或用户总数量、用户送出的打赏总数量。
根据本申请的第二方面,提供一种机器可读存储介质,存储有机器可执行指令,在被处理器调用和执行时,所述机器可执行指令促使所述处理器上述任一项所述的业务数据排行处理方法。
根据上述技术方案,本申请提供的业务数据排行处理方法,目标数据的累加值随着目标数据的产生依次记录下来,记录的结果是后续目标数据统计阶段进行统计的基础,在确定统计排行需求的起始时刻和结束时刻后,可直接从已经记录的第一累加值序列和第二累加值序列中获得统计排行需求时段内目标数据的累加值,而不需要对统计排行需求时段内包含的各个目标数据进行累加值的计算,提高了计算的速度,由于在短时间内(例如统计需求时段内)通常会产生百万级甚至更大数据量的目标数据,因此,本实施例的方法可以很大程度提高计算速度,可满足实时的对目标数据的统计需求。并且,本实施的方法中通过两个进程计算累加值,即通过实时进程生成第一累加值序列,通过延时进程生成第二累加值序列,分别第一累加值序列记录截至最新统计时刻t的累加值和,第二累计值序列记录截至t-T统计时刻的累加值,也就是通过两个序列分别记录最新时刻的目标数据的累加值和延时预设时间间隔T的目标数据的累加值,通过两个进程获取的累加值不会互相干扰,可提高计算的准确度。
附图说明
图1是本申请实施例提供的一种业务数据排行处理方法的流程图;
图2是本申请又一实施例提供的一种业务数据排行处理方法的流程图;
图3是本申请实施例示出的一种业务数据排行处理方法的网络架构图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
随着网络业务的广泛应用,用户可以直接通过网络进行互动,互动过程中产生的数据记录多达百万条甚至千万条至上亿条,如何对产生大量的数据记录进行统计以有效利用数据是目前存在的重要需求。
为此,本发明实施例提供一种数据统计信息处理方法,用于统计目标数据在预设时间间隔T内的累加值,如图1所示,所述方法包括以下步骤:
步骤110、采用实时进程生成第一累加值序列,第一累加值序列包括依次记录的目标数据截至最新统计时刻t的累加值。
步骤120、采用延时进程生成第二累加值序列,第二累加值序列包括依次记录的目标数据截至最新统计时刻的预设时间间隔之前时刻t-T的累加值;
步骤130、根据排行需求,确定排行需求时段对应的结束时刻T1和起始时刻T2,其中结束时刻与起始时刻之间间隔预设时间间隔,即T1-T2=T;
步骤140、从第一累加值序列中,获取结束时刻T1对应的累加值s1;
步骤150、从第二累加值序列中,获取起始时刻T2对应的累加值s2;
步骤160、计算结束时刻对应累加值与起始时刻对应的累加值之间的差值,即s1-s2,得到目标数据在排行需求时段内的累加值。
上述的目标数据可以为各种类型的待统计的数据,例如,可以为网络业务中产生的数据,这些数据可以包括但不限于:网上销售产品的用户购买记录,观看网络节目的用户的观看记录,在网络直播过程中用户与主播交互产生的记录,网上音乐作品用户的点击记录等。
目标数据的累加值指对各个目标数据进行统计分析得到的统计结果,是对每条目标数据包含的统计需求结果的进行累加计算的结果。以直播场景为例,目标数据的累加值例如可以包括:用户给主播的打赏总数量,主播的粉丝总数量或用户总数量或者用户送出的打赏总数量等。
具体计算目标数据累加值的方法可以有多种,举例而言,若目标数据为网上销售产品的用户购买记录,统计需求为某种产品的在某个时间段的销售量,则目标数据的累加值可以通过统计该产品在该时间段内的用户购买记录得到用户购买的总数量,若目标数据为直播过程中用户送给主播的打赏数量的各条记录,统计需求为直播过程中主播得到的打赏数量,则目标数据的累加值可以统计直播过程所在时间段内用户送给主播的打赏数量的各条记录得到主播获得的打赏总数量,关于目标数据的累加值计算方法可以有多种,本实施例对此并不限定。
第一累加值序列为包括截至最新统计时刻的各时刻及各时刻对应的目标数据的累加值,可以采用实时进程按照时间先后顺序记录各时刻对应的目标数据的累加值,生成第一累加值序列,该第一累加值序列可以是为由各时刻和各时刻对应的目标数据的累加值的映射表,也可以为其他形式。
第二累加值序列为包括截至最新统计时刻的预设时间间隔之前时刻的各时刻及各时刻对应的目标数据的累加值,可以采用延时进程按照时间先后顺序记录各时刻对应的目标数据的累加值,与第一累加值序列的内容和形式可以是相同的,但是第二累加值与第一累加值的不同之处在于,二者统计的目标数据的累加值的对应时刻不同,第二累加值序列中的目标数据的累加值的对应时刻比第一累加值序列中的目标数据的累加值的对应时刻延迟预设时间间隔T,即采用实时进程生成的第一累加值序列中各时刻对应的目标数据的累加值是基于包含最新时刻或者最新时间段产生的目标数据得到的,而采用延时进程生成的第二累加值序列中各时刻对应的目标数据的累加值是基于最新时刻的预设时间间隔T之前时刻产生的目标数据得到的,而不包含最新时刻之前的预设时间间隔段内产生的目标数据。
第一累加值序列或者第二累加值序列中的各时刻可以根据计算周期确定,而不一定是与每个真实时间点对应的时刻,例如计算周期如果为10s,则第一累加值序列或者第二累加值序列中包括每隔10s计算获得的目标数据的累加值,根据计算周期获得的各个时刻和各个时刻对应的目标数据的累加值构成第一累加值序列或者第二累加值序列。
对于获得的各时刻对应的目标数据的累加值后按照获得的顺序依次记录,得到第一累加值序列或第二累加值序列,累加值的数值大小随着各时刻对应的目标数据的变化而变化的,对于记录的顺序通常是按照目标数据记录产生的时间顺序进行记录。
上述步骤110-步骤120为目标数据产生阶段,对产生的目标数据进行分析计算进而获得第一和第二累加值序列,步骤130-160为数据统计阶段,该目标数据统计阶段以上述目标数据产生阶段的各步骤为基础。
上述步骤130中,可根据排行需求确定结束时刻T1和起始时刻T2,且结束时刻和起始时刻之间的差为预设时间间隔T,排行需求可以是来自于用户的客户端,通过用户操作客户端的界面获得,也可以是由执行该数据统计信息处理方法的执行主体(例如,服务器)根据预先的设置自动生成,该排行需求可以包括多种类型,例如,网上销售某种产品的每周销售量,网络直播过程中各主播的每天粉丝数量等。预设间隔时间可以是预先设置好的,间隔时间可根据需要设置,例如,间隔时间为一个小时、一周、一个月或者一年等,该间隔时间设置好后即为确定的时间间隔。
由采用实时进程生成的于第一累加值序列包括截至最新统计时刻t的各时刻和与各时刻对应的目标时刻的累加值,因此,根据获取的结束时刻T1可从第一累加值序列中直接获取与结束时刻对应的累加值s1,同理,根据起始时刻T2可从采用延时进程生成的第二累加值序列中直接获取与起始时刻对应的累加值s2,由于结束时刻对应的累加值s1是截至结束时刻产生的目标数据的累加值,起始时刻对应的累加值s2是截至起始时刻产生的目标数据的累加值,因此,s1和s2二者之间的差值,即为目标数据在统计需求时段内的累加值,也就是在排行需求时段内的目标数据的累加值。
由上述实施例提供的方法可知,目标数据的累加值随着目标数据的产生依次记录下来,记录的结果是后续目标数据统计阶段进行统计的基础,在确定排行需求的起始时刻和结束时刻后,可直接从已经记录的第一累加值序列和第二累加值序列中获得排行需求时段内目标数据的累加值,而不需要对排行需求时段内包含的各个目标数据进行累加值的计算,提高了计算的速度,由于在短时间内(例如统计需求时段内)通常会产生百万级甚至更大数据量的目标数据,因此,本实施例的方法可以很大程度提高计算速度,可满足实时的对目标数据的统计需求。并且,本实施的方法中通过两个进程计算累加值,即通过实时进程生成第一累加值序列,通过延时进程生成第二累加值序列,第一累加值序列记录截至最新统计时刻t的累加值,第二累计值序列记录截至t-T统计时刻的累加值,通过两个进程获取的累加值不会互相干扰,可提高计算的准确度。
在一个可选的实施方式中,上述的实时进程和延时进程并行运算,这样可以并行的同步获取两个时刻的累加值,进一步的提高计算速度。
在一个可选的实施方式中,如图2所示,上述步骤110所述的采用实时进程生成第一累加值序列之前,还包括以下步骤:
步骤100、接收各时刻产生的目标数据生成目标数据队列。
本实施例中,可将目标数据存储在目标数据队列中,每当有新增目标数据都会将其写入该目标数据队列中,因此,目标数据队列为包括各个时刻产生的目标数据,各目标数据可按照目标数据产生的时间顺序排列,在采用实时进程生成第一累加值序列时,目标数据队列可按照目标数据产生的时间顺序,实时将新增的目标数据推送给计算第一累加值序列中各时刻累计值的实时进程,这样,在上一时刻的目标数据的累加值基础上,实时进程可实时获取到新增目标数据,据此实时计算最新统计时刻的目标数据的累加值。
目标数据队列可存储在执行该信息处理方法的执行主体(例如服务器或者任何具有计算功能的计算机)的存储介质中,或者存储在执行主体的缓存中这样更加方便调用该目标数据队列中的数据,提高计算速度。
在一些可选的实施方式中,目标数据队列中的目标数据可按照时间顺序排列,目标数据为有序的数据,这样在实时进程和延时进程从目标数据队列中获取新增目标数据时,可以更加有效快速的获取到,进一步提高对业务数据的排行处理速度。
在一个可选的实施方式中,如图2所示,上述步骤110所述的采用实时进程生成第一累加值序列,具体可以包括以下步骤:
步骤111、按照所述目标数据的产生时间顺序,从目标队列中实时获取产生的新增目标数据;
步骤112、根据上一时刻的目标数据的累加值及实时获取的新增目标数据计算下一时刻的目标数据的累加值;
步骤113、依次记录包括最新统计时刻t的各时刻及各时刻对应的目标数据的累加值,生成第一累加值序列。
本实施例中,目标数据队列中包括各个时刻产生的目标数据,在生成第一累加值序列时,可按照目标数据产生的时间顺序,依次从目标数据队列获取新增的目标数据,这样,在上一时刻的目标数据的累加值基础上可通过实时获取的新增目标数据,实时获得最新统计时刻的目标数据的累加值。
根据上一时刻的目标数据累计值和新增的目标数据计算下一时刻的目标数据累加值,即各时刻的累加值是在原来累加值基础上获得,只需要在原来累加值基础上累加新增数据记录的值即可得到下一时刻的目标数据的累加值,新增目标数据即为上一时刻至下一时刻之间的时段产生的目标数据,并且,随着新增目标数据的产生实时获取,可通过计算较小数量的新增目标数据获得包括最新统计时刻的各时刻的目标时刻累加值,进一步提高计算速度,增加数据计算的实时性。
在另一些可选的实施方式中,如图2所示,上述步骤120所述的采用延时进程生成第二累加值序列,具体可以包括以下步骤:
步骤121、按照目标数据的产生时间顺序,从目标数据队列中比最新统计时刻延时预设时间间隔获取产生的新增目标数据;
步骤122、根据与最新统计时刻t间隔预设时间间隔T的上一时刻的目标数据的累加值,及延时预设时间间隔获取的新增目标数据计算下一时刻的目标数据的累加值;
步骤123、依次记录包括最新统计时刻的预设时间间隔之前时刻t-T的各时刻及各时刻对应的目标数据的累加值,生成第二累加值序列。
本实施例中,通过从目标数据队列中比最新统计时刻延时预设时间间隔获取产生的新增目标数据,使第二累加值序列中的各时刻的目标数据的累加值不包括最新统计时刻之前的预设时间间隔的时刻至最新统计时刻产生的目标数据。
与上述第一累加值序列的生成方式类似,根据上一时刻的目标数据累计值和新增的目标数据计算下一时刻的目标数据累加值,即各时刻的累加值是在原来累加值基础上获得,与第一累加值序列计算方式不同是,在生成第二累加值序列时,新增目标数据不是实时获取的,而是比第一累加值序列中获取的新增目标数据的时刻延时预设时间间隔,这样可以保证第二累加值序列中各个时刻是比第一累加值序列中的各时刻早预设时间间隔,即第二累加值序列中的各时刻的目标数据的累加值不包括最新统计时刻之前的预设时间间隔的时刻至最新统计时刻产生的目标数据。
在一个可选的实施方式中,上述步骤160所述的计算结束时刻对应累加值与起始时刻对应的累加值之间的差值,得到目标数据在排行需求时段内的累加值,具体可以包括:
分别计算与各用户标识对应的结束时刻对应累加值与起始时刻对应的累加值之间的差值,得到多个与用户标识对应的目标数据在排行需求时间段内的累加值。
在一个可选的实施方式中,在上述所述的得到多个与用户标识对应的目标数据在排行需求时间段内的累加值,之后还包括:
步骤170、对各用户标识对应的目标数据在排行需求时间段内的累加值进行排序。
本实施方式中,目标数据通常包括用户标识和数据内容,可分别计算与各用户标识对应的结束时刻T1对应的累加值s1与起始时刻T2对应的累加值s2的差值,因此,可以得到多个与用户标识对应的目标数据在排行需求时间段内的累加值,进而可通过对各累加值的排序,生成累加值排行榜,通过实时累加目标数据的累加值的方式,累加的新增数据记录可能只会影响某个用户标识对应的目标数据累计值,可在旧排行榜基础上通过较小的运算计算出新的排行榜,不需要每次都要重新计算统计需求时段内的各个目标数据的累计值,从而达到实时排行的效果。
本发明实施例还提供一种机器可读存储介质,存储有机器可执行指令,在被处理器调用和执行时,机器可执行指令促使所述处理器上述实施例所述的业务数据排行处理方法。
该机器可读存储介质可以为非易失性存储器(比如硬盘或者磁盘)等,该存储介质可以存储机器可执行指令,可将该存储介质应用在各种终端上,该终端例如,可以是个人计算机,服务器,移动终端或者平板电脑等,终端可以包括处理器,处理器可以将存储介质中的可执行指令读入内存中然后运行以执行上述的方法。
上述实施例提供的业务数据排行处理方法可以应用于各种需要对业务数据进行统计的场景中,例如,通过上述实施例所述的方法对网上销售产品的销售量进行统计生成销售量排行榜,对网络节目的收视率进行统计生成收视率排行榜,对网上直播的主播热度进行统计生成主播热度排行榜,对网上音乐作品点击率进行统计生成点击率排行榜等。下面以直播场景为例,说明上述实施例提供的数据统计信息处理方法的工作流程。
以下以直播场景为例,说明本发明实施例提供的业务数据排行处理方法的工作流程,在直播场景下,本申请实施例以图3所示的一种网络架构为例说明,该网络中包括服务端和若干个终端。
其中,上述服务端,可以称为后台服务器,可以包括服务器,服务器集群或者云平台。主要用于接收终端发送的相关数据、对数据进行处理、处理相关业务请求等进行相应地业务处理等操作,例如,验证用户的权限、为用户推送相应的直播数据和排行榜信息等。
上述终端,可以是具有网络直播功能的智能终端,例如,可以是智能手机、平板电脑、PDA(Personal Digital Assistant,个人数字助理))、多媒体播放器、可穿戴设备等。在直播网络架构中,终端可以分为主播终端和用户终端。主播终端内安装有主播客户端,主播客户端可以是一种直播应用软件,例如“YY直播”,用户终端内安装有用户客户端,例如“YY直播”,上述主播客户端与用户客户端,通常具有面向用户或者主播的界面,用户和主播可以通过该界面进行相应地操作,主播可通过其客户端的界面进行直播,并与用户进行互动,用户可通过其客户端的界面观看主播直播的视频,并与主播进行互动等。上述主播客户端与用户客户端可以是同一直播应用软件上集成的两个子模块,也可以是两个不同的直播应用软件。在这里,不对其进行具体地限定。上述主播客户端和用户客户端可以包括Web客户端、移动客户端等。
主播与用户在交互过程中会产生大量的数据记录,这些数据记录可发送给服务端,并且服务端可接收到各客户端发送的数据记录,并可存储在服务端的后台服务器的存储介质中,例如,硬盘或者磁盘等,后台服务器可对接收到的这些数据记录进行存储并对这些数据记录进行处理,执行上述实施例提供的方法,具体过程如下:
步骤1、主播通过客户端进行直播,用户通过其客户端观看直播,在直播过程中主播和用户进行互动或者交互,产生多条数据记录;
步骤2、服务端接收到多个客户端发送的各数据记录,这些数据记录可以包括身份标识和与身份标识对应的数据内容,身份标识可以是发送数据记录的用户的登录账号等,数据内容可以是发送的具体内容,例如,用户发送给主播的打赏数量。
对于这些数据记录可按照一定的规则进行分类统计处理,例如,将这些数据记录分成多个类别,每个类别的数据记录包含多条数据记录,对于每个类别的数据记录可作为目标数据。
对于目标数据,服务端的后台服务器可存储在存储介质中,或者将最近某段时间的目标数据缓存在内存或者临时缓存中。
可按照目标数据的产生时间对各目标数据进行排序或者按照目标数据的产生时间依次接收各目标数据,生成按照时间顺序排列的目标数据队列;
目标数据可以为各种类型的数据记录,例如,在直播过程中,用户送给主播的打赏记录,这些目标数据包括各个时间点的用户发送给主播的打赏记录。
步骤3、采用实时进程生成第一累加值序列,第一累加值序列包括依次记录的目标数据截至最新统计时刻t的累加值;
针对上述的目标数据队列中的各目标数据计算累加值(例如,计算各打赏记录的打赏数量之和,打赏数量例如可以是金豆数量),可以按照目标数据的产生时间,目标数据队列将产生的目标数据进行推送,可通过两个进程计算累加值,从而得到第一累加值序列和第二累加值序列,可将目标数据实时的推送给实时进程,实时进程实时对接收到的新增目标数据进行累加,进而生成第一累加值序列。
例如,当前的目标数据队列中的目标数据包括用户A给主播的打赏记录,每条打赏记录的打赏数量分别为:S1,S2,S3,S4,S5,S6,其中,S1,S2,S3,S4,S5,S6是截止统计时刻t1的各时刻产生的打赏记录的打赏数量,S1,S2,S3是截至t1-T统计时刻的各时刻产生的打赏记录的打赏数量,S4,S5和S6是预设时间间隔T内产生新增的打赏记录的打赏数量。
目标数据队列将新增的打赏记录实时的推送给实时进程,实时进程根据上一时刻t0的打赏记录的累加值Sa0和新增的打赏记录对应的打赏数量S4,S5,S6计算下一时刻t1的打赏记录的累加值Sa1=Sa0+S4+S5+S6,其中Sa0=S1+S2+S3,随着时间推移,截止时刻t2,目标数据队列中新增的打赏记录,此时,目标数据队列将新增的打赏记录推送给实时进程,实时进程根据上一时刻t1的打赏记录的累加值Sa1和新增的打赏记录的打赏数量S7,S8,S9计算下一时刻t2的打赏记录的累加值Sa2=Sa1+S7+S8+S9,依次类推,计算截止最新统计时刻t的各个时刻的打赏记录的累加值Sa3,Sa4,Sa5,…,Sam,各时刻的打赏记录的累加值即为用户A给主播的打赏总数量,依次记录各时刻的打赏记录的累加值,生成第一累加值序列,具体可以为下述的表格形式:
时刻 | 累加值 |
t0 | Sa1 |
t1 | Sa1 |
t2 | Sa2 |
t3 | Sa3 |
t4 | Sa4 |
… | … |
tm | Sam |
步骤4、采用延时进程生成第二累加值序列,第二累加值序列包括依次记录的目标数据截至t-T统计时刻的累加值;
延时进程计算目标数据截至最新统计时刻的预设时间间隔之前时刻t-T的累加值,目标数据队列延时预设时间间隔T将新增的目标数据推送给延时进程,进而生成第二累加值序列。
延时进程根据上一时刻的目标数据的累加值和延时预设时间间隔T获取的新增数据记录计算下一时刻的目标数据的累加值,由于新增的数据记录延时时间间隔T推送给延时进程,因此,时刻t1-T的打赏记录的累加值Se1=S1+S2+S3(即Sa0),在时刻t2-T,目标数据队列将新增的打赏记录推送给延时进程,延时进程根据上一时刻t1-T打赏记录的累加值Se1和延时时间间隔T接收的新增的打赏记录对应的打赏数量S4,S5,S6,计算下一时刻t2-T打赏记录的累加值Se2=Se1+S4+S5+S6,依次类推,计算各个时刻的打赏记录的累加值Se3,Se4,Se5,…,Sem,截止t-T统计时刻包括上述各个累加值,依次记录各时刻累加值,生成第二累加值序列,具体可以可以为下述的表格形式:
步骤5、根据排行需求,确定排行需求时段对应的结束时刻T1和起始时刻T2,其中T1-T2=T;
排行需求例如是统计时间段[T2,T1]内的用户A给主播的打赏总数量,可根据排行需求确定出排行需求时段对应的结束时刻T1和起始时刻T2。
步骤6、从第一累加值序列中,获取结束时刻T1对应的累加值;
步骤7、从第二累加值序列中,获取起始时刻T2对应的累加值;
可根据结束时刻T1从上述的第一累加值序列中查找结束时刻T1对应的累加值,根据起始时刻T2从上述的第一累加值序列中查找起始时刻T2对应的累加值,例如,结束时刻T1对应上述时刻t1,起始时刻T2对应上述时刻t1-T,则结束时刻T1的累加值为Sa1,起始时刻T2的累计值为Se1。
步骤8、计算结束时刻的累加值和起始时刻的累加值的差值,得到目标数据在统计需求时段内的累加值。
计算Sa1-Se1,得到的结果即为统计时间段[T1,T2]用户A给主播的打赏记录的累加值,也就是用户A给主播的打赏总数量。
上述是计算用户A给主播的打赏记录的累加值,可根据上述过程计算各个用户给主播的打赏记录的累加值,然后根据累加值的大小进行排序,得到各用户送给主播的打赏总数量的排行信息,服务端的服务器可将该排行信息发送给用户终端和主播终端。
例如,图3中所示的,排行需求为用户贡献每周排行榜,服务器将按照上述方法计算用户A、用户B、用户C、用户D和用户E对应的送出金豆总数量,然后根据金豆总数量的大小进行排序,得到排行信息,服务器可将排行信息发送给用户终端和主播终端,进而可以在用户终端的界面和主播终端的界面上显示上述各用户送出金豆数量的排行信息,得到用户贡献每周排行榜。
上述实施例只是以直播场景,以某种特定类型目标数据,即用户发送给主播的打赏记录,最终得到各用户送给主播的打赏总数量的排行信息为例说明,本发明实施例提供的数据统计信息处理方法的工作流程,但是本发明提供的方法并不限于直播场景,可以应用在其他各种业务中,得到各种所需的排行信息。
本领域技术人员可以理解附图只是一个优选实施例的示意图,附图中的模块或流程并不一定是实施本发明所必须的。以上所述仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。本发明的保护范围应以所述权利要求的保护范围为准。
Claims (10)
1.一种业务数据排行处理方法,用于计算目标数据在预设时间间隔内的累加值,其特征在于,所述方法包括:
采用实时进程生成第一累加值序列,所述第一累加值序列包括依次记录的目标数据截至最新统计时刻的累加值;
采用延时进程生成第二累加值序列,所述第二累加值序列包括依次记录的目标数据截至最新统计时刻的预设时间间隔之前时刻的累加值;
根据排行需求,确定排行需求时段对应的结束时刻和起始时刻,其中结束时刻与起始时刻之间间隔所述预设时间间隔;
从第一累加值序列中,获取结束时刻对应的累加值;
从第二累加值序列中,获取起始时刻对应的累加值;
计算结束时刻对应累加值与起始时刻对应的累加值之间的差值,得到目标数据在排行需求时段内的累加值。
2.根据权利要求1所述的方法,其特征在于,所述实时进程和所述延时进程并行运算。
3.根据权利要求1或2所述的方法,其特征在于,在所述采用实时进程生成第一累加值序列之前,还包括:
接收各时刻产生的目标数据生成目标数据队列。
4.根据权利要求3所述的方法,其特征在于,所述采用实时进程生成第一累加值序列,具体包括:
按照所述目标数据的产生时间顺序,从所述目标队列中实时获取产生的新增目标数据;
根据上一时刻的目标数据的累加值及实时获取的所述新增目标数据计算下一时刻的目标数据的累加值;
依次记录包括最新统计时刻的各时刻及各时刻对应的目标数据的累加值,生成第一累加值序列。
5.根据权利要求3所述的方法,其特征在于,所述采用延时进程生成第二累加值序列,具体包括:
按照所述目标数据的产生时间顺序,从所述目标数据队列中比所述最新统计时刻延时预设时间间隔获取产生的新增目标数据;
根据与最新统计时刻间隔预设时间间隔的上一时刻的目标数据的累加值,及延时预设时间间隔获取的所述新增目标数据计算下一时刻的目标数据的累加值;
依次记录包括最新统计时刻的预设时间间隔之前时刻的各时刻及各时刻对应的目标数据的累加值,生成第二累加值序列。
6.根据权利要求1或2所述的方法,其特征在于,
所述计算结束时刻对应累加值与起始时刻对应的累加值之间的差值,得到目标数据在排行需求时段内的累加值,具体包括:
分别计算与各用户标识对应的结束时刻对应累加值与起始时刻对应的累加值之间的差值,得到多个与用户标识对应的目标数据在排行需求时间段内的累加值。
7.根据权利要求6所述的方法,其特征在于,在所述得到多个与用户标识对应的目标数据在排行需求时间段内的累加值,之后还包括:
对各用户标识对应的目标数据在排行需求时间段内的累加值进行排序。
8.根据权利要求1或2所述的方法,其特征在于,所述目标数据为直播中用户与主播互动产生的数据记录。
9.根据权利要求8所述的方法,其特征在于,所述目标数据的累加值包括以下至少之一:用户给主播的打赏总数量、主播的粉丝总数量或用户总数量、用户送出的打赏总数量。
10.一种机器可读存储介质,其特征在于,存储有机器可执行指令,在被处理器调用和执行时,所述机器可执行指令促使所述处理器执行权利要求1-9任一项所述的业务数据排行处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710606286.1A CN107391681A (zh) | 2017-07-24 | 2017-07-24 | 业务数据排行处理方法和机器可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710606286.1A CN107391681A (zh) | 2017-07-24 | 2017-07-24 | 业务数据排行处理方法和机器可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107391681A true CN107391681A (zh) | 2017-11-24 |
Family
ID=60337059
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710606286.1A Pending CN107391681A (zh) | 2017-07-24 | 2017-07-24 | 业务数据排行处理方法和机器可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107391681A (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108549596A (zh) * | 2018-04-28 | 2018-09-18 | 努比亚技术有限公司 | 一种累计用户的统计方法、装置及计算机可读存储介质 |
CN108984287A (zh) * | 2018-07-06 | 2018-12-11 | 武汉斗鱼网络科技有限公司 | 一种滑动榜单处理方法、装置、设备及介质 |
CN109348249A (zh) * | 2018-12-06 | 2019-02-15 | 广州酷狗计算机科技有限公司 | 确定数字专辑的用户获取数量的方法、装置及存储介质 |
CN110136452A (zh) * | 2018-02-08 | 2019-08-16 | 杭州海康威视数字技术股份有限公司 | 一种车辆统计方法及装置 |
CN110609967A (zh) * | 2018-05-28 | 2019-12-24 | 腾讯科技(深圳)有限公司 | 一种榜单生成方法、装置及存储介质 |
CN112749854A (zh) * | 2019-10-29 | 2021-05-04 | 顺丰科技有限公司 | 业务量极限数据处理方法、装置、计算机设备和存储介质 |
CN114666625A (zh) * | 2022-04-08 | 2022-06-24 | 海南车智易通信息技术有限公司 | 一种热门主播列表的生成方法、直播系统及计算设备 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105187279A (zh) * | 2015-09-28 | 2015-12-23 | 广东睿江科技有限公司 | 一种流量统计并实时排名的方法 |
CN105277783A (zh) * | 2015-07-31 | 2016-01-27 | 杭州赫智电子科技有限公司 | 一种用电信息数据的海量数据采集方法 |
-
2017
- 2017-07-24 CN CN201710606286.1A patent/CN107391681A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105277783A (zh) * | 2015-07-31 | 2016-01-27 | 杭州赫智电子科技有限公司 | 一种用电信息数据的海量数据采集方法 |
CN105187279A (zh) * | 2015-09-28 | 2015-12-23 | 广东睿江科技有限公司 | 一种流量统计并实时排名的方法 |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110136452A (zh) * | 2018-02-08 | 2019-08-16 | 杭州海康威视数字技术股份有限公司 | 一种车辆统计方法及装置 |
CN108549596A (zh) * | 2018-04-28 | 2018-09-18 | 努比亚技术有限公司 | 一种累计用户的统计方法、装置及计算机可读存储介质 |
CN110609967A (zh) * | 2018-05-28 | 2019-12-24 | 腾讯科技(深圳)有限公司 | 一种榜单生成方法、装置及存储介质 |
CN108984287A (zh) * | 2018-07-06 | 2018-12-11 | 武汉斗鱼网络科技有限公司 | 一种滑动榜单处理方法、装置、设备及介质 |
CN108984287B (zh) * | 2018-07-06 | 2020-10-16 | 武汉斗鱼网络科技有限公司 | 一种滑动榜单处理方法、装置、设备及介质 |
CN109348249A (zh) * | 2018-12-06 | 2019-02-15 | 广州酷狗计算机科技有限公司 | 确定数字专辑的用户获取数量的方法、装置及存储介质 |
CN112749854A (zh) * | 2019-10-29 | 2021-05-04 | 顺丰科技有限公司 | 业务量极限数据处理方法、装置、计算机设备和存储介质 |
CN112749854B (zh) * | 2019-10-29 | 2024-04-16 | 顺丰科技有限公司 | 业务量极限数据处理方法、装置、计算机设备和存储介质 |
CN114666625A (zh) * | 2022-04-08 | 2022-06-24 | 海南车智易通信息技术有限公司 | 一种热门主播列表的生成方法、直播系统及计算设备 |
CN114666625B (zh) * | 2022-04-08 | 2023-12-01 | 海南车智易通信息技术有限公司 | 一种热门主播列表的生成方法、直播系统及计算设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107391681A (zh) | 业务数据排行处理方法和机器可读存储介质 | |
Aguiar et al. | Platforms, promotion, and product discovery: Evidence from Spotify playlists | |
CN104662529B (zh) | 用于高性能分析的数据精炼引擎的系统和方法 | |
CN103823908B (zh) | 基于用户偏好的内容推荐方法和服务器 | |
CN107832437B (zh) | 音/视频推送方法、装置、设备及存储介质 | |
US9442987B2 (en) | Automatically generating music marketplace editorial content | |
CN102487456B (zh) | 用于提供网络视频访问热度的方法和装置 | |
CN109408665A (zh) | 一种信息推荐方法及装置、存储介质 | |
CN103678518B (zh) | 一种推荐列表调整方法和装置 | |
JP6362465B2 (ja) | 情報処理装置 | |
US9594758B2 (en) | Method and apparatuses for enabling recommendations | |
CN109511015B (zh) | 多媒体资源推荐方法、装置、存储介质及设备 | |
CN105100886B (zh) | 网络媒介信息的发布控制方法、及装置、服务器和系统 | |
TW201243628A (en) | Determination of recommendation data | |
CN102630052A (zh) | 面向实时流的电视节目推荐系统 | |
CN103136280A (zh) | 热点视频自动挖掘系统及方法 | |
CN110475155A (zh) | 直播视频热度状态识别方法、装置、设备及可读介质 | |
CN108595492A (zh) | 内容的推送方法和装置、存储介质、电子装置 | |
CN110223186A (zh) | 用户相似度确定方法以及信息推荐方法 | |
CN110363604A (zh) | 页面生成方法和装置 | |
CN108475381A (zh) | 用于媒体内容的表现的直接预测的方法和设备 | |
CN111970150A (zh) | 日志信息的处理方法、装置、服务器及存储介质 | |
CN115660782A (zh) | 场景式商品推荐方法及其装置、设备、介质、产品 | |
US20180234732A1 (en) | Method and system for re-aggregation and optimization of media | |
JP5865880B2 (ja) | サービス提供装置、サービス提供方法及びサービス提供プログラム |
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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20171124 |