[发明专利]一种基于云平台的分布式流程处理解决方法及系统有效
申请号: | 202110588986.9 | 申请日: | 2021-05-28 |
公开(公告)号: | CN113204575B | 公开(公告)日: | 2023-08-01 |
发明(设计)人: | 胡建德 | 申请(专利权)人: | 西藏宁算科技集团有限公司 |
主分类号: | G06F16/2455 | 分类号: | G06F16/2455;G06F16/23 |
代理公司: | 南京苏高专利商标事务所(普通合伙) 32204 | 代理人: | 柏尚春 |
地址: | 851414 西藏自*** | 国省代码: | 西藏;54 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 平台 分布式 流程 处理 解决方法 系统 | ||
本发明公开了一种基于云平台的分布式流程处理解决方法及系统,本发明将一个复杂java实现的业务功能代码,逐一拆分成多个Step,每个Step记录当前执行状态的信息,存于MQ中保持唯一性,每个Step在不同服务器有相同的子任务副本,通过判断Step当前状态,在集群环境中共同执行,本发明利用了MQ对异步、高并发的支持来实现多服务之间的协同处理,最终达到资源利用率最高的场景,提高了数据处理能力以及数据处理效率。
技术领域
本发明涉及分布式领域以及java应用领域,特别涉及一种基于云平台的分布式流程处理解决方法及系统。
背景技术
在现今的java企业级应用环境,越来越多的需求以及越来越复杂功能场景逐渐增多并且还伴随着高并发,低延迟的强业务需求,目前的行业没有太多的场景框架,更多的倾向于服务间的负载方案,现有SpringBatch等批处理框架是单节点多线程处理方式,定时任务处理只能单节点,无法利用微服务集群的优势,发挥服务器性能。本发明保留服务负载均衡,继续对业务流程进行拆分,进一步提高服务容错以及提高响应速度。
发明内容
发明目的:本发明的目的是提供一种基于云平台的分布式流程处理解决方法及系统,解决复杂业务功能场景下分任务模式以及多节点共同执行的问题,创造一个分布式流程任务管理平台。
技术方案:本发明所述的一种基于云平台的分布式流程处理解决方法,包括以下步骤:
S1:程序启动时启动主流程入口,具体包括以下步骤:
S1.1:程序从数据库中查询数据,查询条件为业务条件;
S1.2:数据查询完毕后,开始组装Step需要的数据格式;
S1.3:数据组装完毕后,发送至MQ;
S2:将java的业务功能分为Step1、Step2、...、StepN,其中N为大于1的正整数,多个Step监听同一个MQ;
S3:在需要处理的业务数据来临时,多个Step同时监听到该条数据,但该条数据仅会被全局中的一个Step所处理;
S4:Step处理业务数据,具体包括以下步骤:
S4.1:Step判断业务数据的Step是否为当前态,若不是当前态则将数据重新发回MQ,若是当前态进入下一步;
S4.2:连接redis,对业务数据中唯一性ID进行加锁,若加锁成功,则处理当前业务,若加锁失败,结束当前任务;
S4.3:业务数据处理完毕后,将业务数据的当前状态更新为下一个Step所需要的状态,更新完毕后将业务数据推送至MQ,当前任务结束;
S4.4:若出现异常情况,将不同异常情况推送至补偿队列中,特殊处理。
作为优选,所述Step为多服务多副本模块。
作为优选,所述MQ为集群环境。
作为优选,所述S2中的每个Step在集群环境中,每有一个服务对应有一个Step副本。
作为优选,所述业务数据在被处理一次后必定会被消费。
作为优选,所述S4.2中对业务数据唯一性ID进行加锁采用的是分布式锁redisson。
有益效果:本发明利用了MQ对异步、高并发的支持来实现多服务之间的协同处理,最终达到资源利用率最高的场景,提高了数据处理能力以及数据处理效率。
附图说明
图1是本发明的流程示意图。
具体实施方式
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于西藏宁算科技集团有限公司,未经西藏宁算科技集团有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110588986.9/2.html,转载请声明来源钻瓜专利网。