一种数据处理方法、数据处理装置、计算机设备及可读存储介质与流程

文档序号:16918896发布日期:2019-02-19 19:11阅读:161来源:国知局
一种数据处理方法、数据处理装置、计算机设备及可读存储介质与流程

本发明涉及计算机数据处理技术领域,具体涉及一种基于所述的基于vue.js、mysql和elasticsearch的报表数据处理方法、数据处理装置、计算机设备及可读存储介质。



背景技术:

企业的管理者为了能更好的了解企业的业务数据,及各类数据分布趋势及分布比例等。希望能够生成直观的数据图表,以便于能够直观的看到各种各样的企业活动数据的趋势以及统计数据,但是当前互联网时代下,企业所产生的数据量都几乎呈爆炸式增长,传统的关系型数据库能力已经捉襟见肘,在大量的数据存储以及查询、聚合都不能满足需要,因此为了解决大量数据的查、聚合以及通过查询聚合结果并通过各式报表来进行数据的可视化展示成了迫切需要。同时为了满足数据展示过程中各式数据统计及数据可视化展示需要,则要求所展示的报表能够根据需要进行灵活的配置和定义。所以如何提供一种能够具有普适性,能够满足各种展示需求的报表配置方法,是目前亟需解决的问题。



技术实现要素:

本发明提供一种基于vue.js、mysql和elasticsearch的报表数据处理方法、数据处理装置、计算机系统及可读存储介质,能够根据需要及逆行灵活的配置和定义,满足数据展示过程中各式数据统计及数据可视化展示需要。

本发明一实施例提供一种基于vue.js、mysql和elasticsearch的报表数据处理方法,包括:

同步存储在elasticsearch中报表元数据;

以vue.js形式配置报表页面;

存储配置好的报表至mysql数据库中;

利用elasticsearch的方式对报表数据进行处理。优选的,所述邮件自学习模型基线为时间与邮件安全性之间的函数曲线。

优选的,所述同步存储在elasticsearch中报表元数据,具体包括:

通过元数据同步模块将存储在elasticsearch中的数据的基本结构同步到数据库中。

优选的,所述数据的基本结构至少包括以下一种:elasticsearch索引名称,类型名称,字段名称,字段类型。

优选的,所述以vue.js形式配置报表页面,具体包括:

访问报表配置页面,加载第一同步的元数据到页面为报表配置提供基础数据;

配置报表基础信息;

配置报表筛选条件;

配置报表聚合条件。

优选的,所述利用elasticsearch的方式对报表数据进行处理,具体包括:

从mysql中读取配置好的报表信息;

封装配置好的报表的筛选条件和聚合条件;

生成所述报表的筛选条件对应的数据查询器和所述聚合条件对应的数据聚合器;

根据所述数据查询器和所述数据聚合其组装成elasticsearch查询请求,请求elasticsearch并对得到的返回结果进行的数据封装;

根据报表的具体配置信息将所述返回结果封装成符合要求的数据结构并返回最终结果;

将返回结果返回给前端交由浏览器通过vue.js集合第三方可视化插件展示或者生成相应的报表pdf文件。

本发明另一实施例提供基于vue.js、mysql和elasticsearch的报表数据处理装置,包括:

同步单元,用于同步存储在elasticsearch中报表元数据;

配置单元,用于以vue.js形式配置报表页面;

存储单元,用于存储配置好的报表至mysql数据库中;

处理单元,用于利用elasticsearch的方式对报表数据进行处理。

优选的,所述同步的单元,包括元数据同步模块,具体用于:

通过元数据同步模块将存储在elasticsearch中的数据的基本结构同步到数据库中。

优选的,所述数据的基本结构至少包括以下一种:elasticsearch索引名称,类型名称,字段名称,字段类型。

优选的,所述配置单元,具体包括:

加载模块,用于访问报表配置页面,加载第一同步的元数据到页面为报表配置提供基础数据;

第一配置模块,用于配置报表基础信息;

第二配置模块,用于配置报表筛选条件;

第三配置模块,用于配置报表聚合条件。

优选的,所述处理单元,具体包括:

读取模块,用于从mysql中读取配置好的报表信息;

封装模块,用于封装配置好的报表的筛选条件和聚合条件;

第一生成模块,用于生成所述报表的筛选条件对应的数据查询器和所述聚合条件对应的数据聚合器;

请求模块,用于根据所述数据查询器和所述数据聚合其组装成elasticsearch查询请求,请求elasticsearch并对得到的返回结果进行的数据封装;

数据返回模块,根据报表的具体配置信息将所述返回结果封装成符合要求的数据结构并返回最终结果;

第二生成模块,用于将返回结果返回给前端交由浏览器通过vue.js集合第三方可视化插件展示或者生成相应的报表pdf文件。

本发明另一实施例提供一种计算机设备,所述计算机设备包括处理器,所述处理器用于执行存储器中存储的计算机程序时实现如上述任意一项所述的基于vue.js、mysql和elasticsearch的报表数据处理方法。

本发明另一实施例提供一种计算机可读存储介质,其上存储有计算机程序(指令),其特征在于:所述计算机程序(指令)被处理器执行时实现如上述任意一项所述的基于vue.js、mysql和elasticsearch的报表数据处理方法。

针对大数据量的查、聚合以及通过查询聚合结果并通过各式报表来进行数据的可视化展示,以及数据展示过程中各式数据统计及数据可视化展示需要,本发明提供的基于所述的基于vue.js、mysql和elasticsearch的报表数据处理方法、数据处理装置、计算机设备及可读存储介质,能够在海量数据下能够快速、稳定、高效的将用户自定义的报表通过web进行可视化展示。

本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。

附图说明

此处所说明的附图用来提供对本发明的进一步理解,构成本发明的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:

图1为本发明一种基于vue.js、mysql和elasticsearch的报表数据处理方法一实施例;

图2为本发明一种基于vue.js、mysql和elasticsearch的报表数据处理方法另一实施例;

图3为本发明中基于基于vue.js、mysql和elasticsearch的报表数据处理方法模型示意图;

图4为本发明一种基于vue.js、mysql和elasticsearch的报表数据处理方法一实施例;

图5为本发明计算机设备实施例;

具体实施方式

以下结合说明书附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明,并且在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。

基于以上现有技术的不足,本发明实施例一提供一种基于vue.js、mysql和elasticsearch的报表数据处理方法,该方法包括:

步骤101:同步存储在elasticsearch中报表元数据;

步骤103:以vue.js形式配置报表页面;

步骤105:存储配置好的报表至mysql数据库中;

步骤107:利用elasticsearch的方式对报表数据进行处理。

本发明实施例分别借助了:vue.js简单小巧的核心,渐进式技术栈,足以应付任何规模的应用。同时vue只关注视图层,并且非常容易学习,非常容易与其它库或已有项目整合,可通过尽可能简单的api实现响应的数据绑定和组合的视图组件。因此采用vue.js在前端实现报表的定义与配置以及最后报表的可视化展示。

mysql则用于将报表定义数据以及配置数据进行持久化。由于报表的配置以及定义数据量是很少的,所以采用流行、开源、成本低的mysql数据库。

elasticsearch则用于企业所产生的海量数据的存储。elasticsearch天生是分布式的,它知道如何管理节点来提供高扩展和高可用,因此在大数据量下elasticsearch具有稳定、快速、强大的数据查询、聚合能力。而这些稳定、快速、强大的数据查询、聚合能力正是产生各种各样统计报表所需要的,因此采用elasticsearch进行数据存储。

针对大数据量的查、聚合以及通过查询聚合结果并通过各式报表来进行数据的可视化展示,以及数据展示过程中各式数据统计及数据可视化展示需要,本实施例提供的基于所述的基于vue.js、mysql和elasticsearch的报表数据处理方法、数据处理装置、计算机设备及可读存储介质,能够在海量数据下能够快速、稳定、高效的将用户自定义的报表通过web进行可视化展示。

本发明实施例1一种基于基于vue.js、mysql和elasticsearch的报表数据处理方法,所述步骤101中,通过元数据同步模块经存储在elasticsearch中的数据的基本结构同步到数据库中。主要信息包括elasticsearch索引名称(elasticsearch中index),类型名称(elasticsearch中type),字段名称,字段类型(elasticsearch中的字段存储类型)。

对于本领域技术人员来说,存储在elasticsearch中的数据的基本结构除了上述数据结构信息外,还包括其它字段其他字段酌情根据业务需要自行添加。

本发明实施例1公开的一种基于vue.js、mysql和elasticsearch的报表数据处理方法,相比于现有的报表数据处理方法,具有下列技术效果:

1.能够动态的对需要统计的数据进行报表的设计和配置。

2.通过vue.js实现配置页面,界面简洁、友好易上手。

3.具体的使用可根据需求对筛选条件封装组件、聚合条件封装组件、以及返回结果转换组件进行不断的扩展不断的丰富报表引擎支持的报表种类。

如附图2所示,本发明实施例二提供一种基于vue.js、mysql和elasticsearch的报表数据处理方法,包括:步骤201:通过元数据同步模块将存储在elasticsearch中的数据的基本结构同步到数据库中。

其中需要说明的是,通过元数据同步模块经存储在elasticsearch中的数据的基本结构同步到数据库中。主要信息包括elasticsearch索引名称(elasticsearch中index),类型名称(elasticsearch中type),字段名称,字段类型(elasticsearch中的字段存储类型),其他字段酌情根据业务需要自行添加。

步骤203:以vue.js形式配置报表页面;

需要说明的是,本实施例2步骤203具体包括:

步骤2031:浏览器中访问报表配置页面,加载第一步同步的元数据到页面为报表配置提供基础数据;

步骤2032:报表基础信息配置:

需要说明的是,报表基础信息配置至少包括报表名称、报表描述、报表类型(柱形图、折线图、饼图雷达图、数据列表等等)。

步骤2033:报表筛选条件配置(可多选)

需要说明的是,对于本领域技术人员来说,本实施例中筛选条件可以包括如下配置内容至少一种,同样包括了以下多种配置内容的随意组合:

筛选字段:将同步的元数据以下拉框的形式提供选择

筛选字段值:如果elasticsearch数据中该字段的存储在业务中可梳理为有限并且基本固定的值时,可通过下拉框展示,其他情况为输入框类型。

筛选类型:与elasticsearch中提供的筛选类型保持一致(terms、prefix、wildcard、range等等)

与其他筛选条件的关系:与elasticsearch中条件之间的关系类型保持一致(与:must;或should;非:mustnot)

步骤2034:报表聚合条件配置;

本实施例中,聚合条件主要配置内容可以包括如下至少一种或多种的任意组合:

筛选字段:将同步的元数据以下拉框的形式提供选择

聚合类型:与elasticsearch中提供的聚合类型保持一致(terms,datehistorgram,count等)

子聚合:如果有需要递归配置配子聚合的聚合字段和聚合类型。没有则不需要配置。

步骤2035:保存相应的报表到mysql。

本发明实施例中,mysql是一个关系型数据库管理系统,由瑞典mysqlab公司开发,目前属于oracle旗下产品。在web应用方面,mysql是最好的rdbms(relationaldatabasemanagementsystem,关系数据库管理系统)应用软件之一。mysql所使用的sql语言是用二、于访问数据库的最常用标准化语言。mysql软件由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择mysql作为网站数据库。

步骤204:存储配置好的报表至mysql数据库中。

需要说明的是,本发明实施例2中步骤204具体包括:

步骤2041:报表配置读取组件从mysql中读取配置好的报表信息;

步骤2042:筛选条件封装组件根据报表配置的所有的筛选条件以及筛选条件之间的关系并结合elasticsearch的查询(query)api对配置的筛选条件进行封装并生成对应的数据查询器。

步骤2043:聚合条件封装组件根据报表配置的所有的聚合条件以及聚合条件之间的关系并结合elasticsearch的聚合(aggregation)api对配置的聚合条件进行封装并生成对应的数据聚合器。

步骤2044:es返回结果封装组件将封装好的数据查询器和数据聚合器组装成elasticsearch查询请求,请求elasticsearch并对得到的返回结果进行简单的数据封装。

步骤2045:返回结果转换组件则根据报表的具体配置信息将返回结果封装成符合要求的数据结构并返回最终结果。

步骤2046:将返回结果返回给前端交由浏览器通过vue.js集合其他第三方可视化插件(echarts、antv等)展示或者生成相应的报表pdf文件。

另外需要说明的是,本发明实施例2中,步骤2045,返回结果的形式和内容,根据目标使用者的具体需求可以由开发人员自行选取和设置,并通过第三方可视化插件的功能部件来完成实现。此处的返回结果具体形式并不受到此实施例的描述而存在任何限制,实际环境中根据用户的需要,可自定义选取设置。

图3为本发明中基于基于vue.js、mysql和elasticsearch的报表数据处理方法模型示意图。

根据es中mapper的定以同步元数据,需要说明的是,在elasticsearch模型中,当创建索引或者使用putmappingapi操作时,mapper模块主要负责将类型映射的定义添加到索引上。同时也支持预先没有定义的动态映射类型。将同步的元数据存储到mysql,在mysql数据存储中,一方面从mysql中读取报表配置,其中包括读取报表配置组件,报表筛选条件封装组件,报表聚合条件封装组件,返回结果转换组件等;另一方面读取元数据给页面提供配置选择。随后通过浏览器将报表配置信息入库,其中报表配置信息包括,数据筛选条件,结果聚合字段,以及不同字段的聚合关系。

最后报表引擎从elasticsearch中根据筛选条件和聚合条件查询出结果,并根据返回结果转换组件转换为浏览器或pdf文件展示。

针对大数据量的查、聚合以及通过查询聚合结果并通过各式报表来进行数据的可视化展示,以及数据展示过程中各式数据统计及数据可视化展示需要,本发明例提供的基于所述的基于vue.js、mysql和elasticsearch的报表数据处理方法能够在海量数据下能够快速、稳定、高效的将用户自定义的报表通过web进行可视化展示。

本发明实施例三如图4所示,提供一种基于vue.js、mysql和elasticsearch的报表数据处理装置,包括:

同步单元301,用于同步存储在elasticsearch中报表元数据;

需要说明的是,本发明实施例中,所述同步的单元301,包括元数据同步模块,具体用于:

通过元数据同步模块将存储在elasticsearch中的数据的基本结构同步到数据库中。

所述数据的基本结构至少包括以下一种:elasticsearch索引名称,类型名称,字段名称,字段类型。

配置单元303,用于以vue.js形式配置报表页面;

需要说明的是,本发明实施例中,

配置单元303包括:

加载模块3031,用于访问报表配置页面,加载第一同步的元数据到页面为报表配置提供基础数据;

第一配置模块3032,用于配置报表基础信息;

第二配置模块3033,用于配置报表筛选条件;

第三配置模块3034,用于配置报表聚合条件。

存储单元305,用于存储配置好的报表至mysql数据库中;

处理单元307,用于利用elasticsearch的方式对报表数据进行处理。需要说明的是,本实施例中所述邮件自学习模型基线为时间与邮件安全性之间地函数曲线,所述邮件安全性为与邮件特征相关联的邮件安全值。

需要说明的是,本实施例中,处理单元307包括:读取模块3071,用于从mysql中读取配置好的报表信息;

封装模块3072,用于封装配置好的报表的筛选条件和聚合条件;

第一生成模块3073,用于生成所述报表的筛选条件对应的数据查询器和所述聚合条件对应的数据聚合器;

请求模块3074,用于根据所述数据查询器和所述数据聚合其组装成elasticsearch查询请求,请求elasticsearch并对得到的返回结果进行的数据封装;

数据返回模块3075,根据报表的具体配置信息将所述返回结果封装成符合要求的数据结构并返回最终结果;

第二生成模块3076,用于将返回结果返回给前端交由浏览器通过vue.js集合第三方可视化插件展示或者生成相应的报表pdf文件。

图5是本发明一实施方式提供的计算机设备的示意图。如图4所示,计算机设备1至少包括:处理器20、存储器30、存储在所述存储器30中并可在所述处理器20上运行的计算机程序40(例如数据处理方法的控制程序)。

其中,所述计算机设备1可以是智能手机、平板电脑、笔记本电脑,台式电脑,服务器电脑,个人数字助理等具有拍摄功能的计算机设备。本领域技术人员可以理解,所述示意图3仅仅是计算机设备1的示例,并不构成对计算机设备1的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述计算机设备1还可以包括输入输出设备、网络接入设备、总线等。

所述处理器20执行所述计算机程序40时实现上述基于vue.js、mysql和elasticsearch的报表数据处理方法的步骤,例如图1所示的基于vue.js、mysql和elasticsearch的报表数据处理方法的步骤、图2所示的基于vue.js、mysql和elasticsearch的报表数据处理方法的步骤。所述处理器20执行所述计算机程序40时实现上述各装置实施方式中各模块/单元,例如附图4中各个单元/模块的功能。

示例性的,所述计算机程序40可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器30中,并由所述处理器20执行,以完成本发明。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,所述指令段用于描述所述计算机程序40在所述终端1中的执行过程。例如,所述计算机程序40可以被分割成图3中的同步单元301,配置单元303,存储单元305,处理单元307,以及加载模块3031,第一配置模块3032,第二配置模块3033,第三配置模块3034,封装模块3072,第一生成模块3073,请求模块3074,数据返回模块3075,第二生成模块3076。各单元的具体功能请参见前面的具体介绍,为节省篇幅及避免重复起见,在此就不再赘述。

所称处理器20可以是中央处理单元(centralprocessingunit,cpu),还可以是其他通用处理器、数字信号处理器(digitalsignalprocessor,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现成可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者所述处理器20也可以是任何常规的处理器等,所述处理器20是所述基于vue.js、mysql和elasticsearch的报表数据处理方法的步骤/所述计算机设备的控制中心,利用各种接口和线路连接整个基于vue.js、mysql和elasticsearch的报表数据处理装置/计算机设备1的各个部分。

所述存储器30用于存储所述计算机程序40和/或模块/单元,所述处理器20通过运行或执行存储在所述存储器30内的计算机程序和/或模块/单元,以及调用存储在所述存储器30内的数据,实现所述基于vue.js、mysql和elasticsearch的报表数据处理装置/计算机设备1的各种功能。所述存储器30可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据计算机设备1的使用所创建的数据等。此外,所述存储器30可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(smartmediacard,smc),安全数字(securedigital,sd)卡,闪存卡(flashcard)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。

本发明实施例还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述实施方式中所述的基于vue.js、mysql和elasticsearch的报表数据处理方法的的步骤。

所述基于vue.js、mysql和elasticsearch的报表数据处理装置//计算机设备集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施方式方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,所述计算机程序在被处理器执行时,可实现上述各个方法实施方式的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读存储介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。

在本发明所提供的几个具体实施方式中,应该理解到,所揭露的计算机装置和方法,可以通过其它的方式实现。例如,以上所描述的计算机装置实施方式仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。

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

对于本领域技术人员而言,显然本发明实施例不限于上述示范性实施例的细节,而且在不背离本发明实施例的精神或基本特征的情况下,能够以其他的具体形式实现本发明实施例。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明实施例的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本发明实施例内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。系统、装置或终端权利要求中陈述的多个单元、模块或装置也可以由同一个单元、模块或装置通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。

最后应说明的是,以上实施方式仅用以说明本发明实施例的技术方案而非限制,尽管参照以上较佳实施方式对本发明实施例进行了详细说明,本领域的普通技术人员应当理解,可以对本发明实施例的技术方案进行修改或等同替换都不应脱离本发明实施例的技术方案的精神和范围。

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