GPS北斗时钟-GPS时钟服务器
GPS北斗时钟-GPS时钟服务器
GPS北斗时钟-GPS时钟服务器
GPS北斗时钟-GPS时钟服务器
GPS北斗时钟-GPS时钟服务器

HR-906CGPS北斗时钟-GPS时钟服务器

参考价: 订货量:
12 1
11 3
10 5

具体成交价以合同协议为准
2019-12-09 15:44:07
1265
产品属性
关闭
安徽京准电钟电子科技有限公司

安徽京准电钟电子科技有限公司

免费会员
收藏

组合推荐相似产品

产品简介

GPS北斗时钟-GPS时钟服务器是一款通用型NTP时间服务器。设备采用多重可靠性设计(双卫星源、冗余电源、无风扇设计)

详细介绍

GPS北斗时钟-GPS时钟服务器

GPS北斗时钟-GPS时钟服务器

如何才能同步分布式系统中的所有时钟

分布式系统由Tanenbaum定义,“分布式系统是一组独立的计算机,在”分布式系统 — 原理和范例“中作为用户的单一,连贯的系统出现”。
区块链通过构建分布式系统,尝试实现分散的新数据存储和组织结构。
首先,定位到分布式系统的原因主要是可扩展性,位置和可用性。区块链也不例外。地理可扩展性,形成价值存储网络/信息保护区域,包括非集中式结构下的防篡改/零停机时间的可用性。这些未来都是使用分布式系统在block中实现的。
0.目录
X.区块链和分布式系统
1.简介(同步和整体流程概述)
2.时钟同步
2–1。物理时钟(时钟和时钟偏移)
2–2。 时钟同步算法(网络时间协议(NTP)/伯克利算法)
3.逻辑时钟
3–1。 Lamport的逻辑时钟(*有序的多播)
3–2。 矢量时钟(因果订单组播)
4.控制
4–1。 集中算法
4–2。 分散算法
4–3。 分布式算法
5.选举算法
5–1。 欺负算法
5–2。 环算法
6.阻止链和同步作为分布式系统
6–1。 块链和时钟同步(块链和物理/逻辑时钟)
6–2。 块链和独占控制算法(PoW·PoS·BFT中的独占控制算法)
6–3。 块链和选举算法(PoW·PoS·BFT中的选择算法)
1.简介(同步和整体流程概述)
与集中式系统不同,在分布式系统中就时间达成一致并不容易。
在前一种情况下,可以基于全局共享时钟确定顺序关系,但是在后一种情况下,由于存在时钟值错误和对应时间,因此难以共享时间。
但是,时间的顺序并不是必要的,如果相对顺序是固定的,通常就足够了。
在本文中,将按以下顺序解释节点之间的同步。
时钟同步是如何发生的?
使用逻辑时钟和矢量时钟的相对排序方法
关于分布式系统一致性的排除控制算法
关于分布式系统中的选举算法
2.时钟同步
2–1. 物理时钟
时钟和时钟歪斜
大多数计算机都有保持时间的电路,这种设备称为“时钟”。这是基于频率的振动,该振动可以通过晶体类型,切割方法和向精确加工的石英增加张力时的压力大小明确定义。
虽然这个频率相当稳定,但不能保证不同计算机的所有晶体都能以*相同的频率运行。由此引起的同步时间的差异称为时钟偏差。
在这种情况下,特别是在实时系统中,如何使多个时钟与现实时钟同步以及如何同步时钟是一个问题。
现实世界中的时间初基于平均太阳秒,但现在铯133过渡9,192,631,770次的时间定义为1秒,并且定义了原子时间和通用协调时间(UTC)。为了向需要准确时间的人提供UTC,使用WWV并且时间以±10毫秒的精度提供。
2–2. 时钟同步算法
但是,大多数机器没有WWV接收器。因此,每台机器都需要时间跟踪和管理算法,以便所有机器都可以同步时间。
顺便提及,用于确定是否需要重新同步的错误,即时钟偏移,如下测量。
将H定义为每台机器计数的晶体振动引起的每秒中断次数(刻度数),并将C表示为该时钟的值。设Cp(t)表示机器的时钟值,当UTC时间为t时。
如果将p定义为定义允许的时钟偏差量的大漂移率,则假定它在以下范围内运行。
1-p 《= dC/dt 《= 1+p
也就是说,在从先前同步开始经过At秒之后,两个时钟多分开2pΔt。
当保证在操作执行时没有大于&的偏差时,必须至少每&/2p重新同步软件。
网络时间协议(NTP)
在许多协议中很常见,[Cristian,1989]首先提出的方法是一种与客户服务器通信的方法。由于时间服务器具有WWV接收器或具有准确的时钟,因此它可以提供当前时间。在与服务器通信时,重要的是延迟报告消息传播延迟的时间,但是通过估计延迟,这里可以小化错误。目前,已知NTP能够在1至50毫秒的范围内实现精度。
伯克利算法
在诸如NTP的许多算法中,时间服务器是被动的并且仅回答查询。另一方面,在Berkeley算法中,时间服务器接收每个参与节点所持有的时间,并且还基于平均值改变其自己的时间。当时间值不必与现实世界有关系时,很容易在同一当前时间达成一致,并且它对此算法有效。
3.逻辑时钟
到目前为止,虽然我们描述了一种根据实际时钟将时钟与时间同步作为参考的方法,但通常只执行相对同步。这里,逻辑时钟的概念用于确定相对顺序。
3–1. Lamport的逻辑时钟
为了同步逻辑时钟,Lamport定义了一个名为happen-before的关系。表达式a→b表示“a发生在b之前”,这意味着事件首先发生,然后所有进程都同意事件b将发生。发生之前 — 可以在以下两种情况下直接观察到关系。
如果a和b是同一过程中的事件且a出现在b之前,则a→b为真。
2. 如果a是由一个进程发送的消息的事件,并且b是由另一个进程接收的该消息的事件,那么a→b也是如此。在发送消息之前无法接收消息,即使消息同时也需要有限的非零时间。
因为发生前关系处于过渡关系中,如果a→b和b→c,则可以证明a→c。如果事件x,y出现在不交换消息的不同进程中,则x→y和y→x都不为真,并且这些事件被认为是并发的。 (之前发生的关系未知。)
利用逻辑时钟,通过分配所有进程对每个事件a一致的时间C(a)来测量相对时间。如果这些时间值是a→b,则通过向时间添加正值来校正它们,使得C(a)《C(b)。通过分配如下图所示的时间值,可以掌握之前发生的关系。
 
在Lamport的逻辑时钟中,如果a→b,则可以证明C(a)《C(b),但如果C(a)《C(b)则a→b不一定成立。换句话说,a→b是C(a)《C(b)的必要条件,并且不是充分条件。 Lamport的逻辑时钟增加了改进,它是一个矢量时钟,可以满足这种必要和充足的条件。
*有序的多播
有关详细信息,请参阅“分布式系统一致性”一文中的内容
在许多情况下,有必要在重复的副本之间执行*有序的多播。换句话说,所有消息都需要以相同的顺序传递给每个收件人。 Lamport的逻辑时钟可用于在*分布式系统下实现*有序的多播。
当进程收到某个消息时,它会根据时间戳按顺序放入本地队列。收件人向另一个进程多播确认。如果您按照Lamport的算法调整本地时钟,则所有进程实际上都具有本地队列的相同副本。只有当消息位于队列的头部并且被所有其他进程确认时,才有一个进程可以将队列中的消息传递给正在运行的应用程序,因此,所有消息都以相同的顺序传递到各处。换句话说,已经建立了*有序的多播。
3–2. 矢量时钟
使用矢量时钟,可以掌握Lamport逻辑时钟无法掌握的因果关系。 假设事件a的向量时钟是VC(a),则执行以下步骤,使得a→b成为VC(a)《VC(b)的必要和充分条件。
在通过网络发送消息之前,节点Pi向矢量时钟VCi [i]添加1,或者操作一些内部事件。
2. 如果处理Pi将消息m发送到Pj,则Pi在执行前一步骤之后将m的向量时间戳ts(m)设置为等于VCi。
3. 当接收到消息m时,进程Pj执行步骤1,将消息分发给应用程序,然后更新其自己的向量时钟的每个k,如下所示:VCj [k]←max {VCj [k],ts(m)[k]}。
 
因果关系多播
通过使用向量时钟,可以实现稍微弱于上述*有序多播的因果有序多播。
通过比较矢量时钟的值并掌握发生在之前的关系,对于特定事件x,其他事件可以被分类为过去事件,并发事件和未来事件。例如,在上图中,当事件d用作参考点时,过去事件是a,b,c,i,并发事件是j,l,m,未来事件是f,g,h。
此时,假设因果有序多播是过去事件和因果事件的序列,其中发生所有因果关系,以便在所有过程中保持一致,但是关于并发事件的顺序是无关紧要的。通过这种方式,与Lamport的逻辑时钟不同,可以用向量时钟来掌握因果关系。
4.控制
多个进程之间的并发操作和协作操作是分布式系统的基本,但是为了保证对资源的独占访问,以便通过多个进程同时访问相同资源时不处于不一致状态时,需要分布式排他算法。
分布式独占控制算法可以分为以下两种类型。
基于Token的解决方案
基于权限的方法
在基于Token的方案中,很容易避免StarvaTIon(很长时间内不允许访问资源)和死锁(多个进程等待彼此的进展)。一个代表性的例子是Token环算法。但是,当持有Token的过程异常停止并且Token丢失,有必要只生成一个新Token,这种复杂性是一个严重的缺点。
许多其他分散的独占控制算法采用基于权限的方法,并有许多不同的获取权限的方法,我们将分别具体解释。
4–1. 集中算法
通过模拟单处理器系统的功能,可以轻松实现分布式系统中独占控制的单一访问。在集中式算法中,一个进程被为协调器,并且当进程访问共享资源时,请求消息被发送到协调器以获得许可。如果其他进程未访问共享资源,则协调器返回权限响应,并且在接收到回复之后,所请求的进程执行该进程。
很容易看出,该算法保证了对资源的独占访问,但它具有单点故障的严重缺点。虽然这可能是大型系统中的性能瓶颈,但这种简单性带来的优势仍然可以弥补这些缺点。
4–2. 分散算法
假设各项都会重复n次。在分散算法中,当进程访问资源时,需要批准大多数m》 n / 2。如果获得大多数批准,则该过程获得许可并可以进行处理。
虽然该方案解决了集中式算法的单点故障问题,但是如果有太多的节点试图访问,则存在另一个问题,即没有节点可以获得足够的投票而无法获得充分的性能。
4–3. 分布式算法
在该算法中,假设系统上所有事件的顺序可以定义为*有序的关系。作为这个基础,使用了前一章中描述的Lamport的逻辑时钟,并且假设没有消息会丢失。
当进程尝试访问共享资源时,它会创建一条消息,其中包含资源名称,自己的进程号和当前逻辑时钟,并将其发送给所有其他进程。当接收到该请求消息时,根据其自身状态执行以下操作。
1. 如果收件人未访问该资源且未尝试访问该资源,则收件人会向发件人返回“确定”消息。
2. 如果收件人已在访问资源,请不要回复并执行排队请求。
3. 如果收件人正在尝试访问资源但尚未完成,请将输入消息中的时间戳与发送给其他进程的消息中的时间戳进行比较,并将较低的一个作为获胜者。如果收到的消息具有小的时间戳,则收件人返回OK消息。如果自己的消息具有较小的时间戳,则接收方将不会将输入消息排队。
显然,如果它不像process1或2那样冲突,这个算法就能正常工作。即使在冲突的情况下,也只建立了唯个进程可以访问的条件。
与集中式算法一样,该算法可以保证独占控制,不会出现死锁或饥饿。 此外,没有单点故障。 尽管如此,单点故障被故障n位置特征所取代。 它可以通过回复权限或拒绝权限并引入超时来解决,但也会出现其他问题,例如需要多播通信原语。 不幸的是,目前尚未设计出超越集中式算法的分布式算法,并且仍在研究中。
当比较各个算法时,变为如下。
 
5.者选举算法
许多分布式算法需要一个特殊的过程,它具有作为协调者或发起者的角色。哪个过程是者,过程是否可以成为者是一个重要问题,研究人员在过去几十年中一直在努力。
5–1. 欺负算法
当协调员失败并且任何进程P注意到该情况时,P根据以下过程激活选举。
· P向所有具有比其自身更高数值的进程发送ELECTION消息。
· 如果没有人回复,P将赢得选举并成为协调员。

 

上一篇:网络安全的优势 下一篇:云组态使物联网更直观
热线电话 在线询价
提示

请选择您要拨打的电话:

温馨提示

该企业已关闭在线交流功能