1.本技术实施例涉及计算机应用技术领域,尤其涉及一种数据可视化展示方法、装置、介质及电子设备。
背景技术:2.数据采集设备(dae)是将模拟电信号转换为数字信号存储起来,进行预处理的设备。数据采集设备的蓬勃发展加速了数据的流通与汇聚,促使数据资源体量指数式增长,数据呈现出海量、多样、低价值密度等一系列特征。
3.在保证数据安全的前提下,从数据采集设备中获取数据并对获取到的数据进行整理和挖掘,将数据之间的关系、趋势和规律以可读性更强的方式揭示给用户,对于将数据从费用成本转化为有效资产具有重要意义。
技术实现要素:4.本技术实施例提供一种数据可视化展示方法、装置、介质及电子设备,可以达到在保证数据安全性的同时丰富数据展示方式,到达提高数据可读性,提高用户体验的目的。
5.第一方面,本技术实施例提供了一种数据可视化展示方法,由桌面应用程序执行,所述方法包括:
6.生成对目标数据的目标展示请求;
7.向可视化服务器发送所述目标展示请求,使所述可视化服务器响应于所述目标展示请求,从候选数据和所述候选数据的展示配置信息中确定目标数据和所述目标数据的展示配置信息;
8.根据所述目标数据的展示配置信息,确定所述目标数据的目标展示样式,并通过所述目标展示样式将所述目标数据渲染到数据显示页面。
9.第二方面,本技术实施例提供了一种数据可视化展示装置,配置于桌面应用程序,所述装置包括:
10.目标展示请求生成模块,用于生成对目标数据的目标展示请求;
11.目标展示请求发送模块,用于向可视化服务器发送所述目标展示请求,使所述可视化服务器响应于所述目标展示请求,从候选数据和所述候选数据的展示配置信息中确定目标数据和所述目标数据的展示配置信息;
12.目标展示样式确定模块,用于根据所述目标数据的展示配置信息,确定所述目标数据的目标展示样式,并通过所述目标展示样式将所述目标数据渲染到数据显示页面。
13.第三方面,本技术实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本技术实施例所述的一种数据可视化展示方法。
14.第四方面,本技术实施例提供了一种电子设备,包括存储器,处理器及存储在存储器上并可在处理器运行的计算机程序,所述处理器执行所述计算机程序时实现如本技术实施例所述的一种数据可视化展示方法。
15.本技术实施例所提供的技术方案,桌面应用程序生成对目标数据的目标展示请求;向可视化服务器发送目标展示请求,使可视化服务器响应于目标展示请求,从候选数据和候选数据的展示配置信息中确定目标数据和目标数据的展示配置信息;根据目标数据的展示配置信息,确定目标数据的目标展示样式,并通过目标展示样式将所述目标数据渲染到数据显示页面。保证数据安全性的同时丰富数据展示方式,到达提高数据可读性,提高用户体验的目的。
附图说明
16.图1是本技术实施例一提供的一种数据可视化展示方法的流程图;
17.图2a是本技术实施例二提供的另一种数据可视化展示方法的流程图;
18.图2b是本技术实施例二提供的.net平台所开发的windows窗体程序的数据显示效果图;
19.图2c是基于本技术实施例提供的数据可视化展示方法得到的数据显示效果图;
20.图3是本技术实施例三提供的一种数据可视化展示装置的结构示意图;
21.图4是本技术实施例五提供的一种电子设备的结构示意图。
具体实施方式
22.下面结合附图和实施例对本技术作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本技术,而非对本技术的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本技术相关的部分而非全部结构。
23.在更加详细地讨论示例性实施例之前应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各步骤描述成顺序的处理,但是其中的许多步骤可以被并行地、并发地或者同时实施。此外,各步骤的顺序可以被重新安排。当其操作完成时所述处理可以被终止,但是还可以具有未包括在附图中的附加步骤。所述处理可以对应于方法、函数、规程、子例程、子程序等等。
24.实施例一
25.图1是本技术实施例一提供的一种数据可视化展示方法的流程图,本实施例可适用对数据进行可视化展示的情况。该方法可以由桌面应用程序执行,该桌面应用程序可以由软件和/或硬件的方式来实现,并可集成于运行此系统的电子设备中。
26.如图1所示,所述数据可视化展示方法包括:
27.s110、生成对目标数据的目标展示请求。
28.其中,目标展示请求用于向可视化服务器请求目标数据和目标数据的展示配置信息。目标展示请求是指将目标数据以可视化方式展示的请求。目标数据是需要可视化的数据。目标数据根据实际业务需求确定,示例性的目标数据可以是车站的旅客流量数据。
29.目标数据的目标展示请求,具体的,是存在数据可视化展示需求的情况下,由桌面应用程序产生的,示例性的,可以是桌面应用程序响应于用户点击数据可视化控件,生成对于目标数据的目标展示请求。可选的,目标数据是由桌面应用程序从数据采集设备获取,并发送至可视化服务器。其中,数据采集设备是用于进行数据采集的硬件设备。
30.s120、向可视化服务器发送所述目标展示请求,使所述可视化服务器响应于所述
目标展示请求,从候选数据和所述候选数据的展示配置信息中确定目标数据和所述目标数据的展示配置信息。
31.其中,候选数据是指存储在可视化服务器中的待展示数据。每一条候选数据均存在对应的展示配置信息。候选数据以及候选数据的展示配置信息均由桌面应用程序产生并发送给可视化服务器。其中,展示配置信息用于约束候选数据的可视化样式。目标数据在候选数据中产生,目标数据同样存在对应的展示配置信息。
32.可选的,目标展示请求中包括目标数据的数据标识,可视化服务器根据目标数据的数据标识选择出数据标识对应的候选数据作为目标数据,并选择与目标数据关联的展示配置信息,作为目标数据的展示配置信息。
33.桌面应用程序向可视化服务器发送目标展示请求,可视化服务器响应于接收到目标展示请求,从候选数据和候选数据的展示配置信息中确定目标数据和目标数据的展示配置信息,并将目标数据和目标数据的展示配置信息反馈给桌面应用程序。
34.可选的,桌面应用程序是基于ajax技术与可视化服务器进行通信的。其中,ajax是一种用于创建更好更快以及交互性更强的web应用程序的技术。ajax在浏览器与web服务器之间使用异步数据传输,是一种独立于web服务器软件的浏览器技术。ajax基于下列web标准:js(javascript)、xml(extensible markup language,可扩展标记语言)、html(hyper text markup language,超文本标记语言)和css(cascadingstylesheets,层叠样式表)。上述web标准已定义在ajax中,主流浏览器均支持ajax。
35.s130、根据所述目标数据的展示配置信息,确定所述目标数据的目标展示样式,并通过所述目标展示样式将所述目标数据渲染到数据显示页面。
36.其中,目标展示样式约束了目标数据的可视化样式。示例性的,目标展示样式包括饼图、柱状图、直方图、散点图、箱线图和折线图等。这里不对目标展示样式作限定,目标展示样式具体根据目标数据特点以及实际业务需求确定。
37.桌面应用程序根据目标数据的展示配置信息,确定目标数据的目标展示样式。桌面应用程序通过目标展示样式将目标数据渲染到数据显示页面,展示给用户。
38.在一个可选的实施例中,根据所述目标数据的展示配置信息,确定所述目标数据的目标展示样式,并通过所述目标展示样式将所述目标数据渲染到数据显示页面,包括:根据所述目标数据的展示配置信息,配置数据可视化图表库;通过所述数据可视化图表库,将所述目标数据以目标展示样式展示到数据显示页面。
39.其中,数据可视化图表库用于提供直观,生动,可交互,可个性化定制的数据可视化图表,数据可视化图表库中涵盖常规数据可视化样式。可选的,数据可视化图表库可以为d3.js、echarts.js、highcharts.js或者antv。优选的,数据可视化图表库为echarts.js。echarts使用javascript实现的开源可视化库,可以流畅的运行在pc和移动设备上,兼容当前绝大部分浏览器如ie8/9/10/11,chrome、firefox或者safari等。
40.本技术实施例所提供的技术方案,桌面应用程序生成对目标数据的目标展示请求;向可视化服务器发送目标展示请求,使可视化服务器响应于目标展示请求,从候选数据和候选数据的展示配置信息中确定目标数据和目标数据的展示配置信息;根据目标数据的展示配置信息,确定目标数据的目标展示样式,并通过目标展示样式将所述目标数据渲染到数据显示页面。保证数据安全性的同时丰富数据展示方式,到达提高数据可读性,提高用
户体验的目的。
41.实施例二
42.图2a是本技术实施例二提供的另一种数据可视化展示方法的流程图。本实施例在上述实施例的基础上进行进一步地优化。具体优化为,在所述生成对目标数据的目标展示请求之前,所述方法还包括:通过可视化配置页面获取展示样式信息,并根据所述展示样式信息为所述目标数据确定图表展示样式;展示与所述图表展示样式关联的图表元素属性,并获取所述图表元素属性的属性配置信息;根据所述图表展示样式和所述属性配置信息,生成所述目标数据的展示配置信息;将所述目标数据和所述目标数据的展示配置信息发送给所述可视化服务器。
43.如图2a所示,所述一种数据可视化展示方法包括:
44.s210、通过可视化配置页面获取展示样式信息,并根据所述展示样式信息为所述目标数据确定图表展示样式。
45.其中,可视化配置页面是由桌面应用程序产生,供用户根据实际业务需求为目标数据选择图表显示样式。可选的,可视化配置页面是基于js、css和html构建的,可视化配置页面展示有图像显示样式,可选的,图像显示样式来源于数据可视化图表库。展示样式信息是指针对于目标数据的图表展示样式选择信息。
46.桌面应用程序通过可视化配置页面获取用户针对于目标数据的展示样式信息,根据展示样式信息中图表展示样式的选择信息确定展示目标数据所需的图表显示样式。示例性的,图表显示样式可以是:饼图、柱状图、直方图、散点图、箱线图或者折线图。
47.s220、展示与所述图表展示样式关联的图表元素属性,并获取所述图表元素属性的属性配置信息。
48.其中,图表元素是指构成图表的基本元素。图表元素属性是指图表元素的颜色、字体、线条粗细以及图表标题等内容。可以知道的是,不同展示样式的图表,其基本组成元素也会存在差异。在图表展示样式确定的情况下,进一步的,桌面应用程序将与该图表展示样式关联的图表元素属性,在可视化配置页面中展示出来,以供用户根据实际业务需求进行配置。属性配置信息是指针对于目标数据的图表元素属性的配置信息。
49.s230、根据所述图表展示样式和所述属性配置信息,生成所述目标数据的展示配置信息。
50.其中,目标数据的展示配置信息包括目标数据的图表展示样式以及与图表展示样式关联的属性配置信息。桌面应用程序根据图表展示样式和属性配置信息,生成目标数据的展示配置信息。
51.可选的,在目标数据的图表展示样式和属性配置信息均确定的情况下,根据桌面应用程序生成的展示配置信息,通过数据可视化图表库,将目标数据的可视化效果展示出来。这样做可以使得用户能够直观地了解目标数据最终展示样式,并根据数据可视化效果对图表展示样式和属性配置信息进行调整。
52.s240、将所述目标数据和所述目标数据的展示配置信息发送给所述可视化服务器。
53.桌面应用程序将目标数据和目标数据的展示配置信息发送给可视化服务器,通过可视化服务器保存目标数据和目标数据的展示配置信息。
54.在一个可选的实施例中,在所述生成对目标数据的目标展示请求之前,所述方法还包括:生成对所述目标数据的数据获取请求;基于参数转换工具对所述数据获取请求进行格式转换,得到转换结果;其中,所述参数转换工具为edge.js或者node-ffi;基于所述转换结果建立与数据采集设备的通信连接,从所述数据采集设备获取所述目标数据,并将所述目标数据发送给所述可视化服务器。
55.其中,数据获取请求由桌面应用程序产生,用于从数据采集设备获取目标数据。从数据采集设备获取目标数据,具体的,可以通过基于数据采集设备通过动态链接库暴露出来的允许和数据采集设备通信的api,访问数据采集设备的驱动程序,调用驱动程序中的数据读取方法,从数据采集设备中读取目标数据。然而,可以知道的是,数据采集设备的动态链接库一般是基于.net平台开发的。而本技术实施例中桌面应用程序是并不是基于.net平台开发的。图2b是本技术实施例二提供的.net平台所开发的windows窗体程序的数据显示效果图,如图2b所示,基于.net平台所开发的windows窗体程序的(winform窗体),其数据显示界面的展示样式单一,很难将数据之间的关系、趋势和规律清晰地呈现,用户体验不好。
56.可选的,所述桌面应用程序基于nodejs环境,通过electron框架生成。其中,node.js是一个基于chrome v8引擎的javascript运行环境,使用了一个事件驱动、非阻塞式i/o模型,让javascript运行在服务端的开发平台,electron是一个使用javascript、html、css专注于构建桌面应用的框架。基于node.js结合electron框架使用javascript、html、css技术创建桌面应用程序。基于nodejs环境,通过electron框架生成的桌面应用程序,降低了桌面应用程序的开发难度。图2c是基于本技术实施例提供的数据可视化展示方法得到的数据显示效果图,图2c所示,此外,基于nodejs环境,通过electron框架生成的桌面应用程序有丰富数据展示样式,可以根据用户个性化需求将数据可视化展示出来,可以提高用户体验。桌面应用程序自身的启动和运行不依赖网络,而且桌面应用程序可以更好地访问计算机的硬件资源,桌面应用程序能更好的控制用户体验,不用担心不同浏览器处理css的规则以及对哪些javascript特性是被支持的。
57.为了使得基于nodejs环境通过electron框架生成桌面应用程序,可以调用基于.net平台开发的动态链接库中的api,实现桌面应用程序与数据采集设备的通信。桌面应用程序调用参数转换工具对数据获取请求进行格式转换,得到转换结果。其中,参数转换工具为edge.js或者node-ffi。edge.js的是一种实现node.js与.net互操作的桥接技术,可以在node.js中使用.net代码和库,也可以在.net中使用node.js的代码和库。edge.js运行需要.netframework4.5,可执行npm install edge下载edge.js依赖包。node-ffi是一个使用纯javascript加载和调用动态库的node.js插件。node-ffi可以用来在不编写任何c++代码的情况下创建与数据采集设备动态链接库的绑定,同时负责处理跨javascript和c的类型转换。node-ffi不需要源代码,只需要安装对应的ffi库通过buffer类、ref、ref-array、ref-struct实现数据转换。
58.桌面应用程序基于数据获取请求的转换结果,建立与数据采集设备的通信连接,调用数据采集设备驱动程序中的数据读取方法,从数据采集设备中读取目标数据。桌面应用程序将从数据采集设备获取到的目标数据发送给可视化服务器。上述技术方案通过桌面应用程序从采集设备直接获取目标数据,避免通过第三方获取目标数据造成数据泄露,保证了数据安全性。
59.s250、生成对目标数据的目标展示请求。
60.s260、向可视化服务器发送所述目标展示请求,使所述可视化服务器响应于所述目标展示请求,从候选数据和所述候选数据的展示配置信息中确定目标数据和所述目标数据的展示配置信息。
61.s270、根据所述目标数据的展示配置信息,确定所述目标数据的目标展示样式,并通过所述目标展示样式将所述目标数据渲染到数据显示页面。
62.本技术实施例所提供的技术方案,通过可视化配置页面获取展示样式信息,并根据所述展示样式信息为所述目标数据确定图表展示样式;展示与所述图表展示样式关联的图表元素属性,并获取所述图表元素属性的属性配置信息;根据所述图表展示样式和所述属性配置信息,生成所述目标数据的展示配置信息;将所述目标数据和所述目标数据的展示配置信息发送给所述可视化服务器。执行本技术实施例,可以根据用户实际业务需求为用户定制个性化的数据可视化图表样式,提高了用户体验。
63.实施例三
64.图3是本技术实施例三提供的一种数据可视化展示装置,本实施例可适用对数据进行可视化展示的情况。所述装置可由软件和/或硬件实现,并可集成于智能终端等电子设备中。
65.如图3所示,该装置可以包括:目标展示请求生成模块310、目标展示请求发送模块320和目标展示样式确定模块330。
66.目标展示请求生成模块310,用于生成对目标数据的目标展示请求;
67.目标展示请求发送模块320,用于向可视化服务器发送所述目标展示请求,使所述可视化服务器响应于所述目标展示请求,从候选数据和所述候选数据的展示配置信息中确定目标数据和所述目标数据的展示配置信息;
68.目标展示样式确定模块330,用于根据所述目标数据的展示配置信息,确定所述目标数据的目标展示样式,并通过所述目标展示样式将所述目标数据渲染到数据显示页面。
69.本技术实施例所提供的技术方案,桌面应用程序生成对目标数据的目标展示请求;向可视化服务器发送目标展示请求,使可视化服务器响应于目标展示请求,从候选数据和候选数据的展示配置信息中确定目标数据和目标数据的展示配置信息;根据目标数据的展示配置信息,确定目标数据的目标展示样式,并通过目标展示样式将所述目标数据渲染到数据显示页面。保证数据安全性的同时丰富数据展示方式,到达提高数据可读性,提高用户体验的目的。
70.可选的,所述装置还包括:数据获取请求生成模块,用于在所述生成对目标数据的目标展示请求之前,生成对所述目标数据的数据获取请求;格式转换模块,用于基于参数转换工具对所述数据获取请求进行格式转换,得到转换结果;其中,参数转换工具为edge.js或者node-ffi;目标数据获取模块,用于基于所述转换结果建立与数据采集设备的通信连接,从所述数据采集设备获取所述目标数据,并将所述目标数据发送给所述可视化服务器。
71.可选的,所述装置还包括:图表展示样式确定模块,用于在所述生成对目标数据的目标展示请求之前,通过可视化配置页面获取展示样式信息,并根据所述展示样式信息为所述目标数据确定图表展示样式;属性配置信息获取模块,用于展示与所述图表展示样式关联的图表元素属性,并获取所述图表元素属性的属性配置信息;展示配置信息生成模块,
用于根据所述图表展示样式和所述属性配置信息,生成所述目标数据的展示配置信息;数据发送模块,用于将所述目标数据和所述目标数据的展示配置信息发送给所述可视化服务器。
72.可选的,目标展示样式确定模块330,包括:数据可视化图表库配置子模块,用于根据所述目标数据的展示配置信息,配置数据可视化图表库;目标数据展示子模块,用于通过所述数据可视化图表库,将所述目标数据以目标展示样式展示到数据显示页面。
73.可选的,所述桌面应用程序基于nodejs环境,通过electron框架生成。
74.本发明实施例所提供的一种数据可视化展示装置可执行本发明任意实施例所提供的一种数据可视化展示方法,具备执行一种数据可视化展示方法相应的性能模块和有益效果。
75.实施例四
76.本技术实施例四还提供一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行一种数据可视化展示方法,由桌面应用程序执行,该方法包括:
77.生成对目标数据的目标展示请求;
78.向可视化服务器发送所述目标展示请求,使所述可视化服务器响应于所述目标展示请求,从候选数据和所述候选数据的展示配置信息中确定目标数据和所述目标数据的展示配置信息;
79.根据所述目标数据的展示配置信息,确定所述目标数据的目标展示样式,并通过所述目标展示样式将所述目标数据渲染到数据显示页面。
80.存储介质是指任何的各种类型的存储器电子设备或存储电子设备。术语“存储介质”旨在包括:安装介质,例如cd-rom、软盘或磁带装置;计算机系统存储器或随机存取存储器,诸如dram、ddr ram、sram、edo ram,兰巴斯(rambus)ram等;非易失性存储器,诸如闪存、磁介质(例如硬盘或光存储);寄存器或其它相似类型的存储器元件等。存储介质可以还包括其它类型的存储器或其组合。另外,存储介质可以位于程序在其中被执行的计算机系统中,或者可以位于不同的第二计算机系统中,第二计算机系统通过网络(诸如因特网)连接到计算机系统。第二计算机系统可以提供程序指令给计算机用于执行。术语“存储介质”可以包括可以驻留在不同未知中(例如在通过网络连接的不同计算机系统中)的两个或更多存储介质。存储介质可以存储可由一个或多个处理器执行的程序指令(例如具体实现为计算机程序)。
81.当然,本技术实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上所述的一种数据可视化展示操作,还可以执行本技术任意实施例所提供的一种数据可视化展示方法中的相关操作。
82.实施例五
83.本技术实施例五提供了一种电子设备,该电子设备中可集成本技术实施例提供的一种数据可视化展示装置,该电子设备可以是配置于系统内的,也可以是执行系统内的部分或者全部性能的设备。图4是本技术实施例五提供的一种电子设备的结构示意图。如图4所示,本实施例提供了一种电子设备400,其包括:一个或多个处理器420;存储装置410,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器420执行,使得所
述一个或多个处理器420实现本技术实施例所提供的一种数据可视化展示方法,由桌面应用程序执行,该方法包括:
84.生成对目标数据的目标展示请求;
85.向可视化服务器发送所述目标展示请求,使所述可视化服务器响应于所述目标展示请求,从候选数据和所述候选数据的展示配置信息中确定目标数据和所述目标数据的展示配置信息;
86.根据所述目标数据的展示配置信息,确定所述目标数据的目标展示样式,并通过所述目标展示样式将所述目标数据渲染到数据显示页面。
87.当然,本领域技术人员可以理解,处理器420还实现本技术任意实施例所提供的一种数据可视化展示方法的技术方案。
88.图4显示的电子设备400仅仅是一个示例,不应对本技术实施例的性能和使用范围带来任何限制。
89.如图4所示,该电子设备400包括处理器420、存储装置410、输入装置430和输出装置440;电子设备中处理器420的数量可以是一个或多个,图4中以一个处理器420为例;电子设备中的处理器420、存储装置410、输入装置430和输出装置440可以通过总线或其他方式连接,图4中以通过总线450连接为例。
90.存储装置410作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块单元,如本技术实施例中的一种数据可视化展示方法对应的程序指令。
91.存储装置410可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个性能所需的应用程序;存储数据区可存储根据终端的使用所创建的数据等。此外,存储装置410可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储装置410可进一步包括相对于处理器420远程设置的存储器,这些远程存储器可以通过网络连接。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
92.输入装置430可用于接收输入的数字、字符信息或语音信息,以及产生与电子设备的用户设置以及性能控制有关的键信号输入。输出装置440可包括显示屏、扬声器等电子设备。
93.上述实施例中提供的一种数据可视化展示装置、介质及电子设备可执行本技术任意实施例所提供的一种数据可视化展示方法,具备执行该方法相应的性能模块和有益效果。未在上述实施例中详尽描述的技术细节,可参见本技术任意实施例所提供的一种数据可视化展示方法。
94.注意,上述仅为本技术的较佳实施例及所运用技术原理。本领域技术人员会理解,本技术不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本技术的保护范围。因此,虽然通过以上实施例对本技术进行了较为详细的说明,但是本技术不仅仅限于以上实施例,在不脱离本技术构思的情况下,还可以包括更多其他等效实施例,而本技术的范围由所附的权利要求范围决定。