CN109936463A - 基于PowerDNS系统的流量调度方法 - Google Patents
基于PowerDNS系统的流量调度方法 Download PDFInfo
- Publication number
- CN109936463A CN109936463A CN201711350466.4A CN201711350466A CN109936463A CN 109936463 A CN109936463 A CN 109936463A CN 201711350466 A CN201711350466 A CN 201711350466A CN 109936463 A CN109936463 A CN 109936463A
- Authority
- CN
- China
- Prior art keywords
- powerdns
- mydns
- com
- parsing
- record
- 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
Links
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种基于PowerDNS系统的流量调度方法,其包括以下步骤:步骤一,通过PowerDNS搭建DNS服务器,对域名mydns.com进行解析,PowerDNS服务器需要用到MySQL数据库;步骤二,在mydns.com的域名注册商处,通过指定ns纪录,将mydns.com的二级域名的解析,指向PowerDNS服务器所在IP等。本发明可实现不变换域名的方式,实现对域名解析指向的按照比例进行调度;不用调整PowerDNS源代码来实现动态的按照比例调整解析结果;部署方便,变动配置无需重新启动PowerDNS,也无需重新加载配置文件。
Description
技术领域
本发明涉及DNS域名解析服务领域,特别是涉及一种基于PowerDNS系统的流量调度方法。
背景技术
在DNS域名解析服务领域,现有的解析调度都是通过PowerDNS配置文件的方式,进行解析调度,若实现按照比例进行流量调度,要么修改PowerDNS代码,或者每次变更调度比例需要重新启动PowerDNS或重新加载配置文件,或者通过搭建业务系统,将业务分配到不同的域名进行调度,本专利实现通过不改变域名指向,并且不修改PowerDNS代码的方式,实现按照不同比例调度域名解析的方法。若想通过DNS来调度域名的流量,需要在域名注册商处,调整域名的解析IP,或CNAME,因为现有DNS解决方案只能将用户域名指向一个固定的新地址。
发明内容
本发明所要解决的技术问题是提供一种基于PowerDNS系统的流量调度方法,其可实现不变换域名的方式,实现对域名解析指向的按照比例进行调度;不用调整PowerDNS源代码来实现动态的按照比例调整解析结果;部署方便,变动配置无需重新启动PowerDNS,也无需重新加载配置文件。
本发明是通过下述技术方案来解决上述技术问题的:一种基于PowerDNS系统的流量调度方法,其包括以下步骤:
步骤一,通过PowerDNS搭建DNS服务器,对域名mydns.com进行解析,PowerDNS服务器需要用到MySQL数据库;
步骤二,在mydns.com的域名注册商处,通过指定ns纪录,将mydns.com的二级域名的解析,指向PowerDNS服务器所在IP;
步骤三,在PowerDNS的MySQL数据库中的records表中插入纪录,负责将domain.mydns.com的解析指向1.1.1.1;
步骤四,插入另外一条记录,将domain.mydns.com解析指向到2.2.2.2,每次DNS查询的结果还是仅有1.1.1.1一条记录,并不能将50%解析分配到2.2.2.2;
步骤五,在不考虑修改PowerDNS代码的情况下,如何根据比例(变量)将解析调配到2.2.2.2;
步骤六,将records表改名为records_cc,并增加weight,floor,ceil字段,weight为解析分配比例,floor,ceil是根据分配比例,计算的1-100的上下限,例如:1.1.1.1和2.2.2.2分配比例为3:7,则1.1.1.1的floor和ceil值为1,30,另外一个IP2.2.2.2的floor和ceil值为31,100;
步骤七,建立视图cc_ran用于计算1-100以内随机数;
步骤八,建立视图records,必须与PowerDNS原records表同名且表结构一致,在PowerDNS做数据查询时将原有的查询实体表改为查询视图,来“欺骗”PowerDNS的查询代码;每次PowerDNS查询时,通过cc_ran视图查询到的1-100随机数,通过sql语句查到该随机数在那条记录的floor和ceil区间内,则命中该条记录,返回查询结果,达到解析的目的;
步骤九,通过随机数,实现按照权重比例分配。
优选地,所述步骤一包括以下步骤:
步骤十一,安装MySQL;
步骤十二,安装PowerDNS;
步骤十三,PowerDNS设置pdns.conf参数;
步骤十四,PowerDNS设置数据库。
本发明的积极进步效果在于:本发明可实现不变换域名的方式,实现对域名解析指向的按照比例进行调度;不用调整PowerDNS源代码来实现动态的按照比例调整解析结果;部署方便,变动配置无需重新启动PowerDNS,也无需重新加载配置文件。
附图说明
图1为本发明基于PowerDNS系统的流量调度方法的流程示意图。
具体实施方式
下面结合附图给出本发明较佳实施例,以详细说明本发明的技术方案。
如图1所示,本发明基于PowerDNS(跨平台的开源DNS服务组件)系统的流量调度方法,其包括以下步骤:
步骤一,通过PowerDNS搭建DNS(Domain Name System,域名系统)服务器,对域名mydns.com进行解析,PowerDNS服务器需要用到MySQL(关系型数据库管理系统)数据库;
步骤二,在mydns.com的域名注册商处,通过指定ns(Name Server,域名服务器记录)记录,将mydns.com的二级域名的解析,指向PowerDNS服务器所在IP(InternetProtocol,网络之间互连的协议);
步骤三,在PowerDNS的MySQL数据库中的records(记录)表中插入纪录,负责将domain.mydns.com的解析指向1.1.1.1;
步骤四,插入另外一条记录,将domain.mydns.com解析指向到2.2.2.2,每次DNS查询的结果还是仅有1.1.1.1一条记录,并不能将50%解析分配到2.2.2.2;
步骤五,在不考虑修改PowerDNS代码的情况下,如何根据比例(变量)将解析调配到2.2.2.2;
步骤六,将records表改名为records_cc,并增加weight(权重),floor(向下取整),ceil(函数名)字段,weight为解析分配比例,floor,ceil是根据分配比例,计算的1-100的上下限,例如:1.1.1.1和2.2.2.2分配比例为3:7,则1.1.1.1的floor和ceil值为1,30,另外一个IP2.2.2.2的floor和ceil值为31,100;
步骤七,建立视图cc_ran用于计算1-100以内随机数;
步骤八,建立视图records,必须与PowerDNS原records表同名且表结构一致,在PowerDNS做数据查询时将原有的查询实体表改为查询视图,来“欺骗”PowerDNS的查询代码;每次PowerDNS查询时,通过cc_ran视图查询到的1-100随机数,通过sql语句查到该随机数在那条记录的floor和ceil区间内,则命中该条记录,返回查询结果,达到解析的目的;
步骤九,通过随机数,实现按照权重比例分配。
所述步骤一包括以下步骤:
步骤十一,安装MySQL;
步骤十二,安装PowerDNS;
步骤十三,PowerDNS设置pdns.conf参数;
步骤十四,PowerDNS设置数据库。
本发明在不用在域名注册商处修改域名解析的情况下,域名指向自定义的CNAME(别名记录)例如domain.mydns.com,自己通过PowerDNS搭建域名解析服务器,对mydns.com进行解析,如想将域名最终解析到IP1.1.1.1只需将PowerDNS中数据记录中domian.mydns.com解析到1.1.1.1在有的情况下需要按比例进行解析调度以达到流量分配的目的,将30%的解析量调度到1.1.1.1,将50%的解析量调度到2.2.2.2,将20%的解析量调度到3.3.3.3。
本发明将原有的records表改名,并增加ceil,floor字段(其余增加字段为非必需)。创建随机数视图和records视图,将随机数视图和records视图结合;随机数视图每次查询出的1-100的随机数为平均分配,结合ceil,floor,将随机数命中的记录反馈给查询语句;通过将PowerDNS的查询records表的机制,用查询视图代替,本发明不需对PowerDNS内部代码进行任何改动,配置方便。
以上所述的具体实施例,对本发明的解决的技术问题、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (2)
1.一种基于PowerDNS系统的流量调度方法,其特征在于,其包括以下步骤:
步骤一,通过PowerDNS搭建DNS服务器,对域名mydns.com进行解析,PowerDNS服务器需要用到MySQL数据库;
步骤二,在mydns.com的域名注册商处,通过指定ns纪录,将mydns.com的二级域名的解析,指向PowerDNS服务器所在IP;
步骤三,在PowerDNS的MySQL数据库中的records表中插入纪录,负责将domain.mydns.com的解析指向1.1.1.1;
步骤四,插入另外一条记录,将domain.mydns.com解析指向到2.2.2.2,每次DNS查询的结果还是仅有1.1.1.1一条记录,并不能将50%解析分配到2.2.2.2;
步骤五,在不考虑修改PowerDNS代码的情况下,如何根据比例(变量)将解析调配到2.2.2.2;
步骤六,将records表改名为records_cc,并增加weight,floor,ceil字段,weight为解析分配比例,floor,ceil是根据分配比例,计算的1-100的上下限,例如:1.1.1.1和2.2.2.2分配比例为3:7,则1.1.1.1的floor和ceil值为1,30,另外一个IP2.2.2.2的floor和ceil值为31,100;
步骤七,建立视图cc_ran用于计算1-100以内随机数;
步骤八,建立视图records,必须与PowerDNS原records表同名且表结构一致,在PowerDNS做数据查询时将原有的查询实体表改为查询视图,来“欺骗”PowerDNS的查询代码;每次PowerDNS查询时,通过cc_ran视图查询到的1-100随机数,通过sql语句查到该随机数在那条记录的floor和ceil区间内,则命中该条记录,返回查询结果,达到解析的目的;
步骤九,通过随机数,实现按照权重比例分配。
2.如权利要求1所述的基于PowerDNS系统的流量调度方法,其特征在于,所述步骤一包括以下步骤:
步骤十一,安装MySQL;
步骤十二,安装PowerDNS;
步骤十三,PowerDNS设置pdns.conf参数;
步骤十四,PowerDNS设置数据库。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711350466.4A CN109936463B (zh) | 2017-12-15 | 2017-12-15 | 基于PowerDNS系统的流量调度方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711350466.4A CN109936463B (zh) | 2017-12-15 | 2017-12-15 | 基于PowerDNS系统的流量调度方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109936463A true CN109936463A (zh) | 2019-06-25 |
CN109936463B CN109936463B (zh) | 2021-06-25 |
Family
ID=66980054
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711350466.4A Active CN109936463B (zh) | 2017-12-15 | 2017-12-15 | 基于PowerDNS系统的流量调度方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109936463B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115665263A (zh) * | 2022-10-19 | 2023-01-31 | 上海浦东发展银行股份有限公司 | 一种流量调拨方法、装置、服务器及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102523231A (zh) * | 2011-12-27 | 2012-06-27 | 北京蓝汛通信技术有限责任公司 | 一种基于dns解析的流量调度方法、装置及服务器 |
CN102868550A (zh) * | 2012-08-17 | 2013-01-09 | 新浪网技术(中国)有限公司 | 全网流量调度器及使用该调度器查询域名解析记录的方法 |
CN104144222A (zh) * | 2014-08-20 | 2014-11-12 | 北京阅联信息技术有限公司 | Dns授权系统中基于别名记录的负载均衡方法及系统 |
WO2016205560A1 (en) * | 2015-06-16 | 2016-12-22 | Datto, Inc. | Hybrid cloud methods, apparatus and systems for secure file sharing and synchronization with backup and server virtualization |
-
2017
- 2017-12-15 CN CN201711350466.4A patent/CN109936463B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102523231A (zh) * | 2011-12-27 | 2012-06-27 | 北京蓝汛通信技术有限责任公司 | 一种基于dns解析的流量调度方法、装置及服务器 |
CN102868550A (zh) * | 2012-08-17 | 2013-01-09 | 新浪网技术(中国)有限公司 | 全网流量调度器及使用该调度器查询域名解析记录的方法 |
CN104144222A (zh) * | 2014-08-20 | 2014-11-12 | 北京阅联信息技术有限公司 | Dns授权系统中基于别名记录的负载均衡方法及系统 |
WO2016205560A1 (en) * | 2015-06-16 | 2016-12-22 | Datto, Inc. | Hybrid cloud methods, apparatus and systems for secure file sharing and synchronization with backup and server virtualization |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115665263A (zh) * | 2022-10-19 | 2023-01-31 | 上海浦东发展银行股份有限公司 | 一种流量调拨方法、装置、服务器及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN109936463B (zh) | 2021-06-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7308501B2 (en) | Method and apparatus for policy-based packet classification using hashing algorithm | |
KR101640034B1 (ko) | 도메인 트래픽 순위 | |
Bent et al. | Characterization of a large web site population with implications for content delivery | |
US7310687B2 (en) | Methods and systems for managing class-based condensation | |
Edmonds | ISC passive DNS architecture | |
CN109714449A (zh) | 服务域名的动态配置方法、装置、设备及存储介质 | |
CN106657249B (zh) | 更新缓存资源的方法及装置 | |
US8224923B2 (en) | Characterizing unregistered domain names | |
WO2006078953A3 (en) | System and method for application acceleration on a distributed computer network | |
CN103685590B (zh) | 获取ip地址的方法及系统 | |
EP2068241A3 (en) | System and method for dynamically generating user interfaces for network client devices | |
CN105828310B (zh) | 一种数据业务的计费方法及设备、系统 | |
WO2003005664A3 (en) | Method and apparatus for resolving an entity identifier into an internet address using a domain name system (dns) server | |
CN106303704A (zh) | 一种基于代理服务器的dash流媒体直播系统及方法 | |
CN109936463A (zh) | 基于PowerDNS系统的流量调度方法 | |
US10171415B2 (en) | Characterization of domain names based on changes of authoritative name servers | |
US9191286B2 (en) | Adaptive centralized collection of performance management data using a metamodel | |
EP3062465A1 (en) | Query latency of a dns service | |
Wang | Analysis of DNS cache effects on query distribution | |
CN104468773B (zh) | 数据处理方法和服务端 | |
CN111953617B (zh) | 一种负载均衡调度方法、装置、介质及设备 | |
US20160043923A1 (en) | Internet infrastructure measurement method and system adapted to session volume | |
CN102904858B (zh) | 一种ims网络中的数据存储、查询方法 | |
CN107222588A (zh) | 一种提高dns可用性的方法及系统 | |
ATE364290T1 (de) | Sortierung von adressen in einem domainnamenserver |
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 |