分布式数据处理方法及数据中心与流程

文档序号:18271183发布日期:2019-07-27 09:41阅读:184来源:国知局
分布式数据处理方法及数据中心与流程

本发明涉及分布式数据系统技术领域,尤其涉及一种分布式数据处理方法及数据中心。



背景技术:

随着信息化的深入开展,各行各业的业务系统所产生的数据越来越多,由于传统的集中式数据系统方案(集中式数据系统是指为待存储的数据制定一个特定的存取区域,将所有数据都存取在该存取区域中)将所有的数据均存在数据中心主机上以供集中提取数据,若数据中心主机出故障,则整个系统无法存储和提取数据,即集中式数据系统方案相较于分布式数据系统方案,数据稳定性较低,故而分布式数据系统应运而生。

现行的分布式系统对于大数据的存储一般流程是:在数据中心对原始数据进行切片处理,在对原始数据的切片完成后,将切片后的切片数据同步到分布式数据系统其它各个数据节点(即相对于数据中心的其它从数据中心),但是,当原始数据的数据量不断增大,数据中心单机对原始数据进行切片处理的时间随之不断加长,当原始数据为超大型数据或海量数据时,必然严重影响分布式数据系统的工作效率。



技术实现要素:

本发明的主要目的在于提供一种分布式数据处理方法及数据中心,旨在解决现有分布式数据系统对原始数据进行分片,严重影响分布式数据系统的工作效率的技术问题。

为实现上述目的,本发明提供的一种分布式数据处理方法,所述分布式数据处理方法包括:

数据中心解析获取的原始数据,以获取该原始数据的数据参数;

数据中心根据所述数据参数和数据中心性能,将对原始数据进行切片的任务划分为多个子切片任务;

数据中心将所述子切片任务中预设比例的外调子切片任务分配给分布式数据系统中数据中心之外的数据节点;

数据中心执行所述子切片任务中未分配的自留子切片任务,保存对应的第一切片数据,并控制数据节点执行所述外调子切片任务并保存对应的第二切片数据。

优选地,所述数据中心执行所述子切片任务中未分配的自留子切片任务,保存对应的第一切片数据,并调用数据节点执行所述外调子切片任务并保存对应的第二切片数据的步骤之后还包括:

数据中心实时公布第一切片数据和第二切片数据,以供分布式数据系统的客户端访问。

优选地,所述数据中心实时公布第一切片数据和第二切片数据,以供分布式数据系统的客户端访问的步骤之后还包括:

当接收到客户端发送的数据请求时,数据中心根据所述第一切片数据还原得到所述数据请求对应的目标数据;

若还原得到所述目标数据失败,则数据中心提取第二切片数据,并根据第一切片数据和第二切片数据还原得到所述目标数据。

优选地,所述数据中心实时公布第一切片数据和第二切片数据,以供分布式数据系统的客户端访问的步骤之后还包括:

当分布式数据系统实时带宽大于预设带宽时,数据中心与数据节点之间进行切片数据传输。

优选地,所述数据中心与数据节点之间进行切片数据传输的步骤包括:

当提取所述第二切片数据的频率大于设定频率时,数据中心接收数据节点传输的所述第二切片数据。

本发明还提供一种数据中心,所述数据中心包括:

解析模块,用于解析获取的原始数据,以获取该原始数据的数据参数;

任务划分模块,用于数据中心根据所述数据参数和数据中心性能,将对原始数据进行切片的任务划分为多个子切片任务;

任务分配模块,用于将所述子切片任务中预设比例的外调子切片任务分配给分布式数据系统中数据中心之外的数据节点;

任务执行模块,用于执行所述子切片任务中未分配的自留子切片任务,保存对应的第一切片数据,并控制数据节点执行所述外调子切片任务并保存对应的第二切片数据。

优选地,所述数据中心还包括:

公布模块,用于实时公布第一切片数据和第二切片数据,以供分布式数据系统的客户端访问。

优选地,所述数据中心还包括:

第一还原模块,用于当接收到客户端发送的数据请求时,根据所述第一切片数据还原得到所述数据请求对应的目标数据;

第二还原模块,用于若还原得到所述目标数据失败,则提取第二切片数据,并根据第一切片数据和第二切片数据还原得到所述目标数据。

优选地,所述数据中心还包括:

传输模块,用于当分布式数据系统实时带宽大于预设带宽时,与数据节点之间进行切片数据传输。

优选地,所述传输模块还用于:

当分布式数据系统实时带宽大于预设带宽时,且当提取所述第二切片数据的频率大于设定频率时,数据中心接收数据节点传输的所述第二切片数据。

本发明通过先获取原始数据的数据参数,然后根据数据参数和数据中心性能,将对原始数据的切片任务划分为多个子切片任务,并将预设比例的子切片任务作为外调子切片任务分配给其它数据节点,然后数据中心和数据节点各位执行各自的子切片任务,从而数据中心获取并保存第一切片数据,数据节点获取并保存第二切片数据,从而实现数据中心和数据节点并行对原始数据进行数据切片,避免仅靠数据中心单端对超大型或海量数据量的原始数据进行数据切片,从而缩短了对原始数据进行数据切片处理的时间,避免因数据切片处理而耽误分布式数据系统的其它进程的正常运行,保证了分布式数据系统的工作效率。

附图说明

图1为本发明分布式数据处理方法第一实施例的流程示意图;

图2为本发明分布式数据处理方法第二实施例的流程示意图;

图3为本发明分布式数据处理方法第三实施例的流程示意图;

图4为本发明分布式数据处理方法第四实施例的流程示意图;

图5为本发明数据中心第一实施例的功能模块示意图;

图6为本发明数据中心第二实施例的功能模块示意图;

图7为本发明数据中心第三实施例的功能模块示意图;

图8为本发明数据中心第四实施例的功能模块示意图。

本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。

具体实施方式

应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

本发明提供一种分布式数据处理方法,在本发明分布式数据处理方法的第一实施例中,参照图1,该分布式数据处理方法包括:

步骤S10,数据中心解析获取的原始数据,以获取该原始数据的数据参数;

数据中心可以包括至少一个服务器,数据中心通过服务器获取原始数据,这些原始数据可以是用户通过网络连接或本地连接上传的文件或数据包等,数据参数包括原始数据的数据量、数据类型、版本信息、是否支持切片处理等参数,数据量表示原始数据的容量大小,数据类型包括图片数据类型、文字数据类型、视频数据类型等,版本信息表示原始数据所支持的数据切片方式和版本。

步骤S20,数据中心根据数据参数和数据中心性能,将对原始数据进行切片的任务划分为多个子切片任务;

数据中心根据原始数据的数据参数,判断原始数据是否支持数据切片处理,若支持数据切片处理,则继续获取数据中心在数据切片方面的性能(即在单位时间内支持多少数据量的数据切片处理)和原始数据的数据量,然后根据数据中心性能和数据中心的数据量,将原始数据的切片任务划分为多个子切片任务。例如原始数据的数据量为100单位,数据中心的数据切片性能为1单位时间切片10单位的原始数据,则可以将原始数据的切片任务划分为10个子切片任务。当然,也可以综合原始数据的数据参数、数据中心性能和各数据节点性能等多方面因素,决定将原始数据的切片任务划分为多少个子切片任务,优选地,每个子切片任务的任务量相同,方便子切片任务的调度和管理。

步骤S30,数据中心将子切片任务中预设比例的外调子切片任务分配给分布式数据系统中数据中心之外的数据节点;

预设比例可根据数据中心能够承担的切片任务量(即数据中心的性能)决定,数据中心将本端来不及进行切片处理的子切片任务(即外调子切片任务)分配给分布式数据系统,将本端能够处理的子切片任务(即自留子切片任务)保留下来,以供数据中心和数据节点同步对原始数据进行数据切片处理。

步骤S40,数据中心执行子切片任务中未分配的自留子切片任务,保存对应的第一切片数据,并控制数据节点执行外调子切片任务并保存对应的第二切片数据。

数据中心执行自留子切片任务,实现对原始数据关于自留子切片任务部分的数据切片,得到多个第一切片数据;同时,数据中心控制数据节点执行各自接收的外调切片任务,获取并保存对应的多个对应的第二切片数据,即数据中心保存的切片数据统称第一切片数据,各个数据节点保存的切片数据统称为第二切片数据,从而实现了基于分布式存储的数据切片。

在本实施例中,通过先获取原始数据的数据参数,然后根据数据参数和数据中心性能,将对原始数据的切片任务划分为多个子切片任务,并将预设比例的子切片任务作为外调子切片任务分配给其它数据节点,然后数据中心和数据节点各位执行各自的子切片任务,从而数据中心获取并保存第一切片数据,数据节点获取并保存第二切片数据,从而实现数据中心和数据节点并行对原始数据进行数据切片,避免仅靠数据中心单端对超大型或海量数据量的原始数据进行数据切片,从而缩短了对原始数据进行数据切片处理的时间,避免因数据切片处理而耽误分布式数据系统的其它进程的正常运行,保证了分布式数据系统的工作效率。

进一步地,在本发明分布式数据处理方法第一实施例的基础上,提出分布式数据处理方法的第二实施例,参照图2,在第二实施例中,步骤S40之后还包括:

步骤S50,数据中心实时公布第一切片数据和第二切片数据,以供分布式数据系统的客户端访问。

数据中心实时公布数据中心保存的第一切片数据和数据节点保存的第二切片数据,以供分布式数据系统的客户端访问并下载,例如原始数据为地图缓存数据,整个地图缓存数据非常大,但是每次需要地图数据仅为地图缓存数据中的一部分,当地图缓存数据被切片为多个第一切片数据和第二切片数据保存在数据中心和不同的数据节点时,数据中心实时公布各个第一切片数据和第二切片数据,即数据中心实时公布地图缓存数据的各个切片地图数据,供用户基于分布式数据系统的客户端访问和下载所需的切片地图数据,其中数据中心存有各个切片地图数据与其所存地址的对应关系。

在本实施例中,数据中心通过实时公布第一切片数据和第二切片数据,便于用户基于分布式数据系统的客户端选择所需的一个或多个切片数据(即第一切片数据和第二切片数据),在用户确定了所需的一个或多个切片数据后,数据中心基于子切片任务的划分规则,将用户确定的切片数据还原为原始数据的对应部分,以供用户下载,从而简化了分布式数据系统与用户的交互。

进一步地,在本发明分布式数据处理方法第二实施例的基础上,提出分布式数据处理方法的第三实施例,参照图3,在第三实施例中,步骤S50之后还包括:

步骤S60,当接收到客户端发送的数据请求时,数据中心根据第一切片数据还原得到数据请求对应的目标数据;

步骤S70,若还原得到目标数据失败,则数据中心提取第二切片数据,并根据第一切片数据和第二切片数据还原得到目标数据。

当数据中心接收到分布式数据系统的客户端发送的数据请求时,即用户向数据中心提取所需的切片数据时,数据中心优先根据本端保存的第一切片数据,基于子切片任务的划分规则,将第一切片数据还原为数据请求对应的目标数据(该目标数据为原始数据的一部分),若还原成功,数据中心则将生成的目标数据发送至数据请求对应的客户端;若还原失败了,则数据中心提取数据节点保存的第二切片数据,并根据第一切片数据、第二切片数据以及子切片换份规则,还原得到原始数据中所对应的目标数据。

在本实施例中,当需求还原切片数据以获取目标数据时,首先从数据中心本端获取所需的切片数据,如果数据中心本端的第一切片数据无法还原目标数据,则可以从分布式数据系统的数据节点提取所需的切片数据(即第二切片数据),来还原得到目标数据,一方面,首先从数据中心获得还原目标数据的切片数据,保证了还原目标数据的效率,另一方面,通过将可以还原为目标数据的第一切片数据和第二切片数据分别存储于数据中心和数据节点,保证了切片数据存储的安全性。

进一步地,在本发明分布式数据处理方法第三实施例的基础上,提出分布式数据处理方法的第四实施例,参照图4,在第四实施例中,步骤S50之后还包括:

步骤S80,当分布式数据系统实时带宽大于预设带宽时,数据中心与数据节点之间进行切片数据传输。

在分布式数据系统实时带宽大于预设带宽时,即分布式数据系统实时带宽比较闲的时候,数据中心与数据节点之间可进行切片数据传输,如数据节点将不再保存第二切片数据发送至数据中心保存留底,又如分布式数据系统的客户端经常提取的第二切片数据,该第二切片数据的数据节点将该第二切片数据发送至数据中心保存,以便于客户端时常提取。

优选地,数据中心与数据节点之间进行切片数据传输的步骤为:

当提取第二切片数据的频率大于设定频率时,数据中心接收数据节点传输的第二切片数据。

当分布式数据系统的客户端向数据终端请求某一数据节点(例如数据节点A)的第二切片数据的频率大于设定频率时,即数据中心提取数据节点A的第二切片数据的频率大于设定平率时,数据中心控制数据节点将提取频率频繁的第二切片数据发送至数据中心,数据中心接收并保存数据节点A发送的第二切片数据,以方便数据中心更快速地提取该第二切片数据以生成对应的目标数据。

在本实施例中,通过在分布式数据系统的当前带宽空闲的时候,才进行数据中心和数据节点之间的切片数据传输,有效利用了分布式数据系统的带宽,避免影响分布式数据系统的其他正常业务运行,同时,通过数据中心与数据节点之间的切片数据交互传输,实现切片数据在数据中心和数据节点中合理分布。

本发明还提供一种数据中心,在数据中心第一实施例中,参照图5,该数据中心包括:

解析模块10,用于解析获取的原始数据,以获取该原始数据的数据参数;

数据中心可以包括至少一个服务器,数据中心通过服务器获取原始数据,这些原始数据可以是用户通过网络连接或本地连接上传的文件或数据包等,数据参数包括原始数据的数据量、数据类型、版本信息、是否支持切片处理等参数,数据量表示原始数据的容量大小,数据类型包括图片数据类型、文字数据类型、视频数据类型等,版本信息表示原始数据所支持的数据切片方式和版本。

任务划分模块20,用于数据中心根据数据参数和数据中心性能,将对原始数据进行切片的任务划分为多个子切片任务;

任务划分模块20根据原始数据的数据参数,判断原始数据是否支持数据切片处理,若支持数据切片处理,则继续获取数据中心在数据切片方面的性能(即在单位时间内支持多少数据量的数据切片处理)和原始数据的数据量,然后任务划分模块20根据数据中心性能和数据中心的数据量,将原始数据的切片任务划分为多个子切片任务。例如原始数据的数据量为100单位,数据中心的数据切片性能为1单位时间切片10单位的原始数据,则可以将原始数据的切片任务划分为10个子切片任务。当然,也可以综合原始数据的数据参数、数据中心性能和各数据节点性能等多方面因素,决定将原始数据的切片任务划分为多少个子切片任务,优选地,每个子切片任务的任务量相同,方便子切片任务的调度和管理。

任务分配模块30,用于将子切片任务中预设比例的外调子切片任务分配给分布式数据系统中数据中心之外的数据节点;

预设比例可根据数据中心能够承担的切片任务量(即数据中心的性能)决定,任务分配模块30将本端来不及进行切片处理的子切片任务(即外调子切片任务)分配给分布式数据系统,将本端能够处理的子切片任务(即自留子切片任务)保留下来,以供数据中心和数据节点同步对原始数据进行数据切片处理。

任务执行模块40,用于执行子切片任务中未分配的自留子切片任务,保存对应的第一切片数据,并控制数据节点执行外调子切片任务并保存对应的第二切片数据。

任务执行模块40执行自留子切片任务,实现对原始数据关于自留子切片任务部分的数据切片,得到多个第一切片数据;同时,任务执行模块40控制数据节点执行各自接收的外调切片任务,获取并保存对应的多个对应的第二切片数据,即数据中心保存的切片数据统称第一切片数据,各个数据节点保存的切片数据统称为第二切片数据,从而实现了基于分布式存储的数据切片。

在本实施例中,通过解析模块10先获取原始数据的数据参数,然后任务划分模块20根据数据参数和数据中心性能,将对原始数据的切片任务划分为多个子切片任务,任务分配模块30将预设比例的子切片任务作为外调子切片任务分配给其它数据节点,然后任务执行模块40控制数据中心和数据节点各位执行各自的子切片任务,从而数据中心获取并保存第一切片数据,数据节点获取并保存第二切片数据,从而实现数据中心和数据节点并行对原始数据进行数据切片,避免仅靠数据中心单端对超大型或海量数据量的原始数据进行数据切片,从而缩短了对原始数据进行数据切片处理的时间,避免因数据切片处理而耽误分布式数据系统的其它进程的正常运行,保证了分布式数据系统的工作效率。

进一步地,在本发明数据中心第一实施例的基础上,提出数据中心的第二实施例,参照图6,在第二实施例中,数据中心还包括:

公布模块50,用于实时公布第一切片数据和第二切片数据,以供分布式数据系统的客户端访问。

在任务执行模块40将子切片任务中预设比例的外调子切片任务分配给分布式数据系统中数据中心之外的数据节点之后,公布模块50实时公布数据中心保存的第一切片数据和数据节点保存的第二切片数据,以供分布式数据系统的客户端访问并下载,例如原始数据为地图缓存数据,整个地图缓存数据非常大,但是每次需要地图数据仅为地图缓存数据中的一部分,当地图缓存数据被切片为多个第一切片数据和第二切片数据保存在数据中心和不同的数据节点时,公布模块50实时公布各个第一切片数据和第二切片数据,即数据中心实时公布地图缓存数据的各个切片地图数据,供用户基于分布式数据系统的客户端访问和下载所需的切片地图数据,其中数据中心存有各个切片地图数据与其所存地址的对应关系。

在本实施例中,公布模块50通过实时公布第一切片数据和第二切片数据,便于用户基于分布式数据系统的客户端选择所需的一个或多个切片数据(即第一切片数据和第二切片数据),在用户确定了所需的一个或多个切片数据后,数据中心基于子切片任务的划分规则,将用户确定的切片数据还原为原始数据的对应部分,以供用户下载,从而简化了分布式数据系统与用户的交互。

进一步地,在本发明数据中心第二实施例的基础上,提出数据中心的第三实施例,参照图7,在第三实施例中,数据中心还包括:

第一还原模块60,用于当接收到客户端发送的数据请求时,根据第一切片数据还原得到数据请求对应的目标数据;

第二还原模块70,用于若还原得到目标数据失败,则提取第二切片数据,并根据第一切片数据和第二切片数据还原得到目标数据。

当数据中心接收到分布式数据系统的客户端发送的数据请求时,即用户向数据中心提取所需的切片数据时,第一还原模块60优先根据本端保存的第一切片数据,基于子切片任务的划分规则,将第一切片数据还原为数据请求对应的目标数据(该目标数据为原始数据的一部分),若还原成功,第一还原模块60则将生成的目标数据发送至数据请求对应的客户端;若还原失败了,则第二还原模块70提取数据节点保存的第二切片数据,并根据第一切片数据、第二切片数据以及子切片换份规则,还原得到原始数据中所对应的目标数据。

在本实施例中,当需求还原切片数据以获取目标数据时,首先从数据中心本端获取所需的切片数据,如果数据中心本端的第一切片数据无法还原目标数据,则可以从分布式数据系统的数据节点提取所需的切片数据(即第二切片数据),来还原得到目标数据,一方面,首先从数据中心获得还原目标数据的切片数据,保证了还原目标数据的效率,另一方面,通过将可以还原为目标数据的第一切片数据和第二切片数据分别存储于数据中心和数据节点,保证了切片数据存储的安全性。

进一步地,在本发明数据中心第三实施例的基础上,提出分布式数据处理方法的第四实施例,参照图8,在第四实施例中,数据中心还包括:

传输模块80,用于当分布式数据系统实时带宽大于预设带宽时,与数据节点之间进行切片数据传输。

在分布式数据系统实时带宽大于预设带宽时,即分布式数据系统实时带宽比较闲的时候,传输模块80控制数据中心与数据节点之间可进行切片数据传输,如数据节点将不再保存第二切片数据发送至数据中心保存留底,又如分布式数据系统的客户端经常提取的第二切片数据,该第二切片数据的数据节点将该第二切片数据发送至数据中心保存,以便于客户端时常提取。

优选地,传输模块80还用于:

当分布式数据系统实时带宽大于预设带宽时,且当提取第二切片数据的频率大于设定频率时,数据中心接收数据节点传输的第二切片数据。

当分布式数据系统的客户端向数据终端请求某一数据节点(例如数据节点A)的第二切片数据的频率大于设定频率时,即数据中心提取数据节点A的第二切片数据的频率大于设定平率时,传输模块80控制数据节点将提取频率频繁的第二切片数据发送至数据中心,传输模块80接收并保存数据节点A发送的第二切片数据,以方便数据中心更快速地提取该第二切片数据以生成对应的目标数据。

在本实施例中,通过在分布式数据系统的当前带宽空闲的时候,才进行数据中心和数据节点之间的切片数据传输,有效利用了分布式数据系统的带宽,避免影响分布式数据系统的其他正常业务运行,同时,通过数据中心与数据节点之间的切片数据交互传输,实现切片数据在数据中心和数据节点中合理分布。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例的方法。

以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1