一种测试会话同步速率的方法和装置与流程

文档序号:17627414发布日期:2019-05-10 23:48阅读:160来源:国知局
一种测试会话同步速率的方法和装置与流程

本申请涉及计算机技术领域,特别涉及一种测试会话同步速率的方法和装置。



背景技术:

为保证用户能够正常的执行业务,防止因宕机等故障而给用户业务执行过程中所带来的影响,服务端通过设置主机和备机的方式,来维护用户和服务端建立的会话,主机会将建立的会话同步给备机,以保证在主机出现宕机等故障时,备机能够维持用户与服务端之间所建立的会话,保障用户业务的顺利执行。

在实际应用中,运维人员需要对主机和备机之间的会话同步速率进行测试,以根据测试出的会话同步速率,来决定如何有效的保证主机和备机之间的会话尽可能的同步。

目前,运维人员所采用的测试主机和备机之间的会话同步速率的方式是双向流量经过单台设备,即同步请求和应答的方式,通过观察主机和备机的新建连接数和并发连接数是否一致,来判断主机和备机的同步性能。然而,这种方式并不能有效的测试出主机和备机之间的真实会话同步速率,因为时延性的影响,当主机将需要同步的会话同步给备机时,备机可能只是根据主机同步的会话建立了一个会话列表,而实际上一部分真实的会话内容可能并没有同步到备机上,这样当主机和备机进行切换时,未真正同步到备机上的会话将会失败,从而导致部分用户与服务端之间的业务出现中断。所以,如何能够有效的测试出主机和备机之间的会话同步速率,则是一个亟待解决的问题。



技术实现要素:

有鉴于此,本申请提供一种测试会话同步速率的方法和装置,使运维人员能够有效的测试出主机和备机之间的会话同步速率。

具体地,本申请是通过如下技术方案实现的:

一种测试会话同步速率的方法,包括:

测试机确定测试数量;

向主机发送所述测试数量的会话建立请求,以使所述主机根据所述会话建立请求建立会话,并将建立的会话同步给备机;

在所述主机建立的会话中,若监测存在所述主机向所述备机同步失败的会话,则确定小于所述测试数量的数量,将确定出的数量重新作为测试数量,向所述主机发送重新确定出的测试数量的会话建立请求,并监测是否存在所述主机向所述备机同步失败的会话,直到确定监测到不存在所述主机向所述备机同步失败的会话为止;

根据所述备机未失败同步所述主机建立的会话时向所述主机发送会话建立请求的测试数量,确定所述主机和所述备机的会话同步速率。

一种测试会话同步速率的装置,所述装置包括:

数量确定单元,用于确定测试数量;

发送单元,用于向主机发送所述测试数量的会话建立请求,以使所述主机根据所述会话建立请求建立会话,并将建立的会话同步给备机;

监测单元,用于在所述主机建立的会话中,若监测存在所述主机向所述备机同步失败的会话,则确定小于所述测试数量的数量,将确定出的数量重新作为测试数量,向所述主机发送重新确定出的测试数量的会话建立请求,并监测是否存在所述主机向所述备机同步失败的会话,直到确定监测到不存在所述主机向所述备机同步失败的会话为止;

速率确定单元,用于根据所述备机未失败同步所述主机建立的会话时向所述主机发送会话建立请求的测试数量,确定所述主机和所述备机的会话同步速率。

由以上本申请提供的技术方案可见,测试机向主机发送会话建立请求,主机将建立的会话同步给备机,测试机确定测试数量,并向该主机发送该测试数量的会话建立请求,在该主机建立的会话中,若监测存在该主机向备机同步失败的会话,则确定小于该测试数量的数量,将确定出的数量重新作为测试数量,向主机发送该重新确定出的测试数量的会话建立请求,并监测是否存在主机向备机同步失败的会话,直到确定监测到不存在主机向备机同步失败的会话为止,根据备机未失败同步主机建立的会话时向主机发送会话建立请求的测试数量,确定主机和备机的会话同步速率。通过逐渐降低主机建立会话的数量,来实现主机和备机之间会话同步不会存在失败,从而测试出主机和备机之间的会话同步速率。

附图说明

图1为本申请示出的测试会话同步速率的流程示意图;

图2为本申请示出的一种测试系统的架构示意图;

图3为本申请示出的一种测试会话同步速率的装置的示意图。

具体实施方式

这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。

在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。

应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。

图1为本申请示出的测试会话同步速率的流程示意图,具体包括以下步骤:

s101:测试机确定测试数量。

s102:向主机发送所述测试数量的会话建立请求,以使所述主机根据所述会话建立请求建立会话,并将建立的会话同步给备机。

在本申请实施例中,整个测试系统中包括测试机、主机和备机,其中,测试机主要用于模拟客户端和服务端,即,该测试机可以向主机发送会话建立请求,以使主机根据接收到的会话建立请求进行会话建立,而主机则可以将建立的会话同步给备机。在已经建立会话的基础上,测试机还可以向主机或是备机发送报文,具体过程如图2所示。

图2为本申请示出的一种测试系统的架构示意图。

在图2中,测试机可以通过路由向主机发送会话建立请求,以使主机根据接收到的会话建立请求,进行会话建立,主机可以通过和备机之间的链路,将建立的会话同步给备机。除此之外,测试机还可以向主机或是备机发送报文,具体的,在图2所示的该测试系统中的上下两条链路上设有虚拟路由冗余协议(virtualrouterredundancyprotocol,vrrp),通过该vrrp中设置的访问顺序优先级,可以实现测试机向主机发送会话建立后的报文,还是向备机发送报文,即,当根据上面链路的vrrp中设置的访问顺序优先级,确定主机的访问优先级高于备机时,测试机将向主机发送报文,而当根据下面链路的vrrp中设置的访问顺序优先级,确定备机的访问优先级高于主机时,测试机将向备机发送报文。

测试机测试主机和备机之间的会话同步速率时,可以向主机发送一定数量的会话建立请求。测试机可以确定出测试数量,并向主机发送该测试数量的会话建立请求,后续可以该测试数量为基础,对主机和备机之间的会话同步速率进行测试。

其中,测试机可以通过向主机不断的发送会话建立请求,以确定出该主机所能建立会话的最大数量,并将该最大数量作为起始向主机发送的会话建立请求的数量,即,该最大数量即为测试数量。

具体的,测试机不断的向主机发送会话建立请求,并对主机接收测试机发送数据的接口进行监听,当监听到开始出现数据丢包的情况时,则可以将开始出现数据丢包时测试机已向主机发送的会话建立请求的数量确定为该主机所能建立会话的最大数量。

当然,在实际应用中,主机或是备机中都保存有各自的设备参数,测试机可以通过这些设备参数,以确定出主机所能建立会话的最大数量,进而将确定出的最大数量作为测试数量,向主机发送该测试数量的会话建立请求。

s103:在所述主机建立的会话中,若监测存在所述主机向所述备机同步失败的会话,则确定小于所述测试数量的数量,将确定出的数量重新作为测试数量,向所述主机发送重新确定出的测试数量的会话建立请求,并监测是否存在所述主机向所述备机同步失败的会话,直到确定监测到不存在所述主机向所述备机同步失败的会话为止。

在本申请实施例中,测试机可以逐步向主机发送会话建立请求,相应的,主机将根据测试机发送的会话建立请求进行会话建立,同时将建立的会话同步给备机。测试机可以通过上下两条链路中设置的vrrp,实现向主机发送会话建立请求,和向备机发送报文,以此来测试出主机和备机之间的会话同步速率。

具体的,测试机在确定出需要向主机发送的会话建立请求的数量(即上述测试数量)后,可以将这些数量的会话建立请求按照一定的批次逐步发送给主机。例如,假设测试机确定需要向主机发送的会话建立请求的数量为10万(该10万即为测试数量),则测试机可以按照每秒1万的方式,将这些会话建立请求分批发送给主机。主机也将按批次建立会话,并在此过程中,将建立的会话同步给备机。

与此同时,测试机可以通过另一条链路,向备机发送报文,其中,在主机和备机之间不存在会话同步失败的情况下,备机可以通过主机同步的会话,对从测试机接收到的报文进行解析并响应。但是,若是主机和备机之间存在会话同步失败的情况,主机中建立的会话并没有存在于备机中,致使备机在接收到测试机基于主机已建立的会话所发送的报文时,无法对该报文进行解析,从而将该报文进行丢弃,测试机也将无法接收备机在接收到该报文后所返回的应答。

基于此,测试机可以通过两条链路,分别向主机发送会话建立请求和向备机发送基于主机已建立的会话的报文,其中,这两条链路的数据流向可以通过上述提到的vrrp来进行控制。例如,通过控制上链路的vrrp中的访问顺序优先级,实现测试机向主机发送会话建立请求,而通过控制下链路的vrrp中的访问顺序优先级,实现测试机向备机发送报文。其中,可以向主机发送会话建立请求的同时,针对主机根据接收到的会话建立请求而建立的每个会话,向备机发送基于该会话的报文,当然,考虑到数据传输过程中的时延性,测试机也可以在经过设定时间后,再向备机发送基于主机已经建立的会话的报文。

测试机在向主机发送会话建立请求,以及向备机发送报文的过程中,若是监测存在主机向备机同步失败的会话,则可以确定出小于上述测试数量的数量,并将确定出的数量重新作为测试数量,向主机发送重新确定出的测试数量的会话建立请求。

若是主机和备机之间的会话同步存在失败,则主机中已经建立的会话中势必存在部分会话是备机中没有的,而对于备机中没有的这部分会话来说,若是备机接收到测试机发送的基于这部分会话的报文,则将无法对这些报文进行nat还原,从而导致丢弃这些报文,测试机也将无法接收到备机关于这些报文的应答。

其中,这里提到的无法对这些报文进行nat还原是指,由于备机中缺失了一部分会话,所以,备机接收到报文后,可以对报文进行nat还原,以解析出该报文的源ip或是源端口。但是,若是与该报文所属的会话并没有存在于备机中,则无法查找到与该报文的源ip或是源端口相匹配的会话。对于这种报文来说,备机将会对其进行丢弃。

在监测到存在主机向备机同步失败的会话时,则可以将监测到主机向备机同步主机建立的会话出现失败时测试机已向主机发送的会话建立请求的数量进行确定,并将确定出的数量重新作为测试数量,向主机发送该重新确定出的测试数量的会话建立请求。

例如,假设测试机按照每秒1万的频率向主机发送会话建立请求,当监测到存在主机向备机同步失败的会话时,已向主机发送了5万的会话建立请求,则在下一轮可以向主机逐步发送总数为5万的会话建立请求,以此类推,直到在某一轮中发现不存在主机向备机同步失败的会话,则将会话同步不存在失败的这一轮中,测试机向主机发送的会话建立请求的测试数量进行确定,进而根据该测试数量,确定出主机和备机的会话同步速率。

需要说明的是,在本申请实施例中,对于测试机每轮确定出的测试数量,若是该测试数量越小,则该测试机将该测试数量的会话建立请求逐批发送给主机时,每批向主机发送的会话建立请求的数量也越小。例如,假设测试机第一轮向主机发送总数为10万(即第一轮确定出的测试数量)的会话建立请求,则在第一轮中,测试机可以每批向主机发送1万的会话建立请求,直到将10万的会话建立请求发完为止。其中,若是监测到在发送总计为5万的会话建立请求时,监测到存在主机向备机同步失败的会话,则第二轮可以将5万作为测试数量,向主机发送总数为5万的会话建立请求,相应的,第二轮测试机可以每批向主机发送5000的会话建立请求。即,随着测试数量的不断变小,每一轮向主机单批发送的会话建立请求的数量也将变小。

当然,测试机并不一定要将确定出的测试数量的会话建立请求全部向主机发送,一旦监测到主机向备机同步主机建立的会话出现了失败,则剩余没有发送的会话建立请求可以不再向主机发送,直接根据已经向主机发送的会话建立请求的数量,开启下一轮会话建立请求的发送。

s104:根据所述备机未失败同步所述主机建立的会话时向所述主机发送会话建立请求的测试数量,确定所述主机和所述备机的会话同步速率。

在确定出主机向备机同步主机建立的会话不存在失败时,测试机向主机发送的会话建立请求的测试数量,可以根据该测试数量以及单位时间,确定出主机和备机的会话同步速率。

例如,假设测试机确定第一轮逐步向主机发送总数为10万的会话建立请求,当发送到5万会话建立请求时,监测到主机向备机同步主机建立的会话出现了失败,则可将5万重新作为测试数量,开启第二轮测试。在第二轮测试过程中,测试机向主机发送49000个会话建立请求时,监测到主机向备机同步主机建立的会话出现了失败,则可以将49000重新作为测试数量,发起第三轮测试。在第三轮测试过程中,测试机向主机发送48500个会话建立请求时,监测到主机向备机同步主机建立的会话出现了失败,则可以将48500重新作为测试数量,发起第四轮测试。在第四轮测试过程中,测试机发现将48500个会话建立请求全部发送给主机后,没有监测到主机向备机同步主机建立的会话出现失败的情况发生,则可以根据该数量:48500,以及单位时间,确定出主机和备机之间的会话同步速率。

从上述方法中可以看出,可以通过逐渐降低主机建立会话的数量,来实现主机和备机之间的会话同步不存在失败的情况发生,从而测试出主机和备机之间的会话同步速率。

换句话说,通过不断降低测试机向主机发送的会话建立请求的数量,确定出当测试机向主机发送多少会话建立请求时,主机和备机之间的会话同步不会出现失败,进而根据该会话建立请求的数量以及单位时间,得出主机和备机之间的会话同步速率。

需要说明的是,通过上述方法确定出的主机和备机之间的会话同步速率,并不一定是主机和备机之间的真实会话同步速率,确定出的主机和备机之间的会话同步速率其实是一个接近真实会话同步速率的值。随着测试轮数的增加,得出的会话同步速率将会逐渐逼近,甚至得到主机和备机之间的真实会话同步速率。

在本申请实施例中,测试机可以对主机上设置的会话同步接口进行监听,若通过该会话同步接口监测到主机向备机同步会话时存在丢包,则额外可以启动至少一个链路,以通过增加链路的方式,提高主机向备机进行会话同步时的带宽。

具体的,在上述测试系统中,主机和备机之间设有若干条链路,用于主机和备机进行会话同步,在正常情况时,主机和备机只通过一条链路进行会话同步,而若测试机通过会话同步接口监测到主机向备机同步会话时存在丢包,则可以额外启动其他的至少一条链路,以提高主机和备机之间的数据传输带宽。

此举的目的在于,确定主机和备机之间的会话同步速率主要的作用在于查看时延因素会给主机和备机之间的会话同步造成多大的影响,所以,为了能够准确的测试出在时延因素的影响下,主机和备机之间的会话同步速率,需要尽可能的降低除时延以外其他因素给主机和备机之间会话的不同步所带来的影响。因此,通过上述增加主机和备机之间数据传输带宽的方式,可以有效的降低因硬件带宽的限制而给最终测试出的会话同步速率带来的不利影响。

还需说明的是,除了上述说明的通过对接收到报文进行nat还原的方式,来监测是否存在主机向备机同步失败的会话外,还可以通过其他的方式来进行监测。例如,备机在接收到测试机发送的报文后,可以查询是否存在与该报文相匹配的会话,若是没有,则判断该报文的类型,若是确定该报文属于非syn报文,则直接丢弃报文,这样,测试机也将接收不到备机针对该非syn报文所返回的应答。

再例如,备机在接收到测试机发送的报文后,可以查询是否存在与该报文相匹配的会话,若是没有,则可以查询访问控制列表(accesscontrollist,acl),确定该报文是否具备预设的安全访问条件,若确定不具备该安全访问条件,则丢弃该报文,相应的,测试机也将接收不到备机针对该报文所返回的应答。

图3为本申请示出的一种测试会话同步速率的装置的示意图,该装置包括:数量确定单元310,发送单元320,监测单元330,速率确定单元340。

其中,数量确定单元310,用于确定测试数量;发送单元320,用于向主机发送所述测试数量的会话建立请求,以使所述主机根据所述会话建立请求建立会话,并将建立的会话同步给备机;监测单元330,用于在所述主机建立的会话中,若监测存在所述主机向所述备机同步失败的会话,则确定小于所述测试数量的数量,将确定出的数量重新作为测试数量,向所述主机发送重新确定出的测试数量的会话建立请求,并监测是否存在所述主机向所述备机同步失败的会话,直到确定监测到不存在所述主机向所述备机同步失败的会话为止;速率确定单元340,用于根据所述备机未失败同步所述主机建立的会话时向所述主机发送会话建立请求的测试数量,确定所述主机和所述备机的会话同步速率。

在本实施例中,所述数量确定单元310,具体用于确定所述主机所能建立会话的最大数量;将所述最大数量作为测试数量。

在本实施例中,所述监测单元330,具体用于针对所述主机根据所述会话建立请求建立的每个会话,基于该会话向所述备机发送报文;若监测到所述备机无法对所述测试机发送的报文进行网络地址转换nat还原,则确定存在所述主机向所述备机同步失败的会话。

在本实施例中,所述发送单元320,具体用于向所述主机逐批发送会话建立请求,直到将总数为所述测试数量的会话建立请求发送给所述主机;

所述监测单元330,具体用于针对每次确定的测试数量,在所述主机将该测试数量的会话同步给所述备机的过程中,将初次监测到存在所述主机向所述备机同步失败的会话时所述测试机已向所述主机发送会话建立请求的数量,确定为小于该测试数量的数量。

本实施例中,针对确定出的每个测试数量,若该测试数量越小,则所述装置将该测试数量的会话建立请求逐批发送给所述主机时,每批向所述主机发送的会话建立请求的数量也越小。

在本实施例中,主机和备机之间存在若干链路,所述链路用于主机向备机同步会话;

所述发送单元320,具体用于若通过所述主机的会话同步接口监测到所述主机向所述备机同步会话时存在丢包,则在所述主机和所述备机之间额外启动至少一个链路。

上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。

对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本申请方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。

以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1