卞一帆,周兆永,崔骋宇,宋荣杰
(1.西北农林科技大学信息工程学院,陕西 杨凌 712100;2.西北农林科技大学网络与教育技术中心,陕西 杨凌 712100)
随着移动互联网的发展,用户在很多场景中会更多地使用手机而非台式电脑或笔记本电脑。向用户提供移动端的网络运维机器人问答系统,可以让用户的使用更方便,并获得更高用户粘性。在基于IPv6的网络运维机器人系统的基础上,扩展出工单管理的功能,优化维修、疑难问题排查等场景下的沟通流程和效率,进一步提升用户满意度和服务人员工作效率。许多高校也已经通过自主研发或外包的方式建立了类似的机器问答服务,但大多建立在IPv4环境下。响应国家推广I Pv6部署的号召,本项目旨在建立可以运行在纯I Pv6环境下的网络运维机器人系统,实现平台功能的运行和推广,为容器云平台在IPv6环境下的部署和应用提供参考,推动IPv6的应用。
本系统主要包括用户问答模块和工单模块。用户问答模块是基于IPv6的网络运维机器人系统的移动端用户界面,并通过A PI接口与网络运维机器人系统通信,专门为移动设备构建,方便移动用户使用。工单模块用于追踪维修、疑难问题排查的工单的流转、进程,用户可以发起工单,服务人员可以进行响应、转发等操作,在用户与服务人员间建立起高效沟通的渠道,提高问题排除速度、用户满意度和服务人员的工作效率。
主要功能模块有:
(1)知识库、用户问答模块。知识库和用户问答模块在《基于IPv6的网络运维机器人系统》中实现,负责保存问答知识库并根据提问在知识库中检索。
(2)工单模块。工单模块允许用户向支持人员提交故障报告、用户反馈、问题补充、建议和意见,促进双方之间的沟通,提高问题解决速度和用户满意度。系统前端Web服务采用Ngi nx进行负载均衡。
(3)移动端用户界面。此模块是专为移动端交互逻辑设计的响应式用户界面,允许用户登录后提问、发起工单、查看已提交工单的进度。
(4)后台管理功能。系统后台具有用户注册、修改密码、查看用户数量、热点问题、系统不能直接回答的问题的统计数据等功能,便于系统改进和维护。
以上各模块均使用模块化、组件化的结构开发,模块间通过良定的接口进行交互,将模块间耦合尽可能降低。利用学校的GitLab进行代码托管、版本控制、持续集成,加快应用开发和迭代速度。
图1 系统逻辑架构
3.1.1 系统架构及模块功能描述
(1)知识库、用户问答模块。知识库和用户问答模块在《基于IPv6的网络运维机器人系统》中实现,负责保存问答知识库并根据提问在知识库中检索。
(2)工单模块。工单模块允许用户向支持人员提交故障报告、用户反馈、问题补充、建议和意见,促进双方之间的沟通,提高问题解决速度和用户满意度。
(3)移动端用户界面。此模块是专为移动端交互逻辑设计的响应式用户界面,允许用户登录后提问、发起工单、查看已提交工单的进度。
以上各模块均使用模块化、组件化的结构开发,模块间通过良定的接口进行交互,将模块间耦合尽可能降低。利用学校的GitLab进行代码托管、版本控制、持续集成,加快应用开发和迭代速度。
运行在容器云平台上的模块均能在纯IPv6环境下正常工作、进行交互,各模块均能在纯I Pv6环境和IPv4/IPv6双栈环境中正常使用。
3.2.1 工单模块
表1 工单存储结构
3.2.1.1 发起工单接口
HTTP PUT /tic kets
用于用户发起新工单。
请求结构体为JSON,包含上方给出的工单结构中的title、body字段。接口需要认证,create_by 从认证信息中获取。id由系统自动生成,c reate_ at 由系统自动填写,其他字段留空。
3.2.1.2 列出工单接口
HTTP GET /tickets/my
用户调用此接口可查询自己发起的工单,支持人员调用此接口可查询目前分配给自己的工单。
响应结构为上方给出的工单结构的数组。
3.2.1.3 列出待分配的工单
HTTP GET /tickets/pending-triage
管理人员可调用此接口获取待分配的工单。响应结构为上方给出的工单结构的数组。
3.2.1.4 工单信息查询接口
HTTP GET /tickets/{ticketId}
用于用户查看工单详情。用户只能查看自己发起的工单,管理人员和支持人员可以通过此接口查看任意工单。
响应结构为上方给出的工单结构。
3.2.1.5 工单分配接口
HTTP POST /tickets/{ticketId}/triage
用于管理人员将工单分配给支持人员。请求体为JSON对象,其中responder为分配的支持人员ID。
3.2.1.6 取消工单分配接口
HTTP POST /tickets/{ticketId}/re-triage
如果支持人员认为此工单不应由自己处理,可以使用此接口将工单退回待分配状态,由管理人员重新分配。
3.2.1.7 工单评论存储结构
表2 工单评论存储结构
3.2.1.8 列出工单下评论接口
HTTP GET /tickets/{ticketId}/comments
列出工单下的评论。响应结构为上方给出的评论结构的数组。
3.2.1.9 工单评论接口
HTTP PUT /tickets/{ticketId}/comments
用于在工单下发表评论,方便用户和支持人员沟通。
3.2.1.1 0 关闭工单接口
HTTP POST /tickets/{ticketId}/close
用于支持人员将工单标记为已办结。
3.2.1.1 1 重开工单接口
HTTP POST /tickets/{ticketId}/reopen
用于用户反馈工单描述的问题未得到解决,需要支持人员后续操作。
3.2.1.1 2 工单反馈接口
HTTP POST /tickets/{ticketId}/feedback
用于用户反馈工单描述的问题得到解决,并为工单处理情况评分。请求体为JSON对象,rate字段描述用户的满意度。
图2 问答界面
图3 侧边导航栏
图4 工单模块界面
图5 工单详情界面
综上所述,本文在I Pv6 技术的基础上经过设计与优化,采用模块化的开发方法实现了基于IPv6 的网络运维机器人系统答系统移动端。测试结果表明,该系统在IPv6环境运行稳定,使用方便,可较好的满足校园师生在网络与信息服务方面的需求,此工作对于加快IPv6的产业和商业化进程,全面推动我国下一代互联网(IPv6)的部署具有重要意义。