CN110933181A - 一种路由方法、装置、系统以及电子设备 - Google Patents

一种路由方法、装置、系统以及电子设备 Download PDF

Info

Publication number
CN110933181A
CN110933181A CN201911264068.XA CN201911264068A CN110933181A CN 110933181 A CN110933181 A CN 110933181A CN 201911264068 A CN201911264068 A CN 201911264068A CN 110933181 A CN110933181 A CN 110933181A
Authority
CN
China
Prior art keywords
data center
weight ratio
data
request
service type
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.)
Granted
Application number
CN201911264068.XA
Other languages
English (en)
Other versions
CN110933181B (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.)
China Unionpay Co Ltd
Original Assignee
China Unionpay Co 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 China Unionpay Co Ltd filed Critical China Unionpay Co Ltd
Priority to CN201911264068.XA priority Critical patent/CN110933181B/zh
Publication of CN110933181A publication Critical patent/CN110933181A/zh
Application granted granted Critical
Publication of CN110933181B publication Critical patent/CN110933181B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/63Routing a service request depending on the request content or context
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1021Server selection for load balancing based on client or server locations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1023Server selection for load balancing based on a hash applied to IP addresses or costs

Abstract

本申请公开了一种路由方法、装置、系统以及电子设备,涉及路由领域。具体实现方案为:根据客户端发送的请求,确定请求对应的区域,区域包括数据中心;根据数据中心的流量监控数据,得到数据中心的排序序列;将数据中心的排序序列发送至客户端,以使客户端根据数据中心的排序序列发送请求。避免了负载不合理,数据中心容易发生瘫痪的问题。有效满足了负载均衡需求,资源利用率高,当数据中心发生故障时,能够快速切换,有效降低数据丢失的风险。

Description

一种路由方法、装置、系统以及电子设备
技术领域
本申请涉及一种移动通信领域,尤其涉及路由领域。
背景技术
本部分旨在为权利要求书中陈述的本发明的实施方式提供背景或上下文。此处的描述不因为包括在本部分中就承认是现有技术。
数据中心(IDC,Internet Data Center)是对入驻企业、商户或网站服务器群托管的场所,是各种模式电子商务赖以安全运作的基础设施,也是支持企业及其商业联盟其分销商、供应商、客户等实施价值链管理的平台。用户通过客户端的APP(应用程序,Application)发出发起涉及不同业务的请求后,首先经过CDN(内容分发网络,ContentDelivery Network)分发,然后通过互联网入口进入硬件负载均衡装置,接着进入网页服务器软件apache(阿帕奇)/nginx等网关层之后,送到后台服务系统。最后,由后台服务系统将用户的请求发送至并行部署在的同城或者异地的多个数据中心。
目前,通常有两种路由方法:第一种是多个数据中心中仅有一个数据中心处理全部的用户请求。当处理请求的数据中心发生故障时,对数据中心进行切换,切换到下一个数据中心进行处理。这种路由方法不仅需要保证每个数据中心都能够支撑流量峰值,负载并不均衡,而且切换时,交易可能会发生中断,风险高,容错率低。在常规运营时期,大量数据中心处于非有效工作状态,导致资源利用率低。第二种是根据商家位置和用户位置等地理要素,选择相对更近的数据中心来处理请求。但是,这种路由方法由于没有动态的负载均衡反馈,在爆点营销、区域流量瓶颈等场景下,仅仅考虑地理位置因素,同样会导致负载不均衡的问题。
发明内容
针对上述现有技术中存在的问题,提出了一种路由方法、装置、系统以及电子设备,利用这种方法、装置、系统以及电子设备,能够解决上述问题。
本发明提供了以下方案。
第一方面,提供了一种路由方法,包括:
根据客户端发送的请求,确定请求对应的区域,区域包括数据中心;
根据数据中心的流量监控数据,得到数据中心的排序序列;
将数据中心的排序序列发送至客户端,以使客户端根据数据中心的排序序列发送请求。
本实施方式中,避免了数据中心负载不合理,容易发生瘫痪的问题。有效满足了负载均衡需求,资源利用率高,当数据中心发生故障时,能够快速切换,有效降低数据丢失的风险。
在一种实施方式中,根据客户端发送的请求,确定请求对应的区域,包括:
获取客户端发送的请求中的域名和地理位置信息;
根据域名获取业务类型,确定业务类型对应的区域;
业务类型对应的区域有多个的情况下,根据地理位置信息,对业务类型对应的区域进行排序,生成区域排序序列;
根据区域排序序列,确定请求对应的区域。
本实施方式中,由于在考虑了具体的业务场景基础上,根据地理位置信息选择区域,不仅区域选择更加合理,提高了区域选择的准确性,而且节省了资源。
在一种实施方式中,还包括:
业务类型对应的区域有多个的情况下,获取业务类型对应的区域的第一初始权重比;
根据业务类型对应的区域中的数据中心的流量监控数据,动态调整第一初始权重比;
根据对第一初始权重比调整后的权重比,确定请求对应的区域。
本实施方式中,根据各个区域实时的流量监控数据,得到各个区域的负载情况,进而根据流量监控数据进行权重调整。使得请求在多个区域的分配更加合理,提高了区域选择的准确性,节省了资源。
在一种实施方式中,根据数据中心的流量监控数据,得到数据中心的排序序列,包括:
根据请求中的域名获取业务类型,并确定业务类型对应的数据中心;
业务类型对应的数据中心有多个的情况下,计算业务类型对应的数据中心的权重比;
根据业务类型对应的数据中心的权重比和请求中的用户标识符的哈希值,生成数据中心的排序序列。
本实施方式中,通过用户标识符的哈希值结合数据中心的权重比,共同决定了请求应当发送的最优的数据中心。既能满足按照权重比分配,也能保证在不改变权重比的情况下,同一个区域中,同一个用户的请求会分配到同一个数据中心,提高了数据中心选择的准确性和连续性。
在一种实施方式中,业务类型对应的数据中心有多个的情况下,根据业务类型对应的数据中心的流量监控数据,计算业务类型对应的数据中心的权重比,包括:
业务类型对应的数据中心有多个的情况下,获取业务类型对应的数据中心的第二初始权重比;
根据业务类型对应的每个数据中心的流量监控数据,动态调整第二初始权重比,生成业务类型对应的数据中心的权重比。
在本实施方式中,由于实时获取各个数据中心的流量监控数据,及时得到各个数据中心准确的流量负载情况,并根据真实的流量负载情况不断调整数据中心的权重比,使得各个数据中心负载均衡,进而提高请求发送的数据中心的准确性。
在一种实施方式中,还包括:
请求满足定制分配规则的情况下,根据定制分配规则生成数据中心的排序列表。
在本实施方式中,设计定制分配规则,为满足定制分配规则的请求提供了便捷的分配渠道,提高了请求分配的速度。
第二方面,提供了一种路由装置,包括:
区域确定模块,用于根据客户端发送的请求,确定请求对应的区域,区域包括数据中心;
数据中心排序模块,用于根据数据中心的流量监控数据,得到数据中心的排序序列;
序列发送模块,用于将数据中心的排序序列发送至客户端,以使客户端根据数据中心的排序序列发送请求。
在一种实施方式中,区域确定模块包括:
请求信息获取子模块,用于获取客户端发送的请求中的域名和地理位置信息;
第一区域确定子模块,用于根据域名获取业务类型,确定业务类型对应的区域;
区域排序子模块,用于业务类型对应的区域有多个的情况下,根据地理位置信息,对业务类型对应的区域进行排序,生成区域排序序列;
第二区域确定子模块,用于根据区域排序序列,确定请求对应的区域。
在一种实施方式中,区域确定模块还包括:
第一初始权重比获取子模块,用于业务类型对应的区域有多个的情况下,获取业务类型对应的区域的第一初始权重比;
第一初始权重比调整子模块,用于根据业务类型对应的区域中的数据中心的流量监控数据,动态调整第一初始权重比;
第三区域确定子模块,用于根据对第一初始权重比调整后的权重比,确定请求对应的区域。
在一种实施方式中,数据中心排序模块包括:
数据中心确定子模块,用于根据请求中的域名获取业务类型,并确定业务类型对应的数据中心;
数据中心权重比计算子模块,用于业务类型对应的数据中心有多个的情况下,计算业务类型对应的数据中心的权重比;
数据中心排序子模块,用于根据业务类型对应的数据中心的权重比和请求中的用户标识符的哈希值,生成数据中心的排序序列。
在一种实施方式中,数据中心权重比计算子模块,包括:
第二初始权重比获取单元,用于业务类型对应的数据中心有多个的情况下,获取业务类型对应的数据中心的第二初始权重比;
第二初始权重比调整单元,用于根据业务类型对应的每个数据中心的流量监控数据,动态调整第二初始权重比,生成业务类型对应的数据中心的权重比。
在一种实施方式中,还包括:
定制分配模块,用于请求满足定制分配规则的情况下,根据定制分配规则生成数据中心的排序序列。
第三方面,提供了一种路由系统,包括如上的路由装置,还包括:
用于发送请求的客户端;以及
设置有流量监控模块的数据中心,流量监控模块用于实时获取数据中心的流量监控数据,并将流量监控数据发送至路由装置。
本申请实施例采用的上述至少一个技术方案能够达到以下有益效果:因为采用根据客户端的请求确定区域,并根据数据中心的流量监控数据确定区域中的最优的数据中心的技术手段,所以克服了现有技术中数据中心负载不合理,容易发生瘫痪的技术问题,进而达到有效满足了负载均衡需求,资源利用率高,当数据中心发生故障时,能够快速切换,有效降低数据丢失的风险的技术效果。
应当理解,上述说明仅是本发明技术方案的概述,以便能够更清楚地了解本发明的技术手段,从而可依照说明书的内容予以实施。为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举例说明本发明的具体实施方式。
附图说明
通过阅读下文的示例性实施例的详细描述,本领域普通技术人员将明白本文所述的有点和益处以及其他优点和益处。附图仅用于示出示例性实施例的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的标号表示相同的部件。在附图中:
图1是根据本申请实施例提供的一种路由方法的流程示意图;
图2是根据本申请实施例提供一种路由方法的场景图;
图3是根据本申请实施例提供的另一种路由方法的流程示意图;
图4是根据本申请实施例提供的数据中心权重比的调整流程示意图;
图5是根据本申请实施例提供的另一种路由方法的流程示意图;
图6是根据本申请实施例提供的一种路由装置的结构框图;
图7是根据本申请实施例提供的另一种路由装置的结构框图;
图8是根据本申请实施例提供的另一种路由装置的结构框图;
图9是根据本申请实施例提供的路由系统结构框图;
图10是用来实现本申请实施例的路由方法的电子设备的框图。
在附图中,相同或对应的标号表示相同或对应的部分。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
在本发明中,应理解,诸如“包括”或“具有”等术语旨在指示本说明书中所公开的特征、数字、步骤、行为、部件、部分或其组合的存在,并且不旨在排除一个或多个其他特征、数字、步骤、行为、部件、部分或其组合存在的可能性。
另外还需要说明的是,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本发明。
实施例一
在一种具体的实施方式中,如图1所示,提供了一种路由方法,包括:
步骤S10:根据客户端发送的请求,确定请求对应的区域,区域包括数据中心;
步骤S20:根据数据中心的流量监控数据,得到数据中心的排序序列;
步骤S30:将数据中心的排序序列发送至客户端,以使客户端根据数据中心的排序序列发送请求。
本实施方式中,用户可以通过客户端发送请求。客户端可以是手机、电脑等移动客户端。请求可以是针对某一具体业务的请求,例如,信用卡还款请求、支付请求、转账请求等。请求可以包括用户信息、域名以及地理位置信息。用户信息可以包括用户手机号、用户ID(身份证标识号,Identity document)等。地理位置信息可以包括客户端所在的城市、GPS信息(全球定位系统,Global Positioning System)、数据包起源的源IP(网际协议地址,Internet Protocol Address)信息等。域名(Domain Name)又称网域,是由一串用点分隔的名字组成的互联网上某一台计算机或计算机组的名称,用于在数据传输时对计算机的定位标识,有时也指地理位置。例如,支付业务的域名pay.95526.com、生活服务类业务的域名life.95526.com等。路由(routing)计算是指分组从源到目的地时,决定端到端路径的网络范围的进程。本实施方式中,路由方法是利用路由装置从一个接口(客户端)上收到请求的数据包,根据数据包的目的地址进行定向并转发到另一个接口(数据中心)的过程。数据中心(DC,Data Center)是用于处理一笔请求并保存交易数据的机房。区域(region)是数据中心所属的地域,一个区域可能包含多个数据中心。例如,北京、成都、上海信总、上海外高桥等,将这些数据中心按照地理位置再划分为多个区域。例如,上海信总和上海外高桥同属于上海区域。需要指出的是,后台服务系统包括路由装置,且同一个路由装置可以并行部署至多个数据中心。
一种示例中,如图2所示,在云闪付同城双活建设和异地多活建设项目中,用户打开客户端中的“云闪付”APP(手机软件,Application)时,客户端发送请求到路由装置。路由装置接收到请求后,首先可以进行参数校验。参数校验可以是核查请求中的用户信息、域名以及地理位置信息等参数是否存在,或者是否正确,保证请求的正常分配。
路由装置根据请求中的地理位置信息以及域名等参数,可以确定出请求对应的区域,此区域是请求应当发送的最优的区域。确定出请求对应的区域后,在确定的区域中计算请求应该发送的最优的数据中心。在计算的具体过程中,考虑到各数据中心的容量和实时负载情况各不相同,如果仍然按照现有的根据地理位置的就近原则来分配请求,容易导致在爆点营销、区域流量瓶颈等场景下,有的数据中心达到处理瓶颈,导致交易超时,数据中心瘫痪,进而引发雪崩。所以,本实施例中,在各个数据中心均设置有流量监控模块,实现了实时流量监控。各个流量监控模块将实时获取的流量监控数据发送至路由装置。路由装置汇总全部的流量监控数据,得到数据中心的排序序列。根据数据中心的排序序列可以确定出请求可以发送的最优的数据中心。例如,在营销活动时,数据中心A已经快达到设计的流量瓶颈,此时在同城或者其他地区还有数据中心B,则根据实时负载情况,将后续的请求按照数据中心的排序序列分配到数据中心B。最后,可以将其它区域中的数据中心附在数据中心的排序序列之后,形成数据中心按照优先级配置的标签列表,返回给客户端。例如,当前共有A、B、C三个数据中心,用户打开客户端中的“云闪付”APP后,路由装置计算得到的标签列表为BCA,则表示该用户在本次的应用程序的运行生命周期内,所有请求都优先送到数据中心B,当数据中心B发生故障或者需要人为切换时,按照优先级,尝试送往数据中心C或者数据中心A。客户端将标签列表缓存,以便于客户端发出的后续所有的请求,都发送到同一数据中心,加强了用户粘性。同时,避免数据在传输过程中由于跨数据中心传输,导致交易过程中前后数据不一致的情况发生。本实施例提供的路由方法,考虑了用户信息、域名以及地理位置信息来确定请求发送的数据中心,保证路由装置在常规运营时,能够获取充分的信息,进行就近接入,满足路由调控需求。
本实施方式提供的路由方法,对每个数据中心的流量进行实时监控,形成了数据中心的负载均衡反馈机制。能够根据流量监控数据,确定数据中心的排序序列,进而根据排序序列确定请求发送的最优的数据中心。避免了现有技术中由于只考虑客户端与数据中心之间的距离,来确定请求发送的数据中心,而导致负载不合理,数据中心容易发生瘫痪的问题。本实施方式提供的路由方法,有效满足了负载均衡需求,资源利用率高,当数据中心发生故障时,能够快速切换,有效降低数据丢失的风险。
在一种实施方式中,如图3所示,步骤S10包括:
步骤S101:获取客户端发送的请求中的域名和地理位置信息;
步骤S102:根据域名获取业务类型,确定业务类型对应的区域;
步骤S103:业务类型对应的区域有多个的情况下,根据地理位置信息,对业务类型对应的区域进行排序,生成区域排序序列;
步骤S104:根据区域排序序列,确定请求对应的区域。
一种示例中,请求中的不同的域名可能面对的业务类型不同。例如,域名pay.95526.com是支付业务类型,域名life.95526.com是生活服务类业务。在路由计算时,需要区分不同的业务类型的域名支持的区域。例如,pay域名支持的区域仅包括上海和北京,life域名支持的区域仅包括上海、安徽和福建。然后,在各业务类型的域名支持的多个区域中,再根据地理位置信息,确定与客户端距离最近的区域,作为请求优先发送的区域。
本实施方式中,由于在考虑了具体的业务场景基础上,根据地理位置信息选择区域,不仅区域选择更加合理,提高了区域选择的准确性,而且节省了资源。
在一种实施方式中,如图3所示,步骤S10还包括:
步骤S105:业务类型对应的区域有多个的情况下,获取业务类型对应的区域的第一初始权重比;
步骤S106:根据业务类型对应的区域中的数据中心的流量监控数据,动态调整第一初始权重比;
步骤S107:根据对第一初始权重比调整后的权重比,确定请求对应的区域。
一种示例中,在考虑了具体的业务场景的基础上,除了地理位置信息,也可以引入加权方案。例如,对于江苏省境内的用户的客户端发起的支付类型的交易请求,既可以送到安徽区域,也可以送到上海区域。获取安徽区域和上海区域的初始权重比,即第一初始权重比。例如,第一初始权重比为7:3。然后,路由装置获取例如安徽区域中的全部数据中心的流量监控数据,以及上海区域中的全部数据中心的流量监控数据。如果任意一个区域的流量监控数据超出了本区域的负载阈值,则动态调整第一初始权重比。需要指出的是,区域的负载阈值可以是区域中所有数据中心的流量容量之和的百分之几,可以是百分之八十,或者百分之九十等,均在本实施方式的保护范围内。调整后的权重比(例如5:4)使得两个或多个区域的负载更均衡。最后,路由装置根据调整后的权重比确定请求对应的最优的区域。
本实施方式中,根据各个区域实时的流量监控数据,得到各个区域的负载情况,进而根据流量监控数据进行权重调整。使得请求在多个区域的分配更加合理,提高了区域选择的准确性,节省了资源。
在一种实施方式中,如图3所示,步骤S20,包括:
步骤S201:根据请求中的域名获取业务类型,并确定业务类型对应的数据中心;
步骤S202:业务类型对应的数据中心有多个的情况下,计算业务类型对应的数据中心的权重比;
步骤S203:根据业务类型对应的数据中心的权重比和请求中的用户标识符的哈希值,生成数据中心的排序序列。
一种示例中,在确定了请求发送的区域之后,在确定的区域中,继续查询请求应当发送的数据中心。首先,根据域名对应的业务类型,确定此业务类型的域名支持的数据中心。例如,pay域名对应的上海区域中,支持数据中心A和数据中心B,life域名对应的上海区域中,支持数据中心B,但是不支持数据中心A。然后,如果pay域名对应的上海区域中,支持数据中心A和数据中心B的情况下,获取数据中心A的流量监控数据和数据中心B的流量监控数据。流量监控数据可以是TPS(系统每秒的吞吐量),即对网络、设备、端口、虚电路或其他设施,单位时间内成功地传送数据的数量。然后,计算业务类型对应的数据中心的权重比,计算方法可以包括多种。第一种,可以根据各个数据中心的流量容量确定权重比。例如,上海区域的数据中心A的流量容量是8000,数据中心B的流量容量为2000,则数据中心A和数据中心B的权重比为8:2。第二种,可以结合各个数据中心的流量监控数据和数据中心的流量容量计算权重比。最后,根据用户标识符的哈希值对数据中心A和数据中心B的总权重值10000取模,取模得到的结果的取值范围是0-9999。其中,请求中包括用户标识符,例如,用户手机号可以作为用户标识符。通常认为用户标识符是均匀零散分布的,哈希值的空间是均匀的。哈希取模之后,根据权重比对请求进行分配:如果取模得到的结果落在0-7999,则请求应当发送至数据中心A。如果取模得到的结果落在8000-10000,则请求应当发送至数据中心B。
本实施方式中,通过用户标识符的哈希值结合数据中心的权重比,共同决定了请求应当发送的最优的数据中心。既能满足按照权重比分配,也能保证在不改变权重比的情况下,同一个区域中,同一个用户的请求会分配到同一个数据中心,提高了数据中心选择的准确性和连续性。
在一种实施方式中,如图3所示,步骤S202包括:
步骤S2021:业务类型对应的数据中心有多个的情况下,获取业务类型对应的数据中心的第二初始权重比;
步骤S2022:根据业务类型对应的每个数据中心的流量监控数据,动态调整第二初始权重比,生成业务类型对应的数据中心的权重比。
一种示例中,如图4所示,首先,获取业务类型对应的数据中心的第二初始权重比。可以根据各个数据中心的容量确定第二初始权重比。例如,假设规定一个总权重值10000,上海区域中数据中心A的容量可以为8000,数据中心B的容量可以为2000,容量为8:2,第二初始权重比为8:2。当然,还可以根据各个数据中心的流量监控数据和数据中心的流量容量计算第二初始权重比。例如,数据中心A的流量容量(TPS上限)为C1,数据中心A的流量监控数据为T1。数据中心B的流量容量(TPS上限)为C2,数据中心B的流量监控数据为T2。权重总和假设定为10000,数据中心A的权重为W1=(C1-T1)/{[(C1-T1)+(C2-T2)]*10000},数据中心B的权重为W2=(C2-T2)/{[(C1-T1)+(C2-T2)]*10000},得到数据中心A和数据中心B的第二初始权重比W1/W2。
然后,路由装置获取数据中心的流量监控数据。例如,获取上海区域中的数据中心A和数据中心B的流量监控数据。如果任意一个数据中心的流量监控数据超出了数据中心的负载阈值,调整第二初始权重比。具体过程包括:计算数据中心的流量监控数据与数据中心的流量容量的占比,判断占比是否超出调整的阈值,如果超出,则调整第二初始权重比,生成业务类型对应的数据中心的权重比。如果未超出,则继续获取数据中心的流量监控数据。例如,同一个区域上海的两个数据中心,数据中心A和数据中心B的第二初始权重比为7:3。当数据中心B的流量监控数据与数据中心B流量容量的占比(90%)超出调整的阈值(80%),触发权重调整,使得数据中心A和数据中心B的负载达到均衡。调整第二初始权重比之后,生成业务类型对应的数据中心的权重比9:1,之后便按照9:1的配比来对请求进行分配。权重比的调控满足日常运维的路由调控需求,不管是故障演练,还是灾备切换,都可以精准控制各个数据中心的负载。
本实施方式中,由于实时获取各个数据中心的流量监控数据,及时得到各个数据中心准确的流量负载情况,并根据真实的流量负载情况不断调整数据中心的权重比,使得各个数据中心负载均衡,进而提高请求发送的数据中心的准确性。
在一种实施方式中,如图5所示,在步骤S10之前,还包括:
步骤S00:请求满足定制分配规则的情况下,根据定制分配规则生成数据中心的排序列表。
一种示例中,如图2所示,可以配置一些特殊的规则即定制分配规则。定制分配规则可以包括灰度的规则、白名单规则、用户ID哈希(hash)规则等。如果请求符合定制分配规则,则根据定制分配规则分配请求至合适的区域以及数据中心。如果不符合,则执行步骤S10至步骤S30。
本实施方式中,设计定制分配规则,为满足定制分配规则的请求提供了便捷的分配渠道,提高了请求分配的速度。
实施例二
在另一种具体实施方式中,如图6所示,提供了一种路由装置10,包括:
区域确定模块110,用于根据客户端发送的请求,确定请求对应的区域,区域包括数据中心;
数据中心排序模块120,用于根据数据中心的流量监控数据,得到数据中心的排序序列;
序列发送模块130,用于将数据中心的排序序列发送至客户端,以使客户端根据数据中心的排序序列发送请求。
在一种实施方式中,如图7所示,提供了一种路由装置20,区域确定模块110包括:
请求信息获取子模块111,用于获取客户端发送的请求中的域名和地理位置信息;
第一区域确定子模块112,用于根据域名获取业务类型,确定业务类型对应的区域;
区域排序子模块113,用于业务类型对应的区域有多个的情况下,根据地理位置信息,对业务类型对应的区域进行排序,生成区域排序序列;
第二区域确定子模块114,用于根据区域排序序列,确定请求对应的区域。
在一种实施方式中,如图7所示,区域确定模块110还包括:
第一初始权重比获取子模块115,用于业务类型对应的区域有多个的情况下,获取业务类型对应的区域的第一初始权重比;
第一初始权重比调整子模块116,用于根据业务类型对应的区域中的数据中心的流量监控数据,动态调整第一初始权重比;
第三区域确定子模块117,用于根据对第一初始权重比调整后的权重比,确定请求对应的区域。
在一种实施方式中,如图7所示,数据中心排序模块120包括:
数据中心确定子模块121,用于根据请求中的域名获取业务类型,并确定业务类型对应的数据中心;
数据中心权重比计算子模块122,用于业务类型对应的数据中心有多个的情况下,计算业务类型对应的数据中心的权重比;
数据中心排序子模块123,用于根据业务类型对应的数据中心的权重比和所述请求中的用户标识符的哈希值,生成数据中心的排序序列。
在一种实施方式中,如图7所示,数据中心权重比计算子模块122,包括:
第二初始权重比获取单元1221,用于业务类型对应的数据中心有多个的情况下,获取业务类型对应的数据中心的第二初始权重比;
第二初始权重比调整单元1222,用于根据业务类型对应的每个数据中心的流量监控数据,动态调整第二初始权重比,生成业务类型对应的数据中心的权重比。
在一种实施方式中,如图8所示,提供了一种路由装置30,还包括:
定制分配模块100,用于请求满足定制分配规则的情况下,根据定制分配规则生成数据中心的排序序列。
实施例三
在一种具体实施方式中,提供了一种路由系统,如图9所示,包括如上所述的路由装置10、路由装置20或路由装置30,还包括:
用于发送请求的客户端40;以及
设置有流量监控模块501的数据中心50,流量监控模块501用于实时获取数据中心的流量监控数据,并将流量监控数据发送至路由装置。
本发明实施例各装置中的各模块的功能可以参见上述方法中的对应描述,在此不再赘述。
根据本申请的实施例,本申请还提供了一种电子设备和一种可读存储介质。
如图10所示,是根据本申请实施例的一种路由方法的电子设备的框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本申请的实现。
如图10所示,该电子设备包括:一个或多个处理器1001、存储器1002,以及用于连接各部件的接口,包括高速接口和低速接口。各个部件利用不同的总线互相连接,并且可以被安装在公共主板上或者根据需要以其它方式安装。处理器可以对在电子设备内执行的指令进行处理,包括存储在存储器中或者存储器上以在外部输入/输出装置(诸如,耦合至接口的显示设备)上显示图形用户界面(Graphical User Interface,GUI)的图形信息的指令。在其它实施方式中,若需要,可以将多个处理器和/或多条总线与多个存储器和多个存储器一起使用。同样,可以连接多个电子设备,各个设备提供部分必要的操作(例如,作为服务器阵列、一组刀片式服务器、或者多处理器系统)。图10中以一个处理器1001为例。
存储器1002即为本申请所提供的非瞬时计算机可读存储介质。其中,所述存储器存储有可由至少一个处理器执行的指令,以使所述至少一个处理器执行本申请所提供的一种路由方法。本申请的非瞬时计算机可读存储介质存储计算机指令,该计算机指令用于使计算机执行本申请所提供的一种路由方法。
存储器1002作为一种非瞬时计算机可读存储介质,可用于存储非瞬时软件程序、非瞬时计算机可执行程序以及模块,如本申请实施例中的一种路由方法对应的程序指令/模块(例如,附图6所示的区域确定模块110、数据中心排序模块120和序列发送模块130)。处理器1001通过运行存储在存储器1002中的非瞬时软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述方法实施例中的一种路由方法。
存储器1002可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据一种路由方法的电子设备的使用所创建的数据等。此外,存储器1002可以包括高速随机存取存储器,还可以包括非瞬时存储器,例如至少一个磁盘存储器件、闪存器件、或其他非瞬时固态存储器件。在一些实施例中,存储器1002可选包括相对于处理器1001远程设置的存储器,这些远程存储器可以通过网络连接至路由方法的电子设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
一种路由方法的电子设备还可以包括:输入装置1003和输出装置1004。处理器1001、存储器1002、输入装置1003和输出装置1004可以通过总线或者其他方式连接,图10中以通过总线连接为例。
输入装置1003可接收输入的数字或字符信息,以及产生与一种路由方法的电子设备的用户设置以及功能控制有关的键信号输入,例如触摸屏、小键盘、鼠标、轨迹板、触摸板、指示杆、一个或者多个鼠标按钮、轨迹球、操纵杆等输入装置。输出装置1004可以包括显示设备、辅助照明装置(例如,LED)和触觉反馈装置(例如,振动电机)等。该显示设备可以包括但不限于,液晶显示器(Liquid Cr10stal Displa10,LCD)、发光二极管(Light EmittingDiode,LED)显示器和等离子体显示器。在一些实施方式中,显示设备可以是触摸屏。
此处描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、专用集成电路(Application Specific Integrated Circuits,ASIC)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
这些计算程序(也称作程序、软件、软件应用、或者代码)包括可编程处理器的机器指令,并且可以利用高级过程和/或面向对象的编程语言、和/或汇编/机器语言来实施这些计算程序。如本文使用的,术语“机器可读介质”和“计算机可读介质”指的是用于将机器指令和/或数据提供给可编程处理器的任何计算机程序产品、设备、和/或装置(例如,磁盘、光盘、存储器、可编程逻辑装置(programmable logic device,PLD)),包括,接收作为机器可读信号的机器指令的机器可读介质。术语“机器可读信号”指的是用于将机器指令和/或数据提供给可编程处理器的任何信号。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(Cathode Ra10 Tube,阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(Local Area Network,LAN)、广域网(Wide Area Network,WAN)和互联网。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发申请中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本申请公开的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本申请保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本申请的精神和原则之内所作的修改、等同替换和改进等,均应包含在本申请保护范围之内。

Claims (15)

1.一种路由方法,其特征在于,包括:
根据客户端发送的请求,确定所述请求对应的区域,所述区域包括数据中心;
根据所述数据中心的流量监控数据,得到所述数据中心的排序序列;
将所述数据中心的排序序列发送至所述客户端,以使所述客户端根据所述数据中心的排序序列发送请求。
2.如权利要求1所述的方法,其特征在于,根据客户端发送的请求,确定所述请求对应的区域,包括:
获取所述客户端发送的请求中的域名和地理位置信息;
根据所述域名获取业务类型,确定所述业务类型对应的区域;
所述业务类型对应的区域有多个的情况下,根据所述地理位置信息,对所述业务类型对应的区域进行排序,生成区域排序序列;
根据所述区域排序序列,确定所述请求对应的区域。
3.如权利要求2所述的方法,其特征在于,还包括:
所述业务类型对应的区域有多个的情况下,获取所述业务类型对应的区域的第一初始权重比;
根据所述业务类型对应的区域中的数据中心的流量监控数据,动态调整所述第一初始权重比;
根据对所述第一初始权重比调整后的权重比,确定所述请求对应的区域。
4.如权利要求1所述的方法,其特征在于,根据所述数据中心的流量监控数据,得到所述数据中心的排序序列,包括:
根据所述请求中的域名获取业务类型,并确定所述业务类型对应的数据中心;
所述业务类型对应的数据中心有多个的情况下,计算所述业务类型对应的数据中心的权重比;
根据所述业务类型对应的数据中心的权重比和所述请求中的用户标识符的哈希值,生成所述数据中心的排序序列。
5.如权利要求4所述的方法,其特征在于,所述业务类型对应的数据中心有多个的情况下,根据业务类型对应的数据中心的流量监控数据,计算所述业务类型对应的数据中心的权重比,包括:
所述业务类型对应的数据中心有多个的情况下,获取所述业务类型对应的数据中心的第二初始权重比;
根据所述业务类型对应的每个数据中心的流量监控数据,动态调整所述第二初始权重比,生成业务类型对应的数据中心的权重比。
6.如权利要求1所述的方法,其特征在于,还包括:
所述请求满足定制分配规则的情况下,根据所述定制分配规则生成所述数据中心的排序列表。
7.一种路由装置,其特征在于,包括:
区域确定模块,用于根据客户端发送的请求,确定所述请求对应的区域,所述区域包括数据中心;
数据中心排序模块,用于根据所述数据中心的流量监控数据,得到所述数据中心的排序序列;
序列发送模块,用于将所述数据中心的排序序列发送至所述客户端,以使所述客户端根据所述数据中心的排序序列发送请求。
8.如权利要求7所述的装置,其特征在于,所述区域确定模块包括:
请求信息获取子模块,用于获取所述客户端发送的请求中的域名和地理位置信息;
第一区域确定子模块,用于根据所述域名获取业务类型,确定所述业务类型对应的区域;
区域排序子模块,用于所述业务类型对应的区域有多个的情况下,根据所述地理位置信息,对所述业务类型对应的区域进行排序,生成区域排序序列;
第二区域确定子模块,用于根据所述区域排序序列,确定所述请求对应的区域。
9.如权利要求8所述的装置,其特征在于,所述区域确定模块还包括:
第一初始权重比获取子模块,用于所述业务类型对应的区域有多个的情况下,获取所述业务类型对应的区域的第一初始权重比;
第一初始权重比调整子模块,用于根据所述业务类型对应的区域中的数据中心的流量监控数据,动态调整所述第一初始权重比;
第三区域确定子模块,用于根据对所述第一初始权重比调整后的权重比,确定所述请求对应的区域。
10.如权利要求7所述的装置,其特征在于,所述数据中心排序模块包括:
数据中心确定子模块,用于根据所述请求中的域名获取业务类型,并确定所述业务类型对应的数据中心;
数据中心权重比计算子模块,用于所述业务类型对应的数据中心有多个的情况下,计算所述业务类型对应的数据中心的权重比;
数据中心排序子模块,用于根据所述业务类型对应的数据中心的权重比和所述请求中的用户标识符的哈希值,生成所述数据中心的排序序列。
11.如权利要求10所述的装置,其特征在于,所述数据中心权重比计算子模块,包括:
第二初始权重比获取单元,用于所述业务类型对应的数据中心有多个的情况下,获取所述业务类型对应的数据中心的第二初始权重比;
第二初始权重比调整单元,用于根据所述业务类型对应的每个数据中心的流量监控数据,动态调整所述第二初始权重比,生成业务类型对应的数据中心的权重比。
12.如权利要求7所述的装置,其特征在于,还包括:
定制分配模块,用于所述请求满足定制分配规则的情况下,根据所述定制分配规则生成所述数据中心的排序序列。
13.一种路由系统,其特征在于,包括如所述权利要求7至12的路由装置,还包括:
用于发送请求的客户端;以及
设置有流量监控模块的数据中心,所述流量监控模块用于实时获取所述数据中心的流量监控数据,并将所述流量监控数据发送至所述路由装置。
14.一种电子设备,其特征在于,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-6中任一项所述的方法。
15.一种存储有计算机指令的非瞬时计算机可读存储介质,其特征在于,所述计算机指令用于使所述计算机执行权利要求1-6中任一项所述的方法。
CN201911264068.XA 2019-12-11 2019-12-11 一种路由方法、装置、系统以及电子设备 Active CN110933181B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911264068.XA CN110933181B (zh) 2019-12-11 2019-12-11 一种路由方法、装置、系统以及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911264068.XA CN110933181B (zh) 2019-12-11 2019-12-11 一种路由方法、装置、系统以及电子设备

Publications (2)

Publication Number Publication Date
CN110933181A true CN110933181A (zh) 2020-03-27
CN110933181B CN110933181B (zh) 2024-03-15

Family

ID=69858867

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911264068.XA Active CN110933181B (zh) 2019-12-11 2019-12-11 一种路由方法、装置、系统以及电子设备

Country Status (1)

Country Link
CN (1) CN110933181B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113472662A (zh) * 2021-07-09 2021-10-01 武汉绿色网络信息服务有限责任公司 路径重分配方法和网络业务系统
CN115190066A (zh) * 2022-06-02 2022-10-14 武汉众邦银行股份有限公司 一种基于加权随机算法的计算路由权重比例方法

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009150003A1 (en) * 2008-06-11 2009-12-17 Telefonaktiebolaget Lm Ericsson (Publ) Enhanced apn resolution
CN102821167A (zh) * 2012-08-09 2012-12-12 苏州阔地网络科技有限公司 一种网络会议漂移的处理方法及系统
CN103391299A (zh) * 2012-05-08 2013-11-13 深圳市腾讯计算机系统有限公司 负载均衡方法和负载均衡系统
CN105491173A (zh) * 2014-09-18 2016-04-13 中国电信股份有限公司 一种dns解析方法、服务器及网络系统
CN107026907A (zh) * 2017-03-30 2017-08-08 上海斐讯数据通信技术有限公司 一种负载均衡方法、负载均衡器及负载均衡系统
CN109286663A (zh) * 2018-09-14 2019-01-29 郑州云海信息技术有限公司 一种分布式系统业务分配方法、装置及设备
CN110311967A (zh) * 2019-06-25 2019-10-08 北京达佳互联信息技术有限公司 数据推送及数据接收的方法、装置、设备及系统

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009150003A1 (en) * 2008-06-11 2009-12-17 Telefonaktiebolaget Lm Ericsson (Publ) Enhanced apn resolution
CN103391299A (zh) * 2012-05-08 2013-11-13 深圳市腾讯计算机系统有限公司 负载均衡方法和负载均衡系统
CN102821167A (zh) * 2012-08-09 2012-12-12 苏州阔地网络科技有限公司 一种网络会议漂移的处理方法及系统
CN105491173A (zh) * 2014-09-18 2016-04-13 中国电信股份有限公司 一种dns解析方法、服务器及网络系统
CN107026907A (zh) * 2017-03-30 2017-08-08 上海斐讯数据通信技术有限公司 一种负载均衡方法、负载均衡器及负载均衡系统
CN109286663A (zh) * 2018-09-14 2019-01-29 郑州云海信息技术有限公司 一种分布式系统业务分配方法、装置及设备
CN110311967A (zh) * 2019-06-25 2019-10-08 北京达佳互联信息技术有限公司 数据推送及数据接收的方法、装置、设备及系统

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113472662A (zh) * 2021-07-09 2021-10-01 武汉绿色网络信息服务有限责任公司 路径重分配方法和网络业务系统
CN113472662B (zh) * 2021-07-09 2022-10-04 武汉绿色网络信息服务有限责任公司 路径重分配方法和网络业务系统
CN115190066A (zh) * 2022-06-02 2022-10-14 武汉众邦银行股份有限公司 一种基于加权随机算法的计算路由权重比例方法
CN115190066B (zh) * 2022-06-02 2023-07-07 武汉众邦银行股份有限公司 一种基于加权随机算法的计算路由权重比例方法

Also Published As

Publication number Publication date
CN110933181B (zh) 2024-03-15

Similar Documents

Publication Publication Date Title
JP7252356B2 (ja) モバイルエッジコンピューティングノードの選択方法、装置及びシステム並びにコンピュータプログラム
US10728175B2 (en) Adaptive service chain management
US10735553B2 (en) Micro-services in a telecommunications network
CN111741026B (zh) 一种跨链事务请求处理方法、装置、设备以及存储介质
US10757180B2 (en) Sender system status-aware load balancing
CN107545338B (zh) 业务数据处理方法及业务数据处理系统
CN111835856B (zh) 文件下载的方法、装置、设备以及存储介质
CN113163002B (zh) 一种服务器切换方法、装置及存储介质
CN110442610A (zh) 负载均衡的方法、装置、计算设备以及介质
CN109842670A (zh) 运算装置、其资源分配方法及通信系统
CN112437006B (zh) 基于api网关的请求控制方法、装置、电子设备和存储介质
US20140143427A1 (en) Providing Resources in a Cloud
CN111683139B (zh) 用于均衡负载的方法和装置
JPWO2018220708A1 (ja) 資源割当システム、管理装置、方法およびプログラム
US20090193146A1 (en) Utilizing Virtual Server Weight for Loadbalancing
CN110933181B (zh) 一种路由方法、装置、系统以及电子设备
CN111970132A (zh) Ota数据包下发流量的控制方法、装置及服务器
CN114356547B (zh) 基于处理器虚拟化环境的低优阻塞方法及装置
CN111770176B (zh) 流量调度方法及装置
CN112152879B (zh) 网络质量确定方法、装置、电子设备和可读存储介质
CN111740903B (zh) 一种数据传输方法及装置
US10691700B1 (en) Table replica allocation in a replicated storage system
US9912563B2 (en) Traffic engineering of cloud services
CN114726776B (zh) 内容分发网络cdn调度方法、装置、设备及介质
CN109587068A (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