监控系统的数据处理方法

文档序号:6564031阅读:268来源:国知局
专利名称:监控系统的数据处理方法
技术领域
本发明涉及数据处理方法,具体地说,涉及用于监控系统中让用户可自行定义数据和报表格式的数据处理方法。
1、一般报表生成方法一般报表生成方法是指在监控系统中,报表的个数、样式和数据都已经完全固定,用户完全不能进行调整或者只能做微小的调整。
(1)一般报表生成方法的数据查询原理一般报表生成方法的查询过程如

图1所示,报表库103中报表的个数和样式是固定的,用户在查询某个报表时,通过操作界面向处理单元102发送该报表的查询请求,处理单元102收到请求后,使用针对被查询报表的固定查询语句查询监控数据库101;监控数据库101返回查询结果后,处理单元103将该数据填充进用户查询的报表中,显示给用户。
(2)一般报表生成方法的缺点这种方法,由于一个报表对应于某个固定查询语句的方式,导致了报表个数是固定的;而固定的查询结果导致了报表样式的不可更改性,给用户造成了极大的不便。同财务税务等等行业有标准的报表格式不同,监控系统的用户使用报表除了希望按照自己的需要显示基础数据外,还要求其中具有一些统计功能。每个用户对报表都有不同的需求,常常只能在考虑了大多数用户的需求后,放弃一些不常用或者比较特殊的需求。而用户对当前使用的报表生成方法常常是只要修改一点样式或者对报表中的内容进行一些增删,就可以满足他们的要求。
另外,对于高级用户,如果对监控系统的数据库结构很清楚,常常希望通过自己组织这些数据完成自己需要的报表,而一般报表生成方法是不能提供这种功能的。
用户对报表的需求是会改变的。从需求分析到软件开发到熟练使用软件的各个阶段,用户对他将要使用的软件系统的认识将逐渐地变清晰,相应地对报表的要求也会发生变化。尤其是到了后期,用户往往希望对监控的基础数据进行统计分析,指导他们的工作。在这种情况下,只有针对用户的需求对报表生成方法进行修改,大到增加删除某个报表,小到对报表的某个样式或者某个数据项都需要重新修改代码、测试、编译、发布,导致了很大的代码维护工作,容易造成为了满足用户的需求而疲于奔命的情况。
2、用户可以定制的报表生成方法某些报表生成方法提供了用户自己定义报表的功能,用户可以根据自己对样式和数据的要求定制报表,但是同样存在下面的缺陷。
其一、用户需要清楚地了解数据库结构,因为此类监控软件的定义过程通常是用户根据自己的需要,从数据库中选择自己需要的表,从表中取出字段作为报表的字段,查询时直接将该表的记录作为报表内容显示出来。在这种情况下,用户需要知道数据库每个表存储的数据内容,知道表中每个字段的含义,还有各个表之间复杂的关联关系。然而,监控系统的复杂性同时也决定了其所使用数据库结构的复杂性,一般的用户是很难了解的。
其二、对于没有直接定义关联关系的多个表的内容,很难放到同一张报表中,当用户从多个表中选取字段合并到一张报表中时,监控系统的数据库中必须预先定义这些表的主从关联关系,否则报表无法做出。但由于监控数据库的复杂性,很难在创建数据表时就指定表之间复杂的关联关系。
对于一般报表生成方法及用户可以定制的报表生成方法,还存在报表查询条件修改困难这一缺点。报表的查询条件在发布到用户手中后就很难修改,例如为某个报表增加一个查询条件、增删某个查询条件的可选择内容等,都需要重新修改代码。但是监控系统数据的品种非常多,例如查询某个设备、某个信号、某一类告警等等,一般的监控报表生成方法很难做到这点。
本发明可通过如下技术方案实现,一种监控系统的数据处理方法,所述监控系统包括数据单元、处理单元以及设在所述数据单元与所述处理单元之间的中间单元,所述处理方法的特征在于,包括以下步骤在所述数据单元中的基础监控数据与面向用户的可供报表定义使用的抽象描述数据之间建立一个映射关系,将所述描述数据与所述基础数据的映射关系预存在所述中间单元中;所述处理单元根据用户要求,用所述中间单元存储的描述数据定义报表的显示格式,并保存到已定义报表数据库中;所述处理单元根据用户需要,从所述已定义报表数据库选取出的一个已定义报表,将所述已定义报表中的描述数据传送到所述中间单元,根据所述中间单元存储的对应基础数据,构造查询结果报表。
在本发明所述的方法中,所述中间单元存储的描述数据包含以下信息对那些可放到一个报表中的基础数据进行归类后的类别描述名称、每一类基础数据中所包含的可供报表定义的信息、以及在查询时获得这些基础数据的方法。
在本发明所述的方法中,所述用中间单元存储的描述数据定义报表的显示格式的过程包括以下步骤从可定义的报表样式中选择所需报表的基本样式;根据所选择的基本样式,从中间单元的描述数据中查询出适合该基本样式的描述数据;确定报表的显示格式;使用所查询出的描述数据来定义报表的数据内容;将报表显示格式和所使用的描述数据保存到已定义报表数据库。
在本发明所述的方法中,将所述已定义报表中的描述数据传送到所述中间单元,根据所述中间单元存储的对应基础数据,构造查询结果报表的过程包括以下步骤从所述已定义报表数据库中获取所选报表的显示格式及其使用的描述数据;根据所用描述数据中的对应基础数据的查询方法,动态构造出查询语句或查询函数;对所述监控数据库执行查询语句或查询函数,并将返回的结果填入报表显示格式中。
采用本发明提供的方法,用户在定义报表时,由于采用了预存描述数据的中间单元作为处理的解释和控制环节,使得用户可以采用描述数据定义自己所需要的报表;而查询报表时,系统就会产生相应的查询语句查询基础数据并填充到报表中,从而完成用户自己定义和查询报表的整个过程。在此过程中,用户无需了解监控数据库的内部结构,即可定义和查询自己所需要的报表,使得整个监控数据的处理过程更加通用、灵活和用户友好,处理效率更高。
第一个过程是在处理单元和最终的监控数据库201中间增加一个中间单元,即监控数据库的描述数据层206。其中处理单元包括报表查询处理单元202和报表定义处理单元205。描述数据层206的作用是对监控数据库201中的基础数据进行抽象,用描述数据将基础数据描述成为面对用户并且可供报表定义使用的信息。描述时,将某些可以放到一个报表中的基础数据归为一类,给出一个描述名称,例如“告警记录数据”,同时针对报表定义描述了这类基础数据可供报表定义的信息,如“告警记录数据”中包含了哪些信息;另外为了最终对该类数据进行查询描述了获取这些基础数据的方法。
第二个过程是报表定义。用户可以自己定义所需要的报表样式、数据。用户定义报表时,可选择报表基本样式,处理单元将从中间单元206中取出适合该样式的描述数据,描述信息可以供用户定义报表的行、列、单元格、图形报表坐标轴等等。由于该描述是面向用户的,因此用户可以在无需了解监控数据库基础数据的情况下就能定义自己的报表。
报表定义的流程如图3所示,从图中可见,在步骤301、用户开始定义报表;在步骤302,由用户从已经预存好的可定义的报表样式204中选择报表的基本样式,例如表格报表、各种图形报表等;在步骤303、数据处理单元根据所选择的基本样式从中间单元206中查询出适合的描述数据;在步骤304、确定报表的显示格式,如表格合并,列头标题输入等;在步骤305,使用查询处理单元提供的描述数据定义报表的数据内容;在步骤306、定义完毕后,将报表的显示格式和使用的描述数据保存到已定义报表数据库203中,以备以后的报表查询使用;在整个过程结束于步骤307。
第三个过程是报表查询。针对被查询的报表,不是使用固定的查询语句查询数据库,而是根据被查询报表中所定义的描述数据,从监控数据库中获取与之对应的基础数据的查询方法,动态地构造出查询语句去查询监控数据库。
报表查询流程如图4所示在步骤401、用户开始查询某个已定义报表;在步骤402及403,处理单元从已定义报表数据库203中查询出该报表的所有定义信息,包括报表格式信息和报表中所使用的描述数据;在步骤404、报表查询处理单元通过该描述数据,到描述数据中查询出对应的基础数据的查询方法;在步骤405,根据所述查询方法动态地构造出获取报表数据所需要的查询语句;在步骤406,对监控数据库执行该查询语句;在步骤407,将查询所得的返回结果填充到报表中并以用户定义的报表格式显示给用户;在步骤408,结束报表查询过程。
从上述三个过程可以看出,用户只要在定义报表时,使用自己所需要的描述数据,在查询报表时,系统就会产生相应的查询语句查询基础数据并填充到报表中,从而完成用户自己定义和查询报表的整个过程。在此过程中,用户无需了解监控数据库的内部结构,即可定义和查询自己所需要的报表。
下面通过各种具体实施方式
对本发明作进一步说明1、可以定义多种报表样式和数据常用的报表样式有表格报表和图形报表,其中图形报表可以细分为柱状图、饼图、曲线图等;表格报表可以细分为记录型的表格报表和单元格型的表格报表。从报表中显示的数据来看,记录型表格报表和图形报表都是使用一个查询结果集作为报表数据内容的。表格报表中一条记录是表格中的一行,通常用来显示历史记录,例如告警记录,信号运行记录等等。柱状图用来显示统计值,例如局站告警统计,整流器告警统计值等;曲线图用来表现信号的运行趋势,例如蓄电池单体电池电压放电曲线等;饼图用来显示统计值所占的比例,例如整流器的电压Uab的告警次数占该整流器所有告警次数的比例;单元格型报表的表格中每个单元格的内容都是一个独立的计算结果,例如第一个单元格显示整流器的总告警统计次数,第二个单元格显示该整流器下电压Uab的告警统计次数等等。因此,将监控数据库中的基础数据描述为不同的类型,就可以用来定义不同的报表数据和选择相应的样式,从而完成监控系统所要求的数据表现方式和统计方式。
(1)描述为单个结果值可以将监控系统数据库中的某个具有实际含义的值或者某个统计值描述为单个结果值,描述方式可以是返回单个结果的查询语句,例如数据库SQL查询语句或者存储过程执行语句等;或者是能返回单个结果的查询函数,例如高级语言中的某个函数,通过访问存储的数据,返回单个统计结果。描述中可以使用变量,代表某个在查询时可能会改变的值,变量在报表查询时以参数的方式出现要求用户选择或者输入。例如,描述从数据库中获取某个信号值的SQL语句可以是“Select Value From SignalTable WhereSignalID=变量1”,用户在查询时输入信号标识符,处理单元将信号标识符(ID)替换SQL语句中的“变量1”,构造完整的SQL语句后查询数据库。
在定义单元格报表时,某个单元格的数据可以定义为上面的一个描述,查询时输入该描述所需要的参数,系统将该参数替换描述中的变量在数据库中查询,报表查询出来后,该单元格中的内容就是描述中使用的查询语句执行后的查询结果。
(2)描述为一个记录集可以将监控系统数据库中某类可以以记录方式表现的数据集合描述为一个二维记录集,一个记录集需要描述获取方式和返回字段的含义。描述获取方式可以是返回某个结果集的查询语句,例如能返回某个二维结果集的数据库SQL语句或者执行存储过程的语句;或者是能返回二维结果集的查询函数,例如高级语言中的某个函数,通过访问存储的数据,返回二维结果集。二维记录集还需要描述它包含的字段内容,即其中的每个字段对应于记录集的那个返回字段。例如,描述告警记录结果集的SQL语句可以是“Select SignalName,AlarmTime,AlarmValue From SignalTable,AlarmTableWhere SignalTable.SignalID=AlarmTable.SignalID”,返回的字段描述为“信号名”、“告警发生时间”和“告警信号值”。
二维结果集的描述也可以直接指定数据库中某个表的名称,描述该表和其它表的关联关系以及访问该表应该遵守的访问限制,访问规则描述使用户有机会设置报表的查询参数限制查询结果。返回字段可以描述为某个中心表以及同该表有关联关系的其它表中所有能在报表中使用的字段名和字段所在的表名。选择描述的字段作为表格报表的列或者图形报表坐标轴的数据,系统将根据选择的结果集字段所对应的表名、字段名、表之间的关联关系、表的访问限制等自动构造查询语句进行查询。
描述为单个结果值和记录集这两种方式的不同点在于,第一种查询语句的方式返回的字段数是一定的,即使用户在定义报表时只选择了部分字段,但实际的查询结果却返回所有字段,适合根据需要在查询语句或者存储过程中加入统计功能;第二种动态拼装查询语句的方式在结果集中只返回用户选择的字段,单独访问具有关联关系的多个表中的一个或者几个表,适合简单高效的查询关联后的基础记录。
在定义表格报表的数据时,可以在字段的描述中选择报表需要的数据,报表的每一列对应记录集返回的某个字段,记录集的每一条记录对应报表中的每一行;在定义图形报表时,各个坐标轴可以用来对应记录集的字段,例如定义一个信号运行曲线报表时,曲线报表使用“信号运行数据”描述,而“信号运行数据”是一个二维结果集,包含记录时间字段(对应于结果集中的第一个字段)和信号值字段(对应于结果集中的第二个字段)。曲线报表的X轴选择结果集描述的记录时间字段,Y轴选择信号值字段,则显示结果就是该信号的运行曲线。
2、可以描述为报表查询条件由于监控系统数据繁多,每个用户关心的数据和重点不完全一样,因此要求在查询数据库时,最好能提供多种查询条件并且查询条件可以根据用户的要求增加和减少。在描述数据库数据的查询语句中可以包含变量ID号,而每个变量都被描述为ID号、数据类型、获取方式、选项数据源。根据获取方式的内容,参数可以设置为用户直接输入、固定选项列表、数据库查询结果作为选项列表等。使用固定选项列表时,选项数据源中是该参数的多个可选项,例如告警等级选择,可选项为一般告警、重要告警、紧急告警;使用数据库查询结果作为选项列表时,选项数据源中是一个查询语句(查询语句或者是执行存储过程的语句)或者是一个能返回所需结果的函数(高级语言中的函数)。查询报表时,如果系统检查到该报表使用的描述数据中有参数信息,则将相应的参数描述的列表结果取出显示到界面中,填充参数的可用选项,用户输入对应于查询条件的参数后,系统将该参数值替换到查询语句中对数据库进行查询。如果用户要对报表的查询参数进行修改,只需要修改结果集的查询语句描述。当无需要用户输入该参数时,只需删除结果集描述中相应变量的描述,报表在查询时不再提示输入任何的参数而直接查询出所有记录。使用这种方式,相应地也可以增加报表的查询参数。
3、不同类型报表的处理流程首先描述监控系统数据库的数据、字段和使用的参数,保存这些描述到监控数据库描述数据的专用表中供定义和查询使用。
在定义单元格型表格报表时,首先定义单元格的样式,如单元格中所显示的内容,多个单元格的合并等等;然后定义每个需要显示数据的单元格,选取该单元格所对应的描述数据,该描述数据的返回值为单个值,例如整流器电压Uab的当前值,电流Ia的告警次数等,定义完毕后保存单元格的样式和定义了数据的单元格选择的描述数据。查询单元格型表格报表时,系统将逐个分析单元格中定义的描述数据,如果描述数据中包含有参数信息,则获取相应的参数描述并显示在参数输入界面中由用户进行输入或者选择。系统将确定后的参数值替换描述数据中的参数标志,构成一个完成的查询语句或者存储过程执行语句。使用该查询语句查询数据库,将查询返回的结果填充到相应的单元格中,完成一个单元格型表格报表的完整查询。
在定义记录型表格报表时,首先选择该报表所使用的描述数据,描述数据的查询结果必须是一个记录集。定义报表的列头标题和格式,定义报表中每个列所使用的记录集字段,定义完毕后保存报表表格样式和每一列所选择记录集的列信息。查询报表时,获取该报表所使用的描述数据,如果是查询语句,则获取其中包含的参数描述,获取用户输入的参数并组成完成的查询语句后,查询数据库;如果是某个数据库表,则根据用户定义该报表时选择的表和字段、多个表间的关联关系以及访问该表需要遵循的访问限制等实时构造查询语句,如果查询中包含有参数,则处理方法和前面相同,组合成完整的查询语句后,查询数据,将数据库的查询结果集填充到记录型表格报表的每一行中。
在定义图形报表时,首先选择所使用的图形样式是柱状图、饼图或者曲线图,然后选择图形报表所使用的描述数据,描述数据的查询结果必须是一个记录集。最后选择图形报表每个坐标轴所使用的记录集字段,每个图形报表都有X、Y和Z三个轴,X和Y轴必须定义,Z轴是一个分组的作用,如果定义了Z轴,则查询结果会判断Z轴的内容,如果Z轴的内容变化,则表示是另外一根曲线的数据。例如在曲线报表中显示蓄电池多个单体电压的放电曲线,Z轴可以定义为单体电池电压的名称,由于每个单体电压的名称不一样,相应的可以有多条曲线。定义完成后,保存图形报表样式和每根坐标轴对应的记录集字段。图形报表的查询和记录型表格报表相似,查询完毕后,逐个取出记录集的每条记录,根据X轴和Y轴所使用的字段的值在图形中描点,如果定义了Z轴且Z轴的数据有变化,则产生多条曲线或者饼图。
4、使用本发明的方法实现报表定义查询具有以下优点
(1)定义灵活使用本发明可以灵活定义多种样式的报表,例如表格、各种图形等等。用户可以在不了解监控系统数据库的情况下,根据自己的要求生成所需样式和数据的报表。
(2)减少报表维护工作量用户对报表的需求是各种各样的,在报表自定义中使用本专利的数据查询系统后,增加新报表或者修改已有报表不再需要修改程序代码,而是只需要重新定义某个报表或者定义一个新的报表即可。
权利要求
1.一种监控系统的数据处理方法,所述监控系统包括数据单元、处理单元以及设在所述数据单元与所述处理单元之间的中间单元,所述处理方法的特征在于,包括以下步骤在所述数据单元中的基础监控数据与面向用户的可供报表定义使用的抽象描述数据之间建立一个映射关系,将所述描述数据与所述基础数据的映射关系预存在所述中间单元中;所述处理单元根据用户要求,用所述中间单元存储的描述数据定义报表的显示格式,并保存到已定义报表数据库中;所述处理单元根据用户需要,从所述已定义报表数据库选取出的一个已定义报表,将所述已定义报表中的描述数据传送到所述中间单元,根据所述中间单元存储的对应基础数据,构造查询结果报表。
2.根据权利要求1所述的方法,其特征在于,所述中间单元存储的抽象描述数据包含以下信息对那些可放到一个报表中的基础数据进行归类后的类别描述名称、每一类基础数据中所包含的可供报表定义的信息、以及在查询时获得这些基础数据的方法。
3.根据权利要求2所述的方法,其特征在于,所述用中间单元存储的描述数据定义报表的显示格式的过程包括以下步骤由用户从可定义的报表样式中选择所需报表的基本样式;根据所选择的基本样式,从中间单元的描述数据中查询出适合该基本样式的描述数据;确定报表的显示格式;使用所查询出的描述数据来定义报表的数据内容;将报表显示格式和所使用的描述数据保存到已定义报表数据库。
4.根据权利要求3所述方法,其特征在于,报表样式有表格报表和图形报表,其中图形报表包括柱状图、饼图、曲线图等;表格报表包括记录型的表格报表和单元格型的表格报表。
5.根据权利要求1或2或3所述的方法,其特征在于,将所述已定义报表中的描述数据传送到所述中间单元,根据所述中间单元存储的对应基础数据,构造查询结果报表的过程包括以下步骤从所述已定义报表数据库中获取所选报表的显示格式及其使用的描述数据;根据所用描述数据中的对应基础数据的查询方法,动态构造出查询语句或查询函数;对所述监控数据库执行查询语句或查询函数,并将返回的结果填入报表显示格式中。
6.据权利要求1或2或3所述的方法,其特征在于,所述处理单元包括报表查询处理单元和报表定义处理单元。
7.据权利要求4所述方法,其特征在于,所述报表式样为单元格型表格报表时,其定义包括以下步骤1)定义单元格的样式,包括单元格显示内容,多个单元格的合并;2)定义每个需要显示数据的单元格,选取该单元格所对应的描述数据,该描述数据的返回值为单个值;3)将单元格的样式和定义了数据的单元格选择的描述数据加以保存;其查询包括以下步骤1)逐个分析单元格中定义的描述数据,如果描述数据中包含有参数信息,则获取相应的参数描述并显示在参数输入界面中由用户进行输入或者选择;2)将确定后的参数值替换描述数据中的参数标志,构成一个完成的查询语句或者存储过程执行语句;3)使用该查询语句查询数据库,将查询返回的结果填充到相应的单元格中,完成一个单元格型表格报表的完整查询。
8.据权利要求4所述方法,其特征在于,所述报表式样为记录型表格报表时,其定义包括以下步骤1)选择该报表所使用的其查询结果为一个记录集的描述数据;2)定义报表的列头标题和格式;3)定义报表中每个列所使用的记录集字段;4)保存报表表格样式和每一列所选择记录集的列信息;其查询包括以下步骤1)获取该报表所使用的描述数据,如果是查询语句,则获取其中包含的参数描述;2)获取用户输入的参数并组成完成的查询语句后查询数据库;3)如果获取的是某个数据库表,则根据用户定义该报表时选择的表和字段、多个表间的关联关系以及访问该表需要遵循的访问限制等实时构造查询语句;4)根据完成的查询语句查询数据库,将数据库的查询结果集填充到记录型表格报表的每一行中。
9.据权利要求4所述方法,其特征在于,所述报表式样为图形报表时,其定义包括以下步骤1)选择所使用的图形样式;2)然后选择图形报表所使用的其查询结果为一个记录集的描述数据;3)选择图形报表每个坐标轴所使用的记录集字段;4)保存图形报表样式和每根坐标轴对应的记录集字段;其查询包括以下步骤1)获取该报表所使用的描述数据,如果是查询语句,则获取其中包含的参数描述;2)获取用户输入的参数并组成完成的查询语句后查询数据库;3)如果获取的是某个数据库表,则根据用户定义该报表时选择的表和字段、多个表间的关联关系以及访问该表需要遵循的访问限制等实时构造查询语句;4)根据完成的查询语句查询数据库,将数据库的查询结果记录集的每条记录,根据X轴和Y轴所使用的字段的值在图形中描点,如果定义了Z轴且Z轴的数据有变化,则产生多条曲线或者饼图。
10.根据权利要求7-9中任何一项所述方法,其特征在于,所述查询结果为单个结果值的描述可以使用变量描述为返回单个结果的查询语句,或返回单个结果的查询函数,单个结果值描述也可以是在报表查询时以参数的方式出现要求用户选择或者输入的数值,所述查询结果为一个记录集的描述,可以使用记录方式描述为一个二维记录集,分别用于结果获取方式和返回字段内容的描述。
全文摘要
一种用于监控系统中让用户可自行定义数据和报表格式的数据处理方法,包括以下步骤对监控数据库中的基础数据进行抽象,用描述数据将所述基础数据描述成为面对用户并且可供报表定义使用的信息;定义报表的显示格式和所使用的描述数据,并保存到已定义报表数据库中;选取已定义的报表进行查询,生成用户所需要的报表。针对所有的监控基础数据,用户可以根据自己的需要进行描述,从而定义自己的报表,在报表中包含自己关心的信号或者局站、设备的统计值。
文档编号G06F17/30GK1416078SQ01129850
公开日2003年5月7日 申请日期2001年10月30日 优先权日2001年10月30日
发明者祝裕福 申请人:艾默生网络能源有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1