CN110535835A - 一种基于消息摘要算法支持多云的共享云存储方法及系统 - Google Patents

一种基于消息摘要算法支持多云的共享云存储方法及系统 Download PDF

Info

Publication number
CN110535835A
CN110535835A CN201910736436.XA CN201910736436A CN110535835A CN 110535835 A CN110535835 A CN 110535835A CN 201910736436 A CN201910736436 A CN 201910736436A CN 110535835 A CN110535835 A CN 110535835A
Authority
CN
China
Prior art keywords
file
cloud
cloud server
tenant
message digest
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201910736436.XA
Other languages
English (en)
Inventor
杨志
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tibet ningsuan Technology Group Co.,Ltd.
Original Assignee
Beijing Ningsuan Technology Co Ltd
Tibet Ningbo Information Technology Co Ltd
Tibet Ningsuan Technology Group Co Ltd
Dilu Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Ningsuan Technology Co Ltd, Tibet Ningbo Information Technology Co Ltd, Tibet Ningsuan Technology Group Co Ltd, Dilu Technology Co Ltd filed Critical Beijing Ningsuan Technology Co Ltd
Priority to CN201910736436.XA priority Critical patent/CN110535835A/zh
Publication of CN110535835A publication Critical patent/CN110535835A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • H04L9/3239Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种基于消息摘要算法支持多云的共享云存储方法及系统,包括以下步骤,生成索引表、维护映射表、计算MD5值、文件去重,根据文件的标识符,查找云服务器中是否已经存储当前的文件,如果已经存在,则不需要上传文件,而是生成一个快捷方式,指向已经存在的那个文件,更新索引表,并且为用户生成一个快捷方式指向文件在云服务器中的实际位置、云间传输管理。本发明能够实现文件在单云和多云存储的环境中,具有相同内容的文件,全局只需要保存唯一的一份,物理存储资源跨云跨租户共享,利用文件快捷方式和存储位置的映射表实现多租户存储系统之间的逻辑隔离,大量节约硬件资源,且相同文件不必多次上传,节约用户带宽。

Description

一种基于消息摘要算法支持多云的共享云存储方法及系统
技术领域
本发明涉及云存储技术领域,具体涉及一种基于消息摘要算法的支持多云的共享云存储方法及系统。
背景技术
云存储是在云计算概念上延伸和衍生发展出来的一个新的概念,它是指通过集群应用、网格技术或分布式文件系统等功能,网络中大量各种不同类型的存储设备通过应用软件集合起来协同工作,共同对外提供数据存储和业务访问功能的一个系统,保证数据的安全性,并节约存储空间。云存储是一个远程平台,它使用高度虚拟化的多租户基础设施为企业提供可扩展的存储资源,可以根据组织的要求动态配置。该服务由各种云存储提供商提供。
如今,大多数企业都拥有多云的IT环境,换句话说,一个企业需要同时管理多个云。在云存储的多云多租户环境中,每个租户按照使用量或者使用时长单独计费,并且各个租户拥有相互隔离的存储资源,彼此之间不能共享。当多个用户需要上传相同文件到云存储时,如果不做共享,则云存储需要为每个租户(用户)分配存储空间,造成资源浪费,即使是在多云环境下,也存在相同问题,即一个相同的文件,可能在2个云存储上同时存在,即相同文件可能重复存储,浪费物理磁盘资源且相同文件可能多次上传,浪费用户带宽。
发明内容
本部分的目的在于概述本发明的实施例的一些方面以及简要介绍一些较佳实施例。在本部分以及本申请的说明书摘要和发明名称中可能会做些简化或省略以避免使本部分、说明书摘要和发明名称的目的模糊,而这种简化或省略不能用于限制本发明的范围。
鉴于上述和/或现有云存储中的问题,提出了本发明。
因此,本发明要解决的一个技术问题是提供一种基于消息摘要算法的支持多云的共享云存储方法,使得相同文件不必重复存储,节约物理磁盘资源,相同文件不必多次上传,节约用户带宽。
为解决上述技术问题,本发明提供如下技术方案:一种基于消息摘要算法的支持多云的共享云存储方法,包括以下步骤,生成索引表,包括密码项和数值项,所述密码项是记录每个文件的消息摘要算法值,所述数值项是记录文件在云服务器中的存储位置,密码项与数值项成对出现;维护映射表,包括文件项和密码项,所述文件项用于记录各个文件名,所述密码项是用于记录各文件对应的消息摘要算法值并与所述索引表对应;计算消息摘要算法值,将需要上传的文件通过消息摘要算法算法计算出消息摘要算法值,该消息摘要算法值作为该文件的唯一标识符;文件去重,根据文件的标识符,查找云服务器中是否已经存储当前的文件,如果已经存在,则不需要上传文件,而是生成一个快捷方式,指向已经存在的那个文件;如果文件不存在,则上传该文件到云存储空间,更新索引表,并且为用户生成一个快捷方式指向文件在云服务器中的实际位置;云间传输管理,抽象出一层传输管理包括:建立连接、初始化、文件列表、上传文件、下载文件、删除文件和断开连接,使得不同的云服务器实现云间传输管理。
作为本发明所述基于消息摘要算法的支持多云的共享云存储方法的一种优选方案,其中:所述索引表生成于云服务器中,每个云服务器建立连接后都要生成自己的索引表,并同步给其他云服务器。
作为本发明所述基于消息摘要算法的支持多云的共享云存储方法的一种优选方案,其中:所述映射表与租户一一对应,每个租户在逻辑上隔离,每个租户各自所述映射表,并且租户账户在物理上是共享的,即租户的文件实际上只是一个个快捷方式,通过消息摘要算法值指向云服务器中文件的位置,物理存储中的一个文件能够被多个租户的快捷方式指向,实现硬件资源共享。
作为本发明所述基于消息摘要算法的支持多云的共享云存储方法的一种优选方案,其中:所述云服务器包括第一云服务器,所述第一云服务器包括第一租户和第二租户,当所述第一租户上传的文件已经存在于所述第二租户的存储中时,所述第一租户不需要上传真正的文件,而是创建一个快捷方式指向存储中的文件位置。
作为本发明所述基于消息摘要算法的支持多云的共享云存储方法的一种优选方案,其中:所述云服务器还包括第二云服务器,当所述第一云服务器的第一租户上传一个文件时,先查找所述第一云服务器内部是否已经存在相同文件,如果不存在,再查找其他云中是否已经存在,若所述第一租户向所述第一云服务器上传的文件已经存在于所述第二云服务器中,则在所述第一云服务器上生成一个快捷方式指向所述第二云服务器中该文件的位置,用户不需要上传该文件到所述第一云服务器,若云服务器中都不存在该文件,则上传该文件。
作为本发明所述基于消息摘要算法的支持多云的共享云存储方法的一种优选方案,其中:所述第一租户下载文件时,若文件在所述第一云服务器中,则直接下载;若文件在所述第二云服务器中,则所述第二云服务器将真正的文件先复制发送给所述第一云服务器,所述第一云服务器从所述第二云服务器收到该文件后,保存到自己的云服务器中并更新所述第一云服务器的索引表,并且将所述第一云服务器中该文件的快捷方式重新指向所述第一云服务器存储中文件的位置,然后下载。
作为本发明所述基于消息摘要算法的支持多云的共享云存储方法的一种优选方案,其中:所述第一租户删除文件时,所述第一云服务器的删除所述第一租户所对应映射表中的快捷方式,并检查是否还有其他快捷方式指向该文件,若没有,则还需删除存储系统中的实际文件,并更新所述索引表。
作为本发明所述基于消息摘要算法的支持多云的共享云存储方法的一种优选方案,其中:所述第二云服务器断开连接时,所述第一云服务器中所有指向所述第二云服务器中的快捷方式所对应的文件都会被所述第二云服务器发送给所述第一云服务器,所述第一云服务器保存文件并更新索引表。
本发明要解决的另一个技术问题是提供一种基于消息摘要算法的支持多云的共享云存储系统,将基于消息摘要算法的支持多云的共享云存储方法应用于基于消息摘要算法的支持多云的共享云存储系统。
为解决上述技术问题,本发明提供如下技术方案:一种基于消息摘要算法的支持多云的共享云存储系统,包括,云存储模块,提供被上传的文件的存储位置,并在全局内生成索引表,将所述云存储模块内的存储位置进行划分标记;租户模块,与所述云存储模块通过映射表建立连接,在逻辑上相互独立;文件处理模块,基于消息摘要算法算法,文件通过其不可逆的字符串变换产生了唯一的消息摘要算法值。
作为本发明所述基于消息摘要算法的支持多云的共享云存储系统的一种优选方案,其中:还包括,云间传输管理模块,所述云存储模块数量至少为2,所述云间传输管理模块连接在所述云存储模块之间,用于管理不同所述云存储模块之间的信息和文件传输。
本发明的有益效果:本发明能够实现文件在云存储的多租户之间进行共享,包括在单云和多云存储的环境中,具有相同内容的文件,全局只需要保存唯一的一份,物理存储资源跨云跨租户共享,利用文件快捷方式和存储位置的映射表实现多租户存储系统之间的逻辑隔离,大量节约硬件资源,且相同文件不必多次上传,节约用户带宽。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其它的附图。其中:
图1为本发明提供的一种实施例中租户、索引表、云服务器之间的关系图;
图2为实施例中表1对应的折线图;
图3为本发明提供的一种实施例中基于消息摘要算法的支持多云的共享云存储方法中单云环境搭建和存储流程图;
图4为本发明提供的一种实施例中基于消息摘要算法的支持多云的共享云存储系统的搭建和存储流程图;
图5为本发明提供的一种实施例中基于消息摘要算法的支持多云的共享云存储系统两个云存储系统的连接关系图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合说明书附图对本发明的具体实施方式做详细的说明。
在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是本发明还可以采用其他不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本发明内涵的情况下做类似推广,因此本发明不受下面公开的具体实施例的限制。
其次,此处所称的“一个实施例”或“实施例”是指可包含于本发明至少一个实现方式中的特定特征、结构或特性。在本说明书中不同地方出现的“在一个实施例中”并非均指同一个实施例,也不是单独的或选择性的与其他实施例互相排斥的实施例。
本发明结合示意图进行详细描述,在详述本发明实施例时,为便于说明,表示器件结构的剖面图会不依一般比例作局部放大,而且所述示意图只是示例,其在此不应限制本发明保护的范围。此外,在实际制作中应包含长度、宽度及深度的三维空间尺寸。
同时在本发明的描述中,需要说明的是,术语中的“上、下、内和外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一、第二或第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。
本发明中除非另有明确的规定和限定,术语“安装、相连、连接”应做广义理解,例如:可以是固定连接、可拆卸连接或一体式连接;同样可以是机械连接、电连接或直接连接,也可以通过中间媒介间接相连,也可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
实施例1
参照图1-图3,本实施例中提供了一种基于消息摘要算法的支持多云的共享云存储方法,该方法使得相同文件不必重复存储,节约物理磁盘资源,相同文件不必多次上传,节约用户带宽。具体的,包括以下步骤,
生成索引表,索引表包括密码项和数值项,密码项(key项)是记录每个文件的消息摘要算法值,数值项(value项)是记录文件在云服务器中的存储位置,密码项与数值项成对出现,即一个文件必有一个存储位置与之对应。索引表生成于云服务器中,其作用范围为全局,当有多个云服务器时,每个云服务器建立连接后都要生成自己的索引表,并将表内的内容同步给其他云服务器。
维护映射表,映射表包括文件项和密码项,所述文件项用于记录各个文件名,所述密码项是用于记录各文件对应的消息摘要算法值并与所述索引表对应,映射表生成于租户中,映射表与租户一一对应,每个租户实际对应一个账户,其在逻辑上隔离,每个租户各自所述映射表,并且租户账户在物理上是共享的,即租户的文件实际上只是一个个快捷方式,通过消息摘要算法值指向云服务器中文件的位置,物理存储中的一个文件能够被多个租户的快捷方式指向,不同的租户在下载或查阅同一个文件时,实际上都通过快捷方式最终都访问同一个物理存储地址中的文件,实现硬件资源共享。
计算消息摘要算法值,将需要上传的文件通过消息摘要算法算法计算出消息摘要算法值,该消息摘要算法值作为该文件的唯一标识符,这里,消息摘要算法是指MD5消息摘要算法,是一种被广泛使用的密码散列函数,可以产生出一个128位(16字节)的散列值,用于确保信息传输完整一致,消息摘要算法值即为MD5值。
文件的MD5值:相当于文件的“数字指纹”,不同文件的MD5值不同,如果2个文件的MD5一样,则可以判定它们的内容一样。大家都知道,地球上任何人都有自己独一无二的指纹,这常常成为司法机关鉴别罪犯身份最值得信赖的方法,与之类似,MD5就可以为任何文件(不管其大小、格式、数量) 产生一个同样独一无二的“数字指纹”,如果任何人对文件做了任何改动,其 MD5值也就是对应的数字指纹都会发生变化。
文件去重,根据文件的标识符,查找云服务器中是否已经存储当前的文件,如果已经存在,则不需要上传文件,而是生成一个快捷方式,指向已经存在的那个文件;如果文件不存在,则上传该文件到云存储空间,更新索引表,并且为用户生成一个快捷方式指向文件在云服务器中的实际位置;
云间传输管理,抽象出一层传输管理包括:建立连接、初始化、文件列表、上传文件、下载文件、删除文件和断开连接,使得不同的云服务器只需要基于 API实现云间传输管理,即云间传输管理值适用于多个云服务器(数量至少为 2)的条件。当需要更多个云服务器才能满足需求时,需要接入新的云服务器,新云服务器与原来的云服务器建立连接后,通过初始化设置,建立索引表后,方可进行上传、下载等操作。
API是指应用程序接口,是一些预先定义的函数,或指软件系统不同组成部分衔接的约定,目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力,而又无需访问原码,或理解内部工作机制的细节。本实施例中的API应用程序接口是用于连接两个云服务器。
具体的,一个云服务器一般对应多个租户,以一个云服务器、两个租户为例,即云服务器包括第一云服务器,第一云服务器包括第一租户和第二租户,当第一租户上传的文件已经存在于第二租户的存储中时,即表明该服务器中存在该文件,第一租户不需要上传真正的文件,而是创建一个快捷方式指向存储中的文件位置。拓展到更多租户情况时,上传文件前则需要检查该云服务器对应的索引表,如果已经存在,则不需要上传;如果不存在,则上传文件,同时更新索引表和上传文件的租户的映射表。
多云环境下,假设某企业管理两个云服务器,第一云服务器和第二云服务器,上传过程为:当第一云服务器的第一租户上传一个文件时,先查找第一云服务器内部是否已经存在相同文件,如果不存在,再查找其他云中是否已经存在,若第一租户向第一云服务器上传的文件已经存在于第二云服务器中,则在第一云服务器上生成一个快捷方式指向第二云服务器中该文件的位置,用户不需要上传该文件到第一云服务器,若云服务器中都不存在该文件,则上传该文件,即在多云环境下,相同的文件只存储一次。
具体的,第一步,第一云服务器和第二云服务器各自生成索引表table-A 和table-B;
第二步,第一云服务器和第二云服务器都广播自己的索引表给其他云服务器,因此,每个云服务器都拥有其他所有云服务器的索引表;
第三步,假设第一云服务器中第一租户上传文件,第一云服务器先查询 table-A,如果table-A中已经存在相同的MD5值,则说明第一云服务器中已经存在相同的文件,此时创建一个快捷方式指向该文件的实际位置即可。如果 table-A中不存在相同的MD5值,则需要查询table-B。如果table-B中已经存在相同的MD5值,则说明第二云服务器中已经存在相同的文件,则在第一云服务器中创建一个快捷方式指向第二云服务器中该文件的实际位置,并更新 table-A。如果table-B中也不存在该MD5值,则说明该文件不存在于任何云中,此时需要上传真正的文件到第一云服务器的存储空间,并在table-A中增加该 MD5对应的条目,并且第一云服务器同步最新的table-A给第二云服务器。
因此,在上传存储过程中,多云多租户环境下,某个文件不管热度高低,在存储系统中最多只保存一份,重复存储率为0。
需要说明的是,当云服务器的数量大于2时,在逻辑上,每个服务器都与其他服务器相连,即第一云服务器分别与第二云服务器、第三云服务器、第四云服务器……相连,第二云服务器分别与第一云服务器、第三云服务器、第四云服务器……相连,以此类推。这样每个云服务器中的租户都能访问到其他云服务器中的文件。
进一步的,第一租户下载文件时,
若文件在第一云服务器中,则直接下载;
若文件在第二云服务器中,则第二云服务器将真正的文件先复制发送给第一云服务器,第一云服务器从第二云服务器收到该文件后,保存到自己的云服务器中并更新第一云服务器的索引表,并且将第一云服务器中该文件的快捷方式重新指向第一云服务器存储中文件的位置,然后下载。
由于第一云服务器中生成了一个快捷方式指向第二云服务器,第一云服务器需要从第二云服务器的存储空间中复制出真正的文件并保存到第一云服务器的存储空间中。复制完成后,将该快捷方式重新指向第一云服务器中该文件的位置。此时,由于第一云服务器中有了该文件,需要更新table-A,并且同步给第二云服务器。因此,在多个云服务器环境下下载时,只需要一个账户即可下载多个云服务器内的所有文件,而不需要在每个云服务器上注册或在多个云服务器的账户之间进行切换,增加了使用的便捷性。
下面说明删除文件过程,以第一租户为例:第一租户删除文件时,第一云服务器删除第一租户所对应映射表中的快捷方式,并检查是否还有其他快捷方式指向该文件,若没有,则还需删除存储系统中的实际文件,并更新所述索引表。若有,则只需第一租户删除其对应映射表的快捷方式而不需要删除实际文件。应当说明的是,删除文件只能在同一个云服务器内进行删除操作。
具体的,第一步,第一云服务器中第一租户删除某个文件,删除第一租户对应的映射表中该文件对应的快捷方式,并检查是否还有其他快捷方式指向该文件,如果没有,则删除存储系统中的实际文件,并触发第二步;
第二步:第一云服务器存储空间中的某个实际文件被删除,则需要更新 table-A;
第三步:如果是多云环境,则table-A的更新需要同步给其他云服务器。
当云服务器的数量足够且存储空间有较多剩余,需要对云服务器的数量进行削减以减少存储空间浪费和企业成本,此时需要断开某个云服务器的连接。以第二云服务器为例,第二云服务器断开连接时,第一云服务器中所有指向第二云服务器中的快捷方式所对应的文件都会被第二云服务器发送给第一云服务器,第一云服务器保存文件并更新索引表。当云服务器有多个时,第二云服务器断开连接前,除第二云服务器外的其他所有云服务器检查它们对应租户映射表,第二云服务器中的快捷方式所对应的文件都会被第二云服务器发送给其他云服务器,其他云服务器保存文件并更新索引表。
无论是单云环境还是多云环境,在存储时云服务器的存储空间只存储一次,通过某文件的用户数量与存储该文件所占用的存储空间的关系,将本发明提供的存储方案和传统的存储方案进行对比,传统的存储方案包括阿里云存储系统、腾讯云存储系统和百度云存储系统,表1中以与在阿里云中的存储对比的结果。其中,该文件大小为100MBytes。
表1:本发明提供的方案和阿里云占用存储空间的对比
从表中可以看出:本方案占用的存储空间与拥有该文件的用户数量无关,而传统方案占用的存储空间随着拥有该文件的用户数量的增大而线性增大,因此,本发明所述的方案能够有效地节约物理磁盘的存储空间,特别是当拥有某以文件的用户数量较多时,优势更加明显。
图2是上表对应的折线图,横坐标表示拥有该文件的用户数量,纵坐标为占用存储空间,从图中可以直观的看出,随着用户数量的增多,传统方案占用的存储空间越来越多,相应地,本方案可节约的空间也越多。
实施例2
参照图3~图5,为本实施例提出的一种基于MD5的支持多云的共享云存储系统,上述实施例的基于MD5的支持多云的共享云存储方法能够应用于该基于MD5的支持多云的共享云存储系统中,包括,云存储模块100,云存储模块100用于提供被上传的文件的存储位置,并在全局内生成索引表,将所述云存储模块100内的存储位置进行划分标记;租户模块200,租户模块200与云存储模块100通过映射表建立连接,在逻辑上相互独立;文件处理模块300,文件处理模块300基于MD5算法,文件通过其不可逆的字符串变换产生了唯一的MD5值。
本实施例中,云存储模块100主要为云服务器以及部署在该云服务器上的系统文件,云服务器由一个或多个主机构成,索引表由系统文件生成。一个云存储模块100可对应多个租户模块200,每个租户模块200实际上为一个账户,每个账户在逻辑上是独立的。用户注册时,系统文件就会生成一个租户模块 200,同时生成一个与该租户模块200对应的映射表。文件处理模块300实质为一应用程序或应用软件,其功能是:基于MD5消息摘要算法,将一个文件通过文件处理模块300生成一个MD5值,该值具有唯一性,作为该文件的为一标识符。一个云存储模块100、一个或多个租户模块200和文件处理模块300 在逻辑上构成一个单独的云存储系统。
进一步的,该基于MD5的支持多云的共享云存储系统还包括云间传输管理模块400,云存储模块100数量至少为2,云间传输管理模块400连接在云存储模块100之间,用于管理不同云存储模块100之间的信息和文件传输。
云间传输管理模块400抽象出一层传输管理包括七个公用方法:建立连接、初始化、文件列表、上传文件、下载文件、删除文件和断开连接,使得不同的云服务器只需要基于API实现云间传输管理。云间传输管理模块400实质上是一软件系统,由多个或多组软件构成,也可将云间传输管理模块400单独设置在计算机上并形成云间传输管理服务器,专门用于管理两个或多个云存储系统之间的信息和文件传输。云存储模块100的数量多于1个时,我们一般将该云存储系统称之为多云系统,简称多云。每个云存储系统包括一个云存储模块 100、一个或多个租户模块200和文件处理模块300。
下面以某企业分别搭建1个云存储系统和搭建3个云存储系统组成的多云系统为例说明其存储过程。
例1、只搭建1个云存储系统
S1:云存储模块100中的系统文件在全局生成一个索引表,该云存储模块 100含有第一云服务器;
S2:初始时,用户存储前先注册账户,系统文件为其开辟租户模块200,同时生成映射表,此时,索引表和映射表都为空表;若在已有账户中存储,则登录后需要维护或刷新映射表,假设有三个租户(三个员工/部门)即3个租户模块200:第一租户、第二租户和第三租户,且第三租户已经上传了文件A、文件B和文件C至第一云服务器,此时索引表和第三租户的映射表内都有3 个文件;
S3:现第一租户想上传文件D至第一云服务器,先通过文件处理模块300 使文件产生MD5值,如为13b8c2d1093dd0edc383a2d7ac940413;
S4:然后将该MD5值与索引表中的所有MD5值即与文件A、文件B和文件C对比,发现都不相同,则将文件D上传到第一云服务器,同时索引表新增一组key-value对,第一租户映射表也增加一组表项;
S3:当第二租户也想上传文件B至第一云服务器,先通过文件处理模块 300使文件产生MD5值,如为26c8c2d3643bb0eaf383a2b7ac833247;
S4:然后将该MD5值与索引表中的所有MD5值即与文件A、文件B、文件C和文件D对比,发现有相同的文件,则第二租户对应映射表增加文件名并创建快捷方式,该快捷方式指向第一云服务器中文件B的储存位置,这种情况下,索引表不需要更新;
在对比过程中,一旦发现有相同的文件,则停止文件去重过程,不需要再和其他文件对比,就可以在映射表中创建快捷方式。
因此,通过这种存储方式可以确保第一云服务器中只有一个相同的文件,相同文件不必重复存储,节约物理磁盘资源,相同文件也不必多次上传,节约用户带宽。这里文件的下载、删除等过程容易理解,不再赘述。
例2、搭建3个云存储系统组成多云系统
S101:第一个云存储模块100中的系统文件在全局生成一个索引表table-A,该云存储模块100含有第一云服务器;
S102:系统文件为其开辟租户模块200,同时生成映射表,假设有三个租户(三个员工/部门):第一租户、第二租户和第三租户;
S103:增加第二个云存储模块100并在全局生成一个索引表table-B,第二个云存储模块100含有第二云服务器,通过云间管理模块400将第一个云存储模块100和第二个云存储模块100建立连接、并进行初始化设置,第一云服务器和第二云服务器相互广播自己的索引表给其他云服务器,即第一云服务器和第二云服务器都拥有table-A和table-B;
S103:增加第三个云存储模块100并在全局生成一个索引表table-C,第二个云存储模块100含有第三云服务器,通过云间管理模块400将第一个云存储模块100和第二个云存储模块100与第三个云存储模块100建立连接、并进行初始化设置,第一云服务器、第二云服务器和第三与服务器相互广播自己的索引表给其他云服务器,即第一云服务器、第二云服务器和第三与服务器都拥有 table-A、table-B和table-C;
S104:当第一租户需要上传文件A时,先通过文件处理模块300使文件产生MD5值;
S105:然后将该MD5值与table-A、table-B和table-C中的所有MD5值对比,若3个索引表中都没有相同值,则将文件A上传至第一云服务器,更新 table-A,并广播同步给table-B和table-C;若table-A中有和文件A相同的MD5 值,则更新并维护映射表;若table-A和table-B没有查询到相同的而table-C中有和文件A相同的MD5值,则在映射表中创建快捷方式直接指向第三云服务器中文件A的存储位置。
因此,在多云系统下,多个云中仍然只有一个完全相同的文件,仍可节约物理磁盘资源和用户带宽。
重要的是,应注意,在多个不同示例性实施方案中示出的本申请的构造和布置仅是例示性的。尽管在此公开内容中仅详细描述了几个实施方案,但参阅此公开内容的人员应容易理解,在实质上不偏离该申请中所描述的主题的新颖教导和优点的前提下,许多改型是可能的(例如,各种元件的尺寸、尺度、结构、形状和比例、以及参数值(例如,温度、压力等)、安装布置、材料的使用、颜色、定向的变化等)。例如,示出为整体成形的元件可以由多个部分或元件构成,元件的位置可被倒置或以其它方式改变,并且分立元件的性质或数目或位置可被更改或改变。因此,所有这样的改型旨在被包含在本发明的范围内。可以根据替代的实施方案改变或重新排序任何过程或方法步骤的次序或顺序。在权利要求中,任何“装置加功能”的条款都旨在覆盖在本文中所描述的执行所述功能的结构,且不仅是结构等同而且还是等同结构。在不背离本发明的范围的前提下,可以在示例性实施方案的设计、运行状况和布置中做出其他替换、改型、改变和省略。因此,本发明不限制于特定的实施方案,而是扩展至仍落在所附的权利要求书的范围内的多种改型。
此外,为了提供示例性实施方案的简练描述,可以不描述实际实施方案的所有特征(即,与当前考虑的执行本发明的最佳模式不相关的那些特征,或于实现本发明不相关的那些特征)。
应理解的是,在任何实际实施方式的开发过程中,如在任何工程或设计项目中,可做出大量的具体实施方式决定。这样的开发努力可能是复杂的且耗时的,但对于那些得益于此公开内容的普通技术人员来说,不需要过多实验,所述开发努力将是一个设计、制造和生产的常规工作。
应说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明技术方案的精神和范围,其均应涵盖在本发明的权利要求范围当中。

Claims (10)

1.一种基于消息摘要算法的支持多云的共享云存储方法,其特征在于:包括以下步骤,
生成索引表,包括密码项和数值项,所述密码项是记录每个文件的消息摘要算法值,所述数值项是记录文件在云服务器中的存储位置,密码项与数值项成对出现;
维护映射表,包括文件项和密码项,所述文件项用于记录各个文件名,所述密码项是用于记录各文件对应的消息摘要算法值并与所述索引表对应;
计算消息摘要算法值,将需要上传的文件通过消息摘要算法算法计算出消息摘要算法值,该消息摘要算法值作为该文件的唯一标识符;
文件去重,根据文件的标识符,查找云服务器中是否已经存储当前的文件,如果已经存在,则不需要上传文件,而是生成一个快捷方式,指向已经存在的那个文件;如果文件不存在,则上传该文件到云存储空间,更新索引表,并且为用户生成一个快捷方式指向文件在云服务器中的实际位置;
云间传输管理,抽象出一层传输管理包括:建立连接、初始化、文件列表、上传文件、下载文件、删除文件和断开连接,使得不同的云服务器实现云间传输管理。
2.根据权利要求1所述的基于消息摘要算法的支持多云的共享云存储方法,其特征在于:所述索引表生成于云服务器中,每个云服务器建立连接后都要生成自己的索引表,并同步给其他云服务器。
3.根据权利要求1或2所述的基于消息摘要算法的支持多云的共享云存储方法,其特征在于:所述映射表与租户一一对应,每个租户在逻辑上隔离,每个租户各自所述映射表,并且租户账户在物理上是共享的,即租户的文件实际上只是一个个快捷方式,通过消息摘要算法值指向云服务器中文件的位置,物理存储中的一个文件能够被多个租户的快捷方式指向,实现硬件资源共享。
4.根据权利要求3所述的基于消息摘要算法的支持多云的共享云存储方法,其特征在于:所述云服务器包括第一云服务器,所述第一云服务器包括第一租户和第二租户,当所述第一租户上传的文件已经存在于所述第二租户的存储中时,所述第一租户不需要上传真正的文件,而是创建一个快捷方式指向存储中的文件位置。
5.根据权利要求4所述的基于消息摘要算法的支持多云的共享云存储方法,其特征在于:所述云服务器还包括第二云服务器,当所述第一云服务器的第一租户上传一个文件时,先查找所述第一云服务器内部是否已经存在相同文件,如果不存在,再查找其他云中是否已经存在,若所述第一租户向所述第一云服务器上传的文件已经存在于所述第二云服务器中,则在所述第一云服务器上生成一个快捷方式指向所述第二云服务器中该文件的位置,用户不需要上传该文件到所述第一云服务器,若云服务器中都不存在该文件,则上传该文件。
6.根据权利要求5所述的基于消息摘要算法的支持多云的共享云存储方法,其特征在于:所述第一租户下载文件时,
若文件在所述第一云服务器中,则直接下载;
若文件在所述第二云服务器中,则所述第二云服务器将真正的文件先复制发送给所述第一云服务器,所述第一云服务器从所述第二云服务器收到该文件后,保存到自己的云服务器中并更新所述第一云服务器的索引表,并且将所述第一云服务器中该文件的快捷方式重新指向所述第一云服务器存储中文件的位置,然后下载。
7.根据权利要求6所述的基于消息摘要算法的支持多云的共享云存储方法,其特征在于:所述第一租户删除文件时,所述第一云服务器的删除所述第一租户所对应映射表中的快捷方式,并检查是否还有其他快捷方式指向该文件,若没有,则还需删除存储系统中的实际文件,并更新所述索引表。
8.根据权利要求4~7任一所述的基于消息摘要算法的支持多云的共享云存储方法,其特征在于:所述第二云服务器断开连接时,所述第一云服务器中所有指向所述第二云服务器中的快捷方式所对应的文件都会被所述第二云服务器发送给所述第一云服务器,所述第一云服务器保存文件并更新索引表。
9.一种基于消息摘要算法的支持多云的共享云存储系统,其特征在于:包括,
云存储模块(100),提供被上传的文件的存储位置,并在全局内生成索引表,将所述云存储模块(100)内的存储位置进行划分标记;
租户模块(200),与所述云存储模块(100)通过映射表建立连接,在逻辑上相互独立;
文件处理模块(300),基于消息摘要算法算法,文件通过其不可逆的字符串变换产生了唯一的消息摘要算法值。
10.根据权利要求9所述的基于消息摘要算法的支持多云的共享云存储系统,其特征在于:还包括,
云间传输管理模块(400),所述云存储模块(100)数量至少为2,所述云间传输管理模块(400)连接在所述云存储模块(100)之间,用于管理不同所述云存储模块(100)之间的信息和文件传输。
CN201910736436.XA 2019-08-09 2019-08-09 一种基于消息摘要算法支持多云的共享云存储方法及系统 Pending CN110535835A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910736436.XA CN110535835A (zh) 2019-08-09 2019-08-09 一种基于消息摘要算法支持多云的共享云存储方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910736436.XA CN110535835A (zh) 2019-08-09 2019-08-09 一种基于消息摘要算法支持多云的共享云存储方法及系统

Publications (1)

Publication Number Publication Date
CN110535835A true CN110535835A (zh) 2019-12-03

Family

ID=68662381

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910736436.XA Pending CN110535835A (zh) 2019-08-09 2019-08-09 一种基于消息摘要算法支持多云的共享云存储方法及系统

Country Status (1)

Country Link
CN (1) CN110535835A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112511612A (zh) * 2020-11-19 2021-03-16 中国联合网络通信集团有限公司 云存储数据存储方法、装置、系统、设备及存储介质

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103136243A (zh) * 2011-11-29 2013-06-05 中国电信股份有限公司 基于云存储的文件系统去重方法及装置
CN103516774A (zh) * 2012-12-28 2014-01-15 Tcl集团股份有限公司 一种基于云存储的消除多次重复存储的方法及系统
CN103581272A (zh) * 2012-08-08 2014-02-12 腾讯科技(深圳)有限公司 文件传输的方法及设备
CN104754055A (zh) * 2015-04-03 2015-07-01 易云捷讯科技(北京)有限公司 一种多云环境下的安全云存储方法
KR101565590B1 (ko) * 2015-01-07 2015-11-04 (주) 바이러스체이서 역할기반 접근통제 및 인가된 파일 리스트를 통한 파일접근 통제 통합 시스템
CN106649676A (zh) * 2016-12-15 2017-05-10 北京锐安科技有限公司 一种基于hdfs存储文件的去重方法及装置
CN109451004A (zh) * 2018-10-30 2019-03-08 四川乐为科技有限公司 基于云网桥的云存储系统及方法
CN109582642A (zh) * 2018-11-08 2019-04-05 网宿科技股份有限公司 文件存储方法、删除方法、服务器及存储介质
US20190179805A1 (en) * 2009-06-30 2019-06-13 Commvault Systems, Inc. Data object store and server for a cloud storage environment, including data deduplication and data management across multiple cloud storage sites
CN110059055A (zh) * 2019-03-28 2019-07-26 广东紫晶信息存储技术股份有限公司 一种基于分布式私有云的文件存储及读取方法及装置

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190179805A1 (en) * 2009-06-30 2019-06-13 Commvault Systems, Inc. Data object store and server for a cloud storage environment, including data deduplication and data management across multiple cloud storage sites
CN103136243A (zh) * 2011-11-29 2013-06-05 中国电信股份有限公司 基于云存储的文件系统去重方法及装置
CN103581272A (zh) * 2012-08-08 2014-02-12 腾讯科技(深圳)有限公司 文件传输的方法及设备
CN103516774A (zh) * 2012-12-28 2014-01-15 Tcl集团股份有限公司 一种基于云存储的消除多次重复存储的方法及系统
KR101565590B1 (ko) * 2015-01-07 2015-11-04 (주) 바이러스체이서 역할기반 접근통제 및 인가된 파일 리스트를 통한 파일접근 통제 통합 시스템
CN104754055A (zh) * 2015-04-03 2015-07-01 易云捷讯科技(北京)有限公司 一种多云环境下的安全云存储方法
CN106649676A (zh) * 2016-12-15 2017-05-10 北京锐安科技有限公司 一种基于hdfs存储文件的去重方法及装置
CN109451004A (zh) * 2018-10-30 2019-03-08 四川乐为科技有限公司 基于云网桥的云存储系统及方法
CN109582642A (zh) * 2018-11-08 2019-04-05 网宿科技股份有限公司 文件存储方法、删除方法、服务器及存储介质
CN110059055A (zh) * 2019-03-28 2019-07-26 广东紫晶信息存储技术股份有限公司 一种基于分布式私有云的文件存储及读取方法及装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
刘宇龙 ,薛涛.: ""企业多租户云存储平台的设计与实现"", 《西安工程大学学报》 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112511612A (zh) * 2020-11-19 2021-03-16 中国联合网络通信集团有限公司 云存储数据存储方法、装置、系统、设备及存储介质

Similar Documents

Publication Publication Date Title
US11853265B2 (en) Dynamic update to views of a file system backed by object storage
US11514078B2 (en) File journal interface for synchronizing content
US8015319B2 (en) Method, system, client and server for implementing data sync
EP1845688B1 (en) Method, system, client terminal and server for realizing data synchronization
CN110114751A (zh) 压缩以及安全的端到端加密的zfs云存储
CN107045530A (zh) 一种将对象存储系统实现为本地文件系统的方法
CN104754001A (zh) 云存储系统和数据存储方法
JP7355964B2 (ja) 外部ロケーションの同期
JP7407275B2 (ja) 同期のためのローカルデバイスフォルダのコンテンツ管理システムへのバインディング
JP2020506456A (ja) スタビングによるコンテンツ記憶の最適化
US10452304B2 (en) Efficient repository migration and storage
JP2015035020A (ja) ストレージシステム、ストレージ制御装置及び制御プログラム
CN103853612A (zh) 一种基于分布式存储下的数字家庭内容读数据的方法
CN110535835A (zh) 一种基于消息摘要算法支持多云的共享云存储方法及系统
Goncalves et al. DottedDB: Anti-entropy without merkle trees, deletes without tombstones
CN111565211B (zh) 一种cdn配置分发网络系统
JP7355959B2 (ja) 外部ロケーションの同期
Hu et al. A cloud oriented account service mechanism for SME SaaS ecosystem
US11386115B1 (en) Selectable storage endpoints for a transactional data storage engine
US20240086559A1 (en) Permission synchronization across computing sites
Štědronský A decentralized file synchronization tool
JP2023551626A (ja) コンテンツアイテムを編成及び提示するためのコレクションコンテンツアイテムの生成及び修正
Tredger SageFS: the location aware wide area distributed filesystem
CN114090129A (zh) 实现应用程序配置数据跨机房更新的方法及装置和系统
Mullender et al. Pepys–the network is a file system

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20210207

Address after: 11 / F, Liuwu building, Liuwu New District, Lhasa City, Tibet Autonomous Region, 850000

Applicant after: Tibet ningsuan Technology Group Co.,Ltd.

Address before: 11 / F, Liuwu building, Liuwu New District, Lhasa City, Tibet Autonomous Region, 850000

Applicant before: Tibet ningsuan Technology Group Co.,Ltd.

Applicant before: DILU TECHNOLOGY Co.,Ltd.

Applicant before: TIBET NINGSUAN INFORMATION TECHNOLOGY Co.,Ltd.

Applicant before: Beijing ningsuan Technology Co.,Ltd.

RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20191203