CN114218303A - 一种交易数据的处理系统、处理方法、介质和设备 - Google Patents
一种交易数据的处理系统、处理方法、介质和设备 Download PDFInfo
- Publication number
- CN114218303A CN114218303A CN202111654532.3A CN202111654532A CN114218303A CN 114218303 A CN114218303 A CN 114218303A CN 202111654532 A CN202111654532 A CN 202111654532A CN 114218303 A CN114218303 A CN 114218303A
- Authority
- CN
- China
- Prior art keywords
- data
- transaction
- cluster
- processing
- service cluster
- 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
Images
Classifications
-
- 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/245—Query processing
- G06F16/2453—Query optimisation
- G06F16/24532—Query optimisation of parallel 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/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/2474—Sequence data queries, e.g. querying versioned data
-
- 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/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/0644—Management of space entities, e.g. partitions, extents, pools
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0674—Disk device
- G06F3/0676—Magnetic disk device
-
- 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/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/546—Message passing systems or structures, e.g. queues
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/54—Indexing scheme relating to G06F9/54
- G06F2209/548—Queue
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Software Systems (AREA)
- Computational Linguistics (AREA)
- Human Computer Interaction (AREA)
- Business, Economics & Management (AREA)
- Finance (AREA)
- Fuzzy Systems (AREA)
- Mathematical Physics (AREA)
- Probability & Statistics with Applications (AREA)
- Accounting & Taxation (AREA)
- Computing Systems (AREA)
- Development Economics (AREA)
- Economics (AREA)
- Marketing (AREA)
- Strategic Management (AREA)
- Technology Law (AREA)
- General Business, Economics & Management (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供一种交易数据的处理系统、处理方法、介质和设备,该方法包括:通过数据切割服务集群将原始交易数据切割成多片子原始交易数据并存储在共享磁盘对应的目录中;通过数据标准化服务集群监听并消费每片子原始交易数据并构建成具有顺序属性的交易链路数据,并写入第一消息队列集群中对应的缓存分片区,通过标准数据分发服务集群监听并消费交易链路数据集合并将其中的数据分发至第二消息队列集群中对应的缓存分片区,得到多片子交易链路数据集合并监听分发结果;当分发完毕后,通过第一交易数据处理服务集群监听并消费分子交易链路数据集合,按照其中的交易步骤执行数据处理。本发明能降低系统等待时间,提高交易数据处理效率。
Description
技术领域
本发明涉及消费金融交易技术领域,尤其涉及一种交易数据的处理系统、处理方法、介质和设备。
背景技术
在日终账务处理时,对交易数据(比如结息数据)进行核算,是一种常见的处理方式。在传统技术中,针对交易数据的处理方式,一般是在日终作业时,将交易数据发送至单台服务器进行处理,但是,当交易数据量特别巨大时,下游的业务处理服务资源使用率暴增,导致拖垮整个集群的处理效率甚至系统到宕机。
再者,有更多变化较少的数据被频繁访问,增加了数据库的访问压力。
发明内容
有鉴于此,本发明实施例的目的在于提供一种交易数据的处理系统、处理方法、介质和设备,以解决现有技术数据处理效率低和数据库访问压力大的技术问题。
为了达到上述目的,第一方面,本发明实施例提供了一种交易数据的处理方法,所述方法包括如下步骤:
步骤1:通过数据切割服务集群对原始交易数据进行分片处理,将所述原始交易数据切割成多片子原始交易数据,并存储在共享磁盘中对应的目录;
步骤2:通过数据标准化服务集群监听并消费所述共享磁盘中的每片子原始交易数据,将所述每片子原始交易数据构建成具有顺序属性的交易链路数据,获得交易链路数据集合,并将所述交易链路数据集合写入第一消息队列集群中对应的缓存分片区;
步骤3:通过标准数据分发服务集群监听并消费所述第一消息队列集群中对应的缓存分片区中的交易链路数据集合,将所述交易链路数据集合中的数据分发至第二消息队列集群中对应的缓存分片区,得到多片子交易链路数据集合,并监听分发结果;
步骤4:当分发结果为分发完毕后,通过第一交易数据处理服务集群监听并消费分发至第二消息队列集群中的缓存分片区中的子交易链路数据集合,按照子交易链路数据集合中的交易步骤执行数据处理,并将执行数据处理的结果持久化至数据库。
在一些可能的实施方式中,步骤1具体包括:
步骤1.1:启动切割任务定时器,当满足切割条件时,所述切割任务定时器触发数据切割服务集群对原始交易数据进行切割;
步骤1.2:所述数据切割服务集群按照哈希取模的方式获得每行原始交易数据的分片索引;
步骤1.3:所述数据切割服务集群根据所述分片索引将每行原始交易数据分别写入第一消息队列集群中对应的缓存分片区,得到多片原始交易数据。
在一些可能的实施方式中,步骤2具体包括:
步骤2.1:数据标准化服务集群监听并消费所述共享磁盘中的每片子原始交易数据,对每片子原始交易数据进行标准化处理,得到标准交易数据;
步骤2.2:数据标准化服务集群对所述标准交易数据进行校验;
步骤2.3:数据标准化服务集群将校验合格的标准交易数据构建成具有顺序属性的交易链路数据集合;
步骤2.4:数据标准化服务集群将所述交易链路数据集合缓存在对应的第一消息队列集群中的缓存分片区。
在一些可能的实施方式中,步骤2.3还包括:
当所述标准交易数据的校验结果为不合格时,所述数据标准化服务集群返回步骤2.1重新对校验不合格的标准交易数据对应的原始交易数据进行标准化处理。
在一些可能的实施方式中,步骤3具体包括:
步骤3.1:标准数据分发服务集群监听并消费所述第一消息队列集群中对应的缓存分片区中的交易链路数据集合;
步骤3.2:所述标准数据分发服务集群对每个缓存分片区中的交易链路数据集合按照哈希取模的方式获得每行数据的分片索引;
步骤3.3:所述标准数据分发服务集群按照所述分片索引将每行数据分发至第二消息队列集群中对应的缓存分片区,得到多片子交易链路数据集合;
步骤3.4:所述标准数据分发服务集群监听分发结果,直至分发完毕。
在一些可能的实施方式中,所述步骤4具体包括:
步骤4.1:当监听到分发结果为分发完毕后,第一交易数据处理服务集群监听并消费所述每片子交易链路数据集合;
步骤4.2:所述第一交易数据处理服务集群将一个或多个交易步骤的数据分别写入第三消息队列集群中对应的缓存分片区,获得一个或多个交易步骤的多个分片数据,并对未被分片的交易步骤执行数据处理。
在一些可能的实施方式中,在所述步骤4.2之后还包括:
步骤4.3:第二交易数据处理服务集群分别从所述第三消息队列集群中对应的缓存分片区中获取分片数据并执行数据处理,将执行数据处理的结果返回至所述第一交易数据处理服务集群;
步骤4.4:所述第一交易数据处理服务集群对执行数据处理的结果持久化至数据库。
第二方面,本发明实施例提供了一种交易数据的处理系统,所述系统包括:
数据切割服务集群,用于对原始交易数据进行分片处理,将所述原始交易数据切割成多片子原始交易数据,并存储在共享磁盘中对应的目录;
数据标准化服务集群,用于通过数据标准化服务集群监听并消费所述共享磁盘中的每片子原始交易数据,将所述每片子原始交易数据构建成具有顺序属性的交易链路数据,获得交易链路数据集合,并将所述交易链路数据集合写入第一消息队列集群中对应的缓存分片区;
标准数据分发服务集群,用于监听并消费所述第一消息队列集群中对应的缓存分片区中的交易链路数据集合,将所述交易链路数据集合中的数据分发至第二消息队列集群中对应的缓存分片区,得到多片子交易链路数据集合,并监听分发结果;
第一交易数据处理服务集群,用于当分发结果为分发完毕后,监听并消费分发至第二消息队列集群中的缓存分片区中的子交易链路数据集合,按照子交易链路数据集合中的交易步骤执行数据处理和/或对一个或多个交易步骤中的数据进行分片处理,并将执行数据处理的结果持久化至数据库。
在一些可能的实施方式中,所述数据标准化服务集群具体包括:
数据清洗模块,用于对对每片子原始交易数据进行标准化处理,得到标准交易数据;
数据校验模块,用于对所述标准交易数据进行校验;
数据计算模块,用于将校验合格的标准交易数据构建成具有顺序属性的交易链路数据集合;
交易包管理模块,用于将所述交易链路数据集合缓存在对应的第一消息队列集群中的缓存分片区。
在一些可能的实施方式中,所述标准数据分发服务集群具体包括:
监听与消费模块,用于监听并消费所述第一消息队列集群中对应的缓存分片区中的交易链路数据集合;
交易链路分片模块,用于对每个缓存分片区中的交易链路数据集合按照哈希取模的方式获得每行数据的分片索引;
分发模块,按照所述分片索引将每行数据分发至第二消息队列集群中对应的缓存分片区,得到多片子交易链路数据集合;
分发结果监听模块,用于监听分发结果,直至分发完毕。
在一些可能的实施方式中,所述第一交易数据处理服务集群具体包括:
交易步骤分片模块,用于当监听到分发结果为分发完毕后,第一交易数据处理服务集群监听并消费所述每片子交易链路数据集合,对一个或多个交易步骤中的数据进行分片处理,获得一个或多个交易步骤的多个分片数据;
写入模块,用于所述第一交易数据处理服务集群将一个或多个交易步骤的多个分片数据分别写入第三消息队列集群中对应的缓存分片区,并对未被分片的交易步骤执行数据处理。
在一些可能的实施方式中,所述系统还包括:
第二交易数据处理服务集群,用于分别从所述第三消息队列集群中对应的缓存分片区中获取分片数据并执行数据处理,将执行数据处理的结果返回至所述第一交易数据处理服务集群;
所述第一交易数据处理服务集群,还用于对执行数据处理的结果持久化至数据库。
第三方面,本发明实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上述任意一种交易数据的处理方法。
第四方面,本发明实施例提供了一种电子设备,其包括:
处理器;
用于存储所述处理器可执行指令的存储器;
其中,处理器被配置为执行所述指令,以实现如上述任意一种交易数据的处理方法。
上述技术方案具有如下有益效果:
本发明实施例提供了一种交易数据的处理系统、处理方法、介质和设备,通过对原始交易数据进行切割处理后,数据标准化服务集群、标准数据分发集群和交易数据处理集群这几个集群中每一个集群都是对上一个集群处理后的数据进行的再加工和处理,且都是基于分片数据并行处理的,分片数据之间没有依赖关系,这样可以有效的降低了系统的等待时间,提高交易数据处理的效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例的一种交易数据的处理方法的流程图;
图2是本发明实施例的数据切割服务集群对原始交易数据进行切割示意图;
图3是本发明实施例的数据标准化服务集群对原始交易数据进行标准化的示意图;
图4是本发明实施例的标准数据分发服务集群对交易链路集合进行分发的示意图;
图5A是本发明实施例的第一种执行交易数据处理的示意图;
图5B是本发明实施例的第二种执行交易数据处理的示意图;
图6是本发明实施例的一种交易数据的处理系统的结构框图;
图7是本发明实施例的一种数据标准化集群的结构框图;
图8是本发明实施例的一种标准数据分发服务集群的结构框图;
图9是本发明实施例的第一交易数据处理服务集群的结构框图;
图10是本发明实施例的第一交易数据处理服务集群与第二交易数据处理集群联合处理数据的结构框图;
图11是本发明实施例的一种交易数据处理的系统部署图;
图12是本发明实施例的一种计算机可读存储介质的功能框图;
图13是本发明实施例的一种电子设备的功能框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
以下首先对相关技术术语进行定义和解释:
交易场景(简称TS,Transaction Scene),表示一笔独立的交易场景的数据结构,例如放款、还款、撤销等都称为一笔TS。TS又可细分为:Raw TS,其表示从文件解析出来的最原始交易场景的数据结构;Standard TS,其表示统一定义的交易场景的标准数据结构。
交易链路(简称TF,Transaction Flow),表示客户当前所有发起的按时间顺序排序的交易步骤,该结构的组织粒度可以是以借据号为单位,也可以是以客户名称为单位。通常是以借据号为单位来组织交易场景。特别说明是,当有些交易场景不能提供交易时间或不能提供强依赖的交易时间时,则需要根据其他属性字段的特点来识别交易的先后顺序。
交易包(complete transaction flow,CTF),所有文件解析后最终生成的TF集合。
数据接入,即将源文件接入到系统内部的过程,通常接入到内存,考虑内存限制,设计为存储在分布式缓存中。
数据清洗,对不同渠道文件数据的差异性进行处理,以期望达到内部系统易于理解的结构的过程,例如字段映射、格式转换、数据补全、完整性校验等。
数据计算,构建面向顺序的TF数据的过程,主要内容是以借据(或客户)为单位组织相关的交易场景(TS),并为交易场景标记具有时间顺序的属性,最终以一个交易流(TF)为最终数据结构供后续服务使用。
实施例一
图1是本发明实施例的一种交易数据的处理方法的流程图,如图1所示,其包括如下步骤:
步骤S1,通过数据切割服务集群对原始交易数据进行分片处理,将原始交易数据切割成多片子原始交易数据,并存储在共享磁盘中对应的目录。
具体的,在原始交易数据量较大而机器硬件的配置有限的情况下,先针对原始交易数据进行切割,按照数据切割服务集群的数量进行切割,将接入的原始交易数据切割成多片数据,具体的,通过数据切割服务集群读取每一行原始交易数据,将每一行原始交易数据写入共享磁盘目录中对应的目录下,得到多片子原始交易数据,后续的所有数据处理均是针对每个缓存分片区的交易数据进行并行处理,以便降低内存压力同时提升计算能力。例如100G的原始交易数据,切割服务集群的数量为10,那么就将100G的原始交易数据切割成10片,每片为10G。另外,当数据分割出现错误时,系统需要重新启动分割的任务,但启动分割的任务仅从有问题的数据开始重新处理。本发明实施例中,当原始交易数据过大时,需要将其拆分出来,增加更多的机器来处理,提升整体处理性能。
步骤S2,通过数据标准化服务集群监听并消费共享磁盘中的每片子原始交易数据,将每片子原始交易数据构建成具有顺序属性的交易链路数据,获得交易链路数据集合,并将交易链路数据集合写入第一消息队列集群中对应的缓存分片区。
具体的,针对共享磁盘目录中的子原始交易数据,数据标准化服务集群监听并消费每个子原始交易数据,将每个子原始交易数据以借据号或者客户名称为单位,将原始交易数据按照时间顺序构建成一个具有顺序属性的交易链路数据集合,并将得到的交易链路数据集合再对应地写入第一消息队列集群中对应的缓存分片区,其中,第一消息队列集群可以为REDIS-MQ集群、RocketMQ集群或者Kafka集群等,可以根据实际需要任意设置。
步骤S3,通过标准数据分发服务集群监听并消费第一消息队列集群中对应的缓存分片区中的交易链路数据集合,将交易链路数据集合中的数据分发至第二消息队列集群中对应的缓存分片区,得到多片子交易链路数据集合,并监听分发结果。
本实施例中,标准数据分发服务集群分别监听并消费第一消息队列集群中对应的缓存分片区中的交易链路数据集合,因为交易链路集合中的数据量较大,需要对每一个交易链路集合再次进行分片处理,即将每片交易链路集合中的数据分发至第二消息队列集群中对应的缓存分区中,把一个交易链路集合再拆分成多片子交易链路集合,还可以监听分发结果,以便于后续对每片子交易链路集合进行处理,减少系统等待时间,以提高数据处理效率。其中,第二消息队列集群可以为REDIS-MQ集群、RocketMQ集群或者Kafka集群等,可以根据实际需要任意设置。
步骤S4,当分发结果为分发完毕后,通过第一交易数据处理服务集群监听并消费分发至第二消息队列集群中的缓存分片区中的子交易链路数据集合,按照子交易链路数据集合中的交易步骤执行数据处理,并将执行数据处理的结果持久化至数据库。
具体的,图5A是本发明实施例的第一种执行交易数据处理的示意图,如图5A所示,就是当每片子交易链路集合全部分发至第二消息队列集群中对应的缓存分区中以后,开始对交易数据进行处理,处理过程如下:
S4.1,通过第一交易数据处理服务集群监听并消费分发至第二消息队列集群中的缓存分片区中的子交易链路数据集合,按照子交易链路数据集合中的交易步骤执行数据处理,例如,子交易链路集合中的交易步骤为放款服务->还款服务->撤销服务,那么第一交易数据处理服务集群在处理数据时,按照放款服务、还款服务和撤销服务这三个步骤分别来执行业务数据的处理。
S4.2,通过第一交易数据处理服务集群执行完业务处理后,将业务数据的处理结果持久化至数据库。
另外,当某一个或多个交易步骤的数据较大时,需要对该步骤的数据进行分片处理,以加快交易数据的处理速度。
本发明实施例中,采用分片处理的方式,可以使得上下游服务集群同时对每片数据进行并行处理,即使任何一片停止响应或宕机,也不影响另一片的运行,从而可以降低系统等待时间,例如切割原始交易数据期间,数据标准化服务集群可以处于工作状态。
本发明实施例中,通过第一消息队列、第二消息队列和第三消息队列等可以消除排队,达到缓冲的作用,有效的保护了消费端服务的稳定性,即使TF数据量特别巨大导致下游的业务处理服务资源使用率暴增时,不会拖垮整个集群的处理效率,也不会导致系统宕机。
本发明实施例中,每笔交易数据经标准化后是以TF为单位组织数据,各个TF间是没有依赖关系的,因此在处理时更易于架构设计,例如通过某种算法进行流量分区,分发到不同机器上处理。
本发明实施例中,采用REDIS消息队列,能够提高系统可靠性,更好的应对消息丢失、积压、宕机等棘手问题。
本发明实施例中,在切割、标准化、数据处理时可以使用一整套标准的数据结构和接口,开发简单,无需考虑存取盘的差异问题,而对具体分区数据的存放和读取也有成熟的算法和定制接口,开发成本降低。
本发明实施例中,交易数据处理时采用分布式缓存技术,通过分布式缓存技术提供更大容量的存储空间,并保持与单机相似的访问速度,降低对数据库的访问压力。
图2是本发明实施例的数据切割服务集群对原始交易数据进行切割示意图,在一些实施例中,如图2所示,步骤1具体可以包括如下步骤:
步骤1.1:启动切割任务定时器,当满足切割条件时,切割任务定时器触发数据切割服务集群对原始交易数据进行切割。
本实施例中,会预先设置一个开始切割的条件,比如接入原始交易数据量达到100G(例如放款数据(Loan raw)(30GB)、还款数据(Repay raw)(40G)、撤销数据(Int raw)(10G)和其他数据(Others raw)(20G)),或者其它数据量时,切割任务定时器会自动触发数据切割服务集群对原始交易数据开始对原始交易数据进行切割。作为一个举例说明,此处有放款数据、还款数据、撤销数据和其他数据,那么可以采用四个数据切割服务器分别对四种交易数据进行切割分片处理,将每一种原始交易数据都拆分成10片或者其他片数。
步骤1.2:数据切割服务集群按照哈希取模的方式获得每行原始交易数据的分片索引。
本实施例中,原始交易数据被数据切割服务集群经过哈希算法拆分成多组rawts内存对象集合,然后将拆分后的多组rawts分别存放在共享磁盘中对应的目录下,即将每个原始交易数据都拆分成多片后放入共享磁盘中对应的目录下。为了避免原始交易数据分布不均匀,对借据号进行哈希后再取模,分布就均匀了。例如,以放款数据为例,Loan.cvs的数据如下:an_id,loan_amt,loan_dt:“HT84847471”,“10000”,“2021/12/21”,“HT84847474”,“20000”,“2021/12/24”,扫描器读取当前数据文件当前行,取出当前行的借据号,计算该片区的位置:i=散列(借据号),将该行数据写入i片区的loan_i.csv文件,i为0、1、2……等正整数,分片后的结果为将大文件->片区->小文件,如0片区Loan_0.cvs、1片区Loan_1.cvs……等。
步骤1.3:数据切割服务集群根据分片索引将每行原始交易数据分别写入共享磁盘对应的目录下,得到多片子原始交易数据。
本实施例中,根据分片索引决定每一行原始交易数据应该是存放到共享磁盘中的哪一个目录文件中,例如,放款数据文件loan_file,读取每一行数据,根据借据号进行哈希处理和取模运算,或者直接进行取模运算得到每行数据的分片索引,例如0索引,则将该行数据写入loan_file_0文件中,下一行通过借据号取模运算得到索引3,然后将该行写入loan_file_2文件中,如还款数据文件Repay_file,读取每一行数据,根据借据号进行哈希处理和取模运算,或者直接进行取模运算得到每行数据的分片索引,例如0索引,则将该行数据写入共享磁盘中Repay_file_0文件中,下一行通过借据号取模运算得到索引3,然后将该行写入共享磁盘中Repay_file_2文件中,如撤销数据文件Int_file,读取每一行数据,根据借据号进行哈希处理和取模运算,或者直接进行取模运算得到每行数据的分片索引,例如0索引,则将该行数据写入共享磁盘中Int_file_0文件中,下一行通过借据号取模运算得到索引3,然后将该行写入共享磁盘中Int_file_2文件中,如其他数据文件Others_file,读取每一行数据,根据借据号进行哈希处理和取模运算,或者直接进行取模运算得到每行数据的分片索引,例如0索引,则将该行数据写入共享磁盘中Others_file_0文件中,下一行通过借据号取模运算得到索引3,然后将该行写入共享磁盘中Others_file_2文件中。
需要说明的是,以借据号为例,不同的借据号会分散到不同的片区,唯一不同的是,相同借据号的不同场景必须在一个片区。例如借据号1009的,如果放款数据在loan_file_0的文件中,那么归属于该借据号的所有数据(如还款、撤销等)都必须在loan_file_0中,如果在不同的片区,每个片区的数据是并发处理的,如果每个片区都包含该借据的一部分数据,就无法保证该借据的顺序性处理了,例如loan_file_0执行撤销,然后loan_file_9在执行放款,那么之后的业务操作一定会失败。
图3是本发明实施例的数据标准化服务集群对原始交易数据进行标准化的示意图,在一些实施例中,如图3所示,步骤S2具体包括:
步骤2.1,数据标准化服务集群监听并消费共享磁盘中的每片子原始交易数据,对每片子原始交易数据进行标准化处理,得到标准交易数据。
具体的,通过数据标准化服务集群监听共享磁盘目录中的每片子原始交易数据,对监听到的原始交易数据进行数据清洗服务,对不同渠道数据的差异性进行处理,以期望达到内部系统易于理解的标准数据,例如字段映射、格式转换、数据补全,即将rawts转变为standardts。
步骤2.2,通过数据标准化服务集群对标准交易数据进行数据校验。
具体的,对转化后的标准数据进行完整性校验,确定转化后的标准数据是否完整,如果数据不完整,将会影响后面交易数据处理的准确性,即校验这个数据模型的合法性和完整性,例如日期不能缺失、金额不能小于0等等。
在一些实施例中,上述步骤2.2具体可以包括:
通过数据标准化服务集群中的数据校验模块对标准交易数据进行校验,校验标准交易数据的格式是否合格,例如校验标准交易数据是否完整;
如果否,则数据标准化服务集群中的数据清洗模块重新对校验不合格的标准交易数据对应的原始交易数据进行标准化处理;
如果是,则数据标准化服务集群中的数据计算模块将标准交易数据构建成具有顺序属性的交易链路数据集合。避免交易数据不完整导致后续交易数据执行业务处理时出现错误。
步骤2.3,将校验合格的标准交易数据构建成具有顺序属性的交易链路数据集合;
本实施例中,对校验合格后的数据进行数据计算,即校验合格的标准交易数据将按照数据处理的时间顺序构建成具有顺序属性的交易链路数据集合(即standardts->TF),例如,交易数据有三种,放款数据、还款数据和撤销数据,将会按照每一种数据处理的时间顺序存放到交易链路的对应的节点上。具体的,例如,某一个交易链路是放款->还款->撤销,当某一个线程先处理的是放款数据,那么将放款数据存放在放款这个节点上,另一个线程处理的是还款数据,那么就将还款数据存放在还款的节点上,还有一个线程处理的是撤销数据,那么就将撤销数据存放在撤销的节点上,依此类推,按照数据处理的时间顺序存放在交易链路的不同的节点上,直至每片缓存分区中的rawts数据处理完成,得到交易链路数据集合(即交易包)发送至交易包管理模块。
步骤2.4:通过数据标准化服务集群将交易链路数据集合缓存在对应的第一消息队列集群中的缓存分片区。
本实施例中,生成交易链路数据集合后通过交易包管理模块分发至对应的缓存分片区中,例如缓存分片区0、缓存分片区1……缓存分片区n等。
图4是本发明实施例的标准数据分发服务集群对交易链路集合进行分发的示意图,在一些实施例中,如图4所示,步骤3具体包括:
步骤3.1:标准数据分发服务集群监听并消费第一消息队列集群中对应的缓存分片区中的交易链路数据集合。
具体的,通过标准数据分发服务集群监听并消费第一消息队列集群中某个缓存分片区中的交易链路数据集合。
步骤3.2:标准数据分发服务集群对每个缓存分片区中的交易链路数据集合按照哈希取模的方式获得每行数据的分片索引。
在标准数据分发服务集群中,通过批处理执行引擎批量接入某片区中的交易链路数据集合,通过TF分发服务对交易链路集合中的交易步骤进行分发,例如,将贷款数据分发至StepALoanManager(步骤A贷款服务),将还款数据分发至StepBRepayManager(步骤B还款服务),将撤销数据分发至StepCIntManager(步骤C撤销服务),然后对分发后的三个步骤的数据按照哈希取模的方式获得每行数据的分片索引,得到包含多片包含放款数据、还款数据和撤销数据的子交易链路集合。
步骤3.3:标准数据分发服务集群按照分片索引将每行数据分发至第二消息队列集群中对应的缓存分片区,得到多片子交易链路数据集合。
具体的,采用哈希分片的方式将某片区的数据按照交易步骤进行分片处理得到多片包含放款数据、还款数据和撤销数据的子交易链路集合后,分发某片区的TF数据,将某片区的数据分发至第二消息队列集群中与消息队列名称对应的缓存分片区,例如缓存分片区1、缓存分片区2……缓存分片区n等。
作为一个举例说明,每一个消息队列中的缓存分片区都有一个消息队列名称与之对应,<消息队列名>_index为index=散列(借据号)%缓存分片区数量,例如,如果缓存分片区的数量是10,也就是说这个消息队列有10片缓存分片区,即计算范围是{0,1,2,..9},那么每行数据的分片索引=散列(借据号)%缓存分片区数量,例如分片索引为0,那么这片数据就放入消息队列名为Loan_0的缓存分片区中,分片索引为1,那么这片文件就放入消息队列名为Loan_1的缓存分片区中。
步骤3.4,标准数据分发服务集群监听分发结果直至分发完毕后停止分发。
本实施例中,在分发某片区的TF数据时,标准数据分发服务集群会实时监听分发结果,以节省后续处理时的等待时间。
图5B是本发明实施例的另一种执行交易数据处理的示意图,在一些实施例中,如图5B所示,在执行交易数据处理时,当第一交易数据处理服务集群对某一个具有较大数据的交易步骤进行数据处理时,步骤4具体包括如下步骤:
步骤4.1:当监听到分发结果为分发完毕后,第一交易数据处理服务集群监听并消费每片子交易链路数据集合。
当某片区的TF数据分发完毕后,通过第一交易数据处理服务集群监听并消费某片区的TF数据并执行交易数据处理,例如,贷款数据处理(StepALoanWorker),还款数据处理(StepBRepayWorker),撤销数据(StepCIntWorker),在交易处理过程中,如果某一个或者多个交易步骤的数据量较大时,对数据量较大的交易步骤进行分片处理,以提高交易数据的处理速度。
步骤4.2:第一交易数据处理服务集群将一个或多个交易步骤的数据分别写入第三消息队列集群中对应的缓存分片区,获得一个或多个交易步骤的多个分片数据,并对未被分片的交易步骤执行数据处理。
本实施例中,当某一个或多个交易步骤的数据量较大时,可以通过第一交易数据处理服务集群对需要分片处理的交易步骤进行分片处理,具体的,将某一个或多个交易步骤的数据分别写入第三消息队列集群对应的分片中,例如CACHE-分片1、CACHE-分片2……CACHE-分片n等,其中,第三消息队列集群可以为高速缓冲存储器。
本实施例中,通过对一个或多个交易步骤进行分片后,还包括如下步骤:
步骤4.3:第二交易数据处理服务集群分别从第三消息队列集群中对应的缓存分片区中获取分片数据并执行数据处理,并将执行数据处理的结果返回至第一交易数据处理服务集群。
具体的,通过第二交易数据处理服务集群分别对第三消息队列集群中的每一片的交易数据进行并行处理,例如处理放款数据、还款数据和撤销数据等,并将处理结果返回至第一交易数据处理服务集群,极大的提高了交易数据的处理效率,作为一个举例说明,当处理某片交易数据时,该片交易数据包括放款数据、还款数据和撤销数据,当放款数据、还款数据和撤销数据中的还款数据较大时,如果不对还款数据进行分片处理,那么在放款数据和撤销数据处理完成时,需要等待还款数据的处理才能完成这一个分片区全部的数据处理,但是如果将还款文件进行分片处理后,就极大的节省了还款数据的处理时间,也无需等待,极大的提高了该片交易数据的处理效率。
步骤4.4,第一交易数据处理服务集群对执行数据处理的结果持久化至数据库。
本发明实施例中,采用分片处理的方式,可以使得上下游服务集群同时对每片数据进行并行处理,即使任何一片停止响应或宕机,也不影响另一片的运行,从而可以降低系统等待时间,例如切割原始交易数据期间,数据标准化服务集群可以处于工作状态。
本发明实施例中,通过第一消息队列、第二消息队列和第三消息队列等可以消除排队,达到缓冲的作用,有效的保护了消费端服务的稳定性,即使TF数据量特别巨大导致下游的业务处理服务资源使用率暴增时,不会拖垮整个集群的处理效率,也不会导致系统宕机。
本发明实施例中,每笔交易数据经标准化后是以TF为单位组织数据,各个TF间是没有依赖关系的,因此在处理时更易于架构设计,例如通过某种算法进行流量分区,分发到不同机器上处理。
本发明实施例中,采用REDIS消息队列,能够提高系统可靠性,更好的应对消息丢失、积压、宕机等棘手问题。
本发明实施例中,在切割、标准化、数据处理时可以使用一整套标准的数据结构和接口,开发简单,无需考虑存取盘的差异问题,而对具体分区数据的存放和读取也有成熟的算法和定制接口,开发成本降低。
本发明实施例中,交易数据处理时采用分布式缓存技术,通过分布式缓存技术提供更大容量的存储空间,并保持与单机相似的访问速度,降低对数据库的访问压力。
实施例二
图6是本发明实施例的一种交易数据的处理系统100的结构框图,如图6所示,该处理系统100包括:
数据切割服务集群10,用于对原始交易数据进行分片处理,将原始交易数据切割成多片子原始交易数据,并存储在共享磁盘中对应的目录;
具体的,在原始交易数据量较大而机器硬件的配置有限的情况下,先针对原始交易数据进行切割,按照数据切割服务集群10的数量进行切割,将接入的原始交易数据切割成多片数据,具体的,通过数据切割服务集群10读取每一行原始交易数据,将每一行原始交易数据写入共享磁盘目录中对应的目录下,得到多片子原始交易数据,后续的所有数据处理均是针对每个缓存分片区的交易数据进行并行处理,以便降低内存压力同时提升计算能力。例如100G的原始交易数据,数据切割服务集群10的数量为10,那么就将100G的原始交易数据切割成10片,每片为10G。另外,当数据分割出现错误时,系统需要重新启动分割的任务,但启动分割的任务仅从有问题的数据开始重新处理。本发明实施例中,当原始交易数据过大时,需要将其拆分出来,增加更多的机器来处理,提升整体处理性能。
数据标准化服务集群20,用于监通过数据标准化服务集群监听并消费共享磁盘中的每片子原始交易数据,将每片子原始交易数据构建成具有顺序属性的交易链路数据,获得交易链路数据集合,并将交易链路数据集合写入第一消息队列集群中对应的缓存分片区。
具体的,针对第一消息队列集群中的每个缓存分片区中的原始交易数据,数据标准化服务集群20监听并消费每个缓存分片区的原始交易数据,将每个缓存分片区的原始交易数据以借据号或者客户名称为单位,将原始交易数据按照时间顺序构建成多个具有顺序属性的交易链路数据,并将得到的多个交易链路数据集合再对应的写入第一消息队列集群中对应的缓存分片区,其中,第一消息队列集群可以为REDIS-MQ消息队列。
标准数据处理服务集30,用于群监听并消费第一消息队列集群中对应的缓存分片区中的交易链路数据集合,对每个缓存分片区中的交易链路数据集合进行分片处理,并将每片交易链路数据集合中的数据分发至第二消息队列集群中对应的缓存分片区,得到多片子交易链路数据集合,并监听分发结果。
本实施例中,标准数据分发服务集群30分别监听并消费第一消息队列集群中对应的缓存分片区中的交易链路数据集合,因为交易链路集合中的数据量较大,需要对每一个交易链路集合再次进行分片处理,即将每片交易链路集合中的数据分发至第二消息队列集群中对应的缓存分区中,即把一个交易链路集合再拆分成多片子交易链路集合,还可以监听分发结果,以便于后续对每片子交易链路集合进行处理,减少系统等待时间,以提高数据处理效率。其中,第二消息队列集群可以为REDIS-MQ消息队列。
第一交易数据处理服务集群40,用于当分发结果为分发完毕后,监听并消费分发至第二消息队列集群中的缓存分片区中的子交易链路数据集合,按照子交易链路数据集合中的交易步骤执行数据处理。
具体的,当每片子交易链路集合全部分发至第二消息队列集群中对应的缓存分区中以后,开始对交易数据进行处理,通过第一交易数据处理服务集群40监听并消费分发至第二消息队列集群中的缓存分片区中的子交易链路数据集合,按照子交易链路数据集合中的交易步骤执行数据处理。
在一些实施例中,如图7所示,数据标准化服务集群20具体包括:
数据清洗模块201,用于对对每片子原始交易数据进行标准化处理,得到标准交易数据;
数据校验模块202,用于对标准交易数据进行校验;
数据计算模块203,用于将校验合格的标准交易数据构建成具有顺序属性的交易链路数据集合;
交易包管理模块204,用于将交易链路数据集合缓存在对应的第一消息队列集群中的缓存分片区。
相关细节可参考图3所示的方法实施例。
在一些实施例中,如图8所示,标准数据分发服务集群30具体包括:
监听与消费模块301,用于监听并消费第一消息队列集群中对应的缓存分片区中的交易链路数据集合;
交易链路分片模块302,用于对每个缓存分片区中的交易链路数据集合按照交易步骤进行哈希分片处理,得到多片子交易链路数据集合;
分发模块303,用于将每片子交易链路数据集合分发至第二消息队列集群中对应的缓存分片区;
分发结果监听模块304,用于监听分发结果,直至分发完毕。
相关细节可参考图4所示的方法实施例。
在一些实施例中,如图9所示,第一交易数据处理服务集群40具体包括:
交易步骤分片模块401,用于当监听到分发结果为分发完毕后,第一交易数据处理服务集群监听并消费每片子交易链路数据集合,对一个或多个交易步骤中的数据进行分片处理,获得一个或多个交易步骤的多个分片数据;
写入模块402,用于第一交易数据处理服务集群将一个或多个交易步骤的多个分片数据分别写入第三消息队列集群中对应的缓存分片区,并对未被分片的交易步骤执行数据处理。
在一些实施例中,如图10所示,该系统还包括:
第二交易数据处理服务集群50,用于分别从第三消息队列集群中对应的缓存分片区中获取分片数据并执行数据处理,将执行数据处理的结果返回至第一交易数据处理服务集群;
第一交易数据处理服务集群40对执行数据处理的结果持久化至数据库。
本实施例中通过第一交易数据处理服务集群和第二交易数据处理服务集群联合对交易步骤进行数据处理,相关细节可参考图5B所示的方法实施例。
为了使本领域技术人员更加理解本发明实施例提供的技术方案,下面对本发明实施例提供的一种交易数据处理系统进行详细说明。图11是本发明实施例的一种交易数据处理的系统部署图,如图11所示,业务人员通过后管系统服务器集群管理任务定时器、调度服务、监控中心的服务监控检查等工作,运维人员通VPN(Virtual Private Network,虚拟专用网络)和堡垒机对系统进行维护,其中,堡垒机是指在一个特定的网络环境下,为了保障网络和数据不受来自外部和内部用户的入侵和破坏,而运用各种技术手段实时收集和监控网络环境中每一个组成部分的系统状态、安全事件、网络活动,以便集中报警、及时处理及审计定责。该系统分为数据切割服务集群、数据标准化服务集群、标准数据分发服务集群、第一交易数据处理服务集群四个阶段,在部署上是一个分层的架构。每一阶段都是上一阶段对数据的再加工和处理。除了原始文件分片切割阶段外,其他每个阶段都是基于分片数据并行处理,分片数据之间没有依赖关系,所以在部署上更容易伸缩扩容,其中,每片服务器均包括一个主节点和一个备节点。
从虚拟服务器节点运行分布情况看,主要体现在分片的设计。例如原始交易数据切割服务集群根据借据号对原始交易数据进行切割;交易包存储基于借据号进行分片写盘;第一交易数据处理服务集群根据分片的文件独立运行计算节点进行消费。
本发明实施例中,采用异步处理的方式提升了上下游服务同时处理,即使任何一方停止响应或宕机,也不影响另一方的运行,降低系统等待时间,例如切割原始交易数据期间,数据标准化服务集群可以处于工作状态。
本发明实施例中,采用分片处理的方式,可以使得上下游服务集群同时对每片数据进行并行处理,即使任何一片停止响应或宕机,也不影响另一片的运行,从而可以降低系统等待时间,例如切割原始交易数据期间,数据标准化服务集群可以处于工作状态。
本发明实施例中,通过第一消息队列、第二消息队列和第三消息队列等可以消除排队,达到缓冲的作用,有效的保护了消费端服务的稳定性,即使TF数据量特别巨大导致下游的业务处理服务资源使用率暴增时,不会拖垮整个集群的处理效率,也不会导致系统宕机。
本发明实施例中,每笔交易数据经标准化后是以TF为单位组织数据,各个TF间是没有依赖关系的,因此在处理时更易于架构设计,例如通过某种算法进行流量分区,分发到不同机器上处理。
本发明实施例中,采用REDIS消息队列,能够提高系统可靠性,更好的应对消息丢失、积压、宕机等棘手问题。
本发明实施例中,在切割、标准化、数据处理时可以使用一整套标准的数据结构和接口,开发简单,无需考虑存取盘的差异问题,而对具体分区数据的存放和读取也有成熟的算法和定制接口,开发成本降低。
本发明实施例中,交易数据处理时采用分布式缓存技术,通过分布式缓存技术提供更大容量的存储空间,并保持与单机相似的访问速度,降低对数据库的访问压力。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
实施例三
如图12所示,本发明实施例还提供了一种计算机可读存储介质500,计算机可读存储介质500内存储有计算机程序510,计算机程序被处理器执行时实现上述一种交易数据的处理方法的各步骤。例如,计算机程序被处理器执行时实现如下步骤:
步骤1:通过数据切割服务集群对原始交易数据进行分片处理,得到多片原始交易数据,分别将每片原始交易数据写入第一消息队列集群中对应的缓存分片区;
步骤2:通过数据标准化服务集群监听并消费每个缓存分片区的原始交易数据,将每个缓存分片区的原始交易数据构建成具有顺序属性的交易链路数据,获得交易链路数据集合,并将交易链路数据集合写入第一消息队列集群中对应的缓存分片区;
步骤3:通过标准数据分发服务集群监听并消费第一消息队列集群中对应的缓存分片区中的交易链路数据集合,对每个缓存分片区中的交易链路数据集合进行分片处理,并将交易链路数据集合中的数据分发至第二消息队列集群中对应的缓存分片区,得到多片子交易链路数据集合,并监听分发结果;
步骤4:当分发结果为分发完毕后,通过第一交易数据处理服务集群监听并消费分发至第二消息队列集群中的缓存分片区中的子交易链路数据集合,按照子交易链路数据集合中的交易步骤执行数据处理,并将执行数据处理的结果持久化至数据库。
所述集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。当然,还有其他方式的可读存储介质,例如量子存储器、石墨烯存储器等等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
实施例四
请参见图13,本发明实施例还提供一种电子设备。图13是本发明的一个实施例电子设备的结构示意图。请参考图13,在硬件层面,该电子设备包括处理器,可选地还包括内部总线、网络接口、存储器。其中,存储器可能包含内存,例如高速随机存取存储器(Random-Access Memory,RAM),也可能还包括非易失性存储器(non-volatile memory),例如至少1个磁盘存储器等。当然,该电子设备还可能包括其他业务所需要的硬件。
处理器、网络接口和存储器可以通过内部总线相互连接,该内部总线可以是工业标准体系结构ISA总线、外设部件互连标准PCI总线或扩展工业标准结构EISA总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图7中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
存储器,用于存放程序。具体地,程序可以包括程序代码,所述程序代码包括计算机操作指令。存储器可以包括内存和非易失性存储器,并向处理器提供指令和数据。处理器从非易失性存储器中读取对应的计算机程序到内存中然后运行,在逻辑层面上形成基于集中配置的自动化容灾系统。处理器,执行存储器所存放的程序,并具体用于执行图1至图5B所示实施例揭示的一种交易数据的处理方法。
上述如图1至图5B所示实施例揭示的一种交易数据的处理方法可以应用于处理器中,或者由处理器实现。处理器可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是通用处理器,包括中央处理器(CentralProcessing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital SignalProcessor,DSP)、专用集成电路(Application Specific IntegratedCircuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。
当然,除了软件实现方式之外,本发明的电子设备并不排除其他实现方式,比如逻辑器件抑或软硬件结合的方式等等,也就是说以下处理流程的执行主体并不限定于各个逻辑单元,也可以是硬件或逻辑器件。上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、车载人机交互设备、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
虽然本发明提供了如实施例或流程图所述的方法操作步骤,但基于常规或者无创造性的手段可以包括更多或者更少的操作步骤。实施例中列举的步骤顺序仅仅为众多步骤执行顺序中的一种方式,不代表唯一的执行顺序。在实际中的装置或终端产品执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行(例如并行处理器或者多线程处理的环境,甚至为分布式数据处理环境)。
本发明是参照根据本发明实施例的方法、设备、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置、电子设备及可读存储介质实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
Claims (14)
1.一种交易数据的处理方法,其特征在于,所述方法包括:
步骤1:通过数据切割服务集群对原始交易数据进行分片处理,将所述原始交易数据切割成多片子原始交易数据,并存储在共享磁盘对应的目录中;
步骤2:通过数据标准化服务集群监听并消费所述共享磁盘中的每片子原始交易数据,将所述每片子原始交易数据构建成具有顺序属性的交易链路数据,获得交易链路数据集合,并将所述交易链路数据集合写入第一消息队列集群中对应的缓存分片区;
步骤3:通过标准数据分发服务集群监听并消费所述第一消息队列集群中对应的缓存分片区中的交易链路数据集合,将所述交易链路数据集合中的数据分发至第二消息队列集群中对应的缓存分片区,得到多片子交易链路数据集合,并监听分发结果;
步骤4:当分发结果为分发完毕后,通过第一交易数据处理服务集群监听并消费分发至第二消息队列集群中的缓存分片区中的子交易链路数据集合,按照子交易链路数据集合中的交易步骤执行数据处理并将执行数据处理的结果持久化至数据库。
2.根据权利要求1所述的方法,其特征在于,步骤1具体包括:
步骤1.1:启动切割任务定时器,当满足切割条件时,所述切割任务定时器触发数据切割服务集群对原始交易数据进行切割;
步骤1.2:所述数据切割服务集群按照哈希取模的方式获得每行原始交易数据的分片索引;
步骤1.3:所述数据切割服务集群根据所述分片索引将每行原始交易数据分别写入共享磁盘对应的目录中,得到多片子原始交易数据。
3.根据权利要求1所述的方法,其特征在于,步骤2具体包括:
步骤2.1:数据标准化服务集群监听并消费所述共享磁盘中的每片子原始交易数据,对每片子原始交易数据进行标准化处理,得到标准交易数据;
步骤2.2:数据标准化服务集群对所述标准交易数据进行校验;
步骤2.3:数据标准化服务集群将校验合格的标准交易数据构建成具有顺序属性的交易链路数据集合;
步骤2.4:数据标准化服务集群将所述交易链路数据集合缓存在对应的第一消息队列集群中的缓存分片区。
4.根据权利要求3所述的方法,其特征在于,步骤2.3还包括:
当所述标准交易数据的校验结果为不合格时,所述数据标准化服务集群返回步骤2.1重新对校验不合格的标准交易数据对应的原始交易数据进行标准化处理。
5.根据权利要求1所述的方法,其特征在于,步骤3具体包括:
步骤3.1:标准数据分发服务集群监听并消费所述第一消息队列集群中对应的缓存分片区中的交易链路数据集合;
步骤3.2:所述标准数据分发服务集群对每个缓存分片区中的交易链路数据集合按照哈希取模的方式获得每行数据的分片索引;
步骤3.3:所述标准数据分发服务集群按照所述分片索引将每行数据分发至第二消息队列集群中对应的缓存分片区,得到多片子交易链路数据集合;
步骤3.4:所述标准数据分发服务集群监听分发结果,直至分发完毕。
6.根据权利要求1所述的方法,其特征在于,所述步骤4具体包括:
步骤4.1:当监听到分发结果为分发完毕后,第一交易数据处理服务集群监听并消费每片子交易链路数据集合;
步骤4.2:所述第一交易数据处理服务集群将一个或多个交易步骤的数据分别写入第三消息队列集群中对应的缓存分片区,获得一个或多个交易步骤的多个分片数据,并对未被分片的交易步骤执行数据处理。
7.根据权利要求6所述的方法,其特征在于,在所述步骤4.2之后还包括:
步骤4.3:第二交易数据处理服务集群分别从所述第三消息队列集群中对应的缓存分片区中获取分片数据并执行数据处理,将执行数据处理的结果返回至所述第一交易数据处理服务集群;
步骤4.4:所述第一交易数据处理服务集群对执行数据处理的结果持久化至数据库。
8.一种交易数据的处理系统,其特征在于,所述系统包括:
数据切割服务集群,用于对原始交易数据进行分片处理,将所述原始交易数据切割成多片子原始交易数据,并存储在共享磁盘中对应的目录;
数据标准化服务集群,用于监监听并消费所述共享磁盘中的每片子原始交易数据,将所述每片子原始交易数据构建成具有顺序属性的交易链路数据,获得交易链路数据集合,并将所述交易链路数据集合写入第一消息队列集群中对应的缓存分片区;
标准数据分发服务集群,用于监听并消费所述第一消息队列集群中对应的缓存分片区中的交易链路数据集合,将所述交易链路数据集合中的数据分发至第二消息队列集群中对应的缓存分片区,得到多片子交易链路数据集合,并监听分发结果;
第一交易数据处理服务集群,用于当分发结果为分发完毕后,监听并消费分发至第二消息队列集群中的缓存分片区中的子交易链路数据集合,按照子交易链路数据集合中的交易步骤执行数据处理和/或对一个或多个交易步骤中的数据进行分片处理,并将执行数据处理的结果持久化至数据库。
9.根据权利要求8所述的系统,其特征在于,所述数据标准化服务集群具体包括:
数据清洗模块,用于对每片子原始交易数据进行标准化处理,得到标准交易数据;
数据校验模块,用于对所述标准交易数据进行校验;
数据计算模块,用于将校验合格的标准交易数据构建成具有顺序属性的交易链路数据集合;
交易包管理模块,用于将所述交易链路数据集合缓存在对应的第一消息队列集群中的缓存分片区。
10.根据权利要求8所述的系统,其特征在于,所述标准数据分发服务集群具体包括:
监听与消费模块,用于监听并消费所述第一消息队列集群中对应的缓存分片区中的交易链路数据集合;
交易链路分片模块,用于对每个缓存分片区中的交易链路数据集合按照哈希取模的方式获得每行数据的分片索引;
分发模块,按照所述分片索引将每行数据分发至第二消息队列集群中对应的缓存分片区,得到多片子交易链路数据集合;
分发结果监听模块,用于监听分发结果,直至分发完毕。
11.根据权利要求8所述的系统,其特征在于,所述第一交易数据处理服务集群具体包括:
交易步骤分片模块,用于当监听到分发结果为分发完毕后,第一交易数据处理服务集群监听并消费每片子交易链路数据集合,对一个或多个交易步骤中的数据进行分片处理,获得一个或多个交易步骤的多个分片数据;
写入模块,用于所述第一交易数据处理服务集群将一个或多个交易步骤的多个分片数据分别写入第三消息队列集群中对应的缓存分片区,并对未被分片的交易步骤执行数据处理。
12.根据权利要求11所述的系统,其特征在于,所述系统还包括:
第二交易数据处理服务集群,用于分别从所述第三消息队列集群中对应的缓存分片区中获取分片数据并执行数据处理,将执行数据处理的结果返回至所述第一交易数据处理服务集群;
所述第一交易数据处理服务集群,还用于对执行数据处理的结果持久化至数据库。
13.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-7中任意一项所述的一种交易数据的处理方法。
14.一种电子设备,其特征在于,其包括:
处理器;
用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为执行所述指令,以实现如权利要求1-7中任意一项所述的一种交易数据的处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111654532.3A CN114218303B (zh) | 2021-12-30 | 2021-12-30 | 一种交易数据的处理系统、处理方法、介质和设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111654532.3A CN114218303B (zh) | 2021-12-30 | 2021-12-30 | 一种交易数据的处理系统、处理方法、介质和设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114218303A true CN114218303A (zh) | 2022-03-22 |
CN114218303B CN114218303B (zh) | 2023-03-24 |
Family
ID=80707071
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111654532.3A Active CN114218303B (zh) | 2021-12-30 | 2021-12-30 | 一种交易数据的处理系统、处理方法、介质和设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114218303B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115242731A (zh) * | 2022-07-21 | 2022-10-25 | 中国农业银行股份有限公司 | 一种报文处理方法、装置、设备及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9081772B1 (en) * | 2012-04-26 | 2015-07-14 | Pivotal Software, Inc. | Method and apparatus for acid validation within a distributed relational database under controlled concurrent workloads |
CN110716813A (zh) * | 2019-09-17 | 2020-01-21 | 贝壳技术有限公司 | 数据流处理方法、装置、可读存储介质及处理器 |
CN111767143A (zh) * | 2020-06-24 | 2020-10-13 | 中国工商银行股份有限公司 | 交易数据处理方法、装置、设备及系统 |
CN112416562A (zh) * | 2020-12-11 | 2021-02-26 | 深圳市思迪信息技术股份有限公司 | 一种分布式任务调度引擎的方法及装置 |
-
2021
- 2021-12-30 CN CN202111654532.3A patent/CN114218303B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9081772B1 (en) * | 2012-04-26 | 2015-07-14 | Pivotal Software, Inc. | Method and apparatus for acid validation within a distributed relational database under controlled concurrent workloads |
CN110716813A (zh) * | 2019-09-17 | 2020-01-21 | 贝壳技术有限公司 | 数据流处理方法、装置、可读存储介质及处理器 |
CN111767143A (zh) * | 2020-06-24 | 2020-10-13 | 中国工商银行股份有限公司 | 交易数据处理方法、装置、设备及系统 |
CN112416562A (zh) * | 2020-12-11 | 2021-02-26 | 深圳市思迪信息技术股份有限公司 | 一种分布式任务调度引擎的方法及装置 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115242731A (zh) * | 2022-07-21 | 2022-10-25 | 中国农业银行股份有限公司 | 一种报文处理方法、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN114218303B (zh) | 2023-03-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20210160307A1 (en) | Probability-distribution-based log-file analysis | |
CN106407190B (zh) | 一种事件记录查询方法及装置 | |
CN111756601B (zh) | 微服务架构监控方法、装置、计算机设备及可读存储介质 | |
CN111881011A (zh) | 日志管理方法、平台、服务器及存储介质 | |
CN113094434A (zh) | 数据库同步方法、系统、装置、电子设备及介质 | |
CN111092745A (zh) | 基于区块链的日志处理方法、装置、计算机设备及存储介质 | |
US20210044423A1 (en) | Summary chains in distributed systems | |
CN107346270B (zh) | 基于实时计算的基数估计的方法和系统 | |
CN112632077A (zh) | 基于redis的数据存储方法、装置、设备及存储介质 | |
CN109522273B (zh) | 一种实现数据写入的方法及装置 | |
CN110581887A (zh) | 数据处理方法、装置、区块链节点及存储介质 | |
US11243979B1 (en) | Asynchronous propagation of database events | |
CN112363902A (zh) | 业务流程的监控方法、装置、计算机设备及存储介质 | |
CN114218303B (zh) | 一种交易数据的处理系统、处理方法、介质和设备 | |
CN113256355B (zh) | 一种积分权益实时确定方法、装置、介质、设备和系统 | |
CN113326064A (zh) | 划分业务逻辑模块的方法、电子设备及存储介质 | |
CN112052259A (zh) | 数据处理方法、装置、设备及计算机存储介质 | |
CN114218173B (zh) | 传帐类交易文件的批处理系统、处理方法、介质和设备 | |
US10956369B1 (en) | Data aggregations in a distributed environment | |
CN115221174A (zh) | 基于人工智能的数据分级存储方法、装置、设备及介质 | |
CN113421109A (zh) | 一种业务核对方法、装置、电子设备和存储介质 | |
CN111752911A (zh) | 一种基于Flume的数据传输方法、系统、终端及存储介质 | |
CN114116790A (zh) | 数据处理的方法及装置 | |
CN118365452B (zh) | 基于Redis的热点账户的交易方法、装置、介质和设备 | |
US12099507B2 (en) | Systems and methods for reducing the cardinality of metrics queries |
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 | ||
GR01 | Patent grant |