基于DNA的可动态均衡系统、数据存储方法以及解码方法

专利2023-04-07  8


基于dna的可动态均衡系统、数据存储方法以及解码方法
技术领域
1.本发明涉及数据存储领域,具体涉及一种基于dna的可动态均衡系统、数据存储方法以及解码方法。


背景技术:

2.随着全球进入信息时代,大数据背景下,指数级别上升的数据量,对于数据存储设备有着更高的要求,dna作为高密度存储介质,是亿万年来,自然进化的选择,同时由于其优良的结构性能,这里面主要是磷酸二脂键以及碱基基于氢键的互补配对规则,这种组合结构,具有稳定性的同时,亦可经由酶的催化,完成信息的复制、检索、转录等工作,单个dna碱基尺寸在1纳米以下,同时dna是柔性的,可在三维空间蜷缩、延展,其信息存储密度约为1019bit/cm3,对比电子计算机的最小单元三极管来说,5纳米几乎是目前硅晶材料的极限,其中硬盘存储密度大约是1013bit/cm3,闪存约为1016bit/cm3。在存储成本方面,dna可在低温至室温环境下可稳定且长期存储,不需要能量维系,至少可以存储10万年以上。目前困扰dna存储的主要问题一方面来源于其过高的合成、测序成本,另一方面也缺乏有效的编码手段,可以最大化的利用dna存储的存储空间,为此我们提出了基于dna的可动态均衡系统、数据存储方法以及解码方法。


技术实现要素:

3.(一)解决的技术问题
4.针对现有技术的不足,本发明提供一种基于dna的可动态均衡系统、数据存储方法以及解码方法,以解决上述的问题。
5.(二)技术方案
6.为实现上述所述目的,本发明提供如下技术方案:
7.一种基于dna的可动态均衡系统,包括:
8.用于获取第一数据的获取模块、用于对所述第一数据进行编码的编码模块、用于压缩存储空间和加密的汉字字符压缩模块以及用于对编码得到的dna分子链进行解码的解码模块。
9.一种基于dna的可动态均衡系统的数据存储方法,包括以下步骤:
10.第一步:通过获取模块获取第一数据;
11.第二步:通过编码模块对第一数据进行编码,得到包括伪随机存储器存储次数、编码数据、均衡、再均衡、校验以及正向和反向引物的dna分子链,正向引物位于所述dna分子链的3’端,所述反向引物位于所述dna分子链的另一端,即是5’端。
12.优选的,所述第一数据的来源可以是任何现有的计算机存储的电子文件。
13.优选的,所述所述正向引物经过dna碱基互补配对规则,反向置换后,即是反向引物,长度方面正向引物和反向引物长度一致;
14.每一所述引物中鸟嘌呤和胞嘧啶的含量占所述引物所含有的鸟嘌呤、胞嘧啶、腺
嘌呤和胸腺嘧啶总含量的预设比值。
15.优选的,所述第二步中当第一数据为汉字文本信息时,需对其进行汉字字符压缩,包括以下步骤:
16.s1:先将目标文档进行分析,得到文档中的总字符数k,剔除掉重复字符之后,统计文档中出现的字符个数s,并按照字符出现频率从高到低排序,得到字符表;
17.s2:计算汉字字符对应的碱基长度,计算规则是:根据字符个数s,计算一个字符应该用n位碱基来编码,n需要保证》=log4s;
18.s3:建立碱基序列对文本字符进行标注,碱基序列的生成方式是:
19.(a)以m的长度作为种子注入伪随机生成器,随机生成n位的不重复的碱基序列;
20.(b)对生成的碱基序列进行筛选,如果存在2位以上连续碱基,则从字符表由下至上进行填充对应,否则从上到下进行填充对应,直至完成全部字符的碱基编码对应填充,得到填充之后的字典表,作为dna文档统计的字典及密钥。
21.(4)根据字典表中字符对应的碱基序列,将原始文档中的汉字字符全部转化为dna碱基序列,得到压缩和加密后的dna碱基序列。
22.优选的,所述dna分子链的获取步骤如下:
23.第一步:将第一数据划分为若干个数据子包;
24.第二步:通过电子计算机的伪随机数生成器生成0/1随机矩阵;
25.第三步:根据随机矩阵中的元素值及元素位置,指定相应的数据子包进行异或编码;将编码后的数据进行动态均衡;
26.第四步:记录下过程中的数据,根据预设字母表,将所述运行数字和映射为鸟嘌呤、胞嘧啶、腺嘌呤和胸腺嘧啶,并进行编码,得到并组成dna分子链数据。
27.优选的,对生成的dna链进行查错,当生成的dna链发生错误时,可以识别到;
28.dna链可能发生的错误包括:替换、插入、删除错误;
29.针对插入和删除错误,可以通过链的长度进行判断,针对替换错误;
30.采用xor异或校验的纠错方式,通过按位进行异或,最终得到所有碱基数据异或后的结果,可判断相关dna分子链是否发生替换错误。
31.优选的,对dna分子链进行筛选处理,筛选出所述dna分子链中折叠错乱的结构和/或无界运行数字和码,并就未通过筛选的链,进行动态均衡。
32.一种基于dna的可动态均衡系统的解码方法,包括以下内容:根据打包结果,利用解码模块进行解码处理。
33.(三)有益效果
34.与现有技术相比,本发明提供的基于dna的可动态均衡系统、数据存储方法以及解码方法,具备以下有益效果:
35.1、该基于dna的可动态均衡系统、数据存储方法以及解码方法,对所述第一数据进行编码得到dna分子链的过程中,对所述第一地址和所述第二地址添加了多种约束,使得能够高效率且准确地的对编码数据进行读取,如使所述第一地址与所述第二地址的汉明距离大于或等于所述第一地址长度的一半,降低读取时的地址选择错误的可能性;所述第一地址的前缀与所述第二地址的前缀以及所述第二地址的后缀均不相同,避免了读取过程中出现匹配错误的可能性;每一所述引物的前缀中鸟嘌呤和胞嘧啶的含量占所述引物所含有的
鸟嘌呤、胞嘧啶、腺嘌呤和胸腺嘧啶总含量的预设比值,使得在需要读取编码数据事先进行测序时,准确率高。
36.2、该基于dna的可动态均衡系统、数据存储方法以及解码方法,建立了基于dna的存储架构,可以高效的完成第一数据信息至dna分子链之间的转换,转换效率高。
37.3、该基于dna的可动态均衡系统、数据存储方法以及解码方法,在编码dna双链上的数据时,通过设置动态均衡的方式,实现dna双链的绝对稳定,避免了均聚物、gc含量不均衡等情况。
38.4、该基于dna的可动态均衡系统、数据存储方法以及解码方法,设计了一个基于随机矩阵的编码系统,并使用多比特打包方式,减少了降低编译码的复杂度,缩短编码时间,提高译码的速率;减少存储冗余的数量级,而且提高了编码和数据中心数据恢复率的效率,实现高度敏感的随机访问和准确重写寻址。
39.5、该基于dna的可动态均衡系统、数据存储方法以及解码方法,针对汉字文本信息,提供了一套全新的压缩、加密方法,实现汉字文本的高效存储。
附图说明
40.图1为本发明具体实施例数据存储方法的步骤流程示意图;
41.图2为本发明具体实施例dna分子链的示意图;
42.图3为本发明具体实施例矩阵的生成示意图。
具体实施方式
43.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
44.实施例
45.参见图1-3,本实施例提供的基于dna的可动态均衡系统的数据存储方法,包括以下步骤:
46.获取第一数据;
47.对第一数据进行编码,得到dna分子链,当第一数据为汉字文本信息时,需对其进行汉字字符压缩,汉字是目前是世界上使用人数最多的文字,据统计,截止2020年,全球使用汉字的人数超过16亿人,约占世界总人口的20%以上,中国是目前的世上互联网使用人数最多的国家,(截止2019年9月,中国共有8.3亿用户接入互联网),其创造的汉字文档资源量巨大,目前汉字的通用电子存储方案,是utf-8,单个汉字字符需要占据3-4个字节,参照2bit/nt的dna理想存储密度,则每个汉字字符需要12-16个碱基的信息空间。然而实际上汉字的常用字符大约5000个,这5000个字符,完全可以用4-7个碱基进行存储,这无疑存在巨大的存储空间改进空间。我们提出了一种汉字动态规划存储的方法,可根据拟存储的文档信息,进行动态最优规划。同时具有很好的压缩能力和加密作用,实现做法是:
48.(1)先将目标文档进行分析,得到文档中的总字符数k,剔除掉重复字符之后,统计文档中出现的字符个数s,并按照字符出现频率从高到低排序,得到字符表;
49.(2)计算汉字字符对应的碱基长度。计算规则是:根据字符个数s,计算一个字符应该用n位碱基来编码,n需要保证》=log4s。
50.(3)建立碱基序列对文本字符进行标注。碱基序列的生成方式是:(a)以m的长度作为种子注入伪随机生成器,随机生成n位的不重复的碱基序列;(b)对生成的碱基序列进行筛选,如果存在2位以上连续碱基,则从字符表由下至上进行填充对应,否则从上到下进行填充对应,直至完成全部字符的碱基编码对应填充,得到填充之后的字典表,作为dna文档统计的字典及密钥;
51.(4)根据字典表中字符对应的碱基序列,将原始文档中的汉字字符全部转化为dna碱基序列,得到压缩和加密后的dna碱基序列。
52.获取到第一数据之后的编码方式,具体见下步骤:
53.1)确定编码空间,编码空间主要是根据dna合成商的合成技术以及预算决定的。
54.2)数据分割,将l划分为n份chunks(n=s//p+1),构成l1、l2、l3
……
ln,每一份的长度为p nt;
55.3)生成随机向量,利用python中的random函数,生成范围在(0,2n)的整数,同时记录随机生成器生成次数,将生成的整数转变为n位的二进制数据向量,其从低位(0)到高位(n-1)的元素是否为1,表示第2)步中将原始文件l分割的l1,l2
……
ln的chunks是否参与编码。
56.4)将生成的随机向量中元素为1位置对应的chunks进行异或,得到对应的droplet;
57.5)每生成一次随机向量,记录下伪随机数生成器生成次数,存储在times位置,通过步骤4得到的droplet存储在data payload位置,构成一份packs,不断重复步骤4,直至用尽times的存储空间,共生成4t的packs;
58.6)对得到的packs进行均衡,首先进行条件筛选,要求均聚物(连续碱基不超过3个),gc含量(45%-55%),引物在信息编码空间中是否重复,如果dna链通过筛选,则将xe位标记为0(10个a),将此packs作为可用链进行存储;若packs没有通过筛查,则对packs进行均衡,将adapter序列作为随机生成器的种子,生成k次长度为(t+p)nt的随机碱基,将此随机碱基与未通过筛选的packs的碱基进行异或,得到新的碱基序列,不断重复均衡直至碱基序列通过筛选或当k》410时,表示xe均衡位存储空间用尽。对于经过k次均衡后通过筛选的链,将k存储在xe位,同时记录下通过均衡的packs碱基序列;对于xe均衡位空间用尽依然无法均衡通过筛选的链,则选择丢弃。
59.7)再均衡,由于加入了10nt的xe均衡位,xe位本身还会造成均聚物、gc含量过高或过低等问题,我们引入了2nt的再均衡位,通过对xe位进行再均衡,均衡方法同第6)中对packs的均衡方法一致,再均衡后,均衡次数存储在xee位,packs及xe位存储为均衡后的碱基序列,未通过再均衡的链则直接丢弃。值得注意的是再均衡不再改变packs的碱基序列,同时再均衡的判断条件,考虑到了xe与packs之间的连接部分以及xe与xee之间的链接部分的均聚物情况;
60.8)假定通过步骤7后的dna链为g个,存储冗余为m个,为确保最终存储内容的鲁棒性,先再g中,随机选取(n+m)条链,再在(n+m)中,随机选择1000次n,根据times生成相应的度分布序列(此序列向量长度为n),构造成为(n*n)维矩阵,利用异或高斯消元法求解得到
的三角矩阵,需保证至少550次最终得到的三角矩阵主对角线上元素全部为1。
61.9)合成,将步骤8)最终选取的(n+m)条链,自均衡后得到的packs开始,经xe、xee为止,按3nt为单位,进行异或,最终异或得到3nt的碱基序列,存储为xc位附在xee后。
62.10)将得到的链添加正向、反向引物,进行生物合成,完成最终dna存储。
63.如图2所示,在本实施例中,目的是实现高度敏感的随机访问和准确重写寻址。所提出的方法的原理是每个块在随机存取中系统必须装备有允许通过dna进行独特选择和扩增的地址序列引物。由于信息编码的原因,数据信息长度不确定,数据链有可能是一条完整的数据信息,也有可能是一段或极端分散的链信息,所以在dna分子链前、后端加上引物,用以识别不同的链信息。本实施例中以dna分子链长度为700bps为例进行说明,在其他实施例中可以为其他长度,将正向引物和反向引物合成在的块序列两端,将正向引物和反向引物分别存放在到长度为20bps的短块中,块序列用于存储数据。编码过程为将块序列的第一数据进行编码,得到编码数据,以得到编码后的dna分子链。
64.在本实施例中,将第一数据划分为若干个第二数据,每一第二数据为包含引物、伪随机存储器存储次数位、编码数据位、均衡位、再均衡位、校验位,引物是描述dna前缀同步的代码,选择的数量共同编码字由目标来控制,以使重写尽可能简单和避免由于可变代码长度的错误传播;“字编码”操作如下:首先,不同文本数据信息中的单词被计数并在字典中制表,字典中的每个词都被转换变换为足够长的二进制序列,以允许对字典进行编码。其次,使用四进制模型(例如可将00,01,10,11与dna中的碱基a(腺嘌呤),t(胸腺嘧啶),c(胞嘧啶),g(鸟嘌呤)一一对应进行编码。
65.每一引物的前缀中g(鸟嘌呤)和c(胞嘧啶)的含量占引物所含有的g(鸟嘌呤)、c(胞嘧啶)、a(腺嘌呤)和t(胸腺嘧啶)总含量的预设比值,预设比值包括但不限于45%~55%。
66.原因在于:由于dna是通过g(鸟嘌呤)、a(腺嘌呤)、c(胞嘧啶)、t(胸腺嘧啶)和来存储信息,a与t,c与g之间两两配对能够形成稳定的双链接结构,无论是单链dna还是双链dna,均可以二进制编码的形式存储信息,其中双链dna中,需要有一定gc含量的前缀(使gc含量约占总量的45%~55%)。因为具有50%gc含量的dna双链比具有更低或者更高gc含量的dna双链更加稳定,并且在测序期间能有更好的覆盖。由于编码中的用户信息是通过前缀同步来实现的,因此对地址以及它们的前缀来施加gc内容约束很重要,因为后一个要求还需要确保编码数据块的所有片段能具有被去除的gc内容;
67.译码方面的步骤如下:
68.1)将测序得到的dna链,根据正反向adapter,进行提取,对提出的dna链长度进行判断分析,如果长度低于目标长度或高于目标长度,则说明发生了删除/插入错误,丢弃此链;
69.2)对数据按xc位规定的长度,进行异或还原,还原后的数据,如果和xc中存储的数据不一致,否则说明发生了替换错误,丢弃此条链;
70.3)若通过测序完成的链数量k》=n,则可以启动正式译码流程,首先是信息恢复,将引物信息,作为随机生成器的种子,注入伪随机生成器,根据xee位置记录的伪随机生成器生成次数,对xee进行信息恢复,然后再根据恢复后得到的xee的伪随机生成器生成次数信息,对times及data payload位进行数据恢复,得到原始的数据数据信息。
71.4)根据times对应的伪随机数生成器生成次数,生成相应的0-2**(n)的随机整数,并将其转变为n位的二进制向量,组成k*n维二进制分布序列。
72.5)将data payload中的数据,由碱基转换为十进制数据,同度分布序列矩阵构成增广矩阵,利用异或高斯消元法,进行矩阵求解。(求解规则如下:首先将k阶矩阵d,与k行1列的data矩阵组合,构建增广矩阵,接下来沿着矩阵对角线进行判断(i从0-k),若d[i][i]=1,则沿着列判断其下所有序列,若d[j][i]=1,则将第i行所有数据与第j行所有数据进行异或。若d[i][i]=0,则沿着列向下寻找,找到d[j][i]=1时,互换两行,然后再向下寻找,若还有d[j][i]=1,则用第i行同第j行进行异或,确保构建出一个上三角矩阵,矩阵对角线下方区域全部为0.再依照上一步,反向操作,将对角线上方为1的全部消为0,即可得到唯一的s1
……
sk,以及data1
……
datak.完成译码过程。)得到s1、s2
……
sn的数据解,将此部分解转换为二进制序列,进而转变成碱基序列,即可得到chunksl1、l2
……
ln。
[0073]
6)根据表2,完成存储文本数据的译码。
[0074]
基于dna的可动态均衡系统,包括:
[0075]
获取模块,用于获取第一数据;
[0076]
编码模块,用于对所述第一数据进行编码,得到dna分子链,所述dna分子链包括编码数据以及正向引物和反向引物,所述正向引物位于所述编码数据的一端,所述反向引物位于所述编码数据的另一端,所述编码数据包括伪随机存储器存储次数位、编码数据位、均衡位、再均衡位、校验位;
[0077]
汉字字符压缩模块:用于当第一数据为汉字文本信息时,对汉字字符进行特殊编码,起到压缩存储空间和加密的作用。
[0078]
解码模块,用于对编码得到的dna分子链进行解码,解码还原至完整的第一数据。
[0079]
本发明实施例还提供了一种存储介质,存储介质存储有程序,程序被处理器执行完成基于dna的数据存储方法。
[0080]
本实施例还提供基于dna的可动态均衡系统的解码方法,包括以下步骤:根据打包结果,进行解码处理。
[0081]
当dna为采用上述的打包方式得到时,当需要读取dna而进行解码时,只需要利用打包结果,即相当于仅需要在生成的矩阵g中发送1的行位置和列位置,而不发送整个生成矩阵g,然后仅需要根据接收到的行位置和列位置进行解码,恢复生成的矩阵来翻译原始数据。在这个阶段lt码的编解码过程和应用是单位原始数据进行封装传输,而单位数据包传输,在大量数据的情况下会出现占用更多的内存和带宽问题当较大和出现的有效性和可靠性的现象出现下降。经过上述的处理方式,即封装编码传输后的一些位,替换原来的单位数传输,使数据量大大减少存储空间,减少存储冗余量,提高解码成功率。
[0082]
尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。

技术特征:
1.一种基于dna的可动态均衡系统,其特征在于,包括:用于获取第一数据的获取模块、用于对所述第一数据进行编码的编码模块、用于压缩存储空间和加密的汉字字符压缩模块以及用于对编码得到的dna分子链进行解码的解码模块。2.一种基于dna的可动态均衡系统的数据存储方法,其特征在于,包括以下步骤:第一步:通过获取模块获取第一数据;第二步:通过编码模块对第一数据进行编码,得到包括伪随机存储器存储次数、编码数据、均衡、再均衡、校验以及正向和反向引物的dna分子链,正向引物位于所述dna分子链的3’端,所述反向引物位于所述dna分子链的另一端,即是5’端。3.根据权利要求2所述的基于dna的可动态均衡系统的数据存储方法,其特征在于:所述第一数据的来源可以是任何现有的计算机存储的电子文件。4.根据权利要求2所述的基于dna的可动态均衡系统的数据存储方法,其特征在于:所述所述正向引物经过dna碱基互补配对规则,反向置换后,即是反向引物,长度方面正向引物和反向引物长度一致;每一所述引物中鸟嘌呤和胞嘧啶的含量占所述引物所含有的鸟嘌呤、胞嘧啶、腺嘌呤和胸腺嘧啶总含量的预设比值。5.根据权利要求2所述的基于dna的可动态均衡系统的数据存储方法,其特征在于:所述第二步中当第一数据为汉字文本信息时,需对其进行汉字字符压缩,包括以下步骤:s1:先将目标文档进行分析,得到文档中的总字符数k,剔除掉重复字符之后,统计文档中出现的字符个数s,并按照字符出现频率从高到低排序,得到字符表;s2:计算汉字字符对应的碱基长度,计算规则是:根据字符个数s,计算一个字符应该用n位碱基来编码,n需要保证>=log4s;s3:建立碱基序列对文本字符进行标注,碱基序列的生成方式是:(a)以m的长度作为种子注入伪随机生成器,随机生成n位的不重复的碱基序列;(b)对生成的碱基序列进行筛选,如果存在2位以上连续碱基,则从字符表由下至上进行填充对应,否则从上到下进行填充对应,直至完成全部字符的碱基编码对应填充,得到填充之后的字典表,作为dna文档统计的字典及密钥;(4)根据字典表中字符对应的碱基序列,将原始文档中的汉字字符全部转化为dna碱基序列,得到压缩和加密后的dna碱基序列。6.根据权利要求2所述的基于dna的可动态均衡系统的数据存储方法,其特征在于:所述dna分子链的获取步骤如下:第一步:将第一数据划分为若干个数据子包;第二步:通过电子计算机的伪随机数生成器生成0/1随机矩阵;第三步:根据随机矩阵中的元素值及元素位置,指定相应的数据子包进行异或编码;将编码后的数据进行动态均衡;第四步:记录下过程中的数据,根据预设字母表,将所述运行数字和映射为鸟嘌呤、胞嘧啶、腺嘌呤和胸腺嘧啶,并进行编码,得到并组成dna分子链数据。7.根据权利要求2所述的基于dna的可动态均衡系统的数据存储方法,其特征在于:所述对生成的dna链进行查错,当生成的dna链发生错误时,可以识别到;
dna链可能发生的错误包括:替换、插入、删除错误;针对插入和删除错误,可以通过链的长度进行判断,针对替换错误;采用xor异或校验的纠错方式,通过按位进行异或,最终得到所有碱基数据异或后的结果,可判断相关dna分子链是否发生替换错误。8.根据权利要求6所述的基于dna的可动态均衡系统的数据存储方法,其特征在于:所述对dna分子链进行筛选处理,筛选出所述dna分子链中折叠错乱的结构和/或无界运行数字和码,并就未通过筛选的链,进行动态均衡。9.一种基于dna的可动态均衡系统的解码方法,其特征在于,包括以下内容:根据打包结果,利用解码模块进行解码处理。

技术总结
本发明涉及数据存储领域,公开了一种基于DNA的可动态均衡系统、数据存储方法以及解码方法,通过对第一数据进行编码得到DNA分子链的过程中,对第一地址和第二地址添加了多种约束,使得能够高效率且准确地的对编码数据进行读取,如使第一地址与第二地址的汉明距离大于或等于第一地址长度的一半,降低读取时的地址选择错误的可能性;第一地址的前缀与第二地址的前缀以及第二地址的后缀均不相同,避免了读取过程中出现匹配错误的可能性;每一引物的前缀中鸟嘌呤和胞嘧啶的含量占引物所含有的鸟嘌呤、胞嘧啶、腺嘌呤和胸腺嘧啶总含量的预设比值,使得在需要读取编码数据事先进行测序时,准确率高。准确率高。准确率高。


技术研发人员:杨旭 石晓龙
受保护的技术使用者:广州大学
技术研发日:2022.08.10
技术公布日:2022/12/2
转载请注明原文地址: https://bbs.8miu.com/read-331824.html

最新回复(0)