动态内存映射的数据库及其管理方法

文档序号:6459718阅读:114来源:国知局
专利名称:动态内存映射的数据库及其管理方法
技术领域
本发明涉及一种环保行业监测的数据库,具体涉及一种动态内存映射 的数据库。本发明还涉及一种上述数据库的管理方法。
技术背景近年来,国家越来越重视环保行业,由于生产力的提升,导致污水,废 气等环境污染因素的排放量大幅提升。可持续发展战略目标的要求使得环 保力度的加大使在必行。目前环保行业采用的数据库均为实时数据库,数 据存储在磁盘,数据库的建立和使用为封闭式,不利于用户增加监测点或 修改数据查询数据。环保行业实时监控的需求日益明显,选择传统数据库 面临数据交互量大,系统负荷高的弊病。同时,由于环保监测点繁多,选用 实时数据库(按点位算)费用非常之高。所以,需要开发更有效的数据库, 及数据管理方法,此时内存数据技术就有了用武之地。采用在内存上建立存储数据库组件,即内存数据库组件,具有数据交 互速度高,成本低,系统负荷低等优势,并容易部署和扩展等优势,若将此 方法运用在各种环保系统中,便于对监测点监控和自定义的扩展。发明内容本发明所要解决的技术问题是提供一种动态内存映射的数据库,它 可以通过分级存储数据,使内存数据库组件成为了可能,该组件对各种环 保监测系统实时数据的交互提供了强有力的支持,降低了系统数据核心存储的复杂度,提供了系统的扩展性,并大大降低了成本。为此,本发明还要 提供一种上述数据库的建立方法,及数据库的修改和査询方法。为了解决以上技术问题,本发明提供了一种动态内存映射的数据库, 建立多级存储模式将数据存储于计算机内存中,每级存储结构包括多个节 点,同一级的节点与其上一级和下一级的节点建立映射关系,用户根据映 射关系访问最低级的数据。本发明还提供了一种基于上述数据库的建立方法,包括如下步骤 (l)在内存中建立多级存储结构;(2)在各级存储结构中增加节点;(3) 建立各级节点与上一级和下一级节点的映射关系。本发明还提供了一种上述数据库的修改方法,包括增加或删除节点,进一步包括(l)接收增加或删除节点的请求;(2)判断增加或删除的节点所在的级;(3)增加或者删除节点;(4)修改节点 的映射关系;修改数据元,进一步包括(l)接收修改数据元请求;(2)根据映射 关系査找要修改的数据元;(3)判断要修改的数据元模式是否挂起,若未 挂起则挂起该数据元并修改数据元;若挂起,则返回修改不成功的消息。本发明还提供了一种上述数据库的査询方法,系统对请求信息进行分 类组合,并在多级存储结构中定位与请求信息相关的数据堆,最后一次性 将相应的数据取出并返回给相应的请求。由于采用了上述技术方案,本发明的优点如下 1.数据吞吐速度快由于数据全部保存在内存中,供环保系统实时读取,由于内存中的数据读取速度通常比从硬盘中读取数据速度高100倍,所以基本内存的数据 库机制使得数据吞吐速度大大加强。2. 成本大大降低原先的环保系统要实现实时监控通常都要购买实时数据库,而由于 环保行业监测点繁多,导致实时数据库的价格非常昂贵,但本内存数据库 组件由于是基于内存的,和点位无关,所以大大降低了数据中心的成本。3. 高复用性,高扩展性本内存数据库组件可在任何安装.net framework2. 0或以上的计算机 上运行。各系统都可以自定义的扩展该组件。凡是涉及数据交互的任何模 块,都可以使用该组件。


下面结合附图和具体实施方式
对本发明作进一步详细说明。图1是本发明的多级内存映射构架的示意图;图2是本发明的动态内存映射添加和删除节点的示意图;图3是本发明修改节点数据的示意图;图4是本发明査询数据的示意图。
具体实施方式
本发明的动态内存映射的数据库,建立多级存储模式将数据存储于计算机内存中,每级存储结构包括多个节点和空闲内存区,同一级的节点分 别与其上一级和下一级的节点建立映射关系,用户根据映射关系访问最低级的数据。如图1所示,建立内存映射机制,根据环保系统监测子站,监测 点,数据集合的模式设定,定制了固定内存大小的基本数据元,在该机制中,每个主维度节点内存地址都至少对应于一个副维度节点列表的内存地址, 每个副维度节点的内存地址都至少对应一个数据堆内存地址,数据堆中包 含了固定内存小的若干个数据元。这样便形成了主维度内存地址,次维度内存地址,数据堆内存地址逐级映射的3级内存地址映射结构,和监测子 站,监测点,数据集合的模式相对应。本发明的动态内存映射的数据库具体建立的过程为(1)在内存中 建立多级存储结构;(2)在各级存储结构中增加节点;(3)建立各级节点分别与上一级和下一级节点的映射关系。本发明的动态内存映射的数据库 上一级节点与下一级节点的映射关系为一对多的映射。本发明的动态内存映射的数据库修改包括两种添加或删除节点;修 改节点数据。对于添加或删除节点,其过程如图2所示包括(l)接收增 加或删除节点的请求;(2)判断增加或删除的节点所在的级;'(3)增加或 者删除节点;(4)修改节点的映射关系。本发明根据内存数据库需求添加或删除节点,环保行业监测子站,监 测点变更多,新建频繁的特性,在建立好多级数据库的基础上,为每个主维 度节点,副维度节点分配好相应的内存空间,客户动态的添加主/副维度节 点,可以重新从系统中申请到相应内存空间,并在客户删除主/副维度节点 时,释放不用的内存地址供循环使用,这种机制可避免因为添加/修改节点 次数过多而导致内存地址超界和内存泄漏。而对于修改节点数据,其过程如图3所示包括(1)接收修改数据元 请求;(2)根据映射关系査找要修改的数据元;(3)判断要修改的数据元 模式是否挂起,若未挂起则挂起该数据元并修改数据元;若挂起,则返回修改不成功的消息。本发明允许多个客户(线程)同时访问同一个内存地址中的数据,但不 允许多个客户(线程)同时修改同一个内存地址中的数据。当发生此情况时, 假设一个客户正在修改数据,则会锁定正在被修改的数据堆内存,此时禁 止其他客户继续修改该内存数据,正在修改该内存地址的客户将被挂起。 直到该客户修改完毕,则自动释放该数据堆内存地址占用。其他客户才可 以继续修改。本发明查询数据库的方法为通过请求信息,系统会对请求信息进行分 类组合,并在维度表中定位相关的数据堆,最后一次性将相应的数据取出 并返回给相应的请求,这种查询操作方法对于请求多个数据时特别有效。根据环保行业实时监控需求,数据吞吐量,并发量加大的特性, 一次性 返回某个完整的数据堆内存结构的副本,而非内存地址,避免了长时间和 大范围的内存征用(锁定),并实现了脱机操作。
权利要求
1、一种动态内存映射的数据库;其特征在于,建立多级存储模式将数据存储于计算机内存中,每级存储结构包括多个节点,同一级的节点分别与其上一级和下一级的节点建立映射关系,用户根据映射关系访问最低级的数据。
2、 如权利要求1所述的动态内存映射的数据库,其特征在于,上一 级节点与下一级节点之间的映射关系为一对多的映射模式。
3、 如权利要求1所述的动态内存映射的数据库,其特征在于,在最 低级的节点上存储字节长度为固定值的数据元。
4、 一种权利要求1所述数据库的建立方法,其特征在于,包括如下 步骤(1) 在内存中建立多级存储结构;(2) 在各级存储结构中增加节点;(3) 建立各级节点与上一级和下一级节点的映射关系。
5、 一种权利要求1所述数据库的修改方法,其特征在于, 增加或删除节点,具体方法是(1) 接收增加或删除节点的请求;(2) 判断增加或删除的节点所在的级;(3) 增加或者删除节点;(4) 修改节点的映射关系; 或修改数据元,具体方法是(1)接收修改数据元请求;(2) 根据映射关系査找要修改的数据元;(3) 判断要修改的数据元模式是否挂起,若未挂起则挂起该数据元 并修改数据元;若挂起,则返回修改不成功的消息。
6、 一种权利要求1所述数据库的查询方法,其特征在于,系统对请求信息进行分类组合,并在多级存储结构中定位与请求信息相关的数据 堆,最后一次性将相应的数据取出并返回给相应的请求。
全文摘要
本发明公开了一种动态内存映射的数据库,建立多级存储模式将数据存储于计算机内存中,每级存储结构包括多个节点,同一级的节点分别与其上一级和下一级的节点建立映射关系,用户根据映射关系访问最低级的数据。本发明还公开了上述数据库的建立方法、修改方法及查询方法。本发明可用于环保监测数据的实时存储,用户可根据需要增加或删除节点、修改保存数据及批量查询数据,使用方便、工作效率高。
文档编号G06F12/08GK101604309SQ20081004350
公开日2009年12月16日 申请日期2008年6月13日 优先权日2008年6月13日
发明者朱秋平, 云 胡, 苏联华, 薛如冰 申请人:上海宝信软件股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1