1.一种数据库部署方法,其特征在于,包括:
将多个分布式数据库节点组成数据阵列,每个数据阵列设置主控数据库节点,统一管理数据阵列中的记录信息;
当某个数据库节点的记录信息发生更新时,仅将更新的信息发送给主控节点,再由主控节点将该信息广播给数据阵列中其他数据库节点。
2.根据权利要求1所述的方法,其特征在于,所述主控节点具有有效期,采用时间片轮转机制通过优化策略选择产生下一个主控节点;
除主控节点外,每个分布式数据阵列还选出备用主控节点,时刻监督主控节点的状态,当主控节点出现意外不能正常工作时,其将取代主控节点,当某个分布式数据库节点上的记录信息发生改变时,只将该修改信息发送给主控节点,由主控节点将该修改信息同步到数据阵列中其它分布式数据库节点上,并将更新结果同样发送到其他数据阵列的主控节点上,其他数据阵列的主控节点将会更新其所属数据阵列的分布式数据库节点,最后使整个分布式数据存储系统都得到更新。
3.根据权利要求2所述的方法,其特征在于,还包括:
给每个分布式数据库节点设定一个权值Wi,当超过有效期时,进行下一轮的选择,选择Wi的最高的前两个数据库作为新的主控节点和备用主控节点,其中权值Wi计算如下:
其中Ai表示第i个节点所在设备的网络带宽容量与响应时间的乘积;
Ui表示第i个节点所在设备的处理器平均响应时间;
Mi表示第i个节点所在设备的剩余存储器空间,n为数据阵列下的数据库节点总数。
4.根据权利要求3所述的方法,其特征在于,所述每个分布式数据库节点上都维护自身的数据服务,分布式数据库节点通过采用分布式互动控制策略、消息通信协议、负载均衡策略来工作;当有用户终端请求到达时,根据预定策略指定特定的分布式数据库节点来处理该请求,通过查找元数据检索表后找到所请求的记录所对应的内部节点地址,从而使用户终端请求直接定位到所要读写的数据所在的分布式数据库节点上,再进行相应操作或读写。
5.根据权利要求4所述的方法,其特征在于,所述分布式数据库节点采用以下副本拷贝方法,首先对数据库节点状态进行估计,然后将数据库节点映射到基于散列构造的圆形列表,将副本映射到圆形列表;根据预设策略存储到某一数据库节点上,完成副本部署拷贝;
在构造的圆形列表中,每个数据库节点i具有权值Vi。
Vi=ζLi+(1-ζ)Dij,(1<i<n,n为数据阵列中的节点数)
Li=(Ai-Amin)/(Amax-Amin)
Dij=(dij-Dmin)/(Dmax-Dmin)
Ai表示第i个节点所在设备的网络带宽容量与响应时间的乘积,Amax与Amin分别为Ai的最大值和最小值;
dij表示第i个节点到第j个节点的网络距离,Dmax与Dmin分别为dij的最大值和最小值;
ζ是调节因子,用于调节节点负载Li和节点间距离参数Dij在权值估计中的比重;
通过散列运算,得到每个数据库节点产生的散列节点在圆形列表中的映射值,其映射值的集合用HG表示;每个数据库节点i产生的散列节点集合为HGi,包含的散列节点个数为v1*gwi/gwmin;
其中gwmin为节点权值集合中最小的权值,v1为有最小权值的节点产生的散列节点个数,并且每个节点占有的权值为:
节点映射到圆形列表之后,接着将数据副本映射到圆形列表,通过对数据副本r进行SHA1散列运算,得到在散列表对应的key值,输出用p表示;
在圆形列表从p开始顺时针方向映射到散列节点集合中,找到距离p最近的数据库节点;将数据存储在找到的节点中。