CN106844601B - 一种数据存储方法及数据存储装置 - Google Patents
一种数据存储方法及数据存储装置 Download PDFInfo
- Publication number
- CN106844601B CN106844601B CN201710028418.7A CN201710028418A CN106844601B CN 106844601 B CN106844601 B CN 106844601B CN 201710028418 A CN201710028418 A CN 201710028418A CN 106844601 B CN106844601 B CN 106844601B
- Authority
- CN
- China
- Prior art keywords
- data
- dimensional variable
- dimensional
- storage
- file
- 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
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/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/1727—Details of free space management performed by the file system
-
- 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/13—File access structures, e.g. distributed indices
-
- 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/17—Details of further file system functions
- G06F16/174—Redundancy elimination performed by the file system
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
本发明涉及信息处理技术领域,公开了一种数据存储方法及数据存储装置。该数据存储方法包括:从原始数据文件中读取2*M个数据;按照原始数据文件中数据的存储规律,将读取的数据分别存入预设的C个长度为DX的一维变量中;计算每一个一维变量的第一个数据在预设的二维变量中的开始位置,其中,该二维变量的行数为N,列数为P;从开始位置按照存储规律将所述一维变量中的有效数据填充到二维变量。本发明实施方式,剔除了原始数据文件中的冗余数据,并根据原始数据文件中数据的存储规律将有效数据保存至预设的二维变量中。这种存储方式不仅会减少内存空间,还会减小查找相关反应单元的输出数据的时间,从而提高工作效率。
Description
技术领域
本发明涉及信息处理技术领域,特别涉及一种数据存储方法及数据存储装置。
背景技术
为了测试芯片的性能,需要用测序仪采集芯片中各反应单元(即芯片中进行相关反应的反应腔)的输出数据进行研究。现有技术中,为了方便数据的采集,常会设计简单的数据采样原则或采集方法。但本发明的发明人发现,这些数据采样原则或采集方法通常会每次采集的数据的个数有要求,芯片中实际的反应单元的个数要远远小于该要求的个数,而为了满足该要求的个数,采集数据时往往会引入大量的冗余数据(即无效数据),也就是说原始数据文件中既包括有效数据(芯片中各反应单元的输出数据),也包括冗余数据。由于冗余数据是虚假、无效、不参与数据计算的,尤其是对于高通量测序仪而言,冗余数据个数的量级是十万、百万级别的,它们的存在不仅占用大量的内存空间。更重要的是,在查找相关反应单元的输出数据时,为了避开冗余数据,常常需要设置很多判断条件来参与数值计算,这必将造成计算时间的大量浪费。
发明内容
本发明实施方式的目的在于提供一种数据存储方法及数据存储装置,使得可以剔除原始数据文件中采集的冗余数据,只存储芯片中各反应单元的输出数据,从而减小内存空间,并提高查找相关反应单元的输出数据的速度。
为解决上述技术问题,本发明的实施方式提供了一种数据存储方法,包括:从原始数据文件中读取2*M个数据;按照原始数据文件中数据的存储规律,将读取的数据分别存入预设的C个长度为DX的一维变量中;计算每一个一维变量的第一个数据在预设的二维变量中的开始位置,其中,该二维变量的行数为N,列数为P;从开始位置按照存储规律将所述一维变量中的有效数据填充到二维变量;其中,(M/2)<P≤N≤M,N、P为自然数,M=2m,m为自然数。
本发明的实施方式还提供了一种数据存储装置,包括:读取模块、缓存模块、计算模块及存储模块;读取模块用于从原始数据文件中读取2*M个数据;缓存模块用于按照原始数据文件中数据的存储规律,将读取的数据分别存入预设的C个长度为DX的一维变量中;计算模块用于计算每一个一维变量的第一个数据在预设的二维变量中的开始位置,其中,该二维变量的行数为N,列数为P;存储模块用于从开始位置按照存储规律将一维变量中的有效数据填充到二维变量;其中,(M/2)<P≤N≤M,N、P为自然数,M=2m,m为自然数。
本发明实施方式相对于现有技术而言,先从原始数据文件中提取出部分原始采集的数据,并将该原始采集的数据按照原始数据文件中数据的存储规律,存储至预设的一维变量中;再从该预设的一维变量中,将该原始采集的数据中的有效数据(芯片中各反应单元输出的数据)从计算出的开始位置起按照相应的规律(这些数据在原始数据文件中的存储规律)存储至预设的二维变量中,这样二维变量中的数据就全是有效数据。这种存储方式不仅会减少内存空间,还会减小查找相关反应单元的输出数据的时间,从而提高工作效率。
进一步地,在从开始位置按照该存储规律将一维变量中的有效数据填充到二维变量之后,还包括:判断从原始数据文件中读取数据的次数是否达到P/2次;在没有达到P/2次时,则接着前一次读取数据从原始数据文件中读取当前的2*M个数据。
进一步地,在按照原始数据文件中数据的存储规律,将读取的数据分别存入预设的C个长度为DX的一维变量中,将读取的每一个数据在原始数据文件中的位置索引整除C,并按照余数将读取的数据分别存入对应的一维变量中。
进一步地,在计算每一个一维变量的第一个数据在预设的二维变量中的开始位置时,根据前一次计算出的开始位置计算当前的开始位置。
附图说明
图1是根据本发明第一实施方式的数据存储方法的流程图;
图2是根据本发明第一实施方式的各通道采集的数据在原始数据文件中的分布示意图;
图3是根据本发明第一实施方式的第0通道中数据的存储顺序示意图;
图4是根据本发明第一实施方式的第3通道中数据的存储顺序示意图;
图5是根据本发明第一实施方式的各通道采集的数据在二维变量中的存储示意图;
图6是根据本发明第一实施方式的原始数据文件中各通道中的有效数据与冗余数据的分布示意图;
图7是根据本发明第三实施方式的数据存储装置的结构框图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明的各实施方式进行详细的阐述。然而,本领域的普通技术人员可以理解,在本发明各实施方式中,为了使读者更好地理解本申请而提出了许多技术细节。但是,即使没有这些技术细节和基于以下各实施方式的种种变化和修改,也可以实现本申请所要求保护的技术方案。
本发明的第一实施方式涉及一种数据存储方法。具体流程如图1所示:
步骤101:从原始数据文件中读取2*M(M为4096)个数据。
原始数据文件是按照现有技术中设计的采样原则或采样方法采集芯片中各反应单元的输出数据后存储这些采集数据的文件。该原始数据文件中既包括有效数据,也包括冗余数据。这些数据在原始数据文件中的存储规律与采集这些数据的规律相对应。
假设本实施方式中,有效数据的个数为N*P(即芯片中反应单元的个数为)N*P,而总共需要采集M*M个数据,共有C个采集数据的通道,其中,(M/2)<P≤N≤M,N、P、C为自然数,M=2m,m为自然数。本实施方式将以M=4096、N=3648、P=3600、C=16为例进行说明。
假设原始数据文件中数据的存储规律如下:将采集的第一个数据存储至第0通道的第一位置,将采集的第二个数据存储至第1通道的第一位置,将采集的第三个数据存储至第2通道的第一位置,以此类推,直至将采集的第16个数据存储至第15通道的第一位置。紧接着,进行下一循环,即将采集的第17个数据存储至第0通道的第二位置,将采集的第18个数据存储至第1通道的第二位置……直至将采集的4096*4096个数据全部存储完为止。
图2示出了各通道采集的数据在原始数据文件中的分布示意图,每个通道对应的区域中可以存储2048*512个数据,即每一纵列可存储512个数据,共有2048个纵列。在对应第0通道的存储区域中,第一位置(即上文所说的第0通道的第一位置)的坐标为(2047,3583),第二位置的坐标为(2047,3582)……,第512位置的坐标为(2047,3072),第513位置的坐标为(2046,3583)……,由此可见,第0通道的存储区域中,存储数据的顺序是:先存储该存储区域中横坐标及纵坐标都最大的位置,再以该位置为基准,按照“横坐标不变、纵坐标递减”的顺序依次存储,当一纵列存储完后,再将当前的横坐标减1,继续按照“横坐标不变、纵坐标递减”的顺序依次存储(如图3所示,图中的箭头方向表示存储的顺序)。本实施方式中对应第1、4、5、8、9、12、13通道的存储区域,其存储顺序均与此相同。而对应第2、3、6、7、10、11、14、15通道的存储区域,其存储顺序为:先存储该存储区域中横坐标及纵坐标都最小的位置,再以该位置为基准,按照“横坐标不变、纵坐标递减”的顺序依次存储,当一纵列存储完后,再将当前的横坐标加1,继续按照“横坐标不变、纵坐标递减”的顺序依次存储(如图4所示,图4示出了第3通道中数据的存储顺序)。
值得一提的是,当原始文件中的数据以矩阵的形式进行保存时,上文所说的“横坐标不变、纵坐标递减”可以看成是列编号不变、行编号递减。
另外,值得注意的是,在采集数据时,会先采集有效数据,当有效数据采集完之后,才会引入冗余数据。
需要强调的是,本实施方式是所述的原始数据文件中数据的存储规律仅是举例说明,然并不应以此为限,在实际应用中,原始数据文件中数据的存储规律应该与具体选择的采样原则相对应。
根据上文假设的存储规律可知,本步骤中从原始数据文件中读取2*M(此处M为4096)个数据的顺序是:第0通道的第一位置、第1通道的第一位置、第2通道的第一位置……,第15通道的第一位置,待所述通道的第一位置的数据都被读取完后,进入下一循环,即第0通道的第二位置、第1通道的第二位置……,以此类推,直至读取2*M个数据,可以发现,读取数据顺序与原始文件中数据的存储顺序相同。
步骤102:按照原始数据文件中数据的存储规律,将读取的数据分别存入预设的C个长度为DX的一维变量中。
本步骤中,可为该C个长度为DX(512,即有512列)的一维变量依次编号为0、1、2……,15。在将读取的数据存入该C个一维变量中时,可按读取的数据顺序(即原始文件中数据的存储顺序),将读取的数据分别放入该C个一维变量中。具体地,将读取的第一个数据存储至编号为0的一维变量的第一列,将读取的第二个数据存储至编号为1的一维变量的第一列,……,以此类推,将读取的第16个数据存储至编号为15的一维变量的第一列,接着进入下一循环,即将读取的第17个数据存储至编号为0的一维变量的第二列,将读取的第18个数据存储至编号为1的一维变量的第二列……,直至将读取的2*M个数据完全存入该C个一维变量中。
由此可以看出,原始数据文件中每个通道的第一纵列的512个数据存储在对应编号的一维变量中。例如,编号为0的一维变量中存储的是原始数据文件中第0通道的第一纵列的512个数据(该第一纵列即为第一位置至第512位置所在的纵列),编号为1的一维变量中存储的是原始数据文件中第1通道的第一纵列的512个数据,……,以此类推,编号为15的一维变量中存储的是原始数据文件中第15通道的第一纵列的512个数据。
步骤103:计算每一个一维变量的第一个数据在预设的二维变量中的开始位置。
该预设的二维变量的行数为N(即3648),列数为P(即3600)。图5示出了各通道采集的数据在该二维变量中的存储示意图。由于编号为0的一维变量中存储的是原始数据文件中第0通道的第一纵列的512个数据,将其存储在二维变量中时,也需要将其存储在二维变量中第0通道的第一纵列。根据上文假设的存储规律可知,原始数据文件中第0通道的第一纵列的512个数据中只有448个有效数据,且这448个数据占据第一纵列的前448个位置。因此,只需要将编号为0的一维变量中的前448个数据存储至二维变量中第0通道的第一纵列。从图5可以计算出,编号为0的一维变量中的第一个数据在二维变量中的开始位置的坐标为(1799,3199)。
其他编号的一维变量中第一个数据在二维变量中的开始位置的计算方法,与上文提供的编号为0的一维变量中的第一个数据在二维变量中的开始位置的计算方法相同,本实施方式不再赘述。
步骤104:从该开始位置按照存储规律将一维变量中的有效数据填充到二维变量中。
仍以编号为0的一维变量为例。在将编号为0的一维变量中的有效数据存储至二维变量中时,以该计算出的开始位置的坐标为基准,可将编号为0的一维变量中的前448个数据按照“横坐标不变、纵坐标递减”的原则依次存储在坐标(1799,3199)、(1799,3198)……、(1799,2752)对应的位置处。
值得一提的是,二维变量实际上是个矩阵,上文所说的“横坐标不变、纵坐标递减”可以看成是列编号不变、行编号递减。
另外,需要说明的是,根据上文假设的存储规律可知,原始数据文件中除了第12、14通道的第一纵列中有512个有效数据外,其它通道的第一纵列中都只有前448个数据为有效数据。也就是说,除了编号为12、14的一维变量中有512个有效数据外,其它编号的一维变量中只有前448个数据为有效数据。
步骤105:判断从原始数据文件中读取数据的次数是否达到P/2次。若是,则结束流程;若否,则进入步骤106。
根据上文假设的存储规律可知,原始数据文件中各通道中,都只有前1800纵列中存在有效数据,且第12、14通道的每个纵列中有512个有效数据,其他通道的每个纵列中只有448个有效数据(如图6所示,图中阴影部分表示各通道中冗余数据的位置,空白部分表示各通道中有效数据的位置)。因此,每次读取2*M(M为4096)个数据,只需要读取P/2次(P=3600)就可以将所有的有效数据全部读取完毕。
步骤106:接着前一次读取数据从原始数据文件中读取当前的2*M个数据。
即从前一次读取的最后一个数据的下一位开始读取。如前一次读取的最后一个数据是第15通道的第512位置,即第15通道第一纵列的最后一个数,在图2中的坐标为(2048,512),则当前读取的第一个数据应是第0通道的第513位置,即第0通道第二纵列的第一位置,在图2中的坐标为(2046,3583)。
在读取完当前的2*M个数据后,则重新进入步骤102。再次进入步骤103时,可以根据前一次计算出的开始位置计算当前的开始位置。以编号为0的一维变量为例,若前一次计算出的第一个数据的开始位置的坐标为(1799,3199),而前一次读取的数据已将二维变量中该坐标所在的纵列(即(1799,3199)、(1799,3198)……、(1799,2752))全部占据,因此,本次第一个数据的开始位置应是下一纵列的第一位置,坐标为(1798,3199),即将前一次计算出的第一个数据的开始位置的横坐标减1(即列编号减1)。当然,若是编号为2、3、6、7、10、11、14、15的一维变量,则需要将前一次计算出的第一个数据的开始位置的横坐标加1(即列编号加1)。
本实施方式,先从原始数据文件中提取出部分原始采集的数据,并将该原始采集的数据按照原始数据文件中数据的存储规律,存储至预设的一维变量中;再从该预设的一维变量中,将该原始采集的数据中的有效数据(芯片中各反应单元输出的数据)从计算出的开始位置起按照相应的规律(这些数据在原始数据文件中的存储规律)存储至预设的二维变量中,这样二维变量中的数据就全是有效数据。这种存储方式不仅会减少内存空间,还会减小查找相关反应单元的输出数据的时间,从而提高工作效率。
上面各种方法的步骤划分,只是为了描述清楚,实现时可以合并为一个步骤或者对某些步骤进行拆分,分解为多个步骤,只要包含相同的逻辑关系,都在本专利的保护范围内;对算法中或者流程中添加无关紧要的修改或者引入无关紧要的设计,但不改变其算法和流程的核心设计都在该专利的保护范围内。
本发明的第二实施方式涉及一种数据存储方法。第二实施方式与第一实施方式大致相同,主要区别之处在于:第一实施方式是按照读取数据的顺序,将读取的数据分别放入该C个一维变量中的。而本发明第二实施方式,则是将读取的每一个数据在原始数据文件中的位置索引整除C,并按照余数将读取的数据分别存入对应的一维变量中的。
具体地,以读取的第一个数据、第二个数据及第三个数据为例,读取的第一个数据是第0通道的第一位置上的数据。它在原始数据文件中的位置索引为0,用0整除C(16)余数为0,因此,可将读取的第一个数据存储至编号为0的一维变量中;读取的第二个数据是第1通道的第一位置上的数据。它在原始数据文件中的位置索引为1,用1整除C(16)余数为1,因此,可将读取的第一个数据存储至编号为1的一维变量中;读取的第三个数据是第2通道的第一位置上的数据。它在原始数据文件中的位置索引为2,用2整除C(16)余数为2,因此,可将读取的第一个数据存储至编号为2的一维变量。也就是说,用读取的数据的位置索引除以16,余数是多少,就将该读取的数据存储至编号为多少的一维变量中。
表一示出了原始文件中各数据的位置索引。该位置索引是按照数据的存储顺序产生的。“0”是第0通道的第一位置上的数据(即第一个数据)的位置索引,“1”是第一通道的第一个数据的位置索引,“2”是第二通道的第一个数据的位置索引,以此类推,“16”是第一通道的第二个数据的位置索引,“17”是第二通道的第二个数据的位置索引。
表一:
位置索引 | 0 | 1 | 2 | …… | 16 | 17 | …… |
本发明第三实施方式涉及一种数据存储装置。如图7所示,该数据存储装置包括读取模块71、缓存模块72、计算模块73及存储模块74。
具体地,读取模块71用于从原始数据文件中读取2*M个数据。
缓存模块72用于按照原始数据文件中数据的存储规律,将读取的数据分别存入预设的C个长度为DX的一维变量中。其中,C*DX=2*M。
计算模块73用于计算每一个一维变量的第一个数据在预设的二维变量中的开始位置。其中,该二维变量的行数为N,列数为P。
存储模块74用于从该开始位置按照存储规律将一维变量中的有效数据填充到该二维变量中。
其中,(M/2)<P≤N≤M,N、P为自然数,M=2m,m为自然数。
本实施方式中,该数据存储装置还包括判断模块75。在存储模块74从该开始位置按照存储规律将一维变量中的有效数据填充到二维变量之后,判断模块75用于判断从原始数据文件中读取数据的次数是否达到P/2次,并在判定没有达到P/2次时,触发读取模块71接着前一次读取数据从原始数据文件中读取当前的2*M个数据。
另外,值得一提的是,计算模块73在计算每一个一维变量的第一个数据在预设的二维变量中的开始位置时,可根据前一次计算出的开始位置计算当前的开始位置。具体地,若是编号为2、3、6、7、10、11、14、15的一维变量,则需要将前一次计算出的第一个数据的开始位置的横坐标加1(即列编号加1)并保持纵坐标不变(即行编号不变),以得到当前的第一个数据的开始位置的坐标;若是编号为1、4、5、8、9、12、13的一维变量,则需要将前一次计算出的第一个数据的开始位置的横坐标减1(即列编号减1)并保持纵坐标不变(即行编号不变),来得到当前的第一个数据的开始位置的坐标。
不难发现,本实施方式为与第一实施方式相对应的装置实施例,本实施方式可与第一实施方式互相配合实施。第一实施方式中提到的相关技术细节在本实施方式中依然有效,为了减少重复,这里不再赘述。相应地,本实施方式中提到的相关技术细节也可应用在第一实施方式中。
值得一提的是,本实施方式中所涉及到的各模块均为逻辑模块,在实际应用中,一个逻辑单元可以是一个物理单元,也可以是一个物理单元的一部分,还可以以多个物理单元的组合实现。此外,为了突出本发明的创新部分,本实施方式中并没有将与解决本发明所提出的技术问题关系不太密切的单元引入,但这并不表明本实施方式中不存在其它的单元。
本发明第四实施方式涉及一种数据存储装置。第四实施方式与第三实施方式大致相同,主要区别之处在于:第三实施方式是按照读取数据的顺序,将读取的数据分别放入该C个一维变量中的。而在本发明第四实施方式则是将读取的每一个数据在原始数据文件中的位置索引整除C,并按照余数将读取的数据分别存入对应的一维变量中的。
具体地说,本实施方式中,缓存模块通过将读取的每一个数据在原始数据文件中的位置索引整除C,并按照余数将读取的数据分别存入对应的一维变量中。也就是说,用读取的数据的位置索引除以16,余数是多少,就将该读取的数据存储至编号为多少的一维变量中。
由于第二实施方式与本实施方式相互对应,因此本实施方式可与第二实施方式互相配合实施。第二实施方式中提到的相关技术细节在本实施方式中依然有效,在第二实施方式中所能达到的技术效果在本实施方式中也同样可以实现,为了减少重复,这里不再赘述。相应地,本实施方式中提到的相关技术细节也可应用在第二实施方式中。
本领域技术人员可以理解实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
本领域的普通技术人员可以理解,上述各实施方式是实现本发明的具体实施例,而在实际应用中,可以在形式上和细节上对其作各种改变,而不偏离本发明的精神和范围。
Claims (8)
1.一种数据存储方法,其特征在于,包括:
从原始数据文件中读取2*M个数据,所述原始数据文件是采集芯片中各反应单元的输出数据后存储采集的所述输出数据的文件,所述原始数据文件中包括有效数据以及冗余数据,有效数据的个数为N*P,所述输出数据的个数为M*M,且共有C个采集数据的通道,其中,读取数据顺序与原始数据文件中数据的存储规律定义的存储顺序相同;
按照所述原始数据文件中数据的存储规律定义的所述存储顺序,将读取的数据分别存入预设的C个长度为DX的一维变量中,所述一维变量中包括有效数据以及冗余数据;
计算每一个一维变量的第一个数据在预设的二维变量中的开始位置,其中,所述二维变量的行数为N,列数为P;
从所述开始位置按照所述存储规律将所述一维变量中的有效数据填充到所述二维变量;
其中,(M/2)<P≤N≤M,N、P为自然数,M=2m,m为自然数,C*DX=2*M。
2.根据权利要求1所述的数据存储方法,其特征在于,在从所述开始位置按照所述存储规律将所述一维变量中的有效数据填充到所述二维变量之后,还包括:
判断从原始数据文件中读取数据的次数是否达到P/2次;
在没有达到P/2次时,则接着前一次读取数据从所述原始数据文件中读取当前的2*M个数据。
3.根据权利要求1所述的数据存储方法,其特征在于,在按照所述原始数据文件中数据的存储规律,将读取的数据分别存入预设的C个长度为DX的一维变量中,
将读取的每一个数据在所述原始数据文件中的位置索引整除C,并按照余数将所述读取的数据分别存入对应的一维变量中。
4.根据权利要求1所述的数据存储方法,其特征在于,在计算每一个一维变量的第一个数据在预设的二维变量中的开始位置时,
根据前一次计算出的开始位置计算当前的开始位置。
5.一种数据存储装置,其特征在于,包括:读取模块、缓存模块、计算模块及存储模块;
所述读取模块用于从原始数据文件中读取2*M个数据,原始数据文件是采集芯片中各反应单元的输出数据后存储采集的所述输出数据的文件,所述原始数据文件中包括有效数据以及冗余数据,有效数据的个数为N*P,所述输出数据的个数为M*M,且共有C个采集数据的通道,其中,读取数据顺序与原始文件中数据的存储规律定义的存储顺序相同;
所述缓存模块用于按照所述原始数据文件中数据的存储规律定义的所述存储顺序,将读取的数据分别存入预设的C个长度为DX的一维变量中,所述一维变量中包括有效数据以及冗余数据;
所述计算模块用于计算每一个一维变量的第一个数据在预设的二维变量中的开始位置,其中,所述二维变量的行数为N,列数为P;
所述存储模块用于从所述开始位置按照所述存储规律将所述一维变量中的有效数据填充到所述二维变量;
其中,(M/2)<P≤N≤M,N、P为自然数,M=2m,m为自然数。
6.根据权利要求5所述的数据存储装置,其特征在于,所述数据存储装置还包括判断模块;
所述判断模块用于在从所述开始位置按照所述存储规律将所述一维变量中的有效数据填充到所述二维变量之后,判断从原始数据文件中读取数据的次数是否达到P/2次,并在判定没有达到P/2次时,触发所述读取模块接着前一次读取数据从所述原始数据文件中读取当前的2*M个数据。
7.根据权利要求5所述的数据存储装置,其特征在于,所述缓存模块在按照所述原始数据文件中数据的存储规律,将读取的数据分别存入预设的C个长度为DX的一维变量中,
通过将读取的每一个数据在所述原始数据文件中的位置索引整除C,并按照余数将所述读取的数据分别存入对应的一维变量中。
8.根据权利要求5所述的数据存储装置,其特征在于,所述计算模块在计算每一个一维变量的第一个数据在预设的二维变量中的开始位置时,
根据前一次计算出的开始位置计算当前的开始位置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710028418.7A CN106844601B (zh) | 2017-01-16 | 2017-01-16 | 一种数据存储方法及数据存储装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710028418.7A CN106844601B (zh) | 2017-01-16 | 2017-01-16 | 一种数据存储方法及数据存储装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106844601A CN106844601A (zh) | 2017-06-13 |
CN106844601B true CN106844601B (zh) | 2021-03-16 |
Family
ID=59124779
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710028418.7A Active CN106844601B (zh) | 2017-01-16 | 2017-01-16 | 一种数据存储方法及数据存储装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106844601B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108573012B (zh) * | 2017-11-24 | 2021-06-11 | 北京金山云网络技术有限公司 | 一种数据处理方法、装置、设备及存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101169711A (zh) * | 2006-10-27 | 2008-04-30 | 鸿富锦精密工业(深圳)有限公司 | 数据转换系统及方法 |
CN102761360A (zh) * | 2012-06-29 | 2012-10-31 | 飞天诚信科技股份有限公司 | 一种光信号处理方法及装置 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4383321B2 (ja) * | 2004-11-09 | 2009-12-16 | 富士通株式会社 | 記憶制御装置および外部記憶装置 |
US8059642B2 (en) * | 2006-02-09 | 2011-11-15 | Flextronics International Usa, Inc. | Single stage pointer and overhead processing |
CN100536785C (zh) * | 2007-07-23 | 2009-09-09 | 深圳市蓝韵实业有限公司 | 一种数字扫描变换器实现方法 |
CN102930043B (zh) * | 2012-11-14 | 2015-12-09 | 河南工业大学 | 一种正六边形采样栅格的数据存储与寻址方法 |
CN104142967B (zh) * | 2013-09-30 | 2017-11-03 | 国家电网公司 | 一种采样数据长度可调的触发方法 |
CN105296662B (zh) * | 2015-12-02 | 2017-06-23 | 北京中科紫鑫科技有限责任公司 | 一种基于试剂自适应调整的dna图像采集测序系统 |
-
2017
- 2017-01-16 CN CN201710028418.7A patent/CN106844601B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101169711A (zh) * | 2006-10-27 | 2008-04-30 | 鸿富锦精密工业(深圳)有限公司 | 数据转换系统及方法 |
CN102761360A (zh) * | 2012-06-29 | 2012-10-31 | 飞天诚信科技股份有限公司 | 一种光信号处理方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN106844601A (zh) | 2017-06-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108052653A (zh) | 图像特征描述符的获取方法、装置、存储介质、终端及图像检索方法 | |
CN111951269B (zh) | 图像处理方法及相关设备 | |
CN107256233B (zh) | 一种数据存储方法和装置 | |
EP3640813B1 (en) | Cluster-based random walk method and apparatus | |
CN109359060B (zh) | 数据抽取方法、装置、计算设备及计算机存储介质 | |
CN105577719A (zh) | 一种数据压缩方法和装置 | |
CN113806601B (zh) | 一种周边兴趣点检索方法及存储介质 | |
CN106844601B (zh) | 一种数据存储方法及数据存储装置 | |
CN108334532B (zh) | 一种基于Spark的Eclat并行化方法、系统及装置 | |
CN110807286A (zh) | 一种结构网格识别方法 | |
CN112329426A (zh) | 电子文件的页眉页脚识别方法、装置、设备和介质 | |
CN106815343B (zh) | 一种数据处理方法及数据处理装置 | |
CN117033181A (zh) | 一种测试用例生成的方法、装置及设备 | |
CN113792237B (zh) | 卡片式布局的优化方法、装置、存储介质及处理器 | |
JP2016091488A (ja) | データソート方法およびプログラム | |
CN113515674B (zh) | 时序图随机游走的采样方法及装置 | |
CN112395607B (zh) | 一种侧信道分析方法及装置 | |
EP2453404A1 (en) | Computing apparatus and method using X-Y stack memory | |
CN105144139A (zh) | 生成特征集 | |
CN113495901A (zh) | 一种面向可变长数据块的快速检索方法 | |
CN111045608B (zh) | 一种有效性代码的查找方法、装置、设备及可读存储介质 | |
CN114020458B (zh) | 一种数据资源分配方法、系统、智能终端及可读储存介质 | |
US10824609B2 (en) | Method for storing a sequence of data records in a database and cooking recipe tool with a storage unit for a database | |
CN115239849A (zh) | Cad图档编辑处理装置及方法 | |
CN116028338A (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 | ||
PE01 | Entry into force of the registration of the contract for pledge of patent right |
Denomination of invention: A data storage method and data storage device Effective date of registration: 20230626 Granted publication date: 20210316 Pledgee: Fengxian Branch of Shanghai Rural Commercial Bank Co.,Ltd. Pledgor: SHANGHAI TURTLE TECHNOLOGY Co.,Ltd. Registration number: Y2023310000297 |
|
PE01 | Entry into force of the registration of the contract for pledge of patent right |