一种改进数据库的定位方法及系统技术方案

技术编号:18497185 阅读:30 留言:0更新日期:2018-07-21 20:13
一种改进数据库的定位方法及系统,包括:基于哈希函数计算待查询数据的哈希值;在哈希环形地址空间上根据所述待查数据的哈希值与预先设定的数据库的哈希值进行匹配,获得所述待查询数据对应的数据库的哈希值;解析所述数据库的哈希值得到所述待查询数据对应的数据库。本发明专利技术能够实现对多类型的关键字进行解析和定位,而且提升了查找速度,数据存储规模也由单机扩展为多机,理论上只要集群中的机器够多,可以实现数据内存上无限扩容。

A method and system for improving the location of the database

A method and system for improving the location of a database, including the hash value of the data to be queried based on a hash function, and matching the hash value of the predefined database on the hash address space according to the hash value of the pre-set database, and to obtain the hash value of the corresponding database according to the number of the data to be queried; The hash of the database is worth the database corresponding to the data to be queried. The invention can realize the analysis and location of multiple types of keywords, and improve the search speed. The size of data storage is also extended from single machine to multi machine. In theory, as long as the machine in the cluster is enough, it can realize the unlimited expansion of the data memory.

【技术实现步骤摘要】
一种改进数据库的定位方法及系统
本专利技术涉及电力调度系统,具体涉及一种改进数据库的定位方法及系统。
技术介绍
在现有电力调度
中,要实现实时数据的定位与访问,首先,需要对整型关键字基于预先定义的规则进行解析;然后,按照现有配置对应的IP地址来定位到数据存储的实时库节点;最后,调用实时库的远程网络接口进行访问,现有的设计只支持8个字节的长整型关键字进行解析与定位,不利于新业务需求的扩展。现有电力调度系统中的实时数据依托于数据库,数据库采用长整型为关键字,并用关键字来实现数据库资源定位和数据的增删改查,关键字类型单一不利于数据库功能的扩展;同时限制于单机内存的大小和数据内容加载规模的大小,总体上降低了数据访问的性能。
技术实现思路
为了解决现有技术中所存在的上述不足,本专利技术提供一种改进数据库的定位方法及系统。本专利技术提供的技术方案是:一种改进数据库的定位方法,包括:基于哈希函数计算待查询数据的哈希值;在哈希环形地址空间上根据所述待查数据的哈希值与预先设定的数据库的哈希值进行匹配,获得所述待查询数据对应的数据库的哈希值;解析所述数据库的哈希值得到所述待查询数据对应的数据库。优选的,所述预先设定的数据库的构建,包括:基于哈希函数计算每个数据库对应的哈希值和每个数据对应的哈希值;按照数据库对应的哈希值将所述数据库映射到所述哈希环形地址空间上;根据数据库的哈希值计算每个数据库在所述哈希环形地址空间上的储存范围;将每个数据对应的哈希值映射在所述哈希环形地址空间上;根据数据库的储存范围将数据储存于所述数据的哈希值对应的数据库中。优选的,所述根据数据库的哈希值计算每个数据库在所述哈希环形地址空间上的储存范围,包括:基于数据库对应的哈希值排序;在所述哈希环形地址空间的顺时针方向,如果所述数据库为第一个数据库,则数据库对应的范围包括:所述数据库对应的哈希值之前的范围和最后一个数据对应的哈希值之后的范围;否则数据库对应的范围包括:所述数据库对应的哈希值和所述数据库前一个数据库对应的哈希值之间的范围。优选的,所述按照数据库对应的哈希值将所述数据库映射到所述哈希环形地址空间上,包括:所述将所述数据库的端口号或所述数据库所在的机器的IP地址或唯一的别名通过哈希算法映射到所述哈希环形地址空间上。优选的,所述哈希环形地址空间为数字头尾相连的形成的一个闭合环形的数字空间。优选的,所述数据库采用D5000实时库。基于同一专利技术构思,本专利技术还提供了一种改进数据库的定位系统,包括:计算模块:用于基于哈希函数计算待查询数据的哈希值;查询数据库模块:用于在哈希环形地址空间上根据所述待查数据的哈希值与预先设定的数据库的哈希值进行匹配,获得所述待查询数据对应的数据库的哈希值;解析模块:用于解析所述数据库的哈希值得到所述待查询数据对应的数据库。优选的,所述查询数据库模块,包括:计算哈希值子模块:用于基于哈希函数计算每个数据库对应的哈希值和每个数据对应的哈希值;映射数据库子模块:用于按照数据库对应的哈希值将所述数据库映射到所述哈希环形地址空间上;划分存储范围子模块:用于根据数据库的哈希值计算每个数据库在所述哈希环形地址空间上的储存范围;映射数据子模块:用于将每个数据对应的哈希值映射在所述哈希环形地址空间上;存储子模块:用于根据数据库的储存范围将数据储存于所述数据的哈希值对应的数据库中。优选的,所述划分存储范围子模块,包括:排序单元:用于基于数据库对应的哈希值排序;数据库存储范围单元:用于在所述哈希环形地址空间的顺时针方向,如果所述数据库为第一个数据库,则数据库对应的范围包括:所述数据库对应的哈希值之前的范围和最后一个数据对应的哈希值之后的范围;否则数据库对应的范围包括:所述数据库对应的哈希值和所述数据库前一个数据库对应的哈希值之间的范围。优选的,所述映射数据库子模块,包括:映射数据库单元:用于将所述数据库的端口号或所述数据库所在的机器的IP地址或唯一的别名通过哈希算法映射到所述哈希环形地址空间上。与最接近的现有技术相比,本专利技术提供的技术方案具有以下有益效果:本专利技术提供的技术方案,根据计算得到待查询数据的哈希值,根据待查数据的哈希值和预先设定的数据库的存储范围查找预先存储所述待查询数据对应的数据库;然后,调用远程网络接口访问存储所述哈希值的数据库,能够实现对多类型的关键字进行解析和定位,而且提升了查找速度,数据存储规模也由单机扩展为多机,理论上只要集群中的机器够多,可以实现数据内存上无限扩容。本专利技术提供的技术方案,实现多机数据内存的共享,加快了数据的访问效率,同时扩大了内存的存储规模,实现了数据的快速访问。本专利技术提供的技术方案,提高了通过关键字查找数据库资源定位的速率,使数据库中的数据进行增删改查更加方便了。附图说明图1为本专利技术改进数据库的定位方法流程图;图2为本专利技术的环形地址空间示意图;图3为本实施例中D5000实时库对环形地址空间的划分示意图;图4为本实施例中待查询数据通过哈希值寻址的示意图。具体实施方式为了更好地理解本专利技术,下面结合说明书附图和实例对本专利技术的内容做进一步的说明。图1为改进数据库的定位方法的流程图,如图1所示,定位流程如下:基于哈希函数计算待查询数据的哈希值;在哈希环形地址空间上根据所述待查数据的哈希值与预先设定的数据库的哈希值进行匹配,获得所述待查询数据对应的数据库的哈希值;解析所述数据库的哈希值得到所述待查询数据对应的数据库。本实施例中,提供了利用哈希算法改进数据库的具体定位方法,包括以下步骤:首先,划分环形哈希地址空间。按照常用的hash算法来将对应的关键字哈希到一个具有2^32次方个桶的空间中,即0~(2^32)-1的数字空间中。如图2所示,本实施例中可以将这些数字头尾相连,形成一个闭合的环形。其次,将数据库通过哈希映射到环形地址空间上。计算每个数据库对应的哈希值;按照哈希值将所述数据库映射到所述哈希环形地址空间上;根据数据库的哈希值计算每个数据库在所述哈希环形地址空间上的储存范围。本实施例中以D5000实时库为例,每个D5000实时库对应一台机器,将D5000实时库通过Hash算法映射到环形地址空间上,设定实时数据库有N个,其中N>1,N为正整数。本实施例中还可以采用一致性哈希算法的分布式集群中将新的机器加入,一般情况下,将D5000实时库的端口号或所述D5000实时库所在的机器的IP或者机器唯一的别名作为输入值得到哈希值,这些哈希值将环形哈希地址空间划分为多个存储范围;基于数据库对应的哈希值排序,在所述哈希环形地址空间的顺时针方向,如果所述数据库为第一个数据库,则数据库对应的范围包括:所述数据库对应的哈希值之前的范围和最后一个数据对应的哈希值之后的范围;否则数据库对应的范围包括:所述数据库对应的哈希值和所述数据库前一个数据库对应的哈希值之间的范围。在本实施例中,基于环形地址空间的顺时针方向,第1个D5000实时库对应的存储范围为:环形地址空间上顺时针最后一个D5000实时库对应的哈希值和所述第1个D5000实时库对应的哈希值之间的哈希值;第i个D5000实时库对应的存储范围为:所述第i个D5000实时库对应的哈希值和第i-1个D5000实时库对应的哈希值之间的哈希值,其中i∈N,且i>1本文档来自技高网...

【技术保护点】
1.一种改进数据库的定位方法,其特征在于,包括:基于哈希函数计算待查询数据的哈希值;在哈希环形地址空间上根据所述待查数据的哈希值与预先设定的数据库的哈希值进行匹配,获得所述待查询数据对应的数据库的哈希值;解析所述数据库的哈希值得到所述待查询数据对应的数据库。

【技术特征摘要】
1.一种改进数据库的定位方法,其特征在于,包括:基于哈希函数计算待查询数据的哈希值;在哈希环形地址空间上根据所述待查数据的哈希值与预先设定的数据库的哈希值进行匹配,获得所述待查询数据对应的数据库的哈希值;解析所述数据库的哈希值得到所述待查询数据对应的数据库。2.如权利要求1所述的改进数据库的定位方法,其特征在于,所述预先设定的数据库的构建,包括:基于哈希函数计算每个数据库对应的哈希值和每个数据对应的哈希值;按照数据库对应的哈希值将所述数据库映射到所述哈希环形地址空间上;根据数据库的哈希值计算每个数据库在所述哈希环形地址空间上的储存范围;将每个数据对应的哈希值映射在所述哈希环形地址空间上;根据数据库的储存范围将数据储存于所述数据的哈希值对应的数据库中。3.如权利要求2所述的改进数据库的定位方法,其特征在于,所述根据数据库的哈希值计算每个数据库在所述哈希环形地址空间上的储存范围,包括:基于数据库对应的哈希值排序;在所述哈希环形地址空间的顺时针方向,如果所述数据库为第一个数据库,则数据库对应的范围包括:所述数据库对应的哈希值之前的范围和最后一个数据对应的哈希值之后的范围;否则数据库对应的范围包括:所述数据库对应的哈希值和所述数据库前一个数据库对应的哈希值之间的范围。4.如权利要求2所述的改进数据库的定位方法,其特征在于,所述按照数据库对应的哈希值将所述数据库映射到所述哈希环形地址空间上,包括:所述将所述数据库的端口号或所述数据库所在的机器的IP地址或唯一的别名通过哈希算法映射到所述哈希环形地址空间上。5.如权利要求1所述的改进数据库的定位方法,其特征在于,所述哈希环形地址空间为数字头尾相连的形成的一个闭合环形的数字空间。6.如权利要求1所述的利用哈希算法改进数据...

【专利技术属性】
技术研发人员:徐攀庄卫金孙名扬余璟赵家庆黄龙达于芳王艳吕洋吴海伟潘加佳吴博文赵奇
申请(专利权)人:中国电力科学研究院有限公司国家电网公司国网江苏省电力有限公司国网江苏省电力公司苏州供电公司
类型:发明
国别省市:江苏,32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1