進程控制裝置和方法
2023-06-12 14:08:41 1
專利名稱:進程控制裝置和方法
技術領域:
本發明涉及網絡應用領域,具體涉及一種進程控制裝置和方法。
背景技術:
目前的網絡應用(例如360桌面或瀏覽器)通常會面對數千萬的在線用戶,大量的用戶應用的情況下,消息能否及時發送,就顯得非常重要,直接影響用戶體驗。在線用戶是放在一個隊列中,需要一個守護進程(Daemon)不斷去處理該用戶隊列,現有技術中採用了使用PHP (Hypertext Preprocessor, 一種腳本語言,可以在命令行模式下執行)腳本的定時任務,這麼一種模擬守護進程的方式來實現守護進程,取得不錯的效果。守護進程是運行在後臺的一種特殊進程。它獨立於控制終端並且周期性地執行某種任務或等待處理某些發生的事件。守護進程最重要的特性是後臺運行。其次,守護進程必須與其運行前的環境隔離開來。這些環境包括未關閉的文件描述符,控制終端,會話和進程組,工作目錄以及文件創建掩模等。這些環境通常是守護進程從執行它的父進程(特別是提供用戶使用界面的軟體(shell))中繼承下來的。最後,守護進程的啟動方式有其特殊之處。它可以在Linux系統啟動時從啟動腳本/etc/rc. d中啟動,可以由作業規划進程(crond)啟動,還可以由用戶終端(通常是she 11)執行。總之,除這些特殊性以外,守護進程與普通進程基本上沒有什麼區別。因此,編寫守護進程實際上是把一個普通進程按照上述的守護進程的特性改造成為守護進程。在設置周期性被執行的指令(crontab)計劃任務中,寫入PHP腳本,定為每分鐘都會利用fork函數調度一個進程來執行PHP腳本。假設每個PHP腳本的最大執行時間是10分鐘,超過10分鐘就停止執行。在10分鐘內,保證能有10個進程在執行,並且,一個PHP腳本執行時間到期後,其餘PHP腳本還在繼續執行,相當於該PHP腳本不間斷的執行,也就模擬了守護進程的功能。Linux中的nohup命令的功能就是不掛斷的執行命令,同時nohup把程序的所有輸出放到當前目錄的nohup. out文件中,如果文件不可寫,則放到〈用戶主目錄>/nohup. out文件中。那麼有了這個命令以後,PHP程序就可以被改寫成shell腳本,使用循環來讓腳本一直運行,那麼不管終端窗口是否關閉,都能夠讓PHP腳本一直運行。當然,當PHP進程被殺或者作業系統重啟的情況下,PHP腳本自然就會中止了。但是,作業系統重啟或守護進程可能導致腳本進程意外中斷,此時如果不能即時重啟,那麼無法為用戶提供腳本進程的處理,則網絡應用提供的服務就會中斷。另外,若守護進程長時間運轉,導致腳本進程也長時間工作,若腳本進程的代碼存在內存洩漏的情況,長時間運轉會導致問題會逐漸放大,直到系統崩潰。
發明內容
鑑於上述問題,提出了本發明以便提供一種克服上述問題或者至少部分地解決上述問題的進程控制裝置和相應的進程控制方法。
依據本發明的一個方面,提供了一種進程控制裝置,包括定時器,配置為定製多個腳本進程的運行時長,其中,多個腳本進程並行處理;計時器,配置為對每個腳本進程的運行時間進行計時;觸發器,配置為對於任意一個腳本進程,當計時器的計時時長達到該腳本進程的運行時長時,退出該計時器對應的腳本進程,觸發新的腳本進程運行;處理器,配置為計時器的計時時長未達到運行時長時,判斷當前用戶隊列中是否存在用戶數據,若是,則對用戶數據進行處理,若否,則待指定時長後對用戶數據再次進行判斷。可選地,上述進程控制裝置還包括銷毀器,配置為銷毀退出的腳本進程。可選地,計時器還配置為在作業系統重啟或者守護進程意外中斷導致腳本進程中斷時,針對中斷的腳本進程繼續進行計時,直至到達運行時長。可選地,上述進程控制裝置設置在Cron定時腳本任務中。根據本發明的另一方面,提供了一種進程控制方法,包括對每個腳本進程的運行時間進行計時,其中,多個腳本進程並行處理,且預設每個腳本進程的運行時長;當其中任意一個腳本進程的計時時長達到為該腳本進程設置的運行時長時,退出該腳本進程,並觸發新的腳本進程運行;當其中任意一個腳本進程的計時時長未達到運行時長時,判斷當前用戶隊列中是否存在用戶數據,若是,則對用戶數據進行處理,若否,則待指定時長後重新判斷。可選的,退出當前腳本進程之後,上述進程控制方法還包括銷毀當前腳本進程。可選的,上述進程控制方法還包括在作業系統重啟或者守護進程意外中斷導致腳本進程中斷時,繼續對中斷的每個腳本進程繼續的計時操作;以及當任意一個腳本進程的計時時長達到運行時長時,該腳本進程退出該腳本進程,並觸發新的腳本進程運行。可選的,指定時長為I秒。可選的,每個腳本進程的運行時長相同或不同。可選的,當每個腳本進程的運行時長相同時,設置每個腳本進程的運行時長為10分鐘。可選的,設置10個腳本同時並行處理。在一個實施例中,設置多個腳本進程並行處理,相對於現有技術的用戶放在一個隊列中的情況能夠大大加快應用處理的速度。特別在網絡應用的用戶較多時,多個腳本進程的並行處理能夠提高處理速度,提高用戶的感受體驗。在一個實施例中,利用計時器對每個腳本進程進行計時,當計時器的計時時長達到該腳本進程的運行時長時,觸發器就會觸發新的操作,觸發當前腳本進程退出,並觸發新的腳本進程運行。由此可見,本發明中的腳本進程是持續更新啟動的,保證了有一定數量的腳本進程處於運行狀態的,即使作業系統重啟或者守護進程意外中斷,觸發器也會在計時到達的情況下觸發新的腳本進程運行,不會造成服務中斷。在一個實施例中,由於每個腳本進程的運行時間是設定的,計時器計時到達則觸發器觸發該腳本進程退出運行狀態,由此可見,每個腳本進程的運行時間較短,即使該腳本進程的代碼存在內存洩漏的情況,也不會因長時間運轉導致問題放大,從而避免了系統崩潰的情況。上述說明僅是本發明技術方案的概述,為了能夠更清楚了解本發明的技術手段,而可依照說明書的內容予以實施,並且為了讓本發明的上述和其它目的、特徵和優點能夠更明顯易懂,以下特舉本發明的具體實施方式
。
通過閱讀下文優選實施方式的詳細描述,各種其他的優點和益處對於本領域普通技術人員將變得清楚明了。附圖僅用於示出優選實施方式的目的,而並不認為是對本發明的限制。而且在整個附圖中,用相同的參考符號表示相同的部件。在附圖中圖1示出了根據本發明一個實施例的進程控制裝置的結構示意圖;圖2示出了根據本發明一個實施例的PHP模擬守護進程的流程圖;圖3示出了根據本發明一個實施例的進程控制方法的流程圖;圖4示出了根據本發明一個實施例的進程控制方法的另一流程圖;以及圖5示出了根據本發明一個實施例的腳本進程意外中斷的處理方法的流程圖。
具體實施例方式下面將參照附圖更詳細地描述本公開的示例性實施例。雖然附圖中顯示了本公開的示例性實施例,然而應當理解,可以以各種形式實現本公開而不應被這裡闡述的實施例所限制。相反,提供這些實施例是為了能夠更透徹地理解本公開,並且能夠將本公開的範圍完整的傳達給本領域的技術人員。圖1示出了根據本發明一個實施例的進程控制裝置的結構示意圖。參見圖1,該進程控制裝置包括定時器110、計時器120以及觸發器130。定時器110定製了多個腳本進程的運行時長,其中,多個腳本進程是並行處理的,每個腳本進程的運行時長可以定製為相同的時長,也可以定製為不同的時長。例如,可以設置每個腳本進程的運行時長為10分鐘,也可以設置第一個腳本進程的運行時間是10分鐘,而第二個腳本進程的運行時間為5分鐘,等等。此處的10分鐘和5分鐘僅僅是一個實例,還可以是20分鐘、30分鐘等時間,具體的運行時長根據腳本進程的屬性進行選擇。計時器120,耦接到定時器110,對定時器110定時的每個腳本進程的運行時間進行計時。若採用的計時器的功能較為單一,只能為一個腳本進程進行計時,則為每個腳本進程配置一個計時器。若採用的計時器可以實現多個對象同步計時,則可以根據腳本進程的數量與計時器的計時對象進行配置。例如,一共有10個腳本進程,一個計時器可以同時為5個腳本進程進行計時,則只需要配置2個計時器即可。觸發器130,耦接到計時器120。對於任意一個腳本進程,當計時器120的計時時長達到該腳本進程的運行時長時,觸發器130觸發新的操作,令該計時器120對應的腳本進程退出運行狀態,並觸發新的腳本進程進行運行。在本發明實施例提供的進程控制裝置中,設置多個腳本進程並行處理,相對於現有技術的用戶放在一個隊列中的情況能夠大大加快應用處理的速度。特別在網絡應用的用戶較多時,多個腳本進程的並行處理能夠提高處理速度,提高用戶的感受體驗。進一步,利用計時器對每個腳本進程進行計時,當計時器的計時時長達到該腳本進程的運行時長時,觸發器就會觸發新的操作,觸發當前腳本進程退出,並觸發新的腳本進程運行。由此可見,本發明中的腳本進程是持續更新啟動的,保證了有一定數量的PHP腳本處於運行狀態的,即使作業系統重啟或者守護進程意外中斷,觸發器也會在計時到達的情況下觸發新的腳本進程運行,不會造成服務中斷。並且,在本發明中,由於每個腳本進程的運行時間是設定的,計時器計時到達則觸發器觸發該腳本進程退出運行狀態,由此可見,每個腳本進程的運行時間較短,即使該腳本進程的代碼存在內存洩漏的情況,也不會因長時間運轉導致問題放大,從而避免了系統崩潰的情況。其中,各腳本進程的語言可以是能夠實現其相應功能的任意語言,例如,較為常見的PHP、C、C++、Iinux等語言均可。目前使用較多的是PHP腳本,當然,使用C語言效率會更高。假設每個PHP腳本的運行時間為10分鐘,在本發明中,超過10分鐘後,PHP腳本自動終止運行,也就不存在內存洩漏的風險。而另外如果作業系統重啟或守護進程意外中斷,觸發器也會繼續觸發PHP腳本,保證有一定的PHP腳本(例如10個)處於運行狀態,消息系統的穩定性就能夠得到保證。為了防止內存洩漏以及合理回收,參見圖1,本發明實施例提供的進程控制裝置還包括銷毀器140,銷毀退出的腳本進程。在出現作業系統重啟或者守護進程意外中斷導致腳本進程中斷的意外情況時,為保證系統的穩定性,每個計時器120會針對中斷的腳本進程繼續進行計時,直至到達運行時長。當計時器120達到運行時長時,其必然會觸發與該計時器120耦合的觸發器130,觸發新的腳本進程運行,為用戶提供服務,避免出現服務中斷的情況。參見圖1,本發明實施例提供的進程控制裝置還包括處理器150,耦接到計時器120。處理器150能夠在腳本進程的執行過程中確認對用戶數據進行處理。上文提及,用戶數據會放在用戶隊列中,按順序進行處理。因此,當計時器120的計時時長未達到運行時長時,處理器150會判斷當前用戶隊列中是否存在用戶數據。當用戶隊列中存在用戶數據時,處理器150直接對用戶數據進行處理。當用戶隊列中不存在用戶數據時,處理器待指定時長後對用戶數據再次進行判斷。此處的指定時長可以是設置的任意時長,但不能超出腳本進程的運行時長。若該腳本進程已運行一段時間,則在計時器的基礎上,加上指定時長,也不能超出腳本進程的運行時長。若超出,則該腳本進程就退出運行狀態,不再處理數據,無須再進行用戶數據的判斷。可選的,本發明實施例提供的進程控制裝置設置在Cron定時腳本任務中,利用Cron腳本任務實現對腳本進程(例如PHP腳本)的調度和應用。目前,360開放平臺的消息系統,為千萬級的用戶提供消息服務。由於用戶數巨大,為了讓全部用戶能在短時間內收到消息,必須採用多個進程來處理消息下發。消息下發模塊使用的PHP腳本,當然如果用C語言來實現,效率會更高。單個PHP腳本所能處理的用戶數為5萬/秒,利用Cron計劃任務定時啟動多個PHP腳本並行處理,將大大提高消息下發速度,同時也保證了消息服務的穩定性。另外,若設置每個PHP腳本最大運行時間為10分鐘,意味著10分鐘後,該腳本將終止,當前進程退出,從而保證了內存不洩漏。圖2示出了根據本發明的一個實施例的PHP模擬守護進程的流程圖。參見圖2,該流程起始於在Cron計劃任務中裡配置定時任務。定時任務配置結束後,系統每分鐘執行一個PHP腳本。當每個PHP腳本執行時長超過10分鐘,自動銷毀該進程,PHP腳本終止。而在腳本進程執行過程中,會判斷用戶隊列中是否有用戶數據,沒有則等待(sleep) I秒再執行判斷PHP腳本,如此循環執行下去,直至超時退出。圖3示出根據本發明的一個實施例的進程控制方法的流程圖。參見圖3,該流程起始於步驟S302。在步驟S302中,對每個腳本進程的運行時間進行計時。其中,步驟S302中提及的多個腳本進程並行處理,提高腳本進程處理的速度。其中,預設每個腳本進程的運行時長均是預設好的,例如預設為10分鐘。每個腳本進程的運行時長可以相同,也可以不同。當每個腳本進程的運行時長相同時,例如可以設置每個腳本進程的運行時長均為10分鐘。當每個腳本進程的運行時長不同時,則例如可以設置第一個腳本進程的運行時長為10分鐘,而第二個腳本進程的運行時長為20分鐘,等等。可選的,可以設置10個腳本進程同時並行處理。當然,此處的10個腳本僅僅是一個優選的實施例,在實施過程中,可以根據具體情況確定腳本的數量,該數量通常取決於客戶端的資源剩餘量以及每條腳本進程所佔用的資源多少。例如,若 客戶端的資源大多空閒,則可以執行幾十甚至上百個腳本進程,但是,若客戶端的資源較為緊張,則可能只能執行幾個腳本進程。當步驟S302中的其中任意一個腳本進程的計時時長達到為該腳本進程設置的運行時長時,啟動步驟S304,S卩,退出該腳本進程,並觸發新的腳本進程運行。在本例中,為了使得計時效果精確,並能夠及時的觸髮腳本進程的退出流程,考慮使用計時器對各腳本進程進行計時。對任意一個腳本進程而言,當計時器計時結束(即達到該腳本進程的計時時長),可以通知客戶端的控制模塊或管理模塊,令其結束該腳本進程,或者,也可以由該計時器觸發該腳本進程自動退出。圖4示出了根據本發明的一個實施例的進程控制的另外一種流程圖。參見圖4,步驟S304在實施時,當退出當前腳本進程之後,還可以執行步驟S306,銷毀當前已退出的腳本進程。在本例中,採用銷毀當前腳本進程的操作,能夠釋放本運行的腳本進程佔用的資源,進而提高系統資源的利用率,同時避免了因長期運行可能導致的內存洩漏的問題。實施時,可能會腳本進程中斷的意外情況,例如,可能會因作業系統重啟導致腳本進程中斷,再例如,還可能會因守護進程意外中斷導致腳本進程中斷時,再例如,還可能因新的腳本進程或守護進程需要佔用大量資源從而導致腳本進程被迫中斷的。相應的,本例中提供了對於腳本進程意外中斷的情況的處理方式。圖5示出了根據本發明的一個實施例的腳本進程意外中斷的處理方式,包括步驟S502至步驟S504。步驟S502、當腳本進程意外中斷時,繼續對中斷的每個腳本進程繼續的計時操作。步驟S504、當任意一個腳本進程的計時時長達到運行時長時,該腳本進程退出該腳本進程,並觸發新的腳本進程運行。值得說明的是,步驟S504中的腳本進程退出運行後,若出於提高系統資源利用率的目的,該腳本進程也應該被銷毀,將其佔用的資源釋放出來,以便於新的腳本進程使用。參照圖5所示的方法,雖然因作業系統重啟或守護進程意外中斷導致腳本進程中斷,但是,計時操作仍在進行。在計時時長達到一定的閾值時,會觸發新的腳本進程運行,為用戶提供服務,不會因意外情況導致服務中斷,提高了用戶的感受體驗。腳本進程被創建之後,若沒有被中斷或銷毀,則該腳本進程處於執行過程或者稱為運行狀態。在本例中,對任意一個腳本進程而言,當該腳本進程的計時時長未達到運行時長時,即該腳本進程處於運行狀態,則對該腳本進程的處理對象進行判斷,判斷其是否是處於工作狀態還是閒置。具體的,判斷當前用戶隊列中是否存在用戶數據,若是,則對用戶數據進行處理,若否,則待指定時長後重新判斷。可選的,指定時長可以設置為I秒。綜上,本發明實施例達到如下有益效果在一個實施例中,設置多個腳本進程並行處理,相對於現有技術的用戶放在一個隊列中的情況能夠大大加快應用處理的速度。特別在網絡應用的用戶較多時,多個腳本進程的並行處理能夠提高處理速度,提高用戶的感受體驗。在一個實施例中,利用計時器對每個腳本進程進行計時,當計時器的計時時長達到該腳本進程的運行時長時,觸發器就會觸發新的操作,觸發當前腳本進程退出,並觸發新的腳本進程運行。由此可見,本發明中的腳本進程是持續更新啟動的,保證了有一定數量的腳本進程處於運行狀態的,即使作業系統重啟或者守護進程意外中斷,觸發器也會在計時到達的情況下觸發新的腳本進程運行,不會造成服務中斷。在一個實施例中,由於每個腳本進程的運行時間是設定的,計時器計時到達則觸發器觸發該腳本進程退出運行狀態,由此可見,每個腳本進程的運行時間較短,即使該腳本進程的代碼存在內存洩漏的情況,也不會因長時間運轉導致問題放大,從而避免了系統崩潰的情況。在此提供的算法和顯示不與任何特定計算機、虛擬系統或者其它設備固有相關。各種通用系統也可以與基於在此的示教一起使用。根據上面的描述,構造這類系統所要求的結構是顯而易見的。此外,本發明也不針對任何特定程式語言。應當明白,可以利用各種程式語言實現在此描述的本發明的內容,並且上面對特定語言所做的描述是為了披露本發明的最佳實施方式。在此處所提供的說明書中,說明了大量具體細節。然而,能夠理解,本發明的實施例可以在沒有這些具體細節的情況下實踐。在一些實例中,並未詳細示出公知的方法、結構和技術,以便不模糊對本說明書的理解。類似地,應當理解,為了精簡本公開並幫助理解各個發明方面中的一個或多個,在上面對本發明的示例性實施例的描述中,本發明的各個特徵有時被一起分組到單個實施例、圖、或者對其的描述中。然而,並不應將該公開的方法解釋成反映如下意圖即所要求保護的本發明要求比在每個權利要求中所明確記載的特徵更多的特徵。更確切地說,如下面的權利要求書所反映的那樣,發明方面在於少於前面公開的單個實施例的所有特徵。因此,遵循具體實施方式
的權利要求書由此明確地併入該具體實施方式
,其中每個權利要求本身都作為本發明的單獨實施例。 本領域那些技術人員可以理解,可以對實施例中的設備中的模塊進行自適應性地改變並且把它們設置在與該實施例不同的一個或多個設備中。可以把實施例中的模塊或單元或組件組合成一個模塊或單元或組件,以及此外可以把它們分成多個子模塊或子單元或子組件。除了這樣的特徵和/或過程或者單元中的至少一些是相互排斥之外,可以採用任何組合對本說明書(包括伴隨的權利要求、摘要和附圖)中公開的所有特徵以及如此公開的任何方法或者設備的所有過程或單元進行組合。除非另外明確陳述,本說明書(包括伴隨的權利要求、摘要和附圖)中公開的每個特徵可以由提供相同、等同或相似目的的替代特徵來代替。此外,本領域的技術人員能夠理解,儘管在此所述的一些實施例包括其它實施例中所包括的某些特徵而不是其它特徵,但是不同實施例的特徵的組合意味著處於本發明的範圍之內並且形成不同的實施例。例如,在下面的權利要求書中,所要求保護的實施例的任意之一都可以以任意的組合方式來使用。本發明的各個部件實施例可以以硬體實現,或者以在一個或者多個處理器上運行的軟體模塊實現,或者以它們的組合實現。本領域的技術人員應當理解,可以在實踐中使用微處理器或者數位訊號處理器(DSP )來實現根據本發明實施例的進程控制裝置中的一些或者全部部件的一些或者全部功能。本發明還可以實現為用於執行這裡所描述的方法的一部分或者全部的設備或者裝置程序(例如,電腦程式和電腦程式產品)。這樣的實現本發明的程序可以存儲在計算機可讀介質上,或者可以具有一個或者多個信號的形式。這樣的信號可以從網際網路網站上下載得到,或者在載體信號上提供,或者以任何其他形式提供。應該注意的是上述實施例對本發明進行說明而不是對本發明進行限制,並且本領域技術人員在不脫離所附權利要求的範圍的情況下可設計出替換實施例。在權利要求中,不應將位於括號之間的任何參考符號構造成對權利要求的限制。單詞「包含」不排除存在未列在權利要求中的元件或步驟。位於元件之前的單詞「一」或「一個」不排除存在多個這樣的元件。本發明可以藉助於包括有若干不同元件的硬體以及藉助於適當編程的計算機來實現。在列舉了若干裝置的單元權利要求中,這些裝置中的若干個可以是通過同一個硬體項來具體體現。單詞第一、第二、以及第三等的使用不表示任何順序。可將這些單詞解釋為名稱。
權利要求
1.一種進程控制裝置,包括定時器,配置為定製多個腳本進程的運行時長,其中,所述多個腳本進程並行處理;計時器,配置為對每個腳本進程的運行時間進行計時;觸發器,配置為對於任意一個腳本進程,當所述計時器的計時時長達到該腳本進程的運行時長時,退出該計時器對應的腳本進程,觸發新的腳本進程運行;處理器,配置為所述計時器的計時時長未達到所述運行時長時,判斷當前用戶隊列中是否存在用戶數據,若是,則對用戶數據進行處理,若否,則待指定時長後對用戶數據再次進行判斷。
2.根據權利要求1所述的裝置,其特徵在於,還包括銷毀器,配置為銷毀退出的腳本進程。
3.根據權利要求1或2所述的裝置,其特徵在於,所述計時器還配置為在作業系統重啟或者守護進程意外中斷導致腳本進程中斷時,針對中斷的腳本進程繼續進行計時,直至到達所述運行時長。
4.根據權利要求1至3任一項所述的裝置,其特徵在於,所述裝置設置在Cron定時腳本任務中。
5.一種進程控制方法,包括對每個腳本進程的運行時間進行計時,其中,多個腳本進程並行處理,且預設每個腳本進程的運行時長;當其中任意一個腳本進程的計時時長達到為該腳本進程設置的運行時長時,退出該腳本進程,並觸發新的腳本進程運行;當其中任意一個腳本進程的計時時長未達到所述運行時長時,判斷當前用戶隊列中是否存在用戶數據,若是,則對用戶數據進行處理,若否,則待指定時長後重新判斷。
6.根據權利要求5所述的方法,其特徵在於,所述退出當前腳本進程之後,還包括銷毀所述當前腳本進程。
7.根據權利要求5或6所述的方法,其特徵在於,還包括在作業系統重啟或者守護進程意外中斷導致腳本進程中斷時,繼續對中斷的所述每個腳本進程繼續的計時操作;以及當任意一個腳本進程的計時時長達到所述運行時長時,該腳本進程退出該腳本進程, 並觸發新的腳本進程運行。
8.根據權利要求5至7中任一項所述的方法,其特徵在於,所述指定時長為I秒。
9.根據權利要求5至8任一項所述的方法,其特徵在於,所述每個腳本進程的運行時長相同或不同。
10.根據權利要求9所述的方法,其特徵在於,當所述每個腳本進程的運行時長相同時,設置所述每個腳本進程的運行時長為10分鐘。
11.根據權利要求5至10任一項所述的方法,其特徵在於,設置10個腳本同時並行處理。
全文摘要
本發明公開了一種進程控制裝置和方法,其中所述方法包括對每個腳本進程的運行時間進行計時,其中,多個腳本進程並行處理,且預設每個腳本進程的運行時長;當其中任意一個腳本進程的計時時長達到為該腳本進程設置的運行時長時,退出該腳本進程,並觸發新的腳本進程運行;當其中任意一個腳本進程的計時時長未達到所述運行時長時,判斷當前用戶隊列中是否存在用戶數據,若是,則對用戶數據進行處理,若否,則待指定時長後重新判斷。採用本發明能夠解決因作業系統或守護進程中斷導致的網絡應用服務中斷的技術問題。
文檔編號G06F9/48GK102999388SQ201210447958
公開日2013年3月27日 申請日期2012年11月9日 優先權日2012年11月9日
發明者王博, 吳凱 申請人:北京奇虎科技有限公司, 奇智軟體(北京)有限公司