一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种图表绘制方法、装置及计算机可读存储介质与流程

2021-10-19 23:32:00 来源:中国专利 TAG:计算机 图表 绘制 装置 可读


1.本技术涉及计算机技术领域,尤其涉及一种图表绘制方法、装置及计算机可读存储介质。


背景技术:

2.在如今这个大数据时代,图表是各个行业不可或缺的一种统计工具。图表可直观展示统计信息属性(时间性、数量性等),是一种很好的将对象属性数据直观、形象地“可视化”的手段。合理的图表数据,会更直观的反映数据间的关系,比用数据和文字描述更清晰、更易懂。将工作表中的数据转换成图表呈现,可以帮助我们更好地了解数据间的比例关系及变化趋势,对研究对象做出合理的推断和预测。因此,图表的绘制便成了大家的研究热点。
3.目前,对于图表绘制的方法可以分成两大类,一类是利用不同的后台语言(如java、go、python等)并结合不同的绘图库(如java图形库、go图形库、python图形库等)进行绘制,另一类则是利用前端绘组件进行绘制,并利用前端页面展示。对于这两类绘制图表的方法都存在一定的问题,前者由于每种后台语言都需要单独接入对应的图形库,因此成本较高,通用性较差,后者由于需要依赖浏览器界面的渲染,需要浏览器界面的支持才能打开绘制的图表,因此对浏览器界面依赖较强、支持的场景单一。


技术实现要素:

4.本技术实施例提供了一种图表绘制方法、装置及计算机可读存储介质,可以提高图表绘图的通用性以及场景适用性,并且可以脱离对浏览器界面的强依赖。
5.本技术实施例一方面公开了一种图表绘制方法,该方法包括:
6.获取业务平台提交的图表绘制请求,所述图表绘制请求携带有待处理数据;
7.通过解析所述待处理数据得到解析结果,并根据所述解析结果从基于无界面浏览器框架封装的多种前端绘图组件中确定目标绘图组件;
8.利用所述目标绘图组件和所述解析结果生成所述待处理数据对应的图表数据,并向所述业务平台发送所述图表数据,以使得所述业务平台通过终端设备以非网页的方式展示所述图表数据。
9.本技术实施例一方面公开了一种图表绘制方法,该方法包括:
10.向服务器提交图表绘制请求,所述图表绘制请求携带有待处理数据,所述图表绘制请求用于指示所述服务器根据所述待处理数据的解析结果从基于无界面浏览器框架封装的多种前端绘图组件中确定目标绘图组件,并利用所述目标绘图组件和所述解析结果生成所述待处理数据对应的图表数据;
11.接收所述服务器发送的所述图表数据;
12.向终端设备发送所述图表数据,以使得所述终端设备以非网页的方式展示所述图表数据,所述非网页的方式包括邮件页面、通知消息和报告文档中的一种或多种。
13.本技术实施例一方面公开了一种图表绘制装置,该装置包括:
14.获取单元,用于获取业务平台提交的图表绘制请求,所述图表绘制请求携带有待处理数据;
15.处理单元,用于通过解析所述待处理数据得到解析结果;
16.确定单元,用于根据所述解析结果从基于无界面浏览器框架封装的多种前端绘图组件中确定目标绘图组件;
17.所述处理单元,还用于利用所述目标绘图组件和所述解析结果生成所述待处理数据对应的图表数据;
18.发送单元,用于向所述业务平台发送所述图表数据,以使得所述业务平台通过终端设备以非网页的方式展示所述图表数据。
19.本技术实施例一方面公开了一种图表绘制装置,该装置包括:
20.发送单元,用于向服务器提交图表绘制请求,所述图表绘制请求携带有待处理数据,所述图表绘制请求用于指示所述服务器根据所述待处理数据的解析结果从基于无界面浏览器框架封装的多种前端绘图组件中确定目标绘图组件,并利用所述目标绘图组件和所述解析结果生成所述待处理数据对应的图表数据;
21.接收单元,用于接收所述服务器发送的所述图表数据;
22.所述发送单元,还用于向终端设备发送所述图表数据,以使得所述终端设备以非网页的方式展示所述图表数据,所述非网页的方式包括邮件页面、通知消息和报告文档中的一种或多种。
23.本技术实施例一方面公开了一种服务器,所述服务器包括存储器和处理器:所述存储器,用于存储计算机程序;所述处理器运行所述计算机程序,实现上述的图表绘制方法。
24.本技术实施例一方面公开了一种业务平台,所述业务平台包括存储器和处理器:所述存储器,用于存储计算机程序;所述处理器运行所述计算机程序,实现上述的图表绘制方法。
25.本技术实施例一方面公开了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器运行时,执行上述的图表绘制方法。
26.本技术实施例一方面公开了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述的图表绘制方法。
27.本技术实施例中,服务器获取业务平台提交的图表绘制请求,通过对图表绘制请求携带的待处理数据解析得到解析结果,并根据解析结果从基于无界面浏览器框架封装的多种前端绘图组件中确定目标绘图组件;利用目标绘图组件和解析结果生成待处理数据对应的图表数据,并向业务平台发送图表数据,以使得业务平台通过终端设备以非网页的方式展示图表数据。通过本技术实施例的方法,一方面,本技术从基于无界面浏览器框架封装的多种前端绘图组件中确定目标绘图组件,可以提高图表绘制的通用性以及场景适用性,另一方面,本技术是通过非网页的方式展示图表数据,可以脱离对浏览器界面的强依赖。
附图说明
28.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
29.图1是本技术实施例公开的一种图表绘制系统的架构示意图;
30.图2a是本技术实施例公开的一种图表绘制系统的场景示意图;
31.图2b是本技术实施例公开的一种图表展示的场景示意图;
32.图2c是本技术实施例公开的另一种图表展示的场景示意图;
33.图3是本技术实施例公开的一种图表绘制方法的流程示意图;
34.图4a是本技术实施例公开的一种图表组件封装的功能示意图;
35.图4b是本技术实施例公开的一种图表组件封装的分层架构示意图;
36.图5是本技术实施例公开的另一种图表绘制方法的流程示意图;
37.图6是本技术实施例公开的又一种图表绘制方法的流程示意图;
38.图7是本技术实施例公开的一种分层的图表绘制系统的架构示意图;
39.图8a是本技术实施例公开的一种图表绘制系统的服务层的功能示意图;
40.图8b是本技术实施例公开的一种对图表数据处理的示意图;
41.图9是本技术实施例公开的又一种图表绘制方法的流程示意图;
42.图10是本技术实施例公开的一种图表绘制装置的结构示意图;
43.图11是本技术实施例公开的另一种图表绘制装置的结构示意图;
44.图12是本技术实施例公开的一种计算机设备的结构示意图。
具体实施方式
45.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
46.请参见图1,图1为本技术实施例公开的一种图表绘制系统的架构示意图,如图1所示,该图表绘制系统的架构图100可以包括服务器101、业务平台102以及终端设备103,服务器101、业务平台102以及终端设备103可以进行通信连接。其中,服务器101主要用于对业务平台102发送的图表绘制请求进行处理,具体为:根据图表绘制请求从基于无界面浏览器框架封装的多种前端绘图组件中确定目标绘图组件,并利用目标绘图组件和图表绘制请求生成对应的图表数据,同时将图表数据发送给业务平台102;业务平台102主要用于向服务器101发送图表绘制请求以及接收服务器101生成的图表数据,进一步,业务平台102还用于向终端设备103发送该图表数据,以使得终端设备103以非网页的方式展示图表数据。业务平台102和终端设备103的数量可以包括多个,这里对数量不做具体的限定。
47.在一种可能的实现方式中,业务平台102向服务器101发送图表绘制请求,图表绘制请求中携带有待处理数据(主要用于图表的绘制);服务器101对待处理数据进行解析得到解析结果,解析待处理数据是为确定服务器101预先配置的数据格式中是否有和待处理
数据一样的数据格式;服务器101根据解析结果从基于无界面浏览器框架封装的多种前端绘图组件中确定出目标绘图组件(在确定预先配置的数据格式中有和待处理数据一样的数据格式的情况下);并利用目标绘图组件和解析结果生成待处理数据对应的图表数据。进一步,服务器101向业务平台101发送该图表数据,业务平台102再将图表数据发送给终端设备103,终端设备103以非网页的方式展示图表数据。通过该方法,一方面,本技术从基于无界面浏览器框架封装的多种前端绘图组件中确定目标绘图组件,可以提高图表绘图方法的通用性以及场景适用性,另一方面,本技术是通过非网页的方式展示图表数据,可以脱离对浏览器界面的强依赖。
48.在一种可能的实现方式中,可以用图2a将服务器101、业务平台102以及终端设备103的具体工作可以分为两部分,一部分为后台工作,另一部分为图表的场景展示(前端展示),如图2a所示,是本技术实施例公开的一种图表绘制系统的场景示意图,对于服务器101和业务平台102生成图表数据的过程可以包括数据准备部分和通用绘图制表功能部分,终端设备103接收到图表数据后,展示的应用场景可以包括邮件通知、短信消息通知、报告展示以及带图表的定时功能展示。上述的应用场景展示图表数据时,都无需借用网页(浏览器界面支持的网页)的辅助也能打开图表。例如,邮件通知就是将图表数据以图片的形式展示在邮件的正文页面,短信消息通知就是利用社交应用直接将图表数据以图片的形式展示在社交页面,报告展示就是在工作总结的文档中直接插入该图表数据。举例说明图表数据的展示,如利用社交应用直接将图表数据以图片的形式展示在社交页面,如图2b所示,是本技术实施例公开的一种图表展示的场景示意图,展示的是一个具体的社交应用的聊天界面,业务平台可以采用系统提示的方式,将图表数据进行展示,则用户看到的便是一张图片,如图2b中的20所示。又如图2c所示,是本技术实施例公开的另一种图表展示的场景示意图,该场景以邮件页面对图表数据进行展示,图2c所示,将工作绩效直接显示在邮件页面上,当员工收到邮件时,便可以直接查看,无需其他多余的操作。其中,带图表的定时功能可以应用在邮件和短信消息通知中,主要是业务平台102利用定时器等实现该功能。
49.对服务器101、业务平台102以及终端设备103作进一步解释:本技术实施例中的服务器101可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云计算服务的云服务器,本技术实施例在此不作限制。本技术实施例提供的技术方案中,以服务器为例,描述本技术实施例提供的技术方案。
50.本技术实施例中的业务平台102也可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云计算服务的云服务器。同时,业务平台102还可以不同终端设备对应的服务器。
51.本技术实施例中的终端设备103包括但不仅限于用户设备、具有无线通信功能的手持式设备、车载设备、可穿戴设备或计算设备。示例性地,终端设备103可以是手机(mobile phone)、平板电脑或带无线收发功能的电脑。终端设备103还可以是虚拟现实(virtual reality,vr)终端设备、增强现实(augmented reality,ar)终端设备、工业控制中的无线终端设备、无人驾驶中的无线终端设备、远程医疗中的无线终端设备、智能电网中的无线终端设备、智慧城市(smart city)中的无线终端设备、智慧家庭(smart home)中的无线终端设备等等。本技术实施例中,用于实现终端设备的功能的装置可以是终端;也可以是能够支持终端设备实现该功能的装置,例如芯片系统,该装置可以被安装在终端设备中。
本技术实施例提供的技术方案中,以终端设备为例,描述本技术实施例提供的技术方案。
52.请参见图3,图3是本技术实施例公开的一种图表绘制方法的流程示意图,该流程图主要是以服务器为执行主体进行阐述的,服务器可以是图1所示的服务器101,主要可以包括以下步骤:
53.s301、服务器获取业务平台提交的图表绘制请求,该图表绘制请求携带有待处理数据。
54.其中,服务器获取到的业务平台提交的图表绘制请求,这里的图表绘制请求是业务平台主动发送的,业务平台的发送该图表绘制请求的目的就是想要服务器返回绘制好的图表数据。
55.在一种可能的实现方式中,在服务器获取到图表绘制请求后,针对图表绘制请求中携带的待处理数据进行预处理,具体包括:获取流量阈值以及业务平台的权限配置信息。其中,流量阈值是服务器自身的配置中对数据量的约束值信息,可以是全局设置的,即对所有业务平台发送过来的数据的数量限制是一样的,也可以是根据具体的业务平台设置的,即针对不同的业务平台发送过来的数据的数量限制是不同的。业务平台的权限配置信息具体是服务器中记录的用于识别业务平台的标识。根据流量阈值以及业务平台的权限配置信息对待处理数据限流和鉴权处理。限流处理的具体方式为:若是业务平台发送的待处理数据的数据量大于了流量阈值,则服务器可以设置间隔时间对数据进行分时接收,因为本服务器可能同时处理了很多个业务平台发送的图表绘制请求,对其进行限流处理也是为了提高处理效率。鉴权处理的具体方式为:服务器将待处理数据携带的标识和获取到的业务平台的权限配置信息进行对比,检测该待处理数据携带的标识是否和业务平台的标识一致,若一致,则证明该数据是安全的,若不一致,表明该数据可能是恶意数据,很可能会攻击该服务器,并拒绝进行后续处理。
56.在一种可能的实现方式中,在服务器获取业务平台提交的图表绘制请求之前,服务器还要进行多种前端绘图组件的封装,具体包括:服务器获取绘图组件集合,绘图组件集合中包括多种前端绘图组件,这里的绘图组件主要指的是一些高效的前端绘图组件,包括highcharts绘图组件、echarts绘图组件、d3绘图组件等,本技术未一一列举。进一步,服务器基于无界面浏览器框架将多种前端绘图组件的源码导入组件配置文件,以对多种前端绘图组件进行封装,并完成封装。在本技术实施例中,无界面浏览器框架主要是利用puppeteer框架,puppeteer是由google开源的一款通过控制devtools协议来实现对浏览器的控制,可进行有界面或者无界面(headless)的界面自动化与高级爬虫。利用puppeteer作为运行环境,提供无界面的浏览器渲染和截图功能,使得整个绘图更加高效运转。为了更简洁使用和更好的扩展性,基于puppeteer封装了一个支持多种布局的功能,如html(hyper text markup language,超文本标记语言)布局,也提供了组件配置的功能(多种前端绘图组件的封装),如图4a所示。其中布局设置主要是在后台渲染图表的颜色、大小、以及背景等,多种前端绘图组件的封装主要为了提高绘图的通用性,具体如图4b所示,可以将组件配置以分层架构的形式进行阐述,在本技术实施例中,可以将其分为接口层、业务逻辑层、配置层,在一些可行的实施例中,也可以将其分为两层,即接口层和配置层。本技术实施例中,主要通过在配置层配置多个前端绘图组件,为业务逻辑层提供多种可选的绘图组件,丰富绘图的种类,即将前端绘图组件相关的源码(javascript源码)导入到配置文件中,图4b中
示例性的标出了绘图组件1的源码、绘图组件2的源码以及绘图组件3的源码,绘图组件可以是highcharts绘图组件、echarts绘图组件、d3绘图组件等等,再通过业务逻辑层的三步操作即可实现对相关绘图组件的调用,三步操作包括:一、设置数据,即将解析结果通过目标绘图接口传入目标绘图组件;二、渲染,即通过适配的目标绘图组件对解析结果进行渲染,以快速提供绘图功能;三、保存,即将生成的图表数据进行截图处理并保存。其中,接口层只要按照绘图规则配置信息提供相应的绘图组件接口即可,如折线图接口、柱状图接口等。对多绘图组件的进行功能的封装,使得层次清晰,接入方便快捷,可以为业务平台提供多种绘图功能。
57.其中,highcharts是一个用纯javascript编写的一个图表库,能够很简单便捷的在前端网站或是前端应用程序添加有交互性的图表,并且免费提供给个人学习、个人网站和非商业用途使用。highcharts支持的图表样式有曲线图、区域图、柱状图、饼状图、散状点图和综合图表。echarts(enterprise charts,商业级数据图表),一个纯javascript的图表库,可以流畅的运行在电脑和移动设备上,兼容当前绝大部分浏览器,底层依赖轻量级的canvas(画布)类库,提供直观、生动、可交互、高度个性化定制的数据可视化图表。d3(data drive document)绘图组件,一个和jquery类似的javascript库,提供了很多种有用的方法来用于数据的可视化。
58.s302、服务器通过解析待处理数据得到解析结果,并根据解析结果从基于无界面浏览器框架封装的多种前端绘图组件中确定目标绘图组件。
59.在一种可能的实现方式中,服务器在对待处理数据进行限流和鉴权处理后,对待处理数据进行解析得到解析结果,主要是解析该待处理数据的格式,以得到目标数据格式,解析后得到的目标数据格式是适用于服务器的,这样一来,可以对服务器进行进一步保护。进一步地,服务器获取预定义的多种数据格式,这里的多种数据格式为多种前端绘图组件支持的数据格式,并判断多种数据格式中是否包括目标数据格式,若是多种数据格式中包括目标数据格式,则服务器根据解析结果从多种前端绘图组件中确定目标绘图组件,目标绘图组件便是和目标数据格式所对应的绘图组件。其中,多种前端绘图组件是基于无界面浏览器框架封装的,即步骤s301中所描述的基于puppeteer框架封装的。
60.在一种可能的实现方式中,若是检测出多种数据格式中没有目标数据格式,则服务器便结束执行流程,向业务平台返回不能生成图表绘制请求所请求的图表数据。进一步地,开发人员根据这个不能完成的任务,对服务器进行优化,以实现更多功能的图表绘制。
61.s303、服务器利用目标绘图组件和解析结果生成待处理数据对应的图表数据,并向业务平台发送图表数据,以使得业务平台通过终端设备以非网页的方式展示图表数据。
62.在一种可能的实现方式中,服务器利用目标绘图组件和解析结果生成待处理数据对应的图表数据之前,还需要获取待处理数据对应的绘图规则配置信息,绘图规则配置信息即业务平台所期待的图表的样式以及图表布局等。在本技术实施中,服务器获取的绘图规则配置信息可以分成两大类:一类是从业务平台预先提交的配置信息中获取的,所谓预先提交的配置信息,在一些情况下,是业务平台和服务器首次建立连接时,所发送给服务器的,业务平台为了方便或者为了统一图表的样式,便发送了这样的一个配置信息,如某些企业的考勤统计数据,若每一次的统计图表样式都相同是利于管理的,同时,这种情况,因为服务器不需要每一次都重新去业务平台方获取图表的绘制规则配置信息,可以在一定程度
上节约时间,提高图表数据生成的速率;另一类则是从图表绘制请求中获取的,即图表绘制请求中携带有绘图规则配置信息,即业务平台每发送一次图表绘制请求,都自定义一套绘图规则配置信息在图表绘制请求中,这种情况多数都是业务平台所对应的客户的需求不一样,更趋向于个性化定制,如个人想要定制某些图表数据。不管是哪一类,服务器都需要先从图表绘制请求中去检测一下是否有绘图规则配置信息,若是有,则采用这套绘图规则配置信息中的规则,若是没有就采用业务平台预先提交的配置信息中对应的绘图规则配置信息的规则。更进一步,若是业务平台预先提交的配置信息都没有绘图规则配置信息,那么服务器便采用设置的默认的绘图规则配置信息的规则进行绘图,服务器设置的默认的绘图规则配置信息多数都是根据历史统计信息得到的一套通用的规则。
63.在一种可能的实现方式中,服务器获取到待处理数据对应的绘图规则配置信息后,根据该绘图规则配置信息从多种绘图接口中确定目标绘图接口,目标绘图接口可能不止一个,有时候,业务平台针对一组数据可能想要不同的图表样式,其中,每种绘图接口对应一种图表样式,这里的图表样式多种多样,如折线图、柱状图、环形图、饼状图等等,这里就不再一一列举了。进一步地,服务器通过目标绘图接口调用目标绘图组件对解析结果进行绘图,以生成待处理数据对应的图表数据,更具体地,服务器通过目标绘图接口将解析结果传入目标绘图组件,再利用目标绘图组件渲染解析结果对应的图表,具体的渲染图表,包括对图表的样式以及布局(包括图表颜色、背景颜色、字体大小以及颜色等等)的渲染,这里渲染得到的图表的具体图表样式为目标绘图接口对应的图表样式。最后,服务器再对图表进行截图处理,以得到待处理数据对应的图表数据,并对该图表数据进行存储,对应的,根据图表绘制请求,有多少张图表的需要,就生成多少张图片。在本技术实施中,可以采用目前业内常用且高效的云对象存储服务(cloud object service,cos存储)对图表数据进行存储。其中,对图表进行截图处理是为了方便业务平台将图表数据发送给终端设备,以利于终端设备以非网页的形式展示。利用cos存储,可以针对不同的应用场景(邮件、消息、报告等),提供图表存储支持,适配各类图表展示场景,延展性强。这里的截图数据中不仅包括了截图的图表,还包括一些图表所对应的数据信息,如截图时间、图表的总数据量等等。
64.在一种可能的实现方式中,当服务器对待处理数据进行图表数据生成过程中,判断业务平台是否要求服务器返回图表数据生成的进程消息,若是有,则服务器则实时地向业务平台返回进程,若是没有硬性的返回进程的要求,则服务器将所有待处理数据处理完成后,再向业务平台返回结果。
65.在一种可能的实现方式中,服务器还可以将生成的图表数据存储在服务器的底层(存储层),这里的存储可以为后期对数据的校验提供有效的依据。还可能在某些情况下,可能在生成图表数据时产生错误,存储每一个执行步骤的数据便可以快速的找到错误的原因。
66.在一种可能的实现方式中,服务器可以同时处理来自不同业务平台的图表绘制请求。在本技术实施中,根据对15个实际样本(30天的数据周期,每隔0.5天采集一次数据)的测试,若串行绘制5张柱状图和折线图,平均耗时是2.7秒;若增加服务器的并发处理能力,发现平均耗时会降低1秒左右。因此,本技术提供的方法,适用并发处理,即可以同时处理多个业务平台的图表绘制请求,且效率较高。
67.本技术实施例中,服务器获取业务平台提交的图表绘制请求,通过对图表绘制请
求携带的待处理数据解析得到解析结果,并根据解析结果从基于无界面浏览器框架封装的多种前端绘图组件中确定目标绘图组件;利用目标绘图组件和解析结果生成待处理数据对应的图表数据,并向业务平台发送图表数据,以使得业务平台通过终端设备以非网页的方式展示图表数据。通过本技术实施例的方法,一方面,本技术从基于无界面浏览器框架封装的多种前端绘图组件中确定目标绘图组件,可以提高图表绘制的通用性以及场景适用性,另一方面,本技术是通过非网页的方式展示图表数据,可以脱离对浏览器界面的强依赖。
68.请参见图5,图5是本技术实施例公开的另一种图表绘制方法的流程示意图,该流程图主要是以业务平台为执行主体进行阐述的,业务平台可以是图1所示的业务平台102,主要可以包括以下步骤:
69.s501、业务平台向服务器提交图表绘制请求,图表绘制请求用于指示服务器根据绘制图表数据。
70.在一种可能的实现方式中,业务平台定时向服务器提交图表绘制请求,或者实时(即有需要就提交一次图表绘制请求)向服务器提交图表绘制请求,图表绘制请求可以是由用户设置的,即用户根据自己的需求将数据以及要求提交到业务平台对应的服务器。例如,某企业需要公司职员的考勤数据的统计表,或者个人想要知道自己身体的各项指标的统计表,都可以图表绘制请求发送给业务平台。
71.其中,图表绘制请求用于指示服务器根据绘制图表数据,具体的:图表绘制请求携带有待处理数据,图表绘制请求用于指示服务器根据待处理数据的解析结果从基于无界面浏览器框架封装的多种前端绘图组件中确定目标绘图组件,并利用目标绘图组件和解析结果生成所述待处理数据对应的图表数据。具体生成过程已经在图3中进行了详细的阐述。
72.s502、业务平台接收服务器发送的图表数据。
73.在一种可能的实现方式中,服务器生成图表数据后,会将图表数据发送给业务平台,业务平台就会对应的接收该图表数据。并将该图表数据保存在业务平台的服务器中,业务平台可以实时地将图表数据发送给终端设备,也可以在满足触发条件时发送给终端设备,触发条件时可以是触发定时器功能,定时器功能所对应的场景可以为周报、月报等,即到了设定的时间,业务平台通过邮件以及消息的方式发送给终端设备,以使得不同的终端设备对应的用户了解到自己近期的工作情况。
74.s503、业务平台向终端设备发送图表数据,以使得终端设备以非网页的方式展示图表数据。
75.在一种可能的实现方式中,可以是业务平台向终端设备发送图表数据,以使得终端设备以非网页的方式展示图表数据,终端设备可以是业务平台直接连接的终端设备,也可以是通过间接方式和业务平台连接的终端设备。
76.在另一种可能的实现方式中,可以是服务器直接将图表数据发送给终端设备,以使得终端设备以非网页的方式展示图表数据。这种情况,是业务平台发送图表绘制请求时,携带有对应的终端设备的ip地址,这样服务器便能根据终端设备到的ip地址实现图表数据的发送。
77.其中,非网页的方式包括邮件页面、通知消息和报告文档中的一种或多种。即当用户打开邮件页面可以直观地看到图表数据,而不需要用户通过点击链接,再跳转到浏览器页面才能看到图表数据。
78.本技术实施中,通过业务平台的角度对本技术实施例进行阐述,业务平台向服务器提交图表绘制请求,并接收服务器发送的根据图表绘制请求生成的图表数据,再向终端设备发送图表数据,以使得终端设备以非网页的方式展示图表数据,通过该方法体现了本技术实施例所提供的图表绘制方法的通用性,不管是哪一类业务平台,通过了服务器的认证,便可以高效的获取到服务器生成的图表数据。
79.请参见图6,图6是本技术实施例公开的又一种图表绘制方法的流程示意图,该流程图主要是以服务器、业务平台以及终端设备交互的方式对本技术进行阐述的,涉及的执行主体有服务器、业务平台以及终端设备(如图1所示的服务器101、业务平台102以及终端设备103),该交互的流程示意图可以包括以下步骤:
80.s601、终端设备向业务平台发送图表绘制请求。
81.s602、业务平台向服务器发送图表绘制请求。
82.s603、服务器接收图表绘制请求,并对图表绘制请求进行处理,生成图表数据。
83.s604、服务器向业务平台发送图表数据。
84.s605、业务平台向终端设备发送图表数据。
85.在一种可能的实现方式中,对于企业来说,发送图表绘制请求的终端设备可以是企业管理者对应的终端设备,对于个人来说,发送图表绘制请求的终端设备可以是任何个人的终端设备。该图表绘制请求可以根据用户的需求进行不同的调整。具体的,业务平台接收到图表绘制请求之后,就将图表绘制请求转发给服务器。服务器接收到图表绘制请求,对图表绘制请求进行处理,以生成图表绘制请求携带的待处理数据对应的图表数据。具体的处理步骤如图3所示,这里就不再一一阐述了。进一步,服务器向业务平台发送图表数据,服务器再根据终端设备对应的要求向终端设备发送图表数据。
86.本技术实施例中,通过服务器、业务平台以及终端设备交互的方式对本技术实施例提供的图表绘制方法进行阐述,可以更直观地看到的服务器、业务平台以及终端设备的处理步骤,也通过该方式体现出该方法的通用性和场景适用性。
87.请参见图7,图7是本技术实施例公开的一种分层的图表绘制系统的架构示意图,主要阐述的服务器侧的分层架构,如图7所示,本技术实施中,可以将图表绘制系统分成应用层、服务层以及存储层,其逻辑是从上至下,即从应用层到服务层,应服务层再到存储层:
88.应用层主要是面向业务平台,主要包括业务调用模块以及数据输入模块,业务调用指的是业务平台对本服务器所提供的方法的调用,包括定时调用、实时调用等等,数据输入指的是业务平台传输过来的数据,对应于本技术实施例,可以是图表绘制请求,以及预先提交的配置信息等等。
89.服务层主要是服务器针对业务平台调用的业务的处理的核心层,进一步地,为了提供更好的扩展性,依赖服务单一原则,可以将服务层拆分成如图7所示的上下两部分,上面部分可以包括功能触发、数据异步采样、预处理、数据整理以及数据上报,下面部分可以包括数据接收、数据解析、数据绘制、截图处理、图片存储。对应地,上下两部分所实现的具体功能划分可以如图8a所示,图7服务层的上面部分实现的是图表数据处理功能,(针对不同的业务需求可以通过配置实现),可以提供数据采集,数据整理等功能,以使得更灵活、方便提供处理对外的服务;图7服务层的下面部分实现的是渲染截图功能,具有良好的支持绘图功能的扩展性。其中,功能触发指的是接收到业务平台发送的图表绘制请求,数据异步采
样指的是从业务平台发送的数据中对数据进行接收(数据量较大时),预处理和数据整理都是对数据进行一个初步的处理,包括限流处理和安全处理等,如步骤s302所述。对数据进行整理之后,就将数据进行上报到下一层,即图7对应的服务层下面部分,具体的处理在图3中已经进行了详细的阐述。其中,图8a对应的图表数据处理功能的实现逻辑可以用图8b进行阐述,即服务器通过通信协议接口(如rpc、http等接口)接收业务平台发送过来的数据,对发送过来的数据进行配置、鉴权以及限流处理,同时,服务器还对通过接口调用的前端绘图组件(highcharts数据、echarts等)进行整理,包括格式的整理以及封装。进一步地,图7所示的服务层还包括通知平台服务模块以及cos存储模块,通知平台服务模块用于向业务平台发送通知信息,cos存储模块用于图表的存储,可以针对不同的应用场景(邮件、消息、报告等),提供图表存储支持,适配各类图表展示场景,延展性强。
90.在一种可能的实现方式中,可以将服务层所实现的功能用图9所示的流程图进行阐述,图9所示流程图也是本技术的核心流程,先后顺序包括:功能触发、业务数据采集、数据整理、数据解析、判断是否支持绘图组件、绘图组件功能封装、图表获取并存储、判断是否需要触达通知。其中,判断是否支持绘图组件即判断在待处理数据是否支持服务器的提供的绘图组件,若支持,则直接调用封装好的前端绘图组件功能进行图表绘制,得到图表后,就截图处理,以得到图表数据,若待处理数据不支持服务器的提供的绘图组件,则服务器直接结束处理流程。进一步地,判断是否需要触达通知,即判断业务平台是否需要服务器返回图表绘制进程,若需要,则服务器每处理一次数据,就向服务器发送一次进程信息,直到结束,若是业务平台没有要求服务器返回图表绘制进程,则服务器将所有待处理数据处理完成后,再结束流程。
91.存储层主要是用于存储数据,在本技术实施例中,存储的数据库格式是mdb(message driven bean)格式的关系数据库,主要是为了方便对数据的使用。
92.其中,该架构还包括网关模块、监控模块,网关模块主要是用于与业务平台建立通信连接,监控模块主要用于监控服务器的各个阶段,并生成每个阶段相对应的日志信息。
93.请参见图10,图10是本技术实施例公开的一种图表绘制装置的结构示意图,该图表绘制装置1000可以包括:获取单元1001、处理单元1002、确定单元1003以及发送单元1004,其中:
94.获取单元1001,用于获取业务平台提交的图表绘制请求,所述图表绘制请求携带有待处理数据;
95.处理单元1002,用于通过解析所述待处理数据得到解析结果;
96.确定单元1003,用于根据所述解析结果从基于无界面浏览器框架封装的多种前端绘图组件中确定目标绘图组件;
97.所述处理单元1002,还用于利用所述目标绘图组件和所述解析结果生成所述待处理数据对应的图表数据;
98.发送单元1004,用于向所述业务平台发送所述图表数据,以使得所述业务平台通过终端设备以非网页的方式展示所述图表数据。
99.在一种可能的实现方式中,所述处理单元1002利用所述目标绘图组件和所述解析结果生成所述待处理数据对应的图表数据,用于:
100.获取所述待处理数据对应的绘图规则配置信息;
101.根据所述绘图规则配置信息从多种绘图接口中确定目标绘图接口,每种绘图接口对应一种图表样式;
102.通过所述目标绘图接口调用所述目标绘图组件对所述解析结果进行绘图,以生成所述待处理数据对应的图表数据。
103.在一种可能的实现方式中,所述处理单元1002通过所述目标绘图接口调用所述目标绘图组件对所述解析结果进行绘图,以生成所述待处理数据对应的图表数据,用于:
104.通过所述目标绘图接口将所述解析结果传入所述目标绘图组件;
105.利用所述目标绘图组件渲染所述解析结果对应的图表,所述图表的图表样式为所述目标绘图接口对应的图表样式;
106.通过对所述图表进行截图处理,以得到所述待处理数据对应的图表数据。
107.在一种可能的实现方式中,所述获取单元1001获取所述待处理数据对应的绘图规则配置信息,用于:
108.从所述业务平台预先提交的配置信息中获取所述待处理数据对应的绘图规则配置信息;或者,
109.从所述图表绘制请求中获取所述待处理数据对应的绘图规则配置信息,所述图表绘制请求还携带有所述绘图规则配置信息。
110.在一种可能的实现方式中,所述获取单元1001,还用于获取流量阈值以及所述业务平台的权限配置信息;
111.所述处理单元1002,还用于:
112.根据所述流量阈值以及所述业务平台的权限配置信息对待处理数据进行限流和鉴权处理;
113.在限流和鉴权处理通过后,执行所述通过解析所述待处理数据得到解析结果的步骤。
114.在一种可能的实现方式中,所述获取单元1001,还用于获取绘图组件集合,所述绘图组件集合中包括多种前端绘图组件;
115.所述处理单元1002,还用于基于无界面浏览器框架将所述多种前端绘图组件的源码导入组件配置文件,以对所述多种前端绘图组件进行封装。
116.在一种可能的实现方式中,所述获取单元1001,还用于获取预定义的多种数据格式以及所述解析结果包括的目标数据格式,所述多种数据格式为所述多种前端绘图组件支持的数据格式;
117.所述处理单元1002,还用于:
118.判断所述多种数据格式中是否包括所述目标数据格式;
119.若是,则执行所述根据所述解析结果从基于无界面浏览器框架封装的多种前端绘图组件中确定目标绘图组件的步骤。
120.本技术实施例中,获取单元1001获取业务平台提交的图表绘制请求,处理单元1002通过对图表绘制请求携带的待处理数据解析得到解析结果,确定单元1003根据解析结果从基于无界面浏览器框架封装的多种前端绘图组件中确定目标绘图组件;处理单元1002利用目标绘图组件和解析结果生成待处理数据对应的图表数据,最后,通过发送单元1004向业务平台发送图表数据,以使得业务平台通过终端设备以非网页的方式展示图表数据。
通过本技术实施例的方法,一方面,本技术从基于无界面浏览器框架封装的多种前端绘图组件中确定目标绘图组件,可以提高图表绘图的通用性以及场景适用性,另一方面,本技术是通过非网页的方式展示图表数据,可以脱离对浏览器界面的强依赖。
121.请参见图11,图11是本技术实施例公开的一种图表绘制装置的结构示意图,该图表绘制装置1100可以包括:发送单元1101、接收单元1102,其中:
122.发送单元1101,用于向服务器提交图表绘制请求,所述图表绘制请求携带有待处理数据,所述图表绘制请求用于指示所述服务器根据所述待处理数据的解析结果从基于无界面浏览器框架封装的多种前端绘图组件中确定目标绘图组件,并利用所述目标绘图组件和所述解析结果生成所述待处理数据对应的图表数据;
123.接收单元1102,用于接收所述服务器发送的所述图表数据;
124.所述发送单元1101,还用于向终端设备发送所述图表数据,以使得所述终端设备以非网页的方式展示所述图表数据,所述非网页的方式包括邮件页面、通知消息和报告文档中的一种或多种。
125.本技术实施例中,发送单元1101向服务器提交图表绘制请求,接收单元1102,接收服务器发送的根据图表绘制请求生成的图表数据,并通过发送单元1101,向终端设备发送图表数据,以使得终端设备以非网页的方式展示图表数据,通过该方法,体现了本技术实施例所提供的图表绘制方法的通用性,不管是什么业务平台,通过了服务器的认证,便可以高效的获取到服务器生成的图表数据。
126.请参见图12,图12是本技术实施例公开的一种计算机设备的结构示意图,该计算机设备1200既可以实现服务器所执行的步骤,也可以实现业务平台所执行的步骤,该计算机设备1200至少包括处理器1201、存储器1202以及通信装置1203。其中,处理器1201、存储器1202以及通信装置1203可通过总线或者其它方式连接。通信装置1203用于收发数据。存储器1202可以包括计算机可读存储介质,存储器1202用于存储计算机程序,计算机程序包括计算机指令,处理器1201用于执行存储器1202存储的计算机指令。处理器1201(或称cpu(central processing unit,中央处理器))是计算机设备1200的计算核心以及控制核心,其适于实现一条或多条计算机指令,具体适于加载并执行一条或多条计算机指令从而实现相应方法流程或相应功能。
127.本技术实施例还公开了一种计算机可读存储介质(memory),计算机可读存储介质是计算机设备1200中的记忆设备,用于存放程序和数据。可以理解的是,此处的存储器1202既可以包括计算机设备1200中的内置存储介质,当然也可以包括计算机设备1200所支持的扩展存储介质。计算机可读存储介质提供存储空间,该存储空间存储了计算机设备1200的操作系统。并且,在该存储空间中还存放了适于被处理器1201加载并执行的一条或多条的计算机指令,这些计算机指令可以是一个或多个的计算机程序(包括程序代码)。需要说明的是,此处的存储器1202可以是高速ram存储器,也可以是非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器;可选的还可以是至少一个位于远离前述处理器1201的计算机可读存储介质。
128.在一种实现方式中,计算机设备1200可以是图1所示的图表绘制系统中的服务器101;该存储器1202中存储有第一计算机指令;由处理器1201加载并执行存储器1202中存放的第一计算机指令,以实现图3、图6所示方法实施例中的相应步骤;具体实现中,存储器
1202中的第一计算机指令由处理器1201加载并执行如下步骤:
129.获取业务平台提交的图表绘制请求,所述图表绘制请求携带有待处理数据;
130.通过解析所述待处理数据得到解析结果,并根据所述解析结果从基于无界面浏览器框架封装的多种前端绘图组件中确定目标绘图组件;
131.利用所述目标绘图组件和所述解析结果生成所述待处理数据对应的图表数据;
132.向所述业务平台发送所述图表数据,以使得所述业务平台通过终端设备以非网页的方式展示所述图表数据。
133.在一种可能的实现方式中,所述处理器1201利用所述目标绘图组件和所述解析结果生成所述待处理数据对应的图表数据,用于:
134.获取所述待处理数据对应的绘图规则配置信息;
135.根据所述绘图规则配置信息从多种绘图接口中确定目标绘图接口,每种绘图接口对应一种图表样式;
136.通过所述目标绘图接口调用所述目标绘图组件对所述解析结果进行绘图,以生成所述待处理数据对应的图表数据。
137.在一种可能的实现方式中,所述处理器1201通过所述目标绘图接口调用所述目标绘图组件对所述解析结果进行绘图,以生成所述待处理数据对应的图表数据,用于:
138.通过所述目标绘图接口将所述解析结果传入所述目标绘图组件;
139.利用所述目标绘图组件渲染所述解析结果对应的图表,所述图表的图表样式为所述目标绘图接口对应的图表样式;
140.通过对所述图表进行截图处理,以得到所述待处理数据对应的图表数据。
141.在一种可能的实现方式中,所述处理器1201获取所述待处理数据对应的绘图规则配置信息,用于:
142.从所述业务平台预先提交的配置信息中获取所述待处理数据对应的绘图规则配置信息;或者,
143.从所述图表绘制请求中获取所述待处理数据对应的绘图规则配置信息,所述图表绘制请求还携带有所述绘图规则配置信息。
144.在一种可能的实现方式中,所述处理器1201,还用于:
145.获取流量阈值以及所述业务平台的权限配置信息;
146.根据所述流量阈值以及所述业务平台的权限配置信息对待处理数据进行限流和鉴权处理;
147.在限流和鉴权处理通过后,执行所述通过解析所述待处理数据得到解析结果的步骤。
148.在一种可能的实现方式中,所述处理器1201,还用于:
149.获取绘图组件集合,所述绘图组件集合中包括多种前端绘图组件;
150.基于无界面浏览器框架将所述多种前端绘图组件的源码导入组件配置文件,以对所述多种前端绘图组件进行封装。
151.在一种可能的实现方式中,所述处理器1201,还用于:
152.获取预定义的多种数据格式以及所述解析结果包括的目标数据格式,所述多种数据格式为所述多种前端绘图组件支持的数据格式;
153.判断所述多种数据格式中是否包括所述目标数据格式;
154.若是,则执行所述根据所述解析结果从基于无界面浏览器框架封装的多种前端绘图组件中确定目标绘图组件的步骤。
155.本技术实施例,处理器1201获取业务平台提交的图表绘制请求,对图表绘制请求携带的待处理数据解析得到解析结果,并根据解析结果从基于无界面浏览器框架封装的多种前端绘图组件中确定目标绘图组件;利用目标绘图组件和解析结果生成待处理数据对应的图表数据,最后,向业务平台发送图表数据,以使得业务平台通过终端设备以非网页的方式展示图表数据。通过本技术实施例的方法,一方面,本技术从基于无界面浏览器框架封装的多种前端绘图组件中确定目标绘图组件,可以提高图表绘图的通用性以及场景适用性,另一方面,本技术是通过非网页的方式展示图表数据,可以脱离对浏览器界面的强依赖。
156.在一种实现方式中,计算机设备1200可以是图1所示的图表绘制系统中的业务平台102;该存储器1202中存储有第一计算机指令;由处理器1201加载并执行存储器1202中存放的第一计算机指令,以实现图5、图6所示方法实施例中的相应步骤;具体实现中,存储器1202中的第一计算机指令由处理器1201加载并执行如下步骤:
157.向服务器提交图表绘制请求,所述图表绘制请求携带有待处理数据,所述图表绘制请求用于指示所述服务器根据所述待处理数据的解析结果从基于无界面浏览器框架封装的多种前端绘图组件中确定目标绘图组件,并利用所述目标绘图组件和所述解析结果生成所述待处理数据对应的图表数据;
158.接收所述服务器发送的所述图表数据;
159.向终端设备发送所述图表数据,以使得所述终端设备以非网页的方式展示所述图表数据,所述非网页的方式包括邮件页面、通知消息和报告文档中的一种或多种。
160.本技术实施例中,业务平台的处理器向服务器提交图表绘制请求,接收服发送的根据图表绘制请求生成的图表数据,并向终端设备发送图表数据,以使得终端设备以非网页的方式展示图表数据,通过该方法,体现了本技术实施例所提供的图表绘制方法的通用性。
161.根据本技术的一个方面,还公开了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备可以执行前文图3、图5以及图6流程图所对应实施例中的方法,因此,这里将不再进行赘述。
162.需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本技术并不受所描述的动作顺序的限制,因为依据本技术,某些步骤可能可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本技术所必须的。
163.在本技术所提供的几个实施例中,应该理解到,所揭露的装置,可通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如上述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。
164.以上所述,仅为本技术的具体实施方式,但本技术的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本技术揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本技术的保护范围之内。因此,本技术的保护范围应以所述权利要求的保护范围为准。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献

  • 日榜
  • 周榜
  • 月榜