欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種服務(wù)發(fā)現(xiàn)的處理方法及裝置與流程

文檔序號(hào):12865988閱讀:169來(lái)源:國(guó)知局
一種服務(wù)發(fā)現(xiàn)的處理方法及裝置與流程

本發(fā)明涉及通信領(lǐng)域,特別涉及一種服務(wù)發(fā)現(xiàn)的處理方法及裝置。



背景技術(shù):

分布式服務(wù)系統(tǒng)就是將服務(wù)系統(tǒng)的功能拆分,將各個(gè)功能放在幾臺(tái)獨(dú)立的計(jì)算機(jī)上,通過(guò)這幾臺(tái)計(jì)算機(jī)之間的相互協(xié)作,來(lái)完成整個(gè)系統(tǒng)的功能。在這里,拆分的功能模塊通常指的就是服務(wù)。

采用分布式系統(tǒng),最大的優(yōu)點(diǎn)表現(xiàn)在系統(tǒng)的處理速度上。分布式服務(wù)系統(tǒng)另外的優(yōu)點(diǎn)還在于功能模塊分開(kāi),便于管理、維護(hù)和更新。然而,隨著移動(dòng)互聯(lián)網(wǎng)的發(fā)展,網(wǎng)站應(yīng)用規(guī)模的不斷擴(kuò)大,業(yè)務(wù)量和業(yè)務(wù)類型日趨復(fù)雜多樣,同一個(gè)業(yè)務(wù)類型的服務(wù)可能由多個(gè)服務(wù)提供端提供。同時(shí),業(yè)務(wù)之間服務(wù)的查找發(fā)現(xiàn)調(diào)用也日趨頻繁,提供一種高效穩(wěn)定的服務(wù)發(fā)現(xiàn)機(jī)制在大型的服務(wù)系統(tǒng)中也就顯得相當(dāng)重要了。

為了能找到滿足用戶需求的服務(wù),現(xiàn)有的服務(wù)發(fā)現(xiàn)機(jī)制包括以下幾個(gè)部分:

服務(wù)注冊(cè)中心:主要負(fù)責(zé)服務(wù)的管理和監(jiān)控服務(wù)的狀態(tài)。

服務(wù)提供端:主要負(fù)責(zé)通過(guò)服務(wù)端代理模塊向服務(wù)注冊(cè)中心注冊(cè)服務(wù)和發(fā)布服務(wù)。

服務(wù)消費(fèi)端:主要負(fù)責(zé)通過(guò)消費(fèi)端代理模塊向服務(wù)注冊(cè)中心查找所需要的服務(wù)。

首先服務(wù)提供端向服務(wù)注冊(cè)中心注冊(cè)自己提供的服務(wù)信息,然后服務(wù)消費(fèi)端向服務(wù)注冊(cè)中心查詢服務(wù)的信息列表,接著服務(wù)注冊(cè)中心返回服務(wù)提供者地址列表給服務(wù)消費(fèi)端,最后服務(wù)消費(fèi)端從返回的服務(wù)提供端地址列表中,選擇其中一臺(tái)服務(wù)提供端,并與其建立鏈接進(jìn)行服務(wù)調(diào)用。

上述服務(wù)發(fā)現(xiàn)實(shí)現(xiàn)方案中,在某些應(yīng)用場(chǎng)景下可能存在以下問(wèn)題:

服務(wù)消費(fèi)端獲取服務(wù)發(fā)生調(diào)用后,如果該服務(wù)在服務(wù)注冊(cè)中心的服務(wù)信息 及狀態(tài)有更新,只有再次獲取服務(wù),服務(wù)消費(fèi)端才能得到最新的服務(wù)提供者信息列表,否則服務(wù)提供者地址列表會(huì)存在更新不及時(shí)的情況。比如,某個(gè)服務(wù)在服務(wù)注冊(cè)中心的狀態(tài)已不可用,如果服務(wù)消費(fèi)端沒(méi)有更新本地緩存中的服務(wù)提供者地址列表,調(diào)用的仍可能是原來(lái)的服務(wù),這時(shí)就會(huì)造成服務(wù)調(diào)用失敗。



技術(shù)實(shí)現(xiàn)要素:

本發(fā)明要解決的技術(shù)問(wèn)題是提供一種服務(wù)發(fā)現(xiàn)的處理方法及裝置,解決現(xiàn)有服務(wù)發(fā)現(xiàn)機(jī)制存在的服務(wù)提供者地址列表更新不及時(shí)的問(wèn)題。

為解決上述技術(shù)問(wèn)題,本發(fā)明的實(shí)施例提供一種服務(wù)發(fā)現(xiàn)的處理方法,包括:

按照預(yù)設(shè)時(shí)間間隔,定時(shí)獲取已查詢的第一服務(wù)名信息;

根據(jù)所述第一服務(wù)名信息向服務(wù)注冊(cè)中心發(fā)送第一服務(wù)查詢請(qǐng)求,并接收所述服務(wù)注冊(cè)中心根據(jù)所述第一服務(wù)查詢請(qǐng)求返回的,與所述第一服務(wù)名信息對(duì)應(yīng)的服務(wù)提供者信息;

根據(jù)所述服務(wù)注冊(cè)中心返回的服務(wù)提供者信息,對(duì)本地存儲(chǔ)的與所述第一服務(wù)名信息對(duì)應(yīng)的服務(wù)提供者信息進(jìn)行更新。

其中,所述本地存儲(chǔ)的與所述第一服務(wù)名信息對(duì)應(yīng)的服務(wù)提供者信息包括:預(yù)先存儲(chǔ)在本地緩存中的與所述第一服務(wù)名信息對(duì)應(yīng)的服務(wù)提供者信息;

所述處理方法還包括:將所述本地緩存中存儲(chǔ)的與所述第一服務(wù)名信息對(duì)應(yīng)的服務(wù)提供者信息備份到本地內(nèi)存文件中;

所述根據(jù)所述服務(wù)注冊(cè)中心返回的服務(wù)提供者信息,對(duì)本地存儲(chǔ)的與所述第一服務(wù)名信息對(duì)應(yīng)的服務(wù)提供者信息進(jìn)行更新的步驟包括:

根據(jù)所述服務(wù)注冊(cè)中心返回的服務(wù)提供者信息,對(duì)所述本地緩存以及所述本地內(nèi)存文件中存儲(chǔ)的與所述第一服務(wù)名信息對(duì)應(yīng)的服務(wù)提供者信息進(jìn)行更新。

其中,所述處理方法還包括:

接收服務(wù)調(diào)用請(qǐng)求后,根據(jù)所述服務(wù)調(diào)用請(qǐng)求包含的第二服務(wù)名信息,在本地查詢與所述第二服務(wù)名信息對(duì)應(yīng)的服務(wù)提供者信息;

若在本地查詢到與所述第二服務(wù)名信息對(duì)應(yīng)的服務(wù)提供者信息,則從本地獲取與所述第二服務(wù)名信息對(duì)應(yīng)的服務(wù)提供者信息;

若在本地中沒(méi)有查詢到與所述第二服務(wù)名信息對(duì)應(yīng)的服務(wù)提供者信息,則根據(jù)所述第二服務(wù)名信息,向所述服務(wù)注冊(cè)中心發(fā)送第二服務(wù)查詢請(qǐng)求,接收所述服務(wù)注冊(cè)中心根據(jù)所述第二服務(wù)查詢請(qǐng)求返回的,與所述第二服務(wù)名信息對(duì)應(yīng)的服務(wù)提供者信息;

將從本地獲取的或者所述服務(wù)注冊(cè)中心返回的,與所述第二服務(wù)名信息對(duì)應(yīng)的服務(wù)提供者信息返回給用戶。

其中,所述若在本地中沒(méi)有查詢到與所述第二服務(wù)名信息對(duì)應(yīng)的服務(wù)提供者信息,則根據(jù)所述第二服務(wù)名信息,向所述服務(wù)注冊(cè)中心發(fā)送第二服務(wù)查詢請(qǐng)求之后,所述處理方法還包括:

判斷所述服務(wù)調(diào)用請(qǐng)求所調(diào)用的服務(wù)鏈接類型是否為長(zhǎng)鏈接,得到第一判斷結(jié)果;

若所述第一判斷結(jié)果為是,則使所述服務(wù)注冊(cè)中心根據(jù)所述第二服務(wù)查詢請(qǐng)求以及預(yù)設(shè)負(fù)載均衡策略,獲取與所述第二服務(wù)名信息對(duì)應(yīng)的一個(gè)服務(wù)提供者信息并返回;

若所述第一判斷結(jié)果為否,則使所述服務(wù)注冊(cè)中心根據(jù)所述第二服務(wù)查詢請(qǐng)求,獲取與所述第二服務(wù)名信息對(duì)應(yīng)的服務(wù)提供者信息列表并返回,其中所述服務(wù)提供者信息列表包括多個(gè)服務(wù)提供者信息。

其中,所述從本地獲取的或者所述服務(wù)注冊(cè)中心返回的,與所述第二服務(wù)名信息對(duì)應(yīng)的服務(wù)提供者信息包括:與所述第二服務(wù)名信息對(duì)應(yīng)的一個(gè)服務(wù)提供者信息或者與所述第二服務(wù)名信息對(duì)應(yīng)的服務(wù)提供者信息列表,其中所述服務(wù)提供者信息列表包括多個(gè)服務(wù)提供者信息;

所述將從本地獲取的或者所述服務(wù)注冊(cè)中心返回的,與所述第二服務(wù)名信息對(duì)應(yīng)的服務(wù)提供者信息返回給用戶的步驟包括:

判斷所述服務(wù)調(diào)用請(qǐng)求所調(diào)用的服務(wù)鏈接類型是否為長(zhǎng)鏈接,得到第二判斷結(jié)果;

若所述第二判斷結(jié)果為是,則將從本地獲取的或者所述服務(wù)注冊(cè)中心返回的,與所述第二服務(wù)名信息對(duì)應(yīng)的一個(gè)服務(wù)提供者信息返回給用戶;

若所述第二判斷結(jié)果為否,則根據(jù)預(yù)設(shè)負(fù)載均衡策略,在從本地獲取的或者所述服務(wù)注冊(cè)中心返回的,與所述第二服務(wù)名信息對(duì)應(yīng)的服務(wù)提供者信息列表中獲取一個(gè)服務(wù)提供者信息并返回給用戶。

為解決上述技術(shù)問(wèn)題,本發(fā)明的實(shí)施例還提供一種服務(wù)發(fā)現(xiàn)的處理裝置,包括:

第一獲取模塊,用于按照預(yù)設(shè)時(shí)間間隔,定時(shí)獲取已查詢的第一服務(wù)名信息;

第一接收模塊,用于根據(jù)所述第一服務(wù)名信息向服務(wù)注冊(cè)中心發(fā)送第一服務(wù)查詢請(qǐng)求,并接收所述服務(wù)注冊(cè)中心根據(jù)所述第一服務(wù)查詢請(qǐng)求返回的,與所述第一服務(wù)名信息對(duì)應(yīng)的服務(wù)提供者信息;

更新模塊,用于根據(jù)所述服務(wù)注冊(cè)中心返回的服務(wù)提供者信息,對(duì)本地存儲(chǔ)的與所述第一服務(wù)名信息對(duì)應(yīng)的服務(wù)提供者信息進(jìn)行更新。

其中,所述本地存儲(chǔ)的與所述第一服務(wù)名信息對(duì)應(yīng)的服務(wù)提供者信息包括:預(yù)先存儲(chǔ)在本地緩存中的與所述第一服務(wù)名信息對(duì)應(yīng)的服務(wù)提供者信息;

所述處理裝置還包括:

備份模塊,用于將所述本地緩存中存儲(chǔ)的與所述第一服務(wù)名信息對(duì)應(yīng)的服務(wù)提供者信息備份到本地內(nèi)存文件中;

所述更新模塊包括:

更新單元,用于根據(jù)所述服務(wù)注冊(cè)中心返回的服務(wù)提供者信息,對(duì)所述本地緩存以及所述本地內(nèi)存文件中存儲(chǔ)的與所述第一服務(wù)名信息對(duì)應(yīng)的服務(wù)提供者信息進(jìn)行更新。

其中,所述處理裝置還包括:

查詢模塊,用于接收服務(wù)調(diào)用請(qǐng)求后,根據(jù)所述服務(wù)調(diào)用請(qǐng)求包含的第二服務(wù)名信息,在本地查詢與所述第二服務(wù)名信息對(duì)應(yīng)的服務(wù)提供者信息;

第二獲取模塊,用于若在本地查詢到與所述第二服務(wù)名信息對(duì)應(yīng)的服務(wù)提供者信息,則從本地獲取與所述第二服務(wù)名信息對(duì)應(yīng)的服務(wù)提供者信息;

第二接收模塊,用于若在本地中沒(méi)有查詢到與所述第二服務(wù)名信息對(duì)應(yīng)的服務(wù)提供者信息,則根據(jù)所述第二服務(wù)名信息,向所述服務(wù)注冊(cè)中心發(fā)送第二服務(wù)查詢請(qǐng)求,接收所述服務(wù)注冊(cè)中心根據(jù)所述第二服務(wù)查詢請(qǐng)求返回的,與 所述第二服務(wù)名信息對(duì)應(yīng)的服務(wù)提供者信息;

返回模塊,用于將從本地獲取的或者所述服務(wù)注冊(cè)中心返回的,與所述第二服務(wù)名信息對(duì)應(yīng)的服務(wù)提供者信息返回給用戶。

其中,所述處理裝置還包括:

判斷模塊,用于判斷所述服務(wù)調(diào)用請(qǐng)求所調(diào)用的服務(wù)鏈接類型是否為長(zhǎng)鏈接,得到第一判斷結(jié)果;

第一執(zhí)行模塊,用于若所述第一判斷結(jié)果為是,則使所述服務(wù)注冊(cè)中心根據(jù)所述第二服務(wù)查詢請(qǐng)求以及預(yù)設(shè)負(fù)載均衡策略,獲取與所述第二服務(wù)名信息對(duì)應(yīng)的一個(gè)服務(wù)提供者信息并返回;

第二執(zhí)行模塊,用于若所述第一判斷結(jié)果為否,則使所述服務(wù)注冊(cè)中心根據(jù)所述第二服務(wù)查詢請(qǐng)求,獲取與所述第二服務(wù)名信息對(duì)應(yīng)的服務(wù)提供者信息列表并返回,其中所述服務(wù)提供者信息列表包括多個(gè)服務(wù)提供者信息。

其中,所述從本地獲取的或者所述服務(wù)注冊(cè)中心返回的,與所述第二服務(wù)名信息對(duì)應(yīng)的服務(wù)提供者信息包括:與所述第二服務(wù)名信息對(duì)應(yīng)的一個(gè)服務(wù)提供者信息或者與所述第二服務(wù)名信息對(duì)應(yīng)的服務(wù)提供者信息列表,其中所述服務(wù)提供者信息列表包括多個(gè)服務(wù)提供者信息;

所述返回模塊包括:

判斷單元,用于判斷所述服務(wù)調(diào)用請(qǐng)求所調(diào)用的服務(wù)鏈接類型是否為長(zhǎng)鏈接,得到第二判斷結(jié)果;

第一返回單元,用于若所述第二判斷結(jié)果為是,則將從本地獲取的或者所述服務(wù)注冊(cè)中心返回的,與所述第二服務(wù)名信息對(duì)應(yīng)的一個(gè)服務(wù)提供者信息返回給用戶;

第二返回單元,用于若所述第二判斷結(jié)果為否,則根據(jù)預(yù)設(shè)負(fù)載均衡策略,在從本地獲取的或者所述服務(wù)注冊(cè)中心返回的,與所述第二服務(wù)名信息對(duì)應(yīng)的服務(wù)提供者信息列表中獲取一個(gè)服務(wù)提供者信息并返回給用戶。

本發(fā)明的上述技術(shù)方案的有益效果如下:

本發(fā)明實(shí)施例的服務(wù)發(fā)現(xiàn)的處理方法,首先按照預(yù)設(shè)時(shí)間間隔,定時(shí)獲取已查詢的第一服務(wù)名信息;然后根據(jù)第一服務(wù)名信息向服務(wù)注冊(cè)中心發(fā)送第一服務(wù)查詢請(qǐng)求,并接收服務(wù)注冊(cè)中心根據(jù)第一服務(wù)查詢請(qǐng)求返回的,與第一服 務(wù)名信息對(duì)應(yīng)的服務(wù)提供者信息;最后根據(jù)服務(wù)注冊(cè)中心返回的服務(wù)提供者信息,對(duì)本地存儲(chǔ)的與第一服務(wù)名信息對(duì)應(yīng)的服務(wù)提供者信息進(jìn)行更新。這樣,當(dāng)服務(wù)注冊(cè)中心的服務(wù)提供者信息有更新時(shí),通過(guò)本發(fā)明的方法能及時(shí)將更新后的服務(wù)提供者信息同步到本地,解決了現(xiàn)有服務(wù)發(fā)現(xiàn)機(jī)制存在的服務(wù)提供者地址列表更新不及時(shí)的問(wèn)題,避免了由于更新不及時(shí)造成的服務(wù)調(diào)用失敗,增強(qiáng)了服務(wù)發(fā)現(xiàn)的有效性。

附圖說(shuō)明

圖1為本發(fā)明服務(wù)發(fā)現(xiàn)的處理方法流程圖;

圖2為本發(fā)明服務(wù)發(fā)現(xiàn)的處理方法一具體實(shí)現(xiàn)流程圖;

圖3為本發(fā)明服務(wù)發(fā)現(xiàn)的處理方法另一具體實(shí)現(xiàn)流程圖;

圖4為本發(fā)明服務(wù)發(fā)現(xiàn)的處理裝置的結(jié)構(gòu)示意圖。

具體實(shí)施方式

為使本發(fā)明要解決的技術(shù)問(wèn)題、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合附圖及具體實(shí)施例進(jìn)行詳細(xì)描述。

如圖1所示,本發(fā)明實(shí)施例的服務(wù)發(fā)現(xiàn)的處理方法,包括:

步驟101,按照預(yù)設(shè)時(shí)間間隔,定時(shí)獲取已查詢的第一服務(wù)名信息;

步驟102,根據(jù)所述第一服務(wù)名信息向服務(wù)注冊(cè)中心發(fā)送第一服務(wù)查詢請(qǐng)求,并接收所述服務(wù)注冊(cè)中心根據(jù)所述第一服務(wù)查詢請(qǐng)求返回的,與所述第一服務(wù)名信息對(duì)應(yīng)的服務(wù)提供者信息;

步驟103,根據(jù)所述服務(wù)注冊(cè)中心返回的服務(wù)提供者信息,對(duì)本地存儲(chǔ)的與所述第一服務(wù)名信息對(duì)應(yīng)的服務(wù)提供者信息進(jìn)行更新。

本發(fā)明實(shí)施例的服務(wù)發(fā)現(xiàn)的處理方法,應(yīng)用于服務(wù)消費(fèi)端,在服務(wù)注冊(cè)中心的服務(wù)提供者信息有更新時(shí),能及時(shí)將更新后的服務(wù)提供者信息同步到服務(wù)消費(fèi)端本地,解決了現(xiàn)有服務(wù)發(fā)現(xiàn)機(jī)制存在的服務(wù)提供者地址列表更新不及時(shí)的問(wèn)題,避免了由于更新不及時(shí)造成的服務(wù)調(diào)用失敗,增強(qiáng)了服務(wù)發(fā)現(xiàn)的有效性。

其中,已查詢的服務(wù)名信息指向服務(wù)注冊(cè)中心查詢服務(wù)后保存在本地的服 務(wù)名信息。

其中,查詢過(guò)的服務(wù)提供者信息一般僅存儲(chǔ)在本地緩存中,服務(wù)提供者信息可包括描述服務(wù)功能的服務(wù)名、服務(wù)提供者的ip地址、端口、服務(wù)路徑、屬性等。

由于服務(wù)提供者信息僅存儲(chǔ)在本地緩存中,因此服務(wù)消費(fèi)端重啟后再次查詢服務(wù)并調(diào)用服務(wù)時(shí),如果服務(wù)注冊(cè)中心已發(fā)生異常或者不可用,比如宕機(jī),則服務(wù)消費(fèi)端將查詢不到服務(wù),從而導(dǎo)致服務(wù)調(diào)用不成功。為避免這種問(wèn)題,優(yōu)選的,所述本地存儲(chǔ)的與所述第一服務(wù)名信息對(duì)應(yīng)的服務(wù)提供者信息包括:預(yù)先存儲(chǔ)在本地緩存中的與所述第一服務(wù)名信息對(duì)應(yīng)的服務(wù)提供者信息;

所述處理方法還可以包括:

步驟104,將所述本地緩存中存儲(chǔ)的與所述第一服務(wù)名信息對(duì)應(yīng)的服務(wù)提供者信息備份到本地內(nèi)存文件中。

這里,當(dāng)服務(wù)注冊(cè)中心發(fā)生異?;蛘卟豢捎脮r(shí),服務(wù)消費(fèi)端重啟后再次調(diào)用服務(wù)時(shí),可以根據(jù)服務(wù)名從本地內(nèi)存文件中獲取服務(wù)提供者信息并加載到本地緩存,保證了服務(wù)調(diào)用的順利進(jìn)行。

此時(shí),通過(guò)將查詢到的服務(wù)提供者信息備份到本地內(nèi)存文件中,解決了服務(wù)注冊(cè)中心異常導(dǎo)致服務(wù)再次調(diào)用失敗的問(wèn)題,增加了服務(wù)發(fā)現(xiàn)的穩(wěn)定性。

進(jìn)一步的,上述步驟103的步驟可以包括:

步驟1031,根據(jù)所述服務(wù)注冊(cè)中心返回的服務(wù)提供者信息,對(duì)所述本地緩存以及所述本地內(nèi)存文件中存儲(chǔ)的與所述第一服務(wù)名信息對(duì)應(yīng)的服務(wù)提供者信息進(jìn)行更新。

此時(shí),通過(guò)對(duì)本地緩存以及本地內(nèi)存文件中的服務(wù)提供者信息及時(shí)進(jìn)行更新,避免了由于更新不及時(shí)造成的服務(wù)調(diào)用失敗,增強(qiáng)了服務(wù)發(fā)現(xiàn)的有效性。

基于上述內(nèi)容,下面對(duì)本發(fā)明實(shí)施例的一具體實(shí)現(xiàn)流程舉例說(shuō)明如下:

如圖2所示,本發(fā)明實(shí)施例的服務(wù)發(fā)現(xiàn)的處理方法,包括:

步驟201,啟動(dòng)定時(shí)更新任務(wù)。

步驟202,按照預(yù)設(shè)時(shí)間間隔,定時(shí)獲取已查詢的第一服務(wù)名信息。

步驟203,根據(jù)第一服務(wù)名信息向服務(wù)注冊(cè)中心發(fā)送第一服務(wù)查詢請(qǐng)求。

步驟204,接收服務(wù)注冊(cè)中心根據(jù)第一服務(wù)查詢請(qǐng)求返回的,與第一服務(wù) 名信息對(duì)應(yīng)的服務(wù)提供者信息。

步驟205,將服務(wù)注冊(cè)中心返回的服務(wù)提供者信息與本地緩存中存儲(chǔ)的服務(wù)提供者信息進(jìn)行對(duì)比,判斷服務(wù)提供者信息是否有更新,如果有更新則跳轉(zhuǎn)至步驟206,否則跳轉(zhuǎn)至步驟207。

步驟206,對(duì)本地緩存以及本地內(nèi)存文件中的服務(wù)提供者信息進(jìn)行更新。

步驟207,判斷定時(shí)更新任務(wù)進(jìn)程是否結(jié)束,如果是則跳轉(zhuǎn)至步驟208,否則,跳轉(zhuǎn)至步驟202。

步驟208,結(jié)束。

通過(guò)上述流程可以看出,本發(fā)明實(shí)施例的服務(wù)發(fā)現(xiàn)的處理方法,在服務(wù)注冊(cè)中心的服務(wù)提供者信息有更新時(shí),能及時(shí)將更新后的服務(wù)提供者信息同步到服務(wù)消費(fèi)端本地,避免了由于更新不及時(shí)造成的服務(wù)調(diào)用失敗,增強(qiáng)了服務(wù)發(fā)現(xiàn)的有效性。且通過(guò)將查詢到的服務(wù)提供者信息備份到本地內(nèi)存文件中,解決了服務(wù)注冊(cè)中心異常導(dǎo)致服務(wù)再次調(diào)用失敗的問(wèn)題,增加了服務(wù)發(fā)現(xiàn)的穩(wěn)定性。

優(yōu)選的,所述處理方法還可以包括:

步驟105,接收服務(wù)調(diào)用請(qǐng)求后,根據(jù)所述服務(wù)調(diào)用請(qǐng)求包含的第二服務(wù)名信息,在本地查詢與所述第二服務(wù)名信息對(duì)應(yīng)的服務(wù)提供者信息。

這里,可在本地內(nèi)存文件中查詢與第二服務(wù)名信息對(duì)應(yīng)的服務(wù)提供者信息。

其中,對(duì)于首次調(diào)用的服務(wù),一般不會(huì)在本地內(nèi)存文件中查詢到對(duì)應(yīng)的服務(wù)名信息。而對(duì)于再次調(diào)用的服務(wù),由于之前已經(jīng)保存并備份,一般可以在本地內(nèi)存文件中查詢到對(duì)應(yīng)的服務(wù)名信息。

步驟106,若在本地查詢到與所述第二服務(wù)名信息對(duì)應(yīng)的服務(wù)提供者信息,則從本地獲取與所述第二服務(wù)名信息對(duì)應(yīng)的服務(wù)提供者信息。

這里,若本地內(nèi)存文件中查詢到與第二服務(wù)名信息對(duì)應(yīng)的服務(wù)提供者信息,則可將本地內(nèi)存文件中的服務(wù)提供者信息加載到本地緩存中,然后直接從本地緩存中取出并通過(guò)后續(xù)步驟返回給用戶。

其中,本地內(nèi)存文件中存儲(chǔ)的服務(wù)提供者信息為經(jīng)上述步驟101-103更新后的信息。

步驟107,若在本地中沒(méi)有查詢到與所述第二服務(wù)名信息對(duì)應(yīng)的服務(wù)提供者信息,則根據(jù)所述第二服務(wù)名信息,向所述服務(wù)注冊(cè)中心發(fā)送第二服務(wù)查詢 請(qǐng)求,接收所述服務(wù)注冊(cè)中心根據(jù)所述第二服務(wù)查詢請(qǐng)求返回的,與所述第二服務(wù)名信息對(duì)應(yīng)的服務(wù)提供者信息。

這里,若在本地內(nèi)存文件沒(méi)有查詢到與第二服務(wù)名信息對(duì)應(yīng)的服務(wù)提供者信息,則需要向服務(wù)注冊(cè)中心查詢獲取。

其中,接收到服務(wù)注冊(cè)中心返回的服務(wù)提供者信息之后,可將接收的服務(wù)提供者信息保存到本地緩存中,并在本地內(nèi)存文件中進(jìn)行備份,以供后續(xù)使用。

步驟108,將從本地獲取的或者所述服務(wù)注冊(cè)中心返回的,與所述第二服務(wù)名信息對(duì)應(yīng)的服務(wù)提供者信息返回給用戶。

這里,通過(guò)將獲取到的與第二服務(wù)名信息對(duì)應(yīng)的服務(wù)提供者信息返回給用戶,方便了用戶對(duì)服務(wù)的調(diào)用。

此時(shí),通過(guò)在本地以及服務(wù)注冊(cè)中心兩側(cè)查詢,增強(qiáng)了服務(wù)調(diào)用的有效性。

其中,同一個(gè)業(yè)務(wù)類型的服務(wù)可能由多個(gè)服務(wù)提供者提供,因此,服務(wù)消費(fèi)端調(diào)用一次服務(wù)可能查詢到多個(gè)服務(wù)提供者信息。為了保證各服務(wù)提供者之間的平衡,一般服務(wù)消費(fèi)端可基于負(fù)載均衡原理選擇一個(gè)服務(wù)提供者。

但若服務(wù)調(diào)用的是基于長(zhǎng)鏈接的服務(wù)應(yīng)用場(chǎng)景,且此時(shí)服務(wù)的負(fù)載均衡由服務(wù)消費(fèi)端側(cè)來(lái)執(zhí)行,這種情況一方面增加了服務(wù)注冊(cè)中心的傳輸負(fù)載,另一方面會(huì)大大降低服務(wù)調(diào)用的執(zhí)行效率。

為避免上述問(wèn)題,優(yōu)選的,上述步驟107中,所述若在本地中沒(méi)有查詢到與所述第二服務(wù)名信息對(duì)應(yīng)的服務(wù)提供者信息,則根據(jù)所述第二服務(wù)名信息,向所述服務(wù)注冊(cè)中心發(fā)送第二服務(wù)查詢請(qǐng)求之后,所述處理方法還可以包括:

步驟109,判斷所述服務(wù)調(diào)用請(qǐng)求所調(diào)用的服務(wù)鏈接類型是否為長(zhǎng)鏈接,得到第一判斷結(jié)果。

步驟1010,若所述第一判斷結(jié)果為是,則使所述服務(wù)注冊(cè)中心根據(jù)所述第二服務(wù)查詢請(qǐng)求以及預(yù)設(shè)負(fù)載均衡策略,獲取與所述第二服務(wù)名信息對(duì)應(yīng)的一個(gè)服務(wù)提供者信息并返回。

這里,對(duì)于長(zhǎng)鏈接服務(wù),可通過(guò)服務(wù)注冊(cè)中心執(zhí)行服務(wù)的負(fù)載均衡,使服務(wù)注冊(cè)中心在多個(gè)服務(wù)提供者中選擇一個(gè)負(fù)載合適的服務(wù)提供者并返回給服務(wù)消費(fèi)端,減少了服務(wù)注冊(cè)中心的傳輸負(fù)載,并提高了服務(wù)調(diào)用的執(zhí)行效率。

步驟1011,若所述第一判斷結(jié)果為否,則使所述服務(wù)注冊(cè)中心根據(jù)所述 第二服務(wù)查詢請(qǐng)求,獲取與所述第二服務(wù)名信息對(duì)應(yīng)的服務(wù)提供者信息列表并返回,其中所述服務(wù)提供者信息列表包括多個(gè)服務(wù)提供者信息。

這里,對(duì)于短鏈接服務(wù),可繼續(xù)通過(guò)服務(wù)消費(fèi)端執(zhí)行服務(wù)的負(fù)載均衡,使服務(wù)注冊(cè)中心將查詢到的多個(gè)服務(wù)提供者信息返回給服務(wù)消費(fèi)端,并通過(guò)服務(wù)消費(fèi)端在多個(gè)服務(wù)提供者中選擇一個(gè)負(fù)載合適的服務(wù)提供者。

此時(shí),根據(jù)服務(wù)是否屬于長(zhǎng)鏈接服務(wù)來(lái)決定服務(wù)的負(fù)載均衡是否由服務(wù)注冊(cè)中心側(cè)來(lái)執(zhí)行,解決了調(diào)用服務(wù)是基于長(zhǎng)鏈接的服務(wù)時(shí)應(yīng)用服務(wù)注冊(cè)中心傳輸負(fù)載開(kāi)銷過(guò)大和服務(wù)調(diào)用效率低下的問(wèn)題,增加了服務(wù)發(fā)現(xiàn)處理的靈活性和有效性。

進(jìn)一步的,所述從本地獲取的或者所述服務(wù)注冊(cè)中心返回的,與所述第二服務(wù)名信息對(duì)應(yīng)的服務(wù)提供者信息包括:與所述第二服務(wù)名信息對(duì)應(yīng)的一個(gè)服務(wù)提供者信息或者與所述第二服務(wù)名信息對(duì)應(yīng)的服務(wù)提供者信息列表,其中所述服務(wù)提供者信息列表包括多個(gè)服務(wù)提供者信息。

這里,對(duì)于再次調(diào)用的服務(wù),即從本地獲取到與第二服務(wù)名信息對(duì)應(yīng)的服務(wù)提供者信息的情況,可在首次調(diào)用該服務(wù)時(shí),通過(guò)上述步驟109-1011,對(duì)于長(zhǎng)鏈接服務(wù),使服務(wù)注冊(cè)中心經(jīng)過(guò)負(fù)載均衡返回一個(gè)負(fù)載合適的服務(wù)提供者信息;對(duì)于短鏈接服務(wù),使服務(wù)注冊(cè)中心返回包括多個(gè)服務(wù)提供者信息的服務(wù)提供者信息列表。

上述步驟108的步驟可以包括:

步驟1081,判斷所述服務(wù)調(diào)用請(qǐng)求所調(diào)用的服務(wù)鏈接類型是否為長(zhǎng)鏈接,得到第二判斷結(jié)果。

步驟1082,若所述第二判斷結(jié)果為是,則將從本地獲取的或者所述服務(wù)注冊(cè)中心返回的,與所述第二服務(wù)名信息對(duì)應(yīng)的一個(gè)服務(wù)提供者信息返回給用戶。

這里,對(duì)于長(zhǎng)鏈接服務(wù),由于已經(jīng)在服務(wù)注冊(cè)中心進(jìn)行了負(fù)載均衡,因此直接將與第二服務(wù)名信息對(duì)應(yīng)的一個(gè)服務(wù)提供者信息返回給用戶即可。

步驟1083,若所述第二判斷結(jié)果為否,則根據(jù)預(yù)設(shè)負(fù)載均衡策略,在從本地獲取的或者所述服務(wù)注冊(cè)中心返回的,與所述第二服務(wù)名信息對(duì)應(yīng)的服務(wù)提供者信息列表中獲取一個(gè)服務(wù)提供者信息并返回給用戶。

這里,對(duì)于短鏈接服務(wù),需要在服務(wù)消費(fèi)端進(jìn)行負(fù)載均衡后選擇一個(gè)負(fù)載合適的服務(wù)提供者返回給用戶。

此時(shí),通過(guò)將長(zhǎng)鏈接服務(wù)的負(fù)載均衡放在服務(wù)注冊(cè)中心側(cè)執(zhí)行,減少了服務(wù)注冊(cè)中心的傳輸負(fù)載,并提高了服務(wù)調(diào)用的執(zhí)行效率。

基于上述內(nèi)容,下面對(duì)本發(fā)明實(shí)施例的另一具體實(shí)現(xiàn)流程舉例說(shuō)明如下:

如圖3所示,本發(fā)明實(shí)施例的服務(wù)發(fā)現(xiàn)的處理方法,包括:

步驟301,根據(jù)服務(wù)調(diào)用請(qǐng)求,啟動(dòng)服務(wù)查詢?nèi)蝿?wù)。

步驟302,判斷與第二服務(wù)名信息對(duì)應(yīng)的服務(wù)提供者信息在本地內(nèi)存文件中是否存在,如果存在則跳轉(zhuǎn)至步驟303,否則,跳轉(zhuǎn)至步驟304。

這里,對(duì)于再次調(diào)用的服務(wù),本地內(nèi)存文件中存儲(chǔ)有經(jīng)過(guò)更新的服務(wù)提供者信息。

步驟303,從本地內(nèi)存文件獲取與第二服務(wù)名信息對(duì)應(yīng)的服務(wù)提供者信息并放到緩存,之后跳轉(zhuǎn)至步驟309。

步驟304,根據(jù)第二服務(wù)名信息,向服務(wù)注冊(cè)中心發(fā)送第二服務(wù)查詢請(qǐng)求。

步驟305,判斷服務(wù)調(diào)用請(qǐng)求所調(diào)用的服務(wù)鏈接類型是否為長(zhǎng)鏈接,如果是則跳轉(zhuǎn)至步驟306,否則,跳轉(zhuǎn)至步驟307。

步驟306,使服務(wù)注冊(cè)中心根據(jù)第二服務(wù)查詢請(qǐng)求以及預(yù)設(shè)負(fù)載均衡策略,獲取與第二服務(wù)名信息對(duì)應(yīng)的一個(gè)服務(wù)提供者信息并返回,之后跳轉(zhuǎn)至步驟308。

步驟307,使服務(wù)注冊(cè)中心根據(jù)第二服務(wù)查詢請(qǐng)求,獲取與第二服務(wù)名信息對(duì)應(yīng)的服務(wù)提供者信息列表并返回。其中服務(wù)提供者信息列表包括多個(gè)服務(wù)提供者信息。

步驟308,接收服務(wù)注冊(cè)中心返回的一個(gè)服務(wù)提供者信息或者服務(wù)提供者信息列表,將接收到的信息保存到本地緩存,并在本地內(nèi)存文件中進(jìn)行備份。

步驟309,判斷服務(wù)調(diào)用請(qǐng)求所調(diào)用的服務(wù)鏈接類型是否為長(zhǎng)鏈接,如果是則跳轉(zhuǎn)至步驟3010,否則,跳轉(zhuǎn)至步驟3011。

步驟3010,將從本地獲取的或者服務(wù)注冊(cè)中心返回的,與第二服務(wù)名信息對(duì)應(yīng)的一個(gè)服務(wù)提供者信息返回給用戶。

步驟3011,根據(jù)預(yù)設(shè)負(fù)載均衡策略,在從本地獲取的或者服務(wù)注冊(cè)中心 返回的,與第二服務(wù)名信息對(duì)應(yīng)的服務(wù)提供者信息列表中獲取一個(gè)服務(wù)提供者信息并返回給用戶。

通過(guò)上述流程可以看出,本發(fā)明實(shí)施例的服務(wù)發(fā)現(xiàn)的處理方法,根據(jù)服務(wù)是否屬于長(zhǎng)鏈接服務(wù)來(lái)決定服務(wù)的負(fù)載均衡是否由服務(wù)注冊(cè)中心側(cè)來(lái)執(zhí)行,解決了調(diào)用服務(wù)是基于長(zhǎng)鏈接的服務(wù)時(shí)應(yīng)用服務(wù)注冊(cè)中心傳輸負(fù)載開(kāi)銷過(guò)大和服務(wù)調(diào)用效率低下的問(wèn)題,增加了服務(wù)發(fā)現(xiàn)處理的靈活性和有效性。

本發(fā)明實(shí)施例的服務(wù)發(fā)現(xiàn)的處理方法,應(yīng)用于包括服務(wù)提供端、服務(wù)注冊(cè)中心和服務(wù)消費(fèi)端的分布式系統(tǒng),具體應(yīng)用于服務(wù)消費(fèi)端。其中,服務(wù)提供端將要發(fā)布的服務(wù)注冊(cè)到服務(wù)注冊(cè)中心,服務(wù)注冊(cè)中心用于接受服務(wù)消費(fèi)端的查找服務(wù)請(qǐng)求,當(dāng)發(fā)現(xiàn)存在相應(yīng)服務(wù)時(shí),實(shí)時(shí)返回最新的服務(wù)提供者信息給服務(wù)消費(fèi)端,服務(wù)消費(fèi)端用于向服務(wù)注冊(cè)中心發(fā)送查詢服務(wù)請(qǐng)求,接收從服務(wù)注冊(cè)中心返回的服務(wù),自動(dòng)與服務(wù)提供端建立鏈接,并調(diào)用相應(yīng)的服務(wù)。

本發(fā)明實(shí)施例的服務(wù)發(fā)現(xiàn)的處理方法,在服務(wù)注冊(cè)中心的服務(wù)提供者信息有更新時(shí),能及時(shí)將更新后的服務(wù)提供者信息同步到服務(wù)消費(fèi)端本地,避免了由于更新不及時(shí)造成的服務(wù)調(diào)用失敗,增強(qiáng)了服務(wù)發(fā)現(xiàn)的有效性。且通過(guò)將查詢到的服務(wù)提供者信息備份到本地內(nèi)存文件中,解決了服務(wù)注冊(cè)中心異常導(dǎo)致服務(wù)再次調(diào)用失敗的問(wèn)題,增加了服務(wù)發(fā)現(xiàn)的穩(wěn)定性。且根據(jù)服務(wù)是否屬于長(zhǎng)鏈接服務(wù)來(lái)決定服務(wù)的負(fù)載均衡是否由服務(wù)注冊(cè)中心側(cè)來(lái)執(zhí)行,解決了調(diào)用服務(wù)是基于長(zhǎng)鏈接的服務(wù)時(shí)應(yīng)用服務(wù)注冊(cè)中心傳輸負(fù)載開(kāi)銷過(guò)大和服務(wù)調(diào)用效率低下的問(wèn)題,增加了服務(wù)發(fā)現(xiàn)處理的靈活性和有效性。

如圖4所示,本發(fā)明的實(shí)施例還提供一種服務(wù)發(fā)現(xiàn)的處理裝置,包括:

第一獲取模塊,用于按照預(yù)設(shè)時(shí)間間隔,定時(shí)獲取已查詢的第一服務(wù)名信息;

第一接收模塊,用于根據(jù)所述第一服務(wù)名信息向服務(wù)注冊(cè)中心發(fā)送第一服務(wù)查詢請(qǐng)求,并接收所述服務(wù)注冊(cè)中心根據(jù)所述第一服務(wù)查詢請(qǐng)求返回的,與所述第一服務(wù)名信息對(duì)應(yīng)的服務(wù)提供者信息;

更新模塊,用于根據(jù)所述服務(wù)注冊(cè)中心返回的服務(wù)提供者信息,對(duì)本地存儲(chǔ)的與所述第一服務(wù)名信息對(duì)應(yīng)的服務(wù)提供者信息進(jìn)行更新。

本發(fā)明實(shí)施例的服務(wù)發(fā)現(xiàn)的處理裝置,應(yīng)用于服務(wù)消費(fèi)端,在服務(wù)注冊(cè)中 心的服務(wù)提供者信息有更新時(shí),能及時(shí)將更新后的服務(wù)提供者信息同步到服務(wù)消費(fèi)端本地,解決了現(xiàn)有服務(wù)發(fā)現(xiàn)機(jī)制存在的服務(wù)提供者地址列表更新不及時(shí)的問(wèn)題,避免了由于更新不及時(shí)造成的服務(wù)調(diào)用失敗,增強(qiáng)了服務(wù)發(fā)現(xiàn)的有效性。

優(yōu)選的,所述本地存儲(chǔ)的與所述第一服務(wù)名信息對(duì)應(yīng)的服務(wù)提供者信息包括:預(yù)先存儲(chǔ)在本地緩存中的與所述第一服務(wù)名信息對(duì)應(yīng)的服務(wù)提供者信息;

所述處理裝置還可以包括:

備份模塊,用于將所述本地緩存中存儲(chǔ)的與所述第一服務(wù)名信息對(duì)應(yīng)的服務(wù)提供者信息備份到本地內(nèi)存文件中;

所述更新模塊可以包括:

更新單元,用于根據(jù)所述服務(wù)注冊(cè)中心返回的服務(wù)提供者信息,對(duì)所述本地緩存以及所述本地內(nèi)存文件中存儲(chǔ)的與所述第一服務(wù)名信息對(duì)應(yīng)的服務(wù)提供者信息進(jìn)行更新。

優(yōu)選的,所述處理裝置還可以包括:

查詢模塊,用于接收服務(wù)調(diào)用請(qǐng)求后,根據(jù)所述服務(wù)調(diào)用請(qǐng)求包含的第二服務(wù)名信息,在本地查詢與所述第二服務(wù)名信息對(duì)應(yīng)的服務(wù)提供者信息;

第二獲取模塊,用于若在本地查詢到與所述第二服務(wù)名信息對(duì)應(yīng)的服務(wù)提供者信息,則從本地獲取與所述第二服務(wù)名信息對(duì)應(yīng)的服務(wù)提供者信息;

第二接收模塊,用于若在本地中沒(méi)有查詢到與所述第二服務(wù)名信息對(duì)應(yīng)的服務(wù)提供者信息,則根據(jù)所述第二服務(wù)名信息,向所述服務(wù)注冊(cè)中心發(fā)送第二服務(wù)查詢請(qǐng)求,接收所述服務(wù)注冊(cè)中心根據(jù)所述第二服務(wù)查詢請(qǐng)求返回的,與所述第二服務(wù)名信息對(duì)應(yīng)的服務(wù)提供者信息;

返回模塊,用于將從本地獲取的或者所述服務(wù)注冊(cè)中心返回的,與所述第二服務(wù)名信息對(duì)應(yīng)的服務(wù)提供者信息返回給用戶。

優(yōu)選的,所述處理裝置還可以包括:

判斷模塊,用于判斷所述服務(wù)調(diào)用請(qǐng)求所調(diào)用的服務(wù)鏈接類型是否為長(zhǎng)鏈接,得到第一判斷結(jié)果;

第一執(zhí)行模塊,用于若所述第一判斷結(jié)果為是,則使所述服務(wù)注冊(cè)中心根據(jù)所述第二服務(wù)查詢請(qǐng)求以及預(yù)設(shè)負(fù)載均衡策略,獲取與所述第二服務(wù)名信息 對(duì)應(yīng)的一個(gè)服務(wù)提供者信息并返回;

第二執(zhí)行模塊,用于若所述第一判斷結(jié)果為否,則使所述服務(wù)注冊(cè)中心根據(jù)所述第二服務(wù)查詢請(qǐng)求,獲取與所述第二服務(wù)名信息對(duì)應(yīng)的服務(wù)提供者信息列表并返回,其中所述服務(wù)提供者信息列表包括多個(gè)服務(wù)提供者信息。

優(yōu)選的,所述從本地獲取的或者所述服務(wù)注冊(cè)中心返回的,與所述第二服務(wù)名信息對(duì)應(yīng)的服務(wù)提供者信息包括:與所述第二服務(wù)名信息對(duì)應(yīng)的一個(gè)服務(wù)提供者信息或者與所述第二服務(wù)名信息對(duì)應(yīng)的服務(wù)提供者信息列表,其中所述服務(wù)提供者信息列表包括多個(gè)服務(wù)提供者信息;

所述返回模塊可以包括:

判斷單元,用于判斷所述服務(wù)調(diào)用請(qǐng)求所調(diào)用的服務(wù)鏈接類型是否為長(zhǎng)鏈接,得到第二判斷結(jié)果;

第一返回單元,用于若所述第二判斷結(jié)果為是,則將從本地獲取的或者所述服務(wù)注冊(cè)中心返回的,與所述第二服務(wù)名信息對(duì)應(yīng)的一個(gè)服務(wù)提供者信息返回給用戶;

第二返回單元,用于若所述第二判斷結(jié)果為否,則根據(jù)預(yù)設(shè)負(fù)載均衡策略,在從本地獲取的或者所述服務(wù)注冊(cè)中心返回的,與所述第二服務(wù)名信息對(duì)應(yīng)的服務(wù)提供者信息列表中獲取一個(gè)服務(wù)提供者信息并返回給用戶。

本發(fā)明實(shí)施例的服務(wù)發(fā)現(xiàn)的處理方法,在服務(wù)注冊(cè)中心的服務(wù)提供者信息有更新時(shí),能及時(shí)將更新后的服務(wù)提供者信息同步到服務(wù)消費(fèi)端本地,避免了由于更新不及時(shí)造成的服務(wù)調(diào)用失敗,增強(qiáng)了服務(wù)發(fā)現(xiàn)的有效性。且通過(guò)將查詢到的服務(wù)提供者信息備份到本地內(nèi)存文件中,解決了服務(wù)注冊(cè)中心異常導(dǎo)致服務(wù)再次調(diào)用失敗的問(wèn)題,增加了服務(wù)發(fā)現(xiàn)的穩(wěn)定性。且根據(jù)服務(wù)是否屬于長(zhǎng)鏈接服務(wù)來(lái)決定服務(wù)的負(fù)載均衡是否由服務(wù)注冊(cè)中心側(cè)來(lái)執(zhí)行,解決了調(diào)用服務(wù)是基于長(zhǎng)鏈接的服務(wù)時(shí)應(yīng)用服務(wù)注冊(cè)中心傳輸負(fù)載開(kāi)銷過(guò)大和服務(wù)調(diào)用效率低下的問(wèn)題,增加了服務(wù)發(fā)現(xiàn)處理的靈活性和有效性。

需要說(shuō)明的是,該服務(wù)發(fā)現(xiàn)的處理裝置是與上述服務(wù)發(fā)現(xiàn)的處理方法相對(duì)應(yīng)的裝置,其中上述方法實(shí)施例中所有實(shí)現(xiàn)方式均適用于該裝置的實(shí)施例中,也能達(dá)到同樣的技術(shù)效果。

在本發(fā)明的各種實(shí)施例中,應(yīng)理解,上述各過(guò)程的序號(hào)的大小并不意味著 執(zhí)行順序的先后,各過(guò)程的執(zhí)行順序應(yīng)以其功能和內(nèi)在邏輯確定,而不應(yīng)對(duì)本發(fā)明實(shí)施例的實(shí)施過(guò)程構(gòu)成任何限定。

以上所述是本發(fā)明的優(yōu)選實(shí)施方式,應(yīng)當(dāng)指出,對(duì)于本技術(shù)領(lǐng)域的普通技術(shù)人員來(lái)說(shuō),在不脫離本發(fā)明所述原理的前提下,還可以作出若干改進(jìn)和潤(rùn)飾,這些改進(jìn)和潤(rùn)飾也應(yīng)視為本發(fā)明的保護(hù)范圍。

當(dāng)前第1頁(yè)1 2 
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
涟源市| 丰城市| 汾西县| 郑州市| 安乡县| 富锦市| 安泽县| 开平市| 彭泽县| 大关县| 屏南县| 开阳县| 调兵山市| 辛集市| 舟山市| 菏泽市| 河源市| 南宁市| 尼木县| 乐山市| 天等县| 彰化县| 清水县| 南岸区| 潜山县| 庆城县| 郯城县| 江源县| 时尚| 蛟河市| 项城市| 炉霍县| 平江县| 贵阳市| 广丰县| 盐城市| 嘉峪关市| 江油市| 海安县| 新乡县| 永靖县|