基于混合云计算平台的存储方法及系统与流程

文档序号:24500316发布日期:2021-03-30 21:29阅读:104来源:国知局
基于混合云计算平台的存储方法及系统与流程

本发明涉及计算机领域,特别涉及一种基于混合云计算平台的存储方法及系统。



背景技术:

随着互联网的发展,数据信息呈现爆炸式增长,特别是随着大数据的来临,给存储系统的进一步发展带来了无限的机遇和挑战。数据存储作为云计算的存储部分,既承担了中间数据的缓存,又是输出有价值数据的重要集中地,对存储系统的管理就非常重要。随着数据量的增大,自建数据中心已不能满足数据存储需求,而使用公有云存储的也越来越多;混合云存储这一使用方式也渐渐被各行各业所使用,但在实际使用中现有混合云存储系统在数据的管理和设计方面存在不足,公有云和私有云存储经常分别独立使用,部署在对应的公有云业务只使用对应公有云的存储,而不能有效的利用跨云存储的资源,无法统一的对所有混合云的资源进行统一管理使用。

而大规模的混合云计算平台面对的实际场景具有计算节点的高伸缩性以及任务调度的分散性,在用户突然提交大批量任务时,计算平台需要在可承受的价格范围内从所有公有云尽可能申请计算资源,按照调度策略将计算任务调度到混合云对应的计算集群里,计算结束后回缩所有的计算节点。这要求在计算节点上对存储传输上花的时间越短越好,以便将计算资源投入到计算中;另一个是调度的随机性,很可能同一批次任务的数据有流水线的依赖关系,但调度的计算云或集群不在一起,需要跨云存储访问数据。

而现有的跨云存储没有统一的数据管理模块,存储对象的使用与对应云服务提供商架构绑定较强,而对跨云以及本地存储的使用存在使用不方便,需要指定的情况。不同的云服务提供商的存储资源的连接速率以及存储成本存在差别,在对应的场景下很难选择最合适的存储资源。现有的跨云存储访问速率较慢,占用了计算资源的大量时间。



技术实现要素:

基于此,有必要提供一种可提高效率的基于混合云计算平台的存储方法。

同时,提供一种可提高效率的基于混合云计算平台的存储系统。

一种基于混合云计算平台的存储方法,包括:

请求判断:接收用户请求,判断是存储对象还是传输数据;

存储:若为存储对象,则对存储对象进行创建控制处理,动态监控并反馈参数,通过反馈参数结合调度策略择优创建当前计算集群的存储区域;

获取资源信息:若为传输数据,则获取传输数据的资源信息;

加解密判断:判断是否加解密;

加速判断:若判断为不需加解密,则判断是否加速;若判断为需要加解密,进行加解密后,判断是否需要加速;

数据传输:若无需加速则对数据进行传输;若为上传数据则获取数据并更新元数据,反馈给用户。

在优选实施例中,根据当前计算集群的环境判断是否有跨区域的数据传输及动态监控性能,判断是否需要加速;若判断有跨区域的数据传输且动态监控性能差,则判断需要加速。

在优选实施例中,所述动态监控性能包括:监控当前计算集群访问各个公有云的性能差异,并将获得的性能数据和价格返回进行记录统计。

在优选实施例中,所述动态监控:通过内部定时对文件进行上传下载的性能测试,确定计算平台在每个计算集群访问每个存储时刻的性能数据,以综合分析计算平台的调度策略。

在优选实施例中,所述优创建当前计算集群的存储区域包括:调度策略,所述调度策略包括:计算集群的调度、存储的调度,所述计算集群的调度根据计算集群的竞价机型单价、公有云厂商竞价计算资源池大小,计算资源池是否满足计算任务的运算;所述存储的调度配合计算调度分配存储;

所述创建控制处理包括:统一存储的资源访问权限、存储加密、动态监控的控制操作,所述资源信息包括区域位置。

一种基于混合云计算平台的存储系统,包括:

请求判断单元:通过访问接口模块接收用户请求,判断是存储对象还是传输数据;

存储单元:若为存储对象,则通过存储管理模块对存储对象进行创建控制处理,动态监控模块动态监控并反馈参数给存储管理模块,存储管理模块通过动态监控模块的反馈参数结合调度策略,择优创建最适合当前计算集群的存储区域;

获取资源信息单元:若为传输数据,则通过元数据模块获取传输数据的区域位置等资源信息;

加解密判断单元:判断是否加解密;

加速判断单元:若判断为不需加解密,则判断是否加速;若判断为需要加解密,通过存储加密模块进行加解密处理,进行加解密后,判断是否需要加速;优选的,通过结合计算集群的环境判断是否有跨区域的数据传输且动态监控其性能差,判断是否需要加速模块加速;

数据传输单元:若无需加速则通过统一存储接口模块对数据进行传输;若为上传数据则获取数据并更新元数据模块中的元数据,并通过访问接口模块反馈给用户。

在优选实施例中,所述访问接口模块:为用于封装对接存储的sdk,用于传递用户请求和参数;

所述存储管理模块:基于混合云底层存储封装的平台存储模块,统一存储控制操作,在管理存储中协调其他模块以及计算集群的策略,进行相关调度工作;

所述统一存储接口模块:封装公有云和私有云的所有sdk,提供统一的混合云存储服务访问接口,以使用户能以文件或文件夹访问的形式访问存储数据;

所述元数据管理模块:提供数据的元数据信息;

所述存储加密模块:对数据进行加解密;

所述动态监控模块:用于监控当前计算集群访问的各个公有云的性能差异,将得到的性能数据和价格返回给存储管理模块进行记录统计;

所述存储加速模块:对数据进行加速下载或上传。

在优选实施例中,所述存储管理模块统一存储控制操作包括资源访问权限、存储加密、动态监控;所述资源信息包括区域位置。

在优选实施例中,所述动态监控模块定时通过对文件进行上传下载的性能测试,确定计算平台在每个计算集群访问每个存储的时刻性能数据,以使计算平台的综合分析调度策略。

在优选实施例中,所述调度策略包括:计算集群的调度、存储的调度,所述计算集群的调度根据计算集群的竞价机型单价、公有云厂商竞价计算资源池大小,计算资源池是否满足计算任务的运算;所述存储的调度配合计算调度分配存储。

上述基于混合云计算平台的存储方法及系统,通过动态监控择优选择计算集群的存储区域,以在对应的场景下选择最合适的存储资源,基于混合云计算平台进行存储,使跨云存储及本地存储都极为方便,根据需要进行加速下载、上传,使跨云存储访问速率快,节约大量时间。通过动态监控,针对计算平台的存储需求,自动分配合适的存储对象,并可以快速查找。

附图说明

图1为本发明一实施例的基于混合云计算平台的存储系统的模块化功能图;

图2为本发明一实施例的基于混合云计算平台的存储方法的部分流程图。

具体实施方式

本发明根据功能进行模块化设计,包含如动态监控模块、存储加速模块、以及存储管理模块等主要模块。

如图1所示,本发明一优选实施例的基于混合云存储的存储系统,包括:

访问接口模块,用于传递用户存储请求,包括存储创建和权限管理等;

优选的,本实施例的访问接口模块为一个用于封装对接存储的sdk(softwaredevelopmentkit软件开发工具包),将用户的请求和参数发送至混合云存储系统中,完成用户的访问操作。

存储管理模块,用于创建管理分配存储等操作,相当于基于混合存储封装了一个统一的虚拟存储,基于这个统一的虚拟存储进行操作。

优选的,本实施例的存储管理模块为基于混合云底层存储封装的一个平台存储模块,统一了存储的包括资源访问权限、存储加密、动态监控在内的控制操作。存储管理模块是整个混合云存储的中枢模块,与其他模块都有着api(applicationprogramminginterface,应用程序接口)交互,并在管理存储中协调其他多个模块以及计算集群的策略,完成相关调度工作。

统一存储接口模块,用于提供统一的混合云存储服务访问接口,实质封装了公有云和私有云的所有sdk(softwaredevelopmentkit软件开发工具包),并通过虚拟文件系统对外提供统一的restfulapi接口。

优选的,本实施例的统一存储接口模块用于针对所有公有云的存储接口以及本地slurm集群存储进行统一的接口封装,让用户能以文件和文件夹访问的形式访问存储数据,并支持任意两个存储对象的数据复制和同步。

元数据管理模块,用于存储数据位置等元数据信息,上传更新元数据,下载可以通过元数据加快查询效率。

优选的,本实施例的元数据管理模块用于提供数据的元数据信息。这个模块主要是为查询数据的位置,大小,哈希,更新时间等信息起到加速作用,而不用再通过公有云查询导致效率低下;并且通过统一的元数据管理,用户可以很快查询到混合云的数据存储在哪个公有云上,对应的路径下有哪些数据等。

存储加密模块,用于为数据进行加解密,主要支持私有云slurm之类的本地存储。主要为本地私有云存储的数据进行加解密,来保障数据安全。该模块为可选项,可针对安全级别做个性化配置,一定程度上会导致传输性能降低。

动态监控模块,用于动态监控计算集群访问各个公有云存储的性能差异,并返回当前速率和价格返回给存储管理模块,方便存储管理模块进行存储调度管理;

优选的,本实施例的动态监控模块用于监控当前计算集群访问各个公有云的性能差异,并将得到的性能数据和价格返回给存储管理模块进行记录统计。目前各个公有云存储之间存在性能差异,而且网络状态在国内外的不同时刻也存在很大差别。通过监控模块内部定时通过小文件进行上传下载的性能测试,确定计算平台在每个计算集群访问每个存储的时刻性能数据,以便计算平台的调度服务综合分析调度策略。

存储加速模块,用于对数据进行加速下载上传,尤其是跨公有云存储;对于高伸缩计算集群,计算节点需要很快的弹性扩缩容,计算需要的数据下载和上传性能越好,对计算成本也能起到降低的作用。

优选的,本实施例的存储加速模块用于加速数据从存储的下载和上传。由于计算任务会根据调度策略分配在不同的混合云计算集群中,而计算集群可能是分布在全球各地的计算池,其中会存在任务跨区域访问存储资源的情况发生。针对国内外网速差异过大,可在代理节点上部署存储加速模块,起到cdn加速的作用。

本发明的基于混合云存储的存储系统解决了现有混合云存储系统,尤其是针对于高伸缩计算平台对存储的统一调度管理,加速存储上传下载性能,并降低混合云存储的整体成本,实现一套高效的混合云存储系统。

如图2所示,本发明一实施例的基于混合云计算平台的存储方法,包括:

步骤s101,请求判断:通过访问接口模块接收用户请求,判断是存储对象还是传输数据;

步骤s103,存储:若为存储对象,则通过存储管理模块对存储对象进行创建控制处理,动态监控模块动态监控并反馈参数给存储管理模块,存储管理模块通过动态监控模块的反馈参数结合调度策略,择优创建最适合当前计算集群的存储区域;

步骤s105,获取资源信息:若为传输数据,则通过元数据模块获取传输数据的区域位置等资源信息;

步骤s107,加解密判断:判断是否加解密;

步骤s109,加速判断:若判断为不需加解密,则判断是否加速;若判断为需要加解密,通过存储加密模块进行加解密处理,进行加解密后,判断是否需要加速;优选的,通过结合计算集群的环境判断是否有跨区域的数据传输且动态监控其性能差,判断是否需要加速模块加速;

步骤s111,数据传输:若无需加速则通过统一存储接口模块对数据进行传输;若为上传数据则获取数据并更新元数据模块中的元数据,并通过访问接口模块反馈给用户。

进一步,本实施例的动态监控模块动态监控计算集群访问各个公有云存储的性能差异,主要监控传输的性能,传输文件的大小,上行时间耗时、速率,下行时间耗时、速率,单价。

调度策略包括:计算集群的调度、存储调度。计算集群的调度主要是根据计算集群的竞价机型单价,公有云厂商竞价计算资源池大小,计算资源池是否满足计算任务的运算等策略。存储的调度主要是配合计算调度分配合适的存储,相对起到的权重较小。

择优创建当前计算集群的存储区域,计算任务的存储分配是根据计算集群所在公有云的区域对备选存储所有区域进行判定,设置一个速率最坏下限,性能比较差的直接舍弃,可承受一定单价溢出,对这两个参数有一定的权重加权,最终选择权重最高的。

动态监控模块需要在每个计算集群部署子进程,如每隔10~30min定时执行10m左右的小文件进行上传下载,测试当前时间节点的上行速率和下行速率,生成每日固定间隔时刻性能表。比如a云的广州集群在14:00时测试10m任务上传到腾讯云广州区cos耗时8s,平均上行速率1.25m/s,而上传到aws的us-east-1区耗时40s,平均上行速率250kb/s。如果设置最差上行速率的下限为300kb/s,则aws的存储直接pass,选择性能更好的腾讯云广州区cos。

通过小文件传输计算速率可以得到时间速率表,如果大部分时间点的速率较低,如在下限阀值200kb/s以下,则判断为性能差。

本实施例的统一存储接口模块,创建一个文件对象,包含各个公有云的密钥、区域、存储类型、是否加解密等参数,以便初始化提供给用户。对这个文件对象实现基本的增删改查以及上传下载的方法,底层实际封装各大公有云厂商的sdk,实际调用这一层文件对象,就是调用对应厂商的sdk。即为一个统一的文件操作层,模拟linux文件的操作统一封装底层各大厂商sdk,统一接口和参数管理。具体流程就是创建存储对象,即虚拟文件文件系统,初始化访问权限和加解密等,然后就可以直接用这个存储对象上传下载。

步骤s103,存储步骤中,如果是新建存储对象,则分配当前区域性能最高的存储对象以满足数据的传输使用。但如果是从已存在存储对象中传输数据,且数据存储真实区域与当前计算集群区域网络之间较差,则需要通过存储加速模块代理传输数据,以满足计算任务极高的弹性。

根据实际使用场景选择是否加速,如果传输速率不能满足快速运算如传输耗时是否超过计算任务耗时,可以通过加速模块加速传输。比如当前计算集群的计算任务需要获取上一批计算任务的结果数据,但是存储在aws的us-east-1对象存储中,而当前集群在a云的广州集群,传输数据的速率就会很慢,可能传输数据的耗时还大于计算任务耗时,导致计算资源空跑。而加速模块就会通过部署在a云公有云的新加坡proxy代理转发请求到aws的s3,而新加坡节点连接广州和北美都很快。

本发明一实施例的基于混合云计算平台的存储系统,还包括:

请求判断单元:通过访问接口模块接收用户请求,判断是存储对象还是传输数据;

存储单元:若为存储对象,则通过存储管理模块对存储对象进行创建控制处理,动态监控模块动态监控并反馈参数给存储管理模块,存储管理模块通过动态监控模块的反馈参数结合调度策略,择优创建最适合当前计算集群的存储区域;

获取资源信息单元:若为传输数据,则通过元数据模块获取传输数据的区域位置等资源信息;

加解密判断单元:判断是否加解密;

加速判断单元:若判断为不需加解密,则判断是否加速;若判断为需要加解密,通过存储加密模块进行加解密处理,进行加解密后,判断是否需要加速;优选的,通过结合计算集群的环境判断是否有跨区域的数据传输且动态监控其性能差,判断是否需要加速模块加速;

数据传输单元:若无需加速则通过统一存储接口模块对数据进行传输;若为上传数据则获取数据并更新元数据模块中的元数据,并通过访问接口模块反馈给用户。

进一步,本实施例的访问接口模块:为用于封装对接存储的sdk,用于传递用户请求和参数。

进一步,本实施例的存储管理模块:基于混合云底层存储封装的平台存储模块,统一存储控制操作,在管理存储中协调其他模块以及计算集群的策略,进行相关调度工作;

进一步,本实施例的统一存储接口模块:封装公有云和私有云的所有sdk,提供统一的混合云存储服务访问接口,以使用户能以文件或文件夹访问的形式访问存储数据;

进一步,本实施例的元数据管理模块:提供数据的元数据信息;

进一步,本实施例的存储加密模块:对数据进行加解密;

进一步,本实施例的动态监控模块:用于监控当前计算集群访问的各个公有云的性能差异,将得到的性能数据和价格返回给存储管理模块进行记录统计;

进一步,本实施例的存储加速模块:对数据进行加速下载或上传。

在优选实施例中,存储管理模块统一存储控制操作包括资源访问权限、存储加密、动态监控。资源信息包括区域位置。

在优选实施例中,动态监控模块定时通过对文件进行上传下载的性能测试,确定计算平台在每个计算集群访问每个存储的时刻性能数据,以使计算平台的综合分析调度策略。

在优选实施例中,调度策略包括:计算集群的调度、存储的调度。计算集群的调度根据计算集群的竞价机型单价、公有云厂商竞价计算资源池大小,计算资源池是否满足计算任务的运算。存储的调度配合计算调度分配存储。

本发明的基于混合云计算平台的存储方法及系统通过集成各大公有云厂商的接口api以及常用私有云存储接口实现存储的统一管控;针对计算平台的存储需求,按照监控模块自动分配合适的存储对象,并可以快速查找;

针对跨区域的存储访问,通过加速模块可以迅速完成数据处理,节约计算成本。

以上述依据本申请的理想实施例为启示,通过上述的说明内容,相关工作人员完全可以在不偏离本项申请技术思想的范围内,进行多样的变更以及修改。本项申请的技术性范围并不局限于说明书上的内容,必须要根据权利要求范围来确定其技术性范围。

本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1