Graph Composer全面介绍

devtools/2024/9/18 12:53:42/ 标签: composer, 人工智能, php

本文全面介绍了Graph Composer的功能、安装、使用方法以及高级特性,旨在帮助读者从基础到高级全面掌握Graph Composer的使用,并有效应用于智能视频分析和AI应用开发。

文章目录

  • Graph Composer概述
    • Graph Composer的基本功能和优势
    • Graph Composer与NVIDIA DeepStream的集成
    • Graph Composer的主要特点和应用场景
  • 安装与配置
    • 安装DeepStream和Graph Composer
    • 配置Graph Composer环境
    • 解决安装和配置中的常见问题
  • 基础操作指南
    • Graph Composer的用户界面介绍
    • 创建和编辑图表
    • 图表元素的添加与编辑
    • 数据导入与处理
  • 高级功能与定制
    • Graph Composer的高级功能
      • 1. 动态数据绑定
      • 2. 条件逻辑和分支
      • 3. 自定义脚本和插件
    • 自定义图表样式和集成外部数据源
      • 1. 图表样式自定义
      • 2. 集成外部数据源
    • 性能优化和调试技巧
      • 1. 性能优化
      • 2. 调试技巧
  • 实际应用案例
    • 使用Graph Composer开发智能视频分析应用程序
      • 步骤1:定义需求
      • 步骤2:创建图表
      • 步骤3:配置组件
      • 步骤4:连接组件
      • 步骤5:测试和调试
    • 部署AI应用程序到容器和云平台
      • 步骤1:容器化应用程序
      • 步骤2:上传到云平台
      • 步骤3:配置云服务
      • 步骤4:部署和测试
    • 案例研究:从零到部署的完整流程
      • 案例背景
      • 开发阶段
      • 部署阶段
  • 资源与社区支持
    • 获取更多信息的途径,如GTC talk和网络研讨会
    • 参与社区和获取支持的方法
    • 推荐的进一步学习资源

Graph Composer概述

Graph Composer的基本功能和优势

Graph Composer是一款专为NVIDIA DeepStream平台设计的工具,它通过提供一个直观的图形界面,简化了智能视频分析和AI应用的开发过程。其基本功能和优势包括:

  • 图形化界面:Graph Composer允许用户通过拖放组件的方式来设计和部署复杂的AI流程,无需深入编程知识。
  • 组件库:内置丰富的预构建组件,涵盖了数据输入、处理和输出的各个环节,用户可以根据需求选择和配置这些组件。
  • 实时预览和调试:在设计过程中,用户可以实时预览图表的运行效果,并进行必要的调试,这大大加快了开发和测试的周期。
  • 集成DeepStream:Graph Composer与NVIDIA DeepStream紧密集成,可以直接利用DeepStream的强大功能进行视频分析和处理。
  • 可扩展性:用户可以通过添加自定义组件或脚本来扩展Graph Composer的功能,满足特定的业务需求。

Graph Composer与NVIDIA DeepStream的集成

Graph Composer与NVIDIA DeepStream的集成是其核心优势之一。DeepStream是一个用于构建AI驱动的视频和图像分析应用程序的SDK,而Graph Composer则提供了一个可视化的方式来构建和部署这些应用程序。

  • 无缝集成:Graph Composer可以直接导入DeepStream的配置文件,并将其转换为图形化的流程图,使得DeepStream的配置和管理更加直观和高效。
  • 利用DeepStream功能:通过Graph Composer,开发者可以轻松地利用DeepStream提供的各种功能,如视频解码、图像处理、AI推理等,无需深入了解DeepStream的底层API。
  • 优化性能:Graph Composer允许用户在图形界面中调整DeepStream组件的参数,以优化性能和资源使用,这对于大规模部署尤为重要。

Graph Composer的主要特点和应用场景

Graph Composer的主要特点包括其用户友好的界面、强大的集成能力和高度的可定制性。这些特点使其适用于多种应用场景:

  • 智能视频分析:通过Graph Composer,开发者可以快速构建和部署视频分析应用,如交通监控、安防监控等。
  • AI模型部署:它支持将训练好的AI模型集成到处理流程中,实现从数据输入到模型推理再到结果输出的完整流程。
  • 教育和研究:Graph Composer的直观操作界面也使其成为教育和研究领域的理想工具,帮助学生和研究人员快速理解和实现复杂的AI流程。
  • 企业解决方案:对于企业而言,Graph Composer可以帮助IT团队快速开发和部署定制化的AI解决方案,提高业务效率和创新能力。

总之,Graph Composer是一个功能强大且易于使用的工具,它通过与NVIDIA DeepStream的深度集成,为开发者提供了一个高效、直观的方式来构建和部署智能视频分析和AI应用。

安装与配置

安装DeepStream和Graph Composer

在开始使用Graph Composer之前,首先需要安装DeepStream SDK和Graph Composer工具。以下是安装步骤:

  1. 安装DeepStream SDK

    • 访问NVIDIA官方网站下载DeepStream SDK的最新版本。
    • 根据官方指南进行安装,通常需要运行安装脚本并遵循屏幕上的指示。
    • 确保系统满足DeepStream SDK的硬件和软件要求。
  2. 安装Graph Composer

    • 在安装DeepStream SDK后,Graph Composer通常作为DeepStream的一部分自动安装。
    • 如果没有自动安装,可以从DeepStream的安装目录中找到Graph Composer的安装包,并按照指示进行安装。
  3. 验证安装

    • 安装完成后,通过命令行输入deepstream-app来验证DeepStream是否安装成功。
    • 启动Graph Composer,检查是否能正常打开界面,以验证Graph Composer的安装。

配置Graph Composer环境

配置Graph Composer环境是确保其正常运行的关键步骤。以下是配置环境的步骤:

  1. 设置环境变量

    • 在Linux系统中,需要设置环境变量以确保Graph Composer能够找到DeepStream SDK。
    • 使用命令export GST_PLUGIN_PATH=$GST_PLUGIN_PATH:/path/to/deepstream/lib/gst-plugins/来设置GST_PLUGIN_PATH。
    • 同样,设置export LD_LIBRARY_PATH=/path/to/deepstream/lib:$LD_LIBRARY_PATH来确保库文件的正确加载。
  2. 配置Graph Composer

    • 打开Graph Composer,进入设置或首选项菜单,配置DeepStream SDK的路径。
    • 确保Graph Composer能够访问必要的DeepStream组件和插件。
  3. 测试配置

    • 创建一个简单的图表,添加基本的处理元素,如源和解码器,然后运行图表以测试配置是否正确。

解决安装和配置中的常见问题

在安装和配置过程中可能会遇到一些常见问题,以下是一些解决方法:

  1. 安装失败

    • 确保系统满足DeepStream和Graph Composer的最低要求。
    • 检查网络连接,确保在安装过程中能够访问NVIDIA的服务器。
    • 如果使用的是Linux系统,尝试使用管理员权限运行安装脚本。
  2. 环境变量设置错误

    • 检查环境变量设置是否正确,特别是GST_PLUGIN_PATH和LD_LIBRARY_PATH。
    • 使用echo $VARIABLE_NAME来检查变量是否已正确设置。
  3. Graph Composer无法启动或运行

    • 检查DeepStream SDK是否已正确安装并且是最新版本。
    • 确保Graph Composer的配置指向正确的DeepStream SDK路径。
    • 查看NVIDIA社区论坛或官方文档,寻找可能的解决方案或更新。

通过以上步骤,可以成功安装并配置Graph Composer,为后续的图表创建和应用开发打下坚实的基础。

基础操作指南

Graph Composer的用户界面介绍

Graph Composer提供了一个直观且功能丰富的用户界面,使得用户可以轻松地创建、编辑和管理复杂的图表。用户界面主要分为以下几个部分:

  1. 工具栏:位于界面的顶部,提供了创建新图表、打开现有图表、保存和导出图表等基本操作的快捷按钮。
  2. 图表编辑区:这是用户界面中最大的区域,用于显示和编辑当前的图表。用户可以在这里添加、移动和连接各种图表元素。
  3. 元素库:位于界面的左侧,列出了所有可用的图表元素,如数据源、处理节点、输出节点等。用户可以从中选择并拖拽到图表编辑区。
  4. 属性面板:位于界面的右侧,显示当前选中的图表元素的详细属性。用户可以在这里调整元素的配置,如数据源的类型、处理节点的算法参数等。

创建和编辑图表

创建一个新的图表是一个简单的过程:

  1. 打开Graph Composer,点击工具栏上的“新建图表”按钮。
  2. 从元素库中选择所需的元素,拖拽到图表编辑区。
  3. 使用鼠标连接这些元素,形成数据流的逻辑路径。
  4. 在属性面板中配置每个元素的详细参数。

编辑图表时,用户可以:

  • 通过拖拽来移动图表元素。
  • 通过点击元素并按下删除键来移除不需要的元素。
  • 通过双击元素或点击属性面板中的编辑按钮来修改元素的配置。

图表元素的添加与编辑

Graph Composer支持多种类型的图表元素,包括但不限于:

  • 数据源:用于导入外部数据,如视频流、图像文件等。
  • 处理节点:执行特定的数据处理任务,如图像识别、视频分析等。
  • 输出节点:将处理后的数据输出到外部系统或存储。

添加元素时,只需从元素库中选择并拖拽到图表编辑区。编辑元素时,可以在属性面板中调整其配置,例如,对于数据源,可以设置文件路径或流地址;对于处理节点,可以配置算法参数和运行时选项。

数据导入与处理

Graph Composer支持多种数据导入方式:

  • 文件导入:用户可以选择本地文件或网络文件作为数据源。
  • 实时数据流:支持从摄像头、网络摄像头等实时数据源导入数据。

数据处理通常涉及以下步骤:

  1. 选择或配置数据源。
  2. 添加处理节点,并配置其算法参数。
  3. 连接数据源和处理节点,确保数据流正确传递。
  4. 添加输出节点,将处理结果导出到指定位置。

通过这些基础操作,用户可以有效地使用Graph Composer来构建和优化复杂的图表,以支持各种智能视频分析和AI应用开发的需求。

高级功能与定制

Graph Composer的高级功能

Graph Composer不仅是一个基础的图表编辑工具,它还提供了一系列高级功能,以满足更复杂的应用需求。这些高级功能包括但不限于:

1. 动态数据绑定

Graph Composer支持动态数据绑定,允许用户实时地将外部数据源与图表元素关联起来。这意味着用户可以根据实时数据的变化和需求,动态调整图表的显示内容和数据处理逻辑。

2. 条件逻辑和分支

在处理复杂的数据流程时,条件逻辑是不可或缺的。Graph Composer允许用户在图表中添加条件分支,根据不同的数据条件执行不同的操作或显示不同的数据路径,从而使数据处理更加灵活和精确。

3. 自定义脚本和插件

为了进一步扩展功能,Graph Composer提供了自定义脚本和插件的支持。用户可以通过编写脚本或开发插件来添加特定的功能,如自定义数据处理算法或集成特定的数据源,这极大地增强了Graph Composer的灵活性和可扩展性。

自定义图表样式和集成外部数据源

1. 图表样式自定义

Graph Composer允许用户自定义图表的样式,包括颜色、字体、布局等。这不仅使得图表更加美观,也提高了图表的可读性和专业性。用户可以通过简单的拖放和配置来调整图表样式,使其更符合特定的展示需求或品牌风格。

2. 集成外部数据源

集成外部数据源是Graph Composer的另一个强大功能。用户可以连接到各种数据源,如数据库、API、文件等,并将这些数据直接导入到图表中。这大大扩展了Graph Composer的应用范围,使其能够处理更加复杂和多样化的数据。

性能优化和调试技巧

1. 性能优化

为了确保图表的流畅运行和高效处理,Graph Composer提供了多种性能优化工具和技巧。例如,用户可以通过优化数据处理流程、减少不必要的计算和内存使用来提高性能。此外,合理配置资源和使用高效的算法也是提升性能的关键。

2. 调试技巧

调试是开发过程中非常重要的一部分。Graph Composer提供了详细的调试工具,帮助用户快速定位和解决问题。这些工具包括但不限于:

  • 实时数据监控:允许用户实时查看数据流和处理结果。
  • 错误日志:记录并显示图表运行时的错误信息。
  • 逐步执行:允许用户逐步执行图表中的每个节点,以便更细致地检查数据处理过程。

通过这些高级功能和定制选项,Graph Composer能够满足从基础到高级用户的各种需求,无论是简单的数据展示还是复杂的数据分析和处理。

实际应用案例

使用Graph Composer开发智能视频分析应用程序

Graph Composer是一个强大的工具,它通过图形用户界面简化了AI应用程序的开发过程,特别是在智能视频分析领域。以下是使用Graph Composer开发智能视频分析应用程序的步骤:

步骤1:定义需求

首先,明确应用程序的需求,例如视频流的处理、对象检测、行为识别等。

步骤2:创建图表

打开Graph Composer,创建一个新的图表。在图表中,可以添加各种组件,如视频源、解码器、AI推理引擎、后处理工具和输出组件。

步骤3:配置组件

为每个组件配置适当的参数。例如,为AI推理引擎选择合适的模型,设置解码器的视频源参数等。

步骤4:连接组件

使用Graph Composer的拖放功能,将组件连接起来,形成数据流。确保数据从视频源正确流向AI推理引擎,并最终输出到指定的目标。

步骤5:测试和调试

运行图表,观察输出结果,并根据需要调整组件的配置或连接方式,直到满足需求。

部署AI应用程序到容器和云平台

一旦智能视频分析应用程序开发完成,下一步是将其部署到容器和云平台,以便于管理和扩展。

步骤1:容器化应用程序

使用Graph Composer的容器构建功能,将应用程序及其依赖项打包成一个Docker容器。这可以通过选择适当的配置文件和平台配置文件来完成。

步骤2:上传到云平台

将构建好的Docker容器上传到云平台,如AWS、Azure或Google Cloud。这通常涉及创建一个新的容器服务实例,并上传容器镜像。

步骤3:配置云服务

在云平台上配置服务,包括设置网络、存储和计算资源。确保服务能够处理预期的视频流负载。

步骤4:部署和测试

启动云服务,部署应用程序,并进行测试以确保一切按预期运行。

案例研究:从零到部署的完整流程

以下是一个案例研究,展示了如何从零开始使用Graph Composer开发一个智能视频分析应用程序,并将其部署到云平台。

案例背景

假设我们需要开发一个应用程序,用于监控停车场,自动检测非法停车行为。

开发阶段

  1. 需求分析:确定需要检测的行为和视频源。
  2. 图表设计:在Graph Composer中设计图表,包括视频源、AI推理引擎(用于车辆检测)、规则引擎(用于判断非法停车)和报警系统。
  3. 组件配置:为每个组件配置参数,如选择合适的车辆检测模型。
  4. 连接和测试:连接组件,进行初步测试和调试。

部署阶段

  1. 容器化:使用Graph Composer的容器构建功能,将应用程序打包成Docker容器。
  2. 云平台配置:在云平台上创建服务实例,上传容器镜像,并配置必要的网络和存储资源。
  3. 部署和监控:启动服务,部署应用程序,并设置监控和报警系统以实时响应非法停车事件。

通过这个案例研究,我们可以看到Graph Composer如何帮助简化从开发到部署的整个流程,使得智能视频分析应用程序的开发和部署变得更加高效和可靠。

资源与社区支持

获取更多信息的途径,如GTC talk和网络研讨会

为了深入了解Graph Composer及其在智能视频分析和AI应用开发中的应用,参与相关的技术会议和网络研讨会是一个极佳的选择。NVIDIA的GTC(GPU Technology Conference)是一个全球性的技术会议,专注于AI、深度学习、图形处理等领域。在GTC上,NVIDIA经常发布关于Graph Composer的最新动态、案例研究和最佳实践。

  • GTC Talk: 在GTC上,NVIDIA会举办多个关于Graph Composer的演讲,这些演讲通常由NVIDIA的工程师或行业专家进行,内容涵盖Graph Composer的最新功能、实际应用案例和未来发展方向。
  • 网络研讨会: NVIDIA和其合作伙伴会定期举办网络研讨会,这些研讨会通常更侧重于实际操作和案例分享,参与者可以直接与讲者互动,提问和获取实时反馈。

参与社区和获取支持的方法

Graph Composer的社区支持是学习和解决问题的重要资源。以下是参与社区和获取支持的几种方式:

  • NVIDIA Developer Forums: 这是NVIDIA官方的开发者论坛,用户可以在这里提问、分享经验和获取帮助。论坛上有专门的Graph Composer板块,用户可以在这里找到关于Graph Composer的最新讨论和解决方案。
  • GitHub: Graph Composer的源代码托管在GitHub上,用户可以在这里查看代码、提交问题和贡献代码。GitHub也是获取最新更新和修复的重要渠道。
  • Stack Overflow: 在Stack Overflow上,有许多关于Graph Composer的问题和答案。用户可以通过搜索相关问题或直接提问来获取帮助。

推荐的进一步学习资源

为了更深入地学习和掌握Graph Composer,以下是一些推荐的学习资源:

  • 官方文档: NVIDIA提供了详细的Graph Composer官方文档,包括安装指南、用户手册和API参考。这些文档是学习和使用Graph Composer的基础。
  • 在线课程: 一些在线教育平台如Coursera、Udemy等提供了关于AI和机器学习的课程,其中可能包含使用Graph Composer的案例和实践。
  • 书籍: 关于AI和机器学习的书籍中,有些会涉及Graph Composer的使用。例如,《Deep Learning for Computer Vision With Python》中就包含了使用Graph Composer的案例。
  • 实践项目: 实际操作是学习Graph Composer的最佳方式。用户可以通过参与开源项目或自己创建项目来实践Graph Composer的使用。

通过这些资源和社区的支持,用户可以更有效地学习和应用Graph Composer,从而在智能视频分析和AI应用开发领域取得更大的进步。


http://www.ppmy.cn/devtools/44688.html

相关文章

【ai】livekit服务本地开发模式2:模拟1个发布者

是一个会议用软件:LiveKit is an open source project that provides scalable, multi-user conferencing based on WebRTC. It’s designed to provide everything you need to build real-time video audio data capabilities in your applications.LiveKit’s server is wr…

n后问题 回溯笔记

问题描述 在nn格的棋盘上放置彼此不受攻击的n个皇后。 按照国际象棋的规则,皇后可以攻击与之处在同 一行或同一列或同一斜线上的棋子。n后问题等价于在nn格的棋盘上放置n个皇后,任何2个皇后不放在同一行或同一列或同一斜线上。 代码 import java.uti…

docker搭建私有仓库并推送本地镜像

1、私仓搭建 docker pull registry#拉取镜像 docker images#查看镜像 mkdir -p /czx/myregistry 创建挂载目录 运行私有库registry (相当于本地有个是有docker hub) docker run -d -p 5000:5000 -v /czx/myregistry/:/tmp/registry --restartalways --privilegedtrue regist…

React暴露组件的方法给全局作用域调用

在React中,如果你想要暴露组件的方法给全局作用域调用,你可以使用一个全局变量来引用你的组件实例,或者使用Context API来创建一个全局状态,通过它来传递方法引用。 以下是使用Context API的一个简单例子: 创建一个C…

【Redis精通之路】数据类型(2)

目录 1 Strings 1.1 字符串作为计数器 1.2 限制 1.3 按位运算 1.4 性能 1.5 其他方案 2 JSON 2.1 主要功能 2.2 使用方法 2.3 格式化CLI输出 2.4 启动Redis 2.4.1 Docker 2.4.2 二进制文件 2.4.3 源代码构建 2.4.4 将模块加载到Redis 2.5 限制 2.6 索引 2.7 …

网络原理 一

一、协议 网络通信中,协议是非常重要的概念. 协议进行了分层,此处就是按照这几层顺序来介绍每一层中的核心协议. 应用层,就对应着应用程序,是程序员打交道最多的一层,调用系统提供的 网络api 写出的代码都是基于应用层的. 应用层这里当然也有很多现成的协议,但更多的还是,程…

【ONE·Git || 基本用法入门】

总言 主要内容:主要介绍Git中常用的指令。   PS:多人协作与企业开发模型使用,此部分内容不作博文总结。             文章目录 总言1、初识Git1.1、版本控制器1.2、git安装 2、基本操作2.1、Git本地仓库2.1.1、创建Git本地仓库&…

橙派探险记:开箱香橙派 AIpro 与疲劳驾驶检测的奇幻之旅

目录 引子:神秘包裹的到来 第一章:香橙派AIpro初体验 资源与性能介绍 系统烧录 Linux 镜像(TF 卡) 调试模式 登录模式 第二章:大胆的项目构想 系统架构设计 香橙派 AIpro 在项目中的重要作用 第三章&#xf…

Hive运行错误

Hive 文章目录 Hive错误日志错误SessionHiveMetaStoreClientql.Driver: FAILED: Execution Error, return code 2 from org.apache.hadoop.hive.ql.exec.mr.MapRedTaskerror: Could not find or load main class org.apache.hadoop.mapreduce.v2.app.MRAppMaster Please check …

区块链技术引领:Web3时代的新网络革命

随着区块链技术的快速发展和不断成熟,人们已经开始意识到它所带来的潜在影响,尤其是在构建一个更加去中心化、安全和透明的互联网时。这个新的互联网时代被称为Web3,它将不再受制于传统的中心化平台,而是更多地依赖于去中心化的网…

【傻呱呱】python安装phook3(Windows端)

前期准备 swig程序Visual Studio C 构建工具 配置swig程序 将下载好的“swig-4.2.1”压缩包解压到C盘从C盘打开“swig-4.2.1”文件夹并复制文件夹路径 在开始菜单里搜索“环境变量”,点击“编辑系统环境变量” 点击“环境变量” 找到“path”并双击 点击“新建” …

Python多线程案例分析

接下来,我们将在之前的基础上进一步扩展多线程爬虫案例,增加以下功能: 1. 动态URL发现与添加:爬虫在解析页面时,能够发现并添加新的URL到队列中。 2. 设置请求头:模拟浏览器行为,设置请求头中的…

Android Compose 八:常用组件 Switch

Switch 切换按钮 val isChecked remember { mutableStateOf(true) }Switch(checked isChecked.value,onCheckedChange {Log.i("text_compose","onCheckedChange>>"it)isChecked.value it})效果 默认颜色 应该对应 主题色 1.1 thumbContent 按钮…

【包装类简单认识泛型】

目录 1,包装类 1.1 基本数据类型和对应的包装类 1.2 装箱和拆箱 2,什么是泛型 3,引出泛型 3.1 语法 4,泛型如何编译的 4.1 擦除机制 4.2 为什么不能实例化泛型类型数组 5,泛型的上界 5.1 语法 5.2 复杂示例…

SpringBoot2.0.x旧版集成Swagger UI报错Unable to infer base url...解决办法

一、问题描述 1.1项目背景 SpringBoot2.0.9的旧版项目维护开发,集成Swagger-ui2.9.2无法访问的问题。不用想啊,这种老项目是各种过滤器拦截器的配置,访问不到,肯定是它们在作妖。懂得都懂啊,这里交给大家一个排错的办…

Java列表导出时将附件信息压缩成一个zip

一:使用场景 在最近的工作当中遇到了一个需求,在列表导出时,不仅需要将列表信息导出为excel文件,同时也需要将列表每一条数据所对应的附件信息放在同一个文件夹当中,并且压缩成一个zip响应给浏览器。首先后端需要写两…

原生标签WebComponent

文章目录 介绍一、web Component二、怎么使用三、在Vue中使用使用场景 前端必备工具推荐网站(免费图床、API和ChatAI等实用工具): http://luckycola.com.cn/ 介绍 平常浏览各个网站过程中,经常遇到的一种现象:页面广告。 这种广告按照来源可分为两种&…

php 使用phpoffice导出导出excel

荆轲刺秦王 在PHP中,可以使用 PhpSpreadsheet 库来创建和导出Excel文件。PhpSpreadsheet 是一个纯PHP 编写的组件库,它使用现代 PHP 写法,代码质量和性能比 PHPExcel 高不少,完全可以替代PHPExcel(PHPExcel已不再维护…

Flutter 中的 Viewport 小部件:全面指南

Flutter 中的 Viewport 小部件:全面指南 Flutter 是一个现代的移动和 web 应用开发框架,它允许开发者以一种非常直观和高效的方式构建用户界面。在 Flutter 中,Viewport 是一个非常重要的小部件,它提供了一个滚动视口&#xff0c…

SpringBootWeb 篇-深入了解会话技术与会话跟踪三种技术(Cookie 会话跟踪、Session 会话跟踪与 JWT 令牌会话跟踪)

🔥博客主页: 【小扳_-CSDN博客】 ❤感谢大家点赞👍收藏⭐评论✍ 文章目录 1.0 会话技术 2.0 会话跟踪 2.1 会话跟踪 - Cookie 2.1.1 客户端获取 Cookie 的流程 2.1.2 Cookie 会话跟踪的特点 2.2 会话跟踪 - Session 2.2.1 客户端获取 SESSION…