亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種處理連接請求的方法及裝置的制作方法

文檔序號:6381960閱讀:116來源:國知局
專利名稱:一種處理連接請求的方法及裝置的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及一種通用線程池技術(shù),特別涉及一種處理連接請求的方法及裝。
背景技術(shù)
目前的大多數(shù)網(wǎng)絡(luò)服務(wù)器,包括應(yīng)用服務(wù)器、Web服務(wù)器、Email服務(wù)器以及數(shù)據(jù)庫服務(wù)器等都具有一個(gè)共同點(diǎn),就是單位時(shí)間內(nèi)必須處理數(shù)目巨大的連接請求,但處理時(shí)間卻相對較短。傳統(tǒng)多線程方案中我們采用的服務(wù)器模型則是一旦接受到請求之后,即創(chuàng)建一個(gè)新的線程,由該線程執(zhí)行任務(wù)。任務(wù)執(zhí)行完畢后,線程退出,即“即時(shí)創(chuàng)建,即時(shí)銷毀”的策略。盡管與創(chuàng)建進(jìn)程相比,創(chuàng)建線程的時(shí)間已經(jīng)大大的縮短,但是如果提交給線程的任務(wù)是執(zhí)行時(shí)間較短,而且執(zhí)行次數(shù)極其頻繁,那么服務(wù)器將處于不停的創(chuàng)建線程,銷毀線程的狀態(tài)。我們將傳統(tǒng)方案中的線程執(zhí)行過程分為三個(gè)過程T1、T2、T3。Tl :線程創(chuàng)建時(shí)間T2 :線程執(zhí)行時(shí)間,包括線程的同步等時(shí)間T3 :線程銷毀時(shí)間那么我們可以看出,線程本身的開銷所占的比例為(T1+T3)/(T1+T2+T3)。如果線程執(zhí)行的時(shí)間很短的話,這比開銷可能占到20%-50%左右。如果任務(wù)執(zhí)行時(shí)間很頻繁的話,這筆開銷將是不可忽略的。除此之外,線程池能夠減少創(chuàng)建的線程個(gè)數(shù)。通常線程池所允許的并發(fā)線程是有上界的,如果同時(shí)需要并發(fā)的線程數(shù)超過上界,那么一部分線程將會等待。而傳統(tǒng)方案中,如果同時(shí)請求數(shù)目為2000,那么最壞情況下,系統(tǒng)可能需要產(chǎn)生2000個(gè)線程。盡管這不是一個(gè)很大的數(shù)目,但是也有部分機(jī)器可能達(dá)不到這種要求。因此線程池的出現(xiàn)正是著眼于減少線程池本身帶來的開銷。線程池采用預(yù)創(chuàng)建的技術(shù),在應(yīng)用程序啟動(dòng)之后,將立即創(chuàng)建一定數(shù)量的線程(NI),放入空閑隊(duì)列中。這些線程都是處于阻塞(Suspended)狀態(tài),不消耗CPU,但占用較小的內(nèi)存空間。當(dāng)任務(wù)到來后,緩沖池選擇一個(gè)空閑線程,把任務(wù)傳入此線程中運(yùn)行。當(dāng)NI個(gè)線程都在處理任務(wù)后,緩沖池自動(dòng)創(chuàng)建一定數(shù)量的新線程,用于處理更多的任務(wù)。在任務(wù)執(zhí)行完畢后線程也不退出,而是繼續(xù)保持在池中等待下一次的任務(wù)。當(dāng)系統(tǒng)比較空閑時(shí),大部分線程都一直處于暫停狀態(tài),線程池自動(dòng)銷毀一部分線程,回收系統(tǒng)資源。基于這種預(yù)創(chuàng)建技術(shù),線程池將線程創(chuàng)建和銷毀本身所帶來的開銷分?jǐn)偟搅烁鱾€(gè)具體的任務(wù)上,執(zhí)行次數(shù)越多,每個(gè)任務(wù)所分擔(dān)到的線程本身開銷則越小,不過我們另外可能需要考慮進(jìn)去線程之間同步所帶來的開銷。

發(fā)明內(nèi)容
本發(fā)明所要解決的技術(shù)問題是提供一種能夠自動(dòng)調(diào)節(jié)任務(wù)模塊中空閑任務(wù)模塊的數(shù)量,節(jié)省創(chuàng)建和銷毀工作任務(wù)模塊的時(shí)間的處理連接請求的方法及裝置。本發(fā)明解決上述技術(shù)問題的技術(shù)方案如下一種處理連接請求的方法,包括以下步驟步驟I :創(chuàng)建管理單元;步驟2 :創(chuàng)建工作任務(wù)模塊,工作任務(wù)模塊中設(shè)置最大預(yù)定數(shù)量的空閑任務(wù)模塊,同時(shí)設(shè)定空閑任務(wù)模塊的數(shù)量最小時(shí)為最小預(yù)定數(shù)量;步驟3 :創(chuàng)建請求任務(wù)模塊,所述任務(wù)模塊用于存儲連接請求信息;步驟4:管理單元接收服務(wù)器外部的終端發(fā)送的連接請求信息,并將接收到的連接請求信息發(fā)送給請求任務(wù)模塊;步驟5 :管理單元將請求任務(wù)模塊中的連接請求信息發(fā)送給工作任務(wù)模塊后,工作任務(wù)模塊轉(zhuǎn)變?yōu)楣ぷ髂K,空閑任務(wù)模塊轉(zhuǎn)變?yōu)楣ぷ髯幽K;步驟6 :工作模塊處理完連接請求信息后轉(zhuǎn)變?yōu)楣ぷ魅蝿?wù)模塊,工作子模塊處理完連接請求信息后轉(zhuǎn)變?yōu)榭臻e任務(wù)模塊,管理單元通過銷毀或創(chuàng)建空閑任務(wù)模塊,進(jìn)而調(diào)節(jié)工作任務(wù)模塊中空閑任務(wù)模塊的數(shù)量,使空閑任務(wù)模塊的數(shù)量小于最大預(yù)定數(shù)量且大于最小預(yù)定數(shù)量;步驟7 :工作任務(wù)模塊等待管理單元再次分配連接請求信息。本發(fā)明的有益效果是能夠自動(dòng)調(diào)節(jié)請求任務(wù)模塊中空閑任務(wù)模塊的數(shù)量,節(jié)省創(chuàng)建和銷毀工作任務(wù)模塊的時(shí)間。在上述技術(shù)方案的基礎(chǔ)上,本發(fā)明還可以做如下改進(jìn)。進(jìn)一步,所述步驟6中當(dāng)空閑任務(wù)模塊的數(shù)量大于最大預(yù)定數(shù)量時(shí),管理單元銷毀多于最小預(yù)定數(shù)量的空閑任務(wù)模塊。采用上述進(jìn)一步方案的有益效果是銷毀多余的空閑任務(wù)模塊,防止過多空閑任務(wù)模塊占用系統(tǒng)空間。進(jìn)一步,所述步驟6中當(dāng)空閑任務(wù)模塊的數(shù)量小于最小預(yù)定數(shù)量時(shí),管理單元?jiǎng)?chuàng)建空閑任務(wù)模塊,至空閑任務(wù)模塊數(shù)量等于最大預(yù)定數(shù)量。采用上述進(jìn)一步方案的有益效果是創(chuàng)建新的空閑任務(wù)模塊,防止在獲取到新的任務(wù)節(jié)點(diǎn)時(shí)沒有足夠的子模塊?!N處理連接請求的裝置,包括創(chuàng)建管理單元模塊,創(chuàng)建模塊,創(chuàng)建緩存請求任務(wù)模塊,獲取請求任務(wù)模塊,轉(zhuǎn)發(fā)模塊,調(diào)節(jié)模塊,等待模塊;所述創(chuàng)建管理單元模塊,用于創(chuàng)建管理單元;所述創(chuàng)建模塊,用于工作任務(wù)模塊中設(shè)置最大預(yù)定數(shù)量的空閑任務(wù)模塊,同時(shí)設(shè)定空閑任務(wù)模塊的數(shù)量最小時(shí)為最小預(yù)定數(shù)量;所述創(chuàng)建緩存請求任務(wù)模塊,用于創(chuàng)建請求請求任務(wù)模塊,所述請求任務(wù)模塊用于存儲連接請求信息;所述獲取請求任務(wù)模塊,用于管理單元接收服務(wù)器外部的終端發(fā)送的連接請求信息,并將接收到的連接請求信息發(fā)送給請求任務(wù)模塊;所述轉(zhuǎn)發(fā)模塊,用于管理單元將請求任務(wù)模塊中的連接請求信息發(fā)送給工作任務(wù)模塊后,工作任務(wù)模塊轉(zhuǎn)變?yōu)楣ぷ髂K,空閑任務(wù)模塊轉(zhuǎn)變?yōu)楣ぷ髯幽K;所述調(diào)節(jié)模塊,用于工作模塊處理完連接請求信息后轉(zhuǎn)變?yōu)楣ぷ魅蝿?wù)模塊,工作子模塊處理完連接請求信息后轉(zhuǎn)變?yōu)榭臻e任務(wù)模塊,管理單元通過銷毀或創(chuàng)建空閑任務(wù)模塊,進(jìn)而調(diào)節(jié)工作任務(wù)模塊中空閑任務(wù)模塊的數(shù)量,使空閑任務(wù)模塊的數(shù)量小于最大預(yù)定數(shù)量且大于最小預(yù)定數(shù)量;所述等待模塊,用于工作任務(wù)模塊等待管理單元再次分配連接請求信息。采用上述進(jìn)一步方案的有益效果是能夠自動(dòng)調(diào)節(jié)請求任務(wù)模塊中空閑任務(wù)模塊的數(shù)量,節(jié)省創(chuàng)建和銷毀工作任務(wù)模塊的時(shí)間。進(jìn)一步,所述調(diào)節(jié)模塊中當(dāng)空閑任務(wù)模塊的數(shù)量大于最大預(yù)定數(shù)量時(shí),管理單元銷毀多于最小預(yù)定數(shù)量的空閑任務(wù)模塊。采用上述進(jìn)一步方案的有益效果是銷毀多余的空閑任務(wù)模塊,防止過多空閑任務(wù)模塊占用系統(tǒng)空間。進(jìn)一步,所述調(diào)節(jié)模塊中當(dāng)空閑任務(wù)模塊的數(shù)量小于最小預(yù)定數(shù)量時(shí),管理單元?jiǎng)?chuàng)建空閑任務(wù)模塊,至空閑任務(wù)模塊數(shù)量等于最大預(yù)定數(shù)量。采用上述進(jìn)一步方案的有益效果是創(chuàng)建新的空閑任務(wù)模塊,防止在獲取到新的任務(wù)節(jié)點(diǎn)時(shí)沒有足夠的子模塊。


圖I為本發(fā)明方法步驟流程圖;圖2為本發(fā)明裝置結(jié)構(gòu)圖。附圖中,各標(biāo)號所代表的部件列表如下I、創(chuàng)建管理單元模塊,2、創(chuàng)建模塊,3、創(chuàng)建緩存請求任務(wù)模塊,4、獲取請求任務(wù)模塊,5、轉(zhuǎn)發(fā)模塊,6、調(diào)節(jié)模塊,7、等待模塊。
具體實(shí)施例方式以下結(jié)合附圖對本發(fā)明的原理和特征進(jìn)行描述,所舉實(shí)例只用于解釋本發(fā)明,并非用于限定本發(fā)明的范圍。如圖I所示,為本發(fā)明方法步驟流程圖;圖2為本發(fā)明裝置結(jié)構(gòu)圖。實(shí)施例I一種處理連接請求的方法,其特征在于,包括以下步驟步驟I :創(chuàng)建管理單元;步驟2 :創(chuàng)建工作任務(wù)模塊,工作任務(wù)模塊采用鏈表的方式實(shí)現(xiàn),工作任務(wù)模塊中設(shè)置最大預(yù)定數(shù)量的空閑任務(wù)模塊,同時(shí)設(shè)定空閑任務(wù)模塊的數(shù)量最小時(shí)為最小預(yù)定數(shù)量;所述工作任務(wù)模塊即為空閑線程池,空閑任務(wù)模塊即為空閑子線程;步驟3 :創(chuàng)建請求任務(wù)模塊,所述請求任務(wù)模塊為雙向循環(huán)鏈表,用于存儲連接請求信息;步驟4:管理單元接收服務(wù)器外部的終端發(fā)送的連接請求信息,并將接收到的連接請求信息發(fā)送給請求任務(wù)模塊;步驟5 :管理單元將請求任務(wù)模塊中的連接請求信息發(fā)送給工作任務(wù)模塊后,工作任務(wù)模塊轉(zhuǎn)變?yōu)楣ぷ髂K,也就是空閑線程池變成工作線程池,空閑任務(wù)模塊轉(zhuǎn)變?yōu)楣ぷ髯幽K,空閑任務(wù)模塊轉(zhuǎn)變?yōu)楣ぷ髯幽K;
步驟6 :工作模塊處理完連接請求信息后轉(zhuǎn)變?yōu)楣ぷ魅蝿?wù)模塊,工作子模塊處理完連接請求信息后轉(zhuǎn)變?yōu)榭臻e任務(wù)模塊,管理單元通過銷毀或創(chuàng)建空閑任務(wù)模塊,進(jìn)而調(diào)節(jié)工作任務(wù)模塊中空閑任務(wù)模塊的數(shù)量,使空閑任務(wù)模塊的數(shù)量小于最大預(yù)定數(shù)量且大于最小預(yù)定數(shù)量;當(dāng)空閑任務(wù)模塊的數(shù)量大于最大預(yù)定數(shù)量時(shí),管理單元銷毀多于最小預(yù)定數(shù)量的空閑任務(wù)模塊。當(dāng)空閑任務(wù)模塊的數(shù)量小于最小預(yù)定數(shù)量時(shí),管理單元?jiǎng)?chuàng)建空閑任務(wù)模塊,至空閑任務(wù)模塊數(shù)量等于最大預(yù)定數(shù)量。步驟7 :工作任務(wù)模塊等待管理單元再次分配連接請求信息,也就是空閑線程池等待管理單元再次分配連接請求信息。所述請求任務(wù)模塊包括head指針,如果鏈表為空的時(shí)候他的prev和next都指向自己。否則在鏈表不為空時(shí)它的next指向鏈表中的第一個(gè)任務(wù)節(jié)點(diǎn);prev指向最后一個(gè)節(jié)點(diǎn)。往鏈表中增加新的任務(wù)的時(shí)候,把新的節(jié)點(diǎn)插到Node (n)的位置,也就是head的prev指向的位置。從鏈表中取任務(wù)的時(shí)候是從NodeO開始,以就是head的next指針指向的位置—種處理連接請求的裝置,包括創(chuàng)建管理單元模塊1,創(chuàng)建模塊2,創(chuàng)建緩存請求任務(wù)模塊3,獲取請求任務(wù)模塊4,轉(zhuǎn)發(fā)模塊5,調(diào)節(jié)模塊6,等待模塊7 ;所述創(chuàng)建管理單元模塊1,用于創(chuàng)建管理單元;所述創(chuàng)建模塊2,用于工作任務(wù)模塊中設(shè)置最大預(yù)定數(shù)量的空閑任務(wù)模塊,同時(shí)設(shè)定空閑任務(wù)模塊的數(shù)量最小時(shí)為最小預(yù)定數(shù)量;所述工作任務(wù)模塊即為空閑線程池,空閑任務(wù)模塊即為空閑子線程;所述創(chuàng)建緩存請求任務(wù)模塊3,用于創(chuàng)建請求請求任務(wù)模塊,所述請求任務(wù)模塊用于存儲連接請求信息;所述獲取請求任務(wù)模塊4,用于管理單元接收服務(wù)器外部的終端發(fā)送的連接請求信息,并將接收到的連接請求信息發(fā)送給請求任務(wù)模塊;所述轉(zhuǎn)發(fā)模塊5,用于管理單元將請求任務(wù)模塊中的連接請求信息發(fā)送給工作任務(wù)模塊后,工作任務(wù)模塊轉(zhuǎn)變?yōu)楣ぷ髂K,也就是空閑線程池變成工作線程池,空閑任務(wù)模塊轉(zhuǎn)變?yōu)楣ぷ髯幽K,空閑任務(wù)模塊轉(zhuǎn)變?yōu)楣ぷ髯幽K;所述調(diào)節(jié)模塊6,用于工作模塊處理完連接請求信息后轉(zhuǎn)變?yōu)楣ぷ魅蝿?wù)模塊,工作子模塊處理完連接請求信息后轉(zhuǎn)變?yōu)榭臻e任務(wù)模塊,管理單元通過銷毀或創(chuàng)建空閑任務(wù)模塊,進(jìn)而調(diào)節(jié)工作任務(wù)模塊中空閑任務(wù)模塊的數(shù)量,使空閑任務(wù)模塊的數(shù)量小于最大預(yù)定數(shù)量且大于最小預(yù)定數(shù)量;所述等待模塊7,用于工作任務(wù)模塊等待管理單元再次分配連接請求信息。所述調(diào)節(jié)模塊6當(dāng)空閑任務(wù)模塊的數(shù)量大于最大預(yù)定數(shù)量時(shí),管理單元銷毀多于最小預(yù)定數(shù)量的空閑任務(wù)模塊。所述調(diào)節(jié)模塊6中當(dāng)空閑任務(wù)模塊的數(shù)量小于最小預(yù)定數(shù)量時(shí),管理單元?jiǎng)?chuàng)建空閑任務(wù)模塊,至空閑任務(wù)模塊數(shù)量等于最大預(yù)定數(shù)量。以上所述僅為本發(fā)明的較佳實(shí)施例,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
權(quán)利要求
1.一種處理連接請求的方法,其特征在于,包括以下步驟步驟I:創(chuàng)建管理單元;步驟2 :創(chuàng)建工作任務(wù)模塊,工作任務(wù)模塊中設(shè)置最大預(yù)定數(shù)量的空閑任務(wù)模塊,同時(shí)設(shè)定空閑任務(wù)模塊的數(shù)量最小時(shí)為最小預(yù)定數(shù)量;步驟3 :創(chuàng)建請求任務(wù)模塊,所述任務(wù)模塊用于存儲連接請求信息;步驟4 :管理單元接收服務(wù)器外部的終端發(fā)送的連接請求信息,并將接收到的連接請求信息發(fā)送給任務(wù)模塊;步驟5 :管理單元將任務(wù)模塊中的連接請求信息發(fā)送給工作任務(wù)模塊后,工作任務(wù)模塊轉(zhuǎn)變?yōu)楣ぷ髂K,空閑任務(wù)模塊轉(zhuǎn)變?yōu)楣ぷ髯幽K;步驟6 :工作模塊處理完連接請求信息后轉(zhuǎn)變?yōu)楣ぷ魅蝿?wù)模塊,工作子模塊處理完連接請求信息后轉(zhuǎn)變?yōu)榭臻e任務(wù)模塊,管理單元通過銷毀或創(chuàng)建空閑任務(wù)模塊,進(jìn)而調(diào)節(jié)工作任務(wù)模塊中空閑任務(wù)模塊的數(shù)量,使空閑任務(wù)模塊的數(shù)量小于最大預(yù)定數(shù)量且大于最小預(yù)定數(shù)量;步驟7 :工作任務(wù)模塊等待管理單元再次分配連接請求信息。
2.根據(jù)權(quán)利要求I所述的處理連接請求的方法,其特征在于所述步驟6中當(dāng)空閑任務(wù)模塊的數(shù)量大于最大預(yù)定數(shù)量時(shí),管理單元銷毀多于最小預(yù)定數(shù)量的空閑任務(wù)模塊。
3.根據(jù)權(quán)利要求I所述的處理連接請求的方法,其特征在于所述步驟6中當(dāng)空閑任務(wù)模塊的數(shù)量小于最小預(yù)定數(shù)量時(shí),管理單元?jiǎng)?chuàng)建空閑任務(wù)模塊,至空閑任務(wù)模塊數(shù)量等于最大預(yù)定數(shù)量。
4.一種處理連接請求的裝置,其特征在于包括創(chuàng)建管理單元模塊(1),創(chuàng)建模塊(2), 創(chuàng)建緩存任務(wù)模塊(3 ),獲取任務(wù)模塊(4 ),轉(zhuǎn)發(fā)模塊(5 ),調(diào)節(jié)模塊(6 ),等待模塊(7 );所述創(chuàng)建管理單元模塊(1),用于創(chuàng)建管理單元;所述創(chuàng)建模塊(2),用于工作任務(wù)模塊中設(shè)置最大預(yù)定數(shù)量的空閑任務(wù)模塊,同時(shí)設(shè)定空閑任務(wù)模塊的數(shù)量最小時(shí)為最小預(yù)定數(shù)量;所述創(chuàng)建緩存任務(wù)模塊(3 ),用于創(chuàng)建請求任務(wù)模塊,所述任務(wù)模塊用于存儲連接請求信息;所述獲取任務(wù)模塊(4),用于管理單元接收服務(wù)器外部的終端發(fā)送的連接請求信息,并將接收到的連接請求信息發(fā)送給任務(wù)模塊;所述轉(zhuǎn)發(fā)模塊(5),用于管理單元將任務(wù)模塊中的連接請求信息發(fā)送給工作任務(wù)模塊后,工作任務(wù)模塊轉(zhuǎn)變?yōu)楣ぷ髂K,空閑任務(wù)模塊轉(zhuǎn)變?yōu)楣ぷ髯幽K;所述調(diào)節(jié)模塊(6),用于工作模塊處理完連接請求信息后轉(zhuǎn)變?yōu)楣ぷ魅蝿?wù)模塊,工作子模塊處理完連接請求信息后轉(zhuǎn)變?yōu)榭臻e任務(wù)模塊,管理單元通過銷毀或創(chuàng)建空閑任務(wù)模塊,進(jìn)而調(diào)節(jié)工作任務(wù)模塊中空閑任務(wù)模塊的數(shù)量,使空閑任務(wù)模塊的數(shù)量小于最大預(yù)定數(shù)量且大于最小預(yù)定數(shù)量;所述等待模塊(7),用于工作任務(wù)模塊等待管理單元再次分配連接請求信息。
5.根據(jù)權(quán)利要求4所述的處理連接請求的裝置,其特征在于所述調(diào)節(jié)模塊(6)中當(dāng)空閑任務(wù)模塊的數(shù)量大于最大預(yù)定數(shù)量時(shí),管理單元銷毀多于最小預(yù)定數(shù)量的空閑任務(wù)模塊。
6.根據(jù)權(quán)利要求4所述的處理連接請求的裝置,其特征在于所述調(diào)節(jié)模塊(6)中當(dāng)空閑任務(wù)模塊的數(shù)量小于最小預(yù)定數(shù)量時(shí),管理單元?jiǎng)?chuàng)建空閑任務(wù)模塊,至空閑任務(wù)模塊數(shù)量等于最大預(yù)定數(shù)量。全文摘要
本發(fā)明涉及一種處理連接請求的方法及裝置,包括以下步驟創(chuàng)建管理單元;創(chuàng)建工作任務(wù)模塊,工作任務(wù)模塊中設(shè)置最大預(yù)定數(shù)量的空閑任務(wù)模塊;創(chuàng)建請求任務(wù)模塊,所述任務(wù)模塊用于存儲連接請求信息;管理單元接收連接請求信息,并將接收到的連接請求信息發(fā)送給任務(wù)模塊;管理單元將任務(wù)模塊中的連接請求信息發(fā)送給工作任務(wù)模塊后,工作任務(wù)模塊轉(zhuǎn)變?yōu)楣ぷ髂K;工作模塊處理完連接請求信息后轉(zhuǎn)變?yōu)楣ぷ魅蝿?wù)模塊,管理單元通過銷毀或創(chuàng)建空閑任務(wù)模塊,使空閑任務(wù)模塊的數(shù)量小于最大預(yù)定數(shù)量且大于最小預(yù)定數(shù)量;工作任務(wù)模塊等待管理單元再次分配連接請求信息。本發(fā)明自動(dòng)調(diào)節(jié)任務(wù)模塊中空閑任務(wù)模塊的數(shù)量,節(jié)省創(chuàng)建和銷毀工作任務(wù)模塊的時(shí)間。
文檔編號G06F9/46GK102981901SQ20121047673
公開日2013年3月20日 申請日期2012年11月19日 優(yōu)先權(quán)日2012年11月19日
發(fā)明者張厚瑞 申請人:北京思特奇信息技術(shù)股份有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1