工业数据采集管理系统中监控规则引擎性能的方法及装置与流程

文档序号:30057366发布日期:2022-05-17 19:17阅读:221来源:国知局
工业数据采集管理系统中监控规则引擎性能的方法及装置与流程

1.本技术涉及工业数据采集管理领域,特别涉及工业数据采集管理系统中监控规则引擎性能的方法及装置。


背景技术:

2.规则引擎是一种嵌入在应用程序中的组件。在工业数据采集管理系统中,需要使用规则引擎来对设备点位采集的工业数据进行二次处理。承载规则引擎的硬件称为规则引擎服务器。
3.设备点位是工业生产中的工业设备上的运行参数。比如一个工业设备有转速、温度、开机状态、电压等运行参数,其中转速就是一个设备点位。一个工业设备包括多个点位,每个点位采集的工业数据包括采集频率字段信息。一个点位对应设置规则引擎中的一条规则链或不设置规则链。规则链是由多个数据处理规则按照执行先后顺序连接在一起形成的,一个规则链包括至少一个数据处理规则;其中,数据处理规则包括对采集到的工业数据进行处理的类型和逻辑。数据处理逻辑包括数值转换、数值检测是否超标、将工业数据转发到消息队列,数据处理规则类型包括数据过滤、数据告警、数据分发。在实际应用中,管理员可以动态设置数据处理规则的类型与逻辑;相同类型规则的处理逻辑也会不相同,比如数据分发规则,对应的处理逻辑可以是将工业数据分发到a主题的消息队列,也可以是将工业数据分发到b主题的消息队列。
4.在工业数据采集管理系统中工业数据的流转过程如下:设备点位采集工业数据并发送到消息队列;规则引擎持续监听消息队列,每当消息队列中接收到新的工业数据,规则引擎就会对新的工业数据进行消费;其中,消费包括解析工业数据,并找出该工业数据对应的规则链,然后根据对应的规则链对上述工业数据进行处理。
5.但是,在实际应用中,数据处理规则的处理逻辑经常变动,设备点位数量和种类也会经常变动,导致对工业数据的二次处理的性能需求经常变动。目前工业数据采集管理系统中,没有对数据处理规则的变动和设备点位变动进行实时监控的机制,导致规则引擎服务器的性能压力得不到优化,从而经常出现服务器处理性能跟不上导致数据处理滞后或者数据丢失的问题。


技术实现要素:

6.为了解决目前工业数据采集管理系统中,没有对数据处理规则的变动和设备点位的变动进行实时监控的机制,导致规则引擎服务器的性能压力得不到优化,从而经常出现服务器处理性能跟不上导致数据处理滞后或者数据丢失的问题。本技术通过以下方面公开了一种工业数据采集管理系统中监控规则引擎性能的方法及装置。
7.本技术第一方面公开了一种工业数据采集管理系统中监控规则引擎性能的方法,所述工业数据采集管理系统包括多个数据采集器、消息队列和规则引擎服务器集群,所述工业数据采集管理系统还包括监控规则引擎性能的装置,所述装置按照预设的监控周期开
启性能监控进程,所述性能监控进程用于执行所述方法,所述方法包括:获取消息队列的生产速度和消费速度;其中,生产速度是指消息队列每秒接收工业数据的条数,消费速度是指规则引擎服务器集群每秒从消息队列中读取工业数据的条数;根据生产速度和消费速度,确定消费不及时比例值;判断消费不及时比例值是否小于预设消费不及时比例值;若消费不及时比例值大于或者等于预设的消费不及时比例值,则增设规则引擎服务器集群节点。
8.可选的,所述方法还包括:若消费不及时比例值小于预设的消费不及时比例值,则根据生产速度和消费速度,确定生产不及时比例值;判断生产不及时比例值是否小于预设生产不及时比例值;若生产不及时比例值大于或者等于预设生产不及时比例值,则删减规则引擎服务器集群节点。
9.可选的,根据生产速度和消费速度,确定消费不及时比例值,包括根据以下公式确定消费不及时比例值:,其中,e1为消费不及时比例值,a为生产速度,b为消费速度。
10.可选的,根据生产速度和消费速度,确定生产不及时比例值,包括根据以下公式确定生产不及时比例值:,其中,e2为生产不及时比例值,a为生产速度,b为消费速度。
11.可选的,在判断消费不及时比例值是否小于预设消费不及时比例值之后,增设规则引擎服务器集群节点之前,所述方法还包括:若消费不及时比例值大于或者等于预设的消费不及时比例值,则记录当前消费不及时触发时间;根据当前消费不及时触发时间进行计算,得到消费不及时状态持续时间;判断消费不及时状态持续时间是否小于第一预设状态持续时间;若消费不及时状态持续时间大于或者等于第一预设状态持续时间,则执行增设规则引擎服务器集群节点的操作;若消费不及时状态持续时间小于第一预设状态持续时间,则终止性能监控进程。
12.可选的,根据当前消费不及时触发时间进行计算,得到消费不及时状态持续时间,包括:获得首次消费不及时触发时间;使用当前消费不及时触发时间减去首次消费不及时触发时间,得到消费不及时状态持续时间;其中,在第一字段中记录首次消费不及时触发时间;当记录当前消费不及时触发时间时,判断第一字段是否为空;若第一字段为空,则将当前消费不及时触发时间写入第一字段,将当前消费不及
时触发时间记录为首次消费不及时触发时间;若所处第一字段不为空,则读取第一字段,获取首次消费不及时触发时间;当消费不及时比例值小于预设的消费不及时比例值时,清空第一字段中的数据。
13.可选的,在判断生产不及时比例值是否小于预设生产不及时比例值之后,删减规则引擎服务器集群节点之前,方法还包括:若生产不及时比例值大于或者等于预设生产不及时比例值,则记录当前生产不及时触发时间;根据当前生产不及时触发时间进行计算,得到生产不及时状态持续时间;判断生产不及时状态持续时间是否小于第二预设状态持续时间;若生产不及时状态持续时间大于或者等于第二预设状态持续时间,则执行删减规则引擎服务器集群节点的操作;若生产不及时状态持续时间小于第二预设状态持续时间,则终止性能监控进程。
14.可选的,根据当前生产不及时触发时间进行计算,得到生产不及时状态持续时间,包括:获得首次生产不及时触发时间;使用当前生产不及时触发时间减去首次生产不及时触发时间,得到生产不及时状态持续时间;其中,在第二字段中记录首次生产不及时触发时间;当记录当前生产不及时触发时间时,判断第二字段是否为空;若第二字段为空,则将当前生产不及时触发时间写入第二字段,将当前生产不及时触发时间记录为首次生产不及时触发时间;若所处第二字段不为空,则读取第二字段,获取首次生产不及时触发时间;当生产不及时比例值小于预设的生产不及时比例值时,清空第二字段中的数据。
15.本技术第二方面公开了一种工业数据采集管理系统中监控规则引擎性能的装置,所述装置按照预设的监控周期开启性能监控进程,以执行本技术第一方面公开的所述的工业数据采集管理系统中监控规则引擎性能的方法的步骤,所述装置包括:速度获取模块、计算模块、判断模块以及执行模块,其中,速度获取模块用于获取消息队列的生产速度以及消费速度;其中,生产速度是指消息队列每秒接收工业数据的条数;消费速度是指规则引擎集群每秒从消息队列中读取工业数据的条数;计算模块用于根据生产速度和消费速度,确定消费不及时比例值;判断模块用于判断消费不及时比例值是否小于预设消费不及时比例值;执行模块用于执行以下操作:若消费不及时比例值大于或者等于预设的消费不及时比例值,则增设规则引擎服务器集群节点。
16.可选的,计算模块还用于执行以下操作:若消费不及时比例值小于预设的消费不及时比例值,则根据生产速度和消费速度,确定生产不及时比例值;判断模块还用于判断生产不及时比例值是否小于预设生产不及时比例值;执行模块还用于执行以下操作:若生产不及时比例值大于或者等于预设生产不及时比例值,则删减规则引擎服务器集群节点。
17.本技术提供一种工业数据采集管理系统中监控规则引擎性能的方法及装置。所述方法通过定期监测规则引擎订阅的消息队列的生产速度和消费速度,来判断当前规则引擎的处理性能是否能够满足当前工业数据的规则处理的性能需求,并根据判断结果来确定是否增设规则引擎服务器集群节点,能够有效避免出现规则引擎处理性能跟不上导致数据处理滞后或者数据丢失的问题。
附图说明
18.图1为本技术实施例提供的一种工业数据采集管理系统中监控规则引擎性能的方法所适用的一种工业采集管理系统的结构示意图;图2为本技术实施例提供的一种工业数据采集管理系统中监控规则引擎性能的方法的工作流程示意图;图3为本技术实施例提供的另一种工业数据采集管理系统中监控规则引擎性能的方法的工作流程示意图;图4为本技术实施例提供的一种工业数据采集管理系统中监控规则引擎性能的装置的结构示意图。
具体实施方式
19.为了解决目前工业数据采集管理系统中,没有对数据处理规则的变动和设备点位的变动进行实时监控的机制,导致规则引擎服务器的性能压力得不到优化,从而经常出现服务器处理性能跟不上导致数据处理滞后或者数据丢失的问题。本技术通过以下方面公开了一种工业数据采集管理系统中监控规则引擎性能的方法及装置。
20.参见图1,为本技术第一实施例提供的工业数据采集管理系统中监控规则引擎性能的方法所适用的一种工业数据采集管理系统的结构示意图。所述工业采集管理系统包括多个数据采集器、消息队列和规则引擎服务器集群。如图1所示,工业数据采集管理系统中的设备1中设置了多个数据采集器,每一个数据采集器对应一个点位,包括转速点位、温度点位和电压点位;设备x中也设置了多个数据采集器,包括co2点位、gps点位和开关点位。消息队列订阅点位生产的工业数据。规则引擎服务器集群会持续监听消息队列,每当消息队列中有新的工业数据进来时,就会对新的工业数据进行读取消费。其中,消费包括解析工业数据,并找出该工业数据对应的规则链,然后根据对应的规则链对上述工业数据进行处理。
21.但是在实际生产过程中,设备点位发生变动时,比如某个生产单位新部署了一批设备,并将设备中的点位加入到采集队列中,或者已有设备中未加入采集队列的点位新加入到采集队列中,单位时间内消息队列订阅的工业数据的量会大幅增加,而规则引擎没有及时根据上述情况提高处理性能,则会导致工业数据不能及时从消息队列中被消费,新的工业数据不断产生,导致消息队列中的数据堆积,未被规则引擎及时消费的工业数据会丢失。
22.为此,本实施例提供的工业采集管理系统中还包括监控规则引擎性能的装置,所述装置按照预设的监控周期开启性能监控进程,所述性能监控进程用于执行本实施例提供的工业数据采集管理系统中监控规则引擎性能的方法。示例性的,所述装置可以使用分布式任务调度框架来实现,例如powerjob中间件。
23.参见图2,为本实施例提供的一种工业数据采集管理系统中监控规则引擎性能的方法的工作流程示意图。如图2所示,所述方法包括步骤201-步骤207。
24.步骤201,获取消息队列的生产速度和消费速度。其中,生产速度是指消息队列每秒接收工业数据的条数,在本实施例中,生产速度记为a条/秒;消费速度是指规则引擎服务器集群每秒从消息队列中读取工业数据的条数,在本实施例中,消费速度记为b条/秒。
25.步骤202,根据生产速度和消费速度,确定消费不及时比例值。在一种实现方式中,根据以下公式确定消费不及时比例值:,其中,e1为消费不及时比例值。
26.步骤203,判断消费不及时比例值是否小于预设消费不及时比例值。
27.步骤204,若消费不及时比例值大于或者等于预设的消费不及时比例值,则增设规则引擎服务器集群节点。其中,预设的消费不及时比例值根据经验设定。
28.进一步,采用动态缩容技术来根据监控情况自动增设规则引擎服务器集群节点。示例性,采用auto-scaling的弹性收缩技术自动增设规则引擎服务器集群节点。auto-scaling的弹性手所述是根据业务需求和策略自动调整计算能力(即实例数量)的服务。用户可以指定实例的类型,即ecs实例或eci实例。在业务需求增长时,弹性伸缩自动增加指定类型的实例,来保证计算能力;在业务需求下降时,弹性伸缩自动减少指定类型的实例,来节约成本。
29.在一种实现方式中,为了防止偶然出现的数据波动导致的误差,还需要根据消费不及时状态持续时间来决定是否增设规则引擎服务器集群节点。其中,消费不及时状态持续时间为消费不及时比例值大于或等于预设的消费不及时比例值的状态持续时间。进一步,本实施例提供的所述方法,在判断所述消费不及时比例值是否小于预设消费不及时比例值之后,增设规则引擎服务器集群节点之前,还包括步骤301-步骤305。
30.步骤301,若消费不及时比例值大于或者等于预设的消费不及时比例值,则记录当前消费不及时触发时间。
31.步骤302,根据当前消费不及时触发时间进行计算,得到消费不及时状态持续时间。进一步,先获得首次消费不及时触发时间;使用当前消费不及时触发时间减去首次消费不及时触发时间,得到消费不及时状态持续时间。其中,在第一字段中记录首次消费不及时触发时间;当记录当前消费不及时触发时间时,判断第一字段是否为空;若第一字段为空,则将当前消费不及时触发时间写入第一字段,将当前消费不及时触发时间记录为首次消费不及时触发时间;若所处第一字段不为空,则读取第一字段,获取首次消费不及时触发时间;当消费不及时比例值小于预设的消费不及时比例值时,清空第一字段中的数据。
32.步骤303,判断消费不及时状态持续时间是否小于第一预设状态持续时间。
33.步骤304,若消费不及时状态持续时间大于或者等于第一预设状态持续时间,则执行增设规则引擎服务器集群节点的操作。
34.步骤305,若消费不及时状态持续时间小于第一预设状态持续时间,则终止性能监控进程。
35.本实施例提供的一种工业数据采集管理系统中监控规则引擎性能的方法通过定期监测规则引擎订阅的消息队列的生产速度和消费速度,来判断当前规则引擎的处理性能是否能够满足当前工业数据的规则处理的性能需求,并根据判断结果来确定是否增设规则
引擎服务器集群节点,能够有效避免出现服务器处理性能跟不上导致数据处理滞后或者数据丢失的问题。
36.为了更好的解释本实施例提供的工业数据采集管理系统中监控规则引擎性能的方法的实施过程,本技术给出一个结合具体应用场景的应用示例。
37.示例性的,在钢铁企业的智慧调度项目中,监控规则引擎性能的装置每20秒(预设的监控周期)开启一次性能监控任务,获取消息队列中的生产速度和消费速度,并进行计算获得对应的消费不及时比例值。当前的生产速度为2.5万条/秒,消费速度也是2.5万条/秒,即当前生产速度和消费速度是匹配的。
38.进一步的,在测试环节对当前的规则引擎性能进行压力测试,得出当前规则引擎服务器集群的压力上限为4万条/秒。在实际应用中,初始设置工业数据采集管理系统(即对应本示例中的智慧调度项目)时,一般规则引擎服务器器群的性能都会设置比当前生产环境中的消费速度大的配置。
39.一种会产生规则引擎性能不能满足生产的情况是,当上线运行所述智慧调度项目时,生产环境中根据业务情况增加了采集设备和点位。例如,新增点位数量1万个,点位的采集频率是200毫秒,则每秒每个点位会采集5次,对应的,生产环境中每秒增加了5万条的工业数据需要处理。对应的,消息队列的生产速度变成了7.5万条/秒。而此时消费速度为4万条/秒(即规则引擎性能的压力上限),监控规则引擎性能的装置在一次性能监控任务中,计算得出当前的消费不及时比例值为0.875,远大于预设的消费不及时比例值0.25,则增设一台规则引擎服务器。如果增设一台规则引擎服务器之后,消费不及时比例值还大于0.25,则在下一次性能监控任务中再根据监控结果增设一台规则引擎服务器。
40.进一步,为了防止生产速度的突然增加是偶发现象,设置第一预设时间为60s,即连续三次监控到消费不及时比例值大于或者等于0.25,才会增设一台规则引擎服务器。
41.又一种会产生规则引擎性能不能满足生产的情况是,当上线运行所述智慧调度项目时,规则引擎中的规则链根据具体的业务需求进行了调整,其中有的规则链的处理时间加长,有的规则链的处理时间缩短,规则引擎整体的处理时间加长,导致规则引擎当前7.5万条/秒的处理速度降为6万条/秒。监控规则引擎性能的装置计算得出当前的消费不及时比例值为0.25,等于预设的消费不及时比例值,则增设一台规则引擎服务器来分摊增加的消费压力,在短时间内及时保证了消费的及时性,使得消费队列中的工业数据能够得到及时的消费,能够有效避免出现规则引擎处理性能跟不上导致的数据处理滞后或者数据丢失的问题。
42.在本技术的第二实施例中,所述工业数据采集管理系统中监控规则引擎性能的方法中,为了防止规则引擎的性能浪费,在消费不及时比例值小于预设的消费不及时比例值时,所述监控规则引擎性能的方法中还包括计算生产不及时比例值,以判断是否需要删除规则引擎服务器集群节点。
43.进一步,在本技术第一实施例的基础上,所述工业数据采集管理系统中监控规则引擎性能的方法还包括步骤205-步骤207,如图3所示步骤205,若消费不及时比例值小于预设的消费不及时比例值,则根据生产速度和消费速度,确定生产不及时比例值。
44.步骤206,判断生产不及时比例值是否小于预设生产不及时比例值。在一种实现方
式中,根据以下公式确定生产不及时比例值:,其中,e2为生产不及时比例值。
45.步骤207,若生产不及时比例值大于或者等于预设生产不及时比例值,则删减规则引擎服务器集群节点。
46.在一种实现方式中,为了防止偶然出现的数据波动导致的误差,还需要根据生产不及时状态持续时间来决定是否删减规则引擎服务器集群节点。其中,生产不及时状态持续时间为生产不及时比例值大于或等于预设的生产不及时比例值的状态持续时间。进一步,本实施例提供的所述方法,在判断所述生产不及时比例值是否小于预设生产不及时比例值之后,删减规则引擎服务器集群节点之前,还包括步骤401-步骤405。
47.步骤401,若生产不及时比例值大于或者等于预设生产不及时比例值,则记录当前生产不及时触发时间。
48.步骤402,根据当前生产不及时触发时间进行计算,得到生产不及时状态持续时间。
49.步骤403,判断生产不及时状态持续时间是否小于第二预设状态持续时间。进一步,首先,获得首次生产不及时触发时间;其次,使用当前生产不及时触发时间减去首次生产不及时触发时间,得到生产不及时状态持续时间。其中,在第二字段中记录首次生产不及时触发时间;当记录当前生产不及时触发时间时,判断第二字段是否为空;若第二字段为空,则将当前生产不及时触发时间写入第二字段,将当前生产不及时触发时间记录为首次生产不及时触发时间;若所处第二字段不为空,则读取第二字段,获取首次生产不及时触发时间;当生产不及时比例值小于预设的生产不及时比例值时,清空第二字段中的数据。
50.步骤404,若生产不及时状态持续时间大于或者等于第二预设状态持续时间,则执行删减规则引擎服务器集群节点的操作。
51.步骤405,若生产不及时状态持续时间小于第二预设状态持续时间,则终止性能监控进程。
52.本技术第二实施例提供的所述工业数据采集管理系统中监控规则引擎性能的方法,在消费不及时比例值小于预设的消费不及时比例值时,计算生产不及时比例值;若生产不及时比例值大于或者等于预设生产不及时比例值,则删减规则引擎服务器集群节点来释放服务器的计算资源,避免规则引擎的性能浪费。
53.与前述工业数据采集管理系统中监控规则引擎性能的方法方法的实施例相对应,本技术还提供了所述工业数据采集管理系统中监控规则引擎性能的装置500的实施例。所述装置500照预设的监控周期开启性能监控进程,以执行本技术第一实施例和第二实施例提供的工业数据采集管理系统中监控规则引擎性能的方法的步骤,所述装置包括速度获取模块501、计算模块502、判断模块503以及执行模块504。
54.速度获取模块501用于获取消息队列的生产速度以及消费速度;其中,生产速度是指消息队列每秒接收工业数据的条数;消费速度是指规则引擎集群每秒从消息队列中读取工业数据的条数。
55.计算模块502用于根据生产速度和消费速度,确定消费不及时比例值。
56.判断模块503用于判断消费不及时比例值是否小于预设消费不及时比例值。
57.执行模块504用于执行以下操作:若消费不及时比例值大于或者等于预设的消费
不及时比例值,则增设规则引擎服务器集群节点。
58.在一种实现方式中,计算模块502还用于执行以下操作:若消费不及时比例值小于预设的消费不及时比例值,则根据生产速度和消费速度,确定生产不及时比例值。
59.判断模块503还用于判断生产不及时比例值是否小于预设生产不及时比例值。
60.执行模块504还用于执行以下操作:若生产不及时比例值大于或者等于预设生产不及时比例值,则删减规则引擎服务器集群节点。
61.上述装置500中在应用前述方法时的作用效果可参见前述方法实施例中的说明,在此不再赘述。
62.以上结合具体实施方式和范例性实例对本技术进行了详细说明,不过这些说明并不能理解为对本技术的限制。本领域技术人员理解,在不偏离本技术精神和范围的情况下,可以对本技术技术方案及其实施方式进行多种等价替换、修饰或改进,这些均落入本技术的范围内。本技术的保护范围以所附权利要求为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1