一种报文处理方法和相关装置制造方法及图纸

技术编号:36459264 阅读:18 留言:0更新日期:2023-01-25 22:58
本申请公开了一种报文处理方法和相关装置,针对XML格式的ISO报文的构建数据模型,即通过ISO报文格式文件自动生成ISO报文节点路径配置表的插入语句,整个过程不依赖数据库可独立运行,时间复杂度极低。而且不需要配置任何环境信息,并且将构建数据模型的代码打包发布,并提供输入参数,对后续维护人员无技术背景要求,减少后续维护ISO报文数据模型的成本。而且采用该数据模型,后续不需要用邻接表去递归的构建模型和利用截取字符串的方式去解析报文内容,能够降低计算空间和计算量,缩短计算所需的时间。算所需的时间。算所需的时间。

【技术实现步骤摘要】
一种报文处理方法和相关装置


[0001]本专利技术涉及数据处理
,尤其是涉及一种报文处理方法和相关装置。

技术介绍

[0002]环球同业银行金融电讯协会(Society for WorldwideInterbank Financial Telecommunications,SWIFT)及其社群为致力于打造实时、无摩擦的支付,计划把消息类型(Message Type,MT)支付和现金管理报文标准迁移至ISO20022标准。
[0003]目前现有技术都是处理MT报文的方法。国际标准化组织报文(International Organization for Standardization,ISO)与MT报文的格式完全不一样,其中,MT报文是FIN格式的,MT报文的数据模型构建适合两层级的路径下的报文,而ISO报文是基于XML格式的,ISO报文的报文内容一般有三层以上的路径。
[0004]若采用处理MT报文格式的方法处理ISO报文,即通过递归的遍历邻接表构建的数据模型,在路径层次比较高的时候需要的计算量明显增加,且所需的计算空间较大。

技术实现思路

[0005]针对上述问题,本申请提供一种报文处理方法和相关装置,用于针对ISO报文进行报文处理,能够降低计算空间和计算量,缩短计算所需的时间。
[0006]基于此,本申请实施例公开了如下技术方案:
[0007]一方面,本申请实施例提供一种报文处理方法,所述方法包括:
[0008]获取国际标准化组织ISO报文格式文件和中文名称字典,所述ISO报文格式文件包括ISO报文的标准格式,所述中文名称字典包括ISO报文对应的中文释义;
[0009]读取所述ISO报文格式文件的第i行数据,i的起始值为1;
[0010]读取所述第i行数据的节点移除属性和名称属性标识;
[0011]若所述节点移除属性表示所述第i行数据为非废弃数据,且所述节点名称属性表示所述第i行数据为节点规则信息,则根据所述第i行数据的类型补全所述第i行数据的路径,得到所述第i行数据的路径信息,所述第i行数据的类型包括报文头和报文体;
[0012]合并所述第i行数据的信息,得到格式信息和重复信息标识;
[0013]若所述重复信息标识表示所述第i行数据能够重复出现,获取允许重复出现的最大次数和最小次数;
[0014]根据所述路径信息获取所述第i行数据的必需节点标识,所述必需节点标识用于标识所述第i行数据表示的节点是否必须出现在ISO报文中;
[0015]根据所述格式信息提取正则表达式、所述第i行数据的格式类型以及所述格式类型对应的长度信息;
[0016]根据所述第i行数据的类型和所述第i行数据表示的节点的顺序,确定所述第i行数据表示的节点的节点编号;
[0017]根据所述中文名称字典补全所述第i行数据表示的节点的中文释义,得到节点中
文名称和节点中文注释;
[0018]i的取值加1,执行所述读取所述ISO报文格式文件的第i行数据的步骤以及后续步骤,直至所述ISO报文格式文件的所有数据完成读取;
[0019]根据所述路径信息、所述重复信息标识、所述必需节点标识、所述最大次数、所述最小次数、所述正则表达式、所述格式类型、所述长度信息、所述节点中文名称和所述节点中文注释,生成ISO报文节点路径配置表对应的插入语句。
[0020]可选的,在所述合并所述第i行数据的信息,得到格式信息和重复信息标识之后,所述若所述重复信息标识表示所述第i行数据能够重复出现,获取允许重复出现的最大次数和最小次数之前,所述方法还包括:
[0021]若所述第i行数据包括可选信息,则根据所述可选信息生成ISO报文节点选项配置表的插入语句;
[0022]i的取值加1,执行所述读取所述ISO报文格式文件的第i行数据的步骤以及后续步骤,直至所述ISO报文格式文件的所有数据完成读取。
[0023]可选的,所述根据所述第i行数据的类型和所述第i行数据表示的节点的顺序,确定所述第i行数据表示的节点的节点编号,包括:
[0024]判断所述第i行数据表示的节点是否为报文头的第一个节点;
[0025]若所述第i行数据表示的节点是报文头的第一个节点,则确定所述节点编号为AA000;
[0026]若所述第i行数据表示的节点不是报文头的第一个节点,则判断所述第i行数据标识的节点是否为报文体的第一个节点;
[0027]若所述第i行数据表示的节点是报文体的第一个节点,则确定所述节点编号为DA000;
[0028]若所述第i行数据表示的节点不是报文体的第一个节点,则按照预设步长递增的方式确定所述节点编号。
[0029]可选的,所述方法还包括:
[0030]获取ISO报文;
[0031]读取所述ISO报文的报文内容、路径信息和报文类型;
[0032]根据所述报文类型从所述ISO报文节点路径配置表获取报文结构;
[0033]根据所述报文结构获取所述报文内容中第i个叶子节点,i的取值为1;
[0034]获取所述第i个叶子节点的路径信息和所述第i个叶子节点的节点编号;
[0035]根据所述第i个叶子节点的路径信息解析所述第i个叶子节点的节点内容;
[0036]根据所述第i个叶子节点的节点编号和重复次数,确定所述第i个叶子节点的节点值;
[0037]i的取值加1,执行所述根据所述报文结构获取所述报文内容中第i个叶子节点的步骤以及后续步骤,直至所述报文内容的所有内容完成读取;
[0038]将所述节点内容和所述节点值存储至ISO报文节点信息表中。
[0039]可选的,所述根据所述报文类型从所述ISO报文节点路径配置表获取报文结构之前,所述方法还包括:
[0040]根据所述报文内容获取报文头内容和报文体内容;
[0041]根据所述ISO格式校验文件对所述报文头内容和所述报文体内容分别进行校验;
[0042]若校验通过,则执行所述根据所述报文类型从所述ISO报文节点路径配置表获取报文结构。
[0043]可选的,所述方法还包括:
[0044]获取ISO报文节点和交易域映射表,所述ISO报文节点和交易域映射表包括待转换节点的节点名称和节点路径;
[0045]根据所述节点路径从所述ISO报文节点信息表中获取所述待转换节点的记录;
[0046]获取用户的转换需求;
[0047]根据所述转换需求对所述待转换节点的记录进行转换,得到符合所述转换需求的已转换节点的记录;
[0048]向所述用户展示所述已转换节点的记录。
[0049]另一方面,本申请提供了一种报文处理装置,所述装置包括:
[0050]获取单元,用于获取国际标准化组织ISO报文格式文件和中文名称字典,所述ISO报文格式文件包括ISO报文的标准格式,所述中文名称字典包括ISO报文对应的中文释义;
本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种报文处理方法,其特征在于,所述方法包括:获取国际标准化组织ISO报文格式文件和中文名称字典,所述ISO报文格式文件包括ISO报文的标准格式,所述中文名称字典包括ISO报文对应的中文释义;读取所述ISO报文格式文件的第i行数据,i的起始值为1;读取所述第i行数据的节点移除属性和名称属性标识;若所述节点移除属性表示所述第i行数据为非废弃数据,且所述节点名称属性表示所述第i行数据为节点规则信息,则根据所述第i行数据的类型补全所述第i行数据的路径,得到所述第i行数据的路径信息,所述第i行数据的类型包括报文头和报文体;合并所述第i行数据的信息,得到格式信息和重复信息标识;若所述重复信息标识表示所述第i行数据能够重复出现,获取允许重复出现的最大次数和最小次数;根据所述路径信息获取所述第i行数据的必需节点标识,所述必需节点标识用于标识所述第i行数据表示的节点是否必须出现在ISO报文中;根据所述格式信息提取正则表达式、所述第i行数据的格式类型以及所述格式类型对应的长度信息;根据所述第i行数据的类型和所述第i行数据表示的节点的顺序,确定所述第i行数据表示的节点的节点编号;根据所述中文名称字典补全所述第i行数据表示的节点的中文释义,得到节点中文名称和节点中文注释;i的取值加1,执行所述读取所述ISO报文格式文件的第i行数据的步骤以及后续步骤,直至所述ISO报文格式文件的所有数据完成读取;根据所述路径信息、所述重复信息标识、所述必需节点标识、所述最大次数、所述最小次数、所述正则表达式、所述格式类型、所述长度信息、所述节点中文名称和所述节点中文注释,生成ISO报文节点路径配置表对应的插入语句。2.根据权利要求1所述的方法,其特征在于,在所述合并所述第i行数据的信息,得到格式信息和重复信息标识之后,所述若所述重复信息标识表示所述第i行数据能够重复出现,获取允许重复出现的最大次数和最小次数之前,所述方法还包括:若所述第i行数据包括可选信息,则根据所述可选信息生成ISO报文节点选项配置表的插入语句;i的取值加1,执行所述读取所述ISO报文格式文件的第i行数据的步骤以及后续步骤,直至所述ISO报文格式文件的所有数据完成读取。3.根据权利要求1所述的方法,其特征在于,所述根据所述第i行数据的类型和所述第i行数据表示的节点的顺序,确定所述第i行数据表示的节点的节点编号,包括:判断所述第i行数据表示的节点是否为报文头的第一个节点;若所述第i行数据表示的节点是报文头的第一个节点,则确定所述节点编号为AA000;若所述第i行数据表示的节点不是报文头的第一个节点,则判断所述第i行数据标识的节点是否为报文体的第一个节点;若所述第i行数据表示的节点是报文体的第一个节点,则确定所述节点编号为DA000;若所述第i行数据表示的节点不是报文体的第一个节点,则按照预设步长递增的方式
确定所述节点编号。4.根据权利要求1所述的方法,其特征在于,所述方法还包括:获取ISO报文;读取所述ISO报文的报文内容、路径信息和报文类型;根据所述报文类型从所述ISO报文节点路径配置表获取报文结构;根据所述报文结构获取所述报文内容中第i个叶子节点,i的取值为1;获取所述第i个叶子节点的路径信息和所述第i个叶子节点的节点编号;根据所述第i个叶子节点的路径信息解析所述第i个叶子节点的节点内容;根据所述第i个叶子节点的节点编号和重复次数,确定所述第i个叶子节点的节点值;i的取值加1,执行所述根据所述报文结构获取所述报文内容中第i个叶子节点的步骤以及后续步骤,直至...

【专利技术属性】
技术研发人员:史国梅李文豪杨润斌
申请(专利权)人:中国农业银行股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1