一种基于高速加密算法的分布式存储系统的制作方法
未命名
10-26
阅读:56
评论:0
1.本发明属于数据处理系统技术领域,具体涉及一种基于高速加密算法的分布式存储系统。
背景技术:
2.分布式存储系统,将数据分散存储在多台独立的设备上,采用可扩展的系统结构,利用这多台独立的设备分担存储负荷,这样不仅能够提高存储系统的可靠性、性能和容量,还易于扩展。目前,分布式存储系统常见的架构包括如纵向扩展(scale-up)架构和横向扩展(scale-out)架构。其中,scale-up架构指的是,在原有的存储系统中,通过增加单个设备的容量或更新该设备来满足数据和性能的增长需求(即由一个存储控制器统一管理设置于同一设备中的多个存储设备);scale-out架构指的是,在原有的存储系统中,通过增加节点的方式进行扩容(即增加至少一个包括存储设备和存储控制器在内的设备,且相邻两个设备之间通过各自的存储控制器进行数据交互),其中,每个节点都能提供容量、带宽和计算能力。
3.如何保证在分布式存储系统中新增数据节点保证数据新增节点时保证数据的准确性和对节点之间数据进行迁移时数据的加密性能成为亟待解决的问题。
技术实现要素:
4.为此,本发明提供一种基于高速加密算法的分布式存储系统,以实现在执行分布式存储的同时,保证数据的安全性。
5.本发明的第一方面,提供了一种基于高速加密算法的分布式存储系统,包括:至少一个调度节点,被配置为执行调度和节点分配,并且至少提供第一密钥;组群,被配置为向每一个节点中设置第一地址和第二地址,亦被配置为向所述组群中的每个节点根据其第一地址和第二地址生成其分布标识;节点,被配置为至少属于一个组群,每个所述节点内对应设置多个第一存储设备和对应其的至少一个第二存储设备;所述第一存储设备,被配置为被第一地址索引时响应,且无法写入所述第二地址;所述第二存储设备,被配置为被第二地址索引时响应,且无法写入所述第一地址;所述第一地址为明文地址,且经第一加密后得到所述第二地址,且所述第一地址和所述第二地址字节数相等;以及存储控制器,被配置为存储来自所述第一存储设备被响应时生成的第一地址和第二地址,并在所述调度节点对文件执行索引操作时向所述第一存储设备和所述第二存储设备请求响应;所述索引操作包括:索引写入,所述调度节点接收到任意写入请求后,将随请求提供的文件拆分为多个预设长度的子文件,生成子文件序列及对应其的时间序列;
且在该子文件序列中生成对应序列位数的虚拟文件,每个所述虚拟文件的字节占用均为预设值;将子文件序列中的每一个文件根据节点任务占用率进行分配;并且以第一泊松算法生成表索引,所述表索引为一次写入时被写入的子文件序列中各子文件在各节点之中的分布;调度节点向写入请求的来源发送第二地址;索引读取,调度节点接收到任意读取请求后,根据第二地址索引至对应的第二存储设备中的存储位;存储控制器调用被索引的第二地址对应的虚拟文件;存储控制器将虚拟文件返回至调度节点,并从表序列中检索虚拟文件被索引的对应子文件,并提交对第一地址的访问后返回子文件至调度节点;索引删除,调度节点接收到任意删除请求后,删除提供的请求中的表序列。
6.进一步的,所述第一存储设备和所述第二存储设备为独立的硬件介质。
7.进一步的,所述第一存储设备和所述第二存储设备为同一硬件介质中的虚拟分区。
8.进一步的,所述调度节点还被配置为:获取节点的内存占用、存储设备占用和cpu占用;根据内存占用、存储设备占用和cpu占用生成占用分布序列;并且根据占用分布序列生成预存储序列,所述预存储序列被用于下一次执行索引写入时的文件序列;若下一次写入文件时的文件序列长度小于预存储序列,向差位序列中填入标识文件,标识文件字节长度为1。
9.进一步的,所述调度节点还被配置为:执行索引删除后,检索各节点中的第一存储设备的文件占用;按照生成空文件的时间对空文件执行删除。
10.进一步的,所述组群还被配置为:若该组群内的可用存储设备占用小于预设阈值,向另一组群中的空闲节点发起并组请求,将该节点扩容至该节点内;若发生所述并组请求,则对应的所述节点同属于两个组群。
11.本发明的第二方面,提供一种计算机可读存储介质,计算机可读存储介质被计算机执行时,用于执行本发明提供的系统中的方法。
12.本发明的第三方面,提供一种电子设备,包括存储器和处理器,所述存储器被处理器执行时,用于执行本发明提供的系统中的方法。
13.本发明的上述技术方案,相比现有技术具有以下优点:本发明通过所述调度节点接受到任一写入请求后,将提供的文件拆分为多个预设长度的子文件,并根据子文件的生成顺序生成文件序列以及时间标识;且在该子文件中生成对应数量的虚拟文件,所述虚拟文件字节占用为固定的预设值;将文件序列中的每一个文件根据节点任务占用率进行分配,并且生成表索引,所述表索引对于同一写入的文件的文件序列在各节点间的分布;调度节点向写入请求的来源发送虚拟地址;所述索引读取为:
所述调度节点接收到任一读取请求后,根据虚拟地址索引至第二存储设备对应的存储位;存储控制器中调用对应所述虚拟地址的空文件;存储控制器将空文件返回至调度节点,调度节点向请求方返回空文件并从表序列中检索空文件,并根据空文件在表序列中的位置检索空文件对应的文件序列位置,向文件序列对应的物理地址提交访问后返回文件,实现了文件存储访问的加密性能,请求方仅持有文件访问的虚拟地址,不具备直接访问权限,同时对于恶意侵占方,对于获取的物理地址,调度节点不执行直接访问,保证了数据的安全性。
附图说明
14.图1是本发明实施例提供的系统的结构示意图;图2是本发明实施例提供的电子设备的结构示意图。
具体实施方式
15.为了能够更加详尽地了解本公开实施例的特点与技术内容,下面结合附图对本公开实施例的实现进行详细阐述,所附附图仅供参考说明之用,并非用来限定本公开实施例。在以下的技术描述中,为方便解释起见,通过多个细节以提供对所披露实施例的充分理解。然而,在没有这些细节的情况下,一个或多个实施例仍然可以实施。在其它情况下,为简化附图,熟知的结构和装置可以简化展示。
实施例一
16.本实施例提供一种基于高速加密算法的分布式存储系统,如图1所示,包括组群、节点以及至少一个调度节点。
17.在本公开实施例中,一个调度节点连接至n个组群,任一一个组群连接n个节点。并且对于本公开实施例,不同的组群之间所连接的节点数目不受限制,可以是下列设置中的一种:所有组群之间的节点数量均相同;所述组群之间的节点数量均不相同;至少两个组群之间的节点数量相同。
18.本公开实施例中的每个节点包括两个第一存储设备和一个第二存储设备,需要说明的是,在同一个节点中对于存储设备(包括第一存储设备和第二存储设备)的数量设置并非是固定,并且在其最低限度的组成中至少包括一个第一存储设备和至少一个第二存储设备。
19.在本公开实施例的范围内,第一密钥的构建基于国际通用加密算法或者符合国标的密钥算法或者采用两者之间的结合,且第一密钥的设置是对称密钥、非对称密钥或者两者组合的复合密钥。
20.具体地说,在本公开实施例提供的一个调度节点被配置为执行调度和节点分配,并且至少提供第一密钥。
21.组群被配置为向每一个第一节点和第二节点内设置第一地址和第二地址,同时也被配置为向组群中的每个节点根据其第一地址和第二地址生成分布标识。节点则被配置为至少属于一个组群,每个节点内对应设置本公开实施例中的第一存储设备和第二存储设备的设置。
22.第一存储设备被配置为被第一地址索引时响应,且无法向第一存储设备中写入第二地址。
23.第二存储设备被配置为被第二地址索引时响应,且无法向第二存储设备中写入第一地址。
24.第一地址为明文地址并且经过第一密钥加密后得到第二地址,在经过第一密钥加密的前后,第一地址和第二地址的字节数均保持相等。
25.存储控制器被配置为存储来自第一存储设备被响应时生成的第一地址和第二地址,并且在调度节点对文件执行索引操作时向第一存储设备和第二存储设备请求响应。
26.在本公开实施例中提供的索引操作包括索引写入、索引读取和索引删除。
27.由本公开实施例提供的索引写入,当调度节点接收到任意的写入请求后,将随请求提供的文件拆分为多个预设长度的子文件,生成子文件序列和对应子文件序列的时间序列,同时在该子文件序列中生成对应序列位数的虚拟文件,每个虚拟文件的字节占用均为预设值,需要说明的是,本公开实施例中设置的预设值为固定字节数,即每个虚拟文件的字节占用大小相同。
28.调度文件将获取各节点之间的节点占用率,根据节点占用率对子文件进行分配,并且根据第一泊松算法生成表索引,表索引为一次写入时被写入的子文件序列中的各子文件在各节点中的分布索引。在本公开实施例中,文件均写入第一存储设备内。
29.本公开实施例中的第一泊松算法在系统的预设时间段内发生的节点分配率变化,获得各时刻的节点分配率与发生的单位时间之间的比值,得到单位时间内的各节点内的第二单位时间分配率,获得全体节点的全部第二单位时间分配率,得到关于节点分配率变化的第一泊松率和第二泊松率,第一泊松率为同一个节点在预设时间段内的分配率变化的泊松分布,第二泊松率为预设时间段内文件写入组群时在分布在全体节点之间的泊松分布。
30.然后将第一泊松率和第二泊松率写入到此次分布的表索引当中,具体地说每次写入的文件其子文件的反馈值中包括的由该节点提供的第二泊松率,以及该组群内提供的第一泊松率,即表索引的格式值为第一泊松率#组群-节点索引编码#第二泊松率,因此表索引实际上是由多个本公开实施例提供的格式值的数组。根据表索引,由于预设时间段内的泊松率具有唯一型,可以精确检索到节点中所存储的文件位置。
31.再者在本公开实施例中,表索引始终存储在调度节点内,并且在新的文件被写入后第一泊松率和第二泊松率均会发生一定的变化,因此对于请求方而言,请求方无法直接通过表索引读取数据。
32.同时泊松率具有总体相近的特点,在检索文件时,会提供模糊的寻址作用,因此在本公开实施例中,还提供了写入时的时间序列,因此调度节点根据表索引和时间序列共同索引文件,并且第一泊松率和第二泊松率设置阈值,在该阈值范围内的第一泊松率和第二泊松率均可以寻址至同一个文件。本公开实施例进一步说明阈值的设置不对精确寻址的干扰,由于第一泊松率和第二泊松率是在单位时间段内对同一个文件序列写入时提供的文件分布,在单位时间段内新写入的文件会由调度节点向占用较少的节点进行写入,因此,其总体散步仅会发生阈值内的变化。
33.此时表索引向请求方提供了此次写入的数据的具体分布,并且可以根据此次写入的数据获取的表索引获取文件的预测分布,向请求方提供随机写入和根据分配率写入的两
种写入预测,请求方虽然不直接读取写入的节点中的对应数据,但是对随机写入和根据分配率进行写入的预测条件做出基本的掌控,可以更为精确地管理系统对于各节点的占用。
34.然后调度节点会向写入请求的来源发送第二地址,由于第二地址是由第一地址经过加密后得到密文地址,请求方无法直接对其进行解析,然后根据表索引获取到文件的大致分布和后续概率分布。
35.同时调度节点会向存储控制器生成表序列,即根据表索引索引的所有文件,寻址表索引对应的文件生成的第一地址和第二地址,建立第一地址和第二地址的关联序列。
36.本公开实施例提供的索引读取,调度节点接收到任意读取请求后,根据第二地址索引至对应的第二存储设备中的存储位;存储控制器调用被索引的第二地址对应的虚拟文件;存储控制器将虚拟文件返回至调度节点,并从表序列中检索虚拟文件被索引的对应子文件,并提交对第一地址的访问后返回子文件至调度节点,由调度节点返回至请求方。
37.本公开实施例提供的索引删除为调度节点接收到任意删除请求后,删除提供的请求中的表序列以及表索引,而不对文件本身做出处理,由于本技术的表序列和表索引的生成基于第一泊松率和第二泊松率,因此对文件本身不做变更以保证全局的第一泊松率和第二泊松率不再短暂的响应之间发生变化,避免因为同一个请求在短暂的时间内发起写入和删除请求,导致当前的所有请求方的表索引失效。
38.作为本公开实施例的进一步优选方式,所述第一存储设备和所述第二存储设备为独立的硬件介质或者所述第一存储设备和所述第二存储设备为同一硬件介质中的虚拟分区作为本公开实施例的另一种优选方式,所述调度节点还被配置为获取节点的内存占用、存储设备占用和cpu占用;根据内存占用、存储设备占用和cpu占用生成占用分布序列;并且根据占用分布序列生成预存储序列,所述预存储序列被用于下一次执行索引写入时的文件序列;若下一次写入文件时的文件序列长度小于预存储序列,向差位序列中填入标识文件,标识文件字节长度为1。在本公开实施例提供的表索引的基础上,可以对存储进行随机写入预测和分布预测,因此能够生成对应的预存储序列,且预存储序列在设置上对第一泊松率和第二泊松率产生在新的预设时间段的影响,因此预存储序列总设置为相同的长度,若下次分布存储的长度不足,则需要进行差位变更。
39.所述调度节点还被配置为,执行索引删除后,检索各节点中的第一存储设备的文件占用;按照生成空文件的时间对空文件执行删除,空文件即为虚拟文件和标识文件。
40.所述组群还被配置为:若该组群内的可用存储设备占用小于预设阈值,向另一组群中的空闲节点发起并组请求,将该节点扩容至该节点内;若发生所述并组请求,则对应的所述节点同属于两个组群。若一个节点同属于两个组群,对该节点参与计算的第一泊松率按照本公开实施例提供的一个节点从属于一个组群时的计算方式。
实施例二
41.本公开实施例与实施例一的不同之处在于,在本实施例中的调度节点作为组群的组成部分,而非独立的部件。
实施例三
42.结合图2所示,本公开实施例提供一种基于高速加密算法的分布式存储系统的电子设备,该电子设备用于实现如实施例一中的系统中的方法,在本实施例中的方法包括索引操作、节点之间的调度和节点分配。
43.电子设备包括处理器(processor)30和存储器(memory)31。
44.可选地,该电子设备还可以包括通信接口(communicationinterface)32和总线33。
45.其中,处理器30、通信接口32、存储器31可以通过总线33完成相互间的通信。通信接口32可以用于信息传输。处理器30可以调用存储器31中的逻辑指令,以执行上述实施例基于高速加密算法的分布式存储系统。
46.本公开实施例提供了一种存储介质,存储有计算机可执行指令,所述计算机可执行指令设置为执行上述基于高速加密算法的分布式存储系统。
47.上述的存储介质可以是暂态计算机可读存储介质,也可以是非暂态计算机可读存储介质。非暂态存储介质,包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等多种可以存储程序代码的介质,也可以是暂态存储介质。
48.以上描述和附图充分地示出了本公开的实施例,以使本领域的技术人员能够实践它们。其他实施例可以包括结构的、逻辑的、电气的、过程的以及其他的改变。实施例仅代表可能的变化。除非明确要求,否则单独的部件和作用是可选的,并且操作的顺序可以变化。一些实施例的部分和特征可以被包括在或替换其他实施例的部分和特征。而且,本技术中使用的用词仅用于描述实施例并且不用于限制权利要求。如在实施例以及权利要求的描述中使用的,除非上下文清楚地表明,否则单数形式的“一个”(a)、“一个”(an)和“所述”(the)旨在同样包括复数形式。类似地,如在本技术中所使用的术语“和/或”是指包含一个或一个以上相关联的列出的任何以及所有可能的组合。另外,当用于本技术中时,术语“包括”(comprise)及其变型“包括”(comprises)和/或包括(comprising)等指陈述的特征、整体、步骤、操作、元素,和/或组件的存在,但不排除一个或一个以上其它特征、整体、步骤、操作、元素、组件和/或这些的分组的存在或添加。在没有更多限制的情况下,由语句“包括一个
…”
限定的要素,并不排除在包括所述要素的过程、方法或者设备中还存在另外的相同要素。本文中,每个实施例重点说明的可以是与其他实施例的不同之处,各个实施例之间相同相似部分可以互相参见。对于实施例公开的方法、产品等而言,如果其与实施例公开的方法部分相对应,那么相关之处可以参见方法部分的描述。
技术特征:
1.一种基于高速加密算法的分布式存储系统,其特征在于,包括:至少一个调度节点,被配置为执行调度和节点分配,并且至少提供第一密钥;组群,被配置为向每一个节点中设置第一地址和第二地址,亦被配置为向所述组群中的每个节点根据其第一地址和第二地址生成其分布标识;节点,被配置为至少属于一个组群,每个所述节点内对应设置多个第一存储设备和对应其的至少一个第二存储设备;所述第一存储设备,被配置为被第一地址索引时响应,且无法写入所述第二地址;所述第二存储设备,被配置为被第二地址索引时响应,且无法写入所述第一地址;所述第一地址为明文地址,且经第一加密后得到所述第二地址,且所述第一地址和所述第二地址字节数相等;以及存储控制器,被配置为存储来自所述第一存储设备被响应时生成的第一地址和第二地址,并在所述调度节点对文件执行索引操作时向所述第一存储设备和所述第二存储设备请求响应;所述索引操作包括:索引写入,所述调度节点接收到任意写入请求后,将随请求提供的文件拆分为多个预设长度的子文件,生成子文件序列及对应其的时间序列;且在该子文件序列中生成对应序列位数的虚拟文件,每个所述虚拟文件的字节占用均为预设值;将子文件序列中的每一个文件根据节点任务占用率进行分配;并且以第一泊松算法生成表索引,所述表索引为一次写入时被写入的子文件序列中各子文件在各节点之中的分布;调度节点向写入请求的来源发送第二地址;索引读取,调度节点接收到任意读取请求后,根据第二地址索引至对应的第二存储设备中的存储位;存储控制器调用被索引的第二地址对应的虚拟文件;存储控制器将虚拟文件返回至调度节点,并从表序列中检索虚拟文件被索引的对应子文件,并提交对第一地址的访问后返回子文件至调度节点;索引删除,调度节点接收到任意删除请求后,删除提供的请求中的表序列。2.根据权利要求1中所述的基于高速加密算法的分布式存储系统,其特征在于,所述第一存储设备和所述第二存储设备为独立的硬件介质。3.根据权利要求2中所述的基于高速加密算法的分布式存储系统,其特征在于,所述第一存储设备和所述第二存储设备为同一硬件介质中的虚拟分区。4.根据权利要求1所述的基于高速加密算法的分布式存储系统,其特征在于,所述调度节点还被配置为:获取节点的内存占用、存储设备占用和cpu占用;根据内存占用、存储设备占用和cpu占用生成占用分布序列;并且根据占用分布序列生成预存储序列,所述预存储序列被用于下一次执行索引写入时的文件序列;若下一次写入文件时的文件序列长度小于预存储序列,向差位序列中填入标识文件,
标识文件字节长度为1。5.根据权利要求1所述的基于高速加密算法的分布式存储系统,其特征在于,所述调度节点还被配置为:执行索引删除后,检索各节点中的第一存储设备的文件占用;按照生成空文件的时间对空文件执行删除。6.根据权利要求1所述的基于高速加密算法的分布式存储系统,其特征在于,所述组群还被配置为:若该组群内的可用存储设备占用小于预设阈值,向另一组群中的空闲节点发起并组请求,将该节点扩容至该节点内;若发生所述并组请求,则对应的所述节点同属于两个组群。7.一种计算机可读存储介质,其上存储有计算器程序,计算机程序被执行时适于实现如权利要求1-6中任一所述的系统。8.一种电子设备,包括存储器和处理器,所述处理器适于执行如权利要求1-6任一所述的系统。
技术总结
本发明提供一种基于高速加密算法的分布式存储系统,包括调度节点、组群、节点、第一存储设备和第二存储设备,通过调度节点接受到任一写入请求后,将提供的文件拆分为多个预设长度的子文件,且在该子文件中生成对应数量的虚拟文件;将文件序列中的每一个文件根据节点任务占用率进行分配,并且生成表索引;调度节点向写入请求的来源发送虚拟地址;本发明实现了文件存储访问的加密性能,请求方仅持有文件访问的虚拟地址,不具备直接访问权限,同时对于恶意侵占方,对于获取的物理地址,调度节点不执行直接访问,保证了数据的安全性。保证了数据的安全性。保证了数据的安全性。
技术研发人员:朱云 李元骅 可为
受保护的技术使用者:北京数盾信息科技有限公司
技术研发日:2023.09.13
技术公布日:2023/10/20
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
航空商城 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/