[发明专利]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保存模块提供用于语言原生类型的保存属性接口。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中兴通讯股份有限公司,未经中兴通讯股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200710126038.3/2.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置





