System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及民航,具体涉及一种航班缓存更新方法、装置、存储介质以及设备。
技术介绍
1、运价搜索过程中需要对海量的航班数据进行分析和计算,并与运价规则和逻辑进行耦合,解决最短时间内在海量数据空间中求到最优解的问题,业务复杂度高。当前,全球航空公司的数量接近700家,每天执行的直达航班数量就超过20万班,每个航班又分为近20个舱位,每个舱位分配若干个座位以便进行销售,舱位的可用座位数量随销售时时刻刻都在改变,如果对于每个业务请求,系统都去航空公司pss系统实时查询舱位状态,一是响应时间会非常可观,二是系统交互成本会非常高,所以一般的运价搜索系统都会选择使用缓存技术来处理舱位状态数据。
2、目前大多数运价搜索系统对于航班舱位缓存都是使用固定或分段ttl(time tolive)的模式,这种模式下,ttl相对固定,当请求进入运价搜索阶段时,缓存还在ttl范围内,系统就会直接使用缓存数据。当航班舱位状态在这个ttl范围内恰好发生了变化,那么系统当前使用的缓存数据就不是最准确的,有可能导致最终给用户返回的结果集就不是最优的。尤其在航班某个舱位只剩一个座位的情况下,如果有人订座后又取消,又有用户再次订座,这个过程中就很可能导致运价搜索缓存更新不及时的情况,导致用户请求响应结果错误的情况。
技术实现思路
1、有鉴于此,本专利技术实施例提供一种航班缓存更新方法、装置、存储介质以及设备,以实现用户请求的精准响应。
2、为实现上述目的,本专利技术实施例提供如下技术方案:
>3、一种航班缓存更新方法,包括:
4、获取用户请求;
5、解析所述用户请求,获取目标航班;
6、判断所述目标航班对应的航班舱位状态缓存数据是否位于ttl有效期内;
7、当位于ttl有效期内时,读取所述目标航班对应的航班avs报文数据以及所述航班avs报文数据的时间戳;
8、判断所述航班avs报文数据的时间戳是否晚于所述航班舱位状态缓存数据的时间戳;
9、当所述航班avs报文数据的时间戳不晚于所述航班舱位状态缓存数据的时间戳时,基于所述航班舱位状态缓存数据响应所述用户请求。
10、可选的,上述航班缓存更新方法中,当所述航班avs报文数据的时间戳晚于所述航班舱位状态缓存数据的时间戳时,还包括:
11、基于所述航班avs报文数据,判断所述目标航班的舱位是否全部关闭;
12、当全部关闭时,范围用于表征舱位全部关闭的响应信息。
13、可选的,上述航班缓存更新方法中,当所述目标航班的舱位未全部关闭时,方法还包括:
14、将所述用户请求发送至对应的航空公司的pss系统,并发起实时请求以更新航班舱位状态缓存数据。
15、可选的,上述航班缓存更新方法中,当所述目标航班对应的航班舱位状态缓存数据未位于ttl有效期内时,方法还包括:
16、将所述用户请求发送至对应的航空公司的pss系统,并发起实时请求以更新航班舱位状态缓存数据。
17、可选的,上述航班缓存更新方法中,获取用户请求之前,还包括:
18、由各目标航空公司的pss系统接收并存储各个航班对应的航班avs报文数据,以及获取到所述航班avs报文数据的时间戳。
19、可选的,上述航班缓存更新方法中,判断所述目标航班对应的航班舱位状态缓存数据是否位于ttl有效期内之前,还包括:
20、基于预设时长内的旅客出行人数的数量配置ttl有效期,其中,所述预设时长内的旅客出行人数越大,所配置的ttl有效期的时长越短。
21、可选的,上述航班缓存更新方法中,判断所述目标航班对应的航班舱位状态缓存数据是否位于ttl有效期内之前,还包括:
22、获取当前时间;
23、判断当前时间是否位于预设的出行旺季时间段;
24、当所述当前时间位于预设的出行旺季时间段时,配置所述ttl有效期的时长为第一时长;
25、当所述当前时间没有位于预设的出行旺季时间段时,配置所述ttl有效期的时长为第二时长。
26、一种航班缓存更新装置,包括:
27、请求获取单元,用于获取用户请求,解析所述用户请求,获取目标航班;
28、有效期判断单元,用于判断所述目标航班对应的航班舱位状态缓存数据是否位于ttl有效期内;
29、缓存数据可靠性判断单元,用于当位于ttl有效期内时,读取所述目标航班对应的航班avs报文数据以及所述航班avs报文数据的时间戳;判断所述航班avs报文数据的时间戳是否晚于所述航班舱位状态缓存数据的时间戳;
30、请求响应单元,用于当所述航班avs报文数据的时间戳不晚于所述航班舱位状态缓存数据的时间戳时,基于所述航班舱位状态缓存数据响应所述用户请求。
31、一种存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时,实现上述任意一项所述的航班缓存更新方法的各个步骤。
32、一种航班缓存更新设备,包括:
33、存储器和处理器;
34、所述存储器存储有适于所述处理器执行的程序,所述程序用于:
35、获取用户请求;
36、解析所述用户请求,获取目标航班;
37、判断所述目标航班对应的航班舱位状态缓存数据是否位于ttl有效期内;
38、当位于ttl有效期内时,读取所述目标航班对应的航班avs报文数据以及所述航班avs报文数据的时间戳;
39、判断所述航班avs报文数据的时间戳是否晚于所述航班舱位状态缓存数据的时间戳;
40、当所述航班avs报文数据的时间戳不晚于所述航班舱位状态缓存数据的时间戳时,基于所述航班舱位状态缓存数据响应所述用户请求。
41、基于上述技术方案,在获取到用户请求以后,首先采用ttl有效期判断所述航班舱位状态缓存数据是否可靠,当通过ttl有效期判定所述航班舱位状态缓存数据可靠时,基于采用航班avs报文数据的时间戳判断所述航班舱位状态缓存数据是否可靠,当通过所述航班avs报文数据的时间戳再次判断所述航班舱位状态缓存数据可靠时,判定所述航班舱位状态缓存数据能够用于响应用户请求,保证了用户请求的响应结果的可靠性。
本文档来自技高网...【技术保护点】
1.一种航班缓存更新方法,其特征在于,包括:
2.根据权利要求1所述的航班缓存更新方法,其特征在于,当所述航班AVS报文数据的时间戳晚于所述航班舱位状态缓存数据的时间戳时,还包括:
3.根据权利要求2所述的航班缓存更新方法,其特征在于,当所述目标航班的舱位未全部关闭时,方法还包括:
4.根据权利要求1所述的航班缓存更新方法,其特征在于,当所述目标航班对应的航班舱位状态缓存数据未位于TTL有效期内时,方法还包括:
5.根据权利要求1所述的航班缓存更新方法,其特征在于,获取用户请求之前,还包括:
6.根据权利要求1所述的航班缓存更新方法,其特征在于,判断所述目标航班对应的航班舱位状态缓存数据是否位于TTL有效期内之前,还包括:
7.根据权利要求6所述的航班缓存更新方法,其特征在于,判断所述目标航班对应的航班舱位状态缓存数据是否位于TTL有效期内之前,还包括:
8.一种航班缓存更新装置,其特征在于,包括:
9.一种存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时,实现
10.一种航班缓存更新设备,其特征在于,包括:
...【技术特征摘要】
1.一种航班缓存更新方法,其特征在于,包括:
2.根据权利要求1所述的航班缓存更新方法,其特征在于,当所述航班avs报文数据的时间戳晚于所述航班舱位状态缓存数据的时间戳时,还包括:
3.根据权利要求2所述的航班缓存更新方法,其特征在于,当所述目标航班的舱位未全部关闭时,方法还包括:
4.根据权利要求1所述的航班缓存更新方法,其特征在于,当所述目标航班对应的航班舱位状态缓存数据未位于ttl有效期内时,方法还包括:
5.根据权利要求1所述的航班缓存更新方法,其特征在于,获取用户请求之前,还包括:
【专利技术属性】
技术研发人员:郭丹,张宏海,田丰,武学成,张存正,白洁,杨启凡,战颖,
申请(专利权)人:中国民航信息网络股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。