软件系统功能自恢复的软件架构方法及其系统技术方案

技术编号:23851646 阅读:36 留言:0更新日期:2020-04-18 08:57
本发明专利技术公开了一种软件系统功能自恢复的软件架构方法,涉及计算机软件领域,解决了传统技术未考虑软件系统出现故障后的自恢复问题,其技术方案要点包括步骤启动服务器集群;在工作台登录并启动对应的主软件系统;匹配获取子系统功能列表,返回给工作台的主软件系统;解析子系统功能列表,得到程序模块;实时监测、分析,将对应原因量化后返回至数据库服务器;数据库服务器在工作台故障时判断异常原因,根据异常原因重启故障工作台或将故障工作台用户的子系统功能列表分配至其他工作台并更新以完成自恢复,本发明专利技术的软件系统功能自恢复的软件架构方法,能够解决现有问题,提高软件系统的稳定性,减少软件系统故障时间。

Software architecture method and system of software system function self recovery

【技术实现步骤摘要】
软件系统功能自恢复的软件架构方法及其系统
本专利技术涉及计算机软件,特别涉及软件系统功能自恢复的软件架构方法。
技术介绍
软件系统架构设计是软件系统开发流程中极为重要的一环。目前,常用的软件系统架构设计方法主要解决的是软件解耦问题。解决软件解耦问题有两个好处,一是可以实现协同开发,提高开发效率;二是可以实现模块单独测试,有助于提高模块成熟度,进而缩短开发、测试周期,提升产品开发效率。常见的软件架构设计方法主要有两类,一类是所有软件系统的代码都在一个工程中,数据结构、逻辑结构及软件交互界面等所有代码都交织在一起。软件开发过程中,工程师通常根据功能进行模块划分,从而实现并行开发。但是由于所有的代码都耦合在一起,任何一处的代码改动都有可能引起意想不到的问题,从而导致软件的稳定性较差。对于大型软件或者大规模的开发团队,开发效率低、软件稳定性差等问题尤为突出,对于工程师来说这无疑是一种灾难。另外一种软件耦合的设计方法是根据业务的不同,在创建工程时将软件系统划分为一个主工程和若干个子工程,各子工程为主工程服务,且各子工程之间有依赖和耦合关系。该方案只是从物理结构上对软件系统进行分割,在软件系统进行调试时仍然需要所有子工程均开发完毕,且各子工程无法单独编译。软件开发、功能调试效率仍然比较低。另一类软件架构设计方法为基于插件的架构设计。通常情况下,该种架构设计方法将软件系统划分为宿主程序、插件程序和程序调度模块等几个部分。宿主程序通过调度模块调取相应的插件程序,从而实现软件系统的功能。该架构方式能够解除程序主体和业务模块的耦合,使应用程序可以灵活的拆分成多个业务模块,业务模块彼此之间无任何耦合及依赖关系,从真正意义上实现了软件系统全解耦。上述软件系统架构设计方法解决的主要问题是协同开发,提高开发和调试效率,没有考虑软件系统在出现软件问题或运行硬件设备故障后的自恢复能力。
技术实现思路
本专利技术的目的是提供一种软件系统功能自恢复的软件架构方法,能够解决上述问题,提高软件系统的稳定性,减少软件系统故障时间。本专利技术的上述技术目的是通过以下技术方案得以实现的:一种软件系统功能自恢复的软件架构方法,包括有以下步骤:启动服务器集群;通过用户权限在工作台登录并启动对应的主软件系统;根据用户权限匹配获取对应的子系统功能列表,并返回给工作台的主软件系统;解析子系统功能列表,得到子软件系统对应需要加载的程序模块;子软件系统将运行时的设置参数、中间数据以及状态信息上传至数据库服务器进行存储;主软件系统实时对自身运行状态信息及其对应的工作台运行状态信息进行监测,并且分析判断影响正常运行的原因,将对应原因量化后返回至数据库服务器;数据库服务器在工作台故障时判断异常原因,根据异常原因重启故障工作台或将故障工作台用户的子系统功能列表分配至其他工作台并更新以完成自恢复。作为优选,数据库服务器判断需要重启进行自恢复具体为:登录出现故障的工作台确认是否需要更换工作台重启主软件系统;若能登录并重启则无需更换工作台,直接登录原工作台重启对应的主软件系统,并根据数据库服务器存储的数据对加载的子系统功能列表进行更新;若无法重启需要更换新的工作台,则先通过数据库服务器判断是否存在闲置工作台,存在时,在该闲置工作台通过异常的用户权限登录并启动主软件系统;若不存在闲置的工作台,则根据预设的规则,将发生异常的工作台用户的子系统功能列表追加到设定的各工作台上相应的子系统功能列表中,并对追加后的工作台进行子系统功能列表更新。作为优选,对不存在闲置工作台时包括有两种自恢复方式具体为:1)将工作台故障后的用户权限下的子软件系统全部的子系统功能列表追加至选定的工作台配置的功能列表中,并在设定的时间重启更新对应的子软件系统;2)将工作台故障后的子软件系统根据子系统功能列表进行拆分,并将拆分后的各子软件系统分配至不同的工作台的主系统软件,在设定的时间重启更新对应的子软件系统。一种软件系统功能自恢复的软件架构系统,包括有:工作台集群,由若干工作台组成以用于供各用户登录及运行操作;主软件系统,运行于各工作台,以供用户登录启动;子软件系统,独立实现对应程序功能以在主软件系统中加载运行;服务器集群,用于各类数据的存储及通过程序调度实现子软件系统的程序加载;子软件系统加载运行时将设置参数、中间数据及状态信息上传至服务器集群;主软件系统对运行的状态进行监测,并在将监测到影响正常运行的原因量化后返回至服务器集群;服务器集群在工作台故障时根据异常原因判断是否需要重启,并通过自恢复对需要重启的用户权限对应的子软件进行重新分配及更新。作为优选,所述服务器集群包括有数据库服务器及程序模块服务器,所述数据库服务器对主软件系统及子软件系统进行数据的分析处理;所述程序模块服务器包括有对子软件系统各功能进行独立加载运行的程序模块及对需要加载运行的程序进行调度的程序调度模块。综上所述,本专利技术具有以下有益效果:通过本设计方法设计的软件系统,在保证传统全解耦软件架构设计的所有优点的前提下,重点解决了软件系统或运行平台故障后的自恢复问题。在软件系统自身运行过程中出现故障时,可分析故障原因,若确认可以通过重启软件系统恢复软件功能时,可通过服务器向故障软件系统运行工作台发出重启软件系统的命令;当通过重启软件系统恢复软件功能或者工作台硬件设备出现问题时,则需要按照既定的规则将故障子系统软件功能重新分配到其他工作台,并重启相应工作台软件系统。本设计方法提高了软件系统的稳定性,同时减少了软件系统的故障时间。附图说明图1为本专利技术的框图示意图;图2为本专利技术的流程示意图;图3为故障处理方案一原理图;图4为故障处理方案二原理图。具体实施方式以下结合附图对本专利技术作进一步详细说明。根据一个或多个实施例,公开了一种软件系统自恢复的软件构架系统,如图1所示,包括有主软件系统、子软件系统、工作台集群及数据库服务器和程序模块服务器。整体进行运行的软件系统包括主软件系统及子软件系统。主软件系统是软件系统运行的主体软件,主软件系统作为载体加载单个或多个子软件系统,使子软件系统能够独立或协同运行。主软件系统为软件系统运行的载体,本身不具备实现软件系统功能的能力,仅仅提供用户登录界面及加载子软件系统的功能。子软件系统是根据软件系统的业务进行划分得到的可以独立实现某一部分功能的软件模块,所有子软件系统均可以被加载到主软件系统中独立运行,所有子软件系统协同实现软件系统的完整功能。子软件系统是实现软件系统功能的主体。数据库服务器和程序模块服务器形成服务器集群。数据服务器对主软件系统及子软件系统进行数据的存储及分析,程序模块服务器包括有程序调度模块和程序模块,程序模块是具体实现子软件系统功能的软件程序集合,将所有业务逻辑尽可能进行细化、抽象,然后将软件程序打包成插件供子软件系本文档来自技高网
...

【技术保护点】
1.一种软件系统功能自恢复的软件架构方法,其特征是,包括有以下步骤:/n启动服务器集群;/n通过用户权限在工作台启动并登录对应的主软件系统;/n根据用户权限匹配获取对应的子系统功能列表,并返回给工作台的主软件系统;/n解析子系统功能列表,得到子软件系统对应需要加载的程序模块;/n子软件系统将运行时的设置参数、中间数据以及状态信息上传至数据库服务器进行存储;/n主软件系统实时对自身运行状态信息及其对应的工作台运行状态信息进行监测,并且分析判断影响正常运行的原因,将对应原因量化后返回至数据库服务器;/n数据库服务器在工作台故障时判断异常原因,根据异常原因重启故障工作台或将故障工作台用户的子系统功能列表分配至其他工作台并更新以完成自恢复。/n

【技术特征摘要】
1.一种软件系统功能自恢复的软件架构方法,其特征是,包括有以下步骤:
启动服务器集群;
通过用户权限在工作台启动并登录对应的主软件系统;
根据用户权限匹配获取对应的子系统功能列表,并返回给工作台的主软件系统;
解析子系统功能列表,得到子软件系统对应需要加载的程序模块;
子软件系统将运行时的设置参数、中间数据以及状态信息上传至数据库服务器进行存储;
主软件系统实时对自身运行状态信息及其对应的工作台运行状态信息进行监测,并且分析判断影响正常运行的原因,将对应原因量化后返回至数据库服务器;
数据库服务器在工作台故障时判断异常原因,根据异常原因重启故障工作台或将故障工作台用户的子系统功能列表分配至其他工作台并更新以完成自恢复。


2.根据权利要求1所述的软件系统功能自恢复的软件架构方法,其特征是,数据库服务器判断进行自恢复具体为:
登录出现故障的工作台确认是否需要更换工作台重启主软件系统;若能登录并重启则无需更换工作台,直接登录原工作台重启对应的主软件系统,并根据数据库服务器存储的数据对加载的子系统功能列表进行更新;
若无法重启需要更换新的工作台,则先通过数据库服务器判断是否存在闲置工作台,存在时,在该闲置工作台通过异常的用户权限登录并启动主软件系统;
若不存在闲置的工作台,则根据预设的规则,将发生异常的工作台用户的子系统功能列表追加到设定的各工作台上相应的子系统功能列表中,并对追加后的工作台进行子系统功能列表更新。


3.根据权利要求...

【专利技术属性】
技术研发人员:唐学大宗艳梅李国栋谌志新谭永明楚树坡韩冰袁世鹏王一帆张玉涛尹项博
申请(专利权)人:中国水产科学研究院渔业机械仪器研究所青岛海洋科学与技术国家实验室发展中心
类型:发明
国别省市:上海;31

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

1