一种可视化报表数据展示方法及装置与流程

文档序号:16918889发布日期:2019-02-19 19:11阅读:309来源:国知局
一种可视化报表数据展示方法及装置与流程

本说明书实施例涉及互联网应用技术领域,尤其涉及一种可视化报表数据展示方法及装置。



背景技术:

数据库被广泛应用于数据存储与管理,而基于数据库中的数据构建的报表,可以用于对数据进行分析。可视化报表是指通过表格、图表等可视化图表的方式,来动态显示数据的报表。可视化报表的数据展示页面通常设置有参数选项,通过选择不同的参数可以展示不同的数据,例如,假设参数为日期,数据为交易量与顾客量,则选择某一日期(参数值)后,页面中便可以通过表格、图表等形式展示当日的交易量与顾客量(该参数值对应的数据)。此外,可视化报表的数据展示页面中还可以根据数据库中数据的更新而动态地显示实时数据。

现有技术中,展示数据前构建可视化报表时,通常首先确定需要构建的报表所包括的参数类别与数据类别,例如,参数类别可以为日期与城市,数据类别可以为交易量、顾客量等。然后根据所包括的参数类别与数据类别,对应地设计表数据结构,并在数据库中创建数据表及参数索引。构建报表后,若用户变更了页面中的参数值,如选择了具体的日期与城市,则可以根据所创建的参数索引,查找日期与城市的参数值均满足的数据进行展示。而如果需要调整报表所包括的参数类别与数据类别,则可能需要重新设计与创建数据表,并为调整后的各个参数类别重新创建用于快速查找的索引。

因此,基于现有技术,需要更高效的可视化报表数据展示方案。



技术实现要素:

针对上述技术问题,本说明书实施例提供一种可视化报表数据展示方法及装置,技术方案如下:

一种可视化报表数据展示方法,该方法包括:

在接收到数据展示请求的情况下,根据预先构建可视化报表的多维索引,获得该数据展示请求指定的参数值对应的数据;

根据预设的可视化报表模型,展示所获得的数据;

其中,构建可视化报表的方法包括:根据接收到的可视化报表构建指令,确定需要构建的可视化报表中包括的参数类别与数据类别;在数据库的预设通用表中,确定所述参数类别与数据类别对应的参数列与数据列,并获得为所述参数列预先创建的多维索引;其中,在所述通用表中,每个参数类别对应一个参数列,每个数据类别对应一个数据列,每个多维索引为基于至少2个参数列创建的索引。

一种可视化报表数据展示装置,该装置包括:

数据获取模块,用于在接收到数据展示请求的情况下,根据预先构建可视化报表的多维索引,获得该数据展示请求指定的参数值对应的数据;

数据展示模块,用于根据预设的可视化报表模型,展示所获得的数据;

所述装置还包括报表构建模块,包括:类别确定子模块,用于根据接收到的可视化报表构建指令,确定需要构建的可视化报表中包括的参数类别与数据类别;索引获取子模块,用于在数据库的预设通用表中,确定所述参数类别与数据类别对应的参数列与数据列,并获得为所述参数列预先创建的多维索引;其中,在所述通用表中,每个参数类别对应一个参数列,每个数据类别对应一个数据列,每个多维索引为基于至少2个参数列创建的索引。

本说明书实施例所提供的技术方案,预先在数据库中创建可满足不同报表的不同数据需求的通用表,通用表中包括多个预先创建的参数列与数据列,以及为各个参数列预先创建的多维索引,因而当需要构建可视化报表时,只需要在通用表中确定所需要的参数列、数据列及参数列的多维索引,便可以在接收到数据展示请求时,直接根据多维索引获取并展示数据。预先创建的通用表构建报表时,并不需要专门地设计对应的表数据结构,并且若报表的参数类别发生变动也不需要重新设计,因此通过具有复用性的通用表,提高了可视化报表数据展示的效率。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本说明书实施例。

此外,本说明书实施例中的任一实施例并不需要达到上述的全部效果。

附图说明

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

图1是本说明书实施例的一种可视化报表示意图;

图2是本说明书实施例的可视化报表数据展示方法的流程示意图;

图3是本说明书实施例的可视化报表构建方法的流程示意图;

图4是本说明书实施例的可视化报表数据展示装置的结构示意图;

图5是用于配置本说明书实施例装置的一种设备的结构示意图。

具体实施方式

为了使本领域技术人员更好地理解本说明书实施例中的技术方案,下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行详细地描述,显然,所描述的实施例仅仅是本说明书的一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员所获得的所有其他实施例,都应当属于保护的范围。

可视化报表中一般包括表格、图表等内容,从而可以以可视化的形式展现数据信息,利于用户更直观地获取关键信息、进行数据分析。从广泛的扁平化图表如折线图、饼状图、条形图,堆积条形图等,到高级的三维可交互的图表,或是功能性的热点图、gis地图等都是常见的可视化图表形式。

如图1所示,是以曲线图形式展现的可视化报表。该报表中包括2种参数,即省市与日期,并且包括3种数据,即时间、pv(pageview,页面浏览量)及uv(uniquevisitor,页面访客量)。通过选择不同的参数值,即选择不同的省市与日期,可以动态地展示对应的数据信息,即展示该省市该日在各个时间点的pv及uv曲线图。

此外,随着数据库中数据的更新,报表中的数据信息也可以实时更新。例如,如果日期选择的是本日,则在17:00时页面展示的曲线图可以如图1所示,而在19:00后页面展示的曲线图还可以包括18:00与19:00的数据。

不同的可视化报表一般通过不同的参数类别与数据类别,展示不同的数据信息,在需要通过可视化报表进行数据分析时,首先需要确定该报表中所包括的参数类别与数据类别,从而设计底层数据在数据库中存储的表数据结构。

以需要构建图1的报表为例,首先确定参数类别为省市、日期2个,数据类别为时间、pv、uv3个,因此可以确定数据库中该报表对应的数据表中,需要包括2个参数列及3个数据列。然后,为了提高数据查找效率,满足即时分析的需求,还需要为2个参数列建立索引,以便在指定了省市与日期参数值的情况下,可以迅速地查找到对应的3种数据。

根据报表中的参数类别与数据类别设计表数据结构后,可以在数据库中建立数据表及参数列的索引,从而实现可视化报表的构建。构建可视化报表后,通过选择页面中各参数的值,便可以通过索引快速查找与调用对应的数据,生成表格、图表等展现在页面中。

根据上面所述流程可以看出,针对不同的可视化报表,由于其参数类别、数据类别及所需要的索引不同,需要分别设计底层数据存储所用的表数据结构,此外,如果已构建报表中的参数类别需要修改,至少还需要重新建立索引。

因此,基于现有技术,可视化报表构建与数据展示效率较低,并且多种表数据结构增加了维护难度。

针对上述技术问题,本说明书实施例提供一种可视化报表数据展示方法,参见图2所示,该方法可以包括以下步骤:

s201,在接收到数据展示请求的情况下,根据预先构建可视化报表的多维索引,获得该数据展示请求指定的参数值对应的数据;

本说明书实施例中,对可视化报表的表数据结构进行了抽象,从而设计并创建了用于存储不同报表底层数据的通用表。构建可视化报表时可以直接使用通用表存储底层数据,并且在进行数据展示中可以直接使用通用表的多维索引,获取选定参数值对应的数据进行展示,从而提高了构建可视化报表与数据展示的效率。

本说明书实施例的通用表,可以包括n列参数列与m列数据列。每列参数列可以对应一种参数类别,每列数据列可以对应一种数据类别。在未构建可视化报表前,通用表可以为未存储数据的空表,也可以预先存储较为可能会用于构建可视化报表的底层数据。

数据库中可以预先创建1个通用表,则n与m需要采取较大的数值,以满足较多可视化报表对于参数列与数据列的需求,构建可视化列表时便可以根据参数种类与数据种类的情况,确定对应的参数列与数据列。

数据库中也可以预先创建多个通用表,并预估不同可视化报表对参数列与数据列的需求,预先创建n与m分别取不同数值的通用表,例如,可以预先创建多个包括2列参数列、5列数据列的通用表,多个包括5列参数列、10列数据列的通用表,多个包括5列参数列、20列数据列的通用表,等等。构建可视化列表时便可以根据参数种类与数据种类的情况,确定对应的通用表及参数列、数据列。

本说明书实施例中,研发人员可以根据实际需求设定n与m的取值、以及预先创建的通用表的数量,并且,还可以在实际应用中根据需求调整,本说明书对此不做限定。

此外,在进行可视化报表的数据展示时,通过参数列的索引可以实现快速查找,从而进行即时分析,因此本说明书实施例中,创建一个或多个包括n列参数列与m列数据列的通用表后,还为n列参数列建立多维索引。

可以理解的是,所建立的多维索引越全面,则应用于可视化报表的数据查询时效率越高。例如,可以为通用表的每2列参数列建立1个二维索引,则当通用表的任意2列对应某一可视化报表的2个参数类别时,便可以直接使用预先为这2列建立的二维索引查询数据,而当某一可视化报表包括3个参数类别时,则数据查询时需要使用为对应的3列参数列预先两两建立的3个二维索引,或至少其中的2个二维索引查询数据并取交集,其效率可能低于直接为3列参数列建立三维索引后查询数据。

因此,可以为通用表中的各列参数列建立较为全面的多维索引,例如,如果某通用表中包括4列参数列,则可以分别建立6个二维索引、4个三维索引及1个四维索引,从而为不同可能的可视化报表提供高效的数据查询。

另一方面,建立较为全面的多维索引将增大索引量,因此,本领域技术人员可以根据实际情况灵活地建立多维索引,本说明书实施例不进行限定。

例如,可以在n取值较小的情况下,建立较为全面的多维索引,而在n取值较大的情况下,仅建立二维、三维索引,等等。

此外,不同数据库如mysql、oracle、sqlserver等,所支持的索引类型不同,例如,mysql数据库可以支持btree索引、哈希索引、全文索引等类型,本说明书实施例不对建立索引的具体类型进行限定。

基于预先设计并创建的通用表,如图3所示,本说明书实施例方案中,预先构建可视化报表的方法可以包括:

s301,根据接收到的可视化报表构建指令,确定需要构建的可视化报表中包括的参数类别与数据类别;

s302,在数据库的预设通用表中,确定所述参数类别与数据类别对应的参数列与数据列,并获得为所述参数列预先创建的多维索引;

如前面所述,预先创建的通用表可以是空表、也可以存入可能用于构建可视化报表的底层数据,对应地,在确定参数类别与数据类别对应的参数列与数据列时,可以首先检查通用表中是否已存入该参数类别或数据类别的数据,若是则可以在进行数据展示时直接调用数据,若否则需要确定空闲的参数列与数据列存入数据。

在本说明书的一种实施方式中,可以首先根据所述参数类别的数目,得到对应的参数列数n;根据所述数据类别的数目,得到对应的数据列数m;其中,n、m均为正整数;然后,在数据库的预设通用表中,将已创建多维索引的空闲n列确定为本次构建可视化报表的参数列,将未创建多维索引的空闲m列确定为本次构建可视化报表的数据列;最后,将本次构建可视化报表的若干条数据写入所确定的参数列与数据列。

如前面所述,预先创建的通用表可以为一个也可以为若干个,因此,作为一个例子,可以为所需要构建的某个可视化报表,确定对应的1个通用表,具体地,可以首先在数据库预设的若干通用表中,将任一符合预设条件的空闲通用表,确定为本次构建可视化报表的目标通用表;所述预设条件为:目标通用表的预设参数列数不小于n,目标通用表的预设数据列数不小于m;然后,将目标通用表中的n列参数列确定为本次构建可视化报表的参数列;将目标通用表中的n列数据列确定为本次构建可视化报表的数据列。

为了提高通用表的利用率,在将任一符合预设条件的空闲通用表,确定为本次构建可视化报表的目标通用表时,还可以进一步比较n与n、m与m的数值关系,将符合预设条件的空闲通用表中,参数列数和/或数据列数最小的任一空闲通用表,确定为本次构建可视化报表的目标通用表。

此外,数据库单表一般存在最大记录条数的限制,因此在预先创建通用表时,可以创建多个n与m取值相同的通用表,并在将本次构建可视化报表的若干条数据写入所确定的参数列与数据列时,判断所述目标通用表中的是否存在空闲记录条数;若否,则在数据库预设的若干通用表中,将任一符合所述预设条件的空闲通用表,确定本次构建可视化报表的第二目标通用表,所述第二目标通用表用于继续写入本次构建可视化报表的数据。

预先构建可视化报表后,在接收到数据展示请求时,便可以根据所构建可视化报表的多维索引,获得请求指定的参数值对应的数据。

s202,根据预设的可视化报表模型,展示所获得的数据;

可视化报表模型具体地,可以预先设定采用表格、二维图形、三维图形等等形式展示,也可以设定采用静态或动态的形式展示,还可以就线条、色彩等进行设定,等等,本说明书对预设的可视化报表模型不做限定。

下面结合一个更为具体的实例,对本说明书提供的可视化报表数据展示方法进行说明。

假设用户需要基于可视化报表,分析某网页中不同省市不同日期,在各个时间段的页面浏览量pv与页面访客量uv。

首先,可以构建可视化报表。确定参数类别为省市与日期,数据类别为时间、pv与uv,从而在数据库的预设通用表中,确定对应空闲的2列参数列与3列数据列。将底层数据写入所确定的参数列与数据列,并获得预先对2列参数列创建的二维索引。

其次,可以设定可视化报表模型,如采用曲线图形式,纵轴为数量,横轴为时间,pv曲线采用红色,uv曲线采用蓝色,等等。

用户可以通过点击可视化报表展示页面的按钮,选择2个参数的参数值,如省市选择北京、日期选择2018-02-11,并触发数据展示请求。接收到数据展示请求后,便可以根据上述二维索引,在通用表存储的底层数据中定位到上述参数值对应的数据。获得这些数据,并根据上述预设的可视化报表模型,展示所获得的数据,展示结果可以如图1所示。

可见,应用上述方案,当需要基于可视化报表分析数据时,可以直接基于预先创建的通用表构建可视化报表,并通过多维索引快速查找到数据进行展示,提高了可视化报表数据展示的效率。

相应于上述方法实施例,本说明书实施例还提供一种可视化报表数据展示装置,参见图4所示,该装置可以包括:

数据获取模块120,用于在接收到数据展示请求的情况下,根据预先构建可视化报表的多维索引,获得该数据展示请求指定的参数值对应的数据;

数据展示模块130,用于根据预设的可视化报表模型,展示所获得的数据;

所述装置还包括报表构建模块110,包括:类别确定子模块111,用于根据接收到的可视化报表构建指令,确定需要构建的可视化报表中包括的参数类别与数据类别;索引获取子模块112,用于在数据库的预设通用表中,确定所述参数类别与数据类别对应的参数列与数据列,并获得为所述参数列预先创建的多维索引;其中,在所述通用表中,每个参数类别对应一个参数列,每个数据类别对应一个数据列,每个多维索引为基于至少2个参数列创建的索引。

在本说明书提供的一种具体实施方式中,所述索引获取子模块112,可以包括:

列数确定单元,用于根据所述参数类别的数目,得到对应的参数列数n;根据所述数据类别的数目,得到对应的数据列数m;其中,n、m均为正整数;

报表列确定单元,用于在数据库的预设通用表中,将已创建多维索引的空闲n列确定为本次构建可视化报表的参数列,将未创建多维索引的空闲m列确定为本次构建可视化报表的数据列;

数据写入单元,用于将本次构建可视化报表的若干条数据写入所确定的参数列与数据列。

在本说明书提供的一种具体实施方式中,所述报表列确定单元,可以包括:

通用表确定子单元,用于在数据库预设的若干通用表中,将任一符合预设条件的空闲通用表,确定为本次构建可视化报表的目标通用表;所述预设条件为:目标通用表的预设参数列数不小于n,目标通用表的预设数据列数不小于m;

报表列确定子单元,用于将目标通用表中的n列参数列确定为本次构建可视化报表的参数列;将目标通用表中的n列数据列确定为本次构建可视化报表的数据列。

在本说明书提供的一种具体实施方式中,所述数据写入单元,具体可以用于:

判断所述目标通用表中的是否存在空闲记录条数;若否,则在数据库预设的若干通用表中,将任一符合所述预设条件的空闲通用表,确定本次构建可视化报表的第二目标通用表,所述第二目标通用表用于继续写入本次构建可视化报表的数据。

在本说明书提供的一种具体实施方式中,所述通用表确定子单元,具体可以用于:

将符合预设条件的空闲通用表中,参数列数和/或数据列数最小的任一空闲通用表,确定为本次构建可视化报表的目标通用表。

上述装置中各个模块的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。

本说明书实施例还提供一种计算机设备,其至少包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,处理器执行所述程序时实现前述的可视化报表数据展示方法。该方法至少包括:

在接收到数据展示请求的情况下,根据预先构建可视化报表的多维索引,获得该数据展示请求指定的参数值对应的数据;

根据预设的可视化报表模型,展示所获得的数据;

其中,构建可视化报表的方法包括:根据接收到的可视化报表构建指令,确定需要构建的可视化报表中包括的参数类别与数据类别;在数据库的预设通用表中,确定所述参数类别与数据类别对应的参数列与数据列,并获得为所述参数列预先创建的多维索引;其中,在所述通用表中,每个参数类别对应一个参数列,每个数据类别对应一个数据列,每个多维索引为基于至少2个参数列创建的索引。

图5示出了本说明书实施例所提供的一种更为具体的计算设备硬件结构示意图,该设备可以包括:处理器1010、存储器1020、输入/输出接口1030、通信接口1040和总线1050。其中处理器1010、存储器1020、输入/输出接口1030和通信接口1040通过总线1050实现彼此之间在设备内部的通信连接。

处理器1010可以采用通用的cpu(centralprocessingunit,中央处理器)、微处理器、应用专用集成电路(applicationspecificintegratedcircuit,asic)、或者一个或多个集成电路等方式实现,用于执行相关程序,以实现本说明书实施例所提供的技术方案。

存储器1020可以采用rom(readonlymemory,只读存储器)、ram(randomaccessmemory,随机存取存储器)、静态存储设备,动态存储设备等形式实现。存储器1020可以存储操作系统和其他应用程序,在通过软件或者固件来实现本说明书实施例所提供的技术方案时,相关的程序代码保存在存储器1020中,并由处理器1010来调用执行。

输入/输出接口1030用于连接输入/输出模块,以实现信息输入及输出。输入输出/模块可以作为组件配置在设备中(图中未示出),也可以外接于设备以提供相应功能。其中输入设备可以包括键盘、鼠标、触摸屏、麦克风、各类传感器等,输出设备可以包括显示器、扬声器、振动器、指示灯等。

通信接口1040用于连接通信模块(图中未示出),以实现本设备与其他设备的通信交互。其中通信模块可以通过有线方式(例如usb、网线等)实现通信,也可以通过无线方式(例如移动网络、wifi、蓝牙等)实现通信。

总线1050包括一通路,在设备的各个组件(例如处理器1010、存储器1020、输入/输出接口1030和通信接口1040)之间传输信息。

需要说明的是,尽管上述设备仅示出了处理器1010、存储器1020、输入/输出接口1030、通信接口1040以及总线1050,但是在具体实施过程中,该设备还可以包括实现正常运行所必需的其他组件。此外,本领域的技术人员可以理解的是,上述设备中也可以仅包含实现本说明书实施例方案所必需的组件,而不必包含图中所示的全部组件。

本说明书实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现前述的可视化报表数据展示方法。该方法至少包括:

在接收到数据展示请求的情况下,根据预先构建可视化报表的多维索引,获得该数据展示请求指定的参数值对应的数据;

根据预设的可视化报表模型,展示所获得的数据;

其中,构建可视化报表的方法包括:根据接收到的可视化报表构建指令,确定需要构建的可视化报表中包括的参数类别与数据类别;在数据库的预设通用表中,确定所述参数类别与数据类别对应的参数列与数据列,并获得为所述参数列预先创建的多维索引;其中,在所述通用表中,每个参数类别对应一个参数列,每个数据类别对应一个数据列,每个多维索引为基于至少2个参数列创建的索引。

计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitorymedia),如调制的数据信号和载波。

通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本说明书实施例可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本说明书实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本说明书实施例各个实施例或者实施例的某些部分所述的方法。

上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。

本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,在实施本说明书实施例方案时可以把各模块的功能在同一个或多个软件和/或硬件中实现。也可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。

以上所述仅是本说明书实施例的具体实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本说明书实施例原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本说明书实施例的保护范围。

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