一种实时计算业务数据的系统和方法与流程

文档序号:16134341发布日期:2018-12-01 00:44阅读:211来源:国知局

本发明涉及业务数据计算领域,具体地是涉及一种实时计算业务数据的系统和方法。

背景技术

现有技术中主要是通过db查询语句进行相关业务数据的计算。这种计算方法主要存在如下缺陷:

1)当存在大量历史数据时按照这种方式进行计算效率低,无法提供实时数据。

2)每次计算都需要整体从头进行消耗内存、cpu等计算机资源多。

因此,本发明的发明人亟需构思一种新技术以改善其问题。



技术实现要素:

本发明旨在提供一种实时计算业务数据的系统和方法,其可以通过对业务数据流进行实时计算为需求方高效提供实时统计数据。

为解决上述技术问题,本发明的技术方案是:

一种实时计算业务数据的系统,包括:

数据模块,用于对业务数据进行收集、分发和存储;

计算模块,用于对业务数据进行逻辑计算;

利用模块,用于对计算结果进行相关展示和利用;

数据存储模块,用于供所述数据模块、所述计算模块和所述利用模块进行数据的实时存储和读取;

其中所述数据模块具体包括:

数据收集单元,用于收集对应的需要进行实时计算的业务数据并形成数据源,其收集方式包括但不限于接口调用和拦截器获取;

启用计算判断单元,用于判断是否启用数据计算逻辑;

数据分发单元,用于当启用数据计算逻辑时将数据源分发到计算模块;

分发确认单元,用于接收所述计算模块返回的分发确认信息;

数据缓存单元,用于将分发出的数据源按照数据流向进行缓存,直至分发确认单元获取到分发确认信息后才删除数据缓存单元中缓存的数据。

优选地,所述计算模块具体包括:

计算注册单元,用于通过注册操作形成不同的计算业务,所述注册操作包括但不限于新建、编辑和删除;

计算定义单元,用于通过各种编程语言或定义的语法,对计算业务进行描述,并根据具体的计算业务需要定义出数据计算逻辑;

计算启用单元,用于启用数据计算逻辑,只有启用后数据分发单元才会将数据源分发到计算模块;

计算执行单元,用于按照数据计算逻辑进行业务数据的计算,并将计算结果通过所述数据存储进单元进行保存,计算过程中可通过所述数据存储模块读取相应内容。

优选地,所述利用模块具体包括:

图表展示单元,用于将计算结果通过图形、表格或api原数据的方式对外提供展示;

信息设置单元,用于设置监控标准、预警模式信息和指定推送数据;

实时监控单元,用于对所述数据模块、所述计算模块和/或所述利用模块进行监控;

监控预警单元:用于当符合监控标准时,按照预警模式信息将预警信息发送至相关人员;

定时推送单元,用于将指定推送数据在规定时间推送到相关人员。

优选地,所述数据存储模块支持多种存储方式,所述存储方式不限制为本地文件、数据库、redis数据存储系统。

优选地,所述预警模式信息包括但不限于预警阀值、预警人、预警方预警频率。

一种实时计算业务数据的方法,包括如下步骤:

数据处理步骤s1:对业务数据进行收集、分发和存储;

计算步骤s2:对业务数据进行逻辑计算;

利用步骤s3:对计算结果进行相关展示和利用;

数据存储步骤s4:进行数据的实时存储和读取;

其中所述数据处理步骤s1具体包括:

s11:收集对应的需要进行实时计算的业务数据并形成数据源,其收集方式包括但不限于接口调用和拦截器获取;

s12:判断是否启用数据计算逻辑;

s13:当启用数据计算逻辑时将数据源分发;

s14:接收分发确认信息;

s15:将分发出的数据源按照数据流向进行缓存,直至获取到分发确认信息后才删除缓存的数据。

优选地,所述计算步骤s2具体包括:

s21:通过注册操作形成不同的计算业务,所述注册操作包括但不限于新建、编辑和删除;

s22:通过各种编程语言或定义的语法,对计算业务进行描述,并根据具体的计算业务需要定义出数据计算逻辑;

s23:启用数据计算逻辑;

s24:按照数据计算逻辑进行业务数据的计算,并将计算结果进行保存。

优选地,所述利用步骤s3具体包括:

s31:将计算结果通过图形、表格或api原数据的方式对外提供展示;

s32:设置监控标准、预警模式信息和指定推送数据;

s33:对所述数据处理步骤s1-s3进行监控;

s34:当符合监控标准时,按照预警模式信息将预警信息发送至相关人员;将指定推送数据在规定时间推送到相关人员。

优选地,所述数据存储步骤s4中支持多种存储方式,所述存储方式不限制为本地文件、数据库、redis数据存储系统。

优选地,所述预警模式信息包括但不限于预警阀值、预警人、预警方预警频率。

采用上述技术方案,本发明至少包括如下有益效果:

本发明所述的实时计算业务数据的系统和方法,对业务数据流进行实时计算,并提供在线计算注册、定义功能,可在线进行计算业务的变更。不仅能对数据进行高效、实时的数据计算,获得对应结果。同时还可以避免总是对海量历史资源进行计算,造成计算资源的浪费。

附图说明

图1为本发明所述的实时计算业务数据的系统的结构示意图;

图2为本发明所述的实时计算业务数据的方法流程图;

图3为预警流程图;

图4为预警流程图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

实施例1

如图1所示,为符合本实施例的一种实时计算业务数据的系统,包括:

数据模块,用于对业务数据进行收集、分发和存储;

计算模块,用于对业务数据进行逻辑计算;

利用模块,用于对计算结果进行相关展示和利用;

数据存储模块,用于供所述数据模块、所述计算模块和所述利用模块进行数据的实时存储和读取;

其中所述数据模块具体包括:

数据收集单元,用于收集对应的需要进行实时计算的业务数据并形成数据源,其收集方式包括但不限于接口调用和拦截器获取;

启用计算判断单元,用于判断是否启用数据计算逻辑;

数据分发单元,用于当启用数据计算逻辑时将数据源分发到计算模块;

分发确认单元,用于接收所述计算模块返回的分发确认信息;

数据缓存单元,用于将分发出的数据源按照数据流向进行缓存,直至分发确认单元获取到分发确认信息后才删除数据缓存单元中缓存的数据。

优选地,所述计算模块具体包括:

计算注册单元,用于通过注册操作形成不同的计算业务,所述注册操作包括但不限于新建、编辑和删除;

计算定义单元,用于通过各种编程语言或定义的语法,对计算业务进行描述,并根据具体的计算业务需要定义出数据计算逻辑;

计算启用单元,用于启用数据计算逻辑,只有启用后数据分发单元才会将数据源分发到计算模块;

计算执行单元,用于按照数据计算逻辑进行业务数据的计算,并将计算结果通过所述数据存储进单元进行保存,计算过程中可通过所述数据存储模块读取相应内容。

优选地,所述利用模块具体包括:

图表展示单元,用于将计算结果通过图形、表格或api原数据的方式对外提供展示;

信息设置单元,用于设置监控标准、预警模式信息和指定推送数据;

实时监控单元,用于对所述数据模块、所述计算模块和/或所述利用模块进行监控;优选地,所述实时监控单元包括但不限于缓存监控子单元、计算监控子单元和计算结果监控子单元;所述监控预警单元包括但不限于缓存预警子单元、计算预警子单元和计算结果预警子单元。

监控预警单元:用于当符合监控标准时,按照预警模式信息将预警信息发送至相关人员;

定时推送单元,用于将指定推送数据在规定时间推送到相关人员。

优选地,所述数据存储模块支持多种存储方式,所述存储方式不限制为本地文件、数据库、redis数据存储系统。

优选地,所述预警模式信息包括但不限于预警阀值、预警人、预警方预警频率。

实施例2

如图2所示,为符合本实施例的一种实时计算业务数据的方法,包括如下步骤:

数据处理步骤s1:对业务数据进行收集、分发和存储;

计算步骤s2:对业务数据进行逻辑计算;

利用步骤s3:对计算结果进行相关展示和利用;

数据存储步骤s4:进行数据的实时存储和读取;

其中所述数据处理步骤s1具体包括:

s11:收集对应的需要进行实时计算的业务数据并形成数据源,其收集方式包括但不限于接口调用和拦截器获取;

s12:判断是否启用数据计算逻辑;

s13:当启用数据计算逻辑时将数据源分发;

s14:接收分发确认信息;

s15:将分发出的数据源按照数据流向进行缓存,直至获取到分发确认信息后才删除缓存的数据。

优选地,所述计算步骤s2具体包括:

s21:通过注册操作形成不同的计算业务,所述注册操作包括但不限于新建、编辑和删除;

s22:通过各种编程语言或定义的语法,对计算业务进行描述,并根据具体的计算业务需要定义出数据计算逻辑;

s23:启用数据计算逻辑;

s24:按照数据计算逻辑进行业务数据的计算,并将计算结果进行保存。

优选地,所述利用步骤s3具体包括:

s31:将计算结果通过图形、表格或api原数据的方式对外提供展示;

s32:设置监控标准、预警模式信息和指定推送数据;

s33:对所述数据处理步骤s1-s3进行监控;

s34:当符合监控标准时,按照预警模式信息将预警信息发送至相关人员;将指定推送数据在规定时间推送到相关人员。

优选地,所述数据存储步骤s4中支持多种存储方式,所述存储方式不限制为本地文件、数据库、redis数据存储系统。

优选地,所述预警模式信息包括但不限于预警阀值、预警人、预警方预警频率。

下面具体阐述本发明。

本发明主要包括:数据处理部分、计算部分、利用部分和数据存储模部分。

一、数据处理部分:对数据进行各种业务处理保障数据的获取、使用等,其中包括:数据收集、数据分发、分发确认、数据缓存等

1.数据收集,获取对应的需要进行实时计算业务的数据,其收集方式包括但不限于:接口调用、拦截器等。接口调用包括:api调用、rpc调用、发布消息等将要收集的数据作为参数传递给数据收集器。拦截器包括:采用注解、代理等方式实现拦截器获取对应方法入参作为需要收集的数据传递给数据收集器。

2.数据分发,通过接口调用、消息队列等方式将数据分发到计算模块,供计算模块进行相关计算。

3.分发确认,数据分发到计算模块,计算模块正确获取到数据,并进行计算,完毕后返回结果告知分发任务完成。

4.数据缓存,数据分发后将分发出的数据按照数据流向进行缓存,直至获取到分发确认信息才删除缓存中数据内容。

二、计算部分:是对数据流进行业务逻辑计算的管理单元,其包括:计算注册、计算定义、计算启用、执行计算等部分。

1.计算注册:为计算模块定义名称、描述等辅助信息,便于理解对应的计算业务所完成的任务,以及数据来源和数据流向等。

2.计算定义:通过各种编程语言或定义的语法,对计算业务进行描述,使之以接收到的数据为原料,并根据需要读取数据流向地的历史数据,然后按照业务需要计算出当前数据。定义计算模块的内部逻辑,即数据计算逻辑。

3.计算启用:启用数据计算逻辑,只有启用数据计算逻辑后数据分发时才会分发到计算模块。

4.执行计算:计算启用后,由数据分发触发计算模块,按照计算定义的算法进行业务数据计算,并将计算结果存入数据存储模块中(数据存储模块包括但不限制为:本地文件、数据库、redis等各种数据存储系统),通过数据存储模块进行保存,计算过程中也可通过数据存储模块读取相应内容。

即数据模块通过数据收集形成一个个数据源,计算模块先通过注册、定义形成计算业务,然后将计算业务和数据源建立联系,再通过数据分发,从而形成数据流(即:数据从数据源流向计算业务)。计算业务接收到数据后执行计算。

三、利用部分:对实时计算的结果进行相关利用,其包括:图表展示、信息设置、实时监控、监控预警、定时推送等。

1.图表展示:将计算结果通过图形、表格或api原数据的方式对外提供展示。

2.信息设置:用于设置监控标准、预警模式信息和指定推送数据;如对数据计算后对应数值高于、等于或低于某限定值进行相关配置,以及达到限定条件后以何种方式(如:短信、邮件、微信等)通知相关人(包括通知的频率等)进行配置。

3.实时监控,用于对所述数据模块、所述计算模块和所述利用模块进行监控。

预警流程参照图3和图4所示(包括两种流程,在此不做限制)。获取预警模式信息时一次性获取所有相关信息,包括:预警阀值、预警人、预警方式、预警频率

4.监控预警:计算存储的数据达到阀值按照监控配置环节所设定的方式、频率通知相关人。

5.定时推送:将指定数据在规定时间推送到相关人员,推送前设定好推送人、推送时间、推送方式等。

优选地,所述实时监控单元包括但不限于缓存监控子单元、计算监控子单元和计算结果监控子单元;所述监控预警单元包括但不限于缓存预警子单元、计算预警子单元和计算结果预警子单元。

缓存监控、缓存预警,用于监控缓存中数据量包括不再补发的死数据和需要补发的活数据,死数据可在缓存监控时进行相关问题处理后手动分发,即运维人员通过缓存监控、缓存预警了解到缓存数据异常情况后进行干涉。计算监控、计算预警,用于对计算业务消耗资源和计算量进行监测、预警。

计算结果监控和计算结果预警,用于对利用模块进行监控、预警。

四、数据存储部分,用于对整个过程中数据的读取和存储。数据存储支持多种方式(包括但不限制为:本地文件、数据库、redis等各种数据存储系统)。

需要注意的是:

1.当收集的数据存在对应的数据计算逻辑的启用时才进行数据分发。

2.接收到分发数据后进行实时计算,计算正常结束,并将结果写入数据数据存储模块后计算正常结束,发起分发确认请求。

3.计算或写入存储过程中出现异常时,将元数据写入缓存(收集到的数据),以备后续进行补发。

4.补发前按照补发规则,测试缓存数据是否符合补发条件(比如:补发次数、补发时间范围等),如符合条件则进行补发,否则标记缓存数据避免重复进行判断。

5.当计算模块所对应的缓存数据达到一定量时(包括:补发、不再补发或所有等多种纬度)进行对应的预警,要求人工介入。

6.监控、预警分为:数据、计算、计算结果(即:利用模块)。其分别监控数据、计算、计算结果信息,并进行预警。流程相似,角度不同,本领域技术人员应当知晓,故此处不赘述。

本发明统一进行数据收集和数据存储。数据收集形成数据源,能够直观方便的进行管理、监控;数据存储提供标准的存储通道。数据的收集、存储被大量复用,使得计算业务只需要关注计算,而减少了对数据获取和数据存储的相关操作,节省了成本。将数据收集、数据存储进行独立封装,便于扩展、维护。对数据源、计算资源的健康状况提供监控、预警便于维护。在数据源也计算业务之间建立起数据流,能够对数据流量及健康情况进行监控,实时监控计算业务和数据流状态。还可以对计算结果进行友好展示,以及监控、预警让计算结果得到充分利用。另外本发明还可进行分布式处理,让计算业务资源得到共享,也利于规模的扩展。

计算业务可在线变更,该变更为:计算模块中包含注册(包括编辑、删除)、定义(包括重新定义)、启用(当然也包括停用),对应的变更就是,停用并重新定义,然后再启用,或者直接停用(即关闭了对应的数据流)。

简言之,本发明对业务数据流进行实时计算,并提供在线计算注册、定义功能,可在线进行计算业务的变更。不仅能对数据进行高效、实时的数据计算,获得对应结果。同时还可以避免总是对海量历史资源进行计算,造成计算资源的浪费。

本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。

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