元数据共享的方法和云存储服务器的制造方法

文档序号:7980849阅读:185来源:国知局
元数据共享的方法和云存储服务器的制造方法
【专利摘要】本发明公开了一种元数据共享的方法和云存储服务器,涉及云计算【技术领域】,包括:云存储服务器为第一应用创建元数据库,在所述第一应用的元数据库中登记共享记录的共享关键字;所述云存储服务器根据所述共享关键字为第二应用提供所述第一应用的元数据的共享服务。本发明通过由对不同应用开放的云存储服务器来创建应用的元数据库,并登记共享记录的共享关键字,从而根据共享关键字为其他应用提供第一应用元数据的共享服务,实现不同应用之间对元数据的共享。
【专利说明】元数据共享的方法和云存储服务器
【技术领域】
[0001]本发明涉及云计算【技术领域】,特别涉及一种元数据共享的方法和云存储服务器。【背景技术】
[0002]云存储是指通过集群应用、网格技术或分布式文件系统等功能,将网络中大量各种不同或相同类型的存储设备通过应用软件集合起来协同工作,共同对外提供数据存储和业务访问功能的一个系统。
[0003]目前,云存储可以提供基于用户账号的多应用接入服务,用户数据可以供应用访问和共享,但是对于用户数据的数据,也即基于用户数据生成的元数据,目前存储在应用服务器上,在应用服务器上存储的元数据只对自身应用开放,不会对其他应用开放,因此其他应用无法访问和共享应用服务器上存储的元数据。
[0004]针对上述元数据无法共享的问题,现有技术还没有相应的解决方案,严重影响了用户对云存储的体验。

【发明内容】

[0005]本发明实施例所要解决的技术问题是:提供一种元数据共享的方法和云存储服务器,以解决元数据无法共享的问题。
[0006]根据本发明实施例的一个方面提供的一种元数据共享的方法,包括:云存储服务器为第一应用创建元数据库,在所述第一应用的元数据库中登记共享记录的共享关键字;所述云存储服务器根据所述共享关键字为第二应用提供所述第一应用的元数据的共享服务。
[0007]作为本发明元数据共享的方法的另一实施例,所述云存储服务器根据所述共享关键字为第二应用提供所述第一应用的元数据的共享服务包括:所述云存储服务器向所述第二应用提供共享列表,所述共享列表包括所述第一应用的元数据库名称和所述共享关键字;所述云存储服务器接收所述第二应用根据所述共享列表发送的共享申请,并将所述共享申请转发给所述第一应用,所述共享申请包括所述第一应用的元数据库名称、所述第二应用的元数据库名称、以及所述共享关键字;所述云存储服务器接收到所述第一应用发送的共享确认后,依据所述共享关键字将所述共享记录的信息从所述第一应用的元数据库导入到所述第二应用的元数据库,并向所述第二应用返回所述共享记录;所述云存储服务器根据所述第二应用对所述共享记录的操作请求,对所述第一应用的元数据库中被请求的共享记录进行相应的操作。
[0008]作为本发明元数据共享的方法的另一实施例,所述共享申请还包括共享权限;所述云存储服务器根据所述第二应用对所述共享记录的操作请求,对所述第一应用的元数据库中被请求的共享记录进行相应的操作包括:所述云存储服务器根据所述第二应用对所述共享记录的操作请求,在确认所述第二应用有相应的操作权限后,对所述第一应用的元数据库中被请求的共享记录进行相应的操作。[0009]作为本发明元数据共享的方法的另一实施例,所述云存储服务器为所述共享记录的参数值生成哈希值;所述云存储服务器根据所述第二应用对所述共享记录的操作请求,对所述第一应用的元数据库中被请求的共享记录进行相应的操作包括:所述云存储服务器根据所述第二应用对所述共享记录的操作请求,判断所述操作请求携带的哈希值与所述第一应用的元数据库中相同记录的哈希值是否一致,如果一致,向所述第二应用返回无更新确认,使所述第二应用根据所述无更新确认对本地保存的共享记录进行相应的操作,如果不一致,对所述第一应用的元数据库中被请求的共享记录进行相应的操作。
[0010]根据本发明实施例的另一个方面提供的一种云存储服务器,包括:元数据库创建模块,用于为第一应用创建元数据库,在所述第一应用的元数据库中登记共享记录的共享关键字;共享服务模块,用于根据所述共享关键字为第二应用提供所述第一应用的元数据的共享服务。
[0011]作为本发明云存储服务器的另一个实施例,所述共享服务模块包括:共享列表提供单元,用于向所述第二应用提供共享列表,所述共享列表包括所述第一应用的元数据库名称和所述共享关键字;共享申请单元,用于接收所述第二应用根据所述共享列表发送的共享申请,并将所述共享申请转发给所述第一应用,所述共享申请包括所述第一应用的元数据库名称、所述第二应用的元数据库名称、以及所述共享关键字;导入单元,用于接收到所述第一应用发送的共享确认后,依据所述共享关键字将所述共享记录的信息从所述第一应用的元数据库导入到所述第二应用的元数据库,并向所述第二应用返回所述共享记录;操作执行单元,用于根据所述第二应用对所述共享记录的操作请求,对所述第一应用的元数据库中被请求的共享记录进行相应的操作。
[0012]作为本发明云存储服务器的另一个实施例,所述共享申请还包括共享权限;所述操作执行单元,用于根据所述第二应用对所述共享记录的操作请求,在确认所述第二应用有相应的操作权限后,对所述第一应用的元数据库中被请求的共享记录进行相应的操作。
[0013]作为本发明云存储服务器的另一个实施例,所述共享服务模块还包括:生成单元,用于所述云存储服务器为所述共享记录的参数值生成哈希值;所述操作执行单元,用于根据所述第二应用对所述共享记录的操作请求,判断所述操作请求携带的哈希值与所述第一应用的元数据库中相同记录的哈希值是否一致,如果一致,向所述第二应用返回无更新确认,使所述第二应用根据所述无更新确认对本地保存的共享记录进行相应的操作,如果不一致,对所述第一应用的元数据库中被请求的共享记录进行相应的操作。
[0014]本发明实施例提供的元数据共享的方法和云存储服务器,通过由对不同应用开放的云存储服务器来创建应用的元数据库,并登记共享记录的共享关键字,从而根据共享关键字为其他应用提供第一应用元数据的共享服务,实现不同应用之间对元数据的共享;并且,还可以提供权限控制,另外,通过比对哈希值可以直接对本地保存的其他应用的元数据进行操作,从而实现元数据的快速共享。
[0015]下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
【专利附图】

【附图说明】
[0016]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0017]图1示出本发明元数据共享的方法一个实施例的流程图;
[0018]图2示出本发明元数据共享的方法另一个实施例的流程图;
[0019]图3示出本发明元数据共享的方法一个实施例的信息交互图;
[0020]图4示出本发明元数据共享的方法另一个实施例的信息交互图;
[0021]图5示出本发明元数据共享的方法再一个实施例的信息交互图;
[0022]图6示出本发明元数据共享的方法又一个实施例的信息交互图;
[0023]图7示出本发明云存储服务器一个实施例的示意图;
[0024]图8示出本发明云存储服务器另一个实施例的示意图;
[0025]图9A示出本发明一个实施例中应用I的元数据库示意图;
[0026]图9B示出本发明一个实施例中应用2的元数据库示意图;
[0027]图9C示出本发明另一个实施例中应用I的元数据库示意图;
[0028]图9D示出本发明另一个实施例中应用2的元数据库示意图。
【具体实施方式】
[0029]下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0030]图1为本发明元数据共享的方法一个实施例的流程图。如图1所示,该实施例的方法包括:
[0031]S102,云存储服务器为第一应用创建元数据库,在第一应用的元数据库中登记共享记录的共享关键字,例如设共享关键字为share_tag。
[0032]S104,云存储服务器根据共享关键字为第二应用提供第一应用的元数据的共享服务,该第二应用可以为除第一应用之外的其他应用。
[0033]上述实施例中,通过由对不同应用开放的云存储服务器来创建应用的元数据库,并登记共享记录的共享关键字,从而根据共享关键字为其他应用提供第一应用元数据的共享服务,实现不同应用之间对元数据的共享。
[0034]图2为本发明元数据共享的方法另一个实施例的流程图。如图2所示,该实施例的方法包括:
[0035]S202,云存储服务器为第一应用创建元数据库,在第一应用的元数据库中登记共孚记录的共孚关键字。
[0036]在本发明一个实施例中,元数据库中的记录和共享记录包括key (键)和value(值),key表示参数名称,value表示参数值。
[0037]S204,云存储服务器向第二应用提供共享列表,共享列表包括第一应用的元数据库名称和共享关键字。在本发明一个实施例中设元数据库名称为DB name,例如,第一应用的元数据库名称为APPl DBname,第二应用的元数据库名称为APP2 DB name。
[0038]S206,云存储服务器接收第二应用根据共享列表发送的共享申请,并将共享申请转发给第一应用,共享申请包括第一应用的元数据库名称、第二应用的元数据库名称、以及共孕关键字,共孕申请还可以包括共孕权限。
[0039]S208,云存储服务器接收到第一应用发送的共享确认后,依据共享关键字将共享记录的信息从第一应用的元数据库导入到第二应用的元数据库,并向第二应用返回共享记录。
[0040]在一个实施例中,导入过程可以包括:将第一应用的共享记录的参数名称添加共享标识后作为第二应用的导入记录的参数名称,共享标识可以灵活设置,例如,可以设置为“share”等,则如果第一应用的共享记录的参数名称为keyl,那么第二应用的导入记录的参数名称为share_keyl,第二应用的导入记录还可以包括指向第一应用的元数据库的信息,还可以包括共享记录参数值的哈希值,最后将第二应用的导入记录保存到第二应用的元数据库。
[0041]S210,云存储服务器根据第二应用对共享记录的操作请求,对第一应用的元数据库中被请求的共享记录进行相应的操作。
[0042]其中,操作请求可以是读取请求或写入请求。在上述操作过程中,当云存储服务器接收第二应用发送的读取请求,读取请求包括预读取记录的参数名称,根据第二应用的元数据库中的导入记录确定第二应用预读取共享记录,从第一应用的元数据库读取参数名称相应的参数值;当云存储服务器接收第二应用发送的写入请求,写入请求包括预写入记录的参数名称和参数值,根据第二应用的元数据库中的导入记录确定第二应用预写入共享记录,将参数值写入到第一应用的元数据库中参数名称对应的记录。
[0043]在上述操作过程中可以进行权限控制,当共享申请还包括共享权限时,云存储服务器还可以根据第二应用对共享记录的操作请求,在确认第二应用有相应的操作权限后,对第一应用的元数据库中被请求的共享记录进行相应的操作。
[0044]在上述操作过程中还可以提供快速共享,云存储服务器需要进一步为共享记录的参数值生成哈希值,例如可以在登记共享关键字之后生成哈希值,则在上述操作过程中,云存储服务器根据第二应用对共享记录的操作请求,判断操作请求携带的哈希值与第一应用的元数据库中相同记录的哈希值是否一致,如果一致,向第二应用返回无更新确认,使第二应用根据无更新确认对本地保存的共享记录进行相应的操作,以实现快速共享,如果不一致,再对第一应用的元数据库中被请求的共享记录进行相应的操作。
[0045]上述实施例中提供了一种具体的共享方案,通过由对不同应用开放的云存储服务器来创建应用的元数据库,并登记共享记录的共享关键字,从而根据共享关键字为其他应用提供第一应用元数据的共享服务,实现不同应用之间对元数据的共享;并且,还可以提供权限控制,另外,通过比对哈希值可以直接对本地保存的其他应用的元数据进行操作,从而实现元数据的快速共享。
[0046]图3为本发明元数据共享的方法一个实施例的信息交互图。如图3所示,该实施例的方法可以实现元数据的共享,包括:
[0047]S302,应用I向云存储服务器请求创建元数据库,应用I在本实施例中是共享数据的提供方,也称第一应用或者共享应用。
[0048]S304,云存储服务器根据应用I的请求为应用I创建元数据库,并向应用I返回元数据库信息,如应用I的元数据库名称APPl DBname、元数据库句柄DB handle等。[0049]S306,应用I向云存储服务器登记共享记录的共享关键字share_tag。
[0050]此时,应用I的元数据库如图9A所示,示出3条记录,每条记录包括表示参数名字的key和表示参数值的value,其中,标记有共享关键字share_tag的keyl和key2两条记录为共享记录,另外,参数值结构value structure包括参数值app_value,根据需要还可以包括其他参数。
[0051]S308,云存储服务器向应用I返回登记确认信息。
[0052]S310,应用2向云存储服务器请求获取共享列表,应用2在本实施例中是共享数据的使用方,也称第二应用或请求共享应用。
[0053]S312,云存储服务器向应用2返回共享列表,包括元数据库名称DB name和共享关键字share_tag,本实施例假设共享列表包括应用I的元数据库名称APPl DB name。
[0054]S314,应用2向云存储服务器发送共享申请,包括应用2的元数据库名称APP2 DBname、应用I的元数据库名称APPl DB name、共享关键字share_tag等。
[0055]S316,云存储服务器转发上述共享申请给应用I。
[0056]S318,应用I向云存储服务器返回共享确认。
[0057]S320,云存储服务器接收到共享确认后,依据共享申请中的共享关键字share_tag,将共享记录的信息从应用I的元数据库导入到应用2的元数据库中。
[0058]其中,导入过程可以包括:将第一应用的共享记录的参数名称添加共享标识后作为第二应用的导入记录的参数名称,共享标识可以灵活设置,例如,可以设置为“share”等,则如果第一应用的共享记录的参数名称为keyl,那么第二应用的导入记录的参数名称为share_keyl,第二应用的导入记录还包括指向第一应用的元数据库的信息,还可以包括共享记录参数值的哈希值等其他信息,最后将第二应用的导入记录保存到第二应用的元数据库。此时,应用2的元数据库如图9B所示,示出3条记录,其中key为share_keyl, share_key2的两条记录为导入记录,另外,导入记录的参数值结构share value structure包括APPl DB name 等。
[0059]S322,云存储服务器向应用2返回共享记录。
[0060]S324,应用2向云存储服务器发送读取请求,读取请求包括预读取记录的参数名称 keyl。
[0061 ] S326,云存储服务器根据第二应用的元数据库中的导入记录share keyl确定第二应用预读取共享记录,从第一应用的元数据库读取参数名称keyl相应的参数值valuel。
[0062]S328,云存储服务器向应用2返回参数值valuel。;
[0063]S330,应用2向云存储服务器发送写入请求,写入请求包括预写入记录的参数名称keyl和参数值valuel’。
[0064]需要说明,本实施例并不限定读取请求和写入请求的先后顺序,并且应用2可以只执行读取请求或写入请求,也可以读取请求和写入请求都执行。
[0065]S332,云存储服务器根据第二应用的元数据库中的导入记录share keyl确定第二应用预写入共享记录,将参数值valuel’写入到第一应用的元数据库中参数名称keyl对应的记录。
[0066]S334,云存储服务器向应用2返回写入确认。
[0067]上述实施例中,通过由对不同应用开放的云存储服务器来创建应用的元数据库,并登记共享记录的共享关键字,从而根据共享关键字为其他应用提供第一应用元数据的共享服务,实现不同应用之间对元数据的共享。
[0068]图4为本发明元数据共享的方法另一个实施例的信息交互图。如图4所示,该实施例的方法可以实现元数据的共享和权限控制,包括:
[0069]S402,应用I向云存储服务器请求创建元数据库,应用I在本实施例中是共享数据的提供方,也称第一应用或者共享应用。
[0070]S404,云存储服务器根据应用I的请求为应用I创建元数据库,并向应用I返回元数据库信息,如应用I的元数据库名称APPl DBname、元数据库句柄DB handle等。
[0071]S406,应用I向云存储服务器登记共享记录的共享关键字share_tag。
[0072]此时,应用I的元数据库如图9A所示,示出3条记录,每条记录包括表示参数名字的key和表示参数值的value,其中,标记有共享关键字share_tag的keyl和key2两条记录为共享记录,另外,参数值结构value structure包括参数值app_value,根据需要还可以包括其他参数。
[0073]S408,云存储服务器向应用I返回登记确认信息。
[0074]S410,应用2向云存储服务器请求获取共享列表,应用2在本实施例中是共享数据的使用方,也称第二应用或请求共享应用。
[0075]S412,云存储服务器向应用2返回共享列表,包括元数据库名称DB name和共享关键字share_tag,本实施例假设共享列表包括应用I的元数据库名称APPl DB name。
[0076]S414,应用2向云存储服务器发送共享申请,包括应用2的元数据库名称APP2 DBname、应用I的元数据库名称APPl DB name、共享关键字share_tag、共享权限等,其中共享权限包括共享读权限、共享写权限等。
[0077]S416,云存储服务器转发上述共享申请给应用I。
[0078]S418,应用I向云存储服务器返回共享确认。
[0079]S420,云存储服务器接收到共享确认后,依据共享申请中的共享关键字share_tag,将共享记录的信息从应用I的元数据库导入到应用2的元数据库中。
[0080]其中,导入过程可以包括:将第一应用的共享记录的参数名称添加共享标识后作为第二应用的导入记录的参数名称,共享标识可以灵活设置,例如,可以设置为“share”等,则如果第一应用的共享记录的参数名称为keyl,那么第二应用的导入记录的参数名称为share_keyl,第二应用的导入记录还包括指向第一应用的元数据库的信息,还可以包括其他信息,最后将第二应用的导入记录保存到第二应用的元数据库。此时,应用2的元数据库如图9B所示,示出3条记录,其中key为share_keyl, share_key2的两条记录为导入记录,另外,导入记录的参数值结构share value structure包括APPl DBname等。
[0081]S422,云存储服务器向应用2返回共享记录。
[0082]S424,应用2向云存储服务器发送读取请求,读取请求包括预读取记录的参数名称 keyl。
[0083]S426,云存储服务器根据应用2在申请共享时申请到的共享权限,判断应用2是否有共享读权限。
[0084]S428,如果判断出应用2没有共享读权限,云存储服务器向应用2返回拒绝读请求。[0085]S430,如果判断出应用2有共享读权限,云存储服务器根据第二应用的元数据库中的导入记录share_keyl确定第二应用预读取共享记录,从第一应用的元数据库读取参数名称keyl相应的参数值valuel。
[0086]S432,云存储服务器向应用2返回参数值valuel。
[0087]S434,应用2向云存储服务器发送写入请求,写入请求包括预写入记录的参数名称keyl和参数值valuel’。
[0088]需要说明,本实施例并不限定读取请求和写入请求的先后顺序,并且应用2可以只执行读取请求或写入请求,也可以读取请求和写入请求都执行。
[0089]S436,云存储服务器根据应用2在申请共享时申请到的共享权限,判断应用2是否有共孚与权限。
[0090]S438,如果判断出应用2没有共享写权限,云存储服务器向应用2返回拒绝写请求。
[0091]S440,如果判断出应用2有共享读权限,云存储服务器根据第二应用的元数据库中的导入记录share_keyl确定第二应用预写入共享记录,将参数值valuel’写入到第一应用的元数据库中参数名称keyl对应的记录。
[0092]S442,云存储服务器向应用2返回写入确认。
[0093]上述实施例中,通过由对不同应用开放的云存储服务器来创建应用的元数据库,并登记共享记录的共享关键字,从而根据共享关键字为其他应用提供第一应用元数据的共享服务,实现不同应用之间对元数据的共享;并且,还可以提供权限控制。
[0094]图5为本发明元数据共享的方法另一个实施例的信息交互图。如图5所示,该实施例的方法不仅可以实现元数据的共享,还可以实现元数据的快速共享,包括:
[0095]S502,应用I向云存储服务器请求创建元数据库,应用I在本实施例中是共享数据的提供方,也称第一应用或者共享应用。
[0096]S504,云存储服务器根据应用I的请求为应用I创建元数据库,并向应用I返回元数据库信息,如应用I的元数据库名称APPl DBname、元数据库句柄DB handle等。
[0097]S506,应用I向云存储服务器登记共享记录的共享关键字share_tag。
[0098]S508,云存储服务器为共享记录的参数值value生成哈希值value_hash。
[0099]此时,应用I的元数据库如图9C所示,示出3条记录,每条记录包括表示参数名字的key和表示参数值的value,其中,标记有共享关键字share_tag的keyl和key2两条记录为共享记录,另外,参数值结构value structure包括参数值app_value和参数值的哈希值 value_hash。
[0100]S510,云存储服务器向应用I返回登记确认信息。
[0101]S512,应用2向云存储服务器请求获取共享列表,应用2在本实施例中是共享数据的使用方,也称第二应用或请求共享应用。
[0102]S514,云存储服务器向应用2返回共享列表,包括元数据库名称DB name和共享关键字share_tag,本实施例假设共享列表包括应用I的元数据库名称APPl DB name。
[0103]S516,应用2向云存储服务器发送共享申请,包括应用2的元数据库名称APP2 DBname、应用I的元数据库名称APPl DB name、共享关键字share_tag等。
[0104]S518,云存储服务器转发上述共享申请给应用I。[0105]S520,应用I向云存储服务器返回共享确认。
[0106]S522,云存储服务器接收到共享确认后,依据共享申请中的共享关键字share_tag,将共享记录的信息从应用I的元数据库导入到应用2的元数据库中。
[0107]其中,导入过程可以包括:将第一应用的共享记录的参数名称添加共享标识后作为第二应用的导入记录的参数名称,共享标识可以灵活设置,例如,可以设置为“share”等,则如果第一应用的共享记录的参数名称为keyl,那么第二应用的导入记录的参数名称为share_keyl,第二应用的导入记录还包括指向第一应用的元数据库的信息,还可以包括参数值的哈希值value_haSh,最后将第二应用的导入记录保存到第二应用的元数据库。此时,应用2的元数据库如图9D所示,示出3条记录,其中key为share_keyl, share_key2的两条记录为导入记录,另外,导入记录的参数值结构share value structure包括APPl DB name和 value_hash 等。
[0108]S524,云存储服务器向应用2返回共享记录。
[0109]S526,应用2向云存储服务器发送读取请求,读取请求包括预读取记录的参数名称keyl和参数值的哈希值value_hash。
[0110]S528,云存储服务器判断读取请求携带的哈希值与第一应用的元数据库中相同记录的哈希值是否一致。
[0111]S530,如果判断出一致,云存储服务器向应用2返回无更新确认,应用2从本地保存的共享记录中读取keyl对应的参数值valuel。
[0112]S532,如果判断出不一致,云存储服务器根据第二应用的元数据库中的导入记录share_keyl确定第二应用预读取共享记录,从第一应用的元数据库读取参数名称keyl相应的参数值valuel’。
[0113]S534,云存储服务器向应用2返回参数值valuel’。
[0114]S536,应用2向云存储服务器发送写入请求,写入请求包括预写入记录的参数名称key 1、参数值valuel’和该参数值的哈希值value_hash。
[0115]需要说明,本实施例并不限定读取请求和写入请求的先后顺序,并且应用2可以只执行读取请求或写入请求,也可以读取请求和写入请求都执行。
[0116]S538,云存储服务器判断写入请求携带的哈希值与第一应用的元数据库中相同记录的哈希值是否一致。
[0117]S540,如果判断出一致,云存储服务器向应用2返回无更新确认,应用2无需写入数据。
[0118]S542,如果判断出不一致,云存储服务器根据第二应用的元数据库中的导入记录share_keyl确定第二应用预写入共享记录,将参数值valuel’写入到第一应用的元数据库中参数名称keyl对应的记录。
[0119]S544,云存储服务器向应用2返回写入确认。
[0120]上述实施例中,通过由对不同应用开放的云存储服务器来创建应用的元数据库,并登记共享记录的共享关键字,从而根据共享关键字为其他应用提供第一应用元数据的共享服务,实现不同应用之间对元数据的共享;另外,通过比对哈希值可以直接对本地保存的其他应用的元数据进行操作,从而实现元数据的快速共享。
[0121]图6为本发明元数据共享的方法另一个实施例的信息交互图。如图6所示,该实施例的方法不仅可以实现元数据的共享,还可以实现元数据的快速共享和权限控制,包括:
[0122]S602,应用I向云存储服务器请求创建元数据库,应用I在本实施例中是共享数据的提供方,也称第一应用或者共享应用。
[0123]S604,云存储服务器根据应用I的请求为应用I创建元数据库,并向应用I返回元数据库信息,如应用I的元数据库名称APPl DBname、元数据库句柄DB handle等。
[0124]S606,应用I向云存储服务器登记共享记录的共享关键字share_tag。
[0125]S608,云存储服务器为共享记录的参数值value生成哈希值value_hash。
[0126]此时,应用I的元数据库如图9C所示,示出3条记录,每条记录包括表示参数名字的key和表示参数值的value,其中,标记有共享关键字share_tag的keyl和key2两条记录为共享记录,另外,参数值结构value structure包括参数值app_value和参数值的哈希值 value_hash。
[0127]S610,云存储服务器向应用I返回登记确认信息。
[0128]S612,应用2向云存储服务器请求获取共享列表,应用2在本实施例中是共享数据的使用方,也称第二应用或请求共享应用。
[0129]S614,云存储服务器向应用2返回共享列表,包括元数据库名称DB name和共享关键字share_tag,本实施例假设共享列表包括应用I的元数据库名称APPl DB name。
[0130]S616,应用2向云存储服务器发送共享申请,包括应用2的元数据库名称APP2 DBname、应用I的元数据库名称APPl DB name、共享关键字share_tag、共享权限等,其中共享权限包括共享读权限、共享写权限等。
[0131]S618,云存储服务器转发上述共享申请给应用I。
[0132]S620,应用I向云存储服务器返回共享确认。
[0133]S622,云存储服务器接收到共享确认后,依据共享申请中的共享关键字share_tag,将共享记录的信息从应用I的元数据库导入到应用2的元数据库中。
[0134]其中,导入过程可以包括:将第一应用的共享记录的参数名称添加共享标识后作为第二应用的导入记录的参数名称,共享标识可以灵活设置,例如,可以设置为“share”等,则如果第一应用的共享记录的参数名称为keyl,那么第二应用的导入记录的参数名称为share_keyl,第二应用的导入记录还包括指向第一应用的元数据库的信息,还可以包括参数值的哈希值value_haSh,最后将第二应用的导入记录保存到第二应用的元数据库。此时,应用2的元数据库如图9D所示,示出3条记录,其中key为share_keyl, share_key2的两条记录为导入记录,另外,导入记录的参数值结构share value structure包括APPl DB name和 value_hash 等。
[0135]S624,云存储服务器向应用2返回共享记录。
[0136]S626,应用2向云存储服务器发送读取请求,读取请求包括预读取记录的参数名称keyl和参数值的哈希值value_hash。
[0137]S628,云存储服务器判断应用2是否有共享读权限,如有共享读权限,判断读取请求携带的哈希值与第一应用的元数据库中相同记录的哈希值是否一致。
[0138]S630,如果判断出一致,云存储服务器向应用2返回无更新确认,应用2从本地保存的共享记录中读取keyl对应的参数值valuel。
[0139]S632,如果判断出不一致,云存储服务器根据第二应用的元数据库中的导入记录share_keyl确定第二应用预读取共享记录,从第一应用的元数据库读取参数名称keyl相应的参数值valuel’。
[0140]S634,云存储服务器向应用2返回参数值valuel’。
[0141]S636,应用2向云存储服务器发送写入请求,写入请求包括预写入记录的参数名称key 1、参数值valuel’和该参数值的哈希值value_hash。
[0142]需要说明,本实施例并不限定读取请求和写入请求的先后顺序,并且应用2可以只执行读取请求或写入请求,也可以读取请求和写入请求都执行。
[0143]S638,云存储服务器判断应用2是否有共享写权限,如果有共享写权限,判断写入请求携带的哈希值与第一应用的元数据库中相同记录的哈希值是否一致。
[0144]S640,如果判断出一致,云存储服务器向应用2返回无更新确认,应用2无需写入数据。
[0145]S642,如果判断出不一致,云存储服务器根据第二应用的元数据库中的导入记录share_keyl确定第二应用预写入共享记录,将参数值valuel’写入到第一应用的元数据库中参数名称keyl对应的记录。
[0146]S644,云存储服务器向应用2返回写入确认。
[0147]上述实施例中,通过由对不同应用开放的云存储服务器来创建应用的元数据库,并登记共享记录的共享关键字,从而根据共享关键字为其他应用提供第一应用元数据的共享服务,实现不同应用之间对元数据的共享;并且,还可以提供权限控制;另外,通过比对哈希值可以直接对本地保存的其他应用的元数据进行操作,从而实现元数据的快速共享。
[0148]图7为本发明云存储服务器一个实施例的示意图。如图7所示,该实施例的云存储服务器包括:元数据库创建模块702,用于为第一应用创建元数据库,在第一应用的元数据库中登记共享记录的共享关键字;共享服务模块704,用于根据共享关键字为第二应用提供第一应用的元数据的共享服务。
[0149]图8为本发明云存储服务器另一个实施例的示意图。如图8所示,该实施例的云存储服务器中的共享服务模块704包括:共享列表提供单元802,用于向第二应用提供共享列表,共享列表包括第一应用的元数据库名称和共享关键字;共享申请单元804,用于接收第二应用根据共享列表发送的共享申请,并将共享申请转发给第一应用,共享申请包括第一应用的元数据库名称、第二应用的元数据库名称、以及共享关键字;导入单元806,用于接收到第一应用发送的共享确认后,依据共享关键字将共享记录的信息从第一应用的元数据库导入到第二应用的元数据库,并向第二应用返回共享记录;操作执行单元808,用于根据第二应用对共享记录的操作请求,对第一应用的元数据库中被请求的共享记录进行相应的操作。
[0150]作为本发明云存储服务器的另一实施例,导入单元806用于:将第一应用的共享记录的参数名称添加共享标识后作为第二应用的导入记录的参数名称,第二应用的导入记录的参数值包括第一应用的元数据库名称,将第二应用的导入记录保存到第二应用的元数据库。
[0151]作为本发明云存储服务器的另一实施例,操作执行单元808包括:读取子单元808a,用于接收第二应用发送的读取请求,读取请求包括预读取记录的参数名称,根据第二应用的元数据库中的导入记录确定第二应用预读取共享记录,从第一应用的元数据库读取参数名称相应的参数值;或者,写入子单元808b,用于接收第二应用发送的写入请求,写入请求包括预写入记录的参数名称和参数值,根据第二应用的元数据库中的导入记录确定第二应用预写入共享记录,将参数值写入到第一应用的元数据库中参数名称对应的记录。
[0152]作为本发明云存储服务器的另一实施例,共享申请还包括共享权限;操作执行单元808,用于根据第二应用对共享记录的操作请求,在确认第二应用有相应的操作权限后,对第一应用的元数据库中被请求的共享记录进行相应的操作。
[0153]作为本发明云存储服务器的另一实施例,共享服务模块704还包括:生成单元810,用于云存储服务器为共享记录的参数值生成哈希值;操作执行单元808,用于根据第二应用对共享记录的操作请求,判断操作请求携带的哈希值与第一应用的元数据库中相同记录的哈希值是否一致,如果一致,向第二应用返回无更新确认,使第二应用根据无更新确认对本地保存的共享记录进行相应的操作,如果不一致,对第一应用的元数据库中被请求的共享记录进行相应的操作。
[0154]上述实施例中,通过由对不同应用开放的云存储服务器来创建应用的元数据库,并登记共享记录的共享关键字,从而根据共享关键字为其他应用提供第一应用元数据的共享服务,实现不同应用之间对元数据的共享;并且,还可以提供权限控制;另外,通过比对哈希值可以直接对本地保存的其他应用的元数据进行操作,从而实现元数据的快速共享。
[0155]本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
[0156]以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
【权利要求】
1.一种元数据共享的方法,其特征在于,所述方法包括: 云存储服务器为第一应用创建元数据库,在所述第一应用的元数据库中登记共享记录的共享关键字; 所述云存储服务器根据所述共享关键字为第二应用提供所述第一应用的元数据的共孚服务。
2.根据权利要求1所述的方法,其特征在于,所述云存储服务器根据所述共享关键字为第二应用提供所述第一应用的元数据的共享服务包括: 所述云存储服务器向所述第二应用提供共享列表,所述共享列表包括所述第一应用的元数据库名称和所述共享关键字; 所述云存储服务器接收所述第二应用根据所述共享列表发送的共享申请,并将所述共享申请转发给所述第一应用,所述共享申请包括所述第一应用的元数据库名称、所述第二应用的元数据库名称、以及所述共享关键字; 所述云存储服务器接收到所述第一应用发送的共享确认后,依据所述共享关键字将所述共享记录的信息从所述第一应用的元数据库导入到所述第二应用的元数据库,并向所述第二应用返回所述共享记录; 所述云存储服务器根据所述第二应用对所述共享记录的操作请求,对所述第一应用的元数据库中被请求的共享记录进行相应的操作。
3.根据权利要求2所述的方法,其特征在于,所述云存储服务器依据所述共享关键字将所述共享记录的信息 从所述第一应用的元数据库导入到所述第二应用的元数据库包括: 将所述第一应用的共享记录的参数名称添加共享标识后作为所述第二应用的导入记录的参数名称,所述第二应用的导入记录还包括指向所述第一应用的元数据库的信息,将所述第二应用的导入记录保存到所述第二应用的元数据库。
4.根据权利要求2所述的方法,其特征在于,所述云存储服务器根据所述第二应用对所述共享记录的操作请求,对所述第一应用的元数据库中被请求的共享记录进行相应的操作包括: 所述云存储服务器接收所述第二应用发送的读取请求,所述读取请求包括预读取记录的参数名称,根据所述第二应用的元数据库中的导入记录确定所述第二应用预读取共享记录,从所述第一应用的元数据库读取所述参数名称相应的参数值; 或者, 所述云存储服务器接收所述第二应用发送的写入请求,所述写入请求包括预写入记录的参数名称和参数值,根据所述第二应用的元数据库中的导入记录确定所述第二应用预写入共享记录,将所述参数值写入到所述第一应用的元数据库中所述参数名称对应的记录。
5.根据权利要求2所述的方法,其特征在于,所述共享申请还包括共享权限; 所述云存储服务器根据所述第二应用对所述共享记录的操作请求,对所述第一应用的元数据库中被请求的共享记录进行相应的操作包括: 所述云存储服务器根据所述第二应用对所述共享记录的操作请求,在确认所述第二应用有相应的操作权限后,对所述第一应用的元数据库中被请求的共享记录进行相应的操作。
6.根据权利要求2或5所述的方法,其特征在于,所述方法还包括:所述云存储服务器为所述共享记录的参数值生成哈希值; 所述云存储服务器根据所述第二应用对所述共享记录的操作请求,对所述第一应用的元数据库中被请求的共享记录进行相应的操作包括: 所述云存储服务器根据所述第二应用对所述共享记录的操作请求,判断所述操作请求携带的哈希值与所述第一应用的元数据库中相同记录的哈希值是否一致,如果一致,向所述第二应用返回无更新确认,使所述第二应用根据所述无更新确认对本地保存的共享记录进行相应的操作,如果不一致,对所述第一应用的元数据库中被请求的共享记录进行相应的操作。
7.—种云存储服务器,其特征在于,所述云存储服务器包括: 元数据库创建模块,用于为第一应用创建元数据库,在所述第一应用的元数据库中登记共享记录的共享关键字; 共享服务模块,用于根据所述共享关键字为第二应用提供所述第一应用的元数据的共孚服务。
8.根据权利要求7所述的云存储服务器,其特征在于,所述共享服务模块包括: 共享列表提供单元,用于向所述第二应用提供共享列表,所述共享列表包括所述第一应用的元数据库名称和所述共享关键字; 共享申请单元,用于接收所述第二应用根据所述共享列表发送的共享申请,并将所述共享申请转发给所述第一应用,所述共享申请包括所述第一应用的元数据库名称、所述第二应用的元数据库名称、以 及所述共享关键字; 导入单元,用于接收到所述第一应用发送的共享确认后,依据所述共享关键字将所述共享记录的信息从所述第一应用的元数据库导入到所述第二应用的元数据库,并向所述第二应用返回所述共享记录; 操作执行单元,用于根据所述第二应用对所述共享记录的操作请求,对所述第一应用的元数据库中被请求的共享记录进行相应的操作。
9.根据权利要求8所述的云存储服务器,其特征在于,所述导入单元用于: 将所述第一应用的共享记录的参数名称添加共享标识后作为所述第二应用的导入记录的参数名称,所述第二应用的导入记录还包括指向所述第一应用的元数据库的信息,将所述第二应用的导入记录保存到所述第二应用的元数据库。
10.根据权利要求8所述的云存储服务器,其特征在于,所述操作执行单元包括: 读取子单元,用于接收所述第二应用发送的读取请求,所述读取请求包括预读取记录的参数名称,根据所述第二应用的元数据库中的导入记录确定所述第二应用预读取共享记录,从所述第一应用的元数据库读取所述参数名称相应的参数值; 或者, 写入子单元,用于接收所述第二应用发送的写入请求,所述写入请求包括预写入记录的参数名称和参数值,根据所述第二应用的元数据库中的导入记录确定所述第二应用预写入共享记录,将所述参数值写入到所述第一应用的元数据库中所述参数名称对应的记录。
11.根据权利要求8所述的云存储服务器,其特征在于,所述共享申请还包括共享权限;所述操作执行单元,用于根据所述第二应用对所述共享记录的操作请求,在确认所述第二应用有相应的操作权限后,对所述第一应用的元数据库中被请求的共享记录进行相应的操作。
12.根据权利要求8或11所述的云存储服务器,其特征在于,所述共享服务模块还包括:生成单元,用于所述云存储服务器为所述共享记录的参数值生成哈希值; 所述操作执行单元,用于根据所述第二应用对所述共享记录的操作请求,判断所述操作请求携带的哈希值与所述第一应用的元数据库中相同记录的哈希值是否一致,如果一致,向所述第二应用返回无更新确认,使所述第二应用根据所述无更新确认对本地保存的共享记录进行相应的操作,如果不一致,对所述第一应用的元数据库中被请求的共享记录进行相应的操作。
【文档编号】H04L29/08GK103546502SQ201210240357
【公开日】2014年1月29日 申请日期:2012年7月11日 优先权日:2012年7月11日
【发明者】龚靖, 吴明根, 雷俊智, 沈晶歆, 秦达 申请人:中国电信股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1