CN109936463B - 基于PowerDNS系统的流量调度方法 - Google Patents

基于PowerDNS系统的流量调度方法 Download PDF

Info

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
Application number
CN201711350466.4A
Other languages
English (en)
Other versions
CN109936463A (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.)
Chuangsheng Shilian Digital Technology Beijing Co Ltd
Original Assignee
Chuangsheng Shilian Digital Technology Beijing 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 Chuangsheng Shilian Digital Technology Beijing Co Ltd filed Critical Chuangsheng Shilian Digital Technology Beijing Co Ltd
Priority to CN201711350466.4A priority Critical patent/CN109936463B/zh
Publication of CN109936463A publication Critical patent/CN109936463A/zh
Application granted granted Critical
Publication of CN109936463B publication Critical patent/CN109936463B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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

基于PowerDNS系统的流量调度方法
技术领域
本发明涉及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设置数据库。
CN201711350466.4A 2017-12-15 2017-12-15 基于PowerDNS系统的流量调度方法 Active CN109936463B (zh)

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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115665263B (zh) * 2022-10-19 2024-08-09 上海浦东发展银行股份有限公司 一种流量调拨方法、装置、服务器及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
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

Patent Citations (4)

* Cited by examiner, † Cited by third party
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