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

一种基于redis内存多时态的电网GIS数据处理方法和装置与流程

2021-11-15 18:48:00 来源:中国专利 TAG:

一种基于redis内存多时态的电网gis数据处理方法和装置
技术领域
1.本发明涉及电网数据处理领域,尤其涉及一种基于redis内存多时态的电网gis数据处理方法和装置。


背景技术:

2.电网gis数据建模过程中,常涉及到对电网数据的创建、修改、删除等操作。这些操作又涉及到不同的时间段,因此每一次进行建模时,都会产生一份以时间为版本的电网数据结构,用于记录每一个电网要素的创建时间,变化信息和删除时间等。
3.发明人发现,对于电网gis服务端与多时态的电网数据连接,本领域技术人员常通过连接数据库,对电网gis数据进行读写操作。然而对于现有的电网企业,可能存在千万甚至上亿的输配电网设备需要进行建模、数据存储以及快速调用的操作。而这些操作涉及电网的拓扑以及各类数据的加载和存储。而对于现有的设备查询技术,仍存在查询速度慢、效率低以及耗费资源巨大的技术问题。


技术实现要素:

4.本发明提供了一种基于redis内存多时态的电网gis数据加载方法和装置,以解决快速查询电网数据的设备索引结构的技术问题。
5.为了解决上述技术问题,本发明实施例提供了一种基于redis内存多时态的电网gis数据加载方法,包括:
6.获取电网gis数据,并将所述电网gis数据缓存在redis内存中;其中,每个缓存的电网gis数据均包括运行版本数据、变更版本数据和历史版本数据,且每个版本数据包括版本id、设备索引管理器、数据名称和设备类型数据;每个设备类型数据包括该类别所有设备的所有设备数据、设备的空间索引和设备的名称索引信息;
7.根据redis内存中所有缓存数据的设备类型数据,构建电网gis拓扑数据索引;其中,所述电网gis拓扑数据索引记录了每个设备id对应的设备链关系索引;所述设备链关系索引包括设备id和设备对象;所述设备对象包括运行版本对象、变更版本对象和其他历史版本对象;
8.响应服务端触发的数据调用请求,并根据所述数据调用请求,查询所述电网gis拓扑数据索引,获取待调用的电网gis数据,将所述待调用的电网gis数据发送给所述服务端,以使所述服务端展示所述待调用的电网gis数据;其中,所述数据调用请求用于调用不同版本类型的电网gis数据。
9.进一步的,所述的所述设备链关系索引包括设备id和设备对象;其中,所述设备对象的数据访问必须通过同一个指针进行访问。
10.进一步的,所述根据所述数据调用请求,查询所述电网gis拓扑数据索引,获取待调用的电网gis数据,将所述待调用的电网gis数据发送给所述服务端,以使所述服务端展示所述待调用的电网gis数据,具体为:
11.当所述数据调用请求要求调用的第一电网gis数据的版本类型为运行版本数据时,查询构建好的所述电网gis拓扑数据索引,获取所述第一电网gis数据对应的第一运行版本数据,将所述第一运行版本数据发送给所述服务端,以使所述服务端展示所述第一运行版本数据。
12.进一步的,当所述数据调用请求要求调用的第二电网gis数据的版本类型为变更版本数据时,查询构建好的所述电网gis拓扑数据索引,获取所述第二电网gis数据对应的第二变更版本数据,将所述第二变更版本数据发送给所述服务端,以使所述服务端展示所述第二变更版本数据。
13.进一步的,当所述数据调用请求要求调用的第三电网gis数据的版本类型为历史版本数据时,查询构建好的所述电网gis拓扑数据索引,获取所述第三电网gis数据对应的第三历史版本数据,将所述第三历史版本数据发送给所述服务端,以使所述服务端展示所述第三历史版本数据。
14.进一步的,在将所述待调用的电网gis数据发送给所述服务端,以使所述服务端展示所述待调用的电网gis数据之后,还包括:
15.与所述待调用电网gis数据对应的设备对象从redis内存中自动释放。
16.进一步的,所述设备索引管理器使用hashmap结构和list结构共存的结构。
17.进一步的,所述服务端展示所述待调用的电网gis数据,具体为:
18.所述服务端查看电网的时空变化、回溯某个工单断面的修改记录或者规划引用。
19.进一步的,所述的所述设备链关系索引包括设备id和设备对象;其中,所述设备对象包括:设备id、版本id、拓扑数据、空间位置数据、设备属性数据和状态数据。
20.相应的,本发明实施例还提供了一种基于redis内存多时态的电网gis数据处理装置,包括:获取模块、索引构建模块和展示模块;
21.所述获取模块用于获取电网gis数据,并将所述电网gis数据缓存在redis内存中;其中,每个缓存的电网gis数据均包括运行版本数据、变更版本数据和历史版本数据,且每个版本数据包括版本id、设备索引管理器、数据名称和设备类型数据;每个设备类型数据包括该类别所有设备的所有设备数据、设备的空间索引和设备的名称索引信息;
22.所述索引构建模块用于根据redis内存中所有缓存数据的设备类型数据,构建电网gis拓扑数据索引;其中,所述电网gis拓扑数据索引记录了每个设备id对应的设备链关系索引;所述设备链关系索引包括设备id和设备对象;所述设备对象包括运行版本对象、变更版本对象和其他历史版本对象;
23.所述展示模块用于响应服务端触发的数据调用请求,并根据所述数据调用请求,查询所述电网gis拓扑数据索引,获取待调用的电网gis数据,将所述待调用的电网gis数据发送给所述服务端,以使所述服务端展示所述待调用的电网gis数据;其中,所述数据调用请求用于调用不同版本类型的电网gis数据。
24.本发明提供了一种基于redis内存多时态的电网gis数据处理方法和装置,具有以下有益效果:
25.本发明提供了一种基于redis内存多时态的电网gis数据处理方法和装置,获取电网gis数据,并将所述电网gis数据缓存在redis内存中;根据redis内存中所有缓存数据的设备类型数据,构建电网gis拓扑数据索引;响应服务端触发的数据调用请求,并根据所述
数据调用请求,查询所述电网gis拓扑数据索引,获取待调用的电网gis数据,将所述待调用的电网gis数据发送给所述服务端,以使所述服务端展示所述待调用的电网gis数据;本发明利用了redis硬件内存的优势以及创建不同时态的电网gis拓扑数据索引,提高了io读写速度,获得相应的索引结构,达到快速查询电网数据的目的。
附图说明
26.图1:为本发明基于redis内存多时态的电网gis数据处理方法提供的一种实施例。
27.图2:为本发明基于redis内存多时态的电网gis数据处理装置提供的一种实施例的结构示意图。
具体实施方式
28.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
29.实施例一:
30.请参照图1,为本发明实施例提供的一种基于redis内存多时态的电网gis数据处理方法,包括步骤101至步骤103,各步骤具体如下:
31.步骤101:获取电网gis数据,并将所述电网gis数据缓存在redis内存中;其中,每个缓存的电网gis数据均包括运行版本数据、变更版本数据和历史版本数据,且每个版本数据包括版本id、设备索引管理器、数据名称和设备类型数据;每个设备类型数据包括该类别所有设备的所有设备数据、设备的空间索引和设备的名称索引信息。
32.在本实施例中,为了保证电网建模效率,在数据库方面,将电网的数据库根据建模状态区分为运行库、编辑库和历史库三个数据库(三个数据库都属于db数据库模型)。相应地,本发明实施例将运行态数据定义为运行版本,编辑态数据定义为变更版本,历史态数据定义为历史版本。每个版本都包含设备id、版本id、拓扑关系、空间位置、设备属性和状态数据等的电网数据。当有电网数据变更需求时,基于运行版本创建编辑工单,在工单中执行数据修改的操作,修改后的数据状态存储在编辑库中;经过审核后,将编辑后的数据同步到运行库中,即为变更版本;同时将原运行库中的数据归集记录到历史库中,即为历史版本;归集到历史库的过程中,构建历史库数据链表记录,将不同编辑过程中的数据完整保存下来,方便后续业务应用的对比查验。
33.在本实施例中,通过数据加载服务获取电网gis数据,连接运行库、编辑库和历史库三个db数据库,预加载运行版本、变更版本和历史版本的数据并缓存在redis内存中;每个版本数据都包括版本id、设备索引管理器、数据名称和设备类型数据,而设备类型数据都包括该类别所有设备的类型id、tc_id、设备id和设备链关系索引、空间索引和名称索引等。
34.在本实施例中,所述设备索引管理器使用hashmap结构和list结构共存的结构。该设备索引管理器管理所有设备相关的映射关系,包括拓扑关系的索引、所属站房的索引、导线和knot关系索引、gadget和knot关系索引、线路和线段关系索引、线路和导线组关系索
引、导线组和导线段关系索引、gadget和端口关系索引、部门和设备关系索引、线路和变压器关系索引、台区和设备关系索引以及线路和落火关系索引等。每个索引由一个可配置个数的hashmap,构成的list组成。而索引的对象即具体的映射关系对象,包括设备链指针以及对象数据索引。
35.步骤102:根据redis内存中所有缓存数据的设备类型数据,构建电网gis拓扑数据索引;其中,所述电网gis拓扑数据索引记录了每个设备id对应的设备链关系索引;所述设备链关系索引包括设备id和设备对象;所述设备对象包括运行版本对象、变更版本对象和其他历史版本对象。
36.在本实施例中,所述电网gis拓扑数据索引记录了每个设备id对应的设备连关系索引;所述设备链关系索引是一个指针,只有数据的加载、更新操作才可以访问到该指针。
37.在本实施例中,所述的所述设备链关系索引包括设备id和设备对象;其中,所述设备对象的数据访问必须通过同一个指针进行访问。该设备对象包括:设备id、版本id、拓扑数据、空间位置数据、设备属性数据和状态数据,从版本的角度可以划分为运行版本对象、变更版本对象和历史版本对象。本实施例默认在初始时加载运行版本的设备对象,当存在变更场景或历史版本查询时,会构造相应的变更设备对象或历史设备对象。
38.步骤103:响应服务端触发的数据调用请求,并根据所述数据调用请求,查询所述电网gis拓扑数据索引,获取待调用的电网gis数据,将所述待调用的电网gis数据发送给所述服务端,以使所述服务端展示所述待调用的电网gis数据;其中,所述数据调用请求用于调用不同版本类型的电网gis数据。
39.在本实施例中,所述根据所述数据调用请求,查询所述电网gis拓扑数据索引,获取待调用的电网gis数据,将所述待调用的电网gis数据发送给所述服务端,以使所述服务端展示所述待调用的电网gis数据,具体为:
40.当所述数据调用请求要求调用的第一电网gis数据的版本类型为运行版本数据时,查询构建好的所述电网gis拓扑数据索引,获取所述第一电网gis数据对应的第一运行版本数据,将所述第一运行版本数据发送给所述服务端,以使所述服务端展示所述第一运行版本数据。
41.当所述数据调用请求要求调用的第二电网gis数据的版本类型为变更版本数据时,查询构建好的所述电网gis拓扑数据索引,获取所述第二电网gis数据对应的第二变更版本数据,将所述第二变更版本数据发送给所述服务端,以使所述服务端展示所述第二变更版本数据。
42.当所述数据调用请求要求调用的第三电网gis数据的版本类型为历史版本数据时,查询构建好的所述电网gis拓扑数据索引,获取所述第三电网gis数据对应的第三历史版本数据,将所述第三历史版本数据发送给所述服务端,以使所述服务端展示所述第三历史版本数据。
43.在本实施例中,所述服务端展示所述待调用的电网gis数据,具体为:
44.根据应用场景的需求,利用redis硬件内存的优势以及创建不同时态的电网gis拓扑数据索引,所述服务端查看电网的时空变化、回溯某个工单断面的修改记录或者规划引用。
45.在本实施例中,在将所述待调用的电网gis数据发送给所述服务端,以使所述服务
端展示所述待调用的电网gis数据之后,还包括:
46.与所述待调用电网gis数据对应的设备对象从redis内存中自动释放。不再需要显式删除对象,防止了意外崩溃。
47.本发明提供了一种基于redis内存多时态的电网gis数据处理方法,具有以下有益效果:
48.本发明提供了一种基于redis内存多时态的电网gis数据处理方法,获取电网gis数据,并将所述电网gis数据缓存在redis内存中;根据redis内存中所有缓存数据的设备类型数据,构建电网gis拓扑数据索引;响应服务端触发的数据调用请求,并根据所述数据调用请求,查询所述电网gis拓扑数据索引,获取待调用的电网gis数据,将所述待调用的电网gis数据发送给所述服务端,以使所述服务端展示所述待调用的电网gis数据;本发明利用了redis硬件内存的优势以及创建不同时态的电网gis拓扑数据索引,提高了io读写速度,获得相应的索引结构,达到快速查询电网数据的目的。
49.实施例二:
50.请参照图2,图2为本发明提供的基于redis内存多时态的电网gis数据处理装置的一种实施例的结构示意图。如图2所示,该装置包括:获取模块201、索引构建模块202和展示模块203。
51.所述获取模块201用于获取电网gis数据,并将所述电网gis数据缓存在redis内存中;其中,每个缓存的电网gis数据均包括运行版本数据、变更版本数据和历史版本数据,且每个版本数据都包含设备id、版本id、拓扑关系、空间位置、设备属性和状态数据等的电网数据;每个设备类型数据包括该类别所有设备的所有设备数据、设备的空间索引和设备的名称索引信息;
52.在本实施例中,在本实施例中,为了保证电网建模效率,在数据库方面,将电网的数据库根据建模状态区分为:运行库、编辑库和历史库三个数据库。相应地,本发明实施例将运行态数据定义为运行版本,编辑态数据定义为变更版本,历史态数据定义为历史版本。每个版本都包含一份拓扑关系、属性、位置的电网数据。当有电网数据变更需求时,基于运行版本创建编辑工单,在工单中执行数据修改的操作,修改后的数据状态存储在编辑库中;经过审核后,将编辑后的数据同步到运行库中,即为变更版本;同时将原运行库中的数据归集记录到历史库中,即为历史版本;归集到历史库的过程中,构建历史库数据链表记录,将不同编辑过程中的数据完整保存下来,方便后续业务引用的对比查验。
53.在本实施例中,所述获取模块201通过数据加载服务获取电网gis数据,连接db数据库,预加载运行版本、变更版本和历史版本的数据并缓存在redis内存中;每个版本数据都包括版本id、设备索引管理器、数据名称和设备类型数据,而设备类型数据都包括该类别所有设备的类型id、tc_id、设备id和设备链关系索引、空间索引和名称索引等。
54.在本实施例中,所述设备索引管理器使用hashmap结构和list结构共存的结构。该设备索引管理器管理所有设备相关的映射关系,包括拓扑关系的索引、所属站房的索引、导线和knot关系索引、gadget和knot关系索引、线路和线段关系索引、线路和导线组关系索引、导线组和导线段关系索引、gadget和端口关系索引、部门和设备关系索引、线路和变压器关系索引、台区和设备关系索引以及线路和落火关系索引等等。每个索引由一个可配置个数的hashmap,构成的list组成。而索引的对象即具体的映射关系对象,包括设备链指针
以及对象数据索引。
55.所述索引构建模块202用于根据redis内存中所有缓存数据的设备类型数据,构建电网gis拓扑数据索引;其中,所述电网gis拓扑数据索引记录了每个设备id对应的设备链关系索引;所述设备链关系索引包括设备id和设备对象;所述设备对象包括运行版本对象、变更版本对象和其他历史版本对象。
56.在本实施例中,所述电网gis拓扑数据索引记录了每个设备id对应的设备连关系索引;所述设备链关系索引是一个指针,只有数据的加载、更新操作才可以访问到该指针。
57.在本实施例中,所述的所述设备链关系索引包括设备id和设备对象;其中,所述设备对象的数据访问必须通过同一个指针进行访问。该设备对象包括:设备id、版本id、拓扑数据、空间位置数据、设备属性数据和状态数据,从版本的角度可以划分为运行版本对象、变更版本对象和历史版本对象。本实施例默认在初始时加载运行版本的设备对象,当存在变更场景或历史版本查询时,会构造相应的变更设备对象或历史设备对象。
58.所述展示模块203用于响应服务端触发的数据调用请求,并根据所述数据调用请求,查询所述电网gis拓扑数据索引,获取待调用的电网gis数据,将所述待调用的电网gis数据发送给所述服务端,以使所述服务端展示所述待调用的电网gis数据;其中,所述数据调用请求用于调用不同版本类型的电网gis数据。
59.在本实施例中,所述根据所述数据调用请求,查询所述电网gis拓扑数据索引,获取待调用的电网gis数据,将所述待调用的电网gis数据发送给所述服务端,以使所述服务端展示所述待调用的电网gis数据,具体为:
60.当所述数据调用请求要求调用的第一电网gis数据的版本类型为运行版本数据时,查询构建好的所述电网gis拓扑数据索引,获取所述第一电网gis数据对应的第一运行版本数据,将所述第一运行版本数据发送给所述服务端,以使所述服务端展示所述第一运行版本数据。
61.当所述数据调用请求要求调用的第二电网gis数据的版本类型为变更版本数据时,查询构建好的所述电网gis拓扑数据索引,获取所述第二电网gis数据对应的第二变更版本数据,将所述第二变更版本数据发送给所述服务端,以使所述服务端展示所述第二变更版本数据。
62.当所述数据调用请求要求调用的第三电网gis数据的版本类型为历史版本数据时,查询构建好的所述电网gis拓扑数据索引,获取所述第三电网gis数据对应的第三历史版本数据,将所述第三历史版本数据发送给所述服务端,以使所述服务端展示所述第三历史版本数据。
63.在本实施例中,所述服务端展示所述待调用的电网gis数据,具体为:
64.根据应用场景的需求,利用redis硬件内存的优势以及创建不同时态的电网gis拓扑数据索引,所述服务端查看电网的时空变化、回溯某个工单断面的修改记录或者规划引用。
65.在本实施例中,在将所述待调用的电网gis数据发送给所述服务端,以使所述服务端展示所述待调用的电网gis数据之后,还包括:
66.与所述待调用电网gis数据设备对应的对象从redis内存中自动释放。不再需要显式删除对象,防止了意外崩溃。
67.本发明提供了一种基于redis内存多时态的电网gis数据处理装置,具有以下有益效果:
68.本发明提供了一种基于redis内存多时态的电网gis数据处理装置,获取电网gis数据,并将所述电网gis数据缓存在redis内存中;根据redis内存中所有缓存数据的设备类型数据,构建电网gis拓扑数据索引;响应服务端触发的数据调用请求,并根据所述数据调用请求,查询所述电网gis拓扑数据索引,获取待调用的电网gis数据,将所述待调用的电网gis数据发送给所述服务端,以使所述服务端展示所述待调用的电网gis数据;本发明利用了redis硬件内存的优势以及创建不同时态的电网gis拓扑数据索引,提高了io读写速度,获得相应的索引结构,达到快速查询电网数据的目的。
69.以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步的详细说明,应当理解,以上所述仅为本发明的具体实施例而已,并不用于限定本发明的保护范围。特别指出,对于本领域技术人员来说,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
再多了解一些

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

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

相关文献