CN108874530A - 对报文转发设备的业务板进行扩容、缩容的方法和装置 - Google Patents

对报文转发设备的业务板进行扩容、缩容的方法和装置 Download PDF

Info

Publication number
CN108874530A
CN108874530A CN201710332781.8A CN201710332781A CN108874530A CN 108874530 A CN108874530 A CN 108874530A CN 201710332781 A CN201710332781 A CN 201710332781A CN 108874530 A CN108874530 A CN 108874530A
Authority
CN
China
Prior art keywords
processing unit
service processing
unit
map
data flow
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201710332781.8A
Other languages
English (en)
Other versions
CN108874530B (zh
Inventor
俞健伟
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201710332781.8A priority Critical patent/CN108874530B/zh
Publication of CN108874530A publication Critical patent/CN108874530A/zh
Application granted granted Critical
Publication of CN108874530B publication Critical patent/CN108874530B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1448Management of the data involved in backup or backup restore
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0209Architectural arrangements, e.g. perimeter networks or demilitarized zones

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer And Data Communications (AREA)

Abstract

本公开提供了一种对报文转发设备的业务板进行扩容、缩容的方法和装置,属于通信技术领域。在对报文转发设备进行扩容时,管理单元根据m,在复制的第一映射列表中存储第一业务处理单元的标识的映射单元中选择至少一个映射单元,将选择出的每个映射单元中存储的内容修改为增添的n‑k个业务处理单元中的一个业务处理单元的标识。由此可见,在对该报文转发设备进行扩容时,复制的第一映射列表中大部分映射单元中存储的内容不需要进行修改,仅少数映射单元中存储的内容需要进行修改,减少了修改的映射单元数目。进而减少了需要备份的数据流的会话信息,缩短了备份时间,提高了扩容效率。

Description

对报文转发设备的业务板进行扩容、缩容的方法和装置
技术领域
本公开涉及通信技术领域,特别涉及一种对报文转发设备的业务板进行扩容、缩容的方法和装置。
背景技术
为了提高数据传输的可靠性,在局域网或者局域网与互联网的连接处往往设置报文转发设备,该报文转发设备可以为防火墙。通过报文转发设备对通信双方之间传输的报文进行安全检测处理。当报文转发设备的处理能力不足时,需要对报文转发设备进行扩容。当报文转发设备的处理能力富余,或者报文转发设备中的某个业务处理单元出现故障时,需要对报文转发设备进行缩容。
其中,报文转发设备的通用分布式架构中包括第一接口板、第二接口板和多个业务处理单元。第一接口板根据每个业务处理单元的标识组成的第一标识序列,生成第一映射列表,该第一映射列表是一个预设长度的数组,且第一映射列表中的每个映射单元用于存储一个业务处理单元的标识。例如,该第一映射列表是一个长度为8的数组,报文转发设备包括4个业务处理单元,4个业务处理单元的标识分别为业务处理单元1、业务处理单元2、业务处理单元3和业务处理单元4。则该第一映射列表中依次存储业务处理单元1、业务处理单元2、业务处理单元3、业务处理单元4、业务处理单元1、业务处理单元2、业务处理单元3和业务处理单元4。第一接口板用于接收流经该报文转发设备的数据流中的报文,针对接收到的一个报文,将该报文所属数据流的会话信息的哈希值对该预设长度进行取模,取模结果为一个映射单元的编号。第一接口板从该第一映射列表中确定该编号指示的映射单元中保存的业务处理单元的标识,第一接口板向该业务处理单元的标识所指示的业务处理单元发送该报文。该业务处理单元用于接收该报文;如果该报文为会话首包,对该数据流进行安全检测处理。当该数据流安全时,建立该报文所属数据流的会话信息,向第二接口板转发该报文;当该数据流不安全时,丢弃该报文。如果该报文不为会话首包,且已经建立该报文所属数据流的会话信息,则该业务处理单元向第二接口板转发该报文包。如果该报文不为会话首包,且没有建立该报文所属数据流的会话信息,则丢弃该报文。第二接口板用于根据报文的目的地址,转发来自于业务处理单元的报文。
以对报文转发设备进行扩容为例进行说明。第一接口板在第一标识序列中添加增加的业务处理单元的标识,得到第二标识序列,根据第二标识序列,生成第二映射列表。例如,在报文转发设备中增加标识为业务处理单元5的业务处理单元。则第二映射列表中依次存储业务处理单元1、业务处理单元2、业务处理单元3、业务处理单元4、业务处理单元5、业务处理单元1、业务处理单元2和业务处理单元3。第一接口板向扩容后的报文转发设备包括的每个业务处理单元发送第二映射列表。对于扩容后的报文转发设备包括的每个业务处理单元都执行以下过程:接收第一接口板发送的第二映射列表,根据第二映射列表将被分流到其他业务处理单元的数据流的会话信息备份到其他业务处理单元。
在实现本公开的过程中,发明人发现现有技术至少存在以下问题:
上述方法中,当对报文转发设备进行扩容或缩容时,由于映射列表中的大部分映射单元中存储的业务处理单元的标识都发生了改变,因此,需要对大量数据流的会话信息进行备份,从而耗费大量时间,导致扩容或者缩容的效率低。
发明内容
为了解决现有技术的问题,本公开实施例提供了一种对报文转发设备进行扩容、缩容的方法和装置。所述技术方案如下:
第一方面,本公开实施例提供了一种对报文转发设备进行扩容的方法,所述报文转发设备包括接口板、管理单元和k个业务处理单元,所述k为大于1的自然数,所述方法包括:
所述接口板根据第一映射列表,将所述报文转发设备接收到的数据流分流至k个业务处理单元进行处理,所述第一映射列表包括依次排列的预设数目的映射单元,所述第一映射列表以每个映射单元存储一个业务处理单元的标识的方式,存储k个业务处理单元的标识;
所述管理单元检测到所述报文转发设备被增添新的业务处理单元时,确定增添新的业务处理单元之后,所述报文转发设备包括的业务处理单元的数目n,其中,n为大于k的自然数;
所述管理单元根据所述n,确定m,其中所述m为第一业务处理单元预期在第二映射列表中出现的次数,所述第一业务处理单元为k个业务处理单元中的任一业务处理单元,所述第二映射列表中包括依次排列的所述预设数目的映射单元;
所述管理单元复制所述第一映射列表,针对所述第一业务处理单元,执行A-B,直到处理完k个业务处理单元中的每个业务处理单元为止,将处理后的复制的第一映射列表作为第二映射列表:
步骤A:所述管理单元根据所述m,在复制的第一映射列表中存储所述第一业务处理单元的标识的映射单元中选择至少一个映射单元,所述复制的第一映射列表中存储所述第一业务处理单元的标识的映射单元中未选择的映射单元的个数等于所述m;
步骤B:所述管理单元将选择出的每个映射单元中存储的内容修改为增添的n-k个业务处理单元中的一个业务处理单元的标识;
所述管理单元向k个业务处理单元发送所述第二映射列表;
所述第一业务处理单元根据所述第二映射列表,将保存的第一数据流的会话信息备份到目标业务处理单元,所述目标业务处理单元为所述选择出的映射单元修改后的内容所指示的业务处理单元,所述第一数据流为所述第一业务处理单元中保存的当前未传输完且将被分流到所述目标业务处理单元的数据流。
在本公开实施例中,由于在对报文转发设备进行扩容时,管理单元根据m,在复制的第一映射列表中存储第一业务处理单元的标识的映射单元中选择至少一个映射单元,将选择出的每个映射单元中存储的内容修改为增添的n-k个业务处理单元中的一个业务处理单元的标识。由此可见,在对该报文转发设备进行扩容时,复制的第一映射列表中大部分映射单元中存储的内容不需要进行修改,仅少数映射单元中存储的内容需要进行修改,减少了修改的映射单元数目。进而减少了需要备份的数据流的会话信息,缩短了备份时间,提高了扩容效率。
在一种可能的实现方式中,所述管理单元根据所述n,确定m,包括:
所述管理单元根据所述n和所述预设数目,确定所述m;其中,所述m随着所述n的增加而降低,所述m随着所述预设数目的增加而增加。
在本公开实施例中,管理单元结合预设数目,确定m,从而提高了确定m的准确性。
在一种可能的实现方式中,所述管理单元根据n和所述预设数目,确定所述m,包括:
所述管理单元获取所述第一业务处理单元的处理权重,所述处理权重用于指示所述第一业务处理单元的处理能力;
所述管理单元根据所述处理权重、所述n和所述预设数目,确定所述m;其中,所述m随着所述处理权重的增加而降低。
在本公开实施例中,如果k个业务处理单元中的每个业务处理单元的处理能力不同时,第一业务处理单元结合第一业务处理单元的处理权重,确定m,进一步提高了确定出的m的准确性。
在一种可能的实现方式中,所述管理单元根据所述m,在复制的第一映射列表中存储所述第一业务处理单元的标识的映射单元中选择至少一个映射单元,包括:
所述管理单元根据所述m,在所述复制的第一映射表中存储所述第一业务处理单元的标识的映射单元中标记所述m个映射单元;
所述管理单元从所述复制的第一映射列表中存储所述第一业务处理单元的标识的映射单元中选择未标记的至少一个映射单元。
在一种可能的实现方式中,所述管理单元根据所述m,在复制的第一映射列表中存储所述第一业务处理单元的标识的映射单元中选择至少一个映射单元,包括:
所述管理单元统计所述第一映射列表中存储所述第一业务处理单元的标识的映射单元的数目h,确定所述h和所述m之差b。管理单元根据所述b,在复制的第一映射列表中存储所述第一映射单元的标识的映射单元中选择b个映射单元。
在一种可能的实现方式中,所述第一业务处理单元根据所述第二映射列表,将保存的第一数据流的会话信息备份到目标业务处理单元之后,所述方法还包括:
所述第一业务处理单元将所述第一数据流的会话信息从所述第一业务处理单元中删除。
在本公开实施例中,第一业务处理单元根据所述第二映射列表,将保存的第一数据流的会话信息备份到目标业务处理单元之后,第一业务处理单元将第一数据流的会话信息从第一业务处理单元中删除,节省了第一业务处理单元的内存。
在一种可能的实现方式中,所述第一业务处理单元根据所述第二映射列表,将保存的第一数据流的会话信息备份到目标业务处理单元,包括:
所述第一业务处理单元根据所述第二映射列表和预设分流算法,确定数据流集合中的每个数据流被分流到的处理单元标识,所述数据流集合包括所述第一业务处理单元处理的当前未传输完的数据流;
所述第一业务处理单元从所述数据流集合中选择被分流到所述目标业务处理单元的第一数据流;
所述第一业务处理单元将所述第一数据流的会话信息备份到所述目标业务处理单元。
在本公开实施例中,第一业务处理单元根据第二映射列表和预设分流算法,确定数据流集合中的每个数据流被分流到的处理单元标识,从数据流集合中选择被分流到所述目标业务处理单元的第一数据流,提高了确定出的第一数据流的准确性。
在一种可能的实现方式中,所述第一业务处理单元根据所述第二映射列表,将保存的第一数据流的会话信息备份到目标业务处理单元之后,所述方法还包括:
所述接口板接收第二数据流的报文;
所述接口板根据所述第二数据流和预设分流算法,从所述第二映射列表中选择第二业务处理单元的标识;
所述接口板向所述第二业务处理单元的标识指示的所述第二业务处理单元发送所述第二数据流的报文。
在本公开实施例中,接口板接收到第二数据流的报文时,根据第二映射列表进行分流,提高了分流的准确性。
第二方面,本公开实施例提供了一种对报文转发设备进行缩容的方法,所述报文转发设备包括接口板、管理单元和k个业务处理单元,所述k为大于1的自然数,所述方法包括:
所述接口板根据第一映射列表,将所述报文转发设备接收到的数据流分流至k个业务处理单元进行处理,所述第一映射列表包括依次排列的预设数目的映射单元,所述第一映射列表以每个映射单元存储一个业务处理单元的标识的方式,存储k个业务处理单元的标识;
所述管理单元检测到所述报文转发设备被减少业务处理单元时,确定减少业务处理单元之后,所述报文转发设备包括的业务处理单元的数目p,其中,p为大于1且小于k的自然数;
所述管理单元根据所述p,确定q,其中q为第一业务处理单元预期在第二映射列表中出现的次数,所述第一业务处理单元为p个业务处理单元中的任一业务处理单元,所述第二映射列表中包括依次排列的所述预设数目的映射单元;
所述管理单元复制所述第一映射列表,针对所述第一业务处理单元,执行A-B,直到处理完p个业务处理单元中的每个业务处理单元为止,将处理后的复制的第一映射列表作为第二映射列表:
步骤A:所述管理单元根据所述q,在复制的第一映射列表中存储第二业务处理单元的标识的映射单元中选择至少一个映射单元,所述第二业务处理单元为减少的k-p个业务处理单元中的任一业务处理单元,选择的映射单元的个数和所述第一业务处理单元在所述第一映射列表中的个数之和等于所述q;
步骤B:所述管理单元将选择出的每个映射单元中存储的内容修改为所述第一业务处理单元的标识;
所述管理单元向k-p个业务处理单元发送所述第二映射列表;
所述第二业务处理单元根据所述第二映射列表,将保存的第一数据流的会话信息备份到所述第一业务处理单元,所述第一数据流为所述第二业务处理单元中保存的当前未传输完且将被分流到所述第二业务处理单元的数据流。
在本公开实施例中,由于在对报文转发设备进行缩容时,管理单元根据q,在复制的第一映射列表中存储第二业务处理单元的标识的映射单元中选择至少一个映射单元,将选择出的每个映射单元中存储的内容修改为第一业务处理单元的标识。由此可见,在对该报文转发设备进行缩容时,只需要修改复制的第一映射列表中修改存储第二业务处理单元的标识的映射单元中的内容,也即仅少数映射单元中存储的内容需要进行修改,减少了修改的映射单元数目。进而减少了需要备份的数据流的会话信息,缩短了备份时间,提高了缩容效率。
在一种可能的实现方式中,所述管理单元根据所述p,确定q,包括:
所述管理单元根据所述p和所述预设数目,确定所述q;其中,所述q随着所述p的增加而降低,所述q随着所述预设数目的增加而增加。
在本公开实施例中,管理单元结合预设数目,确定m,从而提高了确定m的准确性。
在一种可能的实现方式中,所述管理单元根据所述p和所述预设数目,确定所述q,包括
所述管理单元获取所述第一业务处理单元的处理权重,所述处理权重用于指示所述第一业务处理单元的处理能力;
所述管理单元根据所述处理权重、所述p和所述预设数目,确定所述q;其中,所述q随着所述处理权重的增加而降低。
在本公开实施例中,如果p个业务处理单元中的每个业务处理单元的处理能力不同时,第一业务处理单元结合第一业务处理单元的处理权重,确定q,进一步提高了确定出的q的准确性。
在一种可能的实现方式中,所述管理单元根据所述q,在复制的第一映射列表中存储第二业务处理单元的标识的映射单元中选择至少一个映射单元,包括:
所述管理单元统计所述第一映射列表中存储所述第一业务处理单元的标识的映射单元的数目h;
所述管理单元确定所述q和所述h之差g;
所述管理单元从所述复制的第一映射列表中存储所述第二业务处理单元的标识的映射单元中选择g个映射单元。
在一种可能的实现方式中,所述第二业务处理单元根据所述第二映射列表,将保存的第一数据流的会话信息备份到所述第一业务处理单元,包括:
所述第二业务处理单元根据所述第二映射列表和预设分流算法,确定数据流集合中的每个数据流被分流到的处理单元标识,所述第二数据流集合包括所述第二业务处理单元处理的当前未传输完的数据流;
所述第二业务处理单元从所述数据流集合中选择被分流到所述第一业务处理单元的第一数据流;
所述第二业务处理单元将所述第一数据流的会话信息备份到所述第二业务处理单元。
在本公开实施例中,第二业务处理单元根据第二映射列表和预设分流算法,确定数据流集合中的每个数据流被分流到的处理单元标识,从数据流集合中选择被分流到所述目标业务处理单元的第一数据流,提高了确定出的第一数据流的准确性。
在一种可能的实现方式中,所述第二业务处理单元根据所述第二映射列表,将保存的第一数据流的会话信息备份到所述第一业务处理单元之后,所述方法还包括:
所述接口板接收第二数据流的报文;
所述接口板根据所述第二数据流和预设分流算法,从所述第二映射列表中选择第三业务处理单元的标识;
所述接口板向所述第三业务处理单元的标识指示的所述第三业务处理单元发送所述第二数据流的报文。
在本公开实施例中,接口板接收到第二数据流的报文时,根据第二映射列表进行分流,提高了分流的准确性。
第三方面,本公开实施例提供了一种一种对报文转发设备进行扩容的装置,所述装置应用在报文转发设备中,所述报文转发设备包括接口板、管理单元和k个业务处理单元,所述k为大于1的自然数;
所述接口板,用于根据第一映射列表,将所述报文转发设备接收到的数据流分流至k个业务处理单元进行处理,所述第一映射列表包括依次排列的预设数目的映射单元,所述第一映射列表以每个映射单元存储一个业务处理单元的标识的方式,存储k个业务处理单元的标识;
所述管理单元,用于检测到所述报文转发设备被增添新的业务处理单元时,确定增添新的业务处理单元之后,所述报文转发设备包括的业务处理单元的数目n,其中n为大于k的自然数;
所述管理单元,还用于根据所述n,确定m,其中所述m为第一业务处理单元预期在第二映射列表中出现的次数,所述第一业务处理单元为k个业务处理单元中的任一业务处理单元,所述第二映射列表中包括依次排列的所述预设数目的映射单元;
所述管理单元,还用于复制所述第一映射列表,针对所述第一业务处理单元,执行A-B,直到处理完k个业务处理单元中的每个业务处理单元为止,将处理后的复制的第一映射列表作为第二映射列表:
步骤A:所述管理单元,还用于根据所述m,在复制的第一映射列表中存储所述第一业务处理单元的标识的映射单元中选择至少一个映射单元,所述复制的第一映射列表中存储所述第一业务处理单元的标识的映射单元中未选择的映射单元的个数等于所述m;
步骤B:所述管理单元,还用于将选择出的每个映射单元中存储的内容修改为增添的n-k个业务处理单元中的一个业务处理单元的标识;
所述管理单元,还用于向k个业务处理单元发送所述第二映射列表;
所述第一业务处理单元,用于根据所述第二映射列表,将保存的第一数据流的会话信息备份到目标业务处理单元,所述目标业务处理单元为所述选择出的映射单元中存储的修改后的内容所指示的业务处理单元,所述第一数据流为所述第一业务处理单元中保存的当前未传输完且将被分流到所述目标业务处理单元的数据流。
在一种可能的实现方式中,所述管理单元,还用于根据所述n和所述预设数目,确定所述m;其中,所述m随着所述n的增加而降低,所述m随着所述预设数目的增加而增加。
在一种可能的实现方式中,所述管理单元,还用于获取所述第一业务处理单元的处理权重,所述处理权重用于指示所述第一业务处理单元的处理能力;根据所述处理权重、所述n和所述预设数目,确定所述m;其中,所述m随着所述处理权重的增加而降低。
在一种可能的实现方式中,所述管理单元,还用于根据所述m,在所述复制的第一映射表中存储所述第一业务处理单元的标识的映射单元中标记所述m个映射单元;从所述复制的第一映射列表中存储所述第一业务处理单元的标识的映射单元中选择未标记的至少一个映射单元。
在一种可能的实现方式中,所述第一业务处理单元,还用于将所述第一数据流的会话信息从所述第一业务处理单元中删除。
在一种可能的实现方式中,所述第一业务处理单元,还用于根据所述第二映射列表和预设分流算法,确定数据流集合中的每个数据流被分流到的处理单元标识,所述数据流集合包括所述第一业务处理单元处理的当前未传输完的数据流;从所述数据流集合中选择被分流到所述目标业务处理单元的第一数据流;将所述第一数据流的会话信息备份到所述目标业务处理单元。
在一种可能的实现方式中,所述接口板,还用于接收第二数据流的报文;根据所述第二数据流和预设分流算法,从所述第二映射列表中选择第二业务处理单元的标识;向所述第二业务处理单元的标识指示的所述第二业务处理单元发送所述第二数据流的报文。
第四方面,本公开实施例提供了一种对报文转发设备进行缩容的装置,所述装置应用在报文转发设备中,所述报文转发设备包括接口板、管理单元和k个业务处理单元,所述k为大于1的自然数;
所述接口板,用于根据第一映射列表,将所述报文转发设备接收到的数据流分流至k个业务处理单元进行处理,所述第一映射列表包括依次排列的预设数目的映射单元,所述第一映射列表以每个映射单元存储一个业务处理单元的标识的方式,存储k个业务处理单元的标识;
所述管理单元,用于检测到所述报文转发设备被减少业务处理单元时,确定减少业务处理单元之后,所述报文转发设备包括的业务处理单元的数目p,其中p为大于1且小于k的自然数;
所述管理单元,还用于根据所述p,确定q,其中q为第一业务处理单元预期在第二映射列表中出现的次数,所述第一业务处理单元为p个业务处理单元中的任一业务处理单元,所述第二映射列表中包括依次排列的所述预设数目的映射单元;
所述管理单元,还用于复制所述第一映射列表,针对所述第一业务处理单元,执行A-B,直到处理完p个业务处理单元中的每个业务处理单元为止,将处理后的复制的第一映射列表作为第二映射列表:
步骤A:所述管理单元,还用于根据所述q,在复制的第一映射列表中存储第二业务处理单元的标识的映射单元中选择至少一个映射单元,所述第二业务处理单元为减少的k-p个业务处理单元中的任一业务处理单元,选择的映射单元的个数和所述第一业务处理单元在所述第一映射列表中的个数之和等于所述q;
步骤B:所述管理单元,还用于将选择出的每个映射单元中存储的内容修改为所述第一业务处理单元的标识;
所述管理单元,还用于向k-p个业务处理单元发送所述第二映射列表;
所述第二业务处理单元,用于根据所述第二映射列表,将保存的第一数据流的会话信息备份到所述第一业务处理单元,所述第一数据流为所述第二业务处理单元中保存的当前未传输完且将被分流到所述第二业务处理单元的数据流。
在一种可能的实现方式中,所述管理单元,还用于根据所述p和所述预设数目,确定所述q;其中,所述q随着所述p的增加而降低,所述q随着所述预设数目的增加而增加。
在一种可能的实现方式中,所述管理单元,还用于获取所述第一业务处理单元的处理权重,所述处理权重用于指示所述第一业务处理单元的处理能力;根据所述处理权重、所述p和所述预设数目,确定所述q;其中,所述q随着所述处理权重的增加而降低。
在一种可能的实现方式中,所述管理单元,还用于统计所述第一映射列表中存储所述第一业务处理单元的标识的映射单元的数目h;所述管理单元确定所述q和所述h之差g;所述管理单元从所述复制的第一映射列表中存储所述第二业务处理单元的标识的映射单元中选择g个映射单元。
在一种可能的实现方式中,所述第二业务处理单元,还用于根据所述第二映射列表和预设分流算法,确定数据流集合中的每个数据流被分流到的处理单元标识,所述第二数据流集合包括所述第二业务处理单元处理的当前未传输完的数据流;从所述数据流集合中选择被分流到所述第一业务处理单元的第一数据流;将所述第一数据流的会话信息备份到所述第二业务处理单元。
在一种可能的实现方式中,所述接口板,还用于接收第二数据流的报文;根据所述第二数据流和预设分流算法,从所述第二映射列表中选择第三业务处理单元的标识;向所述第三业务处理单元的标识指示的所述第三业务处理单元发送所述第二数据流的报文。
第五方面,本公开实施例提供了一种报文转发设备,所述设备包括:网络接口、存储器、处理器;
所述网络接口用于接收报文;
所述存储器用于存储指令和数据;
所述处理器,用于读取所述存储器中存储的指令和数据,执行:
根据第一映射列表,将所述报文转发设备接收到的数据流分流至k个业务处理单元进行处理,所述第一映射列表包括依次排列的预设数目的映射单元,所述第一映射列表以每个映射单元存储一个业务处理单元的标识的方式,存储k个业务处理单元的标识;
检测到所述报文转发设备被增添新的业务处理单元时,确定增添新的业务处理单元之后,所述报文转发设备包括的业务处理单元的数目n,其中n为大于k的自然数;
根据所述n,确定m,其中所述m为第一业务处理单元预期在第二映射列表中出现的次数,所述第一业务处理单元为k个业务处理单元中的任一业务处理单元,所述第二映射列表中包括依次排列的所述预设数目的映射单元;
复制所述第一映射列表,针对所述第一业务处理单元,执行A-B,直到处理完k个业务处理单元中的每个业务处理单元为止,将处理后的复制的第一映射列表作为第二映射列表:
步骤A:根据所述m,在复制的第一映射列表中存储所述第一业务处理单元的标识的映射单元中选择至少一个映射单元,所述复制的第一映射列表中存储所述第一业务处理单元的标识的映射单元中未选择的映射单元的个数等于所述m;
步骤B:将选择出的每个映射单元中存储的内容修改为增添的n-k个业务处理单元中的一个业务处理单元的标识;
向k个业务处理单元发送所述第二映射列表;
根据所述第二映射列表,将保存的第一数据流的会话信息备份到目标业务处理单元,所述目标业务处理单元为所述选择出的映射单元中存储的修改后的内容所指示的业务处理单元,所述第一数据流为所述第一业务处理单元中保存的当前未传输完且将被分流到所述目标业务处理单元的数据流。
第六方面,本公开实施例提供了一种报文转发设备,所述设备包括:网络接口、存储器、处理器;
所述网络接口用于接收报文;
所述存储器用于存储指令和数据;
所述处理器,用于读取所述存储器中存储的指令和数据,执行:
根据第一映射列表,将所述报文转发设备接收到的数据流分流至k个业务处理单元进行处理,所述第一映射列表包括依次排列的预设数目的映射单元,所述第一映射列表以每个映射单元存储一个业务处理单元的标识的方式,存储k个业务处理单元的标识;
检测到所述报文转发设备被减少业务处理单元时,确定减少业务处理单元之后,所述报文转发设备包括的业务处理单元的数目p,其中p为大于1且小于k的自然数;
根据所述p,确定q,其中q为第一业务处理单元预期在第二映射列表中出现的次数,所述第一业务处理单元为p个业务处理单元中的任一业务处理单元,所述第二映射列表中包括依次排列的所述预设数目的映射单元;
复制所述第一映射列表,针对所述第一业务处理单元,执行A-B,直到处理完p个业务处理单元中的每个业务处理单元为止,将处理后的复制的第一映射列表作为第二映射列表:
步骤A:根据所述q,在复制的第一映射列表中存储第二业务处理单元的标识的映射单元中选择至少一个映射单元,所述第二业务处理单元为减少的k-p个业务处理单元中的任一业务处理单元,选择的映射单元的个数和所述第一业务处理单元在所述第一映射列表中的个数之和等于所述q;
步骤B:将选择出的每个映射单元中存储的内容修改为所述第一业务处理单元的标识;
向k-p个业务处理单元发送所述第二映射列表;
根据所述第二映射列表,将保存的第一数据流的会话信息备份到所述第一业务处理单元,所述第一数据流为所述第二业务处理单元中保存的当前未传输完且将被分流到所述第二业务处理单元的数据流。
第七方面,本公开实施例提供了一种计算机存储介质,用于报文转发设备所用的计算机软件指令,其包含用于执行如上述第一方面或第一方面的任意一种可能的实现方式所述的为报文转发设备所设计的程序。
第八方面,本公开实施例提供了一种计算机存储介质,用于报文转发设备所用的计算机软件指令,其包含用于执行如上述第二方面或第二方面的任意一种可能的实现方式所述的为报文转发设备所设计的程序。
附图说明
图1是本公开实施例提供的实施环境的示意图;
图2是本公开实施例提供的报文转发设备的示意图;
图3是本公开实施例提供的报文转发设备的示意图;
图4是本公开实施例提供的对报文转发设备进行扩容的方法流程图;
图5是本公开实施例提供的第一映射列表的示意图;
图6是本公开实施例提供的第二映射列表的示意图;
图7是本公开实施例提供的对报文转发设备进行缩容的方法流程图;
图8是本公开实施例提供的第一映射列表的示意图;
图9是本公开实施例提供的第二映射列表的示意图;
图10是本公开实施例提供的对报文转发设备进行扩容的装置结构示意图;
图11是本公开实施例提供的对报文转发设备进行缩容的装置结构示意图;
图12是本公开实施例提供的报文转发设备的结构示意图;
图13是本公开实施例提供的报文转发设备的结构示意图。
具体实施方式
为使本公开的目的、技术方案和优点更加清楚,下面将结合附图对本公开实施方式作进一步地详细描述。
上述所有可选技术方案,可以采用任意结合形成本公开的可选实施例,在此不再一一赘述。
本公开实施例提供了一种可能的实施环境,参见图1,该实施环境包括发送端1、报文转发设备2和接收端3。发送端1与报文转发设备2连接,报文转发设备2与接收端3连接。
为了提高数据传输的可靠性;发送端1向接收端3发送数据流时,发送端1向报文转发设备2发送该数据流的报文。报文转发设备2接收发送端1发送的该数据流的报文,对该数据流的报文进行安全检测处理。报文转发设备2确定该数据流安全时,向接收端3转发该数据流的报文。报文转发设备2确定该数据流不安全时,丢弃该数据流的报文。
发送端1可以为终端或者服务器。接收端3也可以为终端或者服务器。报文转发设备2可以为防火墙。
本公开实施例提供了一种报文转发设备2,参见图2,该报文转发设备2的通用分布式架构中包括第一接口板、主控板、业务板和第二接口板,其中业务板可以有多个,图2中未示出。该报文转发设备2的通用分布式架构还包括背板连接交换网板和多个设备框。第一接口板、主控板、业务板和第二接口板通过设备框与背板连接交换网板连接,从而通过该背板连接交换网板进行相互之间的通信。
参见图3,一个设备框中可以插入一个或多个主控板。如果一个设备框中插入多个主控板,则多个主控板中的一个主控板作为主用主控板,多个主控板中除该主控板之外的主控板作为备用主控板。其中,一个主控板包括一个管理单元。管理单元用于感知该报文转发设备2的扩容和缩容。
一个设备框中可以插入一个或多个业务板。一个业务板包括一个或多个业务处理单元。该报文转发设备2包括的所有业务处理单元并行处理数据流的报文。
一个设备框中可以插入一个或多个第一接口板。第一接口板包括分流单元和报文收发单元。报文收发单元用于接收发送端发送的数据流的报文。分流单元用于为该数据流分配业务处理单元。报文收发单元还用于向分流单元分配的业务处理单元转发该数据流的报文。
一个设备框中可以插入一个或多个第二接口板。第二接口板包括报文转发单元。该报文转发单元用于接收业务处理单元发送的数据流的报文,向接收端转发该数据流的报文。
该业务处理单元用于接收报文转发设备2发送的该数据流的报文。对该数据流的报文进行安全检测处理;当确定该数据流安全时,向第二接口板转发该数据流的报文。当确定该数据流不安全时,丢弃该数据流的报文。
该业务处理单元对该数据流的报文进行安全检测处理的过程可以为:
该业务处理单元确定该数据流的报文是否为会话首包。如果该报文为会话首包,对该数据流进行安全检测处理。当该数据流安全时,建立该报文所属数据流的会话信息,向接口板转发该数据流的报文。当该数据流不安全时,丢弃该报文。
如果该报文不为会话首包;该业务处理单元确定是否已经建立了该报文所属数据流的会话信息。如果该业务处理单元已经建立了该报文所属数据流的会话信息,该业务处理单元向接口板转发该数据流的报文。如果该业务处理单元没有建立该报文所属数据流的会话信息,该业务处理单元丢弃该报文。
当该报文转发设备2的处理能力不足时,可以对该报文转发设备2进行扩容。在对该报文转发设备2进行扩容时,在设备框中插入一个或者多个业务板22,一个业务板22上包括一个或者多个业务处理单元。
当该报文转发设备2的处理能力富余,或者该报文转发设备2中的某个业务处理单元出现故障时,需要对该报文转发设备2进行缩容。在对报文转发设备2进行缩容时,在设备框中拔出一个或者多个业务板22。
本公开实施例提供了一种对报文转发设备的业务板进行扩容的方法。该报文转发设备包括第一接口板、管理单元和k个业务处理单元,k为大于1的自然数。在对该报文转发设备进行扩容后,该报文转发设备包括n个业务处理单元,n为大于k的自然数。
参见图4,该方法包括:
步骤101:第一接口板根据第一映射列表,将报文转发设备接收到数据流分流至k个业务处理单元进行处理。
报文转发设备在进行报文转发之前,管理单元生成第一映射列表,向第一接口板发送第一映射列表。第一接口板接收管理单元发送的第一映射列表,根据第一映射列表,将报文转发设备接收到的数据流分流至k个业务处理单元进行处理。
其中,第一映射列表包括依次排列的预设数目的映射单元,第一映射列表以每个映射单元存储一个业务处理单元的标识的方式,存储k个业务处理单元的标识。
预设数目可以根据需要进行设置并更改,在本公开实施例中,对预设数目不作具体限定;例如,预设数目可以为1024或者2048等。K也可以根据需要进行设置并更改,在本公开实施例中,对k不作具体限定。例如,k可以为4或者5。
例如,预设数目为1024,k为4,则报文转发设备包括4个业务处理单元,分别为业务处理单元1、业务处理单元2、业务处理单元3和业务处理单元4。业务处理单元1的标识为1,业务处理单元2的标识为2,业务处理单元3的标识为3,业务处理单元4的标识为4。参见图5,则第一映射列表包括1024个映射单元,第一映射列表存储4个业务处理单元的标识,分别为1、2、3、4、1、2、3、4……1、2、3、4(共循环256次)。
步骤102:管理单元检测到报文转发设备被增添新的业务处理单元时,确定增添新的业务处理单元之后,报文转发设备包括的业务处理单元的数目n。
管理单元用于感知该报文转发设备增添或者减少业务处理单元。当管理单元检测到设备框中被插入业务板或者某个业务板中被增添业务处理单元时;管理单元确定该报文转发设备被增添新的业务处理单元。此时,管理单元确定该报文转发设备包括的业务处理单元的数目n。
由于该报文转发设备包括一个或多个业务板;一个业务板包括一个或多个业务处理单元;相应的,管理单元确定该报文转发设备包括的业务处理单元的数目n的步骤可以为:
管理单元确定该报文转发设备包括的每个业务板上的业务处理单元,确定每个业务板上的业务处理单元之和得到该报文转发设备包括的业务处理单元的数目n。
例如,报文转发设备增添新的业务处理单元之前,报文转发设备包括的业务处理单元的数目为k,在该报文转发设备中添加n-k个业务处理单元,增添新的业务处理单元之后,该报文转发设备包括的业务处理单元数目为n。
增添新的业务处理单元的数目可以根据需要进行设置并更改,在本公开实施例中,对增添新的业务处理单元的数目不作具体限定;例如,增添新的业务处理单元的数目可以为1、2或者4等。
例如,该报文转发设备包括4个业务处理单元。在对该报文转发设备进行扩容时,在该报文转发设备中增添1个业务处理单元,则扩容后的该报文转发设备包括的业务处理单元的数目n=5。
步骤103:管理单元根据n,确定m。
管理单元根据n和预设数目,确定m。其中,m为第一业务处理单元预期在第二映射列表中出现的次数,第一业务处理单元为k个业务处理单元中的任一业务处理单元,第二映射列表中包括依次排列的预设数目的映射单元。m随着n的增加而降低,m随着预设数目的增加而增加。
如果该报文转发设备包括的业务处理单元的处理能力相同时,管理单元根据n和预设数目,确定m可以通过以下第一种方式实现;如果该报文转发设备包括的业务处理单元的处理能力不同时,管理单元根据n和预设数目,确定m可以通过以下第二种方式实现。
对于第一种实现方式,管理单元根据n和预设数目,确定m的步骤可以为:
管理单元根据n和预设数目,通过第一预设确定算法,确定m。
第一预设确定算法可以根据需要进行设置并更改,在本公开实施例中,对第一预设确定算法不作具体限定;例如,第一预设确定算法可以为平均算法。
例如,第一预设确定算法为平均算法,则管理单元根据n和预设数目,通过以下公式(一),确定m;
公式一:m=[w+(n-1)]/n;其中,w为预设数目。
例如,预设数目w为1024,n为5,则通过以上公式(一)确定出m=205。
对于第二种实现方式,管理单元根据n和预设数目,确定m的步骤可以为:
管理单元获取第一业务处理单元的处理权重,该处理权重用于指示第一业务处理单元的处理能力;根据该处理权重、n和预设数目,确定m。其中,m随着n的增加而降低,m随着预设数目的增加而增加;m随着该处理权重的增加而降低。
管理单元根据该处理权重、n和预设数目,确定m的步骤可以为:
管理单元根据该处理权重、n和预设数目,通过第二预设确定算法,确定m。
第一预设确定算法和第二预设确定算法可以相同,也可以不同。第二预设确定算法可以根据需要进行设置并更改,在本公开实施例中,对第二预设确定算法不作具体限定。例如,第二预设确定算法可以为平均算法。
例如,第二预设算法为平均算法,则管理单元根据该处理权重、n和预设算法,通过以下公式(二),确定m。
公式二:m=[w+(n-1)]/(a*n);其中,w为预设数目,a为处理权重。
在本步骤之前,用户可以事先在管理单元中配置该报文转发设备中包括的每个业务处理单元的处理权重;管理单元存储每个业务处理单元的标识和处理权重的对应关系;相应的,管理单元获取第一业务处理单元的处理权重的步骤可以为:
管理单元根据第一业务处理单元的标识,从标识和处理权重的对应关系中获取第一业务处理单元的处理权重。
在本步骤之前,用户也可以不事先在管理单元中配置该报文转发设备包括的每个业务处理单元的处理权重;而是在确定m时,显示输入界面,该输入界面包括多个输入框,一个输入框对应一个业务处理单元的标识,用于输入该业务处理单元的处理权重。相应的,管理单元获取第一业务处理单元的处理权重的步骤可以为:
管理单元获取第一业务处理单元对应的输入框中获取第一业务处理单元的处理权重。
需要说明的是,k个业务处理单元中的每个业务处理单元都按照以上第一种方式或者第二种方式确定每个业务处理单元的m。
步骤104:管理单元复制第一映射列表,针对第一业务处理单元,执行A-B,直到处理完k个业务处理单元中的每个业务处理单元为止,将处理后的复制的第一映射列表作为第二映射列表:
步骤A:管理单元根据m,在复制的第一映射列表中存储第一业务处理单元的标识的映射单元中选择至少一个映射单元,复制的第一映射列表中存储第一业务处理单元的标识的映射单元中未选择的映射单元的个数等于m。
在本步骤中管理单元可以通过以下第一种方式或者第二种方式实现。对于第一种实现方式,本步骤可以为:
管理单元根据m,在复制的第一映射表中存储第一业务处理单元的标识的映射单元中标记m个映射单元;管理单元从复制的第一映射列表中存储第一业务处理单元的标识的映射单元中选择未标记的至少一个映射单元。
管理单元遍历复制的第一映射列表,在复制的第一映射列表中存储第一业务处理单元的标识的映射单元中标记m个映射单元。其中,管理单元可以从复制的第一映射列表的第一个映射单元开始遍历复制的第一映射列表;也可以从复制的第一映射列表的最后一个映射单元开始遍历复制的第一映射列表;也可以从复制的第一映射列表中间某个映射单元开始遍历复制的第一映射列表。
例如,m=205;在复制的第一映射列表中存储第一业务处理单元的标识的映射单元的数目为h=256。在本步骤中,管理单元在复制的第一映射列表中存储第一业务处理单元的标识的映射单元中标记205个映射单元。管理单元从复制的第一映射列表中存储第一业务处理单元的标识的映射单元中选择未标记的51个映射单元。
对于第二种实现方式,本步骤可以为:
管理单元统计第一映射列表中存储第一业务处理单元的标识的映射单元的数目h,确定h和m之差b。管理单元根据b,在复制的第一映射列表中存储第一映射单元的标识的映射单元中选择b个映射单元。
例如,m=205;在复制的第一映射列表中存储第一业务处理单元的标识的映射单元的数目为h=256。在本步骤中,管理单元确定h与m之差b=51。管理单元在复制的第一映射列表中存储第一映射单元的标识的映射单元中选择51个映射单元。
步骤B:管理单元将选择出的每个映射单元中存储的内容修改为增添的n-k个业务处理单元中的一个业务处理单元的标识。
如果在该报文转发设备中增添一个业务处理单元;在本步骤中,管理单元将选择出的每个映射单元中存储的内容修改为该增添的业务处理单元的标识。
如果在该报文转发设备中增添多个业务处理单元;在本步骤中,管理单元依次修改每个映射单元中存储的内容。对于当前修改的映射单元,管理单元将该映射单元中存储的内容修改为增添的n-k个业务处理单元中在复制的第一映射单元中出现次数最少的业务处理单元。
例如,报文转发设备扩容前包括业务处理单元1、业务处理单元2、业务处理单元3和业务处理单元4。在对该报文转发设备进行扩容时,在该报文转发设备中增添业务处理单元5。则在本步骤中,管理单元将选择出的51个映射单元中存储的内容修改为业务处理单元5的标识。则第二映射列表参见图6。
在本公开实施例中,该报文转发设备扩容前,复制的第一映射列表中包括存储第一业务处理单元的标识的映射单元数目为256。该报文转发设备扩容后,复制的第二映射列表中包括存储第一业务处理单元的标识的映射单元的数目为205。管理单元只需要将复制的第一映射列表中的51个映射单元中存储的内容进行修改,由此可见,在对该报文转发设备进行扩容时,复制的第一映射列表中大部分映射单元中存储的内容不需要进行修改,仅少数映射单元中存储的内容需要进行修改,减少了修改的映射单元数目。
由于管理单元扩容确定出第二映射列表时,需要触发k个业务处理单元进行流表平滑处理。可选地,一种触发方式是执行完步骤104之后,执行步骤105。
步骤105:管理单元向k个业务处理单元发送第二映射列表。
管理单元向k个业务处理单元中的每个业务处理单元发送第二映射列表。K个业务处理单元中的每个业务处理单元接收管理单元发送的第二映射列表。对于k个业务处理单元中的任一业务处理单元,均执行以下步骤106和107。为了便于描述,将k个业务处理单元中的任一业务处理单元称为第一业务处理单元。
步骤106:第一业务处理单元根据第二映射列表,将保存的第一数据流的会话信息备份到目标业务处理单元,目标业务处理单元为选择出的映射单元存储的业务处理单元的标识所指示的业务处理单元,第一数据流为第一业务处理单元中保存的当前未传输完且将被分流到目标业务处理单元的数据流。
第一业务处理中存储被分流到第一业务处理单元处理且当前未传输完的数据流集合;由于数据流集合中的一部分数据流仍然被分流到第一业务处理单元中,一部分数据流被分流到目标业务处理单元。因此,本步骤可以通过以下步骤1061-1063实现,包括:
1061:第一业务处理单元根据第二映射列表和预设分流算法,确定数据流集合中的每个数据流被分流到的处理单元标识,数据流集合包括第一业务处理单元处理的当前未传输完的数据流。
发送端向接收端发送数据流时,发送端向第一接口板发送该数据流的首包。第一接口板接收发送端发送的该数据流的首包;根据该数据流和预设分流算法,从第一映射列表中选择该数据流被分流到的业务处理单元。
例如,第一接口板将该数据流分流到第一业务处理单元。则管理单元向第一业务处理单元发送该数据流的首包。第一业务处理单元接收到数据流的首报,对该数据流进行安全检测处理。当确定该数据流安全时,第一业务处理单元建立该数据流的会话信息,将该数据流的标识存储到数据流集合中。第一业务处理单元将该数据流的首包转发至第二接口板,由第二接口板将该数据流的首包转发至接收端。当确定该数据流不安全时,第一业务处理单元丢弃该数据流的首包。
后续第一接口板接收到发送端发送的该数据流的中间包或者尾包均发送至第一业务处理单元。第一业务处理单元接收该数据流的中间包或者尾包,确定是否已经建立该数据流的会话信息。如果已建立该数据流的会话信息,第一业务处理单元将该数据流的中间包或者尾包转发至第二接口板,由第二接口板将该数据流的中间包或者尾包转发至接口端。如果没有建立该数据流的会话信息,第一业务处理单元丢弃该数据流的中间包或者尾包。第一业务处理单元在处理完该数据流的尾包时,将该数据流集合中的该数据流删除。因此,该数据流集合中包括第一业务处理单元处理的当前未处理完的数据流。
预设分流算法可以根据需要进行设置并更改,在本公开实施例中,对预设分流算法不作具体限定。例如,预设分流算法可以为哈希算法。
当预设分流算法为哈希算法时,对于数据流集合中的每个数据流;第一业务处理单元确定该数据流的会话信息的哈希值,将该哈希值对预设数目进行取模。取模结果为第二映射单元中的一个映射单元的编号,第一业务处理单元将该编号对应的映射单元中存储的业务处理单元的标识确定为该数据流被分流到的业务处理单元的标识。
1062:第一业务处理单元从数据流集合中选择被分流到目标业务处理单元的第一数据流。
由于数据流集合中被分流到第一业务处理单元的数据流的会话信息不需要进行迁移,只需要迁移被分流到目标业务处理单元的数据流。因此,在本步骤中,第一业务处理单元从数据流集合中选择被分流到目标业务处理单元的第一数据流。
需要说明的是,第一数据流可以为一个数据流,也可以为多个数据流;被分流到目标业务处理单元的数据流均称为第一数据流。
1063:第一业务处理单元将第一数据流的会话信息备份到目标业务处理单元。
第一业务处理单元获取已建立的第一数据流的会话信息,向目标业务处理单元发送第一数据流的会话信息;目标业务处理单元接收第一业务处理单元发送的第一数据流的会话信息,存储第一数据流的会话信息。
第一业务处理单元将第一数据流的会话信息备份到目标业务处理单元之后,第一业务处理单元将第一数据流的会话信息标记为已迁移。并通过以下步骤107对第一数据流的会话信息进行老化处理。
107:第一业务处理单元将第一数据流的会话信息从第一业务处理单元中删除。
由于第一业务处理单元已经将第一数据流的会话信息备份到目标业务处理单元,为了节省第一业务处理单元的内存,第一业务处理单元将第一数据流的会话信息从第一业务处理单元中删除。
在本步骤中,管理单元可以指示第一业务处理单元将第一数据流的会话信息从第一业务处理单元中删除;也即以下第一种实现方式。管理单元也可以在将第一数据流的会话信息备份到目标业务处理单元之后,自行将第一数据流的会话信息从第一业务处理单元中删除,也即以下第二种实现方式。
对于第一种实现方式,本步骤可以为:
管理单元向第一业务处理单元发送通知消息;该通知消息用于指示第一业务处理单元将第一数据流的会话信息从第一业务处理单元中删除。第一业务处理单元接收管理单元发送的通知消息,根据该通知消息,将第一数据流的会话信息从第一业务处理单元中删除。
为了提高可靠性,目标业务处理单元存储第一数据流的会话信息时,目标业务处理单元向管理单元发送第一响应消息;该第一响应消息用于指示目标业务处理单元已经完成第一数据流的会话信息的备份。管理单元接收目标业务处理单元发送的第一响应消息,根据该第一响应消息,确定目标业务处理单元已经完成第一数据流的会话信息的备份。此时管理单元向第一业务处理单元发送通知消息。
对于第二种方式,本步骤可以为:
第一业务处理单元确定目标业务处理单元已经完成第一数据流的会话信息的备份时,第一业务处理单元将第一数据流的会话信息从第一业务处理单元中删除。
由于目标业务处理单元完成第一数据流的会话信息的备份需要一定时间;因此,在本步骤中,第一业务处理单元根据第二映射列表,将保存的第一数据流的会话信息备份到目标业务处理单元之后的预设时长后,确定目标业务处理单元已经完成第一数据流的会话信息的备份。
在本步骤中,目标业务处理单元完成第一数据流的会话信息的备份时,向第一业务处理单元发送第二响应消息,第二响应消息用于指示目标业务处理单元已经完成第一数据流的会话信息的备份。第一业务处理单元接收目标业务处理单元发送的第二响应消息,根据第二响应消息确定目标业务处理单元已经完成第一数据流的会话信息的备份。
预设时长可以根据需要进行设置并更改,在本公开实施例中,对预设时长不作具体限定。例如,预设时长可以为1秒或者2秒等。
需要说明的是,管理单元对报文处理单元进行扩容完成之后,第一接口板后续根据第二映射列表,通过以下步骤108-110,将报文转发设备接收到的数据流分流至n个业务处理单元进行处理。为了节省管理单元的内存,并且防止分流错误,管理单元删除第一映射列表。
108:第一接口板接收第二数据流的报文。
当发送端向接收端发送第二数据流的报文时,发送端向第一接口板发送第二数据流的报文。第一接口板接收发送端发送的第二数据流的报文,通过以下步骤109为第二数据流的报文分配业务处理单元。
109:第一接口板根据第二数据流和预设分流算法,从第二映射列表中选择第二业务处理单元的标识。
当预设分流算法为哈希算法时;第一接口板确定第二数据流的会话信息的哈希值,将该哈希值对预设数目进行取模。取模结果为第二映射单元中的一个映射单元的编号。第一接口板从第二映射列表中选择该编号对应的映射单元中保存的第二业务处理单元的标识。
110:第一接口板向第二业务处理单元的标识指示的第二业务处理单元发送第二数据流的报文。
第二业务处理单元接收第一接口板发送的第二数据流的报文,对第二数据流的报文进行安全检测。
第二业务处理单元对第二数据流的报文进行安全检测的步骤可以为:
如果该报文为会话首包,第二业务处理单元对该报文进行安全监测处理;当该数据流安全时,建立该第二数据流的会话信息,向第二接口板转发该报文。第二接口板接收该报文,向接收端发送该报文。当该报文不安全时,第二业务处理单元丢弃该报文。
如果该报文不是会话首包,第二业务处理单元确定是否建立第二数据流的会话信息;如果已建立第二数据流的会话信息,向第二第一接口板转发该报文。如果没有建立第二数据流的会话进行,丢弃该报文。
在本公开实施例中,由于在对报文转发设备进行扩容时,管理单元根据m,在复制的第一映射列表中存储第一业务处理单元的标识的映射单元中选择至少一个映射单元,将选择出的每个映射单元中存储的内容修改为增添的n-k个业务处理单元中的一个业务处理单元的标识。由此可见,在对该报文转发设备进行扩容时,复制的第一映射列表中大部分映射单元中存储的内容不需要进行修改,仅少数映射单元中存储的内容需要进行修改,减少了修改的映射单元数目。进而减少了需要备份的数据流的会话信息,缩短了备份时间,提高了扩容效率。
本公开实施例提供了一种对报文转发设备的业务板进行缩容的方法。该报文转发设备包括第一接口板、管理单元和k个业务处理单元,k为大于1的自然数。在对该报文转发设备进行缩容后,该报文转发设备包括p个业务处理单元,p为大于1且小于k的自然数。
参见图7;该方法包括:
步骤201:第一接口板根据第一映射列表,将报文转发设备接收到的数据流分流至k个业务处理单元进行处理。
报文转发设备在进行报文转发之前,管理单元生成第一映射列表,向第一接口板发送第一映射列表。第一接口板接收管理单元发送的第一映射列表,根据第一映射列表,将报文转发设备接收到的数据流分流至k个业务处理单元进行处理。
其中,第一映射列表包括依次排列的预设数目的映射单元,第一映射列表以每个映射单元存储一个业务处理单元的标识的方式,存储k个业务处理单元的标识。
预设数目可以根据需要进行设置并更改,在本公开实施例中,对预设数目不作具体限定;例如,预设数目可以为1024或者2048等。K也可以根据需要进行设置并更改,在本公开实施例中,对k不作具体限定。例如,k可以为4或者5。
例如,预设数目为1024,k为5,则报文转发设备包括5个业务处理单元,分别为业务处理单元1、业务处理单元2、业务处理单元3、业务处理单元4和业务处理单元5。业务处理单元1的标识为1,业务处理单元2的标识为2,业务处理单元3的标识为3,业务处理单元4的标识为4,业务处理单元5的标识为5。参见图8,则第一映射列表包括1024个映射单元,第一映射列表存储5个业务处理单元的标识,分别为1、2、3、4、5、1、2、3、4、5……1、2、3、4、5(共循环205次)。
202:管理单元检测到报文转发设备被减少业务处理单元时,确定减少业务处理单元之后,报文转发设备包括的业务处理单元的数目p。
管理单元用于感知该报文转发设备增添或者减少业务处理单元。当管理单元检测到设备框中被拔出业务板或者某个业务板上被减少业务处理单元时;管理单元确定该报文转发设备被减少业务处理单元。此时,管理单元确定该报文转发设备包括的业务处理单元的数目p。
由于该报文转发设备包括一个或多个业务板;一个业务板包括一个或多个业务处理单元;相应的,管理单元确定该报文转发设备包括的业务处理单元的数目p的步骤可以为:
管理单元确定该报文转发设备包括的每个业务板上的业务处理单元,确定每个业务板上的业务处理单元之和得到该报文转发设备包括的业务处理单元的数目p。
例如,报文转发设备增添新的业务处理单元之前,报文转发设备包括的业务处理单元的数目为k,在该报文转发设备中减少k-p个业务处理单元,减少业务处理单元之后,该报文转发设备包括的业务处理单元数目为p。
减少的业务处理单元的数目可以根据需要进行设置并更改,在本公开实施例中,对减少的业务处理单元的数目不作具体限定;例如,减少的业务处理单元的数目可以为1、2或者4等。
例如,该报文转发设备包括5个业务处理单元。在对该报文转发设备进行缩容时,在该报文转发设备中减少1个业务处理单元,例如,减少业务处理单元4,则缩容后的该报文转发设备包括4个业务处理单元。
203:管理单元根据p,确定q,其中q为第一业务处理单元预期在第二映射列表中出现的次数,第一业务处理单元为p个业务处理单元中的任一业务处理单元,第二映射列表中包括依次排列的预设数目的映射单元。q随着p的增加而降低,q随着预设数目的增加而增加。
如果该报文转发设备包括的业务处理单元的处理能力相同时,管理单元根据p和预设数目,确定q可以通过以下第一种方式实现;如果该报文转发设备包括的业务处理单元的处理能力不同时,管理单元根据p和预设数目,确定q可以通过以下第二种方式实现。
对于第一种实现方式,管理单元根据p和预设数目,确定q的步骤可以为:
管理单元根据p和预设数目,通过第一预设确定算法,确定q。
第一预设确定算法可以根据需要进行设置并更改,在本公开实施例中,对第一预设确定算法不作具体限定;例如,第一预设确定算法可以为平均算法。
例如,第一预设确定算法为平均算法,则管理单元根据p和预设数目,通过以下公式(一),确定q;
公式一:q=[w+(p-1)]/p;其中,w为预设数目。
例如,预设数目w为1024,p为4,则通过以上公式(一)确定出q=256。
对于第二种实现方式,管理单元根据p和预设数目,确定q的步骤可以为:
管理单元获取第一业务处理单元的处理权重,该处理权重用于指示第一业务处理单元的处理能力;根据该处理权重、p和预设数目,确定q。其中,q随着p的增加而降低,q随着预设数目的增加而增加;q随着该处理权重的增加而降低。
管理单元根据该处理权重、p和预设数目,确定q的步骤可以为:
管理单元根据该处理权重、p和预设数目,通过第二预设确定算法,确定q。
第一预设确定算法和第二预设确定算法可以相同,也可以不同。第二预设确定算法可以根据需要进行设置并更改,在本公开实施例中,对第二预设确定算法不作具体限定。例如,第二预设确定算法可以为平均算法。
例如,第二预设算法为平均算法,则管理单元根据该处理权重、p和预设算法,通过以下公式(二),确定q。
公式二:q=[w+(p-1)]/(a*p);其中,w为预设数目,a为处理权重。
在本步骤之前,用户可以事先在管理单元中配置该报文转发设备中包括的每个业务处理单元的处理权重;管理单元存储每个业务处理单元的标识和处理权重的对应关系;相应的,管理单元获取第一业务处理单元的处理权重的步骤可以为:
管理单元根据第一业务处理单元的标识,从标识和处理权重的对应关系中获取第一业务处理单元的处理权重。
在本步骤之前,用户也可以不事先在管理单元中配置该报文转发设备包括的每个业务处理单元的处理权重;而是在确定q时,显示输入界面,该输入界面包括多个输入框,一个输入框对应一个业务处理单元的标识,用于输入该业务处理单元的处理权重。相应的,管理单元获取第一业务处理单元的处理权重的步骤可以为:
管理单元获取第一业务处理单元对应的输入框中获取第一业务处理单元的处理权重。
需要说明的是,k个业务处理单元中的每个业务处理单元都按照以上第一种方式或者第二种方式确定每个业务处理单元的q。
204:管理单元复制第一映射列表,针对第一业务处理单元,执行A-B,直到处理完p个业务处理单元中的每个业务处理单元为止,将处理后的复制的第一映射列表作为第二映射列表:
步骤A:管理单元根据q,在复制的第一映射列表中存储第二业务处理单元的标识的映射单元中选择至少一个映射单元,第二业务处理单元为减少的k-p个业务处理单元中的任一业务处理单元,选择的映射单元的个数和第一业务处理单元在第一映射列表中的个数之和等于q。
可选地,本步骤可以通过以下步骤2041-2043实现,包括:
2041:管理单元统计第一映射列表中存储第一业务处理单元的标识的映射单元的数目h。
例如,管理单元统计第一映射列表存储第一业务处理单元的标识的映射单元的数目h为205。
2042:管理单元确定q和h之差g。
例如,q为256;则管理单元确定q和h之差g=51。
2043:管理单元从复制的第一映射列表中存储第二业务处理单元的标识的映射单元中选择g个映射单元。
管理单元从复制的第一映射列表中存储业务处理单元4的标识的映射单元中选择51个映射单元。
步骤B:管理单元将选择出的每个映射单元中存储的内容修改为第一业务处理单元的标识。
例如,管理单元将选择出的51个映射单元中存储的内容修改为第一业务处理单元的标识。则第二映射列表参见图9所示。
在本公开实施例中,该报文转发设备缩容后,复制的第二映射列表中包括存储第一业务处理单元的标识的映射单元的数目为205。管理单元只需要将复制的第一映射列表中的51个映射单元中存储的内容进行修改,由此可见,在对该报文转发设备进行缩容时,复制的第一映射列表中大部分映射单元中存储的内容不需要进行修改,仅少数映射单元中存储的内容需要进行修改,减少了修改的映射单元数目。
由于管理单元缩容确定出第二映射列表时,需要触发k-p个业务处理单元进行流表平滑处理。可选地,一种触发方式是执行完步骤204之后,执行步骤205。
205:管理单元向k-p个业务处理单元发送第二映射列表。
管理单元向k-p个业务处理单元中的每个业务处理单元发送第二映射列表。k-p个业务处理单元中的每个业务处理单元接收管理单元发送的第二映射列表。对于k-p个业务处理单元中的任一业务处理单元,均执行以下步骤206和307。为了便于描述,将k-p个业务处理单元中的任一业务处理单元称为第二业务处理单元。
206:第二业务处理单元根据第二映射列表,将保存的第一数据流的会话信息备份到第一业务处理单元,第一数据流为第二业务处理单元中保存的当前未传输完且将被分流到第二业务处理单元的数据流。
可选地,本步骤可以通过以下步骤2061-2063实现,包括:
2061:第二业务处理单元根据第二映射列表和预设分流算法,确定数据流集合中的每个数据流被分流到的处理单元标识,数据流集合包括第二业务处理单元处理的当前未传输完的数据流的标识。
本步骤和步骤1061中的第一业务处理单元根据第二映射列表和预设分流算法,确定数据流集合中的每个数据流被分流到的处理单元标识的过程相似,在此不再赘述。
2062:第二业务处理单元从数据流集合中选择被分流到第一业务处理单元的第一数据流的标识。
本步骤和步骤1062中的第一业务处理单元从数据流集合中选择被分流到目标业务处理单元的第一数据流的过程相似,在此不再赘述。
2063:第二业务处理单元将第一数据流的会话信息备份到第二业务处理单元。
本步骤和步骤1063中的第一业务处理单元将第一数据流的会话信息备份到目标业务处理单元的过程相似,在此不再赘述。
207:第一接口板接收第二数据流的报文。
本步骤和步骤108相似,在此不再赘述。
208:第一接口板根据第二数据流和预设分流算法,从第二映射列表中选择第三业务处理单元的标识。
第一接口板对第二数据流的会话信息的哈希值对该预设数目进行取模,取模结果为一个映射单元的编号。第一接口板从第二映射列表中确定该编号指示的映射单元中保存的第三业务处理单元的标识。
209:第一接口板向第三业务处理单元的标识指示的第三业务处理单元发送第二数据流的报文。
第三业务处理单元接收第一接口板发送的第二数据流的报文,对第二数据流的报文进行安全检测。
其中,第三业务处理单元对第二数据流的报文进行安全检测的过程和第二业务处理单元对第二数据流的报文进行安全检测的过程相似,在此不再赘述。
在本公开实施例中,由于在对报文转发设备进行缩容时,管理单元根据q,在复制的第一映射列表中存储第二业务处理单元的标识的映射单元中选择至少一个映射单元,将选择出的每个映射单元中存储的内容修改为第一业务处理单元的标识。由此可见,在对该报文转发设备进行缩容时,只需要修改复制的第一映射列表中修改存储第二业务处理单元的标识的映射单元中的内容,也即仅少数映射单元中存储的内容需要进行修改,减少了修改的映射单元数目。进而减少了需要备份的数据流的会话信息,缩短了备份时间,提高了缩容效率。
本公开实施例提供了一种对报文转发设备进行扩容的装置,参见图10,该装置包括接口板301、管理单元302和第一业务处理单元303。
接口板301用于执行对报文转发设备进行扩容的方法中的第一接口板执行的步骤。
管理单元302用于执行对报文转发设备进行扩容的方法中的管理单元执行的步骤。
第一业务处理单元303用于执行对报文转发设备进行扩容的方法中的第一业务处理单元执行的步骤。
在本公开实施例中,由于在对报文转发设备进行扩容时,管理单元根据m,在复制的第一映射列表中存储第一业务处理单元的标识的映射单元中选择至少一个映射单元,将选择出的每个映射单元中存储的内容修改为增添的n-k个业务处理单元中的一个业务处理单元的标识。由此可见,在对该报文转发设备进行扩容时,复制的第一映射列表中大部分映射单元中存储的内容不需要进行修改,仅少数映射单元中存储的内容需要进行修改,减少了修改的映射单元数目。进而减少了需要备份的数据流的会话信息,缩短了备份时间,提高了扩容效率。
本公开实施例提供了一种对报文转发设备进行缩容的装置,参见图11,该装置包括:接口板401、管理单元402和第二业务处理单元403。
接口板401用于执行对报文转发设备进行缩容的方法中的第一接口板执行的步骤。
管理单元402用于执行对报文转发设备进行缩容的方法中的管理单元执行的步骤。
第二业务处理单元403用于执行对报文转发设备进行缩容的方法中的第二业务处理单元执行的步骤。
在本公开实施例中,由于在对报文转发设备进行缩容时,管理单元根据q,在复制的第一映射列表中存储第二业务处理单元的标识的映射单元中选择至少一个映射单元,将选择出的每个映射单元中存储的内容修改为第一业务处理单元的标识。由此可见,在对该报文转发设备进行缩容时,只需要修改复制的第一映射列表中修改存储第二业务处理单元的标识的映射单元中的内容,也即仅少数映射单元中存储的内容需要进行修改,减少了修改的映射单元数目。进而减少了需要备份的数据流的会话信息,缩短了备份时间,提高了缩容效率。
本公开实施例提供了一种报文转发设备,参见图12,该设备包括网络接口501、存储器502和处理器503。
网络接口501用于接收报文;
存储器502用于存储指令和数据;
处理器503,用于读取存储器502中存储的指令和数据,执行:
根据第一映射列表,将所述报文转发设备接收到的数据流分流至k个业务处理单元进行处理,所述第一映射列表包括依次排列的预设数目的映射单元,所述第一映射列表以每个映射单元存储一个业务处理单元的标识的方式,存储k个业务处理单元的标识;
检测到所述报文转发设备被增添新的业务处理单元时,确定增添新的业务处理单元之后,所述报文转发设备包括的业务处理单元的数目n,其中n为大于k的自然数;
根据所述n,确定m,其中所述m为第一业务处理单元预期在第二映射列表中出现的次数,所述第一业务处理单元为k个业务处理单元中的任一业务处理单元,所述第二映射列表中包括依次排列的所述预设数目的映射单元;
复制所述第一映射列表,针对所述第一业务处理单元,执行A-B,直到处理完k个业务处理单元中的每个业务处理单元为止,将处理后的复制的第一映射列表作为第二映射列表:
步骤A:根据所述m,在复制的第一映射列表中存储所述第一业务处理单元的标识的映射单元中选择至少一个映射单元,所述复制的第一映射列表中存储所述第一业务处理单元的标识的映射单元中未选择的映射单元的个数等于所述m;
步骤B:将选择出的每个映射单元中存储的内容修改为增添的n-k个业务处理单元中的一个业务处理单元的标识;
向k个业务处理单元发送所述第二映射列表;
根据所述第二映射列表,将保存的第一数据流的会话信息备份到目标业务处理单元,所述目标业务处理单元为所述选择出的映射单元中存储的修改后的内容所指示的业务处理单元,所述第一数据流为所述第一业务处理单元中保存的当前未传输完且将被分流到所述目标业务处理单元的数据流。
处理器503可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。这些指令可以通过其中的处理器以配合实现及控制,用于执行本公开实施例揭示的方法。上述处理器503还可以是通用处理器、数字信号处理器(Digital Signal Processing,DSP)、专用集成电路(application specific integrated circuit)、现成可编程门阵列(FieldProgrammable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
其中,上述通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器,解码器等。结合本公开实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。
本公开实施例所述设备的工作原理可参照前述方法实施例的描述。
在本公开实施例中,由于在对报文转发设备进行扩容时,管理单元根据m,在复制的第一映射列表中存储第一业务处理单元的标识的映射单元中选择至少一个映射单元,将选择出的每个映射单元中存储的内容修改为增添的n-k个业务处理单元中的一个业务处理单元的标识。由此可见,在对该报文转发设备进行扩容时,复制的第一映射列表中大部分映射单元中存储的内容不需要进行修改,仅少数映射单元中存储的内容需要进行修改,减少了修改的映射单元数目。进而减少了需要备份的数据流的会话信息,缩短了备份时间,提高了扩容效率。
本公开实施例提供了一种报文转发设备,参见图13,该设备包括网络接口601、存储器602和处理器603。
网络接口601用于接收报文;
存储器602用于存储指令和数据;
处理器603,用于读取存储器602中存储的指令和数据,执行:
根据第一映射列表,将所述报文转发设备接收到的数据流分流至k个业务处理单元进行处理,所述第一映射列表包括依次排列的预设数目的映射单元,所述第一映射列表以每个映射单元存储一个业务处理单元的标识的方式,存储k个业务处理单元的标识;
检测到所述报文转发设备被减少业务处理单元时,确定减少业务处理单元之后,所述报文转发设备包括的业务处理单元的数目p,其中p为大于1且小于k的自然数;
根据所述p,确定q,其中q为第一业务处理单元预期在第二映射列表中出现的次数,所述第一业务处理单元为p个业务处理单元中的任一业务处理单元,所述第二映射列表中包括依次排列的所述预设数目的映射单元;
复制所述第一映射列表,针对所述第一业务处理单元,执行A-B,直到处理完p个业务处理单元中的每个业务处理单元为止,将处理后的复制的第一映射列表作为第二映射列表:
步骤A:根据所述q,在复制的第一映射列表中存储第二业务处理单元的标识的映射单元中选择至少一个映射单元,所述第二业务处理单元为减少的k-p个业务处理单元中的任一业务处理单元,选择的映射单元的个数和所述第一业务处理单元在所述第一映射列表中的个数之和等于所述q;
步骤B:将选择出的每个映射单元中存储的内容修改为所述第一业务处理单元的标识;
向k-p个业务处理单元发送所述第二映射列表;
根据所述第二映射列表,将保存的第一数据流的会话信息备份到所述第一业务处理单元,所述第一数据流为所述第二业务处理单元中保存的当前未传输完且将被分流到所述第二业务处理单元的数据流。
处理器603可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。这些指令可以通过其中的处理器以配合实现及控制,用于执行本公开实施例揭示的方法。上述处理器603还可以是通用处理器、数字信号处理器(Digital Signal Processing,DSP)、专用集成电路(application specific integrated circuit)、现成可编程门阵列(FieldProgrammable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
其中,上述通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器,解码器等。结合本公开实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。
本公开实施例所述设备的工作原理可参照前述方法实施例的描述。
在本公开实施例中,由于在对报文转发设备进行缩容时,管理单元根据q,在复制的第一映射列表中存储第二业务处理单元的标识的映射单元中选择至少一个映射单元,将选择出的每个映射单元中存储的内容修改为第一业务处理单元的标识。由此可见,在对该报文转发设备进行缩容时,只需要修改复制的第一映射列表中修改存储第二业务处理单元的标识的映射单元中的内容,也即仅少数映射单元中存储的内容需要进行修改,减少了修改的映射单元数目。进而减少了需要备份的数据流的会话信息,缩短了备份时间,提高了缩容效率。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本公开的可选实施例,并不用以限制本公开,凡在本公开的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本公开的保护范围之内。

Claims (24)

1.一种对报文转发设备进行扩容的方法,其特征在于,所述报文转发设备包括接口板、管理单元和k个业务处理单元,所述k为大于1的自然数,所述方法包括:
所述接口板根据第一映射列表,将所述报文转发设备接收到的数据流分流至k个业务处理单元进行处理,所述第一映射列表包括依次排列的预设数目的映射单元,所述第一映射列表以每个映射单元存储一个业务处理单元的标识的方式,存储k个业务处理单元的标识;
所述管理单元检测到所述报文转发设备被增添新的业务处理单元时,确定增添新的业务处理单元之后,所述报文转发设备包括的业务处理单元的数目n,其中,n为大于k的自然数;
所述管理单元根据所述n,确定m,其中所述m为第一业务处理单元预期在第二映射列表中出现的次数,所述第一业务处理单元为k个业务处理单元中的任一业务处理单元,所述第二映射列表中包括依次排列的所述预设数目的映射单元;
所述管理单元复制所述第一映射列表,针对所述第一业务处理单元,执行A-B,直到处理完k个业务处理单元中的每个业务处理单元为止,将处理后的复制的第一映射列表作为第二映射列表:
步骤A:所述管理单元根据所述m,在复制的第一映射列表中存储所述第一业务处理单元的标识的映射单元中选择至少一个映射单元,所述复制的第一映射列表中存储所述第一业务处理单元的标识的映射单元中未选择的映射单元的个数等于所述m;
步骤B:所述管理单元将选择出的每个映射单元中存储的内容修改为增添的n-k个业务处理单元中的一个业务处理单元的标识;
所述管理单元向k个业务处理单元发送所述第二映射列表;
所述第一业务处理单元根据所述第二映射列表,将保存的第一数据流的会话信息备份到目标业务处理单元,所述目标业务处理单元为所述选择出的映射单元修改后的内容所指示的业务处理单元,所述第一数据流为所述第一业务处理单元中保存的当前未传输完且将被分流到所述目标业务处理单元的数据流。
2.根据权利要求1所述的方法,其特征在于,所述管理单元根据所述n,确定m,包括:
所述管理单元根据所述n和所述预设数目,确定所述m;其中,所述m随着所述n的增加而降低,所述m随着所述预设数目的增加而增加。
3.根据权利要求2所述的方法,其特征在于,所述管理单元根据n和所述预设数目,确定所述m,包括:
所述管理单元获取所述第一业务处理单元的处理权重,所述处理权重用于指示所述第一业务处理单元的处理能力;
所述管理单元根据所述处理权重、所述n和所述预设数目,确定所述m;其中,所述m随着所述处理权重的增加而降低。
4.根据权利要求1所述的方法,其特征在于,所述第一业务处理单元根据所述第二映射列表,将保存的第一数据流的会话信息备份到目标业务处理单元之后,所述方法还包括:
所述第一业务处理单元将所述第一数据流的会话信息从所述第一业务处理单元中删除。
5.根据权利要求1所述的方法,其特征在于,所述第一业务处理单元根据所述第二映射列表,将保存的第一数据流的会话信息备份到目标业务处理单元,包括:
所述第一业务处理单元根据所述第二映射列表和预设分流算法,确定数据流集合中的每个数据流被分流到的处理单元标识,所述数据流集合包括所述第一业务处理单元处理的当前未传输完的数据流;
所述第一业务处理单元从所述数据流集合中选择被分流到所述目标业务处理单元的第一数据流;
所述第一业务处理单元将所述第一数据流的会话信息备份到所述目标业务处理单元。
6.根据权利要求1-5任一所述的方法,其特征在于,所述第一业务处理单元根据所述第二映射列表,将保存的第一数据流的会话信息备份到目标业务处理单元之后,所述方法还包括:
所述接口板接收第二数据流的报文;
所述接口板根据所述第二数据流和预设分流算法,从所述第二映射列表中选择第二业务处理单元的标识;
所述接口板向所述第二业务处理单元的标识指示的所述第二业务处理单元发送所述第二数据流的报文。
7.一种对报文转发设备进行缩容的方法,其特征在于,所述报文转发设备包括接口板、管理单元和k个业务处理单元,所述k为大于1的自然数,所述方法包括:
所述接口板根据第一映射列表,将所述报文转发设备接收到的数据流分流至k个业务处理单元进行处理,所述第一映射列表包括依次排列的预设数目的映射单元,所述第一映射列表以每个映射单元存储一个业务处理单元的标识的方式,存储k个业务处理单元的标识;
所述管理单元检测到所述报文转发设备被减少业务处理单元时,确定减少业务处理单元之后,所述报文转发设备包括的业务处理单元的数目p,其中,p为大于1且小于k的自然数;
所述管理单元根据所述p,确定q,其中q为第一业务处理单元预期在第二映射列表中出现的次数,所述第一业务处理单元为p个业务处理单元中的任一业务处理单元,所述第二映射列表中包括依次排列的所述预设数目的映射单元;
所述管理单元复制所述第一映射列表,针对所述第一业务处理单元,执行A-B,直到处理完p个业务处理单元中的每个业务处理单元为止,将处理后的复制的第一映射列表作为第二映射列表:
步骤A:所述管理单元根据所述q,在复制的第一映射列表中存储第二业务处理单元的标识的映射单元中选择至少一个映射单元,所述第二业务处理单元为减少的k-p个业务处理单元中的任一业务处理单元,选择的映射单元的个数和所述第一业务处理单元在所述第一映射列表中的个数之和等于所述q;
步骤B:所述管理单元将选择出的每个映射单元中存储的内容修改为所述第一业务处理单元的标识;
所述管理单元向k-p个业务处理单元发送所述第二映射列表;
所述第二业务处理单元根据所述第二映射列表,将保存的第一数据流的会话信息备份到所述第一业务处理单元,所述第一数据流为所述第二业务处理单元中保存的当前未传输完且将被分流到所述第二业务处理单元的数据流。
8.根据权利要求7所述的方法,其特征在于,所述管理单元根据所述p,确定q,包括:
所述管理单元根据所述p和所述预设数目,确定所述q;其中,所述q随着所述p的增加而降低,所述q随着所述预设数目的增加而增加。
9.根据权利要求8所述的方法,其特征在于,所述管理单元根据所述p和所述预设数目,确定所述q,包括
所述管理单元获取所述第一业务处理单元的处理权重,所述处理权重用于指示所述第一业务处理单元的处理能力;
所述管理单元根据所述处理权重、所述p和所述预设数目,确定所述q;其中,所述q随着所述处理权重的增加而降低。
10.根据权利要求7所述的方法,其特征在于,所述第二业务处理单元根据所述第二映射列表,将保存的第一数据流的会话信息备份到所述第一业务处理单元,包括:
所述第二业务处理单元根据所述第二映射列表和预设分流算法,确定数据流集合中的每个数据流被分流到的处理单元标识,所述第二数据流集合包括所述第二业务处理单元处理的当前未传输完的数据流;
所述第二业务处理单元从所述数据流集合中选择被分流到所述第一业务处理单元的第一数据流;
所述第二业务处理单元将所述第一数据流的会话信息备份到所述第二业务处理单元。
11.根据权利要求7-10任一所述的方法,其特征在于,所述第二业务处理单元根据所述第二映射列表,将保存的第一数据流的会话信息备份到所述第一业务处理单元之后,所述方法还包括:
所述接口板接收第二数据流的报文;
所述接口板根据所述第二数据流和预设分流算法,从所述第二映射列表中选择第三业务处理单元的标识;
所述接口板向所述第三业务处理单元的标识指示的所述第三业务处理单元发送所述第二数据流的报文。
12.一种对报文转发设备进行扩容的装置,其特征在于,所述装置应用在报文转发设备中,所述报文转发设备包括接口板、管理单元和k个业务处理单元,所述k为大于1的自然数;
所述接口板,用于根据第一映射列表,将所述报文转发设备接收到的数据流分流至k个业务处理单元进行处理,所述第一映射列表包括依次排列的预设数目的映射单元,所述第一映射列表以每个映射单元存储一个业务处理单元的标识的方式,存储k个业务处理单元的标识;
所述管理单元,用于检测到所述报文转发设备被增添新的业务处理单元时,确定增添新的业务处理单元之后,所述报文转发设备包括的业务处理单元的数目n,其中n为大于k的自然数;
所述管理单元,还用于根据所述n,确定m,其中所述m为第一业务处理单元预期在第二映射列表中出现的次数,所述第一业务处理单元为k个业务处理单元中的任一业务处理单元,所述第二映射列表中包括依次排列的所述预设数目的映射单元;
所述管理单元,还用于复制所述第一映射列表,针对所述第一业务处理单元,执行A-B,直到处理完k个业务处理单元中的每个业务处理单元为止,将处理后的复制的第一映射列表作为第二映射列表:
步骤A:所述管理单元,还用于根据所述m,在复制的第一映射列表中存储所述第一业务处理单元的标识的映射单元中选择至少一个映射单元,所述复制的第一映射列表中存储所述第一业务处理单元的标识的映射单元中未选择的映射单元的个数等于所述m;
步骤B:所述管理单元,还用于将选择出的每个映射单元中存储的内容修改为增添的n-k个业务处理单元中的一个业务处理单元的标识;
所述管理单元,还用于向k个业务处理单元发送所述第二映射列表;
所述第一业务处理单元,用于根据所述第二映射列表,将保存的第一数据流的会话信息备份到目标业务处理单元,所述目标业务处理单元为所述选择出的映射单元中存储的修改后的内容所指示的业务处理单元,所述第一数据流为所述第一业务处理单元中保存的当前未传输完且将被分流到所述目标业务处理单元的数据流。
13.根据权利要求12所述的装置,其特征在于,
所述管理单元,还用于根据所述n和所述预设数目,确定所述m;其中,所述m随着所述n的增加而降低,所述m随着所述预设数目的增加而增加。
14.根据权利要求13所述的装置,其特征在于,
所述管理单元,还用于获取所述第一业务处理单元的处理权重,所述处理权重用于指示所述第一业务处理单元的处理能力;根据所述处理权重、所述n和所述预设数目,确定所述m;其中,所述m随着所述处理权重的增加而降低。
15.根据权利要求12所述的装置,其特征在于,
所述第一业务处理单元,还用于将所述第一数据流的会话信息从所述第一业务处理单元中删除。
16.根据权利要求12所述的装置,其特征在于,
所述第一业务处理单元,还用于根据所述第二映射列表和预设分流算法,确定数据流集合中的每个数据流被分流到的处理单元标识,所述数据流集合包括所述第一业务处理单元处理的当前未传输完的数据流;从所述数据流集合中选择被分流到所述目标业务处理单元的第一数据流;将所述第一数据流的会话信息备份到所述目标业务处理单元。
17.根据权利要求12-16任一所述的装置,其特征在于,
所述接口板,还用于接收第二数据流的报文;根据所述第二数据流和预设分流算法,从所述第二映射列表中选择第二业务处理单元的标识;向所述第二业务处理单元的标识指示的所述第二业务处理单元发送所述第二数据流的报文。
18.一种对报文转发设备进行缩容的装置,其特征在于,所述装置应用在报文转发设备中,所述报文转发设备包括接口板、管理单元和k个业务处理单元,所述k为大于1的自然数;
所述接口板,用于根据第一映射列表,将所述报文转发设备接收到的数据流分流至k个业务处理单元进行处理,所述第一映射列表包括依次排列的预设数目的映射单元,所述第一映射列表以每个映射单元存储一个业务处理单元的标识的方式,存储k个业务处理单元的标识;
所述管理单元,用于检测到所述报文转发设备被减少业务处理单元时,确定减少业务处理单元之后,所述报文转发设备包括的业务处理单元的数目p,其中p为大于1且小于k的自然数;
所述管理单元,还用于根据所述p,确定q,其中q为第一业务处理单元预期在第二映射列表中出现的次数,所述第一业务处理单元为p个业务处理单元中的任一业务处理单元,所述第二映射列表中包括依次排列的所述预设数目的映射单元;
所述管理单元,还用于复制所述第一映射列表,针对所述第一业务处理单元,执行A-B,直到处理完p个业务处理单元中的每个业务处理单元为止,将处理后的复制的第一映射列表作为第二映射列表:
步骤A:所述管理单元,还用于根据所述q,在复制的第一映射列表中存储第二业务处理单元的标识的映射单元中选择至少一个映射单元,所述第二业务处理单元为减少的k-p个业务处理单元中的任一业务处理单元,选择的映射单元的个数和所述第一业务处理单元在所述第一映射列表中的个数之和等于所述q;
步骤B:所述管理单元,还用于将选择出的每个映射单元中存储的内容修改为所述第一业务处理单元的标识;
所述管理单元,还用于向k-p个业务处理单元发送所述第二映射列表;
所述第二业务处理单元,用于根据所述第二映射列表,将保存的第一数据流的会话信息备份到所述第一业务处理单元,所述第一数据流为所述第二业务处理单元中保存的当前未传输完且将被分流到所述第二业务处理单元的数据流。
19.根据权利要求18所述的装置,其特征在于,
所述管理单元,还用于根据所述p和所述预设数目,确定所述q;其中,所述q随着所述p的增加而降低,所述q随着所述预设数目的增加而增加。
20.根据权利要求19所述的装置,其特征在于,
所述管理单元,还用于获取所述第一业务处理单元的处理权重,所述处理权重用于指示所述第一业务处理单元的处理能力;根据所述处理权重、所述p和所述预设数目,确定所述q;其中,所述q随着所述处理权重的增加而降低。
21.根据权利要求18所述的装置,其特征在于,
所述第二业务处理单元,还用于根据所述第二映射列表和预设分流算法,确定数据流集合中的每个数据流被分流到的处理单元标识,所述第二数据流集合包括所述第二业务处理单元处理的当前未传输完的数据流;从所述数据流集合中选择被分流到所述第一业务处理单元的第一数据流;将所述第一数据流的会话信息备份到所述第二业务处理单元。
22.根据权利要求18-21任一所述的装置,其特征在于,
所述接口板,还用于接收第二数据流的报文;根据所述第二数据流和预设分流算法,从所述第二映射列表中选择第三业务处理单元的标识;向所述第三业务处理单元的标识指示的所述第三业务处理单元发送所述第二数据流的报文。
23.一种报文转发设备,其特征在于,所述设备包括:网络接口、存储器、处理器;
所述网络接口用于接收报文;
所述存储器用于存储指令和数据;
所述处理器,用于读取所述存储器中存储的指令和数据,执行:
根据第一映射列表,将所述报文转发设备接收到的数据流分流至k个业务处理单元进行处理,所述第一映射列表包括依次排列的预设数目的映射单元,所述第一映射列表以每个映射单元存储一个业务处理单元的标识的方式,存储k个业务处理单元的标识;
检测到所述报文转发设备被增添新的业务处理单元时,确定增添新的业务处理单元之后,所述报文转发设备包括的业务处理单元的数目n,其中n为大于k的自然数;
根据所述n,确定m,其中所述m为第一业务处理单元预期在第二映射列表中出现的次数,所述第一业务处理单元为k个业务处理单元中的任一业务处理单元,所述第二映射列表中包括依次排列的所述预设数目的映射单元;
复制所述第一映射列表,针对所述第一业务处理单元,执行A-B,直到处理完k个业务处理单元中的每个业务处理单元为止,将处理后的复制的第一映射列表作为第二映射列表:
步骤A:根据所述m,在复制的第一映射列表中存储所述第一业务处理单元的标识的映射单元中选择至少一个映射单元,所述复制的第一映射列表中存储所述第一业务处理单元的标识的映射单元中未选择的映射单元的个数等于所述m;
步骤B:将选择出的每个映射单元中存储的内容修改为增添的n-k个业务处理单元中的一个业务处理单元的标识;
向k个业务处理单元发送所述第二映射列表;
根据所述第二映射列表,将保存的第一数据流的会话信息备份到目标业务处理单元,所述目标业务处理单元为所述选择出的映射单元中存储的修改后的内容所指示的业务处理单元,所述第一数据流为所述第一业务处理单元中保存的当前未传输完且将被分流到所述目标业务处理单元的数据流。
24.一种报文转发设备,其特征在于,所述设备包括:网络接口、存储器、处理器;
所述网络接口用于接收报文;
所述存储器用于存储指令和数据;
所述处理器,用于读取所述存储器中存储的指令和数据,执行:
根据第一映射列表,将所述报文转发设备接收到的数据流分流至k个业务处理单元进行处理,所述第一映射列表包括依次排列的预设数目的映射单元,所述第一映射列表以每个映射单元存储一个业务处理单元的标识的方式,存储k个业务处理单元的标识;
检测到所述报文转发设备被减少业务处理单元时,确定减少业务处理单元之后,所述报文转发设备包括的业务处理单元的数目p,其中p为大于1且小于k的自然数;
根据所述p,确定q,其中q为第一业务处理单元预期在第二映射列表中出现的次数,所述第一业务处理单元为p个业务处理单元中的任一业务处理单元,所述第二映射列表中包括依次排列的所述预设数目的映射单元;
复制所述第一映射列表,针对所述第一业务处理单元,执行A-B,直到处理完p个业务处理单元中的每个业务处理单元为止,将处理后的复制的第一映射列表作为第二映射列表:
步骤A:根据所述q,在复制的第一映射列表中存储第二业务处理单元的标识的映射单元中选择至少一个映射单元,所述第二业务处理单元为减少的k-p个业务处理单元中的任一业务处理单元,选择的映射单元的个数和所述第一业务处理单元在所述第一映射列表中的个数之和等于所述q;
步骤B:将选择出的每个映射单元中存储的内容修改为所述第一业务处理单元的标识;
向k-p个业务处理单元发送所述第二映射列表;
根据所述第二映射列表,将保存的第一数据流的会话信息备份到所述第一业务处理单元,所述第一数据流为所述第二业务处理单元中保存的当前未传输完且将被分流到所述第二业务处理单元的数据流。
CN201710332781.8A 2017-05-12 2017-05-12 对报文转发设备的业务板进行扩容、缩容的方法和装置 Active CN108874530B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710332781.8A CN108874530B (zh) 2017-05-12 2017-05-12 对报文转发设备的业务板进行扩容、缩容的方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710332781.8A CN108874530B (zh) 2017-05-12 2017-05-12 对报文转发设备的业务板进行扩容、缩容的方法和装置

Publications (2)

Publication Number Publication Date
CN108874530A true CN108874530A (zh) 2018-11-23
CN108874530B CN108874530B (zh) 2020-11-06

Family

ID=64319738

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710332781.8A Active CN108874530B (zh) 2017-05-12 2017-05-12 对报文转发设备的业务板进行扩容、缩容的方法和装置

Country Status (1)

Country Link
CN (1) CN108874530B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111787580A (zh) * 2019-01-14 2020-10-16 Oppo广东移动通信有限公司 一种数据流处理方法、设备及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030152024A1 (en) * 2002-02-09 2003-08-14 Mi-Jung Yang Method for sharing backup path in MPLS network, label switching router for setting backup in MPLS network, and system therefor
CN101997918A (zh) * 2010-11-11 2011-03-30 清华大学 异构san环境中的海量存储资源按需分配的实现方法
CN104244305A (zh) * 2014-09-02 2014-12-24 福建三元达通讯股份有限公司 基于atca硬件的多板卡lte网关处理方法及系统
CN105530259A (zh) * 2015-12-22 2016-04-27 华为技术有限公司 报文过滤方法及设备

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030152024A1 (en) * 2002-02-09 2003-08-14 Mi-Jung Yang Method for sharing backup path in MPLS network, label switching router for setting backup in MPLS network, and system therefor
CN101997918A (zh) * 2010-11-11 2011-03-30 清华大学 异构san环境中的海量存储资源按需分配的实现方法
CN104244305A (zh) * 2014-09-02 2014-12-24 福建三元达通讯股份有限公司 基于atca硬件的多板卡lte网关处理方法及系统
CN105530259A (zh) * 2015-12-22 2016-04-27 华为技术有限公司 报文过滤方法及设备

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111787580A (zh) * 2019-01-14 2020-10-16 Oppo广东移动通信有限公司 一种数据流处理方法、设备及存储介质
US11533138B2 (en) 2019-01-14 2022-12-20 Guangdong Oppo Mobile Telecommunications Corp., Ltd. Method, device, and storage medium for processing data flow

Also Published As

Publication number Publication date
CN108874530B (zh) 2020-11-06

Similar Documents

Publication Publication Date Title
US10547538B2 (en) Packet forwarding method and apparatus
CN102104486B (zh) 交换集线器、线卡以及帧中继方法
US6061735A (en) Network restoration plan regeneration responsive to network topology changes
US20160134467A1 (en) Method and apparatus for switching between master device and backup device
EP1804423A2 (en) Method for rapidly recovering multicast service and network device
CN107181812A (zh) 一种加速代理设备、加速代理方法以及一种内容管理系统
CN107743076A (zh) 一种ncsi共享网口切换方法及装置
CN104038376A (zh) 一种管理真实服务器的方法、装置及lvs集群系统
CN106059791A (zh) 一种存储系统中业务的链路切换方法和存储设备
CN106789625A (zh) 一种环路检测方法及装置
JP2005322107A (ja) 負荷分散装置及びプログラム
US20160057043A1 (en) Diagnostic routing system and method for a link access group
CN109981450B (zh) 路径连通维护方法、装置和系统
CN110855424B (zh) 一种DPI领域非对称流量xDR合成的方法和装置
CN109039959A (zh) 一种sdn网络规则的一致性判断方法及相关装置
CN108614750A (zh) 宕机数据的恢复方法及装置
CN107612772A (zh) 支付系统的节点状态探测方法及装置
CN102769552B (zh) 一种通过bfd检测lsp时传输bfd报文的方法和设备
CN108874530A (zh) 对报文转发设备的业务板进行扩容、缩容的方法和装置
CN106790411B (zh) 虚拟交换机与物理交换机的非聚合端口级联系统及方法
CN106502841B (zh) 数据备份方法及装置
CN107819594B (zh) 网络故障定位方法及装置
CN109005122B (zh) 报文发送方法、装置及网络设备
CN102055662A (zh) 预置路由的确定方法与装置
CN109428814B (zh) 一种组播流量传输方法、相关设备和计算机可读存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant