CN111611066A - 任务执行方法、任务执行服务器和存储介质 - Google Patents

任务执行方法、任务执行服务器和存储介质 Download PDF

Info

Publication number
CN111611066A
CN111611066A CN202010615077.5A CN202010615077A CN111611066A CN 111611066 A CN111611066 A CN 111611066A CN 202010615077 A CN202010615077 A CN 202010615077A CN 111611066 A CN111611066 A CN 111611066A
Authority
CN
China
Prior art keywords
task
executed
server
execution
target
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
CN202010615077.5A
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.)
Ping An Bank Co Ltd
Original Assignee
Ping An Bank 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 Ping An Bank Co Ltd filed Critical Ping An Bank Co Ltd
Priority to CN202010615077.5A priority Critical patent/CN111611066A/zh
Publication of CN111611066A publication Critical patent/CN111611066A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本申请适用于基架运维技术领域,提供了任务执行方法、服务器和存储介质。上述任务执行方法包括:接收待执行任务,所述待执行任务包含任务执行维度,所述任务执行维度表征并发执行所述待执行任务的服务器的个数;基于所述任务执行维度,确定用于执行所述执行任务的多个目标服务器标识;将所述待执行任务分别发送给与所述多个目标服务器标识对应的多个目标服务器,以使得所述多个目标服务器分别执行所述待执行任务。上述任务执行方法能够提高任务执行效率且不易出错。

Description

任务执行方法、任务执行服务器和存储介质
技术领域
本申请属于基架运维技术领域,尤其涉及任务执行方法、任务执行服务器和存储介质。
背景技术
随着云计算技术得到越来越广泛的应用,相应配套的运维技术也得到越来越大的重视。在对软件系统进行运维时,对于高并发运维任务,即需要通过多个计算设备执行的运维任务,传统的运维任务策略是需要在各台用于执行该运维任务的服务器分别进行相应设置才可以完成,存在科学化程度不高、效率不高等问题。
发明内容
为克服相关技术中存在的科学化程度不高、效率不高的问题,本申请实施例提供了任务执行方法、服务器和存储介质。
本申请是通过如下技术方案实现的:
第一方面,本申请实施例提供了一种任务执行方法,包括:
接收待执行任务,所述待执行任务包含任务执行维度,所述任务执行维度表征并发执行所述待执行任务的服务器的个数;
基于所述任务执行维度,确定用于执行所述执行任务的多个目标服务器标识;
将所述待执行任务分别发送给与所述多个目标服务器标识对应的多个目标服务器,以使得所述多个目标服务器分别执行所述待执行任务。
上述任务执行方法,接收待执行任务,根据待执行任务中的任务执行维度确定用于执行任务的多个目标服务器标识,再将待执行任务分别发送给该多个目标服务器标识对应的目标服务器,以使得目标服务器分别执行该待执行任务,由于任务执行维度表征并发执行该待执行任务的服务器的个数,因此可以根据该任务执行维度确定用于执行该待执行任务的目标服务器,再将待执行任务分别发送给各个目标服务器进行执行,而不需要在各个目标服务器上进行手动操作以执行任务,能够提高任务执行效率且不易出错。
在第一方面的一种可能的实现方式中,所述待执行任务还包含用户权限标识,所述基于所述任务执行维度,确定用于执行所述执行任务的多个目标服务器标识,包括:
根据所述任务执行维度确定用于执行所述待执行任务的服务器的目标个数;
根据所述用户权限标识确定能够执行所述待执行任务的待选服务器标识;
根据所述服务器的目标个数和所述待选服务器标识,确定所述多个目标服务器标识。
在第一方面的一种可能的实现方式中,所述待执行任务还包含用户权限标识,所述基于所述任务执行维度,确定用于执行所述执行任务的多个目标服务器标识,包括:
获取输入的服务器标识;
根据所述用户权限标识确定能够执行所述待执行任务的待选服务器标识;
根据所述服务器标识和所述待选服务器标识,确定所述多个目标服务器标识。
在第一方面的一种可能的实现方式中,所述待执行任务包含多个待执行子任务,所述将所述待执行任务分别发送给与所述多个目标服务器标识对应的多个目标服务器,包括:
基于所述多个待执行子任务之间的关联关系,将所述多个待执行子任务依次分别发送给所述多个目标服务器。
在第一方面的一种可能的实现方式中,所述将所述多个待执行子任务依次分别发送给所述多个目标服务器,包括:
将当前待执行子任务分别发送给所述多个目标服务器;
获取各个所述目标服务器执行所述当前待执行子任务的执行结果;
在所述当前待执行子任务的执行结果满足预设条件的情况下,将下一待执行子任务发送给相应的目标服务器,以使得所述目标服务器执行所述下一待执行子任务。
在第一方面的一种可能的实现方式中,所述将所述待执行任务分别发送给与所述多个目标服务器标识对应的多个目标服务器,包括:
在所述多个目标服务器中,选择至少一个目标服务器作为预执行目标服务器;
将所述待执行任务发送给所述预执行目标服务器,以使得所述执行目标服务器执行所述待执行任务;
获取所述执行目标服务器执行所述待执行任务的执行结果,在所述执行结果满足预设执行结果要求的情况下,将所述待执行任务分别发送给所述多个目标服务器。
在第一方面的一种可能的实现方式中,所述待执行任务还包含任务执行时间,所述将所述待执行任务分别发送给与所述多个目标服务器标识对应的多个目标服务器,包括:
在当前时间到达所述任务执行时间后,将所述待执行任务分别发送给与所述多个目标服务器标识对应的多个目标服务器。
在第一方面的一种可能的实现方式中,所述待执行任务还包含任务标识,在所述接收待执行任务之后,所述方法还包括:
基于所述待执行任务的任务标识,确定用于对所述待执行任务进行任务审核的审核终端;
将所述待执行任务发送给所述审核终端以进行任务审核。
第二方面,本申请实施例提供了一种任务执行装置,包括:
接收模块,用于接收待执行任务,所述待执行任务包含任务执行维度,所述任务执行维度表征并发执行所述待执行任务的服务器的个数;
标识确定模块,用于基于所述任务执行维度,确定用于执行所述执行任务的多个目标服务器标识;
发送模块,用于将所述待执行任务分别发送给与所述多个目标服务器标识对应的多个目标服务器,以使得所述多个目标服务器分别执行所述待执行任务。
第三方面,本申请实施例提供了一种任务执行服务器,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如第一方面任一项所述的任务执行方法。
第四方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如第一方面任一项所述的任务执行方法。
第五方面,本申请实施例提供了一种计算机程序产品,当计算机程序产品在电子设备上运行时,使得电子设备执行上述第一方面中任一项所述的任务执行方法。
可以理解的是,上述第二方面至第五方面的有益效果可以参见上述第一方面中的相关描述,在此不再赘述。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本说明书。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本申请一实施例提供的任务执行方法的应用场景示意图;
图2是本申请一实施例提供的任务执行服务器的功能架构示意图;
图3是本申请一实施例提供的任务执行方法的流程示意图;
图4是本申请一实施例提供的任务执行方法的流程示意图;
图5是本申请一实施例提供的任务执行方法的流程示意图;
图6是本申请一实施例提供的任务执行方法的流程示意图;
图7是本申请一实施例提供的任务执行方法的流程示意图;
图8是本申请一实施例提供的任务执行方法的流程示意图;
图9是本申请实施例提供的任务执行装置的结构示意图;
图10是本申请实施例提供的任务执行服务器的结构示意图。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本申请。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。
应当理解,当在本申请说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
如在本申请说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。
另外,在本申请说明书和所附权利要求书的描述中,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
在本申请说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本申请的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。
随着云计算技术得到越来越广泛的应用,相应配套的运维技术也得到越来越大的重视。在对软件系统进行运维时,对于高并发运维任务,即需要通过多个计算设备执行的运维任务,通常是通过人为手动操作各台用于执行该运维任务的服务器来实现执行该运维任务的,而人为手动操作较为繁琐效率较低,而且手动操作出错的概率较大。
基于上述问题,本申请实施例中的任务执行方法,根据待执行任务中的任务执行维度确定用于执行任务的多个目标服务器标识,再将待执行任务分别发送给该多个目标服务器标识对应的目标服务器,以使得目标服务器分别执行该待执行任务,由于任务执行维度表征并发执行该待执行任务的服务器的个数,因此可以根据该任务执行维度确定用于执行该待执行任务的目标服务器,再将待执行任务分别发送给各个目标服务器进行执行,而不需要在各个目标服务器上进行手动操作以执行任务,能够提高任务执行效率且不易出错。
举例说明,本申请实施例可以应用到如图1所示的示例性场景中。在该场景中,用户终端10用于接收用户输入的待执行任务,该待执行任务可以包含任务执行维度,该任务执行维度表征并发执行该待执行任务的服务器的个数;任务执行服务器20基于该任务执行维度确定用于执行该待执行任务的多个目标服务器标识,将该待执行任务分别发送给与上述多个目标服务器标识对应的目标服务器30,目标服务器30用于执行上述待执行任务,并将执行结果发送给任务执行服务器20。
其中,目标服务器30的数量可以为多个,例如为两个以上的任意数值,图1中仅以三个目标服务器30为例进行说明,但并不以此为限。
首先本申请实施例中任务执行方法涉及的任务执行服务器30的功能架构,参见图2,图2为本申请实施例中任务执行方法涉及的任务执行服务器30的功能架构示意图。
该任务执行服务器30可以包括任务调度模块、数据库模块、缓存模块、消息队列模块、接口模块、用户界面模块、身份认证模块、日志模块、日志处理模块、任务处理模块、任务审批模块、服务器查询模块、服务器权限确认模块和任务执行进度通知模块。
其中,任务调度模块用于完成与其他各系统模块之间的数据交互和数据流控制,实现用户任务的定制、下发执行、结果采集和输出等功能;数据库模块用于保存用户定义的任务、脚本、任务的执行结果等信息,例如可以为MYSQL数据库;缓存模块用于保存任务执行过程中的临时数据,例如可以为Redis;消息队列模块用于外部系统订阅任务的执行消息,例如可以为Kafka/Nsq;接口模块用于对外部系统提供调用的接口,使得其他的系统可以通过该接口模块运行系统中定义的任务,例如可以为API接口;用户界面模块用于提供用户UI(User Interface,用户界面),供使用者和管理员对系统进行操作和管理;日志模块用于实现日志的记录和输出,便于用户查看任务执行情况和排障,例如可以为LOG日志模块;身份认证模块用于实现系统的单点登录功能,例如可以由SSO(Single Sign On,单点登录)系统和4A平台构成;日志处理模块用于系统日志的保存查询聚合等功能;任务处理模块用于实现任务的下发和直接结果反馈等功能,例如可以为DEVOPS系统;任务审批模块用于变更类型的任务的审批及记录,例如可以由Dragonfly和ITSM构成;服务器查询模块,用于任务目标服务器列表的查询,例如可以为CMDB;服务器权限确认模块用于任务目标服务器权限确认,例如可以为OPC;任务执行进度通知模块用于发送任务执行的进度和结果通知,例如可以为ChatRoom。
其中,可以利用接口模块在系统平台外部实现高风险操作授权的申请/审批/操作记录等操作,实现对高风险操作的可控可查,具体到每一个变更类型的操作,都会有提交、审批、执行、执行结果记录的流程,确保每一次操作都有据可查。而且,可以对每一个通过系统平台执行的任务的相关信息进行记录和追溯,可以从多个维度生成任务执行情况的报表,从而为系统的维护,任务的优化提供翔实的数据。
本实施例中,可以利用go语言的高并发特性以及分布式的代理分发架构并和容器化部署,实现了高并发能力,可以同时在数万台服务器上执行任务脚本,高效地完成任务的分发和执行;将用户的权限分配与身份认证系统分离,可以利用统一的身份认证系统实现用户身份的识别并获取用户信息,可以利用该用户信息获取用户可以操作的设备清单,从而实现更为精确的权限控制。
图3是本申请一实施例提供的任务执行方法的示意性流程图,参照图3,对该任务执行方法的详述如下:
步骤S101,接收待执行任务,所述待执行任务包含任务执行维度,所述任务执行维度表征并发执行所述待执行任务的服务器的个数。
例如,任务执行维度为N(N为大于或等于2的整数),则表示需要通过N个服务器分别执行该待执行任务,再根据每个服务器的执行结果进行后续处理,相关内容在后续步骤中描述,此处不予赘述。
在一种应用场景中,上述方法还可以包括:基于所述待执行任务的任务标识,确定用于对所述待执行任务进行任务审核的审核终端;将所述待执行任务发送给所述审核终端以进行任务审核。其中,该任务标识可以为该待执行任务的脚本的属性信息,或可以为该待执行任务的脚本中任务名称关键词等信息。
例如,任务执行服务器在接收到待执行任务后,可以检测该待执行任务的脚本的属性信息,根据该属性信息确定需要审核的流程,并将该待执行任务的脚本发送至对应的终端以供相关人员进行审核。其中,该属性信息可以为用户预先设置的相关人员终端标识,任务执行服务器可以根据该相关人员终端标识将该待执行任务脚本发送至对应的终端以供相关人员进行审核。
又例如,任务执行服务器在接收到待执行任务后,可以根据该待执行任务的脚本中任务名称关键词等信息确定对应的终端标识,并将该待执行任务的脚本发送给终端标识对应的终端以供相关人员进行审核。其中,可以在任务执行服务器中设置任务名称关键词与终端标识的对应关系。
示例性的,待执行任务的脚本可以为python脚本、shell脚本、powershell、bat及perl脚本中的任一种。
步骤S102,基于所述任务执行维度,确定用于执行所述待执行任务的多个目标服务器标识。
其中,可以在待选服务器标识中选择与任务执行维度对应的个数的服务器标识,作为用于执行所述待执行任务的多个目标服务器标识。
例如,待选服务器标识为M个,任务执行维度为N,在N≤M的情况下,从M个待选服务器标识中选择N个服务器标识作为目标服务器标识,在N大于M的情况下可以生成服务器标识不足的提示信息。通常情况下,待选服务器标识的个数可以较大,例如M可以为几十、几百甚至几千,而任务执行维度N一般会小于待选服务器标识的个数M。
示例性的,可以从M个待选服务器标识中任意选择N个目标服务器标识,或者可以从M个待选服务器标识中根据用户权限选择N个目标服务器标识,或者可以根据其他要求从M个待选服务器标识中选择N个目标服务器标识,本申请实施例对此不予限定。对于如何从M个待选服务器标识中选择N个目标服务器标识,在后续内容中有相关描述,在此不予赘述。
步骤S103,将所述待执行任务分别发送给与所述多个目标服务器标识对应的多个目标服务器,以使得所述多个目标服务器分别执行所述待执行任务。
示例性的,该待执行任务可以为修改目标服务器的配置参数,则任务执行服务器可以分别向每个目标任务服务器发送该待执行任务,每个目标服务器分别执行该待执行任务以实现对每个目标服务器的配置参数的修改。当然,该待执行任务也可以为其他任务,以上仅为示例性说明,并不以此为限。
在一种应用场景中,该待执行任务还可以包含任务执行时间,步骤S103可以为:在当前时间到达所述任务执行时间后,将所述待执行任务分别发送给与所述多个目标服务器标识对应的多个目标服务器。
上述任务执行方法,根据待执行任务中的任务执行维度确定用于执行任务的多个目标服务器标识,再将待执行任务分别发送给该多个目标服务器标识对应的目标服务器,以使得目标服务器分别执行该待执行任务,由于任务执行维度表征并发执行该待执行任务的服务器的个数,因此可以根据该任务执行维度确定用于执行该待执行任务的目标服务器,再将待执行任务分别发送给各个目标服务器进行执行,而不需要在各个目标服务器上进行手动操作以执行任务,能够提高任务执行效率且不易出错。
参见图4,图4为本申请实施例提供的任务执行方法的示意性流程图,参照图4,基于图3所示的实施例,步骤S102可以包括步骤S201至步骤S203。
步骤S201,根据所述任务执行维度确定用于执行所述待执行任务的服务器的目标个数。
其中,任务执行维度可以为用户在输入待执行任务时进行设置的,也可以为任务执行服务器根据该待执行任务及用户输入的相关要求确定的,还可以为其他任何方式得到的,本申请实施例对此不予限定。
例如,任务执行维度为N,则表示需要通过N个服务器分别执行该待执行任务,即用于执行该待执行任务的服务器的目标个数为N。
步骤S202,根据所述用户权限标识确定能够执行所述待执行任务的待选服务器标识。
其中,该待执行任务还可以包含用户权限标识,该用户权限标识用于表征对应的用户终端所具有使用权限的服务器的标识。例如,所有的待选服务器标识可以为M个,该用户权限标识可以为M个待选服务器标识中的N个待选服务器标识。其中,该N个待选服务器标识可以为任意的,也可以为预先指定的,本申请实施例对此不予限定。
步骤S203,根据所述服务器的目标个数和所述待选服务器标识,确定所述多个目标服务器标识。
例如,该N个待选服务器标识为M个待选服务器标识中的任意N个待选服务器标识,则可以从M个待选服务器标识中任意选择N个待选服务器标识,确定为所述多个目标服务器标识。
又例如,该N个待选服务器标识为M个待选服务器标识中的预先指定的N个待选服务器标识,则可以从M个待选服务器标识中选择预先指定的N个待选服务器标识,确定为所述多个目标服务器标识。
参见图5,图5为本申请实施例提供的任务执行方法的示意性流程图,参照图5,基于图3所示的实施例,步骤S102可以包括步骤S301至步骤S303。
步骤S301,获取输入的服务器标识。
其中,任务执行服务器可以获取用户输入的服务器标识,该输入的服务器标识用于表征该用户想要使用的服务器对应的标识。例如,用户在想要对服务器S1~SL进行配置参数设置时,可以向任务执行服务器输入服务器S1~SL对应的服务器标识。其中L为大于等于2的整数。
示例性的,服务器的标识可以为服务器的IP、appid或dsu,能够区分各个服务器即可。用户可以输入服务器的IP、appid或dsu,任务执行服务器根据服务器的IP、appid或dsu确定服务器标识。
步骤S302,根据所述用户权限标识确定能够执行所述待执行任务的待选服务器标识。
其中,该用户权限标识用于表征对应的用户终端所具有使用权限的服务器的标识。例如,所有的待选服务器标识可以为M个,该用户权限标识用于表征M个待选服务器标识中的N个待选服务器标识。其中,该N个待选服务器标识可以为任意的,也可以为预先指定的,本申请实施例对此不予限定。
步骤S303,根据所述服务器标识和所述待选服务器标识,确定所述多个目标服务器标识。
具体的,对于N个待选服务器标识完全包含服务器S1~SL对应的服务器标识的情况,即用户终端具有使用服务器S1~SL的使用权限,则可以将服务器S1~SL对应的服务器标识确定为所述多个目标服务器标识。
对于N个待选服务器标识包含服务器S1~SL对应的服务器标识中的部分服务器标识的情况,说明用户终端只具有服务器S1~SL中部分服务器的使用权限(例如具有服务器S1~SO的使用权限,O小于L),则可以将服务器S1~SO对应的服务器标识确定所述多个目标服务器标识,并可以生成不具有服务器SO+1~SL使用权限的提示信息。用户终端可以根据该提示信息请求设置对服务器S O+1~SL的使用权限。
对于N个待选服务器标识不包含服务器S1~SL对应的服务器标识的情况,说明用户终端不具有服务器S1~SL的使用权限,则可以生成不具有服务器S1~SL使用权限的提示信息。用户终端可以根据该提示信息请求设置对服务器S1~SL的使用权限。
作为一种可能的实施例,上述待执行任务可以包含多个待执行子任务,各个待执行子任务之间具有关联关系。步骤S103具体可以包括:基于所述多个待执行子任务之间的关联关系,将所述多个待执行子任务依次分别发送给所述多个目标服务器。
图6是本申请一实施例提供的任务执行方法的示意性流程图,参照图6,基于图3所示的实施例,步骤S103可以包括步骤S401至步骤S403。
步骤S401,将当前待执行子任务分别发送给所述多个目标服务器。
其中,该待执行任务可以包含多个待执行子任务,各个待执行子任务之间具有关联关系。例如,该待执行任务A可以包含待执行子任务A1至An,n为大于或等于2的整数,待执行子任务A1至An之间依次相互关联,构成该待执行任务A。任务执行服务器按照待执行子任务A1至An的次序分别发送每个待执行子任务给上述多个目标服务器,每个目标服务器执行上述每个待执行子任务。
步骤S402,获取各个所述目标服务器执行所述当前待执行子任务的执行结果。
步骤S403,在所述当前待执行子任务的执行结果满足预设条件的情况下,将下一待执行子任务发送给相应的目标服务器,以使得所述目标服务器执行所述下一待执行子任务。
其中,任务执行服务器发送待执行子任务Ai给每个目标服务器(1≤i≤n),每个目标服务器执行该待执行子任务Ai后将执行结果发送给任务执行服务器,任务执行服务器向执行结果满足预设条件的服务器发送后续的待执行子任务Ai+1;而对于执行结果不满足预设条件的服务器,任务执行服务器可以请求该服务器继续执行待执行子任务Ai,直至执行结果满足预设条件,或者不发送后续的待执行子任务,并记录该执行结果。
在一种应用场景中,对于可能危及服务器安全的待执行任务,可以通过灰度执行的方式执行该待执行任务。其中,待执行任务是否危及服务器安全可以根据待执行任务的任务名称等信息确定,或者可以根据用户在上传待执行任务的脚本时预先标注的信息确定,也可以根据任务执行维度确定,也可以对所有的待执行任务均通过灰度执行的方式执行,本申请实施例对此不予限定。
图7是本申请一实施例提供的任务执行方法的示意性流程图,参照图7,基于图3所示的实施例,步骤S103可以包括步骤S501至步骤S503。
步骤S501,在所述多个目标服务器中,选择至少一个目标服务器作为预执行目标服务器。
本步骤中,可以在上述多个目标服务器中选择一定比例的目标服务器作为预执行服务器,来预先执行该待执行任务,例如,该比例可以为10%~20%。其中,可以根据上述多个目标服务器中的10%~20%的目标服务器执行该待执行任务的执行结果确定是否可以让上述多个目标服务器执行该待执行子任务。
步骤S502,将所述待执行任务发送给所述预执行目标服务器,以使得所述预执行目标服务器执行所述待执行任务。
步骤S503,获取所述预执行目标服务器执行所述待执行任务的执行结果,在所述执行结果满足预设执行结果要求的情况下,将所述待执行任务分别发送给所述多个目标服务器。
在一种应用场景中,在所有的预执行目标服务器的执行结果均表征预执行目标服务器在执行待执行任务过程中未出现异常的情况下,任务执行服务器将待执行任务分别发送给上述多个目标服务器中的其他服务器执行,否则任务执行服务器不向上述多个目标服务器中的其他服务器发送待执行任务。
在又一种应用场景中,在所有的预执行目标服务器的执行结果中,少于预设比例的执行结果表征预执行目标服务器在执行待执行任务过程中出现异常的情况下,任务执行服务器将待执行任务分别发送给上述多个目标服务器中的其他服务器执行,否则任务执行服务器不向上述多个目标服务器中的其他服务器发送待执行任务。
需要说明的是,预执行目标服务器的执行结果满足预设执行结果要求还可以为其他情况,以上仅为示例性说明,本申请实施例并不限于此。
图8是本申请一实施例提供的任务执行方法的信息交互示意性流程图,参照图8,对该任务执行方法的详述如下:
步骤S601,用户终端接收用户输入的待执行任务,并确定该待执行任务的任务执行维度。
步骤S602,用户终端发送待执行任务给任务执行服务器。
步骤S603,任务执行服务器基于上述任务执行维度,确定用于执行该待执行任务的多个目标服务器标识。
步骤S604,任务执行服务器在多个目标服务器标识对应的多个目标服务器中,选择至少一个目标服务器作为预执行目标服务器。
步骤S605,任务执行服务器发送待执行任务给预执行目标服务器。
步骤S606,预执行目标服务器执行待执行任务,得到第一执行结果。
步骤S607,预执行目标服务器发送第一执行结果给任务执行服务器。
步骤S608,任务执行服务器判断该第一执行结果是否满足预设执行结果要求,若是则执行步骤S609,若否则执行步骤S615。
步骤S609,任务执行服务器将待执行任务的第i个待执行子任务分别发送给各个目标服务器。
步骤S610,目标服务器执行第i个待执行子任务,得到第二执行结果。
步骤S611,目标服务器发送第二执行结果给任务执行服务器。
步骤S612,任务执行服务器检测是否存在未执行的待执行子任务,若是则执行步骤S613,若否则执行步骤S617。
步骤S613,任务执行服务器判断该第二执行结果是否满足预设条件,若是则执行步骤S614,若否则执行步骤S616。
步骤S614,将第i+1个待执行子任务分别发送给满足预设条件的各个目标服务器。
步骤S615,目标服务器执行第i+1个待执行子任务,得到第二执行结果,然后执行步骤S611。
步骤S616,任务执行服务器停止向不满足预设条件的目标服务器发送后续的待执行子任务。
步骤S617,任务执行服务器基于每个目标服务器对待执行任务的执行结果,对各个目标服务器进行运维。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
对应于上文实施例所述的任务执行方法,图9示出了本申请实施例提供的任务执行装置的结构框图,为了便于说明,仅示出了与本申请实施例相关的部分。
参见图9,本申请实施例中的任务执行装置可以包括接收模块701、标识确定模块702和发送模块703。
其中,接收模块701,用于接收待执行任务,所述待执行任务包含任务执行维度,所述任务执行维度表征并发执行所述待执行任务的服务器的个数;
标识确定模块702,用于基于所述任务执行维度,确定用于执行所述执行任务的多个目标服务器标识;
发送模块703,用于将所述待执行任务分别发送给与所述多个目标服务器标识对应的多个目标服务器,以使得所述多个目标服务器分别执行所述待执行任务。
上述任务执行装置,根据待执行任务中的任务执行维度确定用于执行任务的多个目标服务器标识,再将待执行任务分别发送给该多个目标服务器标识对应的目标服务器,以使得目标服务器分别执行该待执行任务,由于任务执行维度表征并发执行该待执行任务的服务器的个数,因此可以根据该任务执行维度确定用于执行该待执行任务的目标服务器,再将待执行任务分别发送给各个目标服务器进行执行,而不需要在各个目标服务器上进行手动操作以执行任务,能够提高任务执行效率且不易出错。
应当理解的是,图9示出的任务执行装置的结构框图中,各模块用于执行图3至图8对应的实施例中的各步骤,而对于图3至图8对应的实施例中的各步骤已在上述实施例中进行详细解释,具体请参阅图3至图8以及图3至图8所对应的实施例中的相关描述,此处不再赘述。
需要说明的是,上述装置/单元之间的信息交互、执行过程等内容,由于与本申请方法实施例基于同一构思,其具体功能及带来的技术效果,具体可参见方法实施例部分,此处不再赘述。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
本申请实施例还提供了一种任务执行服务器,参见图10,该任务执行服务器800可以包括:至少一个处理器810、存储器820以及存储在所述存储器820中并可在所述至少一个处理器810上运行的计算机程序,所述处理器810执行所述计算机程序时实现上述任意各个方法实施例中的步骤,例如图3所示实施例中的步骤S101至步骤S103。或者,处理器810执行所述计算机程序时实现上述各装置实施例中各模块/单元的功能,例如图9所示模块701至703的功能。
示例性的,计算机程序可以被分割成一个或多个模块/单元,一个或者多个模块/单元被存储在存储器820中,并由处理器810执行,以完成本申请。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序段,该程序段用于描述计算机程序在任务执行服务器800中的执行过程。
本领域技术人员可以理解,图10仅仅是任务执行服务器的示例,并不构成对任务执行服务器的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如输入输出设备、网络接入设备、总线等。
处理器810可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
存储器820可以是任务执行服务器的内部存储单元,也可以是任务执行服务器的外部存储设备,例如插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(SecureDigital,SD)卡,闪存卡(Flash Card)等。所述存储器820用于存储所述计算机程序以及任务执行服务器所需的其他程序和数据。所述存储器820还可以用于暂时地存储已经输出或者将要输出的数据。
总线可以是工业标准体系结构(Industry Standard Architecture,ISA)总线、外部设备互连(Peripheral Component,PCI)总线或扩展工业标准体系结构(ExtendedIndustry Standard Architecture,EISA)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,本申请附图中的总线并不限定仅有一根总线或一种类型的总线。
本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时可实现上述任务执行方法各个实施例中的步骤。
本申请实施例提供了一种计算机程序产品,当计算机程序产品在电子设备上运行时,使得电子设备执行时实现可实现上述任务执行方法各个实施例中的步骤。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质至少可以包括:能够将计算机程序代码携带到拍照装置/终端设备的任何实体或装置、记录介质、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,RandomAccess Memory)、电载波信号、电信信号以及软件分发介质。例如U盘、移动硬盘、磁碟或者光盘等。在某些司法管辖区,根据立法和专利实践,计算机可读介质不可以是电载波信号和电信信号。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
在本申请所提供的实施例中,应该理解到,所揭露的装置/网络设备和方法,可以通过其它的方式实现。例如,以上所描述的装置/网络设备实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
以上所述实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。

Claims (10)

1.一种任务执行方法,其特征在于,包括:
接收待执行任务,所述待执行任务包含任务执行维度,所述任务执行维度表征并发执行所述待执行任务的服务器的个数;
基于所述任务执行维度,确定用于执行所述待执行任务的多个目标服务器标识;
将所述待执行任务分别发送给与所述多个目标服务器标识对应的多个目标服务器,以使得所述多个目标服务器分别执行所述待执行任务。
2.如权利要求1所述的任务执行方法,其特征在于,所述待执行任务还包含用户权限标识,所述基于所述任务执行维度,确定用于执行所述执行任务的多个目标服务器标识,包括:
根据所述任务执行维度确定用于执行所述待执行任务的服务器的目标个数;
根据所述用户权限标识确定能够执行所述待执行任务的待选服务器标识;
根据所述服务器的目标个数和所述待选服务器标识,确定所述多个目标服务器标识。
3.如权利要求1所述的任务执行方法,其特征在于,所述待执行任务还包含用户权限标识,所述基于所述任务执行维度,确定用于执行所述执行任务的多个目标服务器标识,包括:
获取输入的服务器标识;
根据所述用户权限标识确定能够执行所述待执行任务的待选服务器标识;
根据所述服务器标识和所述待选服务器标识,确定所述多个目标服务器标识。
4.如权利要求1所述的任务执行方法,其特征在于,所述待执行任务包含多个待执行子任务,所述将所述待执行任务分别发送给与所述多个目标服务器标识对应的多个目标服务器,包括:
基于所述多个待执行子任务之间的关联关系,将所述多个待执行子任务依次分别发送给所述多个目标服务器。
5.如权利要求4所述的任务执行方法,其特征在于,所述将所述多个待执行子任务依次分别发送给所述多个目标服务器,包括:
将当前待执行子任务分别发送给所述多个目标服务器;
获取各个所述目标服务器执行所述当前待执行子任务的执行结果;
在所述当前待执行子任务的执行结果满足预设条件的情况下,将下一待执行子任务发送给相应的目标服务器,以使得所述目标服务器执行所述下一待执行子任务。
6.如权利要求1所述的任务执行方法,其特征在于,所述将所述待执行任务分别发送给与所述多个目标服务器标识对应的多个目标服务器,包括:
在所述多个目标服务器中,选择至少一个目标服务器作为预执行目标服务器;
将所述待执行任务发送给所述预执行目标服务器,以使得所述预执行目标服务器执行所述待执行任务;
获取所述预执行目标服务器执行所述待执行任务的执行结果,在所述执行结果满足预设执行结果要求的情况下,将所述待执行任务分别发送给所述多个目标服务器。
7.如权利要求1所述的任务执行方法,其特征在于,所述待执行任务还包含任务执行时间,所述将所述待执行任务分别发送给与所述多个目标服务器标识对应的多个目标服务器,包括:
在当前时间到达所述任务执行时间后,将所述待执行任务分别发送给与所述多个目标服务器标识对应的多个目标服务器。
8.如权利要求1所述的任务执行方法,其特征在于,所述待执行任务还包含任务标识,在所述接收待执行任务之后,所述方法还包括:
基于所述待执行任务的任务标识,确定用于对所述待执行任务进行任务审核的审核终端;
将所述待执行任务发送给所述审核终端以进行任务审核。
9.一种任务执行服务器,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至8任一项所述的方法。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至8任一项所述的方法。
CN202010615077.5A 2020-06-30 2020-06-30 任务执行方法、任务执行服务器和存储介质 Pending CN111611066A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010615077.5A CN111611066A (zh) 2020-06-30 2020-06-30 任务执行方法、任务执行服务器和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010615077.5A CN111611066A (zh) 2020-06-30 2020-06-30 任务执行方法、任务执行服务器和存储介质

Publications (1)

Publication Number Publication Date
CN111611066A true CN111611066A (zh) 2020-09-01

Family

ID=72194206

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010615077.5A Pending CN111611066A (zh) 2020-06-30 2020-06-30 任务执行方法、任务执行服务器和存储介质

Country Status (1)

Country Link
CN (1) CN111611066A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114172886A (zh) * 2021-11-29 2022-03-11 北京金山云网络技术有限公司 机器控制方法、装置、存储介质以及电子设备

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105100280A (zh) * 2015-08-31 2015-11-25 广州酷狗计算机科技有限公司 任务分配方法和装置
CN109189483A (zh) * 2018-08-02 2019-01-11 优视科技新加坡有限公司 任务执行的调控方法、装置、设备/终端/服务器及存储介质
WO2019075978A1 (zh) * 2017-10-16 2019-04-25 平安科技(深圳)有限公司 数据传输方法、装置、计算机设备和存储介质
CN109743390A (zh) * 2019-01-04 2019-05-10 深圳壹账通智能科技有限公司 任务调度方法、装置、计算机设备和存储介质
CN110290180A (zh) * 2019-05-31 2019-09-27 北京大米科技有限公司 分布式任务调度方法、装置、计算机设备和存储介质
CN110515709A (zh) * 2019-07-25 2019-11-29 北京达佳互联信息技术有限公司 任务调度系统、方法、装置、电子设备及存储介质
CN110727526A (zh) * 2019-09-09 2020-01-24 上海陆家嘴国际金融资产交易市场股份有限公司 大数据计算任务的处理方法和系统
CN110908778A (zh) * 2019-10-10 2020-03-24 平安科技(深圳)有限公司 任务部署方法、系统和存储介质
CN111290854A (zh) * 2020-01-20 2020-06-16 腾讯科技(深圳)有限公司 任务管理方法、装置、系统、计算机存储介质及电子设备

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105100280A (zh) * 2015-08-31 2015-11-25 广州酷狗计算机科技有限公司 任务分配方法和装置
WO2019075978A1 (zh) * 2017-10-16 2019-04-25 平安科技(深圳)有限公司 数据传输方法、装置、计算机设备和存储介质
CN109189483A (zh) * 2018-08-02 2019-01-11 优视科技新加坡有限公司 任务执行的调控方法、装置、设备/终端/服务器及存储介质
CN109743390A (zh) * 2019-01-04 2019-05-10 深圳壹账通智能科技有限公司 任务调度方法、装置、计算机设备和存储介质
CN110290180A (zh) * 2019-05-31 2019-09-27 北京大米科技有限公司 分布式任务调度方法、装置、计算机设备和存储介质
CN110515709A (zh) * 2019-07-25 2019-11-29 北京达佳互联信息技术有限公司 任务调度系统、方法、装置、电子设备及存储介质
CN110727526A (zh) * 2019-09-09 2020-01-24 上海陆家嘴国际金融资产交易市场股份有限公司 大数据计算任务的处理方法和系统
CN110908778A (zh) * 2019-10-10 2020-03-24 平安科技(深圳)有限公司 任务部署方法、系统和存储介质
CN111290854A (zh) * 2020-01-20 2020-06-16 腾讯科技(深圳)有限公司 任务管理方法、装置、系统、计算机存储介质及电子设备

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114172886A (zh) * 2021-11-29 2022-03-11 北京金山云网络技术有限公司 机器控制方法、装置、存储介质以及电子设备

Similar Documents

Publication Publication Date Title
CN107730196B (zh) 项目进度管理方法及终端设备
CN111582815A (zh) 一种核电站的工程管理方法、装置、终端设备及存储介质
CN111694638A (zh) 规则包加载方法、规则包执行方法及终端设备
CN112434982A (zh) 任务处理方法、装置、系统、存储介质及电子设备
CN111611066A (zh) 任务执行方法、任务执行服务器和存储介质
CN111767533A (zh) 离线模式用户授权方法、装置、电子装置及存储介质
CN113407973A (zh) 软件功能权限管理方法、系统、服务器及存储介质
CN111209281B (zh) 年金数据处理方法、装置、介质及电子设备
CN115167785B (zh) 基于标签的网盘文件管理方法、装置、网盘及存储介质
CN111523849A (zh) 资源交易的审核方法、装置及服务器
CN113792285B (zh) 一种核电站业务权限控制方法、装置及终端设备
CN113592645A (zh) 数据验证的方法和装置
CN112862264A (zh) 企业经营状况分析方法、计算机设备及计算机存储介质
CN110728125B (zh) 请假表单生成方法、装置、服务器及存储介质
CN111310166A (zh) 权限管理方法、装置、设备及存储介质
CN112667631A (zh) 业务字段自动编辑方法、装置、设备及存储介质
CN114070659B (zh) 一种设备锁定方法、装置及终端设备
CN117270953A (zh) 微服务应用管理方法、装置及电子设备
CN117252554B (zh) 基于决策引擎的业务流程互斥控制方法以及系统
CN117710068B (zh) 基于人工智能的临时供应商核验方法、装置及设备
CN112685437A (zh) 基于配置化的佣金计算方法、装置、设备及存储介质
CN117726337A (zh) 交易信息处理方法、装置、电子设备及存储介质
CN114418142A (zh) 设备巡检方法及装置
CN116319331A (zh) 一种dns解析配置信息的批量下发方法、装置、介质及设备
CN114090504A (zh) 电子系统中的文档管理方法、装置、设备及存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination