云存储系统操作的实现方法和装置的制作方法

文档序号:7869770阅读:253来源:国知局
专利名称:云存储系统操作的实现方法和装置的制作方法
技术领域
本发明涉及计算机领域,具体地,涉及一种云存储系统操作的实现方法和装置。
背景技术
随着云计算技术的不断发展,在系统中存在大量的数据需要存储系统进行高效的存取。云存储系统作为云计算系统的核心存储部件,具有存储成本低廉、可靠性高、具有良好可扩展性等特点。因此各大公司也部署和发布了多种公有云和私有云系统,提供在线或者私有的数据存储服务。由于这些服务涉及到的用户,在服务方面和数据服务质量方面存在较大的差异,因此对于单一用户来说,如何统一的管理和使用这些云存储平台上的数据就成为了一个严重的问题。一种典型的云计算平台上的统一管理平台,在一个界面下提供了多个云存储平台的多账号统一管理。另一种典型的云存储统一管理方式的实现,需要使各个云计算平台提供统一的管理接口的应用程序编程接口(Application Programming Interface,简称API),如云平台管理的项目OpenStack,或者应用较多的让用户可以租用云电脑运行所需应用的系统 Amazon EC2 (Elastic Compute Cloud)管理接口等。现有的统一存储系统,一般提供底层设备级别的统一管理,向外提供多接口的访问协议,后端通过IP或者光纤通道等连接各种设备(如磁盘阵列,硬盘等)。然而,统一存储系统虽然提供了设备级别的统一存储,保证了系统的性能和可靠性,但是其不能够提供将多个云存储系统整合的能力。现有的云计算统一管理平台是为了统一管理不同厂家的云计算平台而提出的一种标准,但是在短时间内各大公司对这个云计算统一管理平台的支持存在问题,而且其主要面向云计算平台的管理,而不是云存储设备上的数据的统一管理。针对相关技术中不能统一管理各个云存储平台上的数据的问题,目前尚未提出有效的解决方案
发明内容
针对相关技术中不能统一并管理各个云存储平台上的数据的问题,本发明提出一种云存储系统操作的实现方法和装置,能够统一管理并使用各个云存储平台上的数据并对该数据进行操作。本发明的技术方案是这样实现的根据本发明的一个方面,提供了一种云存储系统操作的实现方法,该实现方法包括云存储系统接收来自云存储客户端的文件操作,其中,文件操作用于指示对云存储系统的元数据和/或数据进行操作;云存储系统对接收的文件操作进行分类;
云存储系统根据分类后的文件操作对云存储系统的元数据和/或数据进行操作。其中,该云存储系统根据文件操作的名称对接收的文件操作进行分类包括以下方式之一:根据云存储系统的元数据和/或数据所在的目录名称分类;将所有云存储系统的元数据和/或数据进行聚合并放入存储空间中;根据云存储系统的元数据和/或数据中的数据块分类。并且,通过心跳监控对云存储系统的状态进行监控,如果云存储系统的状态出现异常,则云存储系统停止操作。而且,云存储系统根据分类后的文件操作对云存储系统的元数据进行操作进一步包括将对云存储系统的元数据进行操作的操作结果缓存在云存储系统的元数据服务器中。此外,云存储系统根据分类后的文件操作对云存储系统的元数据进行的操作包括
·
创建元数据和/或删除元数据;其中,创建元数据是指云存储系统根据文件操作在元数据服务器中创建新的元数据;删除元数据是指云存储系统根据文件操作删除元数据服务器中的元数据。并且,云存储系统根据分类后的文件操作对云存储系统的数据进行的操作包括从云存储系统读取数据;将数据写入云存储系统。其中,从云存储系统读取数据包括如果需要读取的数据存在于云存储系统的数据缓存服务器中,则将数据缓存服务器中保存的该需要读取的数据返回给云存储客户端;如果云存储系统的数据缓存服务器中不存在需要读取的数据,则从云存储系统的数据服务器获取该需要读取的数据,将该获取的数据返回给云存储客户端,并将该获取的数据保存至数据缓存服务器中。而且,将数据写入云存储系统包括将需要写入的数据写入云存储系统的数据缓存服务器中,并将写入结果返回给云存储客户端,再由数据缓存服务器将该需要写入的数据写入云存储系统的数据服务器。并且,云存储系统包括多个用于存储数据的数据服务器,该实现方法进一步包括对一数据服务器中存储的部分或全部数据备份,将备份得到的副本存储至其他一个或多个数据服务器中。根据本发明的另一个方面,提供了一种云存储系统操作的实现装置,该实现装置包括接收模块,设置于云存储系统侧,用于接收来自云存储客户端的文件操作,其中,文件操作用于指示对云存储系统的元数据和/或数据进行操作;分类模块,设置于云存储系统侧,用于对接收的文件操作进行分类;
操作模块,设置于云存储系统侧,用于根据分类后的文件操作对云存储系统的元数据和/或数据进行操作云存储数据服务器。本发明通过云存储系统接收来自云存储客户端的文件操作,将该文件操作进行分类,并将分类后的文件操作对云存储系统的元数据和/或数据进行操作,能够统一管理并使用各个云存储平台上的数据并对该数据进行操作。


为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1是根据本发明实施例的云存储系统操作的实现方法的流程图;图2A是根据本发明实施例的云存储系统操作的实现方法中根据文件操作的名称对接收的文件操作进行分类的流程图;图2B是根据本发明实施例的云存储系统操作的实现方法中根据文件操作的名称对接收的文件操作进行分类的流程图;图2C是根据本发明实施例的云存储系统操作的实现方法中根据文件操作的名称对接收的文件操作进行分类的流程图;图3是根据本发明实施例的云存储系统操作的实现方法的原理
图4是根据本发明实施例的云存储系统操作的实现装置的框图;图5是根据本发明实施例的云存储系统操作的实现装置的原理图。
具体实施例方式下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员所获得的所有其他实施例,都属于本发明保护的范围。针对相关技术中存在的问题,为了简化用户的管理和维护的开销,本发明提出了将各个云存储平台上的数据能够统一管理的云存储平台,其能够统一不同平台上的数据,并实现更高的可靠性。下面将详细描述本发明的技术方案。根据本发明的一个实施例,提供了一种云存储系统操作的实现方法。如图1所示,根据本发明实施例的云存储系统操作的实现方法包括步骤S101,云存储系统接收来自云存储客户端的文件操作,其中,文件操作用于指示对云存储系统的元数据和/或数据进行操作;步骤S103,云存储系统对接收的文件操作进行分类;步骤S105,云存储系统根据分类后的文件操作对云存储系统的元数据和/或数据进行操作。在进行此分类后,云存储系统就能够在同一云存储平台中对各个云存储平台进行统一管理,从而避免了已有技术中不能统一并管理各个云存储平台上的数据的问题。云存储客户端指的是用户使用的客户端,该客户端主要功能是重定向用户对文件的访问操作,向用户提供标准的文件访问支持。该云存储客户端的形式可以为用户态程序,通过监视和截获系统对云存储客户端目录中的文件操作,将文件操作提交到统一云存储服务器端进行处理。云存储客户端也可以是可安装的文件系统内核模块,用于提供和本地文件系统访问相同的网络文件系统。统一云存储元数据服务器(即,云存储服务器),用于统一保存云存储系统的元数据,包括名字空间解析的相关信息和文件的属性,以及文件的位置和副本信息。元数据服务器还维护后端云存储数据服务器的状态信息,包括容量信息、账号信息、以及服务是否正常工作等内容。云存储数据服务器(即,数据服务器),实现和后端云存储服务器上的文件操作交互。使用后端云存储系统提供的各种数据访问接口,向统一云存储系统实现文件的操作和数据的操作。其中,如图2所示为该云存储系统根据文件操作的名称对接收的文件操作进行分类的框图,包括以下方式之一(方式一)根据云存储系统的元数据和/或数据所在的目录名称分类,该方式还可称为“文件级名字空间聚合方式”,该方式类似于分布式文件系统中的目录分区,将每一个后端云存储系统虚拟成全局名字空间上的一个目录,该目录下的所有文件即为对应的后端云存储系统上的文件,用户可以很方便的以文件移动的方式将文件从一个后端云存储系统移动到另一个后端云存储系统中,但是,本方式的聚合不实现文件在后端云存储系统上的复制操作。如图2A所示,图中文件级别的统一名字空间中的/I和/2为云存储客户端中的文件目录,按照文件级名字空间聚合的方式将 件目录I中的所有文件分发到后端云存储I中,例如文件A,并将文件目录2中的所有文件分发到后端云存储2中,例如文件B,按照以上方式,根据该虚拟目录就能快速定位到文件所在的后端云存储服务。(方式二)将所有云存储系统的元数据和/或数据进行聚合并放入存储空间中,该方式还可称为“统一文件名字空间方式”,后端云存储系统上仍然存储用户可见的文件,由云存储系统中的元数据服务器将文件名字空间聚合。后端存储上面实现文件级别的副本。文件存储在哪一个后端云存储服务器上由元数据服务器决定,用户可以通过管理指定,并以目录级别向下继承。将所有后端云存储的文件统一到一个全局名字空间下,如图2B所示,图中统一文件名字空间即为全局名字空间,其中的A和B为云存储客户端中的文件,由元数据服务器指定每一个文件在后端云存储系统的位置,既图2B中,指定文件A存储在后端云存储I中,指定文件B存储在后端云存储2中,并且,可以根据用户的需要把文件A的副本存储在后端z 存储2中。(方式三)根据云存储系统的元数据和/或数据中的数据块分类,该方式还可称为数据块方式,在此方式下,后端云存储系统用于存储数据块,由元数据服务器解析接收到的访问请求,并确定将数据的读写操作对应到后端云存储的存储数据块。该方式支持实现数据块的复制,迁移等操作。如图2C所示,图中统一名字空间包括文件A和文件B,例如,文件A中包括数据块1,文件B中包 括数据块2,按照预定的分发方式将数据块I分发到后端云存储I中,将数据块2分发到后端云存储2中,因此,后端云存储系统上只存储数据块,文件和数据块之间的对应关系是在元数据服务器进行解析。此外,在本发明的方案中,可以通过心跳监控的方式来对云存储系统的状态进行监控,如果云存储系统的状态出现异常,则云存储系统停止操作。例如,元数据通过心跳方式,监控后端云存储服务,如果发现后端云存储服务异常,则会在元数据服务器上标志该后端云存储服务无效,后续数据操作都不会向该云存储服务发送。而且,云存储系统根据分类后的文件操作对云存储系统的元数据进行操作的过程可以进一步包括将对云存储系统的元数据进行操作的操作结果缓存在云存储系统的元数据服务器中。此外,云存储系统根据分类后的文件操作对云存储系统的元数据进行的操作的步骤可以包括创建元数据和/或删除元数据;其中,创建元数据是指云存储系统根据文件操作在元数据服务器中创建新的元数据;删除元数据是指云存储系统根据文件操作删除元数据服务器中的元数据。并且,云存储系统根据分类后的文件操作对云存储系统的数据进行的操作可以包括从云存储系统读取数据;将数据写入云存储系统。其中,从云存储系统读取数据包括如果需要读取的数据存在于云存储系统的数据缓存服务器中,则将数据缓存服务器中保存的该需要读取的数据返回给云存储客户端;如果云存储系统的数据缓存服务器中不存在需要读取的数据,则从云存储系统的数据服务器获取该需要读取的数据,将该获取的数据返回给云存储客户端,并将该获取的数据保存至数据缓存服务器中。统一云存储数据缓存服务器(即,数据缓存服务器),用于高效的缓存后端云存储系统上的数据,向客户端提供更好的文件访问读写性能。当云存储系统中的数据更新之后,与该云存储系统中的数据对应的数据缓存服务器上的数据也被更新。而且,将数据写入云存储系统包括将需要写入的数据写入云存储系统的数据缓存服务器中,并将写入结果返回给云存储客户端,再由数据缓存服务器将该需要写入的数据写入云存储系统的数据服务器。并且,云存储系统包括多个用于存储数据的数据服务器,该实现方法进一步包括对一数据服务器中存储的部分或全部数据备份,将备份得到的副本存储至其他一个或多个数据服务器中。如图3所示,为根据本发明实施例的云存储系统操作的实现方法的原理图。具体的操作过程如下首先,用户的应用程序对 存储在统一云存储系统上的文件进行访问操作,由统一云存储客户端截获用户的文件访问操作,将用户的文件访问操作封装成消息,发送给统一云存储元数据服务器。元数据服务器在收到云存储客户端的文件访问操作消息后,首先按以下方式进行访问文件的名字空间解析如果为文件级名字空间聚合,则直接定位到该文件所在的虚拟目录,并且找到对应的统一云存储系统;如果为统一文件名字空间,则根据访问的文件名找到对应的统一云存储系统;如果为数据块方式,则根据访问的文件名和文件偏移,找到对应的统一云存储系统和数据块。将访问文件的偏移和大小,提交给数据缓存服务器。同时元数据服务器通过心跳方式,监控统一云存储系统(元数据服务器监控该统一云存储系统中的其他服务器),如果发现统一云存储系统异常(包括统一云存储系统中的后端云存储服务出现异常),则会在元数据服务器上标志该后端云存储服务无效,后续数据操作都不会向该云存储服务发送。数据缓存服务器在接收到元数据服务器发过来的数据访问操作的情况下,首先查找系统内部是否存在文件对应的数据。如果元数据服务器发过来的该操作为数据读写操作,则步骤如下对于数据读操作,如果数据缓存服务器中存在需要读取的数据,直接将该需要读取的数据返回给云存储客户端;如果数据不存在需要读取的数据,则首先将读取数据的请求发送给数据服务器,由数据服务器和后端云存储系统交互,将数据读取到数据缓存服务器上,数据缓存服务器再将需要读取的数据返回给云存储客户端。对于数据写操作,则采用数据写回策略,具体地,首先将云存储客户端发过来的数据写入到数据缓存服务器,完成之后向云存储客户端发送数据写操作成功的反馈,再由数据缓存服务器以后台方式将数`据写入数据服务器。为了保证数据写回的及时性,需要实现一个写缓存线程,采用定期轮询和通知的方式唤醒写缓存线程,向数据服务器写入数据。如果元数据服务器通知数据需要进行复制,则根据元数据服务器返回的副本策略,将数据发送到不同的后端云存储系统上,进行副本的复制。为了保证数据缓存服务器上的数据的正确性,还需要在数据上添加时间戳,用于判断数据的新旧,并定期更新缓存服务器中的缓存数据,保证缓存服务器上为最新的数据。当云存储服务端的数据更新之后,需要及时修改更新数据对应的缓存块,以保证数据的正确性。数据服务器在接收到数据缓存服务器的数据读写请求之后,根据数据的目标,使用后端云存储服务器的访问接口,进行数据的读写操作,将数据返回给数据缓存服务器。根据本发明的一个实施例,提供了一种云存储系统操作的实现装置。如图4所示,该实现装置包括接收模块41,设置于云存储系统侧,用于接收来自云存储客户端的文件操作,其中,文件操作用于指示对云存储系统的元数据和/或数据进行操作;分类模块42,设置于云存储系统侧,用于对接收的文件操作进行分类;操作模块43,设置于云存储系统侧,用于根据分类后的文件操作对云存储系统的元数据和/或数据进行操作云存储数据服务器。如图5所示,本发明的云存储系统侧有元数据服务器(即图中统一云存储元数据服务器)、数据缓存服务器、以及数据服务器(即图中云存储数据服务器),其中,云存储数据服务器包括公有云存储系统和私有云存储系统。在该图中,云存储客户端与统一云存储系统进行交互。元数据服务器、数据服务器、数据缓存服务器均设置有操作模块43,用于分别处理各自的元数据和/或数据。综上所述,借助于本发明的上述技术方案,通过云存储系统接收来自云存储客户端的文件操作,将该文件操作进行分类,并将分类后的文件操作对云存储系统的元数据和/或数据进行操作,能够统一管理和使用多种不同的云存储服务,支持多种聚合后端云存储系统服务能力的策略,包括文件级的名字空间聚合,统一文件名字空间和数据块方式聚合,大大降低了用户对多个云存储系统的管理和使用代价。同时支持数据副本,提高了云存储系统的可靠性,在系统实现方面,采用元数据服务器通过心跳方式监控后端云存储系统的可用性,以保证整个系统的可靠性;并实现了数据缓存服务器,缓存后端云存储系统的数据,提高了云存储系统的数据访问性能。以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
权利要求
1.一种云存储系统操作的实现方法,其特征在于,所述实现方法包括 云存储系统接收来自云存储客户端的文件操作,其中,所述文件操作用于指示对云存储系统的元数据和/或数据进行操作; 所述云存储系统对接收的所述文件操作进行分类; 所述云存储系统根据分类后的所述文件操作对云存储系统的元数据和/或数据进行操作。
2.根据权利要求1所述的实现方法,其特征在于,所述云存储系统根据所述文件操作的名称对接收的所述文件操作进行分类包括以下方式之 根据所述云存储系统的元数据和/或数据所在的目录名称分类; 将所有云存储系统的元数据和/或数据进行聚合并放入存储空间中; 根据所述云存储系统的元数据和/或数据中的数据块分类。
3.根据权利要求1所述的实现方法,其特征在于,通过心跳监控对所述云存储系统的状态进行监控,如果所述云存储系统的状态出现异常,则所述云存储系统停止操作。
4.根据权利要求1所述的实现方法,其特征在于,所述云存储系统根据分类后的所述文件操作对云存储系统的元数据进行操作进一步包括 将对所述云存储系统的元数据进行操作的操作结果缓存在所述云存储系统的元数据服务器中。
5.根据权利要求4所述的实现方法,其特征在于,所述云存储系统根据分类后的所述文件操作对云存储系统的元数据进行的操作包括 创建元数据和/或删除元数据; 其中,所述创建元数据是指所述云存储系统根据所述文件操作在所述元数据服务器中创建新的元数据; 所述删除元数据是指所述云存储系统根据所述文件操作删除所述元数据服务器中的元数据。
6.根据权利要求1所述的实现方法,其特征在于,所述云存储系统根据分类后的所述文件操作对云存储系统的数据进行的操作包括 从所述云存储系统读取数据; 将数据写入所述云存储系统。
7.根据权利要求6所述的实现方法,其特征在于,从所述云存储系统读取数据包括 如果需要读取的数据存在于所述云存储系统的数据缓存服务器中,则将所述数据缓存服务器中保存的该需要读取的数据返回给所述云存储客户端; 如果所述云存储系统的所述数据缓存服务器中不存在所述需要读取的数据,则从所述云存储系统的数据服务器获取该需要读取的数据,将该获取的数据返回给所述云存储客户端,并将该获取的数据保存至所述数据缓存服务器中。
8.根据权利要求6所述的实现方法,其特征在于,将数据写入所述云存储系统包括 将需要写入的数据写入所述云存储系统的数据缓存服务器中,并将写入结果返回给所述云存储客户端,再由所述数据缓存服务器将该需要写入的数据写入所述云存储系统的数据服务器。
9.根据权利要求1所述的实现方法,其特征在于,所述云存储系统包括多个用于存储数据的数据服务器,所述实现方法进一步包括 对一数据服务器中存储的部分或全部数据备份,将备份得到的副本存储至其他一个或多个数据服务器中。
10.一种云存储系统操作的实现装置,其特征在于,所述实现装置包括 接收模块,设置于云存储系统侧,用于接收来自云存储客户端的文件操作,其中,所述文件操作用于指示对云存储系统的元数据和/或数据进行操作; 分类模块,设置于所述云存储系统侧,用于对接收的所述文件操作进行分类; 操作模块,设置于所述云存储系统侧,用于根据分类后的所述文件操作对云存储系统的元数据和/或数据进行操作。
全文摘要
本发明公开了一种系统操作的实现方法和装置,该方法包括云存储系统接收来自云存储客户端的文件操作,其中,文件操作用于指示对云存储系统的元数据和/或数据进行操作;云存储系统对接收的文件操作进行分类;云存储系统根据分类后的文件操作对云存储系统的元数据和/或数据进行操作。本发明通过云存储系统接收来自云存储客户端的文件操作,将该文件操作进行分类,并将分类后的文件操作对云存储系统的元数据和/或数据进行操作,能够统一管理并使用各个云存储平台上的数据并对该数据进行操作。
文档编号H04L29/08GK103037004SQ201210564549
公开日2013年4月10日 申请日期2012年12月21日 优先权日2012年12月21日
发明者张攀勇, 苗艳超, 赵力 申请人:曙光信息产业(北京)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1