System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种海量数据下数据实时统计的系统及方法技术方案_技高网

一种海量数据下数据实时统计的系统及方法技术方案

技术编号:40516412 阅读:10 留言:0更新日期:2024-03-01 13:33
本申请提供了一种海量数据下数据实时统计的系统及方法,其中,海量数据下数据实时统计的系统,包括:配置中心模块,配置中心模块用于管理待统计业务的业务开关和key生成规则;批量统计队列模块,批量统计队列模块与配置中心模块连接,批量统计队列模块用于将待统计业务放入本地批量处理队列中;key生成器模块,key生成器模块与配置中心模块连接,key生成器模块用于根据key生成规则解析生成Redis HyerLogLog的key;Hyperloglog统计器模块,Hyperloglog统计器模块与批量统计队列模块、key生成器模块连接,Hyperloglog统计器模块用于将Redis HyerLogLog的key以及待统计业务存入Redis的Hyperloglog中;其中,以Redis HyperLogLog作为存储容器。本申请的方案能够在进行海量数据统计时节约存储空间。

【技术实现步骤摘要】

本专利技术涉及数据统计,特别涉及一种海量数据下数据实时统计的系统及方法


技术介绍

1、业务系统通常需要对一些设备数据进行实时统计,以分析设备连接量情况,然而随着业务的发展设备数量越来越多,相关数据每天达千万级别甚至上亿,实时统计变得异常困难,统计查询过程需要消耗大量时间,时效性差,统计时甚至会影响系统正常业务。同时一些业务系统中也常有需要实时统计数量的需求,如统计用户在日活量、接口访问量、某时段设备在线量等。但是,目前用于实现数据统计的方法需要大量的空间去存储数据,在量级过大时,相关数据采集统计过程将受影响,无法快速将数据统计入库,严重时将导致整个系统崩溃。


技术实现思路

1、有鉴于此,本专利技术实施例致力于提供一种海量数据下数据实时统计的系统及方法,可以在进行海量数据统计时节约存储空间。

2、根据本专利技术的一方面,本专利技术一实施例提供的海量数据下数据实时统计的系统,包括:配置中心模块,所述配置中心模块用于管理待统计业务的业务开关和key生成规则;其中,所述业务开关用于开启或关闭统计业务;批量统计队列模块,所述批量统计队列模块与所述配置中心模块连接,所述批量统计队列模块用于将所述待统计业务放入本地批量处理队列中;key生成器模块,所述key生成器模块与所述配置中心模块连接,所述key生成器模块用于根据所述key生成规则解析生成redis hyerloglog的key;hyperloglog统计器模块,所述hyperloglog统计器模块与所述批量统计队列模块、所述key生成器模块连接,所述hyperloglog统计器模块用于将redis hyerloglog的key以及所述待统计业务存入redis的hyperloglog中;其中,以redis hyperloglog作为存储容器。

3、在一实施例中,所述配置中心模块包括:业务开关单元,所述业务开关单元与所述批量统计队列模块连接,所述业务开关单元用于在业务系统运行状态下开启或关闭所述统计业务;key生成规则管理单元,所述key生成规则管理单元与所述key生成器模块连接,所述key生成规则管理单元用于修改、新增、删除key生成规则。

4、根据本专利技术的另一方面,本专利技术一实施例提供的一种海量数据下数据实时统计的方法,应用于上述任一项实施例所述的海量数据下数据实时统计的系统,所述海量数据下数据实时统计的方法包括:当存在待统计业务时,查看配置中心的业务开关的开关状态;当所述开关状态表示所述业务开关处于开启状态时,将所述待统计业务的数据放入到批量统计队列中;当所述批量统计队列的统计限度大于或等于预设限度时,将所述批量统计队列中的统计数据全部取出;根据从配置中心获取的key生成规则,解析成redis hyerloglog的key;将redis hyerloglog的key以及对应的所述统计数据存入到redis hyperloglog中。

5、在一实施例中,在所述当存在待统计业务时,查看配置中心的业务开关的开关状态之后,所述海量数据下数据实时统计的方法还包括:当所述开关状态表示所述业务开关处于关闭状态时,继续处理系统中除待统计业务外的其他业务;和/或当所述开关状态表示所述业务开关处于开启状态时,将所述待统计业务的数据放入到批量统计队列中且同时处理系统中除待统计业务外的其他业务。

6、在一实施例中,所述当所述批量统计队列的统计限度大于或等于预设限度时,将所述批量统计队列中的统计数据全部取出还包括:当所述批量统计队列的统计时间大于或等于预设时间阈值时,将所述批量统计队列中的统计数据全部取出;或当所述批量统计队列的统计数量大于或等于预设数量阈值时,将所述批量统计队列中的统计数据全部取出;或当所述批量统计队列的统计时间大于或等于预设时间阈值且所述批量统计队列的统计数量大于或等于预设数量阈值时,将所述批量统计队列中的统计数据全部取出。

7、在一实施例中,所述key生成规则包括:待统计业务的每一类数据对应一个key;其中,key的前缀包括服务名和业务;和/或通过配置key中的时间粒度决定所述待统计业务的统计时间段;其中,时间粒度包括以天为单位、以小时为单位、以分钟为单位或者自定义时间段。

8、在一实施例中,所述根据从配置中心获取的key生成规则,解析成redishyerloglog的key包括:所述redis hyerloglog的key决定统计的时间粒度,根据每天、每小时、每分钟或自定义时间段生成不同的key,每个key对应的hyperloglog长度代表着该时间粒度的数量;其中,时间粒度规则为年、月、日、时、分钟。

9、在一实施例中,所述将redis hyerloglog的key以及对应的所述统计数据存入到redis hyperloglog中包括:所述统计数据放在redis的hyperloglog类型的数据结构体中;当存入不同数据时,数据基数进行增加;以及当存入相同数据时,所述数据基数不变。

10、在一实施例中,所述海量数据下数据实时统计的方法还包括:获取查看数据指令;根据所述查看数据指令,从redis中查询对应key的hyperloglog数据长度;反馈所述hyperloglog数据长度;其中,所述hyperloglog数据长度表示统计数据的基数。

11、在一实施例中,所述将redis hyerloglog的key以及对应的所述统计数据存入到redis hyperloglog中还包括:根据数据合并指令,在redis hyperloglog中将多个key的数据进行合并统计总长度。

12、本专利技术实施例提供的海量数据下数据实时统计的系统及方法,采用redis的hyperloglog数据结构作为存储统计数据的容器,利用hyperloglog算法具有去重,且非常优异的空间复杂度特点,以较小的存储空间就可存大量数据基数,同时redis作为常用的缓存中间件,具有单线程高并发的特性,适合应用于海量数据场景下。并且,可以将主业务与统计业务进行解耦,使统计业务不影响主业务的正常运行,提高系统的灵活性,因此,海量数据业务场景下可以以简单、便捷、成本相对较低的方式实现对数据量的实时统计。

本文档来自技高网...

【技术保护点】

1.一种海量数据下数据实时统计的系统,其特征在于,包括:

2.根据权利要求1所述的海量数据下数据实时统计的系统,其特征在于,所述配置中心模块包括:

3.一种海量数据下数据实时统计的方法,应用于上述权利要求1-2中任一项所述的海量数据下数据实时统计的系统,其特征在于,所述海量数据下数据实时统计的方法包括:

4.根据权利要求3所述的海量数据下数据实时统计的方法,其特征在于,在所述当存在待统计业务时,查看配置中心的业务开关的开关状态之后,所述海量数据下数据实时统计的方法还包括:

5.根据权利要求3所述的海量数据下数据实时统计的方法,其特征在于,所述当所述批量统计队列的统计限度大于或等于预设限度时,将所述批量统计队列中的统计数据全部取出还包括:

6.根据权利要求3所述的海量数据下数据实时统计的方法,其特征在于,所述key生成规则包括:

7.根据权利要求6所述的海量数据下数据实时统计的方法,其特征在于,所述根据从配置中心获取的key生成规则,解析成Redis HyerLogLog的key包括:

8.根据权利要求3所述的海量数据下数据实时统计的方法,其特征在于,所述将RedisHyerLogLog的key以及对应的所述统计数据存入到Redis HyperLogLog中包括:

9.根据权利要求3所述的海量数据下数据实时统计的方法,其特征在于,所述海量数据下数据实时统计的方法还包括:

10.根据权利要求3所述的海量数据下数据实时统计的方法,其特征在于,所述将RedisHyerLogLog的key以及对应的所述统计数据存入到Redis HyperLogLog中还包括:

...

【技术特征摘要】

1.一种海量数据下数据实时统计的系统,其特征在于,包括:

2.根据权利要求1所述的海量数据下数据实时统计的系统,其特征在于,所述配置中心模块包括:

3.一种海量数据下数据实时统计的方法,应用于上述权利要求1-2中任一项所述的海量数据下数据实时统计的系统,其特征在于,所述海量数据下数据实时统计的方法包括:

4.根据权利要求3所述的海量数据下数据实时统计的方法,其特征在于,在所述当存在待统计业务时,查看配置中心的业务开关的开关状态之后,所述海量数据下数据实时统计的方法还包括:

5.根据权利要求3所述的海量数据下数据实时统计的方法,其特征在于,所述当所述批量统计队列的统计限度大于或等于预设限度时,将所述批量统计队列中的统计数据全部取出还包括:

6.根据权利要求3所述的海量数据下...

【专利技术属性】
技术研发人员:李顺洪陈良
申请(专利权)人:四川虹美智能科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1