一种基于热点发现解决物联网设备上报数据倾斜的方法技术

技术编号:37542084 阅读:21 留言:0更新日期:2023-05-12 16:11
本申请涉及一种基于热点发现解决物联网设备上报数据倾斜的方法,通过引入缓存作为物联设备的实例速率、分区速率和设备热点在设备消息生产端和消费端存储的工具,并利用缓存的过期时间特性实现物联设备的黏性分区。能够将基于黏性分区和热点权重的动态决策分区机制用于物联网领域的设备上报数据分区处理,提升处理效率,同时保证数据处理的有序性和均匀性。解决在物联网场景下,设备数据上报服务端进行处理时,服务端如何在保持数据有序性的同时,能够相对均衡的对上报数据进行分片处理,同时避免产生数据倾斜的问题。采用热点发现解决物联网设备上报数据倾斜的方法,实现设备数据基于消息队列分区的负载均衡和黏性保持。据基于消息队列分区的负载均衡和黏性保持。据基于消息队列分区的负载均衡和黏性保持。

【技术实现步骤摘要】
一种基于热点发现解决物联网设备上报数据倾斜的方法


[0001]本公开涉及物联网设备
,尤其涉及一种基于热点发现解决物联网设备上报数据倾斜的方法、装置和控制系统。

技术介绍

[0002]在物联网集群场景下,为了提高系统吞吐,设备数据由数据采集端进行采集后,需要多个消息消费者同时进行消费。消息队列作为连接设备消息消费者和设备消息生产者的桥梁,面对此场景,也会在队列内部划分不同的分区,供不同的消费者实例和生产者实例使用。但是在实际场景中,往往存在不同设备消息上报频率不同的情况。按照设备进行分区指派的话,则会存在热点数据倾斜到某些分区的情况。这种情况下,则会造成某些分区压力过大,甚至数据堆积,降低整体系统吞吐。
[0003]现有技术中,解决热点数据倾斜的方案主要是随机分配分区,即对每个设备消息不指定分区,由消息队列随机选择分区进行分配。但是消息队列随机选择分区存在如下技术问题:
[0004]随机选择分配分区的方案可以解决数据倾斜的问题,同时由于随机分配,一个设备的数据会分配到不同的分区,由于不同消费者实例并行处理设备速度不一,极易导致设备消息出现乱序,造成设备状态和实际状态的偏差,这种结果在物联网场景下是不可接受的,因此需要进行改进。

技术实现思路

[0005]为了解决上述问题,本申请提出一种基于热点发现解决物联网设备上报数据倾斜的方法、装置和控制系统。
[0006]本申请一方面,提出一种基于热点发现解决物联网设备上报数据倾斜的方法,包括如下步骤:
[0007]引入缓存作为物联设备的实例速率、分区速率和设备热点在设备消息生产端和消费端存储的工具,并利用缓存的过期时间特性实现物联设备的黏性分区;
[0008]配置设备黏性时间,当物联设备在一个黏性时间内无数据上报,则表示黏性失效,设备重新选择分区;
[0009]配置热点统计周期,按照预设条件设置消息消费端进行分区热点权重和设备热点权重统计的周期;
[0010]根据热点统计周期中所统计的分区热点权重和设备热点权重,进行设备消息分区,并将设备消息分区发送至消息队列。
[0011]作为本申请的一可选实施方案,可选地,设备热点权重,反映设备数据在历史周期中相对于整个系统中设备平均速率的权重,其计算过程包括:
[0012]设备热点统计开始;
[0013]设备消息消费端在缓存中提前加载并管理设备基础数据;
[0014]当消费到设备消息时,将设备消息中的设备标识和缓存中的设备基础数据进行对比,得到设备消费数量;
[0015]对设备消费数量进行累加,得到所有设备与其对应的设备消费数量;
[0016]将缓存中得到的设备和其设备消费数量V
i
以及设备数量n代入如下公式进行计算,得到设备热点权重W
i

[0017][0018]计算出设备热点权重的统计结果,将设备与其对应的设备热点权重保存到缓存;
[0019]设备热点统计结束。
[0020]作为本申请的一可选实施方案,可选地,在将设备与其对应的设备热点权重保存到缓存时,所保存的设备与其对应的设备热点权重,为当前热点统计周期中的最高值;
[0021]若下一个热点统计周期存在大于当前热点统计周期中的最高值的权重值,则按照所述权重值更新缓存中的设备热点权重。
[0022]作为本申请的一可选实施方案,可选地,分区热点权重,反映不同分区和实例间的消费压力,其计算过程包括:
[0023]分区热点统计开始,统计分区数据;
[0024]统计在热点统计周期下分区的消费数据量,计算分区速率;
[0025]统计在热点统计周期下实例的消费数据量,计算实例速率;
[0026]将分区速率和实例速率存储至缓存;
[0027]分区热点统计结束。
[0028]作为本申请的一可选实施方案,可选地,根据热点统计周期中所统计的分区热点权重和设备热点权重,进行设备消息分区,并将设备消息分区发送至消息队列,包括:
[0029]设备消息分区开始,查询设备黏性数据;
[0030]根据设备黏性数据,判断是否存在黏性分区:
[0031]是则从缓存中获取黏性分区ID,更新黏性时间,并发送至消息队列分区,设备消息分区结束;
[0032]否则进行分区热点权重查询。
[0033]作为本申请的一可选实施方案,可选地,进行分区热点权重查询,包括:
[0034]查询分区速率,判断是否存在最新的分区速率数据:
[0035]是则查询消费者实例速率,选择消费实例速率最低消费者实例中的最低消费速率分区;
[0036]将选择出的最低消费速率分区所对应的设备ID和对应的分区ID存储至缓存,设置过期时间为设备黏性时间,并发送至消息队列分区,设备消息分区结束。
[0037]作为本申请的一可选实施方案,可选地,进行分区热点权重查询,还包括:
[0038]若不存在最新的分区速率数据,则进行设备热点权重查询;
[0039]根据设备热点权重分配分区;
[0040]将所分配的设备ID和对应的分区ID存储至缓存,设置过期时间为设备黏性时间,并发送至消息队列分区,设备消息分区结束。
[0041]本申请另一方面,提供一种实施所述的基于热点发现解决物联网设备上报数据倾斜的方法的装置,包括:
[0042]黏性分区模块,用于引入缓存作为物联设备的实例速率、分区速率和设备热点在设备消息生产端和消费端存储的工具,并利用缓存的过期时间特性实现物联设备的黏性分区;
[0043]设备黏性时间配置模块,用于配置设备黏性时间,当物联设备在一个黏性时间内无数据上报,则表示黏性失效,设备重新选择分区;
[0044]热点统计周期配置模块,用于配置热点统计周期,按照预设条件设置消息消费端进行分区热点权重和设备热点权重统计的周期;
[0045]设备消息分区模块,用于根据热点统计周期中所统计的分区热点权重和设备热点权重,进行设备消息分区,并将设备消息分区发送至消息队列。
[0046]本申请另一方面,还提供一种控制系统,包括:
[0047]处理器;
[0048]用于存储处理器可执行指令的存储器;
[0049]其中,所述处理器被配置为执行所述可执行指令时实现所述的一种基于热点发现解决物联网设备上报数据倾斜的方法。
[0050]本专利技术的技术效果:
[0051]本申请通过引入缓存作为物联设备的实例速率、分区速率和设备热点在设备消息生产端和消费端存储的工具,并利用缓存的过期时间特性实现物联设备的黏性分区;配置设备黏性时间,当物联设备在一个黏性时间内无数据上报,则表示黏性失效,设备重新选择分区;配置热点统计周期,按照预设条件设置消息消费端进行分区热点权重和设备热点权重统计的周期;根据热点统计周期中所统计的分区热点权重和设备热点权重,进行设备消息分区,并将设备消息分区发送至消息队列。能够将基于黏本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于热点发现解决物联网设备上报数据倾斜的方法,其特征在于,包括如下步骤:引入缓存作为物联设备的实例速率、分区速率和设备热点在设备消息生产端和消费端存储的工具,并利用缓存的过期时间特性实现物联设备的黏性分区;配置设备黏性时间,当物联设备在一个黏性时间内无数据上报,则表示黏性失效,设备重新选择分区;配置热点统计周期,按照预设条件设置消息消费端进行分区热点权重和设备热点权重统计的周期;根据热点统计周期中所统计的分区热点权重和设备热点权重,进行设备消息分区,并将设备消息分区发送至消息队列。2.根据权利要求1所述的一种基于热点发现解决物联网设备上报数据倾斜的方法,其特征在于,设备热点权重,反映设备数据在历史周期中相对于整个系统中设备平均速率的权重,其计算过程包括:设备热点统计开始;设备消息消费端在缓存中提前加载并管理设备基础数据;当消费到设备消息时,将设备消息中的设备标识和缓存中的设备基础数据进行对比,得到设备消费数量;对设备消费数量进行累加,得到所有设备与其对应的设备消费数量;将缓存中得到的设备和其设备消费数量V
i
以及设备数量n代入如下公式进行计算,得到设备热点权重W
i
:计算出设备热点权重的统计结果,将设备与其对应的设备热点权重保存到缓存;设备热点统计结束。3.根据权利要求2所述的一种基于热点发现解决物联网设备上报数据倾斜的方法,其特征在于,在将设备与其对应的设备热点权重保存到缓存时,所保存的设备与其对应的设备热点权重,为当前热点统计周期中的最高值;若下一个热点统计周期存在大于当前热点统计周期中的最高值的权重值,则按照所述权重值更新缓存中的设备热点权重。4.根据权利要求1所述的一种基于热点发现解决物联网设备上报数据倾斜的方法,其特征在于,分区热点权重,反映不同分区和实例间的消费压力,其计算过程包括:分区热点统计开始,统计分区数据;统计在热点统计周期下分区的消费数据量,计算分区速率;统计在热点统计周期下实例的消费数据量,计算实例速率;将分区速率和实例速率存储至缓存;分区热点统计结束。5.根据权利要求1所述的一种基于热点发现解决物联网设备上报数据倾斜的方法,其特征在于,根...

【专利技术属性】
技术研发人员:吴文星万羽宋杨秦钢张弥
申请(专利权)人:杭州指令集智能科技有限公司
类型:发明
国别省市:

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

1