CN103984544A - 一种避免任务同时执行的方法 - Google Patents

一种避免任务同时执行的方法 Download PDF

Info

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
Application number
CN201410167127.2A
Other languages
English (en)
Inventor
张道伟
王旭
吕万波
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Inspur Electronic Information Industry Co Ltd
Original Assignee
Inspur Electronic Information Industry Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Inspur Electronic Information Industry Co Ltd filed Critical Inspur Electronic Information Industry Co Ltd
Priority to CN201410167127.2A priority Critical patent/CN103984544A/zh
Publication of CN103984544A publication Critical patent/CN103984544A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Multi Processors (AREA)

Abstract

本发明提供一种避免任务同时执行的方法,其具体实施过程为:设置一个中间层程序进行任务转发,在中间层程序中采用一个锁机制,该锁机制采用的为系统的信号量,在任务执行时,该任务在执行完成后或者存在异常退出时中间层程序才进行释放该标识的信号量,在本次任务下发执行命令还未返回时该任务再次下发执行命令,中间层程序会阻塞该任务,中间层程序不会将改任务发送到服务器端或者客户端,直至该任务上次下发的执行命令返回后,中间层释放掉该标识的信号量后,才会将本次执行发送到服务器端或者客户端。该一种避免任务同时执行的方法和现有技术相比,业务连贯性好,有效的避免了业务处理的复杂度和避免了资源的竞争;实用性强。

Description

一种避免任务同时执行的方法
技术领域
本发明涉及计算机技术领域,具体的说是一种避免任务同时执行的方法。
背景技术
随着计算机和通讯技术的不断发展,计算机与通讯线路及设备结合起来实现人与计算机、计算机与计算机之间的通讯,不仅使各用户计算机的利用率大大提高,而且极大地扩展了计算机的应用范围,并使各用户实现计算机软硬件资源与数据资源的共享。
在存在任务执行应用程序中,任务执行中存在同一任务同时执行导致的资源竞争以业务处理混乱的情况,应用程序在处理时会影响到整个应用程序的效率。
在应用程序中,加入任务在同一时间进行同时执行两个或者多个时,服务器端或者客户端在进行业务处理时,必然存在着复杂度,一旦处理不恰当,介质导致数据混乱。
综上所述可知,需要一种既能避免资源进程导致的效率降低又能降低业务处理的复杂性的方法。
发明内容
本发明的技术任务是解决现有技术的不足,提供一种避免任务同时执行的方法。
本发明的技术方案是按以下方式实现的,该一种避免任务同时执行的方法,其具体实施过程为:
设置中间层程序,该中间层程序负责将任务执行命令发送到服务器端或客户端,所述中间层程序采用锁机制,这里的锁机制是指在转发任务执行命令时,根据任务的标识建立一个锁,当得到转发任务执行命令的回复时释放锁,在该任务标识的锁为释放、相同标识的任务再次执行时,中间层程序会阻塞住该任务执行命令,直到获得该标识的释放锁为止;
多个上层应用发送需要到达服务器端或客户端的任务执行命令,该任务执行命令经过该中间层程序;
中间层程序收到上层发送的任务执行命令后,根据这个任务取得一个该任务的唯一标识,使用此标识作为信号灯的外部名称进行锁住该任务;
当中间层程序获得服务器端或客户端执行任务命令的恢复后,将任务执行的结果返回给上层应用,释放该任务标识的锁,此时该标识的任务才在此被执行。
所述任务标识是指该任务的ID或者名称。
本发明与现有技术相比所产生的有益效果是:
本发明的一种避免任务同时执行的方法可避免相同的任务在同一时间同时下发执行命令,有效的避免了业务处理的复杂度和资源的竞争,保证业务处理井然有序,资源进程效率较高,业务处理灵活,实用性强,易于推广。
附图说明
附图1为本发明的实现流程示意图。
具体实施方式
下面结合附图对本发明的一种避免任务同时执行的方法作以下详细说明。
传统的解决方案为通过时间应用系统的数据库或者通过时间控制,这样做的弊端是增加了处理的复杂性和业务的不连贯性。基于此,如附图1所示,现提供一种避免任务同时执行的方法。其具体操作过程如下:
设置中间层程序,该中间层程序中采用一个锁机制,该锁机制采用的为系统的信号量,在一个任务执行时,采用该任务的一个标识,ID或者名称作为该信号量的外部名称,该任务在执行完成后或者存在异常退出时中间层程序才进行释放该标识的信号量,在本次任务下发执行命令还未返回时该任务再次下发执行命令,中间层程序会阻塞该任务,中间层程序不会将该任务发送到服务器端或者客户端,直至该任务上次下发的执行命令返回后,中间层释放掉该标识的信号量后,才会将本次执行发送到服务器端或者客户端,也就是说,只有该标识的信号量被释放后,该任务在下次执行时才能顺利执行,在信号量未被释放时,任务处于等待的状态直至获取到信号量为止。
在任务执行时中间层程序负责和远程客户端或者服务器进行通讯,中间层程序负责通讯和数据转发。
具体的,其详细控制任务执行的过程如附图1所示,中间层程序和锁机制相结合,当多个上层应用需要将一个任务执行命令下发到服务器端或客户端时,通过中间层程序,中间层程序收到上层发送的任务执行命令时,根据这个任务取得一个该任务的唯一标识,使用此标识作为信号灯的外部名称进行锁住该任务,当中间层程序获得服务器端或客户端执行任务命令的恢复后,将任务执行的结果返回给上层应用,释放该任务标识的锁,此时该标识的任务才可在此被执行。以此来避免相同的任务在同一时间同时下发执行命令,有效的避免了业务处理的复杂度和避免了资源的竞争。
本发明的任务执行时通过统一的中间层程序进行执行,在中间层程序中采用一种锁机制避免在同一时间相同的任务同时执行,有效的避免了系统资源竞争以业务处理混乱的情况。
以上所述仅为本发明的实施例而已,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (2)

1.一种避免任务同时执行的方法,其特征在于其具体实施过程为:
设置中间层程序,该中间层程序负责将任务执行命令发送到服务器端或客户端,所述中间层程序采用锁机制,这里的锁机制是指在转发任务执行命令时,根据任务的标识建立一个锁,当得到转发任务执行命令的回复时释放锁,在该任务标识的锁为释放、相同标识的任务再次执行时,中间层程序会阻塞住该任务执行命令,直到获得该标识的释放锁为止;
多个上层应用发送需要到达服务器端或客户端的任务执行命令,该任务执行命令经过该中间层程序;
中间层程序收到上层发送的任务执行命令后,根据这个任务取得一个该任务的唯一标识,使用此标识作为信号灯的外部名称进行锁住该任务;
当中间层程序获得服务器端或客户端执行任务命令的恢复后,将任务执行的结果返回给上层应用,释放该任务标识的锁,此时该标识的任务才在此被执行。
2.根据权利要求1所述的一种避免任务同时执行的方法,其特征在于:所述任务标识是指该任务的ID或者名称。
CN201410167127.2A 2014-04-24 2014-04-24 一种避免任务同时执行的方法 Pending CN103984544A (zh)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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 马维尔国际贸易有限公司 信号量软硬混合架构

Patent Citations (5)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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