一种调度任务的方法、装置和系统制造方法及图纸

技术编号:2916091 阅读:165 留言:0更新日期:2012-04-11 18:40
本发明专利技术提供一种调度任务的方法、装置和系统,用以解决现有技术中在将任务调度到指定任务服务器时必须关闭其他任务服务器从而降低系统处理能力的不足之处。实施例阐述的方法应用于包含两台以上任务服务器的应用系统,在数据库服务器中保存各任务的数据并保存任务与有权限执行该任务的任务服务器的对应关系;任务服务器根据所述对应关系执行自身有权限执行的任务。实施例还公开了基于上述方法的装置与系统。本发明专利技术通过引入权限机制,对每项任务规定了有权限执行该任务的任务服务器,从而确保任务能够被调度到指定的任务服务器并且无需关闭其他应用服务器。

【技术实现步骤摘要】

本专利技术涉及计算机技术,特别地涉及一种调度任务的方法、装置和系统
技术介绍
在一个大型应用系统中,存在多台部署了相同的任务调度系统的任务服务器,这些任务服务器根据“谁先获取到任务谁就先调度执行”的原则执行应用服务器发布的任务。如图1所示,11为应用服务器,12为数据库服务器,13为系统中包含的两台以上任务服务器。应用服务器11发布任务,即生成任务数据,并通常保存在数据库服务器12中。任务服务器13从数据库服务器12中获取任务数据。通常情况下,为了保证业务逻辑的正确,任务被一台应用服务器获取到之后,数据库服务器12中就删除该任务的信息。在实际应用中,在对任务的数据进行测试时,在任务服务器执行该任务过程中修改了该任务的数据并重新发布该任务,如果此时由另一台任务服务器获取了该任务,则会导致测试无法达到预期目的。此外,在调度任务的过程中,如果任务服务器在获取任务的数据之后,在执行时如果由于自身硬件配置的原因而无法正确执行该任务,则该任务在应用系统中失效,导致系统工作异常。为了能够正确地执行任务,保证应用系统的工作状态正常,现有的做法是停止具有执行所有任务的权限的其他任务服务器的运行并且仅启动1台任务服务器,使任务只能由该启动的任务服务器执行。这种做法由于关闭了一些任务服务器,从而降低了系统的处理能力。
技术实现思路
本专利技术的目的是提供一种任务调度的方法、装置和系统,以解决现有技术中为了将任务调度到指定的任务服务器,降低了系统的处理能力的问题。-->本专利技术实施例中的一种调度任务的方法,应用于包含两台以上任务服务器的应用系统,包括:在数据库服务器中保存该任务的数据并保存任务与有权限执行该任务的任务服务器的对应关系;任务服务器根据所述对应关系执行自身有权限执行的任务。本专利技术实施例中的一种任务服务器,用于从数据库服务器中获取任务的数据以及执行任务,包括:确认模块,用于根据预设的任务与有权限执行该任务的任务服务器的对应关系确认一项任务服务器有权限执行的任务;获取模块,用于从数据库服务器中获取确认模块确认的任务的数据;执行模块,用于根据获取模块获取的数据执行任务。本专利技术实施例中的又一种任务服务器,用于从数据库服务器中获取任务的数据以及执行任务,包括:获取模块,用于从数据库服务器中获取任务的数据;设置模块,用于设置获取模块获取的任务的数据在数据库服务器中的属性为不可读;判断模块,用于在获取模块获取任务的数据后,根据预设的任务与有权限执行该任务的任务服务器的对应关系判断任务服务器是否有权限执行该任务;执行模块,用于执行任务服务器有权限执行的任务;所述获取模块进一步用于当判断模块判断任务服务器没有权限执行获取的任务,则不重复地从数据库服务器中获取其他任务的数据;所述设置模块进一步用于当判断模块判断任务服务器没有权限执行获取的任务,则设置该任务的数据在数据库服务器中的属性为可读。本专利技术实施例中的一种应用服务器,包括:任务数据生成模块,用于生成任务的数据;权限设置模块,用于对于每项任务,在应用系统中选择有权限执行该任务-->的任务服务器,保存任务与有权限执行该任务的任务服务器的信息。本专利技术实施例中的一种调度任务的系统,包括:应用服务器,用于生成每项任务的数据和任务与有权限执行该任务的任务服务器的对应关系;数据库服务器,用于保存应用服务器生成的所述数据和对应关系;任务服务器,用于根据所述对应关系执行自身有权限执行的任务。应用本专利技术实施例给出的技术方案,通过引入权限机制,建立了任务与有权限执行该任务的任务服务器的对应关系,对每项任务规定有权限执行该任务的任务服务器,任务服务器根据自身权限执行任务,从而确保任务能够被调度到指定的任务服务器而执行,并且不会降低系统原有的处理能力。附图说明图1为任务调度的系统示意图;图2为本专利技术实施例中的方法流程图。具体实施方式为了使任务由指定的任务服务器执行并且无需停止其他任务服务器的服务,在本专利技术实施例中,对于图1所示的应用系统,根据图2所示的步骤处理任务:步骤S21:应用服务器生成任务的数据并保存在数据库服务器中,并且在数据库服务器中保存该任务和有权限执行该任务的任务服务器的对应关系。该对应关系在本专利技术实施例中保存在如表1所示的调度列表中。在本步骤中,应用服务器对生成的每项任务,都设定了一个或几个任务服务器有权限执行该任务,也可以设定应用系统中所有任务服务器有权限执行该任务。表1每一行包含任务名称与有权限执行该任务的服务器的名称。这里使用任务名称来标识每项任务,也可以用任务的其他信息如生成任务的数据时给-->出的流水号。这里使用任务服务器的名称来标识每项任务服务器,也可以用任务服务器的其他信息,如任务服务器的编号或硬件标识信息。  任务1  R1,R2  任务2  R2  任务3  /  任务4  R3表1对于表1中第1列记录任务名,第2列记录有权限执行第1列所示任务的应用服务器的名称。每行第2列涉及的应用服务器可以是一台,也可以是多台;也可以是应用系统中所有任务服务器,如表1第2列第3行所示。步骤S22:任务服务器根据所述对应关系执行自身有权限执行的任务。在本专利技术实施例中对任务服务器设定执行任务的权限,使得任务能够被预先指定的一台或多台任务服务器执行。步骤S22是应用系统中每台开启的任务服务器在运行时执行的步骤,它们必须根据设定的权限来执行任务,步骤S22具体可以有两种方式,下面分别对步骤S22包含的具体步骤进行说明。步骤S22的一种执行方式如下:任务服务器根据调度列表查找自身有权限执行的任务。例如任务服务器R2,它从调度列表中查得自身有权限执行任务1、2和3,于是随机地获取其中一项任务的数据,然后执行该任务。在获取到任务的数据之后还可以删除数据库服务器中该任务的数据,以免其他任务服务器执行了该任务,造成重复执行的逻辑错误。在这种方式下,任务服务器在获取任务数据之前,先确认了哪些任务是自身有权限执行的,然后再有目的地获取这些任务的数据。这种方式适用于每台任务服务器有权限执行的任务在数据库服务器中占有比例较小的情况,保证了-->任务服务器每次能够有效地获取任务数据,节省了获取到自身没有权限的任务而需要的获取操作所占时间。另外,任务服务器也可以先获取任务的数据,再来判断自身是否有权限执行,即步骤S22还可以按照如下的方式执行:任务服务器从数据库服务器中每次获取一项任务的数据,这里的获取可以是随机地获取任务的数据,然后设置数据库服务器中该任务的数据的属性为不可读,以免其他任务服务器获取该任务的数据,再根据调度列表判断自身是否有权限执行该任务,若是,则执行该任务,否则设置数据库服务器中该任务的数据的属性为可读,以及从数据库服务器中获取其他任务的数据,该其他任务应当是任务服务器没有获取过的任务。这种方式适用于数据库服务器中仅有较少数量的任务需要指定的任务服务器来执行,在获取到任务的数据之后根据该任务能够快速地在任务列表中找到有权限执行该任务的任务服务器,并在自身有权限执行任务的情况下立即执行任务。在步骤S22中任务服务器获取并执行了有权限执行的任务,接下来进行步骤S23。步骤S23:任务服务器在执行任务之后,删除数据库服务器中该任务的数据。在本步骤中任务服务器在执行任务之后可根据需要修改所述对应本文档来自技高网...

【技术保护点】
一种调度任务的方法,应用于包含两台以上任务服务器的应用系统,其特征在于,包括: 在数据库服务器中保存各任务的数据并保存任务与有权限执行该任务的任务服务器的对应关系; 任务服务器根据所述对应关系执行自身有权限执行的任务。

【技术特征摘要】
1、一种调度任务的方法,应用于包含两台以上任务服务器的应用系统,其特征在于,包括:在数据库服务器中保存各任务的数据并保存任务与有权限执行该任务的任务服务器的对应关系;任务服务器根据所述对应关系执行自身有权限执行的任务。2、如权利要求1所述方法,其特征在于,所述任务服务器根据所述对应关系执行自身有权限执行的任务包括:所述应用系统中的任务服务器根据所述对应关系,每次确认一项自身有权限执行的任务然后获取该任务的数据,再执行该任务。3、如权利要求2所述方法,其特征在于,所述获取该任务的数据之后进一步包括步骤:    删除数据库服务器中所述该任务的数据。4、如权利要求1所述方法,其特征在于,所述任务服务器根据所述有权限执行该任务的任务服务器信息执行自身有权限执行的任务包括:所述任务服务器从数据库服务器中每次获取一项任务的数据然后设置数据库服务器中该任务的数据的属性为不可读,再根据所述对应关系判断自身是否有权限执行该任务,若是,则执行该任务,否则设置数据库服务器中该任务的数据的属性为可读,以及不重复地从数据库服务器中获取其他任务的数据。5、如权利要求4所述方法,其特征在于,所述执行该任务之前进一步包括步骤:删除数据库服务器中该任务的数据。6、一种任务服务器,用于从数据库服务器中获取任务的数据以及执行任务,其特征在于,包括:确认模块,用于根据预设的任务与有权限执行该任务的任务服务器的对应关系确认一项任务服务器有权限执行的任务;获取模块,用于从数据库服务器中获取确认模块确认的任务的数据;执行模块,用于根...

【专利技术属性】
技术研发人员:金伟安
申请(专利权)人:阿里巴巴集团控股有限公司
类型:发明
国别省市:VG[英属维尔京群岛]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1