CN101789013A - 一种用于描述关系数据的增强型csv文件格式 - Google Patents

一种用于描述关系数据的增强型csv文件格式 Download PDF

Info

Publication number
CN101789013A
CN101789013A CN201010105986A CN201010105986A CN101789013A CN 101789013 A CN101789013 A CN 101789013A CN 201010105986 A CN201010105986 A CN 201010105986A CN 201010105986 A CN201010105986 A CN 201010105986A CN 101789013 A CN101789013 A CN 101789013A
Authority
CN
China
Prior art keywords
field
data
type
csv
file format
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201010105986A
Other languages
English (en)
Inventor
王兴山
赵启杰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Inspur Group Shandong General Software Co Ltd
Original Assignee
Inspur Group Shandong General Software Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Inspur Group Shandong General Software Co Ltd filed Critical Inspur Group Shandong General Software Co Ltd
Priority to CN201010105986A priority Critical patent/CN101789013A/zh
Publication of CN101789013A publication Critical patent/CN101789013A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明提供一种用于描述关系数据的增强型CSV文件格式,采用CSV的基本标记方式,根据元数据的自描述能力,把一个关系型记录集完整的进行序列化,文件格式把记录集的一行序列化为一个不包含回车换行符号的字符序列,本发明的格式是以字符序列描述关系型数据的文件格式,特点是:方便异构信息系统间的数据交换;结构自描述;平台无关性;结构紧凑、健壮;语法简单、严谨;人机可读性;支持Unicode。

Description

一种用于描述关系数据的增强型CSV文件格式
技术领域
本发明涉及的是信息系统数据交换过程中的一种人机可读的高效的字符串编码方法和文件格式,具体地说是一种用于描述关系数据的增强型CSV文件格式。
背景技术
当代软件开发技术日新月异,数据访问技术林立,不同的系统之间进行关系型数据交换是一种极为常见的应用。
XML是信息交换的一种标准,但是它作为一种通用标记语言,如果要描述关系型数据需要进行深度扩展,结构较为复杂,而且冗余字符较多,不够精简。因此,开发人员常采用CSV文件格式。
逗号分隔型取值格式(英文全称为Comma Separated Values,简称CSV),是一种纯文本格式,用来存储数据。在CSV中,数据的字段由逗号分开,程序通过读取文件重新创建正确的字段,方法是每次遇到逗号时开始新一段数据。由于它是一种常见而简单的文件格式,CSV文件通常用于不同的计算机软件或同一软件不同的模块间进行数据传递交换。很多数据库程序和电子表格程序都支持CSV文件格式。
CSV文件用来做数据存储容量比XML小,功能比TXT强,但是CSV文件仍不具备完整描述关系型数据的能力,它不包含关系型数据中的数据域信息,仅仅保存了数据域的名称信息,这样就难以精确从CSV文件中反序列化成一个关系型记录集。
发明内容
关系型数据的序列化包括二进制和字符串两种,二进制序列化不便于信息交换。字符串序列化则便于数据交换。常见的字符串序列化技术有XML、CSV等。XML序列化较为复杂,而CSV格式则较为简单。但是CSV序列化是一种“有损”序列化。
本发明的目的是提供一种改进型的CSV文件,克服CSV文件格式的弱点,精确描述一个关系型记录集,为计算机软件之间进行表格数据传递提供一个统一的、简单的标准的用于描述关系数据的增强型CSV文件格式。
本发明的目的是按以下方式实现的,采用CSV的基本标记方式,根据元数据的自描述能力,把一个关系型记录集完整的进行序列化,文件格式把记录集的一行序列化为一个不包含回车换行符号的字符序列,具体步骤如下:
文件格式包含两个部分:1)元数据段;2)数据段;其中:
1)元数据段定义字段信息,元数据部分每行都是一个简短的CSV文件,其中字段定义,根据具体情况存在多行,字段定义采用如下语法:
<字段名称=数据类型>,<字段长度>,<显示标签>,<编辑掩码>,<显示长度>,<字段类型>,<缺省值>,字段长度规则:字符串型字段的长度为最大字符数;数值型和二进制型字段长度统一为零;
数据类型包括:Autoinc,Integer,Float,String,WideString,DateTime,Blob,Memo,Currency,Boolean;
2)数据段包含两部分:字段排列顺序信息行、数据行,其中字段排列顺序信息行以逗号分隔各标题,每个字段名放在两个引号中间,格式为:
″<Field1Caption>″,[″<Field2Caption>″],[……]
数据行列出对应的字段值,字段值放在双引号之间,字段值之间用逗号分隔:格式为:
″<Field1Value>″,″<Field2Value>″,<……>,数据行中的编码规则是:
(1)″转为″″(两个引号表示一个引号);
(2)%转为%%(两个%表示一个);
(3)回车用%c表示;
(4)换行用%n表示;
(5)Unicode用UTF-8编码;
(6)二进制数据用MIME编码;
(7)时间类型用MM/DD/YYYY/HH/mm/SS/sss格式表示。
本发明的优异效果是:与现有技术相比,本发明采用上述编码格式的文件具有人机可读性,避免歧义,可以被支持CSV格式的程序解析,解码算法简单,便于数据流读取,可广泛应用于各类系统进行表格数据交换。
附图说明
图1是关系型数据转增强型CSV文件算法流程图;
图2是一份完整的增强型CSV文件。
具体实施方式
本发明的一种用于描述关系数据的增强型CSV文件格式,含两个部分:1)元数据段2)数据段。
1)元数据段定义字段信息。
元数据部分每行都是一个简短的CSV文件。其中字段定义根据具体情况可能存在多行。字段定义采用如下语法,
<字段名称=数据类型>,<字段长度>,<显示标签>,<编辑掩码>,<显示长度>,<字段类型>,<缺省值>,字段长度规则:字符串型字段的长度为最大字符数;数值型和二进制型字段长度统一为零。
数据类型包括:Autoinc,Integer,Float,String,WideString,DateTime,Blob,Memo,Currency,Boolean。
2)数据段包含两部分:字段排列顺序信息行、数据行(多行)。
其中字段排列顺序信息行以逗号分隔各标题,每个字段名放在两个引号中间,格式为:
″<Field1Caption>″,[″<Field2Caption>″],[……]
数据行列出对应的字段值,字段值放在双引号之间,字段值之间用逗号分隔:
″<Field1Value>″,″<Field2Value>″,<……>,
数据行中的编码规则是:
1)″转为″″(两个引号表示一个引号)
2)%转为%%(两个%表示一个)
3)回车用%c表示
4)换行用%n表示
5)Unicode用UTF-8编码
6)二进制数据用MIME编码
7)时间类型用MM/DD/YYYY/HH/mm/SS/sss格式表示
实施例
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
以一个员工信息表为例,其字段数据类型如下表
  字段名   数据类型   长度   主键
  员工编号   String   50   是
  姓名   String   50
  性别   String   6
  出生日期   DateTime   0
  工资   Currency   0
源数据是下关系型数据
  员工编号   姓名   性别   出生日期   工资
  001   张刚   男   1977-12-26   3000
  002   李梅   女   1978-07-07   4000
第一步生成文件头如下(包括版本标识)
″@@FILE VERSION@@″,″300″
第二步生成元数据定义节如下所示
″@@TABLEDEF START@@″
″员工编号=String,50,″″员工编号″″,″″″″,20,Data,″″″″″
″姓名=String,50,″″姓名″″,″″″″,20,Data,″″″″″
″性别=String,6,″″性别″″,″″″″,6,Data,″″″″″
″出生日期=DateTime,0,″″出生日期″″,″″″″,6,Data,″″″″″
″工资=Currency,0,″″性别″″,″″工资″″,6,Data,″″″″″
第三步生成索引定义节
@@INDEXDEF START@@″
″员工编号″,″ASC″
″@@INDEXDEF END@@″
第四步结束元数据段,添加如下内容
″@@TABLEDEF END@@″
第五步生成数据段
″员工编号″,″姓名″,″性别″,″出生日期″,″工资″,
″001″,″张刚″,″男″,″12/26/1977″,″01/01/2001″,″3000″,
″002″,″李梅″,″女″,″07/07/1978″,″01/01/1990″,″4000″。

Claims (1)

1.一种用于描述关系数据的增强型CSV文件格式,其特征在于,采用CSV的基本标记方式,根据元数据的自描述能力,把一个关系型记录集完整的进行序列化,文件格式把记录集的一行序列化为一个不包含回车换行符号的字符序列,具体步骤如下:
文件格式包含两个部分:1)元数据段;2)数据段;其中:
1)元数据段定义字段信息,元数据部分每行都是一个简短的CSV文件,其中字段定义,根据具体情况存在多行,字段定义采用如下语法:
<字段名称=数据类型>,<字段长度>,<显示标签>,<编辑掩码>,<显示长度>,<字段类型>,<缺省值>,字段长度规则:字符串型字段的长度为最大字符数;数值型和二进制型字段长度统一为零;
数据类型包括:Autoinc,Integer,Float,String,WideString,DateTime,Blob,Memo,Currency,Boolean;
2)数据段包含两部分:字段排列顺序信息行、数据行,其中字段排列顺序信息行以逗号分隔各标题,每个字段名放在两个引号中间,格式为:
″<Field1Caption>″,[″<Field2Caption>″],[……]
数据行列出对应的字段值,字段值放在双引号之间,字段值之间用逗号分隔:格式为:
″<Field1Value>″,″<Field2Value>″,<……>,数据行中的编码规则是:
(1)″转为″″(两个引号表示一个引号);
(2)%转为%%(两个%表示一个);
(3)回车用%c表示;
(4)换行用%n表示;
(5)Unicode用UTF-8编码;
(6)二进制数据用MIME编码;
(7)时间类型用MM/DD/YYYY/HH/mm/SS/sss格式表示。
CN201010105986A 2010-02-04 2010-02-04 一种用于描述关系数据的增强型csv文件格式 Pending CN101789013A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201010105986A CN101789013A (zh) 2010-02-04 2010-02-04 一种用于描述关系数据的增强型csv文件格式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201010105986A CN101789013A (zh) 2010-02-04 2010-02-04 一种用于描述关系数据的增强型csv文件格式

Publications (1)

Publication Number Publication Date
CN101789013A true CN101789013A (zh) 2010-07-28

Family

ID=42532227

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201010105986A Pending CN101789013A (zh) 2010-02-04 2010-02-04 一种用于描述关系数据的增强型csv文件格式

Country Status (1)

Country Link
CN (1) CN101789013A (zh)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102571282A (zh) * 2012-01-17 2012-07-11 航天科工深圳(集团)有限公司 一种网络数据封包处理器及其方法
CN102750268A (zh) * 2012-06-19 2012-10-24 山东中创软件商用中间件股份有限公司 一种对象序列化方法、对象反序列化方法、装置及系统
CN104077335A (zh) * 2013-05-07 2014-10-01 腾讯科技(深圳)有限公司 一种结构化数据的序列化、反序列化方法、装置和系统
CN104850565A (zh) * 2014-02-19 2015-08-19 北京京东尚科信息技术有限公司 一种基于k-v存储系统的元数据管理方法
CN107102973A (zh) * 2017-03-15 2017-08-29 中国互联网络信息中心 一种csv格式文件的数据提取方法及系统
CN107861885A (zh) * 2017-11-07 2018-03-30 浪潮软件股份有限公司 一种数据传输方法及传输装置
CN108763175A (zh) * 2018-06-26 2018-11-06 中国银行股份有限公司 一种csv文件处理方法及系统
CN110764777A (zh) * 2019-10-17 2020-02-07 北京东土科技股份有限公司 一种elf文件生成方法、elf文件、设备及存储介质
CN111460128A (zh) * 2019-11-14 2020-07-28 临沂市拓普网络股份有限公司 一种基于认知诊断的计算机化自适应测验方法
CN111666327A (zh) * 2020-06-10 2020-09-15 山东汇贸电子口岸有限公司 一种基于文本的结构化数据描述方法及其系统

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102571282A (zh) * 2012-01-17 2012-07-11 航天科工深圳(集团)有限公司 一种网络数据封包处理器及其方法
CN102750268A (zh) * 2012-06-19 2012-10-24 山东中创软件商用中间件股份有限公司 一种对象序列化方法、对象反序列化方法、装置及系统
CN104077335A (zh) * 2013-05-07 2014-10-01 腾讯科技(深圳)有限公司 一种结构化数据的序列化、反序列化方法、装置和系统
CN104077335B (zh) * 2013-05-07 2017-05-03 腾讯科技(深圳)有限公司 一种结构化数据的序列化、反序列化方法、装置和系统
CN104850565B (zh) * 2014-02-19 2018-05-22 北京京东尚科信息技术有限公司 一种基于k-v存储系统的元数据管理方法
CN104850565A (zh) * 2014-02-19 2015-08-19 北京京东尚科信息技术有限公司 一种基于k-v存储系统的元数据管理方法
CN107102973A (zh) * 2017-03-15 2017-08-29 中国互联网络信息中心 一种csv格式文件的数据提取方法及系统
CN107861885A (zh) * 2017-11-07 2018-03-30 浪潮软件股份有限公司 一种数据传输方法及传输装置
CN108763175A (zh) * 2018-06-26 2018-11-06 中国银行股份有限公司 一种csv文件处理方法及系统
CN110764777A (zh) * 2019-10-17 2020-02-07 北京东土科技股份有限公司 一种elf文件生成方法、elf文件、设备及存储介质
CN111460128A (zh) * 2019-11-14 2020-07-28 临沂市拓普网络股份有限公司 一种基于认知诊断的计算机化自适应测验方法
CN111460128B (zh) * 2019-11-14 2023-09-12 临沂市拓普网络股份有限公司 一种基于认知诊断的计算机化自适应测验方法
CN111666327A (zh) * 2020-06-10 2020-09-15 山东汇贸电子口岸有限公司 一种基于文本的结构化数据描述方法及其系统

Similar Documents

Publication Publication Date Title
CN101789013A (zh) 一种用于描述关系数据的增强型csv文件格式
Schmidt The inadequacy of embedded markup for cultural heritage texts
CN102096787B (zh) 一种基于word2007文本切分的信息隐藏方法及其装置
CN102122280B (zh) 一种智能提取内容对象的方法及系统
US7370060B2 (en) System and method for user edit merging with preservation of unrepresented data
CN102937949B (zh) 一种在富文本编辑器内实现英文拼写检查的方法及系统
CN112671734B (zh) 面向多数据源的报文处理方法及其相关设备
CN104464422A (zh) 一种基于信息工程的互动教学方法及系统
Felicetti et al. CIDOC CRM and Epigraphy: a Hermeneutic Challenge.
Chen et al. Text watermarking algorithm based on semantic role labeling
Burnard What is SGML and how does it help?
CN113297831B (zh) 一种Excel生成可校验报表网页的方法和系统
CN105608137A (zh) 一种提取身份标识的方法和装置
CN110008807A (zh) 一种合同内容识别模型的训练方法、装置及设备
CN103885765A (zh) 一种xbrl元素的编码方法
CN102567796A (zh) 数据导入方法和装置
CN102063416A (zh) 向pdf文件内嵌双字节字体的方法及其系统
CN104317935B (zh) 一种xml账单文件批量生成html页面的方法及系统
CN101587470A (zh) 文档的编辑方法及装置
CN103870439A (zh) 一种维哈柯文显示方法及应用
Bruckschen et al. Named entity recognition in the legal domain for ontology population
US8719693B2 (en) Method for storing localized XML document values
CN102708206A (zh) 一种数据格式的描述方法
Paulheim A robust number parser based on conditional random fields
CN101739389A (zh) 一种方便的实现藏文扩充集的方法及系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication

Open date: 20100728