CN105183366B - 基于预读缓写的数据分析处理方法及系统 - Google Patents
基于预读缓写的数据分析处理方法及系统 Download PDFInfo
- Publication number
- CN105183366B CN105183366B CN201510398862.9A CN201510398862A CN105183366B CN 105183366 B CN105183366 B CN 105183366B CN 201510398862 A CN201510398862 A CN 201510398862A CN 105183366 B CN105183366 B CN 105183366B
- Authority
- CN
- China
- Prior art keywords
- data
- entered
- module
- read
- result
- 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
Landscapes
- Complex Calculations (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种基于预读缓写的数据分析处理方法及系统,本发明中首先读入一部分待输入数据;然后根据输入的数据先行进行计算,同时读入剩余的一部分或全部的待输入数据,继续进行计算;同时,当有计算结果可以进行输出的时候,就先行将此部分结果输出,这种处理方式通过多线程编程,并行运行,以在最短的时间内完成程序的运行,达到内存的动态高效的使用;这种预读缓写机制的引入最大可以提高75%的程序运行效率,并且避免了数据在批量输入和输出时造存储堵塞。
Description
技术领域
本发明属于高性能遥感数据处理领域,更具体涉及一种基于预读缓写的数据分析处理方法及系统。
背景技术
在使用高性能集群进行批量数据计算的过程中,频繁地发生数据输入和输出的操作,由于计算量过大,从而导致多个计算节点同时访问存储器,因此会造成存储堵塞,不能达到理想的程序运行效率。现有技术中所涉及的生产程序一般为串行程序,基本都经过输入、计算和输出三个过程,可将这三个过程以如下三个模块进行理解:
输入模块,在运行输入模块时,将所有计算所需要的数据输入,暂时存储于内存中,但会占用大量空间;
计算模块,在输入模块运行结束后,计算模块将会进行运行状态,根据产品生产算法的实现的代码,利用输入数据进行计算,并将计算结果暂时保存于内存中;
输出模块,在计算模块结束后,将在于内存的计算依次输出到本地磁盘,结束程序的全部运行,如图1所示。由于三个模块是串行运行的,通过对三个模块的单独运行时间总和可以计算出总的运行时间。可以看出现有技术中要等上一个模块运行完毕才能启动下一个模块,因此产生了许多不必要的等待时间,降低了程序运行的效率,并且数据在批量输入和输出时造容易造成存储堵塞,因此需要一种方案能够提高程序运行效率,减少不必要的等待数据读入时间,减小数据在批量输入和输出时造存储堵塞的可能性,改善当前高性能集群的利用率,更灵活地配置各级数据存储与读取关系。
发明内容
(一)要解决的技术问题
本发明要解决的技术问题是如何在进行批量数据计算时,有效减少不必要的等待时间,提高程序运行效率,并且避免数据在批量输入和输出时造存储堵塞。
(二)技术方案
为了解决上述技术问题,本发明提供了一种基于预读缓写的数据分析处理方法,所述方法包括:
S1、读入部分待输入数据;
S2、利用相应的计算方法根据所述步骤S1中读入的所述待输入数据进行计算,得到对应的计算结果,并且将所述计算结果进行输出;
第一次执行完所述步骤S1之后,所述步骤S1和S2同时执行,直到所述待输入数据全部读入所述步骤S1停止执行;直到所有所述计算结果全部输出后所述步骤S2停止执行。
优选地,所述方法设置了标识所述待输入数据全部输入的第一标志位、标识利用对应的计算方法计算完所有的所述待输入数据的第二标志位以及标识所述计算结果全部输出的第三标志位。
优选地,所述步骤S1在读入所述待输入数据之前还包括以下步骤:
根据所述第一标志位,判断是否已经读入了全部的所述待输入数据,若是,则不再执行所述步骤S1,否则执行所述步骤S1。
优选地,所述步骤S2包括以下步骤:
S21、判断是否有所述待输入数据读入,若有执行步骤S22,否则执行所述步骤S1;
S22、利用相应的计算方法根据所述步骤21中读入的所述待输入数据进行计算;
S23、判断是否得到了对应的所述计算结果,若是则进行步骤S24,否则等待所述步骤S22执行,直到得到对应的所述计算结果;
S24、将所述计算结果进行输出。
优选地,所述步骤S21执行之前还包括以下步骤:
根据所述第二标志位,判断是否已经利用对应的计算方法计算完所有的所述待输入数据,若是则不再执行所述步骤S21,否则执行所述步骤S21。
优选地,所述步骤S23执行之前还包括以下步骤:
根据所述第三标志位,判断是否已经输出了所有的所述计算结果,若是则不再执行所述步骤S23,否则执行所述步骤S23。
本发明还公开了一种基于预读缓写的数据分析处理系统,所述系统包括数据输入模块、数据计算模块以及数据输出模块;
所述数据输入模块与所述数据计算模块连接,用于读入部分待输入数据并传递给所述数据计算模块;
所述数据计算模块与所述数据输出模块连接,利用相应的计算方法根据所述数据输入模块传递的所述待输入数据进行计算得到相应的计算结果并传递给所述数据输出模块,并由所述数据输出模块进行输出;
其中,所述数据输入模块读入所述部分待输入数据后,所述数据输入模块、所述数据计算模块以及所述数据输出模块同时工作,直到所述待输入数据全部读入所述数据输入模块,所述数据输入模块停止工作;直到所有所述计算结果全部输出,所述数据输出模块停止工作。
优选地,所述系统还包括标志位设置模块,其设置了标识所述待输入数据全部输入的第一标志位、标识利用对应的计算方法计算完所有的所述待输入数据的第二标志位以及标识所述计算结果全部输出的第三标志位。
优选地,所述数据输入模块包括输入判断子模块,所述输入判断子模块在所述数据输入模块读入部分待输入数据之前,根据所述第一标志位,判断是否已经读入了全部的所述待输入数据,若是则所述数据输入模块不再工作,否则由所述数据输入模块读入所述待输入数据。
优选地,所述数据计算模块包括计算前判断子模块,所述计算前 判断子模块在所述数据计算模块利用相应的计算方法根据所述数据输入模块传递的所述待输入数据进行计算之前,判断是否有所述待输入数据读入,若有则所述数据计算模块利用相应的计算方法根据读入的所述待输入数据进行计算,得到对应的所述计算结果。
(三)有益效果
本发明提供了一种基于预读缓写的数据分析处理方法及系统,本发明中首先读入一部分待输入数据;然后根据输入的数据先行进行计算,同时读入剩余的一部分货全部的待输入数据,继续进行计算;同时,当有计算结果可以进行输出的时候,就先行将此部分结果输出,这种处理方式通过多线程编程,将三个模块进行并行运算,以在最短的时间内完成程序的运行,达到内存的动态高效的使用;这种预读缓写机制的引入最大可以提高75%的程序运行效率,并且避免了数据在批量输入和输出时造存储堵塞。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为现有技术中程序串行运行流程图;
图2为本发明的一个较佳实施例的一种基于预读缓写的数据分析处理方法的流程图;
图3为本发明的另一个较佳实施例的一种基于预读缓写的数据分析处理方法的流程图;
图4为利用本发明的方法的程序运行效率与利用传统方法的程序运行效率的对比图。
具体实施方式
下面结合附图和实施例对本发明作进一步详细描述。以下实施例 用于说明本发明,但不能用来限制本发明的范围。
本发明公开了一种基于预读缓写的数据分析处理方法,所述方法包括:
S1、读入部分待输入数据;
S2、利用相应的计算方法根据所述步骤S1中读入的所述待输入数据进行计算,得到对应的计算结果,并且将所述计算结果进行输出;
第一次执行完所述步骤S1之后,所述步骤S1和S2同时执行,直到所述待输入数据全部读入所述步骤S1停止执行;直到所有所述计算结果全部输出后所述步骤S2停止执行。
上述方法体现了一种预读缓写机制:首先,读入一部分数据;然后根据现有的数据先行进行计算得到部分结果,同时读入其他的输入数据,支持计算过程的继续运行;同时,当有计算结果可以进行输出的时候,就先行将此部分结果输出到本地磁盘中,此机制或方法的读缓写设计是基于并行运算的基础,使现有技术中串行的过程,可以同时并行运行,能够有效提高程序运行效率及内存存储的合理利用率。
进一步地,上述方法设置了标识所述待输入数据全部输入的第一标志位、标识利用对应的计算方法计算完所有的所述待输入数据的第二标志位以及标识所述计算结果全部输出的第三标志位。
进一步地,所述步骤S1在读入所述待输入数据之前还包括以下步骤:根据所述第一标志位,判断是否已经读入了全部的所述待输入数据,若是,则不再执行所述步骤S1,否则执行所述步骤S1。
进一步地,所述步骤S2包括以下步骤:
S21、判断是否有所述待输入数据读入,若有执行步骤S22,否则执行所述步骤S1;
上述步骤S21执行之前还包括以下步骤:根据所述第二标志位,判断是否已经利用对应的计算方法计算完所有的所述待输入数据,若是则不再执行所述步骤S21,否则执行所述步骤S21;
S22、利用相应的计算方法根据所述步骤21中读入的所述待输入 数据进行计算;
S23、判断是否得到了对应的所述计算结果,若是则进行步骤S24,否则等待所述步骤S22执行,直到得到对应的所述计算结果;
上述步骤S23执行之前还包括以下步骤:根据所述第三标志位,判断是否已经输出了所有的所述计算结果,若是则不再执行所述步骤S23,否则执行所述步骤S23;
S24、将所述计算结果进行输出。
上述实施例的方法流程图如图2所示,判断是否已经读入了全部的所述待输入数据,若否则继续读入数据,若是则去判断是否已经计算完所有的所述待读入数据,若否则去判断是否有待输入数据读入,若是则去判断是否已经输出的全部的计算结果,若是则结束,否则去判断是否有新的计算结果得到。其中,待输入数据的读入由数据输入模块完成,计算由数据计算模块完成,输出由数据输出模块完成。三个模块间只有数据衔接的关系,以便于在并行计算时不会产生不必要的读写冲突。上述方法建立了标记变量(即第一标志位、第二标志位以及第三标志位),以记录输入的完成情况、计算的完成情况以及输出的完成情况,同时,需要建立随时检测机制,实时监测各个模块的运行进度,在程序运行的过程中随时监测程序运行以及可运行进行。从图2中可以看出,程序不再是如图1中所示的简单的线性串行运算,数据输入模块可能转入到数据计算模块,也可能返回到数据输入模块,各个模块是同时在运行的,因此可有效搞程序的运行效率,避免存储堵塞。
图3为本发明的另一个较佳实施例的一种基于预读缓写的数据分析处理方法的流程图,此实施例以GLASS(Global LAnd Surface Satellite)LAI(Leaf area index,叶面积指数,指单位地表面积上单面绿叶面积的总和)为技术背景对预读缓写设计作具体说明进行说明。GLASS LAI是863项目“全球陆表特征参量产品生成与应用研究”的产品之一,即全球陆表特征参量产品中的叶面积指数产品。在计算LAI (叶面积指数)需要先行计算两个不同的版本R1、R2版本(即两个不同的程序)的产品,这两个版本具有的不同参数。然后根据这两个版本的数据,以加权平均的方法将其融合为一个综合的版本的数据,以做为最后的输出数据。此处,以GLASS LAI将两个初始版本R1、R2版本(经过R1版本和R2版本计算得到的数据)进行融合的程序简称为FUSE程序。
现有技术中,FUSE(融合)程序行流程为:
1、将R1、R2版本的LAI每年各46天的产品作为输入数据输入;
2、对每天的46对R1、R2数据进行加权求平均;
3、将平均值做为输出,输出46个综合版本的LAI产品。
上述分三个模块进行计算的过程效率比,容易产生存储堵塞。
利用本发明的预读缓写机制对FUSE程序所做的工作如下:
1、将以上三个程序段以三个子函数的形式编码,可以通过调用子程序来完成,即实现代码的完全模块化;
2、设计三个整型数组变量r_flag[46]、c_flag[46]及w_flag[46]分别标记每天的数据输入、计算及输出情况(即第一标志位、第二标志位以及第三标志位),三个数据元素的初始值均为0,当检测到该天的数据发生变化时,就将对应的数据修改为1,如检测到第i天的R1和R2的数据输入完后,r_flag[i]就变为1,当检测到第i天的数据已计算完毕时,c_flag[i]就变为1,同样当检测到第i天的数据已输出时,就将w_flag[i]就变为1;
3、进行多线程编程,可以同时调用三个模块的同时运行,达到预读缓写的目的。
测试结果:
首先,对未进行预读缓写程序进行运行时间统计,由于程序是三个模块串行运行的,通过对三个模块的单独运行时间加总可以计算出总的运行时间。程序运行的硬件环境为:单个高性能节点运行单个程序,内存为24G。
输入模块读入一天的数据所需要的时间(微秒为单位)为:6630000.00μs,读入46天数据的所需的时间约为:304980000.00μs;
计算模块计算一天的结果所用的时间为:580000.00μs,计算46天数据所需的时间约为:26680000.00μs;
输出模块输出一天结果的时间为:2490000.00μs,输出46天数据所需的时间约为:114540000.00μs。
综上,总的运行时间约为:446200000.00us,约446秒。
在引入预读缓写机制后,所需时间的统计如表1所示。其中,线程总数表示在程序中创建的总的线程个数(包括输入线程、计算线程以及输出线程);输入线程表示创建了的输入模块的线程数;计算线程表示计算模块的线程数;输出线程表示输出模块的线程数;时间(us)表示在每种配置条件下,计算46天结果的总的运行时间,以微秒为单位。
表1引入预读缓写后程序运行时间统计表
编号 | 线程总数 | 输入线程 | 计算线程 | 输出线程 | 时间(μs) |
0 | 1 | 0 | 0 | 0 | 446200000 |
1 | 3 | 1 | 1 | 1 | 151730000 |
2 | 4 | 2 | 1 | 1 | 152610000 |
3 | 4 | 1 | 2 | 1 | 396610000 |
4 | 5 | 3 | 1 | 1 | 144870000 |
5 | 5 | 2 | 2 | 1 | 359330000 |
6 | 6 | 3 | 1 | 2 | 122230000 |
7 | 6 | 4 | 1 | 1 | 133670000 |
8 | 6 | 2 | 2 | 2 | 363990000 |
9 | 7 | 4 | 1 | 2 | 118940000 |
10 | 7 | 5 | 1 | 1 | 132030000 |
11 | 7 | 3 | 1 | 3 | 140700000 |
12 | 7 | 3 | 2 | 2 | 153350000 |
13 | 8 | 5 | 1 | 2 | 109320000 |
14 | 8 | 6 | 1 | 1 | 135700000 |
15 | 8 | 4 | 2 | 2 | 140230000 |
16 | 8 | 4 | 1 | 3 | 141860000 |
17 | 8 | 3 | 2 | 3 | 178760000 |
18 | 9 | 5 | 1 | 3 | 124020000 |
19 | 9 | 4 | 2 | 3 | 149710000 |
20 | 9 | 4 | 3 | 2 | 203330000 |
21 | 9 | 2 | 3 | 4 | 249030000 |
22 | 9 | 3 | 3 | 3 | 260960000 |
23 | 10 | 5 | 1 | 4 | 140970000 |
24 | 10 | 5 | 2 | 3 | 157060000 |
25 | 10 | 4 | 2 | 4 | 159590000 |
26 | 10 | 5 | 2 | 3 | 160160000 |
27 | 10 | 4 | 3 | 3 | 217470000 |
28 | 10 | 5 | 3 | 2 | 229440000 |
29 | 10 | 3 | 4 | 3 | 250920000 |
30 | 11 | 6 | 1 | 4 | 148480000 |
31 | 11 | 6 | 2 | 3 | 214260000 |
32 | 11 | 4 | 4 | 3 | 241830000 |
33 | 11 | 3 | 4 | 4 | 251920000 |
34 | 11 | 4 | 3 | 4 | 255280000 |
35 | 11 | 3 | 4 | 4 | 268660000 |
36 | 12 | 6 | 1 | 5 | 152470000 |
37 | 12 | 7 | 2 | 3 | 159130000 |
38 | 12 | 6 | 2 | 4 | 169160000 |
39 | 12 | 5 | 2 | 5 | 190590000 |
40 | 12 | 5 | 3 | 4 | 238180000 |
41 | 12 | 5 | 4 | 3 | 239760000 |
42 | 12 | 5 | 3 | 4 | 269840000 |
43 | 12 | 4 | 4 | 4 | 388640000 |
综合上表中的数据,可以总结出,在引入预读缓写机制后,运行效率在各种线程分配下,计算效率均有提高,特别是在第13行这样的分配下,程序运行的时间提高至109秒。
然后,对计算运行效率提高做进一步分析,将不同运行条件下,根据程序运行的效率提高程度进行统计并排序,运行效率提高对比如表2所示。
表2中,编号0的运行条件为原始程序运行情况,即原单线程串行程序的运行结果。编号从1开始的运行条件为该行对应的第2列的线程总数,其中输入线程数、计算线程、输出线程分别对应该行第3、4、5列数据。第6列为程序运行时间,第7列为对应情况下,程序效 率提高比。
效率提高比的计算方法为:用各预读缓写机制下所减少的运行时间除不引入时的运行时间,从而得出运行效率提高百分比,即(ti-t0)/t0,其中,t0编号为0即原始程序运行时间,ti是在其他情形下的运行时间。
表2计算46天数据运行效率对比
从表1、2中可见,预读缓写机制总体可以提高程序运行效率。但在不同的配置情况下提高的程度不一样。将每种线程总数的情况下运行效率提高比最大的条件(表2中编号为13、9、6、18、23、4、30、1、36、2的行),通过图4进行直观显示。其中。横坐标表示运行的总线程数,左边的纵坐标表示运行时间,右边纵坐标表示效率提高比。
从图4中可以总结到当线程总数为8时,运行效率最高,运行时间呈现凹抛物线形状,运行效率提高比呈现凸抛物线形状。所以不一定是线程分配越多,运行效率越高。同时,由于相比而言,程序中数据计算模块的时间短,输出模块时间次之,输入模块最慢,所以应该合理分配不同模块的线程数,如果计算模块过多,将不会有较大的提高。同理,当进行总数达到一定的数量时,如编号为8的情形下,运行速度不会有较大的程度。所以,在引入预读缓写机制时,要注意线程总数及线程的分配两个问题。一般而言,分配线程应有以下原则:根据硬件情况,合理分配线程总个数;运行时间较长的模块应该对应较多个线程个数;为了实现缓写的功能,并且更好地实现动态使用内存的目的,应尽量减少输出模块的线程数,防止输出模块占用过多的资源。
对应于上述方法本发明还公开了一种基于预读缓写的数据分析处 理系统,所述系统包括数据输入模块、数据计算模块以及数据输出模块;所述数据输入模块与所述数据计算模块连接,用于读入部分待输入数据并传递给所述数据计算模块;所述数据计算模块与所述数据输出模块连接,利用相应的计算方法根据所述数据输入模块传递的所述待输入数据进行计算得到相应的计算结果并传递给所述数据输出模块,并由所述数据输出模块进行输出;其中,所述数据输入模块读入所述部分待输入数据后,所述数据输入模块、所述数据计算模块以及所述数据输出模块同时工作,直到所述待输入数据全部读入所述数据输入模块,所述数据输入模块停止工作;直到所有所述计算结果全部输出,所述数据输出模块停止工作。
进一步地,所述系统还包括标志位设置模块,其设置了标识所述待输入数据全部输入的第一标志位、标识利用对应的计算方法计算完所有的所述待输入数据的第二标志位以及标识所述计算结果全部输出的第三标志位。
进一步地,所述数据输入模块包括输入判断子模块,所述输入判断子模块在所述数据输入模块读入部分待输入数据之前,根据所述第一标志位,判断是否已经读入了全部的所述待输入数据,若是则所述数据输入模块不再工作,否则由所述数据输入模块读入所述待输入数据。
进一步地,所述数据计算模块包括计算前判断子模块,所述计算前判断子模块在所述数据计算模块利用相应的计算方法根据所述数据输入模块传递的所述待输入数据进行计算之前,判断是否有所述待输入数据读入,若有则所述数据计算模块利用相应的计算方法根据读入的所述待输入数据进行计算,得到对应的所述计算结果。所述计算前判断子模块在判断是否有所述待输入数据读入之前首先根据所述第二标志位,判断是否已经利用对应的计算方法计算完所有的所述待输入数据,若是则不再执行所述步骤S21,否则执行所述步骤S21。
进一步地,所述数据计算模块包括输出子模块,所述输出子模块 判断是否得到了对应的所述计算结果,若是则进行步骤S24,否则等待所述步骤S22执行,直到得到对应的所述计算结果。所述输出子模块在判断是否得到了对应的所述计算结果之前首先根据所述第三标志位,判断是否已经输出了所有的所述计算结果,若是则不再执行所述步骤S23,否则执行所述步骤S23。
综上所述,在预读缓写机制中,预读的目的是,在全部计算开始前,将部分计算过程所需要的数据从本地硬盘预读入内存中,以满足部分计算的运行。在进行计算的同时,将剩余的所需数据读入内存,以满足计算的循序地进行,并将已经不再需要输入数据所占的内存空间释放,提高内存的利用率。缓写的目的是,利用存储空闲时间,提前将生产的数据结果迁移保存至本地硬盘,可减轻批量输出造成的存储负担同时提高数据的写入速度。预读缓写机制的引入可以提高程序的运行效率75%,达到动态使用内存的目的。
以上实施方式仅用于说明本发明,而非对本发明的限制。尽管参照实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,对本发明的技术方案进行各种组合、修改或者等同替换,都不脱离本发明技术方案的精神和范围,均应涵盖在本发明的权利要求范围当中。
Claims (10)
1.一种基于预读缓写的数据分析处理方法,其特征在于,所述方法包括:
S1、读入部分待输入数据;
S2、利用相应的计算方法根据所述步骤S1中读入的所述待输入数据进行计算,得到对应的计算结果,并且将所述计算结果进行输出;
第一次执行完所述步骤S1之后,所述步骤S1和S2同时执行,直到所述待输入数据全部读入所述步骤S1停止执行;直到所有所述计算结果全部输出后所述步骤S2停止执行;
其中,所述计算方法包括数据融合方法。
2.根据权利要求1所述的方法,其特征在于,所述方法设置了标识所述待输入数据全部输入的第一标志位、标识利用对应的计算方法计算完所有的所述待输入数据的第二标志位以及标识所述计算结果全部输出的第三标志位。
3.根据权利要求2所述的方法,其特征在于,所述步骤S1在读入所述待输入数据之前还包括以下步骤:
根据所述第一标志位,判断是否已经读入了全部的所述待输入数据,若是,则不再执行所述步骤S1,否则执行所述步骤S1。
4.根据权利要求2所述的方法,其特征在于,所述步骤S2包括以下步骤:
S21、判断是否有所述待输入数据读入,若有执行步骤S22,否则执行所述步骤S1;
S22、利用相应的计算方法根据所述步骤21中读入的所述待输入数据进行计算;
S23、判断是否得到了对应的所述计算结果,若是则进行步骤S24,否则等待所述步骤S22执行,直到得到对应的所述计算结果;
S24、将所述计算结果进行输出。
5.根据权利要求4所述的方法,其特征在于,所述步骤S21执行之前还包括以下步骤:
根据所述第二标志位,判断是否已经利用对应的计算方法计算完所有的所述待输入数据,若是则不再执行所述步骤S21,否则执行所述步骤S21。
6.根据权利要求4所述的方法,其特征在于,所述步骤S23执行之前还包括以下步骤:
根据所述第三标志位,判断是否已经输出了所有的所述计算结果,若是则不再执行所述步骤S23,否则执行所述步骤S23。
7.一种基于预读缓写的数据分析处理系统,其特征在于,所述系统包括数据输入模块、数据计算模块以及数据输出模块;
所述数据输入模块与所述数据计算模块连接,用于读入部分待输入数据并传递给所述数据计算模块;
所述数据计算模块与所述数据输出模块连接,利用相应的计算方法根据所述数据输入模块传递的所述待输入数据进行计算得到相应的计算结果并传递给所述数据输出模块,并由所述数据输出模块进行输出;
其中,所述数据输入模块读入所述部分待输入数据后,所述数据输入模块、所述数据计算模块以及所述数据输出模块同时工作,直到所述待输入数据全部读入所述数据输入模块,所述数据输入模块停止工作;直到所有所述计算结果全部输出,所述数据输出模块停止工作;所述计算方法包括数据融合方法。
8.根据权利要求7所述的系统,其特征在于,所述系统还包括标志位设置模块,其设置了标识所述待输入数据全部输入的第一标志位、标识利用对应的计算方法计算完所有的所述待输入数据的第二标志位以及标识所述计算结果全部输出的第三标志位。
9.根据权利要求8所述的系统,其特征在于,所述数据输入模块包括输入判断子模块,所述输入判断子模块在所述数据输入模块读入部分待输入数据之前,根据所述第一标志位,判断是否已经读入了全部的所述待输入数据,若是则所述数据输入模块不再工作,否则由所述数据输入模块读入所述待输入数据。
10.根据权利要求8所述的系统,其特征在于,所述数据计算模块包括计算前判断子模块,所述计算前判断子模块在所述数据计算模块利用相应的计算方法根据所述数据输入模块传递的所述待输入数据进行计算之前,判断是否有所述待输入数据读入,若有则所述数据计算模块利用相应的计算方法根据读入的所述待输入数据进行计算,得到对应的所述计算结果。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510398862.9A CN105183366B (zh) | 2015-07-08 | 2015-07-08 | 基于预读缓写的数据分析处理方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510398862.9A CN105183366B (zh) | 2015-07-08 | 2015-07-08 | 基于预读缓写的数据分析处理方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105183366A CN105183366A (zh) | 2015-12-23 |
CN105183366B true CN105183366B (zh) | 2018-04-17 |
Family
ID=54905475
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510398862.9A Active CN105183366B (zh) | 2015-07-08 | 2015-07-08 | 基于预读缓写的数据分析处理方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105183366B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7809883B1 (en) * | 2007-10-16 | 2010-10-05 | Netapp, Inc. | Cached reads for a storage system |
EP1687724B1 (en) * | 2003-11-25 | 2011-11-23 | Network Appliance, Inc. | Adaptive file readahead technique for multiple read streams |
CN103150220A (zh) * | 2011-12-07 | 2013-06-12 | 腾讯科技(深圳)有限公司 | 进程间的通信方法和通信系统 |
CN104142142A (zh) * | 2014-07-01 | 2014-11-12 | 北京师范大学 | 全球植被覆盖度估算方法 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4767127B2 (ja) * | 2006-08-10 | 2011-09-07 | 株式会社日立製作所 | ファイルサーバ、計算機システム及びファイルの先読み方法。 |
US9069792B1 (en) * | 2008-08-22 | 2015-06-30 | Conifer Systems LLC | Method and system for persistently cached, copy-on-write view of revision control trees |
US8402051B2 (en) * | 2009-01-06 | 2013-03-19 | Emc Corporation | Consumer share quota feature |
JP5400889B2 (ja) * | 2010-03-31 | 2014-01-29 | 株式会社日立ソリューションズ | ファイルサーバ装置、及びストレージシステムの管理方法、並びにプログラム |
TWI461929B (zh) * | 2011-12-09 | 2014-11-21 | Promise Tecnnology Inc | 雲端數據儲存系統 |
-
2015
- 2015-07-08 CN CN201510398862.9A patent/CN105183366B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1687724B1 (en) * | 2003-11-25 | 2011-11-23 | Network Appliance, Inc. | Adaptive file readahead technique for multiple read streams |
US7809883B1 (en) * | 2007-10-16 | 2010-10-05 | Netapp, Inc. | Cached reads for a storage system |
CN103150220A (zh) * | 2011-12-07 | 2013-06-12 | 腾讯科技(深圳)有限公司 | 进程间的通信方法和通信系统 |
CN104142142A (zh) * | 2014-07-01 | 2014-11-12 | 北京师范大学 | 全球植被覆盖度估算方法 |
Non-Patent Citations (3)
Title |
---|
GLASS叶面积指数产品验证;向阳 等;《遥感学报》;20140331(第2014年第03期);第585至596页 * |
基于FUSE的用户态文件系统的设计与实现;黄永胜;《中国硕士学位论文全文数据库(信息科技辑)》;20150515(第2015年第05期);第I138-602页 * |
数据层资源适应型若干优化实现方法及应用研究;隋新征;《中国博士学位论文全文数据库(信息科技辑)》;20140615(第2014年第06期);第I138-13页,正文第13-14页,第68-69页 * |
Also Published As
Publication number | Publication date |
---|---|
CN105183366A (zh) | 2015-12-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101799748B (zh) | 一种确定数据样本类别的方法及其系统 | |
Liu et al. | Learning imbalanced multi-class data with optimal dichotomy weights | |
US20140068167A1 (en) | Results generation for state machine engines | |
WO2007124616A1 (en) | System based method for content-based partitioning and mining | |
EP2880566B1 (en) | A method for pre-processing and processing query operation on multiple data chunk on vector enabled architecture | |
CN108763612A (zh) | 一种神经网络的池化层加速运算的方法与电路 | |
CN109389212A (zh) | 一种面向低位宽卷积神经网络的可重构激活量化池化系统 | |
Song et al. | Novel graph processor architecture, prototype system, and results | |
CN103440246A (zh) | 用于MapReduce的中间结果数据排序方法及系统 | |
CN105700956A (zh) | 用于处理分布式作业的方法和系统 | |
CN103019855A (zh) | MapReduce作业执行时间预测方法 | |
CN105830160B (zh) | 用于将经屏蔽数据写入到缓冲器的设备及方法 | |
CN115437795A (zh) | 一种异构gpu集群负载感知的显存重计算优化方法及系统 | |
CN115390788A (zh) | 基于fpga的图卷积神经网络稀疏矩阵乘法分配系统 | |
CN110244787A (zh) | 转速控制系统的调节方法及装置 | |
CN105183366B (zh) | 基于预读缓写的数据分析处理方法及系统 | |
CN109635937A (zh) | 一种面向低位宽卷积神经网络的低功耗系统 | |
EP2996040A1 (fr) | Procédé de détermination par optimisation d'une architecture multi-coeurs | |
CN106681837A (zh) | 基于数据表的数据淘汰方法及装置 | |
CN114489518B (zh) | 测序数据质量控制方法及系统 | |
Ascia et al. | Networks-on-chip based deep neural networks accelerators for iot edge devices | |
Zou et al. | Volatility matrix inference in high-frequency finance with regularization and efficient computations | |
CN112580838B (zh) | 环保设备运维的管理方法、系统、计算机存储介质及终端 | |
CN107340992A (zh) | 一种定点数据筛选电路 | |
CN114546652A (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 |