面向制造行业管理系统的高效大规模事件侦测与处理方法与流程

文档序号:12038835阅读:176来源:国知局
面向制造行业管理系统的高效大规模事件侦测与处理方法与流程
本发明涉及制造行业的管理软件系统领域,采用计算机分布式技术,特别涉及一种高效、大规模的并发事件侦测与处理方法。

背景技术:
目前,在制造行业生产过程中,制品数量巨大,且需要进行严格的批次、过程跟踪管理,整个生产线的活动(可抽象为一系列事件)具有较高的并发密度和逻辑复杂度。这就要求系统具有高效的事件侦测和处理能力。在传统的方法中,事件的侦测与处理作为一个操作逻辑,顺序进行处理,会造成事件的阻塞,影响了系统的实时性。

技术实现要素:
针对制造行业管理系统中事件的侦测与处理实时性不强、顺序处理造成的处理速度慢等问题,本发明提出了一种采用多线程并发侦测事件,以异步委托的方式并行处理已触发的事件的大规模事件侦测与处理方法。本发明为实现上述目的所采用的技术方案是:一种面向制造行业管理系统的大规模事件侦测与处理方法,包括以下步骤:将生产活动抽象为若干生产事件,每个生产事件由一个侦测线程负责侦测,所述侦测线程具有不同的周期和与其对应生产事件相关联的参数属性;当侦测的生产事件满足事件触发条件时,侦测线程以异步委托的方式将生产事件委托给事件处理线程进行处理,并维护与客户端的连接通道,所述侦测的生产事件由客户端订阅或发送消息来启动触发进程;按照指定的逻辑对生产事件进行处理,将生产事件处理结果通过已维护的对应连接通道通知客户端。所述客户端订阅的生产事件保存到客户端的事件处理记录表中。所述事件处理记录表中的生产事件分为四类:侦测中、待处理、处理中、处理完毕,在系统启动时搜索处于待处理和处理中的生产事件,并进行相应的处理。所述事件处理记录表在更新时先缓冲到内存中,再由内存定期写入到服务器的数据库中。所述事件的处理由服务器集群中的多个服务节点承担,每个服务节点承担不同的生产事件处理任务。本发明具有以下优点:在本方法中将事件侦测和处理分割成两个处理单元,事件的侦测与处理互不干扰,从而增强了系统的性能。采用多线程侦测事件,事件触发以后利用异步委托技术进行事件处理,以回调的方式通知生产管理者,事件从产生到发送到订阅者控制在毫秒级,从而提高事件的侦测规模与处理效率,能够进行大规模、并发事件侦测与处理,有效提高生产效率;采用本方法侦测事件以后,可替换现有的人工监测方式,从而降低了生产成本。附图说明图1为本发明应用的系统框架图;图2为每个服务节点的事件处理流程图。具体实施方式下面结合附图及实施例对本发明做进一步的详细说明。图1示出了本发明应用的系统框架图,系统由服务端和客户端组成,客户端通过网络和服务端通信。服务端对客户端是透明的,客户端向服务端订阅事件,根据需要将事件消息发送到服务端。服务端处理已触发的事件,事件被处理完之后以回调的方式将处理结果返回给客户端。系统采用面向服务的架构(SOA-serviceorientedarchitecture),服务端为多节点构成的服务器群集系统。在群集内,各服务节点运行事件侦测与处理程序,每个服务节点承担不同的事件侦测与处理任务。客户端通过WCF(WindowsCommunicationFoundation)技术向服务端订阅事件,服务端会维护这个WCF通道连接。客户端将事件消息发送到服务端某个服务节点,该服务节点将此条消息转发到群集内的所有服务节点。此消息事件会被承担该事件任务的服务节点处理,然后将处理结果通过WCF回调给客户端。本发明能有效运用于制造行业生产过程中大规模事件的侦测与处理系统中。图2所示为每个服务节点的事件处理流程图。客户端与服务端的交互过程以及每个服务节点的执行流程如下:生产管理者可通过客户端自由订阅或取消订阅其所关注的事件,事件侦测与处理模块会维护一个事件订阅列表,及时添加新的订阅者,移除取消的订阅者;事件侦测与处理模块将事件的处理状态分为四类:侦测中、待处理、处理中、处理完毕。事件侦测与处理模块可能由于计算机断电等原因,未能正常处理某些已经触发的事件。因此,在事件侦测与处理模块启动时需检查事件处理记录表,将那些处于待处理或处理中的事件重新处理,正常处理后将状态更新为处理完毕。事件侦测与处理模块启动后,按照与事件关联的参数属性,启动不同周期的事件侦测线程,每个线程负责侦测不同的事件任务。当侦测的事件参数满足事件触发条件时,侦测线程会以异步委托的方式将事件的处理委托到事件处理线程。利用委托的异步处理特性,实现了大规模、并发事件的处理。生产管理者也可通过发送消息触发事件,事件的处理过程及回调过程与基于侦测参数触发的事件处理过程相同。生产管理者订阅事件后,事件侦测与处理模块会维护与订阅者之间的连接通道,当产生某个事件后通过此通道回调订阅者。事件的侦测、事件的处理以及回调订阅者是并发执行的。事件侦测与处理模块启动时检查事件处理记录表,重新处理之前未能正确处理的事件,然后启动多线程按照不同的周期侦测事件,事件触发后利用.NET的委托技术,并发处理事件,并更新事件处理记录表;生产管理者通过客户端订阅事件,同时可以通过发送消息触发事件,事件侦测与处理模块处理完事件后以回调的方式通知生产管理者,生产管理者根据事件类型进行处理。所述检查事件处理记录表包括以下步骤:事件侦测与处理模块将事件的处理状态分为四类:侦测中、待处理、处理中、处理完毕,事件侦测与处理模块可能由于计算机断电等原因,未能正常处理某些已经触发的事件,因此,在事件侦测与处理模块启动时需检查事件处理记录表,将那些处于待处理或处理中的事件重新处理,正常处理后将状态更新为处理完毕,此过程也称为故障事件恢复。所述启动多线程侦测与处理事件包括以下步骤:事件侦测与处理模块启动后,按照与事件关联的参数属性,启动不同周期的事件侦测线程,每个线程负责侦测不同的事件任务,当侦测的事件参数满足事件触发条件时,侦测线程会以异步委托的方式将事件的处理委托到事件处理线程,利用委托的异步处理特性,实现了大规模、并发事件的处理。所述更新事件处理记录表包括以下步骤:事件侦测与处理模块在内存中和数据库中同时维护事件处理的记录表,事件处理记录首先缓存到内存是为了提高处理速度,内存中的数据定期写入数据库中;事件侦测过程中事件的状态为侦测中,满足事件触发条件后,事件的状态更新为待处理,事件委托到处理线程开始处理后,事件的状态为处理中,当事件被成功处理后,事件的状态为处理完毕。所述生产管理者订阅事件步骤如下:生产管理者可通过客户端自由订阅或取消订阅其所关注的事件,事件侦测与处理模块会维护一个事件订阅列表,及时添加新的订阅者,移除取消的订阅者。所述生产管理者发送消息触发事件的步骤如下:生产管理者可通过发送消息触发事件,事件的处理过程及回调过程与基于侦测参数触发的事件处理过程相同。所述事件侦测与处理模块回调订阅者的步骤如下:订阅者首先需要实现回调接口的方法,此方法用于事件侦测与处理模块通知订阅者,生产管理者订阅事件后,事件侦测与处理模块会维护与订阅者之间的连接通道,当产生某个事件后通过此通道回调订阅者。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1