CN106095832B - 分布式并行数据处理方法以及装置 - Google Patents
分布式并行数据处理方法以及装置 Download PDFInfo
- Publication number
- CN106095832B CN106095832B CN201610383167.XA CN201610383167A CN106095832B CN 106095832 B CN106095832 B CN 106095832B CN 201610383167 A CN201610383167 A CN 201610383167A CN 106095832 B CN106095832 B CN 106095832B
- Authority
- CN
- China
- Prior art keywords
- distributed
- slice
- distributed node
- indexes
- node
- 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.)
- Active
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 23
- 238000012545 processing Methods 0.000 claims abstract description 135
- 238000000034 method Methods 0.000 claims abstract description 45
- 230000008569 process Effects 0.000 claims description 26
- 238000001514 detection method Methods 0.000 claims description 9
- 230000007246 mechanism Effects 0.000 claims description 5
- 238000012935 Averaging Methods 0.000 claims description 2
- 238000010586 diagram Methods 0.000 description 10
- 230000006870 function Effects 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 230000002035 prolonged effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multi Processors (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本发明公开了一种分布式并行数据处理方法以及装置。其中方法包括:接收待处理数据,并将待处理数据切割为多个切片索引;将多个切片索引存储至多个缓存池中;针对每个缓存池,为每个缓存池分配至少两个分布式节点;控制至少两个分布式节点依次从对应的缓存池中读取切片索引,并对读取到的切片索引执行处理。该方法可以大大降低数据的整体处理时间,提高处理效率,并在保障可以存储更多信息的同时,还可以减少锁的开销,提升了数据的读取速度,以及还可以充分利用计算机的资源和性能。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种分布式并行数据处理方法以及装置。
背景技术
当前,随着计算机技术的发展,计算机等设备需要处理的数据的数量也越来越大。目前,可以通过多台计算机等设备进行数据量较大的数据的并行处理。一般情况下,在进行数据量较大的数据的快速处理时,需要应用到分布式并行数据处理系统。分布式并行数据处理系统是一种将不同地点的、具有不同功能的或拥有不同数据的多台计算机用通信网络连接起来,通过统一管理控制下,协调地完成信息处理任务的计算机系统。
相关技术中,分布式并行数据处理系统一般是对接收到的待处理数据,并将该待处理数据切割成与分布式节点的个数相同的数据片,并控制各个分布式节点对对应的数据片进行一对一的处理,即每一个分布式节点启动多线程对对应的数据片进行并发同步。
但是,目前存在的问题是,上述分布式并行数据处理系统对待处理数据切割所得到的数据片较大,很难保证各个分布式节点能在相近的时间内完成,从而加大整体处理时间,导致系统运行时间超长;同时,为了提升单机处理性能,采用多读线程多写线程进行数据处理,中间数据存放在缓存中,一旦读写线程数量较多,就会出现部分线程处于等待的情况,即锁开销较大,从而造成系统性能损耗。
发明内容
本发明的目的旨在至少在一定程度上解决相关技术中的技术问题之一。
为此,本发明的第一个目的在于提出一种分布式并行数据处理方法。该方法可以大大降低数据的整体处理时间,提高处理效率,并在保障可以存储更多信息的同时,还可以减少锁的开销,提升了数据的读取速度,以及还可以充分利用计算机的资源和性能。
本发明的第二个目的在于提出一种分布式并行数据处理装置。
本发明的第三个目的在于提出一种分布式节点设备。
为达上述目的,本发明第一方面实施例的分布式并行数据处理方法,包括:接收待处理数据,并将所述待处理数据切割为多个切片索引;将所述多个切片索引存储至多个缓存池中;针对每个缓存池,为所述每个缓存池分配至少两个分布式节点;控制所述至少两个分布式节点依次从对应的缓存池中读取切片索引,并对所述读取到的切片索引执行处理。
根据本发明实施例的分布式并行数据处理方法,可接收待处理数据,并将待处理数据切割为多个切片索引,之后,可将多个切片索引存储至多个缓存池中,并针对每个缓存池,为每个缓存池分配至少两个分布式节点,最后,控制至少两个分布式节点依次从对应的缓存池中读取切片索引,并对读取到的切片索引执行处理。至少具有以下优点:(1)通过将待处理数据切割成若干个小切片索引以保证每个切片索引在目标处理时间(如30秒)内被处理完成,大大降低了数据的整体处理时间,提高了处理效率;(2)通过将切片索引进行多缓存存储,在保障可以存储更多信息的同时,还可以减少锁的开销,提升了数据的读取速度;(3)通过为每个缓存池分配至少两个分布式节点,使得每个分布式节点可以尽可能多的启动线程来处理缓存池的切片索引,从而充分利用了计算机的资源和性能。
为达上述目的,本发明第二方面实施例的分布式并行数据处理装置,包括:接收模块,用于接收待处理数据;切割模块,用于将所述待处理数据切割为多个切片索引;存储模块,用于将所述多个切片索引存储至多个缓存池中;分配模块,用于针对每个缓存池,为所述每个缓存池分配至少两个分布式节点;控制模块,用于控制所述至少两个分布式节点依次从对应的缓存池中读取切片索引,并对所述读取到的切片索引执行处理。
根据本发明实施例的分布式并行数据处理装置,可通过接收模块接收待处理数据,切割模块将待处理数据切割为多个切片索引,存储模块将多个切片索引存储至多个缓存池中,分配模块针对每个缓存池,为每个缓存池分配至少两个分布式节点,控制模块控制至少两个分布式节点依次从对应的缓存池中读取切片索引,并对读取到的切片索引执行处理。至少具有以下优点:(1)通过将待处理数据切割成若干个小切片索引以保证每个切片索引在目标处理时间(如30秒)内被处理完成,大大降低了数据的整体处理时间,提高了处理效率;(2)通过将切片索引进行多缓存存储,在保障可以存储更多信息的同时,还可以减少锁的开销,提升了数据的读取速度;(3)通过为每个缓存池分配至少两个分布式节点,使得每个分布式节点可以尽可能多的启动线程来处理缓存池的切片索引,从而充分利用了计算机的资源和性能。
为达上述目的,本发明第三方面实施例的分布式节点设备,包括:本发明第二方面实施例的分布式并行数据处理装置。
根据本发明实施例的分布式节点设备,可通过处理装置中的接收模块接收待处理数据,切割模块将待处理数据切割为多个切片索引,存储模块将多个切片索引存储至多个缓存池中,分配模块针对每个缓存池,为每个缓存池分配至少两个分布式节点,控制模块控制至少两个分布式节点依次从对应的缓存池中读取切片索引,并对读取到的切片索引执行处理。至少具有以下优点:(1)通过将待处理数据切割成若干个小切片索引以保证每个切片索引在目标处理时间(如30秒)内被处理完成,大大降低了数据的整体处理时间,提高了处理效率;(2)通过将切片索引进行多缓存存储,在保障可以存储更多信息的同时,还可以减少锁的开销,提升了数据的读取速度;(3)通过为每个缓存池分配至少两个分布式节点,使得每个分布式节点可以尽可能多的启动线程来处理缓存池的切片索引,从而充分利用了计算机的资源和性能。
本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中,
图1是根据本发明一个实施例的分布式并行数据处理方法的流程图;
图2是根据本发明一个实施例的分布式节点与缓存池之间关系的示意图;
图3是根据本发明如图1所示实施例的对各个分布式节点进行宕机检测的流程图;
图4是根据本发明一个实施例的分布式并行数据处理装置的结构框图;
图5是根据本发明一个实施例的切割模块的结构框图;
图6是根据本发明一个具体实施例的分布式并行数据处理装置的结构框图;
图7是根据本发明另一个具体实施例的分布式并行数据处理装置的结构框图;
图8是根据本发明一个实施例的均等分配模块的结构框图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。
下面参考附图描述本发明实施例的分布式并行数据处理方法、装置以及分布式节点设备。
图1是根据本发明一个实施例的分布式并行数据处理方法的流程图。需要说明的是,本发明实施例的分布式并行数据处理方法可应用于分布式并行数据处理系统中,该分布式并行数据处理系统可由多个分布式节点组成,该多个分布式节点中的一个目标分布式节点为控制节点,其余分布式节点可为处理节点,本发明实施例的分布式并行数据处理方法可从控制节点侧进行描述。
如图1所示,该分布式并行数据处理方法可以包括:
S110,接收待处理数据,并将待处理数据切割为多个切片索引。
具体而言,在本发明的一个实施例中,可先扫描预处理数据以接收待处理数据,之后,可获取每个分布式节点中每个CPU的处理能力,并确定每个切片索引的目标处理时间,然后,根据每个CPU的处理能力以及每个切片索引的目标处理时间确定每个切片索引的大小,最后,根据每个切片索引的大小将待处理数据切割为多个切片索引。其中,在本发明的实施例中,该每个切片索引的目标处理时间可理解为该每个切片索引在该目标处理时间内被处理完成,该目标处理时间可以是根据实际情况来设定,如可根据用户需求、或系统需求等来限定,例如,该目标处理时间可为30秒。
更具体地,在接收到待处理数据之后,可先获取各个分布式节点中一个CPU的处理能力,并可确定每个切片索引的目标处理时间,如30秒,之后,可根据每个CPU的处理能力以及每个切片索引的目标处理时间确定每个切片索引的大小,最后,根据每个切片索引的大小将待处理数据切割成若干个小切片索引,由此,可以保证每个切片索引在目标处理时间(如30秒)内被处理完成。
S120,将多个切片索引存储至多个缓存池中。
例如,可将多个切片索引平均存储至多个缓存池中,即每个缓存池中所存储的切片索引的个数基本相同。
S130,针对每个缓存池,为每个缓存池分配至少两个分布式节点。
具体地,可为每个缓存池分配至少两个分布式节点使用,即可通过至少两个分布式节点来对一个缓存池中的切片索引进行读取处理。举例而言,以4个缓存池、8个分布式节点为例,如图2所示,为每个缓存池分配两个分布式节点,即每两个分布式节点对应一个缓存池,例如,节点1和节点2对应缓存池1、节点3和节点4对应缓存池2、节点5和节点6对应缓存池3、节点7和节点8对应缓存池4,即每两个分布式节点对其对应的缓存池中的切片索引进行读取并执行处理。
S140,控制至少两个分布式节点依次从对应的缓存池中读取切片索引,并对读取到的切片索引执行处理。
具体而言,在本发明的实施例中,可控制至少两个分布式节点分别逐渐启动线程,并依靠锁机制依次从对应的缓存池中读取切片索引,并对读取到的切片索引执行处理。
也就是说,针对各个缓存池,可控制该各个缓存池所对应的至少两个分布式节点分别逐渐启动线程从该缓存池中读取切片索引并执行处理。例如,假设某个缓存池被分配分布式节点1和分布式节点2,当分布式节点1启动线程从该缓存池中读取切片索引时,通过锁机制锁定该缓存池,以确保此时分布式节点2不能从缓存池中读取切片索引,由此,通过锁机制可以解决多线程同步的问题。
为了提高可用性和可行性,以及提高处理性能,进一步地,在本发明的一个实施例中,在至少两个分布式节点从对应的缓存池中读取切片索引并执行处理的过程中,该方法还可包括:针对各个分布式节点,检测各个分布式节点中是否存在硬件资源使用率超过预设阈值的第一分布式节点;如果各个分布式节点中存在硬件资源使用率超过预设阈值的第一分布式节点,则暂停第一分布式节点增加线程,直至第一分布式节点的硬件资源使用率小于预设阈值时,控制第一分布式节点继续增加线程。其中,在本发明的实施例中,上述预设阈值可为75%。
具体地,针对每个缓存池,在至少两个分布式节点从对应的缓存池中读取切片索引并执行处理的过程中,可对所有的分布式节点的硬件资源使用率进行检测,以检测各个分布式节点的硬件资源使用率是否超过预设阈值,当检测到各个分布式节点中存在硬件资源使用率超过该预设阈值的第一分布式节点时,可控制该第一分布式节点不再启动并增加线程,直到该第一分布式节点的硬件资源使用率小于该预设阈值时,才控制该第一分布式节点继续增加线程。由此,在保证缓存池中切片索引能够被快速读取的同时,还保障每个分布式节点的处理性能保持在正常状态。
为了提高可用性和可行性,以及提高处理性能和处理效率,进一步地,在本发明的一个实施例中,在至少两个分布式节点从对应的缓存池中读取切片索引并执行处理的过程中,如图3所示,该方法还可包括:
S310,针对各个分布式节点,周期性地检测各个分布式节点中是否存在宕机的第二分布式节点。
具体地,针对每个缓存池,在至少两个分布式节点从对应的缓存池中读取切片索引并执行处理的过程中,可定时对所有的分布式节点进行宕机检测,以检测这些所有分布式节点中是否存在发生宕机情况的第二分布式节点。其中,该第二分布式节点的个数可为至少一个,例如,假设该第二分布式节点的个数为两个时,这两个第二分布式节点可以是对应同一个缓存池,即缓存池所对应的两个分布式节点均发生宕机,或者,这两个分布式节点可以是对应两个不同的缓存池,即两个缓存池所对应的两个分布式节点中各有一个分布式节点发生宕机。
S320,如果各个分布式节点中存在宕机的第二分布式节点,则确定第二分布式节点所对应的缓存池,并确定各个分布式节点中当前未发生宕机的第三分布式节点。
具体地,当检测到存在宕机的第二分布式节点时,可确定该第二分布式节点所对应的缓存池,并确定这些所有分布式节点中当前尚未发生宕机情况的第三分布式节点。其中,该第三分布式节点的个数可以是多个。
S330,获取第二分布式节点所对应的缓存池中的剩余切片索引,并将剩余切片索引进行加权均等分配至第三分布式节点所对应的缓存池中。
具体而言,在本发明的实施例中,可先获取发生宕机的第二分布式节点所对应的缓存池中的当前剩余切片索引,之后,可对第三分布式节点所对应的缓存池中的切片索引的个数进行加权求平均,以获得各个分布式节点针对切片索引的处理能力,然后,根据各个分布式节点针对切片索引的处理能力,将剩余切片索引均等平分为多份,其中,均等平分剩余切片索引的份数与第三分布式节点的个数相同,最后,针对每份均等平分后的剩余切片索引,将每份均等平分后的剩余切片索引分配至第三分布式节点所对应的缓存池中。
举例而言,可获取当前尚未发生宕机的第三分布式节点所对应的缓存池中的当前切片索引的个数,并根据该缓存池所包含的切片索引的总个数、以及该当前切片索引的个数,计算得到每个分布式节点针对切片索引的处理能力,即每个分布式节点处理切片索引的平均数,之后,可根据该平均数将第二分布式节点所对应的缓存池中的当前剩余切片索引均等平分成多份,最后,将每份均等平分后的剩余切片索引分配到第三分布式节点所对应的缓存池中。
例如,以上述图2所示的缓存池与分布式节点之间关系的示例图为例,假设检测到缓存池1中的节点2发生宕机,此时,可获取其余尚未发生宕机的7个节点所对应的缓存池中的切片索引的个数,以计算得到每个分布式节点针对切片索引的处理能力,如每个分布式节点平均可以处理10万的切片索引,此时,可将缓存池1的当前剩余切片索引均等平分成7份,并将该7份切片索引对应的分配到响应的节点所对应的缓存池中,如缓存池1中被分配了1份切片索引,缓存池2、缓存池3和缓存池4中各被分配了2份切片索引。由此,在存储分布式节点发生宕机时,将该宕机分布式节点所对应的缓存池中的切片索引进行加权分配,可以避免宕机缓存池中的处理速度影响整体处理时间,提高了处理效率。
根据本发明实施例的分布式并行数据处理方法,可接收待处理数据,并将待处理数据切割为多个切片索引,之后,可将多个切片索引存储至多个缓存池中,并针对每个缓存池,为每个缓存池分配至少两个分布式节点,最后,控制至少两个分布式节点依次从对应的缓存池中读取切片索引,并对读取到的切片索引执行处理。至少具有以下优点:(1)通过将待处理数据切割成若干个小切片索引以保证每个切片索引在目标处理时间(如30秒)内被处理完成,大大降低了数据的整体处理时间,提高了处理效率;(2)通过将切片索引进行多缓存存储,在保障可以存储更多信息的同时,还可以减少锁的开销,提升了数据的读取速度;(3)通过为每个缓存池分配至少两个分布式节点,使得每个分布式节点可以尽可能多的启动线程来处理缓存池的切片索引,从而充分利用了计算机的资源和性能。
可以理解,本发明实施例的分布式并行数据处理方法可应用于数据采集场景中,即通过本发明实施例的分布式并行数据处理方法将待采集的数据切割成若干个小切片索引,并将这些切片索引进行多缓存存储,并为每个缓存池分配至少两个分布式节点,并控制各个分布式节点逐渐启动线程依次从对应的缓存池中读取切片索引并执行处理,以完成数据的采集过程,可以大大提升数据整体采集的性能,提高数据采集效率等。
与上述几种实施例提供的分布式并行数据处理方法相对应,本发明的一种实施例还提供一种分布式并行数据处理装置,由于本发明实施例提供的分布式并行数据处理装置与上述几种实施例提供的分布式并行数据处理方法相对应,因此在前述分布式并行数据处理方法的实施方式也适用于本实施例提供的分布式并行数据处理装置,在本实施例中不再详细描述。图4是根据本发明一个实施例的分布式并行数据处理装置的结构框图。需要说明的是,本发明实施例的分布式并行数据处理装置可被配置于分布式节点上。
如图4所示,该分布式并行数据处理装置可以包括:接收模块100、切割模块200、存储模块300、分配模块400和控制模块500。
具体地,接收模块100可用于接收待处理数据。
切割模块200可用于将待处理数据切割为多个切片索引。
具体而言,在本发明的一个实施例中,如图5所示,该切割模块200可包括:获取单元210、第一确定单元220、第二确定单元230和切割单元240。
其中,获取单元210可用于获取每个分布式节点中每个CPU的处理能力。第一确定单元220可用于确定每个切片索引的目标处理时间。第二确定单元230可用于根据每个CPU的处理能力以及每个切片索引的目标处理时间确定每个切片索引的大小。切割单元240可用于根据每个切片索引的大小将待处理数据切割为多个切片索引。其中,在本发明的实施例中,该每个切片索引的目标处理时间可理解为该每个切片索引在该目标处理时间内被处理完成,该目标处理时间可以是根据实际情况来设定,如可根据用户需求、或系统需求等来限定,例如,该目标处理时间可为30秒。由此,可以保证每个切片索引在目标处理时间(如30秒)内被处理完成。
存储模块300可用于将多个切片索引存储至多个缓存池中。
分配模块400可用于针对每个缓存池,为每个缓存池分配至少两个分布式节点。
控制模块500可用于控制至少两个分布式节点依次从对应的缓存池中读取切片索引,并对读取到的切片索引执行处理。具体而言,在本发明的实施例中,控制模块500可控制至少两个分布式节点分别逐渐启动线程,并依靠锁机制依次从对应的缓存池中读取切片索引,并对读取到的切片索引执行处理。
为了提高可用性和可行性,以及提高处理性能,进一步地,在本发明的一个实施例中,如图6所示,该分布式并行数据处理装置还可包括第一检测模块600,第一检测模块600可用于在控制模块500控制至少两个分布式节点从对应的缓存池中读取切片索引并执行处理的过程中,针对各个分布式节点,检测各个分布式节点中是否存在硬件资源使用率超过预设阈值的第一分布式节点。其中,在本发明的实施例中,控制模块500还可用于在第一检测模块600检测各个分布式节点中存在硬件资源使用率超过预设阈值的第一分布式节点时,暂停第一分布式节点增加线程,直至第一分布式节点的硬件资源使用率小于预设阈值时,控制第一分布式节点继续增加线程。由此,在保证缓存池中切片索引能够被快速读取的同时,还保障每个分布式节点的处理性能保持在正常状态。
为了提高可用性和可行性,以及提高处理性能和处理效率,进一步地,在本发明的一个实施例中,如图7所示,该分布式并行数据处理装置还可包括:第二检测模块700、确定模块800、获取模块900和均等分配模块1000。
其中,第二检测模块700可用于在控制模块500控制至少两个分布式节点从对应的缓存池中读取切片索引并执行处理的过程中,针对各个分布式节点,周期性地检测各个分布式节点中是否存在宕机的第二分布式节点。
确定模块800可用于在第二检测模块700检测各个分布式节点中存在宕机的第二分布式节点时,确定第二分布式节点所对应的缓存池,并确定各个分布式节点中当前未发生宕机的第三分布式节点。
获取模块900可用于获取第二分布式节点所对应的缓存池中的剩余切片索引。
均等分配模块1000可用于将剩余切片索引进行加权均等分配至第三分布式节点所对应的缓存池中。
具体而言,在本发明的一个实施例中,如图8所示,该均等分配模块1000可包括:获取单元1010、均等平分单元1020和分配单元1030。
其中,获取单元1010可用于对第三分布式节点所对应的缓存池中的切片索引的个数进行加权求平均,以获得各个分布式节点针对切片索引的处理能力。均等平分单元1020可用于根据各个分布式节点针对切片索引的处理能力,将剩余切片索引均等平分为多份,其中,均等平分剩余切片索引的份数与第三分布式节点的个数相同。分配单元1030可用于针对每份均等平分后的剩余切片索引,将每份均等平分后的剩余切片索引分配至第三分布式节点所对应的缓存池中。由此,在存储分布式节点发生宕机时,将该宕机分布式节点所对应的缓存池中的切片索引进行加权分配,可以避免宕机缓存池中的处理速度影响整体处理时间,提高了处理效率。
根据本发明实施例的分布式并行数据处理装置,可通过接收模块接收待处理数据,切割模块将待处理数据切割为多个切片索引,存储模块将多个切片索引存储至多个缓存池中,分配模块针对每个缓存池,为每个缓存池分配至少两个分布式节点,控制模块控制至少两个分布式节点依次从对应的缓存池中读取切片索引,并对读取到的切片索引执行处理。至少具有以下优点:(1)通过将待处理数据切割成若干个小切片索引以保证每个切片索引在目标处理时间(如30秒)内被处理完成,大大降低了数据的整体处理时间,提高了处理效率;(2)通过将切片索引进行多缓存存储,在保障可以存储更多信息的同时,还可以减少锁的开销,提升了数据的读取速度;(3)通过为每个缓存池分配至少两个分布式节点,使得每个分布式节点可以尽可能多的启动线程来处理缓存池的切片索引,从而充分利用了计算机的资源和性能。
为了实现上述实施例,本发明还提出了一种分布式节点设备,包括:本发明上述任一个实施例所述的分布式并行数据处理装置。
根据本发明实施例的分布式节点设备,可通过处理装置中的接收模块接收待处理数据,切割模块将待处理数据切割为多个切片索引,存储模块将多个切片索引存储至多个缓存池中,分配模块针对每个缓存池,为每个缓存池分配至少两个分布式节点,控制模块控制至少两个分布式节点依次从对应的缓存池中读取切片索引,并对读取到的切片索引执行处理。至少具有以下优点:(1)通过将待处理数据切割成若干个小切片索引以保证每个切片索引在目标处理时间(如30秒)内被处理完成,大大降低了数据的整体处理时间,提高了处理效率;(2)通过将切片索引进行多缓存存储,在保障可以存储更多信息的同时,还可以减少锁的开销,提升了数据的读取速度;(3)通过为每个缓存池分配至少两个分布式节点,使得每个分布式节点可以尽可能多的启动线程来处理缓存池的切片索引,从而充分利用了计算机的资源和性能。
在本发明的描述中,需要理解的是,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,"计算机可读介质"可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
上述提到的存储介质可以是只读存储器,磁盘或光盘等。尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。
Claims (8)
1.一种分布式并行数据处理方法,其特征在于,包括以下步骤:
接收待处理数据,并将所述待处理数据切割为多个切片索引;
将所述多个切片索引存储至多个缓存池中;
针对每个缓存池,为所述每个缓存池分配至少两个分布式节点;
控制所述至少两个分布式节点依次从对应的缓存池中读取切片索引,并对所述读取到的切片索引执行处理;
在所述至少两个分布式节点从所述对应的缓存池中读取切片索引并执行处理的过程中,所述方法还包括:
针对各个分布式节点,周期性地检测所述各个分布式节点中是否存在宕机的第二分布式节点;
如果所述各个分布式节点中存在宕机的第二分布式节点,则确定所述第二分布式节点所对应的缓存池,并确定所述各个分布式节点中当前未发生宕机的第三分布式节点;
获取所述第二分布式节点所对应的缓存池中的剩余切片索引,并将所述剩余切片索引进行加权均等分配至所述第三分布式节点所对应的缓存池中。
2.如权利要求1所述的分布式并行数据处理方法,其特征在于,所述将所述待处理数据切割为多个切片索引,包括:
获取每个分布式节点中每个CPU的处理能力;
确定所述每个切片索引的目标处理时间;
根据所述每个CPU的处理能力以及所述每个切片索引的目标处理时间确定所述每个切片索引的大小;
根据所述每个切片索引的大小将所述待处理数据切割为所述多个切片索引。
3.如权利要求1所述的分布式并行数据处理方法,其特征在于,控制所述至少两个分布式节点依次从对应的缓存池中读取切片索引,并对所述读取到的切片索引执行处理,包括:
控制所述至少两个分布式节点分别逐渐启动线程,并依靠锁机制依次从对应的缓存池中读取切片索引,并对所述读取到的切片索引执行处理。
4.如权利要求1至3中任一项所述的分布式并行数据处理方法,其特征在于,在所述至少两个分布式节点从所述对应的缓存池中读取切片索引并执行处理的过程中,所述方法还包括:
针对各个分布式节点,检测所述各个分布式节点中是否存在硬件资源使用率超过预设阈值的第一分布式节点;
如果所述各个分布式节点中存在硬件资源使用率超过预设阈值的第一分布式节点,则暂停所述第一分布式节点增加线程,直至所述第一分布式节点的硬件资源使用率小于所述预设阈值时,控制所述第一分布式节点继续增加线程。
5.如权利要求1所述的分布式并行数据处理方法,其特征在于,所述将所述剩余切片索引进行加权均等分配至所述第三分布式节点所对应的缓存池中,包括:
对所述第三分布式节点所对应的缓存池中的切片索引的个数进行加权求平均,以获得所述各个分布式节点针对切片索引的处理能力;
根据所述各个分布式节点针对切片索引的处理能力,将所述剩余切片索引均等平分为多份,其中,所述均等平分所述剩余切片索引的份数与所述第三分布式节点的个数相同;
针对每份均等平分后的剩余切片索引,将所述每份均等平分后的剩余切片索引分配至所述第三分布式节点所对应的缓存池中。
6.一种分布式并行数据处理装置,其特征在于,包括:
接收模块,用于接收待处理数据;
切割模块,用于将所述待处理数据切割为多个切片索引;
存储模块,用于将所述多个切片索引存储至多个缓存池中;
分配模块,用于针对每个缓存池,为所述每个缓存池分配至少两个分布式节点;
控制模块,用于控制所述至少两个分布式节点依次从对应的缓存池中读取切片索引,并对所述读取到的切片索引执行处理;
第二检测模块,用于在所述控制模块控制所述至少两个分布式节点从所述对应的缓存池中读取切片索引并执行处理的过程中,针对各个分布式节点,周期性地检测所述各个分布式节点中是否存在宕机的第二分布式节点;
确定模块,用于在所述第二检测模块检测所述各个分布式节点中存在宕机的第二分布式节点时,确定所述第二分布式节点所对应的缓存池,并确定所述各个分布式节点中当前未发生宕机的第三分布式节点;
获取模块,用于获取所述第二分布式节点所对应的缓存池中的剩余切片索引;
均等分配模块,用于将所述剩余切片索引进行加权均等分配至所述第三分布式节点所对应的缓存池中。
7.如权利要求6所述的分布式并行数据处理装置,其特征在于,所述切割模块包括:
获取单元,用于获取每个分布式节点中每个CPU的处理能力;
第一确定单元,用于确定所述每个切片索引的目标处理时间;
第二确定单元,用于根据所述每个CPU的处理能力以及所述每个切片索引的目标处理时间确定所述每个切片索引的大小;
切割单元,用于根据所述每个切片索引的大小将所述待处理数据切割为所述多个切片索引。
8.如权利要求6所述的分布式并行数据处理装置,其特征在于,还包括:
第一检测模块,用于在所述控制模块控制所述至少两个分布式节点从所述对应的缓存池中读取切片索引并执行处理的过程中,针对各个分布式节点,检测所述各个分布式节点中是否存在硬件资源使用率超过预设阈值的第一分布式节点;其中,
所述控制模块还用于在所述第一检测模块检测所述各个分布式节点中存在硬件资源使用率超过预设阈值的第一分布式节点时,暂停所述第一分布式节点增加线程,直至所述第一分布式节点的硬件资源使用率小于所述预设阈值时,控制所述第一分布式节点继续增加线程。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610383167.XA CN106095832B (zh) | 2016-06-01 | 2016-06-01 | 分布式并行数据处理方法以及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610383167.XA CN106095832B (zh) | 2016-06-01 | 2016-06-01 | 分布式并行数据处理方法以及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106095832A CN106095832A (zh) | 2016-11-09 |
CN106095832B true CN106095832B (zh) | 2020-02-18 |
Family
ID=57446981
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610383167.XA Active CN106095832B (zh) | 2016-06-01 | 2016-06-01 | 分布式并行数据处理方法以及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106095832B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106649140A (zh) * | 2016-12-29 | 2017-05-10 | 深圳前海弘稼科技有限公司 | 一种数据处理方法、装置及系统 |
CN108089136B (zh) * | 2017-12-28 | 2020-02-11 | 上海神力科技有限公司 | 一种燃料电池电堆极化曲线测试数据自动切片方法 |
CN109117189B (zh) * | 2018-07-02 | 2021-06-08 | 杭州振牛信息科技有限公司 | 数据处理方法、装置及计算机设备 |
CN109032796B (zh) * | 2018-07-18 | 2020-12-22 | 北京京东金融科技控股有限公司 | 一种数据处理方法和装置 |
CN110837414B (zh) * | 2018-08-15 | 2024-04-12 | 京东科技控股股份有限公司 | 任务处理方法和装置 |
CN113282242B (zh) * | 2021-05-31 | 2022-09-20 | 杭州海康存储科技有限公司 | 分布式存储方法、装置、设备及计算机可读存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102129472A (zh) * | 2011-04-14 | 2011-07-20 | 上海红神信息技术有限公司 | 面向语义搜索引擎的高效混合存储结构的构建方法 |
CN103716381A (zh) * | 2013-12-12 | 2014-04-09 | 华为技术有限公司 | 一种分布式系统的控制方法,及管理节点 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102332004B (zh) * | 2011-07-29 | 2013-04-24 | 中国科学院计算技术研究所 | 用于海量数据管理的数据处理方法和系统 |
CN102314506B (zh) * | 2011-09-07 | 2015-09-09 | 北京人大金仓信息技术股份有限公司 | 基于动态索引的分布式缓冲区管理方法 |
CN102404207B (zh) * | 2011-11-04 | 2018-02-09 | 中兴通讯股份有限公司 | 一种以太网数据的处理方法及装置 |
CN102497322A (zh) * | 2011-12-19 | 2012-06-13 | 曙光信息产业(北京)有限公司 | 一种基于分流网卡和多核cpu实现的高速包过滤设备和方法 |
CN102624922B (zh) * | 2012-04-11 | 2014-08-13 | 武汉大学 | 一种网络gis异构集群服务器负载均衡方法 |
CN102710763B (zh) * | 2012-05-29 | 2015-11-25 | 新华网股份有限公司 | 一种分布式缓存池化、分片及故障转移的方法及系统 |
CN102833352A (zh) * | 2012-09-17 | 2012-12-19 | 深圳中兴网信科技有限公司 | 分布式缓存管理系统和实现分布式缓存管理的方法 |
CN103118132B (zh) * | 2013-02-28 | 2015-11-25 | 浙江大学 | 一种面向时空数据的分布式缓存系统及方法 |
CN104102475B (zh) * | 2013-04-11 | 2018-10-02 | 腾讯科技(深圳)有限公司 | 分布式并行任务处理的方法、装置及系统 |
CN104679898A (zh) * | 2015-03-18 | 2015-06-03 | 成都汇智远景科技有限公司 | 一种大数据访问方法 |
-
2016
- 2016-06-01 CN CN201610383167.XA patent/CN106095832B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102129472A (zh) * | 2011-04-14 | 2011-07-20 | 上海红神信息技术有限公司 | 面向语义搜索引擎的高效混合存储结构的构建方法 |
CN103716381A (zh) * | 2013-12-12 | 2014-04-09 | 华为技术有限公司 | 一种分布式系统的控制方法,及管理节点 |
Also Published As
Publication number | Publication date |
---|---|
CN106095832A (zh) | 2016-11-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106095832B (zh) | 分布式并行数据处理方法以及装置 | |
EP3129880B1 (en) | Method and device for augmenting and releasing capacity of computing resources in real-time stream computing system | |
EP3036625B1 (en) | Virtual hadoop manager | |
US8739167B2 (en) | Method and device for balancing load of multiprocessor system by sequencing migration priorities based on memory size and calculated execution time | |
US20100299541A1 (en) | Multi-core processor system | |
CN107301093B (zh) | 一种管理资源的方法和装置 | |
US20110167427A1 (en) | Computing system, method and computer-readable medium preventing starvation | |
EP1650655A2 (en) | Method and system for managing memory | |
US20120239952A1 (en) | Information processing apparatus, power control method, and recording medium | |
US20180314435A1 (en) | Deduplication processing method, and storage device | |
CN105183585B (zh) | 一种数据备份方法及装置 | |
CN108834191B (zh) | 小区重选方法、装置、电子设备及存储介质 | |
CN112860387A (zh) | 分布式任务调度方法、装置、计算机设备及存储介质 | |
CN108415765B (zh) | 任务调度方法、装置及智能终端 | |
CN105915630A (zh) | 跨网络数据传输系统及负载均衡调度方法 | |
CN109753338A (zh) | 虚拟gpu使用率的检测方法和装置 | |
CN106021026B (zh) | 一种备份方法及装置 | |
EP3188026B1 (en) | Memory resource management method and apparatus | |
CN107229519B (zh) | 任务调度方法和装置 | |
CN109729015A (zh) | 数据处理方法及其装置 | |
CN115794362A (zh) | 资源分配方法、云主机、计算机可读存储介质 | |
KR101583129B1 (ko) | 가상화 환경에서의 대역폭 할당 방법 및 장치 | |
CN111143073A (zh) | 一种虚拟化资源的管理方法、设备及存储介质 | |
CN112100017A (zh) | 一种内存资源监控方法及装置 | |
CN111524059A (zh) | 一种图像缓存时内存利用方法、系统、终端和存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |