基于微服务的去重制造技术

技术编号:23865530 阅读:29 留言:0更新日期:2020-04-18 16:40
一种管理对象存储装置的系统,该系统可包括前端微服务和后端微服务。前端微服务可获得将数据存储在对象存储装置中的请求,并将数据划分为分片。后端微服务可生成每个分片的草图,将每个分片与多个相似性组中的相似性组进行匹配,获得与每个匹配的相似性组相关联的元数据,并使用该元数据将分片中的某个分片的至少一部分添加到压缩区中。

De duplication based on microservice

【技术实现步骤摘要】
【国外来华专利技术】基于微服务的去重
技术介绍
计算设备产生,使用并存储数据。数据例如可以是图像、文档、网页、或与任何文件相关联的元数据。数据可本地存储在计算设备的持久性存储装置上,和/或可远程存储在另一个计算设备的持久性存储装置上。
技术实现思路
在一个方面中,本专利技术的一个或多个实施例的一种用于管理对象存储装置的系统可包括前端微服务和后端微服务。前端微服务可获得将数据存储在对象存储装置中的请求,并将数据划分为分片。后端微服务可生成每个分片的草图(sketch),将每个分片与相似性组进行匹配,获得与每个匹配的相似性组相关联的元数据,并使用该元数据将分片中的某个分片的至少一部分添加到压缩区中。在一个方面中,本专利技术的一个或多个实施例的一种管理对象存储装置的方法可包括:前端微服务获得将数据存储在对象存储装置中的请求;前端微服务将数据划分为分片;后端微服务生成每个分片的草图;后端微服务将每个分片与相似性组进行匹配;后端微服务获得与每个匹配的相似性组相关联的元数据;以及后端微服务使用该元数据将分片中的某个分片的至少一部分添加到压缩区中。在一个方面中,本专利技术的一个或多个实施例的一种非暂时性计算机可读介质包括计算机可读程序代码,该计算机可读程序代码在由计算机处理器执行时使该计算机处理器能够执行一种用于管理对象存储装置的方法,该方法包括:前端微服务获得将数据存储在对象存储装置中的请求;前端微服务将数据划分为分片;后端微服务生成每个分片的草图;后端微服务将每个分片与相似性组进行匹配;后端微服务获得与每个匹配的相似性组相关联的元数据;以及后端微服务使用该元数据将分片中的某个分片的至少一部分添加到压缩区中。附图说明下面将参照附图说明本专利技术的一些实施例。但是,附图仅通过示例的方式示出了本专利技术的某些方面或实施方式,并不意味着限制权利要求的范围。图1示出了本专利技术的一个或多个实施例的系统的示意图;图2A示出了本专利技术的一个或多个实施例的对象存储装置的示意图;图2B示出了本专利技术的一个或多个实施例的相似性组元数据项的示意图;图2C示出了本专利技术的一个或多个实施例的对象模板存储装置的示意图;图2D示出了本专利技术的一个或多个实施例的分片模板存储装置的示意图;图3A示出了本专利技术的一个或多个实施例的数据的示意图;图3B示出了图3A所示的本专利技术的一个或多个实施例的数据的分片的示意图;图3C示出了图3B所示的本专利技术的一个或多个实施例的分片的分段的示意图;图4示出了本专利技术的一个或多个实施例的在对象存储装置中存储数据的一种方法的流程图;图5示出了本专利技术的一个或多个实施例的在对象存储装置中存储数据的第二种方法的流程图;图6示出了本专利技术的一个或多个实施例的读取存储在对象存储装置中的数据的一种方法的流程图;图7示出了本专利技术的一个或多个实施例的读取存储在对象存储装置中的数据的第二种方法的流程图;图8示出了本专利技术的一个或多个实施例的调整分配给前端微服务或后端微服务的计算资源量的方法的流程图。具体实施方式下面将参照附图说明本专利技术的具体实施例。在以下说明中,阐述了许多细节作为本专利技术的示例。本领域技术人员应理解,无需这些具体细节即可实践本专利技术的一个或多个实施例,并且在不脱离本专利技术的范围的情况下可做出各种变化或修改。在本文中省略了本领域普通技术人员已知的某些细节,以避免使说明变得模糊。本专利技术的实施例总体涉及一种用于管理对象存储装置的方法和系统。更具体地说,所述方法和系统可提供在将数据存储在对象存储装置中之前对数据进行去重的功能。与不对数据进行去重就将数据存储在对象存储装置中的情况相比,在将数据存储在对象存储装置中之前对数据进行去重能增加可存储在对象存储装置中的数据量。与存储未去重的数据所需的总存储量相比,对数据进行去重还能通过减少存储去重后的数据所需的总存储量而降低与在对象存储装置中存储数据相关的成本。在本文所用的“去重”指仅存储尚未存储在存储装置中的数据部分的方法。例如,当在不进行去重的情况下存储每个版本之间仅有很小差异的大型文本文档的多个版本时,存储每个版本所需的持久性存储装置的存储空间量是大致相同的。相反,当在进行去重的情况下存储这些大型文本文档的多个版本时,只有被存储的多个版本的第一个版本需要很大的存储量。在将第一个版本存储在持久性存储装置中之后,随后存储的大型文本文档的版本将在存储在持久性存储装置中之前进行去重,从而与存储首次存储的版本所需的持久性存储装置的存储空间量相比,存储后续存储的版本所需的持久性存储装置的存储空间量要少得多。在本专利技术的一个或多个实施例中,去重方法可包括:一个或多个前端微服务接收数据,并将该数据划分为分片。可由一个或多个后端微服务通过将每个分片与相似性组进行匹配来对切片进行去重。与匹配的相似性组相关联的元数据可指定存储在对象存储装置中的所有分段的一个分段子集的指纹。对于每个分片,可将该分片的每个分段的指纹与分段子集的指纹进行匹配。可将与分段子集的任何指纹都不匹配的任何指纹添加到一个或多个压缩区中。可将与每个不匹配的指纹对应的指纹添加到相似性组的元数据中。可将一个或多个压缩区存储在对象存储装置中。可存储允许从存储在对象存储装置中的数据分别重构每个数据分片和数据的分片模板(recipe)和对象模板,以供将来使用。在本专利技术的一个或多个实施例中,前端微服务的数量和/或后端微服务的数量可以是动态可调的。调整每个微服务的数量能够实现将计算资源高效地分配给去重方法的不同部分。更高效地分配用于在存储装置中存储数据的计算资源能够通过响应于存储速率的变化动态地重新分配保留的计算资源,从而提高存储装置的数据存储吞吐率,消除存储瓶颈,降低存储成本,和/或提供可扩展的数据存储系统。图1示出了本专利技术的一个或多个实施例的系统。该系统可包括将数据存储在持久性存储装置(150)的对象存储装置(160)中的客户端(100)。该系统可包括在将来自客户端(100)的数据存储在对象存储装置(160)中之前对该数据进行去重的去重服务(110)。在本专利技术的一个或多个实施例中,客户端(100)和/或持久性存储装置(150)不是所述系统的一部分。客户端(100)可以是计算设备。所述计算设备例如可以是移动电话、平板计算机、便携式计算机、台式计算机、或服务器。客户端(100)的其他例子包括在云中运行的客户端,例如在虚拟机或在公共和/或私有云环境中运行的容器中运行的客户端。在不脱离本专利技术的情况下,客户端(100)可以是其他类型的计算设备。客户端(100)可以可操作地连接至去重服务(110)。虽然在图1中未示出,但是在不脱离本专利技术的情况下,客户端(100)可以可操作地连接至持久性存储装置(150)或所述系统的其他元件。持久性存储装置(150)可以是硬盘驱动器、固态驱动器、任何其他类型的持久性存储介质、或包括前述存储介质和/或其他类型的持久性存储装置的任何组合的逻辑存储装置。在本专利技术的一个或多个实施例中,持久性存储装置(150)可以是云存储服务。云存本文档来自技高网...

【技术保护点】
1.一种用于管理对象存储装置的系统,包括:/n多个前端微服务,其被编程为:/n获得将数据存储在对象存储装置中的请求;/n将所述数据划分为多个分片;和/n多个后端微服务,其被编程为:/n生成每个分片的草图;/n将每个分片与多个相似性组中的相似性组进行匹配;/n获得与每个匹配的相似性组相关联的元数据;/n使用所述元数据将所述多个分片中的一分片的至少一部分添加到压缩区中。/n

【技术特征摘要】
【国外来华专利技术】20170413 US 15/486,4301.一种用于管理对象存储装置的系统,包括:
多个前端微服务,其被编程为:
获得将数据存储在对象存储装置中的请求;
将所述数据划分为多个分片;和
多个后端微服务,其被编程为:
生成每个分片的草图;
将每个分片与多个相似性组中的相似性组进行匹配;
获得与每个匹配的相似性组相关联的元数据;
使用所述元数据将所述多个分片中的一分片的至少一部分添加到压缩区中。


2.根据权利要求1所述的系统,还包括:
请求队列,其将所述分片从所述前端微服务传递至所述后端微服务,
其中可用的后端微服务的数量是根据所述请求队列中的待处理分片的数量而动态调整的。


3.根据权利要求1所述的系统,还包括:
负载均衡器,其被编程为:
获得将数据存储在所述对象存储装置中的请求;
将所述请求分发给所述多个前端微服务,
其中所述系统根据所述负载均衡器中的待处理请求的数量来动态地调整可用的前端微服务的数量。


4.根据权利要求1所述的系统,其中将所述数据划分为多个分片包括:
将所述数据的一部分划分为多个分段;
将所述多个分段中的一部分分段编组为分片;
生成部分地指定所述分片的对象模板;和
将所述对象模板存储在对象模板存储装置中。


5.根据权利要求4所述的系统,其中将所述数据的一部分划分为所述多个分段包括:
生成所述数据的滚动哈希值;
通过将所述滚动哈希值的每个哈希值与预定位模式进行比较来获得多个分段断点;和
根据所述多个分段断点划分所述数据。


6.根据权利要求5所述的系统,其中将所述多个分段中的一部分分段编组为所述分片包括:
通过将所述滚动哈希值的每个哈希值与第二预定位模式进行比较来确定多个分片断点;
根据多个分片断点来识别所述多个分段中的所述一部分分段;和
将所述多个分段中的所识别的一部分分段编组为所述分片,
其中第二预定位模式的长度大于所述预定位模式的长度。


7.根据权利要求1所述的系统,其中使用所述元数据将所述多个分片中的一分片的至少一部分存储在所述压缩区中包括:
识别所述分片的一部分分段,其中每个分段具有与由所述元数据指定的任何指纹都不匹配的指纹;
将所述分片的所识别的一部分分段中的一分段添加到所述压缩区中;
根据所识别的一部分分段更新所述元数据;
生成分片模板,其指定:
所匹配的相似性组,和
所述分片的每个分段的每个指纹;
将所述分片模板存储在分片模板存储装置中。


8.根据权利要求7所述的系统,其中每个分段的所述指纹包括几乎唯一地标识所述分段的位串。


9.根据权利要求8所述的系统,其中每个分段的所述指纹是通过执行所述分段的安全哈希操作获得的。


10.根据权利要求7所述的系统,其中每个分片的所述草图包括不唯一地标识所述分片的位串。


11.根据权利要求1所述的系统,其中...

【专利技术属性】
技术研发人员:格兰特·R·华莱士
申请(专利权)人:EMC知识产权控股有限公司
类型:发明
国别省市:美国;US

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

1