CN102073503B - 基于情境感知的网构软件演化方法 - Google Patents
基于情境感知的网构软件演化方法 Download PDFInfo
- Publication number
- CN102073503B CN102073503B CN 201110020844 CN201110020844A CN102073503B CN 102073503 B CN102073503 B CN 102073503B CN 201110020844 CN201110020844 CN 201110020844 CN 201110020844 A CN201110020844 A CN 201110020844A CN 102073503 B CN102073503 B CN 102073503B
- Authority
- CN
- China
- Prior art keywords
- service
- situation
- assembly
- evolution
- entities
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Stored Programmes (AREA)
Abstract
一种软件维护技术领域的基于情境感知的网构软件演化方法,通过构造互联网环境下服务的运行时情境;并根据服务的聚合关系确定情境变化的生产者和消费者,完成对所关注之情境变化的订阅;根据上述的生产者/消费者关系完成情境变化的发布;根据服务请求者明确的演化策略实施相应的动作,通过预定义的回调接口将选择的结果告知给服务请求者;服务请求者自主地进行调用关系的重定向,以完成面向网构软件的动态重组与演化。本发明在服务间初始聚合关系确定的情况下,解决了互联网环境中服务提供者运行时情境的获取和传播,以及根据情境变化和演化策略进行相关操作并告知服务请求者的一系列问题,实现了面向网构软件的应用系统动态演化。
Description
技术领域
本发明涉及的是一种软件维护技术领域的方法,具体是一种基于情境感知的网构软件演化方法。
背景技术
在互联网已成为主要的软件运行平台的情况下,利用互联网上多个自治的软件实体进行按需聚合以实现应用目标,已成为一个新的应用系统构造模式。网构软件的概念就是在这个背景下,由北京大学、南京大学等研究机构的学者提出的,目标是形成一种支持柔性可演化、连续反应式和适应多目标的软件构造和运行维护的新形态。
由于开放互联网环境下自治软件实体的运行质量不可控,使得跟踪实体运行的情境变化并据此驱动软件实体聚合关系的演化,以提高最终应用的服务质量变得十分迫切。因此,如何获取和传播服务提供者的运行时情境,如何基于情境的变化和服务请求者的需求,确定用于演化的软件实体和策略,并将这些信息反馈给服务的请求者,都是必须解决的问题。
经过对现有技术的检索发现,中国专利申请号01136385.1,记载了一种构件化软件的在线演化方法。通过引入构件的同步状态、截流状态和缓冲状态建立起构件的细粒度管理机制,利用构造新加载程序的方法,并借助于构件接口来进行构件重载,以实现在运行过程中进行构件的替换、增加和删除等操作。
进一步检索发现,中国专利申请号200410048128.1,记载了一种构件化软件中非功能特征组装方法,采用基于侧面的方法建立软件的体系结构,实现与构件相独立的、提供非功能特征的侧面,在建模阶段建立侧面和构件之间的关联描述,自动生成包括构件实现与侧面实现的可运行代码以及相应的部署描述符的软件包,并在运行阶段根据体系结构规约建立和调整构件实例和侧面实例之间的关联。
进一步检索发现,中国专利申请号200810207687.0,记载了一种基于体系结构的软件产品线演化方法。以统一的软件产品线体系结构与构件版本模型为基础,在体系结构和构件两个层面上实现统一、协调的产品线演化支持。
上述的方法主要关注软件实体的组装与集成方法,以及在演化策略和对象明确条件下实现在线重构的组装方法。没有涉及软件实体运行时情境的获取和传播,没有涉及在情境发生变化时如何确定备用的软件实体并告知服务请求者的方法。而在一个开放的环境下软件实体的实现技术和交互协议的选择权在用户手上,支撑系统根据这些信息确定服务提供者以完成应用聚合。然后只有在有能力监控服务提供者的情境变化,并将这一变化传播到服务请求者一端,由支撑系统进一步确定用于演化的实体对象和策略后,上述的在线组装和重构的方法才能发挥作用。
发明内容
本发明针对现有技术存在的上述不足,提供一种基于情境感知的网构软件演化方法,在服务的初始聚合关系确定的情况下,解决了互联网环境中服务提供者运行时情境的获取和传播,以及根据情境变化确定备用服务实体并告知服务请求者的相关问题,以支持面向网构软件的应用系统动态演化。
本发明是通过以下技术方案实现的,本发明包括以下步骤:
步骤一、构造互联网环境下服务的运行时情境;
步骤二、根据服务的聚合关系确定情境变化的生产者和消费者,并完成对所关注之情境变化的订阅;
步骤三、捕获运行时情境的变化,并根据上述的生产者/消费者关系完成情境变化的发布;
步骤四、根据服务请求者明确的演化策略实施相应的动作,当需要更新使用的服务实体时,通过预定义的回调接口将选择的结果告知给服务请求者;
步骤五、当备用的服务实体被选择和通告后,服务请求者自主地进行调用关系的重定向,以完成面向网构软件的动态重组与演化。
所述的服务运行时情境包括:服务的生命周期中的服务实体运行状态的转变、服务实体运行平台的负载变化以及网络连接状态的变化。
所述的聚合关系是指开放环境下服务实体间的调用与被调用的关系。
所述的情境变化的生产者是指提供服务的软件实体,消费者是指请求服务的软件实体。
所述的演化策略是指:在获得被发布的情境变化后服务请求者一端的支撑系统可以遵照实施的规则。
所述的动作包括:改变服务质量等级、设置服务状态、启动重新搜索、获取本地缓存的备选服务引用、告知某情境的当前值。
所述的回调接口是指:用于通知服务请求者关键情境的变化或者备选服务实体的引用的接口。
所述的调用关系的重定向是指:当产生了新的服务实体并进行了通告之后,服务请求者将应用逻辑中对原有服务提供者的调用改变为对备选服务实体的调用。
本发明提供的技术方案建立了互联网环境下服务运行时情境的构造方法,建立了服务请求者和提供者之间的基于情境的生产与消费关系,建立了情境信息的订阅与发布机制,建立了基于策略的演化机制,解决了互联网环境下服务情境的获取和传播问题,实现了面向网构软件的应用聚合关系的动态演化。本发明便于互联网资源的共享和复用,支持在线调整服务实体间的聚合关系,也有利于整体应用服务质量的提高。
附图说明
图1是本发明实施例1的方法示意图。
图2是本发明实施例2的工作原理示意图。
具体实施方式
下面对本发明的实施例作详细说明,本实施例在以本发明技术方案为前提下进行实施,给出了详细的实施方式和具体的操作过程,但本发明的保护范围不限于下述的实施例。
实施例1
如图1所示,图中:
①分析互联网服务实体的生命周期和所处的环境,给出其运行时情境规范。
②在服务实体注册时生成其本地的情境库实例。
③根据服务实体间的初始聚合关系确立情境变化的生产者与消费者,完成对所关心情境的订阅。
④当被订阅的情境发生变化时,向订阅者定向发布该情境变化。
⑤根据预设的演化策略实施相应的演化动作。
⑥将演化的结果通过回调接口告知服务请求者实体。
⑦服务请求者更新服务提供者的引用,完成服务调用的重定向。
实施例2
如图2所示,本实施例中包括三种不同角色的服务实体及其支撑平台,分别是服务提供者、服务请求者和备用服务提供者,他们通过互联网相连接。服务实体间通过其自身实现的互操作协议实施自主交互。支撑平台提供对基于情境的实体间聚合关系演化的支持,通过Web Service方式向服务实体提供调用接口。服务实体根据预设的定义按照自身的交互协议实现回调接口,支撑平台为此提供多协议支持。
所述的支撑平台包括:情境管理组件、服务注册组件、服务选择组件、规则生成组件、动态演化组件。其中服务注册组件与情境管理组件相连接以生成服务实体的本体情境库实例,服务选择组件与情境管理组件相连接以完成分布式的服务发现和服务运行情境的订阅,动态演化组件与情境管理组件相连接以获取订阅之情境的变化,动态演化组件与服务选择组件相连接以启动可能的备用服务发现,规则生成组件生成的演化规则集被动态演化组件所使用。
所述的情境管理组件负责生成和管理本地服务实体的运行时情境库,并提供服务实体状态的管理接口。同时服务请求者一端的情境管理组件负责订阅和接收远程服务提供者实体的运行时情境变化,在服务提供者一端则负责发布被订阅的情境变化。另外互联网上所有的情境管理组件构成了一个P2P覆盖网,提供分布式的服务发现。
所述的服务注册组件、服务选择组件、规则生成组件提供Web Service接口供服务实体调用。其中服务注册接收服务实体的注册请求,通过情境管理组件完成注册并生成本地运行情境库。服务选择组件接收服务实体或动态演化组件的服务选择请求,通过情境管理组件构成的P2P覆盖网完成服务发现,按照服务实体的要求选择匹配的服务提供者并完成对情境变化的订阅。规则生成组件接收服务实体的演化策略,生成用于动态演化的规则集合。
所述的动态演化组件根据获得的服务提供者情境变化,查找演化规则集合中匹配的规则执行。在产生了替代的服务提供者情况下,通过回调接口将新的服务提供者引用告知服务实体。
所述的服务实体的角色根据服务间的一对一调用关系确定,调用者是服务请求者,被调用者是服务提供者。一个服务实体可以同时具备请求者和提供者两种角色。
本实施例与现有技术相比,并不限制服务实体自身的实现技术与交互协议,大大增加了演化方法和支撑平台的适用范围。
Claims (8)
1.一种提供基于情境感知的网构软件演化方法支持的支撑平台,其特征在于,所述演化方法包括以下步骤:
步骤一、构造互联网环境下服务的运行时情境;
步骤二、根据服务的聚合关系确定情境变化的生产者和消费者,并完成对所关注之情境变化的订阅;
步骤三、捕获运行时情境的变化,并根据上述的生产者/消费者关系完成情境变化的发布;
步骤四、根据服务请求者明确的演化策略实施相应的动作,当需要更新使用的服务实体时,通过预定义的回调接口将选择的结果告知给服务请求者;
步骤五、当备用的服务实体被选择和通告后,服务请求者自主地进行调用关系的重定向,以完成面向网构软件的动态重组与演化;
所述的支撑平台通过Web Service方式向服务实体提供调用接口,包括:情境管理组件、服务注册组件、服务选择组件、规则生成组件、动态演化组件;其中服务注册组件与情境管理组件相连接以生成服务实体的本体情境库实例,服务选择组件与情境管理组件相连接以完成分布式的服务发现和服务运行情境的订阅,动态演化组件与情境管理组件相连接以获取订阅之情境的变化,动态演化组件与服务选择组件相连接以启动可能的备用服务发现,规则生成组件生成的演化规则集被动态演化组件所使用;
所述的情境管理组件负责生成和管理本地服务实体的运行时情境库,并提供服务实体状态的管理接口;同时服务请求者一端的情境管理组件负责订阅和接收远程服务提供者实体的运行时情境变化,在服务提供者一端则负责发布被订阅的情境变化;另外互联网上所有的情境管理组件构成了一个P2P覆盖网,提供分布式的服务发现;
所述的服务注册组件、服务选择组件、规则生成组件提供Web Service接口供服务实体调用;其中服务注册接收服务实体的注册请求,通过情境管理组件完成注册并生成本地运行情境库;服务选择组件接收服务实体或动态演化组件的服务选择请求,通过情境管理组件构成的P2P覆盖网完成服务发现,按照服务实体的要求选择匹配的服务提供者并完成对情境变化的订阅;规则生成组件接收服务实体的演化策略,生成用于动态演化的规则集合;
所述的动态演化组件根据获得的服务提供者情境变化,查找演化规则集合中匹配的规则执行;在产生了替代的服务提供者情况下,通过回调接口将新的服务提供者引用告知服务实体;
所述的服务实体的角色根据服务间的一对一调用关系确定,调用者是服务请求者,被调用者是服务提供者;一个服务实体可以同时具备请求者和提供者两种角色。
2.根据权利要求1所述的支撑平台,其特征是,所述的服务运行时情境包括:服务的生命周期中的服务实体运行状态的转变、服务实体运行平台的负载变化以及网络连接状态的变化。
3.根据权利要求1 所述的支撑平台,其特征是,所述的聚合关系是指开放环境下服务实体间的调用与被调用的关系。
4.根据权利要求1 所述的支撑平台,其特征是,所述的情境变化的生产者是指提供服务的软件实体,消费者是指请求服务的软件实体。
5.根据权利要求1 所述的支撑平台,其特征是,所述的演化策略是指:在获得被发布的情境变化后服务请求者一端的支撑系统可以遵照实施的规则。
6.根据权利要求1或5所述的支撑平台,其特征是,所述的动作包括:改变服务质量等级、设置服务状态、启动重新搜索、获取本地缓存的备选服务引用、告知某情境的当前值。
7.根据权利要求1 所述的支撑平台,其特征是,所述的回调接口是指:用于通知服务请求者关键情境的变化或者备选服务实体的引用的接口。
8.根据权利要求1 所述的支撑平台,其特征是,所述的调用关系的重定向是指:当产生了新的服务实体并进行了通告之后,服务请求者将应用逻辑中对原有服务提供者的调用改变为对备选服务实体的调用。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201110020844 CN102073503B (zh) | 2011-01-19 | 2011-01-19 | 基于情境感知的网构软件演化方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201110020844 CN102073503B (zh) | 2011-01-19 | 2011-01-19 | 基于情境感知的网构软件演化方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102073503A CN102073503A (zh) | 2011-05-25 |
CN102073503B true CN102073503B (zh) | 2013-08-21 |
Family
ID=44032049
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 201110020844 Expired - Fee Related CN102073503B (zh) | 2011-01-19 | 2011-01-19 | 基于情境感知的网构软件演化方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102073503B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103164224B (zh) * | 2013-03-12 | 2015-12-23 | 中国科学院软件研究所 | 一种用于网构软件体系结构演化的分层情境感知方法 |
CN103164225B (zh) * | 2013-03-12 | 2015-12-23 | 中国科学院软件研究所 | 一种基于超图的网构软件体系结构在线演化方法 |
CN104468203A (zh) * | 2014-11-26 | 2015-03-25 | 上海斐讯数据通信技术有限公司 | 交换机聚合组中端口故障切换的配置方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101094223A (zh) * | 2006-06-23 | 2007-12-26 | 国际商业机器公司 | 在面向服务体系结构系统的服务模型中排布策略的方法和装置 |
CN101242421A (zh) * | 2008-03-19 | 2008-08-13 | 中国科学院计算技术研究所 | 多层nat环境下面向应用的名字注册系统及其服务方法 |
CN101308463A (zh) * | 2008-06-13 | 2008-11-19 | 南京邮电大学 | 网格环境内面向代理编程计算任务的自适应方法 |
CN101882290A (zh) * | 2010-07-14 | 2010-11-10 | 上海交通大学 | 互联网环境下基于情境本体的服务集成方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FI20010123A (fi) * | 2001-01-22 | 2002-07-23 | Nokia Corp | Dynaaminen palveluarkkitehtuuri |
-
2011
- 2011-01-19 CN CN 201110020844 patent/CN102073503B/zh not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101094223A (zh) * | 2006-06-23 | 2007-12-26 | 国际商业机器公司 | 在面向服务体系结构系统的服务模型中排布策略的方法和装置 |
CN101242421A (zh) * | 2008-03-19 | 2008-08-13 | 中国科学院计算技术研究所 | 多层nat环境下面向应用的名字注册系统及其服务方法 |
CN101308463A (zh) * | 2008-06-13 | 2008-11-19 | 南京邮电大学 | 网格环境内面向代理编程计算任务的自适应方法 |
CN101882290A (zh) * | 2010-07-14 | 2010-11-10 | 上海交通大学 | 互联网环境下基于情境本体的服务集成方法 |
Also Published As
Publication number | Publication date |
---|---|
CN102073503A (zh) | 2011-05-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103607446B (zh) | 智能家居云控制系统 | |
CN102257800B (zh) | 用于将业务规则管理系统与交互管理系统集成的方法和系统 | |
US8937456B2 (en) | Real time system and method for optimizing and managing a load in an electrical grid | |
CN102215266B (zh) | 持久化服务的实现方法及持久化服务系统 | |
CN102073503B (zh) | 基于情境感知的网构软件演化方法 | |
CN104322011A (zh) | 连通性服务编排器 | |
CN102262567A (zh) | 虚拟机调度决策的系统、平台及方法 | |
CN101820428A (zh) | 基于协议组合机制的组合服务优化方法和装置 | |
CN102567106A (zh) | 任务调度方法、系统和装置 | |
CN101686173A (zh) | 一种业务协商方法、系统和设备 | |
CN104427398A (zh) | 一种智能电网交互电视播控平台 | |
CN108737536B (zh) | 一种区块链系统的实现方法、装置、设备和存储介质 | |
CN105404530B (zh) | 一种实现简易部署和使用私有云的系统及方法 | |
CN101540776A (zh) | 一种支持自适应调度的网格中间件系统 | |
CN103828300B (zh) | 逻辑交付点到物理交付点的电信信息网络架构式映射系统 | |
CN114201294A (zh) | 一种任务处理方法、装置、系统、电子设备及存储介质 | |
CN103581141A (zh) | 内容发布系统及其内容发布方法 | |
CN100488113C (zh) | 一种网格环境下事件驱动的动态服务组合方法 | |
US9693318B1 (en) | Multi-protocol load control | |
Rincon et al. | A novel collaboration paradigm for reducing energy consumption and carbon dioxide emissions in data centres | |
JP2015116039A (ja) | 上位管理装置、下位管理装置、電力消費管理システム、電力消費管理方法および電力消費管理プログラム | |
CN103679493A (zh) | 一种基于云计算的crm与电话营销系统 | |
CN102929605A (zh) | 一种基于云计算的数据挖掘系统开放接口 | |
CN103281343B (zh) | 一种基于代理机制的通用历史数据服务的实现方法 | |
CN101859249B (zh) | 实现带有人工任务的自动流程的方法、装置及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20130821 Termination date: 20160119 |
|
EXPY | Termination of patent right or utility model |