一種處理應(yīng)用系統(tǒng)請(qǐng)求報(bào)文的方法及裝置制造方法【專利摘要】本申請(qǐng)實(shí)施例公開了一種處理應(yīng)用系統(tǒng)請(qǐng)求報(bào)文的方法。該方法包括:接收請(qǐng)求方發(fā)送的應(yīng)用系統(tǒng)請(qǐng)求報(bào)文;解析判斷所述應(yīng)用系統(tǒng)請(qǐng)求報(bào)文是否為動(dòng)態(tài)報(bào)文;如果是動(dòng)態(tài)報(bào)文,判斷所述動(dòng)態(tài)報(bào)文請(qǐng)求處理字段是否在給定的數(shù)據(jù)結(jié)構(gòu)中可定位,如果是,則根據(jù)動(dòng)態(tài)報(bào)文請(qǐng)求的處理類型和處理字段按照動(dòng)態(tài)報(bào)文中的動(dòng)態(tài)數(shù)據(jù)處理機(jī)制形成動(dòng)態(tài)報(bào)文處理語(yǔ)句;執(zhí)行所述動(dòng)態(tài)報(bào)文處理語(yǔ)句完成動(dòng)態(tài)報(bào)文請(qǐng)求的相應(yīng)操作。本申請(qǐng)實(shí)施例還公開了一種處理應(yīng)用系統(tǒng)請(qǐng)求報(bào)文的裝置。通過本申請(qǐng)實(shí)施例的技術(shù)方案可以提高動(dòng)態(tài)報(bào)文處理的靈活性、提高系統(tǒng)支持業(yè)務(wù)的效率?!緦@f明】一種處理應(yīng)用系統(tǒng)請(qǐng)求報(bào)文的方法及裝置【
技術(shù)領(lǐng)域:
】[0001]本申請(qǐng)涉及數(shù)據(jù)處理【
技術(shù)領(lǐng)域:
】,特別涉及一種處理應(yīng)用系統(tǒng)報(bào)文的方法及其對(duì)應(yīng)的裝置?!?br>背景技術(shù):
】[0002]隨著IT技術(shù)的迅速發(fā)展,基于IT的各種應(yīng)用層出不窮。以目前的聯(lián)機(jī)交易處理(OLTP,OnlineTransactionProcessing)系統(tǒng)為例,由于該系統(tǒng)可通過信息系統(tǒng)、電腦網(wǎng)絡(luò)及數(shù)據(jù)庫(kù)以在線方式處理一般實(shí)時(shí)性的作業(yè)數(shù)據(jù),實(shí)現(xiàn)自動(dòng)化的數(shù)據(jù)處理工作,相對(duì)于早期傳統(tǒng)數(shù)據(jù)庫(kù)系統(tǒng)大批量的作業(yè)方式明顯不同,使其廣泛應(yīng)用于在銀行、證券、電子商務(wù)等需要兩兩系統(tǒng)之間進(jìn)行交互的場(chǎng)合。在這些應(yīng)用系統(tǒng)中,既存在由客戶端發(fā)起的系統(tǒng)交互,例如客戶使用網(wǎng)上銀行,也存在兩個(gè)應(yīng)用系統(tǒng)之間的交互,例如銀行賬務(wù)處理系統(tǒng)與收費(fèi)方管理系統(tǒng)的交互,或客戶進(jìn)行網(wǎng)上購(gòu)物時(shí),購(gòu)物網(wǎng)站與網(wǎng)上銀行或第三方支付平臺(tái)之間的交互。通常情況下,應(yīng)用系統(tǒng)間的交互需要通過報(bào)文來實(shí)現(xiàn),即在應(yīng)用系統(tǒng)間以報(bào)文為載體傳輸信息、處理請(qǐng)求或處理結(jié)果。基于報(bào)文的重要性,在應(yīng)用系統(tǒng)中如何設(shè)計(jì)出靈活、高效、穩(wěn)定的報(bào)文處理機(jī)制,是亟需有效解決的技術(shù)問題。[0003]現(xiàn)有技術(shù)在實(shí)現(xiàn)應(yīng)用系統(tǒng)間的報(bào)文交互時(shí),通常是基于每個(gè)應(yīng)用系統(tǒng)預(yù)先定制報(bào)文,針對(duì)報(bào)文開發(fā)接口。由于報(bào)文是定制的,報(bào)文能夠接受的輸入、進(jìn)行的處理和提供的輸出等內(nèi)容均已既定,應(yīng)用系統(tǒng)在接受到報(bào)文后,通過進(jìn)行解析不能識(shí)別的報(bào)文,或解析后得到不符合給定報(bào)文模式的報(bào)文,將給出報(bào)文錯(cuò)誤的響應(yīng);對(duì)符合給定報(bào)文模式的報(bào)文,才繼續(xù)進(jìn)行后繼處理,并按照預(yù)定處理邏輯給出結(jié)果。然而,這種方式盡管在應(yīng)用系統(tǒng)中已經(jīng)對(duì)有關(guān)數(shù)據(jù)進(jìn)行了有效管理,但是,只要接收的報(bào)文請(qǐng)求沒有得到預(yù)先定義,便不能進(jìn)行處理,降低了系統(tǒng)的靈活性和高效性,該報(bào)文處理機(jī)制無法適應(yīng)各種不同類型的業(yè)務(wù)?!?br/>發(fā)明內(nèi)容】[0004]為解決上述技術(shù)問題,本申請(qǐng)實(shí)施例提供了一種處理應(yīng)用系統(tǒng)請(qǐng)求報(bào)文的方法及其對(duì)應(yīng)的裝置,以提高報(bào)文處理的靈活性、提高系統(tǒng)支持業(yè)務(wù)的效率。[0005]本申請(qǐng)?zhí)峁┑奶幚響?yīng)用系統(tǒng)請(qǐng)求報(bào)文的方法包括:[0006]接收請(qǐng)求方發(fā)送的應(yīng)用系統(tǒng)請(qǐng)求報(bào)文;[0007]解析判斷所述應(yīng)用系統(tǒng)請(qǐng)求報(bào)文是否為動(dòng)態(tài)報(bào)文,所述動(dòng)態(tài)報(bào)文包含動(dòng)態(tài)元素標(biāo)識(shí)、動(dòng)態(tài)數(shù)據(jù)處理機(jī)制信息以及動(dòng)態(tài)報(bào)文請(qǐng)求的處理類型和處理字段;如果是動(dòng)態(tài)報(bào)文,判斷所述動(dòng)態(tài)報(bào)文請(qǐng)求處理字段是否在給定的數(shù)據(jù)結(jié)構(gòu)中可定位,如果是,則根據(jù)動(dòng)態(tài)報(bào)文請(qǐng)求的處理類型和處理字段按照動(dòng)態(tài)報(bào)文中的動(dòng)態(tài)數(shù)據(jù)處理機(jī)制形成動(dòng)態(tài)報(bào)文處理語(yǔ)句;[0008]執(zhí)行所述動(dòng)態(tài)報(bào)文處理語(yǔ)句完成動(dòng)態(tài)報(bào)文請(qǐng)求的相應(yīng)操作。[0009]優(yōu)選地,所述根據(jù)動(dòng)態(tài)報(bào)文請(qǐng)求的處理類型和處理字段按照動(dòng)態(tài)報(bào)文中的動(dòng)態(tài)數(shù)據(jù)處理機(jī)制形成動(dòng)態(tài)報(bào)文處理語(yǔ)句包括:[0010]如果所述動(dòng)態(tài)數(shù)據(jù)處理機(jī)制為動(dòng)態(tài)SQL訪問,則根據(jù)動(dòng)態(tài)報(bào)文請(qǐng)求的處理類型和處理字段域形成可執(zhí)行的SQL語(yǔ)句;[0011]如果所述動(dòng)態(tài)數(shù)據(jù)處理機(jī)制為原子報(bào)文訪問,則根據(jù)動(dòng)態(tài)報(bào)文請(qǐng)求的處理類型和處理字段調(diào)用相應(yīng)的原子報(bào)文,所述原子報(bào)文為預(yù)先構(gòu)造的針對(duì)數(shù)據(jù)結(jié)構(gòu)的一個(gè)存儲(chǔ)類別的基本處理報(bào)文。[0012]優(yōu)選地,在所述請(qǐng)求報(bào)文為輸入請(qǐng)求報(bào)文時(shí),所述動(dòng)態(tài)報(bào)文請(qǐng)求的處理類型包括數(shù)據(jù)僅增加、數(shù)據(jù)僅修改、數(shù)據(jù)有則修改無則增加,和/或,刪除操作;[0013]在所述請(qǐng)求報(bào)文為輸出請(qǐng)求報(bào)文時(shí),所述動(dòng)態(tài)報(bào)文請(qǐng)求的處理類型包括查詢操作,在執(zhí)行所述動(dòng)態(tài)報(bào)文處理語(yǔ)句完成動(dòng)態(tài)報(bào)文請(qǐng)求的相應(yīng)操作后,所述方法還包括將操作結(jié)果發(fā)送給請(qǐng)求方。[0014]優(yōu)選地,當(dāng)請(qǐng)求報(bào)文為輸入請(qǐng)求報(bào)文且動(dòng)態(tài)報(bào)文請(qǐng)求的處理類型為數(shù)據(jù)僅增加時(shí),判斷是否存在與動(dòng)態(tài)報(bào)文處理字段相同關(guān)鍵字的數(shù)據(jù),如果存在,則發(fā)出包含“存在數(shù)據(jù)、不允許增加”內(nèi)容的響應(yīng)消息;如果不存在,則執(zhí)行動(dòng)態(tài)報(bào)文僅增加語(yǔ)句完成增加操作;[0015]當(dāng)請(qǐng)求報(bào)文為輸入請(qǐng)求報(bào)文且動(dòng)態(tài)報(bào)文請(qǐng)求的處理類型為數(shù)據(jù)僅修改時(shí),判斷是否存在與動(dòng)態(tài)報(bào)文處理字段相同關(guān)鍵字的數(shù)據(jù),如果不存在,則發(fā)出包含“不存在數(shù)據(jù)、不允許修改”內(nèi)容的響應(yīng)消息;如果存在,則執(zhí)行動(dòng)態(tài)報(bào)文僅修改語(yǔ)句完成修改操作;[0016]當(dāng)請(qǐng)求報(bào)文為輸入請(qǐng)求報(bào)文且動(dòng)態(tài)報(bào)文請(qǐng)求的處理類型為數(shù)據(jù)有則修改無則增加時(shí),判斷是否存在與動(dòng)態(tài)報(bào)文處理字段相同關(guān)鍵字的數(shù)據(jù),如果存在,則執(zhí)行動(dòng)態(tài)報(bào)文修改語(yǔ)句完成修改操作;如果不存在,則執(zhí)行動(dòng)態(tài)報(bào)文增加語(yǔ)句完成增加操作。[0017]優(yōu)選地,在執(zhí)行所述動(dòng)態(tài)報(bào)文處理語(yǔ)句完成動(dòng)態(tài)報(bào)文請(qǐng)求的相應(yīng)操作之前,判斷所述動(dòng)態(tài)報(bào)文請(qǐng)求的處理類型和/或處理字段是否符合請(qǐng)求方的角色權(quán)限,如果符合請(qǐng)求方的角色權(quán)限,則執(zhí)行動(dòng)態(tài)報(bào)文處理語(yǔ)句;如果不符合請(qǐng)求方的角色權(quán)限,則發(fā)出包含“報(bào)文請(qǐng)求不符合角色權(quán)限,無法完成操作”內(nèi)容的響應(yīng)消息。[0018]優(yōu)選地,在判斷出應(yīng)用系統(tǒng)請(qǐng)求報(bào)文為非動(dòng)態(tài)報(bào)文時(shí),按照現(xiàn)有技術(shù)方式進(jìn)行處理。[0019]優(yōu)選地,判斷動(dòng)態(tài)報(bào)文請(qǐng)求處理字段在給定的數(shù)據(jù)結(jié)構(gòu)中不可定位時(shí),則發(fā)出包含“報(bào)文請(qǐng)求不可定位,無法完成操作”內(nèi)容的響應(yīng)消息。[0020]本申請(qǐng)還提供了一種處理應(yīng)用系統(tǒng)請(qǐng)求報(bào)文的裝置。該裝置包括:請(qǐng)求報(bào)文接收單元、報(bào)文類別判斷單元、字段定位判斷單元、語(yǔ)句形成單元和語(yǔ)句執(zhí)行單元,其中:[0021]所述請(qǐng)求報(bào)文接收單元,用于接收請(qǐng)求方發(fā)送的應(yīng)用系統(tǒng)請(qǐng)求報(bào)文;[0022]所述報(bào)文類別判斷單元,用于解析判斷所述應(yīng)用系統(tǒng)請(qǐng)求報(bào)文是否為動(dòng)態(tài)報(bào)文,所述動(dòng)態(tài)報(bào)文包含動(dòng)態(tài)元素標(biāo)識(shí)、動(dòng)態(tài)數(shù)據(jù)處理機(jī)制信息以及動(dòng)態(tài)報(bào)文請(qǐng)求的處理類型和處理字段;如果是動(dòng)態(tài)報(bào)文,則觸發(fā)字段定位判斷單元;[0023]所述字段定位判斷單元,用于判斷所述動(dòng)態(tài)報(bào)文請(qǐng)求處理字段是否在給定的數(shù)據(jù)結(jié)構(gòu)中可定位,如果是,則觸發(fā)語(yǔ)句形成單元;[0024]所述語(yǔ)句形成單元,用于根據(jù)動(dòng)態(tài)報(bào)文請(qǐng)求的處理類型和處理字段按照動(dòng)態(tài)報(bào)文中的動(dòng)態(tài)數(shù)據(jù)處理機(jī)制形成動(dòng)態(tài)報(bào)文處理語(yǔ)句;[0025]所述語(yǔ)句執(zhí)行單元,用于執(zhí)行所述動(dòng)態(tài)報(bào)文處理語(yǔ)句完成動(dòng)態(tài)報(bào)文請(qǐng)求的相應(yīng)操作。[0026]優(yōu)選地,所述裝置還包括角色權(quán)限判斷單元,用于在執(zhí)行所述動(dòng)態(tài)報(bào)文處理語(yǔ)句完成動(dòng)態(tài)報(bào)文請(qǐng)求的相應(yīng)操作之前,判斷所述動(dòng)態(tài)報(bào)文請(qǐng)求的處理類型和/或處理字段是否符合請(qǐng)求方的角色權(quán)限,如果符合請(qǐng)求方的角色權(quán)限,則觸發(fā)語(yǔ)句執(zhí)行單元。[0027]進(jìn)一步優(yōu)選地,所述裝置還包括非動(dòng)態(tài)報(bào)文處理單元,用于在判斷出應(yīng)用系統(tǒng)請(qǐng)求報(bào)文為非動(dòng)態(tài)報(bào)文時(shí),按照現(xiàn)有技術(shù)方式進(jìn)行處理。[0028]本申請(qǐng)?zhí)峁┑奶幚響?yīng)用系統(tǒng)請(qǐng)求報(bào)文的技術(shù)方案先對(duì)接收到的請(qǐng)求報(bào)文的類別進(jìn)行判別,對(duì)于不同的類別采取不同的處理方式:如果是動(dòng)態(tài)報(bào)文,判斷請(qǐng)求報(bào)文的輸入輸出數(shù)據(jù)(處理字段)是否在給定的數(shù)據(jù)結(jié)構(gòu)中可定位,可定位的情況下根據(jù)動(dòng)態(tài)報(bào)文請(qǐng)求的處理類型和處理字段按照動(dòng)態(tài)報(bào)文中的動(dòng)態(tài)數(shù)據(jù)處理機(jī)制形成動(dòng)態(tài)報(bào)文處理語(yǔ)句,執(zhí)行該語(yǔ)句完成相應(yīng)操作。與現(xiàn)有技術(shù)相比,在報(bào)文處理過程中,不再如傳統(tǒng)的靜態(tài)報(bào)文那樣按照預(yù)先定制好的報(bào)文模式進(jìn)行處理,而是根據(jù)給定的數(shù)據(jù)架構(gòu),按照給出的動(dòng)態(tài)報(bào)文處理機(jī)制,動(dòng)態(tài)形成可執(zhí)行的語(yǔ)句,通過執(zhí)行該動(dòng)態(tài)形成的處理語(yǔ)句實(shí)現(xiàn)從應(yīng)用系統(tǒng)中獲取數(shù)據(jù)或?qū)?yīng)用系統(tǒng)進(jìn)行數(shù)據(jù)操作的目的。由此可看出,本申請(qǐng)的技術(shù)方案可以適應(yīng)應(yīng)用系統(tǒng)的數(shù)據(jù)結(jié)構(gòu)已經(jīng)包括了所要處理的數(shù)據(jù)項(xiàng)但事先未約定數(shù)據(jù)交換內(nèi)容的業(yè)務(wù)需求,提高了對(duì)報(bào)文處理的靈活性。此外,由于可以在沒有事先規(guī)定報(bào)文模式的情況下,處理各種滿足實(shí)際應(yīng)用業(yè)務(wù)需要的報(bào)文,總體提高了應(yīng)用系統(tǒng)對(duì)業(yè)務(wù)支持的效率?!緦@綀D】【附圖說明】[0029]為了更清楚地說明本申請(qǐng)實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見地,下面描述中的附圖僅僅是本申請(qǐng)中記載的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。[0030]圖1為本申請(qǐng)的處理應(yīng)用系統(tǒng)請(qǐng)求報(bào)文的方法的實(shí)施例流程圖;[0031]圖2為本申請(qǐng)的處理應(yīng)用系統(tǒng)請(qǐng)求報(bào)文的方法的另一個(gè)實(shí)施例流程圖;[0032]圖3為本申請(qǐng)的一個(gè)實(shí)例中的數(shù)據(jù)表之間的關(guān)系圖;[0033]圖4為本申請(qǐng)的處理應(yīng)用系統(tǒng)請(qǐng)求報(bào)文的裝置實(shí)施例的結(jié)構(gòu)框圖。【具體實(shí)施方式】[0034]為了使本【
技術(shù)領(lǐng)域:
】的人員更好地理解本申請(qǐng)中的技術(shù)方案,下面將結(jié)合本申請(qǐng)實(shí)施例中的附圖,對(duì)本申請(qǐng)實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本申請(qǐng)的一部分實(shí)施例,而不是全部的實(shí)施例?;诒旧暾?qǐng)中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都應(yīng)當(dāng)屬于本申請(qǐng)保護(hù)的范圍。[0035]參見圖1,該圖示出了本申請(qǐng)?zhí)峁┑奶幚響?yīng)用系統(tǒng)請(qǐng)求報(bào)文的方法的一個(gè)實(shí)施例的流程。該流程包括:[0036]步驟SlOl:接收請(qǐng)求方發(fā)送的應(yīng)用系統(tǒng)請(qǐng)求報(bào)文;[0037]應(yīng)用系統(tǒng)請(qǐng)求報(bào)文可以是向應(yīng)用系統(tǒng)請(qǐng)求進(jìn)行相關(guān)業(yè)務(wù)處理的報(bào)文,這里的請(qǐng)求方可以是一個(gè)客戶終端,也可以是另一個(gè)應(yīng)用系統(tǒng)。請(qǐng)求方發(fā)送應(yīng)用系統(tǒng)請(qǐng)求報(bào)文實(shí)際上是用于實(shí)現(xiàn)對(duì)應(yīng)用系統(tǒng)的訪問。請(qǐng)求方對(duì)應(yīng)用系統(tǒng)的訪問通常情況存在兩種情形:一種是僅向應(yīng)用系統(tǒng)發(fā)送某類信息或者維護(hù)應(yīng)用系統(tǒng)本身,即輸入型請(qǐng)求報(bào)文(簡(jiǎn)稱輸入請(qǐng)求報(bào)文),比如,請(qǐng)求方希望在數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)中進(jìn)行數(shù)據(jù)記錄的增加、修改、刪除等操作,這類型的請(qǐng)求報(bào)文只要完成相應(yīng)的操作即可,或者進(jìn)一步地返回應(yīng)用系統(tǒng)的處理狀態(tài),;一種是需要應(yīng)用系統(tǒng)進(jìn)行業(yè)務(wù)處理并返回處理結(jié)果的訪問,即輸出型請(qǐng)求報(bào)文(簡(jiǎn)稱輸出請(qǐng)求報(bào)文),比如,請(qǐng)求方希望在數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)中進(jìn)行數(shù)據(jù)查詢操作,這類型的請(qǐng)求報(bào)文不僅需要應(yīng)用系統(tǒng)進(jìn)行相應(yīng)的操作(如數(shù)據(jù)記錄搜索、查找等),而且要求應(yīng)用系統(tǒng)將操作結(jié)果(如檢索結(jié)果)返回給請(qǐng)求方。[0038]步驟S102:解析判斷所述應(yīng)用系統(tǒng)請(qǐng)求報(bào)文是否為動(dòng)態(tài)報(bào)文,所述動(dòng)態(tài)報(bào)文包含動(dòng)態(tài)元素標(biāo)識(shí)、動(dòng)態(tài)數(shù)據(jù)處理機(jī)制信息以及動(dòng)態(tài)報(bào)文請(qǐng)求的處理類型和處理字段;如果是動(dòng)態(tài)報(bào)文,則執(zhí)行步驟S103:[0039]應(yīng)用系統(tǒng)接收到報(bào)文后,需要選擇處理通道:如果接收到的應(yīng)用請(qǐng)求報(bào)文為靜態(tài)報(bào)文,則可按照與現(xiàn)有技術(shù)相同的方式進(jìn)行處理,這體現(xiàn)出本實(shí)施例可以與現(xiàn)有處理模式進(jìn)行兼容,對(duì)已經(jīng)明確的大信息交換處理量報(bào)文處理,能夠保證原有的處理性能;如果接收到請(qǐng)求報(bào)文為動(dòng)態(tài)報(bào)文,則可以按照本實(shí)施例后續(xù)的處理方式進(jìn)行處理,有利于對(duì)應(yīng)用系統(tǒng)的改造升級(jí)探索、快速響應(yīng)和平滑過渡。本實(shí)施例的動(dòng)態(tài)報(bào)文是與靜態(tài)報(bào)文相對(duì)而言的概念,通常情況下,本實(shí)施例的動(dòng)態(tài)報(bào)文需要包含如下的信息:[0040]a、動(dòng)態(tài)元素標(biāo)識(shí),即用于指示該請(qǐng)求報(bào)文是屬于動(dòng)態(tài)報(bào)文還是靜態(tài)報(bào)文,具體實(shí)現(xiàn)時(shí),可以在該報(bào)文中預(yù)置一個(gè)標(biāo)志,將該標(biāo)志定義為動(dòng)態(tài)報(bào)文與靜態(tài)報(bào)文的區(qū)別指示,即有該標(biāo)志,則認(rèn)為接收到請(qǐng)求報(bào)文為動(dòng)態(tài)報(bào)文,否則為靜態(tài)報(bào)文。比如,在報(bào)文中設(shè)置“dynamic”元素,如果通過解析動(dòng)態(tài)報(bào)文發(fā)現(xiàn)報(bào)文中包含此元素,則說明該報(bào)文為動(dòng)態(tài)報(bào)文。此種方式避免對(duì)原有的報(bào)文和相應(yīng)的處理進(jìn)行改動(dòng)或改動(dòng)過多。[0041]b、動(dòng)態(tài)報(bào)文的處理類型,即用于指示需要應(yīng)用系統(tǒng)進(jìn)行何種類型的操作,該內(nèi)容體現(xiàn)請(qǐng)求方的需求,如前所述,報(bào)文可以具有至少兩種類型:輸入型和輸出型,對(duì)于輸入型而言,如果是針對(duì)數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng),則可以是進(jìn)行數(shù)據(jù)記錄的增加、修改、數(shù)據(jù)記錄有則修改無則增加、刪除等處理,對(duì)于輸出型而言,則可以是查詢處理。[0042]C、動(dòng)態(tài)數(shù)據(jù)處理機(jī)制信息,即用于指示應(yīng)用系統(tǒng)按照何種方式進(jìn)行處理。應(yīng)用系統(tǒng)可具有不同的數(shù)據(jù)處理機(jī)制。比如,對(duì)于應(yīng)用系統(tǒng)的數(shù)據(jù)組織已組織成支持采用動(dòng)態(tài)執(zhí)行數(shù)據(jù)的查詢、增加、修改、刪除等功能,則該動(dòng)態(tài)數(shù)據(jù)處理機(jī)制可以為動(dòng)態(tài)SQL訪問機(jī)制。還比如:在某些數(shù)據(jù)應(yīng)用系統(tǒng)中,采用了數(shù)據(jù)鑒別技術(shù),采用該鑒別技術(shù)的數(shù)據(jù)庫(kù)中每條數(shù)據(jù)記錄(可能以數(shù)據(jù)庫(kù)方式存放,也可能以文件、XML格式存放)均可能會(huì)產(chǎn)生一個(gè)鑒別碼,在讀取數(shù)據(jù)時(shí)對(duì)鑒別碼進(jìn)行確認(rèn),在增加數(shù)據(jù)時(shí),同時(shí)增加鑒別碼。如果在這種情形下鑒別碼是通過外部黑箱策略所產(chǎn)生,則應(yīng)構(gòu)造對(duì)所有數(shù)據(jù)結(jié)構(gòu)的合理存儲(chǔ)單位的電子報(bào)文,即存儲(chǔ)結(jié)構(gòu)中的全部數(shù)據(jù)項(xiàng)進(jìn)行訪問的報(bào)文,這時(shí),上述的動(dòng)態(tài)數(shù)據(jù)處理機(jī)制則為原子報(bào)文訪問機(jī)制。[0043]d、動(dòng)態(tài)報(bào)文請(qǐng)求的處理字段,即用于指示按照處理類型進(jìn)行相應(yīng)處理的對(duì)象。[0044]步驟S103:判斷所述動(dòng)態(tài)報(bào)文請(qǐng)求處理字段是否在給定的數(shù)據(jù)結(jié)構(gòu)中可定位,如果是,則執(zhí)行步驟S104;[0045]在確定應(yīng)用系統(tǒng)請(qǐng)求報(bào)文為動(dòng)態(tài)報(bào)文后,由于后續(xù)操作需要根據(jù)動(dòng)態(tài)報(bào)文給出的內(nèi)容信息形成可執(zhí)行的處理語(yǔ)句,因此,需要判斷動(dòng)態(tài)報(bào)文請(qǐng)求中的處理字段是否是應(yīng)用系統(tǒng)可接受的,即判斷動(dòng)態(tài)報(bào)文請(qǐng)求處理字段是否在給定的數(shù)據(jù)結(jié)構(gòu)中可定位,如果不能定位,比如處理類型為對(duì)采用關(guān)系數(shù)據(jù)庫(kù)的表進(jìn)行管理,但該關(guān)系數(shù)據(jù)庫(kù)的表中不存在相應(yīng)的主鍵,則應(yīng)用系統(tǒng)無法進(jìn)行相應(yīng)的處理,可以給出“請(qǐng)求不可定位,無法完成操作”的響應(yīng)消息,結(jié)束交互。如果能夠定位,則繼續(xù)執(zhí)行后續(xù)操作。[0046]步驟S104:根據(jù)動(dòng)態(tài)報(bào)文請(qǐng)求的處理類型和處理字段按照動(dòng)態(tài)報(bào)文中的動(dòng)態(tài)數(shù)據(jù)處理機(jī)制形成動(dòng)態(tài)報(bào)文處理語(yǔ)句;[0047]步驟S105:執(zhí)行所述動(dòng)態(tài)報(bào)文處理語(yǔ)句完成動(dòng)態(tài)報(bào)文請(qǐng)求的相應(yīng)操作。[0048]本實(shí)施例提供的處理應(yīng)用系統(tǒng)請(qǐng)求報(bào)文的技術(shù)方案先對(duì)接收到的請(qǐng)求報(bào)文的類別進(jìn)行判別,對(duì)于不同的類別采取不同的處理方式:如果是動(dòng)態(tài)報(bào)文,進(jìn)行請(qǐng)求報(bào)文的輸入輸出數(shù)據(jù)(處理字段)是否在給定的數(shù)據(jù)結(jié)構(gòu)中可定位,可定位的情況下根據(jù)動(dòng)態(tài)報(bào)文請(qǐng)求的處理類型和處理字段按照動(dòng)態(tài)報(bào)文中的動(dòng)態(tài)數(shù)據(jù)處理機(jī)制形成動(dòng)態(tài)報(bào)文處理語(yǔ)句,執(zhí)行該語(yǔ)句完成相應(yīng)操作;如果是非動(dòng)態(tài)報(bào)文(靜態(tài)報(bào)文),則可以按照現(xiàn)有的處理方式進(jìn)行處理。與現(xiàn)有技術(shù)相比,本申請(qǐng)實(shí)施例至少可以取得如下的技術(shù)效果:[0049](I)由于在報(bào)文處理過程中,不再如傳統(tǒng)的靜態(tài)報(bào)文那樣按照預(yù)先定制好的報(bào)文模式進(jìn)行處理,而是基于給定的數(shù)據(jù)架構(gòu),按照給出的動(dòng)態(tài)報(bào)文處理機(jī)制,動(dòng)態(tài)形成可執(zhí)行的語(yǔ)句,通過執(zhí)行該動(dòng)態(tài)形成的處理語(yǔ)句實(shí)現(xiàn)從應(yīng)用系統(tǒng)中獲取數(shù)據(jù)或?qū)?yīng)用系統(tǒng)進(jìn)行數(shù)據(jù)操作的目的。由此可看出,本實(shí)施例的技術(shù)方案可以適應(yīng)各種新產(chǎn)生的業(yè)務(wù)需求,提高了對(duì)報(bào)文處理的靈活性。[0050](2)由于本實(shí)施例是在報(bào)文處理過程中根據(jù)報(bào)文的處理機(jī)制信息動(dòng)態(tài)地形成可執(zhí)行的語(yǔ)句,而不是在請(qǐng)求方發(fā)送報(bào)文之前,請(qǐng)求方已完全定制好報(bào)文處理模式,使得本實(shí)施例的方案在面對(duì)數(shù)據(jù)結(jié)構(gòu)復(fù)雜且數(shù)據(jù)量龐大的系統(tǒng)時(shí),對(duì)在規(guī)劃和設(shè)計(jì)時(shí)未考慮到的數(shù)據(jù)處理報(bào)文可進(jìn)行運(yùn)行時(shí)的定制,從而在進(jìn)行程序設(shè)計(jì)和開發(fā)時(shí),可有效加快開發(fā)響應(yīng)業(yè)務(wù)需求的周期。[0051]為了更詳細(xì)地說明本申請(qǐng)的技術(shù)方案,下面以更詳細(xì)的實(shí)施例進(jìn)行闡述。參見圖2,該圖示出了本申請(qǐng)的處理應(yīng)用系統(tǒng)請(qǐng)求報(bào)文方法的另一個(gè)實(shí)施例的流程。該流程包括:[0052]步驟S201:接收請(qǐng)求方發(fā)送來的應(yīng)用系統(tǒng)請(qǐng)求報(bào)文;[0053]步驟S202:對(duì)請(qǐng)求報(bào)文進(jìn)行第一次解析,且判斷:所述請(qǐng)求報(bào)文是動(dòng)態(tài)報(bào)文還是靜態(tài)報(bào)文,如果是靜態(tài)報(bào)文,則執(zhí)行步驟S203,如果是動(dòng)態(tài)報(bào)文,則執(zhí)行步驟S204:[0054]步驟S203:按照現(xiàn)有技術(shù)中的靜態(tài)報(bào)文的方式進(jìn)行處理,結(jié)束流程。[0055]步驟S204:對(duì)請(qǐng)求報(bào)文(動(dòng)態(tài)報(bào)文)進(jìn)行第二次解析,且判斷:動(dòng)態(tài)報(bào)文請(qǐng)求的輸入輸出數(shù)據(jù)標(biāo)記是否正確,如果不正確,則執(zhí)行步驟S205;如果正確,則執(zhí)行步驟S206;[0056]步驟S205:發(fā)出不能進(jìn)行報(bào)文解析的響應(yīng)消息,結(jié)束流程;[0057]步驟S206:判斷動(dòng)態(tài)報(bào)文的輸入請(qǐng)求和/或輸出數(shù)據(jù)請(qǐng)求處理字段是否在給定的數(shù)據(jù)結(jié)構(gòu)中可定位;如果不可定位,則執(zhí)行步驟S207;如果可定位,則執(zhí)行步驟S209;[0058]步驟S207:判斷是否允許僅處理可訪問數(shù)據(jù)結(jié)構(gòu)中的內(nèi)容,如果否,則執(zhí)行步驟S208;如果是,則執(zhí)行步驟S209:[0059]步驟S208:發(fā)出請(qǐng)求輸入和/或輸出數(shù)據(jù)不可識(shí)別的響應(yīng)消息,結(jié)束流程。[0060]步驟S209:判斷請(qǐng)求的輸入和/或輸出數(shù)據(jù)是否符合報(bào)文請(qǐng)求者的角色要求;如果否,執(zhí)行步驟S210;如果是,則執(zhí)行步驟S211;[0061]步驟S210:發(fā)出請(qǐng)求報(bào)文權(quán)限不足的響應(yīng)消息,結(jié)束流程;[0062]步驟S211:根據(jù)動(dòng)態(tài)報(bào)文請(qǐng)求的處理類型和處理字段按照動(dòng)態(tài)報(bào)文中的動(dòng)態(tài)數(shù)據(jù)處理機(jī)制形成動(dòng)態(tài)報(bào)文處理語(yǔ)句;[0063]步驟S212:執(zhí)行所述動(dòng)態(tài)報(bào)文處理語(yǔ)句完成動(dòng)態(tài)報(bào)文請(qǐng)求的相應(yīng)操作。[0064]如前所述,動(dòng)態(tài)報(bào)文的處理與動(dòng)態(tài)報(bào)文中包含的動(dòng)態(tài)數(shù)據(jù)處理機(jī)制有關(guān),下面以動(dòng)態(tài)SQL訪問和原子報(bào)文訪問兩種方式為例進(jìn)行敘述:[0065]對(duì)于采用動(dòng)態(tài)SQL訪問機(jī)制時(shí):首先區(qū)分請(qǐng)求報(bào)文的類型,根據(jù)不同的類型進(jìn)行不同的處理:[0066]當(dāng)按照解析得到的報(bào)文具有輸入請(qǐng)求時(shí),則應(yīng)首先對(duì)輸入請(qǐng)求進(jìn)行分析,以確定輸入的所有信息都是可定位的。若輸入的信息含有不可定位的內(nèi)容,則響應(yīng)“輸入請(qǐng)求不可定位,無法完成操作”,報(bào)文交互結(jié)束;否則,按照動(dòng)態(tài)SQL訪問機(jī)制進(jìn)行處理,例如使用動(dòng)態(tài)SQL訪問機(jī)制完成數(shù)據(jù)僅增加、數(shù)據(jù)僅修改、數(shù)據(jù)有則修改無則增加、刪除操作,其中:[0067]對(duì)于允許“數(shù)據(jù)僅增加”時(shí),若存在同樣關(guān)鍵字的數(shù)據(jù)(例如相同的關(guān)系數(shù)據(jù)庫(kù)主鍵),則發(fā)出“存在數(shù)據(jù),不允許增加”的響應(yīng),否則,執(zhí)行增加操作;[0068]對(duì)于允許“數(shù)據(jù)僅修改”時(shí),若不存在同樣關(guān)鍵字的數(shù)據(jù)(例如相同的關(guān)系數(shù)據(jù)庫(kù)主鍵),則發(fā)出“不存在數(shù)據(jù),不允許修改”的響應(yīng),否則,執(zhí)行修改操作;[0069]對(duì)于允許“數(shù)據(jù)有則修改無則增加”時(shí),若存在同樣關(guān)鍵字的數(shù)據(jù)(例如相同的關(guān)系數(shù)據(jù)庫(kù)主鍵),則執(zhí)行修改,否則,執(zhí)行增加操作;[0070]對(duì)于“刪除”,在刪除的數(shù)據(jù)不存在時(shí),發(fā)出“請(qǐng)求刪除的數(shù)據(jù)不存在”的響應(yīng),否貝U,執(zhí)行刪除操作;[0071]需要說明的一種特殊情況是:在一個(gè)請(qǐng)求中同時(shí)有對(duì)數(shù)據(jù)的增加、修改、有則修改無則增加、刪除請(qǐng)求,在這種情況下,可采取兩種策略:一是對(duì)能夠成功的操作均執(zhí)行,對(duì)不成功的操作返回操作的數(shù)據(jù)和不成功信息;二是只有所有的操作都成功才允許操作,否則不進(jìn)行任何操作,但響應(yīng)出首個(gè)或所有不成功的原因。具體策略的采用,取決于應(yīng)用的邏輯配置。[0072]當(dāng)解析得到的報(bào)文具有輸出請(qǐng)求時(shí),則應(yīng)首先對(duì)輸出請(qǐng)求進(jìn)行分析,以確定輸出的所有信息都是可定位的。若輸出的信息含有不可定位的內(nèi)容(例如采用關(guān)系數(shù)據(jù)庫(kù)的表進(jìn)行管理而不能確定表的主鍵時(shí)),則響應(yīng)“輸出請(qǐng)求不可定位,無法完成操作”,報(bào)文交互結(jié)束;否則,按照支持的動(dòng)態(tài)數(shù)據(jù)管理機(jī)制,例如動(dòng)態(tài)SQL完成數(shù)據(jù)的查詢操作。[0073]對(duì)于采用原子報(bào)文訪問機(jī)制時(shí):預(yù)先構(gòu)建的原子報(bào)文可以包括:(1)對(duì)每個(gè)合理的存儲(chǔ)單位建立的增加報(bào)文,即每次增加的一個(gè)記錄單位,例如,一個(gè)數(shù)據(jù)庫(kù)表的一條記錄;(2)對(duì)每個(gè)合理的存儲(chǔ)單位建立的修改報(bào)文,即每次修改的一個(gè)記錄單位,例如,一個(gè)數(shù)據(jù)庫(kù)表的一條記錄;(3)對(duì)每個(gè)合理的存儲(chǔ)單位建立的刪除報(bào)文,即每次刪除的一個(gè)記錄單位,例如,一個(gè)數(shù)據(jù)庫(kù)表的一條記錄;(4)對(duì)每個(gè)合理的存儲(chǔ)單位建立的查詢報(bào)文,每次查詢限定個(gè)數(shù)的記錄單位,例如,一個(gè)數(shù)據(jù)庫(kù)表不超過50條記錄。在上述預(yù)先確定的原子報(bào)文的基礎(chǔ)上,針對(duì)請(qǐng)求報(bào)文的不同類型進(jìn)行分別處理:[0074]當(dāng)解析得到的報(bào)文具有輸入請(qǐng)求時(shí),則應(yīng)首先對(duì)輸入請(qǐng)求進(jìn)行分析,以確定輸入的所有信息都是可定位的,若輸入的信息含有不可定位的內(nèi)容(例如采用關(guān)系數(shù)據(jù)庫(kù)的表進(jìn)行管理而不能確定表的主鍵時(shí)),則響應(yīng)“輸入請(qǐng)求不可定位,無法完成操作”,報(bào)文交互結(jié)束;否則,分別定位輸入數(shù)據(jù)所在的合理的存儲(chǔ)單位,調(diào)用所述的報(bào)文完成數(shù)據(jù)僅增加、數(shù)據(jù)僅修改、數(shù)據(jù)有則修改無則增加、刪除操作,其中:[0075]對(duì)于允許“數(shù)據(jù)僅增加”時(shí),若存在同樣關(guān)鍵字的數(shù)據(jù)(例如相同的關(guān)系數(shù)據(jù)庫(kù)主鍵),則發(fā)出“存在數(shù)據(jù),不允許增加”的響應(yīng),否則,執(zhí)行增加操作;[0076]對(duì)于允許“數(shù)據(jù)僅修改”時(shí),若不存在同樣關(guān)鍵字的數(shù)據(jù)(例如相同的關(guān)系數(shù)據(jù)庫(kù)主鍵),則發(fā)出“不存在數(shù)據(jù),不允許修改”的響應(yīng),否則,執(zhí)行增加操作;[0077]對(duì)于允許“數(shù)據(jù)有則修改無則增加”時(shí),先調(diào)用修改報(bào)文,若存在同樣關(guān)鍵字的數(shù)據(jù)(例如相同的關(guān)系數(shù)據(jù)庫(kù)主鍵),則執(zhí)行修改,否則,調(diào)用增加報(bào)文執(zhí)行增加操作;[0078]對(duì)于“數(shù)據(jù)刪除”操作,在刪除的數(shù)據(jù)不存在時(shí),發(fā)出“請(qǐng)求刪除的數(shù)據(jù)不存在”的響應(yīng),否則,執(zhí)行刪除操作;[0079]當(dāng)解析得到的報(bào)文具有輸出請(qǐng)求時(shí),則應(yīng)首先對(duì)輸出請(qǐng)求進(jìn)行分析,以確定輸出的所有信息都是可定位的。若輸出的信息含有不可定位的內(nèi)容(例如采用關(guān)系數(shù)據(jù)庫(kù)的表進(jìn)行管理而不能確定表的主鍵時(shí)),則響應(yīng)“輸出請(qǐng)求不可定位,無法完成操作”,報(bào)文交互結(jié)束;否則,調(diào)用查詢報(bào)文,完成查詢操作。[0080]下面以兩個(gè)實(shí)例對(duì)上述技術(shù)方案進(jìn)行說明。這兩個(gè)實(shí)例針對(duì)的應(yīng)用系統(tǒng)為軟件分配管理系統(tǒng)。該軟件分配管理系統(tǒng)用于記錄軟件所分配到的計(jì)算機(jī)和人員。參見圖3,該圖中米用Person表、Computer表、Software表、Person_Computer_relat表、Computer_Sff_relat表、User表(User_ID\Password\Role_ID)、Role表(Role_ID\Role_Name)來描述該系統(tǒng)。該系統(tǒng)具有如下的特點(diǎn):[0081](I)系統(tǒng)的數(shù)據(jù)架構(gòu)中提供可由外部訪問部分包括除User表和Role表之外的其它數(shù)據(jù)庫(kù)表,并帶有基線。User表和Role表通過系統(tǒng)的用戶管理單元和角色管理單元訪問。[0082](2)系統(tǒng)的數(shù)據(jù)訪問是基于角色的,對(duì)每個(gè)可處理的不可劃分的元素,角色權(quán)限管理單元均預(yù)先確定了可由角色進(jìn)行數(shù)據(jù)查詢、增加、修改、有則修改無則增加、刪除的權(quán)限,需要對(duì)內(nèi)容進(jìn)行權(quán)限控制的,亦定義了不同角色可處理的內(nèi)容閾值。[0083](3)系統(tǒng)對(duì)用戶和角色采用單向匹配策略,即每個(gè)用戶至多可是一種角色,但每一角色可能有多個(gè)用戶,也可能沒有用戶。[0084](4)系統(tǒng)接收的報(bào)文是明確用戶的,在報(bào)文的發(fā)送方未規(guī)定用戶的情況下,可認(rèn)為來自同一發(fā)送方的報(bào)文均來自同一默認(rèn)用戶(如:某分行通信的信息均為某分行的軟件分配管理系統(tǒng))。[0085](5)系統(tǒng)的安全機(jī)制通過SSL安全機(jī)制實(shí)現(xiàn),即依靠數(shù)字證書方式實(shí)現(xiàn)。[0086](6)系統(tǒng)中Person表、Computer表、Software表、Person_Computer_relat表、Computer_SW_relat表結(jié)構(gòu)是告知用戶并可由用戶存取的,但User表和Role表結(jié)構(gòu)不告知用戶,這些表的內(nèi)容也不能被動(dòng)態(tài)報(bào)文所訪問。[0087](7)系統(tǒng)可訪問的數(shù)據(jù)結(jié)構(gòu)典型地可用XML描述。[0088](8)在信息交換中,系統(tǒng)是報(bào)文的響應(yīng)者,而不是請(qǐng)求者。[0089]實(shí)例之一:[0090]假定該實(shí)例通過動(dòng)態(tài)SQL語(yǔ)句訪問機(jī)制進(jìn)行報(bào)文處理,現(xiàn)需要查詢李寬在mac地址為00-00-00-00-00-00的計(jì)算機(jī)上安裝了什么軟件,下面是請(qǐng)求報(bào)文的內(nèi)容:[0091]<?xin!version="1.0"encoding="gb18030"?>〈message〉<dynainic>dynainicSQL</dynainic><outputtype>datatable</outputtype><outputdata>Person_ID,Person_Name,Computer_MAC,Soft_ID,Card_Num,Password</outputdata><selectTable>Person,Person_Computer_relat,Computer_SW_relat,software,Compuier,user</selectTable>[0092]<user>vvujunfeng</user><selectConditionList><selectConditionid="I"><coIumn>Person.PersonName</coIumn><value>李寬〈/value〉</selectCondition><selectConditionid="2"><coluinn>Computer.COinputer_Mac</coluirin><value>00-00-00-00-00-00</value></selectCondition></se!ectConditionList><selectSQL>selectPerson_ID,Person_Name,Computer_MAC,Soft_ID,Card_Num,PasswordFromPersoii,Person_Computer_relat,Computer_SW_relat,software,Computer,userWherePerson.PersonName="李寬”AndComputer.Computer_Mac="00-00-00-00-00-00"</selectSQL>〈/message〉[0093]針對(duì)該請(qǐng)求報(bào)文,本實(shí)例的執(zhí)行過程如下:[0094](I)接收請(qǐng)求方發(fā)送的應(yīng)用系統(tǒng)請(qǐng)求報(bào)文后,解析請(qǐng)求報(bào)文中是否包含動(dòng)態(tài)元素標(biāo)識(shí),通過解析發(fā)現(xiàn),該請(qǐng)求報(bào)文包含dynamic元素,說明此報(bào)文為動(dòng)態(tài)報(bào)文,且進(jìn)一步解析發(fā)現(xiàn),該動(dòng)態(tài)元素的文本值為dynamicSQL,說明此報(bào)文是通過動(dòng)態(tài)SQL訪問數(shù)據(jù)的動(dòng)態(tài)報(bào)文;[0095](2)解析請(qǐng)求報(bào)文中的outputtype、outputdata、selectTable等元素,檢查尖括號(hào)等XML語(yǔ)法、元素名稱等,確定輸入輸出標(biāo)識(shí)是否可識(shí)別。經(jīng)過檢查,請(qǐng)求報(bào)文中的元素均可識(shí)別;[0096](3)解析請(qǐng)求報(bào)文中的outputdata元素,得到文本值是“Person_ID,Person_Name,Computer_MAC,Soft_ID,Card_Num,Password”,可見,本實(shí)例報(bào)文請(qǐng)求需要查詢李寬的身份證號(hào)、機(jī)器MAC地址、安裝軟件、工資卡號(hào)和用戶密碼。經(jīng)解析,輸出數(shù)據(jù)工資卡號(hào)CarcLNum在給定的數(shù)據(jù)結(jié)構(gòu)中不可定位,這種情況下,本實(shí)例允許僅處理可訪問數(shù)據(jù)結(jié)構(gòu)中的內(nèi)容,即忽略Card_Num。[0097](4)解析請(qǐng)求報(bào)文中的user元素,得到當(dāng)前用戶是wujunfeng,經(jīng)用戶管理單元、角色管理單元、角色權(quán)限管理單元、可訪問數(shù)據(jù)結(jié)構(gòu)管理單元處理,得出當(dāng)前用戶是分行系統(tǒng)管理員角色,不能獲取李寬的用戶密碼,無權(quán)訪問Password,故針對(duì)該值返回“權(quán)限不足”信息。[0098](5)解析請(qǐng)求報(bào)文中的selectSQL、selectConditionList等元素的值,動(dòng)態(tài)形成SQL查詢語(yǔ)句查詢數(shù)據(jù)并獲取結(jié)果。[0099](6)返回第一動(dòng)態(tài)數(shù)據(jù)查詢單元的查詢結(jié)果。[0100]實(shí)例之二:[0101]假定該實(shí)例通過原子報(bào)文訪問機(jī)制進(jìn)行報(bào)文處理,現(xiàn)需要查詢李寬在mac地址為00-00-00-00-00-00的計(jì)算機(jī)上安裝了什么軟件,下面是請(qǐng)求報(bào)文的內(nèi)容:[0102]^7Xinlversion="1.0"encoding="gb18030"?>〈message〉<dynamic>atomicSQL</dynamic><outputtype>datatable</outputtype><outputdata>Person_TD,Soft_ID,Card_Num,Password</outputdata><ConditionList>〈Conditionid="I">Person.PersonName="孕1寬”〈/Condition〉`〈Conditionid="2">COmputer.Computer_Mac="00-00-00-00-00-00"〈/Condition〉</ConditionList><user>wujunfeng</user>〈/message〉[0103]針對(duì)該請(qǐng)求報(bào)文,本實(shí)例的執(zhí)行過程如下:[0104](I)接收請(qǐng)求方發(fā)送的應(yīng)用系統(tǒng)請(qǐng)求報(bào)文后,解析dynamic元素,如果報(bào)文中不含此元素,說明此報(bào)文為靜態(tài)報(bào)文,含此元素說明此報(bào)文為動(dòng)態(tài)報(bào)文,經(jīng)解析,元素文本為atomicSQL,說明此報(bào)文是通過原子報(bào)文訪問數(shù)據(jù)的動(dòng)態(tài)報(bào)文;[0105](2)第二報(bào)文解析單元解析outputtype、outputdata、conditionlist元素,檢查尖括號(hào)等XML語(yǔ)法、元素名稱,輸入輸出標(biāo)識(shí)可識(shí)別,進(jìn)行下一步解析;[0106](3)第二報(bào)文解析單元解析outputdata元素,得到文本值是“Person_ID,Soft_ID,Card_Num,Password”,本實(shí)施例報(bào)文請(qǐng)求查詢李寬的身份證號(hào)、安裝軟件、工資卡號(hào)和用戶密碼,經(jīng)解析,輸出數(shù)據(jù)工資卡號(hào)CarcLNum不在給定的數(shù)據(jù)結(jié)構(gòu)中,更進(jìn)一步,本實(shí)施例系統(tǒng)允許僅處理可訪問數(shù)據(jù)結(jié)構(gòu)中的內(nèi)容,即忽略Card_Num。報(bào)文的其它輸出數(shù)據(jù)請(qǐng)求在給定的可訪問的數(shù)據(jù)結(jié)構(gòu)中,進(jìn)行下一步解析;[0107](4)第二報(bào)文解析單兀解析conditionlist兀素,得到“Person_Name,Computer—MAC”兩個(gè)條件和相應(yīng)的值,確定該兩個(gè)值均在數(shù)據(jù)結(jié)構(gòu)中且可由用戶訪問,并根據(jù)這兩個(gè)值可定位outputdata元素中指定的輸出值;[0108](5)第二報(bào)文解析單元解析user元素,得到當(dāng)前用戶是wujunfeng,經(jīng)用戶管理單元、角色管理單元、角色權(quán)限管理單元、可訪問數(shù)據(jù)結(jié)構(gòu)管理單元處理,得出當(dāng)前用戶是分行系統(tǒng)管理員角色,不能獲取李寬的用戶密碼,無權(quán)訪問Password,故針對(duì)該值返回“權(quán)限不足”信息;[0109](6)第二報(bào)文解析單元針對(duì)符合權(quán)限的操作,選取適宜的原子報(bào)文。[0110](7)第二動(dòng)態(tài)數(shù)據(jù)查詢單元執(zhí)行所選擇的原子報(bào)文,以獲取Person_ID,Soft_ID信息,在該過程中,可能需要訪問某些中間的數(shù)據(jù)結(jié)構(gòu),以確定最終的返回信息。最后按輸出請(qǐng)求返回查詢結(jié)果。其中,對(duì)比較復(fù)雜的通過某一數(shù)據(jù)表定位另一數(shù)據(jù)表中數(shù)據(jù)的內(nèi)容,可通過預(yù)先定制的原子報(bào)文完成,也可通過應(yīng)用邏輯完成,且應(yīng)用邏輯完成具有更大的靈活性。[0111]上述內(nèi)容詳細(xì)介紹了本申請(qǐng)的處理應(yīng)用系統(tǒng)請(qǐng)求報(bào)文的方法,相應(yīng)地,本申請(qǐng)還提供了一種處理應(yīng)用系統(tǒng)請(qǐng)求報(bào)文的裝置。參見圖4,該圖示出了處理應(yīng)用系統(tǒng)請(qǐng)求報(bào)文的裝置的結(jié)構(gòu)框圖。該裝置包括:請(qǐng)求報(bào)文接收單元401、報(bào)文類別判斷單元402、字段定位判斷單元403、語(yǔ)句形成單元404和語(yǔ)句執(zhí)行單元405,其中:[0112]請(qǐng)求報(bào)文接收單元401,用于接收請(qǐng)求方發(fā)送的應(yīng)用系統(tǒng)請(qǐng)求報(bào)文;[0113]報(bào)文類別判斷單元402,用于解析判斷所述應(yīng)用系統(tǒng)請(qǐng)求報(bào)文是否為動(dòng)態(tài)報(bào)文,所述動(dòng)態(tài)報(bào)文包含動(dòng)態(tài)元素標(biāo)識(shí)、動(dòng)態(tài)數(shù)據(jù)處理機(jī)制信息以及動(dòng)態(tài)報(bào)文請(qǐng)求的處理類型和處理字段;如果是動(dòng)態(tài)報(bào)文,則觸發(fā)字段定位判斷單元;[0114]字段定位判斷單元403,用于判斷所述動(dòng)態(tài)報(bào)文請(qǐng)求處理字段是否在給定的數(shù)據(jù)結(jié)構(gòu)中可定位,如果是,則觸發(fā)語(yǔ)句形成單元;[0115]語(yǔ)句形成單元404,用于根據(jù)動(dòng)態(tài)報(bào)文請(qǐng)求的處理類型和處理字段按照動(dòng)態(tài)報(bào)文中的動(dòng)態(tài)數(shù)據(jù)處理機(jī)制形成動(dòng)態(tài)報(bào)文處理語(yǔ)句;[0116]語(yǔ)句執(zhí)行單元405,用于執(zhí)行所述動(dòng)態(tài)報(bào)文處理語(yǔ)句完成動(dòng)態(tài)報(bào)文請(qǐng)求的相應(yīng)操作。[0117]本裝置實(shí)施例的工作過程是:請(qǐng)求報(bào)文接收單元在接收請(qǐng)求方發(fā)送的應(yīng)用系統(tǒng)請(qǐng)求報(bào)文后,由報(bào)文類別判斷單元解析判斷所述應(yīng)用系統(tǒng)請(qǐng)求報(bào)文是否為動(dòng)態(tài)報(bào)文,如果是動(dòng)態(tài)報(bào)文,則觸發(fā)字段定位判斷單元判斷所述動(dòng)態(tài)報(bào)文請(qǐng)求處理字段是否在給定的數(shù)據(jù)結(jié)構(gòu)中是否可定位,如果是,則觸發(fā)語(yǔ)句形成單元根據(jù)動(dòng)態(tài)報(bào)文請(qǐng)求的處理類型和處理字段按照動(dòng)態(tài)報(bào)文中的動(dòng)態(tài)數(shù)據(jù)處理機(jī)制形成動(dòng)態(tài)報(bào)文處理語(yǔ)句;最后由語(yǔ)句執(zhí)行單元,用于執(zhí)行所述動(dòng)態(tài)報(bào)文處理語(yǔ)句完成動(dòng)態(tài)報(bào)文請(qǐng)求的相應(yīng)操作。[0118]上述裝置實(shí)施例基于特定的需要,還可以增加或改變某些功能單元。比如,上述裝置實(shí)施例還可以包括角色權(quán)限判斷單元406,用于在執(zhí)行所述動(dòng)態(tài)報(bào)文處理語(yǔ)句完成動(dòng)態(tài)報(bào)文請(qǐng)求的相應(yīng)操作之前,判斷所述動(dòng)態(tài)報(bào)文請(qǐng)求的處理類型和/或處理字段是否符合請(qǐng)求方的角色權(quán)限,如果符合請(qǐng)求方的角色權(quán)限,則觸發(fā)語(yǔ)句執(zhí)行單元。再比如,上述裝置實(shí)施例還可以包括非動(dòng)態(tài)報(bào)文處理單元407,用于在判斷出應(yīng)用系統(tǒng)請(qǐng)求報(bào)文為非動(dòng)態(tài)報(bào)文時(shí),按照現(xiàn)有技術(shù)方式進(jìn)行處理。通過這種方式可以給出報(bào)文處理的兩條通道,即現(xiàn)有技術(shù)的處理通道和本發(fā)明的處理通道,通過選擇非動(dòng)態(tài)報(bào)文處理單元的通道,使本發(fā)明具有較好的兼容現(xiàn)有報(bào)文處理方式的能力。[0119]需要說明的是:為了敘述的簡(jiǎn)便,本說明書的上述實(shí)施例以及實(shí)施例的各種變形實(shí)現(xiàn)方式重點(diǎn)說明的都是與其他實(shí)施例或變形方式的不同之處,各個(gè)情形之間相同相似的部分互相參見即可。尤其是裝置實(shí)施例部分,為了避免重復(fù),僅進(jìn)行了簡(jiǎn)要的描述,在理解裝置實(shí)施例時(shí)可參考前述的方法實(shí)施例的內(nèi)容。以上所描述的裝置、系統(tǒng)實(shí)施例的各單元可以是或者也可以不是物理上分開的,既可以位于一個(gè)地方,或者也可以分布到多個(gè)網(wǎng)絡(luò)環(huán)境下。在實(shí)際應(yīng)用過程中,可以根據(jù)實(shí)際的需要選擇其中的部分或者全部單元來實(shí)現(xiàn)本實(shí)施例方案的目的,本領(lǐng)域普通技術(shù)人員在不付出創(chuàng)造性勞動(dòng)的情況下,即可以理解并實(shí)施。[0120]以上所述僅是本申請(qǐng)的【具體實(shí)施方式】,應(yīng)當(dāng)指出,對(duì)于本【
技術(shù)領(lǐng)域:
】的普通技術(shù)人員來說,在不脫離本申請(qǐng)?jiān)淼那疤嵯?,還可以做出若干改進(jìn)和潤(rùn)飾,這些改進(jìn)和潤(rùn)飾也應(yīng)視為本申請(qǐng)的保護(hù)范圍?!緳?quán)利要求】1.一種處理應(yīng)用系統(tǒng)請(qǐng)求報(bào)文的方法,其特征在于,該方法包括:接收請(qǐng)求方發(fā)送的應(yīng)用系統(tǒng)請(qǐng)求報(bào)文;解析判斷所述應(yīng)用系統(tǒng)請(qǐng)求報(bào)文是否為動(dòng)態(tài)報(bào)文,所述動(dòng)態(tài)報(bào)文包含動(dòng)態(tài)元素標(biāo)識(shí)、動(dòng)態(tài)數(shù)據(jù)處理機(jī)制信息以及動(dòng)態(tài)報(bào)文請(qǐng)求的處理類型和處理字段;如果是動(dòng)態(tài)報(bào)文,判斷所述動(dòng)態(tài)報(bào)文請(qǐng)求處理字段是否在給定的數(shù)據(jù)結(jié)構(gòu)中可定位,如果是,則根據(jù)動(dòng)態(tài)報(bào)文請(qǐng)求的處理類型和處理字段按照動(dòng)態(tài)報(bào)文中的動(dòng)態(tài)數(shù)據(jù)處理機(jī)制形成動(dòng)態(tài)報(bào)文處理語(yǔ)句;執(zhí)行所述動(dòng)態(tài)報(bào)文處理語(yǔ)句完成動(dòng)態(tài)報(bào)文請(qǐng)求的相應(yīng)操作。2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述根據(jù)動(dòng)態(tài)報(bào)文請(qǐng)求的處理類型和處理字段按照動(dòng)態(tài)報(bào)文中的動(dòng)態(tài)數(shù)據(jù)處理機(jī)制形成動(dòng)態(tài)報(bào)文處理語(yǔ)句包括:如果所述動(dòng)態(tài)數(shù)據(jù)處理機(jī)制為動(dòng)態(tài)SQL訪問,則根據(jù)動(dòng)態(tài)報(bào)文請(qǐng)求的處理類型和處理字段形成可執(zhí)行SQL語(yǔ)句;如果所述動(dòng)態(tài)數(shù)據(jù)處理機(jī)制為原子報(bào)文訪問,則根據(jù)動(dòng)態(tài)報(bào)文請(qǐng)求的處理類型和處理字段調(diào)用相應(yīng)的原子報(bào)文,所述原子報(bào)文為預(yù)先構(gòu)造的針對(duì)數(shù)據(jù)結(jié)構(gòu)的一個(gè)存儲(chǔ)類別的基本處理報(bào)文。3.根據(jù)權(quán)利要求1所述的方法,其特征在于,在所述請(qǐng)求報(bào)文為輸入請(qǐng)求報(bào)文時(shí),所述動(dòng)態(tài)報(bào)文請(qǐng)求的處理類型包括數(shù)據(jù)僅增加、數(shù)據(jù)僅修改、數(shù)據(jù)有則修改無則增加,和/或,刪除數(shù)據(jù)操作;在所述請(qǐng)求報(bào)文為輸出請(qǐng)求報(bào)文時(shí),所述動(dòng)態(tài)報(bào)文請(qǐng)求的處理類型包括查詢操作;所述方法還包括:在執(zhí)行所述動(dòng)態(tài)報(bào)文處理語(yǔ)句完成動(dòng)態(tài)報(bào)文請(qǐng)求的相應(yīng)操作后,所述方法還包括將操作結(jié)果發(fā)送給請(qǐng)求方。4.根據(jù)權(quán)利要求3所述的方法,其特征在于,當(dāng)請(qǐng)求報(bào)文為輸入請(qǐng)求報(bào)文且動(dòng)態(tài)報(bào)文請(qǐng)求的處理類型為數(shù)據(jù)僅增加時(shí),判斷是否存在與動(dòng)態(tài)報(bào)文處理字段相同關(guān)鍵字的數(shù)據(jù),如果存在,則發(fā)出包含“存在數(shù)據(jù)、不允許增加”內(nèi)容的響應(yīng)消息;如果不存在,則執(zhí)行動(dòng)態(tài)報(bào)文僅增加語(yǔ)句完成增加操作;當(dāng)請(qǐng)求報(bào)文為輸入請(qǐng)求報(bào)文且動(dòng)態(tài)報(bào)文請(qǐng)求的處理類型為數(shù)據(jù)僅修改時(shí),判斷是否存在與動(dòng)態(tài)報(bào)文處理字段相同關(guān)鍵字的數(shù)據(jù),如果不存在,則發(fā)出包含“不存在數(shù)據(jù)、不允許修改”內(nèi)容的響應(yīng)消息;如果存在,則執(zhí)行動(dòng)態(tài)報(bào)文僅修改語(yǔ)句完成修改操作;當(dāng)請(qǐng)求報(bào)文為輸入請(qǐng)求報(bào)文且動(dòng)態(tài)報(bào)文請(qǐng)求的處理類型為數(shù)據(jù)有則修改無則增加時(shí),判斷是否存在與動(dòng)態(tài)報(bào)文處理字段相同關(guān)鍵字的數(shù)據(jù),如果存在,則執(zhí)行動(dòng)態(tài)報(bào)文修改語(yǔ)句完成修改操作;如果不存在,則執(zhí)行動(dòng)態(tài)報(bào)文增加語(yǔ)句完成增加操作。5.根據(jù)權(quán)利要求1至4中任何一項(xiàng)所述的方法,其特征在于,在執(zhí)行所述動(dòng)態(tài)報(bào)文處理語(yǔ)句完成動(dòng)態(tài)報(bào)文請(qǐng)求的相應(yīng)操作之前,判斷所述動(dòng)態(tài)報(bào)文請(qǐng)求的處理類型和/或處理字段是否符合請(qǐng)求方的角色權(quán)限,如果符合請(qǐng)求方的角色權(quán)限,則執(zhí)行動(dòng)態(tài)報(bào)文處理語(yǔ)句;如果不符合請(qǐng)求方的角色權(quán)限,則發(fā)出包含“報(bào)文請(qǐng)求不符合角色權(quán)限,無法完成操作”內(nèi)容的響應(yīng)消息。6.根據(jù)權(quán)利要求5所述的方法,其特征在于,在判斷出應(yīng)用系統(tǒng)請(qǐng)求報(bào)文為非動(dòng)態(tài)報(bào)文時(shí),按照現(xiàn)有技術(shù)方式進(jìn)行處理。7.根據(jù)權(quán)利要求6所述的方法,其特征在于,判斷動(dòng)態(tài)報(bào)文請(qǐng)求處理字段在給定的數(shù)據(jù)結(jié)構(gòu)中不可定位時(shí),則發(fā)出包含“報(bào)文請(qǐng)求不可定位,無法完成操作”內(nèi)容的響應(yīng)消息。8.—種處理應(yīng)用系統(tǒng)請(qǐng)求報(bào)文的裝置,其特征在于,該裝置包括:請(qǐng)求報(bào)文接收單元、報(bào)文類別判斷單元、字段定位判斷單元、語(yǔ)句形成單元和語(yǔ)句執(zhí)行單元,其中:所述請(qǐng)求報(bào)文接收單元,用于接收請(qǐng)求方發(fā)送的應(yīng)用系統(tǒng)請(qǐng)求報(bào)文;所述報(bào)文類別判斷單元,用于解析判斷所述應(yīng)用系統(tǒng)請(qǐng)求報(bào)文是否為動(dòng)態(tài)報(bào)文,所述動(dòng)態(tài)報(bào)文包含動(dòng)態(tài)元素標(biāo)識(shí)、動(dòng)態(tài)數(shù)據(jù)處理機(jī)制信息以及動(dòng)態(tài)報(bào)文請(qǐng)求的處理類型和處理字段;如果是動(dòng)態(tài)報(bào)文,則觸發(fā)字段定位判斷單元;所述字段定位判斷單元,用于判斷所述動(dòng)態(tài)報(bào)文請(qǐng)求處理字段是否在給定的數(shù)據(jù)結(jié)構(gòu)中可定位,如果是,則觸發(fā)語(yǔ)句形成單元;所述語(yǔ)句形成單元,用于根據(jù)動(dòng)態(tài)報(bào)文請(qǐng)求的處理類型和處理字段按照動(dòng)態(tài)報(bào)文中的動(dòng)態(tài)數(shù)據(jù)處理機(jī)制形成動(dòng)態(tài)報(bào)文處理語(yǔ)句;所述語(yǔ)句執(zhí)行單元,用于執(zhí)行所述動(dòng)態(tài)報(bào)文處理語(yǔ)句完成動(dòng)態(tài)報(bào)文請(qǐng)求的相應(yīng)操作。9.根據(jù)權(quán)利要求8所述的裝置,其特征在于,所述裝置還包括角色權(quán)限判斷單元,用于在執(zhí)行所述動(dòng)態(tài)報(bào)文處理語(yǔ)句完成動(dòng)態(tài)報(bào)文請(qǐng)求的相應(yīng)操作之前,判斷所述動(dòng)態(tài)報(bào)文請(qǐng)求的處理類型和/或處理字段是否符合請(qǐng)求方的角色權(quán)限,如果符合請(qǐng)求方的角色權(quán)限,則觸發(fā)語(yǔ)句執(zhí)行單元。10.根據(jù)權(quán)利要求9所述的裝置,其特征在于,所述裝置還包括非動(dòng)態(tài)報(bào)文處理單元,用于在判斷出應(yīng)用系統(tǒng)請(qǐng)求報(bào)文為非動(dòng)態(tài)報(bào)文時(shí),按照現(xiàn)有技術(shù)方式進(jìn)行處理?!疚臋n編號(hào)】H04L12/70GK103634326SQ201310686439【公開日】2014年3月12日申請(qǐng)日期:2013年12月13日優(yōu)先權(quán)日:2013年12月13日【發(fā)明者】李寬,吳俊峰申請(qǐng)人:中國(guó)農(nóng)業(yè)銀行股份有限公司