发明名称 构件化软件的在线演化方法
摘要 本发明公开了一种构件化软件的在线演化方法。本发明的方法是通过引入构件的同步状态、截流状态和缓冲状态建立起构件的细粒度管理机制,在此基础上利用构造新加载程序的方法,并借助于构件接口来进行构件重载,从而实现在软件的运行过程中进行构件的替换、增加、删除等操作,达到在线增加服务内容、优化服务流程、消除系统缺陷、提高响应时间的效果,从而大大提高软件系统的服务质量。
申请公布号 CN1130628C 申请公布日期 2003.12.10
申请号 CN01136385.1 申请日期 2001.10.12
申请人 北京大学 发明人 王千祥;杨芙清;梅宏
分类号 G06F9/445 主分类号 G06F9/445
代理机构 北京君尚知识产权代理事务所 代理人 余长江
主权项 1.构件化软件的在线演化方法,其特征在于,除了管理一般的构件生命周期状态外,通过引入构件的同步状态、截流状态和缓冲状态建立起对构件进行细粒度管理的机制,在此基础上,借助于构件接口来进行构件的重载,即:每一个构件有一个对应的构件接口,加载过程区分构件的接口与构件的具体实现,其中接口在系统演化过程中是不变的,变化的是实现构件功能的具体对象,当需要重新加载构件时,首先加载新的构件实现体,并以该构件为模板创建构件实例;然后利用请求路由控制机制和请求缓冲控制机制二者之一或二者结合将系统中其他模块所引用的构件定向到新构件实现上;所述请求路由控制机制是指:请求路由最初是指向老构件的,在替换构件时,如果老构件未处于服务状态或者执行状态,则直接将请求路由进行修改,使其指向新构件;如果老构件处于服务状态,则将新构件设置为同步状态,建立起老构件的环境与属性,然后修改路由,由新构件接替老构件的当前服务;如果老构件处于执行状态,则等待其执行结束后进行同步,此时新构件可以接受新的服务过程,但不能接收正在服务的某个新请求,当老构件正在执行的所有过程全部完成后将请求路由完全映射到新构件上;所述请求缓冲控制机制是指:请求在底层是一个基于互操作协议的消息包,与每个构件对应的构件容器上可以缓存这些消息包,当进行在线演化时,通过结合底层的通信机制以及底层的线程管理机制,对部分请求进行临时缓存,实现请求的缓冲,从而缓冲来自客户的请求,待新老构件切换完毕时,再将这些消息继续向构件传送,以可以接受的响应时间延迟换取演化的可靠性。
地址 100871北京市海淀区颐和园路5号