CN103984544A - 一种避免任务同时执行的方法 - Google Patents
一种避免任务同时执行的方法 Download PDFInfo
- Publication number
- CN103984544A CN103984544A CN201410167127.2A CN201410167127A CN103984544A CN 103984544 A CN103984544 A CN 103984544A CN 201410167127 A CN201410167127 A CN 201410167127A CN 103984544 A CN103984544 A CN 103984544A
- Authority
- CN
- China
- Prior art keywords
- task
- layer program
- middle layer
- tasks carrying
- lock
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Landscapes
- Multi Processors (AREA)
Abstract
本发明提供一种避免任务同时执行的方法,其具体实施过程为:设置一个中间层程序进行任务转发,在中间层程序中采用一个锁机制,该锁机制采用的为系统的信号量,在任务执行时,该任务在执行完成后或者存在异常退出时中间层程序才进行释放该标识的信号量,在本次任务下发执行命令还未返回时该任务再次下发执行命令,中间层程序会阻塞该任务,中间层程序不会将改任务发送到服务器端或者客户端,直至该任务上次下发的执行命令返回后,中间层释放掉该标识的信号量后,才会将本次执行发送到服务器端或者客户端。该一种避免任务同时执行的方法和现有技术相比,业务连贯性好,有效的避免了业务处理的复杂度和避免了资源的竞争;实用性强。
Description
技术领域
本发明涉及计算机技术领域,具体的说是一种避免任务同时执行的方法。
背景技术
随着计算机和通讯技术的不断发展,计算机与通讯线路及设备结合起来实现人与计算机、计算机与计算机之间的通讯,不仅使各用户计算机的利用率大大提高,而且极大地扩展了计算机的应用范围,并使各用户实现计算机软硬件资源与数据资源的共享。
在存在任务执行应用程序中,任务执行中存在同一任务同时执行导致的资源竞争以业务处理混乱的情况,应用程序在处理时会影响到整个应用程序的效率。
在应用程序中,加入任务在同一时间进行同时执行两个或者多个时,服务器端或者客户端在进行业务处理时,必然存在着复杂度,一旦处理不恰当,介质导致数据混乱。
综上所述可知,需要一种既能避免资源进程导致的效率降低又能降低业务处理的复杂性的方法。
发明内容
本发明的技术任务是解决现有技术的不足,提供一种避免任务同时执行的方法。
本发明的技术方案是按以下方式实现的,该一种避免任务同时执行的方法,其具体实施过程为:
设置中间层程序,该中间层程序负责将任务执行命令发送到服务器端或客户端,所述中间层程序采用锁机制,这里的锁机制是指在转发任务执行命令时,根据任务的标识建立一个锁,当得到转发任务执行命令的回复时释放锁,在该任务标识的锁为释放、相同标识的任务再次执行时,中间层程序会阻塞住该任务执行命令,直到获得该标识的释放锁为止;
多个上层应用发送需要到达服务器端或客户端的任务执行命令,该任务执行命令经过该中间层程序;
中间层程序收到上层发送的任务执行命令后,根据这个任务取得一个该任务的唯一标识,使用此标识作为信号灯的外部名称进行锁住该任务;
当中间层程序获得服务器端或客户端执行任务命令的恢复后,将任务执行的结果返回给上层应用,释放该任务标识的锁,此时该标识的任务才在此被执行。
所述任务标识是指该任务的ID或者名称。
本发明与现有技术相比所产生的有益效果是:
本发明的一种避免任务同时执行的方法可避免相同的任务在同一时间同时下发执行命令,有效的避免了业务处理的复杂度和资源的竞争,保证业务处理井然有序,资源进程效率较高,业务处理灵活,实用性强,易于推广。
附图说明
附图1为本发明的实现流程示意图。
具体实施方式
下面结合附图对本发明的一种避免任务同时执行的方法作以下详细说明。
传统的解决方案为通过时间应用系统的数据库或者通过时间控制,这样做的弊端是增加了处理的复杂性和业务的不连贯性。基于此,如附图1所示,现提供一种避免任务同时执行的方法。其具体操作过程如下:
设置中间层程序,该中间层程序中采用一个锁机制,该锁机制采用的为系统的信号量,在一个任务执行时,采用该任务的一个标识,ID或者名称作为该信号量的外部名称,该任务在执行完成后或者存在异常退出时中间层程序才进行释放该标识的信号量,在本次任务下发执行命令还未返回时该任务再次下发执行命令,中间层程序会阻塞该任务,中间层程序不会将该任务发送到服务器端或者客户端,直至该任务上次下发的执行命令返回后,中间层释放掉该标识的信号量后,才会将本次执行发送到服务器端或者客户端,也就是说,只有该标识的信号量被释放后,该任务在下次执行时才能顺利执行,在信号量未被释放时,任务处于等待的状态直至获取到信号量为止。
在任务执行时中间层程序负责和远程客户端或者服务器进行通讯,中间层程序负责通讯和数据转发。
具体的,其详细控制任务执行的过程如附图1所示,中间层程序和锁机制相结合,当多个上层应用需要将一个任务执行命令下发到服务器端或客户端时,通过中间层程序,中间层程序收到上层发送的任务执行命令时,根据这个任务取得一个该任务的唯一标识,使用此标识作为信号灯的外部名称进行锁住该任务,当中间层程序获得服务器端或客户端执行任务命令的恢复后,将任务执行的结果返回给上层应用,释放该任务标识的锁,此时该标识的任务才可在此被执行。以此来避免相同的任务在同一时间同时下发执行命令,有效的避免了业务处理的复杂度和避免了资源的竞争。
本发明的任务执行时通过统一的中间层程序进行执行,在中间层程序中采用一种锁机制避免在同一时间相同的任务同时执行,有效的避免了系统资源竞争以业务处理混乱的情况。
以上所述仅为本发明的实施例而已,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (2)
1.一种避免任务同时执行的方法,其特征在于其具体实施过程为:
设置中间层程序,该中间层程序负责将任务执行命令发送到服务器端或客户端,所述中间层程序采用锁机制,这里的锁机制是指在转发任务执行命令时,根据任务的标识建立一个锁,当得到转发任务执行命令的回复时释放锁,在该任务标识的锁为释放、相同标识的任务再次执行时,中间层程序会阻塞住该任务执行命令,直到获得该标识的释放锁为止;
多个上层应用发送需要到达服务器端或客户端的任务执行命令,该任务执行命令经过该中间层程序;
中间层程序收到上层发送的任务执行命令后,根据这个任务取得一个该任务的唯一标识,使用此标识作为信号灯的外部名称进行锁住该任务;
当中间层程序获得服务器端或客户端执行任务命令的恢复后,将任务执行的结果返回给上层应用,释放该任务标识的锁,此时该标识的任务才在此被执行。
2.根据权利要求1所述的一种避免任务同时执行的方法,其特征在于:所述任务标识是指该任务的ID或者名称。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410167127.2A CN103984544A (zh) | 2014-04-24 | 2014-04-24 | 一种避免任务同时执行的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410167127.2A CN103984544A (zh) | 2014-04-24 | 2014-04-24 | 一种避免任务同时执行的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103984544A true CN103984544A (zh) | 2014-08-13 |
Family
ID=51276538
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410167127.2A Pending CN103984544A (zh) | 2014-04-24 | 2014-04-24 | 一种避免任务同时执行的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103984544A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105260238A (zh) * | 2015-10-13 | 2016-01-20 | 珠海许继芝电网自动化有限公司 | 一种多进程提升性能部署的方法 |
CN105630583A (zh) * | 2014-11-26 | 2016-06-01 | 阿里巴巴集团控股有限公司 | 一种数据处理方法和装置 |
CN107766131A (zh) * | 2016-08-22 | 2018-03-06 | 平安科技(深圳)有限公司 | 任务调度方法和装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1670705A (zh) * | 2004-03-16 | 2005-09-21 | 联想(北京)有限公司 | 一种对机群实现集中并发管理的方法 |
CN101114984A (zh) * | 2006-07-27 | 2008-01-30 | 中兴通讯股份有限公司 | 一种多线程网络负载控制方法 |
CN101273333A (zh) * | 2005-04-13 | 2008-09-24 | 普罗格雷斯软件公司 | 容错分布式锁定管理 |
CN102298539A (zh) * | 2011-06-07 | 2011-12-28 | 华东师范大学 | 一种用于分布式并行处理的共享资源调度方法及系统 |
CN103677755A (zh) * | 2012-08-29 | 2014-03-26 | 马维尔国际贸易有限公司 | 信号量软硬混合架构 |
-
2014
- 2014-04-24 CN CN201410167127.2A patent/CN103984544A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1670705A (zh) * | 2004-03-16 | 2005-09-21 | 联想(北京)有限公司 | 一种对机群实现集中并发管理的方法 |
CN101273333A (zh) * | 2005-04-13 | 2008-09-24 | 普罗格雷斯软件公司 | 容错分布式锁定管理 |
CN101114984A (zh) * | 2006-07-27 | 2008-01-30 | 中兴通讯股份有限公司 | 一种多线程网络负载控制方法 |
CN102298539A (zh) * | 2011-06-07 | 2011-12-28 | 华东师范大学 | 一种用于分布式并行处理的共享资源调度方法及系统 |
CN103677755A (zh) * | 2012-08-29 | 2014-03-26 | 马维尔国际贸易有限公司 | 信号量软硬混合架构 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105630583A (zh) * | 2014-11-26 | 2016-06-01 | 阿里巴巴集团控股有限公司 | 一种数据处理方法和装置 |
CN105260238A (zh) * | 2015-10-13 | 2016-01-20 | 珠海许继芝电网自动化有限公司 | 一种多进程提升性能部署的方法 |
CN105260238B (zh) * | 2015-10-13 | 2018-10-02 | 珠海许继芝电网自动化有限公司 | 一种多进程提升性能部署的方法 |
CN107766131A (zh) * | 2016-08-22 | 2018-03-06 | 平安科技(深圳)有限公司 | 任务调度方法和装置 |
CN107766131B (zh) * | 2016-08-22 | 2020-09-22 | 平安科技(深圳)有限公司 | 任务调度方法和装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3534320A1 (en) | Block chain-based multi-chain management method and system, electronic device, and storage medium | |
US8381212B2 (en) | Dynamic allocation and partitioning of compute nodes in hierarchical job scheduling | |
CN105511954A (zh) | 一种报文处理方法及装置 | |
CN105187327A (zh) | 一种分布式消息队列中间件 | |
WO2018121696A1 (zh) | 用于多线程处理的方法及装置、服务器 | |
JP2017532677A5 (zh) | ||
JP2017514239A5 (zh) | ||
CN103297543A (zh) | 一种基于计算机集群作业调度的方法 | |
CN105260238B (zh) | 一种多进程提升性能部署的方法 | |
CN103984544A (zh) | 一种避免任务同时执行的方法 | |
CN105743951A (zh) | 一种数据发送、接收的方法及装置 | |
CN106790347A (zh) | 一种基于netty的大规模并发数据转发方法 | |
CN105786447A (zh) | 服务器处理数据的方法、装置及服务器 | |
CN105610992A (zh) | 一种分布式流计算系统任务分配负载均衡方法 | |
WO2017114180A1 (zh) | 调整组件逻辑线程数量的方法及装置 | |
CN103338156A (zh) | 一种基于线程池的命名管道服务器并发通信方法 | |
CN104809026A (zh) | 一种使用远程节点借用cpu计算资源的方法 | |
CN108494705A (zh) | 一种网络报文高速处理系统和方法 | |
CN103873474A (zh) | 基于Windows的TCP/IP协议的网络传输方法 | |
CN103428274A (zh) | 一种通过短信猫以观察者模式发送短信的方法 | |
CN102841875A (zh) | 一种具有智能总线接口的主机及安防系统 | |
CN102546659A (zh) | 面向远过程调用的持久tcp连接方法 | |
CN106293970A (zh) | 一种基于ipc的进程间异步处理方法及系统 | |
CN105573204A (zh) | 一种多处理器的数字音频矩阵控制设备及方法 | |
CN107479891B (zh) | 一种基于mvc模型数据处理系统及方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20140813 |
|
WD01 | Invention patent application deemed withdrawn after publication |