时钟同步

Watcher监听和选举机制

二次信任 提交于 2019-11-27 07:29:16
在 ZooKeeper中,接口类Watcher用于表示一个标准的事件处理器,其定义了事件通知相关的逻辑,包含KeeperState和EventType两个枚举类,分别代表了通知状态和事件类型,同时定义了事件的回调方法:process(WatchedEvent event)。 一,什么 是 Watcher 接口 同一个事件类型在不同的通知状态中代表的含义有所不同,表 7-3列举了常见的通知状态和事件类型。 表 7-3 Watcher通知状态与事件类型一览 KeeperState EventType 触发条件 说明 None (-1) 客户端与服务端成功建立连接 SyncConnected (0) NodeCreated (1) Watcher监听的对应数据节点被创建 NodeDeleted (2) Watcher监听的对应数据节点被删除 此时客户端和服务器处于连接状态 NodeDataChanged (3) Watcher监听的对应数据节点的数据内容发生变更 NodeChildChanged (4) Wather监听的对应数据节点的子节点列表发生变更 Disconnected (0) None (-1) 客户端与ZooKeeper服务器断开连接 此时客户端和服务器处于断开连接状态 Expired (-112) Node (-1) 会话超时 此时客户端会话失效

zookeeper

与世无争的帅哥 提交于 2019-11-27 07:25:22
1.1 zookeeper(分布式协作服务) 1) ZooKeeper是什么? ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,它是集群的管理者,监视着集群中各个节点的状态根据节点提交的反馈进行下一步合理操作。最终,将简单易用的接口和性能高效、功能稳定的系统提供给用户。 2) ZooKeeper提供了什么? 1) 文件系统 2) 通知机制 3) Zookeeper文件系统 每个子目录项如 NameService 都被称作为znode,和文件系统一样,我们能够自由的增加、删除znode,在一个znode下增加、删除子znode,唯一的不同在于znode是可以存储数据的。 有四种类型的znode: 1) persistent-持久化目录节点:客户端与zookeeper断开连接后,该节点依旧存在。 2) persistent_ sequential-持久化顺序编号目录节点: 客户端与zookeeper断开连接后,该节点依旧存在,只是Zookeeper给该节点名称进行顺序编号。 3) ephemeral-临时目录节点 :客户端与zookeeper断开连接后,该节点被删除。 4) ephemeral_ sequential -临时顺序编号目录节点:客户端与zookeeper断开连接后,该节点被删除

SPI通讯(Serial Peripheral interface)

你。 提交于 2019-11-27 00:53:23
1. SPI,是一种高速的,全双工, 同步的通信总线,并且在芯片的管脚上只占用四根线: SCLK,MISO,MOSI,CS 2. SPI结构简图:              可以看出,SPI主从设备两端都有一个位移寄存器, 数据在位移寄存器上通过逐位移动来实现同步双工通信,在主机发送数据的同时也会收到从机发来的数据。类似一个循环。 (图片不好编辑,将就着看), 需要注意的是传输过程是通过主机写入一个需要发送的数据来开始的。   如果只进行写操作,主机只需忽略接收到的字节;反之,若主机要读取从机的一个字节,就必须发送一个空字节来引发从机的传输。发送结束可以设置中断。 3. 时钟极性(POL)和相位(PHA), 通过配置极性及相位为0或1,可配置成为4种不同的传输时序:极性为0,时钟空闲为低电平,反之为高;相位为0,据在第一个时钟跳变沿被采集,为1的话在第二个跳变沿被采集。如图:                                      4. SPI 时钟最多可以到 18Mhz,支持 DMA,可以配置为 SPI 协议或者 I2S (一种音频传输总线,集成电路内置音频总线)。 5. NSS引脚: 主从模式选择,简单了解,用到时再具体了解。 7. 数据帧格式: 可软件设置MSB或LSB哪个在先(SPI_CR1寄存器中LSBFIRST位)

STM32Cube基础工程配置

故事扮演 提交于 2019-11-26 19:10:08
开发板:正点原子STM32F4探索者 内容:使用STM32Cube配置LED0和UART1,实现LED0闪烁和UART1发送   STM32CubeMX选择芯片后界面。左侧栏为功能列表,配置相应的功能打开列表,会有详细功能名称;右侧为ST芯片模型,引脚分布。首先,应该配置芯片的时钟来源——芯片的时钟很重要,根据硬件实际配置时钟来源:打开 System Core 栏目下的RCC,即为芯片时钟配置。   RCC 配置界面。以外部时钟为例,STM32CubeMX中外部时钟配置可选类型为 Disable 、 BYPASS Clock Source(旁路时钟源) 、Crystal/Ceramic Resonator(石英/陶瓷 晶振) 三种类型。参考手册中介绍 HSE 如下图:   外部时钟源即为旁路时钟源,只需要外部提供时钟接入OSC_IN引脚,OSC_OUT引脚悬空;谐振器即相当于石英/陶瓷 晶振,OSC_IN 与 OSC_OUT引脚都要连接。开发板使用的是晶振,所以RCC的HSE选项设置为Crystal/Ceramic Resonator。时钟的来源确定后需要配置芯片内部的多个时钟线,进入Clock Configuration页面,可以根据时钟树直观地配置时钟。下图所示为开发板时钟配置,开启外部时钟8MHz,PLL时钟来源于HSE,经过锁相环的分频与倍频后得到168MHz时钟

centos部署时间服务器

若如初见. 提交于 2019-11-26 18:11:19
时间服务器作用: 大数据产生与处理系统是各种计算设备集群的,计算设备将统一、同步的标准时间用于记录各种事件发生时序, 如E-MAIL信息、文件创建和访问时间、数据库处理时间等。 大数据系统内不同计算设备之间控制、计算、处理、应用等数据或操作都具有时序性, 若计算机时间不同步,这些应用或操作或将无法正常进行。 大数据系统是对时间敏感的计算处理系统,时间同步是大数据能够得到正确处理的基础保障,是大数据得以发挥作用的技术支撑。 大数据时代,整个处理计算系统内的大数据通信都是通过网络进行。 时间同步也是如此,利用大数据的互联网络传送标准时间信息,实现大数据系统内时间同步。 网络时间同步协议(NTP)是时间同步的技术基础。 (一)确认ntp的安装 1)确认是否已安装ntp 【命令】rpm –qa | grep ntp 若只有ntpdate而未见ntp,则需删除原有ntpdate。如: ntpdate-4.2.6p5-22.el7_0.x86_64 fontpackages-filesystem-1.44-8.el7.noarch python-ntplib-0.3.2-1.el7.noarch 2)删除已安装ntp 【命令】yum –y remove ntpdate-4.2.6p5-22.el7.x86_64 3)重新安装ntp 【命令】yum –y install ntp (二

ffplay 外部时钟同步的原理

≯℡__Kan透↙ 提交于 2019-11-26 16:55:37
概述 ffplay有三种同步方式:1、音频作为主时钟;2、视频作为主时钟;3、外部时钟源作为主时钟。默认的同步方式为“音频作为主时钟”方式,具体代码分析可查阅: https://blog.csdn.net/lyy901135/article/details/95307111 音频作为主时钟时,视频pts向音频的pts看齐,若视频播放延迟,则需进行丢帧处理。视频作为主时钟时,音频需向视频的pts看齐,要音频播放延迟/超前,则需对音频样本进行缩放。本文主要介绍第三种同步方式:外部时钟源作为主时钟。 视频同步方式的选择 使用ffplay的 -sync 参数可指定音视频同步的种类,比如如下命令选择外部时钟作为主时钟。 ffplay ~/Videos/Sintel.2010.720p.mkv -sync ext 原理说明 外部时钟更新的时机 初始时,外部时钟源pts初始化为NAN,后续该外部时钟源的字段的更新都是通过 sync_clock_to_slave() 完成。音频或视频帧在分别更新自己对应的时钟时,也会调用 sync_clock_to_slave() 尝试对外部时钟做更新。 为何上文说是尝试对外部时钟进行更新?是因为在 sync_clock_to_slave() 代码中我们可以看到更新规则: 1、外部时钟pts非法,从属时钟(音频/视频)的pts有效时更新。 2

svn服务器时间与本地时间不同步解决

吃可爱长大的小学妹 提交于 2019-11-26 16:43:05
在用svn的时候,由于svn的时间与本地不同步,导致每次看log总是需要对时间。 今天修改了svn服务器时间与本地同步。只需要修改svn服务器时间与本地时间相同即可,但要主要修改时区,不然会出现时间又不同步的问题。 记录之。 /***********************************************************************************************************/ Linux 时钟分为系统时钟(System Clock)和硬件(Real Time Clock ,简称RTC )时钟。系统时钟是指当前Linux Kernel中的时钟,而硬件时钟则是主板上由电池供电的时钟,这个硬件时钟可以在BIOS中进行设置。当Linux 启动时,硬件时钟会去读取系统时钟的设置,然后系统时钟就会独立于硬件运作。 Linux中的所有命令(包括函数)都是采用的系统时钟设置。在Linux中,用于时钟查看和设置的命令主要有date、hwclock和clock。其中,clock和hwclock用法相近,只用一个就行,只不过clock命令除了支持x86硬件体系外,还支持Alpha硬件体系。    1、date    查看系统时间    # date    设置系统时间    # date --set “07/07/06 10:19" (月

时钟同步

社会主义新天地 提交于 2019-11-26 14:12:29
$ cat sync #!/bin/sh #$1 IP #$2 syncMax 同步上限 #$3 syncMin 同步下限 #$4 强制同步标志 echo "服务器:$1 上限:$2 下限:$3 强制同步标志:$4" if [ $4 == 1 ]; then echo "强制同步" echo "111111"| sudo -S ntpdate $1 echo "同步结束" else // grep -w用于字符串精确匹配 offset=`ntpdate -d $1 | grep -w "filter offset:" | awk '{print $3}'` //-n 来判定字符串非空。 if [ ! -n "$offset" ]; then echo "服务器错误" exit 1 fi if [ `echo "$offset == 0" | bc` -eq 1 ]; then echo "服务器错误1" exit 1 fi echo "本地与服务器时间差 $offset 秒" if [ `echo "$offset < 0" | bc` -eq 1 ]; then offset=$(echo "0 - $offset" | bc); echo "本地时间服务器时间快了$offset秒" else echo "本地时间服务器时间慢了$offset秒" fi #小于等于上限

MY-IMX6 Linux-3.14 测试手册(3)

梦想与她 提交于 2019-11-26 07:42:51
【接上一章节MY-IMX6 Linux-3.14 测试 手册(2)】 2.9.2 串口测试 1)测试说明 测试方法说明: 采用串口自发自收的方式进行。 测试结果说明: 通过测试程序向串口发送字符串,并输出串口接收到的字符串。 注意:串口测试需要短接 评估板 的管脚,如果不确定自己能正确短接的请找硬件工程师支持,否则可能会损坏评估板。 2)进入测试程序目录 # cd ~/my-demo/linux-3.14.52 3)UART2测试 准备测试 短接串口2的发送发接收管脚(J1的9和10号)。 执行测试命令 # ./uart.out /dev/ttymxc1 "www.myzr.com.cn" 测试结果附图 4)UART3测试 准备测试 短接串口3的发送发接收管脚(J1的12和13号)。 执行测试命令 # ./uart.out /dev/ttymxc2 "www.myzr.com.cn" 测试结果附图 5)UART4测试 准备测试 短接串口4的发送发接收管脚(J1的15和17号)。 执行测试命令 # ./uart.out /dev/ttymxc3 "www.myzr.com.cn" 测试结果附图 6)UART5测试 准备测试 短接串口5的发送发接收管脚(J1的16和18号)。 执行测试命令 # ./uart.out /dev/ttymxc4 "www.myzr.com.cn"

网络时间服务和chrony

偶尔善良 提交于 2019-11-26 02:34:24
前言 在多主机协同工作时,各个主机的时间同步很重要,时间不一致会造成很多重要应用的故障,例如:加密协议、日志,集群等。利用NTP(Network Time Protocol)协议网络中的各个计算机时间达到同步。 环境 系统 selinux、firewalld 实现方式 服务器端 客户端 CentOS7 关闭 chrony 172.20.3.34 172.20.200.200 chrony 简介 实现NTP协议的自由软件。可以将时钟与NTP服务器,参考时钟(例如GPS接收器)以及使用手表和键盘通过chronyc进行手动输入进行同步。 它还可以充当NTPv4(RFC 5905)服务器并与之对等,以向网络中的其他计算机提供时间服务。设计用于在各种条件下良好运行,包括间歇性和高度拥挤的网络连接,温度变化(计算机时钟对温度敏感),以及不能连续运行或在虚拟机上运行的系统。通过Internet同步的两台机器之间的典型精度在几毫秒之内,在LAN上,精度通常为几十微秒。利用硬件时间戳或硬件参考时钟,可实现亚微妙的精度。 chrony官网: https://chrony.tuxfamily.org 优势 更快的同步只需要数分钟而非数小时时间,从而最大程度减少了时间和频率误差,对于并非全天24小时运行的虚拟计算机而言非常有用。 能够更好的响应时钟频率的快速变化