一种通用电力数据平台的分布式容错切面描述织入方法技术

技术编号:10106607 阅读:132 留言:0更新日期:2014-06-01 21:14
本发明专利技术公开了一种通用电力数据平台的分布式容错切面描述织入方法,方法以面向切面编程AOP及冗余副本机制作为实现手段,通过在设计阶段将负载均衡、容错等非功能性逻辑抽取、刻画成为若干独立可管理的切面,并在运行时将其动态织入分布式通用电力数据平台中以保证平台服务质量,同时消除或降低开发人员对非业务逻辑的关注度要求,有效提升平台的可用性及可维护性。

【技术实现步骤摘要】
【专利摘要】本专利技术公开了,方法以面向切面编程AOP及冗余副本机制作为实现手段,通过在设计阶段将负载均衡、容错等非功能性逻辑抽取、刻画成为若干独立可管理的切面,并在运行时将其动态织入分布式通用电力数据平台中以保证平台服务质量,同时消除或降低开发人员对非业务逻辑的关注度要求,有效提升平台的可用性及可维护性。【专利说明】
本专利技术涉及电力数据系统领域,具体为。
技术介绍
在开发具有容错能力的通用电力数据平台时,需要开发人员关注大量用以实现容错逻辑的代码(即非功能性代码,它们往往与业务无关,且“横切” 了多个功能性模块),致使容错系统具有了侵入性,增加了系统的开发难度和维护成本。另一方面,在指定不同容错策略或性能指标时,容错平台中各Bundle的行为可能是完全不同的,而传统的面向对象分析、设计方法缺乏对容错软件系统在设计阶段的统一描述机制,降低了容错逻辑的可管理性和复用性。
技术实现思路
本专利技术的目的是提供,使负载均衡、容错等非功能性逻辑尽可能低地侵入数据平台的业务逻辑,同时消除或降低开发人员对非业务逻辑的关注度要求,有效提升平台的可用性及可维护性。为了达到上述目的,本专利技术所采用的技术方案为:,其特征在于:基于面向切面编程AOP和冗余副本机制的容错模型,通过切面分离、描述和织入环节,在数据平台运行时将容错切面所描述的容错逻辑动态编织到系统所含的业务逻辑之上,最终使得数据平台具备分布式环境下的容错能力;电力数据平台中业务模块的分布式副本交互方法,通过分析平台所含关键业务模块及其冗余副本与容错逻辑相关的结构和行为,并结合对象约束语言OCL对容错切面进行形式化描述,以保证平台的容错能力。所述的,其特征在于:所述基于面向切面编程AOP和冗余副本机制的容错模型工作过程如下:(I),OSGi模块及其冗余副本所形成的集群中的成员Member作为服务请求者发出服务请求;(2)、服务请求被拦截器Invocation Interceptor截获,并对服务请求进行统一控制和管理,包括初始化、身份验证、权限检查等;(3)、动态切面编织器Dynamic Aspects Weaver装载和解析为数据平台配置的容错策略FT Policy ;(4)、动态切面编织器在切面管理器Aspects Manager中匹配相关的切面,并将这些切面所含的逻辑织入相应模块,最终创建出代理模块;(5)、拦截器将服务请求转发至代理构件Dynamic Proxy ;(6)、代理构件根据服务请求调用原有模块的业务逻辑,并负责完成容错逻辑和其他非关键逻辑。所述的,其特征在于:所述电力数据平台中业务模块的分布式副本交互方法过程如下:(I )、使用UML的AOP扩展机制并结合对象约束语言0CL,将数据平台中各容错切面形式化描述为角色Role及属性Property的集合;(2)、将多个成员Member组成一个集群Group,并由状态同步切面StatusSynch作为交互协议,以描述其二者间的主题subject/观察者observer关系;(3)、以形式化的方式实现状态同步切面StatusSynch,内容包括成员加入/离开,状态返回/同步、各行为的先决/后置条件;(4)、切面管理器初始化状态同步切面StatusSynch,并依据策略文件中指定的信息织入指定的目标模块;(5)、由状态同步切面StatusSynch负责查找集群Group的上下文并完成状态同步等相关操作。本专利技术与现有的技术相比,具有如下优点:(I)、支持在设计阶段精确描述切面结构及软件副本间的交互行为;(2)、支持定量评价不同模块的被侵入性程度;(3)、提供了通用的基于现有平台和技术的编程级容错模型支持。【专利附图】【附图说明】图1为本专利技术的分布式非侵入容错模型示意图。图2为本专利技术的容错切面UML示意图。【具体实施方式】如图1、图2所示。,基于面向切面编程AOP和冗余副本机制的容错模型,通过切面分离、描述和织入环节,在数据平台运行时将容错切面所描述的容错逻辑动态编织到系统所含的业务逻辑之上,最终使得数据平台具备分布式环境下的容错能力;电力数据平台中业务模块的分布式副本交互方法,通过分析平台所含关键业务模块及其冗余副本与容错逻辑相关的结构和行为,并结合对象约束语言OCL对容错切面进行形式化描述,以保证平台的容错能力。基于面向切面编程AOP和冗余副本机制的容错模型工作过程如下:(I),OSGi模块及其冗余副本所形成的集群中的成员Member作为服务请求者发出服务请求;(2)、服务请求被拦截器Invocation Interceptor截获,并对服务请求进行统一控制和管理,包括初始化、身份验证、权限检查等;(3)、动态切面编织器Dynamic Aspects Weaver装载和解析为数据平台配置的容错策略FT Policy ;(4)、动态切面编织器在切面管理器Aspects Manager中匹配相关的切面,并将这些切面所含的逻辑织入相应模块,最终创建出代理模块;(5)、拦截器将服务请求转发至代理构件Dynamic Proxy ;(6)、代理构件根据服务请求调用原有模块的业务逻辑,并负责完成容错逻辑和其他非关键逻辑。电力数据平台中业务模块的分布式副本交互方法过程如下:(I )、使用UML的AOP扩展机制并结合对象约束语言0CL,将数据平台中各容错切面形式化描述为角色Role及属性Property的集合;(2)、将多个成员Member组成一个集群Group,并由状态同步切面StatusSynch作为交互协议,以描述其二者间的主题subject/观察者observer关系;(3)、以形式化的方式实现状态同步切面StatusSynch,内容包括成员加入/离开,状态返回/同步、各行为的先决/后置条件;(4)、切面管理器初始化状态同步切面StatusSynch,并依据策略文件中指定的信息织入指定的目标模块;(5)、由状态同步切面StatusSynch负责查找集群Group的上下文并完成状态同步等相关操作。如图1所示,本专利技术为一种通用电力数据平台的分布式容错切面描述和织入方法,方法以AOP (Aspect-Oriented Programming,面向切面编程)及冗余副本机制作为实现手段,通过在设计阶段将负载均衡、容错等非功能性逻辑抽取、刻画成为若干独立可管理的切面,并在运行时将其动态织入分布式通用电力数据平台中以保证平台服务质量,同时消除或降低开发人员对非业务逻辑的关注度要求,有效提升平台的可用性及可维护性。实施例1,目标OSGi Bundle的节点失效检测与副本自动切换。配置容错策略,将一定数量的成员节点加入到同一集群,各节点中的GroupManager实例通过StatusSynch切面和多播机制自动同步彼此的状态;访问目标节点上的Bundle服务,若超时,则主动轮询其余成员节点直至发现可用的Group Manager实例,并将访问请求分派至该实例所在节点的相应副本Bundle ;访问完成后更新其余节点的GroupManager的相关状态。【权利要求】1.,其特征在于:基于面向切面编程AOP和冗余副本机制的容错模型,通过切面分离、描述和织入环节,在数据平台运行时将容错切面所描述的容错逻辑动态编织到系统所含的业本文档来自技高网...

【技术保护点】
一种通用电力数据平台的分布式容错切面描述织入方法,其特征在于:基于面向切面编程AOP和冗余副本机制的容错模型,通过切面分离、描述和织入环节,在数据平台运行时将容错切面所描述的容错逻辑动态编织到系统所含的业务逻辑之上,最终使得数据平台具备分布式环境下的容错能力;?电力数据平台中业务模块的分布式副本交互方法,通过分析平台所含关键业务模块及其冗余副本与容错逻辑相关的结构和行为,并结合对象约束语言OCL对容错切面进行形式化描述,以保证平台的容错能力。

【技术特征摘要】

【专利技术属性】
技术研发人员:陈颖黄少伟胡平汪国武
申请(专利权)人:芜湖大学科技园发展有限公司
类型:发明
国别省市:

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

1