首页> 中国专利> 一种XSLT模板的加载方法、装置及电子设备

一种XSLT模板的加载方法、装置及电子设备

摘要

本发明公开了一种XSLT模板的加载方法、装置及系统,该加载方法应用于进行NDC报文转换的系统,该系统包括NDC报文装载器工厂、NDC报文转换器工厂、NDC版本适配器、各版本航司适配器以及报文转换器。首先获取航司各接口的目标模板池的配置信息以及航司模板加载路径,基于所述配置信息以及航司模板加载路径,从NDC报文转换器工厂获取与NDC报文装载器的目标参数对应的报文转换器实例;基于接口报文翻译模式以及报文翻译池大小,初始化所述报文转换器实例;基于各接口的转换方式配置,构建NDC报文装载器实例;基于所述报文转换器实例以及所述NDC报文装载器实例,生成目标NDC版本适配器。可见,本发明提供的XSLT模板的加载方法,能够提高XSLT模板的转换效率,灵活性高。

著录项

  • 公开/公告号CN112307734A

    专利类型发明专利

  • 公开/公告日2021-02-02

    原文格式PDF

  • 申请/专利权人 中国民航信息网络股份有限公司;

    申请/专利号CN202011190335.6

  • 发明设计人 杨毅;宁娜;杨成科;柯锦;

    申请日2020-10-30

  • 分类号G06F40/186(20200101);G06F40/151(20200101);G06F9/445(20180101);G06F40/58(20200101);H04L29/06(20060101);

  • 代理机构11227 北京集佳知识产权代理有限公司;

  • 代理人李婷婷

  • 地址 100085 北京市顺义区后沙峪镇裕民大街7号

  • 入库时间 2023-06-19 09:58:59

说明书

技术领域

本发明涉及信息处理技术领域,特别是涉及一种XSLT模板的加载方法、装置及电子设备。

背景技术

NDC(New Distribution Capability,新分销能力)是国际航空运输协会(International Air Transport Association,IATA)近年来力推的新的分销行业标准。它主要制定了统一的数据传输标准(基于XML格式的报文),航空公司与其合作伙伴之间可以通过这个统一标准来进行数据的交互。航司可以根据卖家的请求以及卖家和旅客的信息,动态实时构建航班运价机票产品以及辅营产品,再通过统一的标准提供给卖家,改变了传统机票领域主要由全球分销系统(Global Distribution System,简称GDS)构建产品,促进航司的直销。

然而,NDC有多个版本,版本与版本之间有较大的差距,而且每个航司对接的NDC版本可能不同,因此,聚合器(Aggregator)就需要对航司的各个NDC版本进行处理,对航司多版本的XSLT模板进行XML转换,以实现NDC版本与航司NDC版本的转换。现有的XSLT模板的转换效率较低,灵活性差,已经无法适用于当前复杂场景下的XML转换的需求。

发明内容

针对于上述问题,本发明提供了一种XSLT模板的加载方法、装置及电子设备,提高了XSLT模板的转换效率,灵活性高。

为了实现上述目的,本发明提供了如下技术方案:

一种XSLT模板的加载方法,应用于进行NDC报文转换的系统,该系统包括NDC报文装载器工厂、NDC报文转换器工厂、NDC版本适配器、各版本航司适配器以及报文转换器,所述加载方法包括:

获取航司各接口的目标模板池的配置信息以及航司模板加载路径,所述目标模板配置信息至少包括最大翻译数,最小空闲数,最大空闲数,最大等待时长;

基于所述配置信息以及航司模板加载路径,从NDC报文转换器工厂获取与NDC报文装载器的目标参数对应的报文转换器实例;

基于接口报文翻译模式以及报文翻译池大小,初始化所述报文转换器实例;

基于各接口的转换方式配置,构建NDC报文装载器实例;

基于所述报文转换器实例以及所述NDC报文装载器实例,生成目标NDC版本适配器。

一种XSLT模板的加载装置,应用于进行NDC报文转换的系统,该系统包括NDC报文装载器工厂、NDC报文转换器工厂、NDC版本适配器、各版本航司适配器以及报文转换器,所述加载装置包括:

第一获取模块,用于获取航司各接口的目标模板池的配置信息以及航司模板加载路径,所述目标模板配置信息至少包括最大翻译数,最小空闲数,最大空闲数,最大等待时长;

第二获取模块,用于基于所述配置信息以及航司模板加载路径,从NDC报文转换器工厂获取与NDC报文装载器的目标参数对应的报文转换器实例;

初始化模块,用于基于接口报文翻译模式以及报文翻译池大小,初始化所述报文转换器实例;

构建模块,用于基于各接口的转换方式配置,构建NDC报文装载器实例;

生成模块,用于基于所述报文转换器实例以及所述NDC报文装载器实例,生成目标NDC版本适配器。

一种存储介质,所述存储介质上存储有可执行指令,所述指令被处理器执行时实现如任一项上述的加载方法。

一种电子设备,包括:

存储器,用于存储程序;

处理器,用于执行所述程序,所述程序具体用于:

获取航司各接口的目标模板池的配置信息以及航司模板加载路径,所述目标模板配置信息至少包括最大翻译数,最小空闲数,最大空闲数,最大等待时长;

基于所述配置信息以及航司模板加载路径,从NDC报文转换器工厂获取与NDC报文装载器的目标参数对应的报文转换器实例;

基于接口报文翻译模式以及报文翻译池大小,初始化所述报文转换器实例;

基于各接口的转换方式配置,构建NDC报文装载器实例;

基于所述报文转换器实例以及所述NDC报文装载器实例,生成目标NDC版本适配器。

相较于现有技术,本发明提供了一种XSLT模板的加载方法、装置及系统,该加载方法应用于进行NDC报文转换的系统,该系统包括NDC报文装载器工厂、NDC报文转换器工厂、NDC版本适配器、各版本航司适配器以及报文转换器。首先获取航司各接口的目标模板池的配置信息以及航司模板加载路径,基于所述配置信息以及航司模板加载路径,从NDC报文转换器工厂获取与NDC报文装载器的目标参数对应的报文转换器实例;基于接口报文翻译模式以及报文翻译池大小,初始化所述报文转换器实例;基于各接口的转换方式配置,构建NDC报文装载器实例;基于所述报文转换器实例以及所述NDC报文装载器实例,生成目标NDC版本适配器,提高了面向NDC聚合器的适用场景广的XSLT模板的转换效率。

附图说明

结合附图并参考以下具体实施方式,本公开各实施例的上述和其他特征、优点及方面将变得更加明显。贯穿附图中,相同或相似的附图标记标识相同或相似的元素。应当理解附图是示意性的,原件和元素不一定按照比例绘制。

图1为本发明实施例提供的一种XSLT模板的加载系统的结构示意图;

图2为本发明实施例提供的一种XSLT模板的加载方法的流程示意图;

图3为本发明实施例提供的一种航司适配器的示意图;

图4为本发明实施例提供的一种初始化报文转换池的示意图;

图5为本发明实施例提供的一种NDC适配器装载的示意图;

图6为本发明实施例提供的一种NDC版本适配器的示意图;

图7为本发明实施例提供的一种XSLT模板的加载装置的结构示意图。

具体实施方式

下面将参照附图更详细地描述本公开的实施例。虽然附图中显示了本公开的某些实施例,然而应当理解的是,本公开可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例,相反提供这些实施例是为了更加透彻和完整地理解本公开。应当理解的是,本公开的附图及实施例仅用于示例性作用,并非用于限制本公开的保护范围。

本文使用的术语“包括”及其变形是开放性包括,即“包括但不限于”。术语“基于”是“至少部分地基于”。术语“一个实施例”表示“至少一个实施例”;术语“另一实施例”表示“至少一个另外的实施例”;术语“一些实施例”表示“至少一些实施例”。其他术语的相关定义将在下文描述中给出。

需要注意,本公开中提及的“第一”、“第二”等概念仅用于对不同的装置、模块或单元进行区分,并非用于限定这些装置、模块或单元所执行的功能的顺序或者相互依存关系。本公开中提及的“一个”、“多个”的修饰是示意性而非限制性的,本领域技术人员应当理解,除非在上下文另有明确指出,否则应该理解为“一个或多个”。

正如背景技术所述,随着航空公司新分销能力的建立,航空公司渠道多元化是趋势,越来越多的航空公司发布了自己的NDC销售接口,但是由于NDC接口迭代更新快,导致不同航司会选择不同版本的NDC接口,因此需要一种插件化的平台使用XSLT模板来快速实现XML转换,去加载多航司多版本的XSLT模板,以及实现NDC版本与航司NDC版本的转换。

然而,发明人发现,在这样的环境下,NDC聚合器XSLT模板的加载和装置面临以下问题:

1、随着NDC版本迭代升级,平台需要不断迭代并提供不同版本的NDC接口。因此,NDC聚合器需要快速实现通过XSLT模板进行的XML转换,并且需要处理不同版本的NDC模板装载方式。

2、随着航空公司NDC版本迭代,NDC聚合器需要不断更新,接入各航司的不同版本。因此,NDC聚合器需要处理不同版本NDC请求与航空公司不同版本NDC模板装载方式。

3、随着航空公司NDC版本迭代,NDC聚合器的不断整合统一,对于接入的各航司在性能,业务等要求下,需要对外输出的NDC版本和航司NDC版本的转换在航司或接口层面使用不同的转换器。

面对这些问题,按照传统架构设计,系统需要创建一个转换器工厂,然后从转换器工厂创建一个转换器,最后使用转换器(SAXON、XALAN)执行转换。对于NDC聚合器是需要多NDC版本,多航司NDC版本之间的转换方式,并且支持NDC版本、航司NDC版本、接口、转换实现方式之间的自定义。这种传统架构设计就无法灵活的、高效的应用到NDC聚合器。基于此,本方案提供一种XSLT模板的加载方法、装置及电子设备,能够提高面向NDC聚合器的适用场景广的XSLT模板的转换效率。

为了便于对本发明提供的报文转换方法进行说明,将本发明应用到的相关术语进行解释。

IATA(International Air Transport Association,国际航空运输协会),是一个由世界各国航空公司所组成的大型国际组织,其前身是1919年在海牙成立并在二战时解体的国际航空业务协会,总部设在加拿大的蒙特利尔,执行机构设在日内瓦。和监管航空安全和航行规则的国际民航组织相比,它更像是一个由承运人(航空公司)组成的国际协调组织,管理在民航运输中出现的诸如票价、危险品运输等等问题,主要作用是通过航空运输企业来协调和沟通政府间的政策,并解决实际运作的问题。

NDC(New Distribution Capability,新分销能力),是国际航空运输协会IATA近年来力推的新的分销行业标准。新分销能力主要制定了统一的基于XML格式报文的数据传输标准,航空公司与其合作伙伴之间可以通过这一统一标准来进行数据的交互。航司可以根据卖家的请求以及卖家和旅客的信息,动态实时构建航班运价机票产品以及辅营产品(构建好并由航司返回给合作伙伴的产品报价,就是NDC里常说的Offer),再通过统一的XML格式标准报文提供给卖家。这一设计改变了传统机票领域主要由GDS构建Offer进行分销的模式,让航空公司重回交易的主导地位,促进航司的直销。

GDS(Global Distribution System,全球分销系统),是应用于民用航空运输及整个旅游业的大型计算机信息服务系统。通过GDS,遍及全球的旅游销售机构可以及时地从航空公司、旅馆、租车公司、旅游公司获取大量的与旅游相关的信息,从而为顾客提供快捷、便利、可靠的服务。

OOMS(Offer and Order Management System,报价及订单管理系统),为基于NDC标准构建的航司销售系统。该系统通过接口的形式,以NDC标准的报文与合作伙伴进行数据的交互。OOMS即为航司实现NDC的载体。

Offer,为在基于NDC构建的系统中(例如:OOMS),航司返回的航班舱位、品牌运价、附加服务、使用规则等信息。每个Offer可以有多个OfferItem,每个旅客类型对应一个OfferItem,每个附加服务会对应一个OfferItem。

Order,为在基于NDC构建的系统中(例如:OOMS),存储的各种交易数据,或称基于NDC的订单信息。

NDC报文,NDC主要制定了统一的基于XML格式报文的数据传输标准,航空公司与其合作伙伴之间可以通过这一统一标准来进行数据的交互。这些统一标准的报文即为NDC报文。NDC报文均以XML格式的文档呈现,对这些XML格式文档的定义文件为对应的XSD文件。不论XSD文件还是XML文件,均遵守其本身的技术规范,例如:其中存在一些“节点”、“属性”等内容,这些均属于标准的技术定义。

NDC接口,OOMS为航司实现NDC的载体,由于在航司销售的流程中业务环节及流程场景的多样性,使得OOMS必须提供各种不同的接口来满足整个业务流程中交互的需要,例如常见的NDC接口有:AirShopping(Offer查询,提供用户对所需的产品进行查询的功能)、OrderCreate(Order生成,提供用户向航司OOMS进行订单下单的功能)、OrderRetrieve(Order获取,提供用户向航司请求查看已预订的订单情况功能)等。不同的接口使用各自的NDC报文。

NDC版本,NDC是一个较新的、持续发展的项目,国际航协也在持续的对NDC进行优化、完善。体现在具体的交付物上,即NDC报文在每年会(针对所有NDC接口)发布两个更新迭代的版本,其版本号采用“年份”.“版本号”写法构成,例如:2017年发布的第二个版本的版本号位17.2;2018年发布的第一个版本为18.1等。

Aggregator(聚合器),是民航分销领域中,NDC定义下的一个新的角色。由于各个航司的OOMS的NDC版本不同、业务理解不同、应用方式不同,所以航司OOMS提供的NDC接口各不相同,下游渠道用户对接航司OOMS的NDC接口的成本很高、难度很大。因此NDC中诞生了Aggregator角色,由它对接各个航司的NDC接口,将不同航司的NDC内容进行汇总、解析、转换、融合,生成聚合后的内容,然后按照NDC标准向下游渠道用户提供统一接口,下游渠道用户只需对接该统一接口,即可快速实现多家航司的对接销售。也可被称为“Agg”、“聚合器”、“NDC聚合器”、“内容聚合器”、等。

聚合商,为提供聚合器的厂商或技术提供商。也称“内容聚合商”等。

Airline Profile是NDC定义的Aggregator中的一个组件,其作用为存储Aggregator与航司交互过程中的配置细节,例如:保存航司支持的航线信息(但不限于此)。即如果Airline Profile中保存了一条记录“加拿大航空不支持北京-赫尔辛基这条航线”,当下游渠道用户希望通过Aggregator查询“北京-赫尔辛基”的航班时,Aggregator会先读取Airline Profile中的配置,发现“加拿大航空不支持”的信息,则Aggregator将不会请求加拿大航空的接口,这样可以同时减轻加拿大航空的接口及Aggregator本身的系统压力。

XSL,指扩展样式表语言(EXtensible Stylesheet Language)。

XSLT,指XSL转换。

XSLT转换处理器,包括SAXON以及XALAN,其中,Xalan是将可扩展标记语言(XML)转换为超文本链接标识语言(HTML)或其它类型XML文档的规范。Xalan-Java 1.2是基于互联网联盟(W3C)对可扩展样式表语言转换(XSLT)和XML路径语言(XPL)建立的。通常Xalan使用Xerces XML词法分析器,它也可以使用其它分析器转换为文档对象模型(DOM)2或者用于XML的简单API(SAX)1。经过大量测试,使用xalan模板转换小报文时,速度较快、系统开销较小。

Saxon是一个XSLT处理器,它是使用XML文档和样式表作为输入,然后生成结果文档作为输出的程序。它可以与其它实现Java SAX接口的语法分析器一起使用。Saxon还包括了一个串行化器,用于将结果树转换成XML、HTML或纯文本。良好的性能当然是我们选择Saxon的一个原因,经过大量测试Saxon在解析大报文是存在明显的速度优势。在解析AirShopping报文时,使用的是Saxon模板。

参见图1,本发明实施例首先建立一通过XSLT模板进行NDC报文转换的系统,该系统包括NDC报文装载器工厂、NDC报文转换器工厂、NDC版本适配器、各版本航司适配器以及报文转换器。通过该系统对模板进行预加载,进而使得NDC聚合产品对多版本多航司的不同接口报文转换方式进行快速、灵活配置。

其中,NDC报文装载器工厂:负责提供四种类型的NDC报文装载池,分别是XALAN、SAXON、XALAN_POOL、SAXON_POOL。并且支持对不同的接口,航司,和模板加载的最大空闲数量,最小空闲数量进行初始化模板池。获取航司的模板配置进行初始化,并将初始化后的所有航司所有接口的模板池合并供后续使用,其中,模板配置至少包括NDC版本号、航司版本号、航司接口、NDC报文转换器唯一标识以及NDC报文装载类型。示意性的,下表列出按照本文方法步骤,进行配置的具体实施情况。

航司接口的模板配置如上表,经过NDC报文装载器和NDC报文转换器装载成功后,得到如下表所示的两个模板池:

NDC报文转换器工厂:负责提供四种类型的NDC报文转换池,分别是XALAN、SAXON、XALAN_POOL、SAXON_POOL。然后获取NDC报文装载器,根据NDC版本号,航司版本号,航司接口获取模板池。

NDC版本适配器:NDC版本的适配器支持按照航司和按照接口分别配置模板的加载类型(XALAN和SAXON)。还支持同一NDC版本下不同的接口报文之间的转换。

各版本航司适配器:目标航司版本和输出NDC版本从报文转换器工厂获取报文转换器。

报文转换器:根据报文请求内容按照策略分析,得到报文转换的方式并执行转换。报文转换器支持的转换方式有:当前线程转换,大任务分片转换,并行流式转换。

具体的,基于图1示出的通过XSLT模板进行NDC报文转换的系统的结构,如图2所示,图2示出了本发明实施例提供的一种XSLT模板的加载方法的流程示意图,该加载方法可以包括以下步骤:

S101、构建航司适配器:获取航司各接口的目标模板池的配置信息以及航司模板加载路径。

具体的,结合图3,首先,初始化不同版本不同航司各接口的报文转换配置,包括报文翻译加载模式、报文转换模式。每个航司每个NDC版本为一个适配器。

然后,读取每个航司每个版本每个接口的SAXON或XALAN转换方式配置,构建NDC报文装载器实例。当所有组件绑定具体实现完成后,会扫描各航司组件下面每个接口的转换器配置,获取相应接口转换器集合。从航司组件下面的配置文件获取航司模板加载路径,航司各接口的模板池配置信息可以包括最大翻译数,最小空闲数,最大空闲数,最大等待时长等。

S102、初始化报文转换池:基于所述配置信息以及航司模板加载路径,从NDC报文转换器工厂获取与NDC报文装载器的目标参数对应的报文转换器实例。

具体的,结合图4,初始化各航司对不同接口的报文转换池。根据上述读取的配置和模板路径加载模板池,再根据平台确定的模板后缀获取所有航司所有接口的所有转换的XSLT模板路径进行初始化,然后根据构建阶段的各航司各接口各NDC版本的配置从NDC报文转换器工厂获取对应实现的NDC报文转换器实例,在判断各航司各接口的模板加载方式,池化还是非池化,池化情况下会在模板池中加载多个模板实例,供后续转换使用,使用完后再放入池内等待;而非池化则是只加载成一个进入池。若是池化加载则上述步骤获取的配置信息装载到模板配置适配器池中,用上面获取的NDC报文转换器实例翻译模板;再从NDC报文装载器工厂获取对应实现的NDC报文装载器实例装载模板池化,放入模板池。

S103、初始化报文转换实例:基于接口报文翻译模式以及报文翻译池大小,初始化所述报文转换器实例。

在航司适配器启动过程中,根据接口报文翻译模式及报文翻译池大小初始化转换器。

S104、构建NDC适配器:基于各接口的转换方式配置,构建NDC报文装载器实例。

具体的,结合图5,NDC聚合器支持的各种NDC版本适配器。读取各接口的SAXON或XALAN转换方式配置,构建NDC报文装载器实例。从NDC适配器的配置文件获取NDC版本模板加载路径,各接口的模板池配置信息:最大翻译数,最小空闲数,最大空闲数,最大等待时长等。根据读取的配置和模板路径加载模板池,再根据平台确定的模板后缀获取NDC版本接口的所有转换的XSLT模板路径进行初始化,然后使用获取的配置信息装载到模板配置适配器池中,用上面获取的NDC报文转换器实例翻译模板;再从NDC报文装载器工厂获取对应实现的NDC报文装载器实例装载模板池化,放入模板池。

S105、组装NDC版本适配器:基于所述报文转换器实例以及所述NDC报文装载器实例,生成目标NDC版本适配器。

具体的,结合图6,组装上述步骤得到的各个航司适配器和NDC版本适配器。可实现多航司多版本的适配器与NDC聚合器多版本的适配。

示意性的,为了更好地理解本申请的技术方案,本发明实施例将以NDC182聚合两家不同NDC版本航司为例进行说明。

1、构建航司适配器。AA航司NDC172版本,AirShopping接口使用SAXON实现(航司查询报文数据量大,聚合业务实现逻辑复杂,故使用SAXON实现VTD快速转换),OfferPrice接口使用XALAN实现(验价接口报文数据量小,聚合业务简单,不考虑性能等时间消耗);AY航司NDC181版本,所有接口使用SAXON实现;构建两个适配器,分别是AA172和AY181。读取航司的版本号和接口的SAXON或XALAN转换方式配置,构建NDC报文装载器实例,绑定组件完成后,扫描AA航司和AY航司每个接口的转换器配置如V172To182OfferPriceRSTranslator,获取相应接口转换器集合。从航司组件下面的配置文件获取航司模板加载路径/opt/app/agg/tpls/aa172/,航司各接口的模板池配置信息:AirShopping接口最大翻译数50,最小空闲数20,最大空闲数40,最大等待时长10000等,其他接口默认最大翻译数25,最小空闲数10,最大空闲数20,最大等待时长10000等。

2、初始化报文转换池。根据上述读取的配置和模板路径加载模板池,再根据平台确定的模板后缀_NDC_tpl.xsl获取所有航司所有接口的所有转换的XSLT模板路径进行初始化,然后根据构建阶段的各航司各接口各NDC版本的配置从NDC报文转换器工厂获取对应实现的NDC报文转换器实例,AA航司和AY航司模板接在均为池化加载,则上述步骤获取的配置信息装载到模板配置适配器池中,用上面获取的NDC报文转换器实例翻译模板;再从NDC报文装载器工厂获取对应实现的NDC报文装载器实例装载模板池化,放入模板池。

3、初始化报文转换实例。在航司适配器启动过程中,根据接口报文翻译模式及报文翻译池大小初始化转换器。

4、构建NDC适配器。NDC聚合器使用为182版本。读取各接口使用XALAN转换方式配置,构建NDC报文装载器实例。从NDC适配器的配置文件获取NDC版本模板加载路径,各接口的模板池配置信息:OrderReshopTOAirShopping实现AY航司的改签查询,则最大翻译数20,最小空闲数10,最大空闲数20,最大等待时长10000等,其他接口默认最大翻译数10,最小空闲数5,最大空闲数5,最大等待时长10000等。根据读取的配置和模板路径加载模板池,再根据平台确定的模板后缀_NDC_tpl.xsl获取NDC版本接口的所有转换的XSLT模板路径进行初始化,然后使用获取的配置信息装载到模板配置适配器池中,用上面获取的NDC报文转换器实例翻译模板;再从NDC报文装载器工厂获取对应实现的NDC报文装载器实例装载模板池化,放入模板池。

5、组装NDC版本适配器。组装上述步骤得到的AA172适配器和AY181适配器和NDC182适配器。实现了NDC聚合器聚合AA172和AY181两家航司不同版本的所有接口。

综上,本发明实施例提供的加载方法,提高了面向NDC聚合器的适用场景广的XSLT模板的转换效率。

参见图7,在本发明实施例中还提供了一种XSLT模板的加载装置,该装置包括:

第一获取模块71,用于获取航司各接口的目标模板池的配置信息以及航司模板加载路径,所述目标模板配置信息至少包括最大翻译数,最小空闲数,最大空闲数,最大等待时长;

第二获取模块72,用于基于所述配置信息以及航司模板加载路径,从NDC报文转换器工厂获取与NDC报文装载器的目标参数对应的报文转换器实例;

初始化模块73,用于基于接口报文翻译模式以及报文翻译池大小,初始化所述报文转换器实例;

构建模块74,用于基于各接口的转换方式配置,构建NDC报文装载器实例;

生成模块75,用于基于所述报文转换器实例以及所述NDC报文装载器实例,生成目标NDC版本适配器。

在上述实施例的基础上,所述装置还包括:

第三获取模块,用于获取航司的各接口的转换器配置,所述转换器配置至少包括NDC版本号、航司版本号、航司接口、NDC报文转换器唯一标识以及NDC报文装载类型;

第一确定模块,用于基于所述转换器配置,确定出至少一个模板池;

第四获取模块,用于获取NDC报文装载器的目标参数,所述目标参数至少包括NDC版本号、航司版本号以及航司接口中的一个或多个;

第二确定模块,用于基于所述目标参数,从所述至少一个模板池中确定出目标模板池。

在上述实施例的基础上,所述构建模块还包括:

第一获取单元,用于从NDC适配器的配置文件获取NDC版本模板加载路径;

加载单元,用于根据所述配置文件和所述模板加载路径加载模板池;

初始化单元,用于根据平台确定的模板后缀获取NDC版本接口的所有转换的XSLT模板路径,进行初始化;

配置单元,用于将获取的配置信息装载到模板配置适配器池中;

翻译单元,用于将所述NDC报文转换器实例翻译所述NDC版本模板;

第二获取单元,用于从NDC报文装载器工厂获取相应的NDC报文装载器实例。

在上述实施例的基础上,所述生成模块包括:

组装单元,用于组装所述报文转换器实例以及所述NDC报文装载器实例。

需要说明的是,实施例中参见的附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

本公开实施方式中的多个装置之间所交互的消息或者信息的名称仅用于说明性的目的,而并不是用于对这些消息或信息的范围进行限制。虽然采用特定次序描绘了各操作,但是这不应当理解为要求这些操作以所示出的特定次序或以顺序次序执行来执行。在一定环境下,多任务和并行处理可能是有利的。应当理解,本公开的方法实施方式中记载的各个步骤可以按照不同的顺序执行,和/或并行执行。此外,方法实施方式可以包括附加的步骤和/或省略执行示出的步骤。本公开的范围在此方面不受限制。

描述于本公开实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。其中,单元的名称在某种情况下并不构成对该单元本身的限定。

在本发明实施例中还提供了一种存储介质,所述存储介质上存储有可执行指令,所述指令被处理器执行时实现如上任一项所述的报文转换方法。

本发明实施例还提供了一种电子设备,包括:

存储器,用于存储程序;

处理器,用于执行所述程序,所述程序具体用于:

一种XSLT模板的加载方法,应用于进行NDC报文转换的系统,该系统包括NDC报文装载器工厂、NDC报文转换器工厂、NDC版本适配器、各版本航司适配器以及报文转换器,所述加载方法包括:

获取航司各接口的目标模板池的配置信息以及航司模板加载路径,所述目标模板配置信息至少包括最大翻译数,最小空闲数,最大空闲数,最大等待时长;

基于所述配置信息以及航司模板加载路径,从NDC报文转换器工厂获取与NDC报文装载器的目标参数对应的报文转换器实例;

基于接口报文翻译模式以及报文翻译池大小,初始化所述报文转换器实例;

基于各接口的转换方式配置,构建NDC报文装载器实例;

基于所述报文转换器实例以及所述NDC报文装载器实例,生成目标NDC版本适配器。

进一步地,所述方法还包括:确定所述目标模板池,包括:

获取航司的各接口的转换器配置,所述转换器配置至少包括NDC版本号、航司版本号、航司接口、NDC报文转换器唯一标识以及NDC报文装载类型;

基于所述转换器配置,确定出至少一个模板池;

获取NDC报文装载器的目标参数,所述目标参数至少包括NDC版本号、航司版本号以及航司接口中的一个或多个;

基于所述目标参数,从所述至少一个模板池中确定出目标模板池。

进一步地,所述方法还包括:所述基于各接口的转换方式配置,构建NDC报文装载器实例,包括:

从NDC适配器的配置文件获取NDC版本模板加载路径;

根据所述配置文件和所述模板加载路径加载模板池;

根据平台确定的模板后缀获取NDC版本接口的所有转换的XSLT模板路径,进行初始化;

将获取的配置信息装载到模板配置适配器池中;

将所述NDC报文转换器实例翻译所述NDC版本模板;

从NDC报文装载器工厂获取相应的NDC报文装载器实例。

进一步地,所述方法还包括:所述基于所述报文转换器实例以及所述NDC报文装载器实例,生成目标NDC版本适配器,包括:

组装所述报文转换器实例以及所述NDC报文装载器实例。

在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。

根据本公开的一个或多个实施例,提供了一种XSLT模板的加载方法、系统、存储介质及电子设备。

一种XSLT模板的加载方法,应用于进行NDC报文转换的系统,该系统包括NDC报文装载器工厂、NDC报文转换器工厂、NDC版本适配器、各版本航司适配器以及报文转换器,所述加载方法包括:

获取航司各接口的目标模板池的配置信息以及航司模板加载路径,所述目标模板配置信息至少包括最大翻译数,最小空闲数,最大空闲数,最大等待时长;

基于所述配置信息以及航司模板加载路径,从NDC报文转换器工厂获取与NDC报文装载器的目标参数对应的报文转换器实例;

基于接口报文翻译模式以及报文翻译池大小,初始化所述报文转换器实例;

基于各接口的转换方式配置,构建NDC报文装载器实例;

基于所述报文转换器实例以及所述NDC报文装载器实例,生成目标NDC版本适配器。

一种XSLT模板的加载装置,应用于进行NDC报文转换的系统,该系统包括NDC报文装载器工厂、NDC报文转换器工厂、NDC版本适配器、各版本航司适配器以及报文转换器,所述加载装置包括:

第一获取模块,用于获取航司各接口的目标模板池的配置信息以及航司模板加载路径,所述目标模板配置信息至少包括最大翻译数,最小空闲数,最大空闲数,最大等待时长;

第二获取模块,用于基于所述配置信息以及航司模板加载路径,从NDC报文转换器工厂获取与NDC报文装载器的目标参数对应的报文转换器实例;

初始化模块,用于基于接口报文翻译模式以及报文翻译池大小,初始化所述报文转换器实例;

构建模块,用于基于各接口的转换方式配置,构建NDC报文装载器实例;

生成模块,用于基于所述报文转换器实例以及所述NDC报文装载器实例,生成目标NDC版本适配器。

一种存储介质,所述存储介质上存储有可执行指令,所述指令被处理器执行时实现如任一项上述的加载方法。

一种电子设备,包括:

存储器,用于存储程序;

处理器,用于执行所述程序,所述程序具体用于:

获取航司各接口的目标模板池的配置信息以及航司模板加载路径,所述目标模板配置信息至少包括最大翻译数,最小空闲数,最大空闲数,最大等待时长;

基于所述配置信息以及航司模板加载路径,从NDC报文转换器工厂获取与NDC报文装载器的目标参数对应的报文转换器实例;

基于接口报文翻译模式以及报文翻译池大小,初始化所述报文转换器实例;

基于各接口的转换方式配置,构建NDC报文装载器实例;

基于所述报文转换器实例以及所述NDC报文装载器实例,生成目标NDC版本适配器。

尽管已经采用特定于结构特征和/或方法逻辑动作的语言描述了本主题,但是应当理解所附权利要求书中所限定的主题未必局限于上面描述的特定特征或动作。相反,上面所描述的特定特征和动作仅仅是实现权利要求书的示例形式。

虽然在上面论述中包含了若干具体实现细节,但是这些不应当被解释为对本公开的范围的限制。在单独的实施例的上下文中描述的某些特征还可以组合地实现在单个实施例中。相反地,在单个实施例的上下文中描述的各种特征也可以单独地或以任何合适的子组合的方式实现在多个实施例中。

以上描述仅为本公开的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本公开中所涉及的公开范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述公开构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本公开中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号