电网设备矢量图形数据的实时切片方法及存储介质与流程

文档序号:21974639发布日期:2020-08-25 19:06阅读:195来源:国知局
电网设备矢量图形数据的实时切片方法及存储介质与流程

本发明涉及图形数据处理技术领域,尤其涉及一种电网设备矢量图形数据的实时切片方法及存储介质。



背景技术:

目前对于图形数据的访问和渲染主要分为两种模式,一种是提前将数据进行瓦片化,处理成文件格式,在访问时直接获取文件;另一种是由前端直接访问结构化数据,将数据在前端处理和渲染。第一种模式通常用于电子地图等不需要频繁更新的应用,同时存在需要大量前期瓦片处理工作的弊端;第二种模式通常用于行业图形展示等需要频繁更新数据的应用,同时存在性能较低的弊端。

电网设备图形的展示通常采用上述第二种模式,虽然在应用层面可以进行优化处理,但仍受限于架构,无法达到高性能、实时更新的要求。



技术实现要素:

本发明所要解决的技术问题是:提供一种电网设备矢量图形数据的实时切片方法及存储介质,可提升图形查询和渲染的系统性能。

为了解决上述技术问题,本发明采用的技术方案为:一种电网设备矢量图形数据的实时切片方法,包括:

服务端获取电网设备的绘制数据,并加载至内存,所述绘制数据包括电网设备的坐标数据和预设的属性数据;

获取预设的图形渲染配置表,并加载至内存,所述图形渲染配置表存储有设备类型、比例尺范围和图形渲染配置方案的关联关系,所述图形渲染配置方案包括是否显示、图符、颜色和大小;

接收前端发送的数据查询请求,所述数据查询请求包括坐标范围、设备类型和自定义条件;

根据所述数据查询请求,查询对应的电网设备的绘制数据;

根据所述坐标范围和前端的绘制界面的大小,计算比例尺;

根据所述比例尺和所述设备类型,从所述图形渲染配置表中获取所述对应的电网设备的配置方案;

将所述对应的电网设备的绘制数据和配置方案返回至前端;

前端根据返回的电网设备的绘制数据和配置方案,在绘制界面上绘制所述电网设备。

本发明还涉及一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现如上所述的步骤。

本发明的有益效果在于:通过将电网设备的绘制数据和图形渲染配置表都缓存于服务端的内存中,在服务端的内存中进行数据检索,充分利用了计算机硬件技术提供的大内存、多cpu多核等特点,达到实时切片的能力。本发明通过服务器的内存缓存技术,大幅提升图形查询和渲染的系统性能,提升电网设备管理的工作效率和工作质量。

附图说明

图1为本发明实施例一的一种电网设备矢量图形数据的实时切片方法的流程图。

具体实施方式

为详细说明本发明的技术内容、所实现目的及效果,以下结合实施方式并配合附图详予说明。

本发明最关键的构思在于:将电网模型和图形缓存于应用服务器的内存中,在服务器内存处理图形数据获取和构建的逻辑,并从数据库实时获取更新数据,达到实时切片的能力。

请参阅图1,一种电网设备矢量图形数据的实时切片方法,包括:

服务端获取电网设备的绘制数据,并加载至内存,所述绘制数据包括电网设备的坐标数据和预设的属性数据;

获取预设的图形渲染配置表,并加载至内存,所述图形渲染配置表存储有设备类型、比例尺范围和图形渲染配置方案的关联关系,所述图形渲染配置方案包括是否显示、图符、颜色和大小;

接收前端发送的数据查询请求,所述数据查询请求包括坐标范围、设备类型和自定义条件;

根据所述数据查询请求,查询对应的电网设备的绘制数据;

根据所述坐标范围和前端的绘制界面的大小,计算比例尺;

根据所述比例尺和所述设备类型,从所述图形渲染配置表中获取所述对应的电网设备的配置方案;

将所述对应的电网设备的绘制数据和配置方案返回至前端;

前端根据返回的电网设备的绘制数据和配置方案,在绘制界面上绘制所述电网设备。

从上述描述可知,本发明的有益效果在于:可大幅提升图形查询和渲染的系统性能,提升电网设备管理的工作效率和工作质量。

进一步地,所述服务端获取电网设备的绘制数据,并加载至内存具体为:

服务端与数据库建立长连接;

服务端从数据库获取电网设备的绘制数据,并加载至内存;

服务端按照预设的周期时间查询数据库中的绘制数据是否发生变更;

若是,则同步更新内存中的绘制数据。

由上述描述可知,通过长连数据库,检测数据变更情况并同步更新内存中的数据,可达到数据实时更新的目的。

进一步地,所述服务端按照预设的周期时间查询数据库中的绘制数据是否发生变更具体为:

服务端获取并保存数据库的全局编号,所述全局编号用于表示数据库的数据变更次数;

服务端按照预设的周期时间查询数据库的全局编号,并与自身保存的全局编号进行对比;

若服务端保存的全局编号小于数据库的全局编号,则判定数据库中的绘制数据发生变更,并更新自身保存的全局编号。

由上述描述可知,通过设置全局编号记录数据变更次数,可快速地判断出数据库中的数据是否发生变更。

进一步地,服务端将同一类型的电网设备的绘制数据保存至同一个内存块。

由上述描述可知,后续可根据数据查询请求中的设备类型,在对应的内存块中进行检索,以提高查询效率。。

进一步地,所述根据所述坐标范围和前端的绘制界面的大小,计算比例尺具体为:

根据所述坐标范围中的经度范围,计算最大经度差值对应的实际距离;

根据绘制界面的长度和所述最大经度差值对应的实际距离,计算比例尺。

由上述描述可知,根据请求的坐标范围,计算对应的比例尺,后续根据比例尺获取对应的图形渲染配置方案,使得最后可在绘制界面中绘制适当大小的图符。

进一步地,所述将所述对应的电网设备的绘制数据和配置方案返回至前端具体为:

将所述对应的电网设备的绘制数据和配置方案打包为二进制流格式的文件;

对所述文件进行压缩,并将压缩后的文件返回至前端。

进一步地,所述前端根据返回的电网设备的绘制数据和配置方案,在绘制界面上绘制所述电网设备具体为:

前端对所述压缩后的文件进行解压缩,得到二进制流格式的文件;

对所述二进制流格式的文件进行解码,得到数据查询请求对应的电网设备的绘制数据和配置方案;

根据所得到电网设备的绘制数据和配置方案,在绘制界面上绘制所述电网设备。

由上述描述可知,通过进行打包和压缩后再传输,可提高数据传输的效率。

本发明还涉及一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现如上所述的步骤。

实施例一

请参照图1,本发明的实施例一为:一种电网设备矢量图形数据的实时切片方法,可应用于电网设备图形展示应用系统,包括如下步骤:

s1:服务端获取电网设备的绘制数据,并加载至内存。具体地,服务端在启动时,与电网数据库建立连接,然后读取数据库全量图形数据,按照预设的配置信息获取电网设备的坐标数据和预设的属性数据,其中,所述坐标数据为经纬度数据,所述属性数据包括但不限于设备名称、所属单位、电压等级和运行编号。

优选地,服务端将同一类型的电网设备的绘制数据保存至同一个内存块,即同一块内存区域,可提高后续根据设备类型查询数据的速率。由于数据库中一张数据表一般只存储同一类型的电网设备的数据,因此可通过将从同一数据表中获取的数据保存至同一个内存区域,来将同一类型的电网设备的绘制数据保存至同一个内存块。优选地,同时将每个电网设备的坐标数据和属性数据加载为一个内存对象。

优选地,服务端与数据库建立长连接。进一步地,服务端按照预设的周期时间查询数据库中电网设备的绘制数据是否发生变更,即判断是否有新增、修改或删除设备,若有,则根据数据变更信息,同步更新内存中的绘制数据,达到数据实时更新的目的。

优选地,为了提高判断效率,预先为数据库设置一个全局编号stateid,每新增、修改或删除一条记录时,则stateid的值递增1。服务端在最初获取绘制数据时,也获取数据库的全局编号,然后按照预设的周期时间(如1秒)查询数据库的全局编号,并与自身保存的全局编号进行对比,若服务端保存的全局编号小于数据库的全局编号,则说明数据库中的数据有更新,则同步更新内存中的绘制数据,并更新自身保存的全局编号。

s2:服务端获取预设的图形渲染配置表,并加载至内存,所述图形渲染配置表存储有设备类型、比例尺范围和图形渲染配置方案的关联关系,所述图形渲染配置方案包括是否显示、图符、颜色和大小。

例如,对于配电杆塔,当比例尺范围为0-1000,对应的图形渲染配置方案为:显示,图符1,红色,大小5;当比例尺范围为1000-5000,对应的图形渲染配置方案为:显示,图符1,红色,大小2;当比例尺范围为5000-10000,对应的图形渲染配置方案为:显示,图符1,红色,大小1;当比例尺范围为10000及以上,对应的图形渲染配置方案为:不显示。

s3:接收前端发送的数据查询请求,所述数据查询请求包括坐标范围、设备类型和自定义条件。其中,坐标范围可同时限定形状,如矩形、多边形、圆形等;自定义条件可用于限定待查询电网设备的属性,例如“设备所属单位为单位a”。

s4:根据所述数据查询请求,查询对应的电网设备的绘制数据;即在服务端的内存中检索坐标数据处于所述数据查询请求中的坐标范围内、设备类型为所述数据查询请求中的设备类型,且满足所述自定义条件的电网设备,然后获取这些电网设备的内存对象数据,即坐标数据和属性数据。

进一步地,由于步骤s1中将同一类型的电网设备的绘制数据保存至同一个内存块,因此在该步骤中,可根据数据查询请求中的设备类型,在对应的内存块中进行检索,以提高查询效率。

例如,假设数据查询请求中的参数为:经纬度为(118.12,24.46;118.15,24.50)的矩形范围,查询杆塔和导线,及自定义条件“设备所属单位为单位a”。服务端根据参数,在杆塔、导线设备对应的内存块中查询坐标数据处于上述矩形范围内,且设备所属单位为单位a的内存对象。

s5:根据所述坐标范围和前端的绘制界面的大小,计算比例尺。具体地,根据所述坐标范围中的经度范围,计算最大经度差值对应的实际距离;根据绘制界面的长度和所述最大经度差值对应的实际距离,计算比例尺。

即根据数据查询请求中的坐标范围中的经度范围,可计算出最大经度差值,然后根据经度和实际距离的换算公式(经度每相差一度,实际地面距离相差111千米),将最大经度差值转换成实际距离;然后通过计算前端的绘制界面的长度和该实际距离的比值,计算得到比例尺。

s6:根据所述比例尺和所述设备类型,从所述图形渲染配置表中获取所述对应的电网设备的配置方案;即根据图形渲染配置表中设备类型、比例尺范围和图形渲染配置方案的关联关系,查询到数据查询请求中的设备类型和步骤s5计算得到的比例尺对应的图形渲染配置方案,从而确定步骤s4查询得到的各电网设备对应的配置方案。

进一步地,将同一电网设备的绘制数据及配置方案组织归类为该电网设备的数据对象,便于后续同时获取该电网设备的绘制数据和配置方案。

s7:将所述对应的电网设备的绘制数据和配置方案返回至前端;即将根据数据查询请求查询得到的各电网设备对应的绘制数据和配置方案返回给前端。

进一步地,根据预设的编码格式,对所述对应的电网设备的绘制数据和配置方案进行编码,得到二进制流格式的文件;然后对所述文件进行压缩,以减少数据大小;最后将压缩后的文件返回至前端。

s8:前端根据返回的电网设备的绘制数据和配置方案,在绘制界面上绘制所述电网设备。

进一步地,前端对所述压缩后的文件进行解压缩,得到二进制流格式的文件;然后根据预设的解码格式,对所述二进制流格式的文件进行解码,得到数据查询请求对应的电网设备的绘制数据和配置方案;最后根据所得到电网设备的绘制数据和配置方案,在绘制界面上绘制所述电网设备。

对于需要渲染绘制的数据,前端使用每一个图形数据,将数据与其配置方案匹配,进行渲染。以一个杆塔为例,将其经纬度坐标(如118.12,24.46),结合设备图符(如连接两条对角线的方形)、颜色(如红色),按照配置大小(如5)绘制在视图界面上,重复以上步骤绘制所有查询到的设备。绘制完成后,即可得到矢量图形切片。

进一步地,步骤s1中服务端获取的绘制数据还包括电网设备的图符编号(图符id),当步骤s6中无法在图形渲染配置表中找到与计算出的比例尺对应的配置方案时,也即图形渲染配置表中未配置有该比例尺对应的图形渲染配置方案时,即可根据电网设备的图符编号,在相关的文件中获取对应的图符、颜色和大小,即获取对应的渲染配置数据,将该渲染配置数据作为电网设备的配置方案。

在实际实现时,服务端可发布实时矢量切片的rest服务接口,即将图形矢量实时切片的服务发布为rest服务接口,可接收的参数包括坐标范围(矩形、多边形、圆形等)、设备类型、查询条件等。其中,查询条件可用于数据查询。前端通过调用接口传入请求参数,服务端进行检索后将查询结果返回至前端,前端根据查询结果进行电网图像矢量切片的绘制。

本实施例提出在架构层面优化图形数据的应用模式,充分利用计算机硬件技术提供的大内存、多cpu多核等特点,将电网模型和图形缓存于应用服务器的内存中,在服务器内存处理图形数据获取和构建的逻辑,并从数据库实时获取更新数据,达到实时切片的能力。

本实施例相比现有技术中的电网设备图形查询渲染方法,结合内存图形对象、实时切片,是扩展的电网图形实时切片方法,提升了电网可视化查询展现的性能和效果,可满足图形数据读写性能需求,满足大范围电网数据应用要求,更好地支撑业务应用,在电网图形实时切片方面取得了满意的效果。服务端自动化处理请求,实时化更新数据,无需前期数据处理和持续数据运维更新,大大缩短数据更新耗时,提高工作效率。

实施例二

本实施例是对应上述实施例的一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现如下步骤:

服务端获取电网设备的绘制数据,并加载至内存,所述绘制数据包括电网设备的坐标数据和预设的属性数据;

获取预设的图形渲染配置表,并加载至内存,所述图形渲染配置表存储有设备类型、比例尺范围和图形渲染配置方案的关联关系,所述图形渲染配置方案包括是否显示、图符、颜色和大小;

接收前端发送的数据查询请求,所述数据查询请求包括坐标范围、设备类型和自定义条件;

根据所述数据查询请求,查询对应的电网设备的绘制数据;

根据所述坐标范围和前端的绘制界面的大小,计算比例尺;

根据所述比例尺和所述设备类型,从所述图形渲染配置表中获取所述对应的电网设备的配置方案;

将所述对应的电网设备的绘制数据和配置方案返回至前端;

前端根据返回的电网设备的绘制数据和配置方案,在绘制界面上绘制所述电网设备。

进一步地,所述服务端获取电网设备的绘制数据,并加载至内存具体为:

服务端与数据库建立长连接;

服务端从数据库获取电网设备的绘制数据,并加载至内存;

服务端按照预设的周期时间查询数据库中的绘制数据是否发生变更;

若是,则同步更新内存中的绘制数据。

进一步地,所述服务端按照预设的周期时间查询数据库中的绘制数据是否发生变更具体为:

服务端获取并保存数据库的全局编号,所述全局编号用于表示数据库的数据变更次数;

服务端按照预设的周期时间查询数据库的全局编号,并与自身保存的全局编号进行对比;

若服务端保存的全局编号小于数据库的全局编号,则判定数据库中的绘制数据发生变更,并更新自身保存的全局编号。

进一步地,服务端将同一类型的电网设备的绘制数据保存至同一个内存块。

进一步地,所述根据所述坐标范围和前端的绘制界面的大小,计算比例尺具体为:

根据所述坐标范围中的经度范围,计算最大经度差值对应的实际距离;

根据绘制界面的长度和所述最大经度差值对应的实际距离,计算比例尺。

进一步地,所述将所述对应的电网设备的绘制数据和配置方案返回至前端具体为:

将所述对应的电网设备的绘制数据和配置方案打包为二进制流格式的文件;

对所述文件进行压缩,并将压缩后的文件返回至前端。

进一步地,所述前端根据返回的电网设备的绘制数据和配置方案,在绘制界面上绘制所述电网设备具体为:

前端对所述压缩后的文件进行解压缩,得到二进制流格式的文件;

对所述二进制流格式的文件进行解码,得到数据查询请求对应的电网设备的绘制数据和配置方案;

根据所得到电网设备的绘制数据和配置方案,在绘制界面上绘制所述电网设备。

综上所述,本发明提供的一种电网设备矢量图形数据的实时切片方法及存储介质,通过将电网设备的绘制数据和图形渲染配置表都缓存于服务端的内存中,在服务端的内存中进行数据检索,充分利用了计算机硬件技术提供的大内存、多cpu多核等特点,达到实时切片的能力;服务端可自动化处理请求,实时化更新数据,无需前期数据处理和持续数据运维更新,大大缩短数据更新耗时,提高工作效率。本发明通过服务器的内存缓存技术,大幅提升图形查询和渲染的系统性能,提升电网设备管理的工作效率和工作质量。

以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等同变换,或直接或间接运用在相关的技术领域,均同理包括在本发明的专利保护范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1