首页> 中国专利> 基于运行商的服务器负载均衡调度方法和装置

基于运行商的服务器负载均衡调度方法和装置

摘要

本公开涉及一种基于运行商的服务器负载均衡调度方法和装置,该方法包括:预存运营商网段表,所述运营商网段表存储有客户端IP网段所对应属于的运营商;预设基于运营商的真实服务器组,所述基于运营商的真实服务组内所包括的真实服务器均可根据所述运营商进行负载均衡调度;接收客户端所发送的数据包并对所述数据包进行解析;基于解析所接收到的所述数据包的结果获取所述数据包所包括的源IP,所述源IP即为发送所述数据包的所述客户端IP;基于所获取到的数据包的源IP查找所述运营商网段表,获取所述源IP所对应的运营商;基于所获取到的运营商查找基于运营商的真实服务器组,将所述数据包调度到可根据所述运营商进行调度的真实服务器组中。

著录项

  • 公开/公告号CN114828097A

    专利类型发明专利

  • 公开/公告日2022-07-29

    原文格式PDF

  • 申请/专利权人 杭州迪普科技股份有限公司;

    申请/专利号CN202210470868.2

  • 发明设计人 张云飞;孙艳杰;王信大;陈跃伟;

    申请日2022-04-28

  • 分类号H04W28/08;H04L61/5007;H04L101/686;

  • 代理机构北京金讯知识产权代理事务所(特殊普通合伙);

  • 代理人黄剑飞

  • 地址 310051 浙江省杭州市滨江区通和路68号中财大厦6楼

  • 入库时间 2023-06-19 16:08:01

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2022-07-29

    公开

    发明专利申请公布

说明书

技术领域

本公开涉及负载均衡技术领域,具体而言,涉及一种基于运行商的服务器负载均衡调度方法和装置。

背景技术

负载均衡是将业务流量均衡的分担到后端的服务器群中,其可根据不同的业务环境及服务器状况通过预先选择的调度算法将业务流量合理分配到后端的服务器群,以保障后端服务器群正常、稳定、高效的运行。

在负载均衡的技术环境中,应用交付设备对外提供的应用服务称为虚拟服务,虚拟服务配置在应用交付设备上,通过IP地址、协议、端口号唯一标识;真实服务由IP地址和端口号唯一标识,其端口号可以与虚拟服务的不同;多个真实服务可以在一台物理服务器上,也可以在多台物理服务器上;真实服务组是多个真实服务的集合,虚拟服务会通过所引用的真实服务组来确定可以调度的真实服务的范围以及所使用的调度算法。

具体而言,客户的访问请求通过网络到达应用交付设备,应用交付设备依据配置在其上的用于唯一标识虚拟服务的IP地址、协议、端口号匹配到虚拟服务后,由应用交付设备按照配置好的交付策略分发给真实服务;客户端的请求在分发至真实服务时,应用交付设备会将请求的目的IP地址和目的端口修改为真实服务的IP地址和端口。

更具体的,客户端将到虚拟服务地址的请求发送给服务器群前端的应用交付设备,应用交付设备上的虚拟服务接收客户端请求,根据调度算法选择真实的服务器;再通过网络地址转换,用真实服务器地址重写请求报文的目标地址后,将请求发送给选定的真实服务器;真实服务器的响应报文通过应用交付设备时,报文的源地址被还原为虚拟服务地址,再返回给客户端。

当前在调度特定运营商的流量时所使用方法多采用的是链路负载均衡,即在配置好链路和流量调度策略后,根据设置好的匹配条件将符合调度策略的流量通过链路选择流量出口。采用上述链路负载均衡方法存在以下两方面的问题:其一是当前调度运营商流量的方法主要还是依据设置好的链路,根据链路的带宽来分配流量,并没有考虑服务器真实的处理能力;其二是当前的服务器负载调度缺少根据运营商来实现真实服务的负载均衡调度。

因此,需要一种可根据运营商进行调度并同时考虑真实服务器服务能力的基于运行商的服务器负载均衡调度方法和装置。

发明内容

有鉴于此,本公开提供一种基于运行商的服务器负载均衡调度方法和装置。根据本公开的一方面,提出一种基于运行商的服务器负载均衡调度方法,该方法包括:预存运营商网段表,所述运营商网段表存储有客户端IP网段所对应属于的运营商;预设基于运营商的真实服务器组,所述基于运营商的真实服务组内所包括的真实服务器均可根据所述运营商进行负载均衡调度;接收客户端所发送的数据包并对所述数据包进行解析;基于解析所接收到的所述数据包的结果获取所述数据包所包括的源IP,所述源IP即为发送所述数据包的所述客户端IP;基于所获取到的数据包的源IP查找所述运营商网段表,获取所述源IP所对应的运营商;基于所获取到的运营商查找基于运营商的真实服务器组,将所述数据包调度到可根据所述运营商进行调度的真实服务器组中。

根据本公开的基于运行商的服务器负载均衡调度方法,其还包括:在将所述数据包调度到可根据所述运营商进行调度的真实服务器器组后,根据所述真实服务器组中的各真实服务器的真实处理能力做下一步的负载均衡调度。

根据本公开的基于运行商的服务器负载均衡调度方法,其还包括:在基于解析所接收到的所述数据包的结果获取所述数据包所包括的源IP时,基于解析所接收到的所述数据包的结果,当判断所述数据包为四层数据包时基于四层数据包协议格式提取数据包的源IP,以及当判断所述数据包为七层数据包时基于七层数据包协议格式提取数据包的源IP。

根据本公开的基于运行商的服务器负载均衡调度方法,其还包括:在基于四层数据包协议格式或者七层数据包协议提取数据包的源IP时,提取所述数据包的IP地址类型并基于所提取到的IP地址类型进行判断,当判断所述数据包为IPV4类数据包时基于IPV4类数据包协议格式提取数据包的源IP,以及当判断所述数据包为IPV6类数据包时基于IPV6类数据包协议格式提取数据包的源IP。

根据本公开的基于运行商的服务器负载均衡调度方法,其所采用的脚本语言TCL脚本语言。

根据本公开的一方面,提出一种基于运行商的服务器负载均衡调度装置,该装置包括:运营商网段表预存组件,用于预存运营商网段表,所述运营商网段表存储有客户端IP网段所对应属于的运营商;真实服务器组预设组件,用于预设基于运营商的真实服务器组,所述基于运营商的真实服务组内所包括的真实服务器均可根据所述运营商进行负载均衡调度;接收及解析组件,用于接收客户端所发送的数据包并对所述数据包进行解析;源IP获取组件,用于基于解析所接收到的所述数据包的结果获取所述数据包所包括的源IP,所述源IP即为发送所述数据包的所述客户端IP;运营商获取组件,用于基于所获取到的数据包的源IP查找所述运营商网段表,获取所述源IP所对应的运营商;调度组件,用于基于所获取到的运营商查找基于运营商的真实服务器组,将所述数据包调度到可根据所述运营商进行调度的真实服务器组中。

根据本公开的基于运行商的服务器负载均衡调度装置,其中调度组件还用于:在将所述数据包调度到可根据所述运营商进行调度的真实服务器器组后,根据所述真实服务器组中的各真实服务器的真实处理能力做下一步的负载均衡调度。

根据本公开的基于运行商的服务器负载均衡调度装置,其中源IP获取组件还用于:在基于解析所接收到的所述数据包的结果获取所述数据包所包括的源IP时,基于解析所接收到的所述数据包的结果,当判断所述数据包为四层数据包时基于四层数据包协议格式提取数据包的源IP,以及当判断所述数据包为七层数据包时基于七层数据包协议格式提取数据包的源IP。

根据本公开的基于运行商的服务器负载均衡调度装置,其中源IP获取组件还用于:在基于四层数据包协议格式或者七层数据包协议提取数据包的源 IP时,提取所述数据包的IP地址类型并基于所提取到的IP地址类型进行判断,当判断所述数据包为IPV4类数据包时基于IPV4类数据包协议格式提取数据包的源IP,以及当判断所述数据包为IPV6类数据包时基于IPV6类数据包协议格式提取数据包的源IP。

根据本公开的基于运行商的服务器负载均衡调度装置,其所采用的脚本语言TCL脚本语言。

综上,采用本公开的基于运行商的服务器负载均衡调度方法和装置,通过TCL脚本,解析数据包,自动获取流量所属的运营商,并依据运营商进行真实服务调度;同时在调度方法上,复用原有的调度流程,能够根据服务器的状态如连接数、流量等选择最佳的服务器,动态的将数据分配到对应的服务器上。解决了原有的服务器负载不能通过运营商进行调度的缺点;并且相较于传统的流量调度方案能基于服务器的实时具体状态来分配流量。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本申请。

附图说明

通过参照附图详细描述其示例实施例,本申请的上述和其它目标、特征及优点将变得更加显而易见。下面描述的附图仅仅是本申请的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1所示的根据本公开实施例的基于运行商的服务器负载均衡调度方法的流程示意图。

图2所示的是根据本公开实施例的基于运行商的服务器负载均衡调度方法中的TCL脚本的主要流程示意图。

图3所示的根据本公开实施例的基于运行商的服务器负载均衡调度装置的原理示意图。

具体实施方式

现在将参考附图更全面地描述示例实施例。然而,示例实施例能够以多种形式实施,且不应被理解为限于在此阐述的实施例;相反,提供这些实施例使得本公开将全面和完整,并将示例实施例的构思全面地传达给本领域的技术人员。在图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。

此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施例中。在下面的描述中,提供许多具体细节从而给出对本公开的实施例的充分理解。然而,本领域技术人员将意识到,可以实践本公开的技术方案而没有特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知方法、系统、实现或者操作以避免模糊本公开的各方面。

附图中所示的方框图仅仅是功能实体,不一定必须与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。

附图中所示的流程图仅是示例性说明,不是必须包括所有的内容和操作/ 步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解,而有的操作/步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。

本领域技术人员可以理解,附图只是示例实施例的示意图,附图中的模块或流程并不一定是实施本公开所必须的,因此不能用于限制本公开的保护范围。

图1所示的根据本公开实施例的基于运行商的服务器负载均衡调度方法的流程示意图。

如图1所示,在步骤S102中,预存运营商网段表,所述运营商网段表存储有客户端IP网段所对应属于的运营商。具体而言,即是在负载均衡设备设置运营商网段表,在所述运营商网段表中存入客户端的IP网段。

在步骤S104中,预设基于运营商的真实服务器组,所述基于运营商的真实服务组内所包括的真实服务器均可根据所述运营商进行负载均衡调度。具体而言,即是根据运营商设置真实服务,将运营商相同的真实服务器引用到同一个真实服务器组中。

在步骤S106中,接收客户端所发送的数据包并对所述数据包进行解析。

在步骤S108中,基于解析所接收到的所述数据包的结果获取所述数据包所包括的源IP,所述源IP即为发送所述数据包的所述客户端IP。

在步骤S110中,基于所获取到的数据包的源IP查找所述运营商网段表,获取所述源IP所对应的运营商。具体而言,可利用源IP地址从负载均衡设备所存储的运营商网段表中查询所述源IP所属于的运营商ID。

在步骤S112中,基于所获取到的运营商查找基于运营商的真实服务器组,将所述数据包调度到可根据所述运营商进行调度的真实服务器组中。具体而言,可通过比较运营商ID将所述数据包调度到对应运营商的真实服务中。

根据本公开实施例的基于运行商的服务器负载均衡调度方法,其还包括:在将所述数据包调度到可根据所述运营商进行调度的真实服务器器组后,根据所述真实服务器组中的各真实服务器的真实处理能力做下一步的负载均衡调度。

根据本公开实施例的基于运营商调度的服务器负载均衡调度方法,在自动获取流量所属的运营商并根据运营商调度到对应的真实服务后,还可以复用原有的调度方法,具体而言,可以是根据真实服务器的状态如连接数、流量等负载均衡调度方法以将数据包调度到具有最佳服务能力的真实服务器上。

根据本公开实施例的基于运行商的服务器负载均衡调度方法,其还包括:在基于解析所接收到的所述数据包的结果获取所述数据包所包括的源IP时,基于解析所接收到的所述数据包的结果,当判断所述数据包为四层数据包时,基于四层数据包协议格式提取数据包的源IP,以及当判断所述数据包为七层数据包时,基于七层数据包协议格式提取数据包的源IP。

根据本公开实施例的基于运行商的服务器负载均衡调度方法,其还包括:在基于四层数据包协议格式或者七层数据包协议提取数据包的源IP时,提取所述数据包的IP地址类型并基于所提取到的IP地址类型进行判断,当判断所述数据包为IPV4类数据包时,基于IPV4类数据包协议格式提取数据包的源IP,以及当判断所述数据包为IPV6类数据包时,基于IPV6类数据包协议格式提取数据包的源IP。

根据本公开实施例的基于运行商的服务器负载均衡调度方法,其所采用的脚本语言TCL脚本语言。具体而言,由于应用交付业务经常需要针对业务进行深度定制以及复杂处理,静态的策略配置方式常常无法满足灵活的应用交付需求,因此本公开实施例的应用交付设备支持通过先进的TCL(Tool Command Language)脚本语言来实现高自由度的应用交付业务处理。

根据本公开实施例的基于运行商的服务器负载均衡调度方法,首先根据运营商设置真实服务,将具有同一运营商的真实服务引用到同一个真实服务组中;之后在TCL脚本中实现基于运营商的服务器负载均衡调度的方法;最后设置虚拟服务并在虚拟服务中引用所述TCL脚本。

更具体的,本公开实施例的基于运行商的服务器负载均衡调度方法主要是通过TCL脚本来实现,其在采用TCL脚本语言进行实现前,先按照运营商配置好真实服务和真实服务组,然后进行TCL脚本内容的编辑,利用TCL 脚本配置实现基于运营商进行的服务器负载均衡。其中,TCL脚本的功能是对上送到负载均衡设备的数据包进行解析,首先获得该数据包的源IP地址,然后根据IP地址查询所属的运营商,再通过TCL脚本来调度到对应的真实服务。需要说明的是,在对接收到的数据包进行解析之前,利用TCL脚本实现在负载均衡设备中将客户端的IP网段存入运营商网段表。

图2所示的是根据本公开实施例的基于运行商的服务器负载均衡调度方法中的TCL脚本的主要流程示意图。

如图2所示,在步骤S202中,解析数据包。更具体的,当负载均衡设备收到客户端发来的请求后,对数据包进行解析,判断是四层数据还是七层数据。

在步骤S204中,获取所述数据包的IP协议版本。更具体的,根据在步骤S202中的判断结果,从相应的数据结构中获取数据包的源IP地址类型,判断数据包的源IP的地址类型是IPV4还是IPV6。

在步骤S206中,提取所述数据包的源IP地址。根据在步骤S204中的数据包的源IP的地址类型判断结果,获取源IP地址。

在步骤S208中,计算所述源IP地址的网段并匹配运营商网段表项。更具体的,利用源IP地址计算其的网段,并从负载均衡设备所存储的运营商网段表中查询所述源IP所属的运营商的运营商ID。

在步骤S210中,判断是否查询到运营商。更具体的,通过TCL脚本比较运营商ID,以根据所述运营商ID将数据包调度到对应所述运营商ID的真实服务中。

在步骤S210中判断是否查询到运营商的结果为“是”时,进入步骤S212。在步骤S212中,判断是否匹配真实服务。更具体的,可复用原有的调度流程以根据真实服务器的状态(如连接数、流量等)选择最佳的真实服务器,即通过步骤S212判断是否在所述运营商ID所对应的真实服务器组中的真实服务器中存在匹配的真实服务,以及在步骤S212中判断是否在所述运营商ID 所对应的真实服务器组中的真实服务器中存在匹配的真实服务的结果为“是”时,结束本公开实施例所针对的负载均衡调度部分。

图3所示的根据本公开实施例的基于运行商的服务器负载均衡调度装置的原理示意图,如图3所示,该装置包括:运营商网段表预存组件302、真实服务器组预设组件304、接收及解析组件306、源IP获取组件308、运营商获取组件310和调度组件312。

其中,运营商网段表预存组件302,用于预存运营商网段表,所述运营商网段表存储有客户端IP网段所对应属于的运营商;真实服务器组预设组件 304,用于预设基于运营商的真实服务器组,所述基于运营商的真实服务组内所包括的真实服务器均可根据所述运营商进行负载均衡调度;接收及解析组件306,用于接收客户端所发送的数据包并对所述数据包进行解析;源IP获取组件308,用于基于解析所接收到的所述数据包的结果获取所述数据包所包括的源IP,所述源IP即为发送所述数据包的所述客户端IP;运营商获取组件310,用于基于所获取到的数据包的源IP查找所述运营商网段表,获取所述源IP所对应的运营商;调度组件312,用于基于所获取到的运营商查找基于运营商的真实服务器组,将所述数据包调度到科根据所述运营商进行调度的真实服务器组中。

根据本公开实施例的基于运行商的服务器负载均衡调度装置,其中调度组件312还用于:在将所述数据包调度到可根据所述运营商进行调度的真实服务器器组后,根据所述真实服务器组中的各真实服务器的真实处理能力做下一步的负载均衡调度。

根据本公开实施例的基于运行商的服务器负载均衡调度装置,其中源IP 获取组件308还用于:在基于解析所接收到的所述数据包的结果获取所述数据包所包括的源IP时,基于解析所接收到的所述数据包的结果,当判断所述数据包为四层数据包时,基于四层数据包协议格式提取数据包的源IP,以及当判断所述数据包为七层数据包时,基于七层数据包协议格式提取数据包的源IP。

根据本公开实施例的基于运行商的服务器负载均衡调度装置,其中源IP 获取组件308还用于:在基于四层数据包协议格式或者七层数据包协议提取数据包的源IP时,提取所述数据包的IP地址类型并基于所提取到的IP地址类型进行判断,当判断所述数据包为IPV4类数据包时,基于IPV4类数据包协议格式提取数据包的源IP,以及当判断所述数据包为IPV6类数据包时,基于IPV6类数据包协议格式提取数据包的源IP。

根据本公开实施例的基于运行商的服务器负载均衡调度装置,其所采用的脚本语言TCL脚本语言。

综上,采用本公开的基于运行商的服务器负载均衡调度方法和装置,通过TCL脚本,解析数据包,自动获取流量所属的运营商,并依据运营商进行真实服务调度;同时在调度方法上,复用原有的调度流程,能够根据服务器的状态如连接数、流量等选择最佳的服务器,动态的将数据分配到对应的服务器上。解决了原有的服务器负载不能通过运营商进行调度的缺点;并且相较于传统的流量调度方案能基于服务器的实时具体状态来分配流量。

总体而言,提供了一种基于运营商的服务器负载均衡调度方法,通过配置可以自动获取流量所属的运营商,并根据运营商来调度到对应的真实服务。在调度方法上,复用原有的调度流程,能够根据服务器的状态如连接数,流量等选择最佳的服务器,解决了不能依据运营商进行服务器负载均衡的问题。针对传统的设置链路调度运营商流量的方法,本发明能够根据服务器的实时状态调度真实服务。具体而言,本公开主要是通过TCL脚本来实现,按照运营商配置好真实服务和真实服务组后,需要编辑TCL脚本内容。利用TCL 脚本配置,实现基于运营商进行服务器负载。其中,TCL脚本的功能是对上送到负载均衡设备的数据包进行解析,首先获得该数据包的源IP地址,然后根据IP地址查询所属的运营商,再通过TCL脚本来调度到对应的真实服务。首先,根据运营商设置真实服务,引用到同一个真实服务组中;接着,编辑 TCL脚本;最后,设置虚拟服务,引用TCL脚本。其中编辑脚本主要包括在负载均衡设备中运营商网段表中存入客户端的IP网段;当负载均衡设备收到客户端发来的请求后,对数据包进行解析,判断是四层数据还是七层数据;根据上一步的判断,从相应的数据结构中获取数据包的源IP地址类型,判断是IPv4还是IPv6;根据地址类型的判断结果,获取源IP地址;利用源IP地址,从负载均衡设备所存储的运营商网段表中查询所属运营商id;以及通过 TCL脚本比较运营商id,调度到对应运营商的真实服务。本发明将服务器负载和传统的流量调度结合,利用TCL脚本实现通过运营商调度真实服务的方法。复用了原有的服务器负载均衡技术,动态的将数据分配到对应的服务器上,解决了原有的服务器负载不能通过运营商调度的缺点,并且相较于传统的流量调度方案能基于服务器的具体状态来分配流量。

软件产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。

所述计算机可读存储介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读存储介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。可读存储介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RF等等,或者上述的任意合适的组合。

可以以一种或多种程序设计语言的任意组合来编写用于执行本申请操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、 C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN) 或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备 (例如利用因特网服务提供商来通过因特网连接)。

本领域技术人员可以理解上述各模块可以按照实施例的描述分布于装置中,也可以进行相应变化唯一不同于本实施例的一个或多个装置中。上述实施例的模块可以合并为一个模块,也可以进一步拆分成多个子模块。

通过以上的实施例的描述,本领域的技术人员易于理解,这里描述的示例实施例可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本申请实施例的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、移动终端、或者网络设备等)执行根据本申请实施例的方法。

以上具体地示出和描述了本申请的示例性实施例。应可理解的是,本申请不限于这里描述的详细结构、设置方式或实现方法;相反,本申请意图涵盖包含在所附权利要求的精神和范围内的各种修改和等效设置。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号