专利名称:基于分布式环境的功能扩展方法和系统的制作方法
技术领域:
本发明涉及电信设备网络管理领域,具体涉及一种可用于实现分布式 电信设备网管的功能扩展方法和系统。
背景技术:
随
目前业界常用的功能扩展方法,如图1所示,通过功能扩展管理将基 本应用功能中的功能扩展点和应用功能扩展实现进行绑定,基本应用功能 在执行到功能扩展点时通过本地调用执行应用功能扩展实现的业务逻辑, 应用功能扩展实现将其执行结果返回给基本应用功能,基本应用功能根据 该功能扩展实现的返回结果执行基本应用功能后续的业务处理逻辑。因为 基本应用功能执行应用功能扩展实现的业务逻辑是本地调用,而在分布式 环境下,基本应用功能和应用功能扩展实现可能并不在同一个进程中,在 这种情况下,基本应用功能不能通过本地调用的方式执行应用功能扩展实 现的业务逻辑,所以现有的这种功能扩展方法无法在分布式环境下使用。
发明内容
本发明所要解决的技术问题就是提供一种可工作于分布式环境的功能 扩展方法和系统。
本发明的技术问题是通过以下技术方案加以解决的一种基于分布式环境的功能扩展方法,包括以下步骤
A. 在基本应用功能模块中设置多个功能扩展点,并在功能扩展管理模 块中建立功能扩展点与各应用功能扩展实现模块之间的对应关系;
B. 当运行到功能扩展点时根据功能扩展管理模块中对应关系,査找该 功能扩展点所对应的应用功能扩展实现模块,
C. 基本应用功能模块通过消息来调用上述査找到的应用功能扩展实 现模块。
所述步骤C具体包括以下步骤
Cl.基本应用功能模块向步骤B获得的应用功能扩展实现模块发送包 含执行请求的同步消息;
C2.应用功能扩展实现模块响应上述请求,执行扩展的应用业务逻辑, 并将执行结果通过返回消息发送给基本应用功能模块。
所述步骤A具体包括以下步骤-
Al.获取当前进程中所有基本应用功能模块的功能扩展点声明定义 配置,该配置中包括功能扩展点ID;
A2.获取当前进程中所有应用功能扩展实现模块配置,该配置中包括 与功能扩展点ID的对应关系;
A3.根据步骤A1中的功能扩展点ID和步骤A2中的对应关系建立功 能扩展点与应用功能扩展实现模块的对应关系。 所述步骤C中的调用是通过消息总线实现的。
所述步骤A还包括将功能扩展点与应用功能扩展实现模块的对应关系 存储在功能扩展注册表中的过程;所述步骤B通过査询该注册表获得功能 扩展点相对应的应用功能扩展实现模块。
所述步骤A还包括通过调用消息总线发送包含功能扩展点与应用功能 扩展实现模块对应关系的消息,通知其他进程更新其所包含的功能扩展注 册表的过程。
一种基于分布式环境的功能扩展系统,包括多个进程,所述进程包括 功能扩展管理模块、基本应用功能模块和应用功能扩展实现模块,所述功 能扩展管理模块用于建立功能扩展点与应用功能扩展实现模块的对应关 系;所述基本应用功能模块用于实现基本的应用业务逻辑,运行到功能扩展点时根据所述对应关系査找该功能扩展点所对应的应用功能扩展实现模 块,并通过消息调用该功能扩展点所对应的应用功能扩展实现模块。
所述基本应用功能模块还用于向査找到的所述应用功能扩展实现模块 发送包含执行请求的同步消息;所述应用功能扩展实现模块用于响应所述 执行请求,执行扩展的应用业务逻辑,并将执行结果通过返回消息发送给 所述基本应用功能模块。
还包括消息总线,所述消息总线用于调用所述消息。
所述功能扩展管理模块中设有功能扩展注册表,用于存储所述功能扩 展管理模块建立的所述对应关系;所述功能扩展管理模块还用于通过调用 所述消息总线发送包含功能扩展点与应用功能扩展实现模块对应关系的消 息,通知其他进程更新其所包含的功能扩展注册表。
本发明同现有技术相比较的有益效果是
(1) 利用消息可以在分布式环境中传递的特点,将应用功能扩展实现的 调用采用发送消息的方式进行,解决了本地调用所无法完成的不同进程之 间的功能调用,从而完成了分布式环境中的功能扩展。
(2) 采用同步消息传递,使得调用者在获得调用结果后再根据该结果决 定后续流程,解决了进程间的同步问题;
(3) 采用消息总线进行消息传递,实现方式简单。
(4) 利用功能扩展注册表存储功能扩展点与应用功能扩展实现之间的 对应关系,査询该注册表可获得对应关系及对应用功能扩展实现的接收地 址,该实现方式能在现有本地调用的功能扩展方式上改进获得,保持了较 好的兼容性;
(5) —个进程的功能扩展注册表的变化通过调用消息总线发送包含功 能扩展点与应用功能扩展实现对应关系的消息,通知其他进程进行功能扩 展注册表的更新,保证了分布式环境中进程间的功能扩展管理的同步,提 高了效率。
图1是本地调用时的结构示意图2是本发明系统具体实施方式
工作于分布式环境的结构示意图; 图3是本发明方法具体实施方式
功能扩展管理初始化流程图; 图4是本发明方法具体实施方式
调用应用功能扩展实现流程图;图5是本发明方法具体实施方式
消息总线工作流程图。
具体实施例方式
下面通过具体实施方式
结合附图对本发明做进一步详细说明。
本发明基于分布式环境的功能扩展系统,其一种实施方式如图1所示, 工作于本地调用,与现有技术相同。
其另一种实施方式如图2所示,工作于分布式电信网管环境,包括多 个进程,各进程分别包括功能扩展管理模块、基本应用功能模块、应用功 能扩展实现模块和消息总线。
功能扩展管理模块包括功能扩展注册表,用于存储系统中功能扩展点、 应用功能扩展实现模块以及二者之间的对应关系,在分布式环境下的每个 进程中都有一个相同的功能扩展注册表。功能扩展管理模块用于初始化功 能扩展点、初始化应用功能扩展实现模块和管理功能扩展注册表。功能扩 展点的初始化负责搜索当前进程基本应用功能的功能扩展点声明定义配 置;应用功能扩展实现模块的初始化负责搜索当前进程应用功能扩展实现 配置,建立功能扩展点声明定义配置和应用功能扩展实现配置之间的对应 关系,即功能扩展点与应用功能扩展实现模块之间的对应关系,并将该对 应关系存储到功能扩展注册表中。功能扩展管理模块负责对功能扩展注册 表中的信息进行增加、删除、修改和查询,还负责同步各进程的功能扩展 注册表内容,即在当前进程功能扩展注册表内容发生变化时,如在建立功 能扩展点和应用功能扩展实现之间的对应关系时,通过调用消息总线发送 包含功能扩展点与应用功能扩展实现模块对应关系的消息,通知其他进程 的功能扩展管理模块,其他进程的功能扩展管理模块收到包含这个对应关 系的消息后,将该对应关系更新到所在进程的功能扩展注册表中。在分布 式环境下的每个进程中都有功能扩展管理模块,执行的功能也基本相同。
基本应用功能模块用于实现适应于大多数电信设备的网管系统公用功 能,实现基本的网管应用业务逻辑,在业务处理流程中存在特殊需求的地 方声明功能扩展点,还根据应用功能扩展实现模块的执行结果决定网管应 用业务逻辑的后续处理流程。基本的网管应用业务逻辑是指适合绝大多数 情况的通用应用功能。
应用功能扩展实现模块,用于实现特殊需求的应用功能,即提供同步 消息的消息处理对象和应用功能扩展实现配置,实现扩展的网管应用业务逻辑,并将其执行结果通过消息总线返回给基本应用功能模块。本实施方 式中,应用功能扩展实现模块有多个,分布在多个进程中,且与基本应用 功能模块的功能扩展点是多对一的对应关系。不同进程中,基本应用功能 模块、应用功能扩展实现模块所处理的业务逻辑可能不相同,但功能扩展 管理模块和消息总线所处理的业务逻辑完全相同,只是处理的数据不同。
消息总线,用于调用消息,如用于发送基本应用功能模块和应用功能 扩展实现模块之间的同步消息及其响应消息,用于将本进程中的功能扩展 点和应用功能扩展实现之间的对应关系通知其他进程的功能扩展管理模 块,还用于消息打包、消息解析、消息发送异常处理、同步消息处理等工 作。本实施方式中,消息总线用于为消息分配唯一的标识、将消息打包、 根据消息中指定的目的地址与消息的目的进程建立链接并将打包的消息发 送给目的进程。
本发明基于分布式环境的功能扩展方法,其一种实施方式,包括如下 步骤
步骤A:在基本应用功能模块中设置多个功能扩展点,并在功能扩展 管理模块中建立功能扩展点与各应用功能扩展实现模块之间的对应关系。 功能扩展管理模块初始化,在系统启动之初获取系统中所有基本应用功能 模块的功能扩展点,如图3所示,该初始化过程具体包括以下步骤
步骤301:获取当前进程中所有基本应用功能模块功能扩展点的声明 定义配置。基本应用功能模块的功能扩展点通过定义配置进行声明, 一个 功能扩展点的声明定义配置包括功能扩展点ID、功能扩展点消息ID、功 能扩展点消息格式定义等信息。在系统启动时,通过搜索获取当前进程所 在目录下所有基本应用功能模块的功能扩展点的声明定义配置;
步骤302:获取当前进程中所有应用功能扩展实现模块配置。应用功
能扩展实现模块由消息处理对象和应用功能扩展实现模块配置组成。消息 处理对象负责接收基本应用功能模块发送的消息,并开始执行应用功能扩
展实现模块自身扩展的业务逻辑;应用功能扩展实现模块配置则配置应用 功能扩展实现模块的消息接收地址、消息处理类以及与基本应用功能模块 的功能扩展点ID之间的对应关系。在获取系统中所有基本应用功能模块 的功能扩展点的声明定义配置后,再搜索获取当前进程所在目录下所有应 用功能扩展实现模块配置;
步骤303:建立基本应用功能模块的功能扩展点和应用功能扩展实现模块之间的对应关系。首先将获取的基本应用功能模块的功能扩展点的声 明定义配置和应用功能扩展实现模块配置分别转换为基本应用功能模块的
功能扩展点和应用功能扩展实现模块配置对象,并通过功能扩展点ID建 立二者之间的对应关系;
步骤304:将基本应用功能模块的功能扩展点和应用功能扩展实现模 块配置对象的对应关系存放到功能扩展注册表中;
步骤305:通过消息总线通知其他进程本进程中功能扩展注册表的变 化,其他进程更新其所在进程的功能扩展注册表。
步骤B:当运行到功能扩展点时,根据功能扩展管理模块中对应关系, 查找该功能扩展点所对应的应用功能扩展实现模块。 一种实施方式,是调 用功能扩展管理模块的査询方法从功能扩展注册表中获取;
步骤C:基本应用功能模块通过消息调用该功能扩展点所对应的功能 扩展实现模块。如图4所示,其具体包括如下步骤
步骤401:基本应用功能模块从查找到的应用功能扩展实现模块中获
取同步消息的目的地,构造好需发送到对应的应用功能扩展实现模块的同
步消息,该同步消息包含执行应用功能扩展实现模块的执行请求;
步骤402:基本应用功能模块调用消息总线发送包含执行请求的同步
消息给对应的应用功能扩展实现模块;
步骤403:应用功能扩展实现模块响应请求完成业务逻辑处理,发送
包含处理结果的返回消息给基本应用功能模块。
因为是同步消息,所以在应用功能扩展实现的业务逻辑处理过程中, 基本应用功能的业务逻辑处于等待状态。
消息总线对同步消息的处理流程如图5所示,包括以下步骤 步骤501:基本应用功能模块调用消息总线接口发送消息; 步骤502:消息总线为消息分配唯一的标识,本实施方式中,该标识 为消息的序列号;
步骤503:消息总线将消息打包,本实施方式中,消息包括同步消息 和返回消息,将消息打包是将消息转化为可基于socket传送的byte数组;
步骤504:消息总线根据消息中指定的目的地址与消息的目的进程建 立socket链接;
步骤505:消息总线将打包的消息发送给目的进程,并等待返回消息; 步骤506、消息总线判断返回消息是否超时,如果超时则转步骤508;未超时则转步骤507;
步骤507:将返回消息进行解析后返回给基本应用功能模块,流程结束。
步骤508:向基本应用功能模块提示超时异常,流程结束。
基本应用功能模块收到同步返回消息后,根据返回消息决定基本应用 功能模块的基本业务逻辑的后续执行流程,并继续执行其基本业务逻辑。
以上内容是结合具体的优选实施方式对本发明所作的进一步详细说 明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术 领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若 干简单推演或替换,都应当视为属于本发明的保护范围。
权利要求
1. 一种基于分布式环境的功能扩展方法,其特征在于,包括以下步骤A. 在基本应用功能模块中设置多个功能扩展点,并在功能扩展管理模块中建立功能扩展点与各应用功能扩展实现模块之间的对应关系;B. 当运行到功能扩展点时,根据功能扩展管理模块中对应关系,查找该功能扩展点所对应的应用功能扩展实现模块;C. 基本应用功能模块通过消息来调用上述查找到的应用功能扩展实现模块。
2. 根据权利要求1所述的功能扩展方法,其特征在于,所述步骤C具 体包括以下步骤Cl.基本应用功能模块向步骤B获得的应用功能扩展实现模块发送包 含执行请求的同步消息;C2.应用功能扩展实现模块响应上述请求,执行扩展的应用业务逻辑, 并将执行结果通过返回消息发送给基本应用功能模块。
3. 根据权利要求1所述的功能扩展方法,其特征在于,所述步骤A具 体包括以下步骤Al.获取当前进程中所有基本应用功能模块的功能扩展点声明定义 配置,该配置中包括功能扩展点ID;A2.获取当前进程中所有应用功能扩展实现模块配置,该配置中包括 与功能扩展点ID的对应关系;A3.根据步骤Al中的功能扩展点ID和步骤A2中的对应关系建立功 能扩展点与应用功能扩展实现模块的对应关系。
4. 根据权利要求1至3中任意一项所述的功能扩展方法,其特征在于, 所述步骤C中的调用是通过消息总线实现的。
5. 根据权利要求1至3中任意一项所述的功能扩展方法,其特征在于, 所述步骤A还包括将功能扩展点与应用功能扩展实现模块的对应关系存储 在功能扩展注册表中的过程;所述步骤B通过査询该注册表获得功能扩展 点相对应的应用功能扩展实现模块。
6. 根据权利要求5所述的功能扩展方法,其特征在于,所述步骤A还 包括通过调用消息总线发送包含功能扩展点与应用功能扩展实现模块对应 关系的消息,通知其他进程更新其所包含的功能扩展注册表的过程。
7. —种基于分布式环境的功能扩展系统,其特征在于,包括多个进程, 所述进程包括功能扩展管理模块、基本应用功能模块和应用功能扩展实现 模块,所述功能扩展管理模块用于建立功能扩展点与应用功能扩展实现模 块的对应关系;所述基本应用功能模块用于实现基本的应用业务逻辑,运 行到功能扩展点时根据所述对应关系査找该功能扩展点所对应的应用功能 扩展实现模块,并通过消息调用该功能扩展点所对应的应用功能扩展实现 模块。
8. 根据权利要求7所述的功能扩展系统,其特征在于,所述基本应用 功能模块还用于向査找到的所述应用功能扩展实现模块发送包含执行请求 的同步消息;所述应用功能扩展实现模块用于响应所述执行请求,执行扩 展的应用业务逻辑,并将执行结果通过返回消息发送给所述基本应用功能 模块。
9. 根据权利要求7或8所述的功能扩展系统,其特征在于,还包括消 息总线,所述消息总线用于调用所述消息。
10. 根据权利要求9所述的功能扩展系统,其特征在于,所述功能扩 展管理模块中设有功能扩展注册表,用于存储所述功能扩展管理模块建立 的所述对应关系;所述功能扩展管理模块还用于通过调用所述消息总线发 送包含功能扩展点与应用功能扩展实现模块对应关系的消息,通知其他进 程更新其所包含的功能扩展注册表。
全文摘要
本发明公开了一种基于分布式环境的功能扩展方法,包括以下步骤A.在基本应用功能模块中设置多个功能扩展点,并在功能扩展管理模块中建立功能扩展点与各应用功能扩展实现模块之间的对应关系;B.当运行到功能扩展点时根据功能扩展管理模块中对应关系,查找该功能扩展点所对应的应用功能扩展实现模块;C.基本应用功能模块通过消息来调用上述查找到的应用功能扩展实现模块。本发明还公开了一种基于分布式环境的功能扩展系统。本发明利用消息可以在分布式环境中传递的特点,将应用功能扩展实现的调用采用发送消息的方式进行,解决了本地调用所无法完成的不同进程之间的功能调用,从而完成了分布式环境中的功能扩展。
文档编号H04M3/24GK101499931SQ20091010598
公开日2009年8月5日 申请日期2009年3月13日 优先权日2009年3月13日
发明者唐文彬, 蓉 张, 汪德彬, 珂 田 申请人:中兴通讯股份有限公司