公开/公告号CN114979096A
专利类型发明专利
公开/公告日2022-08-30
原文格式PDF
申请/专利权人 浪潮软件集团有限公司;
申请/专利号CN202210544909.8
申请日2022-05-19
分类号H04L67/00(2022.01);H04L67/01(2022.01);H04L67/02(2022.01);H04L9/40(2022.01);
代理机构济南信达专利事务所有限公司 37100;
代理人姜丽洁
地址 250100 山东省济南市高新区科航路2877号
入库时间 2023-06-19 16:36:32
法律状态公告日
法律状态信息
法律状态
2022-09-16
实质审查的生效 IPC(主分类):H04L67/00 专利申请号:2022105449098 申请日:20220519
实质审查的生效
技术领域
本发明涉及脚本批量下发技术领域,具体提供一种国产CPU和Os的脚本任务批量下发平台及方法。
背景技术
近年来,信息化建设快速发展,国家大力扶持具有自主知识产权的国产软硬件的发展,以国产操作系统、国产CPU、国产数据库、国产中间件为代表的基础软硬件产品获得蓬勃发展,技术水平逐步接近同类产品的世界先进水平。随着国产基础软硬件蓬勃发展,各个单位终端使用越来越普及,终端运维更加困难。
发明内容
本发明是针对上述现有技术的不足,提供一种设计合理,安全适用的脚本任务批量下发平台。
本发明进一步的技术任务是提供一种实用性强的脚本任务批量下发方法。
本发明解决其技术问题所采用的技术方案是:
一种国产CPU和Os的脚本任务批量下发平台,所述平台基于C/S架构,包含服务管理端、客户端Agent代理服务和终端;
所述服务管理端监听客户端连接,提供可浏览器访问的前端页面,通过浏览器登录访问,所述服务管理端默认内置语法检测规则库,用于校验高危语句;
所述客户端Agent代理服务基于HTTP协议与服务管理端进行通信,客户端Agent代理服务采集终端基础软硬件信息进行注册和携带唯一标识进行任务查询和任务结果上报;
终端轮询调用任务查询接口,获取脚本下发任务,执行脚本任务,并获取脚本任务输出的信息,将信息打包并返回服务管理端。
进一步的,所述服务管理端的任务配置信息包括任务基本信息、任务执行策略、任务目标终端和任务执行脚本;
所述任务基本信息包含任务名称和任务描述;
所述任务执行策略包括任务类型配置、任务开始时间和任务结束时间;
所述任务目标终端设置IP段或者终端分组;
任务执行脚本采用shell类型规范脚本,通过选择页面在线编辑或者上传脚本文件。
进一步的,在检测规则库中每条规则包括语法规则表达式和规则说明,所述语法规则表达式基于正则表达式设置;
平台支持自定义语法检测规则设置,用户根据需求自定义脚本屏蔽的操作。
进一步的,所述脚本编辑或上传完成后,服务管理端读脚本,基于语法规则正则表达式对脚本进行校验,如果匹配到高危语句,保存失败并提示高危语句行及高危语句类型。
进一步的,将脚本任务输出的信息打包并返回服务管理端后,服务管理端收集终端执行结果,将执行结果入库,提供任务执行详情页详情,供用户通过页面查看特定终端执行详情信息;
服务管理端根据终端反馈的脚本结果信息进行任务执行进度统计,实现用户对任务执行过程的跟踪。
一种国产CPU和Os的脚本任务批量下发方法,具有如下步骤:
S1、终端注册;
S2、添加脚本任务;
S3、终端批量下发;
S4、任务执行结果展示。
进一步的,在步骤S1中,客户端Agent代理服务首次启动后,采集终端基础软硬件信息,将注册信息封装,通过http访问服务管理端提供的登录接口;
所述服务管理端解析终端注册信息,根据终端信息查询数据库,获取终端是否注册,如果终端未注册,服务管理端生成终端唯一标识码,并返回客户端令牌Token;
如果终端已注册,直接返回客户端令牌Token,客户端后续携带Token进行校验。
进一步的,在步骤S2中,当用户有终端任务下发需求时,需通过浏览器访问服务管理端提供的前端页面,新建终端任务下发任务,配置任务名称、任务描述、任务类型、任务开始时间和任务结束时间,可选择在线编辑shell脚本或者shell脚本文件上传,shell脚本编辑框会展示脚本内容,读取shell脚本内容,基于语法检测规则,检查校验脚本,如果校验异常,会提示并禁止保存;
脚本校验通过后,继续选择要下发的群组或IP段,保存并执行任务。
进一步的,在步骤S3中,客户端Agent代理服务携带Token,定期轮询发起任务查询请求,服务管理端根据服务端携带的Token,获取终端信息,从数据库中查询待推送任务集合,并将推送任务集合封装成任务集合JSON数据;
客户端Agent服务解析服务端返回的脚本推送任务数据,获取脚本推送任务信息,分析任务类型,如果是立即执行任务,解析脚本并执行,获取执行日志;如果是定时执行任务或周期性任务,将任务信息储存到客户端Agent服务内存中。
进一步的,在步骤S4中,服务管理端收集终端脚本任务执行结果,将终端唯一标识和脚本命令执行结果入库,用户在任务查询页查看任务执行状态信息,用户点击任务执行详情页,可查看特定终端执行详情信息。
本发明的一种国产CPU和Os的脚本任务批量下发平台及方法和现有技术相比,具有以下突出的有益效果:
(1)本发明可以完成终端脚本任务批量下发,可对选择的终端进行立即执行或者周期执行的脚本任务下发。支持基于终端分组或者IP段定向下发脚本任务,用户可以设置待下发终端的IP段或终端分组,实现任务定向下发。支持立即执行、周期性执行,周期性执行支持设置月、周、日等设置巡检周期及每周期的具体检查时间,满足用户不同的场景需求。
(2)支持脚本安全性校验,基于语法检测规则库对脚本进行安全性检查,提前发现高危语句。方法同时支持自定义脚本语法校验规则添加,实现对脚本命令的个性化定制。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
附图1是一种国产CPU和Os的脚本任务批量下发方法中脚本下发任务创建流程示意图;
附图2是一种国产CPU和Os的脚本任务批量下发方法中终端Agent任务执行流程示意图。
具体实施方式
为了使本技术领域的人员更好的理解本发明的方案,下面结合具体的实施方式对本发明作进一步的详细说明。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例都属于本发明保护的范围。
下面给出一个最佳实施例:
如图1-2所示,本实施例中的一种国产CPU和Os的脚本任务批量下发平台,平台基于C/S架构,包含服务管理端、客户端Agent代理服务和终端。
服务管理端监听客户端连接,并提供可浏览器访问的前端页面,可通过浏览器登录访问。任务管理支持任务创建、修改、查询等功能。任务配置信息包括任务基本信息、任务执行策略、任务目标终端、任务执行脚本等。
任务基本信息包含任务名称、任务描述;任务执行策略包括任务类型配置、任务开始时间、任务结束时间等。周期执行任务可以配置月、周、日周期,同时可以设置每周期的执行时间,如设置每周一至周五8:00执行脚本任务。目标终端配置可以设置IP段或者终端分组;任务执行脚本采用shell类型规范脚本,通过选择页面在线编辑或者上传脚本文件。
服务管理端默认内置语法检测规则库,用于校验高危语句,避免脚本执行对终端造成危害,如高危的文件目录删除操作rm-rf。每条规则包括语法规则表达式、规则说明。语法规则表达式基于正则表达式设置,如行首定位符“^”、行尾定位符“$”、单个字符匹配“.”、限定符“*”、字符集匹配“[]”、字符集不匹配“[^]”等,如rm\s*表示shell脚本中禁止使用rm指令。平台支持自定义语法检测规则设置,用户可以根据需求自定义脚本屏蔽的操作,如userdel\s*设置shell脚本中禁止删除用户。
脚本编辑或上传完成后,服务管理端读取脚本,基于语法规则正则表达式对脚本进行校验。如果匹配到高危语句,保存失败并提示高危语句行及高危语句类型。
服务管理端监听客户端的连接,提供终端注册、任务查询、任务结果上报等接口。
客户端Agent代理服务基于HTTP协议与服务管理端进行通信。客户端Agent代理服务采集终端基础软硬件信息进行注册、携带唯一标识进行任务查询、任务结果上报等。
终端轮询调用任务查询接口,获取脚本下发任务,执行脚本任务,并获取脚本任务输出的信息,将信息打包并返回服务管理端。
服务管理端收集终端执行结果,将执行结果入库,提供任务执行详情页详情,供用户通过页面查看特定终端执行详情信息。服务管理端根据终端反馈的脚本结果信息,进行任务执行进度统计,实现用户对任务执行过程的跟踪。
一种国产CPU和Os的脚本任务批量下发方法,具有如下步骤:
S1、终端注册;
客户端Agent代理服务首次启动后,采集终端基础软硬件信息,包括OS、CPU、IP、MAC等信息,将注册信息封装,通过http访问服务管理端提供的登录接口。
服务管理端解析终端注册信息,根据终端信息查询数据库,获取终端是否注册。如果终端未注册,服务管理端生成终端唯一标识码。终端未注册则记录该终端信息,并生成终端唯一标识,并返回客户端令牌Token。如果终端已注册,直接返回客户端令牌Token。客户端后续携带Token进行校验。
S2、添加脚本任务;
当用户有终端任务下发需求时,需通过浏览器访问服务管理端提供的前端页面。新建终端任务下发任务,配置任务名称、任务描述、任务类型、任务开始时间、任务结束时间,可选择在线编辑shell脚本或者shell脚本文件上传,shell脚本编辑框会展示脚本内容,读取shell脚本内容,基于语法检测规则,检查校验脚本,如果校验异常,会提示并禁止保存。脚本校验通过后,继续选择要下发的群组或IP段,保存并执行任务。
S3、终端批量下发;
客户端Agent代理服务携带Token,定期轮询发起任务查询请求。服务管理端根据服务端携带的Token,获取终端信息,从数据库中查询待推送任务集合,并将推送任务集合封装成任务集合JSON数据。
客户端Agent服务解析服务端返回的脚本推送任务数据,获取脚本推送任务信息。分析任务类型,如果是立即执行任务,解析脚本并执行,获取执行日志;如果是定时执行任务或周期性任务,将任务信息储存到客户端Agent服务内存中。
客户端Agent服务任务执行线程,进入周期性循环,每1s钟,检查内存中的任务信息,先判断当前时间是否在任务开始时间和任务结束时间区间内,如果开始时间大于当前时间,则跳过本项任务。如果任务结束时间小于当前时间,则从任务队列中删除这项任务。如果是定时任务,判断时间是否一致,如果一致则执行脚本任务,否则进行下一轮循环;如果是周期性任务,解析任务周期配置,获取任务执行的月、日、周设置,获取每个周期的具体执行时间。当周期性执行时间满足设置时,执行脚本任务,否则进行下一轮循环。
终端执行脚本任务,解析并依次执行脚本中的命令,收集脚本执行的标准输出和错误输出,当脚本执行完毕后。将终端唯一标识、脚本ID和错误信息封装成消息体,通知服务端。
S4、任务执行结果展示:
服务管理端收集终端脚本任务执行结果,将终端唯一标识和脚本命令执行结果入库。用户在任务查询页可以查看任务执行状态信息。用户点击任务执行详情页,可查看特定终端执行详情信息。
上述具体的实施方式仅是本发明具体的个案,本发明的专利保护范围包括但不限于上述具体的实施方式,任何符合本发明的一种国产CPU和Os的脚本任务批量下发平台及方法权利要求书的且任何所述技术领域普通技术人员对其做出的适当变化或者替换,皆应落入本发明的专利保护范围。
尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。
机译: 用于向中央处理单元认证操作系统,向CPU / OS提供安全存储以及向第三方认证CPU / OS的系统和方法
机译: 用于向中央处理单元认证操作系统,向CPU / OS提供安全存储以及向第三方认证CPU / OS的系统和方法
机译: 用于向中央处理单元认证操作系统,向CPU / OS提供安全存储以及向第三方认证CPU / OS的系统和方法