System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 数据发布方法、数据消费方法及装置制造方法及图纸_技高网

数据发布方法、数据消费方法及装置制造方法及图纸

技术编号:42461199 阅读:6 留言:0更新日期:2024-08-21 12:49
本申请公开了一种数据发布方法、数据消费方法及装置,涉及计算机技术领域,该数据发布方法包括:获取待处理的业务数据;其中,业务数据包括数据标识;根据数据标识将业务数据分配至第一数据队列;其中,第一数据队列为第一数据队列组合中的其中一个,第一数据队列组合中的第一数据队列利用不同的第一线程进行数据处理;利用第一数据队列对应的第一线程处理业务数据,得到业务数据处理结果,并将业务数据处理结果发布到消息队列。本申请提供的数据发布方法、数据消费方法及装置,在实现业务数据的顺序处理及发布的基础上,提高了业务数据处理时效,可有效防止数据积压,同时可按业务要求以正确顺序处理数据。

【技术实现步骤摘要】

本申请涉及计算机,尤其涉及一种数据发布方法、数据消费方法及装置


技术介绍

1、一些复杂业务场景下,上下游服务依赖有序操作处理数据,需要保证业务数据的顺序发布和顺序订阅消费。

2、现有技术为了解决有序处理数据的问题,不仅需要消息队列(message queue,mq)组件的有序队列能力,而是整个消息从生产,排队,存储到消费都是有序的,即满足以下要求:1、消息生产的有序性:即生产者能有序发送消息;2、消息入出队列的有序性:即消息是按照进入的先后顺序排队列放的,遵循fifo(first in,first out,先入先出)原则。3、消息存储的有序性:部分场景下为了提高可用性,需要将数据持久化到磁盘,这时应遵循有序存放,才能保证后续有序消费;4、消息消费的有序性:即按照顺序进行消费。满足以上几点最常用的方式就是单线程,这样势必影响程序处理性能,造成mq积压,消息处理不及时。

3、直接使用多线程方式发布及消费mq消息,此方式效率高,不会导致消息积压,但是最大的弊端是假如业务上严格要求某一类数据按顺序处理,则此方式可能造成消息处理错乱不能满足业务处理需求。

4、因此,如何保证业务数据的顺序处理,又能保证业务数据处理时效,成为亟待解决的问题。


技术实现思路

1、本申请提供一种数据发布方法、数据消费方法及装置,用以解决现有技术中无法同时保证业务数据的顺序处理以及业务数据处理时效的缺陷,实现在保证业务数据的顺序处理的基础上,提高业务数据处理时效。

2、本申请提供一种数据发布方法,包括:获取待处理的业务数据;其中,所述业务数据包括数据标识;根据所述数据标识将所述业务数据分配至第一数据队列;其中,所述第一数据队列为第一数据队列组合中的其中一个,所述第一数据队列组合中的所述第一数据队列利用不同的第一线程进行数据处理;利用所述第一数据队列对应的所述第一线程处理所述业务数据,得到业务数据处理结果,并将所述业务数据处理结果发布到消息队列。

3、根据本申请提供的一种数据发布方法,所述业务数据处理结果包括多个业务处理节点对应的多个节点处理结果;所述将所述业务数据处理结果发布到消息队列,包括:按照所述多个业务处理节点中所述业务处理节点的处理顺序,将所述业务处理节点对应的所述节点处理结果按序发布到所述消息队列。

4、根据本申请提供的一种数据发布方法,所述根据所述数据标识将所述业务数据分配至第一数据队列,包括:利用哈希算法计算所述数据标识的哈希值;获取所述第一数据队列组合中的所述第一数据队列的第一数量;计算所述哈希值和所述第一数量之比的余数;根据所述哈希值和所述第一数量之比的余数确定所述第一数据队列,并将所述业务数据分配至所述第一数据队列。

5、本申请还提供一种数据消费方法,包括:获取消息队列中的业务数据处理结果;其中,所述业务数据处理结果包括数据标识;根据所述数据标识将所述业务数据处理结果分配至第二数据队列;其中,所述第二数据队列为第二数据队列组合中的其中一个,所述第二数据队列组合中的所述第二数据队列利用不同的第二线程进行数据消费;利用所述第二数据队列对应的所述第二线程对所述业务数据处理结果进行数据消费。

6、根据本申请提供的一种数据消费方法,所述业务数据处理结果包括多个业务处理节点对应的多个节点处理结果;所述利用所述第二数据队列对应的所述第二线程对所述业务数据处理结果进行数据消费,包括:按照所述多个节点处理结果的发布顺序,利用所述第二数据队列对应的所述第二线程按序对所述多个节点处理结果进行数据消费。

7、根据本申请提供的一种数据消费方法,所述根据所述数据标识将所述业务数据处理结果分配至第二数据队列,包括:利用哈希算法计算所述数据标识的哈希值;获取所述第二数据队列组合中的所述第二数据队列的第二数量;计算所述哈希值和所述第二数量之比的余数;根据所述哈希值和所述第二数量之比的余数确定所述第二数据队列,并将所述业务数据处理结果分配至所述第二数据队列。

8、本申请还提供一种数据发布装置,第一获取模块,用于:获取待处理的业务数据;其中,所述业务数据包括数据标识;第一分配模块,用于:根据所述数据标识将所述业务数据分配至第一数据队列;其中,所述第一数据队列为第一数据队列组合中的其中一个,所述第一数据队列组合中的所述第一数据队列利用不同的第一线程进行数据处理;发布处理模块,用于:利用所述第一数据队列对应的所述第一线程处理所述业务数据,得到业务数据处理结果,并将所述业务数据处理结果发布到消息队列。

9、本申请还提供一种数据消费装置,包括:第二获取模块,用于:获取消息队列中的业务数据处理结果;其中,所述业务数据处理结果包括数据标识;第二分配模块,用于:根据所述数据标识将所述业务数据处理结果分配至第二数据队列;其中,所述第二数据队列为第二数据队列组合中的其中一个,所述第二数据队列组合中的所述第二数据队列利用不同的第二线程进行数据消费;消费处理模块,用于:利用所述第二数据队列对应的所述第二线程对所述业务数据处理结果进行数据消费。

10、本申请还提供一种电子装置,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为通过所述计算机程序执行实现如上述任一种所述数据发布方法或所述数据消费方法。

11、本申请还提供一种计算机可读的存储介质,所述计算机可读的存储介质包括存储的程序,其中,所述程序运行时执行实现如上述任一种所述数据发布方法或所述数据消费方法。

12、本申请还提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如上述任一种所述数据发布方法或所述数据消费方法。

13、本申请提供的数据发布方法、数据消费方法及装置,通过获取待处理的业务数据,业务数据包括数据标识,根据数据标识将业务数据分配至第一数据队列,第一数据队列为第一数据队列组合中的其中一个,第一数据队列组合中的第一数据队列利用不同的第一线程进行数据处理,利用第一数据队列对应的第一线程处理业务数据,得到业务数据处理结果,并将业务数据处理结果发布到消息队列,在实现业务数据的顺序处理及发布的基础上,提高了业务数据处理时效,可有效防止数据积压,同时可按业务要求以正确顺序处理数据。

本文档来自技高网...

【技术保护点】

1.一种数据发布方法,其特征在于,包括:

2.根据权利要求1所述的数据发布方法,其特征在于,所述业务数据处理结果包括多个业务处理节点对应的多个节点处理结果;

3.根据权利要求1所述的数据发布方法,其特征在于,所述根据所述数据标识将所述业务数据分配至第一数据队列,包括:

4.一种数据消费方法,其特征在于,包括:

5.根据权利要求4所述的数据消费方法,其特征在于,所述业务数据处理结果包括多个业务处理节点对应的多个节点处理结果;

6.根据权利要求4所述的数据消费方法,其特征在于,所述根据所述数据标识将所述业务数据处理结果分配至第二数据队列,包括:

7.一种数据发布装置,其特征在于,包括:

8.一种数据消费装置,其特征在于,包括:

9.一种计算机可读的存储介质,其特征在于,所述计算机可读的存储介质包括存储的程序,其中,所述程序运行时执行权利要求1至6中任一项所述的方法。

10.一种电子装置,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为通过所述计算机程序执行权利要求1至6中任一项所述的方法。

...

【技术特征摘要】

1.一种数据发布方法,其特征在于,包括:

2.根据权利要求1所述的数据发布方法,其特征在于,所述业务数据处理结果包括多个业务处理节点对应的多个节点处理结果;

3.根据权利要求1所述的数据发布方法,其特征在于,所述根据所述数据标识将所述业务数据分配至第一数据队列,包括:

4.一种数据消费方法,其特征在于,包括:

5.根据权利要求4所述的数据消费方法,其特征在于,所述业务数据处理结果包括多个业务处理节点对应的多个节点处理结果;

6.根据权利要求4所述的数据消费...

【专利技术属性】
技术研发人员:篮勇兴黄涛尹飞
申请(专利权)人:青岛海尔科技有限公司
类型:发明
国别省市:

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

1