数据并行读取方法及装置的制造方法_3

文档序号:9667444阅读:来源:国知局
数据表T3被存储在三个文件中。另外,三个文件编号所对应的存储介质名称分 别为D1~D3,进而便可知待读取数据表被存储在存储介质D1~D3中。
[0073] 由以上可知,待读取数据表以文件形式存储在存储介质中,更详细一点来讲,文件 中包含文件块,待读物数据表是以文件块(或者称为数据块)的形式存储在存储介质中的, 对待读取数据表的读取实际上是以数据块为单位进行读取,因此,如图2所示,图1所示的 数据并行读取方法实施例1中步骤S103确定分时长的具体实现方式可以包括步骤S201~ 步骤S203。
[0074] 步骤S201 :若确定出的存储介质为多个,确定待读取数据表分别存储在每个存储 介质中的数据块数量。
[0075] 在实施中,若步骤S102确定出待读取数据表被存储在多个存储介质中,则针对每 个存储介质,确定该存储介质中存储的数据块的数量。在存储介质中确定数据块数量的方 式可以参见上述确定文件的方式。具体地:
[0076] 记录的特征数据中包含记录的文件块编号,因此,在对待读取数据表中的文件进 行分组确定出包含多少文件后,可以进一步针对每个文件,对该文件中包含的文件块进行 分组,即将相同的文件块编号划分为一组,有多少组就表不该文件中包含多少文件块。
[0077] 步骤S202 :确定每个存储介质的数据块读取速率。
[0078] 在确定出待读取数据表存储在哪些存储介质后,还可以进一步确定各个存储介质 中的数据块被读取的速率。简单的确定方式可以是,直接读取存储介质的参数数据,参数数 据中包含存储介质的数据读取速率。但是,该种方式可能在实际应用中存在误差。理由是, 存储介质是物理介质,物理特性之一是存取速率会随着使用时间的增长而降低,因此,为了 保证确定的数据块读取效率的准确性,可以实际测试各个存储介质的读取速率。
[0079] 具体地,分别在每个存储介质中读取一个数据块,并将读取一个数据块的时长分 别确定为对应存储介质的数据块读取速率。
[0080] 简单来讲,针对每个存储介质,在该存储介质中实际读取一个数据块,记录读取时 长,将记录的读取时长确定为该存储介质的数据块读取速率。当然,在实际应用中,可以并 不限定于使用一个数据块进行测试,可以是多个数据块,再对多个数据块的读取时长求解 平均值即可。该种实际测试的方式相较于上述直接读取参数数据的方式,准确性更高。
[0081] 需要说明的是,步骤S201与步骤S202的执行顺序并不限定于图2,步骤S202也可 以是与步骤S201同时执行或交换执行,即若确定出的存储介质为多个,可以同时确定数据 块数据量及数据块读取速率,也可以先确定数据块读取速率再确定数据块数量。总结来讲, 这两个特征值只要在步骤S203执行之前确定出即可。
[0082] 步骤S203:针对每个存储介质,依据各自的数据块数量及数据块读取速率,计算 自身存储的数据块被读取所需的分时长。
[0083] 其中,针对每个存储介质,其包含的数据块数量为Bi,文件块读取时长为Ti,则从 该存储介质中读取所有数据块的分时长为Bi*Ti。
[0084] 在获得分时长后,分时长总和平均分配到读取设备的平均时长的确定方式可以 是:存储介质为多个,则将所有的分时长求和,再依据分时长的和值及读取设备的个数计算 平均值。例如,
[0085]
车中,Tall为分时长的和值,N为存储介质的个数,Tavg为平均时长,Μ为读取设备的个数。
[0086] 综上,通过以上步骤S201~步骤S203的方式,可以在待读取数据表分开存储在多 个存储介质的情况下,确定出从每个存储介质中各自读取待读取数据表所耗费的时长。并 且,进而可以将各个分时长对读取设备进行平均分配,并触发读取设备按照平均时长从存 储介质中读取待读取数据表。
[0087] 需要说明的是,在实际应用中,待读取数据表可能存储在多个存储介质中,当然, 也可能是存储在一个存储介质中。在这种情况下,只需要将该存储介质的读取时长平均分 配至多台读取设备即可。
[0088] 具体地,见图3,本申请提供了一种数据并行读取方法实施例2的流程。如图3所 示,本实施例可以在图1所示的数据并行读取方法实施例1的基础上,还包括步骤S106~ S108。以下仅对此三个步骤进行说明,步骤S101~步骤S105可以参见上述说明,此处并不 赘述。
[0089] 步骤S106 :若确定出的存储介质为一个,则确定从存储介质中读取待读取数据表 所需的时长。
[0090] 其中,在步骤S102确定出待读取数据表存储在哪个(些)存储介质后,可以判断 该存储介质为一个还是多个,若为一个,便确定从该存储介质中读取待读取数据所耗费的 时长。需要说明的是,确定时长的方法可以与上文同理,即依据数据块数量及数据块读取速 率来确定所需的时长,具体过程可以参见上文,此处并不赘述。
[0091] 步骤S107 :将时长平均分配至多个读取设备。
[0092] 例如,从该存储介质中读取出全部数据块的时长为100秒,读取设备为4台,则平 均时长为25秒。
[0093] 步骤S108:触发多个读取设备依据各自分配到的平均时长从存储介质中并行读 取待读取数据表。
[0094] 其中,具体的触发方式可以是,依据平均时长确定出该平均时长所对应的数据块 的数量,将全部的数据块平均分配至多台读取设备,控制读取设备读取平均数量的数据块。 例如,平均时长为25秒,每个数据块的读取速率为1秒,则数据块的平均数量为25块。
[0095] 由以上技术方案可知,本实施例在待读取数据表被存储在一个存储介质的情况 下,也可以保证读取设备的读取时长为平均值,从而相较于现有技术的并行读取的方式而 言,具有较高的读取效率。
[0096] 当然,在待读取数据表以数据块的方式存储在一个存储介质的情况下,还可以是 确定出待读取数据表对应的数据块的数量,将该数据量平均分配至多台读取设备,触发多 台读取设备并行读取平均数量数据块的待读取数据表。
[0097] 例如,待读取数据表在存储介质中的数据块数量为400块,读取设备为4台,则触 发4台读取设备平均读取25块的数据块。
[0098] 下面对本申请提供的数据并行读取装置进行介绍,需要说明的是,有关数据并行 读取装置的说明可以参见数据并行读取方法,以下并不赘述。
[0099] 参见图4,其示出了本申请提供的数据并行读取装置实施例1的结构。如图1所示, 本实施例可以包括:数据表及读取设备确定模块401、存储介质确定模块402、第一读取分 时长确定模块403、第一时长平均分配模块404及第一触发读取设备读取模块405 ;其中: [0100] 数据表及读取设备确定模块401,用于响应于数据表读取指令,确定待读取数据表 及多台读取设备;其中,读取设备用于并行读取存储在存储介质中的待读取数据表;
[0101] 存储介质确定模块402,用于确定存储待读取数据表的存储介质;
[0102] 第一读取分时长确定模块403,用于若确定出的存储介质为多个,则分别确定从每 个存储介质中读取部分待读取数据表所需的分时长;
[0103] 第一时长平均分配模块404,用于将多个分时长的总和平均分配至多台读取设 备;
[0104] 第一触发读取设备读取模块405,用于触发多台读取设备依据平均时长从多个存 储介质中并行读取待读取数据表。
[0105] 本申请提供了一种数据并行读取装置实施例,本实施例中存储介质确定模块402 在数据表及读取设备确定模块401确定出待读取的数据表及用于读取数据表的读取设备 后,进一步查找出该数据表存储在哪个(些)存储介质上,若存储介质为多个,则第一读取 分时长确定模块403再进一步确定从每个存储介质中读取数据表需要的时长,进而第一时 长平均分配模块404将多个时长平均分配给以上多台读取设备,第一触发读取设备读取模 块405触发该多台读取设备按照平均时长并行从存储介质中读取数据表。可见,与现有技 术中以数据表中某列的编号为依据进行数据划分的方式不同,本实施例将从存储介质中读 取数据表的时长作为依据,并将各个时长平均分配给读取设备,从而可以保证每台读取设 备耗费的时长是相同的,避免现有技术出现的读取时长不平均现象,提高了并行读取的效 率。
[0106] 在实际应用中,数据并行读取装置中的存储介质确定模块402可以具体包括:记 录特征数据获取子模块及存储介质名称查找子模块;其中:
[0107] 记录特征数据获取子模块,用于从测试数据表中,获取待读取数据表中每条记录 的特征数据;其中,每条记录的特征数据均包括各自的文件编号,不同的文件编号对应不同 的存储介质;
[01
当前第3页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1