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

【OceanBase诊断调优】—— Unit 迁移问题的排查方法

适用版本:V2.1.x、V2.2.x、V3.1.x、V3.2.x

本文主要介绍 OceanBase 数据集在副本迁移过程中遇到的问题的排查方法。

适用版本

V2.1.x、V2.2.x、V3.1.x、V3.2.x

手动调度迁移问题的排查

OceanBase 数据库的 RootService 模块负责 Unit 迁移的调度,如果一直没有对迁移进行调度,可以通过以下方法进行排查。

  1. 通过以下 SQL 找到 RootService 的 IP 地址。

    obclient> SELECT * FROM __all_server WHERE with_rootserver=1;
    +----------------------------+----------------------------+----------------+----------+----+-------+------------+-----------------+--------+-----------------------+--------------------------------------------------------------------------------------+-----------+--------------------+--------------+----------------+-------------------+
    | gmt_create                 | gmt_modified               | svr_ip         | svr_port | id | zone  | inner_port | with_rootserver | status | block_migrate_in_time | build_version| stop_time | start_service_time | first_sessid | with_partition | last_offline_time |
    +----------------------------+----------------------------+----------------+----------+----+-------+------------+-----------------+--------+-----------------------+--------------------------------------------------------------------------------------+-----------+--------------------+--------------+----------------+-------------------+
    | 2021-03-24 10:32:55.367438 | 2021-03-24 10:35:56.904319 | xx.xxx.xxx.xxx |     2882 |  2 | zone2 |       2881 |               1 | active |                     0 | 2.2.76_20210314152507-03d916596ba416277bf49a1a2fccb0b0d36a1631(Mar 14 2021 15:56:27) |         0 |   1616553286007503 |            0 |              1 |                 0 |
    +----------------------------+----------------------------+----------------+----------+----+-------+------------+-----------------+--------+-----------------------+--------------------------------------------------------------------------------------+-----------+--------------------+--------------+----------------+-------------------+
    1 row in set (0.01 sec)
    
  2. 登录到 RootService 所在的服务器,通过以下命令搜索 balancer 相关的日志。

    [admin@oceanbase /]$ grep balancer log/rootservice.log
    

迁移过慢问题排查

  1. 检查数据库配置项,建议的值如下:

    • 将 server_data_copy_out_concurrency 配置为 10。

    • 将 server_data_copy_in_concurrency 配置为 10。

    • 将 sys_bkgd_io_low_percentage 按需配置。

    • 将 sys_bkgd_net_percentage 按需配置。

    其中,server_data_copy_in_concurrency 与 server_data_copy_out_concurrency 分别用于配置单个节点迁入数据与迁出数据的最大并发数。sys_bkgd_io_low_percentage 表示 sys_io_percent 的下限,如果下限太低则可能导致合并的 I/O 很慢,可以通过适当调大这个值来调大 I/O。sys_bkgd_net_percentage 表示后端网络带宽占用。

    有关以上配置项的详细信息,请参见《OceanBase 数据库 参考指南》中的 系统配置项 章节。

  2. 检查 Unit 迁移操作是否为异地进行 

    通过以下命令检查延时,如果延时大于 5 ms,则表示迁移操作为异地进行。将操作系统的 sysctl.conf 文件中的 tcp_slow_start_after_idle 参数设置为 0,避免 TCP 连接在空闲后被重新设置。其中 observer_ip 表示迁移目的服务器的 IP 地址。

    [admin@oceanbase /]$ ping <observer_ip>
    
  3. 检查 I/O 是否达到磁盘瓶颈。

    通过以下命令确认是否达到磁盘 I/O 瓶颈。

    [root@hostname /]# iostat -x -k 1
    Linux 3.10.0-327.ali2019.alios7.x86_64 (k08j13249.eu95sqa)      03/30/2021      _x86_64_        (64 CPU)avg-cpu:  %user   %nice %system %iowait  %steal   %idle16.29    0.00    6.85    0.02    0.00   76.84
    

    通过以下命令检查 io_size_byte 列中 2097152 对应行 io_ps 是否达到 500 以上。

    [admin@oceanbase /]$ cat etc/io_resource.conf
    version 1
    io_type    io_size_byte    io_ps           io_rt_us
    0          4096            139979.75       123.25
    0          8192            122290.50       139.44
    0          16384           102972.00       164.16
    0          32768           64478.75        196.28
    0          65536           38162.25        219.13
    0          131072          20608.50        232.28
    0          262144          10537.00        280.90
    0          524288          5284.00         414.86
    1          2097152         890.00          1781.68
    submit_thread_cnt 1
    getevent_thread_cnt 5
    

    如果 io_ps 未达到 500,检查日志,查看 sys_io_high_percent 是否与配置 sys_bkgd_io_low_percentage 一致。如果不一致,则说明存在 I/O 限流。

    [admin@oceanbase /]$ grep io_stat log/observer.log
    [2019-01-11 16:45:35.629871] INFO  [COMMON] ob_io_manager.cpp:1424 [26043][Y0-0000000000000000] [lt=18] Current io stat, (sys_io_percent=60, sys_iops_up_limit=770, user_max_rt=20775.528088989257, user_io_stat={average_size:0, average_rt_us:"0.000000000000", old_stat:{io_cnt:27169649, io_bytes:349257160063, io_rt_us:276864943639}, new_stat:{io_cnt:27169649, io_bytes:349257160063, io_rt_us:276864943639}}, sys_io_stat={average_size:2097152, average_rt_us:"2784.086956521739", old_stat:{io_cnt:10151653, io_bytes:21289559392256, io_rt_us:127287447387}, new_stat:{io_cnt:10151676, io_bytes:21289607626752, io_rt_us:127287511421}}, io_conf={sys_io_low_percent:50, sys_io_high_percent:60, user_iort_up_percent:100, cpu_high_water_level:7680, write_failure_detect_interval:60000000, read_failure_black_list_interval:300000000, retry_warn_limit:2, retry_error_limit:5}, cpu_stat={avg_usage:584})
    
  4. 检查网络配置。

    1. 检查网卡是千兆还是万兆。

    2. 检查 ifconfig 输出的结构是否有 drop 或者 error 的包。

    3. 通过 tsar 或 vsar 检查 retrans,如果大于 0.2 则说明交换机或者链路存在问题。

  5. 检查出现迁移过慢的步骤。

    执行以下 SQL 语句,检查 ACTION 列值,该字段表示目前迁移正处于的步骤。

    obclient> SELECT * FROM __all_virtual_partition_migration_status WHERE action!='END' AND result = 0\G
    

迁移失败问题的排查

  1. 确认常见错误码。

    目前,常见的迁移失败对应两个错误码,分别为:

    • ERROR 4109 :常见于 OceanBase 数据库 V1.4 版本,如果目的端在合并或者转储,可能出现该错误。如果 rebuild 的时候遇到,可以通过加快合并速度来回避,即调大合并线程数或者增量 sysio 的带宽限制。

    • ERROR 4018 :表示源端进行了合并或者转储,导致找不到需要的数据。需要调大迁移的带宽、sysio 限制或者降低转储合并的频率。

  2. 检查是否存在硬件问题。

    1. 检查机器各硬件是否存在故障。

    2. 检查错误日志。

      如果结果为空则表示无故障。

      [root@hostname /]# dmesg|grep -E "Failed status, reset controller|Controller encountered a fatal error and was reset|Controller encountered a fatal error and was reset
      

      对于配置了 Raid 的机器还需要进行以下检查,如果结果为空则表示无故障。

      [root@hostname /]# tbraid log | grep -E "Read Medium ERR|Error"
      
    3. 通过以下命令确认是否存在 RX 或 TX 错误。

      [root@hostname /]# ifconfig
      bond0: flags=5187<UP,BROADCAST,RUNNING,MASTER,MULTICAST>  mtu 1500inet xxx.xxx.xxx.xxx  netmask xxx.xxx.xxx.xxx  broadcast xxx.xxx.xxx.xxxether xx:xx:xx:xx:xx:xx  txqueuelen 0  (Ethernet)RX packets 234167440  bytes 206275603707 (192.1 GiB)RX errors 0  dropped 63  overruns 0  frame 0TX packets 241808476  bytes 97456446934 (90.7 GiB)TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
      
    4. 检查 tsar 或 vsar 的 retrans 值,如果大于 0.2 则表示网络链路故障。

      [root@hostname /]# tsar 
      Time           ---cpu-- ---mem-- ---tcp-- -----traffic---- --sda--- --dfa--- --dfb--- --dfc--- --dm-0-- --dm-7-- --dm-8-- --dm-9-- -dm-10-- -dm-11-- -dm-12-- -dm-14-- -dm-24-- --dm-3-- --dm-2-- --dm-4-- -dm-15-- --dm-5-- -dm-16-- -dm-18-- -dm-17-- -dm-21-- -dm-19-- -dm-20-- --dm-1-- --dm-6-- -dm-13-- -dm-22-- -dm-23-- -dm-25-- -dm-28-- -dm-26-- -dm-27-- -dm-29-- -dm-30-- -dm-31--  ---load-
      Time             util     util   retran    bytin  bytout     util     util     util     util     util     util     util     util     util     util     util     util     util     util     util     util     util     util     util     util     util     util     util     util     util     util     util     util     util     util     util     util     util     util     util     util     load1
      30/03/21-16:45  21.62    53.82     0.00     3.0K    4.9K     0.01     0.04     0.33     1.26     0.00     0.00     0.00     0.00     0.00     0.00     0.01     0.00     0.00     0.40     0.00     0.00     0.39     0.00     0.01     0.29     0.00     0.00     0.00     0.00     0.02     0.35     0.39     0.00     0.00     0.15     0.00     0.00     0.00     0.00     0.00     0.00     15.31
      30/03/21-16:50  21.59    54.39     0.00     2.9K    4.8K     0.01     0.04     0.30     1.20     0.00     0.00     0.00     0.00     0.00     0.00     0.01     0.00     0.00     0.37     0.01     0.00     0.37     0.00     0.01     0.29     0.00     0.00     0.00     0.00     0.02     0.32     0.39     0.00     0.00     0.14     0.00     0.00     0.00     0.00     0.00     0.00     12.37
      30/03/21-16:55  24.40    54.68     0.00     2.9K    4.9K     0.01     0.27     1.08    32.99     0.00     0.00     0.00     0.00     0.00     0.00     0.02     0.00     0.00     0.40     0.00     0.01     0.40     0.00     0.01     0.28     0.00     0.00     0.00     0.00     0.24     1.10    32.64     0.00     0.00     0.16     0.00     0.00     0.00     0.00     0.00     0.00     24.60
      30/03/21-17:00  24.46    55.30     0.00     2.9K    4.9K     0.01     0.19     1.11    18.98     0.00     0.00     0.00     0.00     0.00     0.00     0.01     0.00     0.00     0.38     0.00     0.00     0.37     0.00     0.01     0.28     0.00     0.00     0.00     0.00     0.17     1.13    18.49     0.00     0.00     0.17     0.00     0.00     0.00     0.00     0.00     0.00     19.38
      30/03/21-17:05  21.74    55.89     0.00     2.9K    4.9K     0.01     0.04     0.02     1.26     0.00     0.00     0.00     0.00     0.00     0.00     0.01     0.00     0.00     0.41     0.01     0.00     0.36     0.00     0.01     0.30     0.00     0.00     0.00     0.00     0.02     0.03     0.38     0.00     0.00     0.16     0.00     0.00     0.00     0.00     0.00     0.00     16.01MAX             38.78    79.44     0.13     1.7M   51.1K     0.69     1.55    55.95    50.54     0.00     0.00     0.00     0.00     0.00     0.00     0.61     0.12     0.00     6.98     0.01     0.11     6.65     0.12     0.01     4.94     0.00     6.50     0.34    55.83     0.33    12.47    45.96     0.82    55.79     6.68     6.63     0.34    55.81     1.14     0.00     0.00     61.70
      MEAN            29.42    76.67     0.00     9.4K    5.2K     0.01     0.09     0.71     3.73     0.00     0.00     0.00     0.00     0.00     0.00     0.01     0.00     0.00     0.44     0.01     0.01     0.44     0.00     0.01     0.33     0.00     0.40     0.01     0.35     0.03     0.20     2.13     0.02     0.55     0.43     0.41     0.01     0.35     0.00     0.00     0.00     22.73
      MIN             16.84    48.16     0.00     2.8K    4.2K     0.01     0.06     0.00     1.14     0.00     0.00     0.00     0.00     0.00     0.00     0.01     0.00     0.00     0.42     0.01     0.01     0.41     0.00     0.01     0.29     0.00     0.04     0.01     0.00     0.02     0.00     0.34     0.01     0.00     0.04     0.04     0.01     0.00     0.00     0.00     0.00     10.32[root@hostname /]# vsar
      Time              ---cpu-- ---mem-- ---tcp-- -----traffic---- --sda--- --dfa--- --dfb--- --dfc--- --dm-0-- --dm-7-- --dm-8-- --dm-9-- -dm-10-- -dm-11-- -dm-12-- -dm-14-- -dm-24-- --dm-3-- --dm-2-- --dm-4-- -dm-15-- --dm-5-- -dm-16-- -dm-18-- -dm-17-- -dm-21-- -dm-19-- -dm-20-- --dm-1-- --dm-6-- -dm-13-- -dm-22-- -dm-23-- -dm-25-- -dm-28-- -dm-26-- -dm-27-- -dm-29-- -dm-30-- -dm-31--  ---load-
      Time                util     util   retran    bytin  bytout     util     util     util     util     util     util     util     util     util     util     util     util     util     util     util     util     util     util     util     util     util     util     util     util     util     util     util     util     util     util     util     util     util     util     util     util     load1
      30/03/21-17:09:13  21.32    56.40     0.00   949.00    5.4K     0.02     0.06     0.00     1.38     0.00     0.00     0.00     0.00     0.00     0.00     0.00     0.00     0.00     0.34     0.02     0.00     0.32     0.00     0.00     0.36     0.00     0.00     0.00     0.00     0.02     0.00     0.42     0.02     0.00     0.24     0.00     0.00     0.00     0.00     0.00     0.00     13.32
      30/03/21-17:09:18  21.46    56.41     0.00     4.4K   33.3K     1.42     0.00     0.00     0.92     0.00     0.00     0.00     0.00     0.00     0.00     0.00     0.00     0.00     0.28     0.00     0.00     0.38     0.00     0.00     0.30     0.00     0.00     0.00     0.00     0.00     0.00     0.26     0.00     0.00     0.14     0.00     0.00     0.00     0.00     0.00     0.00     12.74
      30/03/21-17:09:23  21.73    56.41     0.00   931.00    5.3K     0.00     0.04     0.00     1.12     0.00     0.00     0.00     0.00     0.00     0.00     0.02     0.00     0.00     0.26     0.00     0.02     0.40     0.00     0.00     0.40     0.00     0.00     0.00     0.00     0.00     0.00     0.28     0.00     0.00     0.20     0.00     0.00     0.00     0.00     0.00     0.00     12.68
      30/03/21-17:09:28  22.16    56.44     0.00    10.8K    5.1K     0.02     0.02     0.00     1.92     0.00     0.00     0.00     0.00     0.00     0.00     0.02     0.00     0.00     0.40     0.00     0.00     0.60     0.00     0.00     0.26     0.00     0.00     0.00     0.00     0.00     0.00     0.90     0.00     0.00     0.24     0.00     0.00     0.00     0.00     0.00     0.00     13.02
      30/03/21-17:09:33  21.07    56.44     0.00   863.00    5.3K     0.00     0.02     0.00     1.16     0.00     0.00     0.00     0.00     0.00     0.00     0.00     0.00     0.00     0.34     0.00     0.00     0.36     0.00     0.02     0.38     0.00     0.00     0.00     0.00     0.00     0.00     0.28     0.00     0.00     0.28     0.00     0.00     0.00     0.00     0.00     0.00     13.02
      30/03/21-17:09:38  21.21    56.45     0.00     2.3K    4.4K     0.02     0.08     0.00     1.02     0.00     0.00     0.00     0.00     0.00     0.00     0.00     0.00     0.00     0.36     0.00     0.02     0.38     0.00     0.00     0.16     0.00     0.00     0.00     0.00     0.06     0.00     0.26     0.00     0.00     0.16     0.00     0.00     0.00     0.00     0.00     0.00     13.02
      30/03/21-17:09:43  21.18    56.44     0.00     2.8K    5.2K     0.00     0.06     0.00     1.08     0.00     0.00     0.00     0.00     0.00     0.00     0.00     0.00     0.00     0.34     0.02     0.02     0.26     0.00     0.00     0.18     0.00     0.00     0.00     0.00     0.00     0.00     0.30     0.00     0.00     0.16     0.00     0.02     0.00     0.00     0.00     0.00     13.34
      30/03/21-17:09:48  20.99    56.44     0.00     2.3K    4.3K     0.00     0.02     0.00     0.98     0.00     0.00     0.00     0.00     0.00     0.00     0.00     0.00     0.00     0.22     0.00     0.00     0.32     0.00     0.00     0.34     0.00     0.00     0.00     0.00     0.00     0.00     0.20     0.02     0.00     0.10     0.00     0.00     0.00     0.00     0.00     0.00     13.07
      30/03/21-17:09:53  21.52    56.45     0.00   863.00    5.1K     0.02     0.02     0.00     0.96     0.00     0.00     0.00     0.00     0.00     0.00     0.02     0.00     0.00     0.30     0.00     0.00     0.30     0.00     0.00     0.20     0.00     0.00     0.00     0.00     0.00     0.00     0.26     0.00     0.00     0.20     0.00     0.00     0.00     0.00     0.00     0.00     13.39
      30/03/21-17:09:58  21.44    56.47     0.00     8.0K    4.5K     0.00     0.00     0.00     1.18     0.00     0.00     0.00     0.00     0.00     0.00     0.00     0.00     0.00     0.38     0.00     0.00     0.34     0.00     0.00     0.24     0.00     0.00     0.00     0.00     0.00     0.00     0.36     0.00     0.00     0.18     0.00     0.00     0.00     0.00     0.00     0.00     12.80
      30/03/21-17:10:03  24.46    56.48     0.00     1.1K    5.5K     0.00     0.02     0.00     1.26     0.00     0.00     0.00     0.00     0.00     0.00     0.00     0.00     0.00     0.30     0.00     0.00     0.34     0.00     0.02     0.28     0.00     0.00     0.00     0.00     0.00     0.00     0.50     0.00     0.00     0.18     0.00     0.00     0.00     0.00     0.00     0.00     13.02MAX                74.03    56.45     0.00    15.4M  186.1K    30.10    17.46   100.00    92.10     0.00     0.00     0.00     0.00     0.00     0.26    12.90     0.00     0.00     1.06     1.24     1.00     0.90     0.00     1.02     0.92     0.00    43.00     4.68   100.00     3.18    97.52    92.64     4.30   100.00    74.30    42.90     3.80   100.00     0.00     0.00     0.00     50.61
      MEAN               22.13    51.58     0.00    78.8K    7.5K     0.05     0.18     7.02     4.33     0.00     0.00     0.00     0.00     0.00     0.00     0.05     0.00     0.00     0.39     0.01     0.01     0.38     0.00     0.01     0.29     0.00     0.15     0.02     4.19     0.04     0.88     3.36     0.04     6.54     0.36     0.15     0.02     4.20     0.00     0.00     0.00     15.21
      MIN                16.19    48.24     0.00   642.00    3.9K     0.01     0.02     0.00     0.64     0.00     0.00     0.00     0.00     0.00     0.00     0.00     0.00     0.00     0.18     0.01     0.00     0.14     0.00     0.00     0.08     0.00     0.00     0.00     0.00     0.01     0.01     0.08     0.00     0.00     0.00     0.00     0.00     0.00     0.00     0.00     0.00      9.37
      
  3. 检查内核问题。

    通过以下命令检查是否存在内核故障。

    如果出现形如 task xxx blocked for more than 120 seconds 的日志,则可能为内核故障。可以通过升级内核版本的方式解决该问题。

    [root@hostname /]# dmesg |grep blocked

相关文章:

【OceanBase诊断调优】—— Unit 迁移问题的排查方法

适用版本&#xff1a;V2.1.x、V2.2.x、V3.1.x、V3.2.x 本文主要介绍 OceanBase 数据集在副本迁移过程中遇到的问题的排查方法。 适用版本 V2.1.x、V2.2.x、V3.1.x、V3.2.x 手动调度迁移问题的排查 OceanBase 数据库的 RootService 模块负责 Unit 迁移的调度&#xff0c;如果…...

[极客大挑战 2019]PHP

1.通过目录扫描找到它的备份文件&#xff0c;这里的备份文件是它的源码。 2.源码当中涉及到的关键点就是魔术函数以及序列化与反序列化。 我们提交的select参数会被进行反序列化&#xff0c;我们要构造符合输出flag条件的序列化数据。 但是&#xff0c;这里要注意的就是我们提…...

数据结构之跳跃表

跳跃表 跳跃表&#xff08;skiplist&#xff09;是一种随机化的数据&#xff0c; 由 William Pugh 在论文《Skip lists: a probabilistic alternative to balanced trees》中提出&#xff0c; 跳跃表以有序的方式在层次化的链表中保存元素&#xff0c; 效率和平衡树媲美 —— …...

搜维尔科技:动作捕捉解决方案:销售、服务、培训和支持

动作捕捉解决方案&#xff1a;销售、服务、培训和支持 搜维尔科技&#xff1a;动作捕捉解决方案&#xff1a;销售、服务、培训和支持l...

数据库管理-第184期 23ai:干掉MongoDB的不一定是另一个JSON数据库(20240507)

数据库管理184期 2024-05-07 数据库管理-第184期 23ai:干掉MongoDB的不一定是另一个JSON数据库&#xff08;20240507&#xff09;1 JSON需求2 关系型表设计3 JSON关系型二元性视图3 查询视图总结 数据库管理-第184期 23ai:干掉MongoDB的不一定是另一个JSON数据库&#xff08;20…...

刷代码随想录有感(58):二叉树的最近公共祖先

题干&#xff1a; 代码&#xff1a; class Solution { public:TreeNode* traversal(TreeNode* root, TreeNode* p, TreeNode* q){if(root NULL)return NULL;if(root p || root q)return root;TreeNode* left traversal(root->left, p, q);TreeNode* right traversal(r…...

[开发|安卓] Android Studio 开发环境配置

Android Studio下载 Android Studio下载地址 下载SDK依赖 1.点击左上角菜单 2.选择工具 3.打开SDK管理中心 4.下载项目目标Android版本的SDK 配置安卓虚拟机 1.打开右上角的设备管理 2.选择合适的手机规格 3.下载并选择项目目标Android系统 4.点击完成配置 …...

开发 Chrome 浏览器插件入门

目录 前言 一&#xff0c;创建插件 1.创建一个新的目录 2.编写清单文件 二&#xff0c;高级清单文件 1.编写放置右窗口 2.常驻的后台JS或后台页面 3.event-pages 短周期使用 三&#xff0c;Chrome 扩展 API 函数 1.浏览器操作函数 2.内容脚本函数 3.后台脚本函数 4…...

在数字化转型的浪潮中,CBDB百数服务商如何破浪前行?

在信息化时代&#xff0c;传统咨询企业面临着数字化转型的挑战与机遇。如何利用数字化技术提升业务效率、增强客户黏性&#xff0c;成为了行业关注的焦点。云南析比迪彼企业管理有限公司&#xff08;CBDB&#xff09;作为云南地区的企业咨询服务提供商&#xff0c;率先与百数展…...

程序员的实用神器

在软件开发的海洋中&#xff0c;程序员的实用神器如同航海中的指南针&#xff0c;帮助他们导航、加速开发、优化代码质量&#xff0c;并最终抵达成功的彼岸。这些工具覆盖了从代码编写、版本控制到测试和部署的各个环节。然而&#xff0c;程序员们通常会有一套自己喜欢的工具集…...

spss 导入数据的时候 用于确定数据类型的值所在的百分比95%是什么意思,数据分析,医学数据分析

在SPSS中&#xff0c;当提及“数据类型的值所在的百分比95%”时&#xff0c;这通常与数据的统计分布或置信区间有关&#xff0c;而不是直接关于数据类型的定义。 导入数据的时候需要定义数据类型&#xff0c;那么根据提供的数据&#xff0c;来定义&#xff0c;有时候&#xff…...

Python进阶之-上下文管理器

✨前言&#xff1a; &#x1f31f;什么是上下文管理器&#xff1f; 在Python中&#xff0c;上下文管理器是支持with语句的对象&#xff0c;用于为代码块提供设置及清理代码。上下文管理器广泛应用于资源管理场景&#xff0c;例如文件操作、网络连接、数据库会话等&#xff0c…...

什么年代了,还在拿考勤说事

最近&#xff0c;看到了某公司的一项考勤规定&#xff1a;自然月内&#xff0c;事假累计超过3次或者累计请假时间超过8小时的&#xff0c;不予审批&#xff0c;强制休假的按旷工处理。 真的想吐槽&#xff0c;什么年代了&#xff0c;还在拿考勤说事&#xff0c;这是什么公司、什…...

泰迪智能科技中职大数据实验室建设(职业院校大数据实验室建设指南)

职校大数据实验室是职校校园文化建设的重要部分&#xff0c;大数据实训室的建设方案应涵盖多个方面&#xff0c;包括硬件设施的配备、软件环境的搭建、课程资源的开发、师资力量的培养以及实践教学体系的完善等。 打造特色&#xff0c;对接生产 社会经济与产业的…...

Qt QThreadPool线程池

1.简介 QThreadPool类管理一个QThread集合。 QThreadPool管理和重新设计单个QThread对象&#xff0c;以帮助降低使用线程的程序中的线程创建成本。每个Qt应用程序都有一个全局QThreadPool对象&#xff0c;可以通过调用globalInstance来访问该对象。 要使用其中一个QThreadPool…...

无人机+三维建模:倾斜摄影技术详解

无人机倾斜摄影测量技术是一项高新技术&#xff0c;近年来在国际摄影测量领域得到了快速发展。这种技术通过从一个垂直和四个倾斜的五个不同视角同步采集影像&#xff0c;从而获取到丰富的建筑物顶面及侧视的高分辨率纹理。这种技术不仅能够真实地反映地物情况&#xff0c;还能…...

Window(Qt/Vs)软件添加版本信息

Window&#xff08;Qt/Vs&#xff09;软件添加版本信息 文章目录 Window&#xff08;Qt/Vs&#xff09;软件添加版本信息VS添加版本信息添加资源文件添加版本定义头自动更新版本添加批处理脚本设置生成事件 Qt添加版本信息添加资源文件文件信息修改自动更新版本 CMake添加版本信…...

工厂模式+策略模式完成多种登录模式的实现

前提 &#xff08;简单工厂不属于设计模式&#xff0c;而是一种编程思想【抽象一层出来】&#xff09;工厂方法模式、抽象工厂模式 以上都是为了解耦&#xff0c;如果考虑多个纬度&#xff08;如需要同时考虑多种电器&#xff0c;多种品牌&#xff09;则优先考虑抽象工厂。 …...

赋能企业数字化转型 - 易点易动固定资产系统与飞书实现协同管理

在当前瞬息万变的商业环境下,企业如何借助信息化手段提升管理效率,已经成为摆在各行各业面前的紧迫课题。作为企业数字化转型的重要一环,固定资产管理的信息化建设更是不容忽视。 易点易动作为国内领先的企业资产管理服务商,凭借其全方位的固定资产管理解决方案,助力众多企业实…...

Sectigo 通配符SSL证书的优势分析!

Sectigo 通配符证书是一种专为需要保护同一主域名下的多个子域名而设计的安全解决方案。以下是Sectigo通配符证书的主要优势和特点&#xff1a; 1. 域名灵活性&#xff1a;使用通配符&#xff08;*&#xff09;符号&#xff0c;一张Sectigo通配符证书即可覆盖一个主域名及其所有…...

nuxt2路由,以及重构以前项目,路由使用

Nuxt.js根据pages目录结构自动生成vue-router模块的路由配置。 配置生成的路由可在.nuxt文件下的router.js文件中查看到&#xff0c;如&#xff1a; export const routerOptions {mode: history,base: /,linkActiveClass: nuxt-link-active,linkExactActiveClass: nuxt-link…...

eureka报错:链接8761被拒绝

eureka报错&#xff1a;链接8761被拒绝 来龙去脉 在idea环境中运行没有问题 我的配置是&#xff1a; server: port: 8001 spring: application: name: registry-server eureka: instance: hostname: localhost client: fetch-registry: false register-with-eureka: false …...

Linux 手动部署JDK21 环境

1、下载包&#xff08;我下载的是tar) https://www.oracle.com/cn/java/technologies/downloads/#java21 完成后进行上传 2、检查已有JDK&#xff0c;并删除&#xff08;我原有是jdk8&#xff09; rpm -qa | grep -i java | xargs -n1 rpm -e --nodeps3、清理掉 profile中的j…...

【c2】编译预处理,gdb,makefile,文件,多线程,动静态库

文章目录 1.编译预处理&#xff1a;C源程序 - 编译预处理【#开头指令和特殊符号进行处理&#xff0c;删除程序中注释和多余空白行】- 编译2.gdb调试&#xff1a;多进/线程中无法用3.makefile文件&#xff1a;make是一个解释makefile中指令的命令工具4.文件&#xff1a;fprint/f…...

c++结构体用构造函数进行初始化

结构体能自由组装数据&#xff0c;是一种很常见的数据打包方法。 当我们定义一个结构体后&#xff0c;没有初始化就使用&#xff0c;就会使用到垃圾数据&#xff0c;而且这种错误很难发现。 在编程时对于定义的任何变量&#xff0c;我们最好都先初始化。 常见的操作是每定义…...

2024年五一数学建模C题完整解题思路代码

2024年第二十一届五一数学建模竞赛题目 C题 煤矿深部开采冲击地压危险预测 煤炭是中国的主要能源和重要的工业原料。然而&#xff0c;随着开采深度的增加&#xff0c;地应力增大&#xff0c;井下煤岩动力灾害风险越来越大&#xff0c;严重影响着煤矿的安全高效开采。在各类深…...

0018__GTK+:GTK+的简介、安装、使用方法之详细攻略

GTK&#xff1a;GTK的简介、安装、使用方法之详细攻略-CSDN博客...

环保访谈|浙江双视专注红外机器视觉及智能化应用,保障安全生产

近期&#xff0c;中联环保圈希姐采访了浙江双视科技股份有限公司环保行业销售总监孙波&#xff0c;深入了解了双视科技的发展历程、产品和解决方案、合作流程、核心竞争力以及未来规划。 双视于2014年创立&#xff0c;专注于红外机器视觉、人工智能技术与应用开发&#xff0c;…...

​Web服务器

代码: WebServer 介绍 HTTP层 POST请求一般会包含Content-Length字段, 告诉服务器请求主体的长度GET请求一般不会包含Content-Length字段, 它一般不含请求正文POST响应: Content-Type字段, 根据请求资源的后缀填写 编写 1.读取请求与分析请求 2.根据不同请求方法构建不同的响…...

linux的firmware和hal层

linux的firmware和hal层 在Linux中&#xff0c;固件&#xff08;firmware&#xff09;和硬件抽象层&#xff08;Hardware Abstraction Layer&#xff0c;HAL&#xff09;是两个不同的概念。固件是运行在硬件设备上的程序&#xff0c;它们通常被用来控制硬件的操作。而HAL是一种…...

从ETL与ELT谈起,理解数仓的任务

最近有个朋友&#xff0c;有几十 PB 的异构数据&#xff0c;数据源包括 MySQL、DB2、Oracle、CSV、磁带机&#xff0c;等等&#xff0c;然后他需要把这些数据中的一些信息做关联整合&#xff0c;从这几十 PB 的数据中提取出若干业务字段到数据仓库&#xff0c;做统一分析。 数…...

esp32-cam 2. python opencv 拉取摄像头内容

0. 环境 - win10 python3 - pycharm - esp32-cam http://192.168.4.1 1. 创建工程 File -> Create Project -> -> Location: E:\Workspaces\PycharmProjects\esp32cam_opencv -> Create 2. opencv hello 2.1 添加脚本 File -> New -> Python f…...

js之遍历方法

先创建一个数组&#xff0c;然后使用for.in进行遍历&#xff0c;如下图所示sub代表下标并且遍历几次&#xff0c;arr代表数组 <script>let arr [1, 2, 3, 4, 5, 6];for (let sub in arr) {console.log(arr);}</script> 第二种方法则是for循环遍历&#xff0c;根据…...

Elementui的el-footer标签使用报错

Elementui的el-footer标签使用报错 其余标签的使用没有报错信息 el-footer的报错信息 原因: ​ 警告信息表示 Vue 不识别 <el-footer> 解决方式: 在组件中进行引入和暴露...

Ubuntu24.04安装中文输入法

Ubuntu24.04安装中文输入法 为了更好的体验&#xff0c;请访问个人博客 www.huerpu.cc:7000 一、添加中文语言支持 在安装中文输入法之前&#xff0c;首选要添加中文语言支持。选择System&#xff0c;点击Region & Language。 点击Manage Install Languages。 点击Insta…...

八股kafka(一)

目录 1、面试官&#xff1a;Kafka是如何保证消息不丢失 2、面试官&#xff1a;Kafka中消息的重复消费问题如何解决的 3、面试官&#xff1a;Kafka是如何保证消费的顺序性 4、面试官&#xff1a;Kafka的高可用机制有了解过嘛 5、面试官&#xff1a;解释一下复制机制中的ISR 6、面…...

SemCity: 一个应用于真实户外环境场景生成的3D Diffusion模型

论文标题&#xff1a; SemCity: Semantic Scene Generation with Triplane Diffusion 论文作者&#xff1a; Jumin Lee1, Sebin Lee1, Changho Jo, Woobin Im, Juhyeong Seon, Sung-Eui Yoon 项目地址&#xff1a;https://sglab.kaist.ac.kr/SemCity/ 前言&#xff1a; 该论…...

鸿蒙内核源码分析(互斥锁篇) | 互斥锁比自旋锁丰满多了

内核中哪些地方会用到互斥锁?看图: 图中是内核有关模块对互斥锁初始化,有文件,有内存,用消息队列等等,使用面非常的广.其实在给内核源码加注的过程中,会看到大量的自旋锁和互斥锁,它们的存在有序的保证了内核和应用程序的正常运行.是非常基础和重要的功能. 概述 自旋锁 和…...

MySQL之查询 拿下 * 。*

DQL数据查询语言 对上述的的查询操作进行代码演示&#xff08;续上一篇学生表代码进行处理&#xff09; 下面是上一篇的代码分享 下面进行简单的查询操作 字符串如果强行进行算数运算默认只为0 查询时常用的单行函数列举 未完待续...

目标检测(二阶段)领域,常见词汇

1、Backbone&#xff08;主干网络&#xff09; 定义: Backbone是目标检测模型的基础部分&#xff0c;通常是一个预训练的卷积神经网络&#xff08;如ResNet、VGG、MobileNet等&#xff09;&#xff0c;负责从输入图像中提取多层特征图。这些特征图包含了不同尺度和抽象级别的信…...

区块链与人工智能哪个更有前景?

一、引言 随着科技的飞速发展&#xff0c;区块链技术和人工智能&#xff08;AI&#xff09;无疑是两大热门领域&#xff0c;各自以其独特的魅力吸引着全球的关注。两者虽源自不同的技术基础&#xff0c;却都预示着未来技术发展的无限可能。本文旨在探讨区块链与人工智能各自的前…...

计算机网络【应用层】邮件和DNS

文章目录 电子邮件DNSDNS提供的服务&#xff1a;域名分级域名解析流程DNS资源记录DNS服务器类型 电子邮件 使用SMTP协议发送邮件之前&#xff0c;需要将二进制多媒体数据编码为ASCII码SMTP一般不使用中间邮件服务器发送邮件&#xff0c;如果收件服务器没开机&#xff0c;那么会…...

js遍历数组将数组中属性名相同的属性值组成新的数组再转化成字符串并换行(js换行和html换行不同)

{label: 告警结果,display:true, html:true,formatter:(row)>{let list ""if(row.funRes&&row.funRes.length){let propName value; list row.funRes.map(obj > {return <span style"vertical-align: text-top;padding-right: 2px;">…...

Ai绘画|如何安装使用秋叶comfyui整合包,手把手详细教程

B 站的秋叶大佬在 1 月份就已经发布了 comfy ui 的整合包。用户将压缩包下载后&#xff0c;能够一键启动 comfy ui。其便利性与之前的 webui 整合包如出一辙。然而在整合包下载完成后&#xff0c;新手或许会遭遇插件以及模型缺失的情况&#xff0c;同时也不清楚该如何运行工作流…...

【React】React-redux多组件间的状态传递

效果&#xff08;部分完整代码在最底部&#xff09;&#xff1a; 编写 Person 组件 上面的 Count 组件&#xff0c;已经在前面几篇写过了&#xff0c;也可以直接翻到最底部看 首先我们需要在 containers 文件夹下编写 Person 组件的容器组件 首先我们需要编写 index.jsx 文件…...

XSS-Labs 靶场通过解析(上)

前言 XSS-Labs靶场是一个专门用于学习和练习跨站脚本攻击&#xff08;XSS&#xff09;技术的在线平台。它提供了一系列的实验场景和演示&#xff0c;帮助安全研究人员、开发人员和安全爱好者深入了解XSS攻击的原理和防御方法。 XSS-Labs靶场的主要特点和功能包括&#xff1a;…...

开源版本管理系统的搭建一:SVN服务端安装

作者&#xff1a;私语茶馆 1.Windows搭建SVN版本管理系统 点评&#xff1a;SVN本身非常简洁易用&#xff0c;VisualSVN文档支撑非常好&#xff0c;客户端TortoiseSVN非常专业。5星好评。 1.1.SVN概要和组成 背景介绍 Svn是一个开源版本管理系统&#xff0c;由CollabNet公司…...

Fastfetch一个类似neofetch的系统信息工具软件

1. 使用默认配置运行&#xff1a;fastfetch 2. 使用所有支持的模块运行&#xff0c;并找到您感兴趣的内容&#xff1a;fastfetch -c all.jsonc 3. 查找 fastfetch 检测到的所有数据&#xff1a;fastfetch -s <模块> --format json 4. 显示帮助信息&#xff1a;fastfetch …...

DV试验和PV试验介绍

1 基本介绍 DV试验 DV试验&#xff0c;全称Design Verification Test&#xff0c;又称设计验证试验&#xff0c;是指在产品设计阶段&#xff0c;对产品的设计进行验证的一种试验方法。DV试验的主要目的是为了验证产品的设计是否满足功能和性能要求&#xff0c;并找出设计中的…...

RTT PIN设备学习

获取GPIO编号 GET_PIN(port, pin)#define LED_BLUE_PIN GET_PIN(A, 0)设置引脚模式 void rt_pin_mode(rt_base_t pin, rt_base_t mode);设置引脚电平 void rt_pin_write(rt_base_t pin, rt_base_t value);rt_base_t pin 同上&#xff0c; 为引脚编号&#xff0c;尽量通过宏定…...