CN110597830A - 实时指标生成方法和系统、电子设备及存储介质 - Google Patents
实时指标生成方法和系统、电子设备及存储介质 Download PDFInfo
- Publication number
- CN110597830A CN110597830A CN201810517811.7A CN201810517811A CN110597830A CN 110597830 A CN110597830 A CN 110597830A CN 201810517811 A CN201810517811 A CN 201810517811A CN 110597830 A CN110597830 A CN 110597830A
- Authority
- CN
- China
- Prior art keywords
- monitoring data
- data
- time
- offline
- real
- 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
Abstract
本发明公开了一种实时指标生成方法和系统、电子设备及存储介质。其中方法包括:实时生成监控数据;将所述监控数据缓存于内存;根据数据更新规则,所述数据更新规则设定有数据更新条件,将所述内存中符合所述数据更新条件的监控数据更新至离线存储;利用所述内存中的监控数据计算实时计算指标;利用所述离线存储的监控数据计算离线计算指标;根据所述实时计算指标和所述离线计算指标,生成实时指标。本发明将用于计算实时指标的监控数据分别缓存于内存和离线存储,即使统计的监控数据时间跨度长也不会占用过多的内存空间,节省了内存的使用消耗,可满足超长时间范围的统计。
Description
技术领域
本发明属于计算机技术领域,尤其涉及一种实时指标生成方法和系统、电子设备及存储介质。
背景技术
在数据统计或其他需要数据支撑的领域,技术人员经常需要计算一些指标数据用于页面展示或者业务逻辑的阈值计算,比如下单量,浏览量,某个维度下的请求量等等。
对于一些时效性要求不高,维度特征不是很复杂,时间跨度不是很大的指标,可以采用spark(一种大数据处理框架),storm(一种实时处理系统),甚至hive(一种数据仓库工具)表进行批量计算,然后定期同步到存储系统(比如redis(一种基于内存的Key-Value数据库),hbase(一种分布式、面向列的开源数据库)等)中,供业务系统使用。但是对于一些计算时效性要求很高的指标,比如在风控场景下,来自相同IP的第N次请求,同一个用户10分钟内购买相同产品的次数等,均需要做到毫秒级的实时计算,对于这种需求,业界通常都是将数据放在基于内存的缓存数据库中(比如redis)进行实时计算的。
不管基于上面哪种方式,如果统计的时间跨度过长,比如1星期,1个月,甚至1年。Redis的存储空间均会大幅增长(时间越长,要存储的维度信息就越多,key的过期时间也越久),而内存资源是有限且昂贵的。
发明内容
本发明要解决的技术问题是为了克服现有技术中长时间跨度的数据统计占用内存空间的缺陷,提供一种实时指标生成方法和系统、电子设备及存储介质。
本发明是通过以下技术方案解决上述技术问题的:
本发明提供一种实时指标生成方法,包括:
实时生成监控数据;
将所述监控数据缓存于内存;
根据数据更新规则,所述数据更新规则设定有数据更新条件,将所述内存中符合所述数据更新条件的监控数据更新至离线存储;
利用所述内存中的监控数据计算实时计算指标;
利用所述离线存储的监控数据计算离线计算指标;
根据所述实时计算指标和所述离线计算指标,生成实时指标。
较佳地,所述监控数据记录有数据生成时间,所述数据更新条件包括数据生成时间所属时段已结束;
所述内存中的监控数据按照数据生成时间分时段存储,和/或,所述离线存储的监控数据按照数据生成时间分时段存储。
较佳地,所述数据更新规则还设定有将所述内存中符合所述数据更新条件的监控数据更新至离线存储的时间要求;
利用所述离线存储的监控数据计算离线计算指标,包括:
根据所述时间要求,确认当前时段正在被更新的监控数据;
从所述离线存储的监控数据中,滤除当前时段正在被更新的监控数据,利用所述离线存储中在过去的时段已经完成更新的监控数据计算所述离线计算指标。
较佳地,在将所述内存中符合所述数据更新条件的监控数据更新至离线存储时,相邻时段被更新的监控数据交替存入第一离线数据库和第二离线数据库;
从所述离线存储的监控数据中,滤除当前时段正在被更新的监控数据,利用所述离线存储中在过去的时段已经完成更新的监控数据计算所述离线计算指标,包括:
判断当前时段正在被更新的监控数据存入所述第一离线数据库还是所述第二离线数据库;
若存入所述第一离线数据库,则利用所述第二离线数据库中的监控数据计算所述离线计算指标;
若存入所述第二离线数据库,则利用所述第一离线数据库中的监控数据计算所述离线计算指标。
较佳地,设定所述时间要求为在第i+N个时段将所述内存中符合所述数据更新条件的第i个时段生成的监控数据更新至离线存储,i、N均为正整数;所述第一离线数据库用于存储i为奇数的时段生成的监控数据,所述第二离线数据库用于存储i为偶数的时段生成的监控数据;
判断当前时段正在被更新的监控数据存入所述第一离线数据库还是所述第二离线数据库,包括:
令当前时段为第i+N个时段,当前时段正在被更新的监控数据为第i个时段生成的监控数据:
判断i为奇数还是偶数;
若为奇数,则当前时段正在被更新的监控数据存入所述第一离线数据库;
若为偶数,则当前时段正在被更新的监控数据存入所述第二离线数据库。
较佳地,所述实时指标生成方法还包括:在所述离线存储内的监控数据的总数据量超过总量阈值时,删除数据生成时间最早的监控数据。
本发明还提供一种实时指标生成系统,包括:
数据生成单元,用于实时生成监控数据;
数据缓存单元,用于将所述监控数据缓存于内存;
数据更新单元,用于根据数据更新规则,所述数据更新规则设定有数据更新条件,将所述内存中符合所述数据更新条件的监控数据更新至离线存储;
第一计算单元,用于利用所述内存中的监控数据计算实时计算指标;
第二计算单元,用于利用所述离线存储的监控数据计算离线计算指标;
综合计算单元,用于根据所述实时计算指标和所述离线计算指标,生成实时指标。
较佳地,所述监控数据记录有数据生成时间,所述数据更新条件包括数据生成时间所属时段已结束;
所述内存中的监控数据按照数据生成时间分时段存储,和/或,所述离线存储的监控数据按照数据生成时间分时段存储。
较佳地,所述数据更新规则还设定有将所述内存中符合所述数据更新条件的监控数据更新至离线存储的时间要求;
所述第二计算单元包括:
数据确认模块,用于根据所述时间要求,确认当前时段正在被更新的监控数据;
指标计算模块,用于从所述离线存储的监控数据中,滤除当前时段正在被更新的监控数据,利用所述离线存储中在过去的时段已经完成更新的监控数据计算所述离线计算指标。
较佳地,所述数据更新单元在将所述内存中符合所述数据更新条件的监控数据更新至离线存储时,相邻时段被更新的监控数据交替存入第一离线数据库和第二离线数据库;
所述指标计算模块包括:
判断模块,用于判断当前时段正在被更新的监控数据存入所述第一离线数据库还是所述第二离线数据库;
若存入所述第一离线数据库,则利用所述第二离线数据库中的监控数据计算所述离线计算指标;
若存入所述第二离线数据库,则利用所述第一离线数据库中的监控数据计算所述离线计算指标。
较佳地,设定所述时间要求为在第i+N个时段将所述内存中符合所述数据更新条件的第i个时段生成的监控数据更新至离线存储,i、N均为正整数;所述第一离线数据库用于存储i为奇数的时段生成的监控数据,所述第二离线数据库用于存储i为偶数的时段生成的监控数据;
判断当前时段正在被更新的监控数据存入所述第一离线数据库还是所述第二离线数据库,包括:
令当前时段为第i+N个时段,当前时段正在被更新的监控数据为第i个时段生成的监控数据:
判断i为奇数还是偶数;
若为奇数,则当前时段正在被更新的监控数据存入所述第一离线数据库;
若为偶数,则当前时段正在被更新的监控数据存入所述第二离线数据库。
较佳地,所述实时指标生成系统还包括:
数据删除单元,用于在所述离线存储内的监控数据的总数据量超过总量阈值时,删除数据生成时间最早的监控数据。
一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上所述的实时指标生成方法。
一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现如上所述的实时指标生成方法的步骤。
在符合本领域常识的基础上,上述各优选条件,可任意组合,即得本发明各较佳实例。
本发明的积极进步效果在于:本发明将用于计算实时指标的监控数据分别缓存于内存和离线存储,即使统计的监控数据时间跨度长也不会占用过多的内存空间,节省了内存的使用消耗,可满足超长时间范围的统计。
附图说明
图1为本发明实施例1的一种实时指标生成方法的流程图;
图2为本发明实施例1的一种实时指标生成方法的另一流程图;
图3为本发明实施例1的一种实时指标生成方法的再一流程图;
图4为利用实施例1的实时指标生成方法在第30天统计实时指标的示意图;
图5为利用实施例1的实时指标生成方法在第31天统计实时指标的示意图;
图6为本发明实施例2的一种实时指标生成系统的示意框图;
图7为本发明实施例3的一种电子设备的结构示意图。
具体实施方式
下面通过实施例的方式进一步说明本发明,但并不因此将本发明限制在所述的实施例范围之中。
实施例1
图1示出了本实施例的一种实时指标生成方法的流程。所述实时指标具有时效性,需要统计较长时间跨度内的数据才能计算而得。本发明对所述实时指标的具体类型或含义不做限定,所述实时指标生成方法可应用于各种业务场景。所述实时指标生成方法包括以下步骤:
步骤101、实时生成监控数据。其中,所述监控数据的具体内容依实际应用的业务场景而定,可以但不限于包括在风控场景下监控用户的网页浏览量、相同产品的下单量等。
步骤102、将所述监控数据缓存于内存。
步骤103、根据数据更新规则,所述数据更新规则设定有数据更新条件,将所述内存中符合所述数据更新条件的监控数据更新至离线存储。所述的更新是指将内存中的监控数据存储至离线存储,同时被存储至离线存储的监控数据从所述内存中删除。这样可以减少占用的内存空间。其中,所述数据更新条件可以依实际应用的业务场景或数据统计需求而定。
步骤104、利用所述内存中的监控数据计算实时计算指标。由于步骤103中已经将符合所述数据更新条件的监控数据更新至离线存储,所以,步骤104,用于计算实时计算指标的监控数据不再包含被更新至离线存储的监控数据,而包含不符合所述数据更新条件的监控数据,即所述内存中剩余的监控数据。
步骤105、利用所述离线存储的监控数据计算离线计算指标。当然,步骤104和105的执行顺序可以更换。
步骤106、根据所述实时计算指标和所述离线计算指标,生成实时指标。
本实施例中,所述监控数据可以记录有数据生成时间,所述数据更新条件可以包括:数据生成时间所属时段已结束;那么,符合所述数据更新条件的监控数据,即包括:数据生成时间所属时段已结束的监控数据。
以1小时为一个单位时段为例,内存中的监控数据划分为0:00~1:00、1:00~2:00、2:00~3:00,以此类推。于1:30生成一个监控数据并存储于内存,若想要将该监控数据更新至离线存储,需要1:00~2:00这一时段已结束,即在2:00以后才能将1:30生成的这一监控数据更新至离线存储。这样的优点在于,在某一时间点生成的监控数据符合数据更新条件时,其所属时段已经结束,即所属时段的监控数据均已生成,该时段的其他时间点的监控数据同样可以符合数据更新条件,那么在数据更新时,可以将该时段的所有监控数据批量的更新至离线存储,提高效率。
为了方便数据的存储与计算,所述内存中的监控数据可以按照数据生成时间分时段存储。
同样地,所述离线存储的监控数据也可以按照数据生成时间分时段存储。
本实施例中,所述数据更新规则还可以设定有将所述内存中符合所述数据更新条件的监控数据更新至离线存储的时间要求。所述时间要求即在什么时间将哪些符合所述数据更新条件的监控数据更新至离线存储。
由于监控数据的更新需要花费时间,若将正处于更新过程中的监控数据用于离线计算指标的计算,可能出现数据不完整等情况,造成精度的丢失,影响到离线计算指标的计算准确性。因此,为了避免正处于更新过程中的监控数据影响离线计算指标的计算准确性,如图2所示,步骤105进一步包括:
步骤1051、根据所述时间要求,确认当前时段正在被更新的监控数据。
步骤1052、从所述离线存储的监控数据中,滤除当前时段正在被更新的监控数据,利用所述离线存储中在过去的时段已经完成更新的监控数据计算所述离线计算指标。
例如,所述数据更新规则的时间要求设定为在7:00~8:00将内存中于1:00~2:00生成的监控数据更新至离线存储,在8:00~9:00将内存中于2:00~3:00生成的监控数据更新至离线存储,那么,在7:00~8:00期间,离线存储中会逐渐出现1:00~2:00生成的部分监控数据直至全部监控数据,在8:00~9:00期间,离线存储中会逐渐出现2:00~3:00生成的部分监控数据直至全部监控数据。若当前时间为7:30,则步骤1051中可以确认当前属于7:00~8:00这一时段,正在被更新的是1:00~2:00生成的监控数据,步骤1052中在计算离线计算指标时需要滤除1:00~2:00生成的监控数据,利用7:00以前已经完成更新的监控数据计算所述离线计算指标;又若当前时间为8:20,则步骤1051中可以确认当前属于8:00~9:00这一时段,正在被更新的是2:00~3:00生成的监控数据,在计算离线计算指标时需要滤除2:00~3:00生成的监控数据,利用8:00以前已经完成更新的监控数据计算所述离线计算指标。
为了在离线存储中简单地区分当前时段正在更新的监控数据和过去的时段已经完成更新的监控数据,本实施例还可以进一步在将所述内存中符合所述数据更新条件的监控数据更新至离线存储时,相邻时段被更新的监控数据交替存入第一离线数据库和第二离线数据库。也就是说,若过去一个时段被更新的监控数据存入第一离线数据库,那么当前时段被更新的监控数据则存入第二离线数据库,反之,若过去一个时段被更新的监控数据存入第二离线数据库,那么当前时段被更新的监控数据则存入第一离线数据库。
在此情况下,如图3所示,步骤1052可以简化为:
步骤1052A、判断当前时段正在被更新的监控数据存入所述第一离线数据库还是所述第二离线数据库;
若存入所述第一离线数据库,则执行步骤1052B;
若存入所述第二离线数据库,则执行步骤1052C。
步骤1052B、利用所述第二离线数据库中的监控数据计算所述离线计算指标。
步骤1052C、利用所述第一离线数据库中的监控数据计算所述离线计算指标。
优选地,可以设定所述时间要求为在第i+N个时段将所述内存中符合所述数据更新条件的第i个时段生成的监控数据更新至离线存储,i、N均为正整数。设置所述第一离线数据库为存储i为奇数的时段生成的监控数据,设置所述第二离线数据库为存储i为偶数的时段生成的监控数据。
此时,可以通过以下步骤判断当前时段正在被更新的监控数据存入所述第一离线数据库还是所述第二离线数据库:
令当前时段为第i+N个时段,当前时段正在被更新的监控数据为第i个时段生成的监控数据:
判断i为奇数还是偶数;
若为奇数,则当前时段正在被更新的监控数据存入所述第一离线数据库,那么,利用所述第二离线数据库中的监控数据计算所述离线计算指标;
若为偶数,则当前时段正在被更新的监控数据存入所述第二离线数据库,那么,利用所述第一离线数据库中的监控数据计算所述离线计算指标。
上述步骤也可以理解为,判断当前时段的前N个时段是奇数时段还是偶数时段,若为奇数时段,则当前时段正在被更新的监控数据存入所述第一离线数据库,那么,利用所述第二离线数据库中的监控数据计算所述离线计算指标;若为偶数时段,则当前时段正在被更新的监控数据存入所述第二离线数据库,那么,利用所述第一离线数据库中的监控数据计算所述离线计算指标。
另外,存入不同离线数据库的监控数据还可以使用时段号i来进行标记。
为了避免离线存储的监控数据过多、保证计算离线计算指标的准确性,所述实时指标生成方法还可以包括:在所述离线存储内的监控数据的总数据量超过总量阈值时,删除数据生成时间最早的监控数据。其中,所述总量阈值可以依业务需求自行设定。例如,设定总量阈值为只存储最近的M个时段的监控数据,若离线存储中的监控数据为M+1个,那么,删除数据生成时间最早的那个时段的监控数据。
下面举一实例对本实施例较佳的一种实时指标生成方法做详细说明:
以一天为一个单位时段,总共需要统计30天的实时指标。数据更新规则设定的数据更新条件为,1天结束,即只有在一天结束后才允许该天的监控数据更新;数据更新规则设定的时间要求为:在第i+2天将所述内存中第i天的监控数据更新至离线存储。所述第一离线数据库用于存储奇数日的监控数据,所述第二离线数据库用于存储偶数日的监控数据。
根据业务场景,实时生成监控数据,并缓存于内存。内存中的监控数据划分为第1天、第2天,以此类推。
根据数据更新规则,在第3天将第1天的监控数据更新至第一离线数据库;在第4天将第2天的监控数据更新至第二离线数据库;在第5天将第3天的监控数据更新至第一离线数据库;在第6天将第4天的监控数据更新至第二离线数据库;依次类推。此时,内存中只缓存最近两天的监控数据,其余天的监控数据分别存储于第一离线数据库和第二离线数据库。
假设在第30天统计实时指标,如图4所示,此时,内存中缓存第29天和第30天的监控数据,第一离线数据库中存储第1、3、5、……、27天的监控数据,第28天的监控数据被更新至第二离线数据库,第二离线数据库中存储第2、4、6、……、28天的监控数据。在计算实时指标时,需要利用内存中第29天和第30天的监控数据计算实时计算指标,利用第一离线数据库中的监控数据计算离线计算指标,然后由实时计算指标和离线计算指标,计算得到实时指标。
假设在第31天统计实时指标,如图5所示,此时,内存中缓存第30天和第31天的监控数据,第29天的监控数据被更新至第一离线数据库,第一离线数据库中删除第1天的监控数据,只存储第3、5、7、……、29天的监控数据,第二离线数据库中存储第2、4、6、……28天的监控数据。在计算实时指标时,需要利用内存中第30天和第31天的监控数据计算实时计算指标,利用第二离线数据库中的监控数据计算离线计算指标,然后由实时计算指标和离线计算指标,计算得到实时指标。
需要说明的是,本发明的重点是将实时指标划分为实时计算指标和离线计算指标,并且实时计算指标和离线计算指标使用不同的数据进行计算,但是对于上述两个指标的具体算法不做限制,可以为任何算法。例如:可以使用redis按照单key类计算实时计算指标;通过hive SQL计算离线计算指标,等待。
对于有实时计算指标和离线计算指标生成实时指标的具体方式也不做限制,可以为任何算法。例如:
实时指标=实时计算指标+离线计算指标;
或,实时指标=α实时计算指标+β离线计算指标,α、β为权重系数;
等等。
实施例2
图6示出本实施例的一种实时指标生成系统20的框图。所述实时指标生成系统20包括:数据生成单元21、数据缓存单元22、数据更新单元23、第一计算单元24、第二计算单元25和综合计算单元26。
所述数据生成单元21用于实时生成监控数据。
所述数据缓存单元22用于将所述监控数据缓存于内存。
所述数据更新单元23用于根据数据更新规则,所述数据更新规则设定有数据更新条件,将所述内存中符合所述数据更新条件的监控数据更新至离线存储。
所述第一计算单元24用于利用所述内存中的监控数据计算实时计算指标。
所述第二计算单元25用于利用所述离线存储的监控数据计算离线计算指标;
所述综合计算单元26用于根据所述实时计算指标和所述离线计算指标,生成实时指标。
本实施例中,所述监控数据可以记录有数据生成时间,所述数据更新条件可以包括数据生成时间所属时段已结束。
为了方便数据的存储与计算,所述内存中的监控数据按照数据生成时间分时段存储。和/或,所述离线存储的监控数据按照数据生成时间分时段存储。
本实施例中,所述数据更新规则还可以设定有将所述内存中符合所述数据更新条件的监控数据更新至离线存储的时间要求。
为了避免正处于更新过程中的监控数据影响离线计算指标的计算准确性所述第二计算单元25可以包括:数据确认模块251和指标计算模块252。
所述数据确认模块251用于根据所述时间要求,确认当前时段正在被更新的监控数据。
所述指标计算模块252用于从所述离线存储的监控数据中,滤除当前时段正在被更新的监控数据,利用所述离线存储中在过去的时段已经完成更新的监控数据计算所述离线计算指标。
为了在离线存储中简单地区分当前时段正在更新的监控数据和过去的时段已经完成更新的监控数据,所述数据更新单元23在将所述内存中符合所述数据更新条件的监控数据更新至离线存储时,相邻时段被更新的监控数据可以交替存入第一离线数据库和第二离线数据库。
在此情况下,所述指标计算模块252可以包括:判断模块253。
判断模块,用于判断当前时段正在被更新的监控数据存入所述第一离线数据库还是所述第二离线数据库;
若存入所述第一离线数据库,则利用所述第二离线数据库中的监控数据计算所述离线计算指标;
若存入所述第二离线数据库,则利用所述第一离线数据库中的监控数据计算所述离线计算指标。
优选地,可以设定所述时间要求为在第i+N个时段将所述内存中符合所述数据更新条件的第i个时段生成的监控数据更新至离线存储,i、N均为正整数;所述第一离线数据库用于存储i为奇数的时段生成的监控数据,所述第二离线数据库用于存储i为偶数的时段生成的监控数据;
此时,判断当前时段正在被更新的监控数据存入所述第一离线数据库还是所述第二离线数据库,包括:
令当前时段为第i+N个时段,当前时段正在被更新的监控数据为第i个时段生成的监控数据:
判断i为奇数还是偶数;
若为奇数,则当前时段正在被更新的监控数据存入所述第一离线数据库;
若为偶数,则当前时段正在被更新的监控数据存入所述第二离线数据库。
另外,存入不同离线数据库的监控数据还可以使用时段号i来进行标记。
为了避免离线存储的监控数据过多、保证计算离线计算指标的准确性,,所述实时指标生成系统还可以包括:
数据删除单元27,用于在所述离线存储内的监控数据的总数据量超过总量阈值时,删除数据生成时间最早的监控数据。
实施例3
图7为本发明实施例3提供的一种电子设备的结构示意图。所述电子设备包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现实施例1的实时指标生成方法。图7显示的电子设备30仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图7所示,电子设备30可以以通用计算设备的形式表现,例如其可以为服务器设备。电子设备30的组件可以包括但不限于:上述至少一个处理器31、上述至少一个存储器32、连接不同系统组件(包括存储器32和处理器31)的总线33。
总线33包括数据总线、地址总线和控制总线。
存储器32可以包括易失性存储器,例如随机存取存储器(RAM)321和/或高速缓存存储器322,还可以进一步包括只读存储器(ROM)323。
存储器32还可以包括具有一组(至少一个)程序模块324的程序/实用工具325,这样的程序模块324包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
处理器31通过运行存储在存储器32中的计算机程序,从而执行各种功能应用以及数据处理,例如本发明实施例1所提供的实时指标生成方法。
电子设备30也可以与一个或多个外部设备34(例如键盘、指向设备等)通信。这种通信可以通过输入/输出(I/O)接口35进行。并且,模型生成的设备30还可以通过网络适配器36与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器36通过总线33与模型生成的设备30的其它模块通信。应当明白,尽管图中未示出,可以结合模型生成的设备30使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理器、外部磁盘驱动阵列、RAID(磁盘阵列)系统、磁带驱动器以及数据备份存储系统等。
应当注意,尽管在上文详细描述中提及了电子设备的若干单元/模块或子单元/模块,但是这种划分仅仅是示例性的并非强制性的。实际上,根据本发明的实施方式,上文描述的两个或更多单元/模块的特征和功能可以在一个单元/模块中具体化。反之,上文描述的一个单元/模块的特征和功能可以进一步划分为由多个单元/模块来具体化。
实施例4
本实施例提供了一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现实施例1所提供的实时指标生成方法的步骤。
其中,可读存储介质可以采用的更具体可以包括但不限于:便携式盘、硬盘、随机存取存储器、只读存储器、可擦拭可编程只读存储器、光存储器件、磁存储器件或上述的任意合适的组合。
在可能的实施方式中,本发明还可以实现为一种程序产品的形式,其包括程序代码,当所述程序产品在终端设备上运行时,所述程序代码用于使所述终端设备执行实现实施例1所述的实时指标生成方法中的步骤。
其中,可以以一种或多种程序设计语言的任意组合来编写用于执行本发明的程序代码,所述程序代码可以完全地在用户设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户设备上部分在远程设备上执行或完全在远程设备上执行。
虽然以上描述了本发明的具体实施方式,但是本领域的技术人员应当理解,这些仅是举例说明,本发明的保护范围是由所附权利要求书限定的。本领域的技术人员在不背离本发明的原理和实质的前提下,可以对这些实施方式做出多种变更或修改,但这些变更和修改均落入本发明的保护范围。
Claims (14)
1.一种实时指标生成方法,其特征在于,包括:
实时生成监控数据;
将所述监控数据缓存于内存;
根据数据更新规则,所述数据更新规则设定有数据更新条件,将所述内存中符合所述数据更新条件的监控数据更新至离线存储;
利用所述内存中的监控数据计算实时计算指标;
利用所述离线存储的监控数据计算离线计算指标;
根据所述实时计算指标和所述离线计算指标,生成实时指标。
2.如权利要求1所述的实时指标生成方法,其特征在于,所述监控数据记录有数据生成时间,所述数据更新条件包括数据生成时间所属时段已结束;
所述内存中的监控数据按照数据生成时间分时段存储,和/或,所述离线存储的监控数据按照数据生成时间分时段存储。
3.如权利要求1或2所述的实时指标生成方法,其特征在于,所述数据更新规则还设定有将所述内存中符合所述数据更新条件的监控数据更新至离线存储的时间要求;
利用所述离线存储的监控数据计算离线计算指标,包括:
根据所述时间要求,确认当前时段正在被更新的监控数据;
从所述离线存储的监控数据中,滤除当前时段正在被更新的监控数据,利用所述离线存储中在过去的时段已经完成更新的监控数据计算所述离线计算指标。
4.如权利要求3所述的实时指标生成方法,其特征在于,在将所述内存中符合所述数据更新条件的监控数据更新至离线存储时,相邻时段被更新的监控数据交替存入第一离线数据库和第二离线数据库;
从所述离线存储的监控数据中,滤除当前时段正在被更新的监控数据,利用所述离线存储中在过去的时段已经完成更新的监控数据计算所述离线计算指标,包括:
判断当前时段正在被更新的监控数据存入所述第一离线数据库还是所述第二离线数据库;
若存入所述第一离线数据库,则利用所述第二离线数据库中的监控数据计算所述离线计算指标;
若存入所述第二离线数据库,则利用所述第一离线数据库中的监控数据计算所述离线计算指标。
5.如权利要求4所述的实时指标生成方法,其特征在于,设定所述时间要求为在第i+N个时段将所述内存中符合所述数据更新条件的第i个时段生成的监控数据更新至离线存储,i、N均为正整数;所述第一离线数据库用于存储i为奇数的时段生成的监控数据,所述第二离线数据库用于存储i为偶数的时段生成的监控数据;
判断当前时段正在被更新的监控数据存入所述第一离线数据库还是所述第二离线数据库,包括:
令当前时段为第i+N个时段,当前时段正在被更新的监控数据为第i个时段生成的监控数据:
判断i为奇数还是偶数;
若为奇数,则当前时段正在被更新的监控数据存入所述第一离线数据库;
若为偶数,则当前时段正在被更新的监控数据存入所述第二离线数据库。
6.如权利要求2所述的实时指标生成方法,其特征在于,所述实时指标生成方法还包括:在所述离线存储内的监控数据的总数据量超过总量阈值时,删除数据生成时间最早的监控数据。
7.一种实时指标生成系统,其特征在于,包括:
数据生成单元,用于实时生成监控数据;
数据缓存单元,用于将所述监控数据缓存于内存;
数据更新单元,用于根据数据更新规则,所述数据更新规则设定有数据更新条件,将所述内存中符合所述数据更新条件的监控数据更新至离线存储;
第一计算单元,用于利用所述内存中的监控数据计算实时计算指标;
第二计算单元,用于利用所述离线存储的监控数据计算离线计算指标;
综合计算单元,用于根据所述实时计算指标和所述离线计算指标,生成实时指标。
8.如权利要求7所述的实时指标生成系统,其特征在于,所述监控数据记录有数据生成时间,所述数据更新条件包括数据生成时间所属时段已结束;
所述内存中的监控数据按照数据生成时间分时段存储,和/或,所述离线存储的监控数据按照数据生成时间分时段存储。
9.如权利要求7或8所述的实时指标生成系统,其特征在于,所述数据更新规则还设定有将所述内存中符合所述数据更新条件的监控数据更新至离线存储的时间要求;
所述第二计算单元包括:
数据确认模块,用于根据所述时间要求,确认当前时段正在被更新的监控数据;
指标计算模块,用于从所述离线存储的监控数据中,滤除当前时段正在被更新的监控数据,利用所述离线存储中在过去的时段已经完成更新的监控数据计算所述离线计算指标。
10.如权利要求9所述的实时指标生成系统,其特征在于,所述数据更新单元在将所述内存中符合所述数据更新条件的监控数据更新至离线存储时,相邻时段被更新的监控数据交替存入第一离线数据库和第二离线数据库;
所述指标计算模块包括:
判断模块,用于判断当前时段正在被更新的监控数据存入所述第一离线数据库还是所述第二离线数据库;
若存入所述第一离线数据库,则利用所述第二离线数据库中的监控数据计算所述离线计算指标;
若存入所述第二离线数据库,则利用所述第一离线数据库中的监控数据计算所述离线计算指标。
11.如权利要求10所述的实时指标生成系统,其特征在于,设定所述时间要求为在第i+N个时段将所述内存中符合所述数据更新条件的第i个时段生成的监控数据更新至离线存储,i、N均为正整数;所述第一离线数据库用于存储i为奇数的时段生成的监控数据,所述第二离线数据库用于存储i为偶数的时段生成的监控数据;
判断当前时段正在被更新的监控数据存入所述第一离线数据库还是所述第二离线数据库,包括:
令当前时段为第i+N个时段,当前时段正在被更新的监控数据为第i个时段生成的监控数据:
判断i为奇数还是偶数;
若为奇数,则当前时段正在被更新的监控数据存入所述第一离线数据库;
若为偶数,则当前时段正在被更新的监控数据存入所述第二离线数据库。
12.如权利要求8所述的实时指标生成系统,其特征在于,所述实时指标生成系统还包括:
数据删除单元,用于在所述离线存储内的监控数据的总数据量超过总量阈值时,删除数据生成时间最早的监控数据。
13.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现权利要求1至6中任一项所述的实时指标生成方法。
14.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现权利要求1至6中任一项所述的实时指标生成方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810517811.7A CN110597830A (zh) | 2018-05-25 | 2018-05-25 | 实时指标生成方法和系统、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810517811.7A CN110597830A (zh) | 2018-05-25 | 2018-05-25 | 实时指标生成方法和系统、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110597830A true CN110597830A (zh) | 2019-12-20 |
Family
ID=68848812
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810517811.7A Pending CN110597830A (zh) | 2018-05-25 | 2018-05-25 | 实时指标生成方法和系统、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110597830A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113379208A (zh) * | 2021-05-28 | 2021-09-10 | 同盾科技有限公司 | 指标计算方法、装置及可读存储介质 |
CN113742397A (zh) * | 2021-08-30 | 2021-12-03 | 慕思健康睡眠股份有限公司 | 睡眠监测方法、装置、监测设备及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110137939A1 (en) * | 2009-12-09 | 2011-06-09 | Linkage Technology Group Co., Ltd. | Data Supervision Based on the Configuration Rule of All Operational Indicators |
CN107122431A (zh) * | 2017-04-14 | 2017-09-01 | 浙江数链科技有限公司 | 一种实时计算平台及基于实时计算平台的数据计算方法 |
CN107329694A (zh) * | 2017-06-22 | 2017-11-07 | 苏州交运电子科技有限公司 | 数据存储控制方法、控制装置及存储设备 |
-
2018
- 2018-05-25 CN CN201810517811.7A patent/CN110597830A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110137939A1 (en) * | 2009-12-09 | 2011-06-09 | Linkage Technology Group Co., Ltd. | Data Supervision Based on the Configuration Rule of All Operational Indicators |
CN107122431A (zh) * | 2017-04-14 | 2017-09-01 | 浙江数链科技有限公司 | 一种实时计算平台及基于实时计算平台的数据计算方法 |
CN107329694A (zh) * | 2017-06-22 | 2017-11-07 | 苏州交运电子科技有限公司 | 数据存储控制方法、控制装置及存储设备 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113379208A (zh) * | 2021-05-28 | 2021-09-10 | 同盾科技有限公司 | 指标计算方法、装置及可读存储介质 |
CN113742397A (zh) * | 2021-08-30 | 2021-12-03 | 慕思健康睡眠股份有限公司 | 睡眠监测方法、装置、监测设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11249980B2 (en) | Updating of in-memory synopsis metadata for inserts in database table | |
CN107870981B (zh) | 电子装置、数据表归档处理的方法及存储介质 | |
US9971777B2 (en) | Smart archiving of real-time performance monitoring data | |
CN109271435B (zh) | 一种支持断点续传的数据抽取方法及系统 | |
CN111339073A (zh) | 实时数据处理方法、装置、电子设备及可读存储介质 | |
US20200364185A1 (en) | Method for data replication in a data analysis system | |
US11977532B2 (en) | Log record identification using aggregated log indexes | |
CN111061758B (zh) | 数据存储方法、装置及存储介质 | |
CN113407649A (zh) | 数据仓库建模方法、装置、电子设备及存储介质 | |
CN108809704B (zh) | 基于动态时间窗的数据去重统计方法及装置 | |
CN111143158A (zh) | 一种监控数据实时存储方法、系统、电子设备及存储介质 | |
CN112559592A (zh) | 实时数据处理方法、装置及设备 | |
CN110597830A (zh) | 实时指标生成方法和系统、电子设备及存储介质 | |
US11314742B2 (en) | Caching time-sensitive data via sliding window partitions | |
CN109240893B (zh) | 应用运行状态查询方法及终端设备 | |
CN110737727A (zh) | 一种数据处理的方法及系统 | |
CN110855484B (zh) | 自动检测业务量变化的方法、系统、电子设备和存储介质 | |
CN112905732A (zh) | 电表抄读成功率的获取方法、装置 | |
CN111445046A (zh) | 酒店预订信息的处理方法、系统、电子设备及存储介质 | |
CN107295059A (zh) | 业务推送量的统计系统及方法 | |
CN112100175B (zh) | 分区数据定向传递方法及装置 | |
CN113760950A (zh) | 指标数据查询方法、装置、电子设备以及存储介质 | |
US11138187B2 (en) | Data update program, data update method, and data update device | |
US10558647B1 (en) | High performance data aggregations | |
CN110837365A (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 |