一种转换数据的方法及装置的制作方法

文档序号:6484034阅读:106来源:国知局
专利名称:一种转换数据的方法及装置的制作方法
技术领域
本发明涉及数字印刷领域,尤其涉及一种转换数据的方法及装置。
背景技术
随着数字化印刷的普及和发展,在许多使用传统印刷的领域已经被数字印 刷所替代。
由于不同用户可能提供数据格式不同的源文件,印刷厂商在对各个用户提 供的源文件进行印制时,首先需要针对每种数据格式编写数据分析程序,然后 利用编写的不同的数据分析程序对不同的源文件进行解析,以识别源文件中的 数据字段并将字段内容以统一格式进行输出。
当前文件所采用的数据格式主要包括固定分割符格式、数据定长格式和数 据库表格式。其中,固定分割符格式是指文件中的各个字段以某一固定的分割 符来分割,分割符可以是标点符号、空格、竖线等。数据定长格式是指文件中
固定长度的数据为一个字段,据此来识别不同的字段内容;数据库表格式是指 文件的字段内容以数据库表的格式进行保存,目前的数据库表有SQLSERVER 数据库表、Oracle数据库表等。
印刷厂商在印制文件前需要为每种数据格式编写数据分析程序,不仅需要 对固定分割符格式的源文件、数据定长格式的源文件、数据库表格式的源文件 分别编写数据分析程序,即i"更是都采用固定分割符才各式的不同源文件,若采用 的固定分割符不同,则需要针对不同的固定分割符分别编写数据分析程序;即 便是都采用数据定长格式的不同源文件,若采用的定长不同,则需要针对不同
的定长分别编写数据分析程序;同样的,需要针对不同的数据库表编写不同的
数据分析程序。
5在实现本发明的过程中,发明人发现现有技术中存在如下技术问题 现有技术中,在对不同数据格式的源文件进行印刷时,针对每种数据格式 编写数据分析程序来实现数据字段的识别和输出,而没有将不同数据格式的源 文件转换为具有统一格式的文件,使得对源文件的印刷效率较低。

发明内容
本发明实施例提供一种转换数据的方法及装置,用于解决现有技术中待印 刷的源文件的数据格式不统一的问题。
本发明实施例提供一种转换数据的方法,该方法包括 获取待印刷的源文件以及所述源文件的描述信息;
根据所述描述信息确定所述源文件所包含的字段以及所述字段的属性;
文件所包含的字段的属性从所述源文件中读取所述字段对应的字段内容; 按照所述目标文件的数据格式将读取到的字段内容写入所述目标文件。 本发明实施例提供一种数据转换装置,该装置包括 获取单元,用于获:f又源文件以及所述源文件的描述信息; 确定单元,用于根据所述描述信息确定所述源文件所包含的字段以及所述
字段的属性;
段,根据所述目标文件所包含的字段的属性从所述源文件中读取所述字段对应 的字段内容;
写入单元,用于按照所述目标文件的数据格式将读取到的字段内容写入所 述目标文件。
本发明实施例提供的方案中,通过获取源文件的描述信息,根据该描述信 息确定源文件所包含的字段以及包含字段的属性,并根据字段的属性从源文件 中读取对应的字段内容,最终按照目标文件的数据格式将读取到的字段内容写入目标文件,从而实现了将待印刷的不同源文件转化为具有统一数据格式的文 件的目的。


图1为本发明实施例提供的方法流程示意图;图2A为本发明实施例中源文件1的示意图;图2B为本发明实施例中源文件2的示意图;图2C为本发明实施例中目标文件的示意图;图2D为本发明实施例中创建的树型结构数据的示意图;图2E为本发明实施例中转换后的目标文件示意图;图3为本发明实施例提供的装置结构示意图。
具体实施方式
为了使得待印刷的多个源文件具有统一 的数据格式,本发明实施例提供一 种转换数据的方法,本方法中,根据用户提供的源文件的描述信息确定源文件 所包含的字段以及字段的属性,然后根据字段的属性从源文件中读取该字段对 应的字段内容,并按照目标文件的数据格式将读取到的字段内容写入目标文件 中。参见图1,本发明实施例提供的转换数据的方法,具体包括如下步骤 步骤10:获取待印刷的源文件以及该源文件的描述信息; 步骤11:根据获取到的源文件的描述信息确定源文件所包含的字段以及所 包含字段的属性;步骤12:从源文件所包含的字段中选取目标文件所包含的字段,根据选取 的字段的属性从源文件中读取该字段对应的字段内容;步骤13:按照目标文件的数据格式将读取到的字段内容写入目标文件。 步骤10中,源文件的描述信息中可以包含源文件的显示方式等、编码方式、源文件所包含字段的信息以及所包含字段在源文件中的位置关系信息等。 对于采用固定分隔符格式的源文件,描述信息中还可以包含固定分隔符等数据格式的属性信息;对于采用数据定长格式的源文件,描述信息中还可以包含字 段长度等数据格式的属性信息;对于采用新数据库表格式的源文件,描述信息 中还可以包含数据库表中字段的数据类型等数据格式的属性信息。步骤11中,根据源文件的描述信息确定源文件所包含的字段以及所包含 字段的属性的具体方法为首先,从源文件的描述信息中读取源文件所包含字段的标识信息,根据读 取到的标识信息确定源文件所包含的字段,例如,标识信息包含了姓名、卡号、 交易金额,则可确定源文件中包含姓名、卡号和交易金额三个字段;然后,从源文件的描述信息中读取源文件所采用的数据格式的属性信息, 以及源文件所包含字段的位置关系信息,将数据格式的属性信息和所包含字段 的位置关系信息确定为源文件所包含字段的属性信息。这里,对于釆用固定分 隔符格式的源文件,数据格式的属性信息主要指固定分隔符,还可以包括记录 分隔符、换行符等。对于采用数据定长格式的源文件,数据格式的属性信息主 要指字段长度,还可以包括记录分隔符、换行符等。对于采用数据库表格式的 源文件,数据格式的属性信息主要指数据库表的属性信息,例如数据库表中的 数据类型、行列组织方式等信息。步骤12中,目标文件可能包含源文件的所有字段,还可能包含源文件的 部分字段,目标文件包含哪些字段以及目标文件的数据格式可以根据印刷的输 出需要进行设置。在从源文件所包含的字段中选取目标文件所包含的字段后, 可以根据选取的字段的属性从源文件中读取该字段对应的字段内容,例如,源 文件采用数据库表格式,源文件包括姓名、卡号和交易金额三个字段,其中获 取到的姓名字段的属性信息包括该字段在数据表中的第一列,数据库表中的 数据为定点整数类型;卡号字段的属性信息包括该字段在数据表中的第二列, 数据库表中的数据为定点整数类型;交易金额的属性信息包括该字段在数据表中的第三列,数据库表中的数据为定点整数类型。那么,在根据字段的属性 从源文件中读取字段内容时,从数据库表中的每一行的第 一列读取定长的数据 作为姓名内容,从数据库表中的每一行的第二列读取定长的数据作为卡号内 容,从数据库表中的每三行的第三列读取定长的数据作为交易金额内容。为了能够更清楚容易的确定源文件所包含的字段,可以将源文件所包含的 字段以树型结构进行保存和展现,为此在步骤11和步骤12之间,增加如下步骤步骤110:创建树型结构数据的根节点,在该根节点下创建子节点,该子 节点为源文件的标识;在根节点的子节点下创建子节点,创建的子节点为源文 件所包含的字段;并记录各字段的属性信息。在某些情况下,字段由多个子字段组成,为了将子字段作为节点添加到树 型结构数据中,在^f艮节点的子节点下创建子节点后,才艮据源文件的描述信息确 定树型结构数据中子节点对应的字段是否包含子字段,若是,则在所述子节点 下创建子节点,创建的子节点为所述字段包含的子字段;并从源文件的描述信 息中读取该子字段的属性信息,并记录该属性信息。将创建的树型结构数据展现给用户后,用户可以通过修改树型数据结构中 的节点来修改字段名称,以使树型数据结构中的字段名称与目标文件中的字段 名称一致,为将数据准确写入目标文件提供保证。例如,树型数据结构中的某 个字段名称为"卡号",目标文件中有字段"账号",用户得知"卡号"和"账 号"的含义相同,于是将树型数据结构中字段为"卡号"的子节点修改为"账 号,,,在写入目标文件时则可以将源文件中"卡号"对应的内容写入目标文件 中"账号,,对应的位置处。如果不将树型数据结构中的子节点"卡号"修改为 "账号,,,那么在写入目标文件时由于在目标文件中找不到字段"卡号",从而 无法将源文件中"卡号"对应的内容写入目标文件中,造成写入错误。用户还可以通过删除树型数据结构中的节点来删除不需要输出的字段,从 而节省数据存储资源。例如,目标文件中有字段"姓名"和"账号",树型数据结构中有字段"姓名"、"账号"和"交易金额",由于不需要将"交易金额" 字段的内容写入目标文件,因此可以将树型数据结构中的子节点"交易金额" 删除,以节省数据存储资源。步骤12中从源文件所包含的字段中选取目标文件所包含的字段具体方法为从树型结构数据所包含的子节点中选取目标文件所包含的字段。 下面以具体实例对本发明方法进行说明本实例中,用户提交的待印刷的源文件有源文件1和源文件2,其中源文 件l采用数据定长格式,包括"姓名"和"卡号"两个字段,源文件2采用固 定分隔符格式,包括"卡号"和"交易金额"两个字段。如图2A所示,为源 文件l的字段内容示意图,如图2B所示,为源文件2的字段内容示意图。目 标文件包括"姓名"、"卡号,,和"交易金额"三个字段,如图2C所示。将源 文件1和源文件2转换到目标文件的具体流程如下步骤S01:从用户提供的源文件1的说明文件中读取对源文件1的描述信 息,描述信息包括源文件1的记录分割符(记录分割符为"CH0000")、源 文件1所包含的字段名称("姓名"和"卡号")、源文件1中的字段长度信息 (6字节)、字段"姓名"和"卡号"的位置关系(字段"姓名"在记录分隔符 之后,字段"卡号"在字段"姓名"之后);从用户提供的源文件2的说明文件中读取对源文件2的描述信息,描述信 息包括源文件2的记录分割符(记录分割符为"FH0000")、源文件2所包含 的字段名称("卡号"和"交易金额")、源文件2采用的固定分隔符(一一)、 字段"卡号"和"交易金额"的位置关系(字段"卡号"在记录分隔符之后, 字段"交易金额"在字段"卡号"之后)。步骤S02:根据读取到的描述信息建立树型结构数据创建根节点,将源文件1和源文件2作为子节点添加在根节点下;在节 点"源文件l"下添加"姓名"和"卡号"两个子节点,并记录子节点"姓名,, 的属性信息,包括字段长度、记录分隔符和位置信息(在记录分隔符之后),以及子节点"卡号"的位置信息(在字段"姓名"之后)。在节点"源文件2"下添加"卡号"和"交易金额"两个子节点,并记录 子节点"卡号"的属性信息,包括固定分隔符、记录分隔符和位置信息(在记 录分隔符之后),以及子节点"交易金额"的位置信息(在字段"卡号"之后)。 创建的树型结构数据如图2D所示。步骤S03:目标文件中包含了树型结构数据中的所有字段,根据记录的源 文件1下的字段"姓名"和"卡号,,的属性信息,从源文件1的记录中读取字 段"姓名,,和"卡号"对应的字段内容,并写入目标文件;根据记录的源文件 2下的字段"卡号"和"交易金额"的属性信息,从源文件2的记录中读取字 段"卡号"和"交易金额"对应的字段内容,并写入目标文件,由于源文件l 和源文件2均包含字段"卡号",在写入时,将卡号相同的记录在目标文件中 合并为一条记录,如图2E所示,为写入后的目标文件,转换流程结束。参见图3,本发明实施例还提供一种数据转换装置,该装置包括获取单元 30、确定单元31、读取单元32和写入单元33,其中获取单元30,用于获取源文件以及所述源文件的描述信息;确定单元31,用于根据所述描述信息确定所述源文件所包含的字段以及所 述字段的属性;段,根据所述目标文件所包含的字段的属性从所述源文件中读取所述字段对应 的字段内容;写入单元33,用于按照所述目标文件的数据格式将读取到的字段内容写入 所述目标文件。确定单元31包括字^a确定单元和属性确定单元,其中字段确定单元,用于从所述源文件的描述信息中读取所述源文件所包含字 段的标识信息,根据读取到的标识信息确定所述源文件所包含的字段;属性确定单元,用于从所述源文件的描述信息中读取所述源文件所采用的数据格式的属性信息,以及所述源文件所包含字段的位置关系信息,将所述数 据格式的属性信息和所述位置关系信息确定为所述源文件所包含字段的属性 信息。对于采用固定分隔符格式的源文件,数据格式的属性信息包括固定分隔 符信息等。对于采用数据定长格式的源文件,数据格式的属性信息包括字段长 度信息等。对于采用数据库表格式的源文件,数据格式的属性信息包括数据库 表的属性信息等。该装置进一步包括树型数据创建单元34,用于创建树型结构数据的根节点,在所述根节点下 创建子节点,该子节点为所述源文件的标识;在所述^f艮节点的子节点下创建子 节点,创建的子节点为所述源文件所包含的字段,并记录所述字段的属性信 自、该装置进一步包括递归单元35,用于在所述#>节点的子节点下创建子节点后,4艮据所述源文 件的描述信息确定所述树型结构数据中子节点对应的字段是否包含子字段,若 是,则在所述子节点下创建子节点,创建的子节点为所述子字段;并从所述源 文件的描述信息中读取所述子字段的属性信息,记录所述属性信息。读取单元32用于从所述树型数据创建单元创建的树型结构数据所包含的子节点中选取目 标文件所包含的字段。综上,本发明的有益效果在于本发明实施例提供的方案中,通过获取源文件的描述信息,根据该描述信 息确定源文件所包含的字段以及包含字段的属性,并根据字段的属性从源文件 中读取对应的字段内容,最终按照目标文件的数据格式将读取到的字段内容写 入目标文件,从而实现了统一将源文件中的字段内容转换到具有固定格式的目 标文件中,使得待印刷的多个源文件具有统一的数据格式,在进行印刷输出时, 只需针对目标文件编写数据分析程序以将目标文件中的字段内容进行输出,有效了提高了印刷过程中的输出效率。
同时,本发明实施例提供的方案中,还将分析获得的源文件的字段以树型 数据结构进行保存和展示,使得用户可以更清楚容易的确定源文件所包含的字 段,并可以通过修改树型数据结构中的节点来修改字段名称,以使树型数据结 构中的字段名称与目标文件中的字段名称一致,为将数据准确写入目标文件提 供保证。用户还可以通过删除树型数据结构中的节点来删除不需要输出的字 段,从而节省数据存储资源。
明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及 其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
权利要求
1、一种转换数据的方法,其特征在于,该方法包括获取待印刷的源文件以及所述源文件的描述信息;根据所述描述信息确定所述源文件所包含的字段以及所述字段的属性;从所述源文件所包含的字段中选取目标文件所包含的字段,根据所述目标文件所包含的字段的属性从所述源文件中读取所述字段对应的字段内容;按照所述目标文件的数据格式将读取到的字段内容写入所述目标文件。
2、 如权利要求1所述的方法,其特征在于,所述根据所述描述信息确定 所述源文件所包含的字段以及所述字段的属性包括从所述源文件的描述信息中读取所述源文件所包含字段的标识信息,根据 读取到的标识信息确定所述源文件所包含的字段;从所述源文件的描述信息中读取所述源文件所采用的数据格式的属性信 息,以及所述源文件所包含字段的位置关系信息,将所述数据格式的属性信息 和所述位置关系信息确定为所述源文件所包含字段的属性信息。
3、 如权利要求2所述的方法,其特征在于,在所述源文件所采用的数据 格式为固定分隔符格式时,所述数据格式的属性信息包括固定分隔符。
4、 如权利要求2所述的方法,其特征在于,在所述源文件所采用的数据 格式为数据定长格式时,所述数据格式的属性信息包括字段长度信息。
5、 如权利要求2所述的方法,其特征在于,在所述源文件所采用的数据 格式为数据库表格式时,所述数据格式的属性信息包括数据库表中字段的数 据类型信息。
6、 如权利要求1所述的方法,其特征在于,在一艮据所述描述信息确定所 述源文件所包含的字段以及所述字段的属性之后,并且从所述源文件所包含的 字段中选取目标文件所包含的字段之前,该方法进一步包括创建树型结构数据的根节点,在所述根节点下创建子节点,该子节点为所 述源文件的标识;在所述才艮节点的子节点下创建子节点,创建的子节点为所述源文件所包含的字段;并记录所述字段的属性信息。
7、 如权利要求6所述的方法,其特征在于,在所述^f艮节点的子节点下创 建子节点后,该方法进一步包括根据所述源文件的描述信息确定所述树型结构数据中子节点对应的字段 是否包含子字段,若是,则在所述子节点下创建子节点,创建的子节点为所述子字段;从所述源文件的描述信息中读取所述子字段的属性信息,并记录所述属性寸吕*包、。
8、 如权利要求6或7所述的方法,其特征在于,所述从所述源文件所包 含的字段中选取目标文件所包含的字段包括从所述树型结构数据所包含的子节点中选取目标文件所包含的字段。
9、 一种数据转换装置,其特征在于,该装置包括 获取单元,用于获取源文件以及所述源文件的描述信息;确定单元,用于根据所述描述信息确定所述源文件所包含的字段以及所述 字段的属性;段,根据所述目标文件所包含的字段的属性从所述源文件中读取所述字段对应 的字段内容;写入单元,用于按照所述目标文件的数据格式将读取到的字段内容写入所 述目标文件。
10、 如权利要求9所述的装置,其特征在于,所述确定单元包括 字段确定单元,用于从所述源文件的描述信息中读取所述源文件所包含字段的标识信息,根据读取到的标识信息确定所述源文件所包含的字段;属性确定单元,用于从所述源文件的描述信息中读取所述源文件所采用的 数据格式的属性信息,以及所述源文件所包含字段的位置关系信息,将所述数 据格式的属性信息和所述位置关系信息确定为所述源文件所包含字段的属性信息。
11、 如权利要求IO所述的装置,其特征在于,该装置进一步包括树型数据创建单元,用于创建树型结构数据的根节点,在所述根节点下创建子节点,该子节点为所述源文件的标识;在所述根节点的子节点下创建子节 点,创建的子节点为所述源文件所包含的字段。
12、 如权利要求11所述的装置,其特征在于,该装置进一步包括 递归单元,用于在所述根节点的子节点下创建子节点后,根据所述源文件的描述信息确定所述树型结构数据中子节点对应的字段是否包含子字段,若 是,则在所述子节点下创建子节点,创建的子节点为所述子字段。
13、 如权利要求ll或12所述的装置,其特征在于,所述读取单元用于 从所述树型数据创建单元创建的树型结构数据所包含的子节点中选取目标文件所包含的字段。
全文摘要
本发明实施例公开了一种转换数据的方法,该方法为获取待印刷的源文件以及所述源文件的描述信息;根据所述描述信息确定所述源文件所包含的字段以及所述字段的属性;从所述源文件所包含的字段中选取目标文件所包含的字段,根据所述字段的属性从所述源文件中读取所述字段对应的字段内容;按照所述目标文件的数据格式将读取到的字段内容写入所述目标文件。本发明实施例还公开了一种数据转换装置。采用本发明,能够将待印刷的不同源文件转化为具有统一数据格式的文件。
文档编号G06F17/30GK101504662SQ20091007993
公开日2009年8月12日 申请日期2009年3月13日 优先权日2009年3月13日
发明者杰 赵 申请人:北大方正集团有限公司;北京北大方正电子有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1