一种虚拟化设备性能优化的方法与装置与流程

文档序号:16309854发布日期:2018-12-19 05:14阅读:150来源:国知局
一种虚拟化设备性能优化的方法与装置与流程
本申请涉及通信
技术领域
,尤其涉及一种虚拟化设备性能优化方法与装置。
背景技术
随着it(informationtechnology,信息技术)行业的不断发展,对网络设备需求越来越多。客户对网络设备的性能、虚拟化管理提出了越来越高的要求,在这种时代背景下,虚拟交换矩阵vsm(virtualswitchmatrix)技术应运而生,该技术将多台成员网络设备通过一个或一组物理端口连接起来形成了一台虚拟的逻辑设备,成员网络设备之间互联的物理端口也称为级联口。一台成员设备可能需要将用户数据报文从另一台成员设备的出口转发出去,这样用户的数据报文就需要经过级联端口。除此之外,成员设备又分为主成员设备与备成员设备,主成员设备需要按照严格的同步机制,将最新的软硬件配置、用户业务状态等多种状态消息发送给备成员设备,以便备成员设备在软硬件配置及状态上与主成员设备保持一致,从而实现随时接管的目的。另外,在日常的网络运行中,会有大量的业务信息通过级联口进行交互,当用户数据与状态信息较多时,就可能造成级联口拥堵。技术实现要素:有鉴于此,本申请提供一种虚拟化设备性能优化的方法和成员设备,用以解决虚拟交换矩阵vsm下,在日常的网络运行中,有大量的业务信息通过级联口进行交互,当业务信息较多时,就可能造成级联口拥堵的问题。具体地,本申请是通过如下技术方案实现的:本公开第一方面,一种虚拟化设备性能优化方法,所述方法应用于虚拟交换矩阵vsm系统中的成员设备,所述vsm系统运行时,成员设备可被配置为主成员设备以及或者备成员设备,当所述成员设备为备成员设备时,包括:所述备成员设备,从备份通道接收到主成员设备的状态消息,按照预设的消息分类规则确定该状态消息的类型;其中状态消息类型至少包括时序类以及同步类;针对时序类状态消息,按照预设的位置排序规则将该状态消息保存到第一消息队列中,并向主成员设备回应确认消息;针对保存在第一消息队列中的状态消息,在回应确认消息后,对所述状态消息进行处理;针对同步类状态消息,保存在第二消息队列,对该状态消息进行处理后向主成员设备回应确认消息。结合第一方面,在第一种可能的实现方式中,所述状态消息类型还包括第一耗时类,包括:所述备成员设备针对第一耗时类状态消息,将该状态信息保存到第一消息队列中。结合第一方面或第一方面的第一种可能的实现方式,所述状态类型还包括第二耗时类,在第二种可能的实现方式中,包括:所述备成员设备针对第二耗时类状态消息,将该状态消息保存到第三消息队列中;针对保存第三消息队列中的状态消息,在向主成员设备回应确认消息后,对所述状态消息进行处理。结合第一方面的第二种可能的实现方式,在第三种可能的实现方式中,包括:所述成员设备包括至少第一处理器以及第二处理器,其中第一消息队列由第一处理器上对应的第一内核线程处理,第三消息队列由第二处理器上对应的第二内核线程处理。结合第一方面的第三种可能的实现方式,在第四种可能的实现方式中,包括:所述第一耗时类状态消息的平均处理时长大于同步类状态消息,所述第二耗时类状态消息的平均处理时长大于同步类状态消息。本公开第二方面,提供一种虚拟化设备性能优化装置,所述装置应用于虚拟交换矩阵vsm系统中的成员设备,所述vsm系统运行时,成员设备可被配置为主成员设备以及或者备成员设备,当所述成员设备为备成员设备时,所述装置包括:收发模块,用于从备份通道接收到主成员设备的状态消息以及回应确认消息;处理模块,用于按照预设的消息分类规则确定该状态消息的类型;其中状态消息类型至少包括时序类以及同步类;针对时序类状态消息,按照预设的位置排序规则将该状态消息保存到第一消息队列中,通过所述收发模块向主成员设备回应确认消息;针对保存在第一消息队列中的状态消息,通过所述收发模块在向主成员设备回应确认消息后,对所述状态消息进行处理;针对同步类状态消息,保存在第二消息队列,对该状态消息进行处理后,通过所述收发模块向主成员设备回应确认消息。结合第二方面,在第一种可能的实现方式中,其中所述状态消息类型还包括第一耗时类,所述装置还包括:所述处理模块,针对第一耗时类状态消息,将该状态信息保存到第一消息队列中。结合第二方面或第二方面的第一种可能的实现方式,在第二种可能的实现方式中,所述状态类型还包括第二耗时类,所述装置还包括:所述处理模块,针对第二耗时类状态消息,将该状态消息保存到第三消息队列中;所述处理模块,针对保存第三消息队列中的状态消息,通过所述收发模块向主成员设备回应确认消息后,对所述状态消息进行处理。结合第二方面的第二种可能的实现方式,在第三种可能的实现方式中,所述装置包括:其中所述成员设备包括至少第一处理器以及第二处理器,其中第一消息队列由第一处理器上对应的第一内核线程处理,第三消息队列由第二处理器上对应的第二内核线程处理。结合第二方面的第三种可能的实现方式,在第四种可能的实现方式中,所述装置包括:所述第一耗时类状态消息的平均处理时长大于同步类状态消息,所述第二耗时类状态消息的平均处理时长大于同步类状态消息。本公开第三方面,提供一种数据处理装置,包括通信接口、至少两个处理器、存储器和总线,所述通信接口、所述处理器和所述存储器之间通过总线相互连接。所述存储器中存储机器可读指令,所述处理器通过调用所述机器可读指令,执行前述的方法。本公开第四方面,提供了一种机器可读存储介质,所述机器可读存储介质存储有机器可执行指令,所述机器可执行指令在被处理器调用和执行时,所述机器可执行指令促使所述处理器实现本公开第一方面所述的方法。本公开中,虚拟交换矩阵vsm系统包括主成员设备和备成员设备,备成员设备从备份通道接收主成员设备的消息类型至少包括时序类以及同步类的状态消息,按照预设的消息分类规则确定该状态消息的类型;针对时序类状态消息,按照预设的位置排序规则将该状态消息保存到第一消息队列中,并向主成员设备回应确认消息;在回应确认消息后,对所述状态消息进行处理;针对同步类状态消息,保存在第二消息队列,对该状态消息进行处理后向主成员设备回应确认消息。应用本公开实施例可以实现在vsm系统中主成员设备与备成员设备在存在大量状态消息需要备份场景下,可以降低通信拥堵,提高通信效率。附图说明图1是本公开实施例提供的系统架构示意图;图2是本公开实施例提供的方法流程图;图3是本公开实施例提供的状态消息分类及处理过程示意图;图4是本公开提供的装置功能模块框图;图5是本公开提供的图4所示装置的硬件结构图。具体实施方式这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。为了使本
技术领域
的人员更好地理解本公开实施例中的技术方案,下面先对本公开实施例适用的系统架构进行简单说明。请参考图1所示例的vsm系统,该系统包括主成员设备以及备成员设备,图1中仅仅示例了两台成员设备,但事实上可以存在更多成员设备的vsm系统。换一个角度来说,在vsm系统中,每个成员设备都可能成为主成员设备或者备成员设备,这依赖于各个成员设备上运行的选举机制或者管理员的手动设定。一般来说,如果主成员设备发生故障,根据自动化选举机制,某一个事先约定好的备成员设备会立刻成为主成员设备,或者通过重新选举的方式选举出新的主成员设备。理想状态下,此时新的主成员设备需要能够无缝地接管业务和整个系统的管理。无缝接管是一个极为严苛的要求,其需要新的主成员设备在很多方面需要保持与旧的主成员设备保持一致,比如说软硬件的配置信息,管理员针对主成员设备下发的配置信息,需要及时在备成员设备上实现相同的配置信息写入。再比如说,主成员设备需要与外部的网络设备进行各种包括路由协议在内的各种协议交互,这些协议运行的状态需要完美地复制到备成员设备上,否则也难以完成接管。再比如说,主成员设备可能还有面向用户的安全认证等关键业务的状态信息,这些信息同样需要及时复制到备成员设备,这样的状态信息相当繁多,不再一一枚举。为了及时保持备成员设备的状态能够与主成员设备一致以方便未来的无缝接管。主成员设备通常需要发送大量的状态消息给到备成员设备。简单来说,双方之间的交互可以大致简化为以下模型:主成员设备,及时发送状态消息、接收备成员设备对状态消息的回应;备成员设备,接收来自主成员设备的状态消息,及时处理并回应所述状态消息。主成员设备要发送大量的状态消息给备成员设备,在目前的设计中,备用成员设备为了上述完美的无缝接管机制,通常是处理状态消息再回应,而主成员设备通常是收到回应之后再发下一条状态消息,如前所述,主成员设备可能会发送大量的状态消息给备成员设备,如果备成员设备状态消息处理不及时,进而导致主用成员设备大量状态消息无法及时发送,拥塞在级联端口的缓存队列中,情况严重可能会发生缓存溢出,状态信息丢失。本公开提供的一种虚拟化设备性能优化方法,应用于虚拟交换矩阵vsm系统上的备成员设备,其通过消息分类处理的方式大幅度降低发生拥塞的可能,为实现本公开提供的方法,下面结合附图对本公开实施例中技术方案作进一步详细的说明。请参见图2,为本公开提供的状态消息分类及处理过程的方法流程图,可包括以下步骤:步骤201、备成员设备从备份通道接收到主成员设备发送的状态消息,按照预设的消息分类规则确定该状态消息的类型;其中状态消息类型至少包括时序类以及同步类。针对时序类状态消息和同步类状态消息的解释如下:a)所述时序类状态消息:即某些状态消息之间必须有先后执行顺序,符合这样条件的状态消息可以被归类为时序类消息。比如一条状态消息a对应的执行动作是将某接口设置为阻塞,不允许转发任何数据流量,而另一条状态消息b对应的执行动作是清除此接口下的所有转发表项,那么将此接口设置为阻塞的状态消息必须要在清除表项状态消息之前执行。如果先处理状态消息b后处理状态消息a,则清除了此接口的所有转发表项后,在状态消息a还未成功处理前,此时接口还是转发状态,则该接口还是很有可能会重新学习到一部分转发表项,等到状态消息a成功处理后,此时该接口才被设置为阻塞状态。这意味着该接口状态变为阻塞,但有少量的对应的转发表项,因此用户数据报文(也称为用户流量)过来后通过查询转发表项,依然有可能命中某一条转发表项需要从这个接口出去,但接口已经阻塞,会导致流量不通。事实上管理员希望把转发表项清空,引导用户流量从其他接口转发,因此状态消息b与状态消息a需要按照合理的顺序执行才能反应出管理员真实的意图。b)所述同步类状态消息的解释如下:主成员设备向备成员设备发送状态消息c,对应状态消息c包含需要备成员设备执行动作action,当备成员设备执行完动作action后,向主成员设备发送回应消息ack,对于这样处理后回应的消息,在这个例子中被归类称为同步类状态消息。步骤202、备成员设备针对时序类状态消息,按照预设的位置排序规则将该状态消息保存到第一消息队列中,并向主成员设备回应确认消息;针对保存在第一消息队列中的状态消息,在回应确认消息后,对所述状态消息进行处理。在vsm系统初始化上线运行一段时间之后,备成员设备通常已经接收到m(m>=1)个历史状态消息,接下来将会接收到第m+1个消息,备成员设备分析所述第m+1状态消息的消息类型,如果属于时序类,则需要与所述第一消息队列中已存在的m个历史状态消息的消息类型做比对,按照预设位置排序规则来确定该消息的在队列中的位置。假设当前状态消息即第m+1个消息,和第m个历史状态消息存在时序性关系,与其它历史状态消息不存在时序性关系,即第m+1个消息需要在第m个历史状态消息之前先执行,备成员设备则将所述m+1状态消息和所述第m个历史状态消息进行排序,让第m+1状态消息插入到第m个历史状态消息之前;假设第一消息队列是顺序执行的,那么第m+1个状态消息将先于第m个状态消息被备成员设备处理。在上一段描述的状态消息的排序过程,针对保存在第一消息队列中的状态消息处理上,在这个例子中,备成员设备在回应确认消息后,再对所述状态消息进行处理。由此可见,所述第一消息队列中的状态消息一般是异步处理的,举例来说,主成员设备向备成员设备发送状态消息m,对应状态消息m包含需要备成员设备执行动作action,当备成员设备,先向主成员设备发送回应消息ack,后执行动作action,这样的处理顺序在本申请中也称为异步处理,而前述例子中,先处理后回应确认消息的顺序则称为同步处理。步骤203、针对同步类状态消息,保存在第二消息队列,对该状态消息进行处理后向主成员设备回应确认消息,所述第二消息队列中的状态消息都是同步类状态消息。至此,完成图2所示的流程。通过图2所示的流程可以看出,备成员设备从备份通道接收主成员设备的消息类型至少包括时序类以及同步类的状态消息,按照预设的消息分类规则确定该状态消息的类型;针对时序类状态消息,按照预设的位置排序规则将该状态消息保存到第一消息队列中,并向主成员设备回应确认消息;在回应确认消息后,对所述状态消息进行处理;针对同步类状态消息,保存在第二消息队列,对该状态消息进行处理后向主成员设备回应确认消息。应用本公开实施例,通过消息分类及对应多个分类消息队列并行进行异步或同步处理,可以实现在vsm系统中主成员设备与备成员设备在存在大量状态消息需要备份场景下,可以降低通信拥堵,提高通信效率。更具体来说,对于时序类消息先回应确认消息,可以避免上述例子第m个消息先处理导致的问题,因为第m个状态消息应该在第m+1个状态消息后处理;这种机制可以有效规避主成员设备发送乱序导致的问题。为了使本领域技术人员更好地理解本公开实施例提供的技术方案,下面结合具体应用场景对本公开实施例提供的技术方案进行说明。请参见图3,为本公开实施例提供的一种状态消息分类及处理过程示意图。备成员设备,假设其进行以下配置以及具备以下初始条件:1)备成员设备创建一个备份通道,用于和主成员设备进行状态消息通信,接收主成员设备发送的状态消息;2)t表示获取状态消息的时间段,备成员设备在t时间段内,依次获取4条状态消息cm1、cm2、cm3、cm4;3)预先创建三个先入先出的消息队列,包括:第一消息队列,命名为异步消息队列,即为amq;第二消息队列,命名为同步消息队列,即为smq;第三消息队列,命名为高耗异步消息队列,即为hamq;4)在第一消息队列amq中,已存在三条历史状态消息,例如为hm1、hm2、hm3,队列中的次序关系,请参考表1示例:队首队中队尾hm1hm2hm3表15)备成员设备存在至少两个cpu,例如cpu1和cpu2,其中cpu1上对应的第一内核线程管理维护异步消息队列amq;cpu2上对应的第二内核线程处管理维护高耗异步消息队列hamq;而smq则可以由第一内核线程或者第二内核线程管理维护,当然也可以由单独的内核线程管理维护。6)配置预设的消息分类规则表,包括时序类、第一耗时类、第二耗时类以及同步类,请参考表2示例:表2所述第一耗时类与第二耗时类消息在本申请中亦可称为高耗时类消息,这两类消息的共同特点是状态消息对应备成员设备执行动作耗费的时间,需要大于一定时间阈值,相对于其他消息而言这个时间阈值是比较高的。但是在第一耗时类和第二耗时类之间做比较的话,第二耗时类的时间阈值t2要显著大于第一耗时类的时间阈值t1,例如:t2至少是t1的2倍以上,t2=12秒>t1=5秒。除了这两个耗时类状态消息,其他类状态消息对于备成员设备的执行动作来说,所耗费的时间通常比较小,在本申请中亦可称为同步类消息。值得注意的是,上述t2和t1这些处理时间是平均处理时间,比如说在相同软硬件环境下,通过测试可以发现,各种第二耗时类状态消息的平均处理时间长度是t2,而此环境下各种第一耗时类状态消息的平均处理时间长度是t1。7)配置针对时序类状态消息的位置排序规则,请参考表3示例:表3基于上述配置,备成员设备在时刻t1、t2、t3、t4,其中tn<t,n=1、2、3、4,t1<t2<t3<t4,每次获取对应时刻的当前状态消息分别为cm1,cm2、cm3、cm4,可以执行如图3所示的处理流程:步骤a、备成员设备分析时刻t1获取状态消息cm1的消息特征,按照预设的消息分类规则表-表2中规则检查,确定cm1属于时序类,此时其需要根据时序类状态消息的位置排序规则-表3中规则,并与缓存队列中已存在的三条历史状态消息hm1、hm2、hm3,按规则检查是否存在先后执行的时序性关系。步骤b、假设cm1和hm1、hm2不存在时序关系,cm1和hm3存在时序关系,并且cm1包含操作类型需要先执行,hm3包含操作类型需要后执行。备成员设备按照针对时序类状态消息的位置排序规则-表3中规则检查后,将当前状态消息cm1和历史状态消息hm1、hm2、hm3进行排序,并将排序结果放在异步消息队列amq中,其中cm1在amq队列中的位置将在hm3之前,请参考表4示例:队首队中队中队尾hm1hm2cm1hm3表4步骤c、作为步骤b的另外一种可能情况,备成员设备继续获取当前时刻t2状态消息cm2,按照预设的消息分类规则表-表2中规则检查,备成员设备获取状态消息cm2的消息类型,根据表2规则分析,若状态消息cm2的消息类型为第一耗时类,但是cm2和hm1、hm2、hm3以及cm1这些历史消息都不存在时序上的关联,因此根据位置排序规则暂不需要做任何与其他消息之间的排序,直接插入到队尾即可,即将状态消息cm2加入到异步消息队列amq中。请参考表5示例:队首队中队中队中队尾hm1hm2cm1hm3cm2表5步骤d、作为步骤b的另外一种可能情况,备成员设备继续获取当前时刻t3状态消息cm3,按照预设的消息分类规则表-表2中规则检查,状态消息cm3的消息类型,根据表2规则分析,若状态消息cm3的消息类型为同步类,则将状态消息cm3加入到同步消息队列smq中,请参考表6示例:队首队中队尾cm3null(空)null(空)表6步骤e、作为步骤b的另外一种可能情况,备成员设备继续获取当前时刻t4状态消息cm4,按照预设的消息分类规则表-表2中规则检查,cm4的消息类型,根据表2规则分析,若状态消息cm4的消息类型为第二耗时类,则将状态消息cm4加入到高耗异步消息队列hamq中,请参考表7示例:队首队中队尾cm4null(空)null(空)表7步骤f、备成员设备基于异步消息队列amq、同步消息队列smq、高耗异步消息队列hamq,按照从队首、队中、队尾次序的规则,分别依次获取每条状态消息,并向主成员设备发送。备成员设备存在至少两个cpu,例如cpu1和cpu2,其中cpu1上对应的第一内核线程管理维护异步消息队列amq;cpu2上对应的第二内核线程处管理维护高耗异步消息队列hamq;针对异步消息队列amq、高耗异步消息队列hamq,向所述主成员设备发送小于一定时间阈值的回应消息,,例如时间阈值为1秒。针对同步消息队列smq,所述备成员设备执行回应状态消息的执行,向所述主成员设备发送大于一定时间阈值的回应消息,例如时间阈值为5秒。以上对本公开提供的方法进行了描述。下面对本公开提供的装置进行描述。参见图4,为本公开提供的一种基于虚拟交换矩阵vsm系统中的成员设备,所述vsm系统运行时,成员设备可被配置为主成员设备以及或者备成员设备,当所述成员设备为备成员设备时。如图4所示,该备成员设备可以包括以下模块:收发模块401,用于从备份通道接收到主成员设备的状态消息以及回应确认消息;分类模块402,用于按照预设的消息分类规则确定该状态消息的类型;其中状态消息类型至少包括时序类以及同步类;处理模块403,用于针对时序类状态消息,按照预设的位置排序规则将该状态消息保存到第一消息队列中,通过所述收发模块向主成员设备回应确认消息;针对保存在第一消息队列中的状态消息,通过所述收发模块在向主成员设备回应确认消息后,对所述状态消息进行处理;针对同步类状态消息,保存在第二消息队列,对该状态消息进行处理后,通过所述收发模块向主成员设备回应确认消息。在其中一种实施方式中,其中所述状态消息类型还包括第一耗时类,所述处理模块403,针对第一耗时类状态消息,将该状态信息保存到第一消息队列中。在其中一种实施方式中,所述状态类型还包括第二耗时类,所述处理模块403,针对第二耗时类状态消息,将该状态消息保存到第三消息队列中;所述处理模块403,针对保存第三消息队列中的状态消息,通过所述收发模块向主成员设备回应确认消息后,对所述状态消息进行处理。在其中一种实施方式中,所述收发模块401、所述处理模块403所在的成员设备包括至少第一处理器以及第二处理器,其中第一消息队列由第一处理器上对应的第一内核线程处理,第三消息队列由第二处理器上对应的第二内核线程处理。在其中一种实施方式中,所述处理模块403处理所述第一耗时类状态消息的平均处理时长大于同步类状态消息,所述第二耗时类状态消息的平均处理时长大于同步类状态消息。至此,完成图4所示装置的描述。对应地,本公开还提供了图4所示装置的一种备成员设备的硬件结构,参见图5,图5为本公开提供的一种备成员设备的硬件结构示意图。该接入设备包含:通信接口501、处理器502及处理器503、内存504、非易失性存储器505和总线506;其中,通信接口501、处理器502及处理器503、内存504、非易失性存储器505通过总线506完成相互间的通信。其中,通信接口501,用于发送和接收报文。处理器502及处理器503可以是一个中央处理器(cpu),内存504可以从非易失性存储器505中读取存储有机器可读指令,处理器502及处理器503可以执行内存504中存储的机器可读指令,以实现上述图2所示的方法。本文中提到的内存504可以是任何电子、磁性、光学或其它物理存储装置,可以包含或存储信息,如可执行指令、数据,等等。例如,机器可读存储介质可以是:ram(radomaccessmemory,随机存取存储器)、易失存储器,或者类似的存储介质,或者它们的组合。本文中提到的非易失性存储器505可以是任何非易失性存储器、闪存、存储驱动器(如硬盘驱动器)、固态硬盘、任何类型的存储盘(如光盘、dvd等),或者类似的存储介质,或者它们的组合。至此,完成图5所示的硬件结构描述。此外,本申请实施例还提供了一种包括机器可执行指令的机器可读存储介质,例如图5中的机器可读内存504及非易失性存储器505,所述机器可执行指令可由数据处理装置中的处理器501及处理器502执行以实现以上描述的数据处理方法。上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1