CN106407636B - 集成结果统计方法及装置 - Google Patents
集成结果统计方法及装置 Download PDFInfo
- Publication number
- CN106407636B CN106407636B CN201510465163.1A CN201510465163A CN106407636B CN 106407636 B CN106407636 B CN 106407636B CN 201510465163 A CN201510465163 A CN 201510465163A CN 106407636 B CN106407636 B CN 106407636B
- Authority
- CN
- China
- Prior art keywords
- integration result
- specified event
- statistical
- statistics
- specified
- 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.)
- Active
Links
Images
Landscapes
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种集成结果统计方法及装置,属于数据统计领域。所述方法包括:接收控制中心下发的对指定事件进行统计的统计规则;在生存时间段内,按照统计规则,对生存时间段内接收到的指定事件的数据进行统计,生成指定事件的局部集成结果;从外部存储设备中读取与指定事件对应的基准集成结果;将基准集成结果与局部集成结果进行合并计算,将计算得到的合并值替换指定事件的基准集成结果存储至外部存储设备中。本发明解决了在实时统计海量数据时,因按照海量数据设置固定的统计设备,导致浪费统计设备或导致统计设备挂机、崩溃等问题;达到了平衡了高峰期和非高峰期的资源消耗差异,降低了复杂操作的频率和资源消耗的效果。
Description
技术领域
本发明涉及数据统计领域,特别涉及一种集成结果统计方法及装置。
背景技术
随着大数据时代的来临,海量数据统计开始应用到越来越多的领域,而海量数据的实时统计更是吸引工业界的众多目光,从精确推荐,到实时监控等领域,都需要对实时到达的海量数据进行统计。
目前在设计用于统计海量数据的统计集群时,会按照预定方式来设置统计集群中的统计设备的数量。比如,以高峰期的数据量为标准来配置统计集群中统计设备的数量;或者,配置较少统计设备,在高峰期丢弃一部分的数量以保障统计集群的正常运行。
在实现本发明的过程中,发明人发现现有技术至少存在以下问题:当以高峰期的数据量为标准来配置统计集群中统计设备的数量时,会造成统计设备的浪费,而设置过少的统计设备时,在高峰期数据量急增的情况下,统计设备容易面临挂机、崩溃等一系列问题。
发明内容
为了解决现有技术中在实时统计海量数据时,因按照海量数据设置固定的统计设备,导致浪费统计设备或导致统计设备挂机、崩溃等问题,本发明实施例提供了一种集成结果统计方法及装置。所述技术方案如下:
第一方面,提供了一种集成结果统计方法,应用于统计集群系统中的统计设备中,所述统计集群系统还包括控制中心和外部存储设备,所述方法包括:
接收所述控制中心下发的对指定事件进行统计的统计规则;
在生存时间段内,按照所述统计规则,对所述生存时间段内接收到的所述指定事件的数据进行统计,生成所述指定事件的局部集成结果;
从所述外部存储设备中读取与所述指定事件对应的基准集成结果;
将所述基准集成结果与所述局部集成结果进行合并计算,将计算得到的合并值替换所述指定事件的所述基准集成结果存储至所述外部存储设备中。
可选的,所述在生存时间段内,按照所述统计规则,对所述生存时间段内接收到的所述指定事件的数据进行统计,生成所述指定事件的局部集成结果,包括:
在所述生存时间段内每接收到一个所述指定事件的数据,则利用所述统计规则定义的增量更新函数,对所述生存时间段内已经接收到的所述指定事件的所有数据进行实时统计,得到所述指定事件本次统计的局部集成结果;
利用所述指定事件本次统计得到的局部集成结果更新替换前次统计得到的局部集成结果,直到所述生存时间段结束。
可选的,所述在所述生存时间段内每接收到一个所述指定事件的数据,则利用所述统计规则定义的增量更新函数,对所述生存时间段内已经接收到的所述指定事件的所有数据进行实时统计,得到所述指定事件本次统计的局部集成结果,包括:
在所述生存时间段内每接收到一个所述指定事件的数据,将所述数据存储至所述统计设备的内存中;利用所述统计设备中的处理器实时读取所述内存中存储的所述指定事件的数据和前次存储的所述指定事件的局部集成结果,按照所述统计规则、读取的所述数据以及所述局部集成结果进行统计,得到所述指定事件本次统计的局部集成结果;
所述利用所述指定事件本次统计得到的局部集成结果更新替换前次统计得到的局部集成结果,包括:
将所述指定事件本次统计得到的局部集成结果更新替换内存中存储的所述指定事件前次统计得到的局部集成结果。
可选的,所述将所述基准集成结果与所述局部集成结果进行合并计算,将计算得到的合并值替换所述指定事件的所述基准集成结果存储至所述外部存储设备中,包括:
将所述指定事件的所述基准集成结果与所述生存时间段内结束时得到的指定事件的局部集成结果进行合并计算,得到与所述生存时间段对应的指定事件的局部集成结果;
向所述外部存储设备发送存储指令,所述存储指令携带于所述生存时间段对应的所述指定事件的局部集成结果,所述存储指令用于触发所述外部存储设备利用所述指定事件的局部集成结果替换与所述指定事件对应的基准集成结果。
可选的,在所述将计算得到的合并值替换所述指定事件的所述基准集成结果存储至所述外部存储设备中之后,还包括:
将所述统计设备的内存中存储的所述指定事件的局部集成结果设置为初始值。
第二方面,提供了一种集成结果统计装置,应用于统计集群系统中的统计设备中,所述统计集群系统还包括控制中心和外部存储设备,所述装置包括:
接收模块,用于接收所述控制中心下发的对指定事件进行统计的统计规则;
统计模块,用于在生存时间段内,按照所述接收模块接收到的所述统计规则,对所述生存时间段内接收到的所述指定事件的数据进行统计,生成所述指定事件的局部集成结果;
读取模块,用于从所述外部存储设备中读取与所述指定事件对应的基准集成结果;
存储模块,用于将所述读取模块读取的所述基准集成结果与所述统计模块统计得到的所述局部集成结果进行合并计算,将计算得到的合并值替换所述指定事件的所述基准集成结果存储至所述外部存储设备中。
可选的,所述统计模块,包括:
统计单元,用于在所述生存时间段内每接收到一个所述指定事件的数据,则利用所述统计规则定义的增量更新函数,对所述生存时间段内已经接收到的所述指定事件的所有数据进行实时统计,得到所述指定事件本次统计的局部集成结果;
替换单元,用于利用所述指定事件本次统计得到的局部集成结果更新替换前次统计得到的局部集成结果,直到所述生存时间段结束。
可选的,所述统计单元,包括:
存储子单元,用于在所述生存时间段内每接收到一个所述指定事件的数据,将所述数据存储至所述统计设备的内存中;统计子单元,用于利用所述统计设备中的处理器实时读取所述内存中存储的所述指定事件的数据和前次存储的所述指定事件的局部集成结果,按照所述统计规则、读取的所述数据以及所述局部集成结果进行统计,得到所述指定事件本次统计的局部集成结果;
所述替换单元,还用于:
将所述指定事件本次统计得到的局部集成结果更新替换内存中存储的所述指定事件前次统计得到的局部集成结果。
可选的,所述存储模块,包括:
计算单元,用于将所述指定事件的所述基准集成结果与所述生存时间段内结束时得到的指定事件的局部集成结果进行合并计算,得到与所述生存时间段对应的指定事件的局部集成结果;
发送单元,用于向所述外部存储设备发送存储指令,所述存储指令携带于所述生存时间段对应的所述指定事件的局部集成结果,所述存储指令用于触发所述外部存储设备利用所述指定事件的局部集成结果替换与所述指定事件对应的基准集成结果。
可选的,所述装置还包括:
设置模块,用于将所述统计设备的内存中存储的所述指定事件的局部集成结果设置为初始值。
本发明实施例提供的技术方案带来的有益效果是:
通过在统计设备中实时统计生存时间段内指定事件的局部集成结果,并将局部集成结果与外部存储设备中预先得到的该指定事件的基准集成结果进行合并计算,将合并计算得到的合并值替换外部存储设备中该指定事件的基准集成结果;由于可以将指定事件的统计分为两个过程,在统计设备中进行轻量级统计,对海量数据进行定期合并,控制了数据流量,平衡了高峰期和非高峰期的资源消耗差异,因此可以解决在实时统计海量数据时,因按照海量数据设置固定的统计设备,导致浪费统计设备或导致统计设备挂机、崩溃等问题;达到了在对海量数据进行实时统计时,平衡了高峰期和非高峰期的资源消耗差异,降低了复杂操作的频率和资源消耗的效果。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明部分实施例中提供的集成结果统计方法所涉及的实施环境的示意图;
图2是本发明一个实施例中提供的集成结果统计方法的方法流程图;
图3A是本发明另一个实施例中提供的集成结果统计方法的方法流程图;
图3B是本发明另一个实施例中提供的集成结果统计方法的方法流程图;
图3C是本发明一个实施例中提供的幂律函数的分布示意图;
图4是本发明一个实施例中提供的集成结果统计装置的结构示意图;
图5是本发明另一个实施例中提供的集成结果统计装置的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
图1是本发明部分实施例中提供的集成结果统计方法所涉及的实施环境的示意图,该实施环境为集成结果统计方法所涉及的统计集群系统,该统计集群系统包括控制中心110、统计设备120和外部存储设备130。
控制中心110可以用于调控流向至各个统计设备120的数据类型,比如可以将部分账号所对应的流量数据调控流向至其中一个统计设备120,将另一部账号所对应的流量数据调控流向至其中一个统计设备120。
或者,控制中心110还可以根据事件将与事件相关的数据调控至统计设备120中的至少一个统计设备中。比如,将对某个新闻的浏览事件所产生的数据调控至其中至少一个统计设备120中。
也就是说,根据控制中心110的调控,统计设备120所获取的数据可以是同一个事件所产生的数据,也可以是不同事件所产生的数据,一个统计设备120中可以获取至少一个事件所产生的数据,不同统计设备120之间所获取的数据可以对应同一个事件,也可以对应不同事件。
这里所讲的事件可以由用户账号、访问时刻、访问网址、访问类型等因素决定。
统计设备120可以与指定事件所产生的数据进行预统计,并将统计结果发送至外部存储设备130进行存储。
统计设备120可以通过有线网络方式或无线网络方式与外部存储设备130连接。
统计设备120还可以从外部存储设备130读取相关数据。
请参见图2所示,其是本发明一个实施例中提供的集成结果统计方法的方法流程图,该集成结果统计方法主要以应用于图1所示实施环境中的统计设备120中进行举例说明。该集成结果统计方法可以包括如下步骤:
步骤201,接收控制中心下发的对指定事件进行统计的统计规则。
统计规则可以根据实际需要对统计的指定事件的统计值进行限定,比如统计规则可以用于限定统计指定事件产生的总数量,也可以用于限定平均1小时内产生指定事件的平均次数,也可以用于限定平均每小时内产生指定事件的最大次数等。本实施例对统计规则的具体限定内容不进行限定。
指定事件可以由用户账号、访问时刻、访问网址、访问类型等因素决定。
指定事件的统计值可以为总访问数量、平均访问量、最大访问量、最小访问量等。
步骤202,在生存时间段内,按照统计规则,对生存时间段内接收到的指定事件的数据进行统计,生成指定事件的局部集成结果。
生存时间段可以根据实际的统计设备中处理器的运算能力、统计设备中内存的存储空间以及统计要求中的至少一种进行限定,比如可以将生存时间段定义为5s或10s等,本实施例对生存时间段的具体取值不进行限定。
步骤203,从外部存储设备中读取与该指定事件对应的基准集成结果。
当统计设备尚未针对指定事件生成过局部集成结果,则外部存储设备中与该指定事件对应的基准集成结果则为空;当统计设备统计过该指定事件的局部集成结果并存储至外部存储设备中时,被存储至外部存储设备中的该指定事件的局部集成结果即作为该指定事件的基准集成结果。
步骤204,将该基准集成结果与该局部集成结果进行合并计算,将计算得到的合并值替换该指定事件的基准集成结果存储至外部存储设备中。
将该基准集成结果与该局部集成结果进行合并计算时,也是根据统计规则所限定的方式进行合并计算的,比如当统计规则为求该指定事件产生的总访问量,则可以将获取的该指定事件的基准集成结果加上与最新统计出的局部集成结果,得到的和值即作为该指定事件最新的基准集成结果,并利用该最新计算得到的该指定事件的基准集成结果替换外部存储设备中该指定事件的原始的基准集成结果。
综上所述,本发明实施例提供的集成结果统计方法,通过在统计设备中实时统计生存时间段内指定事件的局部集成结果,并将局部集成结果与外部存储设备中预先得到的该指定事件的基准集成结果进行合并计算,将合并计算得到的合并值替换外部存储设备中该指定事件的基准集成结果;由于可以将指定事件的统计分为两个过程,在统计设备中进行轻量级统计,对海量数据进行定期合并,控制了数据流量,平衡了高峰期和非高峰期的资源消耗差异,因此可以解决在实时统计海量数据时,因按照海量数据设置固定的统计设备,导致浪费统计设备或导致统计设备挂机、崩溃等问题;达到了在对海量数据进行实时统计时,平衡了高峰期和非高峰期的资源消耗差异,降低了复杂操作的频率和资源消耗的效果。
请参见图3A所示,其是本发明另一个实施例中提供的集成结果统计方法的方法流程图,该集成结果统计方法主要以应用于图1所示实施环境中的统计设备120中进行举例说明。该集成结果统计方法可以包括如下步骤:
步骤301,接收控制中心下发的对指定事件进行统计的统计规则。
统计规则可以根据实际需要对统计的指定事件的统计值进行限定,比如统计规则可以用于限定统计指定事件产生的总数量,也可以用于限定平均1小时内产生指定事件的平均次数,也可以用于限定平均每小时内产生指定事件的最大次数等。本实施例对统计规则的具体限定内容不进行限定。
指定事件可以由用户账号、访问时刻、访问网址、访问类型等因素决定。
指定事件的统计值可以为总访问数量、平均访问量、最大访问量、最小访问量等。
在实际应用中,控制中心想要其中一个或部分统计设备对某个指定事件进行相关统计时,可以向这些调控该指定事件的数据发送至这些统计设备中,并可以向这些指定设备发送对指定事件进行统计的统计规则。对应的,统计设备可以接收到控制中心下发的统计规则以及可以接收到由控制中心调控后的数据。
在实际应用中,为了尽快提高实时计算的效果,且保证计算的轻量级,统计设备可以利用combinerMap做初步的处理和集成,由于combinerMap直接存储在统计设备的内存中,数据在combinerMap中的集成处理属于轻量级操作,对资源消耗非常少。
步骤302,在生存时间段内每接收到一个该指定事件的数据,则利用该统计规则定义的增量更新函数,对该生存时间段内已经接收到的该指定事件的所有数据进行实时统计,得到该指定事件本次统计的局部集成结果。
这里所讲的生存时间段可以根据实际的统计设备中处理器的运算能力、统计设备中内存的存储空间以及统计要求中的至少一种进行限定,比如可以将生存时间段定义为5s或10s等,本实施例对生存时间段的具体取值不进行限定。
在利用统计设备的combinerMap(即集成统计的第一层)进行集成时,combinerMap通常具有一定的生存时间段,当生存时间段到期后,combinerMap会产生根据统计规则产生指定事件的局部集成结果,局部集成结果往往可以比原始数据的数量减少几倍甚至几十倍,用于表示局部集成结果的数据将对应进入外部存储设备(即集成统计的第二层)处理,以执行一些资源消耗相对大的操作,比如与基于内存的K-V存储进行交互更新存储结果等,或由网络分发数据流,进入下一计算单元。
可选的,指定事件的局部集成结果可以用于K-V表示,其中K为指定事件的事件标识,V为统计出的该指定事件的统计值。
这里的增量更新函数可以是加操作、减操作、取最大值操作、取最小值操作、求平均操作等,本实施例对增量更新函数的具体计算不进行限定。
需要说明的一点是,统计设备在增量更新函数进行计算时,是对生存时间段内已经接收到的所有数据进行增量更新计算。举例来讲,当增量更新函数为求平均计算时,当生存事件段内接收到的100个数据的平均值为20,则在接收到第101个数据为22时,则利用增量更新函数得到的平均值为:(100*20+22)/101=20.02,而不是计算平均值22与第101个数据22之间的平均值。
统计设备在根据统计规则所限定的增量更新函数对指定事件进行统计时,可以包括如下步骤:
第一,在生存时间段内每接收到一个该指定事件的数据,将该数据存储至该统计设备的内存中。
在生存时间段内,每接收到一个该指定事件的数据,统计设备均会将接收到该指定事件的数据存储至该统计设备的内存中。
第二,利用统计设备中的处理器实时读取内存中存储的该指定事件的数据和前次存储的该指定事件的局部集成结果,按照该指定事件的统计规则、读取的该指定事件的数据以及该指定事件的局部集成结果进行统计,得到该指定事件本次统计的局部集成结果。
对应的,统计设备中处理器则会实时读取内存中存储的该指定事件的数据,并读取出前次计算得到的该指定事件的局部集成结果,按照该指定事件的统计规则所限定的增量更新函数,以读取的该指定事件的数据以及前次计算的该指定事件的局部集成结果为参数,计算得到该指定事件本次统计的局部集成结果。
需要说明的是,当内存中不存在前次存储的该指定事件的局部集成结果时,则可以默认将该指定事件的前次局部集成结果设置为0。
一般的,在针对某个预定时间段对指定事件进行局部集成结果的统计时,可以在统计之前,设置先初始化该指定事件的局部集成结果,比如将该指定事件的局部集成结果设置为0,然后执行步骤302。
步骤303,利用该指定事件本次统计得到的局部集成结果更新替换前次统计得到的局部集成结果,直到该生存时间段结束。
利用该指定事件本次统计得到的局部集成结果更新替换前次统计得到的局部集成结果时,可以将该指定事件本次统计得到的局部集成结果更新替换内存中存储的该指定事件前次统计得到的局部集成结果。
也就是说,利用本次计算得到的该指定事件的局部集成结果替换内存中原有的该指定事件的局部集成结果,并存储至该统计设备的内存中。这样,在一个预定时间段内,该统计设备的内存中针对该指定事件仅存储最后生成的局部集成结果。
步骤304,将该指定事件的基准集成结果与该生存时间段内结束时得到的指定事件的局部集成结果进行合并计算,得到与该生存时间段对应的指定事件的局部集成结果。
当统计设备尚未针对指定事件生成过局部集成结果,则外部存储设备中与该指定事件对应的基准集成结果则为空;当统计设备统计过该指定事件的局部集成结果并存储至外部存储设备中时,被存储至外部存储设备中的该指定事件的局部集成结果即作为该指定事件的基准集成结果。
将该基准集成结果与该局部集成结果进行合并计算时,也是根据统计规则所限定的方式进行合并计算的,比如当统计规则为求该指定事件产生的总访问量,则可以将获取的该指定事件的基准集成结果加上与最新统计出的局部集成结果,得到的和值即作为该指定事件最新的基准集成结果,并利用该最新计算得到的该指定事件的基准集成结果替换外部存储设备中该指定事件的原始的基准集成结果。
也就是说,将当前生存时间段内统计出的该指定事件的局部集成结果与已经存储至外部存储设备中该指定事件的局部集成结果(也即该指定事件的基准集成结果)进行合并计算,这里仍旧按照该指定事件的统计规则所限定的增量更新函数进行合并计算,得到该指定事件的合并后的局部集成结果。
步骤305,向外部存储设备发送存储指令,存储指令携带于该生存时间段对应的该指定事件的局部集成结果,该存储指令用于触发外部存储设备利用该指定事件的局部集成结果替换与该指定事件对应的基准集成结果。
由于存储指令中携带的指定事件的局部集成结果是由最后统计的预定时间段内的局部集成结果得到的,因此在利用统计设备进行统计集成时,每个预定时间段,仅需要向外部存储设备发送一次数据(即最新预定时间段内得到的局部集成结果与基准集成结果的合并值),可以大大降低统计设备与外部存储设备之间的带宽占用。
综上所述,本发明实施例提供的集成结果统计方法,通过在统计设备中实时统计生存时间段内指定事件的局部集成结果,并将局部集成结果与外部存储设备中预先得到的该指定事件的基准集成结果进行合并计算,将合并计算得到的合并值替换外部存储设备中该指定事件的基准集成结果;由于可以将指定事件的统计分为两个过程,在统计设备中进行轻量级统计,对海量数据进行定期合并,控制了数据流量,平衡了高峰期和非高峰期的资源消耗差异,因此可以解决在实时统计海量数据时,因按照海量数据设置固定的统计设备,导致浪费统计设备或导致统计设备挂机、崩溃等问题;达到了在对海量数据进行实时统计时,平衡了高峰期和非高峰期的资源消耗差异,降低了复杂操作的频率和资源消耗的效果。
在一种可能的实现方式中,请参见图3B所示,其是本发明另一个实施例中提供的集成结果统计方法的方法流程图,该集成结果统计方法还可以在步骤305之后,执行如下步骤306:
步骤306,将统计设备的内存中存储的该指定事件的局部集成结果设置为初始值。
也即,在完成一个生存时间段内的统计之后并将统计的局部集成结果成功合并至外部存储设备的基准集成结果上之后,统计设备还需要继续下一个生存时间段内的统计,此时则可以将统计设备内存中存储的该指定事件的局部集成结果清空,或者将该指定事件的局部集成结果进行初始化,比如设置为初始值,一般的初始值可以为0。
需要说明的是,相邻的两个生存时间段,在前生存时间段的结束时刻为在后时间段内的起始时刻。也即,相邻的两个生存时间段在时间上是连续的。
需要补充说明的是,在统计设备使用combinerMap计算指定事件的统计值时,必须要考虑到combinerMap的存储消耗,如果combinerMap过大的话,会直接造成统计设备(一般为worker)的内存不足而使统计设备挂机。
由于combinerMap中的每个指定事件的局部集成结果均只包含一个事件标识key和该事件的局部集成结果value,一般来说,事件标识和局部集成结果都是基本变量,大小是固定的,因此combinerMap所占内存大小主要取决于其中指定事件的局部集成结果的个数,此时常用的是通过限制combinerMap的大小来保证统计设备的内存使用。由此带来的一个需要考虑的问题就是被限定大小的combinerMap是否可以满足数据高峰期的使用。由理论依据power-law法则可知,被限定大小的combinerMap仍旧可以满足数据高峰期的使用。
这里所讲的Power-law法则是自然世界中普遍存在的法则,它表述了自然界的众多现象都符合幂率分布,存在长尾现象,如图3C所示。Power-law法则又称为80-20法则,针对本发明的具体应用场景,power-law法则可以表述为,在数据高峰期,虽然数据量急增,但是少部分(20%)的用户行为占据了整个的用户行为数据总量的大部分(80%);少部分(20%)的item(如新闻)占据了大部分(80%)的item行为数据总量。由于combinerMap的大小取决于元素key的多少,而key的多少一般取决于用户或item个数,与具体的行为数据量无关,因此,即便在数据高峰期,限定大小的combinerMap也可以对大部分的数据进行部分集成,有效降低资源消耗。
请参见图4所示,其是本发明一个实施例中提供的集成结果统计装置的结构示意图,该集成结果统计装置主要以应用于图1所示实施环境中的统计设备120中进行举例说明。该集成结果统计装置可以包括:接收模块410、统计模块420、读取模块430和存储模块440。
接收模块410,用于接收该控制中心下发的对指定事件进行统计的统计规则;
统计模块420,用于在生存时间段内,按照该接收模块410接收到的该统计规则,对该生存时间段内接收到的该指定事件的数据进行统计,生成该指定事件的局部集成结果;
读取模块430,用于从该外部存储设备中读取与该指定事件对应的基准集成结果;
存储模块440,用于将该读取模块430读取的该基准集成结果与该统计模块420统计得到的该局部集成结果进行合并计算,将计算得到的合并值替换该指定事件的该基准集成结果存储至该外部存储设备中。
综上所述,本发明实施例提供的集成结果统计装置,通过在统计设备中实时统计生存时间段内指定事件的局部集成结果,并将局部集成结果与外部存储设备中预先得到的该指定事件的基准集成结果进行合并计算,将合并计算得到的合并值替换外部存储设备中该指定事件的基准集成结果;由于可以将指定事件的统计分为两个过程,在统计设备中进行轻量级统计,对海量数据进行定期合并,控制了数据流量,平衡了高峰期和非高峰期的资源消耗差异,因此可以解决在实时统计海量数据时,因按照海量数据设置固定的统计设备,导致浪费统计设备或导致统计设备挂机、崩溃等问题;达到了在对海量数据进行实时统计时,平衡了高峰期和非高峰期的资源消耗差异,降低了复杂操作的频率和资源消耗的效果。
请参见图5所示,其是本发明另一个实施例中提供的集成结果统计装置的结构示意图,该集成结果统计装置主要以应用于图1所示实施环境中的统计设备120中进行举例说明。该集成结果统计装置可以包括:接收模块510、统计模块520、读取模块530和存储模块540。
接收模块510,用于接收该控制中心下发的对指定事件进行统计的统计规则;
统计模块520,用于在生存时间段内,按照该接收模块510接收到的该统计规则,对该生存时间段内接收到的该指定事件的数据进行统计,生成该指定事件的局部集成结果;
读取模块530,用于从该外部存储设备中读取与该指定事件对应的基准集成结果;
存储模块540,用于将该读取模块530读取的该基准集成结果与该统计模块520统计得到的该局部集成结果进行合并计算,将计算得到的合并值替换该指定事件的该基准集成结果存储至该外部存储设备中。
在一种可能的实现方式中,该统计模块520,包括:统计单元521和替换单元522。
统计单元521,用于在该生存时间段内每接收到一个该指定事件的数据,则利用该统计规则定义的增量更新函数,对该生存时间段内已经接收到的该指定事件的所有数据进行实时统计,得到该指定事件本次统计的局部集成结果;
替换单元522,用于利用该指定事件本次统计得到的局部集成结果更新替换前次统计得到的局部集成结果,直到该生存时间段结束。
在一种可能的实现方式中,该统计单元521,包括:存储子单元521a和统计子单元521b。
存储子单元521a,用于在该生存时间段内每接收到一个该指定事件的数据,将该数据存储至该统计设备的内存中;统计子单元521b,用于利用该统计设备中的处理器实时读取该内存中存储的该指定事件的数据和前次存储的该指定事件的局部集成结果,按照该统计规则、读取的该数据以及该局部集成结果进行统计,得到该指定事件本次统计的局部集成结果;
该替换单元522,还用于:
将该指定事件本次统计得到的局部集成结果更新替换内存中存储的该指定事件前次统计得到的局部集成结果。
在一种可能的实现方式中,该存储模块540,包括:计算单元541和发送单元542。
计算单元541,用于将该指定事件的该基准集成结果与该生存时间段内结束时得到的指定事件的局部集成结果进行合并计算,得到与该生存时间段对应的指定事件的局部集成结果;
发送单元542,用于向该外部存储设备发送存储指令,该存储指令携带于该生存时间段对应的该指定事件的局部集成结果,该存储指令用于触发该外部存储设备利用该指定事件的局部集成结果替换与该指定事件对应的基准集成结果。
在一种可能的实现方式中,该集成结果统计装置还可以包括:设置模块550。
设置模块550,用于将统计设备的内存中存储的该指定事件的局部集成结果设置为初始值。
综上所述,本发明实施例提供的集成结果统计装置,通过在统计设备中实时统计生存时间段内指定事件的局部集成结果,并将局部集成结果与外部存储设备中预先得到的该指定事件的基准集成结果进行合并计算,将合并计算得到的合并值替换外部存储设备中该指定事件的基准集成结果;由于可以将指定事件的统计分为两个过程,在统计设备中进行轻量级统计,对海量数据进行定期合并,控制了数据流量,平衡了高峰期和非高峰期的资源消耗差异,因此可以解决在实时统计海量数据时,因按照海量数据设置固定的统计设备,导致浪费统计设备或导致统计设备挂机、崩溃等问题;达到了在对海量数据进行实时统计时,平衡了高峰期和非高峰期的资源消耗差异,降低了复杂操作的频率和资源消耗的效果。
需要说明的是:上述实施例中提供的集成结果统计装置在统计指定事件的集成结果时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将统计设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的集成结果统计装置与集成结果统计方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种统计机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (8)
1.一种集成结果统计方法,其特征在于,应用于统计集群系统中的统计设备中,所述统计集群系统还包括控制中心和外部存储设备,所述方法包括:
接收所述控制中心下发的对指定事件进行统计的统计规则,所述统计规则用于限定统计所述指定事件产生的总数量,和/或用于限定平均1小时内产生所述指定事件的平均次数,和/或用于限定平均每小时内产生所述指定事件的最大次数;
在生存时间段内每接收到一个所述指定事件的数据,则利用所述统计规则定义的增量更新函数,对所述生存时间段内已经接收到的所述指定事件的所有数据进行实时统计,得到所述指定事件本次统计的局部集成结果,所述增量更新函数包括加操作、减操作、取最大值操作、取最小值操作和求平均操作,所述生存时间段为根据所述统计设备中处理器的运算能力、所述统计设备中内存的存储空间以及统计要求中的至少一种进行限定得到,所述指定事件的局部集成结果通过K-V结构表示和存储,所述K为所述指定事件的事件标识,所述V为统计出的所述指定事件的统计值;
利用所述指定事件本次统计得到的局部集成结果更新替换前次统计得到的局部集成结果,直到所述生存时间段结束;
从所述外部存储设备中读取与所述指定事件对应的基准集成结果;
将所述基准集成结果与所述局部集成结果进行合并计算,将计算得到的合并值替换所述指定事件的所述基准集成结果存储至所述外部存储设备中。
2.根据权利要求1所述的方法,其特征在于,所述在所述生存时间段内每接收到一个所述指定事件的数据,则利用所述统计规则定义的增量更新函数,对所述生存时间段内已经接收到的所述指定事件的所有数据进行实时统计,得到所述指定事件本次统计的局部集成结果,包括:
在所述生存时间段内每接收到一个所述指定事件的数据,将所述数据存储至所述统计设备的内存中;利用所述统计设备中的处理器实时读取所述内存中存储的所述指定事件的数据和前次存储的所述指定事件的局部集成结果,按照所述统计规则、读取的所述数据以及所述局部集成结果进行统计,得到所述指定事件本次统计的局部集成结果;
所述利用所述指定事件本次统计得到的局部集成结果更新替换前次统计得到的局部集成结果,包括:
将所述指定事件本次统计得到的局部集成结果更新替换内存中存储的所述指定事件前次统计得到的局部集成结果。
3.根据权利要求1所述的方法,其特征在于,所述将所述基准集成结果与所述局部集成结果进行合并计算,将计算得到的合并值替换所述指定事件的所述基准集成结果存储至所述外部存储设备中,包括:
将所述指定事件的所述基准集成结果与所述生存时间段内结束时得到的指定事件的局部集成结果进行合并计算,得到与所述生存时间段对应的指定事件的局部集成结果;
向所述外部存储设备发送存储指令,所述存储指令携带于所述生存时间段对应的所述指定事件的局部集成结果,所述存储指令用于触发所述外部存储设备利用所述指定事件的局部集成结果替换与所述指定事件对应的基准集成结果。
4.根据权利要求1至3中任一所述的方法,其特征在于,在所述将计算得到的合并值替换所述指定事件的所述基准集成结果存储至所述外部存储设备中之后,还包括:
将所述统计设备的内存中存储的所述指定事件的局部集成结果设置为初始值。
5.一种集成结果统计装置,其特征在于,应用于统计集群系统中的统计设备中,所述统计集群系统还包括控制中心和外部存储设备,所述装置包括:
接收模块,用于接收所述控制中心下发的对指定事件进行统计的统计规则,所述统计规则用于限定统计所述指定事件产生的总数量,和/或用于限定平均1小时内产生所述指定事件的平均次数,和/或用于限定平均每小时内产生所述指定事件的最大次数;
统计模块,包括统计单元和替换单元;
所述统计单元,用于在所述生存时间段内每接收到一个所述指定事件的数据,则利用所述统计规则定义的增量更新函数,对所述生存时间段内已经接收到的所述指定事件的所有数据进行实时统计,得到所述指定事件本次统计的局部集成结果,所述增量更新函数包括加操作、减操作、取最大值操作、取最小值操作和求平均操作,所述生存时间段为根据所述统计设备中处理器的运算能力、所述统计设备中内存的存储空间以及统计要求中的至少一种进行限定得到,所述指定事件的局部集成结果通过K-V结构表示和存储,所述K为所述指定事件的事件标识,所述V为统计出的所述指定事件的统计值;
所述替换单元,用于利用所述指定事件本次统计得到的局部集成结果更新替换前次统计得到的局部集成结果,直到所述生存时间段结束;
读取模块,用于从所述外部存储设备中读取与所述指定事件对应的基准集成结果;
存储模块,用于将所述读取模块读取的所述基准集成结果与所述统计模块统计得到的所述局部集成结果进行合并计算,将计算得到的合并值替换所述指定事件的所述基准集成结果存储至所述外部存储设备中。
6.根据权利要求5所述的装置,其特征在于,所述统计单元,包括:
存储子单元,用于在所述生存时间段内每接收到一个所述指定事件的数据,将所述数据存储至所述统计设备的内存中;统计子单元,用于利用所述统计设备中的处理器实时读取所述内存中存储的所述指定事件的数据和前次存储的所述指定事件的局部集成结果,按照所述统计规则、读取的所述数据以及所述局部集成结果进行统计,得到所述指定事件本次统计的局部集成结果;
所述替换单元,还用于:
将所述指定事件本次统计得到的局部集成结果更新替换内存中存储的所述指定事件前次统计得到的局部集成结果。
7.根据权利要求5所述的装置,其特征在于,所述存储模块,包括:
计算单元,用于将所述指定事件的所述基准集成结果与所述生存时间段内结束时得到的指定事件的局部集成结果进行合并计算,得到与所述生存时间段对应的指定事件的局部集成结果;
发送单元,用于向所述外部存储设备发送存储指令,所述存储指令携带于所述生存时间段对应的所述指定事件的局部集成结果,所述存储指令用于触发所述外部存储设备利用所述指定事件的局部集成结果替换与所述指定事件对应的基准集成结果。
8.根据权利要求5至7中任一所述的装置,其特征在于,所述装置还包括:
设置模块,用于将所述统计设备的内存中存储的所述指定事件的局部集成结果设置为初始值。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510465163.1A CN106407636B (zh) | 2015-07-31 | 2015-07-31 | 集成结果统计方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510465163.1A CN106407636B (zh) | 2015-07-31 | 2015-07-31 | 集成结果统计方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106407636A CN106407636A (zh) | 2017-02-15 |
CN106407636B true CN106407636B (zh) | 2020-02-14 |
Family
ID=58007388
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510465163.1A Active CN106407636B (zh) | 2015-07-31 | 2015-07-31 | 集成结果统计方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106407636B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110753206B (zh) * | 2018-07-24 | 2021-04-27 | 杭州海康威视系统技术有限公司 | 客流统计方法及装置、摄像机 |
CN109711943B (zh) * | 2018-12-28 | 2021-05-25 | 杭州数梦工场科技有限公司 | 订单统计方法、装置及系统 |
CN114095386B (zh) * | 2020-07-01 | 2024-03-26 | 阿里巴巴集团控股有限公司 | 一种数据流统计方法、设备及存储介质 |
CN113987007B (zh) * | 2021-10-12 | 2023-11-21 | 中冶南方工程技术有限公司 | 一种高炉渣皮脱落合并方法、终端设备及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101197687A (zh) * | 2006-12-04 | 2008-06-11 | 华为技术有限公司 | 一种网络流量统计的方法及系统 |
CN101661429A (zh) * | 2009-08-18 | 2010-03-03 | 中兴通讯股份有限公司 | 一种统计信息的存储方法及设备 |
US8510807B1 (en) * | 2011-08-16 | 2013-08-13 | Edgecast Networks, Inc. | Real-time granular statistical reporting for distributed platforms |
CN104090889A (zh) * | 2013-12-12 | 2014-10-08 | 深圳市腾讯计算机系统有限公司 | 数据处理方法及系统 |
CN104317738A (zh) * | 2014-10-24 | 2015-01-28 | 中国科学技术大学 | 一种基于MapReduce的增量计算方法 |
-
2015
- 2015-07-31 CN CN201510465163.1A patent/CN106407636B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101197687A (zh) * | 2006-12-04 | 2008-06-11 | 华为技术有限公司 | 一种网络流量统计的方法及系统 |
CN101661429A (zh) * | 2009-08-18 | 2010-03-03 | 中兴通讯股份有限公司 | 一种统计信息的存储方法及设备 |
US8510807B1 (en) * | 2011-08-16 | 2013-08-13 | Edgecast Networks, Inc. | Real-time granular statistical reporting for distributed platforms |
CN104090889A (zh) * | 2013-12-12 | 2014-10-08 | 深圳市腾讯计算机系统有限公司 | 数据处理方法及系统 |
CN104317738A (zh) * | 2014-10-24 | 2015-01-28 | 中国科学技术大学 | 一种基于MapReduce的增量计算方法 |
Also Published As
Publication number | Publication date |
---|---|
CN106407636A (zh) | 2017-02-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108776934B (zh) | 分布式数据计算方法、装置、计算机设备及可读存储介质 | |
CN112165691B (zh) | 内容分发网络调度方法、装置、服务器和介质 | |
CN108683720B (zh) | 一种容器集群服务配置方法及装置 | |
CN106407636B (zh) | 集成结果统计方法及装置 | |
CN111159436B (zh) | 一种推荐多媒体内容的方法、装置及计算设备 | |
CN110474852B (zh) | 一种带宽调度方法及装置 | |
CN109962856B (zh) | 资源分配方法、装置以及计算机可读存储介质 | |
CN110990138A (zh) | 资源调度方法、装置、服务器及存储介质 | |
US9588813B1 (en) | Determining cost of service call | |
CN110933178B (zh) | 调整集群系统内的节点配置的方法及服务器 | |
CN111970132B (zh) | Ota数据包下发流量的控制方法、装置及服务器 | |
CN109981702B (zh) | 一种文件存储方法及系统 | |
CN111858067B (zh) | 一种数据处理方法及装置 | |
CN106464733A (zh) | 一种调整云计算中虚拟资源的方法及装置 | |
CN109067562B (zh) | 基于智能指针的动态配置更新方法及系统、服务器及介质 | |
CN108875035B (zh) | 分布式文件系统的数据存储方法及相关设备 | |
US11206673B2 (en) | Priority control method and data processing system | |
CN113285886A (zh) | 一种带宽分配的方法、装置、电子设备及可读存储介质 | |
CN111988817A (zh) | Ota数据包下发流量的控制方法和装置 | |
CN109697117B (zh) | 终端控制方法、装置以及计算机可读存储介质 | |
CN113760982A (zh) | 一种数据处理方法和装置 | |
CN109150593B (zh) | 云数据系统中资源的管理方法和装置 | |
CN108399031B (zh) | 确定界面布局方式的方法和装置 | |
CN116955271A (zh) | 一种数据副本存储的方法、装置、电子设备及存储介质 | |
CN113742071A (zh) | 一种任务处理方法和电子设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | 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 |