一种分布式数据计算的任务分配方法和任务分配装置制造方法及图纸

技术编号:14688522 阅读:104 留言:0更新日期:2017-02-23 10:52
本发明专利技术公开了一种分布式数据计算的任务分配方法和任务分配装置。该任务分配方法,包括:接收分布式数据中计算的目标数据的存储参数;根据所述存储参数将所述目标数据的数据片映射到弹性分布式数据集,每个数据片分别对应所述弹性分布式数据集中的一个分区;将分区指定到存储节点生成计算任务进行计算。通过分布式数据库中的数据存储信息将计算任务分配到数据对应的存储节点,计算过程中只需调用本地内存数据,减少了多次数据转发导致的IO冗余和耗时。

【技术实现步骤摘要】

本专利技术涉及视频监控
,尤其涉及一种分布式数据计算的任务分配方法和任务分配装置
技术介绍
目前Spark中弹性分布式数据集的数据初始化方式主要有两种:直接从集合中获取数据,并存入RDD(ResilientDistributedDatasets,弹性分布式数据集)中;读取本地或者分布式文件系统(HDFS、S3等)的文本文件、sequence文件等。对于HBase中的数据,主要是通过HBase客户端拉取数据,进行转化处理后,保存到RDD中,分发到多个切片中,再通过RDD的算子进行分布式计算。这样数据需要反复走网络,造成IO冗余,增加耗时。
技术实现思路
本专利技术的目的是提供一种分布式数据计算的任务分配方法和任务分配装置,其将分布式数据库中的数据存储信息作为计算任务的参数,再将计算任务分配到数据存储信息对应的存储节点,由存储节点对计算任务中指向的数据进行计算,计算过程中只需调用本地内存数据,减少了多次数据转发导致的IO冗余和耗时。为实现上述目的,具体采用以下技术方案:一方面采用一种分布式数据计算的任务分配方法,包括:接收分布式数据中计算的目标数据的存储参数;根据所述存储参数将所述目标数据的数据片映射到弹性分布式数据集,每个数据片分别对应所述弹性分布式数据集中的一个分区;将分区指定到存储节点生成计算任务进行计算。另一方面采用一种分布式数据计算的任务分配装置,包括:目标数据确认单元,用于接收分布式数据中计算的目标数据的存储参数;目标数据映射单元,用于根据所述存储参数将所述目标数据的数据片映射到弹性分布式数据集,每个数据片分别对应所述弹性分布式数据集中的一个分区;计算任务分配单元,用于将分区指定到存储节点生成计算任务进行计算。本专利技术的有益效果在于:通过将分布式数据库中的数据存储信息作为计算任务的参数,再将计算任务分配到数据存储信息对应的存储节点,由存储节点对计算任务中指向的数据进行计算,计算过程中只需调用本地内存数据,减少了多次数据转发导致的IO冗余和耗时。附图说明图1是本专利技术具体实施方式中提供的一种分布式数据计算的任务分配方法的第一实施例的方法流程图;图2是本专利技术具体实施方式中提供的一种分布式数据计算的任务分配方法的第二实施例的方法流程图;图3是本专利技术具体实施方式中提供的一种分布式数据计算的任务分配方法的第二实施例中数据的结构示意图;图4是本专利技术具体实施方式中提供的一种分布式数据计算的任务分配方法的第二实施例中计算任务的示意图;图5是本专利技术具体实施方式中提供的一种分布式数据计算的任务分配装置的第一实施例的结构方框图;图6是本专利技术具体实施方式中提供的一种分布式数据计算的任务分配装置的第二实施例的结构方框图。具体实施方式为使本专利技术的目的、技术方案和优点更加清楚明了,下面结合具体实施方式并参照附图,对本专利技术进一步详细说明。应该理解,这些描述只是示例性的,而并非要限制本专利技术的范围。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本专利技术的概念。请参考图1,其是本专利技术具体实施方式中提供的一种分布式数据计算的任务分配方法的第一实施例的方法流程图。本实施例中的任务分配方法,主要用于分布式数据库中对大量数据进行并行计算,提高计算效率。如图所示,该任务分配方法,包括:步骤S101:接收分布式数据中计算的目标数据的存储参数。分布式数据库的基本思想是将原来集中式数据库中的数据分散存储到多个通过网络连接的数据存储节点上,以获取更大的存储容量和更高的并发访问量。分布式数据库系统通常使用较小的计算机系统,每台计算机可单独放在一个地方,每台计算机中都可能有DBMS的一份完整拷贝副本,或者部分拷贝副本,并具有自己局部的数据库,位于不同地点的许多计算机通过网络互相连接,共同组成一个完整的、全局的逻辑上集中、物理上分布的大型数据库。分布式数据中计算的目标数据只是一个存储节点其中的一个或多个数据表,具体到数据表中的一段数据。在进行任务分配时,进行任务分配的节点只需要读取待处理的数据在数据表中的起始位置即可,不需要将所有的数据集中到本节点。如果将所有的数据本身集中到一个节点,可能需要几TB的数据传输量,如果仅仅将目标数据的存储参数集中,可能只需要不超过5M的数据传输量,免除了数据集中时大量的数据传输。步骤S102:根据所述存储参数将所述目标数据的数据片映射到弹性分布式数据集,每个数据片分别对应所述弹性分布式数据集中的一个分区。一般而言,需要处理的数据在数据表中是一段连续的记录,这一段连续的记录分属于不同的存储节点,为方便数据处理,免除数据传输。在分布式数据库中,每一个数据片中的数据都是位于同一存储节点。在本方案中,即以数据片为基本的数据单位进行处理。步骤S103:将分区指定到存储节点生成计算任务进行计算。在将计算任务发送到存储节点进行处理时,并不是如现有技术中,将需要处理的数据随机派发到存储节点,而是根据存储信息发送到数据片对应的存储节点,并且发送的内容也不是大量的数据本身,而是数据的相关存储参数,各个存储节点在接收到计算任务之后,根据数据片所在的目标表的表名、数据片的起始和终止位置读取数据,根据计算方式执行计算任务。整个计算过程中,所有的数据都相当于从本地读取,减少了数据IO冗余,避免了由此导致的耗时。综上所述,通过将分布式数据库中的数据存储信息作为计算任务的参数,再将计算任务分配到数据存储信息对应的存储节点,由存储节点对计算任务中指向的数据进行计算,计算过程中只需调用本地内存数据,减少了多次数据转发导致的IO冗余和耗时。请参考图2,其是专利技术具体实施方式中提供的一种分布式数据计算的任务分配方法的第二实施例的方法流程图,如图所示,该方法包括:步骤S201:接收分布式数据中计算的目标数据的存储参数。所述分布式数据的数据库为HBase。HBase是一个分布式的、面向列的开源数据库,HBase不同于一般的关系数据库,它是一个适合于非结构化数据存储的数据库;另一个不同的是HBase基于列的而不是基于行的模式。本实施例中基于HBase的方案,相当于自定义弹性数据集,根据HBase的数据分区规则与用户输入的目标数据范围划分弹性数据集,将HBase数据表的数据片映射到弹性数据集的分区,指定分区数据的处理节点。实现在使用并行计算框架(例如Spark)分布式计算HBase表数据时,Spark的工作节点中的任务所处理的数据均是本节点内存中的HBase数据,最终实现针对HBase数据的分布式内存并行计算。步骤S202:根据所述存储参数判断所述数据片中的数据是否全部属于目标数据。在分布式数据库中,随着数据表中记录的不断增加,数据表会分裂成多个数据片,每个数据片中对应的数据存储到一个存储节点。具体到HBase中,当数据表随着记录数不断增加而变大后,会逐渐分裂成多份regions,一个region由[startkey,endkey)表示,其中startkey和endkey分别表示region的起始位置和终止位置;不同的region会被Master分配给相应的RegionServer进行管理,存储信息相当于RegionServer的信息。在本方案中,目标数据至少与两个数据片相关联,如果所有的目标数据本文档来自技高网...
一种分布式数据计算的任务分配方法和任务分配装置

【技术保护点】
一种分布式数据计算的任务分配方法,其特征在于,包括:接收分布式数据中计算的目标数据的存储参数;根据所述存储参数将所述目标数据的数据片映射到弹性分布式数据集,每个数据片分别对应所述弹性分布式数据集中的一个分区;将分区指定到存储节点生成计算任务进行计算。

【技术特征摘要】
1.一种分布式数据计算的任务分配方法,其特征在于,包括:接收分布式数据中计算的目标数据的存储参数;根据所述存储参数将所述目标数据的数据片映射到弹性分布式数据集,每个数据片分别对应所述弹性分布式数据集中的一个分区;将分区指定到存储节点生成计算任务进行计算。2.根据权利要求1所述的一种分布式数据计算的任务分配方法,其特征在于,所述根据所述存储参数将所述目标数据的数据片映射到弹性分布式数据集,每个数据片分别对应所述弹性分布式数据集中的一个分区,包括:根据所述存储参数判断所述数据片中的数据是否全部属于目标数据;若所述数据片中的数据全部属于目标数据,将该数据片映射到弹性分布式数据集的一个分区;若所述数据片中的数据不是全部属于目标数据,将该数据片中属于目标数据的部分映射到弹性分布式数据集的一个分区。3.根据权利要求1所述的一种分布式数据计算的任务分配方法,其特征在于,所述将分区指定到存储节点生成计算任务进行计算,包括:将分区指定到该分区对应的数据片所在的存储节点;调用转化算子,在所述存储节点根据分区的数据生成计算任务;调用行动算子对所述计算任务进行计算。4.根据权利要求3所述的一种分布式数据计算的任务分配方法,其特征在于,所述将分区指定到存储节点生成计算任务进行计算之后,还包括:接收存储节点返回的计算任务的处理结果。5.根据权利要求1所述的一种分布式数据计算的任务分配方法,其特征在于,所述分布式数据的数据库为HBase。6.一种分布式数据计算的...

【专利技术属性】
技术研发人员:刘志辉
申请(专利权)人:杭州海康威视系统技术有限公司
类型:发明
国别省市:浙江;33

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

1