一种数据可视化系统及实现方法与流程

文档序号:18009823发布日期:2019-06-25 23:52阅读:466来源:国知局
本发明属于数据处理领域,具体地说,涉及一种数据可视化系统及实现方法。
背景技术
::数据可视化,本质上是将前端用户的交互操作,解析转化为机器可识别可执行的数据查询语言与计算脚本,同时需要满足如下几点要求:1、支持基础的聚合运算,如求合计、最大/小、标准差、方差;2、支持高级的窗口运算函数,如求同比环比、二八分析、差异分析;3、支持高级算法嵌入,如聚类、回归、关联、模糊评价等算法4、支持查询逻辑的优化、保障运算性能5、支持各类数据源的接入,不局限于数据库,也支持json、xml等;6、能够屏蔽数据源间的差异,为客户建立统一的计算框架;目前有类似的技术存在,如chartsql等,同类技术目前能够实现根据用户操作语义,如将数据字段a,放置在x轴,字段b放置在y轴,根据数据的角色,映射到sql模板,(如selecta,sum(b)fromtablexgroupbyx)生成简单数据查询语句。但是上述数据可视化技术,需要覆盖从获取数据、计算数据、展现数据等过程,其中,数据的计算,单纯依靠sql是远远不够的,而以chartsql为例,主要存在如下问题:1、聚合运算,如求标准差、方差,chartsql对于部分数据库无法支持。2、对于不支持sql的数据源(如文件、数据服务),chartsql无法使用。3、对于复杂的窗口运算函数和高级算法,chartsql无法支持;4、对于生成的查询语句,查询性能无法保障。以上这些缺点,使得用户在使用chartsql时受到了较大的限制,降低了技术组件与产品的灵活度,应用场景覆盖度不足,为用户带来的巨大的应用成本。技术实现要素:为了解决现有技术存在的不足,克服现有chartsql数据库对于复杂数据算法不支持,不能实现可视化的缺点,为实现上述目的,本发明提供了一种数据可视化系统,包括:可视化设计组件,被配置成用于生成可视化数据包,所述可视化数据包括目标数据与图形,所述目标数据与图形在系统后台建立映射关系,所述目标数据为系统经转化之后的数据;可视化界面,用于显示可视化设计组件的的数据包。在本发明一个优选实施例中,所述可视化设计组件包括元数据管理引擎以及数据计算任务管理引擎,所述元数据管理引擎将录入的原始数据自动拆解为元数据,并同时进行存储及管理;所述数据计算任务管理引擎获得录入的查询指令后,并将查询指令生成若干任务,所述部分任务从所述元数据管理引擎对应调用部分元数据,所述部分元数据处理成目标数据。在本发明一个优选实施例中,所述可视化设计组件还包括数据计算引擎,所述数据计算引擎将调用的部分元数据一次转换为数据库认可的计算机语言,并将所述计算机语言排序或/和处理,所述排序或/和处理后的计算机语言二次转换为目标数据。在本发明一个优选实施例中,所述可视化设计组件还包括数据虚拟化网格,所述数据虚拟化网格分别用于存储每一个任务在计算过程中的元数据或/和计算机语言或/和目标数据。在本发明的一个优选实施例中,所述数据计算引擎设置有api接口,所述api接口用于载入算法模块。一种数据可视化实现方法,包括以下步骤:步骤一、系统获得输入指令,并将输入指令通过数据计算任务管理引擎转换为若干任务;步骤二、获取完成步骤一任务所需要数据的元数据信息并发送至步骤一种的数据计算任务管理引擎中;步骤三、所述数据计算任务管理引擎将若干任务进行分解成任务流,所述任务流分别回传至数据查询构建器、数据计算引擎以及数据格式化引擎;步骤四、所述数据查询构建器将获得的元数据信息和任务流信息构建生成计算机语言;步骤五、所述数据计算引擎将所述计算机语言进行二次加工以形成目标数据;步骤六、将所述目标数据映射到图形的各类视觉通道中,并以图形化形式展现。在本发明的一个优选实施例中,所述元数据信息包括但不限于元数据的逻辑模型、物理模型、技术属性和管理属性。在本发明的一个优选实施例中,所述计算机语言为标准sql语句。在本发明的一个优选实施例中,所述步骤三至步骤六中数据处理产生的中间数据通过数据虚拟化网格存储。与现有技术相比,本发明的有益效果是:1)将数据计算任务进行分层、分级,解决了以往过度依赖sql运算的局面,能够适应较为复杂的数据计算逻辑;2)屏蔽数据库差异,能够实现不同数据源的统一的计算函数、异常处理(如各个数据库对标准差、方差的计算差异,以及不同数据库的函数支持),降低了开发的难度,统一了用户感知;3)通过sql优化机制、内存计算网格技术的引入,支持分布式的节点扩展,将大量复杂的计算在内存中处理,有效解决了以往sql执行效率低下,计算性能不足的问题;4)通过该技术方案的设计,将各模块组件职能进行拆解,降低了架构的耦合度,具有了更好更加灵活的扩展性(如后续需要增加新的算法与运算逻辑,都可方便的集成),同时,也能通过计算引擎的扩展api,实现与第三方计算工具(如r、python)的集成扩展。附图说明图1为本发明的工作原理框图。具体实施方式下面结合附图所示的各实施方式对本发明进行详细说明,但应当说明的是,这些实施方式并非对本发明的限制,本领域普通技术人员根据这些实施方式所作的功能、方法、或者结构上的等效变换或替代,均属于本发明的保护范围之内。实施例1:在本实施方式中,一种数据可视化系统,包括:可视化设计组件,被配置成用于生成可视化数据包,所述可视化数据包括目标数据与图形,所述目标数据与图形在系统后台建立映射关系,所述目标数据为系统经转化之后的数据;可视化界面,用于显示可视化设计组件的的数据包;可视化界面作为整个外部数据的展现界面,在实际使用过程中,可视化设计组件作为本方案的核心数据处理构建,建立数据与图形展示的模块。在本方案中,可视化设计组件采用数据可视化引擎进行操作,数据可视化引擎用于格式化目标数据,实现目标数数据与图形映射的引擎;该引擎负责结合图形信息、将数据进行格式化转化与处理,建立查询主题与图形视觉通道(如大小、标记、颜色、x、y)的映射关系,为后续的图形渲染生成提供最终的输入。是计算流水线中的最终输出环节。进一步地,上述可视化设计组件包括元数据管理引擎以及数据计算任务管理引擎,所述元数据管理引擎将录入的原始数据自动拆解为元数据,并同时进行存储及管理;所述数据计算任务管理引擎获得录入的查询指令后,并将查询指令生成若干任务,所述部分任务从所述元数据管理引擎对应调用部分元数据,所述部分元数据处理成目标数据。具体地,元数据管理引擎:用于组织、存储、管理当前数据模型的元数据信息。同时,也用于管理当前查询主题模型的元数据。因此,元数据管理引擎属于整体技术方案的模型存储器与核心记忆体。数据计算任务管理引擎:用于生成、管理数据计算任务流。该引擎将可视化的计算过程进行分层,生成、管理数据查询、数据计算、数据格式化的计算任务,同时,负责任务流的调度、与监控。从这个意义上讲,计算任务管理引擎,是整体技术方案的核心中枢系统。可视化设计组件还包括数据计算引擎,所述数据计算引擎将调用的部分元数据一次转换为数据库认可的计算机语言,并将所述计算机语言排序或/和处理,所述排序或/和处理后的计算机语言二次转换为目标数据。数据计算引擎设置有api接口,所述api接口用于载入算法模块。具体地,用于集成数据、二次计算、高级分析的计算引擎;该引擎对外提供计算服务,负责对查询后的数据,进行集成、排序、筛选、二次汇总、窗口计算、参数运算、多网格跨层级运算、预警计算、高级算法运算。是计算流水线中的核心环节。在上述数据计算任务管理引擎处理与数据计算引擎处理之间还连接有数据模型查询构建器,其用于生成、优化数据模型查询语言的解析引擎。该内置查询语法规则解析、执行计划树生成、执行语法优化等组件,对外提供查询语句构建、优化服务。该构建器能够有效屏蔽数据库差异,主体负责收集、获取第一级的汇总数据的获取。从这个意义上讲,数据查询构建器,是计算流水线的第一个环节。可视化设计组件还包括数据虚拟化网格,所述数据虚拟化网格分别用于存储每一个任务在计算过程中的元数据或/和计算机语言或/和目标数据。其作为临时计算数据寄存器;用于存储每一个查询主题在计算过程中的数据,为下一步的计算提供输入。该技术组件基于内存计算技术、以apachecalcite为核心,实现内存数据的压缩存储、快速索引。是计算流水线的基础核心。本方案中的计算机语言为标准sql语句,便于通用化处理。实施例2:请参图1所示,图1为本发明的一种数据可视化实现方法,包括以下步骤:步骤一、系统获得输入指令,并将输入指令通过数据计算任务管理引擎转换为若干任务;步骤二、获取完成步骤一任务所需要数据的元数据信息并发送至步骤一种的数据计算任务管理引擎中;元数据信息包括但不限于元数据的逻辑模型、物理模型、技术属性和管理属性。步骤三、所述数据计算任务管理引擎将若干任务进行分解成任务流,所述任务流分别回传至数据查询构建器、数据计算引擎以及数据格式化引擎;步骤四、所述数据查询构建器将获得的元数据信息和任务流信息构建生成计算机语言;步骤五、所述数据计算引擎将所述计算机语言进行二次加工以形成目标数据;步骤六、将所述目标数据映射到图形的各类视觉通道中,并以图形化形式展现。其中步骤三至步骤六中数据处理产生的中间数据通过数据虚拟化网格存储。具体地如图1,主要流程与机制描述如下:计算任务引擎在接受到用户的查询计算请求后:a)将由元数据管理引擎负责三个模型的管理,(1)待分析的数据模型的元数据管理;(2)用户操作语义模型的管理;(3)分析计算过程模型的管理。通过该引擎,首先将收集与整理该任务涉及到的数据模型元数据信息(包括逻辑模型、物理模型、技术属性、管理属性),提交发送到数据计算任务管理引擎中;b)根据元数据与查询语义,数据计算任务管理引擎进行映射,构建、分解计算任务流(pipline),通过xml等格式文件完成对任务流的定义,分解至查询构建器、计算引擎、格式化引擎进行批次处理。c)数据模型查询构建器根据输入的元数据信息、数据源信息,以服务的方式提供系统内部的查询语句构建功能,该服务借助语法规则,构建语句过程逻辑如下:1)首先将操作模型中的操作和dvl中图形段和图形数据段行对应,图形段代表了用户的对图形类型以及对应图形显示基本参数的定义,例如:显示为饼图,并且标题为“某某单位销售额分布”,图形数据段代表了用户对该图形的数据显示方式的定义,例如:x轴显示销量数据,y轴显示区域名称等;2)然后根据用户选择的数据源,表,字段,条件,构建出dvl中的数据段,即抽取该数据所需的标准sql语句。3)根据权限信息,调整生成动态参数,控制数据权限。4)根据生成的语法树进行sql优化与压缩。——提供具体的生成sql过程。d)完成数据的查询获取后,将数据返回存储在存储网格中,启用数据压缩机制,降低数据存储的占用空间。数据计算引擎则负责开始对数据进行二次加工,主要包括如下内容:1)集成多个查询语句构建形成新的数据集,实现异构数据融合;2)根据操作语义,对数据进行排序、过滤。3)根据操作语义,对数据进行属性计算与缺失值、异常值处理;4)如果用户启用了占比、差异等高级计算模式,则在内存中进行数据的寻址与二次计算。5)如果用户启用了高级算法,则使用引擎中内置的算法模块,进行聚类、回归等算法计算。6)如果用户启用了条件格式、参考线等计算,则根据语义生成新的系列;e)数据引擎计算完成后将数据存储在网格中,由格式化引擎对数据进行调整,将数据格式、数据进行行列转化、数据集拆分、同时将数据字段映射到图形的各类视觉通道中,以满足数据展现的需求。与现有技术相比,本发明的有益效果是:1)将数据计算任务进行分层、分级,解决了以往过度依赖sql运算的局面,能够适应较为复杂的数据计算逻辑;2)屏蔽数据库差异,能够实现不同数据源的统一的计算函数、异常处理(如各个数据库对标准差、方差的计算差异,以及不同数据库的函数支持),降低了开发的难度,统一了用户感知;3)通过sql优化机制、内存计算网格技术的引入,支持分布式的节点扩展,将大量复杂的计算在内存中处理,有效解决了以往sql执行效率低下,计算性能不足的问题;4)通过该技术方案的设计,将各模块组件职能进行拆解,降低了架构的耦合度,具有了更好更加灵活的扩展性(如后续需要增加新的算法与运算逻辑,都可方便的集成),同时,也能通过计算引擎的扩展api,实现与第三方计算工具(如r、python)的集成扩展。上文所列出的一系列的详细说明仅仅是针对本发明的可行性实施方式的具体说明,它们并非用以限制本发明的保护范围,凡未脱离本发明技艺精神所作的等效实施方式或变更均应包含在本发明的保护范围之内。对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化囊括在本发明内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此外,应当理解,虽然本说明书按照实施方式加以描述,但并非每个实施方式仅包含一个独立的技术方案,说明书的这种叙述方式仅仅是为清楚起见,本领域技术人员应当将说明书作为一个整体,各实施例中的技术方案也可以经适当组合,形成本领域技术人员可以理解的其他实施方式。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1