一種web業(yè)務(wù)端口分離處理的方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及網(wǎng)絡(luò)通信技術(shù)領(lǐng)域,特別是涉及一種web業(yè)務(wù)端口分離處理的方法。
【背景技術(shù)】
[0002] 目前,現(xiàn)在多數(shù)的超文本預(yù)處理器php是通過80端口或者其他端口,即就是只有 一個web端口來實現(xiàn)客戶請求、信息處理、信息返回以及顯示全部的流程。這種方式將整個 過程完全包攬,對業(yè)務(wù)信息的監(jiān)控和控制很不利。因為,業(yè)務(wù)流程出現(xiàn)問題,無法知道是那 個業(yè)務(wù)模塊的問題,只能一個一個的去尋找。這樣的工作效率低,并且不一定能解決問題, 因為這樣的流程將整個過程串聯(lián)在一起,改動一處就要對整個流程進行修改,很不理想。一 般的,到達端口的數(shù)據(jù)量是非常大的,一個端口需要同時處理大量的不同類型的數(shù)據(jù),數(shù)據(jù) 量太大,一個端口處理數(shù)據(jù)的效率明顯降低,數(shù)據(jù)處理的效率是非常低的。
【發(fā)明內(nèi)容】
[0003] 本發(fā)明的目的是提供一種web業(yè)務(wù)端口分離處理的方法,以實現(xiàn)業(yè)務(wù)分離,互不 干擾,提高數(shù)據(jù)處理的工作效率。
[0004] 為解決上述技術(shù)問題,本發(fā)明提供一種web業(yè)務(wù)端口分離處理的方法,該方法包 括:
[0005] 客戶端將多個攜帶有業(yè)務(wù)類型的數(shù)據(jù)請求發(fā)送至主端口;
[0006] 對于每一個數(shù)據(jù)請求,所述主端口將所述數(shù)據(jù)請求進行業(yè)務(wù)分類處理,將所述數(shù) 據(jù)請求發(fā)送至與所述數(shù)據(jù)請求的業(yè)務(wù)類型匹配的業(yè)務(wù)端口;
[0007] 所述業(yè)務(wù)端口對所述數(shù)據(jù)請求進行業(yè)務(wù)處理,得到業(yè)務(wù)處理結(jié)果,將所述業(yè)務(wù)處 理結(jié)果返回至所述主端口;
[0008] 主端口接收每一個數(shù)據(jù)請求被處理后返回的業(yè)務(wù)處理結(jié)果,將所有的業(yè)務(wù)處理結(jié) 果發(fā)送至客戶端。
[0009] 優(yōu)選的,所述主端口將所述數(shù)據(jù)請求進行業(yè)務(wù)分類處理,將所述數(shù)據(jù)請求發(fā)送至 與所述數(shù)據(jù)請求的業(yè)務(wù)類型匹配的業(yè)務(wù)端口,包括:
[0010] 對所述數(shù)據(jù)請求進行處理后得到地址URL ;
[0011] 通過所述請求的地址URL得到所述數(shù)據(jù)請求的主機名地址和業(yè)務(wù)端口號;所述業(yè) 務(wù)端口號對應(yīng)的業(yè)務(wù)端口所處理的業(yè)務(wù)類型與數(shù)據(jù)請求攜帶的業(yè)務(wù)類型一致;
[0012] 利用所述URL、主機名地址和業(yè)務(wù)端口號調(diào)用Stream_FrameWork函數(shù),將所述數(shù) 據(jù)請求發(fā)送至與所述數(shù)據(jù)請求的業(yè)務(wù)類型匹配的業(yè)務(wù)端口;其中,所述業(yè)務(wù)端口處理的業(yè) 務(wù)類型與所述數(shù)據(jù)請求的業(yè)務(wù)類型相同。
[0013] 優(yōu)選的,所述Stream_FrameWork函數(shù)采用php模擬提交方式。
[0014] 優(yōu)選的,所述Stream_FrameWork函數(shù)中的子函數(shù)fsockopen的參數(shù)包括 $hostname、$port及$uri,這三個參數(shù)分別代表主機名地址、端口號和請求的地址URL。
[0015] 優(yōu)選的,所述Stream_FrameWork函數(shù)的調(diào)用結(jié)果為數(shù)據(jù)請求的業(yè)務(wù)處理結(jié)果。
[0016] 優(yōu)選的,利用所述URL、主機名地址和業(yè)務(wù)端口號調(diào)用Stream_FrameWork函數(shù)之 前包括:
[0017] 在http服務(wù)的配置文件中添加業(yè)務(wù)端口函數(shù),創(chuàng)建業(yè)務(wù)端口對應(yīng)的虛擬主機 virtualhost。
[0018] 優(yōu)選的,所述方法還包括:所述主端口顯示界面信息。
[0019] 優(yōu)選的,所述業(yè)務(wù)端口的個數(shù)為至少兩個;每個業(yè)務(wù)端口分別處理不同的業(yè)務(wù)類 型的請求數(shù)據(jù)。
[0020] 本發(fā)明所提供的一種web業(yè)務(wù)端口分離處理的方法客戶端將多個攜帶有業(yè)務(wù)類 型的數(shù)據(jù)請求發(fā)送至主端口;對于每一個數(shù)據(jù)請求,所述主端口將所述數(shù)據(jù)請求進行業(yè)務(wù) 分類處理,將所述數(shù)據(jù)請求發(fā)送至與所述數(shù)據(jù)請求的業(yè)務(wù)類型匹配的業(yè)務(wù)端口;所述業(yè)務(wù) 端口對所述數(shù)據(jù)請求進行業(yè)務(wù)處理,得到業(yè)務(wù)處理結(jié)果,將所述業(yè)務(wù)處理結(jié)果返回至所述 主端口;主端口接收每一個數(shù)據(jù)請求被處理后返回的業(yè)務(wù)處理結(jié)果,將所有的業(yè)務(wù)處理結(jié) 果發(fā)送至客戶端。可見,對于大量的數(shù)據(jù)處理,主端口對數(shù)據(jù)請求進行分類后分配到對應(yīng)業(yè) 務(wù)的業(yè)務(wù)端口中,由業(yè)務(wù)端口對數(shù)據(jù)請求進行業(yè)務(wù)處理,數(shù)據(jù)處理效率極高,數(shù)據(jù)處理結(jié)束 后將處理結(jié)果返回至主端口,這樣不再由主端口同時直接處理大量的數(shù)據(jù),采用不同種類 的業(yè)務(wù)端口來處理不同業(yè)務(wù)類型的數(shù)據(jù)請求,實現(xiàn)業(yè)務(wù)分離,實現(xiàn)各個業(yè)務(wù)的模塊化,互不 干擾,提高數(shù)據(jù)處理的工作效率。
【附圖說明】
[0021] 為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn) 有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本 發(fā)明的實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù) 提供的附圖獲得其他的附圖。
[0022] 圖1為本發(fā)明所提供的一種web業(yè)務(wù)端口分離處理的方法的流程圖。
【具體實施方式】
[0023] 本發(fā)明的核心是提供一種web業(yè)務(wù)端口分離處理的方法,以實現(xiàn)提高數(shù)據(jù)處理的 效率。
[0024] 為了使本技術(shù)領(lǐng)域的人員更好地理解本發(fā)明方案,下面將結(jié)合本發(fā)明實施例中的 附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是 本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員 在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。
[0025] 請參考圖1,圖1為本發(fā)明所提供的一種web業(yè)務(wù)端口分離處理的方法的流程圖, 該方法包括:
[0026] Sll :客戶端將多個攜帶有業(yè)務(wù)類型的數(shù)據(jù)請求發(fā)送至主端口;
[0027] S12:對于每一個數(shù)據(jù)請求,主端口將數(shù)據(jù)請求進行業(yè)務(wù)分類處理,將數(shù)據(jù)請求發(fā) 送至與數(shù)據(jù)請求的業(yè)務(wù)類型匹配的業(yè)務(wù)端口;
[0028] S13 :業(yè)務(wù)端口對數(shù)據(jù)請求進行業(yè)務(wù)處理,得到業(yè)務(wù)處理結(jié)果,將業(yè)務(wù)處理結(jié)果返 回至主端口;
[0029] S14:主端口接收每一個數(shù)據(jù)請求被處理后返回的業(yè)務(wù)處理結(jié)果,將所有的業(yè)務(wù)處 理結(jié)果發(fā)送至客戶端。
[0030] 具體的,主端口將數(shù)據(jù)請求進行業(yè)務(wù)分類處理,將數(shù)據(jù)請求發(fā)送至與數(shù)據(jù)請求的 業(yè)務(wù)類型匹配的業(yè)務(wù)端口的過程為:對數(shù)據(jù)請求進行處理后得到地址URL ;通過請求的地 址URL得到數(shù)據(jù)請求的主機名地址和業(yè)務(wù)端口號;其中,業(yè)務(wù)端口號對應(yīng)的業(yè)務(wù)端口所處 理的業(yè)務(wù)類型與數(shù)據(jù)請求攜帶的業(yè)務(wù)類型一致;利用URL、主機名地址和業(yè)務(wù)端口號調(diào)用 Stream_FrameWork函數(shù),將數(shù)據(jù)請求發(fā)送至與數(shù)據(jù)請求的業(yè)務(wù)類型匹配的業(yè)務(wù)端口;其 中,業(yè)務(wù)端口處理的業(yè)務(wù)類型與數(shù)據(jù)請求的業(yè)務(wù)類型相同。
[0031] 其中,Stream_FrameWork函數(shù)采用php模擬提交方式。
[0032] Stream_FrameWork 函數(shù)中的子函數(shù) fsockopen 的參數(shù)包括 $hostname、$port 及 $uri,這三個參數(shù)分別代表主機名地址、端口號和請求的地址URL。
[0033] Stream_FrameWork函數(shù)的調(diào)用結(jié)果為數(shù)據(jù)請求的業(yè)務(wù)處理結(jié)果。
[0034] 利用URL、主機名地址和業(yè)務(wù)端口號調(diào)用Stream_FrameWork函數(shù)之前,需要在 http服務(wù)的配置文件中添加業(yè)務(wù)端口函數(shù),倉Il建業(yè)務(wù)端口對應(yīng)的虛擬主機virtualhost, 即創(chuàng)建各個特定的業(yè)務(wù)端口。
[0035] 其中,主端口顯示界面信息。
[0036] 業(yè)務(wù)端口的個數(shù)為至少兩個;每個業(yè)務(wù)端口分別處理不同的業(yè)務(wù)類型的請求數(shù) 據(jù),即每個業(yè)務(wù)端口處理的請求數(shù)據(jù)的業(yè)務(wù)類型是不相同的,每個業(yè)務(wù)端口對應(yīng)不同的業(yè) 務(wù)類型的請求數(shù)據(jù)。
[0037] 具體的,數(shù)據(jù)請求流程如下:
[0038] 首先,客戶端通過主端口向后臺發(fā)送數(shù)據(jù)請求;
[0039] 然后,后臺將消息通過業(yè)務(wù)端口轉(zhuǎn)換將消息傳遞給特定的業(yè)務(wù);
[0040] 接著,特定的業(yè)務(wù)處理傳遞來的消息,返回處理結(jié)果給主端口;
[0041] 最后,主端口將結(jié)果返回給客戶端。
[0042] 以上就是消息傳遞的全部流程,主要的就是主端口接受信息,通過業(yè)務(wù)端口轉(zhuǎn)換 傳遞給相應(yīng)業(yè)務(wù),這個可以是一個請求對一個業(yè)務(wù)端口,也可以是一個請求對多個業(yè)務(wù)端 □ 〇
[0043] 具體實現(xiàn)過程如下:
[0044] 例如,采用Apache業(yè)務(wù)端口分離,使各個業(yè)務(wù)模塊化,相互之間沒有關(guān)聯(lián),互不干 擾。采用Apache服務(wù)器是2. 4版本,操作系統(tǒng)為Cent0S7. 1,主端口號為80,業(yè)務(wù)端口以一 個為例說明,如果有需要可以繼續(xù)添加,業(yè)務(wù)端口號為47980。
[0045] (1)創(chuàng)建各個特定的業(yè)務(wù)端口:倉Il建虛擬主機virtualhost。
[0046] 在http服務(wù)的配置文件/etc/httpd/conf/httpd. conf中,末尾添加如下內(nèi)容:
[0047] Listen SQ Listen 47980 〈VirtualHost *:80> DocumcntRoot iVusr/shar0/myphp/i, <Directory "/usr/sharc/myphp/"> Options Includes E:xccCGl FollowSymLinks AllowQverrid? All