一种会话信息同步方法、装置以及系统的制作方法

文档序号:7856868阅读:161来源:国知局

专利名称::一种会话信息同步方法、装置以及系统的制作方法
技术领域
:本发明涉及网络安全
技术领域
,尤指ー种针对高可用性系统中网络安全设备的会话信息同步方法、装置以及系统。
背景技术
:目前,随着网络应用的迅速增长,保证网络安全系统的持续运行时间越来越重要,防火墙等网络安全设备的持续运行时间影响着整个网络安全系统的持续运行时间,同时也极大的制约了网络应用,高可用性(HighAvailability,HA)是保证网络安全系统持续运行时间的ー个重要技木。HA用来描述ー个系统经过专门的设计,从而減少停エ时间,而保持系统持续运行时间的高度可用性。在网络安全系统的HA功能中,数据同步是影响网络安全系统持续运行时间或者中断时间的ー个重要因素,数据同步包括动态的会话信息同步和静态的配置文件同步。HA系统有三种工作模式主备模式、主主模式和集群模式。现有的HA系统中,主设备在处理业务会产生会话信息,主设备将产生的会话信息同步给备份设备,备份设备根据主设备同步过来的会话信息更新自身的会话信息,这样当发生主备切换后,备份设备可以直接接替主设备继续处理业务,不会造成业务中断,从而保证网络安全系统的持续运行时间。在现有的会话信息同步方法中,主设备仅仅将会话信息同步给备份设备,并不关心备份设备是否能够完整地接收到同步的会话信息,也就是说主设备并不能确保备份设备可靠地接收到同步的会话信息,一旦备份设备没有及时接收到完整的会话信息,当主备切换后,备份设备因为没有保存完整的会话信息而不能正常接替主设备继续处理业务,这就会造成网络安全系统中断,也就会缩短网络安全系统的持续运行时间。综上所述,现有的会话信息同步方法不能确保网络安全系统可靠地同步会话信息,进而缩短网络安全系统的持续运行时间。
发明内容本发明实施例提供一种会话信息同步方法、装置以及系统,用以解决现有的会话信息同步方法不能确保网络安全系统可靠地同步会话信息,进而缩短网络安全系统的持续运行时间的问题。一种会话信息同步方法,包括A、高可用性系统中的主设备确定自身和备份设备的心跳和引擎正常时,与所述备份设备建立用户数据包协议UDP连接;B、将在自身维护的会话信息以及实时产生的会话信息中选取的会话信息同步给所述备份设备;C、根据接收到所述备份设备反馈的确认信息,确定所述备份设备接收所述选取的会话信息后,转向步骤B。一种会话信息同步方法,包括高可用性系统中的备份设备与主设备建立用户数据包协议UDP连接;接收到所述主设备同步的会话信息后,向所述主设备反馈确认信息;其中,每个所述数据结构体中存放设定条数的会话信息;根据接收到的会话信息更新自身的会话信息。一种会话信息同步装置,包括连接单元,用于确定自身所在的高可用性系统中的主设备和备份设备的心跳和引擎正常吋,与所述备份设备建立用户数据包协议UDP连接;同步单元,用于将在自身维护的会话信息以及实时产生的会话信息中选取的会话信息同步给所述备份设备;确定单元,用于根据接收到所述备份设备反馈的确认信息,确定所述备份设备接收所述选取的会话信息后,转向所述同步単元。一种会话信息同步装置,包括连接单元,用于自身所在的高可用性系统中的备份设备与主设备建立用户数据包协议UDP连接;反馈单元,用于接收到所述主设备同步的会话信息后,向所述主设备反馈确认信息;其中,每个所述数据结构体中存放设定条数的会话信息;更新単元,用于根据接收到的会话信息更新自身的会话信息。一种会话信息同步装置,包括上述两种会话信息同步装置。一种会话信息同步系统,包括至少两个上述会话信息同步装置。本发明有益效果如下本发明实施例提供的会话信息同步方法、装置以及系统,通过A、高可用性系统中的主设备确定自身和备份设备的心跳和引擎正常时,与所述备份设备建立用户数据包协议UDP连接;B、将在自身维护的会话信息以及实时产生的会话信息中选取的会话信息同步给所述备份设备;C、根据接收到所述备份设备反馈的确认信息,确定所述备份设备接收所述选取的会话信息后,转向步骤B。该方案的主设备在检测到自身和备份设备的心跳和引擎都正常吋,才会与备份设备建立UDP连接,这样可以保证顺利地同步会话信息,不会造成资源浪费;将在自身维护的会话信息以及实时产生的会话信息中选取的会话信息同步给备份设备,在确定备份设备接收到同步的会话信息后,再发送另外选取的会话信息,这样可以实现可靠地将完整的会话信息发送给备份设备。该方案中的主设备不仅仅向备份设备同步会话信息,通过在同步前检测自身和备份设备的心跳和引擎是否正常、以及接收到备份设备返回的确认消息来确保备份设备接收到完整的会话信息,进而保证主备切換后,备份设备可以直接接替主设备进行业务处理,真正实现了无缝切換,延长了网络安全系统的持续运行时间。图I为本发明实施例中一种会话信息同步方法的流程图;图2为本发明实施例中会话信息、数据体与发送/接收链表的关系示意图;图3为本发明实施例中主设备、备份设备发送的UDP单播心跳数据包的结构示意图4为本发明实施例中发送链表的结构示意图;图5为本发明实施例中另ー种会话信息同步方法的流程图;图6为本发明实施例中接收链表的结构示意图;图7为本发明实施例中一种会话信息同步装置的结构示意图;图8为本发明实施例中与图7中的会话同步装置对应的优选的会话信息同步装置的结构不意图;图9为本发明实施例中另ー种会话信息同步装置的结构示意图;图10为本发明实施例中与图9中的会话装置对应的优选的会话信息同步装置的结构示意图;图11为本发明实施例中优选的会话信息同步系统的结构示意图;图12为本发明实施例中与图11中的会话同步系统对应的会话信息同步的流程图。具体实施例方式针对现有的会话信息同步方法不能确保网络安全系统可靠地同步会话信息,进而缩短网络安全系统的持续运行时间的问题,本发明实施例提供一种会话信息同步方法,该方法的流程如图I所示,具体执行步骤如下S10:高可用性系统中的主设备确定自身和备份设备的心跳和引擎正常时,与备份设备建立m)P连接。HA系统有三种工作模式主备模式、主主模式和集群模式。主备模式下的两台设备,一台作为主设备,另一台作为备份设备。主设备处理所有业务,并将产生的会话信息和配置文件发送到备份设备进行备份;备份设备不处理业务,只用做备份。当主设备故障,备份设备接替主设备处理业务,从而保证新发起的会话能正常建立,当前正在进行的会话也不会中断。主主模式下的两台设备均为主设备,都处理业务,同时又作为另一台设备的备份设备,备份对端的会话信息和配置文件。当其中一台故障后,另一台设备负责处理全部业务,从而保证新发起的会话能正常建立,当前正在进行的会话也不会中断。集群模式下多台主设备一起工作,各自处理ー个或几个业务,各为业务定义ー个或多个备份设备,当某个主设备故障时,运行在其上的服务就可以被其它备份设备接管。本发明实施例中的方法适用于上述HA系统的三种工作模式中的主设备。主设备的备份设备可以是一台,也可以是多台,无论主设备设有一台还是多台备份设备,工作原理都是类似的,下面以主设备设有一台备份设备为例进行说明。在本发明实施例中,主设备和备份设备之间使用的是UDP单播,现有的还可以采用多播、广播等方式,但多播、广播等方式的缺点是网络负载较大,并且没有确认机制,因此,在这里采用UDP单播方式,从而可以避免多播、广播等方式的缺点。Sll:将在自身维护的会话信息以及实时产生的会话信息中选取的会话信息同步给备份设备。主设备有自身维护的会话信息,还会有新建、更新或删除会话时,产生的会话信息,在所有的会话信息中选取ー些会话信息同步给备份设备。S12:根据接收到备份设备反馈的确认信息,确定备份设备接收选取的会话信息后,转向Sn。当确定备份设备接收到同步的会话信息后,可以继续选取一部分会话信息同步备份设备。该方案的主设备在检测到自身和备份设备的心跳和引擎都正常时,才会与备份设备建立UDP连接,这样可以保证顺利地同步会话信息,不会造成资源浪费;将在自身维护的会话信息以及实时产生的会话信息中选取的会话信息同步给备份设备,在确定备份设备接收到同步的会话信息后,再发送另外选取的会话信息,这样可以实现可靠地将完整的会话信息发送给备份设备。当主备切换后,备份设备可以直接接替主设备进行业务处理,真正实现了无缝切换,延长了网络安全系统的持续运行时间。具体的,上述SlO中的高可用性系统中的主设备确定自身和备份设备的心跳和引擎正常,具体包括主设备以第一设定周期向备份设备发送携帯引擎当前状态的UDP单播心跳数据包;以及当主设备在第二设定周期内接收到备份设备以第一设定周期发送的UDP单播心跳数据包、并解析出备份设备引擎的当前状态为激活状态时,确定自身和备份设备的心跳和引擎正常。用户可根据当前网络的实际情况,设置第一设定周期和第二设定周期,其中第一设定周期是发送UDP单播心跳数据包的周期,第二设定周期时没有接收到UDP单播心跳数据包的周期,可以分别设置为I和3,即每秒发送ー个UDP单播心跳数据包,当3秒收不到对端设备发送的UDP单播心跳数据包吋,则认为对端设备心跳异常。当对端设备心跳异常吋,同步会话信息是没有任何意义的,因此,将不会同步会话信息,直到对端设备恢复心跳为止。如图3所示,UDP单播心跳数据包的结构可以为structiisliahbmsRhdr{uintBttype;/*hearbeatmsgtvpe*/uint8who:I;/^masterorslave*/u—inti6tmode:I;/*master-masterormaster-slave幸/status:7;/*activeorstandby*/reserved:15;};nsha—bhmsghdr—t。其中type表示UDP单播心跳数据包的类型,一共有9种,在本发明实施例中,需要的是第5种(NS_HB_MSG_MASTER_READY)和第6种(NS_HB_MSG_SLAVE_READY)类型,其他I种类型在这里不再赘述。who:本设备主、备类型,即masterorslave,主或备。mode:高可用性工作模式,即master-masterormaster-slave,主主或主备。status:本设备实时工作状态,即activeorstandby,主或备。reserved:本设备引擎的状态,即activeorinactive,激活或非激活。data:本设备有关链路的详细信息,比如接ロ状态等,在链路保持与切换中使用,本文不再详细阐述。具体的,上述Sll中的将在自身维护的会话信息以及实时产生的会话信息中选取的会话信息同步给备份设备,具体包括将自身维护的会话信息以及实时产生的会话信息存放到数据结构体中,将数据结构体添加到发送链表中;在将会话信息存放到数据结构体和将数据结构体添加到发送链表的过程中,在发送链表中选取第一设定个数的数据结构体同步给备份设备;其中,每个数据结构体中存放设定条数的会话信息,发送链表中的已存放指针指向已存放的最后ー个数据结构体的位置、正在存放指针指向正在存放的数据结构体的位置。主设备将自身维护的会话信息存放在数据结构体ns_sync_pkt中,姆当主设备新建、更新或删除会话时,这些实时产生的会话信息也可以存放在ns_synC_pkt中,然后将所有这些ns_sync_pkt添加到发送链表中。每个ns_sync_pkt中可以存放设定条数的会话信息,设定条数具体可以依据实际情况进行设定。ns_Sync_pkt是可扩展的,可以存放会话信息,根据网络安全系统的发展,后续也可以存放其他同步信息,放入发送链表进行同步,具有较高的可扩展性。可以通过事件处理函数用来收集创建、更新或者删除会话等事件发生时需要同步的会话信息,为同步做准备。为了不影响高可用性系统正常的数据处理流程,可以采用Linux内核Notifier机制的思想,对会话信息同步进行设计,在系统初始化的时候注册事件处理函数。当事件发生时,通知事件处理函数,在处理函数中异步处理会话信息的同歩。发送/接收会话信息时,姆次操作ー个ns_sync_pkt,其中会话信息、数据体与发送/接收链表的关系如图2所示,ー个ns_sync_pkt中可以存放ー个或者多个需要同步Session的信息,可以是多个Session创建信息、更新信息或者多个Session删除。ns_sync_pkt结构体定义为#defmeETH—DATA—LEN1500#defineNS—SYNC_PAYLOADSIZEETHDATALEN-20-8-sizeoftstructct—sync—pkthdr)/*maximalusefulsizeofsyncpackets*/structnssyncpkt{structnssvncpkthdrhdr;—u8data[NS_SYNCPAYLOADS1ZE];};通讯采用UDP数据包,发送的信息结构大小为ETH_DATA_LEN-20-8-sizeof(structct—sync—pkthdr),几乎接近1500,这个大小是为了最大化的使用同步之间的连接。/*packetheader*/structnssyncpkthdr{u」nt8tpkttype;/*typeofpacket:sync/ACK*/uint8_tcount;/*numberofmsgsinpacket*/u—intl6treserved;u_int32tpktseq;/*packetsequencenumber*/}发送链表中存储的是需要同步给备份设备的ns_sync_pkt,也就是需要同步给备份设备的会话信息,可以选取第一设定个数的ns_sync_pkt同步给备份设备。该方案中将自身维护的会话信息和实时产生的会话信息存放到数据结构体中,然后将数据结构体添加到发送链表中,与此同时,在发送链表中选取第一设定个数的数据结构体同步给备份设备,会话信息的存放与发送时两个相对独立的过程,可以并行处理,这样就提闻了处通效率。具体的,上述在待发送序列中选取第一设定个数的数据结构体同步给备份设备,具体包括将发送链表中从已发送指针未指过位置起的第一设定个数的数据结构体同步给备份设备;已发送指针指向已经发送出去的最后ー个数据结构体的位置。当向备份设备发送数据结构体吋,可以从已发送指针未指过位置起,第一设定个数的数据结构体同步给备份设备,例如,可以每次同步给备份设备100个数据结构体,当然也可以是其它个数,这可以依据实际情况进行设定。上述S12中的根据接收到备份设备反馈的确认信息,确定备份设备接收选取的会话信息,具体包括当接收到备份设备反馈的确认信息时,解析确认信息中携帯的接收到的数据结构体的编码标识;其中,备份设备每接收到第二设定个数的数据结构体反馈ー个确认信息,第二设定数目不大于第一设定数目;当接收到的备份设备反馈的最后ー个接收到的数据结构体的编码标识与第一个接收到的数据结构体的编码标识之差小于第一设定个数与I之差吋,向备份设备重新发送第一设定个数的数据结构体;当接收到的备份设备反馈的最后一个接收到的数据结构体的编码标识信息与第一个接收到的数据结构体的编码标识之差等于第一设定个数与I之差时,将确收指针指向已收到确认信息的最后ー个数据结构体。如图4所示为发送链表的结构示意图,发送链表定义为ns_sync_send_ring,初时化ns_sync_send_ring为1024*10个ns_synk_pkt。发送链表由很多个ns_sync_pkt组成。当系统初始化时初始化4个指针,alloc,cur,send和backlog,它们的定义为已存放指针cur指向当前放在链表里的最后ー个ns_sync_pkt的位置;正在存放指针alloc指向正在放入链表的那个ns_sync_pkt的位置;已发送指针send指向已经发送出去的最后ー个ns_sync_pkt的位置;已确收指针backlog指向已经收到确认的最后ー个ns_sync_pkt的指针。例如,主设备向备份设备发送了100个数据结构体,备份设备每接收到20个数据结构体就向主设备返回一个确认信息,当接收到备份设备反馈的第一个接收到的数据结构体的编码标识为1,最后ー个接收到的数据结构体的编码标识为98,那么,98-1=97,100-1=99,由于98小于99,说明备份设备没有接收主设备发送的100个数据结构体。主设备就会向备份设备重新发送者100个数据结构体。再例如,当接收到备份设备反馈的第一个接收到的数据结构体的编码标识为101,最后ー个接收到的数据结构体的编码标识为200,那么,200-101=99,100-1=99,说明备份设备接收主设备发送的100个数据结构体。主设备就会向备份设备重新发送者100个数据结构体,将确收指针指向已收到确认信息的最后ー个数据结构体。然后再向备份设备发送下ー个第一设定个数的数据结构体即可。此外,还有ー些特殊情況,比如第一种,TCP会话有超时设置,如何保证同步过来的会话信息不会因为超时而被误删;第二种,基于动态端ロ的TCP协议流,如何保持主设备和备份设备一致性,当动态端ロTCP流量切換到备份设备时仍能够正常识别并处理,针对安全设备的特殊性,解决方案如下针对第一种情况为每条创建的会话添加第一标识信息得到会话信息。为了防止会话信息自动超时删除,将创建的会话添加第一标识信息这样就得到了会话信息。假设添加的第一标识信息是SYNCED,若携帯SYNCED的会话信息同步给备份设备,在主备切换前,备份设备不会删除携帯SYNCED的会话信息,这样针对TCP协议流就可以保证主设备和备份设备的会话信息的一致性。针对第二种情况将基于动态协议的动态端ロ状态信息同步给备份设备。对于动态协议来说,假设基于动态端ロ的会话还未建立,但是包含动态端ロ的数据包已经发送,此时发生了主备切换,那么再建立动态端ロ会话时,对端设备会因为没有会话丢弃数据包。此时,我们采用trust_table表来记录动态协议的动态端ロ状态信息,并将该trust_table表也添加到待发送序列中,同步给备份设备。基于同一发明构思,本发明实施例提供一种会话信息同步方法,该方法的流程如图5所示,包括S50:高可用性系统中的备份设备与主设备建立UDP连接。步骤S10-S14是从主设备ー侧讲述会话信息同步方法的具体流程的,下面从备份设备ー侧讲述。S51:接收到主设备同步的会话信息后,向主设备反馈确认信息。S52:根据接收到的会话信息更新自身的会话信息。当备份设备接收到主设备同步过来的会话信息后,就可以更新自身的会话信息了,当发生主备切换后,备份设备可以直接接替主设备进行业务处理,这样就实现了无缝切换,保证了用户体验。较佳的,上述SlO中的高可用性系统中的备份设备与主设备建立UDP连接之后,还包括以第一设定周期向主设备发送携帯引擎当前状态的UDP单播心跳数据包;以及接收主设备以第一设定周期发送的UDP单播心跳数据包。具体的,上述S51中的接收到主设备同步的会话信息,向主设备反馈确认信息,具体包括将接收到的数据结构体放入接收链表中,将接收链表中已接收指针指向已经接收到的最后ー个数据结构体的位置,将正在接收指针指向正在接收的数据结构体的位置;当接收到第三设定个数的数据结构体时,向主设备反馈携带接收到的数据结构体的编码标识的确认信息;其中,每个所述数据结构体中存放设定条数的会话信息。如果主设备每次向备份设备发送100个数据结构体,备份设备可以每接收到20个数据结构体就向主设备反馈ー个确认信息。备份设备接收到的主设备同步过来的数据结构体可以存储在接收链表中。编码标识是备份设备接收到的数据结构体的编号,例如,接收到的第一个数据结构体的编号可以设置为I、第二个可以设置为2、依次类推。当然也可以采用其他的标号方式,这里不再赘述。备份设备将添加的编码标识添加到确认信息中发送给主设备。上述S12中的根据接收到的会话信息更新自身的会话信息之后,还包括将已处理指针指向已经处理完的最后ー个数据结构体的位置。如图6所示为接收链表的结构,接收链表定义为ns_sync_recv_ring,初始化为ns_sync_recv_ring为1024*10个。链表由很多个ns_sync_pkt组成。当系统初始化时初始化3个指针已接收指针alloc、正在接收指针cur、已处理指针send,其中cur指向当前放在链表里的最后ー个ns_sync_pkt的位置;alloc指向正在放入链表的那个ns_sync_pkt的位置;send指向已经处理完的最后一个ns_sync_pkt的位置。较佳的,上述会话信息同步方法,还包括主备切换前,不删除仅携带第一标识信息的会话信息;主备切换后,为接收到的数据结构体中存放的没有携帯第二标识信息的会话信息添加第二标识信息;以及删除携帯第二标识信息且存在时间超过设定时间的会话信o主备切换前,备份设备A不删除仅携带第一标识信息的会话信息的原理在前文已有介绍,这里不再赘述。当主备切换后,备份设备A就变为主设备A,再为该会话信息添加第ニ标识信息ACTIVE,该会话信息就同时携带有SYNCED+ACTIVE,由于该会话信息携帯第二标识信息ACTIVE,所以主设备A可以删除该会话信息;再次主备切换后,主设备A又变为备份设备A,该会话信息只携帯第一标识信息SYNCED,备份设备A就不能删除该会话信息了。也就是说仅携帯第一标识信息SYNCED的会话信息是不允许超时删除的,携帯第二标识信息ACTIVE的会话信息才允许超时删除的。较佳的,上述会话信息同步方法,还包括接收主设备发送的基于动态协议的动态端ロ状态信息并更新。这样,当主备切换过来以后,就可以根据trust_table表来记录动态协议的动态端ロ状态信息来接收数据包了。基于同一发明构思,本发明实施例提供一种会话信息同步装置,该装置的结构如图7所示,包括连接单元70,用于确定自身所在的高可用性系统中的主设备和备份设备的心跳和引擎正常吋,与备份设备建立用户数据包协议UDP连接。同步单元71,用于将在自身维护的会话信息以及实时产生的会话信息中选取的会话信息同步给备份设备。确定单元72,用于根据接收到备份设备反馈的确认信息,确定备份设备接收选取的会话信息后,转向同步单元。具体的,上述连接单元70,具体用干主设备以第一设定周期向备份设备发送携带引擎当前状态的UDP单播心跳数据包;以及当主设备在第二设定周期内接收到备份设备以第一设定周期发送的UDP单播心跳数据包、并解析出备份设备引擎的当前状态为激活状态时,确定自身和备份设备的心跳和引擎正常。具体的,上述同步单元71,具体用于将自身维护的会话信息以及实时产生的会话信息存放到数据结构体中,将数据结构体添加到发送链表中;在将会话信息存放到数据结构体和将数据结构体添加到发送链表的过程中,在发送链表中选取第一设定个数的数据结构体同步给备份设备;其中,每个数据结构体中存放设定条数的会话信息,发送链表中的已存放指针指向已存放的最后ー个数据结构体的位置、正在存放指针指向正在存放的数据结构体的位置。具体的,上述同步单元71,具体用于将发送链表中从已发送指针未指过位置起的第一设定个数的数据结构体同步给备份设备;已发送指针指向已经发送出去的最后ー个数据结构体的位置。上述确定单元72,具体用干当接收到备份设备反馈的确认信息时,解析确认信息中携帯的接收到的数据结构体的编码标识;其中,备份设备每接收到第二设定个数的数据结构体反馈ー个确认信息,第二设定数目不大于第一设定数目;当接收到的备份设备反馈的最后一个接收到的数据结构体的编码标识与第一个接收到的数据结构体的编码标识之差小于第一设定个数与I之差吋,向备份设备重新发送第一设定个数的数据结构体;当接收到的备份设备反馈的最后ー个接收到的数据结构体的编码标识信息与第一个接收到的数据结构体的编码标识之差等于第一设定个数与I之差时,将确收指针指向已收到确认信息的最后ー个数据结构体。一种优选的会话信息同步装置的结构如图8所示,该装置除了如图7所示的结构夕卜,还包括管理単元73,用于为创建的每条会话添加第一标识信息得到会话信息。较佳的,上述同步单元71,还用于将基于动态协议的动态端ロ状态信息同步给备份设备。基于同一发明构思,本发明实施例提供一种会话信息同步装置,该装置的结构如图9所示,包括连接单元90,用于自身所在的高可用性系统中的备份设备与主设备建立用户数据包协议UDP连接。反馈单元91,用于接收到主设备同步的会话信息后,向主设备反馈确认信息。更新単元92,用于根据接收到的会话信息更新自身的会话信息。一种优选的会话信息同步装置的结构如图10所示,该装置除了如图9所示的结构夕卜,还包括发送单元93,用于以第一设定周期向主设备发送携帯引擎当前状态的UDP单播心跳数据包。接收单元94,用于接收主设备以第一设定周期发送的UDP单播心跳数据包。具体的,上述反馈单元91,具体用于将接收到的数据结构体放入接收链表中,将接收链表中已接收指针指向已经接收到的最后ー个数据结构体的位置,将正在接收指针指向正在接收的数据结构体的位置;当接收到第三设定个数的数据结构体吋,向主设备反馈携帯接收到的数据结构体的编码标识的确认信息;其中,每个数据结构体中存放设定条数的会话信息。上述更新単元,还用于将已处理指针指向已经处理完的最后ー个数据结构体的位置。较佳的,如图10所示,上述会话信息同步装置还包括管理単元95,用于主备切换前,不删除仅携带第一标识信息的回话信息;主备切换后,为接收到的数据结构体中存放的没有携帯第二标识信息的会话信息添加所述第二标识信息;以及删除携帯所述第二标识信息且存在时间超过设定时间的会话信息。具体的,上述更新単元92,还用于接收主设备发送的基于动态协议的动态端ロ状态信息并更新。基于同一发明构思,本发明实施例提供一种会话信息同步装置,该装置的结构包括如图7和如图9所示的会话信息同步装置。基于同一发明构思,本发明实施例提供一种会话信息同步系统,包括至少ー个如图7所示的会话信息同步装置和至少ー个如图9所示的会话信息同步装置;或者至少ー个如图9所示的会话信息同步装置和至少ー个如图11所示的会话信息同步装置;或者至少ー个如图7所示的会话信息同步装置和至少ー个如图11所示的会话信息同步装置。下面说明会话信息同步系统中主备设备的工作流程,该系统的结构如图11所示,其中,会话信息同步系统包括主设备101和备份设备102。可以设置在主设备101中设置心跳模块1010,也可以在备份设备102中设置心跳模块1020,其中心跳模块1010、1020都维护对端状态标记,当对端心跳发生变化时,心跳模块1010、1020会更新该标记。同时引擎1011会轮询心跳模块1010中的标记,引擎1021会轮循心跳模块1020中的标记,若引擎1011、1021发现各自轮询的标记发生变化时,会开始主动对自身的会话信息进行控制。当主设备101确定自身和备份设备的心跳模块和引擎正常时,与备份设备102建立UDP连接,之后的处理流程如图12所示,在主设备101上会发生很多事件,注册并处理这些事件后,会得到会话信息,将这些会话信息提交给发送链表,发送链表向备份设备102发送会话信息;备份设备102接收到主设备101同步的会话信息后,放入接收链表中,井向主设备101反馈确认信息,根据接收到的会话信息更新自身的会话信息;主设备101接收到备份设备101反馈的确认信息,就可以确定备份设备102接收到会话信息,然后可以继续向备份设备102同步会话信息。该方案采用UDP连接和确认协议处理机制,这就可以确保备份设备可以及时接收到完整的会话信息,传输过程非常可靠;事件处理过程与会话信息同步过程处理过程完全分开,这就可以提高网络安全系统的处理性能,并且备份设备接收的会话信息能够及时更新,从而保证主备切換后业务不会中断,延长了网络安全系统的持续运行时间;发送链表和接收链表采用循环链表结构,发送链表有4个指针,接收链表有3个指针,能够异步处理数据结构体,提高处理速度和实时性,从而保证网络安全系统能够可靠性地同步会话信息。显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。权利要求1.一种会话信息同步方法,其特征在于,包括A、高可用性系统中的主设备确定自身和备份设备的心跳和引擎正常时,与所述备份设备建立用户数据包协议m)P连接;B、将在自身维护的会话信息以及实时产生的会话信息中选取的会话信息同步给所述备份设备;C、根据接收到所述备份设备反馈的确认信息,确定所述备份设备接收所述选取的会话信息后,转向步骤B。2.如权利要求I所述的方法,其特征在于,高可用性系统中的主设备确定自身和备份设备的心跳和引擎正常,具体包括所述主设备以第一设定周期向备份设备发送携带引擎当前状态的UDP单播心跳数据包;以及当所述主设备在第二设定周期内接收到所述备份设备以所述第一设定周期发送的UDP单播心跳数据包、并解析出所述备份设备引擎的当前状态为激活状态时,确定自身和所述备份设备的心跳和引擎正常。3.如权利要求I所述的方法,其特征在于,将在自身维护的会话信息以及实时产生的会话信息中选取的会话信息同步给所述备份设备,具体包括将自身维护的会话信息以及实时产生的会话信息存放到数据结构体中,将所述数据结构体添加到发送链表中;在将会话信息存放到数据结构体和将数据结构体添加到发送链表的过程中,在所述发送链表中选取第一设定个数的数据结构体同步给所述备份设备;其中,每个所述数据结构体中存放设定条数的会话信息,所述发送链表中的已存放指针指向已存放的最后一个数据结构体的位置、正在存放指针指向正在存放的数据结构体的位置。4.如权利要求3所述的方法,其特征在于,在所述发送链表中选取第一设定个数的数据结构体同步给所述备份设备,具体包括将所述发送链表中从已发送指针未指过位置起的第一设定个数的数据结构体同步给所述备份设备;所述已发送指针指向已经发送出去的最后一个数据结构体的位置;根据接收到所述备份设备反馈的确认信息,确定所述备份设备接收所述选取的会话信息,具体包括当接收到所述备份设备反馈的确认信息时,解析所述确认信息中携带的接收到的数据结构体的编码标识;其中,所述备份设备每接收到第二设定个数的数据结构体反馈一个确认信息,所述第二设定数目不大于所述第一设定数目;当接收到的所述备份设备反馈的最后一个接收到的数据结构体的编码标识与第一个接收到的数据结构体的编码标识之差小于所述第一设定个数与I之差时,向所述备份设备重新发送所述第一设定个数的数据结构体;当接收到的所述备份设备反馈的最后一个接收到的数据结构体的编码标识信息与第一个接收到的数据结构体的编码标识之差等于所述第一设定个数与I之差时,将确收指针指向所述已收到确认信息的最后一个数据结构体。5.如权利要求I所述的方法,其特征在于,还包括为创建的每条会话添加第一标识信息得到会话信息。6.如权利要求1-5任一所述的方法,其特征在于,还包括将基于动态协议的动态端口状态信息同步给所述备份设备。7.一种会话信息同步方法,其特征在于,包括高可用性系统中的备份设备与主设备建立用户数据包协议UDP连接;接收到所述主设备同步的会话信息后,向所述主设备反馈确认信息;根据接收到的会话信息更新自身的会话信息。8.如权利要求7所述的方法,其特征在于,高可用性系统中的备份设备与主设备建立UDP连接之后,还包括以第一设定周期向所述主设备发送携带引擎当前状态的UDP单播心跳数据包;以及接收所述主设备以所述第一设定周期发送的UDP单播心跳数据包。9.如权利要求7所述的方法,其特征在于,接收到所述主设备同步的会话信息,向所述主设备反馈确认信息,具体包括将接收到的数据结构体放入接收链表中,将所述接收链表中已接收指针指向已经接收到的最后一个数据结构体的位置,将正在接收指针指向正在接收的数据结构体的位置;其中,每个所述数据结构体中存放设定条数的会话信息;当接收到第三设定个数的数据结构体时,向所述主设备反馈携带接收到的数据结构体的编码标识的确认信息;根据接收到的会话信息更新自身的会话信息之后,还包括将已处理指针指向已经处理完的最后一个数据结构体的位置。10.如权利要求9所述的方法,其特征在于,还包括主备切换前,不删除仅携带第一标识信息的会话信息;主备切换后,为接收到的数据结构体中存放的没有携带第二标识信息的会话信息添加所述第二标识信息;以及删除携带所述第二标识信息且存在时间超过设定时间的会话信肩、O11.如权利要求7-10任一所述的方法,其特征在于,还包括接收所述主设备发送的基于动态协议的动态端口状态信息并更新。12.—种会话信息同步装置,其特征在于,包括连接单元,用于确定自身所在的高可用性系统中的主设备和备份设备的心跳和引擎正常时,与所述备份设备建立用户数据包协议UDP连接;同步单元,用于将在自身维护的会话信息以及实时产生的会话信息中选取的会话信息同步给所述备份设备;确定单元,用于根据接收到所述备份设备反馈的确认信息,确定所述备份设备接收所述选取的会话信息后,转向所述同步单元。13.如权利要求12所述的装置,其特征在于,所述单元,具体用于所述主设备以第一设定周期向备份设备发送携带引擎当前状态的UDP单播心跳数据包;以及当所述主设备在第二设定周期内接收到所述备份设备以所述第一设定周期发送的UDP单播心跳数据包、并解析出所述备份设备引擎的当前状态为激活状态时,确定自身和所述备份设备的心跳和引擎正常。14.如权利要求12所述的装置,其特征在于,所述同步单元,具体用于将自身维护的会话信息以及实时产生的会话信息存放到数据结构体中,将所述数据结构体添加到发送链表中;在将会话信息存放到数据结构体和将数据结构体添加到发送链表的过程中,在所述发送链表中选取第一设定个数的数据结构体同步给所述备份设备;其中,每个所述数据结构体中存放设定条数的会话信息,所述发送链表中的已存放指针指向已存放的最后一个数据结构体的位置、正在存放指针指向正在存放的数据结构体的位置。15.如权利要求14所述的装置,其特征在于,所述同步单元,具体用于将所述发送链表中从已发送指针未指过位置起的第一设定个数的数据结构体同步给所述备份设备;所述已发送指针指向已经发送出去的最后一个数据结构体的位置;所述确定单元,具体用于当接收到所述备份设备反馈的确认信息时,解析所述确认信息中携带的接收到的数据结构体的编码标识;其中,所述备份设备每接收到第二设定个数的数据结构体反馈一个确认信息,所述第二设定数目不大于所述第一设定数目;当接收到的所述备份设备反馈的最后一个接收到的数据结构体的编码标识与第一个接收到的数据结构体的编码标识之差小于所述第一设定个数与I之差时,向所述备份设备重新发送所述第一设定个数的数据结构体;当接收到的所述备份设备反馈的最后一个接收到的数据结构体的编码标识信息与第一个接收到的数据结构体的编码标识之差等于所述第一设定个数与I之差时,将确收指针指向所述已收到确认信息的最后一个数据结构体。16.如权利要求12所述的装置,其特征在于,还包括管理单元,用于为创建的每条会话添加第一标识信息得到会话信息。17.如权利要求12-16任一所述的装置,其特征在于,所述同步单元,还用于将基于动态协议的动态端口状态信息同步给所述备份设备。18.—种会话信息同步装置,其特征在于,包括连接单元,用于自身所在的高可用性系统中的备份设备与主设备建立用户数据包协议UDP连接;反馈单元,用于接收到所述主设备同步的会话信息后,向所述主设备反馈确认信息;更新单元,用于根据接收到的会话信息更新自身的会话信息。19.如权利要求18所述的装置,其特征在于,还包括发送单元,用于以第一设定周期向所述主设备发送携带引擎当前状态的UDP单播心跳数据包;接收单元,用于接收所述主设备以所述第一设定周期发送的UDP单播心跳数据包。20.如权利要求18所述的装置,其特征在于,所述反馈单元,具体用于将接收到的数据结构体放入接收链表中,将所述接收链表中已接收指针指向已经接收到的最后一个数据结构体的位置,将正在接收指针指向正在接收的数据结构体的位置;其中,每个所述数据结构体中存放设定条数的会话信息;当接收到第三设定个数的数据结构体时,向所述主设备反馈携带接收到的数据结构体的编码标识的确认信息;所述更新单元,还用于将已处理指针指向已经处理完的最后一个数据结构体的位置。21.如权利要求20所述的装置,其特征在于,还包括管理单元,用于主备切换前,不删除仅携带第一标识信息的回话信息;主备切换后,为接收到的数据结构体中存放的没有携带第二标识信息的会话信息添加所述第二标识信息;以及删除携带所述第二标识信息且存在时间超过设定时间的会话信肩、O22.如权利要求18-21任一所述的装置,其特征在于,所述更新单元,还用于接收所述主设备发送的基于动态协议的动态端口状态信息并更新。23.一种会话信息同步装置,其特征在于,包括如权利要求12-17任一所述的会话信息同步装置和如权利要求18-22任一所述的会话信息同步装置。24.一种会话信息同步系统,其特征在于,包括至少一个如权利要求12-17任一所述的会话信息同步装置和至少一个如权利要求18-22任一所述的会话信息同步装置;或者至少一个如权利要求12-17任一所述的会话信息同步装置和至少一个如权利要求23所述的会话信息同步装置;或者至少一个如权利要求18-22任一所述的会话信息同步装置和至少一个如权利要求23所述的会话信息同步装置。全文摘要本发明公开了一种会话信息同步方法、装置以及系统,该方法包括A、高可用性系统中的主设备确定自身和备份设备的心跳和引擎正常时,与所述备份设备建立用户数据包协议UDP连接;B、将在自身维护的会话信息以及实时产生的会话信息中选取的会话信息同步给所述备份设备;C、根据接收到所述备份设备反馈的确认信息,确定所述备份设备接收所述选取的会话信息后,转向步骤B。该方案可以实现准确、可靠的将数据结构体发送给备份设备,实现了无缝切换,延长了网络安全系统的持续运行时间。文档编号H04L29/06GK102769626SQ20121026254公开日2012年11月7日申请日期2012年7月26日优先权日2012年7月26日发明者田翠翠,陈裕涛申请人:北京神州绿盟信息安全科技股份有限公司,北京神州绿盟科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1