CN104158755B - 传输报文的方法、装置和系统 - Google Patents
传输报文的方法、装置和系统 Download PDFInfo
- Publication number
- CN104158755B CN104158755B CN201410370835.6A CN201410370835A CN104158755B CN 104158755 B CN104158755 B CN 104158755B CN 201410370835 A CN201410370835 A CN 201410370835A CN 104158755 B CN104158755 B CN 104158755B
- Authority
- CN
- China
- Prior art keywords
- service
- node
- message
- time
- service node
- 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.)
- Active
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/42—Centralised routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/28—Flow control; Congestion control in relation to timing considerations
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/56—Routing software
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
一种传输报文的方法,在包括至少两个服务节点的通信系统中执行,目标虚拟节点具有至少两个服务时段,目标虚拟节点在一个服务时段内仅与一个服务节点相对应,且在相邻的两个服务时段内所对应的服务节点相异,该方法包括:分发设备接收目标报文,目标报文属于目标业务,目标报文中承载有时间指示信息,时间指示信息用于指示目标报文的发送时间与目标业务的首报文的发送时间之间的间隔;根据目标报文的接收时间和时间指示信息,确定目标业务的首报文的接收时间;根据目标业务的首报文的接收时间,确定目标服务节点,并向目标服务节点转发目标报文,目标业务的首报文的接收时间处于目标时段,目标服务节点是目标虚拟节点在目标时段所对应的服务节点。
Description
技术领域
本发明涉及通信领域,并且更具体地,涉及传输报文的方法、装置和系统
背景技术
目前,已知一种技术,将一组服务节点(例如,服务器或业务处理单板)构成一个实现可伸缩的、高可用网络服务的服务节点集群。在该技术中,一组服务节点集群通过高速的局域网或者地理分布的广域网相互连接,在它们的前端有一个或多个分发设备(例如,负载均衡器或分发单板)。分发设备能无缝地将来自用户设备的报文调度到服务节点上,对于用户设备而言,服务节点集群的结构是透明的,用户设备访问服务节点集群提供的服务就像访问一个高性能、高可用度的服务节点一样。
为了保证业务的连贯性,对于同一业务的多个报文,需要其确保能够发送到同一服务节点进行处理。
对此,现有的做法是,分发设备为每个业务(或者说,每一条经过的业务流)创建流表,该分流表记载了该业务的报文的五元组与处理该业务的服务节点之间的映射关系。具体地说,当分发设备收到一个报文时,分发设备会根据该报文的五元组去查找流表,如果流表不存在,说明这条流是新流,将它分配给后端某个服务节点,并创建一条流表,存储映射关系,例如,<五元组,所选择的服务节点>;如果流表存在,说明该报文属于现有业务,将它分发到流表中保存的与该业务的五元组相对应的服务节点进行处理。
但是,由于通信技术的迅速发展,并发流量日益增大,例如,在无线网络中在线的会话数目通常能达到10兆级别,因此用于流表查询的处理量开销巨大,导致分发效率随会话数的增加而线性下降,并且,较大的会话数目,导致用于存储流表的内存增大,假设一条流表占用100字节(Byte)的内存,那么维护10兆个会话,需要约1吉比特字节(GB)的内存开销。
发明内容
本发明提供一种传输报文的方法、装置和系统,能够在保持业务的连贯性的前提下,提升报文分发效率,减少内存开销。
第一方面,提供了一种传输报文的方法,在包括至少两个服务节点的通信系统中执行,至少一个虚拟节点中的目标虚拟节点具有至少两个服务时段,该目标虚拟节点在一个服务时段内仅与一个服务节点相对应,且该目标虚拟节点在相邻的两个服务时段内所对应的服务节点相异,该方法包括:分发设备接收用户设备发送的目标报文,并确定该目标报文与该目标虚拟节点相对应,其中,该目标报文属于目标业务,该目标报文中承载有时间指示信息,该时间指示信息用于指示该目标报文的发送时间与该目标业务的首报文的发送时间之间的间隔;根据该目标报文的接收时间和该时间指示信息,确定该目标业务的首报文的接收时间;根据该目标业务的首报文的接收时间,从该至少两个服务节点中确定目标服务节点,并向该目标服务节点转发该目标报文,其中,该目标业务的首报文的接收时间处于目标时段,该目标服务节点是该目标虚拟节点在该目标时段所对应的服务节点。
结合第一方面,在第一方面的第一种实现方式中,该方法还包括:该分发设备确定边界时刻,其中,该目标虚拟节点在边界时刻的前一时段与第一服务节点相对应,且第一服务节点在该边界时刻的负载状态满足预设条件;根据该边界时刻,为该目标虚拟节点分配两个服务时段,其中,该边界时刻为第一服务时段的结束时刻,且该边界时刻为第二服务时段的起始时刻,该第一服务时段为该边界时刻的前一时段,该第二服务时段为该边界时刻的后一时段;确定该目标虚拟节点在该第一服务时段与该第一服务节点相对应,并确定该目标虚拟节点在该第二服务时段与第二服务节点相对应。
结合第一方面及其上述实现方式,在第一方面的第二种实现方式中,该第二服务节点在该边界时刻的负载状态满足预设条件,包括:该第一服务节点在该边界时刻的负载率与该第二服务节点在该边界时刻的负载率之差大于或等于第一预设门限。
结合第一方面及其上述实现方式,在第一方面的第三种实现方式中,该第一服务节点是该至少两个服务节点中在该边界时刻的负载率最大的服务节点。
结合第一方面及其上述实现方式,在第一方面的第四种实现方式中,该第二服务节点是该至少两个服务节点中在该边界时刻的负载率最小的服务节点。
结合第一方面及其上述实现方式,在第一方面的第五种实现方式中,该目标虚拟节点为在该第一服务时段内与该第一服务节点相对应的虚拟节点中在该边界时刻的负载率最小的虚拟节点。
结合第一方面及其上述实现方式,在第一方面的第六种实现方式中,该第一服务节点在该边界时刻的负载状态是根据在该第一时段内传输至该第一服务节点的业务的数量确定的。
结合第一方面及其上述实现方式,在第一方面的第七种实现方式中,该确定该目标报文与该目标虚拟节点相对应,包括:从该目标报文中提取判定信息,该判定信息包括以下至少一个信息:该目标报文的源网际协议IP地址、该目标报文的目的IP地址、该目标报文的源端口号、该目标报文的目的端口号、该目标报文的通信协议类型、该目标报文的目的统一资源定位符、用于指示该目标报文所属于的业务的业务标识;根据该判定信息,确定该目标报文与该目标虚拟节点相对应。
结合第一方面及其上述实现方式,在第一方面的第八种实现方式中,该分发设备的时间精度与该用户设备的时间精度的差异处于预设范围内。
结合第一方面及其上述实现方式,在第一方面的第九种实现方式中,该分发设备的时间精度为10毫秒,且该用户设备的时间精度为10毫秒。
第二方面,提供了一种传输报文的方法,该方法包括:用户设备向至少一个分发设备发送目标报文,其中,该目标报文属于目标业务,该目标报文中承载有时间指示信息,该时间指示信息用于指示该目标报文的发送时间与该目标业务的首报文的发送时间之间的间隔。
结合第二方面,在第二方面的第一种实现方式中,该分发设备的时间精度与该用户设备的时间精度的差异处于预设范围内。
结合第二方面及其上述实现方式,在第二方面的第二种实现方式中,该分发设备的时间精度为10毫秒,且该用户设备的时间精度为10毫秒。
第三方面,提供了一种传输报文的装置,配置在包括至少两个服务节点的通信系统中,至少一个虚拟节点中的目标虚拟节点具有至少两个服务时段,该目标虚拟节点在一个服务时段内仅与一个服务节点相对应,且该目标虚拟节点在相邻的两个服务时段内所对应的服务节点相异,该装置包括:接收单元,用于接收该用户设备发送的目标报文;确定单元,用于确定该接收单元所接收到的该目标报文与该目标虚拟节点相对应,其中,该目标报文属于目标业务,该目标报文中承载有时间指示信息,该时间指示信息用于指示该目标报文的发送时间与该目标业务的首报文的发送时间之间的间隔,根据该目标报文的接收时间和该时间指示信息,确定该目标业务的首报文的接收时间,根据该目标业务的首报文的接收时间,从该至少两个服务节点中确定目标服务节点,其中,该目标业务的首报文的接收时间处于目标时段,该目标服务节点是该目标虚拟节点在该目标时段所对应的服务节点;发送单元,用于向该确定单元确定的该目标服务节点转发该目标报文。
结合第三方面,在第三方面的第一种实现方式中,该装置还包括:分配单元,用于确定边界时刻,其中,该目标虚拟节点在边界时刻的前一时段与第一服务节点相对应时,且该第一服务节点在该边界时刻的负载状态满足预设条件;根据该边界时刻,为该目标虚拟节点分配两个服务时段,其中,该边界时刻为第一服务时段的结束时刻,且该边界时刻为第二服务时段的起始时刻,该第一服务时段为该边界时刻的前一时段,该第二服务时段为该边界时刻的后一时段;确定该目标虚拟节点在该第一服务时段与该第一服务节点相对应,并确定该目标虚拟节点在该第二服务时段与第二服务节点相对应。
结合第三方面及其上述实现方式,在第三方面的第二种实现方式中,该分配单元具体用于在确定该第一服务节点在该边界时刻的负载率与该第二服务节点在该边界时刻的负载率之差大于或等于第一预设门限之后,确定第一服务节点在该边界时刻的负载状态满足预设条件。
结合第三方面及其上述实现方式,在第三方面的第三种实现方式中,该第一服务节点是该至少两个服务节点中在该边界时刻的负载率最大的服务节点。
结合第三方面及其上述实现方式,在第三方面的第四种实现方式中,该第二服务节点是该至少两个服务节点中在该边界时刻的负载率最小的服务节点。
结合第三方面及其上述实现方式,在第三方面的第五种实现方式中,该目标虚拟节点为在该第一服务时段内与该第一服务节点相对应的虚拟节点中在该边界时刻的负载率最小的虚拟节点。
结合第三方面及其上述实现方式,在第三方面的第六种实现方式中,该第一服务节点在该边界时刻的负载状态是根据在该第一时段内传输至该第一服务节点的业务的数量确定的。
结合第三方面及其上述实现方式,在第三方面的第七种实现方式中,该确定单元具体用于从该目标报文中提取判定信息,该判定信息包括以下至少一个信息:该目标报文的源网际协议IP地址、该目标报文的目的IP地址、该目标报文的源端口号、该目标报文的目的端口号、该目标报文的通信协议类型、该目标报文的目的统一资源定位符、用于指示该目标报文所属于的业务的业务标识;根据该判定信息,确定该目标报文与该目标虚拟节点相对应。
结合第三方面及其上述实现方式,在第三方面的第八种实现方式中,该装置的时间精度与该用户设备的时间精度的差异处于预设范围内。
结合第三方面及其上述实现方式,在第三方面的第九种实现方式中,该装置的时间精度为10毫秒,且该用户设备的时间精度为10毫秒。
第四方面,提供了一种传输报文的装置,该装置包括:确定单元,用于确定目标报文的发送时间与目标业务的首报文的发送时间之间的间隔,其中,该目标报文属于目标业务;发送单元,用于向至少一个分发设备发送该目标报文,其中,该目标报文中承载有时间指示信息,该时间指示信息用于指示该目标报文的发送时间与该目标业务的首报文的发送时间之间的间隔。
结合第四方面,在第四方面的第一种实现方式中,该分发设备的时间精度与该装置的时间精度的差异处于预设范围内。
结合第四方面及其上述实现方式,在第四方面的第二种实现方式中,该分发设备的时间精度为10毫秒,且该装置的时间精度为10毫秒。
第五方面,提供了一种传输报文的系统,该系统包括:至少两个服务节点,用于对所传输至的报文进行业务处理,其中,至少一个虚拟节点中的目标虚拟节点具有至少两个服务时段,该目标虚拟节点在一个服务时段内仅与一个服务节点相对应,且该目标虚拟节点在相邻的两个服务时段内所对应的服务节点相异;至少一个用户设备,用于在访问目标业务时向该服务节点发送目标报文,其中,该目标报文中承载有时间指示信息,该时间指示信息用于指示该目标报文的发送时间与该目标业务的首报文的发送时间之间的间隔;至少一个分发设备,用于接收该用户设备发送的目标报文,并确定该目标报文与该目标虚拟节点相对应,根据该目标报文的接收时间和该时间指示信息,确定该目标业务的首报文的接收时间,根据该目标业务的首报文的接收时间,从该至少两个服务节点中确定目标服务节点,并向该目标服务节点转发该目标报文,其中,该目标业务的首报文的接收时间处于目标时段,该目标服务节点是该目标虚拟节点在该目标时段所对应的服务节点。
根据本发明的传输报文的方法、装置和系统,分发设备预先确定目标虚拟节点在各服务时段对应的服务节点,并且,使用户设备发送目标业务的目标报文时,在该目标报文中携带时间指示信息,该时间指示信息用于指示该目标报文的发送时间与该目标业务的首报文的发送时间之间的时间间隔,从而,当分发设备确定该目标报文与该目标虚拟节点相对应时,能够根据该时间指示信息,确定该目标业务的首报文的接收时间以及该首报文的接收时间所处于的服务时段,从而,能够确定该目标业务的首报文所发往的服务节点,通过将该目标报文发送至该目标业务的首报文所发往的服务节点,能够保持业务的连贯性,并且,无需存储业务的报文的五元组与处理该业务的服务节点之间的映射关系,能够减少内存开销,通过时间段来索引报文所要发送至的服务器,能够提升报文分发效率。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例中所需要使用的附图作简单地介绍,显而易见地,下面所描述的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是根据本发明实施例的传输报文的方法的示意性流程图。
图2是本发明一实施例的虚拟节点与服务节点之间的映射关系的一例的示意图。
图3是根据本发明另一实施例的传输报文的方法的示意性流程图。
图4是根据本发明实施例的传输报文的装置的示意性框图。
图5是根据本发明另一实施例的传输报文的装置的示意性框图。
图6是根据本发明实施例的传输报文的设备的示意性结构。
图7是根据本发明另一实施例的传输报文的设备的示意性结构。
图8是根据本发明一实施例的传输报文的系统的示意性架构。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明的技术方案,可以应用于各种通信系统,例如:全球移动通讯系统(GSM,Global System of Mobile communication),码分多址(CDMA,Code Division MultipleAccess)系统,宽带码分多址(WCDMA,Wideband Code Division Multiple AccessWireless),通用分组无线业务(GPRS,General Packet Radio Service),长期演进(LTE,Long Term Evolution),软件定义网络(SDN,Software Defined Network)等。
用户设备(UE,User Equipment),可以是移动终端(Mobile Terminal)、移动用户设备等,可以经无线接入网(例如,RAN,Radio Access Network)与一个或多个核心网进行通信,用户设备可以是移动终端,如移动电话(或称为“蜂窝”电话)和具有移动终端的计算机,例如,可以是便携式、袖珍式、手持式、计算机内置的或者车载的移动装置,它们与无线接入网交换语言和/或数据。并且,用户设备也可以是计算机等通过以太网或光纤等访问服务器的设备。另外,用户设备还可以是用户的用于接入接入网的网关设备等。
服务节点可以是,例如,SDN服务器,万维网(Web)服务器、文件传输协议(FTP,FileTransfer Protocol)服务器、企业关键应用服务器和其它关键任务服务器(例如,提供防火墙服务的服务器)、通信(CT,Communication Technology)领域中的业务处理单板(SPU,Service Process Unit)等。在本发明实施例中,该目的服务器与其他服务器构成服务器集群,以扩展网络设备和服务器的带宽、增加吞吐量、加强网络数据处理能力、提高网络的灵活性和可用性。在服务器集群内部,各服务器拥有不同的网际协议(IP,InternetProtocol)地址(后述内部IP地址)和端口(后述内部端口)。并且,该服务器集群具有统一的面向外部(例如,面向客户端设备)的IP地址(后述外部IP地址)和端口(后述外部端口)。
分发设备可以设置在服务节点与用户设备之间,可以将大量的并发访问或数据流量分担到多各服务节点上分别处理,减少用户设备的等待响应的时间。
在本发明实施例中,该分发设备还可以用于通过执行各种程序以对该数据报文进行负载均衡,例如,可以将单个重负载的运算分担到多个服务节点上做并行处理,每个服务节点处理结束后,将结果汇总,通过返回给用户设备,使系统处理能力得到大幅度提高。
在本发明实施例中,例如,可以通过软件负载均衡解决方案实现负载均衡,该软件负载均衡解决方案是指在一个或多个服务器的操作系统上安装一个或多个附加应用程序来实现负载均衡,如域名系统负载均衡(Domain Name System Load Balance)等,从而,通过执行该软件,实现负载均衡。
并且,在本发明实施例中,该分发器也可以直接安装在服务器和外部网络间之间,独立于服务器的操作系统。
在本发明实施例中,作为示例而非限定,该分发设备可以是CT领域中的分发单元(DPU,Dispatching Unit),也可以是信息技术(IT,Information Technology)领域的负载均衡器(LB,Load Balancer)或者能够执行负载均衡的网关设备,还可以是SDN系统中的控制器,本发明并未特别限定,可以根据本发明所应用的领域和具体的通信系统任意变更。
在本发明实施例中,作为分发设备向服务节点发送报文的方式,可以列举,例如:
1.网络地址转换(NAT,Network Address Translation)式,即,分发设备重写来自用户设备的报文的目标地址/源地址,将该修改后的报文发送给各服务节点;并且,来自服务节点的响应报文经过分发设备时,分发设备重写该响应报文的源地址/目的地址,再返回给用户设备。
2.直接路由(DR,Direct Rout)式,即,分发设备通过改写来自用户设备报文的媒体接入控制层(MAC,Media Access Control)地址,将请求发送到服务节点,而服务节点将响应报文直接返回给用户设备。
3.IP隧道(TUN,TUNNEL)式,即,分发设备将来自用户设备报文通过IP隧道转发给服务节点,而服务节点将响应报文直接返回用户设备。
在以上列举的各传输方式中,分发设备可以将一个外部IP地址映射为多个内部IP地址(对应各服务器)。应理解,以上列举的传输方式仅为示例性说明,本发明并不限定于此。
图1示出了从分发设备角度描述的本发明实施例的传输报文的方法100的示意性流程图,该方法100在包括至少两个服务节点的通信系统中执行,至少一个虚拟节点中的目标虚拟节点具有至少两个服务时段,该目标虚拟节点在一个服务时段内仅与一个服务节点相对应,且该目标虚拟节点在相邻的两个服务时段内所对应的服务节点相异,如图1所示,该方法100包括:
S110,分发设备接收该用户设备发送的目标报文,并确定该目标报文与该目标虚拟节点相对应,其中,该目标报文属于目标业务,该目标报文中承载有时间指示信息,该时间指示信息用于指示该目标报文的发送时间与该目标业务的首报文的发送时间之间的间隔;
S120,根据该目标报文的接收时间和该时间指示信息,确定该目标业务的首报文的接收时间;
S130,根据该目标业务的首报文的接收时间,从该至少两个服务节点中确定目标服务节点,并向该目标服务节点转发该目标报文,其中,该目标业务的首报文的接收时间处于目标时段,该目标服务节点是该目标虚拟节点在该目标时段所对应的服务节点。
在本发明实施例中,通信系统中的分发设备可以是一个,也可以是多个,本发明并未特别限定,以下,为了便于理解和说明,不失一般性,以对分发设备#A执行处理的过程为例,进行说明
具体地说,分发设备#A可以根据通信系统中的服务节点的数量,确定需要建立的虚拟节点的数量,作为示例而非限定,可以使虚拟节点的数量为服务节点的数量的整数倍(例如,2倍)。或者,分发设备#A也可以根据各服务节点的处理能力,确定需要建立的虚拟节点的数量,作为示例而非限定,可以使服务节点所对应的虚拟节点的数量与该服务节点的业务处理能力成正比例,即,如果一个服务节点的业务处理能力较强,则可以为其分配较多的虚拟节点,反之,如果一个服务节点的业务处理能力较弱,则可以为其分配较少的虚拟节点。
其后,分发设备#A可以建立(即,首次确定)各虚拟节点与各服务节点之间的映射关系,如上所述,虚拟节点的数量为服务节点的数量的整数倍,因此,一个服务节点可以对应有多个虚拟节点,但是,一个虚拟节点仅与一个服务节点相对应。作为具体的映射方法,例如,可以将虚拟节点和服务节点分别进行编号,经过哈希(hash)函数H(x)将虚拟节点和服务节点散布在0~232的环上,H(x)可以为MD5等散列算法,使得属于同一个服务节点的虚拟结点在hash环上的距离尽可能远。
图2示出了在虚拟节点的数量为6、服务节点的数量为3时,各虚拟节点与各服务节点之间的映射关系的一例,如图2所示,6个虚拟结点均匀的散列到范围为0~232的hash环上,每个虚拟结点对应2个服务节点。
即,初始建立的映射关系为:
服务节点#A对应虚拟结点#1和虚拟结点#4;
服务节点#B对应虚拟结点#2和虚拟结点#5;
服务节点#C对应虚拟结点#3和虚拟结点#6。
目前,在CT领域和IT领域,“潮汐效应”成为人们愈发关注和亟待解决的问题。
具体地说,在CT领域,“潮汐效应”是指工作时间人们在商业中心区域大量聚集,下班后又向居民区大量迁徙,或者一些重大的活动(例如,体育赛事、演唱会等)期间人群大规模聚集现象。这种现象引发了移动通信系统中话务量的流动,使得热点区域在特定时刻出现突发大话务量,导致网络拥塞、无法接入,对于建网初期的容量规划也带来一定的困难。
在IT领域,“潮汐效应”是指一天中白天的大多数时候,企业(如门户网站、电商、网游等厂商)的访问量相对比较平缓,后台服务器集群大多数服务器都处于闲置状态,下班后人们有了大量私人时间,大量用户分别涌入各自喜欢的网站进行访问,此时后台服务器就会出现流量剧增或者峰值冲击的现象。
为了应对上述潮汐效应,在本发明实施例中,分发设备#A可以实时感知各服务节点的负载状况。潮汐效应产生时出现服务节点过载的现象,分发设备#A可以动态调节服务节点的数目,或者,分发设备#A根据各服务节点负载情况,对虚拟结点与服务节点的映射关系做相应调整。
下面,对该虚拟结点与服务节点的映射关系的调整过程进行说明。
可选地,该该方法还包括:
该分发设备确定边界时刻,其中,该目标虚拟节点在边界时刻的前一时段与第一服务节点相对应,且第一服务节点在该边界时刻的负载状态满足预设条件;
根据该边界时刻,为该目标虚拟节点分配两个服务时段,其中,该边界时刻为第一服务时段的结束时刻,且该边界时刻为第二服务时段的起始时刻,该第一服务时段为该边界时刻的前一时段,该第二服务时段为该边界时刻的后一时段;
确定该目标虚拟节点在该第一服务时段与该第一服务节点相对应,并确定该目标虚拟节点在该第二服务时段与第二服务节点相对应。
首先需要说明的是,本发明实施例中的“时段”是指两个时刻之间的时间长度,或者说,时间范围,例如,可以将一个时间周期均匀或非均匀的划分为多个时段。
在本发明实施例中,根据各虚拟节点的负载状态以及各服务节点的负载状态,各虚拟节点与各服务节点之间的映射关系在不同时段可能发生变化,例如,上述初始建立的映射关系可以视为各服务节点在首个时段(t1时刻至t2时刻)的映射关系。
需要说明的是,在本发明实施例中,初始建立映射关系时,对于各虚拟节点而言t1时刻可以是相同的,但是,由于系统运行后,各服务节点以及各虚拟节点的负载状态不尽相同,或者说各服务节点以及各虚拟节点的负载状态满足后述触发映射关系变更的预设条件的时间点不尽相同,因此,对于各虚拟节点而言t2时刻可能不尽相同,类似的情况存在于之后的各时段的结束时刻。
为了便于理解和说明,不失一般性,以下以针对图2中虚拟节点#1(即,目标虚拟节点的一例)的与各服务节点之间的映射关系的调整为例,进行说明。
具体地说,如上所述,在初始建立映射关系时,即,从t1时刻开始,虚拟节点#1与服务节点#A相对应。
其后,分发设备#A可以监测包括服务节点#A在内的各服务节点的负载状态,当在t2时刻(即,边界时刻的一例)确定服务节点#A的负载状态为例如过载的情况下,可以查找在t2时刻负载较轻服务节点(为了便于理解和区分,记做服务节点#B),并将与虚拟节点#1相对应的服务节点,从服务节点#A(第一服务器的一例)变更为服务节点#B(第二服务器的一例)。
需要说明的是,在本发明实施例中,分发设备#A对各服务节点的负载状态的监测是不间断的时时监测,也可以是周期性监测本发明并未特别限定,但是,为了降低分发设备的负担优选使分发设备进行周期性监测,作为示例而非限定,该监测的周期可以为,例如,10秒。
类似的,当在t3时刻(即,边界时刻的另一例)确定服务节点#B的负载状态为例如过载的情况下,可以查找在t3时刻负载较轻服务节点(为了便于理解和区分,记做服务节点#C),并将与虚拟节点#1相对应的服务节点,从服务节点#B(第一服务器的另一例)变更为服务节点#C(第二服务器的另一例)。
即,只要确定一个服务节点负载状态满足预设条件,便可以触发映射关系变更流程。
在本发明实施例中,可以根据服务节点的实时负载率来确定其负载状态,其中服务节点的实时负载率用于指示该服务节点当前的负载与满负荷运转时的负载的比例。在一个具体的实施例中,服务节点#A的实时负载率R(A)可以根据以下公式来确定。
R(A)=max{x,y,z}
x=(Cp(A)-Cp_N(A))/(Cp_M(A)-Cp_N(A))
y=(Ca(A)-Ca_N(A))/(Ca_M(A)-Ca_N(A))
z=(Ne(A)-Ne_N(A))/(Ne_M(A)-Ne_N(A))
其中,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的网络带宽的最大值。
例如,如果确定服务节点#A在t2时刻的R(A)大于预设的门限(例如,可以根据仿真实验等方式获得),则可以确定该服务节点#A的负载过重,从而,可以将在t2时刻的前一时段内与服务节点#A相对应虚拟节点#1,分配给负载较轻的服务节点#B,进而,可以确定在t2时刻的前一时段内虚拟节点#1与服务节点#A相对应,在t2时刻的下一时段内,虚拟节点#1与服务节点#B相对应。
再例如,可选地,该第一服务节点在该边界时刻的负载状态满足预设条件,包括:
该第一服务节点在该边界时刻的负载率与该第二服务节点在该边界时刻的负载率之差大于或等于第一预设门限。
具体地说,与上述确定服务节点#A的实时负载率R(A)类似,分发设备#A可以确定系统内所有服务节点的实时负载率,不失一般性,将服务节点#i的实时负载率记做R(i)。例如,当服务节点#A(第一服务节点的一例)和服务节点#B(第二服务节点的一例)之间的实时负载率之差大于或等于预设的门限Rt(即,第一预设门限的一例,例如,可以取Rt=0.1)时,可以记录当前时刻为t2(边界时刻的一例),并将在t2时刻的前一时段与服务节点#A相对应的虚拟节点#1(目标虚拟节点的一例),分配给服务节点#B,进而,可以确定在t2时刻的前一时段内虚拟节点#1与服务节点#A相对应,在t2时刻的下一时段内,虚拟节点#1与服务节点#B相对应。
可选地,该第一服务节点是该至少两个服务节点中在该边界时刻的负载率最大的服务节点。
并且,可选地,该第二服务节点是该至少两个服务节点中在该边界时刻的负载率最小的服务节点。
具体地说,当各服务节点中负载率最大的服务节点与负载率最小的服务节点之间的负载率之差大于或等于上述预设的门限Rt时,触发上述映射关系调整流程,能够更快速地识别为系统负载不均衡,从而能够进一步提高系统性能
可选地,该目标虚拟节点为在该第一服务时段内与该第一服务节点相对应的虚拟节点中在该边界时刻的负载率最小的虚拟节点。
具体地说,当在上述t2时刻的前一时段内与服务节点#A相对应的虚拟节点有多个时,该多个虚拟节点中负载率最小的虚拟节点可能为所处理业务最少的虚拟节点。如上所述,在t2时刻的前一时段,由于目标虚拟节点与服务节点#A相对应,因此,与该目标虚拟节点相对应的业务A需要传输至服务节点#A,为了确保业务的连贯性,在t2时刻的后一时段,尽管目标虚拟节点与服务节点#B相对应,但是,如果存在该业务A的后续报文,仍需要将该业务A的报文传输至服务节点#A,从而降低了负载均衡的效果。通过将该负载率最小的虚拟节点作为目标虚拟节点而分配给服务节点#B,能够实现目标虚拟节点中存在的上述业务A的数量的最小化,从而能够进一步提高负载均衡的效果。
本发明实施例的映射关系调整算法伪代码如下:
1.while((R(H)—R(Z))>α·Rt);
语意为:确定负载率最大的服务节点#H,并记录其实时负载率R(H),确定负载率最小的服务节点#Z,并记录其实时负载率R(Z),执行外层循环,调整其与虚拟结点之间的映射关系,直到R(H)-R(Z))≤α·Rt。
2.Rank(VH1,…VHm);
语意为:根据按负载率,对服务节点#H所对应的各虚拟节点进行降序排列。
3.ΔLtotal=min{((RAVG-RZ)·az),((RH-RAVG)·ah)};
语意为:确定(RAVG-RZ)·az与(RH-RAVG)·ah之间的最小值,其中,可以根据以下公式1确定所述服务节点的平均负载率RAVG。
公式1
ai表示服务节点i的CPU、缓存、网络带宽之中任一参数在满负荷状态下的容量。
4.ΔL=0;j=0;
5.while((ΔL<ΔLtotal)&&(R(H)>R(Z)))
语意为:执行内循环,调整服务节点#H和服务节点#Z的虚拟结点映射关系,直到ΔL<ΔLtotal,且R(H)≤R(Z)。
6.Transmit(VHj,Z);
语意为:进行映射关系调整,将属于服务节点#H的虚拟结点j转移到服务节点#Z
7.j++;
语意为:处理服务节点#H的下一个高负载虚拟节点。
8.ΔL+=LvHj;
9.R(H)=R_refresh(H);
语意为:更新服务器#H的负载率。
10.R(Z)=R_refresh(Z);
语意为:更新服务器#Z的负载率。
11.end while
语意为:内循环结束。
12.R(H)=max{R(i)|i=1,…,N};
语意为:重新获取负载率最高的服务节点。
13.R(Z)=min{R(i)|i=1,…,N};
语意为:重新获取负载率最低的服务节点。
14.end while
语意为:外循环结束。
其中,LvHj代表对服务结点#H所对应的所有虚拟节点中,负载排名第j位的虚拟节点的负载。
在本发明实施例中,算法执行过程中H和Z会随着内层循环执行完而变化。通过反复运行Transmit(VHj,Z)和更新H、Z,系统的实时负载率之差(R(H)-R(Z))最终缩小到(0~α·Rt)范围内,这时可确定算法达到了负载调整的目标。
从而,如上所述,对于所对应的虚拟节点发生变化的服务节点(即,包括因负载较高而需要向其他节点转出虚拟节点的高负载服务节点以及因负载低而从其他节点转入虚拟节点的低负载服务节点),均存在至少一个进行映射关系调整的时刻(即,边界时刻),例如,对于上述服务节点#A,存在t2时刻;对于上述服务节点#B,存在t2、t3等时刻;对于上述服务节点#B,存在t3时刻
以上述虚拟节点#1为例,分发设备#A可以根据该虚拟节点#1在各服务时段(即,根据各边界时刻划分的时段)所对应的服务节点,生成针对该虚拟节点#1的分发表(也可以称为疏导过滤器),如以下表1所示。
表1
同样的,针对各虚拟节点,均可以生成上述分发表,从而,分发设备#A根据该分发表,能够准确快捷地确定各虚拟节点(包括目标虚拟节点)在各服务时段所对应的服务节点。
可选地,该第一服务节点在该边界时刻的负载状态是根据在该第一时段内传输至该第一服务节点的业务的数量确定的
具体地说,在本发明实施例中,分发设备#A还可以虚拟节点#1在各时段所对应的服务节点的业务处理量,例如,所处理的业务的数量。或者说,所处理的会话的数量。例如,如上所述,虚拟节点#1在t1~t2时段内所对应的服务节点为服务节点#A,当服务节点#A在该t1~t2时段内所处理的会话的数量超过预设的阈值(例如,50个会话),则可以推断该服务节点#A的负载可能过重,从而可以发起如上所述的,确定服务节点#A的负载率并调整虚拟节点的映射关系的流程。从而,能够快速便捷的推测服务节点的负载状态,进一步提高系统的性能。
应理解,以上列举的确定负载状态的方法仅为示例性说明,本发明并不限定于此,例如还可以结合服务节点自身的计算能力或者业务处理能力来确定。
下面,对用户设备的发送报文时的处理进行说明。
在本发明实施例中,用户设备在发送业务(为了便于理解和区分,以下业务#A为例)的首个报文(记做,报文A1)时,可以记录该报文A1的发送时刻Tstart_send,并且,在发送该业务#A的后续报文(记做,报文A2)时,可以记录该报文A1的发送时刻Tcur_send,从而,可以确定时刻Tcur_send与时刻Tstart_send之间的时间间隔Ttime_stamp,即,Ttime_stamp=Tcur_send-Tstart_send。需要说明的是,对于一个业务的首个报文,可以令该Ttime_stamp=0。从而,分发设备能够根据该Ttime_stamp容易得辨别该报文是否是业务的首个报文。
并且,用户设备在通过分发设备向服务节点发送该报文A2时,可以在报文中携带指示该时间间隔Ttime_stamp的信息(即,时间指示信息)。
此外,在本发明实施例中,用户设备对报文的编码、调制、发送等动作可以与现有技术相似,这里,为了避免赘述,省略其详细说明。
下面,以分发设备#A为例,对分发设备对报文进行转发时的处理进行说明。
当分发设备#A收到用户设备发来的报文后,可以确定与该报文相对应的虚拟节点。
该确定该目标报文与该目标虚拟节点相对应,包括:
从该目标报文中提取判定信息,该判定信息包括以下至少一个信息:该目标报文的源网际协议IP地址、该目标报文的目的IP地址、该目标报文的源端口号、该目标报文的目的端口号、该目标报文的通信协议类型、该目标报文的目的统一资源定位符、用于指示该目标报文所属于的业务的业务标识;
根据该判定信息,确定该目标报文与该目标虚拟节点相对应
具体地说,在本发明实施例中,分发设备#A可以获取报文的关键字,例如,源IP地址、目的IP地址、源端口号,目的端口号、通信协议类型、URL或指示该报文所属于的业务(或者说,会话)的标识,并且,可以利用上述关键字计算出一个hash值,在上述S110中使用的0~232的hash环上顺时针查找该hash值最近的虚拟结点。
需要说明的是,通常情况下同一业务的各报文,其关键字通常是相同的,因此,根据同一业务的不同报文所计算得到的hash值相同,即,同一业务的不同报文通常对应同一虚拟节点。
以下,以目标业务所对应的虚拟节点为上述虚拟节点#1为例进行说明。
当分发设备#A接收到一个业务(例如,目标业务)的首报文(即,Ttime_stamp=0的报文,为了便于区分记做,报文Ⅰ)时,可以记录该报文Ⅰ的接收时刻Tstart_recv。并且,可以根据上述表1,确定虚拟节点#1在报文Ⅰ的接收时刻所处于的时段内所对应的服务节点,为了便于理解,以报文Ⅰ的接收时刻处于t1~t2时段为例进行说明,即,由于虚拟节点#1在t1~t2时段与服务节点#A相对应,因此,报文Ⅰ需要发送至服务节点#A。
当分发设备#A接收到一个业务(例如,目标业务)的非首报文(即,Ttime_stamp≠0的报文,为了便于区分记做,报文Ⅱ)时,可以记录该报文Ⅱ的接收时刻Tcur_recv,并且,可以根据该报文Ⅱ的Ttime_stamp和Tcur_recv,估算该报文Ⅱ的所属于的业务的首报文(例如,上述报文1)的接收时刻Tstart_recv_estimate,其中,Tstart_recv_estimate=Tcur_recv-Ttime_stamp,从而可以根据上述表1,确定虚拟节点#1在Tstart_recv_estimate所处于的时段内所对应的服务节点,如上所述,当报文Ⅱ和报文Ⅰ属于同一业务时,Tstart_recv_estimate处于t1~t2时段,即,由于虚拟节点#1在t1~t2时段与服务节点#A相对应,因此,报文Ⅰ需要发送至服务节点#A。
可选地,该分发设备的时间精度与该用户设备的时间精度的差异处于预设范围内。
具体地说,考虑到报文在真实网络环境中传输的时延,Tstart_recv_estimate与Tstart_recv之间可能存在一定误差。
具体地说,用户设备发送的报文Ⅰ到达分发设备#A的时延:
ΔTstart_delay=Tstart_recv-Tstart_send;
用户设备发送的报文Ⅱ到达分发设备#A的时延
ΔTcur_delay=Tcur_recv-Tcur_send;
从而,Tstart_recv_estimate与Tstart_recv之间误差为
ΔTerr=Tstart_recv_estimate-Tstart_recv
=Tcur_recv-Ttime_stamp-Tstart_recv
=Tcur_recv-(Tcur_send-Tstart_send)-Tstart_recv
=(Tcur_recv-Tcur_send)-(Tstart_recv-Tstart_send)
=ΔTcur_delay-ΔTstart_delay
可以看出,业务的首包到达时间的估算误差与网络延迟成正比,即,网络延迟越大,估算误差越大,反之亦然。
并且,每次调整虚拟结点映射关系的前后,接收到的新的业务,均会受到这个误差的影响。例如,虚拟结点#1的映射关系在t2时刻发生调整,由服务节点#A切换到服务节点#B。业务A的首报文Ⅰ到达时间Tstart_recv=t2-1,被分发到服务节点#A。t2之后某个时间,业务A的后续报文Ⅱ到达,由于网络延迟增大,估算出的首包到达时间Tstart_recv_estimate=t2+1,于是被发送到服务节点#B。
因此,通过控制分发设备的时间精度与该用户设备的时间精度,使ΔTcur_delay与ΔTstart_delay之间的差异足够小,能够避免上述情况的发生。
可选地,该分发设备的时间精度为10毫秒,且该用户设备的时间精度为10毫秒。
具体地说,当前骨干网和数据中心内部网络中,基本都使用光纤进行数据传输,传输时延非常小,基本在毫秒级,无线环境下的时延稍大,为10ms级别,因此,用户设备和分发设备的时间精度可以设置为在10ms,这样,能够将上述分发失误概率控制在0.1%以内。
应理解,以上列举的分发设备和用户设备的时间精度仅为示例性说明,本发明并不限定于此,可以根据本发明所应用的系统,对其进行变更,例如,在未来计算机的处理器时钟频率提高的情况下,该时间精度也可以适当延长,例如,可能为1秒。
需要说明的是,在系统内配置有多个分发设备的情况下,可能存在同一业务的报文经由不同的分发设备进行分发的情况,此情况下,各分发设备彼此之间可以共享并匹配所确定的各虚拟节点在各服务时段所对应的服务节点,从而能够避免同一业务的报文被分发至不同服务节点的情况,进一步提高业务处理的连贯性。
应理解,以上列举的以实时负载率作为负载状态的情况仅为示例性说明,本发明并不限定于此,例如,也可以根据一个服务节点实时负载率在规定时段内的变化情况,来预测该服务节点的负载状态,例如,如果服务节点#A的实时负载率在一个时段内呈线性递增的情况下,即使该服务节点#A在边界时刻的实时负载率未达到上述触发映射关系变更的条件要求,仍然可以预期该服务节点#A可能出现负载过重的情况,因此,仍然可以在边界时刻发起映射关系变更流程。
根据本发明的传输报文的方法,分发设备预先确定目标虚拟节点在各服务时段对应的服务节点,并且,使用户设备发送目标业务的目标报文时,在该目标报文中携带时间指示信息,该时间指示信息用于指示该目标报文的发送时间与该目标业务的首报文的发送时间之间的时间间隔,从而,当分发设备确定该目标报文与该目标虚拟节点相对应时,能够根据该时间指示信息,确定该目标业务的首报文的接收时间以及该首报文的接收时间所处于的服务时段,从而,能够确定该目标业务的首报文所发往的服务节点,通过将该目标报文发送至该目标业务的首报文所发往的服务节点,能够保持业务的连贯性,并且,无需存储业务的报文的五元组与处理该业务的服务节点之间的映射关系,能够减少内存开销,通过时间段来索引报文所要发送至的服务器,能够提升报文分发效率。
另外,以上列举了用户设备在报文中携带上述时间指示信息的实施例,从而分发设备根据该时间指示信息推算出业务首报文的接收时间的实施例,但是,用户设备也可以记录首报文的发送时间,并在发送后续报文时,在报文中携带指示首报文的发送时间的信息,从而,分发设备可以根据该信息,确定业务首报文的接收时间,进而确定该后续报文所需要传输至的服务器。
图3示出了从用户设备角度描述的本发明实施例的传输报文的方法200的示意性流程图,该方法200在包括至少两个服务节点的通信系统中执行,如图2所示,该方法200包括:
S210,用户设备确定目标报文的发送时间与目标业务的首报文的发送时间之间的间隔,其中,该目标报文属于目标业务;
S220,向至少一个分发设备发送该目标报文,其中,该目标报文中承载有时间指示信息,该时间指示信息用于指示该目标报文的发送时间与该目标业务的首报文的发送时间之间的间隔。
可选地,该分发设备的时间精度与该用户设备的时间精度的差异处于预设范围内。
可选地,该分发设备的时间精度为10毫秒,且该用户设备的时间精度为10毫秒。
用户设备的功能以及与其它实体之间的交互过程,均与前面实施例中提到的关于用户设备的描述相同,因此,此处不再赘述。
根据本发明的传输报文的方法,分发设备预先确定目标虚拟节点在各服务时段对应的服务节点,并且,使用户设备发送目标业务的目标报文时,在该目标报文中携带时间指示信息,该时间指示信息用于指示该目标报文的发送时间与该目标业务的首报文的发送时间之间的时间间隔,从而,当分发设备确定该目标报文与该目标虚拟节点相对应时,能够根据该时间指示信息,确定该目标业务的首报文的接收时间以及该首报文的接收时间所处于的服务时段,从而,能够确定该目标业务的首报文所发往的服务节点,通过将该目标报文发送至该目标业务的首报文所发往的服务节点,能够保持业务的连贯性,并且,无需存储业务的报文的五元组与处理该业务的服务节点之间的映射关系,能够减少内存开销,通过时间段来索引报文所要发送至的服务器,能够提升报文分发效率。
以上,结合图1至图3详细说明了根据本发明实施例的传输报文的方法,下面,结合图4至图5详细说明根据本发明实施例的传输报文的装置。
图4示出了根据本发明实施例的传输报文的装置300的示意性框图,该装置300配置于包括至少两个服务节点的通信系统,至少一个虚拟节点中的目标虚拟节点具有至少两个服务时段,该目标虚拟节点在一个服务时段内仅与一个服务节点相对应,且该目标虚拟节点在相邻的两个服务时段内所对应的服务节点相异,如图4所示,该装置300包括:
接收单元310,用于接收该用户设备发送的目标报文;
确定单元320,用于确定该接收单元310所接收到的该目标报文与该目标虚拟节点相对应,其中,该目标报文属于目标业务,该目标报文中承载有时间指示信息,该时间指示信息用于指示该目标报文的发送时间与该目标业务的首报文的发送时间之间的间隔,根据该目标报文的接收时间和该时间指示信息,确定该目标业务的首报文的接收时间,根据该目标业务的首报文的接收时间,从该至少两个服务节点中确定目标服务节点,其中,该目标业务的首报文的接收时间处于目标时段,该目标服务节点是该目标虚拟节点在该目标时段所对应的服务节点;
发送单元330,用于向该确定单元320确定的该目标服务节点转发该目标报文。
可选地,该装置还包括:该分配单元340,用于确定边界时刻,其中,该目标虚拟节点在边界时刻的前一时段与第一服务节点相对应,且第一服务节点在该边界时刻的负载状态满足预设条件;
根据该边界时刻,为该目标虚拟节点分配两个服务时段,其中,该边界时刻为第一服务时段的结束时刻,且该边界时刻为第二服务时段的起始时刻,该第一服务时段为该边界时刻的前一时段,该第二服务时段为该边界时刻的后一时段;
确定该目标虚拟节点在该第一服务时段与该第一服务节点相对应,并确定该目标虚拟节点在该第二服务时段与第二服务节点相对应。
可选地,该分配单元310具体用于在确定该第一服务节点在该边界时刻的负载率与该第二服务节点在该边界时刻的负载率之差大于或等于第一预设门限之后,确定该第一服务节点在该边界时刻的负载状态满足预设条件。
可选地,该第一服务节点是该至少两个服务节点中在该边界时刻的负载率最大的服务节点,
可选地,该第二服务节点是该至少两个服务节点中在该边界时刻的负载率最小的服务节点。
可选地,该目标虚拟节点为在该第一服务时段内与该第一服务节点相对应的虚拟节点中在该边界时刻的负载率最小的虚拟节点。
可选地,该第一服务节点在该边界时刻的负载状态是根据在该第一时段内传输至该第一服务节点的业务的数量确定的。
可选地,该确定单元330具体用于从该目标报文中提取判定信息,该判定信息包括以下至少一个信息:该目标报文的源网际协议IP地址、该目标报文的目的IP地址、该目标报文的源端口号、该目标报文的目的端口号、该目标报文的通信协议类型、该目标报文的目的统一资源定位符、用于指示该目标报文所属于的业务的业务标识;
根据该判定信息,确定该目标报文与该目标虚拟节点相对应。
可选地,该装置300的时间精度与该用户设备的时间精度的差异处于预设范围内。
可选地,该装置300的时间精度为10毫秒,且该用户设备的时间精度为10毫秒。
根据本发明实施例的传输报文的装置300可对应于本发明实施例的方法中的分发设备(例如,分发设备#A),并且,该传输报文的装置300中的各单元即模块和上述其他操作和/或功能分别为了实现图1中的方法100的相应流程,为了简洁,在此不再赘述。
根据本发明的传输报文的装置,分发设备预先确定目标虚拟节点在各服务时段对应的服务节点,并且,使用户设备发送目标业务的目标报文时,在该目标报文中携带时间指示信息,该时间指示信息用于指示该目标报文的发送时间与该目标业务的首报文的发送时间之间的时间间隔,从而,当分发设备确定该目标报文与该目标虚拟节点相对应时,能够根据该时间指示信息,确定该目标业务的首报文的接收时间以及该首报文的接收时间所处于的服务时段,从而,能够确定该目标业务的首报文所发往的服务节点,通过将该目标报文发送至该目标业务的首报文所发往的服务节点,能够保持业务的连贯性,并且,无需存储业务的报文的五元组与处理该业务的服务节点之间的映射关系,能够减少内存开销,通过时间段来索引报文所要发送至的服务器,能够提升报文分发效率。
图5示出了根据本发明实施例的传输报文的装置400的示意性框图,如图5所示,该装置400包括:
确定单元410,用于确定目标报文的发送时间与目标业务的首报文的发送时间之间的间隔,其中,该目标报文属于目标业务;
发送单元420,用于向至少一个分发设备发送该目标报文,其中,该目标报文中承载有时间指示信息,该时间指示信息用于指示该目标报文的发送时间与该目标业务的首报文的发送时间之间的间隔。
可选地,该分发设备的时间精度与该装置400的时间精度的差异处于预设范围内。
可选地,该分发设备的时间精度为10毫秒,且该装置400的时间精度为10毫秒。
根据本发明实施例的传输报文的装置400可对应于本发明实施例的方法中的用户设备,并且,该传输报文的装置400中的各单元即模块和上述其他操作和/或功能分别为了实现图3中的方法200的相应流程,为了简洁,在此不再赘述。
根据本发明的传输报文的装置,分发设备预先确定目标虚拟节点在各服务时段对应的服务节点,并且,使用户设备发送目标业务的目标报文时,在该目标报文中携带时间指示信息,该时间指示信息用于指示该目标报文的发送时间与该目标业务的首报文的发送时间之间的时间间隔,从而,当分发设备确定该目标报文与该目标虚拟节点相对应时,能够根据该时间指示信息,确定该目标业务的首报文的接收时间以及该首报文的接收时间所处于的服务时段,从而,能够确定该目标业务的首报文所发往的服务节点,通过将该目标报文发送至该目标业务的首报文所发往的服务节点,能够保持业务的连贯性,并且,无需存储业务的报文的五元组与处理该业务的服务节点之间的映射关系,能够减少内存开销,通过时间段来索引报文所要发送至的服务器,能够提升报文分发效率。
以上,结合图1至图3详细说明了本发明实施例的传输报文的方法,下面,结合图6和图7,详细说明本发明实施例的传输报文的设备。
图6示出了本发明实施例的传输报文的设备500,该设备500配置在包括至少两个服务节点的通信系统中,至少一个虚拟节点中的目标虚拟节点具有至少两个服务时段,该目标虚拟节点在一个服务时段内仅与一个服务节点相对应,且该目标虚拟节点在相邻的两个服务时段内所对应的服务节点相异,如图6所示,该设备500包括:
总线510;
与所述总线510相连的处理器520;
与所述总线510相连的存储器530;
与所述总线510相连的收发机540;
其中,该处理器520通过所述总线510,调用所述存储器530中存储的程序,以用于控制该收发机540接收该用户设备发送的目标报文,并确定该目标报文与该目标虚拟节点相对应,其中,该目标报文属于目标业务,该目标报文中承载有时间指示信息,该时间指示信息用于指示该目标报文的发送时间与该目标业务的首报文的发送时间之间的间隔;
用于根据该目标报文的接收时间和该时间指示信息,确定该目标业务的首报文的接收时间;
用于根据该目标业务的首报文的接收时间,从该至少两个服务节点中确定目标服务节点,并控制该收发机540向该目标服务节点转发该目标报文,其中,该目标业务的首报文的接收时间处于目标时段,该目标服务节点是该目标虚拟节点在该目标时段所对应的服务节点。
可选地,该处理器520具体用于确定边界时刻,其中,该目标虚拟节点在边界时刻的前一时段与第一服务节点相对应,且第一服务节点在该边界时刻的负载状态满足预设条件;
用于根据该边界时刻,为该目标虚拟节点分配两个服务时段,其中,该边界时刻为第一服务时段的结束时刻,且该边界时刻为第二服务时段的起始时刻,该第一服务时段为该边界时刻的前一时段,该第二服务时段为该边界时刻的后一时段;
用于确定该目标虚拟节点在该第一服务时段与该第一服务节点相对应,并确定该目标虚拟节点在该第二服务时段与第二服务节点相对应。
可选地,该处理器520还用于在确定该第一服务节点在该边界时刻的负载率与该第二服务节点在该边界时刻的负载率之差大于或等于第一预设门限之后,确定该第一服务节点在该边界时刻的负载状态满足预设条件。
可选地,该第一服务节点是该至少两个服务节点中在该边界时刻的负载率最大的服务节点。
可选地,该第二服务节点是该至少两个服务节点中在该边界时刻的负载率最小的服务节点。
可选地,该目标虚拟节点为在该第一服务时段内与该第一服务节点相对应的虚拟节点中在该边界时刻的负载率最小的虚拟节点。
可选地,该第一服务节点在该边界时刻的负载状态是根据在该第一时段内传输至该第一服务节点的业务的数量确定的。
可选地,该处理器520具体用于从该目标报文中提取判定信息,该判定信息包括以下至少一个信息:该目标报文的源网际协议IP地址、该目标报文的目的IP地址、该目标报文的源端口号、该目标报文的目的端口号、该目标报文的通信协议类型、该目标报文的目的统一资源定位符、用于指示该目标报文所属于的业务的业务标识;
根据该判定信息,确定该目标报文与该目标虚拟节点相对应。
可选地,该设备500的时间精度与该用户设备的时间精度的差异处于预设范围内。
可选地,该设备500的时间精度为10毫秒,且该用户设备的时间精度为10毫秒。
在本发明实施例中,处理单器还可以称为CPU。存储器可以包括只读存储器和随机存取存储器,并向处理器提供指令和信号。存储器的一部分还可以包括非易失行随机存取存储器(NVRAM)。具体的应用中,传输信号的设备可以嵌入或者本身可以就是例如个人电脑之类的标准以太网通信设备,传输信号的设备的各个模块通过总线系统耦合在一起,其中,总线系统除包括信号总线之外,还包括电源总线、控制总线和状态信号总线。
处理器可以实现或者执行本发明方法实施例中的公开的各步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器,解码器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用解码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,解码单元或者处理单元读取存储器中的信息,结合其硬件完成上述方法的步骤。
应理解,在本发明实施例中,该处理器可以是中央处理单元(Central ProcessingUnit,简称为“CPU”),该处理器还可以是其他通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。结合本发明实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。为避免重复,这里不再详细描述。
根据本发明实施例的传输报文的设备500可对应于本发明实施例的方法中的分发设备(例如,分发设备#A),并且,该传输报文的设备500中的各单元即模块和上述其他操作和/或功能分别为了实现图1中的方法100的相应流程,为了简洁,在此不再赘述。
根据本发明的传输报文的设备,分发设备预先确定目标虚拟节点在各服务时段对应的服务节点,并且,使用户设备发送目标业务的目标报文时,在该目标报文中携带时间指示信息,该时间指示信息用于指示该目标报文的发送时间与该目标业务的首报文的发送时间之间的时间间隔,从而,当分发设备确定该目标报文与该目标虚拟节点相对应时,能够根据该时间指示信息,确定该目标业务的首报文的接收时间以及该首报文的接收时间所处于的服务时段,从而,能够确定该目标业务的首报文所发往的服务节点,通过将该目标报文发送至该目标业务的首报文所发往的服务节点,能够保持业务的连贯性,并且,无需存储业务的报文的五元组与处理该业务的服务节点之间的映射关系,能够减少内存开销,通过时间段来索引报文所要发送至的服务器,能够提升报文分发效率。
图7示出了本发明实施例的传输报文的设备600,该设备600配置在包括至少两个服务节点的通信系统中,如图6所示,该设备600包括:
总线610;
与所述总线610相连的处理器620;
与所述总线610相连的存储器630;
与所述总线610相连的收发机640;
其中,该处理器620通过所述总线610,调用所述存储器630中存储的程序,以用于确定目标报文的发送时间与目标业务的首报文的发送时间之间的间隔,其中,该目标报文属于目标业务;
控制收发器640向至少一个分发设备发送该目标报文,其中,该目标报文中承载有时间指示信息,该时间指示信息用于指示该目标报文的发送时间与该目标业务的首报文的发送时间之间的间隔。
可选地,该分发设备的时间精度与该设备600的时间精度的差异处于预设范围内。
可选地,该分发设备的时间精度为10毫秒,且该设备600的时间精度为10毫秒。
在本发明实施例中,处理单器还可以称为CPU。存储器可以包括只读存储器和随机存取存储器,并向处理器提供指令和信号。存储器的一部分还可以包括非易失行随机存取存储器(NVRAM)。具体的应用中,传输信号的设备可以嵌入或者本身可以就是例如个人电脑之类的标准以太网通信设备,传输信号的设备的各个模块通过总线系统耦合在一起,其中,总线系统除包括信号总线之外,还包括电源总线、控制总线和状态信号总线。
处理器可以实现或者执行本发明方法实施例中的公开的各步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器,解码器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用解码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,解码单元或者处理单元读取存储器中的信息,结合其硬件完成上述方法的步骤。
应理解,在本发明实施例中,该处理器可以是中央处理单元(Central ProcessingUnit,简称为“CPU”),该处理器还可以是其他通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。结合本发明实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。为避免重复,这里不再详细描述。
根据本发明实施例的传输报文的设备600可对应于本发明实施例的方法中的用户设备,并且,该传输报文的设备600中的各单元即模块和上述其他操作和/或功能分别为了实现图3中的方法200的相应流程,为了简洁,在此不再赘述。
根据本发明的传输报文的设备,分发设备预先确定目标虚拟节点在各服务时段对应的服务节点,并且,使用户设备发送目标业务的目标报文时,在该目标报文中携带时间指示信息,该时间指示信息用于指示该目标报文的发送时间与该目标业务的首报文的发送时间之间的时间间隔,从而,当分发设备确定该目标报文与该目标虚拟节点相对应时,能够根据该时间指示信息,确定该目标业务的首报文的接收时间以及该首报文的接收时间所处于的服务时段,从而,能够确定该目标业务的首报文所发往的服务节点,通过将该目标报文发送至该目标业务的首报文所发往的服务节点,能够保持业务的连贯性,并且,无需存储业务的报文的五元组与处理该业务的服务节点之间的映射关系,能够减少内存开销,通过时间段来索引报文所要发送至的服务器,能够提升报文分发效率。
以上,结合图1至图3详细说明了本发明实施例的传输报文的方法,下面,结合图8,详细说明本发明实施例的传输报文的系统。
图8示出了本发明实施例的传输报文的系统700,如图8所示,该系统700包括:
至少两个服务节点710,用于对所传输至的报文进行业务处理,其中,至少一个虚拟节点中的目标虚拟节点具有至少两个服务时段,该目标虚拟节点在一个服务时段内仅与一个服务节点相对应,且该目标虚拟节点在相邻的两个服务时段内所对应的服务节点相异;
至少一个用户设备720,用于在访问目标业务时向该服务节点发送目标报文,其中,该目标报文中承载有时间指示信息,该时间指示信息用于指示该目标报文的发送时间与该目标业务的首报文的发送时间之间的间隔;
至少一个分发设备730,用于接收该用户设备发送的目标报文,并确定该目标报文与该目标虚拟节点相对应,根据该目标报文的接收时间和该时间指示信息,确定该目标业务的首报文的接收时间,根据该目标业务的首报文的接收时间,从该至少两个服务节点中确定目标服务节点,并向该目标服务节点转发该目标报文,其中,该目标业务的首报文的接收时间处于目标时段,该目标服务节点是该目标虚拟节点在该目标时段所对应的服务节点。
根据本发明实施例的分发设备730可对应于本发明实施例的方法中的分发设备,并且,该分发设备730中的各单元即模块和上述其他操作和/或功能分别为了实现图1中的方法100的相应流程,为了简洁,在此不再赘述。
根据本发明实施例的用户设备720可对应于本发明实施例的方法中的用户设备,并且,该用户设备720中的各单元即模块和上述其他操作和/或功能分别为了实现图3中的方法200的相应流程,为了简洁,在此不再赘述。
根据本发明的传输报文的系统,分发设备预先确定目标虚拟节点在各服务时段对应的服务节点,并且,使用户设备发送目标业务的目标报文时,在该目标报文中携带时间指示信息,该时间指示信息用于指示该目标报文的发送时间与该目标业务的首报文的发送时间之间的时间间隔,从而,当分发设备确定该目标报文与该目标虚拟节点相对应时,能够根据该时间指示信息,确定该目标业务的首报文的接收时间以及该首报文的接收时间所处于的服务时段,从而,能够确定该目标业务的首报文所发往的服务节点,通过将该目标报文发送至该目标业务的首报文所发往的服务节点,能够保持业务的连贯性,并且,无需存储业务的报文的五元组与处理该业务的服务节点之间的映射关系,能够减少内存开销,通过时间段来索引报文所要发送至的服务器,能够提升报文分发效率。
应理解,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
应理解,在本发明的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
Claims (27)
1.一种传输报文的方法,其特征在于,在包括至少两个服务节点的通信系统中执行,至少一个虚拟节点中的目标虚拟节点具有至少两个服务时段,所述目标虚拟节点在一个服务时段内仅与一个服务节点相对应,且所述目标虚拟节点在相邻的两个服务时段内所对应的服务节点相异,所述方法包括:
分发设备接收用户设备发送的目标报文,并确定所述目标报文与所述目标虚拟节点相对应,其中,所述目标报文属于目标业务,所述目标报文中承载有时间指示信息,所述时间指示信息用于指示所述目标报文的发送时间与所述目标业务的首报文的发送时间之间的间隔;
根据所述目标报文的接收时间和所述时间指示信息,确定所述目标业务的首报文的接收时间;
根据所述目标业务的首报文的接收时间,从所述至少两个服务节点中确定目标服务节点,并向所述目标服务节点转发所述目标报文,其中,所述目标业务的首报文的接收时间处于目标时段,所述目标服务节点是所述目标虚拟节点在所述目标时段所对应的服务节点。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
所述分发设备确定边界时刻,其中,所述目标虚拟节点在边界时刻的前一时段与第一服务节点相对应,且第一服务节点在所述边界时刻的负载状态满足预设条件;
根据所述边界时刻,为所述目标虚拟节点分配两个服务时段,其中,所述边界时刻为第一服务时段的结束时刻,且所述边界时刻为第二服务时段的起始时刻,所述第一服务时段为所述边界时刻的前一时段,所述第二服务时段为所述边界时刻的后一时段;
确定所述目标虚拟节点在所述第一服务时段与所述第一服务节点相对应,并确定所述目标虚拟节点在所述第二服务时段与第二服务节点相对应。
3.根据权利要求2所述的方法,其特征在于,所述第一服务节点在所述边界时刻的负载状态满足预设条件,包括:
所述第一服务节点在所述边界时刻的负载率与所述第二服务节点在所述边界时刻的负载率之差大于或等于第一预设门限。
4.根据权利要求3所述的方法,其特征在于,所述第一服务节点是所述至少两个服务节点中在所述边界时刻的负载率最大的服务节点。
5.根据权利要求3或4所述的方法,其特征在于,所述第二服务节点是所述至少两个服务节点中在所述边界时刻的负载率最小的服务节点。
6.根据权利要求2至4中任一项所述的方法,其特征在于,所述目标虚拟节点为在所述第一服务时段内与所述第一服务节点相对应的虚拟节点中在所述边界时刻的负载率最小的虚拟节点。
7.根据权利要求2至4中任一项所述的方法,其特征在于,所述第一服务节点在所述边界时刻的负载状态是根据在第一时段内传输至所述第一服务节点的业务的数量确定的。
8.根据权利要求1至4中任一项所述的方法,其特征在于,所述确定所述目标报文与所述目标虚拟节点相对应,包括:
从所述目标报文中提取判定信息,所述判定信息包括以下至少一个信息:所述目标报文的源网际协议IP地址、所述目标报文的目的IP地址、所述目标报文的源端口号、所述目标报文的目的端口号、所述目标报文的通信协议类型、所述目标报文的目的统一资源定位符、用于指示所述目标报文所属于的业务的业务标识;
根据所述判定信息,确定所述目标报文与所述目标虚拟节点相对应。
9.根据权利要求1至4中任一项所述的方法,其特征在于,所述分发设备的时间精度与所述用户设备的时间精度的差异处于预设范围内。
10.根据权利要求1至4中任一项所述的方法,其特征在于,所述分发设备的时间精度为10毫秒,且所述用户设备的时间精度为10毫秒。
11.一种传输报文的方法,其特征在于,所述方法包括:
用户设备确定目标报文的发送时间与目标业务的首报文的发送时间之间的间隔,其中,所述目标报文属于目标业务;
向至少一个分发设备发送所述目标报文,其中,所述目标报文中承载有时间指示信息,所述时间指示信息用于指示所述目标报文的发送时间与所述目标业务的首报文的发送时间之间的间隔,以使所述分发设备根据所述目标报文的接收时间和所述时间指示信息,确定所述目标业务的首报文的接收时间,所述目标业务的首报文的接收时间用于所述分发设备从至少两个服务节点中确定目标服务节点。
12.根据权利要求11所述的方法,其特征在于,所述分发设备的时间精度与所述用户设备的时间精度的差异处于预设范围内。
13.根据权利要求11或12所述的方法,其特征在于,所述分发设备的时间精度为10毫秒,且所述用户设备的时间精度为10毫秒。
14.一种传输报文的装置,其特征在于,配置于包括至少两个服务节点的通信系统,至少一个虚拟节点中的目标虚拟节点具有至少两个服务时段,所述目标虚拟节点在一个服务时段内仅与一个服务节点相对应,且所述目标虚拟节点在相邻的两个服务时段内所对应的服务节点相异,所述装置包括:
接收单元,用于接收用户设备发送的目标报文;
确定单元,用于确定所述接收单元所接收到的所述目标报文与所述目标虚拟节点相对应,其中,所述目标报文属于目标业务,所述目标报文中承载有时间指示信息,所述时间指示信息用于指示所述目标报文的发送时间与所述目标业务的首报文的发送时间之间的间隔,根据所述目标报文的接收时间和所述时间指示信息,确定所述目标业务的首报文的接收时间,根据所述目标业务的首报文的接收时间,从所述至少两个服务节点中确定目标服务节点,其中,所述目标业务的首报文的接收时间处于目标时段,所述目标服务节点是所述目标虚拟节点在所述目标时段所对应的服务节点;
发送单元,用于向所述确定单元确定的所述目标服务节点转发所述目标报文。
15.根据权利要求14所述的装置,其特征在于,所述装置还包括:
分配单元,用于确定边界时刻,其中,所述目标虚拟节点在边界时刻的前一时段与第一服务节点相对应,且第一服务节点在所述边界时刻的负载状态满足预设条件;
根据所述边界时刻,为所述目标虚拟节点分配两个服务时段,其中,所述边界时刻为第一服务时段的结束时刻,且所述边界时刻为第二服务时段的起始时刻,所述第一服务时段为所述边界时刻的前一时段,所述第二服务时段为所述边界时刻的后一时段;
确定所述目标虚拟节点在所述第一服务时段与所述第一服务节点相对应,并确定所述目标虚拟节点在所述第二服务时段与第二服务节点相对应。
16.根据权利要求15所述的装置,其特征在于,所述分配单元具体用于在确定所述第一服务节点在所述边界时刻的负载率与所述第二服务节点在所述边界时刻的负载率之差大于或等于第一预设门限之后,确定所述第一服务节点在所述边界时刻的负载状态满足预设条件。
17.根据权利要求16所述的装置,其特征在于,所述第一服务节点是所述至少两个服务节点中在所述边界时刻的负载率最大的服务节点。
18.根据权利要求16或17所述的装置,其特征在于,所述第二服务节点是所述至少两个服务节点中在所述边界时刻的负载率最小的服务节点。
19.根据权利要求15至17中任一项所述的装置,其特征在于,所述目标虚拟节点为在所述第一服务时段内与所述第一服务节点相对应的虚拟节点中在所述边界时刻的负载率最小的虚拟节点。
20.根据权利要求15至17中任一项所述的装置,其特征在于,所述第一服务节点在所述边界时刻的负载状态是根据在第一时段内传输至所述第一服务节点的业务的数量确定的。
21.根据权利要求14至17中任一项所述的装置,其特征在于,所述确定单元具体用于从所述目标报文中提取判定信息,所述判定信息包括以下至少一个信息:所述目标报文的源网际协议IP地址、所述目标报文的目的IP地址、所述目标报文的源端口号、所述目标报文的目的端口号、所述目标报文的通信协议类型、所述目标报文的目的统一资源定位符、用于指示所述目标报文所属于的业务的业务标识;
根据所述判定信息,确定所述目标报文与所述目标虚拟节点相对应。
22.根据权利要求14至17中任一项所述的装置,其特征在于,所述装置的时间精度与所述用户设备的时间精度的差异处于预设范围内。
23.根据权利要求14至17中任一项所述的装置,其特征在于,所述装置的时间精度为10毫秒,且所述用户设备的时间精度为10毫秒。
24.一种传输报文的装置,其特征在于,所述装置包括:
确定单元,用于确定目标报文的发送时间与目标业务的首报文的发送时间之间的间隔,其中,所述目标报文属于目标业务;
发送单元,用于向至少一个分发设备发送所述目标报文,其中,所述目标报文中承载有时间指示信息,所述时间指示信息用于指示所述目标报文的发送时间与所述目标业务的首报文的发送时间之间的间隔,以使所述分发设备根据所述目标报文的接收时间和所述时间指示信息,确定所述目标业务的首报文的接收时间,所述目标业务的首报文的接收时间用于所述分发设备从至少两个服务节点中确定目标服务节点。
25.根据权利要求24所述的装置,其特征在于,所述分发设备的时间精度与所述装置的时间精度的差异处于预设范围内。
26.根据权利要求24或25所述的装置,其特征在于,所述分发设备的时间精度为10毫秒,且所述装置的时间精度为10毫秒。
27.一种传输报文的系统,其特征在于,所述系统包括:
至少两个服务节点,用于对所传输至的报文进行业务处理,其中,至少一个虚拟节点中的目标虚拟节点具有至少两个服务时段,所述目标虚拟节点在一个服务时段内仅与一个服务节点相对应,且所述目标虚拟节点在相邻的两个服务时段内所对应的服务节点相异;
至少一个用户设备,用于在访问目标业务时向所述服务节点发送目标报文,其中,所述目标报文中承载有时间指示信息,所述时间指示信息用于指示所述目标报文的发送时间与所述目标业务的首报文的发送时间之间的间隔;
至少一个分发设备,用于接收所述用户设备发送的目标报文,并确定所述目标报文与所述目标虚拟节点相对应,根据所述目标报文的接收时间和所述时间指示信息,确定所述目标业务的首报文的接收时间,根据所述目标业务的首报文的接收时间,从所述至少两个服务节点中确定目标服务节点,并向所述目标服务节点转发所述目标报文,其中,所述目标业务的首报文的接收时间处于目标时段,所述目标服务节点是所述目标虚拟节点在所述目标时段所对应的服务节点。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410370835.6A CN104158755B (zh) | 2014-07-30 | 2014-07-30 | 传输报文的方法、装置和系统 |
PCT/CN2015/084781 WO2016015582A1 (zh) | 2014-07-30 | 2015-07-22 | 传输报文的方法、装置和系统 |
US15/416,626 US10333835B2 (en) | 2014-07-30 | 2017-01-26 | Packet transmission method, apparatus, and system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410370835.6A CN104158755B (zh) | 2014-07-30 | 2014-07-30 | 传输报文的方法、装置和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104158755A CN104158755A (zh) | 2014-11-19 |
CN104158755B true CN104158755B (zh) | 2017-12-05 |
Family
ID=51884163
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410370835.6A Active CN104158755B (zh) | 2014-07-30 | 2014-07-30 | 传输报文的方法、装置和系统 |
Country Status (3)
Country | Link |
---|---|
US (1) | US10333835B2 (zh) |
CN (1) | CN104158755B (zh) |
WO (1) | WO2016015582A1 (zh) |
Families Citing this family (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104158755B (zh) * | 2014-07-30 | 2017-12-05 | 华为技术有限公司 | 传输报文的方法、装置和系统 |
CN106330649B (zh) * | 2015-06-18 | 2019-08-02 | 新华三技术有限公司 | 一种跨软件定义网络的数据报文转发方法和装置 |
SG11201803460TA (en) * | 2015-10-31 | 2018-05-30 | Huawei Tech Co Ltd | Route determining method and corresponding apparatus and system |
US9918352B2 (en) * | 2016-07-15 | 2018-03-13 | Qualcomm Incorporated | Vehicle-to-everything reattach timing |
CN106101010B (zh) * | 2016-08-15 | 2019-06-28 | 中国联合网络通信集团有限公司 | 基于端局云化的vBRAS流量负载均衡方法及装置 |
CN108462633B (zh) * | 2016-12-09 | 2021-05-28 | 中兴通讯股份有限公司 | 基于sdn的网络安全路由调度方法及系统 |
CN108900604A (zh) * | 2018-06-28 | 2018-11-27 | 中国建设银行股份有限公司 | 信息分发方法、装置、分行服务端及存储介质 |
US10831557B2 (en) * | 2019-02-28 | 2020-11-10 | International Business Machines Corporation | Task management using a virtual node |
US12107670B2 (en) * | 2019-04-29 | 2024-10-01 | Comcast Cable Communications, Llc | Container based time differentials |
US11115951B2 (en) * | 2019-07-12 | 2021-09-07 | Qualcomm Incorporated | Virtual boundary marking techniques in beamformed wireless communications |
CN111147546B (zh) * | 2019-11-29 | 2021-05-14 | 中科院计算技术研究所大数据研究院 | 一种边缘集群资源的处理方法及系统 |
CN111177154B (zh) * | 2019-12-27 | 2023-07-25 | 掌迅亿通(北京)信息科技有限公司 | 分布式数据库缓存方法及其哈希环优化 |
CN111352716B (zh) * | 2020-03-10 | 2024-03-01 | 深圳市腾讯计算机系统有限公司 | 一种基于大数据的任务请求方法、装置、系统及存储介质 |
CN112015552A (zh) * | 2020-08-27 | 2020-12-01 | 平安科技(深圳)有限公司 | hash环均衡负载方法、装置、电子设备和存储介质 |
US11895027B2 (en) * | 2021-05-20 | 2024-02-06 | Pensando Systems Inc. | Methods and systems for service distribution using data path state replication and intermediate device mapping |
US11949589B2 (en) * | 2021-05-20 | 2024-04-02 | Pensando Systems Inc. | Methods and systems for service state replication using original data packets |
CN113839830B (zh) * | 2021-07-15 | 2023-10-24 | 腾讯科技(深圳)有限公司 | 数据包多发参数的预测方法、装置与存储介质 |
CN115733710B (zh) * | 2022-11-18 | 2024-04-26 | 苏州挚途科技有限公司 | 报文发送方法、目标节点、非目标节点与报文传输系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1852265A (zh) * | 2006-05-30 | 2006-10-25 | 杭州华为三康技术有限公司 | 一种同步帧在ip网络上传输的方法及用于传输的网络设备 |
CN101217483A (zh) * | 2008-01-21 | 2008-07-09 | 中兴通讯股份有限公司 | 用于实现集群服务器内负载分担代理的方法 |
CN102932269A (zh) * | 2012-11-21 | 2013-02-13 | 无锡城市云计算中心有限公司 | 负载均衡的实现方法和装置 |
CN103201989A (zh) * | 2012-08-09 | 2013-07-10 | 华为技术有限公司 | 控制数据传输的方法、装置和系统 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6646604B2 (en) * | 1999-01-08 | 2003-11-11 | Trueposition, Inc. | Automatic synchronous tuning of narrowband receivers of a wireless location system for voice/traffic channel tracking |
US20100061347A1 (en) * | 2008-09-08 | 2010-03-11 | Qualcomm Incorporated | Synchronization mechanism for allowing coexistence of nodes in the same frequency band |
CN101741701B (zh) * | 2008-11-12 | 2012-01-11 | 中兴通讯股份有限公司 | 同步调度方法和装置 |
CN102271079B (zh) * | 2010-06-04 | 2014-11-05 | 华为技术有限公司 | 报文转发的方法、节点和系统 |
CN102546357B (zh) | 2010-12-09 | 2014-12-17 | 华为技术有限公司 | 报文转发方法及网络设备 |
US8976647B2 (en) | 2011-11-08 | 2015-03-10 | Futurewei Technologies, Inc. | Hardware-based dynamic load balancing that avoids flow packet reordering statistically |
JP5834864B2 (ja) * | 2011-12-12 | 2015-12-24 | 富士通株式会社 | サーバ装置、sipサーバ装置、コンピュータプログラム及びメッセージ振り分け方法 |
US9131498B2 (en) * | 2012-09-12 | 2015-09-08 | Futurewei Technologies, Inc. | System and method for adaptive transmission time interval (TTI) structure |
CN103731288B (zh) * | 2012-10-16 | 2017-04-12 | 杭州华三通信技术有限公司 | 报文转发方法及设备 |
ES2695349T3 (es) * | 2013-03-15 | 2019-01-03 | Savant Systems Llc | Control remoto de movimiento usando un dispositivo móvil inalámbrico de propósito general |
CN104158755B (zh) * | 2014-07-30 | 2017-12-05 | 华为技术有限公司 | 传输报文的方法、装置和系统 |
-
2014
- 2014-07-30 CN CN201410370835.6A patent/CN104158755B/zh active Active
-
2015
- 2015-07-22 WO PCT/CN2015/084781 patent/WO2016015582A1/zh active Application Filing
-
2017
- 2017-01-26 US US15/416,626 patent/US10333835B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1852265A (zh) * | 2006-05-30 | 2006-10-25 | 杭州华为三康技术有限公司 | 一种同步帧在ip网络上传输的方法及用于传输的网络设备 |
CN101217483A (zh) * | 2008-01-21 | 2008-07-09 | 中兴通讯股份有限公司 | 用于实现集群服务器内负载分担代理的方法 |
CN103201989A (zh) * | 2012-08-09 | 2013-07-10 | 华为技术有限公司 | 控制数据传输的方法、装置和系统 |
CN102932269A (zh) * | 2012-11-21 | 2013-02-13 | 无锡城市云计算中心有限公司 | 负载均衡的实现方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
US10333835B2 (en) | 2019-06-25 |
CN104158755A (zh) | 2014-11-19 |
US20170149660A1 (en) | 2017-05-25 |
WO2016015582A1 (zh) | 2016-02-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104158755B (zh) | 传输报文的方法、装置和系统 | |
CN101039309B (zh) | 链路共享服务装置以及通信方法 | |
CN103559084B (zh) | 一种节能数据中心的虚拟机迁移方法 | |
CN107113243A (zh) | 用于利用网络运营商管理网络流量的系统和方法 | |
CN101039310B (zh) | 链路共享服务装置以及通信方法 | |
CN101610296B (zh) | 一种网络地址转换出接口均衡方法和装置 | |
Amadeo et al. | IoT data processing at the edge with named data networking | |
CN109150576A (zh) | 一种内容数据传输方法及设备 | |
CN107111597A (zh) | 用于动态地控制基于需求收费的网络中的客户流量的方法和设备 | |
CN108809857A (zh) | 一种基于sdn的流量监控与业务服务质量保障策略的方法 | |
CN104219069B (zh) | 访问频率控制方法、装置及控制系统 | |
CN110636552B (zh) | 一种管理网元的方法、设备及系统 | |
US11929911B2 (en) | Shaping outgoing traffic of network packets in a network management system | |
CN105991347A (zh) | Dns请求报文的重定向方法和装置 | |
CN104821924A (zh) | 一种网络数据包处理方法、装置和网络处理设备 | |
CN108989438A (zh) | 数据分发网络的实现方法、装置和系统 | |
CN104852859B (zh) | 一种聚合接口业务处理方法和设备 | |
AlQahtani | An efficient resource allocation to improve QoS of 5G slicing networks using general processor sharing‐based scheduling algorithm | |
CN105872093A (zh) | Cdn加速方法和系统 | |
CN101127690A (zh) | 一种下一代网络业务流量识别方法 | |
US9730230B2 (en) | System and method for performing resource allocation | |
US20120226787A1 (en) | Optimizing use of internet protocol addresses | |
CN101686170B (zh) | 基于多出口用户路由的分级传输品质保障系统 | |
CN104683252A (zh) | 一种应用于游戏网络的网关连入方法与系统 | |
CN108011801A (zh) | 数据传输的方法、设备、装置及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |