传输报文的方法、装置和系统的制作方法

文档序号:7810390阅读:142来源:国知局
传输报文的方法、装置和系统的制作方法
【专利摘要】一种传输报文的方法,在包括至少两个服务节点的通信系统中执行,目标虚拟节点具有至少两个服务时段,目标虚拟节点在一个服务时段内仅与一个服务节点相对应,且在相邻的两个服务时段内所对应的服务节点相异,该方法包括:分发设备接收目标报文,目标报文属于目标业务,目标报文中承载有时间指示信息,时间指示信息用于指示目标报文的发送时间与目标业务的首报文的发送时间之间的间隔;根据目标报文的接收时间和时间指示信息,确定目标业务的首报文的接收时间;根据目标业务的首报文的接收时间,确定目标服务节点,并向目标服务节点转发目标报文,目标业务的首报文的接收时间处于目标时段,目标服务节点是目标虚拟节点在目标时段所对应的服务节点。
【专利说明】传输报文的方法、装置和系统

【技术领域】
[0001] 本发明涉及通信领域,并且更具体地,涉及传输报文的方法、装置和系统

【背景技术】
[0002] 目前,已知一种技术,将一组服务节点(例如,服务器或业务处理单板)构成一个 实现可伸缩的、高可用网络服务的服务节点集群。在该技术中,一组服务节点集群通过高速 的局域网或者地理分布的广域网相互连接,在它们的前端有一个或多个分发设备(例如, 负载均衡器或分发单板)。分发设备能无缝地将来自用户设备的报文调度到服务节点上,对 于用户设备而言,服务节点集群的结构是透明的,用户设备访问服务节点集群提供的服务 就像访问一个高性能、高可用度的服务节点一样。
[0003] 为了保证业务的连贯性,对于同一业务的多个报文,需要其确保能够发送到同一 服务节点进行处理。
[0004] 对此,现有的做法是,分发设备为每个业务(或者说,每一条经过的业务流)创建 流表,该分流表记载了该业务的报文的五元组与处理该业务的服务节点之间的映射关系。 具体地说,当分发设备收到一个报文时,分发设备会根据该报文的五元组去查找流表,如果 流表不存在,说明这条流是新流,将它分配给后端某个服务节点,并创建一条流表,存储映 射关系,例如,〈五元组,所选择的服务节点〉;如果流表存在,说明该报文属于现有业务,将 它分发到流表中保存的与该业务的五元组相对应的服务节点进行处理。
[0005] 但是,由于通信技术的迅速发展,并发流量日益增大,例如,在无线网络中在线的 会话数目通常能达到10兆级别,因此用于流表查询的处理量开销巨大,导致分发效率随会 话数的增加而线性下降,并且,较大的会话数目,导致用于存储流表的内存增大,假设一条 流表占用100字节(Byte)的内存,那么维护10兆个会话,需要约1吉比特字节(GB)的内 存开销。


【发明内容】

[0006] 本发明提供一种传输报文的方法、装置和系统,能够在保持业务的连贯性的前提 下,提升报文分发效率,减少内存开销。
[0007] 第一方面,提供了一种传输报文的方法,在包括至少两个服务节点的通信系统中 执行,至少一个虚拟节点中的目标虚拟节点具有至少两个服务时段,该目标虚拟节点在一 个服务时段内仅与一个服务节点相对应,且该目标虚拟节点在相邻的两个服务时段内所对 应的服务节点相异,该方法包括:分发设备接收用户设备发送的目标报文,并确定该目标报 文与该目标虚拟节点相对应,其中,该目标报文属于目标业务,该目标报文中承载有时间指 示信息,该时间指示信息用于指示该目标报文的发送时间与该目标业务的首报文的发送时 间之间的间隔;根据该目标报文的接收时间和该时间指示信息,确定该目标业务的首报文 的接收时间;根据该目标业务的首报文的接收时间,从该至少两个服务节点中确定目标服 务节点,并向该目标服务节点转发该目标报文,其中,该目标业务的首报文的接收时间处于 目标时段,该目标服务节点是该目标虚拟节点在该目标时段所对应的服务节点。
[0008] 结合第一方面,在第一方面的第一种实现方式中,该方法还包括:该分发设备确定 边界时刻,其中,该目标虚拟节点在边界时刻的前一时段与第一服务节点相对应,且第一服 务节点在该边界时刻的负载状态满足预设条件;根据该边界时刻,为该目标虚拟节点分配 两个服务时段,其中,该边界时刻为第一服务时段的结束时刻,且该边界时刻为第二服务时 段的起始时刻,该第一服务时段为该边界时刻的前一时段,该第二服务时段为该边界时刻 的后一时段;确定该目标虚拟节点在该第一服务时段与该第一服务节点相对应,并确定该 目标虚拟节点在该第二服务时段与第二服务节点相对应。
[0009] 结合第一方面及其上述实现方式,在第一方面的第二种实现方式中,该第二服务 节点在该边界时刻的负载状态满足预设条件,包括:该第一服务节点在该边界时刻的负载 率与该第二服务节点在该边界时刻的负载率之差大于或等于第一预设门限。
[0010] 结合第一方面及其上述实现方式,在第一方面的第三种实现方式中,该第一服务 节点是该至少两个服务节点中在该边界时刻的负载率最大的服务节点。
[0011] 结合第一方面及其上述实现方式,在第一方面的第四种实现方式中,该第二服务 节点是该至少两个服务节点中在该边界时刻的负载率最小的服务节点。
[0012] 结合第一方面及其上述实现方式,在第一方面的第五种实现方式中,该目标虚拟 节点为在该第一服务时段内与该第一服务节点相对应的虚拟节点中在该边界时刻的负载 率最小的虚拟节点。
[0013] 结合第一方面及其上述实现方式,在第一方面的第六种实现方式中,该第一服务 节点在该边界时刻的负载状态是根据在该第一时段内传输至该第一服务节点的业务的数 量确定的。
[0014] 结合第一方面及其上述实现方式,在第一方面的第七种实现方式中,该确定该目 标报文与该目标虚拟节点相对应,包括:从该目标报文中提取判定信息,该判定信息包括以 下至少一个信息:该目标报文的源网际协议IP地址、该目标报文的目的IP地址、该目标报 文的源端口号、该目标报文的目的端口号、该目标报文的通信协议类型、该目标报文的目的 统一资源定位符、用于指示该目标报文所属于的业务的业务标识;根据该判定信息,确定该 目标报文与该目标虚拟节点相对应。
[0015] 结合第一方面及其上述实现方式,在第一方面的第八种实现方式中,该分发设备 的时间精度与该用户设备的时间精度的差异处于预设范围内。
[0016] 结合第一方面及其上述实现方式,在第一方面的第九种实现方式中,该分发设备 的时间精度为10毫秒,且该用户设备的时间精度为10毫秒。
[0017] 第二方面,提供了一种传输报文的方法,该方法包括:用户设备向至少一个分发设 备发送目标报文,其中,该目标报文属于目标业务,该目标报文中承载有时间指示信息,该 时间指示信息用于指示该目标报文的发送时间与该目标业务的首报文的发送时间之间的 间隔。
[0018] 结合第二方面,在第二方面的第一种实现方式中,该分发设备的时间精度与该用 户设备的时间精度的差异处于预设范围内。
[0019] 结合第二方面及其上述实现方式,在第二方面的第二种实现方式中,该分发设备 的时间精度为10毫秒,且该用户设备的时间精度为10毫秒。
[0020] 第三方面,提供了一种传输报文的装置,配置在包括至少两个服务节点的通信系 统中,至少一个虚拟节点中的目标虚拟节点具有至少两个服务时段,该目标虚拟节点在一 个服务时段内仅与一个服务节点相对应,且该目标虚拟节点在相邻的两个服务时段内所对 应的服务节点相异,该装置包括:接收单元,用于接收该用户设备发送的目标报文;确定单 元,用于确定该接收单元所接收到的该目标报文与该目标虚拟节点相对应,其中,该目标报 文属于目标业务,该目标报文中承载有时间指示信息,该时间指示信息用于指示该目标报 文的发送时间与该目标业务的首报文的发送时间之间的间隔,根据该目标报文的接收时间 和该时间指示信息,确定该目标业务的首报文的接收时间,根据该目标业务的首报文的接 收时间,从该至少两个服务节点中确定目标服务节点,其中,该目标业务的首报文的接收时 间处于目标时段,该目标服务节点是该目标虚拟节点在该目标时段所对应的服务节点;发 送单元,用于向该确定单元确定的该目标服务节点转发该目标报文。
[0021] 结合第三方面,在第三方面的第一种实现方式中,该装置还包括:分配单元,用于 确定边界时刻,其中,该目标虚拟节点在边界时刻的前一时段与第一服务节点相对应时,且 该第一服务节点在该边界时刻的负载状态满足预设条件;根据该边界时刻,为该目标虚拟 节点分配两个服务时段,其中,该边界时刻为第一服务时段的结束时刻,且该边界时刻为第 二服务时段的起始时刻,该第一服务时段为该边界时刻的前一时段,该第二服务时段为该 边界时刻的后一时段;确定该目标虚拟节点在该第一服务时段与该第一服务节点相对应, 并确定该目标虚拟节点在该第二服务时段与第二服务节点相对应。
[0022] 结合第三方面及其上述实现方式,在第三方面的第二种实现方式中,该分配单元 具体用于在确定该第一服务节点在该边界时刻的负载率与该第二服务节点在该边界时刻 的负载率之差大于或等于第一预设门限之后,确定第一服务节点在该边界时刻的负载状态 满足预设条件。
[0023] 结合第三方面及其上述实现方式,在第三方面的第三种实现方式中,该第一服务 节点是该至少两个服务节点中在该边界时刻的负载率最大的服务节点。
[0024] 结合第三方面及其上述实现方式,在第三方面的第四种实现方式中,该第二服务 节点是该至少两个服务节点中在该边界时刻的负载率最小的服务节点。
[0025] 结合第三方面及其上述实现方式,在第三方面的第五种实现方式中,该目标虚拟 节点为在该第一服务时段内与该第一服务节点相对应的虚拟节点中在该边界时刻的负载 率最小的虚拟节点。
[0026] 结合第三方面及其上述实现方式,在第三方面的第六种实现方式中,该第一服务 节点在该边界时刻的负载状态是根据在该第一时段内传输至该第一服务节点的业务的数 量确定的。
[0027] 结合第三方面及其上述实现方式,在第三方面的第七种实现方式中,该确定单元 具体用于从该目标报文中提取判定信息,该判定信息包括以下至少一个信息:该目标报文 的源网际协议IP地址、该目标报文的目的IP地址、该目标报文的源端口号、该目标报文的 目的端口号、该目标报文的通信协议类型、该目标报文的目的统一资源定位符、用于指示该 目标报文所属于的业务的业务标识;根据该判定信息,确定该目标报文与该目标虚拟节点 相对应。
[0028] 结合第三方面及其上述实现方式,在第三方面的第八种实现方式中,该装置的时 间精度与该用户设备的时间精度的差异处于预设范围内。
[0029] 结合第三方面及其上述实现方式,在第三方面的第九种实现方式中,该装置的时 间精度为10毫秒,且该用户设备的时间精度为10毫秒。
[0030] 第四方面,提供了一种传输报文的装置,该装置包括:确定单元,用于确定目标报 文的发送时间与目标业务的首报文的发送时间之间的间隔,其中,该目标报文属于目标业 务;发送单元,用于向至少一个分发设备发送该目标报文,其中,该目标报文中承载有时间 指示信息,该时间指示信息用于指示该目标报文的发送时间与该目标业务的首报文的发送 时间之间的间隔。
[0031] 结合第四方面,在第四方面的第一种实现方式中,该分发设备的时间精度与该装 置的时间精度的差异处于预设范围内。
[0032] 结合第四方面及其上述实现方式,在第四方面的第二种实现方式中,该分发设备 的时间精度为10毫秒,且该装置的时间精度为10毫秒。
[0033] 第五方面,提供了一种传输报文的系统,该系统包括:至少两个服务节点,用于对 所传输至的报文进行业务处理,其中,至少一个虚拟节点中的目标虚拟节点具有至少两个 服务时段,该目标虚拟节点在一个服务时段内仅与一个服务节点相对应,且该目标虚拟节 点在相邻的两个服务时段内所对应的服务节点相异;至少一个用户设备,用于在访问目标 业务时向该服务节点发送目标报文,其中,该目标报文中承载有时间指示信息,该时间指示 信息用于指示该目标报文的发送时间与该目标业务的首报文的发送时间之间的间隔;至少 一个分发设备,用于接收该用户设备发送的目标报文,并确定该目标报文与该目标虚拟节 点相对应,根据该目标报文的接收时间和该时间指示信息,确定该目标业务的首报文的接 收时间,根据该目标业务的首报文的接收时间,从该至少两个服务节点中确定目标服务节 点,并向该目标服务节点转发该目标报文,其中,该目标业务的首报文的接收时间处于目标 时段,该目标服务节点是该目标虚拟节点在该目标时段所对应的服务节点。
[0034] 根据本发明的传输报文的方法、装置和系统,分发设备预先确定目标虚拟节点在 各服务时段对应的服务节点,并且,使用户设备发送目标业务的目标报文时,在该目标报文 中携带时间指示信息,该时间指示信息用于指示该目标报文的发送时间与该目标业务的首 报文的发送时间之间的时间间隔,从而,当分发设备确定该目标报文与该目标虚拟节点相 对应时,能够根据该时间指示信息,确定该目标业务的首报文的接收时间以及该首报文的 接收时间所处于的服务时段,从而,能够确定该目标业务的首报文所发往的服务节点,通过 将该目标报文发送至该目标业务的首报文所发往的服务节点,能够保持业务的连贯性,并 且,无需存储业务的报文的五元组与处理该业务的服务节点之间的映射关系,能够减少内 存开销,通过时间段来索引报文所要发送至的服务器,能够提升报文分发效率。

【专利附图】

【附图说明】
[0035] 为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例中所需要使 用的附图作简单地介绍,显而易见地,下面所描述的附图仅仅是本发明的一些实施例,对于 本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他 的附图。
[0036] 图1是根据本发明实施例的传输报文的方法的示意性流程图。
[0037] 图2是本发明一实施例的虚拟节点与服务节点之间的映射关系的一例的示意图。
[0038] 图3是根据本发明另一实施例的传输报文的方法的示意性流程图。
[0039] 图4是根据本发明实施例的传输报文的装置的示意性框图。
[0040] 图5是根据本发明另一实施例的传输报文的装置的示意性框图。
[0041] 图6是根据本发明实施例的传输报文的设备的示意性结构。
[0042] 图7是根据本发明另一实施例的传输报文的设备的示意性结构。
[0043] 图8是根据本发明一实施例的传输报文的系统的示意性架构。

【具体实施方式】
[0044] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完 整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发 明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施 例,都属于本发明保护的范围。
[0045] 本发明的技术方案,可以应用于各种通信系统,例如:全球移动通讯系统(GSM, Global System of Mobile communication),石马分多址(CDMA, Code Division Multiple Access)系统,宽带码分多址(WCDMA, Wideband Code Division Multiple Access Wireless),通用分组无线业务(GPRS,General Packet Radio Service),长期演进(LTE, Long Term Evolution),软件定义网络(SDN,Software Defined Network)等。
[0046] 用户设备(UE, User Equipment),可以是移动终端(Mobile Terminal)、移动用户 设备等,可以经无线接入网(例如,RAN,Radio Access Network)与一个或多个核心网进行 通信,用户设备可以是移动终端,如移动电话(或称为"蜂窝"电话)和具有移动终端的计 算机,例如,可以是便携式、袖珍式、手持式、计算机内置的或者车载的移动装置,它们与无 线接入网交换语言和/或数据。并且,用户设备也可以是计算机等通过以太网或光纤等访 问服务器的设备。另外,用户设备还可以是用户的用于接入接入网的网关设备等。
[0047] 服务节点可以是,例如,SDN服务器,万维网(Web)服务器、文件传输协议(FTP, File Transfer Protocol)服务器、企业关键应用服务器和其它关键任务服务器(例如,提 供防火墙服务的服务器)、通信(CT,Communication Technology)领域中的业务处理单板 (SPU,Service Process Unit)等。在本发明实施例中,该目的服务器与其他服务器构成服 务器集群,以扩展网络设备和服务器的带宽、增加吞吐量、加强网络数据处理能力、提高网 络的灵活性和可用性。在服务器集群内部,各服务器拥有不同的网际协议(IP,Internet Protocol)地址(后述内部IP地址)和端口(后述内部端口)。并且,该服务器集群具有 统一的面向外部(例如,面向客户端设备)的IP地址(后述外部IP地址)和端口(后述 外部端口)。
[0048] 分发设备可以设置在服务节点与用户设备之间,可以将大量的并发访问或数据流 量分担到多各服务节点上分别处理,减少用户设备的等待响应的时间。
[0049] 在本发明实施例中,该分发设备还可以用于通过执行各种程序以对该数据报文进 行负载均衡,例如,可以将单个重负载的运算分担到多个服务节点上做并行处理,每个服务 节点处理结束后,将结果汇总,通过返回给用户设备,使系统处理能力得到大幅度提高。
[0050] 在本发明实施例中,例如,可以通过软件负载均衡解决方案实现负载均衡,该软件 负载均衡解决方案是指在一个或多个服务器的操作系统上安装一个或多个附加应用程序 来实现负载均衡,如域名系统负载均衡(Domain Name System Load Balance)等,从而,通 过执行该软件,实现负载均衡。
[0051] 并且,在本发明实施例中,该分发器也可以直接安装在服务器和外部网络间之间, 独立于服务器的操作系统。
[0052] 在本发明实施例中,作为示例而非限定,该分发设备可以是CT领域中的分发单元 (DPU,Dispatching Unit),也可以是信息技术(IT, Information Technology)领域的负载 均衡器(LB,Load Balancer)或者能够执行负载均衡的网关设备,还可以是SDN系统中的控 制器,本发明并未特别限定,可以根据本发明所应用的领域和具体的通信系统任意变更。
[0053] 在本发明实施例中,作为分发设备向服务节点发送报文的方式,可以列举,例如:
[0054] 1.网络地址转换(NAT, Network Address Translation)式,即,分发设备重写来 自用户设备的报文的目标地址/源地址,将该修改后的报文发送给各服务节点;并且,来自 服务节点的响应报文经过分发设备时,分发设备重写该响应报文的源地址/目的地址,再 返回给用户设备。
[0055] 2.直接路由(DR,Direct Rout)式,S卩,分发设备通过改写来自用户设备报文的媒 体接入控制层(MAC, Media Access Control)地址,将请求发送到服务节点,而服务节点将 响应报文直接返回给用户设备。
[0056] 3. IP隧道(TUN,TUNNEL)式,S卩,分发设备将来自用户设备报文通过IP隧道转发 给服务节点,而服务节点将响应报文直接返回用户设备。
[0057] 在以上列举的各传输方式中,分发设备可以将一个外部IP地址映射为多个内部 IP地址(对应各服务器)。应理解,以上列举的传输方式仅为示例性说明,本发明并不限定 于此。
[0058] 图1示出了从分发设备角度描述的本发明实施例的传输报文的方法100的示意性 流程图,该方法1〇〇在包括至少两个服务节点的通信系统中执行,至少一个虚拟节点中的 目标虚拟节点具有至少两个服务时段,该目标虚拟节点在一个服务时段内仅与一个服务节 点相对应,且该目标虚拟节点在相邻的两个服务时段内所对应的服务节点相异,如图1所 示,该方法100包括:
[0059] S110,分发设备接收该用户设备发送的目标报文,并确定该目标报文与该目标虚 拟节点相对应,其中,该目标报文属于目标业务,该目标报文中承载有时间指示信息,该时 间指示信息用于指示该目标报文的发送时间与该目标业务的首报文的发送时间之间的间 隔;
[0060] S120,根据该目标报文的接收时间和该时间指示信息,确定该目标业务的首报文 的接收时间;
[0061] S130,根据该目标业务的首报文的接收时间,从该至少两个服务节点中确定目标 服务节点,并向该目标服务节点转发该目标报文,其中,该目标业务的首报文的接收时间处 于目标时段,该目标服务节点是该目标虚拟节点在该目标时段所对应的服务节点。
[0062] 在本发明实施例中,通信系统中的分发设备可以是一个,也可以是多个,本发明并 未特别限定,以下,为了便于理解和说明,不失一般性,以对分发设备#A执行处理的过程为 例,进行说明
[0063] 具体地说,分发设备#A可以根据通信系统中的服务节点的数量,确定需要建立的 虚拟节点的数量,作为示例而非限定,可以使虚拟节点的数量为服务节点的数量的整数倍 (例如,2倍)。或者,分发设备#A也可以根据各服务节点的处理能力,确定需要建立的虚拟 节点的数量,作为示例而非限定,可以使服务节点所对应的虚拟节点的数量与该服务节点 的业务处理能力成正比例,即,如果一个服务节点的业务处理能力较强,则可以为其分配较 多的虚拟节点,反之,如果一个服务节点的业务处理能力较弱,则可以为其分配较少的虚拟 节点。
[0064] 其后,分发设备#八可以建立(即,首次确定)各虚拟节点与各服务节点之间的映 射关系,如上所述,虚拟节点的数量为服务节点的数量的整数倍,因此,一个服务节点可以 对应有多个虚拟节点,但是,一个虚拟节点仅与一个服务节点相对应。作为具体的映射方 法,例如,可以将虚拟节点和服务节点分别进行编号,经过哈希(hash)函数H(x)将虚拟节 点和服务节点散布在〇?2 32的环上,H(x)可以为MD5等散列算法,使得属于同一个服务节 点的虚拟结点在hash环上的距离尽可能远。
[0065] 图2示出了在虚拟节点的数量为6、服务节点的数量为3时,各虚拟节点与各服务 节点之间的映射关系的一例,如图2所示,6个虚拟结点均匀的散列到范围为0?232的hash 环上,每个虚拟结点对应2个服务节点。
[0066] 即,初始建立的映射关系为:
[0067] 服务节点#A对应虚拟结点#1和虚拟结点#4 ;
[0068] 服务节点#B对应虚拟结点#2和虚拟结点#5 ;
[0069] 服务节点#C对应虚拟结点#3和虚拟结点#6。
[0070] 目前,在CT领域和IT领域,"潮汐效应"成为人们愈发关注和亟待解决的问题。
[0071] 具体地说,在CT领域,"潮汐效应"是指工作时间人们在商业中心区域大量聚集, 下班后又向居民区大量迁徙,或者一些重大的活动(例如,体育赛事、演唱会等)期间人群 大规模聚集现象。这种现象引发了移动通信系统中话务量的流动,使得热点区域在特定时 刻出现突发大话务量,导致网络拥塞、无法接入,对于建网初期的容量规划也带来一定的困 难。
[0072] 在IT领域,"潮汐效应"是指一天中白天的大多数时候,企业(如门户网站、电商、 网游等厂商)的访问量相对比较平缓,后台服务器集群大多数服务器都处于闲置状态,下 班后人们有了大量私人时间,大量用户分别涌入各自喜欢的网站进行访问,此时后台服务 器就会出现流量剧增或者峰值冲击的现象。
[0073] 为了应对上述潮汐效应,在本发明实施例中,分发设备#A可以实时感知各服务节 点的负载状况。潮汐效应产生时出现服务节点过载的现象,分发设备#A可以动态调节服务 节点的数目,或者,分发设备#A根据各服务节点负载情况,对虚拟结点与服务节点的映射 关系做相应调整。
[0074] 下面,对该虚拟结点与服务节点的映射关系的调整过程进行说明。
[0075] 可选地,该该方法还包括:
[0076] 该分发设备确定边界时刻,其中,该目标虚拟节点在边界时刻的前一时段与第一 服务节点相对应,且第一服务节点在该边界时刻的负载状态满足预设条件;
[0077] 根据该边界时刻,为该目标虚拟节点分配两个服务时段,其中,该边界时刻为第一 服务时段的结束时刻,且该边界时刻为第二服务时段的起始时刻,该第一服务时段为该边 界时刻的前一时段,该第二服务时段为该边界时刻的后一时段;
[0078] 确定该目标虚拟节点在该第一服务时段与该第一服务节点相对应,并确定该目标 虚拟节点在该第二服务时段与第二服务节点相对应。
[0079] 首先需要说明的是,本发明实施例中的"时段"是指两个时刻之间的时间长度,或 者说,时间范围,例如,可以将一个时间周期均匀或非均匀的划分为多个时段。
[0080] 在本发明实施例中,根据各虚拟节点的负载状态以及各服务节点的负载状态,各 虚拟节点与各服务节点之间的映射关系在不同时段可能发生变化,例如,上述初始建立的 映射关系可以视为各服务节点在首个时段(tl时刻至t2时刻)的映射关系。
[0081] 需要说明的是,在本发明实施例中,初始建立映射关系时,对于各虚拟节点而言tl 时刻可以是相同的,但是,由于系统运行后,各服务节点以及各虚拟节点的负载状态不尽相 同,或者说各服务节点以及各虚拟节点的负载状态满足后述触发映射关系变更的预设条件 的时间点不尽相同,因此,对于各虚拟节点而言t2时刻可能不尽相同,类似的情况存在于 之后的各时段的结束时刻。
[0082] 为了便于理解和说明,不失一般性,以下以针对图2中虚拟节点#1( S卩,目标虚拟 节点的一例)的与各服务节点之间的映射关系的调整为例,进行说明。
[0083] 具体地说,如上所述,在初始建立映射关系时,S卩,从tl时刻开始,虚拟节点#1与 服务节点#A相对应。
[0084] 其后,分发设备#八可以监测包括服务节点#八在内的各服务节点的负载状态,当在 t2时刻(即,边界时刻的一例)确定服务节点#A的负载状态为例如过载的情况下,可以查 找在t2时刻负载较轻服务节点(为了便于理解和区分,记做服务节点#B),并将与虚拟节点 #1相对应的服务节点,从服务节点#A (第一服务器的一例)变更为服务节点#B (第二服务 器的一例)。
[0085] 需要说明的是,在本发明实施例中,分发设备#A对各服务节点的负载状态的监测 是不间断的时时监测,也可以是周期性监测本发明并未特别限定,但是,为了降低分发设备 的负担优选使分发设备进行周期性监测,作为示例而非限定,该监测的周期可以为,例如, 10秒。
[0086] 类似的,当在t3时刻(S卩,边界时刻的另一例)确定服务节点#B的负载状态为例 如过载的情况下,可以查找在t3时刻负载较轻服务节点(为了便于理解和区分,记做服务 节点#C),并将与虚拟节点#1相对应的服务节点,从服务节点#B (第一服务器的另一例)变 更为服务节点#C(第二服务器的另一例)。
[0087] S卩,只要确定一个服务节点负载状态满足预设条件,便可以触发映射关系变更流 程。
[0088] 在本发明实施例中,可以根据服务节点的实时负载率来确定其负载状态,其中服 务节点的实时负载率用于指示该服务节点当前的负载与满负荷运转时的负载的比例。在一 个具体的实施例中,服务节点#A的实时负载率R(A)可以根据以下公式来确定。
[0089] R(A) = max {x, y, z}
[0090] x = (Cp (A) - Cp_N (A)) / (Cp_M (A) - Cp_N (A))
[0091] y = (Ca⑷一Ca_N〇V)V(Ca_M〇V) - Ca_N(A))
[0092] z = (Ne (A) - Ne_N (A)) / (Ne_M (A) - Ne_N (A))
[0093] 其中,Cp (A)表示服务节点#A当前的中央处理器(CPU, Central Processing Unit)使用率,Cp_N(A)表示服务节点#A的CPU处理能力的最小值,Cp_M(A)表示服务节点 #A的CPU处理能力的最大值,Ca(A)表示服务节点#A当前的内存使用率,Ca_N(A)表示服务 节点#A的可用内存的最小值,Ca_M(A)表示服务节点#A的可用内存的最大值,Ne (A)表示 服务节点#A当前的网络使用率,Ne_N(A)表示服务节点#A的网络带宽的最小值,Ne_M(A) 表示服务节点#A的网络带宽的最大值。
[0094] 例如,如果确定服务节点#八在七2时刻的R(A)大于预设的门限(例如,可以根据 仿真实验等方式获得),则可以确定该服务节点#A的负载过重,从而,可以将在t2时刻的前 一时段内与服务节点#八相对应虚拟节点#1,分配给负载较轻的服务节点#B,进而,可以确 定在t2时刻的前一时段内虚拟节点#1与服务节点#A相对应,在t2时刻的下一时段内,虚 拟节点#1与服务节点#B相对应。
[0095] 再例如,可选地,该第一服务节点在该边界时刻的负载状态满足预设条件,包括:
[0096] 该第一服务节点在该边界时刻的负载率与该第二服务节点在该边界时刻的负载 率之差大于或等于第一预设门限。
[0097] 具体地说,与上述确定服务节点#A的实时负载率R(A)类似,分发设备#A可以 确定系统内所有服务节点的实时负载率,不失一般性,将服务节点#i的实时负载率记做 R(i)。例如,当服务节点#A (第一服务节点的一例)和服务节点#B (第二服务节点的一例) 之间的实时负载率之差大于或等于预设的门限Rt(即,第一预设门限的一例,例如,可以取 Rt = 0. 1)时,可以记录当前时刻为t2 (边界时刻的一例),并将在t2时刻的前一时段与服 务节点#A相对应的虚拟节点#1 (目标虚拟节点的一例),分配给服务节点#B,进而,可以确 定在t2时刻的前一时段内虚拟节点#1与服务节点#A相对应,在t2时刻的下一时段内,虚 拟节点#1与服务节点#B相对应。
[0098] 可选地,该第一服务节点是该至少两个服务节点中在该边界时刻的负载率最大的 服务节点。
[0099] 并且,可选地,该第二服务节点是该至少两个服务节点中在该边界时刻的负载率 最小的服务节点。
[0100] 具体地说,当各服务节点中负载率最大的服务节点与负载率最小的服务节点之间 的负载率之差大于或等于上述预设的门限Rt时,触发上述映射关系调整流程,能够更快速 地识别为系统负载不均衡,从而能够进一步提高系统性能
[0101] 可选地,该目标虚拟节点为在该第一服务时段内与该第一服务节点相对应的虚拟 节点中在该边界时刻的负载率最小的虚拟节点。
[0102] 具体地说,当在上述t2时刻的前一时段内与服务节点#A相对应的虚拟节点有多 个时,该多个虚拟节点中负载率最小的虚拟节点可能为所处理业务最少的虚拟节点。如上 所述,在t2时刻的前一时段,由于目标虚拟节点与服务节点#A相对应,因此,与该目标虚拟 节点相对应的业务A需要传输至服务节点#A,为了确保业务的连贯性,在t2时刻的后一时 段,尽管目标虚拟节点与服务节点#B相对应,但是,如果存在该业务A的后续报文,仍需要 将该业务A的报文传输至服务节点#A,从而降低了负载均衡的效果。通过将该负载率最小 的虚拟节点作为目标虚拟节点而分配给服务节点#B,能够实现目标虚拟节点中存在的上述 业务A的数量的最小化,从而能够进一步提高负载均衡的效果。
[0103] 本发明实施例的映射关系调整算法伪代码如下:
[0104] 1. while ((R(H)-R(Z)) > α · Rt);
[0105] 语意为:确定负载率最大的服务节点#H,并记录其实时负载率R(H),确定负载率 最小的服务节点#Z,并记录其实时负载率R(Z),执行外层循环,调整其与虚拟结点之间的 映射关系,直到R(H) - R(Z))彡a .Rt。
[0106] 2.Rank(VHl,…VHm);
[0107] 语意为:根据按负载率,对服务节点心所对应的各虚拟节点进行降序排列。
[0108] 3. Δ Ltotal = min {((RAVG - RZ) · az), ((RH - RAVG) · ah)};
[0109] 语意为:确定(RAVc - RZ) · az与(RH - RAve) · ah之间的最小值,其中,可以根据以 下公式1确定所述服务节点的平均负载率RAve。
[0110]

【权利要求】
1. 一种传输报文的方法,其特征在于,在包括至少两个服务节点的通信系统中执行,至 少一个虚拟节点中的目标虚拟节点具有至少两个服务时段,所述目标虚拟节点在一个服务 时段内仅与一个服务节点相对应,且所述目标虚拟节点在相邻的两个服务时段内所对应的 服务节点相异,所述方法包括: 分发设备接收用户设备发送的目标报文,并确定所述目标报文与所述目标虚拟节点相 对应,其中,所述目标报文属于目标业务,所述目标报文中承载有时间指示信息,所述时间 指示信息用于指示所述目标报文的发送时间与所述目标业务的首报文的发送时间之间的 间隔; 根据所述目标报文的接收时间和所述时间指示信息,确定所述目标业务的首报文的接 收时间; 根据所述目标业务的首报文的接收时间,从所述至少两个服务节点中确定目标服务节 点,并向所述目标服务节点转发所述目标报文,其中,所述目标业务的首报文的接收时间处 于目标时段,所述目标服务节点是所述目标虚拟节点在所述目标时段所对应的服务节点。
2. 根据权利要求1所述的方法,其特征在于,所述方法还包括: 所述分发设备确定边界时刻,其中,所述目标虚拟节点在边界时刻的前一时段与第一 服务节点相对应,且第一服务节点在所述边界时刻的负载状态满足预设条件; 根据所述边界时刻,为所述目标虚拟节点分配两个服务时段,其中,所述边界时刻为第 一服务时段的结束时刻,且所述边界时刻为第二服务时段的起始时刻,所述第一服务时段 为所述边界时刻的前一时段,所述第二服务时段为所述边界时刻的后一时段; 确定所述目标虚拟节点在所述第一服务时段与所述第一服务节点相对应,并确定所述 目标虚拟节点在所述第二服务时段与第二服务节点相对应。
3. 根据权利要求2所述的方法,其特征在于,所述第一服务节点在所述边界时刻的负 载状态满足预设条件,包括: 所述第一服务节点在所述边界时刻的负载率与所述第二服务节点在所述边界时刻的 负载率之差大于或等于第一预设门限。
4. 根据权利要求3所述的方法,其特征在于,所述第一服务节点是所述至少两个服务 节点中在所述边界时刻的负载率最大的服务节点。
5. 根据权利要求3或4所述的方法,其特征在于,所述第二服务节点是所述至少两个服 务节点中在所述边界时刻的负载率最小的服务节点。
6. 根据权利要求2至5中任一项所述的方法,其特征在于,所述目标虚拟节点为在所述 第一服务时段内与所述第一服务节点相对应的虚拟节点中在所述边界时刻的负载率最小 的虚拟节点。
7. 根据权利要求2至6中任一项所述的方法,其特征在于,所述第一服务节点在所述边 界时刻的负载状态是根据在所述第一时段内传输至所述第一服务节点的业务的数量确定 的。
8. 根据权利要求1至7中任一项所述的方法,其特征在于,所述确定所述目标报文与所 述目标虚拟节点相对应,包括: 从所述目标报文中提取判定信息,所述判定信息包括以下至少一个信息:所述目标报 文的源网际协议IP地址、所述目标报文的目的IP地址、所述目标报文的源端口号、所述目 标报文的目的端口号、所述目标报文的通信协议类型、所述目标报文的目的统一资源定位 符、用于指示所述目标报文所属于的业务的业务标识; 根据所述判定信息,确定所述目标报文与所述目标虚拟节点相对应。
9. 根据权利要求1至8中任一项所述的方法,其特征在于,所述分发设备的时间精度与 所述用户设备的时间精度的差异处于预设范围内。
10. 根据权利要求1至9中任一项所述的方法,其特征在于,所述分发设备的时间精度 为10毫秒,且所述用户设备的时间精度为10毫秒。
11. 一种传输报文的方法,其特征在于,所述方法包括: 用户设备确定目标报文的发送时间与目标业务的首报文的发送时间之间的间隔,其 中,所述目标报文属于目标业务; 向至少一个分发设备发送所述目标报文,其中,所述目标报文中承载有时间指示信息, 所述时间指示信息用于指示所述目标报文的发送时间与所述目标业务的首报文的发送时 间之间的间隔。
12. 根据权利要求11所述的方法,其特征在于,所述分发设备的时间精度与所述用户 设备的时间精度的差异处于预设范围内。
13. 根据权利要求11或12所述的方法,其特征在于,所述分发设备的时间精度为10 毫秒,且所述用户设备的时间精度为10毫秒。
14. 一种传输报文的装置,其特征在于,配置于包括至少两个服务节点的通信系统,至 少一个虚拟节点中的目标虚拟节点具有至少两个服务时段,所述目标虚拟节点在一个服务 时段内仅与一个服务节点相对应,且所述目标虚拟节点在相邻的两个服务时段内所对应的 服务节点相异,所述装置包括: 接收单元,用于接收所述用户设备发送的目标报文; 确定单元,用于确定所述接收单元所接收到的所述目标报文与所述目标虚拟节点相对 应,其中,所述目标报文属于目标业务,所述目标报文中承载有时间指示信息,所述时间指 示信息用于指示所述目标报文的发送时间与所述目标业务的首报文的发送时间之间的间 隔,根据所述目标报文的接收时间和所述时间指示信息,确定所述目标业务的首报文的接 收时间,根据所述目标业务的首报文的接收时间,从所述至少两个服务节点中确定目标服 务节点,其中,所述目标业务的首报文的接收时间处于目标时段,所述目标服务节点是所述 目标虚拟节点在所述目标时段所对应的服务节点; 发送单元,用于向所述确定单元确定的所述目标服务节点转发所述目标报文。
15. 根据权利要求14所述的装置,其特征在于,所述装置还包括: 所述分配单元,用于确定边界时刻,其中,所述目标虚拟节点在边界时刻的前一时段与 第一服务节点相对应,且第一服务节点在所述边界时刻的负载状态满足预设条件; 根据所述边界时刻,为所述目标虚拟节点分配两个服务时段,其中,所述边界时刻为第 一服务时段的结束时刻,且所述边界时刻为第二服务时段的起始时刻,所述第一服务时段 为所述边界时刻的前一时段,所述第二服务时段为所述边界时刻的后一时段; 确定所述目标虚拟节点在所述第一服务时段与所述第一服务节点相对应,并确定所述 目标虚拟节点在所述第二服务时段与第二服务节点相对应。
16. 根据权利要求15所述的装置,其特征在于,所述分配单元具体用于在确定所述第 一服务节点在所述边界时刻的负载率与所述第二服务节点在所述边界时刻的负载率之差 大于或等于第一预设门限之后,确定所述第一服务节点在所述边界时刻的负载状态满足预 设条件。
17. 根据权利要求16所述的装置,其特征在于,所述第一服务节点是所述至少两个服 务节点中在所述边界时刻的负载率最大的服务节点。
18. 根据权利要求16或17所述的装置,其特征在于,所述第二服务节点是所述至少两 个服务节点中在所述边界时刻的负载率最小的服务节点。
19. 根据权利要求15至18中任一项所述的装置,其特征在于,所述目标虚拟节点为在 所述第一服务时段内与所述第一服务节点相对应的虚拟节点中在所述边界时刻的负载率 最小的虚拟节点。
20. 根据权利要求15至19中任一项所述的装置,其特征在于,所述第一服务节点在所 述边界时刻的负载状态是根据在所述第一时段内传输至所述第一服务节点的业务的数量 确定的。
21. 根据权利要求14至20中任一项所述的装置,其特征在于,所述确定单元具体用于 从所述目标报文中提取判定信息,所述判定信息包括以下至少一个信息:所述目标报文的 源网际协议IP地址、所述目标报文的目的IP地址、所述目标报文的源端口号、所述目标报 文的目的端口号、所述目标报文的通信协议类型、所述目标报文的目的统一资源定位符、用 于指示所述目标报文所属于的业务的业务标识; 根据所述判定信息,确定所述目标报文与所述目标虚拟节点相对应。
22. 根据权利要求14至21中任一项所述的装置,其特征在于,所述装置的时间精度与 所述用户设备的时间精度的差异处于预设范围内。
23. 根据权利要求14至22中任一项所述的装置,其特征在于,所述装置的时间精度为 10毫秒,且所述用户设备的时间精度为10毫秒。
24. -种传输报文的装置,其特征在于,所述装置包括: 确定单元,用于确定目标报文的发送时间与目标业务的首报文的发送时间之间的间 隔,其中,所述目标报文属于目标业务; 发送单元,用于向至少一个分发设备发送所述目标报文,其中,所述目标报文中承载有 时间指示信息,所述时间指示信息用于指示所述目标报文的发送时间与所述目标业务的首 报文的发送时间之间的间隔。
25. 根据权利要求24所述的装置,其特征在于,所述分发设备的时间精度与所述装置 的时间精度的差异处于预设范围内。
26. 根据权利要求24或24所述的装置,其特征在于,所述分发设备的时间精度为10毫 秒,且所述装置的时间精度为10毫秒。
27. -种传输报文的系统,其特征在于,所述系统包括: 至少两个服务节点,用于对所传输至的报文进行业务处理,其中,至少一个虚拟节点中 的目标虚拟节点具有至少两个服务时段,所述目标虚拟节点在一个服务时段内仅与一个服 务节点相对应,且所述目标虚拟节点在相邻的两个服务时段内所对应的服务节点相异; 至少一个用户设备,用于在访问目标业务时向所述服务节点发送目标报文,其中,所述 目标报文中承载有时间指示信息,所述时间指示信息用于指示所述目标报文的发送时间与 所述目标业务的首报文的发送时间之间的间隔; 至少一个分发设备,用于接收所述用户设备发送的目标报文,并确定所述目标报文与 所述目标虚拟节点相对应,根据所述目标报文的接收时间和所述时间指示信息,确定所述 目标业务的首报文的接收时间,根据所述目标业务的首报文的接收时间,从所述至少两个 服务节点中确定目标服务节点,并向所述目标服务节点转发所述目标报文,其中,所述目标 业务的首报文的接收时间处于目标时段,所述目标服务节点是所述目标虚拟节点在所述目 标时段所对应的服务节点。
【文档编号】H04L12/701GK104158755SQ201410370835
【公开日】2014年11月19日 申请日期:2014年7月30日 优先权日:2014年7月30日
【发明者】舒协鎏 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1