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

資源獲取方法與網(wǎng)絡服務器系統(tǒng)的制作方法

文檔序號:7681438閱讀:138來源:國知局
專利名稱:資源獲取方法與網(wǎng)絡服務器系統(tǒng)的制作方法
技術領域
本申請涉及互聯(lián)網(wǎng)技術領域,尤其涉及一種資源獲取方法與網(wǎng)絡服務器系統(tǒng)。
背景技術
為了清楚地描述本申請實施例提供的方案,首先對文中將要出現(xiàn)的一些專用名詞進行解釋說明,這些名詞包括線程(thread):有時也被稱為輕量級進程(LWP, Lightweight Process),其是程序執(zhí)行流的最小單兀。穩(wěn)定性用于指示網(wǎng)絡服務器系統(tǒng)持續(xù)不間斷的正常服務占總的運行時間比例的 指標,該比例越高,說明網(wǎng)絡服務器系統(tǒng)越穩(wěn)定,反之,說明網(wǎng)絡服務器系統(tǒng)不穩(wěn)定。網(wǎng)絡服務器系統(tǒng)依賴的資源即完成網(wǎng)絡服務器系統(tǒng)提供的服務所需要的資源,包括本地資源和遠程資源。如CPU,內(nèi)存等均為本地資源。網(wǎng)絡服務器系統(tǒng)為完成其提供的服務所需要通過遠程調用獲取的資源為遠程資源,以搜索系統(tǒng)這一網(wǎng)絡服務器系統(tǒng)為例,其為完成搜索所依賴的搜索引擎資源就是需要遠程調用的資源,因而搜索引擎資源就是搜索系統(tǒng)所依賴的遠程資源。網(wǎng)絡服務器系統(tǒng)依賴的關鍵資源網(wǎng)絡服務器系統(tǒng)完成其提供的服務所需的最少資源,該些資源會影響網(wǎng)絡服務器系統(tǒng)的核心業(yè)務。網(wǎng)絡服務器系統(tǒng)依賴的非關鍵資源網(wǎng)絡服務器系統(tǒng)完成其提供的服務非必須資源,該些資源不會影響網(wǎng)絡服務器系統(tǒng)的核心業(yè)務。比如,如用于交易的網(wǎng)絡服務器系統(tǒng)(交易系統(tǒng))中用于實現(xiàn)與交易無關的服務的資源。針對不同網(wǎng)絡服務器系統(tǒng),其所依賴的關鍵資源和非關鍵資源可以視實際情況進行定義。區(qū)分關鍵資源或非關鍵資源可以根據(jù)其屬性信息進行,其中,屬性信息可以但不限于為資源的名稱信息、在網(wǎng)絡服務器系統(tǒng)中的存儲位置信息等等。關鍵資源和非關鍵資源都可以是相對核心業(yè)務而言的。比如,在一個具體的例子中,針對以展示物品信息為核心業(yè)務的網(wǎng)絡服務器系統(tǒng)來說,物品信息需要從物品數(shù)據(jù)庫里獲取,則物品數(shù)據(jù)庫就可以被定義為關鍵資源,因為若該物品數(shù)據(jù)庫出了問題那么物品信息將不能被展現(xiàn),從而影響了核心業(yè)務;另一方面,這個網(wǎng)絡服務器系統(tǒng)還可能需要展現(xiàn)針對物品的用戶留言,用戶留言是從留言數(shù)據(jù)庫獲取的,但是,即使留言數(shù)據(jù)庫出現(xiàn)了問題而使得留言不能正常顯示,其也不會影響物品信息的整體展現(xiàn),從而留言數(shù)據(jù)庫就可以被定義為非關鍵資源。結合上述名詞介紹,以下對現(xiàn)有技術中存在的問題進行分析說明目前,網(wǎng)絡服務器系統(tǒng)往往通過橫向資源分層、縱向劃分子系統(tǒng)的大型集群化方案來解決解決大吞吐量的問題,但這會導致網(wǎng)絡服務器系統(tǒng)依賴的資源非常多。一般地,網(wǎng)絡服務器系統(tǒng)所需求的關鍵資源只占所有資源的一小部分,但是所有資源(包括關鍵資源和非關鍵資源)的穩(wěn)定性卻都會直接影響到整個網(wǎng)絡服務器系統(tǒng)的穩(wěn)定性。另外,暴露在公網(wǎng)上的網(wǎng)絡服務器系統(tǒng)還容易面對發(fā)生資源需求洪流的情況,或者面對流量自然突發(fā)增長的情況,一旦這些情況導致對線程的需求量超過了網(wǎng)絡服務器系統(tǒng)的線程總容量,都會導致網(wǎng)絡服務器系統(tǒng)的不穩(wěn)定。針對非關鍵資源的不穩(wěn)定性導致網(wǎng)絡服務器系統(tǒng)不穩(wěn)定的情況,關于網(wǎng)絡服務器系統(tǒng)的線程數(shù)量被瞬間消耗掉的說明如下網(wǎng)絡服務器系統(tǒng)每秒鐘處理的資源請求數(shù)量(QPS,Query-Per-Second)的計算公式如下式[I]所示QPS =線程數(shù)量*(1000/響應時間(單位ms)) [I]對[I]進行變形得到下述公式[2]線程數(shù)量=QPS*響應時間(單位ms)/1000 [2]由于網(wǎng)絡服務器系統(tǒng)的QPS在某一個時刻一般為固定值,因此根據(jù)[2]可知,響應 時間直接影響線程數(shù)量,并且兩者之間為正比關系?;谏鲜龇治隹芍?,當網(wǎng)絡服務器系統(tǒng)的某非關鍵資源A的響應時間從原來的IOms變成了 3000ms時,則完成同樣的QPS所需要的線程數(shù)量變?yōu)樵瓉淼?00倍??梢?,非關鍵資源的不穩(wěn)定導致線程需求過大會對整個網(wǎng)絡服務器系統(tǒng)的穩(wěn)定性造成極大影響。

發(fā)明內(nèi)容
本申請實施例提供一種資源獲取方法與網(wǎng)絡服務器系統(tǒng),用以解決現(xiàn)有技術中存在的非關鍵資源的不穩(wěn)定造成線程需求過大影響網(wǎng)絡服務器系統(tǒng)穩(wěn)定性的問題。本申請實施例采用以下技術方案一種資源獲取方法,包括網(wǎng)絡服務器系統(tǒng)接收業(yè)務請求;分配針對所述業(yè)務請求的第一線程;根據(jù)所述業(yè)務請求,利用分配的所述第一線程確定完成業(yè)務所需的資源并確定所述資源的屬性信息;根據(jù)所述屬性信息和預先定義的非關鍵資源的屬性信息,利用分配的所述第一線程從確定的資源中識別出非關鍵資源;當從確定的資源中識別出非關鍵資源時,根據(jù)記錄的非關鍵資源占用第二線程的數(shù)量,判斷非關鍵資源已占用第二線程的數(shù)量是否小于為非關鍵資源配置的第二線程的數(shù)量;在判斷結果為是時,分配針對識別出的非關鍵資源的第二線程;并利用分配的第二線程獲取識別出的非關鍵資源。較佳地,分配針對所述業(yè)務請求的第一線程,具體包括判斷占用的第一線程的數(shù)量是否小于為所述網(wǎng)絡服務器系統(tǒng)配置的可用線程數(shù)量;并在判斷結果為是時,分配針對所述業(yè)務請求的第一線程。較佳地,上述方法還包括記錄占用的所述第一線程的數(shù)量;當分配或釋放所述第一線程時,更新記錄的占用的所述第一線程的數(shù)量。較佳地,上述方法還包括記錄占用的所述第二線程的數(shù)量;當分配所述第二線程后或者在利用分配的第二線程獲取識別出的非關鍵資源后釋放所述第二線程時,更新記錄的非關鍵資源占用的第二線程的數(shù)量。較佳地,上述方法還包括在判斷結果為否時,放棄所述業(yè)務請求。一種網(wǎng)絡服務器系統(tǒng),包括線程記錄單元、接收單元、線程分配單元、資源確定單元、資源識別單元、判斷單元、獲取單元,其中線程記錄單元,用于記錄所述網(wǎng)絡服務器系統(tǒng)占用的第一線程的數(shù)量和非關鍵資源占用的第二線程的數(shù)量;接收單元,用于接收業(yè)務請求;線程分配單元,用于分配針對接收單元接收的業(yè)務請求的第一線程,并分配針對資源識別單元識別出的非關鍵資源的第二線程;資源確定單元,用于根據(jù)接收單元接收的業(yè)務請求,利用線程分配單元分配的第一線程確定完成業(yè)務所需的資源,并確定所述資源的屬性信息;資源識別單元,用于根據(jù)資源確定單元確定的屬性信息和預先定義的非關鍵資源的屬性信息,利用線程分配單元分配的第一線程從資源確定單元確定的資源中識別出非關鍵資源;判斷單元,用于根據(jù)線程記錄單元記錄的非關鍵資源占用的第二線程的數(shù)量,判斷非關鍵資源占用的第二線程的數(shù)量是否小于預先為非關鍵資源配置的第二線程的數(shù)量;獲取單元,用于在判斷單元得到的判斷結果為是時,利用線程分配單元分配的第二線程獲取資源識別單元識別出的非關鍵資源。本申請實施例的有益效果如下本申請實施例提供的上述方案通過對非關鍵資源占用的線程進行限制,從而即使對非關鍵資源的不穩(wěn)定導致線程需求增加,也不會占用網(wǎng)絡服務器系統(tǒng)中太多的線程,從而解決了現(xiàn)有技術中存在的非關鍵資源的不穩(wěn)定造成線程需求過大而影響網(wǎng)絡服務器系統(tǒng)穩(wěn)定性的問題。


圖I為本發(fā)明實施例提供的一種資源獲取方法的具體流程示意圖;圖2為本發(fā)明實施例提供的一種業(yè)務請求處理方法的具體流程示意圖;圖3為在包含穩(wěn)定性模塊的網(wǎng)絡服務器系統(tǒng)中實現(xiàn)本申請實施例提供的方案的具體流程示意圖;圖4為本發(fā)明實施例提供的一種網(wǎng)絡服務器系統(tǒng)的具體結構示意圖。
具體實施例方式為了解決現(xiàn)有技術中存在的非關鍵資源的不穩(wěn)定造成線程需求過大影響網(wǎng)絡服務器系統(tǒng)穩(wěn)定性的問題,本申請中對網(wǎng)絡服務器系統(tǒng)使用線程的情況進行了下述分析網(wǎng)絡服務器系統(tǒng)使用的線程數(shù)量一般是有限制的,如中間件jboss,其可看作是一種網(wǎng)絡服務器系統(tǒng),默認配置的工作線程數(shù)量限制為200?,F(xiàn)有技術中,部署在jboss上進行的業(yè)務的關鍵資源和非關鍵資源都可以任意占用這200條線程中的部分線程。這樣存在的問題在于,一旦非關鍵資源變得不穩(wěn)定而導致非關鍵資源對線程數(shù)量的需求增大,勢必使得關鍵資源所能使用的線程數(shù)量大大減少,從而導致整個網(wǎng)絡服務器系統(tǒng)的不穩(wěn)定。通過上述分析,本申請通過對資源所能使用的線程數(shù)量進行限制,以保證關鍵資源所使用的線程數(shù)量。比如,針對jboss的200條線程,可以考慮為jboss的關鍵資源和非關鍵資源保留190條線程,而剩下的10條線程用于滿足資源需求洪流和突發(fā)增長的流量。而在保留的190條線程中,又可以為jboss依賴的非關鍵資源A分配20條線程。這樣,即使非關鍵資源A不穩(wěn)定,但由于分配給非關鍵資源A的線程有限,則非關鍵資源最多會堵塞20條線程,此時依舊有剩余的170條線程來響應對核心資源的請求,從而jboss的穩(wěn)定性基本不會受到影響?;谏鲜鏊枷?,本申請實施例提供一種資源獲取方案,用以解決現(xiàn)有技術中存在的非關鍵資源的不穩(wěn)定造成線程需求過大影響網(wǎng)絡服務器系統(tǒng)穩(wěn)定性的問題。
以下結合附圖,對本申請實施例提供的上述方案進行詳細說明。首先,本申請實施例提供一種如圖I所示的資源獲取方法,該方法包括下述主要步驟步驟11,網(wǎng)絡服務器系統(tǒng)接收業(yè)務請求,分配針對該業(yè)務請求的第一線程;較佳地,在分配了第一線程后,可以更新記錄的網(wǎng)絡服務器系統(tǒng)已占用的第一線程的數(shù)量;步驟12,網(wǎng)絡服務器系統(tǒng)利根據(jù)該業(yè)務請求,利用分配的第一線程確定完成業(yè)務所需的資源,并確定資源的屬性信息;其中,該業(yè)務請求可以是各種接入網(wǎng)絡服務器系統(tǒng)的應用系統(tǒng)或用戶終端發(fā)送的;在步驟12中,優(yōu)選地,網(wǎng)絡服務器系統(tǒng)根據(jù)業(yè)務請求,利用分配的第一線程確定 完成業(yè)務所需的資源具體可以為網(wǎng)絡服務器系統(tǒng)根據(jù)記錄的已占用線程的數(shù)量,確定出自身已占用線程的數(shù)量小于預先為自身配置的可用線程數(shù)量時,執(zhí)行根據(jù)業(yè)務請求,利用分配的第一線程確定完成業(yè)務所需的資源。后續(xù)當業(yè)務請求占用的線程被釋放后,網(wǎng)絡服務器系統(tǒng)可以再更新記錄的自身已占用線程的數(shù)量。步驟13,根據(jù)確定的屬性信息和預先定義的非關鍵資源的屬性信息利用分配的第一線程,從確定的資源中識別出具備非關鍵資源的屬性信息的資源,即識別出非關鍵資源;步驟14,根據(jù)記錄的非關鍵資源占用線程的數(shù)量,判斷非關鍵資源占用的第二線程的數(shù)量是否小于預先為非關鍵資源配置的第二線程的數(shù)量,在判斷結果為是時,執(zhí)行步驟15 ;在步驟14中,在判斷結果為否時,可以執(zhí)行放棄該業(yè)務請求的操作?;蛘?,也可以不放棄該業(yè)務請求,而改為對非關鍵資源占用的第二線程進行監(jiān)控,當監(jiān)控到有第二線程被釋放,使得非關鍵資源占用的第二線程的數(shù)量小于預先為非關鍵資源配置的第二線程的數(shù)量時,在繼續(xù)執(zhí)行下一步驟15。在本申請實施例中,在放棄業(yè)務請求后,為了使業(yè)務請求方(如應用系統(tǒng)、用戶終端等)獲知業(yè)務的處理情況,網(wǎng)絡服務器系統(tǒng)還可以進一步地執(zhí)行向業(yè)務請求方發(fā)送系統(tǒng)繁忙提示信息的操作。其中,預先為非關鍵資源配置的線程數(shù)量是滿足小于預先為網(wǎng)絡服務器系統(tǒng)配置的可用線程數(shù)量的,這樣就保證了非關鍵資源不會完全占用預先為網(wǎng)絡服務器系統(tǒng)配置的所有可用線程數(shù)量,從而實現(xiàn)了為關鍵資源保留一部分線程。步驟15,分配針對識別出的非關鍵資源的第二線程,以及利用分配的第二線程獲取識別出的非關鍵資源,流程結束;較佳地,在分配了第二線程后,還可以更新記錄的非關鍵資源已占用線程的數(shù)量。優(yōu)選地,上述第一線程被釋放后,網(wǎng)絡服務器系統(tǒng)可以對記錄的網(wǎng)絡服務器系統(tǒng)已占用第一線程的數(shù)量進行更新,以保持記錄的網(wǎng)絡服務器系統(tǒng)已占用線程的數(shù)量與實際的線程占用情況保持一致。類似地,網(wǎng)絡服務器系統(tǒng)在利用分配的第二線程獲取識別出的非關鍵資源后,也可以釋放第二線程,并更新記錄的非關鍵資源占用的第二線程的數(shù)量。優(yōu)選地,上述方法還可以進一步包括監(jiān)控網(wǎng)絡服務器系統(tǒng)自身已占用的線程以及非關鍵資源已占用的第一線程的步驟。在該步驟的基礎上,在監(jiān)控到網(wǎng)絡服務器系統(tǒng)自身已占用的第一線程被釋放后,可以更新記錄的網(wǎng)絡服務器系統(tǒng)已占用的第一線程的數(shù)量;而在監(jiān)控到非關鍵資源占用的第二線程被釋放后,可以更新記錄的非關鍵資源占用的第二線程的數(shù)量。通過上述方法,由于預先為非關鍵資源所能占用的線程數(shù)量進行了限制,使其不能超過預先為網(wǎng)絡服務器系統(tǒng)配置的可用線程數(shù)量,因此,即使非關鍵資源變得不穩(wěn)定而導致其需求的線程數(shù)量劇增,整個網(wǎng)絡服務器系統(tǒng)中仍然有空余的線程用于響應對關鍵資源的需求,從而保證系統(tǒng)的穩(wěn)定性。值得說明的是,在配置線程數(shù)量時,可以使為非關鍵資源配置的線程數(shù)量遠小于預先為網(wǎng)絡服務器系統(tǒng)配置的可用線程數(shù)量,例如,非關鍵資源配置的線程是預先為網(wǎng)絡服務器系統(tǒng)配置的可用線程數(shù)量的五十分之一至五分之一。這樣可以保證關鍵資源可用的線程足夠多,從而進一步保證系統(tǒng)的穩(wěn)定性。在本發(fā)明實施例中,預先為網(wǎng)絡服務器系統(tǒng)配置的可用線程數(shù)量M可以配置為小于網(wǎng)絡服務器系統(tǒng)包含的線程總數(shù)量X,這樣剩余的X-M條線程可以用于響應突發(fā)的資源需求洪流。在這樣的情況下,在上述步驟11中,網(wǎng)絡服務器系統(tǒng)在確定完成業(yè)務所需的資源之前,可以先確定自身已占用的線程的數(shù)量是否小于預先為自身配置的可用線程數(shù)量,并在確定結果為是時,再執(zhí)行步驟11中確定完成業(yè)務所需資源的操作。根據(jù)上述方案可知,在本申請實施例中,網(wǎng)絡服務器系統(tǒng)包含的線程總數(shù)量X可以有以下兩種劃分方式第一種劃分方式是將X劃分為2個部分。其中,劃分得到的第一部分用于響應非關鍵資源;而劃分得到的第二部分用于響應關鍵資源。一般地,第一部分包含的線程數(shù)量遠小于第二部分所包含的線程數(shù)量。通過對非關鍵資源所占用的線程數(shù)量進行限制的這種劃分方式,從而在一定程度上保證網(wǎng)絡服務器系統(tǒng)的穩(wěn)定性。第二種劃分方式是將X劃分為3個部分。其中,第一部分包含X-M條線程,這部分線程用于響應突發(fā)的資源需求洪流;第二部分包含N條線程,這部分線程用于響應非關鍵資源;第三部分則包含M-N條線程,這部分線程用于響應關鍵資源。這樣的劃分方式不僅限制了非關鍵資源所占用的線程,還預留了響應突發(fā)的資源需求洪流的線程,從而能充分保證網(wǎng)絡服務器系統(tǒng)的穩(wěn)定性。對應于上述第二種劃分方式,本發(fā)明實施例還提供一種業(yè)務請求處理方法,同樣用于解決現(xiàn)有技術中存在的非關鍵資源的不穩(wěn)定造成線程需求過大,從而影響網(wǎng)絡服務器 系統(tǒng)穩(wěn)定性的問題。該方法的具體流程示意圖如圖2所示,包括以下步驟步驟21,網(wǎng)絡服務器系統(tǒng)接收業(yè)務請求;步驟22,網(wǎng)絡服務器系統(tǒng)判斷自身已占用的線程的數(shù)量是否小于預先為網(wǎng)絡服務器系統(tǒng)配置的可用線程數(shù)量,在判斷結果為否時,向業(yè)務請求方發(fā)送系統(tǒng)繁忙提示信息;在判斷結果為是時,則執(zhí)行步驟23 ;該步驟中,預先為網(wǎng)絡服務器系統(tǒng)配置的可用線程數(shù)量M小于網(wǎng)絡服務器系統(tǒng)包含的線程總數(shù)量X ;步驟23,網(wǎng)絡服務器系統(tǒng)根據(jù)業(yè)務請求確定完成業(yè)務所需的資源并確定資源的屬性信息,根據(jù)資源的屬性信息和預先定義的非關鍵資源的屬性信息,從確定的資源中識別出非關鍵資源;步驟24,網(wǎng)絡服務器系統(tǒng)比較識別出的非關鍵資源已占用線程的數(shù)量是否小于預先為非關鍵資源配置的線程數(shù)量N(N滿足N < M),并在比較結果為是時,執(zhí)行步驟25,否貝U,執(zhí)行步驟26 ;步驟25,獲取識別出的非關鍵資源,流程結束;步驟26,放棄獲取識別出的非關鍵資源。優(yōu)選地,在步驟26之后,還可以進一步包括監(jiān)控網(wǎng)絡服務器系統(tǒng)的線程,并在監(jiān)控到網(wǎng)絡服務器系統(tǒng)的線程被釋放,使得非關鍵資源占用的線程數(shù)量小于預先為非關鍵資源配置的線程數(shù)量后,獲取識別出的非關鍵資源,流程結束。較佳地,網(wǎng)絡服務器系統(tǒng)在獲取到識別出的非關鍵資源后,還可以進一步地執(zhí)行利用獲取的非關鍵資源處理相應于業(yè)務請求的業(yè)務的操作,并將得到業(yè)務處理結果發(fā)送給業(yè)務請求方。通過對本申請實施例提供的方案與現(xiàn)有技術提供的方案進行比較可知,在沒有采 用本申請實施例提供的線程分配策略的現(xiàn)有技術中,如針對包含200條線程的網(wǎng)絡服務器系統(tǒng),一旦某非關鍵資源A變得不穩(wěn)定,則會瞬間消耗掉網(wǎng)絡服務器系統(tǒng)190條線程,從而導致該網(wǎng)絡服務器系統(tǒng)穩(wěn)定性受到極大影響,而通過本申請實施例提供的方案,即使非關鍵資源變得不穩(wěn)定而導致需求的線程量增大,非關鍵資源占用的線程數(shù)量由于受到限制也不會影響到網(wǎng)絡服務器系統(tǒng)的穩(wěn)定性。以下對本申請實施例提供的上述方案在實際中的應用進行說明。以某個網(wǎng)絡服務器系統(tǒng)T (以下簡稱“系統(tǒng)T”)為例,該系統(tǒng)T的總線程數(shù)量為X。按照本申請實施例提供的方案,可以將X劃分為兩個部分,其分別為L、M,滿足L+M = X。其中,該系統(tǒng)T所能使用的總線程數(shù)量為M ;系統(tǒng)T的非關鍵資源所占用的線程數(shù)量為這M條線程中的N個,滿足N << M ;而L條線程則可以用于響應系統(tǒng)T中過量的業(yè)務請求。這樣,由于非關鍵資源最多堵塞N條線程,而N遠小于M,因此N條線程的堵塞對整個系統(tǒng)T的正常運行不會產(chǎn)生大的影響。而系統(tǒng)T則是最多堵塞M條線程,由于M肯定小于總線程數(shù)量X,因此,總會有X-M = L條線程用于響應過量的業(yè)務請求。在系統(tǒng)T中實現(xiàn)本申請實施例提供的上述方案的具體流程示意圖如圖3所示,包括以下步驟步驟31,用戶終端向系統(tǒng)T發(fā)起一個業(yè)務請求;步驟32,系統(tǒng)T比較自身當前已使用的線程數(shù)量a與M,當比較結果為a > M時,從預留的X-M條用于響應過量業(yè)務請求的線程中選取一條線程來向用戶終端返回系統(tǒng)T繁忙提示信息,否則,執(zhí)行步驟33 ;步驟33,由于此時a < M,因此,除預留的X_M條線程外,系統(tǒng)T中還包含能夠用于響應該業(yè)務請求的M-a條線程,比如,假設此時系統(tǒng)T中有一條線程響應了該業(yè)務請求,則系統(tǒng)T對自身當前已使用的線程數(shù)量a執(zhí)行加I的計數(shù)操作,即執(zhí)行a+Ι,并對執(zhí)行該計數(shù)操作后得到的a+Ι這一數(shù)據(jù)進行記錄,利用a+Ι的值更新自身當前已使用的線程數(shù)量a ;步驟34,系統(tǒng)T根據(jù)用戶終端發(fā)來的業(yè)務請求,確定為滿足該業(yè)務請求所需獲取的資源,并確定該資源的屬性信息;步驟35,根據(jù)確定出的屬性信息和預先定義的非關鍵資源的屬性信息,從確定的資源中識別出非關鍵資源,比如,假設識別出非關鍵資源A ;步驟36,系統(tǒng)T確定當前非關鍵資源A所占用的線程數(shù)量b,并比較b和預先配置的非關鍵資源A可占用的最大線程數(shù)量N,當比較結果為b ^ N時,放棄獲取識別出的非關鍵資源,此時可以由用戶終端重新發(fā)起業(yè)務請求;執(zhí)行步驟311,否則,執(zhí)行步驟37 ;步驟37,由于此時有b < N,因此,至少還有N-b條線程可用于獲取該非關鍵資源A,比如,假設 此時系統(tǒng)T中有一條線程被分配用于獲取該非關鍵資源A,則系統(tǒng)T對非關鍵資源A占用的線程數(shù)量b執(zhí)行加I的計數(shù)操作,即執(zhí)行b+Ι,并對執(zhí)行該計數(shù)操作后得到的b+Ι這一數(shù)據(jù)進行記錄,利用b+Ι的值更新當前非關鍵資源A所占用的線程數(shù)量b ;步驟38,犾取非關鍵資源A ; 步驟39,在獲取到非關鍵資源A后,上述用于獲取非關鍵資源A的該條線程可以被釋放了,當該條線程被釋放后,系統(tǒng)T執(zhí)行對步驟37中更新的當前非關鍵資源A所占用的線程數(shù)量b進行減I的計數(shù)操作,即執(zhí)行b-Ι的操作,并對執(zhí)行該操作后得到的數(shù)據(jù)b進行記錄,利用b+Ι的值更新當前非關鍵資源A所占用的線程數(shù)量b ;步驟310,系統(tǒng)T利用非關鍵資源A完成相應的業(yè)務處理,并繼續(xù)執(zhí)行步驟311 ;步驟311,系統(tǒng)T執(zhí)行對步驟33中記錄自身當前已使用的線程數(shù)量a進行減I的計數(shù)操作,即執(zhí)行a-Ι的操作,并對執(zhí)行該操作后得到的數(shù)據(jù)a進行記錄,利用a-Ι的值更新自身當前已使用的線程數(shù)量a。該步驟311中,存在以下兩種情況一、從步驟310進入該步驟311,此時,在利用非關鍵資源A完成相應的業(yè)務處理后,釋放相應的用于響應上述業(yè)務請求的線程,執(zhí)行利用a-Ι的值更新自身當前已使用的線程數(shù)量a ;二、從步驟36轉入,即當比較結果為b ^ N時,放棄獲取識別出的非關鍵資源后,執(zhí)行步驟311 ;此時,釋放用于響應上述業(yè)務請求的該條線程,執(zhí)行利用a-Ι的值更新自身當前已使用的線程數(shù)量a;;步驟312,系統(tǒng)T將相應的處理結果發(fā)送給用戶終端,流程結束。通過上述步驟可知,由于非關鍵資源A所占用的線程數(shù)量受到限制,因此一旦非關鍵資源A所占用的線程的數(shù)量達到預設的數(shù)量上限,則會放棄獲取非關鍵資源A或者等待在監(jiān)控到線程數(shù)量被釋放后,使得確定的非關鍵資源占用的線程數(shù)量小于預先為非關鍵資源配置的線程數(shù)量時,獲取識別出的非關鍵資源,從而避免了非關鍵資源A占用線程過多而導致關鍵資源可用線程減少而影響系統(tǒng)穩(wěn)定性的問題。對應于本發(fā)明實施例提供的資源獲取方法,本發(fā)明實施例還提供一種網(wǎng)絡服務器系統(tǒng),該系統(tǒng)包括如圖4所示的功能單元線程記錄單元41、接收單元42、線程分配單元43、資源確定單元44、資源識別單元45、判斷單元46、獲取單元47,其中,各個單元具體實現(xiàn)的功能如下線程記錄單元41,用于記錄網(wǎng)絡服務器系統(tǒng)占用的第一線程的數(shù)量和非關鍵資源占用的第二線程的數(shù)量;接收單元42,用于接收業(yè)務請求;線程分配單元43,用于分配針對接收單元42接收的業(yè)務請求的第一線程,并分配針對資源識別單元45識別出的非關鍵資源的第二線程;資源確定單元44,用于根據(jù)接收單元42接收的業(yè)務請求,利用線程分配單元43分配的第一線程確定完成業(yè)務所需的資源,并確定該資源的屬性信息;
資源識別單元45,用于根據(jù)資源確定單元44確定的屬性信息和預先定義的非關鍵資源的屬性信息,利用線程分配單元43分配的第一線程從資源確定單元44確定的資源中識別出非關鍵資源;判斷單元46,用于根據(jù)線程記錄單元41記錄的非關鍵資源占用的第二線程的數(shù)量,判斷非關鍵資源占用的第二線程的數(shù)量是否小于預先為非關鍵資源配置的第二線程的數(shù)量(其中,預先為非關鍵資源配置的的第二線程數(shù)量可以小于預先為網(wǎng)絡服務器系統(tǒng)配置的第二線程的可用數(shù)量);獲取單元47,用于在判斷單元46得到的判斷結果為是時,利用線程分配單元43分配的第二線程獲取資源識別單元45識別出的非關鍵資源。較佳地,本申請實施例提供的該系統(tǒng)還可以進一步包括放棄單元,其用于在判斷單元46得到的判斷結果為否時,放棄接收單元42接收的業(yè)務請求。
在一個較佳的實施例中,上述線程分配單元43具體可以用于判斷網(wǎng)絡服務器系統(tǒng)占用的第一線程的數(shù)量是否小于為網(wǎng)絡服務器系統(tǒng)配置的可用線程數(shù)量;并在判斷結果為是時,分配針對上述業(yè)務請求的第一線程。在一個較佳的實施例中,本申請實施例提供的該網(wǎng)絡服務器系統(tǒng)還可以進一步包括線程更新單元。其用于當線程分配單元43分配了第一線程,或者第一線程被釋放時,更新線程記錄單元41記錄的第一線程的數(shù)量。此外,還可以用于當線程分配單元43分配了第二線程,或在利用分配的第二線程獲取識別出的非關鍵資源后釋放第二線程時,更新線程記錄單元41記錄的第二線程的數(shù)量。顯然,本領域的技術人員可以對本申請進行各種改動和變型而不脫離本申請的精神和范圍。這樣,倘若本申請的這些修改和變型屬于本申請權利要求及其等同技術的范圍之內(nèi),則本申請也意圖包含這些改動和變型在內(nèi)。
權利要求
1.一種資源獲取方法,其特征在于,包括 網(wǎng)絡服務器系統(tǒng)接收業(yè)務請求; 分配針對所述業(yè)務請求的第一線程; 根據(jù)所述業(yè)務請求,利用分配的所述第一線程確定完成業(yè)務所需的資源并確定所述資源的屬性信息; 根據(jù)所述屬性信息和預先定義的非關鍵資源的屬性信息,利用分配的所述第一線程從確定的資源中識別出非關鍵資源; 當從確定的資源中識別出非關鍵資源時,根據(jù)記錄的非關鍵資源占用第二線程的數(shù)量,判斷非關鍵資源已占用第二線程的數(shù)量是否小于為非關鍵資源配置的第二線程的數(shù)量; 在判斷結果為是時,分配針對識別出的非關鍵資源的第二線程; 并利用分配的第二線程獲取識別出的非關鍵資源。
2.如權利要求I所述的方法,其特征在于,分配針對所述業(yè)務請求的第一線程,具體包括 判斷占用的第一線程的數(shù)量是否小于為所述網(wǎng)絡服務器系統(tǒng)配置的可用線程數(shù)量;并 在判斷結果為是時,分配針對所述業(yè)務請求的第一線程。
3.如權利要求I所述的方法,其特征在于,還包括 記錄占用的所述第一線程的數(shù)量; 當分配或釋放所述第一線程時,更新記錄的占用的所述第一線程的數(shù)量。
4.如權利要求I所述的方法,其特征在于,還包括 記錄占用的所述第二線程的數(shù)量; 當分配所述第二線程后或者在利用分配的第二線程獲取識別出的非關鍵資源后釋放所述第二線程時,更新記錄的非關鍵資源占用的第二線程的數(shù)量。
5.如權利要求I 4任一所述的方法,其特征在于,還包括 在判斷結果為否時,放棄所述業(yè)務請求。
6.一種網(wǎng)絡服務器系統(tǒng),其特征在于,包括線程記錄單元、接收單元、線程分配單元、資源確定單元、資源識別單元、判斷單元、獲取單元,其中 線程記錄單元,用于記錄所述網(wǎng)絡服務器系統(tǒng)占用的第一線程的數(shù)量和非關鍵資源占用的第二線程的數(shù)量; 接收單元,用于接收業(yè)務請求; 線程分配單元,用于分配針對接收單元接收的業(yè)務請求的第一線程,并分配針對資源識別單元識別出的非關鍵資源的第二線程; 資源確定單元,用于根據(jù)接收單元接收的業(yè)務請求,利用線程分配單元分配的第一線程確定完成業(yè)務所需的資源,并確定所述資源的屬性信息; 資源識別單元,用于根據(jù)資源確定單元確定的屬性信息和預先定義的非關鍵資源的屬性信息,利用線程分配單元分配的第一線程從資源確定單元確定的資源中識別出非關鍵資源; 判斷單元,用于根據(jù)線程記錄單元記錄的非關鍵資源占用的第二線程的數(shù)量,判斷非關鍵資源占用的第二線程的數(shù)量是否小于預先為非關鍵資源配置的第二線程數(shù)量;獲取單元,用于在判斷單元得到的判斷結果為是時,利用線程分配單元分配的第二線程獲取資源識別單元識別出的非關鍵資源。
7.如權利要求6所述的網(wǎng)絡服務器系統(tǒng),其特征在于,線程分配單元具體用于 判斷占用的第一線程的數(shù)量是否小于為所述網(wǎng)絡服務器系統(tǒng)配置的可用線程數(shù)量;并在判斷結果為是時,分配針對所述業(yè)務請求的第一線程。
8.如權利要求6所述的網(wǎng)絡服務器系統(tǒng),其特征在于,還包括 線程更新單元,用于當線程分配單元分配了第一線程,或者第一線程被釋放時,更新線程記錄單元記錄的所述第一線程的數(shù)量。
9.如權利要求8所述的網(wǎng)絡服務器系統(tǒng),其特征在于,所述線程更新單元還用于當線程分配單元分配了第二線程,或在利用分配的第二線程獲取識別出的非關鍵資源后釋放所述第二線程時,更新線程記錄單元記錄的所述第二線程的數(shù)量。
10.如權利要求6 9任一所述的網(wǎng)絡服務器系統(tǒng),其特征在于,還包括 放棄單元,用于在判斷單元得到的判斷結果為否時,放棄接收單元接收的業(yè)務請求。
全文摘要
本申請公開了一種資源獲取方法與網(wǎng)絡服務器系統(tǒng),解決現(xiàn)有技術中存在的非關鍵資源的不穩(wěn)定造成線程需求過大影響網(wǎng)絡服務器系統(tǒng)穩(wěn)定性的問題。方法包括網(wǎng)絡服務器系統(tǒng)接收業(yè)務請求;分配針對業(yè)務請求的第一線程;根據(jù)業(yè)務請求,利用分配的第一線程確定完成業(yè)務所需的資源并確定資源的屬性信息;根據(jù)所述屬性信息和預先定義的非關鍵資源的屬性信息,利用第一線程從確定的資源中識別出非關鍵資源;根據(jù)記錄的非關鍵資源占用第二線程的數(shù)量,判斷非關鍵資源已占用第二線程的數(shù)量是否小于為非關鍵資源配置的第二線程的數(shù)量;在判斷結果為是時,分配針對識別出的非關鍵資源的第二線程;并利用分配的第二線程獲取識別出的非關鍵資源。
文檔編號H04L12/56GK102811154SQ20111014427
公開日2012年12月5日 申請日期2011年5月31日 優(yōu)先權日2011年5月31日
發(fā)明者蔣江偉, 岳旭強 申請人:阿里巴巴集團控股有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
东兴市| 屯昌县| 磐安县| 宁陵县| 漯河市| 吴忠市| 永济市| 察雅县| 南宫市| 肇源县| 桂平市| 乐至县| 周口市| 保德县| 托克逊县| 民权县| 襄汾县| 睢宁县| 宁都县| 柏乡县| 襄垣县| 云和县| 大荔县| 皋兰县| 常州市| 宁都县| 公主岭市| 海兴县| 南皮县| 遵义县| 屏山县| 遵义市| 桐乡市| 长子县| 青龙| 囊谦县| 巍山| 和平区| 蓬莱市| 清远市| 建水县|