云存储元数据处理系统的制作方法_2

文档序号:8457279阅读:来源:国知局
的所有访问,都直接跟AccessSystem通过API进行,这里的用户,在云存储的服务体系中,是指云存储服务的接入层,对内,AccessSystem负责对用户访问数据的流程进行协调、控制和异常处理,是元数据服务的枢纽。
[0048]认证模块(AuthorizeSystem),用于提供云存储元数据处理系统的其它各个模块间操作调用的认证服务;具体的,AuthorizeSystem负责提供各个模块间操作调用的认证服务。在云存储和元数据服务体系中,无论是外部的用户操作调用,还是内部的数据交流,都必须经过特定的认证环节,如果没有该环节,很可能导致数据被恶意或者无意的修改、删除、破坏或者滥用,这些都会导致用户或者云存储服务供应商在经济上的巨大损失,所有的认证环节都由AuthorizeSystem负责。AuthorizeSystem根据调用接口性质的不同,采用不同强度的认证方式。对于外部接口调用,采用严格的AccessyKey+HMAC+SHAl的Hash认证方式,对于内部的接口调用,采用简单的Basic Auth认证方式。
[0049]元数据库,用于存储划分好的预设大小的元数据单元,每个元数据单元包含若干个元数据;
[0050]分区配置模块(Partit1nConfigSystem),用于记录当前的所有元数据单元的分区配置的信息;具体的,Partit1nConfigSystem负责记录当前的分区配置信息。在本发明中,分区是系统对于完整元数据空间的切分,每个分区,都是独立的单元对外服务。元数据系统根据用户数据的命名空间、数据实际规模和系统的服务能力,对分区进行设定和调整,确保分区内部的服务性能,相对于TB及以上级别的元数据本身,分区划分的配置信息很小,也易于同步,这些配置信息即保存在Partit1nConfigSystem当中。
[0051]分区驱动模块(Partit1nDriverSystem),用于定时对所有元数据单元的分区配置进行管理和生成分区调整指令;具体的,Partit1nDriverSystem负责元数据分区的管理和调整。Partit1nDriverSystem定时驱动分区调整流程,对所涉及的分区进行修正工作,这些调整包括,如果某个分区包括的数据量过多,需要对该分区进行细化分区的操作;如果某些连续分区数据量过少,可能需要对这些连续分区进行合并操作,以减少数据冗余。整个元数据服务的另一个重要流程,即分区调整流程,即由分区驱动系统执行。
[0052]详细的,本发明的分区调整流程由Partit1nDriverSystem驱动。Partit1nDriverSystem定期触发一个任务,检查当前完整的元数据分布和访问压力,确定新一轮的分区策略和分区变化阶段的过渡策略。在分区变化的过程中,涉及到当前(currConfig)、新(newConfig)和中间配置(midConfig)三种不同的配置,这是为了保证在配置调整过程中,服务的持续正常进行。其中,当前配置指目前正在使用的配置;新配置指调整后的配置,新配置与旧配置的区别,可能是分区调整后,分区合并或分裂的配置差异,也可能仅仅是动静分离合并后的差异;而中间配置是指新旧配置切换的过渡配置。如图3所示,具体的分区调整流程如下:
[0053]A.Partit1nDriverSystem根据当前配置,计算新配置和过渡配置。
[0054]B.Partit1nDriverSystem 向 Partit1nConfigSystem 询问当前配置信息。
[0055]C.Partit1nConfigSystem返回当前的全局配置信息到Partit1nDriverSystem。
[0056]D.Partit1nDriverSystem 检查 Partit1nConfigSystem 的配置,如果不正确,流程停止。
[0057]E.Partit1nDriverSystem 向 Endpoints 询问当前配置信息。
[0058]F.Endpoints 返回当前配置到 Partit1nDriverSystem。
[0059]G.Partit1nDriverSystem确认Endpoints的当前配置是否正确,如果配置不正确,则整体过程停止,如果正确,流程继续。
[0060]H.Partit1nDriverSystem 将中间配置推送到 Partit1nConf igSystem。
[0061]1.Partit1nConfigSystem 向 Partit1nDriverSystem 确认中间配置推送已成功。
[0062]J.Partit1nDriverSystem 将中间配置推送到 EndpointSystem。
[0063]K.EndpointSystem 向 Partit1nDriverSystem 确认中间配置推送已成功。
[0064]L.Partit1nDriverSystem 激发 EndpointSystem,启用中间配置。
[0065]M.EndpointSystem 返回 Partit1nDriverSystem,中间配置启用成功。
[0066]N.Partit1nDriverSystem 激发 Partit1nConfigSystem,启用中间配置,淘汰旧配置。
[0067]0.Partit1nConfigSystem 返回 Partit1nDriverSystem,中间配置启用成功。
[0068]P.Partit1nDriverSystem 激发 EndpointSystem,旧配置下线,确保新的写入数据都是在中间配置下操作的。
[0069]Q.EndpointSystem 返回 Partit1nDriverSystem,通知旧配置下线成功。
[0070]R.Partit1nDriverSystem进行数据分区的合并、分割和动静数据融合操作,该过程称为un1n。
[0071]S.Partit1nDriverSystem 将新配置推送到 Partit1nConf igSystem。
[0072]T.Partit1nConfigSystem 向 Partit1nDriverSystem 确认新配置推送已成功。
[0073]U.Partit1nDriverSystem 将新配置推送到 EndpointSystem。
[0074]V.EndpointSystem 向 Partit1nDriverSystem 确认新配置推送已成功。
[0075]ff.Partit1nDriverSystem 激发 EndpointSystem,启用新配置。
[0076]X.EndpointSystem 返回 Partit1nDriverSystem,新配置启用成功。
[0077]Y.Partit1nDriverSystem 激发 Partit1nConfigSystem,启用新配置。
[0078]Z.Partit1nConfigSystem 返回 Partit1nDriverSystem,新配置启用成功。
[0079]AA.Partit1nDriverSystem 激发 EndpointSystem,下线中间配置。
[0080]BB.EndpointSystem 返回 Partit1nDriverSystem,中间配置下线成功。
[0081]CC.过程完成。
[0082]终端模块(EndpointSystem),用于在数据访问流程中,提供对所述元数据库的访问支持,并进行相应的控制和优化,及根据所述分区调整指令对元数据单元的分区配置进行调整;具体的,EndpointSystem负责数据库存储引擎与外部调用的协调。本发明使用传统的数据库进行最终的数据(即元数据)存储和索引,而所有针对数据的操作,都由EndpointSystem操作。在数据访问流程中,EndpointSystem负责提供对数据库的访问支持,并进行相应的控制和优化。另一方面,针对各条具体的记录进行的日志结构合并的操作,也是在当中进行的,如果不能合理的合并日志结构,会导致记录的读取服务非常缓慢,最终影响线上服务的读取性能,之所以采用日志结构,而不是直接修改的方式,很大程度上是为了提升系统对写入数据的服务性能。在分区调整流程中,EndpointSystem负责根据Partit1nDriverSystem的要求,进行相应的数据库表结构调整(合并和切分)操作,为保证服务的可用性,数据库的操作是在多个副本间隔
当前第2页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1