组装文件的方法及装置制造方法及图纸

技术编号:16327182 阅读:31 留言:0更新日期:2017-09-29 19:04
本发明专利技术实施例提供了一种组装文件的方法及装置。将数据标识集合拆分为多个数据标识子集合;同时分别获取每一个数据标识子集合中的数据标识对应的数据,并将每一个数据标识子集合中的数据标识对应的数据分别组装成一个子文件;将组装得到的所有子文件进行合并得到目标文件。本发明专利技术获取数据的整个过程需要花费的时间为包括的数据标识的数量最多的数据标识子集合中的数据标识的数量与获取一条数据的时间之间的乘积。由于包括的数据标识的数量最多的数据标识子集合中的数据标识的数量必然小于需要获取的所有数据的数量,因此,本发明专利技术可以减少获取数据的整个过程需要花费的时间,从而提高钻组装文件的效率。

【技术实现步骤摘要】
组装文件的方法及装置
本专利技术涉及计算机
,尤其涉及一种组装文件的方法及装置。
技术介绍
当前,企业的信息系统的数据库中一般会存储的大量的业务数据,很多情况下,需要将这些业务数据组装成文件以供工作人员浏览或者传输给其他系统。例如在网商的系统中的数据库中存储了一些银行的业务数据,需要定期将这些业务数据组装成对账文件供工作人员浏览并进行对账分析。其中,当需要将大量的数据组装成文件时,首先需要从数据库中依次读取该大量的数据中的每一条数据,然后将读取的所有数据组装成文件。然而,专利技术人发现:首先,从数据库中依次读取该大量的数据中的每一条数据所需花费的时间较多,这样会降低组装文件的效率。其次,在从数据库中依次读取该大量的数据中的每一条数据的过程中,如果出现未成功读取到某一条数据的情况或出现某一数据组装失败的情况,则已经读取到的所有数据均作废且已经组装的所有数据也均已作废,需要重新执行从数据库中依次读取该大量的数据中的每一条数据的流程;这样就会耗费较多的时间,同样会降低组装文件的效率。
技术实现思路
为克服相关技术中存在的问题,本专利技术提供一种组装文件的方法及装置。根据本专利技术实施例的第一方面,提供一种组装文件的方法,所述方法包括:当需要将数据标识集合中的每一个数据标识对应的数据组装成目标文件时,将所述数据标识集合拆分为多个数据标识子集合;任意两个数据标识子集合中的数据标识不重合;同时分别获取每一个数据标识子集合中的数据标识对应的数据,并将每一个数据标识子集合中的数据标识对应的数据分别组装成一个子文件;将组装得到的所有子文件进行合并得到目标文件。其中,所述同时分别获取每一个数据标识子集合中的数据标识对应的数据,包括;获取目标数量个工作线程;目标数量与所述多个数据标识子集合的数量相同;为每一个数据标识子集合分别生成数据获取任务;分别为每一个工作线程分配一个数据获取任务;为不同的工作线程分配的数据获取任务不同;同时利用每一个工作线程执行为其分配的数据获取任务。其中,所述获取目标数量个工作线程,包括:从与本地相连的预设服务器群组中选择目标数量个服务器;从选择出的每一个服务器中分别获取一个空闲的工作线程,得到目标数量个工作线程;或者,从本地获取目标数量个空闲的工作线程。其中,所述将每一个数据标识子集合中的数据标识对应的数据分别组装成一个子文件,包括:对于每一个数据标识子集合,生成一个空子文件,并将获取的所述数据标识子集合中的所有数据标识对应的数据依次填入生成的空子文件中,得到一个子文件。其中,所述将组装得到的所有子文件进行合并得到目标文件,包括:检测组装得到的子文件的数量是否等于目标数量;当组装得到的子文件的数量等于目标数量时,生成一个空文件;将组装得到的每一个子文件分别填入所述空文件中,得到目标文件。进一步地,所述方法还包括:当所述目标文件中的数据为多个时,在所述目标文件中,将任意相邻的数据之间利用预设分隔符进行分隔。根据本专利技术实施例的第二方面,提供一种组装文件的装置,所述装置包括:拆分模块,用于当需要将数据标识集合中的每一个数据标识对应的数据组装成目标文件时,将所述数据标识集合拆分为多个数据标识子集合;任意两个数据标识子集合中的数据标识不重合;获取模块,用于同时分别获取每一个数据标识子集合中的数据标识对应的数据;组装模块,用于将每一个数据标识子集合中的数据标识对应的数据分别组装成一个子文件;合并模块,用于将组装得到的所有子文件进行合并得到目标文件。其中,所述获取模块包括;获取单元,用于获取目标数量个工作线程;目标数量与所述多个数据标识子集合的数量相同;第一生成单元,用于为每一个数据标识子集合分别生成数据获取任务;分配单元,用于分别为每一个工作线程分配一个数据获取任务;为不同的工作线程分配的数据获取任务不同;执行单元,用于同时利用每一个工作线程执行为其分配的数据获取任务。其中,所述获取单元包括:选择子单元,用于从与本地相连的预设服务器群组中选择目标数量个服务器;第一获取子单元,用于从选择出的每一个服务器中分别获取一个空闲的工作线程,得到目标数量个工作线程;或者,第二获取子单元,用于从本地获取目标数量个空闲的工作线程。其中,所述组装模块具体用于对于每一个数据标识子集合,生成一个空子文件,并将获取的所述数据标识子集合中的所有数据标识对应的数据依次填入生成的空子文件中,得到一个子文件。其中,所述合并模块包括:检测单元,用于检测组装得到的子文件的数量是否等于目标数量;第二生成单元,用于当组装得到的子文件的数量等于目标数量时,生成一个空文件;填入单元,用于将组装得到的每一个子文件分别填入所述空文件中,得到目标文件。其中,所述合并模块还包括:分隔单元,用于当所述目标文件中的数据为多个时,在所述目标文件中,将任意相邻的数据之间利用预设分隔符进行分隔。本专利技术的实施例提供的技术方案可以包括以下有益效果:假设,在现有技术中,获取每一条数据所需花费的时间都是相同的,在本专利技术实施例中,获取每一条数据所需花费的时间也都是相同的,且在现有技术中获取一条数据所需花费的时间与在本专利技术实施例中获取一条数据所需花费的时间相同。在现有技术中,第一服务器需要依次获取大量的数据中的每一条数据,然后将读取的所有数据组装成文件。现有技术获取数据的整个过程相当于是串行获取,则获取数据的整个过程需要花费的时间为需要获取的数据的数量与获取一条数据需要花费的时间之间的乘积。而在本专利技术实施例中,当需要将数据标识集合中的每一个数据标识对应的数据组装成目标文件时,将数据标识集合拆分为多个数据标识子集合;任意两个数据标识子集合中的数据标识不重合;同时分别获取每一个数据标识子集合中的数据标识对应的数据。本专利技术实施例获取数据的整个过程相当于是并行获取,则获取数据的整个过程需要花费的时间取决于多个数据标识子集合中包括的数据标识的数量最多的数据标识子集合;获取数据的整个过程需要花费的时间为包括的数据标识的数量最多的数据标识子集合中的数据标识的数量与获取一条数据需要花费的时间之间的乘积。由于包括的数据标识的数量最多的数据标识子集合中的数据标识的数量必然小于所有需要获取的数据的数量,因此,相对于现有技术中,本专利技术实施例可以减少获取数据的整个过程需要花费的时间,从而提高获取数据的效率,进而提高组装文件的效率。例如,假设,在现有技术中,获取每一条数据所需花费的时间都是1s,总共需要获取100条不同的数据;在本专利技术实施例中,获取每一条数据所需花费的时间也是1s,总共需要获取100条不同的数据。则在现有技术中需要花费100s才能获取完这100条数据。假设本专利技术实施例中包括10个数据标识子集合,每个数据标识子集合中包括10个数据标识,则对于任意一个数据标识子集合,获取该数据标识子集合中的所有数据标识对应的数据所需要的时间为10s,由于是同时分别获取这10个数据标识子集合中的每一个数据标识子集合中的数据标识对应的数据,因此整个流程只需花费10s,远远小于现有技术中所需花费的100s,从而可以提高数据获取效率,进而提高组装文件的效率。其次,在本专利技术实施例中,获取不同的数据标识子集合中的数据标识对应的数据的流程相互之间的独立的,不会相互影响。也即,当依次获取某一数据标识子集合中的数据标识对应本文档来自技高网...
组装文件的方法及装置

【技术保护点】
一种组装文件的方法,其特征在于,所述方法包括:当需要将数据标识集合中的每一个数据标识对应的数据组装成目标文件时,将所述数据标识集合拆分为多个数据标识子集合;任意两个数据标识子集合中的数据标识不重合;同时分别获取每一个数据标识子集合中的数据标识对应的数据,并将每一个数据标识子集合中的数据标识对应的数据分别组装成一个子文件;将组装得到的所有子文件进行合并得到目标文件。

【技术特征摘要】
1.一种组装文件的方法,其特征在于,所述方法包括:当需要将数据标识集合中的每一个数据标识对应的数据组装成目标文件时,将所述数据标识集合拆分为多个数据标识子集合;任意两个数据标识子集合中的数据标识不重合;同时分别获取每一个数据标识子集合中的数据标识对应的数据,并将每一个数据标识子集合中的数据标识对应的数据分别组装成一个子文件;将组装得到的所有子文件进行合并得到目标文件。2.根据权利要求1所述的方法,其特征在于,所述同时分别获取每一个数据标识子集合中的数据标识对应的数据,包括;获取目标数量个工作线程;目标数量与所述多个数据标识子集合的数量相同;为每一个数据标识子集合分别生成数据获取任务;分别为每一个工作线程分配一个数据获取任务;为不同的工作线程分配的数据获取任务不同;同时利用每一个工作线程执行为其分配的数据获取任务。3.根据权利要求2所述的方法,其特征在于,所述获取目标数量个工作线程,包括:从与本地相连的预设服务器群组中选择目标数量个服务器;从选择出的每一个服务器中分别获取一个空闲的工作线程,得到目标数量个工作线程;或者,从本地获取目标数量个空闲的工作线程。4.根据权利要求1所述的方法,其特征在于,所述将每一个数据标识子集合中的数据标识对应的数据分别组装成一个子文件,包括:对于每一个数据标识子集合,生成一个空子文件,并将获取的所述数据标识子集合中的所有数据标识对应的数据依次填入生成的空子文件中,得到一个子文件。5.根据权利要求1或4所述的方法,其特征在于,所述将组装得到的所有子文件进行合并得到目标文件,包括:检测组装得到的子文件的数量是否等于目标数量;当组装得到的子文件的数量等于目标数量时,生成一个空文件;将组装得到的每一个子文件分别填入所述空文件中,得到目标文件。6.根据权利要求5所述的方法,其特征在于,所述方法还包括:当所述目标文件中的数据为多个时,在所述目标文件中,将任意相邻的数据之间利用预设分隔符进行分隔。7.一种组装文件的装置,其特征在于,所述装置...

【专利技术属性】
技术研发人员:罗扬
申请(专利权)人:阿里巴巴集团控股有限公司
类型:发明
国别省市:开曼群岛,KY

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1