CN111177106B - 一种分布式数据计算系统及方法 - Google Patents
一种分布式数据计算系统及方法 Download PDFInfo
- Publication number
- CN111177106B CN111177106B CN201911389235.3A CN201911389235A CN111177106B CN 111177106 B CN111177106 B CN 111177106B CN 201911389235 A CN201911389235 A CN 201911389235A CN 111177106 B CN111177106 B CN 111177106B
- Authority
- CN
- China
- Prior art keywords
- file blocks
- file
- distributed
- weight factors
- blocks
- 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
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/10—File systems; File servers
- G06F16/18—File system types
- G06F16/182—Distributed file systems
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供了一种分布式数据计算系统和方法,所述系统包括一个中心调度装置和多个分布式计算单元,所述中心调度装置包括分析器和分配器,所述分析器用于根据文件块的大小和文件块中的数据行数计算待处理的多个文件块的计算量权重因子,并对计算量权重因子小于设定的第一数值的文件块进行合并处理和对计算量权重因子大于设定的第二数值的文件块进行拆分处理,形成新的文件块,直到所有的文件块的计算量权重因子的范围都在所述第一数值和所述第二数值之间,所述分配器,用于对合并和切分形成的文件块进行跟踪定位,并将每个文件块分配给所述分布式计算单元进行计算。采用上述分布式数据计算系统,可提高分布式计算的速度。
Description
技术领域
本发明属于金融软件领域,尤其涉及一种分布式数据计算系统及方法。
背景技术
在现有的分布式数据分析方法中,通过默认以文件或分布式文件系统中的数据块作为分布式数据计算分析的最小执行单元。各个单元分别由一个计算单元计算,待所有计算单元数据计算完成后,对计算结果进行汇总,至此整个分布式计算完成。
以单个文件或分布式文件系统中文件块作为最小计算单元,由于各个文件块的大小差异很大,大量小至几kb的小文件存在,个别大文件又大至少几百M,
由于小文件极多,需要大量的计算单元来同时执行各个单元的数据计算,对计算单元的需求量极大,而由于每个计算单元中数据量很少,导致每个计算单元中对计算资源的利用率极低。
而对于文件块的大小极大的文件块,对相应的计算单元来说,计算数据量过大,计算耗时很长,整个分布式分析计算需要等待其计算完成,对数据进行汇总后才能完成整个分布式计算过程,大大降低了分布式计算的速度。
即使在分布式文件系统中,虽然限制了文件块的最大大小(如hdfs中默认限制最大块大小为128M),即使是相同大小的文件块,若数据的行数差异很大,计算相同大小文件块的时间差异也可能很大,如,同样100M大小文件,文件a含有1000w行数据,而文件b含有100w行数据,计算文件a的速度肯定比计算相同大小的文件b的速度快很多。
发明内容
本发明的目的在于提供一种分布式数据计算系统及方法,以提高分布式计算的速度。
本发明实施例中,提供了一种分布式数据计算系统,其包括一个中心调度装置和多个分布式计算单元,所述中心调度装置包括分析器和分配器,
所述分析器用于根据文件块的大小和文件块中的数据行数计算待处理的多个文件块的计算量权重因子,并对计算量权重因子小于设定的第一数值的文件块进行合并处理和对计算量权重因子大于设定的第二数值的文件块进行拆分处理,形成新的文件块,直到所有的文件块的计算量权重因子的范围都在所述第一数值和所述第二数值之间,
所述分配器,用于对合并和切分形成的文件块进行跟踪定位,并将每个文件块分配给所述分布式计算单元进行计算。
本发明实施例中,所述文件块的计算量权重因子的计算公式如下:
r=(size/128)*(line*128/(size*10000))
其中,r为文件块的计算量权重因子,size为文件块的大小,line为文件块中的数据行数。
本发明实施例中,所述第一数值为0.5,所述第二数值为2。
本发明实施例中,所述中心调度装置还包括监视器,所述监控器用于监控所述多个分布式计算单元的状态,并将所述分布式计算单元的状态报告给所述分配器,所述分配器将还没有分配出去的文件块分配到已完成计算的分布式计算单元。
本发明实施例中,当所有的文件块都计算完成时,所述监控器将所述多个分布式计算单元的计算结果进行汇总,并通知所述中心调度装置计算完成。
本发明实施例中,还提供了一种分布式数据计算方法,其特征在于,
根据文件块的大小和文件块中的数据行数计算待处理的多个文件块的计算量权重因子,并对计算量权重因子小于设定的第一数值的文件块进行合并处理和对计算量权重因子大于设定的第二数值的文件块进行拆分处理,形成新的文件块,直到所有的文件块的计算量权重因子的范围都在所述第一数值和所述第二数值之间,
对合并和切分形成的文件块进行跟踪定位,并将每个文件块分配给分布式计算单元进行计算。
本发明实施例中,所述文件块的计算量权重因子的计算公式如下:
r=(size/128)*(line*128/(size*10000))
其中,r为文件块的计算量权重因子,size为文件块的大小,line为文件块中的数据行数。
本发明实施例中,所述第一数值为0.5,所述第二数值为2。
本发明实施例中,所述的分布式数据计算方法,还包括:
监控所述多个分布式计算单元的状态,将还没有分配出去的文件块分配到已完成计算的分布式计算单元。
本发明实施例中,所述的分布式数据计算方法,还包括:
当所有的文件块都计算完成时,将所述多个分布式计算单元的计算结果进行汇总。
与现有技术相比较,本发明的分布式数据计算系统及方法中,根据文件块的大小和文件块中的数据行数计算待处理的多个文件块的计算量权重因子,并对计算量权重因子小于设定的第一数值的文件块进行合并处理和对计算量权重因子大于设定的第二数值的文件块进行拆分处理,形成新的文件块,直到所有的文件块的计算量权重因子的范围都在所述第一数值和所述第二数值之间,从而可以使得所有需要分配出去进行分布式计算的数据块的计算量大体相当,使得各个分布式计算单元的计算完成时间大体相同,既能够充分利用系统内的计算,存储资源,又能够提高任务的实时性。
附图说明
图1是本发明实施例的分布式数据计算系统的结构示意图。
图2是本发明实施例的分布式数据计算方法的流程图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
以下结合具体实施例对本发明的实现进行详细描述。
如图1所示,本发明实施例中,提供了一种分布式数据计算系统,其包括一个中心调度装置1和多个分布式计算单元2。需要说明的是,在分布式计算系统中,通常包括一个center节点和多个worker节点。本发明实施例中,所述中心调度装置即为center节点,用于将待处理的文件块分配到所述多个分布式计算单元中进行计算,并汇总所述多个分布式计算单元的计算结果。所述分布式计算单元即为worker节点,用于对分配的文件块进行数据计算。所述分布式计算单元可以为分布网络中不同位置的计算机,其完成计算后,将计算结果写入内存和磁盘中。
所述中心调度装置包括分析器11、分配器12和监视器13。下面分别进行说明。
所述分析器11,用于根据文件块的大小和文件块中的数据行数计算待处理的多个文件块的计算量权重因子,并对计算量权重因子小于设定的第一数值的文件块进行合并处理和对计算量权重因子大于设定的第二数值的文件块进行拆分处理,形成新的文件块,直到所有的文件块的计算量权重因子的范围都在所述第一数值和所述第二数值之间。
需要说明的是,在待处理的文件块中,由于文件的大小和文件中的文件块中的数据行数不同,产生的计算量也不同。因此,在本发明实施例中,根据文件块的文件块的大小和文件块中的数据行数计算文件块的计算量权重因子,这个计算量权重因子反映了计算所述文件块所需的计算量。根据文件块的计算量权重因子来决定对文件块进行拆分、合并或者不进行拆分合并,从而保证待处理的文件块的计算量相当。具体地,所述文件块的计算量权重因子的计算公式如下:
r=(size/128)*(line*128/(size*10000))
其中,r为文件块的计算量权重因子,size为文件块的大小,line为文件块中的数据行数。
本发明实施例中,可以将所述第一数值设置为0.5,将所述第二数值设置为2,对于r<0.5的文件进行合并,对于r>2的文件进行对等切分,形成新的文件块,直至所有的文件块都满足0.5<r<2,从而使得分配出去的文件快的计算量相当。
所述分配器12,用于对合并和切分形成的文件块进行跟踪定位,并将每个文件块分配给所述分布式计算单元2进行计算。
需要说明的是,所述分配器12将每个计算量权重因子符合条件的文件块分配至一种空闲的分布式计算单元2。由于有一些文件块是经过合并或者拆分形成的,在对计算结果进行汇总时,需要根据每个文件的原始位置来得到一个总的计算结果,所以所述分配器12需要对合并和切分形成的文件块进行跟踪定位。
所述监控器13用于监控所述多个分布式计算单元2的状态。如果所述监控器13发现一个分布式计算单元2完成计算,而系统中还存在没有分配出去的待计算的文件快,其将所述分布式计算单元2的状态通知所述分配器,所述分配器12将还没有分配出去的文件块分配到所述分布式计算单元2。
当所述监控器13监控到所有的文件块都计算完成时,所述监控器13将所述多个分布式计算单元的计算结果进行汇总,并通知所述中心调度装置1计算完成。
如图2所示,相应于上述分布式数据计算系统,本发明实施例中,还提供了一种分布式数据计算方法,包括:
根据文件块的大小和文件块中的数据行数计算待处理的多个文件块的计算量权重因子;
判断所述计算量权重因子的数值范围;
当所述实计算量权重因子小于设定的第一数值时,对文件块进行合并处理,形成新的文件块;
当所述计算量权重因子大于设定的第二数值时,对文件块进行拆分处理,形成新的文件块;
当所述计算量权重因子在所述第一数值和第二数值之间时,不对文件块进行拆分和合并;
重复上述过程,直到所有待处理的文件块的计算量权重因子在所述第一数值和第二数值之间;
将每个文件块分配给分布式计算单元进行计算;
当所有的文件块都计算完成时,将所述多个分布式计算单元的计算结果进行汇总。
需要说明的是,所述分布式数据计算方法与所述分布式数据计算系统基于相同的发明构思,其实现过程中各步骤的交互关系和带来的技术效果,在对所述分布式数据计算系统的描述中已进行了详细说明,此处不再赘述。
综上所述,本发明的分布式数据计算系统及方法中,根据文件块的大小和文件块中的数据行数计算待处理的多个文件块的计算量权重因子,并对计算量权重因子小于设定的第一数值的文件块进行合并处理和对计算量权重因子大于设定的第二数值的文件块进行拆分处理,形成新的文件块,直到所有的文件块的计算量权重因子的范围都在所述第一数值和所述第二数值之间,从而可以使得所有需要分配出去进行分布式计算的数据块的计算量大体相当,使得各个分布式计算单元的计算完成时间大体相同,既能够充分利用系统内的计算,存储资源,又能够提高任务的实时性。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (8)
1.一种分布式数据计算系统,其特征在于,包括一个中心调度装置和多个分布式计算单元,所述中心调度装置包括分析器和分配器,
所述分析器用于根据文件块的大小和文件块中的数据行数计算待处理的多个文件块的计算量权重因子,并对计算量权重因子小于设定的第一数值的文件块进行合并处理和对计算量权重因子大于设定的第二数值的文件块进行拆分处理,形成新的文件块,直到所有的文件块的计算量权重因子的范围都在所述第一数值和所述第二数值之间,所述文件块的计算量权重因子的计算公式如下:
r= (size/128 ) * (line*128/(size*10000))
其中,r为文件块的计算量权重因子,size为文件块的大小,line为文件块中的数据行数;
所述分配器,用于对合并和切分形成的文件块进行跟踪定位,并将每个文件块分配给所述分布式计算单元进行计算。
2.如权利要求1所述的分布式数据计算系统,其特征在于, 所述第一数值为0.5,所述第二数值为2。
3.如权利要求1所述的分布式数据计算系统,其特征在于,所述中心调度装置还包括监控器,所述监控器用于监控所述多个分布式计算单元的状态,并将所述分布式计算单元的状态报告给所述分配器,所述分配器将还没有分配出去的文件块分配到已完成计算的分布式计算单元。
4.如权利要求3所述的分布式数据计算系统,其特征在于,当所有的文件块都计算完成时,所述监控器将所述多个分布式计算单元的计算结果进行汇总,并通知所述中心调度装置计算完成。
5.一种分布式数据计算方法,其特征在于,
根据文件块的大小和文件块中的数据行数计算待处理的多个文件块的计算量权重因子,并对计算量权重因子小于设定的第一数值的文件块进行合并处理和对计算量权重因子大于设定的第二数值的文件块进行拆分处理,形成新的文件块,直到所有的文件块的计算量权重因子的范围都在所述第一数值和所述第二数值之间,所述文件块的计算量权重因子的计算公式如下:
r= (size/128 ) * (line*128/(size*10000))
其中,r为文件块的计算量权重因子,size为文件块的大小,line为文件块中的数据行数;
对合并和切分形成的文件块进行跟踪定位,并将每个文件块分配给分布式计算单元进行计算。
6.如权利要求5所述的分布式数据计算方法,其特征在于, 所述第一数值为0.5,所述第二数值为2。
7.如权利要求5所述的分布式数据计算方法,其特征在于,还包括:
监控所述多个分布式计算单元的状态,将还没有分配出去的文件块分配到已完成计算的分布式计算单元。
8.如权利要求7所述的分布式数据计算方法,其特征在于,还包括:
当所有的文件块都计算完成时,将所述多个分布式计算单元的计算结果进行汇总。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911389235.3A CN111177106B (zh) | 2019-12-30 | 2019-12-30 | 一种分布式数据计算系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911389235.3A CN111177106B (zh) | 2019-12-30 | 2019-12-30 | 一种分布式数据计算系统及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111177106A CN111177106A (zh) | 2020-05-19 |
CN111177106B true CN111177106B (zh) | 2023-10-17 |
Family
ID=70650429
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911389235.3A Active CN111177106B (zh) | 2019-12-30 | 2019-12-30 | 一种分布式数据计算系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111177106B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112559480A (zh) * | 2020-07-08 | 2021-03-26 | 北京德风新征程科技有限公司 | 一种并行计算场景下分布式数据集合计算方法和系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101093454A (zh) * | 2007-08-14 | 2007-12-26 | 金蝶软件(中国)有限公司 | 一种在分布式系统中执行sql脚本文件的方法和装置 |
CN103279531A (zh) * | 2013-05-31 | 2013-09-04 | 北京瑞翔恒宇科技有限公司 | 一种分布式文件系统中基于内容的文件分块方法 |
KR101868029B1 (ko) * | 2017-03-10 | 2018-06-18 | 현대카드 주식회사 | 블록체인 기반의 파일 공유 방법 및 시스템 |
CN109960612A (zh) * | 2019-03-07 | 2019-07-02 | 腾讯科技(深圳)有限公司 | 一种确定数据存储占比的方法、装置及服务器 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20200019535A1 (en) * | 2015-10-01 | 2020-01-16 | PacByte Solutions Pty Ltd | Method and system for preparing data files for transmission over a data network |
US11010363B2 (en) * | 2018-04-05 | 2021-05-18 | Sap Se | Complementing existing tables while grouping tables in a distributed database |
-
2019
- 2019-12-30 CN CN201911389235.3A patent/CN111177106B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101093454A (zh) * | 2007-08-14 | 2007-12-26 | 金蝶软件(中国)有限公司 | 一种在分布式系统中执行sql脚本文件的方法和装置 |
CN103279531A (zh) * | 2013-05-31 | 2013-09-04 | 北京瑞翔恒宇科技有限公司 | 一种分布式文件系统中基于内容的文件分块方法 |
KR101868029B1 (ko) * | 2017-03-10 | 2018-06-18 | 현대카드 주식회사 | 블록체인 기반의 파일 공유 방법 및 시스템 |
CN109960612A (zh) * | 2019-03-07 | 2019-07-02 | 腾讯科技(深圳)有限公司 | 一种确定数据存储占比的方法、装置及服务器 |
Also Published As
Publication number | Publication date |
---|---|
CN111177106A (zh) | 2020-05-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109218355B (zh) | 负载均衡引擎,客户端,分布式计算系统以及负载均衡方法 | |
Ishii et al. | Elastic stream computing with clouds | |
CN105007337A (zh) | 集群系统负载均衡的方法和系统 | |
US8898422B2 (en) | Workload-aware distributed data processing apparatus and method for processing large data based on hardware acceleration | |
CN102111337A (zh) | 任务调度方法和系统 | |
CN102314336B (zh) | 一种数据处理方法和系统 | |
CN109918170A (zh) | 一种云数据中心虚拟机动态资源配置方法及系统 | |
CN105471985A (zh) | 负载均衡方法及云平台计算方法、云平台 | |
CN102521051B (zh) | 应用于图算法的Map Reduce系统中的任务调度方法、装置和系统 | |
CN112540841B (zh) | 任务调度的方法、装置、处理器与电子设备 | |
CN108519917A (zh) | 一种资源池分配方法和装置 | |
CN110018781B (zh) | 磁盘流控方法、装置以及电子设备 | |
CN108491255B (zh) | 自助式MapReduce数据优化分配方法及系统 | |
CN107291544A (zh) | 任务调度的方法及装置、分布式任务执行系统 | |
CN107589997B (zh) | 数据中心环境下保证延迟敏感程序QoS的动态调节方法 | |
TW201818244A (zh) | 雲端環境下應用集群資源分配的方法、裝置和系統 | |
CN102339233A (zh) | 云计算集中管理平台 | |
CN104182278A (zh) | 一种判定计算机硬件资源繁忙程度的方法和装置 | |
CN104243531A (zh) | 一种数据处理的方法、装置及系统 | |
CN111177106B (zh) | 一种分布式数据计算系统及方法 | |
Fan et al. | A heterogeneity-aware data distribution and rebalance method in Hadoop cluster | |
CN111176831A (zh) | 基于多线程共享内存通信的动态线程映射优化方法及装置 | |
CN111158904A (zh) | 一种任务调度方法、装置、服务器及介质 | |
CN105740249B (zh) | 一种大数据作业并行调度过程中的处理方法及其系统 | |
CN112000703B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |