一种烟草云平台下高并发逻辑控制的方法

文档序号:9505973阅读:165来源:国知局
一种烟草云平台下高并发逻辑控制的方法
【技术领域】
[0001]本发明具体地说是一种烟草云平台下高并发逻辑控制的方法。
【背景技术】
[0002]当大型企业级应用遇到业务高峰或者后台数据库处理能力下降时,应用服务器,可能接受到多个相同的交易请求。处理不当,经常会导致业务单据重复,或者关键交易数据错误。一般采用应用程序做同步控制,但在集群环境下,无法控制多个应用服务接受到同样交易请求的情况,还是会出现数据重复。还有就是在程序逻辑加入并发控制,这样做会导致程序逻辑复杂对程序员要求比较高,而且会导致事务变大,降低程序的并发性。

【发明内容】

[0003]本发明的目的是克服现有技术中存在的不足,提供一种烟草云平台下高并发逻辑控制的方法。
[0004]本发明的技术方案是按以下方式实现的,其方法如下:
创建一个并发控制表,用来记录当前正在处理的交易的状态和开始处理的时间; 增加状态锁定:判断单据在并发控制表是否存在不存;
如果不存在,则插入,状态为正在使用,时间为数据库时间;
如果存在,则将满足要求的数据状态为正在使用,时间更新为当前数据库时间,如果不满足提交直接返回;
业务逻辑处理完后修状态为不在使用。
[0005]本发明的优点是:
本发明的一种烟草云平台下高并发逻辑控制的方法和现有技术相比,让程序员更多的关注关键的业务逻辑,不必去思考具体的业务请求重复提交的并发控制机制,降低了程序的复杂度,大大提高了软件的开发效率。我们将此方法应用从订单这种高并发的控制应用到采购,调拨,损耗,这种有可能出现多业务员同时操作,或者由于浏览器问题导致的重复提交的应用控制中。
【附图说明】
[0006]图1为一种烟草云平台下高并发逻辑控制的方法的控制流程图。
[0007]实施方式
下面结合附图对本发明的一种烟草云平台下高并发逻辑控制的方法作以下详细说明。
[0008]如图1所示,本发明的一种烟草云平台下高并发逻辑控制的方法,方法如下: 创建一个并发控制表,用来记录当前正在处理的交易的状态和开始处理的时间; 增加状态锁定:判断单据在并发控制表是否存在不存。如果不存在,则插入,状态为正在使用,时间为数据库时间。如果存在,则将满足要求的数据状态为正在使用,时间更新为当前数据库时间,如果不满足提交直接返回; 业务逻辑处理完后修状态为不在使用。
[0009]大型企业级应用在高并发的集群环境中,只通过应用程序已经无法实现并发控制,因为服务器无法获取同一时间点,对同一个业务发起请求。必须通过数据锁的机制来实现这种控制,但是面对高并发的环境,如果在事务中加锁,会对其他交易形成堵塞,降低应用的并发能力,而且对程序员的要求也比较高。我们采用一种在事务外部增加状态控制的机制,来控制并发,当交易的请求结束后,进行修改控制状态。通过设置状态控制的超时时间,来保证当其中一个应用服务器出现异常,无法释放控制状态时,后续的交易可以继续进行。
[0010]本发明的一种烟草云平台下高并发逻辑控制的方法其加工制作非常简单方便,按照说明书附图所示即可加工。
[0011]除说明书所述的技术特征外,均为本专业技术人员的已知技术。
【主权项】
1.一种烟草云平台下高并发逻辑控制的方法,其特征在于方法如下: 创建一个并发控制表,用来记录当前正在处理的交易的状态和开始处理的时间; 增加状态锁定:判断单据在并发控制表是否存在不存; 如果不存在,则插入,状态为正在使用,时间为数据库时间; 如果存在,则将满足要求的数据状态为正在使用,时间更新为当前数据库时间,如果不满足提交直接返回; 业务逻辑处理完后修状态为不在使用。
【专利摘要】本发明提供一种烟草云平台下高并发逻辑控制的方法,创建一个并发控制表,用来记录当前正在处理的交易的状态和开始处理的时间;增加状态锁定:判断单据在并发控制表是否存在不存。如果不存在,则插入,状态为正在使用,时间为数据库时间。如果存在,则将满足要求的数据状态为正在使用,时间更新为当前数据库时间,如果不满足提交直接返回;业务逻辑处理完后修状态为不在使用。本发明和现有技术相比,让程序员更多的关注关键的业务逻辑,不必去思考具体的业务请求重复提交的并发控制机制,降低了程序的复杂度,大大提高了软件的开发效率。
【IPC分类】G06F9/38
【公开号】CN105260163
【申请号】CN201510595376
【发明人】逯新, 王国良
【申请人】浪潮软件股份有限公司
【公开日】2016年1月20日
【申请日】2015年9月18日
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1