通用的实时更新多维数据可视化系统及方法与流程

文档序号:19155412发布日期:2019-11-16 00:41阅读:402来源:国知局
本发明涉及数据可视化
技术领域
:,特别涉及一种通用的实时更新多维数据可视化系统及方法。
背景技术
::随着不同领域的多维数据不断产生,针对这些多维数据的可视化系统也越来越成熟。其中有针对医学领域的传染病数据提出的传染病可视化系统,能够综合考虑传染病数据的多维时空特性,可有效帮助用户挖掘传染病传播的时空模式,快速寻找传染病暴发时间节点和空间分布转移事件,从而更好地进行预防、把控和分析。还有针对图书馆的流通数据,提出融合反馈思想的图书采访改进模式,通过对数据的多维分析,总结读者借阅规律,大幅度满足用户需求。更有将多维数据应用到城市规划系统中,通过解析地质数据来综合评估城市给类建设用地性质。多维数据催生了以上这些系统,但多维数据随时间不断变化的特性导致了系统无法实时变换已经制作好的图表,因此涌现了很多的实时更新技术,目前针对多维数据和可视化图表的实时更新技术主要有以下几种方式:(1)页面定时刷新:客户端打开连接,发送请求,服务器处理请求,返回响应给客户端,关闭连接。如果客户端有新的请求,则需再打开新的连接。(2)ajax轮询方式:ajax轮询为客户端定时发送一个ajax请求,如果有可更新的数据,则服务器将数据返回到客户端。(3)长轮询:客户端发送一个请求给服务器,服务器会在一个设定的时间段内保持这个连接为打开状态,如果在这段时间内有新数据出现,服务器就会将新数据返回给客户端;如果在这个设定的时间内一直没有新数据产生,则服务器在时间到的时候返回一个无新数据的响应给客户端。然而,从以上这些实现系统以及技术方案里面可以看出,主要存在以下缺陷:(1)在形成的可视化多维数据系统中,首先多维数据的应用场景比较单一化,都是基于某一特定领域下产生的多维数据,这给多场景用户带来了一定的局限性;其次,这些系统中并没有提到将多维数据可视化,从而进一步实现数据跟图表的实时更新。导致了多维数据呈现效果欠缺以及分析效率下降。(2)在实现实时更新的技术中,以上三种技术都让客户端向服务端发送了大量的请求,在多维数据规模庞大的情况下,会造成不必要的请求占用带宽,使得服务器负担过重,为用户带来不好的体验。技术实现要素:本申请是基于发明人对以下问题的认识和发现做出的:随着计算机网络高速的发展,不同领域下产生的多维数据呈指数增长,这些规模庞大且复杂的数据日趋多样化,随着web技术在不同领域的应用,更加直观的显示这些多维数据,可视化技术应运而生。为了让用户更深入的探究多维数据的价值,通过上卷下钻技术,还可以给予用户在不同维度的理解。然而,在可视化多维数据中还存在着两大主要问题,一方面,多维系统场景单一,不能很好满足多场景需求,并且多维数据的数据量庞大且用户的并发请求会导致可视化性能低下;另一方面,变化多端的多维数据需要重复制作图表,增加了分析人员的工作量。因此,如何让用户在多维数据变化的同时不重复绘制图表并保持可视化系统稳定是现在研究的重点课题,实时更新多维数据技术就显得尤为重要。本发明旨在至少在一定程度上解决相关技术中的技术问题之一。为此,本发明的一个目的在于提出一种通用的实时更新多维数据可视化系统,该系统采用了websocket关键技术实现了数据图表之间的协同更新,减少了网络负担,保持了系统稳定性,并可以适用于不同领域的多维数据。本发明的另一个目的在于提出一种通用的实时更新多维数据可视化方法。为达到上述目的,本发明一方面实施例提出了一种通用的实时更新多维数据可视化系统,包括:数据源管理模块,用于接入不同领域的多维数据到多维数据分析平台中,并在成功导入数据后,对数据进行预处理;cube构建和存储模块,用于对预处理后的数据通过kylin将数据字段划分成维度与度量,构建cube,并利用molap操作对数据进行cube预计算,并且将构建的cube存储在hbase中;实时可视化模块,用于在接收到用户指令后,使所述用户在所述hbase中读取待分析的cube立方体,并通过拖拽其中的维度与度量生成交互图表,保存所述交互图表放置到数据看板中,并将所述数据看板信息存储在数据库中,其中,如果所述多维数据发生变化,则通过websocket将数据变化信息推送到相应图表中,完成数据跟图表的同步更新。本发明实施例的通用的实时更新多维数据可视化系统,有效解决目前系统上关于多维数据跟图表无法协同更新的问题,通过websocket的双向通信机制保持数据跟图表的实时连接,实时更新技术作为可视化的核心部分之一,不仅解决了数据图表同步更新问题,而且通过运用websocket,可以很好的支持多用户的并发请求,让平台更具有通用性;通过对多维数据实时的监测和分析,既可增加用户对多样化多维数据的管理效率,数据发生变化无需对其重新可视化;还可时刻了解事务(系统,设备,网络)的改变状态,从而保证其稳定运行;在实际应用中,为多用户和不同数据量级的多维数据,提供了良好稳定的系统,提升了图表数据实时更新的性能。另外,根据本发明上述实施例的通用的实时更新多维数据可视化系统还可以具有以下附加的技术特征:进一步地,在本发明的一个实施例中,所述数据源管理模块,进一步用于:使用已有工作表进行关联合并,将所述已有工作表中目标字段进行数据聚合,将所述已有工作表中目标字段进行数据追加,将所述已有工作表中目标字段进行字段合并,以生成新的工作表;对所述多维数据进行绝对值、0~1缩放和取整变换;对原始数据去除重复值、忽略字段、填充空值、数据分段、条件筛选、记录排序、添加记录、文本合并、字符提取和数值运算操作,以将所述原始数据逐步处理成符合用户需求的文件数据。进一步地,在本发明的一个实施例中,所述cube构建和存储模块进一步用于:根据cube定义的事实表以及维度表,并利用hive创建一张宽表;抽取所述事实表上的维度的distinct值,将所述事实表上的维度以字典树方式压缩编码成目录,将所述维度表以字典树的方式编码;利用mapreduce从宽表文件作为输入,创建n-dimensioncuboid,每次根据前一步的结果串行生成cuboid数据量;根据所述cuboid数据量计算htable的region分割策略,创建htable,并导入hfile。进一步地,在本发明的一个实施例中,所述实时可视化模块包括:数据可视化单元,用于将所述用户查询到的数据可视化成相应的图表;实时看板单元,用于通过拖拽操作将所述图表自由拖拽到画布中任意位置。进一步地,在本发明的一个实施例中,所述数据可视化单元还用于根据用户的配置操作对图表进行颜色、标签、标题以及坐标轴的修改,且提供对图表进行上卷下钻和切片切块的交互操作,并对图表进行多样化设置。进一步地,在本发明的一个实施例中,所述实时看板单元还用于根据所述用户选择的主题配置画布,并对所述画布中的图表进行样式配置,并设置图表之间的联动性,生成可视化大屏。进一步地,在本发明的一个实施例中,所述数据可视化单元还用于在多维数据发生变化时,通过websocket完成数据跟图表的同步更新,其中,websocket通过tcp套接字建立双向连接通道,创建完成后,通过握手协议实现与服务器端的实时验证,验证成功后,接收所述服务器推送的数据变化信息,并将数据变化信息推送到相应图表中,完成数据跟图表的同步更新。为达到上述目的,本发明另一方面实施例提出了一种通用的实时更新多维数据可视化方法,执行如上述实施例所述的系统,其中,所述方法包括以下步骤:接入不同领域的多维数据到多维数据分析平台中,并在成功导入数据后,对数据进行预处理;对预处理后的数据通过kylin将数据字段划分成维度与度量,构建cube,并利用molap操作对数据进行cube预计算,并且将构建的cube存储在hbase中;在接收到用户指令后,使所述用户在所述hbase中读取待分析的cube立方体,并通过拖拽其中的维度与度量生成交互图表,保存所述交互图表放置到数据看板中,并将所述数据看板信息存储在数据库中,其中,如果所述多维数据发生变化,则通过websocket将数据变化信息推送到相应图表中,完成数据跟图表的同步更新。本发明实施例的通用的实时更新多维数据可视化方法,有效解决目前系统上关于多维数据跟图表无法协同更新的问题,通过websocket的双向通信机制保持数据跟图表的实时连接,实时更新技术作为可视化的核心部分之一,不仅解决了数据图表同步更新问题,而且通过运用websocket,可以很好的支持多用户的并发请求,让平台更具有通用性;通过对多维数据实时的监测和分析,既可增加用户对多样化多维数据的管理效率,数据发生变化无需对其重新可视化;还可时刻了解事务(系统,设备,网络)的改变状态,从而保证其稳定运行;在实际应用中,为多用户和不同数据量级的多维数据,提供了良好稳定的系统,提升了图表数据实时更新的性能。另外,根据本发明上述实施例的通用的实时更新多维数据可视化方法还可以具有以下附加的技术特征:进一步地,在本发明的一个实施例中,所述接入不同领域的多维数据到多维数据分析平台中,并在成功导入数据后,对数据进行预处理,进一步包括:使用已有工作表进行关联合并,将所述已有工作表中目标字段进行数据聚合,将所述已有工作表中目标字段进行数据追加,将所述已有工作表中目标字段进行字段合并,以生成新的工作表;对所述多维数据进行绝对值、0~1缩放和取整变换;对原始数据去除重复值、忽略字段、填充空值、数据分段、条件筛选、记录排序、添加记录、文本合并、字符提取和数值运算操作,以将所述原始数据逐步处理成符合用户需求的文件数据。进一步地,在本发明的一个实施例中,所述对预处理后的数据通过kylin将数据字段划分成维度与度量,构建cube,并利用molap操作对数据进行cube预计算,并且将构建的cube存储在hbase中,进一步包括:根据cube定义的事实表以及维度表,并利用hive创建一张宽表;抽取所述事实表上的维度的distinct值,将所述事实表上的维度以字典树方式压缩编码成目录,将所述维度表以字典树的方式编码;利用mapreduce从宽表文件作为输入,创建n-dimensioncuboid,每次根据前一步的结果串行生成cuboid数据量;根据所述cuboid数据量计算htable的region分割策略,创建htable,并导入hfile。进一步地,在本发明的一个实施例中,所述在接收到用户指令后,使所述用户在所述hbase中读取待分析的cube立方体,并通过拖拽其中的维度与度量生成交互图表,保存所述交互图表放置到数据看板中,并将所述数据看板信息存储在数据库中,其中,如果所述多维数据发生变化,则通过websocket将数据变化信息推送到相应图表中,完成数据跟图表的同步更新,进一步包括:将所述用户查询到的数据可视化成相应的图表;通过拖拽操作将所述图表自由拖拽到画布中任意位置。进一步地,在本发明的一个实施例中,所述将所述用户查询到的数据可视化成相应的图表进一步包括:根据用户的配置操作对图表进行颜色、标签、标题以及坐标轴的修改,且提供对图表进行上卷下钻和切片切块的交互操作,并对图表进行多样化设置;进一步地,在本发明的一个实施例中,所述通过拖拽操作将所述图表自由拖拽到画布中任意位置,还包括:根据所述用户选择的主题配置画布,并对所述画布中的图表进行样式配置,并设置图表之间的联动性,生成可视化大屏。进一步地,在本发明的一个实施例中,所述通过拖拽操作将所述图表自由拖拽到画布中任意位置进一步包括:根据所述用户选择的主题配置画布,并对所述画布中的图表进行样式配置,并设置图表之间的联动性,生成可视化大屏;且在多维数据发生变化时,通过websocket完成数据跟图表的同步更新,其中,websocket通过tcp套接字建立双向连接通道,创建完成后,通过握手协议实现与服务器端的实时验证,验证成功后,接收所述服务器推送的数据变化信息,并将数据变化信息推送到相应图表中,完成数据跟图表的同步更新。本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。附图说明本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:图1为根据本发明实施例的通用的实时更新多维数据可视化系统的结构示意图;图2为根据本发明一个实施例的通用的实时更新多维数据可视化系统的结构示意图;图3为根据本发明实施例的数据看板单元的工作流程图;图4为根据本发明实施例的通用的实时更新多维数据可视化方法的流程图。具体实施方式下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。在介绍通用的实时更新多维数据可视化系统及方法之前,先简单介绍一下多维数据可视化系统的概要设计。随着企业信息数据量的不断积累,不仅给数据库带来了很大的压力,而且在查询数据和聚合运算上,系统的响应速度都会变得非常缓慢。面对海量的多维数据,传统的olap分析在其面前疲态尽显,为了高效的对多维数据进行可视化分析,一般会通过分布式集群提高实时计算能力以加快每次的查询速度,但在集群规模一定的情况下,随着原始数据量的急剧增大,查询性能会明显下降,只有通过进一步扩大集群才能缓解,然而大规模集群的硬件成本和维护成本都是非常高的。因此本发明利用molap实现海量数据上cube的预计算,从而可以利用预计算的数据迅速返回查询结果。为了高效分析多维数据,一方面通过kylin为数据集定义数据模型并构建立方体,将划分的维度与度量进行聚合运算,最后将用户设定的多维立方体缓存到hbase中,等待分析使用。另一方面,多维数据通常都是随着时间不断增长的,为了避免对cube的全量计算,运用kylin实现cube的增量计算和存储,从而增加实时查询多维数据的速度。最终,采用echarts技术对多维数据进行可视化分析,echarts提供多种图表,从不同角度挖掘多维数据的价值。当数据发生变化时,运用websocket实时推送,实现多维数据跟图表的实时更新。下面参照附图描述根据本发明实施例提出的通用的实时更新多维数据可视化系统及方法,首先将参照附图描述根据本发明实施例提出的通用的实时更新多维数据可视化系统。图1是本发明一个实施例的通用的实时更新多维数据可视化系统的结构示意图。如图1所示,该通用的实时更新多维数据可视化系统10包括:数据源管理模块100、cube构建和存储模块200和实时可视化模块300。其中,数据源管理模块100用于接入不同领域的多维数据到多维数据分析平台中,并在成功导入数据后,对数据进行预处理。cube构建和存储模块200用于对预处理后的数据通过kylin将数据字段划分成维度与度量,构建cube,并利用molap操作对数据进行cube预计算,并且将构建的cube存储在hbase中。实时可视化模块300用于在接收到用户指令后,使用户在hbase中读取待分析的cube立方体,并通过拖拽其中的维度与度量生成交互图表,保存交互图表放置到数据看板中,并将数据看板信息存储在数据库中,其中,如果多维数据发生变化,则通过websocket将数据变化信息推送到相应图表中,完成数据跟图表的同步更新。本发明实施例的系统10采用了websocket关键技术实现了数据图表之间的协同更新,减少了网络负担,保持了系统稳定性,并可以适用于不同领域的多维数据。可以理解的是,如图2所示,本发明实施例将多维数据可视化系统10分为以下三大模块:数据源管理模块100:通过数据爬虫,用户导入(excel,csv,文本),连接数据源(mysql,hive,hbase,mongodb……)等多种方式接入不同领域的多维数据到多维数据分析平台中,成功导入数据后,对数据进行简单的标准化流程。cube构建和存储模块200:针对预处理好的数据,首先通过kylin将数据字段划分成维度与度量并构建cube;其次利用molap操作对数据进行cube的预计算,增加查询速度;最后对用户构建的cube存储在hbase中,等待下一步的分析实时可视化模块300:用户在hbase中读取想要分析的cube立方体,通过拖拽其中的维度与度量形成交互性良好的图表,保存图表放置到数据看板中,然后将数据看板信息存储在数据库中。如果多维数据发生变化,则websocket直接将数据变化信息推送到相应图表中,完成数据跟图表的同步更新。本发明结合实时更新的关键技术websocket实现了一种通用的实时更新多维数据可视化系统,该系统适用于不同领域的多维数据,结合探索分析技术和多维可视化技术将多维数据价值完美呈现给用户。在多维数据发生变化时,可通过websocket实现数据图表的实时更新,不仅大大减少了用户的工作量,而且针对用户的高并发请求,还能维持系统的稳定性。该系统从数据源导入到可视化实时看板一共分为数据源管理模块,cube构建和存储模块,数据可视化模块和实时看板模块。下面主要详细介绍一下各个模块。进一步地,在本发明的一个实施例中,数据源管理模块100,进一步用于:使用已有工作表进行关联合并,将已有工作表中目标字段进行数据聚合,将已有工作表中目标字段进行数据追加,将已有工作表中目标字段进行字段合并,以生成新的工作表;对多维数据进行绝对值、0~1缩放和取整变换;对原始数据去除重复值、忽略字段、填充空值、数据分段、条件筛选、记录排序、添加记录、文本合并、字符提取和数值运算操作,以将原始数据逐步处理成符合用户需求的文件数据。具体而言,如图2所示,数据源通过用户导入,数据源接入以及数据爬虫等方式进入系统。用户可以导入excel,csv或文本格式的数据,在系统中直接导入电脑上的文件即可;其次,用户还可以通过连接不同的数据源导入数据,比如mysql,hbase,hive等多种数据库,需要添加数据库的基本信息如地址,端口号等,连接成功之后即可选择数据库中相应的数据导入到本系统中;再次,用户还可以通过将数据爬虫方式采集来的数据接入到系统中进行管理。用户选择好要分析的数据之后,模块100需要对这些多维数据进行数据预处理,形成符合格式的多维数据供多维分析系统使用。主要的数据预处理操作有数据集成,数据变换和数据清洗,具体地:(1)数据集成主要包括:多表关联--使用已有工作表进行关联合并,生成新的工作表以新建图表;数据聚合--将已有工作表中某些字段进行数据聚合,生成新的工作表以新建图表;数据追加--将已有工作表中某些字段进行数据聚合,生成新的工作表以新建图表;字段合并--将已有工作表中某些字段进行字段合并,生成新的工作表以新建图表。(2)数据变换主要是对多维数据进行绝对值,0~1缩放和取整变换等操作。(3)数据清洗包括去除重复值,忽略字段,填充空值,数据分段,条件筛选,记录排序,添加记录,文本合并,字符提取,数值运算等操作,可以将原始数据逐步处理成符合用户需求的文件数据。在数据源管理的基础上,多维数据不仅可以转换成符合分析的数据格式,并且用户关注的范围可以得到有效的缩小,最终定位到用户感兴趣的范围,对此进行数据的展示和数据分析。进一步地,在本发明的一个实施例中,cube构建和存储模块200进一步用于:根据cube定义的事实表以及维度表,并利用hive创建一张宽表;抽取事实表上的维度的distinct值,将事实表上的维度以字典树方式压缩编码成目录,将维度表以字典树的方式编码;利用mapreduce从宽表文件作为输入,创建n-dimensioncuboid,每次根据前一步的结果串行生成cuboid数据量;根据cuboid数据量计算htable的region分割策略,创建htable,并导入hfile。具体而言,如图2所示,该模块200主要是通过kylin将用户处理完成的数据进行cube立方体的建立,在此过程中,多维数据进行了维度与度量的划分,一个cube立方体中可以拥有多个维度以及多个事实表,在后续的可视化模块可以拖拽相应的维度与度量形成对应的可视化图表。kylin创建cube的主要过程如下:(1)根据cube定义的事实表以及维度表,利用hive创建一张宽表。(2)抽取事实表上的维度的distinct值,将事实表上的维度以字典树方式压缩编码成目录,将维度表以字典树的方式编码。(3)利用mapreduce从第一步得到的宽表文件作为输入,创建n-dimensioncuboid,然后每次根据前一步的结果串行生成n-1cuboid,n-2cuboid…0-cuboid。(4)根据生成的cuboid数据量计算htable的region分割策略,创建htable,将hfile导入进来。形成cube立方体之后,由于多维数据规模庞大以及频繁发生变化,所以采用molap对cube立方体进行预计算,从而优化查询性能。主要是将维度的属性值映射成多维数组的下标或者下标范围,事实以多维数组的值存储在数组单元中。用户还可以通过olap工具从多个角度来进行数据的多维分析。通常认为olap包括三种基本的分析操作:上卷(rollup)、下钻(drilldown)、切片切块(sliceanddice),原始数据经过聚合以及整理后变成一个或多个维度的视图。最后,将构建好的cube存储在hbase数据库中,等待数据可视化单元的应用。进一步地,在本发明的一个实施例中,实时可视化模块300包括:数据可视化单元和实时看板单元。其中,数据可视化单元,用于将用户查询到的数据可视化成相应的图表;实时看板单元,用于通过拖拽操作将图表自由拖拽到画布中任意位置。进一步地,在本发明的一个实施例中,数据可视化单元还用于根据用户的配置操作对图表进行颜色、标签、标题以及坐标轴的修改,且提供对图表进行上卷下钻和切片切块的交互操作,并对图表进行多样化设置。具体而言,如图2所示,数据可视化单元主要是将用户查询到的数据可视化成相应的图表,本发明实施例的系统10主要使用echarts提供图表的可视化操作,echarts提供多种可视化图表供用户使用,包括柱状图,条形图,指标卡,多维表格,饼图,漏斗图,地图等。用户选择好想要分析的数据后,通过拖拽维度与度量即可形成图表。形成相应图表后,用户可以针对此图表做相应的配置操作,将想要配置的字段拖拽到筛选框中,针对不同的图表可以进行颜色,标签,标题以及坐标轴的修改,使得最终生成的图表既美观又清晰。同时对图表还提供上卷下钻,切片切块等交互操作,比如具有日期类型的多维数据中,用户开始形成的图表是年份级别的,可以通过点击任意年份查看当年每个季度的数据情况,以此类推,一直可以递归到每一天的数据详情,从而让用户在不同角度展示分析多维数据。除此之外,对生成的图表还可进行多样化的设置,包括趋势线,聚类分析,回归分析,排序,交换行列等高级设置,让图表更加明了的展示在分析人员面前,使数据的价值一览无余。针对配置好的数据图表,可以将信息保存在数据库中,将其提供给实时看板单元进行使用。进一步地,在本发明的一个实施例中,实时看板单元还用于根据用户选择的主题配置画布,并对画布中的图表进行样式配置,并设置图表之间的联动性,生成可视化大屏。具体而言,如图2所示,针对数据可视化单元保存下来的图表,可以通过拖拽操作将图表自由拖拽到画布的任何一个位置,组合方式由用户决定,在组合的过程中,用户还可以选择不同的主题配置画布,对画布中的图表也可进行背景颜色,标题,大小等基本样式的配置,还可设置图表之间的联动性,最终形成一张张炫酷的可视化大屏,供分析人员或者外界人员进行下载或查看。进一步地,在本发明的一个实施例中,实时看板单元还用于在多维数据发生变化时,通过websocket完成数据跟图表的同步更新,其中,websocket通过tcp套接字建立双向连接通道,创建完成后,通过握手协议实现与服务器端的实时验证,验证成功后,接收服务器推送的数据变化信息,并将数据变化信息推送到相应图表中,完成数据跟图表的同步更新。具体而言,如图2所示,但是由于多维数据变化频繁这个特性,在短时间内,多维数据绘制的图表会发生相应的更新变化,这就需要用户不断重复绘制图表的操作,这在一定程度上增加了用户的工作量。因此,本发明实施例在多维数据可视化系统的基础上,采用websocket关键技术,从而实现了数据图表的实时更新,当服务器检测到多维数据发生变化时,就会自动推送数据信息给浏览器端,浏览器拿到数据信息之后便去更新用户绘制的图表,达到数据图表协同更新的目的。具体的流程图如图3所示。websocket通过tcp套接字建立双向连接通道,创建完成后,通过握手协议实现客户端与服务器端的实时验证,验证成功服务器即可向客户端推送数据的更新信息。每个客户端的请求头信息都包含一个upgrade字段,浏览器根据这个字段连接到不同的协议,升级到websocket协议后,可通过send()方法来向服务器发送数据,并通过onmessage事件来接收服务器返回的数据。相比于传统的实时更新技术,ajax轮询方式在建立和保持连接时,请求数量多且报头信息较大,相比之下,webscoket只需要一次握手建立就可以建立稳定的连接,报头信息少且只在握手期间产生。与此同时,由于ajax轮询需要长期保持连接,频繁的请求和响应的执行造成多次延时,并且延时期间服务器无法向浏览器发送任何消息,造成资源浪费。而在websocket模式下,连接一旦升级为websocket,消息到达服务器之后会立即返回浏览器,在一次发送延迟之后,就会始终保持打开状态,不需要向服务器重复发送请求,因此在很大程度上降低了网络延迟和网络阻塞,提高了实时性。除此之外,不同用户需要在此平台进行多维数据分析,从而导致客户端需要并发的向服务器发送数据,经过实验验证,当并发连接数小于750时,错误率为0,当连接数达到1500时,错误率为1.83%左右,这意味着websocket服务器可以满足实际多应用程序多租户模式下的时间数据推送要求,从而达到良好的稳定性以及实际应用性。实时看板单元不仅实现了图表的统一管理,而且在websocket的基础上,实现了数据图表的实时更新,一方面在用户高并发请求的同时保持了系统的稳定性,另一方面针对规模庞大的多维数据降低了网络负载,实现了真正意义上的实时更新,为实时看板模块提供了良好的技术支持。综上,大数据时代,产生了科技资源、医学,金融,交通等不同领域的多维数据,为了高效的展示分析由这些领域产生的多维数据,本发明实施例在现有的可视化系统的基础上,提出了一种通用的多维数据可视化系统,设计了良好的交互方式,通过简单的拖拽操作便可以让用户探索式的分析多维数据。此系统不仅适用于不同领域的多维数据,并将可视化结果统一展示在数据看板里,还可以通过上卷下钻,切块切片等olap操作深入分析多维数据。其次,在发明实施例的系统的基础上,通过验证对比传统的实时更新技术,采用了websocket作为本系统实时更新的主要关键技术。websocket提供了全双工,双向通信,进而实现了网页界面和服务器之间大数据量的实时通信。在此基础上,本方法不仅可以良好的支持多维数据的实时更新需求,降低了网络请求数量和网络延迟,而且在用户产生的高并发请求中,维持了良好的系统稳定性。根据本发明实施例提出的通用的实时更新多维数据可视化系统,有效解决目前系统上关于多维数据跟图表无法协同更新的问题,通过websocket的双向通信机制保持数据跟图表的实时连接,实时更新技术作为可视化的核心部分之一,不仅解决了数据图表同步更新问题,而且通过运用websocket,可以很好的支持多用户的并发请求,让平台更具有通用性;通过对多维数据实时的监测和分析,既可增加用户对多样化多维数据的管理效率,数据发生变化无需对其重新可视化;还可时刻了解事务(系统,设备,网络)的改变状态,从而保证其稳定运行;在实际应用中,为多用户和不同数据量级的多维数据,提供了良好稳定的系统,提升了图表数据实时更新的性能。其次参照附图描述根据本发明实施例提出的通用的实时更新多维数据可视化方法。图4是本发明一个实施例的通用的实时更新多维数据可视化方法的流程图。如图4所示,该通用的实时更新多维数据可视化方法,执行如上述实施例的系统,其中,方法包括以下步骤:在步骤s401中,接入不同领域的多维数据到多维数据分析平台中,并在成功导入数据后,对数据进行预处理。在步骤s402中,对预处理后的数据通过kylin将数据字段划分成维度与度量,构建cube,并利用molap操作对数据进行cube预计算,并且将构建的cube存储在hbase中。在步骤s403中,在接收到用户指令后,使用户在hbase中读取待分析的cube立方体,并通过拖拽其中的维度与度量生成交互图表,保存交互图表放置到数据看板中,并将数据看板信息存储在数据库中,其中,如果多维数据发生变化,则通过websocket将数据变化信息推送到相应图表中,完成数据跟图表的同步更新。进一步地,在本发明的一个实施例中,接入不同领域的多维数据到多维数据分析平台中,并在成功导入数据后,对数据进行预处理,进一步包括:使用已有工作表进行关联合并,将已有工作表中目标字段进行数据聚合,将已有工作表中目标字段进行数据追加,将已有工作表中目标字段进行字段合并,以生成新的工作表;对多维数据进行绝对值、0~1缩放和取整变换;对原始数据去除重复值、忽略字段、填充空值、数据分段、条件筛选、记录排序、添加记录、文本合并、字符提取和数值运算操作,以将原始数据逐步处理成符合用户需求的文件数据。进一步地,在本发明的一个实施例中,对预处理后的数据通过kylin将数据字段划分成维度与度量,构建cube,并利用molap操作对数据进行cube预计算,并且将构建的cube存储在hbase中,进一步包括:根据cube定义的事实表以及维度表,并利用hive创建一张宽表;抽取事实表上的维度的distinct值,将事实表上的维度以字典树方式压缩编码成目录,将维度表以字典树的方式编码;利用mapreduce从宽表文件作为输入,创建n-dimensioncuboid,每次根据前一步的结果串行生成cuboid数据量;根据cuboid数据量计算htable的region分割策略,创建htable,并导入hfile。进一步地,在本发明的一个实施例中,在接收到用户指令后,使用户在hbase中读取待分析的cube立方体,并通过拖拽其中的维度与度量生成交互图表,保存交互图表放置到数据看板中,并将数据看板信息存储在数据库中,其中,如果多维数据发生变化,则通过websocket将数据变化信息推送到相应图表中,完成数据跟图表的同步更新,进一步包括:将用户查询到的数据可视化成相应的图表;通过拖拽操作将图表自由拖拽到画布中任意位置。进一步地,在本发明的一个实施例中,将用户查询到的数据可视化成相应的图表进一步包括:根据用户的配置操作对图表进行颜色、标签、标题以及坐标轴的修改,且提供对图表进行上卷下钻和切片切块的交互操作,并对图表进行多样化设置进一步地,在本发明的一个实施例中,通过拖拽操作将图表自由拖拽到画布中任意位置,还包括:根据用户选择的主题配置画布,并对画布中的图表进行样式配置,并设置图表之间的联动性,生成可视化大屏,且在多维数据发生变化时,通过websocket完成数据跟图表的同步更新,其中,websocket通过tcp套接字建立双向连接通道,创建完成后,通过握手协议实现与服务器端的实时验证,验证成功后,接收服务器推送的数据变化信息,并将数据变化信息推送到相应图表中,完成数据跟图表的同步更新。。需要说明的是,前述对实时更新多维数据可视化系统实施例的解释说明也适用于该实施例的实时更新多维数据可视化方法,此处不再赘述。根据本发明实施例提出的通用的实时更新多维数据可视化方法,有效解决目前系统上关于多维数据跟图表无法协同更新的问题,通过websocket的双向通信机制保持数据跟图表的实时连接,实时更新技术作为可视化的核心部分之一,不仅解决了数据图表同步更新问题,而且通过运用websocket,可以很好的支持多用户的并发请求,让平台更具有通用性;通过对多维数据实时的监测和分析,既可增加用户对多样化多维数据的管理效率,数据发生变化无需对其重新可视化;还可时刻了解事务(系统,设备,网络)的改变状态,从而保证其稳定运行;在实际应用中,为多用户和不同数据量级的多维数据,提供了良好稳定的系统,提升了图表数据实时更新的性能。此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1