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

集群使用——资源管理和租户创建

概述

OceanBase 数据库是多租户的分布式数据库,租户使用的资源建立在资源池上。资源池包含了资源单元,而资源单元则规定了具体资源的量化(如
CPU、Memory、Disk_Size 和 IOPS 等)。
创建租户前,必须规定租户使用的资源范围,资源池和资源单元就是为了满足租户资源隔离和负载均衡而存在的。

资源管理中的概念

资源单元(Resource Unit,Unit)

  • 资源单元是一个容器。实际上,副本是存储在资源单元之中的,所以资源单元是副本的容器。
  • 资源单元包含了计算存储资源(Memory、CPU 和 IO 等)同时资源单元也是集群负载均衡的一个基本单位,
  • 在集群节点上下线,扩容缩容时会动态调整资源单元在节点上的分布进而达到资源的使用均衡。

资源池 (Resource Pool)

  • 一个租户拥有若干个资源池,这些资源池的集合描述了这个租户所能使用的所有资源。
  • 一个资源池由具有相同资源规格(Unit Config)的若干个资源单元组成。
  • 一个资源池只能属于一个租户。每个资源单元描述了位于一个 Server 上的一组计算和存储资源,可以视为一个轻量级虚拟机,包括若干 CPU 资源、内存资源、磁盘资源等。一个租户在同一个 Server 上最多有一个资源单元(资源单元是和副本关联的,显而易见一个服务器不能有同一份数据的两个副本)。

资源配置(Resource Config)

  • 资源配置是资源单元的具体配置,包含资源单元所属的资源池信息、使用资源的租户信息、资源单元的配置信息(如 CPU 核数和内存资源)等。修改资源配置可以动态调整资源单元的计算资源,进而调整对应租户的资源。

下面开始演示资源管理和租户创建:

1)资源管理

集群默认有个内部租户(sys),可以查看和管理集群的资源(sql如下):

select a.zone,concat(a.svr_ip,':',a.svr_port) observer, cpu_total, cpu_assigned, (cpu_total-cpu_assigned) cpu_free,mem_total/1024/1024/1024 mem_total_gb, mem_assigned/1024/1024/1024 mem_assign_gb, (mem_total-mem_assigned)/1024/1024/1024 mem_free_gbfrom __all_virtual_server_stat a join __all_server b on (a.svr_ip=b.svr_ip and a.svr_port=b.svr_port) order by a.zone, a.svr_ip;

结果如下(实验环境集群为单节点集群):

 +-------+---------------------+-----------+--------------+----------+----------------+----------------+----------------+| zone  | observer            | cpu_total | cpu_assigned | cpu_free | mem_total_gb   | mem_assign_gb  | mem_free_gb    |+-------+---------------------+-----------+--------------+----------+----------------+----------------+----------------+| zone1 | 192.168.152.30:2882 |        14 |          2.5 |     11.5 | 5.000000000000 | 1.250000000000 | 3.750000000000 |+-------+---------------------+-----------+--------------+----------+----------------+----------------+----------------+1 row in set (0.006 sec)

查看资源单元规格

 MySQL [oceanbase]> select * from __all_unit_config;+----------------------------+----------------------------+----------------+-----------------+---------+---------+------------+------------+----------+----------+---------------+---------------------+| gmt_create                 | gmt_modified               | unit_config_id | name            | max_cpu | min_cpu | max_memory | min_memory | max_iops | min_iops | max_disk_size | max_session_num     |+----------------------------+----------------------------+----------------+-----------------+---------+---------+------------+------------+----------+----------+---------------+---------------------+| 2023-02-07 09:51:59.323369 | 2023-02-07 09:51:59.323369 |              1 | sys_unit_config |       5 |     2.5 | 1610612736 | 1342177280 |    10000 |     5000 |   10737418240 | 9223372036854775807 |+----------------------------+----------------------------+----------------+-----------------+---------+---------+------------+------------+----------+----------+---------------+---------------------+1 row in set (0.001 sec)MySQL [oceanbase]>

可以看出,资源单元规格 sys_unit_config 的定义里 CPU 和内存的最小值和最大值定义不一样,而第一条sql统计资源中的已分配资源时是按最小值进行计算的。这将会导致剩余的可用资源计算不那么准确。 所以,建议把该资源单元规格中定义的 CPU 和内存的最小值和最大值拉平。

 修改资源单元 sys_unit_config:
alter resource unit sys_unit_config min_cpu=5,max_cpu=5,min_memory='1610612736B', max_memory='1610612736B';再次查看资源情况可以看见资源统计计算准确

查看已分配资源池的情况

  select t1.name resource_pool_name, t2.`name` unit_config_name, t2.max_cpu, t2.min_cpu, t2.max_memory/1024/1024/1024 max_mem_gb, t2.min_memory/1024/1024/1024 min_mem_gb,t3.unit_id, t3.zone, concat(t3.svr_ip,':',t3.`svr_port`) observer,t4.tenant_id,t4.tenant_name from __all_resource_pool t1 join __all_unit_config t2 on (t1.unit_config_id=t2.unit_config_id)join __all_unit t3 on (t1.`resource_pool_id` = t3.`resource_pool_id`)left join __all_tenant t4 on (t1.tenant_id=t4.tenant_id)order by t1.`resource_pool_id`, t2.`unit_config_id`, t3.unit_id;+--------------------+------------------+---------+---------+----------------+----------------+---------+-------+---------------------+-----------+-------------+
| resource_pool_name | unit_config_name | max_cpu | min_cpu | max_mem_gb     | min_mem_gb     | unit_id | zone  | observer            | tenant_id | tenant_name |
+--------------------+------------------+---------+---------+----------------+----------------+---------+-------+---------------------+-----------+-------------+
| sys_pool           | sys_unit_config  |       5 |       5 | 1.500000000000 | 1.500000000000 |       1 | zone1 | 192.168.152.30:2882 |         1 | sys         |
+--------------------+------------------+---------+---------+----------------+----------------+---------+-------+---------------------+-----------+-------------+
2 rows in set (0.005 sec)

2)如何创建和连接 MySQL 租户

1.创建资源单元规格:该步骤为可选步骤,如果有合适的规格可以跳过此步骤,直接进行复用
2.创建资源池:可以每个 zone 一个资源池,使用独立的资源单元规格,也可以所有 zone 使用同一个资源单元规格,都在一个资源池下。
3.创建租户:创建租户时需关联到第 2 步中创建的资源池。
4.连接租户:
MySQL 客户端连接
OBClient 客户端连接
OceanBase 连接驱动(JDBC)
DBEAVER 客户端连接
ODC 客户端连接:OceanBase 提供官方图形化客户端工具 OceanBase Developer Center,简称 ODC

-创建资源单元规格

   查看创建的资源单元规格:select * from __all_unit_config;
CREATE resource unit S1max_cpu=3, min_cpu=3, max_memory='3G', min_memory='3G', max_iops=10000, min_iops=1000, max_session_num=1000000, max_disk_size='1024G';    
CREATE resource unit S2 max_cpu=4, min_cpu=4, max_memory='3G', min_memory='3G', max_iops=10000, min_iops=1000, max_session_num=1000000, max_disk_size='1024G'; 
MySQL [oceanbase]> select * from __all_unit_config;+----------------------------+----------------------------+----------------+-----------------+---------+---------+------------+------------+----------+----------+---------------+---------------------+| gmt_create                 | gmt_modified               | unit_config_id | name            | max_cpu | min_cpu | max_memory | min_memory | max_iops | min_iops | max_disk_size | max_session_num     |+----------------------------+----------------------------+----------------+-----------------+---------+---------+------------+------------+----------+----------+---------------+---------------------+| 2023-02-07 09:51:59.323369 | 2023-02-07 12:20:46.250880 |              1 | sys_unit_config |       5 |       5 | 1610612736 | 1610612736 |    10000 |     5000 |   10737418240 | 9223372036854775807 || 2023-02-07 14:09:21.996793 | 2023-02-07 14:09:21.996793 |           1001 | S1              |       3 |       3 | 3221225472 | 3221225472 |    10000 |     1000 | 1099511627776 |             1000000 || 2023-02-07 14:09:37.685271 | 2023-02-07 14:09:37.685271 |           1002 | S2              |       4 |       4 | 3221225472 | 3221225472 |    10000 |     1000 | 1099511627776 |             1000000 |+----------------------------+----------------------------+----------------+-----------------+---------+---------+------------+------------+----------+----------+---------------+---------------------+3 rows in set (0.001 sec

-创建资源池

 创建语法:单节点集群的话:create resource pool pool_1 unit='S1' , unit_num=1, zone_list=('zone1') ;(单副本单节点集群unit_num只能是1)1-1-1集群的话:create resource pool pool_1 unit='S1' , unit_num=1, zone_list=('zone1' ,'zone2') ;(1-1-1集群,每一个zone中的server是1,unit_num最大是1)  create resource pool pool_2 unit='S2' , unit_num=1, zone_list=('zone3');3-3-3集群的话create resource pool pool1unit=‘s1’,unit_num=3#一个zone中包含的observer数据量x>=3), 集群最低要求3-3-3,否则会报错(3个zone(表示3副本),每个zone中3台observer。zone_list=(‘zone1’,‘zone2’,‘zone3’,‘zone4’)

UNIT_NUM = unitnum:指定要创建的单个 Zone 下的 Unit 个数。每个单元会根据当前集群负载,自动在每个 Zone中选择一个 Server 负载,
但同一个资源池的多个 Unit 不能分配到同一个 Server,即一个资源池包含的 Unit 个数不能超过单 Zone 内 Server 的个数。

资源池创建出来后,集群的可用资源就减少了。但是这个资源池还没有关联到具体租户,所以无法被业务使用。

查看已分配资源池的情况select t1.name resource_pool_name, t2.`name` unit_config_name, t2.max_cpu, t2.min_cpu, t2.max_memory/1024/1024/1024 max_mem_gb, t2.min_memory/1024/1024/1024 min_mem_gb,t3.unit_id, t3.zone, concat(t3.svr_ip,':',t3.`svr_port`) observer,t4.tenant_id,t4.tenant_name from __all_resource_pool t1 join __all_unit_config t2 on (t1.unit_config_id=t2.unit_config_id)join __all_unit t3 on (t1.`resource_pool_id` = t3.`resource_pool_id`)left join __all_tenant t4 on (t1.tenant_id=t4.tenant_id)order by t1.`resource_pool_id`, t2.`unit_config_id`, t3.unit_id;+--------------------+------------------+---------+---------+----------------+----------------+---------+-------+---------------------+-----------+-------------+| resource_pool_name | unit_config_name | max_cpu | min_cpu | max_mem_gb     | min_mem_gb     | unit_id | zone  | observer            | tenant_id | tenant_name |+--------------------+------------------+---------+---------+----------------+----------------+---------+-------+---------------------+-----------+-------------+| sys_pool           | sys_unit_config  |       5 |       5 | 1.500000000000 | 1.500000000000 |       1 | zone1 | 192.168.152.30:2882 |         1 | sys         || pool_1             | S1               |       3 |       3 | 3.000000000000 | 3.000000000000 |    1001 | zone1 | 192.168.152.30:2882 |      NULL | NULL        |+--------------------+------------------+---------+---------+----------------+----------------+---------+-------+---------------------+-----------+-------------+
  再次查看剩余资源MySQL [oceanbase]> select a.zone,concat(a.svr_ip,':',a.svr_port) observer, cpu_total, cpu_assigned, (cpu_total-cpu_assigned) cpu_free,-> mem_total/1024/1024/1024 mem_total_gb, mem_assigned/1024/1024/1024 mem_assign_gb, (mem_total-mem_assigned)/1024/1024/1024 mem_free_gb-> from __all_virtual_server_stat a join __all_server b on (a.svr_ip=b.svr_ip and a.svr_port=b.svr_port) order by a.zone, a.svr_ip;+-------+---------------------+-----------+--------------+----------+----------------+----------------+----------------+| zone  | observer            | cpu_total | cpu_assigned | cpu_free | mem_total_gb   | mem_assign_gb  | mem_free_gb    |+-------+---------------------+-----------+--------------+----------+----------------+----------------+----------------+| zone1 | 192.168.152.30:2882 |        14 |            8 |        6 | 5.000000000000 | 4.500000000000 | 0.500000000000 |+-------+---------------------+-----------+--------------+----------+----------------+----------------+----------------+1 row in set (0.005 sec)MySQL [oceanbase]>

-创建租户:

创建租户时需关联到第 2 步中创建的资源池。

create tenant obmysql resource_pool_list=('pool_1'), primary_zone='RANDOM',comment 'mysql tenant/instance', charset='utf8' set ob_tcp_invited_nodes='%' ;  

ob_tcp_invited_nodes设置客户端IP白名单,‘%’,表示允许所有的来源,默认仅为本机127.0.0.1。
zone_list=(‘zone1’,‘zone2’,‘zone3’) 租户资源使用的zone(资源分布在哪些zone上,实验环境是单机集群,没法按照示例创建)。
primary_ZONE=‘ZONE1,ZONE2,ZONE3’ 主副本偏好设置。

查看tenant信息

MySQL [oceanbase]> select * from gv$tenant;+-----------+-------------+-----------+--------------+----------------+-----------------------+-----------+---------------+| tenant_id | tenant_name | zone_list | primary_zone | collation_type | info                  | read_only | locality      |+-----------+-------------+-----------+--------------+----------------+-----------------------+-----------+---------------+|         1 | sys         | zone1     | zone1        |              0 | system tenant         |         0 | FULL{1}@zone1 ||      1001 | obmysql     | zone1     | RANDOM       |              0 | mysql tenant/instance |         0 | FULL{1}@zone1 |+-----------+-------------+-----------+--------------+----------------+-----------------------+-----------+---------------+2 rows in set (0.003 sec)
 总结:一个资源单元为 UNIT,UNIT是最小的资源分割单位。一个资源池中包含若干 UNIT,一台Observer 只能有一个资源池的一个 UNIT。(所以创建resourcepool时unit_num最大数不能超过单个zone总observer的数目)一个资源池只能赋予给一个租户,一个租户可以包含多个资源池。资源池若指定只分布在一个zone,则该zone失效后,数据丢失,无副本。一个资源池建议指定分布在多个zone,多个zone则存在副本。(最好是全部zone,需大于2,若等于2,一个zone损坏,由于不满足多数派,虽然数据还有一个副本,但是服务会停止)

–连接租户

1.obclient

  obclient -h192.168.152.30 -uroot@obmysql -P2881 -p -c -A oceanbasealter user root identified by 'bJVqqEVt' ;obclient -h192.168.152.30 -uroot@obmysql -P2881 -pbJVqqEVt -c -A oceanbaseshow databases;

过程如下:

[admin@obce01 ~]$ obclient -h192.168.152.30 -uroot@obmysql -P2881 -p -c -A oceanbaseEnter password:            --------------------------------------------------------初始密码为空Welcome to the OceanBase.  Commands end with ; or \g.Your MySQL connection id is 3221489885Server version: 5.7.25 OceanBase 3.1.0 (r3-b20901e8c84d3ea774beeaca963c67d7802e4b4e) (Built Aug 10 2021 08:10:38)MySQL [oceanbase]> alter user root identified by 'bJVqqEVt' ;Query OK, 0 rows affected (0.014 sec)MySQL [oceanbase]> Bye[admin@obce01 ~]$ obclient -h192.168.152.30 -uroot@obmysql -P2881 -pbJVqqEVt -c -A oceanbaseWelcome to the OceanBase.  Commands end with ; or \g.Your MySQL connection id is 3221489906Server version: 5.7.25 OceanBase 3.1.0 (r3-b20901e8c84d3ea774beeaca963c67d7802e4b4e) (Built Aug 10 2021 08:10:38)Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.MySQL [oceanbase]> show databases;+--------------------+| Database           |+--------------------+| oceanbase          || information_schema || mysql              || test               |+--------------------+4 rows in set (0.005 sec)MySQL [oceanbase]>
  1. ODC客户端
    下载安装:下载客户端版 ODC

    新建连接串:智能识别 obclient -h192.168.152.30 -uroot@obmysql -P2881 -pbJVqqEVt -c -A oceanbase
    在这里插入图片描述

相关文章:

集群使用——资源管理和租户创建

概述 OceanBase 数据库是多租户的分布式数据库,租户使用的资源建立在资源池上。资源池包含了资源单元,而资源单元则规定了具体资源的量化(如 CPU、Memory、Disk_Size 和 IOPS 等)。 创建租户前,必须规定租户使用的资源…...

谷歌浏览器登录失败,提示【无法同步到“...@gmail.com”】

首先安装Chrome同步助手(Chrome-Sync-Helper,看了很多博客,谷歌浏览器同步问题好像都要用这个),改成.rar,解压,文件夹_metadata重命名为metadata,然后添加到谷歌浏览器的扩展程序中。…...

75 111111

选择题(共75题,合计75.0分) 1. 选项ABCD中显示了所创造的商业价值以及在产品中实施各种功能需要进行的开发工作。团队应优先实施哪项功能? The business value created and the development effort needed to implement the various features in the product are sh…...

分销系统逻辑

相关概念 主营商户: 提供分销商品和佣金的商户分销商: 拥有自己的销售渠道,能够帮助推动产品销售的个人或商户消费者: 购买分销商品的人。佣金: 主营商户返还给经销商的比例抽成 分销功能设计 (1)分销商准入规则设计 无规则: 没有分销商的准入门槛限制&#xf…...

MySQL视图特性

文章目录MySQL视图特性基本使用准备测试表创建视图修改视图影响基表修改基表影响视图删除视图视图规则和限制MySQL视图特性 视图的概念 视图是一个虚拟表,其内容由查询定义,同真实的表一样,视图包含一系列带有名称的列和行数据。视图中的数据…...

RabbitMQ详解(二):Docker安装RabbitMQ

在Docker上安装部署RabbitMQ方便快捷,不需要额外安装Erlang环境,所以写该篇文章先来介绍如何在Docker上部署RabbitMQ。 一、安装并运行 (1)、在docker hub 中查找rabbitmq镜像 docker search rabbitmq:3.9.12-management带有“mangement”的版本&…...

如何使用代码注释:关于JavaScript与TypeScript 注释和文档的自动生成

如何使用代码注释:关于JavaScript与TypeScript 注释和文档的自动生成jcLee95:https://blog.csdn.net/qq_28550263?spm1001.2101.3001.5343 邮箱 :291148484163.com 本文地址:https://blog.csdn.net/qq_28550263/article/detail…...

Echarts 设置面积区域图(areaStyle核心)

第011个点击查看专栏目录Echarts折线区域面积图的视觉效果更加饱满丰富,在系列不多的场景下尤其适用。区域面积图将折线到坐标轴的空间设置背景色,用区域面积表达数据。通过 areaStyle 设置折线图的填充区域样式,将其设为为 {} 表示使用默认…...

pandas——字符串处理【建议收藏】

pandas——字符串处理 作者:AOAIYI 创作不易,如果觉得文章不错或能帮助到你学习,记得点赞收藏评论一下哦 文章目录pandas——字符串处理一、实验目的二、实验原理三、实验环境四、实验内容五、实验步骤1.cat() 拼接字符串2.split()切片字符串…...

反射,枚举,lambda表达式

目录 1、反射 1.1 基本概念 1.2 反射相关的类 1.3 创建 Class 对象 1.4 反射的使用 1.4.1 通过反射创建对象: 1.4.2 获取私有的构造方法 1.4.3 获取私有的成员变量 1.4.4 获取私有的方法 1.5 总结 2、枚举 2.1 认识枚举 2.2 使用枚举 2.3 枚举与反射…...

.Net Core对于RabbitMQ封装分布式事件总线

首先我们需要了解到分布式事件总线是什么; 分布式事件总线是一种在分布式系统中提供事件通知、订阅和发布机制的技术。它允许多个组件或微服务之间的协作和通信,而无需直接耦合或了解彼此的实现细节。通过事件总线,组件或微服务可以通过发布…...

GPIO功能描述

GPIO 文章目录 GPIO1. 功能描述1.1 OSCI/OSCO 引脚1.3 HSEIN/HSEOUT引脚1.2 Bit-Band1.4 VRTCAFx引脚1.5 EWKUPx引脚1.6 QSPI0 引脚1.7 LVDIN引脚1.8 SARADC引脚1.9 ADCIN引脚2. 测试项描述2.1 PAD Location2.2 LBOR和BOR复位2.3 驱动能力2.4 模拟态\高阻态2.5 SWD\JTAG2.6 输出…...

指派问题与匈牙利法讲解

指派问题概述:实际中,会遇到这样的问题,有n项不同的任务,需要n个人分别完成其中的1项,每个人完成任务的时间不一样。于是就有一个问题,如何分配任务使得花费时间最少。通俗来讲,就是n*n矩阵中&a…...

day5——冒泡排序,选择排序和插入排序的学习

选择排序冒泡排序插入排序 选择排序 选择排序的基本思路就是: 首先假定第一个的下表为所有元素中最小的一个, 然后用后面的每一个元素跟这个元素进行比较, 如果后面的元素比这个元素更小一点, 那么就将找到的最小的元素的下标和…...

Windows 数据类型 (Windows Data Types)

参考:https://learn.microsoft.com/en-us/windows/win32/winprog/windows-data-types 要求 要求值最低受支持的客户端Windows XP [仅限桌面应用]最低受支持的服务器Windows Server 2003 [仅限桌面应用]HeaderBaseTsd.h;WinDef.h;WinNT.hAPIENTRY 系统函数的调用约…...

九龙证券|本周5只新股申购,特斯拉、蔚来、理想的供应商来A股了!

据现在组织,2月13日到17日共有5只新股申购,其间上证主板2只,深证主板1只,北交所2只。 2月14日发动打新的深证主板新股多利科技成立于2010年,是一家专心于轿车冲压零部件及相关模具的开发、出产与出售的企业。从2020年…...

设计模式(持续更新)

本文主要是记录java的设计模式在实际工作中的应用案例,或者是对设计模式的个人理解及备忘 一、单例模式Singleton 工作场景(静态类): 在外部系统对接中,需要调用外部系统A的接口,但是接口是有身份校验的…...

Prometheus 告警规则

Prometheus 告警规则 Prometheus官方内置的第三方报警通知包括:邮件、 即时通讯软件(如Slack、Hipchat)、移动应用消息推送(如Pushover)和自动化运维工具(例如:Pagerduty、Opsgenie、Victorops) Promethe…...

mulesoft MCIA 破釜沉舟备考 2023.02.13.02

mulesoft MCIA 破釜沉舟备考 2023.02.13.03 1. According to MuleSoft, which deployment charcateristic applies to a microservices application architecture?2. A mule application designed to fulfil two requirements3. A mule application must periodically process…...

获取DLL运行时路径的方法

之前项目中发现的问题,记录下解决方案1. 问题背景OVVRNTool项目中,底层图像基本操作功能由DLL库函数提供,上层基于DLL封装了两个应用CMD和GUI,然后通过Qt打包分发;发布是直接采用绿色免安装的方式打包,具体…...

“华为杯”研究生数学建模竞赛2006年-【华为杯】D题:学生面试中教师安排的优化与算法(附获奖论文)

赛题描述 高校自主招生是高考改革中的一项新生事物,现在仍处于探索阶段。某高校拟在全面衡量考生的高中学习成绩及综合表现后再采用专家面试的方式决定录取与否。该校在今年自主招生中,经过初选合格进入面试的考生有N人,拟聘请老师M人。每位学生要分别接受4位老师(简称该学…...

【JavaScript】复习 【对象参数】【函数参数】

js不会检查任何参数类型,任何参数都可以作为参数传递 1、对象参数 改变量随便改,改对象要看这个对象是不是有多个变量同时指向这个对象 const 用来定义常量,只能赋值一次。 变量------->对象------->属性 被const修饰的对象 …...

如何批量提取文件名到excel表格?

批量提取文件名到excel表格?关于这个问题相信很多人都遇到过,大多数人在第一次碰到的时候都不知道如何下手,大家都会立即在百度里面搜索相关方法教程,小编也试着搜索了一下,发现找到的很多方法都大同小异,需…...

CUDA线程层次一文搞懂|参加CUDA线上训练营

设备术语 Host:CPU 和 内存 (host memory)Device:GPU 和显存 (device memory) CUDA 线程层次 CUDA 线程层次分为: Thread 所有线程执行相同的核函数并行执行 Thread Block 执行在一个 Streaming Multiprocessor (SM&#xff09…...

Linux文件默认权限:umask

umask就是指定目前用户在建立文件或目录时候的权限默认值 查看方式有两种:一种可以直接输入umask,就可以看到数字类型的权限设置值,一种则是加入umask后加入-S(Symbolic)选项,就会以符号类型的方式来显示出…...

SonicWall:请立即修复SMA 1000 漏洞

近日,网络安全供应商SonicWall发布了关于安全移动访问 (SMA) 1000设备的三个安全漏洞的紧急报告,其中包括一个高威胁性的身份验证绕过漏洞。SonicWall指出,攻击者可以利用这些漏洞绕过授权,并可能破坏易受攻击的设备。 从报告中可…...

基于VS调试分析 + 堆栈观察问题代码段

文章目录问题代码段1 —— 阶乘之和问题代码段2 —— 越界的危害① 发现问题② 分析问题③ 思考问题【⭐堆栈原理⭐】④ 解决问题【DeBug与Release】👨程序员与测试人员👩✒总结与提炼问题代码段1 —— 阶乘之和 先来看一道C语言中比较基础的题目&#x…...

QFramework框架学习

主要学习内容TypeEventSystemActionKitTimer类1、TypeEventSystem-适用于一个条件触发,多个组件响应的情况例如:动物园系统中,点击肉食动物按钮,动物园中有肉食属性的动物都进行显示。步骤:1、动物自身脚本上进行判断是…...

移动OA系统,联动企业协作让办公高效无间断

移动oa系统,近年来随着企业办公节奏的变化及人们个性化办公需求的增加迎来了快速发展。一方面,它兼具OA系统诸多优势,既凝聚了企业基础管理工作,联动了企业协作、沟通交流,又进一步提高了企业的综合实力与市场竞争力。…...

结构体熟练掌握--实现通讯录

魔王的介绍:😶‍🌫️一名双非本科大一小白。魔王的目标:🤯努力赶上周围卷王的脚步。魔王的主页:🔥🔥🔥大魔王.🔥🔥🔥 ❤️‍&#x1…...

哪些网站可以做调查赚钱/惠州seo收费

前言 在日常的业务开发中,偶尔会遇到需要将 List 集合中的重复数据去除掉的场景。这个时候可能有同学会问:为什么不直接使用 Set 或者 LinkedHashSet 呢?这样不就没有重复数据的问题了嘛? ​ 不得不说,能提这个问题的…...

贵阳市 网站建设/网络营销师证书怎么考

配置执行 选择测试用例 机器人框架提供了几个选择的命令行选项 执行测试用例。 也工作在相同的选项 后处理输出与 Rebot 。 通过测试套件和测试用例的名称 测试套件和测试用例可以选择通过他们的名字的命令 行选项 ——套件(- s) 和 ——测试(- t) , 分别。 这两个选项可以多次…...

英山县住房和城乡建设局网站/浏览器下载安装2023版本

Liunx要查找某个文件,但不知道放在哪里,可以通过下面命令来查找:(1)which 查看可执行文件的位置(2)whereis 查看文件的位置(3)locate 配合数据库查看文件位置&#xff08…...

在哪些网站可以做企业名称预审/上海最新事件

氚云tERP 一、概述 氚云tERP是一套针对商贸类企业研制的一套信息化解决方案。产品覆盖从销售、库存、采购、财务、人事、流程管理一体化管理。帮助企业搭建一个简洁、高效的运营管理平台,实现人、财、物、供、销全面的管理。 二、优势 集成钉钉:全面集成…...

电脑做网站空间/windows优化大师是系统软件吗

对于python列表里元素的操作主要分为以下几个方面: 1、向列表里面加元素; 向python列表里面添加元素主要有三种方法: (1)append() append()对于列表的操作主要实现的是在特定的列表最后添加一个…...

刘涛做的婴儿玩具网站/线下推广怎么做

为什么80%的码农都做不了架构师?>>> MySQL安装文件分为两种,一种是msi格式的,一种是zip格式的。如果是msi格式的可以直接点击安装,按照它给出的安装提示进行安装(相信大家的英文可以看懂英文提示&#xff…...