CN107704479A - 文件生成方法和装置 - Google Patents

文件生成方法和装置 Download PDF

Info

Publication number
CN107704479A
CN107704479A CN201710069561.0A CN201710069561A CN107704479A CN 107704479 A CN107704479 A CN 107704479A CN 201710069561 A CN201710069561 A CN 201710069561A CN 107704479 A CN107704479 A CN 107704479A
Authority
CN
China
Prior art keywords
template
field
metadata
meta
mutual files
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.)
Granted
Application number
CN201710069561.0A
Other languages
English (en)
Other versions
CN107704479B (zh
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.)
OneConnect Smart Technology Co Ltd
Original Assignee
OneConnect Financial Technology Co Ltd Shanghai
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 OneConnect Financial Technology Co Ltd Shanghai filed Critical OneConnect Financial Technology Co Ltd Shanghai
Priority to CN201710069561.0A priority Critical patent/CN107704479B/zh
Priority to US16/484,469 priority patent/US10802804B2/en
Priority to SG11201907331PA priority patent/SG11201907331PA/en
Priority to PCT/CN2018/075547 priority patent/WO2018145635A1/zh
Publication of CN107704479A publication Critical patent/CN107704479A/zh
Application granted granted Critical
Publication of CN107704479B publication Critical patent/CN107704479B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/42Syntactic analysis
    • G06F8/427Parsing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/11File system administration, e.g. details of archiving or snapshots
    • G06F16/116Details of conversion of file system types or formats
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/14Details of searching files based on file metadata
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems
    • G06F16/252Integrating or interfacing systems involving database management systems between a Database Management System and a front-end application
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/907Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/44Encoding
    • G06F8/443Optimisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/44Encoding
    • G06F8/443Optimisation
    • G06F8/4434Reducing the memory space required by the program code
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting
    • G06F40/186Templates

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • Library & Information Science (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Stored Programmes (AREA)

Abstract

本发明涉及一种文件生成方法和装置,该方法包括:获取元数据文件,解析所述元数据文件得到元数据和指定的文件格式;根据所述元数据文件中配置的字段信息与源代码参数之间的映射关系,将所述元数据转换为对应的源代码;根据所述指定的文件格式调用对应的元模板,根据解析得到的所述元数据和调用的所述元模板生成对应的交互文件模板;根据所述源代码和所述交互文件模板生成交互文件。减少了代码的编写量,避免了代码的冗余。

Description

文件生成方法和装置
技术领域
本发明涉及计算机技术领域,特别是涉及一种文件生成方法和装置。
背景技术
随着科学技术的发展,系统平台的功能越来越强大。通常一个系统平台会对接多个关联系统,并与多个关联系统进行文件交互来传递一些业务数据。比如,一个销售系统平台就会与多个资产方系统进行交互来传递业务数据。
然而不同的关联系统所支持的文件格式不同,比如,有的关联系统支持CSV(Comma-Separated Values,字符分隔值)格式,有的关联系统支持中登(CSDC,ChinaSecurities Depository and Clearing,中国证券登记结算)格式等。那么,就需要针对各个文件格式都单独的编写一套代码来生成对应格式的交互文件。显然,传统的需要编写多套繁复的代码来生成交互文件的方式,造成代码冗余、不易管理。
发明内容
基于此,有必要提供一种能够避免代码冗余的文件生成方法和装置。
一种文件生成方法,所述方法包括以下步骤:
获取元数据文件,解析所述元数据文件得到元数据和指定的文件格式;
根据所述元数据文件中配置的字段信息与源代码参数之间的映射关系,将所述元数据转换为对应的源代码;
根据所述指定的文件格式调用对应的元模板,根据解析得到的所述元数据和调用的所述元模板生成对应的交互文件模板;
根据所述源代码和所述交互文件模板生成交互文件。
在其中一个实施例中,所述根据解析得到的所述元数据和调用的所述元模板生成对应的交互文件模板的步骤,包括:
将所述元数据代入所述元模板中,根据所述元模板确定所述元数据中的字段的显示方式,以及确定所述元数据中的字段在所述元模板中的字段显示位置;
将所述元数据中的文件头信息添加至所述元模板的文件头部中,以得到交互文件模板。
在其中一个实施例中,所述字段的显示方式包括字节补齐方式和/或日期显示格式和/或金额显示格式。
在其中一个实施例中,所述根据所述源代码和所述交互文件模板生成交互文件的步骤,包括:
根据所述源代码获取与所述元数据中的各个字段对应的数据值,并将获取的所述数据值插入所述交互文件模板中的对应位置,以生成交互文件。
在其中一个实施例中,所述将获取的所述数据值插入所述交互文件模板中的对应位置,以生成交互文件的步骤,包括:
根据所述源代码将获取的所述数据值插入所述交互文件模板中对应字段的所述字段显示位置;
获取插入的所述数据值的长度以及与所述插入的数据值对应的所述字段的预设长度;
当所述数据值的长度小于所述预设长度时,则根据所对应的所述字段的数据类型对所述数据值进行字节补齐处理,根据字节补齐处理后的文件得到交互文件。
在其中一个实施例中,所述根据所对应的所述字段的数据类型对所述数据值进行字节补齐处理的步骤,包括:
检测与所述插入的数据值对应的所述字段的数据类型;
当所述字段对应的数据类型为数值型时,则将所述数据值进行左补零右对齐的处理;
当所述字段对应的数据类型为字符型时,则将所述数据值进行右补空格左对齐对齐的处理。
一种文件生成装置,所述装置包括:
解析模块,用于获取元数据文件,解析所述元数据文件得到元数据和指定的文件格式;
源代码生成模块,用于根据所述元数据文件中配置的字段信息与源代码参数之间的映射关系,将所述元数据转换为对应的源代码;
交互文件模板生成模块,用于根据所述指定的文件格式调用对应的元模板,根据解析得到的所述元数据和调用的所述元模板生成对应的交互文件模板;
交互文件生成模块,用于根据所述源代码和所述交互文件模板生成交互文件。
在其中一个实施例中,所述交互文件模板生成模块还用于将所述元数据代入所述元模板中,根据所述元模板确定所述元数据中的字段的显示方式,以及确定所述元数据中的字段在所述元模板中的字段显示位置;将所述元数据中的文件头信息添加至所述元模板的文件头部中,以得到交互文件模板。
在其中一个实施例中,所述交互文件生成模块还用于根据所述源代码获取与所述元数据中的各个字段对应的数据值,并将获取的所述数据值插入所述交互文件模板中的对应位置,以生成交互文件。
在其中一个实施例中,所述交互文件生成模块包括:
数据值插入模块,用于根据所述源代码将获取的所述数据值插入所述交互文件模板中对应字段的所述字段显示位置;
字节补齐模块,用于获取插入的所述数据值的长度以及与所述插入的数据值对应的所述字段的预设长度;当所述数据值的长度小于所述预设长度时,则根据所对应的所述字段的数据类型对所述数据值进行字节补齐处理,根据字节补齐处理后的文件得到交互文件。
上述文件生成方法和装置,通过获取元数据文件,解析元数据文件得到元数据和指定的文件格式;根据元数据文件中配置的字段信息与源代码参数之间的映射关系,将元数据转换为对应的源代码;根据指定的文件格式调用对应的元模板,根据解析得到的元数据和调用的元模板生成对应的交互文件模板;根据源代码和交互文件模板生成交互文件。相当于通过在元数据文件中指定文件格式,并将元数据对与指定文件格式对应的元模板结合起来动态生成所需的交互文件模板,进一步根据元数据转换后的源代码和交互文件模板结合起来生成交互文件。而不需要针对每种文件格式都分别写一套生成对应格式的交互文件代码,减少了代码的编写量,避免了代码的冗余。
附图说明
图1为一个实施例中文件生成方法的应用环境图;
图2为一个实施例中服务器的内部结构图;
图3为一个实施例中文件生成方法的流程示意图;
图4为一个实施例中字节补齐处理步骤的流程示意图;
图5为一个实施例中文件生成装置的结构示意图;
图6为一个实施例中交互文件生成模块的结构示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
图1为一个实施例中文件生成方法的应用环境图。如图1所示,服务器110通过网络与关联服务器120进行通信。服务器110获取元数据文件,解析元数据文件得到元数据和指定的文件格式,根据元数据文件中配置的字段信息与源代码参数之间的映射关系,将元数据转换为对应的源代码。服务器110根据指定的文件格式调用对应的元模板,根据解析得到的元数据和调用的元模板生成对应的交互文件模板。进一步地,服务器110根据源代码和交互文件模板生成交互文件。进一步地,服务器110可以将生成的交互文件发送至关联服务器120。
图2示出了一个实施例中的服务器110的内部结构示意图,该服务器包括通过系统总线连接的处理器、非易失性存储介质、内存储器和网络接口。其中,该服务器的非易失性存储介质存储有操作系统、数据库和一种文件生成装置,数据库用于存储数据。该文件生成装置用于实现一种文件生成方法。该处理器用于提供计算和控制能力,支撑整个服务器的运行。服务器中的内存储器为非易失性存储介质中的合同生成装置的运行提供环境,该内存储器中可储存有计算机可读指令,该计算机可读指令被所述处理器执行时,可使得所述处理器执行一种文件生成方法。网络接口用于与关联服务器进行网络通信。本领域技术人员可以理解,图2中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的服务器的限定,具体的服务器可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
如图3所示,在一个实施例中,提供了一种文件生成方法,现以该方法应用于图1或图2所示的服务器为例进行举例说明,该方法具体包括以下步骤:
步骤302,获取元数据文件,解析元数据文件得到元数据和指定的文件格式。
本实施例中,服务器中预先配置了与交互事项对应的元数据文件。
需要说明的是,交互事项即指要与关联系统发生数据交互的事项。比如,在向关联系统进行开户申请时,需要向关联系统发送开户申请的相关数据,因此“开户申请”属于交互事项。
具体地,可以配置Excel格式的元数据文件。在元数据文件中存储有元数据以及指定的文件格式。
服务器在针对某一交互事项要向关联系统发送交互文件时,会获取与该交互事项对应的元数据文件,并通过元数据解析器解析该元数据文件得到元数据和指定的文件格式。其中,指定的文件格式包括CSV格式或中登格式等。
比如,要生成的是开户申请交互文件,那么就获取与开户申请对应的开户申请元数据文件,解析该元数据文件得到开户申请相关的元数据和指定的文件格式。比如,可以得到申请单编号、个人证件类型及机构证件类型、交易发生日期等字段及各个字段的属性信息,其中,字段的属性信息包括字段的数据类型、长度、中文说明等信息。
步骤304,根据元数据文件中配置的字段信息与源代码参数之间的映射关系,将元数据转换为对应的源代码。
本实施例中,元数据文件中预先配置了字段信息与源代码参数之间的映射关系。比如,元数据包括字段ID、字段名、字段的数据类型、字段长度、字段中文描述以及备注。那么字段信息与源代码参数之间的映射关系,可以如下所示:
header.id=ID
header.name=字段名
header.type=类型
header.length=长度
header.commentName=描述
header.notes=备注
可以理解,元数据文件可以是一份整体的文件,也可以是多份文件的总称,比如,元数据文件可以包含Excel格式的第一元数据文件和配置了字段信息与源代码参数之间的映射关系的第二元数据文件。
进一步地,服务器会根据该映射关系,将元数据转换为对应的源代码。
步骤306,根据指定的文件格式调用对应的元模板,根据解析得到的元数据和调用的元模板生成对应的交互文件模板。
本实施例中,服务器中预先根据设置了与各种文件格式对应的元模板。比如,会针对中登格式设置一个对应的元模板A,针对CSV格式设置一个对应的元模板B。服务器会根据获取的指定的文件格式调用对应的元模板。其中,元模板是指可以代入元数据的模板文件。
进一步地,服务器会根据解析得到的元数据和调用的元模板生成对应的交互文件模板。
在一个实施例中,根据解析得到的元数据和调用的元模板生成对应的交互文件模板的步骤,包括:将元数据代入元模板中,根据元模板确定元数据中的字段的显示方式,以及确定元数据中的字段在元模板中对应的字段显示位置,将元数据中的文件头信息添加至元模板的文件头部中,以得到交互文件模板。
本实施例中,服务器会将元数据代入元模板中,根据元模板中预设的逻辑确定代入的元数据中的各个字段的显示方式,以及确定元数据中的各个字段在元模板中对应的字段显示位置。
具体地,元模板会根据元数据中的各个字段的数据类型确定该字段所对应的字节补齐方式和/或日期显示格式和/或金额显示格式。进一步地,字节补齐方式包括当字段对应的数据类型为数字型时,则该字段对应于左补零右对齐的补齐方式,当字段对应的数据类型为字符型时,则该字段对应于右补空格左对齐对齐的调整。
进一步地,元数据中包括文件头信息,服务器会将该文件头信息添加至元模板的文件头部中。
根据上述处理即可得到交互文件模板。
步骤308,根据源代码和交互文件模板生成交互文件。
进一步地,服务器会根据生成的源代码和交互文件模板生成最终的数据交互文件。具体地,服务器会通过应用程序根据源代码获取与元数据中的各个字段对应的数据值,将获取的数据值插入交互文件模板中的对应位置,以生成交互文件。本实施例中,通过元数据结合元模板来自动生成对应的交互文件模板,并根据由元数据生成的源代码自动的将数据值插入交互文件中,提高了交互文件的生成效率。
可以理解,源代码是根据元数据转换生成的,元数据能够用于定位查找字段对应的数据值,所以根据元数据转换生成的源代码可以获取与元数据中的各个字段对应的数据值。进一步地,交互文件模板是由元数据代入元模板中,由元模板确定好各个字段的字段显示位置以及显示方式得到的。所以,与字段对应的数据值可以对应的插入交互文件模板中对应的字段显示位置中。
本实施例中,获取元数据文件,解析元数据文件得到元数据和指定的文件格式;根据元数据文件中配置的字段信息与源代码参数之间的映射关系,将元数据转换为对应的源代码;根据指定的文件格式调用对应的元模板,根据解析得到的元数据和调用的元模板生成对应的交互文件模板;根据源代码和交互文件模板生成交互文件。相当于通过在元数据文件中指定文件格式,并将元数据文件中的元数据对与指定文件格式对应的元模板结合起来动态生成所需的交互文件模板,进一步根据元数据转换后的源代码和交互文件模板结合起来生成交互文件。而不需要针对每种文件格式都分别写一套生成对应格式的交互文件代码,减少了代码的编写量,避免了代码的冗余。
此外,根据元数据来自动生成对应的交互文件模板,而不需要人工的设置多套固定的交互文件模板,相较于手动设置多套交互文件模板而言,提高了交互文件模板生成效率。
如图4所示,在一个实施例中,将获取的数据值插入交互文件模板中的对应位置,以生成交互文件的步骤包括字节补齐处理步骤,具体包括以下步骤:
步骤402,根据源代码将获取的数据值插入交互文件模板中对应字段的字段显示位置。
本实施例中,服务器会根据源代码将获取的数据值插入交互文件模板中对应字段的字段显示位置。比如,将获取数据值“广东省深圳市南山区××路××号”插入交互文件模板中的“通信地址”字段所对应的字段显示位置。
步骤404,获取插入的数据值的长度以及与插入的数据值对应的字段的预设长度。
可以理解,文件格式可以根据字段长度的限制与否来分,分为非固定长度和固定长度。固定长度,就是指对各个字段有指定的预设的长度。那么,对于对字段长度有固定长度要求的文件格式来说,就会进行对应的长度检测以及对应的补齐处理。本实施例中,是针对对字段长度有固定长度要求的文件格式而言的。
进一步地,服务器会获取插入的数据值的长度,以及获取与该插入的数据值对应的字段的预设长度。可以理解,交互文件模板是根据元数据代入至元数据模板中形成的,而元数据中包括有字段长度(即字段的预设长度),所以服务器可以在将数据值插入对应的字段后,获取该对应字段所对应的预设长度。
步骤406,当数据值的长度小于预设长度时,则根据所对应的字段的数据类型对数据值进行字节补齐处理,根据字节补齐处理后的文件得到交互文件。
进一步地,服务器会将插入的数据值的长度与对应的字段的预设长度进行比对。当数据值的长度小于对应的字段的预设长度时,服务器会根据该对应的字段的数据类型对该数据值进行字节补齐处理。其中,字节补齐处理是指通过补充字节的方式,使得该数据值的长度加上补齐的字节长度后与预设长度一致。
进一步地,根据字节补齐处理后的文件得到交互文件。可以理解,可以是直接将字节补齐处理后的文件作为交互文件,也可以是检测插入数据值的日期显示格式和/或金额显示格式,将其调整为与字段所对应的日期显示格式和/或金额显示格式,根据格式调整后的文件得到交互文件。对此不作限定。
本实施例中,在将获取的数据值插入交互文件模板时,通过数据值所对应的字段的数据类型对数据值进行字节补齐处理,使得生成的交互文件更加的准确。
在一个实施例中,根据所对应的字段的数据类型对数据值进行字节补齐处理的步骤,包括:检测与插入的数据值对应的字段的数据类型,当字段对应的数据类型为数值型时,则将数据值进行左补零右对齐的处理,当字段对应的数据类型为字符型时,则将数据值进行右补空格左对齐对齐的处理的步骤。
本实施例中,服务器会检测与插入的数据值对应的字段的数据类型。当该字段对应的数据类型为数字型时,则将该数据值进行左补零右对齐的处理。比如,预设长度为8个字节,数据值为“668886”这一整数值,则对其进行左补零右对齐处理,即为“00668886”,既不影响其数值大小,也满足了字段对应的固定长度8。
进一步地,当该字段对应的数据类型为字符型时,则将该数据值进行右补空格左对齐的处理。比如,字段“通讯地址”对应的预设长度为120个字节,而实际的数据值(即实际地址)的长度为110个字节,这个时候就需要对该数据值进行右补空格左对齐的处理,补齐至120个字节。
在一个实施例中,将获取的数据值插入交互文件模板中的对应位置,以生成交互文件的步骤,包括:根据源代码将获取的数据值插入交互文件模板中对应字段的字段显示位置,检测插入的数据值的日期显示格式和/或金额显示格式是否与对应字段的期显示格式和/或金额显示格式一致,若否,则将插入的数据值的日期显示格式和/或金额显示格式调整为与对应字段所对应的日期显示格式和/或金额显示格式,根据格式调整后的文件得到交互文件。
如图5所示,在一个实施例中,提供了一种文件生成装置,该装置包括:解析模块502、源代码生成模块504、交互文件模板生成模块506以及交互文件生成模块508,其中:
解析模块502,用于获取元数据文件,解析元数据文件得到元数据和指定的文件格式。
源代码生成模块504,用于根据元数据文件中配置的字段信息与源代码参数之间的映射关系,将元数据转换为对应的源代码。
交互文件模板生成模块506,用于根据指定的文件格式调用对应的元模板,根据解析得到的元数据和调用的元模板生成对应的交互文件模板。
交互文件生成模块508,用于根据源代码和交互文件模板生成交互文件。
在一个实施例中,交互文件模板生成模块506还用于将元数据代入元模板中,根据元模板确定元数据中的字段的显示方式,以及确定元数据中的字段在元模板中的字段显示位置;将元数据中的文件头信息添加至元模板的文件头部中,以得到交互文件模板。
在一个实施例中,交互文件生成模块508还用于根据源代码获取与元数据中的各个字段对应的数据值,并将获取的数据值插入交互文件模板中的对应位置,以生成交互文件。
如图6所示,在一个实施例中,交互文件生成模块508包括:
数据值插入模块602,用于根据源代码将获取的数据值插入交互文件模板中对应字段的字段显示位置。
字节补齐模块604,用于获取插入的数据值的长度以及与插入的数据值对应的字段的预设长度;当数据值的长度小于预设长度时,则根据所对应的字段的数据类型对数据值进行字节补齐处理,根据字节补齐处理后的文件得到交互文件。
在一个实施例中,字节补齐模块604还用于检测与插入的数据值对应的字段的数据类型;当字段对应的数据类型为数值型时,则将数据值进行左补零右对齐的处理;当字段对应的数据类型为字符型时,则将数据值进行右补空格左对齐对齐的处理。
上述文件生成装置,通过获取元数据文件,解析元数据文件得到元数据和指定的文件格式;根据元数据文件中配置的字段信息与源代码参数之间的映射关系,将元数据转换为对应的源代码;根据指定的文件格式调用对应的元模板,根据解析得到的元数据和调用的元模板生成对应的交互文件模板;根据源代码和交互文件模板生成交互文件。相当于通过在元数据文件中指定文件格式,并将元数据对与指定文件格式对应的元模板结合起来动态生成所需的交互文件模板,进一步根据元数据转换后的源代码和交互文件模板结合起来生成交互文件。而不需要针对每种文件格式都分别写一套生成对应格式的交互文件代码,减少了代码的编写量,避免了代码的冗余。
此外,根据元数据来自动生成对应的交互文件模板,而不需要人工的设置多套固定的交互文件模板,相较于手动设置多套交互文件模板而言,提高了交互文件模板生成效率。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,该计算机程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,前述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)等非易失性存储介质,或随机存储记忆体(Random Access Memory,RAM)等。
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限定。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。

Claims (10)

1.一种文件生成方法,所述方法包括以下步骤:
获取元数据文件,解析所述元数据文件得到元数据和指定的文件格式;
根据所述元数据文件中配置的字段信息与源代码参数之间的映射关系,将所述元数据转换为对应的源代码;
根据所述指定的文件格式调用对应的元模板,根据解析得到的所述元数据和调用的所述元模板生成对应的交互文件模板;
根据所述源代码和所述交互文件模板生成交互文件。
2.根据权利要求1所述的方法,其特征在于,所述根据解析得到的所述元数据和调用的所述元模板生成对应的交互文件模板的步骤,包括:
将所述元数据代入所述元模板中,根据所述元模板确定所述元数据中的字段的显示方式,以及确定所述元数据中的字段在所述元模板中的字段显示位置;
将所述元数据中的文件头信息添加至所述元模板的文件头部中,以得到交互文件模板。
3.根据权利要求2所述的方法,其特征在于,所述字段的显示方式包括字节补齐方式和/或日期显示格式和/或金额显示格式。
4.根据权利要求1至3中任一项所述的方法,其特征在于,所述根据所述源代码和所述交互文件模板生成交互文件的步骤,包括:
根据所述源代码获取与所述元数据中的各个字段对应的数据值,并将获取的所述数据值插入所述交互文件模板中的对应位置,以生成交互文件。
5.根据权利要求4所述的方法,其特征在于,所述将获取的所述数据值插入所述交互文件模板中的对应位置,以生成交互文件的步骤,包括:
根据所述源代码将获取的所述数据值插入所述交互文件模板中对应字段的所述字段显示位置;
获取插入的所述数据值的长度以及与所述插入的数据值对应的所述字段的预设长度;
当所述数据值的长度小于所述预设长度时,则根据所对应的所述字段的数据类型对所述数据值进行字节补齐处理,根据字节补齐处理后的文件得到交互文件。
6.根据权利要求5所述的方法,其特征在于,所述根据所对应的所述字段的数据类型对所述数据值进行字节补齐处理的步骤,包括:
检测与所述插入的数据值对应的所述字段的数据类型;
当所述字段对应的数据类型为数值型时,则将所述数据值进行左补零右对齐的处理;
当所述字段对应的数据类型为字符型时,则将所述数据值进行右补空格左对齐对齐的处理。
7.一种文件生成装置,其特征在于,所述装置包括:
解析模块,用于获取元数据文件,解析所述元数据文件得到元数据和指定的文件格式;
源代码生成模块,用于根据所述元数据文件中配置的字段信息与源代码参数之间的映射关系,将所述元数据转换为对应的源代码;
交互文件模板生成模块,用于根据所述指定的文件格式调用对应的元模板,根据解析得到的所述元数据和调用的所述元模板生成对应的交互文件模板;
交互文件生成模块,用于根据所述源代码和所述交互文件模板生成交互文件。
8.根据权利要求7所述的装置,其特征在于,所述交互文件模板生成模块还用于将所述元数据代入所述元模板中,根据所述元模板确定所述元数据中的字段的显示方式,以及确定所述元数据中的字段在所述元模板中的字段显示位置;将所述元数据中的文件头信息添加至所述元模板的文件头部中,以得到交互文件模板。
9.根据权利要求7或8所述的装置,其特征在于,所述交互文件生成模块还用于根据所述源代码获取与所述元数据中的各个字段对应的数据值,并将获取的所述数据值插入所述交互文件模板中的对应位置,以生成交互文件。
10.根据权利要求9所述的装置,其特征在于,所述交互文件生成模块包括:
数据值插入模块,用于根据所述源代码将获取的所述数据值插入所述交互文件模板中对应字段的所述字段显示位置;
字节补齐模块,用于获取插入的所述数据值的长度以及与所述插入的数据值对应的所述字段的预设长度;当所述数据值的长度小于所述预设长度时,则根据所对应的所述字段的数据类型对所述数据值进行字节补齐处理,根据字节补齐处理后的文件得到交互文件。
CN201710069561.0A 2017-02-08 2017-02-08 文件生成方法和装置 Active CN107704479B (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN201710069561.0A CN107704479B (zh) 2017-02-08 2017-02-08 文件生成方法和装置
US16/484,469 US10802804B2 (en) 2017-02-08 2018-02-07 File generation method, device, server, and storage medium
SG11201907331PA SG11201907331PA (en) 2017-02-08 2018-02-07 File generation method, device, server, and storage medium
PCT/CN2018/075547 WO2018145635A1 (zh) 2017-02-08 2018-02-07 文件生成方法、装置、服务器和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710069561.0A CN107704479B (zh) 2017-02-08 2017-02-08 文件生成方法和装置

Publications (2)

Publication Number Publication Date
CN107704479A true CN107704479A (zh) 2018-02-16
CN107704479B CN107704479B (zh) 2020-06-30

Family

ID=61169452

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710069561.0A Active CN107704479B (zh) 2017-02-08 2017-02-08 文件生成方法和装置

Country Status (4)

Country Link
US (1) US10802804B2 (zh)
CN (1) CN107704479B (zh)
SG (1) SG11201907331PA (zh)
WO (1) WO2018145635A1 (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110275861A (zh) * 2019-06-25 2019-09-24 北京明略软件系统有限公司 数据存储方法及装置、存储介质、电子装置
CN110674628A (zh) * 2019-09-25 2020-01-10 中国工商银行股份有限公司 文件模板生成方法及系统
US11360717B2 (en) 2020-02-28 2022-06-14 Ricoh Company, Ltd. Modification of advanced function presentation (AFP) print jobs for exception handling
CN115062362A (zh) * 2022-08-11 2022-09-16 杭州片段网络科技有限公司 基于FreeCAD内核的纸盒刀版开发方法、装置及相关设备

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113535141A (zh) * 2020-04-16 2021-10-22 浙江大搜车软件技术有限公司 数据库操作代码的生成方法及装置
CN111626032B (zh) * 2020-04-23 2024-01-26 平安国际智慧城市科技股份有限公司 word模板动态导出方法、装置及存储介质
CN112130837B (zh) * 2020-09-25 2022-03-08 腾讯科技(深圳)有限公司 一种代码处理方法、装置及存储介质
CN112685364A (zh) * 2020-12-24 2021-04-20 北京浪潮数据技术有限公司 Flume元数据信息分析提取方法及相关组件
CN113176877A (zh) * 2021-05-27 2021-07-27 北京格瑞拉科技有限公司 实体类生成方法、装置及存储介质
CN113626394B (zh) * 2021-06-30 2023-08-15 苏州浪潮智能科技有限公司 一种数据压缩方法及相关装置
CN113778999A (zh) * 2021-09-29 2021-12-10 平安资产管理有限责任公司 数据模块化处理方法、装置、计算机设备和存储介质
CN114462367A (zh) * 2021-12-23 2022-05-10 北京方鸿智能科技有限公司 文件创建方法及装置
CN116049293B (zh) * 2023-03-23 2024-02-13 北京沐融信息科技股份有限公司 基于数据库配置实现解析csv文件方法、装置、设备及介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103473108A (zh) * 2013-08-12 2013-12-25 福建富士通信息软件有限公司 一种Java代码生成方法
CN104281447A (zh) * 2014-09-01 2015-01-14 国家电网公司 一种报表快速生成及发布的系统及其方法
CN104750796A (zh) * 2014-11-13 2015-07-01 安徽四创电子股份有限公司 一种BS系统下导出Word的方法
CN104933162A (zh) * 2015-06-26 2015-09-23 河海大学 一种从元数据标注的csv数据到rdf数据的转换方法
US9483260B1 (en) * 2012-07-31 2016-11-01 Pivotal Software, Inc. Documentation generation for web APIs based on byte code analysis

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6611838B1 (en) * 2000-09-01 2003-08-26 Cognos Incorporated Metadata exchange
US20040025167A1 (en) * 2002-06-07 2004-02-05 Grow John Darwin Software, method and system for data connectivity and integration having transformation and exchange infrastructure
US20040225491A1 (en) * 2003-05-08 2004-11-11 Taiwan Semiconductor Manufacturing Co., Ltd. Generic script template engine repository adapter system and method of use
US7756865B2 (en) 2006-08-09 2010-07-13 Infoprint Solutions Company, Llc Extendable meta-data support in final form presentation datastream print enterprises
US8214811B2 (en) * 2006-10-23 2012-07-03 International Business Machines Corporation Instantiating an interface or abstract class in application code
US8789012B1 (en) * 2007-12-17 2014-07-22 Cisco Technology, Inc. System and method for automatically generating computer code to obtain data from devices optionally using a web services interface
US8250523B2 (en) * 2009-01-29 2012-08-21 Microsoft Corporation Source code wrapper generation
CN101650711A (zh) * 2009-08-18 2010-02-17 深圳市科陆电子科技股份有限公司 一种报表的生成方法
US8533690B2 (en) * 2010-05-20 2013-09-10 James B. McAtamney C-to-java programming language translator
US9753699B2 (en) * 2011-06-16 2017-09-05 Microsoft Technology Licensing, Llc Live browser tooling in an integrated development environment
US8601016B2 (en) * 2011-08-30 2013-12-03 International Business Machines Corporation Pre-generation of structured query language (SQL) from application programming interface (API) defined query systems
US20170102925A1 (en) * 2014-03-26 2017-04-13 Syed Adeel Ali Automatch process and system for software development kit for application programming interface
CN104615751A (zh) * 2015-02-12 2015-05-13 中国农业银行股份有限公司 一种报表文件生成方法及装置
CN106354727B (zh) * 2015-07-16 2021-01-26 中兴通讯股份有限公司 小部件文件生成方法和装置
CN105930323B (zh) * 2015-09-06 2019-05-24 中国银联股份有限公司 一种文件生成方法和装置
US9766868B2 (en) * 2016-01-29 2017-09-19 International Business Machines Corporation Dynamic source code generation
US10073826B2 (en) * 2016-06-30 2018-09-11 Microsoft Technology Licensing, Llc Providing action associated with event detected within communication
RU2016137177A (ru) * 2016-09-16 2018-03-19 Оракл Интернэйшнл Корпорейшн Усовершенствованное преобразование исходного кода языка программирования

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9483260B1 (en) * 2012-07-31 2016-11-01 Pivotal Software, Inc. Documentation generation for web APIs based on byte code analysis
CN103473108A (zh) * 2013-08-12 2013-12-25 福建富士通信息软件有限公司 一种Java代码生成方法
CN104281447A (zh) * 2014-09-01 2015-01-14 国家电网公司 一种报表快速生成及发布的系统及其方法
CN104750796A (zh) * 2014-11-13 2015-07-01 安徽四创电子股份有限公司 一种BS系统下导出Word的方法
CN104933162A (zh) * 2015-06-26 2015-09-23 河海大学 一种从元数据标注的csv数据到rdf数据的转换方法

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110275861A (zh) * 2019-06-25 2019-09-24 北京明略软件系统有限公司 数据存储方法及装置、存储介质、电子装置
CN110275861B (zh) * 2019-06-25 2021-09-17 北京明略软件系统有限公司 数据存储方法及装置、存储介质、电子装置
CN110674628A (zh) * 2019-09-25 2020-01-10 中国工商银行股份有限公司 文件模板生成方法及系统
CN110674628B (zh) * 2019-09-25 2023-08-22 中国工商银行股份有限公司 文件模板生成方法及系统
US11360717B2 (en) 2020-02-28 2022-06-14 Ricoh Company, Ltd. Modification of advanced function presentation (AFP) print jobs for exception handling
CN115062362A (zh) * 2022-08-11 2022-09-16 杭州片段网络科技有限公司 基于FreeCAD内核的纸盒刀版开发方法、装置及相关设备
CN115062362B (zh) * 2022-08-11 2022-11-08 杭州片段网络科技有限公司 基于FreeCAD内核的纸盒刀版开发方法、装置及相关设备

Also Published As

Publication number Publication date
CN107704479B (zh) 2020-06-30
SG11201907331PA (en) 2019-09-27
US10802804B2 (en) 2020-10-13
WO2018145635A1 (zh) 2018-08-16
US20200034126A1 (en) 2020-01-30

Similar Documents

Publication Publication Date Title
CN107704479A (zh) 文件生成方法和装置
US8904283B2 (en) Extendable meta-data support in final form presentation datastream print enterprises
US7996759B2 (en) Data insertion from a database into a fixed electronic template form that supports overflow data
US20200110795A1 (en) Facilitating auto-completion of electronic forms with hierarchical entity data models
US7844899B2 (en) Citation processing system with multiple rule set engine
US9612785B2 (en) Document output processing
US20140351686A1 (en) Expert system for automation, data collection, validation and managed storage without programming and without deployment
CN104881275A (zh) 一种电子报表生成方法及装置
CN102968282A (zh) 靠截获打印数据实现任意账单与小票电子化的方法
CN107168695A (zh) 一种excel数据解析方法及系统
Cohen et al. Issues with the communication and integrity of audit reports when financial reporting shifts to an information-centric paradigm
CN101232538A (zh) 业务数据合并的方法及装置
US8564808B2 (en) Systems and methods for processing of variable documents
CN104820962A (zh) 一种代替人工签名栏的打印水印生成方法
CN110287193A (zh) 一种文件生成方法、装置、设备及计算机可读存储介质
US8131546B1 (en) System and method for adaptive sentence boundary disambiguation
JP2009015421A (ja) 財務書類作成システムおよび財務書類作成方法
US6061694A (en) Message structure
CN110471668A (zh) 提高软件兼容性的方法及装置
CN106776510A (zh) Word内嵌表格生成方法和装置
CN111143450B (zh) 导入数据的方法和装置
CN112750025A (zh) 一种自动生成凭证的方法
US20110022498A1 (en) Method and system for automatically transforming product intent descriptions into a process network and populating an order entry system
EP3832514A1 (en) An apparatus, computer program and method
JP2021068397A (ja) 出願データと調査書データのマッチング方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
TA01 Transfer of patent application right

Effective date of registration: 20180531

Address after: 518000 Room 201, building A, No. 1, Qian Wan Road, Qianhai Shenzhen Hong Kong cooperation zone, Shenzhen, Guangdong (Shenzhen Qianhai business secretary Co., Ltd.)

Applicant after: Shenzhen one ledger Intelligent Technology Co., Ltd.

Address before: 200000 Xuhui District, Shanghai Kai Bin Road 166, 9, 10 level.

Applicant before: Shanghai Financial Technologies Ltd

TA01 Transfer of patent application right
CB02 Change of applicant information

Address after: 518000 Room 201, building A, 1 front Bay Road, Shenzhen Qianhai cooperation zone, Shenzhen, Guangdong

Applicant after: Shenzhen one ledger Intelligent Technology Co., Ltd.

Address before: 518000 Room 201, building A, No. 1, Qian Wan Road, Qianhai Shenzhen Hong Kong cooperation zone, Shenzhen, Guangdong (Shenzhen Qianhai business secretary Co., Ltd.)

Applicant before: Shenzhen one ledger Intelligent Technology Co., Ltd.

CB02 Change of applicant information
GR01 Patent grant
GR01 Patent grant