当前位置: 首页 > news >正文

openEuler 22.03 (LTS-SP1)服务器用ntpd同步GPS时间服务器的案例

本文记录了openEuler 22.03 (LTS-SP1)的二级时间服务器用chronyd不能自动同步GPS时间服务器,改用ntpd同步GPS时间服务器成功的案例

一、环境简述

1、本环境中有两台GPS一级时间服务器,IP如下:

192.168.188.66

192.168.188.74

2、有一台openeuler系统的服务器拟作为网络中的二级时间服务器对全网进行授时

系统版本:

[root@localhost ~]# cat /etc/os-release 
NAME="openEuler"
VERSION="22.03 (LTS-SP1)"
ID="openEuler"
VERSION_ID="22.03"
PRETTY_NAME="openEuler 22.03 (LTS-SP1)"
ANSI_COLOR="0;31"

 IP地址:192.168.168.33

二、问题现象

1、使用chronyd进行时间服务器同步设置

配置如下:

[root@localhost ~]# egrep -v "^#|^$" /etc/chrony.conf
server 192.168.188.66 iburst
server 192.168.188.74 iburst
driftfile /var/lib/chrony/drift
makestep 1.0 3
rtcsync
allow 192.0.0.0/8
local stratum 10
keyfile /etc/chrony.keys
logdir /var/log/chrony
log measurements statistics tracking
2、启动服务
[root@localhost ~]# systemctl start chronyd
[root@localhost ~]# systemctl status chronyd
● chronyd.service - NTP client/serverLoaded: loaded (/usr/lib/systemd/system/chronyd.service; enabled; vendor preset: enabled)Active: active (running) since Fri 2024-06-21 20:37:38 CST; 5s agoDocs: man:chronyd(8)man:chrony.conf(5)Process: 392366 ExecStart=/usr/sbin/chronyd $OPTIONS (code=exited, status=0/SUCCESS)Main PID: 392368 (chronyd)Tasks: 1 (limit: 2469658)Memory: 360.0KCGroup: /system.slice/chronyd.service└─ 392368 /usr/sbin/chronydJun 21 20:37:38 irmsogg1733 systemd[1]: Starting NTP client/server...
Jun 21 20:37:38 irmsogg1733 chronyd[392368]: chronyd version 4.1 starting (+CMDMON +NTP +REFCLOCK +RTC +PRIVDROP +SCFILTER +SIGND +ASY>
Jun 21 20:37:38 irmsogg1733 chronyd[392368]: Initial frequency -46.668 ppm
Jun 21 20:37:38 irmsogg1733 systemd[1]: Started NTP client/server.

服务正常启动

3、检查服务器同步情况
[root@localhost ~]# chronyc sourcestats -v .- Number of sample points in measurement set./    .- Number of residual runs with same sign.|    /    .- Length of measurement set (time).|   |    /      .- Est. clock freq error (ppm).|   |   |      /           .- Est. error in freq.|   |   |     |           /         .- Est. offset.|   |   |     |          |          |   On the -.|   |   |     |          |          |   samples. \|   |   |     |          |          |             |
Name/IP Address            NP  NR  Span  Frequency  Freq Skew  Offset  Std Dev
==============================================================================
192.168.188.66               0   0     0     +0.000   2000.000     +0ns  4000ms
192.168.188.74               0   0     0     +0.000   2000.000     +0ns  4000ms
[root@localhost ~]# chronyc sources -v     .-- Source mode  '^' = server, '=' = peer, '#' = local clock./ .- Source state '*' = current best, '+' = combined, '-' = not combined,
| /             'x' = may be in error, '~' = too variable, '?' = unusable.
||                                                 .- xxxx [ yyyy ] +/- zzzz
||      Reachability register (octal) -.           |  xxxx = adjusted offset,
||      Log2(Polling interval) --.      |          |  yyyy = measured offset,
||                                \     |          |  zzzz = estimated error.
||                                 |    |           \
MS Name/IP address         Stratum Poll Reach LastRx Last sample               
===============================================================================
^? 192.168.188.66                 0   8     0     -     +0ns[   +0ns] +/-    0ns
^? 192.168.188.74                 0   8     0     -     +0ns[   +0ns] +/-    0ns

经长时间观察,服务器前面始终为?,发现无法完成自动同步将服务器状态转为“*”或“-”。

4、检查一级服务器授时能力
[root@localhost ~]# chronyc activity -v
200 OK
2 sources online
0 sources offline
0 sources doing burst (return to online)
0 sources doing burst (return to offline)
0 sources with unknown address
[root@localhost ~]# chronyc tracking -v
Reference ID    : 7F7F0101 ()
Stratum         : 10
Ref time (UTC)  : Fri Jun 21 11:31:11 2024
System time     : 0.000000004 seconds slow of NTP time
Last offset     : +0.000000000 seconds
RMS offset      : 0.000000000 seconds
Frequency       : 44.979 ppm slow
Residual freq   : +0.000 ppm
Skew            : 0.000 ppm
Root delay      : 0.000000000 seconds
Root dispersion : 0.000000000 seconds
Update interval : 0.0 seconds
Leap status     : Normal

 可以看到两个时间服务器源是在线的,但tracking信息不正常

5、手动同步时间测试
[root@localhost ~]# ntpdate 192.168.188.66    
21 Jun 19:19:21 ntpdate[391367]: adjust time server 192.168.188.66 offset +0.017640 sec
[root@localhost ~]# ntpdate 192.168.188.74
21 Jun 19:19:34 ntpdate[391368]: adjust time server 192.168.188.74 offset +0.012333 sec
[root@localhost ~]# chronyc -a makestep
200 OK

 手动测试一级时间服务器时间同步正常,授时端口也正常,看来chronyd与该GPS时间服务器同步存在什么问题。

三、问题处理

1、卸载chronyd

考虑到一级GPS时间服务器能正常授时,chronyd又无法完成与一级GPS时间服务器的自动同步,于是卸载chronyd,改用ntpd进行尝试(ntpd和chronyd都能启动ntp时间服务器,同时运行是有冲突的,最好只保留一个)。

[root@localhost ~]# yum remove chrony        
Dependencies resolved.
=======================================================================================================================================Package                     Architecture             Version                             Repository                              Size
=======================================================================================================================================
Removing:chrony                      x86_64                   4.1-3.oe2203sp1                     @openEuler2203SP1LTS                   435 k
Removing unused dependencies:libedit                     x86_64                   3.1-29.oe2203sp1                    @openEuler2203SP1LTS                   232 ktimedatex                   x86_64                   0.6-3.oe2203sp1                     @openEuler2203SP1LTS                    52 kTransaction Summary
=======================================================================================================================================
Remove  3 PackagesFreed space: 718 k
Is this ok [y/N]: y
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transactionPreparing        :                                                                                                               1/1 Running scriptlet: chrony-4.1-3.oe2203sp1.x86_64                                                                                 1/1 Running scriptlet: chrony-4.1-3.oe2203sp1.x86_64                                                                                 1/3 
Removed /etc/systemd/system/multi-user.target.wants/chronyd.service.Erasing          : chrony-4.1-3.oe2203sp1.x86_64                                                                                 1/3 
warning: /etc/chrony.conf saved as /etc/chrony.conf.rpmsaveRunning scriptlet: chrony-4.1-3.oe2203sp1.x86_64                                                                                 1/3 Erasing          : libedit-3.1-29.oe2203sp1.x86_64                                                                               2/3 Running scriptlet: timedatex-0.6-3.oe2203sp1.x86_64                                                                              3/3 
Unit /etc/systemd/system/timedatex.service is masked, ignoring.Erasing          : timedatex-0.6-3.oe2203sp1.x86_64                                                                              3/3 Running scriptlet: timedatex-0.6-3.oe2203sp1.x86_64                                                                              3/3 Verifying        : chrony-4.1-3.oe2203sp1.x86_64                                                                                 1/3 Verifying        : libedit-3.1-29.oe2203sp1.x86_64                                                                               2/3 Verifying        : timedatex-0.6-3.oe2203sp1.x86_64                                                                              3/3 Removed:chrony-4.1-3.oe2203sp1.x86_64              libedit-3.1-29.oe2203sp1.x86_64              timedatex-0.6-3.oe2203sp1.x86_64             Complete!
2、安装ntpd
[root@localhost ~] # yum install ntp
Last metadata expiration check: 0:51:16 ago on Fri 21 Jun 2024 07:47:25 PM CST.
Dependencies resolved.
=======================================================================================================================================Package                    Architecture            Version                                 Repository                            Size
=======================================================================================================================================
Installing:ntp                        x86_64                  4.2.8p15-7.oe2203sp1                    openEuler2203SP1LTS                  619 k
Installing dependencies:autogen                    x86_64                  5.18.16-3.oe2203sp1                     openEuler2203SP1LTS                  469 klibedit                    x86_64                  3.1-29.oe2203sp1                        openEuler2203SP1LTS                   92 kntp-help                   noarch                  4.2.8p15-7.oe2203sp1                    openEuler2203SP1LTS                  1.3 M
Installing weak dependencies:ntpstat                    noarch                  0.6-4.oe2203sp1                         openEuler2203SP1LTS                   11 ktimedatex                  x86_64                  0.6-3.oe2203sp1                         openEuler2203SP1LTS                   29 kTransaction Summary
=======================================================================================================================================
Install  6 PackagesTotal download size: 2.4 M
Installed size: 5.3 M
Is this ok [y/N]: y
Downloading Packages:
(1/6): libedit-3.1-29.oe2203sp1.x86_64.rpm                                                              19 MB/s |  92 kB     00:00    
(2/6): autogen-5.18.16-3.oe2203sp1.x86_64.rpm                                                           29 MB/s | 469 kB     00:00    
(3/6): ntpstat-0.6-4.oe2203sp1.noarch.rpm                                                              9.3 MB/s |  11 kB     00:00    
(4/6): ntp-4.2.8p15-7.oe2203sp1.x86_64.rpm                                                              24 MB/s | 619 kB     00:00    
(5/6): timedatex-0.6-3.oe2203sp1.x86_64.rpm                                                            3.7 MB/s |  29 kB     00:00    
(6/6): ntp-help-4.2.8p15-7.oe2203sp1.noarch.rpm                                                         42 MB/s | 1.3 MB     00:00    
---------------------------------------------------------------------------------------------------------------------------------------
Total                                                                                                   63 MB/s | 2.4 MB     00:00     
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transactionPreparing        :                                                                                                               1/1 Running scriptlet: timedatex-0.6-3.oe2203sp1.x86_64                                                                              1/6 Installing       : timedatex-0.6-3.oe2203sp1.x86_64                                                                              1/6 Running scriptlet: timedatex-0.6-3.oe2203sp1.x86_64                                                                              1/6 
Unit /etc/systemd/system/timedatex.service is masked, ignoring.Installing       : ntp-help-4.2.8p15-7.oe2203sp1.noarch                                                                          2/6 Installing       : libedit-3.1-29.oe2203sp1.x86_64                                                                               3/6 Installing       : autogen-5.18.16-3.oe2203sp1.x86_64                                                                            4/6 Installing       : ntpstat-0.6-4.oe2203sp1.noarch                                                                                5/6 Running scriptlet: ntp-4.2.8p15-7.oe2203sp1.x86_64                                                                               6/6 Installing       : ntp-4.2.8p15-7.oe2203sp1.x86_64                                                                               6/6 Running scriptlet: ntp-4.2.8p15-7.oe2203sp1.x86_64                                                                               6/6 Verifying        : autogen-5.18.16-3.oe2203sp1.x86_64                                                                            1/6 Verifying        : libedit-3.1-29.oe2203sp1.x86_64                                                                               2/6 Verifying        : ntp-4.2.8p15-7.oe2203sp1.x86_64                                                                               3/6 Verifying        : ntp-help-4.2.8p15-7.oe2203sp1.noarch                                                                          4/6 Verifying        : ntpstat-0.6-4.oe2203sp1.noarch                                                                                5/6 Verifying        : timedatex-0.6-3.oe2203sp1.x86_64                                                                              6/6 Installed:autogen-5.18.16-3.oe2203sp1.x86_64             libedit-3.1-29.oe2203sp1.x86_64           ntp-4.2.8p15-7.oe2203sp1.x86_64           ntp-help-4.2.8p15-7.oe2203sp1.noarch           ntpstat-0.6-4.oe2203sp1.noarch            timedatex-0.6-3.oe2203sp1.x86_64          Complete!
3、配置ntpd
[root@localhost chrony]# egrep -v "^#|^$" /etc/ntp.conf   
driftfile /var/lib/ntp/drift
restrict default nomodify notrap nopeer noepeer noquery
restrict source nomodify notrap noepeer noquery
restrict 127.0.0.1 
restrict ::1
server 192.168.188.66 iburst
server 192.168.188.74 iburst
tos maxclock 5
includefile /etc/ntp/crypto/pw
keys /etc/ntp/keys
 4、启动ntpd
[root@localhost chrony]# systemctl start ntpd
5、查看服务状态
[root@localhost chrony]# systemctl status ntpd
● ntpd.service - Network Time ServiceLoaded: loaded (/usr/lib/systemd/system/ntpd.service; enabled; vendor preset: disabled)Active: active (running) since Fri 2024-06-21 20:40:16 CST; 2min 38s agoMain PID: 392489 (ntpd)Tasks: 2 (limit: 2469658)Memory: 1.6MCGroup: /system.slice/ntpd.service└─ 392489 /usr/sbin/ntpd -u ntp:ntp -gJun 21 20:40:16 localhost ntpd[392489]: Listen and drop on 1 v4wildcard 0.0.0.0:123
Jun 21 20:40:16 localhost ntpd[392489]: Listen normally on 2 lo 127.0.0.1:123
Jun 21 20:40:16 localhost ntpd[392489]: Listen normally on 3 bond0 192.168.168.33:123
Jun 21 20:40:16 localhost ntpd[392489]: Listen normally on 4 lo [::1]:123
Jun 21 20:40:16 localhost ntpd[392489]: Listening on routing socket on fd #23 for interface updates
Jun 21 20:40:16 localhost ntpd[392489]: kernel reports TIME_ERROR: 0x41: Clock Unsynchronized
Jun 21 20:40:16 localhost ntpd[392489]: kernel reports TIME_ERROR: 0x41: Clock Unsynchronized
Jun 21 20:40:16 localhost systemd[1]: Started Network Time Service.
 6、检查时间同步情况
[root@localhost chrony]# ntpq -premote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
+192.168.188.66   .GPS.            1 u   11   64   77    1.705  +15.730  12.199
*192.168.188.74   .GPS.            1 u    8   64   77    1.670  +16.038  12.284

 发现ntpd能够正常跟踪一级GPS时间服务器,相关数据显示正常。

7、使能ntpd让其开机启动
[root@localhost chrony]# systemctl enable ntpd
Created symlink /etc/systemd/system/multi-user.target.wants/ntpd.service → /usr/lib/systemd/system/ntpd.service.
8、通过网内其它主机进行时间同步测试

其它主机chronyd将时间服务器设置为二级服务器192.168.168.33进行同步测试

[root@localhost2 ~]# chronyc sources -v.-- Source mode  '^' = server, '=' = peer, '#' = local clock./ .- Source state '*' = current best, '+' = combined, '-' = not combined,
| /             'x' = may be in error, '~' = too variable, '?' = unusable.
||                                                 .- xxxx [ yyyy ] +/- zzzz
||      Reachability register (octal) -.           |  xxxx = adjusted offset,
||      Log2(Polling interval) --.      |          |  yyyy = measured offset,
||                                \     |          |  zzzz = estimated error.
||                                 |    |           \
MS Name/IP address         Stratum Poll Reach LastRx Last sample               
===============================================================================
^* 192.168.168.33                  2   6   377    17  -4658us[-7129us] +/-   11ms

可以看到,能正确获取到时间,且显示二级服务器192.168.168.33处于第二层。

9、检查时间获取情况
[root@localhost2 ~]#  chronyc tracking -v
Reference ID    : 0AE31121 (192.168.168.33)
Stratum         : 3
Ref time (UTC)  : Fri Jun 21 14:13:29 2024
System time     : 0.000004623 seconds fast of NTP time
Last offset     : +0.000003086 seconds
RMS offset      : 0.000103144 seconds
Frequency       : 16.338 ppm slow
Residual freq   : +0.001 ppm
Skew            : 0.072 ppm
Root delay      : 0.001930163 seconds
Root dispersion : 0.007009792 seconds
Update interval : 64.7 seconds
Leap status     : Normal
10、用时间同步检查工具检查

可以看到 二级服务器192.168.168.33是从一级时间服务器192.168.188.74获取的时间,与“ntpq -p”检查结果一致,确认二级时间服务器自动同步GPS时间服务器并进行分发的配置ok,运行完成正常。

四、问题分析

网络中的GPS一级时间服务器启用时间较早,估计使用了较早的时间协议。chronyd对比ntpd能更快地且更准确地同步系统时钟,但ntp更多的NTP运行协议,它支持RFC 5905的所有操作模式,包括广播、多播和manycast服务器/客户端,它还支持自动密钥协议(RFC 5906)来使用公钥加密对服务器进行身份验证,因此本例可能就是因为chronyd不能完全支持GPS一级时间服务器的NTP协议,而使用ntpd则能较好地运行。

附:本文中相关配置详解见《ntpd和chronyd时间服务器配置样例及详解》

相关文章:

openEuler 22.03 (LTS-SP1)服务器用ntpd同步GPS时间服务器的案例

本文记录了openEuler 22.03 (LTS-SP1)的二级时间服务器用chronyd不能自动同步GPS时间服务器,改用ntpd同步GPS时间服务器成功的案例 一、环境简述 1、本环境中有两台GPS一级时间服务器,IP如下: 192.168.188.66 192.168.188.74 2、有一台o…...

Git的安装以及使用

一.简单介绍 1.1版本控制 版本控制是指对软件开发过程中各种程序代码,配置文件及说明文档等文件变更管理,是软件配置管理的核心思想之一。 版本控制最重要的内容是追踪文件的变更,它将什么时候,什么人更改了文件的什么内容等信息忠实的记录…...

双路视频同屏显示(拼接)-基于野火Zynq7020开发板

前情提要 米联客FDMA驱动OV5640摄像头—基于野火Zynq7020开发板 本文在此基础上,实现了双路视频拼接。将ov5640输出的1024600的图像数据缩放为512600,分两路写入ddr3,并且显示在1024*600的RGB屏幕中。 纯FPGA也可以按此方法实现。 总体BLOC…...

ForkJoinPool浅析

一,概述 相比传统的线程池ExecuteService,ForkJoinPool的优势在于能采用分治算法、工作窃取算法高效利用CPU资源,如下图 Fork即拆分,Join即合并, 通过将大任务拆分成多个小任务,在多个线程中执行后,合并结果即可得到大任务的结果,经典的例子有归并排序、超大数组求和…...

【AI-小米机器狗】Dockerfile包含SSH和SFTP

通过这些步骤,可以在docker容器中安装运行SSH和SFTP服务,设置ssh和sftp的密码,克隆指定的Git仓库到/home目录,并使用bash作为入口点, # 基于原始镜像 FROM cyberdog_sim:v1# 更新包列表并安装OpenSSH服务器和git RUN …...

仿真CAN报文发送的CRC校验算法(附CAPL代码)

文章目录 前言一、为什么CAN报文有CRC?二、怎么确定是否需要做CRC校验?三、CAPL代码实现CRC算法 前言 关于CRC校验的基本理论、算法实现网上已经有很多介绍文章,本文不再赘述。只是记录在项目测试中真正开发CRC算法并进行测试的一些体会。 …...

如何在Android应用中最佳实现“Edge to Edge“特性?

Edge to Edge"特性 要在Android应用中最佳实现"Edge to Edge"特性,可以按照以下步骤进行操作: 1. 设置目标版本:将应用的目标版本设置为Android Q或更高版本。在build.gradle文件中,将targetSdkVersion设置为Q。 2. 设置主题样式:在styles.xml文件中,创…...

多租户与低代码开发的应用:解锁企业数字化转型的无限可能

在数字化转型的浪潮中,多租户与低代码开发已经成为推动企业快速、灵活、安全地构建和部署应用的关键技术。本文将深入探讨这两种技术的结合如何为企业带来前所未有的变革和机遇。 多租户架构:资源共享与隔离的艺术 多租户架构,是一种高级的软…...

出现身份验证错误,无法连接到本地安全机构 顺利解决这个问题希望能帮助大家

出现身份验证错误,无法连接到本地安全机构,远程计算机:XX,这可能是由于密码过期,如果密码已过期请更新密码。 我们可以在系统属性中对远程进行设置,以解决远程桌面无法连接到本地安全机构这一问题。 步骤…...

老师把卷子拍成图片如何打印

如今,老师们经常会把试卷、习题拍成图片分享给学生(如通过微信群或钉钉群的形式)。但随之而来的问题是,这些图片如何方便地打印出来呢?尤其是当面对一张张精美的试卷图片时,许多学生和家长都感到头疼。 一…...

MySQL数据库(三):读取数据库数据

上一节,我们介绍了数据库的基本操作,以及最后演示了如何使用库来连接数据库,在实际应用中,我们通常需要按照指定的条件对数据库进行操作,即增删改查操作,这是非常重要的!这一节我们继续通过一个…...

分销裂变实战:PLG模式如何助力企业突破增长瓶颈

在竞争激烈的商业环境中,企业如何快速、有效地实现增长,一直是业界关注的焦点。近年来,分销裂变作为一种新兴的商业模式,凭借其独特的优势,逐渐受到企业的青睐。而产品驱动增长(PLG)模式更是为分…...

定积分定义求极限专题

文章目录 定积分定义求极限问题的描述解决方法真题实践(持续更新中,未完结) 定积分定义求极限问题的描述 在定积分定义求极限中,我们可能存在的问题 被积函数不会找积分区间不会定(只会[0,1]的)根本不知道“补系数”…...

LLaMA:挑战大模型Scaling Law的性能突破

实际问题 在大模型的研发中,通常会有下面一些需求: 计划训练一个10B的模型,想知道至少需要多大的数据?收集到了1T的数据,想知道能训练一个多大的模型?老板准备1个月后开发布会,给的资源是100张A100,应该用多少数据训多大的模型效果最好?老板对现在10B的模型不满意,想…...

vue3 +elementPlus上传照片墙

获取到照片字符串然后push到fileList对应的URL中 if (formData.value.pictures) {let zz formData.value.pictures.split(",")zz.forEach((item) > {fileList.value.push({ url: item })})}对应表单 <el-form-item label"内容详情图"><el-up…...

Charles网络抓包工具安装和web抓包(一)

目录 概述 抓包工具对比 安装 下载 web抓包配置 按键说明 前言-与正文无关 ​ 生活远不止眼前的苦劳与奔波&#xff0c;它还充满了无数值得我们去体验和珍惜的美好事物。在这个快节奏的世界中&#xff0c;我们往往容易陷入工作的漩涡&#xff0c;忘记了停下脚步&#…...

mysql workbench使用schema视图导出表和列结构到excel

目的&#xff1a;导出所有表和列的名字和注释 很多时候没有正规的数据库文档&#xff0c;为了快速交流啊&#xff0c;需要一个快捷的基础。数据库建表的时候可能有注释&#xff0c;也可能没有注释。有当然好&#xff0c;查看注释就能清楚很多&#xff0c;没有的话最好一个一个补…...

Linux操作系统--软件包管理(保姆级教程)

RPM软件包的管理 大多数linux的发行版本都是某种打包系统。软件包可以用来发布应用软件&#xff0c;有时还可以发布配置文件。他们比传统结构的.tar和.gz存档文件有几个优势。如它们能让安装过程尽可能成为不可分割的原子操作。 软件包的安装程序会备份它们改动过的文件。如果…...

【uniapp】HBuilderx中uniapp项目运行到微信小程序报错Error: Fail to open IDE

HBuilderx中uniapp项目运行到微信小程序报错Error: Fail to open IDE 问题描述 uniapp开发微信小程序&#xff0c;在HBuilderx中运行到微信开发者工具时报错Error: Fail to open IDE 解决方案 1. 查看微信开发者工具端服务端口是否开放 打开微信开发者工具选择&#xff1…...

Rust详解日志

详解日志 相比起监控&#xff0c;日志好理解的多&#xff1a;在某个时间点向指定的地方输出一条信息&#xff0c;里面记录着重要性、时间、地点和发生的事件&#xff0c;这就是日志。 注意&#xff0c;本文和 Rust 无关&#xff0c;我们争取从一个中立的角度去介绍何为日志 日…...

某麦网自动刷新抢票脚本——手机端(高级版)

某麦网自动刷新抢票脚本——电脑端 小白操作-抵制黄牛–需要更好用更高级关注获取 如何用Python自动抢大麦网演出票&#xff1f; 在数字化时代&#xff0c;购票已经成为我们生活的一部分&#xff0c;无论是音乐会、话剧、体育赛事还是各种展览&#xff0c;抢票几乎成了一项“…...

【MySQL】(基础篇十八) —— 触发器

触发器 本文学习什么是触发器&#xff0c;为什么要使用触发器以及如何使用触发器&#xff0c;还介绍创建和使用触发器的语法。 MySQL语句在需要时被执行&#xff0c;存储过程也是如此。但是&#xff0c;如果你想要某条语句&#xff08;或某些语句&#xff09;在事件发生自动执…...

[19] Opencv_CUDA应用之 基于形状的对象检测与跟踪

Opencv_CUDA应用之 基于形状的对象检测与跟踪 形状可以用作全局特征检测具有不同形状的物体,可以是直线、多边形、圆形或者任何其他不规则形状利用对象边界、边缘和轮廓可以检测具有特定形状的对象本文将使用Canny边缘检测算法和Hough变换来检测两个规则形状,即线和圆1. Cann…...

【Echarts】散点图 制作 气泡 类型图表

目录 需求主要代码效果展示注 需求 需参照设计图画出对应图表 主要代码 /**** 数据 ****/ this.dataList [...Array(8).keys()].map((item) > {return {ywlxmc: 业务类型 (item 1),sl: item > 4 ? 50 : 70} })/**** 气泡样式 ****/ const styleList [{offset: [56…...

深入理解Spring Boot的启动过程

深入理解Spring Boot的启动过程 大家好&#xff0c;我是免费搭建查券返利机器人省钱赚佣金就用微赚淘客系统3.0的小编&#xff0c;也是冬天不穿秋裤&#xff0c;天冷也要风度的程序猿&#xff01;今天&#xff0c;让我们一起深入探讨Spring Boot的启动过程。Spring Boot作为一…...

【深度学习】卷积神经网络CNN

李宏毅深度学习笔记 图像分类 图像可以描述为三维张量&#xff08;张量可以想成维度大于 2 的矩阵&#xff09;。一张图像是一个三维的张量&#xff0c;其中一维代表图像的宽&#xff0c;另外一维代表图像的高&#xff0c;还有一维代表图像的通道&#xff08;channel&#xff…...

游戏AI的创造思路-技术基础-深度学习(3)

继续填坑&#xff0c;本篇介绍深度学习中的长短期记忆网络~~~~ 目录 3.3. 长短期记忆网络&#xff08;LSTM&#xff09; 3.3.1. 什么是长短期记忆网络 3.3.2. 形成过程与运行原理 3.3.2.1. 细胞状态与门结构 3.3.2.2. 遗忘门 3.3.2.3. 输入门 3.3.2.4. 细胞状态更新 3.…...

贪心算法练习题(2024/6/24)

1K 次取反后最大化的数组和 给你一个整数数组 nums 和一个整数 k &#xff0c;按以下方法修改该数组&#xff1a; 选择某个下标 i 并将 nums[i] 替换为 -nums[i] 。 重复这个过程恰好 k 次。可以多次选择同一个下标 i 。 以这种方式修改数组后&#xff0c;返回数组 可能的最…...

大厂程序员上班猝死成常态?

大家好&#xff0c;我是瑶琴呀&#xff0c;拥有一头黑长直秀发的女程序员。 近日&#xff0c;连续看到大厂程序员猝死、低血糖晕倒的新闻&#xff0c;同为程序员感到很难受。互联网加班成常态这是既定事实&#xff0c;尤其在这个内卷严重、经济不景气的环境中&#xff0c;加班…...

深度学习 —— 1.单一神经元

深度学习初级课程 1.单一神经元2.深度神经网络3.随机梯度下降法4.过拟合和欠拟合5.剪枝、批量标准化6.二分类 前言 本套课程仍为 kaggle 课程《Intro to Deep Learning》&#xff0c;仍按之前《机器学习》系列课程模式进行。前一系列《Keras入门教程》内容&#xff0c;与本系列…...

郑州专业做网站的/企业培训课程名称

141&#xff1a;环形链表1一、题目描述给定一个链表&#xff0c;判断链表中是否有环。     如果链表中有某个节点&#xff0c;可以通过连续跟踪 next 指针再次到达&#xff0c;则链表中存在环。为了表示给定链表中的环&#xff0c;我们使用整数 pos 来表示链表尾连接到链表…...

上海网站推广很好/成人职业技能培训学校

做为系统管理员可能会面对的任务:1.自动批量安装操作系统2.完成系统的本地化 (配置现成的发行版或者软件包,以求符合自己的需要,本地安全规定、文 件存放和网络拓扑的需要&#xff0c;这个过程称为“本地化”)3.给系统打补丁且保持系统的更新 4.管理附加的软件包 程…...

网站销售如何做业绩/淘宝客推广一天80单

来源《微观经济学19.1.5超级明星现象》&#xff1a; 好的木匠、管道工赚的钱和一些娱乐、体育明星相比不在一个数量级上&#xff0c;why&#xff1f; 1、市场上每位顾客都想享受最优生产者提供的物品&#xff1b; 2、使最有生产者以低成本向每位顾客提供物品成为可能的是生产这…...

手机定制网站/百度信息流平台

watchEffect函数的作用&#xff1a; 传入的一个函数&#xff0c;当依赖项变化的时候&#xff0c;重新执行改函数。 watchEffect函特性&#xff1a; 与watch相似都可以监听一个数据源。 但是watchEffect会在初始化的时候调用一次&#xff0c;与watch的immediate类似。 watch…...

可免费注册的网站/广东企业网站seo哪里好

iTEST大学外语测试与训练系统FLTRP iTEST大学外语测试与训练系统(以下简称iTEST)是为高校提供英语试题库资源和在线评测服务的综合测试管理平台。平台提供大学英语四六级考试、英语专业四八级考试、研究生英语入学考试等高质量模拟题库和基础训练题库&#xff0c;支持学生进行词…...

网站上的验证码怎么做的/天津seo外包团队

在python中用于生成随机数的模块是random,在使用前需要import, 下面看下它的用法。random.randomrandom.random()用于生成一个0到1的随机符点数: 0 < n < 1.0注意&#xff1a; 以下代码在Python3.5下测试通过&#xff0c; python2版本可稍加修改描述random() 方法返回随机…...