APP下载

一种分布式文件集中管理部署系统

2023-05-05郭延臣徐沛东王振郝亚冲李代伟

电子技术与软件工程 2023年2期
关键词:配置文件日志工作站

郭延臣 徐沛东 王振 郝亚冲 李代伟

(宇航动力学国家重点实验室 陕西省西安市 710043)

随着我国航天测控事业的不断发展,航天测控任务相关支持系统的运行和维护模式也需要进行相应的优化和调整,其中综合指挥显示软件作为任务测控信息监视平台,是相关决策人员和岗位技术人员进行任务监视、操作和控制的重要支持软件,这就要求指挥显示软件具有部署广泛、实时更新等特点。目前我单位的现实情况是安装使用综合指挥显示软件的客户端工作站部署分散、应用场景广泛,而且综合指挥显示软件针对不同的决策人员和岗位人员侧重的部署内容也有所不同,日常情况下软件系统的不同部分由不同的岗位人员进行更新部署和维护,系统更新维护具有文件种类繁杂、大文件多、提交源头广、部署工作站多、版本更新频繁、部署更新实效性和正确性要求高、文件版本迭代逻辑复杂、纠错强、出现异常自动化定位排查迅速等特点,另外系统的多岗位、多角色的维护以及多版本的管理都是需要着重考虑的因素。

1 目的

为了解决这些实际问题,针对我单位的现实情况,本文探讨对集中管理部署系统进行了优化设计,系统的版本管理运用SSH 协议建立开发库、受控库、产品库(简称三库),构建“流水式”软件同步与集成机制,对各任务维护的页面、资源、参数字典等相关的半成品、测试品、发布品进行集中管理和版本控制;系统的版本部署设计构建“分布式”发布更新模式,实现了实时、分级和错峰三种部署机制,并设计了自动、手动、远控等三种部署方式。增加了岗位角色设计,为各个角色设计不同的使用权限和操作规范,实现了用户的定制化服务,极大的提升了系统的运行效率和用户的使用体验。

2 功能

2.1 版本管理

综合指挥显示软件按照维护岗位划分为软件版本和配置文件版本两大类,版本管理功能实现对这两类版本的管理和维护,完成版本提交管理、版本冲突管理、版本库管理和版本发布管理等功能。

版本提交管理功能提供软件版本和配置文件版本的提交服务,提供多岗位人员、多团队分布式提交版本功能。

版本冲突管理对提交后的版本进行冲突检查,完成版本的一致性检查和正确性检查,确保版本功能正常可用。

版本库管理负责集中存储管理显示平台和组件的正式发布版软件、不同任务装订的配置文件及页面文件等,管理综合显示软件的维护成果、最终产品,保存并记录维护的各版本信息,提供软件包、配置文件、显示页面及页面模板的版本管理功能,保存所有更新版本,并提供版本的检索和下载功能。

版本发布管理集中管理各个显示工作站的更新内容,并查询检索收集各个显示工作站的版本信息和运行状态,确保各个显示工作站按照任务需求和岗位需求进行差异化更新部署综合指挥显示系统软件。

版本管理功能为系统维护人员提供分布式成果提交、测试、发布等的环境功能,各系统维护人员和测试人员利用版本管理客户端下载基础版本、提交维护成果、集成测试、发布任务版本;支撑多个团队分布式协作维护,确保维护人员在不影响其他系统测运控任务执行的情况下,开展本系统的独立维护,为高密度任务重叠情况下的系统维护更新提供强大支持。

2.2 版本部署

版本部署功能实现指挥显示软件工作站上的软件版本和版本服务器上的软件版本的同步更新部署,能够在尽量短的时间内完成更新部署工作,在更新开始前能够监控各显示终端的软件版本信息和运行状态,在更新结束后检查收集显示终端的软件版本号,能够同时向多网段、多台显示工作站分布式和差异化更新发布软件包、配置文件及显示页面文件。

版本部署功能具有软件版本和配置文件版本的检查能力,一个完整的部署流程包括提交和更新,提交流程是系统维护角色将提交的版本与服务器版本库中管理的版本进行对比,系统根据版本状态更新服务器中的软件版本或是配置文件版本;更新流程是系统定时(时间间隔可根据需要修改配置文件中对应参数)将服务器版本库中管理的版本和终端工作站的文件版本进行比对和检查,包括检查指挥显示软件包、配置文件、页面文件或页面模板文件,然后把需要更新的文件推送部署到本地工作站。终端用户能够通过连接产品库,根据需要手动进行版本更新部署,确保全网段更新部署指挥显示软件的最新版本。

2.3 角色管理

角色管理包括维护角色管理和使用角色管理。维护角色是软件版本和配置文件版本的提供者、发布者和管理者,按照维护的具体内容划分为多个角色;使用角色是指挥显示软件的终端用户,按照工作需求分为重点角色和若干普通角色,重点角色和普通角色所关心和关注的内容不同,软件版本和配置文件版本需要区别部署和管理,版本发布管理服务根据使用角色差异化推送部署软件版本和配置文件版本。

2.4 辅助功能

2.4.1 异常修复

根据上一版集中管理部署系统的使用情况,系统在运行过程中会出现某些异常,导致部署更新流程无法成功执行,这种情况时有发生,新版集中管理部署系统为了解决这一问题,在软件架构方面做了一定程度的优化,增加设计了系统自动修复的功能,那就是在工作站终端增加生成最新文件版本号并和服务器版本号比对的功能,从而在某些情况下实现了系统运行异常的自动修复功能。

2.4.2 日志存储

根据上一版集中管理部署系统的使用情况,系统在运行过程中能够生成常规日志,用于记录日常更新的文件名称和更新时间等信息,常规日志在系统运行过程中会大量产生并占用工作站磁盘空间,新版集中管理部署系统增加了对常规日志的定时清除功能,并且增加了生成系统运行异常日志的功能。

3 实现

分布式软件集中管理部署系统主要分为版本提交和版本部署两个操作流程,版本提交采用“流水线”方式,版本部署采用“分布式”方式,维护角色按照任务需求文件进行软件研发和配置页面定制生成,之后把文件提交到版本管理库,版本管理库调用版本更新服务对相应的显示工作站发布更新命令并进行版本更新部署和推送,显示工作站完成更新部署后在本地生成最新版本号并向版本管理服务器返回更新结束消息,本次版本更新部署流程结束。更新部署流程完成之后,使用角色可以在显示工作站使用正确的软件版本开展后续工作。操作流程如图1所示。

图1:操作流程示意图

3.1 版本管理

3.1.1 版本管理库

版本管理库运用SSH 协议建立开发库、受控库、产品库(简称三库),构建“流水式”软件同步与集成机制,对各任务维护的页面、资源、参数字典等相关的半成品、测试品、发布品进行集中管理和版本控制,为后续扩大系统规模,增加辅助功能和更深层次数据应用铺平了道路。

版本管理库集中管理综合显示软件的维护成果、最终产品,保存并记录维护的各版本信息。版本控制功能包部署在显示服务器,版本管理软件提供软件包、配置文件、显示页面及页面模板的版本管理功能,保存所有更新版本,并提供版本的检索(SVN 提供)和下载功能。

版本管理功能包括版本管理库、版本管理服务器、版本管理客户端等三个模块,版本管理库包括开发库、受控库、产品库。

版本管理软件为系统维护人员提供分布式成果提交、测试、发布等的环境功能,各系统维护人员和测试人员利用版本管理客户端下载基础版本、提交维护成果、集成测试、发布任务版本;终端用户通过连接产品库,进行版本同步,确保维护维护成果全网络更新。

3.1.2 版本兼容性

当有新的升级内容时,新版本软件应兼容历史版本配置或页面文件,已经稳定运行的软件版本不受影响,不同终端间允许前后版本的并行运行。

3.1.3 版本汇报

显示工作站完成更新部署后在本地生成最新版本号,然后向版本管理服务器返回更新结束消息,汇报本次更新流程结束,版本管理服务器也可以通过远控软件监控各显示终端的软件版本信息和运行状态。

3.2 版本部署

版本部署功能主要分为实时部署、分级部署和错峰部署三种部署机制,实时部署主要针对任务等级高、实时性强的版本文件,要实现岗位人员在创建提交新版本后第一时间向终端工作站发布部署的请求,在版本文件开始更新时,工作站文件版本与服务器版本升级库进行版本对比,根据比对结果下载并安装变更的软件包、配置信息、显示页面、资源文件等文件片段,实现最小化下载和更新;分级部署主要针对多任务、多用户的部署需求,为不同任务、不同用户差异化部署版本文件,充分利用系统设计中增加版本管理服务器这一特点,强化了版本管理软件的服务端功能,将原有版本管理软件的多机客户端主动资源抢夺更新模式改变为客户端被动响应服务器资源分配更新模式,该模式的优点是服务器端软件根据服务器的计算和网络资源,以及客户端工作站的活跃度对客户端软件版本更新顺序进行排序和优化,保证了重点客户端工作站的准实时更新;错峰部署主要考虑到网络带宽和工作站资源利用效率等因素,对工作机房内的工作站按区域和优先级不同分批次进行更新,把版本文件按照更新部署优先级进行排序,对优先级高的文件尽快发布部署,对优先级低的文件可以延迟部署,有效的避免了多机同时升级导致的网络拥堵,能够高效的完成软件版本升级服务,同时,可通过部署多台服务器实现负载均衡,对于大量的客户端请求进行分流,减少服务器的运行压力。对于不同的更新模式,其实际的更新流程是相同的,具体流程如表1所示。

表1:更新流程

版本文件部署功能提供自动、手动、远控等三种部署方式,自动部署是版本部署服务器定时向显示软件工作站发布更新文件版本,时间间隔通过系统配置文件进行设置;手动部署是岗位人员操作显示软件工作站的更新软件从显示服务器主动索取文件版本,是自动部署模式的补充;远控部署是系统维护人员通过操作远程控制软件,检查指定的显示软件工作站,对需要更新的文件版本进行定向更新部署,远程控制部署管理工作由综合显示、升级管理、麒麟操作系统Shell 指令集、expect应答响应等多个软件配合完成,帮助系统维护人员批量管理工作机房显示软件工作站,有效隔离不同系统的管理范围,防止系统间交叉管理引起混乱。

不同的部署机制和部署方式针对于不同的任务场景和使用环境,在实际使用中要根据具体情况具体应用。

3.3 角色管理

角色管理包括维护角色管理和使用角色管理,系统在登录时需要进行角色授权,根据登陆角色属性赋予维护权限或者是使用权限。

对于维护角色,负责对软件和配置文件进行提供、发布和管理,系统会分配多个岗位ID,每个岗位ID 会授予不同系统或任务文件的提供、发布和管理权限。

对于使用角色,是指挥显示软件的终端用户,具有软件的浏览和使用权限,并且具有差异化的软件显示风格、操作习惯、工具使用权限等属性。对于每次任务场景,系统统一分配和管理若干重点使用角色和若干普通使用角色,例如包括指挥决策人员、中心各专业岗位人员、飞控试验队人员、外协人员等,系统为每个角色配置指定的ID 信息,每个ID 被授予指挥显示软件不同岗位显示页面的浏览权限和使用权限,当某角色ID 切换计算机终端时,将页面推送内容、显示风格、控件操作、视角变化、工具应用等也会随之进行跟随切换,并且以远控指令方式向服务端角色管理服务上报提交。

维护角色和使用角色的各个岗位ID在登录系统时,系统会根据ID 的权限和属性在计算机终端初始化指挥显示软件的相关配置并赋予不同权限,并且以日志的形式存储各个岗位ID 的登录信息和操作信息。

3.4 辅助功能

3.4.1 异常修复

运行在工作站的版本更新程序每隔固定时间会比对工作站和服务器的文件版本,具体为比对文件的MD5码,如果发现工作站文件和服务器文件的MD5 码不一致,就会进行更新下载,当所有文件更新完毕后,工作站更新程序自动生成一个最新的文件版本号并保存在工作站指定路径,并把这个版本号提交给服务器,标志本次更新工作完成。如果本地无法生成最新的文件版本号,或者本地生成的文件版本号与服务器端版本号不一致,则标志本次更新工作没有完成,版本更新程序会检查异常文件节点并进行相应处置,完成后再次进行文件更新操作,按此操作循环执行直到本地生成最新的文件版本号,并且和服务器端版本号比对一致,完成文件更新流程。

3.4.2 日志存储

集中管理部署系统的日志主要分为操作日志和系统日志,操作日志记录岗位人员的相关操作(包括对文件的创建、提交、更新、删除等操作)信息;系统日志是系统运行时自动生成的日志,主要包含两类,一种是常规日志,用于记录正常提交和部署的文件名称和时间等信息,常规日志在系统运行过程中会大量产生并占用磁盘空间,系统会定时自动清除;另一种是异常日志,记录系统运行异常(比如文件更新失败等情况)时的相关现场信息,以便于技术人员对更新异常情况进行问题定位和排查解决。系统在早期设计时没有考虑生成异常日志,导致系统在运行出现异常时无法准确定位和排查解决,经过优化设计后增加了输出异常日志的功能,通过一段时间的实际使用,异常日志相较于常规日志,包含更有价值的现场故障信息,也是技术支持人员更加关注的内容,为分析处理问题和解决系统异常提供了重要参考。

4 结论

为了满足我单位日益增长的航天测控任务需求,对作为任务重要支撑的综合指挥显示软件的文件管理、版本控制和更新部署能力也提出了更高的要求,因此需要优化文件管理架构,提升软件部署效能。通过对历史集中管理系统的分析研究,本文介绍的分布式文件集中管理系统采用全新的开发库、受控库、产品库设计模式,优化了文件管理模式,提高了系统的可靠性、可用性和扩展性,实现了对多网段、多节点的计算机工作站的分布式更新部署功能,实现了大量文件的管理和实时高效部署能力,提升了部署自动化效能,并且添加了多角色的管理和使用,支持多角色对文件的并行上传下载功能,提升了用户的使用体验,在我单位的实际使用过程中起到了良好的效果。

猜你喜欢

配置文件日志工作站
左权浙理大 共建工作站
一名老党员的工作日志
扶贫日志
戴尔Precision 5750移动工作站
忘记ESXi主机root密码怎么办
游学日志
打印机设置
移动式CIP及SIP工作站(可记录型)
一种基于粗集和SVM的Web日志挖掘模型
德钧关爱工作站