大数据可视化交互系统
技术领域
本发明涉及大数据交互领域,具体涉及一种大数据可视化交互系统。
背景技术
大数据技术正在飞速发展,从行业上看,智慧城市等智慧业务在当前市场发展很快;目前大数据产品已经比较成熟,并广泛应用于互联网管理部门、部队、企业和高校;另外还有商业智能、工业监控等领域。对于大多数大数据应用,前期针对数据的采集、传输、存储、分析、运算等工作,都是基础性工作,必须通过可视化的手段,将各类数据当中的规律和联系展现在决策人面前,才能让数据有效支撑最终的决策过程。
传统技术存在以下技术问题:
(1)由于传统的屏幕控制软件的设计缺少数据化思维,对大屏幕展示大数据的应用上“水土不服”,体验极差。
(2)大数据应用初期的大数据可视化,往往只是针对业务场景去定制设计图,扩展性差,随着接入系统的数据来源增加、展示形式变化,定制系统将很快不适用。
发明内容
本发明要解决的技术问题是提供一种大数据可视化交互系统,能适应开放式结构,根据数据变化可以动态修改展示方式,并具有自定义主题的功能,配合“小屏”控大屏,给最终用户提供大数据可视化的完美体验。现行的大数据可视化方案大都是针对某一特定应用定制的,扩展性差,同时屏幕控制软件的设计缺少数据化思维,交互体验感差。本发明所要解决的问题就是设计一个网页版大数据可视化交互系统,其中包括一个在移动终端(平板电脑)上使用的设置和控制界面,一个在大屏幕(LED大屏或电视)上使用的大数据展示系统。
为了解决上述技术问题,本发明提供了一种大数据可视化交互系统,包括:
数据可视化与管理员模块,大数据存储、分析、处理模块,结构化数据存储模块,SSM模块;
数据可视化与管理员模块(S1):
功能:大数据展示界面显示的内容分三个主题(实时状态、趋势走向、统计图表),使用平板电脑操控大屏幕显示内容,包括设置显示主题和风格,包括每个栏目的显示内容和可视化图表类型。实时状态和统计图表的数据来源均来源于大数据分析结果;
大屏展示端:
(1)响应式布局风格,自动适应各个尺寸的屏幕。
(2)日期、时间插件,可显示当前时间以及当地天气状况。
(3)分为“实时状态”、“趋势走向”、“图表统计”、“‘地图’系统”四个主题,全面展示大数据分析结果。
1)实时状态:动态展现实时数据。在测试用例中,可以实时统计某媒体播放平台今天到现在为止的每个类别的访问量、今天到现在为止从搜索引擎引流过来的类别的访问量等数据。
2)趋势走向:a)可显示历史最大数据,记录历史峰值。b)根据历史极值及当前时刻数据预测数据趋势走向,便于工作人员提前做好工作准备。在测试用例中,本系统可根据访问量历史走向预测其未来走向,从而便于该媒体播放平台在预测人流量高峰时刻做好服务器的维护工作,也能更好地进行不同时段的工作人员数目分配。
3)图表统计:呈现多种类型图表,从不同角度展现数据,为决策提供强力辅助。在测试用例中,对用户在网站的停留时间、跳出率、回访者、新访问者、回访次数、回访相隔天数,用户在不同时段的访问量情况等数据进行了可视化,便于平台运营人员分析用户访问浏览网页习惯。
4)“地图”:a)应用了百度地图API,可自由地改变地图比例(地图可放大至看清街道情况),并可切换地图类型(包括普通地图、卫星地图、三维地图),适用于各种地理相关场景中的数据分析。b)每个地点的统计量数值大小在地图中都与实心圆点大小成正比。在测试用例中,可在地图上由圆点大小直观比较不同地点人流量的多少,从而可以辅助相关部门对交通优化处理,及信息下发辅助车辆选择最优路线,缓解城市拥堵。
小屏控制端:
(1)用户可在小屏控制界面选择大屏展示端四个主题显示的内容和可视化图表类型(包括柱状图、饼图、折线图、散点等),用户可根据需要自由选择与切换,使数据呈现更直观生动。
(2)数据来源可以是实时生成的数据自动导入,也可由管理员在小屏控制端选择批量导入经过分析处理的大数据。
技术实现方式:数据可视化模块采用的技术为web前端开发技术,主要有html,css,js,echart.js以及h5框架等。
大数据存储、分析、处理模块(S2):
功能:完成海量实时数据或非实时数据的分析处理,把海量数据分析的结果存到到数据库mysql和hbase中。
技术实现方式:
结构化数据存储模块(S3):
功能:完成大数据分析后的结果的存储,方便可视化模块数据展示。
技术实现方式:采用hbase和mysql两种数据库进行数据存储。
SSM模块(S4):
功能:根据管理员小屏幕和大屏幕的http请求,1、完成小屏幕控制大屏幕的控屏功能,2、完成管理员端海量数据上传HDFS功能3、完成网页与数据库mysql、hbase数据交换过程。
各个模块之间的关系:S2模块完成海量数据的分析处理,把分析结果调用S3模块进行存储,S1模块通过调用S4模块,让S4模块完成文件上传、屏幕控制以及查询S3模块存储的结果数据,然后把结果数据交给S1模块进行展示。
在其中一个实施例中,页面宽高比做出为16:9大数据分析结果展示界面均为全屏显示。
在其中一个实施例中,其中“实时状态”、“趋势走向”、“图表统计”的测试数据是某媒体播放平台的访问量,“‘地图’系统”的测试数据是某地区街道人流量。
在其中一个实施例中,HDFS:搭建了完全分布式文件系统HDFS,一台hadoop-master,三台hadoop-slave集群。
在其中一个实施例中,Kafka、Flume及Spark:Kafka是分布式发布-订阅消息系统,主要使用了kafka的生产者消费者。数据是实时日志流,由flume负责海量日志采集、聚合和传输,然后配置Kafka的生产者消费者,把这些实时流数据交给Spark进行处理。
在其中一个实施例中,创建的topic有两个flumeTopic(负责视频网站栏目访问点击相关的数据),flumeTopic1(负责某视频网站实时用户数据和网站vip,svip数据)。之后把实时流数据然Spark进行处理,经过Spark Rdd,map,filter,reduce一些列数据处理操作,然后把数据处理的结果插入到Hbase(linux)。
在其中一个实施例中,使用hbase主要用于存储某视频网站,用户栏目的点击统计,搜索引擎引流统计,当前网站实时在线用户,实时vip,svip等数据的统计分析。
在其中一个实施例中,MySQL:主要存储“地图系统”的数据,管理员页面上传海量数据文件,hadoop进行数据的处理分析,把海量数据处理分析的结果插入到msql数据库,然后等待网页请求查询数据库显示数据。
在其中一个实施例中,采用了Spring系列的Spring,SpringMVC,和mybatis。
在其中一个实施例中,使用Spring的两个核心功能IOC和AOP技术解决了类与类之间的依赖关系,SpringMVC是基于MVC的一个框架,主要用来做url的请求控制,拦截网页的url请求,调用service层进行处理,把处理结果返回网页端。mybatis主要用来做数据库的相关操作,把大数据分析统计的结果保存到数据库中,websocket主要完成小屏幕控制大屏幕功能。
本发明的有益效果:
本发明是一个网页版大数据可视化交互系统,其带来的有益效果主要有下面几点:
(1)页面为响应式布局风格,自动适应各个尺寸的屏幕,适用于各种大屏展示场景;
(2)可根据数据变化可以动态修改展示方式,并具有自定义主题的功能,适用于各种场景下的数据可视化,不是针对特定业务场景定制设计图,具有较强的扩展性;
(3)可由“小屏”控制大屏显示的内容和图表类型,切换自由;
(4)允许项目实时生成的数据自动导入,也可由管理员逐个或批量有选择性地导入数据,自由度高;
(5)可动态展现实时数据并做出数据预测,由此便于进行集中指挥调度、预案及辅助决策以及服务;
(6)可由多种图表以不同形式展现数据,可以将各类数据当中的规律和联系展现在决策人面前,让数据有效支撑最终的决策过程。
附图说明
图1是本发明大数据可视化交互系统的结构示意图。
图2是本发明大数据可视化交互系统的系统处理流程示意图。
具体实施方式
下面结合附图和具体实施例对本发明作进一步说明,以使本领域的技术人员可以更好地理解本发明并能予以实施,但所举实施例不作为对本发明的限定。
本发明由四个模块构成,分别为数据可视化与管理员模块,大数据存储、分析、处理模块,结构化数据存储模块,SSM模块。系统架构图如图1所示。
数据可视化与管理员模块(S1):
功能:大数据展示界面显示的内容分三个主题(实时状态、趋势走向、统计图表),页面宽高比可以做出为16:9大数据分析结果展示界面均为全屏显示。使用平板电脑操控大屏幕显示内容,包括设置显示主题和风格,包括每个栏目的显示内容和可视化图表类型。实时状态和统计图表的数据来源均来源于大数据分析结果。
大屏展示端:
(1)响应式布局风格,自动适应各个尺寸的屏幕。
(2)日期、时间插件,可显示当前时间以及当地天气状况。
(3)分为“实时状态”、“趋势走向”、“图表统计”、“‘地图’系统”四个主题,全面展示大数据分析结果。其中“实时状态”、“趋势走向”、“图表统计”的测试数据是某媒体播放平台的访问量,“‘地图’系统”的测试数据是某地区街道人流量。
1)实时状态:动态展现实时数据。在测试用例中,可以实时统计某媒体播放平台今天到现在为止的每个类别的访问量、今天到现在为止从搜索引擎引流过来的类别的访问量等数据。
2)趋势走向:a)可显示历史最大数据,记录历史峰值。b)根据历史极值及当前时刻数据预测数据趋势走向,便于工作人员提前做好工作准备。在测试用例中,本系统可根据访问量历史走向预测其未来走向,从而便于该媒体播放平台在预测人流量高峰时刻做好服务器的维护工作,也能更好地进行不同时段的工作人员数目分配。
3)图表统计:呈现多种类型图表,从不同角度展现数据,为决策提供强力辅助。在测试用例中,对用户在网站的停留时间、跳出率、回访者、新访问者、回访次数、回访相隔天数,用户在不同时段的访问量情况等数据进行了可视化,便于平台运营人员分析用户访问浏览网页习惯。
4)“地图”:a)应用了百度地图API,可自由地改变地图比例(地图可放大至看清街道情况),并可切换地图类型(包括普通地图、卫星地图、三维地图),适用于各种地理相关场景中的数据分析。b)每个地点的统计量数值大小在地图中都与实心圆点大小成正比。在测试用例中,可在地图上由圆点大小直观比较不同地点人流量的多少,从而可以辅助相关部门对交通优化处理,及信息下发辅助车辆选择最优路线,缓解城市拥堵。
小屏控制端:
(1)用户可在小屏控制界面选择大屏展示端四个主题显示的内容和可视化图表类型(包括柱状图、饼图、折线图、散点等),用户可根据需要自由选择与切换,使数据呈现更直观生动。
(2)数据来源可以是实时生成的数据自动导入,也可由管理员在小屏控制端选择批量导入经过分析处理的大数据。
技术实现方式:数据可视化模块采用的技术为web前端开发技术,主要有html,css,js,echart.js以及h5框架等。
大数据存储、分析、处理模块(S2):
功能:完成海量实时数据或非实时数据的分析处理,把海量数据分析的结果存到到数据库mysql和hbase中。
技术实现方式:
HDFS:搭建了完全分布式文件系统HDFS,一台hadoop-master,三台hadoop-slave集群,本发明选择HDFS的理由主要有a)高容错性,数据会有多份副本,一个副本丢失,可以自动恢复。b)适合批处理,通过移动计算而不是移动数据用多台服务器同时进行计算处理海量数据。c)适合大数据处理,大数据的特点就是海量数据,HDFS处理数据达到GB、TB、甚至PB级别的数据,这是mysql等数据库完全不能处理的。
Kafka、Flume及Spark:Kafka是分布式发布-订阅消息系统,本发明主要使用了kafka的生产者消费者。本发明的数据是实时日志流,由flume负责海量日志采集、聚合和传输,然后配置Kafka的生产者消费者,把这些实时流数据交给Spark进行处理。本发明创建的topic有两个flumeTopic(负责视频网站栏目访问点击相关的数据),flumeTopic1(负责某视频网站实时用户数据和网站vip,svip数据)。之后把实时流数据然Spark进行处理,经过Spark Rdd,map,filter,reduce一些列数据处理操作,然后把数据处理的结果插入到Hbase(linux)。
结构化数据存储模块(S3):
功能:完成大数据分析后的结果的存储,方便可视化模块数据展示。
技术实现方式:采用hbase和mysql两种数据库进行数据存储。
Hbase:Hbase是一个高可靠性、高性能、面向列、可伸缩的分布式存储系统,利用HBase技术可在廉价PC Server上搭建起大规模结构化存储集群。本发明使用hbase主要用于存储某视频网站,用户栏目的点击统计,搜索引擎引流统计,当前网站实时在线用户,实时vip,svip等数据的统计分析。
MySQL:主要存储“地图系统”的数据,管理员页面上传海量数据文件,hadoop进行数据的处理分析,把海量数据处理分析的结果插入到msql数据库,然后等待网页请求查询数据库显示数据。
SSM模块(S4):
功能:根据管理员小屏幕和大屏幕的http请求,1、完成小屏幕控制大屏幕的控屏功能,2、完成管理员端海量数据上传HDFS功能3、完成网页与数据库mysql、hbase数据交换过程。
技术实现方式:
java目前的企业级开发框架解决方案非常成熟,本发明抛弃了struts2(MVC框架),和Hibernate(数据库框架),采用了Spring系列的Spring,SpringMVC,和mybatis。本发明使用Spring的两个核心功能IOC和AOP技术解决了类与类之间的依赖关系,SpringMVC是基于MVC的一个框架,本发明主要用来做url的请求控制,拦截网页的url请求,调用service层进行处理,把处理结果返回网页端。mybatis主要用来做数据库的相关操作,把大数据分析统计的结果保存到数据库中,websocket主要完成小屏幕控制大屏幕功能。
各个模块之间的关系:S2模块完成海量数据的分析处理,把分析结果调用S3模块进行存储,S1模块通过调用S4模块,让S4模块完成文件上传、屏幕控制以及查询S3模块存储的结果数据,然后把结果数据交给S1模块进行展示。具体处理流程如图2所示。
大数据分析与数据大屏交互软件的设计步骤:
前端:
第一步:搭建前端网页框架,利用bootstrap实现屏幕自适应的功能。不论是手机端、平板端或者PC端都可以自动适应相应的尺寸
第二步:利用SpringMVC拦截网页的url请求,调用service层进行处理,把处理结果返回网页。
第三步:建立WebSocket套接字连接到大屏网页显示端。获取后台管理员设置的图表名称、图表种类以及数据,它可以让多个用户连接到同一个实时服务器,并通过API进行通信并立即获得响应。
第四步:获取后台处理完成后的json格式数据,并与Echarts进行连接,通过判断json格式中的图表号选择显示的图表类型,同理读取json格式数据的图表名称并将其设置为图表的标题。
后端:
第一步:搭建完全分布式文件系统HDFS,一台hadoop-master,三台hadoop-slave集群。HDFS具有高容错性,数据有多个副本,并且适合处理海量数据。
第二步:搭建两个flumeTopic(负责视频网站栏目访问点击相关的数据),flumeTopic1负责某视频网站实时用户数据和网站vip,svip数据。之后把实时流数据然Spark进行处理,经过Spark Rdd,map,filter,reduce一些列数据处理操作,然后把数据处理的结果插入到Hbase(linux)。
以上所述实施例仅是为充分说明本发明而所举的较佳的实施例,本发明的保护范围不限于此。本技术领域的技术人员在本发明基础上所作的等同替代或变换,均在本发明的保护范围之内。本发明的保护范围以权利要求书为准。