CN112699153A - 机票查询中的缓存存活时间设置与协同更新方法和系统 - Google Patents

机票查询中的缓存存活时间设置与协同更新方法和系统 Download PDF

Info

Publication number
CN112699153A
CN112699153A CN202110048931.9A CN202110048931A CN112699153A CN 112699153 A CN112699153 A CN 112699153A CN 202110048931 A CN202110048931 A CN 202110048931A CN 112699153 A CN112699153 A CN 112699153A
Authority
CN
China
Prior art keywords
ttl
cache
price
learning model
key value
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202110048931.9A
Other languages
English (en)
Other versions
CN112699153B (zh
Inventor
曹健
刘春厚
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Jiaotong University
Original Assignee
Shanghai Jiaotong University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shanghai Jiaotong University filed Critical Shanghai Jiaotong University
Priority to CN202110048931.9A priority Critical patent/CN112699153B/zh
Publication of CN112699153A publication Critical patent/CN112699153A/zh
Application granted granted Critical
Publication of CN112699153B publication Critical patent/CN112699153B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • G06F16/24552Database cache management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/284Relational databases
    • G06F16/285Clustering or classification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/01Dynamic search techniques; Heuristics; Dynamic trees; Branch-and-bound

Abstract

本发明提供了一种机票查询中的缓存存活时间设置与协同更新方法和系统,包括:步骤1:收集机票缓存键值的访问序列、对应内容序列和验价序列数据并建立数据集,使用该数据集训练机器学习模型,用来对缓存项的TTL进行初始估计;步骤2:基于访问序列、内容序列和验价序列训练强化学习模型,对已有的TTL和相关联的键值的TTL进行更新;步骤3:使用时根据缓存项的键值和对应内容使用机器学习模型设置TTL,使用强化学习模型对被验价的机票所在的键值的TTL进行更新。本发明利用强化学习调整初始TTL,实现了对多个机票缓存键值的TTL协同更新的效果,使得键值的TTL能够更加适应缓存中键值对应的内容更新。

Description

机票查询中的缓存存活时间设置与协同更新方法和系统
技术领域
本发明涉及机票查询与网络服务缓存技术领域,具体地,涉及一种机票查询中的缓存存活时间设置与协同更新方法和系统。
背景技术
在线旅行社(OTA)作为航空公司的售票中间商,需要通过机票查询引擎来为航空公司提供机票销售渠道,同时也为客户提供机票搜索接口。在机票查询引擎中,为了快速响应用户的查询请求,通常需要设置查询缓存,用来保存航空公司的机票报价和舱位信息。由于机票价格和舱位会发生变化,因此放在缓存中的报价和舱位信息都需要设置一个生存时间值TTL从而能够更新缓存中的信息。与通常的网页文件不同,机票报价和舱位缓存变化的频率更高,因此它们的TTL相对会比较小。由于机票查询的准确性会直接关系到航空公司的收益,因此越准确的TTL越有益。
通常机票查询引擎对每个缓存项TTL的设置都是固定的,比如对于所有的缓存项TTL都设置为5分钟。这种方式灵活性较差,对于变化频率较高的缓存项,这种TTL设置会偏大,导致验价地准确性降低,而对于变化频率较低地缓存项,这种TTL设置又偏小,导致缓存地命中率降低。因此我们需要针对不同变化频率的缓存项设计不同的TTL设置方案。
对于机票查询缓存来说,不同的缓存项之间是会存在关联的。比如对于前后两天出发的同一航班同一舱位的两张机票,它们价格的变动通常是紧挨着的。这就导致了当一个缓存项中某个机票的验价失败时,另一个缓存项验价失败的可能性会特别高,利用这个特点,我们可以通过某个缓存项的验价信息来推测与其相关联的缓存项的内容是否发生变动,从而更新这些相关联的缓存项。本发明也是利用了机票之间价格变动相互关联的特点来更好地设置缓存的TTL。
专利文献CN110866206A(申请号:CN201810983052.3)公开了一种数据更新设置方法和装置,以提高票务信息缓存的准确性。所述的方法包括:在票务信息的缓存时间过期后,依据缓存更新阶段和所述票务信息确定过期时间;将所述过期时间设置为所述票务信息的缓存过期时间。
发明内容
针对现有技术中的缺陷,本发明的目的是提供一种机票查询中的缓存存活时间设置与协同更新方法和系统。
根据本发明提供的机票查询中的缓存存活时间设置与协同更新方法,包括:
步骤1:收集机票缓存键值的访问序列、对应内容序列和验价序列数据并建立数据集,使用该数据集训练机器学习模型,用来对缓存项的TTL进行初始估计;
步骤2:基于访问序列、内容序列和验价序列训练强化学习模型,对已有的TTL和相关联的键值的TTL进行更新;
步骤3:使用时根据缓存项的键值和对应内容使用机器学习模型设置TTL,当缓存项中的机票被验价时,使用强化学习模型对被验价的机票所在的键值的TTL进行更新,同时更新与该键值相关联的其他键值的TTL。
优选的,所述步骤1包括:
数据收集与处理,收集预设时间内的所有机票查询记录和验价记录;
对每条查询记录,寻找在未来24小时内是否有键值相同的验价记录,如果有,则标记为1,否则标记为0,以此构造出分类样本:每个样本的特征包含起飞日期、查询时间、乘客类型、舱等、出发地和目的地。
优选的,使用CART分类树算法,每次计算出gini指数最小的特征,按照该特征将样本集进行划分,直到无法再分或者gini指数小于阈值;
当缓存键值的内容需要设置初始TTL时,先由缓存键值和当前时间构建出样本,然后将样本输入到预训练的决策树模型中,得到0或1。
优选的,在得到决策树模型的输出之后,按照预设规则对初始TTL进行设置:如果模型预测未来24小时不验价,则TTL设置为预设大数值;如果预测结果为验价,则结合起飞日期与查询日期的差,以及当前查询时间机票价格变化幅度进行设置,如果起飞日期与查询日期差距小于预设阈值,则TTL设置为预设小数值,如果当前查询时间的价格变化幅度高于预设阈值,则TTL设置也为预设小数值。
优选的,所述步骤2包括:
当每次验价发生时,得到被验价的缓存键值K、验价时间t以及验价的结果r,同时得到与该键值相关联的其他键值(K1,K2,…,Kn),对每个Ki,由(K,Ki,r,t)构造出一个向量si,得到一个状态集(s1,s2,…,sn),将状态集输入给智能体,智能体输出对状态集中每个状态的TTL调整值(Δ12,…,Δn),之后将缓存中Ki的TTL相应地调整Δi,n为其他键值的总个数,i为序列号。
优选的,所述步骤3包括:
使用起飞日期与查询日期之间的差值来对键值进行分组,同一组的键值相互关联,同一组的键值使用相同的Agent技术来决定TTL的调整值。
优选的,通过仿真实验利用已有的用户查询数据进行评估,或通过在实际场景中与用户交互进行评估,当利用基本的机器学习模型或强化学习模型来设置或调整每个键值的TTL时,对于用户的每次查询,从缓存中返回结果或在数据库里返回结果,从缓存中返回结果的查询所占的比例为命中率;
用户在拿到查询结果之后从查询到的机票列表里选择一张发送给后台的数据库进行验价,验价成功的次数所占的比例为验价成功率;
对于机器学习模型,使用准确率来对模型性能进行衡量;
评估加入强化学习模型前后,机器学习模型的缓存命中率与验价准确率,根据缓存命中率和验价准确率的增幅,利用强化学习模型调整初始TTL对缓存的命中率和准确率的影响。
根据本发明提供的机票查询中的缓存存活时间设置与协同更新系统,包括:
模块M1:收集机票缓存键值的访问序列、对应内容序列和验价序列数据并建立数据集,使用该数据集训练机器学习模型,用来对缓存项的TTL进行初始估计;
模块M2:基于访问序列、内容序列和验价序列训练强化学习模型,对已有的TTL和相关联的键值的TTL进行更新;
模块M3:使用时根据缓存项的键值和对应内容使用机器学习模型设置TTL,当缓存项中的机票被验价时,使用强化学习模型对被验价的机票所在的键值的TTL进行更新,同时更新与该键值相关联的其他键值的TTL。
优选的,所述模块M1包括:
数据收集与处理,收集预设时间内的所有机票查询记录和验价记录;
对每条查询记录,寻找在未来24小时内是否有键值相同的验价记录,如果有,则标记为1,否则标记为0,以此构造出分类样本:每个样本的特征包含起飞日期、查询时间、乘客类型、舱等、出发地和目的地;
使用CART分类树算法,每次计算出gini指数最小的特征,按照该特征将样本集进行划分,直到无法再分或者gini指数小于阈值;
当缓存键值的内容需要设置初始TTL时,先由缓存键值和当前时间构建出样本,然后将样本输入到预训练的决策树模型中,得到0或1;
在得到决策树模型的输出之后,按照预设规则对初始TTL进行设置:如果模型预测未来24小时不验价,则TTL设置为预设大数值;如果预测结果为验价,则结合起飞日期与查询日期的差,以及当前查询时间机票价格变化幅度进行设置,如果起飞日期与查询日期差距小于预设阈值,则TTL设置为预设小数值,如果当前查询时间的价格变化幅度高于预设阈值,则TTL设置也为预设小数值。
优选的,所述模块M2包括:
当每次验价发生时,得到被验价的缓存键值K、验价时间t以及验价的结果r,同时得到与该键值相关联的其他键值(K1,K2,…,Kn),对每个Ki,由(K,Ki,r,t)构造出一个向量si,得到一个状态集(s1,s2,…,sn),将状态集输入给智能体,智能体输出对状态集中每个状态的TTL调整值(Δ12,…,Δn),之后将缓存中Ki的TTL相应地调整Δi,n为其他键值的总个数,i为序列号;
所述模块M3包括:
使用起飞日期与查询日期之间的差值来对键值进行分组,同一组的键值相互关联,同一组的键值使用相同的Agent技术来决定TTL的调整值;
通过仿真实验利用已有的用户查询数据进行评估,或通过在实际场景中与用户交互进行评估,当利用基本的机器学习模型或强化学习模型来设置或调整每个键值的TTL时,对于用户的每次查询,从缓存中返回结果或在数据库里返回结果,从缓存中返回结果的查询所占的比例为命中率;
用户在拿到查询结果之后从查询到的机票列表里选择一张发送给后台的数据库进行验价,验价成功的次数所占的比例为验价成功率;
对于机器学习模型,使用准确率来对模型性能进行衡量;
评估加入强化学习模型前后,机器学习模型的缓存命中率与验价准确率,根据缓存命中率和验价准确率的增幅,利用强化学习模型调整初始TTL对缓存的命中率和准确率的影响。
与现有技术相比,本发明具有如下的有益效果:通过本发明的利用强化学习调整初始TTL的技术手段,实现了对多个机票缓存键值的TTL协同更新的效果,使得键值的TTL能够更加适应缓存中键值对应的内容更新。
附图说明
通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
图1为本发明的框架结构图;
图2为本发明中Agent的网络结构图;
图3为本发明中Agent与环境交互的代码图。
具体实施方式
下面结合具体实施例对本发明进行详细说明。以下实施例将有助于本领域的技术人员进一步理解本发明,但不以任何形式限制本发明。应当指出的是,对本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变化和改进。这些都属于本发明的保护范围。
实施例:
根据本发明提供的一种基于强化学习的机票缓存TTL设置算法,包括:初始TTL设置算法、基于强化学习模型的TTL更新、键值关联、性能衡量。见图1示意图。
初始TTL设置算法由两部分组成。首先由一个决策树分类模型来确定当前查询的缓存键值在未来24小时之内是否会有验价产生。然后再根据决策树算法的预测按照规则来确定要设置的初始TTL。
(i)数据收集与处理。首先收集某段日期的所有机票查询记录、验价记录。其中,查询记录由查询id、查询键值、查询时间组成,验价记录则由查询id、验价键值、验价机票、验价时间组成。查询键值、验价键值与缓存键值都是由起飞日期、舱等、乘客类型、出发地、目的地组成。对每条查询记录,寻找在未来24小时内是否有键值相同的验价记录,如果有,则标记为1,否则标记为0。这样每条查询记录就可以构造出一个分类样本。其中每个样本的特征由起飞日期、查询时间、乘客类型、舱等、出发地、目的地构建。
(ii)决策树模型及其训练和使用。本发明使用CART分类树算法,该算法每次使用gini指数来选择特征来对数据集进行划分,直到不能划分为止。对于包含J个类别的样本集中,若第i个类别的占比为pi,则该样本集的gini指数为:
Figure BDA0002898253050000061
每次计算出gini指数最小的特征,然后按照该特征将样本集进行划分,直到无法再分或者gini指数小于阈值。
当某个缓存键值的内容需要设置初始TTL时,首先由缓存键值和当前时间构建出样本,然后将样本输入到预训练的决策树模型中,得到0或1。
(iii)按照规则确定初始TTL。当得到决策树模型的输出之后,按照特定的规则来对初始TTL进行设置:如果模型预测未来24小时不验价,则可以设置成较长的时间。如果预测结果为验价,则结合起飞日期与查询日期的差,以及当前查询时间是否为机票价格变大较大的时间区间进行设置,如果起飞日期与查询日期差距小,TTL设置应偏小,如果当前查询时间的价格变动较大,TTL设置也应偏小。经验规则的例子如下:
(a)若模型输出为0,则设置TTL为18小时;
(b)若模型输出为1,则若起飞日期与查询日期日期差小于7:
若当前查询时间在0点到7点,则TTL设置为20分钟;
若当前查询时间为8点到17点,则TTL设置为10分钟;
若当前查询时间为18点到23点,则TTL设置为15分钟;
若起飞日期与查询日期日期差大于等于7且小于30:
若当前查询时间在0点到7点,则TTL设置为30分钟;
若当前查询时间为8点到17点,则TTL设置为15分钟;
若当前查询时间为18点到23点,则TTL设置为25分钟;
若起飞日期与查询日期日期差大于等于30,则TTL设置为60分钟。
该算法使用强化学习的智能体来更新缓存键值的TTL。具体来讲,当有验价发生时才会有TTL的更新,当每次验价发生时,可以得到被验价的缓存键值(K)、验价时间(t)以及验价的结果(r),同时还可以得到与该键值相关联的其他键值(K1,K2,…,Kn),对每个Ki,由(K,Ki,r,t)构造出一个向量si,这样就可以得到一个状态集(s1,s2,…,sn)。将状态集输入给智能体,智能体输出对状态集中每个状态的TTL调整值(Δ12,…,Δn),之后将缓存中Ki的TTL相应地调整Δi
本发明设置的是具有连续状态空间和离散动作空间的Agent,其中Agent的输出至少应该包括(-1,0,1)这三个动作,Agent的结构为见图2。使用Agent+环境架构来训练Agent,其中Agent包含decide(state)和learn(trajectories)两个接口,而环境则包括reset()和step(action)两个接口。交互代码见图3。Agent使用REINFORCE算法进行训练。该算法的交互代码如下:
输入:待训练的Agent,环境;
输出:已训练的Agent;
1.调用PlayOnce算法,让Agent与环境交互得到若干幕的交互轨迹{τi};
2.计算参数的梯度
Figure BDA0002898253050000071
3.更新参数
Figure BDA0002898253050000072
Agent的learn(trajectories)接口就是REINFORCE的第2、3步。而decide(state)接口则是先将状态s(←state)输入到Agent的网络结构中得到各个动作的概率分布π(ai|s),然后按照概率分布采样得到动作a。
环境的reset()与step(action)接口与机票搜索的业务紧密相关。具体来讲,(ii)环境。与Agent交互的环境是缓存,从某个时间点开始依次发生查询、填充和更新缓存、验价这三种事件。环境的reset()接口在首次验价发生时,构造出状态集(s1,s2,…,sn)并返回。step(action)接口则是执行action,修改各个与验价键值相关的缓存键值的TTL,之后继续按照时间依次发生查询、填充和更新缓存、验价这三种事件,直到再次发生验价为止,然后再次和reset()接口一样构造状态集(s1,s2,…,sn),而对于每个键值,需要统计在发生动作之后该键值的命中查询、未命中查询、验价成功和验价失败次数,然后结合这些统计量构造出每个键值的奖励集(r1,r2,…,rn),然后返回状态集和奖励集,交互结束的标志则是后面是否还有验价。
并不是所有的键值都是关联的,相反,与某个键值关联的键值数量是很少的。为了提高性能,可以对键值进行分组,同一组的键值相互关联。我们使用起飞日期与查询日期之间的差值来对键值进行分组,同一组的键值使用相同的Agent来决定TTL的调整值。在训练时,假设第k个和第k+1个查询日期的键值分组分别为(g1,g2,…,gn),(h1,h2,…,hn),其中gi,hi对应起飞日期与查询日期之间的差值为i,则只需要训练n个智能体(A1,A2,…,An)。首先用gi训练Ai,然后在此基础上再用hi接着训练Ai。在使用Agent时,对于第k+1个查询日期的键值K,我们首先确定键值K所在的分组hi,然后使用Ai来对键值K的TTL进行修改。
对于机器学习模型,使用准确率来对模型性能进行衡量。对于强化学习模型,首先评估加入强化学习模型之前,基本的机器学习模型的缓存命中率与验价准确率,然后评估加入强化学习模型之后的缓存命中率和验价准确率,对比后者对前者在缓存命中率和验价准确率的增幅。
本领域技术人员知道,除了以纯计算机可读程序代码方式实现本发明提供的系统、装置及其各个模块以外,完全可以通过将方法步骤进行逻辑编程来使得本发明提供的系统、装置及其各个模块以逻辑门、开关、专用集成电路、可编程逻辑控制器以及嵌入式微控制器等的形式来实现相同程序。所以,本发明提供的系统、装置及其各个模块可以被认为是一种硬件部件,而对其内包括的用于实现各种程序的模块也可以视为硬件部件内的结构;也可以将用于实现各种功能的模块视为既可以是实现方法的软件程序又可以是硬件部件内的结构。
以上对本发明的具体实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,本领域技术人员可以在权利要求的范围内做出各种变化或修改,这并不影响本发明的实质内容。在不冲突的情况下,本申请的实施例和实施例中的特征可以任意相互组合。

Claims (10)

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,…,Kn),对每个Ki,由(K,Ki,r,t)构造出一个向量si,得到一个状态集(s1,s2,…,sn),将状态集输入给智能体,智能体输出对状态集中每个状态的TTL调整值(Δ12,…,Δn),之后将缓存中Ki的TTL相应地调整Δi,n为其他键值的总个数,i为序列号。
6.根据权利要求1所述的机票查询中的缓存存活时间设置与协同更新方法,其特征在于,所述步骤3包括:
使用起飞日期与查询日期之间的差值来对键值进行分组,同一组的键值相互关联,同一组的键值使用相同的Agent技术来决定TTL的调整值。
7.根据权利要求1所述的机票查询中的缓存存活时间设置与协同更新方法,其特征在于,通过仿真实验利用已有的用户查询数据进行评估,或通过在实际场景中与用户交互进行评估,当利用基本的机器学习模型或强化学习模型来设置或调整每个键值的TTL时,对于用户的每次查询,从缓存中返回结果或在数据库里返回结果,从缓存中返回结果的查询所占的比例为命中率;
用户在拿到查询结果之后从查询到的机票列表里选择一张发送给后台的数据库进行验价,验价成功的次数所占的比例为验价成功率;
对于机器学习模型,使用准确率来对模型性能进行衡量;
评估加入强化学习模型前后,机器学习模型的缓存命中率与验价准确率,根据缓存命中率和验价准确率的增幅,利用强化学习模型调整初始TTL对缓存的命中率和准确率的影响。
8.一种机票查询中的缓存存活时间设置与协同更新系统,其特征在于,包括:
模块M1:收集机票缓存键值的访问序列、对应内容序列和验价序列数据并建立数据集,使用该数据集训练机器学习模型,用来对缓存项的TTL进行初始估计;
模块M2:基于访问序列、内容序列和验价序列训练强化学习模型,对已有的TTL和相关联的键值的TTL进行更新;
模块M3:使用时根据缓存项的键值和对应内容使用机器学习模型设置TTL,当缓存项中的机票被验价时,使用强化学习模型对被验价的机票所在的键值的TTL进行更新,同时更新与该键值相关联的其他键值的TTL。
9.根据权利要求8所述的机票查询中的缓存存活时间设置与协同更新系统,其特征在于,所述模块M1包括:
数据收集与处理,收集预设时间内的所有机票查询记录和验价记录;
对每条查询记录,寻找在未来24小时内是否有键值相同的验价记录,如果有,则标记为1,否则标记为0,以此构造出分类样本:每个样本的特征包含起飞日期、查询时间、乘客类型、舱等、出发地和目的地;
使用CART分类树算法,每次计算出gini指数最小的特征,按照该特征将样本集进行划分,直到无法再分或者gini指数小于阈值;
当缓存键值的内容需要设置初始TTL时,先由缓存键值和当前时间构建出样本,然后将样本输入到预训练的决策树模型中,得到0或1;
在得到决策树模型的输出之后,按照预设规则对初始TTL进行设置:如果模型预测未来24小时不验价,则TTL设置为预设大数值;如果预测结果为验价,则结合起飞日期与查询日期的差,以及当前查询时间机票价格变化幅度进行设置,如果起飞日期与查询日期差距小于预设阈值,则TTL设置为预设小数值,如果当前查询时间的价格变化幅度高于预设阈值,则TTL设置也为预设小数值。
10.根据权利要求8所述的机票查询中的缓存存活时间设置与协同更新系统,其特征在于,所述模块M2包括:
当每次验价发生时,得到被验价的缓存键值K、验价时间t以及验价的结果r,同时得到与该键值相关联的其他键值(K1,K2,…,Kn),对每个Ki,由(K,Ki,r,t)构造出一个向量si,得到一个状态集(s1,s2,…,sn),将状态集输入给智能体,智能体输出对状态集中每个状态的TTL调整值(Δ12,…,Δn),之后将缓存中Ki的TTL相应地调整Δi,n为其他键值的总个数,i为序列号;
所述模块M3包括:
使用起飞日期与查询日期之间的差值来对键值进行分组,同一组的键值相互关联,同一组的键值使用相同的Agent技术来决定TTL的调整值;
通过仿真实验利用已有的用户查询数据进行评估,或通过在实际场景中与用户交互进行评估,当利用基本的机器学习模型或强化学习模型来设置或调整每个键值的TTL时,对于用户的每次查询,从缓存中返回结果或在数据库里返回结果,从缓存中返回结果的查询所占的比例为命中率;
用户在拿到查询结果之后从查询到的机票列表里选择一张发送给后台的数据库进行验价,验价成功的次数所占的比例为验价成功率;
对于机器学习模型,使用准确率来对模型性能进行衡量;
评估加入强化学习模型前后,机器学习模型的缓存命中率与验价准确率,根据缓存命中率和验价准确率的增幅,利用强化学习模型调整初始TTL对缓存的命中率和准确率的影响。
CN202110048931.9A 2021-01-14 2021-01-14 机票查询中的缓存存活时间设置与协同更新方法和系统 Active CN112699153B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110048931.9A CN112699153B (zh) 2021-01-14 2021-01-14 机票查询中的缓存存活时间设置与协同更新方法和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110048931.9A CN112699153B (zh) 2021-01-14 2021-01-14 机票查询中的缓存存活时间设置与协同更新方法和系统

Publications (2)

Publication Number Publication Date
CN112699153A true CN112699153A (zh) 2021-04-23
CN112699153B CN112699153B (zh) 2023-03-24

Family

ID=75514716

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110048931.9A Active CN112699153B (zh) 2021-01-14 2021-01-14 机票查询中的缓存存活时间设置与协同更新方法和系统

Country Status (1)

Country Link
CN (1) CN112699153B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113177874A (zh) * 2021-04-30 2021-07-27 北京沃东天骏信息技术有限公司 一种航司报价数据的查询方法及查询系统
CN113312399A (zh) * 2021-06-01 2021-08-27 中国民航信息网络股份有限公司 一种处理票价搜索的方法及系统
CN113377554A (zh) * 2021-06-24 2021-09-10 携程旅游信息技术(上海)有限公司 机票价格的缓存方法、系统、设备及存储介质

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130318191A1 (en) * 2012-05-22 2013-11-28 Verizon Patent And Licensing Inc. Time-based data caching
CN107291920A (zh) * 2017-06-28 2017-10-24 南京途牛科技有限公司 一种机票查询缓存方法
CN110502700A (zh) * 2019-08-29 2019-11-26 上海携程商务有限公司 Ota平台国际市场机票查询的预测方法及系统
CN110866206A (zh) * 2018-08-27 2020-03-06 阿里巴巴集团控股有限公司 数据更新设置方法和装置
US20200145422A1 (en) * 2018-11-01 2020-05-07 Gigcasters, Llc Methods and systems for providing a customized network
CN111125128A (zh) * 2019-12-10 2020-05-08 苏宁云计算有限公司 一种缓存更新方法、装置及系统
US20200159525A1 (en) * 2018-11-19 2020-05-21 Sd Elements Inc. Automation of task identification in a software lifecycle

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130318191A1 (en) * 2012-05-22 2013-11-28 Verizon Patent And Licensing Inc. Time-based data caching
CN107291920A (zh) * 2017-06-28 2017-10-24 南京途牛科技有限公司 一种机票查询缓存方法
CN110866206A (zh) * 2018-08-27 2020-03-06 阿里巴巴集团控股有限公司 数据更新设置方法和装置
US20200145422A1 (en) * 2018-11-01 2020-05-07 Gigcasters, Llc Methods and systems for providing a customized network
US20200159525A1 (en) * 2018-11-19 2020-05-21 Sd Elements Inc. Automation of task identification in a software lifecycle
CN110502700A (zh) * 2019-08-29 2019-11-26 上海携程商务有限公司 Ota平台国际市场机票查询的预测方法及系统
CN111125128A (zh) * 2019-12-10 2020-05-08 苏宁云计算有限公司 一种缓存更新方法、装置及系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
邱鹏等: "基于用户行为分析的在线订票系统缓存优化策略研究", 《计算机与现代化》 *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113177874A (zh) * 2021-04-30 2021-07-27 北京沃东天骏信息技术有限公司 一种航司报价数据的查询方法及查询系统
CN113312399A (zh) * 2021-06-01 2021-08-27 中国民航信息网络股份有限公司 一种处理票价搜索的方法及系统
CN113312399B (zh) * 2021-06-01 2023-12-19 中国民航信息网络股份有限公司 一种处理票价搜索的方法及系统
CN113377554A (zh) * 2021-06-24 2021-09-10 携程旅游信息技术(上海)有限公司 机票价格的缓存方法、系统、设备及存储介质
CN113377554B (zh) * 2021-06-24 2024-03-05 携程旅游信息技术(上海)有限公司 机票价格的缓存方法、系统、设备及存储介质

Also Published As

Publication number Publication date
CN112699153B (zh) 2023-03-24

Similar Documents

Publication Publication Date Title
CN112699153B (zh) 机票查询中的缓存存活时间设置与协同更新方法和系统
US11580104B2 (en) Method, apparatus, device, and storage medium for intention recommendation
EP3711000B1 (en) Regularized neural network architecture search
US11410063B2 (en) Self-intelligent improvement in predictive data models
CN109377752A (zh) 短时交通流变化预测方法、装置、计算机设备及存储介质
CN110968695A (zh) 基于弱监督技术主动学习的智能标注方法、装置及平台
CN107403325B (zh) 机票订单可信度评价方法和装置
CN110689368B (zh) 一种移动应用内广告点击率预测系统设计方法
Henriques et al. Predictive modelling: flight delays and associated factors, hartsfield–Jackson Atlanta International airport
US20220198278A1 (en) System for continuous update of advection-diffusion models with adversarial networks
CN111754044B (zh) 员工行为审计方法、装置、设备及可读存储介质
CN113505936A (zh) 项目审批结果的预测方法、装置、设备及存储介质
CN111599219B (zh) 一种基于排序学习的多数据源航班起飞时间预测方法
CN112118295A (zh) 文件缓存方法、装置、边缘节点以及计算机可读存储介质
Kazemi et al. IGANI: Iterative generative adversarial networks for imputation with application to traffic data
CN115659244A (zh) 故障预测方法、装置及存储介质
CN114138680A (zh) 数据构建、数据查询和测试方法、电子设备以及存储介质
CN114185765A (zh) 测试数据处理方法、装置、电子设备及存储介质
Qin et al. Auxiliary Gibbs Sampling for Inference in Piecewise-Constant Conditional Intensity Models.
CN113269402A (zh) 一种航班舱位的控制方法、装置及计算机设备
CN114443671A (zh) 推荐模型的更新方法、装置、计算机设备和存储介质
CN114385808A (zh) 文本分类模型构建方法与文本分类方法
Wong et al. State-space decomposition for reinforcement learning
Trinks A classification of real time analytics methods. an outlook for the use within the smart factory
CN114840559A (zh) 旅行产品查询、模型训练方法、装置、设备及存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant