TW202102952A - 機器人資源任務週期管控方法及裝置 - Google Patents
機器人資源任務週期管控方法及裝置 Download PDFInfo
- Publication number
- TW202102952A TW202102952A TW109122028A TW109122028A TW202102952A TW 202102952 A TW202102952 A TW 202102952A TW 109122028 A TW109122028 A TW 109122028A TW 109122028 A TW109122028 A TW 109122028A TW 202102952 A TW202102952 A TW 202102952A
- Authority
- TW
- Taiwan
- Prior art keywords
- task
- executed
- robot
- robot resource
- resource
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/485—Task life-cycle, e.g. stopping, restarting, resuming execution
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/5038—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
- Manipulator (AREA)
- Numerical Control (AREA)
Abstract
本發明提供了一種機器人資源任務週期管控方法及裝置,該方法包括:獲取待執行任務,並將所述待執行任務置於儲存系統REDIS的即時佇列中;當所述待執行任務位於任務執行緒池時,利用Lua腳本檢查是否有空閒的機器人資源的結果對所述待執行任務進行處理。本發明提供了一種使用QUARTZ及REDIS管理任務生命週期的方法,使得任務可以準確的被控制,並且確保任務生命週期流程的完整性、清晰性及可行性。
Description
本發明涉及人工智慧領域,尤其是機器人流程自動化技術,具體涉及一種機器人資源任務週期管控方法及裝置。
RPA(Robotic Process Automation,機器人流程自動化)即自動化軟體工具,它可以通過使用者介面使用和理解企業已有的應用,將基於規則的常規操作自動化,替代人在電腦前執行具有規律與重複性高的辦公流程。
任務的生命週期均需要經歷以下幾個過程:初始化(INITIALIZATION)、等待運行(WAITING)、運行中(PROCESSING)、成功/失敗(SUCCESS/FAILURE)、中止(INTERRUPT)。如果只有一個任務擁有者可以執行任務,那任務的生命週期就會變得簡單,如圖1所示。針對機器人資源(RPA)任務擁有者不唯一的情況下,(例如系統使用者、執行緒池及定時腳本等),任務擁有者隨時有可能發出任務中止的信號。此種情況下任務的生命週期就會變得異常複雜而不穩定。
針對現有技術中的問題,本發明能夠建立一種可控的機器人資源任務週期管控方法,該方法可以提供一套機器人資源任務生命週期的安全的、準確的管控方法,以確保機器人資源任務生命週期流程的完整性。
為解決上述技術問題,本發明提供以下技術方案:
第一方面,本發明提供一種機器人資源任務週期管控方法,包括:
獲取待執行任務,並將所述待執行任務置於儲存系統REDIS的即時佇列中;
當所述待執行任務位於任務執行緒池時,檢查是否有空閒的機器人資源的結果對所述待執行任務進行處理。
一實施例中,在將待執行任務置於儲存系統REDIS的即時佇列中之前,還包括:將待執行任務置於開源作業調度框架QUARTZ的定時佇列中;將預設時間點對應的待執行任務轉移到即時佇列中。
一實施例中,所述檢查是否有空閒的機器人資源的結果對所述待執行任務進行處理,包括:利用Lua腳本檢查是否有空閒的機器人資源的結果對所述待執行任務進行處理。
一實施例中,所述利用Lua腳本檢查是否有空閒的機器人資源的結果對所述待執行任務進行處理,包括:如果沒有空閒的機器人資源,將所述待執行任務置於所述REDIS的延時佇列SortedSet中。
一實施例中,機器人資源任務週期管控方法還包括:判斷SortedSet中的待執行任務是否停留了預設等待時長;如果是,利用Lua腳本將待執行任務轉移到即時佇列中。
一實施例中,機器人資源任務週期管控方法還包括:利用QUARTZ的週期任務週期性的刷新待執行任務所處的佇列。
一實施例中,機器人資源任務週期管控方法還包括:當待執行任務處理完成後,增加空閒的機器人資源的數目。
一實施例中,所述增加空閒的機器人資源的數目,包括:利用計數器RedisConter的INCRBYkeyincremet命令增加所述數目。
一實施例中,機器人資源任務週期管控方法還包括:當待執行任務分配至空閒的機器人資源後,利用RedisConter的DECRBYkeydecrement命令減少空閒的機器人資源的數目。
第二方面,本發明提供一種機器人資源任務週期管控裝置,該裝置包括:待執行任務獲取單元,用於獲取待執行任務,並將待執行任務置於儲存系統REDIS的即時佇列中;機器人資源檢查單元,用於檢查是否有空閒的機器人資源的結果對待執行任務進行處理。
一實施例中,機器人資源任務週期管控裝置還包括:待執行任務設置單元,用於將待執行任務置於開源作業調度框架QUARTZ的定時佇列中;待執行任務轉移單元,用於將預設時間點對應的待執行任務轉移到即時佇列中。
一實施例中,所述機器人資源檢查單元包括:機器人資源檢查模組,用於利用Lua腳本檢查是否有空閒的機器人資源的結果對所述待執行任務進行處理。
一實施例中,所述機器人資源檢查模組具體用於將所述待執行任務置於所述REDIS的延時佇列SortedSet中。
一實施例中,機器人資源任務週期管控裝置還包括:SortedSet判斷單元,用於判斷SortedSet中的待執行任務是否停留了預設等待時長;Lua腳本轉移單元,用於利用Lua腳本將待執行任務轉移到即時佇列中。
一實施例中,機器人資源任務週期管控裝置還包括:待執行任務刷新單元,用於利用QUARTZ的週期任務週期性的刷新待執行任務所處的佇列。
一實施例中,機器人資源任務週期管控裝置還包括:機器人資源增加單元,用於增加空閒的機器人資源的數目。
一實施例中,所述機器人資源增加單元具體用於利用計數器RedisConter的INCRBYkeyincremet命令增加所述數目。
一實施例中,機器人資源任務週期管控裝置還包括:機器人資源減少單元,利用RedisConter的DECRBYkeydecrement命令減少空閒的機器人資源的數目。
協力廠商面,本發明提供一種電子設備,包括記憶體、處理器及儲存在記憶體上並可在處理器上運行的電腦程式,處理器執行程式時實現機器人資源任務週期管控方法的步驟。
第四方面,本發明提供一種電腦可讀儲存介質,其上儲存有電腦程式,該電腦程式被處理器執行時實現機器人資源任務週期管控方法的步驟。
從上述描述可知,本發明提供機器人資源任務週期管控方法及裝置,通過Lua腳本檢查是否有空閒的機器人資源,並根據檢查結果將待執行任務放入即時佇列中,另外,本發明還提出了利用具有原子操作的計數器RedisConter來增減或者減少空閒的機器人資源的數目,本發明使用QUARTZ及REDIS管理任務生命週期的方法,使得任務可以準確的被控制,並且確保任務生命週期流程的完整性、清晰性及可行性,並且通過使用REDIS管控機器人資源的任務週期,杜絕資源的重複佔用、重複釋放等問題,使得機器人資源可以安全的被使用。綜上,本發明提供了一種可以取消待執行任務所必須擁有的完備的取消策略,詳細定義了取消操作的實現方式、時間以及取消內容,既如何(How)請求取消該任務,任務何時(When)檢查是否已經請求了取消,以及在回應取消請求時應該執行哪些(What)操作,從而避免了取消任務時會使共用的資料結果處於不一致的狀態的問題。
為使本發明實施例的目的、技術方案和優點更加清楚,下面將結合本發明實施例中的附圖,對本發明實施例中的技術方案進行清楚、完整的描述,顯然,所描述的實施例是本發明一部分實施例,而不是全部的實施例。基於本發明中的實施例,本領域普通技術人員在沒有作出創造性勞動前提下所獲得的所有其他實施例,都屬於本發明保護的範圍。
Java的執行緒包含了一套完備的中斷策略。這套中斷策略提供了一種協作機制,能夠使一個執行緒終止另一個執行緒的當前工作。對中斷操作的正確理解是:它並不會真正地中斷一個正在運行的執行緒,而只是發出中斷請求,然後由執行緒在下一個合適的時刻中斷自己,這些時刻也被稱為取消點。基於此,本發明的實施例提供一種機器人資源任務週期管控方法的具體實施方式,參見圖2及圖3,該方法具體包括如下內容:
步驟100:獲取待執行任務,並將待執行任務置於儲存系統REDIS的即時佇列中。
可以理解的是,步驟100中的帶執行任務是機器人待執行任務,該任務由客戶發起,由機器人執行。
步驟100中的REDIS是一個key-value儲存系統,它支援儲存的value類型很多,包括string(字串)、list(鏈表)、set(集合)、zset(sorted set --有序集合)和hash(雜湊類型)。這些資料類型都支持push/pop、add/remove及取交集並集和差集及更豐富的操作,而且這些操作都是原子性的。在此基礎上,REDIS支援各種不同方式的排序。與memcached一樣,為了保證效率,資料都是緩存在記憶體中。REDIS會週期性的把更新的資料寫入磁片或者把修改操作寫入追加的記錄檔,並且在此基礎上實現了master-slave(主從)同步。另外,REDIS是一個高性能的key-value資料庫,它提供了Java,C/C++,C#,PHP,JavaScript,Perl,Object-C,Python,Ruby,Erlang等用戶端。
步驟200:當待執行任務位於任務執行緒池時,檢查是否有空閒的機器人資源的結果對待執行任務進行處理。
可以理解的是,當有優先順序較高的任務出現時,會中斷某個之前的任務,此時需要在資料庫中新建一張任務調度表(任何時候只要收到任務中止的請求,就往任務調度表裡面插入一條資料)。需要說明的是,此時並不會真正中斷一個正在運行的任務,而只是發出中斷請求,然後由任務在下一個合適的時刻中斷自己,這些時刻也被稱為取消點。表1展示了任務生命週期過程中的取消點,以及每個取消點對應的動作。
表1任務取消點表
取消點 (When) | 動作( What ) |
Quartz定時任務 | 直接結束任務 |
即時佇列消費執行緒 | 直接結束任務 |
任務執行池 | 直接結束任務 |
Quartz週期任務 | 釋放資源,結束任務 |
從上述描述可知,本發明提供機器人資源任務週期管控方法,通過Lua腳本檢查是否有空閒的機器人資源,並根據檢查結果將待執行任務放入即時佇列中,另外,本發明還提出了利用具有原子操作的計數器RedisConter來增減或者減少空閒的機器人資源的數目,本發明使用QUARTZ及REDIS管理任務生命週期的方法,使得任務可以準確的被控制,並且確保任務生命週期流程的完整性、清晰性及可行性,並且通過使用REDIS管控機器人資源的任務週期,杜絕資源的重複佔用、重複釋放等問題,使得機器人資源可以安全的被使用。綜上,本發明提供了一種可以取消待執行任務所必須擁有的完備的取消策略,詳細定了取消操作的實現方式、時間以及取消內容,既如何(How)請求取消該任務,任務何時(When)檢查是否已經請求了取消,以及在回應取消請求時應該執行哪些(What)操作,從而避免了取消任務時會使共用的資料結果處於不一致的狀態的問題。
一實施例中,參見圖4,在步驟100之前,機器人資源任務週期管控方法還包括:
步驟80:將預設時間點對應的待執行任務轉移到即時佇列中。
步驟80在實施時,具體為:由QUARTZ在指定的時間(由用戶指定該時間)自動啟動該任務,並把該任務放入REDIS的LIST(即時佇列)中,此時任務的狀態為等待執行(WAITING)。
步驟90:將待執行任務置於開源作業調度框架QUARTZ的定時佇列中。
步驟90中QUARTZ是由java編寫的開源作業調度框架。QUARTZ的核心是調度器。調度器負責管理QUARTZ應用運行時環境。為確保可伸縮性,QUARTZ採用了基於多執行緒的架構。啟動時,框架初始化一套worker執行緒,這套執行緒被調度器用來執行預定的作業。
步驟90在具體實施時,通過以下方式來實現:計算出任務的真正執行時間,把該任務放入QUARTZ中,該任務為QUARTZ的一個定時任務,此時任務的狀態為初始(INITIALIZATION)。可以理解的是,步驟80與步驟90的執行順序沒有先後之分。
一實施例中,步驟200中檢查是否有空閒的機器人資源的結果對待執行任務進行處理,包括:利用Lua腳本檢查是否有空閒的機器人資源的結果對所述待執行任務進行處理。
具體地,通過REDIS內置的Lua解譯器,可以使用EVAL命令對Lua腳本進行求值。Redis使用單個Lua解譯器去運行所有腳本,並且Redis保證腳本會以原子性(atomic)的方式執行:當某個腳本正在運行的時候,不會有其他腳本或Redis命令被執行。上述原子性是指原子操作(atomic operation),是指不會被執行緒調度機制打斷的操作;這種操作一旦開始,就一直運行到結束,中間不會有任何切換(切換到另一個執行緒)。
步驟200進一步包括:如果沒有空閒的機器人資源,將待執行任務置於REDIS的延時佇列SortedSet中。
在步驟200中,利用Lua腳本檢查是否有空閒的機器人資源,如果有,即任務獲取資源成功,那麼正常處理任務,此時任務的狀態為處理中(PROCESSING)。反之如果沒有,即任務獲取資源失敗,那麼把任務放入到REDIS的SortedSet中。這裡把REDIS的這個SortedSet稱為延時佇列。
一實施例中,參見圖5,機器人資源任務週期管控方法還包括:
步驟300:判斷SortedSet中的待執行任務是否停留了預設等待時長;如果是,利用Lua腳本將待執行任務轉移到即時佇列中。
可以理解的是,在步驟300中,如果判斷結果為SortedSet中的待執行任務沒有停留預設等待時長,則該代執行任務在SortedSet延時佇列中繼續等待。
一實施例中,參見圖6,機器人資源任務週期管控方法還包括:
步驟400:利用QUARTZ的週期任務週期性的刷新待執行任務所處的佇列。
如果實現步驟300則需要設置一QUARTZ的週期任務週期性的刷新待執行任務所處的佇列(狀態),步驟400在實施時,具體為:設置一觸發條件(時間),到了該時間點,觸發相應的執行緒執行任務。
一實施例中,參見圖7,機器人資源任務週期管控方法還包括:
步驟500:當待執行任務處理完成後,增加空閒的機器人資源的數目。
進一步地,步驟500包括:當待執行任務處理完成後,利用計數器RedisConter的INCRBYkeyincremet命令增加所述數目。
一實施例中,參見圖8,機器人資源任務週期管控方法還包括:
步驟600:當待執行任務分配至空閒的機器人資源後,利用RedisConter的DECRBYkeydecrement命令減少空閒的機器人資源的數目。
在步驟500及步驟600中,預處理計數器(Counter)是Redis的原子性自增操作,每當某個操作發生時,向Redis發送一個INCR命令。使用RedisConter來進行資源的管理,通過INCRBYkeyincremet來增加資源。那麼key的值會先被初始化為0,然後再執行INCRBY命令。所以也可以直接使用INCRBY來進行資源的預處理。同樣的,通過DECRBYkeydecrement來減少資源。
為進一步地說明本方案,本發明以具體代碼為例,提供機器人資源任務週期管控方法的具體應用實例,該具體應用實例具體包括如下內容,參見圖9。
S0:將待執行任務置於QUARTZ的定時佇列中。
可以理解的是,此時待執行任務的狀態為初始狀態(INITIALIZATION)。
S1:在預設時間點時,將對應的待執行任務轉移到即時佇列中。
可以理解的是,此時待執行任務的狀態為等待執行(WAITING)。啟動JAVA的一個執行緒來消費即時佇列的任務。這裡把JAVA的這個執行緒稱為即時佇列消費執行緒。即時佇列消費執行緒會把任務發送到任務執行池進行處理。任務執行池由JAVA進行管理。
S2:利用Lua腳本檢查是否有空閒的機器人資源的結果對待執行任務進行處理。
具體地:利用Lua腳本檢查是否有空閒的機器人資源,如果有,即任務獲取資源成功,那麼正常處理任務,此時任務的狀態為處理中(PROCESSING)。反之如果沒有,即任務獲取資源失敗,那麼把任務放入到REDIS的SortedSet中。該延時佇列的任務的SCORE是放入集合的時間+預期等待時間的總合。另外,任務執行池會分配一個執行緒專門來處理一個待執行任務,以提高任務的處理效率。
S3:利用Lua腳本將待執行任務轉移到即時佇列中。
具體地:判斷SortedSet中的待執行任務是否停留了預設等待時長;如果是,利用Lua腳本將待執行任務轉移到即時佇列中。
把任務從延時佇列執行緒(SortedSet)中轉移到即時佇列(List)中有兩個問題需要處理:
①對於SortedSet,REDIS中沒有提供這樣一個命令,該命令使得用戶端阻塞,直到SCORE小於當前時間,用戶端可以獲取到一個任務進行處理。
②REDIS同樣沒有提供這樣一個命令,使得在一個原子操作執行以下兩個作:
將SortedSet中的第一個任務彈出,並返回給用戶端;將SortedSet彈出的元素插入到List,作為List的頭元素。
從REDIS 2.6.0版本開始,通過內置的Lua解譯器,可以使用EVAL命令對Lua腳本進行求值。REDIS使用單個Lua解譯器去運行所有腳本,並且REDIS同時保證腳本會以原子性(atomic)的方式執行:當某個腳本正在運行的時候,不會有其他腳本或Redis命令被執行。具體實施方式如下所示:
DelayedSetToLiveQueue.lua
localdelayed_task=redis.call('zrange','DELAYED_TASK',0,0,'WITHSCORES')
localunix_time=tonumber(KEYS[1])
localtask_id=delayed_task[1]
localdelayed_time=tonumber(delayed_task[2])
if(task_id==nil)or(delayed_time==nil)then
returnnil
else
if(unix_time>delayed_time)then
localrem_count=redis.call('zrem','DELAYED_TASK',task_id)
returntask_id
else
returnnil
end
end
S4:利用QUARTZ的週期任務週期性的刷新待執行任務所處的佇列。
可以理解的是,步驟S5為了所有待執行任務能夠走完完整的生命週期。有以下三種情況會導致任務沒有正確的被運行:
①所有的worker(機器人資源)執行緒都處於忙碌狀態(可能在執行更高優先順序的任務)。
②Quartz的調度器掛掉了(可能是系統宕機了)。
③這個任務的開始執行時間是過去的某一個時間點。(可能是創建時候配置出錯)。
在上面3種情況時,設置MisfireInstructions,使得系統恢復後,任務仍然可以有機會被運行。結合Quartz提供的Unschedule的功能,只要滿足一下3種情況中的一種,該任務就應該被結束:
a任務已經執行成功或者失敗。
b任務已經到達自動回收時間。
c任務已經被外界中止。
S5:利用計數器RedisConter的INCRBYkeyincremet命令增加空閒的機器人資源的數目。
具體地:當待執行任務處理完成後,利用計數器RedisConter的INCRBYkeyincremet命令增加空閒的機器人資源的數目。key的值會先被初始化為0,然後再執行INCRBY命令。所以也可以直接使用INCRBY來進行資源的預處理。
S6:利用RedisConter的DECRBYkeydecrement命令減少空閒的機器人資源的數目。
具體地:當待執行任務分配至空閒的機器人資源後,利用RedisConter的DECRBYkeydecrement命令減少空閒的機器人資源的數目。
在S6至S7中,佔用資源RedisCounter自帶的命令都是原子性的,對於佔用資源,為了安全的使用資源,系統只有在機器人資源充足的情況下,才允許佔用資源。如果在資源不足的情況下,用戶端仍然有可能佔用到資源,可能會帶來整個系統崩塌的後果。
對於像“先檢查後執行”(check-then-actoperations)這種複合操作,使用Lua腳本來構造該複合操作:當資源不足的時候,直接返回-1;當資源充足的時候,減少一個資源的數量,並返回當前資源的數量(大於0)。具體實施方式如下所示:
DelayedSetToLiveQueue.lua
1. localstorage_value=redis.call('get',KEYS[1])
2. if(storage_value==false)or(storage_value=="0")then
3. return-1
4. else
5. localremain_storage_value=redis.call('decr',KEYS[1])
6. returnremain_storage_value
7. end
釋放資源的過程直接通過INCRBYkey1來實現。
從上述描述可知,本發明提供機器人資源任務週期管控方法,通過Lua腳本檢查是否有空閒的機器人資源,並根據檢查結果將待執行任務放入即時佇列中,另外,本發明還提出了利用具有原子操作的計數器RedisConter來增減或者減少空閒的機器人資源的數目,本發明使用QUARTZ及REDIS管理任務生命週期的方法,使得任務可以準確的被控制,並且確保任務生命週期流程的完整性、清晰性及可行性,並且通過使用REDIS管控機器人資源的任務週期,杜絕資源的重複佔用、重複釋放等問題,使得機器人資源可以安全的被使用。綜上,本發明提供了一種可以取消待執行任務所必須擁有的完備的取消策略,詳細定了取消操作的實現方式、時間以及取消內容,既如何(How)請求取消該任務,任務何時(When)檢查是否已經請求了取消,以及在回應取消請求時應該執行哪些(What)操作,從而避免了取消任務時會使共用的資料。
基於同一發明構思,本申請實施例還提供了機器人資源任務週期管控裝置,可以用於實現上述實施例所描述的方法,如下面的實施例所述。由於機器人資源任務週期管控裝置解決問題的原理與機器人資源任務週期管控方法相似,因此機器人資源任務週期管控裝置的實施可以參見機器人資源任務週期管控方法實施,重複之處不再贅述。以下所使用的,術語“單元”或者“模組”可以實現預定功能的軟體和/或硬體的組合。儘管以下實施例所描述的系統較佳地以軟體來實現,但是硬體,或者軟體和硬體的組合的實現也是可能並被構想的。
本發明的實施例提供一種能夠實現機器人資源任務週期管控方法的機器人資源任務週期管控裝置的具體實施方式,參見圖10,機器人資源任務週期管控裝置具體包括如下內容:
待執行任務獲取單元10,用於獲取待執行任務,並將待執行任務置於儲存系統REDIS的即時佇列中;
機器人資源檢查單元20,用於檢查是否有空閒的機器人資源的結果對待執行任務進行處理。
一實施例中,機器人資源任務週期管控裝置還包括:待執行任務設置單元,用於將待執行任務置於開源作業調度框架QUARTZ的定時佇列中;待執行任務轉移單元,用於將預設時間點對應的待執行任務轉移到即時佇列中。
一實施例中,所述機器人資源檢查單元包括:機器人資源檢查模組,用於利用Lua腳本檢查是否有空閒的機器人資源的結果對所述待執行任務進行處理。
一實施例中,所述機器人資源檢查模組具體用於將所述待執行任務置於所述REDIS的延時佇列SortedSet中。
一實施例中,機器人資源任務週期管控裝置還包括:SortedSet判斷單元,用於判斷SortedSet中的待執行任務是否停留了預設等待時長;Lua腳本轉移單元,用於利用Lua腳本將待執行任務轉移到即時佇列中。
一實施例中,機器人資源任務週期管控裝置還包括:待執行任務刷新單元,用於利用QUARTZ的週期任務週期性的刷新待執行任務所處的佇列。
一實施例中,機器人資源任務週期管控裝置還包括:機器人資源增加單元,用於增加空閒的機器人資源的數目。
一實施例中,所述機器人資源增加單元具體用於利用計數器RedisConter的INCRBYkeyincremet命令增加所述數目。
一實施例中,機器人資源任務週期管控裝置還包括:機器人資源減少單元,利用RedisConter的DECRBYkeydecrement命令減少空閒的機器人資源的數目。
從上述描述可知,本發明提供機器人資源任務週期管控裝置,通過Lua腳本檢查是否有空閒的機器人資源,並根據檢查結果將待執行任務放入即時佇列中,另外,本發明還提出了利用具有原子操作的計數器RedisConter來增減或者減少空閒的機器人資源的數目,本發明使用QUARTZ及REDIS管理任務生命週期的方法,使得任務可以準確的被控制,並且確保任務生命週期流程的完整性、清晰性及可行性,並且通過使用REDIS管控機器人資源的任務週期,杜絕資源的重複佔用、重複釋放等問題,使得機器人資源可以安全的被使用。綜上,本發明提供了一種可以取消待執行任務所必須擁有的完備的取消策略,詳細定了取消操作的實現方式、時間以及取消內容,既如何(How)請求取消該任務,任務何時(When)檢查是否已經請求了取消,以及在回應取消請求時應該執行哪些(What)操作,從而避免了取消任務時會使共用的資料結果處於不一致的狀態的問題。
本申請的實施例還提供一種電子設備,該電子設備可以是臺式電腦、平板電腦及移動終端等,本實施例不限於此。在本實施例中,該電子設備可以參照上述實施例的方法的實施及上述實施例所述的裝置,其內容被合併於此,重複之處不再贅述。
圖11為本發明實施例的電子設備600的系統構成的示意框圖。如圖11所示,該電子設備600可以包括中央處理器100和記憶體140;記憶體140耦合到中央處理器100。值得注意的是,該圖是示例性的;還可以使用其他類型的結構,來補充或代替該結構,以實現電信功能或其他功能。
一實施例中,網頁結構化資料的抓取功能可以被集成到中央處理器100中。其中,中央處理器100可以被配置為進行如下控制:
獲取待執行任務,並將所述待執行任務置於儲存系統REDIS的即時佇列中;
當所述待執行任務位於任務執行緒池時,利用Lua腳本檢查是否有空閒的機器人資源的結果對所述待執行任務進行處理。
在將所述待執行任務置於儲存系統REDIS的即時佇列中之前,還包括:
將所述待執行任務置於開源作業調度框架QUARTZ的定時佇列中;
將預設時間點對應的待執行任務轉移到所述即時佇列中。
所述利用Lua腳本檢查是否有空閒的機器人資源的結果對所述待執行任務進行處理,包括:
如果沒有空閒的機器人資源,將所述待執行任務置於所述REDIS的延時佇列SortedSet中。
判斷SortedSet中的待執行任務是否停留了預設等待時長;
如果是,利用所述Lua腳本將所述待執行任務轉移到所述即時佇列中。
當所述待執行任務處理完成後,利用計數器RedisConter的INCRBYkeyincremet命令增加空閒的機器人資源的數目。
在另一個實施方式中,機器人資源任務週期管控裝置可以與中央處理器100分開配置,例如可以將機器人資源任務週期管控裝置配置為與中央處理器100連接的晶片,通過中央處理器的控制來實現機器人資源任務週期的管控功能。
如圖11所示,該電子設備600還可以包括:通信模組110、輸入單元120、音訊處理器130、顯示器160、電源170。值得注意的是,電子設備600也並不是必須要包括圖11中所示的所有部件;此外,電子設備600還可以包括圖11中沒有示出的部件,可以參考現有技術。
如圖11所示,中央處理器100有時也稱為控制器或操作控制項,可以包括微處理器或其他處理器裝置和/或邏輯裝置,該中央處理器100接收輸入並控制電子設備600的各個部件的操作。
其中,記憶體140,例如可以是暫存器、快閃記憶體、硬驅、可移動介質、揮發性記憶體、非揮發性記憶體或其它合適裝置中的一種或更多種。可儲存上述與失敗有關的資訊,此外還可儲存執行有關資訊的程式。並且中央處理器100可執行該記憶體140儲存的該程式,以實現資訊儲存或處理等。
輸入單元120向中央處理器100提供輸入。該輸入單元120例如為按鍵或觸摸輸入裝置。電源170用於向電子設備600提供電力。顯示器160用於進行圖像和文字等顯示物件的顯示。該顯示器例如可為LCD顯示器,但並不限於此。
該記憶體140可以是固態記憶體,例如,唯讀記憶體(ROM)、隨機存取記憶體(RAM)、SIM卡等。還可以是這樣的記憶體,其即使在斷電時也保存資訊,可被選擇性地擦除且設有更多資料,該記憶體的示例有時被稱為EPROM等。記憶體140還可以是某種其它類型的裝置。記憶體140包括緩衝記憶體141(有時被稱為緩衝器)。記憶體140可以包括應用/功能儲存部142,該應用/功能儲存部142用於儲存應用程式和功能程式或用於通過中央處理器100執行電子設備600的操作的流程。
記憶體140還可以包括資料儲存部143,該資料儲存部143用於儲存資料,例如連絡人、數位資料、圖片、聲音和/或任何其他由電子設備使用的資料。記憶體140的驅動程式儲存部144可以包括電子設備的用於通信功能和/或用於執行電子設備的其他功能(如消息傳送應用、通訊錄應用等)的各種驅動程式。
通信模組110即為經由天線111發送和接收信號的發送機/接收機110。通信模組(發送機/接收機)110耦合到中央處理器100,以提供輸入信號和接收輸出信號,這可以和常規移動通信終端的情況相同。
基於不同的通信技術,在同一電子設備中,可以設置有多個通信模組110,如蜂窩網路模組、藍牙模組和/或無線局域網模組等。通信模組(發送機/接收機)110還經由音訊處理器130耦合到揚聲器131和麥克風132,以經由揚聲器131提供音訊輸出,並接收來自麥克風132的音訊輸入,從而實現通常的電信功能。音訊處理器130可以包括任何合適的緩衝器、解碼器、放大器等。另外,音訊處理器130還耦合到中央處理器100,從而使得可以通過麥克風132能夠在本機上錄音,且使得可以通過揚聲器131來播放本機上儲存的聲音。
本申請的實施例還提供能夠實現上述實施例中的機器人資源任務週期管控方法中全部步驟的一種電腦可讀儲存介質,電腦可讀儲存介質上儲存有電腦程式,該電腦程式被處理器執行時實現上述實施例中的機器人資源任務週期管控方法的全部步驟,例如,處理器執行電腦程式時實現下述步驟:
獲取待執行任務,並將所述待執行任務置於儲存系統REDIS的即時佇列中;
當所述待執行任務位於任務執行緒池時,利用Lua腳本檢查是否有空閒的機器人資源的結果對所述待執行任務進行處理。
在將所述待執行任務置於儲存系統REDIS的即時佇列中之前,還包括:
將所述待執行任務置於開源作業調度框架QUARTZ的定時佇列中;
將預設時間點對應的待執行任務轉移到所述即時佇列中。
所述利用Lua腳本檢查是否有空閒的機器人資源的結果對所述待執行任務進行處理,包括:
如果沒有空閒的機器人資源,將所述待執行任務置於所述REDIS的延時佇列SortedSet中。
判斷SortedSet中的待執行任務是否停留了預設等待時長;
如果是,利用所述Lua腳本將所述待執行任務轉移到所述即時佇列中。
當所述待執行任務處理完成後,利用計數器RedisConter的INCRBYkeyincremet命令增加空閒的機器人資源的數目。
本說明書中的各個實施例均採用遞進的方式描述,各個實施例之間相同相似的部分互相參見即可,每個實施例重點說明的都是與其他實施例的不同之處。尤其,對於硬體+程式類實施例而言,由於其基本相似於方法實施例,所以描述的比較簡單,相關之處參見方法實施例的部分說明即可。
上述對本說明書特定實施例進行了描述。其它實施例在所附發明申請專利範圍內。在一些情況下,在發明申請專利範圍中記載的動作或步驟可以按照不同於實施例中的順序來執行並且仍然可以實現期望的結果。另外,在附圖中描繪的過程不一定要求示出的特定順序或者連續順序才能實現期望的結果。在某些實施方式中,多工處理和並行處理也是可以的或者可能是有利的。
雖然本申請提供了如實施例或流程圖所述的方法操作步驟,但基於常規或者無創造性的勞動可以包括更多或者更少的操作步驟。實施例中列舉的步驟順序僅僅為眾多步驟執行順序中的一種方式,不代表唯一的執行順序。在實際中的裝置或用戶端產品執行時,可以按照實施例或者附圖所示的方法循序執行或者並存執行(例如並行處理器或者多執行緒處理的環境)。
雖然本說明書實施例提供了如實施例或流程圖所述的方法操作步驟,但基於常規或者無創造性的手段可以包括更多或者更少的操作步驟。實施例中列舉的步驟順序僅僅為眾多步驟執行順序中的一種方式,不代表唯一的執行順序。在實際中的裝置或終端產品執行時,可以按照實施例或者附圖所示的方法循序執行或者並存執行(例如並行處理器或者多執行緒處理的環境,甚至為分散式資料處理環境)。術語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、產品或者設備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、產品或者設備所固有的要素。在沒有更多限制的情況下,並不排除在包括所述要素的過程、方法、產品或者設備中還存在另外的相同或等同要素。
為了描述的方便,描述以上裝置時以功能分為各種模組分別描述。當然,在實施本說明書實施例時可以把各模組的功能在同一個或多個軟體和/或硬體中實現,也可以將實現同一功能的模組由多個子模組或子單元的組合實現等。以上所描述的裝置實施例僅僅是示意性的,例如,所述單元的劃分,僅僅為一種邏輯功能劃分,實際實現時可以有另外的劃分方式,例如多個單元或元件可以結合或者可以集成到另一個系統,或一些特徵可以忽略,或不執行。另一點,所顯示或討論的相互之間的耦合或直接耦合或通信連接可以是通過一些介面,裝置或單元的間接耦合或通信連接,可以是電性,機械或其它的形式。
本領域技術人員也知道,除了以純電腦可讀程式碼方式實現控制器以外,完全可以通過將方法步驟進行邏輯程式設計來使得控制器以邏輯閘、開關、專用積體電路、可程式設計邏輯控制器和嵌入微控制器等的形式來實現相同功能。因此這種控制器可以被認為是一種硬體部件,而對其內部包括的用於實現各種功能的裝置也可以視為硬體部件內的結構。或者甚至,可以將用於實現各種功能的裝置視為既可以是實現方法的軟體模組又可以是硬體部件內的結構。
本發明是參照根據本發明實施例的方法、設備(系統)、和電腦程式產品的流程圖和/或方框圖來描述的。應理解可由電腦程式指令實現流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結合。可提供這些電腦程式指令到通用電腦、專用電腦、嵌入式處理機或其他可程式設計資料處理設備的處理器以產生一個機器,使得通過電腦或其他可程式設計資料處理設備的處理器執行的指令產生用於實現在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的裝置。
這些電腦程式指令也可儲存在能引導電腦或其他可程式設計資料處理設備以特定方式工作的電腦可讀記憶體中,使得儲存在該電腦可讀記憶體中的指令產生包括指令裝置的製造品,該指令裝置實現在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能。
這些電腦程式指令也可裝載到電腦或其他可程式設計資料處理設備上,使得在電腦或其他可程式設計設備上執行一系列操作步驟以產生電腦實現的處理,從而在電腦或其他可程式設計設備上執行的指令提供用於實現在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的步驟。
在一個典型的配置中,計算設備包括一個或多個處理器(CPU)、輸入/輸出介面、網路介面和記憶體。
記憶體可能包括電腦可讀介質中的非永久性記憶體,隨機存取記憶體(RAM)和/或非揮發性記憶體等形式,如唯讀記憶體(ROM)或快閃記憶體(flash RAM)。記憶體是電腦可讀介質的示例。
電腦可讀介質包括永久性和非永久性、可移動和非可移動媒體可以由任何方法或技術來實現資訊儲存。資訊可以是電腦可讀指令、資料結構、程式的模組或其他資料。電腦的儲存介質的例子包括,但不限於相變記憶體(PRAM)、靜態隨機存取記憶體(SRAM)、動態隨機存取記憶體(DRAM)、其他類型的隨機存取記憶體(RAM)、唯讀記憶體(ROM)、電可擦除可程式設計唯讀記憶體(EEPROM)、快閃記憶體或其他記憶體技術、唯讀光碟唯讀記憶體(CD-ROM)、數位多功能光碟(DVD)或其他光學儲存、磁盒式磁帶,磁帶磁片儲存或其他磁性存放裝置或任何其他非傳輸介質,可用於儲存可以被計算設備訪問的資訊。按照本文中的界定,電腦可讀介質不包括暫存電腦可讀媒體(transitory media),如調製的資料信號和載波。
本領域技術人員應明白,本說明書的實施例可提供為方法、系統或電腦程式產品。因此,本說明書實施例可採用完全硬體實施例、完全軟體實施例或結合軟體和硬體方面的實施例的形式。而且,本說明書實施例可採用在一個或多個其中包含有電腦可用程式碼的電腦可用儲存介質(包括但不限於磁碟記憶體、CD-ROM、光學記憶體等)上實施的電腦程式產品的形式。
本說明書實施例可以在由電腦執行的電腦可執行指令的一般上下文中描述,例如程式模組。一般地,程式模組包括執行特定任務或實現特定抽象資料類型的常式、程式、物件、元件、資料結構等等。也可以在分散式運算環境中實踐本說明書實施例,在這些分散式運算環境中,由通過通信網路而被連接的遠端處理設備來執行任務。在分散式運算環境中,程式模組可以位於包括存放裝置在內的本地和遠端電腦儲存介質中。
本說明書中的各個實施例均採用遞進的方式描述,各個實施例之間相同相似的部分互相參見即可,每個實施例重點說明的都是與其他實施例的不同之處。尤其,對於系統實施例而言,由於其基本相似於方法實施例,所以描述的比較簡單,相關之處參見方法實施例的部分說明即可。在本說明書的描述中,參考術語“一個實施例”、“一些實施例”、“示例”、“具體示例”、或“一些示例”等的描述意指結合該實施例或示例描述的具體特徵、結構、材料或者特點包含於本說明書實施例的至少一個實施例或示例中。在本說明書中,對上述術語的示意性表述不必須針對的是相同的實施例或示例。而且,描述的具體特徵、結構、材料或者特點可以在任一個或多個實施例或示例中以合適的方式結合。此外,在不相互矛盾的情況下,本領域的技術人員可以將本說明書中描述的不同實施例或示例以及不同實施例或示例的特徵進行結合和組合。
以上所述僅為本說明書實施例的實施例而已,並不用於限制本說明書實施例。對於本領域技術人員來說,本說明書實施例可以有各種更改和變化。凡在本說明書實施例的精神和原理之內所作的任何修改、等同替換、改進等,均應包含在本說明書實施例的發明申請專利範圍之內。
S80,S90,S100,S200,S300,S400,S500,S600,S0~S6:步驟
10:待執行任務獲取單元
20:機器人資源檢查單元
600:電子設備
100:中央處理器
140:記憶體
110:通信模組
120:輸入單元
130:音訊處理器
160:顯示器
170:電源
141:緩衝器
142:應用/功能
143:資料
144:驅動程式
111:天線
131:揚聲器
132:麥克風
為了更清楚地說明本發明實施例或現有技術中的技術方案,下面將對實施例或現有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖是本發明的一些實施例,對於本領域普通技術人員來講,在不付出創造性勞動的前提下,還可以根據這些附圖獲得其他的附圖。
圖1為本發明的背景技術中任務的生命週期示意圖;
圖2為本發明的實施例中的機器人資源任務週期管控方法的流程示意圖一;
圖3為本發明的實施例整體思路流程示意圖;
圖4為本發明的實施例中的機器人資源任務週期管控方法的流程示意圖二;
圖5為本發明的實施例中的機器人資源任務週期管控方法的流程示意圖三;
圖6為本發明的實施例中的機器人資源任務週期管控方法的流程示意圖四;
圖7為本發明的實施例中的機器人資源任務週期管控方法的流程示意圖五;
圖8為本發明的實施例中的機器人資源任務週期管控方法的流程示意圖六;
圖9為本發明的具體應用實例中機器人資源任務週期管控方法的流程示意圖;
圖10為本發明的實施例中的機器人資源任務週期管控裝置的結構示意圖;
圖11為本發明的實施例中的電子設備的結構示意圖。
S100,S200:步驟
Claims (20)
- 一種機器人資源任務週期管控方法,其特徵在於,包括: 獲取待執行任務,並將所述待執行任務置於儲存系統REDIS的即時佇列中; 當所述待執行任務位於任務執行緒池時,檢查是否有空閒的機器人資源的結果對所述待執行任務進行處理。
- 如請求項1的機器人資源任務週期管控方法,其特徵在於,在將所述待執行任務置於儲存系統REDIS的即時佇列中之前,還包括: 將所述待執行任務置於開源作業調度框架QUARTZ的定時佇列中; 將預設時間點對應的待執行任務轉移到所述即時佇列中。
- 如請求項1的機器人資源任務週期管控方法,其特徵在於,所述檢查是否有空閒的機器人資源的結果對所述待執行任務進行處理,包括:利用Lua腳本檢查是否有空閒的機器人資源的結果對所述待執行任務進行處理。
- 如請求項3的機器人資源任務週期管控方法,其特徵在於,所述利用Lua腳本檢查是否有空閒的機器人資源的結果對所述待執行任務進行處理,包括: 如果沒有空閒的機器人資源,將所述待執行任務置於所述REDIS的延時佇列SortedSet中。
- 如4的機器人資源任務週期管控方法,其特徵在於,還包括: 判斷SortedSet中的待執行任務是否停留了預設等待時長; 如果是,利用所述Lua腳本將所述待執行任務轉移到所述即時佇列中。
- 如請求項2的機器人資源任務週期管控方法,其特徵在於,還包括:利用所述QUARTZ的週期任務週期性的刷新待執行任務所處的佇列。
- 如請求項1的機器人資源任務週期管控方法,其特徵在於,還包括: 當所述待執行任務處理完成後,增加空閒的機器人資源的數目。
- 如請求項7的機器人資源任務週期管控方法,其特徵在於,所述增加空閒的機器人資源的數目,包括:利用計數器RedisConter的INCRBYkeyincremet命令增加所述數目。
- 如請求項8的機器人資源任務週期管控方法,其特徵在於,還包括: 當所述待執行任務分配至空閒的機器人資源後,利用所述RedisConter的DECRBYkeydecrement命令減少空閒的機器人資源的數目。
- 一種機器人資源任務週期管控裝置,其特徵在於,包括: 待執行任務獲取單元,用於獲取待執行任務,並將所述待執行任務置於儲存系統REDIS的即時佇列中; 機器人資源檢查單元,用於檢查是否有空閒的機器人資源的結果對所述待執行任務進行處理。
- 如請求項10的機器人資源任務週期管控裝置,其特徵在於,還包括: 待執行任務設置單元,用於將所述待執行任務置於開源作業調度框架QUARTZ的定時佇列中; 待執行任務轉移單元,用於將預設時間點對應的待執行任務轉移到所述即時佇列中。
- 如請求項10的機器人資源任務週期管控裝置,其特徵在於,所述機器人資源檢查單元包括:機器人資源檢查模組,用於利用Lua腳本檢查是否有空閒的機器人資源的結果對所述待執行任務進行處理。
- 如請求項12的機器人資源任務週期管控裝置,其特徵在於,所述機器人資源檢查模組具體用於將所述待執行任務置於所述REDIS的延時佇列SortedSet中。
- 如請求項13的機器人資源任務週期管控裝置,其特徵在於,還包括: SortedSet判斷單元,用於判斷SortedSet中的待執行任務是否停留了預設等待時長; Lua腳本轉移單元,用於利用所述Lua腳本將所述待執行任務轉移到所述即時佇列中。
- 如請求項11的機器人資源任務週期管控裝置,其特徵在於,還包括: 待執行任務刷新單元,用於利用所述QUARTZ的週期任務週期性的刷新待執行任務所處的佇列。
- 如請求項10的機器人資源任務週期管控裝置,其特徵在於,還包括: 機器人資源增加單元,用於增加空閒的機器人資源的數目。
- 如請求項16的機器人資源任務週期管控裝置,其特徵在於,所述機器人資源增加單元具體用於利用計數器RedisConter的INCRBYkeyincremet命令增加所述數目。
- 如請求項17的機器人資源任務週期管控裝置,其特徵在於,還包括: 機器人資源減少單元,利用所述RedisConter的DECRBYkeydecrement命令減少空閒的機器人資源的數目。
- 一種電子設備,包括記憶體、處理器及儲存在記憶體上並可在處理器上運行的電腦程式,其特徵在於,所述處理器執行所述程式時實現請求項1至9中任一項所述機器人資源任務週期管控方法的步驟。
- 一種電腦可讀儲存介質,其上儲存有電腦程式,其特徵在於,該電腦程式被處理器執行時實現請求項1至9中任一項所述機器人資源任務週期管控方法的步驟。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910598875.9A CN110427253A (zh) | 2019-07-04 | 2019-07-04 | 机器人资源任务周期管控方法及装置 |
CN201910598875.9 | 2019-07-04 |
Publications (1)
Publication Number | Publication Date |
---|---|
TW202102952A true TW202102952A (zh) | 2021-01-16 |
Family
ID=68408938
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW109122028A TW202102952A (zh) | 2019-07-04 | 2020-06-30 | 機器人資源任務週期管控方法及裝置 |
Country Status (3)
Country | Link |
---|---|
CN (1) | CN110427253A (zh) |
TW (1) | TW202102952A (zh) |
WO (1) | WO2021000758A1 (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110427253A (zh) * | 2019-07-04 | 2019-11-08 | 中国建设银行股份有限公司 | 机器人资源任务周期管控方法及装置 |
CN111045804B (zh) * | 2019-11-26 | 2024-03-19 | 泰康保险集团股份有限公司 | 一种任务分配方法、装置、介质及电子设备 |
CN111098311B (zh) * | 2019-12-27 | 2023-08-22 | 上海智殷自动化科技有限公司 | 一种提高机器人工作节拍的方法 |
CN111459163B (zh) * | 2020-04-07 | 2023-04-28 | 三一汽车制造有限公司 | 无人压路机机群协同工作的控制方法和控制系统 |
CN111597018B (zh) * | 2020-04-21 | 2021-04-13 | 清华大学 | 一种机器人作业调度方法及装置 |
CN112667385A (zh) * | 2021-01-15 | 2021-04-16 | 北京金和网络股份有限公司 | 一种云服务系统及其任务执行方法和装置及服务器 |
CN113050574B (zh) * | 2021-03-26 | 2022-09-09 | 北京云迹科技股份有限公司 | 机器人调度方法和装置 |
CN113139081B (zh) * | 2021-04-27 | 2023-10-27 | 中山亿联智能科技有限公司 | 高效率低延迟上报读取用户在线播放信息的方法 |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2013117225A1 (en) * | 2012-02-09 | 2013-08-15 | Telefonaktiebolaget L M Ericsson (Publ) | Distributed mechanism for minimizing resource consumption |
CN102902589B (zh) * | 2012-08-31 | 2016-06-29 | 浪潮电子信息产业股份有限公司 | 一种集群mic作业的管理及调度方法 |
US10089307B2 (en) * | 2014-12-31 | 2018-10-02 | International Business Machines Corporation | Scalable distributed data store |
CN104754052A (zh) * | 2015-04-01 | 2015-07-01 | 贵州电网公司信息通信分公司 | 一种基于Websocket实现消息推送的方法 |
CN104935658B (zh) * | 2015-06-17 | 2018-05-08 | 交通银行股份有限公司 | 一种银行任务分配方法及装置 |
CN105718315A (zh) * | 2016-02-17 | 2016-06-29 | 中国农业银行股份有限公司 | 一种任务处理方法及服务器 |
CN107168779A (zh) * | 2017-03-31 | 2017-09-15 | 咪咕互动娱乐有限公司 | 一种任务管理方法及系统 |
WO2019036932A1 (zh) * | 2017-08-23 | 2019-02-28 | 深圳蓝胖子机器人有限公司 | 机器人调度方法、服务器、电子设备及可读存储介质 |
CN109656690A (zh) * | 2017-10-11 | 2019-04-19 | 阿里巴巴集团控股有限公司 | 调度系统、方法和存储介质 |
CN108762900A (zh) * | 2018-05-21 | 2018-11-06 | 平安科技(深圳)有限公司 | 高频任务调度方法、系统、计算机设备和存储介质 |
CN108958948A (zh) * | 2018-06-19 | 2018-12-07 | 北京云枢网络科技有限公司 | 一种定时器事件处理方法、数据库及定时器 |
CN108829504A (zh) * | 2018-06-28 | 2018-11-16 | 泰康保险集团股份有限公司 | 一种任务调度方法、装置、介质和电子设备 |
CN110427253A (zh) * | 2019-07-04 | 2019-11-08 | 中国建设银行股份有限公司 | 机器人资源任务周期管控方法及装置 |
-
2019
- 2019-07-04 CN CN201910598875.9A patent/CN110427253A/zh active Pending
-
2020
- 2020-06-23 WO PCT/CN2020/097592 patent/WO2021000758A1/zh active Application Filing
- 2020-06-30 TW TW109122028A patent/TW202102952A/zh unknown
Also Published As
Publication number | Publication date |
---|---|
CN110427253A (zh) | 2019-11-08 |
WO2021000758A1 (zh) | 2021-01-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2021000758A1 (zh) | 机器人资源任务周期管控方法及装置 | |
US9501319B2 (en) | Method and apparatus for scheduling blocking tasks | |
JP6199477B2 (ja) | ゲストオペレーティングシステムおよび仮想プロセッサとともにハイパーバイザを使用するシステムおよび方法 | |
US9201693B2 (en) | Quota-based resource management | |
US20110202924A1 (en) | Asynchronous Task Execution | |
US10152438B2 (en) | Deferred inter-processor interrupts | |
EP3051414A1 (en) | Computer device, method and apparatus for scheduling service process | |
US9098359B2 (en) | Durable execution of long running applications | |
JP2011192281A (ja) | 仮想マシンモニター及び仮想マシンモニターのスケジューリング方法 | |
EP3436944B1 (en) | Fast transfer of workload between multiple processors | |
CN110795254A (zh) | 一种基于php处理高并发io的方法 | |
US8307368B2 (en) | Locality-based scheduling in continuation-based runtimes | |
JP2015513735A (ja) | ポータブルコンピューティングデバイスにおいて要求をスケジューリングするための方法およびシステム | |
WO2023246044A1 (zh) | 调度方法及装置、芯片、电子设备及存储介质 | |
CN102073547B (zh) | 一种多路服务器多缓冲区并行收包的性能优化方法 | |
US20190347129A1 (en) | User space pre-emptive real-time scheduler | |
JP2004078322A (ja) | タスク管理システム、プログラム、記録媒体、及び制御方法 | |
CN114546642A (zh) | 任务执行方法、装置、计算机设备、存储介质和程序产品 | |
CN112231073A (zh) | 一种分布式任务调度方法及其装置 | |
WO2019178178A1 (en) | Thread scheduling for multithreaded data processing environments | |
EP3401784A1 (en) | Multicore processing system | |
CN108958903B (zh) | 嵌入式多核中央处理器任务调度方法与装置 | |
CN117573355A (zh) | 任务处理方法、装置、电子设备以及存储介质 | |
WO2023193527A1 (zh) | 线程执行方法、装置、电子设备及计算机可读存储介质 | |
CN115658278A (zh) | 一种支持高并发协议交互的微任务调度机 |