一种嵌入式系统中动态支持多种协议的装置及方法

文档序号:6579216阅读:181来源:国知局
专利名称:一种嵌入式系统中动态支持多种协议的装置及方法
技术领域
本发明涉及嵌入式通信设备领域,特别是涉及一种嵌入式系统中动态支持多种协 议的装置及方法。
背景技术
随着嵌入式通信设备的广泛应用,引入的通信协议的种类越来越多,以电信领域 的智能电源的监控设备为例,智能电源的更新换代导致不同协议的设备共存于一张网络 中,对监控设备的协议适配能力提出了更高的要求。目前,用于实现在同一设备上支持不同通信协议的方法主要是在设备软件中包括 多个协议解码和适配模块用以分别完成对应处理的方法,详见CN200510100189号专利。这 种方法把多种协议的支持模块都编译链接到同一个版本中,造成软件版本体积庞大,并且 无法对单个通信协议在版本中进行动态的取舍,对其中任何一种通信协议的修改都需要重 新编译链接产生新的软件版本。

发明内容
本发明提供一种嵌入式系统中动态支持多种协议的装置及方法,用以解决嵌入式 通信设备难以满足协议兼容性需求日益增加的问题。本发明的一种嵌入式系统中动态支持多种协议的装置,包括通信接口模块,至少 二个协议栈模块和与其一一对应的协议栈适配脚本模块,以及脚本配置管理模块;其中通 信接口模块,用于根据接收到的调用命令向指定的一个协议栈模块转发该调用命令;协议 栈模块,分别用于存储不同版本的协议,并在收到调用命令后将其存储的协议内容发出;协 议栈适配脚本模块,用于将收到的协议内容译为嵌入式系统可识别的协议适配脚本;脚本 配置管理模块,用于管理各协议栈适配脚本模块,并根据所述调用命令,从相应的协议栈适 配脚本模块中调用协议适配脚本供嵌入式系统加载。进一步还包括资源管理模块,用于管理嵌入式系统的硬件资源,并将脚本配置管 理模块调用的协议适配脚本向嵌入式系统中的硬件下发。硬件接口抽象模块和驱动程序模块;硬件接口抽象模块,用于屏蔽硬件型号差异, 提供统一的读写硬件通道;驱动程序模块,用于通过硬件接口抽象模块提供的读写硬件通 道读取资源管理模块下发的协议适配脚本,并根据该协议适配脚本向各硬件下发驱动程序。更进一步还包括与驱动程序模块相连的操作系统模块,操作系统模块,用于对嵌 入式系统的资源进行管理。与驱动程序模块相连的文件系统模块,用于存放协议适配脚本 和数据文件。本发明的一种嵌入式系统中动态支持多种协议的方法,包括下列步骤根据调用 命令调取一个版本的协议内容;将被调取的协议内容译为嵌入式系统可识别的协议适配脚 本;将所述协议适配脚本供嵌入式系统加载。
进一步还包括步骤开始加载所述协议适配脚本之前,停止运行当前协议的脚本; 或者还包括步骤成功加载所述协议适配脚本之后,停止运行原协议的脚本。以及删除被停 止运行的协议脚本的相关信息。本发明有益效果如下由于本发明由通信接口模块向指定的一个协议栈模块转发 调用命令,通过该协议栈模块以及与之对应的协议栈适配脚本模块的翻译后,得出独立的 协议适配脚本,之后由脚本配置管理模块调用该协议适配脚本供嵌入式系统加载。可见,本 发明无需将多种版本协议都编译链接到同一个版本中,从而避免了软件版本体积庞大,并 且对其中任何一种通信协议的修改都需要重新编译链接产生新的软件版本。因此本发明可 解决嵌入式通信设备协议兼容性需求日益增加的问题。


此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发 明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中图1为现有多协议支持装置的结构框图;图2为本发明实施例一中,动态多协议支持装置的结构框图;图3为本发明实施例二中,动态多协议支持装置的结构框图;图4为本发明实施例三中,动态多协议支持装置软件升级示意图;图5为本发明实施例四中,动态多协议支持装置软件升级实施流程图。
具体实施例方式为了解决嵌入式通信设备协议兼容性需求日益增加的问题,本发明提供如下思 路在设备软件操作系统的上集成入脚本语言的解析器,在其上建立用户的应用程序,以实 现协议支持能力和主版本的分离,提高系统的可维护性,并为设备的版本管理提供便利。脚 本解析器和操作系统之间完成一系列接口函数,为保证系统的灵活性,接口函数的定义尽 量简单。需要说明的是,在不冲突的情况下,本申请中的实施例的具体组件可由与其具有相 同特性的组建代替,不限于实施例中描述情况。下面将参考附图并结合实施例来详细说明 本发明。实施例一、参见图1所示,为现有多协议支持装置的结构框图,该装置由通信接口 模块,资源管理模块和多种协议的协议栈模块和协议栈适配模块组成,各模块在编译时生 成在同一个可运行的版本中。图2是本发明实施例一的动态支持多种协议的装置,它由通信接口模块,至少二 个协议栈模块和与其一一对应的协议栈适配脚本模块,以及脚本配置管理模块组成。其中通信接口模块,对网络侧提供统一的调用接口,用于根据接收到的调用命令 向指定的一个协议栈模块转发该调用命令。协议栈模块,分别用于存储不同版本的协议(即协议本身的内容),对应到图2中 A协议栈模块存储A协议,B协议栈模块存储B协议,C协议栈模块存储C协议,并在收到调 用命令后将其存储的协议内容发出。协议栈适配脚本模块,它把用脚本实现的协议解析程序翻译成为硬件接口操作或 操作系统可识别的系统调用,即将收到的协议内容译为嵌入式系统可识别的协议适配脚
4本。脚本配置管理模块,管理脚本配置和加载脚本,它是本装置提供动态协议支持的 核心部件,是操作员管理和配置设备协议支持能力的接口。具体用于管理各协议栈适配脚 本模块,并根据所述调用命令,从相应的协议栈适配脚本模块中调用协议适配脚本供嵌入 式系统加载。其中多种协议的支持过程是由脚本配置管理模块对协议栈和协议适配脚本的动 态配置来完成的,也就是说某一时刻系统运行版本中只有针对本地需要的协议栈和协议适 配脚本。进一步,在图2中如果需要对当前设备的协议支持能力进行升级,则可以由脚本 配置管理模块提供接口向系统加载新的协议栈和协议适配脚本,当新的协议栈和协议适配 脚本加载成功后,通知老协议栈和协议适配模块停机,由新的协议栈和协议适配脚本接管 当前业务,整个过程主应用程序无需停机。实施例二、参见图3所示为本发明实施例二的动态支持多种协议的装置,它包括 通信接口模块,至少二个协议栈模块和与其一一对应的协议栈适配脚本模块,以及脚本配 置管理模块;进一步还包括资源管理模块、硬件接口抽象模块和驱动程序模块;更进一步 还包括操作系统模块和文件系统模块。其中通信接口模块,对网络侧提供统一的调用接口,用于根据接收到的调用命令 向指定的一个协议栈模块转发该调用命令。协议栈模块,分别用于存储不同版本的协议(即协议本身的内容),对应到图3中 A协议栈模块存储A协议,B协议栈模块存储B协议,C协议栈模块存储C协议,并在收到调 用命令后将其存储的协议内容发出。协议栈适配脚本模块,它把用脚本实现的协议解析程序翻译成为硬件接口操作或 操作系统可识别的系统调用,即将收到的协议内容译为嵌入式系统可识别的协议适配脚 本。脚本配置管理模块,管理脚本配置和加载脚本,它是本装置提供动态协议支持的 核心部件,是操作员管理和配置设备协议支持能力的接口。具体用于管理各协议栈适配脚 本模块,并根据所述调用命令,从相应的协议栈适配脚本模块中调用协议适配脚本供嵌入 式系统加载。资源管理模块,用于管理嵌入式系统的硬件资源,并将脚本配置管理模块调用的 协议适配脚本向嵌入式系统中的硬件下发。硬件接口抽象模块,用于屏蔽硬件型号差异,为驱动程序模块提供统一的读写硬 件通道。驱动程序模块,用于通过硬件接口抽象模块提供的读写硬件通道读取资源管理模 块下发的协议适配脚本,并根据该协议适配脚本向各硬件下发驱动程序。对数据收发进行 控制,通过缓存技术实现数据流的读写。与驱动程序模块相连的操作系统模块,用于对嵌入式系统的资源进行管理。具体 的,其存在的时候对系统的资源进行管理,如处理器,存储设备和进程资源。在其不存在的 时候有一个相对简单的软件装置来替代其功能,如由无限循环函数进行等优先级的资源调 动。
与驱动程序模块相连的文件系统模块,用于存放协议适配脚本和数据文件。如果 其不存在的时候则可以由其他装置来代替其功能,闪存(Flash Memory)和启动加载软件构 成的系统。实施例三、上述本发明装置的实施例可以用于实现嵌入式设备软件动态升级。图4 是根据本发明实施例的动态支持多种协议实现嵌入式设备软件动态升级方法的示意图,在 根据调用命令调取一个版本的协议内容,将被调取的协议内容译为嵌入式系统可识别的协 议适配脚本之后,如图4所示,包括如下的步骤S302至步骤S308 步骤S302,脚本配置管理模块根据需要加载新的协议栈和协议适配脚本,存放到 系统的文件系统或是内存中,等待被启用;步骤S304,脚本配置管理模块启动一个新的脚步解析虚拟机用于运行新的协议栈 和协议适配脚本模块;步骤S306,如果步骤S304中的操作成功,则停止当前的脚步解析虚拟机;
步骤S308,删除旧的协议栈和协议适配脚本,释放存储空间。需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的 计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不 同于此处的顺序执行所示出或描述的步骤。实施例四、上述本发明装置的实施例可以用于实现嵌入式设备软件动态升级。在 根据调用命令调取一个版本的协议内容,将被调取的协议内容译为嵌入式系统可识别的协 议适配脚本之后,如图5所示,包括如下的步骤402至步骤412 步骤402 脚本配置管理模块在管理员的触发下完成新协议栈和协议解析脚本的 加载,如果加载成功则进入步骤404,否则重新加载;步骤404 脚本配置管理模块启动新的脚本解析虚拟机,用以运行新的协议栈和 协议适配脚本,此虚拟机和当前正在运行的脚本解析虚拟机在存储空间上独立,如果启动 成功则进入步骤406,否则重新启动;步骤406 等待当前虚拟机提供最后一次服务完成,保证业务数据的一致性的前 提下结束本次服务,服务停止以后进入步骤408 ;步骤408 停止当前运行的脚步解析虚拟机,以释放出内存空间;步骤410 步骤404中启动的新的脚步解析虚拟机接管业务;步骤412 脚本配置管理模块将旧的协议栈和协议适配脚本删除,以释放出存储 空间,流程结束。综上所述,通过本发明的上述实施例,提供了一种动态支持多种协议的装置,可以 用于实现嵌入式设备软件动态升级的方法,用于解决嵌入式通信设备难以满足协议兼容性 需求日益增加的问题,提供了一种灵活的协议支持方法,提高了新协议的部署效率,降低了 嵌入式通信设备的版本管理成本。以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技 术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修 改、等同替换、改进等,均应包含在本发明的保护范围之内。
权利要求
一种嵌入式系统中动态支持多种协议的装置,其特征在于,包括通信接口模块,至少二个协议栈模块和与其一一对应的协议栈适配脚本模块,以及脚本配置管理模块;其中,通信接口模块,用于根据接收到的调用命令向指定的一个协议栈模块转发该调用命令;协议栈模块,分别用于存储不同版本的协议,并在收到调用命令后将其存储的协议内容发出;协议栈适配脚本模块,用于将收到的协议内容译为嵌入式系统可识别的协议适配脚本;脚本配置管理模块,用于管理各协议栈适配脚本模块,并根据所述调用命令,从相应的协议栈适配脚本模块中调用协议适配脚本供嵌入式系统加载。
2.如权利要求1所述的一种嵌入式系统中动态支持多种协议的装置,其特征在于,还 包括资源管理模块,用于管理嵌入式系统的硬件资源,并将脚本配置管理模块调用的协议 适配脚本向嵌入式系统中的硬件下发。
3.如权利要求2所述的一种嵌入式系统中动态支持多种协议的装置,其特征在于,还 包括硬件接口抽象模块和驱动程序模块;其中,硬件接口抽象模块,用于屏蔽硬件型号差异,提供统一的读写硬件通道; 驱动程序模块,用于通过硬件接口抽象模块提供的读写硬件通道读取资源管理模块下 发的协议适配脚本,并根据该协议适配脚本向各硬件下发驱动程序。
4.如权利要求3所述的一种嵌入式系统中动态支持多种协议的装置,其特征在于,还 包括与驱动程序模块相连的操作系统模块,用于对嵌入式系统的资源进行管理。
5.如权利要求3所述的一种嵌入式系统中动态支持多种协议的装置,其特征在于,还 包括与驱动程序模块相连的文件系统模块,用于存放协议适配脚本和数据文件。
6.一种嵌入式系统中动态支持多种协议的方法,其特征在于,包括下列步骤 根据调用命令调取一个版本的协议内容;将被调取的协议内容译为嵌入式系统可识别的协议适配脚本; 将所述协议适配脚本供嵌入式系统加载。
7.如权利要求6所述的一种嵌入式系统中动态支持多种协议的方法,其特征在于,还 包括步骤开始加载所述协议适配脚本之前,停止运行当前协议的脚本。
8.如权利要求6所述的一种嵌入式系统中动态支持多种协议的方法,其特征在于,还 包括步骤成功加载所述协议适配脚本之后,停止运行原协议的脚本。
9.如权利要求7或8所述的一种嵌入式系统中动态支持多种协议的方法,其特征在于, 删除被停止运行的协议脚本的相关信息。
全文摘要
本发明公开了一种嵌入式系统中动态支持多种协议的装置及方法,涉及嵌入式通信设备领域,用以解决嵌入式通信设备难以满足协议兼容性需求日益增加的问题。装置包括通信接口模块,至少二个协议栈模块和与其一一对应的协议栈适配脚本模块,以及脚本配置管理模块。方法包括步骤根据调用命令调取一个版本的协议内容;将被调取的协议内容译为嵌入式系统可识别的协议适配脚本;将所述协议适配脚本供嵌入式系统加载。本发明可解决嵌入式通信设备协议兼容性需求日益增加的问题。
文档编号G06F9/45GK101944033SQ20091015838
公开日2011年1月12日 申请日期2009年7月9日 优先权日2009年7月9日
发明者游智 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1