基于SOA的金融信息系统服务抗毁研究
2009-08-13张高煜赵强
张高煜 赵 强
摘 要:金融信息系统要求有很高的抗毁能力,针对现有的SOA技术在抗毁方面的应用,首次提出将自组网络技术、P2P技术与面向服务架构结合起来,利用自组网络的无中心特点解决了SOA架构对集中式注册中心的依赖;利用自组网络的快速拓扑重构能力,可以实现基于SOA的金融信息系统在受损后的快速重构和运行;利用P2P机制的多副本特性,实现服务与服务描述的多处备份运行与存放,并在服务无法正常提供的情况下,自动发现和启用新的同等服务,从而保证金融信息系统的抗毁能力。
关键词:SOA;金融信息系统;服务;抗毁
中图分类号:TP393文献标识码:A
文章编号:1004-373X(2009)10-073-03
Robust Framework of Financial Information System Based on SOA
ZHANG Gaoyu1,2,ZHAO Qiang1
(1.Computer Science Institute,Fudan University,Shanghai,200433,China;2.Shanghai Finance University,Shanghai,201209,China)
Abstract:Financial information system requires strong anti-disaster capability.A framework combining Ad Hoc network and P2P techniques with Service-Oriented Architecture (SOA) is firstly proposed.This framework inherits the rapid topology reconstruction capability of Ad Hoc network after disaster.The multi-copy storage ability of P2P system is applied for service documentation and backup.Also,the P2P system′s automatic service identification and discovery features are used when the normal service is not available,which guaranteed the robustness of financial information system.
Keywords:service oriented architecture;financial information system;service;anti-disaster
0 引 言
随着我国金融信息基础设施的完善,特别是骨干数据网络的快速发展,银行、证券系统已经具备了以光纤传送网、短波网、卫星网等基础网络和电话交换网、密话网、公用数据网等构建在基础网络上的业务网络为代表的信息网络系统,但这些信息系统分别在不同的时期由不同的单位实施研制,采用各自不同的技术自行设计且大多采用各自的开发平台,还有可能基于不同的操作系统,不同的软件体系及语言实现,不可避免地带来网络系统互不兼容、管理信息不能互通、缺乏对整个网络的综合管理、管理内容庞杂、操作界面多样等问题。
基于SOA的体系结构的金融信息系统建设,就是致力于将各类金融信息系统架构成统一协调、相互调用、真正实现一体化的集成系统,从而正确而又充分地发挥各分系统的作用。
在社会经济生活中,金融信息系统的安全性、可靠性、抗毁性(也称存活性、顽存性等)问题已成为系统规划、论证、方案设计与优化的重点考虑内容。基于SOA的金融信息系统,其服务提供者和服务注册中心(UDDI)是抗毁的两个薄弱环节:一旦UDDI被摧毁,服务消费者不知道到哪里去获得服务;而一旦服务提供者被摧毁,服务消费者即使知道去哪里获得服务,也没有相应的服务存在了。所以,如何采用较好的方式来备份服务以及灾后快速获得服务,降低系统中UDDI的中心地位,将金融信息系统中各服务提供者的地位对等化,就是抗毁性研究的方向。
1 基本概念
1.1 SOA
面向服务的体系结构(Service Oriented Architecture,SOA)是一个组件模型,它将应用程序的不同功能单元(称为服务)通过这些服务之间定义良好的接口和契约联系起来。接口是采用中立的方式进行定义的,它应该独立于实现服务的硬件平台、操作系统和编程语言。这使得构建在各种这样的系统中的服务可以以一种统一、松耦合和通用的方式进行交互。
1.2 服务提供者和服务消费者
SOA架构将服务提供者和服务消费者分离开来。这里的服务就是服务提供者(个人或者商业组织)提供的功能单元,服务消费者是任何需要这个功能单元的系统。这种分离是通过一种称为服务契约(Service Contract)的机制来实现的,也就是说服务消费者在使用服务之前,必须通过某种途径得到服务提供者发布的服务契约,然后才能定位服务及正确使用服务。这种分离给架构带来的直接影响是服务提供者与服务消费者之间的关系极其松散,并且易于重配置。
1.3 基于SOA金融信息系统
基于服务的构件平台就是给金融信息技术应用建立一个数字化的集成环境,真正让所有金融信息都在一个平台上进行管理。平台提供了用于大多数信息系统的通用构件的整合,是真正的面向应用的中间件技术,用户能通过该平台的界面生成器、数据库生成器等工具的使用,无需编写程序、轻易开发、配置出一个信息管理系统;也可在此平台上进行二次开发,以构造一个新信息管理系统。平台的设计采用软件构件技术,将信息管理的功能以构件方式提炼出来,形成相应的程序构件,在此基础上组成信息管理的平台。在系统灵活的底层支持下,用户可以根据管理需求对系统功能结构和信息结构进行调整,极大地提高了系统的可维护性和适用性。
1.4 服务抗毁的定义
系统运行后台进程,实时监控系统状态,当服务遭到破坏时,针对故障状态采取不同恢复策略,控制数据流方向,自动进行系统重建。正常情况下,由本地金融信息节点提供服务。当本地节点发生灾难时,远端金融信息节点自动切换对外提供服务,使外界觉察不到服务的中断;当本地节点故障排除后,系统自动与远端节点数据同步,重新切换为由本地信息节点提供服务,确保系统的可靠性和健壮性。
对服务抗毁的实现有如下关键的要求:灾难发生后,可以迅速确定故障点和有效数据源;灾难发生后,需要迅速触发相关子系统,采取有效策略,使整个容灾系统能够对外提供不间断的服务。
1.5 基于SOA的金融信息系统的抗毁
基于SOA的金融信息系统的抗毁是指:当系统中出现确定性或随机性故障,部分组成要素或局部子网遭受人为或自然的软压制、硬摧毁时,系统维持及恢复其性能、效能到一个可接受程度的能力。该能力的量化表示,可以从系统各组成服务的随机毁损出发给出抗毁度量,也可从系统各节点的拓扑结构组成及动态变化给出确定性度量。突出抗毁性而非可靠性,是为了强调自然灾害、恶意入侵环境下金融信息系统的抗毁和抗干扰能力,以示与侧重计算机硬件保障与维修实效性相关的可靠性的区别。由于金融信息系统组成服务众多,网络抗毁度量计算量大,不同的抗毁性度量模型对应不同的指标集和度量算法。
2 抗毁设计原理
基于SOA的金融信息系统抗毁的设计思想如下:
(1) 将一个金融信息系统看作是一个自组织网络簇、金融信息系统中所提供的服务,其被部署在这个簇中的若干个节点上,每个节点上都可以部署若干个服务,并且所有节点上部署的服务之间是非独立、高覆盖度的。簇内所有节点上的服务构成一个高冗余的完备服务集;
(2) 既然金融信息系统是基于SOA的,那么必然在簇中要有一个成员具有UDDI(服务注册中心)功能,所以,将具有簇成员管理功能的簇首设置为UDDI,其中UDDI的服务目录被设置为本簇和其他所有簇(其他金融信息系统)各成员节点所有服务的P2P片段信息;
(3) 若干个金融信息系统之间相互进行服务部署,各系统的簇首作为UDDI,以P2P方式进行连接和服务目录的部署,每个簇首中的UDDI被设置成本簇和其他所有簇中各成员节点所有服务的P2P片段信息,并且,这些片段信息是非独立、高互覆盖度的,所有簇首的UDDI片段信息构成一个高冗余度的服务目录完备集;
(4) 根据自组织网络的特点,每一个节点都可以作为路由来转发信息,那么,在一个簇内,每个节点若是要请求本簇其他成员节点的服务,可以使用本节点上的先验路由表来将请求信息发送到可以提供此服务的节点,以获得服务。如果在自然灾害或恶意入侵时,某个节点或某几个节点被摧毁,并且剩下的节点提供的服务仍然可以构成完备服务集的前提下,请求服务的节点以及其他剩下的节点,可以采用按需路由方式,即时发送探测信息,更新各自的路由表,快速构建连通路径,得到所要求的服务,实现簇内的抗毁;
(5) 所有簇的所有节点所提供的服务注册目录信息,以内容片段分发的方式被部署到各个簇首之上。根据P2P网络的特点,当某一个或某几个簇首被破坏后,并且剩下的簇首上的UDDI片段信息之和仍然可以构成一个完备的服务目录集。那么,被破坏簇首的簇中,根据移动自组网络的选举簇首原则推举新的簇首,新的簇首就以P2P的信息获取方式得到一个新的UDDI片段信息,以维护簇间(各金融信息系统之间)服务的提供与消费,实现簇间的抗毁。
3 系统模拟与分析
基于SOA的金融信息系统抗毁结构如图1所示。
在图1中,C1,C2,C3表示3个基于SOA的金融信息系统(簇);节点1,3,4表示各簇的簇首,簇首之间以P2P方式连接,中心管理员M将各簇所有节点的服务片段分发到1,3,4节点上。
每个簇内各成员节点都可以提供一种或几种服务,根据自身的先验路由表,都是互相连通的,这样就很容易让服务消费者找到服务提供者。所以,在簇内,节点之间的服务发现可以不通过簇首的UDDI,在簇内就降低了UDDI的重要度,以增加簇内抗毁的可操作性。
当节点12失效后,节点12上所提供的服务就不再存在,如图2所示。
如果节点12在失效前为节点2提供服务,见节点2就必须在节点12被坏后,完成一个服务发现过程,重构自身的路由表,不通过本簇簇首上的UDDI,直接找到提供所需服务的节点6。这样,完成了簇内服务的抗毁。
当簇首1失效后,按照最小ID原则,推举出新的簇首为节点2,如图3所示。
簇首3,4采用P2P内容分发方式,将一个新的总服务目录片段发送到新的簇首即节点2上。此时,如果C1中的节点6要得到一项本簇成员节点所不能提供的服务,但不知道服务提供者在哪里,则节点6首先对簇首2,3,4进行轮询,从簇首3处得知所需的服务在簇C2中的节点10上。那么,根据自组织网络的特点,每一个节点都有路由转发功能,节点6的服务请求可以通过路径6→2→4→10到达目的节点。这样就完成了簇间的服务抗毁过程。
4 结 语
这里对基于SOA的金融信息系统的服务抗毁概念和技术做了较为详细的阐述,首次提出了一个较新的抗毁思想:将自组网络技术、P2P技术与面向服务架构结合起来,利用自组网络的无中心特点解决了SOA架构对集中式注册中心的依赖;利用自组网络的快速拓扑重构能力,可以实现基于SOA的金融信息系统在受损后的快速重构和运行;利用P2P机制的多副本特性,实现服务与服务描述的多处备份运行与存放,并在无法正常提供服务的情况下,自动发现和启用新的同等服务,从而保证金融信息系统的抗毁能力。
该理论模型在国内外文献中尚未有所见著。相关的技术,如:金融信息系统内的节点服务部署模型、簇内与簇间的两连同路由协议、服务抗毁的评价方法等都有待于进一步研究。
参考文献
[1]Eric Newcomer,Greg Lomow.Understanding SOA with Web Service[M].Addision-Wesler,2005.
[2]Barry Douglas K.Web Services and Service Oriented Architectures:The Savvy Manager′s Guide[M].Morgan Kaufmann,2003.
[3]Dirk Krafzig,Karl Banke,Dirk Slama.Enterprise SOA[M].北京:清华大学出版社,2006.
[4]于海斌,曾鹏.智能无线传感器网络系统[M].北京:科学出版社,2006.
[5]杨雪.基于SOA架构的无线传感器网络基础平台研究[D].长春:吉林大学,2008.
[6]乔延华.无线移动Ad Hoc网络路由协议的研究及NS2仿真.天津:河北工业大学,2007.
[7]李鸣.无线Ad Hoc网络中支持P2P应用的研究[J].电信科学,2008,24(10):143-146.