本申請涉及計算機技術(shù),特別涉及一種配置數(shù)據(jù)讀取方法和裝置。
背景技術(shù):
:一般互聯(lián)網(wǎng)應(yīng)用發(fā)布的過程中存在代碼驗證環(huán)節(jié),即先嘗試將最新的應(yīng)用代碼發(fā)布到集群的部分機器上,進(jìn)行內(nèi)部測試驗證代碼;待驗證完畢后再將最新代碼發(fā)布到其他機器。在驗證代碼的過程中可能使用到配置數(shù)據(jù),配置數(shù)據(jù)例如可以是應(yīng)用代碼執(zhí)行中的關(guān)鍵性參數(shù),配置數(shù)據(jù)存儲在配置數(shù)據(jù)庫中,代碼所在的服務(wù)器可以由配置數(shù)據(jù)庫中讀取待驗證的應(yīng)用代碼需要的配置數(shù)據(jù),來執(zhí)行代碼的驗證。而由于上述存在部分服務(wù)器執(zhí)行代碼驗證的需求,對應(yīng)的配置數(shù)據(jù)也需要發(fā)布到部分服務(wù)器而并非集群全部服務(wù)器上,這種區(qū)分服務(wù)器來發(fā)布配置數(shù)據(jù)的情況可以稱為配置數(shù)據(jù)的隔離。相關(guān)技術(shù)中,為了實現(xiàn)配置數(shù)據(jù)的隔離,可以通過向部分服務(wù)器定向發(fā)送指令的方式,只向需要發(fā)布配置數(shù)據(jù)的服務(wù)器發(fā)送指令以指示服務(wù)器讀取新配置數(shù)據(jù),未接收到指令的機器仍然使用老配置。這種方案在大部分情況下工作很好,但是仍然可能出現(xiàn)在新配置剛更新到配置數(shù)據(jù)庫之后,部分服務(wù)器有可能由于某些原因(如內(nèi)存溢出)需要重啟,那么這些重啟的服務(wù)器即使未接收到指令也會讀取到最新的配置數(shù)據(jù)。而這有可能導(dǎo)致這些為在線用戶提供服務(wù)的服務(wù)器展示未被驗證的功能,更嚴(yán)重的是有些配置修改可能導(dǎo)致老代碼無法工作產(chǎn)生不可預(yù)期的結(jié)果,直接影響在線用戶的體驗。技術(shù)實現(xiàn)要素:有鑒于此,本申請?zhí)峁┮环N配置數(shù)據(jù)讀取方法和裝置,以提高配置數(shù)據(jù)隔離的可靠性。具體地,本申請是通過如下技術(shù)方案實現(xiàn)的:第一方面,提供一種配置數(shù)據(jù)讀取方法,所述方法用于讀取配置數(shù)據(jù)庫中的配置數(shù)據(jù);所述方法包括:獲取所在服務(wù)器的標(biāo)識;由所述配置數(shù)據(jù)庫中讀取分組數(shù)據(jù),所述分組數(shù)據(jù)用于表示將各服務(wù)器進(jìn)行分組后的服務(wù)器組,并根據(jù)所述分組數(shù)據(jù)確定與所述服務(wù)器的標(biāo)識對應(yīng)的服務(wù)器組;由所述配置數(shù)據(jù)庫中讀取應(yīng)用配置數(shù)據(jù),所述應(yīng)用配置數(shù)據(jù)用于表示分別與各個服務(wù)器組對應(yīng)的配置數(shù)據(jù),并根據(jù)所述應(yīng)用配置數(shù)據(jù)確定與所述服務(wù)器組對應(yīng)的配置數(shù)據(jù)。第二方面,提供一種配置數(shù)據(jù)讀取裝置,包括:標(biāo)識獲取模塊,用于獲取所在服務(wù)器的標(biāo)識;分組識別模塊,用于由所述配置數(shù)據(jù)庫中讀取分組數(shù)據(jù),所述分組數(shù)據(jù)用于表示將各服務(wù)器進(jìn)行分組后的服務(wù)器組,并根據(jù)所述分組數(shù)據(jù)確定與所述服務(wù)器的標(biāo)識對應(yīng)的服務(wù)器組;數(shù)據(jù)讀取模塊,用于由所述配置數(shù)據(jù)庫中讀取應(yīng)用配置數(shù)據(jù),所述應(yīng)用配置數(shù)據(jù)用于表示分別與各個服務(wù)器組對應(yīng)的配置數(shù)據(jù),并根據(jù)所述應(yīng)用配置數(shù)據(jù)確定與所述服務(wù)器組對應(yīng)的配置數(shù)據(jù)。本申請?zhí)峁┑呐渲脭?shù)據(jù)讀取方法和裝置,通過獲取服務(wù)器所在的服務(wù)器組,并獲取該服務(wù)器組對應(yīng)的配置數(shù)據(jù)作為服務(wù)器應(yīng)用的配置數(shù)據(jù),這種方式能夠保證讀取到的配置數(shù)據(jù)是該服務(wù)器應(yīng)該使用的配置數(shù)據(jù),避免出現(xiàn)配置數(shù)據(jù)與服務(wù)器不對應(yīng)的情況,從而提高了配置數(shù)據(jù)隔離的可靠性。附圖說明圖1是本申請一示例性實施例示出的一種應(yīng)用于互聯(lián)網(wǎng)應(yīng)用的測試驗證的網(wǎng)絡(luò)系統(tǒng);圖2是本申請一示例性實施例示出的一種配置數(shù)據(jù)讀取方法的流程圖;圖3是本申請一示例性實施例示出的另一種配置數(shù)據(jù)讀取方法的流程圖;圖4是本申請一示例性實施例示出的一種配置數(shù)據(jù)讀取裝置的結(jié)構(gòu)圖。具體實施方式這里將詳細(xì)地對示例性實施例進(jìn)行說明,其示例表示在附圖中。下面的描述涉及附圖時,除非另有表示,不同附圖中的相同數(shù)字表示相同或相似的要素。以下示例性實施例中所描述的實施方式并不代表與本申請相一致的所有實施方式。相反,它們僅是與如所附權(quán)利要求書中所詳述的、本申請的一些方面相一致的裝置和方法的例子。圖1示例了一個可以應(yīng)用于互聯(lián)網(wǎng)應(yīng)用的測試驗證的網(wǎng)絡(luò)系統(tǒng),該系統(tǒng)可以包括服務(wù)器集群,圖1示例了集群中的三個服務(wù)器,包括:服務(wù)器A、服務(wù)器B和服務(wù)器C;該系統(tǒng)還可以包括配置數(shù)據(jù)庫,用于存儲配置數(shù)據(jù)。結(jié)合圖1說明配置數(shù)據(jù)的讀取:以互聯(lián)網(wǎng)應(yīng)用的測試為例,當(dāng)一個應(yīng)用增加了新的功能時,需要對該新功能對應(yīng)的新應(yīng)用代碼進(jìn)行驗證后才能發(fā)布(例如,驗證是否出錯)。而在驗證過程中執(zhí)行應(yīng)用代碼時,可能使用到配置數(shù)據(jù),配置數(shù)據(jù)可以是在執(zhí)行應(yīng)用代碼限定的功能時相關(guān)的一些關(guān)鍵參數(shù),例如,在應(yīng)用執(zhí)行時界面顯示“Hello”,或者,設(shè)置最高轉(zhuǎn)賬限額為3萬,那么這些“Hello”、3萬都可以稱為配置數(shù)據(jù),存儲在配置數(shù)據(jù)庫中,由新應(yīng)用代碼執(zhí)行時讀取,進(jìn)而實現(xiàn)代碼對應(yīng)的應(yīng)用功能。當(dāng)然,即使在非測試階段,應(yīng)用也可以由配置數(shù)據(jù)庫讀取配置數(shù)據(jù),以實現(xiàn)應(yīng)用功能。而在應(yīng)用測試中,可能會遇到配置數(shù)據(jù)的隔離,即不同服務(wù)器需要讀取的配置數(shù)據(jù)不同。例如,在圖1中,假設(shè)待驗證的新代碼設(shè)置在服務(wù)器A和 服務(wù)器B,而服務(wù)器C上仍然為老代碼;當(dāng)前在配置數(shù)據(jù)庫中,已經(jīng)存儲有新代碼要使用的配置數(shù)據(jù),例如為“HelloWorld”,這個新的配置數(shù)據(jù)只需要由新代碼執(zhí)行讀取,老代碼在執(zhí)行時仍然讀取舊的配置數(shù)據(jù)“Hello”。那么,本申請的配置數(shù)據(jù)讀取方法,將描述服務(wù)器如何讀取配置數(shù)據(jù),才能保證各個服務(wù)器能夠準(zhǔn)確讀取到其所需要的配置數(shù)據(jù),不會出現(xiàn)配置數(shù)據(jù)讀取錯誤(例如,服務(wù)器C的老代碼讀取了新配置數(shù)據(jù)),詳見下述的方案:繼續(xù)參見圖1,本申請為了提高配置數(shù)據(jù)隔離的準(zhǔn)確性,在各個服務(wù)器中都設(shè)置了“配置客戶端”,由配置客戶端為所在的服務(wù)器讀取配置數(shù)據(jù)庫中的配置數(shù)據(jù),而應(yīng)用代碼只要讀取配置客戶端讀取的配置數(shù)據(jù)即可。配置客戶端執(zhí)行的配置數(shù)據(jù)讀取方法可以參見圖2示例,包括:201、獲取所在服務(wù)器的標(biāo)識;202、由所述配置數(shù)據(jù)庫中讀取分組數(shù)據(jù),所述分組數(shù)據(jù)用于表示將各服務(wù)器進(jìn)行分組后的服務(wù)器組,并根據(jù)所述分組數(shù)據(jù)確定與所述服務(wù)器的標(biāo)識對應(yīng)的服務(wù)器組;203、由所述配置數(shù)據(jù)庫中讀取應(yīng)用配置數(shù)據(jù),所述應(yīng)用配置數(shù)據(jù)用于表示分別與各個服務(wù)器組對應(yīng)的配置數(shù)據(jù),并根據(jù)所述應(yīng)用配置數(shù)據(jù)確定與所述服務(wù)器組對應(yīng)的配置數(shù)據(jù)。本申請實施例中,配置客戶端可在讀取服務(wù)器對應(yīng)的配置數(shù)據(jù)后,基于獲取到的新的配置數(shù)據(jù)對服務(wù)器上原有的配置數(shù)據(jù)進(jìn)行更新,以使得服務(wù)器可基于更新后的配置數(shù)據(jù)進(jìn)行相應(yīng)的操作。在上述圖2的流程中,配置客戶端讀取的應(yīng)用代碼要使用的配置數(shù)據(jù),在配置數(shù)據(jù)庫中的存儲結(jié)構(gòu)已經(jīng)與傳統(tǒng)方式有所不同,而是對應(yīng)于本申請的配置數(shù)據(jù)讀取方法,提供了新的配置數(shù)據(jù)存儲結(jié)構(gòu)。因此,為了對上述的配置客戶端執(zhí)行的方法描述更加清楚,首先說明配置數(shù)據(jù)庫中如何存儲應(yīng)用要讀取的配置數(shù)據(jù)。如下的表1,示例了分組數(shù)據(jù):表1分組數(shù)據(jù)Host_groupHost_listprioritybeta[‘host1’,‘host2’]0prod[‘host.*’]1結(jié)合圖1,上述的分組數(shù)據(jù),可以用于將集群中的各個服務(wù)器進(jìn)行分組。舉例如下:假設(shè)驗證的新應(yīng)用代碼設(shè)置在服務(wù)器A和服務(wù)器B上,并且新應(yīng)用代碼使用的配置數(shù)據(jù)也做了更改,例如由“Hello”改成“HelloWorld”,那么新配置數(shù)據(jù)需要由服務(wù)器A和服務(wù)器B讀取,而服務(wù)器C不應(yīng)讀取。據(jù)此,可以將服務(wù)器A和服務(wù)器B分成一組,而服務(wù)器C在另一個組中。也就是說,本例子中的分組數(shù)據(jù),在為服務(wù)器分組時,分組依據(jù)可以是:將能夠讀取同一配置數(shù)據(jù)的各個服務(wù)器劃分在同一服務(wù)器組中。在表1中,host_group表示服務(wù)器組的組名,例如,beta表示在應(yīng)用代碼發(fā)布前需要測試的服務(wù)器組,即該組中的服務(wù)器上要部署待測試的代碼;而prod可以表示生產(chǎn)環(huán)境的服務(wù)器集群,即應(yīng)用正常使用時的部署服務(wù)器,當(dāng)然該集群中可以包含beta的服務(wù)器,因為測試服務(wù)器可以是由集群中選擇的部分服務(wù)器。而host_list可以用于表示host_group這個服務(wù)器組中包括的成員,即包括哪些服務(wù)器,例如表1中的host1、host2。需要說明的是,在表示服務(wù)器時,可以用服務(wù)器的主機名hostname,例如上述的host2;也可以使用服務(wù)器的IP地址等其他能夠表示服務(wù)器的標(biāo)識,只要該服務(wù)器標(biāo)識能被配置客戶端獲取到即可。在本申請后續(xù)的例子中,均是以服務(wù)器的主機名為例來描述。有時服務(wù)器組中包括的成員的數(shù)量可能很多,比如,可能包括上百臺的服務(wù)器,如果一一指定成員名(例如,host1、host2),可能容易出錯且工作量大,可以采用正則匹配的方式來表示,如表1中的[‘host.*’]就可以表示所有以host開頭的服務(wù)器都可以分到服務(wù)器組prod中。對于表1中的priority字段,并不是在每次配置數(shù)據(jù)讀取中都使用到,后續(xù)在對讀取方法描述時再進(jìn)行說明。此外,表1是以表格的方式描述了分組數(shù)據(jù)的記錄方式,本實施例并不對分組數(shù)據(jù)的格式進(jìn)行限制,只要能表述各個服務(wù)器組與組成員的對應(yīng)關(guān)系即可。如下的表2,示例了應(yīng)用配置數(shù)據(jù):表2應(yīng)用配置數(shù)據(jù)idconfig_nameconfig_valueHost_group1configKey1Helloprod2configKey2.....prod3configKey1HelloWorldbeta如上表2,應(yīng)用配置數(shù)據(jù)是應(yīng)用代碼在執(zhí)行時使用到的參數(shù),比如,上述的“Hello”、“HelloWorld”都可以是代碼在執(zhí)行時要使用到的參數(shù)。本例子中,可以將對應(yīng)每一個id的應(yīng)用配置數(shù)據(jù)稱為配置數(shù)據(jù),比如在表2中,對應(yīng)id=1的“configKey1,Hello”為一個配置數(shù)據(jù),對應(yīng)id=3的“configKey1,HelloWorld”為另一個配置數(shù)據(jù)。本例子中將每個配置數(shù)據(jù),都對應(yīng)關(guān)聯(lián)一個服務(wù)器組,即與表1中的服務(wù)器組對應(yīng),例如,id=3的配置數(shù)據(jù)的數(shù)據(jù)如果要被beta組中的服務(wù)器讀取,則可以在表2中將該數(shù)據(jù)項對應(yīng)beta。應(yīng)用配置項與服務(wù)器組的對應(yīng)關(guān)系,用于表示這個應(yīng)用配置項中的數(shù)據(jù)可以被對應(yīng)的服務(wù)器組中的各個服務(wù)器成員讀取。在上述介紹表1和表2的基礎(chǔ)上,對圖2的流程繼續(xù)說明:在步驟201中,配置客戶端可以獲取所在服務(wù)器的標(biāo)識。例如,客戶端可以通過服務(wù)器的操作系統(tǒng)提供的接口,獲取到服務(wù)器的IP地址,hostname等服務(wù)器標(biāo)識。在得到服務(wù)器標(biāo)識后,配置客戶端可以在步驟202中,首先讀取配置數(shù)據(jù)庫中的分組數(shù)據(jù),由分組數(shù)據(jù)中得到與服務(wù)器標(biāo)識對應(yīng)的服務(wù)器組。例如,在分組數(shù)據(jù)中,各個服務(wù)器組的組成員,可以是用服務(wù)器標(biāo)識表示或者某種表達(dá)式表示,如表1示例的,可以將[‘host1’,‘host2’]稱為一個服務(wù)器列表項,這個列表項中包括各個組成員。配置客戶端可以對比各個服務(wù)器列表項,查找包括自己所在的服務(wù)器的標(biāo)識的服務(wù)器列表項,將與該服務(wù)器列表項對應(yīng)的服務(wù)器組,作為與服務(wù)器標(biāo)識對應(yīng)的服務(wù)器組。比如,如果配置客戶端所在的服務(wù)器是host3,那么客戶端可以得到[‘host.*’]這個服務(wù)器列表項包括自己所在的服務(wù)器標(biāo)識,則自己所在服務(wù)器屬于prod服務(wù)器組。在步驟203中,配置客戶端再讀取配置數(shù)據(jù)庫中的應(yīng)用配置數(shù)據(jù),讀取與在202中得到的服務(wù)器組對應(yīng)的配置數(shù)據(jù),該配置數(shù)據(jù)即客戶端所在的服務(wù)器上的應(yīng)用代碼需要使用的配置數(shù)據(jù)。例如,假設(shè)配置客戶端確定的服務(wù)器組為beta,在表2中,與beta對應(yīng)的配置數(shù)據(jù)為“configKey1,HelloWorld”,包括應(yīng)用代碼執(zhí)行中使用的參數(shù)HelloWorld。由上述例子可以看到,如果要將新的配置數(shù)據(jù)發(fā)布到集群中的部分服務(wù)器上,只要在配置數(shù)據(jù)庫進(jìn)行設(shè)置,比如,將上述的待發(fā)布至的部分服務(wù)器組成一個新的服務(wù)器組,并將新配置數(shù)據(jù)關(guān)聯(lián)到該新服務(wù)器組即可,這樣服務(wù)器自己在讀取配置數(shù)據(jù)時,將按照圖2的流程,自動找到屬于自己的配置數(shù)據(jù);而不應(yīng)該讀取新配置數(shù)據(jù)的老代碼服務(wù)器,由于其所對應(yīng)的服務(wù)器組并未關(guān)聯(lián)新配置數(shù)據(jù),也不會讀取到新配置數(shù)據(jù)。因此,這種方式大大提高了配置數(shù)據(jù)隔離的準(zhǔn)確性,不論服務(wù)器何時讀取配置數(shù)據(jù),都可以按需索取。在另一個例子中,配置客戶端由分組數(shù)據(jù)中讀取到的與所在服務(wù)器標(biāo)識對應(yīng)的服務(wù)器組的數(shù)量可以為至少兩個,例如,以服務(wù)器host1為例,結(jié)合表1的示例,host1屬于服務(wù)器組beta的成員,同時也屬于服務(wù)器組prod的成員。這種情況下,配置客戶端可以根據(jù)表1中的優(yōu)先級priority來確定自己對應(yīng)的服務(wù)器組。參見表1,每個服務(wù)器組都有各自對應(yīng)的優(yōu)先級,beta的優(yōu)先級是0,prod的優(yōu)先級是1,假設(shè)隨著數(shù)字從小到大表示組的優(yōu)先級遞減,那么客戶端可以選擇優(yōu)先級0對應(yīng)的beta組作為自己所屬的服務(wù)器組。如下以一個驗證應(yīng)用代碼的例子,說明如何使用本申請的配置數(shù)據(jù)讀取方法為該應(yīng)用代碼讀取配置數(shù)據(jù)。在進(jìn)行驗證時,假設(shè)結(jié)合表2的應(yīng)用配置數(shù)據(jù),將原來的舊代碼使用的配置數(shù)據(jù)“configKey1=Hello”修改為“configKey1=HelloWorld”,讓驗證的新代碼使用新配置數(shù)據(jù)HelloWorld,并且可以是設(shè)定先在表1的beta組中的服務(wù)器上進(jìn)行驗證(即,新代碼配置在beta組中),待驗證通過后再將新配置數(shù)據(jù)更新到所有服務(wù)器,即prod服務(wù)器。為了實現(xiàn)上述的驗證,首先,可以由管理員對配置數(shù)據(jù)庫進(jìn)行數(shù)據(jù)操作,對配置數(shù)據(jù)庫的操作包括如下兩方面:一方面,在分組數(shù)據(jù)中,設(shè)定想要進(jìn)行代碼驗證的服務(wù)器,例如,設(shè)定在服務(wù)器host1和host2上進(jìn)行代碼驗證,那么可以在分組數(shù)據(jù)中創(chuàng)建一個服務(wù)器組,該服務(wù)器組命名為beta,組成員包括host1和host2,如表1所示。并且,由于host1和host2同時也屬于prod組,為了使得客戶端在讀取時確定自己對應(yīng)的服務(wù)器組,表1中還包括了優(yōu)先級,beta的優(yōu)先級更高。另一方面,在應(yīng)用配置數(shù)據(jù)中,舊配置數(shù)據(jù)“configKey1=Hello”先不進(jìn)行刪除,而是另外增加一條新配置數(shù)據(jù)id=3“configKey1=HelloWorld”,將這條新配置數(shù)據(jù)對應(yīng)關(guān)聯(lián)上服務(wù)器組beta,即該新配置數(shù)據(jù)設(shè)定為可以由服務(wù)器組beta中的成員服務(wù)器讀取。在進(jìn)行上述的配置數(shù)據(jù)庫修改后,再由各個服務(wù)器上的配置客戶端進(jìn)行配置數(shù)據(jù)的讀取,例如,可以是服務(wù)器定時讀取,或者由服務(wù)器再接收到管理設(shè)備的通知指示時進(jìn)行讀取。讀取方法可以包括:301、客戶端獲取所在服務(wù)器的標(biāo)識;例如,服務(wù)器標(biāo)識可以是服務(wù)器的IP地址,或者主機名等。假設(shè)本例子中客戶端獲取的自己所在服務(wù)器的標(biāo)識是host1。302、客戶端由配置數(shù)據(jù)庫中的分組數(shù)據(jù)中,獲取與服務(wù)器的標(biāo)識對應(yīng)的服務(wù)器組;例如,客戶端可以查找表1中的服務(wù)器列表項,并將包括自己所在服務(wù)器標(biāo)識的列表項對應(yīng)的服務(wù)器組,作為自己所屬的服務(wù)器組。在表1中,host 1既位于列表項[‘host1’,‘host2’]中,也位于列表項[‘host.*’]中。303、客戶端判斷服務(wù)器標(biāo)識對應(yīng)的服務(wù)器組的數(shù)量是否為一個;例如,本例子中,客戶端所在的服務(wù)器host1,該標(biāo)識對應(yīng)的服務(wù)器組包括beta和prod,即對應(yīng)的服務(wù)器組的數(shù)量為兩個,那么繼續(xù)執(zhí)行305;否則,如果是一個,可以繼續(xù)執(zhí)行304。304、客戶端將服務(wù)器標(biāo)識對應(yīng)的服務(wù)器組作為所屬服務(wù)器組;305、客戶端根據(jù)各個服務(wù)器組分別對應(yīng)的優(yōu)先級,選擇優(yōu)先級最高的服務(wù)器組為與服務(wù)器的標(biāo)識對應(yīng)的服務(wù)器組;例如,host1對應(yīng)的服務(wù)器組包括beta和prod,但是beta的優(yōu)先級更高,則客戶端可以將服務(wù)器組beta作為自己所屬的服務(wù)器組。306、客戶端根據(jù)所屬服務(wù)器組,讀取應(yīng)用配置數(shù)據(jù)中與所述服務(wù)器組對應(yīng)的配置數(shù)據(jù)。例如,客戶端可以讀取表2中與服務(wù)器組beta對應(yīng)的配置數(shù)據(jù),即id=3的新配置數(shù)據(jù)HelloWorld。在配置客戶端讀取了配置數(shù)據(jù)后,服務(wù)器上的應(yīng)用代碼根據(jù)該配置數(shù)據(jù)進(jìn)行代碼驗證。在驗證通過后,管理員可以再次修改配置數(shù)據(jù)庫,例如,刪除表2中id=1的舊配置數(shù)據(jù),并將id=3的新配置數(shù)據(jù)關(guān)聯(lián)的服務(wù)器組,由beta修改為prod,然后通知各個服務(wù)器刷新配置數(shù)據(jù),即重新讀取數(shù)據(jù)即可。在重新讀取數(shù)據(jù)時,仍然按照圖3所示的方法,此時所有的服務(wù)器都可以讀到新的配置數(shù)據(jù)HelloWorld。此外,上述例子的配置數(shù)據(jù)讀取方法,能夠使得配置數(shù)據(jù)的回滾也較為簡單,比如,假設(shè)經(jīng)過上述的代碼驗證發(fā)現(xiàn)驗證未通過,也不能使用新配置數(shù)據(jù),那么管理員可以將表2中新增的id=3的配置數(shù)據(jù)項刪除,然后通知所有服務(wù)器重新讀取一次,那么服務(wù)器將讀取到舊的配置數(shù)據(jù)。在圖1中,由配置數(shù)據(jù)庫和服務(wù)器上的配置客戶端構(gòu)成的系統(tǒng)可以稱為配置數(shù)據(jù)讀取系統(tǒng),其中,為了使得配置客戶端執(zhí)行上述的配置數(shù)據(jù)讀取方法,本申請可以提供一種配置數(shù)據(jù)讀取裝置,該裝置可以設(shè)置在配置客戶端。 如圖4所示,配置數(shù)據(jù)讀取裝置可以包括:標(biāo)識獲取模塊41、分組識別模塊42和數(shù)據(jù)讀取模塊43;其中,標(biāo)識獲取模塊41,用于獲取所在服務(wù)器的標(biāo)識;例如,服務(wù)器的標(biāo)識,包括:服務(wù)器的IP地址,或者服務(wù)器的主機名。分組識別模塊42,用于由所述配置數(shù)據(jù)庫中讀取分組數(shù)據(jù),所述分組數(shù)據(jù)用于表示將各服務(wù)器進(jìn)行分組后的服務(wù)器組,并根據(jù)所述分組數(shù)據(jù)確定與所述服務(wù)器的標(biāo)識對應(yīng)的服務(wù)器組;數(shù)據(jù)讀取模塊43,用于由所述配置數(shù)據(jù)庫中讀取應(yīng)用配置數(shù)據(jù),所述應(yīng)用配置數(shù)據(jù)用于表示分別與各個服務(wù)器組對應(yīng)的配置數(shù)據(jù),并根據(jù)所述應(yīng)用配置數(shù)據(jù)確定與所述服務(wù)器組對應(yīng)的配置數(shù)據(jù)。進(jìn)一步的,分組識別模塊42,用于由所述分組數(shù)據(jù)中查找包括所述服務(wù)器的標(biāo)識的服務(wù)器列表項;將與所述服務(wù)器列表項對應(yīng)的服務(wù)器組,作為與所述服務(wù)器的標(biāo)識對應(yīng)的服務(wù)器組。進(jìn)一步的,分組識別模塊42,還用于當(dāng)與所述服務(wù)器標(biāo)識對應(yīng)的服務(wù)器組的數(shù)量為至少兩個時,根據(jù)各個服務(wù)器分別對應(yīng)的優(yōu)先級,選擇優(yōu)先級最高的服務(wù)器組為與服務(wù)器的標(biāo)識對應(yīng)的服務(wù)器組。以上所述僅為本申請的較佳實施例而已,并不用以限制本申請,凡在本申請的精神和原則之內(nèi),所做的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本申請保護的范圍之內(nèi)。當(dāng)前第1頁1 2 3