Require all granlcd 〈/Directory', </VirtualHost> <VirlualHosi ^:47980> DocumenLRoot /usr/sharc/myphp/framework <Directory "/usr/sharc/myphp/fraincwork"> Options Includes ExccCGI FoiiowSymLinks AliQwOvtrride AU
[0048] Require all granted 〈/Directory〉 KccpAlivc off </Vi f tualH o s i>
[0049] 其中80為主端口,該虛擬主機(jī)的目錄為/usr/share/myphp/ ;47980為業(yè)務(wù)端口, 該虛擬主機(jī)的目錄為/usr/share/myphp/framework,該目錄下存放對(duì)這個(gè)端口的一些業(yè)務(wù) 處理。這樣符合每個(gè)業(yè)務(wù)對(duì)應(yīng)不同的目錄。
[0050] (2)建立業(yè)務(wù)端口轉(zhuǎn)換模型:采用php模擬提交。
[0051] php模擬提交我們采用函數(shù)fsockopen。fsockopen是比較底層的調(diào),屬于網(wǎng)絡(luò)系 統(tǒng)的socket調(diào)用,且只有固定的幾個(gè)參數(shù),比較簡(jiǎn)單。獲取結(jié)果后可以按照需求對(duì)結(jié)果做 處理得出想要的數(shù)據(jù)信息D采用的Stream_FrameWork函數(shù)如下:
[0052] funciion Stfeam_FfameWork($uri,$porU$hoslnamc)^ $Γρ = fsockopcn ($hoslnamc, $porU $crrno, $crrstr, 10); if (??ΒΓρ)! return false; :} $hcader[] = "GET /$uri HTTP/2.4M; $ h c a d c r [ ]=11U s c r- A g c n I: ins p ur u J $hcadcr[]=,tHost: $hoslnamc,'; $hcadet.[]="Accept: Γ\ντ??ο($Γρ, (aM*mpIodc("\r\fv\$header).,%\ii\r\n^ Srcsponsc =slrcam_gcl_contcnls($rp); (a!fclosc{ $fp); i iurri Srcsponsc; }
[0053] 這個(gè)函數(shù)可以處理來自主端口對(duì)各個(gè)業(yè)務(wù)端口的請(qǐng)求。有三個(gè)參數(shù),分別為 $hostname、$port、$uri,意思分別是主機(jī)名地址端口號(hào)和請(qǐng)求的URL,函數(shù)返回值為請(qǐng)求的 結(jié)果。參數(shù)$hostname也可以是遠(yuǎn)程主機(jī)地址。
[0054] (3)業(yè)務(wù)分離:主端口接受請(qǐng)求傳遞給業(yè)務(wù)端口。
[0055] 當(dāng)客戶端通過主端口向后臺(tái)發(fā)送請(qǐng)求消息時(shí),后臺(tái)獲取URL經(jīng)過處理,確認(rèn)請(qǐng)求 消息所需的主機(jī)名地址和業(yè)務(wù)端口號(hào),調(diào)用Stream_FrameWork函數(shù),這個(gè)函數(shù)采用php模 擬提交,從業(yè)務(wù)模塊中獲取處理信息,返回給主端口,主端口再返回給客戶端結(jié)果。整個(gè)過 程處理完畢。
[0056] 其中,http的virtualhost和php模擬提交fsockopen結(jié)合,對(duì)業(yè)務(wù)流程處理,使 各個(gè)業(yè)務(wù)處理模塊化。業(yè)務(wù)模塊化,對(duì)業(yè)務(wù)流程監(jiān)控和控制的花費(fèi)減少;業(yè)務(wù)端口可以增加 多個(gè),適應(yīng)更多的業(yè)務(wù)場(chǎng)景;業(yè)務(wù)處理更加規(guī)范化,每個(gè)業(yè)務(wù)處理過程都是在同一個(gè)虛擬目 錄下進(jìn)行。
[0057] 其中,采用業(yè)務(wù)Apache端口分離,在不同的目錄下,不同的端口處理不同的業(yè)務(wù) 資源。不同的目錄對(duì)應(yīng)不同的業(yè)務(wù)端口,不同的端口也對(duì)應(yīng)不同的目錄,目錄的劃分即是端 口的劃分。
[0058] 不同端口處理不同的業(yè)務(wù),主端口負(fù)責(zé)顯示界面信息,其他端口負(fù)責(zé)處理業(yè)務(wù)請(qǐng) 求。業(yè)務(wù)端口能夠從80端口獲取其他業(yè)務(wù)請(qǐng)求處理端口的信息,以便通過主端口在界面顯 示處理信息。主端口與其他端口之間存在獲取信息操作,采用Php模擬提交。業(yè)務(wù)端口的 個(gè)數(shù)為至少兩個(gè),業(yè)務(wù)端口還可以設(shè)置在不同的服務(wù)器上,每個(gè)服務(wù)器對(duì)應(yīng)一個(gè)業(yè)務(wù)端口, 這樣每個(gè)數(shù)據(jù)請(qǐng)求發(fā)送到相應(yīng)的服務(wù)器上的業(yè)務(wù)端口,業(yè)務(wù)端口對(duì)數(shù)據(jù)請(qǐng)求進(jìn)行處理,這 樣因?yàn)闃I(yè)務(wù)端口不是設(shè)置在同一個(gè)服務(wù)器上,對(duì)應(yīng)多個(gè)數(shù)據(jù)請(qǐng)求,利用多個(gè)服務(wù)器進(jìn)行數(shù) 據(jù)請(qǐng)求的相應(yīng)處理,數(shù)據(jù)請(qǐng)求的數(shù)據(jù)處理速度更快了,更加提升數(shù)據(jù)處理的效率。
[0059] 本發(fā)明所提供的一種web業(yè)務(wù)端口分離處理的方法客戶端將多個(gè)攜帶有業(yè)務(wù)類 型的數(shù)據(jù)請(qǐng)求發(fā)送至主端口;對(duì)于每一個(gè)數(shù)據(jù)請(qǐng)求,主端口將數(shù)據(jù)請(qǐng)求進(jìn)行業(yè)務(wù)分類處理, 將數(shù)據(jù)請(qǐng)求發(fā)送至與數(shù)據(jù)請(qǐng)求的業(yè)務(wù)類型匹配的業(yè)務(wù)端口;業(yè)務(wù)端口對(duì)數(shù)據(jù)請(qǐng)求進(jìn)行業(yè)務(wù) 處理,得到業(yè)務(wù)處理結(jié)果,將業(yè)務(wù)處理結(jié)果返回至主端口;主端口接收每一個(gè)數(shù)據(jù)請(qǐng)求被處 理后返回的業(yè)務(wù)處理結(jié)果,將所有的業(yè)務(wù)處理結(jié)果發(fā)送至客戶端??梢?,對(duì)于大量的數(shù)據(jù)處 理,主端口對(duì)數(shù)據(jù)請(qǐng)求進(jìn)行分類后分配到對(duì)應(yīng)業(yè)務(wù)的業(yè)務(wù)端口中,由業(yè)務(wù)端口對(duì)數(shù)據(jù)請(qǐng)求 進(jìn)行業(yè)務(wù)處理,數(shù)據(jù)處理效率極高,數(shù)據(jù)處理結(jié)束后將處理結(jié)果返回至主端口,這樣不再由 主端口同時(shí)直接處理大量的數(shù)據(jù),采用不同種類的業(yè)務(wù)端口來處理不同業(yè)務(wù)類型的數(shù)據(jù)請(qǐng) 求,實(shí)現(xiàn)業(yè)務(wù)分離,實(shí)現(xiàn)各個(gè)業(yè)務(wù)的模塊化,互不干擾,提高數(shù)據(jù)處理的工作效率。
[0060] 并且,該方法對(duì)數(shù)據(jù)請(qǐng)求進(jìn)行分類處理,讓與數(shù)據(jù)請(qǐng)求的相同業(yè)務(wù)類型的業(yè)務(wù)端 口對(duì)數(shù)據(jù)請(qǐng)求進(jìn)行處理,實(shí)現(xiàn)對(duì)業(yè)務(wù)信息的監(jiān)控和控制,這樣當(dāng)業(yè)務(wù)流程出現(xiàn)問題,能夠立 即知道是那個(gè)業(yè)務(wù)端口的問題,尋找到出有問題的那個(gè)業(yè)務(wù)端口,提高查找故障的工作效 率低,并且,業(yè)務(wù)類型的處理都是分類進(jìn)行處理的,故障找到后,只需要更改相應(yīng)發(fā)生故障 的業(yè)務(wù)端口即可,不需要對(duì)整個(gè)流程進(jìn)行修改,節(jié)省人力。
[0061] 以上對(duì)本發(fā)明所提供的一種web業(yè)務(wù)端口分離處理的方法進(jìn)行了詳細(xì)介紹。本文 中應(yīng)用了具體個(gè)例對(duì)本發(fā)明的原理及實(shí)施方式進(jìn)行了闡述,以上實(shí)施例的說明只是用于幫 助理解本發(fā)明的方法及其核心思想。應(yīng)當(dāng)指出,對(duì)于本技術(shù)領(lǐng)域的普通技術(shù)人員來說,在不 脫離本發(fā)明原理的前提下,還可以對(duì)本發(fā)明進(jìn)行若干改進(jìn)和修飾,這些改進(jìn)和修飾也落入 本發(fā)明權(quán)利要求的保護(hù)范圍內(nèi)。
【主權(quán)項(xiàng)】
1. 一種web業(yè)務(wù)端口分離處理的方法,其特征在于,包括: 客戶端將多個(gè)攜帶有業(yè)務(wù)類型的數(shù)據(jù)請(qǐng)求發(fā)送至主端口; 對(duì)于每一個(gè)數(shù)據(jù)請(qǐng)求,所述主端口將所述數(shù)據(jù)請(qǐng)求進(jìn)行業(yè)務(wù)分類處理,將所述數(shù)據(jù)請(qǐng) 求發(fā)送至與所述數(shù)據(jù)請(qǐng)求的業(yè)務(wù)類型匹配的業(yè)務(wù)端口; 所述業(yè)務(wù)端口對(duì)所述數(shù)據(jù)請(qǐng)求進(jìn)行業(yè)務(wù)處理,得到業(yè)務(wù)處理結(jié)果,將所述業(yè)務(wù)處理結(jié) 果返回至所述主端口; 主端口接收每一個(gè)數(shù)據(jù)請(qǐng)求被處理后返回的業(yè)務(wù)處理結(jié)果,將所有的業(yè)務(wù)處理結(jié)果發(fā) 送至客戶端。2. 如權(quán)利要求1所述的方法,其特征在于,所述主端口將所述數(shù)據(jù)請(qǐng)求進(jìn)行業(yè)務(wù)分類 處理,將所述數(shù)據(jù)請(qǐng)求發(fā)送至與所述數(shù)據(jù)請(qǐng)求的業(yè)務(wù)類型匹配的業(yè)務(wù)端口,包括: 對(duì)所述數(shù)據(jù)請(qǐng)求進(jìn)行處理后得到地址URL ; 通過所述請(qǐng)求的地址URL得到所述數(shù)據(jù)請(qǐng)求的主機(jī)名地址和業(yè)務(wù)端口號(hào);所述業(yè)務(wù)端 口號(hào)對(duì)應(yīng)的業(yè)務(wù)端口所處理的業(yè)務(wù)類型與數(shù)據(jù)請(qǐng)求攜帶的業(yè)務(wù)類型一致; 利用所述URL、主機(jī)名地址和業(yè)務(wù)端口號(hào)調(diào)用Stream_FrameWork函數(shù),將所述數(shù)據(jù)請(qǐng) 求發(fā)送至與所述數(shù)據(jù)請(qǐng)求的業(yè)務(wù)類型匹配的業(yè)務(wù)端口;其中,所述業(yè)務(wù)端口處理的業(yè)務(wù)類 型與所述數(shù)據(jù)請(qǐng)求的業(yè)務(wù)類型相同。3. 如權(quán)利要求2所述的方法,其特征在于,所述Stream_FrameWork函數(shù)采用php模擬 提交方式。4. 如權(quán)利要求3所述的方法,其特征在于,所述Stream_FrameWork函數(shù)中的子函數(shù) fsockopen的參數(shù)包括$hostname、$port及$uri,這三個(gè)參數(shù)分別代表主機(jī)名地址、端口號(hào) 和請(qǐng)求的地址URL。5. 如權(quán)利要求4所述的方法,其特征在于,所述Stream_FrameWork函數(shù)的調(diào)用結(jié)果為 數(shù)據(jù)請(qǐng)求的業(yè)務(wù)處理結(jié)果。6. 如權(quán)利要求2所述的方法,其特征在于,利用所述URL、主機(jī)名地址和業(yè)務(wù)端口號(hào)調(diào) 用Stream_FrameWork函數(shù)之前包括: 在http服務(wù)的配置文件中添加業(yè)務(wù)端口函數(shù),創(chuàng)建業(yè)務(wù)端口對(duì)應(yīng)的虛擬主機(jī) virtualhost。7. 如權(quán)利要求1至6中任意一項(xiàng)所述的方法,其特征在于,還包括:所述主端口顯示界 面信息。8. 如權(quán)利要求1至6中任意一項(xiàng)所述的方法,其特征在于,所述業(yè)務(wù)端口的個(gè)數(shù)為至少 兩個(gè);每個(gè)業(yè)務(wù)端口分別處理不同的業(yè)務(wù)類型的請(qǐng)求數(shù)據(jù)。
【專利摘要】本發(fā)明公開了一種web業(yè)務(wù)端口分離處理的方法,該方法包括:客戶端將多個(gè)攜帶有業(yè)務(wù)類型的數(shù)據(jù)請(qǐng)求發(fā)送至主端口;對(duì)于每一個(gè)數(shù)據(jù)請(qǐng)求,所述主端口將所述數(shù)據(jù)請(qǐng)求進(jìn)行業(yè)務(wù)分類處理,將所述數(shù)據(jù)請(qǐng)求發(fā)送至與所述數(shù)據(jù)請(qǐng)求的業(yè)務(wù)類型匹配的業(yè)務(wù)端口;所述業(yè)務(wù)端口對(duì)所述數(shù)據(jù)請(qǐng)求進(jìn)行業(yè)務(wù)處理,得到業(yè)務(wù)處理結(jié)果,將所述業(yè)務(wù)處理結(jié)果返回至所述主端口;主端口接收每一個(gè)數(shù)據(jù)請(qǐng)求被處理后返回的業(yè)務(wù)處理結(jié)果,將所有的業(yè)務(wù)處理結(jié)果發(fā)送至客戶端。該方法實(shí)現(xiàn)業(yè)務(wù)分離,互不干擾,提高數(shù)據(jù)處理的工作效率。
【IPC分類】H04L29/08
【公開號(hào)】CN105245588
【申請(qǐng)?zhí)枴緾N201510627243
【發(fā)明人】張錦輝
【申請(qǐng)人】浪潮(北京)電子信息產(chǎn)業(yè)有限公司
【公開日】2016年1月13日
【申請(qǐng)日】2015年9月28日