文章目录

    • 一、简介
    • 二、ZooKeeper的一致性
    • 三、Paxos算法
        • 3.1 Paxos算法描述
        • 3.2 Paxos算法中的三种角色
        • 3.3 Paxos算法的一致性
        • 3.4 Paxos算法过程
    • 四、ZAB协议
        • 4.1 ZAB协议简介
        • 4.2 ZAB中的三类角色
        • 4.3 ZAB中的三个重要数据
        • 4.4 ZAB中的三种模式
        • 4.5 ZAB中的四种状态
        • 4.6 ZAB崩溃恢复
            • 4.6.1 Leader选举
            • 4.6.2 数据恢复
    • 五、 CAP定理

一、简介

ZooKeeper是一个开源的分布式应用程序协调服务器,其为分布式系统提供一致性服务。其一致性是通过基于Paxos算法的ZAB协议完成的。其主要功能包括:配置维护、域名服务、分布式同步、集群管理等。

二、ZooKeeper的一致性

1. 顺序一致性
从同一客户端发送的多个事务请求(写操作请求),最终会严格按照发起的顺序应用到ZooKeeper中
2. 原子性
在集群中所有事务在每一个Server上请求的结果是一致的。(例如当我们要做一个修改的操作时,那么我们的请求无论发送到集群中的哪一个节点上,最终得到的结果都是相同的)
3. 单一视图
无论客户端连接的是集群中的哪一个Server,读取到的数据模型都是一致的。
4. 可靠性
一旦某个事务被成功应用到了ZooKeeper,那么它将会被一直保留下来。
5. 最终一致性
当我们的一个事务被成功应用,Zookeeper可以保证在一段较短的时间内,客户端一定可以从服务端读取到最新的数据,但不能保证实时读取。(例如我们在集群中的节点上更改了一个数据的数值由0改为了1,那么其他的节点就会去同步这个修改的结果。但同步是需要一定时间的,所以如果此时有客户端从其他的结点访问这个数据,如果还没有同步完成那么用户是读取不到数据的。只有当同步完成时,用户才可以读取到数据。保证了一致性,但不能保证实时性)

三、Paxos算法

3.1 Paxos算法描述

Paxos算法的前提是信道是安全的、可靠的、集群结点间传递的消息是不会被窜改的。一般来说,在分布式系统中各个节点有两种通讯模型(共享内存和消息传递),Paxos算法才用消息传递的通讯模式。

3.2 Paxos算法中的三种角色

在paxos算法中有三种角色,分别具有三种不同的行为。但很多时候,一个进程同时充当多种角色。
Proposer:提案者
Acceptor:表决者
Learner:同步者

3.3 Paxos算法的一致性

  1. 每个提案者在提出提案时都会首先获取到一个具有全局唯一性的、递增的提案编号N,即在整个集群中是唯一的编号N,然后将该编号赋予其要提出的提案。
  2. 每个表决者在accept某提案后,会将该提案的编号N记录在本地,这样每个表决者中保存的已经被accept的提案中会存在一个编号最大的提案,其编号假设为maxN。每个表决者仅会accept编号大于自己本地maxN的提案。
  3. 在众多提案中最终只能有一个提案被选定。
  4. 一旦一个提案被选定,则其它服务器会主动同步(Learn)该提案到本地。
  5. 没有提案被提出则不会有提案被选定。

3.4 Paxos算法过程

Paxos算法共分为两个阶段:prepare阶段和accept阶段
prepare阶段

  1. 提案者(Proposer)准备提交一个编号为N的提议,于是其首先向所有表决者(Acceptor)发送prepare(N)请求,用于试探集群是否支持该编号的提议。
  2. 每个表决者(Acceptor)中都保存着自己曾经accept过的提议中的最大编号maxN。当一个表决者接收到其它主机发送来的prepare(N)请求时,其会比较N与maxN的值。有以下几种情况:
    (1)若N小于maxN,则说明该提议已过时,当前表决者采取不回应或回应Error的方式来拒绝该prepare请求
    (2)若N大于maxN,则说明该提议是可以接受的,当前表决者会首先将该N记录下来,并将其曾经已经accept的编号最大的提案Proposal(myid,maxN,value)反馈给提案者,以向提案者展示自己支持的提案意愿。其中第一个参数myid表示表决者Acceptor的标识id,第二个参数表示其曾接受的提案的最大编号maxN,第三个参数表示该提案的真正内容value。当然,若当前表决者还未曾accept过任何提议,则会将Proposal(myid,null,null)反馈给提案者。
    (3)在prepare阶段N不可能等于maxN。这是由N的生成机制决定的。要获得N的值,其必定会在原来数值的基础上采用同步锁方式增一。
    prepare阶段流程图如下所示,提案者(Proposer)本身也是一个表决者(Acceptor),表决同意。所以在下图中一共有4个节点,Acceptor1中自身保存的最大提案编号maxN大于当前提案编号N,没有回应拒绝了提案;Acceptor2中自身保存的最大提案编号maxN为0,也就是没有任何accept过任何提案,所以接受了当前提案;Acceptor3中自身保存的最大提案编号maxN小于当前提案编号N,所以接受了当前的提案。最终接受的节点总数为3,不接受的节点总数为1,接受的节点总数大于半数。所以改提案可以由prepare阶段进入到下一个accept阶段。
    在这里插入图片描述
    Accept阶段
    (1)当提案者(Proposer)发出prepare(N)后,若收到了超过半数的表决者(Accepter)的反馈,那么该提案者就会将其真正的提案Proposal(myid,N,value)发送给所有的表决者。
    (2)当表决者(Acceptor)接收到提案者发送的Proposal(myid,N,value)提案后,会再次拿出自己曾经accept的提议中的最大编号maxN,或曾经记录下的prepare的最大编号,让N与它们进行比较,若N大于等于这两个编号,则当前表决者accept该提案,并反馈给提案者。若N小于这两个编号,则表决者采取不回应或回应Error的方式来拒绝该提议。
    (3)若提案者没有接收到半数表决者accept的反馈。则会产生两种结果:一是放弃该提案不再提出;二是重新进入prepare阶段,递增提案号N,重新进入prepare阶段。
    (4)若提案者接收到的反馈数量超过了半数,则其会向外广播两类信息:一是像曾经的accept提案的表决者(Acceptor2和Acceptor3)发送“可执行数据同步信号”,即让他们执行其曾接收到的提案;二是向未曾向其发送accept反馈的表决者(Acceptor1)发送“ 提案+可执行数据同步信号”,即让他们接受到该提案后马上执行。
    在这里插入图片描述

四、ZAB协议

4.1 ZAB协议简介

  1. Zookeeper Atomic Broadcast,Zookeeper原子消息广播协议,是专为ZooKeeper设计的一种支持崩溃恢复的原子广播协议,在Zookeeper中,主要依赖ZAB协议来实现分布式数据的一致性。ZAB可以说是在Paxos算法的基础上发展而来
  2. Zookeeper使用一个单一主进程来接收并处理客户端的所有事务请求,即写请求。当服务器数据的状态发生变更后,集群采用ZAB原子广播协议,以事务提案Proposal的形式广播到所有的副本进程上。ZAB协议能够保证一个全局的变更序列,即可以为每一个事务分配一个全局的递增编号xid。
  3. 当Zookeeper客户端连接到Zookeeper集群的一个节点后,若客户端提交的是读请求,那么当前节点就直接根据自己保存的数据对其进行响应;如果是写请求且当前节点不是Leader,那么节点就会将该写请求转发给Leader,Leader会以提案Proposal的方式广播该写操作,只要有超过半数节点同意(ack)该写操作,则该写操作请求就会被Leader提交。然后Leader会再次广播commit给所有的订阅者即learner,通知他们同步最新的数据也就是将上一个事务进行提交。
  4. ZAB协议支持崩溃恢复可以保证在Leader节点崩溃后可以重新选举一个Leader并且保证数据的完整性。

如下所示为Zookeeper服务工作原理示意图:
在这里插入图片描述

4.2 ZAB中的三类角色

为了避免Zookeeper的单节点问题,所有Zookeeper是以集群的形式出现的。Zookeeper集群中共有三类角色:

  • Leader: 事务请求的唯一处理者,也可以处理读请求。
  • Follower: 可以直接处理客户端的读请求,并向客户端响应,但不会处理事务请求,其只会将客户端事务请求转发给Leader来处理;对于Leader发起的事务提案具有表决权;可以同步Leader中事务的处理结果;Leader选举过程中的参与者,具有选举权和被选举权。
  • Observer: 可以理解为不参与Leader选举的Follower,在Leader选举过程中没有选举权与被选举权;对于Leader的提案也没有表决权,用于协助Follower处理更多的客户端读请求。增加Observer可以提高集群处理读请求处理的能力。

4.3 ZAB中的三个重要数据

  • zxid: 类型为Long长度为64位,高32位标识epoch,低32位表示xid
  • epoch: 每次Leader选举过后都会生成一个新的epoch,在上一个epoch的基础上加1,然后将xid归零。
  • xid: 事务id,自动递增

4.4 ZAB中的三种模式

  • 恢复模式: 在集群启动的过程中,或Leader挂掉后,系统都需要进入恢复模式,以恢复系统对外提供服务的能力。无论是什么原因进入到恢复模式都包含两个重要的阶段:Leader选举与初始化同步。
  • 广播模式: 由Leader发出的广播分为初始化广播和更新广播。初始化广播也就是当Leader选举之后,新的Leader会广播自己新的epoch,并且让其他的节点从自己这里同步数据。更新广播也就是当有事务处理之后,需要其他的节点来同步数据,这时Leader就会发出更新广播通知其他的节点。
  • 同步模式: 分为初始化同步和更新同步。 Follower和Observer在收到初始化广播后就会进行初始化同步,Follower和Observer在收到更新广播后就会进行更新同步。

4.5 ZAB中的四种状态

  • **LOOKING:**选举状态。当处于恢复模式时所有的节点都处与LOOKING状态,直到选举出新的Leader
  • Following: Follower的正在工作状态
  • OBSERVING: Observer的正常工作状态
  • LEADING: Leader的正常工作状态
    ZooKeeper启动时所有节点初始状态为Looking,这时集群会尝试选举出一个Leader节点,选举出的Leader节点切换为Leading状态;当节点发现集群中已经选举出Leader则该节点会切换到Following状态,然后和Leader节点保持同步;当Leader节点挂掉时Follower节点则会切换到Looking状态,开始新一轮选举;

4.6 ZAB崩溃恢复

4.6.1 Leader选举

选举阶段必须确保选出的Leader具有最新的epoch和最大ZXID,否则在Recovery阶段无法保证数据的一致性。所以在选举的过程中会对每个Follower节点的ZXID进行对比只有拥有最大ZXID的Follower才可能当选Leader;选举过程中只要得到半数以上的支持就会成为新的leader节点。

4.6.2 数据恢复

完成选举后,在接收客户端新的事务请求之前,Leader 服务器会首先确认事务日志中的所有的 Proposal 是否已经被集群中过半的服务器 Commit。Leader 需要确保所有的 Follower 能够接收到每一条事务的 Proposal ,并且能将所有已经提交的事务 Proposal 应用到内存数据中。等到 Follower 将所有尚未同步的事务 Proposal 都从 Leader 服务器上同步完成,并且应用到内存数据中以后,Leader 才会把该 Follower 加入到真正可用的 Follower 列表中。

五、 CAP定理

CAP定理指出在一个分布式的系统中不可能同时满足以下三点:
一致性(Consistency):
当写操作完成后,读操作必须返回该值。例如我们修改了一个数值由0改为了1,那么当客户端从任意一个节点读取这个数据时,返回的都必须是1,如果返回0就不满足一致性的要求。
可用性(Availablity):
系统中的可用节点在收到客户端的请求之后,必须要做出响应。
分区容错性(Partition tolerance):
允许区间通信失败的情况发生,也就是两个分区之间想要同步最新的数据,但是可能因为各种情况导致消息发送失败。一般来说这种情况是无法避免的,对于一个分布式系统而言都要接受这种情况。

之所以说CAP三者不能同时满足,是因为一致性和可用性是相互矛盾的。例如我们现在有两个节点,节点1再进行写操作将0改为1,此时我们向节点2读这个数据,如果要满足一致性那么就要等待节点2将数据同步完成才可以访问,但是可用性又要求节点2必须做出响应,如果此时做出响应返回的结果就是0,又违背了一致性的要求,所以二者是相互矛盾的。

结论: 所以如何权衡A和C就要根据实际的业务需求,如果对可用性要求高就要放弃一致性,例如微博可用性就要高于一致性。而对于一致性要求高就要放弃可用性,例如银行如果不能保证一致性那么在转账取款等场景时就会出现严重的问题。

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

相关文章

  1. Mask Allocation 牛客暑假第七场B题

    链接:https://ac.nowcoder.com/acm/contest/5672/B 来源:牛客网 题意: 给你n * m个口罩,让你将口罩进行分组装箱,使其满足给n个医院,每个医院分配m个口罩,及m个医院,每个医院分配n个口罩,要求分的组数尽可能少,并且字典序最大 solution: 对n和m进行gcd递归求解 举个…...

    2024/4/11 19:35:09
  2. 使用Pycharm导入Github上的项目

    最近在了解github,这里先记录一下如何使用Pycharm导入Github上的开源项目。 在进行导入项目之前,我们需要先下载Git,可以参考Git教程 我已经事先安装好Git,并在Github注册了账号,这里就不介绍了。 那么如何在Pycharm中导入Github开源项目呢? 1.Git配置 打开Pycharm,并按…...

    2024/4/11 19:35:08
  3. equals() 相关面试题

    1 == 和 equals() 的区别 ==对于基本数据类型,比较数值是否相等; 对于引用类型,比较对象内存地址是否相同。equals():用于比较两个对象的内容是否相等,不能比较基本数据类型。equals() 没有重写,比较的是对象的内存地址; 多数类重写了 equals(),如 String 等,将其转换…...

    2024/4/11 19:35:07
  4. [SQLite 开发] SQLite字段自增自减的SQL语句 (IF条件语句)

    SQLite字段自增UPDATE table_name SET column1 = column1 + 1 WHERE columnID = 1SQLite字段自减UPDATE table_name SET column1 = column1 - 1 WHERE columnID = 1语句优化防止column1已经等于0了,再-1等于负数。我们需要曾加一个if语句判断UPDATE table_name SET column1 = …...

    2024/4/11 19:35:06
  5. Git安装——linux环境

    1、查询git版本(1)查看git版本git --version(2)如果是1.8.3.1,则是centos默认的git版本,需要先卸载yum -y remove git(3)查看git版本,此时应该已经没有git版本了git --version 2、安装新版本git(1)安装依赖(如果有依赖,则此步骤跳过)yum install curl-devel expa…...

    2024/4/12 14:41:55
  6. centOS7下利用nginx+uwsgi部署Django+vue项目

    这里写自定义目录标题centOS7下利用nginx+uwsgi部署Django+vue项目一、配置Python3环境**1.安装可能需要的依赖**2.下载Python3到/usr/local目录下二、安装virtualenv,建议大家都安装一个virtualenv,方便不同版本项目管理三、把前端项目上传到服务器四、安装uwsgi五、配置uws…...

    2024/4/10 12:03:41
  7. Jetpack 短视频

    Jetpack 短视频 短视频无缝续播/滑动特效手势分发/手把手搭建可配置化App架构 自学整理 ​ Jetpack是Google为解决Android开发碎片化,打造成熟健康生态圈提出的战略规划,是Google对Android未来提出的发展方向。众多Github开源库和各个大厂都在拥抱Jetpack,也是当今安卓面试…...

    2024/4/10 12:03:40
  8. centos8,systemd239版本至244版本中存在信任管理问题漏洞,升级方法。

    这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是…...

    2024/4/30 11:08:56
  9. 这样找话题跟女生聊天,让你和女生聊得停不下来

    跟女生聊天时,那可不同于你和平常兄弟那样普通的聊天。不是说你想说什么就能说什么的,毕竟刚开始女生都是处于一个非常缜密的观察阶段,一句话说错的话,很有可能就会触到她敏感的那一点,从此堵了所有的后路了。所以说有一句话叫做步步为营,同时也有句话叫做高瞻远瞩,总之…...

    2024/4/11 19:35:05
  10. 微信域名防封,细说微信域名防封技术原理

    微信域名检测技术的主要用户是微信域名防封,大家知道拼多多这种网站,靠诱导分享方式在微信里面摇身一变已经估值160亿美元,身价仅次于京东了 ,这是何等的速度,简直是惊为天人,But如果你想使用微信病毒营销,腾讯不封死你才怪,早期微信抓分享不严格,现在很严,拼多多是腾…...

    2024/5/4 14:57:26
  11. windoes&& windoes server 上安装mysql(MSI安装包安装、压缩包安装)

    一 用MSI安装包安装根据自己的操作系统下载对应的32位或64位安装包。按如下步骤操作: MySQL数据库官网的下载地址http://dev.mysql.com/downloads/mysqlMSI安装包下载地址:https://dev.mysql.com/downloads/windows/installer/8.0.html压缩包下载:MSI安装包下载:...

    2024/4/11 19:35:04
  12. js - Array对象

    一、创建构造方法创建let arr1 = new Array() let arr2 = new Array(a, b, c);字面量创建let arr1 = []; let arr2 = [a,b,c];二、特点在JavaScript中,同一个数组中可以包含对象元素、函数、数组。 三、数组操作方法indexOf(item,start)参数:item:指定查找的元素,类型除了对…...

    2024/5/2 19:17:05
  13. [数据结构]-拿捏队列、链表、栈核心问题

    总结队列、链表及栈的必要干货队列数组实现队列(数组只用一次)数组实现环形队列(数组可以复用)链表总结要点1总结要点2栈数组实现栈栈的主要应用场景中缀表达式转后缀表达式后缀表达式的计算 队列 数组实现队列(数组只用一次)初始化: front 和 rear 指针的初始值为 -1 ;…...

    2024/4/11 19:35:01
  14. BlueHost主机Plesk面板快速安装WordPress教程

    WordPress的出现传遍整个大街小巷,它是目前最受欢迎的博客程序,强大的功能、简单的操作程序,怎能让站长不喜爱?为了方便新手站长快速搭建自己的网站,很多主机商都提供了一键安装WordPress的方法,知名主机商——BlueHost也不例外,即便如此,还是有很多站长咨询BlueHost:…...

    2024/4/28 0:37:25
  15. 告别刷抖音!30秒一个Python小例子,总有一款适合你,赶紧收藏!

    小编每天上班坐地铁,不是刷抖音就是煲电视剧,不是我不想学习,主要是短视频太好看了,30秒一个,刷刷刷的不停啊。如果Python也有30秒学习的小例子,我也一定会看呢。于是小编收录整理了一些30秒一个短小精悍的Python小例子,让你也在碎片时间,刷Python,提高功力。1.ascii展…...

    2024/5/1 1:19:16
  16. ireport在Linux打印报错

    需在打印类中开启支持图形化参数...

    2024/5/1 22:32:45
  17. 打散算法的三种解决方案及其选型场景

    简介:打散算法优缺点及选型场景作者:闲鱼技术-华采背景打散是在推荐、广告、搜索系统的结果基础上,提升用户视觉体验的一种处理。主要方法是对结果进行一个呈现顺序上的重排序,令相似品类的对象分散开,避免用户疲劳。算法端传出的推荐结果,往往具有以下几个痛点:1、相似…...

    2024/4/30 9:35:53
  18. Linux Kubernetes 资源清单详解

    Kubernetes 资源清单一、认识资源清单1.什么是资源清单2.资源清单的格式3.资源清单中的属性二、资源清单实践1.编辑一个简单的资源清单2.一个pod创建两个容器3.使用资源清指定nat访问pod4.用资源清单设置资源限制5.指定调度节点6.定义使用节点网络 一、认识资源清单 1.什么是资…...

    2024/5/4 14:28:00
  19. 《人物五官morpher制作工艺》

    【目录】 1、软件工具 2、基础规范 3、模型制作规范 4、morpher的添加规范 5、五官如何做到像 6、导出规范 7、资源打包设置规范 8、多平台适配标准 1.软件工具 Unity版本号:2017.4.5f13DSMax版本号:2016英文版Maya 版本号:2016英文版 MAX环境设置: 统一配置以cm(厘米)为…...

    2024/4/26 0:49:03
  20. uni-app升级APP,包含apk整包升级和wgt应用资源升级

    这里只说安卓的应用,软件包放在自己的服务器中。三种方式apk包整包更新,要下载所有的文件包含权限模块依赖等,大小在20M+ wgt包应用资源更新,只更新自己写的代码,根据你代码的多少大小在600k左右 wgtu应用资源差量升级,只更新自己写的代码改变的那一小部分100k左右(实现…...

    2024/4/30 10:42:34

最新文章

  1. 政安晨:【Keras机器学习示例演绎】(二十六)—— 图像相似性搜索的度量学习

    目录 概述 设置 数据集 嵌入模型 测试 政安晨的个人主页:政安晨 欢迎 👍点赞✍评论⭐收藏 收录专栏: TensorFlow与K...

    2024/5/4 18:12:11
  2. 梯度消失和梯度爆炸的一些处理方法

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

    2024/3/20 10:50:27
  3. 2024免费Mac苹果解压压缩包软件BetterZip5

    在2024年,对于Mac电脑用户来说,如果你想要无需解压就能快速查看压缩文档的内容,BetterZip是一个极佳的选择。这款软件不仅支持多种格式的压缩和解压,如zip、rar、7z、tar等,还具备丰富的功能和设置,包括预览…...

    2024/5/4 12:01:50
  4. 策略模式图

    策略模式 小小的图解 主要的三个角色 Strategy—抽象策略角色ConcreateStrategy—具体策略角色Context—上下文角色 封装了对具体策略的调用可以使用set的依赖注入也可以使用构造方法 核心是上下文角色 只要调用上下文角色就行,实现解耦 策略 工厂 将上下文角…...

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

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

    2024/5/4 12:05:22
  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/5/4 11:23:32
  7. Spring cloud负载均衡@LoadBalanced LoadBalancerClient

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

    2024/5/4 14:46:16
  8. TSINGSEE青犀AI智能分析+视频监控工业园区周界安全防范方案

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

    2024/5/3 16:00:51
  9. VB.net WebBrowser网页元素抓取分析方法

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

    2024/5/4 12:10:13
  10. 【Objective-C】Objective-C汇总

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

    2024/5/3 21:22:01
  11. 【洛谷算法题】P5713-洛谷团队系统【入门2分支结构】

    👨‍💻博客主页:花无缺 欢迎 点赞👍 收藏⭐ 留言📝 加关注✅! 本文由 花无缺 原创 收录于专栏 【洛谷算法题】 文章目录 【洛谷算法题】P5713-洛谷团队系统【入门2分支结构】🌏题目描述🌏输入格…...

    2024/5/3 23:17:01
  12. 【ES6.0】- 扩展运算符(...)

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

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

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

    2024/5/4 14:46:11
  14. Go语言常用命令详解(二)

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

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

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

    2024/5/4 2:14:16
  16. 【NGINX--1】基础知识

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

    2024/5/3 16:23:03
  17. Hive默认分割符、存储格式与数据压缩

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

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

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

    2024/5/4 13:16:06
  19. --max-old-space-size=8192报错

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

    2024/5/4 16:48:41
  20. 基于深度学习的恶意软件检测

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

    2024/5/4 14:46:05
  21. JS原型对象prototype

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

    2024/5/4 2:00:16
  22. C++中只能有一个实例的单例类

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

    2024/5/3 22:03:11
  23. python django 小程序图书借阅源码

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

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

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

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

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

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

    %读入6幅图像(每一幅图像的大小是564*564) 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系统关机时如果有升级系统的或者其他需要会直接进入一个 等待界面,在等待界面中我们需要等待操作结束才能关机,虽然这比较麻烦,但是对系统进行配置和升级…...

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    关机提示 windows7 正在配置windows 请勿关闭计算机 ,然后等了一晚上也没有关掉。现在电脑无法正常关机以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!关机提示 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系统)出问题了,具体表现是开机时一直停留在“配置windows update失败 还原更改 请勿关闭计算机”这个界面,长时间没反应,无法进入系统。这个问题原来帮其他同学也解决过,网上搜了不少资料&#x…...

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

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

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

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

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

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

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

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

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

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

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

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