机房任务调度方法、装置、电子设备及存储介质与流程

文档序号:24200013发布日期:2021-03-09 18:51阅读:63来源:国知局
机房任务调度方法、装置、电子设备及存储介质与流程

1.本发明涉及互联网技术领域,尤其涉及一种机房任务调度方法、装置、电子设备及存储介质。


背景技术:

2.目前,互联网领域往往需要执行一些周期性的业务逻辑,例如,定期生成统计报表,或者计算一些业务指标,对定时任务的需求特别多。尤其是当业务线比较多时,各个业务线通常均存在定时任务需求且部署在不同的机房。
3.然而,对于一些比较复杂的业务线,由于数据分布式存储在多个机房中,并且有时同一任务需要在多个机房同时部署定时任务,导致各个业务需要对各自定时任务进行单独运维,缺乏集中的运维管理系统对定时任务进行合理的定义、任务调度管理及运行状态监控,并且各自单独管理定时任务机制导致管理和监控相对比较麻烦,有待解决。


技术实现要素:

4.本发明旨在至少在一定程度上解决相关技术中的技术问题之一。
5.为此,本发明的第一个目的在于提出一种机房任务调度方法,解决了相关技术中各个业务需要对各自定时任务进行单独运维,缺乏集中的运维管理系统对定时任务进行合理的定义、任务调度管理及运行状态监控,并且各自单独管理定时任务机制导致管理和监控相对比较麻烦的技术问题,通过集中统一管理不同业务的定时任务,大大提高运维效率。
6.本发明的第二个目的在于提出一种机房任务调度装置。
7.本发明的第三个目的在于提出一种电子设备。
8.本发明的第四个目的在于提出一种计算机可读存储介质。
9.为达上述目的,本发明第一方面实施例提出了一种机房任务调度方法,包括以下步骤:接收用户发送的配置请求;基于所述配置请求确定多个机房中每个机房的定时任务;以及将所述每个机房的定时任务发送至所述每个机房的调度设备,使得在所述调度设备判定触发相应定时任务时,控制对应的执行设备执行所述相应任务的定时动作。
10.在一些实施例中,在接收所述用户发送的配置请求之后,还包括:获取所述多个机房中至少一个机房的执行设备的定义信息;根据所述定义信息识别所述执行设备的执行范围,并将所述执行范围发送至对应调度设备,以根据所述执行范围确定所述定时动作。
11.在一些实施例中,上述的机房任务调度方法,还包括:接收所述执行设备执行所述定时动作出现异常时生成的报警信息;将所述报警信息发送至终端设备。
12.在一些实施例中,上述的机房任务调度方法,还包括:根据所述配置请求配置任务调动策略;将所述任务调动策略发送至所述每个机房,以根据所述任务调动策略执行对应的定时任务。
13.在一些实施例中,上述的机房任务调度方法,还包括:获取所述执行设备执行所述相应任务的定时动作生成的当前执行信息;展示所述当前执行信息,和/或根据所述当前执
行信息生成统计数据。
14.为达上述目的,本发明第二方面实施例提出了一种机房任务调度装置,包括:第一接收模块,用于接收用户发送的配置请求;确定模块,用于基于所述配置请求确定多个机房中每个机房的定时任务;以及控制模块,用于将所述每个机房的定时任务发送至所述每个机房的调度设备,使得在所述调度设备判定触发相应定时任务时,控制对应的执行设备执行所述相应任务的定时动作。
15.在一些实施例中,在接收所述用户发送的配置请求之后,所述第一接收模块,还用于:获取所述多个机房中至少一个机房的执行设备的定义信息;根据所述定义信息识别所述执行设备的执行范围,并将所述执行范围发送至对应调度设备,以根据所述执行范围确定所述定时动作。
16.在一些实施例中,上述的机房任务调度装置,还包括:第二接收模块,用于接收所述执行设备执行所述定时动作出现异常时生成的报警信息;发送模块,用于将所述报警信息发送至终端设备。
17.在一些实施例中,上述的机房任务调度装置,还包括:配置模块,用于根据所述配置请求配置任务调动策略;执行模块,用于将所述任务调动策略发送至所述每个机房,以根据所述任务调动策略执行对应的定时任务。
18.在一些实施例中,上述的机房任务调度装置,还包括:获取模块,用于获取所述执行设备执行所述相应任务的定时动作生成的当前执行信息;展示模块,用于展示所述当前执行信息,和/或根据所述当前执行信息生成统计数据。
19.为达上述目的,本发明第三方面实施例提出了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时,实现上述的机房任务调度方法。
20.为了实现上述目的,本发明第四方面实施例提出了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述的机房任务调度方法。
21.由此,可以接收用户发送的配置请求,并基于配置请求确定多个机房中每个机房的定时任务,并将每个机房的定时任务发送至每个机房的调度设备,使得在调度设备判定触发相应定时任务时,控制对应的执行设备执行相应任务的定时动作,解决了相关技术中各个业务需要对各自定时任务进行单独运维,缺乏集中的运维管理系统对定时任务进行合理的定义、任务调度管理及运行状态监控,并且各自单独管理定时任务机制导致管理和监控相对比较麻烦的技术问题,通过集中统一管理不同业务的定时任务,大大提高运维效率。
22.本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
23.本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
24.图1为本发明实施例所提供的一种机房任务调度方法的流程示意图;
25.图2为本发明一个实施例的机房任务调度方法涉及的定时任务系统的方框示意图;
26.图3为本发明实施例的机房任务调度装置的方框示意图;以及
27.图4为本发明实施例的电子设备的方框示意图。
具体实施方式
28.下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。
29.下面参考附图描述本发明实施例的机房任务调度方法、装置、电子设备及存储介质。
30.在介绍本发明实施例的机房任务调度方法之前,先简单介绍下本发明实施例的机房任务调度方法涉及的定时任务系统。
31.具体而言,该定时任务系统可以包括:执行器、调度器和管理控制台三部分,各部分之间可以通过tcp(transmission control protocol,传输控制协议)长连接进行通信,其中,通信协议可以为自定义的rpc(remote procedure call,远程调用协议)通信协议,其分为消息头和消息体两部分,消息头用于封装通用的协议信息,如:requestcode用于标识注册请求、心跳请求等不同请求类型;消息体用于携带具体请求所需的相关内容,以注册协议为例:请求消息体中将携带执行器所在机房名称、业务线名称、服务名、ip、端口等信息,以便于服务器端对执行器进行集中管控。管理控制台用于向调度器发送相关运维指令,汇总展示所有机房的定时任务及执行情况;同时提供对每个执行器和定时任务的权限控制;调度器作为管理控制台和执行器之间的代理服务层,一方面从管理控制台接收相关管理请求,另一方面根据相关规则触发定时任务并路由到指定执行器,同时接收从执行器发过来的相关请求,如定时任务执行结果及注册请求。
32.图1为本发明实施例所提供的一种机房任务调度方法的流程示意图。如图1所示,该机房任务调度方法包括以下步骤:
33.s101,接收用户发送的配置请求。
34.可以理解的是,如图2所示,管控台集群,即管理控制台,可以接收用户发送的申请配置请求,其中,管理控制台接收用户发送的配置请求的方式有很多种,例如,用户可以直接操控管理控制台,在此不做具体限定。
35.s102,基于配置请求确定多个机房中每个机房的定时任务。
36.s103,将每个机房的定时任务发送至每个机房的调度设备,使得在调度设备判定触发相应定时任务时,控制对应的执行设备执行相应任务的定时动作。
37.其中,调度设备可以为调度器,执行设备可以为执行器,其中,每个机房内可以设置有一个调度设备和多个执行设备,并且每个执行设备与相应的业务对应,如图2中,业务一、业务三和业务四均设置有对应的执行设备(执行器)。
38.应当理解的是,判定触发相应定时任务的方式可以由本领域技术人员进行设定,在此不做具体限定,如图2所示,调度设备与管理控制台之间可以通过rpc协议通信,管理控制台在根据用户的配置请求确定多个机房中每个机房的定时任务后,可以将该定时任务发送至每个机房内的调度设备,例如,该定时任务为机房一种的业务一的任务,则可以将该定时任务发送至机房一内的调度设备,并在触发该定时任务时,控制机房一内的业务一对应
的执行设备执行相应的定时动作。
39.由此,解决了相关技术中各个业务需要对各自定时任务进行单独运维,缺乏集中的运维管理系统对定时任务进行合理的定义、任务调度管理及运行状态监控,并且各自单独管理定时任务机制导致管理和监控相对比较麻烦的技术问题,通过集中统一管理不同业务的定时任务,大大提高运维效率。
40.在本发明的一个实施例中,在接收用户发送的配置请求之后,还包括:获取多个机房中至少一个机房的执行设备的定义信息;根据定义信息识别执行设备的执行范围,并将执行范围发送至对应调度设备,以根据执行范围确定定时动作。
41.其中,定义信息可以包括执行设备需要部署的机房,执行设备名称、告警编码和ip规则表达式等,其中,所属机房和ip规则表达式可以用于初步控制执行设备的部署范围,降低非预期原因导致的安全风险;告警编码可以用于在任务执行过程中出现异常情况时发送告警至相关干系人。
42.应当理解的是,本发明实施例中可以有多个机房,如图2所示,包括机房一和机房二,当获取到至少一个机房的执行设备的定义信息后,本发明实施例可以根据该定义信息识别执行设备的执行范围,并将执行范围发送至对应调度设备,以根据执行范围确定定时动作。
43.需要说明的是,在根据执行范围确定定时动作时,本发明实施例的执行设备在启动过程中可以自动向对应机房的调度设备进行注册,注册时带上所属机房、所属业务、执行器名称、ip、端口、当前负责人等信息,调度设备可以根据上述定义信息校验注册请求是否合法并决定注册是否通过,如执行设备所在ip是否和定义的ip规则表达式匹配、执行设备名称是否已经定义等。
44.在本发明的一个实施例中,上述的机房任务调度方法,还包括:接收执行设备执行定时动作出现异常时生成的报警信息;将报警信息发送至终端设备。
45.可以理解的是,执行设备在接收到所在机房调度设备发出的定时任务执行请求后,可以对该定时任务进行解析,如获取任务类型、任务名称、任务逻辑所在文件路径、任务逻辑入口方法名称和任务参数等信息等。其中,任务逻辑所在文件路径和任务逻辑入口方法名称组合在一起代表执行设备中唯一的一个定时任务逻辑,其具体实现由业务方提供。
46.其中,执行设备可以根据任务类型进行判断,如任务类型为shell脚本类型、则通过任务逻辑所在文件路径、任务逻辑入口方法名称触发对应业务逻辑执行;如果任务类型为编码类任务,则通过判断任务逻辑入口方法名称来选择执行其所代表的具体业务逻辑,任务执行完成后或执行过程中发生异常导致任务执行失败等情况时,可以生成的报警信息,并将报警信息发送至终端设备(如是手机,平板等),或者调用调度设备接口告知执行是否成功。在本发明的一个实施例中,上述的机房任务调度方法,还包括:根据配置请求配置任务调动策略;将任务调动策略发送至每个机房,以根据任务调动策略执行对应的定时任务。
47.应当理解的是,任务调动策略主要包括执行频率、执行范围、异常处理策略等因素的自由组合,例如,任务调动策略包括执行频率和异常处理策略,则任务调动策对应的定时任务可以为:所有机房所有执行设备每30分钟执行一次该定时任务,失败时最多重试3次。
48.因此,在将包括执行频率和异常处理策略的任务调动策略发送至每个机房后,所
有机房所有执行设备每30分钟执行一次该定时任务,失败时最多重试3次的定时任务。
49.在本发明的一个实施例中,上述的机房任务调度方法,还包括:获取执行设备执行相应任务的定时动作生成的当前执行信息;展示当前执行信息,和/或根据当前执行信息生成统计数据。
50.可以理解的是,为进一步实现对当前定时任务执行情况的监控,本发明实施例可以获取当前执行设备执行相应任务的定时动作生成的当前执行信息,并在管理控制台展示当前执行信息,或者是根据当前执行信息生成统计数据,或者展示当前执行信息的同时,根据当前执行信息生成统计数据,便于跟踪各个机房定时任务的执行情况。由此,不仅方便查看定时任务执行与否、成功或失败以及失败原因,而且降低了定时任务执行过程中的故障排查的难度,大大提高运维效率。
51.根据本发明实施例提出的机房任务调度方法,可以接收用户发送的配置请求,并基于配置请求确定多个机房中每个机房的定时任务,并将每个机房的定时任务发送至每个机房的调度设备,使得在调度设备判定触发相应定时任务时,控制对应的执行设备执行相应任务的定时动作,解决了相关技术中各个业务需要对各自定时任务进行单独运维,缺乏集中的运维管理系统对定时任务进行合理的定义、任务调度管理及运行状态监控,并且各自单独管理定时任务机制导致管理和监控相对比较麻烦的技术问题,通过集中统一管理不同业务的定时任务,大大提高运维效率。
52.为了实现上述实施例,本发明还提出一种机房任务调度装置。
53.图3为本发明实施例提供的一种机房任务调度装置的方框示意图。
54.如图3所示,该机房任务调度装置10包括:第一接收模块100、确定模块200和控制模块300。
55.其中,第一接收模块100用于接收用户发送的配置请求;
56.确定模块200用于基于配置请求确定多个机房中每个机房的定时任务;以及
57.控制模块300用于将每个机房的定时任务发送至每个机房的调度设备,使得在调度设备判定触发相应定时任务时,控制对应的执行设备执行相应任务的定时动作。
58.根据本申请的一个实施例,在接收用户发送的配置请求之后,第一接收模块100还用于:
59.获取多个机房中至少一个机房的执行设备的定义信息;
60.根据定义信息识别执行设备的执行范围,并将执行范围发送至对应调度设备,以根据执行范围确定定时动作。
61.根据本申请的一个实施例,上述的机房任务调度装置10,还包括:第二接收模块。
62.其中,第二接收模块,用于接收执行设备执行定时动作出现异常时生成的报警信息;
63.发送模块,用于将报警信息发送至终端设备。
64.根据本申请的一个实施例,上述的机房任务调度装置10,还包括:配置模块和执行模块。
65.其中,配置模块,用于根据配置请求配置任务调动策略;
66.执行模块,用于将任务调动策略发送至每个机房,以根据任务调动策略执行对应的定时任务。
67.根据本申请的一个实施例,上述的机房任务调度装置10,还包括:获取模块和展示模块。
68.其中,获取模块,用于获取执行设备执行相应任务的定时动作生成的当前执行信息;
69.展示模块,用于展示当前执行信息,和/或根据当前执行信息生成统计数据。
70.需要说明的是,前述对机房任务调度方法实施例的解释说明也适用于该实施例的机房任务调度装置,此处不再赘述。
71.根据本发明实施例的机房任务调度装置,可以接收用户发送的配置请求,并基于配置请求确定多个机房中每个机房的定时任务,并将每个机房的定时任务发送至每个机房的调度设备,使得在调度设备判定触发相应定时任务时,控制对应的执行设备执行相应任务的定时动作,解决了相关技术中各个业务需要对各自定时任务进行单独运维,缺乏集中的运维管理系统对定时任务进行合理的定义、任务调度管理及运行状态监控,并且各自单独管理定时任务机制导致管理和监控相对比较麻烦的技术问题,通过集中统一管理不同业务的定时任务,大大提高运维效率。
72.图4为本申请实施例提供的电子设备的方框示意图。该电子设备可以包括:
73.存储器401、处理器402及存储在存储器401上并可在处理器402上运行的计算机程序。
74.处理器402执行程序时实现上述实施例中提供的机房任务调度方法。
75.进一步地,电子设备还包括:
76.通信接口403,用于存储器401和处理器402之间的通信。
77.存储器401,用于存放可在处理器402上运行的计算机程序。
78.存储器401可能包含高速ram存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
79.如果存储器401、处理器402和通信接口403独立实现,则通信接口403、存储器401和处理器402可以通过总线相互连接并完成相互间的通信。总线可以是工业标准体系结构(industry standard architecture,简称为isa)总线、外部设备互连(peripheral component,简称为pci)总线或扩展工业标准体系结构(extended industry standard architecture,简称为eisa)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,图4中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
80.可选的,在具体实现上,如果存储器401、处理器402及通信接口403,集成在一块芯片上实现,则存储器401、处理器402及通信接口403可以通过内部接口完成相互间的通信。
81.处理器402可能是一个中央处理器(central processing unit,简称为cpu),或者是特定集成电路(application specific integrated circuit,简称为asic),或者是被配置成实施本申请实施例的一个或多个集成电路。
82.为了实现上述实施例,本发明还提出一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述的机房任务调度方法,方法包括:
83.接收用户发送的配置请求;
84.基于配置请求确定多个机房中每个机房的定时任务;以及
85.将每个机房的定时任务发送至每个机房的调度设备,使得在调度设备判定触发相
应定时任务时,控制对应的执行设备执行相应任务的定时动作。
86.在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
87.此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
88.流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现定制逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。
89.在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,"计算机可读介质"可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(ram),只读存储器(rom),可擦除可编辑只读存储器(eprom或闪速存储器),光纤装置,以及便携式光盘只读存储器(cdrom)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
90.应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。如,如果用硬件来实现和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(pga),现场可编程门阵列(fpga)等。
91.本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
92.此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以
是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
93.上述提到的存储介质可以是只读存储器,磁盘或光盘等。尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1