【技术实现步骤摘要】
本专利技术涉及一种基于事务的构件在线演化技术,属于软件维护
技术介绍
软件构件作为一种可以复用、组装的软件资源,能够降低软件系统的开发成本,缩 短软件产品推向市场的时间,因此被广泛地用来构建应用系统。同时,一些关键领域的软件 系统要求提供不间断的服务,对这些软件系统中构件进行升级演化必须在不中断运行系统 的前提下进行,即在线演化。现有的软件构件技术一般不支持在线演化,只有少数的构件技术支持在线演化, 但其演化过程只考虑单个构件的状态,缺乏对多个构件之间事务状态的考察。为此,本专利技术 基于相关的多个构件之间的事务关系,专门提出一种构件在线演化方法,该方法在支持构 件在线演化的同时,应用事务通信算法,能够保障更新过程的系统一致性。
技术实现思路
本专利技术所要解决的技术问题是在系统不间断运行的需求下,提供一种构件在线演 化的方法,使得系统不需要暂停服务既可以更新功能,同时保障这一演化过程不会对业务 过程不产生破坏性效果。本专利技术所述的基于事务的构件在线演化方法,它包含以下步骤1) 构件部署器首先将构件部署到支持在线演化的构件容器(DUC)中,该构件容器在 ...
【技术保护点】
一种基于事务的构件在线演化方法,其特征在于它包含以下步骤:1)构件部署器首先将构件部署到支持在线演化的构件容器,即DUC中,该DUC在构件实例基础上增加了演化管理器、通信器、依赖管理器以及事务管理器部件,以支持构件动态演化;2)构件管理器向DUC发送演化命令,DUC负责实施演化行为;3)DUC向构件管理器返回演化结果。
【技术特征摘要】
一种基于事务的构件在线演化方法,其特征在于它包含以下步骤1)构件部署器首先将构件部署到支持在线演化的构件容器,即DUC中,该DUC在构件实例基础上增加了演化管理器、通信器、依赖管理器以及事务管理器部件,以支持构件动态演化; 2)构件管理器向DUC发送演化命令,DUC负责实施演化行为;3)DUC向构件管理器返回演化结果。2.根据权利要求1所述的基于事务的构件在线演化方法,其特征在于步骤1)中构件部 署器部署构件的具体步骤包括1. 1)解析构件部署信息,生成DUC,为其配置各种服务;1. 2)解析构件的事务元信息,生成事务管理器并对事务管理器进行初始化,事务管理 器在初始化时根据事务元信息生成一个随着构件的执行会进行状态自动跳转的事务状态 机,事务状态机中包含若干不同的事务状态以及事务状态之间跳转的条件,每一个事务状 态包含了一个一致性事务列表,该列表包含构件在此状态之前和之后都要使用的其他构件 服务的接口;1. 3)初始化依赖管理器,并根据构件所依赖的接口将自己的构件对象注册到其所依赖 构件的依赖管理器中;1.4)初始化通信器,由通信器构造一个用于存储被封锁调用的调用列表,包含时间和 调用类型的对象。3.根据权利要求1所述的基于事务的构件在线演化方法,其特征在于步骤2)DUC实施 演化行为的过程为2.1 )DUC将演化命令交给演化管理器,演化管理器收到演化命令之后,首先查询依赖管 理器,获取当前系统中所有需要此演化构件提供服务的依赖构件列表;2. 2)演化管理器判断依赖构件列表是否为空,是则转到2. 7),否则转到2. 3);2. 3)演化管理器向演化构件与依赖构件的通信器发送封锁命令,通信器收到封锁命令 后对于所有对构件的请求调用,获取其调用时间,将时间和调用对象存进封锁调用列表;2. 4)演化管理器判断演化构件是否达到事务一致状态,如果是则转到2. 7),否则转到 2. 5);2. 5)演化管理器判断演化构件与依赖构件的通信器中存储封锁调用的列表是否都为 空,是的话等待一定时间,转到2. 4),否则转到2. 6);2. 6)演化管理器从演化构件与依赖构件的通信器存储封锁调用的列表中取一个最早 被封锁的调用执行,转到2. 4);2. 7)演化管理器向...
【专利技术属性】
技术研发人员:曹春,马晓星,吕建,
申请(专利权)人:南京大学,
类型:发明
国别省市:84[中国|南京]
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。