精华内容
下载资源
问答
  • 如果两台主机需要通信的话,最直接的方法是使用通信链路连接任意一对主机,这会导致 N2N^2N2 链路问题,在成本和技术方面都是不可行的;如果将每台主机与一台交换设备相连,这样每台主机仅需要一条链路,交换设备...

    数据交换

    网络核心解决的基本问题:通过数据交换来实现数据从源主机通过网络核心送达目的主机。

    为什么需要数据交换?如果两台主机需要通信的话,最直接的方法是使用通信链路连接任意一对主机,这会导致 N 2 N^2 N2 链路问题,在成本和技术方面都是不可行的;如果将每台主机与一台交换设备相连,这样每台主机仅需要一条链路,交换设备可以实现这些主机之间的数据转发,但局限于网络规模及主机间的距离;为了保证连通性并且适应不同的网络规模,于是将交换设备互连在一起形成交换网络,主机与交换网络中的某台交换设备相连,交换网络负责将数据转发至目的主机。
    在这里插入图片描述

    数据交换从技术分类上来看,可以大致分为三大类:电路交换、报文交换、分组交换。

    电路交换

    最典型电路交换网络:电话网络
    在这里插入图片描述

    电路交换的三个阶段:
    (1)建立连接(呼叫、电路建立)
    (2)通信
    (3)释放连接(拆除电路)

    电路交换在通信过程中最显著的特点是资源独占,通信连接通过多路复用技术(Multiplexing)来共享中继线,因此电路交换网络才能够同时进行多路通信。

    多路复用技术

    多路复用(Multiplexing),简称复用,将链路、网络资源(如带宽)划分为“资源片”,将资源片分配给各路通信,每路通信独占其分配到的资源片进行通信。
    也就是说资源独占其实是多路复用技术的特点,电路交换网络由于采用了多路复用技术,所以也具有资源独占的特点。
    在这里插入图片描述

    缺点:由于资源片被独占,当建立的连接不使用该资源传输数据时,这样的资源片被闲置(idle)。

    典型的多路复用技术:频分多路复用、时分多路复用、波分多路复用、码分多路复用。

    频分多路复用 FDM

    频分多路复用(Frequency-division multiplexing,FDM),是指载波带宽被划分为多种不同频带的子信道,每个子信道可以并行传送一路信号的一种多路复用技术(共享时间)
    用户在分配到一定的频带后,在通信过程中始终都占用这个频带,例如下图中四个不同颜色代表四个用户所占用的频带。
    在这里插入图片描述

    时分多路复用 TDM

    时间域被分成周期循环的等长的时分复用帧(TDM 帧),每个用户在每个 TDM 帧中占用固定序号的时隙,每个用户所占用的时隙是周期性出现(其周期就是 TDM 帧的长度)。
    时分多路复用的所有用户是在不同的时间占用相同的频带宽度(共享信道的频率)
    在这里插入图片描述

    波分多路复用 WDM

    波分复用就是光的频分复用,波分复用的实质就是频分复用。

    码分多路复用 CDM

    CDM 与 FDM(频分多路复用)和 TDM(时分多路复用)不同,它划分编码空间,它既共享信道的频率,也共享时间,是一种真正的动态复用技术。码分多路复用广泛应用于无线链路共享,如蜂窝网、卫星通信等。
    每个用户分配一个唯一的 m m m 比特码片序列(chipping sequence),其中 “0” 用 “-1” 表示,“1” 用 “+1” 表示,各用户使用相同频率载波,利用各自码片序列编码数据,编码信号=(原始数据)× (码片序列):

    • 发送比特 1(+1) 时站点就发送码片序列;
    • 发送比特 0(-1) 时就发送码片序列的反码。

    当两个或多个用户同时发送时,各路数据在信道中被线性相加。为了从信道中分离出各路信号,要求各用户的码片序列是相互正交的,即对任意两个用户的码片序列 S i , S j S_i,S_j Si,Sj,应满足:
    1 m S i ⋅ S j = { 1 , i = j 0 , i ≠ j             1 m S i ⋅ S j ‾ = { − 1 , i = j 0 , i ≠ j \frac{1}{m}S_i \cdot S_j = \left\{ \begin{array}{ll} 1, & i=j \\ 0, & i \neq j \end{array} \right. \ \ \ \ \ \ \ \ \ \ \ \frac{1}{m}S_i \cdot \overline{S_j} = \left\{ \begin{array}{ll} -1, & i=j \\ 0, & i \neq j \end{array} \right. m1SiSj={1,0,i=ji=j           m1SiSj={1,0,i=ji=j其中 S j ‾ \overline{S_j} Sj 是码片序列 S j S_j Sj 的反码。

    { d i } \{d_i\} {di} 为发送的原始数据序列,各用户的叠加向量为:
    P = ∑ i = 1 N d i ⋅ S i P=\sum_{i=1}^{N}d_i \cdot S_i P=i=1NdiSi接收用户利用发送用户的码片序列与信道中的叠加向量进行内积运算,就可以得到对应用户发送的数据(解码):
    1 m S i ⋅ P = { 1 , S i ∈ P − 1 S i ‾ ∈ P 0 , S i , S i ‾ ∉ P \frac{1}{m}S_i \cdot P= \left\{ \begin{array}{ll} 1, & S_i \in P \\ -1 & \overline{S_i} \in P \\ 0, & S_i,\overline{S_i} \notin P \end{array} \right. m1SiP=1,10,SiPSiPSi,Si/P举例:
    在这里插入图片描述

    报文交换

    报文指源主机(应用)发送的信息整体,如一个文件,报文整个地发送,一次一跳,报文交换是分组交换的前身

    每一个结点接收整个报文,检查目标结点地址,然后根据网络中的交通情况在适当的时候转发到下一个结点。经过多次的存储——转发,最后到达目标,因而这样的网络叫存储——转发网络。其中的交换结点要有足够大的存储空间(一般是磁盘),用以缓冲收到的长报文
    在这里插入图片描述

    分组交换

    分组:报文分拆出来的一序列相对较小的数据包,在拆分出的原始数据加上头部信息形成一个分组。因此,分组交换需要报文的拆分(源主机处)和重组(目的主机处),也会产生额外开销。

    分组交换采用的是统计多路复用(Statistical Multiplexing)各用户所占用的共享链路带宽并不是事先分配好的,而是采用动态分配带宽的方式:对于分组队列中的每一个分组,都是使用链路的全部带宽进行传输;但从统计角度来说,如果某用户发送的数据多,那么它所占用的共享链路带宽也要多,即按需共享链路
    在这里插入图片描述

    分组交换与报文交换都采用了存储-转发交换方式:

    • 报文交换以完整报文进行“存储-转发”
    • 分组交换以较小的分组进行“存储转发”
    • 分组交换中的交换节点(路由器)大部分时间可以并行地转发分组,而报文交换只能串行转发报文,且分组交换交换节点所需的缓冲空间要小于报文交换,从这点来看,分组交换要优于报文交换。

    分组交换与电路交换

    • 电路交换采用 FDM、TDM 等多路复用技术,而分组交换采用的是统计多路复用。
    • 分组交换允许更多用户同时使用网络,网络资源充分共享,因此分组交换适用于突发数据传输网络。
    • 分组交换无需呼叫建立、拆除,技术相对简单。
    • 分组交换可能产生拥塞:分组延迟和丢失,需要协议处理可靠数据传输和拥塞控制。
    • 电路交换是面向语音实时交互通信提出的,在分组交换网络中实现电路级性能保障还有很多问题需要解决。
    展开全文
  • 三种交换技术及其比较

    万次阅读 多人点赞 2016-02-23 11:27:34
    “电路交换”(Circuit Switching)又称为“线路交换”,是一种面向连接的服务。两台计算机通过通信子网进行数据电路交换之前,首先要在通信子网中建立一个实际的物理线路连接。最普通的电路交换例子是电话系统。...

    转自:http://blog.chinaunix.net/uid-21411227-id-1826932.html

    一.电路交换:

    “电路交换”(Circuit Switching)又称为“线路交换”,是一种面向连接的服务。两台计算机通过通信子网进行数据电路交换之前,首先要在通信子网中建立一个实际的物理线路连接。最普通的电路交换例子是电话系统。电路交换是根据交换机结构原理实现数据交换的。其主要任务是把要求通信的输入端与被呼叫的输出端接通,即由交换机负责在两者之间建立起一条物理通路。在完成接续任务之后,双方通信的内容和格式等均不受交换机的制约。电路交换方式的主要特点就是要求在通信的双方之间建立一条实际的物理通路,并且在整个通信过程中,这条通路被独占。

    1.电路交换的分类

    电路交换又分为时分交换(Time Division SwitchingTDS)和空分交换(Space Division SwitchingSDS)两种方式。

    时分交换是把时间划分为若干互不重叠的时隙,由不同的时隙建立不同的子信道,通过时隙交换网络完成话音的时隙搬移,从而实现入线和出线间话音交换的一种交换方式。时分交换的关键在于时隙位置的交换,而此交换是由主叫拨号所控制的。为了实现时隙交换,必须设置话音存储器。在抽样周期内有n个时隙分别存入n个存储器单元中,输入按时隙顺序存入。若输出端是按特定的次序读出的,这就可以改变时隙的次序,实现时隙交换。

    空分交换是指在交换过程中的入线通过在空间的位置来选择出线,并建立接续。通信结束后,随即拆除。比如,人工交换机上塞绳的一端连着入线塞孔,由话务员按主叫要求把塞绳的另一端连接被叫的出线塞孔,这就是最形象的空分交换方式。此外,机电式(电磁机械或继电器式)、步进制、纵横制、半电子、程控模拟用户交换机及宽带交换机都可以利用空分交换原理实现交换的要求。

    2.电路交换的三个阶段

    整个电路交换的过程包括建立线路、占用线路并进行数据传输和释放线路三个阶段。下面分别予以介绍。

    1)电路建立

    如同打电话先要通过拨号在通话双方间建立起一条通路一样,数据通信的电路交换方式在传输数据之前也要先经过呼叫过程建立一条端到端的电路。它的具体过程如下。

    ①发起方向某个终端站点(响应方站点)发送一个请求,该请求通过中间节点传输至终点。

    ②如果中间节点有空闲的物理线路可以使用,接收请求,分配线路,并将请求传输给下一中间节点;整个过程持续进行,直至终点。如果中间节点没有空闲的物理线路可以使用,整个线路的连接将无法实现。仅当通信的两个站点之间建立起物理线路之后,才允许进入数据传输阶段。

    ③线路一旦被分配,在未释放之前,其他站点将无法使用,即使某一时刻,线路上并没有数据传输。

    2)数据传输

    电路交换连接建立以后,数据就可以从源节点发送到中间节点,再由中间节点交换到终端节点。当然终端节点也可以经中间节点向源节点发送数据。这种数据传输有最短的传播延迟,并且没有阻塞的问题,除非有意外的线路或节点故障而使电路中断。但要求在整个数据传输过程中,建立的电路必须始终保持连接状态,通信双方的信息传输延迟仅取决于电磁信号沿媒体传输的延迟。

    3)电路拆除

    当站点之间的数据传输完毕,执行释放电路的动作。该动作可以由任一站点发起,释放线路请求通过途经的中间节点送往对方,释放线路资源。被拆除的信道空闲后,就可被其他通信使用。

    2.电路交换的特点与优缺点

    电路交换的特点如下。

    独占性:在建立电路之后、释放线路之前,即使站点之间无任何数据可以传输,整个线路仍不允许其他站点共享。就和打电话一样,我们讲话之前总要拨完号之后把这个连接建立,不管你讲不讲话,只要不挂机,这个连接是专为你所用的,如果没有可用的连接,用户将听到忙音。因此线路的利用率较低,并且容易引起接续时的拥塞。

    实时性好:一旦电路建立,通信双方的所有资源(包括线路资源)均用于本次通信,除了少量的传输延迟之外,不再有其他延迟,具有较好的实时性。

    电路交换设备简单,无需提供任何缓存装置。

    用户数据透明传输,要求收发双方自动进行速率匹配。

    电路交换方式的优点是数据传输可靠、迅速,数据不会丢失,且保持原来的序列。缺点是在某些情况下,电路空闲时的信道容量被浪费;另外,如数据传输阶段的持续时间不长,电路建立和拆除所用的时间就得不偿失。因此,它适用于远程批处理信息传输或系统间实时性要求高的大量数据传输的情况。这种通信方式的计费方法一般按照预订的带宽、距离和时间来计算。

    二.报文交换:

    所谓“存储交换”是指数据交换前,先通过缓冲存储器进行缓存,然后按队列进行处理。

    “存储交换”又分为“报文交换”(Message Switching)和“分组交换”(Packet Switching)两种,

    本节先介绍其中的“报文交换”。

    报文交换的基本思想是先将用户的报文存储在交换机的存储器中,当所需要的输出电路空闲时,再将该报文发向接收交换机或用户终端,所以,报文交换系统又称“存储—转发”系统。报文交换适合公众电报等。

    1.报文交换原理

    实现报文交换的过程如下。

    1)若某用户有发送报文需求,则需要先把拟发送的信息加上报文头,包括目标地址和源地址等信息,并将形成的报文发送给交换机。当交换机中的通信控制器检测到某用户线路有报文输入时,则向中央处理机发送中断请求,并逐字把报文送入内存器。

    2)中央处理机在接到报文后可以对报文进行处理,如分析报文头,判别和确定路由等,然后将报文转存到外部大容量存储器,等待一条空闲的输出线路。

    3)一旦线路空闲,就再把报文从外存储器调入内存储器,经通信控制器向线路发送出去。

    2.报文交换的特点

    “存储-转发”:报文交换方式首先是由交换机存储整个报文的,然后在有线路空闲时才进行必要的处理。

    1)不独占线路,多个用户的数据可以通过存储和排队共享一条线路。

    2)无线路建立的过程,提高了线路的利用率。

    3)支持多点传输(一个报文传输给多个用户,只需在报文中增加“地址字段”,中间节点根据地址字段进行复制和转发)。

    4)中间节点可进行数据格式的转换,方便接收站点的收取。

    5)增加了差错检测功能,避免出错数据的无谓传输等。

    3.报文交换方式的优缺点

    报文交换的优点有如下几个方面。

    线路利用率高,信道可为多个报文共享;

    不需要同时启动发送器和接收器来传输数据,网络可暂存;

    通信量大时仍可接收报文,但传输延迟会增加;

    一份报文可发往多个目的地;

    交换网络可对报文进行速度和代码等的转换;

    能够实现报文的差错控制和纠错处理等功能。

    报文交换方式的不足之处如下。

    中间节点必须具备很大的存储空间;

    由于“存储-转发”和排队,增加了数据传输的延迟;

    报文长度未作规定,报文只能暂存在磁盘上,磁盘读取占用了额外的时间;

    任何报文都必须排队等待:不同长度的报文要求不同长度的处理和传输时间,即使非常短小的报文(例如,交互式通信中的会话信息);

    当信道误码率高时,频繁重发,报文交换难以支持实时通信和交互式通信的要求。

    三.分组交换

    “分组交换”(Packet Switching)与“报文交换”技术类似,但规定了交换机处理和传输的数据长度(称之为分组),不同用户的数据分组可以交织地在网络中的物理链路上传输。是目前应用最广的交换技术,它结合了线路交换和报文交换两者的优点,使其性能达到最优。为了理解分组交换的优越性,先了解一下“报文”与“报文分组”的区别。

    1.报文与报文分组

    数据通过通信子网传输时可以有报文(Message)与报文分组(Packet)两种方式。报文传输不管发送数据的长度是多少,都把它当做一个逻辑单元发送;而报文分组传输方式则限制一次传输数据的最大长度,如果传输数据超过规定的最大长度,发送节点就将它分成多个报文分组发送。

    由于分组长度较短,在传输出错时,检错容易并且重发花费的时间较少;限定分组最大数据长度后,有利于提高存储转发节点的存储空间利用率与传输效率。公用数据网采用的是分组交换技术。

    2.分组交换原理

    分组交换原理与报文交换类似,但它规定了交换设备处理和传输的数据长度(称之为分组)。它可将长报文分成若干个小分组进行传输,且不同站点的数据分组可以交织在同一线路上传输,提高了线路的利用率。可以固定分组的长度,系统可以采用高速缓存技术来暂存分组,提高了转发的速度。分组交换方式在X.25分组交换网和以太网中都是典型应用。X.25分组交换网中分组长度为131字节,包括128字节的用户数据和3字节的控制信息;而在以太网中,分组长度为1500字节左右(较好的线路质量和较高的传输速率,分组的长度可以略有增加)。

    分组交换实现的关键是分组长度的选择。分组越小,冗余量(分组中的控制信息等)在整个分组中所占的比例越大,最终将影响用户数据传输的效率;分组越大,数据传输出错的概率也越大,增加重传的次数,也影响用户数据传输的效率。

    如何管理这些分组流呢?目前有两种方法:数据报和虚电路。

    在数据报中,每个数据包被独立处理,就像在报文交换中每个报文被独立处理那样,每个节点根据一个路由选择算法,为每个数据包选择一条路径,使它们的目的地相同。

    在虚电路中,数据在传送以前,发送和接收双方在网络中建立起一条逻辑上的连接,但它并不是像电路交换中那样有一条专用的物理通路,该路径上各个节点都有缓冲装置,服从于这条逻辑线路的安排,也就是按照逻辑连接的方向和接收的次序进行输出排队和转发,这样每个节点就不需要为每个数据包作路径选择判断,就好像收发双方有一条专用信道一样。

    3.分组交换的特点

    报文交换的缺点是由报文太长引起的,因此分组交换的思想是限制发送和转发的信息长度,将一个大报文分割成一定长度的信息单位,称为分组,并以分组为单位存储转发,在接收端再将各分组重新组装成一个完整的报文。分组交换试图兼有报文交换和线路交换的优点,而使两者的缺点最少。分组交换与报文交换的工作方式基本相同,形式上的主要差别在于:分组交换网中要限制所传输的数据单位的长度。

    四.三种数据交换技术的比较

    为了便于理解与区别,本节要对以上三种交换方式进行比较。首先从大的分类上进行比较,那就是“电路交换”与“存储交换”的比较。

    1.“存储交换”方式与“电路交换”方式的主要区别

    在存储交换方式中,发送的数据与目的地址、源地址和控制信息按照一定格式组成一个数据单元(报文或报文分组)进入通信子网。通信子网中的节点是通信控制处理机,它负责完成数据单元的接收、差错校验、存储、路选和转发功能,在电路交换方式中以上功能均不具备。

    存储转发相对电路交换方式具有以下优点。

    由于通信子网中的通信控制处理机可以存储分组,多个分组可以共享通信信道,线路利用率高。

    通信子网中通信控制处理机具有路选功能,可以动态选择报文分组通过通信子网的最佳路径。

    可以平滑通信量,提高系统效率。

    分组在通过通信子网中的每个通信控制处理机时,均要进行差错检查与纠错处理,因此可以减少传输错误,提高系统可靠性。

    通过通信控制处理机可以对不同通信速率的线路进行转换,也可以对不同的数据代码格式进行变换。

    2.电路交换与分组交换的比较

    1)从分配通信资源(主要是线路)方式上看

    电路交换方式静态地事先分配线路,造成线路资源的浪费,并导致接续时的困难;而分组交换方式可动态地(按序)分配线路,提高了线路的利用率,由于使用内存来暂存分组,可能出现因为内存资源耗尽,而中间节点不得不丢弃接到的分组的现象。

    2)从用户的灵活性方面看

    电路交换的信息传输是全透明的,用户可以自行定义传输信息的内容、速率、体积和格式等,可以同时传输语音、数据和图像等;分组交换的信息传输则是半透明的,用户必须按照分组设备的要求使用基本的参数。

    3)从收费方面看

    电路交换网络的收费仅限于通信的距离和使用的时间;分组交换网络的收费则考虑传输的字节(或者分组)数和连接的时间。

    3.以上三种数据交换技术总结如下。

    电路交换:在数据传送之前需建立一条物理通路,在线路被释放之前,该通路将一直被一对用户完全占有。

    报文交换:报文从发送方传送到接收方采用存储转发的方式。

    分组交换:此方式与报文交换类似,但报文被分成组传送,并规定了分组的最大长度,到达目的地后需重新将分组组装成报文。

     


    展开全文
  • 2019年常见Elasticsearch 面试题答案详细解析(下)

    千次阅读 多人点赞 2019-12-26 15:51:03
    (1)64 GB 内存的机器是非常理想的, 但是 32 GB 和 16 GB 机器也是很常见的。少于 8 GB 会适得其反。 (2)如果你要在更快的 CPUs 和更多的核心之间选择,选择更多的核心更好。多个内核提供的额外并发远胜过...

    前言

    1.Elasticsearch 是一个分布式的 RESTful 风格的搜索和数据分析引擎。

    (1)查询 : Elasticsearch 允许执行和合并多种类型的搜索 — 结构化、非结构化、地理位置、度量指标 — 搜索方式随心而变。

    (2)分析 : 找到与查询最匹配的十个文档是一回事。但是如果面对的是十亿行日志,又该如何解读呢?Elasticsearch 聚合让您能够从大处着眼,探索数据的趋势和模式。

    (3)速度 : Elasticsearch 很快。真的,真的很快。

    (4)可扩展性 : 可以在笔记本电脑上运行。 也可以在承载了 PB 级数据的成百上千台服务器上运行。

    (5)弹性 : Elasticsearch 运行在一个分布式的环境中,从设计之初就考虑到了这一点。

    (6)灵活性 : 具备多个案例场景。数字、文本、地理位置、结构化、非结构化。所有的数据类型都欢迎。

    (7)HADOOP & SPARK : Elasticsearch + Hadoop

    2.Elasticsearch是一个高度可伸缩的开源全文搜索和分析引擎。它允许您快速和接近实时地存储、搜索和分析大量数据。

    这里有一些使用Elasticsearch的用例:

    (1)你经营一个网上商店,你允许你的顾客搜索你卖的产品。在这种情况下,您可以使用Elasticsearch来存储整个产品目录和库存,并为它们提供搜索和自动完成建议。

    (2)你希望收集日志或事务数据,并希望分析和挖掘这些数据,以查找趋势、统计、汇总或异常。在这种情况下,你可以使用loghide (Elasticsearch/ loghide /Kibana堆栈的一部分)来收集、聚合和解析数据,然后让loghide将这些数据输入到Elasticsearch中。一旦数据在Elasticsearch中,你就可以运行搜索和聚合来挖掘你感兴趣的任何信息。

    (3)你运行一个价格警报平台,允许精通价格的客户指定如下规则:“我有兴趣购买特定的电子设备,如果下个月任何供应商的产品价格低于X美元,我希望得到通知”。在这种情况下,你可以抓取供应商的价格,将它们推入到Elasticsearch中,并使用其反向搜索(Percolator)功能来匹配价格走势与客户查询,并最终在找到匹配后将警报推送给客户。

    (4)你有分析/业务智能需求,并希望快速调查、分析、可视化,并对大量数据提出特别问题(想想数百万或数十亿的记录)。在这种情况下,你可以使用Elasticsearch来存储数据,然后使用Kibana (Elasticsearch/ loghide /Kibana堆栈的一部分)来构建自定义仪表板,以可视化对您来说很重要的数据的各个方面。此外,还可以使用Elasticsearch聚合功能对数据执行复杂的业务智能查询。

    Elasticsearch面试题

    1、详细描述一下 Elasticsearch 更新和删除文档的过程。

    2、详细描述一下 Elasticsearch 搜索的过程。

    3、在 Elasticsearch 中,是怎么根据一个词找到对应的倒排索引的?

    4、Elasticsearch 在部署时,对 Linux 的设置有哪些优化方法?

    5、对于 GC 方面,在使用 Elasticsearch 时要注意什么?

    6、Elasticsearch 对于大数据量(上亿量级)的聚合如何实现?

    7、在并发情况下,Elasticsearch 如果保证读写一致?

    8、如何监控 Elasticsearch 集群状态?

    9、介绍下你们电商搜索的整体技术架构。

    10、介绍一下你们的个性化搜索方案?

    11、是否了解字典树?

    12、拼写纠错是如何实现的?

     

    1、详细描述一下 Elasticsearch 更新和删除文档的过程。

    (1)删除和更新也都是写操作,但是 Elasticsearch 中的文档是不可变的,因此不能被删除或者改动以展示其变更;

    (2)磁盘上的每个段都有一个相应的.del 文件。当删除请求发送后,文档并没有真的被删除,而是在.del 文件中被标记为删除。该文档依然能匹配查询,但是会在结果中被过滤掉。当段合并时,在.del 文件中被标记为删除的文档将不会被写入新段。

    (3)在新的文档被创建时,Elasticsearch 会为该文档指定一个版本号,当执行更新时,旧版本的文档在.del 文件中被标记为删除,新版本的文档被索引到一个新段。旧版本的文档依然能匹配查询,但是会在结果中被过滤掉。

     

    2、详细描述一下 Elasticsearch 搜索的过程。

    (1)搜索被执行成一个两阶段过程,我们称之为 Query Then Fetch;

    (2)在初始查询阶段时,查询会广播到索引中每一个分片拷贝(主分片或者副本分片)。 每个分片在本地执行搜索并构建一个匹配文档的大小为 from + size 的优先队列。

    PS:在搜索的时候是会查询 Filesystem Cache 的,但是有部分数据还在 MemoryBuffer,所以搜索是近实时的。

    (3)每个分片返回各自优先队列中 所有文档的 ID 和排序值 给协调节点,它合并这些值到自己的优先队列中来产生一个全局排序后的结果列表。

    (4)接下来就是 取回阶段,协调节点辨别出哪些文档需要被取回并向相关的分片提交多个 GET 请求。每个分片加载并 丰 富 文档,如果有需要的话,接着返回文档给协调节点。一旦所有的文档都被取回了,协调节点返回结果给客户端。

    (5)补充:Query Then Fetch 的搜索类型在文档相关性打分的时候参考的是本分片的数据,这样在文档数量较少的时候可能不够准确,DFS Query Then Fetch 增加了一个预查询的处理,询问 Term 和 Document frequency,这个评分更准确,但是性能会变差。*

     

    3、在 Elasticsearch 中,是怎么根据一个词找到对应的倒排索引的?

    (1)Lucene的索引过程,就是按照全文检索的基本过程,将倒排表写成此文件格式的过程。

    (2)Lucene的搜索过程,就是按照此文件格式将索引进去的信息读出来,然后计算每篇文档打分(score)的过程。

     

    4、Elasticsearch 在部署时,对 Linux 的设置有哪些优化方法?

    (1)64 GB 内存的机器是非常理想的, 但是 32 GB 和 16 GB 机器也是很常见的。少于 8 GB 会适得其反。

    (2)如果你要在更快的 CPUs 和更多的核心之间选择,选择更多的核心更好。多个内核提供的额外并发远胜过稍微快一点点的时钟频率。

    (3)如果你负担得起 SSD,它将远远超出任何旋转介质。 基于 SSD 的节点,查询和索引性能都有提升。如果你负担得起,SSD 是一个好的选择。

    (4)即使数据中心们近在咫尺,也要避免集群跨越多个数据中心。绝对要避免集群跨越大的地理距离。

    (5)请确保运行你应用程序的 JVM 和服务器的 JVM 是完全一样的。 在Elasticsearch 的几个地方,使用 Java 的本地序列化。

    (6)通过设置 gateway.recover_after_nodes、gateway.expected_nodes、gateway.recover_after_time 可以在集群重启的时候避免过多的分片交换,这可能会让数据恢复从数个小时缩短为几秒钟。

    (7)Elasticsearch 默认被配置为使用单播发现,以防止节点无意中加入集群。只有在同一台机器上运行的节点才会自动组成集群。最好使用单播代替组播。

    (8)不要随意修改垃圾回收器(CMS)和各个线程池的大小。

    (9)把你的内存的(少于)一半给 Lucene(但不要超过 32 GB!),通过ES_HEAP_SIZE 环境变量设置。

    (10)内存交换到磁盘对服务器性能来说是致命的。如果内存交换到磁盘上,一个100 微秒的操作可能变成 10 毫秒。 再想想那么多 10 微秒的操作时延累加起来。 不难看出 swapping 对于性能是多么可怕。

    (11)Lucene 使用了大 量 的文件。同时,Elasticsearch 在节点和 HTTP 客户端之间进行通信也使用了大量的套接字。 所有这一切都需要足够的文件描述符。你应该增加你的文件描述符,设置一个很大的值,如 64,000。

    补充:索引阶段性能提升方法

    (1)使用批量请求并调整其大小:每次批量数据 5–15 MB 大是个不错的起始点。

    (2)存储:使用 SSD

    (3)段和合并:Elasticsearch 默认值是 20 MB/s,对机械磁盘应该是个不错的设置。如果你用的是 SSD,可以考虑提高到 100–200 MB/s。如果你在做批量导入,完全不在意搜索,你可以彻底关掉合并限流。另外还可以增加index.translog.flush_threshold_size 设置,从默认的 512 MB 到更大一些的值,比如 1 GB,这可以在一次清空触发的时候在事务日志里积累出更大的段。

    (4)如果你的搜索结果不需要近实时的准确度,考虑把每个索引的index.refresh_interval 改到 30s。

    (5)如果你在做大批量导入,考虑通过设置 index.number_of_replicas: 0 关闭副本。

     

    5、对于 GC 方面,在使用 Elasticsearch 时要注意什么?

    (1)倒排词典的索引需要常驻内存,无法 GC,需要监控 data node 上 segmentmemory 增长趋势。

    (2)各类缓存,field cache, filter cache, indexing cache, bulk queue 等等,要设置合理的大小,并且要应该根据最坏的情况来看 heap 是否够用,也就是各类缓存全部占满的时候,还有 heap 空间可以分配给其他任务吗?避免采用 clear cache等“自欺欺人”的方式来释放内存。

    (3)避免返回大量结果集的搜索与聚合。确实需要大量拉取数据的场景,可以采用scan & scroll api 来实现。

    (4)cluster stats 驻留内存并无法水平扩展,超大规模集群可以考虑分拆成多个集群通过 tribe node 连接。

    (5)想知道 heap 够不够,必须结合实际应用场景,并对集群的 heap 使用情况做持续的监控。

    (6)根据监控数据理解内存需求,合理配置各类circuit breaker,将内存溢出风险降低到最低

     

    6、Elasticsearch 对于大数据量(上亿量级)的聚合如何实现?

    Elasticsearch 提供的首个近似聚合是 cardinality 度量。它提供一个字段的基数,即该字段的 distinct 或者 unique 值的数目。它是基于 HLL 算法的。HLL 会先对我们的输入作哈希运算,然后根据哈希运算的结果中的 bits 做概率估算从而得到基数。其特点是:可配置的精度,用来控制内存的使用(更精确 = 更多内存);小的数据集精度是非常高的;我们可以通过配置参数,来设置去重需要的固定内存使用量。无论数千还是数十亿的唯一值,内存使用量只与你配置的精确度相关。

     

    7、在并发情况下,Elasticsearch 如果保证读写一致?

    (1)可以通过版本号使用乐观并发控制,以确保新版本不会被旧版本覆盖,由应用层来处理具体的冲突;

    (2)另外对于写操作,一致性级别支持 quorum/one/all,默认为 quorum,即只有当大多数分片可用时才允许写操作。但即使大多数可用,也可能存在因为网络等原因导致写入副本失败,这样该副本被认为故障,分片将会在一个不同的节点上重建。

    (3)对于读操作,可以设置 replication 为 sync(默认),这使得操作在主分片和副本分片都完成后才会返回;如果设置 replication 为 async 时,也可以通过设置搜索请求参数_preference 为 primary 来查询主分片,确保文档是最新版本。

     

    8、如何监控 Elasticsearch 集群状态?

    Marvel 让你可以很简单的通过 Kibana 监控 Elasticsearch。你可以实时查看你的集群健康状态和性能,也可以分析过去的集群、索引和节点指标。

     

    9、介绍下你们电商搜索的整体技术架构。

     

    10、介绍一下你们的个性化搜索方案?

    基于word2vec和Elasticsearch实现个性化搜索

    (1)基于word2vec、Elasticsearch和自定义的脚本插件,我们就实现了一个个性化的搜索服务,相对于原有的实现,新版的点击率和转化率都有大幅的提升;

    (2)基于word2vec的商品向量还有一个可用之处,就是可以用来实现相似商品的推荐;

    (3)使用word2vec来实现个性化搜索或个性化推荐是有一定局限性的,因为它只能处理用户点击历史这样的时序数据,而无法全面的去考虑用户偏好,这个还是有很大的改进和提升的空间;

     

    11、是否了解字典树?

    常用字典数据结构如下所示:

    Trie 的核心思想是空间换时间,利用字符串的公共前缀来降低查询时间的开销以达到提高效率的目的。它有 3 个基本性质:

    1)根节点不包含字符,除根节点外每一个节点都只包含一个字符。

    2)从根节点到某一节点,路径上经过的字符连接起来,为该节点对应的字符串。

    3)每个节点的所有子节点包含的字符都不相同。

    (1)可以看到,trie 树每一层的节点数是 26^i 级别的。所以为了节省空间,我们还可以用动态链表,或者用数组来模拟动态。而空间的花费,不会超过单词数×单词长度。

    (2)实现:对每个结点开一个字母集大小的数组,每个结点挂一个链表,使用左儿子右兄弟表示法记录这棵树;

    (3)对于中文的字典树,每个节点的子节点用一个哈希表存储,这样就不用浪费太大的空间,而且查询速度上可以保留哈希的复杂度 O(1)。

    12、拼写纠错是如何实现的?

    (1)拼写纠错是基于编辑距离来实现;编辑距离是一种标准的方法,它用来表示经过插入、删除和替换操作从一个字符串转换到另外一个字符串的最小操作步数;

    (2)编辑距离的计算过程:比如要计算 batyu 和 beauty 的编辑距离,先创建一个7×8 的表(batyu 长度为 5,coffee 长度为 6,各加 2),接着,在如下位置填入黑色数字。其他格的计算过程是取以下三个值的最小值:

    如果最上方的字符等于最左方的字符,则为左上方的数字。否则为左上方的数字+1。(对于 3,3 来说为 0)

    左方数字+1(对于 3,3 格来说为 2)

    上方数字+1(对于 3,3 格来说为 2)

    最终取右下角的值即为编辑距离的值 3。

     

    对于拼写纠错,我们考虑构造一个度量空间(Metric Space),该空间内任何关系满足以下三条基本条件:

    d(x,y) = 0 -- 假如 x 与 y 的距离为 0,则 x=y

    d(x,y) = d(y,x) -- x 到 y 的距离等同于 y 到 x 的距离

    d(x,y) + d(y,z) >= d(x,z) -- 三角不等式

    (1)根据三角不等式,则满足与 query 距离在 n 范围内的另一个字符转 B,其与 A的距离最大为 d+n,最小为 d-n。

    (2)BK 树的构造就过程如下:每个节点有任意个子节点,每条边有个值表示编辑距离。所有子节点到父节点的边上标注 n 表示编辑距离恰好为 n。比如,我们有棵树父节点是”book”和两个子节点”cake”和”books”,”book”到”books”的边标号 1,”book”到”cake”的边上标号 4。从字典里构造好树后,无论何时你想插入新单词时,计算该单词与根节点的编辑距离,并且查找数值为d(neweord, root)的边。递归得与各子节点进行比较,直到没有子节点,你就可以创建新的子节点并将新单词保存在那。比如,插入”boo”到刚才上述例子的树中,我们先检查根节点,查找 d(“book”, “boo”) = 1 的边,然后检查标号为1 的边的子节点,得到单词”books”。我们再计算距离 d(“books”, “boo”)=2,则将新单词插在”books”之后,边标号为 2。

    3、查询相似词如下:计算单词与根节点的编辑距离 d,然后递归查找每个子节点标号为 d-n 到 d+n(包含)的边。假如被检查的节点与搜索单词的距离 d 小于 n,则返回该节点并继续查询。比如输入 cape 且最大容忍距离为 1,则先计算和根的编辑距离 d(“book”, “cape”)=4,然后接着找和根节点之间编辑距离为 3 到5 的,这个就找到了 cake 这个节点,计算 d(“cake”, “cape”)=1,满足条件所以返回 cake,然后再找和 cake 节点编辑距离是 0 到 2 的,分别找到 cape 和cart 节点,这样就得到 cape 这个满足条件的结果。

    最后

    欢迎大家关注我的公众号【程序员追风】,2019年多家公司java面试题整理了1000多道400多页pdf文档,文章都会在里面更新,整理的资料也会放在里面。

    喜欢文章记得关注我点个赞哟,感谢支持!

    展开全文
  • 数据交换的三种技术

    千次阅读 2019-09-18 05:30:46
    网络交换技术共经历了四个发展阶段,电路交换技术、报文交换技术、分组交换技术和ATM技术。公众电话网(PSTN网)和移动网(包括GSM网和CDMA网)采用的都是电路交换技术,它的基本特点是采用面向连接的方式,在双方...
    1.电路交换技术
    
      网络交换技术共经历了四个发展阶段,电路交换技术、报文交换技术、分组交换技术和ATM技术。公众电话网(PSTN网)和移动网(包括GSM网和CDMA网)采用的都是电路交换技术,它的基本特点是采用面向连接的方式,在双方进行通信之前,需要为通信双方分配一条具有固定带宽的通信电路,通信双方在通信过程中将一直占用所分配的资源,直到通信结束,并且在电路的建立和释放过程中都需要利用相关的信令协议。这种方式的优点是在通信过程中可以保证为用户提供足够的带宽,并且实时性强,时延小,交换设备成本较低,但同时带来的缺点是网络的带宽利用率不高,一旦电路被建立不管通信双方是否处于通话状态,分配的电路都一直被占用。
    
    2.报文交换技术
    
      报文交换技术和分组交换技术类似,也是采用存储转发机制,但报文交换是以报文作为传送单元,由于报文长度差异很大,长报文可能导致很大的时延,并且对每个节点来说缓冲区的分配也比较困难,为了满足各种长度报文的需要并且达到高效的目的,节点需要分配不同大小的缓冲区,否则就有可能造成数据传送的失败。在实际应用中报文交换主要用于传输报文较短、实时性要求较低的通信业务,如公用电报网。报文交换比分组交换出现的要早一些,分组交换是在报文交换的基础上,将报文分割成分组进行传输,在传输时延和传输效率上进行了平衡,从而得到广泛的应用。
    
    3.分组交换技术
    
      电路交换技术主要适用于传送话音相关的业务,这种网络交换方式对于数据业务而言,有着很大的局限性。首先数据通信具有很强的突发性,峰值比特率和平均比特率相差较大,如果采用电路交换技术,若按峰值比特率分配电路带宽则会造成资源的极大浪费,如果按照平均比特率分配带宽,则会造成数据的大量丢失。其次是和语音业务比较起来,数据业务对时延没有严格的要求,但需要进行无差错的传输,而语音信号可以有一定程度的失真但实时性一定要高。分组交换技术就是针对数据通信业务的特点而提出的一种交换方式,它的基本特点是面向无连接而采用存储转发的方式,将需要传送的数据按照一定的长度分割成许多小段数据,并在数据之前增加相应的用于对数据进行选路和校验等功能的头部字段,作为数据传送的基本单元即分组。采用分组交换技术,在通信之前不需要建立连接,每个节点首先将前一节点送来的分组收下并保存在缓冲区中,然后根据分组头部中的地址信息选择适当的链路将其发送至下一个节点,这样在通信过程中可以根据用户的要求和网络的能力来动态分配带宽。分组交换比电路交换的电路利用率高,但时延较大。
    
    分组交换提供的业务
          交换虚电路——指在两个用户之间建立的临时逻辑连接。 永久虚电路——指在两个用户之间建立的永久性的逻辑连接。用户一开机,一条永久虚电路就自动建立起来了。
    
    分组交换网络
    
    数据报网络是一个面向无连接的网络
    
    虚电路网络是一个面向连接的网络为每条连接中的连接维护状态信息.
    
    路、报文、分组交换的特点和比较
    
    (1)电路交换:由于电路交换在通信之前要在通信双方之间建立一条被双方独占的物理通路(由通信双方之间的交换设备和链路逐段连接而成),因而有以下优缺点。
    优点:
    ①由于通信线路为通信双方用户专用,数据直达,所以传输数据的时延非常小。
    ②通信双方之间的物理通路一旦建立,双方可以随时通信,实时性强。
    ③双方通信时按发送顺序传送数据,不存在失序问题。
    ④电路交换既适用于传输模拟信号,也适用于传输数字信号。
    ⑤电路交换的交换的交换设备(交换机等)及控制均较简单。
    缺点:
    ①电路交换的平均连接建立时间对计算机通信来说嫌长。
    ②电路交换连接建立后,物理通路被通信双方独占,即使通信线路空闲,也不能供其他用户使用,因而信道利用低。
    ③电路交换时,数据直达,不同类型、不同规格、不同速率的终端很难相互进行通信,也难以在通信过程中进行差错控制。
    
    (2)报文交换:报文交换是以报文为数据交换的单位,报文携带有目标地址、源地址等信息,在交换结点采用存储转发的传输方式,因而有以下优缺点:
    优点:
    ①报文交换不需要为通信双方预先建立一条专用的通信线路,不存在连接建立时延,用户可随时发送报文。
    ②由于采用存储转发的传输方式,使之具有下列优点:a.在报文交换中便于设置代码检验和数据重发设施,加之交换结点还具有路径选择,就可以做到某条传输路径发生故障时,重新选择另一条路径传输数据,提高了传输的可靠性;b.在存储转发中容易实现代码转换和速率匹配,甚至收发双方可以不同时处于可用状态。这样就便于类型、规格和速度不同的计算机之间进行通信;c.提供多目标服务,即一个报文可以同时发送到多个目的地址,这在电路交换中是很难实现的;d.允许建立数据传输的优先级,使优先级高的报文优先转换。
    ③通信双方不是固定占有一条通信线路,而是在不同的时间一段一段地部分占有这条物理通路,因而大大提高了通信线路的利用率。
    缺点:
    ①由于数据进入交换结点后要经历存储、转发这一过程,从而引起转发时延(包括接收报文、检验正确性、排队、发送时间等),而且网络的通信量愈大,造成的时延就愈大,因此报文交换的实时性差,不适合传送实时或交互式业务的数据。
    ②报文交换只适用于数字信号。
    ③由于报文长度没有限制,而每个中间结点都要完整地接收传来的整个报文,当输出线路不空闲时,还可能要存储几个完整报文等待转发,要求网络中每个结点有较大的缓冲区。为了降低成本,减少结点的缓冲存储器的容量,有时要把等待转发的报文存在磁盘上,进一步增加了传送时延。
    
    (3)分组交换:分组交换仍采用存储转发传输方式,但将一个长报文先分割为若干个较短的分组,然后把这些分组(携带源、目的地址和编号信息)逐个地发送出去,因此分组交换除了具有报文的优点外,与报文交换相比有以下优缺点:
    优点:
    ①加速了数据在网络中的传输。因为分组是逐个传输,可以使后一个分组的存储操作与前一个分组的转发操作并行,这种流水线式传输方式减少了报文的传输时间。此外,传输一个分组所需的缓冲区比传输一份报文所需的缓冲区小得多,这样因缓冲区不足而等待发送的机率及等待的时间也必然少得多。
    ②简化了存储管理。因为分组的长度固定,相应的缓冲区的大小也固定,在交换结点中存储器的管理通常被简化为对缓冲区的管理,相对比较容易。
    ③减少了出错机率和重发数据量。因为分组较短,其出错机率必然减少,每次重发的数据量也就大大减少,这样不仅提高了可靠性,也减少了传输时延。
    ④由于分组短小,更适用于采用优先级策略,便于及时传送一些紧急数据,因此对于计算机之间的突发式的数据通信,分组交换显然更为合适些。
    缺点:
    ①尽管分组交换比报文交换的传输时延少,但仍存在存储转发时延,而且其结点交换机必须具有更强的处理能力。
    ②分组交换与报文交换一样,每个分组都要加上源、目的地址和分组编号等信息,使传送的信息量大约增大5%~10%,一定程度上降低了通信效率,增加了处理的时间,使控制复杂,时延增加。
    ③当分组交换采用数据报服务时,可能出现失序、丢失或重复分组,分组到达目的结点时,要对分组按编号进行排序等工作,增加了麻烦。若采用虚电路服务,虽无失序问题,但有呼叫建立、数据传输和虚电路释放三个过程。
    总之,若要传送的数据量很大,且其传送时间远大于呼叫时间,则采用电路交换较为合适;当端到端的通路有很多段的链路组成时,采用分组交换传送数据较为合适。从提高整个网络的信道利用率上看,报文交换和分组交换优于电路交换,其中分组交换比报文交换的时延小,尤其适合于计算机之间的突发式的数据通信。

    转载于:https://my.oschina.net/stayStand/blog/615864

    展开全文
  • 计算机-计算机通信网络 (标志:戴维斯 Davies 首次提出了“分组”,之后就有了分组交换技术) 计算机网络标准化阶段 高速网络阶段 ​ 网络分类 网络拓扑结构: 计算机通信分类:单播、广播、多播 1.2 ...
  • 实施技术红皮书 NC-UAP 6.0 目 录 第一章 总体概述 1 1. 信息交换平台总体结构 1 2. 信息交换平台功能特点 1 3. 信息交换平台V50版新增功能 2 4. 信息交换平台V55版新增功能 3 5. 信息交换平台V60版新增功能 3 第二...
  • 【企业常见应用技术系列】第二期:华为路由交换由学习汇总
  • 氨氮不仅是生活污水主要污染物之一,也是引起水体富营养化主要因素之一不少研究对蛭石、蒙脱石、沸石、离子交换树脂等常见离子交换材料在氨氮废水处理中的应用进行了探索,取得了不同的处理效果文中基于已有研究结果...
  • 光纤交换技术PDF格式

    2009-11-06 14:49:29
    光纤交换技术PDF格式 Fabric Channel交换技术,储备网络交换设备,交换机登录方式/状态,常用命令,fabricshow,常见故障诊断
  • 图像识别技术原理和神经网络的图像识别技术

    万次阅读 多人点赞 2019-03-03 19:44:58
    图像识别技术是信息时代的一门重要的技术,其产生目的是为了让计算机代替人类去处理大量的物理信息。随着计算机技术的发展,人类对图像识别技术的认识越来越深刻。图像识别技术的过程分为信息的获取、预处理、特征...
  • 路由与交换课程设计

    千次阅读 多人点赞 2019-01-09 01:21:16
     1)搭建公司私有局域网络环境,利用P AT技术,使用路由设备(路由器、防火器等)完成由局域网到互联网的接入。  2)在局域网中公司各部门间要使用vlan技术实现相互的隔离。  3)在广域网链路数据封装技术这方面...
  • 网络中的数据通信介绍了网络通信的几种基本方式!三种常见的数据交换技术在本文由详细介绍!
  • 《CISCO交换机常用命令》 一、交换机四种基本模式 1、四种模式介绍 2.进入四种模式 ...(1)从用户模式进入特权模式:enable ...(2)从特权模式进入全局配置模式:conf t ...(3)从全局端口配置模式进入视图模式:...
  • 计算机复试面试题总结

    万次阅读 多人点赞 2019-03-07 20:06:56
    交换排序:冒泡,快速:以一个数字划分两个区域,然后分别对两个区域继续划分,直到区间为一。注意快排是不稳定。 选择排序:简单的选择排序,堆排序 归并排序:将两个有序表归并到一个有序表。将两个有序表放到...
  • 特别高的薪资都是直接技术面试或者是 现场编程 总结很多人的面试题,后期会对于单个知识点再说笔记详细讲解。 部分都是百度的答案,不是特全面的,可以自己找下 同时分享一个自己录制的CSS3动画特效经典案例...
  • Java 学习路线

    万次阅读 多人点赞 2018-01-06 13:21:35
    、EJB及相关技术:JNPI与RMI;会话Bean及其生命周期;IoC与EJB拦截器;JMS与MDB;会话Bean与Web Service; 22 、JPA:ORM框架与JPA规范;JPA注解与常用API;JTA事务与事务管理;JPQL查询;EJB、JPA整合; ...
  • 消息中间件MQ与RabbitMQ面试题(2020最新版)

    万次阅读 多人点赞 2020-03-01 11:11:21
    文章目录为什么使用MQ?MQ的优点消息队列有什么...MQ 有哪些常见问题?如何解决这些问题?什么是RabbitMQ?rabbitmq 的使用场景RabbitMQ基本概念RabbitMQ的工作模式如何保证RabbitMQ消息的顺序性?消息如何分发?消...
  • 常见的该类设备有电话交换机、程控数字交换系统。 特点:采用面向物理连接的工作方式;采用同步时分复用技术;对用户信息透明传输,电话网对用户的信息不做处理。 优点:传输时延小;传输效率高,不需要添加控制信息...
  • ajax

    万次阅读 多人点赞 2018-09-28 20:35:38
    Ajax即“Asynchronous Javascript And XML”(异步JavaScript 和XML),是指一种创建交互式网页应用的网页开发技术。Ajax=异步JavaScript和XML(标准通用标记语言的子集)。通过在后台与服务器进行少量数据交换,Ajax...
  • **“说一下常见的机器学习方法”**幸好我提前复习了一下,就讲了knn、kmeans、cnn、pca、lda几个名词,对方好像也不是很懂这些,就没细问。 对方接着问:“那你觉得你做的研究对浦发银行有什么帮助吗” 我心想...
  • 三种数据交换技术的比较

    千次阅读 2011-03-21 12:33:30
    三种数据交换技术的比较 http://book.51cto.com 2007-04-23 17:55 王达 电子工业出版社 我要评论(1) 摘要:本章主要介绍局域网、广域网,以及OSI各层主要功能及其工作原理这些基本的计算机网络通信技术,同时...
  • SpringCloud面试题

    万次阅读 多人点赞 2018-12-12 00:29:07
    一.SpringCloud面试题口述 1.SpringCloud和Dubbo SpringCloud和Dubbo都是现在主流的微服务架构...从技术维度上,其实SpringCloud远远的超过Dubbo,Dubbo本身只是实现了服务治理,而SpringCloud现在以及有21个子项目以...
  • 《计算机网络技术》第二章课后习题答案(全)

    万次阅读 多人点赞 2019-08-02 22:02:34
    《计算机网络技术》第二章课后习题答案(全)
  • 1.3 说明现在常见交换方法有哪多个各有什么特点及应用场所 答电路交换,多速率电路交换.快速电路交换,分组交换, 帧交换, 帧中继ATM交换, IP交换, 多协议标识交换(MPLS, 光交换, 软交换. 电路交换 信息传送最小单位是...
  •  Linux是最早的开源技术之一,许多程序员添加了对用户完全开放的软件,这意味着您可以下载文件并随意更改代码。它为用户提供了多种选择,并提高了安全性。 10.开源的缺点是什么? 回答:  下面提到的开源...
  • 交换机

    千次阅读 2016-08-21 11:16:05
    网络节点上话务承载装置、交换级、控制和信令设备以及其他功能单元的集合体。交换机能把用户线路、电信电路和(或)其他要互连的功能单元根据单个用户的请求连接起来。 简单的说,交换机(英文:Switch,意为“开关”)...
  • JAVA上百实例源码以及开源项目

    千次下载 热门讨论 2016-01-03 17:37:40
     Java非对称加密源程序代码实例,本例中使用RSA加密技术,定义加密算法可用 DES,DESede,Blowfish等。  设定字符串为“张三,你好,我是李四”  产生张三的密钥对(keyPairZhang)  张三生成公钥(publicKeyZhang...
  • 计算机网络结构与数据交换技术

    千次阅读 热门讨论 2021-03-28 17:24:28
    一、计算机网络结构 大规模现代计算机网络:网络边缘、接入网络与网络核心 1.网络边缘:连接到网络上的所有端系统(例如:连接到网络上的计算机、服务器、智能手机等)...常见的网络接入技术:电话拨号接入、非对称数
  • 常见的加密算法及详解都在这里!

    千次阅读 多人点赞 2019-12-20 00:06:39
    今天我把常见的加密算法全部整理在这里,供大家学习参考。 首先,大家要知道加密算法能干什么,利用加密算法来对数据通信的过程进行加密传输是一种最常见的安全手段。利用该手段能够达到一下三个目的: 1、数据...
  • 智慧城市是国际社会发展的方向,虽然各国有着各种样式的定位,但都离不开这些核心技术,这也是当今社会对智慧城市的评判标准,尽管我们对智慧城市现在有足够的认识,但是实施起来规模巨大,所需的人力物力财力难以...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 125,667
精华内容 50,266
关键字:

常见的交换技术