CN101673277A - 监控系统内存数据库监视系统及其监视方法 - Google Patents

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

Info

Publication number
CN101673277A
CN101673277A CN200910035968A CN200910035968A CN101673277A CN 101673277 A CN101673277 A CN 101673277A CN 200910035968 A CN200910035968 A CN 200910035968A CN 200910035968 A CN200910035968 A CN 200910035968A CN 101673277 A CN101673277 A CN 101673277A
Authority
CN
China
Prior art keywords
memory database
monitoring
monitor
module
monitoring system
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN200910035968A
Other languages
English (en)
Other versions
CN101673277B (zh
Inventor
刘孟觉
陈天皓
梁奕
郭瑞
蔡晖
张�浩
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nari Technology Co Ltd
NARI Nanjing Control System Co Ltd
Original Assignee
Nari Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nari Technology Co Ltd filed Critical Nari Technology Co Ltd
Priority to CN2009100359687A priority Critical patent/CN101673277B/zh
Publication of CN101673277A publication Critical patent/CN101673277A/zh
Application granted granted Critical
Publication of CN101673277B publication Critical patent/CN101673277B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

本发明提供一种监控系统内存数据库监视方法,其特征在于:包括以下步骤:(1)定义监视报告结构;(2)向内存数据库创建生成模块;(3)通过应用接口配置监视范围,由生成模块自动产生相应的监视模块;(4)向内存数据库创建监视模块;(5)当监视模块监视到内存数据库数据发生变化时,产生监视报告,由应用接口发布监视报告,提交给应用程序按需求处理。使用本发明的方法可以避免定时查询内存数据库带来的开销问题,提高系统运行的效率,实现全库高效监视;通过应用接口配置监视范围,增加了灵活性;所有的监视模块都可以自动生成,大大降低了监视模块维护的工作量。

Description

监控系统内存数据库监视系统及其监视方法
技术领域
本发明涉及一种监控系统内存数据库监视系统及其监视方法,属于自动控制技术领域。
背景技术
在监控系统中,被监控设备数量大,种类多,用以描述这些设备的状态量映射为内存数据库中的数据,使得内存数据库中数据庞杂,并且数据与数据之间关系密切。对这样的内存数据库进行监视时,必须考虑到内存数据库规模和系统运行效率。通常的做法是限制监视范围,即监视对关键数据的所有操作或者监视更多数据的一些重要操作。这样必然会带来监视效率或者监视覆盖范围的损失。
一个典型的例子是实时控制领域的轨道交通综合监控系统。被监控设备种类多,关系复杂,数据量庞大,数据变化速度快。例如拥有30个车站,每个车站10000个点的轨道交通系统,全线就有300000个点,这些点分属于闸机、电扶梯、闭路电视摄像头等数十种不同的设备,分属于电力监控、设备监控、闭路电视监控等不同的专业;每个点又指向一个或多个数字量、模拟量、脉冲量以及控制关系。内存数据库处理这类数据时,通常会建立多张数据表,将这些数据分类进行存储,通过事件触发来描述它们之间的关系。对于轨道交通综合监控系统的庞大的内存数据库,无论是依赖定时查询还是上层应用之间相互协调来实现监视,都会增加很多不必要的开销,影响系统运行的效率。
发明内容
本发明的目的是提供一种监视内存数据库的方法,使其既支持内存数据库的全库高效监视,也可以灵活配置被监视数据的范围;使用可重用的逻辑,自适应不同的表结构,不必针对每一张表分别设计监视模块,便于实现和维护。
为解决上述技术问题,本发明提供一种监控系统内存数据库监视系统,其特征在于,包括以下功能模块:
应用接口:与应用程序交互的接口,应用程序通过应用接口配置内存数据库需监视的部分;监视模块通过应用接口发布监视报告。
结构信息表:包括内存数据库中表结构、列结构相关的信息;
生成模块:用于在内存数据库中针对每张数据表自动生成相应的监视模块;
监视模块:嵌入到需要监视的数据表中,截获数据表的变化信息;
监视报告:用于描述内存数据库数据变化的结构。
同时,本发明提供一种监控系统内存数据库监视方法,其特征在于:包括以下步骤:
(1)定义监视报告结构;
(2)向内存数据库创建生成模块;
(3)通过应用接口配置监视范围,由生成模块自动产生相应的监视模块;
(4)向内存数据库创建监视模块;
(5)当监视模块监视到内存数据库数据发生变化时,产生监视报告,由应用接口发布监视报告,提交给应用程序按需求处理。
前述的监控系统内存数据库监视方法,在所述步骤(1)中,根据内存数据库的属性来描述修改操作,所述属性包括:时间、位置、操作类型、定位、详细描述。
前述的监控系统内存数据库监视方法,所述步骤(2)还包括以下步骤:
(2.1)内存数据库校验生成模块的正确性;
(2.2)如果校验通过,将生成模块的内容插入到内存数据库特定区域中;如果校验不能通过,则返回重新创建生成模块。
前述的监控系统内存数据库监视方法,所述步骤(4)还包括以下步骤:
(4.1)内存数据库校验监视模块的正确性;
(4.2)如果校验通过,将监视模块的内容插入到内存数据库特定区域中,如果校验不能通过,则返回重新创建监视模块。
前述的监控系统内存数据库监视方法,所述步骤(5)包括以下步骤:
由应用程序操作内存数据库,如果内存数据库有修改操作,通过事件触发方法捕获变化内容,产生并发布监视报告。
本发明所达到的有益效果:
本发明通过事件触发机制,来截获内存数据库数据的变化。使用本发明的方法可以避免定时查询内存数据库带来的开销问题,提高系统运行的效率,实现全库高效监视;通过应用接口配置监视范围,增加了灵活性;所有的监视模块都可以自动生成,大大降低了监视模块维护的工作量。
附图说明
图1为本发明内存数据库监视系统结构示意图;
图2为本发明内存数据库监视方法的流程图;
图3为本发明中生成模块工作流程图;
图4为本发明中监视模式比较图;
图5为本发明中监视模块填充监视报告规则示意图。
具体实施方式
图1是本发明的内存数据库监视方法相关模块结构示意图。图1中所示结构包括:
监视报告:描述内存数据库数据变化的结构,包括时间、位置、操作类型、定位、详细描述信息。
应用接口:与应用程序交互的接口。应用程序通过应用接口配置内存数据库需监视的部分;监视模块通过应用接口发布监视报告。
监视模块:嵌入到需要监视的数据表中,截获数据表的变化信息;
结构信息表:包括内存数据库中表结构、列结构相关的信息;
生成模块:其可以针对每张数据表自动生成相应的监视模块。
图2是本发明的内存数据库监视方法流程图。以下结合附图2详细描述本发明的具体实施方式。
如图2所示,本发明监控系统内存数据库监视方法的核心思想是:在内存数据库中创建生成模块,应用接口将内存数据库中有监视需求的部分(或全库)名称发送给生成模块。生成模块按照需求生成相应的监视模块,向内存数据库创建生成的监视模块。当内存数据库被监视部分发生数据变化时,通过事件触发机制捕获变化内容,生成监视报告。本方法主要包括以下步骤:
步骤1.定义监视报告结构;
内存数据库中一般需要多个属性来描述修改操作,这些属性应该包括:
时间:修改发生的时间;
位置:修改发生的数据表;
操作类型:发生的是insert(插入)、delete(删除)还是update(更新)类型的修改;
定位:数据表里发生修改的记录定位;
详细描述:记录里发生修改的字段定位,以及具体变化描述。
步骤2.向内存数据库创建生成模块;
图3为本发明中生成模块工作流程图。
生成模块的内容如下:生成模块从内存数据库结构信息表中获取表结构信息和列结构信息,利用动态取得的表结构信息和列结构信息作为监视模块取字段值的索引,针对每一张数据表自动生成监视模块的相关语句。包括:
取字段值语句。根据操作类型区别插入、删除和更新三种情况,取字段值:对插入操作,只取修改后的值;对删除操作,只取修改前的值;对更新操作,同时取修改前和修改后的值。
变化字段比较语句。根据操作类型区别插入、删除和更新三种情况,进行字段值的比较:对插入操作,需要将插入的新值和空值作比较;对删除操作,需要将已删除的旧值和空值作比较;对更新操作,需要将修改前的旧值和修改后的新值作比较。比较结果不相等则判断该字段的值发生了变化。
拼结构语句。生成填充监视报告结构各个属性的语句。
向内存数据库中创建生成模块时需对其中时间、位置、操作类型的值以及字段名进行合法性校验,判断所有数据表和定位的信息是否存在。在生成模块的内容通过校验后,将创建内容插入到内存数据库的特定区域中。
步骤3.由应用接口配置监视范围,由生成模块自动产生相应的监视模块;
应用接口配置内存数据库需要监视的范围,将监视范围发送通知消息给生成模块,生成模块接收到应用接口的通知后生成相应的监视模块。
应用接口配置内存数据库的哪些部分(或全库)需要监视,将监视范围发送通知消息给生成模块。生成模块接收到应用接口的通知后按照步骤2生成相应的监视模块。
步骤4.向内存数据库创建监视模块;
对于内存数据库内部的触发关系而言,图4展现了两种监视模式:源头监视(图4-a)和目的地监视(图4-b)。a模式针对一种特定的操作设计通知机制,由发起操作的数据表产生这种特定的操作的描述(描述内容包括被操作的数据表),b模式忽略操作的特异性,由被操作的数据表表全面监视本表的变化。
由于源头监视只需针对特定的情况设计,而目的地监视需要考虑通用性,所以对于规模很小,结构简单的内存数据库监视而言,a模式花费的成本要小于b模式。但是随着内存数据库规模的增加(主要表现为数据表数量和事件触发数量增长),操作特异性显现(主要表现为数据表结构多样,事件触发逻辑变得复杂),使用a模式创建监视的复杂程度和工作量均会急剧增加。
考虑一个有N张数据表,数据表两两之间均存在事件触发关系的内存数据库模型(图4-c)。采用a模式需创建N×(N-1)个监视模块,并且每一个监视模块都需要处理操作特异性,制定特定的通知机制;采用b模式需要创建N个监视模块,每一个监视模块均采取相互类似的通知机制。例如当N=5时,可以减少100%-(N÷(N×(N-1)))=75%的工作量。在c所示的5张表触发关系中,若采用a所示源头监视模式,须创建5*4=20个监视模块;若采用b所示目的地监视模式,须创建5个监视模块。可见,与a模式相比,b模式可以按指数规律减轻工作量。若同时使用本发明中生成模块,自动生成b模式中的监视模块,效率可以再次得到大幅度提升。
本发明中使用目的地监视模式,即监视模块仅监视本表。
向内存数据库中创建监视模块时需对其中时间、位置、操作类型的值以及字段名进行合法性校验,判断相关数据表和定位的信息是否存在。创建过程中内存数据库还要检查创建内容,防止重复创建相同的或者相互冲突的监视模块。在监视模块的内容通过校验后,将创建内容插入到内存的特定区域中。
步骤5.当内存数据库数据发生变化时,记录监视信息报告。
应用程序操作内存数据库时,内存数据库通过事件触发机制判断是否有修改操作,如果有修改操作,内存数据库在系统特定区域检索发生修改的数据表下是否创建了监视模块,如果已经创建了相应的监视模块则执行监视模块。
监视模块首先判断操作类型:对于插入操作,监视模块将插入的新值和空值作比较;对于删除操作,监视模块将删除的旧值和空值作比较;对于更新操作,监视模块将修改前的旧值和修改后的新值作比较。比较结果不相等则判断该字段的值发生了变化。若本数据表发生变化则,参照图5所示的规则,根据不同的操作类型,使用变化的具体信息选填监视报告结构的各个属性:时间、位置、操作类型、定位、详细描述。由应用接口发布监视报告,提交给应用程序按需求处理。
监视模块使用行级别的事件触发,当且仅当数据发生变化时才会触发监视功能。如果添加监视模块前的事件触发流程为:声明事件触发逻辑变量→执行事件触发逻辑。那么添加监视模块后的事件触发流程为:声明事件触发逻辑变量→声明监视模块变量→执行监视模块逻辑→执行事件触发逻辑。可见,监视模块的添加不会对内存数据库里原有事件触发逻辑造成任何影响。
本发明的监视内存数据库的方法自适应数据表结构为内存数据库中结构内容不同的数据表自动生成相应的监视模块,避免频繁的人工参与,大幅减轻了工作量,有效防止了人为错误的发生。由应用接口配置生成监视模块,增加了系统的灵活性。通过本发明的方法,在内存数据库初建时可以自动完成所有表的监视模块创建工作;在内存数据库使用的过程当中可以灵活的改变监视范围;在内存数据库里数据表结构发生变化时能够方便的一次性更新所有已创建的监视模块。大大降低了内存数据库维护的工作量。
以上已以较佳实施例公开了本发明,然其并非用以限制本发明,凡采用等同替换或者等效变换方式所获得的技术方案,均落在本发明的保护范围之内。

Claims (9)

1.一种监控系统内存数据库监视系统,其特征在于,包括以下功能模块:
应用接口:与应用程序交互的接口,应用程序通过应用接口配置内存数据库需监视的部分;监视模块通过应用接口发布监视报告。
结构信息表:包括内存数据库中表结构、列结构相关的信息;
生成模块:用于在内存数据库中针对每张数据表自动生成相应的监视模块;
监视模块:嵌入到需要监视的数据表中,截获数据表的变化信息;
监视报告:用于描述内存数据库数据变化的结构。
2.一种监控系统内存数据库监视方法,其特征在于:包括以下步骤:
(1)定义监视报告结构;
(2)向内存数据库创建生成模块;
(3)通过应用接口配置监视范围,由生成模块自动产生相应的监视模块;
(4)向内存数据库创建监视模块;
(5)当监视模块监视到内存数据库数据发生变化时,产生监视报告,由应用接口发布监视报告,提交给应用程序按需求处理。
3.根据权利要求2所述的监控系统内存数据库监视方法,其特征在于:在所述步骤(1)中,根据内存数据库的属性来描述修改操作,所述属性包括:时间、位置、操作类型、定位及详细描述。
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所述的监控系统内存数据库监视方法,其特征在于:在所述步骤(4)中,监视模块使用目的地监视模式,即监视模块仅监视本表。
9.根据权利要求2或3或4所述的监控系统内存数据库监视方法,其特征在于:所述步骤(5)中,由应用程序操作内存数据库,如果内存数据库有修改操作,通过事件触发方法捕获变化内容,产生并发布监视报告。
CN2009100359687A 2009-09-28 2009-09-28 监控系统内存数据库监视方法 Active CN101673277B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2009100359687A CN101673277B (zh) 2009-09-28 2009-09-28 监控系统内存数据库监视方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2009100359687A CN101673277B (zh) 2009-09-28 2009-09-28 监控系统内存数据库监视方法

Publications (2)

Publication Number Publication Date
CN101673277A true CN101673277A (zh) 2010-03-17
CN101673277B CN101673277B (zh) 2012-05-23

Family

ID=42020503

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2009100359687A Active CN101673277B (zh) 2009-09-28 2009-09-28 监控系统内存数据库监视方法

Country Status (1)

Country Link
CN (1) CN101673277B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102158347A (zh) * 2010-12-27 2011-08-17 畅捷通软件有限公司 数据保护方法、装置和服务器
CN102314517A (zh) * 2011-09-25 2012-01-11 国网电力科学研究院 一种水调历史数据库在线同步技术
CN104268173A (zh) * 2014-09-15 2015-01-07 中国工商银行股份有限公司 集中式数据监控方法、装置及系统

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101170454B (zh) * 2006-10-27 2010-05-12 亿阳信通股份有限公司 一种监控数据采集汇总状态的方法和系统
CN101408889A (zh) * 2008-11-12 2009-04-15 阿里巴巴集团控股有限公司 一种性能监控的方法、装置及系统

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102158347A (zh) * 2010-12-27 2011-08-17 畅捷通软件有限公司 数据保护方法、装置和服务器
CN102314517A (zh) * 2011-09-25 2012-01-11 国网电力科学研究院 一种水调历史数据库在线同步技术
CN104268173A (zh) * 2014-09-15 2015-01-07 中国工商银行股份有限公司 集中式数据监控方法、装置及系统

Also Published As

Publication number Publication date
CN101673277B (zh) 2012-05-23

Similar Documents

Publication Publication Date Title
CN104598376A (zh) 一种数据驱动的分层自动化测试系统和方法
CN105023188A (zh) 一种基于云数据的数字化城市管理数据共享系统
CN105303306A (zh) 电力物资调度平台系统
CN112698953A (zh) 一种基于微服务的电网智能运检平台
CN104376237A (zh) 一种针对生产过程中信息的安全控制方法和系统
CN102968438B (zh) 综合监控系统中历史数据存储控制系统
CN104463537A (zh) 第三方物流云仓储系统
CN106021370A (zh) 内存数据库实例的管理方法及装置
CN104657467B (zh) 一种实时内存数据库的带订阅/发布的数据推送框架
CN102428447A (zh) 故障的根本原因解析结果显示方法、装置以及系统
CN103221891A (zh) 用于分布式控制系统的智能接口
CN108052358B (zh) 一种分布式部署的系统和方法
CN104573184A (zh) 高速列车产品元模型构建方法和装置
Wu et al. The Internet of Things enabled shop floor scheduling and process control method based on Petri nets
CN101673277B (zh) 监控系统内存数据库监视方法
CN102855319A (zh) Oracle数据库操作监控系统
CN110910054B (zh) 轨迹的确定方法和装置、时间的推荐方法和装置
CN103731870A (zh) 监控任务的管理方法及装置
CN103259869B (zh) 一种基于分布式数据存储的集中信息管理方法
CN104954181A (zh) 一种分布式集群设备故障预警方法
CN104504010A (zh) 一种多对多的数据采集系统及其采集方法
CN103020382A (zh) 基于bom的多实例聚合仿真建模方法
CN107272669A (zh) 一种机载故障管理系统
Benatia et al. QR-code enabled product traceability system: a big data perspective
CN112364290A (zh) 一种基于流式计算的可视化计算模型构建方法和系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
ASS Succession or assignment of patent right

Owner name: NARI NANJING CONTROL SYSTEM LTD.

Effective date: 20141202

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20141202

Address after: High road high tech Development Zone Nanjing city Jiangsu province 210061 No. 20

Patentee after: NARI Technology Development Co., Ltd.

Patentee after: SGCC NARI Nanjing Control System Co., Ltd.

Address before: High road high tech Development Zone Nanjing city Jiangsu province 210061 No. 20

Patentee before: NARI Technology Development Co., Ltd.