本發(fā)明涉及電子信息技術(shù)領(lǐng)域,具體而言,涉及一種自動路由方法和自動路由系統(tǒng)。
背景技術(shù):
SOA(面向服務(wù)架構(gòu))是一種構(gòu)造分布式系統(tǒng)的方法,它將傳統(tǒng)的單片式應(yīng)用打破,分解為離散的、自治的業(yè)務(wù)服務(wù),利用標(biāo)準(zhǔn)提升它們的互操作性,從而可以更好地共享、重用和組裝,快速構(gòu)建復(fù)合的應(yīng)用從而滿足業(yè)務(wù)需求的變化。在SOA架構(gòu)下接口是采用編程語言中立的方式進(jìn)行定義的,它應(yīng)該獨(dú)立于實(shí)現(xiàn)服務(wù)的硬件平臺、操作系統(tǒng)和編程語言。這使得構(gòu)建在各種這樣的系統(tǒng)中的服務(wù)可以以一種統(tǒng)一和通用的方式進(jìn)行交互。當(dāng)前應(yīng)用SOA架構(gòu)對企業(yè)各異構(gòu)的信息系統(tǒng)進(jìn)行整合已經(jīng)成為一種趨勢,基于SOA的集成方法正推動著市場的發(fā)展,IBM、Oracle、Microsoft、SAP等主流廠商已轉(zhuǎn)向SOA。
ESB全稱為Enterprise Service Bus,即企業(yè)服務(wù)總線。它是傳統(tǒng)中間件技術(shù)與XML、Web服務(wù)等技術(shù)結(jié)合的產(chǎn)物。ESB提供了網(wǎng)絡(luò)中最基本的連接中樞,是構(gòu)筑企業(yè)神經(jīng)系統(tǒng)的必要元素。ESB的出現(xiàn)改變了傳統(tǒng)的軟件架構(gòu),可以提供比傳統(tǒng)中間件產(chǎn)品更為廉價(jià)的解決方案,同時(shí)它還可以消除不同應(yīng)用之間的技術(shù)差異,讓不同的應(yīng)用服務(wù)器協(xié)調(diào)運(yùn)作,實(shí)現(xiàn)了不同服務(wù)之間的通信與整合。從功能上看,ESB提供了事件驅(qū)動和文檔導(dǎo)向的處理模式,以及分布式的運(yùn)行管理機(jī)制,它支持基于內(nèi)容的路由和過濾,具備了復(fù)雜數(shù)據(jù)的傳輸能力,并可以提供一系列的標(biāo)準(zhǔn)接口。
Web Service是SOA架構(gòu)中服務(wù)的一種實(shí)現(xiàn)方式,在SOA架構(gòu)中,服務(wù)可以有多種形式,如CORBA接口,JMS消息隊(duì)列等。Web Service是目前使用最廣、最為普遍的一種服務(wù)實(shí)現(xiàn)方式。Web Service采用XML(可擴(kuò)展標(biāo)記語言)、XSD(XMLSchema)、SOAP(簡單對象訪問協(xié)議)、WSDL(Web服務(wù)描述語言)等獨(dú)立于平臺、獨(dú)立于軟件供應(yīng)商的標(biāo)準(zhǔn)。Web Service實(shí)現(xiàn)的服務(wù)具有最好的可交互性和最大的可重用性。
目前在ESB平臺數(shù)據(jù)傳輸?shù)倪^程中,多點(diǎn)路由場景下常常因?qū)ぶ匪俣容^慢而影響了服務(wù)開發(fā)的效率,同時(shí)也限制了數(shù)據(jù)傳輸?shù)男省?/p>
技術(shù)實(shí)現(xiàn)要素:
為了解決上述技術(shù)問題至少之一,本發(fā)明的第一方面的實(shí)施例提出了一種自動路由方法。
本發(fā)明的第二方面實(shí)施例,還提出了一種自動路由系統(tǒng)。
有鑒于此,根據(jù)本發(fā)明的第一方面的實(shí)施例,本發(fā)明提出了一種自動路由方法,包括:為每個(gè)目標(biāo)地址設(shè)置一個(gè)與之相匹配且唯一的標(biāo)識符;將目標(biāo)地址和標(biāo)識符使用統(tǒng)一的文件進(jìn)行配置;在服務(wù)被調(diào)用時(shí),根據(jù)標(biāo)識符從文件中尋找到與之相匹配的目標(biāo)地址;將獲取到的目標(biāo)地址替換進(jìn)被調(diào)用的服務(wù)的程序中;調(diào)用目標(biāo)地址的服務(wù)將數(shù)據(jù)進(jìn)行傳輸。
本發(fā)明提供的自動路由方法,可基于ESB平臺進(jìn)行服務(wù)自動路由,并使用了文件集中配置多點(diǎn)路由目標(biāo)的地址,通過為每個(gè)目標(biāo)地址設(shè)置一個(gè)與之相匹配且唯一的標(biāo)識符,并在調(diào)用服務(wù)時(shí)以標(biāo)識符快速尋找與之相匹配的目標(biāo)地址,以根據(jù)自動獲取路由目標(biāo)的地址進(jìn)行數(shù)據(jù)的傳輸,由此提高了在多點(diǎn)路由場景下的服務(wù)開發(fā)效率,提升了數(shù)據(jù)傳輸過程中的尋址速度和傳輸速度,極大地減少了相同業(yè)務(wù)場景接口服務(wù)多點(diǎn)路由調(diào)用的開發(fā)代碼,降低了開發(fā)成本,同時(shí)也有利于后期對新增或者修改多點(diǎn)目標(biāo)地址配置。
另外,本發(fā)明提供的上述實(shí)施例中的自動路由方法還可以具有如下附加技術(shù)特征:
在上述技術(shù)方案中,優(yōu)選地,還包括:獲取數(shù)據(jù)傳輸結(jié)果,并將數(shù)據(jù)傳輸結(jié)果發(fā)送至調(diào)用服務(wù)的系統(tǒng)端。
在該技術(shù)方案中,通過將數(shù)據(jù)傳輸結(jié)果反饋至調(diào)用服務(wù)的系統(tǒng)端,使得系統(tǒng)端能夠及時(shí)了解數(shù)據(jù)的傳輸狀態(tài),便于后續(xù)的服務(wù)調(diào)用、數(shù)據(jù)傳輸及其他操作。
在上述技術(shù)方案中,優(yōu)選地,通過XQuery方式根據(jù)標(biāo)識符從文件中尋找到與之相匹配的目標(biāo)地址。
在該技術(shù)方案中,可以以XML(可擴(kuò)展標(biāo)記語言)形式記錄和保存標(biāo)識符及與之對應(yīng)的目標(biāo)服務(wù)地址,而XML具有簡單、適用范圍廣的優(yōu)勢,作為公共語言的XML不僅有利于提升數(shù)據(jù)查詢速度,同時(shí)也擴(kuò)大了其適用范圍。在調(diào)用目標(biāo)服務(wù)地址時(shí)首先通過XQuery(一種查詢XML的語言)根據(jù)標(biāo)識符從上述XML文件中獲取對應(yīng)的目標(biāo)服務(wù)地址,之后再將獲取到的目標(biāo)服務(wù)地址替換到路由服務(wù)中作為被調(diào)用方進(jìn)行數(shù)據(jù)傳輸,并將數(shù)據(jù)傳輸結(jié)果反饋給最終服務(wù)調(diào)用系統(tǒng)端,其中,XQuery能夠查詢不僅限于XML文件,還包括任何可以以XML形態(tài)呈現(xiàn)的數(shù)據(jù)(包括數(shù)據(jù)庫),這樣不僅有利于提升獲取目標(biāo)地址速度的速度及數(shù)據(jù)傳輸效率,也便于使用與維護(hù)。
在上述任一項(xiàng)技術(shù)方案中,優(yōu)選地,還包括:將目標(biāo)地址和標(biāo)識符寫入到數(shù)據(jù)庫中;在服務(wù)被調(diào)用時(shí),根據(jù)標(biāo)識符從數(shù)據(jù)庫中尋找到與之相匹配的目標(biāo)地址。
在該技術(shù)方案中,通過將目標(biāo)地址和標(biāo)識符直接寫入到數(shù)據(jù)庫中,并在需要調(diào)用時(shí)從數(shù)據(jù)庫中查找,數(shù)據(jù)庫為標(biāo)識符及目標(biāo)服務(wù)地址的數(shù)據(jù)控制和數(shù)據(jù)檢索功能提供了強(qiáng)大的基礎(chǔ),便于對目標(biāo)地址和標(biāo)識符的管理與查找,同時(shí)有利于后期對新增或者修改多點(diǎn)目標(biāo)地址配置。
在上述技術(shù)方案中,優(yōu)選地,通過SQL方式根據(jù)標(biāo)識符從數(shù)據(jù)庫中尋找到與之相匹配的目標(biāo)地址。
在該技術(shù)方案中,通過SQL(結(jié)構(gòu)化查詢語言)方式從數(shù)據(jù)庫中尋找目標(biāo)地址,而SQL作為一種通用的數(shù)據(jù)庫查詢語言(SQL相對于數(shù)據(jù)庫表的關(guān)系等同于XQuery相對于XML的關(guān)系),具有良好的可移植性,通過采用SQL的查詢方式不僅簡化了對于數(shù)據(jù)庫查詢的方法,同時(shí)也提升了目標(biāo)地址查詢與數(shù)據(jù)傳輸?shù)男始笆褂门c維護(hù)過程中的靈活性。上述方式可以具體實(shí)施如:在數(shù)據(jù)庫中創(chuàng)建配置表將標(biāo)識符及目標(biāo)地址配置保存到數(shù)據(jù)庫表中;獲取標(biāo)識符對應(yīng)目標(biāo)服務(wù)地址(不通過XQuery方式從配置文件中獲取,而是通過其他方式從數(shù)據(jù)庫中獲取目標(biāo)服務(wù)地址),可以具體實(shí)施為通過java或者其他語言編程訪問數(shù)據(jù)庫,通過SQL語句(Select xx from[表名]where[標(biāo)識符]=xx)的方式從數(shù)據(jù)庫中根據(jù)標(biāo)識符來獲取到對應(yīng)的目標(biāo)服務(wù)地址。
根據(jù)發(fā)明的第二方面實(shí)施例,本發(fā)明還提出了一種自動路由系統(tǒng),包括:設(shè)置單元,用于為每個(gè)目標(biāo)地址設(shè)置一個(gè)與之相匹配且唯一的標(biāo)識符;配置單元,用于將目標(biāo)地址和標(biāo)識符使用統(tǒng)一的文件進(jìn)行配置;查詢單元,用于在服務(wù)被調(diào)用時(shí),根據(jù)標(biāo)識符從文件中尋找到與之相匹配的目標(biāo)地址;設(shè)置單元還用于將獲取到的目標(biāo)地址替換進(jìn)被調(diào)用的服務(wù)的程序中;傳輸單元,用于調(diào)用目標(biāo)地址的服務(wù)將數(shù)據(jù)進(jìn)行傳輸。
本發(fā)明提供的自動路由系統(tǒng),可基于ESB平臺進(jìn)行服務(wù)自動路由,并使用了文件集中配置多點(diǎn)路由目標(biāo)的地址,通過為每個(gè)目標(biāo)地址設(shè)置一個(gè)與之相匹配且唯一的標(biāo)識符,并在調(diào)用服務(wù)時(shí)以標(biāo)識符快速尋找與之相匹配的目標(biāo)地址,以根據(jù)自動獲取路由目標(biāo)的地址進(jìn)行數(shù)據(jù)的傳輸,由此提高了在多點(diǎn)路由場景下的服務(wù)開發(fā)效率,提升了數(shù)據(jù)傳輸過程中的尋址速度和傳輸速度,極大地減少了相同業(yè)務(wù)場景接口服務(wù)多點(diǎn)路由調(diào)用的開發(fā)代碼,降低了開發(fā)成本,同時(shí)也有利于后期對新增或者修改多點(diǎn)目標(biāo)地址配置。
另外,本發(fā)明提供的上述實(shí)施例中的自動路由系統(tǒng)還可以具有如下附加技術(shù)特征:
在上述技術(shù)方案中,優(yōu)選地,傳輸單元還用于獲取數(shù)據(jù)傳輸結(jié)果,并將數(shù)據(jù)傳輸結(jié)果發(fā)送至調(diào)用服務(wù)的系統(tǒng)端。
在該技術(shù)方案中,通過將數(shù)據(jù)傳輸結(jié)果反饋至調(diào)用服務(wù)的系統(tǒng)端,使得系統(tǒng)端能夠及時(shí)了解數(shù)據(jù)的傳輸狀態(tài),便于后續(xù)的服務(wù)調(diào)用、數(shù)據(jù)傳輸及其他操作。
在上述技術(shù)方案中,優(yōu)選地,查詢單元還用于通過XQuery方式根據(jù)標(biāo)識符從文件中尋找到與之相匹配的目標(biāo)地址。
在該技術(shù)方案中,可以以XML(可擴(kuò)展標(biāo)記語言)形式記錄和保存標(biāo)識符及與之對應(yīng)的目標(biāo)服務(wù)地址,而XML具有簡單、適用范圍廣的優(yōu)勢,作為公共語言的XML不僅有利于提升數(shù)據(jù)查詢速度,同時(shí)也擴(kuò)大了其適用范圍。在調(diào)用目標(biāo)服務(wù)地址時(shí)首先通過XQuery(一種查詢XML的語言)根據(jù)標(biāo)識符從上述的XML文件中獲取對應(yīng)的目標(biāo)服務(wù)地址,之后再將獲取到的目標(biāo)服務(wù)地址替換到路由服務(wù)中作為被調(diào)用方進(jìn)行數(shù)據(jù)傳輸,并將數(shù)據(jù)傳輸結(jié)果反饋給最終服務(wù)調(diào)用系統(tǒng)端,其中,XQuery能夠查詢不僅限于XML文件,還包括任何可以以XML形態(tài)呈現(xiàn)的數(shù)據(jù)(包括數(shù)據(jù)庫),這樣不僅有利于提升獲取目標(biāo)地址速度的速度及數(shù)據(jù)傳輸效率,也便于使用與維護(hù)。
在上述任一項(xiàng)技術(shù)方案中,優(yōu)選地,設(shè)置單元還用于將目標(biāo)地址和標(biāo)識符寫入到數(shù)據(jù)庫中;查詢單元還用于在服務(wù)被調(diào)用時(shí),根據(jù)標(biāo)識符從數(shù)據(jù)庫中尋找到與之相匹配的目標(biāo)地址。
在該技術(shù)方案中,通過將目標(biāo)地址和標(biāo)識符直接寫入到數(shù)據(jù)庫中,并在需要調(diào)用時(shí)從數(shù)據(jù)庫中查找,數(shù)據(jù)庫為標(biāo)識符及目標(biāo)服務(wù)地址的數(shù)據(jù)控制和數(shù)據(jù)檢索功能提供了強(qiáng)大的基礎(chǔ),便于對目標(biāo)地址和標(biāo)識符的管理與查找,同時(shí)有利于后期對新增或者修改多點(diǎn)目標(biāo)地址配置。
在上述技術(shù)方案中,優(yōu)選地,查詢單元還用于通過SQL方式根據(jù)標(biāo)識符從數(shù)據(jù)庫中尋找到與之相匹配的目標(biāo)地址。
在該技術(shù)方案中,通過SQL(結(jié)構(gòu)化查詢語言)方式從數(shù)據(jù)庫中尋找目標(biāo)地址,而SQL作為一種通用的數(shù)據(jù)庫查詢語言(SQL相對于數(shù)據(jù)庫表的關(guān)系等同于XQuery相對于XML的關(guān)系),具有良好的可移植性,通過采用SQL的查詢方式不僅簡化了對于數(shù)據(jù)庫查詢的方法,同時(shí)也提升了目標(biāo)地址查詢與數(shù)據(jù)傳輸?shù)男始笆褂门c維護(hù)過程中的靈活性。上述方式可以具體實(shí)施如:在數(shù)據(jù)庫中創(chuàng)建配置表將標(biāo)識符及目標(biāo)地址配置保存到數(shù)據(jù)庫表中;獲取標(biāo)識符對應(yīng)目標(biāo)服務(wù)地址(不通過XQuery方式從配置文件中獲取,而是通過其他方式從數(shù)據(jù)庫中獲取目標(biāo)服務(wù)地址),可以具體實(shí)施為通過java或者其他語言編程訪問數(shù)據(jù)庫,通過SQL語句(Select xx from[表名]where[標(biāo)識符]=xx)的方式從數(shù)據(jù)庫中根據(jù)標(biāo)識符來獲取到對應(yīng)的目標(biāo)服務(wù)地址。
本發(fā)明的附加方面和優(yōu)點(diǎn)將在下面的描述部分中變得明顯,或通過本發(fā)明的實(shí)踐了解到。
附圖說明
圖1示出了根據(jù)本發(fā)明的一種實(shí)施例的自動路由方法的流程示意圖;
圖2示出了根據(jù)本發(fā)明的一種實(shí)施例的自動路由系統(tǒng)的示意框圖。
具體實(shí)施方式
為了能夠更清楚地理解本發(fā)明的上述目的、特征和優(yōu)點(diǎn),下面結(jié)合附圖和具體實(shí)施方式對本發(fā)明進(jìn)行進(jìn)一步的詳細(xì)描述。需要說明的是,在不沖突的情況下,本申請的實(shí)施例及實(shí)施例中的特征可以相互組合。
在下面的描述中闡述了很多具體細(xì)節(jié)以便于充分理解本發(fā)明,但是,本發(fā)明還可以采用其他不同于在此描述的其他方式來實(shí)施,因此,本發(fā)明的保護(hù)范圍并不受下面公開的具體實(shí)施例的限制。
下面參照圖1描述根據(jù)本發(fā)明一些實(shí)施例的自動路由方法。
如圖1所示,本發(fā)明提供了一種自動路由方法,包括:步驟S102為每個(gè)目標(biāo)地址設(shè)置一個(gè)與之相匹配且唯一的標(biāo)識符;步驟S104將目標(biāo)地址和標(biāo)識符使用統(tǒng)一的文件進(jìn)行配置;步驟S106在服務(wù)被調(diào)用時(shí),根據(jù)標(biāo)識符從文件中尋找到與之相匹配的目標(biāo)地址;步驟S108將獲取到的目標(biāo)地址替換進(jìn)被調(diào)用的服務(wù)的程序中;步驟S110調(diào)用目標(biāo)地址的服務(wù)將數(shù)據(jù)進(jìn)行傳輸。
本發(fā)明提供的自動路由方法,可基于ESB平臺進(jìn)行服務(wù)自動路由,并使用了文件集中配置多點(diǎn)路由目標(biāo)的地址,通過為每個(gè)目標(biāo)地址設(shè)置一個(gè)與之相匹配且唯一的標(biāo)識符,并在調(diào)用服務(wù)時(shí)以標(biāo)識符快速尋找與之相匹配的目標(biāo)地址,以根據(jù)自動獲取路由目標(biāo)的地址進(jìn)行數(shù)據(jù)的傳輸,由此提高了在多點(diǎn)路由場景下的服務(wù)開發(fā)效率,提升了數(shù)據(jù)傳輸過程中的尋址速度和傳輸速度,極大地減少了相同業(yè)務(wù)場景接口服務(wù)多點(diǎn)路由調(diào)用的開發(fā)代碼,降低了開發(fā)成本,同時(shí)也有利于后期對新增或者修改多點(diǎn)目標(biāo)地址配置。
在本發(fā)明的一個(gè)實(shí)施例中,優(yōu)選地,還包括:獲取數(shù)據(jù)傳輸結(jié)果,并將數(shù)據(jù)傳輸結(jié)果發(fā)送至調(diào)用服務(wù)的系統(tǒng)端。
在該實(shí)施例中,通過將數(shù)據(jù)傳輸結(jié)果反饋至調(diào)用服務(wù)的系統(tǒng)端,使得系統(tǒng)端能夠及時(shí)了解數(shù)據(jù)的傳輸狀態(tài),便于后續(xù)的服務(wù)調(diào)用、數(shù)據(jù)傳輸及其他操作。
在本發(fā)明的一個(gè)實(shí)施例中,優(yōu)選地,通過XQuery方式根據(jù)標(biāo)識符從文件中尋找到與之相匹配的目標(biāo)地址。
在該實(shí)施例中,可以以XML(可擴(kuò)展標(biāo)記語言)形式記錄和保存標(biāo)識符及與之對應(yīng)的目標(biāo)服務(wù)地址,而XML具有簡單、適用范圍廣的優(yōu)勢,作為公共語言的XML不僅有利于提升數(shù)據(jù)查詢速度,同時(shí)也擴(kuò)大了其適用范圍。在調(diào)用目標(biāo)服務(wù)地址時(shí)首先通過XQuery(一種查詢XML的語言)根據(jù)標(biāo)識符從上述的XML文件中獲取對應(yīng)的目標(biāo)服務(wù)地址,之后再將獲取到的目標(biāo)服務(wù)地址替換到路由服務(wù)中作為被調(diào)用方進(jìn)行數(shù)據(jù)傳輸,并將數(shù)據(jù)傳輸結(jié)果反饋給最終服務(wù)調(diào)用系統(tǒng)端,其中,XQuery能夠查詢不僅限于XML文件,還包括任何可以以XML形態(tài)呈現(xiàn)的數(shù)據(jù)(包括數(shù)據(jù)庫),這樣不僅有利于提升獲取目標(biāo)地址速度的速度及數(shù)據(jù)傳輸效率,也便于使用與維護(hù)。
在本發(fā)明的一個(gè)實(shí)施例中,優(yōu)選地,以XML形式記錄和保存標(biāo)識符與目標(biāo)服務(wù)地址,并在路由服務(wù)被調(diào)用時(shí)通過XQuery方式根據(jù)標(biāo)識符從上述的XML文件中獲取對應(yīng)的目標(biāo)服務(wù)地址,之后再將獲取到的目標(biāo)服務(wù)地址替換到路由服務(wù)中作為被調(diào)用方進(jìn)行數(shù)據(jù)傳輸,并將數(shù)據(jù)傳輸結(jié)果反饋給最終服務(wù)調(diào)用系統(tǒng)端。在以XML形式儲存信息時(shí),其數(shù)據(jù)表現(xiàn)形式極其簡單,同時(shí)通過XQuery方式獲取信息具有快速、精準(zhǔn)、易用等優(yōu)勢,既有利于提升獲取目標(biāo)地址速度的速度,也便于使用與維護(hù)。
在本發(fā)明的一個(gè)實(shí)施例中,優(yōu)選地,還包括:將目標(biāo)地址和標(biāo)識符寫入到數(shù)據(jù)庫中;在服務(wù)被調(diào)用時(shí),根據(jù)標(biāo)識符從數(shù)據(jù)庫中尋找到與之相匹配的目標(biāo)地址。
在該實(shí)施例中,通過將目標(biāo)地址和標(biāo)識符直接寫入到數(shù)據(jù)庫中,并在需要調(diào)用時(shí)從數(shù)據(jù)庫中查找,數(shù)據(jù)庫為標(biāo)識符及目標(biāo)服務(wù)地址的數(shù)據(jù)控制和數(shù)據(jù)檢索功能提供了強(qiáng)大的基礎(chǔ),便于對目標(biāo)地址和標(biāo)識符的管理與查找,同時(shí)有利于后期對新增或者修改多點(diǎn)目標(biāo)地址配置。
在本發(fā)明的一個(gè)實(shí)施例中,優(yōu)選地,通過SQL方式根據(jù)標(biāo)識符從數(shù)據(jù)庫中尋找到與之相匹配的目標(biāo)地址。
在該實(shí)施例中,通過SQL(結(jié)構(gòu)化查詢語言)方式從數(shù)據(jù)庫中尋找目標(biāo)地址,而SQL作為一種通用的數(shù)據(jù)庫查詢語言(SQL相對于數(shù)據(jù)庫表的關(guān)系等同于XQuery相對于XML的關(guān)系),具有良好的可移植性,通過采用SQL的查詢方式不僅簡化了對于數(shù)據(jù)庫查詢的方法,同時(shí)也提升了目標(biāo)地址查詢與數(shù)據(jù)傳輸?shù)男始笆褂门c維護(hù)過程中的靈活性。上述方式可以具體實(shí)施如:在數(shù)據(jù)庫中創(chuàng)建配置表將標(biāo)識符及目標(biāo)地址配置保存到數(shù)據(jù)庫表中;獲取標(biāo)識符對應(yīng)目標(biāo)服務(wù)地址(不通過XQuery方式從配置文件中獲取,而是通過其他方式從數(shù)據(jù)庫中獲取目標(biāo)服務(wù)地址),可以具體實(shí)施為通過java或者其他語言編程訪問數(shù)據(jù)庫,通過SQL語句(Select xx from[表名]where[標(biāo)識符]=xx)的方式從數(shù)據(jù)庫中根據(jù)標(biāo)識符來獲取到對應(yīng)的目標(biāo)服務(wù)地址。
在本發(fā)明的一個(gè)實(shí)施例中,優(yōu)選地,通過數(shù)據(jù)庫記錄和保存標(biāo)識符與目標(biāo)服務(wù)地址,并在路由服務(wù)被調(diào)用時(shí)通過SQL方式從數(shù)據(jù)庫中尋找目標(biāo)地址,之后再將獲取到的目標(biāo)服務(wù)地址替換到路由服務(wù)中作為被調(diào)用方進(jìn)行數(shù)據(jù)傳輸,并將數(shù)據(jù)傳輸結(jié)果反饋給最終服務(wù)調(diào)用系統(tǒng)端。通過數(shù)據(jù)庫儲存信息,在數(shù)據(jù)索引、排序、查找等方面提供了更大的便捷,同時(shí)通過SQL的獲取信息方式具有更強(qiáng)靈活性和功能,在信息處理速度以及使用、維護(hù)方面都有著更大的優(yōu)勢。
下面參照圖2描述根據(jù)本發(fā)明一些實(shí)施例的自動路由系統(tǒng)。
如圖2所示,本發(fā)明還提供了一種自動路由系統(tǒng),包括:設(shè)置單元202,用于為每個(gè)目標(biāo)地址設(shè)置一個(gè)與之相匹配且唯一的標(biāo)識符;配置單元204,用于將目標(biāo)地址和標(biāo)識符使用統(tǒng)一的文件進(jìn)行配置;查詢單元206,用于在服務(wù)被調(diào)用時(shí),根據(jù)標(biāo)識符從文件中尋找到與之相匹配的目標(biāo)地址;設(shè)置單元202還用于將獲取到的目標(biāo)地址替換進(jìn)被調(diào)用的服務(wù)的程序中;傳輸單元208,用于調(diào)用目標(biāo)地址的服務(wù)將數(shù)據(jù)進(jìn)行傳輸。
本發(fā)明提供的自動路由系統(tǒng),可基于ESB平臺進(jìn)行服務(wù)自動路由,并使用了文件集中配置多點(diǎn)路由目標(biāo)的地址,通過為每個(gè)目標(biāo)地址設(shè)置一個(gè)與之相匹配且唯一的標(biāo)識符,并在調(diào)用服務(wù)時(shí)以標(biāo)識符快速尋找與之相匹配的目標(biāo)地址,以根據(jù)自動獲取路由目標(biāo)的地址進(jìn)行數(shù)據(jù)的傳輸,由此提高了在多點(diǎn)路由場景下的服務(wù)開發(fā)效率,提升了數(shù)據(jù)傳輸過程中的尋址速度和傳輸速度,極大地減少了相同業(yè)務(wù)場景接口服務(wù)多點(diǎn)路由調(diào)用的開發(fā)代碼,降低了開發(fā)成本,同時(shí)也有利于后期對新增或者修改多點(diǎn)目標(biāo)地址配置。
在本發(fā)明的一個(gè)實(shí)施例中,優(yōu)選地,傳輸單元208還用于獲取數(shù)據(jù)傳輸結(jié)果,并將數(shù)據(jù)傳輸結(jié)果發(fā)送至調(diào)用服務(wù)的系統(tǒng)端。
在該實(shí)施例中,通過將數(shù)據(jù)傳輸結(jié)果反饋至調(diào)用服務(wù)的系統(tǒng)端,使得系統(tǒng)端能夠及時(shí)了解數(shù)據(jù)的傳輸狀態(tài),便于后續(xù)的服務(wù)調(diào)用、數(shù)據(jù)傳輸及其他操作。
在本發(fā)明的一個(gè)實(shí)施例中,優(yōu)選地,查詢單元206還用于通過XQuery方式根據(jù)標(biāo)識符從文件中尋找到與之相匹配的目標(biāo)地址。
在該實(shí)施例中,可以以XML(可擴(kuò)展標(biāo)記語言)形式記錄和保存標(biāo)識符及與之對應(yīng)的目標(biāo)服務(wù)地址,而XML具有簡單、適用范圍廣的優(yōu)勢,作為公共語言的XML不僅有利于提升數(shù)據(jù)查詢速度,同時(shí)也擴(kuò)大了其適用范圍。在調(diào)用目標(biāo)服務(wù)地址時(shí)首先通過XQuery(一種查詢XML的語言)根據(jù)標(biāo)識符從上述的XML文件中獲取對應(yīng)的目標(biāo)服務(wù)地址,之后再將獲取到的目標(biāo)服務(wù)地址替換到路由服務(wù)中作為被調(diào)用方進(jìn)行數(shù)據(jù)傳輸,并將數(shù)據(jù)傳輸結(jié)果反饋給最終服務(wù)調(diào)用系統(tǒng)端,其中,XQuery能夠查詢不僅限于XML文件,還包括任何可以以XML形態(tài)呈現(xiàn)的數(shù)據(jù)(包括數(shù)據(jù)庫),這樣不僅有利于提升獲取目標(biāo)地址速度的速度及數(shù)據(jù)傳輸效率,也便于使用與維護(hù)。
在本發(fā)明的一個(gè)實(shí)施例中,優(yōu)選地,設(shè)置單元202還用于將目標(biāo)地址和標(biāo)識符寫入到數(shù)據(jù)庫中;查詢單元206還用于在服務(wù)被調(diào)用時(shí),根據(jù)標(biāo)識符從數(shù)據(jù)庫中尋找到與之相匹配的目標(biāo)地址。
在該實(shí)施例中,通過將目標(biāo)地址和標(biāo)識符直接寫入到數(shù)據(jù)庫中,并在需要調(diào)用時(shí)從數(shù)據(jù)庫中查找,數(shù)據(jù)庫為標(biāo)識符及目標(biāo)服務(wù)地址的數(shù)據(jù)控制和數(shù)據(jù)檢索功能提供了強(qiáng)大的基礎(chǔ),便于對目標(biāo)地址和標(biāo)識符的管理與查找,同時(shí)有利于后期對新增或者修改多點(diǎn)目標(biāo)地址配置。
在本發(fā)明的一個(gè)實(shí)施例中,優(yōu)選地,查詢單元206還用于通過SQL方式根據(jù)標(biāo)識符從數(shù)據(jù)庫中尋找到與之相匹配的目標(biāo)地址。
在該實(shí)施例中,通過SQL(結(jié)構(gòu)化查詢語言)方式從數(shù)據(jù)庫中尋找目標(biāo)地址,而SQL作為一種通用的數(shù)據(jù)庫查詢語言(SQL相對于數(shù)據(jù)庫表的關(guān)系等同于XQuery相對于XML的關(guān)系),具有良好的可移植性,通過采用SQL的查詢方式不僅簡化了對于數(shù)據(jù)庫查詢的方法,同時(shí)也提升了目標(biāo)地址查詢與數(shù)據(jù)傳輸?shù)男始笆褂门c維護(hù)過程中的靈活性。上述方式可以具體實(shí)施如:在數(shù)據(jù)庫中創(chuàng)建配置表將標(biāo)識符及目標(biāo)地址配置保存到數(shù)據(jù)庫表中;獲取標(biāo)識符對應(yīng)目標(biāo)服務(wù)地址(不通過XQuery方式從配置文件中獲取,而是通過其他方式從數(shù)據(jù)庫中獲取目標(biāo)服務(wù)地址),可以具體實(shí)施為通過java或者其他語言編程訪問數(shù)據(jù)庫,通過SQL語句(Select xx from[表名]where[標(biāo)識符]=xx)的方式從數(shù)據(jù)庫中根據(jù)標(biāo)識符來獲取到對應(yīng)的目標(biāo)服務(wù)地址。
在本發(fā)明中,術(shù)語“多個(gè)”則指兩個(gè)或兩個(gè)以上,除非另有明確的限定。術(shù)語“安裝”、“相連”、“連接”、“固定”等術(shù)語均應(yīng)做廣義理解,例如,“連接”可以是固定連接,也可以是可拆卸連接,或一體地連接;“相連”可以是直接相連,也可以通過中間媒介間接相連。對于本領(lǐng)域的普通技術(shù)人員而言,可以根據(jù)具體情況理解上述術(shù)語在本發(fā)明中的具體含義。
在本說明書的描述中,術(shù)語“一個(gè)實(shí)施例”、“一些實(shí)施例”、“具體實(shí)施例”等的描述意指結(jié)合該實(shí)施例或示例描述的具體特征、結(jié)構(gòu)、材料或特點(diǎn)包含于本發(fā)明的至少一個(gè)實(shí)施例或示例中。在本說明書中,對上述術(shù)語的示意性表述不一定指的是相同的實(shí)施例或?qū)嵗?。而且,描述的具體特征、結(jié)構(gòu)、材料或特點(diǎn)可以在任何的一個(gè)或多個(gè)實(shí)施例或示例中以合適的方式結(jié)合。
以上所述僅為本發(fā)明的優(yōu)選實(shí)施例而已,并不用于限制本發(fā)明,對于本領(lǐng)域的技術(shù)人員來說,本發(fā)明可以有各種更改和變化。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。