CN113312108A - Swift报文的校验方法、装置、电子设备及存储介质 - Google Patents

Swift报文的校验方法、装置、电子设备及存储介质 Download PDF

Info

Publication number
CN113312108A
CN113312108A CN202110681529.4A CN202110681529A CN113312108A CN 113312108 A CN113312108 A CN 113312108A CN 202110681529 A CN202110681529 A CN 202110681529A CN 113312108 A CN113312108 A CN 113312108A
Authority
CN
China
Prior art keywords
message
swift
standard
file
verification
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
CN202110681529.4A
Other languages
English (en)
Other versions
CN113312108B (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.)
Agricultural Bank of China
Original Assignee
Agricultural Bank of China
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 Agricultural Bank of China filed Critical Agricultural Bank of China
Priority to CN202110681529.4A priority Critical patent/CN113312108B/zh
Publication of CN113312108A publication Critical patent/CN113312108A/zh
Application granted granted Critical
Publication of CN113312108B publication Critical patent/CN113312108B/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/23Updating
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本申请实施例提供SWIFT报文的校验方法、装置、电子设备及存储介质,包括对获取的SWIFT报文的规范文件进行文件解析处理,获得SWIFT报文的规范信息;根据规范信息构建规范配置表和报文格式树,并利用规范配置表和报文格式树对当前的校验配置文件进行更新;加载更新后的校验配置文件,以对待校验的SWIFT报文进行校验处理的技术方案。由于在出现报文规范的变更时可直接提取规范信息生成相应的规范配置表和报文格式树,进而对当前的校验配置文件进行更新,以使得可根据更新后的校验配置文件中的更新后的报文规范对待校验报文进行校验,不再需要对校验程序的整体进行重新编译,其有效降低了更新时的系统风险,提高了校验效率。

Description

SWIFT报文的校验方法、装置、电子设备及存储介质
技术领域
本申请涉及计算机技术领域,尤其涉及一种SWIFT报文的校验方法、装置、电子设备及存储介质。
背景技术
SWIFT报文是环球银行间金融电讯协会提出的一种电文格式,其广泛应用于银行间的消息传递和数据传输。
在现有技术中,SWIFT报文的校验一般基于人工编译实现,通过人工解读环球银行间金融电讯协会下发的SWIFT报文的规范文件,并基于解读获得的报文规范编译相应的校验程序,利用该校验程序可对待传输的报文进行校验处理。
但是,由于SWIFT报文是一种每年需要进行升级的电文,其报文规范也相应会发生变动。这也使得开发人员需要在报文规范发生变动时重新编译新的校验程序,以满足报文校验需求。显然的,这样的通过编译新的校验程序以适应校验规则的变动的处理方式,其处理效率较低,处理时的工作量极大。
发明内容
本申请实施例提供一种SWIFT报文的校验方法、装置、电子设备及存储介质,以为报文校验提供一种更高效的校验方式。
一方面,本申请提供了一种SWIFT报文的校验方法,包括:
对获取的SWIFT报文的规范文件进行文件解析处理,获得SWIFT报文的规范信息;
根据所述规范信息构建所述规范配置表和报文格式树,并利用所述规范配置表和所述报文格式树对当前的校验配置文件进行更新;
加载更新后的校验配置文件,并根据更新后的校验配置文件中的规范配置表和报文格式树对待校验的SWIFT报文进行校验处理。
可选实施方式中,所述报文格式树用于表示SWIFT报文在同一报文类型的不同报文域名称之间的校验顺序;所述规范配置表用于表示SWIFT报文在各报文类型的各报文域名称的各校验项下的校验规则;
相应的,所述加载更新后的校验配置文件,并根据更新后的校验配置文件中的规范配置表和报文格式树对待校验的SWIFT报文进行校验处理,包括:
基于所述报文格式树中的各报文域名称之间的校验顺序,按照所述规范配置表中各校验项的校验规则,对待校验的SWIFT报文进行校验处理。
可选实施方式中,所述对获取的SWIFT报文的规范文件进行文件解析处理,获得规范信息,包括:
获取基于HTML格式的SWIFT报文的规范文件;
利用预设的文本解析脚本,对所述HTML格式的规范文件中的每一行字符文本依次进行文本解析,获得规范信息。
可选实施方式中,所述利用预设的文本解析脚本,对所述HTML格式的规范文件中的每一行字符文本依次进行文本解析,获得规范信息,包括:
针对每一行字符文本,确定该字符文本所属于的校验项并提取在所述报文项下的信息以作为所述规范信息。
可选实施方式中,所述根据所述规范信息构建所述SWIFT报文的规范配置表,包括:
对所述SWIFT报文的报文域名称进行排序,并根据排序结果将各报文域名称所对应的各校验项下的校验规则写入规范配置表中,得到所述SWIFT报文的规范配置表。
可选实施方式中,所述规范配置表包括报文规范主表,以及与所述报文规范主表具有映射关系的报文集合域表、报文域描述表、报文格式表和报文固定字符表。
可选实施方式中,所述根据所述SWIFT报文的规范信息构建所述SWIFT报文的报文格式树,包括:
基于数据缓存结构算法对所述规范配置表进行缓存处理,得到所述规范配置表在不同报文域名称的各校验项下的正则表达式;
确定相同报文类型的不同报文域名称的各校验项之间的关联关系,基于二叉树算法和所述关联关系构建报文格式树,其中所述报文格式树中的节点用于表示报文域名称的正则表达式或校验项的正则表达式所述各校验项的正则表达式。
可选实施方式中,所述校验项包括报文类型、报文子类型、报文域名称、报文域类型以及固定输入项。
可选实施方式中,所述根据所述SWIFT报文的规范信息构建所述SWIFT报文的报文格式树,包括:
针对不同报文类型的SWIFT报文的规范信息,构建不同报文类型报对应的报文格式树。
第二方面,本申请提供了一种SWIFT报文的校验装置,包括:
解析单元,用于对获取的SWIFT报文的规范文件进行文件解析处理,获得SWIFT报文的规范信息;
更新单元,用于根据所述规范信息构建所述规范配置表和报文格式树,并利用所述规范配置表和所述报文格式树对当前的校验配置文件进行更新;
校验单元,用于加载更新后的校验配置文件,并根据更新后的校验配置文件中的规范配置表和报文格式树对待校验的SWIFT报文进行校验处理。
第三方面,本申请提供了一种电子设备,包括:至少一个处理器和存储器;
所述存储器存储计算机执行指令;
所述至少一个处理器执行所述存储器存储的计算机执行指令,使得所述至少一个处理器执行如第一方面所述SWIFT报文的校验方法。
第四方面,本申请提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如第一方面的SWIFT报文的校验方法。
第五方面,本申请提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现第一方面的SWIFT报文的校验方法。
本申请实施例提供SWIFT报文的校验方法、装置、电子设备及存储介质,包括对获取的SWIFT报文的规范文件进行文件解析处理,获得SWIFT报文的规范信息;根据所述规范信息构建所述规范配置表和报文格式树,并利用所述规范配置表和所述报文格式树对当前的校验配置文件进行更新;加载更新后的校验配置文件,并根据更新后的校验配置文件中的规范配置表和报文格式树对待校验的SWIFT报文进行校验处理的技术方案。
由于在出现报文规范的变更时可直接提取规范信息生成相应的规范配置表和报文格式树,进而对当前的校验配置文件进行更新,以使得在校验处理时,可根据更新后的校验配置文件中的更新后的报文规范对待校验报文进行校验。与现有技术相比,不再需要对校验程序的整体进行重新编译,其有效降低了更新时的系统风险,提高了校验效率。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
图1为一种SWIFT报文的报文格式的示意图;
图2为本申请所基于的一种网络架构的示意图;
图3是本申请提供的一种SWIFT报文的校验方法的流程示意图;
图4a是本申请提供的一种SWIFT报文的规范文件的内容示意图;
图4b是图4a中SWIFT报文的HTML格式规范文件的示意图;
图5是本申请提供的一种报文格式树的示意图;
图6为本申请提供的一种SWIFT报文的校验装置的结构示意图;
图7为本申请实施例提供的电子设备的结构示意图。
通过上述附图,已示出本申请明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本申请构思的范围,而是通过参考特定实施例为本领域技术人员说明本申请的概念。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的系统和方法的例子。
为了能够清楚的说明本申请提供的校验方案,首先将对涉及的名词进行解释:
SWIFT:环球银行间金融电讯协会(Society for Worldwide InterbankFINancial Telecommunications,简称SWIFT),是一个国际银行间收付信息电文标准制定及其传递与转换的会员制专业合作组织。
报文体:承载报文内容的载体,一个严格规定规范的字符串。
报文域:组成报文体的基本单元,一个报文体由多个报文域组成。
报文域类型:分为常规域、集合域以及重复域;其中,常规域是固定域名称不变的域,该域只有一种报文格式;集合域是可以有几种选项的域,根据选项不同,报文的格式、业务含义都会发生改变;重复域是在报文体中可以重复出现的报文域。
Shell:一种程序设计语言,作为命令语言,它交互式解释和执行用户输入的命令或者自动地解释和执行预先设定好的一连串命令。
HTML:超文本标记语言,通过使用标记来描述文档结构和表现形式的一种语言,由浏览器阅读网页后对网页后台代码也称源码进行逐行解析,然后把解析结果在网页上进行显示组合。
ASCII:美国信息交换标准代码,是基于拉丁字母的一套电脑编码系统。
SWIFT报文是环球银行间金融电讯协会提出的一种电文格式,其广泛应用于银行间的消息传递和数据传输。
在现有技术中,SWIFT报文的校验一般基于人工编译实现,通过人工解读环球银行间金融电讯协会下发的SWIFT报文的规范文件,并基于解读获得的报文规范编译相应的校验程序,利用该校验程序可对待传输的报文进行校验处理。
图1为一种SWIFT报文的报文格式的示意图,图1显示了SWIFT报文中FIN格式。通过该图可知,SWIFT报文的一般是基于固定格式的。如其中第三行中的“:20:”表示的是“账户信息:”而后续的“080102267036666A”则表示其账户信息,而该账户信息需要由15位数字和1位字母组合而成。
但是,由于SWIFT报文是一种每年需要进行升级的电文,其报文规范也相应会发生变动,即上述的“:20:”在更新后可能变更为“:200:”或后续的账户信息的格式需要变为15位数字和2位字母的组合等。
在现有技术中,当报文格式发生变动时,为了能够适应对格式变动后的报文进行校验,开发人员需要在报文规范发生变动时重新编译新的校验程序,以满足报文校验需求。
显然的,编译新的校验程序以适应校验规则的变动的处理方式一方面会给当前系统的运行造成运行风险,即新的校验程序存在无法使用或安全漏洞的风险;另一方面,这样的处理方式会给开发人员带来大量的工作量,增加了人力成本和时间成本。
针对上述问题,发明人发现可对SWIFT报文的报文格式进行报文规范的提取,然后将报文规范作为配置性的文件,以使得在后续对报文进行校验时直接读取该配置文件,实现对待校验报文的校验处理。特别的,当报文规范发生变更时,可仅对其中的规范配置表和报文格式树的配置性文件进行相应更新,与现有技术相比,不再需要对校验程序的整体进行重新编译,其有效降低了更新时的系统风险,提高了校验效率。
下面将结合不同实现方式对本申请提供的方法进行说明。
参考图2,图2为本申请所基于的一种网络架构的示意图,该图2所示网络架构具体可包括服务器1、终端设备2。
其中,服务器1具体是指用于执行和支撑SWIFT报文的校验所依赖的硬件服务器,其具体可架设在云端的服务器集群中,用于基于本申请提供的SWIFT报文的校验方法执行对待校验的SWIFT报文进行校验处理。
其中,终端设备2是指执行待校验的SWIFT报文生成,或,接受检验后的SWIFT报文的硬件设备,其具体可为银行体系下的业务员的业务运行设备。
基于图2可知的是,当终端设备2需要对外发送SWIFT报文时,该SWIFT报文将经过服务器1并进行报文校验处理,当报文校验通过后才能被发出;当终端设备2接受到来自外界发起的SWIFT报文时,该报文也将先经过服务器1并进行相应的校验,当报文校验通过后终端设备2才能对该报文进行读取或基于报文进行相应的业务处理。
实施例一
图3是本申请提供的一种SWIFT报文的校验方法的流程示意图,如图3所示的,该方法包括:
步骤101、对获取的SWIFT报文的规范文件进行文件解析处理,获得SWIFT报文的规范信息。
步骤102、根据所述规范信息构建所述规范配置表和报文格式树,并利用所述规范配置表和所述报文格式树对当前的校验配置文件进行更新。
步骤103、加载更新后的校验配置文件,并根据更新后的校验配置文件中的规范配置表和报文格式树对待校验的SWIFT报文进行校验处理。
需要说明的是,本申请提供的SWIFT报文的校验方法具体可应用于SWIFT报文的校验装置上,该校验装置可安装或集成在如图2所示的网络架构中的服务器1中。
在执行校验时,本申请中的校验装置可直接加载校验配置文件,以获取校验规则,并对报文进行校验处理。
为了实现上述目标,首先校验装置会对获取的用于更新和变革SWIFT报文格式的规范文件进行文件解析处理,以得到相应的规范信息。
具体来说,SWIFT报文的规范文件是环球银行间金融电讯协会发布的文件,该规范文件一般为HTML格式的文件,其用于描述SWIFT报文的报文格式等信息,通过对该规范文件的解析可在一定程度上获取报文的编码规律,该编码规律可被用于后续的校验。
基于此,在可选方式中,校验装置将利用文本解析脚本以对HTML格式的规范文件进行解析,以获取其文件中每一行字符文本的文本信息,得到规范信息。其中,文本解析脚本具体可为SHELL解析脚本,或者其他可用于解析HTML格式文件的任何类型的脚本。
图4a是本申请提供的一种SWIFT报文的规范文件的内容示意图,图4b是图4a中SWIFT报文的HTML格式规范文件的示意图。
如图4a所示的,在报文类型“MT700”的报文中,以“27”域为例,其格式满足如下要求:在tag(报文域)为27域时,其Field Name(业务含义)用于表示Sequence of Total(报文页次),其报文体的Status(必输状态/选输状态)为M,其报文体的Content/Options(输入格式)为1!n/1!n(1位数字/1位数字),而该报文的No.(报文域序号)为1,其中该项中还包括有详细描述文件(感叹号表示)。其中上述的要求可作为报文类型“MT700”的报文中,以“27”域的校验规则。
基于该原始的文件,为了能够获取其中的报文规范,可通过HTML格式对该规范文件进行展开,从而获得图4b所示的界面。
其中,通过对其每一行的字符文本进行基于关键词的解析能够获知到其每一行字符文本所描述的文本含义。由于图4a中的文件其格式是固定的,即针对包括MT700这一报文类型的每个报文类型,在其HTML文件中的每一行分别顺序显示有Status(必输状态/选输状态)、tag(报文域)、Field Name(业务含义)、Content/Options(输入格式)以及No.(报文域序号)的规范信息,该每一项均做为一个校验项以用于后续校验处理。
举例来说,在图4b中的第4行字符文本描述为“<td align=“center”……width=“10”>27</td>,其中,“td”和“</td>”之间的部分用于表示在图4a中显示“tag(报文域)为27域”的信息。
也就是说,在进行解析时,校验装置需要针对每一行字符文本,确定该字符文本所属于的校验项并提取在所述报文项下的信息以作为所述规范信息,如“报文域为27域”的规则为Status(必输状态/选输状态)这一校验项下的校验规则为必须是M,Content/Options(输入格式)这一校验项下的校验规则必须是1!n/1!n等。
而通过解析脚本对HTML格式的文件进行提取以能够获得SWIFT报文的各报文类型的报文在不同报文域名称上的校验规则。
可知的是,在进行解析时,针对具有“详细描述文件”的报文域来说,还需要对其“详细描述文件”中的信息进行解析和抓取,以保证获得的该报文域的报文规则是完整的。
可选实施方式中,所述规范信息包括规范文件在报文类型、报文子类型、报文域名称、报文域类型以及固定输入项的信息。其中的,报文类型、报文子类型、报文域名称作为用于确定报文所属类型的标识项,而报文域类型以及固定输入项等信息将作为需要进行校验的校验项,标识项和校验项统称为报文项。
随后,校验装置将根据所述规范信息构建所述规范配置表和报文格式树,并利用所述规范配置表和所述报文格式树对当前的校验配置文件进行更新。
具体来说,校验装置首先会对根据前述获得的规范信息构建相应的规范配置表,然后基于该规范配置表生成报文格式树。
在该规范配置表中包括有不同报文项的信息,其中其不仅包括有包括报文域名称、报文类型等在内的标识项,还包括不同报文域名称对应的有固定字符项、报文格式、报文域选项等在内的需要校验的不同校验项的校验规则。
在生成该规范配置表时,为了便于后续校验,可选实施方式中,对所述SWIFT报文的报文域名称进行排序,并根据排序结果将各报文域名称所对应的各校验项下的校验规则写入规范配置表中,得到所述SWIFT报文的规范配置表。
具体来说,若规范文件中记录有“40A”域和“27”域这两个报文域名称的规范信息,在排序时,可参考该两个报文域名称的ASCII编码,并根据ASCII编码的大小对该两个报文域名称的校验规则进行排序。
表1为报文规范主表,如表1所示的,针对相同的报文域名称的规范信息可列为同一行,而根据报文域名称进行排序,以构成SWIFT报文中MT700这一报文子类型下的各报文域的规范信息。
表1
Figure BDA0003122808150000091
Figure BDA0003122808150000101
其中,在可选实施方式中,所述规范配置表是以组表的形式存在的,其可包括报文规范主表(如表1),以及与所述报文规范主表具有映射关系的报文集合域表、报文域描述表、报文格式表和报文固定字符表。
进一步的,报文规范主表是以一个报文域名称为一组的表,其记录有该报文域ID下的报文的基本结构,是规范配置表的主表。
表2为报文集合域表,其具体是记录一个集合域的可输入选项的表,其中,保存可选选项以及对应的报文主表中的映射关系。
表2
Figure BDA0003122808150000102
表3位报文域描述表,该表记录报文域的业务描述,以及与主表映射关系。如假如一个常规域由两个子域组成,则围绕该子域应该由三条记录组成,分别为该域的总称以及两个子域的名称,分别用两个需要代表这些域的顺序,第一个序号代表该域的顺序,第二个序号代表总称以及子域的序号。
表3
Figure BDA0003122808150000103
表4为报文格式表,其记录了报文每个域的格式以及与报文主表的映射关系,其中,其具体记录报文格式中每个域的是否必输项、域格式等信息。
表4
Figure BDA0003122808150000111
Figure BDA0003122808150000121
表5为报文域固定字符表,其具体记录报文域固定输入的字符串并保存与报文主表的映射关系。该表5需要包含域名以及对应的可选项,以及该可选项是否必输的信息。
表5
Figure BDA0003122808150000122
通过对所述SWIFT报文的报文域名称进行排序,并根据排序结果将各报文域名称所对应的各校验项下的校验规则写入规范配置表中,得到所述SWIFT报文的规范配置表。
基于上述规范配置表,为了获取报文格式树,可选方案中还包括:
基于数据缓存结构算法对所述规范配置表进行缓存处理,得到所述规范配置表在不同报文域名称的各校验项下的正则表达式;确定相同报文类型的不同报文域名称的各校验项之间的关联关系,基于二叉树算法和所述关联关系构建报文格式树,其中所述报文格式树中的节点用于表示报文域名称的正则表达式或校验项的正则表达式所述各校验项的正则表达式。
具体来说,由于规范配置表中的数据较多,在可选实施方式中会基于数据缓存结构算法对规范配置表进行数据梳理,以得到缓存结构,该缓存结构中包括有表中不同数据的存储位置、各数据之间的存储键结构等,利用该缓存结构,可生成不同报文域名称的各校验项下的正则表达式,以用于后续的校验文本定位。
同时,为了能够对待校验报文在每一校验项进行有序的校验,本实施方式中还利用二叉树结构,以保存用于定位的校验用的正则表达式来辅助校验。具体的,在生成正则表达式之后,还将利用二叉树算法对各校验项之间的关联关系进行梳理,以得到报文格式树。可知的是,报文格式树应为具有指向性的结构,即报文格式树中的节点用于表示报文域名称之间的并列关系,校验项之间的并列关系,或,校验项与报文域名称之间的从属关系。
图5是本申请提供的一种报文格式树的示意图,如图5所示的,在构建树时,首先会确定配置表中的报文类型和根节点,如图5所示的第一行的根节点为“MT799”。
然后根据缓存地址读取相应的配置表中的数据,以按照表中数据顺序生成该根节点下的叶节点,如报文域名称为“20”的节点并将前述获得的该“20”的正则表达式承载于节点中,其中,该“20”为首个叶节点,其与根节点之间将通过有向线进行链接。
然后,读取配置表中的下一个数据并判断该数据与“20”节点之间的关系,若其二者为并列关系,如报文域名称为“21”,那么将该数据“21”作为“20”的兄弟节点,并链接有向线;若其二者为从属关系(图未示),那么该数据作为“20”的孩子节点,并链接有向线。
为了便于后续校验,在生成报文格式树时,针对不同报文类型的SWIFT报文的规范信息,构建不同报文类型报对应的报文格式树。
最后,可利用规范配置表和所述报文格式树对当前的校验配置文件进行更新,以及加载更新后的校验配置文件,并根据更新后的校验配置文件中的规范配置表和报文格式树对待校验的SWIFT报文进行校验处理。
其中,如前所述的,所述报文格式树用于表示SWIFT报文在同一报文类型的不同报文域名称之间的校验顺序;所述规范配置表用于表示SWIFT报文在各报文类型的各报文域名称的各校验项下的校验规则;也就是说,可选实施方式中,校验装置将基于所述报文格式树中的各报文域名称之间的校验顺序,按照所述规范配置表中各校验项的校验规则,对待校验的SWIFT报文进行校验处理。只有当满足全部的校验规则之后,待校验的报文校验通过。
在本申请中,由于SWIFT报文是一种每年需要进行升级的电文,其报文规范也相应会发生变动,而由于本申请在出现报文规范的变更时可直接提取规范信息生成相应的规范配置表和报文格式树,进而对当前的校验配置文件进行更新,以使得在校验处理时,可根据更新后的校验配置文件中的更新后的报文规范对待校验报文进行校验。
与现有技术相比,本申请的技术方案不再需要对校验程序的整体进行重新编译,其有效降低了更新时的系统风险,提高了校验效率。
实施例二
在实施例一的基础上,实施例二提供了一种SWIFT报文的校验装置,图6为本申请提供的一种SWIFT报文的校验装置的结构示意图,如图6所示的,该校验装置包括:
解析单元601,用于对获取的SWIFT报文的规范文件进行文件解析处理,获得SWIFT报文的规范信息;
更新单元602,用于根据所述规范信息构建所述规范配置表和报文格式树,并利用所述规范配置表和所述报文格式树对当前的校验配置文件进行更新;
校验单元603,用于加载更新后的校验配置文件,并根据更新后的校验配置文件中的规范配置表和报文格式树对待校验的SWIFT报文进行校验处理。
可选实施方式中,所述报文格式树用于表示SWIFT报文在同一报文类型的不同报文域名称之间的校验顺序;所述规范配置表用于表示SWIFT报文在各报文类型的各报文域名称的各校验项下的校验规则;
校验单元603,具体用于:基于所述报文格式树中的各报文域名称之间的校验顺序,按照所述规范配置表中各校验项的校验规则,对待校验的SWIFT报文进行校验处理。
可选实施方式中,解析单元601,具体用于:获取基于HTML格式的SWIFT报文的规范文件;利用预设的文本解析脚本,对所述HTML格式的规范文件中的每一行字符文本依次进行文本解析,获得规范信息。
可选实施方式中,解析单元601,具体用于:针对每一行字符文本,确定该字符文本所属于的校验项并提取在所述报文项下的信息以作为所述规范信息。
可选实施方式中,所述更新单元602,具体用于对所述SWIFT报文的报文域名称进行排序,并根据排序结果将各报文域名称所对应的各校验项下的校验规则写入规范配置表中,得到所述SWIFT报文的规范配置表。
可选实施方式中,所述规范配置表包括报文规范主表,以及与所述报文规范主表具有映射关系的报文集合域表、报文域描述表、报文格式表和报文固定字符表。
可选实施方式中,更新单元602,具体用于基于数据缓存结构算法对所述规范配置表进行缓存处理,得到所述规范配置表在不同报文域名称的各校验项下的正则表达式;
确定相同报文类型的不同报文域名称的各校验项之间的关联关系,基于二叉树算法和所述关联关系构建报文格式树,其中所述报文格式树中的节点用于表示报文域名称的正则表达式或校验项的正则表达式所述各校验项的正则表达式。
可选实施方式中,所述校验项包括报文类型、报文子类型、报文域名称、报文域类型以及固定输入项。
可选实施方式中,更新单元602,具体用于针对不同报文类型的SWIFT报文的规范信息,构建不同报文类型报对应的报文格式树。
本申请实施例提供SWIFT报文的校验装置,包括对获取的SWIFT报文的规范文件进行文件解析处理,获得SWIFT报文的规范信息;根据所述规范信息构建所述规范配置表和报文格式树,并利用所述规范配置表和所述报文格式树对当前的校验配置文件进行更新;加载更新后的校验配置文件,并根据更新后的校验配置文件中的规范配置表和报文格式树对待校验的SWIFT报文进行校验处理的技术方案。
由于在出现报文规范的变更时可直接提取规范信息生成相应的规范配置表和报文格式树,进而对当前的校验配置文件进行更新,以使得在校验处理时,可根据更新后的校验配置文件中的更新后的报文规范对待校验报文进行校验。与现有技术相比,不再需要对校验程序的整体进行重新编译,其有效降低了更新时的系统风险,提高了校验效率。
实施例三
图7为本申请实施例提供的电子设备的结构示意图,如图7所示,本申请实施例还提供一种电子设备1400,包括:存储器1401,处理器1402以及计算机程序。
其中,计算机程序存储在存储器1401中,并被配置为由处理器1402执行以实现本申请任意一个实施例提供的SWIFT报文的校验方法。相关说明可以对应参见附图中的步骤所对应的相关描述和效果进行理解,此处不做过多赘述。
其中,本实施例中,存储器1401和处理器1402通过总线连接。
实施例四
本申请实施例提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行以实现本申请任意一个实施例提供的SWIFT报文的校验方法。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统和方法,可以通过其它的方式实现。例如,以上所描述的系统实施例仅仅是示意性的,例如,模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,系统或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用硬件加软件功能模块的形式实现。
用于实施本申请的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程问答系统的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本申请的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、系统或设备使用或与指令执行系统、系统或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、系统或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
此外,本申请提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现前所述的SWIFT报文的校验方法。
此外,虽然采用特定次序描绘了各操作,但是这应当理解为要求这样操作以所示出的特定次序或以顺序次序执行,或者要求所有图示的操作应被执行以取得期望的结果。在一定环境下,多任务和并行处理可能是有利的。同样地,虽然在上面论述中包含了若干具体实现细节,但是这些不应当被解释为对本公开的范围的限制。在单独的实施例的上下文中描述的某些特征还可以组合地实现在单个实现中。相反地,在单个实现的上下文中描述的各种特征也可以单独地或以任何合适的子组合的方式实现在多个实现中。
尽管已经采用特定于结构特征和/或方法逻辑动作的语言描述了本主题,但是应当理解所附权利要求书中所限定的主题未必局限于上面描述的特定特征或动作。相反,上面所描述的特定特征和动作仅仅是实现权利要求书的示例形式。

Claims (13)

1.一种SWIFT报文的校验方法,其特征在于,包括:
对获取的SWIFT报文的规范文件进行文件解析处理,获得SWIFT报文的规范信息;
根据所述规范信息构建所述规范配置表和报文格式树,并利用所述规范配置表和所述报文格式树对当前的校验配置文件进行更新;
加载更新后的校验配置文件,并根据更新后的校验配置文件中的规范配置表和报文格式树对待校验的SWIFT报文进行校验处理。
2.根据权利要求1所述的校验方法,其特征在于,所述报文格式树用于表示SWIFT报文在同一报文类型的不同报文域名称之间的校验顺序;所述规范配置表用于表示SWIFT报文在各报文类型的各报文域名称的各校验项下的校验规则;
相应的,所述加载更新后的校验配置文件,并根据更新后的校验配置文件中的规范配置表和报文格式树对待校验的SWIFT报文进行校验处理,包括:
基于所述报文格式树中的各报文域名称之间的校验顺序,按照所述规范配置表中各校验项的校验规则,对待校验的SWIFT报文进行校验处理。
3.根据权利要求1所述的校验方法,其特征在于,所述对获取的SWIFT报文的规范文件进行文件解析处理,获得规范信息,包括:
获取基于HTML格式的SWIFT报文的规范文件;
利用预设的文本解析脚本,对所述HTML格式的规范文件中的每一行字符文本依次进行文本解析,获得规范信息。
4.根据权利要求3所述的校验方法,其特征在于,所述利用预设的文本解析脚本,对所述HTML格式的规范文件中的每一行字符文本依次进行文本解析,获得规范信息,包括:
针对每一行字符文本,确定该字符文本所属于的报文项并提取在所述报文项下的信息以作为所述规范信息。
5.根据权利要求1所述的校验方法,其特征在于,所述根据所述规范信息构建所述SWIFT报文的规范配置表,包括:
对所述SWIFT报文的报文域名称进行排序,并根据排序结果将各报文域名称所对应的各校验项下的校验规则写入规范配置表中,得到所述SWIFT报文的规范配置表。
6.根据权利要求5所述的校验方法,其特征在于,所述规范配置表包括报文规范主表,以及与所述报文规范主表具有映射关系的报文集合域表、报文域描述表、报文格式表和报文固定字符表。
7.根据权利要求1所述的校验方法,其特征在于,所述根据所述SWIFT报文的规范信息构建所述SWIFT报文的报文格式树,包括:
基于数据缓存结构算法对所述规范配置表进行缓存处理,得到所述规范配置表在不同报文域名称的各校验项下的正则表达式;
确定相同报文类型的不同报文域名称的各校验项之间的关联关系,基于二叉树算法和所述关联关系构建报文格式树,其中所述报文格式树中的节点用于表示报文域名称的正则表达式或校验项的正则表达式所述各校验项的正则表达式。
8.根据权利要求1所述的校验方法,其特征在于,所述规范信息包括规范文件在报文类型、报文子类型、报文域名称、报文域类型以及固定输入项的信息。
9.根据权利要求8所述的校验方法,其特征在于,所述根据所述SWIFT报文的规范信息构建所述SWIFT报文的报文格式树,包括:
针对不同报文类型的SWIFT报文的规范信息,构建不同报文类型报对应的报文格式树。
10.一种SWIFT报文的校验装置,其特征在于,包括:
解析单元,用于对获取的SWIFT报文的规范文件进行文件解析处理,获得SWIFT报文的规范信息;
更新单元,用于根据所述规范信息构建所述规范配置表和报文格式树,并利用所述规范配置表和所述报文格式树对当前的校验配置文件进行更新;
校验单元,用于加载更新后的校验配置文件,并根据更新后的校验配置文件中的规范配置表和报文格式树对待校验的SWIFT报文进行校验处理。
11.一种电子设备,其特征在于,包括:至少一个处理器和存储器;
所述存储器存储计算机执行指令;
所述至少一个处理器执行所述存储器存储的计算机执行指令,使得所述至少一个处理器执行如权利要求1-9任一项所述的校验方法。
12.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如权利要求1-9任一项所述的校验方法。
13.一种计算机程序产品,包括计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1-9任一项所述的校验方法。
CN202110681529.4A 2021-06-18 2021-06-18 Swift报文的校验方法、装置、电子设备及存储介质 Active CN113312108B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110681529.4A CN113312108B (zh) 2021-06-18 2021-06-18 Swift报文的校验方法、装置、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110681529.4A CN113312108B (zh) 2021-06-18 2021-06-18 Swift报文的校验方法、装置、电子设备及存储介质

Publications (2)

Publication Number Publication Date
CN113312108A true CN113312108A (zh) 2021-08-27
CN113312108B CN113312108B (zh) 2023-10-03

Family

ID=77379499

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110681529.4A Active CN113312108B (zh) 2021-06-18 2021-06-18 Swift报文的校验方法、装置、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN113312108B (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114629961A (zh) * 2022-03-17 2022-06-14 中国农业银行股份有限公司 一种报文格式校验方法及相关设备
CN114760365A (zh) * 2022-04-21 2022-07-15 中国农业银行股份有限公司 一种数据提取方法、装置及电子设备
CN114844956A (zh) * 2022-04-15 2022-08-02 中国工商银行股份有限公司 报文校验的方法、装置、存储介质和电子设备
CN115085867A (zh) * 2022-06-15 2022-09-20 北斗星通智联科技有限责任公司 一种can总线报文的e2e校验方法及装置
CN115277887A (zh) * 2022-08-03 2022-11-01 中国银行股份有限公司 一种报文内容发送处理方法及装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160196132A1 (en) * 2014-07-07 2016-07-07 Symphony Teleca Corporation Remote Embedded Device Update Platform Apparatuses, Methods and Systems
CN107231337A (zh) * 2016-03-25 2017-10-03 阿里巴巴集团控股有限公司 应用于金融报文的校验方法和装置
CN110336814A (zh) * 2019-07-03 2019-10-15 中国银行股份有限公司 一种swift报文的解析方法、设备以及系统
CN112118232A (zh) * 2020-08-25 2020-12-22 通号城市轨道交通技术有限公司 报文协议解析方法及装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160196132A1 (en) * 2014-07-07 2016-07-07 Symphony Teleca Corporation Remote Embedded Device Update Platform Apparatuses, Methods and Systems
CN107231337A (zh) * 2016-03-25 2017-10-03 阿里巴巴集团控股有限公司 应用于金融报文的校验方法和装置
CN110336814A (zh) * 2019-07-03 2019-10-15 中国银行股份有限公司 一种swift报文的解析方法、设备以及系统
CN112118232A (zh) * 2020-08-25 2020-12-22 通号城市轨道交通技术有限公司 报文协议解析方法及装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
刘东文 等: "跨平台SWIFT报文转换系统的设计与实现", 福建电脑, no. 04, pages 128 - 129 *

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114629961A (zh) * 2022-03-17 2022-06-14 中国农业银行股份有限公司 一种报文格式校验方法及相关设备
CN114844956A (zh) * 2022-04-15 2022-08-02 中国工商银行股份有限公司 报文校验的方法、装置、存储介质和电子设备
CN114844956B (zh) * 2022-04-15 2024-03-08 中国工商银行股份有限公司 报文校验的方法、装置、存储介质和电子设备
CN114760365A (zh) * 2022-04-21 2022-07-15 中国农业银行股份有限公司 一种数据提取方法、装置及电子设备
CN115085867A (zh) * 2022-06-15 2022-09-20 北斗星通智联科技有限责任公司 一种can总线报文的e2e校验方法及装置
CN115085867B (zh) * 2022-06-15 2024-01-19 北斗星通智联科技有限责任公司 一种can总线报文的e2e校验方法及装置
CN115277887A (zh) * 2022-08-03 2022-11-01 中国银行股份有限公司 一种报文内容发送处理方法及装置

Also Published As

Publication number Publication date
CN113312108B (zh) 2023-10-03

Similar Documents

Publication Publication Date Title
CN113312108B (zh) Swift报文的校验方法、装置、电子设备及存储介质
CN110764942B (zh) 多种类数据校验方法、装置、计算机系统及可读存储介质
CN109684838B (zh) 一种针对以太坊智能合约的静态代码审计系统及方法
Brody et al. A structural model for contextual code changes
CN109240692A (zh) 一种基于通用模板的网页数据库开发的建立方法和系统
CN112671734B (zh) 面向多数据源的报文处理方法及其相关设备
CN102959538B (zh) 给文档编索引
CN105589959A (zh) 表单处理方法和表单系统
JP4951416B2 (ja) プログラム検証方法、プログラム検証装置
CN110020358A (zh) 用于生成动态页面的方法和装置
CN110262784A (zh) 一种云笔记实现方法及装置
CN114090671A (zh) 数据导入方法、装置、电子设备及存储介质
WO2014164231A2 (en) Executable guidance experiences based on implicitly generated guidance models
WO2011074942A1 (en) System and method of converting data from a multiple table structure into an edoc format
KR100762712B1 (ko) 규칙기반의 전자문서 변환방법 및 그 시스템
CN112632333A (zh) 查询语句生成方法、装置、设备及计算机可读存储介质
CN113760894A (zh) 数据调取方法、装置、电子设备及存储介质
US20230072988A1 (en) System and a method for automatic generation of smart contracts across blockchain platforms
CN110688823A (zh) Xml文件验证方法及装置
CN111651696B (zh) 产品标签的定制方法及装置、计算机存储介质、电子设备
CN110399187A (zh) 一种语言资源的处理方法和装置
CN114625372A (zh) 组件自动编译方法、装置、计算机设备及存储介质
CN111562907A (zh) 自定义接口数据的转换方法与系统
US20150324333A1 (en) Systems and methods for automatically generating hyperlinks
CN111400623A (zh) 用于搜索信息的方法和装置

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