亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

應(yīng)用級異步任務(wù)調(diào)度系統(tǒng)和方法

文檔序號:6605302閱讀:226來源:國知局
專利名稱:應(yīng)用級異步任務(wù)調(diào)度系統(tǒng)和方法
技術(shù)領(lǐng)域
本發(fā)明涉及作業(yè)調(diào)度處理技術(shù)領(lǐng)域,特別是涉及一種應(yīng)用級異步調(diào)度系統(tǒng)及方 法。
背景技術(shù)
在日常的系統(tǒng)運(yùn)行中,在線事務(wù)處理進(jìn)程環(huán)境OLTP系統(tǒng)在營業(yè)期間不可避免的 需要進(jìn)行一些條件相對靈活的查詢統(tǒng)計(jì),目前系統(tǒng)對于這些查詢統(tǒng)計(jì)等同于實(shí)時(shí)任務(wù),予 以實(shí)時(shí)響應(yīng)。這些查詢統(tǒng)計(jì)相比聯(lián)機(jī)事務(wù)處理業(yè)務(wù)而言,實(shí)時(shí)性要求低于后者,但其資源的 消耗又遠(yuǎn)高于后者。在多層式應(yīng)用架構(gòu)中,這種資源消耗不但體現(xiàn)在數(shù)據(jù)庫的CPU及I/O處 理資源上,還會(huì)表現(xiàn)在應(yīng)用服務(wù)器的CPU、內(nèi)存資源消耗上。以J2EE架構(gòu)的B/S系統(tǒng)為例, 這類查詢統(tǒng)計(jì)所返回的巨大結(jié)果集,會(huì)導(dǎo)致應(yīng)用服務(wù)器花費(fèi)大量CPU來解析生成超文本格 式結(jié)果信息。這些查詢統(tǒng)計(jì)還具有一定的隨機(jī)性和突發(fā)性,如果其在業(yè)務(wù)高峰時(shí)段集中發(fā) 生,就會(huì)嚴(yán)重威脅到了 OLTP系統(tǒng)的聯(lián)機(jī)事務(wù)處理效率和系統(tǒng)的穩(wěn)定性。另外,根據(jù)來自真實(shí)應(yīng)用系統(tǒng)的統(tǒng)計(jì)系統(tǒng)接收到的查詢請求中,有25%是本人 曾經(jīng)在一周內(nèi)執(zhí)行過的相同查詢;10%是其他人曾經(jīng)在一周內(nèi)執(zhí)行過的相同查詢,而查詢 的結(jié)果卻完全一樣,再次執(zhí)行的目的僅僅是希望重新查看查詢結(jié)果;只有65%的查詢請求 是第一次被執(zhí)行。如果在本人或者他人再次提交查詢請求時(shí),能復(fù)用首次查詢的結(jié)果,那么 系統(tǒng)的查詢資源消耗在理想情況下可以減少35%左右;如果不僅能復(fù)用一周內(nèi)的查詢結(jié) 果,而是將復(fù)用周期增加到1個(gè)月甚至更長,效果將會(huì)更加顯著。與業(yè)務(wù)高峰時(shí)段資源緊張同樣不相稱的是,在業(yè)務(wù)空閑時(shí)段,有大量的系統(tǒng)資源 閑置和浪費(fèi),以某系統(tǒng)某日白天的資源使用率進(jìn)行統(tǒng)計(jì)為例發(fā)現(xiàn),在早上9:00之前,中午 12:00至14:00,以及下午17:00之后這幾個(gè)時(shí)段,系統(tǒng)的資源使用率不足50%。因此,如何將OLTP中的部分實(shí)時(shí)性要求不高的處理任務(wù)合理安排到系統(tǒng)空閑時(shí) 進(jìn)行處理,實(shí)現(xiàn)系統(tǒng)處理壓力平衡,發(fā)揮利用實(shí)時(shí)任務(wù)的空閑時(shí)間處理上述任務(wù),從而提高 系統(tǒng)的整體性能,一直是目前各單位在不斷研究的問題。

發(fā)明內(nèi)容
(一)要解決的技術(shù)問題有鑒于此,本發(fā)明的主要目的在于提供一種應(yīng)用級異步任務(wù)調(diào)度系統(tǒng)和方法,以 實(shí)現(xiàn)有效利用系統(tǒng)資源。( 二 )技術(shù)方案本發(fā)明提供了一種應(yīng)用級異步調(diào)度系統(tǒng),該系統(tǒng)包括數(shù)據(jù)服務(wù)裝置,用于運(yùn)行數(shù) 據(jù)庫管理系統(tǒng),存放異步任務(wù)的參數(shù)信息、實(shí)例信息、任務(wù)處理結(jié)果,同時(shí)還存放實(shí)時(shí)任務(wù) 與批量處理的相關(guān)數(shù)據(jù)信息;以及異步任務(wù)應(yīng)用服務(wù)裝置,用于在接收到異步任務(wù)請求時(shí), 進(jìn)行特征識別,按任務(wù)特征字在數(shù)據(jù)服務(wù)裝置中檢索,如果存在相同特征的任務(wù)成功執(zhí)行 結(jié)果,則直接輸出至客戶終端裝置,如果存在相同特征的任務(wù)正在處理,則輸出正在處理信息至客戶終端裝置,否則提交一個(gè)新的異步任務(wù)請求到數(shù)據(jù)服務(wù)裝置中。上述異步任務(wù)應(yīng)用服務(wù)裝置進(jìn)一步包括異步任務(wù)調(diào)度裝置,其對應(yīng)一個(gè)管理線 程,用于檢測工作線程和異步任務(wù)隊(duì)列,來處理當(dāng)時(shí)是否有空閑工作線程、當(dāng)前是否有需要 處理的異步任務(wù),根據(jù)判斷結(jié)果來啟動(dòng)異步任務(wù)處理裝置;異步任務(wù)處理裝置,其對應(yīng)一個(gè) 或一組工作線程,用于響應(yīng)異步任務(wù)調(diào)度裝置的要求執(zhí)行或者終止執(zhí)行某個(gè)異步任務(wù),或 接收用戶的終止請求,并向用戶報(bào)告工作狀態(tài),在任務(wù)執(zhí)行完畢后,記錄任務(wù)執(zhí)行結(jié)果;異 步任務(wù)超時(shí)處理裝置,其對應(yīng)一個(gè)工作線程,用于處理任務(wù)執(zhí)行時(shí)間超出任務(wù)參數(shù)定義的 最長時(shí)限的任務(wù),終止對應(yīng)異步任務(wù)處理裝置的工作,更新對應(yīng)異步任務(wù)狀態(tài),記錄終止情 況。上述一種應(yīng)用級異步調(diào)度系統(tǒng)還包括實(shí)時(shí)業(yè)務(wù)應(yīng)用服務(wù)裝置,用于處理實(shí)時(shí)任 務(wù),并能夠?qū)Ξ惒饺蝿?wù)的執(zhí)行情況進(jìn)行查詢或者獲取存放在數(shù)據(jù)服務(wù)裝置上的異步任務(wù)執(zhí) 行結(jié)果;Web服務(wù)裝置,用于將客戶終端裝置的請求轉(zhuǎn)發(fā)給實(shí)時(shí)業(yè)務(wù)應(yīng)用服務(wù)裝置或異步 任務(wù)應(yīng)用服務(wù)裝置,同時(shí)將實(shí)時(shí)業(yè)務(wù)應(yīng)用服務(wù)裝置或異步任務(wù)應(yīng)用服務(wù)裝置的信息通過內(nèi) 部網(wǎng)絡(luò)5發(fā)送給客戶終端裝置。另外,本發(fā)明還提供了一種應(yīng)用級異步調(diào)度方法,該方法包括以下步驟步驟1, 異步任務(wù)應(yīng)用服務(wù)裝置從客戶終端裝置接收任務(wù)請求;步驟2,異步任務(wù)應(yīng)用服務(wù)裝置判 斷所述任務(wù)請求是實(shí)時(shí)任務(wù)請求還是異步任務(wù)請求,如果是實(shí)時(shí)任務(wù)請求,則按照實(shí)時(shí)任 務(wù)對其進(jìn)行處理,如果是異步任務(wù)請求,則轉(zhuǎn)入步驟3 ;步驟3,異步任務(wù)應(yīng)用服務(wù)裝置檢索 相同類型任務(wù)在相同參數(shù)條件下是否已有處理完成結(jié)果,如果有則提取已有處理完成結(jié)果 返回給客戶終端裝置,如果不存在,則檢查是否存在相同類型任務(wù)在相同參數(shù)條件下的正 在處理的任務(wù),如果存在則提取任務(wù)實(shí)例號返回給客戶終端裝置,客戶終端裝置等待所述 任務(wù)完成并獲得處理結(jié)果;如果不存在,則將該異步任務(wù)請求生成一個(gè)新的異步任務(wù)存儲(chǔ) 到異步任務(wù)隊(duì)列中,異步任務(wù)調(diào)度裝置啟動(dòng)所述異步任務(wù)的運(yùn)行。上述方法還包括步驟4,異步任務(wù)調(diào)度裝置檢測當(dāng)前是否具有空閑線程,如果沒 有,則繼續(xù)檢測,如果有,則執(zhí)行步驟5 ;步驟5,異步任務(wù)調(diào)度裝置利用所述空閑線程執(zhí)行 所述異步任務(wù)。上述步驟4還包括異步任務(wù)調(diào)度裝置根據(jù)當(dāng)前可供異步任務(wù)使用的線程數(shù)、當(dāng) 前正在處理的異步任務(wù)線程數(shù)、當(dāng)前時(shí)間計(jì)劃內(nèi)的最大、最小異步并發(fā)線程數(shù)得出當(dāng)前是 否有空閑線程供異步任務(wù)執(zhí)行使用。如果當(dāng)前沒有空閑線程,則異步任務(wù)調(diào)度裝置根據(jù)參 數(shù)設(shè)置等待η秒后再掃描是否有空閑線程,η表示自然數(shù)。(三)有益效果本發(fā)明克服了現(xiàn)有OLTP系統(tǒng)處理模式的不足,提供了一種應(yīng)用級異步調(diào)度系統(tǒng) 及方法,將聯(lián)機(jī)業(yè)務(wù)按照實(shí)時(shí)性要求分為實(shí)時(shí)任務(wù)和異步任務(wù)兩類,將異步任務(wù)放在任務(wù) 隊(duì)列中,由獨(dú)立的異步應(yīng)用服務(wù)裝置進(jìn)行多線程的統(tǒng)一調(diào)度和并發(fā)控制,在應(yīng)用服務(wù)器和 數(shù)據(jù)庫服務(wù)器兩端實(shí)現(xiàn)了資源的有效控制,并利用隊(duì)列的平滑作用,更充分的利用了非業(yè) 務(wù)高峰時(shí)段的空閑資源。同時(shí),對查詢統(tǒng)計(jì)類業(yè)務(wù),將其結(jié)果保存下來,并按照一個(gè)或一組 任務(wù)特征字建立目錄索引,當(dāng)提交相同特征字的查詢請求時(shí),則立即直接返回結(jié)果,而不必 重新進(jìn)行查詢,實(shí)現(xiàn)應(yīng)用級的內(nèi)容緩沖,避免不必要的資源消耗,實(shí)現(xiàn)系統(tǒng)處理壓力平衡, 從而提高系統(tǒng)的整體性能。


圖1是本發(fā)明應(yīng)用級異步調(diào)度系統(tǒng)結(jié)構(gòu)示意圖;圖2是本發(fā)明的異步任務(wù)應(yīng)用服務(wù)裝置的結(jié)構(gòu)示意圖;以及圖3是本發(fā)明應(yīng)用級異步調(diào)度方法流程圖。
具體實(shí)施例方式為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚明白,以下參照附圖對本發(fā)明的技 術(shù)方案進(jìn)一步詳細(xì)說明。圖1是本發(fā)明提供的應(yīng)用級異步調(diào)度系統(tǒng)的結(jié)構(gòu)示意圖,該系統(tǒng)包括數(shù)據(jù)服務(wù) 裝置1、異步任務(wù)應(yīng)用服務(wù)裝置2、實(shí)時(shí)業(yè)務(wù)應(yīng)用服務(wù)裝置3、TOB服務(wù)裝置4、內(nèi)部網(wǎng)絡(luò)5和 客戶終端裝置6。其中,數(shù)據(jù)服務(wù)裝置1可以是一個(gè)PC服務(wù)器或主機(jī),用于運(yùn)行數(shù)據(jù)庫管理系統(tǒng),存 放異步任務(wù)的參數(shù)信息、實(shí)例信息、任務(wù)處理結(jié)果,同時(shí)還存放實(shí)時(shí)業(yè)務(wù)與批量處理的相關(guān) 數(shù)據(jù)信息。異步任務(wù)應(yīng)用服務(wù)裝置2可以是一個(gè)或一組PC服務(wù)器或主機(jī),用于作為處理異步 任務(wù)專用的應(yīng)用服務(wù)器,負(fù)責(zé)響應(yīng)客戶終端裝置6提交的業(yè)務(wù)請求,對數(shù)據(jù)服務(wù)裝置1進(jìn)行 訪問,對異步任務(wù)進(jìn)行統(tǒng)一調(diào)度處理,并生成異步任務(wù)結(jié)果,生成結(jié)果分成二種,一種形成 文本格式存放于異步任務(wù)應(yīng)用服務(wù)裝置2自身,另外一種保存于數(shù)據(jù)庫中表中存放于數(shù)據(jù) 服務(wù)裝置1中,另外,還能對異步任務(wù)進(jìn)行超時(shí)檢測,處理超時(shí)任務(wù)。異步任務(wù)應(yīng)用服務(wù)裝置2包括如圖2所示的3個(gè)邏輯部分異步任務(wù)調(diào)度裝置10、 異步任務(wù)處理裝置11和異步任務(wù)超時(shí)處理裝置12。異步任務(wù)應(yīng)用服務(wù)裝置2在啟動(dòng)或初 始化時(shí),將啟動(dòng)一個(gè)異步任務(wù)調(diào)度裝置10 (對應(yīng)管理線程),并激活若干個(gè)異步任務(wù)處理裝 置11 (對應(yīng)工作線程),來處理異步任務(wù)調(diào)度裝置10實(shí)際調(diào)度到的一個(gè)任務(wù)的執(zhí)行工作。 異步任務(wù)應(yīng)用服務(wù)裝置2在啟動(dòng)或初始化時(shí),同時(shí)啟動(dòng)一個(gè)異步任務(wù)超時(shí)處理裝置12,專 門處理超時(shí)的異步任務(wù),當(dāng)檢測到該任務(wù)超時(shí),則終止超時(shí)異步任務(wù)的線程并更新相應(yīng)狀 態(tài)信息,例如,將狀態(tài)信息更新為任務(wù)超時(shí)。實(shí)時(shí)業(yè)務(wù)應(yīng)用服務(wù)裝置3可以是一個(gè)或一組PC服務(wù)器或主機(jī),用于作為處理實(shí)時(shí) 任務(wù)的應(yīng)用服務(wù)器,可以對異步任務(wù)的執(zhí)行情況進(jìn)行查詢,也可以獲取存放在數(shù)據(jù)服務(wù)裝 置1上的異步任務(wù)執(zhí)行結(jié)果。WEB服務(wù)裝置4可以是一個(gè)或一組PC服務(wù)器或主機(jī),也可與實(shí)時(shí)業(yè)務(wù)應(yīng)用服務(wù)裝 置3共用硬件配置,作為WEB服務(wù)器,用于將客戶終端裝置6的請求轉(zhuǎn)發(fā)給實(shí)時(shí)應(yīng)用服務(wù)裝 置3或異步任務(wù)應(yīng)用服務(wù)裝置2 ;同時(shí)將實(shí)時(shí)業(yè)務(wù)應(yīng)用服務(wù)裝置3和異步任務(wù)應(yīng)用服務(wù)裝 置2的信息通過內(nèi)部網(wǎng)絡(luò)5發(fā)送給客戶終端裝置6。內(nèi)部網(wǎng)絡(luò)5為企業(yè)的局域網(wǎng),可以是以太網(wǎng)(Ethernet),也可以是其它局域網(wǎng),如 光纖分布式數(shù)據(jù)接口(FDDI)、令牌環(huán)(Token-Ring)等。另外還可以通過租用專線等方式將 其各個(gè)分支機(jī)構(gòu)的局域網(wǎng)連接組成更大的企業(yè)內(nèi)部網(wǎng)(Intranet)。客戶終端裝置6是系統(tǒng)的客戶端,可以是一臺個(gè)人PC,安裝有瀏覽器軟件,也可以 是其它能夠運(yùn)行瀏覽器軟件的裝置,如NC、Windows圖形終端等。它有顯示裝置和輸入裝置,輸入裝置可以是鍵盤和鼠標(biāo)。它連接到內(nèi)部網(wǎng)5。圖2是本發(fā)明異步任務(wù)應(yīng)用服務(wù)裝置的結(jié)構(gòu)示意圖。異步任務(wù)應(yīng)用服務(wù)裝置2, 用于在接到Web服務(wù)裝置4轉(zhuǎn)發(fā)過來的異步任務(wù)請求時(shí),進(jìn)行特征識別,按任務(wù)特征字在數(shù) 據(jù)服務(wù)裝置1中檢索,如果存在相同特征的任務(wù)成功執(zhí)行結(jié)果,則直接輸出至客戶終端裝 置6;如果存在相同特征的任務(wù)正在處理,則輸出正在處理信息至客戶終端裝置6,否則提 交一個(gè)新的異步任務(wù)請求到數(shù)據(jù)服務(wù)裝置1中。異步任務(wù)應(yīng)用服務(wù)裝置2包括異步任務(wù)調(diào)度裝置10,其對應(yīng)一個(gè)管理線程,用于 檢測工作線程和異步任務(wù)隊(duì)列,來處理當(dāng)時(shí)是否有空閑工作線程、當(dāng)前是否有需要處理的 異步任務(wù),根據(jù)判斷結(jié)果來啟動(dòng)異步任務(wù)處理裝置11 ;異步任務(wù)處理裝置11,其對應(yīng)一個(gè) 或一組工作線程,用于響應(yīng)異步任務(wù)調(diào)度裝置10的要求執(zhí)行或者終止執(zhí)行某個(gè)異步任務(wù), 或接收用戶的終止請求,并向其報(bào)告工作狀態(tài);在任務(wù)執(zhí)行完畢后,記錄任務(wù)執(zhí)行結(jié)果;以 及異步任務(wù)超時(shí)處理裝置12,其對應(yīng)一個(gè)工作線程,用于處理任務(wù)執(zhí)行時(shí)間超出異步任務(wù) 參數(shù)定義的超時(shí)時(shí)間的任務(wù),終止對應(yīng)異步任務(wù)處理裝置11的工作,更新對應(yīng)異步任務(wù)狀 態(tài),記錄終止情況。其中異步任務(wù)參數(shù)用于定義每個(gè)異步任務(wù)的本身屬性,對應(yīng)異步任務(wù)的 中斷標(biāo)志、優(yōu)先級、超時(shí)時(shí)間、是否允許重新執(zhí)行、任務(wù)時(shí)間預(yù)約、是否允許任務(wù)并發(fā),幾個(gè) 參數(shù)可通過配置文件或數(shù)據(jù)表來進(jìn)行定義。其中異步任務(wù)狀態(tài)分為待處理、正在處理、處理 完成,異步任務(wù)新申請時(shí)默認(rèn)狀態(tài)為待處理,在異步任務(wù)調(diào)度裝置10調(diào)度到交于異步任務(wù) 處理裝置11處理時(shí)更新成正在處理,當(dāng)異步任務(wù)處理裝置11處理完成后更新成處理完成。圖3是本發(fā)明應(yīng)用級異步調(diào)度方法的流程圖。具體步驟描述如下步驟100 客戶終端裝置6向Web服務(wù)裝置4提交異步任務(wù)請求;步驟101 =Web服務(wù)裝置4區(qū)分實(shí)時(shí)任務(wù)和異步任務(wù),并根據(jù)區(qū)分結(jié)果轉(zhuǎn)發(fā)到實(shí)時(shí) 業(yè)務(wù)應(yīng)用服務(wù)裝置3或異步任務(wù)應(yīng)用服務(wù)裝置2 ;步驟102 異步任務(wù)應(yīng)用服務(wù)裝置2接收異步任務(wù)請求后在數(shù)據(jù)服務(wù)裝置1中檢 索相同類型相同條件的任務(wù)是否已有處理完成結(jié)果,如果存在則更新查詢結(jié)果的最后使用 日,然后提取查詢結(jié)果返回給客戶終端裝置6,如果不存在,則檢查是否存在相同類型任務(wù) 相同條件的正在處理的任務(wù),如果存在則提取任務(wù)實(shí)例號返回給客戶終端裝置6,如果不存 在,則根據(jù)異步任務(wù)類型和異步任務(wù)參數(shù)提交到數(shù)據(jù)服務(wù)裝置1中生成新的任務(wù)實(shí)例并置 于異步任務(wù)隊(duì)列中;步驟103 異步任務(wù)調(diào)度裝置10掃描數(shù)據(jù)服務(wù)裝置1,根據(jù)檢測所得當(dāng)前數(shù)據(jù)服務(wù) 裝置1可供異步任務(wù)使用的線程數(shù)、當(dāng)前正在處理的異步任務(wù)線程數(shù)、當(dāng)前時(shí)間計(jì)劃內(nèi)的 最大、最小異步并發(fā)線程數(shù),得出當(dāng)前是否有空閑線程供異步任務(wù)執(zhí)行使用,如果沒有,則 根據(jù)參數(shù)設(shè)置等待η秒后再掃描是否有空閑線程,如果有,則轉(zhuǎn)到步驟104 ;步驟104 異步任務(wù)調(diào)度裝置10掃描異步任務(wù)隊(duì)列,檢查任務(wù)優(yōu)化級、時(shí)間預(yù)約、 異步分組時(shí)間限制三個(gè)參數(shù)是否滿足,如果不是,則轉(zhuǎn)回103步驟,如果是,則轉(zhuǎn)步驟105 ;步驟105 異步任務(wù)處理裝置11實(shí)際執(zhí)行異步任務(wù);步驟106 異步任務(wù)處理裝置11在數(shù)據(jù)服務(wù)裝置1中記錄任務(wù)執(zhí)行結(jié)果;步驟107 在客戶終端裝置6提交結(jié)果查看請求時(shí),展現(xiàn)任務(wù)的處理結(jié)果。步驟108 在客戶終端裝置6提交終止任務(wù)請求時(shí),異步任務(wù)應(yīng)用服務(wù)裝置2檢測 任務(wù)是否可被中斷,如果是則終止對應(yīng)任務(wù),更新任務(wù)狀態(tài)信息,如果不是,則提示無法終止原因。例如,將任務(wù)狀態(tài)信息更新為手工終止。步驟109 在客戶終端裝置6提交重新執(zhí)行任務(wù)請求時(shí),異步任務(wù)應(yīng)用服務(wù)裝置 2檢測任務(wù)是否允許重新執(zhí)行,如果是,則更新任務(wù)狀態(tài),并對應(yīng)任務(wù)重新放于異步任務(wù)隊(duì) 列,等待異步任務(wù)調(diào)度裝置10的調(diào)度執(zhí)行,如果不是,則提示無法重新執(zhí)行原因。下面以舉例的方式對上述步驟103中如何計(jì)算空閑線程進(jìn)行詳細(xì)描述。其中,當(dāng)前數(shù)據(jù)服務(wù)裝置1可供異步任務(wù)使用的線程數(shù)(下面用E來指代)表示 利用異步任務(wù)最大線程數(shù)(是指系統(tǒng)允許異步任務(wù)最大線程數(shù),通過參數(shù)設(shè)置在啟動(dòng)時(shí)加 載,下面用A來指代)減去當(dāng)前數(shù)據(jù)服務(wù)裝置1中除去異步任務(wù)線程和系統(tǒng)線程的線程數(shù) (下面用B來指代),如果該值大于當(dāng)前異步任務(wù)時(shí)間計(jì)劃線程定義參數(shù)(是指根據(jù)歷史資 源消耗情況統(tǒng)計(jì)數(shù)據(jù)得出每個(gè)時(shí)間段允許的最大(下面用C來指代)、最小(下面用D來指 代)線程數(shù))中設(shè)定的當(dāng)前時(shí)間段時(shí)的最大值,則以該最大值作為當(dāng)前數(shù)據(jù)服務(wù)裝置1可 供異步任務(wù)使用的線程數(shù)處理,如果該值小于當(dāng)前異步任務(wù)時(shí)間計(jì)劃線程定義參數(shù)中設(shè)定 的當(dāng)前時(shí)間段時(shí)的最小值,則以最小值作為當(dāng)前數(shù)據(jù)服務(wù)裝置1可供異步任務(wù)使用的線程 數(shù)處理,如果該值在上述最大值和最小值之間,則以該值作為當(dāng)前數(shù)據(jù)服務(wù)裝置1可供異 步任務(wù)使用的線程數(shù)處理,另外,當(dāng)前正在處理的異步任務(wù)線程數(shù)(下面用F來指代)表示 當(dāng)前處于活動(dòng)狀態(tài)的異步任務(wù)工作線程數(shù),空閑工作線程(下面用G來指代)通過當(dāng)前數(shù) 據(jù)服務(wù)裝置1可供異步任務(wù)使用的線程數(shù)減去當(dāng)前正在處理的異步任務(wù)線程數(shù)來獲得。下 面通過舉例來說明設(shè)定某時(shí)段內(nèi)C、D參數(shù)值如下C = 10,D = 2A值參數(shù)設(shè)置為A = 16假定該時(shí)段內(nèi)F值固定,F(xiàn)值實(shí)際獲取值為F = 8B值對應(yīng)的實(shí)際意義為業(yè)務(wù)實(shí)際使用資源線程數(shù),根據(jù)業(yè)務(wù)使用業(yè)務(wù)量不同獲取 不同值,簡單舉例如下①獲取B 實(shí)際值,當(dāng) B = 1 時(shí),AA = A-B = 15 > C,此時(shí) E = C = 10,計(jì)算G = E-F = 10-8 = 2 > 0,轉(zhuǎn)到步驟104處理②獲取B 實(shí)際值,當(dāng) B = 10 時(shí),D < AA = A-B = 6 < C,此時(shí) E = AA = 6,計(jì)算G = E-F = 6-8 = _2 < 0,則根據(jù)參數(shù)設(shè)置等待η秒后再掃描是否有空閑線 程③獲取B實(shí)際值,當(dāng)B = 16時(shí),AA = A-B = 0 < D,此時(shí)E = D = 2,計(jì)算G = E-F = 2-8 = -6 < 0,則根據(jù)參數(shù)設(shè)置等待η秒后再掃描是否有空閑線程。應(yīng)用本發(fā)明提供的應(yīng)用級異步調(diào)度系統(tǒng)及方法,實(shí)現(xiàn)了應(yīng)用級的異步任務(wù)機(jī)制, 有效的克服了現(xiàn)有OLTP系統(tǒng)處理模式的不足,將聯(lián)機(jī)業(yè)務(wù)分為實(shí)時(shí)任務(wù)和異步任務(wù)兩類, 實(shí)行差別對待,在以下方面展現(xiàn)出突出的優(yōu)點(diǎn)1、提高OLTP系統(tǒng)的運(yùn)行效率和穩(wěn)定性本發(fā)明把聯(lián)機(jī)業(yè)務(wù)按照實(shí)時(shí)性要求和資源消耗的差異,劃分為實(shí)時(shí)任務(wù)和異步任 務(wù)兩類,在應(yīng)用服務(wù)端通過設(shè)立專門的異步任務(wù)應(yīng)用服務(wù)器來實(shí)現(xiàn)資源的隔離;在數(shù)據(jù)庫 服務(wù)端通過異步任務(wù)隊(duì)列的工作線程數(shù),實(shí)現(xiàn)異步任務(wù)資源的限定。從而避免了異步任務(wù) 對聯(lián)機(jī)事務(wù)處理業(yè)務(wù)的資源爭用,提高了聯(lián)機(jī)事務(wù)處理的運(yùn)行效率和系統(tǒng)的整體穩(wěn)定性。
2、通過應(yīng)用級的內(nèi)容緩沖,降低了系統(tǒng)的整體負(fù)荷對于異步任務(wù)最主要的組成——查詢統(tǒng)計(jì)類業(yè)務(wù),將其結(jié)果保存下來,并按照任 務(wù)特征建立目錄索引,當(dāng)本人或者他人提交相同特征的查詢請求時(shí),則立即直接返回結(jié)果, 而不必重新進(jìn)行查詢,實(shí)現(xiàn)應(yīng)用級的內(nèi)容緩沖,避免不必要的資源消耗。根據(jù)本發(fā)明在某系統(tǒng)中實(shí)際應(yīng)用的結(jié)果統(tǒng)計(jì)(一周),在所有異步查詢統(tǒng)計(jì)請求 中,有24. 7%本人重復(fù)查詢請求和9. 2%的他人重復(fù)查詢請求被直接從內(nèi)容緩沖中返回結(jié) 果,合計(jì)33. 9%的復(fù)用概率,將這些查詢請求產(chǎn)生的資源消耗,降低了約1/3。3、提高了非業(yè)務(wù)高峰時(shí)段的資源利用效率本發(fā)明將異步任務(wù)置于任務(wù)隊(duì)列中,由有限個(gè)工作線程按照優(yōu)先級、預(yù)約時(shí)間和 隊(duì)列順序依次執(zhí)行,可將業(yè)務(wù)高峰時(shí)段的異步請求,平滑至高峰過后使用,因而提高了非業(yè) 務(wù)高峰時(shí)段的資源利用效率。以上所述的具體實(shí)施例,對本發(fā)明的目的、技術(shù)方案和有益效果進(jìn)行了進(jìn)一步詳 細(xì)說明,所應(yīng)理解的是,以上所述僅為本發(fā)明的具體實(shí)施例而已,并不用于限制本發(fā)明,凡 在本發(fā)明的精神和原則之內(nèi),所做的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保 護(hù)范圍之內(nèi)。
權(quán)利要求
一種應(yīng)用級異步調(diào)度系統(tǒng),該系統(tǒng)包括數(shù)據(jù)服務(wù)裝置,用于運(yùn)行數(shù)據(jù)庫管理系統(tǒng),存放異步任務(wù)的參數(shù)信息、實(shí)例信息、任務(wù)處理結(jié)果,同時(shí)還存放實(shí)時(shí)業(yè)務(wù)與批量處理的相關(guān)數(shù)據(jù)信息;以及異步任務(wù)應(yīng)用服務(wù)裝置,用于在接收到異步任務(wù)請求時(shí),進(jìn)行特征識別,按任務(wù)特征字在數(shù)據(jù)服務(wù)裝置中檢索,如果存在相同特征的任務(wù)成功執(zhí)行結(jié)果,則直接輸出至客戶終端裝置,如果存在相同特征的任務(wù)正在處理,則輸出正在處理信息至客戶終端裝置,否則提交一個(gè)新的異步任務(wù)請求到數(shù)據(jù)服務(wù)裝置中。
2.根據(jù)權(quán)利要求1所述的系統(tǒng),異步任務(wù)應(yīng)用服務(wù)裝置還包括異步任務(wù)調(diào)度裝置,其 對應(yīng)一個(gè)管理線程,用于檢測工作線程和異步任務(wù)隊(duì)列,來處理當(dāng)時(shí)是否有空閑工作線程、 當(dāng)前是否有需要處理的異步任務(wù),根據(jù)判斷結(jié)果來啟動(dòng)異步任務(wù)處理裝置。
3.根據(jù)權(quán)利要求2所述的系統(tǒng),異步任務(wù)應(yīng)用服務(wù)裝置還包括異步任務(wù)處理裝置,其 對應(yīng)一個(gè)或一組工作線程,用于響應(yīng)異步任務(wù)調(diào)度裝置的要求執(zhí)行或者終止執(zhí)行某個(gè)異步 任務(wù),或接收用戶的終止請求,并向用戶報(bào)告工作狀態(tài);在任務(wù)執(zhí)行完畢后,記錄任務(wù)執(zhí)行 結(jié)果。
4.根據(jù)權(quán)利要求3所述的系統(tǒng),異步任務(wù)應(yīng)用服務(wù)裝置還包括異步任務(wù)超時(shí)處理裝 置,其對應(yīng)一個(gè)工作線程,用于處理任務(wù)執(zhí)行時(shí)間超出任務(wù)參數(shù)定義的最長時(shí)限的任務(wù),終 止對應(yīng)異步任務(wù)處理裝置的工作,更新對應(yīng)異步任務(wù)狀態(tài),記錄終止情況。
5.根據(jù)權(quán)利要求1-4任一項(xiàng)所述的系統(tǒng),其特征在于,該系統(tǒng)還包括實(shí)時(shí)業(yè)務(wù)應(yīng)用服務(wù)裝置,用于處理實(shí)時(shí)任務(wù),并能夠?qū)Ξ惒饺蝿?wù)的執(zhí)行情況進(jìn)行查詢 或者獲取存放在數(shù)據(jù)服務(wù)裝置上的異步任務(wù)執(zhí)行結(jié)果;Web服務(wù)裝置,用于將客戶終端裝置的請求轉(zhuǎn)發(fā)給實(shí)時(shí)業(yè)務(wù)應(yīng)用服務(wù)裝置或異步任務(wù) 應(yīng)用服務(wù)裝置,同時(shí)將實(shí)時(shí)業(yè)務(wù)應(yīng)用服務(wù)裝置或異步任務(wù)應(yīng)用服務(wù)裝置的信息通過內(nèi)部網(wǎng) 絡(luò)發(fā)送給客戶終端裝置。
6.根據(jù)權(quán)利要求5所述的系統(tǒng),其特征在于數(shù)據(jù)服務(wù)裝置、異步任務(wù)應(yīng)用服務(wù)裝置、實(shí) 時(shí)業(yè)務(wù)應(yīng)用服務(wù)裝置以及Web服務(wù)裝置是PC服務(wù)器或者主機(jī)。
7.一種應(yīng)用級異步調(diào)度方法,該方法包括以下步驟步驟1,異步任務(wù)應(yīng)用服務(wù)裝置從客戶終端裝置接收任務(wù)請求;步驟2,異步任務(wù)應(yīng)用服務(wù)裝置判斷所述任務(wù)請求是實(shí)時(shí)任務(wù)請求還是異步任務(wù)請求, 如果是實(shí)時(shí)任務(wù)請求,則按照實(shí)時(shí)任務(wù)對其進(jìn)行處理,如果是異步任務(wù)請求,則轉(zhuǎn)入步驟 3 ;步驟3,異步任務(wù)應(yīng)用服務(wù)裝置檢索相同類型任務(wù)在相同參數(shù)條件下是否已有處理完 成結(jié)果,如果有則提取已有處理完成結(jié)果返回給客戶終端裝置,如果不存在,則檢查是否存 在相同類型任務(wù)在相同參數(shù)條件下的正在處理的任務(wù),如果存在則提取任務(wù)實(shí)例號返回給 客戶終端裝置,客戶終端裝置等待所述任務(wù)完成并獲得處理結(jié)果;如果不存在,則將該異步 任務(wù)請求生成一個(gè)新的異步任務(wù)存儲(chǔ)到異步任務(wù)隊(duì)列中,異步任務(wù)調(diào)度裝置啟動(dòng)所述異步 任務(wù)的運(yùn)行。
8.根據(jù)權(quán)利要求7所述的方法,其特征在于還包括步驟4,異步任務(wù)調(diào)度裝置檢測當(dāng)前是否具有空閑線程,如果沒有,則繼續(xù)檢測,如果 有,則執(zhí)行步驟5;步驟5,異步任務(wù)調(diào)度裝置利用所述空閑線程執(zhí)行所述異步任務(wù)。
9.根據(jù)權(quán)利要求8所述的方法,其特征在于步驟4還包括異步任務(wù)調(diào)度裝置根據(jù)當(dāng) 前可供異步任務(wù)使用的線程數(shù)、當(dāng)前正在處理的異步任務(wù)線程數(shù)、當(dāng)前時(shí)間計(jì)劃內(nèi)的最大、 最小異步并發(fā)線程數(shù)得出當(dāng)前是否有空閑線程供異步任務(wù)執(zhí)行使用。
10.根據(jù)權(quán)利要求8或9所述的方法,其特征在于步驟4還包括如果當(dāng)前沒有空閑線 程,則異步任務(wù)調(diào)度裝置根據(jù)參數(shù)設(shè)置等待η秒后再掃描是否有空閑線程,η表示自然數(shù)。
全文摘要
一種應(yīng)用級異步調(diào)度系統(tǒng)和方法。其中該系統(tǒng)包括數(shù)據(jù)服務(wù)裝置,用于運(yùn)行數(shù)據(jù)庫管理系統(tǒng),存放異步任務(wù)的參數(shù)信息、實(shí)例信息、任務(wù)處理結(jié)果,同時(shí)還存放實(shí)時(shí)任務(wù)與批量處理的相關(guān)數(shù)據(jù)信息;以及異步任務(wù)應(yīng)用服務(wù)裝置,用于在接收到異步任務(wù)請求時(shí),進(jìn)行特征識別,按任務(wù)特征字在數(shù)據(jù)服務(wù)裝置中檢索,如果存在相同特征的任務(wù)成功執(zhí)行結(jié)果,則直接輸出至客戶終端裝置,如果存在相同特征的任務(wù)正在處理,則輸出正在處理信息至客戶終端裝置,否則提交一個(gè)新的異步任務(wù)請求到數(shù)據(jù)服務(wù)裝置中。應(yīng)用本發(fā)明的上述技術(shù)方案,能夠避免不必要的資源消耗,實(shí)現(xiàn)系統(tǒng)處理壓力平衡,從而提高系統(tǒng)的整體性能。
文檔編號G06F17/30GK101882161SQ20101021728
公開日2010年11月10日 申請日期2010年6月23日 優(yōu)先權(quán)日2010年6月23日
發(fā)明者張建榮, 張旻, 王雍, 許宜 申請人:中國工商銀行股份有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會(huì)獲得點(diǎn)贊!
1