【技术实现步骤摘要】
银行交易资金回流多线程并行检测方法及系统
[0001]本专利技术涉及大数据分析处理
,特别是涉及一种银行交易资金回流多线程并行检测方法及系统。
技术介绍
[0002]在金融大数据分析领域,银行交易记录中的资金回流意味着可能存在金融欺诈行为,是银行金融风控和金融监管的一项重要内容。由于银行交易记录数据量庞大,可能包含数十亿个账户和数千亿甚至万亿条交易流水,而账户之间的交易信息可能错综复杂,因此如何从海量复杂数据中快速检测出存在回流预警的交易环路是需要解决的重要问题。
[0003]图数据结构使用顶点和边表示一组对象及对象之间的关系,可以使用有向图直观、自然地对银行交易数据进行建模,然后利用有向图中的环路挖掘进行交易资金回流的检测。传统的有向环路求解方法大多是串行的思想,利用图上的深度优先搜索遍历来检测环路。串行方法需要高额的数据访问开销和计算开销以遍历整个有向图寻找图中存在的所有有向环路,对银行交易记录这种海量数据使用串行方法进行环路求解存在许多不足。一方面,串行方法无法充分利用多核多处理器的高并发性,造成底层硬件资源的大幅度浪费;另一方面串行环路挖掘效率低,导致资金回流链路检测的反馈时间延迟,无法满足实时金融风控和监管的需求。
技术实现思路
[0004]本专利技术的目的是提供一种银行交易资金回流多线程并行检测方法及系统,通过将计算任务分解到多个线程上并行执行,充分利用底层多核处理器的高并发性缩短算法执行时间,提高存在回流预警的交易环路的挖掘效率。
[0005]为实现上述目的,本专利 ...
【技术保护点】
【技术特征摘要】
1.一种银行交易资金回流多线程并行检测方法,其特征在于,包括:根据银行交易记录构建有向图及其邻接表存储结构,并增加一个虚拟顶点来指向有向图中每一个顶点;基于所述有向图创建线程间共享内存数据结构,定义并初始化线程内局部数据结构;基于所述线程间共享内存数据结构和所述线程内局部数据结构,调用多个线程同时从所述虚拟顶点出发进行深度优先搜索遍历执行有向环路求解算法;所有线程运行结束之后,利用所述线程间共享内存数据结构中的环路集合输出检测到的资金回流环路。2.根据权利要求1所述的银行交易资金回流多线程并行检测方法,其特征在于,所述根据银行交易记录构建有向图及其邻接表存储结构,并增加一个虚拟顶点来指向有向图中每一个顶点,具体包括:获取银行交易记录;所述银行交易记录中包括多条交易流水;将每一条交易流水对应一条有向边,资金转出账户作为起始顶点,资金转入账户作为终止顶点,构建出银行交易记录的有向图;为所述有向图中的每个顶点构建对应的邻接表来存放该顶点指向的所有邻接点;在所述有向图中增加一个虚拟顶点,所述虚拟顶点的邻接表中的邻接点为所述有向图中的所有顶点。3.根据权利要求2所述的银行交易资金回流多线程并行检测方法,其特征在于,所述基于所述有向图创建线程间共享内存数据结构,定义并初始化线程内局部数据结构,具体包括:针对所述有向图中的每个顶点创建三个线程间共享内存数据结构,分别为状态集合status(v)、线程集合thread(v)以及环路集合circle(v);其中状态集合status(v)用于记录该顶点的状态,线程集合thread(v)用于记录该顶点当前所在的线程集合,环路集合circle(v)用于记录该顶点当前所处的环路集合;针对每一个线程p定义两个线程内局部数据结构,分别为控制栈和顶点栈;其中控制栈用于模拟该线程p进行深度优先搜索的递归操作,顶点栈用于存储深度优先搜索遍历过程中访问到的顶点序列;初始化所述控制栈和顶点栈均为空。4.根据权利要求3所述的银行交易资金回流多线程并行检测方法,其特征在于,所述所有线程运行结束之后,利用所述线程间共享内存数据结构中的环路集合输出检测到的资金回流环路,具体包括:所有线程运行结束之后,扫描所述线程间共享内存数据结构中的环路集合的并查集,找出每个环路顶点集合的根节点,并根据根节点的个数统计总的资金回流环路个数;对每个并查集根节点创建一个环路链表存放该根节点所在环路的顶点信息,初始化为空;遍历有向图中的每个顶点,利用并查集上的查找算法找到该顶点的根结点,将该顶点添加至对应根节点的环路链表中;根据每个并查集根节点对应的环路链表输出预设交易长度范围内的资金回流环路。
5.一种银行交易资金回流多线程并行检测系统,其特征在于,包括:有向图及邻接表构建模块,用于根据银行交易记录构...
【专利技术属性】
技术研发人员:张世钒,陈祖希,梅萌,骆翔宇,郑黎晓,周长利,徐中伟,
申请(专利权)人:华侨大学,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。