易扩展的脆性规则引擎实现方法

文档序号:6487405阅读:140来源:国知局
易扩展的脆性规则引擎实现方法
【专利摘要】本发明提供了一种易扩展的脆性规则引擎实现方法,包括a.将一组包含有模糊表达式的规则集合提交给引擎编译器,所有的模糊概念均用特定义符号进行了标示;b.引擎编译器对这组规则集合进行编译,识别出所有模糊表达式;c.对所有的模糊表达式进行解释,生成同一类型的操作码;d.对非模糊表达式进行编译,得到与其各自具体对应的操作码;e.完成其它编译工作,利用编译版本的规则集合得到脆性规则引擎,对涉及模糊规则的处理全部设置为外部调用,不仅提高了模糊规则的扩展能力,而且修改容易。
【专利说明】易扩展的脆性规则弓I擎实现方法
【技术领域】
[0001]本发明涉及IT运维领域,特别是一种旨在提高运维系统智能化和定制灵活性的易扩展的脆性规则引擎实现方法。
【背景技术】
[0002]随着信息化建设的深入发展,信息系统日益成为核心业务处理的关键基础设施;为了保证网络、服务器、数据库等IT资源的正常运行,需要对其进行高质量的维护;依靠人工进行对信息系统进行初级维护的做法已经无法满足运维的及时性、准确性要求;为了提高运维质量,降低运维成本,IT运维系统应运而生,规则库作为IT运维系统的核心部件,是运维系统功能实现的重要基础,随着运维系统自动化、智能化的要求不断提高,一方面,现有的规则库均为脆性规则库,无法适应运维规则不断丰富、灵活的实际需要,比如当系统某机器负载“过重”的时候要求产生告警并进行相应的分流处理,这个“过重”的界定在现有规则库的实现方式中,作为一种包含模糊概念的模糊规则,就不容易轻松解决,经常需要对规则库进行重大的修改和调整,且极易出错;另一方面,运维系统的功能和要求不断提高,除开基础的运行监控之外,还希望运维系统能够对系统优化、规划提供分析参考等,而这在不同的组织和IT基础设施系统中其规则就存在极大的差异,这就要求运维系统对不同的项目具有更高的适应性和定制灵活性,这在现有的脆性规则库中是难以满足的。

【发明内容】

[0003]本发明的目的在于提供一种旨在提高系统智能化和定制灵活性的易扩展的脆性规则引擎实现方法,采用形式上的脆性规则语言表达且只表达核心规则逻辑,而实质模糊的规则均视为特殊的单一类型交易处理,从而使得模糊规则的实现及其定制调整只需要对既有的、核心的脆性规则引擎在逻辑表现层面做适当的修改就可以得到满足和实现,以便在提高运维系统的模糊规则适应和处理能力以满足智能化要求的基础上,同时满足修改灵活、定制容易的要求。
[0004]本发明的目的采用如下技术方案实现:易扩展的脆性规则引擎实现方法,包括如下步骤:
a.将一组包含有模糊表达式的规则集合提交给引擎编译器,所有的模糊概念均用特定义符号进行了标示;
b.引擎编译器对这组规则集合进行编译,识别出所有模糊表达式;
c.对所有的模糊表达式进行解释,生成同一类型的操作码;
d.对非模糊表达式进行编译,得到与其各自具体对应的操作码;
e.完成其它编译工作,利用编译版本的规则集合得到脆性规则引擎。
[0005]进一步的方案是,所述同一类型的操作码包含有对模糊引擎的调用。
[0006]采用这种方案的易扩展的脆性规则引擎实现方法,核心规则逻辑依然采用脆性规则库实现,所有的规则逻辑中全部采用形式上的脆性规则进行表达,所有的模糊概念均用特定义符号进行了标示,对编译器而言,所有的模糊表达式被视为一种特殊的单一类型指令,对其编译不实现具体的演算逻辑,而全部生成包含有对模糊引擎的调用的操作码,这样做的好处在于核心规则逻辑更加贴切运维工作逻辑,在核心规则层面回避掉了对模糊的指标和规则的实现困难,而将模糊指标和规则的具体实现采用调用独立的模块,也即所谓模糊引擎进行处理,从而对于核心规则逻辑而言,逻辑清晰、定制容易,而同时,由于在核心规则逻辑中不需要考虑模糊规则的实现,可以更加灵活、丰富的采用模糊概念来表达规则逻辑,可提高系统的智能化水平。
[0007]本发明的易扩展的脆性规则引擎实现方法进一步的方案是,所述对模糊引擎的调用中包含模糊表达式。
[0008]采用这种方案的好处是,脆性规则引擎对整个模糊规则不进行处理,而将该模糊判断的规则连同数据全部提交给模糊引擎处理,由此可以提高模糊引擎的逻辑性,以提高智能化水平,比如针对同一模糊概念的指标在不同的模糊规则下可以有不同的逻辑,与前述模糊引擎只对采用模糊概念的指标本身进行转化处理相比,模糊概念的转化、所依赖的数据不再是独立于输入数据的独立规则,而需要结合具体的模糊规则和待判数据集进行处理,扩充了本方法的适用范围。
[0009]本发明的易扩展的脆性规则引擎实现方法进一步的方案是,所述同一类型的操作码包含有对模糊引擎返回结果的处理,所述模糊引擎返回的结果是脆性的。
[0010]采用这种方案的好处在于:模糊引擎只对采用模糊概念的指标本身进行转化处理,将模糊概念向一组确定的指标进行转化,而推算逻辑依然保持在核心逻辑中,保证了脆性规则引擎的逻辑完整性。
[0011]采用本发明所述的易扩展的脆性规则引擎实现方法,针对运维系统的智能化要求和定制需求丰富的实际,基于对运维工作逻辑、模糊规则重新分配,对涉及模糊规则的处理全部设置为外部调用,不仅提高了模糊规则的处理能力、扩展能力,为提高智能化水平提供了技术,而且定制方便,修改容易,模糊规则的处理既可以是调用模糊引擎对模糊概念本身的转化处理,也可以是将对模糊规则的整体处理交由模糊引擎演算,扩展灵活性高。
【专利附图】

【附图说明】
[0012]图1为采用本发明所述方法的脆性规则引擎的编译流程图;
图2为采用本发明所得脆性规则引擎的规则系统的结构示意图;
图3为采用本发明所得脆性规则引擎的运维系统的运行流程图。
【具体实施方式】
[0013]为了更好的揭示本发明的本质,下面结合附图从脆性规则引擎的编制、编译,以及采用这种引擎的规则系统构成、待判数据集的演算过程等方面进行进行阐述。
[0014]本发明的思路是通过延迟模糊表达式的解释以实现在既有脆性规则引擎的基础上增加模糊规则处理能力目的,模糊规则和脆性规则的区别仅仅在于其中是否包含有模糊概念,包含有模糊概念的表达式体现的就是模糊规则,本发明的关键在核心规则库,也即直接在脆性规则引擎中采用的规则组,的构建中不考虑模糊概念的处理,而当规则中包含有模糊概念的时候,通过调用独立于脆性规则引擎的专门模块进行处理,从而在核心规则引擎的编制的时候,无需解决模糊规则的处理实现,而延迟到专门模块中解决,在脆性规则引擎的构建中,对脆性规则语言进行扩展,通过将模糊概念和/或模糊表达式用诸如“[]”的特定义符号标示即可实现,在对规则引擎源码进行编译的时候,编译器对其中的模糊规则均编译成通用的、或者说同类的操作码,比如一段包含有调用的操作码,在规则引擎执行的过程中,脆性规则在规则引擎内部得到演算实现,而当执行到模糊规则的时候,通过调用外部的定制处理模块来完成演算,具体过程是脆性规则引擎调用被称为“模糊引擎”的代理程序,由其根据具体需要处理的模糊概念和/或模糊规则选择调用定制处理模块。
[0015]图1是本发明所述方法的脆性规则引擎的编译流程图,或者说脆性规则引擎的构建流程图,与现有技术和公知技术的区别在于对模糊概念和或/模糊规则的编译处理上,在步骤210中,将包含有模糊表达式的一系列规则提交给编译器,脆性规则库的表达采用扩展的脆性规则语言进行,所有的规则表达依然采用脆性规则语言的形式,只是对模糊概念和/或模糊表达式用诸如“[]”的特定义符号标示,从而可以更贴切的表达业务逻辑,而不考虑规则的具体实现,在编译器对源码进行编译的时候,在步骤220中,编译器对采用特定义符号标示的模糊概念和/或模糊表达式进行识别,然后在步骤230中,对所有的模糊概念和或模糊表达式生成共同的或者说同类的一段操作码,该段操作码的功能在于实现对模糊引擎的调用,该调用中可以包含有模糊表达式,以便模糊引擎根据该模糊表达式选择合适的定制处理模块,也可以包含对模糊引擎返回的结果进行规则判断,在步骤240中,对所有的非模糊表达式进行编译,得到各自的操作码,由此获得脆性规则引擎。
[0016]图2是采用本发明所得脆性规则引擎的规则系统的结构示意图,包含有脆性规则引擎100,可对输入数据,既可以是用户输入的数据、也可以是其它系统传递的数据,进行处理的规则推算,脆性规则引擎100与模糊引擎110通信连接,而该模糊引擎110可以与定制处理模块121、122、123、128连接,脆性规则引擎100在执行模糊规则的时候,将产生一个对模糊引擎110的调用131,模糊引擎110将根据该调用131请求选择合适的定制处理模块对该模糊表达式进行处理,该调用131既可以只包含模糊概念,由定制引擎将其转化为脆性指标回传脆性规则引擎利用,也可以包含有模糊规则,模糊引擎110根据该模糊规则整体对定制处理模块进行选择,直接将规则推算结果返回给脆性规则引擎100。
[0017]图3是采用本发明所述方法的运维系统的运行流程图,在步骤300中,将各定制处理模块在模糊弓I擎进行注册以实现连接,将模糊弓I擎在脆性规则引擎注册以实现连接,在步骤310中,脆性规则引擎接收待判数据集,该数据集可以为一组数据或者包含有实例,在步骤315中对待判数据集是否涉及模糊规则的处理进行判断,如果该待判数据集涉及模糊规则的处理,可以是因为某些数据的演算过程中需要采用模糊概念和/或模糊规则的适用,则引出步骤320以发起一个对模糊引擎的调用,在步骤330中,模糊引擎对模糊规则进行解释,随后在步骤335中选择合适的定制处理模块对其进行处理,该处理可以是对模糊概念的判断转化也可以是对整个模糊规则的完整演算,同时,在模糊引擎和定制处理模块之间可以采用缓存连接的方式以提高处理效率,在步骤340中,模糊引擎对接收定制处理模块的结果并进行转化得到脆性结论,并在步骤350中返回给脆性规则引擎,在步骤360中脆性规则引擎利用该脆性结论,直到整个演算过程全部结束,得到最终结论,循环进行下一组待判数据集的处理,需要注意的是,模糊引擎可以是对模糊概念的转化处理,也可以是对模糊规则的处理,如果是对模糊规则的处理,在调用中将包含有整个模糊规则,对定制处理模块的选用是根据模糊规则进行的,定制模块将对待判数据集中的多个数据进行利用,待判数据集中往往包含有一个带有实参的实例,而该实例可以是其它系统提供的或者是用户根据系统提供的问卷表提供的。
【权利要求】
1.易扩展的脆性规则引擎实现方法,其特征在于:包括如下步骤: a.将一组包含有模糊表达式的规则集合提交给引擎编译器,所有的模糊概念均用特定义符号进行了标示; b.引擎编译器对这组规则集合进行编译,识别出所有模糊表达式; c.对所有的模糊表达式进行解释,生成同一类型的操作码; d.对非模糊表达式进行编译,得到与其各自具体对应的操作码; e.完成其它编译工作,利用编译版本的规则集合得到脆性规则引擎。
2.根据权利要求1所述易扩展的脆性规则引擎实现方法,其特征在于:所述同一类型的操作码包含有对模糊引擎的调用。
3.根据权利要求2所述易扩展的脆性规则引擎实现方法,其特征在于:所述对模糊引擎的调用中包含模糊表达式。
4.根据权利要求2所述易扩展的脆性规则引擎实现方法,其特征在于:所述同一类型的操作码包含有对模糊引擎返回结果的处理。
5.根据权利要求4所述易扩展的脆性规则引擎实现方法,其特征在于:所述模糊引擎返回的结果是脆性的。
【文档编号】G06N7/02GK103577879SQ201210265009
【公开日】2014年2月12日 申请日期:2012年7月28日 优先权日:2012年7月28日
【发明者】不公告发明人 申请人:成都勤智数码科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1