[发明专利]一种避免任务同时执行的方法在审
申请号: | 201410167127.2 | 申请日: | 2014-04-24 |
公开(公告)号: | CN103984544A | 公开(公告)日: | 2014-08-13 |
发明(设计)人: | 张道伟;王旭;吕万波 | 申请(专利权)人: | 浪潮电子信息产业股份有限公司 |
主分类号: | G06F9/44 | 分类号: | G06F9/44 |
代理公司: | 济南信达专利事务所有限公司 37100 | 代理人: | 姜明 |
地址: | 250101 山东*** | 国省代码: | 山东;37 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 避免 任务 同时 执行 方法 | ||
技术领域
本发明涉及计算机技术领域,具体的说是一种避免任务同时执行的方法。
背景技术
随着计算机和通讯技术的不断发展,计算机与通讯线路及设备结合起来实现人与计算机、计算机与计算机之间的通讯,不仅使各用户计算机的利用率大大提高,而且极大地扩展了计算机的应用范围,并使各用户实现计算机软硬件资源与数据资源的共享。
在存在任务执行应用程序中,任务执行中存在同一任务同时执行导致的资源竞争以业务处理混乱的情况,应用程序在处理时会影响到整个应用程序的效率。
在应用程序中,加入任务在同一时间进行同时执行两个或者多个时,服务器端或者客户端在进行业务处理时,必然存在着复杂度,一旦处理不恰当,介质导致数据混乱。
综上所述可知,需要一种既能避免资源进程导致的效率降低又能降低业务处理的复杂性的方法。
发明内容
本发明的技术任务是解决现有技术的不足,提供一种避免任务同时执行的方法。
本发明的技术方案是按以下方式实现的,该一种避免任务同时执行的方法,其具体实施过程为:
设置中间层程序,该中间层程序负责将任务执行命令发送到服务器端或客户端,所述中间层程序采用锁机制,这里的锁机制是指在转发任务执行命令时,根据任务的标识建立一个锁,当得到转发任务执行命令的回复时释放锁,在该任务标识的锁为释放、相同标识的任务再次执行时,中间层程序会阻塞住该任务执行命令,直到获得该标识的释放锁为止;
多个上层应用发送需要到达服务器端或客户端的任务执行命令,该任务执行命令经过该中间层程序;
中间层程序收到上层发送的任务执行命令后,根据这个任务取得一个该任务的唯一标识,使用此标识作为信号灯的外部名称进行锁住该任务;
当中间层程序获得服务器端或客户端执行任务命令的恢复后,将任务执行的结果返回给上层应用,释放该任务标识的锁,此时该标识的任务才在此被执行。
所述任务标识是指该任务的ID或者名称。
本发明与现有技术相比所产生的有益效果是:
本发明的一种避免任务同时执行的方法可避免相同的任务在同一时间同时下发执行命令,有效的避免了业务处理的复杂度和资源的竞争,保证业务处理井然有序,资源进程效率较高,业务处理灵活,实用性强,易于推广。
附图说明
附图1为本发明的实现流程示意图。
具体实施方式
下面结合附图对本发明的一种避免任务同时执行的方法作以下详细说明。
传统的解决方案为通过时间应用系统的数据库或者通过时间控制,这样做的弊端是增加了处理的复杂性和业务的不连贯性。基于此,如附图1所示,现提供一种避免任务同时执行的方法。其具体操作过程如下:
设置中间层程序,该中间层程序中采用一个锁机制,该锁机制采用的为系统的信号量,在一个任务执行时,采用该任务的一个标识,ID或者名称作为该信号量的外部名称,该任务在执行完成后或者存在异常退出时中间层程序才进行释放该标识的信号量,在本次任务下发执行命令还未返回时该任务再次下发执行命令,中间层程序会阻塞该任务,中间层程序不会将该任务发送到服务器端或者客户端,直至该任务上次下发的执行命令返回后,中间层释放掉该标识的信号量后,才会将本次执行发送到服务器端或者客户端,也就是说,只有该标识的信号量被释放后,该任务在下次执行时才能顺利执行,在信号量未被释放时,任务处于等待的状态直至获取到信号量为止。
在任务执行时中间层程序负责和远程客户端或者服务器进行通讯,中间层程序负责通讯和数据转发。
具体的,其详细控制任务执行的过程如附图1所示,中间层程序和锁机制相结合,当多个上层应用需要将一个任务执行命令下发到服务器端或客户端时,通过中间层程序,中间层程序收到上层发送的任务执行命令时,根据这个任务取得一个该任务的唯一标识,使用此标识作为信号灯的外部名称进行锁住该任务,当中间层程序获得服务器端或客户端执行任务命令的恢复后,将任务执行的结果返回给上层应用,释放该任务标识的锁,此时该标识的任务才可在此被执行。以此来避免相同的任务在同一时间同时下发执行命令,有效的避免了业务处理的复杂度和避免了资源的竞争。
本发明的任务执行时通过统一的中间层程序进行执行,在中间层程序中采用一种锁机制避免在同一时间相同的任务同时执行,有效的避免了系统资源竞争以业务处理混乱的情况。
以上所述仅为本发明的实施例而已,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浪潮电子信息产业股份有限公司,未经浪潮电子信息产业股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410167127.2/2.html,转载请声明来源钻瓜专利网。