一种维护作业自动化的方法及系统转让专利

申请号 : CN200610113938.X

文献号 : CN101166208B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 金建林袁隽郭卫增杨朝令

申请人 : 北京直真节点技术开发有限公司

摘要 :

本发明公开了一种维护作业自动化的方法及系统,解决日常巡检维护作业自动化问题。该方法为:根据维护作业的各种业务操作对象建立业务对象模型,具体为:根据业务特征,将基本操作对象抽象为设备、时间、脚本、作业和任务,建立操作对象的基本属性,任务包括多个作业及执行时间属性和优先级属性,作业包括脚本和脚本执行的设备,命令以所述脚本为载体;将命令、脚本、设备、时间、作业和任务按照相互之间的对应关系形成业务对象模型,所述脚本与所述作业是一对一的关系,作业与任务是多对多的关系;根据任务的执行时间属性对所述任务进行调度,当所述任务的执行时间到达时,根据所述任务的优先级属性对所述任务进行调度,触发执行所述任务。

权利要求 :

1.一种维护作业自动化的方法,其特征在于,包括以下步骤:

A、根据维护作业的各种业务操作对象建立业务对象模型,具体包括:根据业务特征,将基本操作对象抽象为设备、时间、脚本、作业和任务,建立操作对象的基本属性,其中任务包括多个作业,及执行时间属性和优先级属性,所述作业包括脚本和脚本执行的设备;

将命令、脚本、设备、时间、作业和任务按照相互之间的对应关系形成业务对象模型,所述命令以所述脚本为载体,所述脚本与所述作业是一对一的关系,所述作业与所述任务是多对多的关系;

B、根据任务的执行时间属性对所述任务进行调度,当所述任务的执行时间到达时,根据所述任务的优先级属性对所述任务进行调度,触发执行所述任务。

2.一种实现权利要求1所述方法的系统,其特征在于,该系统包括:业务对象模型单元,用于存储根据维护作业的各种业务操作对象建立的业务对象模型,并将所述业务对象模型中任务的执行时间属性发送给时间调度器,其中,根据维护作业的各种业务操作对象建立的业务对象模型具体包括:根据业务特征,将基本操作对象抽象为设备、时间、脚本、作业和任务,建立操作对象的基本属性,其中任务包括多个作业,及执行时间属性和优先级属性,所述作业包括脚本和脚本执行的设备;将命令、脚本、设备、时间、作业和任务按照相互之间的对应关系形成业务对象模型,所述命令以所述脚本为载体,所述脚本与所述作业是一对一的关系,所述作业与所述任务是多对多的关系;

时间调度器,用于根据所述执行时间属性对任务进行调度,当执行时间到达时,将该任务发送给控制器进行优先级调度;

控制器,从所述业务对象模型单元获得所述任务的优先级,并按照该优先级的顺序将所述任务发送给任务执行单元;

任务执行单元,用于将所述任务发送给相应的设备执行。

3.如权利要求2所述的系统,其特征在于,所述业务对象模型单元包括:业务对象模型存储单元,用于存储根据维护作业的各种业务操作对象建立的业务对象模型;

业务对象模型管理单元,用于将所述任务的执行时间属性发送给所述时间调度器,并将所述任务的优先级属性发送给所述控制器。

4.如权利要求2所述的系统,其特征在于,所述时间调度器包括:存储单元,用于存储所述业务对象模型中所有任务的执行时间属性;

调度单元,用于向所述存储单元转发所述任务的执行时间属性并对该执行时间属性进行监控,当所述任务的执行时间到达时,从所述业务对象模型单元调度该任务,并发送给所述的控制器。

5.如权利要求2、3或4所述的系统,其特征在于,所述系统还包括:扩展接口单元,用于提供用户向所述业务对象模型单元输入任务信息的接口。

6.如权利要求2、3或4所述的系统,其特征在于,所述系统还包括:扩展接口单元,用于提供所述任务执行单元向用户发送任务执行结果的接口。

说明书 :

技术领域

本发明涉及电信运维支撑领域,尤其涉及一种维护作业自动化的方法及系统。

背景技术

在电信运维领域存在许多日常维护作业,包括定期进行检查的指标、执行的任务或者类似的维护行为,维护人员日常工作中包含了大量重复性的劳动。
针对日常维护作业存在周期性、重复性的特点,市场上已经推出了一些相关的产品,帮助解决此类工作的自动执行问题,以降低人员的重复性工作,这些产品在解决此问题时一般采用两种方案:一种是基于时间的任务调度方案;另外一种是基于优先级的任务调度方案。
基于时间的调度方案会根据时间条件触发相应的任务,这种调度方法本质上是时间驱动的,适用于具有稳定、已知输入的简单系统,这种调度算法在设计时就确定下来,甘特图就是基于时间的任务的一种表现形式,在系统的设计阶段,对于各个任务的开始、切换、以及结束时间等就事先做出明确的安排和设计。这种调度算法适合于小的嵌入式系统、自控系统、传感器等应用环境。这种调度算法的优点是任务的执行有很好的可预测性,但最大的缺点是缺乏灵活性。
举例而言,对于多任务系统而言,同一时间有很多任务在执行,如果这时候某个新作业被调度执行,系统很可能没有足够的资源,因此只能等待资源满足或者放弃任务,因此失去了按时执行的意义,又或者时间粒度太小,上一个执行任务还没有执行完毕,该作业又第二次被调度执行,这样作业就会阻塞,时间一久资源就被耗尽。
基于优先级的任务调度方案给每个任务分配一个优先级,在每次任务调度时,调度器总是调度那个具有最高优先级的任务来执行,根据不同的优先级分配方法,基于优先级的调度算法可以分为两种类型:静态优先级调度算法及动态优先级调度算法。
静态优先级调度算法给那些系统中得到运行的所有任务都静态地分配一个优先级。静态优先级的分配可以根据应用的属性来进行,比如任务的周期,用户优先级,或者其它的预先确定的策略。单调速率(RM:Rate-Monotonic)调度算法是一种典型的静态优先级调度算法,它根据任务的执行周期的长短来决定调度优先级,那些具有小的执行周期的任务具有较高的优先级。
动态优先级调度算法根据任务的资源需求来动态地分配任务的优先级,其目的就是在资源分配和调度时有更大的灵活性。非实时系统中就有很多这种调度算法,比如短作业优先的调度算法。在实时调度算法中,最早截止优先(EDF:Earliest Deadline First)算法是使用最多的一种动态优先级调度算法,该算法给就绪队列中的各个任务根据它们的截止期限来分配优先级,具有最近的截止期限的任务具有最高的优先级。
基于优先级的调度方法一般用于偶然性事件,而并不适用于日常作业计划,因为日常作业计划对于工作的安排都有比较严格的规定。
基于上述分析,可以看出现有技术中关于任务调度的两种技术方案存在以下缺点:
基于时间的任务调度方案缺乏灵活性,而基于优先级的任务调度方案不适用于日常作业计划,缺乏一般性。
综上所述,现有技术中,没有一种任务调度方案可以既支持按照时间先后顺序,又满足任务优先级顺序的任务调度,所以,目前维护作业无法利用现有的任务调度方案实现自动化操作。

发明内容

本发明提供一种维护作业自动化的方法及系统,用以解决维护作业自动化问题。
针对上述问题,本发明提供的解决方案如下:
本发明方法包括:
A、根据维护作业的各种业务操作对象建立业务对象模型,具体包括:
根据业务特征,将基本操作对象抽象为设备、时间、脚本、作业和任务,建立操作对象的基本属性,其中任务包括多个作业,及执行时间属性和优先级属性,所述作业包括脚本和脚本执行的设备;
将命令、脚本、设备、时间、作业和任务按照相互之间的对应关系形成业务对象模型,所述命令以所述脚本为载体,所述脚本与所述作业是一对一的关系,所述作业与所述任务是多对多的关系;
B、根据任务的执行时间属性对所述任务进行调度,当所述任务的执行时间到达时,根据所述任务的优先级属性对所述任务进行调度,触发执行所述任务。
本发明系统包括:
业务对象模型单元,用于根据维护作业的各种业务操作对象建立的业务对象模型,并将所述业务对象模型中任务的执行时间属性发送给时间调度器,其中,根据维护作业的各种业务操作对象建立的业务对象模型具体包括:根据业务特征,将基本操作对象抽象为设备、时间、脚本、作业和任务,建立操作对象的基本属性,其中任务包括多个作业,及执行时间属性和优先级属性,所述作业包括脚本和脚本执行的设备;将命令、脚本、设备、时间、作业和任务按照相互之间的对应关系形成业务对象模型,所述命令以所述脚本为载体,所述脚本与所述作业是一对一的关系,所述作业与所述任务是多对多的关系;
时间调度器,用于根据所述所述执行时间属性对任务进行调度,当执行时间到达时,将该任务发送给控制器进行优先级调度;
控制器,从所述业务对象模型单元获得所述任务的优先级,并按照该优先级的顺序将所述任务发送给任务执行单元;
任务执行单元,用于将所述任务发送给相应的设备执行。
所述业务对象模型单元包括:
业务对象模型存储单元,用于存储根据维护作业的各种业务操作对象建立的业务对象模型;
业务对象模型管理单元,用于将所述任务的执行时间属性发送给所述时间调度器,并将所述任务的优先级属性发送给所述控制器。
所述时间调度器包括:
存储单元,用于存储所述业务对象模型中所有任务的执行时间属性;
调度单元,用于向所述存储单元转发所述任务的所述执行时间属性并对该所述执行时间属性进行监控,当所述任务的执行时间到达时,从所述业务对象模型单元调度该任务,并发送给所述的控制器。
本发明提供的一种维护作业自动化的方法及系统,通过将操作维护的基本元素抽象为获取设备指标的命令、命令执行的时间以及命令执行的目标设备,再通过各元素之间的对应关系建立起覆盖运营商日常维护作业的各种业务的模型,该模型作为维护作业自动化的基础,不仅全面地覆盖了运营商日常维护作业的各种业务操作,而且也能够很好的进行软件设计和高效的软件实现,为实现日常维护管理工作的自动化提供了基础;
本发明以上述建立的业务对象模型为基础,通过利用任务的执行时间和任务的优先级相结合的调度方式,可以稳定、高效地实现任务调度,使任务调度管理不仅支持按照时间先后顺序以及按照时间周期的调度执行,而且还满足任务优先级的顺序,使任务调度具有很好的适应性和灵活性,符合电信运维实际作业执行特点,解决了现有技术中的任务调度只按照时间或者是按照作业的优先级进行调度,缺乏灵活性和一般性,难以满足电信运营用户的实际要求的问题,实现了维护作业自动化。

附图说明

图1为本发明方法的流程图;
图2为本发明业务对象模型的逻辑结构图;
图3为本发明系统的结构框图。

具体实施方式

本发明的总体思想为:根据电信运维实际作业执行特点,将操作维护的基本元素抽象为获取设备指标的命令、命令执行的时间以及命令执行的目标设备,再通过各元素之间的对应关系建立起覆盖运营商日常维护作业的各种业务的模型,并以该业务对象模型为基础,根据所述任务的执行时间属性和优先级属性对所述任务分成两级调度,即采取将任务的执行时间和任务的优先级相结合的调度方式,稳定地实现任务调度的自动控制,采用时间并发和优先级相结合的方法实现高效的任务调度,使任务调度管理不仅支持按照时间先后顺序以及按照时间周期的调度执行,同时还满足任务优先级的顺序。
下面结合具体实施例来详细说明本发明所述一种维护作业自动化的方法的具体实施方式:
如图1所示,实现本发明的方法包括以下步骤:
S101、将命令、脚本、设备、作业、作业组、任务和任务组按照相互之间的关系形成业务对象模型;
一般的业务对象模型不能实现通用性,也不能用来实现对运营商的所有业务对象建模,因此,本发明根据运营商日常例行网络维护的业务特点,对其进行抽象总结,通过建立其特定的业务对象模型,去适应目前所有的业务,来满足运营商的业务需求;
将操作维护的基本元素抽象为获取设备指标的命令、命令执行的时间、命令执行的目标设备。命令以脚本为载体,一个脚本是具有相同运行特征的多条命令的组合体,因此命令和脚本之间是多对一的关系;
脚本需要按照时间触发器的执行触发,对设备执行某些操作,以获取业务中用户关心的指标数据信息。一个脚本可以在多个时间点被触发,因此脚本和时间触发器之间是一对多的关系。不同的脚本可以承载不同的命令,不同的命令可以在不同的设备上运行,因此脚本和设备之间是多对多的关系;
同时,将操作维护的基本操作对象抽象为脚本、作业、任务;
作业是脚本与脚本可以运行的一组同类设备的组合,所述的作业包括承载相关命令的脚本及所述脚本执行的设备,因此作业和脚本之间是一对一的关系,作业和设备是一对多的关系;
所述的任务包括触发执行相关任务的任务触发器;
所述作业组是个管理的概念,作业组和作业之间是一对多的关系;一个任务可以关联多个作业组,可以关联多个时间触发器,并且一个作业组也可以关联多个任务,一个时间触发器可以关联多个任务,因此任务和作业组之间是多对多的关系,任务和时间触发器之间也是多对多的关系;
所述任务组也是管理概念,是任务的分组,并且任务组支持分级结构;
所述作业与所述作业组是多对一的关系,所述作业组与所述任务是一对多的关系。
参见图2,为所述业务对象模型的逻辑结构图。
S102、根据所述业务对象模型,建立日常的维护计划任务;
一个维护计划任务就是一个脚本、一组设备和一组时间触发器的组合;
根据用户实际运维需求,把日常的维护计划任务进行分解,按照所述步骤S101的业务对象模型形成能够执行的任务。
S103、按照任务的执行时间对所述业务对象模型的任务进行调度;
其中,所述任务的执行时间由用户在建立任务时定义的。
S104、对所述基于时间调度的任务,按照优先级顺序对所述任务进行调度;
其中,所述任务的优先级由用户在建立任务时设定的。
即,上述两个步骤实现了时间调度与优先级调度的紧密结合,当任务的执行时间到达时,根据执行时间,将所述任务从所述业务对象模型中取出,再根据所述任务的优先级的顺序,将所述任务派发执行,这样就避免了现有技术中,仅仅根据任务的执行时间或任务的优先级调度的缺点,使派发执行的任务即满足时间的先后顺序又满足优先级的顺序。
S105、将所述任务派发执行,并获取执行结果;
对所述任务分别按照时间和优先级的顺序进行调度之后,将该任务派发到相应的设备执行,并获取执行的结果,将该任务的执行结果返回给用户。
其中,在步骤S103所述的基于时间的调度中,一个任务可以关联多个不同的时间调度触发器,触发器可以是简单的基于起始时间和结束时间的一次任务调度,也可以是基于特定时间间隔的重复调度,也可以是有基本时间单元(秒,分,时,日,月,周,年)按照一定规则组成的复杂周期调度。
在步骤S104中所述的基于任务的调度控制中,包含了对任务本身优先级的控制,在任务创建并配置了时间触发器之后,在满足任务执行时间的时候,任务就由时间触发器触发调度任务,再根据该任务的优先级进行调度,调度的方法为:建立不同的任务池,在同一个任务池中任务的优先级都是相同的,每个任务池都有一组独立的执行线程进行处理,执行线程的优先级与任务的优先级相同,同时每个任务池都有多个执行线程,通过这样的多线程并行执行技术,可以保证时间和优先级相同的任务可以同时执行,任务进入到任务池中后,由循环执行线程自动获取待执行的任务,并派发执行。
如图3所示,实现本发明所述方法的系统包括:扩展接口单元301、业务对象模型单元302、时间调度器303、控制器304以及任务执行单元305。
其中,所述的业务对象模型单元302包括:业务对象模型管理单元3021和业务对象模型存储单元3022;
所述时间调度器303包括调度单元3031和存储单元3032。
用户从所述的扩展接口单元301将日常的维护计划任务输入所述系统,在任务执行完毕之后,所述用户从该扩展接口单元301获取任务完成的结果;
其中,所述的业务对象模型存储单元3022按照业务对象模型,对所述日常的维护计划任务建立所述系统可以执行的任务,并存储在业务对象模型存储单元3022中;
一般的业务对象模型不能实现通用性,也不能用来实现对运营商的所有业务对象建模,因此,本系统根据运营商日常例行网络维护的业务特点,对其进行抽象总结,通过建立特定的业务对象模型,去适应目前所有的日常例行网络维护业务,来满足运营商的业务需求。
根据业务对象模型,在所述用户输入日常的维护计划任务之后,便由所述的业务对象模型存储单元3022将该任务按照建立好的所述的业务对象模型进行存储,并由所述业务对象模型管理单元3021进行管理,同时,将所述任务的执行时间的信息经过所述调度单元3031发送给所述的存储单元3032;
其中,所述的存储单元3032存储了所有业务对象模型中的任务的执行时间属性,所述的调度单元3031所述检查其中的任务的执行时间属性,当到达任务的执行时间时,就从业务对象模型单元中调度该任务,那么其中的存储单元3032同时起到了持久化作用,因为当系统发生异常时,可能导致时间调度器303停止运行,那么如果没有存储单元对任务的执行时间的存储,再下一次启动系统时,所述的时间调度器303就要重新获得所述业务对象模型中的任务的执行时间属性,这样就会影响维护计划任务的工作效率。
当所述任务的执行时间到达时,将该任务的从所述业务对象模型单元302中调度该任务,并发送给给所述控制器304;
所述控制器304经过所述时间调度器303的触发,按照所述任务的优先级对任务进行调度控制,并将所述任务按照优先级的顺序发送给所述作业执行模块305,其中,所述任务的优先级是从所述业务对象模型单元302获取的,而所述优先级是在所述用户输入所述任务的相关命令时设定的;
所述任务执行单元305,用于接收所述控制器304派发的所述任务,并对该任务进行解析,获取相关设备信息,将该任务发送给相应的设备执行,并获取该设备执行的结果,将结果通过所述扩展接口单元301返回给所述用户。
综上所述,本发明系统的工作过程如下:
所述的扩展接口单元301将用户要执行的任务输入所述的业务对象模型单元302,并存储在业务对象模型存储单元3022中,同时,业务对象模型管理单元3021将该任务的执行时间属性经过时间调度器303中调度单元3031存储在存储单元3032中,调度单元3031随时检查存储单元3032中的任务的执行时间属性,当所述任务的执行时间到达时,所述的调度单元3031从所述业务对象模型存储单元3022中获取所述的任务,并发送给控制器304,所述控制器304从所述业务对象模型管理单元3021获取所述任务的优先级,并根据该优先级的顺序将所述任务发送给作业执行模块305,所述作业执行模块305对所述任务进行解析,获得所述任务的脚本及脚本执行的目标设备,将该任务发送给相关的目标设备执行,并获取所述的执行结果,将该结果经过所述扩展接口单元301返回给用户。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。