一种结构化数据交换格式方法

时间:2024-02-07 点赞:49507 浏览:99223 作者原创标记本站原创

本文是一篇数据库论文范文,数据库相关硕士毕业论文,关于一种结构化数据交换格式方法相关毕业论文开题报告范文。适合数据库及数据项及数据方面的的大学硕士和本科毕业论文以及数据库相关开题报告范文和职称论文写作参考文献资料下载。

摘 要:本文提供一种结构化数据交换格式及方法,数据交换包的结构主要由数据项值对与数据记录集两种结构组成,能很简明地描述数据,并使用特殊的不可输入分隔符将数据项分开,包含数据项值对与数据记录集的格式实现,只增加了很少的冗余数据,序列化编码、解码的方法简单,体积小,编码的效率较高,能支持文本和二进制数据,可直接阅读.与XML、JSON等格式相比,有数据包小、数据交换速度快、应用方便等特点,可以把它用在C/S/S架构、B/S/S架构或分布式应用之间的数据通信,异构环境下的数据交换也适用.

关 键 词:XMLJSON结构化数据交换

1技术背景

随着计算机技术的发展,计算机网络的应用无处不在,应用软件的架构也已脱离桌面式单机时代,发展到C/S(客户/服务架构)、C/S/S(客户/中间件应用服务/数据库服务)、B/S/S(浏览器客户/Web应用服务/数据库服务)和分布式多层异构平台.这些结构都能实现多客户端、多并发和大型数据访问的软件管理信息系统,大大提高了信息流通的速度和效率,吸引了越来越多的企业、个人通过网络从事其相关活动,基于网络的数据交换和业务协作越来越频繁.

数据交换的协议主要是基于TCP/IP、HTTP等底层协议,数据的访问方法不同架构有不同的方式:

C/S主要使用数据库服务器专有协议和数据格式,使用如SQL(结构化查询语言)等方法,利用客户端的开发工具(如PowerBuilder,Delphi,Vb等)实现数据的访问.

C/S/S架构客户端使用与中间件应用服务器的专有协议访问,如OracleBeaTuxedo使用简单的字串到复杂的FML等多种交换方式实现客户端与中间件的数据交换.中间件与数据库的访问同C/S架构.

B/S/S是基于浏览器瘦客户端,使用HTTP协议与WEB服务器交互,在文本交互方式的基础上发展出如XML、JSON等开放的交换格式.

当前流行的数据交换格式和方案主要有XML、JSON和Google的Protocolbuffer等.

XML:以文本格式描述数据的标记语言,缺点是用XML描述的数据比原始数据大很多,而且数据访问解析比较慢,格式复杂,传输占用带宽.服务器端和客户端都需要花费大量代码来解析XML,不论服务器端和客户端代码变的异常复杂和不容易维护,客户端不同浏览器之间解析XML的方式不一致,需要重复编写很多代码,服务器端和客户端解析XML花费资源和时间都较多.

JSON:(JaScriptObjectNotation)是一种轻量级的数据交换格式,它基于JaScriptProgrammingLanguage,相对于XML,它更加易读.但JSON中的分隔符只限于单引号、小括号、中括号、大括号、冒号和逗号等可输入字符,若数据内容中本身包含这些字符时,要做转移处理,会增加解析的复杂度,且对于其它语言编码解码相对复杂.

Protocolbuffer:是Google公司开源的结构化数据格式,功能类似XML,但结构复杂,编码与解码API比较复杂,编码过程需要专门的编译步骤,压缩的二进制格式,无法直接阅读.

2一种结构化数据交换格式及方法

本文提供一种结构化数据交换格式及方法,数据交换包的结构主要由数据项值对与数据记录集两种结构组成,能很简明地描述数据,并使用特殊的不可输入分隔符将数据项分开,包含数据项值对与数据记录集的格式实现,只增加了很少的冗余数据,序列化编码、解码的方法简单,体积小,编码的效率较高,能支持文本和二进制数据,可直接阅读.与XML、JSON等格式相比,有数据包小、数据交换速度快、应用方便等特点,可以把它用在C/S/S架构、B/S/S架构或分布式应用之间的数据通信,异构环境下的数据交换也适用.如图1

结构化数据交换格式由两大数据区组成,一是数据项值对区,另一个是数据记录集内容区,数据项值对也可以理解为数据域,由数据项的名称和数据项的内容组成,这类数据项通常在软件开发中简称为“值对”,值对的优点是在数据交换中每个数据项可以用唯一的名称标识出来,在数据交换解析时可以用名称直接取得该数据项的内容,可以提高解析速度,本文描述的结构中数据项值对以最小的冗余来描述,如图2所示:

数据项名称与数据项内容之间用不可输入的字符分隔,该字符为ASCII码为1的键盘不可输入字符,数据项的内容中不易包含这类字符.数据项值对区由若干个数据项组成,本文描述提供的格式将不同的数据项之间由ASCII码为2的字符分隔.数据项值对区结束由ASCII码为6的字符表示.

数据项值对主要表达一维的数据,数据交换中还需要表达二维结构的数据,通常称为数据记录集,本文描述提供的格式将记录集的描述进行了优化,同一个数据包中可包含一个以上的记录集,每个记录集有唯一的名称,并将每个记录集的属性(主要有记录集的名称、记录数和列名)以数据项值对形式放入了数据项值对区中,解析数据时可用名称取得记录集,并通过属性项可以取得记录集记录数和记录集的各列名称,大大提高记录集的解析速度.

数据记录集的名称属性设计为一个特殊的数据项值对,该数据项值对的名称为数据记录集的名称,该数据项值对的内容为一固定的记录集标识符:[$],由美元符号和一对中括号组成.

数据记录集的记录数属性由编码时放入,该项的名称为:“数据记录集的名称.rows”,该项的值为记录数.

数据记录集的各列号由一数据项表示,该项的名称为:“数据记录集的名称.cols”,该项的内容是由各列名称和ASCII码为4的列分隔符组成,参见图3:

数据记录集内容区如图4:

由若干个记录集内容组成,每个记录集的内容格式由名称、行数据和结束符组成,记录集内容开始处的名称由三部分组成,一是标识起始符,由ASCII码为3的字符和‘<’字符总共2个字符组成,第二部分是记录集名称,第三部分为标识结束符,由字符‘>’和ASCII码为3的字符组成,行数据由每行数据组成,行与行之间由ASCII码为5的字符分隔,行数据由数据集的各列加上ASCII码为4的列分隔符组成,记录集内容结束符与数据项值对区结束符相对,为ASCII码为6的字符,数据记录集内容区中的多个记录集依次存放.


相关论文

一种修改表数据的简单方法

本文是一篇数据库论文范文,数据库类有关大学毕业论文,关于一种修改表数据的简单方法相关毕业论文的格式范文。适合数据库及字段及操作方面的。

毕业文常用的几种结构格式

本论文为关于层次相关毕业论文的怎么写,关于毕业文常用的几种结构格式相关硕士论文开题报告,可用于层次论文写作研究的大学硕士与本科毕业。

基于XML的高校异构数据交换平台设计

此文是一篇数据库论文范文,数据库相关论文范文素材,与基于XML的高校异构数据交换平台设计相关在职毕业论文开题报告。适合不知如何写数据库。

房屋建筑结构设计的原则与方法

本文是一篇建筑结构设计论文范文,建筑结构设计方面毕业论文提纲,关于房屋建筑结构设计的原则与方法相关专科毕业论文范文。适合建筑结构设计。

房屋建筑结构设计的原则和方法

本文是一篇建筑结构设计论文范文,建筑结构设计相关研究生毕业论文开题报告,关于房屋建筑结构设计的原则和方法相关学士学位论文范文。适合建。