对远程不可达软件系统的运行状态进行远程监控的方法

文档序号:9910907阅读:1213来源:国知局
对远程不可达软件系统的运行状态进行远程监控的方法
【技术领域】
[0001]本发明属于软件运行状态监控技术领域,特别涉及一种对远程不可达软件系统的运行状态进行远程监控的方法。
【背景技术】
[0002]为了保障远程管理软件系统的正常、安全、稳定运行,必须对软件运行状态进行实时监控,对系统运行过程中出现的异常信息做出及时响应并提供相应的处理措施。
[0003]处理远程软件系统运行时故障时,需要考虑到对于长期远程运行的系统,近端对其软件状态的控制能力不足,尤其是在监测与处置的实时性上,能力较弱。因此,必须研究远程软件故障检测和诊断技术,使远程运行软件具备自主健康管理、系统容错和重构能力,使远程运行软件可以相对独立于近端和相对独立于操作人员进行远程故障处置,在各种预定或变化、异常环境下,具有一定的问题求解、判断和自维护的能力,减少操作人员的工作量,增加远程系统的安全性、可靠性。
[0004]AOP(Aspect-Oriented Programming)是一种将函数的辅助性功能与业务逻辑相分离的编程泛型,其目的是将横切关注点分离出来,使得程序具有更高的模块化特性。在当前大多数支持面向对象的编程语言中(例如C#,Java等),函数(Funct1n)是表述程序功能的最小单元,而一个函数的代码层面往往同时含有核心业务逻辑和辅助性功能。核心业务逻辑指一个函数本身主要要实现的业务功能,例如在远程物资信息管理软件系统中,“TaskManagement”函数其核心业务逻辑是“任务管理”,而“UserManagement”函数其核心业务是“用户管理”。但是,一个函数除了核心业务代码外,往往还会有一些辅助性功能代码,如事务处理、缓存处理、日志记录、异常处理等等。而这些辅助性功能一般会存在于大多数甚至所有业务函数中,即形成AOSD中的横切关注点。
[0005]软件开发过程中,一个关注点(Concern)就是一个特定的目的、概念或人们感兴趣的区域,是软件系统开发的基本处理模块。通俗地讲,即人们所关心的系统各个方面。在面向过程的编程方法中,关注点被表达为过程和函数;在面向对象的编程中,分离的关注点被模块化为对象或类。软件的生命周期中,在抽象层次(需求、分析和概要设计阶段)上,关注点一般体现为一些概念;在实现层次(详细设计和编码阶段)上,体现为程序结构中的一些实体单元。
[0006]关注点的基本动机是将软件分解和组织成为更小、更易管理、更易被理解的部件,每个这样的部件就是一个或多个关注点。我们可以把一个复杂的系统看作是由多个关注点来组合实现的,一个典型的系统可能会包括几个方面的关注点,如业务逻辑、性能、数据存储、日志和调试信息、授权、线程安全、错误检查等,还有开发过程中的关注点,例如易理解性、易维护性、易追查性、易扩展性等。
[0007]横切关注点的存在,造成了如下几个问题:
[0008]I)代码编写和维护困难
[0009]横切关注点不仅横切各个函数,还可能在不同类甚至不同工程间横切,使得同一个辅助功能(如事务处理)分散到各处,如果要增加新函数时要时刻注意别忘了添加所有需要的横切代码。另外,如果需要对其进行修改,则需要到所有被横切的函数中修改,维护难度极大。
[0010]2)引入大量冗余代码
[0011]由于同一个辅助性功能的代码几乎是完全相同的,这样就会令同样的代码在各个函数中出现,引入了大量冗余代码。
[0012]3)降低代码质量
[0013]横切关注点令核心业务代码和辅助性代码杂糅纠缠在一起,破坏了业务函数代码的纯净性和函数职责的单一性,引入了大量繁杂的代码和结构,使得代码质量下降。
[0014]所以,AOP的核心思想就是在编写代码时将横切关注点分离出来,形成单独的模块,单独编写和维护,不再分散到各业务函数,使得业务函数仅包含核心业务代码,从而解决以上问题。而在程序编译或运行时,通过某些技术手段令独立的横切关注点代码可以与核心业务代码自动协作运行,完成本身需要的功能。

【发明内容】

[0015]【要解决的技术问题】
[0016]本发明的目的是提供一种对远程不可达软件系统的运行状态进行远程监控的方法,使远程运行软件具备自主健康管理、系统容错和重构能力。
[0017]【技术方案】
[0018]本发明是通过以下技术方案实现的。
[0019]本发明涉及一种对远程不可达软件系统的运行状态进行远程监控的方法,包括步骤:
[0020]A、开发人员根据待监控的检测参数编写监控关注点描述文件,通过监控关注点描述语言预编译器对监控关注点描述文件进行预编译,将其转换为监控切面代码,调用相应的AOP编织工具将监控切面代码静态注入远程管理计算机的远程软件系统;
[0021]B、近端通讯终端的近端管理软件向远程管理计算机的远程软件系统发送检测指令;
[0022]C、远程管理计算机的远程软件系统接收到检测指令后自动通过监控切面代码获取检测参数,并将检测参数返回给近端通讯终端。
[0023]作为一种优选的实施方式,所述检测参数包括网络状态、单机状态、数据库信息以及应用软件系统信息中的一个或多个。
[0024]作为另一种优选的实施方式,所述应用软件系统信息包括核心业务函数名称、核心业务函数参数、核心业务函数的返回值及核心业务函数的执行时间、核心业务函数的结果O
[0025]作为另一种优选的实施方式,所述远程管理计算机与近端通讯终端之间采用第三方消息中间件DotNetMQ进行数据传输。
[0026]作为另一种优选的实施方式,所述近端通讯终端的近端管理软件通过自动或手动方式向远程管理计算机的远程软件发送检测指令。
[0027]作为另一种优选的实施方式,所述步骤C中远程管理计算机的远程软件系统将检测参数以文件的形式返回给近端通讯终端。
[0028]【有益效果】
[0029]本发明提出的技术方案具有以下有益效果:
[0030]通过本发明,远程运行软件可以相对独立于近端和操作人员进行远程故障处置,在各种预定或变化、异常环境下,具有一定的问题求解、判断和自维护的能力,减少了操作人员维护远程软件系统的工作量,增加了远程软件系统的安全性、可靠性。
【附图说明】
[0031]图
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1