[发明专利]一种利用xml实现通用化数据交换的方法和系统在审
| 申请号: | 201310716493.4 | 申请日: | 2013-12-23 |
| 公开(公告)号: | CN103699633A | 公开(公告)日: | 2014-04-02 |
| 发明(设计)人: | 朱锦华 | 申请(专利权)人: | TCL集团股份有限公司 |
| 主分类号: | G06F17/30 | 分类号: | G06F17/30 |
| 代理公司: | 深圳市君胜知识产权代理事务所 44268 | 代理人: | 王永文;刘文求 |
| 地址: | 516001 广东省惠州市*** | 国省代码: | 广东;44 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 利用 xml 实现 通用 数据 交换 方法 系统 | ||
技术领域
本发明涉及网络通信技术领域,尤其涉及一种利用xml实现通用化数据交换的方法和系统。
背景技术
在CS架构的系统中,客户端与服务端之间的通讯,需要两端协商并定义消息的格式;在一些独立的应用程序中,根据业务需要也须定义数据格式;在C、C++开发的系统中,这些消息或者数据一般采用数据结构(struct)来定义,这些数据结构的定义,通常会放在一个头文件中,以便被引用。但是对于一个比较复杂CS架构的系统,消息或数据比较多,随之而来的是,需要定义很多数据结构,维护起来相当困难,而且一旦修改其中的某一个数据结构,则整个系统都需要重新编译,所以现有使用数据结构定义的网络通信的数据交换方法效率较低。
有些CS架构的系统采用xml、json的格式来传输数据,虽然这种方式使用起来较方便,数据格式也比较清晰,但是由于上述传输方式传输的是字符型数据,数据量大,在通讯时带来不必要的网络流量。
因此,现有技术还有待于改进和发展。
发明内容
鉴于上述现有技术的不足,本发明的目的在于提供一种利用xml实现通用化数据交换的方法和系统,旨在解决现有的数据传输方式维护不方便、效率低、流量大的问题。
本发明的技术方案如下:
一种利用xml实现通用化数据交换的方法,其中,包括步骤:
采用xml文件对数据的结构进行描述,所述数据描述后包括字段名和预设长度的字段值及字段的起始位置信息;
在进行序列化时,根据xml描述信息,将数据各字段值设置到指定位置,在设置完毕后得到数据的二进制流;
在进行反序列化时,根据xml描述信息,利用数据的各字段名从二进制流中读取相应字段值。
所述的利用xml实现通用化数据交换的方法,其中,采用xml文件对数据进行描述的步骤具体包括:
对数据的名称、类型、长度及位置分别描述。
所述的利用xml实现通用化数据交换的方法,其中,当数据类型为char时,其长度为1字节,当数据类型为short时,其长度为2字节,当数据类型为int时,其长度为4字节,当数据类型为long时,其长度为4字节,当数据类型为float时,其长度为4字节,当数据类型为double时,其长度为8字节,当数据类型为string时,其长度不定。
所述的利用xml实现通用化数据交换的方法,其中,序列化的步骤具体包括:
B1、解析xml,加载数据的xml描述信息,获取数据的ID;
B2、根据数据的ID以及xml描述信息,确定数据的大小,根据该大小申请数据的内存;
B3、根据xml描述信息中的各字段名对应的数据长度及位置信息,设置相应字段值到所述内存中得到数据的二进制流。
所述的利用xml实现通用化数据交换的方法,其中,反序列化的步骤具体包括:
C1、解析xml,加载数据的xml描述信息,从二进制流的开头读取数据的ID;
C2、根据xml描述信息中的各字段名对应的数据大小,获取相应字段值在二进制流中的开始位置以及结束位置的信息;
C3、根据字段开始位置以及结束位置的信息读取字段值,并结合相应字段名还原出原始数据。
一种利用xml实现通用化数据交换的系统,其中,包括:
描述模块,用于采用xml文件对数据的结构进行描述,所述数据描述后包括字段名和预设长度的字段值及字段的起始位置信息;
序列化模块,用于在进行序列化时,根据xml描述信息,将数据各字段值设置到指定位置,在设置完毕后得到数据的二进制流;
反序列化模块,用于在进行反序列化时,根据xml描述信息,利用数据的各字段名从二进制流中读取相应字段值。
所述的利用xml实现通用化数据交换的系统,其中,所述描述模块用于对数据的名称、类型、长度及位置分别描述。
所述的利用xml实现通用化数据交换的系统,其中,所述序列化模块具体包括:
数据ID获取单元,用于解析xml,加载数据的xml描述信息,获取数据的ID;
内存申请单元,用于根据数据的ID以及xml描述信息,确定数据的大小,根据该大小申请数据的内存;
字段值设置单元,用于根据xml描述信息中的各字段名相应的数据长度及位置信息,设置相应字段值到所述内存中得到数据的二进制流。
所述的利用xml实现通用化数据交换的系统,其中,所述反序列化模块具体包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于TCL集团股份有限公司,未经TCL集团股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310716493.4/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种承重盆栽箱
- 下一篇:一种用于模具抽芯的调整导轨





