发明内容
本发明实施例的目的在于提供一种基于Flex的监控页面显示方法及系统,其能够克服现有技术中对于在实际监控应用中,针对不同的监控场景或业务需求需要开发不同的Flex控件,同时还需要重新编写服务器代码的缺陷。
为了达到上述目的,本发明实施例采用以下技术方案:
一种基于Flex的监控页面显示方法,其包括:
A、服务器的监控页面信息处理模块获取包含多个Flex控件信息的监控页面信息,并将其发送至浏览器;
B、所述浏览器的浏览器Flex解析模块依据所述监控页面信息,建立静态监控页面;
C、服务器页面解析模块依据从具体业务模块获取的真实业务数据以及所述监控页面信息得到动态更新数据,并将其推送至所述浏览器;
D、所述浏览器的浏览器Flex解析模块依据所述静态监控页面以及动态更新数据,显示实时的监控页面。
优选地,在执行所有步骤之前,还包括:
通过监控页面信息编辑模块编辑监控页面信息。
更为优选地,在执行所述步骤之后,还包括:
将所述监控页面信息存储入监控页面信息数据库。
优选地,所述Flex控件信息包括若干个动态规则信息以及静态规则信息。
更为优选地,在所述步骤B中,所述浏览器的浏览器Flex解析模块依据所述监控页面信息中包括的静态规则信息,建立静态监控页面。
优选地,所述每个动态规则信息包括业务数据变量脚本表达式与动态更新数据的生成规则,在所述步骤C中,所述服务器页面解析模块依据从具体业务模块获取的真实业务数据以及所述监控页面信息中包括的动态规则信息得到动态更新数据,并将其推送至所述浏览器。
优选地,所述监控页面信息为xml格式的文件。
优选地,所述步骤C,包括:
C1、所述服务器页面解析模块遍历所述监控页面信息中所有的Flex控件信息中的动态规则信息;
C2、依据实时从具体业务模块获取的真实业务数据以及所述动态规则信息得到当前动态更新数据;
C3、当所述当前动态更新数据与上次动态更新数据不相同时,转入步骤C4,否则,转入步骤C2;
C4、服务器页面解析模块推送该当前动态更新数据至浏览器。
一种基于Flex的监控页面显示系统,包括服务器以及浏览器,其中,所述服务器包括监控页面信息处理模块、服务器页面解析模块以及监控页面信息数据库,其中,
监控页面信息处理模块,用于从所述监控页面信息数据库中获取包含Flex控件信息的监控页面信息,并将其发送至服务器页面解析模块以及浏览器Flex解析模块;
服务器页面解析模块,用于依据从具体业务模块获取的真实业务数据以及所述监控页面信息得到动态更新数据,并将其推送至所述浏览器;以及
监控页面信息数据库,用于存储所述监控页面信息;
所述浏览器包括浏览器Flex解析模块,其中,
浏览器Flex解析模块,用于获取所述监控页面信息并依据所述监控页面信息,建立静态监控页面;依据所述静态监控页面以及由服务器页面解析模块推送的动态更新数据,显示实时的监控页面。
一种基于Flex的监控页面显示系统,包括服务器以及浏览器,其中,所述服务器包括监控页面信息处理模块、服务器页面解析模块以及监控页面信息编辑模块,其中,
监控页面信息编辑模块,用于编辑包含Flex控件信息的监控页面信息;
监控页面信息处理模块,用于从所述监控页面信息编辑模块获取所述监控页面信息,并将其发送至服务器页面解析模块以及浏览器Flex解析模块;以及
服务器页面解析模块,用于依据从具体业务模块获取的真实业务数据以及所述监控页面信息得到动态更新数据,并将其推送至所述浏览器;
所述浏览器包括浏览器Flex解析模块,其中,
浏览器Flex解析模块,用于获取所述监控页面信息并依据所述监控页面信息,建立静态监控页面;依据所述静态监控页面以及由服务器页面解析模块推送的动态更新数据,显示实时的监控页面。
本发明实施例提供的基于Flex的监控页面显示方法及系统,将Flex控件的初始属性定义为静态规则信息,将Flex控件的一切变化定义为动态规则信息,并将其形成监控页面信息,例如该监控页面信息可为xml文件。在具体应用过程中,针对不同的监控场景或业务需求,只需要改变该监控页面信息,例如采用预存储于监控页面数据中的相应监控页面信息或根据监控页面信息编辑模块编辑该监控页面信息,形成更新后的xml文件,所述服务器端的服务器页面解析模块以及浏览器端的浏览器Flex解析模块解析该xml文件的监控页面信息,即可实现不同业务需求或监控场景的监控页面。可见,本发明实施例提供的该基于Flex的监控页面显示方法及系统相对于现有技术来说,能够减少编程人员的工作量,且能够简单快速地生成监控页面,其效率高,另外,所述Flex控件信息的动态规则信息中可以使用脚本机制,从而一定程度上可以增强监控的灵活性。
具体实施方式
下面结合附图和具体实施例对本发明所述技术方案作进一步的详细描述,以使本领域的技术人员可以更好的理解本发明并能予以实施,但所举实施例不作为对本发明的限定。
本发明的核心思想是将监控页面的静态、动态信息都以监控页面信息形式,例如以xml文件的形式保存在服务器上。当浏览器需要显示相应的监控页面时,首先由浏览器Flex解析模块读取该xml文件中监控页面的静态信息,并生成静态的监控页面,然后服务器页面解析模块读取该xml文件中监控页面的动态信息,并结合动态信息的解释策略,生成动态更新数据,并以消息推送的方式发送至浏览器,浏览器中的浏览器Flex解析模块根据所述接收的动态更新数据,更新相应Flex控件的属性,从而在浏览器端生成实时的监控页面。在本发明中,所述监控页面信息可通过可视化的编辑器生成,例如,所述编辑器为GEF(Graphic Editor Framework)编辑器。
在本发明的一实施例中,如图3所示,所述的基于Flex的监控页面显示方法,其包括如下步骤:
S200、服务器的监控页面信息处理模块获取包含多个Flex控件信息的监控页面信息,并将其发送至浏览器;
S201、所述浏览器的浏览器Flex解析模块依据所述监控页面信息,建立静态监控页面;
S202、服务器页面解析模块依据从具体业务模块获取的真实业务数据以及所述监控页面信息得到动态更新数据,并将其推送至所述浏览器;
S203、所述浏览器的浏览器Flex解析模块依据所述静态监控页面以及动态更新数据,显示实时的监控页面。
在本发明的一种优选实施方式中,在执行所有步骤之前,还包括如下步骤:
S100、通过监控页面信息编辑模块编辑监控页面信息。
所述服务器的监控页面信息处理模块获取监控页面信息可以为多种,例如其可从服务器的监控页面信息数据库中依照编程人员的要求获取,也可以直接通过编程人员在该监控页面信息编辑模块中编辑该监控页面信息,之后将该编辑好的监控页面信息发送给监控页面信息处理模块进行处理。其中,所述监控页面信息编辑模块可以直接利用Flex而实现,也可以利用其他的编辑平台,例如可以采用GEF编辑器编辑所述监控页面信息。
对于所述监控页面信息,其可为xml格式的文件,即以xml文件的形式描述所述包含了Flex控件信息的监控页面信息,从而利用在实际的业务进行过程中,利用该xml文件来进行信息的传输。所述Flex控件信息用以根据具体业务的需要或被监控场景的需要而由用户自行定义,之后生成包含所述Flex控件信息的xml文件并由服务器发送至浏览器,最后浏览器处理所述xml文件,并依据其中的Flex控件信息在浏览器端显示所需要的监控页面,其中,所述监控页面由多个对应的Flex控件而组成。
更为优选地,在执行所述步骤S100之后,还包括:
S101、将所述监控页面信息存储入监控页面信息数据库。
针对编程人员通过所述监控页面信息处理模块编辑完成的监控页面信息,可将其存储入监控页面信息数据库,以便在后续遇到类似的需求时,例如针对该类似的监控场景,可以直接从该监控页面信息数据库中调取该监控页面信息,从而可以节省编程人员一定的工作量,从而可以提高工作效率。
在本发明提供的基于Flex的监控页面显示方法中,所述Flex控件信息包括若干个动态规则信息以及静态规则信息。
所述监控页面信息中包括的Flex控件信息可以描述多个相对应的Flex控件,通过该多个Flex控件可以在浏览器端以监控页面的形式呈现被监控场景的画面,从而更为形象生动的为管理人员提供依据和参考。
其中,所述每个Flex控件信息包括的若干个静态规则信息反映的是监控页面的静态初始值;所述若干个动态规则信息反映的是监控页面的动态变化值。对于其具体的解释说明,请参考下文具体的实施例以理解。
在具体实施过程中,在所述步骤S201中,所述浏览器的浏览器Flex解析模块依据所述监控页面信息中包括的静态规则信息,建立静态监控页面。
所述浏览器Flex解析模块在接收到该监控页面信息之后,遍历该监控页面信息中所有的静态规则信息,并依据该静态规则信息建立静态监控页面,对于所述静态监控页面,其不具有动态刷新具体业务模块实时数据的能力,需要服务器页面解析模块进一步的配合从而达到动态呈现被监控场景的具体业务模块的工作过程的目的。
为此,在具体实施过程中,所述每个动态规则信息包括业务数据变量与对应的动态更新数据的变量表达式,在所述步骤S202中,所述服务器页面解析模块依据从具体业务模块获取的真实业务数据以及所述监控页面信息中包括的动态规则信息得到动态更新数据,并将其推送至所述浏览器。
所述服务器页面解析模块在接收到该监控页面信息之后,遍历该监控页面信息中所有的动态规则信息,并依据该动态规则信息以及接收到的具体业务模块上送的真实业务数据得到动态更新数据,所述服务器页面解析模块在作出判断需要将该动态更新数据发送至浏览器Flex解析模块之时,其通过消息推送机制将该动态更新数据推送至所述浏览器Flex解析模块。
优选地,所述步骤S202,包括:
S2021、所述服务器页面解析模块遍历所述监控页面信息中所有的Flex控件信息中的动态规则信息;
S2022、依据实时从具体业务模块获取的真实业务数据以及所述动态规则信息得到当前动态更新数据;
S2023、当所述当前动态更新数据与上次动态更新数据不相同时,转入步骤S2024,否则,转入步骤S2022;
S2024、服务器页面解析模块推送该当前动态更新数据至浏览器。
在所述步骤S2023中,当前动态更新数据与上次动态更新数据相同时,即可判断出数据不需要更新,从而该服务器页面解析模块无需将该当前动态更新数据推送至浏览器,从而一定程度上可以节省网络流量。
依据本发明一实施例,如图2所示,其提供了一种基于Flex的监控页面显示系统,其包括服务器10以及浏览器20,其中,所述服务器10包括监控页面信息处理模块101、服务器页面解析模块102以及监控页面信息数据库103,其中,
监控页面信息处理模块101,用于从所述监控页面信息数据库103中获取包含Flex控件信息的监控页面信息,并将其发送至服务器页面解析模块102以及浏览器Flex解析模块201;
服务器页面解析模块102,用于依据从具体业务模块30获取的真实业务数据以及所述监控页面信息得到动态更新数据,并将其推送至所述浏览器20;以及
监控页面信息数据库103,用于存储所述监控页面信息;
所述浏览器20包括浏览器Flex解析模块201,其中,
浏览器Flex解析模块201,用于获取所述监控页面信息并依据所述监控页面信息,建立静态监控页面;依据所述静态监控页面以及由服务器页面解析模块102推送的动态更新数据,显示实时的监控页面。
在该实施例中,所述基于Flex的监控页面显示系统还可以包括监控页面信息编辑模块40,其用以编辑包含Flex控件信息的监控页面信息,之后将该监控页面信息发送至监控页面信息编辑模块40并存储入该监控页面信息数据库103。
依据本发明的另一实施例,如图2所示,其提供的基于Flex的监控页面显示系统,包括服务器10以及浏览器20,其中,所述服务器10包括监控页面信息处理模块101、服务器页面解析模块102以及监控页面信息编辑模块40,其中,
监控页面信息编辑模块40,用以编辑包含Flex控件信息的监控页面信息;
监控页面信息处理模块101,用于从所述监控页面信息编辑模块40获取所述监控页面信息,并将其发送至服务器页面解析模块102以及浏览器Flex解析模块201;以及
服务器页面解析模块102,用于依据从具体业务模块30获取的真实业务数据以及所述监控页面信息得到动态更新数据,并将其推送至所述浏览器20;
所述浏览器20包括浏览器Flex解析模块201,其中,
浏览器Flex解析模块201,用于获取所述监控页面信息并依据所述监控页面信息,建立静态监控页面;依据所述静态监控页面以及由服务器页面解析模块102推送的动态更新数据,显示实时的监控页面。
在该实施例中,所述基于Flex的监控页面显示系统还可以包括监控页面信息数据库103,当编程人员通过监控页面信息编辑模块40编辑好了相应的监控页面信息之后,可将其通过监控页面信息处理模块101存储入该监控页面信息数据库103,从而方便编程人员在下一次遇到同样的业务需求或被监控场景时调取,一定程度上可以节省编程人员的工作量,提高其工作效率。
下面将详细解释该实施例提供的基于Flex的监控页面显示方法及系统。
在该实施例中,所述基于Flex的监控页面显示方法包括如下具体步骤:
1、通过监控页面信息编辑模块40定义监控页面信息的Flex控件信息,以及Flex控件信息的静态规则信息、动态规则信息,从而生成监控页面信息。其中,所述监控页面信息编辑模块40可为GEF编辑器,编程人员通过该可视化的GEF编辑器,编辑所需要的符合业务需求或监控场景需求的监控页面信息,除此之外,所述监控页面信息编辑模块40还可以为其他形式的编辑工具,例如在实际的应用过程中,也可直接基于Flex实现编辑器的功能,编辑所述监控页面信息。
根据实时监控的业务特点,这里的Flex控件可分为三类:
(1)Flex自带的Flex控件,如文本框、标签、图片框等;
(2)第三方开源的Flex控件,如图表类控件等;
(3)编程人员通过监控页面信息编辑模块40自定义的Flex控件,如仪表盘、电压表控件等。
在本实施例中,将所述Flex控件信息允许设置的静态属性称为静态规则信息,例如,对于文本框控件,其可支持的静态规则信息包括横坐标、纵坐标、背景色、边框颜色、有无边框、文本框内容等;将Flex控件信息允许的动态变化行为称为动态规则信息,例如,同样对于文本框控件,其可支持的动态规则信息包括文本框的文本输出、文本框背景色变化等。
除此之外,在该步骤中,每个Flex控件信息都可支持若干个静态规则信息以及动态规则信息。
2、用xml文件描述监控页面信息。
使用xml文件描述监控页面信息,每个监控页面信息由若干Flex控件信息的描述组成,而每个Flex控件信息由其可支持的静态规则信息以及动态规则信息的描述组成。
其中,每个动态规则信息都由以下两方面信息组成:
(1)关于业务数据变量脚本表达式,或称变量表达式。
对于所述变量表达式,在实际的实施过程中,可以使用JavaScript作为脚本语言。在JavaScript表达式中,业务数据变量以某种界定符标识,如以“${”开头、以“}”结尾。
(2)动态更新数据的生成规则,或称生成规则。
所述生成规则是指当具体的真实业务数据代入所述变量表达式得到的值满足预定义的规则时,应将对应Flex控件的某个对应的属性进行对应的更新。
以文本框控件的背景色变化的动态规则信息为例,其变量表达式可描述为:${A点电压},其动态更新数据的生成规则可描述为:当将具体的真实业务数据代入所述变量表达式得到的值在0~5之间时,文本框的背景色属性应更新为白色;当得到的值在5~10之间时,文本框的背景色属性应更新为红色。所述动态更新数据的生成规则可依据本技术领域的普通技术人员的基本知识而自行定义,这里对其不作过多的赘述和范围的限定。
描述具体监控场景的监控页面信息的xml文件包含了该监控页面所需的所有的Flex控件信息、以及每个Flex控件信息的静态规则信息与动态规则信息。
本实施中,所述xml文件可以通过可视化编辑器生成。在该实施例的一种具体实施方式中,可以基于Flex实现监控页面信息的编辑,其中,包括对Flex控件信息进行静态规则信息的编辑,以及动态规则信息的绑定,最终生成包含静态规则信息与动态规则信息的xml文件。
3、浏览器Flex解析模块201读取上述的xml文件中各Flex控件信息的静态规则信息,并生成静态的监控页面。
当浏览器20显示该静态的监控页面前,由浏览器Flex解析模块201向服务器10获取相应的监控页面信息对应的xml文件,并读取各Flex控件信息的静态规则信息。由于静态规则信息就是Flex控件信息的一些属性值,因此,按照Action Script的语法,可以生成静态的监控页面。
此时,浏览器20生成的监控页面是静态的,并不具备动态刷新的能力,只是显示了监控页面中各Flex控件的初始状态。
4、服务器页面解析模块102读取xml文件中各Flex控件信息的动态规则信息,结合解释策略,生成动态更新数据。
在服务器页面解析模块102获取监控页面信息的xml文件之后,即在进行上述步骤3的同时,服务器页面解析模块102读取所述xml文件,循环遍历所有Flex控件信息,并遍历Flex控件信息的所有动态规则信息。对于每个动态规则信息,都根据以下解释策略生成动态更新数据。
(1)针对所述动态规则信息中的变量表达式,替换业务数据变量为真实业务数据。
首先由服务器页面解析模块102从具体业务模块30中获取对应的业务数据变量的真实业务数据,然后通过事先定义的界定符标识,替换相应变量表达式中的变量,例如变量表达式为:${温度X}>26,设此时温度X的真实业务数据为24,则替换后的变量表达式为:24>26。
(2)使用脚本引擎,计算变量表达式的值,并生成当前动态更新数据。例如在一种具体的实施方式中,对于JavaScript脚本,可使用对应的JavaScript引擎,依据得到的真实业务数据计算出变量表达式的值,并生成当前动态更新数据。如将真实业务数据代入变量表达式之后,得到24>26的JavaScript表达式,使用脚本引擎计算其值为false。之后,则根据动态规则信息包含的生成规则,生成动态更新数据,如由于表达式值为false,对应的Flex控件的文本应更新为“温度过低”。
(3)若所述当前动态更新数据为第一次得到,则转入步骤(4);否则,判断当前动态更新数据与上一次是否相同,当且仅当本次计算的当前动态更新数据与上一次不一致时,才转步骤(4),否则,转入步骤(2)。
(4)将所述当前动态更新数据推送至浏览器Flex解析模块201。
对于所述动态更新数据,其格式可为“控件ID-属性-值”。在Flex控件信息中,不同的动态规则信息,所影响的Flex控件的属性也可能不一样。以显示与隐藏为例,对于其动态规则信息,当获得的动态更新数据的值为真时,该Flex控件显示,否则该Flex控件隐藏。因此,当所述动态更新数据的格式为“0001-visible-true”时,其相应的Flex控件显示。
可见,所述由服务器页面解析模块102推送至浏览器Flex解析模块201的动态更新数据,是结合业务数据变量的真实业务数据以及动态规则信息,生成为“控件ID-属性-值”格式的动态更新数据。
在上述步骤(3)中,当依据真实业务数据计算得到动态更新数据没有发生变化时,浏览器20端的相应Flex控件的属性也必定不需要更新,因此此时所述由服务器页面解析模块102不向所述浏览器Flex解析模块201推送该当前动态更新数据,从而一定程度上节省了网络流量。
对于所述由服务器页面解析模块102推送所述当前动态更新数据至所述浏览器Flex解析模块201的方式,在本实施例的一种优选实施方式中,可使用Adobe公司提供的BlazeDS开源组件实现消息推送。
5、浏览器Flex解析模块201接收动态更新数据并更新对应的Flex控件的属性,从而实时的生成监控页面。
浏览器Flex解析模块201接收到动态更新数据后,首先根据该动态更新数据查找相对应的Flex控件对象,例如可依据该动态更新数据中的控件ID信息查找,然后再根据Flex控件属性名称及值,修改该Flex控件的属性,从而实现了监控页面的动态实时刷新,得到实时的监控页面。
以上所述仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。