【技术实现步骤摘要】
机票查询中的缓存存活时间设置与协同更新方法和系统
[0001]本专利技术涉及机票查询与网络服务缓存
,具体地,涉及一种机票查询中的缓存存活时间设置与协同更新方法和系统。
技术介绍
[0002]在线旅行社(OTA)作为航空公司的售票中间商,需要通过机票查询引擎来为航空公司提供机票销售渠道,同时也为客户提供机票搜索接口。在机票查询引擎中,为了快速响应用户的查询请求,通常需要设置查询缓存,用来保存航空公司的机票报价和舱位信息。由于机票价格和舱位会发生变化,因此放在缓存中的报价和舱位信息都需要设置一个生存时间值TTL从而能够更新缓存中的信息。与通常的网页文件不同,机票报价和舱位缓存变化的频率更高,因此它们的TTL相对会比较小。由于机票查询的准确性会直接关系到航空公司的收益,因此越准确的TTL越有益。
[0003]通常机票查询引擎对每个缓存项TTL的设置都是固定的,比如对于所有的缓存项TTL都设置为5分钟。这种方式灵活性较差,对于变化频率较高的缓存项,这种TTL设置会偏大,导致验价地准确性降低,而对于变化频率较低地缓存项 ...
【技术保护点】
【技术特征摘要】
1.一种机票查询中的缓存存活时间设置与协同更新方法,其特征在于,包括:步骤1:收集机票缓存键值的访问序列、对应内容序列和验价序列数据并建立数据集,使用该数据集训练机器学习模型,用来对缓存项的TTL进行初始估计;步骤2:基于访问序列、内容序列和验价序列训练强化学习模型,对已有的TTL和相关联的键值的TTL进行更新;步骤3:使用时根据缓存项的键值和对应内容使用机器学习模型设置TTL,当缓存项中的机票被验价时,使用强化学习模型对被验价的机票所在的键值的TTL进行更新,同时更新与该键值相关联的其他键值的TTL。2.根据权利要求1所述的机票查询中的缓存存活时间设置与协同更新方法,其特征在于,所述步骤1包括:数据收集与处理,收集预设时间内的所有机票查询记录和验价记录;对每条查询记录,寻找在未来24小时内是否有键值相同的验价记录,如果有,则标记为1,否则标记为0,以此构造出分类样本:每个样本的特征包含起飞日期、查询时间、乘客类型、舱等、出发地和目的地。3.根据权利要求2所述的机票查询中的缓存存活时间设置与协同更新方法,其特征在于,使用CART分类树算法,每次计算出gini指数最小的特征,按照该特征将样本集进行划分,直到无法再分或者gini指数小于阈值;当缓存键值的内容需要设置初始TTL时,先由缓存键值和当前时间构建出样本,然后将样本输入到预训练的决策树模型中,得到0或1。4.根据权利要求3所述的机票查询中的缓存存活时间设置与协同更新方法,其特征在于,在得到决策树模型的输出之后,按照预设规则对初始TTL进行设置:如果模型预测未来24小时不验价,则TTL设置为预设大数值;如果预测结果为验价,则结合起飞日期与查询日期的差,以及当前查询时间机票价格变化幅度进行设置,如果起飞日期与查询日期差距小于预设阈值,则TTL设置为预设小数值,如果当前查询时间的价格变化幅度高于预设阈值,则TTL设置也为预设小数值。5.根据权利要求1所述的机票查询中的缓存存活时间设置与协同更新方法,其特征在于,所述步骤2包括:当每次验价发生时,得到被验价的缓存键值K、验价时间t以及验价的结果r,同时得到与该键值相关联的其他键值(K1,K2,
…
,K
n
),对每个K
i
,由(K,K
i
,r,t)构造出一个向量s
i
,得到一个状态集(s1,s2,
…
,s
n
),将状态集输入给智能体,智能体输出对状态集中每个状态的TTL调整值(Δ1,Δ2,
…
,Δ
n
),之后将缓存中K
i
的TTL相应地调整Δ
i
,n为其他键值的总个数,i为序列号。6.根据权利要求1所述的机票查询中的缓存存活时间设置与协同更新方法,其特征在于,所述步骤3包括:使用起飞日期与查询日期之间的差值来对键值进行分组,同一组的键值相互关联,同一组的键值使用相同的Agent技术来决定TTL的调整值。7.根据权利要求1所述的机票查询中的缓存存活时间设置与协同更新方法,其特征在于,通过仿真实验利用已有的用户查询数据进行评估,或通过在实际场景中与用户交互进行评估,当利用基本的机器学习模型或强化学习模型来设置或调整每个键值的TTL时,对于
用户的每次查询,从缓存中返回结果或在数据库里返回结果,从缓存中返回结果的查询所占的比例为命中率;用户在拿到查询结果之后从查询到的机票列表里选择一张发送给后台的数据库进行验价,验价成功的次数所占的比例为验价成功率;对于机器学习模型,使用准确率来对模型性能进行衡量;评估加入强化...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。