CN113157806B - 网格数据分布式存储服务系统、方法、装置、设备及介质 - Google Patents
网格数据分布式存储服务系统、方法、装置、设备及介质 Download PDFInfo
- Publication number
- CN113157806B CN113157806B CN202110417353.1A CN202110417353A CN113157806B CN 113157806 B CN113157806 B CN 113157806B CN 202110417353 A CN202110417353 A CN 202110417353A CN 113157806 B CN113157806 B CN 113157806B
- Authority
- CN
- China
- Prior art keywords
- grid
- distributed storage
- data
- parallel subdivision
- subdivision
- 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
- 238000000034 method Methods 0.000 title claims abstract description 241
- 230000008569 process Effects 0.000 claims abstract description 204
- 230000006870 function Effects 0.000 claims abstract description 26
- 238000004590 computer program Methods 0.000 claims description 23
- 238000010276 construction Methods 0.000 claims description 6
- 230000008878 coupling Effects 0.000 abstract description 9
- 238000010168 coupling process Methods 0.000 abstract description 9
- 238000005859 coupling reaction Methods 0.000 abstract description 9
- 238000011161 development Methods 0.000 abstract description 8
- 238000012545 processing Methods 0.000 abstract description 7
- 230000005540 biological transmission Effects 0.000 description 5
- 238000004891 communication Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 230000006872 improvement Effects 0.000 description 2
- 238000004088 simulation Methods 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 230000004931 aggregating effect Effects 0.000 description 1
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000013178 mathematical model Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000012546 transfer 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
-
- 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/24—Querying
- G06F16/245—Query processing
- G06F16/2458—Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
- G06F16/2471—Distributed queries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Computing Systems (AREA)
- Fuzzy Systems (AREA)
- Mathematical Physics (AREA)
- Probability & Statistics with Applications (AREA)
- Computational Linguistics (AREA)
- Multi Processors (AREA)
Abstract
本发明提供一种网格数据分布式存储服务方法、装置、设备及介质,该方法包括:基于并行剖分的原则,将网格数据分散存储到各进程的内存中,构建网格在一组进程的分布式存储;根据网格上已有分布式存储中源并行剖分,对网格数据进行重分布,构建网格上与所述源并行剖分对应的目标并行剖分的分布式存储;根据所述网格在一组进程的分布式存储及所述目标并行剖分的分布式存储,构建分布式存储服务模型;根据所述分布式存储服务模型,执行服务功能;可以有效降低网格数据在一个进程上的运行内存,提升计算机的计算处理能力,解决耦合模式等数值程序发展和应用中面临的存储大规模网格的性能瓶颈。
Description
技术领域
本发明涉及计算机虚拟存储技术领技术领域,尤其涉及一种网格分布式存储服务系统、方法、装置、设备及介质。
背景技术
用于模拟仿真计算的数值程序通常需要将被模拟仿真的对象离散表示为一定维度和分辨率的网格及其上的数据,例如该一定维度可以为一维、二维、三维、四维、甚至更多维,该数据包括表示各网格点坐标等信息的网格数据,以及各网格点上用于表征模拟仿真对象属性的数据;然后在网格上对相应数学模型进行数值积分求解。数值程序的计算量通常很大,需要利用MPI(message passing interface,消息传递接口)等把数值程序并行化为多进程协同计算的并行程序,以利用高性能计算机的众多处理器核来加速计算,其中数值程序一个网格上的网格点集会被分解为若干子集,每个进程负责一个子集对应的数值计算,进程间基于MPI等交换部分网格点上的数据。后续把网格点集在不同进程间的分派称为并行剖分,并行剖分中由一个进程负责计算的网格点称为该进程的局部网格点。
用于气候研究和气象海洋预报的地球系统模式和耦合数值预报模式(统称耦合模式)是典型的数值程序,由大气、陆面、海洋等分量模式通过耦合器耦合集成而来。随着科学与技术的快速发展、对模拟与预报精度要求的不断提高,地球系统模式及其各分量模式正朝着高分辨率方向不断发展,网格规模越来越大。现有地球系统模式耦合器如法国的OASIS[10-12],美国的MCT[13]、CPL[14,15]、ESMF[16]和FMS[17]等采用全局存储方式来管理网格信息,即每个进程都会把同一网格所有格点的信息存放在内存中。这一全局存储方式虽然极大的简化了耦合器中在线计算插值权重、获取所需网格点上信息、输出耦合变量所在网格信息等功能的程序实现;但是严重增加了内存需求,特别是当模式分辨率很高(网格点数很多)时,会导致整个耦合模式无法并行运行。例如,当模式分辨率达到全球3公里时,会有超过5千万个网格点,一个进程存储整个水平网格信息的内存用量就能超过4GB,而通常有数十个处理器核但内存容量通常不超过64GB,这会使得当前高性能计算机的一个计算节点只能运行至多十几个进程;当试图运行更多进程时,计算机系统会因内存容量不够而强制中断模式的运行,因而无法充分使用高性能计算机的计算能力。
因此,现有技术有待进一步改进。
发明内容
基于此,有必要针对上述技术问题,提供一种网格数据分布式存储服务方法、装置、计算机设备及存储介质。
例如,提供一种网格数据分布式存储服务方法,该方法包括:
基于并行剖分的原则,将网格数据分散存储到各进程的内存中,构建网格在一组进程的分布式存储;
根据网格上已有分布式存储中源并行剖分,对网格数据进行重分布,构建网格上与所述源并行剖分对应的目标并行剖分的分布式存储;
根据所述网格在一组进程的分布式存储及所述目标并行剖分的分布式存储,构建分布式存储服务模型;
根据所述分布式存储服务模型,执行服务功能;其中,所述服务功能包括数据查询、网格比对、网格数据读入及网格数据写出中的至少一个。
在其中一个实施例中,所述基于并行剖分的原则,将网格数据分散存储到各进程的内存中,构建网格在一组进程的分布式存储的步骤,包括:
基于基础并行剖分的原则,将所述网格数据平均分散存储到各进程的内存中,构建所述网格在一组进程的分布式存储。
在其中一个实施例中,所述基于并行剖分的原则,将网格数据分散存储到各进程的内存中,构建网格在一组进程的分布式存储的步骤,包括:
对所述网格数据的网格点进行编号,得到编号后的网格数据;
将基于并行剖分的原则,将所述编号后的网格数据分散存储到各进程的内存中,构建所述网格在一组进程的分布式存储。
在其中一个实施例中,所述数据查询步骤包括:
获取待查询网格点编号;
根据所述待查询网格点编号及所述分布式存储服务模型,获取指定网格点上的数据。
在其中一个实施例中,所述根据所述待查询网格点编号及所述分布式存储服务模型,获取指定网格点上的数据的步骤,包括:
根据所述待查询网格点编号及所述分布式存储服务模型,确定指定网格点的存储进程;
判断所述存储进程是否为当前进程;
当所述存储进程为所述当前进程时,根据所述网格点编号,在所述当前进程中获取指定网格点数据;
当所述存储进程不为所述当前进程时,根据所述网格点编号,从所述存储进程获取指定网格点数据。
在其中一个实施例中,所述数据查询步骤包括:
获取待查询网格及指定区域范围;
基于分布式存储服务模型,根据所述待查询网格及所述指定区域范围,确定所述指定区域范围内网格点所对应的存储进程,从所述存储进程获取指定区域范围的数据。
在其中一个实施例中,所述网格比对步骤包括:
获取第一网格及第二网格;
根据所述分布式存储服务模型,对所述第一网格及所述第二网格进行比对。
在其中一个实施例中,一种网格数据分布式存储服务装置,该装置包括:
分布式存储构建模块,用于基于并行剖分的原则,将网格数据分散存储到各进程的内存中,构建网格在一组进程的分布式存储;
重分布模块,用于根据网格上已有分布式存储中源并行剖分,对网格数据进行重分布,构建网格上与所述源并行剖分对应的目标并行剖分的分布式存储;
服务模型构建模块,用于根据所述网格在一组进程的分布式存储及所述目标并行剖分的分布式存储,构建分布式存储服务模型;
服务模块,用于根据所述分布式存储服务模型,执行服务功能;其中,所述服务功能包括数据查询、网格比对、网格数据读入及网格数据写出中的至少一个。
在其中一个实施例中,一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述任一实施例中所述方法的步骤。
在其中一个实施例中,一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一实施例中所述的方法的步骤。
上述网格数据分布式存储服务方法、装置、计算机设备及存储介质,通过对网格上的数据按照并行剖分的原则,分散存储到各个进程中,构建分布式存储,以降低每个进程的工作负荷,并对网格上已有的分布式存储进行重分布,实现网格数据在不同进程上的数据传输,进而构建分布式存储服务模型;通过分布式存储服务模型执行服务操作;如此,可以有效降低网格数据在一个进程上的运行内存,提升计算机的计算处理能力,解决耦合模式等数值程序发展和应用中面临的存储大规模网格的性能瓶颈。
附图说明
图1为本发明一个实施例中网格数据分布式存储服务方法的流程示意图;
图2为本发明又一个实施例中网格数据分布式存储服务方法的流程示图;
图3为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请提供了一种网格数据分布式存储服务方法,该方法包括:
基于并行剖分的原则,将网格数据分散存储到各进程的内存中,构建网格在一组进程的分布式存储;
根据网格上已有分布式存储中源并行剖分,对网格数据进行重分布,构建网格上与所述源并行剖分对应的目标并行剖分的分布式存储;
根据所述网格在一组进程的分布式存储及所述目标并行剖分的分布式存储,构建分布式存储服务模型;
根据所述分布式存储服务模型,执行服务功能;其中,所述服务功能包括数据查询、网格比对、网格数据读入及网格数据写出中的至少一个。
上述网格数据分布式存储服务方法,通过对网格上的数据按照并行剖分的原则,分散存储到各个进程中,构建分布式存储,以降低每个进程的工作负荷,并对网格上已有的分布式存储进行重分布,实现网格数据在不同进程上的数据传输,进而构建分布式存储服务模型;通过分布式存储服务模型执行服务操作;如此,可以有效降低网格数据在一个进程上的运行内存,提升计算机的计算处理能力,解决耦合模式等数值程序发展和应用中面临的存储大规模网格的性能瓶颈。
请参阅图1,在其中一个实施例中,一种网格数据分布式存储服务方法,该方法包括:
S110,基于并行剖分的原则,将网格数据分散存储到各进程的内存中,构建网格在一组进程的分布式存储;
具体的,并行剖分是指网格点集在不同进程间的分派;一般的,一个网格上有多个网格点,多个网格点称为网格点集。本步骤中,首次建立该网格在一组进程上的分布式存储,其中建立该网格的并行剖分,并按照基础并行剖分将网格上的数据分散存储到各进程的内存中,即一个进程仅存储并行剖分下该进程的局部网格点上的数据。如此,计算机在执行网格数据时,可以多个进程同步执行,且网格数据占每个进程的内存相对较小,从而可以提升效率,提升计算机的计算能力。需说明的是,本步骤是以通过接口提供一个网格及网格上的数据(简称为网格数据)为输入,针对未建立分布式存储的网格进行相应操作。
S120,根据网格上已有分布式存储中源并行剖分,对网格数据进行重分布,构建网格上与所述源并行剖分对应的目标并行剖分的分布式存储;
具体的,本步骤中以通过接口指定的一个网格、该网格上的一个已有分布式存储及数据重分布后的并行剖分为输入,其中已有分布式存储包括对应的并行剖分及分布式存储的网格上的数据,该并行剖分称为源并行剖分,数据重分布后的并行剖分称为目标并行剖分。对于网格上已有的分布式存储中,提取已有分布式存储中对应的并行剖分,称为源并行剖分;通过对网格数据进行重新分布,构建网格上与所述源并行剖分相对应的目标并行剖分的分布式存储。
需说明的是,本步骤是基于已有分布式存储和源并行剖分,通过在进程间重分布网格上的数据,构建该网格上的数据对应于目标并行剖分的分布式存储。在重分布网格数据时,先根据源并行剖分和目标并行剖分,构建在进程间用于传递网格上数据的通信路由网络,然后通过在进程间传递数据,完成网格上数据的重分布。给定两个进程A和进程B、给定一个网格点P,当网格点P是进程A在源并行剖分下的局部网格点、且网格点P是进程B在目标并行剖分下的局部网格点,重分布网格数据过程会完成网格点P上的数据从进程A到进程B的传递。
S130,根据所述网格在一组进程的分布式存储及所述目标并行剖分的分布式存储,构建分布式存储服务模型;
具体的,本发明是根据构建的分布式模型执行服务功能的,因此,根据所述网格在一组进程的分布式存储及所述目标并行剖分的分布式存储,构建分布式存储服务模型,并执行相应的服务功能。
S140,根据所述分布式存储服务模型,执行服务功能;其中,所述服务功能包括数据查询、网格比对、网格数据读入及网格数据写出中的至少一个。
具体的,服务功能包括数据查询、网格比对、网格数据读入及网格数据写出中的至少一个。例如,数据查询包括指定网格点数据查询、指定区域网格点数据查询。通过采用并行剖分构建的分布式存储及网格数据重分布的分布式存储执行服务功能,提升计算机的计算处理能力,解决耦合模式等数值程序发展和应用中面临的存储大规模网格的性能瓶颈。
上述网格数据分布式存储服务方法,通过对网格上的数据按照并行剖分的原则,分散存储到各个进程中,构建分布式存储,以降低每个进程的工作负荷,并对网格上已有的分布式存储进行重分布,实现网格数据在不同进程上的数据传输,进而构建分布式存储服务模型;通过分布式存储服务模型执行服务操作;如此,可以有效降低网格数据在一个进程上的运行内存,提升计算机的计算处理能力,解决耦合模式等数值程序发展和应用中面临的存储大规模网格的性能瓶颈。
在其中一个实施例中,所述基于并行剖分的原则,将网格数据分散存储到各进程的内存中,构建网格在一组进程的分布式存储的步骤,包括:
基于基础并行剖分的原则,将所述网格数据平均分散存储到各进程的内存中,构建所述网格在一组进程的分布式存储。
具体的,基础并行剖分是指网格点集在不同进程间的平均分派,其中平均分派也可以理解为平衡分派。建立该网格的基础并行剖分,并按照基础并行剖分将网格上的数据分散存储到各进程的内存中,即一个进程仅存储基础并行剖分下该进程的局部网格点上的数据。基础并行剖分能确保进程间存储的负载平衡,即各进程的局部网格点数保持接近,以使网格数据平均分派到各个进程中,使各个进程的内存接近或均等,以使得计算机运行效果达到最优。
请参阅图2,在其中一个实施例中,所述基于并行剖分的原则,将网格数据分散存储到各进程的内存中,构建网格在一组进程的分布式存储的步骤,包括:
S111,对所述网格数据的网格点进行编号,得到编号后的网格数据;
S112,将基于并行剖分的原则,将所述编号后的网格数据分散存储到各进程的内存中,构建所述网格在一组进程的分布式存储。
具体的,给定任意网格点的编号,通过构建基础并行剖分的原则就能确定存放该网格点的进程。本步骤中的输入可以是存放网格及数据的文件,存放于内存的全局网格及数据,即每个进程的输入都是所有网格点及网格点上的数据,或按照输入的并行剖分进行分布式存放的网格上的数据。通过基于指定网格的基础并行剖分,根据指定网格点的编号,首先确定存储指定网格点的进程,将该进程称为存储进程。如果存储进程是当前进程,当前进程是指调用模块接口的进程,当前进程直接根据编号取出并通过接口返回指定网格点上的数据;否则,当前进程通过通信从存储进程获取到指定网格点上的数据,然后通过接口返回,如此,可以实现数据查询功能。
在其中一个实施例中,所述数据查询步骤包括:
获取待查询网格点编号;
根据所述待查询网格点编号及所述分布式存储服务模型,获取指定网格点上的数据。
具体的,根据所述待查询网格点编号及所述分布式存储服务模型,获取指定网格点上的数据,是利用分布式存储服务模型中的基于并行剖分的原则,将所述编号后的网格数据分散存储到各进程的内存中,构建所述网格在一组进程的分布式存储进行网格点数据查询,即利用S110中构建的分布式存储执行网格点数据查询功能。
在其中一个实施例中,所述根据所述待查询网格点编号及所述分布式存储服务模型,获取指定网格点上的数据的步骤,包括:
根据所述待查询网格点编号及所述分布式存储服务模型,确定指定网格点的存储进程;
判断所述存储进程是否为当前进程;
当所述存储进程为所述当前进程时,根据所述网格点编号,在所述当前进程中获取指定网格点数据;
当所述存储进程不为所述当前进程时,根据所述网格点编号,从所述存储进程获取指定网格点数据。
本实施例中是基于指定网格的基础并行剖分,根据指定网格点的编号,首先确定存储指定网格点的进程,该进程称为存储进程。如果存储进程是当前进程,当前进程是指调用模块接口的进程,当前进程直接根据编号取出并通过接口返回指定网格点上的数据;否则,当前进程通过通信从存储进程获取到指定网格点上的数据,然后通过接口返回。如此,可以在实现网格点数据准确查询的同时,提升查询效率。
在其中一个实施例中,所述数据查询步骤包括:
获取待查询网格及指定区域范围;
基于分布式存储服务模型,根据所述待查询网格及所述指定区域范围,确定所述指定区域范围内网格点所对应的存储进程,从所述存储进程获取指定区域范围的数据。
具体的,本实施的数据查询步骤是基于对网格上已有分布式存储中源并行剖分进行重分布,构建网格上与所述源并行剖分对应的目标并行剖分的分布式存储进行数据查询的,即利用S120中构建的分布式存储进行数据查询。
具体的,本实施例通过接口指定的网格和一个区域范围为输入,区域范围是指各维度的坐标范围,返回指定网格在指定区域范围内的所有网格点上的数据。首先检查是否已建立指定网格的区域范围并行剖分及分布式存储;当尚未建立时,将建立指定网格的区域范围并行剖分,然后调研网格数据重分布后构建的分布式存储,完成指定网格上的数据从基础并行剖分到区域范围并行剖分的重分布。然后基于区域范围并行剖分,确定存储指定区域范围中网格点及其上数据的若干进程,该若干进程称为存储进程,并通过通信从各存储进程获取到的相应数据,再将数据聚合起来后返回。
在其中一个实施例中,所述网格比对步骤包括:
获取第一网格及第二网格;
根据所述分布式存储服务模型,对所述第一网格及所述第二网格进行比对。
具体的,本实施例中通过接口指定的第一网格和第二网格为输入,检查两个网格是否相同。首先检查指定的两个网格的大小是否相同,网格的大小即网格点总数,当网格的大小不同时,判断两个网格不同。当网格的大小相同时,基于指定的两个网格的基础并行剖分,初始化时已建立两个网格的基础并行剖分;当两个网格相同时,基础并行剖分及对应分布式存储均相同,在各进程内比较两个网格的坐标信息数据是否完全相同。如果两个网格的坐标信息数据至少在一个进程内不同,则两个网格不同;否则两个网格相同。
在其中一个实施例中,所述网格数据读入及所述网格数据写出步骤,包括:
获取指定文件和指定网格的并行剖分为输入;
根据所述指定网格的并行剖分及所述分布式存储服务模型,读入或写出网格数据。
具体的,读入时,以指定文件和指定网格的并行剖分为输入,先用串行I/O口或并行I/O口将数据从文件读入内存,再调用重分布后的分布式存储,使读入的数据按照指定并行剖分进行分布式存储。写出时,以分布式存储的数据为输入,比较时将分布式存储的数据进行全局或局部聚合,再使用串行I/O口或并行I/O口将数据写出到指定文件。
以下是一具体实施例,一种网格数据分布式存储服务方法,包括
对所述网格数据的网格点进行编号,得到编号后的网格数据;
将基于基础并行剖分的原则,将所述编号后的网格数据平均分散存储到各进程的内存中,构建所述网格在一组进程的分布式存储;
根据所述分布式存储服务模型,执行服务功能;其中,所述服务功能包括数据查询、网格比对、网格数据读入及网格数据写出中的至少一个;
其中,所述数据查询步骤包括:
获取待查询网格点编号;
根据所述待查询网格点编号及所述分布式存储服务模型,确定指定网格点的存储进程;
判断所述存储进程是否为当前进程;
当所述存储进程为所述当前进程时,根据所述网格点编号,在所述当前进程中获取指定网格点数据;
当所述存储进程不为所述当前进程时,根据所述网格点编号,从所述存储进程获取指定网格点数据;
其中,所述数据查询步骤还包括:
获取待查询网格及指定区域范围;
基于分布式存储服务模型,根据所述待查询网格及所述指定区域范围,确定所述指定区域范围内网格点所对应的存储进程,从所述存储进程获取指定区域范围的数据;
所述网格比对步骤包括:
获取第一网格及第二网格;
根据所述分布式存储服务模型,对所述第一网格及所述第二网格进行比对。
上述网格数据分布式存储服务方法,通过对网格上的数据按照并行剖分的原则,分散存储到各个进程中,构建分布式存储,以降低每个进程的工作负荷,并对网格上已有的分布式存储进行重分布,实现网格数据在不同进程上的数据传输,进而构建分布式存储服务模型;通过分布式存储服务模型执行服务操作;如此,可以有效降低网格数据在一个进程上的运行内存,提升计算机的计算处理能力,解决耦合模式等数值程序发展和应用中面临的存储大规模网格的性能瓶颈。
在其中一个实施例中,提供一种网格数据分布式存储服务装置,所述网格数据分布式存储服务装置采用上述任一实施例所述网格数据分布式存储服务方法实现。在其中一个实施例中,所述网格数据分布式存储服务装置包括用于实现所述网格数据分布式存储服务方法各步骤的相应模块。
在其中一个实施例中,一种网格数据分布式存储服务装置,该装置包括:
分布式存储构建模块,用于基于并行剖分的原则,将网格数据分散存储到各进程的内存中,构建网格在一组进程的分布式存储;
重分布模块,用于根据网格上已有分布式存储中源并行剖分,对网格数据进行重分布,构建网格上与所述源并行剖分对应的目标并行剖分的分布式存储;
服务模型构建模块,用于根据所述网格在一组进程的分布式存储及所述目标并行剖分的分布式存储,构建分布式存储服务模型;
服务模块,用于根据所述分布式存储服务模型,执行服务功能;其中,所述服务功能包括数据查询、网格比对、网格数据读入及网格数据写出中的至少一个。
上述网格数据分布式存储服务装置,通过对网格上的数据按照并行剖分的原则,分散存储到各个进程中,构建分布式存储,以降低每个进程的工作负荷,并对网格上已有的分布式存储进行重分布,实现网格数据在不同进程上的数据传输,进而构建分布式存储服务模型;通过分布式存储服务模型执行服务操作;如此,可以有效降低网格数据在一个进程上的运行内存,提升计算机的计算处理能力,解决耦合模式等数值程序发展和应用中面临的存储大规模网格的性能瓶颈。
在其中一个实施例中,所述分布式存储构建模块用于基于基础并行剖分的原则,将所述网格数据平均分散存储到各进程的内存中,构建所述网格在一组进程的分布式存储。
在其中一个实施例中,所述分布式存储构建模块包括编码单元及分布式存储构建单元;
所述编码单元用于对所述网格数据的网格点进行编号,得到编号后的网格数据;
所述分布式存储构建单元用于将基于并行剖分的原则,将所述编号后的网格数据分散存储到各进程的内存中,构建所述网格在一组进程的分布式存储。
在其中一个实施例中,所述数据查询步骤包括:
获取待查询网格点编号;
根据所述待查询网格点编号及所述分布式存储服务模型,获取指定网格点上的数据。
在其中一个实施例中,所述根据所述待查询网格点编号及所述分布式存储服务模型,获取指定网格点上的数据的步骤,包括:
所述根据所述待查询网格点编号及所述分布式存储服务模型,确定指定网格点的存储进程;
判断所述存储进程是否为当前进程;
当所述存储进程为所述当前进程时,根据所述网格点编号,在所述当前进程中获取指定网格点数据;
当所述存储进程不为所述当前进程时,根据所述网格点编号,从所述存储进程获取指定网格点数据。
在其中一个实施例中,所述数据查询步骤包括:
获取待查询网格及指定区域范围;
基于分布式存储服务模型,根据所述待查询网格及所述指定区域范围,确定所述指定区域范围内网格点所对应的存储进程,从所述存储进程获取指定区域范围的数据。
在其中一个实施例中,所述网格比对步骤包括:
获取第一网格及第二网格;
根据所述分布式存储服务模型,对所述第一网格及所述第二网格进行比对。
在其中一个实施例中,提供了一种计算机设备,其内部结构图可以如图3所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种网格数据分布式存储服务方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图3中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在其中一个实施例中,一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时上述任一实施例中所述网格数据分布式存储服务方法的步骤。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
基于并行剖分的原则,将网格数据分散存储到各进程的内存中,构建网格在一组进程的分布式存储;
根据网格上已有分布式存储中源并行剖分,对网格数据进行重分布,构建网格上与所述源并行剖分对应的目标并行剖分的分布式存储;
根据所述网格在一组进程的分布式存储及所述目标并行剖分的分布式存储,构建分布式存储服务模型;
根据所述分布式存储服务模型,执行服务功能;其中,所述服务功能包括数据查询、网格比对、网格数据读入及网格数据写出中的至少一个。
在其中一个实施例中,处理器执行计算机程序时还实现以下步骤:
对所述网格数据的网格点进行编号,得到编号后的网格数据;
将基于并行剖分的原则,将所述编号后的网格数据分散存储到各进程的内存中,构建所述网格在一组进程的分布式存储。
在其中一个实施例中,处理器执行计算机程序时还实现以下步骤:
基于基础并行剖分的原则,将所述网格数据平均分散存储到各进程的内存中,构建所述网格在一组进程的分布式存储。
在其中一个实施例中,所述数据查询步骤包括:
获取待查询网格点编号;
根据所述待查询网格点编号及所述分布式存储服务模型,获取指定网格点上的数据。
在其中一个实施例中,处理器执行计算机程序时还实现以下步骤:根据所述待查询网格点编号及所述分布式存储服务模型,确定指定网格点的存储进程;
判断所述存储进程是否为当前进程;
当所述存储进程为所述当前进程时,根据所述网格点编号,在所述当前进程中获取指定网格点数据;
当所述存储进程不为所述当前进程时,根据所述网格点编号,从所述存储进程获取指定网格点数据。
在其中一个实施例中,所述数据查询步骤包括:
获取待查询网格及指定区域范围;
基于分布式存储服务模型,根据所述待查询网格及所述指定区域范围,确定所述指定区域范围内网格点所对应的存储进程,从所述存储进程获取指定区域范围的数据。
在其中一个实施例中,所述网格比对步骤包括:
获取第一网格及第二网格;
根据所述分布式存储服务模型,对所述第一网格及所述第二网格进行比对。
在其中一个实施例中,提供一种计算机可读存储介质,其上存储有计算机程序,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一实施例中所述网格数据分布式存储服务方法的步骤。
在其中一个实施例中,计算机程序被处理器执行时还实现以下步骤:
基于基础并行剖分的原则,将所述网格数据平均分散存储到各进程的内存中,构建所述网格在一组进程的分布式存储。
在其中一个实施例中,计算机程序被处理器执行时还实现以下步骤:
对所述网格数据的网格点进行编号,得到编号后的网格数据;
将基于并行剖分的原则,将所述编号后的网格数据分散存储到各进程的内存中,构建所述网格在一组进程的分布式存储。
在其中一个实施例中,计算机程序被处理器执行时还实现以下步骤:
获取待查询网格点编号;
根据所述待查询网格点编号及所述分布式存储服务模型,获取指定网格点上的数据。
在其中一个实施例中,计算机程序被处理器执行时还实现以下步骤:
根据所述待查询网格点编号及所述分布式存储服务模型,确定指定网格点的存储进程;
判断所述存储进程是否为当前进程;
当所述存储进程为所述当前进程时,根据所述网格点编号,在所述当前进程中获取指定网格点数据;
当所述存储进程不为所述当前进程时,根据所述网格点编号,从所述存储进程获取指定网格点数据。
在其中一个实施例中,计算机程序被处理器执行时还实现以下步骤:
获取待查询网格及指定区域范围;
基于分布式存储服务模型,根据所述待查询网格及所述指定区域范围,确定所述指定区域范围内网格点所对应的存储进程,从所述存储进程获取指定区域范围的数据。
在其中一个实施例中,计算机程序被处理器执行时还实现以下步骤:
获取第一网格及第二网格;
根据所述分布式存储服务模型,对所述第一网格及所述第二网格进行比对。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种网格数据分布式存储服务方法,其特征在于,包括:
基于并行剖分的原则,将网格数据分散存储到各进程的内存中,构建网格在一组进程的分布式存储,其中,所述并行剖分是指网格点集在不同进程间的分派;
根据网格上已有分布式存储中源并行剖分,对网格数据进行重分布,构建网格上与所述源并行剖分对应的目标并行剖分的分布式存储,其中,所述源并行剖分为分布式存储中对应的并行剖分,所述目标并行剖分为数据重新分布后的并行剖分;
根据所述网格在一组进程的分布式存储及所述目标并行剖分的分布式存储,构建分布式存储服务模型;
根据所述分布式存储服务模型,执行服务功能;其中,所述服务功能包括数据查询、网格比对、网格数据读入及网格数据写出中的至少一个。
2.根据权利要求1所述的网格数据分布式存储服务方法,其特征在于,所述基于并行剖分的原则,将网格数据分散存储到各进程的内存中,构建网格在一组进程的分布式存储的步骤,包括:
基于基础并行剖分的原则,将所述网格数据平均分散存储到各进程的内存中,构建所述网格在一组进程的分布式存储。
3.根据权利要求1所述的网格数据分布式存储服务方法,其特征在于,所述基于并行剖分的原则,将网格数据分散存储到各进程的内存中,构建网格在一组进程的分布式存储的步骤,包括:
对所述网格数据的网格点进行编号,得到编号后的网格数据;
将基于并行剖分的原则,将所述编号后的网格数据分散存储到各进程的内存中,构建所述网格在一组进程的分布式存储。
4.根据权利要求1所述的网格数据分布式存储服务方法,其特征在于,所述数据查询步骤包括:
获取待查询网格点编号;
根据所述待查询网格点编号及所述分布式存储服务模型,获取指定网格点上的数据。
5.根据权利要求4所述的网格数据分布式存储服务方法,其特征在于,所述根据所述待查询网格点编号及所述分布式存储服务模型,获取指定网格点上的数据的步骤,包括:
根据所述待查询网格点编号及所述分布式存储服务模型,确定指定网格点的存储进程;
判断所述存储进程是否为当前进程;
当所述存储进程为所述当前进程时,根据所述网格点编号,在所述当前进程中获取指定网格点数据;
当所述存储进程不为所述当前进程时,根据所述网格点编号,从所述存储进程获取指定网格点数据。
6.根据权利要求1所述的网格数据分布式存储服务方法,其特征在于,所述数据查询步骤包括:
获取待查询网格及指定区域范围;
基于分布式存储服务模型,根据所述待查询网格及所述指定区域范围,确定所述指定区域范围内网格点所对应的存储进程,从所述存储进程获取指定区域范围的数据。
7.根据权利要求1所述的网格数据分布式存储服务方法,其特征在于,所述网格比对步骤包括:
获取第一网格及第二网格;
根据所述分布式存储服务模型,对所述第一网格及所述第二网格进行比对。
8.一种网格数据分布式存储服务装置,其特征在于,包括:
分布式存储构建模块,用于基于并行剖分的原则,将网格数据分散存储到各进程的内存中,构建网格在一组进程的分布式存储,其中,所述并行剖分是指网格点集在不同进程间的分派;
重分布模块,用于根据网格上已有分布式存储中源并行剖分,对网格数据进行重分布,构建网格上与所述源并行剖分对应的目标并行剖分的分布式存储;
服务模型构建模块,用于根据所述网格在一组进程的分布式存储及所述目标并行剖分的分布式存储,构建分布式存储服务模型,其中,所述源并行剖分为分布式存储中对应的并行剖分,所述目标并行剖分为数据重新分布后的并行剖分;
服务模块,用于根据所述分布式存储服务模型,执行服务功能;其中,所述服务功能包括数据查询、网格比对、网格数据读入及网格数据写出中的至少一个。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110417353.1A CN113157806B (zh) | 2021-04-19 | 2021-04-19 | 网格数据分布式存储服务系统、方法、装置、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110417353.1A CN113157806B (zh) | 2021-04-19 | 2021-04-19 | 网格数据分布式存储服务系统、方法、装置、设备及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113157806A CN113157806A (zh) | 2021-07-23 |
CN113157806B true CN113157806B (zh) | 2022-05-24 |
Family
ID=76868445
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110417353.1A Active CN113157806B (zh) | 2021-04-19 | 2021-04-19 | 网格数据分布式存储服务系统、方法、装置、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113157806B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113873031B (zh) * | 2021-09-26 | 2022-07-12 | 南京翌淼信息科技有限公司 | 一种并行分布式大数据架构构建方法及系统 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103092572A (zh) * | 2013-01-11 | 2013-05-08 | 中国科学院地理科学与资源研究所 | 一种集群环境下分布式水文模拟的并行化方法 |
WO2020252799A1 (zh) * | 2019-06-18 | 2020-12-24 | 中国科学院计算机网络信息中心 | 一种面向海量遥感影像的并行数据访问方法与系统 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101408900B (zh) * | 2008-11-24 | 2011-03-16 | 中国科学院地理科学与资源研究所 | 一种网格计算环境下的分布式空间数据查询优化方法 |
US9613121B2 (en) * | 2014-03-10 | 2017-04-04 | International Business Machines Corporation | Data duplication detection in an in memory data grid (IMDG) |
US20190146837A1 (en) * | 2014-09-29 | 2019-05-16 | Samsung Electronics Co., Ltd. | Distributed real-time computing framework using in-storage processing |
CN104375806B (zh) * | 2014-11-19 | 2015-12-09 | 北京应用物理与计算数学研究所 | 一种并行计算构件、方法及相应并行软件开发方法与系统 |
CN109241161B (zh) * | 2018-08-09 | 2022-02-01 | 深圳市雅码科技有限公司 | 一种气象数据管理方法 |
CN110764934B (zh) * | 2019-10-24 | 2020-11-27 | 清华大学 | 面向数值模型的并行通信方法、装置、系统和存储介质 |
CN110795605B (zh) * | 2020-01-03 | 2020-05-12 | 北京东方通科技股份有限公司 | 一种基于分布式内存网格的数据存储系统 |
CN111367665B (zh) * | 2020-02-28 | 2020-12-18 | 清华大学 | 一种并行通信路由建立方法及系统 |
-
2021
- 2021-04-19 CN CN202110417353.1A patent/CN113157806B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103092572A (zh) * | 2013-01-11 | 2013-05-08 | 中国科学院地理科学与资源研究所 | 一种集群环境下分布式水文模拟的并行化方法 |
WO2020252799A1 (zh) * | 2019-06-18 | 2020-12-24 | 中国科学院计算机网络信息中心 | 一种面向海量遥感影像的并行数据访问方法与系统 |
Non-Patent Citations (1)
Title |
---|
并行JFNK在结构多块网格CFD隐式求解中的应用;钟英 等;《2013全国高性能计算学术年会论文集》;20131029;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN113157806A (zh) | 2021-07-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110782042B (zh) | 横向联邦和纵向联邦联合方法、装置、设备及介质 | |
CN107122490B (zh) | 一种分组查询中聚合函数的数据处理方法及系统 | |
CN111126668B (zh) | 基于图卷积网络的Spark作业时间预测方法和装置 | |
CN111340237A (zh) | 数据处理和模型运行方法、装置和计算机设备 | |
CN116600017A (zh) | 资源调度方法、系统、装置、计算机设备和存储介质 | |
Li et al. | An FPGA design framework for CNN sparsification and acceleration | |
CN107729138B (zh) | 一种高性能分布式矢量空间数据的分析方法和装置 | |
CN112948123B (zh) | 一种基于Spark的网格水文模型分布式计算方法 | |
CN116775277A (zh) | 优化张量计算性能的方法及装置 | |
CN110866610A (zh) | 一种深度学习模型分布式运算的方法及装置 | |
CN113821332B (zh) | 自动机器学习系统效能调优方法、装置、设备及介质 | |
CN111400555A (zh) | 图数据查询任务处理方法、装置、计算机设备和存储介质 | |
CN104991813A (zh) | 一种数据处理的方法和装置 | |
CN113157806B (zh) | 网格数据分布式存储服务系统、方法、装置、设备及介质 | |
Ding et al. | Performance evaluation of GPU-accelerated spatial interpolation using radial basis functions for building explicit surfaces | |
CN116258042B (zh) | 一种基于ddm的大规模传热异构并行仿真方法 | |
CN103488699A (zh) | 基于内存数据网格的数据处理装置和方法 | |
CN104281636A (zh) | 海量报表数据并发分布式处理方法 | |
CN109446478A (zh) | 一种基于迭代和可重构方式的复协方差矩阵计算系统 | |
Zhao et al. | High efficient parallel numerical surface wave model based on an irregular quasi-rectangular domain decomposition scheme | |
CN112149213A (zh) | 核岛结构有限元模型网格数据传递方法、装置、设备 | |
CN104572588A (zh) | 矩阵求逆处理方法和装置 | |
Loring et al. | Improving performance of m-to-n processing and data redistribution in in transit analysis and visualization | |
CN115686784A (zh) | 一种基于多机多进程的地理网格金字塔并行构建方法 | |
Zhou et al. | Data decomposition method for parallel polygon rasterization considering load balancing |
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 |