首页> 中国专利> 个人云存储数据中心和云数据存储的方法

个人云存储数据中心和云数据存储的方法

摘要

本发明提出了一种个人云存储数据中心,包括服务管理服务器、数据存储服务器、服务提供服务器和应用服务器。数据存储服务器,用于为用户存储数据;服务提供服务器,用于提供向所述应用服务器提供服务,且向所述服务管理服务器进行注册;服务管理服务器,用于对所述数据存储服务器中的数据进行管理,并接收所述服务提供服务器的注册,以及为所述应用服务器提供服务查询;应用服务器,用于向所述用户提供应用程序,且根据所述用户和所述应用程序的标识信息获得数据存储服务器中与应用程序相关的数据。本发明解决了在没有一个固定终端和存储的情况下,个人用户如何将各终端或WEB端APP中产生的个人数据永久保存的问题。

著录项

  • 公开/公告号CN103685342A

    专利类型发明专利

  • 公开/公告日2014-03-26

    原文格式PDF

  • 申请/专利权人 百度在线网络技术(北京)有限公司;

    申请/专利号CN201210320878.4

  • 申请日2012-08-31

  • 分类号H04L29/08(20060101);

  • 代理机构北京清亦华知识产权代理事务所(普通合伙);

  • 代理人宋合成

  • 地址 100085 北京市海淀区上地十街10号百度大厦三层

  • 入库时间 2023-12-17 02:04:05

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2020-07-10

    专利权的转移 IPC(主分类):H04L29/08 登记生效日:20200623 变更前: 变更后: 申请日:20120831

    专利申请权、专利权的转移

  • 2018-01-09

    授权

    授权

  • 2014-04-23

    实质审查的生效 IPC(主分类):H04L29/08 申请日:20120831

    实质审查的生效

  • 2014-03-26

    公开

    公开

说明书

技术领域

本发明涉及云存储技术领域,特别涉及一种个人云存储数据中心和云数据存储的方法。

背景技术

随着智能手机、云计算、以及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/zhangshangbaidu这个目录下的文件。

个人云存储中心中的任何一个文件,都是由用户授权的某一个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开发者提供云端数据同步方案。

在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对所述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。

尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同限定。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号