實現業務與域名解析服務器綁定的系統及方法
【專利摘要】本發明涉及一種實現業務與域名解析服務器綁定的系統,其中包括業務報文發送模塊、域名解析代理模塊和數個域名解析服務器,本發明還提供了一種實現業務與域名解析服務器綁定的方法,僅通過修改域名解析代理模塊的程序就可以實現不同業務通過對應的網絡接口和對應的域名解析服務器綁定。采用本發明的實現業務與域名解析服務器綁定的系統及方法,避免了開發者必須根據每個域名解析報文添加添域名解析庫和域名解析函數實現根據不同業務選擇對應域名解析服務器及網絡接口的技術問題,代碼量小,操作簡單,結構清晰,提高效率,程序易于移植和擴展,有利于系統的后續維護,具有更廣泛的應用范圍。
【專利說明】實現業務與域名解析服務器綁定的系統及方法
【技術領域】
[0001]本發明涉及通訊領域,尤其涉及域名解析服務系統領域,具體是指一種實現業務與域名解析服務器綁定的系統及方法。
【背景技術】
[0002]隨著網絡的應用越來越多,要求也越來越高了。往往一個網絡服務器或者嵌入式網絡設備中,會包含許多不同的應用業務,比如訪問網站、時間同步服務、FTP服務、語音服務等,而這些應用所對應的服務器往往架設在不同的網絡上,這就要求我們根據不同業務,對數據及域名解析系統等進行隔離及綁定。
[0003]在一些網絡服務器或嵌入式網絡設備中,為實現不同業務的域名解析服務的接口以及服務器的徹底隔離,僅通過修改路由表等方式已經很難實現了,所以在一些網絡服務器或嵌入式網絡設備中,所有業務只用一組域名解析服務器及對應的網絡接口,不支持根據不同業務選擇對應域名解析服務器及網絡接口,但隨著網絡應用的增加以及功能要求組網環境越來越復雜,通常都需要實現該功能。
[0004]在Linux系統中,通過添加自己的域名解析Iib庫,擴展類似標準庫中域名解析函數gethostbyname O或者getaddrinfo()等方式也能實現該功能,但實現大多比較復雜,通常還需要修改對應業務中的域名解析部分,程序不易擴展且系統不利于后期維護。
【發明內容】
[0005]本發明的目的是克服了上述現有技術的缺點,提供了一種僅改動域名解析代理模塊程序實現根據不同業務選擇對應域名解析服務器及網絡接口的功能、結構簡單、快速高效、易于移植、方便維護的實現業務與域名解析服務器綁定的系統及方法。
[0006]為了實現上述目的,本發明的實現業務與域名解析服務器綁定的系統及方法具有如下構成:
[0007]該實現業務與域名解析服務器綁定的系統,其主要特點是,所述的系統包括業務報文發送模塊、域名解析代理模塊和數個域名解析服務器。
[0008]域名解析代理模塊,用以為所述的域名解析報文選擇對應的域名解析服務器的地址和網絡接口;
[0009]數個域名解析服務器,各個所述的域名解析服務器用以接收所述的域名解析代理模塊通過所對應的網絡接口發送的所對應的域名解析報文;
[0010]所述的域名解析代理模塊包括:
[0011]報文源端口,用以接收所述的業務報文發送模塊發送的域名解析報文;
[0012]索引節點查詢單元,用以查詢所述的報文源端口的對應套接字的索引節點;
[0013]索引節點對比單元,用以判斷所述的索引節點是否被操作系統的業務使用;
[0014]服務器選擇發送單元,用以根據所述的索引節點對比單元的判斷結果選擇對應的域名解析服務器的地址和網絡接口且通過所對應的網絡接口發送所述的域名解析報文至所對應的域名解析服務器。
[0015]該實現業務與域名解析服務器綁定的系統中,所述的實現業務與域名解析服務器綁定的系統基于Linux或Unix操作環境。
[0016]該實現業務與域名解析服務器綁定的系統中,所述的域名解析代理模塊為開源的域名解析代理模塊dproxy-nexgen。
[0017]本發明還提供一種實現業務與域名解析服務器綁定的方法,該方法包括以下步驟:
[0018](I)所述的業務報文發送端產生業務的域名解析報文并發送至所述的域名解析代理模塊的報文源端口;
[0019](2)所述的報文源端口接收所述的業務報文發送端發送的域名解析報文;
[0020](3)所述的索引節點查詢單元查詢所述的報文源端口的對應套接字的索引節點;
[0021](4)所述的索引節點對比單元判斷所述的索引節點是否被操作系統的業務使用;
[0022](5)所述的服務器選擇發送單元根據所述的索引節點對比單元的判斷結果選擇對應的域名解析服務器的地址和網絡接口;
[0023](6)所述的服務器選擇發送單元通過所對應的網絡接口發送域名解析報文至所對應的域名解析服務器。
[0024]該實現業務與域名解析服務器綁定的方法中,所述的索引節點查詢單元查詢所述的報文源端口的對應套接字的索引節點,具體為:
[0025]所述的業務報文發送端響應所述的業務報文發送模塊發送的內部業務進程或外部域名解析請求。
[0026]該實現業務與域名解析服務器綁定的方法中,所述的索引節點查詢單元查詢所述的報文源端口的對應套接字的索引節點,具體為:
[0027]所述的索引節點查詢單元通過查詢PROC文件系統下的/proc/net/udp文件得到所述的報文源端口的對應套接字的索引節點。
[0028]該實現業務與域名解析服務器綁定的方法中,所述的索引節點對比單元判斷所述的索引節點是否被操作系統的業務使用,具體為:
[0029]所述的索引節點對比單元通過對比所述的索引節點和操作系統中域名解析配置文件所列的業務進程是否匹配來判斷是否有業務使用所述的索引節點。
[0030]該實現業務與域名解析服務器綁定的方法中,所述的服務器選擇發送單元根據所述的索引節點對比單元的判斷結果選擇對應的域名解析服務器的地址和網絡接口,包括以下步驟:
[0031](51)所述的服務器選擇發送單元判斷所述的索引節點對比單元的判斷結果,如果所述的判斷結果為所述的索引節點被操作系統的業務使用,則繼續步驟(52),否則繼續步驟(53);
[0032](52)所述的服務器選擇發送單元選擇所述的索引節點對應的業務的域名解析服務器的地址和網絡接口;
[0033](53)所述的服務器選擇發送單元選擇系統默認的域名解析服務器的地址和網絡接口。
[0034]采用了實現業務與域名解析服務器綁定的系統及方法,開發者不需要了解系統本身的域名解析服務流程,僅需要對域名解析代理模塊的程序進行簡單擴展,代碼量小,操作簡單,結構清晰,大大縮減了開發時間,避免了開發者必須根據每個域名解析報文添加添域名解析庫和域名解析函數實現根據不同業務選擇對應域名解析服務器及網絡接口的技術問題,若操作系統中沒包含域名解析代理模塊,也能到網上下載并進行簡單修改域名解析代理模塊的程序,再安裝到操作系統中,就能實現業務和域名解析服務器綁定的功能,經過大量驗證發現,無論操作系統及網絡環境如何復雜,本發明都能正常工作,由于程序易于移植且便于擴展業務和對應的域名解析服務器的綁定,提高了效率,有利于系統后期維護,具有更廣泛的應用范圍。
【專利附圖】
【附圖說明】
[0035]圖1為本發明的實現業務與域名解析服務器綁定的系統的結構框圖。
[0036]圖2為本發明的實現業務與域名解析服務器綁定的方法的流程圖。
[0037]圖3為本發明的實現業務與域名解析服務器綁定的系統及方法的proc/net/udp文件實例。
【具體實施方式】
[0038]為了能夠更清楚地描述本發明的技術內容,下面結合具體實施例來進行進一步的描述。
[0039]請參閱圖1所示,本發明的實現業務與域名解析服務器綁定的系統的結構框圖。
[0040]在一種實施方式中,本發明的實現業務與域名解析服務器綁定的系統包括業務報文發送模塊、域名解析代理模塊和數個域名解析服務器。
[0041]域名解析代理模塊,用以為所述的域名解析報文選擇對應的域名解析服務器的地址和網絡接口;
[0042]數個域名解析服務器,各個所述的域名解析服務器用以接收所述的域名解析代理模塊通過所對應的網絡接口發送的所對應的域名解析報文;
[0043]所述的域名解析代理模塊包括:
[0044]報文源端口,用以接收所述的業務報文發送模塊發送的域名解析報文;
[0045]索引節點查詢單元,用以查詢所述的報文源端口的對應套接字的inode (索引節點);
[0046]索引節點對比單元,用以判斷所述的索引節點是否被操作系統的業務使用;
[0047]服務器選擇發送單元,用以根據所述的索引節點對比單元的判斷結果選擇對應的域名解析服務器的地址和網絡接口且通過所對應的網絡接口發送所述的域名解析報文至所對應的域名解析服務器。
[0048]在一種優選的實施方式中,所述的實現業務與域名解析服務器綁定的系統是基于Linux或Unix操作環境,所述的域名解析代理模塊為開源的域名解析代理模塊dproxy-nexgen,該域名解析代理模塊為由C語言開發的DNS (Domain Name System,域名系統)代理服務。
[0049]本發明還提供了一種實現業務與域名解析服務器綁定的方法,如圖2所示,包括以下步驟:[0050](I)所述的業務報文發送端產生業務的域名解析報文并發送至所述的域名解析代理模塊的報文源端口;
[0051](2)所述的報文源端口接收所述的業務報文發送端發送的域名解析報文;
[0052](3)所述的索引節點查詢單元查詢所述的報文源端口的對應套接字的索引節點;
[0053](4)所述的索引節點對比單元判斷所述的索引節點是否被操作系統的業務使用;
[0054](5)所述的服務器選擇發送單元根據所述的索引節點對比單元的判斷結果選擇對應的域名解析服務器的地址和網絡接口;
[0055](6)所述的服務器選擇發送單元通過所對應的網絡接口發送域名解析報文至所對應的域名解析服務器。
[0056]在實現業務與域名解析服務器綁定的方法中,所述的服務器選擇發送單元根據所述的索引節點對比單元的判斷結果選擇對應的域名解析服務器的地址和網絡接口,包括以下步驟:
[0057](51)所述的服務器選擇發送單元判斷所述的索引節點對比單元的判斷結果,如果所述的判斷結果為所述的索引節點被操作系統的業務使用,則繼續步驟(52),否則繼續步驟(53);
[0058](52)所述的服務器選擇發送單元選擇所述的索引節點對應的業務的域名解析服務器和網絡接口;
[0059](53)所述的服務器選擇發送單元選擇系統默認的域名解析服務器和網絡接口。
[0060]在一種優選的實施方式中,所述的業務報文發送端響應所述的業務報文發送模塊發送的內部業務進程或外部域名解析請求,所述的索引節點查詢單元通過查詢PROC文件系統下的/proc/net/udp文件得到所述的報文源端口的對應套接字的索引節點,所述的索引節點對比單元通過對比所述的索引節點和操作系統中域名解析配置文件所列的業務進程是否匹配來判斷是否有業務使用所述的索引節點。
[0061]下面對實現業務與域名解析服務器綁定的系統及方法進行簡單的代碼說明:
[0062](I) dproxy配置文件示例:
[0063]ppp1.2,;202.96.209.6,211.167.97.67,;
[0064]ppp0.1, ;8.8.8.8, 210.22.70.3, ;tr69c, sntp,
[0065]第一個分號前為對應的網絡接口,第二個分號前為域名解析服務器組,后面為對應的業務進程名稱。
[0066](2)/proc/net/udp文件實例如圖3所示。
[0067](3)主函數的程序代碼如下所示,其功能在于檢查通過報文源端口獲取到的索引節點是否與配置文件中的業務相匹配:
[0068]
【權利要求】
1.一種實現業務與域名解析服務器綁定的系統,其特征在于,所述的系統包括: 業務報文發送模塊,用以產生業務的域名解析報文并發送至域名解析代理模塊的報文源端口 ; 域名解析代理模塊,用以為所述的域名解析報文選擇對應的域名解析服務器的地址和網絡接口 ; 數個域名解析服務器,各個所述的域名解析服務器用以接收所述的域名解析代理模塊通過所對應的網絡接口發送的所對應的域名解析報文; 所述的域名解析代理模塊包括: 報文源端口,用以接收所述的業務報文發送模塊發送的域名解析報文; 索引節點查詢單元,用以查詢所述的報文源端口的對應套接字的索引節點; 索引節點對比單元,用以判斷所述的索引節點是否被操作系統的業務使用; 服務器選擇發送單元,用以根據所述的索引節點對比單元的判斷結果選擇對應的域名解析服務器的地址和網絡接口且通過所對應的網絡接口發送所述的域名解析報文至所對應的域名解析服務器。
2.根據權利要求1所述的實現業務與域名解析服務器綁定的系統,其特征在于,所述的實現業務與域名解析服務器綁定的系統基于Linux或Unix操作環境。
3.根據權利要求1所述的實現業務與域名解析服務器綁定的系統,其特征在于,所述的域名解析代理模塊為開源的域名解析代理模塊dproxy-nexgen。
4.一種基于權利要求1至3中任一項所述的系統實現業務與域名解析服務器統綁定的方法,其特征在于,所述的方法包括以下步驟: (1)所述的業務報文發送端產生業務的域名解析報文并發送至所述的域名解析代理模塊的報文源端口; (2)所述的報文源端口接收所述的業務報文發送端發送的域名解析報文; (3)所述的索引節點查詢單元查詢所述的報文源端口的對應套接字的索引節點; (4)所述的索引節點對比單元判斷所述的索引節點是否被操作系統的業務使用; (5)所述的服務器選擇發送單元根據所述的索引節點對比單元的判斷結果選擇對應的域名解析服務器的地址和網絡接口; (6)所述的服務器選擇發送單元通過所對應的網絡接口發送域名解析報文至所對應的域名解析服務器。
5.根據權利要求4所述的實現業務與域名解析服務器綁定的方法,其特征在于,所述的報文源端口接收所述的業務報文發送端發送的域名解析報文,具體為: 所述的業務報文發送端響應所述的業務報文發送模塊發送的內部業務進程或外部域名解析請求。
6.根據權利要求4所述的實現業務與域名解析服務器綁定的方法,其特征在于,所述的索引節點查詢單元查詢所述的報文源端口的對應套接字的索引節點,具體為: 所述的索引節 點查詢單元通過查詢PROC文件系統下的/proc/net/udp文件得到所述的報文源端口的對應套接字的索引節點。
7.根據權利要求4所述的實現業務與域名解析服務器綁定的方法,其特征在于,所述的索引節點對比單元判斷所述的索引節點是否被操作系統的業務使用,具體為:所述的索引節點對比單元通過對比所述的索引節點和操作系統中域名解析配置文件所列的業務進程是否匹配來判斷是否有業務使用所述的索引節點。
8.根據權利要求4所述的實現業務與域名解析服務器綁定的方法,其特征在于,所述的服務器選擇發送單元根據所述的索引節點對比單元的判斷結果選擇對應的域名解析服務器的地址和網絡接口,包括以下步驟: (51)所述的服務器選擇發送單元判斷所述的索引節點對比單元的判斷結果,如果所述的判斷結果為所述的索引節點被操作系統的業務使用,則繼續步驟(52),否則繼續步驟(53); (52)所述的服務器選擇發送單元選擇所述的索引節點對應的業務的域名解析服務器的地址和網絡接口; (53)所述的服務器選擇發送單元選擇系統默認的域名解析服務器的地址和網絡接口。
【文檔編號】H04L29/12GK103929508SQ201410184363
【公開日】2014年7月16日 申請日期:2014年5月4日 優先權日:2014年5月4日
【發明者】朱偉風, 周泓澤, 徐正偉 申請人:上海大亞科技有限公司