基于Http協(xié)議的系統(tǒng)間無耦合集成模擬方法及系統(tǒng)的制作方法
【專利摘要】一種基于Http協(xié)議的系統(tǒng)間無耦合集成模擬方法及系統(tǒng),該方法通過接收客戶端發(fā)送的系統(tǒng)集成操作請求信息,在目標業(yè)務(wù)系統(tǒng)數(shù)據(jù)庫中查找與所述系統(tǒng)集成操作請求信息相對應(yīng)的數(shù)據(jù),并分別將每條所述數(shù)據(jù)封裝在一個數(shù)據(jù)對象中,傳輸給客戶端并在客戶端上展示;同時接收錄入操作信息的數(shù)據(jù)對象,并進行拆分成目標操作數(shù)據(jù)發(fā)送給所述目標業(yè)務(wù)系統(tǒng)數(shù)據(jù)庫。系統(tǒng)包括信息接收單元、數(shù)據(jù)查找單元、數(shù)據(jù)封裝單元、數(shù)據(jù)對象發(fā)送單元、數(shù)據(jù)拆分單元和目標操作數(shù)據(jù)傳輸單元。本發(fā)明實現(xiàn)了無耦合的系統(tǒng)集成,在不會對原系統(tǒng)構(gòu)成安全威脅的情況想既能解決系統(tǒng)間重復(fù)錄入的問題也保證了原有系統(tǒng)的安全,并且應(yīng)用場景靈活多樣。
【專利說明】基于Http協(xié)議的系統(tǒng)間無耦合集成模擬方法及系統(tǒng)
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及一種系統(tǒng)集成方法及系統(tǒng),具體地說是一種基于Http協(xié)議的系統(tǒng)間無耦合集成模擬方法及系統(tǒng)。
【背景技術(shù)】
[0002]隨著公司提升信息化水平計劃的穩(wěn)步執(zhí)行,各業(yè)務(wù)條線的信息系統(tǒng)呈井噴式陸續(xù)上線,極大提升了企業(yè)員工的工作效率和公司的信息化水平。但同時一些系統(tǒng)間存在功能重復(fù)建設(shè)以及數(shù)據(jù)重復(fù)錄入等現(xiàn)象,并且部分崗位員工在日常工作中需面對多套系統(tǒng),信息系統(tǒng)的增加反而又增加了部分員工的工作負擔(dān)。
[0003]針對這一普遍現(xiàn)象,通常的解決方案無非以下幾種:1)部署公司信息門戶,實現(xiàn)各系統(tǒng)在門戶系統(tǒng)的單點登錄,用戶在登錄門戶系統(tǒng)后,無需再進行其他系統(tǒng)的登錄即可直接進入各系統(tǒng)操作界面;2)信息門戶中實現(xiàn)各系統(tǒng)界面的嵌入,常用操作無需進入原系統(tǒng)即可完成;3)開發(fā)系統(tǒng)間接口,或通過開放數(shù)據(jù)庫連接,實現(xiàn)系統(tǒng)數(shù)據(jù)集成。
[0004]上述解決方案雖然能夠改善大部分的系統(tǒng)孤島問題,但在以下情況下,現(xiàn)有的方案無法有效解決問題:1)系統(tǒng)功能重復(fù)建設(shè)以及數(shù)據(jù)重復(fù)錄入問題,兩套或多套系統(tǒng)均有維護某信息的功能與界面,需要實現(xiàn)用戶一次界面提交,多個系統(tǒng)均完成數(shù)據(jù)錄入的效果;2)所需求的功能界面原系統(tǒng)并不存在,無法通過嵌入的方式進行集成;3)系統(tǒng)因統(tǒng)一部署等原因無法進行接口開發(fā),只能通過第三方系統(tǒng)實現(xiàn)功能或界面的集成;4)公司或業(yè)務(wù)部門處于安全性的考慮,不允許對外開發(fā)數(shù)據(jù)接口甚至數(shù)據(jù)庫連接。
[0005]B/S架構(gòu)的信息系統(tǒng)是基于HTTP協(xié)議進行用戶瀏覽器端與系統(tǒng)服務(wù)器端的信息傳遞的,因此,如果能夠在http協(xié)議層次模擬用戶操作時瀏覽器的請求行為,即可進行與系統(tǒng)服務(wù)器的溝通。在不需要對原系統(tǒng)做任何改動的基礎(chǔ)上,實現(xiàn)對原系統(tǒng)的數(shù)據(jù)獲取以及數(shù)據(jù)錄入,這就是本申請著力解決的問題。
【發(fā)明內(nèi)容】
[0006]為克服上述現(xiàn)有技術(shù)存在的不足,本發(fā)明提供了一種基于Http協(xié)議的系統(tǒng)間無耦合集成模擬方法及系統(tǒng),不僅能夠充分利用既有系統(tǒng)實現(xiàn)多個系統(tǒng)界面優(yōu)化及模擬錄入,而且能夠解決系統(tǒng)間重復(fù)錄入的問題。
[0007]本發(fā)明解決其技術(shù)問題所采取的技術(shù)方案是:一種基于Http協(xié)議的系統(tǒng)間無耦合集成模擬方法,其特征是,包括:
接收客戶端發(fā)送的系統(tǒng)集成操作請求信息;
在目標業(yè)務(wù)系統(tǒng)數(shù)據(jù)庫中查找與所述系統(tǒng)集成操作請求信息相對應(yīng)的數(shù)據(jù);
分別將每條所述數(shù)據(jù)封裝在一個數(shù)據(jù)對象中;
將所述數(shù)據(jù)對象傳輸給客戶端并在客戶端上展示;
接收錄入操作信息的數(shù)據(jù)對象;
將帶有操作信息的數(shù)據(jù)對象進行拆分成目標操作數(shù)據(jù); 將所述目標操作數(shù)據(jù)發(fā)送給所述目標業(yè)務(wù)系統(tǒng)數(shù)據(jù)庫。
[0008]優(yōu)選地,所述系統(tǒng)集成操作請求包括模擬請求的地址及方法、請求傳遞的數(shù)據(jù)和用戶會話信息。
[0009]優(yōu)選地,所述在客戶端上展示的數(shù)據(jù)對象為或json格式報表。
[0010]一種基于Http協(xié)議的系統(tǒng)間無耦合集成模擬系統(tǒng),其特征是,包括:
信息接收單元,用于接收客戶端發(fā)送的系統(tǒng)集成操作請求信息及錄入操作信息的數(shù)據(jù)對象;
數(shù)據(jù)查找單元,與所述信息接收單元連接,用于在目標業(yè)務(wù)系統(tǒng)數(shù)據(jù)庫中查找與所述系統(tǒng)集成操作請求信息相對應(yīng)的數(shù)據(jù);
數(shù)據(jù)封裝單元,與所述數(shù)據(jù)查找單元連接,用于分別將每條所述數(shù)據(jù)封裝在一個數(shù)據(jù)對象中;
數(shù)據(jù)對象發(fā)送單元,與所述數(shù)據(jù)封裝單元連接,用于將所述數(shù)據(jù)對象傳輸給客戶端并在客戶端上展示;
數(shù)據(jù)拆分單元,與所述信息接收單元連接,用于將帶有操作信息的數(shù)據(jù)對象進行拆分成目標操作數(shù)據(jù);
目標操作數(shù)據(jù)傳輸單元,與所述數(shù)據(jù)拆分單元連接,用于將所述目標操作數(shù)據(jù)發(fā)送給所述目標業(yè)務(wù)系統(tǒng)數(shù)據(jù)庫。
[0011]優(yōu)選地,所述系統(tǒng)集成操作請求包括模擬請求的地址及方法、請求傳遞的數(shù)據(jù)和用戶會話信息。
[0012]優(yōu)選地,所述在客戶端上展示的數(shù)據(jù)對象為或json格式報表。
[0013]本發(fā)明的有益效果是:1)本發(fā)明無需對原系統(tǒng)任何改動就可以實現(xiàn)無耦合的系統(tǒng)集成,實現(xiàn)對原系統(tǒng)的數(shù)據(jù)獲取以及數(shù)據(jù)錄入,能夠滿足原系統(tǒng)無法進行接口開發(fā)的情況;
2)不會對原系統(tǒng)構(gòu)成安全威脅,甚至無需原系統(tǒng)提供測試環(huán)境,既能解決系統(tǒng)間重復(fù)錄入的問題,也保證了原有系統(tǒng)的安全;3)應(yīng)用場景靈活多樣,有效解決系統(tǒng)重復(fù)錄入的問題,實現(xiàn)統(tǒng)一界面一體化操作、跨系統(tǒng)流程流轉(zhuǎn)、跨系統(tǒng)業(yè)務(wù)數(shù)據(jù)綜合分析等。
【專利附圖】
【附圖說明】
[0014]下面結(jié)合附圖對本發(fā)明進一步說明:
圖1是本發(fā)明的方法流程圖;
圖2是本發(fā)明的系統(tǒng)結(jié)構(gòu)示意圖;
圖3是本發(fā)明對原系統(tǒng)進行數(shù)據(jù)獲取的流程示意圖;
圖4是本發(fā)明對原系統(tǒng)進行數(shù)據(jù)錄入的流程示意圖。
【具體實施方式】
[0015]如圖1所示,本發(fā)明的一種基于Http協(xié)議的系統(tǒng)間無耦合集成模擬方法,它包括以下步驟:
Si,接收客戶端發(fā)送的系統(tǒng)集成操作請求信息,所述系統(tǒng)集成操作請求包括模擬請求的地址及方法、請求傳遞的數(shù)據(jù)和用戶會話信息;
S2,在目標業(yè)務(wù)系統(tǒng)數(shù)據(jù)庫中查找與所述系統(tǒng)集成操作請求信息相對應(yīng)的數(shù)據(jù); S3,分別將每條所述數(shù)據(jù)封裝在一個數(shù)據(jù)對象中;
S4,將所述數(shù)據(jù)對象傳輸給客戶端并在客戶端上展示,所述在客戶端上展示的數(shù)據(jù)對象為Html、xml或json格式報表;
S5,接收錄入操作信息的數(shù)據(jù)對象;
S6,將帶有操作信息的數(shù)據(jù)對象進行拆分成目標操作數(shù)據(jù);
S7,將所述目標操作數(shù)據(jù)發(fā)送給所述目標業(yè)務(wù)系統(tǒng)數(shù)據(jù)庫。
[0016]如圖2所示,本發(fā)明的一種基于Http協(xié)議的系統(tǒng)間無耦合集成模擬系統(tǒng),它包括:
信息接收單元,用于接收客戶端發(fā)送的系統(tǒng)集成操作請求信息及錄入操作信息的數(shù)據(jù)對象,所述系統(tǒng)集成操作請求包括模擬請求的地址及方法、請求傳遞的數(shù)據(jù)和用戶會話信息;
數(shù)據(jù)查找單元,與所述信息接收單元連接,用于在目標業(yè)務(wù)系統(tǒng)數(shù)據(jù)庫中查找與所述系統(tǒng)集成操作請求信息相對應(yīng)的數(shù)據(jù);
數(shù)據(jù)封裝單元,與所述數(shù)據(jù)查找單元連接,用于分別將每條所述數(shù)據(jù)封裝在一個數(shù)據(jù)對象中;
數(shù)據(jù)對象發(fā)送單元,與所述數(shù)據(jù)封裝單元連接,用于將所述數(shù)據(jù)對象傳輸給客戶端并在客戶端上展示,所述在客戶端上展示的數(shù)據(jù)對象為Html、xml或json格式報表;
數(shù)據(jù)拆分單元,與所述信息接收單元連接,用于將帶有操作信息的數(shù)據(jù)對象進行拆分成目標操作數(shù)據(jù);
目標操作數(shù)據(jù)傳輸單元,與所述數(shù)據(jù)拆分單元連接,用于將所述目標操作數(shù)據(jù)發(fā)送給所述目標業(yè)務(wù)系統(tǒng)數(shù)據(jù)庫。
[0017]B/S架構(gòu)的信息系統(tǒng)是基于HTTP協(xié)議進行用戶瀏覽器端與系統(tǒng)服務(wù)器端的信息傳遞的,http是一個基于請求與響應(yīng)模式的、無狀態(tài)的、應(yīng)用層的協(xié)議,常基于TCP的連接方式,HTTP1.1版本中給出一種持續(xù)連接的機制,絕大多數(shù)的Web開發(fā),都是構(gòu)建在HTTP協(xié)議之上的Web應(yīng)用。http請求由三部分組成,分別是:請求行、消息報頭、請求正文。請求行以一個方法符號開頭,以空格分開,后面跟著請求的URI和協(xié)議的版本;HTTP請求正文中包含發(fā)送或接受請求的具體內(nèi)容。因此,本發(fā)明在http協(xié)議層次模擬用戶操作時瀏覽器的請求行為來進行與各系統(tǒng)服務(wù)器的溝通。
[0018]對于B/S系統(tǒng),用戶登錄系統(tǒng)后,可以進行表單提交或報表查詢操作,因此通過模擬用戶操作過程中的關(guān)鍵請求的方法,使目標業(yè)務(wù)系統(tǒng)返回與用戶操作同樣的數(shù)據(jù),并對返回數(shù)據(jù)進行分析處理,即可實現(xiàn)通過模擬請求的方式與目標業(yè)務(wù)系統(tǒng)的通信。本發(fā)明的應(yīng)用場景:
1)、對于系統(tǒng)之間存在數(shù)據(jù)重復(fù)錄入問題,構(gòu)建一個統(tǒng)一界面,然后通過后臺分別模擬各目標業(yè)務(wù)系統(tǒng)請求的方法,實現(xiàn)表單的“一次錄入,同步提交”至各目標業(yè)務(wù)系統(tǒng);
2)、定時獲取用戶在各個系統(tǒng)的待辦、公告或報表等信息,并集中在一個系統(tǒng)中展示給該用戶;
3)、實現(xiàn)模擬多個系統(tǒng)的請求,實現(xiàn)高度集成的一體化平臺,平臺集成特性包括統(tǒng)一界面一體化操作、跨系統(tǒng)流程流轉(zhuǎn)、跨系統(tǒng)業(yè)務(wù)數(shù)據(jù)綜合分析。
[0019]圖3是本發(fā)明通過請求模擬技術(shù)定時抓取系統(tǒng)報表數(shù)據(jù)實現(xiàn)對原系統(tǒng)進行數(shù)據(jù)獲取的流程示意圖。假設(shè)有一個B/S業(yè)務(wù)系統(tǒng),該系統(tǒng)具有查詢報表的功能頁面。傳統(tǒng)抓取系統(tǒng)報表數(shù)據(jù)的操作過程為:當用戶查詢報表時,首先填寫查詢條件,然后點擊“查詢”,報表數(shù)據(jù)即可顯示出來。從http協(xié)議角度分析,對于B/S系統(tǒng),用戶的查詢條件是界面表單,點擊“查詢”時,表單數(shù)據(jù)通過http請求發(fā)送給B/S業(yè)務(wù)系統(tǒng)服務(wù)器端,B/S業(yè)務(wù)系統(tǒng)在進行相應(yīng)處理后返回處理結(jié)果,并在頁面展示報表數(shù)據(jù)。如圖3所述,本發(fā)明所述模擬請求系統(tǒng)通過模擬用戶瀏覽器的請求行為獲取所需數(shù)據(jù),模擬請求系統(tǒng)向目標業(yè)務(wù)系統(tǒng)發(fā)送一個同用戶瀏覽器操作時一致的請求,目標業(yè)務(wù)系統(tǒng)接收該請求并返回報表結(jié)果,模擬請求系統(tǒng)對返回結(jié)果進行處理,并發(fā)送給用戶瀏覽器進行展示。模擬請求系統(tǒng)在模擬http請求時主要包括如下幾項:1)、http請求行:包括模擬請求地址、請求方法;2)、http請求文本:請求時傳遞的數(shù)據(jù);3)、用戶會話信息:標識當前所模擬的用戶信息,通常為sessionID或cookies,以滿足目標業(yè)務(wù)系統(tǒng)的用戶登錄情況及權(quán)限驗證,用戶會話信息首先由模擬登錄目標業(yè)務(wù)系統(tǒng)獲得。
[0020]圖4是本發(fā)明實現(xiàn)對原系統(tǒng)進行數(shù)據(jù)錄入的流程示意圖。假設(shè)有兩個均包含同一項信息錄入功能的B/S業(yè)務(wù)系統(tǒng)A和B,A和B兩個系統(tǒng)所收集數(shù)據(jù)雖略有側(cè)重和不同,但是大部分表單項是相同的,目前的操作方法是:用戶需要分別登陸A和B系統(tǒng)進行信息錄入,一方面增加了用戶負擔(dān),另一方面存在造成兩個系統(tǒng)間數(shù)據(jù)一致性風(fēng)險。如圖4所示,針對這種問題,本發(fā)明從用戶角度出發(fā),僅提供一個整合的信息提交界面,該界面包含A和B兩個系統(tǒng)表單數(shù)據(jù)的集合,用戶填寫完成后,進行模擬請求的系統(tǒng)按照原目標業(yè)務(wù)系統(tǒng)信息需求拆分成兩個表單,并通過模擬請求的方式分別發(fā)送給A和B系統(tǒng),實現(xiàn)了“一次錄入,同步提交”的效果。
[0021]結(jié)合圖4舉個簡單的例子:假設(shè)A系統(tǒng)和B系統(tǒng)均需要維護用戶信息,A系統(tǒng)維護信息時需要填寫姓名、員工號、年齡、性別、手機,而B系統(tǒng)維護信息時需要填寫姓名、員工號、性別、民族、手機、崗位。為了減少信息維護人員工作量,同時保證系統(tǒng)間數(shù)據(jù)一致性,從一體化平臺開發(fā)一個用戶信息維護界面,包括A系統(tǒng)和B系統(tǒng)須維護的所有信息,即姓名、員工號、年齡、民族、性別、手機、崗位,信息維護人員錄入并提交之后,平臺界面的用戶信息會被分別包裝成A系統(tǒng)和B系統(tǒng)提交用戶信息的請求發(fā)往兩個系統(tǒng),從而實現(xiàn)了 “一次錄入,同步提交”。
[0022]本發(fā)明適用于以下情景:
1)、目標業(yè)務(wù)系統(tǒng)為B/S架構(gòu);
2)、目標業(yè)務(wù)系統(tǒng)不能提供數(shù)據(jù)接口;
3)、業(yè)務(wù)系統(tǒng)頁面可見的數(shù)據(jù);
4)、數(shù)據(jù)獲取量較少;
5)、實時性要求不高的數(shù)據(jù)(數(shù)據(jù)讀取速度受限于目標業(yè)務(wù)系統(tǒng)的響應(yīng)速度)。
[0023]以上所述只是本發(fā)明的優(yōu)選實施方式,對于本【技術(shù)領(lǐng)域】的普通技術(shù)人員來說,在不脫離本發(fā)明原理的前提下,還可以做出若干改進和潤飾,這些改進和潤飾也被視為本發(fā)明的保護范圍。
【權(quán)利要求】
1.基于Http協(xié)議的系統(tǒng)間無耦合集成模擬方法,其特征是,包括: 接收客戶端發(fā)送的系統(tǒng)集成操作請求信息; 在目標業(yè)務(wù)系統(tǒng)數(shù)據(jù)庫中查找與所述系統(tǒng)集成操作請求信息相對應(yīng)的數(shù)據(jù); 分別將每條所述數(shù)據(jù)封裝在一個數(shù)據(jù)對象中; 將所述數(shù)據(jù)對象傳輸給客戶端并在客戶端上展示; 接收錄入操作信息的數(shù)據(jù)對象; 將帶有操作信息的數(shù)據(jù)對象進行拆分成目標操作數(shù)據(jù); 將所述目標操作數(shù)據(jù)發(fā)送給所述目標業(yè)務(wù)系統(tǒng)數(shù)據(jù)庫。
2.根據(jù)權(quán)利要求1所述的基于Http協(xié)議的系統(tǒng)間無耦合集成模擬方法,其特征是,所述系統(tǒng)集成操作請求包括模擬請求的地址及方法、請求傳遞的數(shù)據(jù)和用戶會話信息。
3.根據(jù)權(quán)利要求1所述的基于Http協(xié)議的系統(tǒng)間無耦合集成模擬方法,其特征是,所述在客戶端上展示的數(shù)據(jù)對象為Html、xml或json格式報表。
4.基于Http協(xié)議的系統(tǒng)間無耦合集成模擬系統(tǒng),其特征是,包括: 信息接收單元,用于接收客戶端發(fā)送的系統(tǒng)集成操作請求信息及錄入操作信息的數(shù)據(jù)對象; 數(shù)據(jù)查找單元,與所述信息接收單元連接,用于在目標業(yè)務(wù)系統(tǒng)數(shù)據(jù)庫中查找與所述系統(tǒng)集成操作請求信息相對應(yīng)的數(shù)據(jù); 數(shù)據(jù)封裝單元,與所述數(shù)據(jù)查找單元連接,用于分別將每條所述數(shù)據(jù)封裝在一個數(shù)據(jù)對象中; 數(shù)據(jù)對象發(fā)送單元,與所述數(shù)據(jù)封裝單元連接,用于將所述數(shù)據(jù)對象傳輸給客戶端并在客戶端上展示; 數(shù)據(jù)拆分單元,與所述信息接收單元連接,用于將帶有操作信息的數(shù)據(jù)對象進行拆分成目標操作數(shù)據(jù); 目標操作數(shù)據(jù)傳輸單元,與所述數(shù)據(jù)拆分單元連接,用于將所述目標操作數(shù)據(jù)發(fā)送給所述目標業(yè)務(wù)系統(tǒng)數(shù)據(jù)庫。
5.根據(jù)權(quán)利要求4所述的基于Http協(xié)議的系統(tǒng)間無耦合集成模擬系統(tǒng),其特征是,所述系統(tǒng)集成操作請求包括模擬請求的地址及方法、請求傳遞的數(shù)據(jù)和用戶會話信息。
6.根據(jù)權(quán)利要求4所述的基于Http協(xié)議的系統(tǒng)間無耦合集成模擬系統(tǒng),其特征是,所述在客戶端上展示的數(shù)據(jù)對象為Html、xml或json格式報表。
【文檔編號】H04L29/08GK103929477SQ201410123588
【公開日】2014年7月16日 申請日期:2014年3月31日 優(yōu)先權(quán)日:2014年3月31日
【發(fā)明者】田兵, 常英賢, 王玉家, 丁書耕, 陳沖 申請人:國網(wǎng)山東省電力公司