订阅消息

任务状态

功能: 在任务计算的阶段变更时,由测控推送任务实时状态信息。

Operation:固定为bytes:task_status。

推送消息格式: - MsgType (String): [不可空] 消息类型,固定为 TaskStatus。 - SN (Uint32_t): [不可空] 心跳消息序列号。 - TaskId (String): [不可空] 任务ID。 - TaskStatus (Uint32_t): [不可空] 任务状态,参考任务状态定义。

示例:

{
    "MsgType":"TaskStatus",
    "SN":0,
            "TaskId":"11D919FA044846F3B4DF453A827AE901",
    "TaskStatus":3
}

芯片配置信息更新标志

功能: 在芯片参数变更后,测控一体机推送消息,告知司南可以通过 Router-Dealer 模式发送获取请求查询最新芯片配置信息。

Operation:固定为bytes:chip_update。

推送消息格式: - UpdateFlag (Bool): [不可空] 更新标识。 - LastUpdateTime (Uint64_t): [不可空] 最后更新时间。

示例:

{
    "UpdateFlag":true,
    "LastUpdateTime": 1705307288685
}

芯片资源状态

功能: 在测控一体机计算任务时,在多线程模式下,只要芯片资源发生了改变(锁住、释放),测控服务就会推送线程详细数据至司南(各个测控服务线程的 qubit 使用情况);QPilot 可以只关注每个线程(t0, t1, t2…)的 use_bits 字段。

Operation:固定为bytes:probe。

推送消息格式: - core_thread.t0 (Object): [不可空] 测控服务的线程名。 - core_thread.t0.use_bits (String数组): [不可空] 当前线程所有比特。

示例:

{
    "inst_status": 1,
    "linked": 1,
    "timestamp": 1695182448.7963016,
    "scheduler": {
        "status": "InitialState",
        "queue_len": 3
    },
    "core_status": {
        "empty_thread": 3,
        "pause_read": 0,
        "thread_num": 5
    },
    "core_thread": {
        "t0": {
            "status": "waiting",
            "thread_id": "t0",
            "task_id": "650a6e6f197b42e9aeaad6d6",
            "start_time": 1695182447.5371444,
            "user": "admin3",
            "env_bits": [
                "<c45-46||0>",
                "<q62||0>",
                "<c40-46||0>",
                "<q59||1>"],
            "use_bits": [
                "q56",
                "q18",
                "q68",
                "q69",
                "q6",
                "q2",
                "q67"]
        },
        "t1": {
            "status": "ready",
            "task_id": null,
            "start_time": null,
            "user": null,
            "env_bits": [],
            "use_bits": []
        },
        "t2": {
            "status": "ready",
            "task_id": null,
            "start_time": null,
            "user": null,
            "env_bits": [],
            "use_bits": []
        },
        "t3": {
            "status": "waiting",
            "thread_id": "t3",
            "task_id": "650a6e6e197b42e9aeaad6d0",
            "start_time": 1695182446.8370538,
            "user": "admin3",
            "env_bits": [
                "<q56||1>",
                "<c45-46||2>",
                "<q62||2>",
                "<c40-46||2>",
                "<c56-57||2>",
                "<c43-44||2>",
                "<c44-45||2>"
            ],
            "use_bits": [
                "q59",
                "q30",
                "q50",
                "q33",
                "q47",
                "q19",
                "q38"
            ]
        },
        "t4": {
            "status": "ready",
            "task_id": null,
            "start_time": null,
            "user": null,
            "env_bits": [],
            "use_bits": []
        }
    }
}

自动校准开始信息

功能: 在测控一体机进行自动校准时,会推送校准比特信息至司南,此时间段内校准中比特不可用。

Operation:固定为bytes:calibration_start。

推送消息格式: - qubits (String数组): [不可空] 校准后的单比特信息。 - couplers (String数组): [不可空] 耦合器。 - pairs (String数组): [不可空] 校准后的比特对信息。 - discriminators (String数组): [不可空] 鉴别器。 - point_label (Int): [不可空] 用于表示当前校准作用于哪个标签。

示例:

{
    "config_flag": false,
    "qubits":["q0", "q1", "q2", "q3"],
    "couplers":["c0-1", "c11-12", "c2-3"],
    "pairs": ["q0q1", "q2q3"],
    "discriminators":["q0_01.bin", "q1_01.bin", "q2_01.bin", "q3_01.bin"],
    "point_label": 2
}

自动校准结束信息

功能: 完成校准后会推送完成消息至司南,比特恢复可用。

Operation:固定为bytes:calibration_done。

推送消息格式: - qubits (String数组): [不可空] 校准后的单比特信息。 - couplers (String数组): [不可空] 耦合器。 - pairs (String数组): [不可空] 校准后的比特对信息。 - discriminators (String数组): [不可空] 鉴别器。

示例:

{
    "qubits":["q0", "q1", "q2", "q3"],
    "couplers":["c0-1", "c11-12", "c2-3"],
    "pairs": ["q0q1", "q2q3"],
    "discriminators":["q0", "q1", "q2", "q3"],
    "config_flag":true,
    "point_label": 2
}

芯片维护信息

功能: 接收芯片维护开始和结束信息,实现司南自动暂停。如果维护时间超过2个小时,则司南向云平台推送维护下线通知;如果维护时间不超过2小时,则只有司南暂停,云平台正常上线。

Operation:固定为bytes:chip_protect。

推送消息格式: - ProtectFlag (Bool): [不可空] 维护标志。true 为维护开始,false 维护结束。 - DurativeTime (Uint64_t): [不可空] 维护持续时间(单位:分钟)。 - LastTime (Uint64_t): [不可空] 时间戳。

示例:

{
  "ProtectFlag":true,
  "DurativeTime":10,
  "LastTime":1705307288685
}