CN109936463B - 基于PowerDNS系统的流量调度方法 - Google Patents
基于PowerDNS系统的流量调度方法 Download PDFInfo
- Publication number
- CN109936463B CN109936463B CN201711350466.4A CN201711350466A CN109936463B CN 109936463 B CN109936463 B CN 109936463B CN 201711350466 A CN201711350466 A CN 201711350466A CN 109936463 B CN109936463 B CN 109936463B
- Authority
- CN
- China
- Prior art keywords
- powerdns
- domain name
- mydns
- com
- resolution
- 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
Links
Images
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的域名注册商处,通过指定域名服务器记录,将mydns.com的二级域名domain.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;
将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查询时,通过cc_ran视图查询到的1-100随机数,通过sql语句查到该随机数在那条记录的floor和ceil区间内,则命中该条记录,返回查询结果,达到解析的目的;
通过随机数,实现按照权重比例分配;以使在不变换域名的情况下,实现对域名解析指向的按照比例进行调度;以及在不调整PowerDNS源代码的情况下,实现动态的按照比例调整解析结果;以及在不重新启动PowerDNS也无需重新加载配置文件的情况下变动配置。
2.如权利要求1所述的基于PowerDNS系统的流量调度方法,其特征在于,所述通过PowerDNS搭建DNS服务器,对域名mydns.com进行解析,PowerDNS服务器需要用到MySQL数据库包括以下步骤:
安装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 CN109936463A (zh) | 2019-06-25 |
CN109936463B true 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) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115665263B (zh) * | 2022-10-19 | 2024-08-09 | 上海浦东发展银行股份有限公司 | 一种流量调拨方法、装置、服务器及存储介质 |
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 |
Also Published As
Publication number | Publication date |
---|---|
CN109936463A (zh) | 2019-06-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Fiebig et al. | Something from nothing (There): collecting global IPv6 datasets from DNS | |
CN107623751B (zh) | Dns网络系统、域名解析方法及系统 | |
US9525749B2 (en) | DNS server arrangement and method | |
CN105516391B (zh) | 一种基于cname的dns域名解析方法 | |
US7761570B1 (en) | Extensible domain name service | |
US10721317B2 (en) | Global provisioning of millions of users with deployment units | |
CN103685590B (zh) | 获取ip地址的方法及系统 | |
EP2892203A1 (en) | Methods of structuring data, pre-compiled exception list engines, and network appliances | |
HK1071969A1 (en) | Method and apparatus for resolving an entity identifier into an internet address using a domain name system (dns) server and an entity identifier portability database | |
CN102868550B (zh) | 全网流量调度器及使用该调度器查询域名解析记录的方法 | |
CN109936463B (zh) | 基于PowerDNS系统的流量调度方法 | |
CN107786678B (zh) | 域名解析方法、装置及系统 | |
CN108512914B (zh) | 一种业务id生成方法及装置 | |
CN103501358A (zh) | 一种域名托管管理方法及装置 | |
CN107896257A (zh) | 部署客户端子系统功能的方法、装置、设备和介质 | |
CN115037720B (zh) | 域名解析请求的处理方法、装置、电子设备及存储介质 | |
CN103856580A (zh) | 一种IPv6客户机访问IPv4服务器的方法 | |
CN101917494A (zh) | 自治互联网的实现 | |
CN103491201A (zh) | 一种域名解析的方法和域名服务器 | |
CN105357334B (zh) | 一种基于ipv6地址划分的ipv6地址存储及快速查询方法 | |
CN109889625B (zh) | 访问服务器的方法、记账节点、服务器及计算机可读存储介质 | |
CN112839113A (zh) | 域名存储与解析方法、装置、电子设备及存储介质 | |
Wang | Analysis of DNS cache effects on query distribution | |
CN114500456A (zh) | 基于全网嗅探的dns调度优化方法、装置及计算设备 | |
CN111866205A (zh) | 一种将ip地址转换为位置信息的方法及系统 |
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 |