本發(fā)明屬于互聯(lián)網(wǎng)技術領域,具體涉及一種基于角色的接口綜合性管理系統(tǒng)。
背景技術:
伴隨著互聯(lián)網(wǎng)和移動互聯(lián)網(wǎng)技術的快速發(fā)展,各種應用程序層出不窮。而不管是應用程序本身還是應用程序背后的支撐系統(tǒng)內(nèi)部,各個子系統(tǒng)、模塊之間的通信都是通過大量的接口調(diào)用實現(xiàn),因此應用程序的開發(fā)及使用過程中,不可避免地會調(diào)用大量接口。現(xiàn)有研發(fā)流程中對接口的管理主要采用以下如下方式。
1.功能測試:通過手工附帶參數(shù)請求接口,人工一層層查看接口出參是否符合約定來驗證接口功能;
2.文檔定義:接口文檔定義通過開發(fā)人員手工編輯文檔,一個字段一個字段地維護約定信息;
3.消息告知:當接口定義發(fā)生變更或接口測試發(fā)現(xiàn)問題時通過人工口頭告知或郵件方式向各使用方解釋變動細節(jié);
由于目前的研發(fā)流程中缺乏一套對接口進行綜合性管理的系統(tǒng)或方法。在大量接口應用過程中,普遍存在如下問題:
1.接口文檔的定義,每次都需要由生產(chǎn)方手動維護編輯,缺乏一套標準的接口定義術語并常常伴隨定義粒度不足和準確性有誤等問題;
2.開發(fā)聯(lián)調(diào)前,缺少對全量接口的自動化測試,一個龐大系統(tǒng)上線,待測試接口成百上千,都由測試人員手工一個個接口測試,測試覆蓋率和準確性都存在巨大隱患,嚴重影響開發(fā)效率和項目整體進度的推進;
3.接口定義變更時不能及時更新文檔并通知接口使用方,造成聯(lián)調(diào)時進度受阻;
4.接口測試中發(fā)現(xiàn)問題時不能第一時間由系統(tǒng)自動通知接口生產(chǎn)方;
5.接口維護方發(fā)生人員變動時無法及時平滑地完成交接。
技術實現(xiàn)要素:
為解決上述問題,本發(fā)明公開了一種基于角色的接口綜合性管理系統(tǒng),實現(xiàn)接口的角色歸屬,統(tǒng)一維護接口定義,對接口進行全粒度地自動化測試,自動化生成標準化的接口定義文檔和測試報告,當接口定義變更或測試發(fā)現(xiàn)問題時能夠由系統(tǒng)自動通知關聯(lián)人。
為了達到上述目的,本發(fā)明提供如下技術方案:
基于角色的接口綜合性管理系統(tǒng),包括:用戶角色管理模塊、接口信息的錄入與維護模塊、表單UI生成器、驗證測試模塊、分析引擎、消息通知模塊,所述用戶角色管理模塊用于管理用戶信息并對用戶登錄進行認證;所述接口信息錄入與維護模塊用于對每個接口的基本屬性、入?yún)⒑统鰠⒌刃畔⑦M行入庫和管理;所述使用者角色的驗證測試模塊用于根據(jù)當前入?yún)⒄埱笾付ōh(huán)境接口,經(jīng)過分析引擎分析后導出詳細的分析測試結果,如有異常則利用消息通知模塊自動通知關聯(lián)人;消息通知模塊用于實現(xiàn)接口異常通知功能和變更通知功能;
所述接口信息錄入與維護模塊
用于輸入和修改接口基本信息、入?yún)?、出參和測試樁,并進行保存,
用于調(diào)用表單UI生成器根據(jù)入?yún)⒑统鰠⑸伤泄?jié)點定義表單,入?yún)⒒虺鰠⒅忻總€字段當做一個節(jié)點:利用表單UI生成器,支持用戶手工添加節(jié)點,定義節(jié)點屬性信息的方式維護接口定義信息;或通過入?yún)⒒虺鰠⒌膉son數(shù)據(jù)結構,調(diào)用分析引擎得到節(jié)點分析指標項,以及節(jié)點位置信息,并自動生成所有節(jié)點定義表單;
所述分析引擎包括分配器、各個子類型分析器和校驗對比單元,所述分配器用于對參數(shù)進行解析,使json數(shù)據(jù)中的“對象”類型能原樣輸出為object類型而非array類型,在數(shù)據(jù)解析過程中保證類型信息不丟失,獲得經(jīng)過解析的對象的各個屬性類型,根據(jù)類型的不同分發(fā)到各自的分析器中;所述各子類型分析器用于獲取節(jié)點信息,獲得每個節(jié)點在json數(shù)據(jù)結構中的唯一位置和該節(jié)點的所有分析指標項;所述校驗對比單元用于將分析結果與之前保存的關于該接口的定義信息進行對比。
所述驗證測試模塊包括測試單元和訂閱單元,測試單元用于將當前入?yún)?shù)請求指定環(huán)境接口,經(jīng)過分析引擎分析,導出詳細的分析測試結果,如有異常則通過消息通知模塊自動周知關聯(lián)人,所述訂閱單元將使用方感興趣的接口記錄與用戶進行關聯(lián),訂閱成功后,當接口定義發(fā)生變更或測試發(fā)現(xiàn)異??杉皶r通知關聯(lián)用戶。
進一步的,所述用戶角色管理模塊包括系統(tǒng)自管單元和第三方用戶管理單元,所述系統(tǒng)自管單元由本系統(tǒng)自己實現(xiàn)用戶的注冊、登錄、組織結構等信息的錄入與維護,所述第三方用戶管理單元用于調(diào)用第三方用戶管理模塊進行用戶權限認證、用戶和組織結構基本信息的獲取。
進一步的,所述節(jié)點類型分為三類:根節(jié)點、標量節(jié)點和非標量節(jié)點,非標量節(jié)點支持添加子節(jié)點、刪除本節(jié)點、節(jié)點屬性維護、子節(jié)點展開和收起。
進一步的,所述每個節(jié)點的html結構均為動態(tài)浮動型,支持無限擴展。
進一步的,所述分配器解析時利用php語言中的json_decode ( string $json [, bool $assoc = false])方法對參數(shù)進行解析,保留該方法的第二位參數(shù)$assoc為false,使json數(shù)據(jù)中的對象類型能原樣輸出為object類型而非array類型。
進一步的,所述分配器將經(jīng)過解析的object對象通過get_object_vars方法將對象屬性轉換成關聯(lián)數(shù)組,再繼續(xù)通過遍歷,使用gettype方法獲取各個屬性類型,根據(jù)類型的不同分發(fā)到各自的分析器中。
進一步的,所述子類型分析器包括:boolean類型分析器、double類型分析、integer類型分析器、string類型分析器、object類型分析器、array類型分析器、null類型分析器。
進一步的,所述驗證測試模塊還包括所述列表檢索單元,列表檢索單元根據(jù)接口關鍵字或所屬部門信息檢索出目標接口。
與現(xiàn)有技術相比,本發(fā)明具有如下優(yōu)點和有益效果:
通過對接口出、入?yún)?shù)中層層字段類型和值限定范圍做最精細粒度的自動化解析,實現(xiàn)了基于用戶角色對接口實行分層管理和問題跟蹤;通過根據(jù)出、入?yún)⒆詣踊蓤D形化的接口定義錄入表單,方便用戶對復雜接口結構做出定義維護。同時,本發(fā)明利用MongoDb數(shù)據(jù)庫對接口分析結果進行快速存取,并通過消息模塊實現(xiàn)當檢測到接口定義發(fā)生變更或驗證測試接口發(fā)現(xiàn)問題時實時通知接口關聯(lián)人。本發(fā)明提供的管理系統(tǒng)能夠顯著降低接口開發(fā)維護成本,提高整體研發(fā)效率。
附圖說明
圖1為系統(tǒng)數(shù)據(jù)流程圖。
圖2為字段節(jié)點html結構設計圖。
圖3為分析引擎邏輯流程圖。
圖4為Boolean類型分析器結構圖。
圖5為double類型分析器結構圖。
圖6為integer類型分析器結構圖。
圖7為object類型分析器結構圖。
圖8為array類型分析器結構圖。
圖9為分析引擎中分配器、各類型分析器的具體處理流程圖。
圖10為消息通知模塊流程圖。
具體實施方式
以下將結合具體實施例對本發(fā)明提供的技術方案進行詳細說明,應理解下述具體實施方式僅用于說明本發(fā)明而不用于限制本發(fā)明的范圍。
本發(fā)明提供的基于角色的接口綜合性管理系統(tǒng)包括如下幾部分:用戶角色管理模塊、接口信息的錄入與維護模塊、表單UI生成器、驗證測試模塊、分析引擎、消息通知模塊。其中各模塊之間數(shù)據(jù)流程圖如圖1所示。用戶角色管理模塊用于管理用戶信息(新增、修改、刪除)并對用戶登錄進行認證;接口信息錄入與維護模塊用于對每個接口的基本屬性、入?yún)⒑统鰠⒌刃畔⑦M行入庫和管理;使用者角色的驗證測試模塊用于檢索目標接口,根據(jù)當前入?yún)?shù)請求指定環(huán)境接口,經(jīng)過分析引擎分析后導出詳細的分析測試結果,如有異常則利用消息通知模塊自動通知關聯(lián)人;消息通知模塊用于配合使用者角色的驗證測試模塊實現(xiàn)接口異常通知功能和變更通知功能。
用戶角色管理模塊主要包括兩個部分:一是系統(tǒng)內(nèi)自管的一套用戶角色、組織結構維護單元(以下簡稱“系統(tǒng)自管單元”);二是第三方用戶管理單元,該單元用于調(diào)用第三方用戶管理模塊,如各個公司內(nèi)的OA系統(tǒng)等。
系統(tǒng)自管單元由本系統(tǒng)自己實現(xiàn)用戶的注冊、登錄、組織結構等信息的錄入與維護。其中組織結構數(shù)據(jù)由系統(tǒng)超級管理員錄入,組織結構層級支持無限分級;由用戶在注冊界面填寫基本信息,如用戶名、密碼、郵箱、手機號碼、所屬部門等信息,提交保存入庫,完成注冊;用戶在登錄界面填寫賬號和密碼信息提交服務端驗證,驗證通過即可進入本系統(tǒng),登錄用戶可在個人中心維護編輯用戶信息,超級管理員可管理所有用戶基本信息和組織結構數(shù)據(jù)。
第三方用戶管理單元無需在本系統(tǒng)內(nèi)維護用戶和組織結構信息,而是利用第三方系統(tǒng)公開的接口完成用戶權限認證、用戶和組織結構基本信息的獲取。具體實現(xiàn)時,用戶在登錄界面填寫賬號信息,提交系統(tǒng)后,由系統(tǒng)將此信息發(fā)送第三方賬號驗證系統(tǒng)(如公司域賬號系統(tǒng)),如驗證成功則在本系統(tǒng)session中標示用戶登錄成功。除驗證用戶權限外,第三方用戶管理單元還應提供三方面功能,一是支持通過用戶名聯(lián)想相關用戶,二是根據(jù)用戶ID 和部門ID 獲取相應的詳細信息,三是能提供組織結構全量信息數(shù)據(jù);這些功能均通過與本系統(tǒng)調(diào)用的第三方用戶管理模塊進行交互實現(xiàn)。
登錄系統(tǒng)后可選擇接口生產(chǎn)者和使用者這兩種角色中的其中一種,每一種角色對應不同的功能區(qū)域,生產(chǎn)者對應接口信息與錄入模塊,使用者則對應驗證測試模塊。選擇不同角色即可使用相應模塊。
接口信息錄入與維護模塊主要包括以下幾個子功能單元:新增、刪除、檢索、修改(編輯),這些功能均在列表頁操作。列表頁上有新增按鈕,列表頁支持按照維護者或部門檢索,找出由本人或本部門提供支持的接口列表,每條記錄右側有編輯和刪除兩個操作按鈕,點擊“編輯”按鈕可對該接口的基本信息進行維護更新,“刪除”按鈕則直接刪除該接口信息;其中新增子單元用于新增接口數(shù)據(jù),具體包括接口基本信息、入?yún)?、出參和測試樁。接口信息錄入與維護模塊能夠根據(jù)接口數(shù)據(jù),利用表單UI生成器生成所有節(jié)點定義表單。在列表點擊“新增”按鈕,則進入接口信息維護表單頁,該表單頁中包括基本信息TAB頁、入?yún)⒑统鰠AB頁和測試樁TAB頁?;拘畔AB頁主要由接口名、維護者(默認當前登錄用戶)、請求方式、路由地址、所屬系統(tǒng)三字碼、各環(huán)境對應的地址等字段組成。在入?yún)⒑统鰠AB頁上利用表單UI生成器,用戶可通過手工一個個添加節(jié)點,定義節(jié)點屬性信息的方式維護接口定義信息,也可通過現(xiàn)成的入?yún)⒒虺鰠⒌膉son數(shù)據(jù)結構,通過“一鍵生成”的功能調(diào)用表單UI生成器自動生成所有節(jié)點定義表單;在測試樁TAB頁上可維護該接口多套測試樁數(shù)據(jù),方便不同訂閱者使用。在列表點擊“編輯”按鈕,同樣進入接口信息維護表單頁,頁面上TAB頁同新增功能,各字段讀取當前需要修改的接口數(shù)據(jù)并加以顯示。在新增或編輯之后,系統(tǒng)接受前臺表單傳遞的數(shù)據(jù),將接口基礎信息和自動生成的入?yún)?、出參表單整體結構數(shù)據(jù)保存msyql數(shù)據(jù)表api_info表中,將經(jīng)過表單UI生成器得到的入?yún)?、出參定義的信息以接口名為唯一鍵值保存進MongoDB中。
使用者角色的驗證測試模塊包括列表檢索單元、測試單元和訂閱單元。通過列表檢索單元,使用者可使用接口關鍵字或所屬部門信息檢索出目標接口。測試單元提供測試功能頁面,在該頁面上可使用該生產(chǎn)者提供的多套測試樁數(shù)據(jù),也支持使用者輸入自定義測試數(shù)據(jù)。點擊頁面中的“測試”按鈕,系統(tǒng)會將當前入?yún)⒄埱笾付ōh(huán)境接口,經(jīng)過分析引擎分析(獲得入?yún)ⅰ⒊鰠⒅懈髯侄危ü?jié)點)信息,將分析結果與之前接口定義進行比對分析),導出詳細的分析測試結果,如有異常則通過消息通知模塊自動周知關聯(lián)人。而訂閱單元可將使用方感興趣的接口記錄與用戶進行關聯(lián),并及時通知使用者訂閱記錄的變更信息。通過點擊接口記錄右側的訂閱按鈕,即可在“我的訂閱”單元中查看已關注的全部接口記錄,訂閱接口后,有關該接口的任何變更信息都會以郵件或短信的方式告知使用者,確保使用方第一時間獲取接口變更信息。
表單UI生成器將用戶已有的json數(shù)據(jù)傳入后端,由服務端腳本php分析數(shù)據(jù)結構,一層層遍歷解析節(jié)點屬性信息生成表單的html結構,并將默認節(jié)點的解析數(shù)據(jù)保存進入js對象中輸出前端,生成的表單結構和節(jié)點屬性信息,用戶可在前端根據(jù)需要繼續(xù)微調(diào),對表單進行進一步擴展。其主要包括兩方面功能,一是根據(jù)接口預設計文檔,通過人工的方式支持創(chuàng)建結構化的表單,將書面的接口定義維護進系統(tǒng);二是支持導入現(xiàn)有的接口入?yún)ⅰ⒊鰠⒅悄苌山Y構化錄入表單。
具體的說,本發(fā)明將入?yún)⒒虺鰠⒅忻總€字段都當做一個節(jié)點,并將節(jié)點類型分為三類:根節(jié)點、標量節(jié)點和非標量節(jié)點。非標量節(jié)點支持添加子節(jié)點、刪除本節(jié)點、節(jié)點屬性維護、子節(jié)點展開和收起。表單UI生成器獲得入?yún)?、出參后,調(diào)用分析引擎進行分析,獲得入?yún)ⅰ⒊鰠⒅懈髯侄危ü?jié)點)分析指標項,以及各字段(節(jié)點)位置信息,根據(jù)這些節(jié)點信息生成表單。
上述每個節(jié)點的html結構均設計為動態(tài)浮動型,支持無限擴展,節(jié)點結構如圖2所示,節(jié)點定義的信息以懸浮表單控件的方式維護,根據(jù)不同的節(jié)點類型,維護有所不同。每個節(jié)點的基礎信息均有字段名稱、值類型,而不同節(jié)點類型關于值的限定有所不同,例如boolean類型值限定真、假或無限制,integer類型限定值大小范圍:大于零、小于零或等于零,可多選;double類型可限定小數(shù)點位數(shù)等等,這些具體的值限定可根據(jù)實際項目需求繼續(xù)添加擴展。
前述的分析引擎通過遍歷將父節(jié)點位置一層層往下傳遞,直到目標節(jié)點,最終獲得位置信息及為該節(jié)點在JSON數(shù)據(jù)結構中的唯一位置,通過該位置可用于唯一確定并獲取該節(jié)點所有信息,并能夠獲得節(jié)點類型指標。分析引擎包括分配器、各個子類型分析器和校驗對比單元。其中分配器用于對參數(shù)進行解析,使json數(shù)據(jù)中的對象類型能原樣輸出為object類型而非array類型,在數(shù)據(jù)解析過程中保證類型信息不丟失,獲得經(jīng)過解析的對象的各個屬性類型,根據(jù)類型的不同分發(fā)到各自的分析器中。各子類型分析器用于獲取節(jié)點信息,獲得每個節(jié)點在json數(shù)據(jù)結構中的唯一位置和該節(jié)點的所有分析指標項。校驗對比單元用于將分析結果與之前保存的關于該接口的定義信息進行對比。具體流程如圖3所示。
分配器首先接收外部json類型入?yún)?,利用解析JSON數(shù)據(jù)結構的方法對參數(shù)進行解析。本發(fā)明實施例中利用php語言中的json_decode ( string $json [, bool $assoc = false])方法對參數(shù)進行解析,保留該方法的第二位參數(shù)$assoc為false,使json數(shù)據(jù)中的對象類型能原樣輸出為object類型而非array類型,確保在數(shù)據(jù)解析過程中類型信息不丟失。
隨后,分配器將經(jīng)過解析的object對象通過get_object_vars方法將對象屬性轉換成關聯(lián)數(shù)組,再繼續(xù)通過遍歷,使用gettype方法獲取各個屬性類型,根據(jù)類型的不同分發(fā)到各自的分析器中,獲得分析結果集合主要應用在表單UI生成器中根據(jù)分析結果自動生成接口定義的錄入表單;另外在使用者角色驗證測試接口時,將分析結果與之前接口定義進行比對分析,逐條列出參數(shù)中各個節(jié)點項的分析結果,如遇與定義不一致則列出異常并通過消息系統(tǒng)通知接口關聯(lián)人。
本發(fā)明根據(jù)目標json數(shù)據(jù)類型創(chuàng)建各個子類型分析器:boolean類型分析器、double類型分析、integer類型分析器、string類型分析器、object類型分析器、array類型分析器、null類型分析器。各子類型分析器用于獲取節(jié)點信息并與節(jié)點定義信息進行比較判斷,經(jīng)過分析器的處理,能夠獲得每個節(jié)點在json數(shù)據(jù)結構中的唯一位置和該節(jié)點的所有分析指標項。Boolean類型分析器的分析指標項有限定真、限定假、不限,分析器結構如圖4所示;double類型支持限定小數(shù)點位數(shù),指標項有是否限定小數(shù)點位數(shù)、小數(shù)點位數(shù)值、正則表達式,將實際返回結果與定義中的這些指標進行比較,不匹配則給出明細信息;分析器結構如圖5所示;integer類型支持大于零、小于零、等于零、不限、正則表達式幾項指標,將實際返回結果與定義中的這些指標進行比較,不匹配則給出明細信息;分析器結構如圖6所示;string類型支持分析自定義正則規(guī)則、是否為空;object類型分析器根據(jù)子項的類型繼續(xù)分發(fā)到其他類型分析器中,分析器結構如圖7所示,分析指標為是否為空;array類型分析器分析指標有判斷為空、item個數(shù),并將每個子項目分發(fā)到object類型分析器中繼續(xù)分析,分析器結構如圖8所示。 各類型的分析指標可自由添加,并不受本例具體指標限制。
校驗對比單元利用以上步驟中保存的接口定義信息對象,先將該對象轉換成數(shù)組類型,對數(shù)組元素進行遍歷,因為每個元素的定義結果都是以它本身的唯一位置為鍵值保存的,所以可根據(jù)此位置在實際的接口參數(shù)中快速定位尋找:
1.根據(jù)字段在定義中是否“必須含有”,“必須含有”的字段而在實際返回中未找到,則直接拋出異常,存在則繼續(xù)往下判斷;
2.判斷目標字段與定義中的類型信息是否匹配,如不匹配也直接拋出異常,類型匹配則繼續(xù)往下判斷;
以下舉例說明分析引擎中分配器、各類型分析器的具體處理流程,流程圖如圖9所示。
假設入?yún)ⅰ⒊鰠⒌膉son格式的數(shù)據(jù)結構如下:
{
"productId":210122643,
"canSell":true,
"price":123.69,
"adultQuantity" :2,
"childQuantity" : 1,
"segmentList":[
{
"dCityCode" : "2500",
"aCityCode" : "785095" ,
"departDate" : "2016-08-30"
}
],
"flightSessionId":"3c1018c7094329800162a6ad2f4833a3",
}
該參數(shù)中含有integer、double、array、object和string類型,分配器獲取當前節(jié)點類型,根據(jù)不同類型分流到各自類型分析器中進行處理;
我們以Object類型分析器為例,其內(nèi)部處理流程具體如下:
a)獲取當前節(jié)點鍵值和類型(根節(jié)點鍵值為空,可設置一個初始化值)作為object類型的原始分析結果,以節(jié)點位置為鍵值壓入“節(jié)點分析堆?!敝腥鐖D⑤;
b)以當前節(jié)點為id,并計算當前節(jié)點在表單展現(xiàn)偏左的距離位置,根節(jié)點初始化偏左距離可為0,子元素偏左距離每一層往下遞增,具體遞增幅度可自由設定,生成節(jié)點表單html代碼,也以節(jié)點位置為鍵值壓入“表單元素堆棧”中如圖④;
c)Object類型作為復合類型,在進行往下遍歷之前,先將對象屬性轉換成數(shù)組元素;
d)遍歷中獲取每個子元素的偏左距離,每往里一層便遞增一次,同一層中的節(jié)點偏左距離相等;結合父元素和子元素的鍵值獲取每個子節(jié)點在整個數(shù)據(jù)結構中的唯一位置;將這些信息連同子元素本身帶入分配器②中重新分流處理;
e)待子元素全部分析處理完畢,需要對object類型的表單元素進行收尾,壓入一個冗余的尾部表單節(jié)點元素到“表單元素堆棧”中,該對象屬性信息和b)步奏中基本類似,只是展現(xiàn)內(nèi)容不一樣,在object類型節(jié)點中的所有子元素在表單呈現(xiàn)上能呈現(xiàn)一個歸屬整體的效果;
integer類型分析器、string類型分析器、boolean類型分析器、double類型分析、object類型分析器、null類型分析器對于這些標量節(jié)點的分析具體處理步驟與object類型分析中的a、b步驟相同:
a)獲取當前節(jié)點鍵值和類型(根節(jié)點鍵值為空,可設置一個初始化值)作為object類型的原始分析結果,以節(jié)點位置為為鍵值壓入節(jié)點分析堆棧;
b)以當前節(jié)點為id,并計算當前節(jié)點在表單展現(xiàn)偏左的距離位置,根節(jié)點初始化偏左距離可為0,生成節(jié)點表單html代碼,也以節(jié)點位置為鍵值壓入表單元素堆棧中;
array類型分析器的處理流程同object類型的a、b、d、e步驟,只是中間省略步奏c,因其本身即為array類型無需轉換。
在一次接口分析過程中,利用所有節(jié)點壓入的表單元素堆棧能夠生成UI表單,供用戶操作編輯更新節(jié)點屬性信息,將用戶自定義信息維護到節(jié)點分析堆棧中,將最終的各個節(jié)點的定義信息入庫。
分析引擎主要應用在兩個地方,一是在表單UI生成器中,接收錄入的入?yún)?、出參分析各字段屬性信息用于初始化表單結構;二是在驗證測試接口時,對實際請求接口的入?yún)ⅰ⒊鰠⒏髯侄谓Y構和值進行分析,并與接口定義信息進行比較,將結果格式化導出,并將異常信息通過消息系統(tǒng)周知接口關聯(lián)人。
消息通知模塊功能流程如圖10,其主要用于實現(xiàn)兩種功能——異常通知功能和變更通知功能。異常通知功能是當接口訂閱者檢驗分析接口時發(fā)現(xiàn)問題或異常實時通知生產(chǎn)者和訂閱者;當用戶以使用者角色進入系統(tǒng),需要分析檢測某個接口時,由分析引擎對測試樁入?yún)⒑徒涌趯嶋H返回的出參進行分析,將分析結果與之前維護的接口定義進行比較,如發(fā)現(xiàn)異常,則通知消息模塊,消息模塊通過查詢對應接口的生產(chǎn)者信息,通過郵件或短信的方式及時告知生產(chǎn)者異常明細,當生產(chǎn)者處理完畢時又重新反饋周知到訂閱者。這里當檢測發(fā)現(xiàn)異常時同時將對應接口和異常插入待處理列表中,由系統(tǒng)腳本定期檢測異常清單,發(fā)現(xiàn)超過一定期限未處理的接口,則由消息模塊通過查詢組織結構信息,獲取生產(chǎn)者所在部門經(jīng)理或上級信息,將異常信息告知經(jīng)理及時處理。
本發(fā)明還進一步利用系統(tǒng)定時器Crontab工具實現(xiàn)定期檢查接口問題處理進度,超過一定時限未跟進處理的接口,則由系統(tǒng)直接通知該接口生產(chǎn)者的直屬上級,跟進盡快解決。
變更通知功能是生產(chǎn)者對接口定義信息進行變更時,系統(tǒng)可自動將變更信息郵件通知各使用方。當接口生產(chǎn)者由于業(yè)務需要對接口定義信息進行變更時,系統(tǒng)會自動分析出變更明細信息,將變更信息和對應的唯一接口名傳入消息系統(tǒng),消息模塊通過接口名查詢該接口訂閱者信息(主要是聯(lián)系方式),將變更明細信息通過郵件的方式周知所有訂閱者,并自動生成最新的接口定義文檔方面用戶查閱。
本發(fā)明方案所公開的技術手段不僅限于上述實施方式所公開的技術手段,還包括由以上技術特征任意組合所組成的技術方案。應當指出,對于本技術領域的普通技術人員來說,在不脫離本發(fā)明原理的前提下,還可以做出若干改進和潤飾,這些改進和潤飾也視為本發(fā)明的保護范圍。