一种更新指标的方法及装置与流程

文档序号:19943448发布日期:2020-02-14 23:30阅读:327来源:国知局
一种更新指标的方法及装置与流程

本申请涉及信息处理领域,尤其涉及一种更新指标的方法及装置。



背景技术:

随着数据信息的发展,很多领域都采用了数据指标管理,在数据指标管理中,数据都有对应的指标,当数据发生变更时,对应的指标也发生变更。例如,对于交易平台,当客流量数据变更时,对应的各项经营指标,如销售指标以及订单指标等都会发生变化。

现有的指标计算方法中,数据变更后,需要较长时间才能完成指标的更新,导致第三方当前获取的指标其实是数据变更前对应的指标,即指标更新存在较大的延迟。所以,如何提高指标更新的实时性,成为目前亟待解决的问题。



技术实现要素:

本申请提供了一种更新指标的方法及装置,目的在于解决如何提高指标更新的实时性的问题。

为了实现上述目的,本申请提供了以下技术方案:

一种更新指标的方法,包括:

获取数据库中的变更数据,并将所述变更数据发送至消息队列;

依据预设的指标算法,对所述消息队列中包括的所述变更数据以及预先存储的历史指标进行计算,得到新指标,其中,所述历史指标为依据历史数据计算得到的指标,所述历史数据与所述变更数据为同一类型的数据。

上述的方法,可选的,在获取数据库中的变更数据,并将所述变更数据发送至消息队列之前,还包括:

显示用户交互界面,所述用户交互界面中包括配置项,所述配置项至少包括数据监测工具、消息队列以及指标算法;

依据配置指令确定用户选取的配置项,所述配置指令为用户在所述用户交互界面完成所述配置项的选取后,所述用户交互界面发送的携带用户选取的配置项的信息的指令;

从所述配置指令中确定用户选取的所述配置项分别为所述数据监测工具、所述消息队列和所述指标算法后,将所述数据监测工具作为获取数据库中的变更数据的工具,将所述消息队列作为接收所述变更数据的消息队列,将所述指标算法作为所述预设的指标算法。

上述的方法,可选的,所述依据预设的指标算法,对所述消息队列中包括的所述变更数据以及预先存储的历史指标进行计算,得到新指标,包括:

依据预先存储的数据与指标的对应关系,确定需更新的历史指标;其中,所述数据与指标的对应关系中规定与数据对应的指标,任意一个与数据相关的指标为,所述数据变更后,需更新的指标;

从非关系型数据库中获取预先存储的所述历史指标;

依据所述指标算法,对所述变更数据以及所述历史指标进行计算,得到所述新指标。

上述的方法,可选的,计算得到所述新指标之后,还包括,将所述新指标存储到非关系型数据库中。

上述的方法,可选的,所述将所述变更数据发送至消息队列,还包括:

在预设的消息队列群集中选取目标消息队列,并将所述变更数据发送至所述目标消息队列。

一种更新指标的装置,包括:

获取单元,用于获取数据库中的变更数据,并将所述变更数据发送至消息队列;

计算单元,用于依据预设的指标算法,对所述消息队列中包括的所述变更数据以及预先存储的历史指标进行计算,得到新指标,其中,所述历史指标为依据历史数据计算得到的指标,所述历史数据与所述变更数据为同一类型的数据。

上述的装置,可选的,还包括,显示单元;

所述显示单元,用于显示用户交互界面,所述用户交互界面中包括配置项,所述配置项至少包括数据监测工具、消息队列以及指标算法,依据配置指令确定用户选取的配置项,所述配置指令为用户在所述用户交互界面完成所述配置项的选取后,所述用户交互界面发送的携带用户选取的配置项的信息的指令,从所述配置指令中确定用户选取的所述配置项分别为所述数据监测工具、所述消息队列和所述指标算法后,将所述数据监测工具作为获取数据库中的变更数据的工具,将所述消息队列作为接收所述变更数据的消息队列,将所述指标算法作为所述预设的指标算法。

上述的装置,可选的,所述计算单元用于依据预设的指标算法,对所述消息队列中包括的所述变更数据以及预先存储的历史指标进行计算,得到新指标,包括:

所述计算单元具体用于,依据预先存储的数据与指标的对应关系,确定需更新的历史指标,从非关系型数据库中获取预先存储的所述历史指标,依据所述指标算法,对所述变更数据以及所述历史指标进行计算,得到所述新指标,其中,所述数据与指标的对应关系中规定与数据对应的指标,任意一个与数据相关的指标为,所述数据变更后,需更新的指标。

上述的装置,可选的,所述计算单元用于计算得到新指标之后,所述计算单元还用于,将所述新指标存储到非关系型数据库中。

上述的装置,可选的,所述获取单元还用于,在预设的消息队列群集中选取目标消息队列,并将所述变更数据发送至所述目标消息队列。

本申请所述的更新指标的方法及装置,获取数据库中的变更数据,并将变更数据发送至消息队列,依据预设的指标算法,对消息队列中包括的变更数据以及预先存储的历史指标进行计算,得到新指标。其中,历史指标是依据历史数据计算得到的预先存储的指标,历史数据为与变更数据为同一类型的数据。可见,本申请提供的方法,在数据发生变更后,无需对历史数据和变更数据进行计算得到新指标。而是依据预设的指标算法,计算变更数据带来的指标变化量,并依据指标变化量和历史指标,得到新指标。因为历史数据的数据量通常比变更数据的数据量大很多,所以计算变更数据带来的指标增量,可以减少计算量,提高指标更新的实时性。同时,将变更数据发送至消息队列,使读取变更数据时,直接从消息队列中读取变更数据即可,无需查找变数据,从而省去了查找变更数据的时间,提高了指标更新的实时性。

附图说明

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

图1为本申请实施例公开的更新指标的方法的流程图;

图2为本申请实施例公开的确定配置项的流程图;

图3为本申请实施例公开更新指标装置的结构示意图;

图4为本申请实施例公开更新指标设备的结构示意图。

具体实施方式

本申请实施例公开的更新指标的方法以及装置,用于在监测到数据库中数据发生变更后,更新与变更数据对应的指标。

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

图1为本申请实施例公开的一种更新指标的方法,可以包括以下步骤。

s101、获取数据库中的变更数据,并将变更数据发送至消息队列。

本实施例中,数据库作为存储数据的数据集合,对于不同系统的数据库,其数据可以不同。例如,对于交易系统的数据库,数据库中的数据可以是价格数据和订单数据等。对于教育系统的数据库,数据可以是不同职称的教职工数量和论文发表总量等。需要说明的是,数据库中的数据是可以变更的,数据的变更可以是数据库自行发起的变更,也可以是人为操纵变更。例如,数据库可以根据预设的价格更新公式,更新价格数据,也可以是工作人员自行更改数据库中的价格数据。

本实施例中,可以使用数据监测工具(如开源软件ogg)对数据库进行实时监测,监测数据库中是否有数据发生变更,当监测到数据库中有数据发生变更后,获取变更数据,并将变更数据发送至消息队列。

需要说明的是,数据监测工具得到的变更数据如果不是完整的数据,或者变更数据对应的指标计算需进行联表查询,则需要进行数据补全,即在数据源中查找出变更数据中所需补充的数据,并将查找到的需补充的数据发送至消息队列。

消息队列中的数据是依据数据的发送时间的先后顺序依次排列的,消息队列的队头为发送时间最早的数据,队尾为发送时间最晚的数据。

本实施例中,为了加快变更数据的并行消费,可以预先搭建消息队列群集,在消息队列群集中包括多个消息队列。将变更数据发送至消息队列前,先在消息队列群集中选取目标消息队列,并将变更数据发送至目标消息队列。其中,在消息队列群集中选取目标消息队列的一种方式可以是:依据变更数据的数据类型,将消息队列群集中与变更数据的数据类型对应的消息队列作为目标消息队列,这样操作的好处在于能够使同一数据类型路由到同一个消息队列中。在消息队列群集中选取目标消息队列的另一种方式还可以是:在消息队列群集中随机选取一个消息队列作为目标消息队列即可。

需要说明的是,使用的数据监测工具需与消息队列需相互兼容,例如,数据监测工具使用开源软件ogg时,消息队列可以选用与ogg兼容的kafka。

本实施例中,使用ogg获取数据库中的变更数据,并将变更数据发送至消息队列kafka,以及kafka接收ogg传输的变更数据的具体过程可以参考现有技术。

s102、获取预先存储的与变更数据对应的历史指标。

本实施例中,数据都有自身对应的指标,且数据对应的指标由预先设定的数据与指标的对应关系确定,在数据与指标的对应关系中,规定了与数据对应的指标,任意一个与数据对应指标为:该数据变更后需更新的指标。例如,可以预先设定价格数据对应的指标为经济指标,则价格数据变更后,需对经济指标进行更新。

本实施例中,获取变更数据后,依据预设的数据与指标的对应关系,确定变更数据对应的需更新的历史指标,并从非关系型数据库中获取需更新的历史指标。需要说明的是,从非关系型数据库中获取历史指标后,将该历史指标从非关系型数据库中删除,使非关系型数据库中不再存储有该历史指标。

本实施例中,历史指标是依据历史数据计算得到的指标,且历史数据与变更数据为同一类型的数据。需要说明的是,每一数据都有对应的类型,不同的数据可以对应同一类型,例如,价格数据和订单数据对应的类型可以都是经济类型。其中,数据对应的类型是预先设定的。

s103、依据预设的指标算法,对消息队列中包括的变更数据以及历史指标进行计算,得到新指标。

指标算法是一种预设的计算指标的算法,获取变更数据和历史指标后,可以依据指标算法,对变更数据以及历史指标进行计算,并将结果作为新指标。具体的,指标算法可以是,计算变更数据得到指标增量,再将指标增量与历史指标进行相加,得到新指标。指标算法还可以是,计算变更数据得到指标增量系数,再将指标增量系数与历史指标进行相乘,得到新指标。需要说明的是,本实施例不限定指标算法的具体计算公式,任何基于变更数据和历史指标计算得到新指标的计算方式都属于本申请的保护范围。

需要说明的是,当获取得到的与变更数据对应的历史指标为多个历史指标时,可以针对每个历史指标进行更新,计算得到多个新指标,例如,针对任意一个历史指标,指标算法可以是计算变更数据得到指标增量系数后,将指标增量系数与历史指标和权重系数相乘,最后将计算结果作为新指标。其中,权重系数是与历史指标对应的系数,不同的历史指标,其权重系数不同,任意一种历史指标其对应的权重系数的大小可以预先设定。

需要说明的是,对获取的历史指标进行更新得到新指标后,需将该新指标存储到非关系型数据库中,新指标存储至非关系型数据库中后,该新指标则成为了待更新的历史指标。

本发明提供的指标更新的方法,在数据发生变更后,无需对历史数据和变更数据进行计算得到新指标,而是依据预设的指标算法,计算变更数据带来的指标变化量,并依据指标变化量和历史指标,得到新指标。因为历史数据的数据量通常比变更数据的数据量大很多,所以计算变更数据带来的指标变化量,可以减少计算量,提高指标更新的实时性。

同时,将变更数据发送至消息队列,使读取变更数据时,直接从消息队列中读取变更数据即可,无需查找变数据。避免了现有技术中,将变更数据插入临时表格中,并通过需轮询临时表格,获取变更数据进行新指标的计算。由于在临时表格中包含大量的数据,导致需轮询临时表格获取变更数据时耗时较长,且获取得到变更数据后,需将该变更数据从临时表格中删除,频繁的插入和删除操作也使得表格的碎片化,从而进一步加大了从表格中获取变更数据的难度。本发明提供的消息队列中,变更数据顺序排列在队列中,无需进行查询,直接获取即可,从而省去了查找变更数据的时间,提高了指标更新的实时性。

另外,本发明提供的指标更新的方法,将指标存储在从非关系型数据库中,相对于关系型数据库,在非关系型数据库中可以快速查询到目标信息,使在对历史指标进行更新时,可以快速的获取到历史指标,从而提高了指标更新的实时性。

在上述实施例中,获取数据库中的变更数据的数据监测工具、消息队列以及指标算法都是预先进行配置的。配置数据监测工具、消息队列以及指标算法的过程在上述实施例的获取数据库中的变更数据之前已经完成。具体配置数据监测工具、消息队列以及指标算法的过程可以参考图2的所示的流程。

s201、显示用户交互界面。

用户交互界面是为用户提供选择配置项的界面,在用户交互界面中包括不同的配置项供用户选择,本实施例中,配置项可以包括数据监测工具、消息队列、指标算法以及触发点配置项。

在指标算法中,包括数据类型配置以及指标计算方式配置,其中,数据类型可以是long型、double型、list型、string型以及date型。指标计算方式包括多种指标计算方法,例如:累加计算、最大最小值计算、时间戳最早最晚对应的变更数据的计算以及平均计算等。本实施例中,可以结合自身的需求,选择数据类型以及指标计算方式。

其中,触发配置项中预先规定变更数据对应的指标,数据监测工具监测到数据库存在变更数据的情况下,触发配置项触发更新与变更数据对应的指标。

s202、依据配置指令确定用户选取的配置项。

配置指令为用户在用户交互界面完成配置项的选取后,用户交互界面发送的携带用户选取的配置项的信息的指令。其中,配置项的信息可以是配置项的名称或配置项的标识码等可以表征配置项的身份的信息。

本实施例中,在用户交互界面上,设置有“完成配置项选取”的选项,以供用户完成配置项选取后,通过点击“完成配置项选取”选项表明已经完成配置项的选取。用户交互界面确定用户完成配置项的选取后,确定用户选取的配置项的信息,并将用户选取的配置项的信息以配置指令的形式发送至后台处理系统。

需要说明是,用户选取的配置项可以是单个配置项,也可以是选取多个配置项作为配置项组合。

s203、从配置指令中确定用户选取的配置项分别为数据监测工具、消息队列和指标算法。

因配置指令中携带用户选取的配置项的信息,所以可以从携带的配置项的信息中确定用户选取的配置项。本实施例中,具体的,数据监测工具可以是ogg,消息队列可以是kafka。

需要说明的是,若从配置指令中确定用户选取的多个配置项中存在相互冲突的配置项,例如,选取的配置项中存在互不兼容的配置项,或存在同一类型的两个配置项,则通过用户互交界面提示用户配置项选取失败。

在用户交互界面中,可以展示指标算法的具体公式内容,且可以允许工作人员直接在用户交互界面上对指标算法的具体公式内容进行维护和更新。

s204、将数据监测工具作为获取数据库中的变更数据的工具,将消息队列作为接收所述变更数据的消息队列,将指标算法作为预设的指标算法。

确定用户选取的配置项分别为数据监测工具、消息队列和指标算法后,可以根据预先设置程序,规定数据监测工具作为获取数据库中的变更数据的工具,且数据监测工具将获取的变更数据发送至消息队列中,并将指标算法作为计算指标采用的算法。

本发明实施例提供的方法,通过在用户交互界面设置多个可供用户选择的配置项,使后台系统根据用户选取的配置项,完成不同的任务。且用户交互界面设置指标算法的具体公式内容可以直接的展示在界面形式,代替现有技术中采用硬编码编写指标算法的形式,使业务人员可以直接在户交互界面的指标算法进行维护和更新,不需要重新进行编码,从而提高的工作效率。

与图1的方法相对应,本发明实施例还提供了一种指标更新的装置,用于对图1方法的具体实现,其结构示意图如图3所示,具体包括:

显示单元301,用于显示用户交互界面,用户交互界面中包括配置项,配置项至少包括数据监测工具、消息队列以及指标算法,依据配置指令确定用户选取的配置项,配置指令为用户在用户交互界面完成配置项的选取后,用户交互界面发送的携带用户选取的配置项的信息的指令,从配置指令中确定用户选取的配置项分别为数据监测工具、消息队列和指标算法后,将数据监测工具作为获取数据库中的变更数据的工具,将消息队列作为接收变更数据的消息队列,将指标算法作为预设的指标算法。

获取单元302,用于获取数据库中的变更数据,并将变更数据发送至消息队列;

计算单元303,用于依据预设的指标算法,对消息队列中包括的变更数据以及预先存储的历史指标进行计算,得到新指标,其中,历史指标为依据历史数据计算得到的指标,历史数据与所述变更数据为同一类型的数据。

其中,计算单元303用于依据预设的指标算法,对消息队列中包括的变更数据以及预先存储的历史指标进行计算,得到新指标的具体实现方式为:依据预先存储的数据与指标的对应关系,确定需更新的历史指标,从非关系型数据库中获取预先存储的历史指标,依据指标算法,对变更数据以及历史指标进行计算,得到新指标,其中,数据与指标的对应关系中规定与数据对应的指标,任意一个与数据相关的指标为,数据变更后,需更新的指标。

其中,计算单元303用于计算得到新指标之后,计算单元302还用于,将新指标存储到非关系型数据库中。

其中,获取单元302还用于,在预设的消息队列群集中选取目标消息队列,并将所述变更数据发送至所述目标消息队列。

本发明提供的更新指标的装置,获取数据库中的变更数据,并将变更数据发送至消息队列,依据预设的指标算法,对消息队列中包括的变更数据以及预先存储的历史指标进行计算,得到新指标。其中,历史指标是依据历史数据计算得到的预先存储的指标,历史数据为与变更数据为同一类型的数据。可见,本申请提供的装置,在数据发生变更后,无需对历史数据和变更数据进行计算得到新指标。而是依据预设的指标算法,计算变更数据带来的指标增量,并依据指标增量和历史指标,得到新指标。因为历史数据的数据量通常比变更数据的数据量大很多,所以计算变更数据带来的指标增量,可以减少计算量,提高指标更新的实时性。同时,将变更数据发送至消息队列,使读取变更数据时,直接从消息队列中读取变更数据即可,无需查找变数据,从而省去了查找变更数据的时间,提高了指标更新的实时性。

本发明实施例还提供了一种更新指标的设备,其结构示意图如图4所示,具体包括:处理器401和存储器402,存储器402用于存储程序,处理器401用于运行程序,以实现本发明实施例中更新指标的方法。

本发明实施例还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行本发明实施例中更新指标的方法。

本申请实施例方法所述的功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算设备可读取存储介质中。基于这样的理解,本申请实施例对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该软件产品存储在一个存储介质中,包括若干指令用以使得一台计算设备(可以是个人计算机,服务器,移动计算设备或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。

本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。

对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

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