一种数据处理方法和装置与流程

文档序号:16665511发布日期:2019-01-18 23:14阅读:144来源:国知局
本发明涉及大数据领域,尤其涉及一种数据处理方法和装置。
背景技术
::近年来,随着网络带宽、存储空间、计算能力的快速发展,人类积累的数据在诸多领域呈现着爆炸式增长。数据的应用不断深入、量级不断升级以及大数据不可忽视的价值。然而,随着数据爆炸、信息泛滥,海量的数据已经使得人力抉择不及。大数据带给人们价值的同时,也造成了信息存储冗余等一系列问题,处理大数据的研究就显得格外重要。现有的数据处理方式在存储和计算在时效性上无法满足需求。技术实现要素:本申请所要解决的技术是提供一种数据处理方法和装置,可以提高数据存储和计算的时效性。为了解决上述技术问题,本申请提供了一种数据处理方法,所述方法包括:将待处理的数据文件分成多个数据块;根据第一映射关系将所述多个数据块存储到相应的目标数据服务器上;其中,所述第一映射关系是数据块与目标数据服务器之间的映射关系;当对所述数据文件进行处理时,根据所述第一映射关系,从相应的目标数据服务器上获取所述多个数据块,根据第二映射关系将所述多个数据块分配给相应的计算服务器进行处理;其中,所述第二映射关系是数据块与计算服务器之间的映射关系;所述计算服务器根据预设的模型处理相应的数据块;将所述多个数据块的处理结果合并。可选地,所述根据第一映射关系将所述多个数据块存储到相应的目标数据服务器上之前,所述方法还包括:根据每个数据服务器的状态选取多个数据服务器作为目标数据服务器;确定所述多个数据块与多个目标数据服务器的第一映射关系。可选地,所述从相应的目标数据服务器上获取所述多个数据块包括:根据所述数据文件确定对应的多个目标数据服务器的位置信息;根据所述位置信息从多个目标数据服务器中并行读取数据块。可选地,所述根据第一映射关系将所述多个数据块存储到相应的目标数据服务器上之后,所述方法还包括:将所述多个数据块备份到除对应存储的目标数据服务器之外的一个或多个数据服务器上。可选地,所述方法还包括:在第一时间周期内获取每个数据服务器的状态信息。本申请还提供一种数据处理装置,包括:存储器和处理器;其特征在于:所述存储器,用于保存用于数据处理的程序;所述处理器,用于读取执行所述用于数据处理的程序,执行如下操作:将待处理的数据文件分成多个数据块;根据第一映射关系将所述多个数据块存储到相应的目标数据服务器上;其中,所述第一映射关系是数据块与目标数据服务器之间的映射关系;当对所述数据文件进行处理时,根据所述第一映射关系,从相应的目标数据服务器上获取所述多个数据块,根据第二映射关系将所述多个数据块分配给相应的计算服务器进行处理;其中,所述第二映射关系是数据块与计算服务器之间的映射关系;所述计算服务器根据预设的模型处理相应的数据块;将所述多个数据块的处理结果合并。可选地,所述处理器读取执行所述用于数据处理的程序,还执行如下操作:所述根据第一映射关系将所述多个数据块存储到相应的目标数据服务器上之前,根据每个数据服务器的状态选取多个数据服务器作为目标数据服务器;确定所述多个数据块与多个目标数据服务器的第一映射关系。可选地,所述从相应的目标数据服务器上获取所述多个数据块包括:根据所述数据文件确定对应的多个目标数据服务器的位置信息;根据所述位置信息从多个目标数据服务器中并行读取数据块。可选地,所述处理器读取执行所述用于数据处理的程序,还执行如下操作:所述根据第一映射关系将所述多个数据块存储到相应的目标数据服务器上之后,将所述多个数据块备份到除对应存储的目标数据服务器之外的一个或多个数据服务器上。可选地,所述处理器读取执行所述用于数据处理的程序,还执行如下操作:在第一时间周期内获取每个数据服务器的状态信息。与现有技术相比,本申请包括:将待处理的数据文件分成多个数据块;根据第一映射关系将所述多个数据块存储到相应的目标数据服务器上;其中,所述第一映射关系是数据块与目标数据服务器之间的映射关系;当对所述数据文件进行处理时,根据所述第一映射关系,从相应的目标数据服务器上获取所述多个数据块,根据第二映射关系将所述多个数据块分配给相应的计算服务器进行处理;其中,所述计算服务器根据预设的模型处理相应的数据块;将所述多个数据块的处理结果合并。通过上述技术方案,可以提高数据存储和计算的时效性。附图说明图1是本发明实施例一的数据处理方法的流程示意图;图2是本发明实施例一的数据处理装置的结构示意图;图3是本发明实施例一的架构示意图。具体实施方式为使本发明的目的、技术方案和优点更加清楚明白,下文中将结合附图对本发明的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行。并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。实施例一如图1所示,本实施例提供一种数据处理方法,所述方法包括:步骤s100、将待处理的数据文件分成多个数据块;步骤s102、根据第一映射关系将所述多个数据块存储到相应的目标数据服务器上;其中,所述第一映射关系是数据块与目标数据服务器之间的映射关系;例如,待处理文件a分为三个数据块:a1、a2、a3,若第一映射关系是a1对应数据服务器d1、a2对应数据服务器d3、a3对应数据服务器d6,则将a1存储到数据服务器d1、a2存储到数据服务器d3、a3存储到数据服务器d6。步骤s104、当对所述数据文件进行处理时,根据所述第一映射关系,从相应的目标数据服务器上获取所述多个数据块,根据第二映射关系将所述多个数据块分配给相应的计算服务器进行处理;其中,所述第二映射关系是数据块与计算服务器之间的映射关系;所述计算服务器根据预设的模型处理相应的数据块;同样以上述待处理文件a为例,当需要处理文件a时,可以先从其存储的三个目标数据服务器d1、d2、d3上获取三个数据块。若第二映射关系是a1对应计算服务器s1、a2对应计算服务器s2、a3对应计算服务器s3,则将取出的a1分配给s1、将取出的a2分配给s2、将取出的a3分配给s3。步骤s106、将所述多个数据块的处理结果合并。本实施例中,合并可以是将多个计算服务器处理的结果组合到一个文件里。以前述示例为例,可以将s1、s2、s3这三个计算服务器的处理结果组合到一个文件中。可选地,所述根据第一映射关系将所述多个数据块存储到相应的目标数据服务器上之前,所述方法还可以包括:根据每个数据服务器的状态选取多个数据服务器作为目标数据服务器;确定所述多个数据块与多个目标数据服务器的第一映射关系。本实施例中,可以根据数据服务器的运行状态,从中选择出多个数据服务器作为目标数据服务器来存储数据块。数据块可以以linux文件的形式存储在目标数据服务器的本地磁盘上。可选地,所述从相应的目标数据服务器上获取所述多个数据块可以包括:根据所述数据文件确定对应的多个目标数据服务器的位置信息;根据所述位置信息从多个目标数据服务器中并行读取数据块。可选地,所述根据第一映射关系将所述多个数据块存储到相应的目标数据服务器上之后,所述方法还可以包括:将所述多个数据块备份到除对应存储的目标数据服务器之外的一个或多个数据服务器上。本实施例中,为了保证数据的可靠性,可以对数据块进行备份。以前述示例为例,可以将数据块a1在数据服务器d3和d6上分别备份一份。可选地,所述方法还可以包括:在第一时间周期内获取每个数据服务器的状态信息。本实施例中,可以使用心跳信息周期地和每个数据服务器通讯,从而获取数据服务器的状态信息。上述技术方案采用分布式数据存储和分布式计算,从而可以提高数据存储和计算的时效性。如图2所示,本实施例还提供一种数据处理装置,包括:存储器10和处理器20;所述存储器10,用于保存用于数据处理的程序;所述处理器20,用于读取执行所述用于数据处理的程序,执行如下操作:将待处理的数据文件分成多个数据块;根据第一映射关系将所述多个数据块存储到相应的目标数据服务器上;其中,所述第一映射关系是数据块与目标数据服务器之间的映射关系;当对所述数据文件进行处理时,根据所述第一映射关系,从相应的目标数据服务器上获取所述多个数据块,根据第二映射关系将所述多个数据块分配给相应的计算服务器进行处理;其中,所述第二映射关系是数据块与计算服务器之间的映射关系;所述计算服务器根据预设的模型处理相应的数据块;将所述多个数据块的处理结果合并。可选地,所述处理器读取执行所述用于数据处理的程序,还可以执行如下操作:所述根据第一映射关系将所述多个数据块存储到相应的目标数据服务器上之前,根据每个数据服务器的状态选取多个数据服务器作为目标数据服务器;确定所述多个数据块与多个目标数据服务器的第一映射关系。可选地,所述从相应的目标数据服务器上获取所述多个数据块可以包括:根据所述数据文件确定对应的多个目标数据服务器的位置信息;根据所述位置信息从多个目标数据服务器中并行读取数据块。可选地,所述处理器读取执行所述用于数据处理的程序,还可以执行如下操作:所述根据第一映射关系将所述多个数据块存储到相应的目标数据服务器上之后,将所述多个数据块备份到除对应存储的目标数据服务器之外的一个或多个数据服务器上。可选地,所述处理器读取执行所述用于数据处理的程序,还可以执行如下操作:在第一时间周期内获取每个数据服务器的状态信息。上述技术方案采用分布式数据存储和分布式计算,从而可以提高数据存储和计算的时效性。下面通过示例进一步说明本申请数据处理的方法。本示例中,可以采用图3所示的架构进行数据存储。其中,控制端中维护了系统的元数据,这些元数据可以包括文件及数据块名字空间、gfs(googlefilesystem,分布式文件系统)文件到数据服务器之间的映射以及数据服务器的位置信息。控制端也可以负责整个系统的全局控制。客户端是gfs提供给应用程序的访问接口,它是一组专用接口,不遵守posix(portableoperatingsysteminterfaceofunix,可移植操作系统接口)规范,以库文件的形式提供,其api(applicationprogramminginterface,应用程序编程接口)调用不需要深入到linuxvnode级别。另外,客户端可以不缓存文件数据,只缓存从控制端中获取的元数据。从图3可以看出,客户端和控制端之间的交互只有控制流,没有数据流,因此降低了控制端的负载。客户端与数据服务器之间直接传输数据流,由于文件被分成多个数据块进行分布式存储,因此客户端可以同时并行访问多个数据服务器,从而让系统的输入输出的并行度提高。本领域普通技术人员可以理解上述方法中的全部或部分步骤可通过程序来指令相关硬件完成,所述程序可以存储于计算机可读存储介质中,如只读存储器、磁盘或光盘等。可选地,上述实施例的全部或部分步骤也可以使用一个或多个集成电路来实现,相应地,上述实施例中的各模块/单元可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。本申请不限制于任何特定形式的硬件和软件的结合。以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1