[发明专利]一种业务处理方法及装置、电子设备、存储介质在审
申请号: | 202111564288.1 | 申请日: | 2021-12-20 |
公开(公告)号: | CN114398631A | 公开(公告)日: | 2022-04-26 |
发明(设计)人: | 童晶继 | 申请(专利权)人: | 挂号网(杭州)科技有限公司 |
主分类号: | G06F21/55 | 分类号: | G06F21/55;G06F16/23 |
代理公司: | 北京超凡宏宇专利代理事务所(特殊普通合伙) 11463 | 代理人: | 杨奇松 |
地址: | 311200 浙江省杭州市萧山区萧山*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 业务 处理 方法 装置 电子设备 存储 介质 | ||
本申请提供一种业务处理方法及装置、电子设备、存储介质,该方法包括:获取目标业务请求;确定与所述目标业务请求对应的幂等函数,依据所述幂等函数判断是否获得所述目标业务请求对应的锁;若是,执行目标业务请求对应的业务逻辑;若否,返回异常信息。本申请可以防止恶意大量的无用的重复请求,以及因为网络抖动造成重复表单数据的重复提交,从而高效地提升系统的高可用、高扩展性以及安全性等,使服务系统集群化部署更加安全、简洁、稳定,做到基于配置化,服务无侵入性的快速接入业务系统。
技术领域
本申请涉及互联网领域,特别涉及一种业务处理方法及装置、电子设备、存储介质。
背景技术
住院系统单体运用在集群化部署过程中,服务内部存在定时任务需要调用外部系统的药品数据、药品库存,检查项目等信息,多节点下在同一时间下任务同时执行,会造成院内下的药房数据出现重复的药品目录信息;以及在弱网环境下,在住院医生核对医嘱时出现表单数据重复提交,医嘱下的开的药品,检查项目重复,也会导致需要大量的医务人员成本去删除重复的数据,进而造成人员的效率降低,时间成本增加,系统的不可靠性增加。
现有的基于服务集群化部署:普遍的方案是通过token令牌机制,在调用服务接口时,首先去请求后端生成token,将token存放到缓存redis-key中并返回给前端,前端表单提交需在Header上携带该token去请求后端接口,这样可能造成用户恶意篡改大量token并发请求后端接口,导致系统负载过大,redis中短时间内存在大量无用key,甚至会造成服务端的不可用。以及现有的基于注解类的方式是通过切面思想,在目标方法进入之前去拦截校验调用方法之前的唯一标识符,亦是造成短时间内大量无效的唯一标识符,无法做到定制化,组件化形式,以及无法快速高效地集成到工程项目当中。
发明内容
本申请实施例提供了一种业务处理方法,用于防止恶意大量的无用的重复业务请求,高效地提升系统的高可用、高扩展性、安全性等,使服务系统集群化部署更加安全、简洁、稳定,做到基于配置化,服务无侵入性的快速接入业务系统。
本申请实施例提供了一种业务处理方法,包括:
获取目标业务请求;
确定与所述目标业务请求对应的幂等函数,依据所述幂等函数判断是否获得所述目标业务请求对应的锁;
若是,执行目标业务请求对应的业务逻辑;
若否,返回异常信息。
在一实施例中,所述幂等函数基于Mysql乐观锁;
所述依据所述幂等函数判断是否获得所述目标业务请求对应的锁,包括:
创建包括主键id和lock name的表结构;
对所述目标业务请求中的指定业务参数进行md5信息摘要算法计算,得到目标标识;
在已创建的锁记录表结构,查找是否存在对应于所述目标标识的锁记录表项;如果是,确定未获得所述目标业务请求对应的锁;
如果否,确定获得所述目标业务请求对应的锁,并创建与所述目标标识对应的锁记录表项。
在一实施例中,所述幂等函数基于Redission分布式锁;
所述依据所述幂等函数,判断是否获得所述目标业务请求对应的锁,包括:
对所述目标业务请求中的指定业务参数进行md5信息摘要算法计算,得到目标标识;
根据Redission中try lock的接口判断是否存在所述目标标识对应的锁;
如果是,确定获得所述目标业务请求对应的锁;
如果否,确定未获得所述目标业务请求对应的锁。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于挂号网(杭州)科技有限公司,未经挂号网(杭州)科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111564288.1/2.html,转载请声明来源钻瓜专利网。