一種面向嵌入式應用的易擴展web服務系統的製作方法
2023-06-05 15:49:16 2
專利名稱:一種面向嵌入式應用的易擴展web服務系統的製作方法
技術領域:
本發明屬於消費性電子產品技術領域,尤其涉及一種面向嵌入式應用的易擴展 web服務系統。
背景技術:
嵌入式系統(Embedded system)是以應用為中心,主要由嵌入式處理器、相關硬體 支撐、嵌入式作業系統和應用軟體組成,具有軟體代碼小、響應速度快等特點,特別適合要 求實時和多任務的系統。近年來,隨著硬體的發展,支持TCP/IP等Internet協議的嵌入式 設備大量湧現,基於Internet的嵌入式系統已經進入了迅速發展的階段。目前,大部分現 存的嵌入式系統還孤立在Internet之外,但隨著Internet的迅速發展以及Internet技術 和信息家電、工業控制等領域結合的日益密切,嵌入式設備和Internet結合代表著嵌入式 技術發展的真正未來。目前,嵌入式設備訪問Internet的常用方式是基於TCP/IP協議的 Socket通訊技術和通過發送Http請求、接受響應來獲取網絡資源。這兩種方式都能夠較好 的完成數據的傳輸,可是存在如下一些不足1.可擴展性不好;2.比較底層的傳輸,傳輸數據的規則需要自行定義複雜繁瑣的規則;3.數據安全得不到保障;4.沒有採用標準協議,通用性不夠,通常只能應用於某個平臺或專門的嵌入式設 備;5.開發效率極其低下;6.容易出現錯誤。Internet發展至今,已經形成了內容極其豐富的網絡資源。嵌入式設備尤其是嵌 入式消費電子如何更有效地,更安全地通過web服務使用這些資源,成為急待解決的問題。 因此,亟需一種新的web服務模式和框架,能夠便捷的擴展和使用安全web服務,通過屏蔽 服務底層部分,減小開發難度,提高開發效率。
發明內容
本發明實施例的目的在於提供一種面向嵌入式應用的易擴展web服務系統,能夠 十分便捷的擴展和使用安全的web服務,提高web服務開發的效率。本發明實施例是這樣實現的,一種面向嵌入式應用的易擴展web服務系統,包括 web服務架構以及web服務開發框架與web服務使用框架;其中,web服務架構包括嵌入 式設備、遠程web服務點、以及Web服務集中管理中心;而Web服務開發框架包括有負責 soap消息的發送和接受的Http Handler、用於對soap消息進行驗證,包裝和解包,序列化 和反序列化等處理的Soap Processing、用於輔助Soap Processing模塊,對soap消息的 內容進行加密的Cryptography Factory、用於初始化當前服務請求的上下文的Context Initializer、用於輔助Context Initializer模塊,專門提供用戶身份和權限認證的User Authentication/Authority Provider、用於調用目標函數,將返回的結果交由Soap Processing序列化包裝處理的Invoker、用於負責整個框架中的異常處理,和事件日誌記 載的 Exception Shielding/Event Logging、以及 Service Method。相較於現有技術,本發明創作能夠便捷的擴展和使用安全web服務,通過屏蔽服 務底層部分,減小開發難度,提高開發效率。
圖1是本發明的web服務架構的原理框圖。圖2是本發明的web服務開發框架的原理框圖。圖3是本發明的web服務使用框架的原理框圖。
具體實施例方式為了使本發明的目的、技術方案及優點更加清楚明白,以下結合附圖及實施例,對 本發明進行進一步詳細說明。應當理解,此處所描述的具體實施例僅僅用以解釋本發明,並 不用於限定本發明。參照圖1至圖3所示,本發明面向嵌入式應用的易擴展web服務系統包括web服 務架構以及web服務開發框架與web服務使用框架。web服務架構包括嵌入式設備、遠程 web服務點、以及Web服務集中管理中心。所述嵌入式設備用於訪問和使用web服務;所述 遠程web服務點為嵌入式設備提供某種資源或者功能的專項服務;而所述Web服務集中管 理中心主要用於管理眾多的遠程服務點,包括註冊、分類管理等,並負責為嵌入式設備路由 web服務,其包括有web服務註冊登記管理,web服務分類管理,web服務接口及其描述管 理,web服務測試,web服務使用記錄的統計及分析,用戶(嵌入式設備)行為分析,web服 務路由器。其中,web服務路由器是根據嵌入式設備的請求條件或者用戶的使用習慣,再結 合web服務分類信息,進行綜合的條件匹配和搜索,找到並提供符合要求的遠程web服務 點。web服務註冊登記管理,用於擴展新的web服務,供嵌入式設備真正使用,包括註冊服務 的申請提交、審批和最終通過後註冊登記,這其中還包括新服務所關聯的服務接口和所屬 的服務分類。服務分類管理用於對眾多已註冊的遠程web服務點進行特徵標記,方便web 服務路由器搜索和查找。服務接口及其描述管理用於在嵌入式設備和遠程web服務點間提 供公共的標準接口,為嵌入式設備的服務使用和服務點的擴展提供便利條件。服務測試用 於對提出申請註冊登記的web服務點進行功能、性能、安全等全方面的測試,測試通過後才 可以被嵌入式設備真正使用。保障服務的可用性和安全性。web服務使用的統計和分析是 對遠程服務站點的使用情況進行記載,並在此基礎上進行統計和分析,作為類似服務計費 等額外需求的基礎。用戶(嵌入式設備)行為分析,用於通過分析用戶的行為特徵,來不斷 改善web服務;根據用戶的使用習慣和喜好,web服務路由器路由更為接近用戶需求的遠程 web服務點。Web服務開發框架包括負責基於http的soap消息的發送和接受的Http Handler, 用於對soap消息進行驗證,包裝和解包,序列化和反序列化等處理的Soap Processing, 用於輔助Soap Processing模塊,專門提供可逆加密算法,對soap消息的內容進行加密 的Cryptography Factory、根據soap消息的頭信息,來初始化當前服務請求的上下文的Context Initializer、用於輔助Context Initializer模塊,專門提供用戶身份和權限認 證的User Authentication/Authority Provider、用於調用目標函數,將返回的結果交由 Soap Processing序列化包裝處理的Invoker、負責整個框架中的異常處理,和事件日誌記 載的 Exception Shielding/Event Logging、以及 Service Method。Service Method 是 框架中開發者唯一添加的部分,可以包含多個具有特定的功能的,可供Invoker模塊動態 調用的目標函數。上述所有模塊共同組成了 web服務開發的框架。使用該框架和開發者 添加的特定功能的Service Method模塊,就可以實現響應嵌入式設備終端的服務請求,提 供web服務。其中Soap Processing模塊,使用標準的xml序列化和反序列化的規則,對 soap消息的內容和程序中的object之間進行自動轉換,為開發人員減少數據傳輸格式規 則制定的工作,同時也防止因數據格式規則不一致而產生錯誤。所述xml序列化是將程序 中的object中的數據結構、數據以對應結構的xml文本呈現出來,反序列化是逆過程。所 述Cryptography Factory,能夠根據服務響應的不同數據類型,提供適合的可逆加密算法, 將數據以密文的形式發送給嵌入式設備。只有擁有配套解密方式的嵌入式設備,才能夠 使用web服務,保障web服務使用的安全性。另外加密算法可以根據需要不斷擴充,而不 影響其他的模塊的正常工作。所述Context Initializer,用於在嵌入式設備和web服務 之間維持通話狀態,通話的狀態包括用戶的認證信息和重要數據。嵌入式設備能夠實現一 次認證,多次請求服務;還可以通過緩存重要或大量數據,減少數據的傳輸量。所述User Authentication/Authority Provide,用於認證用戶的身份和權限。根據身份權限的不同 方便服務提供商提供差異化的web服務。該模塊擁有一套完備的用戶認證接口,認證可以 採用本地認證、第三方認證、資料庫認證、Windows集成認證等多種認證方式和方法,大大增 加用戶身份認證的靈活性。所述Invoker模塊,能夠根據請求的目標服務和反序列化參數, 動態加載和運行目標服務函數,並返回數據。所述Exception Shielding/Event Logging 用於屏蔽敏感的異常信息,保障服務安全。通過實現自動封裝soap fault消息,減小開發 人員對異常的處理工作。Event Logging通過實現文件操作和日誌格式制定協助,開發人 員只需要簡單的配置和少量的代碼,就可以完成日誌的記載。所述Service Method,是web 服務最小的單元,也是服務開發人員需要自行添加的部分。用於完成某種服務功能或者提 供數據,包括數據提取過程或其他功能性邏輯。Web服務使用框架包括根據嵌入式平臺客戶端要求,調用相應的服務函數的 Proxy、用於對soap消息的處理,其中包括對數據的打包和解包,序列化和反序列化等的 Soap Processing、負責基於http的soap消息的發送和接收的Http Handler。這些模塊共 同組成Web服務使用框架。所述服務使用框架應用在嵌入式設備終端上11,通過屏蔽如何傳輸數據、如何調 用具體web服務的大量工作,使得服務調用的開發工作變得十分簡便,從web服務集中管理 中心獲取一套服務接口和描述,然後從web服務集中管理中心獲取實現該套接口的所有的 遠程web服務點列表,選擇一個遠程web服務點,在上層應用程式中直接調用接口,就可以 使用該遠程web服務點提供的所有功能和資源。嵌入式設備客戶端發送信息的過程中,Proxy 28根據嵌入式設備客戶端的要求調 用指定的服務函數。根據soap協議,SoapEnvolope是由SoapHead和SoapBody兩部分組成 的,SoapBody部分包括客戶端要求調用的服務函數名及其相關的參數,SoapHead包括除上述內容之外的其他信息(如用戶驗證信息等)。Soap Processing 29把將要發送的信息序 列化後,按照SoapHead和SoapBody裝載內容的不同,把信息劃分並封裝入相應的部分中, 並做打包處理。處理soap傳輸請求,是由Http Handler 30完成。該部分內容主要包括指 定遠程服務點,發送soap信息。接收Web伺服器信息的過程時,由Http Handler 30接受 soap i青求,分析http頭』接收soap數據包。處理soap數據包信;窗、,由Soap Processing 29完成,主要用途是接收遠程服務點服務函數的運行的結果,在該過程中主要步驟包括對 soap數據的反序列化和解析,提取遠程服務點發送的數據,供Proxy 30使用。服務開發框架應用在遠程web服務點13,通過屏蔽如何傳輸數據、用戶如何認證、 如何調用目標服務函數等大量的工作,使得web服務的開發工作變得十分的簡便。web服 務點根據自身能提供的服務特點,從web服務集中管理中心獲取一套服務接口和描述,實 現該套接口,並部署實現好的web服務。向web服務集中管理中申請註冊登記該服務點。 web開發框架接受soap請求,由Http Handler 21完成。分析http頭,獲取嵌入式設備相 關信息和網絡信息,包括設備的ID,設備型號,設備的網絡IP等。處理soap消息,由Soap Processing22完成。首先對soap消息進行有效性驗證,通過soapl. 1的xsd定義對soap內 容進行完整性和正確性的驗證,通過soap中目標服務函數名稱進行服務的存在性驗證。將 驗證通過的soap消息文本進行對象包裝,生成SoapHead和SoapBody對象,供以後使用;未 通過的將由Exception Shielding 27拋出異常,返回soap fault。根據soap消息初始化上 下文,由Context Initalizer 25完成。如果某嵌入式設備近期第一次請求,系統需要利用 User Authentication/Authority Provider 24提供的身份權限認證機制進行認證。認證 的機制可以採用用戶名和密碼的形式進行身份認證,使用角色分配的形式進行權限授予, 也可以採用windows認證等其他認證方式。認證通過的用戶才能夠繼續使用服務,同時系 統將會緩存該通話的重要信息,用於嵌入式設備在過期時間內下次請求的上下文初始化根 據。緩存是在內存中進行的,有過期的機制,即從某個設備第一次請求到最大緩存時間內, 嵌入式設備下次請求不再需要進行身份權限認證,達到一次認證,多次使用服務,而且還可 以共享該段時間內通話所有緩存的重要信息。過期的緩存信息將從內存中去除掉。根據 soap消息調用目標服務函數,由Invoker 26完成。根據指定調用的目標服務函數名稱,查 找到相關動態連結庫,動態加載該連結庫文件,運行目標函數,結果經Encryption Factory 23提供的加密算法加密之後,交回至SoapProcessing 22進行soap包裝。Encryption Factory根據數據特點能夠提供多種加密算法中的一種,例如,加密速度稍快的移位、仿射、 希爾加密算法,能夠對容量較大的媒體數據進行加密;對稱加密算法DES、TripleDES、RC2, 可以對安全性要求不高的服務內容進行加密;非對稱加密算法RSA,可以對安全性要求較 高的服務內容進行加密。另外,該框架能夠可以根據需要繼續擴展更多的加密算法,而不影 響其他模塊的正常運行。發送soap結果,由Http Handler 21完成。Http Handler將Soap Processing 22包裝好的soap結果以密文的形式發送到請求服務的嵌入式設備。Event Logging 27可以在整個框架中使用,主要用於對程序運行的重要過程進行日誌記載。方便 web服務日常的維護,以及出現問題時,提供維護人員解決的依據。它主要包括兩部分,一部 分是一套對文件的操作實現,另一部分是日誌格式的模板,模板的內容包括事件,來源,類 別,類型,描述信息。開發人員只需簡單地配置模板就可以寫入不同格式的日誌。在面向嵌入式的web服務架構中,web服務使用框架應用在嵌入式設備端11,web服務開發框架應用在遠程web服務點13,兩者都大量減小了研發人員的開發難度,減少了 開發工作,提高了開發效率。而作為web服務架構中最為核心的部分——web服務集中管理 中心,在嵌入式設備和眾多的遠程服務點之間架起了一座有效溝通的橋梁。有了 web服務 集中管理中心之後,嵌入式設備再也不需要逐一的和每一個遠程的web服務點,針對於如 何使用服務的問題上進行複雜的協商,相反,只需要遵循管理中心的服務標準,獲取服務。 也就說在嵌入式設備端,只能看見web服務集中管理中心,而屏蔽掉了眾多了遠程web服務 點。類似地,遠程web服務點只關心管理中心提出的web服務接口標準,然後按照其標準, 實施自己的web服務,然後在其上進行註冊登記。而不必針對於與如何提供服務的問題上 與嵌入式設備端進行複雜的協商,從而也屏蔽掉了眾多嵌入式設備端,而只與web服務集 中管理中心打交道。首先,為了滿足嵌入式設備新的功能和需求,服務接口及其描述16提 出一套新的服務接口,並有服務分類管理14分配類別,標記特徵,以備更多需要類似web服 務的嵌入式設備找到和使用。服務接口的形成需要綜合考慮嵌入式設備需求和服務提供商 的特點,從而為嵌入式設備提供web服務的同時,提供商也能夠方便地實現該套接口。隨 後,越來越多的服務提供商會實現該套接口,並申請註冊登記各自的遠程web服務點13,該 類服務的內容將會隨之變得越來越豐富。其中,申請需提交的內容包括服務提供商自身描 述、服務網路訪問點、服務特徵、實現的服務接口等。服務網絡訪問點指明了嵌入式設備發 送服務請求的網絡地址;服務特徵也由服務分類管理14標記,用來區別實現同一接口的不 同服務。服務特徵包括地域特徵,服務質量特徵,面向的用戶群體等,還可以是更多自定義 的特徵描述。申請註冊登記的服務需要先進行全方位的測試,服務測試模塊19對申請註冊的 服務進行基本的功能測試之外,還有安全性測試和性能測試。所有的測試都是在模擬的嵌 入式設備上進行的。模擬器調用web服務,將運行結果與已經制定好的功能標準比較,進行 測試評估;模擬器還會模擬多個嵌入式設備同時請求服務,進行壓力測試,通過記錄響應時 間的方法,分析web服務的性能。只有測試通過的web服務點才會真正在web服務管理中心 註冊登記,供嵌入式設備查詢使用。當有遠程web服務點在管理中心登記註冊後,嵌入式設 備終端11就可以使用該類服務了。服務路由器會定期的在嵌入式設備啟動或者應用程式 程序啟動時,根據查詢的條件約束,為嵌入式設備應用程式提供滿足條件的遠程web服務 點13列表,包括提供商信息和網絡入口地址。查詢的條件約束包括接口約束、遠程服務點 特徵約束等。這樣就可以精確定位到想使用的web服務點上。比方說嵌入式設備終端是電 視機,想知道離它最近的超市針對VIP客戶的打折信息,則可以使用類似的查詢語句接口 描述=超市打折信息查詢and地址Like XX市XX區XX街道XX號and面向群體=VIP客 戶,服務路由器結合服務接口及描述15,服務分類14聯合查詢,找到最接近的超市web服務 點,返回給電視機,電視機則直接訪問查詢到的最佳遠程web服務點的網絡地址,獲得web 服務。每一次web服務的使用都被記錄下來,其中包括嵌入式設備信息和使用的遠程 web服務信息兩大類。針對嵌入式設備的使用記錄,用戶行為分析18可以統計出用戶的普 遍的使用習慣和個體的特徵喜好。而普遍的使用習慣可以用作改善web服務的質量,使得 web服務能夠越來越趨於滿足大多數人的要求;個體喜好則可以供服務路由器15使用,為 不同的嵌入式終端提供更符合個體要求的特殊服務。針對web服務使用記錄,服務記錄統計及分析19能夠統計服務的使用次數,在各個時段的使用頻率等,為服務收費和服務自身 改善等提供有力的數據分析和依據。本發明創作通過屏蔽數據傳輸格式、隱藏遠程web服務的查找和定向,嵌入式設 備可以便捷的使用web服務,web服務開發人員也可以快速的擴展新的web服務。不僅如 此,基於該服務架構,不僅僅是嵌入式設備可以使用web服務,還可以支持各式各樣的網絡 通訊設備,其中包括手機,電腦等。另外採用標準的web服務數據通訊協議,無論是嵌入式 設備還是遠程web服務點,可以兼容不同的軟體平臺,為數據準確傳輸和接受以及架構的 高度擴展性都提供了保障。總之,該發明為嵌入式設備高效便捷的使用各式各樣的網絡資 源成為了可能,為嵌入式生產商將帶來更多的商業價值。以上所述僅為本發明的較佳實施例而已,並不用以限制本發明,凡在本發明的精 神和原則之內所作的任何修改、等同替換和改進等,均應包含在本發明的保護範圍之內。
權利要求
一種面向嵌入式應用的易擴展web服務系統,其特徵在於包括web服務架構以及web服務開發框架與web服務使用框架;其中,web服務架構包括嵌入式設備、遠程web服務點、以及Web服務集中管理中心;而Web服務開發框架包括有負責soap消息的發送和接受的Http Handler、用於對soap消息進行驗證,包裝和解包,序列化和反序列化等處理的Soap Processing、用於輔助Soap Processing模塊,對soap消息的內容進行加密的Cryptography Factory、用於初始化當前服務請求的上下文的Context Initializer、用於輔助Context Initializer模塊,專門提供用戶身份和權限認證的User Authentication/Authority Provider、用於調用目標函數,將返回的結果交由Soap Processing序列化包裝處理的Invoker、用於負責整個框架中的異常處理,和事件日誌記載的Exception Shielding/Event Logging、以及Service Method。
2.如權利要求1所述的面向嵌入式應用的易擴展web服務系統,其特徵在於所述 Web服務使用框架包括根據嵌入式平臺客戶端要求,調用相應的服務函數的Proxy、用於 對soap消息進行處理的Soap Processing,以及負責基於http的soap消息發送和接收的 HttpHandler0
3.如權利要求2所述的面向嵌入式應用的易擴展web服務系統,其特徵在於所述嵌 入式設備用於訪問和使用web服務,而所述遠程web服務點為嵌入式設備提供某種資源或 者功能的專項服務。
4.如權利要求3所述的面向嵌入式應用的易擴展web服務系統,其特徵在於所述Web 服務集中管理中心主要用於管理眾多的遠程服務點,並負責為嵌入式設備路由web服務, 其包括有web服務註冊登記管理、web服務分類管理、web服務接口及其描述管理、web服務 測試、web服務使用記錄的統計及分析、用戶(嵌入式設備)行為分析、以及web服務路由ο
5.如權利要求4所述的面向嵌入式應用的易擴展web服務系統,其特徵在於所述web 服務路由器根據嵌入式設備的請求條件或者用戶的使用習慣,再結合web服務分類信息, 進行綜合的條件匹配和搜索,找到並提供符合要求的遠程web服務點。
6.如權利要求5所述的面向嵌入式應用的易擴展web服務系統,其特徵在於所述web 服務註冊登記管理主要用於擴展新的web服務,供嵌入式設備真正使用,包括註冊服務的 申請提交、審批和最終通過後註冊登記,這其中還包括新服務所關聯的服務接口和所屬的 服務分類。
7.如權利要求6所述的面向嵌入式應用的易擴展web服務系統,其特徵在於所述服 務分類管理主要用於對眾多已註冊的遠程web服務點進行特徵標記,方便web服務路由器 搜索和查找。服務接口及其描述管理用於在嵌入式設備和遠程web服務點間提供公共的標 準接口,為嵌入式設備的服務使用和服務點的擴展提供便利條件。
8.如權利要求7所述的面向嵌入式應用的易擴展web服務系統,其特徵在於所述服 務使用框架應用在嵌入式設備終端上,通過屏蔽如何傳輸數據、如何調用具體web服務的 大量工作,使得服務調用的開發工作變得十分簡便。
全文摘要
本發明公開一種面向嵌入式應用的易擴展web服務系統,包括web服務架構以及web服務開發框架與web服務使用框架;其中,web服務架構包括嵌入式設備、遠程web服務點、以及Web服務集中管理中心;而Web服務開發框架包括有Http Handler、Soap Processing、Cryptography Factory、Context Initializer、User Authentication/Authority Provider、Invoker、Exception Shielding /Event Logging、以及Service Method。相較於現有技術,本發明創作能夠便捷的擴展和使用安全web服務,通過屏蔽服務底層部分,減小開發難度,提高開發效率。
文檔編號H04L29/06GK101923465SQ20101021165
公開日2010年12月22日 申請日期2010年6月25日 優先權日2010年6月25日
發明者嚴霖, 王志國 申請人:深圳創維-Rgb電子有限公司