基于预读缓写的数据分析处理方法及系统的制作方法

文档序号:9432191阅读:564来源:国知局
基于预读缓写的数据分析处理方法及系统的制作方法
【技术领域】
[0001] 本发明属于高性能遥感数据处理领域,更具体设及一种基于预读缓写的数据分析 处理方法及系统。
【背景技术】
[0002] 在使用高性能集群进行批量数据计算的过程中,频繁地发生数据输入和输出的操 作,由于计算量过大,从而导致多个计算节点同时访问存储器,因此会造成存储堵塞,不能 达到理想的程序运行效率。现有技术中所设及的生产程序一般为串行程序,基本都经过输 入、计算和输出=个过程,可将运=个过程W如下=个模块进行理解:
[0003]输入模块,在运行输入模块时,将所有计算所需要的数据输入,暂时存储于内存 中,但会占用大量空间;
[0004]计算模块,在输入模块运行结束后,计算模块将会进行运行状态,根据产品生产算 法的实现的代码,利用输入数据进行计算,并将计算结果暂时保存于内存中;
[0005] 输出模块,在计算模块结束后,将在于内存的计算依次输出到本地磁盘,结束程序 的全部运行,如图1所示。由于=个模块是串行运行的,通过对=个模块的单独运行时间总 和可W计算出总的运行时间。可W看出现有技术中要等上一个模块运行完毕才能启动下一 个模块,因此产生了许多不必要的等待时间,降低了程序运行的效率,并且数据在批量输入 和输出时造容易造成存储堵塞,因此需要一种方案能够提高程序运行效率,减少不必要的 等待数据读入时间,减小数据在批量输入和输出时造存储堵塞的可能性,改善当前高性能 集群的利用率,更灵活地配置各级数据存储与读取关系。

【发明内容】

[0006](一)要解决的技术问题
[0007] 本发明要解决的技术问题是如何在进行批量数据计算时,有效减少不必要的等待 时间,提高程序运行效率,并且避免数据在批量输入和输出时造存储堵塞。
[000引(二)技术方案
[0009] 为了解决上述技术问题,本发明提供了一种基于预读缓写的数据分析处理方法, 所述方法包括:
[0010]S1、读入部分待输入数据;
[0011]S2、利用相应的计算方法根据所述步骤S1中读入的所述待输入数据进行计算,得 到对应的计算结果,并且将所述计算结果进行输出;
[0012] 第一次执行完所述步骤S1之后,所述步骤S1和S2同时执行,直到所述待输入数 据全部读入所述步骤S1停止执行;直到所有所述计算结果全部输出后所述步骤S2停止执 行。
[0013] 优选地,所述方法设置了标识所述待输入数据全部输入的第一标志位、标识利用 对应的计算方法计算完所有的所述待输入数据的第二标志位W及标识所述计算结果全部 输出的第立标志位。
[0014] 优选地,所述步骤S1在读入所述待输入数据之前还包括W下步骤:
[0015] 根据所述第一标志位,判断是否已经读入了全部的所述待输入数据,若是,则不再 执行所述步骤S1,否则执行所述步骤S1。
[0016] 优选地,所述步骤S2包括W下步骤:
[0017]S21、判断是否有所述待输入数据读入,若有执行步骤S22,否则执行所述步骤S1;
[0018]S22、利用相应的计算方法根据所述步骤21中读入的所述待输入数据进行计算;
[0019]S23、判断是否得到了对应的所述计算结果,若是则进行步骤S24,否则等待所述步 骤S22执行,直到得到对应的所述计算结果;
[0020] S24、将所述计算结果进行输出。
[0021] 优选地,所述步骤S21执行之前还包括W下步骤:
[0022] 根据所述第二标志位,判断是否已经利用对应的计算方法计算完所有的所述待输 入数据,若是则不再执行所述步骤S21,否则执行所述步骤S21。
[0023] 优选地,所述步骤S23执行之前还包括W下步骤:
[0024] 根据所述第S标志位,判断是否已经输出了所有的所述计算结果,若是则不再执 行所述步骤S23,否则执行所述步骤S23。
[00巧]本发明还公开了一种基于预读缓写的数据分析处理系统,所述系统包括数据输入 模块、数据计算模块W及数据输出模块;
[0026]所述数据输入模块与所述数据计算模块连接,用于读入部分待输入数据并传递给 所述数据计算模块;
[0027]所述数据计算模块与所述数据输出模块连接,利用相应的计算方法根据所述数据 输入模块传递的所述待输入数据进行计算得到相应的计算结果并传递给所述数据输出模 块,并由所述数据输出模块进行输出;
[0028] 其中,所述数据输入模块读入所述部分待输入数据后,所述数据输入模块、所述数 据计算模块W及所述数据输出模块同时工作,直到所述待输入数据全部读入所述数据输入 模块,所述数据输入模块停止工作;直到所有所述计算结果全部输出,所述数据输出模块停 止工作。
[0029] 优选地,所述系统还包括标志位设置模块,其设置了标识所述待输入数据全部输 入的第一标志位、标识利用对应的计算方法计算完所有的所述待输入数据的第二标志位W 及标识所述计算结果全部输出的第=标志位。
[0030]优选地,所述数据输入模块包括输入判断子模块,所述输入判断子模块在所述数 据输入模块读入部分待输入数据之前,根据所述第一标志位,判断是否已经读入了全部的 所述待输入数据,若是则所述数据输入模块不再工作,否则由所述数据输入模块读入所述 待输入数据。
[0031]优选地,所述数据计算模块包括计算前判断子模块,所述计算前判断子模块在所 述数据计算模块利用相应的计算方法根据所述数据输入模块传递的所述待输入数据进行 计算之前,判断是否有所述待输入数据读入,若有则所述数据计算模块利用相应的计算方 法根据读入的所述待输入数据进行计算,得到对应的所述计算结果。
[003引(S)有益效果
[0033] 本发明提供了一种基于预读缓写的数据分析处理方法及系统,本发明中首先读入 一部分待输入数据;然后根据输入的数据先行进行计算,同时读入剩余的一部分货全部的 待输入数据,继续进行计算;同时,当有计算结果可W进行输出的时候,就先行将此部分结 果输出,运种处理方式通过多线程编程,将=个模块进行并行运算,W在最短的时间内完成 程序的运行,达到内存的动态高效的使用;运种预读缓写机制的引入最大可W提高75%的 程序运行效率,并且避免了数据在批量输入和输出时造存储堵塞。
【附图说明】
[0034]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现 有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本 发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可W 根据运些附图获得其他的附图。
[0035] 图1为现有技术中程序串行运行流程图;
[0036]图2为本发明的一个较佳实施例的一种基于预读缓写的数据分析处理方法的流 程图;
[0037]图3为本发明的另一个较佳实施例的一种基于预读缓写的数据分析处理方法的 流程图;
[0038] 图4为利用本发明的方法的程序运行效率与利用传统方法的程序运行效率的对 比图。
【具体实施方式】
[0039] 下面结合附图和实施例对本发明作进一步详细描述。W下实施例用于说明本发 明,但不能用来限制本发明的范围。
[0040] 本发明公开了一种基于预读缓写的数据分析处理方法,所述方法包括:
[0041]S1、读入部分待输入数据;
[0042]S2、利用相应的计算方法根据所述步骤S1中读入的所述待输入数据进行计算,得 到对应的计算结果,并且将所述计算结果进行输出;
[0043] 第一次执行完所述步骤S1之后,所述步骤S1和S2同时执行,直到所述待输入数 据全部读入所述步骤S1停止执行;直到所有所述计算结果全部输出后所述步骤S2停止执 行。
[0044] 上述方法体现了一种预读缓写机制:首先,读入一部分数据;然后根据现有的数 据先行进行计算得到部分结果,同时读入其他的输入数据,支持计算过程的继续运行;同 时,当有计算结果可W进行输出的时候,就先行将此部分结果输出到本地磁盘中,此机制或 方法的读缓写设计是基于并行
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1