技术领域
[0001] 本发明涉及计算机技术领域,尤其涉及一种NDC服务对接方法、系统、设备、介质和产品。
相关背景技术
[0002] 国际航空运输协会所提出的新分销标准NDC(New Distribution Capability)是一种基于互联网XML语言的数据传输标准,使得分销端直接对接航司服务系统,能够推动分销体系变革,分销流程和结构化,构建更加规范、高效的分销体系;减少信息差,将客户与航司之间的信息传递链条缩到最短,理想情况下能够完全消除信息不对称。
[0003] 但在服务功能众多,而航司服务系统中不同服务功能又由不同团队运营维护的情况下,分销端在一个工作流中需要以不同的接口标准与航司服务系统对接,对于分销端而言,学习成本和开发难度大。
具体实施方式
[0031] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0032] 在说明书和权利要求书的描述中,需要理解的是,在说明书和权利要求书中的术语第一、第二等仅用于区别相同技术特征的描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量,也不一定描述次序或时间顺序。在合适的情况下术语是可以互换的。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。
[0033] 传统分销模式下,分销端只能通过非互联网通信数据协议获取数据,导致分销端需要建立体系庞大的系统,其不仅可拓展性差,还收费高昂。分销端获取的数据具有滞后性,其为客户提供的服务难以跟上时代发展,且与当下个性化需求相违背。国际航协所提出的新分销标准NDC使得分销端能够采用基于互联网XML语言的数据传输标准直接对接航司服务系统。
[0034] 但在实际应用中,申请人发现目前的方案至少存在以下技术问题:在航空公司内部各功能实现了解耦,销售、退改、支付和其他增值服务功能等由不同的航司服务系统负责,而不同的航司服务系统一般又由不同团队运营维护,导致分销端在一个工作流中需要以不同的接口标准与航司服务系统对接,对于分销端而言,学习成本和开发难度大。
[0035] 本发明实施例提供了一种NDC服务对接方法的步骤流程示意图。请参见图1,在本实施例中,所述NDC服务对接方法,具体通过步骤S1至S4执行:
[0036] S1、接收来自分销端的业务请求信息,根据所述业务请求信息确定当前服务内容和当前NDC版本。
[0037] 需要说明的是,分销端所发送的业务请求信息中可能包括多个NDC版本,在本发明实施例中,将多个NDC版本均视为当前NDC版本。这一情况的出现是由于NDC版本协议无法满足业务发展,所以一些新的业务功能会投放到最新NDC版本。理想状态下,期望分销端能完全切换到新版本协议上,但在实际应用中,早期接入的分销端一般会发送多个NDC版本的业务请求信息。
[0038] 示例性地,当用户通过分销端请求查询航班时,早期接入的分销端会分别以ndc172b版本和ndc213版本分别发送一次业务请求信息。这是因为早期的航班查询功能都是基于ndc172版本建立,如果他们选择将早期的功能完全切换到ndc213版本,分销端和航司服务系统都将面临极大系统风险,存在投入成本高、修改底层系统开发周期长、切换周期长等问题。但只用旧版本协议无法提供新业务,所以分销端通常会选择旧版本协议和新版本协议并行,请求旧版本协议系统维护原有业务功能稳定,请求新版本系统协议获取最新业务功能。当分销端有空缺资源时,再将旧版本协议系统的功能逐步切换到新版本。新对接的分销端则可以直接使用最新版本系统。
[0039] S2、按照第一预设维度抽取所述当前服务内容,建立第一公共参数。
[0040] 需要说明的是,国际航协每年至少发布2个NDC版本,且各版本间更新差异大。由于不同NDC版本协议的数据结构有较大的区别,在本发明实施例中,通过建立第一公共参数能够避免为每个版本协议提供联调资源,提高了开发效率,并且降低了开发成本和减少占用系统资源。
[0041] S3、根据所述第一公共参数,向对应的航司服务系统发出请求,并按照第二预设维度解析所述航司服务系统的服务响应结果,得到第二公共参数。
[0042] S4、根据所述当前NDC版本,将所述第二公共参数响应至分销端。
[0043] 需要说明的是,在分销端的一个工作流中,可能会与多个航司服务系统进行数据交互。以一个完整的C端销售工作流为例,分销端需要先通过负责航信和票价的航司服务系统进行航班查询,待用户选定航班后,对指定航班的价格进行确认,再创建订单并通过负责与支付商交互的航司服务系统进行支付,同时对负责航信的航司服务系统进行更新,最后还可以进行订单信息的查询。
[0044] 在本发明实施例中,分销端无需与各航司服务系统逐一进行连接,通过采用所述的NDC服务对接方法即可实现工作流中的所有步骤,极大地降低了分销端的开发难度;并且,由于返回的参数为第二公共参数,减少了大量无效数据的返回,更便于分销端对自身系统进行前端个性化定制。
[0045] 上述方案中,通过将当前服务内容抽成为建立第一公共参数,并将来自航司服务系统的服务响应结果解析抽成为第二公共参数,能够适应不同NDC版本间的数据格式差异,还能够统一分销端与航司服务系统之间的通信接口标准,降低了分销端的学习成本及开发难度,并且能够适用于航司服务系统与分销端间的各个工作流,提升了便利性。
[0046] 作为一种优选的实施方式,步骤S3、根据所述第一公共参数,向对应的航司服务系统发出请求,并按照第二预设维度解析所述航司服务系统的服务响应结果,得到第二公共参数,具体通过步骤S31至S34执行:
[0047] S31、根据航司服务系统的接口要求,组装所述第一公共参数,生成请求参数。
[0048] 需要说明的是,通过根据分销端的业务请求信息确定当前服务内容后,能够确定所述分销端当前所要对接的航司服务系统,接着再根据该航司服务系统的接口要求,生成请求参数。
[0049] S32、将所述请求参数发送至对应的航司服务系统,每隔预设时间主动接收来自所述航司服务系统的服务响应结果。
[0050] 在本发明实施例中,是通过每隔预设时间主动接收来自所述航司服务系统的服务响应结果,能够及时地监测航司服务系统的发信情况,还能够对异常进行监控。可以理解的,在另一些实施例中,也可以是被动接收来自所述航司服务系统的服务响应结果,在此实施例中,更为优选地,若在预设的时间阈值内,未接收到来自所述航司服务系统的服务响应结果,则认为出现故障,便于进一步判断故障原因并及时响应。
[0051] S33、当接收到所述服务响应结果时,按照第二预设维度解析所述服务响应结果,得到解析参数。
[0052] 需要说明的是,所述服务响应结果中包括大量数据,不同数据间建立关联关系ID的规则复杂多变,且部分数据为非必要信息,所述的非必要信息会造成分销端的学习成本上升。通过按照第二预设维度解析所述服务响应结果,能够将服务响应结果中的必要信息返回至分销端。
[0053] 作为举例,当所述当前服务内容为查询国际航班运价时,航司服务系统的服务响应结果包括出发机场三字码、出发日期时间、到达机场三字码、到达日期时间、飞机机型、退票费用规则、变更费用规则、免费行李额、品牌权益、中转经停、餐食、航班MC信息、航班OC信息、销售运价、票价计算、舱位、舱位数量、税费、出发机场经纬度、到达机场经纬度和大量不同数据,及其之间建立关联关系的ID等的大量信息。可以理解的,出发机场经纬度、到达机场经纬度、票价计算FC和不同数据之间建立关联关系ID这部分信息对于分销端是非必要信息。用户和分销端实际关心的为航班信息,舱位价格,服务等的必要信息。
[0054] 在本发明实施例中,通过对各版本NDC进行调研确认各种规则,以得到第二预设维度,所述第二预设维度在航司服务系统的不返回数据时能够设置默认值,将所述服务响应结果统一成一套简单数据关联逻辑。
[0055] S34、根据所述解析参数生成第二公共参数。
[0056] 通过生成第二公共参数,能够保证数据格式的统一性,不仅,极大地降低了数据的冗余率,使得分销端的学习成本降低,还能够避免由于服务响应结果个性化而限制分销端按符合自己业务发展设计前端的需求。
[0057] 作为一种优选的实施方式,当所述当前服务内容为航程查询时,所述第一预设维度为航程维度,所述第二预设维度为航班维度;当所述当前服务内容为航班查询时,所述第一预设维度和所述第二预设维度均为航班维度;当所述当前服务内容为订单查询时,所述第一预设维度和所述第二预设维度均为订单维度。
[0058] 需要说明的是,以服务响应结果为例,其中包含有大量的数据和数据之间的关联关系规则,且其在不同工作流中,所返回的数据也存在差异,可能某些数据在第一工作流中有返回,而第二工作流中无返回。在本发明实施例中,所述第一预设维度和所述第二预设维度所对应的所述第一公共参数和所述第二公共参数都有默认值,以应对部分情况下,业务请求信息与所述第一公共参数并不完全对应,以及服务响应结果与所述第二公共参数并不完全对应的情况。
[0059] 优选地,当所述当前服务内容为航程查询时,所述第一公共参数包括出发三字码、到达三字码和出发日期;所述第二公共参数包括出发三字码、到达三字码、航班号、出发时间、到达时间和舱位信息。
[0060] 优选地,当所述当前服务内容为航班查询时,所述第一公共参数包括航班号;所述第二公共参数包括出发三字码、到达三字码、航班号、出发时间、到达时间和舱位信息。
[0061] 优选地,当所述当前服务内容为订单查询时,所述第一公共参数为订单号信息和订单支付信息;所述第二公共参数包括订单号信息、订单支付信息、出发三字码、到达三字码、航班号、出发时间、到达时间、舱位信息和座位信息。
[0062] 需要说明的是,在上述的一些实施例中,还给出了当前服务内容与第一预设维度和第二预设维度的对应关系,在一些情况下,所述第一预设维度与所述第二预设维度相同,但二者分别对应的所述第一公共参数和所述第二公共参数可以是不同的,也可以是相同的。以所述当前服务内容为订单查询为例,所述第一预设维度和所述第二预设维度均为订单维度,在一些实施例中,所述第一公共参数和所述第二公共参数均包括订单号信息、订单支付信息、出发三字码、到达三字码、航班号、出发时间、到达时间、舱位信息和座位信息,但由于业务请求信息中只包含对于订单号信息和订单支付信息的描述,在第一公共参数中将出发三字码、到达三字码、航班号、出发时间、到达时间、舱位信息和座位信息设置为默认值。更为优选地,在将根据包括了默认值的第一公共参数生成请求参数时,可以不对默认值进行解析和打包,以降低交互数据的冗余率。
[0063] 采用本发明实施例提供的一种NDC服务对接方法,能够统一分销端与航司服务系统之间的通信接口标准,降低了分销端的学习成本及开发难度,并且能够适用于航司服务系统与分销端间的各个工作流,提升了便利性。
[0064] 请参见图2,本发明实施例提供了一种NDC服务对接系统的结构示意图。所述NDC服务对接系统包括依次通信连接的请求接收模块11、第一公共参数抽取模块12、航司服务系统交互模块13和请求响应模块14;
[0065] 所述请求接收模块11用于接收来自分销端的业务请求信息,并根据所述业务请求信息确定当前服务内容和当前NDC版本;
[0066] 所述第一公共参数12抽取模块用于按照第一预设维度抽取所述当前服务内容,建立第一公共参数;
[0067] 所述航司服务系统交互模块13用于根据所述第一公共参数,向对应的航司服务系统发出请求,并按照第二预设维度解析所述航司服务系统的服务响应结果,得到第二公共参数;
[0068] 所述请求响应模块14用于根据所述当前NDC版本,将所述第二公共参数响应至分销端。
[0069] 作为一种优选的实施方式,所述航司服务系统交互模块13,具体包括:
[0070] 请求参数生成单元,用于根据航司服务系统的接口要求,组装所述第一公共参数,生成请求参数;
[0071] 服务响应结果接收单元,用于将所述请求参数发送至对应的航司服务系统,每隔预设时间主动接收来自所述航司服务系统的服务响应结果;
[0072] 解析参数生成单元,用于当接收到所述服务响应结果时,按照第二预设维度解析所述服务响应结果,得到解析参数;
[0073] 第二公共参数生成单元,用于根据所述解析参数生成第二公共参数。
[0074] 作为一种优选的实施方式,当所述当前服务内容为航程查询时,所述第一预设维度为航程维度,所述第二预设维度为航班维度;当所述当前服务内容为航班查询时,所述第一预设维度和所述第二预设维度均为航班维度;当所述当前服务内容为订单查询时,所述第一预设维度和所述第二预设维度均为订单维度。
[0075] 优选地,当所述当前服务内容为航程查询时,所述第一公共参数包括出发三字码、到达三字码和出发日期;所述第二公共参数包括出发三字码、到达三字码、航班号、出发时间、到达时间和舱位信息。
[0076] 优选地,当所述当前服务内容为航班查询时,所述第一公共参数包括航班号;所述第二公共参数包括出发三字码、到达三字码、航班号、出发时间、到达时间和舱位信息。
[0077] 优选地,当所述当前服务内容为订单查询时,所述第一公共参数为订单号信息和订单支付信息;所述第二公共参数包括订单号信息、订单支付信息、出发三字码、到达三字码、航班号、出发时间、到达时间、舱位信息和座位信息。
[0078] 采用本发明实施例提供的一种NDC服务对接系统,能够统一分销端与航司服务系统之间的通信接口标准,降低了分销端的学习成本及开发难度,并且能够适用于航司服务系统与分销端间的各个工作流,提升了便利性。
[0079] 参见图3,图3是本发明实施例提供的NDC服务对接设备的结构框图。所述NDC服务对接包括处理器31、存储器32以及存储在所述存储器32中并可在所述处理器31上运行的计算机程序。所述处理器31执行所述计算机程序时实现上述各个NDC服务对接方法实施例中的步骤,比如步骤S1~S4。
[0080] 示例性的,所述计算机程序可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器32中,并由所述处理器31执行,以完成本发明。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序在所述NDC服务对接设备中的执行过程。
[0081] 所述NDC服务对接设备可包括,但不仅限于,处理器31、存储器32。本领域技术人员可以理解,所述示意图仅仅是NDC服务对接设备的示例,并不构成对NDC服务对接设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述NDC服务对接设备还可以包括输入输出设备、网络接入设备、总线等。
[0082] 所述处理器31可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field‑Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,所述处理器31是所述NDC服务对接设备的控制中心,利用各种接口和线路连接整个NDC服务对接设备的各个部分。
[0083] 所述存储器32可用于存储所述计算机程序和/或模块,所述处理器31通过运行或执行存储在所述存储器32内的计算机程序和/或模块,以及调用存储在存储器32内的数据,实现所述NDC服务对接设备的各种功能。所述存储器32可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器32可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
[0084] 其中,所述NDC服务对接设备集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器31执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read‑Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。
[0085] 本发明可采用在一个或多个其中包含有程序代码的存储介质(包括但不限于磁盘存储器、CD‑ROM、光学存储器等)上实施的计算机程序产品的形式。计算机可读储存介质包括永久性和非永久性、可移动和非可移动媒体,可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其它数据。计算机的存储介质的例子包括但不限于:相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其它类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其它内存技术、只读光盘只读存储器(CD‑ROM)、数字多功能光盘(DVD)或其它光学存储、磁盒式磁带,磁带式磁盘存储或其它磁性存储设备或任何其它非传输介质,可用于存储可以被计算设备访问的信息。
[0086] 以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围。