网络运维知识工程体系建设

2020-04-23 11:16詹晓航
电子技术与软件工程 2020年8期
关键词:知识库引擎运维

詹晓航

(中国移动通信集团广东有限公司广州分公司 广东省广州市 510110)

移动互联网时代,无线数据通信技术虽然发展迅速,但通信运营商成本压力却不断增加,运营商陷入“增量不增收”的困局。为解决困境,运营商都把注意力聚焦到了成本消耗最大的网络运维上,要求通信技术(CT)团队向ICT 转型(即IT+CT)。然而,现有存量CT 人员规模庞大,软件工程能力薄弱,ICT 转型举步维艰。在重重压力下,运维团队需研究如何以低成本构建一套统一的专家系统平台,打通核心网、传输网、无线网、数据网、网管网、城域网等各专业网络,并能让CT 人员自行开发专家系统的知识库和上层应用、编排各种自动化任务,减少现有繁多的烟囱式运维专家系统和数据孤岛的困境,实现降本增效。

为降低CT 团队ICT 转型的门槛,本课题研究了一套网络运维知识工程体系建设方法,解决CT 人员开发专家系统知识库和相关应用层功能的困难,实现运营商CT 团队快速ICT 转型目标。

1 知识工程与知识自动化概述

知识工程(Knowledge Engineering)研究的是如何用机器代表人类,实现知识的表示、获取、推理、决策、包括机器定理证明,通过智能软件而建立的专家系统。同时,还需要研究如何实现知识工程的知识工作自动化,以及如何运用知识,进行问题的自动求解等。知识工程的研究使人工智能的研究从理论转向应用,从基于推理的模型转向基于知识应用的模型。可见,知识工程的研究其中一个重要目标就是为了顺利实现知识自动化。

知识自动化(Knowledge Automation) 是一种可执行知识工作任务的智能软件系统。知识自动化实现了人和机器的重新分工,有助于把知识技术人员从重复性劳动中解放出来,知识自动化将工程知识体系转换为“工程智能”。

图1:MME 设备故障定位知识表示过程

图2:网络运维知识工程体系架构设计

2 ICT转型策略

CT 团队虽然有丰富的运维经验,但缺乏软件工程能力。CT 团队建设专家系统时,必须依赖IT 团队开发,这种方式导致成本、开发排期、需求变更、系统测试和上线都要受IT 团队制约。为扭转困局,本课题为CT 团队提供了专家系统知识库的可视化编程(无代码开发)能力,结合CT 团队自身优势,扬长避短,即可主导专家系统知识库和任务编排的开发、知识工程体系设计、建设和测试工作等,无需IT 团队重度参与。

3 网络运维知识工程体系架构建设

本课题研究的网络运维知识工程是以网络运维知识和专家经验为处理对象,借用工程化的思想,利用人工智能的原理和方法,设计、构造和维护网络运维知识体系。运维知识工程的重要过程包括网络运维的知识获取、知识表示与知识利用三大过程。为顺利开展网络运维知识自动化工作,在知识工程体系架构建设的同时也要建立好网络运维知识工程标准化工作。

3.1 运维知识获取

运维知识获取包括从文档、设备运行日志、传感器或消息信令获取知识和信息,通常有三种方式:

(1)非自动知识获取指知识由运维工程师通过阅读有关文献或与领域专家交流,将原始知识进行分析、归纳、整理,形成用自然语言表述的知识条目输入系统数据库。

(2)知识抽取是指系统能对专家的专业知识和经验(如故障处理经验)进行识别、理解、筛选、格式化,可以把需要分析和处理的文件或事件中每个知识点或信息点抽取出来,并输入到知识库中。

(3)机器学习知识通过机器各种传感器直接感知外部的信息(如网络设备间传送的信令信息等等),或者根据系统运行经验从已有的知识或实例中演绎、归纳出新知识,补充到知识库中。例如,通过学习网络中的大量信令信息,归纳出用户画像模型和用户群体特征,并用此模型进行精准目标搜索等。

3.2 运维知识表示

知识表示是对知识库的知识进行知识编码的活动,让知识能方便被共享和调用。运维知识工程体系的架构设计需重点研究如何进行知识编码。为提升知识编码的效率,降低编码难度,可采用可视化编程的形式。可把“流程引擎+规则引擎+解析引擎+可视化建模引擎”组合成“推理引擎”,方便运维专家进行知识编码。

例如图1 中所展示的案例,运维人员日常维护时经常发现设备性能下降影响业务时往往无告警产生,为解决问题,可在专家系统平台上以可视化编程的方式开发“板卡故障诊断”的自动化检查流程。由系统将检查流程相关知识(如性能指标、指令、日志结果)编译成计算机语言,形成一组可执行的软件程序存入知识库,即完成一次故障定位经验流程的知识编码工作:

(1)监控MME 设备性能指标,出现异常触发流程;

(2)检查MME 的关键指标,确认业务是否受影响;

(3)向指定MME 发送指令检查板卡异常情况;

(4)反馈板卡检查ping 指令结果的异常情况,如有异常即生成告警。

对于该设备,如果其他运维专家具备另外一种硬件的故障定位方法,也可以按类似的方法编译到知识库中。以此类推,每个专家都可以把本专业涉及的故障定位知识编译到知识库中。这样,机器就可以学习到大量人类专家的故障定位经验和知识,让人类专家从繁重的工作中释放出来。

3.3 运维知识利用

知识利用包括知识搜索以及知识推理。例如,网络运维专家可在系统平台上根据自己专业领域发现的问题去搜索同行或者不同专业的专家的类似经验知识,找到可参考的经验知识后进行应用评估、推理和场景适配,快速形成本专业的解决方案。

3.4 运维知识工程标准化

为顺利实现运维知识自动化,还需对运维知识工程的过程进行标准化,总结归纳各专业网络运维工作场景和内容,对重要功能模块进行标准化设计。这样,专家在部署自动化流程时,就能轻松调用各种组件灵活拼装,并配置规则:

(1)运维信息表示的标准化:如设备信息、资源信息、组织架构信息、性能指标数据、系统接口信息等;

(2)流程引擎组件的标准化:如流程中元知识种类的组件定义、组件的名称、功能范围等,目前应用较多的组件有:数据库节点、逻辑节点、脚本节点、爬虫节点、IA 算法节点等;

(3)日志或指令解析组件的标准化:如日志或指令解析文件中元知识对应的组件、各组件名称、功能范围等;

(4)知识符号逻辑表示的标准化:使知识具备显式语义表达能力和传播能力;

(5)信息输入、输出和呈现标准化:包括信息输入输出的粒度、并发要求、呈现方式等等。

图3:广州移动智能维护机器人

3.5 架构设计

运维知识工程体系可根据知识工程的三个重要过程(知识获取、知识表示与知识利用)设计架构进行建设(如图2)。

知识工程过程中,知识获取被许多研究者和实践者作为一个瓶颈,限制了专家系统、人工智能系统的发展。因此,在架构设计时需考虑系统如何能提供各种接口自动采集数据、信息的能力,并形成元知识存储到系统数据库中供上层的“知识表示层”编译和调用。

本课题以通信运维专家主导开发的知识自动化统一开发平台作为“知识表示层”,需具备知识库、以及与“推理引擎”相关的模块或引擎。“推理引擎”可由“流程引擎”、“规则引擎”和“解析引擎”组成,为提供无代码开发环境给通信专家使用,还需要考虑增加“可视化建模引擎”。如知识量、数据量、运算量庞大,还要考虑增加“大数据处理引擎”、“AI 处理引擎”等等。

网络通信的知识自动化开展可以通过把各专业运维技术体系模型化,形成网络运维知识工程体系架构,然后将模型移植到网络运维专家系统的设计与制造平台上,通过平台调动各专业人员部署各种场景智能软件的开发和迭代升级,如:设备健康智能巡检、故障定位、配置检查、安全审计、高危操作预警、资源智能调度等。从而由机器完成原先需要人去完成的大部分工作,让人类有更多时间进行创造性、决策性工作。

4 结束语

本课题的研究成果在广州移动网络智能维护机器人Dr.Who 开发平台上经过长达4年现网运行验证(如图3),广州核心网人员仅用2年便顺利实现了ICT 转型,具备代码编写能力员工占比20%,可视化编程能力占比100%,并扩展到在传输网、无线网、承载网、网管网等专业,提供了支撑多专业的智能运维解决方案。希望本文能为行业相关人员对知识工程的理解和落地提供参考,共同推动知识工程技术发展。

猜你喜欢
知识库引擎运维
运维技术研发决策中ITSS运维成熟度模型应用初探
基于TRIZ与知识库的创新模型构建及在注塑机设计中的应用
高速公路信息系统维护知识库的建立和应用
基于ITIL的运维管理创新实践浅析
基于Drupal发布学者知识库关联数据的研究
无形的引擎
基于Cocos2d引擎的PuzzleGame开发
位置与方向测试题
One Engine Left只剩下一个引擎