CN101789938A - 可重构软件中基于代理的组件生成方法 - Google Patents
可重构软件中基于代理的组件生成方法 Download PDFInfo
- Publication number
- CN101789938A CN101789938A CN201010034037A CN201010034037A CN101789938A CN 101789938 A CN101789938 A CN 101789938A CN 201010034037 A CN201010034037 A CN 201010034037A CN 201010034037 A CN201010034037 A CN 201010034037A CN 101789938 A CN101789938 A CN 101789938A
- Authority
- CN
- China
- Prior art keywords
- message
- component
- socket
- administration module
- address
- 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.)
- Granted
Links
Images
Landscapes
- Stored Programmes (AREA)
Abstract
可重构软件中基于代理的组件生成方法,属于可重构网络技术的领域,其特征在于,在可重构路由交换平台中设置:构件交互管理模块,用于管理构件连接拓扑结构、接收构件注册和注销、转发构件信息、监视构件运行状态、向构件发送控制消息以及维护构件连接动态变化,以实现构件之间的交互和构件的组装管理;构件间通信模块,设有地址映射表,以便于为构件找到对应的目的构件的通信地址,还设有监听socket端口,此后,再依次执行:初始化可重构路由交换平台,生成组件的步骤。本发明具有软件耦合程度低,集成性好,代码重用度高的优点。
Description
所属技术领域
可重构软件中基于代理的组件生成方法,属于可重构网络研究领域。
背景技术
面向服务提供的新型网络技术体系是未来互联网发展的可行思路,实现面向服务提供的新型网络技术体系的关键是研究开放式可重构路由交换节点的技术。
可重构路由交换开发环境的体系结构如图1所示。其中定义处理的三个等级——平台、组件和构件,平台是可重构完成多种任务的系统,组件是可重构实现特定功能的单元,构件是可重构实施给定处理的模块。
本文提出基于代理的组件生成方法是应用于路由器软件的,主要是为了解决路由器的软件可剪裁与可重用的问题,其主要流程如图2所示。由于当前的路由器厂家的路由器产品都是分系列的,高端路由器使用的是高成本的高端硬件,性能好,处理能力强;低端路由器反之。这样就使得高端路由器能够有能力运行功能完善但复杂度稍高的软件版本,但低端路由器就只能运行功能相对较少同时复杂度低的软件。但是,路由器开发者针对不同的路由器硬件平台重新开发不同的路由器软件会耗费大量的人力物力。因此迫切的需要有一种方法能够使得软件的耦合度低,剪裁性好,代码的重用度高。本发明提出的基于代理的组件生成方法就可以达到本目的。生成的组件可参考图5。
本发明以已授权专利“可重构路由器软件中路由协议构件生成方法”为基础,“可重构路由器软件中路由协议构件生成方法”中已经详细描述了如何用路由器中各个模块生成相应的构件。
发明内容
本发明的目的在于:
提出基于代理的组件生成方法,主要是为了解决路由器软件可剪裁与可重用的问题,减少大量重复代码的编写工作。
本发明的特征在于:
所述方法是一种路由转发组件生成方法,是在可重构路由交换平台中依照以下步骤实现的:
步骤(1):初始化可重构路由交换平台
设定:操作系统支持TCP/IP协议,支持套接字Socket通信方式,所述套接字包括网关的IP地址和端口号,
定义:构件,是实施给定处理的模块,用于处理特定类型的消息,设有一个输入端口,接受若干类型的消息,设有若干输出端口,每个输出端口只输出一类设定类型的消息,所述消息用XML语言描述,至少包括:包括构件名称和版本号在内的基本信息,输出端口和输入端口,
组件,由构件连接而成,是能实现特定功能的单元,其中:
构件之间交互的消息的格式,至少包括:消息ID来唯一识别消息的类型,发送者标识,接收者标识和消息长度,所述消息类型分为:预留消息和用户自定义消息,预留消息是根据路由器领域特性预先定义的一系列消息,其中包含了路由器控制层构件之间的交互消息和路由协议构件向路由管理构件发送的添加路由消息、构件注册注销消息在内的一部分公用的消息;用户自定义消息是用户根据消息格式要求新创建的消息类型,
构件之间的交互过程是一个“发送消息-接收消息-执行操作”的过程,
构件之间的连接关系用XML语言描述,至少包括:源构件,源构件输出端口号,目标构件,
设定:构件交互管理模块和构件间通信模块,所述构件交互管理模块,用Agent表示,用于管理构件连接拓扑结构、接收构件注册和注销、转发构件信息、监视构件运行状态、向构件发送控制消息以及维护构件连接动态变化,以实现构件之间的交互和构件的组装管理;所述构件间通信模块,用AgentClient表示,设有地址映射表,以便于为构件找到对应的目的构件的通信地址,还设有监听Socket端口;
步骤(2):依次按以下步骤生成组件:
步骤(2.1):构件交互管理模块初始化,步骤如下:
步骤(2.1.1):从外部读取XML文件形式的构件连接拓扑结构,形成构件连接拓扑结构数据库,并保存,
步骤(2.1.2):初始化套接字Socket:
步骤(2.1.2.1):开启套接字Socket服务,
步骤(2.1.2.2):创建监听Socket描述符,
步骤(2.1.2.3):绑定本地地址和端口号到所述监听套接字Socket,并显示,
步骤(2.2):对用户需要的构件进行初始化
步骤(2.2.1):获取构件定义信息:基本信息、输出端口号和输入端口号,
步骤(2.2.2):初始化所述用户需要的构件的监听套接字Socket,并绑定本地IP地址和socket端口,
步骤(2.3):构件注册
步骤(2.3.1):所述构件间通信模块Agent Client获取所述构件自身所在机器的IP地址和套接字socket监听端口号,据此构造注册消息,将构件ID、自身IP地址和监听端口号写入消息字符串,
步骤(2.3.2):把所述注册信息发送给所述构件交互管理模块Agent,
步骤(2.3.3):所述构件交互管理模块检查构件的“可接收消息类型”是否与连接拓扑结构中的连接有冲突,若有则拒绝注册,若无冲突,可执行步骤(2.3.4),
步骤(2.3.4):所述构件交互管理模块所述连接拓扑结构数据库中找到所有需要向步骤(2.3)中新注册的构件发送消息的构件,向每一个找到的构件转发新注册构件的信息,其中包含通信地址信息,
步骤(2.3.5):所述构件交互管理模块在所述连接拓扑结构数据库中找到所有需要接收所述新注册构件消息的构件,对于每一个找到的构件,若是已经注册了,则将它的通信地址信息发送给新注册构件,
步骤(2.3.6):所述构件交互管理模块向所述新注册的构件发送注册反馈信息,其中包含了多个与所述新注册构件相连的构件的详细信息:ID号、IP地址、套接字Socket端口号、所述新注册构件与之连接的输出端口号以及输入端口号,
步骤(2.3.7):所述新注册构件收到注册反馈信息后,对每个与之连接的构件的详细信息,所述构件间通信模块Agent Client做如下处理:读取输出端口号,找到相应的输出端口的地址映射表项,将远端构件的ID、Socket地址等信息添加到该地址映射表项中,
步骤(2.3.8):所述构件交互管理模块更新已注册构件数据库。
构件间按以下步骤进行通信:
步骤(2-1):发送消息:发送构件指定一个输出端口,所述构件间通信模块根据所述地址映射表,向与所述的指定端口相连的目的构件的输入端口都发送一个消息,
步骤(2-2):接收消息:所述构件间的通信模块通过套接字socket端口监听连接请求,如有连接请求则接收连接并接收消息,将接收到的消息放在消息队列中,以便构件处理。
按以下步骤维护构件:
步骤(3-1):在每个定时周期内,所述构件交互管理模块向已经注册的构件发送心跳信号,
步骤(3-2):若超时未能收到回复信号,则发送一个注销命令给所述没有回复的构件,再按步骤(4-1)到步骤(4-6)所述的构件注销处理。
按以下步骤注销构件:
步骤(4-1):构件向所述构件交互管理模块发送注销信息,
步骤(4-2):所述构件交互管理模块检查步骤(4-1)中的构件是否已注册,若没有注册,则不作处理,若已注册,则进行步骤(4-3),
步骤(4-3):所述构件交互管理模块在所述连接拓扑结构数据库中找到所有需要向所述注销构件发送消息的构件,对于每一个找到已注册构件转发步骤(4-1)所述的请求注销构件的注册信息,
步骤(4-4):所述构件交互管理模块在所述连接拓扑结构数据库中找到所有需要接收所述注销构件消息的构件,对于每一个找到已注册构件转发步骤(4-1)所述的请求注销构件的注册信息,
步骤(4-5):在步骤(4-3)或步骤(4-4)中所述的收到了注销信息的构件中进行如下处理:读取所述注销信息中构件的输出端口号,找到相应的输出端口的地址映射表,遍历所述地址映射表,根据所述请求注销构件ID号,删除其相关地址节点,
步骤(4-6):所述构件交互管理模块更新所述连接拓扑结构数据库。
按以下步骤添加构件:
步骤(5-1):在所述XML文件形式的构件连接拓扑结构配置文件中增加命令指定添加的新构件及其连接关系,
步骤(5-2):新构件启动运行,
步骤(5-3):所述构件交互管理模块接收新构件注册,按照步骤(2.3)所述的注册流程处理。
按以下步骤删除构件:
步骤(6-1):所述构件交互管理模块在接受删除命令后,向要删除的构件发送注销消息,
步骤(6-2):所述构件交互管理模块接收构件注销请求,按照步骤(4-1)~步骤(4.6)所述的注销流程处理,
步骤(6-3):更新XML文件形式的构件连接拓扑结构,去掉所有与删除了的构件的相关信息。
本发明的优点在于:
此专利在由构件生成组件的过程中,具有耦合程度低,集成性好,代码重用度高的优点。开发组件的周期比较短。
附图说明
图1是可重构路由交换开发环境的体系结构。
图2是可重构软件中基于代理的组件生成方法的主要流程。
图3是构件示意图。
图4是构件描述。
图5是组件示意图。
图6是构件连接模型。
图7是构件双向交互过程。
图8是构件的一对多和多对一连接。
图9是组件中构件连接关系描述。
具体实施方式
基于构件交互的组件生成方法,在可重构软件开发环境下,依据以下步骤实现:
步骤(1):组件的描述;
基于构件的组件生成,需要对组件中的构件,组件的环境,组件中的构件之间的接口,组件中的构件之间的交互过程,组件中构件的连接关系进行描述。
步骤(1.1):构件的描述;
路由器软件构件是一个可以独立地部署的功能单元,其模型如图3所示。构件通过接口向外提供服务,在运行时具体表现为一个进程(单线程进程)。构件是一个消息处理模块,能处理特定类型的消息,通过接口与外界交互,接口包括:一个输入端口,若干个输出端口。输入端口可接收若干种类型的消息,就是构件能够处理的消息,每个输出端口只可以输出一种特定类型的消息。构件之间交互采用基于消息驱动的异步方式,服务请求者构件只管发送消息,服务提供者构件接收并处理消息,构件不提供基于函数调用的接口。
构件定义的描述使用XML语言,如图4所示,描述的内容包括必要描述、可选描述等,一般包括以下方面:
基本信息描述(名称、版本号等)
出端口描述
进端口描述
步骤(1.2):组件环境的描述;
此处环境指组件所处的大的软件环境。
本专利提出的基于构件交互的组件生成方法,要求操作系统支持TCP/IP协议,支持套接字socket通信方式。
步骤(1.3):组件中的构件之间的接口的描述;
组件中的构件接口描述需要描述所构造的组件内部所包含的构件间的接口。以便构件灵活组成组件,实现构件的可替换与可重构。
构件之间交互的信息为消息,消息由消息头部和消息体构成。消息头部具有统一格式,主要包含消息的类型、发送者标识、接收者标识和消息长度等;消息体携带具体的参数,参数的个数可变,消息体长度可变。消息的类型以消息ID来唯一识别,其类型分为两大类:预留的消息和用户自定义的消息。预留的消息是根据路由器领域特性预先定义的一系列消息,这些消息包含了大部分常见的路由器控制层构件之间的交互消息和一些公用的消息,比如路由协议构件向路由管理构件发送的添加路由消息、构件注册注销消息等;用户自定义消息是用户根据消息格式要求新创建的消息类型。
构件之间的连接依赖于消息,只有端口互相兼容的两个构件才能连接,也就是只要服务请求者构件的输出端口的消息能被服务提供者构件的输入端口接收,则两者能够连接。构件之间是基于消息流的单向连接。如图6,构件1的输出端口1和2能输出的消息类型分别是MSG_TYPE_X和MSG_TYPE_Y,而构件2输入端口能接收处理的消息类型是MSG_TYPE_X和MSG_TYPE_Z。因此它们之间只有构件1输出端口1到构件2的连接是合法的。
步骤(1.4):组件中的构件之间的交互过程的描述;
如图7所示,构件间的交互过程是一个“发送消息-接收消息-执行操作”的过程。一个完整的交互过程可能是一次单向的消息发送,也可能是两次单向的消息发送,也就是可以没有返回结果,也可以有返回结果。
步骤(1.5):组件中构件的连接关系的描述;
因为连接不依赖于具体构件,构件的每个端口可以连接多个构件,如图8所示。
构件连接关系用XML语言描述,如图9所示,主要描述的内容是:
各个构件名与构件ID的映射
源构件(具有唯一性的构件ID)
源构件出端口号
目标构件(具有唯一性的构件ID)
描述的格式参见组件中构件连接关系描述。
步骤(2):将多个构件连接成组件;
步骤(2.1):Agent初始化;
步骤(2.1.1):读取构件连接拓扑结构(XML文件),并保存;
步骤(2.1.2):初始化Socket,包括以下步骤:
1)开启socket服务;
2)创建监听socket描述符;
3)绑定本地地址到监听socket,地址和端口由系统自定分配;
4)获取绑定的ip地址和端口并打印显示;
步骤(2.2):构件初始化;
步骤(2.2.1):获取构件定义信息;
步骤(2.2.2):初始化构件监听socket,并绑定本地IP地址和socket端口;
步骤(2.3):构件注册;
步骤(2.3.1):Agent Client获取构件自身所在机器的IP地址和socket监听端口号;
步骤(2.3.2):Agent Client构造注册消息,将构件ID、自身IP地址和监听端口号写入消息字符串;
步骤(2.3.3):Agent Client向Agent发送注册消息,将构件的相关信息告诉Agent。
步骤(2.3.4):Agent检查构件的“可接收消息类型”是否与构件连接拓扑结构中的连接有冲突,若有则拒绝注册;
步骤(2.3.5):Agent在连接拓扑结构数据库中找到所有需要向此构件发送消息的构件,对于每一个找到的构件,若是已经注册了,则向它转发新注册构件的信息,包含了新注册构件的通信地址信息;
步骤(2.3.6):Agent在连接拓扑结构数据库中找到所有需要接收此构件消息的构件,对于每一个找到的构件,若是已经注册了,则将它的通信地址信息发送给新注册构件;
步骤(2.3.7):Agent向构件发送注册反馈消息,消息中包含了多个与本构件相连的构件的详细信息:ID号、IP地址、socket监听端口号、本构件与之连接的输出端口号、与跟构件相连的输入端口号;
步骤(2.3.8):构件收到注册反馈信息后,对反馈信息中的每个与之连接的构件的详细信息做如下处理:
1)读取输出端口号;
2)找到相应于输出端口的地址映射表;
3)将与之连接构件的ID、套接字socket地址等信息添加到地址映射表中;
步骤(2.3.9):Agent更新已注册构件数据库。
步骤(2.4):构件间进行通信;
构件通过发送、接收消息进行通信:
◆发送消息:构件通过Agent Client发送消息。构件发送消息时只指定输出端口号,Agent Client通过地址映射表为构件找到对应的目的构件的通信地址。因为一个输出端口可能连接了多个构件,所以地址映射表中一个端口可能有多个对应的目的构件通信地址,发送时要向每个目的构件都发送一个消息。
◆接收消息:构件通过Agent Client接受消息。Agent Client监听socket端口,如果有连接请求则接收连接并接收消息,将接收到的消息经过预处理后放在消息队列中等待构件处理,构件处理消息的步骤如下:
1)取得消息类型;
2)进行消息的预处理,处理跟构件业务无关而只跟构件管理相关的的消息;
3)处理构件业务相关的消息;
步骤(3):维护组件;
组件维护是一个长期的、动态的过程,主要内容包括对组件运行状态的监视和组件体系结构的动态变化。
步骤(3.1):组件运行状态监视;
步骤(3.1.1):Agent设定一个定时器;
步骤(3.1.2):每个定时周期内,Agent向已经注册的构件发送心跳信号;
步骤(3.1.3):Agent设定一个超时计时器;
步骤(3.1.4):若计时器超时,但Agent未能收到回复信号,说明此构件可能已经意外停止运行,则按构件注销处理。
步骤(3.2):组件体系结构的动态变化;
组件体系结构的动态变化包括增加、删除、替换构件,它们共同的基础是构件注销。
◆构件注销的步骤如下:
1)构件向Agent发送注销信息;
2)Agent检查构件的是否已注册,若没有注册,则忽略此消息;
3)Agent在连接拓扑结构数据库中找到所有需要向此构件发送消息的构件,对于每一个找到的构件,若是已经注册了,则向它转发请求构件的注销信息;
4)Agent在连接拓扑结构数据库中找到所有需要接收此构件消息的构件,对于每一个找到的构件,若是已经注册了,则将注销信息发送给它;
5)构件收到某个注销信息时,要做如下处理:
读取注销信息中构件的输出端口号;
找到相应的输出端口的地址映射表;
遍历地址映射表,若是刚注册构件的id已经在映射表中存在,则删除其相关地址节点;
6)Agent更新已注册构件数据库。
◆增加构件的步骤如下:
1)在XML文件形式的构件连接拓扑结构配置文件中增加命令指定添加的新构件及其连接关系;
2)新构件启动运行;
3)接收新构件注册,按照注册流程处理。
◆删除构件的步骤如下:
1)Agent接受删除命令;
2)Agent向构件发送注销消息;
3)接收构件注销请求,按照注销流程处理;
4)在XML文件形式的构件连接拓扑结构配置文件中,去掉所有与删除了的构件的相关信息。
◆替换构件的步骤如下:
1)Agent接受替换命令;
2)Agent向构件发送注销命令消息,按照注销流程处理;
3)运行新构件;
4)接收注册请求,按照注册流程处理;
5)更新拓扑结构并保存到配置文件。
严格按上面的步骤执行以后,就可以得到一个组件。
Claims (6)
1.可重构软件中基于代理的组件生成方法,其特征在于,是在可重构路由交换平台中依照以下步骤实现的:
步骤(1):初始化可重构路由交换平台
设定:操作系统支持TCP/IP协议,支持套接字Socket通信方式,所述套接字包括网关的IP地址和端口号,
定义:构件,是实施给定处理的模块,用于处理特定类型的消息,设有一个输入端口,接受若干类型的消息,设有若干输出端口,每个输出端口只输出一类设定类型的消息,所述消息用XML语言描述,至少包括:包括构件名称和版本号在内的基本信息,输出端口和输入端口,
组件,由构件连接而成,是能实现特定功能的单元,其中:
构件之间交互的消息的格式,至少包括:消息ID来唯一识别消息的类型,发送者标识,接收者标识和消息长度,所述消息类型分为:预留消息和用户自定义消息,预留消息是根据路由器领域特性预先定义的一系列消息,其中包含了路由器控制层构件之间的交互消息和路由协议构件向路由管理构件发送的添加路由消息、构件注册注销消息在内的一部分公用的消息;用户自定义消息是用户根据消息格式要求新创建的消息类型,
构件之间的交互过程是一个“发送消息-接收消息-执行操作”的过程,
构件之间的连接关系用XML语言描述,至少包括:源构件,源构件输出端口号,目标构件,
设定:构件交互管理模块和构件间通信模块,所述构件交互管理模块,用Agent表示,用于管理构件连接拓扑结构、接收构件注册和注销、转发构件信息、监视构件运行状态、向构件发送控制消息以及维护构件连接动态变化,以实现构件之间的交互和构件的组装管理;所述构件间通信模块,用AgentClient表示,设有地址映射表,以便于为构件找到对应的目的构件的通信地址,还设有监听Socket端口;
步骤(2):依次按以下步骤生成组件:
步骤(2.1):构件交互管理模块初始化,步骤如下:
步骤(2.1.1):从外部读取XML文件形式的构件连接拓扑结构,形成构件连接拓扑结构数据库,并保存,
步骤(2.1.2):初始化套接字Socket:
步骤(2.1.2.1):开启套接字Socket服务,
步骤(2.1.2.2):创建监听Socket描述符,
步骤(2.1.2.3):绑定本地地址和端口号到所述监听套接字Socket,并显示,
步骤(2.2):对用户需要的构件进行初始化
步骤(2.2.1):获取构件定义信息:基本信息、输出端口号和输入端口号,
步骤(2.2.2):初始化所述用户需要的构件的监听套接字Socket,并绑定本地IP地址和socket端口,
步骤(2.3):构件注册
步骤(2.3.1):所述构件间通信模块Agent Client获取所述构件自身所在机器的IP地址和套接字socket监听端口号,据此构造注册消息,将构件ID、自身IP地址和监听端口号写入消息字符串,
步骤(2.3.2):把所述注册信息发送给所述构件交互管理模块Agent,
步骤(2.3.3):所述构件交互管理模块检查构件的“可接收消息类型”是否与连接拓扑结构中的连接有冲突,若有则拒绝注册,若无冲突,可执行
步骤(2.3.4),
步骤(2.3.4):所述构件交互管理模块所述连接拓扑结构数据库中找到所有需要向步骤(2.3)中新注册的构件发送消息的构件,向每一个找到的构件转发新注册构件的信息,其中包含通信地址信息,
步骤(2.3.5):所述构件交互管理模块在所述连接拓扑结构数据库中找到所有需要接收所述新注册构件消息的构件,对于每一个找到的构件,若是已经注册了,则将它的通信地址信息发送给新注册构件,
步骤(2.3.6):所述构件交互管理模块向所述新注册的构件发送注册反馈信息,其中包含了多个与所述新注册构件相连的构件的详细信息:ID号、IP地址、套接字Socket端口号、所述新注册构件与之连接的输出端口号以及输入端口号,
步骤(2.3.7):所述新注册构件收到注册反馈信息后,对每个与之连接的构件的详细信息,所述构件间通信模块Agent Client做如下处理:读取输出端口号,找到相应的输出端口的地址映射表项,将远端构件的ID、Socket地址等信息添加到该地址映射表项中,
步骤(2.3.8):所述构件交互管理模块更新已注册构件数据库。
2.根据权利要求1所述的可重构软件中基于代理的组件生成方法,其特征在于,构件间按以下步骤进行通信:
步骤(2-1):发送消息:发送构件指定一个输出端口,所述构件间通信模块根据所述地址映射表,向与所述的指定端口相连的目的构件的输入端口都发送一个消息,
步骤(2-2):接收消息:所述构件间的通信模块通过套接字socket端口监听连接请求,如有连接请求则接收连接并接收消息,将接收到的消息放在消息队列中,以便构件处理。
3.根据权利要求1所述的可重构软件中基于代理的组件生成方法,其特征在 于,按以下步骤维护构件:
步骤(3-1):在每个定时周期内,所述构件交互管理模块向已经注册的构件发送心跳信号,
步骤(3-2):若超时未能收到回复信号,则发送一个注销命令给所述没有回复的构件,再按步骤(4-1)到步骤(4-6)所述的构件注销处理。
4.根据权利要求1所述的可重构软件中基于代理的组件生成方法,其特征在于,按以下步骤注销构件:
步骤(4-1):构件向所述构件交互管理模块发送注销信息,
步骤(4-2):所述构件交互管理模块检查步骤(4-1)中的构件是否已注册,若没有注册,则不作处理,若已注册,则进行步骤(4-3),
步骤(4-3):所述构件交互管理模块在所述连接拓扑结构数据库中找到所有需要向所述注销构件发送消息的构件,对于每一个找到已注册构件转发步骤(4-1)所述的请求注销构件的注册信息,
步骤(4-4):所述构件交互管理模块在所述连接拓扑结构数据库中找到所有需要接收所述注销构件消息的构件,对于每一个找到已注册构件转发步骤(4-1)所述的请求注销构件的注册信息,
步骤(4-5):在步骤(4-3)或步骤(4-4)中所述的收到了注销信息的构件中进行如下处理:读取所述注销信息中构件的输出端口号,找到相应的输出端口的地址映射表,遍历所述地址映射表,根据所述请求注销构件ID号,删除其相关地址节点,
步骤(4-6):所述构件交互管理模块更新所述连接拓扑结构数据库。
5.根据权利要求1所述的可重构软件中基于代理的组件生成方法,其特征在于,依次按以下步骤添加构件:
步骤(5-1):在所述XML文件形式的构件连接拓扑结构配置文件中增加命令指定添加的新构件及其连接关系,
步骤(5-2):新构件启动运行,
步骤(5-3):所述构件交互管理模块接收新构件注册,按照步骤(2.3)所述的注册流程处理。
6.根据权利要求1所述的可重构软件中基于代理的组件生成方法,其特征在于,依次按照以下步骤删除构件:
步骤(6-1):所述构件交互管理模块在接受删除命令后,向要删除的构件发送注销消息,
步骤(6-2):所述构件交互管理模块接收构件注销请求,按照步骤(4-1)到步骤(4.6)所述的注销流程处理,
步骤(6-3):更新XML文件形式的构件连接拓扑结构,去掉所有与删除了的构件的相关信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2010100340378A CN101789938B (zh) | 2010-01-12 | 2010-01-12 | 可重构软件中基于代理的组件生成方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2010100340378A CN101789938B (zh) | 2010-01-12 | 2010-01-12 | 可重构软件中基于代理的组件生成方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101789938A true CN101789938A (zh) | 2010-07-28 |
CN101789938B CN101789938B (zh) | 2013-01-30 |
Family
ID=42532992
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2010100340378A Expired - Fee Related CN101789938B (zh) | 2010-01-12 | 2010-01-12 | 可重构软件中基于代理的组件生成方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101789938B (zh) |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101977160A (zh) * | 2010-11-30 | 2011-02-16 | 中国人民解放军信息工程大学 | 可重构路由交换平台中的路由协议软件构件重构方法 |
CN102508657A (zh) * | 2011-10-18 | 2012-06-20 | 北京空间飞行器总体设计部 | 一种航天器嵌入式软件模块维护方法 |
CN104852963A (zh) * | 2015-04-11 | 2015-08-19 | 郑州大学 | 一种面向可重构网的Agent结构 |
CN104915185A (zh) * | 2014-03-11 | 2015-09-16 | 腾讯科技(深圳)有限公司 | 程序组件耦合处理方法和相关装置 |
CN105893041A (zh) * | 2016-03-31 | 2016-08-24 | 努比亚技术有限公司 | 一种应用程序管理方法及装置 |
CN107133109A (zh) * | 2017-04-24 | 2017-09-05 | 京信通信系统(广州)有限公司 | 一种模块间通信的方法、装置及计算设备 |
CN107168226A (zh) * | 2017-05-31 | 2017-09-15 | 宁波弘泰水利信息科技有限公司 | 一种闸泵自动化控制方法 |
CN107577541A (zh) * | 2017-09-05 | 2018-01-12 | 浪潮通用软件有限公司 | 一种应用及一种组件的调用方法 |
CN107783849A (zh) * | 2017-09-27 | 2018-03-09 | 武汉斗鱼网络科技有限公司 | 事件处理方法及客户端 |
CN111866030A (zh) * | 2020-09-21 | 2020-10-30 | 之江实验室 | 一种拟态边缘网关的工业协议识别装置及方法 |
CN112527353A (zh) * | 2015-05-27 | 2021-03-19 | 谷歌有限责任公司 | 用于增强对话系统的插件的在线市场 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6785843B1 (en) * | 2001-02-23 | 2004-08-31 | Mcrae Andrew | Data plane restart without state change in a control plane of an intermediate network node |
CN100493042C (zh) * | 2006-10-20 | 2009-05-27 | 清华大学 | 可扩展路由器系统控制平面中高性能的节点间通信方法 |
-
2010
- 2010-01-12 CN CN2010100340378A patent/CN101789938B/zh not_active Expired - Fee Related
Cited By (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101977160B (zh) * | 2010-11-30 | 2012-08-22 | 中国人民解放军信息工程大学 | 可重构路由交换平台中的路由协议软件构件重构方法 |
CN101977160A (zh) * | 2010-11-30 | 2011-02-16 | 中国人民解放军信息工程大学 | 可重构路由交换平台中的路由协议软件构件重构方法 |
CN102508657A (zh) * | 2011-10-18 | 2012-06-20 | 北京空间飞行器总体设计部 | 一种航天器嵌入式软件模块维护方法 |
CN102508657B (zh) * | 2011-10-18 | 2014-10-08 | 北京空间飞行器总体设计部 | 一种航天器嵌入式软件模块维护方法 |
CN104915185B (zh) * | 2014-03-11 | 2019-04-02 | 腾讯科技(深圳)有限公司 | 程序组件耦合处理方法和相关装置 |
CN104915185A (zh) * | 2014-03-11 | 2015-09-16 | 腾讯科技(深圳)有限公司 | 程序组件耦合处理方法和相关装置 |
CN104852963A (zh) * | 2015-04-11 | 2015-08-19 | 郑州大学 | 一种面向可重构网的Agent结构 |
CN104852963B (zh) * | 2015-04-11 | 2018-07-10 | 郑州大学 | 一种面向可重构网的Agent系统 |
CN112527353A (zh) * | 2015-05-27 | 2021-03-19 | 谷歌有限责任公司 | 用于增强对话系统的插件的在线市场 |
CN105893041A (zh) * | 2016-03-31 | 2016-08-24 | 努比亚技术有限公司 | 一种应用程序管理方法及装置 |
CN107133109A (zh) * | 2017-04-24 | 2017-09-05 | 京信通信系统(广州)有限公司 | 一种模块间通信的方法、装置及计算设备 |
CN107133109B (zh) * | 2017-04-24 | 2020-01-14 | 京信通信系统(中国)有限公司 | 一种模块间通信的方法、装置及计算设备 |
CN107168226A (zh) * | 2017-05-31 | 2017-09-15 | 宁波弘泰水利信息科技有限公司 | 一种闸泵自动化控制方法 |
CN107577541A (zh) * | 2017-09-05 | 2018-01-12 | 浪潮通用软件有限公司 | 一种应用及一种组件的调用方法 |
CN107783849A (zh) * | 2017-09-27 | 2018-03-09 | 武汉斗鱼网络科技有限公司 | 事件处理方法及客户端 |
CN107783849B (zh) * | 2017-09-27 | 2021-01-01 | 武汉斗鱼网络科技有限公司 | 事件处理方法及客户端 |
CN111866030A (zh) * | 2020-09-21 | 2020-10-30 | 之江实验室 | 一种拟态边缘网关的工业协议识别装置及方法 |
CN111866030B (zh) * | 2020-09-21 | 2021-01-05 | 之江实验室 | 一种拟态边缘网关的工业协议识别装置及方法 |
Also Published As
Publication number | Publication date |
---|---|
CN101789938B (zh) | 2013-01-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101789938B (zh) | 可重构软件中基于代理的组件生成方法 | |
CN107018147B (zh) | 一种物联网通信方法及系统、网关模块 | |
Bouabene et al. | The autonomic network architecture (ANA) | |
CN102148800B (zh) | 基于面向服务架构的软件无线电系统 | |
CN108769165A (zh) | 一种物联网中数据处理方法、物联网接入系统 | |
CN102281180A (zh) | 应用于不同局域网的终端相互通讯的虚拟网卡通讯装置 | |
CN101426000A (zh) | 一种通用协议解析方法及系统 | |
CN101136910B (zh) | 网络地址和协议翻译设备与应用层网关设备 | |
CN108199865A (zh) | 一种基于发布订阅的路由服务实现方法 | |
CN101795206B (zh) | 一种在分布式构成设备上实现snmp代理的方法和装置 | |
CN108769017A (zh) | 一种数据通信方法及装置 | |
CN105812502A (zh) | 基于OpenFlow的地址解析协议代理技术的实现方法 | |
JP2013026708A (ja) | ネットワークシステム | |
CN101834871A (zh) | 一种开放式路由器装置及其方法 | |
CN109076022A (zh) | 网络地址转换装置、设置请求装置、通信系统、通信方法和存储程序的存储介质 | |
JP2004306200A (ja) | ロボット制御システム | |
KR101673755B1 (ko) | Dds 기반의 사물 인터넷의 네트워크와 지그비 네트워크와의 연동 시스템 및 그 방법 | |
KR100358156B1 (ko) | 통합망 환경에서 서비스 관리시스템의 관리명령을 교환기 명령어로 변환하는 방법 | |
Garnock-Jones et al. | The network as a language construct | |
Wiesmann et al. | Group communication based on standard interfaces | |
CN105827468B (zh) | 网络性能实时监控方法 | |
KR101547346B1 (ko) | 업무통합 연동을 위한 동기/비동기 통신방식의 동적 전문 관리시스템 | |
Hughes et al. | A loosely-coupled binding model for Wireless Sensor Networks | |
CN103152201B (zh) | ForCES系统中逻辑功能块拓扑正确性的验证方法 | |
KR100698234B1 (ko) | 피어 투 피어 기반에서의 서버-클라이언트 통합 네트워크시스템 |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20130130 Termination date: 20180112 |