System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种应对分布式计费系统中热点数据冲击的方法及系统技术方案_技高网

一种应对分布式计费系统中热点数据冲击的方法及系统技术方案

技术编号:41111670 阅读:2 留言:0更新日期:2024-04-25 14:03
本发明专利技术涉及一种应对分布式计费系统中热点数据冲击的方法及系统,通过设置热点数据识别组件,能够对经过数据服务网关的热点数据进行识别并分流至旁支中,不影响主线的正常运转,对旁支的热点数据能够通过在第二分布式消息队列中合并,或/和经由低并发的第二计费集群处理的方式,稀释热点数据的密度和并发度,从而能够解决消息流分布式系统因高并发而带来的隐患,在实际运用中充分有效地化解高密度热点数据的冲击,补足其最薄弱一环,得以将分布式系统的先天优势充分发挥;方案完整且普适性强,可以有效面对各种突发未知的热点,甚至可推广至非计费类的消息流分布式系统中。

【技术实现步骤摘要】

本专利技术涉及分布式,尤其涉及一种应对分布式计费系统中热点数据冲击的方法及系统


技术介绍

1、当前电信行业的计费系统,基本是按照消息流加分布式的技术架构进行搭建,并通过将处理节点容器化的方式实现能力的弹性扩展。其具体的简化架构模式可参照图1所示,其特征主要是如下几点:

2、1.高并发:日均百亿级待处理消息;

3、2.高精度:对计算的精确度和数据持久化的可靠性要求极高,因此无法采用类似大数据的流式框架那样以内存计算为主的架构,需要采用高可靠持久化的数据库(集群)为基础进行数据的处理;

4、3.高弹性:需具备灵活扩容的能力,以快速消解因较长时间的系统故障或升级等原因导致的大量堆积消息。

5、现有的技术架构虽已具备高并发、高精度和高弹性的能力,但仍然存在一大不稳定的因素,那就是高密度热点数据的冲击。

6、作为弹性能力相对薄弱的数据层,当遇到热点数据(同一个key)的持续高并发的更新时,需要将更新后热点数据的计费结果写入数据库单一数据节点上,导致热点数据的写锁严重冲突,请求阻塞,数据库线程的平均处理耗时急剧上升,并有更多线程不断被拉起,使得数据库层面的cpu飙升,非热点数据的处理响应也被波及和影响,甚至如果热点数据密度和量级过大,将造成系统全面的瘫痪。

7、参照图2所示,即便数据层采用的是分布式数据库,虽可以通过弹性扩容数据节点的方式来提升数据库整体吞吐量,但问题是热点数据的冲击是集中在单一数据节点上,重分布也只能将节点的其他一些数据分离,完全无法稀释热点数据冲击的密度,几无效果。

8、更为严重的是,在系统因割接等原因暂停一段时间导致大量消息堆积,此时会将消息密度数倍地放大,当系统恢复处理时,一边是希望能通过扩容应用节点或增加处理线程等手段提高整体并发以快速消解积压恢复常态,另一方面,此时若堆积消息中存在高密度热点数据,却又会因为高并发导致数据层难以负荷,处于左右两难的无解状态。


技术实现思路

1、(一)要解决的技术问题

2、为了解决现有技术的上述问题,本专利技术提供一种应对分布式计费系统中热点数据冲击的方法及系统,能够大幅增强系统动态识别并抵御热点数据冲击的能力。

3、(二)技术方案

4、为了达到上述目的,本专利技术采用的一种技术方案为:一种应对分布式计费系统中高密度热点数据冲击的方法,采集消息后,所述消息依次经过任务生产集群、第一分布式消息队列、任务消费集群和数据服务网关进行处理,所述任务消费集群包含有高并发的第一计费集群,之后将处理后的所述消息写入至分布式数据库的对应数据节点中,在此过程中,还包括:

5、s1、在所述数据服务网关处设置热点数据识别组件;

6、s2、当所述热点数据识别组件判定接收到的消息为热点数据且其并发度超出阈值时,将所述消息转换为队列的任务消息,划分所述任务消息的热点数据类别,分别将相同热点数据类别的所述任务消息写入至第二分布式消息队列的同一限流主题中;

7、s3、判断同一限流主题中的所述任务消息的类型是否可合并,若是,执行s31,若否,执行s32;

8、s31、合并所述任务消息得到合并消息,并将所述合并消息发送至低并发的第二计费集群中进行计费计算,并将计算的费用结果更新至所述合并消息中,后通过所述数据服务网关将所述合并消息中的所述费用结果写入至所述分布式数据库的对应数据节点中;

9、s32、将同一限流主题中的所述任务消息发送至低并发的第二计费集群中进行计费计算,并将计算的费用结果更新至所述合并消息中,后通过所述数据服务网关将所述合并消息中的所述费用结果写入至所述分布式数据库的对应数据节点中。

10、本专利技术采用的另一种技术方案为:一种应对分布式计费系统中热点数据冲击的系统,包括消息主干组件和消息旁支组件:

11、所述消息主干组件包括任务生产集群、第一分布式消息队列、任务消费集群和数据服务网关和分布式数据库,所述任务消费集群包含有高并发的第一计费集群,采集消息后依次经过所述任务生产集群、第一分布式消息队列、任务消费集群和数据服务网关处理,之后将处理后的所述消息写入至分布式数据库的对应数据节点中;

12、所述消息旁支组件包括:热点数据识别组件、第二分布式消息队列和低并发的第二计费集群;

13、所述热点识别组件设置于数据服务网关处,用于判定在接收到的消息是否为热点数据且其并发度是否已超出阈值,可将超出阈值的消息转换为队列的任务消息,划分所述任务消息的热点数据类型,分别将相同热点数据类型的所述任务消息写入至第二分布式消息队列的同一限流主题中;

14、所述第二计费集群的限流主题都对接有一套合并程序和所述低并发的第二计费集群,基于所述任务消息的类型使用合并程序和低并发程序对所述任务消息进行合并和计费计算,或跳过合并仅进行计费计算,并将计算的费用结果更新至所述合并消息中,并通过所述数据服务网关将消息中的所述费用结果写入至所述分布式数据库的对应数据节点中。

15、(三)有益效果

16、本专利技术的有益效果是:通过设置热点数据识别组件,能够对经过数据服务网关的热点数据进行识别并分流至旁支中,不影响主线的正常运转,对旁支的热点数据能够通过在第二分布式消息队列中合并,或/和经由低并发的第二计费集群处理的方式,稀释热点数据的密度和并发度,从而能够解决消息流分布式系统因高并发而带来的隐患,在实际运用中充分有效地化解高密度热点数据的冲击,补足其最薄弱一环,得以将分布式系统的先天优势充分发挥;方案完整且普适性强,可以有效面对各种突发未知的热点,甚至可推广至非计费类的消息流分布式系统中。

本文档来自技高网...

【技术保护点】

1.一种应对分布式计费系统中热点数据冲击的方法,采集消息后,所述消息依次经过任务生产集群、第一分布式消息队列、任务消费集群和数据服务网关进行处理,所述任务消费集群包含有高并发的第一计费集群,之后将处理后的所述消息写入至分布式数据库的对应数据节点中,其特征在于,在此过程中,还包括:

2.根据权利要求1所述的应对分布式计费系统中热点数据冲击的方法,其特征在于,所述S1还包括:

3.根据权利要求1所述的应对分布式计费系统中热点数据冲击的方法,其特征在于,所述S31中合并所述任务消息得到合并消息包括:

4.根据权利要求3所述的应对分布式计费系统中热点数据冲击的方法,其特征在于,所述S31中所述任务消息根据其类型进行合并等待作业包括:

5.根据权利要求4所述的应对分布式计费系统中热点数据冲击的方法,所述S31之后还包括:

6.根据权利要求1所述的应对分布式计费系统中热点数据冲击的方法,其特征在于,所述S3还包括:

7.一种使用权利要求1至6任一项所述的应对分布式计费系统中热点数据冲击的方法的系统,其特征在于,包括消息主干组件和消息旁支组件:

8.根据权利要求7所述的应对分布式计费系统中热点数据冲击的系统,其特征在于,所述消息旁支组件还包括流控服务网关;

...

【技术特征摘要】

1.一种应对分布式计费系统中热点数据冲击的方法,采集消息后,所述消息依次经过任务生产集群、第一分布式消息队列、任务消费集群和数据服务网关进行处理,所述任务消费集群包含有高并发的第一计费集群,之后将处理后的所述消息写入至分布式数据库的对应数据节点中,其特征在于,在此过程中,还包括:

2.根据权利要求1所述的应对分布式计费系统中热点数据冲击的方法,其特征在于,所述s1还包括:

3.根据权利要求1所述的应对分布式计费系统中热点数据冲击的方法,其特征在于,所述s31中合并所述任务消息得到合并消息包括:

4.根据权利要求3所述的应对分布式计...

【专利技术属性】
技术研发人员:杨剑王烨
申请(专利权)人:福建福诺移动通信技术有限公司
类型:发明
国别省市:

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

1