文件上傳系統、方法及Nginx服務器的制造方法
【專利摘要】本發明公開了一種文件上傳系統、方法及Nginx服務器,上述文件上傳系統包括:Nginx服務器,用于接收來自于客戶端上傳的文件,在所述文件上傳完之后觸發PHP后端服務器;所述PHP后端服務器,與所述Nginx服務器相連接,用于將所述文件移動至指定的發布目錄下。根據本發明提供的技術方案,使用Nginx服務器的高效處理能力,使客戶端在大文件上傳中更加穩定,同時基于Nginx服務器對后端PHP處理端口的監聽,Nginx在文件上傳處理完成后主動觸發后端PHP程序進行服務器的業務邏輯的處理,從而使后端服務器的開發更加靈活,處理邏輯更加清晰。
【專利說明】文件上傳系統、方法及Nginx服務器
【技術領域】
[0001] 本發明涉及通信領域,具體而言,涉及一種文件上傳系統、方法及Nginx服務器。
【背景技術】
[0002] 目前,在音視頻社交軟件中,需要上傳大量的文件,例如,圖片貼,視頻貼,頭像,形 象照,短信等。
[0003] 相關技術中,通常采用穩定的Appache文件上傳模塊執行文件上傳。Apache超文 本傳輸協議(Hyper Text Transfer Protocol,簡稱為HTTP)服務器(簡稱為Apache)是一 個開放源碼的網頁服務器,可以在大多數計算機操作系統中運行,由于其多平臺和安全性 被廣泛使用,是最流行的Web服務器端軟件之一。它快速、可靠并且可通過簡單的應用程序 編程接口(Application Programming Interface,簡稱為 API)擴展,將 Perl/Python 等解 釋器編譯到服務器中。
[0004] 然而,文件上傳并非Appache的強項,由于Appache在處理文件上傳時處理能力不 足,造成服務器出現大量的等待線程,進而導致服務器資源浪費。
【發明內容】
[0005] 本發明的主要目的在于公開一種文件上傳系統、方法及Nginx服務器,以至少解 決相關技術中由于Appache在處理文件上傳時處理能力不足,造成服務器出現大量的等待 線程,進而導致服務器資源浪費的問題。
[0006] 根據本發明的一個方面,提供了 一種文件上傳系統。
[0007] 根據本發明的文件上傳系統包括:Nginx服務器,用于接收來自于客戶端上傳的 文件,在上述文件上傳完之后觸發PHP后端服務器;上述PHP后端服務器,與上述Nginx服 務器相連接,用于將上述文件移動至指定的發布目錄下。
[0008] 根據本發明的另一方面,提供了一種Nginx服務器。
[0009] 根據本發明的Nginx服務器包括:接收模塊,用于接收來自于客戶端上傳的文件; 上傳模塊,用于將接收到的上述文件保存到指定的位置;觸發模塊,用于在上述文件上傳完 之后,觸發PHP后端服務器將上述文件從上述指定的位置移動至指定的發布目錄下。
[0010] 根據本發明的又一方面,提供了 一種文件上傳方法。
[0011] 根據本發明的文件上傳方法包括:Nginx服務器接收來自于客戶端上傳的文件; 上述Nginx服務器將接收到的上述文件保存到指定的位置;上述Nginx服務器在上述文 件上傳完之后,觸發PHP后端服務器將上述文件從上述指定的位置移動至指定的發布目錄 下。
[0012] 通過本發明,使用Nginx服務器的高效處理能力,使客戶端在大文件上傳中更加 穩定,同時基于Nginx服務器對后端PHP處理端口的監聽,Nginx在文件上傳處理完成后主 動觸發后端PHP程序進行服務器的業務邏輯的處理,從而使后端服務器的開發更加靈活, 處理邏輯更加清晰。
【專利附圖】
【附圖說明】
[0013] 圖1是根據本發明實施例的文件上傳系統的系統架構圖;
[0014] 圖2是根據本發明優選實施例的文件上傳系統的信息交互示意圖;
[0015] 圖3是根據本發明實施例的Nginx服務器的結構框圖;
[0016] 圖4是根據本發明優選實施例的Nginx服務器的結構框圖;以及 [0017] 圖5是根據本發明實施例的文件上傳方法的流程圖。
【具體實施方式】
[0018] 下面結合說明書附圖對本發明的具體實現方式做一詳細描述。
[0019] 圖1是根據本發明實施例的文件上傳系統的系統架構圖。如圖1所示,該文件上 傳系統包括:Nginx服務器10,用于接收來自于客戶端上傳的文件,在上述文件上傳完之后 觸發PHP后端服務器;以及上述PHP后端服務器12,與上述Nginx服務器相連接,用于將上 述文件移動至指定的發布目錄下。
[0020] 相關技術中,通常采用穩定的Appache文件上傳模塊執行文件上傳,由于Appache 在處理文件上傳時處理能力不足,造成服務器出現大量的等待線程,進而導致服務器資源 浪費。采用圖1所示的方法,使用Nginx服務器的高效處理能力,使客戶端在大文件上傳中 更加穩定,同時基于Nginx服務器對后端PHP處理端口的監聽,Nginx在文件上傳處理完成 后主動觸發后端PHP程序進行服務器的業務邏輯的處理,從而使后端服務器的開發更加靈 活,處理邏輯更加清晰。
[0021] 其中,上述文件可以為圖片貼,視頻貼,頭像,形象照,短信等。
[0022] 在優選實施過程中,客戶端通過調用Nginx服務器上傳組件的配置地址,同時通 過GET方式將自定義參數傳輸給Nginx服務器的上傳模塊。其中,自定義參數可以參見表 1〇
[0023] 表 1
[0024]
【權利要求】
1. 一種文件上傳系統,其特征在于,包括: Nginx服務器,用于接收來自于客戶端上傳的文件,在所述文件上傳完之后觸發PHP后 端服務器; 所述PHP后端服務器,與所述Nginx服務器相連接,用于將所述文件移動至指定的發布 目錄下。
2. 根據權利要求1所述的系統,其特征在于, 所述系統還包括:所述客戶端,與所述Nginx服務器相連接,用于在判斷本地上傳失敗 后,向所述Nginx服務器發送文件是否已上傳的第一查詢指令,并經由所述Nginx服務器接 收來自于所述PHP后端服務器返回的文件上傳狀態信息; 所述Nginx服務器,用于在接收到所述第一查詢指令之后,向所述PHP后端服務器發送 文件是否存在的第二查詢指令,并將來自于所述PHP后端服務器的文件上傳狀態信息轉發 給所述客戶端; 所述PHP后端服務器,用于在接收到所述第二查詢指令后,向所述所述Nginx服務器返 回所述文件上傳狀態信息。
3. 根據權利要求1所述的系統,其特征在于, 所述PHP后端服務器,還用于在將所述文件移動至所述發布目錄之后,返回發布狀態 信息; 所述Nginx服務器,還用于將來自于所述PHP后端服務器的所述發布狀態信息轉發至 所述客戶端。
4. 根據權利要求1所述的系統,其特征在于, 所述客戶端,還用于將所述文件分割成多個文件包,并分別上傳所述多個文件包; 所述PHP后端服務器,還用于將所述多個文件包進行合并,獲取所述文件。
5. -種Nginx服務器,其特征在于,包括: 接收模塊,用于接收來自于客戶端上傳的文件; 上傳模塊,用于將接收到的所述文件保存到指定的位置; 觸發模塊,用于在所述文件上傳完之后,觸發PHP后端服務器將所述文件從所述指定 的位置移動至指定的發布目錄下。
6. 根據權利要求5所述的服務器,其特征在于, 所述上傳模塊,還用于接收來自于所述客戶端的自定義參數,并傳輸給所述PHP后端 服務器; 所述Nginx服務器還包括: 對比模塊,用于將接收到的文件長度與所述自定義參數中的文件長度進行對比,判斷 文件上傳是否完成。
7. 根據權利要求6所述的服務器,其特征在于,所述Nginx服務器還包括:檢驗模塊, 用于在判斷所述文件上傳未完成時,執行所述文件的信息摘要算法校驗。
8. -種文件上傳方法,其特征在于,包括: Nginx服務器接收來自于客戶端上傳的文件; 所述Nginx服務器將接收到的所述文件保存到指定的位置; 所述Nginx服務器在所述文件上傳完之后,觸發PHP后端服務器將所述文件從所述指 定的位置移動至指定的發布目錄下。
9. 根據權利要求8所述的方法,其特征在于,還包括: 在所述客戶端判斷本地上傳失敗后,所述Nginx服務器接收來自于所述客戶端的發送 文件是否已上傳的第一查詢指令; 所述Nginx服務器向所述PHP后端服務器發送文件是否存在的第二查詢指令; 所述Nginx服務器將來自于所述PHP后端服務器的文件上傳狀態信息轉發給所述客戶 端。
10. 根據權利要求8所述的方法,其特征在于,在所述Nginx服務器觸發PHP后端服務 器將所述文件從所述指定的位置移動至指定的發布目錄下之前,還包括: 所述Nginx服務器接收來自于所述客戶端通過GET方式傳輸的自定義參數; 所述Nginx服務器將接收到的文件長度與從所述自定義參數中的文件長度進行對比, 判斷文件上傳是否完成。
【文檔編號】H04L29/08GK104394183SQ201410308845
【公開日】2015年3月4日 申請日期:2014年7月1日 優先權日:2014年7月1日
【發明者】袁孟全, 羅輝, 傅強 申請人:貴陽朗瑪信息技術股份有限公司