CN103685342B - 个人云存储数据中心和云数据存储的方法 - Google Patents
个人云存储数据中心和云数据存储的方法 Download PDFInfo
- Publication number
- CN103685342B CN103685342B CN201210320878.4A CN201210320878A CN103685342B CN 103685342 B CN103685342 B CN 103685342B CN 201210320878 A CN201210320878 A CN 201210320878A CN 103685342 B CN103685342 B CN 103685342B
- Authority
- CN
- China
- Prior art keywords
- data
- server
- user
- attribute
- storage
- 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.)
- Active
Links
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提出了一种个人云存储数据中心,包括服务管理服务器、数据存储服务器、服务提供服务器和应用服务器。数据存储服务器,用于为用户存储数据;服务提供服务器,用于提供向所述应用服务器提供服务,且向所述服务管理服务器进行注册;服务管理服务器,用于对所述数据存储服务器中的数据进行管理,并接收所述服务提供服务器的注册,以及为所述应用服务器提供服务查询;应用服务器,用于向所述用户提供应用程序,且根据所述用户和所述应用程序的标识信息获得数据存储服务器中与应用程序相关的数据。本发明解决了在没有一个固定终端和存储的情况下,个人用户如何将各终端或WEB端APP中产生的个人数据永久保存的问题。
Description
技术领域
本发明涉及云存储技术领域,特别涉及一种个人云存储数据中心和云数据存储的方法。
背景技术
随着智能手机、云计算、以及HTML5等WEB技术的深入发展,各种云端、终端的APP也应运而生。用户可能同时拥有各种终端,如PC、笔记本电脑、平板电脑、智能手机等,同时也可能使用各种WEB端的APP(应用程序)。目前,现在云存储技术方案基本可以分为以下几种情况:
1、面向开发者,此种方案主要面向开发者等,数据是以APP和目录为维度进行组织,但不涉及用户。
2、面向个人用户,但不支持APP的概念,用户所有的数据,都仅仅在用户个人维度下组织。
现有技术的缺点是,不能很好的在保证用户隐私的情况下让用户享受云存储的遍历,同时也不能让APP享受用户云端存储带来的益处。
发明内容
本发明的目的旨在至少解决所述技术缺陷之一。
本发明第一方面提出了一种个人云存储数据中心,包括服务管理服务器、数据存储服务器、服务提供服务器和应用服务器,其中,所述数据存储服务器,用于为用户存储数据,其中,所述数据包括关系数据和块数据,且所述数据分别具有第一属性和第二属性,其中,所述第一属性与所述数据所属的用户相关,所述第二属性与所述数据所属的应用程序相关,且所述第一属性和第二属性用于所述关系数据和块数据的扩展;所述服务提供服务器,用于提供向所述应用服务器提供服务,且向所述服务管理服务器进行注册;所述服务管理服务器,用于对所述数据存储服务器中的数据进行管理,并接收所述服务提供服务器的注册,以及为所述应用服务器提供服务查询;所述应用服务器,用于向所述用户提供应用程序,且根据所述用户和所述应用程序的标识信息获得所述数据存储服务器中与所述应用程序相关的数据。
在本发明的一个实施例中,所述用户对应有唯一的命名空间。
在本发明的一个实施例中,所述块数据存储在所述命名空间之中。
在本发明的一个实施例中,所述关系数据存储在关系数据库之中。
在本发明的一个实施例中,还包括:扩展服务器,所述扩展服务器根据所述数据的第一属性对所述关系数据库进行扩展。
在本发明的一个实施例中,所述扩展为分库扩展和分表扩展。
本发明实施例第二方面还提出了一种云数据存储的方法,包括以下步骤:接收应用程序上传的数据,其中,所述数据包括关系数据和块数据,且所述第一属性和第二属性用于所述关系数据和块数据的扩展;获得所述数据所属用户的标识信息;获得所述应用程序的标识信息;以及存储所述数据,并将所述数据所属用户的标识信息作为所述数据的第一属性,将所述应用程序的标识信息作为所述数据的第二属性。
在本发明的一个实施例中,所述用户对应有唯一的命名空间。
在本发明的一个实施例中,所述块数据存储在所述命名空间之中。
在本发明的一个实施例中,所述关系数据存储在关系数据库之中。
在本发明的一个实施例中,还包括:根据所述数据的第一属性对所述关系数据库进行扩展。
在本发明的一个实施例中,所述扩展为分库扩展和分表扩展。
本发明解决了在没有一个固定终端和存储的情况下,个人用户如何将各终端或WEB端APP中产生的个人数据永久保存的问题。本发明实施例不仅能够为用户提供永不消失的云端硬盘,还可为APP开发者提供保存用户数据的、高性能的、可靠的存储,以及为APP开发者提供云端数据同步方案。
本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
本发明所述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1为本发明实施例个人云存储数据中心(PCS)的示意图;
图2为本发明实施例个人云存储数据中心的架构图;
图3为本发明实施例个人云储存中心中各个应用的权限划分示意图;
图4为本发明实施例关系数据存储的示意图;
图5为本发明实施例的块数据存储示意图;以及
图6为本发明实施例的云数据存储的方法流程图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。
在本发明的描述中,需要理解的是,术语“纵向”、“横向”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。
在本发明的描述中,需要说明的是,除非另有规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是机械连接或电连接,也可以是两个元件内部的连通,可以是直接相连,也可以通过中间媒介间接相连,对于本领域的普通技术人员而言,可以根据具体情况理解所述术语的具体含义。
本发明以用户和APP两个维度来组织数据,同一个文件,既属于一个某个用户,也属于某个APP。
本发明相对于传统云存储服务,最大区别是传统云存储服务按开发者分配和组织空间。而本发明中个人云存储给每个用户一个云存储空间,给予一定容量限制。用户空间下的有一定目录结构,默认有“我的文档”、“我的音乐”、“我的视频”和“我的照片”目录,在这些目录下可以存放对应分类的数据。在“我的应用数据”目录下,使用个人云存储服务的应用可以把用户数据放在本应用目录下(我的应用数据/应用名/)。个人云存储不仅实现云端的数据存储、目录结构和访问控制权限,还提供API(包括HTTP)和不同的SDK,能够很大程度上方便开发者开发基于个人用户数据的云存储应用。由于每个用户的数据都存放在自己的云空间之下,也解决了用户数据的碎片化问题。
具体地,本发明可通过提供一套HTTP接口来实现云硬盘的功能。用户的文件具备用户和APP两个个维度的属性。本发明通过OAUTH 2.0、Cookie等方式实现APP与用户的认证,以及接受用户对APP的授权。API提供了对用户的文件的列表、上传、下载等功能。API接口一般由APP调用,每一次接口调用,必须明确的指明本次调用所操作的用户。
如图1所示,为本发明实施例个人云存储数据中心(PCS)的示意图。如图2所示,为本发明实施例个人云存储数据中心的架构图。如图3所示,为本发明实施例个人云储存中心中各个应用的权限划分示意图。该个人云存储数据中心包括服务管理服务器100、数据存储服务器200、服务提供服务器300和应用服务器400。数据存储服务器200用于为用户存储数据,其中,该数据包括关系数据和块数据,且所述数据分别具有第一属性和第二属性,且第一属性和第二属性用于关系数据和块数据的扩展。其中,第一属性与该数据所属的用户相关,第二属性与该数据所属的应用程序相关。服务提供服务器100用于提供向应用服务器400提供服务,且向服务管理服务器100进行注册。服务管理服务器100用于对数据存储服务器200中的数据进行管理,并接收服务提供服务器300的注册、变更及修改等操作,以及为应用服务器400提供服务查询。应用服务器400用于向用户提供应用程序,且根据用户和应用程序的标识信息获得数据存储服务器中与所述应用程序相关的数据。
在个人云存储中心的数据,首先属于某一用户,在用户的空间内,所有的文件又无一例外的属于某一个APP。对于第三方APP,用户必须通过Oauth 2.0协议显示授权APP,APP才能在用户的云存储空间中读写文件。
不同APP具有不同的权限,然而这种不同又会体现在路径上。root权限应用,可以读写用户的所有文件,例如网盘。而普通应用,只能够读写用户二级目录下文件,如云相册,只能读写用户/apps/album目录下权限。掌上百度,只能读写用户/apps/zhangshang***这个目录下的文件。
个人云存储中心中的任何一个文件,都是由用户授权的某一个APP创建的。因此一旦某一文件被创建,文件就具备一个属性APP ID,表明这个文件是由哪个APP创建的。百度网盘属于个人云存储中权限较大的一个APP,因此其具备根目录的权限。
此外,个人云存储中心中的数据都是与某一用户关联的,所有的文件数据,都属于某一用户。用户通过各种APP上传或产生个人数据。用户之间的私人数据是隔离的,互相不可见的。在用户自己看来就好像是他自己的一块儿硬盘。
在本发明中,本发明的目标就是使得个人云存储中心的用户规模具备可扩展性(scalable),只有这样才能支持互联网庞大用户数量。个人云存储中数据分为关系数据和块数据(文件内容),两种数据都对用户数量具备很好的可扩展性。因此,在本发明的实施例中,不仅可实现对关系数据的扩展,还可实现对块数据的扩展。
对于关系数据来说,本发明将关系数据存储在关系数据库之中,并且按用户的ID进行水平扩展,也就是当用户量增加时,仅需要简单的扩充后端关系数据库就可支持。在本发明的一个实施例中,扩展为分库扩展和分表扩展。如图4所示,为本发明实施例关系数据存储的示意图。具体地,水平扩展的方式体现在分库和分表两个方面,以下进行详细描述。对于分库,首先按UID(User ID,用户的ID)进行水平分,比如UID在[1,1亿]的用户,关系数据存储在1号集群,UID在(1亿,2亿]的用户数据,存储在2号集群。对于分表,在各个集群中都是一样的,各个集群都存在完整的所有表,具体的策略为对UID取模,比如UID%1000。举例来说UID为1001的用户数据,存储在1号集群1号表中,UID为103452001的用户,首先按区间分库存储在2集群,按取模分表,存储在1号表,因此最后定位的方式为2号集群的1号表。基于此,本发明实施例的个人云存储数据中心还包括扩展服务器500,扩展服务器根据数据的第一属性对关系数据库进行扩展。
本发明通过水平扩展带来的好处是:
1、可扩展性:按区间分库的好处是:假如某个集群的负载能力超出限制,可以很方便的将这个集群的数据***到两个集群。
2、负载均衡:对于分库,通过检测各个集群负载情况可动态调整各集群负载。而对于单集群内,按UID取模的方式有能够保证各个表的负载完全一致。
本发明实施例也可对块数据进行扩展。如图5所示,为本发明实施例的块数据存储示意图。对于块数据,本发明采用可扩展的key-value存储作为后端,通过多级的树形资源定位***,将对于某一用户的某一文件定位到具体的物理机。本发明所用的key-value存储具有命名空间(bucket)的概念,在本发明的一个实施例中,一个用户对应一个命名空间。
采用一个用户一个Bucket的好处是:
1.可扩展性:key-value***,对于命名空间支持水平扩展,能更方便的通过增加机器的方式支持更多的命名空间,以此来支撑无限多的用户。
2.容量限制:单个bucket存储不足以支撑多个用户的数据,而支撑单用户的数据绰绰有余。
3.便于迁移:key-value存储的迁移对象为bucket,单bucket存储单用户数据更有利于数据迁移至别的机房,从而提高用户数据的可用率。
4.利于管理:key-value***中的诸多操作都是基于bucket的,比如删除,扩容,转移等,单用户单bucket更有利于数据的管理与维护。
5.本地化:不同的bucket可部署到不同的机房,从而可根据用户的地理位置信息,部署到离用户最近的机房,这样对于用户来说,将获得更高的下载速度。
如图6所示,为本发明实施例的云数据存储的方法流程图。该方法包括以下步骤:
步骤S601,接收应用程序上传的数据,其中,该数据包括关系数据和块数据。在本发明的一个实施例中,该应用数据可属于开发者,也可以属于用户。
步骤S602,获得所述数据所属用户的标识信息。
步骤S603,获得所述应用程序的标识信息。
步骤S604,存储该数据,并将数据所属用户的标识信息作为所述数据的第一属性,将应用程序的标识信息作为数据的第二属性。该数据的第一属性和第二属性可以用于关系数据和块数据的扩展。
在本发明的一个实施例,所述用户对应有唯一的命名空间。
在本发明的一个实施例,所述块数据存储在所述命名空间之中。
在本发明的一个实施例,所述关系数据存储在关系数据库之中。
在本发明的一个实施例,还包括:根据所述数据的第一属性对所述关系数据库进行扩展。
在本发明的一个实施例,所述扩展为分库扩展和分表扩展。
本发明解决了在没有一个固定终端和存储的情况下,个人用户如何将各终端或WEB端APP中产生的个人数据永久保存的问题。本发明实施例不仅能够为用户提供永不消失的云端硬盘,还可为APP开发者提供保存用户数据的、高性能的、可靠的存储,以及为APP开发者提供云端数据同步方案。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对所述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同限定。
Claims (8)
1.一种个人云存储数据中心,其特征在于,包括服务管理服务器、数据存储服务器、服务提供服务器和应用服务器,其中,
所述数据存储服务器,用于为用户存储数据,其中,所述数据存储服务器为每个用户分配云存储空间,所述云存储空间包括应用数据目录,所述应用数据目录下存储有应用程序相关的数据,所述数据包括关系数据和块数据,且所述数据分别具有第一属性和第二属性,其中,所述第一属性与所述数据所属的用户相关,所述第二属性与所述数据所属的应用程序相关,且所述第一属性和第二属性用于所述关系数据和块数据的扩展,所述关系数据存储在关系数据库之中;
扩展服务器,所述扩展服务器根据所述数据的第一属性对所述关系数据库进行扩展;
所述服务提供服务器,用于提供向所述应用服务器提供服务,且向所述服务管理服务器进行注册;
所述服务管理服务器,用于对所述数据存储服务器中的数据进行管理,并接收所述服务提供服务器的注册,以及为所述应用服务器提供服务查询;
所述应用服务器,用于向所述用户提供应用程序,且根据所述用户和所述应用程序的标识信息获得所述数据存储服务器中与所述应用程序相关的数据。
2.如权利要求1所述的个人云存储数据中心,其特征在于,所述用户对应有唯一的命名空间。
3.如权利要求2所述的个人云存储数据中心,其特征在于,所述块数据存储在所述命名空间之中。
4.如权利要求1所述的个人云存储数据中心,其特征在于,所述扩展为分库扩展和分表扩展。
5.一种云数据存储的方法,其特征在于,所述数据存储服务器为每个用户分配云存储空间,所述云存储空间包括应用数据目录,所述应用数据目录下存储有应用程序相关的数据,所述数据包括关系数据和块数据,且所述数据分别具有第一属性和第二属性,所述方法包括以下步骤:
接收应用程序上传的数据,其中,所述数据包括关系数据和块数据,所述关系数据存储在关系数据库之中;
获得所述数据所属用户的标识信息;
获得所述应用程序的标识信息;以及
存储所述数据,并将所述数据所属用户的标识信息作为所述数据的第一属性,将所述应用程序的标识信息作为所述数据的第二属性,且所述第一属性和第二属性用于所述关系数据和块数据的扩展,其中,根据所述数据的第一属性对所述关系数据库进行扩展。
6.如权利要求5所述的云数据存储的方法,其特征在于,所述用户对应有唯一的命名空间。
7.如权利要求6所述的云数据存储的方法,其特征在于,所述块数据存储在所述命名空间之中。
8.如权利要求5所述的云数据存储的方法,其特征在于,所述扩展为分库扩展和分表扩展。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210320878.4A CN103685342B (zh) | 2012-08-31 | 2012-08-31 | 个人云存储数据中心和云数据存储的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210320878.4A CN103685342B (zh) | 2012-08-31 | 2012-08-31 | 个人云存储数据中心和云数据存储的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103685342A CN103685342A (zh) | 2014-03-26 |
CN103685342B true CN103685342B (zh) | 2018-01-09 |
Family
ID=50321653
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210320878.4A Active CN103685342B (zh) | 2012-08-31 | 2012-08-31 | 个人云存储数据中心和云数据存储的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103685342B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106027615A (zh) * | 2016-05-10 | 2016-10-12 | 乐视控股(北京)有限公司 | 对象存储方法和*** |
CN106897409A (zh) * | 2017-02-16 | 2017-06-27 | 北京致远互联软件股份有限公司 | 数据分库存储方法及装置 |
CN108600316B (zh) * | 2018-03-23 | 2021-10-08 | 深圳市网心科技有限公司 | 云存储服务的数据管理方法、***及设备 |
CN113127551A (zh) * | 2021-04-25 | 2021-07-16 | 在秀网络科技(深圳)有限公司 | 一种取代前端设备的数据承载平台数据调取方法及*** |
CN114299771A (zh) * | 2021-12-06 | 2022-04-08 | 江苏欧帝电子科技有限公司 | 一种云端一体化教学方法及教学*** |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101236549A (zh) * | 2007-01-30 | 2008-08-06 | 阿里巴巴公司 | 一种获取属性信息内容的方法及*** |
CN102508735A (zh) * | 2011-09-30 | 2012-06-20 | 奇智软件(北京)有限公司 | 一种基于云架构的终端***备份及恢复方法 |
CN102546788A (zh) * | 2011-12-29 | 2012-07-04 | 北京新媒传信科技有限公司 | 一种云平台管理方法和云平台 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101355476B (zh) * | 2008-05-23 | 2011-05-11 | 林云帆 | 一种基于服务器群集的数据文件存储、分发和应用的***和方法 |
CN102043783A (zh) * | 2009-10-16 | 2011-05-04 | 阿里巴巴集团控股有限公司 | 一种数据更新的方法、装置及*** |
-
2012
- 2012-08-31 CN CN201210320878.4A patent/CN103685342B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101236549A (zh) * | 2007-01-30 | 2008-08-06 | 阿里巴巴公司 | 一种获取属性信息内容的方法及*** |
CN102508735A (zh) * | 2011-09-30 | 2012-06-20 | 奇智软件(北京)有限公司 | 一种基于云架构的终端***备份及恢复方法 |
CN102546788A (zh) * | 2011-12-29 | 2012-07-04 | 北京新媒传信科技有限公司 | 一种云平台管理方法和云平台 |
Also Published As
Publication number | Publication date |
---|---|
CN103685342A (zh) | 2014-03-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10037340B2 (en) | Tiered distributed storage policies | |
CN103793534B (zh) | 分布式文件***及均衡元数据存储和访问负载的实现方法 | |
CN103685342B (zh) | 个人云存储数据中心和云数据存储的方法 | |
AU2014274300B2 (en) | Access permissions for shared content | |
US8577892B2 (en) | Utilizing affinity groups to allocate data items and computing resources | |
US9697258B2 (en) | Supporting enhanced content searches in an online content-management system | |
CN103064927B (zh) | 分布式文件***的数据访问方法和装置 | |
CN103310000B (zh) | 元数据管理方法 | |
Hasenburg et al. | Towards a replication service for data-intensive fog applications | |
US20130227085A1 (en) | Terminal and method for using cloud services | |
KR20140024933A (ko) | 네트워크-기반 디지털 데이터 리포지토리의 관리 | |
US20130232191A1 (en) | Multi-Application Cloud Storage Platform and Cloud Storage Terminal | |
CN106775446A (zh) | 基于固态硬盘加速的分布式文件***小文件访问方法 | |
US10855637B2 (en) | Architecture for large data management in communication applications through multiple mailboxes | |
US20210141930A1 (en) | System and method for external users in groups of a multitenant system | |
CN109542861A (zh) | 一种文件管理方法、装置和*** | |
WO2020259191A1 (zh) | 一种数据中心节点分配方法、装置、***及计算机设备 | |
US10198449B2 (en) | Creating unique content item identifiers | |
KR20150090306A (ko) | 다수의 단말기 간 컨텐츠 공유 방법, 이를 위한 시스템 및 장치 | |
CN109413130A (zh) | 一种云存储*** | |
CN106790027B (zh) | Hdfs文件***的多租户网盘权限管理方法及*** | |
CN107479827A (zh) | 一种基于io和元数据分离的混合存储***实现方法 | |
EP3788501A1 (en) | Data partitioning in a distributed storage system | |
KR20160026951A (ko) | 웹 클라우드 저장 장치와 망 내 저장 장치의 통합 브라우징 제공 시스템, 장치, 방법 및 컴퓨터 판독 가능한 기록 매체 | |
US8868970B2 (en) | Object based storage system and method of operating thereof |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20200623 Address after: 571924 2001, 2nd floor, building A17, Hainan Ecological Software Park, hi tech industry demonstration zone, Chengmai County, Hainan Province Patentee after: Dulink network technology (Hainan) Co., Ltd Address before: 100085 Beijing, Haidian District, No. ten on the ground floor, No. 10 Baidu building, layer three Patentee before: BEIJING BAIDU NETCOM SCIENCE AND TECHNOLOGY Co.,Ltd. |