CN115357831A - 一种生成目标页的方法、装置、介质及电子设备 - Google Patents
一种生成目标页的方法、装置、介质及电子设备 Download PDFInfo
- Publication number
- CN115357831A CN115357831A CN202211022669.1A CN202211022669A CN115357831A CN 115357831 A CN115357831 A CN 115357831A CN 202211022669 A CN202211022669 A CN 202211022669A CN 115357831 A CN115357831 A CN 115357831A
- Authority
- CN
- China
- Prior art keywords
- target
- data
- page
- quotation
- cache unit
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/958—Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/957—Browsing optimisation, e.g. caching or content distillation
- G06F16/9577—Optimising the visualization of content, e.g. distillation of HTML documents
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请实施例提供一种生成目标页的方法、装置、介质及电子设备,该方法包括:响应于用户的目标页打开请求,若确认缓存单元中存储有在所述目标页展示的目标数据则从所述缓存单元中获取所述目标数据,其中,所述缓存单元至少用于存储由酒店和供应商所共同限定的各条报价数据,所述缓存单元至少用于存储主动从各供应商接口抓取的属于第一类酒店的各条报价数据,所述缓存单元还用于在目标时段内存储第二类酒店的各条报价数据,所述目标页包括酒店报价列表页或者酒店报价详情页;至少根据所述目标数据生成所述目标页;提供所述目标页。通过本申请的一些实施例有效提升了酒店列表页与详情页价格的一致性,提升了抓取报价数据的延时。
Description
技术领域
本申请涉及页面设计领域,具体而言本申请实施例涉及一种生成目标页的方法、装置、介质及电子设备。
背景技术
相关技术的酒店模块,从搜索开始一直到下单,总共经历了几个主要环节:酒店查询首页(S)、酒店列表(L)、酒店详情(D)、预定(B)、填单(O)、支付(P)。而对于用户来说最希望的就是所见即所得:在最初搜索看到的价格就是最终购买的价格。房价,即是酒店房型售卖的金额。相关技术在用户预定某个房源的过程中在不同页面展示的房价并不一致,例如,在酒店列表页展示某一房源的报价与在酒店详情页显示该待预定的房源的报价不一致,因此造成相关用户不能完成房源预定操作,影响客户预定房源的速度且降低用户体验。
因此如何提升不同页面显示的待预定房价的一致性成了亟待解决的技术问题。
发明内容
本申请实施例的目的在于提供一种生成目标页的方法、装置、介质及电子设备,通过本申请的一些实施例有效提升了酒店列表页与详情页价格的一致性。
第一方面,本申请实施例提供一种生成目标页的方法,所述方法包括:响应于用户的目标页打开请求,若确认缓存单元中存储有在所述目标页展示的目标数据则从所述缓存单元中获取所述目标数据,其中,所述缓存单元至少用于存储由酒店和供应商所共同限定的各条报价数据,所述缓存单元至少用于存储主动从各供应商接口抓取的属于第一类酒店的各条报价数据,所述缓存单元还用于在目标时段内存储第二类酒店的各条报价数据,所述目标页包括酒店报价列表页或者酒店报价详情页;至少根据所述目标数据生成所述目标页;提供所述目标页。
本申请的一些实施例将酒店分为两类,针对第一类酒店(即被客户反复预定的热门酒店)的报价数据是采用主动从供应商接口处主动抓取得到的,针对第二类酒店的报价数据仅在缓存单元上存储一个较短的时长,通过本申请的这些实施例既可以保证各供应商向报价列表页和报价详情页提供的热门酒店(即第一类酒店)的报价数据的一致性,也可以减少缓存单元的数据量因为主动抓取策略而增加过快(由于非热门酒店即第二类酒店的报价相对于第一类酒店的报价数据仅存储一个较短时长)。
在一些实施例中,在所述从所述缓存单元中获取所述目标数据之前,所述方法还包括:生成抓取请求,其中,所述抓取请求用于触发从所述第一类酒店的各供应商的接口抓取报价数据的操作;根据所述抓取请求获取所述目标数据;采用所述目标数据更新所述缓存单元。
本申请的一些实施例为了得到针对第一类酒店的报价数据需要预先生成相应类型的抓取请求,由抓取请求而不是用户触发的方式主动触发抓取第一类酒店的供应商接口的报价数据,提升缓存单元上存储的报价数据与接口提供的报价数据的一致性,进而改善在不同页面(例如,用于预定酒店时生成的报价列表页和报价详情页)展示的报价数据的不一致性。
在一些实施例中,所述目标数据为属于第一供应商的第一接口提供的报价数据,其中,所述生成抓取请求,包括:根据主动抓取策略确认生成第一主动抓取请求,其中,所述第一主动抓取请求用于抓取所述第一接口的报价数据,所述主动抓取策略用于设置相邻两次主动抓取所述第一接口的报价数据的时长间隔,所述时长间隔与所述第一接口的属性相关;所述根据所述抓取请求获取所述目标数据,包括:根据所述第一主动抓取请求从所述第一接口处抓取报价数据,得到所述目标数据。
本申请的一些实施例会根据不同供应商接口的属性来设置主动抓取接口的报价数据的时间间隔,提升技术方案的通用性,并提升缓存单元存储的报价数据与供应商接口提供的报价数据的一致性进而提升生成不同页面上展示的报价数据的一致性(本申请还通过缓存单元来生成报价列表页和报价详情页的技术手段进一步提升了不同页面展示的报价数据的一致性),有效克服了相关技术生成的报价详情页(相关技术依据供应商接口获取该页面展示的报价数据)和生成的报价列表页(相关技术从缓存单元获取该页面展示的报价数据)上所展示的报价数据的不一致性。
在一些实施例中,所述接口属性为相应接口对请求的响应能力。
在一些实施例中,所述生成抓取请求,包括:在确认所述缓存单元存储有过期报价数据时,生成第二主动抓取请求,其中,所述第二主动抓取请求用于从与所述过期报价数据对应的供应商接口处抓取报价数据;所述根据所述抓取请求获取所述目标数据,包括:根据所述第二主动抓取请求从所述属于第一类酒店的目标供应商的接口抓取所述目标数据,其中,所述目标供应商为与所述过期报价数据对应的供应商。
本申请的一些实施例为了提升缓存单元上所存储的报价数据的时效性,还会判断缓存的报价数据是否超过设置的时长并在超过设置的时长时主动生成抓取相应接口的报价数据的抓取请求,提升了缓存单元上存储的报价数据的时效性。
在一些实施例中,在所述至少根据所述目标数据生成所述目标页之前,所述方法还包括:响应于用户的目标页打开请求,若确认所述缓存单元中未存储在所述目标页展示的目标数据则通过供应商接口抓取所述目标数据,其中,所述目标数据属于与所述第一类酒店对应的报价数据。
为了提升技术方案的通用性,本申请的一些实施例对于缓存单元上未存储的报价数据还会采用被动抓取(即由用户触发才生成抓取请求)的方式得到相关报价数据,避免由于缓存单元未存报价数据时无法生成报价列表页或者报价详情页。
在一些实施例中,所述通过供应商接口抓取所述目标数据,包括:响应于所述用户打开所述目标页的请求,生成被动抓取请求;根据所述被动抓取请求从所述供应商接口抓取所述目标数据;将所述目标数据更新至所述缓存单元。
本申请的一些实施例在用户点击展示某个报价页面时被动生成抓取请求来抓取相应接口的报价数据。
在一些实施例中,在所述至少根据所述目标数据生成所述目标页之前,所述方法还包括:响应于用户的目标页打开请求,若确认所述缓存单元中未存储在所述目标页展示的目标数据则通过供应商接口抓取所述目标数据,其中,所述目标数据属于与所述第二类酒店对应的报价数据。
本申请的一些实施例若确认缓存单元未存第二类酒店(即非热门酒店)对应的报价数据,则从供应商接口抓取这类报价数据,并根据抓取的报价数据生成展示页。
在一些实施例中,在所述通过供应商接口抓取所述目标数据之后,所述方法还包括:将所述目标数据更新至所述缓存单元,其中,所述目标数据在所述缓存单元的存储时长为所述目标时长。
本申请的一些实施例会在缓存单元上暂存第二类酒店的报价数据,可以提升针对这类酒店的多个相关展示页的页面生成速度。
在一些实施例中,所述至少根据所述目标数据生成所述目标页,包括:对所述目标数据进行价格聚合得到所述目标页的展示数据。
本申请的一些实施例还通过价格聚合的方式来得到目标页的展示数据,以提供给用户其感兴趣的报价数据。
第二方面,本申请的一些实施例提供一种生成目标页的装置,所述装置包括:目标数据获取模块,被配置为响应于用户的目标页打开请求,若确认缓存单元中存储有在所述目标页展示的目标数据则从所述缓存单元中获取所述目标数据,其中,所述缓存单元至少用于存储由酒店和供应商所共同限定的各条报价数据,所述缓存单元至少用于存储主动从各供应商接口抓取的属于第一类酒店的各条报价数据,所述缓存单元还用于在目标时段内存储第二类酒店的各条报价数据,所述目标页包括酒店报价列表页或者酒店报价详情页;目标页生成模块,被配置为至少根据所述目标数据生成所述目标页;提供模块,被配置为提供所述目标页。
第三方面,本申请的一些实施例提供一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时可实现如第一方面任意实施例所述的方法。
第四方面,本申请的一些实施例提供一种电子设备,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,其中,所述处理器执行所述程序时可实现如第一方面任意实施例所述的方法。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为相关技术提供的酒店预订过程架构图;
图2为本申请实施例提供的酒店预订系统架构图;
图3为本申请实施例提供的生成目标页的方法流程图之一;
图4为本申请实施例提供的生成目标页的方法流程图之二;
图5为本申请实施例提供的生成目标页的装置的组成框图;
图6为本申请实施例提供的电子设备组成示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本申请的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
下面结合列表页和详情页示例性阐述现有技术的缺陷。
列表页(L)在客户端一页会展示几十家酒店,对于后端接口来说这几十家酒店对应几十页详情页(D)页搜索。再看代理商接口(或称为供应商接口),一个酒店可能有多个代理商(或称为供应商)都有售卖,那么要调用多个代理商接口(或称为供应商接口)才能获取到尽可能更优质的酒店报价。但是不同代理商接口提供的每秒请求响应最大次数(qps)是不一样的,从个位数到百位;单次请求的响应时间从1s到10s。绝大多数的代理商提供的qps体量远小于列表页L实时搜索所需要的体量,并且用户在进行搜索后也不可能等待10s中获取L页的全部报价。因此,实时调用不可以,那么若完全使用缓存,在列表页和详情页全部使用缓存展示同一份报价,那么必然能保证列表页转详情页环节顺畅度100%,但是列表页转详情页这单一环节使用缓存必然会导致大量的报价会在详情页转预定页D-B环节发生房价的变化,导致大量用户在预订过程中产生变价提示,大影响了用户的预订体验。
请参看图1,图1为相关技术在实现酒店预订过程架构图,该图包括供应商接口回数w4、报价缓存、报价逻辑以及报价结果共四个模块,其中,报价缓存模块对应一个缓存单元,在该缓存单元上以酒店为检索单元存储各个供应商对该酒店的报价数据,报价逻辑模块可以对从缓存读取的报价数据进行过滤、包装、定价等操作得到操作结果,报价结果模块根据报价逻辑模块的操作结果生成报价详情页Detail报价和报价列表页List报价。
结合相关技术的描述可知,将报价结构抽象一下,可以很清晰看出售前报价视作输出,报价逻辑视作函数,报价缓存视作输入。那么可以得出一个结论是要想提高报价列表页至报价详情页L-D顺畅度指标需要分析报价缓存在L-D环节不一致的原因。而相关技术公开的报价缓存是依赖抓取回数进行更新,因此为了改善报价列表页和报价缓存页的不一致性报价本申请的一些实施例对抓取调度机制进行了调整和改造。
原有的抓取调度机制,当一个用户进行报价列表页L或报价详情页D页访问时,会优先展示缓存报价,并发送该酒店下所有wrapper抓取消息到调度系统。调度系统会判断该次抓取是否需要进行,如果不需要则忽略本次消息,需要的话再实时告诉下游系统对供应商接口进行报价抓取。通过维护了一份上次抓取时间和需要缓存的时间用于判断,当本次抓取时间和上次抓取时间的时间差小于需要缓存的时间,那么判断本次不需要抓取。当抓取完成后,视情况可能会更新用户侧展示的报价。结合上述描述不难发现,相关技术在展示报价详情页内容时该D页基本是依赖实时报价,而报价列表页即L页所展示的报价数据是依赖缓存单元所存储的报价,因此造成两者报价不一致。
结合上述描述不难理解,现有全部使用实时报价(即全部报价数据均是通过从供应商接口实时获取的报价数据)和或者全部使用缓存(即所有的报价数据均是从缓存单元读取的缓存数据),都会导致用户侧的体验变得很差,或者响应时间很长,或者数据准确性很差,至少为了解决这些技术问题本申请的一些实施例针对抓取调度策略进行调整,对多环节统一的合理的缓存以及更新机制运转,可以使得列表页和详情页的价格一致性达到整体较好的效果。
本申请一些实施例的策略基调锁定在合理的调配和利用供应商接口资源,建立基于离线缓存的报价策略。例如,采用离线抓取方式得到对指标影响最大的热门酒店的报价(即属于第一类酒店的各条报价数据),做到热门报价(即属于第一类酒店的各条报价数据)的自动更新来保障报价的新鲜度。
下面结合图2示例性阐述本申请一些实施例的系统架构图。
图2包括客户端设备200、展示页面生成服务器100以及多个供应商的接口服务器(即图2的第一接口服务器301、第二接口服务器302以及第三接口服务器303)。
用户通过图2的客户端200向展示页面生成服务器100发起页面打开请求(即目标页打开请求),例如,由客户端设备200生成打开报价列表页的请求并向展示页面生成服务器100发送该请求。
展示页面生成服务器100响应于来自于客户端设备200的目标页打开请求而生成相应的目标页,并向客户端设备200反馈该目标页。
需要说明的是,本申请的一些实施例的展示页面生成服务器100无论是否收到来自于客户端设备200的目标页打开请求,均会向供应商接口发送抓取请求(即主动抓取请求),相应的接口服务器在收到抓取请求后会向展示页面生成服务器100反馈对应的报价数据,之后该展示页面生成服务器会将得到的最新报价数据存储在缓存单元上(图中未示),例如,该缓存单元位于展示页面生成服务器上,也可以位于独立于展示页面生成服务器100的另一个服务器上。
本申请的一些实施例的将相关技术中只有用户触发才被动从供应商接口抓取报价数据后再在缓存单元缓存的方案,变更为热门报价(即第一酒店的报价数据)进行主动抓取缓存,且缓存粒度也从原有以酒店维度的全量缓存,变更为本申请实施例的供应商维度细颗粒度的缓存。
结合上文描述可知,相关技术在生成报价列表页时依据的是缓存的报价数据,在生成报价详情页时依据的从供应商接口处抓取的报价数据因此造成报价列表页和报价详情页的报价不一致导致用户的酒店预订过程受阻或者无法继续进行,而本申请的一些实施例在生成报价列表页和报价详情页时均优先依据缓存单元存储的数据来生成相关页面的展示数据,因此有效克服了报价列表页和报价详情页的报价不一致的技术缺陷,明显提升客户体验。
下面结合图3示例性阐述由图2的展示页面生成服务器100执行的生成目标页的方法。
如图3所示,本申请实施例提供一种生成目标页的方法,该方法包括:S101,响应于用户的目标页打开请求,若确认缓存单元中存储有在所述目标页展示的目标数据则从所述缓存单元中获取所述目标数据,其中,所述缓存单元至少用于存储由酒店和供应商所共同限定的各条报价数据,所述缓存单元至少用于存储主动从各供应商接口抓取的属于第一类酒店的各条报价数据,所述缓存单元还用于在目标时段内存储第二类酒店的各条报价数据,所述目标页包括酒店报价列表页或者酒店报价详情页;S102,至少根据所述目标数据生成所述目标页;S103,提供所述目标页。
也就是说,本申请的一些实施例将酒店分为两类,针对这两类酒店的报价数据均有限从缓存单元获取,且缓存单元上存储的针对第一类酒店(即被客户反复预定的热门酒店)的报价数据是采用主动从供应商接口处主动抓取得到的,针对缓存单元上存储的第二类酒店的报价数据仅在缓存单元上存储一个较短的时长若缓存单元无该第二类酒店的报价数据时就通过从相应供应商接口抓取得到,由于本申请的这些实施例无论生成那种目标页(报价列表页或报价详情页)均从缓存模块得到报价数据因此既可以保证各供应商向报价列表页和报价详情页提供的热门酒店(即第一类酒店)的报价数据的一致性,也可以通过限制第二类酒店(非热门酒店)的报价数据的在缓存单元的存储时长减少缓存单元的数据量。
需要说明的是,在缓存单元上存储的第一类酒店的目标数据是通过主动抓取方式获取的。下面示例性阐述主动抓取方式得到目标数据的过程。
在本申请的一些实施例中,在S101所述从所述缓存单元中获取所述目标数据之前所述方法还包括:
第一步,生成抓取请求,其中,所述抓取请求用于触发从所述第一类酒店的各供应商的接口抓取报价数据的操作。
第二步,根据所述抓取请求获取所述目标数据;采用所述目标数据更新所述缓存单元。
也就是说,本申请的一些实施例为了得到针对第一类酒店的报价数据需要预先生成相应类型的抓取请求,由抓取请求而不是用户触发的方式主动触发抓取第一类酒店的供应商接口的报价数据,提升缓存单元上存储的报价数据与接口提供的报价数据的一致性,进而改善在不同页面(例如,用于预定酒店时生成的报价列表页和报价详情页)展示的报价数据的不一致性。
例如,在一些实施例中,所述目标数据为属于第一供应商的第一接口提供的报价数据,其中,第一步所述生成抓取请求的过程示例性包括:根据主动抓取策略确认生成第一主动抓取请求,其中,所述第一主动抓取请求用于抓取所述第一接口的报价数据,所述主动抓取策略用于设置相邻两次主动抓取所述第一接口的报价数据的时长间隔,所述时长间隔与所述第一接口的属性相关。相应的第二步所述根据所述抓取请求获取所述目标数据的过程示例性包括:根据所述第一主动抓取请求从所述第一接口处抓取报价数据,得到所述目标数据。例如,所述接口属性为相应接口对请求的响应能力。
不难理解的是,本申请的一些实施例会根据不同供应商接口的属性来设置主动抓取接口的报价数据的时间间隔,提升技术方案的通用性,并提升缓存单元存储的报价数据与供应商接口提供的报价数据的一致性进而提升生成不同页面上展示的报价数据的一致性(本申请还通过缓存单元来生成报价列表页和报价详情页的技术手段进一步提升了不同页面展示的报价数据的一致性),有效克服了相关技术生成的报价详情页(相关技术依据供应商接口获取该页面展示的报价数据)和生成的报价列表页(相关技术从缓存单元获取该页面展示的报价数据)上所展示的报价数据的不一致性。
例如,在本申请的一些实施例中,第一步所述生成抓取请求的过程示例性包括:在确认所述缓存单元存储有过期报价数据时,生成第二主动抓取请求,其中,所述第二主动抓取请求用于从与所述过期报价数据对应的供应商接口处抓取报价数据;相应的第二步所述根据所述抓取请求获取所述目标数据的过程示例性包括:根据所述第二主动抓取请求从所述属于第一类酒店的目标供应商的接口抓取所述目标数据,其中,所述目标供应商为与所述过期报价数据对应的供应商。
不难理解的是,本申请的一些实施例为了提升缓存单元上所存储的报价数据的时效性,还会判断缓存的报价数据是否超过设置的时长并在超过设置的时长时主动生成抓取相应接口的报价数据的抓取请求,提升了缓存单元上存储的报价数据的时效性。
需要说明的是,若缓存单元未缓存相关目标数据时为了生成目标页需要通过被动抓取(即由用户的某个操作触发生成抓取请求)的方式得到目标数据,下面示例性阐述该过程。
在本申请的一些实施例中,在S102所述至少根据所述目标数据生成所述目标页之前,所述方法还包括:
响应于用户的目标页打开请求,若确认所述缓存单元中未存储在所述目标页展示的目标数据则通过供应商接口抓取所述目标数据,其中,所述目标数据属于与所述第一类酒店对应的报价数据。例如,在本申请的一些实施例中,所述通过供应商接口抓取所述目标数据的过程示例性包括:响应于所述用户打开所述目标页的请求,生成被动抓取请求;根据所述被动抓取请求从所述供应商接口抓取所述目标数据;将所述目标数据更新至所述缓存单元。
可以理解的是,为了提升技术方案的通用性,本申请的一些实施例对于缓存单元上未存储的报价数据还会采用被动抓取(即由用户触发才生成抓取请求)的方式得到相关报价数据,避免由于缓存单元未存报价数据时无法生成报价列表页或者报价详情页。本申请的一些实施例在用户点击展示某个报价页面时被动生成抓取请求来抓取相应接口的报价数据。
在本申请的一些实施例中,在S102所述至少根据所述目标数据生成所述目标页之前,所述方法还包括:响应于用户的目标页打开请求,若确认所述缓存单元中未存储在所述目标页展示的目标数据则通过供应商接口抓取所述目标数据,其中,所述目标数据属于与所述第二类酒店对应的报价数据。需要说明的是,为了提升生成相关页面的速度,在本申请的一些实施例中,在所述通过供应商接口抓取所述目标数据之后,所述方法还包括:将所述目标数据更新至所述缓存单元,其中,所述目标数据在所述缓存单元的存储时长为所述目标时长。
本申请的一些实施例若确认缓存单元未存第二类酒店(即非热门酒店)对应的报价数据,则从供应商接口抓取这类报价数据,并根据抓取的报价数据生成展示页。本申请的一些实施例会在缓存单元上暂存第二类酒店的报价数据,可以提升针对这类酒店的多个相关展示页的页面生成速度。
需要说明的是,在本申请的一些实施例中,所述至少根据所述目标数据生成所述目标页,包括:对所述目标数据进行价格聚合得到所述目标页的展示数据。本申请的一些实施例还通过价格聚合的方式来得到目标页的展示数据,以提供给用户其感兴趣的报价数据。
下面结合图4示例性阐述本申请一些实施例提供的生成报价列表页(即了列表L)和报价详情页(即详情D)的过程。
如图4本申请一些实施例提供的解决酒店列表页与详情页价格一致性优化方案流程,包括如下流程:
步骤1:用户触发列表(L)模块,该模块根据用户预订的城市、入住时间、离店时间等条件搜索酒店列表,展示该酒店所有房型中所有供应商给出的最低价(含加价)。
步骤2:用户触发详情(D)模块,该模块根据用户选中的列表页的特定酒店,展示该酒店下所有房型的供应商的报价信息。
步骤3:酒店报价实时数据获取模块,该模块中每个酒店从供应商维度的酒店的按照时间的报价缓存去获取报价信息,如果是非热门城市酒店(作为第一类酒店即热门酒店的一个示例),需要实时读取供应商接口实时获取报价信息,这样由于缓存更新频率的准确性提高,保证了热门城市酒店价格的准确度,同时,针对非热门城市酒店(作为第二类酒店即非热门酒店的一个示例),通过实时获取也保证了非热门酒店的报价准确性,同时不管是酒店列表页的价格还是酒店详情页的价格,都是从同一份缓存中获取,保证了数据一致性,另外由于缓存的覆盖度,也保证了用户侧的响应时间。
步骤4:供应商维度的报价缓存模块,该模块存储供应商维度按照不同供应商、酒店、入离日期进行缓存,粒度变细。
步骤5:非热门酒店实时抓取,该模块执行对该类型酒店直接从供应商提供的接口处直接抓取相应报价数据。
步骤6:主动抓取定时任务规则设定模块,该模块根据不同供应商QPS的接口响应能力,用户入离日期的主要天数、热门城市的选取、酒店变价的集中时间等维度制定定时任务执行策略。
步骤7:缓存过期处理模块,该模块对于缓存过期的时间策略设定以及过期后的触发相对应的离线报价抓取,该策略与主动抓取策略配合使用,属于补充机制。
步骤8:热门酒店主动抓取申请模块,该模块按照上述步骤6、7的触发机制,响应其抓取的动作,提供从不同供应商进行数据抓取申请。
步骤9:用户触发主动抓取模块,该模块针对用户触发操作列表(L)和详情(D)之后,提供从不同供应商进行数据抓取申请。
步骤10:根据供应商的QPS结合主动抓取和用户触发两部分请求申请,以及当前剩余的供应商每日限额,统一调配抓取接口请求。
步骤11:按照步骤10的调度,进行酒店报价接口抓取请求动作。
需要说明的是,本申请的一些实施例增加了抓取调度与处理系统,原有只有触发式酒店报价抓取系统,本申请一些实施例增加了根据不同供应商每秒接口最大请求次数QPS,根据热门与非热门城市、用户入离日期集中时间、每日更新价格集中时间等维度进行策略设定与抓取,并提供流量配置与调用机制。本申请一些实施例的报价缓存Cache系统,拆分原有酒店维度的整体大缓存,为颗粒度更细致的供应商维度的缓存。本申请的一些实施例用户系统,包括酒店详情页(L)和酒店详情页(D)的用户触发的展示,调用上述搜索系统获取响应结果,由于使用了同样一份数据源,因此一致性和响应速度有大幅度提升。
请参考图5,图5示出了本申请实施例提供的生成目标页的装置,应理解,该装置与上述图3方法实施例对应,能够执行上述方法实施例涉及的各个步骤,该装置的具体功能可以参见上文中的描述,为避免重复,此处适当省略详细描述。装置包括至少一个能以软件或固件的形式存储于存储器中或固化在装置的操作系统中的软件功能模块,该生成目标页的装置,包括:目标数据获取模块101、目标页生成模块102以及提供模块103。
目标数据获取模块,被配置为响应于用户的目标页打开请求,若确认缓存单元中存储有在所述目标页展示的目标数据则从所述缓存单元中获取所述目标数据,其中,所述缓存单元至少用于存储由酒店和供应商所共同限定的各条报价数据,所述缓存单元至少用于存储主动从各供应商接口抓取的属于第一类酒店的各条报价数据,所述缓存单元还用于在目标时段内存储第二类酒店的各条报价数据,所述目标页包括酒店报价列表页或者酒店报价详情页。
目标页生成模块,被配置为至少根据所述目标数据生成所述目标页。
提供模块,被配置为提供所述目标页。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的装置的具体工作过程,可以参考前述方法中的对应过程,在此不再过多赘述。
本申请的一些实施例提供一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时可实现如上述生成目标页的方法所包括的任意实施例所述的方法。
如图6所示,本申请的一些实施例提供一种电子设备500,包括存储器510、处理器520以及存储在所述存储器510上并可在所述处理器520上运行的计算机程序,其中,所述处理器520通过总线530从存储器510读取程序并执行所述程序时可实现如上述生成目标页的方法所包括的任意实施例所述的方法。
处理器520可以处理数字信号,可以包括各种计算结构。例如复杂指令集计算机结构、结构精简指令集计算机结构或者一种实行多种指令集组合的结构。在一些示例中,处理器520可以是微处理器。
存储器510可以用于存储由处理器520执行的指令或指令执行过程中相关的数据。这些指令和/或数据可以包括代码,用于实现本申请实施例描述的一个或多个模块的一些功能或者全部功能。本公开实施例的处理器520可以用于执行存储器510中的指令以实现图3中所示的方法。存储器510包括动态随机存取存储器、静态随机存取存储器、闪存、光存储器或其它本领域技术人员所熟知的存储器。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本申请的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅为本申请的实施例而已,并不用于限制本申请的保护范围,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应所述以权利要求的保护范围为准。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
Claims (13)
1.一种生成目标页的方法,其特征在于,所述方法包括:
响应于用户的目标页打开请求,若确认缓存单元中存储有在所述目标页展示的目标数据则从所述缓存单元中获取所述目标数据,其中,所述缓存单元至少用于存储由酒店和供应商所共同限定的各条报价数据,所述缓存单元至少用于存储主动从各供应商接口抓取的属于第一类酒店的各条报价数据,所述缓存单元还用于在目标时段内存储第二类酒店的各条报价数据,所述目标页包括酒店报价列表页或者酒店报价详情页;
至少根据所述目标数据生成所述目标页;
提供所述目标页。
2.如权利要求1所述的方法,其特征在于,在所述从所述缓存单元中获取所述目标数据之前,所述方法还包括:
生成抓取请求,其中,所述抓取请求用于触发从所述第一类酒店的各供应商的接口抓取报价数据的操作;
根据所述抓取请求获取所述目标数据;
采用所述目标数据更新所述缓存单元。
3.如权利要求2所述的方法,其特征在于,所述目标数据为属于第一供应商的第一接口提供的报价数据,其中,
所述生成抓取请求,包括:
根据主动抓取策略确认生成第一主动抓取请求,其中,所述第一主动抓取请求用于抓取所述第一接口的报价数据,所述主动抓取策略用于设置相邻两次主动抓取所述第一接口的报价数据的时长间隔,所述时长间隔与所述第一接口的接口属性相关;
所述根据所述抓取请求获取所述目标数据,包括:
根据所述第一主动抓取请求从所述第一接口处抓取报价数据,得到所述目标数据。
4.如权利要求3所述的方法,其特征在于,所述接口属性为相应接口对请求的响应能力。
5.如权利要求2所述的方法,其特征在于,
所述生成抓取请求,包括:
在确认所述缓存单元存储有过期报价数据时,生成第二主动抓取请求,其中,所述第二主动抓取请求用于从与所述过期报价数据对应的供应商接口处抓取报价数据;
所述根据所述抓取请求获取所述目标数据,包括:
根据所述第二主动抓取请求从所述属于第一类酒店的目标供应商的接口抓取所述目标数据,其中,所述目标供应商为与所述过期报价数据对应的供应商。
6.如权利要求1所述的方法,其特征在于,在所述至少根据所述目标数据生成所述目标页之前,所述方法还包括:
响应于用户的目标页打开请求,若确认所述缓存单元中未存储在所述目标页展示的目标数据则通过供应商接口抓取所述目标数据,其中,所述目标数据属于与所述第一类酒店对应的报价数据。
7.如权利要求6所述的方法,其特征在于,
所述通过供应商接口抓取所述目标数据,包括:
响应于所述用户打开所述目标页的请求,生成被动抓取请求;
根据所述被动抓取请求从所述供应商接口抓取所述目标数据;
将所述目标数据更新至所述缓存单元。
8.如权利要求1所述的方法,其特征在于,在所述至少根据所述目标数据生成所述目标页之前,所述方法还包括:
响应于用户的目标页打开请求,若确认所述缓存单元中未存储在所述目标页展示的目标数据则通过供应商接口抓取所述目标数据,其中,所述目标数据属于与所述第二类酒店对应的报价数据。
9.如权利要求8所述的方法,其特征在于,在所述通过供应商接口抓取所述目标数据之后,所述方法还包括:
将所述目标数据更新至所述缓存单元,其中,所述目标数据在所述缓存单元的存储时长为目标时长,所述目标时长用于限定所述目标时段。
10.如权利要求1所述的方法,其特征在于,所述至少根据所述目标数据生成所述目标页,包括:对所述目标数据进行价格聚合得到所述目标页的展示数据。
11.一种生成目标页的装置,其特征在于,所述装置包括:
目标数据获取模块,被配置为响应于用户的目标页打开请求,若确认缓存单元中存储有在所述目标页展示的目标数据则从所述缓存单元中获取所述目标数据,其中,所述缓存单元至少用于存储由酒店和供应商所共同限定的各条报价数据,所述缓存单元至少用于存储主动从各供应商接口抓取的属于第一类酒店的各条报价数据,所述缓存单元还用于在目标时段内存储第二类酒店的各条报价数据,所述目标页包括酒店报价列表页或者酒店报价详情页;
目标页生成模块,被配置为至少根据所述目标数据生成所述目标页;
提供模块,被配置为提供所述目标页。
12.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时可实现权利要求1-10中任意一项权利要求所述的方法。
13.一种电子设备,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,其中,所述处理器执行所述程序时可实现权利要求1-10中任意一项权利要求所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211022669.1A CN115357831A (zh) | 2022-08-25 | 2022-08-25 | 一种生成目标页的方法、装置、介质及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211022669.1A CN115357831A (zh) | 2022-08-25 | 2022-08-25 | 一种生成目标页的方法、装置、介质及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115357831A true CN115357831A (zh) | 2022-11-18 |
Family
ID=84005332
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211022669.1A Pending CN115357831A (zh) | 2022-08-25 | 2022-08-25 | 一种生成目标页的方法、装置、介质及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115357831A (zh) |
-
2022
- 2022-08-25 CN CN202211022669.1A patent/CN115357831A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8898267B2 (en) | Modifying information lifecycle management rules in a distributed system | |
JP6138915B2 (ja) | バッチ指向型の計算を用いるデータベースシステム | |
US7552113B2 (en) | System and method for managing search results and delivering advertising and enhanced effectiveness | |
US20020013729A1 (en) | Advertisement presentation system | |
US7310658B2 (en) | Method for tracking responses to a forum topic | |
JP2004133886A (ja) | コンピュータネットワークサーチエンジンにより発生されるサーチ結果リスト上の位置に作用するシステム及び方法における拡張可能なマークアップ言語の使用 | |
KR20110100631A (ko) | 모바일 광고 최적화 아키텍처 | |
US20170193564A1 (en) | Determining whether to send a call-out to a bidder in an online content auction | |
CN106487920B (zh) | 内容发布管理的方法及内容发布终端 | |
CN110910203A (zh) | 一种商品页面的内容展示方法及装置 | |
JP4697815B2 (ja) | 広告表示システム、広告表示サーバ装置、オークション広告表示複合システム、広告表示システムの制御方法、およびオークション広告表示複合システムの制御方法 | |
US20190050451A1 (en) | System and method for searching structured data files | |
WO2024109558A1 (zh) | 推荐数据的处理方法、推荐方法、电子设备及存储介质 | |
US8074234B2 (en) | Web service platform for keyword technologies | |
US20020116354A1 (en) | Method and system for transforming session data | |
JP2002157498A (ja) | バナーシステムとそのバナー管理方法、及びバナー管理プログラムを記録した記録媒体 | |
US8949432B2 (en) | Identity management | |
WO2016081862A1 (en) | System and method for searching structured data files | |
WO2014201537A1 (en) | System and method for generating personalized websites | |
CN115357831A (zh) | 一种生成目标页的方法、装置、介质及电子设备 | |
US10496937B2 (en) | Travel service information display system, travel service information display method, travel service information display program, and information recording medium | |
US20160275535A1 (en) | Centralized system for progressive price management | |
CN115936703A (zh) | 支付渠道的展示方法、装置、计算机设备及可读存储介质 | |
CN108319622A (zh) | 一种媒体内容推荐方法及装置 | |
JP2004206586A (ja) | ソフトウェア部品流通支援方法、その方法を実現するためのソフトウェア部品流通支援システムおよびプログラム |
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 |