CN107908737B - 文件拆分控制方法和装置 - Google Patents

文件拆分控制方法和装置 Download PDF

Info

Publication number
CN107908737B
CN107908737B CN201711128835.5A CN201711128835A CN107908737B CN 107908737 B CN107908737 B CN 107908737B CN 201711128835 A CN201711128835 A CN 201711128835A CN 107908737 B CN107908737 B CN 107908737B
Authority
CN
China
Prior art keywords
original file
subfile
split
splitting
file
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.)
Active
Application number
CN201711128835.5A
Other languages
English (en)
Other versions
CN107908737A (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.)
Bank of China Ltd
Original Assignee
Bank of China Ltd
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 Bank of China Ltd filed Critical Bank of China Ltd
Priority to CN201711128835.5A priority Critical patent/CN107908737B/zh
Publication of CN107908737A publication Critical patent/CN107908737A/zh
Application granted granted Critical
Publication of CN107908737B publication Critical patent/CN107908737B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/16File or folder operations, e.g. details of user interfaces specifically adapted to file systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开一种文件拆分控制方法和装置,所述方法包括:确定原文件需要拆分为子文件的个数及各子文件的大小;依据所述子文件的个数及各子文件的大小,计算每个子文件在原文件中的起始位置和终点位置;记录拆分子文件信息;依据计算得到的每个子文件在原文件中的起始位置和终点位置,对所述原文件进行拆分,更新所述原文件拆分状态;若所述原文件拆分状态为拆分失败,则启动断点续拆操作。本发明提供的技术方案,能够将数据量很大的文件(即原文件)进行拆分,使拆分后的单个子文件数据量变小,而拆分后的所有子文件的数据装载时间相对于原文件要小很多,从而有利于后续数据装载,有效降低整体数据装载的时间,提高效率。

Description

文件拆分控制方法和装置
技术领域
本发明涉及文件处理技术领域,尤其涉及一种文件拆分控制方法和装置。
背景技术
服务器核心系统会经常向下游子系统下发文件,若下发的文件数据量很大,那么下游子系统接收该下发的文件的时间,即数据装载的时间会很长,而服务器核心系统往往需要向多个下游子系统下发数据量很大的文件,从而导致整体数据装载的时间过长,效率很低。
因此,亟需一种新的技术,以解决因传输数据量很大的文件造成整体数据装载的时间过长、效率很低的问题。
发明内容
有鉴于此,本发明提供了一种文件拆分控制方法和装置,能够将数据量很大的文件(即原文件)进行拆分,使拆分后的单个子文件数据量变小,而拆分后的所有子文件的数据装载时间相对于原文件要小很多,从而有利于后续数据装载,有效降低整体数据装载的时间,提高效率。
为实现上述目的,本发明提供如下技术方案:
一种文件拆分控制方法,包括:
确定原文件需要拆分为子文件的个数及各子文件的大小;
依据所述子文件的个数及各子文件的大小,计算每个子文件在原文件中的起始位置和终点位置;
记录拆分子文件信息,所述拆分子文件信息包括拆分序号、原文件批次信息、原文件名称、子文件起始位置、子文件终点位置和原文件拆分状态;所述原文件拆分状态包括逻辑拆分、物理拆分、拆分成功和拆分失败;
依据计算得到的每个子文件在原文件中的起始位置和终点位置,对所述原文件进行拆分,更新所述原文件拆分状态;
若所述原文件拆分状态为拆分失败,则启动断点续拆操作;
其中,所述断点续拆操作包括:
若不存在所述子文件,重新对所述原文件进行拆分;
若存在所述子文件,依据各个已经拆分出的子文件的大小,计算断点续拆的起始位置;
依据断点续拆的起始位置和原文件的终点位置,继续对原文件未拆分的部分进行拆分。
进一步的,所述确定原文件需要拆分为子文件的个数及各子文件的大小之前,还包括:
判断原文件是否需要拆分;
如果是,执行后续步骤;
如果否,记录原文件的信息,将原文件传至文件作业调度系统,启动文件作业调度操作;所述原文件的信息包括拆分序号、原文件批次信息、原文件名称、原文件大小和原文件优先级。
进一步的,所述判断原文件是否需要拆分,包括:
判断所述原文件所在批次是否需要拆分,判断所述原文件是否需要拆分,判断原文件大小是否大于预先设定的子文件大小;若该步骤的三个判断结果都为是,则确定所述原文件需要拆分,否则所述原文件不需要拆分。
进一步的,所述依据所述子文件的个数及各子文件的大小,计算每个子文件在原文件中的起始位置和终点位置,包括:
依据所述子文件的个数及各子文件的大小,以字节为单位计算每个子文件在原文件中的起始位置和终点位置。
进一步的,所述若存在所述子文件,依据各个已经拆分出的子文件的大小,计算断点续拆的起始位置,包括:
计算已拆分出的各子文件大小之和;
计算断点续拆的起始位置为:原文件起始位置加上所述已拆分的各子文件大小之和。
进一步的,还包括:
若所述原文件拆分状态为拆分成功,则将各子文件传至文件作业调度系统,启动文件作业调度操作;
所述文件作业调度操作包括:
记录各子文件的信息,对拆分后的每个子文件按照预设规则进行调度;所述子文件信息包括拆分序号、原文件批次信息、原文件名称、子文件大小和子文件优先级。
一种文件拆分控制装置,包括:
确定模块,用于确定原文件需要拆分为子文件的个数及各子文件的大小;
第一计算模块,用于依据所述子文件的个数及各子文件的大小,计算每个子文件在原文件中的起始位置和终点位置;
第一记录模块,用于记录拆分子文件信息,所述拆分子文件信息包括拆分序号、原文件批次信息、原文件名称、子文件起始位置、子文件终点位置和原文件拆分状态;所述原文件拆分状态包括逻辑拆分、物理拆分、拆分成功和拆分失败;
拆分模块,用于依据计算得到的每个子文件在原文件中的起始位置和终点位置,对所述原文件进行拆分,更新所述原文件拆分状态;
断点续拆模块,用于若所述原文件拆分状态为拆分失败,则启动断点续拆操作;
其中,所述断点续拆操作包括:
若不存在所述子文件,重新对所述原文件进行拆分;
若存在所述子文件,依据各个已经拆分出的子文件的大小,计算断点续拆的起始位置;
依据断点续拆的起始位置和原文件的终点位置,继续对原文件未拆分的部分进行拆分。
进一步的,还包括:
判断模块,用于判断原文件是否需要拆分;如果是,执行后续步骤;记录原文件的信息,将原文件传至文件作业调度系统,启动文件作业调度操作;所述原文件的信息包括拆分序号、原文件批次信息、原文件名称、原文件大小和原文件优先级。
进一步的,所述判断模块包括:
判断单元,用于判断所述原文件所在批次是否需要拆分,判断所述原文件是否需要拆分,判断原文件大小是否大于预先设定的子文件大小;若所述判断单元的三个判断结果都为是,则确定所述原文件需要拆分,否则所述原文件不需要拆分。
进一步的,所述第一计算模块包括:
第一计算单元,用于依据所述子文件的个数及各子文件的大小,以字节为单位计算每个子文件在原文件中的起始位置和终点位置。
进一步的,所述断点续拆模块包括:
第二计算单元,用于计算已拆分出的各子文件大小之和;
第三计算单元,用于计算断点续拆的起始位置为:原文件起始位置加上所述已拆分的各子文件大小之和。
进一步的,还包括:
调度模块,用于若所述原文件拆分状态为拆分成功,则将各子文件传至文件作业调度系统,启动文件作业调度操作;
所述文件作业调度操作包括:
记录各子文件的信息,对拆分后的每个子文件按照预设规则进行调度;所述子文件信息包括拆分序号、原文件批次信息、原文件名称、子文件大小和子文件优先级。
经由上述的技术方案可知,与现有技术相比,本发明提供了一种文件拆分控制方法和装置。本发明提供的技术方案,首先确定原文件需要拆分为子文件的个数及各子文件的大小,依据所述子文件的个数及各子文件的大小,计算每个子文件在原文件中的起始位置和终点位置,记录拆分子文件信息(所述拆分子文件信息包括拆分序号、原文件批次信息、原文件名称、子文件起始位置、子文件终点位置和原文件拆分状态,所述原文件拆分状态包括逻辑拆分、物理拆分、拆分成功和拆分失败),然后依据计算得到的每个子文件在原文件中的起始位置和终点位置,对所述原文件进行拆分,更新所述原文件拆分状态,若所述原文件拆分状态为拆分失败,则启动断点续拆操作,其中,所述断点续拆操作包括:若不存在所述子文件,重新对所述原文件进行拆分;若存在所述子文件,依据各个已经拆分出的子文件的大小,计算断点续拆的起始位置,依据断点续拆的起始位置和原文件的终点位置,继续对原文件未拆分的部分进行拆分。因此,本发明提供的技术方案,能够将数据量很大的文件(即原文件)进行拆分,使拆分后的单个子文件数据量变小,而将数据量很大的文件(即原文件)进行拆分所耗费的时间也相对较小,并且拆分后的所有子文件的数据装载时间相对于原文件要小很多,从而有利于后续数据装载,有效降低整体数据装载的时间,提高效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明实施例提供的一种文件拆分控制方法的流程图;
图2为本发明实施例提供的一种文件拆分控制装置的结构图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
实施例
请参阅图1,图1为本发明实施例提供的一种文件拆分控制方法的流程图。如图1所示,该方法包括:
步骤S101,确定原文件需要拆分为子文件的个数及各子文件的大小;
可选的,原文件需要拆分为子文件的个数,以及各子文件的大小由技术人员根据需求来确定。其中,各子文件的大小可以是各子文件数据量的大小,也可以是各子文件分别为原文件中前文的某一行到下文的某一行等,比如,原文件有5000W(万)行,将原文件拆分为每300W行一个的子文件,则第一个子文件便是第1行至第300W行,第二个子文件便是第3000001行至第600W行,以此类推。
也就是说,所述步骤S101中各子文件的大小并不限制在通俗意义上的数据量的大小,也可以采用如原文件中预设数目行作为一个子文件等形式确定拆分的子文件,另外,采用预设数目行作为一个子文件,各个子文件的行数也可以不同,如第一个子文件为A行,第二个子文件为B行,A可以与B不相等,对此本发明并不限定。
步骤S102,依据所述子文件的个数及各子文件的大小,计算每个子文件在原文件中的起始位置和终点位置;
可选的,依据所述子文件的个数及各子文件的大小,以字节为单位计算每个子文件在原文件中的起始位置和终点位置。
步骤S103,记录拆分子文件信息;
可选的,所述拆分子文件信息包括拆分序号、原文件批次信息、原文件名称、子文件起始位置、子文件终点位置和原文件拆分状态。
具体的,拆分序号可以由编号、原文件批次信息、原文件拆分状态(此时原文件拆分状态为逻辑拆分)和原文件名称拼接而成,编号可以从001开始。
可选的,所述原文件拆分状态包括逻辑拆分、物理拆分、拆分成功和拆分失败。
可选的,所述步骤S103中记录的原文件拆分状态为逻辑拆分,也就是说,所述步骤S102为逻辑拆分的过程。
具体的,可以将拆分子文件信息记录在拆分子文件信息表,和/或拆分日志中。
步骤S104,依据计算得到的每个子文件在原文件中的起始位置和终点位置,对所述原文件进行拆分,更新所述原文件拆分状态;
具体的,依据计算得到的每个子文件在原文件中的起始位置和终点位置,对所述原文件进行拆分,便是根据逻辑拆分的结果进行实际的物理拆分的过程,属于并行拆分,效率较高,此时,将所述原文件拆分状态由逻辑拆分状态更新为物理拆分状态。
步骤S105,若所述原文件拆分状态为拆分失败,则启动断点续拆操作;
可选的,所述断点续拆操作包括a、b和c三个步骤:
a、若不存在所述子文件,重新对所述原文件进行拆分;
具体的,首先判断是否存在子文件,若不存在所述子文件,重新对所述原文件进行拆分。也就是说,若不存在所述子文件,返回执行所述步骤S101。
b、若存在所述子文件,依据各个已经拆分出的子文件的大小,计算断点续拆的起始位置;
可选的,所述若存在所述子文件,依据各个已经拆分出的子文件的大小,计算断点续拆的起始位置,具体包括:
计算已拆分出的各子文件大小之和;
具体的,计算已成功拆分出的各个子文件的大小之和,比如仍延用所述步骤S101中的示例,若已成功拆分出两个子文件,那么所述已成功拆分出的各个子文件的大小之和便是600W行。
可选的,以字节为单位计算已拆分出的各子文件大小之和。
计算断点续拆的起始位置为:原文件起始位置加上所述已拆分的各子文件大小之和;
也就是说,断点续拆的起始位置是原文件起始位置加上所述已拆分的各子文件大小之和。
c、依据断点续拆的起始位置和原文件的终点位置,继续对原文件未拆分的部分进行拆分。
本发明实施例提供的技术方案,首先确定原文件需要拆分为子文件的个数及各子文件的大小,依据所述子文件的个数及各子文件的大小,计算每个子文件在原文件中的起始位置和终点位置,记录拆分子文件信息(所述拆分子文件信息包括拆分序号、原文件批次信息、原文件名称、子文件起始位置、子文件终点位置和原文件拆分状态,所述原文件拆分状态包括逻辑拆分、物理拆分、拆分成功和拆分失败),然后依据计算得到的每个子文件在原文件中的起始位置和终点位置,对所述原文件进行拆分,更新所述原文件拆分状态,若所述原文件拆分状态为拆分失败,则启动断点续拆操作,其中,所述断点续拆操作包括:若不存在所述子文件,重新对所述原文件进行拆分;若存在所述子文件,依据各个已经拆分出的子文件的大小,计算断点续拆的起始位置,依据断点续拆的起始位置和原文件的终点位置,继续对原文件未拆分的部分进行拆分。因此,本发明实施例提供的技术方案,能够将数据量很大的文件(即原文件)进行拆分,使拆分后的单个子文件数据量变小,而将数据量很大的文件(即原文件)进行拆分所耗费的时间也相对较小,并且拆分后的所有子文件的数据装载时间相对于原文件要小很多,从而有利于后续数据装载,有效降低整体数据装载的时间,提高效率。
此外,现有的技术中,虽然IBM操作系统的split命令能按均等大小、串行的拆分,但是,该技术并不支持断点续拆,而在拆分大文件时,难免会遇到拆分失败的情况,因此,该技术可靠性较低,而本发明实施例恰恰能解决该严重的缺陷,可靠性显著提高。并且,本发明实施例属于并行拆分,拆分效率比串行拆分高。
下面以银行系统距离说明:
以核心系统在结息日下传对私账户数据为例,虽然核心分省下传对私账户数据,但最大省份的对私账户数据也有5000W(万)行之巨;如果每个省一个文件启动一个数据装载程序,会使数据多的省装载数据时间过长,造成整体全辖数据装载时间过长;本发明就是实现了将大文件进行有效的分拆、多个子文件后续作业处理的系统,譬如:将5000W行的大文件分拆开300W行一个的文件,会有17个文件,通过对17个文件分拆位置的计算,并行进行分拆,可以保证17个文件的分拆时间和一个读写300W文件的时间一样小,但17个文件后续作业装载时间会大大降低,会降低为到之前的十七分之一,从而整体装载的时间显著降低,从而能够有效提高效率。
可选的,本发明另外一个实施例提供的文件拆分控制方法,所述步骤S101,所述确定原文件需要拆分为子文件的个数及各子文件的大小之前,还包括:
判断原文件是否需要拆分;
可选的,判断原文件是否需要拆分,包括:
判断所述原文件所在批次是否需要拆分,判断所述原文件是否需要拆分,以及判断原文件大小是否大于预先设定的子文件大小;若该步骤的三个判断结果都为是,则确定所述原文件需要拆分,否则所述原文件不需要拆分。
可选的,可以对判断结果进行记录,比如,将原文件批次信息、原文件名称、原文件大小(以字节为单位)和原文件是否需要拆分记录在拆分处理表中。
如果是,执行后续步骤;
具体的,如果是,执行所述步骤S101~步骤S105。
如果否,记录原文件的信息,将原文件传至文件作业调度系统,启动文件作业调度操作;
可选的,所述原文件的信息包括拆分序号、原文件批次信息、原文件名称、原文件大小和原文件优先级。也就是说,即使原文件不需要拆分,也可以为原文件设置一个拆分序号,视为该文件拆分为1个(即还是原文件本身)。
可选的,可以将原文件的信息记录在文件调度表中。
可选的,所述判断原文件是否需要拆分之前,还包括:
通过FTP(File Transfer Protocol,文件传输协议)接收上游系统传输的原文件;
对原文件进行扫描,将扫描的原文件进行校验、核对,筛选出符合预设要求的原文件。
也就是说,所述判断原文件是否需要拆分这一步骤中,其原文件是筛选出的符合预设要求的原文件。可选的,筛选出的符合预设要求的原文件放入文件拆分处理池。
可选的,本发明另外一个实施例提供的文件拆分控制方法,还包括:
若所述原文件拆分状态为拆分成功,则将各子文件传至文件作业调度系统,启动文件作业调度操作;
所述文件作业调度操作包括:
记录各子文件的信息,对拆分后的每个子文件按照预设规则进行调度;
可选的,所述子文件信息包括拆分序号、原文件批次信息、原文件名称、子文件大小和子文件优先级。
可选的,将各个子文件的信息记录在文件调度表中。
可选的,对拆分后的每个子文件按照预设规则进行调度,可以包括:
将拆分后的每个子文件放入文件调度处理池和文件加载排队优先级处理池,对拆分后的每个子文件按照预设规则进行调度。
本实施例提供的技术方案,能够实现对原文件进行拆分后自动启动子文件的调度,智能化程度高,能够进一步提高处理效率。
为了更加全面地阐述本发明提供的技术方案,对应于本发明实施例提供的文件拆分控制方法,本发明公开一种文件拆分控制装置。
请参阅图2,图2为本发明实施例提供的一种文件拆分控制装置的结构图。如图2所示,该装置包括:
确定模块201,用于确定原文件需要拆分为子文件的个数及各子文件的大小;
第一计算模块202,用于依据所述子文件的个数及各子文件的大小,计算每个子文件在原文件中的起始位置和终点位置;
可选的,所述第一计算模块202包括:
第一计算单元,用于依据所述子文件的个数及各子文件的大小,以字节为单位计算每个子文件在原文件中的起始位置和终点位置。
第一记录模块203,用于记录拆分子文件信息,所述拆分子文件信息包括拆分序号、原文件批次信息、原文件名称、子文件起始位置、子文件终点位置和原文件拆分状态;所述原文件拆分状态包括逻辑拆分、物理拆分、拆分成功和拆分失败;
拆分模块204,用于依据计算得到的每个子文件在原文件中的起始位置和终点位置,对所述原文件进行拆分,更新所述原文件拆分状态;
断点续拆模块205,用于若所述原文件拆分状态为拆分失败,则启动断点续拆操作;
其中,所述断点续拆操作包括:
若不存在所述子文件,重新对所述原文件进行拆分;
若存在所述子文件,依据各个已经拆分出的子文件的大小,计算断点续拆的起始位置;
依据断点续拆的起始位置和原文件的终点位置,继续对原文件未拆分的部分进行拆分。
可选的,所述断点续拆模块205包括:
第二计算单元,用于计算已拆分出的各子文件大小之和;
第三计算单元,用于计算断点续拆的起始位置为:原文件起始位置加上所述已拆分的各子文件大小之和。
应用本发明实施例提供的文件拆分控制装置,确定模块用于确定原文件需要拆分为子文件的个数及各子文件的大小,第一计算模块用于依据所述子文件的个数及各子文件的大小,计算每个子文件在原文件中的起始位置和终点位置,第一记录模块用于记录拆分子文件信息(所述拆分子文件信息包括拆分序号、原文件批次信息、原文件名称、子文件起始位置、子文件终点位置和原文件拆分状态,所述原文件拆分状态包括逻辑拆分、物理拆分、拆分成功和拆分失败),拆分模块用于依据计算得到的每个子文件在原文件中的起始位置和终点位置,对所述原文件进行拆分,更新所述原文件拆分状态,断点续拆模块用于若所述原文件拆分状态为拆分失败,则启动断点续拆操作,其中,所述断点续拆操作包括:若不存在所述子文件,重新对所述原文件进行拆分;若存在所述子文件,依据各个已经拆分出的子文件的大小,计算断点续拆的起始位置,依据断点续拆的起始位置和原文件的终点位置,继续对原文件未拆分的部分进行拆分。因此,本发明提供的文件拆分控制装置,能够将数据量很大的文件(即原文件)进行拆分,使拆分后的单个子文件数据量变小,而拆分后的所有子文件的数据装载时间相对于原文件要小很多,从而有利于后续数据装载,有效降低整体数据装载的时间,提高效率。
此外,现有的技术中,虽然IBM操作系统的split命令能按均等大小、串行的拆分,但是,该技术并不支持断点续拆,而在拆分大文件时,难免会遇到拆分失败的情况,因此,该技术可靠性较低,而本发明实施例恰恰能解决该严重的缺陷,可靠性显著提高。并且,本发明实施例属于并行拆分,拆分效率比串行拆分高。
可选的,本发明另外一个实施例提供的文件拆分控制装置,还包括:
判断模块,用于判断原文件是否需要拆分;如果是,执行后续步骤;记录原文件的信息,将原文件传至文件作业调度系统,启动文件作业调度操作;所述原文件的信息包括拆分序号、原文件批次信息、原文件名称、原文件大小和原文件优先级。
可选的,本发明另外一个实施例提供的文件拆分控制装置,所述判断模块包括:
判断单元,用于判断所述原文件所在批次是否需要拆分,判断所述原文件是否需要拆分,判断原文件大小是否大于预先设定的子文件大小;若所述判断单元的三个判断结果都为是,则确定所述原文件需要拆分,否则所述原文件不需要拆分。
可选的,本发明另外一个实施例提供的文件拆分控制装置,还包括:
调度模块,用于若所述原文件拆分状态为拆分成功,则将各子文件传至文件作业调度系统,启动文件作业调度操作;
所述文件作业调度操作包括:
记录各子文件的信息,对拆分后的每个子文件按照预设规则进行调度;所述子文件信息包括拆分序号、原文件批次信息、原文件名称、子文件大小和子文件优先级。
本实施例提供的文件拆分控制装置,能够实现对原文件进行拆分后自动启动子文件的调度,智能化程度高,能够进一步提高处理效率。
经由上述的技术方案可知,与现有技术相比,本发明提供了一种文件拆分控制方法和装置。本发明提供的技术方案,首先确定原文件需要拆分为子文件的个数及各子文件的大小,依据所述子文件的个数及各子文件的大小,计算每个子文件在原文件中的起始位置和终点位置,记录拆分子文件信息(所述拆分子文件信息包括拆分序号、原文件批次信息、原文件名称、子文件起始位置、子文件终点位置和原文件拆分状态,所述原文件拆分状态包括逻辑拆分、物理拆分、拆分成功和拆分失败),然后依据计算得到的每个子文件在原文件中的起始位置和终点位置,对所述原文件进行拆分,更新所述原文件拆分状态,若所述原文件拆分状态为拆分失败,则启动断点续拆操作,其中,所述断点续拆操作包括:若不存在所述子文件,重新对所述原文件进行拆分;若存在所述子文件,依据各个已经拆分出的子文件的大小,计算断点续拆的起始位置,依据断点续拆的起始位置和原文件的终点位置,继续对原文件未拆分的部分进行拆分。因此,本发明提供的技术方案,能够将数据量很大的文件(即原文件)进行拆分,使拆分后的单个子文件数据量变小,而将数据量很大的文件(即原文件)进行拆分所耗费的时间也相对较小,并且拆分后的所有子文件的数据装载时间相对于原文件要小很多,从而有利于后续数据装载,有效降低整体数据装载的时间,提高效率。
此外,现有的技术中,虽然IBM操作系统的split命令能按均等大小、串行的拆分,但是,该技术并不支持断点续拆,而在拆分大文件时,难免会遇到拆分失败的情况,因此,该技术可靠性较低,而本发明恰恰能解决该严重的缺陷,可靠性显著提高。并且,本发明属于并行拆分,拆分效率比串行拆分高。
此外,本发明进一步优化的技术方案,还能够实现对原文件进行拆分后自动启动子文件的调度,智能化程度高,能够进一步提高处理效率。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器或技术领域内所公知的任意其它形式的存储介质中。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (10)

1.一种文件拆分控制方法,其特征在于,包括:
确定原文件需要拆分为子文件的个数及各子文件的大小;
依据所述子文件的个数及各子文件的大小,计算每个子文件在原文件中的起始位置和终点位置;
记录拆分子文件信息,所述拆分子文件信息包括拆分序号、原文件批次信息、原文件名称、子文件起始位置、子文件终点位置和原文件拆分状态;所述原文件拆分状态包括逻辑拆分、物理拆分、拆分成功和拆分失败;
依据计算得到的每个子文件在原文件中的起始位置和终点位置,对所述原文件进行拆分,更新所述原文件拆分状态;
若所述原文件拆分状态为拆分失败,则启动断点续拆操作;
其中,所述断点续拆操作包括:
若不存在所述子文件,重新对所述原文件进行拆分;
若存在所述子文件,则计算已拆分出的各子文件大小之和;计算断点续拆的起始位置为:原文件起始位置加上所述已拆分的各子文件大小之和;
依据断点续拆的起始位置和原文件的终点位置,继续对原文件未拆分的部分进行拆分。
2.根据权利要求1所述的方法,其特征在于,所述确定原文件需要拆分为子文件的个数及各子文件的大小之前,还包括:
判断原文件是否需要拆分;
如果是,执行后续步骤;
如果否,记录原文件的信息,将原文件传至文件作业调度系统,启动文件作业调度操作;所述原文件的信息包括拆分序号、原文件批次信息、原文件名称、原文件大小和原文件优先级。
3.根据权利要求2所述的方法,其特征在于,所述判断原文件是否需要拆分,包括:
判断所述原文件所在批次是否需要拆分,判断所述原文件是否需要拆分,判断原文件大小是否大于预先设定的子文件大小;若该步骤的三个判断结果都为是,则确定所述原文件需要拆分,否则所述原文件不需要拆分。
4.根据权利要求1所述的方法,其特征在于,所述依据所述子文件的个数及各子文件的大小,计算每个子文件在原文件中的起始位置和终点位置,包括:
依据所述子文件的个数及各子文件的大小,以字节为单位计算每个子文件在原文件中的起始位置和终点位置。
5.根据权利要求1所述的方法,其特征在于,还包括:
若所述原文件拆分状态为拆分成功,则将各子文件传至文件作业调度系统,启动文件作业调度操作;
所述文件作业调度操作包括:
记录各子文件的信息,对拆分后的每个子文件按照预设规则进行调度;所述子文件信息包括拆分序号、原文件批次信息、原文件名称、子文件大小和子文件优先级。
6.一种文件拆分控制装置,其特征在于,包括:
确定模块,用于确定原文件需要拆分为子文件的个数及各子文件的大小;
第一计算模块,用于依据所述子文件的个数及各子文件的大小,计算每个子文件在原文件中的起始位置和终点位置;
第一记录模块,用于记录拆分子文件信息,所述拆分子文件信息包括拆分序号、原文件批次信息、原文件名称、子文件起始位置、子文件终点位置和原文件拆分状态;所述原文件拆分状态包括逻辑拆分、物理拆分、拆分成功和拆分失败;
拆分模块,用于依据计算得到的每个子文件在原文件中的起始位置和终点位置,对所述原文件进行拆分,更新所述原文件拆分状态;
断点续拆模块,用于若所述原文件拆分状态为拆分失败,则启动断点续拆操作;
其中,所述断点续拆操作包括:
若不存在所述子文件,重新对所述原文件进行拆分;
若存在所述子文件,依据各个已经拆分出的子文件的大小,计算断点续拆的起始位置;
依据断点续拆的起始位置和原文件的终点位置,继续对原文件未拆分的部分进行拆分;
所述断点续拆模块包括:
第二计算单元,用于计算已拆分出的各子文件大小之和;
第三计算单元,用于计算断点续拆的起始位置为:原文件起始位置加上所述已拆分的各子文件大小之和。
7.根据权利要求6所述的装置,其特征在于,还包括:
判断模块,用于判断原文件是否需要拆分;如果是,执行后续步骤;记录原文件的信息,将原文件传至文件作业调度系统,启动文件作业调度操作;所述原文件的信息包括拆分序号、原文件批次信息、原文件名称、原文件大小和原文件优先级。
8.根据权利要求7所述的装置,其特征在于,所述判断模块包括:
判断单元,用于判断所述原文件所在批次是否需要拆分,判断所述原文件是否需要拆分,判断原文件大小是否大于预先设定的子文件大小;若所述判断单元的三个判断结果都为是,则确定所述原文件需要拆分,否则所述原文件不需要拆分。
9.根据权利要求6所述的装置,其特征在于,所述第一计算模块包括:
第一计算单元,用于依据所述子文件的个数及各子文件的大小,以字节为单位计算每个子文件在原文件中的起始位置和终点位置。
10.根据权利要求6所述的装置,其特征在于,还包括:
调度模块,用于若所述原文件拆分状态为拆分成功,则将各子文件传至文件作业调度系统,启动文件作业调度操作;
所述文件作业调度操作包括:
记录各子文件的信息,对拆分后的每个子文件按照预设规则进行调度;所述子文件信息包括拆分序号、原文件批次信息、原文件名称、子文件大小和子文件优先级。
CN201711128835.5A 2017-11-15 2017-11-15 文件拆分控制方法和装置 Active CN107908737B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711128835.5A CN107908737B (zh) 2017-11-15 2017-11-15 文件拆分控制方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711128835.5A CN107908737B (zh) 2017-11-15 2017-11-15 文件拆分控制方法和装置

Publications (2)

Publication Number Publication Date
CN107908737A CN107908737A (zh) 2018-04-13
CN107908737B true CN107908737B (zh) 2022-08-19

Family

ID=61845480

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711128835.5A Active CN107908737B (zh) 2017-11-15 2017-11-15 文件拆分控制方法和装置

Country Status (1)

Country Link
CN (1) CN107908737B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109816527B (zh) * 2019-01-25 2022-07-15 网联清算有限公司 对账文件处理方法、装置、计算机设备及存储介质
CN111523242A (zh) * 2020-04-29 2020-08-11 江苏华路信息科技有限公司 Cae求解器结果切片式输出方法
CN111796878B (zh) * 2020-06-05 2024-04-12 北京沃东天骏信息技术有限公司 一种应用于单页应用的资源拆分、加载方法和装置
CN113448875B (zh) * 2021-07-27 2024-06-14 中国工商银行股份有限公司 测试环境的年终损益统计文件处理方法及装置

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006526215A (ja) * 2004-03-22 2006-11-16 ニトゲン・テクノロジーズ・インコーポレーテッド ストリーミング基盤のコンテンツ分散形ネットワークシステムとファイル分割、併合及び再生方法
JP2009146135A (ja) * 2007-12-13 2009-07-02 Seiko Epson Corp ファイル管理モジュール、印刷装置、ファイル管理方法、ファイル管理プログラム
CN101582064B (zh) * 2008-05-15 2011-12-21 阿里巴巴集团控股有限公司 一种大数据量数据处理方法及系统
CN101751478A (zh) * 2010-02-20 2010-06-23 浪潮(北京)电子信息产业有限公司 一种文件备份方法及系统
CN101826109B (zh) * 2010-04-07 2011-11-23 深圳创维-Rgb电子有限公司 一种大容量文件分割方法、装置及系统
CN103237300B (zh) * 2013-04-28 2015-09-09 小米科技有限责任公司 一种文件下载的方法、装置及系统
CN107194016A (zh) * 2017-07-14 2017-09-22 上海瀚之友信息技术服务有限公司 一种数据分割方法

Also Published As

Publication number Publication date
CN107908737A (zh) 2018-04-13

Similar Documents

Publication Publication Date Title
CN107908737B (zh) 文件拆分控制方法和装置
CN110147240B (zh) 基于云存储的应用程序安装方法、系统及存储介质
CN110741342A (zh) 区块链交易提交排序
CN107329741A (zh) 一种基于指纹识别的软件分布式升级方法与装置
CN110704335A (zh) 一种基于异步环形缓冲区的数据读取、写入方法及装置
CN105260136A (zh) 数据读写方法及分布式存储系统
CN110321339B (zh) 一种数据迁移方法、装置、设备和存储介质
CN111324303B (zh) Ssd垃圾回收方法、装置、计算机设备及存储介质
CN103164523A (zh) 数据一致性检查方法、装置及系统
CN111027984B (zh) 业务订单的处理方法、系统、电子设备及计算机存储介质
CN112968970B (zh) 配置信息备份方法、装置及网络设备
CN112579569B (zh) 一种数据迁移方法和装置
CN104063355A (zh) 对服务器集群进行配置的方法及配置中心服务器
WO2020238860A1 (zh) 分布式文件批处理方法、装置、与可读存储介质
US9377966B2 (en) Method and apparatus for efficiently processing storage commands
CN110413398B (zh) 任务调度方法、装置、计算机设备和存储介质
CN111475388A (zh) 数据推送的测试方法、装置、计算机设备及存储介质
CN102654844A (zh) 处理存储器数据的方法及可维持稳定性的计算机系统
CN103440460A (zh) 一种应用系统变更验证方法及验证系统
CN111177032A (zh) 缓存空间申请方法、系统、装置及计算机可读存储介质
CN106383667A (zh) 业务运行中lun迁移的方法和装置
CN110704226A (zh) 数据校验方法、装置及存储介质
CN114328136A (zh) 一种NVMe硬盘背板的点灯方法、装置、系统及介质
CN103237115A (zh) 控制终端下载的方法及其移动终端
CN111078418A (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
GR01 Patent grant
GR01 Patent grant