專利名稱:一種智能氣候和交通狀況提醒系統的制作方法
技術領域:
本發明涉及一種智能氣候和交通狀況提醒系統,具體來說,是一種利用xml、web service、頁面獲取與分析等網絡技術及數據庫技術,自動分析天氣預報和道路交通狀況,提醒用戶做出相應措施的技術和方法。
背景技術:
XML是eXtensible Markup Language的縮寫,是由萬維網協會W3C于1998年制定的一種基于文本的數據描述語言的語法通用標準,可用來制定定義數據的結構、種類、屬性和內容的具體規范。由于XML具有擴展性好、形式與內容分離、高度結構化等特點,已經成為數據交換的事實標準。
在本系統的設計中,采用XML作為數據獲取模塊和數據處理模塊交互的媒介,這有兩方面的意義一方面如果底層采用Web Service進行數據獲取的話,那么XML本身是它的一個重要部分;另一方面,采用XML技術可以減輕數據獲取模塊和數據處理模塊的耦合性,使得數據獲取模塊可以靈活地組合采用網頁分析技術和Web服務,也可以使系統具有較高的擴展性,以適應未來全面向Web服務發展的趨勢。
Web服務(Web service)平臺是一套標準,它定義了應用程序如何在Web上實現互操作性。Web服務使用基于XML的消息處理作為基本的數據通訊方式,消除使用不同組件模型、操作系統和編程語言的系統之間存在的差異,使異類系統能夠作為單個計算網絡協同運行。開發人員可以用象過去在創建分布式應用程序時使用組件一樣的方式創建將來自各種源的Web服務組合在一起的應用程序。
到目前為止,功能較為全面的web services平臺是XML+HTTP+SOAP+WSDL+UDDI。SOAP是一個協議規范,定義了傳遞XML-encoded數據時的統一方式。它還定義了使用HTTP作為底層通信協議時執行遠程調用(RPC)的方法。UDDI為客戶提供了動態查找其它Web服務的機制。使用UDDI接口,系統可以動態地查找和連接到外部的服務上。WSDL則是用來描述一個Web服務能做什么,它的位置在哪里,如何調用它等等。
網絡頁面的獲取是指在程序中通過利用特定的API,向特定的網站發出頁面請求并獲取返回的頁面數據。目前多數的編程語言都支持HttpRequest和HttpResponse,可以利用網站提供的服務網頁,先向網站提出頁面請求再按照其頁面格式對其進行分析,得出自己需要的服務信息數據。
頁面數據的分析技術比較多,各種技術各有所長,目前比較常用的是用IHTMLDocument之類的類庫進行分析和直接利用字符表達式來分析。目前涉及的專利大部分的側重點在于利用軟件或是電子的技術自動獲取天氣預報和交通信息,但沒有涉及獲取信息后,如何利用獲取的信息為用戶提供各種服務功能。
發明內容
本發明提供的一種智能氣候和交通狀況提醒系統,可以采用現有的和正在發展的技術獲取天氣和交通信息,更能利用獲取的信息為用戶提供各種服務功能。
本發明所采用的技術方案如下一種智能氣候和交通狀況提醒系統結構包括數據獲取模塊、數據處理分析模塊、用戶接口模塊、數據庫和外部軟硬件等幾個部分。
所述數據獲取模塊從網絡上獲取數據后將數據存放到數據庫中,留待數據處理分析模塊對數據作進一步的分析和處理,該模塊可以采用頁面分析技術或者采用Web服務的方式實現。
所述數據處理分析模塊包含天氣分析和交通情況分析兩個子模塊,它從數據庫中獲取存放天氣和交通信息的XML文件,然后對其進行分析并提取出各種數據,再對照數據庫中的用戶設置,調用用戶接口模塊做出相應的結果返回1)天氣分析模塊主要用于分析獲取到的天氣情況信息并按照用戶設定做出處理;2)交通情況分析模塊主要在條件觸發下從數據庫獲取XML文件并進行分析,再對比用戶設定的規則提醒用戶,實現自動提前鬧鈴時間、自動路線推薦等功能。
所述用戶接口模塊為一個中間接口模塊,一方面作為一個通用的接口提供給外部的軟硬件,如移動終端、各種監測儀器,外部模塊可以本模塊向本系統傳遞控制命令;另一個方面,該模塊接受來自數據處理分析模塊的結果信息,同時查找用戶配置,按照用戶設定的形式調用外部接口或是連接移動終端返回結構。
所述數據庫存放著系統的各種數據,為系統各部分的運行提供規則和依據,數據庫存放的數據分為1)用于存放系統數據采集的來源信息的數據源配置信息;2)來自于數據獲取模塊獲取的XML數據;3)包括各種天氣和交通情況下所采取的策略和返回的形式的用戶配置信息。
所述外部軟硬件包括各種類型的用戶終端和監測系統,當外部軟硬件受到觸發時,它們會通過用戶接口模塊向本系統發送各種命令,觸發系統進行數據獲取和分析;同時,系統分析的結果也通過它們以各種方式返回到用戶。
對于采用頁面獲取和分析技術的數據獲取模塊設計,數據獲取過程為A.數據獲取模塊讀取數據庫,獲取用戶配置的服務頁面鏈接地址;B.對鏈接地址發送HttpRequestC.接收網站傳送過來的HttpResponse,提取出頁面數據;D.利用類庫的函數對頁面進行分析,提取感興趣的節點數據;E.對獲取的數據封裝成為特定格式的XML文件,傳送到數據庫。
對于使用Web服務的數據獲取設計,數據獲取的過程為A.讀取數據庫,獲取服務描述文件;B.如果文件不存在,則獲取UDDI服務器地址,發送服務查找請求;C.從服務器獲取服務描述文件,存在入數據庫并繼續;D.如果描述文件存在,則根據服務描述調用服務,獲取數據。
本發明提出的一種智能氣候和交通狀況提醒系統,主要有以下幾方面的特點1.以用戶的日常需求出發,綜合利用Web服務、頁面分析等網絡技術和數據庫技術,形成一個自動從網絡獲取資源并分析利用的系統,從而為用戶提供天氣提醒、路線提示、溫馨提示等多種人性化的服務,為人們的生活帶來了方便;2.本發明提出了一個模塊化的系統框架,通過分離數據獲取、數據處理和用戶接口等不同功能,將系統設計成多個耦合度較低的模塊,使得各個模塊的實現相對可以獨立開來;3.本發明提出的系統框架中,采用了XML文件作為數據交互的基本媒介,從而使得底層的數據獲取模塊可以按照需要采用Web服務方式或是使用頁面分析技術實現,具有較高的靈活性,同時可以適應未來的技術發展;
4.本發明提出的系統框架中,設置了用戶接口模塊作為系統與外界軟硬件的接口,對外屏蔽了底層的數據處理,對內封裝了各種外部接口、軟硬件系統的調用,使得系統具有較高的可擴展性。
圖1是本發明系統的結構框圖;圖2是系統控制流程圖;圖3是頁面分析過程數據獲取流程圖;圖4是Web服務調用過程數據獲取流程圖。
具體實施例方式
下面結合附圖對本發明做進一步的說明如附圖1所示一種智能氣候和交通狀況提醒系統結構包括數據獲取模塊、數據處理分析模塊、用戶接口模塊、數據庫和外部軟硬件等幾個部分。
1.數據獲取模塊數據獲取模塊是整個系統數據的基本來源,該模塊從網絡上獲取數據后將數據存放到數據庫中,留待數據處理分析模塊對數據作進一步的分析和處理。
本模塊的設計可以采用兩種方式一種是采用頁面分析技術,通過從網上獲取服務網頁并對其內容進行分析,獲取用戶需要的天氣或交通信息,然后封裝成XML文件存放到數據庫中;另一種是采用Web服務的方式,直接調用遠程服務提供商的服務,然后返回的承載著服務信息的XML文件直接存放如數據庫中。
2.數據處理分析模塊數據處理分析模塊是系統數據處理和分析的核心模塊,它從數據庫中獲取存放天氣和交通信息的XML文件,然后對其進行分析并提取出各種數據,再對照數據庫中的用戶設置,調用用戶接口模塊做出相應的結果返回。
數據處理分析模塊本身又包含天氣分析和交通情況分析兩個子模塊,它們分別負責天氣和交通的分析和提醒;數據處理分析模塊在獲得XML文件后,只是簡單地分析一下文件是屬于天氣還是交通信息的,然后就調用相應的子模塊進行分析處理。
1)天氣分析模塊天氣分析模塊主要用于分析獲取到的天氣情況信息并按照用戶設定做出處理。天氣分析模塊首先從XML文件中分析出天氣的各種信息,再將其于數據庫中的各種規則進行比較,然后根據規則設定調用用戶接口模塊返回結果。比如說,天氣分析模塊從XML文件中分析出當天中午將會下大雨,而規則庫中剛好存放著規則「條件下雨;時間now-18:30;操作提醒用戶帶雨傘」那么天氣分析模塊將會調用用戶接口模塊,提醒用戶出門時要帶上雨具,以免回來的時候給淋到雨。
2)交通情況分析模塊交通情況分析模塊與天氣分析模塊類似,也是在條件觸發下從數據庫獲取XML文件并進行分析,再對比用戶設定的規則提醒用戶,實現自動提前鬧鈴時間、自動路線推薦等功能。
3.用戶接口模塊用戶接口模塊為一個中間接口模塊,一方面作為一個通用的接口提供給外部的軟硬件,如移動終端、各種監測儀器,外部模塊可以本模塊向本系統傳遞控制命令;另一個方面,該模塊接受來自數據處理分析模塊的結果信息,同時查找用戶配置,按照用戶設定的形式調用外部接口或是連接移動終端返回結構。
4.數據庫數據庫存放著系統的各種數據,為系統各部分的運行提供規則和依據。按照涉及的內容可以將數據庫存放的數據分為以下幾類1)數據源配置數據源配置存放的是系統數據采集的來源信息,例如服務頁面的鏈接地址、UDDI服務器地址、Web服務器的服務描述文件等等。
2)XML數據XML數據是來自于數據獲取模塊獲取的數據信息。
3)用戶配置用戶配置信息是用戶設定的各種規則的集合,包括了各種天氣和交通情況下所采取的策略和返回的形式。
5.外部軟硬件外部軟硬件系統為圖中所示的藍色模塊,包括了各種類型的用戶終端和監測系統。當外部軟硬件受到觸發時,它們會通過用戶接口模塊向本系統發送各種命令,觸發系統進行數據獲取和分析;同時,系統分析的結果也通過它們以各種方式返回到用戶。
如圖2所示系統控制流程具體包括以下步驟A外部監測系統、用戶終端或是系統計時器觸發事件,調用用戶接口模塊向系統發送命令;B用戶接口接收、分析命令,激活數據處理分析模塊并將命令傳送到該模塊;C數據處理分析模塊接收命令并分析命令的觸發原因;D數據處理分析模塊查找數據庫,獲取命令對應的原始數據;
E如果需要的數據不存在,則調用數據獲取模塊進行數據獲取;F數據獲取模塊通過網絡獲取相應的原始數據并送入數據庫,然后返回D;G如果數據存在,則調用對應的分析子模塊進行分析;H數據處理分析模塊將結果數據送回用戶接口模塊;I用戶接口模塊查找用戶配置并按照用戶設定的方式調用外部接口或是用戶終端返回結果。
如圖3所示對于采用頁面獲取和分析技術的數據獲取模塊設計,數據獲取過程步驟為A數據獲取模塊讀取數據庫,獲取用戶配置的服務頁面鏈接地址;B對鏈接地址發送HttpRequestC接收網站傳送過來的HttpResponse,提取出頁面數據;D利用類庫的函數對頁面進行分析,提取感興趣的節點數據;E對獲取的數據封裝成為特定格式的XML文件,傳送到數據庫。
如圖4所示對于使用Web服務的數據獲取設計,數據獲取的過程步驟為A讀取數據庫,獲取服務描述文件;B如果文件不存在,則獲取UDDI服務器地址,發送服務查找請求;C從服務器獲取服務描述文件,存在入數據庫并繼續;D如果描述文件存在,則根據服務描述調用服務,獲取數據。
下面以天氣預報為例子,以java為主要開發語言,說明系統的應用實例。
假設用戶設定了如下表所示的三條規則
那么,系統在每個鐘頭的正點,則會調用數據獲取模塊獲取數據。對于采用頁面分析技術的數據獲取模塊,執行的操作如下A.調用JDBC等數據庫接口從數據庫獲取服務頁面的鏈接地址;B.利用HttpURLConnection等類庫發送HttpRequest到鏈接地址,并接收返回的HttpResponse,提取出頁面數據;C.采用字符查詢、匹配的方式對頁面數據進行分析,提取出溫度、濕度、云雨等天氣信息;D.將提取的信息封裝成XML文件存放入數據庫。
對于采用Web服務的實現方式,操作流程如下A.向數據庫查詢服務描述文件,如果存在,則利用JAX-RPC向服務器發送服務請求;B.否則,執行以下操作1.向服務器查詢UDDI服務器地址;2.利用JAXR對UDDI注冊表進行查詢操作,獲取服務器的WSDL文件;3.將獲取的服務描述文件存放到數據庫中,然后跳轉到A。
這樣,系統每個小時都會自更新天氣預報信息和其它實時信息,當用戶起床后打開房門的時候,房門監測器發送觸發命令到本系統,系統用戶接口分析命令后調用數據處理分析模塊進行數據處理分析。
數據處理分析模塊首先查詢數據庫,從中獲取當前的天氣預報XML文件;如果發現文件的時效已經超過設定的一個小時,則調用數據獲取模塊執行上述的數據獲取操作;否則,解析XML文件并對照數據庫存儲的用戶設置進行分析判斷。
假如用戶起床的時間為7:30,當時獲取的天氣預報信息為下午有大雨,那么系統分析天氣預報XML文件時,可以獲取到時間標簽為“下午”、云雨標簽為“下雨”的信息對,在對數據庫規則進行匹配的過程中,系統發現“下午”正好介于規則一的時間段之間,條件正好符合下雨,那么系統會將規則描述的操作返回到用戶接口模塊。
用戶接口接收到結果后,查詢數據庫規則發現用戶設定語音返回結果,于是調用用戶終端接口,以語音的方式返回結果,提示用戶記得帶雨具。
權利要求
1.一種智能氣候和交通狀況提醒系統,其特征在于該系統結構包括數據獲取模塊、數據處理分析模塊、用戶接口模塊、數據庫和外部軟硬件;數據獲取模塊從網絡上獲取數據后將數據存放到數據庫中,留待數據處理分析模塊對數據作進一步的分析和處理;數據處理分析模塊包含天氣分析和交通情況分析兩個子模塊,它從數據庫中獲取存放天氣和交通信息的XML文件,然后對其進行分析并提取出各種數據,再對照數據庫中的用戶設置,調用用戶接口模塊做出相應的結果返回1)天氣分析模塊主要用于分析獲取到的天氣情況信息并按照用戶設定做出處理;2)交通情況分析模塊主要在條件觸發下從數據庫獲取XML文件并進行分析,再對比用戶設定的規則提醒用戶,實現自動提前鬧鈴時間、自動路線推薦等功能;用戶接口模塊為一個中間接口模塊,一方面作為一個通用的接口提供給外部的軟硬件,如移動終端、各種監測儀器,外部模塊可以本模塊向本系統傳遞控制命令;另一個方面,該模塊接受來自數據處理分析模塊的結果信息,同時查找用戶配置,按照用戶設定的形式調用外部接口或是連接移動終端返回結構;數據庫存放著系統的各種數據,為系統各部分的運行提供規則和依據;外部軟硬件包括各種類型的用戶終端和監測系統,如手機、PDA、門禁系統等硬件系統及運行在其之上的各種應用軟件系統;當外部軟硬件受到觸發(用戶控制觸發、軟件定時觸發和開關觸發等等)時,它們會調用用戶接口模塊提供的各種函數接口,由用戶接口模塊動態生成數據獲取模塊、數據處理分析模塊的具體實例并執行相關的操作,完成數據獲取與分析的具體過程;然后,分析結果會被返回到用戶接口模塊并以用戶設定的方式返回到用戶終端或監測系統。
2.根據權利要求1所述的數字生活中智能氣候和交通狀況提醒系統,其特征在于所述數據獲取模塊可以采用頁面分析技術或者采用Web服務的方式實現。
3.根據權利要求1所述的數字生活中智能氣候和交通狀況提醒系統,其特征在于所述數據庫存放的數據分為1)用于存放系統數據采集的來源信息的數據源配置信息;2)來自于數據獲取模塊獲取的XML數據;3)包括各種天氣和交通情況下所采取的策略和返回的形式的用戶配置信息。
4.根據權利要求1或3所述的數字生活中智能氣候和交通狀況提醒系統,其特征在于所述規則結構采用條件、時間和操作的形式。
5.根據權利要求2所述的數字生活中智能氣候和交通狀況提醒系統,其特征在于所述對于采用頁面獲取和分析技術的數據獲取模塊設計,數據獲取過程步驟為A.數據獲取模塊讀取數據庫,獲取用戶配置的服務頁面鏈接地址;B.對鏈接地址發送HttpRequest;C.接收網站傳送過來的HttpResponse,提取出頁面數據;D.利用類庫的函數對頁面進行分析,提取感興趣的節點數據;E.對獲取的數據封裝成為特定格式的XML文件,傳送到數據庫。
6.根據權利要求2所述的數字生活中智能氣候和交通狀況提醒系統為,其特征在于所述對于使用Web服務的數據獲取設計,數據獲取過程步驟A.讀取數據庫,獲取服務描述文件;B.如果文件不存在,則獲取UDDI服務器地址,發送服務查找請求;C.從服務器獲取服務描述文件,存在入數據庫并繼續;D.如果描述文件存在,則根據服務描述調用服務,獲取數據。
全文摘要
本發明涉及一種利用xml、web service、頁面獲取與分析等網絡技術及數據庫技術,自動分析天氣預報和道路交通狀況,提醒用戶做出相應措施的智能氣候和交通狀況提醒系統。該系統包括數據獲取模塊、數據處理分析模塊、用戶接口模塊、數據庫和外部軟硬件等幾個部分。當外部軟硬件受到觸發時,會通過用戶接口模塊引發數據獲取模塊從網絡上獲取數據,然后由數據處理模塊根據數據庫存儲的各種配置處理獲取到的信息數據,最終再通過用戶接口模塊返回結果數據。利用本發明不僅可以采用現有的和正在發展的技術獲取天氣和交通信息,更能利用獲取的信息為用戶提供各種服務功能。
文檔編號G06F17/30GK1889110SQ200610036500
公開日2007年1月3日 申請日期2006年7月14日 優先權日2006年7月14日
發明者羅笑南, 林煜超 申請人:中山大學