一种数据存储方法、数据传输方法及计算设备技术

技术编号:35214241 阅读:31 留言:0更新日期:2022-10-15 10:28
本发明专利技术公开了一种数据存储方法、数据传输方法及计算设备,数据存储方法包括:获取待存储数据,将待存储数据对象拆分为多个数据块,为每一数据块分配唯一名称,并保存每一数据块至预定存储结构的节点中,其中,预设定储结构中每一节点对应为一个数据服务器,每一节点分配唯一节点ID,每一节点最大存储容量相同,除最右叶子节点外所有叶子节点存储最大容量的数据,预定存储结构中每一节点用于存储第一类数据,第一类数据包括父节点ID、目录名称、数据块、数据块名称和节点ID中的一种或多种,目录名称为当前节点对应子节点存储的数据块的目录名称,从而在修改节点信息时只需修改节点本身信息和关联节点的信息,节点发生冲突的概率大大降低。大大降低。大大降低。

【技术实现步骤摘要】
一种数据存储方法、数据传输方法及计算设备
[0001]本申请是2021年04月21日提交的专利技术专利申请2021104296870的分案申请。


[0002]本专利技术涉及云存储
,特别涉及一种数据存储方法、数据传输方法、计算设备及储存介质。

技术介绍

[0003]随着社会经济的不断发展,数据正在爆发式地不断增长,各行各业均面临着巨大数据文件存储问题,而企业想依靠自身的力量存储数据和维护数据的成本高,且需要专业团队。因此,云存储成为各企业存储数据的一种选择。
[0004]云存储是由网络服务商提供的一种网上在线数据存储服务模式,即把数据存储在由第三方托管的多台虚拟服务器。第三方运营大型的数据中心,用户需要购买其运营的存储空间,并通过应用程序接口访问存储空间进行数据存储。
[0005]云存储是基于云存储结构实现的。目前,云存储结构主要包括中心存储结构和目录存储结构。中心存储结构,即文件的目录项全部存储到一个节点(节点为一个数据服务器)中,目录存储结构,即每一节点存储一个目录,包括该目录下所有文件的目录项。但是,上述的云存储结构当更改或者删除文件时均会修改中心存储结构,在多客户端同时操作文件时容易发生冲突。
[0006]为此,本专利技术提供了一种可避免冲突的数据存储方法。

技术实现思路

[0007]为此,本专利技术提供一种数据存储方法,以力图解决或者至少缓解上面存在的问题。
[0008]根据本专利技术的一个方面,提供了一种数据存储方法,在计算设备中执行,方法包括步骤:
[0009]获取待存储数据;
[0010]将待存储数据对象拆分为多个数据块,为每一数据块分配唯一名称;
[0011]保存每一所述数据块至预定存储结构的节点中,其中,预设定储结构中每一节点对应为一个数据服务器,每一节点分配唯一节点ID,每一节点最大存储容量相同,除最右叶子节点外所有叶子节点存储最大容量的数据,预定存储结构中每一节点用于存储第一类数据,第一类数据包括父节点ID、目录名称、所述数据块、数据块名称和节点ID中的一种或多种,目录名称为当前节点对应子节点存储的数据块的目录名称。
[0012]可选地,将待存储数据对象拆分为多个数据块的步骤包括:
[0013]确定待存储数据对象的数据指针当前偏移量;
[0014]以已确定的数据指针当前偏移量为起始位置,从待存储数据中读取第一预设数值的数据,作为一个数据块;
[0015]更新数据指针当前偏移量为已确定的数据指针当前偏移量与第一预设数值之和。
[0016]可选地,以已确定的数据指针当前偏移量为起始位置,从待存储数据中读取第一预设数值的数据,作为一个数据块的步骤包括:
[0017]判断当前读取待存储数据次数与第一预设数值之积是否小于待存储数据大小,若是,以已确定的数据指针当前偏移量为起始位置读取第一预设数值的数据,若否,则根据如下公式确定读取待存储数据的数量,作为第二数值,以已确定的数据指针当前偏移量为起始位置读取第二数值的数据:
[0018]L=m

(a

1)*b
[0019]其中,L为读取待存储数据的数量,m为待存储数据所占存储空间大小,a为当前读取待存储数据的次数,b为第一预设数值;
[0020]以已读取的数据作为一个数据块。
[0021]可选地,保存每一数据块至预定存储结构的节点中的步骤包括:
[0022]判断当前节点是否存在子节点,若是,在当前节点中保存其父节点ID、当前节点ID、目录名称,若否,在当前节点中保存其父节点ID、数据块、数据块名称和当前节点ID。
[0023]可选地,包括步骤:
[0024]判断预定存储结构中的每一节点是否存在左节点,若存在,则在当前节点中保存其左节点ID。
[0025]可选地,还包括步骤:
[0026]为每一数据块设置版本信息,其中,通过数据块版本信息区分数据块的版本;
[0027]其中,判断当前节点是否存在子节点的步骤包括:
[0028]判断当前节点是否存在子节点,若是,在当前节点中保存其父节点ID、当前节点ID、左节点ID、目录名称和数据块版本信息,若否,在当前节点中保存其父节点ID、当前节点ID、左节点ID、数据块、数据块名称和数据块版本信息。
[0029]可选地,还包括步骤:
[0030]响应于通过目标数据块替换预定存储结构的一个叶子节点中数据块的操作,判断目标数据块的数据块名称与当前节点中的数据块名称是否相同,若否,则不进行替换,若是,则判断目标数据块的数据块版本信息与当前节点中数据块版本信息是否相同;
[0031]若目标数据块的数据块版本信息与当前节点中数据块版本信息相同,则将当前节点中数据块替换为目标数据块,若不相同,则不进行替换。
[0032]可选地,还包括步骤:
[0033]响应于重命名预定存储结构的一个节点中保存的数据块名称操作,更新当前节点中存储的数据块名称为重命名的名称。
[0034]可选地,第一预设数值与预定存储结构中各节点的最大存储容量相等。
[0035]根据本专利技术的另一个方面,提供了一种数据传输方法,在计算设备中执行,方法包括:
[0036]获取待传输数据,其中,待传输数据为根据上述所述的数据存储方法存储的、预定存储结构中各节点存储的数据;
[0037]对待传输数据进行哈希运算,得到第一哈希值;
[0038]组合待传输数据和所述第一哈希值,作为目标数据;
[0039]通过数据加密算法对目标数据进行加密,得到加密数据;
[0040]发送加密数据至接收端。
[0041]可选地,接收端在接收到加密数据后的操作步骤如下:
[0042]通过数据加密算法解密加密数据,得到目标数据;
[0043]拆分目标数据,得到第一待传输数据和所述第一哈希值;
[0044]对第一待传输数据进行哈希运算,得到第二哈希值;
[0045]判断第二哈希值与第一哈希值是否相同,若相同,使用待传输数据,若不相同,不使用待传输数据。
[0046]可选地,数据加密算法为ABE加密算法。
[0047]根据本专利技术的一个方面,提供了一种计算设备,包括:至少一个处理器;以及存储器,存储有程序指令,其中,所述程序指令被配置为适于由所述至少一个处理器执行,所述程序指令包括用于执行如上所述方法的指令。
[0048]根据本专利技术的一个方面,提供了一种存储有程序指令的可读存储介质,当所述程序指令被计算设备读取并执行时,使得所述计算设备执行如上所述方法。
[0049]根据本专利技术的技术方案,提供了一种数据存储方法,该方法是将待存储数据以预定存储结构存储,具体地,预定存储结构中每一节点保存的是父节点ID,而不是父节点ID存储文件目录(包括文件目录的所有文件目录项),因此当修改节点信息时只需修改节点本身信息和关联节点的信息,不涉及父节点的改变,本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据存储方法,在计算设备中执行,所述方法包括步骤:获取待存储数据;将待存储数据对象拆分为多个数据块,为每一数据块分配唯一名称;保存每一所述数据块至预定存储结构的节点中,其中,所述预定存储结构中每一节点对应为一个数据服务器,每一节点分配唯一节点ID,每一节点最大存储容量相同,除最右叶子节点外所有叶子节点存储最大容量的数据,所述预定存储结构中每一节点用于存储第一类数据,所述第一类数据包括父节点ID、目录名称、所述数据块、数据块名称和节点ID中的一种或多种,所述目录名称为当前节点对应子节点存储的数据块的目录名称;判断所述预定存储结构中的每一节点是否存在左节点,若存在,则在当前节点中保存其左节点ID。2.如权利要求1所述的方法,其中,所述将待存储数据对象拆分为多个数据块的步骤包括:确定所述待存储数据对象的数据指针当前偏移量;以已确定的数据指针当前偏移量为起始位置,从待存储数据中读取第一预设数值的数据,作为一个数据块;更新数据指针当前偏移量为已确定的数据指针当前偏移量与所述第一预设数值之和。3.如权利要求2所述的方法,其中,所述以已确定的数据指针当前偏移量为起始位置,从待存储数据中读取第一预设数值的数据,作为一个数据块的步骤包括:判断当前读取待存储数据次数与第一预设数值之积是否小于待存储数据大小,若是,以已确定的数据指针当前偏移量为起始位置读取所述第一预设数值的数据,若否,则根据如下公式确定读取待存储数据的数量,作为第二数值,以已确定的数据指针当前偏移量为起始位置读取第二数值的数据:L=m

(a

1)*b其中,L为读取待存储数据的数量,m为待存储数据所占存储空间大小,a为当前读取待存储数据的次数,b为所述第一预设数值;以已读取的数据作为一个数据块。4.如权利要求1至3中任一项所述的方法,所述保存每一所述数据块至预定存储结构的节点中的步骤包括:判断当前节点是否存在子节点,若是,在当前节点中保存其父节点ID、当前节点ID、目录名称,若否,在当前节点中保存其父节点ID、数据块、数据块名称和当前节点ID。5.如权利要求1所述的方法,还包括步骤:为每一数据块设置版本信息,其中,通过数据块版本信息区分数据块的版本;其中,所述判断当前节点是否存在子节点的步骤包括:判断当前节点是否存在子节点,若是,在当前节点中保存其父节点ID...

【专利技术属性】
技术研发人员:卢桢
申请(专利权)人:统信软件技术有限公司
类型:发明
国别省市:

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

1