一种基于脚本语言的xml配置数据维护方法及系统的制作方法

文档序号:10471235阅读:257来源:国知局
一种基于脚本语言的xml配置数据维护方法及系统的制作方法
【专利摘要】本发明公开了一种基于脚本语言的XML配置数据维护方法及系统,该方法包括:对配置数据建立一配置数据模板表,以保存配置数据中节点和参数的属性;利用脚本对配置数据建立配置数据全局表,实现节点与参数的默认数据的配置;下发配置工单,获取配置的节点或参数,查找配置数据模板表,获得所配置的节点或参数的属性,根据获得的属性进行相应配置操作,本发明通过利用脚本语言实现了CWMP中XML的管理和配置,简化了数据的管理方式,通过脚本化的操作方便了系统的升级和维护。
【专利说明】
-种基于脚本语言的XML配置数据维护方法及系统
技术领域
[0001] 本发明设及一种嵌入式系统领域,特别是设及一种基于脚本语言的XML配置数据 维护方法及系统。
【背景技术】
[0002] 传统的CPE等网关终端,通过页面及命令行进行参数配置,配置较为低效并且不能 实行远程管理及大批量处理。
[0003] TR069(Technical Reports 069,用户侧设备广域网管理协议)是DSUDigital Subscriber Line,数字用户线)论坛所定义的协议标准,提供从网络侧对家庭网络中的网 关、路由器、机顶盒等设备进行远程集中管理的方式。在TR069所定义的框架中,主要包括两 类逻辑设备:受管理的CPE(CustomerPremise Equipment,用户侧设备)和负责管理的ACS (Automat ically Configuration Sever,自动配置服务器),其中,所有与C阳相关的配置、 诊断、升级等工作均由ACS来完成。
[0004] XML化xtens;Lble Markup Language,可扩展标记语言)是标准通用标记语言的子 集,是一种用于标记电子文件使其具有结构性的标记语言。在电子计算机中,标记指计算机 所能理解的信息符号,通过此种标记,计算机之间可W处理包含各种的信息,它可W用来标 记数据、定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言。XML非常适 合万维网传输,提供统一的方法来描述和交换独立于应用程序或供应商的结构化数据,是 Internet环境中跨平台的、依赖于内容的技术,也是当今处理分布式结构信息的有效工具。
[0005] 嵌入式设备中,经常使用XML进行配置数据的传递,比如TR069中的参数配置。在现 有的嵌入式设备中,一般直接使用自定义数据结构,比如数组或者链表等方式来实现数据 的操作,由于针对不同的XML结构需要自定义各种结构,因此,实现起来相对比较复杂,设计 和编码需要花费大量的时间;另一种方法是基于嵌入式数据来实现,由于数据库一般采用 关系型的描述方式,对于采用路径和节点等方式描述的形式,有些力不从屯、,另外,由于对 S化的依赖,工作效率不高,对于嵌入式设备来说,将会消耗更多的资源。
[0006] 综上所述,现有技术存在W下缺陷:
[0007] (1)需要进行精巧的数据结构设计,调试等工作耗费大量的时间;
[000引(2)对于数据库使用来说,消耗更多的资源,运行效率不高。

【发明内容】

[0009] 为克服上述现有技术存在的不足,本发明之目的在于提供一种基于脚本语言的 XML配置数据维护方法及系统,其用于解决现有技术耗时长、依赖性强、资源消耗多W及运 行效率不高的问题。
[0010] 为达上述目的,本发明提出一种基于脚本语言的XML配置数据维护方法,包括如下 步骤:
[0011] 步骤一,对配置数据建立一配置数据模板表,W保存配置数据中节点和参数的属 性;
[0012] 步骤二,利用脚本对配置数据建立配置数据全局表,实现节点与参数的默认数据 的配置;
[0013] 步骤Ξ,下发配置工单,获取配置的节点或参数,查找配置数据模板表,获得所配 置的节点或参数的属性,根据获得的属性进行相应配置操作。
[0014] 进一步地,于步骤Ξ中,首先根据配置工单,获得节点及参数,然后从该配置数据 模板表查找其属性是否可写,如果可写,则将所要配置的值写入配置数据全局表中,若不可 写,则不予写入。
[0015] 进一步地,该配置数据模板表根据需要保存配置数据的部分或节点及其属性,该 配置数据模板表保存配置数据的所有参数及其属性。
[0016] 进一步地,该配置数据模板表中节点的属性至少包括单实例或多实例,参数的属 性至少包括只读、可读/可写。
[0017] 进一步地,该配置数据全局表至少包括节点/参数及其默认值。
[0018] 进一步地,该方法还包括如下步骤,
[0019] 于配置数据全局表中对各节点或参数设置对应的操作函数,W在相应的节点中实 现对应的功能处理。
[0020] 进一步地,该脚本语言采用LUA脚本语言。
[0021] 为达到上述目的,本发明还提供一种基于脚本语言的XML配置数据维护系统,包 括:
[0022] 配置数据模板表建立单元,对配置数据建立一配置数据模板表,W保存配置数据 中节点和参数的属性;
[0023] 配置数据全局表建立单元,利用脚本对配置数据建立配置数据全局表,实现节点 与参数的默认数据的配置;
[0024] 配置维护单元,通过配置工单获取配置的节点或参数,查找配置数据模板表,获得 所配置的节点或参数的属性,根据获得的属性进行相应配置。
[0025] 进一步地,该配置维护单元首先根据配置工单,获得节点及参数,然后从该配置数 据模板表查找其属性是否可写,如果可写,则将所要配置的值写入配置数据全局表中,若不 可写,则不予写入。
[0026] 进一步地,该系统还包括节点功能扩展单元,该节点功能扩展单元于该配置数据 全局表中对各节点或参数设置对应的操作函数,W在相应的节点中实现对应的功能处理。
[0027] 与现有技术相比,本发明一种基于脚本语言的XML配置数据维护方法及系统通过 利用脚本语言化UA)实现了 CWMP(TR069)中XML的管理和配置,简化了数据的管理方式,通过 脚本化的操作方便了系统的升级和维护。
【附图说明】
[0028] 图1为本发明一种基于脚本语言的XML配置数据维护方法的步骤流程图;
[0029] 图2为本发明一种基于脚本语言的XML配置数据维护系统的系统架构图。
【具体实施方式】
[0030] w下通过特定的具体实例并结合【附图说明】本发明的实施方式,本领域技术人员可 由本说明书所掲示的内容轻易地了解本发明的其它优点与功效。本发明亦可通过其它不同 的具体实例加 W施行或应用,本说明书中的各项细节亦可基于不同观点与应用,在不背离 本发明的精神下进行各种修饰与变更。
[0031] 图1为本发明一种基于脚本语言的XML配置数据维护方法的步骤流程图。如图1所 示,本发明一种基于脚本语言的XML配置数据维护方法,包括如下步骤:
[0032] 步骤101,对配置数据建立一配置数据模板表,W保存配置数据中节点和参数的属 性。
[0033] 由于配置数据是一张动态表,服务器可W对数据进行任意的更改,因此,本发明首 先建立有一张配置数据模板表,用于保存配置数据节点和参数的属性。W配置数据 InternetGatewayDevice.LANDevice. {i} .Hosts. Host. {1}及 InternetGatewayDevice .ManagementServer .Periodicinforminterval为例,其配置数据 模板表如表1所示:
[0034] 表1配置模板表
[0035]
[0036] 在此需说明的是,配置模板表中保存的节点及其属性可W是全部节点,也可W是 部分节点,可视需要设置,配置模板表中保存有配置数据中所有的参数及其属性,本发明 中,配置数据的参数的属性,至少包括只读W及可读/可写两种属性。配置数据模板表的作 用在于保证数据的基本属性和操作维护保持一致。比如当对某个节点需要删除时,通过访 问模板表,如果发现该节点是只读属性,那将保证该节点不被删除。
[0037] 在本发明具体实施例中,W脚本语言LUA为例实现本发明。Lua是一种脚本语言。其 设计目的是为了嵌入应用程序中,从而为应用程序提供灵活的扩展和定制功能。Lua由标准 C编写而成,几乎在所有操作系统和平台上都可W编译,运行。Lua脚本可W很容易的被C/C+ +代码调用,也可W反过来调用C/C++的函数Lua由标准C编写而成,代码简洁优美,几乎在所 有操作系统和平台上都可W编译,运行。一个完整的Lua解释器不过200k,在目前所有脚本 引擎中,Lua的速度是最快的。
[003引在步骤101中,利用model函数实现节点和参数到配置数据模板表的转化,W上述 例子为例,其描述脚本如下:
[0039] model("InternetGatewayDevice.LANDevice. {i} .Hosts.Host. 1", |attr = '' Readonly"});
[0040] model("InternetGatewayDevice.ManagementServer.Periodicinforminterval" ,10)。
[0041] 步骤102,利用脚本对配置数据建立配置数据全局表,实现节点与参数的默认数据 的配置。
[0042] 在配置数据没有被服务器配置前,系统有一张基本的配置数据表。本发明首先针 对CWMP(TR069)中的节点定义,通过配置文件来实现全局表的默认值创建。W配置数据 InternetGatewayDevice.LANDevice. {i} .Hosts. Host, {i}及 InternetGatewayDevice .ManagementServer .Periodicinforminterval为例,其配置数据 全局表如表2所示:
[0043] 表2配置数据全局表
[0044]
[0045] ~本发明具体实施例中,针对CWMP(TR069)中的节点定义,通过配置文件实现配置爹义 据全局表的默认值创建,该配置文件的格式为:
[0046] parameters("InternetGatewayDevice.LANDevice.1.Hosts.Host.1" 192.168.1.1")
[0047] parameters("InternetGatewayDevice.ManagementServer. PeriodicInform Interval",10)
[004引其中parameters是通过LUA脚本书写的一个函数,完成全局表中节点参数的创建。
[0049] 本发明中,由于配置数据全局表的创建是通过脚本实现的,因此可W通过直接修 改脚本,实现默认数据的配置,而无需更改宿主语言(C),因此,本发明能大大加快开发的速 度。
[0050] 步骤103,下发配置工单,获取配置的节点或参数,查找配置数据模板表,获得所配 置的节点或参数的属性,根据获得的属性进行相应配置。
[0051 ] l^lSSlnternetGatewayDevice .ManagementServer .Periodicinforminterval^ 例,假如要设置该值,先下发配置工单,获得节点及参数 InternetGatewayDevice .ManagementServer .Periodicinforminterval,然后从配置数据 模板表查找其属性是否可写,如果可写,则将所要配置的值写入配置数据全局表中,若不可 写,则不予写入,在本发明实施例中,由于配置数据模板表中 InternetGatewayDevice .ManagementServer .Periodicinforminterval的属性为可写,则 将所要配置的值写入全局表中;如果是 InternetGatewayDevice .LANDevice. 1 .Hosts .Host. 1,首先依据CWMP的节点定义生成配置 数据模板表中的索引形式,变为Inte;rnetGatewayDevice丄ANDevice.{i}.Hosts.Host. U},检查是否可写,如果可写,则将配置写进全局表。
[00对在本发明具体实施例中,采用SetParameterValues函数实现,W配置 InternetGatewayDevice. ManagementServer .Periodicinforminterval 对应的值为例,
[0053] 首先调用设置
[0054] SetParameterValues(InternetGatewayDevice.ManagementServer.Periodicinf orminterval,20);
[0055] 然后通过查找节点并进行相应设置
[0056] getNode("InternetGatewayDevice.ManagementServer.Periodicinforminterva Γ),显示出内部的值如下:
[0化7] {
[0化引 v = 20
[0化9] }
[0060] 当然,通过其它的函数,比如Ge1:Paramete;rValues,Get化rameterNames等可W通 过类似的方法实现,在此不予寶述。
[0061] 较佳的,本发明之基于脚本语言的XML配置数据维护方法,还包括如下步骤:
[0062] 于配置数据全局表中对各节点或参数设置对应的操作函数,W在相应的节点中实 现对应的功能处理。
[0063] 由于CWMP本身只完成和服务器之间的配置数据交互,本身不完成功能的处理,因 此本发明在相应的节点中设置功能处理函数。具体地,在配置数据全局表中对各节点与参 数设置对应的操作函数,如表3所示:
[0064] 表3配置数据全局表
[00 化]
[0067] 在本发明具体实施例中,CWMP本身只完成和服务器之间的配置数据交互,因此需 要通知其它模块相应配置数据的更新,运里利用脚本语言LUA,采用如下配置文件:
[0068] notify("InternetGatewayDevice.ManagementServer",("cwmp"})
[0069] 其中not ify是函数,完成参数到模板表中内容的更新。
[0070] 可W继续修改配置为:
[0071 ] not if y("InternetGatewayDevice .ManagementServer", ("cwmp",''net if d''})
[0072] 表明 cwmp 和net if d都对节点 InternetGatewayDevice .ManagementServer 的更新 感兴趣。
[0073] getNode("Inte;rnetGatewayDevice .ManagementServer"),显示出内部的值如下:
[0074]
[0075] 当节点变化后,利用脚本可W找到相应的节点信息,并分别向相应的模块发送消 息,相应模块收到消息后,可进行相应处理。
[0076] 图2为本发明一种基于脚本语言的XML配置数据维护系统的系统架构图。如图2所 示,本发明一种基于脚本语言的XML配置数据维护系统,包括:配置数据模板表建立单元 201、配置数据全局表建立单元202 W及配置维护单元203。
[0077] 其中,配置数据模板表建立单元201,对配置数据建立一配置数据模板表,W保存 配置数据中节点和参数的属性。配置数据模板表中保存的节点及其属性可W是全部节点, 也可W是部分节点,可视需要设置,配置数据模板表中保存有配置数据中所有的参数及其 属性,本发明中,配置数据的参数的属性,至少包括只读W及可读/可写两种属性。配置数据 模板表的作用在于保证数据的基本属性和操作维护保持一致。比如当对某个节点需要删除 时,通过访问模板表,如果发现该节点是只读属性,那将保证该节点不被删除。
[0078] 配置数据全局表建立单元202,利用脚本对配置数据建立配置数据全局表,实现节 点与参数的默认数据的配置。该配置数据全局表中至少包括节点/参数及其对应的默认数 值。本发明具体实施例中,针对CWMP(TR069)中的节点定义,通过配置文件实现配置数据全 局表的默认值创建,该配置文件的格式为:
[0079] parameters("InternetGatewayDevice.LANDevi ce.1.HostS.Host.1"," 192.168.1.1")
[0080] parameters ("InternetGatewayDevice. ManagementServer. PeriodicInform Interval",10)
[0081]其中parameters是通过LUA脚本书写的一个函数,完成全局表中节点参数的创建。
[0082] 本发明中,由于配置数据全局表的创建是通过脚本实现的,因此可W通过直接修 改脚本,实现默认数据的配置,而无需更改宿主语言(C),因此,本发明能大大加快开发的速 度。
[0083] 配置维护单元203,通过配置工单获取配置的节点或参数,查找配置数据模板表, 获得所配置的节点或参数的属性,根据获得的属性进行相应配置。
[0084] l^lSSlnternetGatewayDevice .ManagementServer .Periodiclnformlnterval^ 例,假如要设置该值,通过配置工单,获得节点及参数 InternetGatewayDevice .ManagementServer .Periodicinforminterval,然后从配置数据 模板表查找其属性是否可写,如果可写,则将所要配置的值写入配置数据全局表中,若不可 写,则不予写入,在本发明实施例中,由于配置数据模板表中 InternetGatewayDevice .ManagementServer .Periodicinforminterval的属性为可写,则 将所要配置的值写入全局表中;如果是 InternetGatewayDevice .LANDevice. 1 .Hosts .Host. 1,首先依据 CWMP 的节点定义生成配置 数据模板表中的索引形式,变为Inte;rnetGatewayDevice丄ANDevice.{i}.Hosts.Host. U},检查是否可写,如果可写,则将配置写进全局表。
[0085] 较佳地,本发明之基于脚本语言的XML配置数据维护系统还包括节点功能扩展单 元204,节点功能扩展单元204于配置数据全局表中对各节点或参数设置对应的操作函数, W在相应的节点中实现对应的功能处理。例如,CWMP本身只完成和服务器之间的配置数据 交互,本身不完成功能的处理,需要通知其它模块相应配置数据的更新,可于配置数据全局 表中对节点或参数设置通知处理函数,W通知其它模块相应配置数据的更新。
[0086] 综上所述,本发明一种基于脚本语言的XML配置数据维护方法及系统通过利用脚 本语言(LUA)实现了 CWMP(TR069)中XML的管理和配置,简化了数据的管理方式,通过脚本化 的操作方便了系统的升级和维护。
[0087] 任何本领域技术人员均可在不违背本发明的精神及范畴下,对上述实施例进行修 饰与改变。因此,本发明的权利保护范围,应如权利要求书所列。
【主权项】
1. 一种基于脚本语言的XML配置数据维护方法,包括如下步骤: 步骤一,对配置数据建立一配置数据模板表,以保存配置数据中节点和参数的属性; 步骤二,利用脚本对配置数据建立配置数据全局表,实现节点与参数的默认数据的配 置; 步骤三,下发配置工单,获取配置的节点或参数,查找配置数据模板表,获得所配置的 节点或参数的属性,根据获得的属性进行相应配置操作。2. 如权利要求1所述的一种基于脚本语言的XML配置数据维护方法,其特征在于:于步 骤三中,首先根据配置工单,获得节点及参数,然后从该配置数据模板表查找其属性是否可 写,如果可写,则将所要配置的值写入配置数据全局表中,若不可写,则不予写入。3. 如权利要求2所述的一种基于脚本语言的XML配置数据维护方法,其特征在于:该配 置数据模板表根据需要保存配置数据的部分或节点及其属性,该配置数据模板表保存配置 数据的所有参数及其属性。4. 如权利要求3所述的一种基于脚本语言的XML配置数据维护方法,其特征在于:该配 置数据模板表中节点的属性至少包括单实例或多实例,参数的属性至少包括只读、可读/可 写。5. 如权利要求1所述的一种基于脚本语言的XML配置数据维护方法,其特征在于,该配 置数据全局表至少包括节点/参数及其默认值。6. 如权利要求5所述的一种基于脚本语言的XML配置数据维护方法,其特征在于,该方 法还包括如下步骤, 于配置数据全局表中对各节点或参数设置对应的操作函数,以在相应的节点中实现对 应的功能处理。7. 如权利要求1所述的一种基于脚本语言的XML配置数据维护方法,其特征在于:该脚 本语言采用LUA脚本语言。8. -种基于脚本语言的XML配置数据维护系统,包括: 配置数据模板表建立单元,对配置数据建立一配置数据模板表,以保存配置数据中节 点和参数的属性; 配置数据全局表建立单元,利用脚本对配置数据建立配置数据全局表,实现节点与参 数的默认数据的配置; 配置维护单元,通过配置工单获取配置的节点或参数,查找配置数据模板表,获得所配 置的节点或参数的属性,根据获得的属性进行相应配置。9. 如权利要求8所述的一种基于脚本语言的XML配置数据维护系统没,其特征在于:该 配置维护单元首先根据配置工单,获得节点及参数,然后从该配置数据模板表查找其属性 是否可写,如果可写,则将所要配置的值写入配置数据全局表中,若不可写,则不予写入。10. 如权利要求8所述的一种基于脚本语言的XML配置数据维护系统没,其特征在于:该 系统还包括节点功能扩展单元,该节点功能扩展单元于该配置数据全局表中对各节点或参 数设置对应的操作函数,以在相应的节点中实现对应的功能处理。
【文档编号】G06F17/30GK105824944SQ201610160164
【公开日】2016年8月3日
【申请日】2016年3月21日
【发明人】韩永华
【申请人】上海斐讯数据通信技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1