[發(fā)明專利]一種基于PHP異步處理任務(wù)的方法及裝置在審
| 申請?zhí)枺?/td> | 201810886998.8 | 申請日: | 2018-08-06 |
| 公開(公告)號: | CN109189506A | 公開(公告)日: | 2019-01-11 |
| 發(fā)明(設(shè)計)人: | 張久龍 | 申請(專利權(quán))人: | 北京奇虎科技有限公司 |
| 主分類號: | G06F9/448 | 分類號: | G06F9/448;G06F9/50 |
| 代理公司: | 北京智匯東方知識產(chǎn)權(quán)代理事務(wù)所(普通合伙) 11391 | 代理人: | 康正德;陳智勇 |
| 地址: | 100088 北京市西城區(qū)新*** | 國省代碼: | 北京;11 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 子進(jìn)程 異步處理 處理效率 回調(diào)處理 異步并行 異步執(zhí)行 預(yù)處理器 預(yù)設(shè)規(guī)則 預(yù)先設(shè)置 有效地 分配 構(gòu)建 進(jìn)程 靈活 | ||
1.一種基于PHP異步處理任務(wù)的方法,包括:
基于超文本預(yù)處理器PHP構(gòu)建指定數(shù)量的多個子進(jìn)程,所述子進(jìn)程用于異步執(zhí)行所述待處理任務(wù);
當(dāng)接收到待處理任務(wù)時,比較接收到的待處理任務(wù)的數(shù)量與所述指定數(shù)量的大小,得到比較結(jié)果;
依據(jù)所述比較結(jié)果且基于預(yù)設(shè)規(guī)則從所述指定數(shù)量的多個子進(jìn)程中開啟相應(yīng)數(shù)量的子進(jìn)程;
在開啟的子進(jìn)程中異步執(zhí)行接收到的待處理任務(wù)。
2.根據(jù)權(quán)利要求1所述的方法,其中,依據(jù)所述比較結(jié)果且基于預(yù)設(shè)規(guī)則從所述指定數(shù)量的多個子進(jìn)程中開啟相應(yīng)數(shù)量的子進(jìn)程,包括:
若所述比較結(jié)果為接收到的待處理任務(wù)的數(shù)量小于所述指定數(shù)量,則從所述指定數(shù)量的多個子進(jìn)程中開啟與任務(wù)數(shù)量相同數(shù)量的子進(jìn)程;
若所述比較結(jié)果為接收到的待處理任務(wù)的數(shù)量大于所述指定數(shù)量,則開啟所述指定數(shù)量的子進(jìn)程。
3.根據(jù)權(quán)利要求2所述的方法,其中,在開啟的子進(jìn)程中異步執(zhí)行接收到的待處理任務(wù),包括:
從接收到的待處理任務(wù)中調(diào)取與開啟的子進(jìn)程數(shù)量相同的待處理任務(wù),將調(diào)取的待處理任務(wù)分別分配至相應(yīng)的子進(jìn)程中,其中,一個開啟的子進(jìn)程分配一個待處理任務(wù);
在開啟的子進(jìn)程中利用預(yù)先設(shè)置的回調(diào)處理函數(shù)異步執(zhí)行所分配到的待處理任務(wù)。
4.根據(jù)權(quán)利要求3所述的方法,其中,還包括:
檢測子進(jìn)程中待處理任務(wù)的執(zhí)行狀態(tài);
當(dāng)檢測到至少一個子進(jìn)程中的待處理任務(wù)執(zhí)行完畢時,為所述至少一個子進(jìn)程分配其他待處理任務(wù)。
5.根據(jù)權(quán)利要求4所述的方法,其中,當(dāng)檢測到至少一個子進(jìn)程中的待處理任務(wù)執(zhí)行完畢時,為所述至少一個子進(jìn)程分配其他待處理任務(wù),包括:
若接收到的待處理任務(wù)的數(shù)量小于所述指定數(shù)量,且開啟了與任務(wù)數(shù)量相同數(shù)量的子進(jìn)程,則當(dāng)檢測到至少一個子進(jìn)程中的待處理任務(wù)執(zhí)行完畢,且在接收到新的待處理任務(wù)時,將新的待處理任務(wù)分配至所述至少一個子進(jìn)程中;
若接收到的待處理任務(wù)的數(shù)量大于所述指定數(shù)量,且開啟了所述指定數(shù)量的子進(jìn)程,則當(dāng)檢測到至少一個子進(jìn)程中的待處理任務(wù)執(zhí)行完畢時,從接收到待處理任務(wù)中獲取未在子進(jìn)程中執(zhí)行過的待處理任務(wù)并分配至所述至少一個子進(jìn)程中,直到接收到的所述待處理任務(wù)全部執(zhí)行完畢。
6.根據(jù)權(quán)利要求5所述的方法,其中,還包括:
創(chuàng)建待處理任務(wù)列表,將接收到的待處理任務(wù)緩存至所述待處理任務(wù)列表中;
基于預(yù)設(shè)算法為所述待處理任務(wù)分配唯一任務(wù)碼,且在所述待處理任務(wù)列表中緩存所述待處理任務(wù)和其唯一任務(wù)碼的對應(yīng)關(guān)系;
從所述待處理任務(wù)列表中獲取所述待處理任務(wù)的任務(wù)碼,依據(jù)所述任務(wù)碼構(gòu)建待處理任務(wù)隊列。
7.根據(jù)權(quán)利要求6所述的方法,其中,從接收到的待處理任務(wù)中調(diào)取與開啟的子進(jìn)程數(shù)量相同的待處理任務(wù),將調(diào)取的待處理任務(wù)分別分配至相應(yīng)的子進(jìn)程中,包括:
從所述待處理任務(wù)隊列中調(diào)取與開啟的子進(jìn)程數(shù)量相同數(shù)量的任務(wù)碼;
依據(jù)調(diào)取的任務(wù)碼從所述待處理任務(wù)列表中提取對應(yīng)的待處理任務(wù),將提取的待處理任務(wù)分配至相應(yīng)的開啟的子進(jìn)程中。
8.一種基于PHP異步處理任務(wù)的裝置,包括:
構(gòu)建模塊,適于基于超文本預(yù)處理器PHP構(gòu)建指定數(shù)量的多個子進(jìn)程,所述子進(jìn)程用于異步執(zhí)行所述待處理任務(wù);
比較模塊,適于當(dāng)接收到待處理任務(wù)時,比較接收到的待處理任務(wù)的數(shù)量與所述指定數(shù)量的大小,得到比較結(jié)果;
開啟模塊,適于依據(jù)所述比較結(jié)果且基于預(yù)設(shè)規(guī)則從所述指定數(shù)量的多個子進(jìn)程中開啟相應(yīng)數(shù)量的子進(jìn)程;
執(zhí)行模塊,適于在開啟的子進(jìn)程中異步執(zhí)行接收到的待處理任務(wù)。
9.一種計算機存儲介質(zhì),所述計算機存儲介質(zhì)存儲有計算機程序代碼,當(dāng)所述計算機程序代碼在計算設(shè)備上運行時,導(dǎo)致所述計算設(shè)備執(zhí)行權(quán)利要求1-7任一項所述的基于PHP異步處理任務(wù)的方法。
10.一種計算設(shè)備,包括:處理器;存儲有計算機程序代碼的存儲器;當(dāng)所述計算機程序代碼被所述處理器運行時,導(dǎo)致所述計算設(shè)備執(zhí)行權(quán)利要求1-7任一項所述的基于PHP異步處理任務(wù)的方法。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于北京奇虎科技有限公司,未經(jīng)北京奇虎科技有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201810886998.8/1.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 一種進(jìn)程間的通信方法和裝置
- 一種控制進(jìn)程生命期的方法和裝置
- 進(jìn)程監(jiān)控的方法、裝置和智能終端
- 進(jìn)程管理方法及進(jìn)程管理裝置
- 用于網(wǎng)絡(luò)附加存儲系統(tǒng)防病毒的進(jìn)程調(diào)度方法
- 監(jiān)控進(jìn)程運行的方法、終端設(shè)備及計算機可讀存儲介質(zhì)
- 子進(jìn)程隨父進(jìn)程退出的方法及裝置、存儲介質(zhì)及電子設(shè)備
- 數(shù)據(jù)采集程序的綜合進(jìn)程調(diào)度方法
- 多進(jìn)程處理方法、裝置、終端設(shè)備及計算機可讀存儲介質(zhì)
- 一種通過修改進(jìn)程保護(hù)程序的方法





