CN110134430A - 一种数据打包方法、装置、存储介质和服务器 - Google Patents
一种数据打包方法、装置、存储介质和服务器 Download PDFInfo
- Publication number
- CN110134430A CN110134430A CN201910294157.2A CN201910294157A CN110134430A CN 110134430 A CN110134430 A CN 110134430A CN 201910294157 A CN201910294157 A CN 201910294157A CN 110134430 A CN110134430 A CN 110134430A
- Authority
- CN
- China
- Prior art keywords
- data
- network node
- uploaded
- batch
- distributed
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及计算机技术领域,提出一种数据打包方法、装置、存储介质和服务器。该数据打包方法包括:获取待上传数据;统计所述待上传数据的总数据量;根据预设的批次数上限、每个批次数据的数据量上限以及所述总数据量,将所述待上传数据划分为多个批次的数据;将所述多个批次的数据发送至hadoop平台,并通过Mapreduce分布式程序分配给多个网络节点;接收由所述多个网络节点返回的数据包。上述过程基于hadoop的分布式文件系统,通过Mapreduce分布式程序将大批量的数据分配到不同的网络节点服务器上分别进行打包。利用多个网络节点服务器的协同作业,可以极大地提高数据的打包效率,从而能够满足将业务系统的大批量数据打包上传至中保信的需求。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种数据打包方法、装置、存储介质和服务器。
背景技术
对于保险类的业务系统来说,需要向中保信(中国保险信息技术管理有限责任公司)上传各类业务数据,具体为按照中保信指定的规则对业务数据进行打包及上传。然而,由于业务系统广泛采用关系型数据库(比如oracle数据库)存储业务数据,而关系型数据库在面对海量数据的读写过程时,系统很容易出现死锁等并发问题,导致性能严重下降,无法支撑数据打包上传需求。
发明内容
有鉴于此,本发明实施例提供了一种数据打包方法、装置、存储介质和服务器,能够满足将业务系统的大批量数据打包上传至中保信的需求。
本发明实施例的第一方面,提供了一种数据打包方法,包括:
获取待上传数据;
统计所述待上传数据的总数据量;
根据预设的批次数上限、每个批次数据的数据量上限以及所述总数据量,将所述待上传数据划分为多个批次的数据;
将所述多个批次的数据发送至hadoop平台,并通过Mapreduce分布式程序分配给多个网络节点;
接收由所述多个网络节点返回的数据包,所述数据包由各个网络节点对自身分配到的数据按照预设规则进行格式转换以及打包产生。
本发明实施例的第二方面,提供了一种数据打包装置,包括:
数据获取模块,用于获取待上传数据;
数据量统计模块,用于统计所述待上传数据的总数据量;
数据划分模块,用于根据预设的批次数上限、每个批次数据的数据量上限以及所述总数据量,将所述待上传数据划分为多个批次的数据;
数据分配模块,用于将所述多个批次的数据发送至hadoop平台,并通过Mapreduce分布式程序分配给多个网络节点;
数据包接收模块,用于接收由所述多个网络节点返回的数据包,所述数据包由各个网络节点对自身分配到的数据按照预设规则进行格式转换以及打包产生。
本发明实施例的第三方面,提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可读指令,所述计算机可读指令被处理器执行时实现如本发明实施例的第一方面提出的数据打包方法的步骤。
本发明实施例的第四方面,提供了一种服务器,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机可读指令,所述处理器执行所述计算机可读指令时实现如本发明实施例的第一方面提出的数据打包方法的步骤。
本发明提出的数据打包方法包括:获取待上传数据;统计所述待上传数据的总数据量;根据预设的批次数上限、每个批次数据的数据量上限以及所述总数据量,将所述待上传数据划分为多个批次的数据;将所述多个批次的数据发送至hadoop平台,并通过Mapreduce分布式程序分配给多个网络节点;接收由所述多个网络节点返回的数据包,所述数据包由各个网络节点对自身分配到的数据按照预设规则进行格式转换以及打包产生。上述过程基于hadoop的分布式文件系统,通过Mapreduce分布式程序将大批量的数据分配到不同的网络节点服务器上分别进行打包。利用多个网络节点服务器的协同作业,可以极大地提高数据的打包效率,从而能够满足将业务系统的大批量数据打包上传至中保信的需求。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种数据打包方法的第一个实施例的流程图;
图2是本发明实施例提供的一种数据打包方法的第二个实施例的流程图;
图3是本发明实施例提供的一种数据打包装置的一个实施例的结构图;
图4是本发明实施例提供的一种服务器的示意图。
具体实施方式
本发明实施例提供了一种数据打包方法、装置、存储介质和服务器,能够满足将业务系统的大批量数据打包上传至中保信的需求。
为使得本发明的发明目的、特征、优点能够更加的明显和易懂,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,下面所描述的实施例仅仅是本发明一部分实施例,而非全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
请参阅图1,本发明实施例中一种数据打包方法的第一个实施例包括:
101、获取待上传数据;
首先,获取待上传数据。待上传数据是业务系统需要向中保信上传的各类业务数据,存储于业务系统服务器的指定数据库中。
102、统计所述待上传数据的总数据量;
103、根据预设的批次数上限、每个批次数据的数据量上限以及所述总数据量,将所述待上传数据划分为多个批次的数据;
在获得待上传数据之后,统计这些数据的总数据量,然后根据预设的批次数上限、每个批次数据的数据量上限以及所述总数据量,将所述待上传数据划分为多个批次的数据。
批次数的上限,每个批次数据的数据量上限可以按照中保信的要求合理设置。比如,中保信每天只允许上传20个批次的数据,且对上传的每个批次数据的大小有限制,不得超过1TB。假设待上传数据的总数据量为10TB,则可以按照数据量上限进行划分,即划分为10个批次,每批次1TB的数据;也可以按照批次数上限进行划分,即划分为20个批次,每批次0.5TB的数据;也可以两个方面都考虑,比如划分为15个批次,每批次0.67TB的数据。另外,为了便于区分和管理,还可以分别为划分的每个批次的数据分配一个唯一的批次号,批次号的命名规则可以参照中保信的要求。
进一步的,在步骤101之后,还可以包括:
(1)确定所述待上传数据中包含的各个文件的文件标识;
(2)在将所述待上传数据划分为多个批次的数据时,具有相同文件标识的文件划分至同一个批次的数据中。
待上传数据涉及多种业务场景的数据,其中某些数据是具有关联性的数据,可以预先为具有关联性的数据分配相同的文件标识。然后,在划分待上传数据时,具有相同文件标识的文件被划分至同一个批次的数据中,进一步提高了数据管理的便利性。
104、将所述多个批次的数据发送至hadoop平台,并通过Mapreduce分布式程序分配给多个网络节点;
在将所述待上传数据划分为多个批次的数据之后,将所述多个批次的数据发送至hadoop平台,并通过Mapreduce分布式程序分配给多个网络节点。MapReduce可以把对数据集的大规模操作分发给网络上的每个节点,每个节点会周期性的返回它所完成的工作和最新的状态。在分配数据给各个网络节点时,可以按照批次数的数量分配,也可以按照总数据量的大小分配;分配规则可以是平均分配,也可以是按照网络节点的计算能力进行分配。另外,由于同一批次的数据需要打包在同一个数据包里面,故同一批次的数据必须分配给同一个网络节点处理。
105、接收由所述多个网络节点返回的数据包,所述数据包由各个网络节点对自身分配到的数据按照预设规则进行格式转换以及打包产生。
然后,接收由所述多个网络节点返回的数据包,最后即可将这些数据包上传至中保信的服务器。在数据包上传的过程中,若某个批次数据的数据包上传失败,则为该批次数据分配一个新的批次号,然后重新上传。某个网络节点在接收到分配给自己的一定数量批次的数据之后,会按照预设规则对这些数据进行格式转换以及打包,得到一个个数据包。
具体的,网络节点的服务器对自身分配到的数据按照预设规则进行格式转换以及打包可以包括:
(1)采用unix2dos工具将自身分配到的数据中非window环境格式的文件转换为window环境格式的文件,并使用sed指令将格式转换后的同类型文件的最后一个文件的最后一行记录删除;
(2)统计自身分配到的数据中每个批次的数据包含的文件数量,并将包含的文件数量超过预设阈值的批次的数据中相同类型的文件合并;
(3)将自身分配到的数据中每个批次的数据分别压缩成一个数据包,压缩得到的数据包的大小不超过预设值。
为了满足中保信的要求,需要将每个批次的数据分别压缩成一个数据包,压缩得到的数据包的大小有限制(比如不超过10G);每个批次的数据包含的文件数量也有限制(比如不超过1000),若超过文件数量限制需要将该批次数据中相同类型的文件合并,比如提取多个word文档的内容,合成一个word文档;中保信接收的文件只能为window环境格式的文件,故可以采用unix2dos工具将分配到的数据中非window环境格式的文件转换为window环境格式的文件,而且为了保证格式转换后数据的完整性和准确性,还需要使用sed指令将格式转换后的同类型文件的最后一个文件的最后一行记录删除。
另外,网络节点的服务器可以设置多个线程分别处理数据的下载、格式转换、打包以及上传工作。比如,1个线程负责从hadoop平台下载数据,1个线程负责对数据的格式进行转换,1个线程对数据进行打包,1个线程将打包好的数据上传至指定的服务器,这样设置可在一定的程度上提高数据的处理效率。
本发明实施例提出的数据打包方法包括:获取待上传数据;统计所述待上传数据的总数据量;根据预设的批次数上限、每个批次数据的数据量上限以及所述总数据量,将所述待上传数据划分为多个批次的数据;将所述多个批次的数据发送至hadoop平台,并通过Mapreduce分布式程序分配给多个网络节点;接收由所述多个网络节点返回的数据包,所述数据包由各个网络节点对自身分配到的数据按照预设规则进行格式转换以及打包产生。上述过程基于hadoop的分布式文件系统,通过Mapreduce分布式程序将大批量的数据分配到不同的网络节点服务器上分别进行打包。利用多个网络节点服务器的协同作业,可以极大地提高数据的打包效率,从而能够满足将业务系统的大批量数据打包上传至中保信的需求。
请参阅图2,本发明实施例中一种数据打包方法的第二个实施例包括:
201、获取待上传数据;
202、统计所述待上传数据的总数据量;
203、根据预设的批次数上限、每个批次数据的数据量上限以及所述总数据量,将所述待上传数据划分为多个批次的数据;
步骤201-203与步骤101-103相同,具体可参照步骤101-103的相关说明。
204、将所述多个批次的数据通过Mapreduce平均分配给多个网络节点中的每个网络节点;
在将所述待上传数据划分为多个批次的数据之后,将所述多个批次的数据发送至hadoop平台,并通过Mapreduce平均分配给多个网络节点中的每个网络节点。假设有20个批次的数据,4个网络节点,则每个网络节点分配5个批次的数据。
205、每隔预设时长,分别统计每个网络节点启用的进程数量以及未处理的数据量;
在将数据分配给各个网络节点之后,每隔预设时长,分别统计每个网络节点启用的进程数量以及未处理的数据量。比如,每隔30分钟统计一次各个网络节点启用的进程数量,以及未处理的数据量,该未处理的数据量一般以批次为单位,即剩余多少个批次的数据未处理。
206、根据每个网络节点启用的进程数量以及未处理的数据量,对所有网络节点未处理的数据执行再分配操作;
接着,根据每个网络节点启用的进程数量以及未处理的数据量,对所有网络节点未处理的数据执行再分配操作。比如,网络节点A剩余未处理的数据量为1个批次,网络节点B剩余未处理的数据量为3个批次,则可以将B未处理的1个批次的数据分配给A处理,以提高整体的数据处理效率。又比如,网络节点C启用的进程数量远小于自身可启动进程数的上限,网络节点D启用的进程数量已达到或接近自身可启动进程数的上限,则可以将D未处理的一部分批次的数据分配给C处理,C可通过增加进程数量的方式提高自身的数据处理效率。通过这样设置,可以实现更合理的节点调度,提高整体的数据处理效率。
具体的,步骤206可以包括:
(1)根据每个网络节点未处理的数据量分别计算每个网络节点的数据处理速度;
(2)结合当前时间和预设的数据上传截止时间计算剩余的数据处理时间;
(3)按照每个网络节点启用的进程数量、未处理的数据量、数据处理速度和所述剩余的数据处理时间,判断各个所述网络节点是否可以按时完成已分配数据的处理;
(4)若一个以上的网络节点无法按时完成已分配数据的处理,则将所述一个以上的网络节点的一部分已分配数据再分配至其它的网络节点,使得各个网络节点均能按时完成已分配数据的处理。
对于上述步骤(1),已知分配至网络节点的数据量,已经执行的数据处理时间,剩余的未处理数据量,则可以采用(已分配数据量-剩余未处理数据量)/已经执行的数据处理时间的方式计算得到网络节点的数据处理速度。比如,分配给A节点10批次的数据,1小时后统计发现A节点剩余8批次的数据未处理,则A节点的数据处理速度为2批次/小时。
对于上述步骤(2),由于中保信的数据上传时间要求为8:00-16:00,故可以将16:00设置为数据上传的截止时间,然后根据当前时间确定剩余的数据处理时间,比如当前时间为14:00,则剩余的数据处理时间为2小时。
对于上述步骤(3),若某个网络节点启用的进程数量已经达到一定的上限值,且根据其数据处理速度*剩余数据处理时间得到的数据量小于其未处理的数据量,则可以判定该网络节点无法按时完成已分配数据的处理。
对于上述步骤(4),将无法完成任务的网络节点的一部分已分配数据再分配至其它可完成任务且有一定工作量余度的网络节点,从而使得每个网络节点均能按时完成任务。具体的,某个网络节点的工作量余度可以用空闲时间来表示,空闲时间等于剩余的数据处理时间减去完成已分配任务所需的时间,完成已分配任务所需的时间等于剩余的未处理数据量/数据处理速度。在再分配数据的过程中,空闲时间越长的网络节点优先进行分配。
207、接收由所述多个网络节点返回的数据包,所述数据包由各个网络节点对自身分配到的数据按照预设规则进行格式转换以及打包产生。
步骤207与步骤105相同,具体可参照步骤105的相关说明。
本发明实施例提出的数据打包方法包括:获取待上传数据;统计所述待上传数据的总数据量;根据预设的批次数上限、每个批次数据的数据量上限以及所述总数据量,将所述待上传数据划分为多个批次的数据;将所述多个批次的数据通过Mapreduce平均分配给多个网络节点中的每个网络节点;每隔预设时长,分别统计每个网络节点启用的进程数量以及未处理的数据量;根据每个网络节点启用的进程数量以及未处理的数据量,对所有网络节点未处理的数据执行再分配操作;接收由所述多个网络节点返回的数据包,所述数据包由各个网络节点对自身分配到的数据按照预设规则进行格式转换以及打包产生。本实施例每隔预设的时长,会根据每个网络节点启用的进程数量以及未处理的数据量,对所有网络节点未处理的数据执行再分配操作。通过这样设置,能够进一步均衡各个网络节点的数据处理任务,提高整体的数据处理效率。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
上面主要描述了一种数据打包方法,下面将对一种数据打包装置进行详细描述。
请参阅图3,本发明实施例中一种数据打包装置的一个实施例包括:
数据获取模块301,用于获取待上传数据;
数据量统计模块302,用于统计所述待上传数据的总数据量;
数据划分模块303,用于根据预设的批次数上限、每个批次数据的数据量上限以及所述总数据量,将所述待上传数据划分为多个批次的数据;
数据分配模块304,用于将所述多个批次的数据发送至hadoop平台,并通过Mapreduce分布式程序分配给多个网络节点;
数据包接收模块305,用于接收由所述多个网络节点返回的数据包,所述数据包由各个网络节点对自身分配到的数据按照预设规则进行格式转换以及打包产生。
进一步的,所述数据打包装置还可以包括:
文件标识确定模块,用于确定所述待上传数据中包含的各个文件的文件标识;在将所述待上传数据划分为多个批次的数据时,具有相同文件标识的文件划分至同一个批次的数据中。
进一步的,所述数据分配模块可以包括:
平均分配单元,用于将所述多个批次的数据通过Mapreduce平均分配给每个网络节点;
未处理数据量统计单元,用于每隔预设时长,分别统计每个网络节点启用的进程数量以及未处理的数据量;
再分配单元,用于根据每个网络节点启用的进程数量以及未处理的数据量,对所有网络节点未处理的数据执行再分配操作。
更进一步的,所述再分配单元可以包括:
数据处理速度计算子单元,用于根据每个网络节点未处理的数据量分别计算每个网络节点的数据处理速度;
数据处理时间计算子单元,用于结合当前时间和预设的数据上传截止时间计算剩余的数据处理时间;
判断子单元,用于按照每个网络节点启用的进程数量、未处理的数据量、数据处理速度和所述剩余的数据处理时间,判断各个所述网络节点是否可以按时完成已分配数据的处理;
再分配子单元,用于若一个以上的网络节点无法按时完成已分配数据的处理,则将所述一个以上的网络节点的一部分已分配数据再分配至其它的网络节点,使得各个网络节点均能按时完成已分配数据的处理。
本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可读指令,所述计算机可读指令被处理器执行时实现如图1或图2表示的任意一种数据打包方法的步骤。
本发明实施例还提供一种服务器,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机可读指令,所述处理器执行所述计算机可读指令时实现如图1或图2表示的任意一种数据打包方法的步骤。
图4是本发明一实施例提供的服务器的示意图。如图4所示,该实施例的服务器4包括:处理器40、存储器41以及存储在所述存储器41中并可在所述处理器40上运行的计算机可读指令42。所述处理器40执行所述计算机可读指令42时实现上述各个数据打包方法实施例中的步骤,例如图1所示的步骤101至105。或者,所述处理器40执行所述计算机可读指令42时实现上述各装置实施例中各模块/单元的功能,例如图3所示模块301至305的功能。
示例性的,所述计算机可读指令42可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器41中,并由所述处理器40执行,以完成本发明。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机可读指令段,该指令段用于描述所述计算机可读指令42在所述服务器4中的执行过程。
所述服务器4可以是智能手机、笔记本、掌上电脑及云端服务器等计算设备。所述服务器4可包括,但不仅限于,处理器40、存储器41。本领域技术人员可以理解,图4仅仅是服务器4的示例,并不构成对服务器4的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述服务器4还可以包括输入输出设备、网络接入设备、总线等。
所述处理器40可以是中央处理单元(CentraL Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(DigitaL SignaL Processor,DSP)、专用集成电路(AppLication Specific Integrated Circuit,ASIC)、现成可编程门阵列(FieLd-ProgrammabLe Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
所述存储器41可以是所述服务器4的内部存储单元,例如服务器4的硬盘或内存。所述存储器41也可以是所述服务器4的外部存储设备,例如所述服务器4上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure DigitaL,SD)卡,闪存卡(FLash Card)等。进一步地,所述存储器41还可以既包括所述服务器4的内部存储单元也包括外部存储设备。所述存储器41用于存储所述计算机可读指令以及所述服务器所需的其他程序和数据。所述存储器41还可以用于暂时地存储已经输出或者将要输出的数据。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnLyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (10)
1.一种数据打包方法,其特征在于,包括:
获取待上传数据;
统计所述待上传数据的总数据量;
根据预设的批次数上限、每个批次数据的数据量上限以及所述总数据量,将所述待上传数据划分为多个批次的数据;
将所述多个批次的数据发送至hadoop平台,并通过Mapreduce分布式程序分配给多个网络节点;
接收由所述多个网络节点返回的数据包,所述数据包由各个网络节点对自身分配到的数据按照预设规则进行格式转换以及打包产生。
2.根据权利要求1所述的数据打包方法,其特征在于,在获取待上传数据之后,还包括:
确定所述待上传数据中包含的各个文件的文件标识;
在将所述待上传数据划分为多个批次的数据时,具有相同文件标识的文件划分至同一个批次的数据中。
3.根据权利要求1所述的数据打包方法,其特征在于,所述将所述多个批次的数据发送至hadoop平台,并通过Mapreduce分布式程序分配给多个网络节点包括:
将所述多个批次的数据通过Mapreduce平均分配给每个网络节点;
每隔预设时长,分别统计每个网络节点启用的进程数量以及未处理的数据量;
根据每个网络节点启用的进程数量以及未处理的数据量,对所有网络节点未处理的数据执行再分配操作。
4.根据权利要求3所述的数据打包方法,其特征在于,所述根据每个网络节点启用的进程数量以及未处理的数据量,对所有网络节点未处理的数据执行再分配操作包括:
根据每个网络节点未处理的数据量分别计算每个网络节点的数据处理速度;
结合当前时间和预设的数据上传截止时间计算剩余的数据处理时间;
按照每个网络节点启用的进程数量、未处理的数据量、数据处理速度和所述剩余的数据处理时间,判断各个所述网络节点是否可以按时完成已分配数据的处理;
若一个以上的网络节点无法按时完成已分配数据的处理,则将所述一个以上的网络节点的一部分已分配数据再分配至其它的网络节点,使得各个网络节点均能按时完成已分配数据的处理。
5.根据权利要求1至4中任一项所述的数据打包方法,其特征在于,所述对自身分配到的数据按照预设规则进行格式转换以及打包包括:
采用unix2dos工具将自身分配到的数据中非window环境格式的文件转换为window环境格式的文件,并使用sed指令将格式转换后的同类型文件的最后一个文件的最后一行记录删除;
统计自身分配到的数据中每个批次的数据包含的文件数量,并将包含的文件数量超过预设阈值的批次的数据中相同类型的文件合并;
将自身分配到的数据中每个批次的数据分别压缩成一个数据包,压缩得到的数据包的大小不超过预设值。
6.一种数据打包装置,其特征在于,包括:
数据获取模块,用于获取待上传数据;
数据量统计模块,用于统计所述待上传数据的总数据量;
数据划分模块,用于根据预设的批次数上限、每个批次数据的数据量上限以及所述总数据量,将所述待上传数据划分为多个批次的数据;
数据分配模块,用于将所述多个批次的数据发送至hadoop平台,并通过Mapreduce分布式程序分配给多个网络节点;
数据包接收模块,用于接收由所述多个网络节点返回的数据包,所述数据包由各个网络节点对自身分配到的数据按照预设规则进行格式转换以及打包产生。
7.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可读指令,其特征在于,所述计算机可读指令被处理器执行时实现如权利要求1至5中任一项所述的数据打包方法的步骤。
8.一种服务器,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机可读指令,其特征在于,所述处理器执行所述计算机可读指令时实现如下步骤:
获取待上传数据;
统计所述待上传数据的总数据量;
根据预设的批次数上限、每个批次数据的数据量上限以及所述总数据量,将所述待上传数据划分为多个批次的数据;
将所述多个批次的数据发送至hadoop平台,并通过Mapreduce分布式程序分配给多个网络节点;
接收由所述多个网络节点返回的数据包,所述数据包由各个网络节点对自身分配到的数据按照预设规则进行格式转换以及打包产生。
9.根据权利要求8所述的服务器,其特征在于,所述将所述多个批次的数据发送至hadoop平台,并通过Mapreduce分布式程序分配给多个网络节点包括:
将所述多个批次的数据通过Mapreduce平均分配给每个网络节点;
每隔预设时长,分别统计每个网络节点启用的进程数量以及未处理的数据量;
根据每个网络节点启用的进程数量以及未处理的数据量,对所有网络节点未处理的数据执行再分配操作。
10.根据权利要求9所述的服务器,其特征在于,所述根据每个网络节点启用的进程数量以及未处理的数据量,对所有网络节点未处理的数据执行再分配操作包括:
根据每个网络节点未处理的数据量分别计算每个网络节点的数据处理速度;
结合当前时间和预设的数据上传截止时间计算剩余的数据处理时间;
按照每个网络节点启用的进程数量、未处理的数据量、数据处理速度和所述剩余的数据处理时间,判断各个所述网络节点是否可以按时完成已分配数据的处理;
若一个以上的网络节点无法按时完成已分配数据的处理,则将所述一个以上的网络节点的一部分已分配数据再分配至其它的网络节点,使得各个网络节点均能按时完成已分配数据的处理。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910294157.2A CN110134430A (zh) | 2019-04-12 | 2019-04-12 | 一种数据打包方法、装置、存储介质和服务器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910294157.2A CN110134430A (zh) | 2019-04-12 | 2019-04-12 | 一种数据打包方法、装置、存储介质和服务器 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110134430A true CN110134430A (zh) | 2019-08-16 |
Family
ID=67569919
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910294157.2A Pending CN110134430A (zh) | 2019-04-12 | 2019-04-12 | 一种数据打包方法、装置、存储介质和服务器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110134430A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111427698A (zh) * | 2020-03-26 | 2020-07-17 | 平安医疗健康管理股份有限公司 | 基于Azakban的数据同步方法、装置和计算机设备 |
CN112001160A (zh) * | 2020-08-27 | 2020-11-27 | 中国平安财产保险股份有限公司 | 数据处理方法、装置、设备及存储介质 |
CN112181431A (zh) * | 2020-09-30 | 2021-01-05 | 完美世界(北京)软件科技发展有限公司 | 一种分布式数据打包方法及系统、存储介质、计算设备 |
CN112596717A (zh) * | 2020-12-21 | 2021-04-02 | 平安银行股份有限公司 | 多数据打包方法、装置、电子设备及计算机可读存储介质 |
CN112925772A (zh) * | 2019-12-06 | 2021-06-08 | 北京沃东天骏信息技术有限公司 | 一种数据动态拆分方法和装置 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103559219A (zh) * | 2013-10-18 | 2014-02-05 | 北京京东尚科信息技术有限公司 | 分布式网络爬虫抓取任务调度方法、调度端设备及抓取节点 |
CN105760395A (zh) * | 2014-12-18 | 2016-07-13 | 华为技术有限公司 | 一种数据处理的方法、装置及系统 |
CN105912401A (zh) * | 2016-04-08 | 2016-08-31 | 中国银行股份有限公司 | 一种分布式数据批处理系统和方法 |
CN106055691A (zh) * | 2016-06-12 | 2016-10-26 | 成都科来软件有限公司 | 一种分布式数据存储处理方法及存储处理系统 |
CN106533738A (zh) * | 2016-10-20 | 2017-03-22 | 中国民生银行股份有限公司 | 分布式批处理的方法、装置和系统 |
CN108537528A (zh) * | 2018-04-10 | 2018-09-14 | 平安科技(深圳)有限公司 | 批量文件审核代付方法和系统 |
CN110297708A (zh) * | 2018-03-22 | 2019-10-01 | 阿里巴巴集团控股有限公司 | 一种出票处理及调度的方法、服务器及出票平台 |
-
2019
- 2019-04-12 CN CN201910294157.2A patent/CN110134430A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103559219A (zh) * | 2013-10-18 | 2014-02-05 | 北京京东尚科信息技术有限公司 | 分布式网络爬虫抓取任务调度方法、调度端设备及抓取节点 |
CN105760395A (zh) * | 2014-12-18 | 2016-07-13 | 华为技术有限公司 | 一种数据处理的方法、装置及系统 |
CN105912401A (zh) * | 2016-04-08 | 2016-08-31 | 中国银行股份有限公司 | 一种分布式数据批处理系统和方法 |
CN106055691A (zh) * | 2016-06-12 | 2016-10-26 | 成都科来软件有限公司 | 一种分布式数据存储处理方法及存储处理系统 |
CN106533738A (zh) * | 2016-10-20 | 2017-03-22 | 中国民生银行股份有限公司 | 分布式批处理的方法、装置和系统 |
CN110297708A (zh) * | 2018-03-22 | 2019-10-01 | 阿里巴巴集团控股有限公司 | 一种出票处理及调度的方法、服务器及出票平台 |
CN108537528A (zh) * | 2018-04-10 | 2018-09-14 | 平安科技(深圳)有限公司 | 批量文件审核代付方法和系统 |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112925772A (zh) * | 2019-12-06 | 2021-06-08 | 北京沃东天骏信息技术有限公司 | 一种数据动态拆分方法和装置 |
CN111427698A (zh) * | 2020-03-26 | 2020-07-17 | 平安医疗健康管理股份有限公司 | 基于Azakban的数据同步方法、装置和计算机设备 |
CN111427698B (zh) * | 2020-03-26 | 2022-11-15 | 深圳平安医疗健康科技服务有限公司 | 基于Azakban的数据同步方法、装置和计算机设备 |
CN112001160A (zh) * | 2020-08-27 | 2020-11-27 | 中国平安财产保险股份有限公司 | 数据处理方法、装置、设备及存储介质 |
CN112001160B (zh) * | 2020-08-27 | 2023-07-28 | 中国平安财产保险股份有限公司 | 数据处理方法、装置、设备及存储介质 |
CN112181431A (zh) * | 2020-09-30 | 2021-01-05 | 完美世界(北京)软件科技发展有限公司 | 一种分布式数据打包方法及系统、存储介质、计算设备 |
CN112596717A (zh) * | 2020-12-21 | 2021-04-02 | 平安银行股份有限公司 | 多数据打包方法、装置、电子设备及计算机可读存储介质 |
CN112596717B (zh) * | 2020-12-21 | 2023-11-21 | 平安银行股份有限公司 | 多数据打包方法、装置、电子设备及计算机可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110134430A (zh) | 一种数据打包方法、装置、存储介质和服务器 | |
CN109491790B (zh) | 基于容器的工业物联网边缘计算资源分配方法及系统 | |
CN110166282B (zh) | 资源分配方法、装置、计算机设备和存储介质 | |
CN108519911A (zh) | 一种基于容器的集群管理系统中资源的调度方法和装置 | |
CN111108480A (zh) | 一种用于分布式资源需求及分配的系统和方法 | |
CN106897411A (zh) | 基于Spark技术的ETL系统及其方法 | |
CN106095569B (zh) | 一种基于sla的云工作流引擎资源调度与控制方法 | |
CN109857549A (zh) | 基于负载均衡的图像数据处理方法、系统、设备及介质 | |
CN103930875A (zh) | 用于加速业务数据处理的软件虚拟机 | |
CN104572106A (zh) | 一种基于小内存处理大规模数据的并行程序开发方法 | |
CN111966496B (zh) | 数据处理方法、装置、系统及计算机可读存储介质 | |
CN110058940B (zh) | 一种多线程环境下的数据处理方法及装置 | |
CN111459641B (zh) | 一种跨机房的任务调度和任务处理的方法及装置 | |
CN105930417B (zh) | 一种基于云计算的大数据etl交互式处理平台 | |
CN110209646A (zh) | 一种基于实时流式计算的数据平台系统 | |
CN111506398A (zh) | 任务调度方法和装置、存储介质、电子装置 | |
CN113051053A (zh) | 异构资源调度方法、装置、设备和计算机可读存储介质 | |
CN106325984A (zh) | 一种大数据任务调度装置 | |
WO2018166145A1 (zh) | 还款数据分批报盘方法和装置 | |
CN108574645A (zh) | 一种队列调度方法及装置 | |
CN107193869A (zh) | 工业物联网云平台中数据存取的方法及装置 | |
CN108241534A (zh) | 一种任务处理、分配、管理、计算的方法以及装置 | |
CN107870763A (zh) | 用于创建海量数据实时分拣系统的方法及其装置 | |
CN107220271A (zh) | 一种分布式数字资源存储处理与管理的方法及系统 | |
CN108011764A (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 |