一种基于Netty实现金融系统协议通信的方法、系统和存储设备技术方案

技术编号:32576097 阅读:16 留言:0更新日期:2022-03-09 17:05
本发明专利技术涉及金融系统技术领域,特别涉及一种基于Netty实现金融系统协议通信的方法、系统和存储设备。所述一种基于Netty实现金融系统协议通信的方法,包括步骤:获取请求侧协议类型,解析请求报文得业务参数;根据目标侧协议类型对所述业务参数进行封装;根据不同请求方式发送报文至目标侧;将获取到的响应按请求侧协议传回。通过以上方法,当目标侧和请求侧协议类型不一样时,两者亦可以进行互转,包括了ISO和http协议间的互转,而对于二者是同种协议时,因目标协议和容器的对应关系无需解码,故此不会带来报文的臃肿。故此不会带来报文的臃肿。故此不会带来报文的臃肿。

【技术实现步骤摘要】
一种基于Netty实现金融系统协议通信的方法、系统和存储设备


[0001]本专利技术涉及金融系统
,特别涉及一种基于Netty实现金融系统协议通信的方法、系统和存储设备。

技术介绍

[0002]金融体系中常用到ISO体系的通信协议,为非明文的ASCII或二进制报文,且常用的Socket通信开发,多基于阻塞式IO(BlockingIO)代码(或框架)
‑‑
以下简称BIO;或非阻塞式IO(Non

BlockingIO)
‑‑
以下简称NIO。
[0003]2、而常规业务系统多使用基于Http协议的json格式,或其他XML,WebSocket协议报文开发。
[0004]现有的NIO框架
‑‑
Netty,仅对通信做了封装。实现集中处理两种协议间转换的服务能极大的方便我们开发,以及解决服务分散的问题。
[0005]现有使用Netty协议的专利有:
[0006]CN201610357751《一种基于Netty实现金融报文处理系统》
[0007]本专利技术公开了一种基于Netty实现金融报文处理系统,该系统采用netty作为报文发送、接收、转发的底层框架,在项目应用中通过定制实现包括ISO8583、XML、管理符、占位符、不定长、TLV、COP、内部嵌套、组合报文在内的报文间两两格式互转,实现报文多格式配置转换处理。该申请虽然实现了ISO8583、XML、管理符、占位符、不定长、TLV、COP、内部嵌套、组合报文在内的报文的格式转换处理。却未实现ISO与常用Http协议间的互转。
[0008]CN201711115075:《一种多协议服务通信方法、装置以及电子设备》:
[0009]本专利技术实施例提供了一种多协议服务通信方法、装置以及电子设备,其中方法包括:接收客户端发送的通信协议请求,并对所述通信协议请求进行解码处理,得到目标数据;根据所述目标数据对应的目标协议的类型,以及各容器与各协议的对应关系,将所述目标数据映射到对应的目标容器中,在所述目标容器中解析所述目标数据,得到与所述目标数据对应的目标信息;通过所述目标协议将所述目标信息发送给所述客户端。其目标协议及容器对应关系需要在解码后的目标数据中才能得到,对于同种协议间的传输造成浪费,另一方面也造成报文的臃肿。
[0010]此外现有的NIO框架
‑‑
Netty,无断线重连机制,同步请求,空闲客户端连接回收等功能。缺少一个与ISO协议打通并不断扩展新协议的系统。

技术实现思路

[0011]鉴于上述问题,本申请提供了一种基于Netty实现金融系统协议通信的方法,用以解决现有金融系统通信协议未实现ISO与http协议间互转,及现有金融系统通信协议无断线重连机制等技术问题。具体技术方案如下:
[0012]一种基于Netty实现金融系统协议通信的方法,包括步骤:
[0013]获取请求侧协议类型,解析请求报文得业务参数;
[0014]根据目标侧协议类型对所述业务参数进行封装;
[0015]根据不同请求方式发送报文至目标侧;
[0016]将获取到的响应按请求侧协议传回。
[0017]进一步的,所述“获取请求侧协议类型,解析请求报文得业务参数;根据目标侧协议类型对所述业务参数进行封装;”,具体还包括步骤:
[0018]若已知请求侧和目标侧各自的报文协议,则直接根据请求侧协议规范解析请求报文得业务参数;
[0019]根据容器中配置的请求侧与目标侧对应关系,获取目标侧报文协议,并将所述业务参数封装为目标侧可解析的报文。
[0020]进一步的,所述“获取请求侧协议类型,解析请求报文得业务参数;根据目标侧协议类型对所述业务参数进行封装;”,具体还包括步骤:
[0021]若为自定义报文协议,则获取请求报文中的请求侧标识,获取目标侧标识;
[0022]根据所述请求侧标识和所述目标侧标识查询容器中对应的请求和接受的协议标准;
[0023]解析请求报文的业务参数;
[0024]将所述业务参数按目标侧协议进行封装。
[0025]进一步的,所述“根据不同请求方式发送报文至目标侧”,具体还包括步骤:
[0026]若为异步请求则直接发送报文至目标侧;
[0027]若为同步请求则使用一预设字段作为同步请求的透传字段。
[0028]进一步的,所述“获取请求侧协议类型”之前,还包括步骤:
[0029]请求侧与目标侧通过适配服务建立Socket连接;
[0030]当请求侧与目标侧连接断开时则触发重连机制;
[0031]请求侧协议类型包括:http协议或ISO协议,目标侧协议类型包括:ISO协议或http协议;
[0032]http协议基于Spring框架,ISO协议基于Netty框架;
[0033]当所述请求侧协议类型为http协议时,所述请求侧包括:服务器;
[0034]当所述目标侧协议类型为ISO协议时,所述目标侧包括:POS机和/或银联。
[0035]为解决上述技术问题,还提供了一种基于Netty实现金融系统协议通信的系统,具体技术方案如下:
[0036]一种基于Netty实现金融系统协议通信的系统,包括:请求端、目标端和适配服务端;
[0037]所述适配服务端分别连接所述请求端和所述目标端;
[0038]所述适配服务端用于:获取请求端协议类型,解析请求报文得业务参数;根据目标端协议类型对所述业务参数进行封装;根据不同请求方式发送报文至目标端;将获取到的响应按请求端协议传回。
[0039]进一步的,所述适配服务端还用于:
[0040]若已知请求端和目标端各自的报文协议,则直接根据请求端协议规范解析请求报文得业务参数;根据容器中配置的请求端与目标端对应关系,获取目标端报文协议,并将所
述业务参数封装为目标端可解析的报文;
[0041]若为自定义报文协议,则获取请求报文中的请求端标识,获取目标端标识;根据所述请求端标识和所述目标端标识查询容器中对应的请求和接受的协议标准;解析请求报文的业务参数;将所述业务参数按目标端协议进行封装。
[0042]进一步的,所述适配服务端还用于:
[0043]若为异步请求则直接发送报文至目标端;
[0044]若为同步请求则使用一预设字段作为同步请求的透传字段。
[0045]进一步的,所述适配服务端还用于:
[0046]在获取请求端协议类型前,请求端与目标端通过适配服务建立Socket连接;
[0047]当请求端与目标端连接断开时则触发重连机制;
[0048]请求端协议类型包括:http协议或ISO协议,目标端协议类型包括:ISO协议或http协议;
[0049]http协议基于Spring框架,ISO协议基于Netty框架;
[0050]当所述请求本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于Netty实现金融系统协议通信的方法,其特征在于,包括步骤:获取请求侧协议类型,解析请求报文得业务参数;根据目标侧协议类型对所述业务参数进行封装;根据不同请求方式发送报文至目标侧;将获取到的响应按请求侧协议传回。2.根据权利要求1所述的一种基于Netty实现金融系统协议通信的方法,其特征在于,所述“获取请求侧协议类型,解析请求报文得业务参数;根据目标侧协议类型对所述业务参数进行封装;”,具体还包括步骤:若已知请求侧和目标侧各自的报文协议,则直接根据请求侧协议规范解析请求报文得业务参数;根据容器中配置的请求侧与目标侧对应关系,获取目标侧报文协议,并将所述业务参数封装为目标侧可解析的报文。3.根据权利要求1所述的一种基于Netty实现金融系统协议通信的方法,其特征在于,所述“获取请求侧协议类型,解析请求报文得业务参数;根据目标侧协议类型对所述业务参数进行封装;”,具体还包括步骤:若为自定义报文协议,则获取请求报文中的请求侧标识,获取目标侧标识;根据所述请求侧标识和所述目标侧标识查询容器中对应的请求和接受的协议标准;解析请求报文的业务参数;将所述业务参数按目标侧协议进行封装。4.根据权利要求1至3任一项所述的一种基于Netty实现金融系统协议通信的方法,其特征在于,所述“根据不同请求方式发送报文至目标侧”,具体还包括步骤:若为异步请求则直接发送报文至目标侧;若为同步请求则使用一预设字段作为同步请求的透传字段。5.根据权利要求1至4任一项所述的一种基于Netty实现金融系统协议通信的方法,其特征在于,所述“获取请求侧协议类型”之前,还包括步骤:请求侧与目标侧通过适配服务建立Socket连接;当请求侧与目标侧连接断开时则触发重连机制;请求侧协议类型包括:http协议或ISO协议,目标侧协议类型包括:ISO协议或http协议;http协议基于Spring框架,ISO协议基于Netty框架;当所述请求侧协议类型为http协议时,所述请求侧包括:服务器;当所述目标侧协议类型为ISO协议时,所述...

【专利技术属性】
技术研发人员:张汀勇叶章明侯祥钦刘元陈天宇郑建华林杰王敏力林东
申请(专利权)人:福建博思数字科技有限公司
类型:发明
国别省市:

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

1