一种业务数据汇总的辅助方法、装置及电子设备
技术领域
本申请实施例涉及数据汇总技术领域,尤其涉及一种业务数据汇总的辅助方法、装置及电子设备。
背景技术
现有的数据汇总方式是以预先在数据表上设置的强字段作为汇总字段,基于汇总脚本汇总具有相同强字段的表项。这种方式缺灵活性,不同汇总维度涉及的强字段差异较大,强字段不同汇总脚本的汇总字段也需要改变,因此针对不同汇总维度的汇总,需要修改汇总脚本的代码,对于用户来讲十分不便捷,且汇总效率也较低。
有鉴于此,如何不修改汇总脚本的代码,实现不同汇总维度的汇总,是本申请所要解决的技术问题。
发明内容
本申请实施例目的是提供一种业务数据汇总的辅助方法、装置及电子设备,能够不修改汇总脚本的代码,实现不同汇总维度的汇总。
为了实现上述目的,本申请实施例是这样实现的:
第一方面,提供一种业务数据汇总的辅助方法,包括:
确定目标业务场景对应的至少一种配置维度,所述至少一种配置维度用于作为所述目标业务场景的汇总维度;
获取所述至少一种配置维度在所述目标业务场景对应的业务数据表中的字段;
基于所述至少一种配置维度在所述目标业务场景对应的业务数据表中的字段,在所述业务数据表配置汇总字段,汇总字段值基于所述至少一种配置维度在业务数据表中对应的字段值确定,所述至少一种配置维度在业务数据表中不同的字段值对应于不同的汇总字段值。
第二方面,提供了一种电子设备,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行:
确定目标业务场景对应的至少一种配置维度,所述至少一种配置维度用于作为所述目标业务场景的汇总维度;
获取所述至少一种配置维度在所述目标业务场景对应的业务数据表中的字段;
基于所述至少一种配置维度在所述目标业务场景对应的业务数据表中的字段,在所述业务数据表配置汇总字段,汇总字段值基于所述至少一种配置维度在业务数据表中对应的字段值确定,所述至少一种配置维度在业务数据表中不同的字段值对应于不同的汇总字段值。
第三方面,提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如下步骤:
确定目标业务场景对应的至少一种配置维度,所述至少一种配置维度用于作为所述目标业务场景的汇总维度;
获取所述至少一种配置维度在所述目标业务场景对应的业务数据表中的字段;
基于所述至少一种配置维度在所述目标业务场景对应的业务数据表中的字段,在所述业务数据表配置汇总字段,汇总字段值基于所述至少一种配置维度在业务数据表中对应的字段值确定,所述至少一种配置维度在业务数据表中不同的字段值对应于不同的汇总字段值。
第四方面,提供了一种业务数据汇总的辅助装置包括:
确定模块,确定目标业务场景对应的至少一种配置维度,所述至少一种配置维度用于作为所述目标业务场景的汇总维度;
获取模块,获取所述至少一种配置维度在所述目标业务场景对应的业务数据表中的字段
配置模块,基于所述至少一种配置维度在所述目标业务场景对应的业务数据表中的字段,在所述业务数据表配置汇总字段,汇总字段值基于所述至少一种配置维度在业务数据表中对应的字段值确定,所述至少一种配置维度在业务数据表中不同的字段值对应于不同的汇总字段值。
由以上本申请实施例提供的技术方案可见,本申请实施例为业务数据表配汇总字段,汇总字段值由业务场景对应的配置维度的字段值决定。这种方式下,汇总字段值体现出业务场景的配置特性,不同汇总字段值对应有不同配置的业务场景,相比于强字段来讲,泛用性更强,汇总脚本基于业务数据表中的汇总字段即可实现对不同配置的业务场景的汇总,由于不需要再修改汇总脚本的代码,因此汇总效率得到了有效提升,对于用户来讲更加便捷。此外,汇总字段是数据表中已有字段间的映射结果,因此可以线上完成配置,不会影响业务系统的正常工作。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请实施例中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的业务数据汇总的辅助方法的流程示意图;
图2为本申请实施例提供的业务数据汇总的辅助方法的详细流程示意图;
图3为本申请实施例提供的电子设备的硬件结构示意图;
图4为本申请实施例提供的业务数据汇总的辅助装置的逻辑结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请中的技术方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
如前所述,现有数据的汇总方法是以预先在数据表设置的强字段作为汇总字段,基于汇总脚本进行汇总。由于不同汇总维度涉及的强字段差异较大,强字段不同汇总脚本的汇总字段也需要改变,因此针对不同汇总场景的汇总,需要修改汇总脚本的代码,对于用户来讲十分不便捷,且汇总效率也较低。有鉴于此,本申请旨在不修改汇总脚本的代码的前提下,提出一种对不同汇总维度汇总的技术方案。
图1是本申请的一个实施例业务数据汇总的辅助方法的流程图。图1的方法可由业务数据汇总的辅助装置执行。该方法可包括:
步骤102,确定目标业务场景对应的至少一种配置维度,该至少一种配置维度用于作为目标业务场景的汇总维度;
应理解,业务场景的配置维度可以是提前确定得到的,本申请实施例并不对业务场景的配置维度作具体限定。
比如,本申请实施例的目标业务场景为支付业务场景,则配置维度可以但不限于是:产品码、支付渠道、支付进程识别码。
步骤104,获取上述至少一种配置维度在目标业务场景对应的业务数据表中的字段;
应理解,配置维度在目标业务场景对应的业务数据表中的字段为该配置维度的具体参数。
还是以支付业务场景为例,若支付业务场景为线上支付,则支付渠道在对应的业务数据表中的字段可以不限于是:网银支付、余额支付、积分支付。
步骤106,基于上述至少一种配置维度在目标业务场景对应的业务数据表中的字段,在业务数据表配置汇总字段,汇总字段值基于上述至少一种配置维度在业务数据表中对应的字段值确定,上述至少一种配置维度在业务数据表中不同的字段值对应于不同的汇总字段值;
应理解,目标业务场景对应汇总字段的值,可作为对目标业务场景进行汇总的汇总条件。
本申请实施例为业务数据表配汇总字段,汇总字段值由业务场景对应的配置维度的字段值决定。这种方式下,汇总字段值体现出业务场景的配置特性,不同汇总字段值对应有不同配置的业务场景,相比于强字段来讲,泛用性更强,汇总脚本基于业务数据表中的汇总字段即可实现对不同配置的业务场景的汇总,由于不需要再修改汇总脚本的代码,因此汇总效率得到了有效提升,对于用户来讲更加便捷。此外,汇总字段是数据表中已有字段间的映射结果,因此可以线上完成配置,不会影响业务系统的正常工作。需要说明的是,本申请实施例并不对汇总字段的实现方式作具体限定。
作为其中一种可行方案,汇总字段为根据上述至少一种配置维度在业务数据表中对应的字段进行逻辑计算的计算字段。
示例性地,假设原始的业务数据表如下所示:
业务 |
配置维度a |
配置维度b |
配置维度c |
业务1 |
a<sub>1</sub> |
b<sub>1</sub> |
c<sub>1</sub> |
业务2 |
a<sub>2</sub> |
b<sub>2</sub> |
c<sub>2</sub> |
…… |
…… |
…… |
…… |
业务n |
a<sub>n</sub> |
NA |
c<sub>n</sub> |
表一
根据表一可以知道,原始的业务数据表当前的配置维度有a、b、c三种,数据库中的业务数据有n个,对应业务1至业务n。
其中,配置维度b不适用于业务n,以字段值以NA表示。
在以计算字段配置汇总字段后,业务数据表如下所示:
业务 |
配置维度a |
配置维度b |
配置维度c |
汇总字段 |
业务1 |
a<sub>1</sub> |
b<sub>1</sub> |
c<sub>1</sub> |
a<sub>1</sub>&b<sub>1</sub>&c<sub>1</sub> |
业务2 |
a<sub>2</sub> |
b<sub>2</sub> |
c<sub>2</sub> |
a<sub>2</sub>&b<sub>2</sub> |
…… |
…… |
…… |
…… |
…… |
业务n |
a<sub>n</sub> |
NA |
c<sub>n</sub> |
a<sub>n</sub>&c<sub>n</sub> |
表二
针对表二介绍如下。
“a1&b1&c1”为业务1对应的计算字段,表示该计算字段为业务1在配置维度a、b、c下的取值a1、b1、c1经逻辑计算后获得。
“a2&b2”为业务2对应的计算字段,表示该计算字段为业务2在配置维度a、b下的取值a2、b1经逻辑计算后获得。
“an&cn”为业务n对应的计算字段,表示该计算字段为业务n在配置维度a、b下的取值an、bn经逻辑计算后获得。
其中,不同业务涉及计算汇总字段值的配置维度是预先根据实际需求定义的,表二中的内容仅用于说明。
显然,表二中的各个计算字段对应有不同配置的业务场景,也就是说,在不修改汇总脚本的代码前提下,通用汇总字段可实现不同汇总维度的汇总。
需要说明的是,本申请实施例并不对逻辑计算作具体限定,任何能够基于上述至少一种配置维度在业务数据表中对应的字段,确定计算字段的方法都可以适用于本申请实施例的技术方案。
作为另一种可行方案,汇总字段值也可以是由至少一种配置维度在业务数据表中对应的字段值进行逻辑计算的计算结果。
即,本申请实施例配置汇总字段后,在业务数据表所在的数据库中构建存储过程,存储过程用于根据数据记录针对上述至少一种配置维度在业务数据表中对应的字段值进行逻辑计算,并将计算结果写入数据记录对应的汇总字段中。
比如,本申请实施例计算字段可以包括:根据散列算法对上述至少一种配置维度在业务数据表中对应的字段进行编译得到的字段标识,则对应的业务数据表可以如下所示:
表三
针对表三介绍如下。
group_id1表示根据散列算法对配置维度a1、b1、c1进行编译获得的字段标识;
group_id2表示根据经散列算法对配置维度a2&b2进行编译获得的字段标识;
group_id3表示根据经散列算法对配置维度an&cn进行编译获得的字段标识。
可以看出,基于散列算法,可以将不同语言表达方式的配置维度的字段值统一编译成标识进行表示,从而简化业务数据表的内容。
同理,表三中的各个字段标识group_id对应有不同配置的业务场景,也就是说,在不修改汇总脚本的代码前提下,通用汇总字段可实现不同汇总维度的汇总。
同理,本申请实施例也不对散列算法作具体限定,只要散列算法编译到的字段标识满足碰撞概率的要求即可。作为示例性介绍,常见的散列算法,比如开放定址算法、分离链算法和消息摘要算法等均可以适用于本申请实施例的技术方案。
此外,在上述基础之上,还可以进一步在汇总字段中加入根据既定规则所确定到的时间戳标识,以降低不通业务的汇总字段值的碰撞概率,对应的业务数据表可以如下所示:
表四
针对表四介绍如下。
time1为业务1相关的时间戳标识,time1可以是业务1相关的时间信息所确定得到,比如业务1录入数据库的时间信息、为业务1配置汇总字段的时间信息等;
time2为业务2相关的时间戳标识,time2可以是业务2相关的时间信息所确定得到,比如业务2录入数据库的时间信息、为业务2配置汇总字段的时间信息等;
timen为业务n相关的时间戳标识,timen可以是业务n相关的时间信息所确定得到,比如业务n录入数据库的时间信息、为业务n配置汇总字段的时间信息等。
同理,表三中的各个”time&group_id”对应有不同配置的业务场景,也就是说,在不修改汇总脚本的代码前提下,通用汇总字段可实现不同汇总维度的汇总。
在汇总字段配置完成后,本申请实施例基于该目标业务场景的汇总字段实现对目标业务场景的数据汇总。
比如,基于目标业务场景对应的汇总查询,构建汇总查询语句。之后,执行构建的到汇总查询语句,即可实现汇总。
具体地,汇总查询语句可以是group by包括上述汇总字段的结构化查询语言(Structured Query Language,SQL)中的语句。
以基于表三中的汇总字段汇总目标业务场为例,假设汇总目标业务场景需要配置维度a和配置维度b;其中,配置维度a具体参数为a2,配置维度b具体参数为b2;
通过散列算法,对a2和b2编译,得到group_id2,之后执行group by为group_id2的SQL语句即可实现汇总,得到业务2的数据。
此外,本申请实施例的汇总字段还可以是若字段,甚至可以是中间过程结果等,由于汇总原理相同,本文不再举例赘述。
进一步地,如图2所示,本申请实施例的辅助方法的执行流程可以包括:
接收针对目标应用场景的配置请求。
根据配置请求,确定目标应用场景预先定义的配置维度,以及目标应用场景在配置维度下的字段。
根据目标应用场景对应配置维度的字段,确定字符串。
根据散列算法,将字符串编译为汇总标识。
在业务数据表配置中配置包括汇总标识的汇总字段。
下面结合实际应用,对图2所示的流程进行详细介绍。
假设本实际应用中的目标业务场景为一面对面支付业务场景,则对应的流程如下:
接收针对面对面支付业务场景的配置请求。
获取配置请求所携带的用于指示面对面支付业务场景的配置维度的信息,配置维度包括支付进程识别码、产品码以及付渠道,以及支付进程识别码、产品码以及付渠道在面对面支付业务场景对应的业务数据表中的字段。
对应字段包括:支付进程识别码=2088123456,产品码=FACE_TO_FACE_PAYMENT,支付渠道=xx。
根据支付进程识别码=2088123456,产品码=FACE_TO_FACE_PAYMENT,支付渠道=xx,确定字符串“2088123456FACE_TO_FACE_PAYMENT xx”。
基于消息摘要算法md5(一种散列算法)对字符串“2088123456FACE_TO_FACE_PAYMENT xx”进行编译,得到汇总标识group_id。
为业务数据表配置汇总字段的表项,并将业务数据针对面对面支付业务场景的表格中写入group_id。
在需要进行业务汇总时,执行SQL语句实现面支付业务场景的数据汇总。作为示例介绍,SQL语句的结果可以包括:
select(显示字段)sum(汇总相关属性)from(表格名称)where(查询条件)groupby(group_id)。
以上是对本申请实施例的辅助方法的介绍,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明所述原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
比如,本申请实施例还可以基于视图实现汇总。
即,本申请实施例基于上述至少一种配置维度在业务数据表中对应的字段,构建业务数据表对应的视图。
其中,一种视图可以对应有一个或至少两个业务场景,每个业务场景均具有各自的对应汇总字段的取值。
本申请实施例可以将目标业务场景对应的汇总查询语句,转化为对视图的目标汇总查询语句,应理解的是,该目标汇总查询语句用于以汇总字段进行视图的分组汇总。
图3是本申请的一个实施例电子设备的结构示意图。请参考图3,在硬件层面,该电子设备包括处理器,可选地还包括内部总线、网络接口、存储器。其中,存储器可能包含内存,例如高速随机存取存储器(Random-Access Memory,RAM),也可能还包括非易失性存储器(non-volatile memory),例如至少1个磁盘存储器等。当然,该电子设备还可能包括其他业务所需要的硬件。
处理器、网络接口和存储器可以通过内部总线相互连接,该内部总线可以是ISA(Industry Standard Architecture,工业标准体系结构)总线、PCI(PeripheralComponent Interconnect,外设部件互连标准)总线或EISA(Extended Industry StandardArchitecture,扩展工业标准结构)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图3中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
存储器,用于存放程序。具体地,程序可以包括程序代码,所述程序代码包括计算机操作指令。存储器可以包括内存和非易失性存储器,并向处理器提供指令和数据。
处理器从非易失性存储器中读取对应的计算机程序到内存中然后运行,在逻辑层面上形成业务数据汇总的辅助装置。处理器,执行存储器所存放的程序,并具体用于执行以下操作:
确定目标业务场景对应的至少一种配置维度,所述至少一种配置维度用于作为所述目标业务场景的汇总维度;
获取所述至少一种配置维度在所述目标业务场景对应的业务数据表中的字段;
基于所述至少一种配置维度在所述目标业务场景对应的业务数据表中的字段,在所述业务数据表配置汇总字段,汇总字段值基于所述至少一种配置维度在业务数据表中对应的字段值确定,所述至少一种配置维度在业务数据表中不同的字段值对应于不同的汇总字段值。
上述如本申请图1所示实施例揭示的业务数据汇总的辅助方法可以应用于处理器中,或者由处理器实现。处理器可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital SignalProcessor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。
该电子设备还可执行图1的方法,并实现业务数据汇总的辅助装置在图1、图2所示实施例的功能,本申请实施例在此不再赘述。
本申请实施例的电子设备为业务数据表配汇总字段,汇总字段值由业务场景对应的配置维度的字段值决定。这种方式下,汇总字段值体现出业务场景的配置特性,不同汇总字段值对应有不同配置的业务场景,相比于强字段来讲,泛用性更强,汇总脚本基于业务数据表中的汇总字段即可实现对不同配置的业务场景的汇总,由于不需要再修改汇总脚本的代码,因此汇总效率得到了有效提升,对于用户来讲更加便捷。此外,汇总字段是数据表中已有字段间的映射结果,因此可以线上完成配置,不会影响业务系统的正常工作。
当然,除了软件实现方式之外,本申请的电子设备并不排除其他实现方式,比如逻辑器件抑或软硬件结合的方式等等,也就是说以下处理流程的执行主体并不限定于各个逻辑单元,也可以是硬件或逻辑器件。
本申请实施例还提出了一种计算机可读存储介质,该计算机可读存储介质存储一个或多个程序,该一个或多个程序包括指令,该指令当被包括多个应用程序的便携式电子设备执行时,能够使该便携式电子设备执行图1所示实施例的方法,并具体用于执行以下方法:
确定目标业务场景对应的至少一种配置维度,所述至少一种配置维度用于作为所述目标业务场景的汇总维度;
获取所述至少一种配置维度在所述目标业务场景对应的业务数据表中的字段;
基于所述至少一种配置维度在所述目标业务场景对应的业务数据表中的字段,在所述业务数据表配置汇总字段,汇总字段值基于所述至少一种配置维度在业务数据表中对应的字段值确定,所述至少一种配置维度在业务数据表中不同的字段值对应于不同的汇总字段值。
应理解,上述指令当被包括多个应用程序的便携式电子设备执行时,能够使该便携式电子设备实现业务数据汇总的辅助装置在图1、图2所示实施例的功能,本申请实施例在此不再赘述。
图4是本申请的一个实施例业务数据汇总的辅助装置400的结构示意图,包括:
确定模块410,确定目标业务场景对应的至少一种配置维度,所述至少一种配置维度用于作为所述目标业务场景的汇总维度;
获取模块420,获取所述至少一种配置维度在所述目标业务场景对应的业务数据表中的字段
配置模块430,基于所述至少一种配置维度在所述目标业务场景对应的业务数据表中的字段,在所述业务数据表配置汇总字段,汇总字段值基于所述至少一种配置维度在业务数据表中对应的字段值确定,所述至少一种配置维度在业务数据表中不同的字段值对应于不同的汇总字段值。
本申请实施例的辅助装置为业务数据表配汇总字段,汇总字段值由业务场景对应的配置维度的字段值决定。这种方式下,汇总字段值体现出业务场景的配置特性,不同汇总字段值对应有不同配置的业务场景,相比于强字段来讲,泛用性更强,汇总脚本基于业务数据表中的汇总字段即可实现对不同配置的业务场景的汇总,由于不需要再修改汇总脚本的代码,因此汇总效率得到了有效提升,对于用户来讲更加便捷。此外,汇总字段是数据表中已有字段间的映射结果,因此可以线上完成配置,不会影响业务系统的正常工作。
可选地,所述汇总字段为根据所述至少一种配置维度在业务数据表中对应的字段进行逻辑计算的计算字段。
可选地,所述配置模块430具体用于:
配置汇总字段;
在所述业务数据表所在的数据库中构建存储过程,所述存储过程用于根据数据记录针对所述至少一种配置维度在业务数据表中对应的字段值进行逻辑计算,并将计算结果写入所述数据记录对应的所述汇总字段中。
可选地,所述计算字段包括:
根据散列算法对所述至少一种配置维度在业务数据表中对应的字段进行编译得到的字段标识;
或,
根据散列算法对所述至少一种配置维度在业务数据表中对应的字段进行编译得到的字段标识以及根据既定规则确定到的时间戳标识。
可选地,所述散列算法包括以下至少一者:
开放定址算法、分离链算法和消息摘要算法。
可选地,基于所述目标业务场景对应的汇总查询,构建汇总查询语句,所述汇总查询语句基于所述汇总字段进行汇总。
可选地,所述汇总查询语句为group by包括所述汇总字段的结构化查询语言的语句。
可选地,所述辅助装置还包括:
构建模块,基于所述至少一种配置维度在业务数据表中对应的字段,构建所述业务数据表对应的视图,所述视图包括所述汇总字段。
显然,本申请实施例的业务数据汇总的辅助装置可执行图1的方法,并实现该方法在图1、图2所示实施例的功能,本申请实施例在此不再赘述。
本领域技术人员应明白,本说明书的实施例可提供为方法、系统或计算机程序产品。因此,本说明书可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本说明书可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
以上仅为本说明书的实施例而已,并不用于限制本说明书。对于本领域技术人员来说,本说明书可以有各种更改和变化。凡在本说明书的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本说明书的权利要求范围之内。