一种基于复杂网络理论的SOA系统可靠性评价方法技术方案

技术编号:10958082 阅读:126 留言:0更新日期:2015-01-26 00:05
一种基于复杂网络理论的SOA系统可靠性分析方法,它有四大步骤,属于复杂系统可靠性技术领域;其目的是针对SOA系统结构功能复杂,以及传统可靠性分析方法的实施存在困难甚至无法实施,提出一套可以有效分析SOA这一复杂系统可靠性的方法论。方法的特征是:创新地结合复杂网络理论,将SOA系统中的各对象以及对象之间的相互作用抽象为复杂网络中的节点和连边,建立复杂网络失效模型;并提出了针对SOA系统的级联失效模型,在此基础上利用蒙特卡洛仿真实验完成可靠性分析工作,发现影响系统可靠性的关键软件和脆弱结构。该方法不受系统规模限制,系统规模的增大不会显著提高方法计算复杂度;物理意义清晰,易于工程人员操作实施。

【技术实现步骤摘要】
一种基于复杂网络理论的SOA系统可靠性评价方法
本专利技术提出一种基于复杂网络理论的SOA系统可靠性评价方法,属于软件可靠性

技术介绍
面向服务的架构(Service-OrientedArchitecture--SOA)是一种粗粒度、松耦合的软件体系架构,它将应用程序的不同功能单元即服务(service),通过服务间定义良好的接口和契约(contract)联系起来,以完成用户请求的业务。这个概念由Gartner在1996年首次提出,并认为未来SOA会成为占绝对优势的软件工程方法。但之后仅有少数如BEA,Microsoft,IBM等公司试验性的使用过这一架构方式。纵观软件业的发展历程,从最初的面向过程、面向对象,发展到时下流行面向组件、面向集成,在这个螺旋式的上升曲线中,软件开发始终都没有完全做到系统模型与系统实现相分离,开发人员在多样化的需求中承受痛苦,公司蒙受经济损失。传统软件架构以无法很好地满足不断变更的需求,需要一种新的软件架构方式来满足这种需要。正是在这样的情况下,近年来SOA再次成为Microsoft,Sun,IBM等等IT界巨头关注的焦点。而随着XMLWebservices技术的成熟,也给当下SOA的发展奠定了坚实的基础。SOA系统本身往往是由数量巨大的用户、业务、服务集成的庞大系统,由于不同用户的需求多样,使得SOA系统的结构与运行机理呈现出复杂性,具体表现为:1)为完成一项用户请求的业务,系统中服务与服务之间需要并存在通信与互操作;2)根据用户的需求,业务与业务之间也存在相互协作;3)作为SOA的一大优势(节省成本),服务可以被不同业务重复使用;4)随着时间的推移,用户数量的增长以及业务范围的扩大,越来越多的服务会被加入,使得系统越来越庞大;5)若干SOA子系统可以组合为一个更为庞大的系统。目前对复杂系统进行可靠性建模并进行可靠性评价存在很大的困难,传统的系统可靠性建模与分析方法,如可靠性框图方法(RBD)、故障模式与影响分析方法(FMECA)、故障树分析方法(FTA)等受限于系统规模,往往针对系统的静态结构进行建模分析,同时很难顾及发生在系统上的复杂的动力学行为对系统造成的影响。由于许多系统及其构成对象之间的相互作用都可以用网络来描述,而复杂网络理论可以用来抽象描述复杂系统,是研究复杂系统动力学行为的有效工具。自从1998和1999年在Nature和Science上刊登了小世界效应与无标度特征的科学发现以来,复杂网络科学在近十年里迅速兴起,掀起了对现实世界普遍特征和规律认识的研究热潮,而且随着学科之间的相互交叉和融合趋势不断加强,也促进了对复杂网络共有特征和性质的揭示,提高了人们对现实世界的科学认识,因此它是当前最有希望用来认识“复杂系统之所以复杂”的有力工具。作为对复杂系统的抽象性描述方式和研究框架,复杂网络突出强调系统层次的复杂性特征,是复杂系统的其他属性的分析基础,因此对它的研究被认为有助于理解复杂系统的复杂性来源及其复杂程度等重要问题。复杂网络的可靠性已经成为人们日益关心的一个重要问题。人们做出了很多的努力,但是复杂系统的大规模故障仍然时有发生。大范围电网是典型的复杂系统,近年来,国内外发生了多次大规模电网级联故障导致的停电事故。1998年和2003年,美国都发生了由于级联故障导致的大规模停电,其中2003年大停电影响范围多达5000多万人。此外,英国伦敦、北欧部分国家、意大利都发生了类似的重大停电事故。研究发现,复杂系统的故障通常出现较突然,大部分由看似微小的事件引起,并迅速地“蝴蝶效应”般对整个系统造成大规模影响;由于系统对象间广泛而紧密的联系,使系统各对象往往具有较强的故障相关性,造成系统内的故障极易传播;并且故障传播方式多样,没有确定性规律。近来的发现表明,级联故障是复杂网络系统的主要故障模式。复杂网络的级联故障,就是指一个或少数几个节点或边发生的故障会通过节点之间的耦合关系引起其它节点发生故障,这样就会产生连锁效应,最终导致网络中相当一部分节点的失效甚至整个网络的崩溃,也形象的称为“雪崩”。在SOA系统中,由于系统组成对象之间紧密的功能联系,系统中某一对象的故障往往会影响系统其它对象的正常工作,形成级联效应,因此SOA系统的故障机理使得运用复杂网络方法来分析其可靠性成为必要。在上面的SOA系统与复杂网络理论技术应用的背景下,提出如下一种基于复杂网络理论的SOA系统可靠性评价方法。
技术实现思路
对一种复杂系统--面向服务的软件架构(SOA)系统进行结构与功能特征分析,针对SOA系统结构与失效行为复杂、传统可靠性分析方法无法分析等特点,本专利技术提供了一种基于复杂网络理论的SOA系统可靠性评价方法。本专利技术是一种基于复杂网络理论的SOA系统可靠性评价方法,其目的是:分析提取SOA系统的相关信息,利用复杂网络技术对系统进行抽象描述,建立系统的可靠性评价模型;在建立的可靠性模型的基础上,利用复杂网络分析技术对系统进行脆弱性分析和可靠性评价,分析系统的故障机理,得到影响系统可靠性的关键软件列表,从而为提升SOA系统的可靠性提供依据。本专利技术的基本思想是:如果将SOA系统中的各个对象(包括服务与软件两类对象)抽象为网络中的节点,将对象间的相互作用(如调用、数据传送等)抽象为节点中的连边,可以建立系统的可靠性模型;在建立的可靠性模型上,基于复杂网络理论,通过不同的故障注入模式,分析对比各种节点故障方式对整个系统的影响程度(用最终系统中受影响的服务的个数来衡量),实现对系统当前可靠性水平的评估,并可得到系统关键对象(软件)列表,为系统可靠性评价提供依据。这里所谓系统关键对象是指,该类对象的失效会对系统的运行造成相对较大影响,同时通过提升该类对象的可靠性,系统的可靠性可以有效地得到改进。本方法首先进行SOA系统结构分析与信息提取,得到系统内服务与软件两类节点信息以及各节点之间的连边信息,并以此建立系统的拓扑结构模型;然后对建立的模型进行拓扑结构统计分析,包括节点度分布统计、软件共用次数统计等;之后基于复杂网络技术,建立针对SOA系统的级联失效模型,对系统进行脆弱性分析,得到影响系统可靠性的关键软件列表;系统的拓扑结构模型与级联失效模型共同组成了系统的可靠性模型;最后通过不同的故障注入模式,基于级联失效模型完成蒙特卡洛仿真实验,实现对系统的可靠性评价。本专利技术提出的基于复杂网络理论的SOA系统可靠性评价方法的开展需要获得SOA系统的如下信息:1)节点相关:软件数量,服务数量,软件的可靠性;2)服务与软件连接:实现服务所需调用的若干软件,由软件编配列表提取得到;3)服务之间连接:由于数据传递与接收产生的服务之间的依赖关系,由服务之间数据交互列表得到;4)软件之间连接:SOA系统中不同软件之间的松耦合联系(软件之间可能是独立的,由系统需求决定)。基于上述SOA系统结构信息,本专利技术提出一种基于复杂网络理论的SOA系统可靠性评价方法,如图1所示,该方法具体步骤如下:步骤一:进行SOA系统的结构与功能特征分析,获得系统建模需要的相关拓扑结构信息,建立拓扑结构模型;此外利用网络可视化技术,给出网络的拓扑结构图(鉴于SOA系统结构往往可分解为多个子系统,为不失一般性,下面针对具有多个子系统的本文档来自技高网
...
一种基于复杂网络理论的SOA系统可靠性评价方法

【技术保护点】
一种基于复杂网络理论的SOA系统可靠性评价方法,其特征在于:该方法具体步骤如下:步骤一:进行SOA系统的结构与功能特征分析,获得系统建模需要的相关拓扑结构信息,建立拓扑结构模型;此外利用网络可视化技术,给出网络的拓扑结构图;步骤二:由于系统的结构往往会对发生在系统中的动力学行为即故障的传播产生重要影响,所以在进行系统的故障行为分析之前需要分析系统的静态结构特征;基于复杂网络理论,对建立的可靠性模型的基本静态拓扑属性进行统计分析,包括节点入度分布、节点出度分布、软件共用分析,以实现对系统更好的认识和理解;步骤三:在建立的系统拓扑结构的基础上,基于复杂网络理论,建立针对SOA系统的级联失效模型,得到系统的可靠性模型,设计出适用于SOA系统可靠性评价的仿真实验方案,并完成SOA系统可靠性仿真实验;步骤四:利用步骤三中可靠性仿真实验中的结果,对系统开展脆弱性分析和可靠性计算,给出对系统可靠性影响较大的关键软件列表并分析原因,同时给出系统的可靠性量化评估结果,为高可靠性系统的设计、规划管理和优化控制提供依据。

【技术特征摘要】
1.一种基于复杂网络理论的SOA系统可靠性评价方法,其特征在于:该方法具体步骤如下:步骤一:进行SOA系统的结构与功能特征分析,获得系统建模需要的相关拓扑结构信息,建立拓扑结构模型;此外利用网络可视化技术,给出网络的拓扑结构图;步骤二:由于系统的结构往往会对发生在系统中的动力学行为即故障的传播产生重要影响,所以在进行系统的故障行为分析之前需要分析系统的静态结构特征;基于复杂网络理论,对建立的可靠性模型的基本静态拓扑属性进行统计分析,包括节点入度分布、节点出度分布、软件共用分析;步骤三:在建立的系统拓扑结构的基础上,基于复杂网络理论,建立针对SOA系统的级联失效模型,得到系统的可靠性模型,设计出适用于SOA系统可靠性评价的仿真实验方案,并完成SOA系统可靠性仿真实验;步骤四:利用步骤三中可靠性仿真实验中的结果,对系统开展脆弱性分析和可靠性计算,给出对系统可靠性影响较大的关键软件列表并分析原因,同时给出系统的可靠性量化评估结果,为高可靠性系统的设计、规划管理和优化控制提供依据;其中,步骤一中所述的“获得系统建模需要的相关拓扑结构信息”,具体方法如下:系统中的节点信息以及软件与服务之间连边信息的获得:整个SOA系统根据使用方的配备分为若干子系统;用户根据需求给出服务列表,由SOA系统设计单位设计出基于用户需求的服务-软件编配表,编配表中包括SOA系统要实现的所有服务,以及实现各个服务需要调用的复数个软件;从服务-软件编配列表中提取所有的软件、服务信息,同时软件被服务调用这一信息被抽象成软件与服务之间的连边;由于一个服务的实现往往需要多个软件的共同协作,一个服务常与多个软件存在连边;同一子系统中不同服务之间的连边信息:同一子系统中不同服务之间的连边由服务之间数据传递关系建立,并且这种连边是有向的,即如果服务A需要接收来自服务B的数据,那么服务A与服务B之间就存在一条有向边B→A;同样的一个服务需要接收来自多个其它服务的数据,所以指向该服务的边有多条;不同子系统间服务间的连边信息:不同子系统间,由于相同服务之间存在信息数据交互,所以相同服务间建立连边。2.根据权利要求1所述的一种基于复杂网络理论的SOA系统可靠性评价方法,其特征在于:步骤二中所述的“对建立的可靠性模型的基本静态拓扑属性进行统计分析”,具体内容与方法如下:系统软件共用次数分析:考虑到系统中相同的软件资源被配置到各个子系统中的各个部门中去,并且由于各部门职能的差异,系统各部门所需的服务存在巨大差别,这最终导致了系统中各个软件的使用频率或者说配置份数不同;对各个软件被不同部门的共用次数的统计,构成了系统软件共用次数分析;分析输出三个结果:各个软件的共用次数、各软件根据共用次数频率的高低排序结果、具有n次共用次数的软件的个数统计结果,其中利用第二个结果得到基于软件共用次数的关键软件列表;服务节点软件度分布统计:根据用户的需求,每项服务会使用数目不等的软件;一个服务的软件度ksoft指为该软件配置的可供调用的不同软件的数目;服务节点的入度分布统计:一个服务的入度kin指的是,服务作为kin个其它服务的数据接收方,即系统中有多少个其它服务即上游服务向它发送数据;kin越大代表这个服务对外界的依赖性越大;服务节点的出度分布统计:一个服务的出度kout指的是,服务需要向其它kout个服务发送数据;一个服务的出度kout越大,说明这个服务当前的工作状态越容易对系统中其它服务的工作状态造成影响,换句话说,该服务的故障是容易传播开的。3.根据权利要求1所述的一种基于复杂网络理论的SOA系统可靠性评价方法,其特征在于:步骤三中所述的“建立针对SOA系统的级联失效模型,得到系统的可靠性模型,设计出适用于SOA系统可靠性评价的仿真实验方案”的具体内容与方法如下:级联失效模型:对于系统中的任意一个服务能接收三种类型的数据:调用其所属的软件、子系统内其它服务以及其它子系统的相同服务传送的数据;这意味着任一服务可能受来自三方面的影响,通常假设各方面对其造成的影响是独立的;系统中的软件由于自身故障可能导致错误信息的传递,这个影响概率与服务使用故障软件的概率成正比;方法假设若有一种软件故障,那么所有子系统配置的同种软件也将发生故障;在系统中的服务因软件的故障而受到影响后,由于子系统内以及子系统之间存在服务之间的数据传递,这种影响也可能继续向其所有下游服务节点传递,发生“级联效应”;同样的,服务节点的故障向其某个下游邻居服务节点传播的概...

【专利技术属性】
技术研发人员:李大庆王飞龙王世海刘斌
申请(专利权)人:北京航空航天大学
类型:发明
国别省市:北京;11

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

1