本发明属于数据监控领域,具体为一种异常交易实时监控系统及计算方法。
背景技术:
在电商交易、股票交易、期权交易、基金交易等通过互联网进行交易的过程中,一些用户采用不符合法律法规、交易规则的方法进行买卖交易,这些行为影响了交易的公平并有可能触犯法规。
现有异常交易监控系统主要采用周期性访问交易数据库并进行异常分析的方法。例如,交易数据库存放于数据库中,监控程序每间隔一定时间周期访问一次所述数据库以获得交易数据,再对所述交易数据进行分析进而得出异常分析结果。
上述现有技术的缺陷是:
1、整个监控系统的效率受到所述存放交易数据的数据库的性能的影响;
2、每次计算都需要间隔一定周期,监控存在较大的滞后,不能实现实时监控;
3、交易量较大时,计算任务可能存在排队的情况,发起计算的操作不是实时的,进行分析计算的效率较低,因此整体监控计算性能低,不能满足实时监控的需求。
技术实现要素:
为了克服上述现有技术的缺陷,本发明提供了一种异常交易实时监控系统及计算方法。
本发明解决其技术问题所采用的技术方案是:
一种异常交易实时监控系统,包括若干采集服务器、若干数据交换服务器、分布式计算平台,以及若干告警服务器;其中:
所述采集服务器通过网络通信采集交易服务器的交易数据,且通过网络通信将其采集的交易数据推送到所述数据交换服务器;
所述数据交换服务器通过网络通信将其接收到的交易数据传输至所述分布式计算平台;
所述分布式计算平台包括若干计算服务器,用于对所述交易数据进行分析和处理进而得到异常交易报告,且将所述异常交易报告传输至所述告警服务器;
所述告警服务器用于向工作人员推送异常交易的告警通知。
根据一个优选实施例,所述采集服务器采集所述交易服务器的实时交易数据或者所述交易服务器向所述采集服务器主动推送实时交易数据。
根据一个优选实施例,所述数据采集服务器所采集的交易数据通过所述数据交换服务器实时传输至所述分布式计算平台。
根据一个优选实施例,通过所述分布式计算平台对所述交易数据进行实时并行计算。
为了提高所述实时计算的效率,本发明还提供了一种异常交易实时计算方法,包括步骤:
获取实时交易数据,并根据统计维度生成各项交易数据的关键字和数据块;
通过hash(哈希)值标记所述各项交易数据,通过所述关键字标记所述数据块;且将所述实时交易数据以所述数据块的形式缓存至计算服务器的储存装置中;
所述计算服务器读取其储存装置中的各项交易数据的各个关键字所对应的数据块,以进行分析计算进而得到异常交易报告。
根据一个优选实施例,所述计算服务器以并发计算或者并行计算的方式进行分析计算。
为了提高所述实时计算的效率,本发明还提供了一种异常交易实时计算方法,包括步骤:
获取实时交易数据,所述实时交易数据包括若干项交易数据{a1,a2,a3,…,ai,…};
根据统计维度生成关键字和数据块,通过所述关键字标记所述数据块,通过hash值标记所述交易数据ai;且将所述交易数据的交易数据ai以数据块的形式缓存至分布式计算平台;
所述分布式计算平台包括若干台计算服务器,其中,一台所述计算服务器接收所述交易数据ai的至少一个所述关键字所对应的数据块,即所述交易数据ai的部分数据;
通过所述分布式计算平台的若干台计算服务器进行并行计算,进而得到异常交易报告。
进一步的,所述实时计算方法还包括关联运算步骤:
定义所述若干项交易数据{a1,a2,a3,…,ai,…}中存在若干项关联运算项目{aj,ak,…};
将所述若干项关联运算项目{aj,ak,…}的完整内容缓存到所述分布式计算平台的各计算服务器中;
根据所述若干项关联运算项目{aj,ak,…}的各项数据与所述若干项交易数据{a1,a2,a3,…,ai,…}中的其余项交易数据之间的关联关键字,对所述交易数据的各项数据进行关联运算,进而得到异常交易计算结果。
根据一个优选实施例,所述缓存关联运算项目{aj,ak,…}的完整内容的步骤是:所述分布式计算平台的各计算服务器将其接收到的若干项关联运算项目{aj,ak,…}的部分数据在该分布式计算平台的所有计算服务器之间进行广播,且同时所述各计算服务器接收其他计算服务器广播的数据。
与现有技术相比,本发明的有益效果是:
1、通过采集服务器采集交易服务器的实时交易数据或者所述交易服务器主动向所述采集服务器推送实时交易数据,不会受到交易服务器的数据库的性能的影响,效率更高。
2、无需执行周期性扫描操作,避免了数据采集的滞后,实现了交易数据实时采集,还减少了对交易服务器的计算资源的占用。
3、通过并发计算或者并行计算,能快速得到各项交易数据的分析结果,实现实时监控。
4、通过分布式计算平台,以及对交易数据的统计分析,对交易数据的并发计算进行优化,进而进行每一项交易数据的分析计算的效率进一步提高。
5、通过所述分布式计算平台能够进行关联运算,通过关联分析结果,能更加精准的识别用户的异常交易行为。
附图说明
图1为实施例的异常交易实时监控系统的结构示意图。
图2为实施例的异常交易实时计算方法的流程示意图。
图3为图2的实时计算方法中交易数据、关键字以及数据块的数据结构与关系示意图。
图4为另一个实施例的异常交易实时计算方法的流程示意图。
图5为图4的实时计算方法中交易数据、关键字以及数据块的数据结构与关系示意图。
图6为图4的实时计算方法中交易数据的计算任务分配的示意图,其中,空置的表格表示该部分数据由其他计算服务器接收并进行计算。
图7为图4的实时计算方法中还包括关联运算步骤的流程示意图。
图8图7的实时计算方法中交易数据的计算任务分配的示意图,其中,空置的表格表示该部分数据由其他计算服务器接收并进行计算。
图号说明:
10.交易服务器,11.采集服务器,12.数据交换服务器,13.分布式计算平台,130.计算服务器,14.告警服务器。
具体实施方式
以下结合附图和具体实施例对本发明进一步说明。
如图1所示,本实施例的异常交易实时监控系统,包括若干采集服务器11、若干数据交换服务器12、分布式计算平台13,以及若干告警服务器14;其中:
所述采集服务器11通过网络通信采集交易服务器10的交易数据,且通过网络通信将其采集的交易数据推送到所述数据交换服务器12;
所述数据交换服务器12通过网络通信将其接收到的交易数据传输至所述分布式计算平台13;
所述分布式计算平台13包括若干计算服务器130,用于对所述交易数据进行分析和处理进而得到异常交易报告,且将所述异常交易报告传输至所述告警服务器14;
所述告警服务器14用于向工作人员推送异常交易的告警通知,可通过例如即时短信、电子邮件等多种形式进行通知的推送。
通过采集服务器11采集所述交易数据能够克服现有技术受到数据库性能的限制。优选的,所述采集服务器11采集所述交易服务器10的实时交易数据或者所述交易服务器10向所述采集服务器11主动推送实时交易数据。通过对交易数据的实时采集,而无需对所述数据库进行周期性扫描,进而避免扫描操作对交易服务器的计算资源的占用。
优选的,所述数据采集服务器11所采集的交易数据通过所述数据交换服务器12实时传输至所述分布式计算平台13。优选的,所述分布式计算平台13对所述交易数据进行实时并行计算。通过实时数据传输和实时并行计算,能够即时检测到异常交易行为并将异常交易报告通过告警服务器14推送给工作人员。
如图2所示,本实施例的异常交易实时计算方法,该计算方法用于单个计算服务器130中,包括步骤:
获取实时交易数据,结合图3所示,并根据统计维度生成各项交易数据的关键字和数据块;
通过hash值标记所述各项交易数据,通过所述关键字标记所述数据块;且将所述实时交易数据以所述数据块的形式缓存至计算服务器130的储存装置中;
所述计算服务器130读取其储存装置中的各项交易数据的各个关键字所对应的数据块,以进行分析计算进而得到异常交易报告,容易理解,该步骤中的分析计算是本领域的常规计算方法,不属于本发明的所涉及改进的部分,本领域技术人员根据现有常规技术手段即可实现该分析计算。
所述关键字用于描述所述数据块的统计维度,所述数据块则用于存放一项交易数据的对应所述关键字的部分信息。
例如,所述计算服务器130接收到三项新增交易数据{a1,a2,a3},每项交易数据通过一个hash值标记,且具有三个统计维度。其中,对于交易数据a1而言,可生成三个关键字{k1,k2,k3},对应的生成三个数据块,其中关键字ki对应地用于描述所述数据块。
优选的,所述计算服务器130以并发计算或者并行计算的方式对所述各项交易数据进行分析计算。在所述计算服务器130中,可通过对计算资源的配置,例如一个计算实例用于计算所述一项交易数据,通过三个计算实例,可实现对所述三项交易数据{a1,a2,a3}的并行或者并发计算。以此实现对若干项交易数据的实时计算,提高识别异常交易行为的效率。
如图4所示,本实施例的异常交易实时计算方法,该计算方法用于分布式计算平台13中,包括步骤:
获取实时交易数据,所述实时交易数据包括若干项交易数据{a1,a2,a3,…,ai,…};
结合图5所示,根据统计维度生成关键字和数据块,通过所述关键字标记所述数据块,通过hash值标记所述交易数据ai,这一过程与所述用于单个计算服务器130的实时计算方法中通过hash算法标记交易数据以及通过关键字标记数据块的方法相同;且将所述交易数据的交易数据ai以数据块的形式缓存至分布式计算平台13;
所述分布式计算平台13包括若干台计算服务器130,其中,一台所述计算服务器130接收所述交易数据ai的至少一个所述关键字所对应的数据块,即所述交易数据ai的部分数据;应理解,此处并不限制一台所述计算服务器130进行分析计算所涉及的交易数据的项目数量;
通过所述分布式计算平台13的若干台计算服务器130进行并行计算,进而得到异常交易报告。
所述分布式计算平台13对计算任务进行分配,以及对计算结果进行汇总。对于存在若干项交易数据的处理原理一致,此处仅以两项交易数据{a1,a2}为例进行详细介绍。
结合图6所示,所述分布式计算平台13的一台计算服务器130接收到交易数据{a1,a2}的关键字key1所对应的数据块并进行分析计算,另一台计算服务器130接收到交易数据{a1,a2}的关键字key2和key3所对应的数据块并进行分析计算,其余关键字所对应的数据块则由所述分布式计算平台13的其他计算服务器130进行分析计算,其余交易数据的处理过程可参考交易数据{a1,a2}的处理过程,此处不再赘述。所述各计算服务器130对某项交易数据或者某几项交易数据的一部分数据进行并行计算,得到各部分数据的计算结果,再由所述分布式计算平台汇总生成异常交易报告。
如图7所示,进一步的,所述实时计算方法还包括关联运算步骤:
定义所述若干项交易数据{a1,a2,a3,…,ai,…}中存在若干项关联运算项目{aj,ak,…};
将所述若干项关联运算项目{aj,ak,…}的完整内容缓存到所述分布式计算平台13的各计算服务器130中;该步骤优选为:所述分布式计算平台13的各计算服务器130将其接收到的若干项关联运算项目{aj,ak,…}的部分数据在该分布式计算平台13的所有计算服务器130之间进行广播,且同时所述各计算服务器130接收其他计算服务器130广播的数据;
根据所述若干项关联运算项目{aj,ak,…}的各项数据与所述若干项交易数据{a1,a2,a3,…,ai,…}中的其余项交易数据之间的关联关键字,对所述交易数据的各项数据进行关联运算,进而得到异常交易计算结果。
以上述交易数据{a1,a2}为例,结合图8所示,定义交易数据a1为关联运算项目,所述分布式计算平台13的各计算服务器130均已接收到交易数据a1的部分数据,且所有计算服务器130的部分数据的集合为所述交易数据a1的完整数据。
所述接收到交易数据{a1,a2}的关键字key1所对应的数据块的计算服务器130将所述关键字key1所对应的数据块的数据在所述分布式计算平台13的各计算服务器130之间进行广播,所述分布式计算平台13的其他计算服务器130则接收到所述交易数据a1的关键字key1所对应的数据块的数据;对于所述交易数据a1的其他关键字所对应的数据快,按照相同的过程进行广播和接收,则所述分布式计算平台13的各计算服务器130均缓存有所述交易数据a1的完整数据。
所述交易数据a1作为关联运算项目,与所述交易数据a2之间存在若干关联关键字,以此进行两者的关联运算。存在多个关联运算项目和多项交易数据时,其过程与上述过程相同,此处不再赘述。
将所述用于单个计算服务器的异常交易实时计算方法以及所述用于分布式计算平台的异常交易实时计算方法应用于所述异常交易实时监控系统中。通过交易数据的实时采集,实时并发计算/并行计算,实现了对异常交易行为的实时监控;同时结合关联运算,分析各项交易之间的关联关系,能够更加精准的识别异常交易行为。
以上实施例详细介绍了本发明的工作原理、进行实时计算的过程,但不应视为对本发明的限制。容易理解,根据本发明的技术方案,本领域技术人员还可以进一步修改,但任何简单修改或等同替换,都将落入本发明的权利要求书所要求的保护范围内。