一种面向演化图高效历史查询的自适应快照调整方法转让专利
申请号 : CN201911282339.4
文献号 : CN111078629B
文献日 : 2023-02-07
发明人 : 罗香玉 , 罗晓霞 , 王佳 , 李嘉楠 , 辛刚
申请人 : 西安科技大学
摘要 :
权利要求 :
1.一种面向演化图高效历史查询的自适应快照调整方法,其特征在于,包括以下步骤:步骤S1:初始化快照调整周期;
步骤S2:追踪并记录一个周期内所发生历史查询的相关信息;
步骤S3:根据上述信息,评价一个周期内历史查询的性能;
步骤S4:结合性能评价,确定进行快照调整的类型;
步骤S5:完成快照移动类型的调整;
步骤S6:完成快照新建类型的调整;
步骤S7:完成快照删除类型的调整;
步骤S8:更新快照调整周期,回到S2。
2.根据权利要求1所述的面向演化图高效历史查询的自适应快照调整方法,其特征在于,所述步骤S1中由用户给定快照调整周期T的一个初始值。
3.根据权利要求2所述的面向演化图高效历史查询的自适应快照调整方法,其特征在于,根据快照调整周期T,所述步骤S2追踪并记录一个周期内历史查询的相关信息,包括各个查询Qi所针对的历史时刻ti、完成该查询所使用的快照S(ti)、完成该查询所引发的图操作数ni。
4.根据权利要求3所述的面向演化图高效历史查询的自适应快照调整方法,其特征在于,所述步骤S3利用所述步骤S2中记录的信息:查询所针对的历史时刻ti、完成该查询所引发的图操作数ni,用一个周期内操作数的平均值和方差来评价历史查询的性能,具体步骤如下:步骤S31:根据查询所针对的历史时刻ti,计算上述周期内历史查询的总数numq;
步骤S32:将每个历史查询所发生的图操作数相加,记为numops;
步骤S33:计算各历史查询所发生图操作数平均值navg=numops/numq;
步骤S34:计算各历史查询所发生图操作数方差
5.根据权利要求4所述的面向演化图高效历史查询的自适应快照调整方法,其特征在2
于,所述步骤S4按照所述步骤S3中的性能评价指标平均值navg和方差S,确定是否进行快照移动、快照新建或快照删除;定义布尔值move、add、delete分别代表是否进行快照移动、快照新建或快照删除,调整策略如下:用户给定阈值A、B;
2
1)当navg>A&&S
2
2
3)当navg>A&&S >B时,先进行快照移动,再进行快照新建,move=true、add=true、delete=flase;
2
6.根据权利要求5所述的面向演化图高效历史查询的自适应快照调整方法,其特征在于,所述步骤S5由所述步骤S2和步骤S4确定是否进行快照移动,判断S4中move的值,当move=true时,进行快照移动,移动方法如下:用户给定一个阈值C;
步骤S51:计算周期内,每个快照上发生的历史查询的个数Si(Qi);
步骤S52:计算每个快照上完成这些历史查询所引发的最小操作数,记为min(ni);
步骤S53:计算周期内每个快照的Xmove值,Xmove=Si(Qi)*min(ni);
步骤S54:当Xmove>C时,需要把该快照向右移动min(ni)个长度;
步骤S55:重复步骤S51‑S54,对周期内每一个快照进行计算;
步骤S56:计算满足条件Xmove>C的快照个数nummove,nummove就是需要移动的快照个数。
7.根据权利要求6所述的面向演化图高效历史查询的自适应快照调整方法,其特征在于,所述步骤S6由所述步骤S2和步骤S4确定是否需要新建快照,判断S4中add值,当add=true时,新建快照,方法如下:用户给定阈值D;
步骤S61:计算一个快照上完成历史查询所引发的最大操作数max(ni);
步骤S62:计算该快照上完成历史查询所引发的最小操作数min(ni);
步骤S63:计算最大操作数与最小操作数的差值Dadd=max(ni)‑min(ni);
步骤S64:比较Dadd和D
若Dadd
步骤S65:计算发生在该快照和其后续相邻快照之间的图更新操作数numops,对介于1和numops之间的任意整数i,计算所引发图操作数大于等于i的历史查询的个数numi;
步骤S66:找出使得i*numi取值最大的i值,计为I;
步骤S67:以该快照为基础,执行I个图更新操作,并将获得的图状态作为新建快照;
步骤S68:重复步骤S61‑S67,直到每一个快照计算完毕;
统计新建的快照个数numadd。
8.根据权利要求7所述的面向演化图高效历史查询的自适应快照调整方法,其特征在于,所述步骤S7由所述步骤S2和步骤S4确定是否需要删除快照,判断S4中delete值,当delete=true时,删除快照,方法如下:用户给定阈值E、F、G;
步骤S71:计算一个快照上发生的查询个数Si(Qi);
步骤S72:计算该快照上完成历史查询所引发的最大操作数max(ni);
步骤S73:由log日志得出该快照到前一个快照之间的操作数On;
步骤S74:用该快照的Si(Qi),max(ni),On与E,F,G进行比较,若Si(Qi)
步骤S75:重复步骤S71‑S74,直到每一个快照计算完毕;
统计被删除快照的个数numdel。
9.根据权利要求8所述的面向演化图高效历史查询的自适应快照调整方法,其特征在于,所述步骤S8根据所述步骤S2、S5、S6、S7,计算更新快照调整周期T,计算过程如下:用户定义阈值H、I;
步骤S81:由S2中的S(ti)计算出该周期内快照总数ntotal;
步骤S82:计算发生变化的快照数Stotal=nummove+numadd+numdel;
步骤S83:比较Stotal和ntotal①Stotal
②Stotal>ntotal*I,则T=T*1/2;
③ntotal*H<=Stotal<=ntotal*I,则T=T;
步骤S84:得到新的快照调整周期T。