掌桥专利:专业的专利平台
掌桥专利
首页

一种基于XML Schema接口实现的方法及系统

文献发布时间:2023-06-19 19:27:02


一种基于XML Schema接口实现的方法及系统

技术领域

本发明涉及数据接口技术领域,尤其涉及一种基于XML Schema接口实现的方法及系统。

背景技术

为满足社会公众支付需求和金融业务多样性的发展,人民银行交易系统会不定时对报文进行升级换代,商业银行内部各系统也会增加新需求。每新增一个报文或需求商业银行系统就要开发一个或者多个新接口,目前接口开发是通过开发人员手工编码的方式。这种手工开发的方法开发工作量大、效率低下,在工期短、开发人员数量有限的情况下,难以达到需求快速响应、敏捷开发的要求。

XML报文是商业银行间交换业务数据的基本单位,参与机构接收和发送报文过程都涉及到XML报文数据的获取和处理。报文的结构复杂并且不同业务的报文结构各不相同,报文结构通过对应的Schema文件进行定义。并且报文和商业银行系统内部的业务载体存在层次和数据结构上的差异,所以每一个业务报文都需要一套对应的解析和数据映射的方法,开发工作中存在工作量大、效率低、易出错的问题。现有技术中,实现新接口是开发人员编码开发的。对复杂的业务要素,报文域可能包含多个报文子域,开发人员对每一个报文Schema手动编写程序容易出现错误,导致重复工作、效率低下。

发明内容

为解决现有技术的不足,本发明提出一种基于XML Schema接口实现的方法及系统,可减少了开发工作量,避免手工编码的错误,提高开发效率。

为实现以上目的,本发明所采用的技术方案包括:

一种基于XMLSchema接口实现的方法,其特征在于,包括:

接收XML报文数据;

基于XML报文的Schema文件生成实体类对报文进行解析,获取报文承载的业务数据。

进一步地,还包括:

处理报文承载的业务数据。

进一步地,所述基于XML报文的Schema文件生成实体类对报文进行解析,获取报文承载的业务数据,包括:

获取XML报文的Schema文件;

根据XML报文的Schema文件中的层级结构,确定报文的各级子节点,并生成与节点对应的解析类。

进一步地,所述根据XML报文的Schema文件中的层级结构,确定报文的各级子节点,并生成与节点对应的解析类,包括:

S1、解析XML报文的Schema结构,根据报文域的识别规则,查找Schema文件中报文节点以及对应的报文域;

S2、根据报文域中对象的属性查找相应的子节点,生成以子节点命名的java类;

S3、根据查找出子节点中对象的属性查找相应的子节点;

S4、重复执行步骤S1-S3,直至找到对象属性为基本数据类型的最后一级子节点。

进一步地,所述java类定义报文子节点对应的报文域中的业务对象。

进一步地,所述对象属性为基本数据类型的最后一级子节点不再生成java类。

进一步地,所述业务数据包括:报文标识号、交易金额及交易账号。

本发明还涉及一种基于XMLSchema接口实现的系统,其特征在于,包括:

数据接收模块,用于接收XML报文数据;

报文解析模块,用于基于XML报文的Schema文件生成实体类对报文进行解析,获取报文承载的业务数据。

进一步地,还包括:

Schema结构解析模块,用于解析XML报文的Schema结构,根据报文域的识别规则,查找Schema文件中报文节点以及对应的报文域;

Java类生成模块,用于根据报文域中对象的属性查找相应的子节点,生成以子节点命名的java类;

子节点查找模块,用于根据查找出子节点中对象的属性查找相应的子节点。

本发明还涉及一种计算机可读存储介质,其特征在于,所述存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述的基于XMLSchema接口实现的方法。

本发明还涉及一种电子设备,其特征在于,包括处理器和存储器;

所述存储器,用于存储XML报文的Schema文件;

所述处理器,用于通过调用XML报文的Schema文件,执行上述的基于XMLSchema接口实现的方法。

本发明还涉及一种计算机程序产品,包括计算机程序和/或指令,其特征在于,该计算机程序和/或指令被处理器执行时实现上述基于XMLSchema接口实现的方法的步骤。

本发明的有益效果为:

采用本发明所述一种基于XMLSchema接口实现的方法及系统,根据报文结构快速生成对应的实体类对象,其结构与报文的结构中标签一一对应,解析获取报文数据。自动化生成业务数据的载体Bean,将报文层面数据传递到商业银行系统内部。不仅可减少了开发工作量,而且避免了手工编码的错误,提高了开发效率。

附图说明

图1为本发明基于XMLSchema接口实现的方法流程示意图。

图2为本发明基于XMLSchema接口实现的系统结构示意图。

具体实施方式

为了更清楚的理解本发明的内容,将结合附图和实施例详细说明。

XML报文是商业银行间交换业务数据的基本单位,参与机构接收和发送报文过程都涉及到XML报文数据的获取和处理。报文的结构复杂并且不同业务的报文结构各不相同,报文结构通过对应的Schema文件进行定义。并且报文和商业银行系统内部的业务载体存在层次和数据结构上的差异,所以每一个业务报文都需要一套对应的解析和数据映射的方法。

本发明第一方面涉及一种步骤流程如图1所示的方法,包括:

接收XML报文数据;

获取XML报文Schema文件;

基于XML报文的Schema文件生成实体类对报文进行解析,获取报文承载的业务数据。

根据报文Schema文件中的层级结构,用对象属性确定出报文的各级子节点,并生成与节点对应的解析类;

S1、解析XML报文的Schema结构,根据报文域的识别规则,查找Schema文件中报文节点以及对应的报文域;

S2、根据报文域中对象的属性查找相应的子节点,生成以子节点命名的java类;

S3、根据查找出子节点中对象的属性查找相应的子节点;

S4、重复执行步骤S1-S3,直至找到对象属性为基本数据类型的最后一级子节点。

即解析报文Schema结构,根据报文域的识别规则,找出Schema文件中的报文节点以及对应的报文域;

根据报文域中对象的属性找到相应的子节点,并生成以此子节点命名的java类,该java类定义该报文子节点对应的报文域中的业务对象。

再根据查找出来的子节点中对象的属性找到与其相应的子节点,按照上述方法递归下去,直至找到对象属性为基本数据类型的最后一级子节点—子节点,对象属性为基本数据类型的子节点不再生成java类。

例如,以一个报文和报文的Schema为例进行说明:

报文Schema:

/>

报文:

根据上述报文Schema的层级结构,详细陈述一下此方法的实现过程。上述Schema文件中节点TdMuInf1的对象分别是MuTp、NbOfMuInf、MuDtls、NbOfCdInf和CdInf,其中MuTp、NbOfMuInf、MuDtls、NbOfCdInf、CdInf的属性分别为MediumTypeCode1、Max1NumericText、MuDtls、Max3Text、Max2048Text,MediumTypeCode1、Max1NumericText、Max3Text、Max2048Text都是String类型,不再生成以MuTp、NbOfMuInf、NbOfCdInf、CdInfMuDtls1命名的java类;按照上述方法递归解析子节点MuDtls,MuDtls的属性是MuDtls1,MuDtls1的对象是MuInf,MuInf的属性是Max512Text,Max512Text是String类型。综上分析,上面的实例中此方法会生成一个以MuDtls1命名的java类,java类中定义了MuInf对象和解析方法。

获取到报文数据之后,由业务Bean传递到内部系统进行后续业务处理。

本发明另一方面还涉及一种基于XMLSchema接口实现的系统,其结构如图2所示,包括:

数据接收模块,用于接收XML报文数据;

报文解析模块,用于基于XML报文的Schema文件生成实体类对报文进行解析,获取报文承载的业务数据。

系统还包括:

Schema结构解析模块,用于解析XML报文的Schema结构,根据报文域的识别规则,查找Schema文件中报文节点以及对应的报文域;

Java类生成模块,用于根据报文域中对象的属性查找相应的子节点,生成以子节点命名的java类;

子节点查找模块,用于根据查找出子节点中对象的属性查找相应的子节点。

通过使用该系统,能够执行上述的运算处理方法并实现对应的技术效果。

本发明的实施例还提供能够实现上述实施例中的方法中全部步骤的一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述实施例中的方法的全部步骤。

本发明的实施例还提供一种用于执行上述方法的电子设备,作为该方法的实现装置,所述电子设备至少具备有处理器和存储器,特别是该存储器上存储有执行方法所需的数据和相关的计算机程序,例如XML报文的Schema文件等,并通过由处理器调用存储器中的数据、程序执行实现方法的全部步骤,并获得对应的技术效果。

优选的,该电子设备可以包含有总线架构,总线可以包括任意数量的互联的总线和桥,总线将包括由一个或多个处理器和存储器的各种电路链接在一起。总线还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路链接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口在总线和接收器和发送器之间提供接口。接收器和发送器可以是同一个元件,即收发机,提供用于在传输介质上与各种其他系统通信的单元。处理器负责管理总线和通常的处理,而存储器可以被用于存储处理器在执行操作时所使用的数据。

额外的,所述电子设备还可以进一步包括通信模块、输入单元、音频处理器、显示器、电源等部件。其所采用的处理器(或称为控制器、操作控件)可以包括微处理器或其他处理器装置和/或逻辑装置,该处理器接收输入并控制电子设备的各个部件的操作;存储器可以是缓存器、闪存、硬驱、可移动介质、易失性存储器、非易失性存储器或其它合适装置中的一种或更多种,可储存上述有关的数据信息,此外还可存储执行有关信息的程序,并且处理器可执行该存储器存储的该程序,以实现信息存储或处理等;输入单元用于向处理器提供输入,例如可以为按键或触摸输入装置;电源用于向电子设备提供电力;显示器用于进行图像和文字等显示对象的显示,例如可为LCD显示器。通信模块即为经由天线发送和接收信号的发送机/接收机。通信模块(发送机/接收机)耦合到处理器,以提供输入信号和接收输出信号,这可以和常规移动通信终端的情况相同。基于不同的通信技术,在同一电子设备中,可以设置有多个通信模块,如蜂窝网络模块、蓝牙模块和/或无线局域网模块等。通信模块(发送机/接收机)还经由音频处理器耦合到扬声器和麦克风,以经由扬声器提供音频输出,并接收来自麦克风的音频输入,从而实现通常的电信功能。音频处理器可以包括任何合适的缓冲器、解码器、放大器等。另外,音频处理器还耦合到中央处理器,从而使得可以通过麦克风能够在本机上录音,且使得可以通过扬声器来播放本机上存储的声音。

本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的系统。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令系统的制造品,该指令系统实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。

以上所述仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换等都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求书的保护范围为准。

相关技术
  • 基于SCHEMA文件的可视化XML数据编制方法及系统
  • 基于XML Schema的软件界面生成系统及方法
技术分类

06120115917966