一种运维系统、方法及存储介质技术方案

技术编号:22021819 阅读:14 留言:0更新日期:2019-09-04 01:10
本发明专利技术实施例提供了一种运维系统、方法及存储介质;系统包括:前台页面,用于通过应用程序接口,接收针对生产环境进行包的运维的操作命令,并将接收操作命令存储到任务队列中;后台逻辑层,用于从任务队列中读出任务队列包括的操作命令时,执行以下操作:根据存储服务层存储的生产环境中业务模块与业务服务器的对应关系,确定任务的目标业务模块所对应的业务服务器,通过命令通道向确定的业务服务器传输操作命令,以及,更新存储服务层中存储的对应包的包实例信息;存储服务层,用于存储生产环境中的业务模块与业务服务器的对应关系、以及包对应的包实例信息。

An Operational Maintenance System, Method and Storage Media

【技术实现步骤摘要】
一种运维系统、方法及存储介质
本专利技术涉及电数字数据处理技术,尤其涉及一种运维系统、方法及存储介质。
技术介绍
互联网特别是移动互联网的发展,不但出现了基于互联网的新兴业务,例如电子商务、社交网络、即时通信,传统行业也普遍将业务部分或者全部是迁移到互联网,利于金融业、餐饮业等各种第三方行业都部署了与自身业务相结合的业务系统。生产环境是实现业务方的业务系统的软/硬件环境,支持对运维人员终端发起各种业务的请求进行处理,响应业务数据,例如社交网络的朋友动态、即时通信数据等。生产环境中实现的各种业务功能有赖于通过安装包来在安装各种应用程序,而现有技术提供的包管理技术,都是针对面向用户的使用环境开发,由用户在终端的客户端中拉取安装包的方式进行应用程序的安装、升级等管理,这种简单的包管理技术无法适应生产环境中的大批量的业务服务器的批量化、高效率和应用场景的效率需求。综上所述,相关技术尚无有效方案来对生产环境的安装包进行运维。
技术实现思路
本专利技术实施例提供一种运维系统、方法及存储介质,能够提升对生产环境的自动化的运维以提升运维效率。本专利技术实施例的技术方案是这样实现的:本专利技术实施例提供一种运维系统,包括:前台页面,用于通过应用程序接口,接收针对生产环境进行包的运维的操作命令,并将所述接收操作命令封装为任务的以存储到任务队列中;后台逻辑层,用于从所述任务队列中读出的任务所包括的操作命令时,执行以下操作:根据存储服务层存储的所述生产环境中业务模块与业务服务器的对应关系,确定所述任务的目标业务模块所对应的业务服务器,通过命令通道向所述确定的业务服务器传输所述操作命令,以及,更新所述存储服务层中存储的对应所述包的包实例信息;所述存储服务层,用于存储所述生产环境中的业务模块与业务服务器的对应关系、以及所述包对应的包实例信息。本专利技术实施例提供一种运维方法,所述方法包括:在前台页面中通过应用程序接口,接收针对生产环境进行包的运维的操作命令,并将所述接收操作命令封装为任务以存储到任务队列中;当从所述任务队列中读出的任务所包括的操作命令时,执行以下操作:根据存储服务层存储的所述生产环境中业务模块与业务服务器的对应关系,确定所述任务的目标业务模块所对应的业务服务器,通过命令通道向所述确定的业务服务器传输所述操作命令,以及,更新所述存储服务层中存储的对应所述包的包实例信息。上述方案中,所述方法还包括:在所述存储服务层通过运行云数据库,以存储所述生产环境的以下包实例信息:全量包列表、包实例安装记录、包实例的进程监控信息和操作日志;以及,通过运行分布式文件系统对所述云数据库进行容灾调度。上述方案中,所述全量包列表包括所有已经创建的包的名称和版本;所述包实例安装记录包括包的名称、版本和网络地址;所述进程监控信息包括进程类型和对应的进程数量上限;所述操作日志包括以下至少之一:包的名称、版本、操作时间、操作类型、操作结果和运维人员。上述方案中,所述方法还包括:在存储服务层中通过运行版本控制系统以存储不同的包所对应的以下安装文件:应用程序的二进制文件、配置文件和脚本。上述方案中,所述方法还包括:当从所述任务队列中读出用于创建新包的操作命令时,从持续集成方法获取所述新包的安装文件,并存储到所述存储服务层运行的版本控制系统;将所述新包的进程监控信息存储到所述存储服务层运行的云数据库,并根据所述新包的名称和版本更新所述云数据库存储的全量包列表。上述方案中,当从所述任务队列中读出的任务包括用于安装所述包的操作命令时,从所述存储服务层运行的版本控制系统中获取所述包所对应的文件,从所述存储服务层运行的云数据库获取所述包的进程监控信息,并封装为相应的包;通过所述命令通道向所述确定的业务服务器传输所述操作命令以安装所述包对应的包实例;以及,在所述存储服务层运行的云数据库所存储的包实例安装记录和操作日志中,添加相应包的记录。上述方案中,当从所述任务队列中读出用于卸载的操作命令时,执行以下操作:通过命令通道向所述确定的业务服务器传输所述操作命令,以调用所述包的脚本卸载所述包对应的包实例;在所述存储服务层运行的云数据库所存储的包实例安装记录和进程监控信息中删除相应包的记录,在所述云数据库存储的操作日志中添加相应包的记录。上述方案中,当从所述任务队列中读出的任务包括用于升级或降级的操作命令时,执行以下操作:从所述存储服务层运行的版本控制系统中获取变动文件;通过命令通道向所述确定的业务服务器传输所述操作命令,以调用所述包的脚本对应安装所述变动文件;在所述存储服务层运行的云数据库所存储的包实例安装记录中更新相应包的记录,在所述云数据库存储的操作日志中添加相应包的记录。上述方案中,当从所述任务队列中读出用于启动、重启或停止的操作命令时,执行以下操作:通过命令通道向所述确定的业务服务器传输所述操作命令,以调用所述包中对应的脚本的响应所述操作命令;在所述存储服务层运行的云数据库所存储的操作日志添加相应包的记录。上述方案中,当从所述任务队列中读出用于查询的操作命令时,执行以下操作:从所述存储服务层运行的云数据库中以关键字进行搜索,并在所述前台页面显示相应的搜索结果;所述关键字包括以下至少之一:包名称、包版本、操作类型、操作结果和运维人员。本专利技术实施例提供一种运维系统,包括:存储器,用于存储可执行指令;处理器,用于执行所述存储器中存储的可执行指令时,实现本专利技术实施例提供的运维方法。本专利技术实施例提供一种存储介质,存储有可执行指令,用于引起处理器执行时,实现本专利技术实施例提供的运维方法。本专利技术实施例具有以下有益效果:任务队列通过前台页面与后台逻辑层解耦,接收针对生产环境进行运维的操作命令并由后台逻辑层处理,实现了操作命令的良好吞吐性能;通过存储层维护业务模块与业务服务器的对应关系,对业务模块对应的业务服务器进行了统一、高效地运维;在包的运维过程中同步更新包实例信息,从而能够对包运维的相关记录的追溯和回退提供数据支持。附图说明图1是本专利技术实施例提供的全流程生产系统100的示例性的架构示意图;图2是本专利技术实施例提供的全流程生产系统的示例性的工作流示意图;图3是本专利技术实施例提供的运维系统200的示例性的功能架构示意图;图4是本专利技术实施例提供的运维系统中管理服务器的示例性的结构示意图;图5A是本专利技术实施例提供的命令通道215的示例性应用示意图;图5B是本专利技术实施例提供的命令通道215的示例性应用示意图;图6是本专利技术实施例提供的运维系统200的示例性的功能架构示意图;图7是本专利技术实施例提供的配置管理数据存储数据的示例性示意图;图8A是本专利技术实施例提供的运维方法用于创建新包的一个可选的流程示意图;图8B是本专利技术实施例提供的运维方法用于包实例管理的一个可选的流程示意图;图8C是本专利技术实施例提供的运维方法用于安装包的一个可选的流程示意图;图8D是本专利技术实施例提供的运维方法用于卸载包的一个可选的流程示意图;图8E是本专利技术实施例提供的运维方法的用于升级/降级包的一个可选的流程示意图;图8F是本专利技术实施例提供的运维方法用于启动/停止/重启的一个可选的流程示意图;图8G是本专利技术实施例提供的运维方法用于事件查询的一个可选的流程示意图;图9是本专利技术实施例提供的运维系统自动运维生产环境的一个可选的架构示意图;图1本文档来自技高网...

【技术保护点】
1.一种运维系统,其特征在于,包括:前台页面,用于通过应用程序接口,接收针对生产环境进行包的运维的操作命令,并将所述接收操作命令存储到任务队列中;后台逻辑层,用于从所述任务队列中读出所述任务队列包括的操作命令时,执行以下操作:根据存储服务层存储的所述生产环境中业务模块与业务服务器的对应关系,确定所述任务的目标业务模块所对应的业务服务器,通过命令通道向所述确定的业务服务器传输所述操作命令,以及,更新所述存储服务层中存储的对应所述包的包实例信息;所述存储服务层,用于存储所述生产环境中的业务模块与业务服务器的对应关系、以及所述包对应的包实例信息。

【技术特征摘要】
1.一种运维系统,其特征在于,包括:前台页面,用于通过应用程序接口,接收针对生产环境进行包的运维的操作命令,并将所述接收操作命令存储到任务队列中;后台逻辑层,用于从所述任务队列中读出所述任务队列包括的操作命令时,执行以下操作:根据存储服务层存储的所述生产环境中业务模块与业务服务器的对应关系,确定所述任务的目标业务模块所对应的业务服务器,通过命令通道向所述确定的业务服务器传输所述操作命令,以及,更新所述存储服务层中存储的对应所述包的包实例信息;所述存储服务层,用于存储所述生产环境中的业务模块与业务服务器的对应关系、以及所述包对应的包实例信息。2.根据权利要求1所述的运维系统,其特征在于,所述存储服务层,还用于通过运行配置管理数据库存储所述生产环境中的业务模块与业务服务器的对应关系、以及所述业务模块的资源配置;所述后台逻辑层,还用于当从所述任务队列中读出所述操作命令之前,且,当处于所述生产环境的部署或扩容阶段时,在所述前台页面中接收针对所述生产环境中部署或扩容的业务模块的资源配置,以及,将所述生产环境中的业务模块与业务服务器的对应关系、以及所述业务模块的资源配置更新到所述存储服务层运行的配置管理数据库中。3.根据权利要求1所述的运维系统,其特征在于,所述存储服务层,还用于通过运行云数据库存储所述生产环境的以下包实例信息:全量包列表、包实例安装记录、包实例的进程监控信息和操作日志;以及,通过运行分布式文件系统对所述云数据库进行容灾调度。4.根据权利要求3所述的运维系统,其特征在于,所述全量包列表包括所有已经创建的包的名称和版本;所述包实例安装记录包括包的名称、版本和网络地址;所述进程监控信息包括进程和对应的进程数量上限;所述操作日志包括以下至少之一:包的名称、版本、操作时间、操作类型、操作结果和运维人员。5.根据权利要求1所述的运维系统,其特征在于,所述存储服务层,还用于通过运行版本控制系统以存储不同的包所对应以下安装文件:应用程序的二进制文件、配置文件和脚本。6.根据权利要求1所述的运维系统,其特征在于,所述后台逻辑层,还用于当从所述任务队列中读出用于创建新包的所述操作命令时,从持续集成系统获取所述新包的安装文件,并存储到所述存储服务层运行的版本控制系统;将所述新包的进程监控信息存储到所述存储服务层运行的云数据库,并根据所述新包的名称和版本更新所述云数据库存储的全量包列表。7.根据权利要求1所述的运维系统,其特征在于,所述后台逻辑层,具体用于当从所述任务队列中读出用于安装所述包的所述操作命令时,从所述存储服务层运行的版本控制系统中获取所述包所对应的文件,从所述存储服务层运行的云数据库获取所述包的进程监控信息,并封装为相应的包;通过所述命令通道向所述确定的业务服务器传输所述操作命令以安装所述包对应的包实例;以及,在所述存储服务层运行的云数据库所存储的包实例安装记录和操作日志中,添加相应包的记录。8.根据权利要求1所述的运维系统,其特征在于,所述后...

【专利技术属性】
技术研发人员:聂鑫
申请(专利权)人:腾讯科技深圳有限公司
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1