本發(fā)明涉及域名注冊技術(shù),尤其涉及一種域名注冊方法、裝置和系統(tǒng)。
背景技術(shù):
通用頂級域(Generic top-level domain,gTLD)是供一些特定組織使用的頂級域,擴展供應(yīng)協(xié)議(Extensible Provisioning Protocol,EPP)是域名注冊商開展gTLD業(yè)務(wù)的標準通信協(xié)議,注冊商一般情況下通過EPP客戶端與注冊局進行域名交易。
目前gTLD領(lǐng)域比較通行的EPP注冊技術(shù)方案是:注冊商通過EPP客戶端向注冊局的EPP服務(wù)器發(fā)送EPP注冊交易請求,EPP服務(wù)器接收到EPP注冊交易請求后,依次進行業(yè)務(wù)規(guī)則判定、費用清算、數(shù)據(jù)持久化處理,然后再處理下一筆EPP注冊交易請求。
現(xiàn)有的這種EPP注冊技術(shù)方案中,單筆交易處理鏈很長,單筆交易響應(yīng)時間較長,極大限制了EPP注冊交易的吞吐量(即單位時間內(nèi)處理EPP注冊交易的數(shù)量)。
技術(shù)實現(xiàn)要素:
針對現(xiàn)有技術(shù)的上述缺陷,本發(fā)明提供一種域名注冊方法、裝置和系統(tǒng),用于提高EPP注冊交易的吞吐量。
本發(fā)明實施例提供一種域名注冊方法,包括:
接收注冊用戶通過擴展供應(yīng)協(xié)議EPP客戶端發(fā)送的EPP注冊交易請求;
判斷EPP注冊交易請求是否符合預(yù)設(shè)的注冊交易規(guī)則;
若EPP注冊交易請求符合預(yù)設(shè)的注冊交易規(guī)則,則向EPP客戶端返回注冊交易成功報文,并將EPP注冊交易請求存放在一消息隊列中;
對消息隊列中的EPP注冊交易請求進行費用清算處理和數(shù)據(jù)持久化處理。
在本發(fā)明的一實施例中,對消息隊列中的EPP注冊交易請求進行費用清算處理和數(shù)據(jù)持久化處理,具體包括:
按入隊順序遍歷消息隊列,對消息隊列中的EPP注冊交易請求進行費用清算處理;并且,
按入隊順序遍歷消息隊列,對消息隊列中的EPP注冊交易請求進行數(shù)據(jù)持久化處理。
在本發(fā)明的一實施例中,若EPP注冊交易請求符合預(yù)設(shè)的注冊交易規(guī)則,方法還包括:將EPP注冊交易請求中的域名名稱作為數(shù)據(jù)庫表的主鍵值存入數(shù)據(jù)庫中。
在本發(fā)明的一實施例中,消息隊列采用數(shù)據(jù)庫方式存儲。
本發(fā)明實施例提供一種域名注冊裝置,包括:
接收模塊,用于接收注冊用戶通過擴展供應(yīng)協(xié)議EPP客戶端發(fā)送的EPP注冊交易請求;
判斷模塊,用于判斷EPP注冊交易請求是否符合預(yù)設(shè)的注冊交易規(guī)則;若EPP注冊交易請求符合預(yù)設(shè)的注冊交易規(guī)則,則向EPP客戶端返回注冊交易成功報文,并將EPP注冊交易請求存放在一消息隊列中;
處理模塊,用于對消息隊列中的EPP注冊交易請求進行費用清算處理和數(shù)據(jù)持久化處理。
在本發(fā)明的一實施例中,處理模塊,具體包括:
費用清算處理單元,用于按入隊順序遍歷消息隊列,對消息隊列中的EPP注冊交易請求進行費用清算處理;
數(shù)據(jù)持久化處理單元,用于按入隊順序遍歷消息隊列,對消息隊列中的EPP注冊交易請求進行數(shù)據(jù)持久化處理。
在本發(fā)明的一實施例中,判斷模塊,還用于若EPP注冊交易請求符合預(yù)設(shè)的注冊交易規(guī)則,則將EPP注冊交易請求中的域名名稱作為數(shù)據(jù)庫表的主鍵值存入數(shù)據(jù)庫中。
在本發(fā)明的一實施例中,消息隊列采用數(shù)據(jù)庫方式存儲。
本發(fā)明實施例提供一種域名注冊系統(tǒng),包括擴展供應(yīng)協(xié)議EPP客戶端和上述域名注冊裝置。
本實施例提供的域名注冊方法,EPP服務(wù)器接收到EPP注冊交易請求之 后,若EPP注冊交易請求符合預(yù)設(shè)的注冊交易規(guī)則,則直接向EPP客戶端返回注冊交易成功報文,并將EPP注冊交易請求存放在消息隊列,對消息隊列中的消息異步進行費用清算處理和數(shù)據(jù)持久化處理,從而EPP服務(wù)器在對EPP注冊交易請求進行業(yè)務(wù)規(guī)則判定之后,不需要等待EPP注冊交易請求的費用清算處理和數(shù)據(jù)持久化處理都執(zhí)行完,就可以處理下一筆EPP注冊交易請求,單筆交易響應(yīng)時間明顯縮短,有效的提高了EPP注冊交易的吞吐量。
附圖說明
圖1為本發(fā)明提供的域名注冊方法實施例一的流程示意圖;
圖2為本發(fā)明提供的域名注冊方法實施例二的流程示意圖;
圖3為本發(fā)明提供的域名注冊裝置實施例一的結(jié)構(gòu)示意圖;
圖4為本發(fā)明提供的域名注冊裝置實施例二的結(jié)構(gòu)示意圖;
圖5為本發(fā)明提供的域名注冊系統(tǒng)的結(jié)構(gòu)示意圖。
附圖標記說明:
10-接收模塊; 20-判斷模塊;
30-處理模塊;
31-費用清算處理單元; 32-數(shù)據(jù)持久化處理單元;
100-EPP客戶端; 200-域名注冊裝置。
具體實施方式
為使本發(fā)明實施例的目的、技術(shù)方案和優(yōu)點更加清楚,下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。
本發(fā)明實施例提供的方法、裝置和系統(tǒng),旨在解決現(xiàn)有技術(shù)中EPP注冊交易吞吐量低的技術(shù)問題。
下面以具體地實施例對本發(fā)明的技術(shù)方案進行詳細說明。下面這幾個具體的實施例可以相互結(jié)合,對于相同或相似的概念或過程可能在某些實施例不再贅述。
圖1為本發(fā)明提供的域名注冊方法實施例一的流程示意圖,該方法的執(zhí)行主體可以為域名注冊裝置,該裝置可以集成在EPP服務(wù)器上。如圖1所示,本實施例的方法包括:
步驟S101、接收注冊用戶通過EPP客戶端發(fā)送的EPP注冊交易請求。
具體的,注冊用戶通過EPP客戶端發(fā)送的EPP注冊交易請求包括域名注冊相關(guān)的各種注冊數(shù)據(jù),例如:域名名稱、主機記錄、注冊人、域名的各種聯(lián)系人記錄(如財務(wù)聯(lián)系人、技術(shù)聯(lián)系人、管理聯(lián)系人等)、域名服務(wù)器(Name Server,NS)記錄、使用年限、域名密碼等。
步驟S102、判斷EPP注冊交易請求是否符合預(yù)設(shè)的注冊交易規(guī)則。
EPP服務(wù)器接收到EPP注冊交易請求后,對EPP注冊交易請求進行業(yè)務(wù)規(guī)則判定,判斷EPP注冊交易請求是否符合預(yù)設(shè)的注冊交易規(guī)則,若不符合,則可以向EPP客戶端返回一個注冊交易失敗報文,告知注冊用戶該注冊交易失敗。
具體的,判斷EPP注冊交易請求是否符合預(yù)設(shè)的注冊交易規(guī)則可以包括:判斷域名是否已被注冊、引用對象(如主機、聯(lián)系人等)是否存在、費用是否不足等。
步驟S103、若EPP注冊交易請求符合預(yù)設(shè)的注冊交易規(guī)則,則向EPP客戶端返回注冊交易成功報文,并將EPP注冊交易請求存放在一消息隊列中。
具體的,若EPP注冊交易請求符合預(yù)設(shè)的注冊交易規(guī)則,EPP服務(wù)器可以向EPP客戶端返回一個注冊交易成功報文,告知注冊用戶該注冊交易已成功;并且將EPP注冊交易請求存放在一消息隊列中。此時,EPP服務(wù)器可以繼續(xù)處理下一筆的EPP注冊交易請求,進行步驟S102中的業(yè)務(wù)規(guī)則判定,若判定結(jié)果為符合注冊交易規(guī)則,則按順序?qū)⒃揈PP注冊交易請求存放在上述消息隊列中;然后繼續(xù)處理下下一筆EPP注冊交易請求。其中,消息隊列可以采用數(shù)據(jù)庫方式存儲,也可以采用本地文件方式存儲。
步驟S104、對消息隊列中的EPP注冊交易請求進行費用清算處理和數(shù)據(jù)持久化處理。
具體的,EPP服務(wù)器可以遍歷消息隊列中的消息(即EPP注冊交易請求),對于每一條消息依次進行費用清算處理和數(shù)據(jù)持久化處理;也可以是EPP服務(wù)器中的費用清算處理程序和數(shù)據(jù)持久化處理程序分別遍歷消息隊列 中的消息,各自處理各自當(dāng)前讀取的消息,即費用清算處理模塊和數(shù)據(jù)持久化處理模塊之間互為獨立運行。
其中,費用清算處理具體可以包括:扣費、退費、生成費用流水等;數(shù)據(jù)持久化處理主要是將域名注冊相關(guān)的數(shù)據(jù)永久存入數(shù)據(jù)庫中,域名注冊相關(guān)的數(shù)據(jù)具體包括:EPP注冊交易請求中注冊數(shù)據(jù)(例如域名名稱、主機記錄、聯(lián)系人記錄等)、域名狀態(tài)數(shù)據(jù)、域名交易日志數(shù)據(jù)、域名消息數(shù)據(jù)等。
現(xiàn)有技術(shù)中EPP服務(wù)器接收到EPP注冊交易請求后,依次進行業(yè)務(wù)規(guī)則判定、費用清算、數(shù)據(jù)持久化處理,然后再處理下一筆的EPP注冊交易請求。本實施例中,EPP服務(wù)器接收到EPP注冊交易請求后,若EPP注冊交易請求符合預(yù)設(shè)的注冊交易規(guī)則,則直接向EPP客戶端返回注冊交易成功報文,并將EPP注冊交易請求存放在消息隊列,對消息隊列中的消息異步進行費用清算處理和數(shù)據(jù)持久化處理,因此,EPP服務(wù)器對一筆EPP注冊交易請求進行業(yè)務(wù)規(guī)則判定之后,就可以處理處理下一筆EPP注冊交易請求,不需要等待一筆EPP注冊交易請求的整個業(yè)務(wù)邏輯處理(即依次進行業(yè)務(wù)規(guī)則判定、費用清算和數(shù)據(jù)持久化處理)都執(zhí)行完,從而單筆交易響應(yīng)時間明顯縮短,有效的提高了EPP注冊交易的吞吐量。
本實施例提供的域名注冊方法,EPP服務(wù)器接收到EPP注冊交易請求之后,若EPP注冊交易請求符合預(yù)設(shè)的注冊交易規(guī)則,則直接向EPP客戶端返回注冊交易成功報文,并將EPP注冊交易請求存放在消息隊列,對消息隊列中的消息異步進行費用清算處理和數(shù)據(jù)持久化處理,從而EPP服務(wù)器在對EPP注冊交易請求進行業(yè)務(wù)規(guī)則判定之后,不需要等待EPP注冊交易請求的費用清算處理和數(shù)據(jù)持久化處理都執(zhí)行完,就可以處理下一筆EPP注冊交易請求,單筆交易響應(yīng)時間明顯縮短,有效的提高了EPP注冊交易的吞吐量。
圖2為本發(fā)明提供的域名注冊方法實施例二的流程示意圖,本實施例是上述圖1所示實施例中步驟S104的一種具體的實現(xiàn)方式,在上述圖1所示實施例的基礎(chǔ)上,如圖2所示,步驟S104對消息隊列中的EPP注冊交易請求進行費用清算處理和數(shù)據(jù)持久化處理,具體包括:
步驟S201、按入隊順序遍歷消息隊列,對消息隊列中的EPP注冊交易請求進行費用清算處理。
具體的,在處理一筆EPP注冊交易請求時,業(yè)務(wù)規(guī)則判定所需的時間最短,數(shù)據(jù)持久化所需的時間最長,EPP服務(wù)器按順序?qū)⑦M行業(yè)務(wù)規(guī)則判定后的EPP注冊交易請求放入消息隊列中,消息隊列中按處理的先后順序存有多條EPP注冊交易請求消息,EPP服務(wù)器中按入隊順序遍歷消息隊列,以保證先入隊的消息先被處理。
EPP服務(wù)器中的費用清算程序依次讀取消息隊列中的EPP注冊交易請求,根據(jù)EPP注冊交易請求中的域名名稱、使用年限等信息進行扣費或退費處理,同時生成費用流水記錄。
步驟S202、按入隊順序遍歷消息隊列,對消息隊列中的EPP注冊交易請求進行數(shù)據(jù)持久化處理。
在進行費用清算處理的同時,EPP服務(wù)器中的數(shù)據(jù)持久化處理也可以按入隊順序遍歷消息隊列,對消息隊列中的EPP注冊交易請求進行數(shù)據(jù)持久化處理,將與域名注冊相關(guān)的數(shù)據(jù)永久存入數(shù)據(jù)庫中。費用清算處理和數(shù)據(jù)持久化處理互為獨立運行,當(dāng)前進行費用清算處理的EPP注冊交易請求和當(dāng)前進行數(shù)據(jù)持久化處理的EPP注冊交易請求可能是同一筆EPP注冊交易請求,也可能是不同的EPP注冊交易請求。
需要說明的是,步驟S201和步驟S202之間沒有嚴格的時序關(guān)系,步驟S201可以與步驟S202同時執(zhí)行。
本實施例中,作為一種可能的實施方式,若EPP注冊交易請求符合預(yù)設(shè)的注冊交易規(guī)則,還可以將EPP注冊交易請求中的域名名稱作為數(shù)據(jù)庫表的主鍵值存入數(shù)據(jù)庫中,以數(shù)據(jù)庫表主鍵的唯一性來約束注冊對象(即注冊的域名名稱)不可以被重復(fù)注冊。具體的,EPP服務(wù)器可以建立一張數(shù)據(jù)庫表,并將該數(shù)據(jù)庫表的主鍵設(shè)置為域名名稱,當(dāng)處理的EPP注冊交易請求符合預(yù)設(shè)的注冊交易規(guī)則時,則將該EPP注冊交易請求中的域名名稱作為一個主鍵值存入數(shù)據(jù)庫中;當(dāng)EPP服務(wù)器對新一筆的EPP注冊交易請求進行業(yè)務(wù)規(guī)則判定時,可以根據(jù)該數(shù)據(jù)庫表來判斷域名是否已被注冊。
可選的,本實施例中,消息隊列可以采用數(shù)據(jù)庫方式存儲,利用數(shù)據(jù)庫的高可靠性,保證消息數(shù)據(jù)(即EPP注冊交易請求)只要進行了保存,就不會丟失,從而保證了EPP客戶端接收到EPP服務(wù)器返回的注冊交易成功報文后,EPP注冊交易請求必然會經(jīng)過費用清算處理和數(shù)據(jù)持久化處理,也就是 說EPP注冊交易請求均會經(jīng)過完整的業(yè)務(wù)邏輯處理,保證了數(shù)據(jù)強一致性。
本實施例提供的域名注冊方法,EPP服務(wù)器按入隊順序遍歷消息隊列,對消息隊列中的EPP注冊交易請求進行費用清算處理的同時,按入隊順序遍歷消息隊列,對消息隊列中的EPP注冊交易請求進行數(shù)據(jù)持久化處理,費用清算處理和數(shù)據(jù)持久化處理兩個處理流程可以獨立運行,從而可以有效的減少EPP服務(wù)器完成一筆EPP注冊交易請求的處理時間,提高了處理效率。
圖3為本發(fā)明提供的域名注冊裝置實施例一的結(jié)構(gòu)示意圖,本實施例的域名注冊裝置可以集成在EPP服務(wù)器上。如圖3所示,本實施例中的域名注冊裝置,包括:接收模塊10、判斷模塊20和處理模塊30,其中:
接收模塊10,用于接收注冊用戶通過EPP客戶端發(fā)送的EPP注冊交易請求;
判斷模塊20,用于判斷EPP注冊交易請求是否符合預(yù)設(shè)的注冊交易規(guī)則;若EPP注冊交易請求符合預(yù)設(shè)的注冊交易規(guī)則,則向EPP客戶端返回注冊交易成功報文,并將EPP注冊交易請求存放在一消息隊列中;
處理模塊30,用于對消息隊列中的EPP注冊交易請求進行費用清算處理和數(shù)據(jù)持久化處理。
本實施例提供的域名注冊裝置,可以執(zhí)行上述方法實施例,其實現(xiàn)原理和技術(shù)效果類似,此處不再贅述。
圖4為本發(fā)明提供的域名注冊裝置實施例二的結(jié)構(gòu)示意圖,本實施例是對上述圖3所示實施例中處理模塊30的進一步功能細化,如圖3所示,本實施例中,處理模塊30具體包括:費用清算處理單元31和數(shù)據(jù)持久化處理單元32,其中:
費用清算處理單元31,用于按入隊順序遍歷消息隊列,對消息隊列中的EPP注冊交易請求進行費用清算處理;
數(shù)據(jù)持久化處理單元32,用于按入隊順序遍歷消息隊列,對消息隊列中的EPP注冊交易請求進行數(shù)據(jù)持久化處理。
可選的,本實施例中,判斷模塊20,還用于若EPP注冊交易請求符合預(yù)設(shè)的注冊交易規(guī)則,則將EPP注冊交易請求中的域名名稱作為數(shù)據(jù)庫表的主 鍵值存入數(shù)據(jù)庫中。
可選的,本實施例中,消息隊列采用數(shù)據(jù)庫方式存儲。
本實施例提供的域名注冊裝置,可以執(zhí)行上述方法實施例,其實現(xiàn)原理和技術(shù)效果類似,此處不再贅述。
圖5為本發(fā)明提供的域名注冊系統(tǒng)的結(jié)構(gòu)示意圖,如圖5所示,本實施例中的域名注冊系統(tǒng)包括:擴展供應(yīng)協(xié)議EPP客戶端100和域名注冊裝置200,其中,域名注冊裝置200可以采用上述圖3和圖4所示的任一實施例所述的結(jié)構(gòu),EPP客戶端100和域名注冊裝置200之間可以進行如圖1和圖2所示的任一方法實施例所述的技術(shù)方案,其實現(xiàn)原理和技術(shù)效果類似,此處不再贅述。
最后應(yīng)說明的是:以上各實施例僅用以說明本發(fā)明的技術(shù)方案,而非對其限制;盡管參照前述各實施例對本發(fā)明進行了詳細的說明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解:其依然可以對前述各實施例所記載的技術(shù)方案進行修改,或者對其中部分或者全部技術(shù)特征進行等同替換;而這些修改或者替換,并不使相應(yīng)技術(shù)方案的本質(zhì)脫離本發(fā)明各實施例技術(shù)方案的范圍。