用于高级速度简档准备和分析的系统和方法与流程

文档序号:32571958发布日期:2022-12-17 02:47阅读:111来源:国知局
用于高级速度简档准备和分析的系统和方法与流程
用于高级速度简档准备和分析的系统和方法
1.相关申请的交叉引用
2.本技术要求2020年4月1日提交的美国专利申请no.16/837,673的优先权,该专利申请的内容通过引用针对所有目的并入本文中。
技术领域
3.本技术一般涉及一种可以用于帮助准备和分析速度简档的技术,更具体地,涉及用于在准备为机器学习模型使用的速度简档中使用分布式处理的基于网络的系统和方法。


背景技术:

4.机器学习模型依赖一些种类的简档。例如,在支付网络处理中,普遍使用基于速度的简档。此外,为了改进欺诈处理和消息分析,定期对用于计算那些速度的不同值和维度进行实验。这些新的分析可以包括对商家、终端、账户范围、全部发行者以及理论上交易消息、衍生数据或外部数据上的字段的任何组合做简档。
5.许多分析模型,特别是实时建立和部署的模型,对在模型仿真的时间点上会存在的数据进行仿真。这些分析模型中的许多使用实时的基于速度的输入。基于速度的输入表示在特定时间段内发生的活动的量。然而,分析存在于所需时间点和之前的历史数据可能在时间和处理能力方面代价很大,特别是对于计算存在于该时间点的速度此。因此,需要更高效且可重复的用于计算速度的系统。


技术实现要素:

6.在一个方面,提供一种系统。所述系统包括包含与至少一个存储器设备通信的至少一个处理器的计算设备。所述至少一个处理器被编程为接收多个数据点。所述至少一个处理器也被编程为将多个数据点排序为时间顺序。所述至少一个处理器还被编程为将多个数据点划分为多个子集。多个子集中的每个子集表示一时间段。此外,所述至少一个处理器被编程为处理每个子集以确定单个子集的速度值。此外,所述至少一个处理器被编程为组合多个速度值以确定最终速度值。
7.在另一个方面,提供一种用于分析多个速度值的方法。所述方法由包括与至少一个存储器设备通信的至少一个处理器的计算机设备实现。所述方法包括接收多个数据点。所述方法还包括将多个数据点排序为时间顺序。所述方法还包括将多个数据点划分为多个子集。多个子集中的每个子集表示一时间段。此外,所述方法包括处理每个子集以确定单个子集的速度值。此外,所述方法包括组合多个速度值以确定最终速度值。
8.在进一步的方面,提供一种在其上实施有计算机可执行指令的计算机可读存储介质。当由包括与存储器通信的至少一个处理器的速度分析计算设备执行时,所述计算机可读指令使速度分析计算设备接收多个数据点。所述计算机可读指令还使速度分析计算设备将多个数据点排序为时间顺序。所述计算机可读指令还使速度分析计算设备将多个数据点划分为多个子集。多个子集中的每个子集表示一时间段。此外,所述计算机可读指令使速度
分析计算设备处理每个子集以确定单个子集的速度值。此外,所述计算机可读指令使速度分析计算设备组合多个速度值以确定最终速度值。
附图说明
9.图1-6显示了本文中说明的方法和系统的示例实施例。
10.图1是图示了按照本公开的一个实施例的用于实现用卡支付交易的示例多方支付卡系统的原理图。
11.图2是关于用于从(比如图1中所示的系统所提供的)历史数据中计算和分析速度的示例过程的框图。
12.图3是用于从(比如图1中所示的系统所提供的)历史数据中计算和分析速度的示例方法的流程图。
13.图4是按照本公开的一个示例实施例的用于从历史数据中计算和分析速度的计算机系统的示例实施例的扩展框图。
14.图5图示了图4中所示的客户端系统的示例配置。
15.图6图示了诸如图4的速度分析计算设备的服务器系统的示例配置。
16.尽管各个实施例的具体特征可能在一些附图中显示,而在其他附图中没有显示,但这只是为了方便。任何附图的任何特征都可以结合任何其他附图的任何特征被引用和/或要求。
具体实施方式
17.本文中说明的系统和方法针对检测要应用于实时监测系统的历史数据中的模式来实时地检测异常活动。在示例实施例中,速度分析计算设备接收多个数据点。速度分析计算机设备将多个数据点排序为时间顺序。速度分析计算机设备将多个数据点划分为多个子集。多个子集中的每个子集表示一时间段。速度分析计算机设备处理每个子集以确定单个子集的速度值。速度分析计算机设备组合多个速度值以确定最终速度值。
18.为了使欺诈和其他问题检测更容易,机器学习模型被用于检测行为的模式并确定可能导致这些行为的指示符(indicator)。此外,机器学习模型可以分析众多不同的变量和参数以确定用于检测不同事件的理想的参数。然而,对于模型要分析的每个不同时间点重复地分析历史数据会是非常昂贵且低效的。因此,本文中说明的系统和方法使用速度简档来提高机器学习模型的速度。此外,数据被划分以便并行处理,以提高生成速度简档的速度。这使得机器学习模型能够分析多个不同维度,比如但不限于,卡、商家、账户范围、顾客标识符或销售点国家。这些可以通过多个数据集来分析,比如从交易消息、衍生数据或外部数据的字段中。
19.机器学习模型可以跟踪活动的速度(即在特定时间段内发生的活动的量)。活动可以是,但不限于,交易的数量、花费的美元的总额、欺诈分数总和或基于对于商家的会计的不同指标。然而,为了能够计算这些速度简档,系统需要回溯历史数据并计算会存在于交易发生的每个时间点的速度。如果系统有大量的历史数据(即18个月)要分析,可能在所需的时间和处理能力方面代价非常大。然而,本文中说明的系统和方法显著降低了所需的努力。
20.可以检测的情况的例子包括,但不限于,检测银行挤兑。这可以通过atm流量的异
常增加来检测。为了检测atm流量的增加,需要随着时间推移对atm流量做简档,以便系统知道什么是正常的atm数据,而什么是极高的atm流量。例如,如果对于一天的atm交易的正常数量是100,而今天的数量更接近500,那么系统可能将该情形的出现标记为越界并应该需要进一步调查。本文中说明的系统和方法的一个优点是降低了确定对于一年中相关网络中每家银行的速度所需的时间和处理能力的量,以便能够对正常的atm交易值进行适当建模。
21.本文中说明的实施例利用并行处理来高效地计算用于历史数据的分析的速度简档。这使得机器学习模型的训练能够确定行为的模式。机器学习模型可以使用模式来实时检测异常活动。
22.为了计算速度简档,速度分析计算机设备接收历史数据。在示例实施例中,历史数据存储在历史数据库中。在一些实施例中,历史数据库与支付网络和发行者中的一个或多个相关联。在示例实施例中,历史数据库包括对于在预先确定的时间段内(例如,在过去十五分钟内、在过去一小时内、在过去六小时内、在过去二十四小时内、在过去一周内、在过去28天内等)通过支付处理网络进行的多个支付交易的交易记录。例如,交易数据集可以包括对于在预先确定的时间段内与特定发行银行相关联的账户范围的所有交易记录。在其他实施例中,历史数据库包括在预先确定的时间段(例如一年到18个月)内与发行者相关联的所有交易。在更进一步的实施例中,历史数据库包括在预先确定的时间段内与支付网络相关联的所有交易。
23.在示例实施例中,通过速度分析计算机设备基于一个或多个用户输入来过滤历史数据。例如,用户可以过滤数据以仅包括与特定位置、商家、发行者、支付网络和/或账户编号范围相关联的交易。然后,速度分析计算机设备基于时间将数据排序为时间顺序。
24.使用过滤和排序的数据,速度分析计算机设备将数据划分为n个时间窗,其中每个时间窗的大小相同。在一些实施例中,时间窗的大小由用户设置。在其他实施例中,时间窗的大小由速度分析计算机设备基于将使用速度简档的模型来设置。在更进一步的实施例中,速度分析计算机设备基于每个时间窗中的交易的平均数量来设置时间窗。例如,时间窗可以是每15分钟、每半小时、每小时、每两小时、每天等。每个时间窗中的交易与同一时间窗中的其他交易一起被分组,并且该组交易被各自发送到分布式处理器,比如客户端系统。
25.客户端系统计算它接收的时间窗i中的交易的速度。在示例实施例中,客户端系统计算时间窗i中的所有交易的速度并使速度衰减到时间窗的末端。在示例实施例中,客户端系统使用指数衰减来计算时间窗中的每个交易在时间窗末端处的最终速度。具体地,使用以下等式1计算最后一个速度值到当前时间的衰减:
26.el_decay=x1*e-(ln(2)*time_delta)
ꢀꢀꢀꢀꢀꢀ
等式1
27.其中x1是其速度被计算和衰减的交易的先前的值,ln(2)是衰减率,而time_delta是交易的时间与时间窗末端之间的时间差。在一些实施例中,衰减率可以基于速度被建立的时间单位进行缩放。在这些实施例中,一的值将代表一天。例如,对于一小时速度的缩放将使用(ln(2)*(1/24))作为衰减率。time_delta可以用一天的分数来表示。例如,如果最后一个交易与当前时间之间的时间是一秒,那么time_delta将是1/86400。客户端系统组合了对于时间窗中的每个交易的衰减过的速度。客户端系统将对于该时间窗的最终速度值返回给速度分析计算机设备。为了计算交易的时间点速度,客户端系统使用等式1,并将其与当前交易上的指标的值相加,如以下等式2中所示。
[0028][0029]
其中vc是当前速度值,xc是交易的指标的值,v
p
是先前的速度值,b是基础衰减率,而w是缩放因子。
[0030]
在示例实施例中,速度分析计算机设备与多个客户端系统通信。速度分析计算机设备向每个客户端系统发送一个或多个时间窗长的交易以并行分析。在一些进一步的实施例中,在时间窗比客户端系统更多的情况下,速度分析计算机设备向每个客户端系统发送一个时间窗。接着,当客户端系统处理完先前发送的时间窗时,速度分析计算机设备向该客户端系统发送另一个时间窗。例如,在有2000个客户端系统和1000个时间窗的情况下,速度分析计算机设备能够向1000个客户端系统中的每个发送一个时间窗,以便客户端系统并行处理每个时间窗。在另一个例子中,在有200个客户端系统和1000个时间窗的情况下,速度分析计算机设备可以向每个客户端系统传输五个时间窗,或者速度分析计算机设备可以向每个客户端系统传输一个时间窗,而当客户端系统报告它已经处理完其当前时间窗时,向该客户端系统传输另一个时间窗。
[0031]
速度分析计算机设备将接收的速度相加在一起以确定对于所需时间的速度。接着速度分析计算机设备用最终速度执行模型。在其他实施例中,速度分析计算机设备将最终速度传输到执行模型的单独的计算机设备。在一些实施例中,速度分析计算机设备存储来自客户端系统的所有速度,以为将来的分析节省时间和处理能力,比如在数据库中。在一些实施例中,速度分析计算机设备计算对于时间窗的速度,同时客户端系统也在处理单独的时间窗。
[0032]
在示例实施例中,速度分析计算机设备通过首先将速度的值衰减到所需时间然后将衰减过的值相加在一起来将接收的速度相加。
[0033]
例如,在有分散在四个时间窗的100个交易的场景中,每个时间窗两小时。速度分析计算机设备将100个交易排序为时间顺序。速度分析计算机设备接着将数据划分为四个时间窗,其中每个时间窗的大小相同。划分后,时间窗a包括15个交易,时间窗b包括25个交易,时间窗c包括40个交易,而时间窗d包括20个交易。交易的四个时间窗中的每个传输到不同客户端系统用于分析。每个客户端系统确定其中的交易的速度并将速度衰减到两小时时间窗的末端。为了在每个时间窗中处理不同交易,客户端系统使用不同的w值来计算将时间窗向前移动到时间窗d的末端。
[0034]
每个时间窗的速度被传输到速度分析计算机设备。在这个例子中,所需时间是时间窗d的末端。接着,速度分析计算机设备从时间窗a中取得速度a,并将速度a衰减六小时(从时间窗a的末端到时间窗d的末端)以得到速度a’。速度分析计算机设备还计算速度b’和速度c’。速度d已经在其时间窗的末端。这四个值接着被相加以确定对于所需时间的最终速度。
[0035]
虽然上述解释使用了支付网络的交易,但本领域技术人员会理解,本文中说明的步骤可以用于其中需要针对大量数据在相当长的时间段内计算速度的任何系统。例如,本文中说明的系统和方法可以用于分析传感器数据,比如温度、湿度、振动,用于分析错误数据以检测网络安全威胁或设备中的潜在故障。
[0036]
本文中说明的方法和系统可以使用包括计算机软件、固件、硬件或者任何组合或子集的计算机编程或工程技术来实现。如上文所公开的,现有系统的至少一个技术问题是,
需要以成本效益高且高效的方式为大量数据生成速度简档的系统。本文中说明的系统和方法解决了该技术问题。此外,本系统提供的克服技术困难的至少一个技术解决方案可以包括:(i)分析数据点中的提高的速度;(ii)使用分布式处理资源时降低的网络流量;(iii)减少的确定机器学习模型中使用的速度简档所需的处理;和(iv)分析各种各样的参数和维度的能力。
[0037]
本文中说明的方法和系统可以使用包括计算机软件、固件、硬件或者其中的任何组合或子集的计算机编程或工程技术来实现,其中技术效果可以通过进行以下步骤中的至少一个来实现:(i)接收多个数据点,其中多个数据点包括多个支付交易;(ii)将多个数据点排序为时间顺序;(iii)将多个数据点划分为多个子集,其中多个子集中的每个子集表示一时间段,其中每个子集覆盖不同的时间段并包括在对应的时间段中发生的一个或多个交易,并且其中每个子集覆盖相同的时间量;(iv)处理每个子集以确定单个子集的速度值;(v)组合多个速度值以确定最终速度值;(vi)接收一个或多个过滤准则;(vii)基于一个或多个过滤准则过滤多个数据点;(viii)在多个客户端系统中的每个处接收包括开始时间和结束时间的子集;(ix)通过对应的客户端系统基于结束时间确定接收的子集的速度值;(x)通过相应的客户端系统基于将接收的子集中的数据点的速度值衰减到结束时间来确定接收的子集的速度值;(xi)向多个客户端系统传输多个子集;(xii)从多个客户端系统接收多个速度值;(xiii)基于所需时间点衰减多个速度值;(xiv)组合多个衰减过的速度值以确定最终速度值;和(xv)使用最终速度值执行模型。
[0038]
正如将要理解的那样,基于本文中的说明,本文中所述的速度分析系统中的技术改进是对本身就根植于计算机技术中的技术缺陷或问题(例如,问题本身来源于计算机技术的使用)的基于计算机的解决方案。更具体地,欺诈和其他异常活动是对于通过电子支付网络进行的交易的重要问题,特别是对于无卡交易。至少一些已知的用于检测异常活动的方法和系统需要相对较大的计算资源,并且至少在一些情况下不能准确地检测异常活动。因此,为了解决这些问题,本文中说明的系统和方法计算速度分数,并分析计算的速度分数以识别异常活动。
[0039]
下述的本公开的实施例的详细说明参照附图。不同附图中的相同的附图标记可以识别相同或相似的元件。此外,下述的详细说明不限制权利要求。
[0040]
本文中说明的是计算机系统,比如速度分析计算设备。如本文中所述,所有这样的计算机系统包括处理器和存储器。然而,本文中提到的计算机设备中的任何处理器也可以指一个或多个处理器,其中处理器可以在一个计算设备或并行运作的多个计算设备中。此外,本文中提到的计算机设备中的任何存储器也可以指一个或多个存储器,其中存储器可以在一个计算设备或并行运作的多个计算设备中。
[0041]
如本文中使用的,处理器可以包括包含使用微控制器、精简指令集电路(risc)、专用集成电路(asic)、逻辑电路以及能够执行本文中所述功能的任何其他电路或处理器的系统的任何可编程系统。上述例子只是例子,因此并不旨在以任何方式限制术语“处理器”的定义和/或含义。
[0042]
如本文中使用的,术语“数据库”可以指数据的主体、关系数据库管理系统(rdbms),或者指两者。如本文中使用的,数据库可以包括包含层次数据库、关系数据库、平面文件数据库、对象-关系数据库、面向对象数据库以及存储在计算机系统中的记录或数据
的任何其他结构化收集的数据的任何收集。上述例子只是例子,因此并不旨在以任何方式限制术语数据库的定义和/或含义。rdbms的例子包括,但不限于,database、mysql、db2、sql server、和postgresql。然而,可以使用实现本文中说明的系统和方法的任何数据库。(oracle是oracle corporation,redwood shores,california的注册商标;ibm是international business machines corporation,armonk,new york的注册商标;microsoft是microsoft corporation,redmond,washington的注册商标;而sybase是sybase,dublin,california的注册商标。)
[0043]
在一个实施例中,提供计算机程序,并且所述程序实施在计算机可读介质上。在示例实施例中,系统在单独的计算机系统上执行,而不需要与服务器计算机的连接。在进一步的示例实施例中,系统运行在环境中(windows是microsoft corporation,redmond,washington的注册商标)。在另一个实施例中,系统运行在大型主机环境和服务器环境上(unix是位于reading,berkshire,united kingdom的x/open company limited的注册商标)。在进一步的实施例中,系统运行在环境上(ios是位于san jose,ca的cisco systems,inc.的注册商标)。在进一步的实施例中,系统运行在mac环境上(mac os是位于cupertino,ca的apple inc.的注册商标)。在更进一步的实施例中,系统运行在os上(android是mountain view,ca的google,inc.的注册商标)。在另一个实施例中,系统运行在os上(linux是boston,ma的linus torvalds的注册商标)。应用是灵活的,并且被设计用于运行在各种不同环境中而不损害任何主要功能。
[0044]
在一些实施例中,系统包括分布在多个计算机设备中的多个组件。一个或多个组件可以是以实施在计算机可读介质中的计算机可执行指令的形式。系统和过程不限于本文中说明的具体实施例。此外,每个系统的组件和每个过程可以独立和分离于本文中说明的其他组件和过程实践。每个组件和过程也可以与其他装配包和过程组合使用。本实施例可以增强计算机和/或计算机系统的功能性和运作。
[0045]
如本文中使用的,以单数形式叙述并以词“一”开始的元件或步骤应该被理解为不排除复数元件或步骤,除非明确地叙述了这种排除。此外,本公开的对“示例实施例”或“一个实施例”的提及不旨在被解释为排除也包含叙述的特征的附加实施例的存在。
[0046]
如本文中使用的,术语“软件”和“固件”是可互换的,并且包括存储在存储器中供处理器的执行的任何计算机程序,包括ram存储器、rom存储器、eprom存储器、eeprom存储器和非易失性ram(nvram)存储器。上述存储器类型只是例子,因此对于可用于计算机程序的存储的存储器的类型并没有限制。
[0047]
如本文中使用的,术语“支付设备”、“交易卡”、“金融交易卡”和“支付卡”指任何适合的交易卡,比如信用卡、借记卡、预付卡、签账卡、会员卡、促销卡、常旅客卡、识别卡、预付卡、礼品卡和/或可以持有支付账户信息的任何其他设备,比如移动电话、智能电话、个人数字助理(pda)、可穿戴计算设备、钥匙扣和/或能够提供账户信息任何其他计算设备。此外,这些术语可以指直接来自或使用银行账户、储值账户、移动钱包等进行的支付,因此不限于物理设备,而是通常指支付凭证。每个类型的支付设备可以被用作用于进行交易的支付的
方法。此外,消费者卡账户行为可以包括但不限于购买、管理活动(例如余额查询)、账单支付、目标的实现(达到账户余额目标、按时支付账单)和/或产品注册(例如移动应用下载)。
[0048]
此外,如本文中使用的,术语“实时”指关联事件的发生的时间、预先确定的数据的测量与收集的时间、处理数据的时间以及对事件与环境的系统响应的时间中的至少一个。在本文中说明的实施例中,这些活动和事件基本上瞬时发生。
[0049]
所述系统和过程不限于本文中说明的具体实施例。此外,每个系统的组件和每个过程可以独立和分离于本文中说明的其他组件和过程实践。每个组件和过程也可以与其他装配包和过程组合使用。
[0050]
下述的详细说明通过举例而非通过限制的方式图示了本公开的实施例。可以设想的是,本公开对于计算和分析速度有普遍的应用。
[0051]
图1是图示了按照本公开的一个实施例的用于实现用卡支付交易的示例多方支付卡系统20的原理图。图1描述了通过系统20的典型的金融交易中的数据流。
[0052]
本文中说明的实施例可以与交易卡系统有关,比如使用交换网络的信用卡支付系统。交换网络是由mastercard international颁布的一套专有通信标准,用于作为mastercard international的成员的金融机构之间的金融交易数据交换和资金结算。(mastercard是位于purchase,new york的mastercard international incorporated的注册商标)。
[0053]
在典型的交易卡系统中,被称为“发行者”的金融机构向消费者或持卡人22发行交易卡,比如信用卡,所述消费者或持卡人22使用交易卡以为从商家24进行的购买提供支付。持卡人22可以在商家24处购买商品或服务(“产品”)。持卡人22可以使用交易卡的虚拟形式和,更具体地,通过提供与交易卡有关的数据(例如交易卡号、有效期、相关联的邮政编码和安全码)以发起交易来进行此类购买。为了接受用交易卡或交易卡的虚拟形式进行的支付,商家24通常必须在作为金融支付系统的一部分的金融机构建立账户。此金融机构通常被称为“商家银行”、“收单银行”或“收单者”。当持卡人22用交易卡或虚拟交易卡为购买提供支付时,商家24向商家银行26请求对于购买的金额的授权。请求可以通过电话或电子方式进行,但通常通过销售点终端的使用进行,销售点终端从交易卡上的磁条、芯片或浮雕字符中读取持卡人22的账户信息并与商家银行26的交易处理计算机以电子方式通信。商家24接收持卡人22所提供的持卡人22的账户信息。或者,商家银行26可以授权第三方代表它进行交易处理。在这种情况下,销售点终端将被配置为与第三方通信。此类第三方通常被称为“商家处理器”、“收单处理器”或“第三方处理器”。
[0054]
使用交换网络28,商家银行26的计算机或商家处理器将与发行者银行30的计算机通信,以确定持卡人22的账户32是否信誉良好,以及购买是否被持卡人22的可用信用额度覆盖。基于这些确定,对于授权的请求将会被拒绝或接受。如果请求被接受,授权码被发放给商家24。
[0055]
当对于授权的请求被接受时,持卡人22的账户32的可用信用额度降低。通常,对于支付卡交易的收费不会立即发布到持卡人22的账户32,因为银行卡协会(比如mastercard international)已经颁布了规则,规则不允许商家24在产品被运送或服务被递送之前对交易进行收费或“捕获”。然而,对于至少一些借记卡交易,收费可以在交
易的时候被发布。当商家24运送或递送产品或服务时,商家24通过例如销售点终端上的适当的数据录入过程来捕获交易。这可以包括对于标准零售购买的每日批准的交易的捆绑。如果持卡人22在交易被捕获前取消交易,会生成“无效”。如果持卡人22在交易已经被捕获后退回产品,会生成“信用”。交换网络28和/或发行者银行30在数据库120(图2中所示)中存储交易卡信息,比如商家的类型、购买的金额、购买的日期。
[0056]
在已经进行购买后,清算过程会发生,以在交易的各方(比如商家银行26、交换网络28和发行者银行30)之间传输与购买有关的附加的交易数据。更具体地,在清算过程期间和/或清算过程后,附加的数据(比如购买的时间、商家名称、商家的类型、购买信息、持卡人账户信息、交易的类型、关于购买的物品和/或服务的信息和/或其他适合的信息)与交易相关联并作为交易数据在交易的各方之间传输,并且可以由交易的各方中的任一方来存储。在示例实施例中,包括此类附加交易数据的交易数据也可以被提供给包括历史数据库205(图2中所示)的系统。在示例实施例中,交换网络28提供此类交易数据(包括与每个投资组合记录的每个商业房地产资产的商家承租人相关联的商家数据)和附加的交易数据。在替代实施例中,任何一方可以给历史数据库205提供此类数据。
[0057]
在交易被授权和清算后,交易在商家24、商家银行26和发行者银行30之间被结算。结算指在与交易有关的商家24的账户、商家银行26和发行者银行30之间的金融数据或资金的转移。通常,交易被捕获并积累成“批”,作为组被结算。更具体地,交易一般在发行者银行30和交换网络28之间结算,接着在交换网络28和商家银行26之间结算,然后在商家银行26和商家24之间结算。
[0058]
图2是关于用于从(比如图1中所示的系统所提供的)历史数据中计算和分析速度的示例过程200的框图。在示例实施例中,过程200中的一个或多个步骤可以由速度分析计算机设备410和一个或多个客户端系统405(都在图4中显示)来执行。在至少一个实施例中,速度分析计算机设备410与多个客户端系统405通信,其中客户端系统405被配置为进行并行处理,如本文中所述。在一些进一步的实施例中,客户端系统405中的一个或多个和/或速度分析计算机设备410可以是虚拟计算机设备,其中所有虚拟计算机设备中的一些都由同一计算机设备托管。
[0059]
本文中说明的实施例利用并行处理来高效地计算用于历史数据的分析的速度简档。这使得机器学习模型的训练能够确定行为的模式。机器学习模型可以使用模式来实时检测异常活动。
[0060]
为了计算速度简档,速度分析计算机设备410接收历史数据。在示例实施例中,历史数据存储在历史数据库205中。在一些实施例中,历史数据库205与支付网络28和发行者30(都在图1中显示)中的一个或多个相关。在一些实施例中,历史数据库205是速度分析计算机设备410的一部分。在其他实施例中,历史数据库205与速度分析计算机设备410分离。在示例实施例中,历史数据库205包括对于在预先确定的时间段内(例如,在过去十五分钟内、在过去一小时内、在过去六小时内、在过去二十四小时内、在过去一年内等)通过支付处理网络进行的多个支付交易的交易记录。例如,交易数据集可以包括在预先确定的时间段内与特定发行银行相关联的账户范围的所有交易记录。在其他实施例中,历史数据库205包括在预先确定的时间段(例如一年到18个月)内与发行者30相关联的所有交易。在更进一步的实施例中,历史数据库205包括在预先确定的时间段内与支付网络28相关联的所有交易。
[0061]
在示例实施例中,通过速度分析计算机设备410基于一个或多个用户输入来过滤210历史数据。例如,用户可以过滤数据以仅包括与特定位置、商家、发行者30、支付网络28和/或账户编号范围相关联的交易。然后,速度分析计算机设备410基于时间将数据排序215为时间顺序。
[0062]
使用过滤和排序的数据,速度分析计算机设备410将数据划分220为n个时间窗,其中每个时间窗的大小相同。在一些实施例中,时间窗的大小由用户设置。在其他实施例中,时间窗的大小由速度分析计算机设备410基于将使用速度简档的模型来设置。在更进一步的实施例中,速度分析计算机设备410基于每个时间窗中的交易的平均数量来设置时间窗。例如,时间窗可以是每15分钟、每半小时、每小时、每两小时、每天等。每个时间窗中的交易与同一时间窗中的其他交易一起被分组,并且该组交易被各自发送到分布式处理器,比如客户端系统405。为了在每个时间窗中处理不同交易,客户端系统405使用不同的w值来计算将时间窗a-c向前移动到时间窗d的末端。
[0063]
客户端系统405计算225它接收的时间窗i中的交易的速度。在示例实施例中,客户端系统405计算225时间窗i中的所有交易的速度并使速度衰减到时间窗的末端。在示例实施例中,客户端系统405使用指数衰减来计算时间窗中的每个交易在时间窗末端处的最终速度。具体地,使用以下等式1计算最后一个速度值到当前时间的衰减:
[0064]
el_decay=x1*e-(ln(2)*time_delta)
ꢀꢀꢀꢀꢀꢀ
等式1
[0065]
其中x1是其速度被计算和衰减的交易的先前的值,ln(2)是衰减率,而time_delta是交易的时间与时间窗的末端之间的时间差。在一些实施例中,衰减率可以基于速度被建立的时间单位进行缩放。在这些实施例中,一的值将代表一天。例如,对于一小时速度的缩放将使用(ln(2)*(1/24))作为衰减率。time_delta可以用一天的分数来表示。例如,如果最后一个交易与当前时间之间的时间是一秒,那么time_delta将是1/86400。客户端系统405组合了对于时间窗中的每个交易的衰减过的速度。客户端系统405将对于该时间窗的最终速度值返回给速度分析计算机设备。为了计算交易的时间点速度,客户端系统405使用等式1,并将其与当前交易上的指标的值相加,如以下等式2中所示。
[0066][0067]
其中vc是当前速度值,xc是交易的指标的值,v
p
是先前的速度值,b是基础衰减率,而w是缩放因子。
[0068]
在示例实施例中,速度分析计算机设备410与多个客户端系统405通信。速度分析计算机设备410向每个客户端系统405发送一个或多个时间窗长的交易以并行分析。在一些进一步的实施例中,在时间窗比客户端系统405更多的情况下,速度分析计算机设备410向每个客户端系统405发送一个时间窗。接着,当客户端系统405处理完先前发送的时间窗时,速度分析计算机设备410向该客户端系统405发送另一个时间窗。例如,在有2000个客户端系统405和1000个时间窗的情况下,速度分析计算机设备410能够向1000个客户端系统405中的每个发送一个时间窗,以便客户端系统405并行处理每个时间窗。在另一个例子中,在有200个客户端系统405和1000个时间窗的情况下,速度分析计算机设备410可以向每个客户端系统405传输五个时间窗,或者速度分析计算机设备410可以向每个客户端系统405传输一个时间窗,而当客户端系统405报告它已经处理完其当前时间窗时,向该客户端系统
405传输另一个时间窗。
[0069]
速度分析计算机设备410将接收的速度相加230在一起以确定对于所需时间的速度。接着速度分析计算机设备410用最终速度执行235模型。在其他实施例中,速度分析计算机设备410将最终速度传输到执行模型的单独的计算机设备。在一些实施例中,速度分析计算机设备410存储来自客户端系统405的所有速度,以为将来的分析节省时间和处理能力,比如在数据库420(图4中所示)中。在一些实施例中,速度分析计算机设备410计算225对于时间窗的速度,同时客户端系统405也在处理单独的时间窗。
[0070]
在示例实施例中,速度分析计算机设备410通过首先将速度的值衰减到所需时间然后将衰减过的值相加在一起来将接收的速度相加230。
[0071]
例如,在有分散在四个时间窗的100个交易的场景中,每个时间窗两小时。速度分析计算机设备410将100个交易排序215为时间顺序。速度分析计算机设备410接着将数据划分220为四个时间窗,其中每个时间窗的大小相同。划分后,时间窗a包括15个交易,时间窗b包括25个交易,时间窗c包括40个交易,而时间窗d包括20个交易。交易的四个时间窗中的每个传输到不同客户端系统405用于分析。每个客户端系统405确定其中的交易的速度并将速度衰减到两小时时间窗的末端。为了在每个时间窗中处理不同交易,客户端系统405使用不同的w值来计算将时间窗向前移动到时间窗d的末端。
[0072]
每个时间窗的速度被传输到速度分析计算机设备410。在这个例子中,所需时间是时间窗d的末端。接着,速度分析计算机设备410从时间窗a中取得速度a,并将速度a衰减六小时(从时间窗a的末端到时间窗d的末端)以得到速度a’。速度分析计算机设备410还计算速度b’和速度c’。速度d已经在其时间窗的末端。这四个值接着被相加230以确定对于所需时间的最终速度。
[0073]
虽然上述解释使用了支付网络的交易,但本领域技术人员会理解,本文中说明的步骤可以用于其中需要针对大量数据在相当长的时间段内计算速度的任何系统。
[0074]
图3是用于从(比如系统(图1中所示)所提供的)历史数据中计算和分析速度的示例方法300的流程图。在示例实施例中,方法300由速度分析计算机设备410(图4中所示)进行。
[0075]
在示例实施例中,速度分析计算机设备410接收305多个数据点。多个数据点各自与时间点相关。在一些实施例中,多个数据点包括多个支付交易。在一些实施例中,速度分析计算机设备410从历史数据库205(图2中所示)接收305多个数据点。速度分析计算机设备410将多个数据点排序310为时间顺序。在一些实施例中,速度分析计算机设备410接收一个或多个过滤准则,比如从用户处。速度分析计算机设备410在按照时间顺序排序310之前基于一个或多个过滤准则过滤多个数据点。
[0076]
在示例实施例中,速度分析计算机设备410将多个数据点划分315为多个子集。多个子集中的每个子集表示一时间段。每个子集覆盖不同的时间段并包括在对应的时间段中发生的一个或多个交易。每个子集也覆盖相同的时间量。例如,子集各自可以表示一天24小时中的一个小时。
[0077]
在示例实施例中,速度分析计算机设备410处理320每个子集以确定单个子集的速度值。速度分析计算机设备410向多个客户端系统405(图4中所示)传输多个子集。每个客户端系统405被编程为接收包括开始时间和结束时间的子集。客户端系统405还被编程为基于
结束时间确定接收的子集的速度值。在一些实施例中,客户端系统405被编程为基于将接收的子集中的数据点的速度值衰减到结束时间来确定接收的子集的速度值。客户端系统405被进一步编程为将用于其子集的衰减过的速度值传输到速度分析计算机设备410。
[0078]
在示例实施例中,速度分析计算机设备410组合325多个速度值以确定最终速度值。在一些实施例中,速度分析计算机设备410基于所需时间点衰减多个速度值。速度计算机设备410组合多个衰减过的速度值以确定最终速度值。在一些进一步的实施例中,速度分析计算机设备410使用最终速度值执行模型。
[0079]
图4是按照本公开的一个示例实施例的用于从历史数据中计算和分析速度的计算机系统400的示例实施例的扩展框图。在示例实施例中,系统400被用于从历史交易数据中计算速度,如本文中所述。
[0080]
更具体地,在示例实施例中,系统400包括速度分析计算机设备410,和连接到速度分析计算机设备410的多个客户端子系统,也被称作客户端系统405。在一个实施例中,客户端系统405是包括网络浏览器的计算机,使得速度分析计算机设备410可以使用因特网和/或使用网络(未示出)访问客户端系统405。客户端系统405通过包括诸如局域网(lan)或广域网(wan)、拨号连接、电缆调制解调器、特殊的高速综合业务数字网(isdn)线路和rdt网络之类的网络的许多接口与因特网互相连接。客户端系统405可以包括与持卡人22(图11中所示)以及用于存储数据的外部系统相关联的系统。在一些实施例中,速度分析计算机设备410也与支付网络28通信。客户端系统405可以是能够与因特网互相连接的任何设备,包括但不限于台式计算机、膝上型计算机、个人数字助理(pda)、蜂窝电话、智能电话、平板电脑、平板手机或其他基于网络的可连接设备。
[0081]
数据库服务器415连接到数据库420,数据库420包含关于各种事情的信息,比如用于不同时间窗和历史数据的向量,如上文更详细地说明的。在一个实施例中,集中式数据库420存储在速度分析计算机设备410上,并可以由在客户端系统405中的一个处的潜在用户通过经由客户端系统405中的一个登录到速度分析计算机设备410来访问。在替代实施例中,数据库420远离速度分析计算机设备410存储,并且可以是非集中式的。数据库420可以是被配置为存储速度分析计算机设备410使用的信息(例如包括交易记录)的数据库,如本文中所述。在至少一个实施例中,数据库420与历史数据库205(图2中所示)相似或包括历史数据库205。
[0082]
数据库420可以包括具有分离的部分或分区的单个数据库,或者可以包括多个数据库,每个数据库相互分离。数据库420可以存储通过处理网络生成的交易数据,包括与商家、消费者、账户持有人、潜在顾客、发行者、收单者和/或进行的购买有关的数据。数据库420也可以存储账户数据,包括持卡人姓名、持卡人地址、账户编号、其他账户标识符和交易信息中的至少一个。数据库420也可以存储商家信息,包括识别注册以使用网络的每个商家的商家标识符,以及用于结算交易的指令,包括商家银行账户信息。数据库420也可以存储与持卡人从商家购买的物品相关联的购买数据,以及授权请求数据。
[0083]
在示例实施例中,客户端系统405中的一个可以与收单者银行26(图1中所示)和发行者银行30(图1中所示)中的一个相关。例如,客户端系统405中的一个可以是pos设备。客户端系统405可以附加地或替代地与用户(例如商业房地产所有者或贷方、营销总监、消费者或任何其他最终用户)相关联。在示例实施例中,客户端系统405中的一个包括用户界面
(未示出)。例如,用户界面可以包括具有交互功能性的图形用户界面,使得从速度分析计算机设备410传输到客户端系统405的建模结果可以以图形格式显示。客户端系统405的用户可以与用户界面交互,以查看、探究消息跟踪结果并以其他方式与消息跟踪结果交互。用户也可以操作用户界面来定义日期和/或属性分析,如本文中所述。速度分析计算机设备410可以与交换网络28相关联和/或可以处理交易数据。
[0084]
在一些进一步的实施例中,客户端系统405可以用于计算在时间窗末端处的速度。在这些实施例中,客户端系统405可以针对时间窗接收数据并计算在该时间窗末端处的所需速度。在示例实施例中,多个客户端系统405可以用于并行计算多个时间窗的速度。这些计算可以同时或几乎同时进行。
[0085]
图5图示了客户端计算设备502的示例配置。客户端计算设备502可以包括但不限于客户端系统(“客户端计算设备”)405(图4中所示)。客户端计算设备502包括用于执行指令的处理器505。在一些实施例中,可执行指令存储在存储器区域510中。处理器505可以包括一个或多个处理单元(例如在多核配置中)。存储器区域510是允许存储和检索诸如可执行指令和/或其他数据的信息的任何设备。存储器区域510可以包括一个或多个计算机可读介质。
[0086]
客户端计算设备502也包括用于向用户501呈现信息的至少一个媒体输出组件515。媒体输出组件515是能够向用户501传达信息的任何组件。在一些实施例中,媒体输出组件515包括输出适配器,比如视频适配器和/或音频适配器。输出适配器可操作地耦接到处理器505并且可以可操作地耦接到输出设备,比如显示设备(例如液晶显示器(lcd)、有机发光二极管(oled)显示器、阴极射线管(crt)或“电子墨水”显示器)或音频输出设备(例如扬声器或头戴式耳机)。
[0087]
在一些实施例中,客户端计算设备502包括用于接收来自用户501的输入的输入设备520。输入设备520可以包括例如键盘、定点设备、鼠标、触控笔、触敏板(例如触摸板或触摸屏)、相机、陀螺仪、加速度计、位置检测器和/或音频输入设备。诸如触摸屏的单个组件可以起到媒体输出组件515的输出设备和输入设备520两者的功能。
[0088]
客户端计算设备502也可以包括通信接口525,通信接口525可以通信地耦接到远程设备,比如速度分析计算机设备410(图4中所示)。通信接口525可以包括例如用于与移动电话网络(例如全球移动通信系统(gsm)、3g、4g或蓝牙)或其他移动数据网络(例如全球微波接入互操作性(wimax))一起使用的有线或无线网络适配器或无线数据收发器。
[0089]
存储在存储器区域510中的是例如用于通过媒体输出组件515向用户501提供用户界面并且可选择地接收和处理来自输入设备520的输入的计算机可读指令。用户界面可以包括网络浏览器和客户端应用等可能性。网络浏览器使用户501能够显示媒体和一般嵌入在来自与商家相关的网络服务器的网页或网站上的其他信息并与之交互。客户端应用允许用户501与例如与商家相关联的服务器应用进行交互。用户界面通过网络浏览器和客户端应用中的一个或两者使速度分析计算机设备410的消息跟踪结果的显示更容易。
[0090]
图6图示了按照本公开的一个示例实施例的诸如速度分析计算机设备410(图4中所示)的服务器系统601的示例配置。服务器系统601也可以包括但不限于数据库服务器415和速度分析计算机设备410(都在图4中显示)。在示例实施例中,服务器系统601基于历史数据计算和分析速度简档,如下文所述。
[0091]
服务器系统601包括用于执行指令的处理器605。例如,指令可以存储在存储器区域610中。存储器605可以包括用于执行指令的一个或多个处理单元(例如在多核配置中)。指令可以在服务器系统601上的各种不同操作系统内执行,比如unix、linux、microsoft等。还应该理解的是,当启动基于计算机的方法时,可以在初始化期间执行各种指令。可能需要一些操作以便进行本文中说明的一个或多个过程,而其他操作可能更通用和/或特定于特定编程语言(例如c、c#、c++、java或其他适合的编程语言等)。
[0092]
处理器605可操作地耦接到通信接口615,以便服务器系统601能够与诸如用户系统或另一个服务器系统601之类的远程设备通信。例如,通信接口615可以通过因特网接收来自客户端系统405的请求,如图4中所示。
[0093]
处理器605也可以可操作地耦接到存储设备634。存储设备634是适合于存储和/或检索数据的任何计算机操作的硬件。在一些实施例中,存储设备634集成在服务器系统601中。例如,服务器系统601可以包括一个或多个硬盘驱动器作为存储设备634。在其他实施例中,存储设备634在服务器系统601外部并可以被多个服务器系统601访问。例如,存储设备634可以包括多个存储单元,比如廉价磁盘冗余阵列(raid)配置中的硬盘或固态盘。存储设备634可以包括存储区域网络(san)和/或网络附接存储(nas)系统。
[0094]
在一些实施例中,处理器605通过存储接口620可操作地耦接到存储设备634。存储接口620是能够为处理器605提供对存储设备634的访问的任何组件。存储接口620可以包括例如高级技术附件(ata)适配器、串行ata(sata)适配器、小型计算机系统接口(scsi)适配器、raid控制器、san适配器、网络适配器和/或为处理器305提供对存储设备634的访问的任何组件。
[0095]
存储器区域610可以包括但不限于诸如动态ram(dram)或静态ram(sram)的随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom)、电子式可擦除可编程只读存储器(eeprom)和非易失性ram(nvram)。上述存储器类型只是例子,因此不限制关于可用于计算机程序的存储的存储器的类型。
[0096]
处理器605执行用于实现本公开的方面的计算机可执行指令。在一些实施例中,处理器605通过执行计算机可执行指令或通过以其他方式被编程来被转变成专用微处理器。例如,处理器605以图2和3中所示的指令被编程。
[0097]
本文中说明的实施例中的处理器或处理元件可以采用人工智能和/或使用监督或无监督机器学习来训练,并且机器学习程序可以采用神经网络,神经网络可以是卷积神经网络、深度学习神经网络或在两个或多个感兴趣的领域或区域中学习的组合的学习模块或程序。机器学习可以涉及识别和辨别现有数据中的模式,以使对后续数据做出预测更容易。可以基于示例输入创建模型,以便对新的输入做出有效且可靠的预测。
[0098]
附加地或替代地,机器学习程序可以通过将样本数据集或特定数据输入到程序中来训练,比如图像数据、文本数据、报表数据和/或数值分析。机器学习程序可以利用可以主要集中在模式识别上的深度学习算法,并且可以在处理多个示例后进行训练。机器学习程序可以包括贝叶斯程序学习(bpl)、语音识别与合成、图像或目标识别、光学字符识别和/或自然语言处理——单独地或以组合方式。机器学习程序也可以包括自然语言处理、语义分析、自动推理和/或机器学习。
[0099]
在监督式机器学习中,可以为处理元件提供示例输入及其相关联的输出,并且可
以寻求发现将输入映射到输出的一般规则,以便在提供后续新的输入时,处理元件可以基于发现的规则准确地预测正确的输出。在无监督机器学习中,处理元件可能需要在未标记的示例输入中找出其自身的结构。在一个实施例中,机器学习技术可以用于提取关于计算机设备、计算机设备的用户、托管计算机设备的计算机网络、在计算机设备上执行的服务和/或其他数据的数据。
[0100]
基于这些分析,处理元件可以学习如何识别特征和模式,所述特征和模式可以接着被应用于训练模型、分析交易与认证数据以及检测和分析风险。
[0101]
如本文中使用的,术语“非暂时性计算机可读介质”旨在表示以用于信息(比如,计算机可读指令、数据结构、程序模块和子模块或任何设备中的其他数据)的短期和长期存储的任何方法或技术实现的任何有形的基于计算机的设备。因此,本文中说明的方法可以被编码为在有形的非暂时性计算机可读介质(包括但不限于存储设备和/或存储器设备)中实施的可执行指令。当由处理器执行时,此类指令使处理器进行本文中说明的方法中的至少一部分。此外,如本文中使用的,术语“非暂时性计算机可读介质”包括所有有形的计算机可读介质,包括但不限于非暂时性计算机存储设备,包括但不限于易失性和非易失性介质,以及可移除和不可移除介质,比如固件、物理和虚拟存储、cd-rom、dvd和任何其他数字源,比如网络或因特网,以及尚未开发的数字手段,唯一的例外是暂时性传播的信号。
[0102]
本书面说明使用例子来公开本公开,包括最佳模式,并且也使本领域的任何技术人员能够实践实施例,包括制造和使用任何设备或系统以及进行任何结合的方法。本公开的可取得专利权的范围由权利要求书限定,并且可以包括本领域技术人员想到的其他示例。如果此类其他示例具有与权利要求书的字面语言没有区别的结构元件,或者如果它们包括与权利要求书的字面语言没有实质性差异的等效结构元件,则它们旨在处于权利要求书的范围内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1