开发者社区 > 博文 > 一站式值班运营功能线上化实践
分享
  • 打开微信扫码分享

  • 点击前往QQ分享

  • 点击前往微博分享

  • 点击复制链接

一站式值班运营功能线上化实践

  • jd****
  • 2026-01-30
  • IP归属:北京
  • 28浏览

    背景

    在一个大型复杂系统,新来的小伙伴刚接触值班时,对于一些不可避免的Data Correction支持工作,上手还是有不少成本,难度也较高。一方面是业务流程复杂,需要先理清场景和数据走向,梳理底层涉及的库表结构;另一方面,Data Correction可能不仅仅是单个表的update,还可能涉及多个表数据的状态一致性,多应用数据的联动一致性,倘若漏了其中一部分,则整体不闭环,可能会引发新的问题。有些复杂的场景下,不仅仅是简单库表的refresh,还涉及复杂的计算和分支判断,对下游进行调用回传等。

    对于老手来说,虽然上手难度没那么高,但Data Correction支持工作也可能会有误操作或漏操作情况。

    在此情况下,便催生一个想法:建设一个按场景集成Data Correction Tool的线上化User Interface界面化功能入口,并使用XBP审批流程进行规范化,多人Double Check,尽量规避潜在风险点。


    方案

    借助XBP流程功能,实现线上化系统运维小助手,提高值班效率,降低运营压力。

    通过XBP功能,使得线上运维更加规范化、功能化,简单易用。



    功能落地

    运营功能规划


    XBP流程规划

    确认表单内容

    识别每个场景所需要的字段,相同含义的字段在不同场景之间可以复用。




    多场景字段复用


    除了表单的文本填写,还支持EXCEL的上传。对于批量数据处理,EXCEL对于文件的加工和处理比较方便。



    表单提交时将EXCEL上传云存储,生成对应的url,消费者解析url从云存储中解析到文件内容,进行批量处理。




    按场景展示表单字段




    通过字段显隐规则,将不同场景所需要的字段显示出来,不需要的字段隐藏不显示。

    不同的处理类型,展示的必要字段不同,只展示必要的字段出来。


    审批消息的监听处理



    UML diagram



    不同的处理类型,对应着单独的处理器。


    例如,释放库存预占类型,对应着 ReleaseStockExecutor。


    coding



    考虑到MQ消息的重复消费,需要做并发防重和幂等性支持。

    利用Redis进行相同消息的放并发校验。


    根据审批单号(XBP单号)生产相对稳定的UUID,处理成功的UUID会以操作流水的方式存储到数据库中,利用UUID和处理流水数据进行幂等防重。



    表单数据的填写内容校验和通知提示。


    利用JSF泛化调用,支持多集群处理。


    处理结果无论成功还是失败,都通过消息通知给申请人。

    审批失败的监控告警。


    使用案例

    功能使用



    审批效果






    消息通知

    自动执行完成后,执行成功的消息通知


    自动执行失败的消息通知