一种分布式数据采集及软件监控的方法及系统与流程

文档序号:15271393发布日期:2018-08-28 22:28阅读:159来源:国知局

本发明涉及分布式系统技术领域,尤其涉及一种分布式数据采集及软件监控的方法及系统。



背景技术:

分布式数据采集及监控系统由多个硬件设备及软件组件组成。典型的分布式数据采集及处理系统包含如下组成部分:被监控设备、数据采集组件、数据处理组件(报警、趋势等)、数据显示/控制组件(人机界面)、数据存储组件等。各个组件之间以硬线或通讯链路进行数据交换,以达到对设备的数据采集、状态监视或远程控制需求。

如图1所示,图1为一种分布式数据采集及软件监控的系统的结构示意图,在分布式数据采集及监控系统内部的各个软件组件、硬件设备之间,存在着大量的数据传递、处理、转发过程。如果系统的实时性不高,被监控设备的状态改变将不能及时被传递给用户,而用户发出的操作命令也将不能及时传递给被控制的设备,这将极大地降低用户对系统的使用体验。

造成分布式数据采集及监控系统实时性不足的主要原因有:数据传递及处理的机制不合理、大量重复性数据和无效数据占用系统的计算资源和网络带宽等。



技术实现要素:

本发明要解决的技术问题在于,针对上述现有技术中因数据传递及处理的机制不合理、大量重复性数据和无效数据占用系统的计算资源和网络带宽等问题造成分布式数据采集及监控系统实时性不足的问题,提供一种分布式数据采集及软件监控的方法及系统。

本发明解决其技术问题所采用的技术方案是:

一方面,提供一种分布式数据采集及软件监控的方法,采用多台被监控设备、多台信息交互设备、多台数据处理设备及多台人机交互设备,其中,每台所述人机交互设备均连接至多台所述数据处理设备及多台所述信息交互设备,每台所述数据处理设备均连接至多台所述信息交互设备,将多台所述被监控设备分成多组被监控设备组,多组所述被监控设备组分别连接于多台所述信息交互设备,该分布式数据采集及软件监控的方法包括:

通过任一台所述人机交互设备订阅并获取任一台被监控设备的数据;

将多台所述被监控设备的数据按照预设的优先级划分为多个等级,按照多个所述等级将数据从对应的被监控设备上传至多台所述信息交互设备、多台所述数据处理设备及多台所述人机交互设备;

采集多台所述被监控设备的数据的变化量,将超出预设的死区范围的所述变化量以通讯报文的形式发送至多台所述信息交互设备、多台所述数据处理设备及多台所述人机交互设备。

在本发明所述的方法中,所述通过任一台所述人机交互设备订阅并获取任一台被监控设备的数据,包括:

通过任一台所述人机交互设备接收订阅信息;

依据所述订阅信息建立接收所述订阅信息的人机交互设备与提供所述订阅信息的被监控设备的通讯链路;

通过提供所述订阅信息的被监控设备将所述订阅信息上传至接收所述订阅信息的人机交互设备。

在本发明所述的方法中,所述将多台所述被监控设备的数据按照预设的优先级划分为多个等级,按照多个所述等级将数据从对应的被监控设备上传至多台所述信息交互设备、多台所述数据处理设备及多台所述人机交互设备,包括:

依据变化频率将多台所述被监控设备的数据按照预设的优先级划分为多个等级;

依据多个所述等级对数据进行刷新;

将刷新后的数据从对应的被监控设备上传至多台所述信息交互设备、多台所述数据处理设备及多台所述人机交互设备。

在本发明所述的方法中,所述依据变化频率将多台所述被监控设备的数据按照预设的优先级划分为多个等级,包括:

将多台所述被监控设备的数据按照预设的优先级划分为三个等级:实时刷新级别、延迟刷新级别及空闲刷新级别。

在本发明所述的方法中,所述依据多个所述等级对数据进行刷新,包括:

实时刷新级别、延迟刷新级别及空闲刷新级别的刷新比率设置为1∶10∶100。

在本发明所述的方法中,所述将多台所述被监控设备的数据按照预设的优先级划分为多个等级,按照多个所述等级将数据从对应的被监控设备上传至多台所述信息交互设备、多台所述数据处理设备及多台所述人机交互设备,还包括:

将用户操作命令的数据的优先级提升至实时刷新级别;

将刷新过的或者刷新超时的数据的优先级恢复到默认级别;其中,默认级别为所述数据按照预设的优先级所划分的等级;

将用户正在查看的数据的优先级提升到实时刷新级别;

将用户不再查看但被提升到实时刷新级别的数据恢复到默认级别。

在本发明所述的方法中,所述将多台所述被监控设备的数据按照预设的优先级划分为三个等级:实时刷新级别、延迟刷新级别及空闲刷新级别,包括:

将报警信息设置为实时刷新级别;

将故障信息设置为延迟刷新级别;

将温湿度信息设置为空闲刷新级别。

在本发明所述的方法中,所述采集多台所述被监控设备的数据的变化量,将超出预设的死区范围的所述变化量以通讯报文的形式发送至多台所述信息交互设备、多台所述数据处理设备及多台所述人机交互设备,包括:

采集多台所述被监控设备的数据并读取死区范围相关的配置文件;

将所采集到的数据的变化量加入观察者列表以获取所述数据的变化量;

若所述变化量超出所述死区范围,则将所述变化量以通讯报文的形式发送至多台所述信息交互设备、多台所述数据处理设备及多台所述人机交互设备;

若所述变化量未超出所述死区范围,则执行所述将所采集到的数据的变化量加入观察者列表以获取所述数据的变化量的步骤。

另一方面,提供一种分布式数据采集及软件监控的系统,包括如上所述的方法的多台被监控设备、多台信息交互设备、多台数据处理设备及多台人机交互设备,其中,每台所述人机交互设备均连接至多台所述数据处理设备及多台所述信息交互设备,每台所述数据处理设备均连接至多台所述信息交互设备,将多台所述被监控设备分成多组被监控设备组,多组所述被监控设备组分别连接于多台所述信息交互设备。

在本发明所述的系统,每组所述被监控设备组包括一至多台所述被监控设备。

上述公开的一种分布式数据采集及软件监控的方法及系统具有以下有益效果:提高分布式数据采集及监控系统实时性,优化数据传递及处理的机制,减少重复性数据和无效数据占用系统的计算资源和网络带宽。

附图说明

图1为一种分布式数据采集及软件监控的系统的结构示意图;

图2为本发明提供的一种分布式数据采集及软件监控的方法的流程图;

图3为轮询式数据传递的流程图;

图4为订阅式数据传递的流程图;

图5为本发明提供的基于优先级的数据更新方式的流程图;

图6为本发明提供的基于死区的数据变化事件上报的流程图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。

本发明提供了一种分布式数据采集及软件监控的方法及系统,其目的在于,通过订阅式数据传递代替数据轮询、基于优先级的数据传递、基于死区的数据变化事件上报,提高分布式数据采集及监控软件的实时性。

参见图2,图2为本发明提供的一种分布式数据采集及软件监控的方法的流程图,该方法采用分布式数据采集及软件监控的系统100实现,参见图1,图1为一种分布式数据采集及软件监控的系统100的结构示意图,该系统包括多台被监控设备1、多台信息交互设备2、多台数据处理设备3及多台人机交互设备4,其中,每台所述人机交互设备4均连接至多台所述数据处理设备3及多台所述信息交互设备2,每台所述数据处理设备3均连接至多台所述信息交互设备2,将多台所述被监控设备1分成多组被监控设备组10,多组所述被监控设备组10分别连接于多台所述信息交互设备2。其中,每组所述被监控设备组10包括一至多台所述被监控设备1。

该分布式数据采集及软件监控的方法包括步骤s1-s3:

s1、通过任一台所述人机交互设备4订阅并获取任一台被监控设备1的数据;步骤s1包括子步骤s11-s13:

s11、通过任一台所述人机交互设备4接收订阅信息;现有技术一般采用数据轮询的方式实现数据传递,本步骤中采用订阅式数据传递代替数据轮询。如图3所示,图3为轮询式数据传递的流程图;采用轮询方式进行数据传递被很多数据采集及监控系统采用,这种方式有其自己的优点,如:1)数据使用者可以每次只获取自己所关心的那部分数据。2)遇到数据报文发送失败的情况时,数据可以在下一轮的轮询过程中获得更新。但是,轮询方式是一种低效率的数据交互方式,其原因包括:1)数据的使用者必须不停地给数据的提供者发送请求,告知自己需要获取的数据。2)数据提供者传递给数据使用者的数据中包含大量重复的数据或无效数据。这些数据请求和应答不可避免地会占用系统资源和网络带宽。

参见图4,图4为订阅式数据传递的流程图;通过订阅式方式进行数据交互能够有效避免以轮询方式传递数据所面临的性能瓶颈。数据的使用者在通讯初始化过程中,首先告知数据提供者自己需要关注哪些数据,也就是下订阅。在随后的数据交互中,数据的使用者就不需要重复性地发送数据请求报文了。数据的提供者收到订阅信息后,在特定的时机,主动将被订阅的数据打包,并传送给数据的使用者。

s12、依据所述订阅信息建立接收所述订阅信息的人机交互设备4与提供所述订阅信息的被监控设备1的通讯链路;即数据提供者主动上送数据的时间点包括:双方通讯链路建立成功,并已经完成数据订阅时,数据提供者将所有被订阅数据全部发送给数据的使用者。

s13、通过提供所述订阅信息的被监控设备1将所述订阅信息上传至接收所述订阅信息的人机交互设备4。

s2、将多台所述被监控设备1的数据按照预设的优先级划分为多个等级,按照多个所述等级将数据从对应的被监控设备1上传至多台所述信息交互设备2、多台所述数据处理设备3及多台所述人机交互设备4;步骤s2包括子步骤s21-s23:

s21、依据变化频率将多台所述被监控设备1的数据按照预设的优先级划分为多个等级;其中,将多台所述被监控设备1的数据按照预设的优先级划分为三个等级:实时刷新级别、延迟刷新级别及空闲刷新级别。这是因为在数据采集及监控系统中,用户对各种数据的关注程度是不一样的。

优选的,将报警信息设置为实时刷新级别;例如:有些数据的状态一旦发生变化,则需要在最短的时间内,把数据的当前状态通知给用户。这些数据一般是各类报警信息,比如火灾信息、供电状态信息等。一旦数据采集及监控系统不能及时把这些数据传递给用户,则有可能给用户造成巨大的经济损失,甚至威胁到人们的健康和生命。

将故障信息设置为延迟刷新级别;例如:有一些数据,用户需要关注它们的变化,但又不必及时对其变化做出回应或处理,比如某台设备处于轻微故障状态,但仍然可以使用,只需要在合适的时机对其进行处理或干预即可,用户对于这样的数据的实时性需求就不是那么高。

将温湿度信息设置为空闲刷新级别。例如:一些数据如地铁车站公共区等大空间中的温度、湿度,其变化过程十分缓慢,数据采集系统也就没必要对其频繁采集上传,否则会采到大量的重复数据,浪费了系统的资源。

基于用户对数据关注程度的不同和数据本身的特点,在对系统做配置时为数据定义优先级属性。根据不同的优先级,数据采集组件在后台线程以不同的频率将数据发送给数据的使用者。同理,数据采集组件也可以通过相似的策略从被监控设备1中获取数据。

s22、依据多个所述等级对数据进行刷新;实时刷新级别、延迟刷新级别及空闲刷新级别的刷新比率设置为1∶10∶100。例如:实时刷新级别的数据包括各种报警信息、设备的实时运行状态等,将在毫秒数量级内更新至数据使用者。延迟刷新的数据包括设备的运行时间、非重要的运行状态等,通常在秒级内获得更新。空闲刷新的数据包括被监控设备1的一些非关键运行参数,或数值本身变化非常缓慢的数据,如环境温湿度等,这些数据的状态将在几十秒内获得刷新。数据的优先级在系统组件初始化时读入系统组件的缓存。

此外,数据的优先级在系统运行时可以动态调整,以提升用户的使用体验。比如,如果用户正在查看某人机界面,则该界面上所用到的数据优先级应动态调整到实时刷新级别,在用户不再查看该界面时则将对应数据恢复到预定义级别。此外,如果用户对某被控制设备发送了控制命令,命令执行的反馈性数据也必须要及时反馈给用户,这类反馈性数据的优先级也将被动态提升到实时刷新级别,在反馈数据的变化被刷新后或者刷新超时(经过一段时间反馈值没有变化)后,恢复到预定义的级别。

s23、将刷新后的数据从对应的被监控设备1上传至多台所述信息交互设备2、多台所述数据处理设备3及多台所述人机交互设备4。

步骤s2还包括步骤s24-s27:

s24、将用户操作命令的数据的优先级提升至实时刷新级别;

s25、将刷新过的或者刷新超时的数据的优先级恢复到默认级别;其中,默认级别为所述数据按照预设的优先级所划分的等级;

s26、将用户正在查看的数据的优先级提升到实时刷新级别;

s27、将用户不再查看但被提升到实时刷新级别的数据恢复到默认级别。

综合步骤s24-s27,以数据显示组件(人机界面)从数据采集组件获取数据为例,处理流程如图5,图5为本发明提供的基于优先级的数据更新方式的流程图。

s3、采集多台所述被监控设备1的数据的变化量,将超出预设的死区范围的所述变化量以通讯报文的形式发送至多台所述信息交互设备2、多台所述数据处理设备3及多台所述人机交互设备4。在数据处理组件及数据显示组件通过后台线程对需要使用的数据根据优先级不同而以不同的频率对数据进行传递的同时,数据采集组件在察觉到数据的变化超出死区后,也会主动给数据处理组件及数据显示组件发送通讯报文,告知数据当前的最新状态。步骤s3包括步骤s31-s33:

s31、采集多台所述被监控设备1的数据并读取死区范围相关的配置文件;参见图6,图6为本发明提供的基于死区的数据变化事件上报的流程图。

s32、将所采集到的数据的变化量加入观察者列表以获取所述数据的变化量;如图6所示,这种基于死区的数据主动上报机制采用设计模式中的观察者模式来实现。数据采集组件作为被观察的对象,而数据处理组件和数据显示组件作为观察者。在数据采集组件中,建立一个观察者列表,每当有一个数据处理或数据显示组件连接到数据采集组件,数据采集组件就将其加入观察者列表。每当数据采集组件察觉到采集到的数据变化超出死区,则把这部分数据打包到通讯报文中,发送给观察者列表中的每个观察者。观察者则对接收到的报文进行解析,刷新自己的数据缓存,并进行数据的处理或显示。

s33、若所述变化量超出所述死区范围,则将所述变化量以通讯报文的形式发送至多台所述信息交互设备2、多台所述数据处理设备3及多台所述人机交互设备4;其中,数据死区值被记录在数据配置文件中,并在数据采集组件启动后读入数据采集组件的缓存中。

若所述变化量未超出所述死区范围,则执行所述将所采集到的数据的变化量加入观察者列表以获取所述数据的变化量的步骤,即转至步骤s32。

上述提高分布式数据采集及监控软件实时性的方法可应用于数据采集软件indasibms之中。采用数据订阅机制减少了轮询报文的发送,采用基于优先级的数据传递使得重要数据具有了更高的刷新速度,采用基于死区的数据变化事件上报减少了无效数据及重复性数据的传递。采用本发明有效提高了该软件系统的实时性,提升了用户体验。

本文提供了实施例的各种操作。在一个实施例中,所述的一个或操作可以构成一个或计算机可读介质上存储的计算机可读指令,其在被电子设备执行时将使得计算设备执行所述操作。描述一些或所有操作的顺序不应当被解释为暗示这些操作必需是顺序相关的。本领域技术人员将理解具有本说明书的益处的可替代的排序。而且,应当理解,不是所有操作必需在本文所提供的每个实施例中存在。

而且,本文所使用的词语“优选的”意指用作实例、示例或例证。奉文描述为“优选的”任意方面或设计不必被解释为比其他方面或设计更有利。相反,词语“优选的”的使用旨在以具体方式提出概念。如本申请中所使用的术语“或”旨在意指包含的“或”而非排除的“或”。即,除非另外指定或从上下文中清楚,“x使用a或b”意指自然包括排列的任意一个。即,如果x使用a;x使用b;或x使用a和b二者,则“x使用a或b”在前述任一示例中得到满足。

而且,尽管已经相对于一个或实现方式示出并描述了本公开,但是本领域技术人员基于对本说明书和附图的阅读和理解将会想到等价变型和修改。本公开包括所有这样的修改和变型,并且仅由所附权利要求的范围限制。特别地关于由上述组件(例如元件、资源等)执行的各种功能,用于描述这样的组件的术语旨在对应于执行所述组件的指定功能(例如其在功能上是等价的)的任意组件(除非另外指示),即使在结构上与执行本文所示的本公开的示范性实现方式中的功能的公开结构不等同。此外,尽管本公开的特定特征已经相对于若干实现方式中的仅一个被公开,但是这种特征可以与如可以对给定或特定应用而言是期望和有利的其他实现方式的一个或其他特征组合。而且,就术语“包括”、“具有”、“含有”或其变形被用在具体实施方式或权利要求中而言,这样的术语旨在以与术语“包含”相似的方式包括。

本发明实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以多个或多个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。上述提到的存储介质可以是只读存储器,磁盘或光盘等。上述的各装置或系统,可以执行相应方法实施例中的存储方法。

综上所述,虽然本发明已以优选实施例揭露如上,但上述优选实施例并非用以限制本发明,本领域的普通技术人员,在不脱离本发明的精神和范围内,均可作各种更动与润饰,因此本发明的保护范围以权利要求界定的范围为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1