CN113297153A - 数据导出方法、装置、设备及存储介质 - Google Patents
数据导出方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN113297153A CN113297153A CN202110677223.1A CN202110677223A CN113297153A CN 113297153 A CN113297153 A CN 113297153A CN 202110677223 A CN202110677223 A CN 202110677223A CN 113297153 A CN113297153 A CN 113297153A
- Authority
- CN
- China
- Prior art keywords
- data
- data export
- export
- file
- parameters
- 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
- 238000000034 method Methods 0.000 title claims abstract description 51
- 238000013515 script Methods 0.000 claims abstract description 35
- 238000012545 processing Methods 0.000 claims description 28
- 238000004590 computer program Methods 0.000 claims description 19
- 238000006243 chemical reaction Methods 0.000 claims description 6
- 238000013144 data compression Methods 0.000 claims description 6
- 238000004458 analytical method Methods 0.000 claims description 5
- 238000009795 derivation Methods 0.000 claims description 5
- 230000005540 biological transmission Effects 0.000 description 9
- 238000010586 diagram Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 5
- 230000008569 process Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000013500 data storage Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000012805 post-processing Methods 0.000 description 1
- 238000012797 qualification Methods 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/172—Caching, prefetching or hoarding of files
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/16—File or folder operations, e.g. details of user interfaces specifically adapted to file systems
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请提供一种数据导出方法、装置、设备及存储介质,该方法包括:接收来自数据消费方的数据导出请求,其中数据导出请求包括数据库的参数、数据表的参数以及对数据表的限定条件;根据预配置的数据导出脚本,数据库的参数,数据表的参数以及对数据表的限定条件,生成数据导出指令;通过执行数据导出指令获取目标数据,生成数据导出文件,向数据消费方发送数据导出文件。上述方案基于预配置的数据导出脚本,能够快速生成数据导出指令,提升了数据导出的效率。
Description
技术领域
本申请涉及数据处理领域,尤其涉及一种数据导出方法、装置、设备及存储介质。
背景技术
随着信息技术的不断发展,数据量呈爆发式增长,数据处理平台需要将数据进行分类、存储、分析和导出。在数据量较小或交互次数较少时,数据处理平台能够快速响应,执行相应的数据任务。
对于交互项强、复杂、大型的数据处理平台,数据量庞大、字段数较多。随着导出数据任务量以及导出数据量的不断增加,平台内存压力过大,可能导致数据导出失败。因此,亟需一种可以灵活设置导出规则的数据导出方案,以提高数据导出的效率。
发明内容
本申请实施例提供一种数据导出方法、装置、设备及存储介质,提高数据导出的效率。
第一方面,本申请实施例提供一种数据导出方法,包括:
接收来自数据消费方的数据导出请求,所述数据导出请求包括数据库的参数,数据表的参数以及对数据表的限定条件;
根据预配置的数据导出脚本,所述数据库的参数,所述数据表的参数以及对数据表的限定条件,生成数据导出指令;
通过执行所述数据导出指令获取目标数据,生成数据导出文件;
向所述数据消费方发送所述数据导出文件。
在本申请的一个可选实施例中,所述数据导出请求还包括预设的数据导出周期;所述方法还包括:
按照所述数据导出周期定期生成所述数据导出指令。
在本申请的一个可选实施例中,所述数据导出请求还包括所述数据导出文件的预设输出路径;所述向所述数据消费方发送所述数据导出文件,包括:
按照所述预设输出路径向所述数据消费方法发送所述数据导出文件。
在本申请的一个可选实施例中,所述数据导出请求还包括所述数据消费方的账户信息,所述账户信息包括用户名和密文形式的密码;所述方法还包括:
采用文本分析工具awk对所述账户信息进行解析,验证所述数据消费方的所述账户信息是否具有数据导出权限;
在确定所述数据消费方具有数据导出权限后,执行所述根据所述数据导出请求生成数据导出指令的步骤。
在本申请的一个可选实施例中,所述通过执行所述数据导出指令获取目标数据,生成数据导出文件,包括:
执行所述数据导出指令,根据所述数据导出指令的返回值确定所述数据导出指令是否执行成功;
若确定所述数据导出指令执行成功,获取目标数据,根据所述目标数据生成所述数据导出文件。
在本申请的一个可选实施例中,所述根据所述目标数据生成所述数据导出文件,包括:
对所述目标数据进行格式转换和数据压缩,生成所述数据导出文件。
第二方面,本申请实施例提供一种数据导出装置,包括:
接收模块,用于接收来自数据消费方的数据导出请求,所述数据导出请求包括数据库的参数,数据表的参数以及对数据表的限定条件;
处理模块,用于根据预配置的数据导出脚本,所述数据库的参数,所述数据表的参数以及对数据表的限定条件,生成数据导出指令;
通过执行所述数据导出指令获取目标数据,生成数据导出文件;
发送模块,具体用于向所述数据消费方发送所述数据导出文件。
可选的,所述数据导出请求还包括预设的数据导出周期;
在本申请的一个可选实施例中,所述处理模块,还用于:
按照所述数据导出周期定期生成所述数据导出指令。
可选的,所述数据导出请求还包括所述数据导出文件的预设输出路径;
在本申请的一个可选实施例中,所述发送模块,具体用于:
按照所述预设输出路径向所述数据消费方发送所述数据导出文件。
可选的,所述数据导出请求还包括所述数据消费方的账户信息,所述账户信息包括用户名和密文形式的密码;
在本申请的一个可选实施例中,所述处理模块,还用于:
采用文本分析工具awk对所述账户信息进行解析,验证所述数据消费方的所述账户信息是否具有数据导出权限;
在确定所述数据消费方具有数据导出权限后,执行所述根据所述数据导出请求生成数据导出指令的步骤。
在本申请的一个可选实施例中,所述处理模块,具体用于:
执行所述数据导出指令,根据所述数据导出指令的返回值确定所述数据导出指令是否执行成功;
若确定所述数据导出指令执行成功,获取目标数据,根据所述目标数据生成所述数据导出文件。
在本申请的一个可选实施例中,所述处理模块,具体用于:
对所述目标数据进行格式转换和数据压缩,生成所述数据导出文件。
第三方面,本申请实施例提供一种电子设备,包括:
存储器,处理器以及计算机程序;
其中,所述计算机程序存储在所述存储器中,并被配置为由所述处理器执行以实现如第一方面中任一项所述的方法。
第四方面,本申请实施例提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行以实现如第一方面中任一项所述的方法。
第五方面,本申请实施例提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现第一方面中任一项所述的方法。
本申请实施例提供一种数据导出方法、装置、设备及存储介质,该方法包括:接收来自数据消费方的数据导出请求,其中数据导出请求包括数据库的参数、数据表的参数以及对数据表的限定条件;根据预配置的数据导出脚本,数据库的参数,数据表的参数以及对数据表的限定条件,生成数据导出指令;通过执行数据导出指令获取目标数据,生成数据导出文件,向数据消费方发送数据导出文件。上述方案基于预配置的数据导出脚本,能够快速生成数据导出指令,提升了数据导出的效率。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的数据导出方法的场景示意图;
图2为本申请实施例提供的数据导出方法的流程示意图一;
图3为本申请实施例提供的数据导出方法的流程示意图二;
图4为本申请实施例提供的数据导出装置的结构示意图;
图5为本申请实施例提供的电子设备的硬件结构图。
通过上述附图,已示出本申请明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本申请构思的范围,而是通过参考特定实施例为本领域技术人员说明本申请的概念。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请实施例的说明书、权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述之外的顺序实施。
应当理解,本文中使用的术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
在本申请实施例的描述中,术语“对应”可表示两者之间具有直接对应或间接对应的关系,也可以表示两者之间具有关联关系,也可以是指示与被指示、配置与被配置等关系。
首先对本申请实施例涉及的专业术语进行简要介绍。
shell脚本又称shell命令稿、程序化脚本,是一种计算机程序使用的文本文件。
awk是linux及unix环境中现有的最强大的数据处理引擎,或者说是一种专门处理字符串的语言。
sed是一项linux的简单列处理的指令。
结构化查询语言(Structured Query Language,SQL)是一种数据库查询和程序设计语言,用于数据查询、更新和管理关系数据库系统。
sqlldr是oracle数据库自带的数据加载命令。
spool命令的作用是将sqlplus中的输出结果复制到一个指定的文件中。
sqlplus是oracle数据库提供的一种用户接口,类似于操作系统的命令行,用户可以通过在sqlplus中输入命令来向数据库发送命令,数据库也将处理结果通过sqlplus呈现给用户,即在sqlplus下执行sql脚本等。
基于背景技术部分的描述可知,目前的数据导出方案在数据任务量较大或导出数据量较大时,数据导出效率较低,在平台内存不足时,有数据导出失败的情况。
为了提高数据导出的效率,本申请实施例提出一种数据导出方法,发明人考虑从数据导出的预配置文件出发,考虑针对不同数据消费方,预配置不同的执行脚本,用以满足数据消费方对源数据的不同需求,减少数据文件生成时的资源消耗,提高平台的数据处理能力。在有数据导出请求时,基于预配置的执行脚本,能够快速转换为可执行的数据导出指令,用于获取目标数据。进一步的,还可以增加对目标数据进行后处理,例如格式转换、数据压缩等,降低数据传输过程中的带宽占用和传输延时,提升数据传输的效率,避免资源的浪费。
为了更好地理解本申请实施例的技术方案,下面先对本申请实施例的系统架构进行简单介绍。
图1为本申请实施例提供的数据导出方法的系统架构示意图,如图1所示,本实施例的系统架构包括终端设备11、12、13,数据调度服务器14以及数据库15、16、17。终端设备11、12、13分别与数据调度服务器14通信连接,数据调度服务器14分别与数据库15、16、17通信连接。上述通信连接的连接类型包括有线(包括光纤电缆连接)或无线通信连接。
其中,终端设备11、12、13可以是具有显示功能的任意电子设备,包括但不限于智能手机、平板电脑、台式计算机、智能手表等。终端设备11、12、13可以看作是数据消费方,即获取和写入数据的设备。
其中,数据调度服务器14可以看作是数据服务方,为用户提供各类数据服务,包括数据存储、查询、导出、修改等。作为一种示例,数据调度服务器14可以对接收到的数据导出请求进行分析处理,从数据库15、16、17获取目标数据,并将数据处理的结果反馈给终端设备11、12、13。
可选的,数据调度服务器14可以是基于linux操作系统的服务器。
其中,数据库15、16、17分别存储不同类型的业务数据,以银行领域为例,数据库15存储银行用户信息,包括用户的姓名、身份证号、地址、联系电话等;数据库15存储银行各类金融服务产品,包括活期产品、定期产品、基金产品、理财产品等;数据库17存储银行网点信息,包括银行网点的地址、人员规模、营业数据、客户数量、产品数量等。本实施例中,每个数据库通常包括多个数据表,多个数据表中的数据可能存在关联关系。数据库15、16、17可以设置在数据调度服务器14中,也可以独立于数据调度服务器14,对此本申请实施例不作任何限制。
需要说明的是,图1所示的系统架构仅作为可应用本申请实施例的技术方案的一个示例架构,以帮助本领域技术人员理解本申请的技术内容,但并不意味着本申请实施例不可以用于其他设备、系统、环境或场景。
图1中的终端设备、调度服务器和数据库的数量仅作为一种示例,可根据实际应用,可以具有任意数量的终端设备、调度服务器和数据库。
基于上述系统架构,下面通过具体实施例对本申请实施例提供的技术方案进行详细说明。需要说明的是,本申请实施例提供的技术方案可以包括以下内容中的部分或全部,下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。
图2为本申请实施例提供的数据导出方法的流程示意图一。本实施例的执行主体可以是图1所示的数据调度服务器,如图2所示,本实施例的数据导出方法,包括如下步骤:
步骤101、接收来自数据消费方的数据导出请求。
本实施例中,数据消费方可以是图1所示的任意终端设备。
在一些实施例中,数据消费方还可以是其他服务器,该服务器中包括数据库,数据导出请求用于请求数据调度服务器中任意一个或多个数据库中的源数据,目的是将数据调度服务器中一个或多个数据库中的源数据导出至其他服务器的数据库中。其中,数据调度服务器中的数据库为源数据库,其他服务器的数据库为目的数据库。
在本申请的一个可选实施例中,数据导出请求包括数据库的参数,数据表的参数以及对数据表的限定条件。
其中,数据库的参数包括数据库的IP地址;数据表的参数包括数据表的标识;对数据表的限定条件用于限定数据表中某一列(行)或某几列(行),和/或,数据表之间的关联关系。
示例性的,假设数据库包括5个数据表,分别记为数据表1、2、3、4、5,数据导出请求中的限定条件包括限定数据表2的第3行至第5行,以及数据表5的第4列。
示例性的,限定条件还包括数据表2的第3行第1列的关联数据,该关联数据位于数据表3的第2行。
从上述示例可知,对数据表的限定条件包括对某一数据表的数据限定以及对数据表之间的数据限定。
步骤102、根据预配置的数据导出脚本,数据库的参数,数据表的参数以及对数据表的限定条件,生成数据导出指令。
应理解,不同的数据消费方对应不同的数据导出脚本,即可根据不同数据消费方的数据需求,预配置不同的数据导出脚本。其中,预配置的数据导出脚本包括以下几个参数的字段:
日期、应用ID、作业链ID、作业ID以及其他参数。
其中,日期是指发起数据导出请求的日期;应用ID是指数据导出请求对应的某一项业务应用的标识,例如银行理财业务应用;作业链ID是指数据导出请求对应的某几项数据导出任务,例如包括对数据库1、3的数据导出任务,数据库1包括用户信息,数据库3包括银行理财业务产品;作业ID是指数据导出请求对应某一项数据导出任务的标识,例如对数据库1的用户数据的导出任务的标识。需要说明的是,预配置的数据导出脚本中的前述4个参数可作为固定输入项,字段长度固定。
其中,其他参数为可配置参数,用于配置需导出数据文件的某个数据库的某个表等具体的参数信息,不同数据消费方可对应不同的参数信息。需要指出的是,若配置参数有多个,可通过特殊字符“,”进行分隔。
示例性的,其他参数可以包括如下几个参数的至少一项:
1、SQL脚本名,例如00-ABC-T_BANK-2G.sql,该SQL脚本中包括上述对数据表的限定条件。
2、目标路径导出文件的存放位置。
3、数据库别名。预配置的数据导出脚本中可以以枚举的方式对数据库别名对应的数据库的信息(包括数据库的IP地址,端口号等)进行预配置,即构建数据库别名与数据库变量的对应关系。
数据导出指令中通常以数据库别名指示数据导出请求中数据库参数。应理解,数据库别名可以唯一确定数据库变量,从而确定数据导出请求中数据库参数。
作为一种示例,预配置的数据导出脚本可采用shell脚本实现。
示例性的,预配置的数据导出脚本记为“exportBySpool.sh”,可根据接收到的数据导出请求,将数据导出请求的相关参数填入数据导出脚本,从而生成数据导出指令,例如数据导出指令为:/exportBySpool.sh 20210528 ebiz ebiz_ods ebiz_ods_1 00-ABC-T_BANK-2G.sql,~/OUT,MASS。
其中,20210528表示日期,ebiz表示应用ID,ebiz_ods表示作业链ID,ebiz_ods_1表示作业ID,00-ABC-T_BANK-2G.sql表示数据库表导出的SQL脚本名,OUT表示存放位置,MASS表示数据库别名。
步骤103、通过执行数据导出指令获取目标数据,生成数据导出文件。
在本申请的一个可选实施例中,可使用sqlplus连接目标数据库、数据表,使用spool进行oracle数据导出。
在本申请的一个可选实施例中,执行数据导出指令,可根据数据导出指令的返回值确定数据导出指令是否执行成功。
具体的,若数据导出指令返回值不包括“error”,确定数据导出指令执行成功,从数据导出指令指示的路径获取目标数据,根据目标数据生成数据导出文件;若数据导出指令的返回值包括“error”,确定数据导出指令执行失败,则将错误的日志存储至服务器的日志文件中。
可选的,作为一个示例,根据目标数据生成数据导出文件,具体包括:对获取的目标数据进行格式转换,转换为大数据平台标准数据文件格式GBK;再对转换后的目标数据进行数据压缩,生成数据导出文件。
通过对目标数据的上述处理过程,可大大降低数据传输过程中的带宽占用和传输延时,提升数据传输的效率。
步骤104、向数据消费方发送数据导出文件。
在本申请的一个可选实施例中,可采用快速传输通道GTP向数据消费方发送数据导出文件。
具体的,可在同一路径下使用linux的touch命令创建一个新的文件,命名为%s.gz.ctl,其中,%s为数据导出文件的文件名,将%s.gz文件移动到GTP源路径下,即可通过快速传输通道GTP向数据消费方发送数据导出文件,随后再将%s.gz.ctl移动到GTP源路径下,如此一来,数据消费方就可以通过ctl文件是否存在判断数据导出文件是否成功传输。
本实施例提供的数据导出方法,接收来自数据消费方的数据导出请求,其中数据导出请求包括数据库的参数、数据表的参数以及对数据表的限定条件;根据预配置的数据导出脚本,数据库的参数,数据表的参数以及对数据表的限定条件,生成数据导出指令;通过执行数据导出指令获取目标数据,生成数据导出文件,向数据消费方发送数据导出文件。上述方案基于预配置的数据导出脚本,能够快速生成数据导出指令,提升了数据导出的效率。
在上述实施例的基础上,可选的,数据导出请求还可以包括:预设的数据导出周期。
其中,数据导出周期可以是数据消费方预先设置的时间周期,即导出频次,可以是每天一次、每周一次、或者每月一次等;还可以是数据调度服务器预先配置的时间周期(默认周期),对此本申请实施例不作任何限制。
在本申请的一个可选实施例中,根据数据导出请求生成数据导出指令,包括:按照数据导出周期定期生成数据导出指令。即数据调度服务器在接收数据消费方发送的数据导出请求之后,可根据数据消费方设置的数据导出周期,实现定期自动执行数据导出任务,提升数据导出配置的灵活性。
在上述实施例的基础上,可选的,数据导出请求还包括数据导出文件的预设输出路径,可按照预设输出路径向数据消费方发送数据导出文件。
可选的,一些实施例中,还可以按照默认输出路径对数据导出文件进行备份。可见,数据调度服务器除了向不同数据消费方发送数据导出文件之外,还可以将已发送的数据导出文件存储在本地或外部存储器中,方便数据消费方在必要时进行数据导出任务的历史数据的查询,提升系统的服务质量。
在上述实施例的基础上,可选的,数据导出请求还包括数据消费方的账户信息,其中账户信息包括用户名和密文形式的密码。示例性的,可采用shell脚本及awk、sed命令配置对称的加解密程序,例如“DSecuEncrypt.sh”。在实际应用中,数据调度服务器可采用预配置的解密程序,对数据导出请求中密文密码进行解析,验证数据消费方是否有数据导出的权限。
在本申请的一个可选实施例中,可采用文本分析工具awk对账户信息进行解析,验证数据消费方的账户信息是否具有数据导出权限;在确定数据消费方具有数据导出权限后,执行根据数据导出请求生成数据导出指令的步骤。
当数据消费方与数据调度服务器(可以理解为数据服务方)建立连接后,数据调度服务器可直接根据数据消费方的数据导出请求以及预配置的数据导出脚本,自动生成数据导出文件,无需再进行数据消费方的账户信息验证。
上述实施例中,通过对账户信息的密码进行加密处理,可提升数据导出任务的安全性,避免数据库中的数据被非法窃取。
图3为本申请实施例提供的数据导出方法的流程示意图二,如图3所示,本实施例提供的数据导出方法包括如下几个步骤:
步骤1、开始;
步骤2、从数据导出指令中读取数据导出的相关参数;
本步骤中,数据导出指令是根据数据导出请求以及预配置的shell脚本(即预配置的数据导出脚本)生成的。其中,数据导出的相关参数有:日期、应用ID、作业链ID、作业ID以及其他参数。
步骤3、判断数据导出的相关参数是否齐全;
若数据导出的相关参数不全,执行步骤4;
若数据导出的相关参数齐全,执行步骤5。
步骤4、异常退出;
步骤5、使用awk解析相关参数中的账户信息;
本步骤中,主要是使用awk解析数据消费方的账户信息中的密码。
步骤6、验证账户信息是否有数据导出权限;
若无数据导出权限,执行步骤4;
若有数据导出权限,执行步骤7。
步骤7、根据数据导出的相关参数匹配对应的数据库;
步骤8、设置日志文件路径以及文件名;
步骤9、记录执行开始时间到日志表;
步骤10、sqlplus连接数据库,进行oracle数据常用的设置;
步骤11、执行spool导出,并设置导出的文件名及对应的路径;
步骤12、判断是否执行成功;
本步骤中,可根据执行指令的返回值判断是否执行成功。
若执行成功,执行步骤13,否则,执行步骤4。
步骤13、获取目标数据,将目标数据转换为大数据平台统一的GBK编码格式;
步骤14、压缩文件;
步骤15、移动压缩文件到GTP发送文件夹下;
步骤16、在GTP发送文件夹下touch对应的*.ctl文件;
步骤17、返回发送结果到数据调度服务器;
本步骤中,发送结果包括发送成功或失败。
步骤18、正常结束。
本实施例提供了一种基于预配置的shell脚本,生成数据导出指令,灵活导出目标数据的方法,其中shell脚本可调用sql语句,可将需要导出的数据库别名、sql脚本名及导出文件的目标路径作为数据导出指令中的调度参数,通过执行数据导出指令,从目标数据库表中获取目标数据,生成标准的数据导出文件,可配置导出文件名与sql脚本名一致。上述实施例可灵活而准确的解决不同的数据接口消费方对源系统的同一张表的不同的数据文件的需求,且每个数据导出任务的导出开始时间、导出结束时间均记录在log日志中,日志接入调度监控,支持在调度监控直接查看回收情况。
本申请实施例可以根据上述方法实施例,对数据导出装置进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以使用硬件的形式实现,也可以使用软件功能模块的形式实现。需要说明的是,本申请实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。下面以使用对应各个功能划分各个功能模块为例进行说明。
图4为本申请实施例提供的数据导出装置的结构示意图。如图4所示,本实施例的数据导出装置200,包括:接收模块201、处理模块202以及发送模块203。
接收模块201,用于接收来自数据消费方的数据导出请求,所述数据导出请求包括数据库的参数,数据表的参数以及对数据表的限定条件;
处理模块202,用于根据预配置的数据导出脚本,所述数据库的参数,所述数据表的参数以及对数据表的限定条件,生成数据导出指令;
通过执行所述数据导出指令获取目标数据,生成数据导出文件;
发送模块203,具体用于向所述数据消费方发送所述数据导出文件。
可选的,所述数据导出请求还包括预设的数据导出周期;
在本申请的一个可选实施例中,所述处理模块202,还用于:
按照所述数据导出周期定期生成所述数据导出指令。
可选的,所述数据导出请求还包括所述数据导出文件的预设输出路径;
在本申请的一个可选实施例中,所述发送模块203,具体用于:
按照所述预设输出路径向所述数据消费方发送所述数据导出文件。
可选的,所述数据导出请求还包括所述数据消费方的账户信息,所述账户信息包括用户名和密文形式的密码;
在本申请的一个可选实施例中,所述处理模块202,还用于:
采用文本分析工具awk对所述账户信息进行解析,验证所述数据消费方的所述账户信息是否具有数据导出权限;
在确定所述数据消费方具有数据导出权限后,执行所述根据所述数据导出请求生成数据导出指令的步骤。
在本申请的一个可选实施例中,所述处理模块202,具体用于:
执行所述数据导出指令,根据所述数据导出指令的返回值确定所述数据导出指令是否执行成功;
若确定所述数据导出指令执行成功,获取目标数据,根据所述目标数据生成所述数据导出文件。
在本申请的一个可选实施例中,所述处理模块202,具体用于:
对所述目标数据进行格式转换和数据压缩,生成所述数据导出文件。
本实施例提供的数据导出装置,可以执行前述方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
图5为本申请实施例提供的电子设备的硬件结构图,如图5所示,本实施例提供的电子设备300,包括:
存储器301;
处理器302;以及
计算机程序;
其中,计算机程序存储在存储器301中,并被配置为由处理器302执行以实现前述方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
可选的,存储器301既可以是独立的,也可以跟处理器302集成在一起。当存储器301是独立于处理器302之外的器件时,电子设备300还包括:总线303,用于连接存储器301和处理器302。
本申请实施例还提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器302执行以实现前述方法实施例中的技术方案。
本申请实施例提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现前述方法实施例中的技术方案。
本申请实施例还提供了一种芯片,包括:处理模块与通信接口,该处理模块能执行前述方法实施例中的技术方案。
进一步地,该芯片还包括存储模块(如,存储器),存储模块用于存储指令,处理模块用于执行存储模块存储的指令,并且对存储模块中存储的指令的执行使得处理模块执行前述所示方法实施例中的技术方案。
应理解,上述处理器可以是中央处理单元(英文:Central Processing Unit,简称:CPU),还可以是其他通用处理器、数字信号处理器(英文:Digital Signal Processor,简称:DSP)、专用集成电路(英文:Application Specific Integrated Circuit,简称:ASIC)等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合发明所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
存储器可能包含高速RAM存储器,也可能还包括非易失性存储NVM,例如至少一个磁盘存储器,还可以为U盘、移动硬盘、只读存储器、磁盘或光盘等。
总线可以是工业标准体系结构(Industry Standard Architecture,ISA)总线、外部设备互连(Peripheral Component,PCI)总线或扩展工业标准体系结构(ExtendedIndustry Standard Architecture,EISA)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,本申请附图中的总线并不限定仅有一根总线或一种类型的总线。
上述存储介质可以是由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。存储介质可以是通用或专用计算机能够存取的任何可用介质。
一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于专用集成电路(Application Specific Integrated Circuits,简称:ASIC)中。当然,处理器和存储介质也可以作为分立组件存在于电子设备中。
最后应说明的是:以上各实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述各实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例的技术方案的范围。
Claims (10)
1.一种数据导出方法,其特征在于,包括:
接收来自数据消费方的数据导出请求,所述数据导出请求包括数据库的参数,数据表的参数以及对数据表的限定条件;
根据预配置的数据导出脚本,所述数据库的参数,所述数据表的参数以及对数据表的限定条件,生成数据导出指令;
通过执行所述数据导出指令获取目标数据,生成数据导出文件;
向所述数据消费方发送所述数据导出文件。
2.根据权利要求1所述的方法,其特征在于,所述数据导出请求还包括预设的数据导出周期;所述方法还包括:
按照所述数据导出周期定期生成所述数据导出指令。
3.根据权利要求1所述的方法,其特征在于,所述数据导出请求还包括所述数据导出文件的预设输出路径;所述向所述数据消费方发送所述数据导出文件,包括:
按照所述预设输出路径向所述数据消费方发送所述数据导出文件。
4.根据权利要求1所述的方法,其特征在于,所述数据导出请求还包括所述数据消费方的账户信息,所述账户信息包括用户名和密文形式的密码;所述方法还包括:
采用文本分析工具awk对所述账户信息进行解析,验证所述数据消费方的所述账户信息是否具有数据导出权限;
在确定所述数据消费方具有数据导出权限后,执行所述根据所述数据导出请求生成数据导出指令的步骤。
5.根据权利要求1-4中任一项所述的方法,其特征在于,所述通过执行所述数据导出指令获取目标数据,生成数据导出文件,包括:
执行所述数据导出指令,根据所述数据导出指令的返回值确定所述数据导出指令是否执行成功;
若确定所述数据导出指令执行成功,获取目标数据,根据所述目标数据生成所述数据导出文件。
6.根据权利要求5所述的方法,其特征在于,所述根据所述目标数据生成所述数据导出文件,包括:
对所述目标数据进行格式转换和数据压缩,生成所述数据导出文件。
7.一种数据导出装置,其特征在于,包括:
接收模块,用于接收来自数据消费方的数据导出请求,所述数据导出请求包括数据库的参数,数据表的参数以及对数据表的限定条件;
处理模块,用于根据预配置的数据导出脚本,所述数据库的参数,所述数据表的参数以及对数据表的限定条件,生成数据导出指令;
通过执行所述数据导出指令获取目标数据,生成数据导出文件;
发送模块,用于向所述数据消费方发送所述数据导出文件。
8.一种电子设备,其特征在于,包括:
存储器;
处理器;以及
计算机程序;
其中,所述计算机程序存储在所述存储器中,并被配置为由所述处理器执行以实现如权利要求1-6中任一项所述的方法。
9.一种计算机可读存储介质,其特征在于,其上存储有计算机程序,所述计算机程序被处理器执行以实现如权利要求1-6中任一项所述的方法。
10.一种计算机程序产品,其特征在于,包括计算机程序,所述计算机程序被处理器执行时实现如权利要求1-6中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110677223.1A CN113297153A (zh) | 2021-06-18 | 2021-06-18 | 数据导出方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110677223.1A CN113297153A (zh) | 2021-06-18 | 2021-06-18 | 数据导出方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113297153A true CN113297153A (zh) | 2021-08-24 |
Family
ID=77328732
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110677223.1A Pending CN113297153A (zh) | 2021-06-18 | 2021-06-18 | 数据导出方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113297153A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115297102A (zh) * | 2022-06-23 | 2022-11-04 | 青岛海尔科技有限公司 | 文件导出方法、装置和系统 |
CN116204577A (zh) * | 2023-05-04 | 2023-06-02 | 神州数码融信云技术服务有限公司 | 数据导出方法及装置、计算机设备及计算机可读存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109213813A (zh) * | 2018-09-14 | 2019-01-15 | 汉能移动能源控股集团有限公司 | 一种数据导出的方法和装置 |
CN109947789A (zh) * | 2019-01-28 | 2019-06-28 | 平安科技(深圳)有限公司 | 一种多数据库的数据处理的方法、装置、计算机设备及存储介质 |
-
2021
- 2021-06-18 CN CN202110677223.1A patent/CN113297153A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109213813A (zh) * | 2018-09-14 | 2019-01-15 | 汉能移动能源控股集团有限公司 | 一种数据导出的方法和装置 |
CN109947789A (zh) * | 2019-01-28 | 2019-06-28 | 平安科技(深圳)有限公司 | 一种多数据库的数据处理的方法、装置、计算机设备及存储介质 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115297102A (zh) * | 2022-06-23 | 2022-11-04 | 青岛海尔科技有限公司 | 文件导出方法、装置和系统 |
CN116204577A (zh) * | 2023-05-04 | 2023-06-02 | 神州数码融信云技术服务有限公司 | 数据导出方法及装置、计算机设备及计算机可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109474578B (zh) | 报文消息校验方法、装置、计算机设备和存储介质 | |
US12072828B2 (en) | Article, device, and techniques for serverless message stream processing | |
CN110601880B (zh) | 一种云平台、业务处理方法、命令接口及计算机设备 | |
CN113157419A (zh) | 基于机器人流程自动化的任务处理方法 | |
US20210042150A1 (en) | Method-call-chain tracking method, electronic device, and computer readable storage medium | |
CN113297153A (zh) | 数据导出方法、装置、设备及存储介质 | |
CN110928853A (zh) | 一种标识日志的方法和装置 | |
CN114327374A (zh) | 业务流程的生成方法、装置及计算机设备 | |
CN112288400A (zh) | 多系统数据交互方法、装置、计算机设备及存储介质 | |
CN111858727A (zh) | 一种基于模板配置的多数据源数据导出系统及方法 | |
CN108897729B (zh) | 一种交易模板共享方法、装置、电子设备及存储介质 | |
CN108052550B (zh) | 年金数据接收方法、装置、计算机设备和存储介质 | |
WO2020233310A1 (zh) | 实时处理数据的异步补偿方法、装置、设备及存储介质 | |
CN113703942A (zh) | 脚本执行方法、装置及计算机设备 | |
CN114265577A (zh) | 业务数据处理方法、装置、计算机设备和存储介质 | |
US10133759B1 (en) | System for determining storage or output of data objects | |
CN111045983A (zh) | 核电站电子文件管理方法、装置、终端设备及介质 | |
US20220035809A1 (en) | Systems and methods for connecting applications based on exchanged information | |
CN111526184B (zh) | 业务审核的方法和装置 | |
CN110851446B (zh) | 数据表的生成方法、装置、计算机设备及存储介质 | |
CN114371866A (zh) | 业务系统的版本重构测试方法、装置和设备 | |
CN112732471A (zh) | 接口返回数据的纠错方法和纠错装置 | |
CN112950393B (zh) | 保险业务对接方法、装置、电子设备及可读存储介质 | |
CN117076546B (zh) | 数据处理方法、终端设备及计算机可读存储介质 | |
CN115687488A (zh) | 一种erp数据同步的实现方法、装置及介质 |
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 |