当前位置: 首页 > news >正文

计算机网络——数据链路层-流量控制和可靠传输

一、流量控制

流量控制是指由接收方及时控制发送方发送数据的速率,使接收方来得及接受。
   • 停止等待流量控制
   • 滑动窗口流量控制

1、停止—等待流量控制

   停止-等待流量控制的基本原理是发送方每发出一帧后,就要等待接收方的应答信号,收到应答信号后,发送方才能发送下一帧;接收方每接受一帧,就要返回一个应答信号,表示可以接受下一帧,若接受方不返回应答信号,则接收方必须一直等待。这种方式是流量控制中最简单的方式,传输效率很低。

2、滑动窗口流量控制

• 每次只允许发送一帧,滑动窗口流量控制允许一次发送多个帧,因此提高了传输效率。
• 发送窗口:滑动窗口流量控制的基本原理是在任意时刻,发送方都维持一组连续的允许发送的帧
的序号,称为发送窗口;
• 接收窗口:同时,按收方也维持一组连续的允许接收的帧的序号,称为接收窗口。

如图(a)所示,发送端的发送窗口大小为5,在发送开始时,允许发送帧序号为0~4的共5个帧。每发送一帧后,若未收到确认,发送窗口自动减1,如图(b)所示。若序号为0~4的帧都已经发送完毕,且未收到一个确认帧,则无法继续发送后续帧,如图(c)所示。而当发送端每收到一个确认帧之后,发送窗口就向前滑动一个帧的位置,图(d)给出了收到三个确认帧之后的发送窗口示意,此时可继续发送序号为5~7的3个帧。

接收窗口的大小与发送窗口无关,当接收窗口大小为1时,如图所示,收到一个数据帧后,将窗口向前移动一个位置,并发送确认帧。若收到的数据帧落在接收窗口之外,则一律丢弃该数据帧。注意到,当接收窗口大小为1时,可保证帧的有序接收。另外,需要注意的是,数据链路层的滑动窗口协议,窗口的大小在传输过程中是固定的。 

滑动窗口流量机制可以在收到确认信息之前发送多个数据分组,提高了网络的吞吐量,解决了端到
端的通信流量控制问题。

3、可靠传输机制
• 〝可靠传输”是指数据链路层的发送端发送什么,接收端就接收什么。
• 数据链路层的可靠传输通常采用确认和重传两种机制来完成。
确认可以是每发送一帧就确认一次,也可以是一次累积确认多个帧,后一种情況可以把确认
捎带在一个回复帧中(称为捎带确认)。
重传可分为超时重传和自动重传请求ARQ两种方式。
• 超时重传是指发送方在发送某个帧后就启动一个计时器,在设定时间内如果没有得到发送的
帧的确认,就重新发送该帧,直到发送成功为止。
• ARQ通过接收方请求发送方重传出错的帧。ARQ通常分为三种,即停止-等待 (Stop-and-
Wait) ARQ、后退N帧(Go-Back-N) ARQ和选择重传 (Selective Repeat)ARQ。
• 停止-等待(Stop-and-Wait)协议:发送窗口尺寸和按收窗口的大小都等于1;
• 后退N帧GBN(Go-Back-N)协议:发送窗口大于1,接收窗口等于1;
• 选择重传SR (Selective Repeat) 协议:发送窗口和接收窗口的大小均大于1。

4、流量控制与可靠传输机制

 在发送结点:
1)从主机取一个数据帧;
2)将数据帧送到数据链路层的发送缓存;
3)将发送缓存中的数据帧发送出去;
4)等待;
5)若收到由接收结点发过来的信息(此信息的格式与内容可由双方事先商定好),则从主机取一个新的数据帧,然后转到2)。
在接收结点:
1)等待;
2)若收到由发送结点发过来的数据帧,则将其放入数据链路层的接收缓存;
3)将接收缓存中的数据帧上交主机;
4)向发送结点发一信息,表示数据帧已经上交给主机;
5)转到1)。

1)发送端发送数据帧后,等待接收端的应答帧;
2)接收端收到数据帧后,通过 CRC 校验,如果无差错,回送一个确认帧 ACK ,否则,回送一个否认帧 NAK ;
3)发送端收到应答帧,如果是 ACK ,发送下一数据帧,如果是 NAK ,重发数据帧

1)正常情况
接收方在收到一个正确的数据帧后,即交付给主机B,同时向主机A发送一个确认帧ACK。当主机A收到确认帧后才能发送一个新的数据帧。
2)数据帧出错
当结点B检验出收到的数据帧有差错时,结点B就向主机A发送一个否认帧NAK,以表示主机A应当重传出现差错的那个数据帧。

3)数据帧丢失

由于某些原因,结点B收不到结点A发来的数据帧。若到了重传时间t仍收不到结点B的任何确认
帧,则结点A就重传前面所发送的帧。
4)确认帧丢失
主机A在重传时间内没有收到B发来的确认帧,则A就重传前面所发送的数据帧。通过上面的分析可知,在停止-等待协议中要解决两个问题,即死锁问题和重复帧问题。

5)死锁问题

发生帧丢失时结点B不会向结点A发送任何确认帧,如果结点A要等到收到结点B的确认信息后再发送下一个数据帧,那么就将永远等待下去。于是就出现了死锁现象。
解决死锁问题的方法是,在结点A发送完一个数据帧时,就启动一个超时计时器。若到了超时计时器所设置的重传时间t而仍收不到结点B的任何确认帧,则结点A就重传前面所发送的这一数据帧。若在重传时间内收到确认,则将超时计时器清零并停止。

6)重复帧问题

当出现确认帧丢失时,则超时重传将使主机 B 收到两个同样的数据帧。由于主机 B 无法识别重复帧,因而在主机 B 收到的数据中出现了重复帧差错。
解决重复帧的方法是,使每一个数据帧带上不同的发送序号。每发送一个新的数据帧就把它的发送序号加1。若结点 B 收到发送序号相同的数据帧,就表明出现了重复帧。这时应丢弃重复帧,因为已经收到过同样的数据帧并且也交给了主机 B 。但此时结点 B 还必须向 A 发送确认帧 ACK ,因为 B 已经知道 A 还没有收到上一次发过去的确认帧 ACK 。

与帧的编号有关的需要注意的几个问题如下:
任何一个编号系统的序号所占用的比特数一定是有限的。因此,经过一段时间后,发送序号就会重
复。
②序号占用的比特数越少,数据传输的额外开销就越小。
③对于停止等待协议,由于每发送一个数据帧就停止等待,因此用一个比特来编号就够了(一个比特可表示0和1两种不同的序号)。
④数据帧中的发送序号 N ( S )以0和1交替的方式出现在数据帧中。
⑤每发一个新的数据帧,发送序号就和上次发送的不一样。用这样的方法就可以使收方能够区分开新的数据帧和重传的数据帧了。

停止-等待协议ARQ的优点是比较简单;缺点是通信信道的利用率不高,也就是说,信道还远远没有被数据比特填满。

后退 N 帧

 GBN 协议的基本思想是,发送方连续发出 N 个帧,接收方以流水线方式顺序接收各个帧,并进行差错检测。一旦某个帧有错,则接收方就丢弃该帧和它之后所收到的所有帧(不管这些帧是正确的还是错误的),对出错的帧不发送确认帧;发送方在出错帧的确认帧超时后,从出错的帧开始重传所有已发送但未被确认的帧。

后退 N 帧( GBN )协议基于滑动窗口流量机制,发送窗口尺寸大于1(若采用 n 比特对帧进行编号,则发送窗口尺寸 W ,必须满足1< W ,≤2"-1),接收窗口尺寸等于1。若发送窗口尺寸大于2"-1,会造成接收方无法分辨新帧和旧帧。因为接收窗口尺寸为1,所以接收方只能按序来接收数据帧。

选择重传(SR)协议

使用 GBN 协议时,如果线路很糟糕,就会回退重发大量数据帧而浪费带宽资源。解决的策略可以有以下几种:①允许接收并缓存坏帧或丢失帧后面的帧;②接收方只把出错的帧丢弃,其后续帧保存在缓存中,向发送方发送对出错帧的非确认帧( NAK );③如果落在窗口内并从未接收过,就接受此帧,并存储起来。直到比它序号小的所有帧都按次序已经交给了网络层后,此帧才提交给网络层。以上这些需要加大接收窗口,以便先收下发送序号不连续但仍处在接收窗口中的那些数据帧,这也是选择重传思想。


选择重传协议避免了重复传送那些本来已经正确到达接收端的数据帧,提高了信道利用率,但
代价是在接收端要设置具有相当容量的缓存空间。

选择重传协议也是基于滑动窗口流量控制机制,它的发送窗口尺寸 W ,和接收窗口尺寸 W 都大于1,一次性可发送或接收多个帧。

5、信道利用率

 信道利用率,也称为信道效率。
发送方在一个发送周期的时间内,有效地发送数据所需要的时间占整个发送周期的比率
例如,发送方从开始发送数据,到收到第一个确认帧为止,称为一个发送周期,设为T;
发送方在这个周期内共发送L比特的数据;
发送方的数据传输率为C;
则发送方用于发送有效数据的时间为L/C,信道的利用率为(L/C)/T
信道吞吐率=信道利用率*发送发的发送速率

二、数据链路层

 1:发送周期(注意是收到第一个确认帧为止,不一定是发一个帧就确认一个!):发送方从开始发送数据,到收到第一个确认帧为止,称为一个发送周期,设为T;
2:发送多少比特(看清楚单位,往往这里需要换算)的数据:发送方在这个周期内共发送L比特的
数据;在T内最多可以发送多少个数据帧=发送窗口/滑动窗口的大小=2n
3:发送有效数据的时间(时间往往需要换算计算):

相关文章:

计算机网络——数据链路层-流量控制和可靠传输

一、流量控制 流量控制是指由接收方及时控制发送方发送数据的速率&#xff0c;使接收方来得及接受。 • 停止等待流量控制 • 滑动窗口流量控制 1、停止—等待流量控制 停止-等待流量控制的基本原理是发送方每发出一帧后&#xff0c;就要等待接收方的应答信号&#xff…...

sqlserver数据库备份和还原

一、备份 打开smss,选中数据库-任务-备份 地址选择默认如&#xff1a;C:\Program Files\Microsoft SQL Server\MSSQL15.MSSQLSERVER\MSSQL\Backup\ &#xff08;远程服务器文件夹&#xff0c;非本机文件夹&#xff09; PS&#xff1a;备份后编辑下数据 二、还原 PS:如果提示数…...

Python爬虫基础——认识网页结构(各种标签的使用)

1、添加<div>标签的代码定义了两个区块的宽度和高度均为100px&#xff0c;边框的格式也相同&#xff0c;只是区块中显示的内容不同&#xff1b; 2、添加<ul>和<ol>标签分别用于定义无序列表和有序列表。<il>标签位于<ul>标签或<ol>标签之…...

Linux双端口服务器:端口1的文件系统目录挂载到端口2

目录 一、服务器安装NFS服务并配置二、文件挂载三、持久化挂载总结为什么服务器配置多个端口 目前有一台服务器&#xff0c;不过他设置了两个SSH的端口&#xff0c;通过下面方法可以让这两个端口连接的主机能够共享同一个文件系统&#xff0c;原本这两个端口的文件系统是隔离的…...

unity学习11:地图相关的一些基础

目录 1 需要从 unity的 Asset Store 下载资源 1.1 下载资源 1.2 然后可以从 package Manager 里选择下载好的包&#xff0c;import到项目里 2 创建地形 2.1 创建地形 2.2 地形 Terrain大小 2.3 各种网格的尺寸大小 2.4 比较这个地形尺寸和创建的其他物体的大小对比 3 …...

如何在 Spring Cloud Gateway 中创建全局过滤器、局部过滤器和自定义条件过滤器

Spring Cloud Gateway 是一个功能强大的 API 网关&#xff0c;能够处理 HTTP 请求、响应及路由。通过过滤器机制&#xff0c;您可以在请求和响应过程中进行各种处理操作&#xff0c;如记录日志、身份验证、限流等。Spring Cloud Gateway 提供了三种主要类型的过滤器&#xff1a…...

总分支机构跨网文件交换解决方案几个关键要点

跨国公司和国内大型集团的日常运营中&#xff0c;总分支机构之间的文件交换已成为必不可少的环节。然而&#xff0c;跨网文件交换面临着诸多挑战&#xff0c;比如安全性、效率、合规性、管理便捷性、技术兼容性和成本效益等。 为了解决这些问题&#xff0c;在挑选总分支机构跨网…...

机器人手眼标定

机器人手眼标定 一、机器人手眼标定1. 眼在手上标定基本原理2. 眼在手外标定基本原理 二、眼在手外标定实验三、标定精度分析 一、机器人手眼标定 要实现由图像目标点到实际物体上抓取点之间的坐标转换&#xff0c;就必须拥有准确的相机内外参信息。其中内参是相机内部的基本参…...

将 Docker 数据迁移到新磁盘:详细操作指南

将 Docker 数据迁移到新磁盘&#xff1a;详细操作指南 背景 在容器化应用的部署中&#xff0c;Docker 通常将数据存储在默认的 /var/lib/docker 目录。然而&#xff0c;随着容器数量的增加和镜像的累积&#xff0c;该目录可能会迅速占满系统磁盘空间&#xff0c;从而影响系统…...

AWS re:Invent 的创新技术

本月早些时候&#xff0c;Amazon 于 12 月 1 日至 5 日在内华达州拉斯维加斯举行了为期 5 天的 re&#xff1a;Invent 大会。如果您从未参加过 re&#xff1a;Invent 会议&#xff0c;那么最能描述它的词是“巨大”——不仅从与会者人数&#xff08;60,000 人&#xff09;来看&…...

无人机低小慢探测难题!

一、探测难度增加 由于无人机的雷达散射面积小&#xff0c;雷达在探测时接收到的反射信号相对较弱。这使得雷达系统需要更高的灵敏度和更先进的信号处理算法才能有效捕捉到无人机的信号。在复杂环境中&#xff0c;如城市、山区或海洋&#xff0c;背景噪声和干扰源众多&#xf…...

第2章:Go语言基础语法

第2章&#xff1a;Go语言基础语法 1. 变量和数据类型 1.1 基本数据类型 Go语言提供了以下基本数据类型&#xff1a; // 整数类型 var intVar1 int // 根据系统位数&#xff0c;32或64位 var intVar2 int8 // -128 到 127 var intVar3 int16 // -32768 到 32767 var i…...

RP2K:一个面向细粒度图像的大规模零售商品数据集

这是一种用于细粒度图像分类的新的大规模零售产品数据集。与以往专注于相对较少产品的数据集不同&#xff0c;我们收集了2000多种不同零售产品的35万张图像&#xff0c;这些图像直接在真实的零售商店的货架上拍摄。我们的数据集旨在推进零售对象识别的研究&#xff0c;该研究具…...

pnpm安装与使用

pnpm官网 全局安装 npm install pnpm -g设置源 // 查看源 pnpm config get registry // 切换淘宝源 pnpm config set registry https://registry.npmmirror.com/ 移除 pnpm remove 包名称 // 移除包 pnpm remove 包名称 --global // 移除全局包 更新 pnpm up // 更新所有…...

c# 服务中启动exe窗体程序

Windows服务默认在会话0&#xff08;Session 0&#xff09;中运行&#xff0c;这是一个隔离的环境&#xff0c;旨在防止服务与应用程序和用户会话交互&#xff0c;从而提高系统的稳定性和安全性。由于这个原因&#xff0c;直接从服务启动的GUI应用程序将不会显示&#xff0c;因…...

使用pip-chill清理pip依赖包,清理不使用的包

最近需要精简python项目的依赖&#xff0c;需要清理一下哪些代码里面没有使用的包&#xff0c;查询了一下&#xff0c;记录 pip-chill 是一个用于管理 Python 项目中依赖项的工具&#xff0c;可以帮助您保持所需依赖项的清单简洁明了&#xff0c;并删除不必要的依赖。 1. 安装 …...

【算法题系列】LeetCode 5.最长回文子串|JavaScript 5种思路实现

题目描述 给定一个字符串 s&#xff0c;找到 s 中最长的回文子串。你可以假设 s 的最大长度为 1000。 示例 1&#xff1a; 输入: "babad" 输出: "bab" 注意: "aba" 也是一个有效答案。 示例 2&#xff1a; 输入: "cbbd" 输出: &q…...

QT6编程入门(一)

1、QT6介绍 1.1、QT6概述 Qt 是一个跨平台的 C 应用程序框架&#xff0c;它被广泛用于开发图形用户界面&#xff08;GUI&#xff09;应用程序&#xff0c;同时也可以用于开发非GUI程序&#xff0c;如控制台工具和服务器。Qt 被设计成能够在多种操作系统上运行&#xff0c;包括…...

串口通信控制LED、马达、蜂鸣器、风扇

1.STM32U575RITx 设置引脚 编写main.c //对fputc重写&#xff0c;方便调用printf函数 int fputc(int ch, FILE* F){HAL_UART_Transmit(&huart1, (uint8_t *)&ch, 1, 10);return ch; } //main函数的主要循环while (1){char whole_buf[128];memset(whole_buf, 0, siz…...

每日一题:BM2 链表内指定区间反转

文章目录 链表区间反转教学内容1. 任务描述2. 题目分析例子 3. 思路4. 详细步骤4.1 创建虚拟头节点4.2 寻找反转区间的前一个节点4.3 反转区间中的节点4.4 重新连接链表4.5 返回结果 5. 代码实现6. 代码解析6.1 初始化虚拟头节点6.2 寻找反转区间的前一个节点6.3 反转区间中的节…...

Cherno C++学习笔记 P50 C++当中的动态库

在上一篇文章当中我们学习了C当中是如何使用静态库的&#xff0c;这一篇我们会讲一下如何使用动态库&#xff0c;并同样用GLFW这个已有的库来举例子。 有了静态库的经验&#xff0c;其实动态库就好理解和使用多了。这两者的区别是&#xff0c;静态链接发生在编译的时候&#x…...

【Flink CDC】Flink CDC的Schema Evolution表结构演变的源码分析和流程图

Flink CDC版本&#xff1a;3.2.1 说明&#xff1a;本文从SchemaOperator接收到&#xff0c;表结构变更事件开始&#xff0c;表结构变更事件应由source端产生&#xff0c;本文不讨论。 可以先看流程图&#xff0c;研究源码。 参考文章&#xff1a; Flink cdc3.0动态变更表结构—…...

计算机网络 (27)IP多播

前言 IP多播&#xff08;也称多址广播或组播&#xff09;技术是一种允许一台或多台主机&#xff08;多播源&#xff09;发送单一数据包到多台主机&#xff08;一次性的、同时的&#xff09;的TCP/IP网络技术。 一、基本概念 定义&#xff1a;多播作为一点对多点的通信&#xff…...

当算法遇到线性代数(四):奇异值分解(SVD)

SVD分解的理论与应用 线性代数系列相关文章&#xff08;置顶&#xff09; 1.当算法遇到线性代数&#xff08;一&#xff09;&#xff1a;二次型和矩阵正定的意义 2.当算法遇到线性代数&#xff08;二&#xff09;&#xff1a;矩阵特征值的意义 3.当算法遇到线性代数&#xff0…...

鸿蒙操作系统(HarmonyOS)

鸿蒙操作系统&#xff08;HarmonyOS&#xff09;是华为公司推出的一款面向未来、面向全场景的分布式操作系统。它旨在为用户提供一个更加智能、便捷和安全的操作环境&#xff0c;支持多种终端设备之间的无缝协作。在鸿蒙应用开发中&#xff0c;ArkUI作为官方推荐的用户界面开发…...

通义灵码在跨领域应用拓展之物联网篇

目录 一.引言 二.通义灵码简介 三.通义灵码在物联网领域的设备端应用 1.传感器数据采集 (1).不同类型传感器的数据读取 (2).数据转换与预处理 2.设备控制指令接收和执行 (1).指令解析与处理 (2).设备动作执行 四.通义灵码在物联网领域的云端平台应用 1.数据存储和管…...

CSS语言的数据库交互

CSS语言的数据库交互&#xff1a;一种新潮流的探索 引言 在现代网页开发中&#xff0c;CSS&#xff08;层叠样式表&#xff09;无疑是构建优美和响应式网页的重要工具。然而&#xff0c;关于CSS和数据库之间的直接交互&#xff0c;尽管并不是一种常见的做法&#xff0c;却引发…...

[SMARTFORMS] 创建二维码

我们可以使用事务码SE73创建二维码 选择系统条形码&#xff0c;点击"更改"按钮 点击 创建选项 选择"新" 输入二维码名称和简短描述&#xff0c;点击"确认"按钮 选择"QR CODE 2005"&#xff0c;点击"确认"按钮 选择"No…...

数据项目相关的AWS云计算架构设计

电商数据平台架构 高性能&#xff1a;使用Amazon EC2的计算优化实例处理业务逻辑和数据计算&#xff0c;搭配Amazon ElastiCache内存缓存&#xff0c;加速数据读取。应用负载均衡器&#xff08;ALB&#xff09;在EC2实例间分发流量&#xff0c;实现负载均衡。高可用性&#xf…...

智慧农业应用场景|珈和科技高标准农田信息化监管平台解决方案

近年来&#xff0c;珈和科技持续深耕农业领域&#xff0c;深耕农业时空大数据服务。 珈和利用遥感大数据、云计算、移动互联网、物联网、人工智能等先进技术&#xff0c;搭建“天空地一体化”监测体系&#xff0c;并创新建设了150的全球领先算法模型&#xff0c;可为100多种农作…...

C++ operator = 返回void 会发生什么?

1.operator 正常情况 #include <iostream> using namespace std;class Box { public:Box(double L) : length(L) {}Box(const Box& b){}Box& operator (const Box&){return *this;}public:double length; // 长度 };int main() {Box box1(1.0);Box box2(…...

Scala 模式匹配

Scala 模式匹配 引言 Scala 作为一种多范式编程语言,不仅支持面向对象编程,还融合了函数式编程的特性。在其丰富的特性集中,模式匹配(Pattern Matching)尤为引人注目,它是一种在许多编程语言中都有应用的编程范式,但在 Scala 中得到了特别强大的支持。模式匹配允许开发…...

微信小程序中 “页面” 和 “非页面” 的区别

微信小程序中 “页面” 和 “非页面” 的区别&#xff0c;并用表格进行对比。 核心概念&#xff1a; 页面 (Page)&#xff1a; 页面是微信小程序中用户可以直接交互的视图层&#xff0c;也是小程序的基本组成部分。每个页面都有自己的 WXML 结构、WXSS 样式和 JavaScript 逻辑…...

解耦Java应用程序的方法和技巧

解耦 Java 应用程序是一项重要的设计原则是减少组件之间的依赖关系&#xff0c;使系统更加模块化、灵活和可维护。通过分离&#xff0c;您可以更轻松地更改、扩展或测试应用程序的各个部分&#xff0c;而不会影响其他部分。 分离 Java 应用程序需要应用减少组件之间直接依赖关系…...

Go语言的 的设计模式(Design Patterns)基础知识

Go语言的设计模式基础知识 引言 设计模式是一种在软件开发中经常使用的解决特定问题的通用方案。它们为开发者提供了一种有效的方式来组织代码、提高代码的可复用性、可维护性和灵活性。在众多编程语言中&#xff0c;Go语言因其独特的特性&#xff0c;如并发支持和简洁的语法…...

【Uniapp-Vue3】常用的表单组件button和input

表单组件中最常用的就是button组件和input组件 一、button组件 常用属性&#xff1a; <template><button>普通按钮</button><button size"mini">小按钮</button><button type"primary">蓝色按钮</button><…...

深入理解非对称加密:用Java实现RSA加解密

目录 一、非对称加密算法概述 二、Java 中实现非对称加密 非对称加密&#xff08;Asymmetric Encryption&#xff09;是一种加密方式&#xff0c;其中使用一对密钥&#xff1a;公钥&#xff08;Public Key&#xff09;和私钥&#xff08;Private Key&#xff09;。这种加密算…...

钓鱼邮件 wp

背景&#xff1a;Bob收到了一份钓鱼邮件&#xff0c;请找出木马的回连地址和端口。 1.打开文件 2.发现base64编码 3.base64解码 将base64编码全部存储在文件 base64.txt 中。 使用命令cat base6.txt | base64 -d | less解码并查看。 关键字&#xff1a; PK 知识点&#xff1a…...

飞书企业消息实践

一、飞书自带的消息机器人限制 频控策略 - 服务端 API - 飞书开放平台 自定义机器人的频率控制和普通应用不同&#xff0c;为单租户单机器人 100 次/分钟&#xff0c;5 次/秒。建议发送消息尽量避开诸如 10:00、17:30 等整点及半点时间&#xff0c;否则可能出现因系统压力导致…...

逆向安卓抓包

打开Mumu网易&#xff0c;打开设置&#xff0c;打开其他&#xff0c;开启root权限 打开Mumu网易&#xff0c;找到apk安装藏航准备网.apk charles配置&#xff1a;proxy setting 端口9888 查看当地IP:help--->local IP address SSL Proxying Setting--->Add---->IP…...

简单的spring boot tomcat版本升级

简单的spring boot tomcat版本升级 1. 需求 我们使用的springboot版本为2.3.8.RELEASE&#xff0c;对应的tomcat版本为9.0.41&#xff0c;公司tomcat对应版本发现攻击者可发送不完整的POST请求触发错误响应&#xff0c;从而可能导致获取其他用户先前请求的数据&#xff0c;造…...

导出中心设计

业务背景 应用业务经常需要导出数据&#xff0c;但是并发的导出以及不合理的导出参数常常导致应用服务的内存溢出、其他依赖应用的崩溃、导出失败&#xff1b;因此才有导出中心的设计 设计思想 将导出应用所需的内存转移至导出中心&#xff0c;将导出的条数加以限制&#xf…...

zookeeper 数据类型

文章目录 引言I Znodezonde stat (状态信息)znode类型临时\永久序列化特性引言 在结构上与标准文件系统非常类似,拥有一个层次的命名空间,都是采用树形层次结构 Zookeeper树中的每个节点被称为:Znode,没有文件和目录之分。Znode兼具文件和目录两种特点Znode存储数据大小有…...

INT305 Machine Learning

W1 Introduction Nearest Neighbor Preliminaries and Nearest Neighbor Methods • Suppose we’re given a novel input vector &#x1d465; we’d like to classify. • The idea: find the nearest input vector to &#x1d465; in the training set and copy …...

OneFlow和PyTorch在性能上有哪些区别?

OneFlow 和 PyTorch 在性能上的区别主要体现在以下几个方面&#xff1a; 本篇文章的目录 分布式训练性能 硬件利用率和显存优化 模型训练速度 OneFlow&#xff1a;默认采用静态图模式&#xff0c;在模型训练前会对计算图进行编译优化&#xff0c;能够减少运行时的开销&…...

Java高频面试之SE-09

hello啊&#xff0c;各位观众姥爷们&#xff01;&#xff01;&#xff01;本牛马baby今天又来了&#xff01;哈哈哈哈哈嗝&#x1f436; final关键字有什么作用&#xff1f; 在 Java 中&#xff0c;final 关键字有多个用途&#xff0c;它可以用于类、方法和变量。根据使用的上…...

面向对象(综合练习)

文字版格斗游戏 public class people {private String name;private int xuetiao;public people(String name){this.namename;this.xuetiao100;}public String getName(){return this.name;}public int getXuetiao(){return this.xuetiao;} } import java.util.Random; public…...

《机器学习》——随机森林

文章目录 什么是随机森林&#xff1f;随机森林的原理随机森林的优缺点优点缺点 随机森林模型API主要参数 实例实例步骤导入数据处理数据&#xff0c;切分数据构建模型训练模型测试数据并输出分类报告和混淆矩阵画出模型的前十重要性的特征 扩展 什么是随机森林&#xff1f; -随…...

Synthesia技术浅析(二):虚拟人物视频生成

Synthesia 的虚拟人物视频生成模块是其核心技术之一&#xff0c;能够将文本输入转换为带有同步语音和口型的虚拟人物视频。该模块如下所示&#xff1a; 1.文本输入处理 2.语音生成&#xff08;TTS, Text-to-Speech&#xff09; 3.口型同步&#xff08;Lip Syncing&#xff0…...

kubelet状态错误报错

journalctl -xeu kubelet 执行后的日志如下: -- -- The process exit code is exited and its exit status is 1. Jan 02 14:20:06 iv-ydipyqxfr4wuxjsij0bd systemd[1]: kubelet.service: Failed with result exit-code. -- Subject: Unit failed -- Defined-By: system…...