异地办公必不可缺的远程控制软件,原理到底是什么?

目录

  • 引言
    • 远程桌面连接软件的作用与重要性
  • 基本概念与架构
    • 客户端-服务器模型
    • 网络通信协议
  • 核心技术组件
    • 图形界面捕获与传输
    • 输入转发
    • 会话管理
  • 性能优化策略
    • 带宽优化
    • 延迟优化

引言

远程桌面连接软件的作用与重要性

在当今这个高度数字化和网络化的时代,远程桌面连接软件已经成为了连接世界、促进信息流动的重要工具。它不仅极大地提升了工作效率,还拓宽了工作与教育的边界。本节将深入探讨远程桌面连接软件的作用与其重要性。

  1. 促进远程工作的实现
    随着互联网技术的发展,远程工作已经成为许多企业和个人的常态。远程桌面连接软件使得员工可以不受地理位置的限制,随时随地访问办公室的计算机和网络资源,进行文件处理、数据分析等工作任务。这不仅提高了工作灵活性,也减少了通勤时间和成本,为企业和员工创造了更大的价值。

  2. 简化IT管理
    对于IT管理者来说,远程桌面连接软件是一个强大的工具。它允许管理员远程监控和维护企业内部的计算机系统,无论是进行软件更新、故障排查还是系统配置,都可以迅速高效地完成。这样不仅大幅度提高了IT管理的效率,也降低了企业的运营成本。

  3. 支持在线教育和培训
    在线教育和远程培训项目在全球范围内迅速增长。远程桌面连接软件使得教师能够分享他们的屏幕给学生,进行实时演示和讲解。学生也可以通过这种软件获得对实验室计算机的远程访问,进行实践操作。这种方式不仅扩大了教育的覆盖面,也提高了教学的互动性和实践性。

  4. 加强数据安全
    在传统的工作环境中,数据的移动和共享往往伴随着安全风险。而通过远程桌面连接软件,所有的数据处理和存储都可以在服务器端完成,用户通过加密的连接访问数据,这极大地减少了数据泄露的风险。同时,企业可以更加集中地管理和保护重要信息资源。

  5. 提高灾难恢复能力
    在遇到自然灾害或其他意外情况导致物理办公场所不可用时,远程桌面连接软件可以快速地恢复企业的运营。员工可以从任何地点访问公司的资源和数据,保证业务连续性和服务的稳定性。

基本概念与架构

客户端-服务器模型

客户端-服务器模型是现代计算机网络通信的基石,它定义了一种高效、灵活的方式来分配和管理网络资源及服务。这一模型扮演着核心角色,使得用户能够从任何地点通过客户端设备远程访问和控制位于不同地点的服务器上的桌面环境。

在客户端-服务器模型中,"客户端"指的是发起请求以获取服务的设备或软件,而"服务器"则是接收请求并提供相应服务的设备或软件。在远程桌面连接的场景里,服务器是安装有远程桌面服务软件的计算机,负责处理来自客户端的连接请求,捕获屏幕输出并发送给客户端;客户端软件则安装在用户的设备上,负责向服务器发送控制命令并展示服务器桌面环境。

在这里插入图片描述
工作流程

  1. 初始化连接:用户通过客户端软件发起连接请求,请求连接到服务器上的远程桌面。

  2. 认证与授权:服务器接收到请求后,进行用户身份验证和授权检查,确保只有合法用户可以建立连接。

  3. 会话建立:一旦认证成功,服务器与客户端之间建立起一个稳定的会话。在此会话中,服务器开始捕获桌面图像,并将其以网络数据包的形式发送给客户端。

  4. 数据交换:客户端接收到来自服务器的数据包,解码并在用户的设备上重现服务器的桌面环境。同时,用户在客户端上的任何操作(如鼠标点击、键盘输入)都被捕获并发送回服务器,服务器接收到这些操作后,在服务器端执行相应的操作。

  5. 会话维护:在整个会话期间,客户端与服务器之间持续交换数据,保持桌面环境的实时更新和用户操作的响应。服务器只传输桌面环境中变化的部分,以优化网络带宽的使用。

  6. 会话结束:用户完成远程操作后,可以主动断开连接,或者由于网络故障等原因导致会话结束。服务器随后关闭会话,释放资源。

网络通信协议

网络通信协议是远程桌面连接软件的关键组成部分,它定义了数据如何在网络中从一个点传输到另一个点。这些协议确保数据能够安全、高效地在客户端和服务器之间进行传输,从而使远程控制成为可能。本节将探讨几种主要的网络通信协议及其在远程桌面连接中的应用。

  1. 远程桌面协议(RDP)
    远程桌面协议(RDP)是由微软开发的一种协议,专门用于远程桌面连接。RDP提供了高级加密标准(AES)加密,确保数据传输的安全性。它支持32位颜色和多声道音频传输,为用户提供了丰富的远程桌面体验。RDP还具有带宽优化功能,通过智能压缩技术减少数据量,提高在低速网络环境下的性能。

  2. 虚拟网络计算(VNC)
    虚拟网络计算(VNC)是一种图形桌面共享系统,使用远程帧缓冲协议(RFB)进行通信。VNC是平台无关的,可以在不同的操作系统之间进行远程控制。与RDP相比,VNC更加注重简单性和通用性,但可能在性能和安全性方面不如RDP。VNC允许直接控制远程计算机的桌面环境,使其广泛应用于技术支持和教育培训中。

  3. 安全壳(SSH)
    安全壳(SSH)是一种网络协议,用于加密网络服务的安全远程访问。虽然SSH主要用于命令行访问,但它也支持通过端口转发或X11转发技术进行图形界面的远程访问。SSH强调安全性,提供了多种加密技术来保护数据传输过程中的隐私和完整性。SSH适合需要高安全性的远程管理场景。

  4. 其他协议
    除了上述几种常见的协议外,还有一些其他协议也被用于特定的远程桌面连接场景,例如ICA(独立计算架构)是Citrix系统使用的协议,而PCoIP(PC-over-IP)则是VMware和亚马逊等提供的一种用于远程视觉图形加速的协议。

核心技术组件

图形界面捕获与传输

图形界面捕获是远程桌面连接软件中的一个关键环节,它涉及到将服务器端的图形用户界面(GUI)实时捕获并转换为可以通过网络传输的数据。此过程需要高效且准确,以确保远程用户能够获得良好的操作体验。以下是对图形界面捕获机制的详细介绍。

  1. 捕获技术概述:图形界面捕获技术主要依赖于对服务器上显示输出的实时监控和捕获。这一过程通常涉及以下几个步骤:
  • 监测屏幕变化:软件需要不断监测服务器端屏幕上的变化,包括窗口移动、内容更新等。
  • 捕获图像:一旦检测到屏幕有变化,系统就会捕获当前屏幕或变化区域的图像。
  • 编码处理:捕获的图像数据会被编码成一种更适合网络传输的格式,如JPEG或H.264等。

在许多远程桌面协议中,图形界面的捕获是通过监控帧缓冲区(Frame Buffer)来实现的。帧缓冲区是计算机内存中的一块区域,用于存储即将显示在屏幕上的图像数据。通过实时监控帧缓冲区的变化,捕获软件可以立即知道屏幕上何时发生了变化,并据此捕获相应的图像数据。

为了优化网络带宽的使用,远程桌面连接软件通常采用差异化捕获(Differential Capture)技术。这意味着只有当屏幕内容发生变化时,变化的部分才会被捕获和传输。这种方法大大减少了需要传输的数据量,提高了远程桌面连接的效率和响应速度。

捕获的图像数据需要经过高效的编码处理才能通过网络传输。这通常涉及到压缩技术,以减少数据的大小。选择合适的编码格式和压缩算法对于保证图像质量和传输效率至关重要。常见的编码标准包括JPEG(适用于静态图像)和H.264(适用于视频流),它们在保持图像质量的同时,能有效减少数据的传输量。

考虑到网络条件的不稳定性,先进的远程桌面软件还会根据当前的网络带宽和延迟情况,动态调整图像的捕获和传输策略。例如,在带宽较低的情况下,软件可能会降低图像的分辨率或增加压缩率,以确保远程操作的流畅性。

  1. 传输格式与协议:传输格式指的是数据在网络上传输时的封装和编码方式。它决定了数据的压缩率、清晰度和恢复能力,对网络带宽的使用和传输效率有直接影响。

常见的传输格式包括:

  • JPEG:主要用于静态图像的压缩。它通过去除图像中的一些细节来减少数据量,适用于文档阅读等对实时性要求不高的应用场景。
  • H.264:一种广泛使用的视频压缩标准,能够提供高质量的视频传输。它适用于动态内容的传输,如视频播放或动态桌面操作。
  • RLE(Run-Length Encoding):一种简单的数据压缩格式,通过减少重复数据的传输来降低数据量。适用于颜色变化较少的图像。

传输协议定义了数据包的结构、传输方式和错误处理机制,是确保数据安全、可靠传输的基础。在远程桌面连接中常用的传输协议包括:

  • TCP(Transmission Control Protocol):一种面向连接的、可靠的传输协议,通过三次握手建立连接并确保数据按顺序、完整地到达。TCP适用于对数据完整性要求高的场景,如文件传输和命令执行。
  • UDP(User Datagram Protocol):一种无连接的传输协议,不保证数据的顺序或完整性,但传输速度快。UDP适用于对实时性要求高的应用,如视频会议和在线游戏。
  • RDP(Remote Desktop Protocol):微软开发的专用远程桌面协议,提供了丰富的功能,包括多通道支持、带宽优化和加密传输。

输入转发

输入转发是远程桌面连接中的一个关键功能,它允许用户的键盘和鼠标操作在远程系统上被复制和执行,从而实现远程控制。这一过程涉及到捕获本地输入事件、通过网络传输这些事件,以及在远程系统上准确地重放这些事件。以下是对输入转发机制的详细介绍。.

  1. 输入事件捕获
    输入转发的第一步是在客户端(即用户的本地设备)捕获输入事件。这些事件包括键盘敲击、鼠标移动、鼠标点击等。为了实现这一点,远程桌面客户端软件通常会注册为输入事件的监听器,以便在用户进行操作时立即捕获这些事件。

  2. 事件编码与传输
    捕获到输入事件后,客户端软件需要将这些事件编码为一种适合网络传输的格式。这一步骤可能涉及到序列化输入事件的数据结构,以及可能的压缩以减少传输所需的带宽。之后,这些编码后的事件通过建立的网络连接发送到远程服务器。

    在选择传输协议方面,TCP是最常用的选择之一,因为它提供了可靠的数据传输服务。然而,在对实时性要求极高的场景下,UDP有时也会被考虑使用,尽管它不保证数据包的顺序或完整性。

  3. 远程事件重放
    一旦远程服务器接收到编码的输入事件,下一步就是将这些事件转换回其原始形式,并在远程系统上执行。这个过程称为事件重放。为了实现这一点,远程桌面服务需要具有在操作系统级别模拟键盘和鼠标事件的能力。

    在Windows系统中,这可以通过调用Windows API函数来完成;在Unix-like系统中,则可能通过X Window System的扩展或其他低级机制来实现。

  4. 同步与反馈
    为了提供流畅的远程控制体验,输入转发机制还需要处理输入同步和反馈问题。这意味着需要确保远程系统上的输入响应(如光标移动或按钮点击效果)能够及时反馈给用户,以便用户知道其操作已被远程系统接受和执行。

    此外,还需要考虑到网络延迟和丢包等问题,它们可能导致输入事件的顺序错乱或丢失。在设计输入转发机制时,采用适当的错误恢复和重传策略是非常重要的。

会话管理

会话管理是远程桌面服务中的一个核心功能,它负责维护客户端与服务器之间的通信会话,确保用户可以顺利地连接、使用和断开远程桌面。会话管理包括会话创建、维护、恢复和终止等关键环节。以下是对会话管理机制的详细介绍。

  1. 会话创建
    会话创建是用户开始远程桌面连接时的第一步。在这个阶段,客户端通常需要提供必要的认证信息(如用户名和密码或其他认证令牌),以验证用户的身份。服务器在验证用户身份后,将分配会话资源,并为该会话建立一个唯一的会话标识符(Session ID)。

    此过程可能还包括协商加密参数,确保会话数据的安全传输。会话创建成功后,用户即可开始远程桌面操作。

  2. 会话维护
    一旦会话建立,会话管理机制就需要负责维护这个会话的稳定性和持续性。这包括处理网络波动、保持心跳消息以检测会话状态、以及在必要时重连会话。

    会话维护还涉及到资源管理,如合理分配和回收服务器资源,以确保所有活跃会话都能获得充足的计算和存储资源。

  3. 会话恢复
    在远程桌面会话中,网络断开是常见的问题。有效的会话管理需要提供会话恢复机制,以便在连接意外断开后,用户可以重新连接到原有会话,而不是启动一个新会话。这通常通过保存会话状态和上下文信息来实现,当用户重新连接时,系统能够根据保存的信息恢复会话。

    会话恢复功能对于提高用户体验非常关键,特别是在移动环境下,网络连接可能更加不稳定。

  4. 会话终止
    当用户完成远程桌面操作,主动断开连接,或者会话超时未活跃时,会话管理机制需要能够正确地终止会话。会话终止涉及到关闭会话通道、清理会话资源和保存必要的会话数据。

    确保会话能够优雅地终止是避免资源泄露和保证系统稳定运行的关键。

性能优化策略

带宽优化

在远程桌面服务中,带宽优化是提高远程会话性能、减少延迟和提升用户体验的关键因素。由于网络条件的不确定性,特别是在宽带有限或网络拥堵的环境下,有效地管理和优化带宽使用变得尤为重要。以下是实现带宽优化的几种策略。

  1. 数据压缩
    数据压缩是减少远程桌面传输数据量的有效方法。通过压缩图像、文本和其他媒体文件,可以显著降低所需的网络带宽。不同的压缩算法适用于不同类型的数据,因此选择适当的压缩算法对于优化带宽至关重要。

    静态内容压缩:对于静态资源(如文档、图片),可以在传输前进行一次性压缩。
    动态内容压缩:对于动态变化的内容(如视频流),需要采用实时压缩技术,这可能需要在压缩效率和处理延迟之间做出权衡。

  2. 缓存机制
    缓存是另一种减少重复数据传输的方法。通过在客户端或服务器端缓存常用数据,可以减少对相同资源的多次请求,从而节省带宽。

    客户端缓存:将频繁访问的数据存储在客户端,减少对服务器的请求。
    服务器端缓存:对于多个客户端共享的资源,服务器端缓存可以减少数据的重复发送。

  3. 优化传输协议
    选择合适的传输协议也对带宽优化至关重要。不同的协议在效率、可靠性和实时性方面有所不同。

    TCP优化:虽然TCP提供了可靠的数据传输,但其拥塞控制和重传机制可能会导致额外的带宽消耗。通过调整TCP窗口大小和使用TCP加速技术,可以改善性能。

    UDP使用:对于对实时性要求高的应用,如语音和视频通话,使用UDP可能更合适,因为它避免了TCP的重传延迟,虽然需要应用层来保证数据的完整性和顺序。

  4. 分辨率和帧率调整
    对于远程桌面中的图像和视频传输,调整分辨率和帧率是一种直接有效的带宽优化手段。降低分辨率可以减少每帧的数据量,降低帧率可以减少每秒传输的帧数。

    自适应调整:根据当前网络条件自动调整分辨率和帧率,以实现最佳的性能和视觉质量平衡。

  5. 流量整形和优先级控制
    流量整形(Traffic Shaping)和优先级控制是网络层面的带宽管理技术。通过限制特定类型流量的速率,或为关键应用分配更高的优先级,可以确保重要数据的传输质量。

    QoS(Quality of Service):通过网络设备对不同类型的流量进行分类和优先级排序,确保关键应用(如实时语音和视频会议)获得足够的带宽。

延迟优化

在远程桌面服务中,延迟优化是关键因素之一,它直接影响到用户的操作体验。延迟过高会导致输入延迟、画面卡顿等问题,从而降低用户的满意度。因此,采取有效措施减少延迟是提升远程桌面服务质量的重要环节。以下是实现延迟优化的几种策略。

  1. 网络优化
    网络是影响远程桌面服务延迟的主要因素之一。通过网络优化可以显著减少数据传输时间。

    选择更快的网络连接:使用更高速的网络连接可以减少数据传输的时间。
    优化路由:确保数据包通过最短路径传输,减少路由跳数可以降低延迟。
    使用CDN:对于分布式用户,使用内容分发网络(CDN)可以将数据缓存于离用户更近的地点,从而减少数据传输距离和时间。

  2. 协议优化
    选择和优化传输协议也是减少延迟的有效手段。

    TCP和UDP的选择:根据应用场景选择合适的协议。例如,对于实时性要求较高的应用,UDP可能比TCP更合适。
    协议优化:对TCP进行优化,如调整TCP窗口大小,可以提高数据传输效率,减少延迟。

  3. 服务器和客户端优化
    服务器和客户端的处理能力直接影响到远程桌面的响应时间。

    硬件升级:提升服务器和客户端的处理能力,如CPU和内存,可以加快数据处理速度,降低延迟。
    软件优化:优化服务器和客户端软件的处理流程,减少不必要的计算和数据处理,可以减少处理延迟。

  4. 帧率和分辨率调整
    适当调整远程桌面的帧率和分辨率可以减少数据量,进而减少传输和处理所需的时间。

    动态调整:根据当前网络条件和服务器负载动态调整帧率和分辨率,以保持最佳的延迟和视觉质量平衡。

  5. 数据压缩和预处理
    通过数据压缩和预处理可以减少需要传输的数据量,从而减少延迟。

    数据压缩:对传输的数据进行压缩,减少数据量。
    预处理:在服务器端对数据进行预处理,如渲染图像,然后将处理结果发送给客户端,可以减少客户端的处理时间。

  6. 使用专用的远程桌面协议
    采用为远程桌面服务专门设计的协议,如RDP(Remote Desktop Protocol)或VNC(Virtual Network Computing),这些协议通常包含了针对延迟优化的特定机制。

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

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

相关文章

【动态规划】【状态压缩】【2次选择】【广度搜索】1494. 并行课程 II

作者推荐 视频算法专题 本文涉及知识点 动态规划汇总 状态压缩 广度优先搜索 LeetCode1494. 并行课程 II 给你一个整数 n 表示某所大学里课程的数目,编号为 1 到 n ,数组 relations 中, relations[i] [xi, yi] 表示一个先修课的关系&am…

关于服务器解析A记录和CNAME记录的分析

内容提要: 大致讲下理解,dns域名解析这一块 0 . 问题来源 最近搞了一个七牛云上传,然后需要配置融合cdn加速,也就是可以加速域名,中间有一部需要CNAME 域名,也就是将七牛云提供的域名CNAME一下,查阅资料其实就是起一个别名,好访问而已. 方便我们访问云存储,达到加速的效果. …

论文阅读-一个用于云计算中自我优化的通用工作负载预测框架

论文标题:A Self-Optimized Generic Workload Prediction Framework for Cloud Computing 概述 准确地预测未来的工作负载,如作业到达率和用户请求率,对于云计算中的资源管理和弹性非常关键。然而,设计一个通用的工作负载预测器…

2024年碰到这三条红线的电车,坚决不买!

文 | AUTO芯球 作者 | 雷歌 我最近有天夜里打车打到一辆威马汽车,车里乌漆麻黑一片,我好奇地问,“师傅你中控屏咋不打开,太黑了。”师傅带有怨气地吐槽: “X,威马破产了,车机也停了”。 车子…

python算法与数据结构---动态规划

动态规划 记不住过去的人,注定要重蹈覆辙。 定义 对于一个模型为n的问题,将其分解为k个规模较小的子问题(阶段),按顺序求解子问题,前一子问题的解,为后一子问题提供有用的信息。在求解任一子…

全网第一篇把Nacos配置中心客户端讲明白的

入口 我们依旧拿ConfigExample作为入口 public class ConfigExample {public static void main(String[] args) throws NacosException, InterruptedException {String serverAddr "localhost";String dataId "test";String group "DEFAULT_GROU…

拍摄的视频怎么做二维码?视频在线转二维码的技巧

现在学校经常会将学生日常的拍摄的短片做成二维码之后展示给其他人,其他人可以通过扫描二维码来查看个人表现的视频,有些活动视频也会用视频二维码的方式来传播。那么视频二维码制作的方法及步骤是什么样的呢?下面就让小编通过本文来给大家介…

Eclipse 安装使用ABAPGit

Eclipse->Help->Install New software 添加地址 https://eclipse.abapgit.org/updatesite/ 安装完成打开 选择abapGit repositories,先添加仓库 点下图添加自己仓库 如图添加仓库地址 添加完仓库后,点击我的仓库 右键选中行,可以进行push和pu…

自动驾驶IPO第一股及商业化行业标杆 Mobileye

一、Mobileye 简介 Mobileye 是全球领先的自动驾驶技术公司,成立于 1999 年,总部位于以色列耶路撒冷。公司专注于开发视觉感知技术和辅助驾驶系统 (ADAS),并在自动驾驶领域处于领先地位。Mobileye 是高级驾驶辅助系统(ADAS&#…

Vscode编译运行多个C++文件

1.摘要 在使用Vscode编译单个文件网上很多教程,但是对多个文件编译会发现经常出问题,通过不断的借阅网友的教程改进终于完成C运行多个文件教程如下: 2.编译运行过程 2.1 初始配置过程 (1)Vscode以及MinGW配置教程很…

管理类联考-复试-全流程演练-导航页

文章目录 整体第一步:学校导师两手抓——知己知彼是关键学校校训历史 导师你对导师的研究方向有什么认知。 第二步:面试问题提前背——押题助沟通自我介绍——出现概率:100%为什么选择这个专业?今后如何打算?你认为自己…

高并发内存池项目

目录 项目简介什么是内存池池化技术内存池 内存池主要解决的问题定长内存池的设计高并发内存池的整体框架设计thread cachethread cache的整体设计thread cache哈希桶的对齐规则threadcacheTLS无锁访问 central cachecentralcache整体设计central cache 结构设计central cache核…

Redis——高级主题

介绍Redis的高级主题,包括服务器配置、Redis事务、Redis发布和订阅、Pipeline批量发送请求、数据备份与恢复等。 1、服务器配置 在Windows和Linux的Redis服务器里面,都有一个配置文件。Redis配置文件位于Redis安装目录下,在不同操作系统下&…

Redis核心技术与实战【学习笔记】 - 21.Redis实现分布式锁

概述 在《20.Redis原子操作》我们提到了应对并发问题时,除了原子操作,还可以通过加锁的方式,来控制并发写操作对共享数据的修改,从而保证数据的正确性。 但是,Redis 属于分布式系统,当有多个客户端需要争…

【Java知识手册】一.Java开发工具和前言

文章目录 1 Java前言1.1 简介1.2 Java环境搭建1.3 程序的开发步骤1.4 idea开发工具1.5用idea开发一个helloworld 前言:以初学着的身份,准备在该平台整理点最近学习的知识,方便后续查看相关的技术点,有兴趣的可以一块交流学习。目标…

机器学习本科课程 大作业 多元时间序列预测

1. 问题描述 1.1 阐述问题 对某电力部门的二氧化碳排放量进行回归预测,有如下要求 数据时间跨度从1973年1月到2021年12月,按月份记录。数据集包括“煤电”,“天然气”,“馏分燃料”等共9个指标的数据(其中早期的部分…

接口测试要测试什么?

一. 什么是接口测试?为什么要做接口测试? 接口测试是测试系统组件间接口的一种测试。接口测试主要用于检测外部系统与系统之间以及内部各个子系统之间的交互点。测试的重点是要检查数据的交换,传递和控制管理过程,以及系统间的相互…

Maven 安装教程

一、安装地址 1.官网安装最新版本 2.其他版本,我这里是maven-3/3.6.2 二、配置环境 1. 点击此电脑鼠标右击->属性->高级系统设置->环境变量 ,配置系统变量->新建:MAVEN_HOME 2.配置path 路径 :%MAVEN_HOME%\bin 三、安…

ChatGPT之制作短视频

引言 今天带来了如何使用 ChatGPT和剪映来制作简单的短视频教程,在这其中 ChatGPT的作用主要是帮我们生成文案,剪映的功能就是根据文案自动生成视频,并配上一些图片、动画、字幕和解说。 ChatGPT生成文案 首先,我们需要使用提示…

Anaconda的安装及其配置

一、简介 Anaconda是一个开源的包、环境管理器,主要具有以下功能和特点: 提供conda包管理工具:可以方便地创建、管理和分享Python环境,用户可以根据自己的需要创建不同的环境,每个环境都可以拥有自己的Python版本、库…