CN112308515A - 一种面向ndc聚合器的ndc处理系统及其业务请求处理方法 - Google Patents
一种面向ndc聚合器的ndc处理系统及其业务请求处理方法 Download PDFInfo
- Publication number
- CN112308515A CN112308515A CN202011190370.8A CN202011190370A CN112308515A CN 112308515 A CN112308515 A CN 112308515A CN 202011190370 A CN202011190370 A CN 202011190370A CN 112308515 A CN112308515 A CN 112308515A
- Authority
- CN
- China
- Prior art keywords
- ndc
- component
- navigation
- request
- version
- 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
Links
- 238000012545 processing Methods 0.000 title claims description 28
- 238000003672 processing method Methods 0.000 title claims description 14
- 230000002776 aggregation Effects 0.000 claims abstract description 50
- 238000004220 aggregation Methods 0.000 claims abstract description 50
- 238000006243 chemical reaction Methods 0.000 claims abstract description 37
- 238000009826 distribution Methods 0.000 claims abstract description 30
- 230000004044 response Effects 0.000 claims description 37
- 238000004458 analytical method Methods 0.000 claims description 12
- 230000008859 change Effects 0.000 claims description 5
- 230000002159 abnormal effect Effects 0.000 claims description 4
- 238000001914 filtration Methods 0.000 claims description 4
- 230000004931 aggregating effect Effects 0.000 claims description 3
- 238000000605 extraction Methods 0.000 claims description 3
- 238000000034 method Methods 0.000 abstract description 24
- 230000008569 process Effects 0.000 abstract description 14
- 230000000712 assembly Effects 0.000 abstract description 6
- 238000000429 assembly Methods 0.000 abstract description 6
- 238000002955 isolation Methods 0.000 abstract description 3
- 239000003795 chemical substances by application Substances 0.000 description 18
- 238000010586 diagram Methods 0.000 description 11
- 230000006870 function Effects 0.000 description 10
- 238000003860 storage Methods 0.000 description 8
- 238000004590 computer program Methods 0.000 description 7
- 239000000344 soap Substances 0.000 description 6
- 230000009471 action Effects 0.000 description 3
- 230000006978 adaptation Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 3
- 238000003032 molecular docking Methods 0.000 description 3
- 238000013075 data extraction Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 238000004140 cleaning Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005538 encapsulation Methods 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 230000010006 flight Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/10—Office automation; Time management
- G06Q10/103—Workflow collaboration or project management
-
- G06Q50/40—
Abstract
本申请公开了一种面向NDC聚合器的NDC处理系统及其业务请求处理方法,该系统包括组件树加载以及配置管理组件、NDC业务抽象组件、AirlineProfile组件、至少一个航司适配器组件、请求分发组件、NDC内容聚合组件、NDC版本发布组件、NDC协议转换组件和NDC订单管理组件。该系统以插件化微内核的方式管理NDC生命周期中的各个组件,可以简单、高效、可靠、稳定的方式进行扩展;当新增新版本NDC接口时,只需要增加一个NDC报文发布器,当有新的航司接入时只需要增加一个航司适配器,而无需大量个性化业务流程,从而降低了资源消耗。且这样的扩展方式保障了系统的高可靠性,组件之间的隔离型保障了系统在变更时对原有组件是无影响的,系统性能不会因为新接入航司而降低。
Description
技术领域
本申请涉及航空运输技术领域,更具体地说,涉及一种面向NDC聚合器的NDC处理系统及其业务请求处理方法。
背景技术
新分销能力NDC是国际航空运输协会IATA近年来力推的新的分销行业标准,其为基于XML且介于航空公司和代理人之间的,用于增强他们之间的数据传输能力的一种数据传输标准。NDC有多个版本,如:NDC18.1、NDC17.2、NDC18.2,航空公司与其合作伙伴之间可以通过这一统一标准来进行数据的交互。航司可以根据卖家的请求以及卖家和旅客的信息,动态实时构建航班运价机票产品、以及辅营产品(也就是NDC里常说的Offer),再通过统一的标准提供给卖家,改变了传统机票领域主要由GDS构建offer的分销模式,让航空公司重回交易的主导地位,促进航司的直销。
近年,随着NDC实施进程加快,越来越多的航空公司发布了自己的NDC销售接口,但是由于NDC接口迭代更新快,导致不同航司所选择NDC接口的版本多种多样。
纵观全球,现有的NDC处理系统都是各自为阵,基于各自的NDC版本进行开发和部署,通过网关统一对外提供服务,不支持聚合各个NDC版本报文,对于现有的服务架构模式,系统通过展现层对外提供服务,在服务层去处理各个航司的个性化流程以及聚合所有航司报文,并通过持久层入库,这样的架构模式难以支撑大量新接入航司的不同版本的NDC接口,对于不同版本的NDC接口需要有大量个性化业务流程,导致系统扩展时需要大量的工作,徒增大量资源消耗。
发明内容
有鉴于此,本申请提供一种面向NDC聚合器的NDC处理系统及其业务请求处理方法,用于简化系统扩展流程,降低资源消耗。
为了实现上述目的,现提出的方案如下:
一种面向NDC聚合器的NDC处理系统,所述NDC处理系统包括组件树+加载以及配置管理组件、NDC业务抽象组件、AirlineProfile组件、至少一个航司适配器组件、请求分发组件、NDC内容聚合组件、NDC版本发布组件、NDC协议转换组件和NDC订单管理组件,其中:
所述组件树加载以及配置管理组件用于负责加载所述NDC业务抽象组件、所述AirlineProfile组件、所述航司适配器组件、所述请求分发组件、所述NDC内容聚合组件、所述NDC版本发布组件、所述NDC协议转换组件和所述NDC订单管理组件,并变更组件状态;
所述NDC业务抽象组件用于当接收到NDC请求时,解析所述NDC请求的所属航司、NDC版本号和请求的接口,并组装业务处理器和过滤器;
所述AirlineProfile组件用于管理所述NDC系统接入的航司的配置信息;
所述航司适配器组件用于管理所述NDC处理系统接入的各个航司,管理所述航司的基础信息,并协调所述AirlineProfile组件、所述NDC协议转换组件和所述请求分发组件;
所述请求分发组件用于检测目标航司的网络连通性,如果所述网络正常则将所述NDC请求分发所述目标航司并等待所述目标航司返回信息;
所述NDC内容聚合组件用于当用户通过AirShopping接口访问多家航司的时接收各家所述航司响应报文,并通过获取各所述航司的节点聚合规则将所述响应报文聚合为统一的NDC版本对外发布;
所述NDC版本发布组件用于对外发布统一的NDC版本,并协调各个协议转换组件和所述NDC内容聚合组件;
所述NDC协议转换组件用于对用户请求的NDC报文进行转换;
所述NDC订单管理组件用于对成功请求OrderCreate接口或者OrderChange接口后向消息队列中发送的事件信息,并处理入库事件。
可选的,所述NDC协议转换组件具体用于在同版本不同接口之间按照业务规则进行转换,还用于在同接口不同版本之间按照业务规则进行转换。
一种业务请求处理方法,应用于如上所述的NDC处理系统,其特征在于,所述业务处理方法包括步骤:
系统启动时,加载多个业务组件,并控制所加载的所述业务组件的组件生命周期变更;
响应NDC请求,通过对所述NDC请求的解析提取NDC数据,根据NDC数据加载对应的NDC处理器和过滤器,先在所述过滤器中判断所述NDC请求是否已经通过鉴权,然后在所述NDC处理器中通过期望返回的NDC版本获取对应的NDC版本发布组件,所述NDC版本发布组件用于通过解析/MessageDoc/Name节点获取请求航司,并将所述请求航司的返回结果返回客户端和放入订单入库消息队列中;
当所述NDC请求转换至航司NDC版本后,根据报文解析结果获取航司名称和航司NDC版本以及代理人账号,然后根据规则匹配获取所述航司的AirlineProfile组件,所述AirlineProfile组件用于验证所述代理人是否可以访问所述航司,如果有权限则组装航司请求;
当所有的航司请求返回时,汇集所有的航司请求并过滤掉响应异常的航司请求,然后根据节点聚合规则生成一个聚合任务并入库并放入任务队列,从所述任务队列中获取航司请求并执行;
当接收到订单入库消息队列消息时,获取系统响应报文,如果所述响应报文合法进行订单入库操作。
可选的,所述当接收到订单入库消息队列消息时,获取系统响应报文,如果所述响应报文合法进行订单入库操作,包括步骤:
对响应报文进行验证,如果所述响应报文是OrderCreate或者OrderChange的响应NDC报文,则入库;
获取该类型报文的抽取函数,进行入库数据抽取并生成入库任务,最后提交到任务队列中;
执行器从所述任务队列中获取入库任务并执行。
可选的,所述业务组件包括NDC业务抽象组件、AirlineProfile组件、航司适配器组件、请求分发组件、NDC内容聚合组件、NDC版本发布组件、NDC协议转换组件、NDC订单管理组件。
可选的,所述NDC数据包括航司NDC版本、期望返回的NDC版本、请求航司和请求接口中的部分或全部。
从上述的技术方案可以看出,本申请公开了一种面向NDC聚合器的NDC处理系统及其业务请求处理方法,该系统包括组件树加载以及配置管理组件、NDC业务抽象组件、AirlineProfile组件、至少一个航司适配器组件、请求分发组件、NDC内容聚合组件、NDC版本发布组件、NDC协议转换组件和NDC订单管理组件。该系统以插件化微内核的方式管理NDC生命周期中的各个组件,可以简单、高效、可靠、稳定的方式进行扩展;当新增新版本NDC接口时,只需要增加一个NDC报文发布器,当有新的航司接入时只需要增加一个航司适配器,而无需大量个性化业务流程,从而降低了资源消耗。且这样的扩展方式保障了系统的高可靠性,组件之间的隔离型保障了系统在变更时对原有组件是无影响的,系统性能不会因为新接入航司而降低。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请提供的一种实施例的结构图;
图2为本申请提供的另一种实施例结构图;
图3为本申请实施例的一种组件加载示意图;
图4为本申请实施例的一种NDC业务流程图;
图5为本申请实施例的一种AirlineProfile业务流程图;
图6为本申请实施例的一种NDC聚合业务流程图;
图7为本申请实施例的订单入库业务流程图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
首先介绍一下与本申请相关的几个概念:
AirShopping接口:是IATA的NDC标准定义的接口,是NDC销售流程的第一步,通过AirShopping接口,输入起始地、目的地、旅行时间、旅客信息(如人数、旅客类型等),可以获得查询条件对应的航班舱位、品牌运价、享有的服务和规则信息。
OfferPrice:针对一个或多个航班运价或服务重新计算价格。
OrderCreate:可通过该接口预订机票及附加服务,也可以在预订的同时支付出票。
OrderChange:用来更改已有订单的内容,包含增加、修改及更新已有航班、附加服务、座位等。
OrderReshop:用户使用该接口,将要更改的航班及EMD的信息发送给航空公司,公司计算好价格后会返回更改所需的详细费用。
组件:是一个表达业务能力的高层抽象,是对数据和方法的简单封装,例如:NDC业务抽象组件主要是为系统提供了系统运行流程,根据NDC报文解析出必要数据(NDC版本、调用接口、请求航司、请求代理人信息等)然后加载对应NDC版本的调用接口的处理器,对该报文进行转换并请求目标航司,然后根据请求响应并再次进行NDC版本转换。
Airline Profile:NDC航空公司配置,也可称为渠道管理模块,NDC航空公司配置功能能够让航空公司选择性地接收来自卖家的AirShopping请求,并决定以何种方式响应该类请求。
NDC请求:符合NDC标准的接口请求,主要有AirShopping请求、OfferPrice请求、OrderCreate请求等。
NDC报文:符合NDC标准的XML,用于不同系统间通讯。
热数据:需要被计算节点频繁访问的数据。
数据库连接池:负责分配、管理和释放数据库连接,它允许应用程序重复使用一个现有的数据库连接
数据源:是指数据库应用程序所使用的数据库或者数据库服务器。
PING:(Packet Internet Groper),因特网包探索器,用于测试网络连接量的程序,用于检测网络是否连通。
SOAP:简单对象访问协议是交换数据的一种协议规范,是一种轻量的、简单的、基于XML(标准通用标记语言下的一个子集)的协议,它被设计成在WEB上交换结构化的和固化的信息。
SOAP Header:是XML语言标签,作用是可包含有关SOAP消息的应用程序专用信息(比如认证、支付等)。
HTTP协议:是Hyper Text Transfer Protocol(超文本传输协议)的缩写,是用于从万维网(World Wide Web)服务器传输超文本到本地浏览器的传送协议。http请求信息由四部分组成:第一部分:请求行,用来说明请求类型,要访问的资源以及所使用的HTTP版本;第二部分:请求头部,紧接着请求行(即第一行)之后的部分,用来说明服务器要使用的附加信息;第三部分:空行,请求头部后面的空行是必须的;第四部分:请求数据也叫主体,可以添加任意的其他数据。
Offer:航司返回的航班舱位、品牌运价、附加服务、使用规则等信息,我们称之为offer。每个Offer可以有多个OfferItem,每个旅客类型对应一个OfferItem,每个附加服务会对应一个OfferItem。
NDC聚合器:民航分销领域中NDC定义下的一个新的角色。由于各个航司的OOMS的NDC版本不同、业务理解不同、应用方式不同,所以航司OOMS提供的NDC接口各不相同,下游渠道用户对接航司OOMS的NDC接口的成本很高、难度很大。因此NDC中诞生了NDC聚合器(Aggregator),由它对接各个航司的NDC接口,将不同航司的NDC内容进行汇总、解析、转换、融合,生成聚合后的内容,然后按照NDC标准向下游渠道用户提供统一接口,下游渠道用户只需对接该统一接口,即可快速实现多家航司的对接销售。
OOMS:报价及订单管理系统(Offer and Order Management System,简称OOMS),为基于NDC标准构建的航司销售系统。该系统通过接口的形式,以NDC标准的报文与合作伙伴进行数据的交互,OOMS即为航司实现NDC的载体。
实施例一
图1为本申请实施例的一种面向NDC聚合器的NDC处理系统的框图。
如图1所示,本实施例提供的NDC处理系统是面向NDC聚合器的硬件系统或者说基于软件的电子系统,该系统具体包括组件树加载以及配置管理组件、NDC业务抽象组件、AirlineProfile组件、至少一个航司适配器组件、请求分发组件、NDC内容聚合组件、NDC版本发布组件、NDC协议转换组件和NDC订单管理组件。
每个NDC组件有NEW、INITING、INITED、BINDING、BINDED、STARTING、RUNNING、STOPING、STOPED状态,该组件树加载以及配置管理组件负责加载各个组件,并变更它们的组件状态,如:当AirlineProfile组件状态变更为INITING时,会触发装载NDC请求报文相关配置信息。
NDC业务抽象组件为微内核,该模块主要负责抽象NDC业务处理流程,当接收到NDC请求的时候,该模块会解析出请求的航司和请求的NDC版本号以及请求的接口,然后通过该模块组装业务处理器和过滤器。
航司适配器组件用于负责管理系统接入的各个航司,例如:航司AY,主要用于管理该航司的基础信息如:航司名称、航司支持的NDC版本等,并负责协调AirlineProfile组件、NDC协议转换组件、请求分发组件。
AirlineProfile组件用于负责管理系统接入的各个航司的配置信息,主要包括:航司基础信息配置、代理人航司访问权限配置、代理人请求分发配置、航司ndc协议头配置、航司认证信息配置等。
NDC内容聚合组件用于当用户通过AirShopping接口访问多家航司时,负责接收各航司响应报文,并通过获取各个航司的节点聚合规则,按照一定规则将响应报文聚合为统一的NDC版本对外发布。NDC内容聚合组件是NDC聚合器的一部分,是NDC聚合器的关键组成,承担了聚合报文及相关的工作。
由于系统对接不同航司的不同NDC版本,NDC版本发布组件负责对外发布统一的NDC版本,该组件会协调各个协议转换组件和NDC内容聚合组件。
NDC协议转换组件负责对用户请求的NDC报文进行转换,主要存在两种转换方法,第一,在同版本不同接口之间按照一定的业务规则进行转换,如:NDC18.2的OrderReshop请求转换为AirShopping请求。第二,在同接口不同版本之间按照一定的业务规则进行转换,如:NDC18.2的AirShopping请求转换为NDC17.2的AirShopping请求。
请求分发组件用于检测目标航司的网络连通性,如果网络正常则可以将请求分发航司并等待航司返回信息。
NDC订单管理组件对于成功请求OrderCreate接口或者OrderChange接口后会向消息队列中发送一个事件信息,订单模块监听该事件主题,并处理入库事件,将相应订单进行入库或者变更。
概括来说,系统通过组件管理模块加载并配置所有的系统组件(NDC业务抽象组件、NDC版本发布组件、航司适配组件等),当组件装载并配置完毕后开始监听用户请求。当接收到用户NDC请求时,首先在系统的报文网关处进行安全和访问验证。验证成功后,请求分发给NDC业务抽象组件内,根据请求的NDC版本,请求会进入对应NDC版本的NDC版本发布组件内,根据业务规则和航空公司配置(Airline Profile)确定请求需要被发送的航空公司,然后请求进入对应的航司适配器组件中,航司适配器组件利用NDC协议转换组件将NDC报文翻译至航空公司使用的报文版本,根据航空公司配置信息通过航司请求分发组件对航司请求进行组装,并向航空公司发送请求,航司请求响应后,航司NDC协议转换组件将航司响应报文进行报文翻译,然后将翻译后的报文分发到NDC版本发布组件的内容聚合器内。内容聚合器通过节点聚合规则,聚合所有响应,并通过报文网关将所有响应返回至需求提出者。
从上述技术方案可以看出,本实施例提供了一种面向NDC聚合器的NDC处理系统,包括组件树加载以及配置管理组件、NDC业务抽象组件、AirlineProfile组件、至少一个航司适配器组件、请求分发组件、NDC内容聚合组件、NDC版本发布组件、NDC协议转换组件和NDC订单管理组件。该系统以插件化微内核的方式管理NDC生命周期中的各个组件,可以简单、高效、可靠、稳定的方式进行扩展;当新增新版本NDC接口时,只需要增加一个NDC报文发布器,当有新的航司接入时只需要增加一个航司适配器,而无需大量个性化业务流程,从而降低了资源消耗。且这样的扩展方式保障了系统的高可靠性,组件之间的隔离型保障了系统在变更时对原有组件是无影响的,系统性能不会因为新接入航司而降低。
实施例二
图2为本申请实施例的一种业务请求处理方法的流程图。
如图2所示,本实施例提供的业务请求处理方法应用于上一实施例提供的面向NDC聚合器的NDC处理系统,具体包括如下步骤:
S1、系统启动时,加载多个业务组件,并控制所加载的业务组件的组件生命周期变更。
当系统启动时,NDC业务抽象组件会装载多个NDC版本发布组件,NDC版本发布组件会装载不同的航司适配组件和NDC内容聚合组件以及NDC订单管理组件,航司适配组件会装载AirlineProfile组件、请求分发组件、NDC协议转换组件,如图3所示。
每一个组件都有自己的生命周期(NEW、INITING、INITED、BINDING、BINDED、STARTING、RUNNING、STOPING、STOPED),在系统启动的时候会依次触发生命周期的变更,可以在生命周期的各个阶段穿插个性化组件流程,如:
1、NDC业务抽象组件:在BINDED阶段会装载所有支持接口(如:AirShopping、OfferPrice等)的逻辑处理器和过滤器。逻辑处理器是用于组织业务逻辑实现具体功能的地方;过滤器是在逻辑处理器之前执行一系列的过滤逻辑如:判断该NDC请求是否鉴权成功。
2、NDC版本发布组件:在INITING阶段会装载NDC版本的配置信息如:该NDC版本支持的NDC接口。在STARTING阶段初始化系统缓存,主要是将热数据放入缓存中,提高查询效率。
3、NDC订单管理组件:在BINDED阶段会初始化数据源并生成数据库连接池。
4、航司适配器组件:在INITING阶段会装载航司配置信息。
5、NDC内容聚合组件:在STARTING阶段加载节点聚合规则。
6、AirlineProfile组件:在STARTING阶段会加载该航司的所有配置信息如:航司访问地址、航司NDC版本、航司soap header信息等
7、请求分发组件:在INITING阶段加载分发组件的配置信息,如请求超时时间、数据传输超时时间等,并开始检测航司请求地址的连通性,通过ping命令进行每隔10秒检测一次。
8、NDC协议转换组件:在STARTING阶段会初始化用于NDC协议转换的模板文件,并按照配置信息进行缓存。
S2、响应NDC请求,通过对NDC请求的解析提取NDC数据,根据NDC数据加载对应的NDC处理器和过滤器,先在过滤器中判断NDC请求是否已经通过鉴权,然后在NDC处理器中通过期望返回的NDC版本获取对应的NDC版本发布组件,NDC版本发布组件用于通过解析/MessageDoc/Name节点获取请求航司,并将请求航司返回客户端和放入订单入库消息队列中。
当系统接收到AirShopping请求时,NDC业务抽象组件,会解析请求并提取NDC数据(航司NDC版本、期望返回的NDC版本、请求航司、请求接口),根据NDC数据加载对应的NDC处理器和过滤器,先在过滤器中判断NDC请求是否已经通过鉴权,然后在NDC处理器中通过期望返回的NDC版本获取NDC版本发布组件,该组件通过解析/MessageDoc/Name节点获取请求航司(如:QF/AA,表示请求QF和AA两家航司),然后根据QF和AA重复执行下图矩形框中流程,最后经过步骤四返回结果到客户端,并且将结果放入订单入库消息队列中。
图4为根据航司NDC版本和请求航司(QF为例)获取航司适配器组件,在该组件中判断航司NDC版本和期望的NDC版本是否一致,如果不一致,则调用NDC协议转换组件进行版本转换,将请求的NDC版本转换至航司NDC版本,转换完成后通过步骤三进行请求组装,最后通过请求分发组件请求航司,根据航司返回的NDC版本再次匹配期望版本,如果不一致再次转换。
S3、当NDC请求转换至航司NDC版本后,根据报文解析结果获取航司名称和航司NDC版本以及代理人账号,然后根据规则匹配获取航司的AirlineProfile组件,AirlineProfile组件用于验证代理人是否可以访问航司,如果有权限则组装航司请求。
如图5所示,当NDC请求转换至航司NDC版本后,根据报文解析结果获取航司名称和航司NDC版本以及代理人账号,然后根据规则匹配获取航司的AirlineProfile组件,该组件会根据配置信息去验证该代理人是否可以访问该航司,如果有权限则组装航司请求,航司请求通常有两部分组成一部分为请求时需要添加http请求头或者soap header,该部分主要是用于航司对代理人的鉴权,第二部分为报文中的party节点,该节点主要是标注该请求来自于哪个代理人。
S4、当所有的航司请求返回时,汇集所有的航司请求并过滤掉响应异常的航司请求,然后根据节点聚合规则生成一个聚合任务并入库并放入任务队列,从所述任务队列中获取航司请求并执行。
如图6所示,所有的请求返回时,响应结果收集器会汇集所有的航司结果,然后执行结果清理,过滤掉响应异常的结果,然后获取聚合规则(如:A节点叠加合并,B节点随机取一个,C节点取价格最低等)和NDC内容聚合组件,根据节点聚合规则生成一个聚合任务并入库,然后放入任务队列。执行器负责从队列中获取任务并执行,执行成功则返回,失败则重新通过数据库重建聚合任务,并进行失败阈值校验。
S5、当接收到订单入库消息队列消息时,获取系统响应报文,如果响应报文合法进行订单入库操作。
如图7所示,当接收到订单入库消息队列消息时,获取系统响应报文,并验证报文合法后,触发订单入库组件进行订单入库操作。首先对响应结果进行验证,判断是否可以入库(如果是OrderCreate或者OrderChange的响应NDC报文,则入库),然后获取该类型报文的抽取函数(对报文中不同的xml节点数据的获取规则),进行入库数据抽取并生成入库任务,最后提交到任务队列中。执行器从队列中获取入库任务并执行,成功则结束,否则从数据库中重建该任务并判断失败阈值,大于则结束,小于则重新放入任务队列。
针对以上具体的业务请求处理方法,基于实际应用场景特提出如下具体实施方式:
1、系统配置流程
(1)新建airlineProfile并设置航司两字码、航司请求地址、请求航司NDC版本、航司分配代理人账号、office号、请求头参数、xml soap header参数、以及party节点配置信息等。假如存在如下数据(配置1):
录入聚合航司配置,当请求报文节点/MessageDoc/Name为“*”时,查询哪些航司,如配置代理人A的聚合航司为:AY、QF。假如存在如下数据(配置2):
航司两字码 | NDC版本 | 代理人 |
QF | 17.2 | A |
AY | 18.1 | A |
(2)录入节点聚合规则,如:不同航司返回的FareList会按照FareCode和FareBasisCode节点进行合并去除重复。在如:多个航司返回的PaxList节点,只需要随机取一个航司的节点。在如:多个航司返回的航段节点CarrierOffers,需要多个航司取并集。假如存在如下数据(配置3):
(3)录入数据入库规则,主要包括NDC版本号、节点路径、入库方式(可以对入库的值进行加减乘除的运算),入库方式备注、入库后字段描述信息:
2、多航司航班查询
(1)代理人A用户根据NDC18.2标准发送PEK(北京首都机场)-LAX(洛杉矶国际机场)的AirShopping请求并且报文中/MessageDoc/Name节点值为“*”,请求至系统平台;
(2)根据请求的NDC版本为18.2会加载对应版本的NDC版本发布器,NDC版本发布器会解析报文提取出必要信息如:代理人信息(A)、请求接口(AirShopping)、NDC版本(18.2)、Office号(test1)以及报文中的/MessageDoc/Name(*)节点信息等。
(3)根据聚合航司配置信息(配置2),该请求会分发给QF(NDC17.2)、AY(NDC18.1)航司适配组件去处理,由于有两个航司,所以重复执行第4步和第5步。
(4)QF或者AY航司适配器组件首先会根据请求的NDC版本为18.2与自己的NDC版本(17.2或者18.1)比较,由于版本不同则需要使用NDC协议转换组件对18.2报文进行转换,当转换至航司版本(17.2或者18.1)时,
会根据配置1去验证该代理人是否有权访问该航司,由于配置1中已经存在配置,代理人A可以访问QF和AY航司,然后根据配置1中http请求头信息、soap header以及party节点构造请求。
并增加http请求头信息为:B=002
(5)请求构造完毕后通过请求分发组件请求对应航司,请求分发组件会在一定间隔内通过ping指令检查航司网络连通性,如果不连通则剔除该航司直接错误返回客户端。
1、所有航司请求成功响应后,NDC18.2版本发布组件会加载NDC18.2内容聚合组件,该组件根据节点聚合规则(配置3)完成每一个报文节点的聚合工作。如:合并聚合、选择聚合、条件聚合聚合按照所有节点的聚合规则聚合完毕后,返回结果。
3、订单入库流程
(1)聚合完毕后触发订单入库组件执行订单入库逻辑,当用户调用的接口为orderCreate创建订单或者orderChange改变订单时,则触发;
(2)验证响应报文是否成功,当成功返回后,触发订单入库流程。
(3)首先订单入库组件会解析返回报文,主要解析数据为:报文NDC版本号、航司名称等。
(4)然后根据报文NDC版本号,加载对应版本的数据抽取函数,数据抽取函数主要用于在指定报文中提取必要数据,如:航班舱位、品牌运价、附加服务、使用规则等信息。
(5)所有入库信息抽取完毕后,将数据保存至数据库,结果如下:
orderId | orderItemId | total | date |
orderID | OrderItemID | 3 | dateTime |
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域内的技术人员应明白,本发明实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明实施例是参照根据本发明实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
以上对本发明所提供的技术方案进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (6)
1.一种面向NDC聚合器的NDC处理系统,其特征在于,所述NDC处理系统包括组件树加载以及配置管理组件、NDC业务抽象组件、AirlineProfile组件、至少一个航司适配器组件、请求分发组件、NDC内容聚合组件、NDC版本发布组件、NDC协议转换组件和NDC订单管理组件,其中:
所述组件树加载以及配置管理组件用于负责加载所述NDC业务抽象组件、所述AirlineProfile组件、所述航司适配器组件、所述请求分发组件、所述NDC内容聚合组件、所述NDC版本发布组件、所述NDC协议转换组件和所述NDC订单管理组件,并变更组件状态;
所述NDC业务抽象组件用于当接收到NDC请求时,解析所述NDC请求的所属航司、NDC版本号和请求的接口,并组装业务处理器和过滤器;
所述AirlineProfile组件用于管理所述NDC系统接入的航司的配置信息;
所述航司适配器组件用于管理所述NDC处理系统接入的各个航司,管理所述航司的基础信息,并协调所述AirlineProfile组件、所述NDC协议转换组件和所述请求分发组件;
所述请求分发组件用于检测目标航司的网络连通性,如果所述网络正常则将所述NDC请求分发所述目标航司并等待所述目标航司返回信息;
所述NDC内容聚合组件用于当用户通过AirShopping接口访问多家航司的时候接收各家所述航司响应报文,并通过获取各所述航司的节点聚合规则将所述响应报文聚合为统一的NDC版本对外发布;
所述NDC版本发布组件用于对外发布统一的NDC版本,并协调各个协议转换组件和所述NDC内容聚合组件;
所述NDC协议转换组件用于对用户请求的NDC报文进行转换;
所述NDC订单管理组件用于对成功请求OrderCreate接口或者OrderChange接口后向消息队列中发送的事件信息,并处理入库事件。
2.如权利要求1所述的NDC处理系统,其特征在于,所述述NDC协议转换组件具体用于在同版本不同接口之间按照业务规则进行转换,还用于在同接口不同版本之间按照业务规则进行转换。
3.一种业务请求处理方法,应用于如权利要求1或2所述的NDC处理系统,其特征在于,所述业务处理方法包括步骤:
系统启动时,加载多个业务组件,并控制所加载的所述业务组件的组件生命周期变更;
响应NDC请求,通过对所述NDC请求的解析提取NDC数据,根据NDC数据加载对应的NDC处理器和过滤器,先在所述过滤器中判断所述NDC请求是否已经通过鉴权,然后在所述NDC处理器中通过期望返回的NDC版本获取对应的NDC版本发布组件,所述NDC版本发布组件用于通过解析/MessageDoc/Name节点获取请求航司,并将所述请求航司的返回结果返回客户端和放入订单入库消息队列中;
当所述NDC请求转换至航司NDC版本后,根据报文解析结果获取航司名称和航司NDC版本以及代理人账号,然后根据规则匹配获取所述航司的AirlineProfile组件,所述AirlineProfile组件用于验证所述代理人是否可以访问所述航司,如果有权限则组装航司请求;
当所有的航司请求返回时,汇集所有的航司请求并过滤掉响应异常的航司请求,然后根据节点聚合规则生成一个聚合任务并入库并放入任务队列,从所述任务队列中获取航司请求并执行;
当接收到订单入库消息队列消息时,获取系统响应报文,如果所述响应报文合法进行订单入库操作。
4.如权利要求3所述的请求处理方法,其特征在于,所述当接收到订单入库消息队列消息时,获取系统响应报文,如果所述响应报文合法进行订单入库操作,包括步骤:
对响应报文进行验证,如果所述响应报文是OrderCreate或者OrderChange的响应NDC报文,则入库;
获取该类型报文的抽取函数,进行入库数据抽取并生成入库任务,最后提交到任务队列中;
执行器从所述任务队列中获取入库任务并执行。
5.如权利要求3所述的请求处理方法,其特征在于,所述业务组件包括NDC业务抽象组件、AirlineProfile组件、航司适配器组件、请求分发组件、NDC内容聚合组件、NDC版本发布组件、NDC协议转换组件、NDC订单管理组件。
6.如权利要求3所述的请求处理方法,其特征在于,所述NDC数据包括航司NDC版本、期望返回的NDC版本、请求航司和请求接口中的部分或全部。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011190370.8A CN112308515B (zh) | 2020-10-30 | 2020-10-30 | 一种面向ndc聚合器的ndc处理系统及其业务请求处理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011190370.8A CN112308515B (zh) | 2020-10-30 | 2020-10-30 | 一种面向ndc聚合器的ndc处理系统及其业务请求处理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112308515A true CN112308515A (zh) | 2021-02-02 |
CN112308515B CN112308515B (zh) | 2023-08-18 |
Family
ID=74332851
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011190370.8A Active CN112308515B (zh) | 2020-10-30 | 2020-10-30 | 一种面向ndc聚合器的ndc处理系统及其业务请求处理方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112308515B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113313277A (zh) * | 2021-06-10 | 2021-08-27 | 中国民航信息网络股份有限公司 | 一种信息处理方法及装置 |
CN114466055A (zh) * | 2021-12-27 | 2022-05-10 | 天翼云科技有限公司 | 一种业务处理方法及装置 |
WO2023082366A1 (zh) * | 2021-11-10 | 2023-05-19 | 同程网络科技股份有限公司 | 一种基于ndc的航司数据处理的方法和系统 |
CN114466055B (zh) * | 2021-12-27 | 2024-04-26 | 天翼云科技有限公司 | 一种业务处理方法及装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160378874A1 (en) * | 2015-06-24 | 2016-12-29 | Avaea, Inc. | Travel distribution system |
US20170061463A1 (en) * | 2015-09-02 | 2017-03-02 | International Business Machines Corporation | Computer-implemented techniques for determining and provisioning real-time individualized product and service offering |
US9904964B1 (en) * | 2016-04-19 | 2018-02-27 | ABB Technologies Limited | System and method for travel product alignment and user interface |
GB201902919D0 (en) * | 2019-03-04 | 2019-04-17 | Uutripid Ltd | Data management system & apparatus for interaction therewith |
-
2020
- 2020-10-30 CN CN202011190370.8A patent/CN112308515B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160378874A1 (en) * | 2015-06-24 | 2016-12-29 | Avaea, Inc. | Travel distribution system |
US20170061463A1 (en) * | 2015-09-02 | 2017-03-02 | International Business Machines Corporation | Computer-implemented techniques for determining and provisioning real-time individualized product and service offering |
US9904964B1 (en) * | 2016-04-19 | 2018-02-27 | ABB Technologies Limited | System and method for travel product alignment and user interface |
GB201902919D0 (en) * | 2019-03-04 | 2019-04-17 | Uutripid Ltd | Data management system & apparatus for interaction therewith |
Non-Patent Citations (5)
Title |
---|
李妙用;莫春桥;: "NDC或许是分销渠道的一个好出口", 空运商务, no. 03 * |
王德强: "基于竞争力导向的S航空电子商务拓展应用的研究", 《中国优秀硕士学位论文全文数据库》, no. 2 * |
管学平;: "厦航牵手飞猪落地国内首家NDC商用", 厦门航空, no. 04 * |
阚劲军;: "基于航司数字化转型的机场业务研究", 空运商务, no. 02 * |
陈川;彭向晖;许嘉伟;廖忠涛;: ""领时"电商数字化转型", 电子技术与软件工程, no. 21 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113313277A (zh) * | 2021-06-10 | 2021-08-27 | 中国民航信息网络股份有限公司 | 一种信息处理方法及装置 |
WO2023082366A1 (zh) * | 2021-11-10 | 2023-05-19 | 同程网络科技股份有限公司 | 一种基于ndc的航司数据处理的方法和系统 |
CN114466055A (zh) * | 2021-12-27 | 2022-05-10 | 天翼云科技有限公司 | 一种业务处理方法及装置 |
CN114466055B (zh) * | 2021-12-27 | 2024-04-26 | 天翼云科技有限公司 | 一种业务处理方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN112308515B (zh) | 2023-08-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107370786B (zh) | 一种基于微服务架构的通用信息管理系统 | |
Srinivasan et al. | An overview of service-oriented architecture, web services and grid computing | |
US9342837B2 (en) | Use of stored search results by a travel search system | |
US8370802B2 (en) | Specifying an order for changing an operational state of software application components | |
US20130054792A1 (en) | Cloud-based performance testing of functionality of an application prior to completion of development | |
US10552293B2 (en) | Logging as a service | |
US7403985B2 (en) | Method and system for analyzing electronic service execution | |
CN112308515B (zh) | 一种面向ndc聚合器的ndc处理系统及其业务请求处理方法 | |
CN111127181A (zh) | 一种凭证记账方法和装置 | |
US7904405B2 (en) | System and method for managing outcome information based on URI data wherein knowledge is extended by using an inference rule for an inference service based on the Semantic Web | |
US10769220B1 (en) | Systems, apparatuses, and methods of processing and managing web traffic data | |
US10803413B1 (en) | Workflow service with translator | |
Li et al. | Semantic-based transaction model for web service | |
CN114398396A (zh) | 数据查询方法、存储介质和计算机程序产品 | |
Goecke | The evolution of online booking systems | |
CN111626806B (zh) | 数据处理方法、装置及电子设备 | |
CN111447273A (zh) | 云处理系统及基于云处理系统的数据处理方法 | |
Mani et al. | Towards studying the performance effects of design patterns for service oriented architecture | |
CN110740178A (zh) | 一种应用服务处理系统和应用服务处理方法 | |
CN113052696B (zh) | 金融业务任务处理方法、装置、计算机设备和存储介质 | |
CN112307734A (zh) | 一种xslt模板的加载方法、装置及电子设备 | |
CN113763094A (zh) | 一种业务信息处理方法、装置、服务器、介质和系统 | |
Santos et al. | Architectural Challenges on the Integration of e-Commerce and ERP Systems: A Case Study. | |
US20120188106A1 (en) | Formatting data | |
KR101334558B1 (ko) | 상황인지 웹 서비스 제공 시스템 및 방법 |
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 |