跳到主要内容

UOTA信息管理

核心概念:任务管理 | UOTA信息管理 | 概览

UOTA(User Over-The-Air)信息管理用于管理设备固件和系统应用的远程升级信息。


核心概念:任务管理 | UOTA信息管理 | 快速访问 (UOTA信息管理)

快速访问 (UOTA信息管理)

在UOTA信息管理模块中,您可以快速访问在线系统。

点击访问:UOTA信息管理

关联模块

核心概念:任务管理 | UOTA信息管理 | 1. UOTA明细列表 (UOTA信息管理)

1. UOTA明细列表 (UOTA信息管理)

列表展示了系统中所有的UOTA升级包信息。

列表查询

查询条件 (UOTA列表)

  • 名称:UOTA升级包名称。
  • 包名:应用包名。
  • 版本号:应用版本号。
  • 版本名称:应用版本名称。

列表字段说明 (UOTA列表)

  • ID:唯一标识。
  • 名称:UOTA升级包名称。
  • 是否开启:开关状态(是/否)。
  • 包名:应用程序包名。
  • 版本号:内部版本号。
  • 版本名称:显示版本名称。
  • 是否系统app:标识是否为系统级应用(是/否)。
  • 系统app安装路径:系统应用的安装路径。
  • 备注:备注说明。
  • 创建时间:记录创建时间。

操作按钮说明 (UOTA列表)

  • 搜索/重置:查询或重置条件。
  • 新增:创建新的UOTA信息。
  • 导出:导出列表数据。
  • 编辑:修改现有信息。
  • 删除:删除记录。

列表行内操作 (UOTA列表)

  • 是否开启开关:在列表中直接切换升级包的启用状态,切换后自动保存。关闭后设备将无法检测到此升级包。

核心概念:任务管理 | UOTA信息管理 | 2. 新增/编辑UOTA信息 (UOTA信息管理)

2. 新增/编辑UOTA信息 (UOTA信息管理)

在UOTA信息管理模块中,您可以创建或修改UOTA升级包信息。

新增与修改

表单字段说明 (新增/编辑UOTA)

  • 名称:必填,UOTA升级包的名称,用于标识和管理升级包。
  • 资源配置:必填,选择已上传的APK资源文件。系统会自动从APK文件中提取包名、版本号、版本名称等信息。
  • 是否开启:必填,控制该升级包是否启用。开启后,设备才能检测到此升级包。
  • 是否系统app:选择该应用是否为系统级应用。
  • 系统APP路径:当"是否系统app"选择"是"时显示,必填。指定系统应用的安装路径。
  • 渠道配置:新增时必填,选择该升级包关联的渠道。只有关联渠道下的设备才能检测到此升级包。编辑时不可修改。
  • 备注:选填,填写升级包的说明信息。
自动提取信息

选择资源配置后,系统会自动从APK文件中提取以下信息,无需手动输入:

  • 包名:应用程序的唯一包名
  • 版本号:内部版本号(数字)
  • 版本名称:显示的版本字符串

核心概念:任务管理 | UOTA信息管理 | 关联配置管理概述 (UOTA信息管理)

关联配置管理概述 (UOTA信息管理)

为了精准控制升级包的下发范围(如灰度发布、特定机型升级),系统提供了两种配置模式。


核心概念:任务管理 | UOTA信息管理 | 1. 规则配置管理 (新版推荐)

1. 规则配置管理 (新版推荐)

通过集成 规则引擎,您可以实现高度自定义的升级策略。

  • 优势
    • 灰度发布:可以配置规则只对部分MAC地址或特定地区生效。
    • 版本控制:可以限制只有满足特定系统版本的设备才能检测到此升级包。
    • 灵活组合:支持渠道、地区、MAC、设备型号等条件的自由组合。

在列表页面下方找到 规则配置组件 (RuleBusinessTabs),点击 绑定规则新增规则 即可开始配置。


核心概念:任务管理 | UOTA信息管理 | 2. 渠道配置管理 (Legacy)

2. 渠道配置管理 (Legacy)

这是传统的配置方式,仅支持按渠道维度进行限制。在UOTA列表页面选中一条记录后,下方会显示渠道配置管理标签页。

列表

列表字段说明 (渠道配置)

  • ID:渠道关联记录的唯一标识。
  • 渠道:已关联的渠道名称。
  • 变更状态:显示配置是否已生效(已生效/未生效)。

操作说明 (渠道配置)

  • 新增:为当前UOTA升级包追加关联渠道。
    • 新增
    • 点击新增按钮后,从下拉列表中选择要关联的渠道。
    • 同一UOTA升级包不能重复关联同一渠道。
  • 删除:移除已关联的渠道。
    • 删除
    • 删除前系统会弹出确认提示框。
注意
  • 新增UOTA时选择的渠道配置与渠道配置管理功能相同,建议在新增时一次性配置好渠道。
  • 渠道配置删除后,该渠道下的设备将无法检测到此升级包。

核心概念:任务管理 | UOTA信息管理 | 3. 请求处理流程 (UOTA升级)

3. 请求处理流程 (UOTA升级)

3.1 简易流程图 (用户视角)

Mermaid Diagram Code:

sequenceDiagram
    participant Device as "终端设备 (机顶盒)"
    participant Server as "云端服务器"

    Device->>Server: "1. 检查更新 (携带当前版本/平台)"
    Server->>Server: "2. 查找更高版本"
    Server->>Server: "3. 匹配升级策略 (灰度/地区/强制升级)"
    Server-->>Device: "4. 返回新版本信息"
    Device->>Device: "5. 下载并升级"

3.2 详细处理流程 (技术视角)

Mermaid Diagram Code:

sequenceDiagram
    participant STB as "机顶盒/设备"
    participant Biz as "UOTA模块"
    participant Rule as "规则引擎 (RuleRunUtil)"
    participant Legacy as "传统逻辑 (渠道)"

    STB->>Biz: "1. 请求升级检查 (版本号, 平台, MAC)"
    
    Biz->>Biz: "2. 查询该平台下所有更高版本的 UOTA包"
    
    loop "3. 遍历候选升级包"
        Note right of Biz: "规则匹配"
        par "并行计算"
            Biz->>Rule: "3a. 规则引擎匹配 (matchBusinessIds)"
            Rule-->>Biz: "是否命中"
        and "传统逻辑"
            Biz->>Legacy: "3b. 匹配渠道白名单"
            Legacy-->>Biz: "是否命中"
        end
        
        alt "任意条件命中"
            Biz->>Biz: "4. 加入可用升级列表"
        end
    end
    
    Biz->>Biz: "5. 选择最新版本 (通常)"
    Biz-->>STB: "6. 返回升级包详情 (URL, MD5, 更新说明)"

3.3 逻辑详解

设备端请求参数

设备端调用版本检测接口时,需要传递以下参数:

参数名类型说明
packageNameString应用包名
macString设备MAC地址
versionCodeInteger当前应用版本号
cpuidString设备CPU ID(可选)

服务端处理流程

  1. 获取渠道信息

    • 优先从客户端Token中获取渠道ID
    • 若无Token,则通过MAC地址查询设备信息获取渠道ID
  2. 查询升级包

    • 根据包名和渠道ID,从缓存或数据库中查询对应的UOTA升级包
    • 优先从Redis缓存获取,缓存未命中时查询数据库并回填缓存
  3. 版本比对

    • 检查升级包是否处于启用状态(status = 1)
    • 比较升级包版本号与设备当前版本号
    • 仅当升级包版本号 > 设备当前版本号时,返回升级信息
  4. 返回升级信息

    • 文件下载地址(支持重定向URL)
    • 包名、版本号、版本名称
    • 是否自动启动安装
    • 文件大小

返回数据示例

{
"code": 0,
"msg": "APP Detail",
"data": {
"id": 28,
"name": "AW-UOTA-49-2023",
"package_name": "com.android.netervice",
"version_code": 49,
"version_name": "netservice-3.4.9-allwinner",
"file_url": "https://xxx.com/xxx.apk",
"file_size": 12345678,
"is_auto_start": 0,
"isRedirect": false
}
}

3.4 接口说明

接口方法说明
/task/checkAppVersionIsUpdatePOST设备端检测应用版本更新
缓存机制

系统使用Redis缓存UOTA升级包信息,提高查询效率:

  • 升级包信息按ID缓存
  • 包名+渠道ID建立索引,快速定位升级包
  • 支持缓存穿透保护
开发文档
AI 助手
Agent 列表
请选择一个 Agent 开始对话
AI 问答