[发明专利]分布式集群的并发处理方法及装置在审
申请号: | 202010592622.3 | 申请日: | 2020-06-24 |
公开(公告)号: | CN111737020A | 公开(公告)日: | 2020-10-02 |
发明(设计)人: | 张崇铭 | 申请(专利权)人: | 广联达科技股份有限公司 |
主分类号: | G06F9/52 | 分类号: | G06F9/52;G06F9/46 |
代理公司: | 北京英特普罗知识产权代理有限公司 11015 | 代理人: | 程超 |
地址: | 100000 北京市海淀区西*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 分布式 集群 并发 处理 方法 装置 | ||
本发明提供一种分布式集群系统的并发处理方法即处理装置,所述方法包括:获得业务访问请求,构造与所述业务访问请求相对应的并发锁;获取所述并发锁的锁信息,所述锁信息用于表征与所述业务访问请求相对应的业务资源是否被占用;根据所述锁信息确定是否允许所述业务访问请求;在允许所述业务访问请求的情况下,修改所述并发锁的锁信息。本发明提供的分布式集群系统的并发处理方法及处理装置,基于业务访问请求自动构造相应的并发锁,通过获取的锁信息确定是否允许业务访问请求。这样就可以实现在分布式集群系统中线性处理并发请求,避免造成请求冲突。
技术领域
本发明涉及分布式处理技术领域,具体涉及一种分布式集群的并发处理方法及装置。
背景技术
在多线程并发的业务场景中,当多个线程同时操作一个公共变量时,需要通过加锁的方式对变量进行同步操作,保证多线程的操作能够线性执行,消除并发修改。
在单机系统中,通过规定在一个时刻同一个代码块只能有一个线程可执行处理多线程并发,即在代码块中添加锁的标记,以保证每个线程都能看到添加的锁标记。当后续线程发现代码块中已经有锁标记时,需要等待拥有锁标记的线程结束,同步代码块取消锁标记后再去尝试设置新的锁标记。
分布式系统与单机系统最大的不同在于其不是多线程而是多进程。多线程由于可以共享堆内存,因此可以简单的采取内存作为锁标记存储位置。但多进程之间可能都不在同一台物理机上,此时无法简单地通过内存设置锁标记。因此,如何应对分布式系统中的多线程并发情况,成为本领域技术人员亟待解决的问题。
发明内容
因此,本发明要解决的技术问题在于克服现有技术中的上述缺陷,从而提供一种能够可靠处理分布式系统中的多线程并发情况的方案。
为此,根据本发明第一方面,提供了一种分布式集群系统的并发处理方法,包括:
获得业务访问请求,构造与所述业务访问请求相对应的并发锁;
获取所述并发锁的锁信息;
根据所述锁信息确定是否允许所述业务访问请求;
在允许所述业务访问请求的情况下,修改所述并发锁的锁信息。
示例性地,所述响应于业务访问请求,构造与所述业务访问请求相对应的并发锁的步骤包括:
基于所述业务访问请求中的接口参数,通过FreeMarker基于@Synchronized注解的方式构造与所述业务访问请求相对应的并发锁。
示例性地,所述获取所述并发锁的锁信息的步骤包括:
从redis数据库中获取所述并发锁的占用信息和超时信息;所述占用信息表征要访问的当前业务是否已被其它并发锁占用,所述超时信息表征所述其它并发锁占用所述当前业务的时间是否已经超过预设阈值。
示例性地,所述锁信息包括占用信息和超时信息,所述根据所述锁信息确定是否允许所述业务访问请求的步骤包括:
若所述占用信息表征要访问的当前业务未被其它并发锁占用,则允许所述业务访问请求;
若所述占用信息表征要访问的当前业务已被其它并发锁占用,判断所述超时信息是否已经超出所述预设阈值;
若否,拒绝所述业务访问请求;若是,允许所述业务访问请求。
示例性地,所述修改所述并发锁的锁信息的步骤包括:
将所述当前业务的占用信息修改为已被占用;
根据所述预设阈值修改所述超时信息。
示例性地,所述修改所述并发锁的锁信息的步骤还包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于广联达科技股份有限公司,未经广联达科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010592622.3/2.html,转载请声明来源钻瓜专利网。
- 上一篇:跟车控制方法、装置、车辆及存储介质
- 下一篇:一种车用尿素的生产系统