【技术实现步骤摘要】
一种对高并发或大量业务的处理方法及系统
[0001]本专利技术涉及计算机数据处理领域,具体涉及一种对高并发或大量业务的处理方法及系统。
技术介绍
[0002]目前针对高并发数据大量采用队列中间件进行处理,例如现在主流的队列有rabbitMQ、kafak、RocketMQ等,但是在队列中进行大量逻辑处理,如果其中一处逻辑出错就会导致队列中断或者业务中断,出现业务数据不准确和丢失。对于不准确数据的修正和丢失数据的恢复没有更好的备用解决方案,重新进行逻辑处理会造成大量的工作量。
技术实现思路
[0003]针对现有技术中的上述不足,本专利技术提供的一种对高并发或大量业务的处理方法及系统解决了高并发数据一旦逻辑处理失败会带来大量工作量的问题。
[0004]为了达到上述专利技术目的,本专利技术采用的技术方案为:
[0005]提供一种对高并发或大量业务的处理方法,其包括以下步骤:
[0006]S1、获取数据请求包;
[0007]S2、对每个数据请求包生成唯一序列号,并将数据请求包的处理状态映 ...
【技术保护点】
【技术特征摘要】
1.一种对高并发或大量业务的处理方法,其特征在于,包括以下步骤:S1、获取数据请求包;S2、对每个数据请求包生成唯一序列号,并将数据请求包的处理状态映射为值存入缓存中,构建数据请求包处理队列;S3、基于业务类型,将当前请求数据包中的请求数据拆分成若干个模块,给每个模块生成一个唯一序列号,并将每个模块的处理状态映射为值存入缓存中;S4、对于每个模块,判断其是否为简单模块,若是则直接加入逻辑处理队列,进入步骤S6;否则进入步骤S5;S5、按照逻辑类型将当前模块拆分成若干个关联单元,并按照逻辑顺序依次将属于同一个模块的关联单元加入逻辑处理队列,进入步骤S6;S6、按照模块的序列号的先后顺序对属于同一个请求数据包的逻辑处理队列进行逻辑处理,修改当前请求数据包中逻辑处理成功的模块的处理状态;S7、判断当前请求数据包是否存在逻辑处理失败的模块,若是则进入步骤S8;否则删除当前数据包所有的缓存,进入步骤S10;S8、将当前请求数据包中逻辑处理失败的模块进行再次逻辑处理;S9、判断当前请求数据包的再次逻辑处理是否均成功,若是则删除当前数据包所有的缓存,进入步骤S10;否则采用与步骤S4至步骤S8相同的方法对当前请求数据包逻辑处理未成功的模块进行处理,直至处理成功,进入步骤S10;S10、判断数据请求包处理队列是否还存在待处理数据包,若是则返回步骤S3;否则结束处理。2.根据权利要求1所述的对高并发或大量业务的处理方法,其特征在于,步骤S3中将每个模块的处理状态映射为值的具体方法为:将每个模块的处理状态映射初始值设置为0,表示未处理成功;将处理成功的模块的处理状态值映射为1。3.根据权利要求1所述的对高并发或大量业务的处理方法,其特征在于,步骤S6中对属于同一个请求数据包的不同简单模块采用多线程处理方式进行同步处理。4.根据权利要求2所述的对高并发或大量业务的处理方法,其特征在于,步骤S7中判断当前请求数据包是否存在逻辑处理失败的模块的具体方法为:判断当前请求数据包中每个模块的处理状态值是否均为1,若是则表示当前请求数据包不存在逻辑处理失败的模块;否则存在逻辑处理失败的模块。5.根据权利要求1所述的对高并发或大量业务的处理方法,其特征在于,步骤S9中采用...
【专利技术属性】
技术研发人员:叶明,朱作飞,侯超,
申请(专利权)人:成都旋极历通信息技术有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。