CN103546502B - 元数据共享的方法和云存储服务器 - Google Patents
元数据共享的方法和云存储服务器 Download PDFInfo
- Publication number
- CN103546502B CN103546502B CN201210240357.8A CN201210240357A CN103546502B CN 103546502 B CN103546502 B CN 103546502B CN 201210240357 A CN201210240357 A CN 201210240357A CN 103546502 B CN103546502 B CN 103546502B
- Authority
- CN
- China
- Prior art keywords
- application
- sharing
- record
- metadata
- cloud 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
- 238000000034 method Methods 0.000 title claims abstract description 46
- 230000008676 import Effects 0.000 claims description 64
- 238000012790 confirmation Methods 0.000 claims description 34
- 238000010586 diagram Methods 0.000 description 17
- 230000008569 process Effects 0.000 description 9
- 230000003993 interaction Effects 0.000 description 8
- 101150053844 APP1 gene Proteins 0.000 description 6
- 101100189105 Homo sapiens PABPC4 gene Proteins 0.000 description 6
- 102100039424 Polyadenylate-binding protein 4 Human genes 0.000 description 6
- 101100055496 Arabidopsis thaliana APP2 gene Proteins 0.000 description 5
- 101100016250 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) GYL1 gene Proteins 0.000 description 5
- 230000006870 function Effects 0.000 description 2
- 238000013500 data storage Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种元数据共享的方法和云存储服务器,涉及云计算技术领域,包括:云存储服务器为第一应用创建元数据库,在所述第一应用的元数据库中登记共享记录的共享关键字;所述云存储服务器根据所述共享关键字为第二应用提供所述第一应用的元数据的共享服务。本发明通过由对不同应用开放的云存储服务器来创建应用的元数据库,并登记共享记录的共享关键字,从而根据共享关键字为其他应用提供第一应用元数据的共享服务,实现不同应用之间对元数据的共享。
Description
技术领域
本发明涉及云计算技术领域,特别涉及一种元数据共享的方法和云存储服务器。
背景技术
云存储是指通过集群应用、网格技术或分布式文件系统等功能,将网络中大量各种不同或相同类型的存储设备通过应用软件集合起来协同工作,共同对外提供数据存储和业务访问功能的一个系统。
目前,云存储可以提供基于用户账号的多应用接入服务,用户数据可以供应用访问和共享,但是对于用户数据的数据,也即基于用户数据生成的元数据,目前存储在应用服务器上,在应用服务器上存储的元数据只对自身应用开放,不会对其他应用开放,因此其他应用无法访问和共享应用服务器上存储的元数据。
针对上述元数据无法共享的问题,现有技术还没有相应的解决方案,严重影响了用户对云存储的体验。
发明内容
本发明实施例所要解决的技术问题是:提供一种元数据共享的方法和云存储服务器,以解决元数据无法共享的问题。
根据本发明实施例的一个方面提供的一种元数据共享的方法,包括:云存储服务器为第一应用创建元数据库,在所述第一应用的元数据库中登记共享记录的共享关键字;所述云存储服务器根据所述共享关键字为第二应用提供所述第一应用的元数据的共享服务。
作为本发明元数据共享的方法的另一实施例,所述云存储服务器根据所述共享关键字为第二应用提供所述第一应用的元数据的共享服务包括:所述云存储服务器向所述第二应用提供共享列表,所述共享列表包括所述第一应用的元数据库名称和所述共享关键字;所述云存储服务器接收所述第二应用根据所述共享列表发送的共享申请,并将所述共享申请转发给所述第一应用,所述共享申请包括所述第一应用的元数据库名称、所述第二应用的元数据库名称、以及所述共享关键字;所述云存储服务器接收到所述第一应用发送的共享确认后,依据所述共享关键字将所述共享记录的信息从所述第一应用的元数据库导入到所述第二应用的元数据库,并向所述第二应用返回所述共享记录;所述云存储服务器根据所述第二应用对所述共享记录的操作请求,对所述第一应用的元数据库中被请求的共享记录进行相应的操作。
作为本发明元数据共享的方法的另一实施例,所述共享申请还包括共享权限;所述云存储服务器根据所述第二应用对所述共享记录的操作请求,对所述第一应用的元数据库中被请求的共享记录进行相应的操作包括:所述云存储服务器根据所述第二应用对所述共享记录的操作请求,在确认所述第二应用有相应的操作权限后,对所述第一应用的元数据库中被请求的共享记录进行相应的操作。
作为本发明元数据共享的方法的另一实施例,所述云存储服务器为所述共享记录的参数值生成哈希值;所述云存储服务器根据所述第二应用对所述共享记录的操作请求,对所述第一应用的元数据库中被请求的共享记录进行相应的操作包括:所述云存储服务器根据所述第二应用对所述共享记录的操作请求,判断所述操作请求携带的哈希值与所述第一应用的元数据库中相同记录的哈希值是否一致,如果一致,向所述第二应用返回无更新确认,使所述第二应用根据所述无更新确认对本地保存的共享记录进行相应的操作,如果不一致,对所述第一应用的元数据库中被请求的共享记录进行相应的操作。
根据本发明实施例的另一个方面提供的一种云存储服务器,包括:元数据库创建模块,用于为第一应用创建元数据库,在所述第一应用的元数据库中登记共享记录的共享关键字;共享服务模块,用于根据所述共享关键字为第二应用提供所述第一应用的元数据的共享服务。
作为本发明云存储服务器的另一个实施例,所述共享服务模块包括:共享列表提供单元,用于向所述第二应用提供共享列表,所述共享列表包括所述第一应用的元数据库名称和所述共享关键字;共享申请单元,用于接收所述第二应用根据所述共享列表发送的共享申请,并将所述共享申请转发给所述第一应用,所述共享申请包括所述第一应用的元数据库名称、所述第二应用的元数据库名称、以及所述共享关键字;导入单元,用于接收到所述第一应用发送的共享确认后,依据所述共享关键字将所述共享记录的信息从所述第一应用的元数据库导入到所述第二应用的元数据库,并向所述第二应用返回所述共享记录;操作执行单元,用于根据所述第二应用对所述共享记录的操作请求,对所述第一应用的元数据库中被请求的共享记录进行相应的操作。
作为本发明云存储服务器的另一个实施例,所述共享申请还包括共享权限;所述操作执行单元,用于根据所述第二应用对所述共享记录的操作请求,在确认所述第二应用有相应的操作权限后,对所述第一应用的元数据库中被请求的共享记录进行相应的操作。
作为本发明云存储服务器的另一个实施例,所述共享服务模块还包括:生成单元,用于所述云存储服务器为所述共享记录的参数值生成哈希值;所述操作执行单元,用于根据所述第二应用对所述共享记录的操作请求,判断所述操作请求携带的哈希值与所述第一应用的元数据库中相同记录的哈希值是否一致,如果一致,向所述第二应用返回无更新确认,使所述第二应用根据所述无更新确认对本地保存的共享记录进行相应的操作,如果不一致,对所述第一应用的元数据库中被请求的共享记录进行相应的操作。
本发明实施例提供的元数据共享的方法和云存储服务器,通过由对不同应用开放的云存储服务器来创建应用的元数据库,并登记共享记录的共享关键字,从而根据共享关键字为其他应用提供第一应用元数据的共享服务,实现不同应用之间对元数据的共享;并且,还可以提供权限控制,另外,通过比对哈希值可以直接对本地保存的其他应用的元数据进行操作,从而实现元数据的快速共享。
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1示出本发明元数据共享的方法一个实施例的流程图;
图2示出本发明元数据共享的方法另一个实施例的流程图;
图3示出本发明元数据共享的方法一个实施例的信息交互图;
图4示出本发明元数据共享的方法另一个实施例的信息交互图;
图5示出本发明元数据共享的方法再一个实施例的信息交互图;
图6示出本发明元数据共享的方法又一个实施例的信息交互图;
图7示出本发明云存储服务器一个实施例的示意图;
图8示出本发明云存储服务器另一个实施例的示意图;
图9A示出本发明一个实施例中应用1的元数据库示意图;
图9B示出本发明一个实施例中应用2的元数据库示意图;
图9C示出本发明另一个实施例中应用1的元数据库示意图;
图9D示出本发明另一个实施例中应用2的元数据库示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1为本发明元数据共享的方法一个实施例的流程图。如图1所示,该实施例的方法包括:
S102,云存储服务器为第一应用创建元数据库,在第一应用的元数据库中登记共享记录的共享关键字,例如设共享关键字为share_tag。
S104,云存储服务器根据共享关键字为第二应用提供第一应用的元数据的共享服务,该第二应用可以为除第一应用之外的其他应用。
上述实施例中,通过由对不同应用开放的云存储服务器来创建应用的元数据库,并登记共享记录的共享关键字,从而根据共享关键字为其他应用提供第一应用元数据的共享服务,实现不同应用之间对元数据的共享。
图2为本发明元数据共享的方法另一个实施例的流程图。如图2所示,该实施例的方法包括:
S202,云存储服务器为第一应用创建元数据库,在第一应用的元数据库中登记共享记录的共享关键字。
在本发明一个实施例中,元数据库中的记录和共享记录包括key(键)和value(值),key表示参数名称,value表示参数值。
S204,云存储服务器向第二应用提供共享列表,共享列表包括第一应用的元数据库名称和共享关键字。在本发明一个实施例中设元数据库名称为DB name,例如,第一应用的元数据库名称为APP1 DBname,第二应用的元数据库名称为APP2 DB name。
S206,云存储服务器接收第二应用根据共享列表发送的共享申请,并将共享申请转发给第一应用,共享申请包括第一应用的元数据库名称、第二应用的元数据库名称、以及共享关键字,共享申请还可以包括共享权限。
S208,云存储服务器接收到第一应用发送的共享确认后,依据共享关键字将共享记录的信息从第一应用的元数据库导入到第二应用的元数据库,并向第二应用返回共享记录。
在一个实施例中,导入过程可以包括:将第一应用的共享记录的参数名称添加共享标识后作为第二应用的导入记录的参数名称,共享标识可以灵活设置,例如,可以设置为“share”等,则如果第一应用的共享记录的参数名称为key1,那么第二应用的导入记录的参数名称为share_key1,第二应用的导入记录还可以包括指向第一应用的元数据库的信息,还可以包括共享记录参数值的哈希值,最后将第二应用的导入记录保存到第二应用的元数据库。
S210,云存储服务器根据第二应用对共享记录的操作请求,对第一应用的元数据库中被请求的共享记录进行相应的操作。
其中,操作请求可以是读取请求或写入请求。在上述操作过程中,当云存储服务器接收第二应用发送的读取请求,读取请求包括预读取记录的参数名称,根据第二应用的元数据库中的导入记录确定第二应用预读取共享记录,从第一应用的元数据库读取参数名称相应的参数值;当云存储服务器接收第二应用发送的写入请求,写入请求包括预写入记录的参数名称和参数值,根据第二应用的元数据库中的导入记录确定第二应用预写入共享记录,将参数值写入到第一应用的元数据库中参数名称对应的记录。
在上述操作过程中可以进行权限控制,当共享申请还包括共享权限时,云存储服务器还可以根据第二应用对共享记录的操作请求,在确认第二应用有相应的操作权限后,对第一应用的元数据库中被请求的共享记录进行相应的操作。
在上述操作过程中还可以提供快速共享,云存储服务器需要进一步为共享记录的参数值生成哈希值,例如可以在登记共享关键字之后生成哈希值,则在上述操作过程中,云存储服务器根据第二应用对共享记录的操作请求,判断操作请求携带的哈希值与第一应用的元数据库中相同记录的哈希值是否一致,如果一致,向第二应用返回无更新确认,使第二应用根据无更新确认对本地保存的共享记录进行相应的操作,以实现快速共享,如果不一致,再对第一应用的元数据库中被请求的共享记录进行相应的操作。
上述实施例中提供了一种具体的共享方案,通过由对不同应用开放的云存储服务器来创建应用的元数据库,并登记共享记录的共享关键字,从而根据共享关键字为其他应用提供第一应用元数据的共享服务,实现不同应用之间对元数据的共享;并且,还可以提供权限控制,另外,通过比对哈希值可以直接对本地保存的其他应用的元数据进行操作,从而实现元数据的快速共享。
图3为本发明元数据共享的方法一个实施例的信息交互图。如图3所示,该实施例的方法可以实现元数据的共享,包括:
S302,应用1向云存储服务器请求创建元数据库,应用1在本实施例中是共享数据的提供方,也称第一应用或者共享应用。
S304,云存储服务器根据应用1的请求为应用1创建元数据库,并向应用1返回元数据库信息,如应用1的元数据库名称APP1 DBname、元数据库句柄DB handle等。
S306,应用1向云存储服务器登记共享记录的共享关键字share_tag。
此时,应用1的元数据库如图9A所示,示出3条记录,每条记录包括表示参数名字的key和表示参数值的value,其中,标记有共享关键字share_tag的key1和key2两条记录为共享记录,另外,参数值结构value structure包括参数值app_value,根据需要还可以包括其他参数。
S308,云存储服务器向应用1返回登记确认信息。
S310,应用2向云存储服务器请求获取共享列表,应用2在本实施例中是共享数据的使用方,也称第二应用或请求共享应用。
S312,云存储服务器向应用2返回共享列表,包括元数据库名称DB name和共享关键字share_tag,本实施例假设共享列表包括应用1的元数据库名称APP1 DB name。
S314,应用2向云存储服务器发送共享申请,包括应用2的元数据库名称APP2 DBname、应用1的元数据库名称APP1 DB name、共享关键字share_tag等。
S316,云存储服务器转发上述共享申请给应用1。
S318,应用1向云存储服务器返回共享确认。
S320,云存储服务器接收到共享确认后,依据共享申请中的共享关键字share_tag,将共享记录的信息从应用1的元数据库导入到应用2的元数据库中。
其中,导入过程可以包括:将第一应用的共享记录的参数名称添加共享标识后作为第二应用的导入记录的参数名称,共享标识可以灵活设置,例如,可以设置为“share”等,则如果第一应用的共享记录的参数名称为key1,那么第二应用的导入记录的参数名称为share_key1,第二应用的导入记录还包括指向第一应用的元数据库的信息,还可以包括共享记录参数值的哈希值等其他信息,最后将第二应用的导入记录保存到第二应用的元数据库。此时,应用2的元数据库如图9B所示,示出3条记录,其中key为share_key1,share_key2的两条记录为导入记录,另外,导入记录的参数值结构share value structure包括APP1DB name等。
S322,云存储服务器向应用2返回共享记录。
S324,应用2向云存储服务器发送读取请求,读取请求包括预读取记录的参数名称key1。
S326,云存储服务器根据第二应用的元数据库中的导入记录share key1确定第二应用预读取共享记录,从第一应用的元数据库读取参数名称key1相应的参数值value1。
S328,云存储服务器向应用2返回参数值value1。;
S330,应用2向云存储服务器发送写入请求,写入请求包括预写入记录的参数名称key1和参数值value1’。
需要说明,本实施例并不限定读取请求和写入请求的先后顺序,并且应用2可以只执行读取请求或写入请求,也可以读取请求和写入请求都执行。
S332,云存储服务器根据第二应用的元数据库中的导入记录share key1确定第二应用预写入共享记录,将参数值value1’写入到第一应用的元数据库中参数名称key1对应的记录。
S334,云存储服务器向应用2返回写入确认。
上述实施例中,通过由对不同应用开放的云存储服务器来创建应用的元数据库,并登记共享记录的共享关键字,从而根据共享关键字为其他应用提供第一应用元数据的共享服务,实现不同应用之间对元数据的共享。
图4为本发明元数据共享的方法另一个实施例的信息交互图。如图4所示,该实施例的方法可以实现元数据的共享和权限控制,包括:
S402,应用1向云存储服务器请求创建元数据库,应用1在本实施例中是共享数据的提供方,也称第一应用或者共享应用。
S404,云存储服务器根据应用1的请求为应用1创建元数据库,并向应用1返回元数据库信息,如应用1的元数据库名称APP1 DBname、元数据库句柄DB handle等。
S406,应用1向云存储服务器登记共享记录的共享关键字share_tag。
此时,应用1的元数据库如图9A所示,示出3条记录,每条记录包括表示参数名字的key和表示参数值的value,其中,标记有共享关键字share_tag的key1和key2两条记录为共享记录,另外,参数值结构value structure包括参数值app_value,根据需要还可以包括其他参数。
S408,云存储服务器向应用1返回登记确认信息。
S410,应用2向云存储服务器请求获取共享列表,应用2在本实施例中是共享数据的使用方,也称第二应用或请求共享应用。
S412,云存储服务器向应用2返回共享列表,包括元数据库名称DB name和共享关键字share_tag,本实施例假设共享列表包括应用1的元数据库名称APP1 DB name。
S414,应用2向云存储服务器发送共享申请,包括应用2的元数据库名称APP2 DBname、应用1的元数据库名称APP1 DB name、共享关键字share_tag、共享权限等,其中共享权限包括共享读权限、共享写权限等。
S416,云存储服务器转发上述共享申请给应用1。
S418,应用1向云存储服务器返回共享确认。
S420,云存储服务器接收到共享确认后,依据共享申请中的共享关键字share_tag,将共享记录的信息从应用1的元数据库导入到应用2的元数据库中。
其中,导入过程可以包括:将第一应用的共享记录的参数名称添加共享标识后作为第二应用的导入记录的参数名称,共享标识可以灵活设置,例如,可以设置为“share”等,则如果第一应用的共享记录的参数名称为key1,那么第二应用的导入记录的参数名称为share_key1,第二应用的导入记录还包括指向第一应用的元数据库的信息,还可以包括其他信息,最后将第二应用的导入记录保存到第二应用的元数据库。此时,应用2的元数据库如图9B所示,示出3条记录,其中key为share_key1,share_key2的两条记录为导入记录,另外,导入记录的参数值结构share value structure包括APP1 DBname等。
S422,云存储服务器向应用2返回共享记录。
S424,应用2向云存储服务器发送读取请求,读取请求包括预读取记录的参数名称key1。
S426,云存储服务器根据应用2在申请共享时申请到的共享权限,判断应用2是否有共享读权限。
S428,如果判断出应用2没有共享读权限,云存储服务器向应用2返回拒绝读请求。
S430,如果判断出应用2有共享读权限,云存储服务器根据第二应用的元数据库中的导入记录share_key1确定第二应用预读取共享记录,从第一应用的元数据库读取参数名称key1相应的参数值value1。
S432,云存储服务器向应用2返回参数值value1。
S434,应用2向云存储服务器发送写入请求,写入请求包括预写入记录的参数名称key1和参数值value1’。
需要说明,本实施例并不限定读取请求和写入请求的先后顺序,并且应用2可以只执行读取请求或写入请求,也可以读取请求和写入请求都执行。
S436,云存储服务器根据应用2在申请共享时申请到的共享权限,判断应用2是否有共享写权限。
S438,如果判断出应用2没有共享写权限,云存储服务器向应用2返回拒绝写请求。
S440,如果判断出应用2有共享读权限,云存储服务器根据第二应用的元数据库中的导入记录share_key1确定第二应用预写入共享记录,将参数值value1’写入到第一应用的元数据库中参数名称key1对应的记录。
S442,云存储服务器向应用2返回写入确认。
上述实施例中,通过由对不同应用开放的云存储服务器来创建应用的元数据库,并登记共享记录的共享关键字,从而根据共享关键字为其他应用提供第一应用元数据的共享服务,实现不同应用之间对元数据的共享;并且,还可以提供权限控制。
图5为本发明元数据共享的方法另一个实施例的信息交互图。如图5所示,该实施例的方法不仅可以实现元数据的共享,还可以实现元数据的快速共享,包括:
S502,应用1向云存储服务器请求创建元数据库,应用1在本实施例中是共享数据的提供方,也称第一应用或者共享应用。
S504,云存储服务器根据应用1的请求为应用1创建元数据库,并向应用1返回元数据库信息,如应用1的元数据库名称APP1 DBname、元数据库句柄DB handle等。
S506,应用1向云存储服务器登记共享记录的共享关键字share_tag。
S508,云存储服务器为共享记录的参数值value生成哈希值value_hash。
此时,应用1的元数据库如图9C所示,示出3条记录,每条记录包括表示参数名字的key和表示参数值的value,其中,标记有共享关键字share_tag的key1和key2两条记录为共享记录,另外,参数值结构value structure包括参数值app_value和参数值的哈希值value_hash。
S510,云存储服务器向应用1返回登记确认信息。
S512,应用2向云存储服务器请求获取共享列表,应用2在本实施例中是共享数据的使用方,也称第二应用或请求共享应用。
S514,云存储服务器向应用2返回共享列表,包括元数据库名称DB name和共享关键字share_tag,本实施例假设共享列表包括应用1的元数据库名称APP1 DB name。
S516,应用2向云存储服务器发送共享申请,包括应用2的元数据库名称APP2 DBname、应用1的元数据库名称APP1 DB name、共享关键字share_tag等。
S518,云存储服务器转发上述共享申请给应用1。
S520,应用1向云存储服务器返回共享确认。
S522,云存储服务器接收到共享确认后,依据共享申请中的共享关键字share_tag,将共享记录的信息从应用1的元数据库导入到应用2的元数据库中。
其中,导入过程可以包括:将第一应用的共享记录的参数名称添加共享标识后作为第二应用的导入记录的参数名称,共享标识可以灵活设置,例如,可以设置为“share”等,则如果第一应用的共享记录的参数名称为key1,那么第二应用的导入记录的参数名称为share_key1,第二应用的导入记录还包括指向第一应用的元数据库的信息,还可以包括参数值的哈希值value_hash,最后将第二应用的导入记录保存到第二应用的元数据库。此时,应用2的元数据库如图9D所示,示出3条记录,其中key为share_key1,share_key2的两条记录为导入记录,另外,导入记录的参数值结构share value structure包括APP1 DB name和value_hash等。
S524,云存储服务器向应用2返回共享记录。
S526,应用2向云存储服务器发送读取请求,读取请求包括预读取记录的参数名称key1和参数值的哈希值value_hash。
S528,云存储服务器判断读取请求携带的哈希值与第一应用的元数据库中相同记录的哈希值是否一致。
S530,如果判断出一致,云存储服务器向应用2返回无更新确认,应用2从本地保存的共享记录中读取key1对应的参数值value1。
S532,如果判断出不一致,云存储服务器根据第二应用的元数据库中的导入记录share_key1确定第二应用预读取共享记录,从第一应用的元数据库读取参数名称key1相应的参数值value1’。
S534,云存储服务器向应用2返回参数值value1’。
S536,应用2向云存储服务器发送写入请求,写入请求包括预写入记录的参数名称key1、参数值value1’和该参数值的哈希值value_hash。
需要说明,本实施例并不限定读取请求和写入请求的先后顺序,并且应用2可以只执行读取请求或写入请求,也可以读取请求和写入请求都执行。
S538,云存储服务器判断写入请求携带的哈希值与第一应用的元数据库中相同记录的哈希值是否一致。
S540,如果判断出一致,云存储服务器向应用2返回无更新确认,应用2无需写入数据。
S542,如果判断出不一致,云存储服务器根据第二应用的元数据库中的导入记录share_key1确定第二应用预写入共享记录,将参数值value1’写入到第一应用的元数据库中参数名称key1对应的记录。
S544,云存储服务器向应用2返回写入确认。
上述实施例中,通过由对不同应用开放的云存储服务器来创建应用的元数据库,并登记共享记录的共享关键字,从而根据共享关键字为其他应用提供第一应用元数据的共享服务,实现不同应用之间对元数据的共享;另外,通过比对哈希值可以直接对本地保存的其他应用的元数据进行操作,从而实现元数据的快速共享。
图6为本发明元数据共享的方法另一个实施例的信息交互图。如图6所示,该实施例的方法不仅可以实现元数据的共享,还可以实现元数据的快速共享和权限控制,包括:
S602,应用1向云存储服务器请求创建元数据库,应用1在本实施例中是共享数据的提供方,也称第一应用或者共享应用。
S604,云存储服务器根据应用1的请求为应用1创建元数据库,并向应用1返回元数据库信息,如应用1的元数据库名称APP1 DBname、元数据库句柄DB handle等。
S606,应用1向云存储服务器登记共享记录的共享关键字share_tag。
S608,云存储服务器为共享记录的参数值value生成哈希值value_hash。
此时,应用1的元数据库如图9C所示,示出3条记录,每条记录包括表示参数名字的key和表示参数值的value,其中,标记有共享关键字share_tag的key1和key2两条记录为共享记录,另外,参数值结构value structure包括参数值app_value和参数值的哈希值value_hash。
S610,云存储服务器向应用1返回登记确认信息。
S612,应用2向云存储服务器请求获取共享列表,应用2在本实施例中是共享数据的使用方,也称第二应用或请求共享应用。
S614,云存储服务器向应用2返回共享列表,包括元数据库名称DB name和共享关键字share_tag,本实施例假设共享列表包括应用1的元数据库名称APP1 DB name。
S616,应用2向云存储服务器发送共享申请,包括应用2的元数据库名称APP2 DBname、应用1的元数据库名称APP1 DB name、共享关键字share_tag、共享权限等,其中共享权限包括共享读权限、共享写权限等。
S618,云存储服务器转发上述共享申请给应用1。
S620,应用1向云存储服务器返回共享确认。
S622,云存储服务器接收到共享确认后,依据共享申请中的共享关键字share_tag,将共享记录的信息从应用1的元数据库导入到应用2的元数据库中。
其中,导入过程可以包括:将第一应用的共享记录的参数名称添加共享标识后作为第二应用的导入记录的参数名称,共享标识可以灵活设置,例如,可以设置为“share”等,则如果第一应用的共享记录的参数名称为key1,那么第二应用的导入记录的参数名称为share_key1,第二应用的导入记录还包括指向第一应用的元数据库的信息,还可以包括参数值的哈希值value_hash,最后将第二应用的导入记录保存到第二应用的元数据库。此时,应用2的元数据库如图9D所示,示出3条记录,其中key为share_key1,share_key2的两条记录为导入记录,另外,导入记录的参数值结构share value structure包括APP1 DB name和value_hash等。
S624,云存储服务器向应用2返回共享记录。
S626,应用2向云存储服务器发送读取请求,读取请求包括预读取记录的参数名称key1和参数值的哈希值value_hash。
S628,云存储服务器判断应用2是否有共享读权限,如有共享读权限,判断读取请求携带的哈希值与第一应用的元数据库中相同记录的哈希值是否一致。
S630,如果判断出一致,云存储服务器向应用2返回无更新确认,应用2从本地保存的共享记录中读取key1对应的参数值value1。
S632,如果判断出不一致,云存储服务器根据第二应用的元数据库中的导入记录share_key1确定第二应用预读取共享记录,从第一应用的元数据库读取参数名称key1相应的参数值value1’。
S634,云存储服务器向应用2返回参数值value1’。
S636,应用2向云存储服务器发送写入请求,写入请求包括预写入记录的参数名称key1、参数值value1’和该参数值的哈希值value_hash。
需要说明,本实施例并不限定读取请求和写入请求的先后顺序,并且应用2可以只执行读取请求或写入请求,也可以读取请求和写入请求都执行。
S638,云存储服务器判断应用2是否有共享写权限,如果有共享写权限,判断写入请求携带的哈希值与第一应用的元数据库中相同记录的哈希值是否一致。
S640,如果判断出一致,云存储服务器向应用2返回无更新确认,应用2无需写入数据。
S642,如果判断出不一致,云存储服务器根据第二应用的元数据库中的导入记录share_key1确定第二应用预写入共享记录,将参数值value1’写入到第一应用的元数据库中参数名称key1对应的记录。
S644,云存储服务器向应用2返回写入确认。
上述实施例中,通过由对不同应用开放的云存储服务器来创建应用的元数据库,并登记共享记录的共享关键字,从而根据共享关键字为其他应用提供第一应用元数据的共享服务,实现不同应用之间对元数据的共享;并且,还可以提供权限控制;另外,通过比对哈希值可以直接对本地保存的其他应用的元数据进行操作,从而实现元数据的快速共享。
图7为本发明云存储服务器一个实施例的示意图。如图7所示,该实施例的云存储服务器包括:元数据库创建模块702,用于为第一应用创建元数据库,在第一应用的元数据库中登记共享记录的共享关键字;共享服务模块704,用于根据共享关键字为第二应用提供第一应用的元数据的共享服务。
图8为本发明云存储服务器另一个实施例的示意图。如图8所示,该实施例的云存储服务器中的共享服务模块704包括:共享列表提供单元802,用于向第二应用提供共享列表,共享列表包括第一应用的元数据库名称和共享关键字;共享申请单元804,用于接收第二应用根据共享列表发送的共享申请,并将共享申请转发给第一应用,共享申请包括第一应用的元数据库名称、第二应用的元数据库名称、以及共享关键字;导入单元806,用于接收到第一应用发送的共享确认后,依据共享关键字将共享记录的信息从第一应用的元数据库导入到第二应用的元数据库,并向第二应用返回共享记录;操作执行单元808,用于根据第二应用对共享记录的操作请求,对第一应用的元数据库中被请求的共享记录进行相应的操作。
作为本发明云存储服务器的另一实施例,导入单元806用于:将第一应用的共享记录的参数名称添加共享标识后作为第二应用的导入记录的参数名称,第二应用的导入记录的参数值包括第一应用的元数据库名称,将第二应用的导入记录保存到第二应用的元数据库。
作为本发明云存储服务器的另一实施例,操作执行单元808包括:读取子单元808a,用于接收第二应用发送的读取请求,读取请求包括预读取记录的参数名称,根据第二应用的元数据库中的导入记录确定第二应用预读取共享记录,从第一应用的元数据库读取参数名称相应的参数值;或者,写入子单元808b,用于接收第二应用发送的写入请求,写入请求包括预写入记录的参数名称和参数值,根据第二应用的元数据库中的导入记录确定第二应用预写入共享记录,将参数值写入到第一应用的元数据库中参数名称对应的记录。
作为本发明云存储服务器的另一实施例,共享申请还包括共享权限;操作执行单元808,用于根据第二应用对共享记录的操作请求,在确认第二应用有相应的操作权限后,对第一应用的元数据库中被请求的共享记录进行相应的操作。
作为本发明云存储服务器的另一实施例,共享服务模块704还包括:生成单元810,用于云存储服务器为共享记录的参数值生成哈希值;操作执行单元808,用于根据第二应用对共享记录的操作请求,判断操作请求携带的哈希值与第一应用的元数据库中相同记录的哈希值是否一致,如果一致,向第二应用返回无更新确认,使第二应用根据无更新确认对本地保存的共享记录进行相应的操作,如果不一致,对第一应用的元数据库中被请求的共享记录进行相应的操作。
上述实施例中,通过由对不同应用开放的云存储服务器来创建应用的元数据库,并登记共享记录的共享关键字,从而根据共享关键字为其他应用提供第一应用元数据的共享服务,实现不同应用之间对元数据的共享;并且,还可以提供权限控制;另外,通过比对哈希值可以直接对本地保存的其他应用的元数据进行操作,从而实现元数据的快速共享。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种元数据共享的方法,其特征在于,所述方法包括:
云存储服务器为第一应用创建元数据库,在所述第一应用的元数据库中登记共享记录的共享关键字;
所述云存储服务器根据所述共享关键字为第二应用提供所述第一应用的元数据的共享服务,包括:
所述云存储服务器向所述第二应用提供共享列表,所述共享列表包括所述第一应用的元数据库名称和所述共享关键字;
所述云存储服务器接收所述第二应用根据所述共享列表发送的共享申请,并将所述共享申请转发给所述第一应用,所述共享申请包括所述第一应用的元数据库名称、所述第二应用的元数据库名称、以及所述共享关键字;
所述云存储服务器接收到所述第一应用发送的共享确认后,依据所述共享关键字将所述共享记录的信息从所述第一应用的元数据库导入到所述第二应用的元数据库,并向所述第二应用返回所述共享记录;
所述云存储服务器根据所述第二应用对所述共享记录的操作请求,对所述第一应用的元数据库中被请求的共享记录进行相应的操作。
2.根据权利要求1所述的方法,其特征在于,所述云存储服务器依据所述共享关键字将所述共享记录的信息从所述第一应用的元数据库导入到所述第二应用的元数据库包括:
将所述第一应用的共享记录的参数名称添加共享标识后作为所述第二应用的导入记录的参数名称,所述第二应用的导入记录还包括指向所述第一应用的元数据库的信息,将所述第二应用的导入记录保存到所述第二应用的元数据库。
3.根据权利要求1所述的方法,其特征在于,所述云存储服务器根据所述第二应用对所述共享记录的操作请求,对所述第一应用的元数据库中被请求的共享记录进行相应的操作包括:
所述云存储服务器接收所述第二应用发送的读取请求,所述读取请求包括预读取记录的参数名称,根据所述第二应用的元数据库中的导入记录确定所述第二应用预读取共享记录,从所述第一应用的元数据库读取所述参数名称相应的参数值;
或者,
所述云存储服务器接收所述第二应用发送的写入请求,所述写入请求包括预写入记录的参数名称和参数值,根据所述第二应用的元数据库中的导入记录确定所述第二应用预写入共享记录,将所述参数值写入到所述第一应用的元数据库中所述参数名称对应的记录。
4.根据权利要求1所述的方法,其特征在于,所述共享申请还包括共享权限;
所述云存储服务器根据所述第二应用对所述共享记录的操作请求,对所述第一应用的元数据库中被请求的共享记录进行相应的操作包括:
所述云存储服务器根据所述第二应用对所述共享记录的操作请求,在确认所述第二应用有相应的操作权限后,对所述第一应用的元数据库中被请求的共享记录进行相应的操作。
5.根据权利要求1或4所述的方法,其特征在于,所述方法还包括:所述云存储服务器为所述共享记录的参数值生成哈希值;
所述云存储服务器根据所述第二应用对所述共享记录的操作请求,对所述第一应用的元数据库中被请求的共享记录进行相应的操作包括:
所述云存储服务器根据所述第二应用对所述共享记录的操作请求,判断所述操作请求携带的哈希值与所述第一应用的元数据库中相同记录的哈希值是否一致,如果一致,向所述第二应用返回无更新确认,使所述第二应用根据所述无更新确认对本地保存的共享记录进行相应的操作,如果不一致,对所述第一应用的元数据库中被请求的共享记录进行相应的操作。
6.一种云存储服务器,其特征在于,所述云存储服务器包括:
元数据库创建模块,用于为第一应用创建元数据库,在所述第一应用的元数据库中登记共享记录的共享关键字;
共享服务模块,用于根据所述共享关键字为第二应用提供所述第一应用的元数据的共享服务,包括:
共享列表提供单元,用于向所述第二应用提供共享列表,所述共享列表包括所述第一应用的元数据库名称和所述共享关键字;
共享申请单元,用于接收所述第二应用根据所述共享列表发送的共享申请,并将所述共享申请转发给所述第一应用,所述共享申请包括所述第一应用的元数据库名称、所述第二应用的元数据库名称、以及所述共享关键字;
导入单元,用于接收到所述第一应用发送的共享确认后,依据所述共享关键字将所述共享记录的信息从所述第一应用的元数据库导入到所述第二应用的元数据库,并向所述第二应用返回所述共享记录;
操作执行单元,用于根据所述第二应用对所述共享记录的操作请求,对所述第一应用的元数据库中被请求的共享记录进行相应的操作。
7.根据权利要求6所述的云存储服务器,其特征在于,所述导入单元用于:
将所述第一应用的共享记录的参数名称添加共享标识后作为所述第二应用的导入记录的参数名称,所述第二应用的导入记录还包括指向所述第一应用的元数据库的信息,将所述第二应用的导入记录保存到所述第二应用的元数据库。
8.根据权利要求6所述的云存储服务器,其特征在于,所述操作执行单元包括:
读取子单元,用于接收所述第二应用发送的读取请求,所述读取请求包括预读取记录的参数名称,根据所述第二应用的元数据库中的导入记录确定所述第二应用预读取共享记录,从所述第一应用的元数据库读取所述参数名称相应的参数值;
或者,
写入子单元,用于接收所述第二应用发送的写入请求,所述写入请求包括预写入记录的参数名称和参数值,根据所述第二应用的元数据库中的导入记录确定所述第二应用预写入共享记录,将所述参数值写入到所述第一应用的元数据库中所述参数名称对应的记录。
9.根据权利要求6所述的云存储服务器,其特征在于,所述共享申请还包括共享权限;
所述操作执行单元,用于根据所述第二应用对所述共享记录的操作请求,在确认所述第二应用有相应的操作权限后,对所述第一应用的元数据库中被请求的共享记录进行相应的操作。
10.根据权利要求6或9所述的云存储服务器,其特征在于,所述共享服务模块还包括:生成单元,用于所述云存储服务器为所述共享记录的参数值生成哈希值;
所述操作执行单元,用于根据所述第二应用对所述共享记录的操作请求,判断所述操作请求携带的哈希值与所述第一应用的元数据库中相同记录的哈希值是否一致,如果一致,向所述第二应用返回无更新确认,使所述第二应用根据所述无更新确认对本地保存的共享记录进行相应的操作,如果不一致,对所述第一应用的元数据库中被请求的共享记录进行相应的操作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210240357.8A CN103546502B (zh) | 2012-07-11 | 2012-07-11 | 元数据共享的方法和云存储服务器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210240357.8A CN103546502B (zh) | 2012-07-11 | 2012-07-11 | 元数据共享的方法和云存储服务器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103546502A CN103546502A (zh) | 2014-01-29 |
CN103546502B true CN103546502B (zh) | 2017-02-08 |
Family
ID=49969549
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210240357.8A Active CN103546502B (zh) | 2012-07-11 | 2012-07-11 | 元数据共享的方法和云存储服务器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103546502B (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105045536B (zh) * | 2015-07-29 | 2019-09-20 | 百度在线网络技术(北京)有限公司 | 一种数据存储的方法、装置与系统 |
CN107861958B (zh) * | 2016-09-22 | 2021-10-01 | 腾讯科技(深圳)有限公司 | 一种元数据同步方法及装置 |
CN106547856B (zh) * | 2016-10-19 | 2020-03-17 | 天脉聚源(北京)科技有限公司 | 一种应用共享数据的方法及装置 |
CN106960011A (zh) * | 2017-02-28 | 2017-07-18 | 无锡紫光存储系统有限公司 | 分布式文件系统元数据管理系统及方法 |
CN107294990B (zh) * | 2017-07-04 | 2020-06-26 | 中国联合网络通信集团有限公司 | 信息加密方法及装置 |
CN110247894B (zh) * | 2019-05-16 | 2021-06-18 | 中国联合网络通信集团有限公司 | 一种识别伪造handle服务器的方法及装置 |
CN110633435A (zh) * | 2019-08-22 | 2019-12-31 | 四川仁来仁网智能科技有限公司 | 一种基于内容共享的app间的浏览方法 |
CN112732467A (zh) * | 2021-03-30 | 2021-04-30 | 北京浩瀚深度信息技术股份有限公司 | 一种大规模数据共享方法、装置及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101599011A (zh) * | 2008-06-05 | 2009-12-09 | 北京书生国际信息技术有限公司 | 文档处理系统和方法 |
CN101753566A (zh) * | 2009-12-25 | 2010-06-23 | 北京畅游天下网络技术有限公司 | 多应用系统间数据应用方法及系统 |
CN101807816A (zh) * | 2009-07-22 | 2010-08-18 | 北京科东电力控制系统有限责任公司 | 异构环境下电力数据公共访问服务接口的实现方法及系统 |
CN102413172A (zh) * | 2011-10-31 | 2012-04-11 | 北京联创信安科技有限公司 | 一种基于集群技术的并行数据共享装置方法和装置 |
CN102447620A (zh) * | 2011-11-10 | 2012-05-09 | 江苏德意软件科技有限公司 | 一种关联型数据库实时交换管理方法、装置以及系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100337218C (zh) * | 2005-02-23 | 2007-09-12 | 北京邦诺存储科技有限公司 | 网络存储系统中的数据管理方法及其构建的网络存储系统 |
-
2012
- 2012-07-11 CN CN201210240357.8A patent/CN103546502B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101599011A (zh) * | 2008-06-05 | 2009-12-09 | 北京书生国际信息技术有限公司 | 文档处理系统和方法 |
CN101807816A (zh) * | 2009-07-22 | 2010-08-18 | 北京科东电力控制系统有限责任公司 | 异构环境下电力数据公共访问服务接口的实现方法及系统 |
CN101753566A (zh) * | 2009-12-25 | 2010-06-23 | 北京畅游天下网络技术有限公司 | 多应用系统间数据应用方法及系统 |
CN102413172A (zh) * | 2011-10-31 | 2012-04-11 | 北京联创信安科技有限公司 | 一种基于集群技术的并行数据共享装置方法和装置 |
CN102447620A (zh) * | 2011-11-10 | 2012-05-09 | 江苏德意软件科技有限公司 | 一种关联型数据库实时交换管理方法、装置以及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN103546502A (zh) | 2014-01-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103546502B (zh) | 元数据共享的方法和云存储服务器 | |
CN100585595C (zh) | 使用数据库管理系统管理文件系统的数据的方法 | |
CN102917072A (zh) | 用于数据服务器集群之间进行数据迁移的设备、系统及方法 | |
US8996551B2 (en) | Managing geographic region information | |
JP2011520189A5 (zh) | ||
CN103425785A (zh) | 数据存储系统及其用户数据存储、读取方法 | |
CN113112208A (zh) | 一种基于三维可视化模型的电力物资仓储管理方法 | |
CN104011698A (zh) | 基于从相应的主应用程序数据导出的标识符来访问补充数据 | |
CN105336017A (zh) | 一种基于Storm技术的行车记录信息处理方法及系统 | |
CN104281717A (zh) | 一种建立海量id映射关系的方法 | |
CN110209351B (zh) | 分布式存储数据处理方法和装置 | |
CN105260266B (zh) | 一种快照卷写方法及依赖快照系统 | |
CN113064895B (zh) | 一种图谱的增量更新方法、装置及系统 | |
CN105653539A (zh) | 索引分布式存储的实现方法和装置 | |
CN109271097B (zh) | 数据处理方法、数据处理装置和服务器 | |
CN102203793A (zh) | 动态内容跟踪的存储器件和方法 | |
CN111639087B (zh) | 数据库中数据更新方法、装置和电子设备 | |
CN111831744B (zh) | Dapp的链上数据检索系统、方法及介质 | |
CN103218283B (zh) | 电子设备、记录介质管理方法及程序 | |
KR20120082176A (ko) | 데이터베이스 관리 시스템의 데이터 처리 방법 및 시스템 | |
CN105279181A (zh) | 一种房屋电子地图快速更新方法和系统 | |
US9535796B2 (en) | Method, apparatus and computer for data operation | |
CN111427863A (zh) | 一种基于领域模型的数据迁移方法、装置及设备 | |
CN113282325B (zh) | 升级文件系统的方法及装置、存储介质、计算设备 | |
US20170364496A1 (en) | Visualization interface for information object system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
EE01 | Entry into force of recordation of patent licensing contract |
Application publication date: 20140129 Assignee: Tianyiyun Technology Co.,Ltd. Assignor: CHINA TELECOM Corp.,Ltd. Contract record no.: X2024110000020 Denomination of invention: Methods of metadata sharing and cloud storage servers Granted publication date: 20170208 License type: Common License Record date: 20240315 |
|
EE01 | Entry into force of recordation of patent licensing contract |