CN111400025B - 流量调度方法和装置、系统 - Google Patents

流量调度方法和装置、系统 Download PDF

Info

Publication number
CN111400025B
CN111400025B CN201910005030.4A CN201910005030A CN111400025B CN 111400025 B CN111400025 B CN 111400025B CN 201910005030 A CN201910005030 A CN 201910005030A CN 111400025 B CN111400025 B CN 111400025B
Authority
CN
China
Prior art keywords
flow scheduling
flow
rule
user equipment
scheduling
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
Application number
CN201910005030.4A
Other languages
English (en)
Other versions
CN111400025A (zh
Inventor
钟熙耿
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Alibaba Group Holding Ltd
Original Assignee
Alibaba Group Holding Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN201910005030.4A priority Critical patent/CN111400025B/zh
Publication of CN111400025A publication Critical patent/CN111400025A/zh
Application granted granted Critical
Publication of CN111400025B publication Critical patent/CN111400025B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • G06F9/5016Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

本申请提供一种流量调度方法和装置、系统,用户设备把流量调度规则解析成内存态的对象数据,这样用户设备无须对异地多活相关的流量调度请求中每次下发的流量调度规则进行规则解析,从而可以提高整体流量调度的性能;其次,用户设备通过内存态的对象数据解析出流量调度规则中携带的流量调度信息,并根据解析出流量调度信息,进入流量调度状态,也就是说,只需要一次流量调度规则的配置下发(即最小次数的流量调度规则下发操作),就进入流量调度状态,大大降低了额外的网络开销,也大大减少切流的执行时间,大大降低了网络开销,也减少切流执行时间。

Description

流量调度方法和装置、系统
技术领域
本发明涉及异地多活架构技术领域,尤其涉及一种流量调度方法和装置、系统。
背景技术
现有技术在进行流量调度时,会进行多次状态变更,每次状态变更均需要将规则配置推送到其下游的订阅用户。
因此,现有的流量调度技术存在如下缺点:存在多次状态规则配置的下发,需要额外的时间及机器开销来保证每次的状态规则配置下发到所有的下游订阅者,存在网络开销大,切流执行时间长的问题。在灾难场景下,为了保障多次规则下发的稳定性,需要引入复杂的验证机制,灾难恢复的流量调度存在可用性差的问题。
发明内容
为了解决上述问题,本发明提供一种流量调度方法和装置,保证核心切流操作的高可用,同时大大减小网络开销。
本发明第一方面提供一种流量调度方法,包括:
用户设备接收服务器发送的流量调度规则;
识别所述流量调度规则,生成流量调度信息,所述流量调度信息至少包括禁写开始时间、新规则生效时间;
根据所述流量调度信息,进入流量调度状态。
可选地,识别所述流量调度规则,生成流量调度信息,包括:
所述用户设备将所述流量调度规则生成内存态的对象数据;
根据所述内存态的对象数据,在内存中生成所述流量调度信息。
可选地,根据所述流量调度信息,进入流量调度状态,包括:
所述用户设备根据网络时间同步化协议确定当前时间是否达到所述禁写开始时间和所述新规则生效时间;
若达到所述禁写开始时间,所述用户设备当前的写请求失败;
若达到所述新规则生效时间,所述用户设备的流量转投到所述流量调度信息中指定的数据中心,解除禁写限制,保留禁止更新的限制。
可选地,根据所述流量调度信息,进入流量调度状态,还包括:
所述用户设备根据服务器发送的流量调度完成的信息,解除禁止更新限制。
可选地,根据所述流量调度信息,进入流量调度状态,还包括:
所述用户设备在确定所述网络时间同步化协议不可用时,在接收到所述流量调度规则时的当前时间进入流量调度状态;即在接收到所述流量调度规则时确定当前的写请求失败,并将所述用户设备的流量转投到所述流量调度规则信息中指定的数据中心,解除禁写限制,保留禁止更新的限制。
本申请第二方面还提供一种流量调度方法,包括:
服务器根据发起的流量调度请求,设置与所述流量调度请求对应的流量调度规则;
将所述流量调度规则发送给所述流量调度请求所指向的用户设备,以使所述用户设备识别所述流量调度规则,生成流量调度信息,根据所述流量调度信息,进入流量调度状态。
可选地,所述的方法还包括:
所述服务器确定在流量调度期间的数据同步完成时,向所述用户设备发送流量调度完成的信息,以使所述用户设备根据所述流量调度完成的信息后,解除禁止更新限制。
本申请第三方面还提供一种流量调度系统,包括:服务器和用户设备;
所述服务器,用于根据发起的流量调度请求,设置与所述流量调度请求对应的流量调度规则;将所述流量调度规则发送给所述流量调度请求所指向的用户设备;
所述用户设备,用于识别所述流量调度规则,生成流量调度信息,所述流量调度信息至少包括禁写开始时间、新规则生效时间;根据所述流量调度信息,进入流量调度状态。
可选地,所述用户设备,具体用于将所述流量调度规则生成内存态的对象数据;根据所述内存态的对象数据,在内存中生成所述流量调度信息。
可选地,所述用户设备,具体用于根据网络时间同步化协议确定当前时间是否达到所述禁写开始时间和所述新规则生效时间;若达到所述禁写开始时间,所述用户设备当前的写请求失败;若达到所述新规则生效时间,所述用户设备的流量转投到所述流量调度信息中指定的数据中心,解除禁写限制,保留禁止更新的限制。
可选地,所述服务器,还用于在确定流量调度期间的数据同步完成时,向所述用户设备发送流量调度完成的信息;
所述用户设备,还用于在接收到服务器发送的流量调度完成的信息后,解除禁止更新限制。
可选地,所述用户设备,还用于在确定所述网络时间同步化协议不可用时,在接收到所述流量调度规则时的当前时间进入流量调度状态;即在接收到所述流量调度规则时确定当前的写请求失败,并将所述用户设备的流量转投到所述流量调度信息中指定的数据中心,解除禁写限制,保留禁止更新的限制。
本申请第四方面还提供一种流量调度装置,包括:
解析模块,用于识别服务器发送的流量调度规则,生成流量调度信息,所述流量调度信息至少包括禁写开始时间、新规则生效时间;
切流模块,用于根据所述流量调度信息,进入流量调度状态。
可选地,所述解析模块具体用于:将所述流量调度规则生成内存态的对象数据;根据所述内存态的对象数据,在内存中生成所述流量调度信息。
可选地,所述切流模块具体用于:
根据网络时间同步化协议确定当前时间是否达到所述禁写开始时间和所述新规则生效时间;
若达到所述禁写开始时间,所述用户设备当前的写请求失败;
若达到所述新规则生效时间,所述用户设备的流量转投到所述流量调度规则中指定的数据中心,解除禁写限制,保留禁止更新的限制。
本申请第五方面还提供一种流量调度装置,包括:
配置模块,用于根据发起的流量调度请求,设置与所述流量调度请求对应的流量调度规则;
发送模块,用于将所述流量调度规则发送给所述流量调度请求所指向的用户设备,以使所述用户设备识别所述流量调度规则,生成流量调度信息,根据所述流量调度信息,进入流量调度状态。
本申请第六方面还提供一种用户设备,包括:存储器、处理器以及通信组件;
所述通信组件,用于接收服务器发送的流量调度规则;
所述存储器,用于存储计算机程序;
所述处理器与所述存储器和通信组件耦合,用于执行计算机程序,以用于执行上述第一方面所述的方法。
本申请第七方面还提供一种服务器,其特征在于,包括:存储器、处理器以及通信组件;
所述存储器,用于存储计算机程序;
所述处理器与所述存储器和通信组件耦合,用于执行计算机程序,以用于执行上述第二方面所述的方法。
本申请第八方面还提供一种计算机可读存储介质,其特征在于,存储有计算机程序,所述计算机程序被计算机执行时能够实现上述第一方面或第二方面所述的方法。
本申请实施例通过用户设备把流量调度规则解析成内存态的对象数据,这样用户设备无须对异地多活相关的流量调度请求中每次下发的流量调度规则进行规则解析,从而可以提高整体流量调度的性能;
其次,用户设备通过内存态的对象数据解析出流量调度规则中携带的流量调度信息,并根据解析出流量调度信息,进入流量调度状态,也就是说,只需要一次流量调度规则的配置下发(即最小次数的流量调度规则下发操作),就进入流量调度状态,大大降低了额外的网络开销,也大大减少切流的执行时间。因此,可以克服现有技术中服务器需要进行多次规则配置下发以及用户设备需要根据多次下发的规则进行复杂的多次状态变更而存在网络开销大、切流执行时间长的问题;
进一步地,本申请强依赖于网络时间同步化协议NTP,可以实现与配置中心服务层协议SLA的解耦,即使当网络时间同步化协议NTP不可用时,仍旧存在降级策略,保障了核心切流操作的高可用性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明一实施例提供的流量调度方法的流程示意图;
图2为本发明一实施例提供的流量调度系统的结构示意图;
图3为本发明一实施例提供的流量调度系统的架构图;
图4为本发明一实施例提供的流量调度系统的信令图;
图5为本发明另一实施例提供的流量调度装置的结构示意图;
图6为本发明另一实施例提供的流量调度装置的结构示意图;
图7为本发明另一实施例提供的用户设备的结构示意图;
图8为本发明另一实施例提供的服务器的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本发明实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本发明。在本发明实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义,“多种”一般包含至少两种,但是不排除包含至少一种的情况。
应当理解,本文中使用的术语“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的商品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种商品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的商品或者系统中还存在另外的相同要素。
术语解释:
NTP:Network Time Protocol的缩写,计算机时间同步化的一种协议。
RPO:Recovery Point Objective的缩写,数据恢复点目标,灾难发生后,系统和数据必须恢复的时间点。
RTO:Recovery Time Objective的缩写,信息系统或业务功能从停止到必须恢复的时间要求。
单元:根据业务特点把单元逻辑上分成下面几个逻辑数据中心(LDC),核心业务尽量自包含在这个逻辑中心进行。
MSHA:流量变更管控平台(异地多活服务器,简称为服务器)。
切流:调整业务的用户从一个数据中心到另外一个数据中心,即流量调度。
容灾:指在相隔较远的异地,建立两套或多套功能相同的系统,系统之间可以相互进行健康状态监视和功能切换,当一处系统因意外(如火灾、洪水、地震、人为蓄意破坏等)停止工作时,整个应用系统可以切换到另一处,使得该系统功能可以继续正常工作。
禁写:insert、update、replace、delete等数据库写操作禁止。
禁止更新:insert新数据写操作允许,update、replace、delete等更新数据写操作禁止。
配置中心:集中式的,动态的配置管理设施,用于分布式环境的配置信息管理和下发。
服务层协议SLA:Service-Level Agreement的缩写,关于网络服务供应商和客户间的一份合同,其中定义了服务类型、服务质量和客户付款等术语,此处用于配置中心的推送时效性。
GZS:英文名称(Global Zone Service),异地多活的全局状态协调器,负责统一管理多活路由,并且在多活切换时能协调各个模块的工作。
本申请应用场景是异地多活架构系统,通常,异地多活架构是指业务的整体异地多活,能够灵活的在多个异地机房之间调度用户,实现了自由扩容和多机房容灾的目标,为此,业务需要具备如下特性:较为完善的数据保护与灾难恢复的容灾特性和稳定的流量调整特性。异地多活能保证某一数据中心不能正常工作时数据的完整性及业务的连续性,并在最短时间内由另一数据中心接替,恢复业务系统的正常运行。
图1为本发明一实施例提供的流量调度方法的流程示意图,如图1所示:
101、用户设备接收服务器发送的流量调度规则;
102、识别所述流量调度规则,生成流量调度信息;
在一种可选的实施方式中,步骤102具体实现时,用户设备将所述流量调度规则生成内存态的对象数据;根据所述内存态的对象数据,在内存中生成所述流量调度信息;其中,所述流量调度信息至少包括禁写开始时间、新规则生效时间。
需要说明的是,上述用户设备把流量调度规则解析成内存态的对象数据,这样用户设备无须对异地多活相关的流量调度请求中每次下发的流量调度规则进行规则解析,从而可以提高整体流量调度的性能。
103、根据所述流量调度信息,进入流量调度状态。
在一种可选的实施方式中,用户设备根据网络时间同步化协议确定当前时间是否达到所述禁写开始时间和所述新规则生效时间;
若达到所述禁写开始时间,所述用户设备当前的写请求失败;
若达到所述新规则生效时间,所述用户设备的流量转投到所述流量调度信息中指定的数据中心,解除禁写限制,保留禁止更新的限制。
进一步地,当用户设备根据流量调度完成的信息可以解除禁止更新限制。例如,当服务器确定在流量调度期间的数据同步完成时,向所述用户设备发送流量调度完成的信息,以使所述用户设备根据所述流量调度完成的信息后,解除禁止更新限制。
在一种可选的实施方式中,当用户设备确定所述网络时间同步化协议不可用时,在接收到所述流量调度规则时的当前时间进入流量调度状态;即在接收到所述流量调度规则时确定当前的写请求失败,并将所述用户设备的流量转投到所述流量调度信息中指定的数据中心,解除禁写限制,保留禁止更新的限制。
本申请实施例通过用户设备把流量调度规则解析成内存态的对象数据,这样用户设备无须对异地多活相关的流量调度请求中每次下发的流量调度规则进行规则解析,从而可以提高整体流量调度的性能;
其次,用户设备通过内存态的对象数据解析出流量调度规则中携带的流量调度信息,并根据解析出流量调度信息,进入流量调度状态,也就是说,只需要一次流量调度规则的配置下发(即最小次数的流量调度规则下发操作),就进入流量调度状态,大大降低了额外的网络开销,也大大减少切流的执行时间。因此,可以克服现有技术中服务器需要进行多次规则配置下发以及用户设备需要根据多次下发的规则进行复杂的多次状态变更而存在网络开销大、切流执行时间长的问题;
进一步地,本申请强依赖于网络时间同步化协议NTP,可以实现与配置中心服务层协议SLA的解耦,即使当网络时间同步化协议NTP不可用时,仍旧存在降级策略,保障了核心切流操作的高可用性。
图2为本发明一实施例提供的流量调度系统的结构示意图,如图2所示,包括:服务器和用户设备;
其中,所述服务器,用于根据发起的流量调度请求,设置与流量调度请求对应的流量调度规则;将所述流量调度规则发送给所述流量调度请求所指向的用户设备;其中,所述用户设备包括订阅异地多活流量调度规则的用户设备;
举例来说,本实施例的流量调度请求包括:
变更前:用户1,2,3归属于center单元,用户4归属于unsz单元;
变更操作:要将1从center变更到unsz;
变更后:用户2,3归属于center单元,用户1,4归属于unsz单元;
对应地,与流量调度请求对应设置的流量调度规则例如可以包括:
原始规则为:center:{1,2,3};unsz:{4};
过渡期规则:
or<=>center:{1,2,3};unsz:{4};nr<=>center:{2,3};unsz:{1,4};
最终规则:center:{2,3};unsz:{1,4};
所述用户设备,用于识别所述流量调度规则,生成流量调度信息,所述流量调度信息至少包括禁写开始时间、新规则生效时间;根据所述流量调度信息,进入流量调度状态。
可选地,所述用户设备,具体用于将所述流量调度规则生成内存态的对象数据;根据所述内存态的对象数据,在内存中生成所述流量调度信息。
可选地,所述用户设备,具体用于根据网络时间同步化协议确定当前时间是否达到所述禁写开始时间和所述新规则生效时间;若达到所述禁写开始时间,所述用户设备当前的写请求失败;若达到所述新规则生效时间,所述用户设备的流量转投到所述流量调度信息中指定的数据中心,解除禁写限制,保留禁止更新的限制。
可选地,所述服务器,还用于在确定流量调度期间的数据同步完成时,向所述用户设备发送流量调度完成的信息;
所述用户设备,还用于在接收到服务器发送的流量调度完成的信息后,解除禁止更新限制。
可选地,所述用户设备,还用于确定所述网络时间同步化协议不可用时,在接收到所述流量调度规则时的当前时间就进入流量调度状态;即在接收到所述流量调度规则时确定当前的写请求失败,并将所述用户设备的流量转投到所述流量调度信息中指定的数据中心,解除禁写限制,保留禁止更新的限制。
下面通过举例对本申请技术方案进行详细的说明。
图3为本发明一实施例提供的流量调度系统的架构图,图4为本发明一实施例提供的流量调度系统的信令图。主要流程如下:
1、用户在流量变更管控平台(MSHA)发起流量调度请求(切流操作)。这里的用户具体是指定维度做异地多活的设备,若买家维度做异地多活,用户就是买家,若卖家维度做异地多活,用户就是卖家。
2、流量变更管控平台(MSHA)设置流量调度规则,将流量调度规则下发到下游的订阅用户(即订阅异地多活流量调度规则的用户设备,通常,用户设备做了异地多活,会流量调度订阅规则)。
具体地,流量变更管控平台设置流量调度规则是与发起的流量调度请求是相关的。
例如,上述用户发起的流量调度请求为:
变更前:用户1,2,3归属于center单元,用户4归属于unsz单元;
变更操作:要将1从center变更到unsz;
变更后:用户2,3归属于center单元,用户1,4归属于unsz单元;
则与流量调度请求对应设置的流量调度规则例如为:
原始规则为:center:{1,2,3};unsz:{4};
过渡期规则:
or<=>center:{1,2,3};unsz:{4};nr<=>center:{2,3};unsz:{1,4};
最终规则:center:{2,3};unsz:{1,4};
3、订阅规则的用户设备识别流量调度规则,通常,订阅规则的用户设备上存在对应的软件开发工具包(Software Development Kit,SDK),这里的SDK具体是指为特定的异地多活流量调度而建立的应用软件,可以用于异地多活流量调度规则的解析和识别,当流量变更管控平台设置的流量调度规则变更时,会推送变更后的流量调度规则到下游的订阅规则的用户设备上。
用户设备接收到流量调度规则,开始进行规则解析流程,即识别规则,具体包括:
路由计算,即用户设备根据流量调度规则计算生成内存态的对象数据,内存态的对象数据例如包括变更的用户范围,变更的各个关键时间点,新的流量调度规则等等流量调度信息;
需要说明的是,此处为了用户设备性能考虑,提前把规则解析成内存态,这样用户设备无须对异地多活相关的流量调度请求中每次下发的流量调度规则进行规则解析,从而可以提高整体流量调度的性能。
例如内存中生成需要流量调度的变更用户,由于流量调度规则中携带有新用户和老用户的流量调度规则信息,根据新用户和老用户的流量调度规则信息的对比,可以计算出需要流量调度的变更用户。
又例如,流量调度规则中也带有变更用户流量调度规则信息,根据老用户流量调度规则信息和变更用户流量调度规则信息计算出新的流量调度规则,也就是说,在本申请中,根据公式“老用户规则+变更用户=新用户规则”,只要下发的流量调度规则中携带存在两个规则信息,就能算出第三个规则信息。因此,在内存中生成需要流量调度的变更用户,可以减少规则解析时间,避免网络开销过大的问题。
识别禁写开始时间、新规则生效时间等异地多活流量调度核心信息,具体地,禁写开始时间的识别为:通常,异地多活流量调度规则中带有新的流量调度规则生效时间,提前推送禁写持续时间,例如,禁写持续时间为5s,那么禁写开始时间为:规则生效时间减去禁写持续时间(5s),做减法运算即能计算出禁写规则开始时间;
具体地,新规则生效时间为:异地多活在流量调度(切流)时,流量调度规则中会带有生效时间标识,若生效时间为空,则取用户设备当前时间加禁写持续时间来计算得出新规则生效时间。
4、订阅异地多活规则的用户设备开始进入流量调度状态(切流态)。
具体地,用户设备可以根据计算机时间同步化协议时间(Network TimeProtocol,NTP)进行判定是否达到规定的禁写开始时间和规则生效时间。
举例来说,若用户设备根据内存态的对象数据计算出:
生效时间为2018-10-03 12:50:50;
禁写持续时间为5s;
则禁写时间=生效时间-禁写持续时间=12:50:45;
假设用户设备流量持续在进行异地多活请求调用时,取当前的时间,假设当前日期是2018-10-03,则根据NTP进行判定是否达到规定的禁写开始时间和规则生效时间:
若当前机器时间<12:50:45,则按老的流量调度规则进行流量调度状态的调整;
若12:50:45<=当前机器时间<12:50:50,则达到规定禁写开始时间并开始禁写持续时间,当前变更用户的写请求失败;
若当前机器时间>=12:50:50,则解除禁写,到达新规则生效时间,变更用户的流量转投到指定的数据中心,解除禁写限制,保留禁止更新限制。
需要说明的是,若NTP不可用时,例如,NTP主服务节点故障、或者网段故障,又或者其他异常原因导致用户设备的NTP不准,各个机器之间的误差大于配置的禁写持续时间时,为了保证在NTP不可用的场景下,流量调度(切流)依旧可以正常进行,例如,机房整体宕机,切流是恢复业务的必要手段,本申请可以降级设置为用户设备接收到流量调度规则时的当前时间进入流量调度状态的调整。
5、流量变更管控平台MSHA判定切流期间的数据同步是否完成,若完成,下发"完成切流"的信息给下游订阅异地多活规则的所有用户设备。
由于流量变更管控平台MSHA存储着与需要流量调度数据同步的源数据,因此可以基于源数据查询数据传输(Data Transmission,DTS)的位点,当所有同步的数据传输位点追上了,即表示同步已完成。
例如:操作用户在MSHA维护了A1->B1,A2->B2的同步,此处字母均代表数据库;发起切流,切流禁写时间为:2018-10-03 12:50:45,MSHA每隔一秒查询A1和A2是否已经把2018-10-03,12:50:45的时间数据同步过去,二者都同步过去,说明已完成切流期间的数据同步。
6、订阅异地多活规则的用户设备接收到"完成切流"信息后,解除禁止更新限制。
首先,本申请通过一次规则下发即进入多次切流状态变更,大大减小网路开销和切流执行时间,可以解决现有技术中因多次规则配置下发才能进行次切流状态变更而造成的网络开销大、切流执行时间长的问题。
其次,由于用户设备可以根据计算机时间同步化协议时间进行判定是否达到规定的禁写开始时间和规则生效时间,可以支持预案性切流,例如2小时后的流量调度,在2小时内将配置的流量调度规则下发到下游的用户设备即可,即使当NTP不可用时,仍旧存在降级策略,保障了核心切流操作的高可用。因此,本申请的技术方案可以实现与配置中心的性能和服务级别协议解耦。
最后,本申请技术方案中,变更的用户范围,变更的各个关键时间点,新的流量调度规则等核心的流量调度信息均交付给到下游的用户设备进行计算生成,降低切流整体的复杂度。同时,在数据同步未完成时,不会主动解除禁止更新,避免数据脏写的风险。
图5为本发明另一实施例提供的流量调度装置的结构示意图;位于用户设备侧,如图5所示,包括:
解析模块,用于识别服务器发送的流量调度规则,生成流量调度信息,所述流量调度信息至少包括禁写开始时间、新规则生效时间;
切流模块,用于根据所述流量调度信息,进入流量调度状态。
可选地,所述解析模块具体用于:将所述流量调度规则生成内存态的对象数据;根据所述内存态的对象数据,在内存中生成所述流量调度信息。
可选地,所述切流模块具体用于:
根据网络时间同步化协议确定当前时间是否达到所述禁写开始时间和所述新规则生效时间;
若达到所述禁写开始时间,所述用户设备当前的写请求失败;
若达到所述新规则生效时间,所述用户设备的流量转投到所述流量调度信息中指定的数据中心,解除禁写限制,保留禁止更新的限制。
可选地,所述切流模块具体还用于:根据流量调度完成的信息,解除禁止更新限制。
可选地,所述切流模块具体还用于:在确定所述网络时间同步化协议不可用时,在接收到所述流量调度规则时的当前时间进入流量调度状态;即在接收到所述流量调度规则时确定当前的写请求失败,并将所述用户设备的流量转投到所述流量调度信息中指定的数据中心,解除禁写限制,保留禁止更新的限制。
本实施例所示装置可以执行上述图1所示方法实施例,其实现原理和技术效果不再赘述。
图6为本发明另一实施例提供的流量调度装置的结构示意图;位于流量变更管控平台MSHA侧,如图6所示包括:
配置模块,用于根据发起的流量调度请求,设置与所述流量调度请求对应的流量调度规则;
发送模块,用于将所述流量调度规则发送给所述流量调度请求所指向的用户设备,以使所述用户设备识别所述流量调度规则,生成流量调度信息,根据所述流量调度信息,进入流量调度状态。
可选地,所述发送模块还用于在流量调度期间的数据同步完成时,向所述用户设备发送流量调度完成的信息,以使所述用户设备根据所述流量调度完成的信息后,解除禁止更新限制。
图7为本发明另一实施例提供的用户设备的结构示意图,如图7所示,包括:
存储器71、处理器72以及通信组件73;
通信组件73,用于接收服务器发送的流量调度规则;
存储器72,用于存储计算机程序;
处理器71,与存储器和通信组件耦合,用于执行计算机程序,以用于:
识别所述流量调度规则,生成流量调度信息,所述流量调度信息至少包括禁写开始时间、新规则生效时间;根据所述流量调度信息,进入流量调度状态。
具体地,处理器71用于将所述流量调度规则生成内存态的对象数据;根据所述内存态的对象数据,在内存中生成所述流量调度信息。
具体地,处理器71还用于根据网络时间同步化协议确定当前时间是否达到所述禁写开始时间和所述新规则生效时间;若达到所述禁写开始时间,所述用户设备当前的写请求失败;若达到所述新规则生效时间,所述用户设备的流量转投到所述流量调度信息中指定的数据中心,解除禁写限制,保留禁止更新的限制。
具体地,处理器71还用于在确定所述网络时间同步化协议不可用时,在接收到所述流量调度规则时的当前时间进入流量调度状态;即在接收到所述流量调度规则时确定当前的写请求失败,并将所述用户设备的流量转投到所述流量调度信息中指定的数据中心,解除禁写限制,保留禁止更新的限制。
通信组件73,还用于接收服务器发送的流量调度完成的信息;
具体地,处理器71还用于根据流量调度完成的信息,解除禁止更新限制。
进一步,如图7所示,用户设备还包括:显示器74、电源组件75、音频组件76等其它组件。图7中仅示意性给出部分组件,并不意味着用户设备只包括图7所示组件。
本实施例所示用户设备可以执行上述图1所示方法实施例,其实现原理和技术效果不再赘述。
相应地,本申请实施例还提供一种存储有计算机程序的计算机可读存储介质,计算机程序被计算机执行时能够实现上述方法实施例中与用户设备相关的步骤或操作,在此不再赘述。
图8为本发明另一实施例提供的服务器的结构示意图,如图8所示,包括:
存储器81、处理器82以及通信组件83;
通信组件83,用于向用户设备发送的流量调度规则;
存储器82,用于存储计算机程序;
处理器81,与存储器和通信组件耦合,用于执行计算机程序,以用于:发起的流量调度请求,设置与所述流量调度请求对应的流量调度规则;
通信组件83,还用于将所述流量调度规则发送给所述流量调度请求所指向的所有下游用户设备,以使所述用户设备识别所述流量调度规则,生成流量调度信息,根据所述流量调度信息,进入流量调度状态。
通信组件83,还用于在处理器81确定在流量调度期间的数据同步完成时,向所述用户设备发送流量调度完成的信息,以使所述用户设备根据所述流量调度完成的信息后,解除禁止更新限制。
进一步,如图8所示,服务器还包括:显示器84、电源组件85、音频组件86等其它组件。图8中仅示意性给出部分组件,并不意味着服务器只包括图8所示组件。
本实施例所示服务器可以执行上述图2所示系统实施例,其实现原理和技术效果不再赘述。
相应地,本申请实施例还提供一种存储有计算机程序的计算机可读存储介质,计算机程序被计算机执行时能够实现上述方法实施例中与服务器相关的步骤或操作,在此不再赘述。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (16)

1.一种流量调度方法,其特征在于,包括:
用户设备接收服务器发送的流量调度规则;
识别所述流量调度规则,生成流量调度信息,所述流量调度信息至少包括禁写开始时间、新规则生效时间;
根据所述流量调度信息,进入流量调度状态;
识别所述流量调度规则,生成流量调度信息,包括:所述用户设备将所述流量调度规则生成内存态的对象数据;根据所述内存态的对象数据,在内存中生成所述流量调度信息。
2.根据权利要求1所述的方法,其特征在于,根据所述流量调度信息,进入流量调度状态,包括:
所述用户设备根据网络时间同步化协议确定当前时间是否达到所述禁写开始时间和所述新规则生效时间;
若达到所述禁写开始时间,所述用户设备当前的写请求失败;
若达到所述新规则生效时间,所述用户设备的流量转投到所述流量调度信息中指定的数据中心,解除禁写限制,保留禁止更新的限制。
3.根据权利要求2所述的方法,其特征在于,根据所述流量调度信息,进入流量调度状态,还包括:
所述用户设备根据服务器发送的流量调度完成的信息,解除禁止更新限制。
4.根据权利要求1所述的方法,其特征在于,根据所述流量调度信息,进入流量调度状态,还包括:
所述用户设备在确定网络时间同步化协议不可用时,在接收到所述流量调度规则时的当前时间进入流量调度状态;即在接收到所述流量调度规则时确定当前的写请求失败,并将所述用户设备的流量转投到所述流量调度规则信息中指定的数据中心,解除禁写限制,保留禁止更新的限制。
5.一种流量调度方法,其特征在于,包括:
服务器根据发起的流量调度请求,设置与所述流量调度请求对应的流量调度规则;
将所述流量调度规则发送给所述流量调度请求所指向的用户设备,以使所述用户设备识别所述流量调度规则,生成内存态的对象数据,根据所述内存态的对象数据,在内存中生成流量调度信息,根据所述流量调度信息,进入流量调度状态。
6.根据权利要求5所述的方法,其特征在于,还包括:
所述服务器确定在流量调度期间的数据同步完成时,向所述用户设备发送流量调度完成的信息,以使所述用户设备根据所述流量调度完成的信息后,解除禁止更新限制。
7.一种流量调度系统,其特征在于,包括:服务器和用户设备;
所述服务器,用于根据发起的流量调度请求,设置与所述流量调度请求对应的流量调度规则;将所述流量调度规则发送给所述流量调度请求所指向的用户设备;
所述用户设备,用于识别所述流量调度规则,生成流量调度信息,所述流量调度信息至少包括禁写开始时间、新规则生效时间;根据所述流量调度信息,进入流量调度状态;
所述用户设备,具体用于将所述流量调度规则生成内存态的对象数据;根据所述内存态的对象数据,在内存中生成所述流量调度信息。
8.根据权利要求7所述的系统,其特征在于:
所述用户设备,具体用于根据网络时间同步化协议确定当前时间是否达到所述禁写开始时间和所述新规则生效时间;若达到所述禁写开始时间,所述用户设备当前的写请求失败;若达到所述新规则生效时间,所述用户设备的流量转投到所述流量调度信息中指定的数据中心,解除禁写限制,保留禁止更新的限制。
9.根据权利要求8所述的系统,其特征在于:
所述服务器,还用于在确定流量调度期间的数据同步完成时,向所述用户设备发送流量调度完成的信息;
所述用户设备,还用于在接收到服务器发送的流量调度完成的信息后,解除禁止更新限制。
10.根据权利要求7所述的系统,其特征在于:
所述用户设备,还用于在确定网络时间同步化协议不可用时,在接收到所述流量调度规则时的当前时间进入流量调度状态;即在接收到所述流量调度规则时确定当前的写请求失败,并将所述用户设备的流量转投到所述流量调度信息中指定的数据中心,解除禁写限制,保留禁止更新的限制。
11.一种流量调度装置,其特征在于,包括:
解析模块,用于识别服务器发送的流量调度规则,生成流量调度信息,所述流量调度信息至少包括禁写开始时间、新规则生效时间;
切流模块,用于根据所述流量调度信息,进入流量调度状态;
所述解析模块具体用于:将所述流量调度规则生成内存态的对象数据;根据所述内存态的对象数据,在内存中生成所述流量调度信息。
12.根据权利要求11所述的装置,其特征在于,所述切流模块具体用于:
根据网络时间同步化协议确定当前时间是否达到所述禁写开始时间和所述新规则生效时间;
若达到所述禁写开始时间,用户设备当前的写请求失败;
若达到所述新规则生效时间,所述用户设备的流量转投到所述流量调度信息中指定的数据中心,解除禁写限制,保留禁止更新的限制。
13.一种流量调度装置,其特征在于,包括:
配置模块,用于根据发起的流量调度请求,设置与所述流量调度请求对应的流量调度规则;
发送模块,用于将所述流量调度规则发送给所述流量调度请求所指向的用户设备,以使所述用户设备识别所述流量调度规则生成内存态的对象数据,根据所述内存态的对象数据,在内存中生成流量调度信息,根据所述流量调度信息,进入流量调度状态。
14.一种用户设备,其特征在于,包括:存储器、处理器以及通信组件;
所述通信组件,用于接收服务器发送的流量调度规则;
所述存储器,用于存储计算机程序;
所述处理器与所述存储器和通信组件耦合,用于执行计算机程序,以用于执行权利要求1-4中任一项所述的方法。
15.一种服务器,其特征在于,包括:存储器、处理器以及通信组件;
所述存储器,用于存储计算机程序;
所述处理器与所述存储器和通信组件耦合,用于执行计算机程序,以用于执行权利要求5或6所述的方法。
16.一种计算机可读存储介质,其特征在于,存储有计算机程序,所述计算机程序被计算机执行时能够实现权利要求1-6中任一项所述的方法。
CN201910005030.4A 2019-01-03 2019-01-03 流量调度方法和装置、系统 Active CN111400025B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910005030.4A CN111400025B (zh) 2019-01-03 2019-01-03 流量调度方法和装置、系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910005030.4A CN111400025B (zh) 2019-01-03 2019-01-03 流量调度方法和装置、系统

Publications (2)

Publication Number Publication Date
CN111400025A CN111400025A (zh) 2020-07-10
CN111400025B true CN111400025B (zh) 2023-05-26

Family

ID=71430203

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910005030.4A Active CN111400025B (zh) 2019-01-03 2019-01-03 流量调度方法和装置、系统

Country Status (1)

Country Link
CN (1) CN111400025B (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1794661A (zh) * 2005-12-26 2006-06-28 北京交通大学 一种基于IPv6的网络性能分析报告系统及实现方法
CN101005455A (zh) * 2006-12-30 2007-07-25 中国科学院计算技术研究所 一种基于旁路干扰的流量控制方法
CN103384989A (zh) * 2010-12-28 2013-11-06 思杰系统有限公司 用于对多个下一跳进行策略路由的系统和方法
CN106656866A (zh) * 2016-10-13 2017-05-10 烽火通信科技股份有限公司 基于软件定义光接入网络实现带宽按时定制的方法及系统
CN107835131A (zh) * 2017-12-15 2018-03-23 北京星河星云信息技术有限公司 网络流量调度方法、装置及存储介质

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2669932A1 (en) * 2006-12-19 2008-06-26 International Business Machines Corporation Apparatus and method for analysing a network flow

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1794661A (zh) * 2005-12-26 2006-06-28 北京交通大学 一种基于IPv6的网络性能分析报告系统及实现方法
CN101005455A (zh) * 2006-12-30 2007-07-25 中国科学院计算技术研究所 一种基于旁路干扰的流量控制方法
CN103384989A (zh) * 2010-12-28 2013-11-06 思杰系统有限公司 用于对多个下一跳进行策略路由的系统和方法
CN106656866A (zh) * 2016-10-13 2017-05-10 烽火通信科技股份有限公司 基于软件定义光接入网络实现带宽按时定制的方法及系统
CN107835131A (zh) * 2017-12-15 2018-03-23 北京星河星云信息技术有限公司 网络流量调度方法、装置及存储介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
庄怀东 ; 杜庆伟 ; .一种基于SDN的数据中心网络动态流量调度方法.计算机与现代化.2016,2016(07),全文. *

Also Published As

Publication number Publication date
CN111400025A (zh) 2020-07-10

Similar Documents

Publication Publication Date Title
JP6046726B2 (ja) 災害復旧システム及び方法
US7853715B1 (en) Method and apparatus for computing a path in a system with nodal and link diverse constraints
CN101689166B (zh) 使用具有全局知识的服务器处理写请求的方法和系统
CN104301142A (zh) 一种配置文件的备份方法和设备
CN111683008A (zh) 基于sdn的传输网业务路径调度、保护方法及系统
CN112751772B (zh) 数据传输方法和系统
CN110727550B (zh) 数据复制处理方法、装置、容灾系统、设备及存储介质
JP4875742B2 (ja) メッセージ配信システム及びメッセージ配信方法
CN114356557B (zh) 一种集群扩容方法及装置
EP4050850A1 (en) Service upgrading method, device and system
TW201824030A (zh) 主備資料庫的管理方法、系統及其設備
CN111800484B (zh) 机动边缘信息服务系统的服务抗毁接替方法
EP3427157B1 (en) Cross-regional data transmission
CN110209526A (zh) 一种存储层同步系统、及存储介质
CN102255798B (zh) 路由转发表项的同步方法及线卡
WO2020090513A1 (ja) 監視保守方法、監視保守装置及び監視保守プログラム
CN111400025B (zh) 流量调度方法和装置、系统
CN107291575B (zh) 一种数据中心故障时的处理方法和设备
CN111698157A (zh) 一种链路管理方法、板卡及交换机
US20080162588A1 (en) Repository synchronization in a ranked repository cluster
CN102811154B (zh) 资源获取方法与网络服务器系统
CN109962797A (zh) 一种存储系统和推送业务视图的方法
CN114422335A (zh) 通信方法、装置、服务器及存储介质
CN114301763A (zh) 分布式集群故障的处理方法及系统、电子设备及存储介质
CN108319679B (zh) 一种主键的生成方法及装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant