專利名稱:分布式業(yè)務(wù)系統(tǒng)中的軟件版本升級(jí)系統(tǒng)及其方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種分布式業(yè)務(wù)系統(tǒng)中的軟件版本管理及升級(jí)系統(tǒng)及其方法,特別是涉及一種將軟件版本自動(dòng)下發(fā)與請(qǐng)求下載版本相結(jié)合的方式來自動(dòng)更新應(yīng)用軟件版本以防止網(wǎng)絡(luò)擁塞的系統(tǒng)和方法。
背景技術(shù):
在諸如金融機(jī)構(gòu)之類的很多業(yè)務(wù)系統(tǒng)中,很多子系統(tǒng)通過網(wǎng)絡(luò)連接到中央主系統(tǒng)。系統(tǒng)中的應(yīng)用終端設(shè)備分散部署在眾多分支機(jī)構(gòu)上,通過諸如局域網(wǎng)之類不同的網(wǎng)絡(luò)經(jīng)子系統(tǒng)連接到中央主系統(tǒng),受中央主系統(tǒng)和所連接的子系統(tǒng)的管理和監(jiān)控。在這些業(yè)務(wù)系統(tǒng)中,各終端設(shè)備中運(yùn)行的應(yīng)用軟件由主系統(tǒng)提供。為了從主系統(tǒng)得到新應(yīng)用軟件或?qū)σ呀?jīng)運(yùn)行的應(yīng)用軟件進(jìn)行升級(jí),一般是由主系統(tǒng)向終端設(shè)備自動(dòng)下發(fā)新版本的應(yīng)用軟件,或由終端設(shè)備向主系統(tǒng)請(qǐng)求下載新版本的應(yīng)用軟件。
由于諸如金融業(yè)務(wù)系統(tǒng)之類的子系統(tǒng)或終端設(shè)備的數(shù)量眾多,尤其是終端設(shè)備在很大范圍內(nèi)連網(wǎng),由不同的分支機(jī)構(gòu)對(duì)其進(jìn)行維護(hù),難以將整個(gè)系統(tǒng)中的各個(gè)部分控制在一個(gè)統(tǒng)一的版本水平上。因此,可能會(huì)出現(xiàn)因?yàn)楣芾砝щy而使各個(gè)終端設(shè)備中的軟件版本不一致,造成業(yè)務(wù)內(nèi)容不一致,不易協(xié)調(diào)各終端設(shè)備間的工作的問題,并且有可能造成交易錯(cuò)誤。
傳統(tǒng)的版本控制和實(shí)施方法需要安排大量的維護(hù)人員。其維護(hù)和管理成本較高,并且各子系統(tǒng)軟件版本升級(jí)不一致,難以做到版本統(tǒng)一,給系統(tǒng)的全面升級(jí)帶來很大困難。為了適應(yīng)市場(chǎng)的飛速發(fā)展,各行業(yè)的業(yè)務(wù)類型需要不斷地調(diào)整和變化,系統(tǒng)的軟件版本也因此而需要頻繁地更新。由于業(yè)務(wù)系統(tǒng)本身具有較為復(fù)雜的層次結(jié)構(gòu),版本升級(jí)工作復(fù)雜,容易因人為因素造成運(yùn)行事故。另外,軟件的版本與版本之間的依賴關(guān)系復(fù)雜,版本控制難度較大。
發(fā)明內(nèi)容
鑒于上述問題,本發(fā)明的目的是提供一種實(shí)現(xiàn)軟件版本的自動(dòng)下發(fā)以及遠(yuǎn)程的版本控制的方法和系統(tǒng),能夠以多種手段實(shí)現(xiàn)版本的安裝,將版本下發(fā)和版本安裝的過程分開,從而避免系統(tǒng)遠(yuǎn)程升級(jí)在低速網(wǎng)絡(luò)的情況下引起堵塞,并實(shí)現(xiàn)自動(dòng)重連。
根據(jù)本發(fā)明的一個(gè)方面,提供一種用于分布式業(yè)務(wù)系統(tǒng)中的軟件版本升級(jí)方法,包括步驟集中管理服務(wù)器接收主系統(tǒng)輸入的新版本應(yīng)用軟件,更新集中管理服務(wù)器所連接的數(shù)據(jù)庫(kù)記錄的版本下發(fā)信息,以準(zhǔn)備下發(fā)新版本應(yīng)用軟件;將所接收的新版本應(yīng)用軟件下發(fā)到應(yīng)用服務(wù)器,更新所述應(yīng)用服務(wù)器連接的數(shù)據(jù)庫(kù)中的新版本應(yīng)用軟件的下發(fā)記錄;集中管理服務(wù)器和應(yīng)用服務(wù)器安裝各自所接收的新版本應(yīng)用軟件,應(yīng)用服務(wù)器向用戶終端提供新版本應(yīng)用軟件的下載;當(dāng)所述應(yīng)用服務(wù)器未能接收到新版本應(yīng)用軟件,請(qǐng)求集中管理服務(wù)器下載所述新版本應(yīng)用軟件,并提供給用戶終端;和用戶終端安裝所接收的新版本應(yīng)用軟件。
根據(jù)本發(fā)明的另一個(gè)方面,提供一種用于分布式業(yè)務(wù)系統(tǒng)中的軟件版本升級(jí)方法,包括步驟集中管理服務(wù)器接收主系統(tǒng)輸入的軟件新版本文件包,輪詢每個(gè)應(yīng)用服務(wù)器,依次向每個(gè)應(yīng)用服務(wù)器發(fā)送版本文件包,并更新集中管理服務(wù)器所連接的數(shù)據(jù)庫(kù)中與每個(gè)應(yīng)用服務(wù)器的新版本應(yīng)用軟件下載記錄對(duì)應(yīng)的信息;應(yīng)用服務(wù)器接收集中管理服務(wù)器發(fā)送的版本文件包,更新所述應(yīng)用服務(wù)器連接的數(shù)據(jù)庫(kù)中的有關(guān)所述應(yīng)用服務(wù)器的版本文件包的安裝記錄和狀態(tài);集中管理服務(wù)器和應(yīng)用服務(wù)器安裝各自的版本文件包,應(yīng)用服務(wù)器向用戶終端提供新版本應(yīng)用軟件的下載;用戶終端安裝所接收的新版本應(yīng)用軟件。
根據(jù)本發(fā)明的再一個(gè)方面,提供一種用于分布式業(yè)務(wù)系統(tǒng)中的軟件版本升級(jí)方法,包括步驟向集中管理服務(wù)器輸入軟件升級(jí)版本文件包;集中管理服務(wù)器保留本身的升級(jí)版本文件包,并向下層應(yīng)用服務(wù)器傳送用于下層應(yīng)用服務(wù)器的軟件升級(jí)所需的升級(jí)版本文件包;使數(shù)據(jù)庫(kù)服務(wù)器增加軟件版本的記錄,將其狀態(tài)設(shè)置為初始狀態(tài);向應(yīng)用服務(wù)器自動(dòng)下發(fā)升級(jí)版本文件包;集中管理服務(wù)器和應(yīng)用服務(wù)器安裝各自的版本文件包,應(yīng)用服務(wù)器向用戶終端提供新版本應(yīng)用軟件的下載;用戶終端安裝所接收的新版本應(yīng)用軟件。
根據(jù)本發(fā)明的再一個(gè)方面,提供一種用于分布式業(yè)務(wù)系統(tǒng)中的軟件版本升級(jí)系統(tǒng),包括集中管理服務(wù)器,通過網(wǎng)絡(luò)將多個(gè)應(yīng)用服務(wù)器連接在一起,用于向所述多個(gè)應(yīng)用服務(wù)器下發(fā)新版本的應(yīng)用軟件文件包,或者根據(jù)應(yīng)用服務(wù)器發(fā)起的版本下載請(qǐng)求提供新版本的應(yīng)用軟件文件包的下載服務(wù);多個(gè)應(yīng)用服務(wù)器,用于向終端用戶提供分布式業(yè)務(wù)系統(tǒng)的軟件版本升級(jí)和管理;多個(gè)用戶終端,用于接收應(yīng)用服務(wù)器下發(fā)的新版本的應(yīng)用軟件文件包和請(qǐng)求應(yīng)用服務(wù)器下載新版本的應(yīng)用軟件文件包,并運(yùn)行新版本軟件以向用戶提供相應(yīng)的業(yè)務(wù);多個(gè)數(shù)據(jù)庫(kù),分別用于記錄集中集中管理服務(wù)器、應(yīng)用服務(wù)器和用戶終端的軟件版本信息和軟件版本更新狀態(tài);和通信網(wǎng)絡(luò),用于在集中管理服務(wù)器、應(yīng)用服務(wù)器和用戶終端間進(jìn)行通信。
本發(fā)明提供了一種用于分布式業(yè)務(wù)系統(tǒng)的軟件自動(dòng)更新方法,可以使得部署運(yùn)行在不同物力地點(diǎn)的銀行業(yè)務(wù)系統(tǒng)在運(yùn)行過程中以多種手段獲取新版本并自動(dòng)更新自身各個(gè)組成模塊,以實(shí)現(xiàn)系統(tǒng)的協(xié)調(diào)一致的版本升級(jí)和方便快捷的版本管理。
本發(fā)明能有效地提高銀行業(yè)務(wù)系統(tǒng)版本下發(fā)的安全性,可靠性,降低系統(tǒng)版本的管理難度。
通過下面結(jié)合
本發(fā)明的優(yōu)選實(shí)施例,將使本發(fā)明的上述及其它目的、特征和優(yōu)點(diǎn)更加清楚,其中圖1是表示根據(jù)本發(fā)明實(shí)施例的業(yè)務(wù)系統(tǒng)的架構(gòu)圖;圖2是表示根據(jù)本發(fā)明實(shí)施例的分布式業(yè)務(wù)系統(tǒng)的軟件自動(dòng)更新系統(tǒng)中的集中管理服務(wù)器的配置方框圖;圖3是表示根據(jù)本發(fā)明實(shí)施例的業(yè)務(wù)系統(tǒng)中的應(yīng)用服務(wù)器的配置方框圖;圖4是表示根據(jù)本發(fā)明實(shí)現(xiàn)分布式業(yè)務(wù)系統(tǒng)的軟件自動(dòng)更新的終端設(shè)備的配置方框圖;
圖5是表示根據(jù)本發(fā)明實(shí)施例從集中管理服務(wù)器自動(dòng)下發(fā)版本到應(yīng)用服務(wù)器的流程圖;圖6是根據(jù)本發(fā)明實(shí)施例從應(yīng)用服務(wù)器請(qǐng)求下載版本以及系統(tǒng)軟件升級(jí)的流程圖;和圖7示出了根據(jù)本發(fā)明從應(yīng)用服務(wù)器到終端程序的版本下載和升級(jí)安裝的流程圖。
具體實(shí)施例方式
下面參照附圖對(duì)本發(fā)明的實(shí)施例進(jìn)行詳細(xì)的說明,在描述過程中省略了對(duì)于本發(fā)明來說不必要的細(xì)節(jié)和功能,以防止對(duì)本發(fā)明的理解造成混淆。
圖1是根據(jù)本發(fā)明實(shí)施例的業(yè)務(wù)系統(tǒng)的架構(gòu)圖。整個(gè)業(yè)務(wù)系統(tǒng)包括集中管理服務(wù)器1、數(shù)據(jù)庫(kù)服務(wù)器2、版本控制客戶端3、主管機(jī)構(gòu)局域網(wǎng)4、數(shù)據(jù)庫(kù)服務(wù)器5、一個(gè)或一個(gè)以上的應(yīng)用服務(wù)器6,廣域網(wǎng)7、分支機(jī)構(gòu)局域網(wǎng)8、一個(gè)或一個(gè)以上的個(gè)人計(jì)算機(jī)(PC)終端9,和智能終端10。
如圖1所示,集中管理服務(wù)器1通過主管機(jī)構(gòu)4將多臺(tái)應(yīng)用服務(wù)器6連接在一起,負(fù)責(zé)向應(yīng)用服務(wù)器6下發(fā)新版本的應(yīng)用軟件,或者針對(duì)應(yīng)用服務(wù)器發(fā)起的版本下載請(qǐng)求提供下載服務(wù)。在本實(shí)例中,主管機(jī)構(gòu)4可以是局域網(wǎng),但本發(fā)明不限于此,也可以采用其它的主管機(jī)構(gòu)網(wǎng)絡(luò)來實(shí)現(xiàn)集中管理服務(wù)器1與應(yīng)用服務(wù)器6的鏈接。
與集中管理服務(wù)器1連接的數(shù)據(jù)庫(kù)服務(wù)器2負(fù)責(zé)記錄和管理軟件版本下發(fā)過程中各個(gè)應(yīng)用服務(wù)器6的版本狀態(tài),并為管理人員了解版本下發(fā)狀況提供數(shù)據(jù)。
應(yīng)用服務(wù)器6向終端用戶提供系統(tǒng)軟件版本升級(jí)和管理,以及其它業(yè)務(wù)功能。一方面,應(yīng)用服務(wù)器6可以通過版本自動(dòng)下發(fā)裝置獲取新版本的軟件,以更新自身的系統(tǒng)。另一方面,應(yīng)用服務(wù)器6也可以向下端連接的眾多PC終端和智能終端提供軟件版本下載服務(wù)功能。應(yīng)用服務(wù)器6還與其自身的數(shù)據(jù)庫(kù)服務(wù)器5。數(shù)據(jù)庫(kù)服務(wù)器5用于存放該應(yīng)用服務(wù)器的版本安裝記錄和狀態(tài)。作為實(shí)例,圖1中示出了每個(gè)應(yīng)用服務(wù)器6各連接一個(gè)數(shù)據(jù)庫(kù)服務(wù)器5。然而,本發(fā)明不限于此,也可以是多個(gè)應(yīng)用服務(wù)器6連接到一個(gè)數(shù)據(jù)庫(kù)服務(wù)器5。數(shù)據(jù)庫(kù)服務(wù)器5可以存儲(chǔ)多個(gè)應(yīng)用服務(wù)器6的版本安裝記錄和狀態(tài),并根據(jù)各個(gè)應(yīng)用服務(wù)器6的ID來識(shí)別相應(yīng)的服務(wù)器,以便由應(yīng)用服務(wù)器6從數(shù)據(jù)庫(kù)服務(wù)器5提取其自身狀態(tài)數(shù)據(jù)。
主管機(jī)構(gòu)局域網(wǎng)4將多個(gè)應(yīng)用服務(wù)器6與集中管理服務(wù)器1連接起來。
版本控制客戶端3可以作為系統(tǒng)版本下發(fā)、更新和監(jiān)控集中管理服務(wù)器1的運(yùn)行的控制臺(tái)。系統(tǒng)管理人員通過版本控制客戶端3控制整個(gè)業(yè)務(wù)系統(tǒng),向整個(gè)系統(tǒng)傳送版本文件,集中下達(dá)版本下發(fā)、安裝等指令,并監(jiān)控整個(gè)版本下發(fā)的過程。
PC終端和智能終端(9,10)通過廣域網(wǎng)7與上端的應(yīng)用服務(wù)器6連接,并通過分支機(jī)構(gòu)局域網(wǎng)8相互連接。PC終端和智能終端是整個(gè)業(yè)務(wù)系統(tǒng)的人機(jī)交互界面。用戶(金融系統(tǒng)的業(yè)務(wù)人員)通過PC終端或智能終端錄入交易信息,并通過其與應(yīng)用服務(wù)器進(jìn)行交互,以完成各種業(yè)務(wù)交易。PC終端和智能終端(9,10)上都運(yùn)行著相同的終端程序,并同樣采用向應(yīng)用服務(wù)器6請(qǐng)求版本下發(fā)的方式完成自身版本的升級(jí)。對(duì)于版本自動(dòng)下發(fā)功能而言,兩者沒有區(qū)別。
圖2示出了集中管理服務(wù)器1內(nèi)部的系統(tǒng)架構(gòu)。應(yīng)該指出,在此僅示出了集中管理服務(wù)器1中與本發(fā)明的功能相關(guān)的部分,并省略了與實(shí)現(xiàn)本發(fā)明無關(guān)的部分,以避免對(duì)本發(fā)明造成混淆。如圖2所示,集中管理服務(wù)器1包括數(shù)據(jù)庫(kù)訪問接口21,版本下載服務(wù)裝置22,版本自動(dòng)下發(fā)裝置23,下層通信接口24,版本監(jiān)控通信接口25和版本升級(jí)控制裝置26。
在集中管理服務(wù)器1中,數(shù)據(jù)庫(kù)訪問接口21可以連接到數(shù)據(jù)庫(kù)服務(wù)器2,執(zhí)行數(shù)據(jù)庫(kù)的查詢、更新等操作。版本下載服務(wù)裝置23響應(yīng)通過下層通信接口24接收的來自應(yīng)用服務(wù)器6的版本下載請(qǐng)求,通過數(shù)據(jù)庫(kù)訪問接口21從數(shù)據(jù)庫(kù)提取新版本軟件,并通過下層通信接口24向發(fā)出請(qǐng)求的應(yīng)用服務(wù)器6下載新版本的軟件。另一方面,版本自動(dòng)下發(fā)裝置22通過數(shù)據(jù)庫(kù)訪問接口21從數(shù)據(jù)庫(kù)提取新版本軟件,并通過下層通信接口24主動(dòng)向應(yīng)用服務(wù)器6下發(fā)版本文件。版本自動(dòng)下發(fā)裝置22和版本下載服務(wù)裝置23都通過下層通信接口24與下端連接的應(yīng)用服務(wù)器通信。
版本監(jiān)控通信接口25負(fù)責(zé)監(jiān)聽來自版本控制客戶端3的操作指令,包括例如,各種版本下發(fā)和升級(jí)安裝操作。當(dāng)版本監(jiān)控通信接口25接收到升級(jí)安裝指令時(shí),還負(fù)責(zé)集中管理服務(wù)器1中軟件的升級(jí)安裝,同時(shí)還響應(yīng)客戶端對(duì)版本下發(fā)情況的查詢請(qǐng)求。版本升級(jí)控制裝置26還用于對(duì)通過版本監(jiān)控通信接口25從版本監(jiān)控通信接口25接收到的版本的解包和升級(jí)安裝操作。
圖3示出了根據(jù)本發(fā)明實(shí)施例的業(yè)務(wù)系統(tǒng)中的應(yīng)用服務(wù)器的配置方框圖,為了簡(jiǎn)化起見,該圖示出了應(yīng)用服務(wù)器內(nèi)部系統(tǒng)架構(gòu)與本發(fā)明功能相關(guān)的部分,并省略了與實(shí)現(xiàn)本發(fā)明無關(guān)的部分。如圖3所示,應(yīng)用服務(wù)器上層通信接口31用于與上端的集中管理服務(wù)器1進(jìn)行通信。當(dāng)有新版本的軟件從集中管理服務(wù)器1下發(fā)時(shí),應(yīng)用服務(wù)器版本接收裝置33用于通過應(yīng)用服務(wù)器上層通信接口31接收集中管理服務(wù)器1主動(dòng)下發(fā)的版本文件。另外,可以通過應(yīng)用服務(wù)器版本下載請(qǐng)求裝置32向集中管理服務(wù)器1詢問業(yè)務(wù)系統(tǒng)已更新的版本。如果新版本的軟件已經(jīng)到達(dá)本地,則由應(yīng)用服務(wù)器中的應(yīng)用服務(wù)器版本升級(jí)控制裝置37對(duì)接收到的新版本的軟件執(zhí)行解包和升級(jí)安裝操作。否則,如果應(yīng)用服務(wù)器版本接收裝置33沒有接收到新版本的軟件,還需要向集中管理服務(wù)器1請(qǐng)求下載該版本后再安裝。應(yīng)用服務(wù)器數(shù)據(jù)庫(kù)訪問接口34用于進(jìn)行數(shù)據(jù)庫(kù)的查詢、更新等操作。應(yīng)用服務(wù)器版本下載服務(wù)裝置35負(fù)責(zé)響應(yīng)來自下端終端用戶對(duì)程序的版本下載請(qǐng)求,并通過應(yīng)用服務(wù)器下層通信接口36與下端連接的用戶的PC終端9或智能終端10進(jìn)行通信,以向其傳送新版本軟件。
圖4示出了用戶的PC終端9和智能終端10中與本發(fā)明功能相關(guān)的部分的內(nèi)容系統(tǒng)架構(gòu)。如圖4所示,為了簡(jiǎn)化起見,省略了PC終端9和智能終端10中與實(shí)現(xiàn)本發(fā)明無關(guān)的部分。終端上層通信接口41用于通過網(wǎng)絡(luò)與上端的應(yīng)用服務(wù)器通信,以接收下發(fā)的新版本軟件或向應(yīng)用服務(wù)器6發(fā)出對(duì)新版本軟件的請(qǐng)求。終端版本下載請(qǐng)求裝置42用于向集中應(yīng)用服務(wù)器6詢問系統(tǒng)是否有已更新的版本。如有已更新的軟件,則將其下載到本地并由終端版本升級(jí)控制裝置43對(duì)接收的軟件版本進(jìn)行解包和升級(jí)安裝操作。
接下來,描述根據(jù)本發(fā)明的分布式業(yè)務(wù)系統(tǒng)中的軟件版本管理升級(jí)系統(tǒng)及其操作。
為了實(shí)現(xiàn)版本的自動(dòng)下發(fā)以及遠(yuǎn)程的版本控制,本發(fā)明的功能通過以下幾種方式來完成。
1.采用主動(dòng)和被動(dòng)方式實(shí)現(xiàn)版本下發(fā)如果按照版本文件傳遞的方向,將傳遞版本的雙方(集中管理服務(wù)器和PC終端或智能終端)稱為版本源和版本目標(biāo),則系統(tǒng)中版本文件的傳遞可分為由版本源主動(dòng)發(fā)起的版本下發(fā)(主動(dòng)方式),以及由版本目標(biāo)發(fā)起版本下載請(qǐng)求,版本源被動(dòng)地響應(yīng)該請(qǐng)求并提供下載服務(wù)的方式(即被動(dòng)方式)。
版本由集中管理服務(wù)器1到應(yīng)用服務(wù)器6的傳遞過程以主動(dòng)下發(fā)方式為主。在這種方式中,集中管理服務(wù)器1主 動(dòng)地輪詢每個(gè)應(yīng)用服務(wù)器6,依次向其發(fā)送版本文件包,從而避免了下端的應(yīng)用服務(wù)器集中向集中管理服務(wù)器1請(qǐng)求版本下載造成的網(wǎng)絡(luò)擁塞以及在下載過程中等待時(shí)間過長(zhǎng)的問題。另一方面,應(yīng)用服務(wù)器6也可以向集中管理服務(wù)器1請(qǐng)求下載那些已經(jīng)在系統(tǒng)中啟用的版本。這樣就避免了應(yīng)用服務(wù)器6因?yàn)槟承┰驔]有開機(jī)而錯(cuò)過由集中管理服務(wù)器主動(dòng)發(fā)起的版本下發(fā)過程,保證系統(tǒng)中版本的一致性。
由于單個(gè)終端的版本升級(jí)只涉及單個(gè)用戶,因此版本文件由應(yīng)用服務(wù)器到分支機(jī)構(gòu)各種終端的傳遞過程采用被動(dòng)方式,即由終端在啟動(dòng)時(shí)連接到應(yīng)用服務(wù)器6,詢問是否有新版本需要更新。如果有,則由應(yīng)用服務(wù)器6提供版本文件的下載服務(wù)。
2.版本下發(fā)和版本啟用(安裝)相分離由于諸如金融業(yè)務(wù)系統(tǒng)之類的系統(tǒng)規(guī)模非常龐大,涉及數(shù)量眾多的基礎(chǔ)網(wǎng)點(diǎn)和終端設(shè)備,因此版本自動(dòng)下發(fā)是一個(gè)相對(duì)較長(zhǎng)的過程。在此過程中,要求版本下發(fā)和安裝操作不影響系統(tǒng)正常的業(yè)務(wù)操作。如果將版本下發(fā)和版本安裝捆綁在一起,對(duì)于執(zhí)行版本下發(fā)的版本源來講,其處理能力在某一時(shí)刻必然受版本源所在硬件設(shè)備的系統(tǒng)處理能力的限制,從而導(dǎo)致各子系統(tǒng)(例如交易服務(wù)器和數(shù)量眾多的終端)為保證版本的統(tǒng)一升級(jí)而長(zhǎng)時(shí)間排隊(duì)。按照本發(fā)明,將版本下發(fā)和版本安裝相分離,即可將版本先下發(fā)到各個(gè)應(yīng)用服務(wù)器,再由應(yīng)用服務(wù)器下發(fā)到用戶終端,從而使版本下發(fā)過程對(duì)于各子系統(tǒng)而言可以有先后的區(qū)別,但對(duì)于版本安裝則采用統(tǒng)一、自主安裝的策略。這樣,既保證了整個(gè)系統(tǒng)中各子系統(tǒng)采用統(tǒng)一版本,又使版本安裝采用分布式處理,從而提高了版本升級(jí)操作的效率。
3.采用數(shù)據(jù)庫(kù)記錄版本文件下發(fā)記錄和所處狀態(tài)本發(fā)明利用數(shù)據(jù)庫(kù)記錄各交易服務(wù)器上版本文件的到位情況,以及版本所處的狀態(tài),從而提供智能化的版本自動(dòng)下發(fā)功能,并為操作人員查詢版本下發(fā)情況提供數(shù)據(jù)。其中,與集中管理服務(wù)器1連接的數(shù)據(jù)庫(kù)2主要存放版本文件當(dāng)前的下發(fā)狀態(tài),并記錄下層各應(yīng)用服務(wù)器6的版本到位的情況。與應(yīng)用服務(wù)器6連接的數(shù)據(jù)庫(kù)5主要記錄本地版本的下發(fā)狀態(tài)。
4.版本文件包按傳遞順序分層次組織根據(jù)本發(fā)明,按照版本文件傳遞的順序,對(duì)各層子系統(tǒng)所需的版本包層層嵌套地進(jìn)行打包,本層得到的版本文件包含下一層的,通過下發(fā)過程層層剝離,向下傳遞。
最初,版本包包括集中管理該集中管理服務(wù)器1、應(yīng)用服務(wù)器6和終端(9,10)的程序的升級(jí)版本。當(dāng)版本包從版本控制客戶端3到達(dá)集中管理服務(wù)器后1,該版本包被解包,其中一部分文件是集中管理服務(wù)器的版本,這部分文件留在集中管理服務(wù)器1上,另一部分則包括下一層交易服務(wù)器以及終端程序的升級(jí)版本,這部分文件則繼續(xù)向應(yīng)用服務(wù)器6傳遞。在到達(dá)應(yīng)用服務(wù)器6之后,該版本文件包又被解包,分為兩部分。被應(yīng)用服務(wù)器6解包的文件的一部分是應(yīng)用服務(wù)器的升級(jí)版本,保留在應(yīng)用服務(wù)器上,另一部分則為終端程序的升級(jí)版本,將被下載到終端上供升級(jí)時(shí)安裝使用。
通過采用層層嵌套的方式組織版本包,可以對(duì)各子系統(tǒng)的版本升級(jí)進(jìn)行統(tǒng)一控制,從而可以對(duì)整個(gè)系統(tǒng)中的版本升級(jí)進(jìn)行有效管理。
5.用XML文檔描述版本升級(jí)的各類操作版本在安裝時(shí)可能采用解壓縮、打包數(shù)據(jù)備份、拷貝、移動(dòng)、執(zhí)行shell腳本等操作,而且這些操作在每個(gè)升級(jí)版本的安裝過程中并不是完全一致的。本發(fā)明將版本安裝步驟按照XML格式進(jìn)行描述,形成操作清單,與版本文件打包在一起,在版本包升級(jí)時(shí)首先解析出該清單,然后系統(tǒng)按照清單中定義的操作步驟對(duì)升級(jí)版本文件進(jìn)行操作。由于XML語言良好的可擴(kuò)展性,可以方便的定義更多新的操作,為以后系統(tǒng)的版本升級(jí)提供新的手段。
下面給出以一個(gè)應(yīng)用服務(wù)器升級(jí)版本的操作清單文件的例子,以說明系統(tǒng)是如何按照操作清單完成版本升級(jí)工作的。
<ver>
<name>cts</name>//版本名稱<version>0.0.1</version> //版本號(hào)<action> //A、備份操作<backup>
<mkdir>./ctsbackup</mkdir> //創(chuàng)建備份目錄<copy>
<src>./cts/version</src> //將原有版本目錄進(jìn)行備份<des>./ctsbackup</des>
</copy>
</backup>
<update> //B、升級(jí)操作<mkdir>./ctsupdate</mkdir> //創(chuàng)建升級(jí)目錄<decompress> //解壓縮文件包<src>./version/cts_0.0.1.jar</src>
<des>./ctsupdate</des>
</decompress>
<copy> //拷貝文件<src>./ctsupdate/rc/ctb/windows/ctbver_0.0.1.jar</src>
<des>./rc/ctb/windows/</des>
</copy>
<exec>./rc/ctb/windows/cts.shell</exec> //執(zhí)行腳本操作......
<delete>./ctsupdate</delete>//刪除目錄<delete>./ctsbackup</delete>
</update>
<recover> //C、恢復(fù)操作<move>
<src>./ctsbackup</src> //將原有版本目錄進(jìn)行備份<des>./cts/version</des>
</move>
</recover>
</action>
</ver>
如上面給出的程序所示,其中給出了備份操作,升級(jí)操作和恢復(fù)操作。下面對(duì)這些操作進(jìn)行說明。
A.備份操作為了防止系統(tǒng)升級(jí)過程中出現(xiàn)故障,導(dǎo)致原有的系統(tǒng)文件受損或被覆蓋,需要在升級(jí)前對(duì)現(xiàn)有文件系統(tǒng)進(jìn)行備份。為此,程序解析該XML格式的操作清單,當(dāng)讀到“<mkdir>”節(jié)點(diǎn),即按照該節(jié)點(diǎn)內(nèi)的值創(chuàng)建一個(gè)備份目錄。然后,讀到“<copy>”節(jié)點(diǎn),將本次升級(jí)可能涉及的文件目錄復(fù)制到該備份路徑下。
B.升級(jí)操作版本文件包在傳輸過程中是經(jīng)過壓縮處理的,以便減小網(wǎng)絡(luò)傳輸?shù)臄?shù)據(jù)量。因此,在升級(jí)前,首先需要?jiǎng)?chuàng)建一個(gè)升級(jí)目錄,將版本文件包解壓縮后存放在該目錄下。此后,將其中的文件移動(dòng)到系統(tǒng)應(yīng)有的路徑下。另外,操作清單還定義了對(duì)其中一些腳本的執(zhí)行操作,通過執(zhí)行這些腳本實(shí)現(xiàn)一些復(fù)雜的系統(tǒng)操作如增加或改變系統(tǒng)變量、設(shè)置操作系統(tǒng)參數(shù)等;最后需要?jiǎng)h除創(chuàng)建的兩個(gè)臨時(shí)工作目錄。
C.恢復(fù)操作如果在升級(jí)操作中出現(xiàn)錯(cuò)誤,將使整個(gè)系統(tǒng)升級(jí)失敗。此時(shí)系統(tǒng)應(yīng)該恢復(fù)到升級(jí)前的文件系統(tǒng)狀態(tài)。操作清單定義了將備份操作保存的數(shù)據(jù)恢復(fù)到原有路徑的動(dòng)作,使系統(tǒng)始終能夠保持完整性,提高了系統(tǒng)升級(jí)的容錯(cuò)能力。
下面參考圖5說明根據(jù)本發(fā)明從集中管理服務(wù)器自動(dòng)下發(fā)版本到應(yīng)用服務(wù)器的流程的一個(gè)實(shí)施例。該過程主要包括系統(tǒng)管理人員將升級(jí)版本文件從版本控制客戶端3傳遞到整個(gè)系統(tǒng)。按照版本在系統(tǒng)中的運(yùn)動(dòng)過程分為從客戶端上傳到集中管理服務(wù)器1,從集中管理服務(wù)器1下發(fā)到應(yīng)用服務(wù)器6,集中管理服務(wù)器1和應(yīng)用服務(wù)器6的升級(jí)安裝,應(yīng)用服務(wù)器6到終端程序的版本下載和升級(jí)安裝4個(gè)階段,現(xiàn)在分別介紹4個(gè)階段的工作流程。
首先,由系統(tǒng)管理人員通過版本控制客戶端3將升級(jí)版本文件上傳到集中管理服務(wù)器1。在步驟S501,由集中管理服務(wù)器1上的版本監(jiān)控通信接口25接收該升級(jí)版本文件。應(yīng)該指出,本發(fā)明不限于升級(jí)版本文件,也可以是全新的軟件。該版本文件可以有兩個(gè)部分,一部分是集中管理服務(wù)器1本身的升級(jí)程序包,另一部分則是下端(包括應(yīng)用服務(wù)器6和終端程序9,10)所用的升級(jí)版本程序。兩部分版本被打在一個(gè)壓縮包內(nèi)。該版本到達(dá)集中管理服務(wù)器1后,首先由版本升級(jí)控制裝置將該升級(jí)文件包接開,分成兩部分。然后,在步驟S502,通過數(shù)據(jù)庫(kù)訪問接口21在數(shù)據(jù)庫(kù)服務(wù)器增加該版本的信息,將其狀態(tài)設(shè)置為初始狀態(tài)。此時(shí),管理人員通過版本控制客戶端3可以查看到該版本已經(jīng)進(jìn)入系統(tǒng)。
此后,在步驟S503,通過數(shù)據(jù)庫(kù)訪問接口(圖2裝置1)訪問數(shù)據(jù)庫(kù)2,判斷該版本的狀態(tài)是否為正在自動(dòng)下發(fā)。如果步驟S502的判斷結(jié)果為否定,流程則轉(zhuǎn)到步驟S510,表明該版本的自動(dòng)下發(fā)過程結(jié)束。如果在步驟S503判斷該版本的狀態(tài)處在自動(dòng)下發(fā)狀態(tài),流程則進(jìn)行到步驟S504,集中管理服務(wù)器訪問其連接的數(shù)據(jù)庫(kù)2,然后根據(jù)當(dāng)前版本號(hào),查找那些目前尚未得到該版本文件的應(yīng)用服務(wù)器,將這些應(yīng)用服務(wù)器的ID送版本自動(dòng)下發(fā)裝置,排列在向其自動(dòng)下發(fā)升級(jí)版本文件的任務(wù)隊(duì)列中,并向應(yīng)用服務(wù)器執(zhí)行升級(jí)版本文件自動(dòng)下發(fā)過程。版本自動(dòng)下發(fā)裝置依照隊(duì)列逐一向應(yīng)用服務(wù)器發(fā)送版本。然后,在步驟S505,每發(fā)送成功一次,即在數(shù)據(jù)庫(kù)中記錄該結(jié)果,集中管理服務(wù)器1檢驗(yàn)其任務(wù)隊(duì)列中是否為空,直到隊(duì)列為空時(shí)循環(huán)結(jié)束。如果步驟S505的判斷結(jié)果為否定,流程則進(jìn)行到步驟S506,繼續(xù)任務(wù)隊(duì)列中排列的應(yīng)用服務(wù)器自動(dòng)下發(fā)升級(jí)版本文件,并在步驟S506后返回步驟S505,檢查任務(wù)隊(duì)列。
如果在步驟S505判斷任務(wù)隊(duì)列為空,流程則進(jìn)行的步驟S507,集中管理服務(wù)器1訪問數(shù)據(jù)庫(kù)2查看得到版本文件的應(yīng)用服務(wù)器的數(shù)量,并在步驟S508判斷版本自動(dòng)下發(fā)是否達(dá)到預(yù)定的效果。當(dāng)其下發(fā)比例超過預(yù)先設(shè)定的閾值時(shí),則認(rèn)為版本下發(fā)達(dá)到預(yù)定效果。此時(shí),流程進(jìn)行到步驟S509,集中管理服務(wù)器1再次訪問數(shù)據(jù)庫(kù)2,修改其中存儲(chǔ)的有關(guān)服務(wù)器的版本的狀態(tài)為“版本下發(fā)成功”,并退出下發(fā)過程。相反,如果在步驟S508判斷的結(jié)果為否定,則表明對(duì)其中一部分應(yīng)用服務(wù)器6的版本下發(fā)過程失敗。這種情況下,可以在數(shù)據(jù)庫(kù)中查到的版本文件下發(fā)不成功的應(yīng)用服務(wù)器的ID及這些服務(wù)器的數(shù)量。這些服務(wù)器的數(shù)量將表明版本下發(fā)未達(dá)到預(yù)定效果,則系統(tǒng)將返回步驟S503,再次循環(huán)下發(fā)該版本。
下面參考圖6描述集中管理服務(wù)器1和應(yīng)用服務(wù)器6的版本升級(jí)安裝過程。管理人員通過版本控制客戶端3向集中管理服務(wù)器1下達(dá)版本升級(jí)的指令。集中管理服務(wù)器1首先經(jīng)版本監(jiān)控通信接口25接收該命令,然后通過數(shù)據(jù)庫(kù)訪問接口21訪問數(shù)據(jù)庫(kù)2,將該版本的狀態(tài)由“版本下發(fā)成功”改為“準(zhǔn)備安裝版本”。
當(dāng)集中管理服務(wù)器1下次啟動(dòng)系統(tǒng)時(shí),首先訪問數(shù)據(jù)庫(kù)2,當(dāng)發(fā)現(xiàn)該軟件版本處于升級(jí)準(zhǔn)備狀態(tài)時(shí),則由版本升級(jí)控制裝置26依照版本文件包中的升級(jí)操作清單完成各種升級(jí)動(dòng)作。之后,修改數(shù)據(jù)庫(kù)2中對(duì)該軟件版本的記錄狀態(tài),例如,由“準(zhǔn)備安裝”改為“已經(jīng)安裝”。此時(shí),下端的眾多應(yīng)用服務(wù)器6仍未進(jìn)行該新版本的升級(jí)安裝。
隨后,在應(yīng)用服務(wù)器端,在步驟S601,啟動(dòng)應(yīng)用服務(wù)器,通過上層通信接口31連接到集中管理服務(wù)器1上。此后,在步驟S602,應(yīng)用服務(wù)器試圖對(duì)自身進(jìn)行版本升級(jí)。具體地講,應(yīng)用服務(wù)器1向其所連接的數(shù)據(jù)庫(kù)5查詢自身當(dāng)前的版本號(hào),將其上送集中管理服務(wù)器,并在步驟S603詢問集中管理服務(wù)器是否有新的版本需要升級(jí)安裝。接下來,在步驟S604,集中管理服務(wù)器1中的版本下發(fā)服務(wù)裝置35處理來自應(yīng)用服務(wù)器6的查詢請(qǐng)求。然后,在步驟S605,版本下發(fā)服務(wù)裝置35根據(jù)該應(yīng)用服務(wù)器6的版本號(hào),查找當(dāng)前本地?cái)?shù)據(jù)庫(kù)2中的版本情況,以確定是否有已經(jīng)安裝的新版本。如果在步驟S605發(fā)現(xiàn)本地系統(tǒng)的當(dāng)前版本高于該應(yīng)用服務(wù)器6當(dāng)前使用的版本,則在步驟S606將所需安裝的版本號(hào)發(fā)送回應(yīng)用服務(wù)器6;如果本地系統(tǒng)的當(dāng)前版本與該應(yīng)用服務(wù)器6當(dāng)前使用的版本相同,則向應(yīng)用服務(wù)器6返回相應(yīng)的信息。
應(yīng)用服務(wù)器6在步驟S607接收從集中管理服務(wù)器返回的查詢結(jié)果,并在步驟S608判斷是否需要對(duì)該應(yīng)用服務(wù)器中使用的軟件版本進(jìn)行升級(jí)。如果在步驟S608判斷不需要對(duì)其軟件版本進(jìn)行升級(jí),流程則轉(zhuǎn)到步驟S615,結(jié)束該版本升級(jí)安裝過程。如果需要對(duì)應(yīng)用服務(wù)器6中的軟件版本進(jìn)行升級(jí),流程則轉(zhuǎn)到步驟S609,首先查看所需升級(jí)的版本是否由于集中管理服務(wù)器1主動(dòng)下發(fā)或者手工拷貝等原因已經(jīng)預(yù)先到達(dá)本地(即本應(yīng)用服務(wù)器連接的數(shù)據(jù)庫(kù)5。如果步驟S609中的判斷結(jié)果為否定,即新版本的軟件仍未到達(dá)本地,則在步驟S610由版本下載請(qǐng)求裝置32向集中管理服務(wù)器1請(qǐng)求下載該版本的軟件。
集中管理服務(wù)器1中的版本下載服務(wù)裝置23在步驟S611負(fù)責(zé)將該版本的軟件送到應(yīng)用服務(wù)器6,并由應(yīng)用服務(wù)器6在步驟S612通過網(wǎng)絡(luò)接收版本下載服務(wù)裝置23提供的軟件版本。接下來,由應(yīng)用服務(wù)器6上的版本升級(jí)控制裝置37在步驟S613完成升級(jí)版本的各項(xiàng)操作。在步驟S614,應(yīng)用服務(wù)器6通過數(shù)據(jù)庫(kù)訪問接口在應(yīng)用服務(wù)器所連接的數(shù)據(jù)庫(kù)中記錄安裝后系統(tǒng)當(dāng)前的最新版本,最后在步驟S615退出升級(jí)操作。
另外,如果應(yīng)用服務(wù)器在步驟S609判斷版本文件已經(jīng)在本地,流程則繼續(xù)進(jìn)行到步驟步驟S613,執(zhí)行如上所述的涉及升級(jí)版本的各項(xiàng)操作。
圖7示出了從應(yīng)用服務(wù)器到終端程序的版本下載和升級(jí)安裝的流程。該過程與應(yīng)用服務(wù)器從集中管理服務(wù)器下載和升級(jí)安裝的過程基本相同。下面參考圖7對(duì)其進(jìn)行詳細(xì)說明。
在步驟S701,啟動(dòng)用戶終端(9,10),通過終端上層通信接口41連接到應(yīng)用服務(wù)器6上。此后,在步驟S702,用戶終端試圖對(duì)自身進(jìn)行版本升級(jí)。具體地講,用戶終端查詢自身當(dāng)前運(yùn)行的版本號(hào),將其上送給應(yīng)用服務(wù)器6,并在步驟S703詢問應(yīng)用服務(wù)器6是否有新的版本需要升級(jí)安裝。接下來,在步驟S704,應(yīng)用服務(wù)器6中的應(yīng)用服務(wù)器版本下發(fā)服務(wù)裝置35處理來自用戶終端的查詢請(qǐng)求。然后,在步驟S705,應(yīng)用服務(wù)器版本下發(fā)服務(wù)裝置35根據(jù)該用戶終端提供的版本號(hào),在其所連接的數(shù)據(jù)庫(kù)中查找用戶終端的版本情況,以確定是否有已經(jīng)安裝的新版本。如果在步驟S705發(fā)現(xiàn)應(yīng)用服務(wù)器的當(dāng)前版本高于該用戶終端當(dāng)前使用的版本,則在步驟S706將所需安裝的版本號(hào)發(fā)送給用戶終端;如果應(yīng)用服務(wù)器的當(dāng)前版本與用戶終端當(dāng)前使用的版本相同,則在步驟S706向用戶終端返回相應(yīng)的信息。
用戶終端在步驟S707接收從應(yīng)用服務(wù)器返回的查詢結(jié)果,并在步驟S708判斷是否需要對(duì)該用戶終端中運(yùn)行的軟件版本進(jìn)行升級(jí)。如果在步驟S708判斷不需要對(duì)其軟件版本進(jìn)行升級(jí),流程則轉(zhuǎn)到步驟S715,結(jié)束該版本升級(jí)安裝過程。如果需要對(duì)用戶終端中運(yùn)行的軟件版本進(jìn)行升級(jí),流程則轉(zhuǎn)到步驟S709,首先查看所需升級(jí)的版本是否由于應(yīng)用服務(wù)器6主動(dòng)下發(fā)或者手工拷貝等原因已經(jīng)預(yù)先到達(dá)該用戶終端。如果步驟S709中的判斷結(jié)果為否定,即新版本的軟件仍未到達(dá)本地,則在步驟S710由終端版本下載請(qǐng)求裝置42向應(yīng)用服務(wù)器6請(qǐng)求下載該版本的軟件。
應(yīng)用服務(wù)器6中的應(yīng)用服務(wù)器版本下載服務(wù)裝置35在步驟S711負(fù)責(zé)將該版本的軟件送到用戶終端,并用戶終端在步驟S712通過網(wǎng)絡(luò)接收版本下載服務(wù)裝置35提供的軟件版本。接下來,用戶終端在步驟S713完成升級(jí)版本的各項(xiàng)操作。然后,在步驟S714,應(yīng)用服務(wù)器在應(yīng)用服務(wù)器所連接的數(shù)據(jù)庫(kù)中記錄已經(jīng)將最新版本的軟件提供給該用戶終端,最后在步驟S715退出升級(jí)操作。
另外,如果用戶終端在步驟S709判斷版本文件已經(jīng)在本地,流程則繼續(xù)進(jìn)行到步驟步驟S713,執(zhí)行如上所述的涉及升級(jí)版本的各項(xiàng)操作。
根據(jù)本發(fā)明的系統(tǒng)和方法能夠有效地解決了大型業(yè)務(wù)系統(tǒng),特別是金融業(yè)務(wù)系統(tǒng)中版本升級(jí)的升級(jí)維護(hù)和版本管理、控制問題,與現(xiàn)有的本地化版本安裝方式相比,其優(yōu)點(diǎn)主要從以下幾個(gè)方面
1)大型金融業(yè)務(wù)系統(tǒng)擁有數(shù)量眾多的子系統(tǒng)或終端,要為這些分散地運(yùn)行在不同物理位置的計(jì)算機(jī)設(shè)備上的應(yīng)用軟件進(jìn)行升級(jí),其維護(hù)工作量極大。尤其是在業(yè)務(wù)發(fā)展迅速,升級(jí)工作頻繁的情況下,其維護(hù)成本很大。本發(fā)明為這類大型金融業(yè)務(wù)應(yīng)用系統(tǒng)提供了遠(yuǎn)程、自動(dòng)化的升級(jí)手段,尤其是實(shí)現(xiàn)了終端程序極大地降低了系統(tǒng)運(yùn)行維護(hù)成本。
2)由于金融業(yè)務(wù)系統(tǒng)子系統(tǒng)或終端數(shù)量眾多,尤其是終端,由不同的分支機(jī)構(gòu)對(duì)其進(jìn)行維護(hù),因此常出現(xiàn)因?yàn)楣芾砝щy而各部分版本不一致,難以將整個(gè)系統(tǒng)各部分控制在一個(gè)統(tǒng)一的版本水平上。本發(fā)明采用數(shù)據(jù)庫(kù)對(duì)版本下發(fā)狀況和當(dāng)前運(yùn)行版本進(jìn)行跟蹤記錄,并在系統(tǒng)啟動(dòng)時(shí)通過向上詢問版本的方式保證同一層次的子系統(tǒng)版本一致,對(duì)整個(gè)系統(tǒng)各部分運(yùn)行的版本升級(jí)情況進(jìn)行了有效的控制,避免了系統(tǒng)版本管理的混亂,最終減少了因版本問題造成生產(chǎn)事故的可能。
3)本發(fā)明采用XML語言描述版本升級(jí)操作,使版本升級(jí)可以根據(jù)各個(gè)版本的具體情況自定義升級(jí)操作,并且充分利用XML可擴(kuò)展標(biāo)記語言的特性,使升級(jí)操作可以隨著系統(tǒng)自身的不斷發(fā)展而擴(kuò)展、進(jìn)化,使系統(tǒng)該功能具有良好的柔性。
至此已經(jīng)結(jié)合優(yōu)選實(shí)施例對(duì)本發(fā)明進(jìn)行了描述。本領(lǐng)域技術(shù)人員應(yīng)該理解,在不脫離本發(fā)明的精神和范圍的情況下,可以進(jìn)行各種其它的改變、替換和添加。因此,本發(fā)明的范圍不應(yīng)該被理解為被局限于上述特定實(shí)施例,而應(yīng)由所附權(quán)利要求所限定。
權(quán)利要求
1.一種用于分布式業(yè)務(wù)系統(tǒng)中的軟件版本升級(jí)方法,包括步驟集中管理服務(wù)器接收主系統(tǒng)輸入的新版本應(yīng)用軟件,更新集中管理服務(wù)器所連接的數(shù)據(jù)庫(kù)記錄的版本下發(fā)信息,以準(zhǔn)備下發(fā)新版本應(yīng)用軟件;將所接收的新版本應(yīng)用軟件下發(fā)到應(yīng)用服務(wù)器,更新所述應(yīng)用服務(wù)器連接的數(shù)據(jù)庫(kù)中的新版本應(yīng)用軟件的下發(fā)記錄;集中管理服務(wù)器和應(yīng)用服務(wù)器安裝各自所接收的新版本應(yīng)用軟件,應(yīng)用服務(wù)器向用戶終端提供新版本應(yīng)用軟件的下載;當(dāng)所述應(yīng)用服務(wù)器未能接收到新版本應(yīng)用軟件,請(qǐng)求集中管理服務(wù)器下載所述新版本應(yīng)用軟件,并提供給用戶終端;和用戶終端安裝所接收的新版本應(yīng)用軟件。
2.一種用于分布式業(yè)務(wù)系統(tǒng)中的軟件版本升級(jí)方法,包括步驟集中管理服務(wù)器接收主系統(tǒng)輸入的軟件新版本文件包,輪詢每個(gè)應(yīng)用服務(wù)器,依次向每個(gè)應(yīng)用服務(wù)器發(fā)送版本文件包,并更新集中管理服務(wù)器所連接的數(shù)據(jù)庫(kù)中與每個(gè)應(yīng)用服務(wù)器的新版本應(yīng)用軟件下載記錄對(duì)應(yīng)的信息;應(yīng)用服務(wù)器接收集中管理服務(wù)器發(fā)送的版本文件包,更新所述應(yīng)用服務(wù)器連接的數(shù)據(jù)庫(kù)中的有關(guān)所述應(yīng)用服務(wù)器的版本文件包的安裝記錄和狀態(tài);集中管理服務(wù)器和應(yīng)用服務(wù)器安裝各自的版本文件包,應(yīng)用服務(wù)器向用戶終端提供新版本應(yīng)用軟件的下載;用戶終端安裝所接收的新版本應(yīng)用軟件。
3.根據(jù)權(quán)利要求2所述的方法,其中進(jìn)一步包括應(yīng)用服務(wù)器向集中管理服務(wù)器詢問有關(guān)分布式業(yè)務(wù)系統(tǒng)中當(dāng)前所運(yùn)行的軟件的版本,并且當(dāng)應(yīng)用服務(wù)器運(yùn)行的軟件的版本與集中管理服務(wù)器中運(yùn)行的軟件的版本不相同時(shí),請(qǐng)求集中管理服務(wù)器下載分布式業(yè)務(wù)系統(tǒng)中已經(jīng)啟用的新版本軟件文件包的步驟。
4.根據(jù)權(quán)利要求2所述的方法,其中進(jìn)一步包括用戶終端在啟動(dòng)時(shí)詢問所連接的應(yīng)用服務(wù)器是否有需要更新用戶終端中所運(yùn)行的軟件的版本,并在需要更新軟件的版本時(shí)由應(yīng)用服務(wù)器向用戶終端提供版本文件包的步驟。
5.根據(jù)權(quán)利要求2所述的方法,其中進(jìn)一步包括按照版本文件傳遞的順序,對(duì)各層子系統(tǒng)所需的版本層層嵌套地進(jìn)行打包,使本層得到的版本文件包含下一層的版本文件包,通過下發(fā)過程剝離版本文件包,以向下層傳遞的步驟。
6.根據(jù)權(quán)利要求2所述的方法,其中進(jìn)一步包括當(dāng)版本文件包到達(dá)集中管理服務(wù)器后,對(duì)版本文件包解包,其中一部分文件保留在集中管理服務(wù)器,另一部分版本文件包傳送到下一層應(yīng)用服務(wù)器以及終端的步驟。
7.一種用于分布式業(yè)務(wù)系統(tǒng)中的軟件版本升級(jí)方法,包括步驟向集中管理服務(wù)器輸入軟件升級(jí)版本文件包;集中管理服務(wù)器保留本身的升級(jí)版本文件包,并向下層應(yīng)用服務(wù)器傳送用于下層應(yīng)用服務(wù)器的軟件升級(jí)所需的升級(jí)版本文件包;使數(shù)據(jù)庫(kù)服務(wù)器增加軟件版本的記錄,將其狀態(tài)設(shè)置為初始狀態(tài);向應(yīng)用服務(wù)器自動(dòng)下發(fā)升級(jí)版本文件包;集中管理服務(wù)器和應(yīng)用服務(wù)器安裝各自的版本文件包,應(yīng)用服務(wù)器向用戶終端提供新版本應(yīng)用軟件的下載;用戶終端安裝所接收的新版本應(yīng)用軟件。
8.根據(jù)權(quán)利要求7所述的方法,其中進(jìn)一步包括集中管理服務(wù)器查找目前尚未得到該升級(jí)版本文件包的應(yīng)用服務(wù)器,將這些應(yīng)用服務(wù)器的ID排列在向其自動(dòng)下發(fā)升級(jí)版本文件的任務(wù)隊(duì)列中,并向應(yīng)用服務(wù)器執(zhí)行升級(jí)版本文件包自動(dòng)下發(fā)過程的步驟。
9.根據(jù)權(quán)利要求7所述的方法,其中進(jìn)一步包括集中管理服務(wù)器訪問所連接的數(shù)據(jù)庫(kù)以查看得到版本文件包的應(yīng)用服務(wù)器的數(shù)量,以判斷版本自動(dòng)下發(fā)是否達(dá)到預(yù)定的效果的步驟。
10.根據(jù)權(quán)利要求7所述的方法,其中進(jìn)一步包括在升級(jí)版本文件包下發(fā)過程失敗的情況下,在數(shù)據(jù)庫(kù)中查找的升級(jí)版本文件包下發(fā)失敗的應(yīng)用服務(wù)器的ID及這些服務(wù)器的數(shù)量,并在數(shù)據(jù)庫(kù)中記錄這些應(yīng)用服務(wù)器下發(fā)失敗的步驟。
11.根據(jù)權(quán)利要求7所述的方法,其中進(jìn)一步包括應(yīng)用服務(wù)器向集中管理服務(wù)器請(qǐng)求下載那些已經(jīng)在系統(tǒng)中啟用的軟件版本的升級(jí)版本文件包的步驟。
12.一種用于分布式業(yè)務(wù)系統(tǒng)中的軟件版本升級(jí)系統(tǒng),包括集中管理服務(wù)器,通過網(wǎng)絡(luò)將多個(gè)應(yīng)用服務(wù)器連接在一起,用于向所述多個(gè)應(yīng)用服務(wù)器下發(fā)新版本的應(yīng)用軟件文件包,或者根據(jù)應(yīng)用服務(wù)器發(fā)起的版本下載請(qǐng)求提供新版本的應(yīng)用軟件文件包的下載服務(wù);多個(gè)應(yīng)用服務(wù)器,用于向終端用戶提供分布式業(yè)務(wù)系統(tǒng)的軟件版本升級(jí)和管理;多個(gè)用戶終端,用于接收應(yīng)用服務(wù)器下發(fā)的新版本的應(yīng)用軟件文件包和請(qǐng)求應(yīng)用服務(wù)器下載新版本的應(yīng)用軟件文件包,并運(yùn)行新版本軟件以向用戶提供相應(yīng)的業(yè)務(wù);多個(gè)數(shù)據(jù)庫(kù),分別用于記錄集中管理服務(wù)器、應(yīng)用服務(wù)器和用戶終端的軟件版本信息和軟件版本更新狀態(tài);和通信網(wǎng)絡(luò),用于在集中管理服務(wù)器、應(yīng)用服務(wù)器和用戶終端間進(jìn)行通信。
13.根據(jù)權(quán)利要求12所述的系統(tǒng),其中所述集中管理服務(wù)器包括數(shù)據(jù)庫(kù)訪問接口,用于連接到數(shù)據(jù)庫(kù),以執(zhí)行數(shù)據(jù)庫(kù)的查詢、更新操作;版本下載服務(wù)裝置,用于響應(yīng)來自應(yīng)用服務(wù)器的版本下載請(qǐng)求,通過數(shù)據(jù)庫(kù)訪問接口從數(shù)據(jù)庫(kù)提取新版本軟件,并向應(yīng)用服務(wù)器下載新版本的軟件;版本自動(dòng)下發(fā)裝置,通過數(shù)據(jù)庫(kù)訪問接口從數(shù)據(jù)庫(kù)提取新版本軟件,并通過下層通信接口向應(yīng)用服務(wù)器下發(fā)版本文件;版本監(jiān)控通信接口,用于系統(tǒng)操作員的操作指令和響應(yīng)系統(tǒng)操作員對(duì)軟件版本下發(fā)情況的查詢請(qǐng)求;版本升級(jí)控制裝置,用于對(duì)通過版本監(jiān)控通信接口接收到的版本進(jìn)行解包和升級(jí)安裝操作。
14.根據(jù)權(quán)利要求12所述的系統(tǒng),其中所述應(yīng)用服務(wù)器包括應(yīng)用服務(wù)器上層通信接口,用于連接集中管理服務(wù)器;應(yīng)用服務(wù)器版本接收裝置,用于通過應(yīng)用服務(wù)器上層通信接口接收集中管理服務(wù)器主動(dòng)下發(fā)的版本文件;應(yīng)用服務(wù)器版本下載請(qǐng)求裝置,用于向集中管理服務(wù)器詢問分布式業(yè)務(wù)系統(tǒng)已更新的軟件版本;應(yīng)用服務(wù)器版本升級(jí)控制裝置,對(duì)接收到的新版本的軟件執(zhí)行解包和升級(jí)安裝操作;應(yīng)用服務(wù)器數(shù)據(jù)庫(kù)訪問接口,用于對(duì)所連接的數(shù)據(jù)庫(kù)進(jìn)行查詢、更新操作;和應(yīng)用服務(wù)器版本下載服務(wù)裝置,用于響應(yīng)來自用戶終端對(duì)軟件版本的下載請(qǐng)求,并向用戶傳送新版本軟件。
15.根據(jù)權(quán)利要求12所述的系統(tǒng),其中所述用戶終端包括終端上層通信接口,用于通過網(wǎng)絡(luò)與上端的應(yīng)用服務(wù)器通信,以接收下發(fā)的新版本軟件和向應(yīng)用服務(wù)器發(fā)出對(duì)新版本軟件的請(qǐng)求;終端版本下載請(qǐng)求裝置,用于向應(yīng)用服務(wù)器詢問分布式系統(tǒng)是否有已更新的版本,如果有已更新的軟件,則將其下載到本地;終端版本升級(jí)控制裝置,用于對(duì)接收的軟件版本進(jìn)行解包和升級(jí)安裝操作。
全文摘要
本發(fā)明提供了一種用于分布式業(yè)務(wù)系統(tǒng)中的軟件版本升級(jí)方法,包括步驟集中管理服務(wù)器接收主系統(tǒng)輸入的新版本應(yīng)用軟件,更新集中管理服務(wù)器所連接的數(shù)據(jù)庫(kù)記錄的版本下發(fā)信息,以準(zhǔn)備下發(fā)新版本應(yīng)用軟件;將所接收的新版本應(yīng)用軟件下發(fā)到應(yīng)用服務(wù)器,更新所述應(yīng)用服務(wù)器連接的數(shù)據(jù)庫(kù)中的新版本應(yīng)用軟件的下發(fā)記錄;集中管理服務(wù)器和應(yīng)用服務(wù)器安裝各自所接收的新版本應(yīng)用軟件,應(yīng)用服務(wù)器向用戶終端提供新版本應(yīng)用軟件的下載;當(dāng)所述應(yīng)用服務(wù)器未能接收到新版本應(yīng)用軟件,請(qǐng)求集中管理服務(wù)器下載所述新版本應(yīng)用軟件,并提供給用戶終端;和用戶終端安裝所接收的新版本應(yīng)用軟件。
文檔編號(hào)G06F9/445GK1758607SQ20051008684
公開日2006年4月12日 申請(qǐng)日期2005年11月10日 優(yōu)先權(quán)日2005年11月10日
發(fā)明者楊洵, 胡銳明, 張建軍, 文杰 申請(qǐng)人:中國(guó)工商銀行