新四季網

面向AJAX協議的OpenApi數據自動加載系統的製作方法

2023-05-07 21:43:11

專利名稱:面向AJAX協議的OpenApi數據自動加載系統的製作方法
技術領域:
本發明涉及計算器領域中的數據處理技術,特別是涉及一種數據的自動加載系 統。
背景技術:
OpenApi是一套開放應用程式編程接口,提供商根據自己網站提供的服務,通過這 些接口讓用戶能夠通過程序的方式訪問自己的數據和平臺。AJAX是指異步JavaScript及XML,是一種基於JavaScript和HTTP請求的在不重 載頁面的情況下,動態的實現與Web伺服器直接通信的新技術。AJAX的目標就是做更快,更 好,交互性更強的Web應用。隨著諸如Google,Amazon,搜狐、雅虎中國等國內外一批著名的網際網路企業將自己 的應用接口開放出來,OpenApi作為網際網路在線服務的發展基礎,已經成為越來越多網際網路 企業發展服務的必然選擇。而AJAX作為OpenApi的一種實現技術,能夠實現動態的JS效 果。這是其他協議的OpenApi所望塵莫及的,因而被更多的服務提供商所廣泛的應用,其中 影響力最大的當屬GoogleMap。隨著面向AJAX協議的OpenApi的發布數量不斷增加,它的存在也開始暴露出越來 越多的問題。其中最為顯著的一個問題就是OpenApi數量的急劇膨脹給OpenApi信息的收 集和管理帶來了很大的困難。目前,網際網路上的面向AJAX協議的OpenApi信息呈現出以下特點1)缺乏統一的規範和標準。由於目前OpenApi剛剛興起,各個服務提供商都是基 於自身的Web服務模式推出了應用程式的接口,不同服務商之間缺乏一個統一的規範和標 準,這使得OpenApi信息在不同服務商之間呈現出多樣化的特點。這為OpenApi信息的收 集和整合帶來了很大的困難。2)缺乏嚴格的語法,語義支持。目前,網際網路上絕大多數的OpenApi的信息都是以 網頁或文檔的形式提供給開發技術人員的,缺乏語法,語義信息,這使得計算機處理起來十 分困難。3)數量巨大。隨著國內外一大批著名的網際網路企業相繼推出了自己的應用程式接 口,OpenApi在網際網路企業中如雨後春筍快速推廣。目前已知的OpenApi數目就已經超過 了 1000個,而其中面向AJAX協議的OpenApi數量巨大。手工的方式收集和整理已經不切 實際,需要計算機的幫助來完成數據的收集與整合。4)更新速度快。由於網際網路上的各種服務更新周期短,速度快,這使得OpenApi的 信息必須得到及時的更新,傳統的手工加載方式已經很難做到,必須利用計算機定時的更 新OpenApi的信息。鑑於網際網路上面向AJAX協議的OpenApi信息具有以上特點,本發明的發明人同 時也是OpenApi開放平臺的資料庫構建者之一,從實際經驗出發,根據面向AJAX協議的 OpenApi的基本原理和調用機制,設計了一套面向AJAX協議的OpenApi數據自動加載方法。

發明內容
基於上述技術問題,本發明提出了一種面向AJAX協議的OpenApi數據自動加載 系統,通過用戶提供正則表達式,對不規範的文檔和網頁建立統一的語法結構、賦予語義信 息,使得計算機快速準確的收集並管理OpenApi的信息,主動獲取網際網路上各種面向AJAX 協議的開放API的信息,並將它們加載進資料庫,構建面向AJAX協議的OpenApi開放平臺 的原始資料庫,實現自動解析以網頁、文檔或其他方式給出的面向AJAX協議的OpenApi的 信息、自動加載已經解析好的面向AJAX協議的OpenApi信息進入資料庫、定時更新面向 AJAX協議的OpenApi信息,以確保信息的準確性。本發明提出了一種面向AJAX協議的OpenApi數據自動加載系統,包括主動抓取模 塊、用戶註冊模塊、信息審核模塊,以及包括根據ApiHome獲取服務提供商提供的API開發 文檔的HTML源碼、Api基本信息包括Api類信息、Api方法信息、Api參數信息在內的數 據,其中主動抓取模塊,用於該系統的原始數據的收集和已有信息的更新與維護,獲取Api 基本信息列表的HTML源碼;構造正則表達式;利用匹配屬性標籤的方法對以網頁形式給出 的OpenApi信息建立語法結構,賦予語義信息;從而獲得該Api的基本信息。根據基本信息 中的ApiHome獲取服務提供商所提供的OpenApi的開發文檔。通過構造正則表達式匹配屬 性標籤解析該文檔獲得OpenApi的類,方法,參數等信息,從而生成OpenApi類。用戶註冊模塊,用於實現OpenApi註冊,利用面向AJAX協議的OpenApi信息的規 範,以HTML的形式存儲OpenApi信息,系統用戶有兩種方式註冊新的OpenApi —種方式是 用戶下載規範模板,離線編寫要註冊的OpenApi的HTML文檔;用戶提交的HTML文檔經過 正則表達式匹配屬性標籤生成相應的OpenApi類;另一種方式是用戶可以通過在線填寫表 單,直接生成OpenApi類。信息審核模塊,用於對OpenApi信息進行管理員審核和功能審核,將審核過的 OpenApi加載進資料庫其中管理員審核是系統的維護人員對於OpenApi的管理性審核,功 能審核是對OpenApi的可用性和有效性的檢驗,防止垃圾數據進入資料庫;經過測試調用, 將審核過的OpenApi交付給資料庫操作接口,由其負責將OpenApi加載進資料庫。與現有技術相比,本發明的面向AJAX協議的OpenApi數據自動加載系統可以將互 聯網上不同的服務提供商所提供的面向AJAX協議的OpenApi建立關係資料庫模型,加載進 關係資料庫;而且可以定時的更新OpenApi信息。使用本發明設計的HTML文檔形式存儲 OpenApi信息具有以下3個優點即標準的HTML文檔,有利於計算機處理;文檔定義簡單易 懂,易於書寫;HTML文檔,有利於服務提供商向第三方開發人員展示。


圖1為本發明的系統功能模塊圖;圖2為本發明的主動抓取模塊程序流程圖;圖3為本發明的用戶註冊模塊流程圖;圖4為本發明的信息審核模塊流程圖。
具體實施例方式圖1為本發明的系統功能模塊圖,該系統包括主動抓取模塊11、用戶註冊模塊12、 信息審核模塊13,以及該系統所要用到的各種數據,包括根據ApiHome獲取服務提供商提 供的API開發文檔的HTML源碼、Api基本信息包括Api類信息、Api方法信息、Api參數信 肩、o主動抓取模塊11,用於該系統的原始數據的收集和已有信息的更新與維護首先獲取Api基本信息列表的HTML源碼;構造正則表達式;利用匹配屬性標籤的 方法對以網頁形式給出的OpenApi信息建立語法結構,賦予語義信息;從而獲得該Api的基 本信息。根據基本信息中的ApiHome獲取服務提供商所提供的OpenApi的開發文檔。通過 構造正則表達式匹配屬性標籤解析該文檔獲得OpenApi的類,方法,參數等信息,從而生成 OpenApi 類。該模塊的另一個功能是實現已有OpenApi信息的維護和更新。通過定時的主動獲 取OpenApi信息來保證OpenApi信息的可用性和有效性。用戶註冊模塊12,用於為該系統提供開放性的功能,允許用戶以多種方式註冊 OpenApi。本發明設計了一套面向AJAX協議的OpenApi信息的規範,以HTML的形式存儲 OpenApi信息。一方面利於計算機處理,另一方面也利於服務提供商向第三方開發人員進行 展示。系統用戶有兩種方式註冊新的OpenApi。一種方式是用戶可以下載規範模板,離線編 寫要註冊的OpenApi的HTML文檔。用戶提交的HTML文檔經過正則表達式匹配屬性標籤生 成相應的OpenApi類。另一種方式是用戶可以通過在線填寫表單,直接生成OpenApi類。信息審核模塊13,用於實現兩個功能,一是對OpenApi信息進行管理員審核和功 能審核,另外一個是將審核過的OpenApi加載進資料庫。管理員審核是系統的維護人員對 於OpenApi的管理性審核,而功能審核是對OpenApi的可用性和有效性的檢驗,防止垃圾數 據進入資料庫。經過測試調用,將審核過的OpenApi交付給資料庫操作接口,由其負責將 OpenApi加載進資料庫。本發明是用JAVA語言編寫的,在Eclips環境下開發的。如圖2所示,為本發明的主動抓取模塊流程圖,該模塊主要採用正則表達式匹配 技術,數據持久化技術,配置文件技術來實現。本模塊的具體流程如下具體算法流程如下 步驟1,獲取OpenApi基本信息的HTML源碼,記為S1,並設置i = 0 ;步驟2,標籤庫中該Api基本信息所對應的正則表達式中是否存在第i條正則表達 式,若存在則讀取該正則表達式記為R1,轉向步驟3 ;若不存在,則轉步驟6 ;步驟3,利用 Pattern, compile 編輯 R1 ;步驟4,利用 Pattern, matcher 對 SI 進行匹配;步驟5,利用matcher, group 0獲得匹配的內容,賦給S1,並存入數組 Arraylist[i]中,i++,轉向步驟 2 ;步驟6,遍歷 Arraylist □,獲取 ApiHome ;步驟7,利用ApiHome獲取該Api的開發文檔的HTML源碼,記為S2 ;並設置j = 0 ;步驟8,標籤庫中該Api調用信息所對應的正則表達式中是否存在第j條正則表達式,若存在則讀取該正則表達式記為R2,轉向步驟9 ;若不存在則轉向步驟12 ;步驟9,利用 Pattern, compile 編輯 R2 ;步驟10,利用 Pattern, matcher 對 S2 進行匹配;步驟11 利用Matcher, group 0獲得匹配的內容,賦給S2,並存入數組 Arraylist_call[j]中,j++,轉向步驟 8 ;步驟12 遍歷Arraylist_call[]與Hibernate生成的Api類中的屬性進行—— 匹配,將Arraylist_call[]中的值賦給Api類中的對應屬性;步驟13:生成Api類。本系統利用Hibernate建立了關係資料庫與類之間的關係映射,最終生成的 OpenApi類中的信息的組織形式即為關係數據模型;本模塊的重點在於對服務提供商所提供的形式各異的OpenApi開發文檔進行解 析,利用正則表達式匹配技術來實現該功能。為了最大程度的實現代碼復用,將正則表達式 寫在一個單獨的JAVA文件中,這樣,如果服務提供商所提供的OpenApi開發文檔的語法結 構發生變化,我們只需要修改配置文件中的正則表達式即可,不需要修改程序,最大程度提 高了代碼的通用性。如圖3所示,為本發明的用戶註冊模塊,針對AJAX協議的OpenApi設計了一套規 範,並且這些規範都以HTML的形式存儲。本模塊的具體實現流程如下步驟1,用戶註冊新的OpenApi ;步驟2,需要用戶提交系統規定的HTML文檔;步驟3,判斷用戶是否已具有規定的HTML文檔;如果用戶已具有規定的HTML文 檔,則轉到步驟4 ;如果不具有規定的HTML文檔,則轉到步驟8 ;步驟4,提交該HTML文檔;步驟5,利用正則表達式解析該HTML文檔;步驟6,在提交HTML文檔後,系統利用正則表達式對屬性標籤進行一一匹配,判斷 是否匹配成功,如果全部匹配成功,轉至步驟7 ;步驟7,生成OpenApi類;如果匹配失敗,說明提交的HTML存在語法錯誤,轉至步 驟2;步驟8,判斷是否在線填寫HTML文檔;如果是,轉到步驟9 ;如果否,轉到步驟11 ;步驟9,根據協議類型下載系統提供的HTML模板;步驟10,離線編輯新註冊的OpenApi的HTML文檔,轉到步驟4 ;步驟11,根據指示填寫表單;步驟12,生成HTML文擋,並轉到步驟4。本系統為沒有HTML文檔的用戶提供了兩種方式生成HTML文檔,一種是向用戶提 供指定協議的模板,供用戶可以離線的編寫。另一種方式是用戶通過在線填寫表單,系統幫 助用戶生成HTML文檔。在提交HTML文檔後,系統利用正則表達式對屬性標籤進行一一匹 配,如果全部匹配成功,則生成OpenApi類。如果匹配失敗,說明提交的HTML存在語法錯誤。 這樣就利用正則表達式為OpenApi的信息建立了統一的語法結構和語義標註。系統就可以 將雜亂無序的OpenApi信息轉化為關係數據模型了。如圖4所示,為本發明的信息審核模塊,用於收集OpenApi信息的可用性和有效性的檢驗以及將它們加載入庫的工作,主要用到了接口封裝技術和測試調用技術。具體的流 程包括以下步驟步驟1,調用用戶提交時的測試代碼程序;步驟2,判斷調用是否成功?成功,則轉到步驟3 ;不成功,則轉到步驟8 ;步驟3,提交管理員審核,步驟4,判斷是否通過審核;通過,則轉到步驟5 ;未通過,則提示錯誤,結束步驟5,加載 AJAXDA0 ;步驟6,是否加載成功,不成功,則轉到步驟5 ;成功,則轉到步驟步驟7,提示加載成功,流程結束;步驟8,該Ap i是無效的。本系統為了盡最大的可能降低模塊之間的耦合,對資料庫操作接口進行了封裝, 其中AJAXDA0負責完成對AJAX協議的OpenApi的資料庫操作。為了確保進入資料庫的 OpenApi數據的有效性和可用性,本系統需要在信息進入資料庫之前,對OpenApi進行在線 測試。從用例庫裡提取代碼程序,運行看是否結果出錯。主要驗證該服務是否還繼續可用。
8
權利要求
一種面向AJAX協議的OpenApi數據自動加載系統,包括主動抓取模塊、用戶註冊模塊、信息審核模塊,以及包括根據ApiHome獲取服務提供商提供的API開發文檔的HTML源碼、Api基本信息包括Api類信息、Api方法信息、Api參數信息在內的數據,其中主動抓取模塊,用於該系統的原始數據的收集和已有信息的更新與維護,獲取Api基本信息列表的HTML源碼;構造正則表達式;利用匹配屬性標籤的方法對以網頁形式給出的OpenApi信息建立語法結構,賦予語義信息;從而獲得該Api的基本信息。根據基本信息中的ApiHome獲取服務提供商所提供的OpenApi的開發文檔。通過構造正則表達式匹配屬性標籤解析該文檔獲得OpenApi的類,方法,參數等信息,從而生成OpenApi類。用戶註冊模塊,用於實現OpenApi註冊,利用面向AJAX協議的OpenApi信息的規範,以HTML的形式存儲OpenApi信息,系統用戶有兩種方式註冊新的OpenApi一種方式是用戶下載規範模板,離線編寫要註冊的OpenApi的HTML文檔;用戶提交的HTML文檔經過正則表達式匹配屬性標籤生成相應的OpenApi類;另一種方式是用戶可以通過在線填寫表單,直接生成OpenApi類。信息審核模塊,用於對OpenApi信息進行管理員審核和功能審核,將審核過的OpenApi加載進資料庫其中管理員審核是系統的維護人員對於OpenApi的管理性審核,功能審核是對OpenApi的可用性和有效性的檢驗,防止垃圾數據進入資料庫;經過測試調用,將審核過的OpenApi交付給資料庫操作接口,由其負責將OpenApi加載進資料庫。
2.如權利要求1所述的面向AJAX協議的OpenApi數據自動加載系統,所述主動抓取模 塊具體包括以下流程步驟(1),獲取OpenApi基本信息的HTML源碼,記為S1,並設置i = 0 ; 步驟(2),標籤庫中該Api基本信息所對應的正則表達式中是否存在第i條正則表達 式,若存在則讀取該正則表達式記為R1,轉向步驟3 ;若不存在,則轉步驟6 ; 步驟(3),利用 Pattern, compile 編輯 R1 ; 步驟(4),利用Pattern, matcher 對SI進行匹配;步驟(5),利用matcher, group 獲得匹配的內容,賦給S1,並存入數組Arraylist [i] 中,i++,轉向步驟2 ;步驟(6),遍歷 Arraylist [],獲取 ApiHome ;步驟(7),利用ApiHome獲取該Api的開發文檔的HTML源碼,記為S2 ;並設置j = 0 ; 步驟(8),標籤庫中該Api調用信息所對應的正則表達式中是否存在第j條正則表達 式,若存在則讀取該正則表達式記為R2,轉向步驟9 ;若不存在則轉向步驟12 ; 步驟(9),利用 Pattern, compile 編輯 R2 ; 步驟(10),利用Pattern, matcher 對S2進行匹配;步驟(11)利用Matcher, group 獲得匹配的內容,賦給S2,並存入數組Arraylist_ call[j]中,j++,轉向步驟8 ;步驟(12)遍歷Arraylist_call[]與Hibernate生成的Api類中的屬性進行——匹 配,將Arraylist_call[]中的值賦給Api類中的對應屬性; 步驟(13)生成Api類。
3.如權利要求1所述的面向AJAX協議的OpenApi數據自動加載系統,所述用戶註冊模 塊具體包括以下流程步驟(1),用戶註冊新的OpenApi ;步驟(2),需要用戶提交系統規定的HTML文檔;步驟(3),判斷用戶是否已具有規定的HTML文檔;如果用戶已具有規定的HTML文檔, 則轉到步驟(4);如果不具有規定的HTML文檔,則轉到步驟(8); 步驟(4),提交該HTML文檔; 步驟(5),利用正則表達式解析該HTML文檔;步驟(6),在提交HTML文檔後,系統利用正則表達式對屬性標籤進行一一匹配,判斷是 否匹配成功,如果全部匹配成功,轉至步驟(7);步驟(7),生成OpenApi類;如果匹配失敗,說明提交的HTML存在語法錯誤,轉至步驟⑵;步驟(8),判斷是否在線填寫HTML文檔;如果是,轉到步驟(9);如果否,轉到步驟 (11);步驟(9),根據協議類型下載系統提供的HTML模板;步驟(10),離線編輯新註冊的OpenApi的HTML文檔,轉到步驟4 ;步驟(11),根據指示填寫表單;步驟(12),生成HTML文擋,並轉到步驟(4)。
4.如權利要求1所述的面向AJAX協議的OpenApi數據自動加載系統,所述用戶註冊模 塊具體包括以下流程步驟(1),調用用戶提交時的測試代碼程序;步驟(2),判斷調用是否成功?成功,則轉到步驟(3);不成功,則轉到步驟⑶; 步驟(3),提交管理員審核,步驟(4),判斷是否通過審核;通過,則轉到步驟(5);未通過,則提示錯誤,結束; 步驟(5),加載AJAXDA0;步驟(6),是否加載成功,不成功,則轉到步驟5 ;成功,則轉到步驟 步驟(7),提示加載成功,流程結束; 步驟(8),該Api是無效的。
全文摘要
本發明公開了一種面向AJAX協議的OpenApi數據自動加載系統,包括主動抓取模塊、用戶註冊模塊、信息審核模塊,以及包括根據ApiHome獲取服務提供商提供的API開發文檔的HTML源碼、Api基本信息包括Api類信息、Api方法信息、Api參數信息在內的數據,與現有技術相比,本發明可以定時的更新OpenApi信息。同時,使用本發明設計的HTML文檔形式存儲OpenApi信息具有以下優點即標準的HTML文檔,有利於計算機處理;文檔定義簡單易懂,易於書寫;HTML文檔,有利於服務提供商向第三方開發人員展示。
文檔編號G06F9/44GK101976188SQ20101018357
公開日2011年2月16日 申請日期2010年5月26日 優先權日2010年5月26日
發明者馮志勇, 郭憶, 陳世展, 韓冷 申請人:天津大學

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀