CN108733756A - 数据预加载方法、装置、电子设备及可读存储介质 - Google Patents

数据预加载方法、装置、电子设备及可读存储介质 Download PDF

Info

Publication number
CN108733756A
CN108733756A CN201810322452.XA CN201810322452A CN108733756A CN 108733756 A CN108733756 A CN 108733756A CN 201810322452 A CN201810322452 A CN 201810322452A CN 108733756 A CN108733756 A CN 108733756A
Authority
CN
China
Prior art keywords
search
search condition
hot spot
frequency
data
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
CN201810322452.XA
Other languages
English (en)
Other versions
CN108733756B (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.)
Beijing Sankuai Online Technology Co Ltd
Original Assignee
Beijing Sankuai Online Technology Co Ltd
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 Beijing Sankuai Online Technology Co Ltd filed Critical Beijing Sankuai Online Technology Co Ltd
Priority to CN201810322452.XA priority Critical patent/CN108733756B/zh
Publication of CN108733756A publication Critical patent/CN108733756A/zh
Application granted granted Critical
Publication of CN108733756B publication Critical patent/CN108733756B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明提供了一种数据预加载方法、装置、电子设备及可读存储介质,所述方法包括:通过预先训练得到的搜索条件模型分别预测各热点搜索条件的出现频率;基于所述各热点搜索条件的出现频率,预先加载所述各热点搜索条件对应的数据。解决了在先技术中预加载数据时缓存命中率较低的问题,能够预加载热点搜索条件对应的数据,提高了缓存命中率。

Description

数据预加载方法、装置、电子设备及可读存储介质
技术领域
本发明实施例涉及计算机技术领域,尤其涉及一种数据预加载方法、装置、电子设备及可读存储介质。
背景技术
在访问第三方数据时,往往优先从缓存中进行查询,若未查询到目标数据,才从第三方数据库进行查询。其中,缓存中的数据预先从第三方数据库中加载,从而可以提高访问效率。
在先技术中,首先,将用户当前搜索条件以及对应的数据保存至缓存;然后,在接收到用户的查询指令时,将搜索条件与缓存中的搜索条件进行对比。若找到相同的搜索条件,则将对应的数据作为查询结果返回至界面显示;若未找到相同的搜索条件,则调用第三方数据直接查询数据。
可以看出,当用户点击率不高时,缓存数据较少,从而导致缓存的命中率较低。
发明内容
本发明提供一种数据预加载方法、装置、电子设备及可读存储介质,以解决在先技术中数据预加载的上述问题。
根据本发明的第一方面,提供了一种数据预加载方法,所述方法包括:
通过预先训练得到的搜索条件模型分别预测各热点搜索条件的出现频率;
基于所述各热点搜索条件的出现频率,预先加载所述各热点搜索条件对应的数据。
根据本发明的第二方面,提供了一种数据预加载装置,所述装置包括:
频率预测模块,用于通过预先训练得到的搜索条件模型分别预测各热点搜索条件的出现频率;
第一数据预加载模块,用于基于所预测各热点搜索条件的出现频率,预先加载所述各热点搜索条件对应的数据。
根据本发明的第三方面,提供了一种电子设备,包括:
处理器、存储器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现前述数据预加载方法。
根据本发明的第四方面,提供了一种可读存储介质,其特征在于,当所述存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行前述数据预加载方法。
本发明实施例提供了一种数据预加载方法、装置、电子设备及可读存储介质,所述方法包括:通过预先训练得到的搜索条件模型分别预测各热点搜索条件的出现频率;基于所述各热点搜索条件的出现频率,预先加载所述各热点搜索条件对应的数据。解决了在先技术中预加载数据时缓存命中率较低的问题,能够预加载热点搜索条件对应的数据,提高了缓存命中率。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的系统架构下的一种数据预加载方法具体步骤流程图;
图2是本发明实施例提供的系统架构下的另一种数据预加载方法具体步骤流程图;
图2A是酒店列表页的示意图;
图2B是酒店详情页的示意图;
图3是本发明实施例提供的一种数据预加载装置的结构图;
图4是本发明实施例提供的另一种数据预加载装置的结构图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例一
参照图1,其示出了一种数据预加载方法的步骤流程图,包括:
步骤101,通过预先训练得到的搜索条件模型分别预测各热点搜索条件的出现频率。
其中,搜索条件模型可以预测搜索条件的出现频率,通过预先训练得到。可以理解,搜索条件模型的输入为搜索条件,输出为该搜索条件对应的出现频率。
搜索条件包括搜索类别、搜索类别对应多个搜索对象。例如,搜索类别包括:城市、酒店、搜索时间、入住时间、离开时间等。其中,对于“城市”这个搜索类别,搜索对象可以包括:北京、上海、西安等。可以理解,在实际应用中,用户可以通过多个搜索类型组合的搜索条件进行查询。例如,搜索条件可以为:城市“北京”、酒店“如家”,入住日期2018-10-01,离店日期2018-10-03。
热点搜索条件为经常出现的搜索条件。例如,若从大量用户搜索记录来看,用户在一定时间段内搜索城市“北京”、酒店“如家”的次数较多,则将城市“北京”、酒店“如家”组成的搜索条件作为热点搜索条件。
本发明实施例针对热点搜索条件,分析其出现频率,优先进行数据提前加载。
可以理解,本发明实施例适用于所有需要从第三方数据库中读取数据的应用场景。
步骤102,基于所述各热点搜索条件的出现频率,预先加载所述各热点搜索条件对应的数据。
具体地,对于出现频率较高的热点搜索条件,以较高的频率进行预加载;对于频率较低的热点搜索条件,以较低的频率进行预加载,从而可以尽量提高缓存命中率的同时,降低缓存中的数据与供应商实时数据的不一致性。
可以理解,对热点搜索条件进行排序,排序越靠前,预加载频率越高;排序越靠后,预加载频率越低。在实际应用中,各热点搜索条件的预加载频率可以在上述条件下根据实际应用场景设定,本发明实施例对其不加以限制。
可以理解,本发明实施例可以预先将热点搜索条件对应的数据从第三方数据库中加载至服务器缓存中。从而,当用户通过客户端访问第三方数据时,可以优先从服务器缓存中获取数据。由于服务器缓存中的数据为热点搜索条件对应的数据,从而可以有效提高缓存命中率。
综上所述,本发明实施例提供了一种数据预加载方法,所述方法包括:通过预先训练得到的搜索条件模型分别预测各热点搜索条件的出现频率;基于所述各热点搜索条件的出现频率,预先加载所述各热点搜索条件对应的数据。解决了在先技术中预加载数据时缓存命中率较低的问题,能够预加载热点搜索条件对应的数据,提高了缓存命中率。
实施例二
本申请实施例从系统架构的层级对可选地数据预加载方法进行了描述。
参照图2,其示出了另一种数据预加载方法的具体步骤流程图。
步骤201,从历史搜索记录中确定搜索条件样本集。
其中,历史搜索记录包括用户在一定时间段内的搜索记录,可以从访问日志中获取。
搜索条件样本集包括了搜索条件以及对应的出现频率。
具体地,首先,从历史搜索记录中提取搜索类型的各搜索对象,并统计各搜索对象的出现次数;然后,根据出现次数确定各搜索类型的热点搜索对象;最后,将各搜索类型的热点搜索对象按照类型分别组合,并统计出现频率,得到搜索条件样本集。
可选地,在本发明的另一种实施例中,步骤201包括子步骤2011至2013:
子步骤2011,对于搜索条件中的各搜索类型,从历史搜索记录中提取所述搜索类型对应的各搜索对象,并统计所述各搜索对象对应的出现次数。
具体地,首先将历史搜索记录进行归一化处理,将各搜索类型的搜索对象相同的记录合并,并统计记录数目;然后分别按照搜索类型提取搜索对象,并统计搜索对象的出现次数。
例如,历史搜索记录的格式为:{入住时间,离开时间,城市,酒店},包括:{2017.10.01,2017.10.02,北京,A},{2017.10.01,2017.10.05,北京,B},{2017.10.02,2017.10.05,西安,B},{2017.10.02,2017.10.05,西安,A},{2017.10.01,2017.10.02,北京,A},{2017.10.02,2017.10.03,西安,B},{2017.10.01,2017.10.05,北京,B}。
首先,将所有历史搜索记录进行合并,得到:2条{2017.10.01,2017.10.02,北京,A}记录,2条{2017.10.01,2017.10.05,北京,B}记录,1条{2017.10.02,2017.10.05,西安,B}记录,1条{2017.10.02,2017.10.05,西安,A}记录,1条{2017.10.02,2017.10.03,西安,B}记录。
然后,分别按照搜索类型提取搜索对象。例如,对于城市类别,提取的搜索对象包括北京和西安,分别对应出现次数为4和3;又例如,对于酒店类别,提取的搜索对象包括A和B,分别对应出现次数为3和4。如此可以得出所有类别对应的搜索对象及出现次数:入住时间类别的搜索对象2017.10.01、2017.10.02分别对应的出现次数为4和3,离开时间类别的搜索对象2017.10.02、2017.10.05、2017.10.03分别对应的出现次数为2、4、1,城市类别的搜索对象北京和西安分别对应的出现次数为4和3,酒店类别的搜索对象A和B分别对应的出现次数为3和4。
子步骤2012,在将所述各搜索对象按照出现次数降序排列之后,将排序靠前的搜索对象作为所述搜索类型对应的热点搜索对象。
在实际应用中,可以结合热点搜索对象的数目来确定热点搜索对象。例如,子步骤2011中的例子,对于离开时间类别,若热点搜索对象的数目为2时,则2017.10.05、2017.10.02为热点搜索对象。
还可以结合出现次数的阈值来确定热点搜索对象。例如,子步骤2011中的例子,对于离开时间类别,若热点搜索对象的出现次数阈值为4,则2017.10.05为热点搜索对象。
其中,热点搜索对象的数目和热点搜索对象的出现次数阈值可以根据各类别不同而不同,可以根据实际应用场景设定。
可以理解,在实际应用中,还可以将热点搜索对象的数目和热点搜索对象的出现次数阈值结合起来使用。
子步骤2013,将所述各搜索类型对应的各热点搜索对象组合成搜索条件样本,并基于所述历史搜索记录统计所述搜索条件样本的出现频率,得到搜索条件样本集。
例如,若入住时间类别的热点搜索对象2017.10.01、2017.10.02分别对应的出现次数为4和3,离开时间类别的热点搜索对象2017.10.05分别对应的出现次数为4,城市类别的热点搜索对象北京和西安分别对应的出现次数为4和3,酒店类别的热点搜索对象B和A分别对应的出现次数为4和3。从而,将各热点搜索对象组合起来得到:{2017.10.01,2017.10.05,北京,B},{2017.10.01,2017.10.05,北京,A},{2017.10.01,2017.10.05,西安,B},{2017.10.01,2017.10.05,西安,A},{2017.10.02,2017.10.05,北京,B},{2017.10.02,2017.10.05,北京,A},{2017.10.02,2017.10.05,西安,B},{2017.10.02,2017.10.05,西安,A},以及分别对应的出现次数为2,0,0,0,0,0,1,1。
可以理解,出现频率为单位时间内的出现次数,从而若历史搜索记录的数据为2天,则各热点搜索条件分别对应的搜索记录为1,0,0,0,0,0,0.5,0.5。
在实际应用中,获取的历史搜索记录的数据量较大,从而统计结果较准确。为了方便描述,本发明实施例举例的数据量较小。
步骤202,基于所述搜索条件样本集通过神经网络模型训练得到搜索条件模型。
其中,神经网络模型为深度学习的典型模型,可以根据大量样本集训练得到输入和输出的关系。从而可以对新的输入预测出新的输出结果。
可选地,在本发明的另一种实施例中,步骤202包括子步骤2021至2024:
子步骤2021,初始化神经网络模型的参数组。
在实际应用中,可以根据经验设置参数组的初始化值。若无法确定经验值时,可以初步判断选择较优的参数组。
可以理解,初始化值越接近目标值时,训练时间越短;初始化值越偏离目标值时,训练时间越长。
子步骤2022,将所述搜索条件样本集中的各搜索条件样本输入至神经网络模型中,计算所述各搜索条件样本的出现频率的预测值。
在实际应用中,可以通过分批样本进行训练,分批大小可以根据实际应用场景设定,本发明实施例对其不加以限制。
当分批大小为N时,将N个搜索条件样本对应的各热点搜索对象输入至神经网络模型,得到各热点搜索对象的出现频率的预测值。
子步骤2023,基于所述各搜索条件样本的出现频率的预测值以及样本值,确定损失值。
其中,样本值为搜索条件样本中对应的出现频率。
在实际应用中,损失值通常根据预测值和样本值的均方差衡量。
可选地,在本发明的另一种实施例中,子步骤2023包括子步骤20231至20232:
子步骤20231,对于各搜索条件样本,计算出现频率的预测值和样本值之间的差值的二次方,得到二次偏差值。
对于第i个搜索条件样本,二次偏差值Si的计算公式如下:
Si=(yi-f(xi))2(1)
其中,f(xi)为第i个搜索条件样本的出现频率的预测值,yi为第i个搜索条件样本的出现频率的样本值。
子步骤20232,计算各搜索条件样本的二次偏差值的平均值,得到损失值。
损失值L的具体公式如下:
其中,N为样本的分批大小。
子步骤2024,若所述损失值不满足预设条件,则调整所述神经网络模型的参数组以继续训练,直至所述损失值满足预设条件。
具体地,损失值小于等于预设值时,代表损失值满足预设条件;否则,代表损失值不满足预设条件。
预设条件可以根据实际应用场景设定。可以理解,当损失值满足预设条件时,确定训练已经收敛,从而此时对应的参数组为目标参数组;当损失值不满足预设条件时,调整参数组中的各参数值,并获取新一批搜索条件样本以继续进行训练,直至损失值满足预设条件。
可以理解,训练就是训练模型中的参数组,以确定输入与输出的关系,从而使得预测模型预测最准确。
步骤203,通过预先训练得到的搜索条件模型分别预测各热点搜索条件的出现频率。
该步骤可以参照步骤101的详细说明,在此不再赘述。
步骤204,基于所述各热点搜索条件的出现频率,通过预设的第一函数确定所述各热点搜索条件的预加载频率。
在实际应用中,第一函数可以为分段函数也可以为连续的函数。
例如,可以当出现频率处于一个低频率范围时,采用较低的预加载频率;当出现频率处于一个高频率范围时,采用较高的预加载频率;当出现频率处于一个超高频率范围时,采用超高的预加载频率。
又例如,可以采用连续的函数关系P2=a·P1+b来确定预加载频率,其中,P1为搜索条件的出现频率,和P2为搜索条件的预加载频率,a和b分别为系数,均大于0,从而P2和P1为正向关系,即:P1越大,则P2越大;P1越小,P2越小。
可以理解,a和b可以根据经验值确定,本发明实施例对其不加以限制。
步骤205,根据所述各热点搜索条件的预加载频率,预先加载所述各热点搜索条件对应的数据至缓存中。
其中,缓存为当前代理商对应的服务器的缓存。从而预先从第三方数据库中加载数据至代理商服务器,以提高用户访问速度。
步骤206,当检测到用户停留在搜索结果列表页时,基于当前搜索条件预先加载所述搜索结果列表页中包括的各搜索结果的产品数据。
其中,搜索结果列表页对应符合用户当前搜索条件的所有查询结果。对于酒店订购平台,查询结果为多个酒店的产品信息列表。可以理解,酒店列表页可以理解为酒店概览。
如图2A所示的酒店列表页,显示了符合用户搜索条件的四个酒店列表。其中,每个酒店信息包括该酒店的摘要信息,例如,酒店名称、价格、酒店级别、位置、历史评分、最近订单信息、优惠信息等。用户可以根据上述摘要信息进行初步筛选,从而在该页面点击选中感兴趣的酒店,以进入该酒店信息的详情页面,进行进一步了解。例如,用户对艾萨努克公寓感兴趣,从而点击进入艾萨努克公寓的详情界面,如图2B所示。从而用户可以在详情界面预定房间、退订房间等。
在用户阅读各酒店的摘要信息时,会在酒店列表页停留一定时间。本发明实施例利用用户在酒店列表页停留时间,预先加载酒店列表页中各酒店的详细信息。例如,当用户停留在如图2A所示的酒店列表页面时,服务器预先加载该页面包括的艾萨努克公寓、曼谷王子宫殿酒店、曼谷德维基SSIP精品酒店、中心文华酒店四个酒店的详情数据,从而用户点击进入其中任一酒店时,直接从缓存中读取数据,而不需要从第三方数据库中读取。
可以理解,在实际应用中,当酒店列表页分页显示或分屏显示时,可以逐页或逐屏加载详情数据。例如,当用户翻到下一页时,加载下页中的产品的详情数据;当用户滑动屏幕到后面的产品时,加载后面的产品的详情数据。
综上所述,本发明实施例提供了一种数据预加载方法,所述方法包括:通过预先训练得到的搜索条件模型分别预测各热点搜索条件的出现频率;基于所述各热点搜索条件的出现频率,预先加载所述各热点搜索条件对应的数据。解决了在先技术中预加载数据时缓存命中率较低的问题,能够预加载热点搜索条件对应的数据,提高了缓存命中率。此外,还可以在用户停留在搜索结果列表页的时间,预先加载产品数据至缓存,以提高非热点搜索条件的命中率。
实施例三
参照图3,其示出了一种数据预加载装置的结构图,具体如下。
频率预测模块301,用于通过预先训练得到的搜索条件模型分别预测各热点搜索条件的出现频率。
其中,搜索条件模型可以预测搜索条件的出现频率,通过预先训练得到。可以理解,搜索条件模型的输入为搜索条件,输出为该搜索条件对应的出现频率。
搜索条件包括搜索类别、搜索类别对应多个搜索对象。例如,搜索类别包括:城市、酒店、搜索时间、入住时间、离开时间等。其中,对于“城市”这个搜索类别,搜索对象可以包括:北京、上海、西安等。可以理解,在实际应用中,用户可以通过多个搜索类型组合的搜索条件进行查询。例如,搜索条件可以为:城市“北京”、酒店“如家”,入住日期2018-10-01,离店日期2018-10-03。
热点搜索条件为经常出现的搜索条件。例如,若从大量用户搜索记录来看,用户在一定时间段内搜索城市“北京”、酒店“如家”的次数较多,则将城市“北京”、酒店“如家”组成的搜索条件作为热点搜索条件。
本发明实施例针对热点搜索条件,分析其出现频率,优先进行数据提前加载。
可以理解,本发明实施例适用于所有需要从第三方数据库中读取数据的应用场景。
第一数据预加载模块302,用于基于所述各热点搜索条件的出现频率,预先加载所述各热点搜索条件对应的数据。
具体地,对于出现频率较高的热点搜索条件,以较高的频率进行预加载;对于频率较低的热点搜索条件,以较低的频率进行预加载,从而可以尽量提高缓存命中率的同时,降低缓存中的数据与供应商实时数据的不一致性。
可以理解,对热点搜索条件进行排序,排序越靠前,预加载频率越高;排序越靠后,预加载频率越低。在实际应用中,各热点搜索条件的预加载频率可以在上述条件下根据实际应用场景设定,本发明实施例对其不加以限制。
可以理解,本发明实施例可以预先将热点搜索条件对应的数据从第三方数据库中加载至服务器缓存中。从而,当用户通过客户端访问第三方数据时,可以优先从服务器缓存中获取数据。由于服务器缓存中的数据为热点搜索条件对应的数据,从而可以有效提高缓存命中率。
综上所述,本发明实施例提供了一种数据预加载装置,所述装置包括:频率预测模块,用于通过预先训练得到的搜索条件模型分别预测各热点搜索条件的出现频率;第一数据预加载模块,用于基于所述各热点搜索条件的出现频率,预先加载所述各热点搜索条件对应的数据。解决了在先技术中预加载数据时缓存命中率较低的问题,能够预加载热点搜索条件对应的数据,提高了缓存命中率。
实施例四
参照图4,其示出了另一种数据预加载装置的结构图,具体如下。
样本集确定模块401,用于从历史搜索记录中确定搜索条件样本集。
其中,历史搜索记录包括用户在一定时间段内的搜索记录,可以从访问日志中获取。
搜索条件样本集包括了搜索条件以及对应的出现频率。
具体地,首先,从历史搜索记录中提取搜索类型的各搜索对象,并统计各搜索对象的出现次数;然后,根据出现次数确定各搜索类型的热点搜索对象;最后,将各搜索类型的热点搜索对象按照类型分别组合,并统计出现频率,得到搜索条件样本集。
模型训练模块402,用于基于所述搜索条件样本集通过神经网络模型训练得到搜索条件模型。
其中,神经网络模型为深度学习的典型模型,可以根据大量样本集训练得到输入和输出的关系。从而可以对新的输入预测出新的输出结果。
频率预测模块403,用于通过预先训练得到的搜索条件模型分别预测各热点搜索条件的出现频率。
该模块可以参照步骤101的详细说明,在此不再赘述。
第一数据预加载模块404,用于基于所述各热点搜索条件的出现频率,预先加载所述各热点搜索条件对应的数据。可选地,在本发明实施例中,上述第一数据预加载模块404,包括:
预加载频率确定子模块4041,用于基于所述各热点搜索条件的出现频率,通过预设的第一函数确定所述各热点搜索条件的预加载频率。
在实际应用中,第一函数可以为分段函数也可以为连续的函数。
例如,可以当出现频率处于一个低频率范围时,采用较低的预加载频率;当出现频率处于一个高频率范围时,采用较高的预加载频率;当出现频率处于一个超高频率范围时,采用超高的预加载频率。
又例如,可以采用连续的函数关系P2=a·P1+b来确定预加载频率,其中,P1为搜索条件的出现频率,和P2为搜索条件的预加载频率,a和b分别为系数,均大于0,从而P2和P1为正向关系,即:P1越大,则P2越大;P1越小,P2越小。
可以理解,a和b可以根据经验值确定,本发明实施例对其不加以限制。
第一数据预加载子模块4042,用于根据所述各热点搜索条件的预加载频率,预先加载所述各热点搜索条件对应的数据至缓存中。
其中,缓存为当前代理商对应的服务器的缓存。从而预先从第三方数据库中加载数据至代理商服务器,以提高用户访问速度。
第二数据预加载模块405,用于当检测到用户停留在搜索结果列表页时,基于当前搜索条件预先加载所述搜索结果列表页中包括的各搜索结果的产品数据。
其中,搜索结果列表页对应符合用户当前搜索条件的所有查询结果。对于酒店订购平台,查询结果为多个酒店的产品信息列表。可以理解,酒店列表页可以理解为酒店概览。
如图2A所示的酒店列表页,显示了符合用户搜索条件的四个酒店列表。其中,每个酒店信息包括该酒店的摘要信息,例如,酒店名称、价格、酒店级别、位置、历史评分、最近订单信息、优惠信息等。用户可以根据上述摘要信息进行初步筛选,从而在该页面点击选中感兴趣的酒店,以进入该酒店信息的详情页面,进行进一步了解。例如,用户对艾萨努克公寓感兴趣,从而点击进入艾萨努克公寓的详情界面,如图2B所示。从而用户可以在详情界面预定房间、退订房间等。
在用户阅读各酒店的摘要信息时,会在酒店列表页停留一定时间。本发明实施例利用用户在酒店列表页停留时间,预先加载酒店列表页中各酒店的详细信息。例如,当用户停留在如图2A所示的酒店列表页面时,服务器预先加载该页面包括的艾萨努克公寓、曼谷王子宫殿酒店、曼谷德维基SSIP精品酒店、中心文华酒店四个酒店的详情数据,从而用户点击进入其中任一酒店时,直接从缓存中读取数据,而不需要从第三方数据库中读取。
可以理解,在实际应用中,当酒店列表页分页显示或分屏显示时,可以逐页或逐屏加载详情数据。例如,当用户翻到下一页时,加载下页中的产品的详情数据;当用户滑动屏幕到后面的产品时,加载后面的产品的详情数据。
可选地,在本发明的另一种实施例中,上述样本集确定模块401,包括:
搜索对象提取子模块,用于对于搜索条件中的各搜索类型,从历史搜索记录中提取所述搜索类型对应的各搜索对象,并统计所述各搜索对象对应的出现次数。
具体地,首先将历史搜索记录进行归一化处理,将各搜索类型的搜索对象相同的记录合并,并统计记录数目;然后分别按照搜索类型提取搜索对象,并统计搜索对象的出现次数。
例如,历史搜索记录的格式为:{入住时间,离开时间,城市,酒店},包括:{2017.10.01,2017.10.02,北京,A},{2017.10.01,2017.10.05,北京,B},{2017.10.02,2017.10.05,西安,B},{2017.10.02,2017.10.05,西安,A},{2017.10.01,2017.10.02,北京,A},{2017.10.02,2017.10.03,西安,B},{2017.10.01,2017.10.05,北京,B}。
首先,将所有历史搜索记录进行合并,得到:2条{2017.10.01,2017.10.02,北京,A}记录,2条{2017.10.01,2017.10.05,北京,B}记录,1条{2017.10.02,2017.10.05,西安,B}记录,1条{2017.10.02,2017.10.05,西安,A}记录,1条{2017.10.02,2017.10.03,西安,B}记录。
然后,分别按照搜索类型提取搜索对象。例如,对于城市类别,提取的搜索对象包括北京和西安,分别对应出现次数为4和3;又例如,对于酒店类别,提取的搜索对象包括A和B,分别对应出现次数为3和4。如此可以得出所有类别对应的搜索对象及出现次数:入住时间类别的搜索对象2017.10.01、2017.10.02分别对应的出现次数为4和3,离开时间类别的搜索对象2017.10.02、2017.10.05、2017.10.03分别对应的出现次数为2、4、1,城市类别的搜索对象北京和西安分别对应的出现次数为4和3,酒店类别的搜索对象A和B分别对应的出现次数为3和4。
热点搜索对象确定子模块,用于在将所述各搜索对象按照出现次数降序排列之后,将排序靠前的搜索对象作为所述搜索类型对应的热点搜索对象。
在实际应用中,可以结合热点搜索对象的数目来确定热点搜索对象。例如,搜索对象提取子模块中的例子,对于离开时间类别,若热点搜索对象的数目为2时,则2017.10.05、2017.10.02为热点搜索对象。
还可以结合出现次数的阈值来确定热点搜索对象。例如,搜索对象提取子模块中的例子,对于离开时间类别,若热点搜索对象的出现次数阈值为4,则2017.10.05为热点搜索对象。
其中,热点搜索对象的数目和热点搜索对象的出现次数阈值可以根据各类别不同而不同,可以根据实际应用场景设定。
可以理解,在实际应用中,还可以将热点搜索对象的数目和热点搜索对象的出现次数阈值结合起来使用。
样本集确定子模块,用于将所述各搜索类型对应的各热点搜索对象组合成搜索条件样本,并基于所述历史搜索记录统计所述搜索条件样本的出现频率,得到搜索条件样本集。
例如,若入住时间类别的热点搜索对象2017.10.01、2017.10.02分别对应的出现次数为4和3,离开时间类别的热点搜索对象2017.10.05分别对应的出现次数为4,城市类别的热点搜索对象北京和西安分别对应的出现次数为4和3,酒店类别的热点搜索对象B和A分别对应的出现次数为4和3。从而,将各热点搜索对象组合起来得到:{2017.10.01,2017.10.05,北京,B},{2017.10.01,2017.10.05,北京,A},{2017.10.01,2017.10.05,西安,B},{2017.10.01,2017.10.05,西安,A},{2017.10.02,2017.10.05,北京,B},{2017.10.02,2017.10.05,北京,A},{2017.10.02,2017.10.05,西安,B},{2017.10.02,2017.10.05,西安,A},以及分别对应的出现次数为2,0,0,0,0,0,1,1。
可以理解,出现频率为单位时间内的出现次数,从而若历史搜索记录的数据为2天,则各热点搜索条件分别对应的搜索记录为1,0,0,0,0,0,0.5,0.5。
在实际应用中,获取的历史搜索记录的数据量较大,从而统计结果较准确。为了方便描述,本发明实施例举例的数据量较小。
可选地,在本发明的另一种实施例中,上述模型训练模块402,包括:
参数组确定子模块,用于初始化神经网络模型的参数组。
在实际应用中,可以根据经验设置参数组的初始化值。若无法确定经验值时,可以初步判断选择较优的参数组。
可以理解,初始化值越接近目标值时,训练时间越短;初始化值越偏离目标值时,训练时间越长。
预测子模块,用于将所述搜索条件样本集中的各搜索条件样本输入至神经网络模型中,计算所述各搜索条件样本的出现频率的预测值。
在实际应用中,可以通过分批样本进行训练,分批大小可以根据实际应用场景设定,本发明实施例对其不加以限制。
当分批大小为N时,将N个搜索条件样本对应的各热点搜索对象输入至神经网络模型,得到各热点搜索对象的出现频率的预测值。
损失值确定子模块,用于基于所述各各搜索条件样本的出现频率的预测值以及样本值,确定损失值。
其中,样本值为搜索条件样本中对应的出现频率。
在实际应用中,损失值通常根据预测值和样本值的均方差衡量。
继续训练子模块,用于若所述损失值不满足预设条件,则调整所述神经网络模型的参数组以继续训练,直至所述损失值满足预设条件。
具体地,损失值小于等于预设值时,代表损失值满足预设条件;否则,代表损失值不满足预设条件。
预设条件可以根据实际应用场景设定。可以理解,当损失值满足预设条件时,确定训练已经收敛,从而此时对应的参数组为目标参数组;当损失值不满足预设条件时,调整参数组中的各参数值,并获取新一批搜索条件样本以继续进行训练,直至损失值满足预设条件。
可以理解,训练就是训练模型中的参数组,以确定输入与输出的关系,从而使得预测模型预测最准确。
可选地,在本发明的另一种实施例中,上述损失值确定子模块,包括:
二次偏差值计算单元,用于对于各搜索条件样本,计算出现频率的预测值和样本值之间的差值的二次方,得到二次偏差值。
对于第i个搜索条件样本,二次偏差值Si的计算公式如子步骤20231中的公式(1)。
损失值计算单元,用于计算各搜索条件样本的二次偏差值的平均值,得到损失值。
损失值L的具体公式如子步骤20232中的公式(2)。
综上所述,本发明实施例提供了一种数据预加载装置,所述装置包括:样本集确定模块,用于从历史搜索记录中确定搜索条件样本集;模型训练模块,用于基于所述搜索条件样本集通过神经网络模型训练得到搜索条件模型;频率预测模块,用于通过预先训练得到的搜索条件模型分别预测各热点搜索条件的出现频率;第一数据预加载模块,用于基于所述各热点搜索条件的出现频率,预先加载所述各热点搜索条件对应的数据;第二数据预加载模块,用于当检测到用户停留在搜索结果列表页时,基于当前搜索条件预先加载所述搜索结果列表页中包括的各搜索结果的产品数据。解决了在先技术中预加载数据时缓存命中率较低的问题,能够预加载热点搜索条件对应的数据,提高了缓存命中率。此外,还可以在用户停留在搜索结果列表页的时间,预先加载产品数据至缓存,以提高非热点搜索条件的命中率。
本发明实施例还提供了一种电子设备,包括:处理器、存储器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序时实现前述实施例的数据预加载方法。
本发明实施例还提供了一种可读存储介质,当所述存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行前述实施例的数据预加载方法。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的数据预加载设备中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

Claims (10)

1.一种数据预加载方法,其特征在于,所述方法包括:
通过预先训练得到的搜索条件模型分别预测各热点搜索条件的出现频率;
基于所述各热点搜索条件的出现频率,预先加载所述各热点搜索条件对应的数据。
2.根据权利要求1所述的方法,其特征在于,所述基于所述各热点搜索条件的出现频率,预先加载所述各热点搜索条件对应的数据的步骤,包括:
基于所述各热点搜索条件的出现频率,通过预设的第一函数确定所述各热点搜索条件的预加载频率;
根据所述各热点搜索条件的预加载频率,预先加载所述各热点搜索条件对应的数据至缓存中。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
从历史搜索记录中确定搜索条件样本集;
基于所述搜索条件样本集通过神经网络模型训练得到搜索条件模型。
4.根据权利要求3所述的方法,其特征在于,所述从历史搜索记录中确定搜索条件样本集的步骤,包括:
对于搜索条件中的各搜索类型,从历史搜索记录中提取所述搜索类型对应的各搜索对象,并统计所述各搜索对象对应的出现次数;
在将所述各搜索对象按照出现次数降序排列之后,将排序靠前的搜索对象作为所述搜索类型对应的热点搜索对象;
将所述各搜索类型对应的各热点搜索对象组合成搜索条件样本,并基于所述历史搜索记录统计所述搜索条件样本的出现频率,得到搜索条件样本集。
5.根据权利要求4所述的方法,其特征在于,所述基于所述搜索条件样本集通过神经网络模型训练得到搜索条件模型的步骤,包括:
初始化神经网络模型的参数组;
将所述搜索条件样本集中的各搜索条件样本输入至神经网络模型中,计算所述各搜索条件样本的出现频率的预测值;
基于所述各搜索条件样本的出现频率的预测值以及样本值,确定损失值;
若所述损失值不满足预设条件,则调整所述神经网络模型的参数组以继续训练,直至所述损失值满足预设条件。
6.根据权利要求5所述的方法,其特征在于,所述基于所述各搜索条件样本的出现频率的预测值以及样本值,确定损失值的步骤,包括:
对于各搜索条件样本,计算出现频率的预测值和样本值之间的差值的二次方,得到二次偏差值;
计算各搜索条件样本的二次偏差值的平均值,得到损失值。
7.根据权利要求1至6其中任一项所述的方法,其特征在于,所述方法还包括:
当检测到用户停留在搜索结果列表页时,基于当前搜索条件预先加载所述搜索结果列表页中包括的各搜索结果的产品数据。
8.一种数据预加载装置,其特征在于,所述装置包括:
频率预测模块,用于通过预先训练得到的搜索条件模型分别预测各热点搜索条件的出现频率;
第一数据预加载模块,用于基于所述各热点搜索条件的出现频率,预先加载所述各热点搜索条件对应的数据。
9.一种电子设备,其特征在于,包括:
处理器、存储器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1-7中一个或多个所述的数据预加载方法。
10.一种可读存储介质,其特征在于,当所述存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行如方法权利要求1-7中一个或多个所述的数据预加载方法。
CN201810322452.XA 2018-04-11 2018-04-11 数据预加载方法、装置、电子设备及可读存储介质 Active CN108733756B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810322452.XA CN108733756B (zh) 2018-04-11 2018-04-11 数据预加载方法、装置、电子设备及可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810322452.XA CN108733756B (zh) 2018-04-11 2018-04-11 数据预加载方法、装置、电子设备及可读存储介质

Publications (2)

Publication Number Publication Date
CN108733756A true CN108733756A (zh) 2018-11-02
CN108733756B CN108733756B (zh) 2021-04-23

Family

ID=63941384

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810322452.XA Active CN108733756B (zh) 2018-04-11 2018-04-11 数据预加载方法、装置、电子设备及可读存储介质

Country Status (1)

Country Link
CN (1) CN108733756B (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109948061A (zh) * 2019-03-29 2019-06-28 薛晓霞 一种特价商品搜索方法及系统
CN110334036A (zh) * 2019-06-28 2019-10-15 京东数字科技控股有限公司 一种实现缓存数据调度的方法和装置
CN110399462A (zh) * 2019-07-26 2019-11-01 沈阳民航东北凯亚有限公司 一种信息的查询方法及装置
CN111562913A (zh) * 2020-04-28 2020-08-21 北京字节跳动网络技术有限公司 视图组件的预创建方法、装置、设备及计算机可读介质
CN113076339A (zh) * 2021-03-18 2021-07-06 北京沃东天骏信息技术有限公司 一种数据缓存方法、装置、设备及存储介质
CN115248847A (zh) * 2022-09-22 2022-10-28 竹间智慧科技(北京)有限公司 搜索数据集的构建方法、装置、电子设备及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104217019A (zh) * 2014-09-25 2014-12-17 中国人民解放军信息工程大学 基于多级缓存模块的内容查询方法和装置
US20150161285A1 (en) * 2007-12-13 2015-06-11 Seven Networks, Inc. Predictive content delivery
CN106339398A (zh) * 2015-07-09 2017-01-18 广州市动景计算机科技有限公司 一种网页页面的预读取方法、装置及智能终端设备

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150161285A1 (en) * 2007-12-13 2015-06-11 Seven Networks, Inc. Predictive content delivery
CN104217019A (zh) * 2014-09-25 2014-12-17 中国人民解放军信息工程大学 基于多级缓存模块的内容查询方法和装置
CN106339398A (zh) * 2015-07-09 2017-01-18 广州市动景计算机科技有限公司 一种网页页面的预读取方法、装置及智能终端设备

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109948061A (zh) * 2019-03-29 2019-06-28 薛晓霞 一种特价商品搜索方法及系统
CN110334036A (zh) * 2019-06-28 2019-10-15 京东数字科技控股有限公司 一种实现缓存数据调度的方法和装置
CN110399462A (zh) * 2019-07-26 2019-11-01 沈阳民航东北凯亚有限公司 一种信息的查询方法及装置
CN110399462B (zh) * 2019-07-26 2022-03-04 沈阳民航东北凯亚有限公司 一种信息的查询方法及装置
CN111562913A (zh) * 2020-04-28 2020-08-21 北京字节跳动网络技术有限公司 视图组件的预创建方法、装置、设备及计算机可读介质
CN113076339A (zh) * 2021-03-18 2021-07-06 北京沃东天骏信息技术有限公司 一种数据缓存方法、装置、设备及存储介质
CN115248847A (zh) * 2022-09-22 2022-10-28 竹间智慧科技(北京)有限公司 搜索数据集的构建方法、装置、电子设备及存储介质
CN115248847B (zh) * 2022-09-22 2022-12-16 竹间智慧科技(北京)有限公司 搜索数据集的构建方法、装置、电子设备及存储介质

Also Published As

Publication number Publication date
CN108733756B (zh) 2021-04-23

Similar Documents

Publication Publication Date Title
CN108733756A (zh) 数据预加载方法、装置、电子设备及可读存储介质
US11036814B2 (en) Search engine that applies feedback from users to improve search results
JP6211605B2 (ja) クリックスルー率に基づく検索結果の順位付け
CN107451199B (zh) 问题推荐方法及装置、设备
CN107862022B (zh) 文化资源推荐系统
CN105701216B (zh) 一种信息推送方法及装置
CN105956161B (zh) 一种信息推荐方法和装置
US6640218B1 (en) Estimating the usefulness of an item in a collection of information
US8645390B1 (en) Reordering search query results in accordance with search context specific predicted performance functions
CN106446005B (zh) 因子分解模型
EP2649542A2 (en) Ranking product information
WO2011008848A2 (en) Activity based users' interests modeling for determining content relevance
EP2815335A1 (en) Method of machine learning classes of search queries
CN104050197B (zh) 一种信息检索系统评测方法和装置
US9594809B2 (en) System and method for compiling search results using information regarding length of time users spend interacting with individual search results
CN103745006B (zh) 一种互联网信息搜索系统及方法
CN105574162B (zh) 关键字自动超级链接的方法
WO2015154679A1 (zh) 多搜索引擎搜索结果的排序方法及装置
CN112487283A (zh) 训练模型的方法、装置、电子设备及可读存储介质
CN110175264A (zh) 视频用户画像的构建方法、服务器及计算机可读存储介质
CN109558544A (zh) 排序方法及装置、服务器和存储介质
CN106874402A (zh) 搜索方法和装置
CN106599299A (zh) 一种网站关键词的确定方法及装置
US20110231415A1 (en) Web page searching system and method using access time and frequency
CN106649795A (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