[发明专利]在key-value数据库中进行数据分区的方法和装置有效
申请号: | 201210212320.4 | 申请日: | 2012-06-21 |
公开(公告)号: | CN102799628A | 公开(公告)日: | 2012-11-28 |
发明(设计)人: | 张海洋;朱天浩 | 申请(专利权)人: | 新浪网技术(中国)有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 北京市京大律师事务所 11321 | 代理人: | 黄启行;方晓明 |
地址: | 100080 北京市海淀*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | key value 数据库 进行 数据 分区 方法 装置 | ||
1.一种在键-值key-value数据库中进行数据分区的方法,包括:
从预先保存的分区信息基础表中解析出分区数目信息和分区算法信息;
调用分区回调函数,并将输入参数传送给所述分区回调函数;其中,所述输入参数包括所述分区数目信息和分区算法信息,以及计算值,所述计算值为与待分区的key-value数据相关的值;
所述分区回调函数根据所述分区算法信息运行相应分区算法,该相应分区算法根据所述分区数目信息和计算值进行运算,得到输出参数;所述输出参数中包含所述待分区的key-value数据所被分区的子数据库的信息。
2.如权利要求1所述的方法,其特征在于,所述待分区的key-value数据具体为待存储的key-value数据;以及,
在所述得到输出参数之后,还包括:
根据所述输出参数将所述待存储的key-value数据存储到相应的子数据库中。
3.如权利要求1所述的方法,其特征在于,所述待分区的key-value数据具体为待查询的key-value数据;以及,
在所述得到输出参数之后,还包括:
根据所述计算值在所述输出参数所指示的子数据库中查找所述key-value数据。
4.如权利要求1-3任一所述的方法,其特征在于,在从预先保存的分区信息基础表中解析出分区数目信息和分区算法信息时,还包括:
从所述分区信息基础表中解析出垂直分区信息、水平分区信息;以及,
在所述分区回调函数根据所述分区算法信息运行相应分区算法时,还包括:
该相应分区算法还根据所述垂直分区信息、水平分区信息进行运算。
5.如权利要求4所述的方法,其特征在于,所述子数据库的信息包括:子数据库的名称,以及子数据库所在服务器的信息;其中,所述子数据库的名称中包含有水平分区值信息和垂直分区值信息。
6.如权利要求5所述的方法,其特征在于,所述分区算法信息具体是键key算法、哈希hash算法、范围range算法、列表list算法,或自定义的算法;以及
所述分区数目信息具体指示出分区总数为固定值,或指示出分区总数不固定;以及
所述key-value数据库具体为伯克利Berkeley数据库。
7.一种在键-值key-value数据库中进行数据分区的装置,包括:
分区功能模块,用于从分区信息基础表中解析出分区数目信息和分区算法信息;将所述分区数目信息和分区算法信息,以及计算值作为输入参数进行传送;所述计算值为与待分区的key-value数据相关的值;
分区回调函数模块,用于根据所述分区功能模块传送的输入参数中的分区算法信息调用相应的分区算法单元,调用的分区算法单元根据所述分区数目信息和计算值进行运算,得到输出参数;所述输出参数中包含所述待分区的key-value数据所被分区的子数据库的信息。
8.如权利要求7所述的装置,其特征在于,还包括:
数据存储模块,用于将待存储的key-value数据作为所述待分区的key-value数据,并将与待存储的key-value数据相关的值作为计算值传送给所述分区功能模块;以及
所述数据存储模块还用于根据所述分区回调函数模块的输出参数将所述待存储的key-value数据存储到相应的子数据库中。
9.如权利要求7所述的装置,其特征在于,还包括:
数据查询模块,用于将待查询的key-value数据相关的值作为计算值传送给所述分区功能模块;以及
所述数据查询模块还用于根据所述计算值在所述分区回调函数模块的输出参数所指示的子数据库中查找到所述key-value数据。
10.如权利要求7-9任一所述的装置,其特征在于,
所述分区功能模块还用于从分区信息基础表中还解析出垂直分区信息、水平分区信息;以及,
所述装置,还包括:
分区信息基础表维护模块,用于接收用户输入的分区数目信息、分区算法信息、垂直分区信息、水平分区信息;并根据输入的分区数目信息、分区算法信息、垂直分区信息、水平分区信息生成所述分区信息基础表并进行保存。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于新浪网技术(中国)有限公司,未经新浪网技术(中国)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210212320.4/1.html,转载请声明来源钻瓜专利网。