聚成网络网站建设/seo 优化技术难度大吗
5G网络(接入网+承载网+核心网)
一、5G网络全网架构图
这张图分为左右两部分,右边为无线侧网络架构,左边为固定侧网络架构。
无线侧:手机或者集团客户通过基站接入到无线接入网,在接入网侧可以通过RTN或者IPRAN或者PTN解决方案来解决,将信号传递给BSC/RNC。在将信号传递给核心网,其中核心网内部的网元通过IP承载网来承载。
固网侧:家客和集客通过接入网接入,接入网主要是GPON,包括ONT、ODN、OLT。信号从接入网出来后进入城域网,城域网又可以分为接入层、汇聚层和核心层。BRAS为城域网的入口,主要作用是认证、鉴定、计费。信号从城域网走出来后到达骨干网,在骨干网处,又可以分为接入层和核心层。其中,移动叫CMNET、电信叫169、联通叫163。
固网侧和无线侧之间可以通过光纤进行传递,远距离传递主要是有波分产品来承担,波分产品主要是通过WDM+SDH的升级版来实现对大量信号的承载,OTN是一种信号封装协议,通过这种信号封装可以更好的在波分系统中传递。
最后信号要通过防火墙到达INTERNET,防火墙主要就是一个NAT,来实现一个地址的转换。这就是整个网络的架构。
看完宏观的架构,让我们深入进每个部分,去深入解读一下吧。
由于我们的手机打电话或者上网时,信号首先抵达的就是无线接入网,因此这里我们从无线接入网开始谈起。
什么是无线接入网?
首先大家看一下这个简化版的移动通信架构图:
无线接入网,也就是通常所说的RAN(Radio Access Network)。
简单地讲,就是把所有的手机终端,都接入到通信网络中的网络。
大家耳熟能详的基站(BaseStation),就是属于无线接入网(RAN)。
无线基站
虽然我们从1G开始,历经2G、3G,一路走到4G,号称是技术飞速演进,但整个通信网络的逻辑架构,一直都是:手机→接入网→承载网→核心网→承载网→接入网→手机。
通信过程的本质,就是编码解码、调制解调、加密解密。
要做的事情就这么多,各种设备各司其职,完成这些事情。
通信标准更新换代,无非是设备改个名字,或者挪个位置,功能本质并没有变化。
基站系统,乃至整个无线接入网系统,亦是如此。
一个基站,通常包括BBU(主要负责信号调制)、RRU(主要负责射频处理),馈线(连接RRU和天线),天线(主要负责线缆上导行波和空气中空间波之间的转换)。
基站的组成部分
在最早期的时候,BBU,RRU和供电单元等设备,是打包塞在一个柜子或一个机房里的。
基站一体化
后来,慢慢开始发生变化。
怎么变化呢?通信砖家们把它们拆分了。
首先,就是把RRU和BBU先给拆分了。
硬件上不再放在一起,RRU通常会挂在机房的墙上。
BBU有时候挂墙,不过大部分时候是在机柜里。
机柜里的BBU
再到后来,RRU不再放在室内,而是被搬到了天线的身边(所谓的“RRU拉远”),也就是分布式基站DBS3900,我们的余承东总裁当年在圣无线的时候就是负责这方面变革的专家,该产品一出解决了欧洲运营商的刚需,为打开欧洲市场立下了汗马功劳。
天线+RRU
这样,我们的RAN就变成了D-RAN,也就是Distributed RAN(分布式无线接入网)。
这样做有什么好处呢?
一方面,大大缩短了RRU和天线之间馈线的长度,可以减少信号损耗,也可以降低馈线的成本。
另一方面,可以让网络规划更加灵活。毕竟RRU加天线比较小,想怎么放,就怎么放。
说到这里,请大家注意:通信网络的发展演进,无非就是两个驱动力,一是为了更高的性能,二是为了更低的成本。
有时候成本比性能更加重要,如果一项技术需要花很多钱,但是带来的回报少于付出,它就很难获得广泛应用。
RAN的演进,一定程度上就是成本压力带来的结果。
在D-RAN的架构下,运营商仍然要承担非常巨大的成本。因为为了摆放BBU和相关的配套设备(电源、空调等),运营商还是需要租赁和建设很多的室内机房或方舱。
大量的机房=大量的成本
于是,运营商就想出了C-RAN这个解决方案。
C-RAN,意思是Centralized RAN,集中化无线接入网。这个C,不仅代表集中化,还代表了别的意思:
相比于D-RAN,C-RAN做得更绝。
除了RRU拉远之外,它把BBU全部都集中关押起来了。关在哪了?中心机房(CO,Central Office)。
这一大堆BBU,就变成一个BBU基带池。
C-RAN这样做,非常有效地解决了前文所说的成本问题。
可能在没有接触一线业务的时候,我们总以为设备运行后,运营商大量的前都用到了网络设备的维护中,但通过前期的勘测,我才了解到,运营商支持最大的成本不是通信设备维护,也不是雇佣维护人员,而是电费!
在整个移动通信网络中,基站的能耗占比大约是……
72%
56%
传统方式机房的功耗分析
采用C-RAN之后,通过集中化的方式,可以极大减少基站机房数量,减少配套设备(特别是空调)的能耗。
若干小机房,都进了大机房
机房少了,租金就少了,维护费用也少了,人工费用也跟着减少了。这笔开支节省,对饱受经营压力之苦的运营商来说,简直是久旱逢甘霖。
另外,拉远之后的RRU搭配天线,可以安装在离用户更近距离的位置。距离近了,发射功率就低了。
低的发射功率意味着用户终端电池寿命的延长和无线接入网络功耗的降低。说白了,你手机会更省电,待机时间会更长,运营商那边也更省电、省钱!
更重要一点,除了运营商可以省钱之外,采用C-RAN也会带来很大的社会效益,减少大量的碳排放(CO2)。
此外,分散的BBU变成BBU基带池之后,更强大了,可以统一管理和调度,资源调配更加灵活!
C-RAN下,基站实际上是“不见了”,所有的实体基站变成了虚拟基站。
所有的虚拟基站在BBU基带池中共享用户的数据收发、信道质量等信息。强化的协作关系,使得联合调度得以实现。小区之间的干扰,就变成了小区之间的协作(CoMP),大幅提高频谱使用效率,也提升了用户感知。
此外,BBU基带池既然都在CO(中心机房),那么,就可以对它们进行虚拟化了!
虚拟化,就是网元功能虚拟化(NFV)。简单来说,以前BBU是专门的硬件设备,非常昂贵,现在,找个x86服务器,装个虚拟机(VM,Virtual Machines),运行具备BBU功能的软件,然后就能当BBU用啦!
这样又可以帮客户节省好多的经费,不过这项技术短期内主要还是应用于核心网的网元中,前一段时间刷屏的亚马逊上销售的仅需每月90美元的核心网设备,就是利用这项核心技术。具体的我们留到后面再说,这里让我们继续聚焦于接入网。
正因为C-RAN这种集中化的方式会带来巨大的成本削减,所以,受到运营商的欢迎和追捧。
到了5G时代,接入网又发生了很大的变化。
在5G网络中,接入网不再是由BBU、RRU、天线这些东西组成了。而是被重构为以下3个功能实体:
CU(Centralized Unit,集中单元)
DU(Distribute Unit,分布单元)
AAU(Active Antenna Unit,有源天线单元)
CU:原BBU的非实时部分将分割出来,重新定义为CU,负责处理非实时协议和服务。
AAU:BBU的部分物理层处理功能与原RRU及无源天线合并为AAU。
DU:BBU的剩余功能重新定义为DU,负责处理物理层协议和实时服务。
简而言之,CU和DU,以处理内容的实时性进行区分。
简单来说,AAU=RRU+天线
如果还不太清楚,我们看一下下面这张图:
注意,在图中,EPC(就是4G核心网)被分为New Core(5GC,5G核心网)和MEC(移动网络边界计算平台)两部分。MEC移动到和CU一起,就是所谓的“下沉”(离基站更近)。
核心网部分功能下沉
之所以要BBU功能拆分、核心网部分下沉,根本原因,就是为了满足5G不同场景的需要。
5G是一个“万金油”网络,除了网速快之外,还有很多的特点,例如时延低、支持海量连接,支持高速移动中的手机,等等。
不同场景下,对于网络的特性要求(网速、时延、连接数、能耗…),其实是不同的,有的甚至是矛盾的。
例如,你看高清演唱会直播,在乎的是画质,时效上,整体延后几秒甚至十几秒,你是没感觉的。而你远程驾驶,在乎的是时延,时延超过10ms,都会严重影响安全。
所以,把网络拆开、细化,就是为了更灵活地应对场景需求。
说到这里,就要提到5G的一个关键概念——「切片」。
切片,简单来说,就是把一张物理上的网络,按应用场景划分为N张逻辑网络。不同的逻辑网络,服务于不同场景。
不同的切片,用于不同的场景
网络切片,可以优化网络资源分配,实现最大成本效率,满足多元化要求。
可以这么理解,因为需求多样化,所以要网络多样化;因为网络多样化,所以要切片;因为要切片,所以网元要能灵活移动;因为网元灵活移动,所以网元之间的连接也要灵活变化。
所以,才有了DU和CU这样的新架构。
依据5G提出的标准,CU、DU、AAU可以采取分离或合设的方式,所以,会出现多种网络部署形态:
回传、中传、前传,是不同实体之间的连接
上图所列网络部署形态,依次为:
① 与传统4G宏站一致,CU与DU共硬件部署,构成BBU单元。
③ DU集中部署,CU更高层次集中。
④ CU与DU共站集中部署,类似4G的C-RAN方式。
这些部署方式的选择,需要同时综合考虑多种因素,包括业务的传输需求(如带宽,时延等因素)、建设成本投入、维护难度等。
举个例子,如果前传网络为理想传输(有钱,光纤直接到天线那边),那么,CU与DU可以部署在同一个集中点。如果前传网络为非理想传输(没钱,没那么多光纤),DU可以采用分布式部署的方式。
好了,通过前面的讲解,我们应该已经大体对5G接入网的概念有了一定程度地了解,那么接下来我们再来简单地谈一谈5G承载网。
二、5G承载网
业界有一句话,就是承载先行。这也体现了承载网的重要性,为什么说它重要呢?因为承载网是基础资源,必须先于无线网部署到位。前面我们提到过5G的主要优点,总结而言,就三个:
1Gbps的用户体验速率:eMBB
毫秒级的延迟:uRLLC
百万级/k㎡的终端接入:mMTC
5G想要满足以上应用场景的要求,承载网是必须要进行升级改造的。
注意!划重点啦!下面这段文字很重要!
在5G网络中,之所以要功能划分、网元下沉,根本原因,就是为了满足不同场景的需要。前面再谈接入网的时候,我们提到了前传、回传等概念说的就是承载网。因为承载网的作用就是把网元的数据传到另外一个网元上。
这里我们再来具体看看,对于前、中、回传,到底怎么个承载法。
首先看前传(AAUDU)。主要有三种方式:
每个AAU与DU全部采用光纤点到点直连组网,如下图:
这就属于典型的“土豪”方式了,实现起来很简单,但最大的问题是光纤资源占用很多。随着5G基站、载频数量的急剧增加,对光纤的使用量也是激增。
所以,光纤资源比较丰富的区域,可以采用此方案。
第二种,无源WDM方式。
将彩光模块安装到AAU和DU上,通过无源设备完成WDM功能,利用一对或者一根光纤提供多个AAU到DU的连接。如下图:
什么是彩光模块?
光复用传输链路中的光电转换器,也称为WDM波分光模块。不同中心波长的光信号在同一根光纤中传输是不会互相干扰的,所以彩光模块实现将不同波长的光信号合成一路传输,大大减少了链路成本。
采用无源WDM方式,虽然节约了光纤资源,但是也存在着运维困难,不易管理,故障定位较难等问题。
第三种,有源WDM/OTN方式。
在AAU站点和DU机房中配置相应的WDM/OTN设备,多个前传信号通过WDM技术共享光纤资源。如下图:
这种方案相比无源WDM方案,组网更加灵活(支持点对点和组环网),同时光纤资源消耗并没有增加。
看完了前传,我们再来看看中传(DUCU)和回传(CU以上)。
由于中传与回传对于承载网在带宽、组网灵活性、网络切片等方面需求是基本一致的,所以可以使用统一的承载方案。
主要有两种方案:
分组增强型OTN+IPRAN
利用分组增强型OTN设备组建中传网络,回传部分继续使用现有IPRAN架构。
端到端分组增强型OTN
中传与回传网络全部使用分组增强型OTN设备进行组网。
这里我们仅仅对承载网做了最简单的讲解,至于承载网中采用的FlexE分片技术、减低时延的技术、SDN架构等等想了解的小伙伴建议自己查一查。
最后对5G承载网做一下总结:
架构:核心层采用Mesh组网,L3逐步下沉到接入层,实现前传回传统一。
分片:支持网络FlexE分片
SDN:支持整网的SDN部署,提供整网的智能动态管控。
带宽:接入环达到50GE以上,汇聚环达到200GE以上,核心层达到400GE。
三、5G核心网
由于核心网是我认为最难的一块网络,涉及的产品非常多,实话说我也还没有理解透,因此这里采用从2G到5G核心网演进的方式,帮助大家初步了解核心网。尤其会重点说一说,马上进入5G时代了,我们的核心网究竟会变成什么样子。
2G的核心网设备,是这样的:
2G核心网设备
大大宽宽的机柜,有好几层机框,然后每层机框插了很多的单板。单板很薄很轻,面板是塑料的,很容易坏。
这个设备,名字就叫MSC(Mobile Switching Center),移动交换中心。
我们来看看当时的网络架构图:
2G网络架构
可以看出来,组网非常简单,MSC就是核心网的最主要设备。HLR、EIR和用户身份有关,用于鉴权。
注意:之所以图上面写的是“MSC/VLR”,是因为VLR是一个功能实体,但是物理上,VLR和MSC是同一个硬件设备。相当于一个设备实现了两个角色,所以画在一起。HLR/AUC也是如此,HLR和AUC物理合一。
后来,到了2.5G。是的没错,2G和3G之间,还有一个2.5G——就是GPRS。
在之前2G只能打电话发短信的基础上,有了GPRS,就开始有了数据(上网)业务。
于是,核心网有了大变化,开始有了PS核心网。PS,Packet Switch,分组交换,包交换。
红色部分为PS交换
SGSN:Serving GPRS Support Node,服务GPRS支持节点
GGSN:Gateway GPRS Support Node,网关GPRS支持节点
SGSN和GGSN都是为了实现GPRS数据业务
很快,基站部分跟着变,2.5G到了3G,网络结构变成了这样:
3G基站,由RNC和NodeB组成。
机架内部
(单板比2G重,而且面板都是金属的)
(主要是提供网线、时钟线、信号线接口)
大家不要小看了硬件平台,实际上,就像最开始华为的C&C08、中兴的ZXJ10一样,设备商自家的很多不同业务的设备,都是基于同一个硬件平台进行开发的。不可能每个设备都单独开发硬件平台,既浪费时间和精力,又不利于生产和维护。
稳定可靠且处理能力强大的硬件平台,是产品的基石。
3G除了硬件变化和网元变化之外,还有两个很重要的思路变化。其中之一,就是IP化。
以前是TDM电路,就是E1线,中继电路。
粗重的E1线缆
IP化,就是TCP/IP,以太网。网线、光纤开始大量投入使用,设备的外部接口和内部通讯,都开始围绕IP地址和端口号进行。
硬件平台上的光纤
第二个思路变化,就是分离。
具体来说,就是网元设备的功能开始细化,不再是一个设备集成多个功能,而是拆分开,各司其事。
在3G阶段,是分离的第一步,叫做承载和控制分离。
在通信系统里面,说白了,就两个(平)面,用户面和控制面。如果不能理解两个面,就无法理解通信系统。
用户面,就是用户的实际业务数据,就是你的语音数据,视频流数据之类的。
而控制面,是为了管理数据走向的信令、命令。
这两个面,在通信设备内部,就相当于两个不同的系统,
2G时代,用户面和控制面没有明显分开。3G时代,把两个面进行了分离。
接着,SGSN变成MME,GGSN变成SGW/PGW,也就演进成了4G核心网:
4G LTE网络架构
(注意,基站里面的RNC没有了,为了实现扁平化,功能一部分给了核心网,一部分给了eNodeB)
MME:Mobility Management Entity,移动管理实体
SGW:Serving Gateway,服务网关
PGW:PDN Gateway,PDN网关
演进到4G核心网之前,硬件平台也提前升级了。
华为的USN系列,开始启用ATCA/ETCA平台(后来MME就用了它),还有UGW平台(后面PGW和SGW用了它,PGW和SGW物理上是一体的)。
中兴ATCA机框
ATCA:Advanced Telecom Computing Architecture,先进电信计算架构
ETCA:enhanced ATCA,增强型ATCA
中兴xGW(T8000)硬件平台
其实就是一个大路由器
在3G到4G的过程中,IMS出现了,取代传统CS(也就是MSC那些),提供更强大的多媒体服务(语音、图片短信、视频电话等)。IMS,使用的也主要是ATCA平台。
前面所说的V3平台,实际上很像一个电脑,有处理器(MP单板),有网卡(以太网接口卡,光纤接口卡)。而V4的ATCA平台,更像一台电脑了,前面你也看到了,名字就叫“先进电信计算平台”,也就是“电信服务器”嘛。
确切说,ATCA里面的业务处理单板,本身就是一台单板造型的“小型化电脑”,有处理器、内存、硬盘,我们俗称“刀片”。
ATCA业务处理板——“刀片”
(没找到中兴的,只能放个华为的)
既然都走到这一步,原来的专用硬件,越做越像IT机房里面的x86通用服务器,那么,不如干脆直接用x86服务器吧。
于是乎,虚拟化时代,就到来了。
虚拟化,就是网元功能虚拟化(Network Function Virtualization,NFV)。
说白了,硬件上,直接采用HP、IBM等IT厂家的x86平台通用服务器(目前以刀片服务器为主,节约空间,也够用)。
网元功能软件与硬件实体资源分离
注意了,虚拟化平台不等于5G核心网。也就是说,并不是只有5G才能用虚拟化平台。也不是用了虚拟化平台,就是5G。
硬件平台,永远都会提前准备。
到了5G,网络逻辑结构彻底改变了。
5G核心网,采用的是SBA架构(Service Based Architecture,即基于服务的架构)。名字比较好记,呵呵…
SBA架构,基于云原生构架设计,借鉴了IT领域的“微服务”理念。
把原来具有多个功能的整体,分拆为多个具有独自功能的个体。每个个体,实现自己的微服务。
单体式架构(Monolithic)→ 微服务架构(Microservices)
这样的变化,会有一个明显的外部表现,就是网元大量增加了。
红色虚线内为5G核心网
除了UPF之外,都是控制面
这些网元看上去很多,实际上,硬件都是在虚拟化平台里面虚拟出来的。这样一来,非常容易扩容、缩容,也非常容易升级、割接,相互之间不会造成太大影响(核心网工程师的福音)。
简而言之,5G核心网就是模块化、软件化。
5G核心网之所以要模块化,还有一个主要原因,就是为了“切片”。
很多人觉得“切片”很难,其实并非如此。
切片,就是“多种人格”。同一样东西,具有不同的特性,以应对不同的场景,也有点像“瑞士军刀”。
5G是一个天下一统的网络,通吃所有用户。设计之初,就需要它应对各种需求。
既然网络用途不同,当然要见招拆招。以一个死板的固定网络结构去应对,肯定是不行的。只有拆分成模块,灵活组队,才能搞定。
网络切片
例如,在低时延的场景中(例如自动驾驶),核心网的部分功能,就要更靠近用户,放在基站那边,这就是“下沉”。
部分核心网功能,“下沉”到了MEC
下沉不仅可以保证“低时延”,更能够节约成本,所以,是5G的一个杀手锏。
以上,就是从2G到5G,核心网整个的演进过程和思路。并不难理解吧?
简单概括,就是拆分、拆分、再拆分,软件、软件、更软件。
在将来,核心网的硬件和IT行业的硬件一样。而核心网的软件,就变成手机上面的app一样。
通过以上的讲解希望对大家理解无线通信的网络架构有所帮助!
转自:https://baijiahao.baidu.com/s?id=1674549523306215530&wfr=spider&for=pc
相关文章:

5G网络(接入网+承载网+核心网)
5G网络(接入网承载网核心网) 一、5G网络全网架构图 这张图分为左右两部分,右边为无线侧网络架构,左边为固定侧网络架构。 无线侧:手机或者集团客户通过基站接入到无线接入网,在接入网侧可以通过RTN或者IP…...
学习Markdown
https://shadows.brumm.af 欢迎使用Markdown编辑器 你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。 新的改变 我们对Markdown编辑器进行了一些…...

MySQL知识点总结(五)——锁
MySQL知识点总结(五)——锁 锁分类表锁 & 行锁如何添加表锁?如何添加行锁? 读锁 & 写锁行锁 & 间隙锁(gap lock)& 临键锁(next-key lock) 加锁机制分析可重复读隔离…...

IDEA 2023.2 配置 JavaWeb 工程
目录 1 不使用 Maven 创建 JavaWeb 工程 1.1 新建一个工程 1.2 配置 Tomcat 1.3 配置模块 Web 2 使用 Maven 配置 JavaWeb 工程 2.1 新建一个 Maven 工程 2.2 配置 Tomcat 💥提示:IDEA 只有专业版才能配置 JavaWeb 工程,若是社区版&am…...

软考40-上午题-【数据库】-关系代数运算2-专门的集合运算
一、专门的集合运算 1、投影 示例: 可以用属性名进行投影,也可以用列的序号进行投影。 2、选择 例题 1、笛卡尔积 2、投影 3、选择 3、连接 第一步都要算:笛卡尔积。 3-1、θ连接 示例: 3-2、等值连接 示例: 3-3、自…...

RHEL9安装Python2.7
RHEL9作为2022年5月新推出的版本,较RHEL8有了很多地方的改进,而且自带很多包,功能非常强大,稳定性和流畅度也较先前版本有了很大的提升。RHEL9自带python3.9,但是过高版本的python不可避免地会导致一些旧版本包地不兼容…...

更新至2022年世界各国数字经济发展相关指标(23个指标)
更新至2022年世界各国数字经济发展相关指标(23个指标) 1、时间:具体指标时间见下文 2、来源:WDI、世界银行、WEF、UNCTAD、SJR、国际电联 3、指标:移动网络覆盖率(2000-2022)、固定电话普及率…...

vue从flask获取数据并显示
记录一个前后端分离遇到的问题,即vue前端从flask后端获取数据。具体描述如下:flask只负责连接数据库并获取数据库的数据,并返回给前端vue;vue则需要获取后端返回的数据并显示。 方法如下,分别用一个vue组件和一个flas…...

Kafka生产常见问题分析与总结
Kafka生产常见问题分析与总结 消息丢失 生产者 acks 0 不需要等待任何Broker确认收到消息的回复就可以继续发消息 性能最高,但是最容易丢消息,对于数据丢失不敏感的场景可以使用,如大数据统计报表 acks 1 只要等待Broker中的leader成功写…...

重温MySQL
mysql 是什么 mysql 就是一个软件,专门用来管理文件的软件 关系型数据库:采用二维表结构组织和管理数据,并且规定了表和表间数据的关系. 表是由行和列构成,列包含一组命名的属性(也称字段),行包含一条记录.行和列的交集称为数据项 (也称字段值). 如何操作数据库 那就是用sq…...

构造函数,原型,实例,类的关系整理
视频来源js原型链、构造函数和类_哔哩哔哩_bilibili 如视频所说,构造函数的prototype指向原型,实例化的对象的__proto__指向原型,原型通过constructor指向构造函数,正如class里面的constructor方法就相当于Person构造函数一样&am…...

[极客挑战2019]HTTP
这道题考察的是http请求头字段的含义和使用; 具体如下 Referer:来源地址 User-Agent:客户端配置信息:浏览器类型、版本、系统类型等 X-Forwarded-For:代理地址,即数据发出的地址 开始解题:(对我这初学者真的烧脑&a…...

发布 rust 源码包 (crates.io)
rust 编程语言的包 (或者 库, library) 叫做 crate, 也就是软件中的一个组件. 一个完整的软件通常由多个 crate 组成, rust 编译器 (rustc) 一次编译一整个 crate, 不同的 crate 可以同时并行编译. rust 官方有一个集中发布开源包的网站 crates.io. 发布在这上面的 crate 可以…...

jQuery 基础、选择器和筛选器
【一】JQuery基础 【1】什么时Jquery (1)定义 jQuery是一个流行的JavaScript库,旨在简化JavaScript编程和处理HTML文档的任务。它提供了一组易于使用的功能和方法,可以加快开发速度并提高跨浏览器兼容性。一款轻量级的JS框架 …...

网络原理-UDP/TCP协议
协议 在网络通信中,协议是非常重要的一个概念,在下面,我将从不同层次对协议进行分析. 应用层 IT职业者与程序打交道最多的一层,调用系统提供的API写出的代码都是属于应用层的. 应用层中有很多现成的协议,但是更多的,我们需要根据实际情况来进行制作自定义协议. 自定义协议…...

C语言——实用调试技巧——第2篇——(第23篇)
坚持就是胜利 文章目录 一、实例二、如何写出好(易于调试)的代码1、优秀的代码2、示范(1)模拟 strcpy 函数方法一:方法二:方法三:有弊端方法四:对方法三进行优化assert 的使用 方法五…...

broom系列包: 整理模型输出结果
broom包 说明 tidy、augment和glance函数的输出总是一个小tibble。 输出从来没有行名。这确保了您可以将它与其他整洁的输出组合在一起,而不用担心丢失信息(因为R中的行名不能包含重复)。 有些列名保持一致,这样它们就可以跨不同的模型进行组合。 tidy(…...

Spring Boot 参数校验机制原理以及如何实现一个自定义校验注解
Spring Boot 参数校验原理 Spring Boot 提供了一种方便的参数校验机制,借助于 JSR-303(Bean Validation)规范,通过在方法参数上添加校验注解来实现参数校验。下面是 Spring Boot 参数校验的基本原理: JSR-303 标准注解…...

长短期记忆神经网络
目录 LSTM 神经网络架构 分类 LSTM 网络 回归 LSTM 网络 视频分类网络 更深的 LSTM 网络 网络层 分类、预测和预报 序列填充、截断和拆分 按长度对序列排序 填充序列 截断序列 拆分序列 指定填充方向 归一化序列数据 无法放入内存的数据 可视化 LSTM 层架构 …...

解决vscode每次git pull/push都需要输入账号密码
git如何设置用户名 邮箱 密码 //设置用户 git config --global user.name "xxx"//设置邮箱 git config --global user.email "xxxxxx.com"//设置密码 git config --global user.password "xxxxx"解决每次git pull/push操作都需要输入密码 git …...

Rancher实用篇-使用rancher,部署微服务应用
说到rancher,我们必须先了解一下k8s 一、k8s简介 Kubernetes(通常简写为 K8s)是一个开源的容器管理系统,由Google于2014年发起,并在2015年贡献给Cloud Native Computing Foundation (CNCF)进行维护。它基于Borg项目的…...

爬取m3u8视频
网址:https://www.bhlsm.com/cupfoxplay/609-3-1/ 相关代码: #采集网址:https://www.bhlsm.com/cupfoxplay/609-3-1/ #正常视频网站:完整视频内容 # pip install pycryptodomex #流媒体文件:M3U8(把完整的…...

抖音视频抓取软件的优势|视频评论内容提取器|批量视频下载
抖音视频抓取软件在市场上的优势明显: 功能强大:我们的软件支持关键词搜索抓取和分享链接单一视频提取两种方式,满足用户不同的需求。同时,支持批量处理数据,提高用户获取视频的效率。 操作简单:我们的软件…...

apidoc接口文档的自动更新与发布
文章目录 一、概述二、环境准备三、接口文档生成1. 下载源码2. 初始化3.执行 四、文档发布五,配置定时运行六,docker运行 一、概述 最近忙于某开源项目的接口文档整理,采用了apidoc来整理生成接口文档。 apidoc是一个可以将源代码中的注释直…...

Oracle EBS R12.1 FA 批量计划外折旧
在资产工作台上可以进行单个资产的计划外折旧,如果进行批量计划外折旧的话就需要进行开发客户化form或者webadi 进行数据上载后调用FA 标准API了 以下是标准API的demo示例 DECLAREl_trans_rec FA_API_TYPES.trans_rec_type; l_asset_hdr_rec FA_API_TYPES.asset_hdr…...

15.3 基于深度学习的WiFi指纹低成本地点识别
文献来源:Nowicki M, Wietrzykowski J. Low-effort place recognition with WiFi fingerprints using deep learning[C]//Automation 2017: Innovations in Automation, Robotics and Measurement Techniques 1. Springer International Publishing, 2017: 575-584. 摘要 使…...

Git基本操作(1)
Git基本操作(1) 初始化git本地仓库git本地仓库配置git config user.name 和git config user.emailgit config --unset user.name和git config --unset user.emailgit config --global 认识工作区,暂存区,版本库更深层次理解 git a…...

k8s-helm部署应用 19
Helm部署nfs-client-provisioner(存储类): 预先配置好外部的NFS服务器 部署 Helm部署nginx-ingress应用: 添加下载ingress 拉取 解开并修改 部署 测试 回收 helm部署metrics-server: 清除之前的metrics部署 下载…...

OGG-00918 映射中缺少键列 id.
2024-02-23 14:54:49 INFO OGG-02756 从线索文件获取了表 GISTAR.PXPH_PON_ROUTE 的定义。. The following columns did not default because of type mismatches: id OGG-00918 映射中缺少键列 id. 目标端有字段ID,由于mysql自增,所以只能是b…...

QT_day4
1.思维导图 2. 输入闹钟时间格式是小时:分钟 widget.cpp #include "widget.h" #include "ui_widget.h"Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget) {ui->setupUi(this);id startTimer(1000);flag1;speecher new QTextT…...