CN112306573A - 一种多航司接入方法、装置及电子设备 - Google Patents

一种多航司接入方法、装置及电子设备 Download PDF

Info

Publication number
CN112306573A
CN112306573A CN202011190357.2A CN202011190357A CN112306573A CN 112306573 A CN112306573 A CN 112306573A CN 202011190357 A CN202011190357 A CN 202011190357A CN 112306573 A CN112306573 A CN 112306573A
Authority
CN
China
Prior art keywords
navigation
navigation department
department
loading
adapter
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
Application number
CN202011190357.2A
Other languages
English (en)
Other versions
CN112306573B (zh
Inventor
谢佳
周刘玉霄
迟婉丽
左松
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
China Travelsky Holding Co
Original Assignee
China Travelsky Holding Co
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by China Travelsky Holding Co filed Critical China Travelsky Holding Co
Priority to CN202011190357.2A priority Critical patent/CN112306573B/zh
Publication of CN112306573A publication Critical patent/CN112306573A/zh
Application granted granted Critical
Publication of CN112306573B publication Critical patent/CN112306573B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files
    • G06F9/4451User profiles; Roaming
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems
    • G06F16/252Integrating or interfacing systems involving database management systems between a Database Management System and a front-end application
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44521Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/40Business processes related to the transportation industry

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Economics (AREA)
  • Health & Medical Sciences (AREA)
  • Data Mining & Analysis (AREA)
  • General Health & Medical Sciences (AREA)
  • Human Resources & Organizations (AREA)
  • Marketing (AREA)
  • Primary Health Care (AREA)
  • Strategic Management (AREA)
  • Tourism & Hospitality (AREA)
  • General Business, Economics & Management (AREA)
  • Navigation (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本发明提供了一种多航司接入方法、装置及系统,该接入方法应用于航司接入系统,航司接入系统包括至少一个航司适配器,航司适配器至少包括航司统一配置组件、航司NDC版本组件、NDC标准统一化组件、NDCHttpClient组件以及航司扩展业务组件。可见,本方案提供的多航司接入方法,通过组件的方式设计航司适配器,其将各航司差异化通过扩展组件单独处理,将航司接入流程统一化,使得NDC聚合器多航司接入中各航司相互独立却又易于开发和维护,也使得新航司接入变得更加快捷高效,节省大量成本花费。

Description

一种多航司接入方法、装置及电子设备
技术领域
本发明涉及信息处理技术领域,特别是涉及一种多航司接入方法、装置及电子设备。
背景技术
NDC(New Distribution Capability,新分销能力)是国际航空运输协会(InternationalAir Transport Association,IATA)近年来力推的新的分销行业标准。它主要制定了同一的数据传输标准(基于XML格式的报文),航空公司与其合作伙伴之间可以通过这个统一标准来进行数据的交互。航司可以根据卖家的请求以及卖家和旅客的信息,动态实时构建航班运价机票产品以及辅营产品,再通过统一的标准提供给卖家,改变了传统机票领域主要由全球分销系统(Global Distribution System,简称GDS)构建产品,促进航司的直销。
然而,NDC有多个版本,版本与版本之间有较大的差距,而且每个航司对接的NDC版本可能不同,因此,聚合器(Aggregator)就需要对航司的各个NDC版本进行处理。然而发明人发现,目前的多航司接入方法,会存在部分差异节点的处理耗时长、新增航司接入耗时长等问题。
发明内容
针对于上述问题,本发明提供了一种多航司接入方法、装置及电子设备,能够降低部分差异节点的处理耗时以及新增航司接入耗时。
为了实现上述目的,本发明提供了如下技术方案:
一种多航司接入方法,应用于航司接入系统,所述航司接入系统包括至少一个航司适配器,所述航司适配器至少包括航司统一配置组件、航司NDC版本组件、NDC标准统一化组件、NDCHttpClient组件以及航司扩展业务组件,所述航司接入方法包括:
获取预加载的数据库配置信息以及各航司配置文件,基于所述预加载的数据库配置信息以及所述各航司配置文件,加载各航司模板;
基于所述各航司配置文件,加载所述航司扩展业务组件;
基于加载请求过滤器扫描路径集,获取目标Filter扫描路径;
基于所述预加载的数据库配置信息以及所述各航司配置文件,将所述航司适配器注册到NDC适配器;
基于所述预加载的数据库配置信息以及所述各航司配置文件,注册各航司的服务配置信息,所述服务配置信息至少包括代理人账号列表、航司的访问地址、加密秘钥;
基于所述各航司配置文件,获取各航司的模板加载参数并加载该模板。
一种多航司接入装置,应用于航司接入系统,所述航司接入系统包括至少一个航司适配器,所述航司适配器至少包括航司统一配置组件、航司NDC版本组件、NDC标准统一化组件、NDCHttpClient组件以及航司扩展业务组件,所述航司接入装置包括:
第一获取模块,用于获取预加载的数据库配置信息以及各航司配置文件,基于所述预加载的数据库配置信息以及所述各航司配置文件,加载各航司模板;
第一加载模块,用于基于所述各航司配置文件,加载所述航司扩展业务组件;
第二获取模块,用于基于加载请求过滤器扫描路径集,获取目标Filter扫描路径;
第一注册模块,用于基于所述预加载的数据库配置信息以及所述各航司配置文件,将所述航司适配器注册到NDC适配器;
第二注册模块,用于基于所述预加载的数据库配置信息以及所述各航司配置文件,注册各航司的服务配置信息,所述服务配置信息至少包括代理人账号列表、航司的访问地址、加密秘钥;
第三获取模块,用于基于所述各航司配置文件,获取各航司的模板加载参数并加载该模板。
一种存储介质,所述存储介质上存储有可执行指令,所述指令被处理器执行时实现如任一项上述的多航司接入方法。
一种电子设备,其特征在于,包括:
存储器,用于存储程序;
处理器,用于执行所述程序,所述程序具体用于:
获取预加载的数据库配置信息以及各航司配置文件,基于所述预加载的数据库配置信息以及所述各航司配置文件,加载各航司模板;
基于所述各航司配置文件,加载所述航司扩展业务组件;
基于加载请求过滤器扫描路径集,获取目标Filter扫描路径;
基于所述预加载的数据库配置信息以及所述各航司配置文件,将所述航司适配器注册到NDC适配器;
基于所述预加载的数据库配置信息以及所述各航司配置文件,注册各航司的服务配置信息,所述服务配置信息至少包括代理人账号列表、航司的访问地址、加密秘钥;
基于所述各航司配置文件,获取各航司的模板加载参数并加载该模板。
相较于现有技术,本发明提供了一种多航司接入方法、装置及系统,该接入方法应用于航司接入系统,所述航司接入系统包括至少一个航司适配器,所述航司适配器至少包括航司统一配置组件、航司NDC版本组件、NDC标准统一化组件、NDCHttpClient组件以及航司扩展业务组件,该航司接入方法首先获取预加载的数据库配置信息以及各航司配置文件,基于所述预加载的数据库配置信息以及所述各航司配置文件,加载各航司模板。之后,基于所述各航司配置文件,加载所述航司扩展业务组件;基于加载请求过滤器扫描路径集,获取目标Filter扫描路径;基于所述预加载的数据库配置信息以及所述各航司配置文件,将所述航司适配器注册到NDC适配器;基于所述预加载的数据库配置信息以及所述各航司配置文件,注册各航司的服务配置信息。最后,基于所述各航司配置文件,获取各航司的模板加载参数并加载该模板。可见,本方案提供的多航司接入方法,通过组件的方式设计航司适配器,其将各航司差异化通过扩展组件单独处理,将航司接入流程统一化,使得NDC聚合器多航司接入中各航司相互独立却又易于开发和维护,也使得新航司接入变得更加快捷高效,节省大量成本花费。
附图说明
结合附图并参考以下具体实施方式,本公开各实施例的上述和其他特征、优点及方面将变得更加明显。贯穿附图中,相同或相似的附图标记标识相同或相似的元素。应当理解附图是示意性的,原件和元素不一定按照比例绘制。
图1为本发明实施例提供的一种多航司接入系统的示意图;
图2为本发明实施例提供的一种适配器的组成示意图;
图3为本发明实施例提供的一种适配器的装载示意图;
图4为本发明实施例提供的一种多航司接入方法的流程示意图;
图5为本发明实施例提供的一种多航司接入方法的又一流程示意图。
具体实施方式
下面将参照附图更详细地描述本公开的实施例。虽然附图中显示了本公开的某些实施例,然而应当理解的是,本公开可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例,相反提供这些实施例是为了更加透彻和完整地理解本公开。应当理解的是,本公开的附图及实施例仅用于示例性作用,并非用于限制本公开的保护范围。
本文使用的术语“包括”及其变形是开放性包括,即“包括但不限于”。术语“基于”是“至少部分地基于”。术语“一个实施例”表示“至少一个实施例”;术语“另一实施例”表示“至少一个另外的实施例”;术语“一些实施例”表示“至少一些实施例”。其他术语的相关定义将在下文描述中给出。
需要注意,本公开中提及的“第一”、“第二”等概念仅用于对不同的装置、模块或单元进行区分,并非用于限定这些装置、模块或单元所执行的功能的顺序或者相互依存关系。本公开中提及的“一个”、“多个”的修饰是示意性而非限制性的,本领域技术人员应当理解,除非在上下文另有明确指出,否则应该理解为“一个或多个”。
正如背景技术所述,目前业内公认的设计方案是将不同航司的NDC标准处理为统一的NDC标准,后对该信息进行统一处理,即完成聚合器的职责,最后将数据处理并传递给客户。业内的AirGateway公司已经有了初步成果,他们的设计方案与上述相同,但是在统一标准方面采取的是内部统一NDC标准,给客户则是特定的统一json数据。但从对接结果来看他们的接入方法存在不少问题:大部分差异节点未做处理且后续差异处理耗时长;新航司接入耗时长;部分航司新增、修改或删除节点对整体影响大导致维护成本高等。
针对上述问题本发明设计了一种多航空公司NDC接入适配器,每航空公司每NDC版本对应一个具体适配器。由于有着需要将多航司的标准模板化,多航司对接配置标准化,多航司对接流程公式化,多航司差异统一化等问题,所以采用组件的方式将上述问题的处理进行统一,使得不同航司都能组合进系统。这种方式求同存异,能保证最大化的解决对接NDC多航司差异大、耗时高的问题。对于新航司接入,在保留相同构成后只需要针对扩展组件进行开发即可快速的完成新航司的对接,结构也符合松耦合的理念;对于旧航司修改,由于各航司组件相互独立,公共部分可以一并修改,差异化部分在扩展组件特殊处理。因此相比传统对接的方式,我们的方式不仅更加高效、快捷、标准,也更能减少后续新航司接入和旧航司维护的成本。
为了便于对本发明提供的报文转换方法进行说明,将本发明应用到的相关术语进行解释。
NDC(New Distribution Capability,新分销能力),是国际航空运输协会IATA近年来力推的新的分销行业标准。新分销能力主要制定了统一的基于XML格式报文的数据传输标准,航空公司与其合作伙伴之间可以通过这一统一标准来进行数据的交互。航司可以根据卖家的请求以及卖家和旅客的信息,动态实时构建航班运价机票产品以及辅营产品(构建好并由航司返回给合作伙伴的产品报价,就是NDC里常说的Offer),再通过统一的XML格式标准报文提供给卖家。这一设计改变了传统机票领域主要由GDS构建Offer进行分销的模式,让航空公司重回交易的主导地位,促进航司的直销。
Aggregator(聚合器),是民航分销领域中,NDC定义下的一个新的角色。由于各个航司的OOMS的NDC版本不同、业务理解不同、应用方式不同,所以航司OOMS提供的NDC接口各不相同,下游渠道用户对接航司OOMS的NDC接口的成本很高、难度很大。因此NDC中诞生了Aggregator角色,由它对接各个航司的NDC接口,将不同航司的NDC内容进行汇总、解析、转换、融合,生成聚合后的内容,然后按照NDC标准向下游渠道用户提供统一接口,下游渠道用户只需对接该统一接口,即可快速实现多家航司的对接销售。也可被称为“Agg”、“聚合器”、“NDC聚合器”、“内容聚合器”等。
如图1所示,本方案是通过组件的方式将多家航司组合进系统,多个组件需要构造一个统一的航司适配器接口。通过将航司模板方法化,每航司使用统一的NDC标准将航司返回结果模板化,但航司的特定模板却又各自分离,模板内调用方法统一化,通过扩展组件处理航司差异完成差异统一化。将航司配置处理统一化,设计统一的数据库表存储各配置信息,用统一的方法和判定逻辑通过数据库配置信息加载各航司配置。将航司调用流程标准化,保留扩展接口处理特定航司流程变化,按照流程开发,实现流程的公式化。最后通过各航司具体适配器组件控制处理流程即完成该适配器的设计。
其中,航空公司NDC接入适配器可理解为一个应用组件树,因此继承一个应用组件树层次结构的抽象接口,该抽象接口提供组成树状层次结构的组件树操作接口方法,符合面向对象的程序设计方法。同时对于组件的生命周期、事件状态等也需要进行界定,因此需要考虑设计一个生命周期接口(用于提供生命周期事件特征支持的接口,Service实现对生命周期状态迁移的抽象,用于统一生命周期处理逻辑。组件生命周期转换逻辑运行在单独的线程,当存在多个子组件时,各子组件的生命周期转换逻辑运行在独立的线程,父组件通过ServiceManager同步等待所有子组件完成状态转换逻辑。类似com.google.common.util.concurrent.Service,增加了init和bind阶段)。
因此,如图2所示,本发明实施例首先建立了一种航司接入系统,所述航司接入系统包括至少一个航司适配器,该航司适配器由航司适配器抽象类实现,最后通过航司具体适配器组件继承该抽象类完成具体航司产品的封装,具体的,该航司适配器至少包括航司统一配置组件、航司NDC版本组件、NDC标准统一化组件、NDCHttpClient组件以及航司扩展业务组件。
对各组件进行说明,如下:
航司统一配置组件:加载特定航司NDC接入适配器时(此时能获取到航司名称、NDC版本等),服务启动时会预加载的数据库信息,此组件通过航司NDC版本、航司名称从该数据库信息中获取航空公司相关的服务配置信息(如航司名称、航司版本、航司请求地址、支持的代理人信息等),后续接口会使用这些配置信息加载该航司相关功能,然后将这些信息存储到对应的航司AirlineProfile类中,然后通过此相关信息加载比如支持的NDC Version,Offer服务端点信息,即多航司对接配置标准化。
航司NDC版本组件:通过航司名称从预加载的航司数据库信息中加载和配置航空公司支持的NDC版本。
NDC标准统一化(转化)组件:根据航司统一配置组件中加载的AirlineProfile信息在yml文件中识别和解析航司NDC标准转化为系统统一标准的航司报文转化模板(yml文件中存储了航司模板路径以及加载配置要求如加载时间限制、文件大小等),即多航司的标准模板化。
航司扩展业务组件:在上述组件加载完毕后,在AirlineProfile类信息中如果该航司有特定的拓展业务,则根据AirlineProfile类信息中的航司名、航司版本等执行航司特定拓展业务处理组件(如A航司增加了婴儿买座的业务,与其余航司相悖,此处就会在该组件中预加载该航司特定的执行逻辑)即处理多航司差异统一化。
NDCHttpClient组件:通过前面组件已经处理好的AirlineProfile类中的航司名称、航司版本、航司请求路径、代理人信息等加载HTTP客户端信息,然后根据这些信息从该航司yml(yml名称是根据前面的信息组装的)配置信息中设置该航司httpclient对象初始值、配置对应航司请求头(不同航司请求头会有差别),配置内容类型等(运用的Apache下的HttpClient进行构造),用于控制多航司交互。
可见,本方案在统一适配器基础上,由于航司内部对象构造复杂,本发明参考建造者模式设计航空公司接入航司适配器抽象类继承航司适配器接口。通过对需要自动加载的属性设计特定的抽象类,并通过航司适配器抽象类继承,实现适配器接口完成。该抽象类实现了适配器接口各方法,指定各组件加载顺序和方式。然后各航司通过实现该抽象类完成对应航司适配器组件的封装,采用多线程的方式预加载各航司适配器组件进行多航司接入,如图3所示。
其中,适配器抽象类:建造者,用于实现航司适配器接口的各组件,通过将指挥者合并入该适配器抽象类控制航司接入公共方法的过程。
自动属性加载抽象类:负责控制自动属性加载,如航司默认系统配置文件、运行模式等。
航司适配器组件类:具体建造者,每航司基于适配器抽象类的具体实现,控制航司特定加载逻辑。
航司适配器:通过航司具体适配器组件处理后的该航司具体适配器。
从图1可知,航司接入NDC适配器抽象实现了航空公司NDC接入适配器,该适配器通过其继承的父类完成了组件基本配置,然后此抽象则负责对接入航司所必须的组件所需的公共接口进行了创建(基本为图2中的接口)和初始化(整体航司接入默认配置信息,是根据调研各航司对接信息后设置的配置信息),然后具体实现组件通过继承该抽象类,根据服务启动过程的预加载的数据库信息和根据航司名称NDC版本等信息获取到本地配置文件,并加载其中的信息。加载完具体适配器组件后便完成了基本航司的接入与配置,后续当我们对实际航司发送请求的时候,会根据航司名称、请求接口名称以及对应的agency信息等通过此适配器获取到包括不限于该航司对应报文转化模板、航司请求地址、航司http验证信息头等组装成符合要求的报文然后请求航司,航司返回结果时也通过此适配器分配对应的报文转化模板等转化为统一的报文格式。
基于上述系统,本发明实施例还提供了一种多航司接入方法,如图4所示,应用于航司接入系统,包括步骤:
S401、获取预加载的数据库配置信息以及各航司配置文件,基于所述预加载的数据库配置信息以及所述各航司配置文件,加载各航司模板;
S402、基于所述各航司配置文件,加载所述航司扩展业务组件;
S403、基于加载请求过滤器扫描路径集,获取目标Filter扫描路径;
S404、基于所述预加载的数据库配置信息以及所述各航司配置文件,将所述航司适配器注册到NDC适配器;
S405、基于所述预加载的数据库配置信息以及所述各航司配置文件,注册各航司的服务配置信息,所述服务配置信息至少包括代理人账号列表、航司的访问地址、加密秘钥;
S406、基于所述各航司配置文件,获取各航司的模板加载参数并加载该模板。
其中,在本实施例中,还可以预先加载各航司扩展业务组件信息、加载请求过滤器扫描路径集、加载待接入航司的信息校验码。对所述航司适配器进行初始化。
除此,本实施例中,所述基于所述各航司配置文件,加载所述航司扩展业务组件还可以包括:确定与航司的目标参数对应的配置文件为目标配置文件;加载与所述目标配置文件对应的航司扩展业务组件。
所述基于所述各航司配置文件,获取各航司的模板加载参数并加载该模板还可以包括:通过航司模板信息读取对应的配置文件,获取各航司的模板加载参数并加载该模板。
具体的,在系统启动过程中,先预加载各航司所需数据库配置信息,通过多线程的方式分别初始化航司组件,该组件集成了NDC聚合器所需的基本数据。系统启动时,通过统一适配器加载各航司自定义组件,该适配器负责调控各航司NDC的转化、HTTP处理等,加载流程如图5所示。
通过线程的方式加载各航司独立的适配器组件,加载各航司适配器组件过程前,首先加载各航司扩展业务组件信息、加载请求过滤器扫描路径集(航司配置等扫描路径集合,用于获取该航司配置文件等)、加载该航司各信息校验key。加载完毕后进行各适配器组件初始化:
1.当航司扩展业务组件信息不存在且不关闭航司自动扩展组件加载时,初始化附加航司spi组件信息:通过特定业务规则动态加载附加航司spi组件信息,该组件用于处理航司差异(不同航司对NDC标准的认知是有差异的,对于差异的地方,需要特定针对航司设计特定的处理方法),对于航司不同的处理通过相应的策略(通过从请求过滤器扫描路径集获取该航司扩展组件配置,通过读取配置控制各方法加载顺序实现扩展组件的装配)进行独立加载。
2.设置私有模块的Guice IOC模式,保持航司适配器接口的直接隔离性。
在各航司适配器组件初始化完毕后,以多线程的方式通过配置文件扫描系统各航司核心处理组件,即预加载处理方法,减少不必要的处理耗时。
然后通过多线程初始化各航司配置对象:
1.初始化模板信息:通过预加载的数据库配置信息结合各航司配置文件加载各航司模板(模板处理都实现了方法化,即不同航司虽然模板不同,但是调用方法是统一的,航司差异都在扩展组件中一并处理)。
2.加载航空公司抽象扩展业务组件:根据航司名称等信息匹配对应的配置文件加载航司扩展业务组件,即加载航司差异处理方案。
3.添加对应Filter扫描路径:通过对请求过滤器扫描路径集的处理将Filter扫描路径加载入系统。
4.通过读取配置文件和预加载的数据库信息将航司适配器注册到NDC适配器,使航司获取到配器支持的NDC Version、该NDC版本的NDC resp handler等。
5.通过读取配置文件和预加载的数据库信息注册航空公司相关的服务配置信息,例如代理人账号列表、航空公司的访问地址、加密秘钥等。
6.获取航司模板加载参数:通过航司模板信息读取对应的配置文件获取航司模板加载参数并加载该模板,后续航司返回报文需要通过该模板进行转化。
在所有航司加载完毕后,该NDC适配器便加载成功。
在对新航司进行接入时,只需将该航司所需服务信息配置、NDC适配信息配置、航司基本配置等配置信息处理完毕,然后对标准模板构建(已实现方法化,相同节点执行相同方法逻辑)、扩展组件构建(主要负责航司差异化信息处理,包括不限于节点含义变化、调用流程变化)完成处理即可快速接入一家新航司。
示意性的,此适配器对接A航司。
准备阶段:获取A航司具体配置信息(请求方式;支持NDC功能接口如Airshopping、ordercreate等;航司所使用的NDC版本;航司协定代理人信息;加密秘钥等),将相关配置信息存入数据库对应的表中,分析航司具体业务逻辑,在航司扩展业务组件中完成航司自定义逻辑功能的开发,完成转化模板的开发并将模板路径等存入该航司特定的yml配置文件中,此时准备工作便基本结束。
接入:启动服务(以测试环境为例),此时系统从数据库中获取目前所有航司配置信息和服务配置信息,加载各航司业务组件信息集(在核心配置文件中配置,用于确认航司否特定拓展业务组件)、过滤器扫描所有航司配置文件路径集,采用多线程的方式加载各航司具体适配器组件。当加载A航司组件时,先通过A航司的航司名称从预加载的数据库信息中获取A航司的基本配置和服务配置信息,根据航司名称和数据库中获取到的航司NDC版本,通过数据库配置信息构造该航司的AirlineProfile信息,首先加载扩展业务(此处当有拓展业务的情况),通过航司名称和NDC版本在航司业务组件信息集中获取拓展业务组件信息,此时A航司存在拓展业务组件,那么通过AirlinProfile信息加载航司spi组件(该组件封装各拓展业务实现信息,需要用到AirlinProfile信息中的配置信息,在没有拓展业务组件的时候无需加载),加载完毕后则开始加载该航司具体适配器组件,通过AirlinProfile信息初始化该组件继承的抽象类中的航司基本配置信息(航司报文处理逻辑A航司为Saxon,航司转化本地目标版本为18.2,关闭航司拓展业务组件自动加载,开启自动加载模板,开启加载模板池,设置为PrivateModule的Guice IOC模式),通过AirlinProfile信息中航司名称、NDC版本等从航司配置文件路径集中获取航司配置文件后,从配置文件中初始化模板信息,根据基本配置信息自动加载A航司的模板,并加入模板池中。此时A航司存在拓展业务组件,因此加载拓展业务实现信息。通过AirlinProfile信息配置Filter扫描路径(某些接口需要在Filter中处理额外的信息,比如信息填写不规范的校验、创建订单后需要先查询一次订单再返回等),然后将A航司适配器注册到NDC适配器上(本适配器中的具体适配器组件需要注册到NDC适配器上才能启动功能,松耦合的方式对于接口调试和服务维护有了更好的支持),最后注册A航司相关服务配置信息(比如A航司有两个代理人信息,其中一个是通过航司直连调用,另一个是通过中转平台处理后调用航司,方式不同所需构造的请求报文比如请求头、代理人信息构造结果都会有不同。此服务配置便是根据从数据库中获取到的配置信息进行动态处理和设置,所有航司都是同一套逻辑),最后从本地配置文件中和航司基本配置信息获取航司模板加载参数(如A航司是通过Saxon方式加载、航司模板路径为XX、航司名称、航司NDC版本、接口名称等),这些参数是用于后续接口调用而设置的,比如根据航司名称、NDC版本、接口名称从加载参数中获取到对应的转化模板,然后模板处理方案采用Saxon加载等。如此A航司的接入和装置便结束了。
可见,本方案通过组件的方式设计NDC适配器,将各航司差异化通过扩展组件单独处理,将航司接入流程统一化,使得NDC聚合器多航司接入中各航司相互独立却又易于开发和维护,也使得新航司接入变得更加快捷高效,节省大量成本花费。
除此,在本发明实施例中还提供了一种多航司接入装置,该装置包括:
第一获取模块,用于获取预加载的数据库配置信息以及各航司配置文件,基于所述预加载的数据库配置信息以及所述各航司配置文件,加载各航司模板;
第一加载模块,用于基于所述各航司配置文件,加载所述航司扩展业务组件;
第二获取模块,用于基于加载请求过滤器扫描路径集,获取目标Filter扫描路径;
第一注册模块,用于基于所述预加载的数据库配置信息以及所述各航司配置文件,将所述航司适配器注册到NDC适配器;
第二注册模块,用于基于所述预加载的数据库配置信息以及所述各航司配置文件,注册各航司的服务配置信息,所述服务配置信息至少包括代理人账号列表、航司的访问地址、加密秘钥;
第三获取模块,用于基于所述各航司配置文件,获取各航司的模板加载参数并加载该模板。
除此,还可以包括:
预加载模块,用于预先加载各航司扩展业务组件信息、加载请求过滤器扫描路径集、加载待接入航司的信息校验码;
初始化模块,用于对所述航司适配器进行初始化。
其中,所述第一加载模块可以包括:
确定单元,用于确定与航司的目标参数对应的配置文件为目标配置文件;
加载单元,用于加载与所述目标配置文件对应的航司扩展业务组件。
所述第三获取模块可以包括:
获取单元,用于通过航司模板信息读取对应的配置文件,获取各航司的模板加载参数并加载该模板。
综上,本发明提供了一种多航司接入方法、装置及系统,该接入方法应用于航司接入系统,所述航司接入系统包括至少一个航司适配器,所述航司适配器至少包括航司统一配置组件、航司NDC版本组件、NDC标准统一化组件、NDCHttpClient组件以及航司扩展业务组件,该航司接入方法首先获取预加载的数据库配置信息以及各航司配置文件,基于所述预加载的数据库配置信息以及所述各航司配置文件,加载各航司模板。之后,基于所述各航司配置文件,加载所述航司扩展业务组件;基于加载请求过滤器扫描路径集,获取目标Filter扫描路径;基于所述预加载的数据库配置信息以及所述各航司配置文件,将所述航司适配器注册到NDC适配器;基于所述预加载的数据库配置信息以及所述各航司配置文件,注册各航司的服务配置信息。最后,基于所述各航司配置文件,获取各航司的模板加载参数并加载该模板。可见,本方案提供的多航司接入方法,通过组件的方式设计航司适配器,其将各航司差异化通过扩展组件单独处理,将航司接入个流程统一化,使得NDC聚合器多航司接入中各航司相互独立却又易于开发和维护,也使得新航司接入变得更加快捷高效,节省大量成本花费。
需要说明的是,实施例中参见的附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
本公开实施方式中的多个装置之间所交互的消息或者信息的名称仅用于说明性的目的,而并不是用于对这些消息或信息的范围进行限制。虽然采用特定次序描绘了各操作,但是这不应当理解为要求这些操作以所示出的特定次序或以顺序次序执行来执行。在一定环境下,多任务和并行处理可能是有利的。应当理解,本公开的方法实施方式中记载的各个步骤可以按照不同的顺序执行,和/或并行执行。此外,方法实施方式可以包括附加的步骤和/或省略执行示出的步骤。本公开的范围在此方面不受限制。
描述于本公开实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。其中,单元的名称在某种情况下并不构成对该单元本身的限定。
在本发明实施例中还提供了一种存储介质,所述存储介质上存储有可执行指令,所述指令被处理器执行时实现如上任一项所述的多航司接入方法。
本发明实施例还提供了一种电子设备,包括:
存储器,用于存储程序;
处理器,用于执行所述程序,所述程序具体用于:
获取预加载的数据库配置信息以及各航司配置文件,基于所述预加载的数据库配置信息以及所述各航司配置文件,加载各航司模板;
基于所述各航司配置文件,加载所述航司扩展业务组件;
基于加载请求过滤器扫描路径集,获取目标Filter扫描路径;
基于所述预加载的数据库配置信息以及所述各航司配置文件,将所述航司适配器注册到NDC适配器;
基于所述预加载的数据库配置信息以及所述各航司配置文件,注册各航司的服务配置信息,所述服务配置信息至少包括代理人账号列表、航司的访问地址、加密秘钥;
基于所述各航司配置文件,获取各航司的模板加载参数并加载该模板。
进一步地,所述方法还包括:
预先加载各航司扩展业务组件信息、加载请求过滤器扫描路径集、加载待接入航司的信息校验码;
对所述航司适配器进行初始化。
其中,所述基于所述各航司配置文件,加载所述航司扩展业务组件,包括:
确定与航司的目标参数对应的配置文件为目标配置文件;
加载与所述目标配置文件对应的航司扩展业务组件。
其中,所述基于所述各航司配置文件,获取各航司的模板加载参数并加载该模板,包括:
通过航司模板信息读取对应的配置文件,获取各航司的模板加载参数并加载该模板。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
根据本公开的一个或多个实施例,提供了一种多航司接入方法方法、系统、存储介质及电子设备。
一种多航司接入方法,应用于航司接入系统,所述航司接入系统包括至少一个航司适配器,所述航司适配器至少包括航司统一配置组件、航司NDC版本组件、NDC标准统一化组件、NDCHttpClient组件以及航司扩展业务组件,所述航司接入方法包括:
获取预加载的数据库配置信息以及各航司配置文件,基于所述预加载的数据库配置信息以及所述各航司配置文件,加载各航司模板;
基于所述各航司配置文件,加载所述航司扩展业务组件;
基于加载请求过滤器扫描路径集,获取目标Filter扫描路径;
基于所述预加载的数据库配置信息以及所述各航司配置文件,将所述航司适配器注册到NDC适配器;
基于所述预加载的数据库配置信息以及所述各航司配置文件,注册各航司的服务配置信息,所述服务配置信息至少包括代理人账号列表、航司的访问地址、加密秘钥;
基于所述各航司配置文件,获取各航司的模板加载参数并加载该模板。
一种多航司接入装置,应用于航司接入系统,所述航司接入系统包括至少一个航司适配器,所述航司适配器至少包括航司统一配置组件、航司NDC版本组件、NDC标准统一化组件、NDCHttpClient组件以及航司扩展业务组件,所述航司接入装置包括:
第一获取模块,用于获取预加载的数据库配置信息以及各航司配置文件,基于所述预加载的数据库配置信息以及所述各航司配置文件,加载各航司模板;
第一加载模块,用于基于所述各航司配置文件,加载所述航司扩展业务组件;
第二获取模块,用于基于加载请求过滤器扫描路径集,获取目标Filter扫描路径;
第一注册模块,用于基于所述预加载的数据库配置信息以及所述各航司配置文件,将所述航司适配器注册到NDC适配器;
第二注册模块,用于基于所述预加载的数据库配置信息以及所述各航司配置文件,注册各航司的服务配置信息,所述服务配置信息至少包括代理人账号列表、航司的访问地址、加密秘钥;
第三获取模块,用于基于所述各航司配置文件,获取各航司的模板加载参数并加载该模板。
一种存储介质,所述存储介质上存储有可执行指令,所述指令被处理器执行时实现如任一项上述的多航司接入方法。
一种电子设备,其特征在于,包括:
存储器,用于存储程序;
处理器,用于执行所述程序,所述程序具体用于:
获取预加载的数据库配置信息以及各航司配置文件,基于所述预加载的数据库配置信息以及所述各航司配置文件,加载各航司模板;
基于所述各航司配置文件,加载所述航司扩展业务组件;
基于加载请求过滤器扫描路径集,获取目标Filter扫描路径;
基于所述预加载的数据库配置信息以及所述各航司配置文件,将所述航司适配器注册到NDC适配器;
基于所述预加载的数据库配置信息以及所述各航司配置文件,注册各航司的服务配置信息,所述服务配置信息至少包括代理人账号列表、航司的访问地址、加密秘钥;
基于所述各航司配置文件,获取各航司的模板加载参数并加载该模板。
尽管已经采用特定于结构特征和/或方法逻辑动作的语言描述了本主题,但是应当理解所附权利要求书中所限定的主题未必局限于上面描述的特定特征或动作。相反,上面所描述的特定特征和动作仅仅是实现权利要求书的示例形式。
虽然在上面论述中包含了若干具体实现细节,但是这些不应当被解释为对本公开的范围的限制。在单独的实施例的上下文中描述的某些特征还可以组合地实现在单个实施例中。相反地,在单个实施例的上下文中描述的各种特征也可以单独地或以任何合适的子组合的方式实现在多个实施例中。
以上描述仅为本公开的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本公开中所涉及的公开范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述公开构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本公开中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。

Claims (10)

1.一种多航司接入方法,其特征在于,应用于航司接入系统,所述航司接入系统包括至少一个航司适配器,所述航司适配器至少包括航司统一配置组件、航司NDC版本组件、NDC标准统一化组件、NDCHttpClient组件以及航司扩展业务组件,所述航司接入方法包括:
获取预加载的数据库配置信息以及各航司配置文件,基于所述预加载的数据库配置信息以及所述各航司配置文件,加载各航司模板;
基于所述各航司配置文件,加载所述航司扩展业务组件;
基于加载请求过滤器扫描路径集,获取目标Filter扫描路径;
基于所述预加载的数据库配置信息以及所述各航司配置文件,将所述航司适配器注册到NDC适配器;
基于所述预加载的数据库配置信息以及所述各航司配置文件,注册各航司的服务配置信息,所述服务配置信息至少包括代理人账号列表、航司的访问地址、加密秘钥;
基于所述各航司配置文件,获取各航司的模板加载参数并加载该模板。
2.根据权利要求1所述的方法,其特征在于,还包括:
预先加载各航司扩展业务组件信息、加载请求过滤器扫描路径集、加载待接入航司的信息校验码;
对所述航司适配器进行初始化。
3.根据权利要求1所述的方法,其特征在于,所述基于所述各航司配置文件,加载所述航司扩展业务组件,包括:
确定与航司的目标参数对应的配置文件为目标配置文件;
加载与所述目标配置文件对应的航司扩展业务组件。
4.根据权利要求1所述的方法,其特征在于,所述基于所述各航司配置文件,获取各航司的模板加载参数并加载该模板,包括:
通过航司模板信息读取对应的配置文件,获取各航司的模板加载参数并加载该模板。
5.一种多航司接入装置,其特征在于,应用于航司接入系统,所述航司接入系统包括至少一个航司适配器,所述航司适配器至少包括航司统一配置组件、航司NDC版本组件、NDC标准统一化组件、NDCHttpClient组件以及航司扩展业务组件,所述航司接入装置包括:
第一获取模块,用于获取预加载的数据库配置信息以及各航司配置文件,基于所述预加载的数据库配置信息以及所述各航司配置文件,加载各航司模板;
第一加载模块,用于基于所述各航司配置文件,加载所述航司扩展业务组件;
第二获取模块,用于基于加载请求过滤器扫描路径集,获取目标Filter扫描路径;
第一注册模块,用于基于所述预加载的数据库配置信息以及所述各航司配置文件,将所述航司适配器注册到NDC适配器;
第二注册模块,用于基于所述预加载的数据库配置信息以及所述各航司配置文件,注册各航司的服务配置信息,所述服务配置信息至少包括代理人账号列表、航司的访问地址、加密秘钥;
第三获取模块,用于基于所述各航司配置文件,获取各航司的模板加载参数并加载该模板。
6.根据权利要求5所述的装置,其特征在于,还包括:
预加载模块,用于预先加载各航司扩展业务组件信息、加载请求过滤器扫描路径集、加载待接入航司的信息校验码;
初始化模块,用于对所述航司适配器进行初始化。
7.根据权利要求5所述的装置,其特征在于,所述第一加载模块包括:
确定单元,用于确定与航司的目标参数对应的配置文件为目标配置文件;
加载单元,用于加载与所述目标配置文件对应的航司扩展业务组件。
8.根据权利要求5所述的装置,其特征在于,所述第三获取模块包括:
获取单元,用于通过航司模板信息读取对应的配置文件,获取各航司的模板加载参数并加载该模板。
9.一种存储介质,其特征在于,所述存储介质上存储有可执行指令,所述指令被处理器执行时实现如权利要求1至4中任一项所述的多航司接入方法。
10.一种电子设备,其特征在于,包括:
存储器,用于存储程序;
处理器,用于执行所述程序,所述程序具体用于:
获取预加载的数据库配置信息以及各航司配置文件,基于所述预加载的数据库配置信息以及所述各航司配置文件,加载各航司模板;
基于所述各航司配置文件,加载所述航司扩展业务组件;
基于加载请求过滤器扫描路径集,获取目标Filter扫描路径;
基于所述预加载的数据库配置信息以及所述各航司配置文件,将所述航司适配器注册到NDC适配器;
基于所述预加载的数据库配置信息以及所述各航司配置文件,注册各航司的服务配置信息,所述服务配置信息至少包括代理人账号列表、航司的访问地址、加密秘钥;
基于所述各航司配置文件,获取各航司的模板加载参数并加载该模板。
CN202011190357.2A 2020-10-30 2020-10-30 一种多航司接入方法、装置及电子设备 Active CN112306573B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011190357.2A CN112306573B (zh) 2020-10-30 2020-10-30 一种多航司接入方法、装置及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011190357.2A CN112306573B (zh) 2020-10-30 2020-10-30 一种多航司接入方法、装置及电子设备

Publications (2)

Publication Number Publication Date
CN112306573A true CN112306573A (zh) 2021-02-02
CN112306573B CN112306573B (zh) 2024-06-14

Family

ID=74332795

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011190357.2A Active CN112306573B (zh) 2020-10-30 2020-10-30 一种多航司接入方法、装置及电子设备

Country Status (1)

Country Link
CN (1) CN112306573B (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011128199A1 (en) * 2010-04-13 2011-10-20 Amadeus S.A.S. Method and system for inventory data sharing between airlines
CN105988797A (zh) * 2015-02-12 2016-10-05 北京仿真中心 一种多学科设计与分析工具适配系统及方法
CN106873972A (zh) * 2016-12-30 2017-06-20 中国电力科学研究院 基于插件的电网规划仿真平台计算模块接入方法及系统
CN110730181A (zh) * 2019-10-21 2020-01-24 中国民航信息网络股份有限公司 一种报文转换方法、装置及适配器
CN111597156A (zh) * 2020-05-13 2020-08-28 中国民航信息网络股份有限公司 民航数据处理方法、装置、电子设备及存储介质

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011128199A1 (en) * 2010-04-13 2011-10-20 Amadeus S.A.S. Method and system for inventory data sharing between airlines
CN105988797A (zh) * 2015-02-12 2016-10-05 北京仿真中心 一种多学科设计与分析工具适配系统及方法
CN106873972A (zh) * 2016-12-30 2017-06-20 中国电力科学研究院 基于插件的电网规划仿真平台计算模块接入方法及系统
CN110730181A (zh) * 2019-10-21 2020-01-24 中国民航信息网络股份有限公司 一种报文转换方法、装置及适配器
CN111597156A (zh) * 2020-05-13 2020-08-28 中国民航信息网络股份有限公司 民航数据处理方法、装置、电子设备及存储介质

Also Published As

Publication number Publication date
CN112306573B (zh) 2024-06-14

Similar Documents

Publication Publication Date Title
CN106980560B (zh) 一种基于icd数据库多总线协议测试及仿真方法和平台
US9898497B2 (en) Validating coherency between multiple data sets between database transfers
US10768906B2 (en) Multi-technology visual integrated data management and analytics development and deployment environment
CN111651431B (zh) 一种面向数据库服务的管理流程标准化方法
JP7097958B2 (ja) 自動ユニバーサルコネクタパッケージを使用してクラウドアプリケーションをクラウドサービスブローカプラットフォームに統合するためのシステムおよび方法
US20130019223A1 (en) Stepwise template integration method and system
WO2017156916A1 (zh) 数据访问方法和装置
US20100010978A1 (en) Method and system to search for travel products
KR20120062514A (ko) SaaS 환경에서의 권한 관리 장치 및 방법
US11790224B2 (en) Machine learning from the integration flow metadata
US11164268B2 (en) System, method and apparatus for responding differentially to data requests
US11689643B2 (en) Just-in-time auto-provisioning systems and methods for information exchange platform
JP6559469B2 (ja) レコードデータ構造を管理する方法およびシステム
CN112860308A (zh) 接口定义的配置方法、业务处理方法、服务器及存储介质
US11853349B2 (en) System and method for an interior design toolset
KR20150138822A (ko) 콘텐츠 관리 시스템
CN112306573A (zh) 一种多航司接入方法、装置及电子设备
CN113127195A (zh) 人工智能分析垂直解决方案集成器
CN111680087A (zh) 一种主数据模型管理平台及方法
CN111782251A (zh) 一种软件功能模块的更新方法、装置及计算机设备
US11595494B1 (en) Device, system and method controlling operation of a client device via an intermediation server
US8561132B2 (en) Access control apparatus, information management apparatus, and access control method
CN112650598B (zh) 一种用于工作流系统的多应用接入方法
Mu et al. Android-Based Order Recommender System
CN109857480B (zh) 一种管理api接口地址的方法及系统

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