分布式协议的异常构造方法、系统和装置制造方法及图纸

技术编号:22060215 阅读:30 留言:0更新日期:2019-09-07 17:45
本申请涉及一种分布式协议的异常构造方法、系统和装置,所述方法包括:当监测到特征报文时,确定特征报文对应的链路;按照预设的异常触发时机,持续缓存通过链路传输的网络报文;按照预设的演练场景,构造符合异常触发时机的异常;当异常生效后,解除对通过链路传输的网络报文的缓存,并传输缓存的网络报文。本申请提供的方案实现了可靠地对分布式协议构造任一个可能的异常场景,避免了随机构造异常场景重复性很高的问题,大大提高了构造异常的效率。

Anomaly Construction Method, System and Device of Distributed Protocol

【技术实现步骤摘要】
分布式协议的异常构造方法、系统和装置
本申请涉及计算机
,特别是涉及一种分布式协议的异常构造方法、系统、装置、计算机可读存储介质和计算机设备。
技术介绍
分布式集群系统是包括多个分布式节点的系统,分布式集群系统中各分布式节点是相对独立的,各分布式节点之间基于分布式协议并且依赖于网络进行通信。通常网络的连通性和连接质量在某一时刻是无法确定的,导致分布式集群系统中任何一个分布式节点上运行的分布式应用进程可能会在某一时刻出现故障。因此,在设计分布式集群系统时,为避免上述情况,需要充分测试上述情况可能导致的大量异常场景。目前,在构造分布式集群系统可能遇到的异常场景时,通常采用的方法是随机地在分布式集群系统中构造异常,虽然能够模拟任何可能发生的异常场景,但是由于随机性太大,效率极低。
技术实现思路
基于此,有必要针对现有的对分布式协议构造异常的方式效率极低技术问题,提供一种分布式协议的异常构造方法、系统、装置、计算机可读存储介质和计算机设备。一种分布式协议的异常构造方法,包括:当监测到特征报文时,确定所述特征报文对应的链路;按照预设的异常触发时机,持续缓存通过所述链路传输的网络报文;按照预设的演练场景,构造符合所述异常触发时机的异常;当所述异常生效后,解除对通过所述链路传输的网络报文的缓存,并传输缓存的所述网络报文。一种分布式协议的异常构造系统,包括演练终端和分布式节点;所述分布式节点用于当监测到特征报文时,确定所述特征报文对应的链路;按照通过所述演练终端预设的异常触发时机,持续缓存通过所述链路传输的网络报文;按照通过所述演练终端预设的演练场景,构造符合所述异常触发时机的异常;当所述异常生效后,解除对通过所述链路传输的网络报文的缓存,并传输缓存的所述网络报文;所述演练终端用于获取各所述分布式节点针对所述网络报文生成的响应结果;根据所述响应结果判定各所述分布式节点上基于所述分布式协议的分布式应用进程在所述演练场景下能否正常运行。一种分布式协议的异常构造装置,所述装置包括:网络报文监测模块,用于当监测到特征报文时,确定所述特征报文对应的链路;网络报文缓存模块,用于按照预设的异常触发时机,持续缓存通过所述链路传输的网络报文;异常构造模块,用于按照预设的演练场景,构造符合所述异常触发时机的异常;缓存解除模块,用于当所述异常生效后,解除对通过所述链路传输的网络报文的缓存,并传输缓存的所述网络报文。一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行上述分布式协议的异常构造方法的步骤。一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行上述分布式协议的异常构造方法的步骤。上述分布式协议的异常构造方法、系统、装置、计算机可读存储介质和计算机设备中,能够有效地构造任意一个异常场景,实现了在某个异常触发时机下准确、可靠地触发异常。在监测到特征报文时,确定特征报文对应的链路,并按照预设的异常触发时机,持续缓存通过该链路传输的网络报文,然后按照预设的演练场景,立即构造符合该异常触发时机的异常,持续缓存通过该链路传输的网络报文可以保证构造的异常能够准确地在预设的异常触发时机生效。当异常生效后,就可以立即解除对网络报文的缓存并传输缓存的网络报文。由于特征报文可以按需设置为任一个基于该分布式协议的网络报文,因此,可以准确、可靠地对该分布式协议构造任一个可能的异常场景,避免了随机构造异常场景重复性很高的问题,大大提高了构造异常的效率。附图说明图1为一个实施例中分布式协议的异常构造方法的应用环境图;图2为一个实施例中提供的3PC协议的流程示意图;图3为一个实施例中分布式协议的异常构造方法的流程示意图;图4为一个实施例中基于3PC协议的网络报文的示意图;图5为一个实施例中分布式节点的框架示意图;图6为一个实施例中在各个分布式节点上部署本申请所提供的分布式协议的异常构造装置的时序图;图7为一个实施例中基于3PC协议的异常构造方法的流程示意图;图8为另一个实施例中基于3PC协议的异常构造方法的流程示意图;图9为一个实施例中撤销各个分布式节点上部署本申请所提供的分布式协议的异常构造装置的时序图;图10为一个具体的实施例中分布式协议的异常构造方法的流程示意图;图11为一个实施例中分布式协议的异常构造系统的架构示意图;图12为另一个实施例中分布式协议的异常构造系统的架构示意图;图13为一个实施例中分布式协议的异常构造装置的结构框图;图14为另一个实施例中分布式协议的异常构造装置的结构框图;图15为一个实施例中计算机设备的结构框图。具体实施方式为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。图1为一个实施例中分布式协议的异常构造方法的应用环境图。参照图1,该分布式协议的异常构造方法应用于分布式协议的异常构造系统。该分布式协议的异常构造系统包括演练终端110和分布式集群120,分布式集群120包括三个分布式节点,分别为第一分布式节点120a,第二分布式节点120b以及第三分布式节点120c。现实场景中分布式集群120可以包括大量的分布式节点,此处仅以三个来举例说明。演练终端110与分布式集群120中的各分布式节点通过网络连接。各分布式节点均可以按照如下步骤构造异常:当监测到特征报文时,确定特征报文对应的链路;按照预设的异常触发时机,持续缓存通过链路传输的网络报文;按照预设的演练场景,构造符合异常触发时机的异常;当异常生效后,解除对通过链路传输的网络报文的缓存,并传输缓存的网络报文。演练终端是异常演练执行者所使用的设备,演练终端110可以根据各分布式节点对网络报文的响应结果判定各分布式节点上基于分布式协议的分布式应用进程在演练场景下能否正常运行。演练终端110具体可以是台式终端或移动终端,移动终端具体可以手机、平板电脑、笔记本电脑等中的至少一种。分布式集群120中的各个分布式节点可以用独立的服务器或者是多个服务器组成的服务器集群来实现。需要说明的是,本申请所涉及的分布式协议指的是需要多个分布式节点多次网络交互协同完成一项业务所依赖的通信规则,分布式协议可以是开发人员按照业务需求自己实现的原生协议,也可以是开源分布式库、开源分布式组件中实现的分布式协议,比如2PC(TwoPhaseCommitmentProtocol,两阶段提交协议)、3PC(ThreePhaseCommitmentProtocol,三阶段提交协议)、Raft协议(一种分布式一致性协议)、ZAB协议(一种消息广播过程使用的原子广播协议)、Paxos协议(一种基于消息传递的一致性协议)等等。分布式应用进程则是基于分布式协议的分布在不同分布式节点上的应用程序,各分布式节点上运行的分布式应用进程通过网络来共同完成业务。如图2所示,为一个实施例中提供的3PC协议的完整流程示意图。参照图2,3PC协议将事务的提交过程分为CanCommit、PreCommit、DoCommit三个阶段来进行处理。交互的过程中需要作为协调者的分布式节点与作为参与者的分布式节点进行网络交互,本文档来自技高网...

【技术保护点】
1.一种分布式协议的异常构造方法,包括:当监测到特征报文时,确定所述特征报文对应的链路;按照预设的异常触发时机,持续缓存通过所述链路传输的网络报文;按照预设的演练场景,构造符合所述异常触发时机的异常;当所述异常生效后,解除对通过所述链路传输的网络报文的缓存,并传输缓存的所述网络报文。

【技术特征摘要】
1.一种分布式协议的异常构造方法,包括:当监测到特征报文时,确定所述特征报文对应的链路;按照预设的异常触发时机,持续缓存通过所述链路传输的网络报文;按照预设的演练场景,构造符合所述异常触发时机的异常;当所述异常生效后,解除对通过所述链路传输的网络报文的缓存,并传输缓存的所述网络报文。2.根据权利要求1所述的方法,其特征在于,所述当监测到特征报文时,确定所述特征报文对应的链路包括:监测基于所述分布式协议传输的网络报文;从网络报文中确定与预设的网络报文特征匹配的特征报文;根据所述特征报文中的源地址和目的地址确定对应的链路。3.根据权利要求1所述的方法,其特征在于,所述按照预设的异常触发时机,持续缓存通过所述链路传输的网络报文包括:当预设的异常触发时机为传输报文前触发时,则持续缓存包括所述特征报文在内的、通过所述链路传输的网络报文;当预设的异常触发时机为传输报文后触发时,则持续缓存不包括所述特征报文在内的、通过所述链路传输的网络报文。4.根据权利要求1所述的方法,其特征在于,所述按照预设的演练场景,构造符合所述异常触发时机的异常包括:获取预先设置的与所述特征报文对应的演练场景;确定在所述演练场景下所需构造的异常;向需交互的分布式节点发送确定的所述异常对应的构造指令;所述构造指令用于指示所述分布式节点在本地构造确定的且符合所述异常触发时机的所述异常。5.根据权利要求1所述的方法,其特征在于,所述按照预设的演练场景,构造符合所述异常触发时机的异常包括:获取预先设置的与所述特征报文对应的演练场景;确定在所述演练场景下所需构造的异常;在本地构造确定的且符合所述异常触发时机的所述异常。6.根据权利要求1所述的方法,其特征在于,所述当所述异常生效后,解除对通过所述链路传输的网络报文的缓存,并传输缓存的所述网络报文包括:当所述异常生效后,解除对通过所述链路传输的所述网络报文的缓存;获取本地缓存的待接收的所述网络报文;或者,向需交互的分布式节点发送本地缓存的待发送的所述网络报文;所述方法还包括:通过演练终端获取各分布式节点针对所述网络报文生成的响应结果;根据所述响应结果判定各所述分布式节点上基于所述分布式协议的分布式应用进程在所述演练场景下能否正常运行。7.根据权利要求1至6任一项所述的方法,其特征在于,所述方法还包括:获取针对所述异常的撤销指令;根据所述撤销指令撤销构建的所述异常;通过演练终端判定基于所述分布式协议的分布式应用进程在撤销构建的所述异常后能否正常运行。8.一种分布式协议的异常构造系统,包括演练终端和分布式节点;所述分布式节点用于当监测到特征报文时,确定所述特征报文对应的链路;按照通过所述演练终端预...

【专利技术属性】
技术研发人员:钟星汉张鹏飞徐金光吴学武
申请(专利权)人:腾讯科技深圳有限公司
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1