数据报文的处理方法及处理服务器的制作方法

文档序号:7744856阅读:122来源:国知局
专利名称:数据报文的处理方法及处理服务器的制作方法
技术领域
本发明涉及通信技术,具体涉及一种数据报文的处理方法及处理服务器。
背景技术
现在企业多使用虚拟专用网络(VPN,Virtual Private Network)服务器或其他代 理服务器,完成对企业内网的访问,通常客户通过服务器访问内网资源,通常建立一个从客 户到服务器的一个连接,然后服务器再同内网服务器建立一个连接,并且该服务器中可以 包括多个处理器,即所谓的多核。在现有的做法中,第一种做法是,服务器将所有的数据进行共享,在该服务器接收 到客户发送的连接时,无论服务器中哪个处理器接收到客户的连接时,该处理器都先必须 对共享数据进行加锁和遍历处理,然后再进行下一步处理;第二种做法是,服务器中的所有 处理器记录与客户连接的信息,然后,再由一个处理器解析所有进出服务器的报文的特征 信息,然后,再查找到需要处理的处理器进行相应的处理。发明人在实现本发明的过程中,发现现有技术至少存在以下缺点第一种做法中, 由于无法确定一组连接能否在一个处理器中处理,只能将相关的数据在多个处理器中共 享,每个处理器都必须对共享数据进行加锁和遍历处理,处理器间交互频繁,影响数据的处 理效率;第二种做法中,由一个处理器来解析所有的报文的特征信息,进而确认相应的处理 器,从而也导致多个处理器需要频繁交互,影响数据的处理效率。

发明内容
本发明实施例提供一种数据报文的处理方法及处理服务器,使用相同的处理单元 处理相同的一组连接,并且减少确认处理单元时,处理单元之间需要频繁交互的情况,从而 可以提高数据报文的处理效率。根据本发明的一方面,提供一种数据报文的处理方法,包括为外部网发送的数据报文分配处理单元,令所述处理单元处理所述数据报文;将预设的所述处理单元对应的端口号作为处理后的数据报文的源端口号;发送处理后的数据报文至内网服务器。根据本发明的另一方面,还提供一种处理服务器,所述处理服务器与外部网和内 网服务器通信连接,所述处理服务器包括端口管理模块、处理单元群、及数据发送模块; 其中,所述端口管理模块,用于为所述外部网发送的数据报文分配所述处理单元群的处 理单元,令所述处理单元处理所述数据报文,并将预设的所述处理单元对应的端口号作为 所述处理后的数据报文的源端口号;所述数据发送模块,用于发送处理后的数据报文至所述内网服务器。本发明实施例提供的数据报文的处理方法及处理服务器,通过分配和管理同一个 处理单元来处理外部网和内网服务器发送的相关联的数据报文,使得相同的一组连接由相同的处理单元处理,并且减少确认处理单元时,处理单元之间需要频繁交互的情况,从而可 以提高数据报文的处理效率。


为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使 用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于 本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其 他的附图。图1为本发明实施例中处理服务器的结构示意图;图2为本发明实施例的数据报文的处理方法的总体流程图;图3为本发明实施例的数据报文的处理方法的具体流程图。
具体实施例方式下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完 整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于 本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他 实施例,都属于本发明保护的范围。图1为本发明实施例中处理服务器的结构示意图。在本实施例中,外部网1与内 部网2通信连接,内部网2可以理解为企业网。内部网2包括处理服务器21和内网服务器 22,外部网1通过处理服务器21访问内网服务器22。在本实施例中,处理服务器21可以是 VPN服务器或是代理服务器。在本实施例中,处理服务器21可以将外部网1发送的数据进 行处理后,再转发至内网服务器22,处理服务器21也可以将内网服务器22发送的数据进行 处理后,转发至外部网1。在本实施例中,处理服务器21包括端口管理模块211、处理单元群212 (也可以 称为CPU群),和数据发送模块213 ;处理服务器21还可以包括数据接收模块210和/或 端口划分模块214。在本实施例中,处理单元可以包括中央处理器CPU、微处理器MCU、可编 程逻辑门阵列FPGA、数字信号处理器DSP等。在本实施例中,数据接收模块210用于接收外部网1或内网服务器22发送的数据 报文。在本实施例中,外部网1发送的数据报文为加密的数据报文,内网服务器22发送的 数据报文为非加密的数据报文。在本实施例中,数据接收模块210还用于判断所接收的数 据报文的类型,即识别确定当前所接收的数据报文是来自于外部网1,还是来自于内网服务 器22。在本实施例中,可以现有技术中的识别技术来进行识别,比如,若当前的处理服务器 SSL服务器时,外部网1发送的数据报文中的端口号为443,即SSL服务器只需要识别数据 报文中的端口号即可确定该数据报文是否为加密报文,从而判断出是否来自于外部网1。当 然,反过来,由于内网服务器22的发送至SSL服务器的数据报文不加密,因而,其端口号不 是443,从而可以进行识别。 在本实施例中,处理单元群212包括多个处理单元,每个处理单元互相独立,端口 划分模块214用于根据处理单元ID划分端口号,以使处理单元与端口号相对应,便于管理 处理单元群212中的每个处理单元。在本实施例中,端口划分模块214可以根据处理单元ID将处理单元群212进行划分端口范围,例如处理单元O的的端口范围可以为3001-6000, 处理单元1的端口范围可以为6001-9000,依次类推。端口划分模块214也可以预先获取 CPU群214的各处理单元的ID,或者CPU群214的各处理单元的ID是有管理人员预置的。端口管理模块211用于当数据接收模块210确定所接收的数据报文为外部网1发 送的数据报文时,为该数据报文分配处理单元。在本实施例中,可以采用分配策略对该数据 报文进行分配处理单元。在本实施例中,该分配策略可以将该数据报文的IP地址和端口号 进行HASH计算,也可以只将该数据报文的IP地址进行HASH计算,将HASH计算后的结果匹 配一个处理单元。比如,可以将HASH值同处理单元的ID进行强相关的方式匹配。在本实施例中,端口管理模块211还用于当为该数据报文分配一个处理单元时, 将该数据报文发送至该处理单元,令所述处理单元处理所述数据报文。该处理单元对该数 据报文进行解密处理。在本实施例中,若该数据报文解密后,若需要发送至内网服务器22, 数据发送模块213用于将该处理单元处理后的数据报文发送至内网服务器22。在本实施 例中,端口管理模块211可以根据预设的不同的处理单元ID划分不同的端口号,以使不同 的处理单元管理不同的端口号,并将划分后的端口号作为所述处理后的数据报文的源端口 号。可以理解为例如处理单元0的端口范围可以为3001-6000,处理单元1的端口范围可以 为6001-9000,依次类推,即可以将处理单元0的端口范围中的某一个端口号作为该数据报 文的源端口号。在本实施例中,数据发送模块213发送至内网服务器22的数据报文中包括 端口管理模块211划分的源端口号。在本实施例中,内网服务器22接收处理服务器21发送的数据报文,进行相关的处 理,并返回处理后的数据报文至处理服务器21。此时,内网服务器22返回的数据报文不进 行加密,并且包括目的端口号。端口管理模块211用于当数据接收模块210判断所接收的数据报文为内网服务 器22发送的数据报文时,获取该数据报文的目的端口号,并将该目的端口号与处理单元群 212中的处理单元管理的端口号进行匹配,判断所述获取的目的端口号与发送至所述内网 服务器的数据报文中的源端口号是否相同,若相同,则所述数据报文为将所述源端口号作 为目的端口号的数据报文。在本实施例中,由于在处理服务器21与内网服务器22进行数 据交互时,在内网服务器22将处理服务器21发送的数据报文进行处理后,需要将该处理后 的数据报文返回至对应的处理服务器中处理的处理单元,因此,内网服务器22将处理后的 数据报文的目的端口号与处理服务器发送的数据报文的源端口号设置成相同的端口号,并 且该端口号与处理单元ID具有对应的关系。在本实施例中,端口管理模块211将获取的该 目的端口号与处理单元群212中的处理单元管理的端口号进行匹配,就可以正确的找着处 理该数据报文的处理单元ID,从而可以判断同一个处理单元来处理该数据报文,从而可以 实现在处理单元群212中的处理单元之间没有交互的情况下对数据报文的处理。端口管理模块211还用于当该目的端口号与处理单元群212中的处理单元的端口 号进行匹配后,将该内网服务器22发送的数据报文发送至匹配的处理单元进行处理。本实施例提供的技术方案,通过端口管理模块分配和管理同一个处理单元来处理 外部网1和内网服务器22发送的相关联的数据报文,使得相同的一组连接由相同的处理单 元处理,并且减少确认处理单元时,处理单元之间需要频繁交互的情况,从而可以提高数据 报文的处理效率。
图2为本发明实施例的数据报文的处理方法的总体流程图。在本实施例中,所述的处理数据报文的方法可以应用于客户在外部网通过处理服务器或代理服务器来访问某企业的内网服务器。在本实施例中,所述方法可以包括步骤S300,为外部网发送的数据报文分配处理单元进行处理;也可以理解为,为 外部网发送的数据报文分配处理单元,令该处理单元处理该数据报文。步骤S302,将预设的所述处理单元对应的端口号作为所述处理后的数据报文的源 端口号;步骤S304,发送所述数据报文至内网服务器进行处理。通过上述对步骤S300至S304的说明,实现了本发明实施例提供的数据报文的处 理方法,该方法通过分配和管理同一个处理单元来处理外部网发送的数据报文,从而可以 避免现有技术中的在处理数据报文时,处理单元之间需要频繁交互的情况,从而可以提高 数据报文的处理效率。该方法还可以包括步骤S306,接收所述内网服务器发送的将所述源端口号作为目的端口号的处理后 的数据报文;步骤S308,将数据报文发送至所述源端口号对应的处理单元进行处理。该方法通过增加步骤S306和S308,使得从内网服务器发送来的将源端口号作为 目的端口号的处理后的数据被发送到同一个处理单元中进行处理,避免了处理单元之间的 交互,提高数据报文的处理效率。需要说明的是,步骤S306、S308可以在步骤S300之前执行也可以在步骤S304之 后执行。当在步骤S304之后执行时,所述的述源端口号也就是对各处理单元预设的对应端 口号图3为本发明另一实施例的数据报文的处理方法的具体流程图。以下进行详细描述。步骤S400,处理服务器接收数据报文。在本实施例中,数据报文可能由外部网发 送,也可能由内网服务器发送。步骤S402,判断是否为外部网或内网服务器的数据报文。在本实施例中,外部网 与处理服务器交互的数据报文是加密的数据,而处理服务器与内网服务器之间交互的数据 报文不是加密的数据报文,因而,在步骤中,可以确定是否为加密数据报文。比如,若当前的 处理服务器SSL服务器时,外部网发送的数据报文中的端口号为443,即SSL服务器只需要 识别数据报文中的端口号即可确定该数据报文是否为加密报文,从而确定是否来自于外部 网。当然,反过来,由于内网服务器的发送至SSL服务器的数据报文不加密,因而,其端口号 不是443,从而可以进行识别。显然,步骤S402可以对任意两个端口号不同的数据进行区 分,不限于仅区分出是否加密数据。在本实施例中,若确定所接收的数据报文为外部网发送的数据报文,则继续执行 步骤S404,若确定所接收的数据报文为内网服务器发送的数据报文时,则跳过步骤S404、 S406及S408,直接执行步骤S410。步骤S404,根据所述数据报文的IP地址,或者根据所述数据报文的IP地址和端口 号,为该数据报文分配处理单元。在本实施例中,可以采用分配策略对该数据报文进行分配处理单元。在本实施例中,该分配策略可以将该数据报文的IP地址和端口号进行HASH计 算,也可以只将该数据报文的IP地址进行HASH计算,将HASH计算后的结果匹配一个处理 单元。比如,可以将HASH值同处理单元的ID进行强相关的方式匹配。需要理解的是,为数 据报文分配处理单元,不限于采用HASH计算的方法,还可以有其他分配方法。步骤S406,将该数据报文发送至该分配的处理单元进行解密处理。步骤S408,将处理后的数据报文发送至内网服务器。在本实施例中,在 步骤S400 之前,该方法还可以根据不同的处理单元ID划分不同的端口号,以使不同的处理单元管理 不同的端口号,将划分后的端口号作为所述处理后的数据报文的源端口号。可以理解为例 如处理单元0的端口范围可以为3001-6000,处理单元1的端口范围可以为6001-9000,依 次类推,即可以将处理单元0的端口范围中的某一个端口号作为该数据报文的源端口号。 在本实施例中,发送至内网服务器的数据报文中包括划分的源端口号。当执行步骤S408后,处理服务器需要等待内网服务器返回处理该数据报文的消 息,即返回执行步骤S400,接收数据据文。此时,所接收的数据报文可能为内网服务器返回 的针对处理服务器发送的数据报文的处理消息,也可能为客户通过外部网发送的其它数据 报文。步骤S410,获取该内网服务器发送的数据报文的目的端口号。步骤S412,将该获取的目的端口号与处理单元管理的端口号进行匹配。在本实施 例中,由于在处理服务器与内网服务器进行数据交互时,在内网服务器将处理服务器发送 的数据报文进行处理后,需要将该处理后的数据报文返回至对应的处理服务器中处理的处 理单元,因此,内网服务器将处理后的数据报文的目的端口号与处理服务器发送的数据报 文的源端口号设置成相同的端口号,并且该端口号与处理单元ID具有对应的关系。在本实 施例中,将获取的该目的端口号与处理单元的端口号进行匹配,就可以正确的找着处理该 数据报文的处理单元ID,从而可以确定同一个处理单元来处理该数据报文,从而可以实现 处理单元群中的处理单元之间没有交互的情况下对数据报文的处理。步骤S414,将该数据报文发送至所述源端口号对应的处理单元进行处理,进行相 应的处理。本实施例提供的技术方案,通过分配和管理同一个处理单元来处理外部网和内网 服务器发送的相关联的数据报文,使得相同的一组连接由相同的处理单元处理,并且减少 确认处理单元时,处理单元之间需要频繁交互的情况,从而可以提高数据报文的处理效率。本发明装置实施例可以实施本发明方法实施例。本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以 通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质 中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁 碟、光盘、只读存储记忆体(Read-Only Memory, ROM)或随机存储记忆体(Random Access Memory, RAM)等。以上对本发明实施例进行了详细介绍,本文中应用了具体实施方式
对本发明进行 了阐述,以上实施例的说明只是用于帮助理解本发明的方法及设备;同时,对于本领域的 一般技术人员,依据本发明的思想,在具体实施方式
及应用范围上均会有改变之处,综上所 述,本说明书内容不应理解为对本发明的限制。
权利要求
一种数据报文的处理方法,其特征在于,包括为外部网发送的数据报文分配处理单元,令所述处理单元处理所述数据报文;将预设的所述处理单元对应的端口号作为处理后的数据报文的源端口号;发送处理后的数据报文至内网服务器。
2.根据权利要求1所述的方法,其特征在于,发送所述处理后的数据报文至内网服务 器之后,还包括接收所述内网服务器发送的将所述源端口号作为目的端口号的处理后的数据报文; 将数据报文发送至所述源端口号对应的处理单元进行处理。
3.根据权利要求1所述的方法,其特征在于,所述为外部网发送的数据报文分配处理 单元包括根据所述数据报文的IP地址,或者根据所述数据报文的IP地址和端口号,为外部网发 送的数据报文分配处理单元。
4.根据权利要求1所述的方法,其特征在于,所述将预设的所述处理单元对应的端口 号作为处理后的所述数据报文的源端口号之前,还包括根据处理单元ID划分端口号,以使处理单元与端口号相对应。
5.根据权利要求2所述的方法,其特征在于,所述将数据报文发送至所述源端口号对 应的处理单元进行处理,包括获取所述处理后的数据报文的目的端口号;将所述获取的目的端口号与所述预设的处理单元对应的端口号进行匹配。
6.一种处理服务器,包括至少一个处理单元,其特征在于,包括端口管理模块,用于为所述外部网发送的数据报文分配处理单元,令所述处理单元处 理所述数据报文,并将预设的所述处理单元对应的端口号作为所述处理后的数据报文的源 端口号;数据发送模块,用于发送处理后的数据报文至所述内网服务器。
7.根据权利要求6所述的处理服务器,其特征在于,还包括数据接收模块,用于接收所述内网服务器发送的将所述源端口号作为目的端口号的处 理后的数据报文;其中,所述端口管理模块还用于将数据报文发送至所述源端口号对应的处理单元进行处理。
8.根据权利要求6所述的处理服务器,其特征在于,所述端口管理模块用于 根据所述数据报文的IP地址,或者根据所述数据报文的IP地址和端口号,为外部网发送的数据报文分配处理单元;并将预设的所述处理单元对应的端口号作为所述处理后的数 据报文的源端口号。
9.根据权利要求6所述的处理服务器,其特征在于,还包括端口划分模块,用于根据处理单元ID划分端口号,以使处理单元与端口号相对应。
10.根据权利要求7所述的处理服务器,其特征在于,所述端口管理模块还用于获取所 述处理后的数据报文的目的端口号,将所述获取的目的端口号与所述处理单元管理的端口 号进行匹配。
全文摘要
本发明实施例涉及通信技术领域,公开了一种数据报文的处理方法,其特征在于,包括为外部网发送的数据报文分配处理单元,令所述处理单元处理所述数据报文;将预设的所述处理单元对应的端口号作为处理后的所述数据报文的源端口号;发送所述数据报文至内网服务器。利用本发明,从而可以避免现有技术中的在处理数据报文时,处理单元之间需要频繁交互的情况,从而可以提高数据报文的处理效率。
文档编号H04L12/56GK101808039SQ20101013580
公开日2010年8月18日 申请日期2010年3月29日 优先权日2010年3月29日
发明者刘世龙, 刘冰, 张战兵, 徐蒙 申请人:成都市华为赛门铁克科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1