基于廣播式數(shù)據(jù)庫重連的數(shù)據(jù)處理服務(wù)器和廣播式數(shù)據(jù)庫重連方法
【專利摘要】本發(fā)明提出了基于廣播式數(shù)據(jù)庫重連的數(shù)據(jù)處理服務(wù)器和用于數(shù)據(jù)處理服務(wù)器的廣播式數(shù)據(jù)庫重連方法。其中,在所述方法中,數(shù)據(jù)服務(wù)器中的數(shù)據(jù)庫重連驅(qū)動(dòng)模塊在發(fā)現(xiàn)數(shù)據(jù)庫連接問題時(shí)驅(qū)動(dòng)已啟動(dòng)的每個(gè)應(yīng)用執(zhí)行數(shù)據(jù)庫重連操作以建立與目標(biāo)數(shù)據(jù)庫的網(wǎng)絡(luò)層數(shù)據(jù)傳輸通道。本發(fā)明所公開的基于廣播式數(shù)據(jù)庫重連的數(shù)據(jù)處理服務(wù)器和用于數(shù)據(jù)處理服務(wù)器的廣播式數(shù)據(jù)庫重連方法具有高的實(shí)時(shí)性并且能夠提高數(shù)據(jù)處理的效率。
【專利說明】基于廣播式數(shù)據(jù)庫重連的數(shù)據(jù)處理服務(wù)器和廣播式數(shù)據(jù)庫重連方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及數(shù)據(jù)處理服務(wù)器和數(shù)據(jù)庫重連方法,更具體地,涉及基于廣播式數(shù)據(jù)庫重連的數(shù)據(jù)處理服務(wù)器和廣播式數(shù)據(jù)庫重連方法。
【背景技術(shù)】
[0002]目前,隨著網(wǎng)絡(luò)應(yīng)用的日益廣泛以及不同領(lǐng)域的業(yè)務(wù)種類的日益豐富,通過數(shù)據(jù)處理服務(wù)器和數(shù)據(jù)庫之間的數(shù)據(jù)交互而執(zhí)行并完成數(shù)據(jù)處理任務(wù)(例如進(jìn)行聯(lián)機(jī)金融交易數(shù)據(jù)處理)變得越來越重要。
[0003]在現(xiàn)有的數(shù)據(jù)處理系統(tǒng)和方法中,服務(wù)器和數(shù)據(jù)庫之間的連接通常為長連接(如本領(lǐng)域技術(shù)人員所知的,所述長連接是指:Client方與Server方先建立通訊連接,連接建立后不斷開,然后再進(jìn)行報(bào)文發(fā)送和接收),并且,當(dāng)數(shù)據(jù)庫由于災(zāi)備或其它原因而發(fā)生切換(例如主備切換)時(shí),一種可選的數(shù)據(jù)庫重連方式為:依靠數(shù)據(jù)處理服務(wù)器發(fā)起的數(shù)據(jù)交互請求而驅(qū)動(dòng)數(shù)據(jù)庫的重連,即數(shù)據(jù)處理服務(wù)器中的各個(gè)應(yīng)用處理模塊(即各個(gè)業(yè)務(wù)執(zhí)行模塊)在數(shù)據(jù)處理過程中發(fā)現(xiàn)與數(shù)據(jù)庫的連接出現(xiàn)問題時(shí)再執(zhí)行數(shù)據(jù)庫重連操作,此外,另一種數(shù)據(jù)庫重連的方式為:在數(shù)據(jù)處理任務(wù)量相對較小的時(shí)間段重新啟動(dòng)全部應(yīng)用處理進(jìn)程,從而使全部應(yīng)用處理模塊執(zhí)行數(shù)據(jù)庫重連操作。
[0004]然而,現(xiàn)有的數(shù)據(jù)處理系統(tǒng)和方法針對數(shù)據(jù)庫重連存在如下問題:(1)如果采用第一種方式,則會(huì)使發(fā)現(xiàn)數(shù)據(jù)庫連接問題的數(shù)據(jù)處理任務(wù)不能正常的完成,此外,存在如下可能:如果有些應(yīng)用處理模塊在一段時(shí)間內(nèi)沒有數(shù)據(jù)處理任務(wù),則該應(yīng)用處理模塊與數(shù)據(jù)庫的重連操作將不能及時(shí)啟動(dòng);(2)如果采用第二種方式,則會(huì)導(dǎo)致操作繁瑣,從而降低數(shù)據(jù)處理服務(wù)器處理數(shù)據(jù)的效率,并且在強(qiáng)制重啟的過程中會(huì)使部分?jǐn)?shù)據(jù)處理任務(wù)失敗。
[0005]因此,存在如下需求:提供具有高的實(shí)時(shí)性并且能夠提高數(shù)據(jù)處理效率的基于廣播式數(shù)據(jù)庫重連的數(shù)據(jù)處理服務(wù)器和廣播式數(shù)據(jù)庫重連方法。
【發(fā)明內(nèi)容】
[0006]為了解決上述現(xiàn)有技術(shù)方案所存在的問題,本發(fā)明提出了具有高的實(shí)時(shí)性并且能夠提高數(shù)據(jù)處理效率的基于廣播式數(shù)據(jù)庫重連的數(shù)據(jù)處理服務(wù)器和廣播式數(shù)據(jù)庫重連方法。
[0007]本發(fā)明的目的是通過以下技術(shù)方案實(shí)現(xiàn)的:
一種基于廣播式數(shù)據(jù)庫重連的數(shù)據(jù)處理服務(wù)器,所述基于廣播式數(shù)據(jù)庫重連的數(shù)據(jù)處理服務(wù)器包括:
用戶接口,所述用戶接口接收來自用戶的應(yīng)用啟動(dòng)指令,并將所述應(yīng)用啟動(dòng)指令傳送到主控制器,其中,所述應(yīng)用啟動(dòng)指令包括需啟動(dòng)應(yīng)用列表;
主控制器,所述主控制器用于基于接收到的所述應(yīng)用啟動(dòng)指令啟動(dòng)所述需啟動(dòng)應(yīng)用列表中指示出的至少一個(gè)應(yīng)用模塊; 至少一個(gè)應(yīng)用模塊,所述至少一個(gè)應(yīng)用模塊中的每個(gè)用于在被所述主控制器啟動(dòng)后基于請求并通過與目標(biāo)數(shù)據(jù)庫的數(shù)據(jù)交互而執(zhí)行特定的數(shù)據(jù)處理任務(wù);
數(shù)據(jù)庫重連驅(qū)動(dòng)模塊,所述數(shù)據(jù)庫重連驅(qū)動(dòng)模塊用于在發(fā)現(xiàn)數(shù)據(jù)庫連接問題時(shí)驅(qū)動(dòng)已啟動(dòng)的每個(gè)應(yīng)用模塊執(zhí)行數(shù)據(jù)庫重連操作以建立與目標(biāo)數(shù)據(jù)庫的網(wǎng)絡(luò)層數(shù)據(jù)傳輸通道;
通信模塊,所述通信模塊用于執(zhí)行已啟動(dòng)的每個(gè)應(yīng)用模塊與所述目標(biāo)數(shù)據(jù)庫的物理鏈路上的數(shù)據(jù)通信操作。
[0008]在上面所公開的方案中,優(yōu)選地,在發(fā)現(xiàn)數(shù)據(jù)庫連接問題時(shí),所述數(shù)據(jù)庫重連驅(qū)動(dòng)模塊以廣播的方式向已啟動(dòng)的每個(gè)應(yīng)用模塊發(fā)送數(shù)據(jù)庫重連通知。
[0009]在上面所公開的方案中,可選地,用戶人工地發(fā)現(xiàn)數(shù)據(jù)庫連接問題,并經(jīng)所述用戶接口手工地觸發(fā)所述數(shù)據(jù)庫重連驅(qū)動(dòng)模塊向已啟動(dòng)的每個(gè)應(yīng)用模塊發(fā)送數(shù)據(jù)庫重連通知。
[0010]在上面所公開的方案中,可選地,所述數(shù)據(jù)庫重連驅(qū)動(dòng)模塊通過守護(hù)進(jìn)程檢測數(shù)據(jù)庫狀態(tài)的變化以發(fā)現(xiàn)數(shù)據(jù)庫連接問題,并在發(fā)現(xiàn)數(shù)據(jù)庫連接問題后自動(dòng)地觸發(fā)向已啟動(dòng)的每個(gè)應(yīng)用模塊發(fā)送數(shù)據(jù)庫重連通知的操作。
[0011]在上面所公開的方案中,優(yōu)選地,所述至少一個(gè)應(yīng)用模塊中的每個(gè)包括:
應(yīng)用執(zhí)行單元,所述應(yīng)用執(zhí)行單元用于基于請求并通過與目標(biāo)數(shù)據(jù)庫的數(shù)據(jù)交互而執(zhí)
行所述特定的數(shù)據(jù)處理任務(wù);
監(jiān)聽單元,所述監(jiān)聽單元用于監(jiān)聽來自所述數(shù)據(jù)庫重連驅(qū)動(dòng)模塊的數(shù)據(jù)庫重連通知,并且在接收到所述數(shù)據(jù)庫重連通知后執(zhí)行數(shù)據(jù)庫重連操作。
[0012]在上面所公開的方案中,優(yōu)選地,所述至少一個(gè)應(yīng)用模塊中的每個(gè)的監(jiān)聽單元使用獨(dú)立的數(shù)據(jù)接收端口或者以共享方式共用其對應(yīng)的應(yīng)用模塊的數(shù)據(jù)接收端口。
[0013]在上面所公開的方案中,可選地,所述數(shù)據(jù)庫重連通知是UDP消息的形式或SNMP消息的形式。
[0014]在上面所公開的方案中,可選地,所述數(shù)據(jù)庫重連驅(qū)動(dòng)模塊通過消息隊(duì)列請求的方式或中間件服務(wù)調(diào)用的方式發(fā)送所述數(shù)據(jù)庫重連通知。
[0015]在上面所公開的方案中,優(yōu)選地,在接收到所述數(shù)據(jù)庫重連通知后,所述監(jiān)聽單元向目標(biāo)數(shù)據(jù)庫發(fā)送預(yù)定的數(shù)據(jù)庫操作指令以嘗試連接,從而檢測所述監(jiān)聽單元對應(yīng)的應(yīng)用模塊與目標(biāo)數(shù)據(jù)庫之間的網(wǎng)絡(luò)層數(shù)據(jù)傳輸通道是否可用,并且如果所述網(wǎng)絡(luò)層數(shù)據(jù)傳輸通道可用,則所述監(jiān)聽單元生成“連接狀態(tài)良好”的日志;如果所述網(wǎng)絡(luò)層數(shù)據(jù)傳輸通道不可用,則所述監(jiān)聽單元立刻驅(qū)動(dòng)其對應(yīng)的應(yīng)用模塊執(zhí)行數(shù)據(jù)庫重連操作。
[0016]本發(fā)明的目的也可以通過以下技術(shù)方案實(shí)現(xiàn):
一種用于數(shù)據(jù)處理服務(wù)器的廣播式數(shù)據(jù)庫重連方法,所述用于數(shù)據(jù)處理服務(wù)器的廣播式數(shù)據(jù)庫重連方法包括下列步驟:
(Al)數(shù)據(jù)處理服務(wù)器基于接收到的來自用戶的應(yīng)用啟動(dòng)指令啟動(dòng)至少一個(gè)應(yīng)用;
(A2)每個(gè)已啟動(dòng)的應(yīng)用基于請求并通過與目標(biāo)數(shù)據(jù)庫的數(shù)據(jù)交互而執(zhí)行特定的數(shù)據(jù)處理任務(wù);
(A3)所述數(shù)據(jù)服務(wù)器中的數(shù)據(jù)庫重連驅(qū)動(dòng)模塊在發(fā)現(xiàn)數(shù)據(jù)庫連接問題時(shí)驅(qū)動(dòng)已啟動(dòng)的每個(gè)應(yīng)用執(zhí)行數(shù)據(jù)庫重連操作以建立與目標(biāo)數(shù)據(jù)庫的網(wǎng)絡(luò)層數(shù)據(jù)傳輸通道。
[0017]在上面所公開的方案中,優(yōu)選地,在發(fā)現(xiàn)數(shù)據(jù)庫連接問題時(shí),所述數(shù)據(jù)庫重連驅(qū)動(dòng)模塊以廣播的方式向已啟動(dòng)的每個(gè)應(yīng)用發(fā)送數(shù)據(jù)庫重連通知。[0018]在上面所公開的方案中,可選地,通過人工的方式發(fā)現(xiàn)數(shù)據(jù)庫連接問題,并手工地觸發(fā)所述數(shù)據(jù)庫重連驅(qū)動(dòng)模塊向已啟動(dòng)的每個(gè)應(yīng)用發(fā)送數(shù)據(jù)庫重連通知。
[0019]在上面所公開的方案中,可選地,所述數(shù)據(jù)庫重連驅(qū)動(dòng)模塊通過守護(hù)進(jìn)程檢測數(shù)據(jù)庫狀態(tài)的變化以發(fā)現(xiàn)數(shù)據(jù)庫連接問題,并在發(fā)現(xiàn)數(shù)據(jù)庫連接問題后自動(dòng)地觸發(fā)向已啟動(dòng)的每個(gè)應(yīng)用發(fā)送數(shù)據(jù)庫重連通知的操作。
[0020]在上面所公開的方案中,優(yōu)選地,已啟動(dòng)的應(yīng)用中的每個(gè)監(jiān)聽來自所述數(shù)據(jù)庫重連驅(qū)動(dòng)模塊的數(shù)據(jù)庫重連通知,并且在接收到所述數(shù)據(jù)庫重連通知后執(zhí)行數(shù)據(jù)庫重連操作。
[0021 ] 在上面所公開的方案中,可選地,所述已啟動(dòng)的應(yīng)用中的每個(gè)使用獨(dú)立的數(shù)據(jù)接收端口接收所述數(shù)據(jù)庫重連通知。
[0022]在上面所公開的方案中,可選地,所述數(shù)據(jù)庫重連通知是UDP消息的形式或SNMP消息的形式。
[0023]在上面所公開的方案中,可選地,所述數(shù)據(jù)庫重連驅(qū)動(dòng)模塊通過消息隊(duì)列請求的方式或中間件服務(wù)調(diào)用的方式發(fā)送所述數(shù)據(jù)庫重連通知。
[0024]在上面所公開的方案中,優(yōu)選地,所述步驟(A3)進(jìn)一步包括:在接收到所述數(shù)據(jù)庫重連通知后,所述已啟動(dòng)的應(yīng)用中的每個(gè)向目標(biāo)數(shù)據(jù)庫發(fā)送預(yù)定的數(shù)據(jù)庫操作指令以嘗試連接,從而檢測該應(yīng)用與目標(biāo)數(shù)據(jù)庫之間的網(wǎng)絡(luò)層數(shù)據(jù)傳輸通道是否可用,并且如果所述網(wǎng)絡(luò)層數(shù)據(jù)傳輸通道可用,則該應(yīng)用生成“連接狀態(tài)良好”的日志;如果所述網(wǎng)絡(luò)層數(shù)據(jù)傳輸通道不可用,則該應(yīng)用立刻執(zhí)行數(shù)據(jù)庫重連操作。
[0025]本發(fā)明所公開的具有高的實(shí)時(shí)性并且能夠提高數(shù)據(jù)處理效率的基于廣播式數(shù)據(jù)庫重連的數(shù)據(jù)處理服務(wù)器和廣播式數(shù)據(jù)庫重連方法具有如下優(yōu)點(diǎn):具有高的數(shù)據(jù)庫重連實(shí)時(shí)性,并且能夠提高數(shù)據(jù)處理服務(wù)器的數(shù)據(jù)處理效率。
【專利附圖】
【附圖說明】
[0026]結(jié)合附圖,本發(fā)明的技術(shù)特征以及優(yōu)點(diǎn)將會(huì)被本領(lǐng)域技術(shù)人員更好地理解,其中:
圖1是包含根據(jù)本發(fā)明的實(shí)施例的基于廣播式數(shù)據(jù)庫重連的數(shù)據(jù)處理服務(wù)器的數(shù)據(jù)處理系統(tǒng)的架構(gòu)圖;
圖2是根據(jù)本發(fā)明的實(shí)施例的廣播式數(shù)據(jù)庫重連方法的流程圖。
【具體實(shí)施方式】
[0027]圖1是包含根據(jù)本發(fā)明的實(shí)施例的基于廣播式數(shù)據(jù)庫重連的數(shù)據(jù)處理服務(wù)器的數(shù)據(jù)處理系統(tǒng)的架構(gòu)圖。如圖1所示,本發(fā)明所公開的基于廣播式數(shù)據(jù)庫重連的數(shù)據(jù)處理服務(wù)器包括至少一個(gè)應(yīng)用模塊1、數(shù)據(jù)庫重連驅(qū)動(dòng)模塊2、主控制器3、通信模塊4和用戶接口 5。其中,所述用戶接口 5接收來自用戶的應(yīng)用啟動(dòng)指令,并將所述應(yīng)用啟動(dòng)指令傳送到主控制器3,其中,所述應(yīng)用啟動(dòng)指令包括需啟動(dòng)應(yīng)用列表。所述主控制器3用于基于接收到的所述應(yīng)用啟動(dòng)指令啟動(dòng)所述需啟動(dòng)應(yīng)用列表中指示出的所述至少一個(gè)應(yīng)用模塊I中的至少一個(gè)。所述至少一個(gè)應(yīng)用模塊I中的每個(gè)用于在被所述主控制器3啟動(dòng)后基于請求并通過與目標(biāo)數(shù)據(jù)庫的數(shù)據(jù)交互而執(zhí)行特定的數(shù)據(jù)處理任務(wù)。所述數(shù)據(jù)庫重連驅(qū)動(dòng)模塊2用于在發(fā)現(xiàn)數(shù)據(jù)庫連接問題時(shí)驅(qū)動(dòng)已啟動(dòng)的每個(gè)應(yīng)用模塊I執(zhí)行數(shù)據(jù)庫重連操作以建立與目標(biāo)數(shù)據(jù)庫的網(wǎng)絡(luò)層數(shù)據(jù)傳輸通道。所述通信模塊4用于執(zhí)行已啟動(dòng)的每個(gè)應(yīng)用模塊I與所述目標(biāo)數(shù)據(jù)庫的物理鏈路上的數(shù)據(jù)通信操作。
[0028]優(yōu)選地,在本發(fā)明所公開的基于廣播式數(shù)據(jù)庫重連的數(shù)據(jù)處理服務(wù)器中,所述至少一個(gè)應(yīng)用模塊I是復(fù)數(shù)個(gè)應(yīng)用模塊I。
[0029]優(yōu)選地,在本發(fā)明所公開的基于廣播式數(shù)據(jù)庫重連的數(shù)據(jù)處理服務(wù)器中,在發(fā)現(xiàn)數(shù)據(jù)庫連接問題時(shí),所述數(shù)據(jù)庫重連驅(qū)動(dòng)模塊2以廣播的方式向已啟動(dòng)的每個(gè)應(yīng)用模塊I發(fā)送數(shù)據(jù)庫重連通知。
[0030]可選地,在本發(fā)明所公開的基于廣播式數(shù)據(jù)庫重連的數(shù)據(jù)處理服務(wù)器中,通過人工發(fā)現(xiàn)數(shù)據(jù)庫連接問題,并手工地觸發(fā)所述數(shù)據(jù)庫重連驅(qū)動(dòng)模塊2向已啟動(dòng)的每個(gè)應(yīng)用模塊I發(fā)送數(shù)據(jù)庫重連通知。
[0031]可選地,在本發(fā)明所公開的基于廣播式數(shù)據(jù)庫重連的數(shù)據(jù)處理服務(wù)器中,所述數(shù)據(jù)庫重連驅(qū)動(dòng)模塊2通過守護(hù)進(jìn)程檢測數(shù)據(jù)庫狀態(tài)的變化以發(fā)現(xiàn)數(shù)據(jù)庫連接問題,并在發(fā)現(xiàn)數(shù)據(jù)庫連接問題后自動(dòng)地觸發(fā)向已啟動(dòng)的每個(gè)應(yīng)用模塊I發(fā)送數(shù)據(jù)庫重連通知的操作。
[0032]優(yōu)選地,在本發(fā)明所公開的基于廣播式數(shù)據(jù)庫重連的數(shù)據(jù)處理服務(wù)器中,所述至少一個(gè)應(yīng)用模塊I中的每個(gè)包括應(yīng)用執(zhí)行單元6和監(jiān)聽單元7。其中,所述應(yīng)用執(zhí)行單元6用于基于請求并通過與目標(biāo)數(shù)據(jù)庫的數(shù)據(jù)交互而執(zhí)行所述特定的數(shù)據(jù)處理任務(wù)。所述監(jiān)聽單元7用于監(jiān)聽來自所述數(shù)據(jù)庫重連驅(qū)動(dòng)模塊2的數(shù)據(jù)庫重連通知,并且在接收到所述數(shù)據(jù)庫重連通知后執(zhí)行數(shù)據(jù)庫重連操作。
[0033]優(yōu)選地,在本發(fā)明所公開的基于廣播式數(shù)據(jù)庫重連的數(shù)據(jù)處理服務(wù)器中,所述至少一個(gè)應(yīng)用模塊I中的每個(gè)的監(jiān)聽單元7使用獨(dú)立的數(shù)據(jù)接收端口或者以共享方式共用其對應(yīng)的應(yīng)用模塊I的數(shù)據(jù)接收端口。
[0034]可選地,在本發(fā)明所公開的基于廣播式數(shù)據(jù)庫重連的數(shù)據(jù)處理服務(wù)器中,所述數(shù)據(jù)庫重連通知是UDP消息的形式或SNMP消息的形式。
[0035]可選地,在本發(fā)明所公開的基于廣播式數(shù)據(jù)庫重連的數(shù)據(jù)處理服務(wù)器中,所述數(shù)據(jù)庫重連驅(qū)動(dòng)模塊2通過消息隊(duì)列請求的方式或中間件服務(wù)調(diào)用的方式發(fā)送所述數(shù)據(jù)庫重連通知。
[0036]優(yōu)選地,在本發(fā)明所公開的基于廣播式數(shù)據(jù)庫重連的數(shù)據(jù)處理服務(wù)器中,在接收到所述數(shù)據(jù)庫重連通知后,所述監(jiān)聽單元7向目標(biāo)數(shù)據(jù)庫發(fā)送預(yù)定的數(shù)據(jù)庫操作指令(例如select current timestamp指令)以嘗試連接,從而檢測所述監(jiān)聽單元7對應(yīng)的應(yīng)用模塊I與目標(biāo)數(shù)據(jù)庫之間的網(wǎng)絡(luò)層數(shù)據(jù)傳輸通道是否可用,并且如果所述網(wǎng)絡(luò)層數(shù)據(jù)傳輸通道可用,則所述監(jiān)聽單元7生成“連接狀態(tài)良好”的日志;如果所述網(wǎng)絡(luò)層數(shù)據(jù)傳輸通道不可用(例如主數(shù)據(jù)庫發(fā)生故障),則所述監(jiān)聽單元7立刻驅(qū)動(dòng)其對應(yīng)的應(yīng)用模塊I執(zhí)行數(shù)據(jù)庫重連操作(例如重新連接到備用數(shù)據(jù)庫)。
[0037]圖2是根據(jù)本發(fā)明的實(shí)施例的用于數(shù)據(jù)處理服務(wù)器的廣播式數(shù)據(jù)庫重連方法的流程圖。如圖2所示,本發(fā)明所公開的用于數(shù)據(jù)處理服務(wù)器的廣播式數(shù)據(jù)庫重連方法包括下列步驟:(Al)所述數(shù)據(jù)處理服務(wù)器基于接收到的來自用戶的應(yīng)用啟動(dòng)指令啟動(dòng)至少一個(gè)應(yīng)用;(A2)每個(gè)已啟動(dòng)的應(yīng)用基于請求并通過與目標(biāo)數(shù)據(jù)庫的數(shù)據(jù)交互而執(zhí)行特定的數(shù)據(jù)處理任務(wù);(A3)所述數(shù)據(jù)服務(wù)器中的數(shù)據(jù)庫重連驅(qū)動(dòng)模塊在發(fā)現(xiàn)數(shù)據(jù)庫連接問題時(shí)驅(qū)動(dòng)已啟動(dòng)的每個(gè)應(yīng)用執(zhí)行數(shù)據(jù)庫重連操作以建立與目標(biāo)數(shù)據(jù)庫的網(wǎng)絡(luò)層數(shù)據(jù)傳輸通道。
[0038]優(yōu)選地,在本發(fā)明所公開的用于數(shù)據(jù)處理服務(wù)器的廣播式數(shù)據(jù)庫重連方法中,所述至少一個(gè)應(yīng)用是復(fù)數(shù)個(gè)應(yīng)用。
[0039]優(yōu)選地,在本發(fā)明所公開的用于數(shù)據(jù)處理服務(wù)器的廣播式數(shù)據(jù)庫重連方法中,在發(fā)現(xiàn)數(shù)據(jù)庫連接問題時(shí),所述數(shù)據(jù)庫重連驅(qū)動(dòng)模塊以廣播的方式向已啟動(dòng)的每個(gè)應(yīng)用發(fā)送數(shù)據(jù)庫重連通知。
[0040]可選地,在本發(fā)明所公開的用于數(shù)據(jù)處理服務(wù)器的廣播式數(shù)據(jù)庫重連方法中,通過人工發(fā)現(xiàn)數(shù)據(jù)庫連接問題,并手工地觸發(fā)所述數(shù)據(jù)庫重連驅(qū)動(dòng)模塊向已啟動(dòng)的每個(gè)應(yīng)用發(fā)送數(shù)據(jù)庫重連通知。
[0041]可選地,在本發(fā)明所公開的用于數(shù)據(jù)處理服務(wù)器的廣播式數(shù)據(jù)庫重連方法中,所述數(shù)據(jù)庫重連驅(qū)動(dòng)模塊通過守護(hù)進(jìn)程檢測數(shù)據(jù)庫狀態(tài)的變化以發(fā)現(xiàn)數(shù)據(jù)庫連接問題,并在發(fā)現(xiàn)數(shù)據(jù)庫連接問題后自動(dòng)地觸發(fā)向已啟動(dòng)的每個(gè)應(yīng)用發(fā)送數(shù)據(jù)庫重連通知的操作。
[0042]優(yōu)選地,在本發(fā)明所公開的用于數(shù)據(jù)處理服務(wù)器的廣播式數(shù)據(jù)庫重連方法中,已啟動(dòng)的應(yīng)用中的每個(gè)監(jiān)聽來自所述數(shù)據(jù)庫重連驅(qū)動(dòng)模塊的數(shù)據(jù)庫重連通知,并且在接收到所述數(shù)據(jù)庫重連通知后執(zhí)行數(shù)據(jù)庫重連操作。
[0043]優(yōu)選地,在本發(fā)明所公開的用于數(shù)據(jù)處理服務(wù)器的廣播式數(shù)據(jù)庫重連方法中,所述已啟動(dòng)的應(yīng)用中的每個(gè)使用獨(dú)立的數(shù)據(jù)接收端口接收所述數(shù)據(jù)庫重連通知。
[0044]可選地,在本發(fā)明所公開的用于數(shù)據(jù)處理服務(wù)器的廣播式數(shù)據(jù)庫重連方法中,所述數(shù)據(jù)庫重連通知是UDP消息的形式或SNMP消息的形式。
[0045]可選地,在本發(fā)明所公開的用于數(shù)據(jù)處理服務(wù)器的廣播式數(shù)據(jù)庫重連方法中,所述數(shù)據(jù)庫重連驅(qū)動(dòng)模塊通過消息隊(duì)列請求的方式或中間件服務(wù)調(diào)用的方式發(fā)送所述數(shù)據(jù)庫重連通知。
[0046]優(yōu)選地,在本發(fā)明所公開的用于數(shù)據(jù)處理服務(wù)器的廣播式數(shù)據(jù)庫重連方法中,所述步驟(A3)進(jìn)一步包括:在接收到所述數(shù)據(jù)庫重連通知后,所述已啟動(dòng)的應(yīng)用中的每個(gè)向目標(biāo)數(shù)據(jù)庫發(fā)送預(yù)定的數(shù)據(jù)庫操作指令(例如select current timestamp指令)以嘗試連接,從而檢測該應(yīng)用與目標(biāo)數(shù)據(jù)庫之間的網(wǎng)絡(luò)層數(shù)據(jù)傳輸通道是否可用,并且如果所述網(wǎng)絡(luò)層數(shù)據(jù)傳輸通道可用,則該應(yīng)用生成“連接狀態(tài)良好”的日志;如果所述網(wǎng)絡(luò)層數(shù)據(jù)傳輸通道不可用(例如主數(shù)據(jù)庫發(fā)生故障),則該應(yīng)用立刻執(zhí)行數(shù)據(jù)庫重連操作(例如重新連接到備用數(shù)據(jù)庫)。
[0047]盡管本發(fā)明是通過上述的優(yōu)選實(shí)施方式進(jìn)行描述的,但是其實(shí)現(xiàn)形式并不局限于上述的實(shí)施方式。應(yīng)該認(rèn)識到:在不脫離本發(fā)明主旨和范圍的情況下,本領(lǐng)域技術(shù)人員可以對本發(fā)明做出不同的變化和修改。
【權(quán)利要求】
1.一種基于廣播式數(shù)據(jù)庫重連的數(shù)據(jù)處理服務(wù)器,所述基于廣播式數(shù)據(jù)庫重連的數(shù)據(jù)處理服務(wù)器包括:
用戶接口,所述用戶接口接收來自用戶的應(yīng)用啟動(dòng)指令,并將所述應(yīng)用啟動(dòng)指令傳送到主控制器,其中,所述應(yīng)用啟動(dòng)指令包括需啟動(dòng)應(yīng)用列表; 主控制器,所述主控制器用于基于接收到的所述應(yīng)用啟動(dòng)指令啟動(dòng)所述需啟動(dòng)應(yīng)用列表中指示出的至少一個(gè)應(yīng)用模塊; 至少一個(gè)應(yīng)用模塊,所述至少一個(gè)應(yīng)用模塊中的每個(gè)用于在被所述主控制器啟動(dòng)后基于請求并通過與目標(biāo)數(shù)據(jù)庫的數(shù)據(jù)交互而執(zhí)行特定的數(shù)據(jù)處理任務(wù); 數(shù)據(jù)庫重連驅(qū)動(dòng)模塊,所述數(shù)據(jù)庫重連驅(qū)動(dòng)模塊用于在發(fā)現(xiàn)數(shù)據(jù)庫連接問題時(shí)驅(qū)動(dòng)已啟動(dòng)的每個(gè)應(yīng)用模塊執(zhí)行數(shù)據(jù)庫重連操作以建立與目標(biāo)數(shù)據(jù)庫的網(wǎng)絡(luò)層數(shù)據(jù)傳輸通道; 通信模塊,所述通信模塊用于執(zhí)行已啟動(dòng)的每個(gè)應(yīng)用模塊與所述目標(biāo)數(shù)據(jù)庫的物理鏈路上的數(shù)據(jù)通信操作。
2.根據(jù)權(quán)利要求1所述的基于廣播式數(shù)據(jù)庫重連的數(shù)據(jù)處理服務(wù)器,其特征在于,在發(fā)現(xiàn)數(shù)據(jù)庫連接問題時(shí),所述數(shù)據(jù)庫重連驅(qū)動(dòng)模塊以廣播的方式向已啟動(dòng)的每個(gè)應(yīng)用模塊發(fā)送數(shù)據(jù)庫重連通知。
3.根據(jù)權(quán)利要求2所述的基于廣播式數(shù)據(jù)庫重連的數(shù)據(jù)處理服務(wù)器,其特征在于,用戶人工地發(fā)現(xiàn)數(shù)據(jù)庫連接問題,并經(jīng)所述用戶接口手工地觸發(fā)所述數(shù)據(jù)庫重連驅(qū)動(dòng)模塊向已啟動(dòng)的每個(gè)應(yīng)用模塊發(fā)送數(shù)據(jù)庫重連通知。
4.根據(jù)權(quán)利要求2所述的基于廣播式數(shù)據(jù)庫重連的數(shù)據(jù)處理服務(wù)器,其特征在于,所述數(shù)據(jù)庫重連驅(qū)動(dòng)模塊通過守護(hù)進(jìn)程檢測數(shù)據(jù)庫狀態(tài)的變化以發(fā)現(xiàn)數(shù)據(jù)庫連接問題,并在發(fā)現(xiàn)數(shù)據(jù)庫連接問題后自動(dòng)地觸發(fā)向已啟動(dòng)的每個(gè)應(yīng)用模塊發(fā)送數(shù)據(jù)庫重連通知的操作。
5.根據(jù)權(quán)利要求4所述的基于廣播式數(shù)據(jù)庫重連的數(shù)據(jù)處理服務(wù)器,其特征在于,所述至少一個(gè)應(yīng)用模塊中的每個(gè)包括: 應(yīng)用執(zhí)行單元,所述應(yīng)用執(zhí)行單元用于基于請求并通過與目標(biāo)數(shù)據(jù)庫的數(shù)據(jù)交互而執(zhí)行所述特定的數(shù)據(jù)處理任務(wù); 監(jiān)聽單元,所述監(jiān)聽單元用于監(jiān)聽來自所述數(shù)據(jù)庫重連驅(qū)動(dòng)模塊的數(shù)據(jù)庫重連通知,并且在接收到所述數(shù)據(jù)庫重連通知后執(zhí)行數(shù)據(jù)庫重連操作。
6.根據(jù)權(quán)利要求5所述的基于廣播式數(shù)據(jù)庫重連的數(shù)據(jù)處理服務(wù)器,其特征在于,所述至少一個(gè)應(yīng)用模塊中的每個(gè)的監(jiān)聽單元使用獨(dú)立的數(shù)據(jù)接收端口或者以共享方式共用其對應(yīng)的應(yīng)用模塊的數(shù)據(jù)接收端口。
7.根據(jù)權(quán)利要求6所述的基于廣播式數(shù)據(jù)庫重連的數(shù)據(jù)處理服務(wù)器,其特征在于,所述數(shù)據(jù)庫重連通知是UDP消息的形式或SNMP消息的形式。
8.根據(jù)權(quán)利要求6所述的基于廣播式數(shù)據(jù)庫重連的數(shù)據(jù)處理服務(wù)器,其特征在于,所述數(shù)據(jù)庫重連驅(qū)動(dòng)模塊通過消息隊(duì)列請求的方式或中間件服務(wù)調(diào)用的方式發(fā)送所述數(shù)據(jù)庫重連通知。
9.根據(jù)權(quán)利要求8所述的基于廣播式數(shù)據(jù)庫重連的數(shù)據(jù)處理服務(wù)器,其特征在于,在接收到所述數(shù)據(jù)庫重連通知后,所述監(jiān)聽單元向目標(biāo)數(shù)據(jù)庫發(fā)送預(yù)定的數(shù)據(jù)庫操作指令以嘗試連接,從而檢測所述監(jiān)聽單元對應(yīng)的應(yīng)用模塊與目標(biāo)數(shù)據(jù)庫之間的網(wǎng)絡(luò)層數(shù)據(jù)傳輸通道是否可用,并且如果所述網(wǎng)絡(luò)層數(shù)據(jù)傳輸通道可用,則所述監(jiān)聽單元生成“連接狀態(tài)良好”的日志;如果所述網(wǎng)絡(luò)層數(shù)據(jù)傳輸通道不可用,則所述監(jiān)聽單元立刻驅(qū)動(dòng)其對應(yīng)的應(yīng)用模塊執(zhí)行數(shù)據(jù)庫重連操作。
10.一種用于數(shù)據(jù)處理服務(wù)器的廣播式數(shù)據(jù)庫重連方法,所述用于數(shù)據(jù)處理服務(wù)器的廣播式數(shù)據(jù)庫重連方法包括下列步驟: (Al)數(shù)據(jù)處理服務(wù)器基于接收到的來自用戶的應(yīng)用啟動(dòng)指令啟動(dòng)至少一個(gè)應(yīng)用; (A2)每個(gè)已啟動(dòng)的應(yīng)用基于請求并通過與目標(biāo)數(shù)據(jù)庫的數(shù)據(jù)交互而執(zhí)行特定的數(shù)據(jù)處理任務(wù); (A3)所述數(shù)據(jù)服務(wù)器中的數(shù)據(jù)庫重連驅(qū)動(dòng)模塊在發(fā)現(xiàn)數(shù)據(jù)庫連接問題時(shí)驅(qū)動(dòng)已啟動(dòng)的每個(gè)應(yīng)用執(zhí)行數(shù)據(jù)庫重連操作以建立與目標(biāo)數(shù)據(jù)庫的網(wǎng)絡(luò)層數(shù)據(jù)傳輸通道。
11.根據(jù)權(quán)利要求10所述的用于數(shù)據(jù)處理服務(wù)器的廣播式數(shù)據(jù)庫重連方法,其特征在于,在發(fā)現(xiàn)數(shù)據(jù)庫連接問題時(shí),所述數(shù)據(jù)庫重連驅(qū)動(dòng)模塊以廣播的方式向已啟動(dòng)的每個(gè)應(yīng)用發(fā)送數(shù)據(jù)庫重連通知。
12.根據(jù)權(quán)利要求11所述的用于數(shù)據(jù)處理服務(wù)器的廣播式數(shù)據(jù)庫重連方法,其特征在于,通過人工的方式發(fā)現(xiàn)數(shù)據(jù)庫連接問題,并手工地觸發(fā)所述數(shù)據(jù)庫重連驅(qū)動(dòng)模塊向已啟動(dòng)的每個(gè)應(yīng)用發(fā)送數(shù)據(jù)庫重連通知。
13.根據(jù)權(quán)利要求11所述的用于數(shù)據(jù)處理服務(wù)器的廣播式數(shù)據(jù)庫重連方法,其特征在于,所述數(shù)據(jù)庫重連驅(qū)動(dòng)模塊通過守護(hù)進(jìn)程檢測數(shù)據(jù)庫狀態(tài)的變化以發(fā)現(xiàn)數(shù)據(jù)庫連接問題,并在發(fā)現(xiàn)數(shù)據(jù)庫連接問題后自動(dòng)地觸發(fā)向已啟動(dòng)的每個(gè)應(yīng)用發(fā)送數(shù)據(jù)庫重連通知的操作。
14.根據(jù)權(quán)利要求13所述的用于數(shù)據(jù)處理服務(wù)器的廣播式數(shù)據(jù)庫重連方法,其特征在于,已啟動(dòng)的應(yīng)用中的每個(gè)監(jiān)聽來自所述數(shù)據(jù)庫重連驅(qū)動(dòng)模塊的數(shù)據(jù)庫重連通知,并且在接收到所述數(shù)據(jù)庫重連通知后執(zhí)行數(shù)據(jù)庫重連操作。
15.根據(jù)權(quán)利要求14所述的用于數(shù)據(jù)處理服務(wù)器的廣播式數(shù)據(jù)庫重連方法,其特征在于,所述已啟動(dòng)的應(yīng)用中的每個(gè)使用獨(dú)立的數(shù)據(jù)接收端口接收所述數(shù)據(jù)庫重連通知。
16.根據(jù)權(quán)利要求15所述的用于數(shù)據(jù)處理服務(wù)器的廣播式數(shù)據(jù)庫重連方法,其特征在于,所述數(shù)據(jù)庫重連通知是UDP消息的形式或SNMP消息的形式。
17.根據(jù)權(quán)利要求15所述的用于數(shù)據(jù)處理服務(wù)器的廣播式數(shù)據(jù)庫重連方法,其特征在于,所述數(shù)據(jù)庫重連驅(qū)動(dòng)模塊通過消息隊(duì)列請求的方式或中間件服務(wù)調(diào)用的方式發(fā)送所述數(shù)據(jù)庫重連通知。
18.根據(jù)權(quán)利要求17所述的用于數(shù)據(jù)處理服務(wù)器的廣播式數(shù)據(jù)庫重連方法,其特征在于,所述步驟(A3)進(jìn)一步包括:在接收到所述數(shù)據(jù)庫重連通知后,所述已啟動(dòng)的應(yīng)用中的每個(gè)向目標(biāo)數(shù)據(jù)庫發(fā)送預(yù)定的數(shù)據(jù)庫操作指令以嘗試連接,從而檢測該應(yīng)用與目標(biāo)數(shù)據(jù)庫之間的網(wǎng)絡(luò)層數(shù)據(jù)傳輸通道是否可用,并且如果所述網(wǎng)絡(luò)層數(shù)據(jù)傳輸通道可用,則該應(yīng)用生成“連接狀態(tài)良好”的日志;如果所述網(wǎng)絡(luò)層數(shù)據(jù)傳輸通道不可用,則該應(yīng)用立刻執(zhí)行數(shù)據(jù)庫重連操作。
【文檔編號】H04L12/18GK103516668SQ201210204479
【公開日】2014年1月15日 申請日期:2012年6月20日 優(yōu)先權(quán)日:2012年6月20日
【發(fā)明者】陳林 申請人:中國銀聯(lián)股份有限公司