采用双高速引擎的面向对象实时数据库存储方法

文档序号:6604063阅读:187来源:国知局
专利名称:采用双高速引擎的面向对象实时数据库存储方法
技术领域
本技术发明涉及工业自动化领域,尤其涉及分布式监控系统领域,本技术发明可 广泛适用于工业自动化领域的电网监控、电气化铁路和城市轨道交通各专业以及综合监控
等应用。
背景技术
在工业控制领域,随着自动化技术的发展,监控自动化水平的提高,监控系统逐渐 由桌面系统向分布式系统,专用系统向多应用乃至综合系统发展。这在城市轨道交通行业 尤其显著,从开始监控系统只应用于电力调度,楼宇自动化领域,逐步发展出电力监控、环 境监控、火灾防控、用户信息、售检票等各种专业系统,甚至是最新的集成各种专业应用的 综合监控系统。这就对监控系统的通用性提出了很高的要求。随着计算机领域面向对象程 序设计方法的提出和应用,各种现代监控系统大都采用面向对象的方法进行设计和实现, 这使得系统模块化、规范化,使得应用于单一专业的监控系统具有健壮、可扩展等优点。但 是随着各专业领域自动化程度提高,各领域都需要各自适用的监控系统,而类似于城市轨 道交通行业更是需要能够集成各专业需求的综合监控系统,这对监控系统的灵活性,尤其 是它的核心模块——实时数据库的灵活性提出了非常高的要求。但是现有的监控系统一般 都是从某一专业领域诞生,为某一专业领域设计,以对象作为基础进行构建,这使得实现的 系统一但应用于另一领域,直接应用往往不能满足需求,而通过扩展勉强应用则会造成了 大量的时空资源开销;但是要避免这一状况又不得不对大部分系统进行重新设计和实现, 从而造成巨大的工程成本。

发明内容
本发明的目的是如果能够将面向对象的思想应用于工程配置,而不仅仅是系统 设计。即允许在工程配置而不是在系统设计时根据需要,以属性为基础构建当前系统需要 的对象,那么就能够有效满足当前工程的需求,而又无需对现有系统重新设计实现。但是, 为了做到这一点,监控系统,尤其是它的核心模块——实时数据库必须采用合适的存储结 构,从而满足面向对象组态配置的灵活性需求。而同时最为重要的是,决不能因此损害系统 的性能,因为监控系统一般都是分布式实时系统,对实时数据库的访问操作具有严格的实 时性要求。这就要求监控系统的实时数据库必须采用有效的数据结构,从而在保障高速实 时访问的同时支持灵活的面向对象配置。本发明采用的技术方案是一种采用双高速引擎的面向对象实时数据库存储方 法,其中实时数据库以属性作为基本的组织和设计单位,通过有效使用现代高级程序语言 中继承、重载、多态等方式,并封装适用于所有数据类型的统一接口以及应用于各种数据类 型的专用接口,充分支持对各类型数据的描述,并为各种数据的访问提供统一的途径。然后 设定需要的具有通用数据类型的属性,并由需要的属性组成对象,最终由对象搭建成整个 实时数据库。
上述的采用双高速引擎的面向对象实时数据库存储方法,其进一步特征在于所 述实时数据库中包含对象集合,在对象集合中包含了各种类型的对象,在每个对象中包含 了属性列表,列表中的属性实例的类型和顺序由该对象类型所包含的属性类型确定。所述实时数据库中不仅包含对象集合和属性列表,同时也包含对象类型集合以及 属性类型信息;对象类型集合中包含了所有的对象类型;每一对象类型包含了该对象类型 所包含的属性类型,而所有该类型的对象都包含相应的属性。每种对象类型都定义了该类型的对象所共同具有的属性的属性类型,这些属性类 型是对象类型特征的多维表示;同一类对象具有相同的属性类型,但同类型的属性往往具 有不同的属性值。同样类型的对象包含相同类型的属性;同样类型的对象中同类型属性的位置是相 同的。所述实时数据库依据给定的对象标记和属性标记分别获得对应的对象类型和属 性类型的标记,然后利用所述对象类型和属性类型的标记定位对应属性类型在对应对象类 型中的位置。上述的采用双高速引擎的面向对象实时数据库存储方法,其更进一步特征在于所述实时数据库中分别为对象构建对象索引,以及为对象类型和属性类型的构建 类型索引,从而构建双层高速索引。本发明具有如下的有益效果通过采用这种实时数据库的存储结构,并构建双高 速索引,从而在空间资源开销的增加可以忽略不计的前提下,实现在保障实时访问效率的 同时,支持灵活的面向对象组态配置,从而在不损害系统实时性能的情况下,显著提升监控 系统的可扩展性和维护性。下面结合附图和具体实施方式
对本发明作进一步详细的说明。附图和具体实施方 式并不限制本发明要求保护的范围。


图1是现有技术中“对象”数据组织方式示意图;图2是现有技术中对象查找示意图;图3是现有技术中对象查找流程图;图4是本发明“对象-属性”数据组织方式示意图;图5是本发明对象类型中属性类型查找示意图;图6是本发明对象_属性查找流程图。
具体实施例方式面向对象的组态配置的采用面向对象的方法进行组态,为了支持面向对象的组态 配置,实时数据库的数据存储结构同样渗透着面向对象的设计理念,这里介绍与面向对象 理念相关的若干概念 数据类型实时数据库中存放了各种工程对象的描述信息以及与实时状态相关的实时数据 信息,这些信息需要使用不同类型的数据进行描述,例如设备中的点地址可能使用整型数,
4电压值则可能使用浮点数等等。 对象类型具有同类型的特征的数据作为一种对象类型,每一种类型的对象一般和某种现实 应用中的工程对象相对应,作为该种对象在实时数据库中的特征抽象和数据描述。例如,一 种名为<IEC870Device>的对象类型对应于工程中的一种测控设备,而名为〈Breaker〉的对 象类型可能描述了应用中的某一类断路器。 对象实时数据库中的对象是对象类型的一个具体实例,一般与工程中一个具体的 物理对象对应,是它各种特征和当前状态的综合描述以及数据表示。例如一个类型为 <IEC870Device>的对象对应于工程应用中的一个具体的设备。当前对象的各个属性描述了 该设备的特征和状态,如设备地址和通讯状态等等。 属性类型一类属性反映了对象的某种特征或者表示对象的某种状态即属性类型。例如名为 <Name>的属性类型描述的是各类对象的名称特征,而名为〈State〉的属性则表示了某些对 象的当前状态特征。 属性对象类型中包含了该类对象所具有的属性类型,而相应的实例化对象中则包含了 对应的属性类型的实例,称为属性或者属性值。每一个属性表示具体对象实例的一个具体 特征或者当前的状态。例如一个设备对象中“名称”属性包含了该设备的名字,而一个遥控 点对象中的“状态”属性则是当前的遥控状态。传统的监控系统是基于对象来进行配置的,即对于每一个工程设计适用的对象, 在配置时须择合适数量的已有类型对象,从而构成整个系统的逻辑表征。同样它的实时数 据库也是以对象作为基本单位进行构建,即根据需求定义并实现对象,再由对象组建成整 个实时数据库,如图1所示。为了实现对实时数据库的访问,一般在实时数据库中构建对象的高速索引,如图2 所示。在对实时数据库访问时,给定需要访问的对象的标记,利用索引迅速定位至对应的对 象,如图3所示,并对查找到的对象进行操作,根据对象标记查找对象的过程一般是常量时 间的,相对其余操作几乎可以忽略不计,从而满足系统的实时性要求。但是采用这种基于对 象的实时数据库存储结构,每当系统应用于新的工程,或者原有工程应用需求发生变化时, 往往不得不重新设计并实现原来没有的对象,造成大量的扩展和维护成本。如果将面向对象的方法引入配置过程,即在组态配置时并不是基于对象,而是按 照需求构建具有某种通用数据类型的属性,再由需要的属性构成适合的对象,最终构成整 个系统的逻辑表征。这样,当系统通应用于新的工程时,由于只需要为原有对象增删属性, 或者用属性组成新的对象,而监控系统本身无需重新设计或实现,从而大大减少了系统的 扩展和维护开销。为了支持面向对象的组态配置,系统的实时数据库不得不采用更为复杂 的存储结构。因此与传统的以对象为基本单位的组织方式不同,这里的实时数据库以属性作为 基本的组织和设计单位。即定义一套用于表示各种数据信息的基本数据类型。通过有效使 用现代高级程序语言中继承、重载、多态等方式,并封装适用于所有数据类型的统一接口以及应用于各种数据类型的专用接口,充分支持对各类型数据的描述,并为各种数据的访问 提供统一的途径。然后设定需要的具有通用数据类型的属性,并由需要的属性组成对象,最 终由对象搭建成整个实时数据库。因此实时数据库中包含对象集合,在对象集合中包含了 各种类型的对象,在每个对象中包含了属性列表,列表中的属性实例的类型和顺序由该对 象类型所包含的属性类型确定,如图4所示。这固然使得实时数据库结构相对复杂,但是提 供了传统系统不具备的强大通用性和灵活性。这种以属性为基本单位的实时数据库存储方式提供了面向对象配置所需要的灵 活性。当系统应用于不同的工程应用时,可以根据应用需求定义适用的属性,并根据需求由 不同的属性类型灵活的组成各种合适的对象。而当需求发生变化时,也可以根据需要添加 新的属性,并增、删已有对象所包含的属性。从而能有效满足各种监控系统的不同应用需 求,甚至是综合监控系统中多个专业的复合应用需求,提供了良好的适应性和可扩展性。但 是相对的,实时数据库的访问则面临问题。在以属性为基本单位的实时数据库存储方式下, 对实时数据库的访问并不仅是对需要的对象进行操作,而是对需要对象的需要属性进行操 作。即不仅是依据给定的对象标记查找对应对象,而是依据给定的对象标记和属性标记查 找对应对象的对应属性。如果也和传统方式一样,仅构造对象索引,那么虽然查找对象的过 程是常量时间的,但是在对象内通过遍历查找属性的过程是线性时间的,这将严重影响访 问效率,甚或不能满足实时应用的需求。而如果对所有对象的所有属性都构造索引,虽然查 找对应对象的对应属性的过程是常量时间的,但是空间资源的巨大开销将是难以接受的。 当然如果不采用层次结构,而借鉴已有的面向对象关系数据库的二维表结构,那么不但增 加数据空间组织的难度,时间效率也同样难以满足要求,这些方法都不具备较高的可行性。 为了解决这个困难,在实时库中引入了类型信息——即对象类型和属性类型的信息。在实 时数据库中不仅包含对象集合和属性列表,同时也包含对象类型集合以及属性类型信息。 对象类型集合中包含了所有的对象类型。每一对象类型包含了该对象类型所包含的属性类 型,而所有该类型的对象都包含相应的属性。这样每种对象类型都定义了该类型的对象所 共同具有的属性的属性类型,这些属性类型是对象类型特征的多维表示。同一类对象具有 相同的属性类型,但同类型的属性往往具有不同的属性值,从而反映了工程对象的各异的 特征和状态。在实时数据库中保存类型信息难免要增加资源的开销,但是考虑到类型信息 的空间资源开销相比于对象和属性本身,常规情况下要低至少两个数量级,几乎可以忽略 不计,因此不会显著增加空间资源开销。考虑到以下两点1.同样类型的对象包含相同类型的属性,即对应的对象类型所包含的属性类型的 属性。2.同样类型的对象中同类型属性的位置是相同的,即对应对象类型中对应属性类 型的位置。这样在实时数据库的访问过程中就可以依据给定的对象标记和属性标记分别获 得对应的对象类型和属性类型的标记,然后利用它们定位对应属性类型在对应对象类型中 的位置,如图5所示,也就获得了对应属性在对应对象中的位置。这一过程是常量时间的。因此,在实时数据库中分别为对象构建对象索引,以及为对象类型和属性类型的 构建类型索引,从而构建双层高速索引。在访问实时数据库,即依据给定的对象标记和属
6性标记查找对应对象的对应属性时,首先利用对象索引根据给定的对象标记定位对应的对 象,该过程是常量时间的;再根据给定的对象标记和属性标记分别获得对象类型标记和属 性类型标记,利用类型索引定位属性类型在对象类型中的位置,这个过程也是常量时间的; 最后根据属性类型在对象类型中的位置,即对应属性在对应对象中的位置,从查找获得的 对应对象中查找到对应属性,这一过程同样是常量时间的。因此,如图6所示,整个根据给 定的对象标记和属性标记查找对应对象的对应属性的过程是常量时间的。相对于其余操作 几乎可以忽略不计,从而满足系统的实时性要求。 通过采用这种实时数据库的存储结构,并构建双高速索引,从而在空间资源开销 的增加可以忽略不计的前提下,实现在保障实时访问效率的同时,支持灵活的面向对象组 态配置,从而在不损害系统实时性能的情况下,显著提升监控系统的可扩展性和维护性。
权利要求
一种采用双高速引擎的面向对象实时数据库存储方法,其特征在于以属性作为基本的组织和设计单位,通过有效使用现代高级程序语言中继承、重载、多态等方式,并封装适用于所有数据类型的统一接口以及应用于各种数据类型的专用接口,充分支持对各类型数据的描述,并为各种数据的访问提供统一的途径。然后设定需要的具有通用数据类型的属性,并由需要的属性组成对象,最终由对象搭建成整个实时数据库。
2.根据权利要求1所述的采用双高速引擎的面向对象实时数据库存储方法,其特征在于所述实时数据库中包含对象集合,在对象集合中包含了各种类型的对象,在每个对象 中包含了属性列表,列表中的属性实例的类型和顺序由该对象类型所包含的属性类型确定。
3.根据权利要求1所述的采用双高速引擎的面向对象实时数据库存储方法,其特征在于所述实时数据库中不仅包含对象集合和属性列表,同时也包含对象类型集合以及属性 类型信息;对象类型集合中包含了所有的对象类型;每一对象类型包含了该对象类型所包 含的属性类型,而所有该类型的对象都包含相应的属性。
4.根据权利要求3所述的采用双高速引擎的面向对象实时数据库存储方法,其特征在于每种对象类型都定义了该类型的对象所共同具有的属性的属性类型,这些属性类型是 对象类型特征的多维表示;同一类对象具有相同的属性类型,但同类型的属性往往具有不 同的属性值。
5.根据权利要求4所述的采用双高速引擎的面向对象实时数据库存储方法,其特征在于同样类型的对象包含相同类型的属性;同样类型的对象中同类型属性的位置是相同的。
6.根据权利要求5所述的采用双高速引擎的面向对象实时数据库存储方法,其特征在于所述实时数据库依据给定的对象标记和属性标记分别获得对应的对象类型和属性类 型的标记,然后利用所述对象类型和属性类型的标记定位对应属性类型在对应对象类型中 的位置。
7.根据权利要求1至6之一所述的采用双高速引擎的面向对象实时数据库存储方法, 其特征在于所述实时数据库中分别为对象构建对象索引,以及为对象类型和属性类型的构建类型 索引,从而构建双层高速索引。
全文摘要
本发明公开了一种采用双高速引擎的面向对象实时数据库存储方法,实时数据库以属性作为基本的组织和设计单位,通过有效使用现代高级程序语言中继承、重载、多态等方式,并封装适用于所有数据类型的统一接口以及应用于各种数据类型的专用接口,充分支持对各类型数据的描述,并为各种数据的访问提供统一的途径。然后设定需要的具有通用数据类型的属性,并由需要的属性组成对象,最终由对象搭建成整个实时数据库。实时数据库中包含对象集合,在对象集合中包含了各种类型的对象,在每个对象中包含了属性列表,列表中的属性实例的类型和顺序由该对象类型所包含的属性类型确定。本发明的实时数据库在保障实时访问效率的同时,支持灵活的面向对象组态配置,因而具备的强大通用性和灵活性。
文档编号G06F17/30GK101894132SQ20101019806
公开日2010年11月24日 申请日期2010年6月10日 优先权日2010年6月10日
发明者包德梅, 戴宏斌, 朱恩云 申请人:南京国电南自轨道交通工程有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1