交易数据监控方法及装置与流程

文档序号:13935033
交易数据监控方法及装置与流程

本发明涉及计算机技术领域,特别是涉及一种交易数据监控方法及装置。



背景技术:

现在的交易服务平台通常由多个不同的业务系统构成,每笔交易业务的进行都需要上下游的业务系统协作完成,交易服务系统每天要处理大量的资金交易业务并涉及面额巨大的资金流水,某个交易系统出现异常,就可能会产生收付金额不对等、重复扣款等资损问题,有时甚至可能涉及巨大面额的资金亏损,如果不能及时发现问题会导致非常严重的交易事故。

目前,一般都是运用机器学习、风控模型等方式对交易服务系统产生的数据进行审核和风险控制。但是,上述审核方法都是针对已经过日终清算的业务数据,审核结果会出现延迟、时效性差,不能对交易系统出现的异常状况进行及时响应。



技术实现要素:

基于此,有必要针对上述交易服务系统的风险控制时效性差的问题,提供一种交易数据监控方法及装置。

一种交易数据监控方法,所述方法包括以下步骤:

监测交易日志中是否有新的交易消息生成;

当所述交易日志中有新的交易消息生成时,将所述交易消息采集到消息队列;

检测所述交易消息中是否包含审核触发数据;

当所述交易消息中包含所述审核触发数据时,获取与所述审核触发数据相对应的审核规则,所述审核规则中至少包括关联配置、审核数据配置以及规则配置;

根据所述关联配置从所述消息队列中查找关联交易消息;

根据所述审核数据配置从所述交易消息中读取第一待审核数据并从所述关联交易消息中读取第二待审核数据;

根据所述规则配置对所述第一待审核数据和所述第二待审核数据进行核对并生成审核结果,当所述审核结果为异常时,输出交易异常警报。

在其中一个实施例中,根据所述关联配置从所述消息队列中查找关联交易消息的步骤之后包括:

当查找不到关联交易消息或查找到部分关联交易消息时,创建轮询检测线程;

在所述轮询检测线程中每隔固定时间间隔检测所述消息队列中是否存在缺失的所述关联交易消息;

当检测到缺失的所述关联交易消息时,执行所述根据所述审核数据配置从所述交易消息中读取第一待审核数据并从所述关联交易消息中读取第二待审核数据的步骤。

在其中一个实施例中,所述方法还包括:

获取与所述审核规则对应的预设轮询检测阈值时间;

当在所述预设轮询检测阈值时间内没有检测到缺失的所述关联交易消息或检测到的所述关联交易消息不完整时,输出系统异常警报。

在其中一个实施例中,将所述交易消息采集到消息队列的步骤之后还包括:

对所述交易消息进行解析;

根据预设提取规则从解析后的所述交易消息中提取字段名和与所述字段名对应的字段,生成消息记录;

查找与所述字段名相对应的标准字段名,将所述字段名转化为所述标准字段名。

在其中一个实施例中,输出交易异常警报的步骤之后还包括:

当根据所述审核结果判断异常问题为资损问题时,查找与所述交易消息相关的交易账号并冻结所述交易账号;

根据所述审核结果中的资损金额判断所述资损问题是否达到重大资损等级;

当所述资损问题达到所述重大资损等级时,根据所述审核结果判断异常业务系统并向所述异常业务系统发送系统中断指令。

一种交易数据监控装置,所述装置包括:

监测模块,用于监测交易日志中是否有新的交易消息生成;

采集模块,用于当所述交易日志中有新的交易消息生成时,将所述交易消息采集到消息队列;

触发检测模块,用于检测所述交易消息中是否包含审核触发数据;

规则获取模块,用于当所述交易消息中包含所述审核触发数据时,获取与所述审核触发数据相对应的审核规则,所述审核规则中至少包括关联配置、审核数据配置以及规则配置;

关联模块,用于根据所述关联配置从所述消息队列中查找关联交易消息;

数据读取模块,用于根据所述审核数据配置从所述交易消息中读取第一待审核数据并从所述关联交易消息中读取第二待审核数据;

审核模块,用于根据所述规则配置对所述第一待审核数据和所述第二待审核数据进行核对并生成审核结果,当所述审核结果为异常时,输出交易异常警报。

在其中一个实施例中,所述装置还包括:

线程创建模块,用于当查找不到关联交易消息或查找到部分关联交易消息时,创建轮询检测线程;

定时检测模块,用于在所述轮询检测线程中每隔固定时间间隔检测所述消息队列中是否存在缺失的所述关联交易消息;

执行模块,用于当检测到缺失的所述关联交易消息时,执行所述根据所述审核数据配置从所述交易消息中读取第一待审核数据并从所述关联交易消息中读取第二待审核数据的步骤。

在其中一个实施例中,所述装置还包括:

阈值获取模块,用于获取与所述审核规则对应的预设轮询检测阈值时间;

警报输出模块,用于当在所述预设轮询检测阈值时间内没有检测到缺失的所述关联交易消息或检测到的所述关联交易消息不完整时,输出系统异常警报。

在其中一个实施例中,所述装置还包括:

解析模块,用于对所述交易消息进行解析;

记录生成模块,用于根据预设提取规则从解析后的所述交易消息中提取字段名和与所述字段名对应的字段,生成消息记录;

字段名转化模块,用于查找与所述字段名相对应的标准字段名,将所述字段名转化为所述标准字段名。

在其中一个实施例中,所述装置还包括:

账号查询模块,用于当根据所述审核结果判断异常问题为资损问题时,查找与所述交易消息相关的交易账号并冻结所述交易账号;

金额判断模块,用于根据所述审核结果中的资损金额判断所述资损问题是否达到重大资损等级;

指令发送模块,用于当所述资损问题达到所述重大资损等级时,根据所述审核结果判断异常业务系统并向所述异常业务系统发送系统中断指令。

上述交易数据监控方法及装置,通过对交易日志进行实时监测,当有新的交易消息生成时判断交易消息是否包含审核触发数据,当包含审核触发数据时能够自动触发交易审核程序,根据相应的审核规则对交易消息进行数据审核并当发现异常审核结果时立即输出交易异常警报,从而能够在交易实时进行的过程中交易过程中出现的异常问题,并能对异常问题进行及时响应,最大程度地降低用户资金损失的风险,有效提高了交易数据监控的时效性。

附图说明

图1为实施例中交易数据监控方法的应用环境图;

图2为一个实施例中交易数据监控方法的流程图;

图3为一个实施例中终端的结构示意图;

图4为一个实施例中交易数据监控装置的结构示意图;

图5为另一个实施例中交易数据监控装置的结构示意图;

图6为又一个实施例中交易数据监控装置的结构示意图;

图7为再一个实施例中交易数据监控装置的结构示意图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

本发明实施例中所提供的交易数据监控方法可以应用于如图1所示的应用环境中。终端102与多个业务系统终端104通过网络连接,多个业务系统终端104相互之间也可互联通信,业务系统终端104之间可以相互发送交易请求信息、具体的交易信息和交易处理结果等。业务系统终端104发生交易操作产生的交易消息可以保存在业务系统终端104本地的交易日志,也可以统一发送给数据监控终端/服务器,数据监控终端/服务器可以对各个业务系统终端104的交易消息进行实时采集并汇总到数据监控终端/服务器本地的交易日志中。终端102对各业务系统终端104的本地的交易日志信息进行监测,实时从各业务系统终端104采集最新生成的交易消息,终端102也可以对数据监控终端/服务器的交易日志进行监测,实时从数据监控终端/服务器中采集最新的交易消息。终端102对采集到的交易消息进行处理审核,当终端102判断出交易链路出现异常并检测到出现异常问题的业务系统时,向相应的业务系统终端104发送异常警报或系统中断指令等。需要说明的是,上述终端102也可以是服务器,业务系统终端104也可以是业务系统服务器。

如图2所示,在一个实施例中,提供了一种交易数据监控方法,该方法可以应用于终端,也可以应用于服务器。本实施例以该方法应用于终端来举例说明,该方法具体包括以下步骤:

步骤210,监测交易日志中是否有新的交易消息生成。

任何一笔交易业务的进行均需要通过上、下游多个业务系统的相互协作来完成,多个业务系统形成交易链路。业务系统中任意一项交易任务完成后均会生成一条交易消息,交易消息中包含交易时间、交易单号、交易金额、账号、交易来源、去向、交易流水号等多项交易信息。

每个业务系统都可以将交易消息按照消息生成时间的顺序存储至本地的系统交易日志中,每个业务系统也可以将生成的交易消息实时发送给一个特定的服务器或终端,由其将各个业务系统发送的交易消息按照发送时间顺序统一收集整到链路交易日志中。在一个实施例中,终端实时对每个业务系统本地的系统交易日志进行监测。在另一个实施例中,终端实时对总的链路交易日志进行监测。

步骤220,当交易日志中有新的交易消息生成时,将交易消息采集到消息队列。

当终端检测到交易日志中有新的交易消息生成时,终端将新生成的交易消息采集到消息队列。消息队列中的交易消息可以按照采集的时间进行存储和显示。具体的,消息队列可以按照采集日期定期生成消息版本保存在终端上的数据库中,消息版本的版本号可以根据采集日期进行命名,方便后期根据版本号对交易的具体信息进行查找。例如,可以将一周内进行的业务产生的消息队列生成一个消息版本存储在开源数据库,如PostgreSQL数据库中。

在一个实施例中,终端在将交易消息采集到消息队列中时会生成对应的消息头,用来唯一对交易消息进行标识,消息头中的信息可以包括消息标识号、消息时间戳、消息所在线程、消息采集来源的IP地址等信息。

具体的,在一个实施例中,终端采用实时应用监控平台CAT对各个业务系统产生的交易日志进行监控,并将监测到的交易日志中最新的交易消息实时地转发到kafka系统(一种高吞吐量的分布式发布订阅消息系统)的消息队列中,kafka系统能够提供数据的接入、缓存服务等。需要说明的是,终端也可以采用其他监控工具对交易日志进行监测,并不限于本实施例中的CAT平台。

步骤230,检测交易消息中是否包含审核触发数据。

审核触发数据是指符合审核触发条件的数据。终端中预先配置有多项审核触发条件,每项审核触发条件各对应触发一种审核程序。交易消息中包含多项交易信息数据,各项审核触发条件分别规定了交易消息中的哪项或哪几项交易信息数据需要满足的条件。当交易消息中包含任意一项满足审核触发条件的审核触发数据时,即触发与该审核触发条件对应的审核程序。终端根据预先配置的审核触发条件对交易消息进行检测,判断交易消息中是否包含审核触发数据。

例如,审核触发数据可以为交易来源信息为网关系统的数据。又如,审核触发数据也可以为交易来源信息为用户且交易金额信息不为空的数据。不同的审核触发数据会触发不同的审核程序。

步骤240,当交易消息中包含审核触发数据时,获取与审核触发数据相对应的审核规则,审核规则中至少包括关联配置、审核数据配置以及规则配置。

当终端检测到交易消息中包含审核触发数据时,终端启动与审核触发数据相对应的审核程序,每一个审核程序都具有审核规则,审核规则包括多项审核配置,其中,审核配置中也包括触发配置,触发配置中配置有审核触发数据的信息。终端根据审核触发数据查找并获取对应的审核规则。

一笔交易业务涉及多个业务系统,因此,审核程序也必然涉及来自多个业务系统的多条交易消息,单从一条交易消息无法判断交易链路上是否出现异常,需要对多条交易消息进行相互验证才能判断交易过程是否发生异常。多条交易消息包括终端检测出的待审核交易消息和需与其关联审核的关联交易消息,关联交易消息可以是一条,也可以是多条。

关联配置中配置了关联交易消息的业务系统来源信息,关联配置中还配置了待审核交易消息与关联交易消息之间进行关联的交易信息。例如,每笔交易进行的过程中都会生成唯一的业务单号,可以通过业务单号将审核交易消息与关联交易消息进行关联。

审核数据配置中配置了对待审核交易消息和关联交易消息进行审核的交易信息数据。例如,交易信息数据可以为交易消息中的交易金额、交易状态等信息中的一项或多项。

规则配置中配置了审核数据需要满足的判断规则。例如,判断规则可以为等式、不等式、又或者交易信息通过四则运算、布尔运算、次数统计后需满足规定的等式或不等式等。具体的,例如,判断规则可以为待审核交易消息的交易金额等于关联交易消息中的交易金额且待审核交易消息的交易状态等于关联交易消息的交易状态。又比如,当待审核交易消息需要与两条关联交易消息进行关联审核时,判断规则为待审核交易消息的交易金额等于两条关联交易消息的交易金额之和。

步骤250,根据关联配置从消息队列中查找关联交易消息。

终端根据关联配置获取关联交易消息的业务系统来源信息,如可以获取业务系统的代码,并获取关联交易信息如业务单号等。终端在消息队列中查找与业务系统来源信息和关联交易信息一致的关联交易信息。

步骤260,根据审核数据配置从交易消息中读取第一待审核数据并从关联交易消息中读取第二待审核数据。

终端从交易消息中读取与审核数据配置相对应的第一待审核数据,并且,终端从关联交易消息中读取与审核数据配置相对应的第二待审核数据。需要说明的是,第一待审核数据可以包括一项或多项交易信息数据,第二审核数据也可以包括一项或多项交易信息数据,第一待审核数据与第二待审核数据的项数相等且一一对应。

步骤270,根据规则配置对第一待审核数据和第二待审核数据进行核对并生成审核结果,当审核结果为异常时,输出交易异常警报。

终端根据规则配置中的判断规则对相对应的第一待审核数据与第二待审核数据进行比较或运算,判断每项审核数据是否都满足判断规则。当所有的待审核数据都满足判断规则时,生成审核通过的审核结果。当其中任意一项审核数据不满足判断规则时,生成审核异常的审核结果,根据审核结果生成交易异常警报,审核结果中包括不满足判断规则的审核数据的差异数据比对。具体的,在一个实施例中,交易异常警报中显示不符合判断规则的交易数据,并显示异常问题类型,如资损问题,网络通道拥挤问题等。若是资损问题可以显示具体的资损金额。

终端生成交易异常警报后根据交易消息和关联交易消息的业务系统来源信息查找对应业务系统的负责人联系方式,联系方式可以是手机号码、邮箱、系统账号等,终端可以通过短信、信息、邮件或是录音电话等通信方式将交易异常警报发送给业务系统的负责人。需要说明的是,当终端无法判断异常问题属于哪个业务系统时,如资损问题中判断多个交易信息中的交易金额不对等,但是又无法判断是哪条消息中的金额出现异常时,向本次审核涉及的所有业务系统的负责人均发送交易异常警报,由负责人来判断异常系统来源。当终端可以判断异常问题的系统来源时,如来自用户方的交易状态为提交失败,是由于网络通道拥挤用户一直无法正常提交时,终端可以仅向用户系统即异常来源系统的负责人发送交易异常警报。

在一个实施例中,终端在执行步骤220后判断采集到的交易消息是否与消息队列中已经存在的交易消息重复,当终端在消息队列中查找到内容完全一致的交易消息时,终端获取两个交易消息的时间戳,当时间戳完全一致时,说明终端对同一交易消息采集了两次,将后采集到的交易消息从消息队列中进行删除;当两个交易消息的时间戳不一致时,说明业务系统进行了重复的交易操作,终端向交易消息所属业务系统发送系统异常报告。比如,商户系统多次重复提交支付请求,有可能造成在同一笔交易中对商户账户进行重复划账,对商户造成资金损失。

在本实施例中,在对交易消息进行审核之前,通过对交易消息进行重复性校验,可以剔除重复消息,避免进行对相同交易消息进行重复审核,可以节省时间,同时可以检验出重复的交易操作,避免因重复操作带来的资金损失。

具体的,在一个实施例中,终端采用Spark Streaming(实时计算框架)技术,将交易消息的监控、采集和审核工作进行整合,该计算框架具有高并发、低延迟的优点,最高的并发处理速率超过10000笔/秒,使得交易消息的采集到审核工作的完成平均用时小于4秒。

在本实施例中,终端对各业务系统生成的交易消息进行实时采集,当判断采集到的交易消息包含审核触发数据时能够自动触发交易的审核程序,并获取与审核触发数据对应的审核规则,根据审核规则对交易消息和其关联交易消息进行数据审核,当审核结果为异常时能够立即输出交易异常警报,从而能够实时对交易链路进行审核,及时发现易过程中出现的异常问题,并能对异常问题进行及时响应,从而可以最大程度地降低用户资金损失的风险,提高交易数据监控的时效性。

在一个实施例中,步骤250之后还包括以下步骤:

当查找不到关联交易消息或查找到部分关联交易消息时,创建轮询检测线程;在轮询检测线程中每隔固定时间间隔检测消息队列中是否存在缺失的关联交易消息;当检测到缺失的关联交易消息时,执行根据审核数据配置从交易消息中读取第一待审核数据并从关联交易消息中读取第二待审核数据的步骤。

具体的,由于各个业务系统的网络环境和数据传输速度不同,可能出现先发生的交易操作的交易消息的采集时间晚于后发生的交易消息的采集时间。因此,当终端在消息队列中查找关联交易消息时,有可能出现关联交易消息还未采集到或者部分关联交易消息还未到齐的情况。当终端检测到关联交易消息未到齐的情况时,创建轮询检测线程,轮询检测线程与主线程并行工作。在主线程中,终端继续执行监测交易日志、对交易消息进行审核的工作。需要说明的是,当主线程与轮询检测线程并行工作的过程中,若主线程的审核程序中又出现关联交易消息未到齐的情况,终端可以同时创建多个轮询检测线程。

轮询检测线程的工作包括对未到齐的关联交易消息进行定时查询并当获得完整的关联交易消息时继续执行并完成审核程序。终端根据关联配置每隔固定时间间隔对消息队列进行查询,当终端检测到缺失的关联交易消息时,终端获取关联交易消息并判断关联交易消息是否到齐,当未到齐时,在轮询检测线程中终端继续定时查询关联交易消息直到终端获取完整的关联交易消息为止。具体的,固定时间间隔可以为3s、5s、10s、15s、30s等,在一个实施例中,固定时间间隔优选为10s。

当终端获取到完整的关联交易消息后,继续执行从交易消息中读取与审核数据配置相对应的第一待审核数据,从关联交易消息中读取与审核数据配置相对应的第二待审核数据。根据规则配置中的判断规则对相对应的第一待审核数据与第二待审核数据进行比较或运算,生成审核结果的步骤。

在本实施例中,在终端对待审核交易消息进行审核时,当需要审核的关联交易消息未完全到齐时,通过创建轮询检测线程,终端可以在轮询检测线程中等待未到齐的待审核数据,而在主线程中继续进行正常的交易数据监控、采集、审核工作,从而使得缺失数据的等待工作和正常的监控工作可以并行进行,提高交易数据审核工作的工作效率。

在一个实施例中,在当查找不到关联交易消息或查找到部分关联交易消息时,创建轮询检测线程的步骤之后还包括以下步骤:

获取与审核规则对应的预设轮询检测阈值时间;当在预设轮询检测阈值时间内没有检测到缺失的关联交易消息或检测到的关联交易消息不完整时,输出系统异常警报。

预设轮询检测阈值时间为终端在轮询检测线程内对未到齐的关联交易消息进行定时检测的最长时间,即规定了终端的最大检测次数,例如,若预设轮询检测阈值为10min,检测的固定时间间隔可以为10s时,终端最多检测60次,达到60次即停止检测。当预设轮询检测阈值时间内关联交易消息还未能到齐时,关联交易消息所属的业务系统出现故障的可能性较大,需要及时通知相关业务系统的系统负责人使其对系统进行检查。

预设轮询检测阈值时间根据审核程序涉及的具体业务的紧急程度分等级设定。例如,转账业务的交易链路中涉及转账双方账户,为了保障账户资金的安全性,转账业务的审核程序需要及时处理,因此,关于转账业务的预设轮询检测阈值时间可以设置较短,如20min、30min、45min等。又如,基金申购业务的申购周期较长,审核程序的紧急程度较低,因此,关于基金申购业务的预设轮询检测阈值时间可以设置较长,如半天、1天、两天等。在另一个实施例中,终端进行轮询检测的固定时间间隔也可以根据具体业务的紧急程度来进行分等级设定,将较紧急的审核程序的时间间隔设置较短如1s、3s、5s等,将不紧急的审核程序的时间间隔设置较长,如1min、5min、10min等。由此当审核程序不紧急时可以减少终端检测工作的工作量和检测工作所占用的资源。

在一个实施例中,每个审核规则中均包括阈值配置,阈值配置中设置了预设轮询检测阈值时间,终端直接从审核规则中获取阈值配置。在另一个实施例中,终端存储有各个业务类型对应的预设轮询检测阈值时间,终端根据审核规则中的配置信息,如根据关联配置中的业务系统来源和审核数据配置中的具体审核内容判断出所审核交易消息的业务类型,然后根据业务类型获取与其相对应的预设轮询检测阈值时间。

当在轮询检测阈值时间内终端还未能获取到完整的关联交易消息时,终端生成系统异常警报,系统异常警报中包含未到齐的关联交易消息的信息。终端根据关联配置确定关联交易消息的业务系统来源信息,并根据业务系统来源信息查找对应业务系统的负责人联系方式,终端可以通过短信、信息、邮件或是录音电话等通信方式将系统异常警报发送给业务系统的负责人。

在一个实施例中,当未到齐的关联交易消息包含多条时,当终端的轮询检测时间到达多条关联交易消息中最短的预设轮询检测阈值时间时,终端即生成系统异常警报。在一个实施例中,当未到齐的关联交易消息来自不同的业务系统时,终端可以将每条关联交易消息都对应生成一个系统异常警报,并将每个系统异常警报发送给对应的业务系统负责人,终端也可以根据所有的关联交易消息生成一个系统异常警报并将其发送给多个业务系统负责人。当未到齐的关联交易消息来自相同的业务系统时,根据多条关联交易消息生成一个系统异常警报并将其发送给对应业务系统的负责人。

在本实施例中,通过设置预设轮询检测阈值,并根据不同业务审核程序的审核紧急程度对预设轮询检测阈值、轮询检测的固定时间间隔进行分等级设定,对于较紧急的业务可以提高检测频次,缩短检测时间,推进审核过程并及时发现系统问题;而对于不紧急的业务可以减少检测频次,延长检测时间,对终端的资源分配进行优化,提高终端的处理速度。

在一个实施例中,步骤220之后还包括以下步骤:

对交易消息进行解析;根据预设提取规则从解析后的交易消息中提取字段名和与字段名对应的字段,生成消息记录;查找与字段名相对应的标准字段名,将字段名转化为标准字段名。

为了减少数据传输过程中的数据量,提高数据传输的传输速度,终端在将交易消息采集到消息队列时,采集到的交易消息一般都经过压缩处理。终端需要对采集到的交易消息进行解压缩处理,并对解压缩后的数据进行解析。在实施例中,以解压缩后的数据为JSON(JavaScript ObjectNotation,基于JavaScript编程语一种轻量级的数据交换格式)格式数据进行说明,JSON数据包含多个对象,一个对象为一个“‘名称/值’对,一个对象以“{”开始,以“}”(结束。每个“名称”后跟一个“:”;“‘名称/值’对”之间使用“,”分隔。终端根据“,”将JSON数据识别为一个个对象,并将每个对象中“:”之前的数据识别为名称,“:”之后的数据识别为值。

一条交易消息的数据中包含几十至几百条信息,在JSON数据中就会有几十至几百个对象,但终端并不需要对所有的信息进行审核,因此,终端需要对交易消息中的有效信息进行提取。预设提取规则为终端预先设置的对有效信息的提取规则。在一个实施例中,终端根据预先设置的交易基本信息对交易消息进行提取,交易基本信息至少包括交易金额、交易账户、交易来源、交易去向、交易方式、交易单号、交易时间、交易状态。以JSON数据为例,终端查找与交易基本信息对应的名称,将查找到的名称提取为字段名,并将与名称对应的值提取为字段,将提取到的字段名和字段生成消息记录。

不同业务系统的交易消息中同一交易基本信息对应的字段名可能不同,为了方便对交易消息进行关联,需要对生成的交易消息中的字段名进行标准化。终端获取字段名与标准字段名的映射关系表,映射关系表中存储了所有业务系统可能出现的字段名,在映射关系表中同一语义的字段名均归属至对应的标准字段名。终端提取字段名后在映射关系表中查找字段名所归属的标准字段名并用查找到的标准字段名代替原来的字段名。例如,来自商户系统的交易消息中的交易账户的字段名为“acct”,而来自银行系统的交易消息中的交易账户的字段名为“account”,将上述字段名转化为标准字段名“trans_acct”。

在本实施例中,终端通过将采集到的交易消息进行解析,并根据预设提取规则对有效信息进行提取,能够减少对交易消息进行清洗,减少交易数据审核处理过程中的数据量,提高审核效率。并且,通过对来自不同业务系统的交易消息生产的消息记录中的字段名进行标准化,能够方便后期审核过程中交易消息关联工作和审核数据读取工作的进行,进一步提高审核工作的工作效率。

在一个实施例中,步骤270之后还包括以下步骤:

当根据审核结果判断异常问题为资损问题时,查找与交易消息相关的交易账号并冻结交易账号;根据审核结果中的资损金额判断资损问题是否达到重大资损等级;当资损问题达到重大资损等级时,根据审核结果判断异常业务系统并向异常业务系统发送系统中断指令。

当审核结果中的审核数据的差异数据比对中包括交易金额数据的比对结果时,判断异常问题至少属于资损问题,当差异比对中还包括其他审核数据的比对结果时异常问题可能还涉及其他问题。当终端判断异常问题为资损问题时,由于终端无法自动判断哪一方业务系统的资金出现异常,终端查找所有相关交易消息中的交易账号,向对应的业务系统发送交易账号冻结指令,交易账号冻结指令中至少包含交易账号信息。对应的业务系统收到终端发送的交易账号冻结指令后对交易账号进行冻结。待所有业务系统的负责人收到交易异常警报确定问题系统后,对交易正常的交易账号解除冻结。

审核结果中的交易资金的差异金额为资损金额,终端判断资损金额的资损等级,终端预先设定资损等级。在一个实施例中,资损金额大于50万时为重大资损等级,资损金额小于500元时为轻微资损等级,介于两者之间的资损金额为一般资损等级。在其他实施例中,可以根据实际情况进行具体设置,并不限于本实施例。终端将资损金额与设置的重大资损等级中的金额进行比较,判断资损问题是否达到重大资损等级。

当资损金额达到重大资损等级时,很可能是由于业务系统出现重大故障或漏洞,需要对业务系统进行及时中断,避免造成更多资金损失。在本实施例中,审核结果中还包括交易金额数据不满足判断规则的交易消息的业务系统来源信息,终端根据业务系统来源信息将相关的交易系统判定为异常业务系统,并向异常业务系统发送系统中断指令。在一个实施例中,当异常业务系统的终端或服务器接收到系统中断指令后,会将系统中断指令进行提示,由工作人员进行确认,工作人员进行确认后,对异常业务系统进行中断。

在本实施例中,终端通过对出现资损问题的交易中的交易账号进行冻结,可以及时对付款方或收款方的账号进行保护,通过划分资损金额等级,可以当资损金额达到重大资损等级时对系统进行中止和保护,避免由于系统故障造成不可挽回的资金损失,从而能够最大程度保护交易双方的资金安全。

在一个实施例中,每次审核程序结束后,终端将每次审核程序所涉及的审核内容、审核数据和审核结果等信息进行缓存。终端定期对审核结果异常的审核数据进行统计分析,例如,终端可以统计同一交易账号出现同一异常问题的次数,当出现同一异常问题的次数达到设定值时,判定交易账号异常,可以对交易账号所属业务系统发送账号异常提示或发送账号冻结指令。终端还可以同一业务系统中的不同笔交易之间出现同一异常问题的次数,当不同笔交易之间来自不同的交易账号并且出现次数超过设定值时,判定业务系统异常,终端向业务系统的负责人发送系统异常问题提示。其中,设定值根据已有的数据统计经验进行设置。

在本实施例中,通过对审核结果进行存储并对审核数据进行分析,可以动态、及时地发现账号和系统中存在的异常问题,尽早地解决潜在系统安全问题。

下面以一个具体的应用场景进行举例说明:

在商户向银行卡转账的交易链路中涉及商户系统、入口系统、代收付业务系统、交易系统、账务系统、网关系统和银行系统。其中,商户系统向入口系统发送转账交易请求,入口系统接收来自商户的交易请求后会生成一个商户订单号如A0001,并将该用户转账的金额、卡号、商户订单号等信息转发给代收付业务系统,代收付业务系统对信息进行基本校验,如无异常,则将该用户转账的金额、卡号、商户订单号等信息转发给交易系统,由交易系统生成具体的交易。交易系统接收到信息后生成唯一的业务单号如B0001,商户订单号与业务单号的编号相对应,交易系统将信息转发给账务系统,由账务系统在公司内部记账,确认记账完成后,告知交易系统,交易系统调用网关的接口,让网关去访问银行的交易接口,完成该笔转账交易。

在该交易链路中网关系统生成的交易消息均可触发审核程序。终端采集到来自网关系统的交易消息,终端检测到交易消息中包含交易来源字段“网关”,交易来源字段“网关”为审核触发数据,终端获取与其相对应的审核规则,审核规则的关联配置中的业务系统来源信息为“交易系统”,关联交易信息为“业务单号”,审核数据配置为交易金额字段和交易状态字段,审核规则配置为来自网关系统交易消息中的交易金额等于来自交易系统交易消息中的交易金额,来自网关系统交易消息中的交易状态等于来自交易系统交易消息中的交易状态。终端根据业务单号B0001查找到来自交易系统的关联交易消息,终端根据判断规则对两个交易消息中的交易金额字段和交易状态字段进行读取,判断来自两个系统的同一字段是否一致,终端判断读取的字段满足判断规则,即判断两个系统间同一笔交易的金额、状态相等,生成审核通过的交易结果,并对审核内容和审核结果进行存储。终端继续采集此交易链路中的其他交易消息。需要说明的是若待审核交易消息来自网关系统,关联交易消息来自入口系统,中断可以通过商户订单号A0001和业务单号B0001将两条交易消息进行关联。

如图3所示,在一个实施例中,提供了一种终端,该终端包括通过系统总线连接的处理器、内存储器、非易失性存储介质和网络接口。其中,该终端的非易失性存储介质中存储有操作系统和交易数据监控装置,交易数据监控装置用于实现一种交易数据监控方法。终端的处理器用于提供计算和控制能力,被配置为执行一种交易数据监控方法。内存储器为非易失性存储介质中的交易数据监控装置的运行提供环境,内存储器中可储存有计算机可读指令,该计算机可读指令被处理器执行时,可使得处理器执行一种交易数据监控方法。网络接口用于据以与外部的终端通过网络连接通信。本领域技术人员可以理解,图3中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的终端的限定,具体的终端可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。

在一个实施例中,如图4所示,提供了一种交易数据监控装置,该装置包括:

监测模块410,用于监测交易日志中是否有新的交易消息生成;

采集模块420,用于当交易日志中有新的交易消息生成时,将交易消息采集到消息队列;

触发检测模块430,用于检测交易消息中是否包含审核触发数据;

规则获取模块440,用于当交易消息中包含审核触发数据时,获取与审核触发数据相对应的审核规则,审核规则中至少包括关联配置、审核数据配置以及规则配置;

关联模块450,用于根据关联配置从消息队列中查找关联交易消息;

数据读取模块460,用于根据审核数据配置从交易消息中读取第一待审核数据并从关联交易消息中读取第二待审核数据;

审核模块470,用于根据规则配置对第一待审核数据和第二待审核数据进行核对并生成审核结果,当审核结果为异常时,输出交易异常警报。

在一个实施例中,如图5所示,装置还包括:

线程创建模块452,用于当查找不到关联交易消息或查找到部分关联交易消息时,创建轮询检测线程;

定时检测模块454,用于在轮询检测线程中每隔固定时间间隔检测消息队列中是否存在缺失的关联交易消息;

执行模块456,用于当检测到缺失的关联交易消息时,执行根据审核数据配置从交易消息中读取第一待审核数据并从关联交易消息中读取第二待审核数据的步骤。

在一个实施例中,上述装置还包括:

阈值获取模块,用于获取与审核规则对应的预设轮询检测阈值时间;

警报输出模块,用于当在预设轮询检测阈值时间内没有检测到缺失的关联交易消息或检测到的关联交易消息不完整时,输出系统异常警报。

在一个实施例中,如图6所示,装置还包括:

解析模块422,用于对交易消息进行解析;

记录生成模块424,用于根据预设提取规则从解析后的交易消息中提取字段名和与字段名对应的字段,生成消息记录;

字段名转化模块426,用于查找与字段名相对应的标准字段名,将字段名转化为标准字段名。

在一个实施例中,如图7所示,装置还包括:

账号查询模块472,用于当根据审核结果判断异常问题为资损问题时,查找与交易消息相关的交易账号并冻结交易账号;

金额判断模块474,用于根据审核结果中的资损金额判断资损问题是否达到重大资损等级;

指令发送模块476,用于当资损问题达到重大资损等级时,根据审核结果判断异常业务系统并向异常业务系统发送系统中断指令。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。

以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。

再多了解一些
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1