复杂事件处理下的质量成本控制方法分析

2019-05-27 11:17:52任贺腾
质量与市场 2019年21期
关键词:引擎集群规则

■任贺腾

(广东金融学院)

引 言

复杂事件处理技术简称为CEP,属于一种结合主动数据库、数据流处理而形成的新的数据处理技术,能够应对一些较为繁杂的数据处理工作,且具有实时性和高效性的特点。这一技术以事件驱动为基础模式,将信息抽象为事件,简化了原有的复杂事件,使其成为便于识别的数据,用户根据数据选择自己关心的事件,进行检测或者查询。这种数据处理模式降低了处理难度,并且使处理工作有的放矢,提高了数据处理效率。当前,制造业在质量成本管理方面不断加大投入,将CEP技术应用其中已经成为社会关注的热点,应该加强研究,有效利用CEP技术解决质量成本管理问题。

1 复杂事件处理技术介绍

复杂事件处理技术,属于一种新兴技术,简称为CEP,这一技术最早是由史丹佛大学的David Luckham与Brian Fraseca提出,随着有关方面研究不断深入,使用范围不断拓展,复杂事件处理技术已经成为世界事件处理方面的主流技术,能够根据实际需求,进行有价值信息的提取,将繁琐复杂事件简化。CEP技术这一功能的发挥依赖于具有强大的主动数据库。

1.1 相关定义

(1)简单事件。对于简单事件,可以表示为E=(ID,Attrs,Time),ID属于事件的唯一标识,Attrs表示事件的属性,通常情况下表示为一个属性集合,即Attrs(A1,A2,...,An),Time标识事件发生的瞬时时间。

(2)复杂事件。复杂事件属于多个基本事件,经过CEP系统处理和分析之后,按照相互之间的关联性组成在一起的事件,例如服务器20分钟的平均响应时间,某个客户1小时内的交易金额等等[1]。从业务角度进行分析,对于商户而言,虽然用户登录和下单属于两个不同的基本事件,如果假设给予来自不同广告商用户一定折扣,则需要将两个事件组合在一起。复杂事件可以表示为CE=(Es,Rule,[T1,T2]),其中,Es代表简单事件集合,Rule代表简单事件过滤聚合等方面规则,[T1,T2]属于时间表征,代表复杂事件发生时间跨度。由此可见,复杂事件并不是在同一时间所有基本事件共同发生,而是一个过程,且所有基本事件之间需要具有联系,否则不能构成复杂事件。

(3)事件表达式。根据相关方面文献资料的整理和分析,事件表达式如下所示。具体包含事件源、模式、约束条件、时间约束和返回事件等。

(4)事件运算符。常用的事件运算符如下:“∧”代表事件共同,“∣”代表进行事件选择,“∨”代表进行事件合并,“┒”代表否定,“<”代表事件按照一定顺序发生[2]。

1.2 CEP 系统要素

通常情况下,典型的CEP系统,将会包涵一下要素:

(1)事件处理模式。整个CEP系统需要在事件流上注册相应的事件处理模式,然后通过事件处理模式进行事件处理,事件处理模式越多越有效,处理能力越强,处理效果越优[3]。通过总结,主要的处理模式包括:聚合、多事件关联、过滤、事件增强、事件修改、规则匹配等。

(2)事件处理语言。事件处理语言主要用于描述事件处理过程和模式,例如Stanford Stream DataManager中所提出的持续查询语言——CQL,采用类SQL的语法形式,在多数商业和开源产品之中,已经对CQL进行了扩展使用。

(3)规则引擎。规则引擎根据复杂事件的关键组件设置,对于复杂事件的基本情况进行评价,并匹配相应的规则,给出最终决策,决策的合理性受到匹配规则合理性的影响[4]。

(4)支撑系统。支撑系统的主要作用在于支持其他系统功能的正常发挥,能够起到调节、保护、强化等功能,例如分布式存储、缓存、线程池、消息队列等等。

1.3 技术应用要点

复杂事件处理技术针对复杂事件开展具体的处理工作,处理系统具有较强的逻辑分析能力,具体开展工作时,需要注意以下几点:其一,增强信息采集的及时性、准确性和全面性,信息属于整个系统开展工作的基础,如果有关质量成本的信息失真、失效,那么后续的分析工作将会失去实际意义。其二,质量成本分析必须选择恰当的模型、工具、系统等开展实际工作,当前,有关财务管理方面的软件较多,为质量成本分析提供了有力支持。其三,质量成本分析包含的内容主要为损失成本、鉴定成本、预防成本等,应用复杂技术进行相关成本分析的过程中,需要兼顾每一个成本因素的特点,通过分析得出客观结果,并将结果有效应用于质量成本管理治中,起到降低成本的效果。除此以外,质量成本管理工作需要注重动态性和实时性,复杂事件处理必须及时开展,增强实际效果,做到及时发现问题,及时解决问题。

2 复杂事件处理相关产品与算法

2.1 复杂事件处理产品

国外有关复杂事件处理方面的研究较为深入,相关的大学和科研院所对于复杂事件处理展开了拓展性研究,有关CEP产品方面,推出了实用性较强的商业化产品,出现了相关方面实力较强的研发公司,例如Microsoft、Oracle、Tibco、IBM、StreamBase等。具有代表性的产品如下:

斯坦福大学在2001年开始研究流事件处理,开发的处理系统为Stream Data Manager,使用的语言为类SQL的持续查询语言CQL,实现了流数据处理模型与关系型数据库之间的对接。美国加州大学研发了数据流管理系统,即TelegraphCQ,具有连续查询的能力,并且主要针对电信领域,具有较好的应用效果。Borealis属于分布式事件处理引擎,能够接受一系列事件,并对其进行统计、连接、修改、过滤、合并等处理,输出具有应用价值的处理结果。ESPER属于应用较为广泛的开源复杂事件处理系统,在业务流程管理、金融行业实时分析、风险监测等方面应用较多,这一系统可以提供强大的EPL处理语言,描述典型事件处理模式,支持滑动窗口、长度等方面的统计。除此以外,一些互联网公司推出了分布式流计算产品,例如Yahoo推出的S4,Twitter推出的Storm等,属于数据流计算的基础框架产品。

2.2 算法介绍

CEP系统运行过程中,需要对事件进行实时统计,与传统的数据库统计模式相比,事件流具有持续性、不间断的特点,因此,需要选择统计分析的区间,针对性的开展数据统计工作。常见的包括滑动时间窗口、数量窗口等统计。流事件统计工作开展,面临的问题主要包括滑动窗口上的聚焦、滑动窗口内不同数值个数统计。对于数据流统计计算的方法主要包括随机抽样法、滑动窗口法、直方图法、小波技术法和哈希方法等。

随机抽样法,主要是从数据集中抽取具有能够代表整个数据集特征的部分数据作为样本,并给予这一样本集获得相似的查询结果,精度相对较低。直方图法,将大数据集划分成多个连续的桶,形成不同的小数据集合,每个桶皆具有一个特征值。直方图的种类包括宽直方图、V-优化直方图、端偏倚直方图等。哈希方法,主要用于大数据的处理,形成一组哈希函数,将较大范围的数据映射成较小的范围,起到化繁为简的效果。例如,在数据流的Distinct Count计算之中,Bloom Filter方法可以使用一小块小于数据集数据范围的内存空间表示数据集。

在实际应用过程中,复杂产品的不同处理产品和算法需要根据现状进行选择,以优质高效、精准快速、简单易行为主,尤其是对于一些复杂的问题,可以使用多种方法联合使用的模式,提高处理效果。

3 基于复杂事件的质量成本处理框架设计与应用

3.1 场景描述

生产制造类企业产品生产属于主营业务,多采用车间流水作业模式,为了保证产品质量,每个产品皆存在预防成本,目的是为了保证产品质量满足实际要求,尽量消除不合格产品,减少次品率和故障率。具体工作内容如下:根据实际情况进行质量保障计划制定、针对性进行员工岗前技能和要求等方面培训、建立产品改进措施、新产品评估鉴定所需人工费、机械费等等。投入预防成本之后,生产线加工产品的过程中,竟会受到内部和外部因素的影响产生一定的损失费用。具体包括不合格品的损失、返修品损失等等。最后,将会涉及到鉴定成本,主要用于鉴定产品是否满足实际要求,具体包括工序检验、成品检验和质量审核所产生的费用。除此以外,产品鉴定费用还会受到鉴定数量、鉴定仪器等方面的影响。

3.2 CEP系统部署环境

CEP系统主要由ActiveMQ集群、CEP应用集群、HBase集群组成,其中,ActiveMQ集群属于企业公用集群,因此,本次研究主要介绍CEP应用集群和HBase集群,详细情况如下所示。

(1)CEP应用集群设置。CEP应用集群设置主要包括虚拟机、OS、CPU等部分,具体情况如表1所示。每一部分皆根据实际需求进行设置,可以适当进行改进。

表1 CEP应用集群

(2)HBase集群。HBase集群能够存储CEP的中间数据,并且还可以存储大量的原始事件,便于后续查询,因此,需要加大存储量,详细配置情况如表2所示。

表 2 HBase 集群

3.3 处理框架构成

结合CEP技术的特点,针对制造行业的质量成本处理框架设计如图1所示。

图1 基于复杂事件的质量成本处理框架

(1)事件源则属于事件来源,相应事件皆与质量成本管理有关,数据和信息可以反映质量成本情况,具体包括生产线相关设备数据信息,例如RFID读取设备、手持机以及传感器等。这些设备将会受到实际情况的影响,产生相应的质量成本信息,为了保证信息及时有效,应该加强信息采集的实时性。

(2)事件预处理,属于事件的初步处理环节,依据规则库对事件的定义,给出检测结果,并将所有收集到的数据进行统一格式处理。目的是为后续深度处理奠定基础。预处理虽然不够细化,但可以在一定程度上降低后续处理的复杂性,使相关的数据规范化,便于识别。

(3)事件缓存,能够起到调节作用,控制相应事件上传速度,根据需求,适时进行事件上传速度增减控制。主要目的是为了环节处理模块的压力,避免工作量较大带来的处理混乱和滞留问题,并通过及时供给处理内容而提升处理模块的工作效率。

(4)事件查询和反馈,具有传递和查询功能,按照设置路径传递经过处理模块处理后的用户查询信息,并及时接收用户信息查询请求。事件查询和反馈需要体现安全性和及时性,对于事件查询必须经过身份验证和识别,对于事件反馈需要及时有效,这需要整个系统具有更高的智能化水平。

(5)最上层应用模块,属于用户操作平台,程序设置包括查询和接收结果等,应用模块设置需要尽量考虑擦操作的便捷性,通过人工与智能化系统的结合,提升操作效率,减少误差。

(6)规则库,用于规则生成和提供,规则制定依据为用户查询的事件,然后上传到相关模块,作为模块运行的依据。

3.4 CEP中规则引擎实现

规则引擎是由专家系统推理引擎发展而来,适用于业务的多变性特点,属于CEP系统中重要组成部分,目的是快速进行管理决策,有关规则引擎的相关内容介绍如下所示。

(1)规则引擎设计决策。本次研究选择的规则引擎为Drools,属于世界流行的开源规则引擎产品,具体算法为基于Charles Forgy’s的RETE算法。便于访问企业策略,易于调整及管理开源业务规则引擎,符合业内标准,具有优质高效的优点。具体包括Inference Engine、ProductionMemory、WorkingMemory、Agenda、Patten Matching 五个部分。其中,Inference Engine 属于进行匹配的引擎。ProductionMemory属于被访问的规则。WorkingMemory属于被推理机进行匹配的数据集合。Agenda代表管理被匹配规则的执行。Patten Matching可以对新的数据和被修改的数据进行规则的匹配。

(2)规则语言设计。对于规则语言实现工作开展,需要做好以下几方面工作:其一,合理定义规则语言。其二,规则语言在进行语法和词法分析过程中,使用ANTLR,产生抽象语法树,即AST。其三,使用Vistor模式,进行抽象语法树遍历,针对不同的Vistor模式可以翻译成特定底层,或者直接解释执行。

(3)语法规范设计。语法规范最常用的规则:$event.amount>100&&userId=’frankdoul’,这一规则属于布达尔表达式。

(4)规则管理。在整个系统之中,规则被划分为规则组(RuleGroup),每个规则组具有唯一的规则,不存在规则多样的情况,具体的规则标识为ID(GroupID),每个规则是由若干条规则组成的规则集合,通过制定规则组ID决定选择那些规则进行决策。系统中规则匹配的入口点为RuleMatchService。

(5)规则引擎应用。RuleMatchEP数与规则匹配事件处理器,主要作用在于将当前事件与某个指定规则组匹配在一起,并将匹配结果放置在新事件之中,具体的匹配格式如下所示:

3.5 应用分析

结合上述的处理框架以及引擎,进行实际应用研究,相关的数据如表3所示。

(1)选择扫描件间隔为1小时,扫描对象为预防成本在1.1以上时的产品合格率,具体语言描述如下:

SELECT YIELD FROM patten[every(Pcost> 1.1)]-> timer:interval(1 hour)。

(2)扫描时间间隔为1小时,扫描预防成本范围在1.1和1.2之间、损失成本范围在1.1和1.2之间的合格率,具体的语言描述如下:

表3 部分质量成本数据

SELECT YIELD FROM patten[every(1.1 < Pcost< 1.2and1.1 < Lcost< 1.2)]- > timer:interval(1 hour)。

(3)如果3个连续预防成本均值大于1.2,,损失成本均值大于1.3时,进行数据输出,相应的语言描述如下所示:

select*from pattern.[having avg(Pcost)> 1.2and avg(Lcost)> 1.3]- > win:length(3)。

4 结 语

综上说述,使用复杂处理技术进行质量成本控制,能够进行质量成本控制工作复杂性的简化处理,获取处理所需的有效信息,提高处理效率。与此同时,当前的CEP技术相对较为成熟,相关的产品、系统、算法等不断进行改进,本次研究结合企业生产场景,建立质量成本处理框架,并对相关的规则引擎进行设计与介绍,保证规则能够适用于当前的处理系统,从而更加高效的对企业的生产工序进行检测与分析,使企业能够客观了解质量成本情况,解决问题,改善现状。

猜你喜欢
引擎集群规则
撑竿跳规则的制定
数独的规则和演变
海上小型无人机集群的反制装备需求与应对之策研究
一种无人机集群发射回收装置的控制系统设计
电子制作(2018年11期)2018-08-04 03:25:40
让规则不规则
Coco薇(2017年11期)2018-01-03 20:59:57
蓝谷: “涉蓝”新引擎
商周刊(2017年22期)2017-11-09 05:08:31
Python与Spark集群在收费数据分析中的应用
勤快又呆萌的集群机器人
TPP反腐败规则对我国的启示
无形的引擎
河南电力(2015年5期)2015-06-08 06:01:46