【技术实现步骤摘要】
一种基于复杂网络理论的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的一大优势(节省成本),服务可以被不 ...
【技术保护点】
一种基于复杂网络理论的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
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。