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

系統(tǒng)任務調度方法及裝置與流程

文檔序號:12120194閱讀:301來源:國知局
系統(tǒng)任務調度方法及裝置與流程

本發(fā)明涉及數(shù)據(jù)資源調度技術領域,更具體地,涉及一種系統(tǒng)任務調度方法及裝置。



背景技術:

隨著科技的發(fā)展,人們的生活越來越離不開各種各樣的互聯(lián)網(wǎng)產(chǎn)品,互聯(lián)網(wǎng)產(chǎn)品其所能提供的功能能滿足人們在不同情形下的需求。對于一個互聯(lián)網(wǎng)產(chǎn)品而言,往往會存在大量的用戶在同一時間段使用。用戶在使用互聯(lián)網(wǎng)產(chǎn)品的功能時所發(fā)出的任務請求指令,通常而言,需要使用到隊列來將用戶的請求堆積起來,并將這些任務請求指令對應的系統(tǒng)任務進行排列,再一一進行處理。

當某一用戶在短時間內(nèi)頻繁地向服務器發(fā)出任務請求指令,就會使得隊列前面該用戶的多個請求占據(jù),處理起來需要花比較多的時間。而另一用戶緊接著發(fā)出任務請求指令后,則可能需要等待,得不到服務器及時的響應。這種延遲的響應,會給用戶留下諸如服務器不行的印象,影響用戶的使用體驗。

因此,業(yè)界亟需一種解決能上述問題的技術方案。



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

為解決上述至少一個方面的問題,本發(fā)明提出了一種系統(tǒng)任務調度方法及裝置。該系統(tǒng)任務調度方法調整了隊列的結構和任務處理的邏輯,對用戶的任務請求指令對應的系統(tǒng)任務進行有效的調度,平衡了各個用戶之間的系統(tǒng)任務的響應時間,使得用戶的操作能在更短的時間內(nèi)得到響應,提升了用戶的體驗。

為了實現(xiàn)本發(fā)明的目的,采取如下技術方案:

第一方面,提供了一種系統(tǒng)任務調度方法。該系統(tǒng)任務調度方法包括:循環(huán)遍歷用于存儲所述系統(tǒng)任務的一級用戶隊列,在每次循環(huán)中,執(zhí)行該一級用戶隊列中每個用戶相應的隊列節(jié)點所指向的二級任務隊列的首節(jié)點所存儲的所述系統(tǒng)任務,相應將該二級任務隊列的下一節(jié)點作為其在下一循環(huán)中的首節(jié)點,以清除已被執(zhí)行的所述系統(tǒng)任務,直至所有已存儲的系統(tǒng)任務均被執(zhí)行;

響應于用戶的任務請求指令,在一級用戶隊列中定位該用戶的二級任務隊列,在該二級任務隊列的隊尾創(chuàng)建與該任務請求指令相應的系統(tǒng)任務。

具體地,所述循環(huán)遍歷用于存儲所述系統(tǒng)任務的一級用戶隊列的步驟與所述響應于用戶的任務請求指令的步驟是并行的。

具體地,執(zhí)行該一級用戶隊列中每個用戶相應的隊列節(jié)點所指向的二級任務隊列的首節(jié)點所存儲的所述系統(tǒng)任務,具體包括:

預先創(chuàng)建一級用戶隊列、一級用戶隊列中表征每個用戶的隊列節(jié)點以及該隊列節(jié)點指向的二級任務隊列;

將所述系統(tǒng)任務添加到其相應的二級任務隊列中;

在每一次循環(huán)中,執(zhí)行所述二級任務隊列首節(jié)點所存儲的所述系統(tǒng)任務。

具體地,將該二級任務隊列中的下一節(jié)點作為其在下一循環(huán)中的首節(jié)點,具體包括:

修改該二級任務隊列所對應的一級用戶隊列的隊列節(jié)點所存儲的數(shù)據(jù);

將所述隊列節(jié)點指向該二級任務隊列的下一節(jié)點,以實現(xiàn)該下一循環(huán)中該節(jié)點作為該二級任務隊列的首節(jié)點。

具體地,響應于用戶的任務請求指令,在一級用戶隊列中定位該用戶的二級任務隊列,具體包括:

接收一段時間內(nèi)的用戶的任務請求指令;

響應于用戶的任務請求指令,查詢該用戶在一級用戶隊列中其相應的隊列節(jié)點;

定位該隊列節(jié)點所指向的二級任務隊列。

具體地,查詢該用戶在一級用戶隊列中其相應的隊列節(jié)點之后,還包括:

當所述一級用戶隊列中并不存在表征該用戶的隊列節(jié)點,為該用戶在一級用戶隊列的隊尾中創(chuàng)建相應的隊列節(jié)點以及該隊列節(jié)點所指向的二級任務隊列。

優(yōu)選地,當執(zhí)行完一個二級任務隊列中的所有系統(tǒng)任務后,還包括:

刪除該二級任務隊列以及其所對應的一級用戶隊列中的隊列節(jié)點。

第二方面,提供了一種裝置。該裝置包括:循環(huán)遍歷模塊,用于循環(huán)遍歷用于存儲所述系統(tǒng)任務的一級用戶隊列,在每次循環(huán)中,執(zhí)行該一級用戶隊列中每個用戶相應的隊列節(jié)點所指向的二級任務隊列的首節(jié)點所存儲的所述系統(tǒng)任務,相應將該二級任務隊列的下一節(jié)點作為其在下一循環(huán)中的首節(jié)點,以清除已被執(zhí)行的所述系統(tǒng)任務,直至所有已存儲的系統(tǒng)任務均被執(zhí)行;

創(chuàng)建模塊,用于響應于用戶的任務請求指令,在一級用戶隊列中定位該用戶的二級任務隊列,在該二級任務隊列的隊尾創(chuàng)建與該任務請求指令相應的系統(tǒng)任務。

具體地,所述循環(huán)遍歷模塊與所述創(chuàng)建模塊是并行的。

具體地,執(zhí)行該一級用戶隊列中每個用戶相應的隊列節(jié)點所指向的二級任務隊列的首節(jié)點所存儲的所述系統(tǒng)任務,具體包括:

預先創(chuàng)建一級用戶隊列、一級用戶隊列中表征每個用戶的隊列節(jié)點以及該隊列節(jié)點指向的二級任務隊列;

將所述系統(tǒng)任務添加到其相應的二級任務隊列中;

在每一次循環(huán)中,執(zhí)行所述二級任務隊列首節(jié)點所存儲的所述系統(tǒng)任務。

具體地,將該二級任務隊列中的下一節(jié)點作為其在下一循環(huán)中的首節(jié)點,具體包括:

修改該二級任務隊列所對應的一級用戶隊列的隊列節(jié)點所存儲的數(shù)據(jù);

將所述隊列節(jié)點指向該二級任務隊列的下一節(jié)點,以實現(xiàn)該下一循環(huán)中該節(jié)點作為該二級任務隊列的首節(jié)點。

具體地,響應于用戶的任務請求指令,在一級用戶隊列中定位該用戶的二級任務隊列,具體包括:

接收一段時間內(nèi)的用戶的任務請求指令;

響應于用戶的任務請求指令,查詢該用戶在一級用戶隊列中其相應的隊列節(jié)點;

定位該隊列節(jié)點所指向的二級任務隊列。

具體地,查詢該用戶在一級用戶隊列中其相應的隊列節(jié)點之后,還包括:

當所述一級用戶隊列中并不存在表征該用戶的隊列節(jié)點,為該用戶在一級用戶隊列的隊尾中創(chuàng)建相應的隊列節(jié)點以及該隊列節(jié)點所指向的二級任務隊列。

優(yōu)選地,當執(zhí)行完一個二級任務隊列中的所有系統(tǒng)任務后,還包括:

刪除該二級任務隊列以及其所對應的一級用戶隊列中的隊列節(jié)點。

相比現(xiàn)有技術,本發(fā)明的方案具有以下優(yōu)點:

本發(fā)明的系統(tǒng)任務調度方法通過創(chuàng)建一級用戶隊列以及一級用戶隊列的隊列節(jié)點所指向的二級任務隊列,調整了排隊隊列的結構,調整單條隊列改為兩級隊列,在一次循環(huán)中,執(zhí)行一級用戶隊列的隊列節(jié)點所指向的二級任務隊列的首節(jié)點所存儲的系統(tǒng)任務,對隊列任務的處理邏輯進行了調整,有效平衡了各個用戶之間的系統(tǒng)任務的等待時間,提高了用戶的使用體驗。

本發(fā)明附加的方面和優(yōu)點將在下面的描述中部分給出,這些將從下面的描述中變得明顯,或通過本發(fā)明的實踐了解到。

附圖說明

為了更清楚地說明本發(fā)明實施例中的技術方案,下面將對實施例描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領域技術人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。

圖1為本發(fā)明中一種系統(tǒng)任務調度方法的一種實施例的流程示意圖;

圖2為本發(fā)明中一種系統(tǒng)任務調度裝置的一種實施例的結構示意圖;

具體實施方式

為了使本技術領域的人員更好地理解本發(fā)明方案,下面將結合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術方案進行清楚、完整地描述。

在本發(fā)明的說明書和權利要求書及上述附圖中的描述的一些流程中,包含了按照特定順序出現(xiàn)的多個操作,但是應該清楚了解,這些操作可以不按照其在本文中出現(xiàn)的順序來執(zhí)行或并行執(zhí)行,操作的序號如101、102等,僅僅是用于區(qū)分開各個不同的操作,序號本身不代表任何的執(zhí)行順序。另外,這些流程可以包括更多或更少的操作,并且這些操作可以按順序執(zhí)行或并行執(zhí)行。需要說明的是,本文中的“第一”、“第二”等描述,是用于區(qū)分不同的消息、設備、模塊等,不代表先后順序,也不限定“第一”和“第二”是不同的類型。

本領域普通技術人員可以理解,除非特意聲明,這里使用的單數(shù)形式“一”、“一個”、“所述”和“該”也可包括復數(shù)形式。應該進一步理解的是,本發(fā)明的說明書中使用的措辭“包括”是指存在所述特征、整數(shù)、步驟、操作、元件和/或組件,但是并不排除存在或添加一個或多個其他特征、整數(shù)、步驟、操作、元件、組件和/或它們的組。應該理解,當我們稱元件被“連接”或“耦接”到另一元件時,它可以直接連接或耦接到其他元件,或者也可以存在中間元件。此外,這里使用的“連接”或“耦接”可以包括無線連接或無線耦接。這里使用的措辭“和/或”包括一個或更多個相關聯(lián)的列出項的全部或任一單元和全部組合。

本領域普通技術人員可以理解,除非另外定義,這里使用的所有術語(包括技術術語和科學術語),具有與本發(fā)明所屬領域中的普通技術人員的一般理解相同的意義。還應該理解的是,諸如通用字典中定義的那些術語,應該被理解為具有與現(xiàn)有技術的上下文中的意義一致的意義,并且除非像這里一樣被特定定義,否則不會用理想化或過于正式的含義來解釋。

本領域普通技術人員可以理解,本發(fā)明所涉及的名詞的含義至少包括:

遍歷(Traversal):是指沿著某條搜索路線,依次對樹中每個結點均做一次且僅做一次訪問。訪問結點所作的操作依賴于具體的應用問題。遍歷是二叉樹上最重要的運算之一,是二叉樹上進行其它運算之基礎。當然遍歷的概念也適合于多元素集合的情況,如數(shù)組。

隊列(Queue):是一種線性表,特殊之處在于它只允許在表的前端進行刪除操作,而在表的后端進行插入操作。和棧一樣,隊列是一種操作受限制的線性表。進行插入操作的端稱為隊尾,進行刪除操作的端稱為隊頭。隊列中沒有元素時,稱為空隊列。隊列的數(shù)據(jù)元素又稱為隊列元素。在隊列中插入一個隊列元素,稱為入隊;從隊列中刪除一個隊列元素,稱為出隊。因為嘟列只允許在一端插入,在另一端刪除,所以只有最早進入隊列的元素才能從隊列中刪除,故隊列又稱為先進先出線性表。

并行(Parallel):是指“并排行走”或“同時實行或實施”。在操作系統(tǒng)中是指,一組程序按獨立異步的速度執(zhí)行,不等于時間上的重疊(同一個時刻發(fā)生。

下面將結合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例。基于本發(fā)明中的實施例,本領域技術人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。

如圖1,示出了本發(fā)明中一種系統(tǒng)任務調度方法的一個實施例。該系統(tǒng)任務調度方法包括步驟S11和步驟S12。其中,步驟S11和步驟S12是并行的,能有效地同時進行運作,提高對用戶使用智能終端所發(fā)出的系統(tǒng)任務指令給予及時的應答,提高了處理的效率。

步驟S11:循環(huán)遍歷用于存儲所述系統(tǒng)任務的一級用戶隊列,在每次循環(huán)中,執(zhí)行該一級用戶隊列中每個用戶相應的隊列節(jié)點所指向的二級任務隊列的首節(jié)點所存儲的所述系統(tǒng)任務,相應將該二級任務隊列的下一節(jié)點作為其在下一循環(huán)中的首節(jié)點,以清除已被執(zhí)行的所述系統(tǒng)任務,直至所有已存儲的系統(tǒng)任務均被執(zhí)行。

在使用互聯(lián)網(wǎng)產(chǎn)品時,用戶會向服務器發(fā)送相關的任務請求指令,以請求服務器提供相應的功能,以滿足自己當前情形下的需要。例如,一個用戶在大城市里迷了路,他為了重新找到屬于自己的路,準確到達目的地,他需要知道自己身處何方、附近都有些什么建筑、以及到達目的地的路線圖。他通過使用地圖軟件應用程序來定位一下自己的位置,查看周圍的環(huán)境,并規(guī)劃始發(fā)地與終點地的線路圖。在使用該地圖軟件所提供的功能服務的過程中,他所使用的智能終端會不斷向服務器請求多個任務,從而獲取相關的信息。所述的智能終端在向服務器發(fā)送相關的操作請求時,所述服務器會將該操作請求生成相應的系統(tǒng)任務,并將所述系統(tǒng)任務存儲到相應的隊列中去,以等待被執(zhí)行。

本發(fā)明的實施例中,所述系統(tǒng)任務存儲于一級用戶隊列中每個用戶相應的隊列節(jié)點所指向的二級任務隊列。當服務器執(zhí)行系統(tǒng)任務時,會循環(huán)遍歷一級用戶隊列的隊列節(jié)點。在每一次循環(huán)中,執(zhí)行該一級用戶隊列中每個用戶相應的隊列節(jié)點所指向的二級任務隊列的首節(jié)點所存儲的所述系統(tǒng)任務。將系統(tǒng)任務的排隊隊列的結構進行了調整,將任務的排列以及處理結構由單條隊列改為兩級隊列(包括一級用戶隊列和二級任務隊列),有效平衡了系統(tǒng)任務的等待時間,優(yōu)化了對不同用戶的系統(tǒng)任務的響應問題,提高了用戶的體驗。

進一步地,執(zhí)行該一級用戶隊列中每個用戶相應的隊列節(jié)點所指向的二級任務隊列的首節(jié)點所存儲的所述系統(tǒng)任務,具體包括:

預先創(chuàng)建一級用戶隊列、一級用戶隊列中表征每個用戶的隊列節(jié)點以及該隊列節(jié)點指向的二級任務隊列;

將所述系統(tǒng)任務添加到其相應的二級任務隊列中;

在每一次循環(huán)中,執(zhí)行所述二級任務隊列首節(jié)點所存儲的所述系統(tǒng)任務。

在本實施例的一種優(yōu)選方案中,所述一級用戶隊列由服務器預先創(chuàng)建,其上的隊列節(jié)點以及該隊列節(jié)點所指向的二級任務隊列則根據(jù)所接收到的系統(tǒng)任務動態(tài)創(chuàng)建的。該動態(tài)建立的方式存在兩種實現(xiàn)方案,其一是:所述一級用戶隊列其對應的長度是確定,若該隊列未滿時,則響應于用戶的任務請求指令創(chuàng)建相應的隊列節(jié)點以及該隊列節(jié)點所指向的二級任務隊列,否則,則用戶的任務請求指令會被延遲應答,處于等待的過程中,直到所述一級用戶隊列未滿;其二是:所述一級用戶隊列其對應的長度是不受限制的,但其動態(tài)創(chuàng)建隊列節(jié)點遵循一定的條件,例如,循環(huán)遍歷所述一級用戶隊列,執(zhí)行相應的系統(tǒng)任務1秒后,接收處于等待隊列中的用戶任務請求指令,創(chuàng)建相應的系統(tǒng)任務,以及用于存儲系統(tǒng)任務信息的一級用戶隊列的隊列節(jié)點以及該隊列節(jié)點所指向的二級任務隊列。在創(chuàng)建完成相應的一級用戶隊列的隊列節(jié)點以及該隊列節(jié)點所指向的二級任務隊列后,添加相應的系統(tǒng)任務。在每一次遍歷循環(huán)中,執(zhí)行每一個一級用戶隊列的隊列節(jié)點所指向的二級任務隊列的首節(jié)點。

例如,在一個一級用戶隊列中,先后存在表征小趙、小張、小錢三個用戶的隊列節(jié)點A、B、C。其中隊列節(jié)點A所指向的二級任務隊列中具有存儲有系統(tǒng)任務A1、A2、A3、A4這四個隊列節(jié)點,隊列節(jié)點B所指向的二級任務隊列中具有存儲有系統(tǒng)任務B1、B2、B3這三個隊列節(jié)點,隊列節(jié)點C所指向的二級任務隊列中具有存儲有系統(tǒng)任務C1、C2這兩個隊列節(jié)點。其中,A1、B1、C1分別是對應的二級任務隊列的首節(jié)點。在一次遍歷一級用戶隊列的隊列節(jié)點,執(zhí)行相應的系統(tǒng)任務的循環(huán)中,先后執(zhí)行A1、B1、C1,有效地調度了各用戶對應的系統(tǒng)任務的執(zhí)行的先后順序,并不需要執(zhí)行完一個用戶的所有系統(tǒng)任務在執(zhí)行另一個用戶的系統(tǒng)任務,平衡了各個用戶所發(fā)出的系統(tǒng)請求指令的響應時間,減少了部分用戶的等待響應的時間,有助于提高用戶的體驗。

在一次又一次的循環(huán)遍歷一級用戶隊列的隊列節(jié)點,并執(zhí)行該隊列節(jié)點所指向的二級任務隊列的過程中,需要在執(zhí)行完一個二級任務隊列的首節(jié)點所存儲的系統(tǒng)任務的同時,將該二級任務隊列對應的一級用戶隊列的隊列節(jié)點指向該二級任務隊列中的下一節(jié)點,將該下一節(jié)點作為其在下以循環(huán)中的首節(jié)點,以便在下一次的循環(huán)遍歷操作中能完成正確的任務執(zhí)行操作,避免因為一級用戶隊列中的隊列節(jié)點與二級任務隊列中的錯誤映射關系而導致系統(tǒng)的出錯。

進一步地,將該二級任務隊列中的下一節(jié)點作為其在下一循環(huán)中的首節(jié)點,具體包括:

修改該二級任務隊列所對應的一級用戶隊列的隊列節(jié)點所存儲的數(shù)據(jù);

將所述隊列節(jié)點指向該二級任務隊列的下一節(jié)點,以實現(xiàn)該下一循環(huán)中該節(jié)點作為該二級任務隊列的首節(jié)點。

在本實施例中,在執(zhí)行完一個二級任務隊列的首節(jié)點所存儲的系統(tǒng)任務后,一個并行的修改程序,修改該二級任務隊列所對應的一級用戶隊列的隊列節(jié)點所存儲的數(shù)據(jù),將原本指向剛被執(zhí)行完的首節(jié)點的映射關系,更改為指向該首節(jié)點的下一個節(jié)點。由于采用的是并行的方式,修改程序所執(zhí)行的更改一級用戶隊列的隊列節(jié)點所存儲的數(shù)據(jù),重新建立一級用戶隊列的隊列節(jié)點與其所指向的二級任務隊列中的節(jié)點的映射關系,并不會影響到當前的步驟11,即并不影響下一個二級任務隊列中首節(jié)點所存儲的系統(tǒng)任務的執(zhí)行。并且進一步保證了正確的映射關系,將該下一節(jié)點作為二級任務隊列的首節(jié)點,在服務器的下一次循環(huán)中,有效地調度了系統(tǒng)任務的執(zhí)行,平衡了各個用戶的系統(tǒng)任務的響應時間,避免系統(tǒng)任務等待時間過長,造成用戶的體驗不好。例如,一次循環(huán)中,執(zhí)行了一級用戶隊列中的隊列節(jié)點E所指向的二級任務隊列的首節(jié)點F,在該二級任務隊列中,首節(jié)點F的下一個節(jié)點是G,則在執(zhí)行完首節(jié)點F所存儲的系統(tǒng)任務時,修改隊列節(jié)點E與二級任務隊列的映射關系,將隊列節(jié)點E指向二級任務隊列中的下一個節(jié)點G,通過改變映射關系,有效調度了系統(tǒng)任務的執(zhí)行。此外,當一個二級任務隊列中的所述系統(tǒng)任務被執(zhí)行完后,清楚儲存該系統(tǒng)任務的節(jié)點,直到所有二級任務隊列所存儲的所有系統(tǒng)任務均被執(zhí)行。

步驟S12:響應于用戶的任務請求指令,在一級用戶隊列中定位該用戶的二級任務隊列,在該二級任務隊列的隊尾創(chuàng)建與該任務請求指令相應的系統(tǒng)任務。

具體地,響應于用戶的任務請求指令,在一級用戶隊列中定位該用戶的二級任務隊列,具體包括:

接收一段時間內(nèi)的用戶的任務請求指令;

響應于用戶的任務請求指令,查詢該用戶在一級用戶隊列中其相應的隊列節(jié)點;

定位該隊列節(jié)點所指向的二級任務隊列。

在本實施例的一種優(yōu)選方案當中,用戶使用智能終端向服務器發(fā)出任務請求指令,以滿足自身的需求。系統(tǒng)接收一段時間內(nèi)的用戶的任務請求指令。例如,在1秒內(nèi),共有甲、乙、丙三人分別發(fā)出了任務請求指令L1、L2、L3。系統(tǒng)接收這1秒內(nèi),甲、乙、丙三人所發(fā)出的任務請求指令L1、L2、L3后,響應于所述任務請求指令,查詢一級用戶隊列中各自表征甲、乙、丙的隊列節(jié)點,從而定位到甲、乙、丙各自的二級任務隊列V1、V2、V3,并將系統(tǒng)任務L1、L2、L3分別添加到二級任務隊列V1、V2、V3的隊尾,完成了系統(tǒng)任務的添加。在每一次的循環(huán)中,服務器會執(zhí)行一級用戶隊列的隊列節(jié)點所指向的二級任務隊列的首節(jié)點所存儲的系統(tǒng)任務。

具體地,查詢該用戶在一級用戶隊列中其相應的隊列節(jié)點之后,還包括:

當所述一級用戶隊列中并不存在表征該用戶的隊列節(jié)點,為該用戶在一級用戶隊列的隊尾中創(chuàng)建相應的隊列節(jié)點以及該隊列節(jié)點所指向的二級任務隊列。

當然,查詢用戶在一級用戶隊列中的隊列節(jié)點的時候,也可能查詢不到該用戶對應的一級用戶隊列的隊列節(jié)點。當一個用戶未被現(xiàn)有的一級用戶隊列所記錄,即未在一級用戶隊列中創(chuàng)建表征該用戶的隊列節(jié)點,需要給該用戶創(chuàng)建相應的隊列節(jié)點以及該隊列節(jié)點所指向的二級任務隊列,并將根據(jù)所接收到的該用戶的任務請求指令所創(chuàng)建的系統(tǒng)任務添加到二級任務隊列中去。根據(jù)隊列的特點,表征一個用戶的隊列節(jié)點是創(chuàng)建在一級用戶隊列的隊尾的。

優(yōu)選地,當執(zhí)行完一個二級任務隊列中的所有系統(tǒng)任務后,還包括:

刪除該二級任務隊列以及其所對應的一級用戶隊列中的隊列節(jié)點。

當一個二級任務隊列所存儲的系統(tǒng)任務被執(zhí)行完之后,將刪除該二級任務隊列以及該二級任務隊列對應的一級用戶隊列中的隊列節(jié)點,有助于釋放內(nèi)存,釋放隊列資源,進一步添加處于等待處理狀態(tài)的系統(tǒng)任務,加快對系統(tǒng)任務的處理。

第二方面,提供了一種裝置。如圖2所示,該裝置包括循環(huán)遍歷模塊S101和創(chuàng)建模塊S102。其中,循環(huán)遍歷模塊S101和創(chuàng)建模塊S102是并行的,能有效地同時進行運作,提高對用戶使用智能終端所發(fā)出的系統(tǒng)任務指令給予及時的應答,提高了處理的效率。

循環(huán)遍歷模塊S101,用于循環(huán)遍歷用于存儲所述系統(tǒng)任務的一級用戶隊列,在每次循環(huán)中,執(zhí)行該一級用戶隊列中每個用戶相應的隊列節(jié)點所指向的二級任務隊列的首節(jié)點所存儲的所述系統(tǒng)任務,相應將該二級任務隊列的下一節(jié)點作為其在下一循環(huán)中的首節(jié)點,以清除已被執(zhí)行的所述系統(tǒng)任務,直至所有已存儲的系統(tǒng)任務均被執(zhí)行。

在使用互聯(lián)網(wǎng)產(chǎn)品時,用戶會向服務器發(fā)送相關的任務請求指令,以請求服務器提供相應的功能,以滿足自己當前情形下的需要。例如,一個用戶在大城市里迷了路,他為了重新找到屬于自己的路,準確到達目的地,他需要知道自己身處何方、附近都有些什么建筑、以及到達目的地的路線圖。他通過使用地圖軟件應用程序來定位一下自己的位置,查看周圍的環(huán)境,并規(guī)劃始發(fā)地與終點地的線路圖。在使用該地圖軟件所提供的功能服務的過程中,他所使用的智能終端會不斷向服務器請求多個任務,從而獲取相關的信息。所述的智能終端在向服務器發(fā)送相關的操作請求時,所述服務器會將該操作請求生成相應的系統(tǒng)任務,并將所述系統(tǒng)任務存儲到相應的隊列中去,以等待被執(zhí)行。

本發(fā)明的實施例中,所述系統(tǒng)任務存儲于一級用戶隊列中每個用戶相應的隊列節(jié)點所指向的二級任務隊列。當服務器執(zhí)行系統(tǒng)任務時,會循環(huán)遍歷一級用戶隊列的隊列節(jié)點。在每一次循環(huán)中,執(zhí)行該一級用戶隊列中每個用戶相應的隊列節(jié)點所指向的二級任務隊列的首節(jié)點所存儲的所述系統(tǒng)任務。將系統(tǒng)任務的排隊隊列的結構進行了調整,將任務的排列以及處理結構由單條隊列改為兩級隊列(包括一級用戶隊列和二級任務隊列),有效平衡了系統(tǒng)任務的等待時間,優(yōu)化了對不同用戶的系統(tǒng)任務的響應問題,提高了用戶的體驗。

進一步地,執(zhí)行該一級用戶隊列中每個用戶相應的隊列節(jié)點所指向的二級任務隊列的首節(jié)點所存儲的所述系統(tǒng)任務,具體包括:

預先創(chuàng)建一級用戶隊列、一級用戶隊列中表征每個用戶的隊列節(jié)點以及該隊列節(jié)點指向的二級任務隊列;

將所述系統(tǒng)任務添加到其相應的二級任務隊列中;

在每一次循環(huán)中,執(zhí)行所述二級任務隊列首節(jié)點所存儲的所述系統(tǒng)任務。

在本實施例的一種優(yōu)選方案中,所述一級用戶隊列由服務器預先創(chuàng)建,其上的隊列節(jié)點以及該隊列節(jié)點所指向的二級任務隊列則根據(jù)所接收到的系統(tǒng)任務動態(tài)創(chuàng)建的。該動態(tài)建立的方式存在兩種實現(xiàn)方案,其一是:所述一級用戶隊列其對應的長度是確定,若該隊列未滿時,則響應于用戶的任務請求指令創(chuàng)建相應的隊列節(jié)點以及該隊列節(jié)點所指向的二級任務隊列,否則,則用戶的任務請求指令會被延遲應答,處于等待的過程中,直到所述一級用戶隊列未滿;其二是:所述一級用戶隊列其對應的長度是不受限制的,但其動態(tài)創(chuàng)建隊列節(jié)點遵循一定的條件,例如,循環(huán)遍歷所述一級用戶隊列,執(zhí)行相應的系統(tǒng)任務1秒后,接收處于等待隊列中的用戶任務請求指令,創(chuàng)建相應的系統(tǒng)任務,以及用于存儲系統(tǒng)任務信息的一級用戶隊列的隊列節(jié)點以及該隊列節(jié)點所指向的二級任務隊列。在創(chuàng)建完成相應的一級用戶隊列的隊列節(jié)點以及該隊列節(jié)點所指向的二級任務隊列后,添加相應的系統(tǒng)任務。在每一次遍歷循環(huán)中,執(zhí)行每一個一級用戶隊列的隊列節(jié)點所指向的二級任務隊列的首節(jié)點。

例如,在一個一級用戶隊列中,先后存在表征小趙、小張、小錢三個用戶的隊列節(jié)點A、B、C。其中隊列節(jié)點A所指向的二級任務隊列中具有存儲有系統(tǒng)任務A1、A2、A3、A4這四個隊列節(jié)點,隊列節(jié)點B所指向的二級任務隊列中具有存儲有系統(tǒng)任務B1、B2、B3這三個隊列節(jié)點,隊列節(jié)點C所指向的二級任務隊列中具有存儲有系統(tǒng)任務C1、C2這兩個隊列節(jié)點。其中,A1、B1、C1分別是對應的二級任務隊列的首節(jié)點。在一次遍歷一級用戶隊列的隊列節(jié)點,執(zhí)行相應的系統(tǒng)任務的循環(huán)中,先后執(zhí)行A1、B1、C1,有效地調度了各用戶對應的系統(tǒng)任務的執(zhí)行的先后順序,并不需要執(zhí)行完一個用戶的所有系統(tǒng)任務在執(zhí)行另一個用戶的系統(tǒng)任務,平衡了各個用戶所發(fā)出的系統(tǒng)請求指令的響應時間,減少了部分用戶的等待響應的時間,有助于提高用戶的體驗。

在一次又一次的循環(huán)遍歷一級用戶隊列的隊列節(jié)點,并執(zhí)行該隊列節(jié)點所指向的二級任務隊列的過程中,需要在執(zhí)行完一個二級任務隊列的首節(jié)點所存儲的系統(tǒng)任務的同時,將該二級任務隊列對應的一級用戶隊列的隊列節(jié)點指向該二級任務隊列中的下一節(jié)點,將該下一節(jié)點作為其在下以循環(huán)中的首節(jié)點,以便在下一次的循環(huán)遍歷操作中能完成正確的任務執(zhí)行操作,避免因為一級用戶隊列中的隊列節(jié)點與二級任務隊列中的錯誤映射關系而導致系統(tǒng)的出錯。

進一步地,將該二級任務隊列中的下一節(jié)點作為其在下一循環(huán)中的首節(jié)點,具體包括:

修改該二級任務隊列所對應的一級用戶隊列的隊列節(jié)點所存儲的數(shù)據(jù);

將所述隊列節(jié)點指向該二級任務隊列的下一節(jié)點,以實現(xiàn)該下一循環(huán)中該節(jié)點作為該二級任務隊列的首節(jié)點。

在本實施例中,在執(zhí)行完一個二級任務隊列的首節(jié)點所存儲的系統(tǒng)任務后,一個并行的修改程序,修改該二級任務隊列所對應的一級用戶隊列的隊列節(jié)點所存儲的數(shù)據(jù),將原本指向剛被執(zhí)行完的首節(jié)點的映射關系,更改為指向該首節(jié)點的下一個節(jié)點。由于采用的是并行的方式,修改程序所執(zhí)行的更改一級用戶隊列的隊列節(jié)點所存儲的數(shù)據(jù),重新建立一級用戶隊列的隊列節(jié)點與其所指向的二級任務隊列中的節(jié)點的映射關系,并不會影響到當前的步驟11,即不影響下一個二級任務隊列中首節(jié)點所存儲的系統(tǒng)任務的執(zhí)行。并且進一步保證了正確的映射關系,將該下一節(jié)點作為二級任務隊列的首節(jié)點,在服務器的下一次循環(huán)中,有效地調度了系統(tǒng)任務的執(zhí)行,平衡了各個用戶的系統(tǒng)任務的響應時間,避免系統(tǒng)任務等待時間過長,造成用戶的體驗不好。例如,一次循環(huán)中,執(zhí)行了一級用戶隊列中的隊列節(jié)點E所指向的二級任務隊列的首節(jié)點F,在該二級任務隊列中,首節(jié)點F的下一個節(jié)點是G,則在執(zhí)行完首節(jié)點F所存儲的系統(tǒng)任務時,修改隊列節(jié)點E與二級任務隊列的映射關系,將隊列節(jié)點E指向二級任務隊列中的下一個節(jié)點G,通過改變映射關系,有效調度了系統(tǒng)任務的執(zhí)行。此外,當一個二級任務隊列中的所述系統(tǒng)任務被執(zhí)行完后,清楚儲存該系統(tǒng)任務的節(jié)點,直到所有二級任務隊列所存儲的所有系統(tǒng)任務均被執(zhí)行。

創(chuàng)建模塊S102,用于響應于用戶的任務請求指令,在一級用戶隊列中定位該用戶的二級任務隊列,在該二級任務隊列的隊尾創(chuàng)建與該任務請求指令相應的系統(tǒng)任務。

具體地,響應于用戶的任務請求指令,在一級用戶隊列中定位該用戶的二級任務隊列,具體包括:

接收一段時間內(nèi)的用戶的任務請求指令;

響應于用戶的任務請求指令,查詢該用戶在一級用戶隊列中其相應的隊列節(jié)點;

定位該隊列節(jié)點所指向的二級任務隊列。

在本實施例的一種優(yōu)選方案當中,用戶使用智能終端向服務器發(fā)出任務請求指令,以滿足自身的需求。系統(tǒng)接收一段時間內(nèi)的用戶的任務請求指令。例如,在1秒內(nèi),共有甲、乙、丙三人分別發(fā)出了任務請求指令L1、L2、L3。系統(tǒng)接收這1秒內(nèi),甲、乙、丙三人所發(fā)出的任務請求指令L1、L2、L3后,響應于所述任務請求指令,查詢一級用戶隊列中各自表征甲、乙、丙的隊列節(jié)點,從而定位到甲、乙、丙各自的二級任務隊列V1、V2、V3,并將系統(tǒng)任務L1、L2、L3分別添加到二級任務隊列V1、V2、V3的隊尾,完成了系統(tǒng)任務的添加。在每一次的循環(huán)中,服務器會執(zhí)行一級用戶隊列的隊列節(jié)點所指向的二級任務隊列的首節(jié)點所存儲的系統(tǒng)任務。

具體地,查詢該用戶在一級用戶隊列中其相應的隊列節(jié)點之后,還包括:

當所述一級用戶隊列中并不存在表征該用戶的隊列節(jié)點,為該用戶在一級用戶隊列的隊尾中創(chuàng)建相應的隊列節(jié)點以及該隊列節(jié)點所指向的二級任務隊列。

當然,查詢用戶在一級用戶隊列中的隊列節(jié)點的時候,也可能查詢不到該用戶對應的一級用戶隊列的隊列節(jié)點。當一個用戶未被現(xiàn)有的一級用戶隊列所記錄,即未在一級用戶隊列中創(chuàng)建表征該用戶的隊列節(jié)點,需要給該用戶創(chuàng)建相應的隊列節(jié)點以及該隊列節(jié)點所指向的二級任務隊列,并將根據(jù)所接收到的該用戶的任務請求指令所創(chuàng)建的系統(tǒng)任務添加到二級任務隊列中去。根據(jù)隊列的特點,表征一個用戶的隊列節(jié)點是創(chuàng)建在一級用戶隊列的隊尾的。

優(yōu)選地,當執(zhí)行完一個二級任務隊列中的所有系統(tǒng)任務后,還包括:

刪除該二級任務隊列以及其所對應的一級用戶隊列中的隊列節(jié)點。

當一個二級任務隊列所存儲的系統(tǒng)任務被執(zhí)行完之后,將刪除該二級任務隊列以及該二級任務隊列對應的一級用戶隊列中的隊列節(jié)點,有助于釋放內(nèi)存,釋放隊列資源,進一步添加處于等待處理狀態(tài)的系統(tǒng)任務,加快對系統(tǒng)任務的處理。

以上對本發(fā)明所提供的一種系統(tǒng)任務調度方法及裝置進行了詳細介紹,對于本領域的一般技術人員,依據(jù)本發(fā)明實施例的思想,在具體實施方式及應用范圍上均會有改變之處,綜上所述,本說明書內(nèi)容不應理解為對本發(fā)明的限制。

當前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
河北区| 尚义县| 民勤县| 苍溪县| 瓦房店市| 健康| 迭部县| 民勤县| 波密县| 阿坝县| 自治县| 沙湾县| 蕉岭县| 遂昌县| 长阳| 额尔古纳市| 胶州市| 水城县| 凌海市| 安陆市| 阳西县| 长寿区| 沧源| 达日县| 保山市| 登封市| 桑植县| 凤台县| 镇巴县| 建湖县| 武定县| 山东省| 合肥市| 五莲县| 黔南| 湖南省| 宜城市| 同心县| 麻城市| 庆城县| 怀仁县|