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

一种面向电力二次设备的嵌入式实时数据库的制作方法

2022-02-20 06:44:02 来源:中国专利 TAG:
1.本发明涉及一种实时数据库,尤其涉及一种面向电力二次设备的嵌入式实时数据库。
背景技术
::2.随着有源设备智能终端软硬件技术不断发展,传统的配电网和调度自动化scada-ems技术在数据处理的时效性方面瓶颈逐步显现。但由于电网调度技术具有一定的相通性,微型电网能量管理系统又需要以大电网的scada-ems平台为基础。而作为scada-ems平台核心的实时数据库,通常情况下需要运行在大型服务器环境中,对cup、内存、存储等系统资源要求较高。如何将实时数据库移植到cpu、内存及存储资源有限的嵌入式智能终端设备,并在微型电网智能终端中发挥其应有的数据处理时效性价值,是未来智能配电网,特别是微型电网技术发展亟需解决的关键课题之一。3.目前国内针对嵌入式实时数据库的研究主要依托开源数据库,并在其基础上开展应用研究为主。其中,一种用于微型电网智能终端的实时数据库实现方法采用了mysql数据库,将组成实时数据库的数据表、域和记录通过文件映射方式映射到智能终端的内存中,形成数据库实体,缺点在于数据访问及提交需要经过复杂的词法语法解析,cpu资源开销巨大;基于移动终端的跨平台的轻量数据库封装方法及系统,实现了在html页面跨平台的数据库操作,解决了基于不同移动智能终端平台在html页面对数据库操作功能重复开发的问题,缺点在于数据库本身采用的是开源的sqlite产品,系统安全性得不到保障;基于arm平台的嵌入式实时数据库的设计与实现将传统的实时数据库在arm平台进行了移植,实现了基础的存储功能,缺点在于需要调用专用的接口,缺乏对电力设备应用的友好性。研究人员还尝试采用嵌入式实时操作系统解决嵌入式装置的实时数据存储问题,但嵌入式实时系统本质上还是属于操作系统范畴,与嵌入式实时数据库有质的区别。4.现有的嵌入式实时数据库大多以开源产品为主,这些开源产品特点多数主要为通用的关系型数据库,在电力系统嵌入式设备内普遍存在系统cpu等资源消耗较高、与电力二次设备模型匹配度不强、安全性无法保障等问题。技术实现要素:5.发明目的:本发明旨在提供一种面向电力二次设备的嵌入式实时数据库,解决现有实时数据库在电力二次设备环境下普遍存在系统资源消耗较高、与电力二次设备模型匹配度不强、安全性无法保障等问题。6.技术方案:本发明所述的面向电力二次设备的嵌入式实时数据库,从下而上依次包括存储层、模型层和应用层;7.所述存储层存储测点模型和测点对应的量测数据,包括存储接口模块、轻量缓存模块、数据压缩模块、数据存储模块和资源优化模块;所述模型层存储设备物模型,并将物模型与存储层的测点模型关联,包括模型接口模块、模型算法模块和模型存储模块;所述应用层实现数据查询分析和通过对外接口实现模型的构建和数据接入。8.所述物模型属性包括动态属性和静态属性,动态属性描述设备的采集量测类型数据,包括三相电流、三相电压、有功功率、无功功率;静态属性描述设备的档案类型数据,包括序号、属性名称、类型、单位、采集周期。9.所述物模型采用包括叶子节点和非叶子节点树形结构组织管理;所述非叶子节点作为树的索引;所述叶子节点在创建时记录与存储层关联的测点标识;所述节点的结构包括节点描述、节点名称、父节点和子节点。10.所述设备的物模型采用改进的文档模型存储;所述改进的文档模型存储以一个文档为单位进行模型存储,支持数组和文档嵌套,关系模型中需要拆分的信息用一个文档表示。11.存储层的测点模型和测点对应的量测数据通过哈希算法关联。12.所述模型层树形结构组织管理的模型节点通过测点映射规则的方式与测点模型进行关联,根据模型路径与节点名称组合成全路径设备属性,并通过该属性与测点模型中的测点名称关联。13.所述数据库采用改进的广度优先搜索算法,首先访问起始顶点v,然后由v出发,依次访问v的各个未被访问过的邻接顶点w1,w2,w3…wn,然后再依次访问w1,w2,…,wi的所有未被访问过的邻接顶点,再从这些访问过的顶点出发,通过剪枝优化,再访问它们所有未被访问过的邻接顶点,以此类推,直到途中所有的顶点都被访问过为止。14.所述数据库的部署为从里到外的嵌入式实时数据库、嵌入式应用程序、嵌入式容器和电力系统二次设备实体四层结构,所述嵌入式实时数据库以动态链接库形式植入嵌入式应用程序内部;所述嵌入式应用程序为数据接入应用,用于采集存储实时数据;所述嵌入式容器部署于嵌入式操作系统内,用于承载不同的嵌入式应用;所述电力系统二次设备实体用于承载嵌入式操作系统。15.有益效果:与现有技术相比,本发明具有如下显著优点:16.(1)通过树形结构实现了轻量化的电力模型高度匹配,并通过分离式存储方式降低了实时数据库在电力二次嵌入式设备环境下的内存及存储资源消耗。17.(2)通过内存映射规则及改进的广度优先搜索算法实现了测点数据的高效访问,避免了频繁的内存及cpu操作。18.(3)极大地提升了系统安全性,从而可以满足电力二次设备终端对时序任务处理的高时效性、低能耗、安全性等要求。附图说明19.图1本发明中电力二次嵌入式智能终端示意图;20.图2本发明嵌入式实时数据库部署示意图;21.图3本发明嵌入式实时数据库系统结构示意图;22.图4本发明树形结构模型示意图;23.图5本发明模型数据关联方式示意图;24.图6本发明elf哈希函数流程图;25.图7本发明bfs搜索算法流程图。具体实施方式26.下面结合附图对本发明的技术方案作进一步说明。27.图1所示的微电网智能终端是一种典型的电力二次设备,可同时采集数百个智能电表、断路器等多种电力设备的实时数据,具有内存容量少、存储规模小、处理器运算能力有限等特点。为了满足在电力二次设备中用较小的cpu、内存等系统资源来维护大量的、强时间特性的共享数据的要求,需要解决微型系统下的轻量化实时数据库技术以及应用方式。28.由图2可知,本发明所述面向电力二次设备的嵌入式实时数据库的总体部署由外向内分为四层,最外层为第①层,表示电力系统二次设备实体,由图1所示的各个单元组成,用于承载嵌入式操作系统;第②层为嵌入式容器,该容器为以docker为代表的嵌入式容器,部署于嵌入式操作系统内,用于承载不同的嵌入式应用;第③层为嵌入式应用程序,在具体的实施例中,表示为数据接入应用以及嵌入式数据中心应用程序,用于采集、存储实时数据;第④层为嵌入式实时数据库,该实时数据库以动态链接库形式植入在嵌入式应用程序内部,与应用程序通过数据库接口进行耦合,不占用独立的进程句柄,极大程度上节约了系统资源,同时支持嵌入式、容器化部署。29.由图3可知,本发明所述的面向电力二次设备的嵌入式实时数据库自下而上,依次包括存储层、模型层和应用层三部分。30.存储层存储测点模型以及测点对应的量测数据,包括存储接口模块、轻量缓存模块、数据压缩模块、数据存储模块和资源优化模块;31.模型层存储设备物模型,并通过物模型管理模块统一管理,将物模型与测点模型关联,包括模型接口、模型算法以及模型存储等部分。存储层和模型层构成了嵌入式实时数据库的核心部分。32.应用层用于数据查询分析,以及通过接口对外提供模型构建、数据接入等应用能力,主要包括管理工具和数据应用,通过嵌入式实时数据库接口实现数据可视化以及数据库应用。33.模型层的物模型管理模块通过树形结构实现物模型的组织管理功能,如图4所示,树形结构中包括叶子节点和非叶子节点,非叶子节点作为树的索引,叶子节点在创建时记录测点标识,与数据库存储层的测点标识关联,以链表形式存储在系统内存中。34.树节点的结构定义如下:[0035][0036]传统的关系型数据模型以二维表来表示实体与实体之间的联系,在数据建模时需要对数据对象进行拆分,再将各自的信息存到对应的表里,在需要时再将各个表连接起来,缺点在于不但存在着大量的存储冗余,同时多表连接需要进行大量的关联计算,消耗了大量的系统资源。本发明采用了改良的文档模型(i-json)形式存储设备物模型,以一个文档为单位进行模型存储,支持数组和文档嵌套,关系模型中需要拆分的信息可以直接用一个文档来表示。[0037]i-json是在json(javascriptobjectnotation)结构的基础上,优化添加了节点的完整路径、节点类型以及节点属性信息,支持嵌套结构与数组。具体的结构定义如下表所示。[0038]表1i-json结构示意表[0039]序号属性名属性类型子属性名子属性类型1dynamicintnamestring[]2dynamicinttypeint3staticintnamestring[]4nodeintpathstring5nodeinttypeint6nodeintarchiveint[][0040]所述物模型设备属性包含动态属性和静态属性,动态属性用于描述设备的采集量测类型数据,包括但不限于三相电流、三相电压、有功功率、无功功率等;静态属性用于描述设备的档案类型数据,具体实施例中,主要包括但不限于序号、属性名称、类型、单位、采集周期等等,设备属性随设备功能有所区别。[0041]所述测点模型管理模块通过哈希算法实现所有电力二次设备的动态属性管理,并通过测点映射规则的方式建立并维护设备动态属性与设备量测数据的关联关系。[0042]如图5所示,存储层包括测点模型和数据压缩存储两部分,二者通过哈希算法进行关联,哈希函数通过可执行链接格式函数elfhash(exextableandlinkingformat,elf),将字符串的绝对长度作为输入,并通过编码转换把字符的十进制值结合起来,确保产生的测点id位置能够均匀分布,同时方便根据点名进行位置定位时具备较高的查询性能,具体的算法逻辑流程如图6所示。[0043]本专利所述模型层树形模型节点通过测点映射规则的方式与测点模型进行关联,主要根据模型路径与节点名称组合而成全路径设备属性,并通过该属性与测点模型中的测点名称进行关联。具体的实施过程中,全路径设备属性通过路径符号“/”将模型路径与节点名称进行组合,同时测点模型中的测点名称按照组合而成的设备属性进行定义,由于路径与节点名称可用于描述唯一的设备属性,因此组合而成的字符串也可定义唯一的测点名称,从而保证了测点的唯一性。[0044]为进一步节约存储空间,提升存储效率,采用分离式存储的方式实现模型与数据的分类管理,将模型数据与采集数据分别存储在模型层与存储层两个部分,实现了嵌入式环境下的存储优化,大幅降低了存储资源消耗,同时进一步优化了内存缓存资源。[0045]考虑到引入树形结构后针对测点数据的访问需要通过树形模型进行查找定位,为了提升查询性能,同时降低嵌入式系统cpu资源消耗,所述实时数据库采用了改进的广度优先搜索(e-bfs)算法。[0046]该算法首先访问起顶点v,然后由v出发,依次访问v的各个未被访问过的邻接顶点w1,w2,w3…wn,然后再依次访问w1,w2,…,wi的所有未被访问过的邻接顶点,再从这些访问过的顶点出发,通过剪枝优化,再访问它们所有未被访问过的邻接顶点,以此类推,直到途中所有的顶点都被访问过为止。通过剪枝优化,使得数据库模型搜索过程cpu资源消耗平均降低10%-20%。[0047]如图7所示,具体的实现步骤如下:[0048]1、首先创建一个visit[]数组和一个队列q,分别用来判断该位置是否已经访问过及让未访问过的点入队;[0049]2、初始化visit[]数组,清空q队列;[0050]3、让起点start入队,并使该点的visit置1;[0051]4、while(!q.empty()){......}执行搜索操作[0052]a、取出队头元素后使队头元素出队,判断该元素是否为目标到达点;[0053]b、如果是目标点,就返回结果(具体实施例中为包含节点名称的节点全路径);[0054]c、如果不是目标点,就继续访问与其相邻的位置点,同时判定节点首字母,通过剪枝优化,将符合查询条件的相邻的位置点入队,并更新visit[]数组。[0055]本发明引入了电力物模型概念,与传统的实时数据库测点模型巧妙结合,采用物模型 测点模型相结合的组织架构,使得电力智能终端的建模过程更加便捷;另一方面,将物模型数据按照树形结构进行组织存储,替代传统的表结构存储方式,使得电力终端设备的组织模型更加清晰,同时由于树形结构存储的冗余信息较少,也进一步降低了系统资源消耗。为了提高实时数据库的索引效率,满足实时数据库api接口的性能要求,其树形结构按照改良的文档模型实现结构存储,将结构信息分散存储在各个节点上,不需要依赖大量额外的处理逻辑,在提升检索性能的同时,增强了数据库的可靠性和可维护性。通过以上技术措施,使得本发明所生成的实时数据库可以运行在只有微处理器和少量内存的电力二次设备上。当前第1页12当前第1页12
再多了解一些

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

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

相关文献