利索能及
我要发布
收藏
专利号: 2017106310768
申请人: 中南大学
专利类型:发明专利
专利状态:已下证
更新日期:2025-12-01
缴费截止日期: 暂无
联系人

摘要:

权利要求书:

1.一种基于预测的键值存储数据库副本选择方法,其特征在于,包括依次执行的等待队列长度变化趋势判断、预测等待队列长度和副本排序三个步骤;

其中等待队列长度趋势判断包含以下三个步骤:

步骤一:通过键值访问操作的返回值携带的方式将包括等待队列长度变化量在内的信息反馈给客户端,客户端收到反馈信息时,执行步骤二;

步骤二:根据反馈信息判断当前副本服务器的等待队列长度的变化趋势;

步骤三:如果等待队列长度变化趋势未改变,存储当前反馈信息及其时间戳,如果等待队列长度变化趋势发生变化,存储当前反馈信息及其时间戳,同时删除上一个等待队列长度变化趋势内所有存储的反馈信息;

预测服务器等待队列长度分为以下三个步骤:

步骤1:判断步骤三中新存储的反馈信息的时效性的强弱,如果是强时效性执行步骤2,如果是弱时效性执行步骤3;

步骤2:取这个强时效性的反馈信息中的等待队列长度,与之前所有收到的反馈信息中等待队列长度进行指数加权平滑的历史记录结果再进行指数加权平滑,以作为服务器端的等待队列长度估计,并将结果存储为新的指数加权平滑的历史记录结果,然后执行副本排序操作;

步骤3:根据步骤二的等待队列长度变化趋势以及步骤三存储的信息,对服务器端的等待队列长度进行预测,执行副本排序操作;

副本排序操作:根据步骤2或步骤3算出的估计等待队列长度对服务器副本进行性能评估,最后选取性能评估结果最好的副本服务器。

2.根据权利要求1所述的方法,其特征在于,步骤一中,反馈信息包括每5ms内的等待队列长度的变化量Δqs,等待队列长度 以及当前键值访问的服务时间μs。

3.根据权利要求1所述的方法,其特征在于,步骤二中,根据等待队列长度的变化量Δqs和等待队列长度 将等待队列长度的变化趋势分为三种状态,平稳、上升和下降;初始状态设置为平稳状态,三种状态之间转换的判断条件如下:任何情况下如果 则判断为平稳状态;从平稳状态转换为上升状态需满足Δqs>0与 同时从平稳状态转换为下降状态需满足Δqs<0与 同时

从上升状态转换为下降状态需满足Δqs<0或 同时

从下降状态转换为上升状态需满足Δqs>0或 同时

其中 表示上一个反馈回来的Δqs。

4.根据权利要求1所述的方法,其特征在于,步骤三中,如果等待队列长度变化趋势发生变化,则通过以下步骤来判断上一个反馈信息是否保留:使用上一个反馈信息中的等待队列长度减去新的反馈信息中等待队列长度,如果结果为正,且当前等待队列长度变化趋势为下降,该反馈信息需要保留;如果结果为负,且当前等待队列长度变化趋势为上升,该反馈信息也需要保留,否则不保留。

5.根据权利要求1所述的方法,其特征在于,步骤1中,判断反馈信息时效性的强弱是用反馈信息的时间戳与当前时间比对,阈值设定为100ms,如果小于等于100ms,反馈信息具有强时效性,如果大于100ms,反馈信息具有弱时效性。

6.根据权利要求1所述的方法,其特征在于,步骤3中,如等待队列长度变化趋势为上升或下降状态,预测所使用的方法为最小二乘拟合方法,根据当前存储的反馈等待队列长度及其时间戳,拟合出一个等待队列长度对时间的线性函数,代入当前时间,计算结果即为预测的等待队列长度;

如等待队列长度变化趋势为平稳状态,使用指数加权平滑算法预测等待队列长度 计算公式如下:其中 为步骤三在目前所存储的同一等待队列长度变化趋势中,使用指数加权平滑算法进行预测等待队列长度的历史记录。

7.根据权利要求1所述的方法,其特征在于,副本排序操作中,对副本进行排序的操作分为以下步骤:将步骤2或3算出的等待队列长度值代入打分函数,按照得分从小到大的顺序对副本进行排序,选取分数最低的副本服务器,打分函数如下所示:其中,Rs为客户端收集的响应时间, 为反馈信息的服务时间的EWMA值,n为客户端数目,OSK为该客户端对应服务器s的已发送但未响应的键值存取请求数,为步骤三在目前所存储的同一等待队列长度变化趋势中,使用指数加权平滑算法进行预测等待队列长度的历史记录。