CN107943453B - 一种实现运维系统自定义计划任务的方法及系统 - Google Patents

一种实现运维系统自定义计划任务的方法及系统 Download PDF

Info

Publication number
CN107943453B
CN107943453B CN201610887547.7A CN201610887547A CN107943453B CN 107943453 B CN107943453 B CN 107943453B CN 201610887547 A CN201610887547 A CN 201610887547A CN 107943453 B CN107943453 B CN 107943453B
Authority
CN
China
Prior art keywords
client
module
task
server
report
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.)
Active
Application number
CN201610887547.7A
Other languages
English (en)
Other versions
CN107943453A (zh
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.)
Xiamen Yaxon Networks Co Ltd
Original Assignee
Xiamen Yaxon Networks 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 Xiamen Yaxon Networks Co Ltd filed Critical Xiamen Yaxon Networks Co Ltd
Priority to CN201610887547.7A priority Critical patent/CN107943453B/zh
Publication of CN107943453A publication Critical patent/CN107943453A/zh
Application granted granted Critical
Publication of CN107943453B publication Critical patent/CN107943453B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44521Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明一种实现运维系统自定义计划任务的方法及系统,该方法包括如下步骤:S1:客户端调度器初始化;S2:服务端调度器初始化;S3:计划任务创建;S4:计划任务绑定;S5:计划任务执行;S6:报表查询和导出;S7:计划任务解除绑定;S8:计划任务删除。该系统包括客户端调度器和多个客户端模块、服务端调度器和多个服务端模块、计划任务管理模块和报表查询模块、数据库和文件系统。该方法及系统通过基于自定义计划任务的实现,在运维系统通用功能的基础上实现了从任务执行到报表展现的自定义计划任务一体化扩展性开发支持,极大丰富了运维监控系统在不同行业、不同系统之间的通用性和可定制化特性。

Description

一种实现运维系统自定义计划任务的方法及系统
技术领域
本发明属于信号与信息系统技术领域,具体涉及一种实现运维系统自定义计划任务的方法及系统。
背景技术
运维系统作为保障系统正常运行的辅助系统,提供了对目标系统自动化运营监控和维护辅助功能,降低了运维管理的人力成本,确保了系统的服务可靠性。目前,大部分运维系统都是基于具体系统的运维需求开发的,具有较强的配套定制特征,通用性较差,如公布号为CN103368760A的中国专利“一种铁路电务与通信信号综合运维系统和方法”。虽然有部分第三方运维产品提供了通用运维监控支持,也支持部分自定义脚本,但是在灵活性和功能性上都较差,扩展能力和适用范围有限,如公布号为CN102053610A的中国专利“一种针对自动监控类系统的智能运维方法及系统”。
本发明以构建兼具通用性和扩展性的运维系统为目标,提出了一种实现运维系统自定义计划任务的方法,在提供通用运维服务的基础上,以自定义计划任务的方式支持深度定制化开发,构建更灵活、适用范围更广的运维系统。
发明内容
本发明在于为解决上述问题而提供一种实现运维系统自定义计划任务的方法及系统。
本发明一种实现运维系统自定义计划任务的系统,包括客户端、后台服务器、网站,客户端包括客户端调度器和多个客户端模块,后台服务器包括服务端调度器和多个服务端模块,网站包括计划任务管理模块和报表查询模块,所述系统还包括数据库和文件系统;
所述客户端调度器用于管理和调用客户端模块,包括客户端模块的加载和初始化、客户端模块执行接口的周期性调用执行、客户端模块的停止和卸载;
所述客户端模块用于定义计划任务的操作流程,并将执行结果生成执行报告,通过客户端调度器发送给服务端模块处理;
所述服务端调度器用于管理和调用服务端模块,包括服务端模块的加载和初始化、客户端计划任务执行报告的存储、网站报表查询请求处理、服务端模块的停止和卸载;
所述服务端模块用于定义对客户端计划任务执行报告的处理流程、计划任务报表查询和导出的处理流程;
所述计划任务管理模块用于计划任务的创建、维护和删除;
所述报表查询模块用于提供所有计划任务统一的报表查询界面和报表显示界面,不同的计划任务和查询条件返回的报表则以文件的形式内嵌到报表显示界面中进行显示;
所述数据库用于存储和查询计划任务信息、文件存储信息和计划任务执行报告;
所述文件系统用于提供客户端模块、服务端模块文件和报表查询生成的Excel文件上传和下载服务。
进一步的,所述数据库是关系型或非关系型数据库,或者是本地数据库或本地文件。
进一步的,所述文件系统其文件上传成功后会返回一个文件ID,通过该文件ID可以在运维系统各个模块之间下载和共享对应的文件。
进一步的,所述客户端模块是由用户按照开发接口规范自定义开发的计划任务客户端模块,客户端模块的开发接口包括如下接口定义:加载、执行、停止、卸载。
进一步的,所述服务端模块是由用户按照开发接口规范自定义开发的计划任务服务端模块,服务端模块的开发接口包括如下接口定义:加载、保存、查询、停止、卸载。
进一步的,所述报表查询模块中的报表查询界面是包含可设置计划任务ID、客户端标识、起止时间的查询页面,是所有计划任务通用的报表查询界面。
进一步的,所述报表查询模块中的报表显示界面是所有计划任务通用的报表显示界面,不同计划任务生成的报表结构通过计划任务对应的服务端模块自定义生成Excel文件后,由网站下载并嵌入到报表显示界面中显示。
本发明一种实现运维系统自定义计划任务的方法,包括以下步骤:
S1:客户端调度器初始化:启动数据库和文件系统,客户端调度器进行客户端模块的初始化加载,然后根据客户端配置字符串完成客户端模块的参数设置,同时将计划任务执行周期和客户端模块关联到客户端调度器的定时器队列中等待周期性调度执行;
S2:服务端调度器初始化:服务端调度器进行服务端模块的初始化加载,然后根据服务端配置字符串完成服务端模块的参数设置,同时绑定计划任务ID和服务端模块的映射关系;
S3:计划任务创建:新建新的计划任务并命名,选择对应客户端模块文件和服务端模块文件上传到文件系统,设置服务端配置字符串,并将计划任务名称、客户端模块文件ID、服务端模块文件ID、服务端配置字符串等相关信息录入数据库,生成新的计划任务和计划任务ID;
S4:计划任务绑定:
S41:选择目标客户端,对该客户端执行添加计划任务操作,设置执行周期和客户端配置字符串,然后向服务端调度器发送绑定指令;
S42:服务端调度器判断服务端模块是否存在,若不存在,则从文件系统中下载,然后按S2步骤完成服务端模块的初始化加载;
S43:服务端调度器向对应的客户端调度器发送计划任务绑定指令;
S44:客户端调度器判断客户端模块是否存在,若不存在,则从文件系统中下载,然后按S1步骤完成客户端模块的初始化加载;
S45:向数据库中添加计划任务ID和客户端的绑定关系记录,同时保存该绑定关联的执行周期以及客户端配置字符串信息;
S5:计划任务执行:
S51:客户端调度器通过定时器周期性调用客户端模块的执行接口,执行用户自定义计划任务的处理流程,并将执行报告发送给服务端模块进行处理;
S52:服务端调度器根据执行报告的计划任务ID找到对应的服务端模块,调用服务端模块的存储接口完成执行报告的处理;
S6:报表查询和导出:
S61:网站向后台服务器发起计划任务的报表查询请求,报表查询请求含计划任务ID;
S62:服务端调度器根据查询请求中的计划任务ID,找到对应计划任务的服务端模块,并调用该服务端模块的查询接口;
S63:服务端模块根据报表查询请求,按照自定义的规则,查询满足条件的执行报告报表并生成Excel文件上传到文件系统,然后将相应的文件ID通过后台服务器发送给网站;
S64:网站根据文件ID从文件系统中下载Excel文件,并在报表显示界面中嵌入Excel文件的内容,完成查询结果的显示;
S65:查询后生成的Excel文件可以通过文件ID从文件系统中下载保存到本地实现报表的导出;
S7:计划任务解除绑定:
S71:客户端调度器完成对应客户端模块的停止和卸载操作,然后删除要解除绑定的客户端和计划任务的绑定关系;
S72:服务端调度器查询该计划任务是否还有和其他客户端绑定,若该计划任务已经不存在与其他客户端的绑定关系了,则服务端调度器完成对该计划任务对应的服务端模块的停止和卸载操作;
S8:计划任务删除:
S81:查询待删除计划任务与客户端的所有绑定关系,并按S7步骤解除所有已绑定客户端与该计划任务的绑定关系;
S82:删除数据库中保存的该计划任务与客户端的绑定关系;
S83:删除数据库中保存的计划任务的所有信息。
进一步的,S5步骤中,执行报告格式是由用户自定义的且能被用户自定义的服务端模块解析的格式。
进一步的,S2和S3步骤中,服务端配置字符串是由用户自定义的且能被用户自定义 的服务端模块解析的参数字符串,同一个计划任务只能有一个服务端模块,只能有一个服务器配置字符串。
进一步的,S1和S4步骤中,客户端配置字符串是由用户自定义的且能被用户自定义的客户端模块解析的参数字符串,同一个计划任务根据绑定的客户端数量可以有多个客户端模块,每个客户端模块的客户端配置字符串不一样。
本发明的有益效果是:
通过基于自定义计划任务的实现,在运维系统通用功能的基础上实现了从计划任务创建、执行到报表查询的自定义计划任务一体化扩展性开发支持,极大丰富了运维监控系统在不同行业、不同系统之间的通用性和可定制化特性。通过本方法及系统,运维系统研发将可聚焦于核心通用功能的开发,而将具体行业应用和业务定制开发需求延后,在满足通用功能的服务质量的同时,又提供了为满足具体应用场景的可定制化开发接口,不仅提高了开发效率,更为运维系统产品化、模块化复用提供了框架支持。
附图说明
图1为本发明的方法流程图;
图2为本发明的系统各模块组成图;
图3为本发明的关键数据的数据流示意图。
具体实施方式
为进一步说明各实施例,本发明提供有附图。这些附图为本发明揭露内容的一部分,其主要用以说明实施例,并可配合说明书的相关描述来解释实施例的运作原理。配合参考这些内容,本领域普通技术人员应能理解其他可能的实施方式以及本发明的优点。图中的组件并未按比例绘制,而类似的组件符号通常用来表示类似的组件。
现结合附图和具体实施方式对本发明进一步说明。
一种实现运维系统自定义计划任务的系统,适用于架构上包含客户端、后台服务器、网站的运维系统,是基于运维系统业务的周期性特点,在运维系统通用功能的基础上,将可扩展性功能抽象成按照特定周期循环执行的自定义计划任务,通过实现自定义计划任务来增强运维系统的功能性、灵活性和可扩展性。同时,将自定义计划任务处理流程进一步分解,通过提供前后端统一的自定义计划任务接口,支持自定义计划任务从配置执行到报表展现的一体化自定义开发,使开发和部署更加灵活通用。在部署结构上,本系统的模块组成包括客户端、后台服务器、网站,客户端包括客户端调度器和多个客户端模块,后台服务器包括服务端调度器和多个服务端模块,网站包括计划任务管理模块和报表查询模块,所述系统还包括数据库和文件系统,其部署结构如图2所示。
所述客户端调度器根据计划任务绑定关系,管理客户端模块的加载、调度(Run或者Stop)和卸载,并根据计划任务的配置信息,周期性调用执行(Run)接口执行计划任务,和在卸载(UnLoad)调用停止(Stop)接口。
所述客户端模块是由用户按照开发接口规范自定义开发的计划任务客户端模块。该客户端模块内部定义了计划任务的具体操作流程,并将每次执行操作流程的结果生成报告,通过客户端调度器提供的发送接口发送。客户端模块的开发接口包括但不仅限于如下接口定义:
Load(加载):加载初始化客户端模块。初始化参数包含但不仅限于计划任务ID、客户端标识、配置字符串、发送接口等。配置字符串的格式是用户可自定义的字符串,只要能被用户自定义开发的客户端模块识别解析即可。
Run(执行):开始执行当前客户端模块定义的计划任务,并在计划任务执行完成后生成执行报告,通过发送接口发送。生成的执行报告格式由用户自定义,只要能被用户自定义的服务端模块解析即可。
Stop(停止):如果当前客户端模块正在执行计划任务,则停止当前客户端模块正在执行的计划任务并退出;否则,直接退出。
UnLoad(卸载):释放当前客户端模块的资源。
所述服务端调度器管理所有已经创建的计划任务服务端模块的加载(Load)、调度(Storage或者Query)和卸载(UnLoad),在卸载(UnLoad)调用停止(Stop)接口。服务端调度器的调度主要依据计划任务ID进行服务端模块的匹配,保证客户端模块和报表查询模块发送的执行报告和查询条件能够被对应的服务端模块处理。
所述服务端模块是由用户按照开发接口规范自定义开发的计划任务服务端模块。该服务端模块内部定义了对计划任务执行报告的具体处理流程和计划任务报表查询和导出(Excel)的处理流程,包括新建数据库表、数据库写入、Excel表结构定义、数据导出等。服务端模块的开发接口包括但不仅限于如下接口定义:
Load(加载):加载初始化服务端模块。初始化参数包含但不仅限于计划任务ID、配置字符串、发送接口等。配置字符串的格式是用户可自定义的字符串,只要能被用户自定义开发的服务端模块识别解析即可。
Storage(保存):接收客户端模块生成的执行报告,将报告按照用户自定义的规则进行解析存储,必要时可根据用户自定义规则,在指定数据库中创建数据库表进行执行报告的存储。
Query(查询):接收报表查询模块的查询条件,进行数据的查询,并按照用户自定义的格式导出Excel文件,上传到文件服务器,然后将生成的文件ID返回给报表查询模块。
Stop(停止):如果当前服务端模块正在运行,则停止当前服务端模块正在执行的操作并退出;否则,直接退出。
UnLoad(卸载):释放当前服务端模块的资源。
所述计划任务管理模块用于计划任务的创建、维护和删除。所述计划任务的创建包括计划任务命名、客户端模块上传、服务端模块上传,创建成功后生成一个计划任务ID;所述计划任务的维护包括计划任务升级(重命名、模块升级等)、计划任务绑定和解绑定、计划任务参数配置;所属计划任务的删除包括解除当前计划任务的所有绑定关系,删除计划任务信息以及已上传的模块文件。
所述报表查询模块是网站中的一个页面,提供所有计划任务统一的查询界面和统一的报表展示界面,然后根据不同的计划任务ID和查询条件查询返回不同的计划任务执行报表Excel文件,以内嵌的方式进行Excel表格内容的显示,避免不同计划任务对前端报表页面的定制开发工作。报表查询界面是包含可设置计划任务ID、客户端标识、起止时间的查询页面,是所有计划任务通用的报表查询界面。报表显示界面是所有计划任务通用的报表显示界面,不同计划任务生成的报表结构通过计划任务对应的服务端模块自定义生成Excel文件后,由网站下载并嵌入到报表显示界面中显示。
所述数据库是任何一种可以提供存储和查询计划任务绑定信息、文件存储信息、计划任务执行结果的关系型或非关系型数据库,也可以是本地数据库或者本地文件。
所述文件系统是任何一种可以提供文件上传和下载服务的文件系统或者提供相同服务的其他软件系统,其文件上传成功后会返回一个文件ID,通过该文件ID可以在运维系统模块之间下载和共享对应的文件。
关键数据的数据流示意图如图3所示(图中忽略了运维系统其他组成部分)。
如图1,本发明一种实现运维系统自定义计划任务的方法,包括以下步骤:
首先按照接口规范完成自定义计划任务对应的客户端模块和服务端模块的设置,同时运维网站完成计划任务报表查询的统一页面,且数据库中已经存在计划任务基础信息表(字段:计划任务ID,计划任务名称,客户端模块名称,客户端模块文件ID,服务端模块名称,服务端模块文件ID,服务端配置字符串)和计划任务绑定关系表(字段:计划任务ID,客户端标识,时间间隔,客户端配置字符串)。客户端配置字符串和服务端配置字符串只在进行计划任务绑定时根据具体的客户端分别独立设置,增加配置灵活性。
S1:客户端调度器初始化:客户端启动之后,客户端调度器向服务端模块查询本客户端已绑定的所有计划任务信息表(字段:计划任务ID,时间间隔,客户端模块名称,客户端模块文件ID,客户端配置字符串)。客户端调度器依次遍历所有已绑定的计划任务信息,确认对应客户端模块是否已经下载到本地“.\计划任务ID\模块名称”,如果还未下载,则根据客户端模块文件ID从文件系统下载对应的客户端模块到本地路径“.\计划任务ID\模块名称”。若客户端模块已经存在,则客户端调度器调用客户端模块的Load(接口),传入计划任务ID、客户端标识、客户端配置字符串、发送接口等参数,完成客户端模块的初始化加载,同时将时间间隔和客户端模块关联到客户端调度器的定时器队列中等待周期性执行调度执行。客户端配置字符串是由用户自定义的且能被用户自定义 的客户端模块解析的参数字符串,同一个计划任务根据绑定的客户端数量可以有多个客户端模块,每个客户端模块的客户端配置字符串不一样。
S2:服务端调度器初始化:后台服务器启动之后,服务端调度器查询计划任务绑定关系表中有绑定客户端的计划任务列表。服务端调度器遍历该列表,确认对应服务端模块是否已经下载到本地“.\计划任务ID\模块名称”,如果还未下载,则根据服务端模块文件ID从文件系统下载对应的服务端模块到本地路径“.\计划任务ID\模块名称”。若服务端模块已经存在,则服务端调度器调用服务端模块的Load(接口),传入计划任务ID、服务端配置字符串、发送接口等参数,完成服务端模块的初始化加载,同时绑定计划任务ID和服务端模块的映射关系。服务端配置字符串是由用户自定义的且能被用户自定义的服务端模块解析的参数字符串,同一个计划任务只能有一个服务端模块,只能有一个服务器配置字符串。
S3:计划任务创建:新建一个新的计划任务,填写计划任务名称(后续可重命名),选择已开发的客户端模块和服务端模块上传到文件系统,设置服务端配置字符串,将计划任务名称、客户端模块和服务端模块原模块名称以及上传后生成的客户端模块文件ID和服务端模块文件ID在计划任务基础信息表中插入一条新的记录,生成一个新的计划任务ID。
S4:计划任务绑定:
S41:选择目标客户端,对该客户端执行添加计划任务操作,设置客户端配置字符串和时间间隔,同时向服务端调度器发送一条绑定指令(字段:计划任务ID、客户端标识,配置字符串,时间间隔);
S42:服务端调度器按照“S2”中的加载过程,完成服务端模块的下载和初始化加载,若服务端端模块下载失败或者初始化加载失败,则返回失败;
S43:服务端模块向客户端标识对应的客户端调度器发送计划任务绑定指令(字段:计划任务ID,时间间隔,客户端模块名称,客户端模块文件ID,客户端配置字符串);
S44:客户端调度器按照“S1”中的加载过程完成客户端模块的下载和初始化加载,若客户端模块下载失败或者初始化加载失败,则返回失败;
S45:待上述所有操作都成功后,向计划任务绑定关系表中添加一条计划任务ID和客户端的绑定关系记录,同时保存该绑定关联的执行周期以及客户端配置字符串等信息,计划任务绑定完成。
S5:计划任务执行:
S51:客户端调度器通过定时器周期性调用客户端模块的执行接口,执行用户自定义计划任务的处理流程,并将执行报告发送给服务端模块进行处理;
S52:服务端调度器根据执行报告的计划任务ID找到对应的服务端模块,调用服务端模块的存储接口完成执行报告的处理;
客户端调度器通过定时器(默认1秒),分别轮询计算各个客户端模块的时间技术,当计数值与时间间隔相等时,则调用该客户端模块的Run(执行)接口,执行用户定义的处理流程,并将执行报告通过发送接口发送给服务端调度器选择对应的服务端模块进行Save(存储)操作。
S6:报表查询和导出:
S61:网站向后台服务器发起计划任务的报表查询请求,报表查询请求含计划任务ID;
S62:服务端调度器根据查询请求中的计划任务ID,找到对应计划任务的服务端模块,并调用该服务端模块的查询接口;
S63:服务端模块根据报表查询请求,按照自定义的规则,查询满足条件的执行报告报表并生成Excel文件上传到文件系统,然后将相应的文件ID通过后台服务器发送给网站;
S64:网站根据文件ID从文件系统中下载Excel文件,并在报表显示界面中嵌入Excel文件的内容,完成查询结果的显示;
S65:查询后生成的Excel文件可以通过文件ID从文件系统中下载保存到本地实现报表的导出。
S7:计划任务解除绑定:
S71:选择要解除绑定的客户端和计划任务,从计划任务绑定关系表中删除二者的绑定关系,同时向对应客户端调度器发送一个解除绑定的指令(字段:客户端标识,计划任务ID)。客户端调度器完成对应客户端模块的Stop(停止)和UnLoad(卸载)操作;
S72:判断该计划任务是否还与其他客户端绑定,若该计划任务已经不存在与其他客户端的绑定关系了,则向服务端调度器发送指令(字段:计划任务ID),服务端调度器完成对服务端模块的Stop(停止)和UnLoad(卸载)操作。
S8:计划任务删除:
S81:查询待删除计划任务与客户端的所有绑定关系,并按S7步骤解除所有已绑定客户端与该计划任务的绑定关系;
S82:删除数据库中保存的该计划任务与客户端的绑定关系;
S83:删除数据库中保存的计划任务的所有信息。
计划任务的管理遵循只创建不修改(修改参数、更换客户端模块或者服务端模块)的原则,要修改计划任务或者计划任务绑定则必须删除原来的计划任务或者计划任务绑定关系,重新创建新的计划任务或者绑定关系。
本发明一种实现运维系统自定义计划任务的方法及系统,通过基于自定义计划任务的实现,在运维系统通用功能的基础上实现了从计划任务创建、执行到报表查询的自定义计划任务一体化扩展性开发支持,极大丰富了运维监控系统在不同行业、不同系统之间的通用性和可定制化特性。通过本方法及系统,运维系统研发将可聚焦于核心通用功能的开发,而将具体行业应用和业务定制开发需求延后,在满足通用功能的服务质量的同时,又提供了为满足具体应用场景的可定制化开发接口,不仅提高了开发效率,更为运维系统产品化、模块化复用提供了框架支持。
尽管结合优选实施方案具体展示和介绍了本发明,但所属领域的技术人员应该明白,在不脱离所附权利要求书所限定的本发明的精神和范围内,在形式上和细节上可以对本发明做出各种变化,均为本发明的保护范围。

Claims (9)

1.一种实现运维系统自定义计划任务的系统,包括客户端、后台服务器、网站,其特征在于:客户端包括客户端调度器和多个客户端模块,后台服务器包括服务端调度器和多个服务端模块,网站包括计划任务管理模块和报表查询模块,所述系统还包括数据库和文件系统;
所述客户端调度器用于管理和调用客户端模块,包括客户端模块的加载和初始化、客户端模块执行接口的周期性调用执行、客户端模块的停止和卸载;
所述客户端模块用于定义计划任务的操作流程,并将执行结果生成执行报告,通过客户端调度器发送给服务端模块处理;所述客户端模块是由用户按照开发接口规范自定义开发的计划任务客户端模块,客户端模块的开发接口包括如下接口定义:加载、执行、停止、卸载;
所述服务端调度器用于管理和调用服务端模块,包括服务端模块的加载和初始化、客户端计划任务执行报告的存储、网站报表查询请求处理、服务端模块的停止和卸载;
所述服务端模块用于定义对客户端计划任务执行报告的处理流程、计划任务报表查询和导出的处理流程;所述服务端模块是由用户按照开发接口规范自定义开发的计划任务服务端模块,服务端模块的开发接口包括如下接口定义:加载、保存、查询、停止、卸载;
所述计划任务管理模块用于计划任务的创建、维护和删除;
所述报表查询模块用于提供所有计划任务统一的报表查询界面和报表显示界面,不同的计划任务和查询条件返回的报表则以文件的形式内嵌到报表显示界面中进行显示;
所述数据库用于存储和查询计划任务信息、文件存储信息和计划任务执行报告;
所述文件系统用于提供客户端模块、服务端模块文件和报表查询生成的Excel文件上传和下载服务。
2.如权利要求1所述的一种实现运维系统自定义计划任务的系统,其特征在于:所述数据库是关系型或非关系型数据库,或者是本地数据库或本地文件。
3.如权利要求1所述的一种实现运维系统自定义计划任务的系统,其特征在于:所述文件系统其文件上传成功后会返回一个文件ID,通过该文件ID在运维系统各个模块之间下载和共享对应的文件。
4.如权利要求1所述的一种实现运维系统自定义计划任务的系统,其特征在于:所述报表查询模块中的报表查询界面是包含可设置计划任务ID、客户端标识、起止时间的查询页面,所述报表查询模块中的报表查询界面是所有计划任务通用的报表查询界面。
5.如权利要求1所述的一种实现运维系统自定义计划任务的系统,其特征在于:所述报表查询模块中的报表显示界面是所有计划任务通用的报表显示界面,不同计划任务生成的报表结构通过计划任务对应的服务端模块自定义生成Excel文件后,由网站下载并嵌入到报表显示界面中显示。
6.一种基于如权利要求1-5任一所述的系统的实现运维系统自定义计划任务的方法,其特征在于:包括以下步骤:
S1:客户端调度器初始化:启动数据库和文件系统,客户端调度器进行客户端模块的初始化加载,然后根据客户端配置字符串完成客户端模块的参数设置,同时将计划任务执行周期和客户端模块关联到客户端调度器的定时器队列中等待周期性调度执行;
S2:服务端调度器初始化:服务端调度器进行服务端模块的初始化加载,然后根据服务端配置字符串完成服务端模块的参数设置,同时绑定计划任务ID和服务端模块的映射关系;
S3:计划任务创建:新建新的计划任务并命名,选择对应客户端模块文件和服务端模块文件上传到文件系统,设置服务端配置字符串,并将计划任务名称、客户端模块文件ID、服务端模块文件ID和服务端配置字符串录入数据库,生成新的计划任务和计划任务ID;
S4:计划任务绑定:
S41:选择目标客户端,对该客户端执行添加计划任务操作,设置执行周期和客户端配置字符串,然后向服务端调度器发送绑定指令;
S42:服务端调度器判断服务端模块是否存在,若不存在,则从文件系统中下载,然后按S2步骤完成服务端模块的初始化加载;
S43:服务端调度器向对应的客户端调度器发送计划任务绑定指令;
S44:客户端调度器判断客户端模块是否存在,若不存在,则从文件系统中下载,然后按S1步骤完成客户端模块的初始化加载;
S45:向数据库中添加计划任务ID和客户端的绑定关系的记录,同时保存该绑定关系的执行周期以及客户端配置字符串信息;
S5:计划任务执行:
S51:客户端调度器通过定时器周期性调用客户端模块的执行接口,执行用户自定义计划任务的处理流程,并将执行报告发送给服务端模块进行处理;
S52:服务端调度器根据执行报告的计划任务ID找到对应的服务端模块,调用服务端模块的存储接口完成执行报告的处理;
S6:报表查询和导出:
S61:网站向后台服务器发起计划任务的报表查询请求,报表查询请求含计划任务ID;
S62:服务端调度器根据查询请求中的计划任务ID,找到对应计划任务的服务端模块,并调用该服务端模块的查询接口;
S63:服务端模块根据报表查询请求,按照自定义的规则,查询满足条件的执行报告报表并生成Excel文件上传到文件系统,然后将相应的文件ID通过后台服务器发送给网站;
S64:网站根据文件ID从文件系统中下载Excel文件,并在报表显示界面中嵌入Excel文件的内容,完成查询结果的显示;
S65:查询后生成的Excel文件通过文件ID从文件系统中下载保存到本地实现报表的导出;
S7:计划任务解除绑定:
S71:客户端调度器完成对应客户端模块的停止和卸载操作,然后删除要解除绑定的客户端和计划任务的绑定关系;
S72:服务端调度器查询该计划任务是否还有和其他客户端绑定,若该计划任务已经不存在与其他客户端的绑定关系了,则服务端调度器完成对该计划任务对应的服务端模块的停止和卸载操作;
S8:计划任务删除:
S81:查询待删除计划任务与客户端的所有绑定关系,并按S7步骤解除所有已绑定客户端与该计划任务的绑定关系;
S82:删除数据库中保存的该计划任务与客户端的绑定关系;
S83:删除数据库中保存的计划任务的所有信息。
7.如权利要求6所述的一种实现运维系统自定义计划任务的方法,其特征在于:S5步骤中,执行报告格式是由用户自定义的且能被用户自定义的服务端模块解析的格式。
8.如权利要求7所述的一种实现运维系统自定义计划任务的方法,其特征在于:S2和S3步骤中,服务端配置字符串是由用户自定义的且能被用户自定义的服务端模块解析的参数字符串,同一个计划任务只能有一个服务端模块,只能有一个服务器配置字符串。
9.如权利要求7所述的一种实现运维系统自定义计划任务的方法,其特征在于:S1和S4步骤中,客户端配置字符串是由用户自定义的且能被用户自定义的客户端模块解析的参数字符串,同一个计划任务根据绑定的客户端数量拥有多个客户端模块,每个客户端模块的客户端配置字符串不一样。
CN201610887547.7A 2016-10-12 2016-10-12 一种实现运维系统自定义计划任务的方法及系统 Active CN107943453B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610887547.7A CN107943453B (zh) 2016-10-12 2016-10-12 一种实现运维系统自定义计划任务的方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610887547.7A CN107943453B (zh) 2016-10-12 2016-10-12 一种实现运维系统自定义计划任务的方法及系统

Publications (2)

Publication Number Publication Date
CN107943453A CN107943453A (zh) 2018-04-20
CN107943453B true CN107943453B (zh) 2022-10-25

Family

ID=61928193

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610887547.7A Active CN107943453B (zh) 2016-10-12 2016-10-12 一种实现运维系统自定义计划任务的方法及系统

Country Status (1)

Country Link
CN (1) CN107943453B (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110222976A (zh) * 2019-06-03 2019-09-10 广州科技贸易职业学院 一种基于任务记录的it运维综合管理平台
CN111078670B (zh) * 2019-12-19 2023-06-20 上海达梦数据库有限公司 数据库执行计划清除方法、装置、设备和存储介质
CN112131495B (zh) * 2020-09-11 2023-05-12 重庆誉存大数据科技有限公司 基于决策流结果的网页显示方法、装置、设备及存储介质
CN114527962A (zh) * 2020-11-23 2022-05-24 中国移动通信集团重庆有限公司 流程自动化处理装置、方法及计算设备
CN112699647A (zh) * 2020-12-31 2021-04-23 杭州立思辰安科科技有限公司 一种支持自定义报表的实现方法
CN114039852A (zh) * 2021-10-26 2022-02-11 深圳毅芯半导体有限公司 一种设备定时执行计划的方法、系统及装置
CN114244794B (zh) * 2021-12-13 2024-01-26 统信软件技术有限公司 一种定时任务推送方法、计算设备及可读存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101001434A (zh) * 2006-12-26 2007-07-18 北京亿阳信通软件研究院有限公司 一种通信网络配置参数的智能核查方法和装置
CN103368760A (zh) * 2012-03-31 2013-10-23 北京泰乐德信息技术有限公司 一种铁路电务与通信信号综合运维系统和方法
CN104216700A (zh) * 2013-09-10 2014-12-17 侯金涛 基于云计算的html5应用的打包、安装、卸载、运行方法及系统
CN105812480A (zh) * 2016-04-15 2016-07-27 中国电子科技集团公司第三十八研究所 一种智能散粮运输车远程管理装置及其管理方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104838620B (zh) * 2012-10-17 2018-05-11 瑞典爱立信有限公司 电信网中的事件管理的设备和方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101001434A (zh) * 2006-12-26 2007-07-18 北京亿阳信通软件研究院有限公司 一种通信网络配置参数的智能核查方法和装置
CN103368760A (zh) * 2012-03-31 2013-10-23 北京泰乐德信息技术有限公司 一种铁路电务与通信信号综合运维系统和方法
CN104216700A (zh) * 2013-09-10 2014-12-17 侯金涛 基于云计算的html5应用的打包、安装、卸载、运行方法及系统
CN105812480A (zh) * 2016-04-15 2016-07-27 中国电子科技集团公司第三十八研究所 一种智能散粮运输车远程管理装置及其管理方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
仇璐.面向电信运营商的流程调度平台的设计与实现.《 中国优秀硕士论文电子期刊网(信息科技辑)》.2008, *

Also Published As

Publication number Publication date
CN107943453A (zh) 2018-04-20

Similar Documents

Publication Publication Date Title
CN107943453B (zh) 一种实现运维系统自定义计划任务的方法及系统
CN103092608B (zh) 采集设备信息的客户端的生成及运行方法、服务器和设备
JP2019523462A (ja) マルチタスクスケジューリング方法、システム、アプリケーションサーバ及びコンピュータの読み取り可能な記憶媒体
CN101916208A (zh) 一种用于多线程调用驱动模块的系统及方法
CN107463390B (zh) 一种软件升级方法及升级服务器
CN107291938B (zh) 订单查询系统及方法
CN107451211B (zh) 一种基于RabbitMQ和MongoDB的下载系统
CN103425793B (zh) 用于即时通讯系统中利用数据库存储层访问数据库的方法
CN105427149A (zh) 一种基于soa扩展框架的跨境电子商务bpo服务方法及装置
CN113836121B (zh) 一种数据库控制方法及目标服务器
CN108021688B (zh) 一种数据处理方法及装置
CN104581695A (zh) 移动终端配置方法和系统
US10572531B1 (en) Predictive session-based search engine
CN113157737B (zh) 服务实例关联关系动态构建系统
CN114647702A (zh) 数据同步处理方法及其装置、设备、介质
CN101827069B (zh) 通用即插即用设备的信息获取方法、系统、设备及控制点
CN110781189B (zh) 文档平台构建方法、装置、电子设备及存储介质
CN101452486A (zh) 一种甲骨文系统数据管理方法及其装置
CN104462106A (zh) 数据更新方法及系统
CN110515611B (zh) 一种文书编号的生成方法
CN110650033B (zh) 分布式应用配置管理的方法和分布式计算系统
CN112418796A (zh) 子流程节点激活方法、装置、电子设备及存储介质
CN110377298B (zh) 一种分布式集群升级方法及分布式集群
CN115499421B (zh) 一种基于三层架构的微服务架构模式系统
CN110610371A (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
GR01 Patent grant
GR01 Patent grant