CN113205330A - 分布式支付平台系统的重复报文识别系统及方法 - Google Patents
分布式支付平台系统的重复报文识别系统及方法 Download PDFInfo
- Publication number
- CN113205330A CN113205330A CN202110643181.XA CN202110643181A CN113205330A CN 113205330 A CN113205330 A CN 113205330A CN 202110643181 A CN202110643181 A CN 202110643181A CN 113205330 A CN113205330 A CN 113205330A
- Authority
- CN
- China
- Prior art keywords
- transaction
- transaction message
- message
- repeated
- cache
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 38
- 238000004590 computer program Methods 0.000 claims description 18
- 230000003252 repetitive effect Effects 0.000 claims 3
- 230000008569 process Effects 0.000 abstract description 5
- 238000005516 engineering process Methods 0.000 abstract description 2
- 238000012545 processing Methods 0.000 description 15
- 238000010586 diagram Methods 0.000 description 13
- 238000004891 communication Methods 0.000 description 7
- 230000009977 dual effect Effects 0.000 description 7
- 230000006870 function Effects 0.000 description 5
- 230000004048 modification Effects 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 238000013515 script Methods 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 238000012795 verification Methods 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000007689 inspection Methods 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 210000001503 joint Anatomy 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000013102 re-test Methods 0.000 description 1
- 238000012552 review Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- 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/10—Payment architectures specially adapted for electronic funds transfer [EFT] systems; specially adapted for home banking systems
- G06Q20/102—Bill distribution or payments
-
- 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/22—Indexing; Data structures therefor; Storage structures
- G06F16/2282—Tablespace storage structures; Management thereof
-
- 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/24552—Database cache management
-
- 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/2458—Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
- G06F16/2471—Distributed queries
-
- 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/248—Presentation of query results
-
- 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/38—Payment protocols; Details thereof
- G06Q20/40—Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
- G06Q20/405—Establishing or using transaction specific rules
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Business, Economics & Management (AREA)
- Accounting & Taxation (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Finance (AREA)
- Computational Linguistics (AREA)
- Strategic Management (AREA)
- Economics (AREA)
- General Business, Economics & Management (AREA)
- Software Systems (AREA)
- Development Economics (AREA)
- Computer Security & Cryptography (AREA)
- Fuzzy Systems (AREA)
- Mathematical Physics (AREA)
- Probability & Statistics with Applications (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明提供了一种分布式支付平台系统的重复报文识别系统及方法,可用于分布式技术领域,该系统包括:组合服务,用于收到交易报文后,调用重报检查微服务进行重报检查;重报检查微服务,用于调用规则引擎微服务按照重报检查类型进行执行,获得交易报文的重报索引;在缓存中查找是否有重复的交易报文,若有,判断该交易报文是否为重复交易报文,若是,将该交易报文的重报索引和交易序列号,以及重复的交易报文的交易序列号保存在重报检查表和缓存中,建立两者的关联关系,将关联关系保存到报文匹配缓存表和缓存中,若不是,将重报索引和交易序列号保存;若否,将重报索引和交易序列号保存。本发明可以灵活地处理重复交易报文识别。
Description
技术领域
本发明涉及大数据技术领域,尤其涉及一种分布式支付平台系统的重复报文识别系统及方法。
背景技术
近年来,越来越多的国家和地区在大力推广端到端实时到账、7×24小时运行的小额实时支付清算系统。分布式支付系统对接各海外分行实时清算系统,集中处理海外分行客户的实时支付业务。作为新型支付系统,在业务流程、清算结算机制等方面与传统中央支付系统差异较大,一笔交易往往需要在几秒内完成,因此对参与机构系统的实时性、连续性、性能等方面提出较高的要求。
目前,DPP系统(Distributed Payment Platform,分布式支付平台系统)用于构建统一的分布式支付平台,连接海外各个本地清算系统,为客户提供多渠道、更快捷的支付服务。但由于各个海外分行参与的实时清算系统标准各不相同,对参加行的要求也不一样,同时,各海外分行业务发展程度、对业务的处理要求也不尽相同,因此各分行对业务处理流程中的重复报文识别的需求既有一致的地方也会有个性化的需求。所以,亟需一种灵活地处理各地区重复交易报文识别的方法。
在现有的分布式系统中,对交易进行重复报文校验大多数是通过硬编码的方式,将校验重复报文的索引字段和条件等业务场景写在代码中,而且通常需要对每一种场景的报文设计一种处理分支。由于DPP系统是针对全球范围内的一体化实时支付系统,而且世界各地的实时清算系统规范都不尽相同,如果通过这种方式,需要将每种不同的业务场景编写成一条分支代码,这样下来,整个代码会非常复杂,而且难以维护。此外,在实际生产中,如果遇到当地业务应急需要变更重复报文校验需求的话,需要修改代码才行,无法灵活满足应急需求。整体来说,这种检验重复报文的方法灵活度和复用度都很低。
另一种方式是基于SQL脚本配置,把对报文处理的条件和执行动作转换成SQL脚本的形式,存储到数据库中,使用的时候再读取数据库。这种处理虽然可以通过灵活的规则脚本实现复杂多变的报文处理条件,但对于时效性不足,每次都基于复杂的SQL从库里查询搜索,容易造成性能瓶颈,无法满足实时支付这样的高速支付场景。
发明内容
本发明实施例提出一种分布式支付平台系统的重复报文识别系统,用以灵活地处理重复交易报文识别,该系统包括:
组合服务,用于在分布式支付平台系统收到一笔交易对应的交易报文后,调用重报检查微服务进行重报检查;在接收到该交易报文的前端展示指令后,根据该交易报文对应的关联关系,从报文匹配缓存表中查询出重复的交易报文,将该交易报文和重复的交易报文展现在前端页面上;
重报检查微服务,用于调用规则引擎微服务按照重报检查类型进行执行,获得交易报文的重报索引;根据交易报文的重报索引,在缓存中查找是否有重复的交易报文,若缓存中有重复的交易报文,根据分布式支付平台系统的系统参数,判断该交易报文是否为重复交易报文,若确定该交易报文是重复交易报文,将该交易报文的重报索引和交易序列号,以及从缓存中查询到的重复的交易报文的交易序列号保存在重报检查表和缓存中,将该交易报文与从缓存中查询到的重复的交易报文建立关联关系,将关联关系保存到报文匹配缓存表和缓存中,若确定该交易报文不是重复交易报文,将该交易报文的重报索引和交易序列号保存在重报检查表和缓存中;若缓存中没有重复的交易报文,将该交易报文的重报索引和交易序列号保存在重报检查表和缓存中;
规则引擎微服务,用于在命中规则类型为重报检查类型的规则条件后,进行对应的规则执行,生成交易报文的重报索引。
本发明实施例提出一种分布式支付平台系统的重复报文识别方法,用以灵活地处理重复交易报文识别,该方法包括:
在接收到交易报文后,规则引擎微服务按照重报检查类型进行执行,获得交易报文的重报索引,其中,所示交易报文为分布式支付平台系统收到的交易对应的交易报文;所述交易报文的重报索引是规则引擎微服务在命中规则类型为重报检查类型的规则条件后,进行对应的规则执行生成的;
根据交易报文的重报索引,在缓存中查找是否有重复的交易报文;若缓存中有重复的交易报文,根据分布式支付平台系统的系统参数,判断该交易报文是否为重复交易报文,若确定该交易报文是重复交易报文,将该交易报文的重报索引和交易序列号,以及从缓存中查询到的重复的交易报文的交易序列号保存在重报检查表和缓存中,将该交易报文与从缓存中查询到的重复的交易报文建立关联关系,将关联关系保存到报文匹配缓存表和缓存中,若确定该交易报文不是重复交易报文,将该交易报文的重报索引和交易序列号保存在重报检查表和缓存中;若缓存中没有重复的交易报文,将该交易报文的重报索引和交易序列号保存在重报检查表和缓存中;
在接收到该交易报文的前端展示指令后,根据该交易报文对应的关联关系,从报文匹配缓存表中查询出重复的交易报文,将该交易报文和重复的交易报文展现在前端页面上。
本发明实施例还提出了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述分布式支付平台系统的重复报文识别方法。
本发明实施例还提出了一种计算机可读存储介质,所述计算机可读存储介质存储有执行上述分布式支付平台系统的重复报文识别方法的计算机程序。
在本发明实施例中,分布式支付平台系统的重复报文识别系统包括:组合服务,用于在分布式支付平台系统收到一笔交易对应的交易报文后,调用重报检查微服务进行重报检查;在接收到该交易报文的前端展示指令后,根据该交易报文对应的关联关系,从报文匹配缓存表中查询出重复的交易报文,将该交易报文和重复的交易报文展现在前端页面上;重报检查微服务,用于调用规则引擎微服务按照重报检查类型进行执行,获得交易报文的重报索引;根据交易报文的重报索引,在缓存中查找是否有重复的交易报文,若缓存中有重复的交易报文,根据分布式支付平台系统的系统参数,判断该交易报文是否为重复交易报文,若确定该交易报文是重复交易报文,将该交易报文的重报索引和交易序列号,以及从缓存中查询到的重复的交易报文的交易序列号保存在重报检查表和缓存中,将该交易报文与从缓存中查询到的重复的交易报文建立关联关系,将关联关系保存到报文匹配缓存表和缓存中,若确定该交易报文不是重复交易报文,将该交易报文的重报索引和交易序列号保存在重报检查表和缓存中;若缓存中没有重复的交易报文,将该交易报文的重报索引和交易序列号保存在重报检查表和缓存中;规则引擎微服务,用于在命中规则类型为重报检查类型的规则条件后,进行对应的规则执行,生成交易报文的重报索引。在上述过程中,不需要修改代码,系统能够灵活地实现各地区重复报文识别需求,并且在应对交易报文处理变化时,也只需修改规则条件和规则执行的配置,成本较低,应对需求变化的灵活度较高,错误发生率较低,能很好的兼容分布式支付平台系统,减少了维护成本。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
图1为本发明实施例中分布式支付平台系统的重复报文识别系统的示意图;
图2为本发明实施例中应用分布式支付平台系统的重复报文识别系统的详细流程图;
图3为本发明实施例中分布式支付平台系统的重复报文识别方法的流程图;
图4为本发明实施例中计算机设备的示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚明白,下面结合附图对本发明实施例做进一步详细说明。在此,本发明的示意性实施例及其说明用于解释本发明,但并不作为对本发明的限定。
在本说明书的描述中,所使用的“包含”、“包括”、“具有”、“含有”等,均为开放性的用语,即意指包含但不限于。参考术语“一个实施例”、“一个具体实施例”、“一些实施例”、“例如”等的描述意指结合该实施例或示例描述的具体特征、结构或者特点包含于本申请的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。各实施例中涉及的步骤顺序用于示意性说明本申请的实施,其中的步骤顺序不作限定,可根据需要作适当调整。
下面对本发明实施例涉及到的术语进行解释。
实时支付:一种端到端的、7×24运行的实时到账的新型小额支付系统。
分布式:将一个大型的系统分为几个子系统,通过计算机网络分布到多台主机上,多个主机一起协同完成工作。
微服务:是一种新型的软件架构,把一个大型的单体应用程序和服务拆分为多个支持的微服务。
规则引擎:在分布式支付系统中,为实现动态规则功能的后台代码实现,主要基于Java语言和QLExpress动态脚本引擎解析工具。
缓存:数据交换的缓冲区,缓存是存在内存中的,访问速度比从硬盘中读取要快。
Redis:流行的分布式缓存框架之一,DPP采用Redis作为分布式缓存框架。
重报检查:根据定义的索引字段判断进入分布式支付系统的交易是否与已有交易重复。
图1为本发明实施例中分布式支付平台系统的重复报文识别系统的示意图,如图1所示,该系统包括:
组合服务101,用于在分布式支付平台系统收到一笔交易对应的交易报文后,调用重报检查微服务进行重报检查;在接收到该交易报文的前端展示指令后,根据该交易报文对应的关联关系,从报文匹配缓存表中查询出重复的交易报文,将该交易报文和重复的交易报文展现在前端页面上;
重报检查微服务102,用于调用规则引擎微服务按照重报检查类型进行执行,获得交易报文的重报索引;根据交易报文的重报索引,在缓存中查找是否有重复的交易报文,若缓存中有重复的交易报文,根据分布式支付平台系统的系统参数,判断该交易报文是否为重复交易报文,若确定该交易报文是重复交易报文,将该交易报文的重报索引和交易序列号,以及从缓存中查询到的重复的交易报文的交易序列号保存在重报检查表和缓存中,将该交易报文与从缓存中查询到的重复的交易报文建立关联关系,将关联关系保存到报文匹配缓存表和缓存中,若确定该交易报文不是重复交易报文,将该交易报文的重报索引和交易序列号保存在重报检查表和缓存中;若缓存中没有重复的交易报文,将该交易报文的重报索引和交易序列号保存在重报检查表和缓存中;
规则引擎微服务103,用于在命中规则类型为重报检查类型的规则条件后,进行对应的规则执行,生成交易报文的重报索引。
在本发明实施例中,不需要修改代码,系统能够灵活地实现各地区重复报文识别需求,并且在应对交易报文处理变化时,也只需修改规则条件和规则执行的配置,成本较低,应对需求变化的灵活度较高,错误发生率较低,能很好的兼容分布式支付平台系统,减少了维护成本。
具体实施时,重报索引可由各分行定义。重报检查表(duplicate_check)为重报检查微服务的本地库表,在进行重报检查后将数据存储到该表中,同时保存到对应的缓存中,缓存可以采用redis,重报检查表的关键字段为:
P_DUPLICATE_INDEX:重报索引;
P_MID:DPP系统中的交易序列号;
RELATED_MID:重报交易的唯一标识。
在一实施例中,重报检查微服务还用于:
若系统参数值为1,确定该交易报文是重复交易报文;
若系统参数值为0,且该交易报文不是历史交易报文,确定该交易报文是重复交易报文;
若系统参数值为0,且该交易报文不是历史交易报文,确定该交易报文是重复交易报文。
上述系统参数ARCHKEEP的设置,支持用户选择是否对历史交易报文进行查重,1表示对历史交易报文进行重报检查,0表示不对历史交易报文进行重报检查。通过每日的定时任务,将满足条件的(如六个月以上)的交易,将交易主表中P_IS_HISTORY字段设置为1,确定为历史交易报文,并刷新缓存。
具体实施时,当查询到重复交易报文时,会将该交易报文与从缓存中查询到的重复的交易报文建立关联关系为“Original Payment^Duplicate Payment”,并保存到缓存中,报文匹配缓存表comm_mfamily表的关键字段为:
UID_MFAMILY:两组交易报文的P_MID,中间用^分割;
RELATION_TYPE:关联关系,如为重复报文关系则当前交易报文的RELATION_TYPE为“Original Payment^Duplicate Payment”,重复交易报文的RELATION_TYPE为“Duplicate Payment^Original Payment”;
SELF_TYPE:当前交易报文的类型,若RELATION_TYPE为“Original Payment^Duplicate Payment”,则SELF_TYPE为“Original Payment”;
PAYMENT_ID:当前交易报文的P_MID;
LINK_TYPE:关联的重复的交易报文的类型,若RELATION_TYPE为“OriginalPayment^Duplicate Payment”,则LINK_TYPE为“Duplicate Payment”;
LINK_PAYMENT_ID:关联的重复的交易报文的P_MID。
在一实施例中,规则引擎微服务还用于:
接收根据用户需求配置的规则条件和规则执行,生成可执行Java语句。具体地,在配置好规则条件和规则执行后,保存即可生成可执行Java语句。具体地,保存在数据库和对应缓存中。
善后步骤:
在一实施例中,重报检查微服务还用于:
根据用户需求,按照交易主表中的交易的原始20场编号、交易新生成的20场编号、交易序列号,配置规则条件和规则执行。
具体实施时,规则引擎微服务,用于在命中规则类型为重报检查类型的规则条件后,进行对应的规则执行,生成交易报文的重报索引。其中,重报检查类型为DuplicateCheck,系统支持在前端界面进行配置,保存后后台直接生成QLExpress可以执行的Java语句例如条件,“P_OFFICE=SG1 and P_DBT_MOP=BOOK”保存后台生成可执行Java语句如下:
paymentVo.getString("P_OFFICE").equals("SG1")&&paymentVo.getString("P_DBT_MOP").equals("BOOK")
规则执行表示命中上述规则条件后,需要执行的动作。对于重报检查类型为“Duplicate Check”对应的规则执行为“Duplicate Check Profile”,即生成用户定义的重报检查索引。规则执行同样支持在前端界面进行配置,保存后后台直接生成QLExpress可以执行的Java语句。假如用户要求对每一笔交易的渠道加上原始20场的组合字段来判定是否为重复报文,前端即可配置语句“[Duplicate indx]setVal CONCAT([Pmt source],"~",[Orgnl instr ID])”,保存后后台生成可执行Java语句如下:
(pvo.set("P_DUPLICATE_INDEX",CONCAT(pvo.getString("P_PMNT_SRC"),"~",pvo.getString("OX_INSTR_ID"))))
交易主表用于存储所有的交易信息,涉及到重报检查的关键字段为:
P_MID:DPP系统中的交易序列号;
P_ORIG_INSTR_ID:交易的原始20场编号;
P_INSTR_ID:交易新生成的20场编号;
P_IS_HISTORY:0表示活动交易报文,1表示历史交易报文。
在上述实施例中,DPP系统采用redis缓存技术,前端页面保存的规则引擎数据、微服务处理过程中生成的重报索引和交易序列号等交易数据、重报数据都实时保存在缓存中,解决了传统架构中读取数据库时效率低下的问题,更适合分布式实时支付系统高性能的要求。
基于上述实施例,图2为本发明实施例中应用分布式支付平台系统的重复报文识别系统的详细流程图,包括:
步骤201,组合服务在分布式支付平台系统收到一笔交易对应的交易报文后,调用重报检查微服务进行重报检查;
步骤202,重报检查微服务调用规则引擎微服务按照重报检查类型进行执行;
步骤203,规则引擎微服务在命中规则类型为重报检查类型的规则条件后,进行对应的规则执行,生成交易报文的重报索引;
步骤204,重报检查微服务根据交易报文的重报索引,在缓存中查找是否有重复的交易报文,若是,转至步骤205,若否,转至步骤210;
步骤205,读取分布式支付平台系统的系统参数;若系统参数值为1,转至步骤207,若系统参数值为0,转至步骤206;
步骤206,判断该交易报文是否为历史交易报文,若是,转至步骤207,否则,转至步骤210;
步骤207,确定该交易报文是重复交易报文;将该交易报文的重报索引和交易序列号,以及从缓存中查询到的重复的交易报文的交易序列号保存在重报检查表和缓存中;
步骤208,将该交易报文与从缓存中查询到的重复的交易报文建立关联关系,将关联关系保存到报文匹配缓存表和缓存中;
步骤209,在接收到该交易报文的前端展示指令后,根据该交易报文对应的关联关系,从报文匹配缓存表中查询出重复的交易报文,将该交易报文和重复的交易报文展现在前端页面上;
步骤210,将该交易报文的重报索引和交易序列号保存在重报检查表和缓存中。
当然,可以理解的是,上述实施例还可以有其他步骤,相关变化例均应落入本发明的保护范围。
综上所述,在本发明实施例提出的方法的有益效果如下:
1.可以根据用户需求,在前端界面直接配置重报校验的规则条件和规则执行,保存后后台直接生成可执行的Java语句,并更新到对应的缓存中,减少了代码编写的复杂性和风险性。系统还支持灵活修改重报校验的规则条件和规则执行,并随时生效,而不需要修改代码。满足了分布式支付平台系统对实时性的要求。
2.通过系统参数ARCHKEEP的设置支持对进入历史数据的交易报文进行重报检查。目前大部分支付系统仅支持对系统中所有交易报文进行重报校验,不能区分对历史交易报文或者活动交易报文进行重报校验,本发明提出的系统灵活设置系统参数,结合数据库配置,支持是否对历史交易的设置,进一步提高用户体验度。
本发明实施例还提出一种分布式支付平台系统的重复报文识别方法,其原理与分布式支付平台系统的重复报文识别系统类似,这里不再赘述。
图3为本发明实施例中分布式支付平台系统的重复报文识别方法的示意图,如图3所示,该方法包括:
步骤301,在接收到交易报文后,规则引擎微服务按照重报检查类型进行执行,获得交易报文的重报索引,其中,所述交易报文为分布式支付平台系统收到的交易对应的交易报文;所述交易报文的重报索引是规则引擎微服务在命中规则类型为重报检查类型的规则条件后,进行对应的规则执行生成的;
步骤302,根据交易报文的重报索引,在缓存中查找是否有重复的交易报文;若缓存中有重复的交易报文,根据分布式支付平台系统的系统参数,判断该交易报文是否为重复交易报文,若确定该交易报文是重复交易报文,将该交易报文的重报索引和交易序列号,以及从缓存中查询到的重复的交易报文的交易序列号保存在重报检查表和缓存中,将该交易报文与从缓存中查询到的重复的交易报文建立关联关系,将关联关系保存到报文匹配缓存表和缓存中,若确定该交易报文不是重复交易报文,将该交易报文的重报索引和交易序列号保存在重报检查表和缓存中;若缓存中没有重复的交易报文,将该交易报文的重报索引和交易序列号保存在重报检查表和缓存中;
步骤303,在接收到该交易报文的前端展示指令后,根据该交易报文对应的关联关系,从报文匹配缓存表中查询出重复的交易报文,将该交易报文和重复的交易报文展现在前端页面上。
在一实施例中,根据分布式支付平台系统的系统参数,判断该交易报文是否为重复交易报文,包括:
若系统参数值为1,确定该交易报文是重复交易报文;
若系统参数值为0,且该交易报文不是历史交易报文,确定该交易报文是重复交易报文;
若系统参数值为0,且该交易报文是历史交易报文,确定该交易报文不是重复交易报文。
在一实施例中,所述方法还包括:
接收根据用户需求配置的规则条件和规则执行,生成可执行Java语句。
在一实施例中,所述方法还包括:
根据用户需求,按照交易主表中的交易的原始20场编号、交易新生成的20场编号、交易序列号,配置规则条件和规则执行。
综上所述,在本发明实施例提出的方法的有益效果如下:
1.可以根据用户需求,在前端界面直接配置重报校验的规则条件和规则执行,保存后后台直接生成可执行的Java语句,并更新到对应的缓存中,减少了代码编写的复杂性和风险性。支持灵活修改重报校验的规则条件和规则执行,并随时生效,而不需要修改代码。满足了分布式支付平台系统对实时性的要求。
2.通过系统参数ARCHKEEP的设置支持对进入历史数据的交易报文进行重报检查。目前大部分支付系统仅支持对系统中所有交易报文进行重报校验,不能区分对历史交易报文或者活动交易报文进行重报校验,本发明提出的方法灵活设置系统参数,结合数据库配置,支持是否对历史交易的设置,进一步提高用户体验度。
本发明的实施例还提供一种计算机设备,图4为本发明实施例中计算机设备的示意图,该计算机设备能够实现上述实施例中的分布式支付平台系统的重复报文识别方法中全部步骤,所述计算机设备具体包括如下内容:
处理器(processor)401、存储器(memory)402、通信接口(CommunicationsInterface)403和通信总线404;
其中,所述处理器401、存储器402、通信接口403通过所述通信总线404完成相互间的通信;所述通信接口403用于实现服务器端设备、检测设备以及用户端设备等相关设备之间的信息传输;
所述处理器401用于调用所述存储器402中的计算机程序,所述处理器执行所述计算机程序时实现上述实施例中的分布式支付平台系统的重复报文识别方法中的全部步骤。
本发明的实施例还提供一种计算机可读存储介质,能够实现上述实施例中的分布式支付平台系统的重复报文识别方法中全部步骤,所述计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述实施例中的分布式支付平台系统的重复报文识别方法的全部步骤。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种分布式支付平台系统的重复报文识别系统,其特征在于,包括:
组合服务,用于在分布式支付平台系统收到一笔交易对应的交易报文后,调用重报检查微服务进行重报检查;在接收到该交易报文的前端展示指令后,根据该交易报文对应的关联关系,从报文匹配缓存表中查询出重复的交易报文,将该交易报文和重复的交易报文展现在前端页面上;
重报检查微服务,用于调用规则引擎微服务按照重报检查类型进行执行,获得交易报文的重报索引;根据交易报文的重报索引,在缓存中查找是否有重复的交易报文,若缓存中有重复的交易报文,根据分布式支付平台系统的系统参数,判断该交易报文是否为重复交易报文,若确定该交易报文是重复交易报文,将该交易报文的重报索引和交易序列号,以及从缓存中查询到的重复的交易报文的交易序列号保存在重报检查表和缓存中,将该交易报文与从缓存中查询到的重复的交易报文建立关联关系,将关联关系保存到报文匹配缓存表和缓存中,若确定该交易报文不是重复交易报文,将该交易报文的重报索引和交易序列号保存在重报检查表和缓存中;若缓存中没有重复的交易报文,将该交易报文的重报索引和交易序列号保存在重报检查表和缓存中;
规则引擎微服务,用于在命中规则类型为重报检查类型的规则条件后,进行对应的规则执行,生成交易报文的重报索引。
2.如权利要求1所述的分布式支付平台系统的重复报文识别系统,其特征在于,重报检查微服务还用于:
若系统参数值为1,确定该交易报文是重复交易报文;
若系统参数值为0,且该交易报文不是历史交易报文,确定该交易报文是重复交易报文;
若系统参数值为0,且该交易报文是历史交易报文,确定该交易报文不是重复交易报文。
3.如权利要求1所述的分布式支付平台系统的重复报文识别系统,其特征在于,规则引擎微服务还用于:
接收根据用户需求配置的规则条件和规则执行,生成可执行Java语句。
4.如权利要求3所述的分布式支付平台系统的重复报文识别系统,其特征在于,重报检查微服务还用于:
根据用户需求,按照交易主表中的交易的原始20场编号、交易新生成的20场编号、交易序列号,配置规则条件和规则执行。
5.一种分布式支付平台系统的重复报文识别方法,其特征在于,包括:
在接收到交易报文后,规则引擎微服务按照重报检查类型进行执行,获得交易报文的重报索引,其中,所示交易报文为分布式支付平台系统收到的交易对应的交易报文;所述交易报文的重报索引是规则引擎微服务在命中规则类型为重报检查类型的规则条件后,进行对应的规则执行生成的;
根据交易报文的重报索引,在缓存中查找是否有重复的交易报文;若缓存中有重复的交易报文,根据分布式支付平台系统的系统参数,判断该交易报文是否为重复交易报文,若确定该交易报文是重复交易报文,将该交易报文的重报索引和交易序列号,以及从缓存中查询到的重复的交易报文的交易序列号保存在重报检查表和缓存中,将该交易报文与从缓存中查询到的重复的交易报文建立关联关系,将关联关系保存到报文匹配缓存表和缓存中,若确定该交易报文不是重复交易报文,将该交易报文的重报索引和交易序列号保存在重报检查表和缓存中;若缓存中没有重复的交易报文,将该交易报文的重报索引和交易序列号保存在重报检查表和缓存中;
在接收到该交易报文的前端展示指令后,根据该交易报文对应的关联关系,从报文匹配缓存表中查询出重复的交易报文,将该交易报文和重复的交易报文展现在前端页面上。
6.如权利要求5所述的分布式支付平台系统的重复报文识别方法,其特征在于,根据分布式支付平台系统的系统参数,判断该交易报文是否为重复交易报文,包括:
若系统参数值为1,确定该交易报文是重复交易报文;
若系统参数值为0,且该交易报文不是历史交易报文,确定该交易报文是重复交易报文;
若系统参数值为0,且该交易报文是历史交易报文,确定该交易报文不是重复交易报文。
7.如权利要求5所述的分布式支付平台系统的重复报文识别方法,其特征在于,还包括:
接收根据用户需求配置的规则条件和规则执行,生成可执行Java语句。
8.如权利要求7所述的分布式支付平台系统的重复报文识别方法,其特征在于,还包括:
根据用户需求,按照交易主表中的交易的原始20场编号、交易新生成的20场编号、交易序列号,配置规则条件和规则执行。
9.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求5至8任一项所述方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有执行权利要求5至8任一项所述方法的计算机程序。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110643181.XA CN113205330B (zh) | 2021-06-09 | 2021-06-09 | 分布式支付平台系统的重复报文识别系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110643181.XA CN113205330B (zh) | 2021-06-09 | 2021-06-09 | 分布式支付平台系统的重复报文识别系统及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113205330A true CN113205330A (zh) | 2021-08-03 |
CN113205330B CN113205330B (zh) | 2024-05-24 |
Family
ID=77024325
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110643181.XA Active CN113205330B (zh) | 2021-06-09 | 2021-06-09 | 分布式支付平台系统的重复报文识别系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113205330B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110048961A (zh) * | 2019-04-24 | 2019-07-23 | 盛科网络(苏州)有限公司 | 基于asic的重复报文检测方法及系统 |
CN111708771A (zh) * | 2020-06-17 | 2020-09-25 | 深圳前海微众银行股份有限公司 | 数据查重方法、装置、设备及计算机存储介质 |
CN112035530A (zh) * | 2020-09-17 | 2020-12-04 | 中国银行股份有限公司 | 一种分布式实时支付系统中的交易报文匹配方法及系统 |
CN112163946A (zh) * | 2020-09-30 | 2021-01-01 | 中国工商银行股份有限公司 | 基于分布式交易系统的账务处理方法及装置 |
CN112269915A (zh) * | 2020-10-30 | 2021-01-26 | 成都质数斯达克科技有限公司 | 业务处理方法、装置、设备及存储介质 |
CN112671877A (zh) * | 2020-12-16 | 2021-04-16 | 中国建设银行股份有限公司 | 一种数据处理方法和装置 |
-
2021
- 2021-06-09 CN CN202110643181.XA patent/CN113205330B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110048961A (zh) * | 2019-04-24 | 2019-07-23 | 盛科网络(苏州)有限公司 | 基于asic的重复报文检测方法及系统 |
CN111708771A (zh) * | 2020-06-17 | 2020-09-25 | 深圳前海微众银行股份有限公司 | 数据查重方法、装置、设备及计算机存储介质 |
CN112035530A (zh) * | 2020-09-17 | 2020-12-04 | 中国银行股份有限公司 | 一种分布式实时支付系统中的交易报文匹配方法及系统 |
CN112163946A (zh) * | 2020-09-30 | 2021-01-01 | 中国工商银行股份有限公司 | 基于分布式交易系统的账务处理方法及装置 |
CN112269915A (zh) * | 2020-10-30 | 2021-01-26 | 成都质数斯达克科技有限公司 | 业务处理方法、装置、设备及存储介质 |
CN112671877A (zh) * | 2020-12-16 | 2021-04-16 | 中国建设银行股份有限公司 | 一种数据处理方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN113205330B (zh) | 2024-05-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107506451B (zh) | 用于数据交互的异常信息监控方法及装置 | |
CN111177231A (zh) | 报表生成方法和报表生成装置 | |
CN111382174A (zh) | 多方数据联合查询方法、装置、服务器和存储介质 | |
JP2005505055A (ja) | モバイルウェブクライアントに対する方法、装置及びシステム | |
CN102265264A (zh) | 调试流水线 | |
CN110175027A (zh) | 一种开发业务功能的方法和装置 | |
CN112559301B (zh) | 业务处理方法、存储介质、处理器及电子装置 | |
JP2012113706A (ja) | データベース・クエリ最適化のためのコンピュータで実装される方法、コンピュータ・プログラム、およびデータ処理システム | |
WO2023221416A1 (zh) | 信息生成方法、装置、设备以及存储介质 | |
CN111553652A (zh) | 业务处理方法及装置 | |
CN112035530B (zh) | 一种分布式实时支付系统中的交易报文匹配方法及系统 | |
CN108573171A (zh) | Greenplum数据脱敏方法、装置、设备及介质 | |
CN108959294B (zh) | 一种访问搜索引擎的方法和装置 | |
CN113157904A (zh) | 基于dfa算法的敏感词过滤方法及系统 | |
CN113205330A (zh) | 分布式支付平台系统的重复报文识别系统及方法 | |
CN115760085A (zh) | 分布式实时支付系统的报文处理方法及装置 | |
CN110941658A (zh) | 一种数据导出方法、装置、服务器及存储介质 | |
CN113297274B (zh) | 一种签收数据查询方法和系统 | |
CN110096514A (zh) | 数据查询方法和装置 | |
CN111221841A (zh) | 基于大数据的实时处理方法及装置 | |
CN114996246A (zh) | 一种基于NiFi组件的表多个字段校验的数据清洗方法 | |
CN114691713A (zh) | 数据查询方法和装置 | |
CN114860851A (zh) | 数据处理方法、装置、设备及存储介质 | |
CN114493570A (zh) | 基于集团内部专线的跨境汇款处理方法及装置 | |
CN113515285A (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 |