[发明专利]XML数据存储系统和方法有效

专利信息
申请号: 200710126038.3 申请日: 2007-06-29
公开(公告)号: CN101082937A 公开(公告)日: 2007-12-05
发明(设计)人: 何松 申请(专利权)人: 中兴通讯股份有限公司
主分类号: G06F17/30 分类号: G06F17/30
代理公司: 北京康信知识产权代理有限责任公司 代理人: 尚志峰;吴孟秋
地址: 518057广东省深圳市南*** 国省代码: 广东;44
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: xml 数据 存储系统 方法
【说明书】:

技术领域

发明涉及一种XML数据存储系统和方法。

背景技术

通讯设备中一般都会涉及到配置数据存储,目前数据存储在通讯设备领域主要存在以下几个问题:由于通讯设备采用的软硬件平台各异,进行数据交互时难免会碰到数据字节序问题;由于通讯领域是一种需求变化非常激烈与频繁的领域,一旦需求改变,很可能就会导致配置数据的改变,这样就存在一个数据兼容性与可扩展性问题;以及可读性问题,数据文件的阅读往往需要额外的解析程序予以解析。

其中最重要的,也是最难解决的问题就是第二个问题,即数据兼容性与可扩展性问题。对此问题的解决,有多种数据存储方式都提出了自己的方案,下面给出两种比较主流的方式。

1)常见的二进制存储方式,通过数据文件版本号字段来区分不同数据版本的数据结构,缺陷是,必须记忆每个数据版本的数据结构,兼容性处理方面十分复杂与冗余,同时二进制存储在跨平台和可读性上是无法和纯文本的XML存储相比的;以及

2)XML存储,XML存储是目前比较流行的一种跨平台网络应用程序的数据交流方式。

但是目前还很少见到应用于嵌入式通讯领域,常见的XML解析方法主要分为三大类:

a.DOM解析,需要将整个XML文件同时加载到内存中,建立一棵完整的解析树,实现对XML文件的动态随机访问,这样的缺点是当XML文件很大时会占用过多的系统内存;

b.SAX解析,SAX是一个用于处理XML的事件驱动的“推”模型,其中,SAX解析器不像DOM那样建立一个整个文档的树型表示,而是在读取文档时激活一系列的事件,这些事件被推给事件处理器,而事件处理器则提供对文档内容的访问,SAX的缺点是必须实现处理所有到来事件的事件处理程序;以及

c.StAx解析。StAX和SAX一样,使用一种事件驱动的模型。然而,StAX不使用SAX的推模型,而是使用“拉”模型进行事件处理,而且StAX解析器不使用回调机制,而是根据应用程序的要求返回事件。

对通讯设备的嵌入式运行环境而言,内存始终是一种稀缺紧张资源,因此DOM解析显然是不适合的。SAX解析由于是由解析器主动生成事件,推给事件处理器来解决,应用程序无法对事件的过滤进行要求和控制,因此不能很好的满足通讯应用领域需求变化频繁是对数据兼容性与可扩展性的要求。StAX解析中的拉模型,需要应用程序自己进行事件的判断与过滤,没有回调机制,当应用程序所需要的事件非常复杂时就不太适用了,而通讯设备应用领域所需要处理的事件往往是非常复杂多变的。

因而,急需一种很适用于通讯设备嵌入式运行环境的XML数据存储技术,解决通讯设备的数据存储的可兼容性可扩展性,跨平台性,及可读性问题。

发明内容

为了解决上述问题,本发明提供了一种XML数据存储系统和方法,其结合了XML SAX解析和StAX解析各自优点的一种变种,既有SAX“推”模型又有StAX“拉”模型特点,同时又对标准的XML解析作了很多简化,很适用于通讯设备嵌入式运行环境,可以很好的解决数据的跨平台性、可扩展性、兼容性、可读性问题。

本发明的一个方面提供了一种XML数据存储系统,其可以包括:XML注册模块,用于由应用程序完成对事件的注册,通过调用XML解析模块的读取属性接口来读取需要保存的数据结构,以及通过调用XML保存模块的保存属性接口来保存需要保存的数据结构;XML解析模块,与XML注册模块交互,用于从XML数据文件中分辨出事件,解析事件对应的结构名,找到事件对应的读取属性接口,进行回调,提供用于语言原生类型的解析接口,用于根据输入属性名称和记录体字符串,解析出对应的属性值;以及XML保存模块,与XML注册模块相连,用于提供用于语言原生类型的保存属性接口,用于对XML属性进行保存。

本发明还提供了一种XML数据存储方法,其可以包括以下步骤:步骤202,应用程序使用XML注册模块完成对事件的注册;步骤204,XML解析模块与XML注册模块交互,从XML数据文件中分辨出事件,解析事件对应的结构名,找到事件对应的读取属性接口,进行回调;以及步骤206,XML保存模块与XML注册模块相连,对XML属性进行保存。

其中,XML注册模块通过调用XML解析模块的读取属性接口来读取需要保存的数据结构,以及通过调用XML保存模块的保存属性接口来保存需要保存的数据结构。

另外,解析模块提供用于语言原生类型的解析接口,用于根据输入属性名称和记录体字符串,解析出对应的属性值。XML保存模块提供用于语言原生类型的保存属性接口。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中兴通讯股份有限公司,未经中兴通讯股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/200710126038.3/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top