背景技术
容灾系统,对于IT而言,就是为计算机信息系统提供的一个能应付各种灾难的环境。容灾系统一般包括独立的中间件、应用程序、数据库、主机及存储等。
容灾演练,是模拟各类突发性事件情景,讨论和推演应急决策及组织IT人员处置各类系统业务恢复的过程,从而促进相关人员掌握灾难预案中所规定的职责和程序,提高指挥决策和协同配合能力,也是对IT系统建设应用、系统恢复等操作的检验。在容灾系统建设完成后,需要立即进行容灾演练,以测试容灾系统的有效性。此外,还需要通过周期性的容灾演练工作,检查企业的IT环境经过不断变更后,以保持容灾系统及流程持续有效。容灾演练对于确认容灾系统的有效性起到至关重要的作用,成功的容灾演练即证明了容灾系统的可靠性,也在最大程度上保证了真正发生灾难时,容灾系统能够正常接替生产系统对外提供服务。
现有通用的处理方法如下:通过人工制定、管理演练方案与流程,并将演练人员分为:管理组、业务组、测试组、应用组、数据库组、存储及主机组等。制定好的演练计划与流程通过电子或纸质文件表格下发给各参演组,在演练过程中指挥人员通过电话指挥调度各组人员按照流程进行演练操作。各组人员完成任务后通过电话进行沟通、汇报完成情况,指挥人员根据得到的信息判断并执行后续相应的工作流程。
现有处理方法存在如下缺点:
1、人工制定演练方案、流程,可能造成部分流程缺失、关键环节考虑不周。
2、需要人工操作的具体环节,比如:人工选取、配置、操作相关的数据库、服务器等IT设备,受制于人员的技术水平、精神状态、现场环境等因素影响,如果出现误操作则会对生产系统造成严重的损害。
3、参演各组人员分别负责各自的IT系统、设备容灾切换操作,相应的技术关键点分散掌握在多处。当发生灾难需要进行真实的容灾切换时,如果有任何一个环节的人员不到位,均会造成整个容灾系统无法启用。
4、演练操作的整体进度与结果无法直观展现,同时,演练的经验与教训也不便于总结积累,形成知识库。
发明内容
本发明所要解决的技术问题是提供一种数据库容灾演练管控系统,能够解决现有演练过程中过分依赖人工操作带来的隐患与不便,使得容灾演练工作更加安全、可靠与高效。
本发明为解决上述技术问题而采用的技术方案是提供一种数据库容灾演练管控系统,包括基础数据管理模块:对基础数据进行编辑与保存,并将信息提供给容灾演练管理模块;版本管理模块:负责管理所有容灾切换演练期间使用的各类脚本,进行版本管理,并将信息提供给容灾演练管理模块;状态管理模块:监控数据库的运行状态、当前角色,以及生产与容灾数据库之间的数据同步状况,并将信息提供给容灾演练管理模块;容灾演练管理模块:负责演练预案、演练方案以及人员分工,并对当前演练流程与进展进行展示;切换管理模块:负责演练过程中生产与容灾数据库角色的切换环节;公告管理模块:负责公告模版的编辑、管理与发送;以及外部系统接口模块。
上述的数据库容灾演练管控系统,其中,所述基础数据管理模块包括:编辑与保存本系统内部的系统用户、用户组、角色和操作权限;编辑与保存容灾演练相关人员、组织架构和所属专业类别;编辑与保存生产业务应用系统、数据库、中间件、相关主机及其存储设备的信息;编辑与保存网络参数设置与网络设备的信息。
上述的数据库容灾演练管控系统,其中,所述版本管理模块将所述各类脚本按照不同的功能、类别和属性分类;并针对不同时间上传的相同脚本按照时间顺序进行版本控制。
上述的数据库容灾演练管控系统,其中,所述容灾演练管理模块包括:根据演练相关的业务区域进行人员分组,根据职能进行演练分工;根据当次容灾演练的范围、人员生成演练预案与演练流程;将演练预案、演练流程以工单的形式通过系统接口发送到OA办公系统或工单系统,提交相关人员进行审核,并接收审核结果;容灾演练期间将实时消息推送给公告管理模块;容灾演练期间根据需要调用切换管理模块;以及用图形化方式展示当次演练的各项流程以及当前进展情况,并提供详细日志。
上述的数据库容灾演练管控系统,其中,所述切换管理模块包括:根据演练方案,从基础数据管理模块提供的设备中关联当次演练所需的设备;根据演练方案定义流程,包括模拟故障、停止数据库服务、切换数据库角色、切换中间件和恢复业务;将流程中的每个步骤与对应的脚本相关联;在演练执行期间调用脚本实现各项功能,实现切换流程的一键执行;将关键节点的信息通过公告管理模块发送。
本发明对比现有技术有如下的有益效果:本发明提供的数据库容灾演练管控系统,能够实现在图形化界面上对整个演练流程进行规划、控制与管理,并且预先定义各环节所需的操作内容,在实际执行期间实现自动化操作。
具体实施方式
下面结合附图和实施例对本发明作进一步的描述。
图1为本发明数据库容灾演练管控系统架构示意图。
请参见图1,本发明提供的数据库容灾演练管控系统,主要包括基础数据管理模块、版本管理模块、状态管理模块、容灾演练管理模块、切换管理模块、公告管理模块,以及与外部系统接口模块。通过在相应模块中预先定义好的脚本与基本信息(软件、硬件设备、人员、岗位等),本发明根据容灾演练的要求拼接组合成为一个可实施的流程。通过执行演练流程,按规划调度各个演练环节,自动执行相应脚本来完成所需操作。各主要功能模块的实现如下:
一、基础数据管理模块
基础数据管理模块主要负责人员管理,以及生产、容灾系统的设备编号、配置信息等基础数据的管理,并将信息提供给容灾演练管理模块;具体功能如下:
1、编辑与保存本系统内部的系统用户、用户组、角色、操作权限。
2、编辑与保存容灾演练相关人员、组织架构、所属专业类别。
3、编辑与保存生产业务应用系统、数据库、中间件,及其相关主机、存储设备的信息。
4、编辑与保存容灾业务应用系统、数据库、中间件,及其相关主机、存储设备的信息。
5、编辑与保存网络参数设置与网络设备的信息。基础数据登记表如下表所示:
二、版本管理模块
版本管理模块主要负责管理所有容灾切换演练期间使用的各类脚本,进行版本管理,并将信息提供给容灾演练管理模块,功能如下:
1、统一管理所有容灾切换演练期间使用的各类脚本,并将上述脚本其按照不同的功能、类别、属性分类。
2、针对不同时间上传的相同脚本按照时间顺序进行版本控制。
三、状态管理模块
状态管理模块主要负责监控与核查数据库的运行状态、当前角色,以及生产与容灾数据库之间的数据同步状况,并将信息提供给容灾演练管理模块。
容灾演练管理模块:主要负责演练预案、演练方案、人员分工等方面管理,并对当前演练流程与进展进行展示,功能如下:
1、根据演练相关的业务区域进行人员分组,根据职能进行演练分工。
2、根据当次容灾演练的范围、人员生成演练预案与演练流程。
3、将演练预案、演练流程等以工单的形式通过系统接口发送到OA、工单系统等办公系统,提交相关人员进行审核,审核结果通过接口返回本装置。
4、容灾演练期间将实时消息推送给公告管理模块。
5、容灾演练期间根据需要调用切换管理模块。
6、使用直观的图形化方式展示当次演练的各项流程,展现当前进展情况,并提供详细日志。
7、容灾演练日志归档,并作知识库管理。
四、切换管理模块
切换管理模块主要负责演练过程中生产与容灾数据库角色的切换环节,功能如下:
1、根据演练方案,从基础数据管理模块提供的设备中关联当次演练所需的设备,例如:设备类型、设备名称、IP地址、端口信息等。
2、根据演练方案定义流程,例如:模拟故障、停止数据库服务、切换数据库角色、切换中间件、恢复业务等。
3、将流程中的每个步骤与对应的脚本相关联。
4、在演练执行期间调用脚本实现各项功能,实现切换流程的一键执行。
5、将关键节点的信息通过公告管理模块发送。
五、公告管理模块
公告管理模块主要负责公告模版的编辑、管理与发送。在演练之前定义不同类型公告的模版,在演练期间可以快速对外发布响应公告,并通过短信等方式发送给指定人员。
图2为本发明数据库容灾演练管控流程示意图。
请继续参见图2,首先,需要在基础数据管理模块中登记生产系统与容灾系统所有相关软、硬件设备的基础信息,配置人员分工、岗位等人员信息。其次,在版本管理模块中配置演练切换中所需的所有脚本,并进行版本控制。以上信息配置完成后,启用状态管理模块对当前环境进行监控。当有容灾演练需求时,通过容灾演练管理模块进行总体调度,制定演练预案、实施方案、管理人员分工,并通过接口发送至OA等办公系统进行审批。审批通过后,在容灾演练过程中,由容灾演练管理模块调用切换管理模块进行生产系统与容灾系统之间的切换与回切操作,完成演练工作所规定的内容。演练期间的重要信息与通知,由公告系统发送至相应人员。
本发明通过完整的演练流程定义,避免了演练中间环节的疏漏,确保演练不会因为某个环节没有准备而导致的演练失败。通过预先对各环节所需资料的定义,减少了演练过程中消耗的时间30%以上。通过自动化的切换流程,将演练的关键环节,即数据库切换操作,由原有手工操作耗时15分钟降低到2分钟。通过预定义脚本及自动调用,将误操作降低为零。具体配置及处理流程如下:
1、配置基础数据环节:将生产及容灾系统所有设备编号、配置信息等基础数据信息通过现有的配置数据库或手工方式录入本装置的基础数据管理模块中,其目的是通过本装置实现对所有设备的识别与管理。
2、配置演练脚本:在完成基础数据配置之后,将容灾演练过程中所有涉及的指令操作以脚本的形式上传到本装置中,以便在演练过程中按需下发执行,避免人为误操作带来的隐患,提高执行的效率及准确性。
脚本基本格式如下:
echo xxx脚本执行开始...
echo xxx功能开始执行
<功能命令执行>
echo xxx功能结束执行
echo xxx脚本执行结束。
echo executeResultForDTS:0
备注:“executeResultForDTS:0”语句放在最后返回,表示此脚本文件执行成功;若最后一句不是此语句,则表示此脚本文件执行失败。
3、配置公告模版与公告管理:预先定义演练期间对外发布公告的模版,会发生变化的信息留作变量,根据当次演练的实际情况进行填写,大幅度提高公告发布的速度与规范性。支持公告的增删改查功能,提供公告模版的编辑与引用(切换时可调用公告模板)功能。编辑公告模版界面包括:模版名称、公告标题、公告内容、短信通知的用户列表等几个项目。
4、制定切换流程、关联演练(切换)脚本:提供用户自定义流程及环节功能,用户可在流程环节中添加执行脚本,用户在执行流程的过程可查看执行的每个环节的具体脚本信息、脚本输出信息、以及脚本执行结果,流程整体执行完成后提供演练总结界面,并带入常用的信息。用户可按业务筛选进行切换。
5、检查状态是否正常:通过执行演练流程中的检查流程,以判断当前生产与容灾环境中的各项设备参数是否正常,如果结果正常,发布演练开始公告,继续进行演练操作。如果发现异常,则需检查该项异常是否可以修正,修正后发布演练开始公告,可以继续进行演练操作,否则发布演练终止公告,将操作日志归档并退出演练流程。
6、发布演练开始/终止公告,通过已经预定义的公告模版,向特定用户或用户组发送通知,提醒相关人员注意当前的演练状态。通常演练公告类似如下:
(容灾演练平台系统):通知地市和相关部门演练开始各位领导和同事,根据XX公司XX系统容灾切换演练计划,容灾切换演练将于10分钟后(23点整)开始,请各单位做好相关准备工作。
(容灾演练平台系统):通知地市和相关部门演练开始各位领导和同事,原计划X月X日23:00开始的容灾演练工作,由于XX原因终止,演练时间另行通知,请各单位做好相关准备工作。
7、执行切换操作:演练公告发布之后即进入执行切换操作环节,根据演练区域、业务等具体需求,自动关联前期已经完成分组的对象(数据库、中间件等),进行核实后点击“执行”按钮开始进入所有相关设备的自动切换操作。
系统提供对已执行的切换流程进行记录,同时对未完成的流程也可在后台执行,前台的日志界面可进行查看。
8、发布演练结束公告:预订演练流程与各项操作完成后自动进入发布演练结束公告环节,结束公告定义与发送与前述演练开始公告相同。
9、演练总结:演练操作完成后,系统根据所做操作,演练各环节时间等信息自动做出本次演练的总结。如果演练环节中出现错误或失败,则可由人工填写或修订演练总结。
10、日志归档:所有环节完成后,系统自动将此次演练的所有日志记录保存在后台,可供后续调取查看。
虽然本发明已以较佳实施例揭示如上,然其并非用以限定本发明,任何本领域技术人员,在不脱离本发明的精神和范围内,当可作些许的修改和完善,因此本发明的保护范围当以权利要求书所界定的为准。