[发明专利]精细化并发控制装置及方法有效
申请号: | 201410265406.2 | 申请日: | 2014-06-13 |
公开(公告)号: | CN104021190B | 公开(公告)日: | 2017-12-29 |
发明(设计)人: | 何飞;陈涌均;代勇;张叶华 | 申请(专利权)人: | 中国民航信息网络股份有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 北京瑞思知识产权代理事务所(普通合伙)11341 | 代理人: | 李涛,袁红红 |
地址: | 100010 北*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 精细 并发 控制 装置 方法 | ||
技术领域
本发明涉及网络控制技术领域,尤其涉及一种精细化并发控制装置及方法。
背景技术
伴随互联网的快速发展,每个互联网应用的访问量都在上升,同时互联网应用自身也在使用各种内部和外部资源,不管是处理外来的访问还是发起对其他系统的访问,都需要一种高效的并发控制机制以使资源能够合理利用,同时保护自身系统的稳定。目前常用的并发控制技术一般都是针对某一总量进行控制,只对总量进行控制容易造成在该总量下的资源竞争的情况出现,比如1秒钟发起100次查询请求的用户肯定比1秒钟只发1次查询请求的用户查出结果的概率大,这种竞争情况的出现其实就已经给很多人提供了一个后门,同时也将造成系统资源的不合理使用及浪费。除此之外很多系统对不同的业务分别进行了并发控制,但是对其中一些相似的业务不能合并到一起进行控制,比如某一系统分别对“网页查询入口”和“webservice查询入口”进行了并发控制,但其实他们都是查询同一种资源,可以放在一起进行并发控制,对于目前越来越复杂的电子商务系统,提供这种对多个模块自由组合进行并发控制的方式是很有必要的。其次,目前常用的并发控制技术中大多还是使用的阻塞方式进行同步控制,比如某一系统对“生成订单”这一操作进行了上限1000的总量控制和同步控制,那么最坏的情况下,当某一笔订单生成很慢时,后面将有999笔订单被阻塞,这样很容易造成内存资源等耗尽而导致系统崩溃,这样的系统稳定性会变得较弱。最后,目前的并发控制技术中也很少用到单通道的处理模式,比如对于“修改订单”这个业务,一般情况下对其进行并发控制时,当某一用户正在进行这个操作时其他所有用户(包括他自己)无法同时进行这个操作,而单通道的处理模式是要实现当某一用户在修改订单时只是自己无法同时再次进行修改,但是其他用户仍然能修改自己的订单,他们互不影响,因为系统分别提供给他们单一处理通道。
发明内容
有鉴于此,本发明提供了一种精细化并发控制装置及方法,通过对应用系统的访问操作进行总量控制和资源单一的并发控制,优化了系统应用资源的使用效率,并使这种优化的结果逐级传递,使整个应用的资源使用效率最大化。
本发明提供的一种精细化并发控制装置,包括并发数控制模块和单通道处理模块,为应用系统提供并发控制;其中,
所述并发数控制模块,用于控制所述应用系统的各功能模块的并发数不超过各自的最大并发数;
所述单通道处理模块,用于避免针对所述应用系统的同一操作进行重复请求。
所述并发数控制模块包括:第一操作请求接收子模块、第一查询子模块、第一操作请求发送子模块以及第一数据库,其中,
所述第一操作请求接收子模块,用于接收对所述应用系统的操作请求,并根据所述操作请求确定其调用的功能模块;
所述第一查询子模块,用于根据所述第一操作请求接收子模块确定的被调用功能模块查询所述第一数据库,得到所述被调用功能模块当前的并发数作为查询结果;
所述第一操作请求发送子模块,用于根据所述第一查询子模块的查询结果,将所述操作请求发送给单通道处理模块;
所述第一数据库,用于存储所述应用系统所有功能模块与其当前并发数及最大并发数的映射。
所述单通道处理模块包括:第二操作请求接收子模块、第二查询子模块、第二操作请求发送子模块以及第二数据库,其中,
所述第二操作请求接收子模块,用于接收所述并发数控制模块发送的操作请求,并根据所述操作请求确定其调用的功能模块;
所述第二查询子模块,用于根据所述第二操作请求接收子模块确定的被调用功能模块查询所述第二数据库,得到所述被调用功能模块的与所述操作请求所对应的标识,并根据所述标识判断所述标识所代表的操作是否正在进行,并返回查询结果;
所述第二操作请求发送子模块,用于根据所述第二查询子模块的查询结果,将所述操作请求发送给所述被调用功能模块;
所述第二数据库,用于存储所述应用系统所有功能模块与各标识的映射;
所述标识,用于表征需要采用单通道处理的具体操作。
所述第一数据库和/或第二数据库的映射关系中的功能模块可以是多个功能模块的集合体。
所述第一数据库和/或第二数据库的映射关系可以被加密。
所述装置还包括日志记录模块,用于记录当前的请求总数和当前请求的功能模块是否正在使用。
所述最大并发数可以通过修改所述第一数据库或所述第一数据库配置文件进行动态更改。
本发明还提供了一种精细化并发控制方法,用于为应用系统提供并发控制;所述方法包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国民航信息网络股份有限公司,未经中国民航信息网络股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410265406.2/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种电磁式手持拍板和生产方法
- 下一篇:一种防过受力钳板摆轴传动机构