【无线传感网】时间同步技术

文章目录

  • 时间同步模型
    • 时钟模型
      • 1. 节点本地时钟模型
      • 2. 节点逻辑时钟模型
    • 通信模型
      • 1. 单向报文传递
      • 2. 双向报文交换
      • 3. 广播参考报文
      • 4. 参数拟合技术
    • 时钟同步的误差来源
  • 时间同步协议
    • 时钟同步的类别
      • 1. 时钟速率同步与偏移同步
      • 2. 同步期限:长期同步与按需同步
      • 3. 同步范围:全网同步与局部同步
      • 4. 内同步和外同步
      • 5. 发送者-接收者同步与接收者-接收者同步
    • 典型的时间同步协议
      • 1. LTS协议
      • 2. RBS协议
      • 3. TPSN协议
      • 4. DMTS协议
      • 5. FTSP协议

时间同步是无线传感器网络支撑技术的重要组成部分

研究无线传感器网络中的时间同步首先要分析其应用需求,在无线传感器网络中,由于传感器节点分布密度高,而且自身资源有限,因此传统网络中高精度、不计成本和能耗的时间同步技术就不再适用于无线传感器网络

在分布式系统中,时间同步涉及“物理时间”和“逻辑时间”两个不同的概念

  • 物理时间:用来表示人类社会使用的绝对时间
  • 逻辑时间:体现了事件发生的顺序关系,是一个相对概念

时间同步模型

时钟模型

传感器网络中节点的本地时钟依靠对自身晶振中断计数实现晶振的频率误差和初始计时时刻不同,使得节点之间本地时钟不同步如果能估算出本地时钟与物理时钟的关系或本地时钟之间的关系,就可以构造对应的逻辑时钟以达成同步

1. 节点本地时钟模型

在计算机系统中,时钟通常用晶体振荡器脉冲来度量

在工程实践中,因为温度、压力、电源电压等外界环境的变化,往往会导致晶振频率产生波动。因此,构造理想时钟比较困难。在一般情况下,晶振频率的波动幅度并非任意的,而是局限在一定的范围之内,为了方便描述和分析,定义如下3种时钟模型:

  1. 速率恒定模型假定时钟速率是恒定的
  2. 漂移有界模型在工程实践中常用来确定时钟的精度或误差的上下界 🚩
  3. 漂移变化有界模型:假定时钟漂移的变化是有界

2. 节点逻辑时钟模型

任一节点 i 在物理时刻 t 的逻辑时钟读数可以表示为: L c ( t ) = l a i × c ( t ) + l b i Lc(t)= la_i × c(t) + lb_i Lc(t)=lai×c(t)+lbi l a i la_i lai 频率修正系数, l b i lb_i lbi 初相位修正系数)

采用逻辑时钟的目的是对本地时钟进行一定的换算以达成同步。为了同步任意两个节点 i 和 j ,构造逻辑时钟有两种途径:

  1. 根据本地时钟与物理时钟等全局事件基准的关系进行变换
  2. 根据两个节点本地时钟的关系进行对应换算

两种方法都估计了频率修正系数和初相位修正系数,精度较高

对于低精度类应用,还可以简单地根据本地时钟和物理时钟的差值以及本地时钟之间的差值进行修正

通信模型

节点时间校正技术是无线传感器网络时间同步的核心和基础

目前主要的时间校正技术有单向报文传递双向报文交换广播参考报文参数拟合技术

1. 单向报文传递

在这里插入图片描述
节点 i 在本地时间 T i a T_{ia} Tia 时刻向节点 j 发送一个报文,包含时间戳 T i a T_{ia} Tia
假设节点 j 在本地时间 T j b T_{jb} Tjb 时刻收到上述报文
节点 j 不知道报文的传递时延 d,所以只能对 d 进行估计,如果知道 d 的上界和下界,则有估计公式:
d = ( d m a x + d m i n ) / 2 d = (d_{max}+d_{min})/2 d=(dmax+dmin)/2
进而估计节点 i 和节点 j 之间的时间偏差公式为:
Ɵ = T j b –  T i a − d = T j b –  T i a − ( d m a x + d m i n ) / 2 Ɵ = T_{jb} ~–~T_{ia}-d = T_{jb} ~– ~T_{ia}-(d_{max}+d_{min})/2 Ɵ=Tjb  Tiad=Tjb  Tia(dmax+dmin)/2

2. 双向报文交换

双向报文交换的时间校正技术要复杂很多

在这里插入图片描述

节点 i 在本地时钟 T i a T_{ia} Tia 时刻向节点 j 发送同步报文,节点 j 在本地时钟时刻 T j a T_{ja} Tja 接收到该报文,之后立即向节点 i 发送应答报文,节点 i 在本地时钟时刻 T i b T_{ib} Tib 接收到该应答报文
则报文的往返时间为 D,大小为 T i b − T i a T_{ib} -T_{ia} TibTia
报文的传递时延 d 在0~D之间

由此可以确定节点 i、j 之间的时间偏差为:
Ɵ = T i b –  T j a − d ′ Ɵ = T_{ib} ~–~T_{ja}-d' Ɵ=Tib  Tjad
假设上行报文和下行报文的时间延迟相等,即 d = d ’ = D / 2 d=d’=D/2 d=d=D/2 ,则:
Ɵ = T i b –  T j a − D / 2 Ɵ = T_{ib} ~–~T_{ja}-D/2 Ɵ=Tib  TjaD/2
一般节点 j 收到报文后都会延迟一段时间再向节点 i 回复

在这里插入图片描述

则有 :

{ T j a = T i a + d + Ɵ T i b = T j b + d − Ɵ \left \{ \begin{array}{c} T_{ja}=T_{ia} +d+Ɵ \\ T_{ib}=T_{jb} +d-Ɵ \end{array} \right. {Tja=Tia+d+ƟTib=Tjb+dƟ
➡️ Ɵ = ( ( T j a − T i a ) − ( T i b − T j b ) ) / 2 Ɵ=((T_{ja}-T_{ia})-(T_{ib}-T_{jb}))/2 Ɵ=((TjaTia)(TibTjb))/2

双向报文交换是应用很广泛的一种时间校正技术,精度比较高。但是网络负载比较大,耗能较高,而且需要周期性地执行同步过程

3. 广播参考报文

在这里插入图片描述

广播参考报文是利用第三个节点 k,发送时间同步的参考广播报文给相邻的节点 i 和节点 j
假设这个参考广播报文到达节点 i 和节点 j 的时间延迟相等 T i a = T j a T_{ia} =T_{ja} Tia=Tja
节点 j 收到参考广播报文后,立即发送包含有 T i a T_{ia} Tia 信息的报文给节点 i
于是节点 i 就可以计算收到两条报文的时间间隔 D 为 T i b − T i a T_{ib} -T_{ia} TibTia

广播参考报文的方法只能使节点间的时钟保持相对同步

4. 参数拟合技术

参数拟合技术可以同时计算出节点时钟之间的频率偏移和相位偏移

假设两时钟的时间之间满足式 T j = λ T i + τ T_j=λT_i+τ Tj=λTi+τ,其中,𝝀 和 𝝉 分别是两个时钟时间之间的相对频率偏移和相位偏移

采用上述3种方法测量节点间时间偏差,在测量得到多组数据样本后,就可以利用参数拟合技术计算时间的频偏和相偏

参数拟合技术有线性回归、锁相环两种实现方法

时钟同步的误差来源

节点通过交互同步信令估算相应的参数,然而同步信令在网络上传输会产生不确定的时延,该时延的不确定性是影响同步精度的关键因素

正确估计同步信息的时延对提高同步精度意义重大

同步信息的时延包括以下几部分:协议发送时延、接入时延、发送时延、传播时延、接收时延、接收处理时延

在这里插入图片描述

  • 协议发送时延:网络层到链路层的发送时延
  • 接入时延:链路层等待信道空闲的时间,受网络流量影响大
  • 发送时延:物理层发送数据包的时间,受包长及速率影响
  • 传播时延:在介质中的传播时间
  • 接收时延:接收数据包的时间,与发送时延有重叠
  • 接收处理时延:解包并通知相应程序

时间同步协议

时钟同步的类别

时间同步的类别:时间同步一般理解为使许多节点的时钟显示相同的时间,实际上有很多种不同类型的同步

在为给定的应用选择同步算法时,要在最大程度满足应用的同时尽可能将计算、存储,尤其是能量开销降到最低

1. 时钟速率同步与偏移同步

速率同步是指各个传感器节点测量所得的时间间隔相等
在目标跟踪、定位等应用中,节点时钟速率同步是最低的同步要求

偏移同步是指传感器节点在当前时刻 t 的时钟时间显示相等
即在时刻 t 传感器节点的时钟读出时间同为 T,而不管时钟速率是否同步
偏移同步对传感器网络中不同节点间的时戳结合是必须的

2. 同步期限:长期同步与按需同步

同步期限是指同步要保持的时间长短

在长期同步的情况下,维持同步的代价是很大的,随着时间的推移,节点间误差逐渐增加,可能还需要周期性地再同步

按需同步是指传感器节点的时间在相关事件发生前后进行同步,它不需要大量的维护同步的通信开销,节省了通信带宽和节点能量。对一些传感器网络的应用,按需同步效率更高

3. 同步范围:全网同步与局部同步

同步范围是定义网络中哪些节点式需要同步的

在有些情况下,范围可能纯粹是地理上的距离
而在其他情况下,逻辑距离更有用如网络中的跳数

根据不同的应用,范围可能是网络中所有节点或者部分节点

4. 内同步和外同步

时间同步简单的意思就是得到正确的时间,一般这个正确时间就是 UTC(世界标准时间)

然而,一些应用只需要记录事件发生的先后顺序以及时间间隔,并不需要事件发生的绝对时间
这种情况下,只需要内同步(相对同步),网络必须内部一致,不需要它们与外界标准时间保持一致性

另一类应用要求外同步(绝对同步),即每个节点都要与外部时间标度(如UTC)保持同步
通常的环境监控或者需要数据存档的应用中,比较需要外同步,而且要求的同步期限比较长

5. 发送者-接收者同步与接收者-接收者同步

在进行发送者-接收者同步时,发送者在报文中嵌入报文发送时间,而接收者在接收到报文后记录下接收时间,并利用这些时间信息计算出收发双方的时钟偏移,进而达到收发双方的时间同步

接收者-接收者同步时,发送者发送一个同步报文到多个接收者,这些接收者通过对同一个报文时间的比较,计算出它们之间的时钟偏移,从而达到接收者一接收者同步

典型的时间同步协议

1. LTS协议

LTS同步算法是基于成对机制的发送者与接收者之间的轻量级全网时间同步

设计目标:适用于低成本、低复杂度的传感器节点时间同步,侧重最小化同步的能量开销,同时具有鲁棒性和自配置的特点

该协议把时间同步模块划分为3个组成部件:

  1. 重同步监测

    重同步时间监测用来确定节点进行时间同步的时刻

    两种方式确定重同步时刻:

    • 基于初始同步的时间,以 kR 固定周期进行重同步,R 是单个时间同步周期的长度,k 是大于 1 的实数,用来防止两个同步周期的重叠
    • 一个特定节点在 kR 时间后发送初始同步消息给其他节点,节点在收到消息后启动时间同步
  2. 远程时钟估计

    远程时钟估计部件用来决定网络中另一个节点的本地时钟

  3. 时钟修正

    时钟修正部件用于更正节点的本地时间

LTS算法在成对同步的基础上进行了改进,包括两种同步方式:

  1. 集中式:首先构建一个低深度的生成树,以根节点作为参考节点,根节点与其下一层的叶子节点成对同步,叶子节点再与其下一层的孩子节点成对同步,直到所有节点完成同步。因为同步时间和同步精度误差与生成树的深度有关,所以深度越小,同步时间越短,同步精度误差越小
  2. 分布式当节点 i 需要同步时,发送同步请求给最近的参考节点。此方式中没有利用生成树,按已有的路由机制寻找参考点。在节点i与参考节点路径上的所有节点都被动地与参考节点同步时,就不需要再发出同步请求,减少了同步请求的数量

另外,为避免相邻节点发出的同步请求重复,节点 i 在发送同步请求时询问相邻节点是否也需同步,将同步请求聚合,减少同步请求的数目和不必要的重复

2. RBS协议

参考广播同步机制(RBS)利用了无线数据链路层的广播信道特性,一个节点发送广播消息,接收到广播消息的一组节点通过比较各自接收到广播消息的同步时刻,来实现它们之间的时间同步

其具体描述为:第三方节点定时发送参考广播给相邻节点,相邻节点接收广播并记录到达时间,以此时间作为参考与本地时钟比较。相邻节点交换广播到达时间利用最小方差线性拟合的方法,估算两者的初始相位差和频率差,以此调整本地时钟,达到接收节点间的同步。为提高同步精度,可以增加参考广播的个数,也可以多次广播

RBS算法通过接收节点对时抵消发送时间和访问时间,发送节点广播一个信标分组,广播域中两个节点都能接收到这个分组,交换接收时间,两个接收时间的差值相当于两个接收节点间的时间差值,其中一个节点可以根据这个时间差值更改它的本地时间,从而实现两个节点的时间同步

对于两个接收节点,RBS 机制需要 3 个发送消息和 4 个接收消息。对于单个广播域内的 n 个节点和 m 个广播信息,RBS 机制的复杂度是 O(mn)。在实际传感器网络中,发送节点往往也需要同步,需要另一个节点成为发送节点。多跳网络要保证簇之间有共同节点,误差随跳数增加而增加

【举例】RBS可应用于多跳网络时间同步

在这里插入图片描述

非邻节点 A 和 B 分别发送信标分组,其各自邻居能时间同步。节点 4 则能同步两个广播域内的时间

为了得到网络中的全局时间,需要进行多跳网络中的时间转换

在这里插入图片描述

设发生在节点 1 和节点 7 附近的两个事件,分别记为 E1 和 E7

节点 A 和节点 B 分别在 Pa 和 Pb 时间点发送 beacon 分组,节点 1 在接收到节点 A 发送的分组后 2s 观察到事件 E1,节点 7 在观察到事件 E7 后 4s 才收到节点 B 发送的 beacon 分组

设其他节点从节点 4 知道节点 A 发送分组比节点 B 晚10s: P a = P b + 10 Pa=Pb +10 Pa=Pb+10
由此推出:
P a = E 1 − 2 P b = E 7 + 4 } E 1 = E 7 + 16 \left. \begin{array}{c} Pa=E1-2 \\ Pb=E7+4 \end{array} \right\} ~E1=E7+16 Pa=E12Pb=E7+4} E1=E7+16
传统多跳网络的时间同步方法是节点重新广播它收到的时间信息,而RBS机制不依赖于发送节点与接收节点的时间关系,从消息延迟中去除所有发送节点的非确定因素,减少了每跳的误差积累

RBS利用信道的广播特性来同步接收节点的时间,具有更高的精度

3. TPSN协议

TPSN是基于成对双向消息传送的发送者与接收者之间的全网时间同步

通过采用层次型网络结构来提供全网范围内节点同步

该机制分为拓扑建立阶段同步建立阶段,考虑了传播时间和接收时间,利用双向消息交换计算消息的平均延迟,提高了精度

  • 拓扑建立阶段建立分层拓扑结构

    首先确定根节点及等级,根节点是全网的时钟参考节点,等级为0级,根节点广播包含有自身等级信息的数据包,相邻节点收到该数据包后,确定自身等级为1级,然后1级节点继续广播带有自身等级信息的数据包,以此类推,i级节点广播带有自身等级信息的数据包,其相邻节点收到后确定自身等级为 i + 1,直到网络中所有节点都有自身的等级

  • 同步建立阶段:同步阶段从根节点开始,与其下一级节点进行成对同步,然后 i 级节点与 i - 1级节点同步,直到每个节点都与根节点同步

【举例】

在这里插入图片描述

节点 S 在本地时刻 T 1 T_1 T1 时向节点 R 发送同步请求,该请求中包含节点 S 的等级和 T 1 T_1 T1 ,节点R在本地时刻 T 2 T_2 T2 时收到请求并在 T 3 T_3 T3 时回发同步应答,该应答包含 T 2 T_2 T2 T 3 T_3 T3 ,节点 S 于本地时刻 T 4 T_4 T4 收到应答信息,根据时间关系可列出方程:
T 2 = T 1 + d + Δ T 4 = T 3 + d − Δ T_2=T_1+d+Δ\\ T_4 = T_3+d-Δ T2=T1+d+ΔT4=T3+dΔ
其中 d d d 为消息传输迟延,Δ 为时钟偏差
d = ( T 2 − T 1 ) + ( T 4 − T 3 ) 2 Δ = ( T 2 − T 1 ) − ( T 4 − T 3 ) 2 d = \frac{(T_2-T_1)+(T_4-T_3)}{2}\\ Δ=\frac{(T_2-T_1)-(T_4-T_3)}{2} d=2(T2T1)+(T4T3)Δ=2(T2T1)(T4T3)
TPSN协议优缺点:

  • TPSN采用层次分级形成拓扑树结构,从根节点开始完成了所有叶子节点与根节点的同步,在MAC层打时间戳,降低了发送端的不确定性,减小了传送时延、传播时延和接收时延
  • 该算法中任意节点的同步误差与其到根节点的跳数有关,跳数越多,误差越大,而与网络节点总数无关,具有较好的可扩展性
  • 但由于全网参考时间由根节点确定,一旦根节点失效,就要重新选取根节点进行同步,其鲁棒性不强,再同步还需要大量计算和能量开销,会增加整个网络负荷

4. DMTS协议

DMTS延迟测量时间同步协议,是最为简单直观的同步机制,其通过对同步报文在传输路径上所有的延迟进行估计来实现节点间的时间同步

基本原理:选择一个节点作为时间主节点(Leader)广播同步报文,同步报文中嵌入其本地时间所有的接收节点测量这个时间广播报文的延迟,设置其时间为接收到分组携带的时间加上报文的传输延迟时间,这样所有接收到广播报文的节点都与主节点时间同步了。时间同步精度主要由测量延迟的精度所决定

DMTS机制的同步报文传输过程如下图。主节点在检测到信道空闲时,排除同步报文发送的处理延迟和MAC层的访问延迟的影响,再在广播报文嵌入时间戳 t 0 t_0 t0 。由于通信机制的要求,报文在发送前主节点必须先发送一定数量的前导码和同步字,以便同步节点进行接收同步报文

在这里插入图片描述

DMTS协议具体过程

选择一个基准节点,广播包含时间的同步消息,接收节点根据时间信息估算消息传输时延,调整自身本地时间为同步消息所带时间加传输时延。消息传输时延 t d t_d td 等于发射时延 t s t_s ts 加接收处理时间 t v t_v tv

发射时延为发射前导码和起始符所需的时间,等于发射位数 n 乘以发射一位所需的时间 t ,接收处理时间等于接收处理完成时间 t 2 t_2 t2 减消息到达时间 t 1 t_1 t1 。因此,可得以下公式:
t d = t s + t v = n × t + ( t 2 − t 1 ) t_d=t_s+t_v=n×t+(t_2-t_1) td=ts+tv=n×t+(t2t1)
将DMTS应用到多跳网络中还采用与 TPSN 相同的分层方法进行同步,只是将每一层看做一个单跳网络,基准节点依次定在0级、1级、2级、……、n级,逐步实现全网同步。为避免广播消息回传,每个节点只接收上一层等级比自己低的节点广播

DMTS协议优缺点

  • 优点:通过广播同步报文,能够一次广播就同步单跳广播域中的所有节点。计算简单,开销小
  • 缺点:未考虑传播延迟、没有估算时钟频偏等,致使精度不高,难以用于定位等高精度的应用中

5. FTSP协议

FTSP算法是使用单个广播消息实现发送节点与接收节点之间的时间同步,但可以看作是对DMTS协议的改进

FTSP算法实现步骤如下:

  1. FTSP 算法在完成 SYNC 字节发射后给时间同步消息标记时间戳 t 并发射出去;
    SYNC字节类似DMTS算法中的Start Symbols
    时间戳 t 为当前时间减去包含时间戳 t 的消息数据部分的发射时间,消息数据部分的发射时间可通过数据长度和发射速率得出
  2. 接收节点记录SYNC字节最后到达时间 t r t_r tr,并计算位偏移
    在收到完整消息后,接收节点计算位偏移产生的时间延迟 t b t_b tb,这通过偏移位数与接收速率得出
  3. 接收节点计算与发送节点间的时钟偏移量: o f f s e t = t r − t b − t offset=t_r-t_b-t offset=trtbt, 然后调整本地时钟和发送节点时钟同步

FTSP优点

  • FTSP降低了时延的不确定性,将其分为发送中断处理时延、编码时延、传播时延、解码时延、字节对齐时延和接收中断处理时延
  • FTSP提出了一套较完整的针对节点失效、新节点加入等引起的拓扑结构变化时根节点的选举策略,从而提高了系统的容错性和健壮性
  • FTSP根据一定时间范围内节点时钟晶振频率稳定的原则,得出各节点间时钟偏移量与时间呈线性关系,利用线性回归的方法通过节点周期性发送同步广播使得接收节点得到多个数据对构造回归直线,而且在误差允许的时间间隔内,节点可通过计算得出某一时间节点间的时钟偏移量,减少了同步广播的次数,节省了能量

FTSP通过在MAC层打时间戳和利用线性回归的方法估计位偏移量,降低了时延的不确定性,提高了同步精度,适用于军事等需要高同步精度的场合


几种时间同步协议的比较

在这里插入图片描述

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

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

相关文章

C# 实用工具分享(1)

大家好,今天分享一些在开发过程中比较实用的工具。 首先在软件开发的过程中不可避免的要使用截图这样的功能,以前这样的功能我自己也是选择开发出新功能。但是自己开发还是非常费时费力的,并且效果也不一定特别好。 于是我找到了一个现成的…

积分图(Integral Image)与均值滤波的快速实现

积分图(Integral Image)也称为求和图(Summed Area Table),是一种用于快速计算图像中任意矩形区域像素值总和的技术。 基本概念 积分图的每个位置(i, j)存储的是从图像左上角(1, 1)到当前位置(i, j)所有像素值的累积和…

curl+openssl 踩坑笔记

curl编译:点击跳转 踩坑一 * SSL certificate problem: unable to get local issuer certificate * closing connection #0 curl: (60) SSL certificate problem: unable to get local issuer certificate More details here: https://curl.se/docs/sslcerts.html …

[AI] 深度学习的“黑箱”探索:从解释性到透明性

目录 1. 深度学习的“黑箱”问题:何为不可解释? 1.1 为什么“黑箱”问题存在? 2. 可解释性研究的现状 2.1 模型解释的方法 2.1.1 后置可解释性方法(Post-hoc Explanations) 2.1.2 内在可解释性方法(I…

python-Flask:SQLite数据库路径不正确但是成功访问到了数据库,并对表进行了操作

出现了这个问题,就好像是我要去找在南方的人,然后我刚好不分南北,我认为的方向错了,实则方向对了。 在我针对复盘解决:sqlite3.OperationalError: unrecognized token: “{“-CSDN博客这个内容的时候,又出现…

对称密码算法(分组密码算法 序列密码算法 密码杂凑算法)中的基本操作

对称密码算法(分组密码算法 序列密码算法 密码杂凑算法)中的基本操作 相比非对称加密算法,对称加密算法因为加解密效率较高,因而在日常使用中更加广泛。为了让大家更加熟悉常见的对称加密算法,本文列举出了对称密码算法设计中经常用到的13种基…

大数据治理,数字化转型运营平台建设方案(PPT完整版)

1、大数据治理整体运营思路 2、数据资产定义及流程规范 3、治理规范及质量管控 4、质量考核标准及提升方案 软件全套资料部分文档清单: 工作安排任务书,可行性分析报告,立项申请审批表,产品需求规格说明书,需求调研计划…

专题十四——BFS

目录 一BFS解决FloodFill算法 1图像渲染 2岛屿数量 3岛屿的最大面积 4被环绕的区域 二BFS解决蛋源最短路径问题 1迷宫中离入口最近的出口 2最小基因变化 3单词接龙 4为高尔夫比赛砍树 三BFS解决多源最短路径问题 1 01矩阵 2飞地的数量 3地图中的最高点 4地图分…

DMDRS部署:搭建DM8-DM8数据同步

一、部署要求 1.1 硬件要求 DMDRS服务描述源DMDRS 内存要求至少2GB的内存空间。推荐配置4GB及以上的内存空间。 源DMDRS对内存空间的需求主要与装载的并发数相关。当内存空间配置低于2GB时,可以调整装载的线程数来降低源DMDRS对内存空间的需求。 磁盘要求至少10GB…

仓颉笔记——windows11安装启用cangjie语言,并使用vscode编写“你好,世界”

2025年1月1日第一篇日记,大家新年好。 去年就大致看了一下,感觉还不错,但一直没上手,这次借着元旦的晚上安装了一下,今年正式开动,公司众多的应用国产化正等着~~ 第一步:准备 官网:…

datalist的作用?怎么用的?

在 HTML 中&#xff0c;<datalist> 元素用于为 <input> 元素提供一个可选项列表&#xff0c;帮助用户通过预定义的选项进行快速选择。它是一个增强输入体验的功能&#xff0c;类似于自动完成&#xff08;autocomplete&#xff09;&#xff0c;但与传统的 <selec…

Cocos2dx Lua绑定生成中间文件时参数类型与源码类型不匹配

这两天维护的一个项目&#xff0c;使用arm64-v8a指令集编译时遇到了报错&#xff0c;提示类型不匹配&#xff0c;具体报错的代码【脚本根据C源文件生成的中间文件】如下&#xff1a; const google::protobuf::RepeatedField<unsigned long long>& ret cobj->equi…

1、ELK的架构和安装

ELK简介 elk&#xff1a;elasticsearch logstash kibana&#xff0c;统一日志收集系统。 elasticsearch&#xff1a;分布式的全文索引引擎的非关系数据库&#xff0c;json格式&#xff0c;在elk中存储所有的日志信息&#xff0c;架构有主和从&#xff0c;最少需要2台。 …

常用的数据库类型都有哪些

在Java开发和信息系统架构中&#xff0c;数据库扮演着存储和管理数据的关键角色。数据库种类繁多&#xff0c;各有特色&#xff0c;适用于不同的应用场景。 1. 关系型数据库&#xff08;RDBMS&#xff09;&#xff1a; • 关系型数据库是最为人熟知的数据库类型&#xff0c;数据…

百度贴吧的ip属地什么意思?怎么看ip属地

在数字化时代&#xff0c;IP地址不仅是网络设备的唯一标识符&#xff0c;更承载着用户的网络身份与位置信息。百度贴吧作为广受欢迎的社交平台&#xff0c;也遵循相关规定&#xff0c;在用户个人主页等位置展示账号IP属地信息。那么&#xff0c;百度贴吧的IP属地究竟意味着什么…

微服务篇-深入了解 XXL-JOB 分布式任务调度的具体使用(XXL-JOB 的工作流程、框架搭建)

&#x1f525;博客主页&#xff1a; 【小扳_-CSDN博客】 ❤感谢大家点赞&#x1f44d;收藏⭐评论✍ 文章目录 1.0 XXL-JOB 调度中心概述 1.2 XXL-JOB 工作流程 1.3 Cron 表达式调度 2.0 XXL-JOB 框架搭建 2.1 XXL-JOB 调度中心的搭建 2.2 XXL-JOB 执行器的搭建 2.3 使用调度中心…

Unity Shader TexelSize的意义

TexelSize在制作玻璃折射效果时会用到。 // Get the normal in tangent space fixed3 bump UnpackNormal(tex2D(_BumpMap, i.uv.zw)); // Compute the offset in tangent space float2 offset bump.xy * _Distortion * _RefractionTex_TexelSize.xy; i.scrPos.xy offset * i…

Python面向对象进阶

思维导图 Python面向对象进阶的思维导图 私有权限 私有属性 为了更好的限制属性的访问和包含隐私&#xff0c;可以给属性设置私有权限。 当把属性设置为私有属性后&#xff0c;则该属性只能被本类直接访问。 定义私有属性语法&#xff1a; 设置和获取私有属性值语法&…

Github 正常访问但是ping不同也无法进行git操作

Github 正常访问但是ping不同也无法进行git操作 原因&#xff1a;在git push 的时候 发现一直push不上去。 $ git push interview master ssh: connect to host github.com port 22: Connection timed out fatal: Could not read from remote repository.Please make sure yo…

基于Springboot + vue实现的夕阳红公寓管理系统

&#x1f942;(❁◡❁)您的点赞&#x1f44d;➕评论&#x1f4dd;➕收藏⭐是作者创作的最大动力&#x1f91e; &#x1f496;&#x1f4d5;&#x1f389;&#x1f525; 支持我&#xff1a;点赞&#x1f44d;收藏⭐️留言&#x1f4dd;欢迎留言讨论 &#x1f525;&#x1f525;&…