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

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

Info

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
Application number
CN201711350466.4A
Other languages
English (en)
Other versions
CN109936463B (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.)
Johnsen Shilian Digital Technology (beijing) Co Ltd
Chuangsheng Shilian Digital Technology Beijing Co Ltd
Original Assignee
Johnsen 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 Johnsen Shilian Digital Technology (beijing) Co Ltd filed Critical Johnsen 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

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的域名注册商处,通过指定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设置数据库。
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 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)

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

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

Cited By (1)

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