亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

基于數(shù)據(jù)同步實(shí)現(xiàn)異常處理的方法及裝置的制作方法

文檔序號(hào):6384182閱讀:368來(lái)源:國(guó)知局
專利名稱:基于數(shù)據(jù)同步實(shí)現(xiàn)異常處理的方法及裝置的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及計(jì)算機(jī)同步技術(shù),尤其涉及一種基于數(shù)據(jù)同步實(shí)現(xiàn)異常處理的方法及
裝直。
背景技術(shù)
近年來(lái),隨著計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)的發(fā)展,利用磁盤等媒介進(jìn)行數(shù)據(jù)傳輸?shù)姆椒ㄒ驯痪W(wǎng)絡(luò)傳輸方式所取代,各種數(shù)據(jù)能夠通過(guò)網(wǎng)絡(luò)進(jìn)行傳輸。而隨著各種業(yè)務(wù)技術(shù)的迅速發(fā)展,為了滿足業(yè)務(wù)的需求,提高數(shù)據(jù)的利用效率,需要對(duì)現(xiàn)有基于單部署點(diǎn)的各類型網(wǎng)絡(luò)應(yīng)用系統(tǒng)進(jìn)行改進(jìn)。在當(dāng)前的網(wǎng)絡(luò)應(yīng)用系統(tǒng)中,共享應(yīng)用數(shù)據(jù)是一項(xiàng)十分普遍的業(yè)務(wù)需求,通過(guò)數(shù)據(jù)同步實(shí)現(xiàn)網(wǎng)絡(luò)數(shù)據(jù)共享,可以有效提高數(shù)據(jù)的利用效率。在基于Web服務(wù)等技術(shù)實(shí)現(xiàn)數(shù)據(jù)同步共享的過(guò)程中,由于數(shù)據(jù)本身及網(wǎng)絡(luò)等各種因素影響,例如,網(wǎng)絡(luò)傳輸中斷,同步數(shù)據(jù)不符合目標(biāo)同步模塊中的數(shù)據(jù)格式等,在數(shù)據(jù)同步傳輸中,會(huì)出現(xiàn)各種不同類型的異常,從而導(dǎo)致不能正確完成數(shù)據(jù)同步,造成網(wǎng)絡(luò)應(yīng)用系統(tǒng)中共享的應(yīng)用數(shù)據(jù)不一致,因此,在系統(tǒng)設(shè)計(jì)過(guò)程中,必須對(duì)數(shù)據(jù)同步過(guò)程中出現(xiàn)的異常進(jìn)行及時(shí)捕獲及處理,才能保證數(shù)據(jù)的正確傳輸及共享數(shù)據(jù)的一致性,從而保證網(wǎng)絡(luò)應(yīng)用系統(tǒng)中各業(yè)務(wù)子系統(tǒng)的正常運(yùn)行?,F(xiàn)有技術(shù)中,由于數(shù)據(jù)同步中出現(xiàn)異常的多樣性,當(dāng)應(yīng)用程序邏輯在處理數(shù)據(jù)的過(guò)程中拋出異常時(shí),只能針對(duì)每一種可能發(fā)生的具體異常依次進(jìn)行捕獲,分析該異常,分別進(jìn)行邏輯編碼,并通過(guò)在業(yè)務(wù)正常運(yùn)行的程序邏輯代碼段中嵌入編輯的處理異常的程序邏輯代碼,以在數(shù)據(jù)同步的過(guò)程中出現(xiàn)數(shù)據(jù)同步異常時(shí),完成對(duì)該異常的處理,例如,在基于JAVA實(shí)現(xiàn)的數(shù)據(jù)同步流程中,當(dāng)采用結(jié)構(gòu)化查詢語(yǔ)言(SQL, Structured Query Language)在同步數(shù)據(jù)接收模塊中查詢相關(guān)的異常時(shí),同步數(shù)據(jù)接收模塊中的應(yīng)用程序邏輯(JAVA程序)根據(jù)預(yù)先設(shè)置的異常條件(java. lang. SQLException)捕獲異常,返回java.1ang.SQLException 異常,在得到 java. lang. SQLException 異常后,通過(guò) try/catch 語(yǔ)句捕獲java. lang. SQLException異常中包含的異常,并在catch語(yǔ)句塊中進(jìn)行后續(xù)邏輯編碼的處理,這樣,在后續(xù)流程中,可以在發(fā)生同樣的異常的位置,將該編輯的程序代碼段嵌入正常程序代碼段中,以根據(jù)嵌入業(yè)務(wù)正常運(yùn)行的程序邏輯代碼段中的處理異常的程序邏輯代碼進(jìn)行處理。由上述可見(jiàn),現(xiàn)有基于數(shù)據(jù)同步實(shí)現(xiàn)異常處理的方法,當(dāng)數(shù)據(jù)同步中出現(xiàn)的異常較多時(shí),在網(wǎng)絡(luò)應(yīng)用系統(tǒng)中設(shè)計(jì)過(guò)程中,需要針對(duì)大量可能出現(xiàn)異常的應(yīng)用程序邏輯,分別設(shè)計(jì)后續(xù)處理流程,異常處理的流程較為煩瑣,處理異常的程序邏輯代碼與業(yè)務(wù)正常運(yùn)行的程序邏輯代碼出現(xiàn)在同一模塊邏輯中,同一異常,發(fā)生在不同的位置,需要在不同程序段位置中嵌入處理異常的程序邏輯代碼,使得處理異常流程的代碼量較多,異常處理所需時(shí) 間較長(zhǎng),造成應(yīng)用程序代碼的可維護(hù)性下降,對(duì)應(yīng)用程序穩(wěn)定性造成影響,且不利于日后對(duì)新出現(xiàn)的異常進(jìn)行擴(kuò)展。

發(fā)明內(nèi)容
本發(fā)明的實(shí)施例提供一種基于數(shù)據(jù)同步實(shí)現(xiàn)異常處理的方法,降低異常處理所需的時(shí)間、提升應(yīng)用程序代碼的可維護(hù)性。本發(fā)明的實(shí)施例還提供一種基于數(shù)據(jù)同步實(shí)現(xiàn)異常處理的裝置,降低異常處理所需的時(shí)間、提升應(yīng)用程序代碼的可維護(hù)性。為達(dá)到上述目的,本發(fā)明實(shí)施例提供的一種基于數(shù)據(jù)同步實(shí)現(xiàn)異常處理的方法,包括預(yù)先設(shè)置包含異常表項(xiàng)的異常處理策略;捕獲數(shù)據(jù)同步過(guò)程中的異常信息,提取異常信息中的異常標(biāo)識(shí)或關(guān)鍵詞,與預(yù)先存儲(chǔ)的異常處理策略進(jìn)行匹配,獲取匹配的異常處理策略;獲取異常描述參數(shù),根據(jù)匹配的異常處理策略,生成異常描述信息;根據(jù)異常描述信息生成異常描述代碼段信息,運(yùn)行生成的異常描述代碼段信息,對(duì)異常進(jìn)行相應(yīng)處理,并將攜帶異常處理結(jié)果的響應(yīng)信息輸出至外部的數(shù)據(jù)同步接收模塊,以使數(shù)據(jù)同步接收模塊根據(jù)響應(yīng)信息執(zhí)行后續(xù)數(shù)據(jù)處理。其中,所述異常表項(xiàng)包括異常項(xiàng)標(biāo)識(shí)符、異常條件、異常項(xiàng)描述以及異常處理代碼段。其中,所述異常表項(xiàng)進(jìn)一步包括異常項(xiàng)代碼、和/或,上級(jí)異常項(xiàng)標(biāo)識(shí)符。其中,所述異常處理代碼段采用可擴(kuò)展標(biāo)記語(yǔ)言進(jìn)行定義并編寫。其中,所述方法進(jìn)一步包括設(shè)置數(shù)據(jù)同步接收模塊與異常表項(xiàng)的配置關(guān)系。其中,所述與預(yù)先存儲(chǔ)的異常處理策略進(jìn)行匹配,獲取匹配的異常處理策略包括獲取捕獲的異常信息所屬的數(shù)據(jù)同步接收模塊;根據(jù)預(yù)先設(shè)置的數(shù)據(jù)同步接收模塊與異常表項(xiàng)的配置關(guān)系,獲取與該異常信息所屬的模塊對(duì)應(yīng)的異常表項(xiàng);將提取的異常標(biāo)識(shí)或關(guān)鍵詞,與獲取的異常表項(xiàng)中的異常條件進(jìn)行匹配,獲取匹配的異常條件,根據(jù)匹配的異常條件獲取異常項(xiàng)對(duì)應(yīng)的異常項(xiàng)描述。其中,所述獲取異常描述參數(shù),根據(jù)匹配的異常處理策略,生成異常描述信息包括根據(jù)異常項(xiàng)對(duì)應(yīng)的異常項(xiàng)定義描述,從異常項(xiàng)發(fā)生的數(shù)據(jù)同步接收模塊中的應(yīng)用程序邏輯塊中,獲取異常描述參數(shù),或者,從獲取到的異常信息中,獲取異常描述參數(shù);根據(jù)獲取的異常描述參數(shù)以及異常項(xiàng)定義描述中定義的描述信息,動(dòng)態(tài)地生成異常描述信息。其中,所述根據(jù)異常描述信息生成異常描述代碼段信息包括解析異常表項(xiàng)中后續(xù)處理方式定義中所描述的結(jié)構(gòu)化信息;根據(jù)解析后得到的異常處理方式說(shuō)明,將異常描述信息寫入異常處理方式說(shuō)明中的異常處理代碼段中,生成異常描述代碼段信息。一種基于數(shù)據(jù)同步實(shí)現(xiàn)異常處理的裝置,該裝置包括異常捕獲模塊、異常匹配模塊、異常處理策略存儲(chǔ)模塊、異常描述生成模塊以及異常處理模塊,其中,
異常處理策略存儲(chǔ)模塊,用于存儲(chǔ)預(yù)先設(shè)置的包含異常表項(xiàng)的異常處理策略;異常捕獲模塊,用于捕獲數(shù)據(jù)同步過(guò)程中的異常信息,輸出至異常匹配模塊;異常匹配模塊,用于接收異常信息,提取異常信息中的異常標(biāo)識(shí)或關(guān)鍵詞,與異常處理策略存儲(chǔ)模塊存儲(chǔ)的異常處理策略進(jìn)行匹配,獲取匹配的異常處理策略;異常描述生成模塊,用于獲取異常描述參數(shù),根據(jù)匹配的異常處理策略,生成異常描述信息;異常處理模塊,用于根據(jù)異常描述信息生成異常描述代碼段信息,運(yùn)行生成的異常描述代碼段信息,對(duì)異常進(jìn)行相應(yīng)處理,并將攜帶異常處理結(jié)果的響應(yīng)信息輸出至數(shù)據(jù)同步接收模塊,以使數(shù)據(jù)同步接收模塊根據(jù)響應(yīng)信息執(zhí)行后續(xù)數(shù)據(jù)處理。較佳地,所述異常處理策略存儲(chǔ)模塊進(jìn)一步存儲(chǔ)有數(shù)據(jù)同步接收模塊與異常表項(xiàng)的配置關(guān)系;所述異常表項(xiàng)包括異常項(xiàng)標(biāo)識(shí)符、異常條件、異常項(xiàng)描述以及異常處理代碼段;采用Java服務(wù)器頁(yè)面或Servlet實(shí)現(xiàn)對(duì)異常表項(xiàng)的數(shù)據(jù)配置。由上述技術(shù)方案可見(jiàn),本發(fā)明實(shí)施例提供的一種基于數(shù)據(jù)同步實(shí)現(xiàn)異常處理的方法及裝置,該方法包括預(yù)先設(shè)置包含異常表項(xiàng)的異常處理策略;捕獲數(shù)據(jù)同步過(guò)程中的異常信息,提取異常信息中的異常標(biāo)識(shí)或關(guān)鍵詞,與預(yù)先存儲(chǔ)的異常處理策略進(jìn)行匹配,獲取匹配的異常處理策略;獲取異常描述參數(shù),根據(jù)匹配的異常處理策略,生成異常描述信息;根據(jù)異常描述信息生成異常描述代碼段信息,運(yùn)行生成的異常描述代碼段信息,對(duì)異常進(jìn)行相應(yīng)處理,并將攜帶異常處理結(jié)果的響應(yīng)信息輸出至外部的數(shù)據(jù)同步接收模塊,以使數(shù)據(jù)同步接收模塊根據(jù)響應(yīng)信息執(zhí)行后續(xù)數(shù)據(jù)處理。這樣,將網(wǎng)絡(luò)應(yīng)用系統(tǒng)中數(shù)據(jù)同步過(guò)程中的異常項(xiàng)相關(guān)信息配置在異常表項(xiàng)中,對(duì)產(chǎn)生的異常進(jìn)行統(tǒng)一處理,無(wú)需在不同程序段位置中嵌入相應(yīng)處理異常的程序邏輯代碼,有效減少了網(wǎng)絡(luò)應(yīng)用系統(tǒng)相關(guān)編碼量,降低了異常處理所需的時(shí)間、提升了應(yīng)用程序代碼的可維護(hù)性。


為了更清楚地說(shuō)明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,以下將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡(jiǎn)單地介紹。顯而易見(jiàn)地,以下描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員而言,還可以根據(jù)這些附圖所示實(shí)施例得到其它的實(shí)施例及其附圖。圖1本發(fā)明實(shí)施例基于數(shù)據(jù)同步實(shí)現(xiàn)異常處理的系統(tǒng)結(jié)構(gòu)示意圖。圖2為本發(fā)明實(shí)施例異常處理引擎結(jié)構(gòu)示意圖。圖3為本發(fā)明實(shí)施例基于數(shù)據(jù)同步實(shí)現(xiàn)異常處理的方法流程示意圖。圖4為本發(fā)明實(shí)施例基于數(shù)據(jù)同步實(shí)現(xiàn)異常處理的方法具體流程示意圖。
具體實(shí)施例方式以下將結(jié)合附圖對(duì)本發(fā)明各實(shí)施例的技術(shù)方案進(jìn)行清楚、完整的描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明的一部分實(shí)施例,而不是全部的實(shí)施例。基于本發(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒(méi)有做出創(chuàng)造性勞動(dòng)的前提下所得到的所有其它實(shí)施例,都屬于本發(fā)明所保護(hù)的范圍。
現(xiàn)有基于數(shù)據(jù)同步處理數(shù)據(jù)異常的方法,處理異常的程序邏輯代碼與業(yè)務(wù)正常運(yùn)行的程序邏輯代碼在同一模塊邏輯(同一程序代碼段)中,同一異常在不同位置發(fā)生,需要在不同位置對(duì)應(yīng)的代碼段中,嵌入該處理異常的程序邏輯代碼,使得處理異常流程的代碼量較多,異常處理所需的時(shí)間長(zhǎng),造成應(yīng)用程序代碼的可維護(hù)性下降,對(duì)應(yīng)用程序穩(wěn)定性造成影響,且不利于日后對(duì)新出現(xiàn)的異常類型進(jìn)行擴(kuò)展。本發(fā)明實(shí)施例中,考慮對(duì)數(shù)據(jù)同步中應(yīng)用程序出現(xiàn)的異常,分配異常處理引擎進(jìn)行集中處理,通過(guò)預(yù)先設(shè)置異常處理策略,對(duì)異常后續(xù)處理方式提供描述,在數(shù)據(jù)同步過(guò)程中應(yīng)用程序出現(xiàn)異常時(shí),通過(guò)調(diào)用異常處理引擎,使得異常處理引擎根據(jù)預(yù)先設(shè)置的該異常對(duì)應(yīng)的異常處理策略進(jìn)行異常處理,以保障應(yīng)用程序的連貫執(zhí)行。具體來(lái)說(shuō),當(dāng)基于Web服務(wù)等技術(shù)實(shí)現(xiàn)的網(wǎng)絡(luò)數(shù)據(jù)同步功能出現(xiàn)異常時(shí),數(shù)據(jù)同步發(fā)送模塊通過(guò)預(yù)先配置的捕獲規(guī)則及異常處理策略,對(duì)異常信息進(jìn)行捕獲,調(diào)用異常處理引擎進(jìn)行相關(guān)異常信息維護(hù)的同時(shí),對(duì)后續(xù)處理方式提供描述,以保證應(yīng)用程序的連貫執(zhí)行。這樣,在應(yīng)用程序編碼過(guò)程中,只需聲明本發(fā)明中實(shí)現(xiàn)的異常處理引擎提供的接口,即可完成異常捕獲及處理過(guò)程,而無(wú)需在不同程序段位置中嵌入相應(yīng)處理異常的程序邏輯代碼,具有較好的靈活性及良好的可擴(kuò)展性,且能夠節(jié)約系統(tǒng)開發(fā)成本。本發(fā)明實(shí)施例提出的基于數(shù)據(jù)同步實(shí)現(xiàn)異常處理的方法,主要針對(duì)網(wǎng)絡(luò)應(yīng)用系統(tǒng)中基于Web服務(wù)等技術(shù)實(shí)現(xiàn)的數(shù)據(jù)同步功能模塊。圖1為本發(fā)明實(shí)施例基于數(shù)據(jù)同步實(shí)現(xiàn)異常處理的系統(tǒng)結(jié)構(gòu)示意圖。以基于Web服務(wù)的實(shí)現(xiàn)方法為例,參見(jiàn)圖1,該系統(tǒng)包括同步數(shù)據(jù)發(fā)送模塊、同步數(shù)據(jù)接收模塊及異常處理引擎,其中,同步數(shù)據(jù)發(fā)送模塊,即源系統(tǒng),用于將同步數(shù)據(jù)以同步數(shù)據(jù)發(fā)送模塊預(yù)先設(shè)置的結(jié)構(gòu)化方法進(jìn)行組織,然后將目的地址標(biāo)識(shí)符設(shè)置為同步數(shù)據(jù)接收模塊(目的系統(tǒng))標(biāo)識(shí),通過(guò)Web服務(wù)客戶端方式,將組織的結(jié)構(gòu)化同步數(shù)據(jù)傳輸至同步數(shù)據(jù)接收模塊;本發(fā)明實(shí)施例中,結(jié)構(gòu)化方法可以是可擴(kuò)展標(biāo)記語(yǔ)言(XML, Extensible MarkupLanguage)等方法。同步數(shù)據(jù)接收模塊,即目的系統(tǒng),用于接收同步數(shù)據(jù)發(fā)送模塊傳輸?shù)慕Y(jié)構(gòu)化同步數(shù)據(jù),根據(jù)預(yù)先設(shè)置的解析規(guī)則,將結(jié)構(gòu)化同步數(shù)據(jù)還原為同步數(shù)據(jù)接收模塊需求的數(shù)據(jù)組織形式,并進(jìn)行處理;如果在處理過(guò)程中出現(xiàn)異常情況,調(diào)用異常處理引擎;接收異常處理引擎返回的異常處理響應(yīng)信息,繼續(xù)處理數(shù)據(jù);本發(fā)明實(shí)施例中,同步數(shù)據(jù)接收模塊可以將還原的同步數(shù)據(jù)寫入數(shù)據(jù)庫(kù),處理完成后,向源系統(tǒng)返回同步數(shù)據(jù)響應(yīng)信息,從而完成本次數(shù)據(jù)同步過(guò)程。異常處理引擎,用于按照預(yù)先設(shè)置的異常處理策略,將異常進(jìn)行處理后,將攜帶異常處理結(jié)果的響應(yīng)信息發(fā)送回目的系統(tǒng),并結(jié)束本次服務(wù)調(diào)用過(guò)程。本發(fā)明實(shí)施例中,異常處理引擎可以內(nèi)置在同步數(shù)據(jù)接收模塊中。當(dāng)數(shù)據(jù)同步模塊中的應(yīng)用程序執(zhí)行過(guò)程中發(fā)生異常時(shí),由異常處理引擎獲取發(fā)生的異常信息,與預(yù)先配置的異常表項(xiàng)進(jìn)行匹配,并依據(jù)異常表項(xiàng)中設(shè)置的異常處理策略,對(duì)異常進(jìn)行后續(xù)處理。其中,異常處理引擎使用程序編碼實(shí)現(xiàn)異常處理,并提供與數(shù)據(jù)同步接收模塊中的網(wǎng)絡(luò)應(yīng)用程序之間的調(diào)用接口。
圖2為本發(fā)明實(shí)施例異常處理引擎結(jié)構(gòu)示意圖。參見(jiàn)圖2,該異常處理引擎包括異常捕獲模塊、異常匹配模塊、異常處理策略存儲(chǔ)模塊、異常描述生成模塊以及異常處理模塊,其中,異常處理策略存儲(chǔ)模塊,用于存儲(chǔ)預(yù)先設(shè)置的包含異常表項(xiàng)的異常處理策略;本發(fā)明實(shí)施例中,針對(duì)數(shù)據(jù)同步流程中服務(wù)端(目的系統(tǒng))處理過(guò)程中的異常情況,設(shè)置異常處理策略,異常處理策略中配置有異常表項(xiàng)。異常表項(xiàng)包括異常項(xiàng)標(biāo)識(shí)符、異常條件、異常項(xiàng)描述以及異常處理代碼段。當(dāng)然,還可以進(jìn)一步包括異常項(xiàng)編碼、和/或,上級(jí)異常項(xiàng)標(biāo)識(shí)符。
實(shí)際應(yīng)用中,每一個(gè)異常表項(xiàng)采用如下格式進(jìn)行表示(ID_1, Code_l, UpperID_l, Condition_l, Description_l, Approach_l);(Id_n, Code_n, UpperID_n, Condition』,Description』,Approach』);其中,n為自然數(shù),表示異常表項(xiàng)中包含的異常項(xiàng)數(shù)量。對(duì)上述格式中的每一項(xiàng),說(shuō)明如下(I) ID,為異常項(xiàng)標(biāo)識(shí)符,用于唯一區(qū)分異常項(xiàng)。本發(fā)明實(shí)施例中,ID可用正整數(shù)或32位通用唯一標(biāo)識(shí)(UUID, Universal UniqueIdentifier)等表不。(2) Code,為異常項(xiàng)編碼,可選。本發(fā)明實(shí)施例中,異常項(xiàng)編碼可根據(jù)實(shí)際應(yīng)用需要進(jìn)行定義,例如,可采用不同位數(shù)字及字符進(jìn)行區(qū)分,以便于對(duì)異常項(xiàng)進(jìn)行維護(hù)和管理,與異常項(xiàng)標(biāo)識(shí)符為一一對(duì)應(yīng)關(guān)系。(3)邱口61*10,為上級(jí)異常項(xiàng)10,可選。本發(fā)明實(shí)施例中,異常項(xiàng)具有上下級(jí)關(guān)系,即異常項(xiàng)所屬的異常類型。UpperID用于描述捕獲的異常項(xiàng)的上下級(jí)關(guān)系,對(duì)于最上級(jí)異常項(xiàng),可以設(shè)置UpperID為空或預(yù)先設(shè)置的特殊值,例如,_1。實(shí)際應(yīng)用中,可將同一種類型的異常項(xiàng)歸為同一類,同一類的異常項(xiàng)具有相同的UpperCode0例如,對(duì)于數(shù)據(jù)格式不匹配的異常,可能是由于多種因素造成的,因而,對(duì)于每一因素造成的異常,可以對(duì)應(yīng)相應(yīng)的異常項(xiàng)編碼,多個(gè)異常項(xiàng)編碼可以具有相同的上級(jí)異常項(xiàng)標(biāo)識(shí)符,用以表示該多個(gè)異常項(xiàng)編碼都屬于數(shù)據(jù)格式不匹配的異常。也就是說(shuō),類型相似的不同異常,分別用不同的異常項(xiàng)編碼表示,但可用相同的上級(jí)異常項(xiàng)ID表示。本發(fā)明實(shí)施例中,除了定義常見(jiàn)類型格式的異常項(xiàng)之外,還可以定義特殊的異常項(xiàng)編碼“Default”,用于表示捕獲到異常,但與所有已配置的異常項(xiàng)無(wú)法匹配時(shí),默認(rèn)的匹配異常項(xiàng)。(4) Condition,為異常項(xiàng)出現(xiàn)的條件定義,即異常條件。本發(fā)明實(shí)施例中,每一異常對(duì)應(yīng)有相應(yīng)的異常條件,在數(shù)據(jù)同步過(guò)程中,只要是在相同異常條件下產(chǎn)生的異常,其表現(xiàn)形式都相同,可以用相同的策略進(jìn)行處理。因而,通過(guò)捕獲異常,獲取異常的關(guān)鍵詞信息,與預(yù)先設(shè)置的異常條件進(jìn)行匹配,確定異常標(biāo)識(shí),根據(jù)異常標(biāo)識(shí)以獲取對(duì)應(yīng)處理異常的相應(yīng)策略。以基于JAVA語(yǔ)言實(shí)現(xiàn)的數(shù)據(jù)同步模塊為例,將各種異常條件作為異常出現(xiàn)條件,例如,java. lang. SQLException等,用于異常處理引擎在進(jìn)行異常處理操作時(shí),根據(jù)捕獲的異常信息匹配異常出現(xiàn)條件,根據(jù)匹配的異常出現(xiàn)條件,從而確定異常標(biāo)識(shí)。(5) Description,為異常項(xiàng)描述。本發(fā)明實(shí)施例中,Description描述異常項(xiàng)詳細(xì)信息,允許應(yīng)用程序在調(diào)用異常處理引擎接口時(shí),向應(yīng)用程序傳遞異常項(xiàng)描述信息參數(shù)。配置異常項(xiàng)描述時(shí),可以使用形如${argN}的格式表示參數(shù),其中,N為整數(shù),例如,一個(gè)異常項(xiàng)描述的格式可以設(shè)置如下“傳入數(shù)據(jù)驗(yàn)證失敗,數(shù)據(jù)ID為$ {argO} ”(6) Approach,為異常后續(xù)處理方式定義,即異常處理代碼段。本發(fā)明實(shí)施例中,Approach可采用XML等結(jié)構(gòu)化方法進(jìn)行定義并編寫代碼段,生成XML文檔。異常處理引擎捕獲異常后,對(duì)異常后續(xù)處理方式,按照預(yù)先設(shè)置的規(guī)則解析生成的XML文檔。以基于JAVA語(yǔ)言實(shí)現(xiàn)的數(shù)據(jù)同步模塊為例,采用XML結(jié)構(gòu)化方法進(jìn)行定義,生成的XML文檔可以如下。例1:在循環(huán)操作中,出現(xiàn)異常時(shí)設(shè)置需要繼續(xù)循環(huán),則XML文檔中包含的異常處理代碼段可定義為
權(quán)利要求
1.一種基于數(shù)據(jù)同步實(shí)現(xiàn)異常處理的方法,該方法包括 預(yù)先設(shè)置包含異常表項(xiàng)的異常處理策略; 捕獲數(shù)據(jù)同步過(guò)程中的異常信息,提取異常信息中的異常標(biāo)識(shí)或關(guān)鍵詞,與預(yù)先存儲(chǔ)的異常處理策略進(jìn)行匹配,獲取匹配的異常處理策略; 獲取異常描述參數(shù),根據(jù)匹配的異常處理策略,生成異常描述信息; 根據(jù)異常描述信息生成異常描述代碼段信息,運(yùn)行生成的異常描述代碼段信息,對(duì)異常進(jìn)行相應(yīng)處理,并將攜帶異常處理結(jié)果的響應(yīng)信息輸出至外部的數(shù)據(jù)同步接收模塊,以使數(shù)據(jù)同步接收模塊根據(jù)響應(yīng)信息執(zhí)行后續(xù)數(shù)據(jù)處理。
2.根據(jù)權(quán)利要求1所述的方法,其中,所述異常表項(xiàng)包括異常項(xiàng)標(biāo)識(shí)符、異常條件、異常項(xiàng)描述以及異常處理代碼段。
3.根據(jù)權(quán)利要求2所述的方法,其中,所述異常表項(xiàng)進(jìn)一步包括異常項(xiàng)代碼、和/或,上級(jí)異常項(xiàng)標(biāo)識(shí)符。
4.根據(jù)權(quán)利要求2所述的方法,其中,所述異常處理代碼段采用可擴(kuò)展標(biāo)記語(yǔ)言進(jìn)行定義并編寫。
5.根據(jù)權(quán)利要求1至4任一項(xiàng)所述的方法,其中,所述方法進(jìn)一步包括 設(shè)置數(shù)據(jù)同步接收模塊與異常表項(xiàng)的配置關(guān)系。
6.根據(jù)權(quán)利要求5所述的方法,其中,所述與預(yù)先存儲(chǔ)的異常處理策略進(jìn)行匹配,獲取匹配的異常處理策略包括 獲取捕獲的異常信息所屬的數(shù)據(jù)同步接收模塊; 根據(jù)預(yù)先設(shè)置的數(shù)據(jù)同步接收模塊與異常表項(xiàng)的配置關(guān)系,獲取與該異常信息所屬的模塊對(duì)應(yīng)的異常表項(xiàng); 將提取的異常標(biāo)識(shí)或關(guān)鍵詞,與獲取的異常表項(xiàng)中的異常條件進(jìn)行匹配,獲取匹配的異常條件,根據(jù)匹配的異常條件獲取異常項(xiàng)對(duì)應(yīng)的異常項(xiàng)描述。
7.根據(jù)權(quán)利要求6所述的方法,其中,所述獲取異常描述參數(shù),根據(jù)匹配的異常處理策略,生成異常描述信息包括 根據(jù)異常項(xiàng)對(duì)應(yīng)的異常項(xiàng)定義描述,從異常項(xiàng)發(fā)生的數(shù)據(jù)同步接收模塊中的應(yīng)用程序邏輯塊中,獲取異常描述參數(shù),或者,從獲取到的異常信息中,獲取異常描述參數(shù); 根據(jù)獲取的異常描述參數(shù)以及異常項(xiàng)定義描述中定義的描述信息,動(dòng)態(tài)地生成異常描述信息。
8.根據(jù)權(quán)利要求7所述的方法,其中,所述根據(jù)異常描述信息生成異常描述代碼段信息包括 解析異常表項(xiàng)中后續(xù)處理方式定義中所描述的結(jié)構(gòu)化信息; 根據(jù)解析后得到的異常處理方式說(shuō)明,將異常描述信息寫入異常處理方式說(shuō)明中的異常處理代碼段中,生成異常描述代碼段信息。
9.一種基于數(shù)據(jù)同步實(shí)現(xiàn)異常處理的裝置,其特征在于,該裝置包括異常捕獲模塊、異常匹配模塊、異常處理策略存儲(chǔ)模塊、異常描述生成模塊以及異常處理模塊,其中, 異常處理策略存儲(chǔ)模塊,用于存儲(chǔ)預(yù)先設(shè)置的包含異常表項(xiàng)的異常處理策略; 異常捕獲模塊,用于捕獲數(shù)據(jù)同步過(guò)程中的異常信息,輸出至異常匹配模塊; 異常匹配模塊,用于接收異常信息,提取異常信息中的異常標(biāo)識(shí)或關(guān)鍵詞,與異常處理策略存儲(chǔ)模塊存儲(chǔ)的異常處理策略進(jìn)行匹配,獲取匹配的異常處理策略; 異常描述生成模塊,用于獲取異常描述參數(shù),根據(jù)匹配的異常處理策略,生成異常描述信息; 異常處理模塊,用于根據(jù)異常描述信息生成異常描述代碼段信息,運(yùn)行生成的異常描述代碼段信息,對(duì)異常進(jìn)行相應(yīng)處理,并將攜帶異常處理結(jié)果的響應(yīng)信息輸出至數(shù)據(jù)同步接收模塊,以使數(shù)據(jù)同步接收模塊根據(jù)響應(yīng)信息執(zhí)行后續(xù)數(shù)據(jù)處理。
10.根據(jù)權(quán)利要求9所述的裝置,其特征在于,所述異常處理策略存儲(chǔ)模塊進(jìn)一步存儲(chǔ)有數(shù)據(jù)同步接收模塊與異常表項(xiàng)的配置關(guān)系; 所述異常表項(xiàng)包括異常項(xiàng)標(biāo)識(shí)符、異常條件、異常項(xiàng)描述以及異常處理代碼段; 采用Java服務(wù)器頁(yè)面或Servlet實(shí)現(xiàn)對(duì)異常表項(xiàng)的數(shù)據(jù)配置。
全文摘要
本發(fā)明公開了一種基于數(shù)據(jù)同步實(shí)現(xiàn)異常處理的方法及裝置。該方法包括預(yù)先設(shè)置包含異常表項(xiàng)的異常處理策略;捕獲數(shù)據(jù)同步過(guò)程中的異常信息,提取異常信息中的異常標(biāo)識(shí)或關(guān)鍵詞,與預(yù)先存儲(chǔ)的異常處理策略進(jìn)行匹配,獲取匹配的異常處理策略;獲取異常描述參數(shù),根據(jù)匹配的異常處理策略,生成異常描述信息;根據(jù)異常描述信息生成異常描述代碼段信息,運(yùn)行生成的異常描述代碼段信息,對(duì)異常進(jìn)行相應(yīng)處理,并將攜帶異常處理結(jié)果的響應(yīng)信息輸出至外部的數(shù)據(jù)同步接收模塊,以使數(shù)據(jù)同步接收模塊根據(jù)響應(yīng)信息執(zhí)行后續(xù)數(shù)據(jù)處理。應(yīng)用本發(fā)明,可以降低異常處理所需的時(shí)間、提升應(yīng)用程序代碼的可維護(hù)性。
文檔編號(hào)G06F11/07GK103019874SQ20121054051
公開日2013年4月3日 申請(qǐng)日期2012年12月13日 優(yōu)先權(quán)日2012年12月13日
發(fā)明者楊易, 李淑惠, 呂建波, 鄭揚(yáng)飛, 吳瑜, 賈曉霞, 郭紅鈺, 金輝, 張勇, 李聶 申請(qǐng)人:中國(guó)電子科技集團(tuán)公司第十五研究所
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1