一種基于萬兆交換機的嵌入式服務器數據管理系統的制作方法
【專利摘要】本發明提供一種基于萬兆交換機的嵌入式服務器數據管理系統,選用嵌入式web服務器BOA和嵌入式數據庫SQLite,服務器軟件BOA始終在HTTP端口守候客戶端的連接請求,當客戶端向服務器發起一個連接請求后,客戶端和服務器之間經過“三步握手”建立起連接,在接收到客戶端的HTTP請求消息后,服務器對消息進行解析,包括:讀取請求URL、映射到對應的物理文件、區分客戶端請求的資源是靜態頁面還是CGI應用程序,如果客戶請求的是靜態文件,那么服務器讀取相應的磁盤文件,并將其作為HTTP響應消息中的實體返回給客戶端。
【專利說明】—種基于萬兆交換機的嵌入式服務器數據管理系統
【技術領域】
[0001]本發明涉及服務器領域,具體地說是一種基于萬兆交換機的嵌入式服務器數據
管理系統。
【背景技術】
[0002]在嵌入式設備的管理中,基于web的應用為最常見的方式。在嵌入式設備上運行一個支持特定腳本或CGI (Common Gateway Interface)功能的web服務器,用來生成動態頁面。通過web瀏覽器就可以實現對嵌入式設備的管理和監控。
[0003]傳統的數據庫產品除了提供基本的查詢、添加、刪除等功能外,還提供了很多高級特性,如觸發器、存儲過程和數據備份恢復等。正是因為這些原因,使傳統數據庫顯得過于臃腫,不適用于嵌入式系統中。此外,在嵌入式系統中,對數據庫的操作具有定時限制的特性。而且,可靠性是另一個重要指標,嵌入式系統必須能夠在沒有人工干預的情況下,長時間不間斷運行。同時要求數據庫操作具備可預知性,而且系統的大小和性能也都必須是可預知的,這樣才能保證系統的性能。嵌入式系統中會不可避免地與底層硬件打交道,因此在數據管理時,也要有底層控制的能力,如什么時候會發生磁盤操作,磁盤操作的次數、如何控制等。
【發明內容】
[0004]本發明的目的是提供一種基于萬兆交換機的嵌入式服務器數據管理系統。
[0005]本發明的目的是按以下方式實現的,選用嵌入式web服務器BOA和嵌入式數據庫SQLite,服務器軟件BOA始終在HTTP端口守候客戶端的連接請求,當客戶端向服務器發起一個連接請求后,客戶端和服務器之間經過“三步握手”建立起連接,在接收到客戶端的HTTP請求消息后,服務器對消息進行解析,包括:讀取請求URL、映射到對應的物理文件、區分客戶端請求的資源是靜態頁面還是CGI應用程序,如果客戶請求的是靜態文件,那么服務器讀取相應的磁盤文件,并將其作為HTTP響應消息中的實體返回給客戶端;
當客戶端請求的是CGI應用程序,那么服務器將創建相應的CGI應用程序進程,在創建相應的應用進程時,會將所需信息再次打包,包括服務器對客戶端的命令類型、數據庫的操作語句,將生成的數據包按照CGI規范傳遞給CGI應用程序進程,此后由CGI應用程序接管控制,具體實現過程如下:
1)下載最新BOA和SQLite源碼;
2)選用合適的交叉編譯工具,對BOA進行交叉編譯;
3)開發并編譯生成CGI;
4)將BOA、CGI和其他必需文件生成數據管理應用層程序;
5)移植應用層程序到嵌入式設備;
6)啟動Β0Α,開啟web服務,開啟數據管理應用程序,通過web界面進行數據管理和維護。[0006]本發明的有益效果是:綜上所述,選擇恰當的嵌入式Web服務器和嵌入式數據庫,可以實現對嵌入式設備的管理和數據維護。比較常用的嵌入式Web服務器有BOA等,數據庫一般選用SQLite。BOA非常小巧,支持多種操作系統,速度快,具有較好的安全性。BOA是單任務服務器,支持 CGI。SQLite 遵守 ACID (Atomicity、Consistency、Isolation、Durability),具有良好實時性,系統開銷小,不需要中間服務器,底層控制能力強,能夠高效利用嵌入式系統的有限資源,提高數據的存取速度,增強系統安全性。
【專利附圖】
【附圖說明】
[0007]圖1是交換機系統平臺結構示意圖;
圖2是Web服務器和數據庫系統結構示意圖;
圖3是交換機中CGI應用示意圖。
【具體實施方式】
[0008]參照說明書附圖對本發明的方法作以下詳細地說明。
[0009]基于一種國產多單元服務器平臺下的高性能萬兆交換機,選用嵌入式web服務器BOA和嵌入式數據庫SQLite。圖1所示為交換機的系統架構,從下往上為硬件平臺層、軟件支持層和應用層。
[0010]本發明中,服務器軟件BOA始終在HTTP端口守候客戶端的連接請求,當客戶端向服務器發起一個連接請求后,客戶端和服務器之間經過“三步握手”建立起連接。在接收到客戶端的HTTP請求消息后,服務器對消息進行解析,包括:讀取請求URL、映射到對應的物理文件、區分客戶端請求的資源是靜態頁面還是CGI應用程序等。如果客戶請求的是靜態文件,那么服務器讀取相應的磁盤文件,并將其作為HTTP響應消息中的實體返回給客戶端。
[0011]當客戶端請求的是CGI應用程序,那么服務器將創建相應的CGI應用程序進程。在創建相應的應用進程時,會將所需信息再次打包,包括服務器對客戶端的命令類型、數據庫的操作語句等。將生成的數據包按照CGI規范傳遞給CGI應用程序進程,此后由CGI應用程序接管控制。Web服務器和數據庫系統結構組成如圖2所示。
[0012]根據體系結構、硬件平臺和操作系統等,具體實現過程如下:
O下載最新BOA和SQLite源碼;
2)選用合適的交叉編譯工具,對BOA進行交叉編譯;
3)開發并編譯生成CGI;
4)將BOA、CGI和其他必需文件生成數據管理應用層程序;
5)移植應用層程序到嵌入式設備;
6)啟動Β0Α,開啟web服務,開啟數據管理應用程序,通過web界面進行數據管理和維護。
實施例
[0013]如圖3所示。交換機的三個主要功能模塊為port、vlan和trunk。web服務器和數據庫在交換機中的應用,具體實施步驟如下:1)針對port、vlan 和 trunk 生成對應的 cgi 文件:port.cgi, vlan.cgi 和 trunk, cgi ;
2)建立數據庫,并建立對應的表,用來存儲數據信息,包括port信息,vlan信息和trunk信息;
3)在web管理頁面對port、vlan或者trunk進行配置,生成對應的數據包下發到管理芯片,數據包主要包括命令類型、port號、vlan ID、tag/untag信息、trunkID等;
4)管理芯片接收數據包,并進行數據分析,判斷命令類型,通過調用對應cgi程序,對數據庫進行查詢、插入、刪除、更新等操作,進而實現對交換芯片的管理和配置。
【權利要求】
1.一種基于萬兆交換機的嵌入式服務器數據管理系統,其特征在于選用嵌入式web服務器BOA和嵌入式數據庫SQLite,服務器軟件BOA始終在HTTP端口守候客戶端的連接請求,當客戶端向服務器發起一個連接請求后,客戶端和服務器之間經過“三步握手”建立起連接,在接收到客戶端的HTTP請求消息后,服務器對消息進行解析,包括:讀取請求URL、映射到對應的物理文件、區分客戶端請求的資源是靜態頁面還是CGI應用程序,如果客戶請求的是靜態文件,那么服務器讀取相應的磁盤文件,并將其作為HTTP響應消息中的實體返回給客戶端; 當客戶端請求的是CGI應用程序,那么服務器將創建相應的CGI應用程序進程,在創建相應的應用進程時,會將所需信息再次打包,包括服務器對客戶端的命令類型、數據庫的操作語句,將生成的數據包按照CGI規范傳遞給CGI應用程序進程,此后由CGI應用程序接管控制,具體實現過程如下: O下載最新BOA和SQLite源碼; 2)選用合適的交叉編譯工具,對BOA進行交叉編譯; 3)開發并編譯生成CGI; 4)將BOA、CGI和其他必需文件生成數據管理應用層程序; 5)移植應用層程序到嵌入式設備; 6)啟動Β0Α,開啟web服務,開啟數據管理應用程序,通過web界面進行數據管理和維護。
【文檔編號】G06Q10/06GK103985019SQ201410248242
【公開日】2014年8月13日 申請日期:2014年6月6日 優先權日:2014年6月6日
【發明者】孫振, 吳登勇 申請人:山東超越數控電子有限公司