一種業(yè)務(wù)系統(tǒng)中業(yè)務(wù)處理的方法和裝置的制造方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及業(yè)務(wù)處理領(lǐng)域,特別是涉及一種業(yè)務(wù)系統(tǒng)中業(yè)務(wù)處理的方法,以及,一種業(yè)務(wù)系統(tǒng)中業(yè)務(wù)處理的裝置。
【背景技術(shù)】
[0002]在當(dāng)前很多應(yīng)用系統(tǒng)中,開發(fā)滿足各種新的業(yè)務(wù)需求,就必然涉及到各種新的業(yè)務(wù)參數(shù)、管理參數(shù)的變更,為了適應(yīng)需求的變更,往往使用參數(shù)配置化的開發(fā)方式,而不是將參數(shù)/過(guò)程寫死在應(yīng)用程序中。參數(shù)的配置方式,可能多種多樣,比如可以使用配置文件,可以使用數(shù)據(jù)庫(kù),也可以使用共享內(nèi)存的方式。
[0003]同時(shí),當(dāng)前很多大型應(yīng)用系統(tǒng)尤其是銀行IT系統(tǒng),需要維持全天24小時(shí)不間斷運(yùn)行,并不允許任意重啟系統(tǒng)或者停止服務(wù),即便是計(jì)劃內(nèi)的例行維護(hù),每年也僅有有限的幾次。由于社會(huì)的快速發(fā)展和商業(yè)競(jìng)爭(zhēng)的激烈,應(yīng)用系統(tǒng)的使用方往往不可能等待那屈指可數(shù)又遙遙無(wú)期的例行維護(hù)機(jī)會(huì)來(lái)投產(chǎn)新的應(yīng)用或者修改現(xiàn)有業(yè)務(wù)的參數(shù),甚至于在系統(tǒng)發(fā)生某些故障時(shí),往往需要立即處理,以快速響應(yīng)各種新的業(yè)務(wù)需求。
[0004]如此,就產(chǎn)生了在線更新在線維護(hù)并且及時(shí)生效的需求,為了使得參數(shù)能夠及時(shí)生效,就要求應(yīng)用程序在每次業(yè)務(wù)執(zhí)行時(shí),從參數(shù)配置地(文件、數(shù)據(jù)庫(kù)或者共享內(nèi)存等)獲得參數(shù)。
[0005]目前,多采用參數(shù)刷新或修改方案解決上述問(wèn)題,在進(jìn)行參數(shù)修改時(shí),刷新或覆蓋原來(lái)的參數(shù),從而可以實(shí)現(xiàn)新參數(shù)的快速在線更新。
[0006]以上【背景技術(shù)】中存在的問(wèn)題是:在大型應(yīng)用系統(tǒng),尤其是大型IT系統(tǒng)中,往往會(huì)采用分工協(xié)作的方式,不同的程序?qū)嵗瓿蓸I(yè)務(wù)的不同步驟,上述方案將會(huì)導(dǎo)致現(xiàn)有業(yè)務(wù)的后續(xù)步驟將會(huì)按照新版本執(zhí)行,就有可能導(dǎo)致一個(gè)業(yè)務(wù)的不同步驟使用了不同的參數(shù),由此可能由于版本變更導(dǎo)致了整個(gè)業(yè)務(wù)過(guò)程發(fā)生一些不可預(yù)知的錯(cuò)誤,導(dǎo)致業(yè)務(wù)執(zhí)行異
堂巾O
【發(fā)明內(nèi)容】
[0007]本發(fā)明提供了一種業(yè)務(wù)系統(tǒng)中業(yè)務(wù)處理的方法和裝置,以避免參數(shù)文件的版本變更導(dǎo)致的業(yè)務(wù)異常,利于新業(yè)務(wù)系統(tǒng)的快速投產(chǎn)以及新舊系統(tǒng)的無(wú)縫銜接。
[0008]本發(fā)明提供了一種業(yè)務(wù)系統(tǒng)中業(yè)務(wù)處理的方法,所述業(yè)務(wù)由多個(gè)插件程序依據(jù)參數(shù)文件先后進(jìn)行處理,所述業(yè)務(wù)系統(tǒng)在預(yù)置的存儲(chǔ)空間中存儲(chǔ)有多個(gè)版本的參數(shù)文件,不同版本的參數(shù)文件在預(yù)置的存儲(chǔ)空間中對(duì)應(yīng)不同存儲(chǔ)位置,所述業(yè)務(wù)系統(tǒng)中記錄有所述預(yù)置的存儲(chǔ)空間中最新版本的參數(shù)文件的版本信息;
[0009]所述方法包括:
[0010]所述業(yè)務(wù)系統(tǒng)中用于處理業(yè)務(wù)的節(jié)點(diǎn)判斷處理業(yè)務(wù)的第一個(gè)插件程序當(dāng)前使用的參數(shù)文件為最新版本的參數(shù)文件,若否,則更新為最新版本的參數(shù)文件;
[0011]將前一個(gè)插件程序的處理結(jié)果添加處理時(shí)采用的參數(shù)文件的版本信息,在下一個(gè)插件程序處理業(yè)務(wù)時(shí),按照接收到的所述處理結(jié)果攜帶的版本信息對(duì)應(yīng)的參數(shù)文件進(jìn)行處理,以使同一業(yè)務(wù)的處理過(guò)程中,按照同一版本的參數(shù)文件進(jìn)行處理。
[0012]優(yōu)選地,所述方法還包括,所述節(jié)點(diǎn)通過(guò)如下步驟對(duì)所述預(yù)置的存儲(chǔ)空間中的參數(shù)文件進(jìn)行更新:
[0013]接收新版本的參數(shù)文件;
[0014]接收并執(zhí)行文件裝載指令,在預(yù)置的存儲(chǔ)空間中占用用于存儲(chǔ)所述新版本的參數(shù)文件的存儲(chǔ)位置,將所述新版本的參數(shù)文件存儲(chǔ)在所述存儲(chǔ)位置,并針對(duì)所述新版本的參數(shù)文件添加對(duì)應(yīng)的使用狀態(tài);
[0015]接收所述節(jié)點(diǎn)成功執(zhí)行所述裝載指令后,發(fā)送的文件生效指令,并將所述使用狀態(tài)更新為已啟用;
[0016]記錄所述預(yù)置的存儲(chǔ)空間中最新版本的參數(shù)文件的版本信息。
[0017]優(yōu)選地,所述業(yè)務(wù)系統(tǒng)包括多個(gè)處理業(yè)務(wù)的節(jié)點(diǎn),以及對(duì)所述節(jié)點(diǎn)進(jìn)行管理的主控節(jié)點(diǎn),所述接收新版本的參數(shù)文件的步驟包括:
[0018]所述節(jié)點(diǎn)接收所述主控節(jié)點(diǎn)發(fā)送的版本查詢請(qǐng)求,并返回使用狀態(tài)為已啟用的參數(shù)文件所包含的版本信息,所述參數(shù)文件包括用于處理所述業(yè)務(wù)參數(shù)信息以及標(biāo)志所述參數(shù)文件版本的版本信息;接收所述主控節(jié)點(diǎn)確定返回的版本信息與本地保存的版本信息不一致后,發(fā)送的新版本的參數(shù)文件。
[0019]優(yōu)選地,在將所述使用狀態(tài)更新為已啟用之前,所述方法還包括:
[0020]將所述新版本的參數(shù)文件與丨日版本的參數(shù)文件進(jìn)行比對(duì)。
[0021]優(yōu)選地,若所述新版本的參數(shù)文件與舊版本的參數(shù)文件相比,增添了新的插件程序或新的節(jié)點(diǎn)對(duì)應(yīng)的參數(shù),則在將所述使用狀態(tài)更新為已啟用之前,所述方法還包括:
[0022]接收對(duì)所述插件程序或新的節(jié)點(diǎn)的啟用指令,并啟動(dòng)增添的插件程序或節(jié)點(diǎn);
[0023]若所述新版本的參數(shù)文件與舊版本的參數(shù)文件相比,刪除了新的插件程序或新的節(jié)點(diǎn)對(duì)應(yīng)的參數(shù),則在將所述使用狀態(tài)更新為已啟用之前,所述方法還包括:
[0024]當(dāng)所述文件生效指令中攜帶強(qiáng)制刷新選項(xiàng),則停止請(qǐng)求刪除的插件程序或節(jié)點(diǎn);
[0025]當(dāng)所述文件生效指令中不攜帶強(qiáng)制刷新選項(xiàng),則生成刪除插件程序或節(jié)點(diǎn)的提示信息,接收對(duì)插件程序或節(jié)點(diǎn)的刪除信息,并刪除相應(yīng)的插件程序或節(jié)點(diǎn)。
[0026]優(yōu)選地,所述預(yù)置的存儲(chǔ)空間為所述業(yè)務(wù)系統(tǒng)的共享內(nèi)存,所述版本查詢請(qǐng)求在接收到文件刷新指令時(shí)發(fā)送,或在啟動(dòng)所述業(yè)務(wù)系統(tǒng)時(shí)發(fā)送。
[0027]優(yōu)選地,所述方法還包括:
[0028]接收對(duì)至少一個(gè)版本的參數(shù)文件的回收指令,并刪除在所述預(yù)置的存儲(chǔ)空間中保存的請(qǐng)求回收的版本的參數(shù)文件。
[0029]優(yōu)選地,所述方法還包括:
[0030]將所述預(yù)置的存儲(chǔ)空間寫入預(yù)置文件中作永久化保存,當(dāng)某個(gè)版本的參數(shù)文件被回收或是裝載失敗時(shí),將其在所述預(yù)置文件中對(duì)應(yīng)的持久化文件刪除。
[0031]本發(fā)明還提供了一種業(yè)務(wù)系統(tǒng)中業(yè)務(wù)處理的裝置,所述業(yè)務(wù)由多個(gè)插件程序依據(jù)參數(shù)文件先后進(jìn)行處理,所述業(yè)務(wù)系統(tǒng)在預(yù)置的存儲(chǔ)空間中存儲(chǔ)有多個(gè)版本的參數(shù)文件,不同版本的參數(shù)文件在預(yù)置的存儲(chǔ)空間中對(duì)應(yīng)不同存儲(chǔ)位置,所述業(yè)務(wù)系統(tǒng)中記錄有所述預(yù)置的存儲(chǔ)空間中最新版本的參數(shù)文件的版本信息;
[0032]所述裝置包括:
[0033]版本確認(rèn)模塊,用于所述業(yè)務(wù)系統(tǒng)中用于處理業(yè)務(wù)的節(jié)點(diǎn)判斷處理業(yè)務(wù)的第一個(gè)插件程序當(dāng)前使用的參數(shù)文件為最新版本的參數(shù)文件,若否,則更新為最新版本的參數(shù)文件;
[0034]信息傳遞模塊,用于將前一個(gè)插件程序的處理結(jié)果添加處理時(shí)采用的參數(shù)文件的版本信息,在下一個(gè)插件程序處理業(yè)務(wù)時(shí),按照接收到的所述處理結(jié)果攜帶的版本信息對(duì)應(yīng)的參數(shù)文件進(jìn)行處理,以使同一業(yè)務(wù)的處理過(guò)程中,按照同一版本的參數(shù)文件進(jìn)行處理。
[0035]優(yōu)選地,所述裝置還包括參數(shù)文件更新模塊,所述參數(shù)文件更新模塊包括:
[0036]參數(shù)文件接收子模塊,用于接收新版本的參數(shù)文件;
[0037]文件存儲(chǔ)子模塊,用于接收并執(zhí)行發(fā)送的文件裝載指令,在預(yù)置的存儲(chǔ)空間中占用用于存儲(chǔ)所述新版本的參數(shù)文件的存儲(chǔ)位置,將所述新版本的參數(shù)文件存儲(chǔ)在所述存儲(chǔ)位置,并針對(duì)所述新版本的參數(shù)文件添加對(duì)應(yīng)的使用狀態(tài);
[0038]生效子模塊,用于接收所述節(jié)點(diǎn)成功執(zhí)行所述裝載指令后,發(fā)送的文件生效指令,并將所述使用狀態(tài)更新為已啟用;
[0039]最新信息記錄子模塊,用于記錄所述預(yù)置的存儲(chǔ)空間中最新版本的參數(shù)文件的版本信息。
[0040]與【背景技術(shù)】相比,本發(fā)明包括以下優(yōu)點(diǎn):
[0041]依據(jù)本發(fā)明實(shí)施例,業(yè)務(wù)系統(tǒng)在預(yù)置的存儲(chǔ)空間中,對(duì)應(yīng)不同存儲(chǔ)位置存儲(chǔ)有多個(gè)版本的參數(shù)文件,并且記錄有所述預(yù)置的存儲(chǔ)空間中最新版本的參數(shù)文件的版本信息,在處理業(yè)務(wù)時(shí)首先判斷處理業(yè)務(wù)的第一個(gè)插件程序當(dāng)前使用的參數(shù)文件為最新版本的參數(shù)文件,若否,則更新為最新版本的參數(shù)文件,并且在一個(gè)插件程序處理完成,下一個(gè)插件程序繼續(xù)處理時(shí),將前一個(gè)插件程序的處理結(jié)果添加處理時(shí)采用的參數(shù)文件的版本信息,在下一個(gè)插件程序處理業(yè)務(wù)時(shí),按照接收到的所述處理結(jié)果攜帶的版本信息對(duì)應(yīng)的參數(shù)文件進(jìn)行處理,以使同一業(yè)務(wù)的處理過(guò)程中,按照同一版本的參數(shù)文件進(jìn)行處理,通過(guò)本發(fā)明實(shí)施例,每次修改生效時(shí),均賦予新的參數(shù)文件一個(gè)新的版本號(hào)以和其他版本進(jìn)行區(qū)別,實(shí)現(xiàn)了新版本參數(shù)的自動(dòng)生效和切換,可以保存多個(gè)版本的參數(shù)文件。由于舊版本的參數(shù)也并未刪除,從而可以使更新之前已經(jīng)產(chǎn)生的業(yè)務(wù)使用舊版本的共享內(nèi)存,而更新之后產(chǎn)生的新業(yè)務(wù),則使用新版本的共享內(nèi)存,在業(yè)務(wù)執(zhí)行周期內(nèi),保持使用同一個(gè)版本的參數(shù),避免由于版本變更導(dǎo)致了整個(gè)業(yè)務(wù)過(guò)程發(fā)生一些不可預(yù)知的錯(cuò)誤以及業(yè)務(wù)執(zhí)行異常,利于新業(yè)務(wù)系統(tǒng)的快速投產(chǎn)以及新舊系統(tǒng)的無(wú)縫銜接。
[0042]并且,本發(fā)明實(shí)施例還能夠?qū)崿F(xiàn)不再使用的參數(shù)版本的自動(dòng)回收,以及通過(guò)熱插拔插件動(dòng)態(tài)增加/刪除集群中的節(jié)點(diǎn),還可以進(jìn)行多版本參數(shù)文件的持久化處理,使在系統(tǒng)重啟后繼續(xù)執(zhí)行業(yè)務(wù)處理過(guò)程。