Jira实践案例分享:小米集团如何通过API请求优化、数据治理与AI智能客服等,实现Jira系统的高效运维

news2024/11/17 1:39:32

日前,Atlassian中国合作伙伴企业日活动在上海成功举办。活动以“AI协同 创未来——如何利用人工智能提升团队协作,加速产品交付”为主题,深入探讨了AI技术在团队协作与产品交付中的创新应用与实践,吸引了众多业内专家、企业客户及技术开发者的积极参与。

活动现场,小米集团高级SRE孟凡胤带来《Jira常见问题处理及如何利用AI智能客服提升效率》的精彩演讲。演讲从小米Jira系统的使用现状出发,探讨分享了API请求及数据治理、项目管理中的个性化设置等运维过程中的挑战与突破,以及如何利用AI工具,深化AI智能客服应用,提高运营效率。

以下为演讲回顾(内容有精简优化):

大家好,作为Jira的使用方,今天我们主要从运维和运营两个层面来介绍小米是如何使用Jira系统的。

小米Jira系统的使用现状

首先,一起来了解下小米Jira系统的使用现状。

Jira系统承担了我们集团的手机、汽车、电视、笔记本和生态链各个产品的bug缺陷管理,以及米粉问题反馈的官方渠道,作为与米粉沟通的桥梁,它在小米内部扮演着至关重要的角色。

当前,我们系统的Issue数量已达到千万级别,数据量处于业界顶端,同时项目数量也达到了1000+,项目配置复杂,个性化需求也非常多,这些都对我们的运营团队提出了专业且严格的要求。

随着业务的不断增长和复杂性的提高,我们的系统体量已经远超官方标准产品所建议的体量,这也导致了一系列无法预知的问题。作为技术出身的系统SRE,我们致力于保证系统的SLA,确保系统的可用性,提升用户体验和员工的工作效率。

在龙智的协助下,我们去年花了一年时间,收集了影响系统的三十多个问题,并提出了解决方案。目前,这些方案已经落地并产生了显著效果。

API请求及数据治理

我们遇到的第一个问题是API请求和数据治理。

随着数据量和用户开发请求的持续增长,我们的Search接口受到大量不规范的分析请求冲击。这些请求中的JQL非常不规范,加上Labels数量达到了千万级别,直接在引擎中搜索的话,很可能导致系统崩溃或严重的OOM问题。

▍ 应对措施1:代理层API限流

对于这一问题,我们首先想让它有节制,不让它恶意请求。我们在nginx上使用lua脚本语言对请求的QPS和IP两种维度按照时间进行封禁。QPS达到50做一次封禁,右边是按IP封禁,一秒请求5次,我们会封禁60秒。这样,我们成功拦截了30%的不规范请求,缓解了部分API带来的系统压力。

▍ 应对措施2:API与web服务剥离

然而,即便进行了限流,大数据量的请求仍可能导致集群中的某个节点OOM,影响用户访问。那么假想一下,有没有可能在集群当中将API和Web两个服务分开?

在龙智的专业指导下,我们在7层代理上成功剥离了API和Web服务,确保API请求导致的系统夯住及oom不再影响到前端用户的访问和使用。

此外,我们还在集群上增加了状态监控,如遇到cluster_rmi_connect_fail等异常,会触发告警,使我们能够实时掌握集群的状态。

▍ 应对措施3:大数据治理

尽管采取了上述措施,我们仍未能完全解决API请求给系统带来的压力,那么就在根源上找,大家最终的诉求就是想要获取数据,那是否可以直接给用户提供数据呢?

大家都知道,现在是大数据时代,依托集团的数据工场,我们可以绑定mysql数据源,使用Flink SQL实时开发作业,根据不同的需求给大家提供实时数据,这样,用户无需再通过Search接口请求数据,极大地减轻了系统压力。

这时候有人会问,数据推送后,我们怎样在大数据平台做权限管控?

对此,我们设立了专业的团队和权限审核平台,按照project维度开放权限。这确实需要人工操作,包括创建权限表、与需求方对接等,以确保数据的安全。虽然初期工作量较大,但随着对工作流程的熟悉和标准化,我们已能复制和重用部分工作,从而显著减轻后期的工作量。

▍ 应对措施4:统一webhook推送

在数据治理过程中,我们还注意到一个问题:当issue被更新或创建时,webhook会推送过多不规范的消息。为解决这一问题,我们统一了webhook的推送,将其统一到RocketMQ上,用户可以直接在RocketMQ上进行消费。这一举措不仅规范了消息推送,还允许用户基于这些数据进行二次开发,如消息推送、看板展示和实时数据分析等。

这项工作还在持续实施当中,目前,我们已对接了大约三四十个需求,所有数据均通过统一的出口进行传输,同时减少了API请求,大大提高了系统的稳定性。这正是我们在运维层面所追求的:确保系统在一个更加规范、健康的环境中稳定运行。

项目管理中个性化设置

在系统运维方面,我们取得了很大的突破。其实Jira最核心的工作还是在系统配置上,Jira系统运营的工作非常的繁琐且复杂。接下来,我将介绍一下我们如何对Jira运营的工作做精细化及规范化管理。

▍ 统一项目配置,一键创建项目

在Jira的运营方面,运营团队大部分都是在配置项目个性化需求,创建项目,导入权限,导入模版等相关工作,同产品的project需求也不统一,这些重复性工作占用了运营团队大量的时间。

面对这一情况,我们拉通了各个项目负责人,把同产品(例如手机,笔记本,电视等产品)SPM的需求责任到一位同学身上,把项目的配置对齐,进行统一规划。每个产品对应了一个项目模版,由负责人在辅助系统平台长实现一键创建项目、模版自动导入、权限自动导入。最终实现了统一需求、统一项目模版、统一权限,大大减少了运营工作量,提高了工作效率。

▍ 跨服务器Clone插件

集团中有多套Jira系统,但是系统之间的数据无法做到互通。为此,龙智为小米定制了跨服务器Clone插件。该插件通过混合使用Jira的JavaAPI、标准RestAPI和自定义RestAPI,实现了多个Jira服务器之间的Issue克隆及信息同步。

其主要功能有:

  • 灵活的配置模式:支持多个Jira服务器之间的连接配置
  • 支持统一认证:支持多个Jira服务器之间的SSO认证,保障各服务器之间的数据交互安全
  • 全方位的业务映射:支持项目、问题类型、字段及字段默认值等多个维度的映射,保证不同部门之间的无缝协作
  • 克隆信息展示:在Issue界面中展示对端服务器的克隆Issue信息,支持一键免登录跳转至对端服务器对应Issue界面,极大提升了工作效率
  • 实时数据同步:克隆Issue有任何一方信息发生变更都会实时同步至对方,保证数据同步的时效性

AI智能客服提高运营效率

最后,为大家介绍一下我们的AI智能客服。

在日常的Jira运营中,我们面临着大量高重复性的用户咨询问题,Jira运营的同学逐一回答是需要付出很多的时间成本。小米一直非常重视知识库的建设,截至目前,我们的运营相关文档已达百余篇。

那么,如何将这这么多的文章快速、准确地传递给用户?这是一个难题。传统的机器人客服虽然可以推送相关知识,但往往无法提供精确、满意的回答,导致用户仍然需要花时间去筛选和寻找答案。

我们做的是让机器人代替运营人员回答用户的问题。

我们的AI客服解决方案利用大模型技术,将知识库和用户问题转化为语义向量,通过向量匹配快速给出准确回答,实现智能客服功能。

现在,我们用户问题回答的准确率高达80%,大大释放了运营的工作量,并且我们还在不断收集用户反馈,优化和更新我们的知识库。

最后,我想说的是,Jira是一个非常有意思的产品,值得我们去深入挖掘。Jira也是一项需要长期维护的工程,依靠个人的力量是远远不够的,我们也需要与更专业、更精细、更系统的团队共同进步。也非常感谢龙智提供这次分享的机会,期待未来我们能够有更紧密、更专注的合作。


获取Jira产品详情或更多实践案例,欢迎咨询Atlassian全球白金合作伙伴——龙智:

官网:http://www.shdsd.com

电话:400-666-7732

邮箱:marketing@shdsd.com

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1864669.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

股掌柜:实时行情数据和工具:揭示投资潜力的关键

如今充斥着各种投资信息、交易平台和金融工具的时代,如何抓住投资机会成为了每个投资者必须面对的重要挑战。一个明确的投资策略和准确的市场分析成为了判断市场走势和抓住投资机会的关键。而实时行情数据和工具的使用则能够为投资者提供全面、准确的市场信息&#…

选择诊所管理系统的原则是什么?

如今,诊所管理系统已成为医疗机构提升管理效率、优化患者服务的重要工具。然而,市场上的诊所管理系统琳琅满目,功能各异,因此,如何选择一款适合自己诊所的管理系统,是许多诊所管理者需要思考的问题。下面&a…

idea常用配置 | 快捷注释

idea快速注释 一、类上快速注释 (本方法是IDEA环境自带的,设置特别方便简单易使用) 1、偏好设置->编辑器->文件和代码模版 | File-Settings-Editor-File and Code Templates 2、右下方的“描述”中有相对应的自动注注释配置格式 贴…

什么是期货基金?

期货基金,是指广大投资者将资金集中起来,委托给专业的期货投资机构,并通过商品交易顾问进行期货投资交易,投资者承担投资风险并享有投资利润的一种集合投资方式。期货基金的投资对象主要有两大类商品:期货与金融期货。…

使用nvm命令进行node和npm版本下载以及切换

下载以及安装nvm方式 https://blog.csdn.net/ppz8823/article/details/130862191 1.查看nvm版本 nvm -v2.查看node 和 npm版本 node -v npm -v3.使用nvm查看已下载的node版本 nvm ls4.使用nvm 查看可使用的在线node版本 nvm list available4.下载想要使用的node版本&#x…

叉车装载机智能AI影像防撞系统,让车辆远离事故!

"员工受伤会给你的公司带来多少损失? 如果把安全放在首位,你会节省多少钱? 避免碰撞和降低工作场所的伤害风险,不仅可以挽救生命,还可以降低整体成本。" 你知道吗?2021年度全国叉车事故总数为42起…

互联网医院系统开发中的移动端应用设计

在现代医疗服务中,互联网医院系统逐渐成为提升患者体验和优化医疗资源的重要手段。而移动端应用作为互联网医院系统的关键组成部分,其设计和开发尤为重要。本文将从设计原则、技术架构和具体实现等方面探讨互联网医院系统中的移动端应用设计,…

Android studio Logcat 功能介绍

介绍 Android Studio Jellyfish版本下logcat功能,不同的tag会有不同的颜色,不同level等级的log默认也有不同的颜色。log过滤修改的更简洁了,原先的log视图只需要勾选就可以选择不同level的log了,当前需要在输入框中进行过滤器匹配…

高性能并行计算华为云实验三:蒙特卡罗算法实验

目录 一、实验目的 二、实验说明 三、实验过程 3.1 创建蒙特卡罗算法源码 3.2 Makefile的创建与编译 3.3 主机文件配置与运行监测​​​​​​​ 四、实验结果与分析 4.1 原教程对应的实验结果 4.2 改进后的实验结果 五、实验思考与总结 5.1 实验思考 5.2 实验总结…

高效安全的IPXProxy代理服务:摆脱免费代理的烦恼

​在现代互联网环境中,IP代理的使用变得越来越普遍。无论是企业级用户还是个人用户,都需要借助IP代理来实现隐私保护、网络加速和跨区域访问。然而,面对市场上众多的代理服务,有些用户会因为成本考虑而选择免费代理。然而&#xf…

用python做地图绘制

1.写代码 from pyecharts.charts import Map from pyecharts.options import VisualMapOptsmapMap() data[("上海市",122),("北京市",12),("天津市", 12),("广东省",22) ] map.add("测试地图",data) map.set_global_opts(v…

惠海 H6901B升压恒流3.7V 7.4V 12V 24V 30V 36V 48V 60V 80V 100V LED灯杯方案

H6901B是一款升压型LED恒流驱动芯片,具有良好稳定性的特点。H6901B的主要特点包括宽输入电压范围(2.7V-100V)、高工作频率(1MHz)以及多种保护功能(如芯片供电欠压保护、过温保护、软启动等)。此…

专业,城市,院校,高考填报志愿的三要素怎么排序?

我认为排序方式可以参考: 城市>学校 同样是计算机专业,不论学校的高低,一线城市更容易接触到时代的前端,有更多学习机会,有更好的文化氛围,同样在就业的时候也更容易接触到企业.... 如果要把专业考虑进…

openCV3.0 C++ 学习笔记补充(自用 代码+注释)---持续更新 二(51-)

环境:OpenCV3.2.0 VS2015 51、Mean-Shift算法分割图像 cv::pyrMeanShiftFiltering() 参考链接:【从零学习OpenCV 4】分割图像——Mean-Shift分割算法 Mean-Shift算法又被称为均值漂移法,是一种基于颜色空间分布(彩色图像的像素值)的图像分割…

C语言实战 | “贪吃蛇”游戏重构

程序设计的过程中,面对复杂项目,利用模块化思维分解任务,是关键的一步。读者一定要掌握模块化思维设计思维,为将来团队合作、协同完成大型应用软件做好准备。 01、“贪吃蛇”游戏 有了游戏框架之后,按照游戏框架完成“贪吃蛇”游戏。 “贪吃蛇”游戏角色有两个:“贪吃蛇…

高考填报志愿,为什么要做性格测试?

我认为兴趣跟报志愿是有很大关系的。兴趣可以让你学习的动力更强,可以让你在困难面前更加坚强。根据兴趣爱好来选择的专业,可以让你更容易获得职业满足感,成就感,就酱。 有些人说兴趣变成了职业,就没有兴趣了&#xf…

10.二次开发——黑马程序员Java最新AI+若依框架项目

目录 前言零、使用若依修改器修改项目名称一、创建sky-merchant模块1.创建模块2. 在新模块中导入依赖3. 父工程锁定版本4. sky-admin 导入依赖 二、菜品管理页面生成1.根据页面原型,确定表信息2.设计表3使用代码生成器生成页面4,下载tb_dish代码并分别导…

【AI编译器】triton学习:编程模型

介绍 动机 在过去十年里,深度神经网络 (DNNs) 已成为机器学习 (ML) 模型的一个重要分支,能够实现跨领域多种应用中的最佳性能。这些模型由一系列包括参数化(如滤波器)和非参数化(如缩小值函数)元件组成的…

arco.design 利用 a-input-search 和 a-trigger 自己实现一个关键字查询select

先看效果 <div class"search-content" id"map-search-wrapper"><a-triggerpopup-visibleposition"bl"autoFitPopupWidth:popup-offset"4":unmount-on-close"true"trigger"click"popup-container"#m…

一年前端|17K|极光推送5轮面经

面经哥只做互联网社招面试经历分享&#xff0c;关注我&#xff0c;每日推送精选面经&#xff0c;面试前&#xff0c;先找面经哥 背景 渣本毕业&#xff0c;学历一般中文系出身&#xff0c;非科班大四转行&#xff0c;总体基础不行一年工作年限&#xff0c;项目毫无亮点&#x…