基于分布式内存数据库的实时监控方法、系统及电子设备与流程

文档序号:16392710发布日期:2018-12-25 19:28阅读:184来源:国知局
基于分布式内存数据库的实时监控方法、系统及电子设备与流程

本发明属于监控领域,特别涉及基于分布式内存数据库的实时监控方法、系统及电子设备。

背景技术

在对交易系统的风险监控时,现有的监控方法为向交易系统订阅信息,以接收到的消息为基础对交易系统是否存在风险进行监控和评估。

但是基于订阅消息的方式存在过于依赖交易系统源代码的问题,即如果交易系统源代码对订阅消息支持不完善或是将订阅消息置于较低的优先级时,就会因为订阅消息自身的滞后性导致无法对交易系统进行及时的风险监控和评估;同时订阅消息的推送过程需要高可靠性的传输环境,一旦可靠性无法保证,就会导致订阅消息的延迟、滞后推送,降低了监控的准确性,使得交易系统的安全性无法得到保障。



技术实现要素:

为了解决现有技术中存在的缺点和不足,本发明提供了基于分布式内存数据库的实时监控方法及系统,通过提供订阅推送和增量同步两种方式在内的更新方式降低因订阅导致数据更新滞后导致风险评估滞后性的缺陷。

为了达到上述技术目的,根据本公开实施例的第一方面,本申请提供了基于分布式内存数据库的实时监控方法,所述实时监控方法,包括:

获取监控需求,从所述监控需求中提取监控标识,从风险数据库中加载与所述监控标识对应的配置信息;

获取与所述监控标识对应的全量数据,以所述全量数据为基础构建分布式内存表;

基于双重更新方式从交易系统处获取更新数据,基于所述更新数据对内存表中的数据进行更新,得到更新后的内存表;

以所述更新后的内存表中的数据为基准结合所述配置信息对监控标识对应的风险指标进行计算,将得到的计算结果推送至与所述监控标识对应的客户端;

其中,所述监控标识包括需要进行风险监控的交易系统中的营业部编号以及业务编号。

可选的,所述从风险数据库中加载与监控标识对应的配置信息,包括:

在风险数据库中寻找配置信息表;

在所述配置信息表中寻找与监控标识对应的配置信息。

可选的,所述获取与监控标识对应的全量数据,以全量数据为基础构建分布式内存表包括:

在所述交易系统中寻找数据存储表;

在所述数据存储表中获取与监控标识对应的全量数据的存放路径,根据获取到的存放路径下载全量数据;

将下载到的全量数据存储在本地因子服务器上,根据全量数据中的数据类型以树状结构进行分布式存储,建立分布式存储的内存表。

可选的,所述基于双重更新方式从交易系统处获取更新数据,包括:

接收交易系统已订阅推送业务发出的数据更新消息,从数据更新消息中提取更新数据;和/或

每隔预设时间间隔触发获取交易系统流水表的动作,获取流水表中记录的操作内容,基于操作内容获取更新数据。

可选的,所述以更新后的内存表中的数据为基准结合配置信息对监控标识对应的风险指标进行计算,包括:

加载已获取的配置信息;

当接收到监控指标计算指令时,基于更新后的内存表从多个因子服务器中获取与监控指标计算指令中指定的监控指标对应的因子数据;

对得到的因子数据进行数据整合计算,得到计算结果;

其中,监控指标计算指令的接收包括定时触发以及接收到交易系统的推送业务动作触发。

根据本公开实施例的第二方面,本申请还提出了基于分布式内存数据库的实时监控系统,所述实时监控系统,包括:

配置信息加载模块,用于获取监控需求,从所述监控需求中提取监控标识,从风险数据库中加载与所述监控标识对应的配置信息;

数据加载模块,用于获取与所述监控标识对应的全量数据,以所述全量数据为基础构建分布式内存表;

数据更新模块,用于基于双重更新方式从交易系统处获取更新数据,基于所述更新数据对内存表中的数据进行更新,得到更新后的内存表;

数据计算模块,用于以所述更新后的内存表中的数据为基准结合所述配置信息对监控标识对应的风险指标进行计算,将得到的计算结果推送至与所述监控标识对应的客户端;

其中,所述监控标识包括需要进行风险监控的交易系统中的营业部编号以及业务编号。

可选的,所述配置信息加载模块,具体用于:

在风险数据库中寻找配置信息表;

在所述配置信息表中寻找与监控标识对应的配置信息。

可选的,所述数据加载模块,具体用于:

在所述交易系统中寻找数据存储表;

在所述数据存储表中获取与监控标识对应的全量数据的存放路径,根据获取到的存放路径下载全量数据;

将下载到的全量数据存储在本地因子服务器上,根据全量数据中的数据类型以树状结构进行分布式存储,建立分布式存储的内存表。

可选的,所述数据更新模块,具体用于:

接收交易系统已订阅推送业务发出的数据更新消息,从数据更新消息中提取更新数据;和/或

每隔预设时间间隔触发获取交易系统流水表的动作,获取流水表中记录的操作内容,基于操作内容获取更新数据。

可选的,所述数据计算模块,具体用于:

加载已获取的配置信息;

当接收到监控指标计算指令时,基于更新后的内存表从多个因子服务器中获取与监控指标计算指令中指定的监控指标对应的因子数据;

对得到的因子数据进行数据整合计算,得到计算结果;

其中,监控指标计算指令的接收包括定时触发以及接收到交易系统的推送业务动作触发。

根据本公开实施例的第三方面,本申请还提出了一种电子设备,包括:处理器;以及存储器,用于存储所述处理器的可执行指令;

其中,所述处理器配置为经由执行所述可执行指令来执行前述任一实施例中所述实时监控方法的步骤。

根据本公开实施例的第四方面,本申请还提出了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行前述任一实施例中所述实时监控方法的步骤。

本发明提供的技术方案带来的有益效果是:

通过对获取到的全量数据进行包括主动和被动两种方式在内的更新措施,能够弥补之前仅借助订阅推送这个单一更新方式需要高可靠性传输环境以及数据可能不完整的缺陷;同时在全量数据的存储方面采用分布式存储的方式,能够加快风险评估过程中数据的调用速度,提高了风险评估的时效性。

附图说明

为了更清楚地说明本发明的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本发明提供的基于分布式内存数据库的实时监控方法的流程示意图;

图2是本发明提供的基于已有的数据结合更新的数据进行风险评估的流程示意图;

图3是本发明提供的详细监控评估流程图;

图4是本发明提供的基于分布式内存数据库的实时监控系统结构示意图;

图5是本发明提供的电子设备的结构示意图。

具体实施方式

为使本发明的结构和优点更加清楚,下面将结合附图对本发明的结构作进一步地描述。

实施例一

为了解决现有技术中因无法及时对交易系统进行风险监控、评估导致交易系统安全性得不到保障的缺陷,本申请实施例提供了基于分布式内存数据库的实时监控方法,通过在接收交易系统推送消息的同时主动监控交易系统流水表的具体操作内容,从而尽可能在交易系统内被监控的数据发生变动的第一时间进行数据更新,进而根据更新后的数据进行监控。

并且为了能够在数据更新后进行准确的风险评估,还将更新后的数据以分布式的方式进行存储,有助于在风险评估时对数据进行更为迅速的调用,缩短风险评估的时间,降低交易系统的损失。

为了达到上述技术目的,一方面,本申请提供了基于分布式内存数据库的实时监控方法,如图1所示,所述实时监控方法,包括:

11、获取监控需求,从所述监控需求中提取监控标识,从风险数据库中加载与所述监控标识对应的配置信息。

12、获取与所述监控标识对应的全量数据,以所述全量数据为基础构建分布式内存表。

13、基于双重更新方式从交易系统处获取更新数据,基于所述更新数据对内存表中的数据进行更新,得到更新后的内存表。

14、以所述更新后的内存表中的数据为基准结合所述配置信息对监控标识对应的风险指标进行计算,将得到的计算结果推送至与所述监控标识对应的客户端。

其中,所述监控标识包括需要进行风险监控的交易系统中的营业部编号以及业务编号。

在实施中,为了实现对交易系统的风险监控,本实施例中提出的实时监控方法主要分为四个步骤,下面分别对每个步骤进行针对性说明。

由于本实施例提出的风险监控方法最终的监控结果是以计算结果的形式给出,因此步骤11用于给出计算过程所必须的配置信息。

这里的配置信息具体是指针对交易系统中不同营业部、业务的数据存储分布结构,确定数据的存储路径。例如对应营业部一的第一业务的数据具体分布的因子服务器的编号。

在实际工作过程中,执行步骤11时,在风险数据库中寻找配置信息表,需要从监控需求中获取需要进行风险监控和评估的监控标识,基于监控标识在所述配置信息表中寻找与监控标识对应的配置信息。

由于进行实际风险评估计算的计算服务往往是对应一个业务大类的,而某些特殊操作甚至需要对计算节点进行单独布置,因此在进行风险评估前获取实际的数据存储路径是必要的。

步骤12的主要内容为获取风险评估计算的基础数据—即监控标识对应的全量数据。这里的全量数据是指与监控需求中监控标识对应的全部数据,也就是需要进行风险评估计算时刻前交易系统中已生成的全部数据。

为了获取全量数据,需要进行如下操作:

121、在交易系统中寻找数据存储表。

这里的数据存储表指的是当前交易系统中记录全部数据存储路径信息的表格,根据该表格可以确定每个营业部、每个业务所属数据的准确存储路径。由于交易系统中每时每刻的数据都在进行更新,因此该数据存储表也处于实时更新中。

122、在数据存储表中获取与监控标识对应的全量数据的存放路径,根据获取到的存放路径下载全量数据。

基于步骤121中获取到的数据存储表,从表中选取与监控标识对应的全量数据的存放路径,进而根据已知的存放路径,从交易系统中下载该路径下存储的全量数据以便后续步骤中对该监控标识对应的业务进行风险评估计算。

123、将下载到的全量数据存储在本地因子服务器上,根据全量数据中的数据类型以树状结构进行分布式存储,建立分布式存储的内存表。

全量数据是指监控系统依据配置信息读取的那一刻的业务系统数据。

当全量数据下载至分布式设置的本地因子服务器以后,考虑到后续计算步骤中调用数据的便利性,同样需要进行分布式存储。具体的分布式存储结构优选使用树状结构,这样可以根据需求直接调用一个父节点下的多个子节点数据,缩短数据调用时间。

步骤13的主要内容是对已得到的全量数据进行更新和补全的操作,具体更新、补全的步骤为:

131、接收交易系统已订阅推送业务发出的数据更新消息,从数据更新消息中提取更新数据;和/或

132、每隔预设时间间隔触发获取交易系统流水表的动作,获取流水表中记录的操作内容,基于操作内容获取更新数据。

步骤131中的操作为基于交易系统的推送业务,被动的对前一步骤得到的全量数据进行更新,相对的步骤132中的操作为定时主动的获取交易系统中的数据更新操作。具体的主动获取数据更新的方式为获取交易系统中的流水表。因为该流水表中记载有对交易系统中每个操作的记录,包含有对数据进行更新的记录。

订阅推送的缺陷是过度依赖高可靠性的传输环境,由于推送消息中仅仅包括变动的数据,一旦传输过程可靠性无法保证数据的完整,那么基于推送消息进行更新会导致数据的错误。但如果只采用主动获取数据更新这一全量同步的方式去获取数据,又会严重降低数据更新效率。因此本步骤采用订阅推送和增量同步的方式来进行互补。通过定时获取流水表的信息就能够获取交易系统中准确的数据更新信息,从而补充被动接收推送业务消息这一操作可能带来数据更新延误或数据丢失的缺陷。

步骤14中的主要内容为基于已有的数据结合更新的数据进行风险评估的内容,如图2所示,具体为:

141、加载已获取的配置信息;

142、当接收到监控指标计算指令时,基于更新后的内存表从多个因子服务器中获取与监控指标计算指令中指定的监控指标对应的因子数据;

143、对得到的因子数据进行数据整合计算,得到计算结果;

其中,监控指标计算指令的接收包括定时触发以及接收到交易系统的推送业务动作触发。

在实施中,为了尽可能缩短计算时间,需要先行加载步骤11中已获取的配置信息,这样能够在触发计算步骤的时刻可以尽快完成从储存全量数据的本地不同的因子服务器上调用数据的时间。接着在触发计算步骤后,根据从因子服务器处根据前一步骤得到的内存表完成该步骤需要使用的因子数据的调取。并基于调取到的因子数据完成风险评步骤内的数据整合计算,最终得到代表评估结论的计算结果。

考虑到对交易系统进行风险评估的时效性,步骤14中对计算过程的触发进行特殊规定,即在接收到交易系统的推送业务时触发,或是定时触发。这样可以尽量保证在交易系统中数据发生变动时就触发风险评估操作,尽可能降低意外风险对交易系统带来的意外损失。

值得注意的是,在步骤14中完成风险评估的计算步骤后,将得到的计算结果通过消息中心发布给客户端订阅,另外也提供给予客户端直接发送查询指令进行评估结果查询的实现方式。

基于前述内容,本实施例还给出如图3所示的包括上述内容的详细监控评估流程图。在图3中给出了具体执行步骤11-13中的全量数据获取、更新操作的因子服务器,以及执行步骤14中的风险评估计算内容的计算服务器。

由图3可知,因子服务器首先加载用于执行风险监控的配置信息,接着加载从交易系统处得到的交易系统业务数据(即全量数据),再次,从交易系统中的消息中心处接收订阅的业务数据,从流水表处获取业务数据以便对全量数据进行增量同步,并将更新后的业务数据发送至计算服务器,以便在计算服务器中依次进行配置信息加载,进而根据加载的配置信息以及更新后的业务数据进行风险监控的计算过程,最终将得到的计算结果进行推送。

本申请提供了基于分布式内存数据库的实时监控方法,所述实时监控方法,包括:获取监控需求,从所述监控需求中提取监控标识,从风险数据库中加载与所述监控标识对应的配置信息。获取与所述监控标识对应的全量数据,以所述全量数据为基础构建分布式内存表。基于双重更新方式从交易系统处获取更新数据,基于所述更新数据对内存表中的数据进行更新,得到更新后的内存表。以所述更新后的内存表中的数据为基准结合所述配置信息对监控标识对应的风险指标进行计算,将得到的计算结果推送至与所述监控标识对应的客户端。通过对获取到的全量数据进行包括主动和被动两种方式在内的更新措施,能够弥补之前仅借助订阅推送需要高可靠性传输环境以及数据可能不完整的缺陷;同时在全量数据的存储方面采用分布式存储的方式,能够加快风险评估过程中数据的调用速度,提高了风险评估的时效性。

实施例二

另一方面,如图4所示,本申请还提出了基于分布式内存数据库的实时监控系统2,所述实时监控系统,包括:

配置信息加载模块21,用于获取监控需求,从所述监控需求中提取监控标识,从风险数据库中加载与所述监控标识对应的配置信息;

数据加载模块22,用于获取与所述监控标识对应的全量数据,以所述全量数据为基础构建分布式内存表;

数据更新模块23,用于基于双重更新方式从交易系统处获取更新数据,基于所述更新数据对内存表中的数据进行更新,得到更新后的内存表;

数据计算模块24,用于以所述更新后的内存表中的数据为基准结合所述配置信息对监控标识对应的风险指标进行计算,将得到的计算结果推送至与所述监控标识对应的客户端;

其中,所述监控标识包括需要进行风险监控的交易系统中的营业部编号以及业务编号。

在实施中,本实施例提出的对交易系统进行风险评估的实时监控系统典型的为与交易系统相对独立的、在内存中运行的风险控制平台,该风险控制平台通过接入路由与交易系统进行数据交互。本实施例中之所以采用与交易系统相对独立的设定方式,是因为这样的设置可以避免交易系统内置风险评估模块这种高耦合方式会降低交易系统处理性能的缺陷。

具体的,该实时监控系统包括配置信息加载模块21、数据加载模块22、数据更新模块23以及数据计算模块24。其中

信息加载模块21用于完成实施例一中步骤11的相关操作,

数据加载模块22用于完成实施例一中步骤12的相关操作,

数据更新模块23用于完成实施例一中步骤13的相关操作,

数据计算模块24用于完成实施例一中步骤14的相关操作。

基于上述四个模块的功能描述,在实际使用的风险控制平台中可以设置多个因子服务器,每个因子服务器用于对特定营业部、特定业务的风险评估计算过程,也可部署多个因子服务器对同一营业部、同一业务进行风险评估计算。

由于本实施例提出的风险监控方法最终的监控结果是以计算结果的形式给出,因此配置信息加载模块21用于给出计算过程所必须的配置信息。

这里的配置信息具体是指针对交易系统中不同营业部、业务的数据存储分布结构,确定数据的存储路径。例如对应营业部一的第一业务的数据具体分布的因子服务器的编号。

在实际工作过程中,信息加载模块21在风险数据库中寻找配置信息表,需要从监控需求中获取需要进行风险监控和评估的监控标识,基于监控标识在所述配置信息表中寻找与监控标识对应的配置信息。

由于进行实际风险评估计算的计算服务往往是对应一个业务大类的,而某些特殊操作甚至需要对计算节点进行单独布置,因此在进行风险评估前获取实际的数据存储路径是必要的。

数据加载模块22的主要内容为获取风险评估计算的基础数据—即监控标识对应的全量数据。这里的全量数据是指与监控需求中监控标识对应的全部数据,也就是需要进行风险评估计算时刻前交易系统中已生成的全部数据。

为了获取全量数据,数据加载模块22需要进行如下操作:

221、在交易系统中寻找数据存储表。

这里的数据存储表指的是当前交易系统中记录全部数据存储路径信息的表格,根据该表格可以确定每个营业部、每个业务所属数据的准确存储路径。由于交易系统中每时每刻的数据都在进行更新,因此该数据存储表也处于实时更新中。

222、在数据存储表中获取与监控标识对应的全量数据的存放路径,根据获取到的存放路径下载全量数据。

基于步骤221中获取到的数据存储表,从表中选取与监控标识对应的全量数据的存放路径,进而根据已知的存放路径,从交易系统中下载该路径下存储的全量数据以便后续步骤中对该监控标识对应的业务进行风险评估计算。

223、将下载到的全量数据存储在本地因子服务器上,根据全量数据中的数据类型以树状结构进行分布式存储,建立分布式存储的内存表。

当全量数据下载至本地因子服务器以后,考虑到后续计算步骤中调用数据的便利性,同样需要进行分布式存储。具体的分布式存储结构优选使用树状结构,这样可以根据需求直接调用一个父节点下的多个子节点数据,缩短数据调用时间。

数据更新模块23的主要步骤为:

231、接收交易系统已订阅推送业务发出的数据更新消息,从数据更新消息中提取更新数据;和/或

232、每隔预设时间间隔触发获取交易系统流水表的动作,获取流水表中记录的操作内容,基于操作内容获取更新数据。

步骤231中的操作为基于交易系统的推送业务,被动的对前一步骤得到的全量数据进行更新,相对的步骤232中的操作为定时主动的获取交易系统中的数据更新操作。具体的主动获取数据更新的方式为获取交易系统中的流水表。因为该流水表中记载有对交易系统中每个操作的记录,包含有对数据进行更新的记录。因此通过定时获取流水表的信息就能够获取交易系统中准确的数据更新信息,从而补充被动接收推送业务消息这一操作可能带来数据更新延误或数据丢失的缺陷。

数据计算模块24的主要工作步骤为:

241、加载已获取的配置信息;

242、当接收到监控指标计算指令时,基于更新后的内存表从多个因子服务器中获取与监控指标计算指令中指定的监控指标对应的因子数据;

243、对得到的因子数据进行数据整合计算,得到计算结果;

其中,监控指标计算指令的接收包括定时触发以及接收到交易系统的推送业务动作触发。

在实施中,为了尽可能缩短计算时间,需要先行加载步骤11中已获取的配置信息,这样能够在触发计算步骤的时刻可以尽快完成从储存全量数据的本地不同的因子服务器上调用数据的时间。接着在触发计算步骤后,根据从因子服务器处根据前一步骤得到的内存表完成该步骤需要使用的因子数据的调取。并基于调取到的因子数据完成风险评步骤内的数据整合计算,最终得到代表评估结论的计算结果。

考虑到对交易系统进行风险评估的时效性,数据计算模块24中对计算过程的触发进行特殊规定,即在接收到交易系统的推送业务时触发,或是定时触发。这样可以尽量保证在交易系统中数据发生变动时就触发风险评估操作,尽可能降低意外风险对交易系统带来的意外损失。

值得注意的是,在数据计算模块24中完成风险评估的计算步骤后,将得到的计算结果通过消息中心发布给客户端订阅,另外也提供给予客户端直接发送查询指令进行评估结果查询的实现方式。

本申请提供了基于分布式内存数据库的实时监控系统,包括:配置信息加载模块,数据加载模块,数据更新模块,数据计算模块。通过对获取到的全量数据进行包括主动和被动两种方式在内的更新措施,能够弥补之前仅借助订阅推送需要高可靠性传输环境以及数据可能不完整的缺陷;同时在全量数据的存储方面采用分布式存储的方式,能够加快风险评估过程中数据的调用速度,提高了风险评估的时效性。

应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本公开的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。作为模块或单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现木公开方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。

本示例实施方式中,还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述任一实施例中所述基于分布式内存数据库的实时监控方法的步骤。所述实时监控方法的具体步骤可参考前述实施例中关于上述实时监控各步骤的详细描述,此处不再赘述。所述计算机可读存储介质可以是rom、随机存取存储器(ram)、cd-rom、磁带、软盘和光数据存储设备等。

本示例实施方式中,还提供一种电子设备,该电子设备可以包括处理器以及用于存储所述处理器的可执行指令的存储器。其中,所述处理器配置为经由执行所述可执行指令来执行上述任一实施例中所述基于分布式内存数据库的实时监控方法的步骤。该实时监控方法的步骤可参考前述方法实施例中的详细描述,此处不再赘述。

通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本公开实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是cd-rom,u盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、触控终端、或者网络设备等)执行根据本公开实施方式的方法。

图5示出根据本公开示例实施方式中一种电子设备的示意图。例如,电子设备可以被提供为一服务器或客户端。参照图5,包括处理组件422,其进一步包括一个或多个处理器,以及由存储器432所代表的存储器资源,用于存储可由处理组件422执行的指令,例如应用程序。存储器432中存储的应用程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理组件422被配置为执行指令,以执行上述方法。

电子设备还可以包括一个电源组件426被配置为执行设备的电源管理,一个有线或无线网络接口450被配置为将装置400连接到网络,和一个输入输出(i/o)接口458。电子设备可以操作基于存储在存储器432的操作系统,例如windowsservertm,macosxtm,unixtm、linuxtm,freebsdtm或类似。

本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由所附的权利要求指出。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1