用于低时延读取和写入大型数据集的不可变数据存储制造技术

技术编号:24296737 阅读:17 留言:0更新日期:2020-05-26 21:23
提供了一种过程,包括:接收写入命令,该写入命令请求将与该写入命令相关联的文档存储在不可变数据结构中,该不可变数据结构防止试图修改文档的攻击者在将文档存储在数据结构中之后隐瞒该文档已被修改;形成篡改明显的不可变有向非循环图,其文档位于该图的一个或多个节点中;以及存储有向非循环图。

Immutable data storage for reading and writing large data sets with low latency

【技术实现步骤摘要】
【国外来华专利技术】用于低时延读取和写入大型数据集的不可变数据存储相关申请的交叉引用本专利要求于2017年8月11日提交的标题为“IMMUTABLEDATASTOREFORLOW-LATENCYREADINGANDWRITINGOFLARGEDATASETS”的美国专利申请15/675,460的权益。这些早期提交的申请中的每个申请的全部内容以及通过引用并入本文的内容由此通过引用并入,以用于所有目的。
本公开总体上涉及网络安全,更具体地,涉及被配置为在存储相对较大的数据集时用于低时延访问的不可变数据存储。
技术介绍
诸如文档存储库、文件系统、关系数据库、非关系数据库、存储器图像、密钥值存储库等之类的数据存储被用于各种不同类型的计算系统中。通常,要存储的数据由数据存储接收,然后在读取操作期间被检索。在许多情况下,数据存储以促进基于数据存储中数据的地址(例如,文件名称)或数据内容(例如,结构化查询语言查询中的选择语句)进行访问的方式布置数据。在许多情况下,数据存储中数据的安全性和完整性是非受信任的。通常,侵入计算机网络的攻击者会修改或泄露数据存储中旨在是保密性的记录。此外,在许多情况下,攻击者可能是网络内的有资格的实体,例如流氓员工,这在一些情况下使许多传统的数据存储安全性方法不足。在许多情况下,此类攻击者可能会通过删除存储在数据存储中的访问日志来掩盖其在网络中的活动,这加剧了风险。
技术实现思路
以下是本技术的一些方面的非详尽列表。这些和其他方面在以下公开中描述。一些方面包括一种过程,所述过程包括:通过使用一个或多个处理器接收写入命令,所述写入命令请求将与所述写入命令关联的文档存储在不可变数据结构中,所述不可变数据结构防止尝试修改所述文档的攻击者隐瞒在所述文档被存储在所述数据结构中之后所述文档被修改;通过利用一个或多个处理器形成有向非循环图的至少一部分,所述有向非循环图具有多个节点和链接所述节点的相应节点对的边,其中:所述有向非循环图的节点具有相应的节点标识符,所述节点标识符区分所述有向非循环图的不同节点;所述有向非循环图的节点具有节点内容;所述有向非循环图的所述至少一些节点中的每个节点具有包括多个加密哈希值的节点内容;每个节点的所述加密哈希值均是(i)基于所述有向非循环图的另一相应节点的节点内容而输出的加密哈希函数,并且(ii)与另一相应节点的节点标识符相关联,从而指定所述有向非循环图的边;以及形成所述有向非循环图的至少一部分包括:将对所述文档中的至少一些进行编码的数据写入所述有向非循环图的第一节点集合的节点内容;以及从所述第一节点集合开始,遍历所述有向非循环图的边,并通过确定经由遍历被访问的节点的加密哈希值来形成所访问的节点的节点内容;以及利用一个或多个处理器来将所述有向非循环图存储在存储器中。一些方面包括存储有指令的有形的非暂时性的机器可读介质,所述指令在由数据处理装置执行时使所述数据处理装置执行包括上述处理的操作。一些方面包括一种系统,包括:一个或多个处理器;以及存储指令的存储器,当所述指令由所述处理器执行时,使所述处理器实现上述过程的操作。附图说明当参考以下附图阅读本申请时,将更好地理解本技术的上述方面和其他方面,在附图中,相同的附图标记表示相似或相同的元素:图1是示出根据一些实施例的可以在其中实现本技术的计算环境的示例的逻辑和物理架构框图;图2是根据一些实施例的流程图,其示出将文档读取和写入到篡改明显的不可变数据储存库的过程的示例;图3是数据模型框图,其示出根据一些实施例的可以通过图2的过程对其进行操作的篡改明显的不可变数据储存库的示例;图4是示出根据一些实施例的过程的示例的流程图,通过该过程,所存储的值可以被片段化并存储在多个不同的篡改明显不可变的有向非循环图中,诸如图3所示;图5是数据模型框图,其示出根据一些实施例的篡改明显的不可变数据储存库,其存储分布在多个有向非循环图之间的数据片段,可以通过图4和图6的过程对该数据储存库进行操作;图6是示出根据一些实施例的可以通过其从图5的数据结构读取数据的过程的示例的流程图;图7是示出根据一些实施例的过程的示例的流程图,通过该过程,可以形成篡改明显数据存储库中的加密哈希指针以使数据存储库模块化;图8是示出根据一些实施例的过程的示例的流程图,通过该过程,可以对现有的工作负载应用和用户界面进行改造从而以透明的方式安全地存储和访问安全性相对较高的数据;图9是示出根据一些实施例的过程的示例的流程图,通过该过程,可以将对分散数据的访问请求记录到篡改明显的不可变数据存储库中;图10是示出根据一些实施例的过程的示例的流程图,通过该过程,可以通过存储文档的版本或内容的其他单元之间的差异来压缩篡改明显的不可变数据存储库中的数据;图11是示出根据一些实施例的过程的示例的流程图,通过该过程,可以遍历存储文档的版本之间的变化的序列的版本图从而读取当前版本的文档;图12是示出根据一些实施例的数据结构的示例的数据模型框图,通过该数据结构,版本图可以作为内容图的序列存储在验证图或其他篡改明显的不可变数据储存库的集合上;以及图13是物理架构框图,其示出了可以通过其实现上述技术的计算设备的示例。尽管本技术易于进行各种修改和备选形式,但是其具体实施例在附图中通过举例说明的方式被示出并且将在本文中进行详细描述。附图可能未按比例绘制。然而,应理解,附图及其详细描述并非旨在将本技术限制为所公开的特定形式,而是相反,其意图在于涵盖落入由所附权利要求所限定的本技术的精神和范围内的所有修改、等同形式和替代形式。具体实施方式为了减轻本文描述的问题,专利技术人必须既专利技术解决方案,又在一些情况下同样重要地认识到网络安全领域中其他人忽略的(或尚未预见的)问题。确实,专利技术人希望强调难以识别那些新出现的问题,并且如果工业趋势如专利技术人所期望的那样,这些问题未來将变得更加明显。此外,因为解决了多个问题,所以应当理解,一些实施例是特定于问题的,并且并非所有实施例都解决了本文所述的传统系统的每个问题或提供了本文所述的每个益处。也就是说,下面描述解决这些问题的各种排列的改进。与组织使用的计算机的数据存储和网络的安全性有关的各种问题通过下面描述的各种版本的技术来解决。在一些情况下,可以将这些不同的技术协同使用,因此它们的描述会被分组到将在多个专利申请中提交的单个描述,所述多个专利申请具有针对不同技术及其组合的不同权利要求集合。鉴于这种方法,应当强调的是,这些技术也是独立有用的,并且可以彼此分离地或者以组合了技术的不同子集的任何排列来部署,这些都不会暗示本文的任何其他描述是限制性的。这些技术在概念上相关的组之前是以下标题。这些标题不应理解为意味着不同标题下的主题不可组合,标题下描述的每个实施例均具有该标题的所有特征,或给定标题下的每个特征均应存在于与对应的概念上相关的一组技术一致的实施例中,这也不是暗示其他描述是限制性的。鉴于图1所示的示例计算环境10,本文档来自技高网...

【技术保护点】
1.一种存储指令的有形的非暂时性机器可读介质,当所述指令由一个或多个处理器执行时,实现包括以下的操作:/n获取要存储的数据;/n将所述数据中的至少一些数据存储在不可变数据结构中;/n访问被存储在所述不可变数据结构中的所述数据中的至少一些数据;以及/n使用所述不可变数据结构来验证所访问的数据尚未被修改。/n

【技术特征摘要】
【国外来华专利技术】20170811 US 15/675,4601.一种存储指令的有形的非暂时性机器可读介质,当所述指令由一个或多个处理器执行时,实现包括以下的操作:
获取要存储的数据;
将所述数据中的至少一些数据存储在不可变数据结构中;
访问被存储在所述不可变数据结构中的所述数据中的至少一些数据;以及
使用所述不可变数据结构来验证所访问的数据尚未被修改。


2.根据权利要求1所述的介质,其中,所述操作包括:
通过使用一个或多个处理器接收写入命令来获取要存储的数据,所述写入命令请求将与所述写入命令关联的文档存储在不可变数据结构中,所述不可变数据结构防止尝试修改所述文档的攻击者隐瞒在所述文档被存储在所述数据结构中之后所述文档被修改;
通过利用一个或多个处理器形成有向非循环图的至少一部分来形成所述不可变数据结构的至少一部分,所述有向非循环图具有多个节点和链接所述节点的相应节点对的边,其中:
所述有向非循环图的节点具有相应的节点标识符,所述节点标识符区分所述有向非循环图的不同节点;
所述有向非循环图的节点具有节点内容;
所述有向非循环图的至少一些节点中的每个节点具有包括多个加密哈希值的节点内容;
每个节点的所述加密哈希值均是(i)基于所述有向非循环图的另一相应节点的节点内容而输出的加密哈希函数,并且(ii)与所述另一相应节点的节点标识符相关联,从而指定所述有向非循环图的边;以及
形成所述有向非循环图的至少一部分包括:
将对所述文档中的至少一些进行编码的数据写入所述有向非循环图的第一节点集合的节点内容;以及
从所述第一节点集合开始,遍历所述有向非循环图的边,并通过确定经由遍历被访问的节点的加密哈希值来形成所访问节点的节点内容;以及
通过使用一个或多个处理器将所述有向非循环图存储在存储器中,来将所述数据中的至少一些数据存储在不可变数据结构中。


3.根据权利要求2所述的介质,其中:
所述文档是大于1KB的文件;
所述有向非循环图包括二叉树;
所述文档被存储在所述二叉树的一个或多个叶节点中;
所述有向非循环图包括与所述第一节点集合不相交的第二节点集合,所述第二节点集合是所述二叉树的一部分,并且在遍历所述有向非循环图的边期间是被访问节点;
遍历包括形成发生遍历的被访问节点,使得在遍历期间形成所述二叉树的至少一部分;
遍历包括从所述二叉树的叶节点向所述二叉树的根节点遍历;
形成所述有向非循环图的至少一部分包括形成整个二叉树;以及
将所述有向非循环图存储在存储器中包括:将所述有向非循环图的三个或更多个不同实例存储在三个或更多个不同子网络上的三个或更多个不同计算设备中。


4.根据权利要求2-3中任一项所述的介质,其中:
所述有向非循环图是二叉树;
所述文档的至少一部分被存储在所述二叉树的一个或多个叶节点中;以及
所述二叉树的根节点具有包括基于所述二叉树的每个节点的节点内容的加密哈希值的节点内容。


5.根据权利要求4所述的介质,其中:
整个文档被存储在单个叶节点的节点内容中;
在所述单个叶节点的节点内容中以加密形式对所述文档进行编码;以及
在将所述文档加密为加密形式之前,用熵编码对所述文档进行压缩。


6.根据权利要求4所述的介质,其中:
所述文档存储在所述二叉树的多个叶节点中;
所述文档的不同部分被存储在不同叶节点的节点内容中;
所述二叉树中与所述叶节点相邻的节点的节点内容均包括:
与所述二叉树中的相应...

【专利技术属性】
技术研发人员:克里斯托弗·爱德华·斯特曼
申请(专利权)人:ALTR解决方案公司
类型:发明
国别省市:美国;US

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

1