System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及数据处理,尤其涉及一种流式数据处理的方法及系统。
技术介绍
1、目前系统中都存在大部分的流式数据的功能,主要用于上下游模块的解耦,通常上游模块中会把各种消息通过流的方式,使用流通道传递到下游模块中,下游模块接收到这些消息后,进行流式数据的解析操作,再进行后续的消息处理,由于流式数据无法知晓数据类型,因此在进行数据传输时,通常是针对不用类型的流式数据建立不同的流通道,通过对应的流通道对流式数据进行传输,以便区分流式数据的类型,但随着流通道的增加,增加了资源消耗,降低系统的性能,后续虽然做了一些改进,如:将2-3种类型的流式数据通过一个流通道进行传递,以减少流通道的数量,降低资源消耗,但在后续下游模块的解析中,由于多种类型的流式数据使用同一个流通道进行传输,下游模块不知道具体流式数据的类型,只能进行多种解析,当一种解析失败后,采用另一种方式进行解析,导致解析时间过长,增加耗时同时也增加了资源消耗,影响流式数据的处理效率。
技术实现思路
1、本专利技术所要解决的技术问题是:本专利技术提供一种流式数据处理的方法及系统,提高流式数据的处理效率,降低资源消耗,保证系统性能。
2、为了解决上述技术问题,本专利技术采用的技术方案为:
3、第一方面,本专利技术提供一种流式数据处理的方法,包括步骤:
4、在流通道中建立内部消息队列,当流消息产生时,通过所述流通道将所述流消息转化为流式数据同时生成所述流消息的消息格式,将所述消息格式传递至所述内部消息队列
5、当对所述流式数据进行消费时,同步从所述内部消息队列中获取所述消息格式,根据所述消息格式对所述流式数据进行消费。
6、本专利技术的有益效果在于:当流消息产生时,通过流通道将其转化为流式数据的同时还会生成该流消息的消息格式,并将该消息格式传递到建立在流通道中的内部消息队列中,使得在对流式数据进行消费时,同步从内部消息队列中获取对应的消息格式对流式数据进行消费,即,在流通道中直接实现了流式数据的转化,使得上游模块、下游模块以及消费者只需要针对对象进行处理,不需要进行消息转换,且根据消息格式对流式数据进行消费,即,上游模块和下游模块也不需进行流式数据的解析,减少工作量的同时降低资源消耗,并且以生成消息格式将其传递至内部消息队列的形式实现了支持一个流通道传递多种类型的流式数据,且无需进行多种解析,只需要根据消息格式即可进行消费,降低资源消耗,提高整体流式数据的处理效率,保证系统性能。
7、可选地,所述通过所述流通道将所述流消息转化为流式数据同时生成所述流消息的消息格式包括:
8、通过所述流通道将所述流消息转化为流式数据同时获取所述流消息的消息类型,根据所述消息类型从预设映射关系表中得到与所述消息类型对应的消息格式。
9、根据上述描述可知,以预设映射关系表的方式得到与流消息的消息类型对应的消息格式,保证消息格式的准确性。
10、可选地,所述根据所述消息格式对所述流式数据进行消费包括:
11、判断消费是否成功,若是,则将所述流式数据的消费状态标记为正常消费,若否,则将所述流式数据的消费状态标记为异常消费。
12、根据上述描述可知,根据消费是否成功对流式数据的消费状态进行正常消费和异常消费的标记,便于了解消费情况同时便于后续进行管理。
13、可选地,还包括:
14、将所述消费状态为异常消费的流式数据位移至异常消息队列,对所述异常消息队列中的流式数据进行预设次数的重新消费,若预设次数的重新消费均失败,则对所述流式数据进行告警,若预设次数的重新消费至少有一次成功,则将所述流式数据的消费状态更新为正常消费。
15、根据上述描述可知,将异常消费的流式数据位移至异常消费队列进行重新消费,提高消费成功率的同时,避免其对内部消息队列造成影响,提高整体流式数据的处理效率,保证系统性能。
16、可选地,所述预设次数为[1,3]。
17、第二方面,本专利技术提供一种流式数据处理的系统,包括:
18、转化模块,用于在流通道中建立内部消息队列,当流消息产生时,通过所述流通道将所述流消息转化为流式数据同时生成所述流消息的消息格式,将所述消息格式传递至所述内部消息队列;
19、消费模块,用于当对所述流式数据进行消费时,同步从所述内部消息队列中获取所述消息格式,根据所述消息格式对所述流式数据进行消费。
20、本专利技术的有益效果在于:当流消息产生时,通过流通道将其转化为流式数据的同时还会生成该流消息的消息格式,并将该消息格式传递到建立在流通道中的内部消息队列中,使得在对流式数据进行消费时,同步从内部消息队列中获取对应的消息格式对流式数据进行消费,即,在流通道中直接实现了流式数据的转化,使得上游模块、下游模块以及消费者只需要针对对象进行处理,不需要进行消息转换,且根据消息格式对流式数据进行消费,即,上游模块和下游模块也不需进行流式数据的解析,减少工作量的同时降低资源消耗,并且以生成消息格式将其传递至内部消息队列的形式实现了支持一个流通道传递多种类型的流式数据,且无需进行多种解析,只需要根据消息格式即可进行消费,降低资源消耗,提高整体流式数据的处理效率,保证系统性能。
21、可选地,所述转化模块具体为:
22、通过所述流通道将所述流消息转化为流式数据同时获取所述流消息的消息类型,根据所述消息类型从预设映射关系表中得到与所述消息类型对应的消息格式。
23、根据上述描述可知,以预设映射关系表的方式得到与流消息的消息类型对应的消息格式,保证消息格式的准确性。
24、可选地,所述消费模块包括:
25、判断模块,用于判断消费是否成功,若是,则将所述流式数据的消费状态标记为正常消费,若否,则将所述流式数据的消费状态标记为异常消费。
26、根据上述描述可知,根据消费是否成功对流式数据的消费状态进行正常消费和异常消费的标记,便于了解消费情况同时便于后续进行管理。
27、还包括:
28、重试模块,用于将所述消费状态为异常消费的流式数据位移至异常消息队列,对所述异常消息队列中的流式数据进行预设次数的重新消费,若预设次数的重新消费均失败,则对所述流式数据进行告警,若预设次数的重新消费至少有一次成功,则将所述流式数据的消费状态更新为正常消费。
29、根据上述描述可知,将异常消费的流式数据位移至异常消费队列进行重新消费,提高消费成功率的同时,避免其对内部消息队列造成影响,提高整体流式数据的处理效率,保证系统性能。
30、可选地,所述预设次数为[1,3]。
本文档来自技高网...【技术保护点】
1.一种流式数据处理的方法,其特征在于,包括:
2.如权利要求1所述的一种流式数据处理的方法,其特征在于,所述通过所述流通道将所述流消息转化为流式数据同时生成所述流消息的消息格式包括:
3.如权利要求1所述的一种流式数据处理的方法,其特征在于,所述根据所述消息格式对所述流式数据进行消费包括:
4.如权利要求3所述的一种流式数据处理的方法,其特征在于,还包括:
5.如权利要求4所述的一种流式数据处理的方法,其特征在于,所述预设次数为[1,3]。
6.一种流式数据处理的系统,其特征在于,包括:
7.如权利要求6所述的一种流式数据处理的系统,其特征在于,所述转化模块具体为:
8.如权利要求6所述的一种流式数据处理的系统,其特征在于,所述消费模块包括:
9.如权利要求8所述的一种流式数据处理的系统,其特征在于,还包括:
10.如权利要求9所述的一种流式数据处理的系统,其特征在于,所述预设次数为[1,3]。
【技术特征摘要】
1.一种流式数据处理的方法,其特征在于,包括:
2.如权利要求1所述的一种流式数据处理的方法,其特征在于,所述通过所述流通道将所述流消息转化为流式数据同时生成所述流消息的消息格式包括:
3.如权利要求1所述的一种流式数据处理的方法,其特征在于,所述根据所述消息格式对所述流式数据进行消费包括:
4.如权利要求3所述的一种流式数据处理的方法,其特征在于,还包括:
5.如权利要求4所述的一种流式数据处理的方法,其...
【专利技术属性】
技术研发人员:林伟,蒋锋,
申请(专利权)人:福建福诺移动通信技术有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。