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

企业级无线局域网(WLAN)架构:高效部署策略与技术指南

前言:无线网络直接影响整体网络性能,在当今企业网环境中,已有超过一半的数据流量通过无线信道传输,随着物联网技术的普及,无线网将承载更多的关键业务流量。企业/园区场景的无线网络值得考虑的关键因素有很多,例如终端移动性,AP 漫游能力和覆盖范围、带宽和吞吐量、延迟、信道、射频干扰等。当然,还有网络安全配置和用户认证等等。


无论是新建还是升级无线网络,在采取行动之前回顾并更新有关无线网的关键知识是绝对必要的,我们将从以下几个方面入手,希望这篇文章帮助您做出更好的选择。

  • 无线网络基础概念和参数速查
  • 无线标准/协议的演进
  • 不同无线组网模式和适用场景:1、 常见的园区无线组网。2、新一代云化网络
  • 无线AP部署要点

无线网基础概念和参数速查

在无线通信系统中,信息可以是图像、文字、声音等。信息需要先经过信源编码转换为便于电路计算和处理的数字信号,再经过信道编码和调制,转换为无线电波发射出去。其中,发送设备和接收设备使用接口和信道连接,对于有线通信很容易理解,设备上的接口是可见的,连接可见的线缆;而对于无线通信,接口是不可见的,连接着不可见的空间,称为空口(空间接口)

无线网络分类

无线网络根据应用范围可分为个人网络、局域网、城域网和广域网。

个人网络局域网城域网广域网
协议标准BluetoothIEEE802.11b,IEEE802.11a,IEEE802.11g, IEEE802.11nIEEE 802.16,MMDS,LMDS最后一公里接入
传输速度小于1Mbps1Mbps~600Mbps22+ Mbps1-7Mbps-100Mbps
覆盖范围10m100~300m十几公里几十到几百公里
应用场景点对点、设备对设备企业、园区、学校、酒店等网络最后一公里接入移动电话

无线射频

无线电波是由振荡电路的交变电流产生的电磁波(日常使用中也被称为射频或无线电等),它能够通过天线发射和接收,无线电波的频率范围称为频段。所有的射频设备都有灵敏度等级,即无线终端在某个信号强度之上可以正确地解释和接收无线电信号。灵敏度单位是dBm。接收灵敏度值越小,说明接收性能越好。

天线传播覆盖

天线是一种变换器,是在无线设备中用来发射或接受电磁波的部件,它可以将传输线上传播的导行波和在空间中传播的电磁波相互转换。天线一般有全向和定向两种信号覆盖模式(如下图所示)。

空间流和MIMO

无线电在同一时间发送多个信号,每一份信号都是一个空间流。通常情况下一组收发天线间可以建立一个空间流。

MIMO指多输入多输出技术,也称多天线技术,分别使用多个发射天线和接收天线,实现多发多收,成倍地提高信道容量。空间流数是决定最高物理传输速率的参数。我们常用(AxB:C)数据格式表示多天线技术支持的最大发射天线数量(A)、最大接收天线数量(B)和最大空间数据流数量(C)。当前主流的802.11ac和802.11ax协议规定一个射频最大8个空间流;大多数智能终端使用 2×2:2 或 3×3:3 MIMO 无线电。

MIMO系统中,发射端的多个天线可以各自独立发送信号(引入发射波束成形技术使多个天线的发射信号在接收机达到相同相位,从而增强信号强度),同时在接收端用多个天线接收信号并重组原始信息。

MIMO技术让1×1的客户端也能间接从中受益

传播衰减

⑴ 自由空间路径损耗

自由空间路径损耗(FSPL)是指无线电波因自然扩展导致信号强度下降,这是波传播的自然属性。我们可以通过以下近似公式算出。

FSPL=32.44+(20log 10 (f))+(20log 10 (D))

FSDL=路径损耗(dB) ;f =频率(MHz);D=天线之间的距离(km)

实际部署时我们通常使用6dB法则进行估算,即:传输距离加倍将导致信号衰减6dB。

⑵ 穿透损耗(吸收)

电磁波穿过墙体、车体、树木等障碍物,被不同材质的吸收,导致信号衰减。下表总结了常见障碍物对无线信号的影响。

⑶ 反射损耗

当波撞击到一个比波自身更大的光滑物体时,波可能会往另一个方向传递。当无线发射信号与接收位置需要经过多次反射才可触达,我们可以通过尝试调整信号源位置并辅以定向天线来改善通信。

⑷ 衍射损耗

由于射频信号被局部阻碍,射频信号在物体周边发生的弯曲。位于障碍物正后方的区域称为射频阴影,它可能成为覆盖死角,一般是可以通过另一个AP的无线信号去消除。

无线标准/协议的演进

WiFi与 IEEE 802.11

WiFi 通常是指基于 IEEE 802.11 标准的无线网络。“Wi-Fi”一词由Wi-Fi 联盟(WFA)创造,该联盟是一个全球性联盟,致力于促进和认证无线设备的互操作性。简单来说,Wi-Fi 是描述无线网络技术的流行术语,而 IEEE 802.11 是定义无线通信底层协议和规范的技术标准。

WiFi6 的核心技术

根据Wi-Fi联盟的报告,Wi-Fi 6 自2019年推出以来仅用3年就在全球市场份额超过了50%,而Wi-Fi 5用了4年时间。WiFi 6 为每个用户提供更大的总带宽,总频谱和信道,能够在高并发接入的环境下为每个用户较前代技术高 4 倍的吞吐量,其高带宽、高并发、低时延、低耗电的特点为未来的智能基础设施奠定基础。

⑴ 提升吞吐量:1024-QAM调制

802.11ax采用1024-QAM正交幅度调制,每个符号位传输10bit数据(2^(10)=1024);相对于802.11ac(采用256-QAM正交幅度调制,每个符号传输8bit数据)来说,802.11ax的单条空间流数据吞吐量提高了25%。使用1024-QAM调制对信道条件有较高要求。

OFDMA(正交频分多址)将信道进一步细分为可单独分配的“资源单元”,这是实现性能优势的关键。它允许多达 30 个用户同时共享一个信道,从而减少延迟、提高容量并提高效率。

OFDMA 和 MU-MIMO 的技术作为先进无线网络中的互补技术,可以基于所服务的应用类型来改善用户体验。

对于流媒体电影或游戏等高带宽应用,MU-MIMO 允许多个终端并发传输数据,建立高带宽网络以达到每个客户端的的最大速率。此外,MU-MIMO 使访问无线网络的队列从一个变为多个,多个设备可同时访问而无需等待。

对于即时消息、电子邮件或网页浏览等低带宽应用,分配给每个客户端的资源单元数量取决于数据包大小、终端设备限制以及流量服务质量(QoS)配置等因素,而OFDMA使用单个频段可以为多个用户提供这类低流量传输服务,起到类似“拼车”的效果,大大提高了网络资源利用率。

⑶ 降低信道间干扰:空分复用技术(SR) & BSS Coloring

当相同或相邻信道上的AP和终端检测到单个信道资源利用率偏高,噪声强度超过阈值时,则会需要排队等待(CCA功率调节机制)。

WiFi6协议里采用了空间复用和着色机制以提升信道利用率,减少排队。它可以类比为在客户端和AP之间建立起了虚拟的“高架桥”,根据不同目的地在空间上划分为互相独立不干扰的通路。不同的AP会各自给下连的终端着色(例如下图左,同为信道6的3个AP分别着色),只要信道资源没有完全占满,就依然会传输数据。

⑷ 降低能耗调度:目标唤醒时间 TWT

TWT(目标唤醒时间)最早出现在 802.11ah “Wi-Fi HaLow” 标准中,用于支持大规模物联网环境中的能效,并随着 IEEE 802.11ax 的发展而得到扩展。它使用计划机制来告诉客户端何时唤醒和睡眠,而不是让它们一直在某个频道上监听。

在 TWT 中,客户端和 AP 之间会商定一个时间表,该时间表由时间段组成。它通常包含一个或多个信标(例如几分钟、几小时,甚至长达几天)。当时间到了,客户端被唤醒,等待 AP 发送的触发帧并交换数据,然后重新进入休眠状态。AP 和终端设备会独立协商特定时间,或者 AP 可以将终端进行分组,一次连接到多个设备。

Wi-Fi 6E 及其他

在 Wi-Fi 6 标准发布一年后,由于频谱短缺,Wi-Fi 6e 应运而生,将现有技术扩展到 6GHz 频段。Wi-Fi 6E 使用 WPA3 代替传统的 WPA2 来增强安全性,但它仍然使用 802.11ax,因此它算作 WiFi 6 的附加增强功能,而不是下一代标准。

此外,Wi-Fi 的演进还包括几个小众项目。例如,毫米波 Wi-Fi (802.11ad/ay) 以极低的覆盖范围为代价,支持高达 275 Gbps 的标称数据速率。大量用户无线访问的新兴交互式应用和新服务,例如8K 流媒体、AR/VR、游戏、远程办公、工业物联网、云计算等等,正在推动行业支持更高吞吐量的无线网络。

WiFi 7 还有多远?

Wi-Fi 7在Wi-Fi 6的基础上引入了320MHz带宽、4096-QAM、Multi-RU、多链路操作、增强MU-MIMO、多AP协作等技术,使得Wi-Fi 7相较于Wi-Fi 6将提供更高的数据传输速率和更低的时延。

由于国内暂未开放6G频段给Wi-Fi使用,Wi-Fi 7特性未能完整发挥。目前Wi-Fi7实际生效的有以下几项:

  • 4096QAM:每个符号位传输 12bit 数据,相比Wi-Fi 6 提升20%
  • 16x16MIMO:由8×8提升到16×16空间流,增强高并发能力
  • 多链路传输:AP 和 客户端之间同时建立多个链路进行数据通信,可以利用多条链路进行负载分担,提升单用户峰值吞吐量;利用多条链路进行多发选收,提高链路可靠性。
  • Multi-RU:Wi-Fi 6 标准下同一周期单用户只能分配到 1 个 RU ,必然有部分 RU 资源被闲置。Wi-Fi 7 突破了限制,允许单用户同时占用多 RU,且不同大小的 RU 之间可以进行组合,使得业务延时降低25%。

常见的无线组网模式

自治AP(胖AP)

此类AP设备是最早进入无线网络市场的类型,因其可以近乎“即插即用”的方式工作且无需额外的控制器,建网成本极低,非常适合例如家庭、小型商户和办公室等小型无线网场景,正如其名,每个自治AP都可独立工作并且内置了基础的网络配置、流量控制、认证等功能的完整逻辑,所以每个 AP 都需要单独手动配置。

瘦AP+ AC(无线AP控制器)

这种集中式方法涉及 2 个无线产品,包括 AP 和无线 AP 控制器 (AC)。AC在该解决方案中扮演着最重要的角色,AP 仅提供基本的无线电频率,在物理层传输 802.11 数据包,并通过无线接入点控制和配置协议(CAPWAP)与控制器建立通信。

AC 可处理多种功能,例如访问控制、AP 配置和监控、数据包转发、漫游、安全控制。它的工作原理就像无线网络的大脑一样,允许在一个地方配置和管理整个无线网络。这些使其适用于具有许多接入点的大型企业网络。

⑴ AC部署模式

  • 串联模式:AC 串接进网络,现在比较少见。
  • 旁路模式:AC只管理AP,旁路连接到汇聚交换机,让据包经由AC集中转发再传输到上层网络,适合在不改变现有网络的情况下对无线网络进行改造。

⑵ 数据转发模式:直接转发和隧道转发

并不是所有的数据包都需要经过集中式AC的封装和处理。某些情况下,数据包可以直接转发到网络的上层,但这仅适用于二层网络。隧道转发模式下,数据包被封装在CAPWAP隧道中,然后由AC转发到上层网络。如下图所示,CAPWAP隧道可能是控制数据隧道,也可能是业务数据隧道。

⑶ VLAN 规划和 AC 备份

VLAN规划主要包括两个方面,一是划分管理VLAN和业务VLAN,二是根据需要映射业务VLAN和SSID。由于是集中式部署,需要考虑冗余的设备、链路、交换策略,确保单点故障不影响整个系统功能,所以AP+AC架构中往往还需要多个AC互为备份。如果要为大量无线接入用户实现AP漫游,这对网络工程师来说可能是一个巨大的挑战。

  • 方案一:尽量在二层网络中规划漫游区域,但二层网络越大,安全性越差。
  • 方案二:建立连接两个WAC的隧道,将漫游流量传回原AC,但这会导致网络配置复杂,流量绕行,影响漫游性能。

除了配置相对复杂之外,多家供应商都有自己的专有协议,并在自己的产品中不断更改这些协议以改善通信。一般来说不同供应商的产品无法实现通信和交互。

无线Mesh网络(WMN)

无线mesh网络最初是为军事应用而开发的,它是一种由无需连接到有线端口的无线电设备组成的架构。无线Mesh网络中的每个设备都像路由器一样工作,其中各个节点不仅可以增强信号,还可以计算网络拓扑并进行路由,将长距离数据传输划分为多个短跳。当配置好主节点信息后,配置将⾃动同步给整个网络中其他的节点。

Mesh组网在难以或无法布线的情况下特别有用,例如临时的室内或室外区域、老旧历史建筑内等。目前已有不少厂商提供了面向企业和家庭的Mesh网络解决方案,不过一般来说无线 Mesh AP 不兼容多供应商。

在为较小的区域设计无线Mesh网络时,我们可能只需要将一两个Mesh AP连接到有线网络,如果范围扩大,我们仍然需要将多个Mesh AP 插入有线网络以确保网络可用性。部署Mesh AP 时,应综合考虑数量、传输距离和电源位置,并且应将它们放置得更近以获得更好的信号,因此往往需要更多的 AP 来覆盖给定的区域,成本随之上升(甚至会抵消其他方面节省的费用)。

值得注意的是该种组网方式最大的问题:带宽损耗。因为无线mesh组网会占用一半的带宽(还有无线传输本身的损耗),经过中继后的AP的吞吐量一般会下降约50%。

新一代云化园区无线组网模式

分布式网关转发

云网络很早就开始采用分布式的网关架构,将网关部署到更靠近终端的接入/边缘层。这种架构在转发路径、网络运维、表项空间、安全性等方面都有着显著的优势,也为企业网络的创新提供了一种很好的思路。

在这样的 IP Fabric 中,分布式网关意味着所有子网都存在于每个接入交换机上,它们会自动同步整个网络的端点 IP/MAC 和安全策略。这样,每个接入交换机都得到充分利用,所有跨子网流量的转发/漫游都由最近的交换机处理,而无需经过很长的路径到达集中式 AC。

更多信息请参阅:下一代园区网络,“分布式网关”实现更高效的无线漫游!

去CAPWAP的集中式转发

这种新型WLAN的设计同样基于云网络技术,相比上文的“分布式网关”其最大的优势在于无需改变现有的有线网络架构,只需部署一台可编程交换机接入核心交换机作为集中式网关,然后将旧AP替换为新AP即可完成无线网络的升级。

每台网关交换机拥有 3.2Tbps 吞吐量,轻松支持 10K+ 接入点 100K+ 无线终端。接入点通过 VXLAN 隧道与网关通信,接入点上运行多个 VTEP 以实现网络隔离。此外,接入点可以是完全基于开源技术的白盒硬件,而且相对于CAPWAP,VXLAN 技术也更加开放和标准化。

至于惯常思路里的无线AC,在新一代云化园区的无线网络中已经不存在了,取而代之的是使用云原生控制器(Cloud SDK)来统一管理园区内的有线和无线网络设备并下发配置——它既可以融合部署在网关交换机或其他本地设备上,也可以灵活部署在云端,从手机、电脑随时随地通过加密域名访问。

更多信息请参阅:园区无线网新架构:无CAPWAP的集中式转发

无线接入点(AP)部署要点

影响AP覆盖范围的因素

  • 无线电发射功率:室内AP不超过100mW/20dBm,室外AP不超过500mW/27dBm
  • 天线增益:室内天线增益一般在3-5dBi,室外天线增益一般大于10dBi
  • 部署环境:周围环境是否有强电磁场、障碍物遮挡、同类型Wi-Fi干扰、相似类型无线干扰,金属或者电子设备等干扰,相同信道频谱干扰
  • 天线和终端接收灵敏度:与终端设备有关

影响AP接入量的因素

芯片性能:同等无线速率下,如果是不同的芯片等级,能同时并发的用户数也不一样

射频:

  • 单射频AP最大接入128/512
  • 双射频AP最大接入256/1024
  • 三射频AP最大接入384/1536

用户流量模型:不同的用户流量也直接影响了能同时并发多少用户。

比如办公场景每人4M,推荐人数在30人;公共上网场景每人1M,推荐人数在60-100人

所需无线带宽估算

估算带宽时可以根据人数模糊概论(尤其适用高密场景),假如要求有1000人同时接入,实际使用时同时接入的人数在600人;接入的600人并非所有终端同时并发,算下来约会在200左右。

并发用户数=估算接入人数 * 并发比率

根据用户数与单用户速率需求分析可以得到总带宽需求:

总带宽=并发用户数 * 单用户速率

下表仅供参考(单用户速率参考)

AP通用部署原则

  • 尽量保证 AP 与终端之间可视无障碍物;
  • 优先考虑 AP 面积覆盖与间距合理,后考虑接入人数要求。
  • AP 以正六边形方式呈蜂窝状部署(同楼层平面,上下楼层同样)

AP的覆盖部署

  1. 尽量减少信号穿过障碍物数量,一般建议最多穿透单层墙体(典型120mm砖墙)设计,部分特殊场景(如石膏墙、玻璃墙体等) 可考虑穿过2层墙体
  2. 240mm厚砖墙、混凝土墙体和金属材质墙体不建议穿透覆盖,如在不满足约束条件时仍采用AP穿透覆盖方案,则会导致穿墙后 弱信号和漫游不连续问题,针对此种情况,如需保障良好覆盖和漫游,网络规划时需要基于客户墙体结构新增部署AP点位
  3. 重点区域、VIP区域尽量保证单独部署AP以保障用户体验。
  4. 路口或拐角单独部署AP,保证信号覆盖连续性(大于-65dBm ),相邻AP可建立邻居关系表,保障良好漫游体验。
  5. AP安装位置远离承重柱3米以上

几条重要规则

  1. 不要采取在走廊部署吸顶AP去覆盖房间,除非拿设备验证过。像学校宿舍这种场景,如果有运营收费更不能放走廊。
  2. 任何场景 AP 间距不少于 8 米。同信道 AP 间距不少于 15 米。
  3. AP 吸顶安装时,需考虑吊顶材质,若为无机复合板、石膏板,衰减较小,可安装于吊顶内,若铝制板,衰减较大,建议安装在吸顶安装于天花上,或用美化天线。
  4. 空旷的空间工勘时,一定要考虑后期放什么东西。比如宿舍,前期是空的,但之后可能放了金属桌子;空旷的仓库,之后可能放了很多金属货架。这些都会导致信号覆盖风险。
  5. 部署前务必先去现场工勘测试。不要“看图说话”。
  6. 室外项目中,为了保证使用效果,需使用定向天线,少用全向天线。不确定的情况找当地客服咨询。
  7. 室外项目务必要求施工方做好防水防雷,否则容易造成故障。

本文部分内容摘录整理自互联网公开知识,仅供各位读者参考,如有错漏和理解不当之处,敬请谅解、指正。

关注vx公号“星融元Asterfusion”,获取更多技术分享和最新产品动态。

相关文章:

企业级无线局域网(WLAN)架构:高效部署策略与技术指南

前言:无线网络直接影响整体网络性能,在当今企业网环境中,已有超过一半的数据流量通过无线信道传输,随着物联网技术的普及,无线网将承载更多的关键业务流量。企业/园区场景的无线网络值得考虑的关键因素有很多&#xff…...

【Python-办公自动化】1秒筛选12个月指定逻辑数值

欢迎来到"花花 Show Python",一名热爱编程和分享知识的技术博主。在这里,我将与您一同探索Python的奥秘,分享编程技巧、项目实践和学习心得。无论您是编程新手还是资深开发者,都能在这里找到有价值的信息和灵感。 自我介绍: 我热衷于将复杂的技术概念以简单易懂…...

Linux:进程替换

什么是进程替换? 我们的可执行程序,在运行起来的时候就上一个进程 一个进程就会有他的内核数据结构代码和数据 把一个已经成型的进程的代码和数据替换掉,这就叫进程替换 也就是可以通过系统调用把当前进程替换位我们需要的进程 那么替换…...

带你认识:数据仓库宽表~~~浅显易懂

1. 构建宽表的目的 讲宽表我想从为什么需要宽表入手,而不是一上来就抠概念。因为我觉得一门知识叫什么名字并不是最核心的,关键是搞清楚它的诞生背景以及如何在特定场景用好它。 构建宽表的目的很简单,就是为了"一站式"尽可能多的展示我们需要…...

记录|MessageBox.Show()的使用

目录 前言一、解析1.1 代码1.2 具体图片解析 更新时间 前言 遇到了其他人写的MessageBox.Show()的用法,有点懵,特此记录。 一、解析 1.1 代码 MessageBox.Show("登录失败!", "用户登录", MessageBoxButtons.OK, MessageBoxIcon.E…...

LabVIEW软件定制开发公司的前景如何?

LabVIEW软件定制开发公司的前景在当前的技术发展环境下展现出一定的潜力与挑战。这一领域的市场前景主要受到工业自动化、物联网、智能制造等技术趋势的推动,同时也受到行业竞争、技术更新以及人才市场的制约。 ​ 市场需求与增长潜力 随着工业4.0、物联网和智能制…...

vue3列表页搜索条件封装

搜索框组件 封装常用搜索框组件,类型有: input(默认值)selectselectV2 (value/label键值对数组)datePickeryear 集成新增、修改、删除、导入、导出按钮,支持slot自定义其他按钮封装搜索、重置按钮封装按钮权限封装导入弹框 本例仅…...

十三、切片的复制

1、使用函数copy 注意点:复制前必须再声明一个与要复制对象类型相同的切片 var cheeses make([]int, 5)cheeses[0] 1cheeses[1] 2cheeses[2] 3cheeses[3] 4cheeses[4] 5var myCheeses make([]int, 5)copy(myCheeses, cheeses) 使用copy函数将cheeses的数据…...

Java Stream API 的应用:提取并处理多属性集合

Java Stream API 是一个功能强大的工具,可以帮助开发者高效地处理集合数据。本篇博客将专注于一个具体的应用示例,即如何使用 Java Stream API 从一个对象列表中提取多个属性值,并进行过滤和去重。这种技术在处理需要从多个字段中提取数据的情…...

【技术方案】智慧城市大数据平台技术方案(Doc原件)

第1章 总体说明 1.1 建设背景 1.2 建设目标 1.3 项目建设主要内容 1.4 设计原则 第2章 对项目的理解 2.1 现状分析 2.2 业务需求分析 2.3 功能需求分析 第3章 大数据平台建设方案 3.1 大数据平台总体设计 3.2 大数据平台功能设计 3.3 平台应用 第4章 政策标准保障体系 4.1 政策…...

vue项目中引入字体文件样式

需求:关于一些样式需要自定义的,所以需要ui提供字体文件,然后引入项目中,就可实现自定义 首先看一下实现效果图: 第一步:新建一个字体样式文件用于放字体文件和css样式 font.css文件: /* 数字特殊字体 */ font-face {/*给字体命名*/font-family: DINCondBold;/*引入字体文件*…...

Android 11强制App固定user_rotation方向显示

Android11 强制App按照user_rotation方向显示。 diff --git a/services/core/java/com/android/server/wm/DisplayRotation.java b/services/core/java/com/android/server/wm/DisplayRotation.java index b1d349d8e93d..f7fd2983c668 100644 --- a/services/core/java/com/an…...

Harbor仓库push显示

背景: 在做测试时发现harbor仓库端口开放这,却一直登录不上去,重启harbor资源包docker-compose还是不行,修改了docker.service文件不行,json文件也不行,以下是涉及到的命令和报错(好像是这个&am…...

Windows 上设置 MySQL 的主从复制

Windows 上设置 MySQL 的主从复制 一、前言1. 环境准备2. 主服务器配置3. 从服务器配置6. 测试复制7. 注意事项 一、前言 在 Windows 上设置 MySQL 的主从复制涉及几个步骤。下面是一个详细的指南,帮助你实现这一过程。 1. 环境准备 安装 MySQL: 确保你…...

鸿蒙内核源码分析(原子操作篇) | 谁在为原子操作保驾护航

基本概念 在支持多任务的操作系统中,修改一块内存区域的数据需要“读取-修改-写入”三个步骤。然而同一内存区域的数据可能同时被多个任务访问,如果在修改数据的过程中被其他任务打断,就会造成该操作的执行结果无法预知。 使用开关中断的方…...

vue3+ts封装axios以及解决跨域问题

目录 一、前言二、封装axios三、 解决跨域四、调用接口五、运行结果 一、前言 前端请求后端数据时,会用到axios,但是如果不将axios封装好,会导致代码冗余 二次封装的好处如下: 求头能统一处理便于接口的统一管理解决回调地狱配置…...

各厂家BI对比

帆软BI、奥威BI、永洪BI、思迈特BI、亿信华辰BI是国内知名的BI产品,不少企业在选型BI软件时都需要对这些BI软件进行了解,从中选择适合自己的一款。经过过年的发展,这些BI(商业智能)软件各自在多个行业中都有广泛的应用…...

SQL - 触发器

触发器是在插入、更新和删除语句前后自动执行的一堆SQL代码,但是触发器被触发后只会执行一次,通常我们使用触发器增强数据的一致性。创建触发器 -- 创建触发器 drop trigger if exists payments_after_insert; delimiter $$ -- 在 payments表 insert 之后…...

Redis中缓存穿透、缓存击穿、缓存雪崩的详解

如何理解Redis缓存的穿透、击穿、雪崩问题: 缓存穿透 是指缓存中和数据库中都没有数据,而用户不断访问,导致这个不存在的数据每次请求都要到存储层去查询,这样失去了意义。 缓存穿透的解决方案有哪些? 缓存null值布隆过滤增强…...

[Meachines] [Medium] Popcorn SQLI+Upload File+PAM权限提升

信息收集 IP AddressOpening Ports10.10.10.6TCP:22,80 $ nmap -p- 10.10.10.6 --min-rate 1000 -sC -sV PORT STATE SERVICE VERSION 22/tcp open ssh OpenSSH 5.1p1 Debian 6ubuntu2 (Ubuntu Linux; protocol 2.0) | ssh-hostkey: …...

【Linux】python进程管理之supervisor安装使用教程

安装supervisor pip install supervisor生成配置文件 echo_supervisord_conf > /etc/supervisord.conf修改配置文件 vim /etc/supervisord.conf[unix_http_server] file/run/supervisor.sock ; the path to the socket file[supervisord] logfile/var/log/supervisord.log…...

BEM架构

视频 总结&#xff1a; BEM架构&#xff1a;一个命名类的规范而已&#xff0c;说白了就是如何给类起名字使用sass的目的&#xff1a;在<style>中模块化的使用类名&#xff0c;同时减少代码数量 1、 BEM架构 &#xff08;通义灵码查询结果&#xff09; BEM (Block Ele…...

物联网(IoT)详解

物联网&#xff08;IoT&#xff09;详解 1. IoT定义简介2. IoT工作原理3. IoT关键技术4. 物联网与互联网区别5. IoT使用场景6. 开源物联网平台7. 参考资料 1. IoT定义简介 首先第一个问题&#xff0c;什么是物联网&#xff08;IoT&#xff09;? 物联网&#xff08;英文&#…...

ansync/await 运行流程图

1、流程图&#xff1a; 2、await 之后的方法是何时执行&#xff0c;如何执行的&#xff1f; await 的方法在 Task 执行完成之后&#xff0c;通过调用 Finish 方法执行的。 具体的执行步骤是先将 MoveNext 方法注册到 Task 的回调里&#xff0c;然后在 Task 执行完后调用这个方法…...

生产环境docker nginx+php8.0镜像

生产环境docker nginxphp8.0镜像 自定义创建php8.0镜像&#xff0c;创建dockerfile FROM php:8.0-fpm# 安装系统依赖 RUN sed -i s|http://deb.debian.org/debian|http://mirrors.aliyun.com/debian|g /etc/apt/sources.list && \apt-get update && apt-get i…...

【Hadoop】核心组件深度剖析:HDFS、YARN与MapReduce的奥秘

&#x1f407;明明跟你说过&#xff1a;个人主页 &#x1f3c5;个人专栏&#xff1a;《大数据前沿&#xff1a;技术与应用并进》&#x1f3c5; &#x1f516;行路有良友&#xff0c;便是天堂&#x1f516; 目录 一、引言 1、Hadoop简介 2、Hadoop生态系统概览 二、Hadoo…...

Docker Swarm部署SpringCloud Alibaba微服务踩坑记录

为了方便部署和维护微服务项目&#xff0c;还是得上集群部署方案&#xff0c;决定采用Docker的swarm&#xff0c;为什么不是k8s&#xff0c;因为部署骑来又是个新的工具&#xff0c;之前就一直用的docker&#xff0c;自带了类k8s的工具&#xff0c;索性就直接使用swarm了&#…...

深入理解Spring Boot中的AOP应用:从基础组件到高级功能的实现

深入理解Spring Boot中的AOP应用&#xff1a;从基础组件到高级功能的实现 在现代Java开发中&#xff0c;Spring Boot因其简洁性和强大的功能而被广泛采用。而AOP&#xff08;面向切面编程&#xff09;作为Spring框架的核心特性之一&#xff0c;为开发者提供了在不修改业务代码的…...

《区块链与监管合规:在创新与规范之间寻求平衡》

区块链技术作为近年来最具创新性和颠覆性的技术之一&#xff0c;已经在金融、供应链、医疗、物联网等多个领域展现出巨大的潜力。然而&#xff0c;随着其应用的不断拓展&#xff0c;如何应对监管和合规性要求成为了区块链发展道路上一个至关重要的问题。 区块链的去中心化、匿…...

Nuxt3【服务器】server 详解

server 文件夹中的内容&#xff0c;会被自动注册为API和服务器处理程序。 服务器 API 对应路径 server/api server/api/hello.ts export default defineEventHandler((event) > {return {hello: world} })页面中使用 <script setup lang"ts"> const { da…...