当前位置: 首页 > 专利查询>清华大学专利>正文

基于Nauru-graph的大规模数据存储和读取方法及装置制造方法及图纸

技术编号:32806925 阅读:14 留言:0更新日期:2022-03-26 19:59
本发明专利技术提出一种基于Nauru

【技术实现步骤摘要】
基于Nauru

graph的大规模数据存储和读取方法及装置


[0001]本专利技术涉及信息网络、分布式存储系统、虚拟化、拓扑结构及网络存储
,特别涉及一种基于Nauru

graph的大规模数据存储和读取方法及装置。

技术介绍

[0002]分布式存储是对应于集中式存储提出的,最初企业级的存储设备都是集中式存储,该存储设备由机头、磁盘阵列(JBOD)和交换机等设备构成,其中机头是这个存储系统中最核心的部件,所有的数据需要通过一个统一的入口

机头,被分到不同的磁盘中进行存储。
[0003]随着网络的普及和云端大数据时代的到来,每天都有海量的数据产生,存储需求也随之应运而生,分布式是解决该问题的一个主要思路。分布式存储最早由谷歌提出,在谷歌的分布式存储系统架构(HDFS)中,将服务器分为两种:Namenode和Datanode。其中Namenode负责存储和管理元数据(数据的索引ID),Datanode负责存储管理实际数据。如果用户想要读取文件,则首先从Namenode中获取该文件的存储位置(具体在哪个Datanode),然后从具体的Datanode中检索具体文件。在此分布式存储框架的基础上,演变出了我们当前非常流行的分布式存储架构Ceph和Swift,其中Ceph通过一个设备映射关系来计算写入数据的位置。Swift是将设备做成哈希环,通过一致性哈希映射计算写入数据的位置。相较于HDFS,二者都可以分担请求的负载,各有适用的应用场景。但是在负载均衡和系统稳定性方面都有一定的改进空间。
[0004]HDFS主要面向大数据的存储场景,其处理模式是一次写入、多次读取,适合低写入、高读取的业务,不适合频繁的数据写入。同时HDFS采用多副本数据保护机制,不推荐在虚拟化环境中使用。Ceph是一个开源的存储项目,采用CRUSH算法,相较于HDFS数据分布更加均衡、并行度更高。同时部署更加复杂,性能也更弱。Swift同属开源存储项目,与Ceph类似,考虑到Swift的数据是最终一致的,因此在面对海量数据处理时swift效率更高,但是客户段在访问对象存储系统服务时,需要通过Swift网关才能获取数据,相较于Ceph通过每一个存储节点上的OSD获取数据信息,不够灵活。同时,这些技术解决方案在进行数据映射,没有从拓扑结构的维度进行考虑。引入拓扑结构可以使映射更加均衡,安全和稳定性更高。

技术实现思路

[0005]本专利技术旨在至少在一定程度上解决相关技术中的技术问题之一。
[0006]为此,本专利技术的第一个目的在于提出一种基于Nauru

graph的大规模数据存储和读取方法,通过引入特殊的图结构,在提高云端分布式存储的负载均衡和系统稳定性方面给出了一种改进方案。
[0007]本专利技术的第二个目的在于提出一种基于Nauru

graph的大规模数据存储和读取装置。
[0008]为达上述目的,本专利技术第一方面实施例提出了一种基于Nauru

graph的大规模数
据存储和读取方法,包括:
[0009]步骤S1,获取数据ID值,检索所述数据ID值的可用存储节点,以生成所述数据的索引项ID值;以及,
[0010]将所述数据的索引项ID值,存储于所述数据ID值的节点上,以对所述数据进行存储操作;
[0011]步骤S2,计算所述数据的索引项ID值,通过所述索引项中数据ID找到目标节点,以对所述数据进行读取操作。
[0012]另外,根据本专利技术上述实施例的基于Nauru

graph的大规模数据存储和读取方法还可以具有以下附加的技术特征:
[0013]进一步地,在本专利技术的一个实施例中,所述步骤S1,包括:
[0014]S1.1,获取数据的存储ID,检索可用存储节点,假设当前检索节点ID为i,尝试通过节点i写入数据,若节点i中空间充足,则数据存储ID为i,并将数据存入节点i中;若节点i中空间不足,检索与节点i相邻的其它节点,按ID从小到大进行检索,直到找到合适的节点j,将数据写入对应节点j中,并将数据的存储ID置为j,并生成索引项;
[0015]S1.2,通过S1.1中的账户名/对象名获取数据的初始索引ID;
[0016]S1.3,根据HashMap重置数据的索引ID;将S1.2中得到的索引ID进行哈希映射得到索引项的ID值:k=Hash(f)%24,k取[0,23]之间的任意唯一值;
[0017]S1.4,根据邻接矩阵表,找到当前节点到存储索引项节点k的一条最短路径,在节点k中存入索引项。
[0018]进一步地,在本专利技术的一个实施例中,所述步骤S2,包括:
[0019]S2.1,根据数据账户名/对象名计算索引ID;通过HashMap找到索引ID在Nauru

graph中对应的存储索引项节点的ID:i=f_ID=Hash(f)%24。
[0020]S2.2,通过最短路径到节点i,取出索引项;
[0021]S2.3,根据索引项中的数据存储ID,找到目标节点,取出数据。
[0022]进一步地,在本专利技术的一个实施例中,所述步骤S1.4,包括:
[0023]根据邻接矩阵表,找到当前节点到存储索引项节点k的一条最短路径,检查节点k的状态;若正常,则在节点k中存入索引项,若不正常,则检查与节点k相邻的其他节点,按ID从小到大进行检查,直到找到合适的节点k

,在k

中存入索引项。
[0024]进一步地,在本专利技术的一个实施例中,所述根据事故分析不同程序计算结果对比或/及不确定性分析结果,对现象识别模型进行优化和完善,包括:根据所述核电站设计数据信息建立事故分析基准模型,基于所述事故分析基准模型进行节点划分确认以及不确定性分析步骤和不同程序结果分析对比。
[0025]进一步地,在本专利技术的一个实施例中,所述步骤S1,还包括:
[0026]S1.5定期对邻接表中的邻接节点进行检测,如果某个邻接节点失效,则修改对应的行列值,将所述行列值预设一个阈值,表示路径已失效。
[0027]本专利技术实施例的基于Nauru

graph的大规模数据存储和读取方法,通过获取数据ID值,检索数据ID值的可用存储节点,以生成数据的索引项ID值;以及,将数据的索引项ID值,存储于数据ID值的节点上,以对数据进行存储操作;计算数据的索引项ID值,通过索引项中数据ID找到目标节点,以对数据进行读取操作。本专利技术主要通过引入高对称强联通的
拓扑结构改进数据存储时,数据分布均衡,系统稳定性和存储效率不能兼得的问题。同时给出了依据实际场景生成高对称强连通拓扑结构的方案。
[0028]为达上述目的,本专利技术第二方面实施例提出了一种基于Nauru

graph的大规模数据存储和读取装置,包括:
[0029]本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于Nauru

graph的大规模数据存储和读取方法,其特征在于,包括以下步骤:步骤S1,获取数据ID值,检索所述数据ID值的可用存储节点,以生成所述数据的索引项ID值;以及,将所述数据的索引项ID值,存储于所述数据ID值的节点上,以对所述数据进行存储操作;步骤S2,计算所述数据的索引项ID值,通过所述索引项中数据ID找到目标节点,以对所述数据进行读取操作。2.根据权利要求1所述的基于Nauru

graph的大规模数据存储和读取方法,其特征在于,所述步骤S1,包括:S1.1,获取数据的存储ID,检索可用存储节点,假设当前检索节点ID为i,尝试通过节点i写入数据,若节点i中空间充足,则数据存储ID为i,并将数据存入节点i中;若节点i中空间不足,检索与节点i相邻的其它节点,按ID从小到大进行检索,直到找到合适的节点j,将数据写入对应节点j中,并将数据的存储ID置为j,并生成索引项;S1.2,通过S1.1中的账户名/对象名获取数据的初始索引ID;S1.3,根据HashMap重置数据的索引ID;将S1.2中得到的索引ID进行哈希映射得到索引项的ID值:k=Hash(f)%24,k取[0,23]之间的任意唯一值;S1.4,根据邻接矩阵表,找到当前节点到存储索引项节点k的一条最短路径,在节点k中存入索引项。3.根据权利要求1所述的基于Nauru

graph的大规模数据存储和读取方法,其特征在于,所述步骤S2,包括:S2.1,根据数据账户名/对象名计算索引ID;通过HashMap找到索引ID在Nauru

graph中对应的存储索引项节点的ID:i=f_ID=Hash(f)%24。S2.2,通过最短路径到节点i,取出索引项;S2.3,根据索引项中的数据存储ID,找到目标节点,取出数据。4.根据权利要求2所述的基于Nauru

graph的大规模数据存储和读取方法,其特征在于,所述步骤S1.4,包括:根据邻接矩阵表,找到当前节点到存储索引项节点k的一条最短路径,检查节点k的状态;若正常,则在节点k中存入索引项,若不正常,则检查与节点k相邻的其他节点,按ID从小到大进行检查,直到找到合适的节点k

,在k

中存入索引项。5.根据权利要求1所述的基于Nauru

graph的大规模数据存储和读取方法,其特征在于,所述步骤S1,还包括:S1.5定期对邻接表中的邻接节点进行检测,如果某个邻接节点失效,则修改对应的行列值,将所述行列值预设一个阈值,表示路径已失效。6.一种基于Nauru
...

【专利技术属性】
技术研发人员:殷瑜雪戴国浩汪玉
申请(专利权)人:清华大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1