面向服务的智慧住区实时数据库系统及其工作方法与流程

文档序号:11407291阅读:155来源:国知局
面向服务的智慧住区实时数据库系统及其工作方法与流程

本发明涉及面向服务的智慧住区实时数据库系统及其工作方法。



背景技术:

当前,我国多个城市正在建设智慧住区,智慧住区的建设以住区居民为主体,以资源融合为目标,智慧住区综合服务平台是智慧住区的建设核心,智慧社区综合信息服务平台的建设目标是在社区层面实现城市不同部门异构系统间的资源共享和业务协同,有效避免城市多头投资、重复建设、资源浪费等问题。智慧住区实时数据库实现对智慧住区海量数据资源的收集,为智慧住区综合服务平台的各类应用提供数据,有效支撑社区内各系统正常、健康地运行,为社区居民提供良好的服务,也为政府实现高效的业务管理提供方便。

智慧社区中的基础系统包括智能家居系统、能源管理系统、环境监测系统、地源热泵系统,家庭医疗系统等。建设智慧社区实时数据库,实时收集智慧社区数据资源,进行统一管理,实现系统间的联动;收集的海量数据为数据挖掘等提供数据基础。

在现有实时数据库的研究中,工业实时数据库与电力行业实时数据库的研究相对较多,其中,工业实时数据库采用多层分布式的体系结构,应用了模块化、组件化的思想,主要采用com技术实现,其数据模型构建与数据存储以位号为基础单位。这种实时数据库的构建方式,系统相对稳定,但是组件开发灵活性较低,功能粒度相对较高,重用性较低,在对外开放的接口方面,以opc或odbc技术为支撑,提供相应接口。同时,工业实时数据库其服务领域为工业生产,以工业生产的需求为指导,并不满足智慧住区的相关需求。应用于电力行业的实时数据库近年来发展较快,数据库的部分模块已开始应用面向服务的架构进行设计,并取得较好的效果,同时电力行业其数据模型的构建除以基本位号为基础单位外,还基于面向对象的思想进行了数据模型的构建。社区实时数据库作为各个系统数据融合平台,对下收集各个系统硬件设施的数据,对上为各个软件系统提供数据服务。工业级别的实时数据库,价格昂贵,同时不满足智慧住区的应用要求,而以sqlserver等数据库作为智慧住区的实时历史数据库,一方面其性能难以满足海量的数据的存储需求,另一方面,其实时性无法满足要求。



技术实现要素:

本发明的目的就是为了解决上述问题,提供面向服务的智慧住区实时数据库系统及其工作方法,该实时数据库具有松耦合、服务可重用等特点,并提供标准的数据服务接口,提高了数据交换效率,满足各类数据资源的数据集成与共享需求,降低软件开发周期与应用成本,并较轻易的实现分布式部署。该实时数据库采用多进程或多线程的方式开发,采用面向服务的方法实现分布式部署与应用。

为了实现上述目的,本发明采用如下技术方案:

面向服务的智慧住区实时数据库系统,包括:

数据接口层,用于实现对住区的安防系统或楼宇自控系统的传感器信息进行分类采集,将数据按照统一的通信协议进行封装,将封装好的数据采用二进制数据流的方式传入到数据持久层的内存中;

数据持久层,用于实现对数据接口层采集数据的统一存储;调用服务层进行数据的解析与存储;

数据模型层,用于提供测点、物联网设备及用于数据关联分析与预测;

服务层,用于提供核心服务,核心服务包括数据解析、数据清洗、数据压缩、数据解压缩、数据转换、实时数据存取、历史数据存取、状态监测、事务管理、日志记录和报警服务;

系统运维层,用于提供权限管理、状态监测、资源与负载管理和事务管理;

服务管理层,用于对服务层进行管理;包括服务访问控制、服务分类、服务可替代性分析和服务访问记录;

扩展应用层,基于实时数据库的服务或引用网络服务接口,进行组合运行,实现扩展应用功能。

服务层服务以数据源的不同分为两类,一类是以实时数据库本身内存与磁盘为数据源的服务,只能提供基于实时数据库自身的数据服务,提供内存与磁盘的本身存储的数据的提取、转换服务;另一类服务数据源包括自身内存与磁盘,也包括外界数据源;

所述数据接口层,包括:

opcclient,用于采取opc协议采集各个opcserver的数据,将浮点型数据、整形、bool型数据类型分别组织,将数据类型相同的数据进行单次上传;

物联网节点,将物联网设备所有测点的数据集中组织,以设备类型为分类依据,向上传输;设备类型的代码按照国家电网公司企业标准q/gdw723-2012规范制定;

测点包括智能设备,物联网节点与智能设备之间的关系是一对一或一对多的关系;智能设备包括具有控制功能的控制设备与具有监测功能的监测设备;所述控制设备包括智能开关、智能插座和智能窗帘,所述监测设备包括:环境监测设备和人员监测设备;

其他接口,包括基于通用协议bacnet等协议的数据采集接口;其他接口,用于采集住区单独小型设备的数据。

所述数据持久层,包括:

内存,用于存储实时数据与近期历史数据,所述近期历史数据是指定时间段内的历史数据;

磁盘,用于存储过期历史数据。

所述数据模型层,包括:

任务流模型,用于描述任务流通用的属性与方法的数据结构;

基础测点数据模型,用于描述基础测点的属性与方法的数据结构;

物联网数据模型,用于描述物联网节点采集的环境数据、设备数据的属性与方法的数据结构;

部分设备数据模型,用于描述基于通用协议采集的测点的属性与方法的数据结构;

组态数据模型,用于描述数据库配置组态信息,基础测点、物联网设备及测点、其他设备测点的组态信息的属性与方法的数据结构;所述组态信息包括区域、量程、上下级关系;

数据统计分析模型,用于描述统计与分析算法的属性与方法的数据结构;

所述服务层,包括:

数据解析与处理服务模块,用于分辨采集的数据种类,依照协议将数据接口采集的数据切割、提取,解析为可用数据并存储,放入一级缓冲队列中;

数据清洗服务模块,用于进行实时/历史数据分析时,对冗余、错误数据进行处理;

状态监测服务模块,用于监测opcclient、物联网节点各个数据采集接口的工作状态;

实时数据存取服务模块,用于从一级缓冲队列中取出数据,存储入实时数据存储区中;

数据压缩服务模块,用于将内存数据库的数据转存到历史数据库时,依据不同种类的数据,采用不同的压缩算法进行压缩,以减少存储空间;

组态数据服务模块,用于提供测点、设备、数据采集接口的组态信息查询、修改等服务。

数据转换服务模块,用于依据组态信息,进行量程转换,或将物联网环境等数据转换为单个测点的数据形式;

历史数据存取服务模块,用于将内存中数据库的数据转存到磁盘文件上去;

事务管理服务模块,用于接收事物处理要求,进行事物处理;

日志记录服务模块,用于实时数据库在运维过程与事务处理过程中进行数据记录;

数据解压服务模块,用于进行历史数据获取时,对历史数据用不同的解压算法进行解压;

报警服务模块,用于判断某个测点或模块其数据异常时,发出报警信息;

所述系统运维层,包括:

系统访问权限控制模块,用于实时数据库系统的访问控制;

服务器状态监测模块,用于实时监测物联网节点、opcclient接口及其所在计算机的工作状态;

设备运行状态监测模块,用于依据采集的测点数据实时判断设备运行状态是否良好;

资源管理模块,用于管理与实时数据库相关的所有软硬件资源的工作状态的历史情况;

负载管理模块,用于实时监测各个服务器的负载情况,当某计算机负载过大时,进行负载平衡,或关闭不必要负载。

所述服务管理层,包括:

服务访问控制模块,用于服务负载控制与服务权限控制,对服务实行分类管理,并记录服务访问信息;所述分类管理指通过ip地址、服务类型进行服务的类型区分;

服务分类目录模块,用于服务信息存储为具有描述性属性的对象,方便进行服务查找;

服务可替代性分析模块,用于保证系统的稳定运行,当某一个服务出现问题时,寻找功能相同或相近以及囊括该服务的服务进行功能替代;

服务访问记录模块,用于记录服务访问者的访问时间、访问内容、访问时常、访问状态;

所述扩展应用层,包括:

数据挖掘模块,用于对实时数据库中的数据进行关联分析、聚类分析、离群点挖掘;

住区物联网结构部署模块,用于为用户提供住区内物联网节点与智能模块的部署组织查询、住区物联网系统组态功能,用户通过该模块可查看住区物联网中各个设备之间的关联关系。

节能优化控制模块,用于对授权管理设备进行节能分析,提供节能分析结果,并依据该结果提供节能优化策略

从上层应用的服务请求与底层数据存储入实时数据库两个方面说明:

面向服务的智慧住区实时数据库系统的工作方法,包括如下步骤:

应用服务请求步骤:

步骤(a1):获取客户端发起的服务请求:服务管理层中的服务分类与目录模块获知已有服务目录,提交应用基础信息,并发起服务请求;所述应用基础信息,包括ip地址与端口号、缴费信息、安全认证信息;

步骤(a2):请求认证:服务管理层对客户端所发起的服务请求进行认证,若认证成功则进行任务流定制;

步骤(a3):服务定制:服务层通过分析服务请求,调用服务请求的任务流模型,并查询当前可用细粒度服务,生成任务流实例,进行服务定制,生成对应该服务的唯一认证码,并将所述唯一认证码返回至客户端;

步骤(a4):服务绑定:客户端获取唯一认证码,并与定制的服务进行绑定;

步骤(a5):服务调用:客户端绑定该服务后,客户端调用该服务,获取相关数据。

底层数据存储步骤:

步骤(b1):物联网节点或数据接口与实时数据库内部通过socket进行通信,将采集的数据打包,向实时数据库服务器传送,实时数据库中的socket线程接收后,调取数据处理与解析服务,分辨数据种类,并将数据存入不同的队列中。

步骤(b2):数据存储线程监视三个队列的长度,并不断的取出三个队列中的数据,依照不同的协议调取不同的数据解析与存储服务,将数据分割并存储入内存库中,并判断测点多对应的内存存储区是否已满,若满则将数据转存入压缩缓冲队列中;

步骤(b3):数据压缩与存储线程将一级缓冲区中的数据调用不同的压缩算法压缩与组织服务进行数据压缩与组织后,形成新的数据包,转存入磁盘待存储缓冲队列中。

步骤(b4):磁盘存储线程从数据存储缓冲队列中取出数据包,将数据存储入文件系统。

本发明的有益效果:

该实时数据库具有松耦合、服务可重用等特点,并提供标准的数据服务接口,提高了数据交换效率,满足各类数据资源的数据集成与共享需求,

1该实时数据库综合考虑智慧住区的硬件部署与软件应用情况,是适用于智慧住区实时数据采集与应用的系统。

2该实时数据库采用面向服务的方式构建,具备松耦合、服务可重用等特点,降低软件开发周期与应用成本,并较轻易的实现分布式计算与部署。3该实时数据库具备负载平衡与服务自组织能力,当某承载实时数据库部分

4该实时数据库提供标准的数据服务接口,提高了数据交换效率,满足各类数据资源的数据集成与共享需求

5该实时数据库是智慧住区的软资产之一,具备一定的经济价值,提供空闲服务能力,非住区应用系统缴纳相关费用,通过安全审查后,获取住区内实时数据库的相关服务。

附图说明

图1为本发明的系统功能模块图;

图2为内存与历史存储结构的依据反应关系;

图3为内存的存储组织结构;

图4为以测点数据基础管理单位的组织结构;

图5为访问控制流程图;

图6为事务的执行过程与服务的协调与合作流程图;

图7为应用服务请求流程图;

图8为底层数据存储流程图

具体实施方式

下面结合附图与实施例对本发明作进一步说明。

一种面向服务的智慧住区实时数据库系统的架构由五个主要部分及相应的管理部分构成,分别为数据接口层、数据持久层、数据模型层、服务层、服务管理层、系统运维层,系统架构如图1所示。

所述数据接口层实现对住区地源热泵系统、物联网设备及相关设备的信息采集,opcserver、物联网节点、及相关设备的通信程序将数据按照统一的通信协议封装,将数据传入内存中。所述物联网节点其作用为实现对物联网设备数据的集中采集。

所述数据持久层实现对数据接口层采集数据的统一存储,所述智慧住区实时数据库采用了内存与硬盘两种存储介质。在进行数据存储时,通过调用服务层的相关服务进行数据的解析与存储。其中,实时数据与近期历史数据存储入内存中,过期历史数据存储入磁盘中。

所述服务层与数据模型层是所述智慧住区实时数据库的核心部分,所述服务层主要提供系统的核心服务,如数据解析与处理、实时数据库存取等。所述服务,并非开发意义上的服务,而针对某一类服务或者经细粒度服务聚合后的粗粒度服务。服务寄生于iis或者相关应用程序上,服务间不允许通信,但允许服务嵌套。所述数据模型层提供相关测点、物联网设备、及其他相关的抽象数据模型。

所述服务管理层,主要实现对服务层相关服务的管理,服务访问控制包括服务负载控制与服务权限控制,对服务实行分类管理,并记录服务访问信息。所述分类管理指通过ip地址、服务类型进行服务的类型区分,方便外界或系统本身通过统一的服务目录查询服务的基础信息,获取对服务的整体认知。通过服务的可替代性分析,保证系统的稳定运行,当某服务出现问题时,寻找功能相同或相近以及囊括该服务的服务进行功能替代。

所述扩展应用层是基于实时数据库的基础服务,或引用网络相关服务接口,进行组合运行,实现的扩展应用功能,除图中所列服务外,还可提供其他相关服务。

所述系统运维层,通过权限管理、状态监测、资源与负载管理、事务管理等,保证平台的安全稳定运行。

所述数据接口层各个接口软件相对于实时数据库内核,作为独立的软件个体分布式的部署在不同地域,其功能是采集住区各个plc控制器、物联网设备等的数据,按照统一的通信协议进行组织,传入内核中。所述接口层软件采用分而治之的思想进行数据采集,依据设备类型、设备/测点的数据类型等进行分类采集,所述物联网节点将物联网设备所有测点的数据集中组织,以设备类型为分类依据,向上传输。设备类型的代码按照国家电网公司企业标准(q/gdw723-2012)规范制定。所述opcclient接口软件采集各个测点的数据,将浮点型数据、整形、bool型等数据类型分别组织,单次上传数据类型相同。所述单独设备数据采集软件,如末端空调设备以结构体的形式序列化为2进制数据流传输数据。数据接口层向数据库内存中传输数据采用二进制数据流的方式传输。

所述数据持久层包括内存与磁盘,其中内存主要存储实时数据与近期一段时间的历史数据,过期历史数据的存储归档的历史数据。由于对内存与磁盘数据的访问需求不同,因此内存与磁盘采用不同的存储结构。智慧住区的数据组织结构如图2所示,作为内存与历史存储结构的依据反应关系图2所示。

(1)物联网节点与智能设备关系:

物联网节点上运行有智能设备的数据采集与传输程序,采集一定区域内的智能设备的数据,物联网节点与智能设备之间的关系是1…n的关系

(2)物联网某区域设备之间的关系

智能设备可分为具有控制功能的的控制设备与单纯具有监测功能的检测设备,控制设备如智能开关、智能插座、智能窗帘,监测设备如环境监测设备、人员检测设备等,一方面该区域设备共同反应该区域某一时刻的某个状态,另一方面监测设备与控制设备及控制设备之间构成联动关系。

(3)物联网设备与测点之间的关系

设备与测点之间可能是一对多也可能是一对一的关系,多个测点或单个测点的值反应设备的运行状态。

(4)物联网节点间的关系

由于物联网节点管理某个区域的数据采集与传输,物联网节点群则构成联合区域的数据采集与传输,所采集的数据,反应联合区域的状态,实际应用中,常常对联合区域与联合区域之间某些参数进行对比分析

(5)opc接口软件与opcserver之间的关系

智慧住区中常采取opc协议进行某些控制系统的数据采集,如地源热泵系统,opc接口软件采集多个opcserver的信息,即可能同时采集多个系统的系统运行参数、设备状态参数等。同时所采的某系统的。

(6)opcserver与各控制系统之间的关系

opcserver提供对应控制系统的各个测点的数据值

(7)其他接口软件与设备的关系

智慧住区中存在着独立的设备,根据其不同的通信方式会有不同的接口软件,接口软件可能仅读取某个设备也可能同时读取多个设备的一个或多个测点数据。

由于在智慧住区的实时应用中,常需要某各设备的值或某节点下多个设备的数据,以反应所观测房间或地域的状态,因此所述内存的存储组织结构如图3所示内存中设立三种索引分别存储物联网设备、opcserver及其他设备数据,可采用hash算法实现,也可采用多叉树结构实现,实现多粒度多数据模型存储。由于对与历史数据的查询常常以单个测点为查询目标,因此历史数据库中以测点数据基础管理单位,组织结构如图4所示。可基于文件系统进行历史数据库的开发,也可基于现有的数据库如sqlserver或mysql等实现历史数据库的功能。

在内存向磁盘历史数据库进行数据转移时,会出现无服务器id与无节点id的现象,因此引入了虚拟服务器id/物联网节点id与虚拟测点id的概念。在服务器或者设备注册时,进行统一编号,并将各自id存储入各自的组态数据库中。以单独设备为例,单独设备在上无serverid,因此为其分配虚拟id,其设备id与虚拟服务器id都是唯一的。

所述服务层包括多种服务,共同实现了智慧住区实时数据库的主要功能,并提供相关附属数据服务如数据转换、数据挖掘等。服务层服务以数据源的不同可分为两类,并决定了服务的不同寄宿与实现模式。一类是以实时数据库本身内存与磁盘为数据源的服务,该类服务只能提供基于自身的数据服务,提供内存与磁盘的本身存储的数据的提取、转换等服务;另一类服务其数据源可以是自身内存与磁盘也可以是外界数据源。这种构建模式可以很好的解决智慧住区分布式环境下的负载平衡问题,当某处的访问负载过高时,可通过访问智慧住区数据库的服务,降低本地负载,提高执行效率。某项事务可能需要多个服务配合完成,服务的执行可按照任务流所定义的顺序自动化执行,同时依据服务的聚合算法,进行服务聚合,完善任务流模型。提供任务流定制服务,用户在了解各个服务的功能与接口规范的前提下,可通过该服务,实现功能自定义,也可采纳部分服务或嵌套其他非本地服务,实现各类功能。

数据模型层提供多种数据模型,多种数据模型的设置提高了系统的灵活性。服务层的各类服务与多种数据模型的结合,实现了数据的灵活组织和多种功能的重构。数据模型依据智慧住区的设备、测点应用与组织情况,分别建立了物联网数据模型、基础测点数据模型、组态数据模型;为方便实现任务流的组织,提供了任务流模型;同时,为满足数据挖掘等应用需求,确立了关联分析、离群点挖掘等相关数据模型。部分典型物联网数据与基础测点数据模型如下。

服务管理层服务访问控制、服务分类与目录、服务可替代型分析、服务访问记录。各类功能以服务的方式对外提供,除满足自身需求外,满足非本地智慧住区其他地域应用系统的需求,实现提供该类服务的计费功能同时保证服务安全。因此进行服务的访问控制,所谓的访问控制以通过站点注册、安全性审查、服务预约、服务批准的流程进行,流程如图5所示。

图5中所述服务综合排序实现是依据服务器负载查询与预测结果、服务负载查询与预测结果、服务安全性查询结果、服务质量查询结果等参数及其关联系数,产生可用度系数,依据可用度系数进行综合排序,可用度系数存入数据库中,可用度系数产生方法如下所示:

[服务器负载服务器负载预测服务负载查询服务负载预测服务安全性服务质量]×关联系数=可用度系数

拓展应用层的各应用通过调取服务层的各应用服务组件实现各个事务,以某时刻某房间的全部实时数据获取事务来说明事务的执行过程与服务的协调与合作。如图6所示,某时刻房间的全部实时数据获取事务属于复合事务模式,获取房间的全部实时数据可由多个扁平事务组成,允许部分数据获取失败,而不影响其他数据的获取。房间状态查询事物发起后,会首先进行房间组态信息的查询,并将组态信息发送给服务代理。服务代理根据组态信息进行服务扁平化处理,分别调取相关服务,获取相关参数信息,之后,服务代理一方面将参数信息整合并返回,另一方面若任何一个参数查询服务失败,继续进行该参数的查询。拓展应用层应用以进程的模式实现,进程与数据库内存与磁盘数据的交互多种模式,如内存共享、服务组件、接口函数等,异构平台提倡使用服务组件的形式,同平台、同局域网访问提倡采用接口函数或内存共享的模式。

系统运维层保障智慧住区实时数据库平稳安全运行,系统访问权限控制、接口软件状态监测、服务管理、设备管理、资源管理、负载管理等。系统访问权限进行用户级、系统级等的权限管理与控制,所谓用户是指通过该系统实现对相关信息查看的客户,所谓系统是指通过调用系统接口实现对系统数据访问的外部或内部分布式应用。接口软件状态监测实现对正在使用的接口软件的状态进行定期测试,若软件运行不正常则向用户或系统报警。

面向服务的智慧住区实时数据库系统的工作方法,包括如下步骤:

如图7所示,应用服务请求步骤:

步骤(a1):应用发起服务请求:应用查询服务管理层中的服务分类与注册中心获知已有服务目录,提交应用基础信息,包括ip地址与端口号、缴费信息、安全认证信息等,并发起服务请求;

步骤(a2):请求认证:服务分类与注册中心对应用所发起的服务请求进行认证,若认证成功则进行任务流定制。

步骤(a3):服务定制:服务分类与注册中心通过分析服务请求,调用该请求的任务流模型,并查询当前可用细粒度服务,生成任务流实例,进行服务定制,生成对应该服务的唯一认证码,并将该认证码返回至应用端;

步骤(a4):服务绑定:应用端获取该认证码,并绑定该服务;

步骤(a5):服务调用:应用端绑定该服务后,即可调用该服务,获取相关数据。

如图8所示,底层数据存储步骤:

步骤(b1)物联网节点或数据接口与实时数据库内部通过socket进行通信,将采集的数据打包,向实时数据库服务器传送,实时数据库中的socket线程接收后,调取数据处理与解析服务,分辨数据种类,并将数据存入不同的队列中。

步骤(b2)数据存储线程监视三个队列的长度,并不断的取出三个队列中的数据,依照不同的协议调取不同的数据解析与存储服务,将数据分割并存储入内存库中,并判断测点多对应的内存存储区是否已满,若满则将数据转存入压缩缓冲队列中;

步骤(b3)数据压缩与存储线程将一级缓冲区中的数据调用用不同的压缩算法压缩与组织服务进行数据压缩与组织后,形成新的数据包,转存入磁盘待存储缓冲队列中。

步骤(b4)磁盘存储线程从数据存储缓冲队列中取出数据包,将数据存储入文件系统。

上述虽然结合附图对本发明的具体实施方式进行了描述,但并非对本发明保护范围的限制,所属领域技术人员应该明白,在本发明的技术方案的基础上,本领域技术人员不需要付出创造性劳动即可做出的各种修改或变形仍在本发明的保护范围以内。

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