业务指标查询方法、装置、设备及存储介质与流程

文档序号:25213531发布日期:2021-05-28 14:10阅读:74来源:国知局
业务指标查询方法、装置、设备及存储介质与流程

本申请涉及数据处理技术领域,具体而言,涉及一种业务指标查询方法、装置、设备及存储介质。



背景技术:

随着大数据技术的不断发展,从业务系统中收集业务日志数据,通过数据整合分析可计算得到业务系统的各项业务指标,从而为业务的发展运营提供一定的指导。

目前,现有的业务指标计算方法是采用根据业务日志数据获取的基础指标数据计算业务指标数据,并将计算得到的业务指标数据存储在数据库中,基于用户的业务指标查询请求,从数据库中查询相应的业务指标数据展示给用户。

但是,上述方法在业务指标查询需求多变的情况下,会导致业务指标查询精确性较差。



技术实现要素:

本申请的目的在于,针对上述现有技术中的不足,提供一种业务指标查询方法、装置、设备及存储介质,以便于解决现有技术中存在的在业务查询需求多变的情况下,业务指标查询精确性较差的问题。

为实现上述目的,本申请实施例采用的技术方案如下:

第一方面,本申请实施例提供了一种业务指标查询方法,应用于业务指标查询系统,所述业务指标查询系统包括:业务系统和任务处理系统,所述方法包括:

获取用户基于业务系统的客户端发起的业务指标查询请求,所述业务指标查询请求用于查询目标业务类型下目标业务状态的业务指标,所述业务指标查询请求包括:待查询业务指标;

从所述任务处理系统的数据库中调取所述业务指标查询请求对应的基础指标数据,所述基础指标数据对应的基础指标用于表征构成所述待查询业务指标的基础元素;

根据所述基础指标数据,确定所述待查询业务指标对应的业务指标数据。

可选地,所述从所述任务处理系统的数据库中调取所述业务指标查询请求对应的基础指标数据,包括:

根据所述待查询业务指标以及所述任务处理系统预先构建的业务指标与基础指标的依赖关系,确定所述待查询业务指标对应的目标基础指标;

从所述任务处理系统的数据库中调取所述目标基础指标对应的基础指标数据,并将所述基础指标数据作为所述业务指标查询请求对应的基础指标数据。

可选地,所述任务处理系统采用如下方式构建得到:

构建目标业务类型下目标业务状态的业务指标;

根据各所述业务指标,构建指标查询数据表模型,所述指标查询数据表模型用于指示按照预设的数据存储格式存储所述各业务指标对应的基础指标;

构建基础指标计算任务,所述基础指标计算任务用于根据所述基础指标与数据源表的依赖关系,计算得到所述基础指标对应的基础指标数据;所述数据源表根据目标业务类型的日志数据确定;

根据所述基础指标计算任务、以及所述指标查询数据表模型,构建所述任务处理系统。

可选地,所述根据各所述业务指标,构建指标查询数据表模型之前,所述方法还包括:

声明各所述业务指标对应的筛选条件,每个所述筛选条件对应一个存储字段。

可选地,所述根据各所述业务指标,构建指标查询数据表模型,包括:

按照预设的拆分条件,将各所述业务指标进行拆分,得到基础指标;

构建各所述业务指标与各所述基础指标的依赖关系;

建立各所述基础指标与所述筛选条件的对应关系,得到所述指标查询数据表模型。

可选地,所述基础指标对应的基础指标数据具有预设的数据格式,所述预设的数据格式包括:基础指标数据的指标命名格式、基础指标数据的数据格式。

可选地,所述构建基础指标计算任务,包括:

构建各所述基础指标与数据源表的依赖关系,得到初始基础指标计算任务;

根据所述依赖关系,优化所述初始基础指标计算任务,得到所述基础指标计算任务。

可选地,所述构建各所述基础指标与数据源表的依赖关系,得到初始基础指标计算任务,包括:

确定各所述基础指标对应的基础计算元素;

确定各所述基础计算元素所对应的数据源表;

构建各所述基础指标、与各所述基础指标对应的基础计算元素所对应的数据源表之间的依赖关系,得到初始基础指标计算任务。

可选地,所述根据所述依赖关系,优化所述初始基础指标计算任务,得到所述基础指标计算任务,包括:

根据所述依赖关系,将与同一数据源表具有依赖关系的不同基础指标计算任务进行合并,得到所述基础指标计算任务。

第二方面,本申请实施例还提供了一种业务指标查询装置,应用于业务指标查询系统,所述业务指标查询系统包括:业务系统和任务处理系统,所述装置包括:获取模块、调取模块、确定模块;

所述获取模块,用于获取用户基于业务系统的客户端发起的业务指标查询请求,所述业务指标查询请求用于查询目标业务类型下目标业务状态的业务指标,所述业务指标查询请求包括:待查询业务指标;

所述调取模块,用于从所述任务处理系统的数据库中调取所述业务指标查询请求对应的基础指标数据,所述基础指标数据对应的基础指标用于表征构成所述待查询业务指标的基础元素;

所述确定模块,用于根据所述基础指标数据,确定所述待查询业务指标对应的业务指标数据。

可选地,所述调取模块,具体用于根据所述待查询业务指标以及所述任务处理系统预先构建的业务指标与基础指标的依赖关系,确定所述待查询业务指标对应的目标基础指标;从所述任务处理系统的数据库中调取所述目标基础指标对应的基础指标数据,并将所述基础指标数据作为所述业务指标查询请求对应的基础指标数据。

可选地,所述装置还包括:构建模块;

所述构建模块,用于构建目标业务类型下目标业务状态的业务指标;

根据各所述业务指标,构建指标查询数据表模型,所述指标查询数据表模型用于指示按照预设的数据存储格式存储所述各业务指标对应的基础指标;构建基础指标计算任务,所述基础指标计算任务用于根据所述基础指标与数据源表的依赖关系,计算得到所述基础指标对应的基础指标数据;所述数据源表根据目标业务类型的日志数据确定;根据所述基础指标计算任务、以及所述指标查询数据表模型,构建所述任务处理系统。

可选地,所述装置还包括:声明模块;

所述声明模块,用于声明各所述业务指标对应的筛选条件,每个所述筛选条件对应一个存储字段。

可选地,所述构建模块,具体用于按照预设的拆分条件,将各所述业务指标进行拆分,得到基础指标;构建各所述业务指标与各所述基础指标的依赖关系;建立各所述基础指标与所述筛选条件的对应关系,得到所述指标查询数据表模型。

可选地,所述基础指标对应的基础指标数据具有预设的数据格式,所述预设的数据格式包括:基础指标数据的指标命名格式、基础指标数据的数据格式。

可选地,所述构建模块,具体用于构建各所述基础指标与数据源表的依赖关系,得到初始基础指标计算任务;根据所述依赖关系,优化所述初始基础指标计算任务,得到所述基础指标计算任务。

可选地,所述构建模块,具体用于确定各所述基础指标对应的基础计算元素;确定各所述基础计算元素所对应的数据源表;构建各所述基础指标、与各所述基础指标对应的基础计算元素所对应的数据源表之间的依赖关系,得到初始基础指标计算任务。

可选地,所述构建模块,具体用于根据所述依赖关系,将与同一数据源表具有依赖关系的不同基础指标计算任务进行合并,得到所述基础指标计算任务。

第三方面,本申请实施例提供了一种电子设备,包括:处理器、存储介质和总线,存储介质存储有处理器可执行的机器可读指令,当电子设备运行时,处理器与存储介质之间通过总线通信,处理器执行机器可读指令,以执行时执行如第一方面中提供的业务指标查询方法的步骤。

第四方面,本申请实施例提供了一种计算机可读存储介质,该存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如第一方面提供的业务指标查询方法的步骤。

本申请的有益效果是:

本申请提供一种业务指标查询方法、装置、设备及存储介质,该方法包括:获取用户基于业务系统的客户端发起的业务指标查询请求,业务指标查询请求用于查询目标业务类型下目标业务状态的业务指标,业务指标查询请求包括:待查询业务指标;从任务处理系统的数据库中调取业务指标查询请求对应的基础指标数据,基础指标数据对应的基础指标用于表征构成待查询业务指标的基础元素;根据基础指标数据,确定待查询业务指标对应的业务指标数据。本方法中,通过在任务处理系统的数据库中直接存储构成业务指标的基础指标数据,以使得在计算业务指标时,可先根据业务指标查询请求从任务处理系统的数据库中查询得到基础指标数据,从而可根据业务指标与基础指标之间的关系,在业务系统层计算得到待查询的业务指标。相比于现有技术中,在任务处理系统的数据库中存储预先计算好的业务指标数据,从而根据查询请求直接获取对应的业务指标,本方案中,由于数据库中存储的是构成业务指标的基础指标数据,当业务系统需求变更,增加新的业务指标时,无需对数据库进行较大的改动,可通过从数据库中获取新增的业务指标对应的基础指标数据实时计算即可得到新增的业务指标数据,有效避免了数据库中直接存储业务指标,导致业务需求变动时,新增的业务指标查询不到的情况,有效提高了业务指标查询系统的可靠性,从而提高了在业务需求多变的情况下,业务指标查询的精确性。

其次,在数据库存储基础指标,业务指标由业务系统层自行计算得出,业务指标的删改发生在业务系统层,并且新加的业务指标只有在基础指标组合不出的情况下才会重新添加新的计算任务和新的基础指标,数据库层变动小,存储稳定。

另外,当业务需求变更需要增加新的业务指标,或者对原始指标的换算标准作出改动等,这些都可以根据数据库存储的基础指标在业务系统层方便地进行修改,并且基础指标可以复用,用于组合出新的业务指标。

最后,当业务系统层的业务指标计算逻辑发生变动时,只需要修改业务系统层的逻辑即可,无需按照常规设计重算存储于数据库里的业务指标,业务开发更敏捷。

下述对用以执行本申请所提供的业务指标查询方法的装置、设备及存储介质等进行说明,其具体的实现过程以及技术效果参见上述,下述不再赘述。

附图说明

为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。

图1为本申请实施例提供的一种业务指标查询系统的架构示意图;

图2为本申请实施例提供的一种业务指标查询方法的流程示意图;

图3为本申请实施例提供的另一种业务指标查询方法的流程示意图;

图4为本申请实施例提供的又一种业务指标查询方法的流程示意图;

图5为本申请实施例提供的另一种业务指标查询方法的流程示意图;

图6为本申请实施例提供的又一种业务指标查询方法的流程示意图;

图7为本申请实施例提供的一种依赖关系拓扑图;

图8为本申请实施例提供的另一种业务指标查询方法的流程示意图;

图9为本申请实施例的一种业务指标查询装置的示意图;

图10为本申请实施例提供的一种电子设备的结构示意图。

具体实施方式

为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,应当理解,本申请中附图仅起到说明和描述的目的,并不用于限定本申请的保护范围。另外,应当理解,示意性的附图并未按实物比例绘制。本申请中使用的流程图示出了根据本申请的一些实施例实现的操作。应该理解,流程图的操作可以不按顺序实现,没有逻辑的上下文关系的步骤可以反转顺序或者同时实施。此外,本领域技术人员在本申请内容的指引下,可以向流程图添加一个或多个其他操作,也可以从流程图中移除一个或多个操作。

另外,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。

需要说明的是,本申请实施例中将会用到术语“包括”,用于指出其后所声明的特征的存在,但并不排除增加其它的特征。

首先,对本申请可能涉及的一些名词术语进行说明:

dw(datawarehouse,数据仓库):数据仓库保存的是数据在不同时间点的状态,对同一个数据信息,保留不同时间点的状态。

dwd(datawarehousedetail,数据仓库明细层):数据明细层,是业务层与数据仓库的隔离层,也是最接近数据源中数据的一层,数据源中的数据经过etl(extract-transform-load,数据抽取-转换-加载)后装入本层,这一层主要解决一些数据质量问题和数据的完整度问题。

dm(datemarket,数据主体层):数据主体层,是整合汇总成分析某一个主题域的服务数据,用于提供后续的业务查询服务。

kimball维度建模:一种数据仓库建模方法论,对具体业务区分事实与维度,建模过程分为:选择业务过程;声明粒度;确定维度;确定事实四大步骤。

查询指标:也即指下文中是业务指标,查询指标具有具体的业务含义,一般由需求方提出并设定。

基础指标:用来构成查询指标的具体元素比如查询指标x由基础指标a,b,c和d经过(a+b)*c/d运算得出,基础指标可能不具有单独的业务含义,所以一般也不会被直接查询。

图1为本申请实施例提供的一种业务指标查询系统的架构示意图,本申请下述所提供的业务指标查询方法应用于该业务指标查询系统中,该业务指标查询系统可包括:业务系统和任务处理系统,业务系统可包括客户端和业务数据库,客户端用于为用户提供交互,业务数据库中存储有业务系统的业务日志数据,任务处理系统可包括任务处理单元和数据库,任务处理单元可从业务系统的业务数据库中获取业务日志数据经过数据抽取、转换、存储至数据库中,数据库用于存储经由业务日志数据整合处理后所生成的基础指标数据。

用户基于客户端输入业务指标查询请求,任务处理单元根据业务指标查询请求从数据库中查询获取业务指标查询请求对应的基础指标数据返回给业务系统,业务系统根据基础指标数据计算得到待查询的业务指标,并通过客户端向用户展示查询结果。

如下将通过多个具体的实施例对上述业务指标查询系统中任务处理系统的搭建过程进行说明,基于搭建的任务处理系统,可以实现本申请的业务指标查询方法。

图2为本申请实施例提供的一种业务指标查询方法的流程示意图;该方法的执行主体可以是计算机或者是服务器等设备,如图2所示,该方法可包括:

s201、获取用户基于业务系统的客户端发起的业务指标查询请求,业务指标查询请求用于查询目标业务类型下目标业务状态的业务指标,业务指标查询请求包括:待查询业务指标。

业务指标通常是根据业务需求所设定的一些指标,业务指标一定程度上可用于评价业务系统的运营情况,量化业务状态。

可选地,用户可通过业务系统的客户端输入业务指标查询请求,其中,业务指标查询请求可包括:待查询业务指标、预设筛选条件。对于相同的待查询业务指标,在不同筛选条件下,对应的查询结果是不一样的,通过预设筛选条件可以更加精确的定位待查询业务指标,以获取较准确的查询结果。

可选地,由于不同的业务类型所对应的业务指标会存在不同,用户所发起的业务指标查询请求一般是对应于目标业务类型,而每个业务类型会存在多个业务状态,业务状态可以理解为业务阶段,以打车服务业务为例,可包括不同的业务状态:乘客发单、司机接单、订单执行、乘客评价等。又以游戏业务为例,业务状态可包括:玩家登录、玩家运行游戏、玩家充值等。用户所发起的业务指标查询请求可用于查询目标业务类型下目标业务状态下的业务指标,实现精细化的查询。

s202、从任务处理系统的数据库中调取业务指标查询请求对应的基础指标数据,基础指标数据对应的基础指标用于表征构成待查询业务指标的基础元素。

可选地,基于获取的业务指标查询请求,可从任务处理系统的数据库中预先存储的基础指标中查询得到业务指标查询请求对应的基础指标数据。

通常,业务指标是通过至少两个基础指标经过预设的计算公式计算得到的,以业务指标为:付费率为例,其可以是通过付费总人数和总人数两个基础指标进行除法运算得到。

s203、根据基础指标数据,确定待查询业务指标对应的业务指标数据。

可选地,基于上述查询获取的业务指标查询请求所对应的基础指标数据,可按照预先定义的业务指标与基础指标之间的计算公式,确定待查询业务指标对应的业务指标数据。

综上,本实施例提供的业务指标查询方法,包括:获取用户基于业务系统的客户端发起的业务指标查询请求,业务指标查询请求用于查询目标业务类型下目标业务状态的业务指标,业务指标查询请求包括:待查询业务指标;从任务处理系统的数据库中调取业务指标查询请求对应的基础指标数据,基础指标数据对应的基础指标用于表征构成待查询业务指标的基础元素;根据基础指标数据,确定待查询业务指标对应的业务指标数据。本方法中,通过在任务处理系统的数据库中直接存储构成业务指标的基础指标数据,以使得在计算业务指标时,可先根据业务指标查询请求从任务处理系统的数据库中查询得到基础指标数据,从而可根据业务指标与基础指标之间的关系,在业务系统层计算得到待查询的业务指标。相比于现有技术中,在任务处理系统的数据库中存储预先计算好的业务指标数据,从而根据查询请求直接获取对应的业务指标,本方案中,由于数据库中存储的是构成业务指标的基础指标数据,当业务系统需求变更,增加新的业务指标时,无需对数据库进行较大的改动,可通过从数据库中获取新增的业务指标对应的基础指标数据实时计算即可得到新增的业务指标数据,有效避免了数据库中直接存储业务指标,导致业务需求变动时,新增的业务指标查询不到的情况,有效提高了业务指标查询系统的可靠性,从而提高了在业务需求多变的情况下,业务指标查询的精确性。

图3为本申请实施例提供的另一种业务指标查询方法的流程示意图;可选地,步骤s202中,从任务处理系统的数据库中调取业务指标查询请求对应的基础指标数据,可以包括:

s301、根据待查询业务指标以及任务处理系统预先构建的业务指标与基础指标的依赖关系,确定待查询业务指标对应的目标基础指标。

在一些可实现的方式中,任务处理系统中预先构建了业务指标与基础指标的依赖关系,依赖关系用于表征业务指标所对应的基础指标,也即表征了用于构成业务指标的基础指标。

可选地,可根据业务指标查询请求中包含的待查询业务指标、按照业务指标与基础指标之间的依赖关系,确定待查询业务指标对应的基础指标。

s302、从任务处理系统的数据库中调取目标基础指标对应的基础指标数据,并将基础指标数据作为业务指标查询请求对应的基础指标数据。

可选地,可基础确定的定待查询业务指标对应的基础指标,从数据库中获取基础指标的基础指标数据,其中,基础指标数据也即基础指标对应的具体数值。获取的基础指标数据则作为业务指标查询请求对应的基础指标数据,用于计算得到待查询业务指标数据。

可选地,本申请方法中,在数据库存储基础指标,业务系统从任务处理系统获取基础指标数据进行业务指标的计算,业务指标是由业务系统层自行计算得出,业务指标的删改发生在业务系统层,并且新加的业务指标只有在基础指标组合不出的情况下才会重新添加新的计算任务和新的基础指标,数据库层变动小,存储稳定。

当业务需求变更需要增加新的业务指标,或者对原始指标的换算标准作出改动等,这些都可以根据数据库存储的基础指标在业务系统层方便地进行修改,并且基础指标可以复用,用于组合出新的业务指标。

当业务系统层的业务指标计算逻辑发生变动时,只需要修改业务系统层的逻辑即可,无需按照常规设计重算存储于数据库里的业务指标,业务开发更敏捷。

图4为本申请实施例提供的又一种业务指标查询方法的流程示意图;可选地,上述步骤中的任务处理系统可采用如下方式构建得到:

s401、构建目标业务类型下目标业务状态的业务指标。

可选地,可先确定目标类型下的目标业务状态,从而根据所确定的业务状态,构建该业务状态下的多个业务指标。其中,业务状态下的多个业务指标可以是根据业务需求所设计的,多个业务指标能够最大意义上的涵盖量化该业务状态的所有业务指标。

另外,可根据所构建的各业务指标,根据各业务指标的类型,将各业务指标划分为若干个主题领域,将各业务指标归类到对应的主题下。以游戏业务为例,主题领域可包括:游戏玩法、付费、玩家等,每种主题领域均代表一种主题分类,以便于在对应的主题领域下查询业务指标,提高业务指标查询的准确性。

s402、根据各业务指标,构建指标查询数据表模型,指标查询数据表模型用于指示按照预设的数据存储格式存储各业务指标对应的基础指标。

可选地,指标查询数据表模型也即用于存储基础指标的模型,通过构建指标查询数据表模型可以定义任务处理系统中数据库的数据存储类型和数据存储方式,也即数据库中所存储的数据按照所构建的指标查询数据表模型进行存储。

举例说明:假设基础指标为:累积支付,用户可能会在不同时刻查看累积支付,每次查看对计算机说都是一次计算,9点看到的累积支付跟10点累积支付是不一样的。若每次查询累积支付,均需要将数据源表中的所有支付金额加一遍,很耗费计算性能,通过设计指标查询数据表模型,可直接将累积支付这一基础指标存储至数据库中,从而在使用基础指标时,可直接从数据库中查询基础指标来使用。

s403、构建基础指标计算任务,基础指标计算任务用于根据基础指标与数据源表的依赖关系,计算得到基础指标对应的基础指标数据;数据源表根据目标业务类型的日志数据确定。

可选地,通过构建基础指标计算任务,可以利用构建好的基础指标计算任务,通过对业务系统的业务日志数据进行计算得到基础指标,也即,通过基础指标计算任务的构建,可确定各基础指标的具体计算方式,从而计算得到基础指标以存储在数据库中。

其中,数据源表是根据业务日志数据生成的,比如玩家登录游戏会生成登录日志,登录日志相关字段会加载进登录日志所对应的数据源表,玩家支付会生成支付日志,支付日志相关字段会加载进支付日志对应的数据源表。

基础指标的计算可以是根据业务日志数据计算得到,通过构建基础指标计算任务,按照基础指标与数据源表的依赖关系,可计算得到基础指标对应的基础指标数据。

s404、根据基础指标计算任务、以及指标查询数据表模型,构建任务处理系统。

可选地,按照上述所构建的基础指标计算任务、以及指标查询数据表模型,可构建得到任务处理系统,任务处理系统可按照基础指标计算任务,根据基础指标与数据源表的依赖关系,从而计算得到基础指标数据,按照指标查询数据表模型,可将计算得到的基础指标数据存储至数据库中,以在业务指标查询中实时调取基础指标数据。

可选地,基于本申请方法所构建的任务处理系统而得到的业务指标查询系统可以具有以下优点:

稳定:在数据库存储基础指标,业务指标由业务系统层自行计算得出,业务指标的删改发生在业务系统层,并且新加的业务指标只有在基础指标组合不出的情况下才会重新添加新的计算任务和新的基础指标,数据库层变动小,存储稳定。

扩展性好:当业务需求变更需要增加新的业务指标,或者对原始指标的换算标准作出改动等,这些都可以根据数据库存储的基础指标在业务系统层方便地进行修改,并且基础指标可以复用,用于组合出新的业务指标。

敏捷:当业务系统层的业务指标计算逻辑发生变动时,只需要修改业务系统层的逻辑即可,无需按照常规设计重算存储于数据库里的业务指标,业务开发更敏捷。

可选地,步骤s402中,根据各业务指标,构建指标查询数据表模型之前,本申请的方法还可包括:声明各业务指标对应的筛选条件,每个筛选条件对应一个存储字段。

可选地,声明筛选条件也可以理解为声明业务指标的展示最小粒度,例如:对于一个业务指标,它是属于某个游戏的某次测试的某天,那么游戏、测试id、日期的组合即为该业务指标的最小粒度。

可选地,每个筛选条件可纳入数据库的维度字段里,也即对应数据库中的一个存储字段,以使得在向数据库中存储基础指标数据时,可在每个存储字段下进行对应存储,以提高基础指标的查询效率。

图5为本申请实施例提供的另一种业务指标查询方法的流程示意图;可选地,步骤s402中,根据各业务指标,构建指标查询数据表模型,可以包括:

s501、按照预设的拆分条件,将各业务指标进行拆分,得到基础指标。

在上述步骤中以构建了业务指标,本实施例中,可按照预设的拆分条件,从各业务指标中拆分出不同的基础指标。

可选地,预设的拆分条件可以为:使得拆分得到的每一个基础指标可以由单一的数据源表经过过滤聚合计算得出。

s502、构建各业务指标与各基础指标的依赖关系。

在此之前,虽然可知道业务指标和基础指标均包括哪些,但是并不知道各业务指标与各基础指标之间的依赖关系,那么,则可构建每个业务指标所需的基础指标,构建各业务指标与基础指标之间的依赖关系。

s503、建立各基础指标与筛选条件的对应关系,得到指标查询数据表模型。

另外,在上述中已说明,各基础指标是对应存储在各筛选条件所在的存储字段下的,那么,还可建立各基础指标与筛选条件之间的对应关系,从而根据上述业务指标与基础指标之间的依赖关系、以及基础指标与筛选条件之间的依赖关系,得到指标查询数据表模型。

需要说明的是,将基础指标存储在筛选条件对应的存储字段下,可以高效且准确的获取到所需的基础指标,例如:基础指标为付费总人数,当用户输入的业务指标查询请求包括:待查询业务指标:付费率,筛选条件:1月20号,需要从数据库中获取的基础指标包括付费总人数,若未采用将基础指标对应存储在筛选条件下的存储方式,那么,从数据库中获取的付费总人数则可能为到目前为止的所有付费总人数,而并非为1月20号的付费总人数,这样,就会导致根据基础指标计算待查询业务指标时,计算结果出错。

可选地,基础指标对应的基础指标数据具有预设的数据格式,预设的数据格式包括:基础指标数据的指标命名格式、基础指标数据的数据格式。

在一种可实现的方式中,存储在数据库中的基础指标数据需要按照预设的数据格式进行存储,实现将指标定义规范化。

可选地,预设的数据格式可以包括:基础指标数据指标命名格式和基础指标数据的数据格式。具体可分为:同词同义,单位一致,结构化命名等几个方面。

其中,同词同义:表示占比的都统一描述成“占比”、“率”等带固定后缀的词汇。

单位一致:所有表示比率的需要统一单位,比如全部存储原始小数,或者全部存储成扩大100%之后的数值,这样在其他地方使用该基础指标的时候可以减少运算出错的几率。

结构化命名:统一基础指标的命名格式,比如领域_事件_具体含义,如recommend_success_payratio(举荐成功率),尽量表达出该基础指标的含义及其生成场景,减少用户理解成本。

当然,实际设计中,预设的数据格式不限于上述所列举的几种,也可以从其他方面设定格式需求。

图6为本申请实施例提供的又一种业务指标查询方法的流程示意图;图7为本申请实施例提供的一种依赖关系拓扑图。可选地,步骤s403中,构建基础指标计算任务,可以包括:

s601、构建各基础指标与数据源表的依赖关系,得到初始基础指标计算任务。

在一些实施例中,可先构建各基础指标与数据源表的依赖关系,明确每个基础指标经过怎样的过滤、聚合操作得出的,如图7所示,绘制数据源表到基础指标的拓扑排序图,每一步计算步骤都应封装成一个基础的任务节点,得到初始基础指标计算任务。

s602、根据依赖关系,优化初始基础指标计算任务,得到基础指标计算任务。

可选地,由于一些基础指标的计算任务是对应相同的数据源表的,那么,可将同一过滤,聚合粒度的指标的计算任务进行合并,优化整体计算任务作业流,得到基础指标计算任务。优化后的拓扑排序图同样可参照图7进行理解。通过优化基础指标计算任务,可以提高基础指标的计算效率,从而提高业务指标的计算效率。

图8为本申请实施例提供的另一种业务指标查询方法的流程示意图;可选地,步骤s601中,构建各基础指标与数据源表的依赖关系,得到初始基础指标计算任务,可以包括:

s801、确定各基础指标对应的基础计算元素。

s802、确定各基础计算元素所对应的数据源表。

可选地,基础指标的基础计算元素也即指构成基础指标的最小元素,以基础指标为玩家总人数来说,其对应的基础计算元素可以为人数,而人数可以是对应从记录游戏在线人数的数据源表中拉取,可根据数据源表中的一条条日志信息,确定玩家总人数。又以基础指标为付费总人数来说,其对应的基础计算元素可以为付费,可从付费所对应的游戏付费数据的数据源表中拉取每个玩家的付费数据,从而整合得到付费总人数等。

s803、构建各基础指标、与各基础指标对应的基础计算元素所对应的数据源表之间的依赖关系,得到初始基础指标计算任务。

可选地,基于上述分析,可确定基础指标与数据源表的依赖关系,从而得到初始基础指标计算任务。

可选地,步骤s602中,根据依赖关系,优化初始基础指标计算任务,得到基础指标计算任务,可以包括:根据依赖关系,将与同一数据源表具有依赖关系的不同基础指标计算任务进行合并,得到基础指标计算任务。

以图7所示的拓扑图为例,根据绘制得到的初始基础指标计算任务可以得出基础指标:付费总人数和付费总金额均对应相同的数据源表,也即均对应付费数据源表,那么,可以将付费总人数和付费总金额的计算任务进行整合,得到优化后的拓扑图。

例如:对于付费总人数和付费总金额的计算,若按照初始基础指标计算任务来计算,则需要分别通过两次数据读取,依次从付费数据源表中读取数据来分别计算付费总人数和付费总金额。而通过对初始基础指标计算任务进行优化,根据优化后的基础指标计算任务来计算,则可以将对付费总人数和付费总金额的计算任务进行合并,通过一次读取数据,完成对两个基础指标的计算,提高了计算效率。

综上,本申请实施例提供的业务指标查询方法,包括:获取用户基于业务系统的客户端发起的业务指标查询请求,业务指标查询请求用于查询目标业务类型下目标业务状态的业务指标,业务指标查询请求包括:待查询业务指标、以及预设筛选条件;从任务处理系统的数据库中调取业务指标查询请求对应的基础指标数据,基础指标数据对应的基础指标用于表征构成待查询业务指标的基础元素;根据基础指标数据,确定待查询业务指标对应的业务指标数据。本方法中,通过在任务处理系统的数据库中直接存储构成业务指标的基础指标数据,以使得在计算业务指标时,可先根据业务指标查询请求从任务处理系统的数据库中查询得到基础指标数据,从而可根据业务指标与基础指标之间的关系,在业务系统层计算得到待查询的业务指标。相比于现有技术中,在任务处理系统的数据库中存储预先计算好的业务指标数据,从而根据查询请求直接获取对应的业务指标,本方案中,由于数据库中存储的是构成业务指标的基础指标数据,当业务系统需求变更,增加新的业务指标时,无需对数据库进行较大的改动,可通过从数据库中获取新增的业务指标对应的基础指标数据实时计算即可得到新增的业务指标数据,有效避免了数据库中直接存储业务指标,导致业务需求变动时,新增的业务指标查询不到的情况,有效提高了业务指标查询系统的可靠性,从而提高了在业务需求多变的情况下,业务指标查询的精确性。

其次,在数据库存储基础指标,业务指标由业务系统层自行计算得出,业务指标的删改发生在业务系统层,并且新加的业务指标只有在基础指标组合不出的情况下才会重新添加新的计算任务和新的基础指标,数据库层变动小,存储稳定。

另外,当业务需求变更需要增加新的业务指标,或者对原始指标的换算标准作出改动等,这些都可以根据数据库存储的基础指标在业务系统层方便地进行修改,并且基础指标可以复用,用于组合出新的业务指标。

最后,当业务系统层的业务指标计算逻辑发生变动时,只需要修改业务系统层的逻辑即可,无需按照常规设计重算存储于数据库里的业务指标,业务开发更敏捷。

下述对用以执行本申请所提供的业务指标查询方法的装置、设备及存储介质等进行说明,其具体的实现过程以及技术效果参见上述,下述不再赘述。

图9为本申请实施例的一种业务指标查询装置的示意图,该业务指标查询装置实现的功能对应上述方法执行的步骤。可选地,该装置可包括:获取模块910、调取模块920、确定模块930;

获取模块910,用于获取用户基于业务系统的客户端发起的业务指标查询请求,业务指标查询请求用于查询目标业务类型下目标业务状态的业务指标,业务指标查询请求包括:待查询业务指标;

调取模块920,用于从任务处理系统的数据库中调取业务指标查询请求对应的基础指标数据,基础指标数据对应的基础指标用于表征构成待查询业务指标的基础元素;

确定模块930,用于根据基础指标数据,确定待查询业务指标对应的业务指标数据。

可选地,调取模块920,具体用于根据待查询业务指标以及任务处理系统预先构建的业务指标与基础指标的依赖关系,确定待查询业务指标对应的目标基础指标;从任务处理系统的数据库中调取目标基础指标对应的基础指标数据,并将基础指标数据作为业务指标查询请求对应的基础指标数据。

可选地,该装置还包括:构建模块;

构建模块,用于构建目标业务类型下目标业务状态的业务指标;

根据各业务指标,构建指标查询数据表模型,指标查询数据表模型用于指示按照预设的数据存储格式存储各业务指标对应的基础指标;构建基础指标计算任务,基础指标计算任务用于根据基础指标与数据源表的依赖关系,计算得到基础指标对应的基础指标数据;数据源表根据目标业务类型的日志数据确定;根据基础指标计算任务、以及指标查询数据表模型,构建任务处理系统。

可选地,该装置还包括:声明模块;

声明模块,用于声明各业务指标对应的筛选条件,每个筛选条件对应一个存储字段。

可选地,构建模块,具体用于按照预设的拆分条件,将各业务指标进行拆分,得到基础指标;构建各业务指标与各基础指标的依赖关系;建立各基础指标与筛选条件的对应关系,得到指标查询数据表模型。

可选地,基础指标对应的基础指标数据具有预设的数据格式,预设的数据格式包括:基础指标数据的指标命名格式、基础指标数据的数据格式。

可选地,构建模块,具体用于构建各基础指标与数据源表的依赖关系,得到初始基础指标计算任务;根据依赖关系,优化初始基础指标计算任务,得到基础指标计算任务。

可选地,构建模块,具体用于确定各基础指标对应的基础计算元素;确定各基础计算元素所对应的数据源表;构建各基础指标、与各基础指标对应的基础计算元素所对应的数据源表之间的依赖关系,得到初始基础指标计算任务。

可选地,构建模块,具体用于根据依赖关系,将与同一数据源表具有依赖关系的不同基础指标计算任务进行合并,得到基础指标计算任务。

上述装置用于执行前述实施例提供的方法,其实现原理和技术效果类似,在此不再赘述。

以上这些模块可以是被配置成实施以上方法的一个或多个集成电路,例如:一个或多个特定集成电路(applicationspecificintegratedcircuit,简称asic),或,一个或多个微处理器(digitalsingnalprocessor,简称dsp),或,一个或者多个现场可编程门阵列(fieldprogrammablegatearray,简称fpga)等。再如,当以上某个模块通过处理元件调度程序代码的形式实现时,该处理元件可以是通用处理器,例如中央处理器(centralprocessingunit,简称cpu)或其它可以调用程序代码的处理器。再如,这些模块可以集成在一起,以片上系统(system-on-a-chip,简称soc)的形式实现。

上述模块可以经由有线连接或无线连接彼此连接或通信。有线连接可以包括金属线缆、光缆、混合线缆等,或其任意组合。无线连接可以包括通过lan、wan、蓝牙、zigbee、或nfc等形式的连接,或其任意组合。两个或更多个模块可以组合为单个模块,并且任何一个模块可以分成两个或更多个单元。所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统和装置的具体工作过程,可以参考方法实施例中的对应过程,本申请中不再赘述。

需要说明的是,以上这些模块可以是被配置成实施以上方法的一个或多个集成电路,例如:一个或多个特定集成电路(applicationspecificintegratedcircuit,简称asic),或,一个或多个微处理器(digitalsingnalprocessor,简称dsp),或,一个或者多个现场可编程门阵列(fieldprogrammablegatearray,简称fpga)等。再如,当以上某个模块通过处理元件调度程序代码的形式实现时,该处理元件可以是通用处理器,例如中央处理器(centralprocessingunit,简称cpu)或其它可以调用程序代码的处理器。再如,这些模块可以集成在一起,以片上系统(system-on-a-chip,简称soc)的形式实现。

图10为本申请实施例提供的一种电子设备的结构示意图,该设备可以是具备数据处理功能的计算设备。

该设备可包括:处理器801、存储器802。

存储器802用于存储程序,处理器801调用存储器802存储的程序,以执行上述方法实施例。具体实现方式和技术效果类似,这里不再赘述。

其中,存储器802存储有程序代码,当程序代码被处理器801执行时,使得处理器801执行本说明书上述“示例性方法”部分中描述的根据本申请各种示例性实施方式的业务指标查询方法中的各种步骤。

处理器801可以是通用处理器,例如中央处理器(cpu)、数字信号处理器(digitalsignalprocessor,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现场可编程门阵列(fieldprogrammablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件,可以实现或者执行本申请实施例中公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。

存储器802作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块。存储器可以包括至少一种类型的存储介质,例如可以包括闪存、硬盘、多媒体卡、卡型存储器、随机访问存储器(randomaccessmemory,ram)、静态随机访问存储器(staticrandomaccessmemory,sram)、可编程只读存储器(programmablereadonlymemory,prom)、只读存储器(readonlymemory,rom)、带电可擦除可编程只读存储器(electricallyerasableprogrammableread-onlymemory,eeprom)、磁性存储器、磁盘、光盘等等。存储器是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。本申请实施例中的存储器802还可以是电路或者其它任意能够实现存储功能的装置,用于存储程序指令和/或数据。

可选地,本申请还提供一种程序产品,例如计算机可读存储介质,包括程序,该程序在被处理器执行时用于执行上述方法实施例。

在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。

上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(英文:processor)执行本申请各个实施例所述方法的部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(英文:read-onlymemory,简称:rom)、随机存取存储器(英文:randomaccessmemory,简称:ram)、磁碟或者光盘等各种可以存储程序代码的介质。

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