[發(fā)明專利]一種基于IO多路復(fù)用的純PHP web框架在審
| 申請(qǐng)?zhí)枺?/td> | 201810292495.8 | 申請(qǐng)日: | 2018-03-30 |
| 公開(公告)號(hào): | CN108427553A | 公開(公告)日: | 2018-08-21 |
| 發(fā)明(設(shè)計(jì))人: | 何呂 | 申請(qǐng)(專利權(quán))人: | 吉旗(成都)科技有限公司 |
| 主分類號(hào): | G06F8/30 | 分類號(hào): | G06F8/30 |
| 代理公司: | 北京權(quán)智天下知識(shí)產(chǎn)權(quán)代理事務(wù)所(普通合伙) 11638 | 代理人: | 張廷利 |
| 地址: | 610000 四川省*** | 國(guó)省代碼: | 四川;51 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 子進(jìn)程 主進(jìn)程 監(jiān)聽 多路復(fù)用 退出信號(hào) 退出 讀取 子進(jìn)程創(chuàng)建 回調(diào)函數(shù) 監(jiān)聽端口 配置文件 重啟信號(hào) 重新創(chuàng)建 可讀 研發(fā) 調(diào)用 維護(hù) 返回 配置 創(chuàng)建 進(jìn)程 | ||
本發(fā)明公開了一種基于IO多路復(fù)用的純PHP web框架,包括以下步驟:A、主進(jìn)程讀取配置文件,監(jiān)聽端口;B、主進(jìn)程根據(jù)配置創(chuàng)建相應(yīng)子進(jìn)程數(shù)量;C、在子進(jìn)程中,使用php的擴(kuò)展異步監(jiān)聽socket;D、在回調(diào)函數(shù)中,如果socket可讀,則會(huì)調(diào)用accept函數(shù),accept函數(shù)返回一個(gè)connection;E、監(jiān)聽connction;F、在子進(jìn)程創(chuàng)建完成后,主進(jìn)程會(huì)監(jiān)聽子進(jìn)程,當(dāng)子進(jìn)程異常退出時(shí)或者收到重啟信號(hào)時(shí),會(huì)重新創(chuàng)建子進(jìn)程;G、當(dāng)程序收到退出信號(hào)時(shí),主進(jìn)程將退出信號(hào)發(fā)送給子進(jìn)程,等待子進(jìn)程全部退出后,主進(jìn)程退出。本發(fā)明相較于同領(lǐng)域的第一類框架,擁有更高的性能;相較于第二類框架,擁有更高性能的同時(shí),還能降低對(duì)研發(fā)人員的要求,降低維護(hù)成本;相較于第三類框架,能擁有更低的維護(hù)成本。
技術(shù)領(lǐng)域
本發(fā)明涉及web技術(shù)領(lǐng)域,具體為一種基于IO多路復(fù)用的純PHP web框架。
背景技術(shù)
同領(lǐng)域的現(xiàn)有的PHP WEB框架大概可以分為三類:
第一類是以Laravel、Symfony、Zend等為代表的MVC框架,這類框架經(jīng)過長(zhǎng)時(shí)間的發(fā)展和社區(qū)的貢獻(xiàn),越來越成熟,在成熟的同時(shí),由于各種需求,框架也變得越來越重,最后導(dǎo)致的問題就是執(zhí)行效率低下。
第二類是以Yaf為代表的,基于php擴(kuò)展實(shí)現(xiàn)的框架。這類框架的優(yōu)點(diǎn)是足夠簡(jiǎn)單,執(zhí)行效率高。但是這類框架在需要對(duì)框架層面做擴(kuò)展或者調(diào)試的時(shí)候,需要精通php擴(kuò)展的開發(fā)、C語(yǔ)言等,相對(duì)來說維護(hù)成本更高。
第三類是基于PHP擴(kuò)展swoole開發(fā)出來的web框架,這類框架由于是常住內(nèi)存,使用了IO多路復(fù)用,因此擁有更高的性能。但是這類框架存在和第二類框架一樣的問題,需要精通PHP擴(kuò)展和C語(yǔ)言,并且由于是異步流程,成本更高。
發(fā)明內(nèi)容
本發(fā)明的目的在于提供一種基于IO多路復(fù)用的純PHP web框架,以解決上述背景技術(shù)中提出的問題。
為實(shí)現(xiàn)上述目的,本發(fā)明提供如下技術(shù)方案:一種基于IO多路復(fù)用的純PHP web框架,包括以下步驟:
A、主進(jìn)程讀取配置文件,監(jiān)聽端口;
B、主進(jìn)程根據(jù)配置創(chuàng)建相應(yīng)子進(jìn)程數(shù)量;
C、在子進(jìn)程中,使用php的擴(kuò)展異步監(jiān)聽socket,監(jiān)聽的事件為可讀事件,并注冊(cè)回調(diào)函數(shù);
D、在回調(diào)函數(shù)中,如果socket可讀,則會(huì)調(diào)用accept函數(shù),accept函數(shù)返回一個(gè)connection;
E、監(jiān)聽connction,監(jiān)聽的時(shí)間包括可讀和可寫事件,并注冊(cè)可讀和可寫的回調(diào)函數(shù);
F、在子進(jìn)程創(chuàng)建完成后,主進(jìn)程會(huì)監(jiān)聽子進(jìn)程,當(dāng)子進(jìn)程異常退出時(shí)或者收到重啟信號(hào)時(shí),會(huì)重新創(chuàng)建子進(jìn)程;
G、當(dāng)程序收到退出信號(hào)時(shí),主進(jìn)程將退出信號(hào)發(fā)送給子進(jìn)程,等待子進(jìn)程全部退出后,主進(jìn)程退出。
優(yōu)選的,處理流程如下:
a、當(dāng)有請(qǐng)求時(shí),系統(tǒng)會(huì)喚醒子進(jìn)程,調(diào)用注冊(cè)可讀回調(diào);
b、在可讀回調(diào)中,從connection中讀取內(nèi)容,根據(jù)http協(xié)議解析內(nèi)容;
c、根據(jù)解析的內(nèi)容,調(diào)用相應(yīng)的controller,將Controller的返回值寫入Connection,關(guān)閉客戶端連接。
與現(xiàn)有技術(shù)相比,本發(fā)明的有益效果是:本發(fā)明采用php實(shí)現(xiàn)的一種多路io復(fù)用的web框架,相較于同領(lǐng)域的第一類框架,本發(fā)明擁有更高的性能;相較于第二類框架,擁有更高性能的同時(shí),還能降低對(duì)研發(fā)人員的要求,降低維護(hù)成本;相較于第三類框架,雖然性能上存在較小的差異,但能擁有更低的維護(hù)成本,且本發(fā)明的性能已經(jīng)能滿足各種業(yè)務(wù)需求。
附圖說明
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于吉旗(成都)科技有限公司,未經(jīng)吉旗(成都)科技有限公司許可,擅自商用是侵權(quán)行為。如果您想購(gòu)買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201810292495.8/2.html,轉(zhuǎn)載請(qǐng)聲明來源鉆瓜專利網(wǎng)。
- 一種進(jìn)程間的通信方法和裝置
- 一種控制進(jìn)程生命期的方法和裝置
- 進(jìn)程監(jiān)控的方法、裝置和智能終端
- 進(jìn)程管理方法及進(jìn)程管理裝置
- 用于網(wǎng)絡(luò)附加存儲(chǔ)系統(tǒng)防病毒的進(jìn)程調(diào)度方法
- 監(jiān)控進(jìn)程運(yùn)行的方法、終端設(shè)備及計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)
- 子進(jìn)程隨父進(jìn)程退出的方法及裝置、存儲(chǔ)介質(zhì)及電子設(shè)備
- 數(shù)據(jù)采集程序的綜合進(jìn)程調(diào)度方法
- 多進(jìn)程處理方法、裝置、終端設(shè)備及計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)
- 一種通過修改進(jìn)程保護(hù)程序的方法
- 一種進(jìn)程間的通信方法和裝置
- 進(jìn)程運(yùn)行方法及裝置
- 數(shù)據(jù)保護(hù)方法及裝置
- 一種應(yīng)用進(jìn)程的監(jiān)控方法和裝置
- 一種軟件開發(fā)中主進(jìn)程異常檢測(cè)方法
- 網(wǎng)頁(yè)元素獲取方法及裝置
- 面向Key-Value系統(tǒng)的compaction粗粒度進(jìn)程級(jí)并行優(yōu)化方法及系統(tǒng)
- 快速虛擬機(jī)進(jìn)程調(diào)度控制方法及裝置
- 應(yīng)用升級(jí)方法、裝置、計(jì)算機(jī)設(shè)備以及存儲(chǔ)介質(zhì)
- Android平臺(tái)融合多特征的APP反調(diào)試方法
- 一種復(fù)用實(shí)時(shí)監(jiān)聽同一用戶的系統(tǒng)和方法
- 一種監(jiān)督監(jiān)聽活動(dòng)的系統(tǒng)及方法
- 實(shí)時(shí)監(jiān)聽控制業(yè)務(wù)的實(shí)現(xiàn)方法
- 一種廣域通信網(wǎng)的合法監(jiān)聽方法
- 監(jiān)聽實(shí)現(xiàn)系統(tǒng)、方法、移動(dòng)終端及監(jiān)聽控制裝置
- 監(jiān)聽信息的發(fā)送方法、裝置和監(jiān)聽方法及裝置
- 安全監(jiān)聽方法及系統(tǒng)
- 一種合法監(jiān)聽的方法及相關(guān)設(shè)備
- 下行通道監(jiān)聽方法、終端及存儲(chǔ)介質(zhì)
- PDCCH的監(jiān)聽方法及裝置





