CN115438630A - 一种基于分布式支付系统的统一报文生成方法及装置 - Google Patents
一种基于分布式支付系统的统一报文生成方法及装置 Download PDFInfo
- Publication number
- CN115438630A CN115438630A CN202211122436.9A CN202211122436A CN115438630A CN 115438630 A CN115438630 A CN 115438630A CN 202211122436 A CN202211122436 A CN 202211122436A CN 115438630 A CN115438630 A CN 115438630A
- Authority
- CN
- China
- Prior art keywords
- message
- rule
- message generation
- target transaction
- transaction service
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/12—Use of codes for handling textual entities
- G06F40/151—Transformation
- G06F40/157—Transformation using dictionaries or tables
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
- G06F16/24564—Applying rules; Deductive queries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/205—Parsing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/448—Execution paradigms, e.g. implementations of programming paradigms
- G06F9/4482—Procedural
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/08—Payment architectures
- G06Q20/085—Payment architectures involving remote charge determination or related payment systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/04—Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Accounting & Taxation (AREA)
- General Engineering & Computer Science (AREA)
- Finance (AREA)
- Computational Linguistics (AREA)
- Software Systems (AREA)
- General Business, Economics & Management (AREA)
- Strategic Management (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- General Health & Medical Sciences (AREA)
- Technology Law (AREA)
- Marketing (AREA)
- Economics (AREA)
- Development Economics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本说明书涉及报文处理技术领域,提供了一种基于分布式支付系统的统一报文生成方法及装置。该方法包括:接收关于目标交易业务场景的报文生成请求;调用预设的本地清算系统报文匹配类型表,确定与目标交易业务场景对应的报文匹配类型;调用预设的本地清算系统报文生成基础数据表,基于报文匹配类型确定对应的报文生成基础数据;基于目标交易业务场景,获得对应的报文生成规则和报文完善规则;利用报文生成规则对目标交易业务场景中子业务场景进行转换,生成报文生成条件;将报文生成条件与报文生成规则表进行匹配,得到初始交易信息;基于初始交易信息,执行报文完善规则,生成目标交易业务场景的报文。通过本发明实施例,可高效灵活生成报文。
Description
技术领域
本说明书涉及报文生成技术领域,尤其是涉及一种基于分布式支付系统的统一报文生成方法及装置。
背景技术
本部分旨在为权利要求书中陈述的本发明实施例提供背景或上下文。此处的描述不因为包括在本部分中就承认是现有技术。
近年来,越来越多的国家和地区在大力推广端到端实时到账、7×24小时运行的小额实时支付清算系统。分布式支付系统对接各海外分行实时清算系统,集中处理海外分行客户的实时支付业务。作为新型支付系统,在业务流程、清算结算机制等方面与传统中央支付系统差异较大,一笔交易往往需要在几秒内完成,因此对参与机构系统的实时性、连续性、性能等方面提出较高的要求。
分布式支付系统(Distributed Payment Platform,分布式支付平台系统)用于构建统一的分布式支付平台,连接海外各个本地清算系统,为客户提供多渠道、更快捷的支付服务。目前分布式支付系统中没有统一的报文生成机制,分布式支付系统中各个微服务通过代码实现各自业务场景的报文生成,报文生成流程不灵活,业务场景变化时维护成本高且效率低,所以亟需一种能够灵活地实现分布式支付系统中统一报文生成的方法。
发明内容
鉴于目前分布式支付系统中报文生成流程不灵活,业务场景变化时维护成本高且效率低,提出了本方案以便克服上述问题或者至少部分地解决上述问题。
一方面,本说明书的一些实施例的目的在于提供一种基于分布式支付系统的统一报文生成方法,所述方法包括:
接收关于目标交易业务场景的报文生成请求;
调用预设的本地清算系统报文匹配类型表,确定与所述目标交易业务场景对应的报文匹配类型;
调用预设的本地清算系统报文生成基础数据表,基于所述报文匹配类型确定对应的报文生成基础数据;
基于所述目标交易业务场景,获得对应的报文生成规则和报文完善规则;
利用报文生成规则对所述目标交易业务场景中的子业务场景进行转换,生成报文生成条件;
将所述报文生成条件与报文生成规则表进行匹配,得到初始交易信息;
基于所述初始交易信息,执行所述报文完善规则,生成对应的关于目标交易业务场景的报文。
进一步地,所述目标交易业务场景为基于已有支付交易生成新交易的业务场景。
进一步地,所述调用预设的本地清算系统报文匹配类型表,确定与所述目标交易业务场景对应的报文匹配类型,包括:
所述预设的本地清算系统报文匹配类型表用于定义分布式支付系统支持的各交易业务场景对应的匹配类型;
所述目标交易业务场景对应一个或多个报文匹配类型;
根据所述目标交易业务场景,调用所述报文匹配类型表,获得与所述目标交易业务场景对应的报文匹配类型。
进一步地,所述调用预设的本地清算系统报文生成基础数据表,基于所述报文匹配类型确定对应的报文生成基础数据,包括:
所述预设的本地清算系统报文生成基础数据表用于定义基于报文匹配类型生成对应的报文类型基础数据;
根据所述交易业务场景,调用所述报文生成基础数据表,获得与所述报文匹配类型对应的报文类型基础数据。
进一步地,所述基于所述目标交易业务场景,获得对应的报文生成规则和报文完善规则,包括,所述目标交易业务场景可以通过规则引擎映射获得所述报文生成规则和所述报文完善规则。
进一步地,所述规则引擎为QLExpress脚本引擎。
进一步地,所述基于所述初始交易信息,执行所述报文完善规则,生成对应的关于目标交易业务场景的报文,包括:
基于所述目标交易业务场景命中对应的报文完善规则,根据所述初始交易信息,执行对应的报文完善规则,生成对应的关于目标交易业务场景的报文。
进一步地,所述报文完善规则分为场次规则和属性规则,其中,所述场次规则用于完善所述报文的场次信息,所述属性场次规则用于完善所述报文的属性信息。
进一步地,所述将所述报文生成条件与报文生成规则表进行匹配,得到初始交易信息,包括:
基于所述目标交易业务场景命中对应的报文生成规则,根据所述报文生成基础数据,执行对应的报文生成规则,建立对应的初始交易信息。
另一方面,本说明书的一些实施例还提供一种基于分布式支付系统的统一报文生成装置,所述装置包括:
接收模块,用于接收关于目标交易业务场景的报文生成请求;
报文匹配类型确定模块,用于调用预设的本地清算系统报文匹配类型表,确定与所述目标交易业务场景对应的报文匹配类型;
报文生成基础数据确定模块,用于调用预设的本地清算系统报文生成基础数据表,基于所述报文匹配类型确定对应的报文生成基础数据;
报文规则获取模块,用于基于所述目标交易业务场景,获得对应的报文生成规则和报文完善规则;
报文生成条件生成模块,用于利用报文生成规则对所述目标交易业务场景中的子业务场景进行转换,生成报文生成条件;
初始交易信息建立模块,用于将所述报文生成条件与报文生成规则表进行匹配,得到初始交易信息;
报文生成模块,用于基于所述初始交易信息,执行所述报文完善规则,生成对应的关于目标交易业务场景的报文。
另一方面,本说明书的一些实施例还提供了一种计算机设备,包括存储器、处理器、以及存储在所述存储器上的计算机程序,所述计算机程序被所述处理器运行时,执行上述方法的指令。
另一方面,本说明书的一些实施例还提供了一种计算机存储介质,其上存储有计算机程序,所述计算机程序被计算机设备的处理器运行时,执行上述方法的指令。
另一方面,本说明书的一些实施例还提供了一种计算机程序产品,所述计算机程序产品包括计算机程序,所述计算机程序被计算机设备的处理器运行时,执行上述方法的指令。
本说明书的一些实施例提供的一个或者多个技术方案,至少具有如下的技术效果:
本说明书的实施例首先根据交易业务场景自动调用预设的本地清算系统报文匹配类型表获得对应的报文匹配类型,然后根据报文匹配类型调用预设的本地清算系统报文生成基础数据表,获得对应的报文生成基础数据,基于所述交易业务场景,通过规则引擎抽象得到对应的报文生成规则与报文完善规则,之后基于所述目标交易业务场景命中对应的报文生成规则,根据所述报文生成基础数据,执行对应的报文生成规则,建立对应的初始交易信息,基于所述目标交易业务场景命中对应的报文完善规则,根据所述初始交易信息,执行对应的报文完善规则,生成对应的关于目标交易业务场景的报文,从而减少报文生成中硬编码的使用,同时提高报文生成的灵活性,且降低维护成本,提高维护效率。
上述说明仅是本说明书的一些实施例技术方案的概述,为了能够更清楚了解本说明书的一些实施例的技术手段,而可依照说明书的内容予以实施,并且为了让本说明书的一些实施例的上述和其它目的、特征和优点能够更明显易懂,以下特举本说明书的一些实施例的具体实施方式。
附图说明
为了更清楚地说明本说明书的一些实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。在附图中:
图1示出了本说明书一些实施例中一种基于分布式支付系统的统一报文生成方法的流程图;
图2为本说明书一些实施例中获取与所述目标交易业务场景对应的报文匹配类型的步骤示意图;
图3为本说明书一些实施例中获取与所述报文匹配类型对应的报文生成基础数据的步骤示意图;
图4为本说明书一些实施例中本地清算系统报文类型匹配表示意图;
图5为本说明书一些实施例中本地清算系统报文生成基础数据表示意图;
图6为本说明书一些实施例中报文生成规则表示意图;
图7为本说明书一些实施例中报文完善规则示意图;
图8为本说明书一些实施例中一种基于分布式支付系统的统一报文生成装置的结构示意图;
图9为本说明书一些实施例中提供的计算机设备结构示意图。
【附图标记说明】
81、接收模块;
82、固定业务关键字提取模块;
83、活动业务关键字提取模块;
84、应答素材匹配模块;
85、应答消息生成模块;
86、传输模块;
902、计算机设备;
904、处理器;
906、存储器;
908、驱动机构;
910、输入/输出接口;
912、输入设备;
914、输出设备;
916、呈现设备;
918、图形用户接口;
920、网络接口;
922、通信链路;
924、通信总线。
具体实施方式
为了使本技术领域的人员更好地理解本说明书中的技术方案,下面将结合本说明书的一些实施例中的附图,对本说明书实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本说明书一部分实施例,而不是全部的实施例。基于本说明书中的一些实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本说明书保护的范围。
需要说明的是,本文的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本文的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、装置、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
图1是本发明实施例提供的一种基于分布式支付系统的统一报文生成方法的流程图,本说明书提供了如实施例或流程图所述的方法操作步骤,但基于常规或者无创造性的劳动可以包括更多或者更少的操作步骤。实施例中列举的步骤顺序仅仅为众多步骤执行顺序中的一种方式,不代表唯一的执行顺序。在实际中的系统或装置产品执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行。具体的如图1所示,所述方法可以包括:
S101:接收关于目标交易业务场景的报文生成请求;
S102:调用预设的本地清算系统报文匹配类型表,确定与所述目标交易业务场景对应的报文匹配类型;
S103:调用预设的本地清算系统报文生成基础数据表,基于所述报文匹配类型确定对应的报文生成基础数据;
S104:基于所述目标交易业务场景,获得对应的报文生成规则和报文完善规则;
S105:利用报文生成规则对所述目标交易业务场景中的子业务场景进行转换,生成报文生成条件;
S106:将所述报文生成条件与报文生成规则表进行匹配,得到初始交易信息;
S107:基于所述初始交易信息,执行所述报文完善规则,生成对应的关于目标交易业务场景的报文。
在本说明书的实施例中,首先根据交易业务场景自动调用预设的本地清算系统报文匹配类型表获得对应的报文匹配类型,然后根据报文匹配类型调用预设的本地清算系统报文生成基础数据表,获得对应的报文生成基础数据,基于所述交易业务场景,通过规则引擎抽象得到对应的报文生成规则与报文完善规则,之后基于所述目标交易业务场景命中对应的报文生成规则,根据所述报文生成基础数据,执行对应的报文生成规则,建立对应的初始交易信息,基于所述目标交易业务场景命中对应的报文完善规则,根据所述初始交易信息,执行对应的报文完善规则,生成对应的关于目标交易业务场景的报文,从而减少报文生成中硬编码的使用,同时提高报文生成的灵活性,且降低维护成本,提高维护效率。
一些实施例中,所述目标交易业务场景为基于已有支付交易生成新交易的业务场景。具体而言,分布式支付系统主要实现本地清算币种实时支付业务的汇入、汇出的全流程处理,而汇入、汇出流程中均涉及多个业务节点处理,其中一个核心流程为基于已有一笔支付交易生成一笔新的交易。
具体而言,一些实施例中,所述目标交易业务场景可以包含多个子业务场景,所述子业务场景中若存在具体的报文类型可以通过FMT(Foreign Currency Message Type,外币支付报文类型)编号表示,所述子业务场景共同组合构成所述目标交易业务场景,例如,所述目标交易业务场景可以为:原支付交易为FMT100报文时&&原支付交易执行过手工退汇操作&&原支付交易为汇入交易&&报文状态为R退汇成功,所述目标交易业务场景包含的子业务场景分别为:支付交易为FMT100报文时、原支付交易执行过手工退汇操作、原支付交易为汇入交易、报文状态为R退汇成功。此外,所述目标业务场景应当符合实际交易情景,例如,当所述目标交易业务场景包含原支付交易为汇出交易和原支付交易为汇入交易这两个子业务场景时,所述目标交易业务场景不符合实际交易情景,因为原支付交易不可能既是汇入交易,又是汇出交易,因此在分布式支付系统的报文生成请求及对应的交易业务场景中这样不符合实际交易情景并不会存在。
一些实施例中,所述报文格式标准由当地相关部门制定,所述报文可以分为外币支付业务类、清算与结算类、业务信息类、查询管理类、流动性管理类、系统管理类、对账类、行号类,每类报文包含多个报文名称及编号和对应的FMT编号,如表1所示,可以看出外币支付业务类报文包含多个报文名称及编号和对应的FMT编号,所述FMT编号为外币支付报文类型编号,所述报文编号可以用于区分不同业务类型报文,例如MT103为Single CustomerCredit Transfer,即单笔信用汇款。此外,不同编号的报文对数字签名的要求不同,例如MT103对应的境内跨行贷记业务报文要求时间戳,MT195对应的查询报文则不要求时间戳。
表1外币支付业务类报文示意表
FMT编号 | 报文名称及编号 |
100 | MT103:境内跨行贷记业务报文(境内业务) |
101 | MT103:境内跨行贷记业务报文(汇出业务) |
102 | MT103:境内跨行贷记业务报文(汇入业务) |
103 | MT103:境内跨行贷记业务报文(退汇业务) |
200 | MT103:境内跨行贷记业务报文(转汇信息) |
201 | MT202:银行间资金调拨业务报文(境内业务) |
202 | MT202:银行间资金调拨业务报文(汇出业务) |
201 | MT202:银行间资金调拨业务报文(汇入业务) |
204 | MT202:银行间资金调拨业务报文(退汇业务) |
203 | MT203:支付清算组织净额清算报文 |
一些实施例中,参照附图2,在一些实施例中,所述调用预设的本地清算系统报文匹配类型表,确定与所述目标交易业务场景对应的报文匹配类型可以包括:
S210:所述预设的本地清算系统报文匹配类型表用于定义分布式支付系统支持的各交易业务场景对应的匹配类型;
S220:所述目标交易业务场景对应一个或多个报文匹配类型;
S230:根据所述目标交易业务场景,调用所述报文匹配类型表,获得与所述目标交易业务场景对应的报文匹配类型。
具体而言,在分布式支付系统中,对于不同的目标交易业务场景,其对应的报文匹配类型也不同,所述报文匹配类型可以为退汇报文与原支付报文的匹配、本地清算回执报文与原支付报文的匹配、查询报文与查复报文的匹配、查询报文与原支付报文的匹配等,由于所述目标交易业务场景包含多个子业务场景,故所述目标交易业务场景可以对应一个或多个报文匹配类型,通过预设本地清算系统报文匹配类型表,可以明确所有目标交易业务场景对应的报文匹配类型。
一些实施例中,参照附图3,在一些实施例中,所述调用预设的本地清算系统报文匹配类型表,确定与所述目标交易业务场景对应的报文匹配类型可以包括:
S310:所述预设的本地清算系统报文生成基础数据表用于定义基于报文匹配类型生成对应的报文类型基础数据;
S320:根据所述交易业务场景,调用所述报文生成基础数据表,获得与所述报文匹配类型对应的报文类型基础数据。
具体而言,在分布式支付系统中,基于所述目标交易业务场景确定对应的报文匹配类型后,需要获得对应的报文类型基础数据以便于后续的报文生成,所述报文类型基础数据可以包括报文匹配类型值、报文生成基础数据值、目标生成报文类型,所述报文生成基础数据值表示生成目标报文需要执行的动作,根据所述交易业务场景,通过预设的本地清算系统报文生成基础数据表,可以获得与报文匹配类型对应的报文类型基础数据。
一些实施例中,所述基于所述目标交易业务场景,获得对应的报文生成规则和报文完善规则可以包括,所述目标交易业务场景可以通过规则引擎映射获得所述报文生成规则和所述报文完善规则。
一些实施例中,所述规则引擎可以为QLExpress脚本引擎。
具体而言,规则引擎为可降低复杂业务逻辑组件复杂性、降低应用程序的维护和可扩展性成本的组件,当业务规则经常变化,系统需依据业务的变化,实现快速、低成本的迭代更新时,通过规则引擎可以实现将逻辑代码和业务代码进行解耦,研发人员可以在不需懂业务的情况下开发维护程序部分,在程序测试通过后,后续程序不会经常变化改动;业务人员可直接管理这些业务规则,并且不需要研发人员的参与。在一些实施例中,采用QLExpress脚本引擎作为规则引擎,基于所述目标交易业务场景,通过QLExpress脚本引擎实现获得对应的报文生成规则和报文完善规则。
QLExpress脚本引擎是轻量级的类Java动态脚本引擎解析工具,作为一个嵌入式规则引擎在业务系统中广泛使用,其可以执行数据库中的规则,将微服务中生成报文所使用的重复的代码抽象成公用的规则,所述微服务是一种新型的软件架构,所述软件架构把一个大型的单体应用程序和服务拆分为多个支持的微服务。除了支持标准的Java语法,QLExpress脚本引擎还可以支持自定义操作符号、操作符号重载、函数定义、宏定义、数据延迟加载、表达式上下文等,其具有高性能、高并发、线程安全等方面的优点,适用于分布式支付系统。通过结合动态脚本引擎解析工具QLExpress和Java技术,分布式支付系统支持界面配置规则保存后,后台自动生成可执行的Java语言。此外。相较于其他规则引擎,QLExpress脚本引擎可读性高,便于业务人员管理操作。
一些实施例中,所述报文完善规则分为场次规则和属性规则,其中,所述场次规则用于完善所述报文的场次信息,所述属性场次规则用于完善所述报文的属性信息。
具体而言,所述场次信息为境内外币支付系统报文交换标准中定义的个性化数据域信息,所述场次信息包括必填场次信息和选填场次信息,所述场次信息是指对于客户可见的且能够表征交易唯一性的信息,所述属性信息为支付交易中区别于场次信息的交易属性信息,例如发生业务所属地区、交易的所属网点机构、借方支付路径、贷方支付路径等。
一些实施例中,所述将所述报文生成条件与报文生成规则表进行匹配,得到初始交易信息,可以包括:
基于所述目标交易业务场景命中对应的报文生成规则,根据所述报文生成基础数据,执行对应的报文生成规则,建立对应的初始交易信息。
具体而言,基于所述目标交易业务场景可以命中对应的报文生成规则,利用所述报文生成基础数据可以确定满足报文生成条件后的执行动作,通过所述报文生成规则中的报文生成规则名称、报文生成条件和满足报文生成条件后的执行动作,可以得到与所述目标交易业务场景对应的初始交易信息,所述初始交易信息的获取是指一笔交易实体关联数据库中交易表中对应的记录,通过执行报文生成规则可以新建交易实体,之后可以在交易表中查询并调用该笔交易的所有信息。
进一步的,结合一个具体的实施例来对分布式支付系统的统一报文生成方法进行说明,然而值得注意的是该实施例仅是为了更好地说明本发明,并不构成对本发明不当的限定。
以所述目标交易业务场景为“原支付交易为FMT100报文&&原支付交易执行过手工退汇操作&&原支付交易为汇入交易&&报文状态为R退汇成功”为例,即由一笔原支付交易为FMT100报文生成一笔新的退汇报文,具体流程为:
S1,在分布式支付系统中接收关于目标交易业务场景的报文生成请求后可以确定所述目标交易业务场景,所述目标交易业务场景即为“原支付交易为FMT100报文&&原支付交易执行过手工退汇操作&&原支付交易为汇入交易&&报文状态为R退汇成功”。
S2,通过调用预设的本地清算系统报文匹配类型表,可以确定与所述目标交易业务场景对应的报文匹配类型,所述报文匹配类型可以用于目标报文的生成。所述报文匹配类型为基于当前报文类型与待生成的报文类型之间的匹配,在本实施例中为支付报文与退汇报文之间的匹配。
图4为该实施例调用的本地清算系统报文匹配类型表,其中,SELF_RELATED_TYPE字段表示当前报文的报文类型,其对应的值为Original Payment,该值表示当前报文的报文类型为支付报文,RELATED_TYPE字段表示待生成的报文类型,其对应的值为OutgoingReturn,该值表示待生成的报文类型为退汇报文,UID_RELATIO NTYPES字段表示报文匹配类型,其对应的值为Original Payment^Outgoing Return,该值表示报文匹配类型为支付报文与退汇报文之间的匹配。
S3,根据所述报文匹配类型,即支付报文与退汇报文之间的匹配,通过调用预设的本地清算系统报文生成基础数据表,可以获得对应的报文生成基础数据。图5为该实施例调用的本地清算系统报文生成基础数据表,由阿拉伯数字标注行号,共有7行相互对应的数据,其中,RELATION_TYPE字段表示报文匹配类型,其对应的值为Original Payment^Outgoing Return,该值表示报文匹配类型为支付报文与退汇报文之间的匹配;MSG_TYPE字段表示在境内外币支付系统报文交换标准中对应的待生成的报文类型,其在第1行中对应的值为FMT103^00,已知FMT103表示退汇报文类型,在本实施例中,FMT103^00表示退汇报文类型中的一个版本,所述版本通过交易业务场景进行区分,例如,支付报文类型为FMT100则对应的退汇报文类型为FMT103^00,支付报文类型为FMT101则对应的退汇报文为FMT103^01,不同支付报文类型对应的交易业务场景不同。
参照附图5,UID_GENERATE_TRANS_PROFILE字段表示报文生成基础数据,第1行中对应的值为CN1^GENERATE_103_00,从CN1^GENERATE_103_00中根据最后两位阿拉伯数字可以得出原支付报文在境内外币支付系统报文交换标准中的报文类型为FMT100,图5中第1行表示基于原支付报文FMT100和匹配类型Original Payment^Outgoing Return生成的报文类型为退汇报文FMT103^00。
同样地,在图5中,可以看出第2行表示基于原支付报文类型为FMT101和报文匹配类型Original Payment^Outgoing Return生成的报文类型为退汇报文FMT103^01,第3行表示基于原支付报文类型为FMT102和报文匹配类型Original Payment^Outgoing Return生成的报文类型为退汇报文FMT103^02,FMT103^00、FMT103^01、FMT103^02均为退汇报文,但其版本号不同,故对应的报文场次信息和属性信息也随之有所不同。
S4,基于“原支付交易为FMT100报文&&原支付交易执行过手工退汇操作&&原支付交易为汇入交易&&报文状态为R退汇成功”这一目标交易业务场景,通过QLExpress脚本引擎获得对应的报文生成规则和报文完善规则,利用所述报文生成规则获得子业务场景对应的报文生成条件,如表2所示:
表2目标交易业务场景与对应的报文生成条件表
子业务场景 | 报文生成条件 |
原支付交易为FMT100报文 | pvo.getString(P_MSG_TYPE).indexOf(FMT100)>=0 |
原支付交易执行过手工退汇操作 | pvo.getString(P_MSG_STS).equas(R) |
原支付交易为汇入交易 | pvo.getString(P_DBT_MOP).startWith(DFXPS) |
报文状态为R退汇成功 | pvo.getString(P_LAST_ACTION).equals(GenarateReturn) |
S5,当满足报文生成条件时,根据已获得的报文生成基础数据,可以执行对应的报文生成规则,建立对应的初始交易信息。如图6所示的报文生成规则表,其中,UID_RULE字段存储报文生成规则名称,值为CN1^150^GENERATE_103_00;EXEC_SCRIPT字段存储报文生成条件,将表2的内容转化为可执行代码即得到报文生成条件,如图6中数值查看器显示的内容所示的可执行代码;ACTION_NAME字段存储满足报文生成条件后的执行动作,值为CN1^GENERATE_103_00,即为调用预设的本地清算系统报文生成基础数据表后获得的报文生成基础数据。图6所示的报文生成规则表的含义就是满足所述目标交易业务场景对应的报文生成条件时就会生成一笔报文类型为退汇报文FMT103^00的新交易数据,即初始交易信息,所述初始交易信息包括新建交易实体和初始化交易基本信息,所述新建交易实体为表示建立一笔新的退汇报文,所述初始化交易基本信息表示所述退汇报文的类型为FMT103^00,该退汇报文场次信息复用原支付报文FMT100场次信息。
S6,由于所述初始交易信息仍缺乏相关场次信息和属性信息,并不是完整的报文,因此需要通过报文完善规则完善修复所述初始交易信息,从而生成对应的关于目标交易业务场景的报文,所述报文完善规则可以进行场次信息和/或属性信息的修复。如图7所示,其中,RULE_TYPE_NAME字段对应的值为CN1^169^Generation_Mapping_Profile_FMT100,该值表示待生成的退汇报文FMT103^00的报文完善规则,EXEC_SCRIPT字段存储待完善的具体场次信息和属性信息,通过目标交易业务场景及其对应的报文生成条件可以得到对应的需完善的场次信息和属性信息,例如,基于图6中数值查看器显示的内容所示的可执行代码可以得到如图7中数值查看器显示的内容所示的所述具体场次信息和属性信息的可执行代码,其中一部分场次信息和属性信息如表3所示,表3与图7的关系为:若将表3所示内容转化为可执行代码,则该可执行代码为图7中数值查看器显示的内容的一部分。
表3场次信息或属性信息示意表
在本实施例中,参照附图7所述的报文完善规则,完善待生成报文对应的场次信息或属性信息后就生成了关于目标交易业务场景的完整报文。此外,针对原支付交易报文FMT100时生成退汇报文FMT103^00时,或者针对其他交易业务场景完善报文的场次信息和/或属性信息时,也可以配置多条报文完善规则,报文完善规则按顺序进行执行,从而生成得到完整的报文。
需要说明的是,尽管在上述实施例及附图中以特定顺序描述了本发明方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。
与上述的基于分布式支付系统的统一报文生成方法对应,本说明书的一些实施例还提供了一种基于分布式支付系统的统一报文生成装置,参考图8所示,在一些实施例中,基于分布式支付系统的统一报文生成装置可以包括:
接收模块81,用于接收关于目标交易业务场景的报文生成请求;
报文匹配类型确定模块82,用于调用预设的本地清算系统报文匹配类型表,确定与所述目标交易业务场景对应的报文匹配类型;
报文生成基础数据确定模块83,用于调用预设的本地清算系统报文生成基础数据表,基于所述报文匹配类型确定对应的报文生成基础数据;
报文规则获取模块84,用于基于所述目标交易业务场景,获得对应的报文生成规则和报文完善规则;
报文生成条件生成模块85,用于利用报文生成规则对所述目标交易业务场景中的子业务场景进行转换,生成报文生成条件;
初始交易信息建立模块86,用于将所述报文生成条件与报文生成规则表进行匹配,得到初始交易信息;
报文生成模块87,用于基于所述初始交易信息,执行所述报文完善规则,生成对应的关于目标交易业务场景的报文。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本说明书时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
需要说明的是,本说明书的实施例中,所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权同意且经过各方充分授权的信息和数据。
本说明书的实施例还提供一种计算机设备。如图9所示,在本说明书一些实施例中,所述计算机设备902可以包括一个或多个处理器904,诸如一个或多个中央处理单元(CPU)或图形处理器(GPU),每个处理单元可以实现一个或多个硬件线程。计算机设备902还可以包括任何存储器906,其用于存储诸如代码、设置、数据等之类的任何种类的信息,一具体实施例中,存储器906上并可在处理器904上运行的计算机程序,所述计算机程序被所述处理器904运行时,可以执行上述任一实施例所述的基于图文识别的跨境汇款数据处理方法的指令。非限制性的,比如,存储器906可以包括以下任一项或多种组合:任何类型的RAM,任何类型的ROM,闪存设备,硬盘,光盘等。更一般地,任何存储器都可以使用任何技术来存储信息。进一步地,任何存储器可以提供信息的易失性或非易失性保留。进一步地,任何存储器可以表示计算机设备902的固定或可移除部件。在一种情况下,当处理器904执行被存储在任何存储器或存储器的组合中的相关联的指令时,计算机设备902可以执行相关联指令的任一操作。计算机设备902还包括用于与任何存储器交互的一个或多个驱动机构908,诸如硬盘驱动机构、光盘驱动机构等。
计算机设备902还可以包括输入/输出接口910(I/O),其用于接收各种输入(经由输入设备912)和用于提供各种输出(经由输出设备914)。一个具体输出机构可以包括呈现设备916和相关联的图形用户接口918(GUI)。在其他实施例中,还可以不包括输入/输出接口910(I/O)、输入设备912以及输出设备914,仅作为网络中的一台计算机设备。计算机设备902还可以包括一个或多个网络接口920,其用于经由一个或多个通信链路922与其他设备交换数据。一个或多个通信总线924将上文所描述的部件耦合在一起。
通信链路922可以以任何方式实现,例如,通过局域网、广域网(例如,因特网)、点对点连接等、或其任何组合。通信链路922可以包括由任何协议或协议组合支配的硬连线链路、无线链路、路由器、网关功能、名称服务器等的任何组合。
本申请是参照本说明书一些实施例的方法、设备(系统)、计算机可读存储介质和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理器的处理器以产生一个机器,使得通过计算机或其他可编程数据处理器的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理器以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理器上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算机设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算机设备访问的信息。按照本说明书中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
本领域技术人员应明白,本说明书的实施例可提供为方法、系统或计算机程序产品。因此,本说明书实施例可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本说明书实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本说明书实施例可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本说明书实施例,在这些分布式计算环境中,由通过通信网络而被连接的远程处理器来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
还应理解,在本说明书实施例中,术语“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系。例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本说明书实施例的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
Claims (13)
1.一种基于分布式支付系统的统一报文生成方法,其特征在于,所述方法包括:
接收关于目标交易业务场景的报文生成请求;
调用预设的本地清算系统报文匹配类型表,确定与所述目标交易业务场景对应的报文匹配类型;
调用预设的本地清算系统报文生成基础数据表,基于所述报文匹配类型确定对应的报文生成基础数据;
基于所述目标交易业务场景,获得对应的报文生成规则和报文完善规则;
利用报文生成规则对所述目标交易业务场景中的子业务场景进行转换,生成报文生成条件;
将所述报文生成条件与报文生成规则表进行匹配,得到初始交易信息;
基于所述初始交易信息,执行所述报文完善规则,生成对应的关于目标交易业务场景的报文。
2.根据权利要求1所述的方法,其特征在于,所述目标交易业务场景为基于已有支付交易生成新交易的业务场景。
3.根据权利要求1所述的方法,其特征在于,所述调用预设的本地清算系统报文匹配类型表,确定与所述目标交易业务场景对应的报文匹配类型,包括:
所述预设的本地清算系统报文匹配类型表用于定义分布式支付系统支持的各交易业务场景对应的匹配类型;
所述目标交易业务场景对应一个或多个报文匹配类型;
根据所述目标交易业务场景,调用所述报文匹配类型表,获得与所述目标交易业务场景对应的报文匹配类型。
4.根据权利要求1所述的方法,其特征在于,所述调用预设的本地清算系统报文生成基础数据表,基于所述报文匹配类型确定对应的报文生成基础数据,包括:
所述预设的本地清算系统报文生成基础数据表用于定义基于报文匹配类型生成对应的报文类型基础数据;
根据所述交易业务场景,调用所述报文生成基础数据表,获得与所述报文匹配类型对应的报文类型基础数据。
5.根据权利要求1所述的方法,其特征在于,所述基于所述目标交易业务场景,获得对应的报文生成规则和报文完善规则,包括,所述目标交易业务场景通过规则引擎映射获得所述报文生成规则和所述报文完善规则。
6.根据权利要求5所述的方法,其特征在于,所述规则引擎为QLExpress脚本引擎。
7.根据权利要求1所述的方法,其特征在于,所述基于所述初始交易信息,执行所述报文完善规则,生成对应的关于目标交易业务场景的报文,包括:
基于所述目标交易业务场景命中对应的报文完善规则,根据所述初始交易信息,执行对应的报文完善规则,生成对应的关于目标交易业务场景的报文。
8.根据权利要求7所述的方法,其特征在于,所述报文完善规则分为场次规则和属性规则,其中,所述场次规则用于完善所述报文的场次信息,所述属性场次规则用于完善所述报文的属性信息。
9.根据权利要求1所述的方法,其特征在于,所述将所述报文生成条件与报文生成规则表进行匹配,得到初始交易信息,包括:
基于所述目标交易业务场景命中对应的报文生成规则,根据所述报文生成基础数据,执行对应的报文生成规则,建立对应的初始交易信息。
10.一种基于分布式支付系统的统一报文生成装置,其特征在于,所述装置包括:
接收模块,用于接收关于目标交易业务场景的报文生成请求;
报文匹配类型确定模块,用于调用预设的本地清算系统报文匹配类型表,确定与所述目标交易业务场景对应的报文匹配类型;
报文生成基础数据确定模块,用于调用预设的本地清算系统报文生成基础数据表,基于所述报文匹配类型确定对应的报文生成基础数据;
报文规则获取模块,用于基于所述目标交易业务场景,获得对应的报文生成规则和报文完善规则;
报文生成条件生成模块,用于利用报文生成规则对所述目标交易业务场景中的子业务场景进行转换,生成报文生成条件;
初始交易信息建立模块,用于将所述报文生成条件与报文生成规则表进行匹配,得到初始交易信息;
报文生成模块,用于基于所述初始交易信息,执行所述报文完善规则,生成对应的关于目标交易业务场景的报文。
11.一种计算机设备,包括存储器、处理器、以及存储在所述存储器上的计算机程序,其特征在于,所述计算机程序被所述处理器运行时,执行根据权利要求1-9任意一项所述方法的指令。
12.一种计算机存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被计算机设备的处理器运行时,执行根据权利要求1-9任意一项所述方法的指令。
13.一种计算机程序产品,其特征在于,所述计算机程序产品包括计算机程序,所述计算机程序被处理器运行时,执行根据权利要求1-9任意一项所述方法的指令。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211122436.9A CN115438630A (zh) | 2022-09-15 | 2022-09-15 | 一种基于分布式支付系统的统一报文生成方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211122436.9A CN115438630A (zh) | 2022-09-15 | 2022-09-15 | 一种基于分布式支付系统的统一报文生成方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115438630A true CN115438630A (zh) | 2022-12-06 |
Family
ID=84248104
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211122436.9A Pending CN115438630A (zh) | 2022-09-15 | 2022-09-15 | 一种基于分布式支付系统的统一报文生成方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115438630A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117422557A (zh) * | 2023-12-19 | 2024-01-19 | 凯美瑞德(苏州)信息科技股份有限公司 | 一种交易报文的生成方法、电子设备及存储介质 |
-
2022
- 2022-09-15 CN CN202211122436.9A patent/CN115438630A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117422557A (zh) * | 2023-12-19 | 2024-01-19 | 凯美瑞德(苏州)信息科技股份有限公司 | 一种交易报文的生成方法、电子设备及存储介质 |
CN117422557B (zh) * | 2023-12-19 | 2024-02-23 | 凯美瑞德(苏州)信息科技股份有限公司 | 一种交易报文的生成方法、电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108509392B (zh) | 多机构对账方法、系统、计算机设备和存储介质 | |
CN107230092B (zh) | 账务处理方法、装置及服务器 | |
CN110780870B (zh) | 一种业务执行方法、装置、设备及存储介质 | |
US20130218738A1 (en) | Integrating Payment Aggregators With E-Commerce Platform | |
CN115438630A (zh) | 一种基于分布式支付系统的统一报文生成方法及装置 | |
CN107886428B (zh) | 一种确定支付清算汇率的方法及支付清算系统 | |
WO2023284505A1 (zh) | 扫码支付的方法及装置 | |
CN112035530B (zh) | 一种分布式实时支付系统中的交易报文匹配方法及系统 | |
CN110874728A (zh) | 网上支付系统、网上支付方法、装置、介质及服务器 | |
CN112286790B (zh) | 一种全链路测试方法、装置、设备和存储介质 | |
CN109035020B (zh) | 一种交易信息的返回方法及装置 | |
CN111026963A (zh) | 数据查询的方法及装置、配置信息的设置方法及装置 | |
CN112037069B (zh) | 基金结转凭证生成方法及装置 | |
CN111526184B (zh) | 业务审核的方法和装置 | |
CN115099972A (zh) | 基于事件驱动架构的交易数据处理方法、装置及设备 | |
CN114866628A (zh) | 一种报文处理的方法、装置、设备及存储介质 | |
CN113469814A (zh) | 交易时长数据的确定方法及装置 | |
CN114170007A (zh) | 冲正交易返回报文组装方法、程序产品、介质和电子设备 | |
CN113377652A (zh) | 测试数据生成方法及装置 | |
CN112463810A (zh) | 基于分布式事务的数据处理方法、装置、设备及存储介质 | |
CN114428723A (zh) | 测试系统、系统测试方法、相关设备及存储介质 | |
CN113656415B (zh) | 支付方法、支付装置、支付设备及存储介质 | |
CN114911524A (zh) | 信用数据收集方法及装置 | |
CN115309644A (zh) | 一种查询页面测试的方法及装置 | |
CN114647692A (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 |