掌桥专利:专业的专利平台
掌桥专利
首页

业务调度方法、装置、设备及计算机可读存储介质

文献发布时间:2023-06-19 19:23:34


业务调度方法、装置、设备及计算机可读存储介质

技术领域

本申请涉及云计算技术领域,特别涉及一种业务调度方法、装置、设备及计算机可读存储介质。

背景技术

在云计算的趋势下,大量的客户选择向云厂商购买云服务。为了令客户获得好的服务体验(例如:更优的网络质量、冗余保护),云厂商部署的云网络通常会基于边界网关协议(border gateway protocol,BGP)与运营商部署的互联网服务提供商(internetservice provider,ISP)网络建立BGP邻居,以此来达到通信的目的。

由于基于BGP选路原则确定的路由可能不是实现通信的最优路由,为此,云厂商采用的方案是:探测云网络与各个ISP网络之间通信线路的网络质量,确定网络质量更好的线路,然后利用该线路向客户提供云服务。但是,该方案存在的问题是:在上述线路发生拥塞或者网络容量紧张的情况下,只能将所有的业务通过备选线路提供给客户,也就是说,高等级业务和低等级业务通过同一条备选线路提供给客户,那么对于高等级业务来说,客户的网络体验下降。

因此,如何为客户提供更优的网络质量仍然是当前亟需解决的问题。

发明内容

本申请公开了一种业务调度方法、装置、设备及计算机可读存储介质,能够为客户提供更优的网络质量。

第一方面,本申请提供了一种业务调度方法,该方法包括:接收用户输入的业务配置信息,业务配置信息包括业务所需的网络服务等级。获取第一业务报文,第一业务报文携带了业务的内容和目标等级标签,目标等级标签用于标识业务所需的网络服务等级。之后,将目标等级标签与第一路由表中的多个等级标签进行匹配,第一路由表包括上述多个等级标签以及每个等级标签对应的端口标签。在目标等级标签与上述多个等级标签中的任意一个等级标签匹配的情况下,根据匹配得到的等级标签确定目标端口标签,目标端口标签用于标识入网点(point of presence,POP)的目标端口。最后,控制上述POP将第一业务报文从目标端口发送至客户端。

实施第一方面提供的方法,基于用户自行配置的业务所需的网络服务等级,给该业务配置相应的网络资源,从而使得需求不同网络资源的业务可以通过不同的网络资源发送至客户端,达到高等级业务享有高质量网络资源的目的。

在一种可能的实现方式中,上述业务配置信息还包括服务器端口的端口号,上述获取第一业务报文,包括:接收服务器通过服务器端口发送的第二业务报文,第二业务报文为服务器响应于客户端发送的上述业务的业务请求而生成的报文。然后,根据服务器端口的端口号给上述第二业务报文打上目标等级标签,得到上述第一业务报文。

实施上述实现方式,用户通过配置服务器端口的端口号来告知服务器业务所需的网络服务等级,从而给第二业务报文打上对应的目标等级标签。

在另一种可能的实现方式中,上述业务配置信息还包括服务器端口的端口号,上述获取第一业务报文,包括:将上述业务配置信息发送至服务器,以使得服务器根据服务器端口的端口号给第二业务报文打上目标等级标签,第二业务报文为服务器响应于客户端发送的上述业务的业务请求而生成的报文。然后,接收服务器通过服务器端口发送的第一业务报文,第一业务报文为打上目标等级标签的第二业务报文。

实施上述实现方式,服务器可以基于用户配置服务端口的端口号来确定发送第二业务报文的端口,从而使得接收到第二业务报文的设备确定业务所需的网络服务等级。

在一种可能的实现方式中,上述控制POP将第一业务报文从目标端口发送至客户端,包括:给第一业务报文打上目标端口标签;将打上目标端口标签的第一业务报文发送至POP,以使得POP根据目标端口标签将第一业务报文从目标端口发送至客户端。

实施上述实现方式,通过给第一业务报文打上目标端口标签的方式来控制POP的转发,POP无需配置复杂的转发策略或者配置新增协议,从而可以简化POP的配置以及POP的转发业务报文的方式。

在一种可能的实现方式中,在将目标等级标签与第一路由表中的多个等级标签进行匹配之前,上述方法还包括:探测客户端隶属的网段在POP的多个端口下的网络性能,其中,多个端口与多个互联网服务提供商ISP网络连接。根据第一业务所需的网络服务等级,从多个端口中选择M个端口,M为大于1的整数。确定M个端口中上述网段在目标端口下的网络性能最优,然后获得目标端口对应的目标端口标签,将目标端口标签与目标等级标签关联存储至第一路由表。如此,可以根据实际情况动态的给业务配置网络资源,从而使得需求更优网络资源的业务始终通过高等级网络发送至客户端。

在一种可能的实现方式中,在探测客户端隶属的网段在POP的多个端口下的网络性能之前,上述方法还包括:采集上述网段的流量,确定该网段的流量大于阈值。如此,可以减少探测网段的网络性能的成本。

在一种可能的实现方式中,上述方法还包括:在目标等级标签与多个等级标签均不匹配的情况下,根据第二路由表将第一业务报文转发至POP,其中,第二路由表包括下一跳地址,所述下一跳地址为POP的网际互联协议(internet protocol,IP)地址。如此,可以保证客户端请求的业务报文可以到达客户端。

第二方面,本申请提供了一种业务调度装置,该装置包括业务管理单元和转发单元。其中,业务管理单元用于接收用户输入的业务配置信息,所述业务配置信息包括业务所需的网络服务等级。转发单元用于获取第一业务报文,所述第一业务报文携带了所述业务的内容和目标等级标签,所述目标等级标签用于标识所述业务所需的网络服务等级,然后将所述目标等级标签与第一路由表中的多个等级标签进行匹配,所述第一路由表包括所述多个等级标签以及每个等级标签对应的端口标签,在所述目标等级标签与所述多个等级标签中的任意一个等级标签匹配的情况下,根据匹配得到的等级标签确定目标端口标签,所述目标端口标签用于标识POP的目标端口,之后,控制所述POP将所述第一业务报文从所述目标端口发送至客户端。

在一种可能的实现方式中,上述业务配置信息还包括服务器端口的端口号,转发单元用于接收服务器通过服务器端口发送的第二业务报文,第二业务报文为服务器响应于客户端发送的上述业务的业务请求而生成的报文,然后根据服务器端口的端口号给第二业务报文打上目标等级标签,得到第一业务报文。

在另一种可能的实现方式中,上述配置信息还包括服务器端口的端口号,业务管理单元用于将业务配置信息发送至服务器,以使得服务器根据服务器端口的端口号给第二业务报文打上目标等级标签,第二业务报文为服务器响应于客户端发送的上述业务的业务请求而生成的报文。转发单元用于接收服务器通过服务器端口发送的第一业务报文,第一业务报文为打上目标等级标签的第二业务报文。

在一种可能的实现方式中,转发单元用于给第一业务报文打上目标端口标签,并打上目标端口标签的第一业务报文发送至POP,以使得POP根据目标端口标签将第一业务报文从目标端口发送至客户端。

在一种可能的实现方式中,上述装置还包括数据采集单元,数据采集单元用于探测客户端隶属的网段在POP的多个端口下的网络性能,其中,多个端口与多个互联网服务提供商ISP网络连接。业务管理单元还用于根据第一业务所需的网络服务等级,从多个端口中选择M个端口,M为大于1的整数,然后,确定M个端口中网段在目标端口下的网络性能最优,之后,目标端口对应的目标端口标签,将目标端口标签与目标等级标签关联存储至第一路由表。

在一种可能的实现方式中,数据采集单元还用于采集上述网段的流量。业务管理单元还用于确定上述网段的流量大于阈值。

在一种可能的实现方式中,所述转发单元,还用于在所述目标等级标签与所述多个等级标签均不匹配的情况下,根据第二路由表将所述第一业务报文转发至所述POP,其中,所述第二路由表包括下一跳地址,所述下一跳地址为所述POP的网际互联协议IP地址。

第三方面,本申请提供了一种计算设备,该计算设备包括处理器和存储器,存储器存储计算机指令,处理器执行上述计算机指令,以使上述计算设备执行前述第一方面或第一方面的任意一种实现方式所描述的方法。

第四方面,本申请提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机指令,当计算机指令被计算设备执行时,计算设备执行前述第一方面或第一方面的任意一种实现方式所描述的方法。

附图说明

图1是本申请提供的一种基于BGP实现业务调度的场景示意图;

图2是本申请提供的一种业务系统的结构示意图;

图3是本申请提供的一种业务调度方法的流程示意图;

图4是本申请提供的一种用户界面的示意图;

图5是本申请提供的一种用户配置业务的示意图;

图6是本申请提供的一种用户配置新增业务的示意图;

图7是本申请提供的一种业务调度装置的结构示意图;

图8是本申请提供的一种计算设备的结构示意图;

图9是本申请提供的一种计算设备系统的结构示意图。

具体实施方式

下面将结合附图,对本申请提供的技术方案进行描述。

为了使本申请提供的技术方案更清晰,在具体描述本申请提供的技术方案之前,首先介绍本申请涉及的相关术语。

ISP网络是运营商部署的、能够提供拨号上网服务、网上浏览、下载文件、收发电子邮件等服务,是网络最终用户进入因特网(internet)的入口和桥梁。

BGP是一种可以实现不同自治系统(autonomous system,AS)之间路由可达的路由协议。在互联网中,一个AS是一个实体(例如:云厂商、运营商)管辖下的使用相同路由策略的网络集合。因此,云厂商部署的网络(以下称为云网络)与ISP网络之间可以基于BGP实现互连。

在基于BGP实现业务调度的场景中,如图1所示,云网络与多个ISP网络(包括ISP1、ISP2和ISP3)之间建立BGP邻居,这样,当用户向云厂商租用资源(包括计算资源、存储资源和网络资源)后,用户的客户端就可以通过多个ISP网络从上述租用的资源处获取云服务。也就是说,云厂商可以根据云网络与各个ISP网络之间的通信线路(如图1示出的线路1、线路2和线路3)的网络质量来为用户的客户端分配合适的网络资源,从而为用户的客户端提供更优的网络质量。图1中,线路1的网络质量优于线路2和线路3,因此,云厂商将通过ISP1网络向客户端提供云服务。另外,如果ISP1网络出现故障,云厂商还可以为客户端分配其他的ISP网络(如图1中的ISP2),从而为用户提供网络冗余保护。

随着业务访问量的逐渐增多,网络拥塞成为影响用户获得云服务的主要问题。因此,本申请提供了一种业务系统,该系统中用户可以自行配置业务所需的网络服务等级(即业务的等级),之后,该系统可以根据业务所需的网络服务等级给该业务配置相应的网络资源,从而使得不同等级的业务可以通过不同的网络资源发送至客户端,达到高等级业务享有高质量网络资源的目的。

请参见图2,图2示出了本申请提供的一种业务系统的结构示意图。如图2所示,该系统包括服务器100、业务调度装置200、POP 300以及客户端400。本申请实施例中,当客户端400向服务器100发送业务请求后,服务器100根据业务请求生成相应的业务报文,并将该业务报文发送至业务调度装置200。业务调度装置200接收该业务报文,并根据业务所需的网络服务等级给该业务报文分配对应的网络资源,以此来指导POP 300将该业务报文发送至客户端400。这样,客户端400便可以获得服务器100提供的业务。

下面对业务系统的各个部分进行简要介绍。

服务器100是用户向云厂商购买的资源(包括计算资源、存储资源、网络资源),服务器100具体可以包括多个设备(包括计算设备、存储设备、网络设备),例如,云厂商自建的数据中心(data center,DC)中的多个设备、机房中的多个设备等。本申请实施例中,用户是指注册有云账号,向云厂商购买资源的用户。

服务器100用于向客户端400提供云服务,客户端400可以包括手机、便携电脑、平板电脑等。以用户是视频平台为例:视频平台向云厂商购买了视频点播业务的云服务,客户端400包括以下2类:主播客户端和观众客户端,那么,服务器100向客户端400提供的云服务包括:主播客户端可以将制作好的短视频上传至服务器100进行缓存,观众客户端可以从服务器100获取上述短视频。

可选的,服务器100可以以业务报文的形式向客户端400提供云服务,那么,服务器100具体用于接收客户端400发送的业务请求,并基于业务请求生成携带有业务内容的业务报文。应理解,由于业务报文中携带了业务内容,那么,当客户端400接收到业务报文后,就可以获得相应的业务内容,从而获得云服务。

考虑到实际应用中,用户可能购买了针对多种业务的云服务,不同的业务对网络资源的需求不同,例如,视频直播业务对时延的要求高于视频点播业务对时延的要求,因此,视频直播业务对网络资源的需求高于视频点播业务对网络资源的需求,那么,在向客户端400提供视频直播业务的过程中就需要提供更优的网络资源。因此,本申请提供的业务系统中包括了业务调度装置200。服务器100还用于将业务报文发送至业务调度装置200。

业务调度装置200用于接收服务器100发送的业务报文,根据业务所需的网络服务等级给该业务报文分配相应的网络资源,以此来指导POP 300将该业务报文发送至客户端400。具体地:

业务调度装置200用于接收用户输入的业务配置信息,其中,业务配置信息包括业务所需的网络服务等级。在一种可能的实现方式中,业务调度装置200还用于将上述配置信息发送至服务器100,服务器100还用于根据上述配置信息给生成的业务报文打上相应的等级标签,并将打上等级标签的业务报文发送至业务调度装置200。在另一种可能的实现方式中,业务调度装置200还用于接收服务器100发送的业务报文,并根据上述配置信息给业务报文打上上述等级标签。

业务调度装置200还用于采集云网络的网络数据,网络数据包括但不限于:多个网段的网络性能、多个网段的流量以及路由监控信息。其中,网段是指客户端400隶属的网段,网段的网段性能包括但不限于以下参数:丢包率、时延,丢包率是指经由该网段传输的数据包中,丢失的数据包的数量与传输的数据包总量的比值,时延是指经由该网段传输单个数据包时所消耗的时间。路由监控信息包括POP 300中存储的边界网关协议监控协议(bordergateway protocol monitoring protocol,BMP)路由信息,即POP 300从BGP对等体接收到的所有BGP路由信息和撤销的BGP路由信息,本申请实施例中,POP 300的BGP对等体是与POP300基于BGP建立连接的ISP网络。可选的,路由监控信息还包括POP 300根据BGP选路原则从上述BMP路由信息中选择出的BGP路由信息。

业务调度装置200还用于根据上述网络数据和上述业务配置信息,为需要不同网络服务的业务计算不同的路由表项,从而得到第一路由表。其中,第一路由表包括多个等级标签以及与每个等级标签对应的端口标签,等级标签用于标识业务所需的网络服务等级(即业务的等级),与等级标签对应的端口标签用于标识POP 300上的端口。业务调度装置200还用于将业务报文携带的等级标签与第一路由表中的多个等级标签进行匹配,如果匹配成功,则给该业务报文打上对应的端口标签,并将打上端口标签的业务报文发送至POP300。

POP 300是云网络的本地接入点,云网络是用户租用的网络资源。可选的,POP 300可以是路由器、交换机、服务器或其他数据通信设备,本申请不作限定。POP 300用于建立云网络与多个ISP网络(如图2中的ISP1、ISP2、ISP3)之间的通信连接,使得客户端400能够接入云网络,从而获取服务器100提供的云服务。

可选的,POP 300包括多个端口,一个端口连接一个ISP网络,值得注意的一点是,“POP300上与ISP网络连接的端口”可以具有不同的名称,例如,不同标准、同一标准的不同版本、不同厂商、不同应用场景对“POP 300上与ISP网络连接的端口”可以具有不同的称呼,例如,“POP 300上与ISP网络连接的端口”有时也可以被称为“出口线路”。

本申请实施例中,上述多个端口中的每个端口对应一个端口标签,其中,端口的端口标签可以是用户预先设置的,也可以是POP 300定义的。POP 300还用于存储端口与端口标签之间的对应关系,并将端口标签发送至业务调度装置200,以使得业务调度装置200能够配置上述第一路由表。

POP 300还用于接收业务调度装置200发送的携带端口标签的业务报文,并将该业务报文从端口标签指示的端口发送至客户端400。

正是由于上述各个部分的功能,使得本申请提供的业务系统能够根据业务所需的网络服务等级给该业务配置相应的网络资源,从而使得不同等级的业务可以通过不同的网络资源发送至客户端。而且,当某个ISP网络的网络资源紧张时,可以优先保证高等级业务使用高质量的网络资源。

下面结合图3,对上述业务系统实现业务调度的过程进行更详细的介绍。

请参见图3,图3示出了本申请提供的一种业务调度方法的流程示意图,该方法包括但不限于如下步骤:

S101:业务调度装置200接收用户输入的业务配置信息。

其中,业务配置信息包括业务所需的网络服务等级。网络服务等级用于表示网络质量,本申请实施例中,业务调度装置200向用户提供多种网络服务等级,以供用户进行选择。

可选的,业务配置信息还包括服务器端口A的端口号,服务器端口A是服务器100的一个端口。应理解,不同业务的业务报文可以采用不同的端口进行传输,比如说,上网业务的超文本传输协议(hyper text transfer protocol,HTTP)报文可以采用端口8080进行传输,视频直播业务的直播流可以采用端口1935进行传输。

可选的,业务配置信息还包括用户的标识信息,本申请实施例中,用户的标识可以是该用户购买的弹性公网(elastic IP,EIP)地址。

在一具体的实施例中,业务调度装置200向用户提供用户界面(user interface,UI),用户通过在UI界面上操作来完成业务配置信息的输入。如图4所示,UI包括菜单栏和输入界面,菜单栏包括3个项目,分别是用户的标识信息、服务器端口的端口号以及网络服务等级。其中,网络服务等级包括精品网络和普通网络,精品网络的网络服务等级高于普通网络的网络服务等级,即精品网络的网络质量优于普通网络的网络质量。假设用户向云厂商购买的EIP地址为1.1.1.1,购买的云服务为视频直播业务。因此,用户的标识信息为1.1.1.1,服务器端口的端口号为1935,考虑到视频直播业务对时延的要求较高,因此,用户为视频直播业务配置的网络服务等级可以是精品网络。

S102:业务调度装置200获取第一业务报文。

其中,第一业务报文携带了上述业务的内容和目标等级标签,目标等级标签用于标识上述业务所需的网络服务等级。

在一个示例中,业务调度装置200获取第一业务报文,包括:业务调度装置200接收服务器100发送的第二业务报文。具体地,响应于客户端400发送的上述业务的业务请求,服务器100根据业务请求生成第二业务报文,其中,第二业务报文携带了上述业务的内容。服务器100接收业务调度装置200发送的业务配置信息,并根据业务配置信息给第二业务报文打上目标等级标签,得到第一业务报文。

更具体地,服务器100存储有多个服务器端口的端口号和多个等级标签之间的对应关系,多个服务器端口的端口号包括服务器端口A的端口号,多个等级标签包括目标等级标签。那么,服务器100根据业务配置信息给业务报文打上目标等级标签,包括:服务器100监听服务器端口A,当确定将业务报文从服务器端口A发送出去时,服务器100根据上述对应关系确定目标等级标签,并给第二业务报文打上目标等级标签。

进一步地,考虑到网际互连协议(internet protocol,IP)报文头部里的差分服务代码点(differentiated services code point,DSCP)值可用于区分不同的优先级,因此,本申请实施例提出:利用不同的DSCP值作为不同的等级标签。那么,目标等级标签可以是一个DSCP值,例如,12、16等。可选的,目标等级标签还可以是字母、字符串、数字和字母的组合等,而且,目标等级标签可以添加在业务报文的头部、也可以添加在业务报文的尾部或者业务报文中,本申请不作限定。

在另一个示例中,业务调度装置200获取第一业务报文,包括:业务调度装置200接收服务器100发送的上述第二业务报文。然后,业务调度装置200根据上述业务配置信息给第二业务报文打上目标等级标签,得到第一业务报文。

更具体地,业务调度装置200存储有多个服务器端口的端口号和多个等级标签之间的对应关系,多个服务器端口的端口号包括服务器端口A的端口号,多个等级标签包括目标等级标签。业务调度装置200根据业务配置信息给第二业务报文打上目标等级标签,包括:当业务调度装置200接收到从服务端口A发送的第二业务报文后,业务调度装置200根据上述对应关系确定目标等级标签,并给第二业务报文打上目标等级标签。

S103:业务调度装置200将第一业务报文中携带的目标等级标签与第一路由表中的多个等级标签进行匹配,如果目标等级标签与多个等级标签中的任意一个等级标签匹配,则执行S104-S105以及S108,如果目标等级标签与多个等级标签中的所有等级标签均不匹配,则执行S106-S108。

在一具体的实施例中,业务调度装置200存储有第一路由表,第一路由表包括多个等级标签和每个等级标签对应的端口标签,其中,多个等级标签包括目标等级标签,每个等级标签对应的端口标签用于标识POP 300的端口。

在一具体的实施例中,业务调度装置200可以通过以下步骤配置上述第一路由表:

步骤①、业务调度装置200探测多个网段的网络性能。

其中,多个网段包括客户端400隶属的网段。网段的网络性能包括但不限于以下参数:丢包率、时延,丢包率是指经由网段传输的数据包中,丢失的数据包的数量与传输的数据包总量的比值,时延是指经由网段传输单个数据包时所消耗的时间。

具体地,业务调度装置200采集多个ISP网络发送至POP 300的路由信息,根据上述路由信息确定多个网段,并探测这些网段的网络性能。应理解,在实际应用中,为了保证客户端400能够访问服务器100,客户端400在向服务器100发送业务请求之前,先经由ISP网络和POP 300向服务器100发送路由信息,之后根据上述路由信息实现业务请求的转发。本申请实施例中,POP 300与多个ISP网络连接,因此POP 300会接收到多个ISP网络上报的路由信息。由于路由信息包括源IP地址段,客户端400的IP地址隶属于上述源IP地址段,因此,业务调度装置200可以根据采集到的路由信息获得多个源IP地址段,此处的多个源IP地址段即为业务调度装置200需要探测网络性能的多个网段。

在一具体的实施例中,POP 300接收到多个ISP网络上报的路由信息后,定期将这些路由信息发送至业务调度装置200,以使得业务调度装置200获得上述路由信息。或者,业务调度装置200也可以POP 300的端口进行监控,当POP 300的端口接收到ISP网络上报的路由信息后,控制POP 300向业务调度装置200发送上述路由信息。

可选的,业务调度装置200可以通过以下方式探测多个网段的网络性能,以业务调度装置200探测一个网段的网络性能为例:业务调度装置200控制POP 300从多个端口分别向隶属于该网段的客户端发送探测报文(例如,ping报文),然后,根据POP 300接收到的探测响应报文确定该网段在每个端口下的网络性能。需要说明的是,网段在一个端口下的网络性能是指:从POP 300的一个端口向隶属于该网段的客户端发送探测报文,之后,该端口会接收到客户端返回的探测响应报文,通过分析从该端口发送出去的探测报文与接收到的探测响应报文获得丢包率和时延,以此作为该网段在该端口下的网络性能。因此,本申请实施例中,网段在一个端口下的网络性能可以理解为该端口对应的ISP网络的网络性能。

应理解,在上述探测网段的网络性能的过程中,由于隶属于一个网段的客户端可能有多个,在这种情况下,一个网段在一个端口下的网络性能可以这样得到:业务调度装置200从一个端口分别向隶属于同一个网段的多个客户端发送探测报文,得到相应的多个探测响应报文,然后根据上述多个探测响应报文获得多个网络性能,并将上述多个网络性能进行叠加,并将叠加后的网络性能作为该网段在一个端口下的网络性能。由前文可知,网段的网络性能包括丢包率和时延中的至少一种,因此,可以通过以下方式将多个网络性能进行叠加:计算多个丢包率的平均值,计算多个时延的平均值,然后将多个丢包率的平均值和多个时延的平均值作为叠加后的网络性能。

举例说明,假设POP 300有2个端口,分别是端口1和端口2,客户端1和客户端2都隶属于网段A。那么,业务调度装置200控制POP 300从端口1分别向客户端1和客户端2发送ping报文,得到网络性能1和网络性能2。业务调度装置200还控制POP 300从端口2分别向客户端1和客户端2发送ping报文,得到网络性能3和网络性能4。之后,业务调度装置200将上述网络性能1、网络性能2进行叠加,将叠加后的网络性能作为端口1下网段A的网络性能,业务调度装置200将网络性能3和网络性能4进行叠加,将叠加后的网段性能作为端口2下网段A的网络性能。

考虑到实际应用中,在一个时刻或一个时间段内,存在大量的客户端访问服务器100,而这些客户端隶属的网段可能并不相同,因此,业务调度装置200在获得大量的网段后,如果对每个网段都进行网络探测,会耗费大量的成本。又考虑到在上述大量的网段中,隶属于某些网段的客户端几乎很少访问服务器100,因此,为了减少探测网段的网络性能的成本,业务调度装置200在探测多个网段的网络性能之前,还可以执行S1032。

步骤②、业务调度装置200采集多个网段的流量,并对流量大于阈值的网段进行网络性能的探测。

本申请实施例中,POP 300的端口上部署有网络流(NetStream)协议,基于NetStream可以对端口的出口流量进行实时监控,分析发送至不同网段的流量,然后将上述分析得到的信息发送至业务调度装置200。这样,业务调度装置200便可以确定每个网段的流量。之后,业务调度装置200确定多个网段中流量大于阈值的网段,并对流量大于阈值的网段进行网络性能的探测。

步骤③、业务调度装置200采集路由监控信息,确定POP 300的多个端口。

其中,路由监控信息包括POP 300中存储的边界网关协议监控协议(bordergateway protocol monitoring protocol,BMP)路由信息,即POP 300从BGP对等体接收到的所有BGP路由信息和撤销的BGP路由信息,本申请实施例中,POP 300的BGP对等体是与POP300基于BGP建立连接的ISP网络。可选的,路由监控信息还包括POP 300根据BGP选路原则从上述BMP路由信息中选择出的BGP路由信息。

具体实现中,POP 300可以定期向业务调度装置200发送路由监控信息,业务调度装置200也可以对POP 300的端口进行监控,当POP 300接收到ISP网络发送的BGP路由信息,或BGP路由更新消息时,控制POP 300向业务调度装置200发送上述BGP路由信息或BGP路由更新消息。当业务调度装置200获得路由监控信息后,可以根据路由监控信息确定与POP300连接的多个ISP网络,以及POP 300上与每个ISP网络连接的端口。

步骤④、业务调度装置200获得POP 300的多个端口的端口标签。

由前文可知,POP 300包括多个端口,每个端口具有一个端口标签,端口标签可以是POP300定义的,也可以是用户设置的,此处不作限定。POP 300将上述多个端口的端口标签发送至业务调度装置200,这样,业务调度装置200便可以获得上述多个端口的端口标签。

步骤⑤、业务调度装置200根据业务配置信息给业务分配M个端口,M为大于1的整数。

具体地,业务调度装置200根据业务配置信息获得业务所需的网络服务等级,之后根据业务所需的网络服务等级从上述多个端口中选择M个端口,以作为传输上述业务的业务报文的端口。

本申请实施例中,业务所需的网络服务等级越高,业务调度装置200可以为该业务分配更多的端口,如此,该业务的业务报文可以通过多个端口发送至客户端400,也就是说,可以从多个ISP网络中选择出网络性能最优的网络来将该业务的业务报文发送至客户端400,从而使得请求该业务的客户端400获得更优的服务体验。

举例说明,假设云厂商可以提供2种网络服务,一种是精品网络,另一种是普通网络。POP 300包括3个端口,分别是端口1、端口2以及端口3。其中,端口1用于与运营商A部署的ISP网络连接,端口2用于与运营商B部署的ISP网络连接,端口3用于与运营商C部署的ISP网络连接。那么,当用户配置业务所需的网络服务等级为精品网络时,业务调度装置200可以给该业务分配的端口包括端口1、端口2以及端口3。当用户配置业务所需的网络服务等级为普通网络时,业务调度装置200给该业务分配的端口包括端口1。

需要说明的是,本申请实施例并不限定上述S1031、S1033、S1034中每个步骤的执行顺序,即上述S1031、S1033、S1034中各个步骤的执行顺序可以互换,也可以同时执行。

步骤⑥、业务调度装置200根据上述S1031探测得到的多个网段的网络性能,确定M个端口中每个网段的最优网络性能对应的端口及其端口标签。

以一个网段为例,由于该网段在不同端口下可能具有不同的网络性能,为了令请求业务的客户端能够获得更好的服务(例如,更快地获得业务报文),业务调度装置200可以根据该网段在多个端口下的网络性能,确定该网段在上述M个端口中的哪个端口下的网络性能最优,从而利用该端口来传输业务报文。

举例说明,业务调度装置200分别在端口1、端口2以及端口3探测了网段A的网络性能。其中,网段A在端口3的网络性能>网段A在端口1的网络性能>网段A在端口2的网络性能。M个端口包括端口1和端口3。业务调度装置200根据网段A在端口1和端口3下的网络性能,从端口1和端口3中选择端口3作为传输业务报文的端口。

步骤⑦、业务调度装置200根据业务配置信息中业务所需的网络服务等级对应的等级标签、多个网段的前缀、以及上述S1035确定的多个端口标签配置得到上述第一路由表。

其中,第一路由表包括多个等级标签、多个网段的前缀、多个端口标签以及多个下一跳地址。多个等级标签对应多种网络服务等级,多个等级标签包括上述目标等级标签;多个网段的前缀是目的IP地址隶属的网段的前缀,多个网段的前缀包括上述请求业务的客户端隶属的网段的前缀;多个端口标签包括目标端口标签;多个下一跳地址均为POP 300的IP地址。例如,表1示出的第一路由表。应理解,由于第一路由表中的端口标签是业务调度装置200根据业务所需的网络服务等级以及不同网段在不同端口下的网络性能确定的,因此,第一路由表中的端口标签对应于网段的前缀以及等级标签。

表1.第一路由表

S104:业务调度装置200根据匹配得到的等级标签确定目标端口标签。其中,目标端口标签用于标识POP 300的第一端口。

S105:业务调度装置200控制POP 300将第一业务报文从第一端口发送至客户端400。

在一具体的实施例中,业务调度装置200控制POP 300将第一业务报文从第一端口发送至客户端400,包括:业务调度装置200给第一业务报文打上目标端口标签,然后将打上目标端口标签的第一业务报文发送至POP 300。POP 300接收到上述打上目标端口标签的第一业务报文后,根据目标端口标签将第一业务报文从第一端口发送至客户端400。

S106:业务调度装置200根据第二路由表将第一业务报文转发至POP 300。

应理解,在实际应用中,可能存在以下情况:业务报文携带的等级标签与第一路由表中的每个等级标签均不匹配。为了在上述情况下实现业务报文的转发,业务调度装置200还存储有第二路由表,第二路由表包括多个网段的前缀和多个下一跳地址,与上述第一路由表类似的,多个网段的前缀包括上述请求业务的客户端隶属的网段的前缀,多个下一跳地址均为POP 300的IP地址。这样,当第一业务报文携带的目标等级标签与第一路由表中的每个等级标签均不匹配时,业务调度装置200仍然可以将第一业务报文转发至POP 300,从而使得客户端400可以获得第一业务报文。

另外,由前文可知,为了减少探测网段的网络性能所耗费的成本,业务调度装置200还可以执行上述S1032。如果业务调度装置200执行了上述S1032,第一路由表中不包括一部分网段的前缀(即流量小于阈值的网段的前缀),从而导致一部分业务报文的目的IP地址不属于第一路由表中的任意一个网段的前缀,那么,这一部分业务报文将无法根据第一路由表进行转发。为此,第二路由表还可以包括上述流量小于阈值的网段的前缀以及对应的下一跳地址(即POP 300的IP地址),这样,业务调度装置200可以将上述业务报文转发至POP 300,从而使得隶属于流量小于阈值的网段的客户端可以获得业务报文。

可选的,业务调度装置200可以采用管道(pipeline)模型来设计第一路由表和第二路由表,其中,第一路由表作为第一级路由表,第二路由表作为第二级路由表。这样,当业务调度装置200获得第一业务报文后,业务调度装置200可以先将第一业务报文中的目标等级标签以及目的IP地址与第一路由表进行匹配,如果不匹配成功再将第一业务报文中的目的IP地址与第二路由表进行匹配,从而将第一业务报文发送至POP 300。

S107:POP 300将第一业务报文从第二端口发送至客户端400。

可选的,第二端口与第一端口可以是同一个端口,也可以是不同的端口。在一种可能的实现方式中,POP 300根据BGP选路原则确定第二端口,然后将第一业务报文从第二端口发送至客户端400。在另一种可能的实现方式中,POP 300探测云网络与多个ISP网络之间的通信线路的网络质量,确定网络质量最优的线路,从而确定第二端口,然后将第一业务报文从第二端口发送至客户端400。

S108:客户端400接收POP 300发送的第一业务报文,并根据第一业务报文获得请求的业务的内容。

下面将通过一个具体的例子,来进一步介绍上述业务调度方法。

假设,用户购买了云厂商提供的EIP服务,以用于对外提供视频点播业务。利用本申请提供的业务调度方法,用户可以在业务调度装置200提供的UI上输入视频点播业务的配置信息,如图5所示,视频点播业务的配置信息包括:用户的标识信息(此处为用户购买的EIP服务的EIP地址,即1.1.1.1)、服务器端口的端口号(ALL,即服务器100的所有端口)以及所需的网络服务等级(普通网络)。之后,业务调度装置200便可以将视频点播业务的业务报文通过普通网络发送至客户端。

一段时间后,用户又拓展了视频直播业务,并且期望视频直播业务可以使用更优质的网络资源。利用本申请提供的方法,用户可以在图5所示的UI上继续创建新的业务配置信息,如图6所示,用户点击UI上的“创建”选项,并输入视频直播业务的配置信息。视频直播业务的配置信息包括:用户的标识信息(此处为用户购买的EIP服务的EIP地址,即1.1.1.1)、服务器端口的端口号(1935)以及所需的网络服务等级(精品网络)。之后,业务调度装置200便可以将视频直播业务的业务报文通过精品网络发送至客户端。

可以看出,利用本申请提供的业务调度方法,业务调度装置200可以为不同的业务提供不同等级的网络资源,并且,当用户拓展新的业务时,用户可以无需针对的新的业务重新购买新的EIP服务。具体地,用户可以直接在已购买的EIP服务基础上,配置新业务的业务配置信息,这样,业务调度装置200便可以利用新业务的业务配置信息,给新业务分配对应的网络资源,从而向客户端提供新业务。

上文中结合图3-图6,详细描述了根据本申请提供的业务调度方法,下面将结合图7-图9,描述根据本申请提供的业务调度装置200和计算设备。

本申请实施例中,业务调度装置200的部署灵活,具体可以部署在云环境中。云环境是云计算模式下云厂商利用基础资源向用户提供云服务的实体,云环境包括云数据中心和云服务平台,云数据中心包括云服务提供上拥有的大量基础资源(包括计算资源、存储资源和网络资源)。业务调度装置200可以是云数据中心中的用于实现业务调度的服务器,也可以是创建在云数据中心中的用于实现业务调度的虚拟机,还可以是部署在云数据中心中的服务器或者虚拟机上的软件装置,该软件装置用于实现业务调度。该软件装置可以独立地部署在云数据中心中的服务器或虚拟机上。当业务调度装置200为软件装置时,业务调度装置200可以在逻辑上分成多个部分,每个部分具有不同的功能(多个部分可以参考后文中的图7示出的多个功能单元及其相关介绍)。因此,业务调度装置200还可以分布式地部署在云数据中心的多个服务器上、或者分布式地部署在云数据中心的多个虚拟机上、或者分布式地部署在云数据中心的虚拟机和服务器上。

在一些实施例中,业务调度装置200由云厂商在云服务平台抽象成一种业务调度云服务提供给云租户,云租户在云服务平台购买该项云服务后(可预充值再根据最终资源的使用情况进行结算),云环境利用部署在云数据中心的业务调度装置200向云租户提供业务调度云服务。在使用业务调度云服务时,用户可以通过UI输入业务配置信息,并上传至云环境中的业务调度装置200。业务调度装置200根据接收到的业务配置信息以及采集的网络数据(包括多个网段的网络性能、路由监控信息等),完成第一路由表的配置,之后,当业务调度装置200获得第一业务报文后,可以根据第一业务报文携带的目标等级标签完成第一业务报文的转发。

请参见图7,图7示出了本申请提供的一种业务调度装置200的结构示意图。应理解,图7所示的仅仅是根据功能对上述业务调度装置200的一种示例性的结构划分方式,本申请并不对业务调度装置200的结构的具体划分方式进行限定。如图7所示,业务调度装置200包括业务管理单元210、转发单元220以及数据采集单元230。业务管理单元210、转发单元220以及数据采集单元230协同工作,以实现上述方法实施例中业务调度装置200执行的步骤。具体地,业务管理单元210用于执行上述S101,以及上述S1035-S1037的步骤;转发单元220用于执行上述S102,以及S103中将将第一业务报文中携带的目标等级标签与第一路由表中的多个等级标签进行匹配的步骤,以及S104-S106的步骤;数据采集单元230用于执行上述S1031-S1034。

值得注意的一点是,本申请实施例中,转发单元220可以部署在云环境中的服务器或虚拟机上,也可以部署在交换机(例如,P4可编程交换机)上。

当业务调度装置200单独地部署在云环境中的一个计算设备上时,部署有业务调度装置200的计算设备可以是如图8所示的计算设备。如图8所示,图8示出了部署有业务调度装置200的计算设备500的硬件结构示意图。其中,计算设备500包括存储器510、处理器520、通信接口530以及总线540。其中,存储器510、处理器520、通信接口530通过总线540实现彼此之间的通信连接。

存储器510可以是只读存储器(read only memory,ROM),静态存储设备、动态存储设备或者随机存取存储器(random access memory,RAM)。存储器510可以存储计算机指令,例如,业务管理单元210中的计算机指令、转发单元220中的计算机指令、数据采集单元230中的计算机指令等。当存储器510中存储的程序被处理器520执行时,处理器520和通信接口530用于执行上述步骤S101-S106所述的部分或全部方法。存储器510还可以存储数据,例如:处理器520在执行过程中产生的中间数据或结果数据,例如,用户输入的业务配置信息、目标等级标签、目标端口标签等。

处理器520可以采用通用的中央处理器(central processing unit,CPU),微处理器,专用集成电路(application specific integrated circuit,ASIC),图形处理器(graphics processing unit,GPU)或者一个或多个集成电路。

处理器520还可以是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述业务调度装置200的部分或全部功能可用通过处理器520中的硬件的集成逻辑电路或者软件形式的指令完成。处理器520还可以是通用处理器、数据信号处理器(digital signalprocess,DSP)、现场可编程逻辑门阵列(field programmable gate array,FPGA)或者其他可编程逻辑器件,分立门或者晶体管逻辑器件,分立硬件组件。可以实现或者执行本申请实施例中公开的方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器、闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器510,处理器520读取存储器510中的信息,结合其硬件完成上述业务调度装置200的部分或全部功能。

通信接口530使用例如但不限于收发器一类的手法模块,来实现计算设备500与其他设备或通信网络之间的通信。例如,可以通过通信接口530获取用户输入的业务配置信息,或者将第一业务报文或者打上目标等级标签的第一业务报文发送至POP 300。

总线540可以包括在计算设备500中的各个部件(例如,存储器510、处理器520、通信接口530)之间传送信息的通路。

当业务调度装置200中的各个部分分布式地部署在云环境中的多个计算设备上时,部署有业务调度装置200的多个计算设备可以构成如图9所示的计算设备系统。如图9所示,图9示出了部署有业务调度装置200的计算设备系统的硬件结构示意图。其中,计算设备系统包括多个计算设备600,计算设备系统中的多个计算设备600可以通过内部处理器执行计算机指令协同地实现业务调度装置200的功能。

如图9所示,每个计算设备600包括存储器610、处理器620、通信接口630以及总线640。其中,存储器610、处理器620、通信接口630通过总线640实现彼此之间的通信连接。

存储器610可以是ROM、RAM、静态存储设备或者动态存储设备。存储器610可以存储计算机指令,当存储器610中存储的计算机指令被处理器620执行时,处理器620和通信接口630用于执行上述步骤S101-S106所述的部分方法。存储器610还可以存储数据,例如:处理器620在执行过程中产生的中间数据或结果数据,例如,用户输入的业务配置信息、目标等级标签、目标端口标签等。

处理器620可以采用通用的CPU、GPU、ASIC、微处理器或者一个或多个集成电路。处理器620还可以是一种集成电路芯片,具有信号的处理能力。在实现过程中,本申请的业务调度装置200的部分或全部功能可用通过处理器620中的硬件的集成逻辑电路或者软件形式的指令完成。处理器620还可以是DSP、FPGA、其他可编程逻辑器件、通用处理器、分立门、分立硬件组件或者晶体管逻辑器件。可以实现或者执行本申请实施例中公开的方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,结合本申请所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器、闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器610,处理器620读取存储器610中的信息,结合其硬件完成上述业务调度装置200的部分功能。

通信接口630使用例如但不限于收发器一类的收发模块,来实现计算设备600与其他设备或通信网络之间的通信。例如,可以通过通信接口630获取其他计算设备计算得到的第一路由表,或者将第一业务报文或者打上目标等级标签的第一业务报文发送至POP 300。

总线640可包括在计算设备600各个部件(例如,存储器610、处理器620、通信接口630)之间传送信息的通路。

上述每个计算设备600间通过通信网络建立通信通路。每个计算设备600上运行业务调度装置200中的一部分(例如:运行业务调度装置200中的业务管理单元210、转发单元220、数据采集单元230中的一个或多个)。

上述各个附图对应的流程的描述各有侧重,某个流程中没有详细描述的部分,可以参见其他流程的相关描述。

在上述实施例中,可以全部或部分地通过软件、硬件或者其组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。提供业务调度装置200的计算机程序产品包括一个或多个由业务调度装置200执行的计算指令,在计算机上加载和执行这些计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。

上述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。上述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,上述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如,同轴电缆、光纤、双绞线或无线(例如,红外、无线、微波)等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。上述计算机可读存储介质存储有提供业务调度装置200的计算机程序指令。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个介质集成的服务器、数据中心等数据存储设备。上述可用介质可以是磁性介质(例如,软盘、硬盘、磁带)、光介质(例如,光盘)、或者半导体介质(例如,固态硬盘(solid state disk,SSD))。

相关技术
  • 一种浴室加热装置和用于控制浴室加热装置的方法、设备、电子设备及计算机可读存储介质
  • 一种元数据存储方法、装置、设备及计算机可读存储介质
  • 存储设备的数据删除方法、装置及计算机可读存储介质
  • 一种数据存储方法、装置、设备及计算机可读存储介质
  • 动态表情生成方法、装置、计算机可读存储介质和计算机设备
  • 业务调度方法、装置、电子设备和计算机可读存储介质
  • 业务调度控制方法、装置、设备及计算机可读存储介质
技术分类

06120115892250