[发明专利]一种对高并发或大量业务的处理方法及系统在审
申请号: | 202111468596.4 | 申请日: | 2021-12-03 |
公开(公告)号: | CN114217985A | 公开(公告)日: | 2022-03-22 |
发明(设计)人: | 叶明;朱作飞;侯超 | 申请(专利权)人: | 成都旋极历通信息技术有限公司 |
主分类号: | G06F9/54 | 分类号: | G06F9/54 |
代理公司: | 成都华烨专利代理事务所(普通合伙) 51336 | 代理人: | 严刘英 |
地址: | 610000 四川省成都市武侯区*** | 国省代码: | 四川;51 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 并发 大量 业务 处理 方法 系统 | ||
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中采用与步骤S4至步骤S8相同的方法对当前请求数据包逻辑处理未成功的模块进行处理的具体方法为:
根据当前请求数据包逻辑处理未成功的模块的序列号,从步骤S3得到的若干个模块中重新获取对应的模块,再采用与步骤S4至步骤S8相同的方法对重新获取的模块进行处理。
6.根据权利要求1所述的对高并发或大量业务的处理方法,其特征在于,步骤S10中判断数据请求包处理队列是否还存在待处理数据包的具体方法为:
判断缓存中是否还存在处理状态映射为值的数据请求包,若是则判定还存在待处理数据包;否则判定不存在待处理数据包。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于成都旋极历通信息技术有限公司,未经成都旋极历通信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111468596.4/1.html,转载请声明来源钻瓜专利网。