• 快捷搜索
  • 全站搜索

应用软件系统可视性分析

2013-12-04 15:07:19作者:中国人寿保险股份有限公司信息技术部 袁红 张斌编辑:金融咨询网
目前,金融行业主要业务处理系统都已经实现了集中处理,使得对信息系统的高可用性要求变得十分突出。文章提出了应用系统可视性以及可视化应用系统概念,并从应用软件可视性特征、可视性具体要求、可视性实现等几个方面进行阐述。

近年来,网络技术、存储技术、云技术、移动计算等技术快速发展,给金融行业这样高度依赖信息技术的行业带来了又一个快速发展的机遇。目前,金融行业主要业务处理系统都已经实现了集中处理,使得对信息系统的高可用性要求变得十分突出。笔者从系统高可用性入手,分析典型大型金融软件系统运行方面的若干问题,提出了应用系统可视性以及可视化应用系统概念,并从应用软件可视性特征、可视性具体要求、可视性实现等几个方面进行阐述。

一、应用软件系统的可视性

        可用性是反映应用软件系统提供不间断服务能力的最直接、最重要的指标,而且是一个综合性指标,由其他技术指标的表现情况决定,如软件系统的稳定性、安全性、可维护性、系统性能等。系统实现了高稳定性、高可维护性、高安全性、高性能,即可以取得高的系统可用性。提高可用性指标表现值的方法可以分为两大类,一是在问题出现前提供预警,二是在问题出现后能够有高效的解决手段,通俗地说即“早发现”和“快解决”。

        如何为软件系统运行和维护人员提供充足、及时的预警,如何为运维人员跟踪提供有力的支持呢?在应用程序运行维护过程中,如果应用软件系统的各种运行状态、各个模块、各个函数、各个数据的变化是可知的、可跟踪、甚至可预测的,也就是说这些信息完全被运维人员所掌握,那么系统正常运行就易于得到保障,即使出现问题也比较容易解决。

        本文将应用软件在运行过程中以多种方式、多层次、多角度将自身运行情况呈现给用户的能力称为应用软件系统的可视性(Application Visibility);相应的,具有良好可视性的应用系统称为可视化应用系统(Visual Application)。

二、应用软件系统运行中的若干问题

        1.应用系统监控的困扰

        在金融行业,数据处理中心生产环境大都已经建立起比较完善的基础平台监控机制,其基本原理是整合利用基础平台提供的各种监控接口,统一到监控平台上,形成一个完整的基础平台运行视图,并增加各种管理功能,取得了良好的效果。其之所以成功,一个很重要的因素是各种基础平台,包括硬件、操作系统、数据库、中间件等是成熟的通用平台产品,这些产品都包含了丰富的自身运行监控接口(可称之为具有良好的可视性),监控系统所做的就是挖掘、利用这些功能,并根据具体的应用特点进行针对性的整合,以统一友好的界面展现给管理人员。

        而应用程序的监控虽然也有一些成功的实例,但相比基础平台监控效果还是有不小的差距。究其原因,是应用系统自身没有提供足够的、有效的关于自身运行的详细信息,也就是说应用软件自身不具有很好的软件可视性,而是在在大多数情况下,通过监控应用程序消耗的公共资源,以此来判断应用运行情况。但这种模式具有很大的局限性,如跟踪Tuxedo服务队列可以判断某个应用功能的排队情况,但不能很好地给出进一步的详细信息。另一个应用监控思路是针对应用日志的监控,但很多情况下应用程序日志不能满足监控要求,需要反过来再在源程序中增加针对性的日志输出。但是不同应用系统源程序的结构差异使得增加理想日志信息的工作量和风险都具有不确定性,而且这种打补丁的方式缺乏规划和统一管理。这种状况其实是反映了程序原有的可视性不能很好满足应用监控的要求。

        2.问题定位效率的不确定性

        应用系统运行出现问题时,界面上和日志文件中的报错信息是问题定位的重要切入点,如果报错信息、日志记录比较明确、比较完整,运维人员就比较容易跟踪到出错前程序的运行轨迹,继而根据程序上下文逻辑判断问题的缘由;反之如果日志记录不明确、不完整,例如在程序流程跟踪过程中某个关键变量的值变化没有记录下来,这时候问题的解决效率就需要依靠运维人员的经验或者想办法在模拟环境中进行问题重现,有时甚至要修改源程序加入调试信息并模拟运行。这种情况决定了运维的效率在很大程度上依赖程序日志的详细程度,依赖运维人员经验的积累,从而导致整体上应用软件的问题定位效率具有不确定性,直接后果是系统高可用性无法得到保证。

        分析其原因,一是应用系统提供的日志很多是软件在开发过程中加入的调试信息,严格来说并不能称为软件系统的运行日志。二是侧重于记录出错现场的异常信息,不注重正常运行信息,而在实际生产环境中,那些在测试环境中从来不曾出现异常的地方还是会出现异常。

        如果解决了目前应用软件系统的日志不全面的问题是不是就可以显著提高应用系统的可用性呢?笔者认为不能。如果按此种的模式,在源程序中加入全覆盖的日志,将对系统运行效率、运行日志空间消耗、日志跟踪效率带来新的问题,因为对于特大型软件系统,系统逻辑复杂,程序调用层次多,并发操作量巨大。程序运行过程中的日志产生方式完全可能是喷涌而出,通过日志进行分析的效率将是一个新的问题。

三、应用软件系统可视性的特征

        为保障系统的稳定运行,应用软件可视性应具有以下特性。

        1.多角度

        可视性良好的应用软件是一个白盒系统。不同类型的用户可以从各自的角度对其内部进行观察。用户包括前台操作者、后台操作者、应用管理者、系统审计者等。前台操作者和后台操作者可以非常直观地看到自己已经完成、正在进行、将要进行的操作,也可以看到操作对象的全面信息,包括历史信息、相关信息。应用管理者可以看到权限范围内系统中正在进行的所有操作员和操作对象的活动信息和历史信息。系统审计者可以看到权限范围内所有操作和对象的历史信息。

        2.结构化

        可视性良好的应用软件可以实现结构化、系统化的观察(或监控)。如果软件的监控平台是软件的仪表板,应用软件可视性功能则是仪表板和各运行单元之间以及运行单元内部的传感器。软件系统的整体运行状况、各部件的运行状况信息可以通过传感器获取,并传递给仪表板,方便及时地展现在用户面前,给出一个软件系统运行情况的全貌。这是软件系统可视性的最基本要求。

        在仪表板的基础上,可以对各个部件的运行情况进行进一步深入的展现,逐层展现部件内部的运行情况。相对于传统机械设备和模拟电子设备,应用软件系统作为纯数字信息系统,在数据采集、数据管理上具有更大的优势。

 1 2 下一页 尾页

扫码即可手机
阅读转发此文

本文评论

相关文章