CN105959235B - 分布式数据处理系统及方法 - Google Patents

分布式数据处理系统及方法 Download PDF

Info

Publication number
CN105959235B
CN105959235B CN201610580029.0A CN201610580029A CN105959235B CN 105959235 B CN105959235 B CN 105959235B CN 201610580029 A CN201610580029 A CN 201610580029A CN 105959235 B CN105959235 B CN 105959235B
Authority
CN
China
Prior art keywords
data
transaction
transaction data
scoring apparatus
route device
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.)
Active
Application number
CN201610580029.0A
Other languages
English (en)
Other versions
CN105959235A (zh
Inventor
袁一
沈贇
张学舟
陶玮
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Industrial and Commercial Bank of China Ltd ICBC
Original Assignee
Industrial and Commercial Bank of China Ltd ICBC
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Industrial and Commercial Bank of China Ltd ICBC filed Critical Industrial and Commercial Bank of China Ltd ICBC
Priority to CN201610580029.0A priority Critical patent/CN105959235B/zh
Publication of CN105959235A publication Critical patent/CN105959235A/zh
Application granted granted Critical
Publication of CN105959235B publication Critical patent/CN105959235B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • G06Q30/0601Electronic shopping [e-shopping]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/04Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/12Avoiding congestion; Recovering from congestion
    • H04L47/125Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Accounting & Taxation (AREA)
  • Finance (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Marketing (AREA)
  • Economics (AREA)
  • Development Economics (AREA)
  • Strategic Management (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Technology Law (AREA)
  • Computer And Data Communications (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Abstract

本发明实施例提供了一种分布式数据处理系统及方法,其中,该系统包括:负载均衡装置接收终端发送的交易数据,将交易数据转发给多个路由装置中当前连接数最少的路由装置;每个路由装置接收交易数据,根据哈希算法将交易数据转发给多个评分装置中的一个评分装置;每个评分装置接收交易数据,采用分布式将接收的交易数据存储在本地内存中;对接收的交易数据进行交易风险评价,将交易风险评价结果转发给向自身发送交易数据的路由装置;路由装置将交易风险评价结果转发给负载均衡装置;负载均衡装置将交易风险评价结果转发给终端。该方案可提高数据存取的效率,实现了低延时交易数据的存取;可支撑高并发的交易量;可减少系统扩容时所需迁移的数据量。

Description

分布式数据处理系统及方法
技术领域
本发明涉及数据处理技术领域,特别涉及一种分布式数据处理系统及方法。
背景技术
随着信息化建设的迈进,个人网银、手机银行、电话银行、短信银行等电子银行业务纷纷走上历史舞台,并凭借方便快捷、7×24小时不间断的服务方式赢得了银行用户的青睐,改变了人们的生活方式和消费模式。但同时,电子银行也面临着不可忽视的安全风险,犯罪团伙通过高科技手段实时欺诈行为,快速地将资金转移或提现,使传统T+1级别的事后监控手段在时效性方面难以满足要求。因此,必须将监控环节从事后前移到事中,即,电子银行系统在交易发生后的短时间(如几十毫秒)内,对本次交易的风险等级进行评分,若判定是正常交易则按原流程继续执行,若判定是欺诈交易则需要立即中断交易,保证客户的资金安全。
为了满足上述业务场景中高效、低延时的要求,现有的系统有以下几种设计方式:
一、使用单台服务器处理的方式。这种方式的缺点是能提供的内存容量有限,无法满足热点数据较多的应用系统的需求。此外,单台设备还存在单点故障的问题,当该服务器发生故障时整个应用系统将会无法运行,影响到整个系统的可用性。
二、按业务种类将数据分配到多台服务器的方式。这种方式虽然在发生故障时能够减少对整个系统的影响,但是由于不同业务种类之间的数据量可能存在较大的差异,这种并无法合理地利用每台服务器上的内存,对于数据量较大的业务种类,也可能无法在单一设备上保存。
三、按业务种类所对应编号将数据划分到多台服务器的方式。这种方式虽然能够使数据较均匀地分散到多台服务器上,但当业务规模增加导致系统需要扩容时,必须对全量数据重新划分后,才能实现数据重分布,整个过程的耗时很长且需要停机中断对外服务。
因此,亟需一种支持低延时交易数据存取、高并发交易风险评分计算以及同时均衡系统资源的交易风险数据处理系统。
发明内容
本发明实施例提供了一种分布式数据处理系统,以解决现有技术数据处理过程中无法进行高并发交易风险评分计算、系统需要扩容时,耗时很长且需要停机中断对外服务的技术问题。该系统包括:负载均衡装置,用于接收终端发送的交易数据,将所述交易数据转发给多个路由装置中当前连接数最少的路由装置;多个所述路由装置,每个所述路由装置用于接收所述负载均衡装置转发的交易数据,根据哈希算法将接收的交易数据转发给多个评分装置中的一个评分装置;多个所述评分装置,每个所述评分装置用于接收所述路由装置转发的交易数据,采用分布式存储方法将接收的交易数据存储在本地内存中,对接收的交易数据进行交易风险评价,将交易风险评价结果转发给向自身发送交易数据的路由装置,其中,同一个用户的所有交易数据存储在同一个评分装置中;所述路由装置,还用于将所述交易风险评价结果转发给所述负载均衡装置;所述负载均衡装置,还用于将所述交易风险评价结果转发给所述终端,所述交易风险评价结果是所述终端判断是否继续进行交易的依据。
在一个实施例中,所述路由装置,包括:数据接收单元,用于接收所述负载均衡装置转发的交易数据,接收所述评分装置转发的交易风险评价结果;哈希取余单元,用于从接收到的交易数据中获取主键字段,计算所述主键字段的哈希余数;路由对照单元,用于根据预设的哈希余数与评分装置的对应关系,寻找与所述主键字段的哈希余数对应的评分装置;数据转发单元,用于将所述数据接收单元接收到的交易数据转发给寻找到的与所述主键字段的哈希余数对应的评分装置,将所述数据接收单元接收的交易风险评价结果转发给所述负载均衡装置。
在一个实施例中,所述评分装置包括:内存单元,用于采用分布式大内存存储方法存储所述路由装置转发的交易数据;计算单元,用于根据当前交易数据的主键字段从所述内存单元中获取该主键字段的历史交易数据,根据历史交易数据和预设规则对当前交易数据进行交易风险评价,将交易风险评价结果转发给向自身所在的评分装置发送交易数据的路由装置。
在一个实施例中,所述评分装置中的内存单元包括主内存单元和备内存单元,所述计算单元包括主计算单元和备计算单元,其中,一个评分装置的主内存单元与另一个评分装置的备计算单元部署在同一台服务器上,一个评分装置的备内存单元与另一个评分装置的主计算单元部署在同一台服务器上,同一台服务器上的备计算单元从该服务器上的主存储单元读取历史交易数据,同一台服务器上的主计算单元从该服务器上的备存储单元读取历史交易数据。
在一个实施例中,还包括:联机数据持久化装置和批量数据持久化装置,其中,所述联机数据持久化装置优先接收并存储所述评分装置写入的交易数据和交易风险评价结果,在联机数据持久化装置出现故障时,所述批量数据持久化装置接收并存储所述评分装置写入的交易数据和交易风险评价结果。
在一个实施例中,还包括:监控装置,用于周期性地接收所述路由装置和所述评分装置发送的心跳报文,在预设时长内未接收到所述路由装置或所述评分装置的心跳报文,则判断所述路由装置或所述评分装置故障,对所述路由装置或所述评分装置的进程进行重新启动,直至接收到所述路由装置或所述评分装置再次发送的心跳报文。
本发明实施例还提供了一种分布式数据处理方法,以解决现有技术数据处理过程中无法进行高并发交易风险评分计算、系统需要扩容时,耗时很长且需要停机中断对外服务的技术问题。该方法包括:通过负载均衡装置接收终端发送的交易数据,将所述交易数据转发给多个路由装置中当前连接数最少的路由装置;在每个所述路由装置中,接收所述负载均衡装置转发的交易数据,根据哈希算法将接收的交易数据转发给多个评分装置中的一个评分装置;在每个所述评分装置中,接收所述路由装置转发的交易数据,采用分布式存储方法将接收的交易数据存储在本地内存中,对接收的交易数据进行交易风险评价,将交易风险评价结果转发给向自身发送交易数据的路由装置,其中,同一个用户的所有交易数据存储在同一个评分装置中;通过所述路由装置将所述交易风险评价结果转发给所述负载均衡装置;通过所述负载均衡装置将所述交易风险评价结果转发给所述终端,所述交易风险评价结果是所述终端判断是否继续进行交易的依据。
在一个实施例中,在每个所述路由装置中,接收所述负载均衡装置转发的交易数据,根据哈希算法将接收的交易数据转发给多个评分装置中的一个评分装置,包括:接收所述负载均衡装置转发的交易数据,接收所述评分装置转发的交易风险评价结果;从接收到的交易数据中获取主键字段,计算所述主键字段的哈希余数;根据预设的哈希余数与评分装置的对应关系,寻找与所述主键字段的哈希余数对应的评分装置;将所述路由装置接收到的交易数据转发给寻找到的与所述主键字段的哈希余数对应的评分装置,将所述路由装置接收的交易风险评价结果转发给所述负载均衡装置。
在一个实施例中,在每个所述评分装置中,接收所述路由装置转发的交易数据,采用分布式存储方法将接收的交易数据存储在本地内存中,对接收的交易数据进行交易风险评价,将交易风险评价结果转发给向自身发送交易数据的路由装置,包括:通过内存单元采用分布式大内存存储方法存储所述路由装置转发的交易数据;通过计算单元根据当前交易数据的主键字段从所述内存单元中获取该主键字段的历史交易数据,根据历史交易数据和预设规则对当前交易数据进行交易风险评价,将交易风险评价结果转发给向该评分装置发送交易数据的路由装置。
在一个实施例中,每个所述评分装置中的内存单元包括主内存单元和备内存单元,所述计算单元包括主计算单元和备计算单元,其中,一个评分装置的主内存单元与另一个评分装置的备计算单元部署在同一台服务器上,一个评分装置的备内存单元与另一个评分装置的主计算单元部署在同一台服务器上,在同一台服务器上通过备计算单元从该服务器上的主存储单元读取历史交易数据,在同一台服务器上通过主计算单元从该服务器上的备存储单元读取历史交易数据。
在一个实施例中,还包括:将所述评分装置写入的交易数据和交易风险评价结果优先存储在联机数据持久化装置中,在所述联机数据持久化装置出现故障时,将所述评分装置写入的交易数据和交易风险评价结果存储在批量数据持久化装置中。
在一个实施例中,还包括:通过监控装置周期性地接收所述路由装置和所述评分装置发送的心跳报文,在预设时长内未接收到所述路由装置或所述评分装置的心跳报文,则判断所述路由装置或所述评分装置故障,通过所述监控装置对所述路由装置或所述评分装置的进程进行重新启动,直至接收到所述路由装置或所述评分装置再次发送的心跳报文。
在本发明实施例中,在分布式数据处理系统中设置了多个路由装置和多个评分装置,采用哈希算法将数据均匀放到多台设备的内存中,并采用分布式存储方法,在数据的读取方面,提高了数据存取的效率,实现了低延时交易数据的存取;同时,在系统部署方面,多个路由装置和多个评分装置的设置实现了多机集群的方式,通过增加服务器数量进行横向扩展,可支撑高并发的交易量,显著地提高了系统的吞吐能力和高并发数据处理的效果;此外,采用哈希算法将数据均匀放到多台设备的内存中,可减少系统扩容时所需迁移的数据量,显著缩短了系统扩容时所需停机的时间窗口,提高了系统的可用性。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,并不构成对本发明的限定。在附图中:
图1是本发明实施例提供的一种分布式数据处理系统的结构框图;
图2是本发明实施例提供的一种路由装置的结构示意图;
图3是本发明实施例提供的一种评分装置的结构示意图;
图4是本发明实施例提供的一种分布式数据处理方法的流程图;
图5是本发明实施例提供的一种分布式数据处理方法中路由转发的流程示意图;
图6是本发明实施例提供的一种分布式数据处理方法中评分工作的流程示意图;
图7是本发明实施例提供的一种分布式数据处理方法中监控机制的流程示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,下面结合实施方式和附图,对本发明做进一步详细说明。在此,本发明的示意性实施方式及其说明用于解释本发明,但并不作为对本发明的限定。
在本发明实施例中,提供了一种分布式数据处理系统,如图1所示,该系统包括:
负载均衡装置101,用于接收终端发送的交易数据,将所述交易数据转发给多个路由装置中当前连接数最少的路由装置(这样使得每个路由装置承受相近的工作负荷);具体实施时,负载均衡装置101还可以定时监控路由装置102的活动状态,当发现某台路由装置没有响应时,停止将交易数据转发到这台路由装置,确保整个系统仍然可以对外提供服务。
多个所述路由装置102,每个所述路由装置用于接收所述负载均衡装置转发的交易数据,根据哈希算法将接收的交易数据转发给多个评分装置中的一个评分装置;
多个所述评分装置103,每个所述评分装置用于接收所述路由装置转发的交易数据,采用分布式存储方法将接收的交易数据存储在本地内存中,对接收的交易数据进行交易风险评价,将交易风险评价结果转发给向自身发送交易数据的路由装置,其中,同一个用户的所有交易数据存储在同一个评分装置中;
所述路由装置102,还用于将所述交易风险评价结果转发给所述负载均衡装置;
所述负载均衡装置101,还用于将所述交易风险评价结果转发给所述终端,所述交易风险评价结果是所述终端判断是否继续进行交易的依据。
由图1所示可知,在本发明实施例中,在分布式数据处理系统中设置了多个路由装置和多个评分装置,采用哈希算法将数据均匀放到多台设备的内存中,并采用分布式存储方法,在数据的读取方面,提高了数据存取的效率,实现了低延时交易数据的存取;同时,在系统部署方面,多个路由装置和多个评分装置的设置实现了多机集群的方式,通过增加服务器数量进行横向扩展,可支撑高并发的交易量,显著地提高了系统的吞吐能力和高并发数据处理的效果;此外,采用哈希算法将数据均匀放到多台设备的内存中,可减少系统扩容时所需迁移的数据量,显著缩短了系统扩容时所需停机的时间窗口,提高了系统的可用性。
具体实施时,如图2所示,所述路由装置102包括:
数据接收单元10201,用于接收所述负载均衡装置转发的交易数据,存入本地的缓存中,供其他单元使用;接收所述评分装置转发的交易风险评价结果(即交易数据是否为欺诈交易的判断结果),存入本地缓存中,供转发数据单元10204后续转发至负载均衡装置;
哈希取余单元10202,用于从接收到的交易数据中获取主键字段,计算所述主键字段的哈希余数;具体的,从交易数据中提取出主键字段(例如,用户账号),对主键字段先进行哈希计算,与分块数取余后得到本笔交易数据的哈希余数:
哈希余数=mod(hash(主键字段),分块数)
为了后续的分布式计算,路由装置需要根据交易数据中的卡号字段信息将交易数据映射到某个分块。为了缓解系统扩容对数据读取命中率的影响,本发明在进行哈希值取余时,会将主键字段的哈希值除以某个既定的较大分块数(比如100)。由此将数据划分成100份,在数据持久化装置中维护一张100个数据分块与服务器的对照关系表,即主键字段的哈希余数与评分装置对照关系表(见表1)。当系统需要扩容(即增加评分服务器数目)时,分块数保持不变,大部分数据仍可保留在扩容前的位置,由此,减少系统扩容时所需迁移的数据量,显著缩短了系统扩容时所需停机的时间窗口,提高了系统的可用性。
主键字段哈希余数 评分服务器序号
0 1
1 1
2 2
3 2
…… ……
96 49
97 49
98 50
99 50
表1
路由对照单元10203,用于根据预设的哈希余数与评分装置的对应关系,寻找与所述主键字段的哈希余数对应的评分装置;具体的,路由对照单元10203根据数据持久化装置中的主键字段哈希余数与评分装置对照关系表(如表1),找到本次交易数据所对应的评分装置序号,反馈给数据转发单元。
数据转发单元10204,用于将所述数据接收单元接收到的交易数据转发给寻找到的与所述主键字段的哈希余数对应的评分装置,将所述数据接收单元接收的交易风险评价结果转发给所述负载均衡装置。具体的,数据转发单元10204负责将需要进行后续处理的交易数据通过TCP协议转发给对应的评分装置;负责将交易数据的交易风险评价结果通过TCP协议原路转发给负载均衡装置。
具体实施时,如图3所示,所述评分装置103包括:
内存单元10301,用于采用分布式大内存存储方法存储所述路由装置转发的交易数据;具体的,内存单元10301负责分布式的存储历史交易数据,存储方法可选用Memcached分布式大内存存储技术。Memcached将数据以Key/Value的形式全部保存在内存中,本发明中Key值可以为用户账号,Value值可以为该用户账户对应的历史交易信息。当应用程序通过用户账号对数据进行访问时,Memcached只需要将内存中的数据直接返回即可,整个过程可以在几毫秒甚至几百微秒内完成。
计算单元10302,用于根据当前交易数据的主键字段从所述内存单元中获取该主键字段的历史交易数据,根据历史交易数据和预设规则对当前交易数据进行交易风险评价,将交易风险评价结果转发给向自身所在的评分装置发送交易数据的路由装置。具体的,计算单元10302接收转发自路由装置的交易数据,存入本地的缓存中;根据解析得到用户的账户卡号信息(即主键字段),从本服务器上的内存存储系统中查找得到该主键字段的历史交易数据;根据用户的历史交易数据和预设规则对当前交易数据进行处理,并计算相关指标,评价交易风险,并将交易风险评价结果返回到路由装置。
具体实施时,为了避免单节点的服务器故障导致数据处理的中断,在本发明实施例中,内存单元和计算单元采用主、备机制,即评分装置中的内存单元包括主内存单元和备内存单元,计算单元包括主计算单元和备计算单元。正常情况下,计算单元10302在向内存单元10301请求数据时,会不断地向内存单元(主)读取数据,造成内存单元(备)所在服务器的资源利用率较低,所以为了提高服务器存储资源的利用率,本系统进一步采用了内存单元和计算单元交叉冗余部署的方式,一个评分装置的主内存单元与另一个评分装置的备计算单元部署在同一台服务器上,一个评分装置的备内存单元与另一个评分装置的主计算单元部署在同一台服务器上,同一台服务器上的备计算单元从该服务器上的主存储单元读取历史交易数据,同一台服务器上的主计算单元从该服务器上的备存储单元读取历史交易数据,达到毫秒级的数据存取与评分速度,使电子银行交易的欺诈事件监测能够在几毫秒内完成。在对评分服务器进行主备交叉冗余部署之后,主键字段哈希余数与评分服务器的对照关系表从表1就扩展成了如下表2的格式:
主键字段哈希余数 评分服务器序号(主) 评分服务器序号(备)
0 1 2
1 1 2
2 2 1
3 2 1
…… …… ……
96 49 50
97 49 50
98 50 49
99 50 49
表2
具体实施时,将数据存储在内存或缓存中易丢失,在本实施例中,在数据存储的安全性上,本系统将最后的交易数据在数据持久化设备上进行备份,可避免因设备意外断电或其他故障而造成数据丢失,提高系统的可靠性,如图1所示,上述分布式数据处理系统还包括:联机数据持久化装置1041和批量数据持久化装置1042,其中,所述联机数据持久化装置优先接收并存储所述评分装置写入的交易数据和交易风险评价结果,在联机数据持久化装置出现故障时,所述批量数据持久化装置接收并存储所述评分装置写入的交易数据和交易风险评价结。具体的,联机数据持久化装置1041和批量数据持久化装置1042负责保存评分装置103处理后的交易数据和交易风险评价结果,用于后续统计分析,同时维护系统运行所需的信息表(如主键字段哈希余数与评分服务器对照关系表1、2)。为提高系统的高可用性,至少需要设置2台持久化装置(例如,联机数据持久化装置1041和批量数据持久化装置1042),分为联机节点和批量节点,联机数据持久化装置1041和批量数据持久化装置1042以分工合作的机制负责数据的持久化处理。正常情况下,评分装置103在写入交易数据时在联机节点(即联机数据持久化装置1041)上执行,而批量节点(即联机数据持久化装置1041)则负责一些报表统计。在联机节点发生故障时,评分装置103会将交易信息写入批量节点,由批量节点暂时代替联机节点工作,待联机节点恢复正常工作后,批量节点将数据同步至联机节点中。联机数据持久化装置1041和批量数据持久化装置1042等数据持久化设备可以是数据库。
具体实施时,为了增强系统运行的稳定性和可靠性,在本实施例中引入一套监控机制,使得系统可周期性地收集分布式工作节点的工作状态,及时发现故障节点并进行恢复操作,例如,如图1所示,上述分布式数据处理系统还包括:监控装置105,用于周期性地接收所述路由装置和所述评分装置发送的心跳报文,在预设时长内未接收到所述路由装置或所述评分装置的心跳报文,则判断所述路由装置或所述评分装置故障,对所述路由装置或所述评分装置的进程进行重新启动,直至接收到所述路由装置或所述评分装置再次发送的心跳报文。
具体的,监控装置105负责监控路由装置102和评分装置103的运行状态,并在装置发生故障时自动完成故障恢复。具体而言,路由装置102和评分装置103会周期性地向监控装置105发送心跳报文。当监控装置105在一定时间内都未收到路由装置102、评分装置103中某台装置发来的报文信息时,则认为该节点发生故障,需要进行自动干预。监控装置105通过SSH协议对故障节点上的进程进行重新启动,若故障节点重新开始向监控装置105发送心跳报文,则代表故障恢复流程的结束。整个故障监控及恢复的过程均不需要人工干预,显著降低了运维的工作量和复杂度。
基于同一发明构思,本发明实施例中还提供了一种分布式数据处理方法,如下面的实施例所述。由于分布式数据处理方法解决问题的原理与分布式数据处理系统相似,因此分布式数据处理方法的实施可以参见分布式数据处理系统的实施,重复之处不再赘述。
图4是本发明实施例的分布式数据处理方法的流程图,如图4所示,该方法包括:
步骤401:通过负载均衡装置接收终端发送的交易数据,将所述交易数据转发给多个路由装置中当前连接数最少的路由装置;
步骤402:在每个所述路由装置中,接收所述负载均衡装置转发的交易数据,根据哈希算法将接收的交易数据转发给多个评分装置中的一个评分装置;
步骤403:在每个所述评分装置中,接收所述路由装置转发的交易数据,采用分布式存储方法将接收的交易数据存储在本地内存中,对接收的交易数据进行交易风险评价,将交易风险评价结果转发给向自身发送交易数据的路由装置,其中,同一个用户的所有交易数据存储在同一个评分装置中;
步骤404:通过所述路由装置将所述交易风险评价结果转发给所述负载均衡装置;
步骤405:通过所述负载均衡装置将所述交易风险评价结果转发给所述终端,所述交易风险评价结果是所述终端判断是否继续进行交易的依据。
具体实施时,在每个所述路由装置中,接收所述负载均衡装置转发的交易数据,根据哈希算法将接收的交易数据转发给多个评分装置中的一个评分装置,包括:接收所述负载均衡装置转发的交易数据,接收所述评分装置转发的交易风险评价结果;从接收到的交易数据中获取主键字段,计算所述主键字段的哈希余数;根据预设的哈希余数与评分装置的对应关系,寻找与所述主键字段的哈希余数对应的评分装置;将所述路由装置接收到的交易数据转发给寻找到的与所述主键字段的哈希余数对应的评分装置,将所述路由装置接收的交易风险评价结果转发给所述负载均衡装置。
具体的,如图5所示,在每个路由装置中的数据处理过程进一步包括以下步骤:
步骤501:路由装置从数据接收单元中读取交易数据。
步骤502:路由装置判断是否已经从数据持久化装置中加载了每个评分装置与其所负责主键字段的对照关系表。
步骤503:若路由装置尚未加载对照关系表,则立即从数据持久化装置中读取该表的信息,并将其保留在内存中。
步骤504:路由装置根据内存中对照关系表的信息,找到当前交易数据应该交由哪个评分装置进行处理。
具体的,路由装置的哈希取余单元从交易数据中提取出主键字段信息(如卡号字段信息),对主键字段信息进行哈希余数的计算。路由对照单元根据内存中的对照关系表,找到哈希余数所对应的评分装置序号。
步骤505:路由装置的数据转发单元检查转发到该评分装置的异步转发队列是否已满。
步骤506:若该转发队列已满,表示当前系统的负载较高,应触发过载保护,则直接向交易终端返回系统繁忙的提示信息。具体的,当系统负载过大,无法满足每个交易数据评分请求时,系统会直接向交易终端返回系统繁忙的提示信息,而不再进行路由转发和评分计算,避免因负载过大而造成系统宕机。而交易终端在收到系统繁忙提示之后,为避免影响客户的交易体验,可以按交易数据的传统处理流程直接响应这笔交易的请求。
步骤507:若该转发队列未满,将当前交易数据放入异步转发队列。
步骤508:异步转发线程从异步转发队列中获取交易数据,并将交易数据通过TCP连接转发给对应的评分装置。
步骤509:在将数据发送给评分装置(主)的过程中,系统会检查是否发送成功,若发送成功的话则本流程正常结束。
步骤510:若向评分装置(主)发送数据失败,系统则会自动将数据再发送给评分装置(备),之后本流程结束。
具体实施时,在每个所述评分装置中,接收所述路由装置转发的交易数据,采用分布式存储方法将接收的交易数据存储在本地内存中,对接收的交易数据进行交易风险评价,将交易风险评价结果转发给向自身发送交易数据的路由装置,包括:通过内存单元采用分布式大内存存储方法存储所述路由装置转发的交易数据;通过计算单元根据当前交易数据的主键字段从所述内存单元中获取该主键字段的历史交易数据,根据历史交易数据和预设规则对当前交易数据进行交易风险评价,将交易风险评价结果转发给向该评分装置发送交易数据的路由装置。
具体的,如图6所示,在每个评分装置中的数据处理过程包括如下步骤:
步骤601:评分装置接收路由装置通过TCP连接发来的交易数据。
步骤602:评分装置判断处理队列是否已满。
步骤603:若处理队列已满,则说明系统负载过大,应触发过载保护,直接向路由装置返回系统繁忙的提示信息。
步骤604:若处理队列未满,则将当前交易数据放入处理队列中。
步骤605:系统从内存单元(主)中获取当前交易数据的历史交易数据。具体实施时,每个评分装置中的内存单元包括主内存单元和备内存单元,计算单元包括主计算单元和备计算单元,其中,一个评分装置的主内存单元与另一个评分装置的备计算单元部署在同一台服务器上,一个评分装置的备内存单元与另一个评分装置的主计算单元部署在同一台服务器上。
步骤606:系统会自动判断数据是否获取成功。
步骤607:若数据获取失败,系统则会从内存单元(备)中获取当前交易数据的历史交易数据。
步骤608:若数据获取成功,系统根据用户的历史交易数据和预设规则对当前交易数据进行处理,并计算相关指标,评价交易风险,获得处理结果。
具体实施时,上述分布式数据处理方法还包括:将所述评分装置写入的交易数据和交易风险评价结果优先存储在联机数据持久化装置中,在所述联机数据持久化装置出现故障时,将所述评分装置写入的交易数据和交易风险评价结果存储在批量数据持久化装置中。
具体实施时,上述分布式数据处理方法还包括:通过监控装置周期性地接收所述路由装置和所述评分装置发送的心跳报文,在预设时长内未接收到所述路由装置或所述评分装置的心跳报文,则判断所述路由装置或所述评分装置故障,通过所述监控装置对所述路由装置或所述评分装置的进程进行重新启动,直至接收到所述路由装置或所述评分装置再次发送的心跳报文。
具体的,为了增强系统运行的稳定性和可靠性,本发明系统引入一套监控机制,使得系统可周期性地收集路由装置和评分装置的工作状态,及时发现故障装置并进行恢复操作。由此,使得本发明系统具备一种对故障的“自愈”能力。如图7所示,监控装置的工作流程包括以下步骤:
步骤701:路由装置和评分装置周期性地向监控装置发送心跳报文。
步骤702:监控装置接收来自路由装置和评分装置的心跳,判断是否收到所有的心跳。
步骤703:监控装置收到所有路由装置和评分装置的心跳,则等待若干秒后,回到步骤701,重新开始新一轮的心跳发送和监控。
步骤704:监控装置在一定时间内没有收到某个装置的心跳,则认为该节点发生故障,需要进行自动干预。具体的,监控装置通过SSH协议对故障节点上的进程进行重新启动。
步骤705:故障节点恢复正常工作,重新开始向监控装置发送心跳报文。
步骤706:若监控装置收到恢复节点的心跳,则代表故障恢复流程的结束。
步骤707:若监控装置在一定时间内没有收到恢复节点的心跳,则认为该节点的故障依旧存在,回到步骤704。
整个故障检测及恢复的过程均不需要人工干预,显著降低了运维的工作量和复杂度。
在本发明实施例中,在分布式数据处理系统中设置了多个路由装置和多个评分装置,采用哈希算法将数据均匀放到多台设备的内存中,并采用分布式存储方法,在数据的读取方面,提高了数据存取的效率,实现了低延时交易数据的存取;同时,在系统部署方面,多个路由装置和多个评分装置的设置实现了多机集群的方式,通过增加服务器数量进行横向扩展,可支撑高并发的交易量,显著地提高了系统的吞吐能力和高并发数据处理的效果;此外,采用哈希算法将数据均匀放到多台设备的内存中,可减少系统扩容时所需迁移的数据量,显著缩短了系统扩容时所需停机的时间窗口,提高了系统的可用性。
显然,本领域的技术人员应该明白,上述的本发明实施例的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明实施例不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明实施例可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种分布式数据处理系统,其特征在于,包括:
负载均衡装置,用于接收终端发送的交易数据,将交易数据转发给多个路由装置中当前连接数最少的路由装置;
多个所述路由装置,每个所述路由装置用于接收所述负载均衡装置转发的交易数据,根据哈希算法将接收的交易数据转发给多个评分装置中的一个评分装置;
多个所述评分装置,每个所述评分装置用于接收所述路由装置转发的交易数据,采用分布式存储方法将接收的交易数据存储在本地内存中,对接收的交易数据进行交易风险评价,将交易风险评价结果转发给向自身发送交易数据的路由装置,其中,同一个用户的所有交易数据存储在同一个评分装置中;
所述路由装置,还用于将所述交易风险评价结果转发给所述负载均衡装置;
所述负载均衡装置,还用于将所述交易风险评价结果转发给所述终端,所述交易风险评价结果是所述终端判断是否继续进行交易的依据;
所述路由装置,包括:
数据接收单元,用于接收所述负载均衡装置转发的交易数据,接收所述评分装置转发的交易风险评价结果;
哈希取余单元,用于从接收到的交易数据中获取主键字段,计算所述主键字段的哈希余数;
路由对照单元,用于根据预设的哈希余数与评分装置的对应关系,寻找与所述主键字段的哈希余数对应的评分装置;
数据转发单元,用于将所述数据接收单元接收到的交易数据转发给寻找到的与所述主键字段的哈希余数对应的评分装置,将所述数据接收单元接收的交易风险评价结果转发给所述负载均衡装置。
2.如权利要求1所述的分布式数据处理系统,其特征在于,所述评分装置包括:
内存单元,用于采用分布式大内存存储方法存储所述路由装置转发的交易数据;
计算单元,用于根据当前交易数据的主键字段从所述内存单元中获取该主键字段的历史交易数据,根据历史交易数据和预设规则对当前交易数据进行交易风险评价,将交易风险评价结果转发给向自身所在的评分装置发送交易数据的路由装置。
3.如权利要求2所述的分布式数据处理系统,其特征在于,所述评分装置中的内存单元包括主内存单元和备内存单元,所述计算单元包括主计算单元和备计算单元,其中,一个评分装置的主内存单元与另一个评分装置的备计算单元部署在同一台服务器上,一个评分装置的备内存单元与另一个评分装置的主计算单元部署在同一台服务器上,同一台服务器上的备计算单元从该服务器上的主存储单元读取历史交易数据,同一台服务器上的主计算单元从该服务器上的备存储单元读取历史交易数据。
4.如权利要求1至3中任一项所述的分布式数据处理系统,其特征在于,还包括:联机数据持久化装置和批量数据持久化装置,其中,所述联机数据持久化装置优先接收并存储所述评分装置写入的交易数据和交易风险评价结果,在联机数据持久化装置出现故障时,所述批量数据持久化装置接收并存储所述评分装置写入的交易数据和交易风险评价结果。
5.如权利要求1至3中任一项所述的分布式数据处理系统,其特征在于,还包括:
监控装置,用于周期性地接收所述路由装置和所述评分装置发送的心跳报文,在预设时长内未接收到所述路由装置或所述评分装置的心跳报文,则判断所述路由装置或所述评分装置故障,对所述路由装置或所述评分装置的进程进行重新启动,直至接收到所述路由装置或所述评分装置再次发送的心跳报文。
6.一种分布式数据处理方法,其特征在于,包括:
通过负载均衡装置接收终端发送的交易数据,将所述交易数据转发给多个路由装置中当前连接数最少的路由装置;
在每个所述路由装置中,接收所述负载均衡装置转发的交易数据,根据哈希算法将接收的交易数据转发给多个评分装置中的一个评分装置;
在每个所述评分装置中,接收所述路由装置转发的交易数据,采用分布式存储方法将接收的交易数据存储在本地内存中,对接收的交易数据进行交易风险评价,将交易风险评价结果转发给向自身发送交易数据的路由装置,其中,同一个用户的所有交易数据存储在同一个评分装置中;
通过所述路由装置将所述交易风险评价结果转发给所述负载均衡装置;
通过所述负载均衡装置将所述交易风险评价结果转发给所述终端,所述交易风险评价结果是所述终端判断是否继续进行交易的依据;
在每个所述路由装置中,接收所述负载均衡装置转发的交易数据,根据哈希算法将接收的交易数据转发给多个评分装置中的一个评分装置,包括:
接收所述负载均衡装置转发的交易数据,接收所述评分装置转发的交易风险评价结果;
从接收到的交易数据中获取主键字段,计算所述主键字段的哈希余数;
根据预设的哈希余数与评分装置的对应关系,寻找与所述主键字段的哈希余数对应的评分装置;
将所述路由装置接收到的交易数据转发给寻找到的与所述主键字段的哈希余数对应的评分装置,将所述路由装置接收的交易风险评价结果转发给所述负载均衡装置。
7.如权利要求6所述的分布式数据处理方法,其特征在于,在每个所述评分装置中,接收所述路由装置转发的交易数据,采用分布式存储方法将接收的交易数据存储在本地内存中,对接收的交易数据进行交易风险评价,将交易风险评价结果转发给向自身发送交易数据的路由装置,包括:
通过内存单元采用分布式大内存存储方法存储所述路由装置转发的交易数据;
通过计算单元根据当前交易数据的主键字段从所述内存单元中获取该主键字段的历史交易数据,根据历史交易数据和预设规则对当前交易数据进行交易风险评价,将交易风险评价结果转发给向该评分装置发送交易数据的路由装置。
8.如权利要求7所述的分布式数据处理方法,其特征在于,每个所述评分装置中的内存单元包括主内存单元和备内存单元,所述计算单元包括主计算单元和备计算单元,其中,一个评分装置的主内存单元与另一个评分装置的备计算单元部署在同一台服务器上,一个评分装置的备内存单元与另一个评分装置的主计算单元部署在同一台服务器上,在同一台服务器上通过备计算单元从该服务器上的主存储单元读取历史交易数据,在同一台服务器上通过主计算单元从该服务器上的备存储单元读取历史交易数据。
9.如权利要求6至8中任一项所述的分布式数据处理方法,其特征在于,还包括:
将所述评分装置写入的交易数据和交易风险评价结果优先存储在联机数据持久化装置中,在所述联机数据持久化装置出现故障时,将所述评分装置写入的交易数据和交易风险评价结果存储在批量数据持久化装置中。
10.如权利要求6至8中任一项所述的分布式数据处理方法,其特征在于,还包括:
通过监控装置周期性地接收所述路由装置和所述评分装置发送的心跳报文,在预设时长内未接收到所述路由装置或所述评分装置的心跳报文,则判断所述路由装置或所述评分装置故障,通过所述监控装置对所述路由装置或所述评分装置的进程进行重新启动,直至接收到所述路由装置或所述评分装置再次发送的心跳报文。
CN201610580029.0A 2016-07-21 2016-07-21 分布式数据处理系统及方法 Active CN105959235B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610580029.0A CN105959235B (zh) 2016-07-21 2016-07-21 分布式数据处理系统及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610580029.0A CN105959235B (zh) 2016-07-21 2016-07-21 分布式数据处理系统及方法

Publications (2)

Publication Number Publication Date
CN105959235A CN105959235A (zh) 2016-09-21
CN105959235B true CN105959235B (zh) 2019-02-12

Family

ID=56901093

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610580029.0A Active CN105959235B (zh) 2016-07-21 2016-07-21 分布式数据处理系统及方法

Country Status (1)

Country Link
CN (1) CN105959235B (zh)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107832121B (zh) * 2017-11-07 2020-11-03 哈工大大数据(哈尔滨)智能科技有限公司 一种应用于分布式串行长事务的并发控制方法
CN107992992B (zh) * 2017-11-07 2021-12-21 中国银行股份有限公司 银联ic卡交易数据分析系统及方法
CN108595685B (zh) * 2018-05-04 2021-06-15 北京顶象技术有限公司 一种数据处理方法及装置
CN109657939B (zh) * 2018-12-03 2023-05-02 中国银行股份有限公司 一种交易补录的均衡方法与装置
CN109887576A (zh) * 2019-01-29 2019-06-14 中国人民解放军总医院 一种医学数据分布式存储方法及系统
CN112418580A (zh) * 2019-08-22 2021-02-26 上海哔哩哔哩科技有限公司 一种风险控制方法、计算机设备及可读存储介
CN111628903B (zh) * 2020-04-27 2022-04-05 交通银行股份有限公司北京市分行 交易系统运行状态的监控方法及监控系统
CN112954413B (zh) * 2021-02-02 2024-01-16 深圳市欢太科技有限公司 一种直播列表更新方法、装置、服务器及存储介质
CN113221989B (zh) * 2021-04-30 2022-09-02 浙江网商银行股份有限公司 基于分布式的评估模型训练方法、系统以及装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101425926A (zh) * 2008-10-08 2009-05-06 北京赛尔汇力安全科技有限公司 基于信用评估的网络秩序调控方法
CN201732398U (zh) * 2010-04-20 2011-02-02 中国工商银行股份有限公司 一种银行委托资产风险实时监控系统
CN103442076A (zh) * 2013-09-04 2013-12-11 上海海事大学 一种云存储系统的可用性保障方法
CN104767826A (zh) * 2015-04-23 2015-07-08 南京大学 基于端的故障容忍的分布式数据中心负载均衡方法
CN104838374A (zh) * 2012-12-06 2015-08-12 英派尔科技开发有限公司 分散hadoop集群

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9448849B2 (en) * 2011-08-31 2016-09-20 Oracle International Corporation Preventing oscillatory load behavior in a multi-node distributed system

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101425926A (zh) * 2008-10-08 2009-05-06 北京赛尔汇力安全科技有限公司 基于信用评估的网络秩序调控方法
CN201732398U (zh) * 2010-04-20 2011-02-02 中国工商银行股份有限公司 一种银行委托资产风险实时监控系统
CN104838374A (zh) * 2012-12-06 2015-08-12 英派尔科技开发有限公司 分散hadoop集群
CN103442076A (zh) * 2013-09-04 2013-12-11 上海海事大学 一种云存储系统的可用性保障方法
CN104767826A (zh) * 2015-04-23 2015-07-08 南京大学 基于端的故障容忍的分布式数据中心负载均衡方法

Also Published As

Publication number Publication date
CN105959235A (zh) 2016-09-21

Similar Documents

Publication Publication Date Title
CN105959235B (zh) 分布式数据处理系统及方法
CN103595570B (zh) 一种多活架构前置系统、服务器与业务处理方法
CN103199972B (zh) 基于soa、rs485总线实现的双机热备份切换方法及热备份系统
CN105959151B (zh) 一种高可用的流式处理系统及方法
CN103761309B (zh) 一种运营数据处理方法及系统
CN102833281B (zh) 一种分布式自增计数的实现方法、装置及系统
CN102932444A (zh) 金融实时交易系统中的负载均衡模块
CN103607424B (zh) 一种服务器连接方法及服务器系统
CN110581887B (zh) 数据处理方法、装置、区块链节点及存储介质
CN112650764A (zh) 跨链数据处理方法、装置、设备和存储介质
CN114357495B (zh) 基于区块链的预言机链下聚合方法、装置、设备和介质
CN111181800B (zh) 测试数据处理方法、装置、电子设备及存储介质
CN105554121A (zh) 实现分布式缓存系统负载均衡的方法及系统
CN107645410A (zh) 一种基于OpenStack云平台的虚拟机管理系统及方法
CN107809480A (zh) 一种交易整流系统
CN110417118A (zh) 用于自动生成配网线路定值开关定值图的整定计算方法
CN110502581A (zh) 分布式数据库系统监测方法及装置
CN111628903B (zh) 交易系统运行状态的监控方法及监控系统
CN108345621B (zh) 一种数据对账方法、系统及数据系统
CN115883340B (zh) 一种基于hplc和hrf双模通信故障处理方法和设备
CN107295059A (zh) 业务推送量的统计系统及方法
CN113141264A (zh) 高并发访问处理方法、装置以及存储介质
JP2009025971A (ja) 情報処理装置、ログデータ収集システム
CN103546331B (zh) 监控信息的获取方法、装置及系统
CN109445984A (zh) 一种业务恢复方法、装置、仲裁服务器以及存储系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant