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

文档序号:10597120阅读:1127来源:国知局
分布式数据处理系统及方法
【专利摘要】本发明实施例提供了一种分布式数据处理系统及方法,其中,该系统包括:负载均衡装置接收终端发送的交易数据,将交易数据转发给多个路由装置中当前连接数最少的路由装置;每个路由装置接收交易数据,根据哈希算法将交易数据转发给多个评分装置中的一个评分装置;每个评分装置接收交易数据,采用分布式将接收的交易数据存储在本地内存中;对接收的交易数据进行交易风险评价,将交易风险评价结果转发给向自身发送交易数据的路由装置;路由装置将交易风险评价结果转发给负载均衡装置;负载均衡装置将交易风险评价结果转发给终端。该方案可提高数据存取的效率,实现了低延时交易数据的存取;可支撑高并发的交易量;可减少系统扩容时所需迁移的数据量。
【专利说明】
分布式数据处理系统及方法
技术领域
[0001] 本发明涉及数据处理技术领域,特别涉及一种分布式数据处理系统及方法。
【背景技术】
[0002] 随着信息化建设的迈进,个人网银、手机银行、电话银行、短信银行等电子银行业 务纷纷走上历史舞台,并凭借方便快捷、7X24小时不间断的服务方式赢得了银行用户的青 睐,改变了人们的生活方式和消费模式。但同时,电子银行也面临着不可忽视的安全风险, 犯罪团伙通过高科技手段实时欺诈行为,快速地将资金转移或提现,使传统T+1级别的事后 监控手段在时效性方面难以满足要求。因此,必须将监控环节从事后前移到事中,即,电子 银行系统在交易发生后的短时间(如几十毫秒)内,对本次交易的风险等级进行评分,若判 定是正常交易则按原流程继续执行,若判定是欺诈交易则需要立即中断交易,保证客户的 资金安全。
[0003] 为了满足上述业务场景中高效、低延时的要求,现有的系统有以下几种设计方式:
[0004] -、使用单台服务器处理的方式。这种方式的缺点是能提供的内存容量有限,无法 满足热点数据较多的应用系统的需求。此外,单台设备还存在单点故障的问题,当该服务器 发生故障时整个应用系统将会无法运行,影响到整个系统的可用性。
[0005] 二、按业务种类将数据分配到多台服务器的方式。这种方式虽然在发生故障时能 够减少对整个系统的影响,但是由于不同业务种类之间的数据量可能存在较大的差异,这 种并无法合理地利用每台服务器上的内存,对于数据量较大的业务种类,也可能无法在单 一设备上保存。
[0006] 三、按业务种类所对应编号将数据划分到多台服务器的方式。这种方式虽然能够 使数据较均匀地分散到多台服务器上,但当业务规模增加导致系统需要扩容时,必须对全 量数据重新划分后,才能实现数据重分布,整个过程的耗时很长且需要停机中断对外服务。
[0007] 因此,亟需一种支持低延时交易数据存取、高并发交易风险评分计算以及同时均 衡系统资源的交易风险数据处理系统。

【发明内容】

[0008] 本发明实施例提供了一种分布式数据处理系统,以解决现有技术数据处理过程中 无法进行高并发交易风险评分计算、系统需要扩容时,耗时很长且需要停机中断对外服务 的技术问题。该系统包括:负载均衡装置,用于接收终端发送的交易数据,将所述交易数据 转发给多个路由装置中当前连接数最少的路由装置;多个所述路由装置,每个所述路由装 置用于接收所述负载均衡装置转发的交易数据,根据哈希算法将接收的交易数据转发给多 个评分装置中的一个评分装置;多个所述评分装置,每个所述评分装置用于接收所述路由 装置转发的交易数据,采用分布式存储方法将接收的交易数据存储在本地内存中,对接收 的交易数据进行交易风险评价,将交易风险评价结果转发给向自身发送交易数据的路由装 置,其中,同一个用户的所有交易数据存储在同一个评分装置中;所述路由装置,还用于将 所述交易风险评价结果转发给所述负载均衡装置;所述负载均衡装置,还用于将所述交易 风险评价结果转发给所述终端,所述交易风险评价结果是所述终端判断是否继续进行交易 的依据。
[0009] 在一个实施例中,所述路由装置,包括:数据接收单元,用于接收所述负载均衡装 置转发的交易数据,接收所述评分装置转发的交易风险评价结果;哈希取余单元,用于从接 收到的交易数据中获取主键字段,计算所述主键字段的哈希余数;路由对照单元,用于根据 预设的哈希余数与评分装置的对应关系,寻找与所述主键字段的哈希余数对应的评分装 置;数据转发单元,用于将所述数据接收单元接收到的交易数据转发给寻找到的与所述主 键字段的哈希余数对应的评分装置,将所述数据接收单元接收的交易风险评价结果转发给 所述负载均衡装置。
[0010] 在一个实施例中,所述评分装置包括:内存单元,用于采用分布式大内存存储方法 存储所述路由装置转发的交易数据;计算单元,用于根据当前交易数据的主键字段从所述 内存单元中获取该主键字段的历史交易数据,根据历史交易数据和预设规则对当前交易数 据进行交易风险评价,将交易风险评价结果转发给向自身所在的评分装置发送交易数据的 路由装置。
[0011] 在一个实施例中,所述评分装置中的内存单元包括主内存单元和备内存单元,所 述计算单元包括主计算单元和备计算单元,其中,一个评分装置的主内存单元与另一个评 分装置的备计算单元部署在同一台服务器上,一个评分装置的备内存单元与另一个评分装 置的主计算单元部署在同一台服务器上,同一台服务器上的备计算单元从该服务器上的主 存储单元读取历史交易数据,同一台服务器上的主计算单元从该服务器上的备存储单元读 取历史交易数据。
[0012] 在一个实施例中,还包括:联机数据持久化装置和批量数据持久化装置,其中,所 述联机数据持久化装置优先接收并存储所述评分装置写入的交易数据和交易风险评价结 果,在联机数据持久化装置出现故障时,所述批量数据持久化装置接收并存储所述评分装 置写入的交易数据和交易风险评价结果。
[0013] 在一个实施例中,还包括:监控装置,用于周期性地接收所述路由装置和所述评分 装置发送的心跳报文,在预设时长内未接收到所述路由装置或所述评分装置的心跳报文, 则判断所述路由装置或所述评分装置故障,对所述路由装置或所述评分装置的进程进行重 新启动,直至接收到所述路由装置或所述评分装置再次发送的心跳报文。
[0014] 本发明实施例还提供了一种分布式数据处理方法,以解决现有技术数据处理过程 中无法进行高并发交易风险评分计算、系统需要扩容时,耗时很长且需要停机中断对外服 务的技术问题。该方法包括:通过负载均衡装置接收终端发送的交易数据,将所述交易数据 转发给多个路由装置中当前连接数最少的路由装置;在每个所述路由装置中,接收所述负 载均衡装置转发的交易数据,根据哈希算法将接收的交易数据转发给多个评分装置中的一 个评分装置;在每个所述评分装置中,接收所述路由装置转发的交易数据,采用分布式存储 方法将接收的交易数据存储在本地内存中,对接收的交易数据进行交易风险评价,将交易 风险评价结果转发给向自身发送交易数据的路由装置,其中,同一个用户的所有交易数据 存储在同一个评分装置中;通过所述路由装置将所述交易风险评价结果转发给所述负载均 衡装置;通过所述负载均衡装置将所述交易风险评价结果转发给所述终端,所述交易风险 评价结果是所述终端判断是否继续进行交易的依据。
[0015] 在一个实施例中,在每个所述路由装置中,接收所述负载均衡装置转发的交易数 据,根据哈希算法将接收的交易数据转发给多个评分装置中的一个评分装置,包括:接收所 述负载均衡装置转发的交易数据,接收所述评分装置转发的交易风险评价结果;从接收到 的交易数据中获取主键字段,计算所述主键字段的哈希余数;根据预设的哈希余数与评分 装置的对应关系,寻找与所述主键字段的哈希余数对应的评分装置;将所述路由装置接收 到的交易数据转发给寻找到的与所述主键字段的哈希余数对应的评分装置,将所述路由装 置接收的交易风险评价结果转发给所述负载均衡装置。
[0016] 在一个实施例中,在每个所述评分装置中,接收所述路由装置转发的交易数据,采 用分布式存储方法将接收的交易数据存储在本地内存中,对接收的交易数据进行交易风险 评价,将交易风险评价结果转发给向自身发送交易数据的路由装置,包括:通过内存单元采 用分布式大内存存储方法存储所述路由装置转发的交易数据;通过计算单元根据当前交易 数据的主键字段从所述内存单元中获取该主键字段的历史交易数据,根据历史交易数据和 预设规则对当前交易数据进行交易风险评价,将交易风险评价结果转发给向该评分装置发 送交易数据的路由装置。
[0017] 在一个实施例中,每个所述评分装置中的内存单元包括主内存单元和备内存单 元,所述计算单元包括主计算单元和备计算单元,其中,一个评分装置的主内存单元与另一 个评分装置的备计算单元部署在同一台服务器上,一个评分装置的备内存单元与另一个评 分装置的主计算单元部署在同一台服务器上,在同一台服务器上通过备计算单元从该服务 器上的主存储单元读取历史交易数据,在同一台服务器上通过主计算单元从该服务器上的 备存储单元读取历史交易数据。
[0018] 在一个实施例中,还包括:将所述评分装置写入的交易数据和交易风险评价结果 优先存储在联机数据持久化装置中,在所述联机数据持久化装置出现故障时,将所述评分 装置写入的交易数据和交易风险评价结果存储在批量数据持久化装置中。
[0019] 在一个实施例中,还包括:通过监控装置周期性地接收所述路由装置和所述评分 装置发送的心跳报文,在预设时长内未接收到所述路由装置或所述评分装置的心跳报文, 则判断所述路由装置或所述评分装置故障,通过所述监控装置对所述路由装置或所述评分 装置的进程进行重新启动,直至接收到所述路由装置或所述评分装置再次发送的心跳报 文。
[0020] 在本发明实施例中,在分布式数据处理系统中设置了多个路由装置和多个评分装 置,采用哈希算法将数据均匀放到多台设备的内存中,并采用分布式存储方法,在数据的读 取方面,提高了数据存取的效率,实现了低延时交易数据的存取;同时,在系统部署方面,多 个路由装置和多个评分装置的设置实现了多机集群的方式,通过增加服务器数量进行横向 扩展,可支撑高并发的交易量,显著地提高了系统的吞吐能力和高并发数据处理的效果;此 外,采用哈希算法将数据均匀放到多台设备的内存中,可减少系统扩容时所需迀移的数据 量,显著缩短了系统扩容时所需停机的时间窗口,提高了系统的可用性。
【附图说明】
[0021] 此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,并不 构成对本发明的限定。在附图中:
[0022] 图1是本发明实施例提供的一种分布式数据处理系统的结构框图;
[0023] 图2是本发明实施例提供的一种路由装置的结构示意图;
[0024] 图3是本发明实施例提供的一种评分装置的结构示意图;
[0025] 图4是本发明实施例提供的一种分布式数据处理方法的流程图;
[0026] 图5是本发明实施例提供的一种分布式数据处理方法中路由转发的流程示意图; [0027]图6是本发明实施例提供的一种分布式数据处理方法中评分工作的流程示意图; [0028]图7是本发明实施例提供的一种分布式数据处理方法中监控机制的流程示意图。
【具体实施方式】
[0029]为使本发明的目的、技术方案和优点更加清楚明白,下面结合实施方式和附图,对 本发明做进一步详细说明。在此,本发明的示意性实施方式及其说明用于解释本发明,但并 不作为对本发明的限定。
[0030] 在本发明实施例中,提供了一种分布式数据处理系统,如图1所示,该系统包括:
[0031] 负载均衡装置101,用于接收终端发送的交易数据,将所述交易数据转发给多个路 由装置中当前连接数最少的路由装置(这样使得每个路由装置承受相近的工作负荷);具体 实施时,负载均衡装置101还可以定时监控路由装置102的活动状态,当发现某台路由装置 没有响应时,停止将交易数据转发到这台路由装置,确保整个系统仍然可以对外提供服务。
[0032] 多个所述路由装置102,每个所述路由装置用于接收所述负载均衡装置转发的交 易数据,根据哈希算法将接收的交易数据转发给多个评分装置中的一个评分装置;
[0033]多个所述评分装置103,每个所述评分装置用于接收所述路由装置转发的交易数 据,采用分布式存储方法将接收的交易数据存储在本地内存中,对接收的交易数据进行交 易风险评价,将交易风险评价结果转发给向自身发送交易数据的路由装置,其中,同一个用 户的所有交易数据存储在同一个评分装置中;
[0034] 所述路由装置102,还用于将所述交易风险评价结果转发给所述负载均衡装置;
[0035] 所述负载均衡装置101,还用于将所述交易风险评价结果转发给所述终端,所述交 易风险评价结果是所述终端判断是否继续进行交易的依据。
[0036] 由图1所示可知,在本发明实施例中,在分布式数据处理系统中设置了多个路由装 置和多个评分装置,采用哈希算法将数据均匀放到多台设备的内存中,并采用分布式存储 方法,在数据的读取方面,提高了数据存取的效率,实现了低延时交易数据的存取;同时,在 系统部署方面,多个路由装置和多个评分装置的设置实现了多机集群的方式,通过增加服 务器数量进行横向扩展,可支撑高并发的交易量,显著地提高了系统的吞吐能力和高并发 数据处理的效果;此外,采用哈希算法将数据均匀放到多台设备的内存中,可减少系统扩容 时所需迀移的数据量,显著缩短了系统扩容时所需停机的时间窗口,提高了系统的可用性。
[0037] 具体实施时,如图2所示,所述路由装置102包括:
[0038]数据接收单元10201,用于接收所述负载均衡装置转发的交易数据,存入本地的缓 存中,供其他单元使用;接收所述评分装置转发的交易风险评价结果(即交易数据是否为欺 诈交易的判断结果),存入本地缓存中,供转发数据单元10204后续转发至负载均衡装置; [0039]哈希取余单元10202,用于从接收到的交易数据中获取主键字段,计算所述主键字 段的哈希余数;具体的,从交易数据中提取出主键字段(例如,用户账号),对主键字段先进 行哈希计算,与分块数取余后得到本笔交易数据的哈希余数:
[0040] 哈希余数=mod(hash(主键字段),分块数)
[0041]为了后续的分布式计算,路由装置需要根据交易数据中的卡号字段信息将交易数 据映射到某个分块。为了缓解系统扩容对数据读取命中率的影响,本发明在进行哈希值取 余时,会将主键字段的哈希值除以某个既定的较大分块数(比如100)。由此将数据划分成 100份,在数据持久化装置中维护一张100个数据分块与服务器的对照关系表,即主键字段 的哈希余数与评分装置对照关系表(见表1)。当系统需要扩容(即增加评分服务器数目)时, 分块数保持不变,大部分数据仍可保留在扩容前的位置,由此,减少系统扩容时所需迀移的 数据量,显著缩短了系统扩容时所需停机的时间窗口,提高了系统的可用性。
[0044] 路由对照单元10203,用于根据预设的哈希余数与评分装置的对应关系,寻找与所 述主键字段的哈希余数对应的评分装置;具体的,路由对照单元10203根据数据持久化装置 中的主键字段哈希余数与评分装置对照关系表(如表1),找到本次交易数据所对应的评分 装置序号,反馈给数据转发单元。
[0045] 数据转发单元10204,用于将所述数据接收单元接收到的交易数据转发给寻找到 的与所述主键字段的哈希余数对应的评分装置,将所述数据接收单元接收的交易风险评价 结果转发给所述负载均衡装置。具体的,数据转发单元10204负责将需要进行后续处理的交 易数据通过TCP协议转发给对应的评分装置;负责将交易数据的交易风险评价结果通过TCP 协议原路转发给负载均衡装置。
[0046] 具体实施时,如图3所示,所述评分装置103包括:
[0047] 内存单元10301,用于采用分布式大内存存储方法存储所述路由装置转发的交易 数据;具体的,内存单元10301负责分布式的存储历史交易数据,存储方法可选用Memcached 分布式大内存存储技术。Memcached将数据以Key/Value的形式全部保存在内存中,本发明 中Key值可以为用户账号,Value值可以为该用户账户对应的历史交易信息。当应用程序通 过用户账号对数据进行访问时,Memcached只需要将内存中的数据直接返回即可,整个过程 可以在几毫秒甚至几百微秒内完成。
[0048]计算单元10302,用于根据当前交易数据的主键字段从所述内存单元中获取该主 键字段的历史交易数据,根据历史交易数据和预设规则对当前交易数据进行交易风险评 价,将交易风险评价结果转发给向自身所在的评分装置发送交易数据的路由装置。具体的, 计算单元10302接收转发自路由装置的交易数据,存入本地的缓存中;根据解析得到用户的 账户卡号信息(即主键字段),从本服务器上的内存存储系统中查找得到该主键字段的历史 交易数据;根据用户的历史交易数据和预设规则对当前交易数据进行处理,并计算相关指 标,评价交易风险,并将交易风险评价结果返回到路由装置。
[0049]具体实施时,为了避免单节点的服务器故障导致数据处理的中断,在本发明实施 例中,内存单元和计算单元采用主、备机制,即评分装置中的内存单元包括主内存单元和备 内存单元,计算单元包括主计算单元和备计算单元。正常情况下,计算单元10302在向内存 单元10301请求数据时,会不断地向内存单元(主)读取数据,造成内存单元(备)所在服务器 的资源利用率较低,所以为了提高服务器存储资源的利用率,本系统进一步采用了内存单 元和计算单元交叉冗余部署的方式,一个评分装置的主内存单元与另一个评分装置的备计 算单元部署在同一台服务器上,一个评分装置的备内存单元与另一个评分装置的主计算单 元部署在同一台服务器上,同一台服务器上的备计算单元从该服务器上的主存储单元读取 历史交易数据,同一台服务器上的主计算单元从该服务器上的备存储单元读取历史交易数 据,达到毫秒级的数据存取与评分速度,使电子银行交易的欺诈事件监测能够在几毫秒内 完成。在对评分服务器进行主备交叉冗余部署之后,主键字段哈希余数与评分服务器的对 照关系表从表1就扩展成了如下表2的格式:
[0052]具体实施时,将数据存储在内存或缓存中易丢失,在本实施例中,在数据存储的安 全性上,本系统将最后的交易数据在数据持久化设备上进行备份,可避免因设备意外断电 或其他故障而造成数据丢失,提高系统的可靠性,如图1所示,上述分布式数据处理系统还 包括:联机数据持久化装置1041和批量数据持久化装置1042,其中,所述联机数据持久化装 置优先接收并存储所述评分装置写入的交易数据和交易风险评价结果,在联机数据持久化 装置出现故障时,所述批量数据持久化装置接收并存储所述评分装置写入的交易数据和交 易风险评价结。具体的,联机数据持久化装置1041和批量数据持久化装置1042负责保存评 分装置103处理后的交易数据和交易风险评价结果,用于后续统计分析,同时维护系统运行 所需的信息表(如主键字段哈希余数与评分服务器对照关系表1、2)。为提高系统的高可用 性,至少需要设置2台持久化装置(例如,联机数据持久化装置1041和批量数据持久化装置 1042),分为联机节点和批量节点,联机数据持久化装置1041和批量数据持久化装置1042以 分工合作的机制负责数据的持久化处理。正常情况下,评分装置103在写入交易数据时在联 机节点(即联机数据持久化装置1041)上执行,而批量节点(即联机数据持久化装置1041)则 负责一些报表统计。在联机节点发生故障时,评分装置103会将交易信息写入批量节点,由 批量节点暂时代替联机节点工作,待联机节点恢复正常工作后,批量节点将数据同步至联 机节点中。联机数据持久化装置1041和批量数据持久化装置1042等数据持久化设备可以是 数据库。
[0053]具体实施时,为了增强系统运行的稳定性和可靠性,在本实施例中引入一套监控 机制,使得系统可周期性地收集分布式工作节点的工作状态,及时发现故障节点并进行恢 复操作,例如,如图1所示,上述分布式数据处理系统还包括:监控装置105,用于周期性地接 收所述路由装置和所述评分装置发送的心跳报文,在预设时长内未接收到所述路由装置或 所述评分装置的心跳报文,则判断所述路由装置或所述评分装置故障,对所述路由装置或 所述评分装置的进程进行重新启动,直至接收到所述路由装置或所述评分装置再次发送的 心跳报文。
[0054] 具体的,监控装置105负责监控路由装置102和评分装置103的运行状态,并在装置 发生故障时自动完成故障恢复。具体而言,路由装置102和评分装置103会周期性地向监控 装置105发送心跳报文。当监控装置105在一定时间内都未收到路由装置102、评分装置103 中某台装置发来的报文信息时,则认为该节点发生故障,需要进行自动干预。监控装置105 通过SSH协议对故障节点上的进程进行重新启动,若故障节点重新开始向监控装置105发送 心跳报文,则代表故障恢复流程的结束。整个故障监控及恢复的过程均不需要人工干预,显 著降低了运维的工作量和复杂度。
[0055] 基于同一发明构思,本发明实施例中还提供了一种分布式数据处理方法,如下面 的实施例所述。由于分布式数据处理方法解决问题的原理与分布式数据处理系统相似,因 此分布式数据处理方法的实施可以参见分布式数据处理系统的实施,重复之处不再赘述。
[0056] 图4是本发明实施例的分布式数据处理方法的流程图,如图4所示,该方法包括: [0057]步骤401:通过负载均衡装置接收终端发送的交易数据,将所述交易数据转发给多 个路由装置中当前连接数最少的路由装置;
[0058]步骤402:在每个所述路由装置中,接收所述负载均衡装置转发的交易数据,根据 哈希算法将接收的交易数据转发给多个评分装置中的一个评分装置;
[0059] 步骤403:在每个所述评分装置中,接收所述路由装置转发的交易数据,采用分布 式存储方法将接收的交易数据存储在本地内存中,对接收的交易数据进行交易风险评价, 将交易风险评价结果转发给向自身发送交易数据的路由装置,其中,同一个用户的所有交 易数据存储在同一个评分装置中;
[0060] 步骤404:通过所述路由装置将所述交易风险评价结果转发给所述负载均衡装置;
[0061] 步骤405:通过所述负载均衡装置将所述交易风险评价结果转发给所述终端,所述 交易风险评价结果是所述终端判断是否继续进行交易的依据。
[0062]具体实施时,在每个所述路由装置中,接收所述负载均衡装置转发的交易数据,根 据哈希算法将接收的交易数据转发给多个评分装置中的一个评分装置,包括:接收所述负 载均衡装置转发的交易数据,接收所述评分装置转发的交易风险评价结果;从接收到的交 易数据中获取主键字段,计算所述主键字段的哈希余数;根据预设的哈希余数与评分装置 的对应关系,寻找与所述主键字段的哈希余数对应的评分装置;将所述路由装置接收到的 交易数据转发给寻找到的与所述主键字段的哈希余数对应的评分装置,将所述路由装置接 收的交易风险评价结果转发给所述负载均衡装置。
[0063]具体的,如图5所示,在每个路由装置中的数据处理过程进一步包括以下步骤: [0064]步骤501:路由装置从数据接收单元中读取交易数据。
[0065]步骤502:路由装置判断是否已经从数据持久化装置中加载了每个评分装置与其 所负责主键字段的对照关系表。
[0066] 步骤503:若路由装置尚未加载对照关系表,则立即从数据持久化装置中读取该表 的信息,并将其保留在内存中。
[0067] 步骤504:路由装置根据内存中对照关系表的信息,找到当前交易数据应该交由哪 个评分装置进行处理。
[0068] 具体的,路由装置的哈希取余单元从交易数据中提取出主键字段信息(如卡号字 段信息),对主键字段信息进行哈希余数的计算。路由对照单元根据内存中的对照关系表, 找到哈希余数所对应的评分装置序号。
[0069] 步骤505:路由装置的数据转发单元检查转发到该评分装置的异步转发队列是否 已满。
[0070] 步骤506:若该转发队列已满,表示当前系统的负载较高,应触发过载保护,则直接 向交易终端返回系统繁忙的提示信息。具体的,当系统负载过大,无法满足每个交易数据评 分请求时,系统会直接向交易终端返回系统繁忙的提示信息,而不再进行路由转发和评分 计算,避免因负载过大而造成系统宕机。而交易终端在收到系统繁忙提示之后,为避免影响 客户的交易体验,可以按交易数据的传统处理流程直接响应这笔交易的请求。
[0071] 步骤507:若该转发队列未满,将当前交易数据放入异步转发队列。
[0072]步骤508:异步转发线程从异步转发队列中获取交易数据,并将交易数据通过TCP 连接转发给对应的评分装置。
[0073] 步骤509:在将数据发送给评分装置(主)的过程中,系统会检查是否发送成功,若 发送成功的话则本流程正常结束。
[0074] 步骤510:若向评分装置(主)发送数据失败,系统则会自动将数据再发送给评分装 置(备),之后本流程结束。
[0075] 具体实施时,在每个所述评分装置中,接收所述路由装置转发的交易数据,采用分 布式存储方法将接收的交易数据存储在本地内存中,对接收的交易数据进行交易风险评 价,将交易风险评价结果转发给向自身发送交易数据的路由装置,包括:通过内存单元采用 分布式大内存存储方法存储所述路由装置转发的交易数据;通过计算单元根据当前交易数 据的主键字段从所述内存单元中获取该主键字段的历史交易数据,根据历史交易数据和预 设规则对当前交易数据进行交易风险评价,将交易风险评价结果转发给向该评分装置发送 交易数据的路由装置。
[0076]具体的,如图6所示,在每个评分装置中的数据处理过程包括如下步骤:
[0077]步骤601:评分装置接收路由装置通过TCP连接发来的交易数据。
[0078]步骤602:评分装置判断处理队列是否已满。
[0079]步骤603:若处理队列已满,则说明系统负载过大,应触发过载保护,直接向路由装 置返回系统繁忙的提示信息。
[0080] 步骤604:若处理队列未满,则将当前交易数据放入处理队列中。
[0081] 步骤605:系统从内存单元(主)中获取当前交易数据的历史交易数据。具体实施 时,每个评分装置中的内存单元包括主内存单元和备内存单元,计算单元包括主计算单元 和备计算单元,其中,一个评分装置的主内存单元与另一个评分装置的备计算单元部署在 同一台服务器上,一个评分装置的备内存单元与另一个评分装置的主计算单元部署在同一 台服务器上。
[0082] 步骤606:系统会自动判断数据是否获取成功。
[0083]步骤607:若数据获取失败,系统则会从内存单元(备)中获取当前交易数据的历史 交易数据。
[0084] 步骤608:若数据获取成功,系统根据用户的历史交易数据和预设规则对当前交易 数据进行处理,并计算相关指标,评价交易风险,获得处理结果。
[0085] 具体实施时,上述分布式数据处理方法还包括:将所述评分装置写入的交易数据 和交易风险评价结果优先存储在联机数据持久化装置中,在所述联机数据持久化装置出现 故障时,将所述评分装置写入的交易数据和交易风险评价结果存储在批量数据持久化装置 中。
[0086]具体实施时,上述分布式数据处理方法还包括:通过监控装置周期性地接收所述 路由装置和所述评分装置发送的心跳报文,在预设时长内未接收到所述路由装置或所述评 分装置的心跳报文,则判断所述路由装置或所述评分装置故障,通过所述监控装置对所述 路由装置或所述评分装置的进程进行重新启动,直至接收到所述路由装置或所述评分装置 再次发送的心跳报文。
[0087]具体的,为了增强系统运行的稳定性和可靠性,本发明系统引入一套监控机制,使 得系统可周期性地收集路由装置和评分装置的工作状态,及时发现故障装置并进行恢复操 作。由此,使得本发明系统具备一种对故障的"自愈"能力。如图7所示,监控装置的工作流程 包括以下步骤:
[0088] 步骤701:路由装置和评分装置周期性地向监控装置发送心跳报文。
[0089] 步骤702:监控装置接收来自路由装置和评分装置的心跳,判断是否收到所有的心 跳。
[0090] 步骤703:监控装置收到所有路由装置和评分装置的心跳,则等待若干秒后,回到 步骤701,重新开始新一轮的心跳发送和监控。
[0091 ]步骤704:监控装置在一定时间内没有收到某个装置的心跳,则认为该节点发生故 障,需要进行自动干预。具体的,监控装置通过SSH协议对故障节点上的进程进行重新启动。 [0092]步骤705:故障节点恢复正常工作,重新开始向监控装置发送心跳报文。
[0093] 步骤706:若监控装置收到恢复节点的心跳,则代表故障恢复流程的结束。
[0094] 步骤707:若监控装置在一定时间内没有收到恢复节点的心跳,则认为该节点的故 障依旧存在,回到步骤704。
[0095] 整个故障检测及恢复的过程均不需要人工干预,显著降低了运维的工作量和复杂 度。
[0096]在本发明实施例中,在分布式数据处理系统中设置了多个路由装置和多个评分装 置,采用哈希算法将数据均匀放到多台设备的内存中,并采用分布式存储方法,在数据的读 取方面,提高了数据存取的效率,实现了低延时交易数据的存取;同时,在系统部署方面,多 个路由装置和多个评分装置的设置实现了多机集群的方式,通过增加服务器数量进行横向 扩展,可支撑高并发的交易量,显著地提高了系统的吞吐能力和高并发数据处理的效果;此 外,采用哈希算法将数据均匀放到多台设备的内存中,可减少系统扩容时所需迀移的数据 量,显著缩短了系统扩容时所需停机的时间窗口,提高了系统的可用性。
[0097]显然,本领域的技术人员应该明白,上述的本发明实施例的各模块或各步骤可以 用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置 所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它 们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执 行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个 模块或步骤制作成单个集成电路模块来实现。这样,本发明实施例不限制于任何特定的硬 件和软件结合。
[0098]以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技 术人员来说,本发明实施例可以有各种更改和变化。凡在本发明的精神和原则之内,所作的 任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
【主权项】
1. 一种分布式数据处理系统,其特征在于,包括: 负载均衡装置,用于接收终端发送的交易数据,将交易数据转发给多个路由装置中当 前连接数最少的路由装置; 多个所述路由装置,每个所述路由装置用于接收所述负载均衡装置转发的交易数据, 根据哈希算法将接收的交易数据转发给多个评分装置中的一个评分装置; 多个所述评分装置,每个所述评分装置用于接收所述路由装置转发的交易数据,采用 分布式存储方法将接收的交易数据存储在本地内存中,对接收的交易数据进行交易风险评 价,将交易风险评价结果转发给向自身发送交易数据的路由装置,其中,同一个用户的所有 交易数据存储在同一个评分装置中; 所述路由装置,还用于将所述交易风险评价结果转发给所述负载均衡装置; 所述负载均衡装置,还用于将所述交易风险评价结果转发给所述终端,所述交易风险 评价结果是所述终端判断是否继续进行交易的依据。2. 如权利要求1所述的分布式数据处理系统,其特征在于,所述路由装置,包括: 数据接收单元,用于接收所述负载均衡装置转发的交易数据,接收所述评分装置转发 的交易风险评价结果; 哈希取余单元,用于从接收到的交易数据中获取主键字段,计算所述主键字段的哈希 余数; 路由对照单元,用于根据预设的哈希余数与评分装置的对应关系,寻找与所述主键字 段的哈希余数对应的评分装置; 数据转发单元,用于将所述数据接收单元接收到的交易数据转发给寻找到的与所述主 键字段的哈希余数对应的评分装置,将所述数据接收单元接收的交易风险评价结果转发给 所述负载均衡装置。3. 如权利要求1所述的分布式数据处理系统,其特征在于,所述评分装置包括: 内存单元,用于采用分布式大内存存储方法存储所述路由装置转发的交易数据; 计算单元,用于根据当前交易数据的主键字段从所述内存单元中获取该主键字段的历 史交易数据,根据历史交易数据和预设规则对当前交易数据进行交易风险评价,将交易风 险评价结果转发给向自身所在的评分装置发送交易数据的路由装置。4. 如权利要求3所述的分布式数据处理系统,其特征在于,所述评分装置中的内存单元 包括主内存单元和备内存单元,所述计算单元包括主计算单元和备计算单元,其中,一个评 分装置的主内存单元与另一个评分装置的备计算单元部署在同一台服务器上,一个评分装 置的备内存单元与另一个评分装置的主计算单元部署在同一台服务器上,同一台服务器上 的备计算单元从该服务器上的主存储单元读取历史交易数据,同一台服务器上的主计算单 元从该服务器上的备存储单元读取历史交易数据。5. 如权利要求1至4中任一项所述的分布式数据处理系统,其特征在于,还包括:联机数 据持久化装置和批量数据持久化装置,其中,所述联机数据持久化装置优先接收并存储所 述评分装置写入的交易数据和交易风险评价结果,在联机数据持久化装置出现故障时,所 述批量数据持久化装置接收并存储所述评分装置写入的交易数据和交易风险评价结果。6. 如权利要求1至4中任一项所述的分布式数据处理系统,其特征在于,还包括: 监控装置,用于周期性地接收所述路由装置和所述评分装置发送的心跳报文,在预设 时长内未接收到所述路由装置或所述评分装置的心跳报文,则判断所述路由装置或所述评 分装置故障,对所述路由装置或所述评分装置的进程进行重新启动,直至接收到所述路由 装置或所述评分装置再次发送的心跳报文。7. -种分布式数据处理方法,其特征在于,包括: 通过负载均衡装置接收终端发送的交易数据,将所述交易数据转发给多个路由装置中 当前连接数最少的路由装置; 在每个所述路由装置中,接收所述负载均衡装置转发的交易数据,根据哈希算法将接 收的交易数据转发给多个评分装置中的一个评分装置; 在每个所述评分装置中,接收所述路由装置转发的交易数据,采用分布式存储方法将 接收的交易数据存储在本地内存中,对接收的交易数据进行交易风险评价,将交易风险评 价结果转发给向自身发送交易数据的路由装置,其中,同一个用户的所有交易数据存储在 同一个评分装置中; 通过所述路由装置将所述交易风险评价结果转发给所述负载均衡装置; 通过所述负载均衡装置将所述交易风险评价结果转发给所述终端,所述交易风险评价 结果是所述终端判断是否继续进行交易的依据。8. 如权利要求7所述的分布式数据处理方法,其特征在于,在每个所述路由装置中,接 收所述负载均衡装置转发的交易数据,根据哈希算法将接收的交易数据转发给多个评分装 置中的一个评分装置,包括: 接收所述负载均衡装置转发的交易数据,接收所述评分装置转发的交易风险评价结 果; 从接收到的交易数据中获取主键字段,计算所述主键字段的哈希余数; 根据预设的哈希余数与评分装置的对应关系,寻找与所述主键字段的哈希余数对应的 评分装置; 将所述路由装置接收到的交易数据转发给寻找到的与所述主键字段的哈希余数对应 的评分装置,将所述路由装置接收的交易风险评价结果转发给所述负载均衡装置。9. 如权利要求7所述的分布式数据处理方法,其特征在于,在每个所述评分装置中,接 收所述路由装置转发的交易数据,采用分布式存储方法将接收的交易数据存储在本地内存 中,对接收的交易数据进行交易风险评价,将交易风险评价结果转发给向自身发送交易数 据的路由装置,包括: 通过内存单元采用分布式大内存存储方法存储所述路由装置转发的交易数据; 通过计算单元根据当前交易数据的主键字段从所述内存单元中获取该主键字段的历 史交易数据,根据历史交易数据和预设规则对当前交易数据进行交易风险评价,将交易风 险评价结果转发给向该评分装置发送交易数据的路由装置。10. 如权利要求9所述的分布式数据处理方法,其特征在于,每个所述评分装置中的内 存单元包括主内存单元和备内存单元,所述计算单元包括主计算单元和备计算单元,其中, 一个评分装置的主内存单元与另一个评分装置的备计算单元部署在同一台服务器上,一个 评分装置的备内存单元与另一个评分装置的主计算单元部署在同一台服务器上,在同一台 服务器上通过备计算单元从该服务器上的主存储单元读取历史交易数据,在同一台服务器 上通过主计算单元从该服务器上的备存储单元读取历史交易数据。11. 如权利要求7至10中任一项所述的分布式数据处理方法,其特征在于,还包括: 将所述评分装置写入的交易数据和交易风险评价结果优先存储在联机数据持久化装 置中,在所述联机数据持久化装置出现故障时,将所述评分装置写入的交易数据和交易风 险评价结果存储在批量数据持久化装置中。12. 如权利要求7至10中任一项所述的分布式数据处理方法,其特征在于,还包括: 通过监控装置周期性地接收所述路由装置和所述评分装置发送的心跳报文,在预设时 长内未接收到所述路由装置或所述评分装置的心跳报文,则判断所述路由装置或所述评分 装置故障,通过所述监控装置对所述路由装置或所述评分装置的进程进行重新启动,直至 接收到所述路由装置或所述评分装置再次发送的心跳报文。
【文档编号】G06Q40/04GK105959235SQ201610580029
【公开日】2016年9月21日
【申请日】2016年7月21日
【发明人】袁, 袁一, 沈贇, 张学舟, 陶玮
【申请人】中国工商银行股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1