一种转换数据的方法及装置.pdf

上传人:大师****2 文档编号:973131 上传时间:2018-03-22 格式:PDF 页数:16 大小:746.52KB
返回 下载 相关 举报
摘要
申请专利号:

CN200910079936.7

申请日:

2009.03.13

公开号:

CN101504662A

公开日:

2009.08.12

当前法律状态:

授权

有效性:

有权

法律详情:

授权|||实质审查的生效|||公开

IPC分类号:

G06F17/30

主分类号:

G06F17/30

申请人:

北大方正集团有限公司; 北京北大方正电子有限公司

发明人:

赵 杰

地址:

100871北京市海淀区成府路298号方正大厦9层

优先权:

专利代理机构:

北京同达信恒知识产权代理有限公司

代理人:

黄志华

PDF下载: PDF下载
内容摘要

本发明实施例公开了一种转换数据的方法,该方法为:获取待印刷的源文件以及所述源文件的描述信息;根据所述描述信息确定所述源文件所包含的字段以及所述字段的属性;从所述源文件所包含的字段中选取目标文件所包含的字段,根据所述字段的属性从所述源文件中读取所述字段对应的字段内容;按照所述目标文件的数据格式将读取到的字段内容写入所述目标文件。本发明实施例还公开了一种数据转换装置。采用本发明,能够将待印刷的不同源文件转化为具有统一数据格式的文件。

权利要求书

1、  一种转换数据的方法,其特征在于,该方法包括:
获取待印刷的源文件以及所述源文件的描述信息;
根据所述描述信息确定所述源文件所包含的字段以及所述字段的属性;
从所述源文件所包含的字段中选取目标文件所包含的字段,根据所述目标文件所包含的字段的属性从所述源文件中读取所述字段对应的字段内容;
按照所述目标文件的数据格式将读取到的字段内容写入所述目标文件。

2、
  如权利要求1所述的方法,其特征在于,所述根据所述描述信息确定所述源文件所包含的字段以及所述字段的属性包括:
从所述源文件的描述信息中读取所述源文件所包含字段的标识信息,根据读取到的标识信息确定所述源文件所包含的字段;
从所述源文件的描述信息中读取所述源文件所采用的数据格式的属性信息,以及所述源文件所包含字段的位置关系信息,将所述数据格式的属性信息和所述位置关系信息确定为所述源文件所包含字段的属性信息。

3、
  如权利要求2所述的方法,其特征在于,在所述源文件所采用的数据格式为固定分隔符格式时,所述数据格式的属性信息包括:固定分隔符。

4、
  如权利要求2所述的方法,其特征在于,在所述源文件所采用的数据格式为数据定长格式时,所述数据格式的属性信息包括:字段长度信息。

5、
  如权利要求2所述的方法,其特征在于,在所述源文件所采用的数据格式为数据库表格式时,所述数据格式的属性信息包括:数据库表中字段的数据类型信息。

6、
  如权利要求1所述的方法,其特征在于,在根据所述描述信息确定所述源文件所包含的字段以及所述字段的属性之后,并且从所述源文件所包含的字段中选取目标文件所包含的字段之前,该方法进一步包括:
创建树型结构数据的根节点,在所述根节点下创建子节点,该子节点为所述源文件的标识;在所述根节点的子节点下创建子节点,创建的子节点为所述源文件所包含的字段;并记录所述字段的属性信息。

7、
  如权利要求6所述的方法,其特征在于,在所述根节点的子节点下创建子节点后,该方法进一步包括:
根据所述源文件的描述信息确定所述树型结构数据中子节点对应的字段是否包含子字段,若是,则在所述子节点下创建子节点,创建的子节点为所述子字段;
从所述源文件的描述信息中读取所述子字段的属性信息,并记录所述属性信息。

8、
  如权利要求6或7所述的方法,其特征在于,所述从所述源文件所包含的字段中选取目标文件所包含的字段包括:
从所述树型结构数据所包含的子节点中选取目标文件所包含的字段。

9、
  一种数据转换装置,其特征在于,该装置包括:
获取单元,用于获取源文件以及所述源文件的描述信息;
确定单元,用于根据所述描述信息确定所述源文件所包含的字段以及所述字段的属性;
读取单元,用于从所述源文件所包含的字段中选取目标文件所包含的字段,根据所述目标文件所包含的字段的属性从所述源文件中读取所述字段对应的字段内容;
写入单元,用于按照所述目标文件的数据格式将读取到的字段内容写入所述目标文件。

10、
  如权利要求9所述的装置,其特征在于,所述确定单元包括:
字段确定单元,用于从所述源文件的描述信息中读取所述源文件所包含字段的标识信息,根据读取到的标识信息确定所述源文件所包含的字段;
属性确定单元,用于从所述源文件的描述信息中读取所述源文件所采用的数据格式的属性信息,以及所述源文件所包含字段的位置关系信息,将所述数据格式的属性信息和所述位置关系信息确定为所述源文件所包含字段的属性信息。

11、
  如权利要求10所述的装置,其特征在于,该装置进一步包括:
树型数据创建单元,用于创建树型结构数据的根节点,在所述根节点下创建子节点,该子节点为所述源文件的标识;在所述根节点的子节点下创建子节点,创建的子节点为所述源文件所包含的字段。

12、
  如权利要求11所述的装置,其特征在于,该装置进一步包括:
递归单元,用于在所述根节点的子节点下创建子节点后,根据所述源文件的描述信息确定所述树型结构数据中子节点对应的字段是否包含子字段,若是,则在所述子节点下创建子节点,创建的子节点为所述子字段。

13、
  如权利要求11或12所述的装置,其特征在于,所述读取单元用于:
从所述树型数据创建单元创建的树型结构数据所包含的子节点中选取目标文件所包含的字段。

说明书

一种转换数据的方法及装置
技术领域
本发明涉及数字印刷领域,尤其涉及一种转换数据的方法及装置。
背景技术
随着数字化印刷的普及和发展,在许多使用传统印刷的领域已经被数字印刷所替代。
由于不同用户可能提供数据格式不同的源文件,印刷厂商在对各个用户提供的源文件进行印制时,首先需要针对每种数据格式编写数据分析程序,然后利用编写的不同的数据分析程序对不同的源文件进行解析,以识别源文件中的数据字段并将字段内容以统一格式进行输出。
当前文件所采用的数据格式主要包括固定分割符格式、数据定长格式和数据库表格式。其中,固定分割符格式是指文件中的各个字段以某一固定的分割符来分割,分割符可以是标点符号、空格、竖线等。数据定长格式是指文件中固定长度的数据为一个字段,据此来识别不同的字段内容;数据库表格式是指文件的字段内容以数据库表的格式进行保存,目前的数据库表有SQL SERVER数据库表、Oracle数据库表等。
印刷厂商在印制文件前需要为每种数据格式编写数据分析程序,不仅需要对固定分割符格式的源文件、数据定长格式的源文件、数据库表格式的源文件分别编写数据分析程序,即便是都采用固定分割符格式的不同源文件,若采用的固定分割符不同,则需要针对不同的固定分割符分别编写数据分析程序;即便是都采用数据定长格式的不同源文件,若采用的定长不同,则需要针对不同的定长分别编写数据分析程序;同样的,需要针对不同的数据库表编写不同的数据分析程序。
在实现本发明的过程中,发明人发现现有技术中存在如下技术问题:
现有技术中,在对不同数据格式的源文件进行印刷时,针对每种数据格式编写数据分析程序来实现数据字段的识别和输出,而没有将不同数据格式的源文件转换为具有统一格式的文件,使得对源文件的印刷效率较低。
发明内容
本发明实施例提供一种转换数据的方法及装置,用于解决现有技术中待印刷的源文件的数据格式不统一的问题。
本发明实施例提供一种转换数据的方法,该方法包括:
获取待印刷的源文件以及所述源文件的描述信息;
根据所述描述信息确定所述源文件所包含的字段以及所述字段的属性;
从所述源文件所包含的字段中选取目标文件所包含的字段,根据所述目标文件所包含的字段的属性从所述源文件中读取所述字段对应的字段内容;
按照所述目标文件的数据格式将读取到的字段内容写入所述目标文件。
本发明实施例提供一种数据转换装置,该装置包括:
获取单元,用于获取源文件以及所述源文件的描述信息;
确定单元,用于根据所述描述信息确定所述源文件所包含的字段以及所述字段的属性;
读取单元,用于从所述源文件所包含的字段中选取目标文件所包含的字段,根据所述目标文件所包含的字段的属性从所述源文件中读取所述字段对应的字段内容;
写入单元,用于按照所述目标文件的数据格式将读取到的字段内容写入所述目标文件。
本发明实施例提供的方案中,通过获取源文件的描述信息,根据该描述信息确定源文件所包含的字段以及包含字段的属性,并根据字段的属性从源文件中读取对应的字段内容,最终按照目标文件的数据格式将读取到的字段内容写入目标文件,从而实现了将待印刷的不同源文件转化为具有统一数据格式的文件的目的。
附图说明
图1为本发明实施例提供的方法流程示意图;
图2A为本发明实施例中源文件1的示意图;
图2B为本发明实施例中源文件2的示意图;
图2C为本发明实施例中目标文件的示意图;
图2D为本发明实施例中创建的树型结构数据的示意图;
图2E为本发明实施例中转换后的目标文件示意图;
图3为本发明实施例提供的装置结构示意图。
具体实施方式
为了使得待印刷的多个源文件具有统一的数据格式,本发明实施例提供一种转换数据的方法,本方法中,根据用户提供的源文件的描述信息确定源文件所包含的字段以及字段的属性,然后根据字段的属性从源文件中读取该字段对应的字段内容,并按照目标文件的数据格式将读取到的字段内容写入目标文件中。
参见图1,本发明实施例提供的转换数据的方法,具体包括如下步骤:
步骤10:获取待印刷的源文件以及该源文件的描述信息;
步骤11:根据获取到的源文件的描述信息确定源文件所包含的字段以及所包含字段的属性;
步骤12:从源文件所包含的字段中选取目标文件所包含的字段,根据选取的字段的属性从源文件中读取该字段对应的字段内容;
步骤13:按照目标文件的数据格式将读取到的字段内容写入目标文件。
步骤10中,源文件的描述信息中可以包含源文件的显示方式等、编码方式、源文件所包含字段的信息以及所包含字段在源文件中的位置关系信息等。对于采用固定分隔符格式的源文件,描述信息中还可以包含固定分隔符等数据格式的属性信息;对于采用数据定长格式的源文件,描述信息中还可以包含字段长度等数据格式的属性信息;对于采用新数据库表格式的源文件,描述信息中还可以包含数据库表中字段的数据类型等数据格式的属性信息。
步骤11中,根据源文件的描述信息确定源文件所包含的字段以及所包含字段的属性的具体方法为:
首先,从源文件的描述信息中读取源文件所包含字段的标识信息,根据读取到的标识信息确定源文件所包含的字段,例如,标识信息包含了姓名、卡号、交易金额,则可确定源文件中包含姓名、卡号和交易金额三个字段;
然后,从源文件的描述信息中读取源文件所采用的数据格式的属性信息,以及源文件所包含字段的位置关系信息,将数据格式的属性信息和所包含字段的位置关系信息确定为源文件所包含字段的属性信息。这里,对于采用固定分隔符格式的源文件,数据格式的属性信息主要指固定分隔符,还可以包括记录分隔符、换行符等。对于采用数据定长格式的源文件,数据格式的属性信息主要指字段长度,还可以包括记录分隔符、换行符等。对于采用数据库表格式的源文件,数据格式的属性信息主要指数据库表的属性信息,例如数据库表中的数据类型、行列组织方式等信息。
步骤12中,目标文件可能包含源文件的所有字段,还可能包含源文件的部分字段,目标文件包含哪些字段以及目标文件的数据格式可以根据印刷的输出需要进行设置。在从源文件所包含的字段中选取目标文件所包含的字段后,可以根据选取的字段的属性从源文件中读取该字段对应的字段内容,例如,源文件采用数据库表格式,源文件包括姓名、卡号和交易金额三个字段,其中获取到的姓名字段的属性信息包括:该字段在数据表中的第一列,数据库表中的数据为定点整数类型;卡号字段的属性信息包括:该字段在数据表中的第二列,数据库表中的数据为定点整数类型;交易金额的属性信息包括:该字段在数据表中的第三列,数据库表中的数据为定点整数类型。那么,在根据字段的属性从源文件中读取字段内容时,从数据库表中的每一行的第一列读取定长的数据作为姓名内容,从数据库表中的每一行的第二列读取定长的数据作为卡号内容,从数据库表中的每三行的第三列读取定长的数据作为交易金额内容。
为了能够更清楚容易的确定源文件所包含的字段,可以将源文件所包含的字段以树型结构进行保存和展现,为此在步骤11和步骤12之间,增加如下步骤:
步骤110:创建树型结构数据的根节点,在该根节点下创建子节点,该子节点为源文件的标识;在根节点的子节点下创建子节点,创建的子节点为源文件所包含的字段;并记录各字段的属性信息。
在某些情况下,字段由多个子字段组成,为了将子字段作为节点添加到树型结构数据中,在根节点的子节点下创建子节点后,根据源文件的描述信息确定树型结构数据中子节点对应的字段是否包含子字段,若是,则在所述子节点下创建子节点,创建的子节点为所述字段包含的子字段;并从源文件的描述信息中读取该子字段的属性信息,并记录该属性信息。
将创建的树型结构数据展现给用户后,用户可以通过修改树型数据结构中的节点来修改字段名称,以使树型数据结构中的字段名称与目标文件中的字段名称一致,为将数据准确写入目标文件提供保证。例如,树型数据结构中的某个字段名称为“卡号”,目标文件中有字段“账号”,用户得知“卡号”和“账号”的含义相同,于是将树型数据结构中字段为“卡号”的子节点修改为“账号”,在写入目标文件时则可以将源文件中“卡号”对应的内容写入目标文件中“账号”对应的位置处。如果不将树型数据结构中的子节点“卡号”修改为“账号”,那么在写入目标文件时由于在目标文件中找不到字段“卡号”,从而无法将源文件中“卡号”对应的内容写入目标文件中,造成写入错误。
用户还可以通过删除树型数据结构中的节点来删除不需要输出的字段,从而节省数据存储资源。例如,目标文件中有字段“姓名”和“账号”,树型数据结构中有字段“姓名”、“账号”和“交易金额”,由于不需要将“交易金额”字段的内容写入目标文件,因此可以将树型数据结构中的子节点“交易金额”删除,以节省数据存储资源。
步骤12中从源文件所包含的字段中选取目标文件所包含的字段具体方法为:从树型结构数据所包含的子节点中选取目标文件所包含的字段。
下面以具体实例对本发明方法进行说明:
本实例中,用户提交的待印刷的源文件有源文件1和源文件2,其中源文件1采用数据定长格式,包括“姓名”和“卡号”两个字段,源文件2采用固定分隔符格式,包括“卡号”和“交易金额”两个字段。如图2A所示,为源文件1的字段内容示意图,如图2B所示,为源文件2的字段内容示意图。目标文件包括“姓名”、“卡号”和“交易金额”三个字段,如图2C所示。将源文件1和源文件2转换到目标文件的具体流程如下:
步骤S01:从用户提供的源文件1的说明文件中读取对源文件1的描述信息,描述信息包括:源文件1的记录分割符(记录分割符为“CH0000”)、源文件1所包含的字段名称(“姓名”和“卡号”)、源文件1中的字段长度信息(6字节)、字段“姓名”和“卡号”的位置关系(字段“姓名”在记录分隔符之后,字段“卡号”在字段“姓名”之后);
从用户提供的源文件2的说明文件中读取对源文件2的描述信息,描述信息包括:源文件2的记录分割符(记录分割符为“FH0000”)、源文件2所包含的字段名称(“卡号”和“交易金额”)、源文件2采用的固定分隔符(——)、字段“卡号”和“交易金额”的位置关系(字段“卡号”在记录分隔符之后,字段“交易金额”在字段“卡号”之后)。
步骤S02:根据读取到的描述信息建立树型结构数据:
创建根节点,将源文件1和源文件2作为子节点添加在根节点下;在节点“源文件1”下添加“姓名”和“卡号”两个子节点,并记录子节点“姓名”的属性信息,包括字段长度、记录分隔符和位置信息(在记录分隔符之后),以及子节点“卡号”的位置信息(在字段“姓名”之后)。
在节点“源文件2”下添加“卡号”和“交易金额”两个子节点,并记录子节点“卡号”的属性信息,包括固定分隔符、记录分隔符和位置信息(在记录分隔符之后),以及子节点“交易金额”的位置信息(在字段“卡号”之后)。创建的树型结构数据如图2D所示。
步骤S03:目标文件中包含了树型结构数据中的所有字段,根据记录的源文件1下的字段“姓名”和“卡号”的属性信息,从源文件1的记录中读取字段“姓名”和“卡号”对应的字段内容,并写入目标文件;根据记录的源文件2下的字段“卡号”和“交易金额”的属性信息,从源文件2的记录中读取字段“卡号”和“交易金额”对应的字段内容,并写入目标文件,由于源文件1和源文件2均包含字段“卡号”,在写入时,将卡号相同的记录在目标文件中合并为一条记录,如图2E所示,为写入后的目标文件,转换流程结束。
参见图3,本发明实施例还提供一种数据转换装置,该装置包括获取单元30、确定单元31、读取单元32和写入单元33,其中:
获取单元30,用于获取源文件以及所述源文件的描述信息;
确定单元31,用于根据所述描述信息确定所述源文件所包含的字段以及所述字段的属性;
读取单元32,用于从所述源文件所包含的字段中选取目标文件所包含的字段,根据所述目标文件所包含的字段的属性从所述源文件中读取所述字段对应的字段内容;
写入单元33,用于按照所述目标文件的数据格式将读取到的字段内容写入所述目标文件。
确定单元31包括字段确定单元和属性确定单元,其中:
字段确定单元,用于从所述源文件的描述信息中读取所述源文件所包含字段的标识信息,根据读取到的标识信息确定所述源文件所包含的字段;
属性确定单元,用于从所述源文件的描述信息中读取所述源文件所采用的数据格式的属性信息,以及所述源文件所包含字段的位置关系信息,将所述数据格式的属性信息和所述位置关系信息确定为所述源文件所包含字段的属性信息。对于采用固定分隔符格式的源文件,数据格式的属性信息包括固定分隔符信息等。对于采用数据定长格式的源文件,数据格式的属性信息包括字段长度信息等。对于采用数据库表格式的源文件,数据格式的属性信息包括数据库表的属性信息等。
该装置进一步包括:
树型数据创建单元34,用于创建树型结构数据的根节点,在所述根节点下创建子节点,该子节点为所述源文件的标识;在所述根节点的子节点下创建子节点,创建的子节点为所述源文件所包含的字段,并记录所述字段的属性信息。
该装置进一步包括:
递归单元35,用于在所述根节点的子节点下创建子节点后,根据所述源文件的描述信息确定所述树型结构数据中子节点对应的字段是否包含子字段,若是,则在所述子节点下创建子节点,创建的子节点为所述子字段;并从所述源文件的描述信息中读取所述子字段的属性信息,记录所述属性信息。
读取单元32用于:
从所述树型数据创建单元创建的树型结构数据所包含的子节点中选取目标文件所包含的字段。
综上,本发明的有益效果在于:
本发明实施例提供的方案中,通过获取源文件的描述信息,根据该描述信息确定源文件所包含的字段以及包含字段的属性,并根据字段的属性从源文件中读取对应的字段内容,最终按照目标文件的数据格式将读取到的字段内容写入目标文件,从而实现了统一将源文件中的字段内容转换到具有固定格式的目标文件中,使得待印刷的多个源文件具有统一的数据格式,在进行印刷输出时,只需针对目标文件编写数据分析程序以将目标文件中的字段内容进行输出,有效了提高了印刷过程中的输出效率。
同时,本发明实施例提供的方案中,还将分析获得的源文件的字段以树型数据结构进行保存和展示,使得用户可以更清楚容易的确定源文件所包含的字段,并可以通过修改树型数据结构中的节点来修改字段名称,以使树型数据结构中的字段名称与目标文件中的字段名称一致,为将数据准确写入目标文件提供保证。用户还可以通过删除树型数据结构中的节点来删除不需要输出的字段,从而节省数据存储资源。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

一种转换数据的方法及装置.pdf_第1页
第1页 / 共16页
一种转换数据的方法及装置.pdf_第2页
第2页 / 共16页
一种转换数据的方法及装置.pdf_第3页
第3页 / 共16页
点击查看更多>>
资源描述

《一种转换数据的方法及装置.pdf》由会员分享,可在线阅读,更多相关《一种转换数据的方法及装置.pdf(16页珍藏版)》请在专利查询网上搜索。

本发明实施例公开了一种转换数据的方法,该方法为:获取待印刷的源文件以及所述源文件的描述信息;根据所述描述信息确定所述源文件所包含的字段以及所述字段的属性;从所述源文件所包含的字段中选取目标文件所包含的字段,根据所述字段的属性从所述源文件中读取所述字段对应的字段内容;按照所述目标文件的数据格式将读取到的字段内容写入所述目标文件。本发明实施例还公开了一种数据转换装置。采用本发明,能够将待印刷的不同源文。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 物理 > 计算;推算;计数


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1