目录

一、表格存储概览

需求驱动

特性

架构

数据模型

负载均衡关键能力

二、多租户负载均衡

背景&定义

价值&终态

从0到1

从1到N

挑战&方案

请求资源量化和统计

水位和公平流控

触发时机

SLA闭环联动

三、总结


一、表格存储概览

需求驱动

先来看看为什么要做表格存储。就像10年前谷歌BigTable论文里面描述的一样,新时代数据有一些明显的特征:

  • 数据量大、读写量大、增长速度很难预计。关于增长速度,比如答题,一天内访问量就可能上涨几十倍,不差钱,就看你能不能搞定。

  • 数据之间关系很弱。比如对邮箱应用来说,不同用户的邮件记录之间完全没有关系,无论是收发还是搜索,你都只能在自己的邮箱数据内进行。

  • 业务变动频繁,schema也需要跟着频繁变动。

受传统数据库约束,这三个需求都没有得到很好地解决。第一是扩展性,比如你跟DBA说业务明天要扩大10倍,估计DBA得头痛一下。他要给你准备好资源,分库分表,甚至需要业务逻辑也随之改动,很麻烦。

第二个是可用性。传统单机数据库一般是主备,有强同步、弱同步等选择,看起来给应用很多的选择权,其实选哪个你都觉得不爽,因为你想的是既要、又要、还要……

第三点是灵活性。这也很好理解,比如数据库里面有几十亿条数据,业务方跟DBA说我要加一列,看看DBA的脸色你就知道了,DBA是不喜欢这种需求的,一般来说业务方会预留一些空白字段来避开这种需求。

正因为需求真实的存在,已有的数据库没有很好的解决,所以很多新的数据库就出来了,NoSQL是其中一个思路,是传统SQL数据库的一个很好的补充,所以我认为应该解释为Not Only SQL。未来将迎来数据库百花齐放的几年,数据库将和行业更紧密的结合,拭目以待。

特性

这里以列表的方式整理了表格存储的特征,大家了解一下就好,里面唯一需要强调的是规模,因为它跟分享主题负载均衡有直接的关系。

表格存储支持单表千万读写,数十P数据量,只要运维将机器放入集群,扩容在分钟级别就可以完成。扩容完成后就面临着负载均衡的问题,因为老机器负载高、新机器负载低,负载均衡算法会去削峰填谷,让不同集群节点保持接近的利用率。  

架构

这是表格存储的架构。

可以看到下面有一些基础组件是被所有角色共享的,比如Nuwa提供分布式锁服务,日志模块主要做日志的收集保存分析,而安全体系、机房管理等都是所有产品共享的。

我们要关注的主要是盘古和表格存储引擎。盘古是阿里云自研的分布式文件系统,可以类比HDFS,当然功能性能上做了很多增强。

表格存储引擎层包括master、负载均衡和若干个worker,是典型的分布式系统架构。其中master管理表meta信息,比如表名、分区个数、压缩算法、缓存策略等,并为每个分区分配合适的worker去加载。worker就是干活的,负责加载分区并执行请求。负载均衡依赖master和worker的统计信息来干活,细节后面会讲。

数据模型

这是表格存储的数据模型,只关注一点就可以了,就是分区机制,后面的内容会依赖这个。

几乎所有的分布式系统都有分区的概念,名字虽然各不相同(partition,shard,segment,group),意思大体一样,就是分而治之,把规模拆分成单机可以处理的水平,然后让单机承载相应的功能。

数据库类基本的分区机制有两种,一种是hash,一种是range。表格存储是按照range进行分区的,就是表按照PK排好序,然后切分成一个个的分区。

举个例子,表PK是字符串,从AA到FF,我们可以将其分成二个分区,[AA-CB),[CB-FF),这里的一个分区就可以理解为传统数据库的一个实例。

负载均衡关键能力

表格存储负载均衡依赖一些关键能力。首先表格存储使用分布式文件系统作为共享存储,这使得任何一个worker都可以随时访问任意数据,这也就带来了第二点提到的优势,即想将某个分区从一个worker迁移到另外的worker要比传统分库分表容易很多,只要调度上做一个简单的调整就可以,不需要搬动数据,可以非常快的完成。

这些能力对表格存储的负载均衡非常重要,当然做好也不容易,但是不是今天的重点,略过不提。

二、多租户负载均衡

背景&定义

上面我们介绍了表格存储基本概念,有了这些铺垫,下面介绍负载均衡时候会容易一些。

如图,让我们看看多租户负载均衡的一些信息。负载均衡是表格存储系统的一部分,可以按照每类资源进行细粒度的调度,允许不同类资源以合理的方式进行组合。

这里我们将租户定义为共享资源的逻辑单位,每个这样的逻辑单位都会消耗CPU、内存、网络带宽、磁盘IOPS。这个逻辑单位,也就是租户,跟表格存储里面的分区对应,后文中根据上下文不同租户和分区都会使用,概念上等同。

接下来谈谈单机系统和分布式系统负载均衡的不同。

单机系统因为不可扩展,所以其负载均衡更多的是对请求优先级进行排序,如果资源用满,就拒绝一些请求。

分布式系统提供了一个额外的选项,就是通过将服务实例进行迁移来对请求进行迁移,这样就等于利用额外的资源服务用户,能够提高客户体验,迁移的过程就是分区调度的过程。

请求能否迁移是分布式系统和单机系统负载均衡的最大不同。

价值&终态

这张图讲的是多租户负载均衡的好处以及我们认为负载均衡终态应该长什么样子。

全自动负载均衡能提供的好处是很明显的,首先就是保证业务平稳运行,我们系统上经常有些业务流量猛增猛降,比如某个突发事件访问量很快上涨十倍,此时负载均衡必须能在十秒级别响应并尽快解决问题,避免系统阻碍业务的发展。

如果负载均衡做的不好,就要在每台机器上为这种可能突发的业务预留资源,而且各个机器上的资源无法被共享,那么当客户众多的时候,这种预留是一个巨大的浪费。

另外一个常见做法就是业务通知运维扩容缩容,这无疑给运维带来了极大的压力,据一份统计数据,系统50%以上的故障都是人的失误导致的,这种事情做多了运维背锅几乎没法避免。

最后,负载均衡做好了,能够在全集群范围内平衡资源的使用,可以降低成本,也可以利用更多的资源改善服务水平。

上面说到了负载均衡系统的价值,那么负载均衡的终态就是能实现这些价值,比如这里列的几条具体指标:

  • 能够在确定时间内解决用户业务暴涨问题;

  • 对于那些表结构不合理的用户,比如只写尾部、量又特别大的,这时候系统也很难解决,只能尽快隔离避免影响其他用户。

负载均衡的终极目标就是跟服务SLA形成闭环,此时负载均衡就成为一个自我进化的系统,该系统的目标就是不断逼近系统SLA的极限。

从0到1

前面说了理想目标,这里就介绍一下我们不同阶段的做法。

上图看到的是最土的负载均衡,是从0到1,完全依赖人肉,且粒度是机器级别。对那些大业务而言,为了避免别人影响他们或者他们影响别人,可以由运维手动指定几台机器给他们。

而对大多数业务而言,他们没有大到这种程度,只能跟众多中小业务一起自生自灭,如果有个小业务突然放量,那么跟这个小业务共享机器的其他业务就遭殃了,此时服务SLA几乎完全依赖运气。对于有情怀的技术人员而言,我们显然不能容忍小用户被轻视,必须一视同仁。

从1到N

这里列出了我们新版负载均衡系统支持的主要动作,我们摒弃了业务大小的概念,以分区作为系统的调度基本单位。大业务可以分割成多个分区,小业务可以只有一个分区,这些分区是平等的。

左上角是系统的初始状态,可以看到每个worker上都加载了同样个数的分区,这是因为系统启动初始阶段没有负载信息来辅助判断,所以此时的worker跟分区的关系可以认为是随机分配的。

随着业务的上线,可能发生如下3种情况。

第一种情况是,客户业务突然上涨,此时该客户的数据表可能只有一个分区(刚开始建表默认只有一个分区),该分区即使将某台机器资源全部吃掉也无法服务这么多请求,系统识别这种情况后会迅速将该分区分裂开来,变成两个分区,并再挑选一台机器,让他们共同服务该客户请求。

第二种情况是,某机器上不止一个分区业务上涨,但是并没有哪个分区的业务量能够吃掉一台机器的全部资源,只是繁忙分区多导致机器资源紧张而已,此时需要挑选部分业务上涨的分区移动到其他较空闲机器加载。

还有第三种情况,就是系统通过对用户访问模式的判断,认为已有的策略都无法解决当前问题,就会将该分区移动到隔离机器上,避免产生更大的影响,并报警运维处理。

目前看,线上情况第一种是主流,第三种很少,有些数据库新手可能会设计出不合理的表结构,比如以时间为pk。

挑战&方案

接下来继续讲讲做到前面说的效果需要解决的问题,主要是这几条。

第一条是量化请求处理的资源使用。资源主要是网络、内存、CPU和IO。在一个复杂的数据库系统里面精确量化每条请求对每类资源的占用几乎不可能,或者说也没有必要,我们可以针对不同的资源做一些折中,比如对CPU,可以用请求延时减掉IO延时近似模拟,网络和内存则相对容易统计。关于实时统计所有租户的资源占用问题,后面会讲到。

第二个问题是机器水位和公平流控,公平是个不太好定义的问题,在我们的负载均衡体系里,那些资源消耗增长最快的分区需要被更严格的控制。负载均衡的触发时机和衡量标准跟系统的实现方式有关,后面也会介绍。最后也会说一下系统闭环。

请求资源量化和统计

先看看请求资源的量化和统计,这是整个系统的基石。

系统基本的读写请求,我们会统计数据大小,延时和内存等,其中请求大小可以用来评估入口网络带宽占用,响应大小可以用来评估出口网络带宽占用,延时可以用来评估CPU占用,内存就很直白了。

每个请求执行过程中都会尽可能的收集这些视图信息,在请求执行结束的时候,视图交给视图统计模块的环形队列,然后就直接发送响应。视图统计模块会异步的统计各个租户对各个资源的占用,每隔一个周期,视图统计模块就会输出一个类似右下角的表格,里面包含每个分区对每种资源的使用情况。

视图统计框架被设计成只需要数十行代码就可以对一种新的视图添加统计信息,我们也强制要求任何模块在设计阶段就要考虑视图,这使得我们能较容易的在系统运行时拿到系统内部的详细信息。

水位和公平流控

上图以实际的例子来说明前面统计的信息是如何被使用的。这个是读请求,资源则是以网络出口资源为例,基本思想是令牌桶。

在任何一个worker上,我们都会有一个资源监控线程,该线程从操作系统获得某种资源使用的水位,比如这个例子里面的网络出口流量,如果太高,就会触发流控。

流控的基本流程见右上方流程列表,开始处理请求后,首先判断资源是否过于繁忙,比如网络流量超过网卡带宽的95%,此时任何数据请求都不再处理;否则就正常申请资源。申请成功则继续处理请求,申请失败则表示流量不够了,此时就要拒绝一部分请求,但是拒绝谁呢?就是根据前面视图统计模块给出的二维表,谁的流量大被拒绝的概率也大,这样就可以保护小流量租户。

从例子可以看出,400M大户被拒绝的概率是49%,注意这里还有一个R,这个意思就是资源繁忙的程度,比如网络流量超过80%认为繁忙,当前如果流量占用达到90%,则(90%-80%)/90%=11%,从网络出口角度看,11%的请求应该被拒绝掉,由此可以算出租户1的请求中49%*11%=5.4%的请求应该被拒绝掉。

上面说的大用户不是说请求多就是大用户,而是某类资源占用多,比如CPU用的多的租户可能网络资源用的少,那么这个用户只能叫做CPU大户,不能叫做网络大户。

根据上面的计算,某些请求要被拒绝了,这也是负载均衡系统开始工作的时候。因为任何一台机器发生流控都意味着请求错误,影响服务可用性,必须尽快启动负载均衡以缩短流控发生的时间。负载均衡的任务就是寻找合适的机器服务这些被拒绝掉的请求。

触发时机

上图以网络出口带宽占用为具体例子看负载均衡的操作。右上的表格,是两个租户都用了较多的出口带宽导致出口带宽资源紧张,所以此时可以随便选一个分区移动到其他机器。

而右下的这个表,是一个租户占用了特别多的资源,此时无论移动到哪台机器上都无法解决问题,所以就需要将其分裂,分成2个分区后使得每个子分区占用的出口带宽尽可能的平均,然后就可以分别调度到两台机器了。

  •  分裂点的选择

上面的PPT留下了一个疑问,就是在分裂时候如何保证分出来的两个分区尽可能的均匀呢?

从图上这个例子来看,如果只是简单的从分区range中间切一刀,比如[0, 100)变为[0, 50), [50, 100),还是解决不了问题,因为流量都在左边。

我们的解决办法是在每个租户内统计资源消耗的时候考虑权重,这样能保证切割后两边的流量比较均匀,才真正达到了负载均衡的目标。这个统计的内容会稍多一些,但是因为发生在背景线程中,不会增加请求延时,且最多占用1个CPU核,所以对系统影响还是可控的。

SLA闭环联动

前面几张图以读请求对出口网络流量的占用为示例对负载均衡基本工作流程进行了介绍,这里再对负载均衡的两个关键问题,即触发时机和评估标准做个总结。

整体来看,负载均衡的触发时机一是某台机器发生了流控,二是租户SLA低于指定的阈值,三是资源利用不均衡,这三个问题的解决难度是逐步增加的。尤其是第三个,因为资源有多种,让各个资源利用率都取得均衡是很困难的事情。

下面评估标准里面也比较直白,就是有没有解决运维问题和业务问题,服务可用性有没有提高,资源利用率有没有提高,这些都是可以量化的。

如果把负载均衡的触发和评估体系连接起来,那也就意味着我们建立了负载均衡闭环,这个闭环将可以利用其中的规则自动的优化系统,从而使得服务可用性不断的逼近极限。

三、总结

最后对本文做个小结。我们讨论了负载均衡的重要性以及实现挑战,讨论了单机负载均衡和分布式负载均衡的不同,也以表格存储为例分享了分布式系统中负载均衡的实践经验。我们也从自己的角度提出了分布式负载均衡的终态,这点希望跟大家多多交流。

查看全文
如若内容造成侵权/违法违规/事实不符,请联系编程学习网邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

相关文章

  1. 使用pytorch cuda11 cudnn8.02 Docker搭建nnUNet训练环境

    使用pytorch cuda11 cudnn8.02 Docker搭建nnUNet训练环境 本文目的是加速训练过程,平时使用pytorch1.6 cuda10.2训练一个epoch将近400秒,搭建好docker环境后,使用cuda11、cudnn8.0.2 的环境,一个epoch的时间只需要160秒左右。加速…...

    2024/4/27 0:21:57
  2. (JAVA)Druid简单应用

    1.简单介绍 Druid:数据库连接池实现技术,由阿里巴巴提供的步骤: 导入jar包 druid-1.0.9.jar定义配置文件: 是properties形式的可以叫任意名称,可以放在任意目录下 加载配置文件。Properties获取数据库连接池对象&…...

    2024/4/6 8:48:33
  3. Ubuntu系统进入后出现分辨率问题

    进入先在DELL界面连按F12,选择Ubuntu,按E,并在$vt_handoff后面增加acpi_osilinux nomodeset,然后按F10,这样可以正常开机。 解决分辨率问题:屏蔽驱动程序nouveau 编辑文件 sudo vim /etc/modprobe.d/blacklist.conf点…...

    2024/4/23 20:57:24
  4. AI软件编辑文字时出现“滚滚长江东逝水”解决方法

    滚滚长江东逝水是Adobe软件工程师怕你找不到文字编辑,先用一段话占用了,哈哈哈大衣哥的既视感,估计那人喜欢我们山东朱之文… 解决方法: 软件顶部编辑—首选项—文字,用占位符文本填充新文字对象这里,取消…...

    2024/4/23 8:49:54
  5. django权限验证,restframework权限验证,drf

    待续...

    2024/4/26 8:05:13
  6. QRCode.js:使用 JavaScript 生成二维码

    在厂里做erp&#xff0c;有要求写一个扫码枪扫描二维码生成的demo&#xff0c;如下&#xff1a; 使用到的类库有&#xff1a;jQuery&#xff0c;qrcode两个。 <!DOCTYPE html> <html> <head> <meta charset"UTF-8"><script type"t…...

    2024/4/6 8:48:29
  7. CSS优先级

    CSS优先级...

    2024/4/11 22:31:15
  8. 《前端》使用element UI中的table的模糊搜索功能,出不来input搜索框

    解决&#xff1a;vue版本低&#xff0c;将原本的2.4版本会按成2.6版本就好。 代码&#xff1a; <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width…...

    2024/4/22 13:25:24
  9. 剑指 Offer 07.重建二叉树

    菜鸡刷题之路QAQ 思路 看到二叉树&#xff0c;首先要想到递归&#xff0c;那么我们来整理一下思路 前序遍历数组中&#xff0c;第一个数是根节点&#xff0c;&#xff0c;找到此节点在中序数组的位置&#xff0c;左边为左子树&#xff0c;右边为右子树&#xff0c;依次往下进行…...

    2024/4/29 21:37:50
  10. 数据库中的常用函数

    聚合函数&#xff1a; 函数名称作用COUNT统计查询结果的行数AVG平均值&#xff0c;返回指定列数据的平均值SUM求和&#xff0c;返回指定列的总和MAX查询指定列的最大值MIN查询指定列的最小值 数值型函数&#xff1a; 函数名称作用ABS求绝对值SQRT求二次方根POW和 POWER两个函…...

    2024/4/27 11:29:55
  11. 静态路由配置教程

    要求&#xff1a;让三台电脑互相能ping通 通过配置静态路由实现 1.先如图配置与选好路由器和PC&#xff0c;并配置PC相应的IP地址 2.给路由器增加接口并开启&#xff0c;然后进行连接 3.给路由配置PC 的网关地址&#xff0c;3个路由器配置3次。注意&#xff1a;PC要能ping通网关…...

    2024/4/23 7:25:42
  12. Leetcode算法题

    数组 链表 字符串 动态规划 树 回溯算法 深度优先搜索 广度优先搜索 哈希表 栈和队列 位运算 排序 并查集 二分查找 贪心算法...

    2024/4/9 22:20:04
  13. TypeError: img should be PIL Image. Got <class ‘torch.Tensor‘>

    出现报错如图&#xff1a; 问题原因&#xff1a; 在定义transforms.Compose()时&#xff0c;把ToTensor()方法写在了随机旋转图片的方法RandomHorizontalFlip()之前&#xff0c;造成顺序不对 解决方法&#xff1a;将ToTensor()方法移动到RandomHorizontalFlip()之后 此时运行…...

    2024/4/6 6:52:04
  14. JS事件循环机制

    JS事件循环机制...

    2024/4/6 6:52:03
  15. Spring篇:Controller没有返回值,默认跳转到方法名称的视图页面

    1.Controller没有返回值&#xff0c;默认跳转到方法名称的视图页面 2.代码 3.运行结果 4.修改方式 加上ResponseBody 没有404错误了...

    2024/4/27 3:40:20
  16. 攻防世界 web高手进阶区 9分题 smarty

    前言 继续ctf的旅程 开始攻防世界web高手进阶区的9分题 本文是smarty的writeup 解题过程 smarty是php模板引擎 这题应该是一个SSTI 进入界面 根据题目和页面最下方build with smarty 确认是用smarty模板 那就有两种可能的注入点&#xff1a; XFFclient IP 尝试 将XFF头改…...

    2024/4/25 12:16:15
  17. 错误:AttributeError: module ‘scipy.misc‘ has no attribute ‘imread‘

    降低scipy的版本 pip install scipy1.2.1...

    2024/4/6 8:48:22
  18. Python基础——模块和包

    模块和包一. 模块1.1. 导入模块1.1.1 导入模块的方式1.1.2 导入方式详解1.1.2.1 import1.1.2.2 from..import..1.1.2.3 from .. import *1.2. 制作模块1.2.1 定义模块1.2.2 测试模块1.2.3 调用模块1.2.4 注意事项1.3. 模块定位顺序1.4. __all__二. 包2.1 制作包2.1.1 快速体验2…...

    2024/4/6 8:48:21
  19. JS执行机制

    文章目录前言同步与异步事件循环&#xff1a;微任务和宏任务举一个饭堂点餐例子来理解事件循环JS里的事件循环的流程开头代码的输出结果分析关键字&#xff1a;同步执行、异步执行、事件循环、宏任务、微任务、队列 前言 首先&#xff0c;看一段有关异步执行的一段代码&#x…...

    2024/4/14 1:36:51
  20. qrCode -- 生成二维码

    下载依赖 npm install qrcodejs2 --save-dev实例&#xff1a;&#xff08;这里只提供容纳二维码的容器&#xff0c;不用画布&#xff09; <template><div ><div class"displayCode2" id"qrcode" ref"qrcode" style"border:1…...

    2024/4/28 9:31:53

最新文章

  1. STL——stackqueue

    stack stack即为栈&#xff0c;先进后出是其特点 栈只有栈顶元素能被外界使用&#xff0c;故不存在遍历行为 栈中常用接口 构造函数 stack<T> stk; //默认构造方式 stack(const stack &stk); //拷贝构造 赋值操作 stack& operator(const stack &stk); …...

    2024/5/1 12:38:02
  2. 梯度消失和梯度爆炸的一些处理方法

    在这里是记录一下梯度消失或梯度爆炸的一些处理技巧。全当学习总结了如有错误还请留言&#xff0c;在此感激不尽。 权重和梯度的更新公式如下&#xff1a; w w − η ⋅ ∇ w w w - \eta \cdot \nabla w ww−η⋅∇w 个人通俗的理解梯度消失就是网络模型在反向求导的时候出…...

    2024/3/20 10:50:27
  3. composer常见错误解决

    在Java中&#xff0c;常见的问题和解决方法包括&#xff1a; 内存不足错误&#xff1a;Java应用程序在运行时可能会遇到内存不足的错误。可以通过增加JVM的堆内存大小来解决&#xff0c;可以通过设置-Xms和-Xmx参数来指定初始堆大小和最大堆大小。 java -Xms2G -Xmx4G YourAppl…...

    2024/4/30 3:27:03
  4. 巨控科技新品发布:全方位升级,引领智能控制新纪元

    标签: #巨控科技 #智能控制 #新品发布 #GRM560 #OPC560 #NET400 在智能控制领域&#xff0c;巨控科技始终以其前沿技术和创新产品引领着市场的潮流。近日&#xff0c;巨控科技再次以其行业领先的研发实力&#xff0c;推出了三大系列的新产品&#xff0c;旨在为各行各业提供更…...

    2024/4/30 1:46:55
  5. 416. 分割等和子集问题(动态规划)

    题目 题解 class Solution:def canPartition(self, nums: List[int]) -> bool:# badcaseif not nums:return True# 不能被2整除if sum(nums) % 2 ! 0:return False# 状态定义&#xff1a;dp[i][j]表示当背包容量为j&#xff0c;用前i个物品是否正好可以将背包填满&#xff…...

    2024/5/1 10:25:26
  6. 【Java】ExcelWriter自适应宽度工具类(支持中文)

    工具类 import org.apache.poi.ss.usermodel.Cell; import org.apache.poi.ss.usermodel.CellType; import org.apache.poi.ss.usermodel.Row; import org.apache.poi.ss.usermodel.Sheet;/*** Excel工具类** author xiaoming* date 2023/11/17 10:40*/ public class ExcelUti…...

    2024/4/30 0:57:52
  7. Spring cloud负载均衡@LoadBalanced LoadBalancerClient

    LoadBalance vs Ribbon 由于Spring cloud2020之后移除了Ribbon&#xff0c;直接使用Spring Cloud LoadBalancer作为客户端负载均衡组件&#xff0c;我们讨论Spring负载均衡以Spring Cloud2020之后版本为主&#xff0c;学习Spring Cloud LoadBalance&#xff0c;暂不讨论Ribbon…...

    2024/4/29 18:43:42
  8. TSINGSEE青犀AI智能分析+视频监控工业园区周界安全防范方案

    一、背景需求分析 在工业产业园、化工园或生产制造园区中&#xff0c;周界防范意义重大&#xff0c;对园区的安全起到重要的作用。常规的安防方式是采用人员巡查&#xff0c;人力投入成本大而且效率低。周界一旦被破坏或入侵&#xff0c;会影响园区人员和资产安全&#xff0c;…...

    2024/5/1 4:07:45
  9. VB.net WebBrowser网页元素抓取分析方法

    在用WebBrowser编程实现网页操作自动化时&#xff0c;常要分析网页Html&#xff0c;例如网页在加载数据时&#xff0c;常会显示“系统处理中&#xff0c;请稍候..”&#xff0c;我们需要在数据加载完成后才能继续下一步操作&#xff0c;如何抓取这个信息的网页html元素变化&…...

    2024/4/30 23:32:22
  10. 【Objective-C】Objective-C汇总

    方法定义 参考&#xff1a;https://www.yiibai.com/objective_c/objective_c_functions.html Objective-C编程语言中方法定义的一般形式如下 - (return_type) method_name:( argumentType1 )argumentName1 joiningArgument2:( argumentType2 )argumentName2 ... joiningArgu…...

    2024/4/30 23:16:16
  11. 【洛谷算法题】P5713-洛谷团队系统【入门2分支结构】

    &#x1f468;‍&#x1f4bb;博客主页&#xff1a;花无缺 欢迎 点赞&#x1f44d; 收藏⭐ 留言&#x1f4dd; 加关注✅! 本文由 花无缺 原创 收录于专栏 【洛谷算法题】 文章目录 【洛谷算法题】P5713-洛谷团队系统【入门2分支结构】&#x1f30f;题目描述&#x1f30f;输入格…...

    2024/5/1 6:35:25
  12. 【ES6.0】- 扩展运算符(...)

    【ES6.0】- 扩展运算符... 文章目录 【ES6.0】- 扩展运算符...一、概述二、拷贝数组对象三、合并操作四、参数传递五、数组去重六、字符串转字符数组七、NodeList转数组八、解构变量九、打印日志十、总结 一、概述 **扩展运算符(...)**允许一个表达式在期望多个参数&#xff0…...

    2024/5/1 11:24:00
  13. 摩根看好的前智能硬件头部品牌双11交易数据极度异常!——是模式创新还是饮鸩止渴?

    文 | 螳螂观察 作者 | 李燃 双11狂欢已落下帷幕&#xff0c;各大品牌纷纷晒出优异的成绩单&#xff0c;摩根士丹利投资的智能硬件头部品牌凯迪仕也不例外。然而有爆料称&#xff0c;在自媒体平台发布霸榜各大榜单喜讯的凯迪仕智能锁&#xff0c;多个平台数据都表现出极度异常…...

    2024/5/1 4:35:02
  14. Go语言常用命令详解(二)

    文章目录 前言常用命令go bug示例参数说明 go doc示例参数说明 go env示例 go fix示例 go fmt示例 go generate示例 总结写在最后 前言 接着上一篇继续介绍Go语言的常用命令 常用命令 以下是一些常用的Go命令&#xff0c;这些命令可以帮助您在Go开发中进行编译、测试、运行和…...

    2024/4/30 14:53:47
  15. 用欧拉路径判断图同构推出reverse合法性:1116T4

    http://cplusoj.com/d/senior/p/SS231116D 假设我们要把 a a a 变成 b b b&#xff0c;我们在 a i a_i ai​ 和 a i 1 a_{i1} ai1​ 之间连边&#xff0c; b b b 同理&#xff0c;则 a a a 能变成 b b b 的充要条件是两图 A , B A,B A,B 同构。 必要性显然&#xff0…...

    2024/4/30 22:14:26
  16. 【NGINX--1】基础知识

    1、在 Debian/Ubuntu 上安装 NGINX 在 Debian 或 Ubuntu 机器上安装 NGINX 开源版。 更新已配置源的软件包信息&#xff0c;并安装一些有助于配置官方 NGINX 软件包仓库的软件包&#xff1a; apt-get update apt install -y curl gnupg2 ca-certificates lsb-release debian-…...

    2024/5/1 6:34:45
  17. Hive默认分割符、存储格式与数据压缩

    目录 1、Hive默认分割符2、Hive存储格式3、Hive数据压缩 1、Hive默认分割符 Hive创建表时指定的行受限&#xff08;ROW FORMAT&#xff09;配置标准HQL为&#xff1a; ... ROW FORMAT DELIMITED FIELDS TERMINATED BY \u0001 COLLECTION ITEMS TERMINATED BY , MAP KEYS TERMI…...

    2024/4/30 22:57:18
  18. 【论文阅读】MAG:一种用于航天器遥测数据中有效异常检测的新方法

    文章目录 摘要1 引言2 问题描述3 拟议框架4 所提出方法的细节A.数据预处理B.变量相关分析C.MAG模型D.异常分数 5 实验A.数据集和性能指标B.实验设置与平台C.结果和比较 6 结论 摘要 异常检测是保证航天器稳定性的关键。在航天器运行过程中&#xff0c;传感器和控制器产生大量周…...

    2024/4/30 20:39:53
  19. --max-old-space-size=8192报错

    vue项目运行时&#xff0c;如果经常运行慢&#xff0c;崩溃停止服务&#xff0c;报如下错误 FATAL ERROR: CALL_AND_RETRY_LAST Allocation failed - JavaScript heap out of memory 因为在 Node 中&#xff0c;通过JavaScript使用内存时只能使用部分内存&#xff08;64位系统&…...

    2024/5/1 4:45:02
  20. 基于深度学习的恶意软件检测

    恶意软件是指恶意软件犯罪者用来感染个人计算机或整个组织的网络的软件。 它利用目标系统漏洞&#xff0c;例如可以被劫持的合法软件&#xff08;例如浏览器或 Web 应用程序插件&#xff09;中的错误。 恶意软件渗透可能会造成灾难性的后果&#xff0c;包括数据被盗、勒索或网…...

    2024/5/1 8:32:56
  21. JS原型对象prototype

    让我简单的为大家介绍一下原型对象prototype吧&#xff01; 使用原型实现方法共享 1.构造函数通过原型分配的函数是所有对象所 共享的。 2.JavaScript 规定&#xff0c;每一个构造函数都有一个 prototype 属性&#xff0c;指向另一个对象&#xff0c;所以我们也称为原型对象…...

    2024/4/29 3:42:58
  22. C++中只能有一个实例的单例类

    C中只能有一个实例的单例类 前面讨论的 President 类很不错&#xff0c;但存在一个缺陷&#xff1a;无法禁止通过实例化多个对象来创建多名总统&#xff1a; President One, Two, Three; 由于复制构造函数是私有的&#xff0c;其中每个对象都是不可复制的&#xff0c;但您的目…...

    2024/5/1 11:51:23
  23. python django 小程序图书借阅源码

    开发工具&#xff1a; PyCharm&#xff0c;mysql5.7&#xff0c;微信开发者工具 技术说明&#xff1a; python django html 小程序 功能介绍&#xff1a; 用户端&#xff1a; 登录注册&#xff08;含授权登录&#xff09; 首页显示搜索图书&#xff0c;轮播图&#xff0…...

    2024/5/1 5:23:20
  24. 电子学会C/C++编程等级考试2022年03月(一级)真题解析

    C/C++等级考试(1~8级)全部真题・点这里 第1题:双精度浮点数的输入输出 输入一个双精度浮点数,保留8位小数,输出这个浮点数。 时间限制:1000 内存限制:65536输入 只有一行,一个双精度浮点数。输出 一行,保留8位小数的浮点数。样例输入 3.1415926535798932样例输出 3.1…...

    2024/4/30 20:52:33
  25. 配置失败还原请勿关闭计算机,电脑开机屏幕上面显示,配置失败还原更改 请勿关闭计算机 开不了机 这个问题怎么办...

    解析如下&#xff1a;1、长按电脑电源键直至关机&#xff0c;然后再按一次电源健重启电脑&#xff0c;按F8健进入安全模式2、安全模式下进入Windows系统桌面后&#xff0c;按住“winR”打开运行窗口&#xff0c;输入“services.msc”打开服务设置3、在服务界面&#xff0c;选中…...

    2022/11/19 21:17:18
  26. 错误使用 reshape要执行 RESHAPE,请勿更改元素数目。

    %读入6幅图像&#xff08;每一幅图像的大小是564*564&#xff09; f1 imread(WashingtonDC_Band1_564.tif); subplot(3,2,1),imshow(f1); f2 imread(WashingtonDC_Band2_564.tif); subplot(3,2,2),imshow(f2); f3 imread(WashingtonDC_Band3_564.tif); subplot(3,2,3),imsho…...

    2022/11/19 21:17:16
  27. 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机...

    win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”问题的解决方法在win7系统关机时如果有升级系统的或者其他需要会直接进入一个 等待界面&#xff0c;在等待界面中我们需要等待操作结束才能关机&#xff0c;虽然这比较麻烦&#xff0c;但是对系统进行配置和升级…...

    2022/11/19 21:17:15
  28. 台式电脑显示配置100%请勿关闭计算机,“准备配置windows 请勿关闭计算机”的解决方法...

    有不少用户在重装Win7系统或更新系统后会遇到“准备配置windows&#xff0c;请勿关闭计算机”的提示&#xff0c;要过很久才能进入系统&#xff0c;有的用户甚至几个小时也无法进入&#xff0c;下面就教大家这个问题的解决方法。第一种方法&#xff1a;我们首先在左下角的“开始…...

    2022/11/19 21:17:14
  29. win7 正在配置 请勿关闭计算机,怎么办Win7开机显示正在配置Windows Update请勿关机...

    置信有很多用户都跟小编一样遇到过这样的问题&#xff0c;电脑时发现开机屏幕显现“正在配置Windows Update&#xff0c;请勿关机”(如下图所示)&#xff0c;而且还需求等大约5分钟才干进入系统。这是怎样回事呢&#xff1f;一切都是正常操作的&#xff0c;为什么开时机呈现“正…...

    2022/11/19 21:17:13
  30. 准备配置windows 请勿关闭计算机 蓝屏,Win7开机总是出现提示“配置Windows请勿关机”...

    Win7系统开机启动时总是出现“配置Windows请勿关机”的提示&#xff0c;没过几秒后电脑自动重启&#xff0c;每次开机都这样无法进入系统&#xff0c;此时碰到这种现象的用户就可以使用以下5种方法解决问题。方法一&#xff1a;开机按下F8&#xff0c;在出现的Windows高级启动选…...

    2022/11/19 21:17:12
  31. 准备windows请勿关闭计算机要多久,windows10系统提示正在准备windows请勿关闭计算机怎么办...

    有不少windows10系统用户反映说碰到这样一个情况&#xff0c;就是电脑提示正在准备windows请勿关闭计算机&#xff0c;碰到这样的问题该怎么解决呢&#xff0c;现在小编就给大家分享一下windows10系统提示正在准备windows请勿关闭计算机的具体第一种方法&#xff1a;1、2、依次…...

    2022/11/19 21:17:11
  32. 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”的解决方法...

    今天和大家分享一下win7系统重装了Win7旗舰版系统后&#xff0c;每次关机的时候桌面上都会显示一个“配置Windows Update的界面&#xff0c;提示请勿关闭计算机”&#xff0c;每次停留好几分钟才能正常关机&#xff0c;导致什么情况引起的呢&#xff1f;出现配置Windows Update…...

    2022/11/19 21:17:10
  33. 电脑桌面一直是清理请关闭计算机,windows7一直卡在清理 请勿关闭计算机-win7清理请勿关机,win7配置更新35%不动...

    只能是等着&#xff0c;别无他法。说是卡着如果你看硬盘灯应该在读写。如果从 Win 10 无法正常回滚&#xff0c;只能是考虑备份数据后重装系统了。解决来方案一&#xff1a;管理员运行cmd&#xff1a;net stop WuAuServcd %windir%ren SoftwareDistribution SDoldnet start WuA…...

    2022/11/19 21:17:09
  34. 计算机配置更新不起,电脑提示“配置Windows Update请勿关闭计算机”怎么办?

    原标题&#xff1a;电脑提示“配置Windows Update请勿关闭计算机”怎么办&#xff1f;win7系统中在开机与关闭的时候总是显示“配置windows update请勿关闭计算机”相信有不少朋友都曾遇到过一次两次还能忍但经常遇到就叫人感到心烦了遇到这种问题怎么办呢&#xff1f;一般的方…...

    2022/11/19 21:17:08
  35. 计算机正在配置无法关机,关机提示 windows7 正在配置windows 请勿关闭计算机 ,然后等了一晚上也没有关掉。现在电脑无法正常关机...

    关机提示 windows7 正在配置windows 请勿关闭计算机 &#xff0c;然后等了一晚上也没有关掉。现在电脑无法正常关机以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容&#xff0c;让我们赶快一起来看一下吧&#xff01;关机提示 windows7 正在配…...

    2022/11/19 21:17:05
  36. 钉钉提示请勿通过开发者调试模式_钉钉请勿通过开发者调试模式是真的吗好不好用...

    钉钉请勿通过开发者调试模式是真的吗好不好用 更新时间:2020-04-20 22:24:19 浏览次数:729次 区域: 南阳 > 卧龙 列举网提醒您:为保障您的权益,请不要提前支付任何费用! 虚拟位置外设器!!轨迹模拟&虚拟位置外设神器 专业用于:钉钉,外勤365,红圈通,企业微信和…...

    2022/11/19 21:17:05
  37. 配置失败还原请勿关闭计算机怎么办,win7系统出现“配置windows update失败 还原更改 请勿关闭计算机”,长时间没反应,无法进入系统的解决方案...

    前几天班里有位学生电脑(windows 7系统)出问题了&#xff0c;具体表现是开机时一直停留在“配置windows update失败 还原更改 请勿关闭计算机”这个界面&#xff0c;长时间没反应&#xff0c;无法进入系统。这个问题原来帮其他同学也解决过&#xff0c;网上搜了不少资料&#x…...

    2022/11/19 21:17:04
  38. 一个电脑无法关闭计算机你应该怎么办,电脑显示“清理请勿关闭计算机”怎么办?...

    本文为你提供了3个有效解决电脑显示“清理请勿关闭计算机”问题的方法&#xff0c;并在最后教给你1种保护系统安全的好方法&#xff0c;一起来看看&#xff01;电脑出现“清理请勿关闭计算机”在Windows 7(SP1)和Windows Server 2008 R2 SP1中&#xff0c;添加了1个新功能在“磁…...

    2022/11/19 21:17:03
  39. 请勿关闭计算机还原更改要多久,电脑显示:配置windows更新失败,正在还原更改,请勿关闭计算机怎么办...

    许多用户在长期不使用电脑的时候&#xff0c;开启电脑发现电脑显示&#xff1a;配置windows更新失败&#xff0c;正在还原更改&#xff0c;请勿关闭计算机。。.这要怎么办呢&#xff1f;下面小编就带着大家一起看看吧&#xff01;如果能够正常进入系统&#xff0c;建议您暂时移…...

    2022/11/19 21:17:02
  40. 还原更改请勿关闭计算机 要多久,配置windows update失败 还原更改 请勿关闭计算机,电脑开机后一直显示以...

    配置windows update失败 还原更改 请勿关闭计算机&#xff0c;电脑开机后一直显示以以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容&#xff0c;让我们赶快一起来看一下吧&#xff01;配置windows update失败 还原更改 请勿关闭计算机&#x…...

    2022/11/19 21:17:01
  41. 电脑配置中请勿关闭计算机怎么办,准备配置windows请勿关闭计算机一直显示怎么办【图解】...

    不知道大家有没有遇到过这样的一个问题&#xff0c;就是我们的win7系统在关机的时候&#xff0c;总是喜欢显示“准备配置windows&#xff0c;请勿关机”这样的一个页面&#xff0c;没有什么大碍&#xff0c;但是如果一直等着的话就要两个小时甚至更久都关不了机&#xff0c;非常…...

    2022/11/19 21:17:00
  42. 正在准备配置请勿关闭计算机,正在准备配置windows请勿关闭计算机时间长了解决教程...

    当电脑出现正在准备配置windows请勿关闭计算机时&#xff0c;一般是您正对windows进行升级&#xff0c;但是这个要是长时间没有反应&#xff0c;我们不能再傻等下去了。可能是电脑出了别的问题了&#xff0c;来看看教程的说法。正在准备配置windows请勿关闭计算机时间长了方法一…...

    2022/11/19 21:16:59
  43. 配置失败还原请勿关闭计算机,配置Windows Update失败,还原更改请勿关闭计算机...

    我们使用电脑的过程中有时会遇到这种情况&#xff0c;当我们打开电脑之后&#xff0c;发现一直停留在一个界面&#xff1a;“配置Windows Update失败&#xff0c;还原更改请勿关闭计算机”&#xff0c;等了许久还是无法进入系统。如果我们遇到此类问题应该如何解决呢&#xff0…...

    2022/11/19 21:16:58
  44. 如何在iPhone上关闭“请勿打扰”

    Apple’s “Do Not Disturb While Driving” is a potentially lifesaving iPhone feature, but it doesn’t always turn on automatically at the appropriate time. For example, you might be a passenger in a moving car, but your iPhone may think you’re the one dri…...

    2022/11/19 21:16:57