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

一种报文处理方法及系统

文献发布时间:2023-06-19 16:04:54



技术领域

本发明属于金融数据处理技术领域,尤其是涉及一种报文处理方法及系统。

背景技术

随着世界经济全球化的进程,全球各国家之间的资金往来频繁发生。为了向客户提供优质、快速的全球汇款服务,各银行纷纷加入金融结算网络组织,通过专用的网络传递资金汇款信息,整个金融信息专用传输网络与各银行的IT处理系统连接,形成全球的金融信息专用网络,用于金融信息传输。环球同业银行金融电讯协会(Society For WorldwideInterbank Financial Telecommunication S.C.,简称SWIFT),是一个国际银行同业间非盈利性的国际合作组织,SWIFT运营着世界级的金融电文网络,银行和其他金融机构通过它与同业交换电文来完成金融交易。

金融汇款报文通常包括汇款方银行、汇款接收方银行信息,汇款币种,汇款金额等信息,汇款人和收款人信息等。由于汇款人和收款人所在国家不同,经常会出现需要进行货币兑换的情况,即由收款人所在银行通过外汇买卖将汇款的货币兑换成当地的货币。由于汇款业务涉及汇款方和接收方两方银行,金融结算报文信息在网络上传输需要一定的时间,这个过程需要一定的人工判断处理,影响效率。

发明内容

本发明的目的就是为了克服上述现有技术存在的缺陷而提供一种效率高的报文处理方法及系统。

本发明的目的可以通过以下技术方案来实现:

一种报文处理方法,包括以下步骤:

接收第一报文,获取该第一报文的类型,所述类型包括请求报文和撤销报文;

若所述第一报文的类型为撤销报文,则从所述撤销报文中提取撤销指令明细表,解析所述撤销指令明细表中的各条撤销指令进行相应处理,并生成处理反馈信息;

若所述第一报文的类型为请求报文,从所述请求报文中提取请求指令明细表,并将请求指令明细表中的所有请求指令标记为未处理状态;

循环读取并解析所述请求指令明细表中的各条请求指令进行相应处理,并生成处理反馈信息;

基于所述处理反馈信息生成回复信息;

其中,所述撤销指令和请求指令相关联。

进一步地,所述请求报文包括转账请求报文和直接借记请求报文。

进一步地,所述请求报文的内容包括文件头部分和指令部分,所述文件头部分包括报文ID、企业BIC和预约执行日期,所述指令部分包括至少一条请求指令,各条指令具有唯一的指令ID;

所述撤销报文的内容包括文件头部分和指令部分,所述文件头部分包括报文ID、企业BIC和预约执行日期,所述指令部分仅包括一条撤销指令。

进一步地,解析所述撤销指令明细表中的各条撤销指令进行相应处理具体为:

获取撤销指令,查找是否存在与该撤销指令的请求指令,若是,则获取请求指令的状态,根据请求指令的状态相应更新所述撤销指令的状态,生成处理反馈信息,若否,则退出。

进一步地,所述根据请求指令的状态相应更新所述撤销指令的状态具体为:

若请求指令的状态为入账成功,则进行冲正交易处理,更新请求指令的状态为冲正成功,同时更新撤销指令的状态为已处理;

若请求指令的状态为入账失败或已撤销,则更新撤销指令的状态为已处理;

若请求指令的状态为未处理,则更新请求指令的状态为已撤销,同时更新撤销指令的状态为已处理。

进一步地,对各条请求指令进行相应处理具体为:

获取状态为未处理且预约执行日期已到的请求指令,查找是否存在与该请求指令的撤销指令,若是,则更新请求指令的状态为已撤销,时更新撤销指令的状态为已处理,若否,则进行入账处理,根据处理结果更新请求指令的状态为入账成功或入账失败。

进一步地,所述撤销指令和请求指令相关联通过报文ID、指令ID和企业BIC实现关联。

本发明还提供一种报文处理系统,包括:

收报模块,用于接收第一报文,获取该第一报文的类型,所述类型包括请求报文和撤销报文;

撤销处理模块,在所述第一报文的类型为撤销报文时响应,从所述撤销报文中提取撤销指令明细表,解析所述撤销指令明细表中的各条撤销指令进行相应处理,并生成处理反馈信息;

请求处理模块,在所述第一报文的类型为请求报文时响应,从所述请求报文中提取请求指令明细表,并将请求指令明细表中的所有请求指令标记为未处理状态;

请求指令处理模块,处于持续运行状态,循环读取并解析所述请求指令明细表中的各条请求指令进行相应处理,并生成处理反馈信息;

回复模块,基于所述处理反馈信息生成回复信息;

其中,所述撤销指令和请求指令相关联。

进一步地,所述回复模块包括:

撤销回复单元,在获取到撤销指令状态更新后响应,用于发送撤销指令的最新状态;

请求回复单元,在获取到请求指令状态更新后响应,用于发送请求指令的最新状态。

本发明还提供一种计算机可读存储介质,包括供电子设备的一个或多个处理器执行的一个或多个程序,所述一个或多个程序包括用于执行如上所述报文处理方法的指令。

与现有技术相比,本发明具有以下有益效果:

本发明设计了请求报文和撤销报文的自动化处理流程,通过指令的不同状态自动执行相应处理,且请求指令处理模块处于持续运行状态,能够对各指令及时处理,有效提高支付、撤销或冲正的效率,方便快捷,企业无需临柜。

附图说明

图1为本发明的流程示意图。

具体实施方式

下面结合附图和具体实施例对本发明进行详细说明。本实施例以本发明技术方案为前提进行实施,给出了详细的实施方式和具体的操作过程,但本发明的保护范围不限于下述的实施例。

如图1所示,本发明提供一种报文处理方法,包括以下步骤:

接收第一报文,获取该第一报文的类型,所述类型包括请求报文和撤销报文;

若所述第一报文的类型为撤销报文,则从所述撤销报文中提取撤销指令明细表,解析所述撤销指令明细表中的各条撤销指令进行相应处理,并生成处理反馈信息;

若所述第一报文的类型为请求报文,从所述请求报文中提取请求指令明细表,并将请求指令明细表中的所有请求指令标记为未处理状态;

循环读取并解析所述请求指令明细表中的各条请求指令进行相应处理,并生成处理反馈信息;

基于所述处理反馈信息生成回复信息。

其中,所述请求报文的内容包括文件头部分和指令部分,所述文件头部分包括报文ID、企业BIC和预约执行日期,所述指令部分包括至少一条请求指令,各条指令具有唯一的指令ID;所述撤销报文的内容包括文件头部分和指令部分,所述文件头部分包括报文ID、企业BIC和预约执行日期,所述指令部分仅包括一条撤销指令。撤销指令和请求指令相关联通过报文ID、指令ID和企业BIC实现关联。

上述方法可处理的请求报文包括转账请求报文和直接借记请求报文。上述方法能够对各指令及时处理,有效提高支付、撤销或冲正的效率,方便快捷,企业无需临柜。

上述方法如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。

在另一具体实施方式中,可由一报文处理系统实现上述处理过程,所述报文处理系统包括收报模块、撤销处理模块、请求处理模块、请求指令处理模块和回复模块,其中:

收报模块用于接收第一报文,获取该第一报文的类型,所述类型包括请求报文和撤销报文;

撤销处理模块在所述第一报文的类型为撤销报文时响应,从所述撤销报文中提取撤销指令明细表,解析所述撤销指令明细表中的各条撤销指令进行相应处理,并生成处理反馈信息;

请求处理模块在所述第一报文的类型为请求报文时响应,从所述请求报文中提取请求指令明细表并将请求指令明细表中的所有请求指令标记为未处理状态;

请求指令处理模块处于持续运行状态,循环读取并解析所述请求指令明细表中的各条请求指令进行相应处理,并生成处理反馈信息;

回复模块基于所述处理反馈信息生成回复信息,回复模块包括:撤销回复单元,在获取到撤销指令状态更新后响应,用于发送撤销指令的最新状态;请求回复单元,在获取到请求指令状态更新后响应,用于发送请求指令的最新状态。

实施例1

本实施例基于一报文处理系统对转账请求报文进行线上处理。

术语解释

SWIFT网络:环球同业银行金融电讯协会(Society For Worldwide InterbankFinancial Telecommunication S.C.,简称SWIFT),是一个国际银行同业间非盈利性的国际合作组织。SWIFT运营着世界级的金融电文网络,银行和其他金融机构通过它与同业交换电文来完成金融交易。

MT101:转账请求报文,通常由企业发送到开户银行或代理银行,向报文指定的收款方汇出款项。一个MT101报文可包含多笔交易请求。

MT192:撤销请求报文,由原发包方发起,本专利指关联的MT101报文发起方。企业发送MT101后,如需撤销支付请求(单笔),可发送MT192指示银行对交易进行撤销。

MT199:对MT101支付指令的状态回复报文,每个MT199报文对应一个MT101支付指令,由银行端生成发送。

MT196:对MT192撤销报文的应答报文,由银行端生成发送。

冲正:如果银行收到MT101报文后,支付请求已被处理,即已入账。则银行做反向交易,入账金额退回到付款账户。

BIC:SWIFT银行识别代码,每个申请加入SWIFT组织的单位都必须事先按照SWIFT组织的统一规则,制定出本行SWIFT地址代码,经SWIFT组织批准后正式生效。

本实施例报文处理系统的使用场景为:企业通过SWIFT网络发送MT101支付请求后,如需撤销可发送关联的MT192报文到银行,银行根据MT192报文21场和79场关联到原MT101支付请求,并根据当前处理情况作撤销(入账前)和冲正(已入账)。MT101指令状态如有变化,银行及时向企业返回MT199状态报文。MT192接收或处理后,银行及时向企业返回MT196应答报文。本系统能够对MT101先到MT192后到、MT192先到MT101后到、MT101指令已入账、MT101指令未入账等多个场景下的支付指令撤销或冲正。并根据MT101支付指令状态的变换实时向企业返回MT199状态报文;并在收到或处理MT192报文后向企业告知撤销报文状态。

MT101样例如下:

本实施例中,MT101包括报文头和报文明细,报文头20场为该报文的ID号,每笔报文均不相同。报文明细21场为支付ID号,每笔支付指令均不同。样例中报文2个21场,即有两个支付指令。

文件头部分内容为:

20场-报文ID-0000013043

28场-报文第n包/总包数(分包用,样例只用1包,所以为1/1)

50场-付款账号100200700213638和付款名称

52场-付款行BIC-BKCHDEBJ44W

30场-预约执行日期190401即2019年4月1日

支付指令1:

21场-支付指令ID-0000013485

32场-支付金额13.02美元

57场-收款行BIC-BKCHDEFF

59场-收款账号100200700215206和名称

71A:费用承担方式-收付款人共同承担

支付指令2:

21场-支付指令ID-0000013486

32场-支付金额14日元

57场-收款行BIC-BKCHCNBJ

59场-收款账号100200700218412和名称

71A:费用承担方式-收付款人共同承担

MT192样例如下:

报文20场为该报文的ID号,每笔报文均不相同。21场为关联的MT101报文的20场。11S第一行和第二行分别为关联的报文类型101和101报文的30场即预约日期。79场为关联的MT101报文明细21场,每笔MT192报文只能撤销一笔支付请求。

20场-报文ID-0000013765

21场-关联的MT101报文ID0000013043

11S第一行:关联的报文类型为101

11S第二行:关联的MT101报文的30场为190401(即2019年4月1日)

79场:关联的MT101支付指令ID0000013485

MT199样例如下:

报文头20场为该报文的ID号,每笔报文均不相同。21场原MT101报文的21场。79场首行为状态(ACSC-已入账,RJCT-未入账,ACCR-撤销请求已被处理,即未入账),后续行为处理说明。

MT196样例如下:

报文头20场为该报文的ID号,每笔报文均不相同。21场关联的MT192报文的20场。76场为状态描述(RCVD-已收到,ACCP-已处理)。

本实施例中,报文处理系统的各模块具体功能如下:

收报模块S0,收到报文后,从报文固定位置拆分报文类型。在具体实施方式中,可根据文本框黑体字部分101或192和发送方即企业BIC(CRESCHZF)确定。根据报文类型分别调用撤销处理模块S1或请求处理模块S2。

撤销处理模块S1,拆分21场\11S场\79场,记录MT192指令明细表(状态RCVD)。并根据指令中的21场、11S、企业BIC、79场从MT101指令明细表查找对应MT101指令。如果找到且MT101状态为入账成功(ACSC),则调用后台冲正交易,并更新MT101指令为冲正成功(ACCR),MT192状态为已处理(ACCP);如果找到且状态为入账失败(RJCT)或已撤销(ACSC),则更新MT192状态为已处理(ACCP);如果找到且状态为未处理,则更新MT101指令状态为已撤销(ACCR),MT192状态为已处理(ACCP);如果未找到,则退出。MT101指令状态如有变化则需调用请求回复单元S4;MT192撤销报文收到或已处理则调用撤销回复单元S5。

请求处理模块S2,拆分文件头和文件明细,并记录MT101指令明细表,拆分后的明细状态为待处理。

请求指令处理模块S3,该模块为常驻守护进程。进程从MT101指令明细表循环读取所有状态为未处理且系统日期<=报文30场,即预约日期已到的MT101支付指令,并根据指令中的20场、21场、30场、企业BIC从MT192指令明细表查找对应的192指令。如果找到,则更新MT101指令状态为已撤销(ACCR),MT192指令状态为已处理(ACCP);如果未找到,则调用相应的账务接口,进行入账处理,根据后台返回状态置MT101指令状态为成功(ACSC)或失败(RJCT)。MT101指令状态如有变化则需调用请求回复单元S4;MT192已处理则调用撤销回复单元S5。

请求回复单元S4,根据MT101更新后的状态ACCR、ACSC或RJCT,生成199报文后发送企业。

撤销回复单元S5,根据MT192更新后的状态RCVD、ACCP,生成196报文后发送企业。

实施例2

本实施例基于一报文处理系统对直接借记请求报文进行线上处理。

术语解释

MT104:直接借记请求报文。一个MT104报文可包含多笔收款指令。

由企业通过SWIFT网络发送到银行,银行按照合同(协议)从付款人账户上直接付出款项,并转入企业的收款账户。付款账户可以是收报银行本行账户或他行账户。企业需与银行签约委托协议。

MT192:撤销请求报文,由原发包方发起,本专利指关联的MT104报文发起方。企业发送MT104后,如需撤销收款请求(单笔),可发送MT192指示银行对交易进行撤销。

MT199:对MT104收款指令的状态回复报文,每个MT199报文对应一个MT104收款指令,由银行端生成发送。

MT196:对MT192撤销报文的应答报文,由银行端生成发送。

冲正:如果银行收到MT104报文后,收款请求已被处理,即已入账。则银行做反向交易,入账金额退回到付款账户。

本实施例报文处理系统的使用场景为:企业通过SWIFT网络发送MT104直接借记(收款)请求后,如需撤销可发送关联的MT192报文到银行,银行根据MT192报文21场关联到原MT104收款请求,并根据当前处理情况作撤销(入账前)和冲正(已入账)。MT104指令状态如有变化,银行及时向企业返回MT199状态报文。MT192接收或处理后,银行及时向企业返回MT196应答报文。本系统能够对MT104先到MT192后到、MT192先到MT104后到、MT104指令已入账、MT104指令未入账等多个场景下的收款指令撤销或冲正。并根据MT104收款指令状态的变换实时向企业返回MT199状态报文;并在收到或处理MT192报文后向企业告知撤销报文状态。

MT104样例如下:

本实施例中,MT104包括报文头和报文明细,报文头20场为该报文的ID号,每笔报文均不相同。报文明细21场为收款ID号,每笔收款指令均不同。样例中报文2个21场,即有两个收款指令。

文件头部分内容为:

20场-报文ID T300164800

30场-预约执行日期190401即2019年4月1日

50场-收款账号325956086490和收款名称

52场-收款行行号-104100000045和名称

收款指令1:

21场-收款指令ID-T300164801

32场-收款金额2.00人民币

57场-付款行行号105301000013

59场-付款账号778350120134和名称

70场:附言

收款指令2:

21场-收款指令ID-T300164802

32场-收款金额60000人民币

57场-付款行行号105301000013

59场-付款账号778350120178和名称

70场:附言

MT192样例如下:

报文20场为该报文的ID号,每笔报文均不相同。21场为关联的MT104报文的20场。11S第一行和第二行分别为关联的报文类型104和104报文的30场即预约日期。79场为关联的MT104报文明细21场,每笔MT192报文只能撤销一笔收款请求。

20场-报文ID0000013765

21场-关联的MT104收款报文ID-T300164800

11S第一行:关联的报文类型为104

11S第二行:关联的MT104报文的30场为190401(即2019年4月1日)

79场:关联的MT104收款指令ID-T300164801

MT199样例如下:

报文头20场为该报文的ID号,每笔报文均不相同。21场原MT104报文的21场。79场首行为状态(ACSC-已入账,RJCT-未入账,ACCR-撤销请求已被处理,即未入账),后续行为处理说明。

MT196样例如下:

报文头20场为该报文的ID号,每笔报文均不相同。21场关联的MT192报文的20场。76场为状态描述(RCVD-已收到,ACCP-已处理)。

本实施例中,报文处理系统的各模块具体功能如下:

收报模块S0,收到报文后,从报文固定位置拆分报文类型(文本框黑体字部分104或192和发送方即企业BIC(CRESCHZF)。根据报文类型分别调用撤销处理模块S1或请求处理模块S2。

撤销处理模块S1,拆分21场\11S场\79场,记录MT192指令明细表(状态RCVD)。并根据指令中的21场、11S、企业BIC、79场从MT104指令明细表查找对应MT104指令。如果找到且MT104状态为入账成功(ACSC),则调用后台冲正交易,并更新MT104指令为冲正成功(ACCR),MT192状态为已处理(ACCP);如果找到且状态为入账失败(RJCT)或已撤销(ACSC),则更新MT192状态为已处理(ACCP);如果找到且状态为未处理,则更新MT104指令状态为已撤销(ACCR),MT192状态为已处理(ACCP);如果未找到,则退出。MT104指令状态如有变化则需调用请求回复单元S4;MT192撤销报文收到或已处理则调用撤销回复单元S5。

请求处理模块S2,拆分文件头和文件明细,并记录MT104指令明细表,拆分后的明细状态为待处理。

请求指令处理模块S3,该模块为常驻守护进程。进程从MT104指令明细表循环读取所有状态为未处理且系统日期<=报文30场,即预约日期已到的MT104收款指令,并根据指令中的20场、21场、30场、企业BIC从MT192指令明细表查找对应的192指令。如果找到,则更新MT104指令状态为已撤销(ACCR),MT192指令状态为已处理(ACCP);如果未找到,则调用相应的账务接口,进行入账处理,根据后台返回状态置MT104指令状态为成功(ACSC)或失败(RJCT)。MT104指令状态如有变化则需调用请求回复单元S4;MT192已处理则调用撤销回复单元S5。

请求回复单元S4,根据MT104更新后的状态ACCR、ACSC或RJCT,生成199报文后发送企业。

撤销回复单元S5,根据MT192更新后的状态RCVD、ACCP,生成196报文后发送企业。

以上详细描述了本发明的较佳具体实施例。应当理解,本领域的普通技术人员无需创造性劳动就可以根据本发明的构思作出诸多修改和变化。因此,凡本技术领域中技术人员依本发明的构思在现有技术的基础上通过逻辑分析、推理或者有限的实验可以得到的技术方案,皆应在由权利要求书所确定的保护范围内。

相关技术
  • 发报文处理方法、转发器、报文处理设备、报文处理系统
  • 发报文处理方法、转发器、报文处理设备、报文处理系统
技术分类

06120114696237