• 关于

    状态机

    的搜索结果

问题

在Python中是否有一个漂亮的State Machine框架?

祖安文状元 2020-02-22 16:07:11 0 浏览量 回答数 1

回答

目前两种主要的复制方式: 状态复制 主节点负责执行写、写完之后发送最新的状态给副本 复制状态机 客户端发送状态至主节点,主节点按顺序执行并且发送给副本。所有的副本执行相同的动作。相同的开始状态、操作、顺序、最终态状态复制传输比较简单,方式状态可能会比较多,网络传输速度太慢 复制状态机往往用的网络更少,它的特征主要是进行状态比较,但是对于保证正确性需要做很多工作。VM-FT就是使用这个模式

kun坤 2020-04-23 15:32:20 0 浏览量 回答数 0

问题

实现状态对象或者状态机

哦哦喔 2020-04-17 15:08:10 0 浏览量 回答数 1

阿里云试用中心,为您提供0门槛上云实践机会!

0元试用32+款产品,最高免费12个月!拨打95187-1,咨询专业上云建议!

问题

可以用微服务创建状态机吗?

游客pklijor6gytpx 2019-12-01 21:56:11 99 浏览量 回答数 1

问题

如何用 Python 实现超级玛丽的界面和状态机?

珍宝珠 2019-12-24 19:13:11 35 浏览量 回答数 1

问题

云虚拟机mysql event_scheduler如何开启,目前是OFF状态

111132qq 2019-12-01 19:12:59 88 浏览量 回答数 1

回答

重复收信一般是由以下几种情况造成:客户端软件(OE, Foxmail)异常,没有正常发出quit命令,造成服务端认为会话没有结束,邮件没有被正常接收,就会导致邮件重复收取的问题。请关闭后重新运行客户端软件试一试。POP3 收信原理如下:在 POP3 协议中有三种状态,认可状态,处理状态,和更新状态。 当客户机与服务器建立联系时,一旦客户机提供了自己身份并成功确认,即由认可状态转入处理状态,在完成相应的操作后客户机发出 quit 命令,则进入更新状态,更新之后最后重返认可状态。如下图 等待连接     身份确认      quit命令 |认可| ————— |处理| —————— |更新| |__| 重返认可状态 上网线路质量差或者网络信号突发异常。可通过 tracert 命名进行线路质量,在网络连接正常的时候再收取邮件如何使用 tracert 内容……发信方(或收信方)的客户端软件(OE, Foxmail)重复发送(或接收),尤其是发送方使用了邮件监控软件,某些邮件监控软件,如一些杀毒软件会将客户的账号的 SMTP , POP 服务器自动设为其自己的服务器,尤其带有病毒检测功能的服务器作为SMTP和POP的代理服务器,而且由于病毒服务器故障等原因会导致 POP 收信异常。关闭后重新运行邮件监控软件试一试,或者临时关闭邮件监控软件。还有一种在 Web 界面使用了邮箱代理的情况,不同于上述类型,此类重复收信的现象发生在每次新登陆邮箱web界面以后,上次登陆web时收取过的邮件又被重新收取了。原因是您设置了 POP3 邮箱代理以后,在您每次登陆 Web 系统时,将自动收取您的外部邮件。如果 收取邮件后删除服务器上原件 选项被设置为 是 就会发生上述现象,建议设置为 否 即可解决该问题。欢迎题主来到云栖社区,我把私人所了解的提供给你,供一起学习、更正、互补和交流,你可以继续留言或者到论坛参与更多的互动。

大财主 2019-12-02 00:41:26 0 浏览量 回答数 0

回答

重复收信一般是由以下几种情况造成:客户端软件(OE, Foxmail)异常,没有正常发出quit命令,造成服务端认为会话没有结束,邮件没有被正常接收,就会导致邮件重复收取的问题。请关闭后重新运行客户端软件试一试。POP3 收信原理如下:在 POP3 协议中有三种状态,认可状态,处理状态,和更新状态。 当客户机与服务器建立联系时,一旦客户机提供了自己身份并成功确认,即由认可状态转入处理状态,在完成相应的操作后客户机发出 quit 命令,则进入更新状态,更新之后最后重返认可状态。如下图 等待连接     身份确认      quit命令 |认可| ————— |处理| —————— |更新| |__| 重返认可状态 上网线路质量差或者网络信号突发异常。可通过 tracert 命名进行线路质量,在网络连接正常的时候再收取邮件如何使用 tracert 内容……发信方(或收信方)的客户端软件(OE, Foxmail)重复发送(或接收),尤其是发送方使用了邮件监控软件,某些邮件监控软件,如一些杀毒软件会将客户的账号的 SMTP , POP 服务器自动设为其自己的服务器,尤其带有病毒检测功能的服务器作为SMTP和POP的代理服务器,而且由于病毒服务器故障等原因会导致 POP 收信异常。关闭后重新运行邮件监控软件试一试,或者临时关闭邮件监控软件。还有一种在 Web 界面使用了邮箱代理的情况,不同于上述类型,此类重复收信的现象发生在每次新登陆邮箱web界面以后,上次登陆web时收取过的邮件又被重新收取了。原因是您设置了 POP3 邮箱代理以后,在您每次登陆 Web 系统时,将自动收取您的外部邮件。如果 收取邮件后删除服务器上原件 选项被设置为 是 就会发生上述现象,建议设置为 否 即可解决该问题。欢迎题主来到云栖社区,我把私人所了解的提供给你,供一起学习、更正、互补和交流,你可以继续留言或者到论坛参与更多的互动。

大财主 2019-12-02 00:41:23 0 浏览量 回答数 0

问题

keepalived master宕机后vip为什么不能释放 400 请求报错 

kun坤 2020-05-30 15:31:52 0 浏览量 回答数 1

回答

这属于分布式环境下的状态同步问题,解决办法就是找一个单点记录状态信息,如你描述中的使用DB进行单点状态记录,Zookeeper也可以作为单点记录状态。思路很简单:在任务执行前读取DB,看下当前任务是否已经在其他节点上执行,如果没有,那么在DB中将执行状态改为执行中,当执行完毕后将任务执行状态改为已经结束。为了防止Tomcat 宕机导致的DB中状态未及时更新,可以增加一个开始执行时间字段,如果过了一段时间后依旧未更新为执行结束,那么可以认为执行该任务的Tomcat出现了异常情况。另外,如果使用ZK来记录状态的话,可以使用一种类型为Ephamal的类型来记录状态。

断桥梅 2019-12-02 02:10:57 0 浏览量 回答数 0

回答

C-S 模式一般可以双向通信,B-S 模式一般只能客户端主动访问服务端。支持双向通信的即可以客户端主动发送给服务端,也可以服务端问询客户端,结合场景做取舍。对于复杂系统一般会有专门收集服务状态的服务,如 Prometheus。客户端如果没法直接访问Prometheus,可以先访问前端机的某个接口,由前端机向 Prometheus 发送状态信息。在阿里云,可以使用 SLS 日志服务,把状态发送到日志服务,然后进行查询。

倚贤 2019-12-02 01:42:31 0 浏览量 回答数 0

问题

[@饭娱咖啡][¥20]服务器频繁宕机不响应

nomoney 2019-12-01 20:25:00 677 浏览量 回答数 1

回答

楼主您好, 请问您收到阿里云的宕机短信通知,是因为使用了阿里云的“云监控”产品吗? ------------------------- 您好,我尝试将自己的一个实例从昨天下午使用shutdown的命令在ssh里关机后,到现在还是关机状态。 ------------------------- 回 8楼(天空之龙) 的帖子 您好, 从这里的介绍来看,可能是阿里云的“宕机迁移”功能自动为您启动ECS了,但触发这样功能的前提条件是阿里云侦测到ECS所在的物理机有故障,并不是说检测到您的ECS是关机状态。请参考: https://bbs.aliyun.com/read/170413.html 有可能是巧合,即虽然您的ECS是在关机状态,但阿里云侦测到ECS所在的物理机有故障(有可能不止您一台ECS,还有其他用户的),所以就自动迁移,且完成迁移后启动了ECS。 ------------------------- 回 14楼(天空之龙) 的帖子 您好, 抱歉给您带来不便。 这可能需要进一步完善的地方,如“宕机迁移”时,是否可先检查之前ECS的运行状态,如果是关闭,那就可保持关闭状态。 但对于绝大多数的ECS应用来说,是线上的业务,所以可能阿里云优先考虑绝大多数的需求,默认为ECS在“宕机迁移”后启动系统了。 在“宕机迁移”里的细节也提到一些细节,如果您不想让应用自动启动(如web,mysql),可将这些服务设置为手动启动。这样,即使是ECS启动了,但没具体的对外业务。

dongshan8 2019-12-02 02:53:39 0 浏览量 回答数 0

回答

可能大多数人都有个误解,一个分布式系统,比如ZK、etcd等,如果正确的实现了共识算法(Raft/Paxos),那么它就能够提供强一致,这个理解其实是不正确的,Raft只能够保证不同节点对于raft日志达成一致,但对于库的使用者来说,实际上对外提供服务的是底层的状态机,比如说一个KV存储,每个raft日志记录的是实际的操作,比如set a 1 set a 2等,而如果只有日志的话,我们怎么查询呢?轮训一遍日志?显然不现实,因此必须将这个状态存起来,比如RocksDB,那么底层raft日志的一致性由raft本身去保证,而上层业务方状态机的一致性该如何去保证呢? Raft是由leader驱动的共识算法,所有的写入请求都由leader来处理,并将日志同步到follower,然后再将日志依次应用的自身的状态机,比如RocksDB,但由于网络延迟、机器负载等原因,每个节点不可能同时将日志应用到RocksDB,因此对于不同的节点来说,RocksDB的数据快照肯定不是实时一致的,并且这里会涉及到很多的corner case,比如leader切换,也就是说leader的数据也不一定是最新的,因此实际实现的时候需要考虑好这些case。 这里暂不考虑异常情况,对于raft来说,写请求都是由leader处理并同步到follower,因此leader的数据通常是最新的,但如果用户发来一个读取请求,我们直接从状态机读取的话,这里其实是会读到过期数据的,因此这里分为两步,已提交的日志 -> 已经应用到状态机的日志,因此如果不做特殊处理的话,由于还有部分日志没有应用到状态机,直接处理的话必然会造成不一致。优化的方法大致有几种: 读取也走raft logRead IndexLease Read #读取也走raft log 我们很容易想到,让读取的请求也走一遍raft流程,由于raft日志是全局严格有序的,读写也必然是有序的,因此当处理到读取的日志的时候,能够保证之前的写入请求都已经处理完成并落到状态机,因此这个时候处理读取请求是安全的,不会造成过期读的问题,也能够满足我们说的线性一致性,但这个方法有个很明显的缺点: 性能非常低,每次读取都走一遍raft流程,涉及到网络、磁盘IO等资源,而对于大部分场景来说,都是写少读多,因此如果不对读取进行优化的话,整个类库的性能会非常低效。

kun坤 2020-04-24 11:48:32 0 浏览量 回答数 0

回答

孙老师,请问在状态机 状态与状态 之间的跳转是同步的还是异步的?同步的如何控制事务过大的问题,这块怎么考虑的呢?

刘凝云 2020-05-07 17:40:31 0 浏览量 回答数 0

回答

单说状态直接看 API 就好了 https://docs.oracle.com/javase/7/docs/api/java/lang/Thread.State.htmlNEW : 线程创建之后,但是还没有启动。RUNNABLE : 正在 Java 虚拟机下跑任务的线程的状态。BLOCKED: 阻塞状态,等待锁的释放,比如线程A进入了一个 synchronized 方法,线程B也想进入这个方法,但是这个方法的锁已经被线程A获取了,这个时候线程B就处于 BLOCKED 状态WAITING: 等待状态,处于等待状态的线程是由于执行了 3 个方法中的任意方法。1. Object的wait方法,并且没有使用timeout参数; 2. Thread的join方法,没有使用timeout参数 3. LockSupport的park方法。 处于 waiting 状态的线程会等待另外一个线程处理特殊的行为。 再举个例子,如果一个线程调用了一个对象的wait方法,那么这个线程就会处于waiting状态直到另外一个线程调用这个对象的notify或者notifyAll方法后才会解除这个状态。TIMED_WAITING: 有等待时间的等待状态,比如调用了以下几个方法中的任意方法,并且指定了等待时间,线程就会处于这个状态。1. Thread.sleep方法 2. Object的wait方法,带有时间 3. Thread.join方法,带有时间 4. LockSupport的 parkNanos 方法,带有时间 5. LockSupport的 parkUntil 方法,带有时间 TERMINATED: 线程中止的状态,这个线程已经完整地执行了它的任务

倚贤 2019-12-02 01:39:42 0 浏览量 回答数 0

回答

System类中的所有成员都是静态的,而要引用这些变量和方法时,直接使用System类名作前缀,在前面已经使用到了标准输入和输出的in和out变量。Runtime类封装了Java命令本身的运行进程,其中的许多方法与System中的方法重复。不能直接创建Runtime实例,但可以通过静态方法Runtime.getRuntime获得正在运行的Runtime对象的引用。例如exit(int status)这个方法,在System类中表示终止当前正在运行的Java虚拟机。参数用作状态码;如果参数是非零的数值,则表示该程序发生异常而终止虚拟机的运行。而在Runtime类中,该方法则表示通过启动虚拟机的关闭序列,终止当前正在运行的Java虚拟机,参数也是用作状态码,非零的状态码表示非正常终止。调用System.exit(n)实际上等效于调用Runtime.getRuntime().exit(n)。这两个类虽然都具有终止当前线程运行的功能,但是引用的方式不同。

星尘linger 2020-04-12 21:04:17 0 浏览量 回答数 0

回答

详细解答可以参考官方帮助文档 重复收信一般是由以下几种情况造成:1. 客户端软件(OE, Foxmail)异常,没有正常发出quit命令,造成服务端认为会话没有结束,邮件没有被正常接收,就会导致邮件重复收取的问题。请关闭后重新运行客户端软件试一试。POP3 收信原理如下:在 POP3 协议中有三种状态,认可状态,处理状态,和更新状态。 当客户机与服务器建立联系时,一旦客户机提供了自己身份并成功确认,即由认可状态转入处理状态,在完成相应的操作后客户机发出 quit 命令,则进入更新状态,更新之后最后重返认可状态。如下图         等待连接       身份确认      quit命令      |认可| —————  |处理| —————— |更新|              |__|                           重返认可状态2. 上网线路质量差或者网络信号突发异常。可通过 tracert 命名进行线路质量,在网络连接正常的时候再收取邮件如何使用 tracert 内容……3. 发信方(或收信方)的客户端软件(OE, Foxmail)重复发送(或接收),尤其是发送方使用了邮件监控软件,某些邮件监控软件,如一些杀毒软件会将客户的账号的 SMTP , POP 服务器自动设为其自己的服务器,尤其带有病毒检测功能的服务器作为SMTP和POP的代理服务器,而且由于病毒服务器故障等原因会导致 POP 收信异常。关闭后重新运行邮件监控软件试一试,或者临时关闭邮件监控软件。4. 还有一种在 Web 界面使用了邮箱代理的情况,不同于上述类型,此类重复收信的现象发生在每次新登陆邮箱web界面以后,上次登陆web时收取过的邮件又被重新收取了。原因是您设置了 POP3 邮箱代理以后,在您每次登陆 Web 系统时,将自动收取您的外部邮件。如果 收取邮件后删除服务器上原件 选项被设置为 是 就会发生上述现象,建议设置为 否 即可解决该问题。

2019-12-01 23:24:28 0 浏览量 回答数 0

回答

详细解答可以参考官方帮助文档 重复收信一般是由以下几种情况造成:1. 客户端软件(OE, Foxmail)异常,没有正常发出quit命令,造成服务端认为会话没有结束,邮件没有被正常接收,就会导致邮件重复收取的问题。请关闭后重新运行客户端软件试一试。POP3 收信原理如下:在 POP3 协议中有三种状态,认可状态,处理状态,和更新状态。 当客户机与服务器建立联系时,一旦客户机提供了自己身份并成功确认,即由认可状态转入处理状态,在完成相应的操作后客户机发出 quit 命令,则进入更新状态,更新之后最后重返认可状态。如下图         等待连接       身份确认      quit命令      |认可| —————  |处理| —————— |更新|              |__|                           重返认可状态2. 上网线路质量差或者网络信号突发异常。可通过 tracert 命名进行线路质量,在网络连接正常的时候再收取邮件如何使用 tracert 内容……3. 发信方(或收信方)的客户端软件(OE, Foxmail)重复发送(或接收),尤其是发送方使用了邮件监控软件,某些邮件监控软件,如一些杀毒软件会将客户的账号的 SMTP , POP 服务器自动设为其自己的服务器,尤其带有病毒检测功能的服务器作为SMTP和POP的代理服务器,而且由于病毒服务器故障等原因会导致 POP 收信异常。关闭后重新运行邮件监控软件试一试,或者临时关闭邮件监控软件。4. 还有一种在 Web 界面使用了邮箱代理的情况,不同于上述类型,此类重复收信的现象发生在每次新登陆邮箱web界面以后,上次登陆web时收取过的邮件又被重新收取了。原因是您设置了 POP3 邮箱代理以后,在您每次登陆 Web 系统时,将自动收取您的外部邮件。如果 收取邮件后删除服务器上原件 选项被设置为 是 就会发生上述现象,建议设置为 否 即可解决该问题。

2019-12-01 23:24:28 0 浏览量 回答数 0

回答

详细解答可以参考官方帮助文档 重复收信一般是由以下几种情况造成:1. 客户端软件(OE, Foxmail)异常,没有正常发出quit命令,造成服务端认为会话没有结束,邮件没有被正常接收,就会导致邮件重复收取的问题。请关闭后重新运行客户端软件试一试。POP3 收信原理如下:在 POP3 协议中有三种状态,认可状态,处理状态,和更新状态。 当客户机与服务器建立联系时,一旦客户机提供了自己身份并成功确认,即由认可状态转入处理状态,在完成相应的操作后客户机发出 quit 命令,则进入更新状态,更新之后最后重返认可状态。如下图         等待连接       身份确认      quit命令      |认可| —————  |处理| —————— |更新|              |__|                           重返认可状态2. 上网线路质量差或者网络信号突发异常。可通过 tracert 命名进行线路质量,在网络连接正常的时候再收取邮件如何使用 tracert 内容……3. 发信方(或收信方)的客户端软件(OE, Foxmail)重复发送(或接收),尤其是发送方使用了邮件监控软件,某些邮件监控软件,如一些杀毒软件会将客户的账号的 SMTP , POP 服务器自动设为其自己的服务器,尤其带有病毒检测功能的服务器作为SMTP和POP的代理服务器,而且由于病毒服务器故障等原因会导致 POP 收信异常。关闭后重新运行邮件监控软件试一试,或者临时关闭邮件监控软件。4. 还有一种在 Web 界面使用了邮箱代理的情况,不同于上述类型,此类重复收信的现象发生在每次新登陆邮箱web界面以后,上次登陆web时收取过的邮件又被重新收取了。原因是您设置了 POP3 邮箱代理以后,在您每次登陆 Web 系统时,将自动收取您的外部邮件。如果 收取邮件后删除服务器上原件 选项被设置为 是 就会发生上述现象,建议设置为 否 即可解决该问题。

2019-12-01 23:24:28 0 浏览量 回答数 0

回答

详细解答可以参考官方帮助文档 重复收信一般是由以下几种情况造成:1. 客户端软件(OE, Foxmail)异常,没有正常发出quit命令,造成服务端认为会话没有结束,邮件没有被正常接收,就会导致邮件重复收取的问题。请关闭后重新运行客户端软件试一试。POP3 收信原理如下:在 POP3 协议中有三种状态,认可状态,处理状态,和更新状态。 当客户机与服务器建立联系时,一旦客户机提供了自己身份并成功确认,即由认可状态转入处理状态,在完成相应的操作后客户机发出 quit 命令,则进入更新状态,更新之后最后重返认可状态。如下图         等待连接       身份确认      quit命令      |认可| —————  |处理| —————— |更新|              |__|                           重返认可状态2. 上网线路质量差或者网络信号突发异常。可通过 tracert 命名进行线路质量,在网络连接正常的时候再收取邮件如何使用 tracert 内容……3. 发信方(或收信方)的客户端软件(OE, Foxmail)重复发送(或接收),尤其是发送方使用了邮件监控软件,某些邮件监控软件,如一些杀毒软件会将客户的账号的 SMTP , POP 服务器自动设为其自己的服务器,尤其带有病毒检测功能的服务器作为SMTP和POP的代理服务器,而且由于病毒服务器故障等原因会导致 POP 收信异常。关闭后重新运行邮件监控软件试一试,或者临时关闭邮件监控软件。4. 还有一种在 Web 界面使用了邮箱代理的情况,不同于上述类型,此类重复收信的现象发生在每次新登陆邮箱web界面以后,上次登陆web时收取过的邮件又被重新收取了。原因是您设置了 POP3 邮箱代理以后,在您每次登陆 Web 系统时,将自动收取您的外部邮件。如果 收取邮件后删除服务器上原件 选项被设置为 是 就会发生上述现象,建议设置为 否 即可解决该问题。

2019-12-01 23:24:29 0 浏览量 回答数 0

回答

详细解答可以参考官方帮助文档 重复收信一般是由以下几种情况造成:1. 客户端软件(OE, Foxmail)异常,没有正常发出quit命令,造成服务端认为会话没有结束,邮件没有被正常接收,就会导致邮件重复收取的问题。请关闭后重新运行客户端软件试一试。POP3 收信原理如下:在 POP3 协议中有三种状态,认可状态,处理状态,和更新状态。 当客户机与服务器建立联系时,一旦客户机提供了自己身份并成功确认,即由认可状态转入处理状态,在完成相应的操作后客户机发出 quit 命令,则进入更新状态,更新之后最后重返认可状态。如下图         等待连接       身份确认      quit命令      |认可| —————  |处理| —————— |更新|              |__|                           重返认可状态2. 上网线路质量差或者网络信号突发异常。可通过 tracert 命名进行线路质量,在网络连接正常的时候再收取邮件如何使用 tracert 内容……3. 发信方(或收信方)的客户端软件(OE, Foxmail)重复发送(或接收),尤其是发送方使用了邮件监控软件,某些邮件监控软件,如一些杀毒软件会将客户的账号的 SMTP , POP 服务器自动设为其自己的服务器,尤其带有病毒检测功能的服务器作为SMTP和POP的代理服务器,而且由于病毒服务器故障等原因会导致 POP 收信异常。关闭后重新运行邮件监控软件试一试,或者临时关闭邮件监控软件。4. 还有一种在 Web 界面使用了邮箱代理的情况,不同于上述类型,此类重复收信的现象发生在每次新登陆邮箱web界面以后,上次登陆web时收取过的邮件又被重新收取了。原因是您设置了 POP3 邮箱代理以后,在您每次登陆 Web 系统时,将自动收取您的外部邮件。如果 收取邮件后删除服务器上原件 选项被设置为 是 就会发生上述现象,建议设置为 否 即可解决该问题。

2019-12-01 23:24:29 0 浏览量 回答数 0

回答

1. 如果想从服务器端推送消息到客户端的话,个人觉得GoEasy推送还不错,它有RestfulAPI支持多语言,而且针对java他们还特别做了SDK,使用很简单方便。同时它也支持客户端推送。由于它支持websocket和polling两种连接方式所以兼顾大多数主流浏览器,低版本的IE浏览器也是支持的,很适合需要快速建立实时web通信的项目。 https://goeasy.io相关博客: http://www.cnblogs.com/jishaochengduo/articles/5552645.html websocket发送消息的时候会通过一个状态机管理状态,状态为OPEN的时候才允许调用发送方法,调用发送方法后状态修改为TEXT_FULL_WRITING,此时其他线程再调用发送方法就会报状态错误,当正在写的线程写完的时候状态会重新改为OPEN,这时候才能再次调用发送方法,解决办法可以给发送方法加锁,防止并发总之这个问题是多个线程并发操作一个session做写操作导致的,可以按这个思路排查一下,有必要可以debugWsRemoteEndpointImplBase对应的写方法,看看实际状态机的变化和stacktrace信息但是每个客户端都是不一样的啊,不是在一个客户端发起多个连接,每个都有唯一的客户端ID

爱吃鱼的程序员 2020-06-08 18:06:11 0 浏览量 回答数 0

问题

状态机,曾经认为没有内涵,最近又思考了思考。。 热:报错

kun坤 2020-06-09 11:50:52 0 浏览量 回答数 1

问题

阿里云移动推送在什么情况下会识别设备为离线状态?

游客qrekp76cz4xp6 2020-06-02 15:03:36 0 浏览量 回答数 0

问题

虑机SQL2008数据库如何恢复到初始状态

xiangyuan 2019-12-01 19:26:50 906 浏览量 回答数 1

问题

Spring cloud网关与Kubernetes传入流量限制

k8s小能手 2019-12-01 19:34:02 462 浏览量 回答数 1

回答

重复收信一般是由以下几种情况造成: 1. 客户端软件(OE, Foxmail)异常,没有正常发出quit命令,造成服务端认为会话没有结束,邮件没有被正常接收,就会导致邮件重复收取的问题。 请关闭后重新运行客户端软件试一试。 POP3 收信原理如下: 在 POP3 协议中有三种状态,认可状态,处理状态,和更新状态。 当客户机与服务器建立联系时,一旦客户机提供了自己身份并成功确认,即由认可状态转入处理状态,在完成相应的操作后客户机发出 quit 命令,则进入更新状态,更新之后最后重返认可状态。如下图          等待连接       身份确认      quit命令       |认可| —————  |处理| —————— |更新|               |__|                            重返认可状态 2. 上网线路质量差或者网络信号突发异常。 可通过 tracert 命名进行线路质量,在网络连接正常的时候再收取邮件 如何使用 tracert 内容…… 3. 发信方(或收信方)的客户端软件(OE, Foxmail)重复发送(或接收),尤其是发送方使用了邮件监控软件,某些邮件监控软件,如一些杀毒软件会将客户的账号的 SMTP , POP 服务器自动设为其自己的服务器,尤其带有病毒检测功能的服务器作为SMTP和POP的代理服务器,而且由于病毒服务器故障等原因会导致 POP 收信异常。关闭后重新运行邮件监控软件试一试,或者临时关闭邮件监控软件。 4. 还有一种在 Web 界面使用了邮箱代理的情况,不同于上述类型,此类重复收信的现象发生在每次新登陆邮箱web界面以后,上次登陆web时收取过的邮件又被重新收取了。原因是您设置了 POP3 邮箱代理以后,在您每次登陆 Web 系统时,将自动收取您的外部邮件。如果 收取邮件后删除服务器上原件 选项被设置为 是 就会发生上述现象,建议设置为 否 即可解决该问题。 望采纳,谢谢

元芳啊 2019-12-02 00:22:55 0 浏览量 回答数 0

回答

两阶段提交协议是一种经典的强一致性中心化副本控制协议。虽然在工程中该协议有较多 的问题,但研究该协议能很好的理解分布式系统的几个典型问题。 流程描述 两阶段提交协议是一种典型的“中心化副本控制”协议。在该协议中,参与的 节点分为两类:一个中心化协调者节点(coordinator)和N 个参与者节点(participant)。每个参与 者节点即上文背景介绍中的管理数据库副本的节点。 两阶段提交的思路比较简单,在第一阶段,协调者询问所有的参与者是否可以提交事务(请参 与者投票),所有参与者向协调者投票。在第二阶段,协调者根据所有参与者的投票结果做出是否事 务可以全局提交的决定,并通知所有的参与者执行该决定。在一个两阶段提交流程中,参与者不能 改变自己的投票结果。两阶段提交协议的可以全局提交的前提是所有的参与者都同意提交事务,只 要有一个参与者投票选择放弃(abort)事务,则事务必须被放弃。 流程:两阶段提交协调者流程 写本地日志“begin_commit”, 并进入WAIT 状态; 向所有参与者发送“prepare 消息”; 等待并接收参与者发送的对“prepare 消息”的响应; 3.1 若收到任何一个参与者发送的“vote-abort 消息”; 3.1.1 写本地“global-abort”日志,进入ABORT; 3.1.2 向所有的参与者发送“global-abort 消息”; 3.1.3 进入ABORT 状态; 3.2 若收到所有参与者发送的“vote-commit”消息; 3.2.1 写本地“global-commit”日志,进入COMMIT 状态; 3.1.2 向所有的参与者发送“global-commit 消息”; 等待并接收参与者发送的对“global-abort 消息”或“global-commit 消息”的确认响应消息, 一旦收到所有参与者的确认消息,写本地“end_transaction” 日志流程结束。 流程:两阶段提交协调者流程 写本地日志“init”记录,进入INIT 状态 等待并接受协调者发送的“prepare 消息”,收到后 2.1 若参与者可以提交本次事务 2.1.1 写本地日志“ready”,进入READY 状态 2.1.2 向协调者发送“vote-commit”消息 2.1.4 等待协调者的消息 2.1.4.1 若收到协调者的“global-abort”消息 2.1.4.1.1 写本地日志“abort”,进入ABORT 状态 2.1.4.1.2 向协调者发送对“global-abort”的确认消息 2.1.4.2 若收到协调者的“global-commit”消息 2.1.4.1.1 写本地日志“commit”,进入COMMIT 状态 2.1.4.1.2 向协调者发送对“global-commit”的确认消息 2.2 若参与者无法提交本次事务 2.2.1 写本地日志“abort”,进入ABORT 状态 2.2.2 向协调者发送“vote-abort”消息 2.2.3 流程对该参与者结束 2.2.4 若后续收到协调者的“global-abort”消息可以响应 即使流程结束,但任何时候收到协调者发送的“global-abort”消息或“global-commit”消息 也都要发送一个对应的确认消息。 异常处理 宕机恢复 协调者宕机恢复 协调者宕机恢复后,首先通过日志查找到宕机前的状态。 如果日志中最后是“begin_commit”记录,说明宕机前协调者处于WAIT 状态,协调者可能已经 发送过“prepare 消息”也可能还没发送,但协调者一定还没有发送过“global-commit 消息”或 “global-abort 消息”,即事务的全局状态还没有确定。此时,协调者可以重新发送“prepare 消息” 继续两阶段提交流程,即使参与者已经发送过对“prepare 消息”的响应,也不过是再次重传之前的 响应而不会影响协议的一致性。 如果日志中最后是“global-commit”或“global-abort”记录,说明宕机前协调者处于COMMIT 或ABORT 状态。此时协调者只需重新向所有的参与者发送“global-commit 消息”或“global-abort 消息”就可以继续两阶段提交流程。 参与者宕机恢复 参与者宕机恢复后,首先通过日志查找宕机前的状态。 如果日志中最后是“init”记录,说明参与者处于INIT 状态,还没有对本次事务做出投票选择, 参与者可以继续流程等待协调者发送的“prepare 消息”。 如果日志中最后是“ready”记录,说明参与者处于REDAY 状态,此时说明参与者已经就本次 事务做出了投票选择,但宕机前参与者是否已经向协调者发送“vote-commit”消息并不可知。所以 此时参与者可以向协调者重发“vote-commit”,并继续协议流程。 如果日志中最后是“commit”或“abort”记录,说明参与者已经收到过协调者的“global-commit 消息”(处于COMMIT 状态)或者“global-abort 消息”(处于ABORT 状态)。至于是否向协调者发 送过对“global-commit”或“global-abort”的确认消息则未知。但即使没有发送过确认消息,由于 协调者会不断重发“global-commit”或“global-abort”,只需在收到这些消息时发送确认消息既可, 不影响协议的全局一致性。 协议分析 两阶段提交协议在工程实践中真正使用的较少,主要原因有以下几点: 两阶段提交协议的容错能力较差。从上文的分析可以看出,两阶段提交协议在某些情况 下存在流程无法执行下去的情况,且也无法判断流程状态。在工程中好的分布式协议往往总是可以 在即使发生异常的情况下也能执行下去。例如,回忆Lease 机制(2.3 ),一旦lease 发出,无论出 现任何异常,Lease 服务器节点总是可以通过时间判定出Lease 是否有效,也可以用等待Lease 超时 的方法收回Lease 权限,整个Lease 协议的流程不存在任何流程被阻塞而无法执行下去的情况。与 Lease 机制的简单有效相比,两阶段提交的协议显得较为复杂且容错能力差。 两阶段提交协议的性能较差。一次成功的两阶段提交协议流程中,协调者与每个参与者 之间至少需要两轮交互4 个消息“prepare”、“vote-commit”、“global-commit”、“确认global-commit”。 过多的交互次数会降低性能。另一方面,协调者需要等待所有的参与者的投票结果,一旦存在较慢 的参与者,会影响全局流程执行速度。 虽然存在一些改进的两阶段提交协议可以提高容错能力和性能,然而这类协议依旧是在工程中 使用较少的一类协议,其理论价值大于实践意义。

kun坤 2020-04-24 15:32:58 0 浏览量 回答数 0

问题

Android 和 iOS 实体机和模拟器的差异

杨冬芳 2019-12-01 20:11:15 1521 浏览量 回答数 2
阿里云大学 云服务器ECS com域名 网站域名whois查询 开发者平台 小程序定制 小程序开发 国内短信套餐包 开发者技术与产品 云数据库 图像识别 开发者问答 阿里云建站 阿里云备案 云市场 万网 阿里云帮助文档 免费套餐 开发者工具 企业信息查询 小程序开发制作 视频内容分析 企业网站制作 视频集锦 代理记账服务 2020阿里巴巴研发效能峰会 企业建站模板 云效成长地图 高端建站