史上最全航司缓存系统全流程泳道图、流程图
2022-11-09 21:55:06 1 举报
航司缓存系统流程图,包括航班查询&缓存更新等机制
作者其他创作
大纲/内容
N
查询&更新缓存流程
Y
采购发起查询请求
调用供应商接口
结束
只针对舱位本身有变化舱位数量有变化,不写入。
1、航司查询&更新缓存流程
在缓存库中查询 ID
记录提取票号的时间
开始
向供应商查询航班数据
统计 ID 的命中次数
AGG 服务
根据报价座位限制参数、缓存人数中储存的实际座位数,计算需要返回给采购的座位数
批量同步票号状态
报价座位限制参数、缓存人数、AP 均在航线管理处进行设置
批量提取票号状态
舱位是否有变化?
是否符合同步状态前置条件?
读取报价座位数限制参数、缓存人数
是否满足缓存更新条件?
如,设置的报价位数限制=1,缓存人数为 3、6、9 :1、若请求人数为 1、2 ,则报缓存人数为 3 的价;2、若请求人数为 3、4、5 ,则报缓存人数为 6 的价;3、若请求人数为 6、7、8、9,则报缓存人数为 9 的价;
1、若提取票号状态失败,则显示失败原因和对应状态码;2、提取成功和原来逻辑保持不变。
返回航班信息
记录票号获取时间
如,设置的报价位数限制=1,缓存人数为 3、6、9 中的座位数分别为 3、6、9:1、若请求人数为 1、2 ,取缓存人数为 3 中的座位数,并减去 1,实际返回座位数为 2;2、若请求人数为 3、4、5 ,取缓存人数为 6 的座位数,并减去 1,实际返回座位数为 5;3、若请求人数为 6、7、8、9,取缓存人数为 9 的座位数,且返回实际座位数(不作处理)。
AdapterRouter服务
供应商
航班信息是否有变化?
成功获取航班信息
将票号状态同步至对应票号的订单和账单中
若所有缓存人数都更新失败,则需要将数据回滚
根据请求人数、报价座位数限制参数,定位需要被报价的缓存人数
返回查询结果
触发缓存更新
需要将提前设定的缓存人数分别更新完如,设定的缓存人数为 3、6、9,则需要调用 3 次接口
读
日志记录
缓存
是否有对应请求人数的报价?
2020-04-07 15:01:44 oms 通过小工具同步票号状态失败 票号:1233456 状态:授权成功,但未提取成功 失败码 :XXXX
将最新状态同步到对应票号的账单和订单中
不同步票号状态
数据回滚
采购
如缓存人数分别为 3、6、9若 缓存人数为 3 无报价,则判断缓存 人数为6 中是否有报价;若 缓存人数 6 无报价,则判断缓存人数 9 中是否有报价;
返回无报价
该 ID 的命中次数是否大于等于阈值?
写入缓存
票号状态是否提取成功
成功获取舱位信息
若未获取舱位信息,则舱位=最低舱舱位数量=请求人数
导入字段包括:供应商、票号、获取票号状态时间、状态
ID=出发城市-到达城市-出发日期-供应商
命中的缓存人数=9?
写入历史数据库
依次判断大于「 上次无报价的缓存人数中」 是否有报价?
2020-04-07 15:01:44 oms 通过小工具同步票号状态成功 票号:1233456 状态:[\"USED\
导出提取票号 状态的 Excel
出发地和到达地是否有机场码?
将机场码转化为城市码
export 服务
缓存更新成功?
平台
0 条评论
回复 删除
下一页