CN1908903A - 执行作业步的系统和方法以及计算机产品 - Google Patents
执行作业步的系统和方法以及计算机产品 Download PDFInfo
- Publication number
- CN1908903A CN1908903A CNA2006101076342A CN200610107634A CN1908903A CN 1908903 A CN1908903 A CN 1908903A CN A2006101076342 A CNA2006101076342 A CN A2006101076342A CN 200610107634 A CN200610107634 A CN 200610107634A CN 1908903 A CN1908903 A CN 1908903A
- Authority
- CN
- China
- Prior art keywords
- execution
- job
- server
- data
- steps
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5083—Techniques for rebalancing the load in a distributed system
- G06F9/5088—Techniques for rebalancing the load in a distributed system involving task migration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/505—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5066—Algorithms for mapping a plurality of inter-dependent sub-tasks onto a plurality of physical CPUs
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multi Processors (AREA)
- Hardware Redundancy (AREA)
Abstract
本发明公开一种执行作业步的系统和方法、以及计算机产品。该系统为批处理系统,其包括多个执行服务器和一个调度服务器。所述调度服务器使得所述多个执行服务器分布式执行批作业。所述调度服务器选择用以执行批作业中的第一作业步的一个执行服务器。所选择的执行服务器执行第一作业步,并选择自身或另一执行服务器来执行下一未执行的作业步。重复上述处理,直到最后一个作业被执行为止。
Description
技术领域
本发明涉及一种在批处理系统中由每一执行服务器执行作业步的技术。更具体地,本发明涉及防止特定计算机上的负载的集中并使得能够有效利用计算机资源的技术。
背景技术
在批处理方法中,收集批数据并对其进行一次全部地处理,其中所述批数据为固定量的数据或者关于固定时间间隔的数据。尽管传统的批处理在主机计算机的帮助下实现,但是近来使用开放式服务器来实现批处理。
图10是说明主机计算机如何执行批处理的示意图。主机计算机在计算机上对每一作业(批作业)产生启动空间,并且通过顺序执行启动空间中的作业步来执行作业。
图11是说明开放式服务器如何执行批处理的示意图。如图11所示,当使用开放式服务器时,需要对每一作业创建外壳脚本(shell script),所述外壳脚本顺序地调用在每一作业步中执行的程序。然而,创建与作业数量相等的外壳脚本结果导致耗费资源量大,并增加服务器上的负载。
为了解决这种问题,开放式服务器在多个服务器上分布作业。图12是用于说明开放式服务器如何分布作业的示意图。准确地讲,调度服务器(scheduling server)为每一作业分配执行服务器,以实现作业的分布式执行。
然而,在作业的分布式执行期间不能实现作业的精确负载分布,从而导致执行服务器上的负载的改变,并阻碍了计算机资源的有效利用。
在日本公开专利公报No.2001-166956公开了一种用于作业步的分布式执行的方法。在此方法中,以作业步(而不是作业)为单位对执行服务器分配执行处理,以保证处理负载在执行服务器中的均匀分布。
图13是用于说明现有技术批处理原理的示意图。在此方法中,通过调度服务器110来调度作业,其中,所述调度服务器110基于与每一执行服务器相关的负载数据来选择用于请求执行作业的最佳执行服务器。例如,如果选择了执行服务器120,则调度服务器110对执行服务器120发出作业执行请求(参见S21)。
执行服务器120在执行作业步时基于负载状态来确定是否适合执行下一作业步,如果不适合执行下一作业步,则返回对调度服务器110的控制(参见S22)。所述调度服务器110基于与每一执行服务器相关的负载数据再一次选择最佳执行服务器。例如,如果选择执行服务器130作为最佳执行服务器,则调度服务器110再次向所选择的执行服务器130发出作业执行请求(参见S23)。
因此,在通过对作业步的分布式执行的现有技术方法的批处理中,重复处理S21至S23。换句话说,调度服务器110向所选择的最佳执行服务器发出作业执行请求,执行服务器返回对调度服务器110的控制,并且重复所述处理直到所有的作业步被执行为止。因此,每一执行服务器能够以作业步为单位实现作业的分布式执行,并且可以在执行服务器中均匀分布处理负载。
然而,在现有技术方法中,每次执行服务器在确定是否适合由其它执行服务器来执行下一作业步时都返回对调度服务器的控制,并且由调度服务器110来单独实现最佳执行服务器选择处理,因此导致调度服务器110上的负载集中,并且阻碍了整个系统中计算机资源的有效利用。
发明内容
本发明的一个目的在于至少解决现有技术中的问题。
根据本发明的一个方案,提供一种包括多个执行服务器和一个调度服务器的批处理系统,在所述批处理系统中,所述调度服务器使得所述多个执行服务器分布式执行批作业,所述批作业包括按照从第一作业步到最后一个作业步的顺序排列的多个作业步。所述调度服务器包括:选择单元,从所述多个执行服务器中选择用以执行所述第一作业步的一个执行服务器;和第一信息发送单元,将作业执行数据发送到所选择的执行服务器,该作业执行数据指示所述作业步顺序和每一作业步的执行状态。所述执行服务器包括:接收单元,从所述调度服务器和另一执行服务器中的任一个中接收作业执行数据;执行单元,执行在接收到的作业执行数据中指定的所述作业步顺序中的一个未执行作业步,并更新所述接收到的作业执行数据中的已执行作业步的执行状态;和第二信息发送单元,当在所述执行单元中执行的作业步不是最后一个作业步时,从所述多个执行服务器中选择用以执行在更新后的作业执行数据中指定的所述作业步顺序中的下一未执行作业步的执行服务器,并将更新后的作业执行数据发送到所述第二信息发送单元所选择的执行服务器。
根据本发明的另一方案,提供一种在系统上分布式执行批作业的方法,所述系统包括多个执行服务器和一个调度服务器,并且在所述系统中,所述调度服务器使得所述多个执行服务器分布式执行批作业,所述批作业包括按照从第一作业步到最后一个作业步的顺序排列的多个作业步,在本方法中,所述调度服务器进行如下步骤:从所述多个执行服务器中选择用以执行第一作业步的一个执行服务器;和将与所述批作业相关的数据发送到所选择的执行服务器。所述执行服务器进行如下步骤:从所述调度服务器和另一执行服务器中的任一个中接收数据;基于接收到的数据执行所述批作业中的一个未执行作业步,并更新所述接收到的数据中的已执行作业步的执行状态;和当在所述执行步骤中执行的作业步不是最后一个作业步时,基于更新后的数据从所述多个执行服务器中选择用以执行所述批作业中下一未执行作业步的执行服务器,并将所述更新后的数据发送到本步骤中所选择的执行服务器。
根据本发明的再一方案,提供一种计算机可读记录介质,其存储有计算机程序,所述计算机程序在计算机上实现根据本发明的方法。
通过参照附图阅读本发明当前优选实施例的以下详细描述,将会更好地理解本发明的上述和其它目的、特点、优点和技术及工业意义。
附图说明
图1是说明通过根据本发明实施例的作业步分布式执行方法的批处理原理示意图;
图2是如图1所示批处理系统的结构功能框图;
图3示出负载数据的实例;
图4示出负载定义策略的实例;
图5示出作业执行数据的实例;
图6是根据本实施例的调度程序的处理顺序流程图;
图7是根据本实施例的作业步执行程序的处理顺序流程图;
图8是通过作业步执行程序的最佳执行服务器单元的最佳执行服务器选择处理顺序流程图;
图9是根据本实施例执行作业步执行程序的执行服务器的硬件结构的功能框图;
图10示出通过主机计算机进行的批处理;
图11示出通过开放式服务器进行的批处理;
图12示出通过开放式服务器进行的作业分布式执行的方法;
图13示出通过作业步分布式执行的现有技术方法进行批处理的原理。
具体实施方式
接下来,参照附图来说明本发明的示例性实施例。
首先说明通过根据本发明实施例的作业步分布式执行方法(以下称为“分布式执行方法”)来进行批处理的原理。图1是说明根据实施例的分布式执行方法原理的示意图。在所述分布式执行方法中,调度服务器10选择用于执行作业的最佳执行服务器。假设调度服务器10选择执行服务器20,则然后调度服务器10请求执行服务器20来执行该作业(参见S11)。
执行服务器20执行该作业的一个作业步,并选择用于执行下一作业步的最佳执行服务器。假设执行服务器20选择执行服务器30,则执行服务器20请求最佳执行服务器30来执行该作业的下一作业步(参见S12)。重复与S12相似的处理,直到在该作业中不存在作业步。在执行了所有的上述作业步时,通知调度服务器10该作业已执行。
因此,每一执行服务器执行该作业中的一个作业步,选择用于执行下一作业步的最佳执行服务器,并直接请求所选择的执行服务器来执行作业。因此,由调度服务器10来实现的处理仅包括:选择用于执行每一作业中的第一作业步的执行服务器,向所选择的执行服务器发出作业执行请求,以及接收与该作业的执行完成相关的通知。在除调度服务器10之外的执行服务器中实现其它处理,例如选择最佳执行服务器、向最佳执行服务器发出作业执行请求以及执行作业步,。因此,能够将调度服务器10上的负载(例如由于选择最佳执行服务器而导致的处理负载)分布在执行服务器中,并且能够防止调度服务器10上的负载集中。
图2是根据本实施例的批处理系统的结构功能框图。批处理系统从作业队列提取(fetch)作业。所述批处理系统包括:调度服务器10,其请求执行服务器来执行作业;任意数量的执行服务器20、30等,其执行每一作业中包括的作业步;以及监控器40,其监控上述执行服务器的负载状态。调度服务器10、执行服务器20、30等以及监控器40经由网络50相连接。
调度服务器10是执行调度程序10a的计算机,所述调度程序10a将从作业队列提取的作业的执行分配给每一执行服务器。所述调度程序10a包括作业提取单元11、最佳执行服务器选择单元12、策略(policy)存储单元13、作业执行数据发送器14和完成通知提取单元15。
作业提取单元11从作业队列中顺序提取作业。最佳执行服务器选择单元12基于存储在策略存储单元13中的负载定义策略以及与每一执行服务器相关的负载数据,来选择用于请求执行由作业提取单元11所提取的作业的最佳执行服务器。
策略存储单元13存储在选择执行服务器期间使用的负载定义策略。用户定义负载定义策略。基于执行服务器的负载数据来定义“负载定义策略”。
图3示出负载数据的实例。如图3所示,将中央处理单元(CPU)利用率、内存利用率和输入输出(IO)负载率用作负载数据。例如,将CPU利用率“10%”、内存利用率“20%”和IO负载率“15%”用作与“服务器1”相关的负载数据。
图4示出负载定义策略的实例。根据图4所示的负载定义策略,将在具有少于50%的内存利用率的执行服务器中具有最低CPU利用率的执行服务器定义为最佳执行服务器(条件1)。如果具有少于50%的内存利用率的执行服务器不存在,则将具有最低内存利用率的执行服务器定义为最佳执行服务器(条件2)。
作业执行数据发送器14基于与由作业提取单元11提取的作业相关的数据来产生表示作业执行状态的作业执行数据,并且将产生的作业执行数据随同作业执行请求一起发送到由最佳执行服务器选择单元12选择的执行服务器。作业执行数据在后文详细说明。
在完成与所请求的作业相关的所有作业步的执行时,完成通知提取单元15接收由执行最后一个作业步的执行服务器发送的作业完成通知。
执行服务器20、30等是执行作业步执行程序的计算机,所述作业步执行程序基于从调度服务器10接收的作业执行数据来执行每一作业步。因为由每一执行服务器执行的作业步执行程序在配置上相似,所以以实例的方式来说明由执行服务器20执行的作业步执行程序20a。
作业步执行程序20a包括作业执行数据提取单元21、作业步执行单元22、最佳执行服务器选择单元23、作业执行数据传送单元24、完成通知单元25和策略存储单元26。
所述作业执行数据提取单元21从调度服务器10或另一执行服务器提取执行请求以及作业执行数据。图5示出作业执行数据的实例。如图5所示,作业执行数据包括表示作业名字的作业名以及与作业中包括的作业步相关的数据。与每一作业步相关的数据包括表示作业步名字的作业步名、表示被执行的程序名字的程序名、输入文件、输出文件以及表示作业步的执行是否完成的作业步完成标志。
例如,在作为具有作业名“JOB1”的作业的第一作业步的“Step1”中,“PROGRAM1”是程序名,“IN1”是输入文件,“OUT1”是输出文件,并且将作业步完成标志设置为表示完成作业步执行的“COMPLETE”。
作业步执行单元22基于由作业执行数据提取单元21提取的作业执行数据来执行作业步。具体说来,作业步执行单元22基于所述作业执行数据选择用于执行的作业步,并且在执行所选择的作业步之后,将与已执行的作业步相关的作业步完成标志设置为“COMPLETE”。所述作业步执行单元22通过以下处理来选择用于执行的作业步:从作业执行数据中顺序搜索与作业步相关的数据,并指定其中作业步完成标志没有被设置为“COMPLETE”的第一作业步。
在将已执行的作业步的作业步完成标志设置成“COMPLETE”之后,作业步执行单元22通过搜索是否存在具有未设置为“COMPLETE”的作业步完成标志的作业步,来确定作业执行是否完成。
与调度服务器10的最佳执行服务器选择单元12相似,最佳执行服务器选择单元23基于存储在策略存储单元中负载定义策略来选择用于执行作业步的最佳执行服务器。在执行该作业步之后,如果作业步执行单元22确定所有作业步的执行还没有完成,则最佳执行服务器选择单元23选择用于执行与该作业相关的下一作业步的最佳执行服务器。
通过在执行作业步之后选择用于执行下一作业步的最佳执行服务器,最佳执行服务器选择单元23能够在不返回对调度服务器10的控制的情况下直接在执行服务器中发出作业执行请求。
如果由最佳执行服务器选择单元23选择的执行服务器是除了执行服务器20之外的执行服务器,则作业执行数据传送单元24将作业执行数据随同作业执行请求一起传送到所选择的执行服务器。接收到由作业执行数据传送单元24传送的作业执行数据的执行服务器能够在作业步完成标志的帮助下选择用于执行的下一作业步。
当由作业步执行单元22执行的作业步完成与作业相关的所有作业步的执行时,完成通知单元25将作业完成通知发送到调度服务器10。
策略存储单元26存储负载定义策略。存储在策略存储单元26中的负载定义策略与存储在调度服务器10的策略存储单元13中的负载定义策略相似。该负载定义策略由调度服务器10来分配并存储在策略存储单元26中。
监控器40从每一执行服务器提取负载数据,并且基于来自每一执行服务器的请求来发送与所有执行服务器相关的负载数据。每一执行服务器的最佳执行服务器选择单元23基于从监控器40提取的负载数据以及在策略存储单元26中存储的负载定义策略,选择用于执行下一作业步的最佳执行服务器。
接下来说明根据本实施例的调度程序10a的处理顺序。图6是根据本实施例的调度程序10a的处理顺序的流程图。
如图6所示,在调度程序10a中,作业提取单元11确定在作业队列中是否存在作业(步骤S101),如果在作业队列中不存在作业,则等待,直到有作业被插入到作业队列为止。
如果在作业队列中存在作业,则作业提取单元11从作业队列提取单个作业(步骤S102)。基于从监控器40提取的负载数据以及存储在策略存储单元13中的负载定义策略,最佳执行服务器选择单元12实现最佳执行服务器选择处理,以选择用于请求执行作业的执行服务器(步骤S103)。最佳执行服务器选择处理将在后文说明。
接下来,作业执行数据发送器14将作业步完成标志添加到与所提取的作业相关的数据,以产生作业执行数据,并且将所产生的作业执行数据随同作业执行请求一起发送到由最佳执行服务器选择单元12所选择的执行服务器(步骤S104)。
通过在执行服务器中传送作业执行数据来执行作业,完成通知提取单元15提取由执行最后一个作业步的执行服务器传送的作业完成通知(步骤S105),处理返回到步骤S101,并且作业提取单元11实现用于下一作业的执行处理。
作业执行数据传送器14产生作业执行数据,并且将所产生的作业执行数据随同作业执行请求一起发送到由最佳执行服务器选择单元12所选择的执行服务器,从而使得每一执行服务器能够在执行服务器中传送作业执行数据,并且在每一作业步中在不返回对调度服务器10控制的情况下指定用于执行的下一作业步。
接下来说明根据本实施例的作业步执行程序20a的处理顺序。图7是根据本实施例的作业步执行程序20a的处理顺序的流程图。
如图7所示,作业步执行程序20a确定作业执行数据提取单元21是否已经从调度服务器10或其它执行服务器30提取了作业执行数据(步骤S201)。如果作业执行数据提取单元21没有提取作业执行数据,则作业步执行程序20a等待作业执行数据的发送。
如果作业执行数据提取单元21已经提取了作业执行数据,则作业步执行单元22执行下一作业步(步骤S202)。具体地,作业步执行单元22参照图5所示的作业执行数据中的作业步完成标志,并且执行其中作业步完成标志没有被设置为“COMPLETE”的作业步中的第一作业步。
作业步执行单元22将与已执行的作业步相对应的作业步完成标志设置为“COMPLETE”(步骤S203),参照其它作业步完成标志来确定是否完成所有作业步的执行(步骤S204)。
如果存在未执行的作业步,换句话说,如果其中作业步完成标志没有被设置为“COMPLETE”的作业步存在,则最佳执行服务器选择单元23实现最佳执行服务器选择处理(步骤S205)。
作业执行数据传送单元24确定由最佳执行服务器选择单元23选择的执行服务器是否为执行服务器20(步骤S206)。如果由最佳执行服务器选择单元23选择的执行服务器不是执行服务器20,则作业执行数据传送单元24将作业执行数据传送到由最佳执行服务器选择单元选择的执行服务器(步骤S207)。作业步执行程序20a返回到步骤S201,并等待,直到作业执行数据提取单元21提取作业执行数据为止。
如果由最佳执行服务器选择单元23选择的执行服务器是执行服务器20,则因为不需要作业执行数据的传送,所以作业步执行程序20a返回步骤S202,并且作业步执行单元22执行下一作业步。
如果在步骤204,作业步执行单元22确定所有作业步的执行完成,换句话说,如果所有作业步的作业步完成标志被设置为“COMPLETE”,则完成通知单元25通知调度服务器10所有作业步的执行完成(步骤S208)。作业步执行程序20a返回步骤S201,并且等待,直到作业执行数据提取单元21提取作业执行数据为止。
每一执行服务器实现最佳执行服务器选择处理,并且在执行服务器中传送作业执行数据,从而能够在没有调度服务器10的情况下请求在执行服务器中执行作业。一旦调度服务器10将作业执行请求发送到执行服务器,那么作业的控制不被返回到调度服务器10,直到作业的执行完成,从而能够降低在调度服务器10上的负载。
接下来说明通过作业步执行程序20a的最佳执行服务器选择单元23的最佳执行服务器选择处理顺序。调度程序10a的最佳执行服务器选择单元12还按照相似的顺序来执行最佳执行服务器选择处理。
图8是通过作业步执行程序20a的最佳执行服务器选择单元23的最佳执行服务器选择处理顺序的流程图。如图8所示,最佳执行服务器选择单元23从监控器40提取与每一执行服务器相关的负载数据(步骤S301)。
最佳执行服务器选择单元23从策略存储单元26读取负载定义策略(步骤S302),并且基于所述负载数据以及负载定义策略来从执行服务器中选择最佳执行服务器(步骤S303)。
例如,如图3所示,在三个执行服务器的负载数据中,如果“服务器1”、“服务器2”和“服务器3”的内存利用率分别是“20%”、“5%”和“20%”,则因为所有执行服务器的内存利用率小于50%,所以应用负载定义策略的“条件1”,并且选择具有最低CPU利用率的执行服务器作为最佳执行服务器。在图3所示的实例中,因为“服务器1”、“服务器2”和“服务器3”的CPU利用率分别是“10%”、“20%”和“30%”,所以选择“服务器1”作为最佳执行服务器。
基于从监控器40提取的负载数据以及先前存储的负载定义策略,最佳执行服务器选择单元23选择用于执行下一作业步的最佳执行服务器,从而能够将执行处理传送到具有较少负载量的执行服务器,因此能够有效利用整个批处理系统中的计算机资源。
接下来说明根据本实施例的执行作业步执行程序20a的执行服务器20的硬件结构。图9是根据本实施例执行作业步执行程序20a的执行服务器20的硬件结构功能框图。
如图9所示,执行服务器20包括:随机存取存储器(RAM)210、CPU220、硬盘驱动器(HDD)230、局域网(LAN)接口240、输入/输出接口250和数字多功能光盘(DVD)驱动器260。
RAM 210是在执行程序期间存储程序和结果的存储器。CPU 220从RAM 210读取并执行程序。
HDD 230存储程序和数据。LAN接口240经由LAN将执行服务器20连接到其它执行服务器和调度服务器10。
输入/输出接口250连接诸如鼠标、键盘等的输入装置,以及显示装置。DVD驱动器260从DVD读取数据,并把数据写到DVD。
由执行服务器20执行的作业步执行程序20a存储在DVD中,由DVD驱动器260从DVD读取所述作业步执行程序20a,并且将所述作业步执行程序20a安装到执行服务器20中。
所述作业步执行程序20a也可以存储在经由LAN接口240与执行服务器20连接的另一计算机系统的数据库中,从数据库读取所述作业步执行程序20a,并且将所述作业步执行程序20a安装到执行服务器20中。
所述安装的作业步执行程序20a存储到HDD 230中,由CPU 220从RAM210中读取所述安装的作业步执行程序20a,并且将所述安装的作业步执行程序20a作为作业步执行处理221来执行。
在本实施例中,作业步执行程序20a的作业执行数据提取单元21随同作业执行请求一起提取表示作业执行状态的作业执行数据,所述作业执行数据由作业执行数据发送器14产生。基于所述作业执行数据,作业步执行单元22执行作业步,更新作业执行数据,并确定作业的执行是否完成。如果作业的执行没有完成,则最佳执行服务器选择单元23选择用于执行下一作业步的执行服务器。如果选择的执行服务器不是执行服务器20,则作业执行数据传送单元25将作业执行数据随同作业执行请求一起传送到由最佳执行服务器选择单元23所选择的执行服务器。因此,一旦调度服务器10发出作业执行请求,则仅在执行服务器的帮助下执行作业,直到作业的执行完成,而不返回对调度服务器10的控制,从而能够降低调度服务器10上的处理负载。
在本实施例中,说明了在执行服务器中传送作业执行数据,用于指定与作业步相关的执行状态,并指定由接收作业执行请求的执行服务器执行的下一作业步。然而,本发明还可类似地应用于作业步分布式执行的方法,从而使得在不在执行服务器中传送作业执行数据的情况下,执行服务器在接收作业执行请求时基于对调度服务器10的询问来确定用于执行的下一作业步,并确定作业的执行是否完成。尽管上述方法导致在调度服务器10上的负载增加,但是因为调度服务器10不需要实现最佳执行服务器选择处理,所以与作业步分布式执行的现有技术方法相比可减少在调度服务器10上的负载,而在所述现有技术方法中,总是由调度服务器10来实现最佳执行服务器选择处理。
在本实施例中,说明了由调度服务器10接收批作业、产生作业执行数据以及选择用于执行第一作业步的执行服务器。然而,本发明还可应用于作业步分布式执行的方法,从而使得所有的执行服务器拥有接收批作业并产生作业执行数据的功能,每一执行服务器产生与接收到的批作业相关的作业执行数据,选择执行第一作业步的执行服务器,并且将作业执行数据随同作业执行请求一起发送到所选择的执行服务器,从而使得不必要设置调度服务器10。
根据本发明,可防止在诸如调度服务器等的特定计算机上的负载集中,从而能够有效利用整个批处理系统中的计算机资源。
尽管为了完整和清楚的公开的目的已经针对具体实施例对本发明进行了说明,但是所附的权利要求并不限于此,而应该解释为本领域技术人员能够得出的所有具体修改和替代方案完全落入这里提出的基本教导内。
Claims (10)
1.一种计算机可读记录介质,其存储有计算机程序,所述计算机程序在计算机上执行时使得该计算机实现在系统上分布式执行批作业的方法,所述系统包括多个执行服务器和一个调度服务器,并且在所述系统中,所述调度服务器使得所述多个执行服务器分布式执行批作业,所述批作业包括按照从第一作业步到最后一个作业步的顺序排列的多个作业步,
所述计算机程序使得所述调度服务器进行如下步骤:
从所述多个执行服务器中选择用以执行所述第一作业步的一个执行服务器;和
将与所述批作业相关的数据发送到所选择的执行服务器,
所述计算机程序使得所述执行服务器进行如下步骤:
从所述调度服务器和另一执行服务器中的任一个中接收数据;
基于接收到的数据执行所述批作业中的一个未执行作业步,并更新所述接收到的数据中的已执行作业步的执行状态;和
当在所述执行步骤中执行的作业步不是最后一个作业步时,基于更新后的数据从所述多个执行服务器中选择用以执行所述批作业中下一未执行作业步的执行服务器。
2.根据权利要求1所述的计算机可读记录介质,其中
由所述调度服务器进行的发送步骤包括如下步骤:将作业执行数据发送到所选择的执行服务器,该作业执行数据指示所述作业步顺序和每一作业步的执行状态,
由所述执行服务器进行的接收步骤包括如下步骤:从所述调度服务器和另一执行服务器中的任一个中接收作业执行数据,
由所述执行服务器进行的执行步骤包括如下步骤:执行在接收到的作业执行数据中指定的所述作业步顺序中的一个未执行作业步,并更新所述接收到的作业执行数据中的已执行作业步的执行状态,和
由所述执行服务器进行的选择步骤包括如下步骤:当在所述执行步骤中执行的作业步不是最后一个作业步时,从所述多个执行服务器中选择用以执行在更新后的作业执行数据中指定的所述作业步顺序中的下一未执行作业步的执行服务器,并将所述更新后的作业执行数据发送到本步骤中所选择的执行服务器。
3.根据权利要求2所述的计算机可读记录介质,其中,由所述执行服务器进行的选择步骤包括如下步骤:选择其自身和另一执行服务器中的任一个来执行在所述作业步顺序中的下一未执行作业步,并且
在选择其自身时,由所述执行服务器进行的执行步骤包括如下步骤:执行在所述更新后的作业执行数据中指定的所述作业步顺序中的下一未执行作业步,并更新所述更新后的作业执行数据中的已执行作业步的执行状态,
在选择另一执行服务器时,由所述执行服务器进行的选择步骤包括如下步骤:将所述更新后的作业执行数据发送到本步骤中所选择的执行服务器。
4.根据权利要求2所述的计算机可读记录介质,其中,由所述执行服务器进行的执行步骤包括如下步骤:为已完成执行的作业步分配一个值,以使得能够区分所述批作业中的已执行作业步与未执行作业步。
5.根据权利要求1所述的计算机可读记录介质,其中当由所述执行服务器进行的执行步骤包括执行所述最后一个作业步时,所述计算机程序还使得所述执行服务器进行如下步骤:向接收到执行所述批作业请求的计算机通知所述批作业执行完成。
6.根据权利要求1所述的计算机可读记录介质,其中,由所述执行服务器进行的选择步骤包括如下步骤:基于所述多个执行服务器上的处理负载来选择执行服务器。
7.根据权利要求6所述的计算机可读记录介质,其中,所述处理负载包括中央处理单元利用率、内存利用率和输入/输出利用率。
8.一种批处理系统,其包括多个执行服务器和一个调度服务器,在所述批处理系统中,所述调度服务器使得所述多个执行服务器分布式执行批作业,所述批作业包括按照从第一作业步到最后一个作业步的顺序排列的多个作业步,其中
所述调度服务器包括:
选择单元,从所述多个执行服务器中选择用以执行所述第一作业步的一个执行服务器;和
第一信息发送单元,将作业执行数据发送到所选择的执行服务器,
该作业执行数据指示所述作业步顺序和每一作业步的执行状态,所述执行服务器包括:
接收单元,从所述调度服务器和另一执行服务器中的任一个中接收作业执行数据;
执行单元,执行在接收到的作业执行数据中指定的所述作业步顺序中的一个未执行作业步,并更新所述接收到的作业执行数据中的已执行作业步的执行状态;和
第二信息发送单元,当在所述执行单元中执行的作业步不是最后一个作业步时,从所述多个执行服务器中选择用以执行在更新后的作业执行数据中指定的所述作业步顺序中的下一未执行作业步的执行服务器,并将更新后的作业执行数据发送到所述第二信息发送单元所选择的执行服务器。
9.一种在系统上分布式执行批作业的方法,所述系统包括多个执行服务器和一个调度服务器,并且在所述系统中,所述调度服务器使得所述多个执行服务器分布式执行批作业,所述批作业包括按照从第一作业步到最后一个作业步的顺序排列的多个作业步,所述方法包括:
所述调度服务器进行的如下步骤:
从所述多个执行服务器中选择用以执行第一作业步的一个执行服务器;和
将与所述批作业相关的数据发送到所选择的执行服务器,以及
所述执行服务器进行的如下步骤:
从所述调度服务器和另一执行服务器中的任一个中接收数据;
基于接收到的数据执行所述批作业中的一个未执行作业步,并更新所述接收到的数据中的已执行作业步的执行状态;和
当在所述执行步骤中执行的作业步不是最后一个作业步时,基于更新后的数据从所述多个执行服务器中选择用以执行所述批作业中下一未执行作业步的执行服务器,并将所述更新后的数据发送到本步骤中所选择的执行服务器。
10.根据权利要求9所述的方法,其中
由所述调度服务器进行的发送步骤包括如下步骤:将作业执行数据发送到所选择的执行服务器,该作业执行数据指示所述作业步顺序和每一作业步的执行状态,
由所述执行服务器进行的接收步骤包括如下步骤:从所述调度服务器和另一执行服务器中的任一个中接收作业执行数据,
由所述执行服务器进行的执行步骤包括如下步骤:执行在接收到的作业执行数据中指定的所述作业步顺序中的一个未执行作业步,并更新所述接收到的作业执行数据中的已执行作业步的执行状态,和
由所述执行服务器进行的选择步骤包括如下步骤:当在所述执行步骤中执行的作业步不是最后一个作业步时,从所述多个执行服务器中选择用以执行在更新后的作业执行数据中指定的所述作业步顺序中的下一未执行作业步的执行服务器,并将所述更新后的作业执行数据发送到本步骤中所选择的执行服务器。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005223314A JP2007041720A (ja) | 2005-08-01 | 2005-08-01 | ジョブステップ実行プログラムおよびジョブステップ実行方法 |
JP2005223314 | 2005-08-01 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1908903A true CN1908903A (zh) | 2007-02-07 |
CN100533387C CN100533387C (zh) | 2009-08-26 |
Family
ID=37309811
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2006101076342A Expired - Fee Related CN100533387C (zh) | 2005-08-01 | 2006-07-28 | 执行作业步的系统和方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20070024898A1 (zh) |
EP (1) | EP1750200A3 (zh) |
JP (1) | JP2007041720A (zh) |
CN (1) | CN100533387C (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101917326B (zh) * | 2009-11-17 | 2012-11-28 | 新奥特(北京)视频技术有限公司 | 一种分布式转码系统及其任务调度方法 |
CN102811255A (zh) * | 2011-06-02 | 2012-12-05 | 株式会社东芝 | 一种用于分布负载的装置和方法 |
CN101917606B (zh) * | 2009-12-08 | 2013-02-20 | 新奥特(北京)视频技术有限公司 | 一种转码系统的控制方法及装置 |
CN103309731A (zh) * | 2012-03-08 | 2013-09-18 | 富士施乐株式会社 | 处理系统 |
WO2013143050A1 (zh) * | 2012-03-26 | 2013-10-03 | 华为技术有限公司 | 一种分布式作业系统的业务处理方法、执行单元和系统 |
CN101821728B (zh) * | 2008-10-15 | 2017-07-07 | 甲骨文国际公司 | 批处理系统 |
CN110351345A (zh) * | 2019-06-25 | 2019-10-18 | 阿里巴巴集团控股有限公司 | 用于业务请求处理的方法及装置 |
CN111694671A (zh) * | 2020-06-12 | 2020-09-22 | 北京金山云网络技术有限公司 | 大数据组件管理方法、装置、服务器、电子设备及系统 |
Families Citing this family (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009123109A (ja) * | 2007-11-16 | 2009-06-04 | Fujitsu Ltd | 分散処理プログラム、分散処理装置、および分散処理方法 |
JP2009217587A (ja) * | 2008-03-11 | 2009-09-24 | Hitachi Ltd | バッチ処理装置及び方法 |
JP2009259060A (ja) * | 2008-04-18 | 2009-11-05 | Hitachi Ltd | ストリームデータ記録再生装置 |
JP5512215B2 (ja) * | 2009-09-30 | 2014-06-04 | 株式会社日立システムズ | ジョブ処理システム及びその方法、そのプログラム |
US8640139B2 (en) * | 2009-10-29 | 2014-01-28 | Nec Corporation | System deployment determination system, system deployment determination method, and program |
CN101917385B (zh) * | 2009-11-17 | 2013-05-01 | 新奥特(北京)视频技术有限公司 | 调度服务器及多媒体转码用的分布式系统 |
JP2011123817A (ja) * | 2009-12-14 | 2011-06-23 | Fujitsu Ltd | ジョブ振分装置、ジョブ振分プログラム及びジョブ振分方法 |
JP5388134B2 (ja) * | 2010-08-06 | 2014-01-15 | 株式会社日立製作所 | 計算機システム、及び、移動データ決定方法 |
JP5556498B2 (ja) * | 2010-08-17 | 2014-07-23 | 富士通株式会社 | 管理装置,ファイルサーバシステム,処理方法及び管理プログラム |
JP2013206163A (ja) * | 2012-03-28 | 2013-10-07 | Nec Corp | 通信装置、通信方法及び通信システム |
JP6304032B2 (ja) * | 2012-08-30 | 2018-04-04 | 日本電気株式会社 | イベント処理制御装置、ノード装置、イベント処理システム、及び、イベント処理制御方法 |
US10581687B2 (en) | 2013-09-26 | 2020-03-03 | Appformix Inc. | Real-time cloud-infrastructure policy implementation and management |
US10291472B2 (en) * | 2015-07-29 | 2019-05-14 | AppFormix, Inc. | Assessment of operational states of a computing environment |
US9385959B2 (en) | 2013-09-26 | 2016-07-05 | Acelio, Inc. | System and method for improving TCP performance in virtualized environments |
US10355997B2 (en) | 2013-09-26 | 2019-07-16 | Appformix Inc. | System and method for improving TCP performance in virtualized environments |
JP6255926B2 (ja) * | 2013-11-13 | 2018-01-10 | 富士通株式会社 | 監視制御プログラム、監視制御方法、および監視制御装置 |
US9906454B2 (en) | 2014-09-17 | 2018-02-27 | AppFormix, Inc. | System and method for providing quality of service to data center applications by controlling the rate at which data packets are transmitted |
CN104317644B (zh) * | 2014-10-13 | 2017-12-29 | 宁波公众信息产业有限公司 | 一种系统任务执行方法 |
CN104283958B (zh) * | 2014-10-13 | 2018-03-20 | 宁波公众信息产业有限公司 | 一种系统任务调度方法 |
JP2016081194A (ja) * | 2014-10-14 | 2016-05-16 | 富士通株式会社 | 記憶情報抽出プログラム、記憶制御装置、および記憶情報抽出方法 |
US11068314B2 (en) | 2017-03-29 | 2021-07-20 | Juniper Networks, Inc. | Micro-level monitoring, visibility and control of shared resources internal to a processor of a host machine for a virtual environment |
US10868742B2 (en) | 2017-03-29 | 2020-12-15 | Juniper Networks, Inc. | Multi-cluster dashboard for distributed virtualization infrastructure element monitoring and policy control |
CN107015867B (zh) * | 2017-04-06 | 2018-01-19 | 安徽国防科技职业学院 | 一种高效数据处理服务器系统 |
US11323327B1 (en) | 2017-04-19 | 2022-05-03 | Juniper Networks, Inc. | Virtualization infrastructure element monitoring and policy control in a cloud environment using profiles |
JP7126712B2 (ja) * | 2020-05-12 | 2022-08-29 | ラトナ株式会社 | データ処理装置、方法、コンピュータプログラム、及び、記録媒体 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2727540B1 (fr) * | 1994-11-30 | 1997-01-03 | Bull Sa | Outil d'aide a la repartition de la charge d'une application repartie |
JP2001109638A (ja) * | 1999-10-06 | 2001-04-20 | Nec Corp | 推定伸長率に基づくトランザクション負荷分散方法及び方式並びにコンピュータ可読記録媒体 |
JP2001166956A (ja) * | 1999-12-06 | 2001-06-22 | Hitachi Ltd | 複合システムにおけるジョブスケジューリング方式 |
-
2005
- 2005-08-01 JP JP2005223314A patent/JP2007041720A/ja active Pending
- 2005-11-16 US US11/281,870 patent/US20070024898A1/en not_active Abandoned
-
2006
- 2006-07-28 CN CNB2006101076342A patent/CN100533387C/zh not_active Expired - Fee Related
- 2006-07-31 EP EP06254017A patent/EP1750200A3/en not_active Withdrawn
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101821728B (zh) * | 2008-10-15 | 2017-07-07 | 甲骨文国际公司 | 批处理系统 |
CN101917326B (zh) * | 2009-11-17 | 2012-11-28 | 新奥特(北京)视频技术有限公司 | 一种分布式转码系统及其任务调度方法 |
CN101917606B (zh) * | 2009-12-08 | 2013-02-20 | 新奥特(北京)视频技术有限公司 | 一种转码系统的控制方法及装置 |
CN102811255A (zh) * | 2011-06-02 | 2012-12-05 | 株式会社东芝 | 一种用于分布负载的装置和方法 |
CN102811255B (zh) * | 2011-06-02 | 2016-01-13 | 株式会社东芝 | 一种用于分布负载的装置和方法 |
CN103309731A (zh) * | 2012-03-08 | 2013-09-18 | 富士施乐株式会社 | 处理系统 |
CN103309731B (zh) * | 2012-03-08 | 2017-12-29 | 富士施乐株式会社 | 处理系统 |
WO2013143050A1 (zh) * | 2012-03-26 | 2013-10-03 | 华为技术有限公司 | 一种分布式作业系统的业务处理方法、执行单元和系统 |
CN110351345A (zh) * | 2019-06-25 | 2019-10-18 | 阿里巴巴集团控股有限公司 | 用于业务请求处理的方法及装置 |
CN110351345B (zh) * | 2019-06-25 | 2021-10-12 | 创新先进技术有限公司 | 用于业务请求处理的方法及装置 |
CN111694671A (zh) * | 2020-06-12 | 2020-09-22 | 北京金山云网络技术有限公司 | 大数据组件管理方法、装置、服务器、电子设备及系统 |
CN111694671B (zh) * | 2020-06-12 | 2023-09-01 | 北京金山云网络技术有限公司 | 大数据组件管理方法、装置、服务器、电子设备及系统 |
Also Published As
Publication number | Publication date |
---|---|
JP2007041720A (ja) | 2007-02-15 |
CN100533387C (zh) | 2009-08-26 |
US20070024898A1 (en) | 2007-02-01 |
EP1750200A2 (en) | 2007-02-07 |
EP1750200A3 (en) | 2009-02-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1908903A (zh) | 执行作业步的系统和方法以及计算机产品 | |
CN1224905C (zh) | 在群集计算机系统中的执行资源动作的方法 | |
US8239868B2 (en) | Computer system, servers constituting the same, and job execution control method and program | |
CN1271517C (zh) | 任务切换装置、方法和程序 | |
CN1154928C (zh) | 用于多任务设施信息处理系统的资源管理方法和设备 | |
CN1875348A (zh) | 信息系统、负载控制方法、负载控制程序和记录媒体 | |
CN1975679A (zh) | 用于优化分段资源分配的方法和设备 | |
CN1235380C (zh) | 相互通信的预处理器 | |
CN1828541A (zh) | Java操作系统中定时任务的实现方法 | |
CN1601465A (zh) | 动态注册表分区 | |
CN101079902A (zh) | 海量数据分级存储方法 | |
CN106201723A (zh) | 一种数据中心的资源调度方法及装置 | |
CN1890657A (zh) | Rdma完成和重传系统以及方法 | |
CN1300690C (zh) | 用于监视计算机系统中的资源的方法和系统 | |
CN111343288B (zh) | 作业调度方法、系统及计算设备 | |
CN1892630A (zh) | Dma数据传送装置、半导体集成电路装置及数据传送方法 | |
CN1591339A (zh) | 提供共享Web模块的系统和方法 | |
CN1755633A (zh) | 用于电子表格链式计算的多线程处理的方法和系统 | |
CN1881934A (zh) | 微处理器、网络系统和通信方法 | |
CN1581853A (zh) | 用于处理要在网络上发送的分组的方法、系统和程序 | |
CN1940867A (zh) | 信息处理装置和方法、记录媒体和程序 | |
CN1828543A (zh) | Java操作系统中实时任务调度方法 | |
US8442939B2 (en) | File sharing method, computer system, and job scheduler | |
CN1906598A (zh) | 信息处理设备、存储区管理方法和计算机程序 | |
CN1955933A (zh) | 数据处理设备和方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20090826 Termination date: 20110728 |