会话日志的发送方法及装置与流程

文档序号:12067884阅读:271来源:国知局
会话日志的发送方法及装置与流程
本申请涉及通讯
技术领域
,尤其涉及一种会话日志的发送方法及装置。
背景技术
:会话日志中记录了网络中实时用户地址与端口的映射关系,通过会话日志可以有效可靠地记录网络设备的溯源信息。会话日志包括新建会话日志和老化会话日志。发送会话日志的方式包括复制发送和负载分担发送。然而,在相关技术中,当网络设备处于负载分担的发送模式时,不能保证发送的会话日志同源同出,即将同一会话的新建会话日志和老化会话日志发送给同一日志服务器,导致同一服务器所收到的会话溯源信息不完整,不便于后续溯源分析处理。技术实现要素:有鉴于此,本申请提供一种会话日志的发送方法及装置,可以在网络设备以负载分担的方式向日志服务器发送日志时,保证会话日志的同源同出。为实现上述目的,本申请提供技术方案如下:根据本申请的第一方面,提出了一种会话日志的发送方法,应用于网络设备;所述方法包括:提取待发送会话日志的源IP地址;当所述网络设备处于负载分担的发送模式时,按照固定的预设算法对所述源IP地址进行计算,并根据计算结果从用于实现负载分担的多个预定义日志服务器中确定出对应于所述待发送会话日志的目的日志服务器;向所述目的日志服务器发送所述待发送会话日志。根据本申请的第二方面,提出了一种会话日志的发送装置,应用于网络设备;所述装置包括:提取单元,提取待发送会话日志的源IP地址;第一确定单元,当所述网络设备处于负载分担的发送模式时,按照固定的预设算法对所述源IP地址进行计算,并根据计算结果从用于实现负载分担的多个预定义日志服务器中确定出对应于所述待发送会话日志的目的日志服务器;发送单元,向所述目的日志服务器发送所述待发送会话日志。由以上技术方案可见,在本申请的技术方案中,通过固定的算法对待发送会话日志的源IP地址进行计算以确定目的日志服务器,从而使得具有相同源IP地址的会话日志可以被发送至同一日志服务器,即保证了会话日志的同源同出,有利于后续溯源分析处理。附图说明图1是本申请一示例性实施例示出的一种会话日志的发送方法的流程图。图2是本申请一示例性实施例示出的网络设备发送会话日志的流程图。图3是本申请一示例性实施例示出的一种电子设备的结构示意图。图4本申请一示例性实施例示出的一种会话日志的发送装置的框图。具体实施方式这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。在相关技术中,采用日志聚合的方式,将多条会话日志写入同一聚合日志报文中,以提高发送会话日志的效率。网络设备中的日志缓存空间以多个日志缓存队列的形式存在,且日志缓存队列的ID与网络设备中虚拟CPU的ID一一对应。在将会话日志写入日志缓存队列时,选取对应于网络设备当前使用的虚拟CPU的ID的日志缓存队列作为会话日志需要写入的日志缓存队列。其中,会话日志以“日志格式+日志长度”的方式保存于对应的日志缓存队列中。当网络设备处于负载分担的发送模式时,根据日志缓存队列中记录的长度信息判断聚合日志报文的长度是否超限,以实现日志聚合发送的过滤处理。同时,通过聚合日志报文的序号对应用于所有日志服务器的标识的数量之和取余的控制算法,实现负载分担处理。举例而言,假定网络设备支持的日志服务器为8台,应用于各台日志服务器的标识依次为0-7,而网络设备启动时仅配置了servera、serverb、serverc三台日志服务器,其各自对应的权重分别为1、3、4。那么配置的日志服务器分配的标识的情况如表1所示:日志服务器权重标识servera10serverb31、2、3serverc44、5、6、7表1比如,网络设备当前发送的聚合日志报文的序号为18,对标识的数量之和8取余得到2,即对应于标识2,从而确定对应于该聚合日志报文的目的日志服务器为serverb。可见,在相关技术中,一方面,在将会话日志写入日志缓存队列时,由于会话日志的形式为“日志格式+日志长度”,每次写入会话日志时都需要计算写入的会话日志的长度,导致降低了将会话日志写入日志缓存队列的效率;另一方面,当网络设备处于负载分担的发送模式时,根据聚合日志报文的序号对应用于所有日志服务器的标识的数量之和取余的控制算法,不能保证发送的会话日志同源同出,即将同一会话的新建会话日志和老化会话日志发送给同一日志服务器,导致同一服务器所收到的会话溯源信息不完整,不便于后续溯源分析处理,同时,不支持用户指定源网段的会话日志发送至指定日志服务器的功能。因此,本申请通过改进网络设备将会话日志写入日志缓存队列,以及选取目的日志服务器的方式,以解决相关技术中存在的上述技术问题。为对本申请进行进一步说明,提供下列实施例:图1是本申请一示例性实施例示出的一种会话日志的发送方法的流程图,该方法应用于网络设备。如图1所示,该方法可以包括以下步骤:步骤101,提取待发送会话日志的源IP地址。步骤102,当所述网络设备处于负载分担的发送模式时,按照固定的预设算法对所述源IP地址进行计算,并根据计算结果从用于实现负载分担的多个预定义日志服务器中确定出对应于所述待发送会话日志的目的日志服务器。在本实施例中,可以按照下述算法确定目的日志服务器:将所述源IP地址对应用于所有日志服务器的标识的数量之和取余,各个标识的数值为从0开始依次正向排列的整数;将数值与余数相等的标识对应的日志服务器作为所述目的日志服务器。通过固定的算法对待发送会话日志的源IP地址进行计算以确定目的日志服务器,从而使得具有相同源IP地址的会话日志可以被发送至同一日志服务器,即保证了会话日志的同源同出,有利于后续溯源分析处理。步骤103,向所述目的日志服务器发送所述待发送会话日志。在本实施例中,可以将对应于同一目的日志服务器的多个待发送会话日志聚合于一条聚合日志报文中,并将所述聚合日志报文发送至所述目的日志服务器,从而可以在保证同源同出的情况下,提高对会话日志的发送效率。在本实施例中,在写日志缓存队列时,可以按照统一会话日志格式,将所述待发送会话日志写入日志缓存队列以供所述网络设备向所述目的日志服务器发送所述待发送会话日志;其中,所述统一会话日志格式中包含所述网络设备支持的所有会话日志格式包含的所有信息项。通过设置统一会话日志格式,可以省略计算写入的会话日志的长度的流程,从而提高了将会话日志写入日志缓存队列的效率。在本实施例中,当所述网络设备处于指定源网段的发送模式时,可以通过以下方式来选取目的日志服务器:确定所述源IP地址所属的指定源网段;其中,每一日志服务器分别存在对应的指定源网段;将确定的指定源网段对应的日志服务器作为所述目的日志服务器。通过上述方式,可以实现用户指定源网段的会话日志发送至指定日志服务器的功能。为了便于理解,下面结合举例,对本申请的技术方案中网络设备将会话日志写入日志缓存队列的过程进行详细说明。当网络设备支持多种会话日志格式时,由于各种会话日志格式记录的信息项存在差异,导致各种会话日志格式的会话日志长度不同。本申请通过设置统一会话日志格式,可以省略计算写入的会话日志的长度的流程,从而可以提高将会话日志写入日志缓存队列的效率。举例而言,假定所有会话日志格式中包含的所有信息项为1-10,而网络设备支持的会话日志格式为a、b、c。其中,会话日志格式a需要1、3、4、5信息项,会话日志格式b需要1、2、4、5、6、7信息项,日志格式c需要2、5、8信息项,那么这三种会话日志格式需要的信息项的集合为1、2、3、4、5、6、7、8信息项,即设置的统一会话日志格式中包含1、2、3、4、5、6、7、8信息项。后续均按照该统一会话日志格式将会话日志写入日志缓存队列。其中,可以按照相关技术中的方法,即选取对应于网络设备当前使用的虚拟CPU的ID的日志缓存队列作为当前会话日志需要写入的日志缓存队列。也可以采用当前使用的虚拟CPU的ID对日志缓存队列的数量之和取余,并选取其ID等于余数的会话日志缓存队列的方式,当然,针对上述两种方式,本申请并不对此进行限制。在本申请的技术方案中,网络设备共存在3种发送模式,分别为复制发送、负载分担、指定源网段。当网络设备处于复制发送的发送模式时,网络设备需要将每一条会话日志复制发送至所有日志服务器,即每台服务器接收到的会话日志都是相同的。因此,不需要选取日志服务器的流程,仅仅需要根据当前从日志缓存队列中获取的会话日志的长度来判断当前聚合日志报文是否超限,若超限,则将该聚合日志报文复制发送至所有的日志服务器,否则,将当前获取的会话日志写入该聚合日志报文中,再继续获取下一会话日志。当网络设备处于负载分担或指定源网段的发送模式时,为了便于理解,下面结合图2对网络设备发送会话日志的过程进行详细说明。如图2所示,该发送过程可以包括以下步骤:步骤201,网络设备从日志缓存队列中获取会话日志。步骤202,提取会话日志的源IP地址。步骤203,确定目的日志服务器。在本实施例中,当网络设备处于负载分担的发送模式时,按照固定的预设算法对提取的源IP地址进行计算,并根据计算结果从用于实现负载分担的多个预定义日志服务器中确定出对应于待发送会话日志的目的日志服务器。其中,可以将提取的源IP地址对应用于所有日志服务器的标识(各个标识的数值为从0开始依次正向排列的整数)的数量之和取余,再将数值与余数相等的标识对应的日志服务器作为目的日志服务器。举例而言,假定网络设备支持的日志服务器为8台,应用于各台日志服务器的标识依次为0-7,而网络设备启动时配置了servera、serverb、serverc3台日志服务器,其各自对应的权重分别为2、2、4。那么配置的日志服务器分配的标识的情况如表2所示:日志服务器权重标识servera20、1serverb22、3serverc44、5、6、7表2比如,网络设备当前获取的会话日志的源IP地址对8取余得到5,即对应于标识5,从而确定对应于该会话日志的目的日志服务器为serverc。通过上述固定的算法,可以将所有对8取余得到5的源IP地址都与serverc对应起来(即使这些源IP地址并不一定完全相同),即具有对8取余得到5的源IP地址的会话日志都被发送至serverc,从而保证了会话日志的同源同出,有利于后续溯源分析处理。当网络设备处于指定源网段的发送模式时,查找获取的会话日志的源IP地址所属的指定源网段,并确定该指定源网段对应的日志服务器,该日志服务器即为获取的会话日志对应的目的日志服务器。当未查找到获取的会话日志的源IP地址所属的指定源网段时,可以丢弃该获取的会话日志,也可以采用上述负载分担的发送模式中固定的预设算法来确定目的日志服务器,在此不再赘述。其中,可以平均分配各台日志服务器的权重。通过上述方式,可以实现用户指定源网段的会话日志发送至指定日志服务器的功能。举例而言,假定网络设备支持的日志服务器为8台,应用于各台日志服务器的标识依次为0-7,而网络设备启动时配置了servera、serverb、serverc3台日志服务器,其指定源网段分别为A.A.A.A-B.B.B.B、C.C.C.C-D.D.D.D、E.E.E.E-F.F.F.F。那么配置的日志服务器分配的标识的情况如表3所示:日志服务器指定源网段标识serveraA.A.A.A-B.B.B.B0、1、2serverbC.C.C.C-D.D.D.D3、4、5servercE.E.E.E-F.F.F.F6、7表3比如,在一种情况下,网络设备当前获取的会话日志的源IP地址属于C.C.C.C-D.D.D.D,则将serverb作为对应于当前获取的会话日志的目的日志服务器;在另一种情况下,网络设备当前获取的会话日志的源IP地址不属于上述3个指定源网段中任一指定源网段,则可以丢弃该会话日志,或者也可以采用上述负载分担的发送模式中固定的预设算法来确定目的日志服务器。例如该会话日志的源IP地址对8取余得到6,即对应于标识6,从而确定对应于该会话日志的目的日志服务器为serverc。在本实施例中,网络设备可以仅支持和运行负载分担或者指定源网段中任意一种发送模式,也可以同时支持并分别运行这两种发送模式,当然,本申请并不对此进行限制。步骤204,判断聚合日志报文中是否包含会话日志,若包含,则转入步骤205,否则转入步骤206。在本实施例中,可以将对应于同一目的日志服务器的多个待发送会话日志聚合于一条聚合日志报文中,并将所述聚合日志报文发送至该目的日志服务器,从而可以在保证同源同出的情况下,提高对会话日志的发送效率。当聚合日志报文中不包含会话日志时,可以直接将当前获取的会话日志写入聚合日志报文中;当聚合日志报文中包含会话日志时,需要判断聚合日志报文中包含的会话日志的目的日志服务器和当前获取的会话日志的目的日志服务器是否一致,若一致,则将当前获取的会话日志写入该聚合日志报文,否则,将聚合日志报文发送至对应的目的日志服务器(即对应于聚合日志报文中包含的会话日志的目的日志服务器),而当前获取的会话日志可以写入下一生成的聚合日志报文中。步骤205,判断聚合日志报文中包含的会话日志的目的日志服务器和当前获取的会话日志的目的日志服务器是否一致,若一致,则转入步骤206,否则转入步骤208。步骤206,将当前获取的会话日志写入聚合日志报文。步骤207,判断聚合日志报文的长度是否支持下一会话日志继续写入,若支持,则转入步骤201,否则转入步骤208。步骤208,将聚合日志报文发送至对应的目的日志服务器。在本实施例中,承接于步骤205,由于聚合日志报文中包含的会话日志的目的日志服务器和当前获取的会话日志的目的日志服务器不一致,所以将聚合日志报文发送至对应的目的日志服务器,而当前获取的会话日志可以写入下一生成的聚合日志报文中;承接于步骤207,由于聚合日志报文的长度不支持下一会话日志继续写入(即长度超限),所以将聚合日志报文发送至对应的目的日志服务器,而下一获取的会话日志可以写入下一生成的聚合日志报文中。其中,由于聚合日志报文中的所有会话日志对应于同一目的日志服务器,所以该聚合日志报文发送至该目的日志服务器即可。在本申请的技术方案中,也可以不采用聚合方式对会话日志进行发送,例如可以在每次确定获取的会话日志的目的日志服务器后,直接将获取的会话日志写入日志发送报文中(即每个日志发送报文中仅包含一条会话日志),再将日志发送报文发送至确定的目的日志服务器。当然,本申请并不对此进行限制。图3示出了根据本申请的一示例性实施例的电子设备的结构示意图。请参考图3,在硬件层面,该电子设备包括处理器302、内部总线304、网络接口306、内存308以及非易失性存储器310,当然还可能包括其他业务所需要的硬件。处理器302从非易失性存储器310中读取对应的计算机程序到内存302中然后运行,在逻辑层面上形成会话日志的发送装置。当然,除了软件实现方式之外,本申请并不排除其他实现方式,比如逻辑器件抑或软硬件结合的方式等等,也就是说以下处理流程的执行主体并不限定于各个逻辑单元,也可以是硬件或逻辑器件。请参考图4,在软件实施方式中,该会话日志的发送装置可以包括提取单元401、第一确定单元402和发送单元403。其中:提取单元401,提取待发送会话日志的源IP地址;第一确定单元402,当所述网络设备处于负载分担的发送模式时,按照固定的预设算法对所述源IP地址进行计算,并根据计算结果从用于实现负载分担的多个预定义日志服务器中确定出对应于所述待发送会话日志的目的日志服务器;发送单元403,向所述目的日志服务器发送所述待发送会话日志。可选的,所述第一确定单元402具体用于:将所述源IP地址对应用于所有日志服务器的标识的数量之和取余,各个标识的数值为从0开始依次正向排列的整数;将数值与余数相等的标识对应的日志服务器作为所述目的日志服务器。可选的,所述发送单元403具体用于:将对应于同一目的日志服务器的多个待发送会话日志聚合于一条聚合日志报文中,并将所述聚合日志报文发送至所述目的日志服务器。可选的,还包括:写入单元404,按照统一会话日志格式,将所述待发送会话日志写入日志缓存队列以供所述网络设备向所述目的日志服务器发送所述待发送会话日志;其中,所述统一会话日志格式中包含所述网络设备支持的所有会话日志格式包含的所有信息项。可选的,还包括:第二确定单元405,当所述网络设备处于指定源网段的发送模式时,确定所述源IP地址所属的指定源网段;其中,每一日志服务器分别存在对应的指定源网段;处理单元406,将确定的指定源网段对应的日志服务器作为所述目的日志服务器。上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本申请方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1