监控系统内存数据库监视系统及其监视方法

文档序号:6481871阅读:96来源:国知局
专利名称:监控系统内存数据库监视系统及其监视方法
技术领域
本发明涉及一种监控系统内存数据库监视系统及其监视方法,属于自动控 制技术领域。
背景技术
在监控系统中,被监控设备数量大,种类多,用以描述这些设备的状态量 映射为内存数据库中的数据,使得内存数据库中数据庞杂,并且数据与数据之 间关系密切。对这样的内存数据库进行监视时,必须考虑到内存数据库规模和 系统运行效率。通常的做法是限制监视范围,即监视对关键数据的所有操作或 者监视更多数据的一些重要操作。这样必然会带来监视效率或者监视覆盖范围 的损失。
一个典型的例子是实时控制领域的轨道交通综合监控系统。被监控设备种
类多,关系复杂,数据量庞大,数据变化速度快。例如拥有30个车站,每个车 站10000个点的轨道交通系统,全线就有300000个点,这些点分属于闸机、电 扶梯、闭路电视摄像头等数十种不同的设备,分属于电力监控、设备监控、闭
路电视监控等不同的专业;每个点又指向一个或多个数字量、模拟量、脉冲量 以及控制关系。内存数据库处理这类数据时,通常会建立多张数据表,将这些 数据分类进行存储,通过事件触发来描述它们之间的关系。对于轨道交通综合 监控系统的庞大的内存数据库,无论是依赖定时査询还是上层应用之间相互协 调来实现监视,都会增加很多不必要的开销,影响系统运行的效率。

发明内容
本发明的目的是提供一种监视内存数据库的方法,使其既支持内存数据库 的全库高效监视,也可以灵活配置被监视数据的范围;使用可重用的逻辑,自 适应不同的表结构,不必针对每一张表分别设计监视模块,便于实现和维护。
为解决上述技术问题,本发明提供一种监控系统内存数据库监视系统,其
4特征在于,包括以下功能模块
应用接口与应用程序交互的接口,应用程序通过应用接口配置内存数据 库需监视的部分;监视模块通过应用接口发布监视报告。
结构信息表包括内存数据库中表结构、列结构相关的信息; 生成模块用于在内存数据库中针对每张数据表自动生成相应的监视模块; 监视模块嵌入到需要监视的数据表中,截获数据表的变化信息; 监视报告用于描述内存数据库数据变化的结构。
同时,本发明提供一种监控系统内存数据库监视方法,其特征在于包括 以下步骤
(1) 定义监视报告结构;
(2) 向内存数据库创建生成模块;
(3) 通过应用接口配置监视范围,由生成模块自动产生相应的监视模块;
(4) 向内存数据库创建监视模块;
(5) 当监视模块监视到内存数据库数据发生变化时,产生监视报告,由应 用接口发布监视报告,提交给应用程序按需求处理。
前述的监控系统内存数据库监视方法,在所述步骤(l)中,根据内存数据 库的属性来描述修改操作,所述属性包括时间、位置、搡作类型、定位、详 细描述。
前述的监控系统内存数据库监视方法,所述步骤(2)还包括以下步骤
(2.1) 内存数据库校验生成模块的正确性;
(2.2) 如果校验通过,将生成模块的内容插入到内存数据库特定区域中; 如果校验不能通过,则返回重新创建生成模块。
前述的监控系统内存数据库监视方法,所述步骤(4)还包括以下步骤
(4.1) 内存数据库校验监视模块的正确性;
(4.2) 如果校验通过,将监视模块的内容插入到内存数据库特定区域中, 如果校验不能通过,则返回重新创建监视模块。
前述的监控系统内存数据库监视方法,所述步骤(5)包括以下步骤 由应用程序操作内存数据库,如果内存数据库有修改操作,通过事件触发方法捕获变化内容,产生并发布监视报告。 本发明所达到的有益效果
本发明通过事件触发机制,来截获内存数据库数据的变化。使用本发明的 方法可以避免定时查询内存数据库带来的开销问题,提高系统运行的效率,实
现全库高效监视;通过应用接口配置监视范围,增加了灵活性;所有的监视模
块都可以自动生成,大大降低了监视模块维护的工作量。


图l为本发明内存数据库监视系统结构示意图2为本发明内存数据库监视方法的流程图; 图3为本发明中生成模块工作流程图; 图4为本发明中监视模式比较图; 图5为本发明中监视模块填充监视报告规则示意图。
具体实施例方式
图1是本发明的内存数据库监视方法相关模块结构示意图。图1中所示结 构包括
监视报告描述内存数据库数据变化的结构,包括时间、位置、搡作类型、 定位、详细描述信息。
应用接口与应用程序交互的接口。应用程序通过应用接口配置内存数据 库需监视的部分;监视模块通过应用接口发布监视报告。
监视模块嵌入到需要监视的数据表中,截获数据表的变化信息; 结构信息表包括内存数据库中表结构、列结构相关的信息; 生成模块其可以针对每张数据表自动生成相应的监视模块。 图2是本发明的内存数据库监视方法流程图。以下结合附图2详细描述本 发明的具体实施方式

如图2所示,本发明监控系统内存数据库监视方法的核心思想是在内存 数据库中创建生成模块,应用接口将内存数据库中有监视需求的部分(或全库) 名称发送给生成模块。生成模块按照需求生成相应的监视模块,向内存数据库 创建生成的监视模块。当内存数据库被监视部分发生数据变化时,通过事件触发机制捕获变化内容,生成监视报告。本方法主要包括以下步骤 步骤l.定义监视报告结构;
内存数据库中一般需要多个属性来描述修改操作,这些属性应该包括 时间修改发生的时间; 位置修改发生的数据表;
操作类型发生的是insert (插入)、delete (删除)还是update (更新) 类型的修改;
定位数据表里发生修改的记录定位;
详细描述记录里发生修改的字段定位,以及具体变化描述。 步骤2.向内存数据库创建生成模块; 图3为本发明中生成模块工作流程图。
生成模块的内容如下生成模块从内存数据库结构信息表中获取表结构信 息和列结构信息,利用动态取得的表结构信息和列结构信息作为监视模块取字
段值的索引,针对每一张数据表自动生成监视模块的相关语句。包括
取字段值语句。根据操作类型区别插入、删除和更新三种情况,取字段值 对插入操作,只取修改后的值;对删除操作,只取修改前的值;对更新操作, 同时取修改前和修改后的值。
变化字段比较语句。根据操作类型区别插入、删除和更新三种情况,进行 字段值的比较对插入操作,需要将插入的新值和空值作比较;对删除操作, 需要将已删除的旧值和空值作比较;对更新操作,需要将修改前的旧值和修改 后的新值作比较。比较结果不相等则判断该字段的值发生了变化。 拼结构语句。生成填充监视报告结构各个属性的语句。 向内存数据库中创建生成模块时需对其中时间、位置、操作类型的值以及 字段名进行合法性校验,判断所有数据表和定位的信息是否存在。在生成模块 的内容通过校验后,将创建内容插入到内存数据库的特定区域中。
步骤3.由应用接口配置监视范围,由生成模块自动产生相应的监视模块; 应用接口配置内存数据库需要监视的范围,将监视范围发送通知消息给生 成模块,生成模块接收到应用接口的通知后生成相应的监视模块。
7应用接口配置内存数据库的哪些部分(或全库)需要监视,将监视范围发 送通知消息给生成模块。生成模块接收到应用接口的通知后按照步骤2生成相 应的监视模块。
步骤4.向内存数据库创建监视模块;
对于内存数据库内部的触发关系而言,图4展现了两种监视模式源头监 视(图4-a )和目的地监视(图4-b )。 a模式针对一种特定的操作设计通知机制, 由发起操作的数据表产生这种特定的操作的描述(描述内容包括被搡作的数据 表),b模式忽略操作的特异性,由被操作的数据表表全面监视本表的变化。
由于源头监视只需针对特定的情况设计,而目的地监视需要考虑通用性, 所以对于规模很小,结构简单的内存数据库监视而言,a模式花费的成本要小于 b模式。但是随着内存数据库规模的增加(主要表现为数据表数量和事件触发数 量增长),操作特异性显现(主要表现为数据表结构多样,事件触发逻辑变得复 杂),使用a模式创建监视的复杂程度和工作量均会急剧增加。
考虑一个有N张数据表,数据表两两之间均存在事件触发关系的内存数据库 模型(图4-c)。采用a模式需创建Nx (N-l)个监视模块,并且每一个监视模块都 需要处理操作特异性,制定特定的通知机制;釆用b模式需要创建N个监视模块, 每一个监视模块均釆取相互类似的通知机制。例如当^5时,可以减少100。/。-(N + (Nx (N-l)))-75y。的工作量。在c所示的5张表触发关系中,若采用a所示源头 监视模式,须创建5*4=20个监视模块;若采用b所示目的地监视模式,须创建5 个监视模块。可见,与a模式相比,b模式可以按指数规律减轻工作量。若同时 使用本发明中生成模块,自动生成b模式中的监视模块,效率可以再次得到大幅 度提升。
本发明中使用目的地监视模式,即监视模块仅监视本表。 向内存数据库中创建监视模块时需对其中时间、位置、操作类型的值以及 字段名进行合法性校验,判断相关数据表和定位的信息是否存在。创建过程中 内存数据库还要检查创建内容,防止重复创建相同的或者相互冲突的监视模块。 在监视模块的内容通过校验后,将创建内容插入到内存的特定区域中。 步骤5.当内存数据库数据发生变化时,记录监视信息报告。应用程序操作内存数据库时,内存数据库通过事件触发机制判断是否有修 改操作,如果有修改操作,内存数据库在系统特定区域检索发生修改的数据表 下是否创建了监视模块,如果已经创建了相应的监视模块则执行监视模块。
监视模块首先判断操作类型对于插入操作,监视模块将插入的新值和空
值作比较;对于删除操作,监视模块将删除的旧值和空值作比较;对于更新搡
作,监视模块将修改前的旧值和修改后的新值作比较。比较结果不相等则判断
该字段的值发生了变化。若本数据表发生变化则,参照图5所示的规则,根据 不同的操作类型,使用变化的具体信息选填监视报告结构的各个属性时间、 位置、操作类型、定位、详细描述。由应用接口发布监视报告,提交给应用程 序按需求处理。
监视模块使用行级别的事件触发,当且仅当数据发生变化时才会触发监视 功能。如果添加监视模块前的事件触发流程为声明事件触发逻辑变量今执行 事件触发逻辑。那么添加监视模块后的事件触发流程为声明事件触发逻辑变 量—声明监视模块变量今执行监视模块逻辑^执行事件触发逻辑。可见,监视 模块的添加不会对内存数据库里原有事件触发逻辑造成任何影响。
本发明的监视内存数据库的方法自适应数据表结构为内存数据库中结构内 容不同的数据表自动生成相应的监视模块,避免频繁的人工参与,大幅减轻了 工作量,有效防止了人为错误的发生。由应用接口配置生成监视模块,增加了 系统的灵活性。通过本发明的方法,在内存数据库初建时可以自动完成所有表 的监视模块创建工作;在内存数据库使用的过程当中可以灵活的改变监视范围; 在内存数据库里数据表结构发生变化时能够方便的一次性更新所有已创建的监 视模块。大大降低了内存数据库维护的工作量。
以上已以较佳实施例公开了本发明,然其并非用以限制本发明,凡釆用等 同替换或者等效变换方式所获得的技术方案,均落在本发明的保护范围之内。
权利要求
1.一种监控系统内存数据库监视系统,其特征在于,包括以下功能模块应用接口与应用程序交互的接口,应用程序通过应用接口配置内存数据库需监视的部分;监视模块通过应用接口发布监视报告。结构信息表包括内存数据库中表结构、列结构相关的信息;生成模块用于在内存数据库中针对每张数据表自动生成相应的监视模块;监视模块嵌入到需要监视的数据表中,截获数据表的变化信息;监视报告用于描述内存数据库数据变化的结构。
2. —种监控系统内存数据库监视方法,其特征在于包括以下步骤:(1) 定义监视报告结构;(2) 向内存数据库创建生成模块;(3) 通过应用接口配置监视范围,由生成模块自动产生相应的监视模块;(4) 向内存数据库创建监视模块;(5) 当监视模块监视到内存数据库数据发生变化时,产生监视报告,由应用接口发布监视报告,提交给应用程序按需求处理。
3. 根据权利要求2所述的监控系统内存数据库监视方法,其特征在于在 所述步骤(l)中,根据内存数据库的属性来描述修改操作,所述属性包括时 间、位置、操作类型、定位及详细描述。
4. 根据权利要求2所述的监控系统内存数据库监视方法,其特征在于在 所述步骤(2)中,生成模块的内容为生成模块从内存数据库结构信息表中获 取表结构信息和列结构信息,利用动态取得的表结抅信息和列结构信息作为监 视模块取字段值的索引,针对每一张数据表自动生成监视模块的相关语句,相 关语句包括取字段值语句、变化字段比较语句和拼结构语句。
5. 根据权利要求2或4所述的监控系统内存数据库监视方法,其特征在于 所述步骤(2)还包括以下步骤(2.1) 内存数据库校验生成模块的正确性;(2.2) 如果校验通过,将生成模块的内容插入到内存数据库特定区域中;如果校验不能通过,则返回重新创建生成模块。
6. 根据权利要求2所述的监控系统内存数据库监视方法,其特征在于所 述步骤(3)中,应用接口配置内存数据库需要监视的范围,将监视范围发送通 知消息给生成模块,生成模块接收到应用接口的通知后生成相应的监视模块。
7. 根据权利要求2所述的监控系统内存数据库监视方法,其特征在于所 述步骤(4)还包括以下步骤(4. 1)内存数据库校验监视模块的正确性;(4.2)如果校验通过,将监视模块的内容插入到内存数据库特定区域中, 如果校验不能通过,则返回重新创建监视模块。
8. 根据权利要求2或3或4所述的监控系统内存数据库监视方法,其特征 在于在所述步骤H)中,监视模块使用目的地监视模式,即监视模块仅监视 本表。
9. 根据权利要求2或3或4所述的监控系统内存数据库监视方法,其特征 在于所述步骤(5)中,由应用程序操作内存数据库,如果内存数据库有修改 搡作,通过事件触发方法捕获变化内容,产生并发布监视报告。
全文摘要
本发明提供一种监控系统内存数据库监视方法,其特征在于包括以下步骤(1)定义监视报告结构;(2)向内存数据库创建生成模块;(3)通过应用接口配置监视范围,由生成模块自动产生相应的监视模块;(4)向内存数据库创建监视模块;(5)当监视模块监视到内存数据库数据发生变化时,产生监视报告,由应用接口发布监视报告,提交给应用程序按需求处理。使用本发明的方法可以避免定时查询内存数据库带来的开销问题,提高系统运行的效率,实现全库高效监视;通过应用接口配置监视范围,增加了灵活性;所有的监视模块都可以自动生成,大大降低了监视模块维护的工作量。
文档编号G06F17/30GK101673277SQ200910035968
公开日2010年3月17日 申请日期2009年9月28日 优先权日2009年9月28日
发明者刘孟觉, 浩 张, 奕 梁, 晖 蔡, 瑞 郭, 陈天皓 申请人:国电南瑞科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1