CN109271456A - 主机数据库文件导出方法及装置 - Google Patents
主机数据库文件导出方法及装置 Download PDFInfo
- Publication number
- CN109271456A CN109271456A CN201811365246.3A CN201811365246A CN109271456A CN 109271456 A CN109271456 A CN 109271456A CN 201811365246 A CN201811365246 A CN 201811365246A CN 109271456 A CN109271456 A CN 109271456A
- Authority
- CN
- China
- Prior art keywords
- file
- host
- utf
- database
- 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.)
- Pending
Links
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明实施例提供了一种主机数据库文件导出方法及装置,其中,该方法包括:获取主机的数据库文件;将所述数据库文件转换为UTF‑8编码JSON格式的文件。该方案实现了将主机的数据库文件导出后,开放平台可以直接读取导出的文件,有利于为后期的数据挖掘、大数据、云计算等提供优质数据源;可以避免或减少数据出现偏差、遗漏、无法验证数据一致等问题,有利于确保数据的准确性;由于转换后的文件是UTF‑8编码JSON格式的文件,为通用的非关系型文本格式,有利于提高通用性。
Description
技术领域
本发明涉及数据处理技术领域,特别涉及一种主机数据库文件导出方法及装置。
背景技术
很多金融机构,目前仍在使用IBM主机系统运行核心金融应用。由于编码模式的不同,IBM主机系统中的数据库文件,不能直接导入到开放平台上。
现有技术中通过IBM的QRAP工具导出数据库文件,该工具可以实现将数据从主机DB2数据库导出到oracle数据库。该工具实现的办法是通过读取DB2数据库的操作日志,在oracle数据库模拟操作日志中同样的操作,间接实现数据同步。
但是,通过IBM的QRAP工具导出数据库文件的方法存在以下缺陷:第一,由于是通过模拟数据库操作,间接实现数据的同步,使得数据容易出现偏差,遗漏,无法验证数据一致,使得数据准确性差;第二,通用性弱,只能将数据同步到关系型数据库,不能直接导入到开放平台上。
发明内容
本发明实施例提供了一种主机数据库文件导出方法,以解决现有技术中存在的数据准确性差、通用性弱的技术问题。该方法包括:
获取主机的数据库文件;
将所述数据库文件转换为UTF-8编码JSON格式的文件。
本发明实施例还提供了一种主机数据库文件导出装置,以解决现有技术中存在的数据准确性差、通用性弱的技术问题。该装置包括:
文件获取模块,用于获取主机的数据库文件;
文件转换模块,用于将所述数据库文件转换为UTF-8编码JSON格式的文件。
本发明实施例还提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述任意的主机数据库文件导出方法。以解决现有技术中存在的数据准确性差、通用性弱的技术问题。
本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有执行上述任意的主机数据库文件导出方法的计算机程序。以解决现有技术中存在的数据准确性差、通用性弱的技术问题。
在本发明实施例中,通过读取主机的数据库文件,并将主机的数据库文件转换为UTF-8编码JSON格式的文件,由于UTF-8编码JSON格式的文件是开发平台可以直接读取的文件,即实现了将主机的数据库文件导出后,开放平台可以直接读取导出的文件,有利于为后期的数据挖掘、大数据、云计算等提供优质数据源;由于是通过读取主机数据库文件并对数据库文件进行转换实现的导出过程,与现有技术中模拟数据库操作的方式相比,可以避免或减少数据出现偏差、遗漏、无法验证数据一致等问题,有利于确保数据的准确性;由于转换后的文件是UTF-8编码JSON格式的文件,为通用的非关系型文本格式,有利于提高通用性。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,并不构成对本发明的限定。在附图中:
图1是本发明实施例提供的一种主机数据库文件导出方法的流程图;
图2是本发明实施例提供的一种主机数据库文件导出装置的结构框图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,下面结合实施方式和附图,对本发明做进一步详细说明。在此,本发明的示意性实施方式及其说明用于解释本发明,但并不作为对本发明的限定。
本申请发明人发现,现有技术中IBM主机(例如,IBM大型主机)系统中的数据库文件不能直接导入到开放平台(例如,X86平台)上的原因在于:1.编码模式不同,主机平台采用的编码模式为EBCDIC(Extended Binary Coded Decimal Interchange Code,扩展二进制编码的十进制交换码,是IBM专门为它的z/OS和IBM i系列(原AS/400)的操作系统使用的字符编码方式。与ASCII编码模式一样,对于每一种语言,分别使用各语言特定的编码表)编码模式,开放平台使用的编码模式为UTF-8(UTF-8是UNICODE的常用编码实现方式中的一种,UNICODE组织和ISO共同定义的被业界广泛接受的编码模式,此标准使用统一的编码表覆盖了世界上所有的通用字符,UNICODE的常用编码实现方式还有UTF-16和UTF-32)编码模式;2.数据库结构不同,主机平台使用的是关系型数据库,开放平台使用的是关系型和非关系型数据库。因此,为了实现开放平台可以直接读取IBM主机系统中的数据库文件,本申请发明人提出了一种主机数据库文件导出方法。
在本发明实施例中,提供了一种主机数据库文件导出方法,如图1所示,该方法包括:
步骤102:获取主机的数据库文件;
步骤104:将所述数据库文件转换为UTF-8编码JSON格式的文件。
由图1所示的流程可知,在本发明实施例中,通过读取主机的数据库文件,并将主机的数据库文件转换为UTF-8编码JSON格式的文件,由于UTF-8编码JSON格式的文件是开发平台可以直接读取的文件,即实现了将主机的数据库文件导出后,开放平台可以直接读取导出的文件,有利于为后期的数据挖掘、大数据、云计算等提供优质数据源;由于是通过读取主机数据库文件并对数据库文件进行转换实现的导出过程,与现有技术中模拟数据库操作的方式相比,可以避免或减少数据出现偏差、遗漏、无法验证数据一致等问题,有利于确保数据的准确性;由于转换后的文件是UTF-8编码JSON格式的文件,为通用的非关系型文本格式,有利于提高通用性。
具体实施时,为了实现将数据库文件转换为UTF-8编码JSON格式的文件,在本实施例中,将所述数据库文件转换为UTF-8编码JSON格式的文件,包括:
根据所述数据库文件的结构定义,读取所述数据库文件中各字段的值;
将读取的值转换为UTF-8编码模式,在读取的值中,将属于源文件信息的值记录到JSON格式的meta部分,将属于文件内容的值记录到JSON格式的body部分,得到UTF-8编码JSON格式的文件,不再依赖数据库表结构描述记录。
具体的,本申请发明人发现,主机的数据库源文件格式是在一行上,不同字段占用不同的长度,不同字段组合而成的单条记录。例如,数据库源文件格式如下表1所示。
表1
姓名 | 手机号 | 地址 | 身份证 | 客户号 |
演示名字 | 1234567 | 演示地址 | 演示身份证号 | 演示客户号 |
为了可以生成UTF-8编码JSON格式的文件,本申请发明人提出,根据主机数据库文件的结构定义,读取主机数据库文件中各字段的值,主机数据库文件可以包含EBCDIC、ASCII、UNICODE等编码模式的一种或多种编码方式,可以基于编码字符集(编码字符集即通过一套规则(字符集和代码表示的一一对应关系)建立的字符集)将各种编码方式中的字符转换为对应的UTF-8编码,即可以将读取的值转换为UTF-8编码模式,再将属于源文件信息的值记录到JSON格式的meta部分,将属于文件内容的值记录到JSON格式的body部分,即可得到UTF-8编码JSON格式的文件。例如,转换后的UTF-8编码JSON格式的文件如下所示:
具体实施时,为了满足数据量大时对处理速度的高要求,在本实施例中,上述方法还包括:
将所述数据库文件拆分为多个文件块;
通过主节点将文件块分别推送给数据处理节点,各数据处理节点并行运行,每个数据处理节点将自身接收的文件块转换为UTF-8编码JSON格式的文件块。
即实现了搭建数据处理集群,数据处理集群包括一个主节点和多个数据处理节点,多个数据处理节点并行处理数据,使用集群方式来提高数据的处理速度。
具体实施时,拆分数据库文件时可以根据数据处理节点的个数、每个数据处理节点并行处理的进程数,将数据库文件拆分为多个文件块,以确保拆分后的单个文件块大小约在128M。例如,可以通过以下公式来计算拆分后的单个文件块的行数:
动态系数=128M*节点数*并行进程数/总文件大小(单位:M)
拆分后单文件行数=总行数/(节点数量*并行进程数)*动态系数。
拆分数据库文件之后,通过主节点将拆分后的单个文件块推送到数据处理节点上,由数据处理节点完成文件转换过程,主节点还可以建立任务列表登记,如下表2所示,当数据处理节点完成一个文件块的处理后,更新任务列表中的数据处理状态,继续从任务列表中选择未处理的文件块,推送到数据处理节点中。
表2
任务编号 | 源文件名 | 拆分文件名 | 数据处理节点 | 数据处理状态 |
具体实施时,上述主机数据库文件导出方法可以直接运行在开放平台上,这样开放平台可以直接读取主机带库数据库表备份文件,不再依赖其他转换工具。上述主机数据库文件导出方法还可以通过转换工具的方式实现。
随着大数据、云计算技术的成熟,开放平台的数据处理能力大幅增强。例如,机器学习、人工智能等技术需要大量的数据为基础。金融机构的核心应用数据,都存放在主机中。由于编码格式的问题,带库中的备份数据并不能起到数据源的作用,通过本发明提出的上述主机数据库文件导出方法,可以打通主机封闭平台到开发平台的通路,将带库中的备份数据转换成开源工具可以处理的文本格式,解决了数据源头的难题。
在不久的将来,金融行业、保险行业都会面临需要可靠数据源的的问题。可靠的数据源是人工智能的基础。本发明的提出可以避免购买类似的高额数据转换工具,有利于节约资金,确保数据转换灵活可控。
基于同一发明构思,本发明实施例中还提供了一种主机数据库文件导出装置,如下面的实施例所述。由于主机数据库文件导出装置解决问题的原理与主机数据库文件导出方法相似,因此主机数据库文件导出装置的实施可以参见主机数据库文件导出方法的实施,重复之处不再赘述。以下所使用的,术语“单元”或者“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图2是本发明实施例的主机数据库文件导出装置的一种结构框图,如图2所示,包括:
文件获取模块202,用于获取主机的数据库文件;
文件转换模块204,用于将所述数据库文件转换为UTF-8编码JSON格式的文件。
在一个实施例中,所述文件转换模块,包括:
读取单元,用于根据所述数据库文件的结构定义,读取所述数据库文件中各字段的值;
转换单元,用于将读取的值转换为UTF-8编码模式,在读取的值中,将属于源文件信息的值记录到JSON格式的meta部分,将属于文件内容的值记录到JSON格式的body部分,得到UTF-8编码JSON格式的文件。
在一个实施例中,上述装置还包括:
文件拆分模块,用于将所述数据库文件拆分为多个文件块;
主节点,用于将文件块分别推送给数据处理节点,各数据处理节点并行运行;
每个所述数据处理节点包括所述文件转换模块,将自身接收的文件块转换为UTF-8编码JSON格式的文件块。
在一个实施例中,所述文件拆分模块,具体用于根据数据处理节点的个数、每个数据处理节点并行处理的进程数,将所述数据库文件拆分为多个文件块。
在另外一个实施例中,还提供了一种软件,该软件用于执行上述实施例及优选实施方式中描述的技术方案。
在另外一个实施例中,还提供了一种存储介质,该存储介质中存储有上述软件,该存储介质包括但不限于:光盘、软盘、硬盘、可擦写存储器等。
本发明实施例实现了如下技术效果:通过读取主机的数据库文件,并将主机的数据库文件转换为UTF-8编码JSON格式的文件,由于UTF-8编码JSON格式的文件是开发平台可以直接读取的文件,即实现了将主机的数据库文件导出后,开放平台可以直接读取导出的文件,有利于为后期的数据挖掘、大数据、云计算等提供优质数据源;由于是通过读取主机数据库文件并对数据库文件进行转换实现的导出过程,与现有技术中模拟数据库操作的方式相比,可以避免或减少数据出现偏差、遗漏、无法验证数据一致等问题,有利于确保数据的准确性;由于转换后的文件是UTF-8编码JSON格式的文件,为通用的非关系型文本格式,有利于提高通用性。
显然,本领域的技术人员应该明白,上述的本发明实施例的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明实施例不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明实施例可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种主机数据库文件导出方法,其特征在于,包括:
获取主机的数据库文件;
将所述数据库文件转换为UTF-8编码JSON格式的文件。
2.如权利要求1所述的主机数据库文件导出方法,其特征在于,将所述数据库文件转换为UTF-8编码JSON格式的文件,包括:
根据所述数据库文件的结构定义,读取所述数据库文件中各字段的值;
将读取的值转换为UTF-8编码模式,在读取的值中,将属于源文件信息的值记录到JSON格式的meta部分,将属于文件内容的值记录到JSON格式的body部分,得到UTF-8编码JSON格式的文件。
3.如权利要求1或2所述的主机数据库文件导出方法,其特征在于,还包括:
将所述数据库文件拆分为多个文件块;
通过主节点将文件块分别推送给数据处理节点,各数据处理节点并行运行,每个数据处理节点将自身接收的文件块转换为UTF-8编码JSON格式的文件块。
4.如权利要求3所述的主机数据库文件导出方法,其特征在于,将所述数据库文件拆分为多个文件块,包括:
根据数据处理节点的个数、每个数据处理节点并行处理的进程数,将所述数据库文件拆分为多个文件块。
5.一种主机数据库文件导出装置,其特征在于,包括:
文件获取模块,用于获取主机的数据库文件;
文件转换模块,用于将所述数据库文件转换为UTF-8编码JSON格式的文件。
6.如权利要求5所述的主机数据库文件导出装置,其特征在于,所述文件转换模块,包括:
读取单元,用于根据所述数据库文件的结构定义,读取所述数据库文件中各字段的值;
转换单元,用于将读取的值转换为UTF-8编码模式,在读取的值中,将属于源文件信息的值记录到JSON格式的meta部分,将属于文件内容的值记录到JSON格式的body部分,得到UTF-8编码JSON格式的文件。
7.如权利要求5或6所述的主机数据库文件导出装置,其特征在于,还包括:
文件拆分模块,用于将所述数据库文件拆分为多个文件块;
主节点,用于将文件块分别推送给数据处理节点,各数据处理节点并行运行;
每个所述数据处理节点包括所述文件转换模块,将自身接收的文件块转换为UTF-8编码JSON格式的文件块。
8.如权利要求7所述的主机数据库文件导出装置,其特征在于,所述文件拆分模块,具体用于根据数据处理节点的个数、每个数据处理节点并行处理的进程数,将所述数据库文件拆分为多个文件块。
9.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至4中任一项所述的主机数据库文件导出方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有执行权利要求1至4中任一项所述的主机数据库文件导出方法的计算机程序。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811365246.3A CN109271456A (zh) | 2018-11-16 | 2018-11-16 | 主机数据库文件导出方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811365246.3A CN109271456A (zh) | 2018-11-16 | 2018-11-16 | 主机数据库文件导出方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109271456A true CN109271456A (zh) | 2019-01-25 |
Family
ID=65189574
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811365246.3A Pending CN109271456A (zh) | 2018-11-16 | 2018-11-16 | 主机数据库文件导出方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109271456A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109800268A (zh) * | 2019-02-01 | 2019-05-24 | 中国农业银行股份有限公司 | 一种数据导出方法、装置及电子设备 |
CN111857534A (zh) * | 2019-04-24 | 2020-10-30 | 北京嘀嘀无限科技发展有限公司 | 一种数据传输方法、数据存储服务器及数据存储系统 |
CN113361234A (zh) * | 2021-07-09 | 2021-09-07 | 南方电网数字电网研究院有限公司 | 基于模板引擎的文档导出方法、系统、设备和存储介质 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN201600693U (zh) * | 2009-11-26 | 2010-10-06 | 中国移动通信集团河北有限公司 | 数据仓库系统 |
CN103841190A (zh) * | 2014-02-28 | 2014-06-04 | 广州华多网络科技有限公司 | 信息获取方法、信息分享方法、装置和系统 |
CN104601692A (zh) * | 2015-01-13 | 2015-05-06 | 北京京东尚科信息技术有限公司 | 基于云存储的行车数据处理方法、设备及系统 |
CN106502883A (zh) * | 2016-10-09 | 2017-03-15 | 武汉斗鱼网络科技有限公司 | 自动化测试时客户端与服务端的数据库同步方法及系统 |
US20170300477A1 (en) * | 2015-03-11 | 2017-10-19 | Automated Insights, Inc. | Platform for natural language generation editor |
CN107480202A (zh) * | 2017-07-18 | 2017-12-15 | 湖南大学 | 一种用于多并行处理框架的数据处理方法及装置 |
US20180075049A1 (en) * | 2016-09-15 | 2018-03-15 | Oracle International Corporation | Schema to schema converter |
CN108763963A (zh) * | 2018-06-12 | 2018-11-06 | 北京奇虎科技有限公司 | 基于数据访问权限的分布式处理方法、装置及系统 |
-
2018
- 2018-11-16 CN CN201811365246.3A patent/CN109271456A/zh active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN201600693U (zh) * | 2009-11-26 | 2010-10-06 | 中国移动通信集团河北有限公司 | 数据仓库系统 |
CN103841190A (zh) * | 2014-02-28 | 2014-06-04 | 广州华多网络科技有限公司 | 信息获取方法、信息分享方法、装置和系统 |
CN104601692A (zh) * | 2015-01-13 | 2015-05-06 | 北京京东尚科信息技术有限公司 | 基于云存储的行车数据处理方法、设备及系统 |
US20170300477A1 (en) * | 2015-03-11 | 2017-10-19 | Automated Insights, Inc. | Platform for natural language generation editor |
US20180075049A1 (en) * | 2016-09-15 | 2018-03-15 | Oracle International Corporation | Schema to schema converter |
CN106502883A (zh) * | 2016-10-09 | 2017-03-15 | 武汉斗鱼网络科技有限公司 | 自动化测试时客户端与服务端的数据库同步方法及系统 |
CN107480202A (zh) * | 2017-07-18 | 2017-12-15 | 湖南大学 | 一种用于多并行处理框架的数据处理方法及装置 |
CN108763963A (zh) * | 2018-06-12 | 2018-11-06 | 北京奇虎科技有限公司 | 基于数据访问权限的分布式处理方法、装置及系统 |
Non-Patent Citations (1)
Title |
---|
TDX真好: "将数据库中的数据转换成json格式", 《CSDN》 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109800268A (zh) * | 2019-02-01 | 2019-05-24 | 中国农业银行股份有限公司 | 一种数据导出方法、装置及电子设备 |
CN111857534A (zh) * | 2019-04-24 | 2020-10-30 | 北京嘀嘀无限科技发展有限公司 | 一种数据传输方法、数据存储服务器及数据存储系统 |
CN113361234A (zh) * | 2021-07-09 | 2021-09-07 | 南方电网数字电网研究院有限公司 | 基于模板引擎的文档导出方法、系统、设备和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108399256B (zh) | 异构数据库内容同步方法、装置及中间件 | |
Karnitis et al. | Migration of relational database to document-oriented database: Structure denormalization and data transformation | |
CN107391306B (zh) | 一种异构数据库备份文件恢复方法 | |
CN108334609B (zh) | Oracle中实现JSON格式数据存取的方法、装置、设备及存储介质 | |
CN107609350A (zh) | 一种二代测序数据分析平台的数据处理方法 | |
CN109271456A (zh) | 主机数据库文件导出方法及装置 | |
US20150193526A1 (en) | Schemaless data access management | |
US20220360628A1 (en) | Technologies for conversion of acquirer files for big data ingestion | |
CN108027713A (zh) | 用于固态驱动器控制器的重复数据删除 | |
CN105843554B (zh) | 基于对象存储的数据迁移的方法及其系统 | |
CN106557571A (zh) | 一种基于k‑v存储引擎的数据去重方法及装置 | |
CN115858488A (zh) | 基于数据治理的平行迁移方法、装置及可读介质 | |
CN109901978A (zh) | 一种Hadoop日志无损压缩方法和系统 | |
CN109542869B (zh) | 一种结构化数据核对方法 | |
CN112912870A (zh) | 租户标识符的转换 | |
CN109947743A (zh) | 一种优化的NoSQL大数据存储方法及系统 | |
CN110569230A (zh) | 数据库设计模型与设计文档互相转换方法、系统及设备 | |
CN111984745B (zh) | 数据库字段动态扩展方法、装置、设备及存储介质 | |
CN113887182A (zh) | 表格生成方法、装置、设备及存储介质 | |
CN109829003A (zh) | 数据库备份方法及装置 | |
US10262007B2 (en) | Systems and methods for automatically passing hints to a file system | |
US10956659B1 (en) | System for generating templates from webpages | |
CN110704635A (zh) | 一种知识图谱中三元组数据的转换方法及装置 | |
US20240004851A1 (en) | Systems and methods for creating a reorganization-immune blockchain index using mono-increasing sequence records | |
WO2022257575A1 (zh) | 一种数据处理方法、装置以及设备 |
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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190125 |