一種基于多進(jìn)程并發(fā)的數(shù)據(jù)處理方法及裝置制造方法
【專利摘要】本發(fā)明實(shí)施例公開了一種基于多進(jìn)程并發(fā)的數(shù)據(jù)處理方法及裝置,所述方法包括:接收任一數(shù)據(jù)處理請(qǐng)求,所述數(shù)據(jù)處理請(qǐng)求包括外部處理標(biāo)識(shí);根據(jù)預(yù)存的外部處理標(biāo)識(shí)與內(nèi)部處理標(biāo)識(shí)的對(duì)應(yīng)關(guān)系,將所述外部處理標(biāo)識(shí)轉(zhuǎn)換為與所述外部處理標(biāo)識(shí)對(duì)應(yīng)的內(nèi)部處理標(biāo)識(shí);判斷所述內(nèi)部處理標(biāo)識(shí)對(duì)應(yīng)的當(dāng)前進(jìn)程并發(fā)數(shù)是否小于預(yù)設(shè)的所述內(nèi)部處理標(biāo)識(shí)的最大進(jìn)程并發(fā)數(shù);當(dāng)所述內(nèi)部處理標(biāo)識(shí)對(duì)應(yīng)的當(dāng)前進(jìn)程并發(fā)數(shù)小于所述最大進(jìn)程并發(fā)數(shù)時(shí),執(zhí)行所述內(nèi)部處理標(biāo)識(shí)對(duì)應(yīng)的可執(zhí)行代碼,得到處理結(jié)果,并顯示所述處理結(jié)果。本實(shí)施例能夠根據(jù)預(yù)先設(shè)置的最大進(jìn)程并發(fā)數(shù)控制多進(jìn)程并發(fā)的數(shù)據(jù)處理方式,避免對(duì)數(shù)據(jù)處理平臺(tái)的穩(wěn)定性和安全性構(gòu)成威脅。
【專利說明】一種基于多進(jìn)程并發(fā)的數(shù)據(jù)處理方法及裝置
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及數(shù)據(jù)處理【技術(shù)領(lǐng)域】,具體涉及一種基于多進(jìn)程并發(fā)的數(shù)據(jù)處理方法及裝直。
【背景技術(shù)】
[0002]目前,在開發(fā)軟件業(yè)務(wù)時(shí),通常會(huì)基于多進(jìn)程進(jìn)行數(shù)據(jù)處理,例如在開發(fā)銀行軟件中間業(yè)務(wù)時(shí),處理實(shí)時(shí)代收代付的聯(lián)機(jī)交易及批量代收代付交易,由于不僅需要處理與銀行柜臺(tái)前端交互、銀行后臺(tái)系統(tǒng)的賬戶交互,還要處理與第三方客戶相關(guān)業(yè)務(wù)接口的交互。另外,不僅要實(shí)時(shí)發(fā)起銀行入賬,同時(shí)需要接受第三方各類代收代付批量報(bào)文,進(jìn)行批量轉(zhuǎn)聯(lián)機(jī)或者批量轉(zhuǎn)批量到銀行后臺(tái)系統(tǒng)進(jìn)行賬戶處理。所以,在處理銀行業(yè)務(wù)時(shí)多進(jìn)程的數(shù)據(jù)處理方式是必須的。
[0003]但是,當(dāng)數(shù)據(jù)處理并發(fā)的進(jìn)程較多時(shí),可能對(duì)數(shù)據(jù)處理平臺(tái)的穩(wěn)定性和安全性構(gòu)成威脅。
【發(fā)明內(nèi)容】
[0004]本發(fā)明提供了一種基于多進(jìn)程并發(fā)的數(shù)據(jù)處理方法及裝置,能夠控制多進(jìn)程并發(fā)的數(shù)據(jù)處理方式,保證數(shù)據(jù)處理平臺(tái)的穩(wěn)定性和安全性。
[0005]本發(fā)明提供了一種基于多進(jìn)程并發(fā)的數(shù)據(jù)處理方法,所述方法包括:
[0006]接收任一數(shù)據(jù)處理請(qǐng)求,所述數(shù)據(jù)處理請(qǐng)求包括外部處理標(biāo)識(shí);
[0007]根據(jù)預(yù)存的外部處理標(biāo)識(shí)與內(nèi)部處理標(biāo)識(shí)的對(duì)應(yīng)關(guān)系,將所述外部處理標(biāo)識(shí)轉(zhuǎn)換為與所述外部處理標(biāo)識(shí)對(duì)應(yīng)的內(nèi)部處理標(biāo)識(shí);
[0008]判斷所述內(nèi)部處理標(biāo)識(shí)對(duì)應(yīng)的當(dāng)前進(jìn)程并發(fā)數(shù)是否小于預(yù)設(shè)的所述內(nèi)部處理標(biāo)識(shí)的最大進(jìn)程并發(fā)數(shù);
[0009]當(dāng)所述內(nèi)部處理標(biāo)識(shí)對(duì)應(yīng)的當(dāng)前進(jìn)程并發(fā)數(shù)小于所述最大進(jìn)程并發(fā)數(shù)時(shí),執(zhí)行所述內(nèi)部處理標(biāo)識(shí)對(duì)應(yīng)的可執(zhí)行代碼,得到處理結(jié)果,并顯示所述處理結(jié)果。
[0010]優(yōu)選地,所述方法還包括:
[0011]當(dāng)所述內(nèi)部處理標(biāo)識(shí)對(duì)應(yīng)的當(dāng)前進(jìn)程并發(fā)數(shù)不小于所述最大進(jìn)程并發(fā)數(shù)時(shí),將所述數(shù)據(jù)處理請(qǐng)求設(shè)置為等待狀態(tài)。
[0012]優(yōu)選地,所述執(zhí)行所述內(nèi)部處理標(biāo)識(shí)對(duì)應(yīng)的可執(zhí)行代碼之前,還包括:
[0013]獲取所述內(nèi)部處理標(biāo)識(shí)對(duì)應(yīng)的源代碼;
[0014]對(duì)所述源代碼進(jìn)行編譯后得到中間代碼,所述中間代碼包括代碼段和數(shù)據(jù)段;
[0015]加載所述代碼段和數(shù)據(jù)段后,得到所述內(nèi)部處理標(biāo)識(shí)對(duì)應(yīng)的可執(zhí)行代碼。
[0016]優(yōu)選地,所述加載所述代碼段和數(shù)據(jù)段后,得到所述內(nèi)部處理標(biāo)識(shí)對(duì)應(yīng)的可執(zhí)行代碼之前,還包括:
[0017]接收所述數(shù)據(jù)處理請(qǐng)求對(duì)應(yīng)的參數(shù)值,并將所述參數(shù)值賦值到所述中間代碼的數(shù)據(jù)段。[0018]優(yōu)選地,所述接收任一數(shù)據(jù)處理請(qǐng)求之前,還包括:
[0019]判斷當(dāng)前總進(jìn)程的并發(fā)數(shù)是否達(dá)到預(yù)設(shè)的最大總進(jìn)程并發(fā)數(shù);
[0020]如果當(dāng)前總進(jìn)程的并發(fā)數(shù)未達(dá)到預(yù)設(shè)的最大總進(jìn)程并發(fā)數(shù),則接收所述數(shù)據(jù)處理請(qǐng)求。
[0021]本發(fā)明是提供了一種基于多進(jìn)程并發(fā)的數(shù)據(jù)處理裝置,所述裝置包括:
[0022]第一接收模塊,用于接收任一數(shù)據(jù)處理請(qǐng)求,所述數(shù)據(jù)處理請(qǐng)求包括外部處理標(biāo)識(shí);
[0023]轉(zhuǎn)換模塊,用于根據(jù)預(yù)存的外部處理標(biāo)識(shí)與內(nèi)部處理標(biāo)識(shí)的對(duì)應(yīng)關(guān)系,將所述外部處理標(biāo)識(shí)轉(zhuǎn)換為與所述外部處理標(biāo)識(shí)對(duì)應(yīng)的內(nèi)部處理標(biāo)識(shí);
[0024]第一判斷模塊,用于判斷所述內(nèi)部處理標(biāo)識(shí)對(duì)應(yīng)的當(dāng)前進(jìn)程并發(fā)數(shù)是否小于預(yù)設(shè)的所述內(nèi)部處理標(biāo)識(shí)的最大進(jìn)程并發(fā)數(shù);
[0025]執(zhí)行模塊,用于當(dāng)所述內(nèi)部處理標(biāo)識(shí)對(duì)應(yīng)的當(dāng)前進(jìn)程并發(fā)數(shù)小于所述最大進(jìn)程并發(fā)數(shù)時(shí),執(zhí)行所述內(nèi)部處理標(biāo)識(shí)對(duì)應(yīng)的可執(zhí)行代碼,得到處理結(jié)果;
[0026]顯示模塊,用于顯示所述處理結(jié)果。
[0027]優(yōu)選地,所述裝置還包括:
[0028]設(shè)置模塊,用于當(dāng)所述內(nèi)部處理標(biāo)識(shí)對(duì)應(yīng)的當(dāng)前進(jìn)程并發(fā)數(shù)不小于所述最大進(jìn)程并發(fā)數(shù)時(shí),將所述數(shù)據(jù)處理請(qǐng)求設(shè)置為等待狀態(tài)。
[0029]優(yōu)選地,所述裝置還包括:
[0030]獲取模塊,用于獲取所述內(nèi)部處理標(biāo)識(shí)對(duì)應(yīng)的源代碼;
[0031]編譯模塊,用于對(duì)所述源代碼進(jìn)行編譯后得到中間代碼,所述中間代碼包括代碼段和數(shù)據(jù)段;
[0032]加載模塊,用于加載所述代碼段和數(shù)據(jù)段后,得到所述內(nèi)部處理標(biāo)識(shí)對(duì)應(yīng)的可執(zhí)行代碼。
[0033]優(yōu)選地,所述裝置還包括:
[0034]第二接收模塊,用于接收所述數(shù)據(jù)處理請(qǐng)求對(duì)應(yīng)的參數(shù)值;
[0035]賦值模塊,用于將所述參數(shù)值賦值到所述中間代碼的數(shù)據(jù)段。
[0036]優(yōu)選地,所述裝置還包括:
[0037]第二判斷模塊,用于判斷當(dāng)前總進(jìn)程的并發(fā)數(shù)是否達(dá)到預(yù)設(shè)的最大總進(jìn)程并發(fā)數(shù);
[0038]第三接收模塊,用于如果當(dāng)前總進(jìn)程的并發(fā)數(shù)未達(dá)到預(yù)設(shè)的最大總進(jìn)程并發(fā)數(shù),則接收所述數(shù)據(jù)處理請(qǐng)求。
[0039]本發(fā)明首先接收任一數(shù)據(jù)處理請(qǐng)求,所述數(shù)據(jù)處理請(qǐng)求包括外部處理標(biāo)識(shí);其次,根據(jù)預(yù)存的外部處理標(biāo)識(shí)與內(nèi)部處理標(biāo)識(shí)的對(duì)應(yīng)關(guān)系,將所述外部處理標(biāo)識(shí)轉(zhuǎn)換為與所述外部處理標(biāo)識(shí)對(duì)應(yīng)的內(nèi)部處理標(biāo)識(shí);再次,判斷所述內(nèi)部處理標(biāo)識(shí)對(duì)應(yīng)的當(dāng)前進(jìn)程并發(fā)數(shù)是否小于預(yù)設(shè)的所述內(nèi)部處理標(biāo)識(shí)的最大進(jìn)程并發(fā)數(shù);當(dāng)所述內(nèi)部處理標(biāo)識(shí)對(duì)應(yīng)的當(dāng)前進(jìn)程并發(fā)數(shù)小于所述最大進(jìn)程并發(fā)數(shù)時(shí),執(zhí)行所述內(nèi)部處理標(biāo)識(shí)對(duì)應(yīng)的可執(zhí)行代碼,得到處理結(jié)果,并顯示所述處理結(jié)果。本發(fā)明能夠根據(jù)預(yù)先設(shè)置的最大進(jìn)程并發(fā)數(shù)控制多進(jìn)程并發(fā)的數(shù)據(jù)處理方式,避免對(duì)數(shù)據(jù)處理平臺(tái)的穩(wěn)定性和安全性構(gòu)成威脅?!緦@綀D】
【附圖說明】
[0040]為了更清楚地說明本申請(qǐng)實(shí)施例中的技術(shù)方案,下面將對(duì)實(shí)施例描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見地,下面描述中的附圖僅僅是本申請(qǐng)的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0041]圖1為本發(fā)明實(shí)施例一提供的基于多進(jìn)程并發(fā)的數(shù)據(jù)處理方法流程圖;
[0042]圖2為本發(fā)明實(shí)施例一提供的確定與所述內(nèi)部處理標(biāo)識(shí)對(duì)應(yīng)的可執(zhí)行代碼的具體實(shí)現(xiàn)方式流程圖;
[0043]圖3為本發(fā)明實(shí)施例二提供的基于多進(jìn)程并發(fā)的數(shù)據(jù)處理裝置結(jié)構(gòu)示意圖?!揪唧w實(shí)施方式】
[0044]下面將結(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í)施例,都屬于本申請(qǐng)保護(hù)的范圍。
[0045]實(shí)施例一
[0046]參考圖1,圖1為本實(shí)施例提供的基于多進(jìn)程并發(fā)的數(shù)據(jù)處理方法流程圖,所述方法可以包括:
[0047]SlOl:接收任一數(shù)據(jù)處理請(qǐng)求,所述數(shù)據(jù)處理請(qǐng)求包括外部處理標(biāo)識(shí)。
[0048]本實(shí)施例中,首先接收來自用戶的數(shù)據(jù)處理請(qǐng)求,其中,所述數(shù)據(jù)處理請(qǐng)求中包括外部處理標(biāo)識(shí)。
[0049]具體的,所述數(shù)據(jù)處理請(qǐng)求可以為來自銀行柜臺(tái)的繳費(fèi)請(qǐng)求、來自ATM自動(dòng)取款機(jī)的繳費(fèi)請(qǐng)求或者來自網(wǎng)銀系統(tǒng)的繳費(fèi)請(qǐng)求等。
[0050]實(shí)際操作中,當(dāng)接收來自用戶的數(shù)據(jù)處理請(qǐng)求時(shí),首先將所述數(shù)據(jù)處理請(qǐng)求做初始數(shù)據(jù)轉(zhuǎn)換,獲取所述數(shù)據(jù)處理請(qǐng)求中的外部處理標(biāo)識(shí)。例如:銀行繳收電費(fèi)可以通過不同的渠道進(jìn)行,從而各個(gè)渠道的繳費(fèi)請(qǐng)求對(duì)應(yīng)的外部交易標(biāo)識(shí)也就不同。如來自銀行柜臺(tái)前端的電費(fèi)繳費(fèi)請(qǐng)求的外部處理標(biāo)識(shí)可以用“ABCD”表示;來自ATM前端的電費(fèi)繳費(fèi)請(qǐng)求的外部處理標(biāo)識(shí)可以用“000123”表示;。由于電費(fèi)繳費(fèi)請(qǐng)求的渠道不同,數(shù)據(jù)包格式也可能不一樣,本實(shí)施例可以根據(jù)數(shù)據(jù)處理請(qǐng)求的封裝格式獲取其中的外部處理標(biāo)識(shí)。
[0051]S102:根據(jù)預(yù)存的外部處理標(biāo)識(shí)與內(nèi)部處理標(biāo)識(shí)的對(duì)應(yīng)關(guān)系,將所述外部處理標(biāo)識(shí)轉(zhuǎn)換為與所述外部處理標(biāo)識(shí)對(duì)應(yīng)的內(nèi)部處理標(biāo)識(shí)。
[0052]本實(shí)施例中,預(yù)先存儲(chǔ)外部處理標(biāo)識(shí)與內(nèi)部處理標(biāo)識(shí)的對(duì)應(yīng)關(guān)系,多個(gè)外部處理標(biāo)識(shí)可能同時(shí)與同一個(gè)內(nèi)部處理標(biāo)識(shí)相對(duì)應(yīng)。例如,來自不同渠道的數(shù)據(jù)處理請(qǐng)求的接口可能不一樣,但是處理所述數(shù)據(jù)處理請(qǐng)求的流程和關(guān)鍵要素項(xiàng)等可能是相同的,如繳收電費(fèi)請(qǐng)求,來自銀行柜臺(tái)前端、來自ATM前端或者來自網(wǎng)銀系統(tǒng)的繳收電費(fèi)請(qǐng)求都需要執(zhí)行銀行后臺(tái)入賬、電力收費(fèi)系統(tǒng)入賬等步驟,并且這些步驟的邏輯完全相同,同時(shí)與銀行后臺(tái)及電力收費(fèi)系統(tǒng)的接口完全相同,相關(guān)要素項(xiàng)也完全相同,所以來自不同渠道的繳收電費(fèi)請(qǐng)求可以使用相同的內(nèi)部交易代碼,也就是說他們可以使用同一個(gè)內(nèi)部處理標(biāo)識(shí)。
[0053]本實(shí)施例中,在獲取所述數(shù)據(jù)處理請(qǐng)求中的外部處理標(biāo)識(shí)后,根據(jù)預(yù)存的外部處理標(biāo)識(shí)與內(nèi)部處理標(biāo)識(shí)的對(duì)應(yīng)關(guān)系,獲取與所述外部處理標(biāo)識(shí)對(duì)應(yīng)的內(nèi)部處理標(biāo)識(shí)。
[0054]另外,如果在預(yù)存的外部處理標(biāo)識(shí)與內(nèi)部處理標(biāo)識(shí)的對(duì)應(yīng)關(guān)系中不能查詢到與所述外部處理標(biāo)識(shí)對(duì)應(yīng)的內(nèi)部處理標(biāo)識(shí),則停止對(duì)所述數(shù)據(jù)處理請(qǐng)求的響應(yīng),也可以向用戶返回錯(cuò)誤通知。
[0055]S103:判斷所述內(nèi)部處理標(biāo)識(shí)對(duì)應(yīng)的當(dāng)前進(jìn)程并發(fā)數(shù)是否小于預(yù)設(shè)的所述內(nèi)部處理標(biāo)識(shí)的最大進(jìn)程并發(fā)數(shù)。
[0056]本實(shí)施例中,得到內(nèi)部處理標(biāo)識(shí)之后,獲取當(dāng)前執(zhí)行所述內(nèi)部處理標(biāo)識(shí)對(duì)應(yīng)的內(nèi)部處理代碼的進(jìn)程的并發(fā)數(shù)。
[0057]為了保證數(shù)據(jù)處理平臺(tái)系統(tǒng)本身及其外連系統(tǒng)運(yùn)行的安全與穩(wěn)定,避免引起I/O、(PU等資源瓶頸問題,本實(shí)施例預(yù)先設(shè)定了各個(gè)內(nèi)部處理標(biāo)識(shí)對(duì)應(yīng)的最大進(jìn)程并發(fā)數(shù),最大進(jìn)程并發(fā)數(shù)即在同一時(shí)間執(zhí)行所述內(nèi)部處理標(biāo)識(shí)對(duì)應(yīng)的內(nèi)部處理代碼的最多進(jìn)程數(shù)。每個(gè)內(nèi)部處理代碼對(duì)應(yīng)的最大進(jìn)程并發(fā)數(shù)可以不同,如批量文件處理請(qǐng)求的最大進(jìn)程并發(fā)數(shù)比聯(lián)機(jī)實(shí)時(shí)轉(zhuǎn)賬交易請(qǐng)求的最大進(jìn)程并發(fā)數(shù)小。
[0058]本實(shí)施例中,獲取所述內(nèi)部處理標(biāo)識(shí)對(duì)應(yīng)的當(dāng)前進(jìn)程并發(fā)數(shù)后,判斷所述內(nèi)部處理標(biāo)識(shí)對(duì)應(yīng)的當(dāng)前進(jìn)程并發(fā)數(shù)是否小于預(yù)先設(shè)置的所述內(nèi)部處理標(biāo)識(shí)對(duì)應(yīng)的最大進(jìn)程并發(fā)數(shù)。
[0059]S104:當(dāng)所述內(nèi)部處理標(biāo)識(shí)對(duì)應(yīng)的當(dāng)前進(jìn)程并發(fā)數(shù)小于所述最大進(jìn)程并發(fā)數(shù)時(shí),執(zhí)行所述內(nèi)部處理標(biāo)識(shí)對(duì)應(yīng)的可執(zhí)行代碼,得到處理結(jié)果,并顯示所述處理結(jié)果。
[0060]本實(shí)施例中,當(dāng)所述內(nèi)部處理標(biāo)識(shí)對(duì)應(yīng)的當(dāng)前進(jìn)程并發(fā)數(shù)小于所述內(nèi)部處理標(biāo)識(shí)對(duì)應(yīng)的最大進(jìn)程并發(fā)數(shù)時(shí),確定與所述內(nèi)部處理標(biāo)識(shí)對(duì)應(yīng)的可執(zhí)行代碼,并執(zhí)行所述可執(zhí)行代碼得到處理結(jié)果,最終將所述處理結(jié)果顯示給用戶。
[0061]實(shí)際操作中,參考圖2,圖2為確定與所述內(nèi)部處理標(biāo)識(shí)對(duì)應(yīng)的可執(zhí)行代碼的具體實(shí)現(xiàn)方式流程圖,具體可以包括:
[0062]S201:獲取所述內(nèi)部處理標(biāo)識(shí)對(duì)應(yīng)的源代碼。
[0063]本實(shí)施例根據(jù)應(yīng)用需求,如銀行繳電費(fèi)需求等,通過建立與所述應(yīng)用需求對(duì)應(yīng)的項(xiàng)目任務(wù),配置相應(yīng)數(shù)據(jù)轉(zhuǎn)換表、定義關(guān)聯(lián)的系統(tǒng)等操作,編寫實(shí)現(xiàn)所述應(yīng)用需求的源代碼。由于內(nèi)部處理標(biāo)識(shí)用于唯一標(biāo)識(shí)應(yīng)用實(shí)現(xiàn)的功能,所以所述內(nèi)部處理標(biāo)識(shí)也可以唯一標(biāo)識(shí)實(shí)現(xiàn)該功能的源代碼。
[0064]S202:對(duì)所述源代碼進(jìn)行編譯后得到中間代碼,所述中間代碼包括代碼段和數(shù)據(jù)段。
[0065]本實(shí)施例中,獲取源代碼之后,獲得前端的編譯指令,按照所述編譯指令中的編譯參數(shù),讀取所述源代碼。具體的,首先對(duì)所述源代碼進(jìn)行Iex詞法分析,Iex為一種詞法分析器生成工具,分析得到所述源代碼中最小的有意義的符號(hào),如變量名稱、變量類型、常量值、邏輯符號(hào)、括號(hào)或函數(shù)名稱等,并將其插入內(nèi)存中預(yù)先設(shè)置的符號(hào)表結(jié)構(gòu)中。其次,調(diào)用yacc,一種生成語法分析器的工具,對(duì)所述源代碼進(jìn)行語法分析,并取得所述源代碼的語法規(guī)則,最終生成所述源代碼的執(zhí)行代碼規(guī)則,所述執(zhí)行代碼規(guī)則可以包括函數(shù)名稱、執(zhí)行指令等,最后,將其插入預(yù)設(shè)的代碼執(zhí)行結(jié)構(gòu)表中。從所述源代碼對(duì)應(yīng)的符號(hào)表結(jié)構(gòu)及代碼執(zhí)行結(jié)構(gòu)表中導(dǎo)出中間代碼,其中所述中間代碼包括數(shù)據(jù)段及代碼段。
[0066]另外,所述中間代碼中的數(shù)據(jù)段用于保存所述中間代碼中的變量名稱、數(shù)據(jù)位置等,具體的,將接收的來自用戶的與所述數(shù)據(jù)處理請(qǐng)求對(duì)應(yīng)的參數(shù)值賦值到數(shù)據(jù)段,如將來自用戶的付款信息:付款人姓名、付款人賬號(hào)、付款銀行名稱、付款金額等;收款信息:收款單位名稱、收款單位賬號(hào)等賦值到對(duì)應(yīng)的數(shù)據(jù)段的不同變量中。所述代碼段用于保存所述中間代碼的指令信息。所述指令信息可以包括邏輯判斷指令、賦值操作指令、內(nèi)建函數(shù)調(diào)用操作指令等。在代碼段中的指令的執(zhí)行過程中可能有對(duì)應(yīng)的數(shù)據(jù)段中的變量值的讀寫操作,例如:邏輯判斷if條件判斷變量,必然有對(duì)數(shù)據(jù)段的變量讀操作;賦值操作必然有對(duì)變量進(jìn)行寫操作等。
[0067]本實(shí)施例還可以包括接收所述數(shù)據(jù)處理請(qǐng)求對(duì)應(yīng)的參數(shù)值,并將所述參數(shù)值賦值到所述中間代碼的數(shù)據(jù)段。
[0068]S203:加載所述代碼段和數(shù)據(jù)段后,得到所述內(nèi)部處理標(biāo)識(shí)對(duì)應(yīng)的可執(zhí)行代碼。
[0069]本實(shí)施例在獲取所述中間代碼中的代碼段和數(shù)據(jù)段后,將所述代碼段和數(shù)據(jù)段加載到內(nèi)存中,得到所述內(nèi)部處理標(biāo)識(shí)對(duì)應(yīng)的可執(zhí)行代碼。
[0070]為了提高可執(zhí)行代碼的執(zhí)行效率,在加載所述代碼段和數(shù)據(jù)段時(shí),可以重新計(jì)算代碼段中的指令訪問數(shù)據(jù)段中變量的地址,也可以直接對(duì)數(shù)據(jù)段中的變量的值執(zhí)行讀寫操作。
[0071]另外,本實(shí)施例中,當(dāng)所述內(nèi)部處理標(biāo)識(shí)對(duì)應(yīng)的當(dāng)前進(jìn)程并發(fā)數(shù)不小于所述最大進(jìn)程并發(fā)數(shù)時(shí),可以將所述數(shù)據(jù)處理請(qǐng)求設(shè)置為等待狀態(tài)。當(dāng)所述內(nèi)部處理標(biāo)識(shí)對(duì)應(yīng)的當(dāng)前進(jìn)程并發(fā)數(shù)小于所述最大進(jìn)程并發(fā)數(shù)時(shí),執(zhí)行處于等待狀態(tài)的數(shù)據(jù)處理請(qǐng)求。
[0072]為了保證數(shù)據(jù)處理平臺(tái)系統(tǒng)本身及其外連系統(tǒng)運(yùn)行的安全與穩(wěn)定,避免引起I/O、CPU等資源瓶頸問題,本實(shí)施例在接收所述數(shù)據(jù)處理請(qǐng)求之前,預(yù)先設(shè)置最大總進(jìn)程并發(fā)數(shù),并判斷當(dāng)前總進(jìn)程的并發(fā)數(shù)是否達(dá)到預(yù)設(shè)的最大總進(jìn)程并發(fā)數(shù)。如果當(dāng)前總進(jìn)程的并發(fā)數(shù)未達(dá)到預(yù)設(shè)的最大總進(jìn)程并發(fā)數(shù),則可以接收所述數(shù)據(jù)處理請(qǐng)求,并處理所述數(shù)據(jù)處理請(qǐng)求。
[0073]本實(shí)施例首先接收任一數(shù)據(jù)處理請(qǐng)求,所述數(shù)據(jù)處理請(qǐng)求包括外部處理標(biāo)識(shí);其次,根據(jù)預(yù)存的外部處理標(biāo)識(shí)與內(nèi)部處理標(biāo)識(shí)的對(duì)應(yīng)關(guān)系,將所述外部處理標(biāo)識(shí)轉(zhuǎn)換為與所述外部處理標(biāo)識(shí)對(duì)應(yīng)的內(nèi)部處理標(biāo)識(shí);再次,判斷所述內(nèi)部處理標(biāo)識(shí)對(duì)應(yīng)的當(dāng)前進(jìn)程并發(fā)數(shù)是否小于預(yù)設(shè)的所述內(nèi)部處理標(biāo)識(shí)的最大進(jìn)程并發(fā)數(shù);當(dāng)所述內(nèi)部處理標(biāo)識(shí)對(duì)應(yīng)的當(dāng)前進(jìn)程并發(fā)數(shù)小于所述最大進(jìn)程并發(fā)數(shù)時(shí),執(zhí)行所述內(nèi)部處理標(biāo)識(shí)對(duì)應(yīng)的可執(zhí)行代碼,得到處理結(jié)果,并顯示所述處理結(jié)果。本實(shí)施例能夠根據(jù)預(yù)先設(shè)置的最大進(jìn)程并發(fā)數(shù)控制多進(jìn)程并發(fā)的數(shù)據(jù)處理方式,避免對(duì)數(shù)據(jù)處理平臺(tái)的穩(wěn)定性和安全性構(gòu)成威脅。
[0074]實(shí)施例二
[0075]參考圖3,圖3為本實(shí)施例提供的一種基于多進(jìn)程并發(fā)的數(shù)據(jù)處理裝置結(jié)構(gòu)示意圖,所述裝置可以包括:
[0076]第一接收模塊301,用于接收任一數(shù)據(jù)處理請(qǐng)求,所述數(shù)據(jù)處理請(qǐng)求包括外部處理標(biāo)識(shí);
[0077]轉(zhuǎn)換模塊302,用于根據(jù)預(yù)存的外部處理標(biāo)識(shí)與內(nèi)部處理標(biāo)識(shí)的對(duì)應(yīng)關(guān)系,將所述外部處理標(biāo)識(shí)轉(zhuǎn)換為與所述外部處理標(biāo)識(shí)對(duì)應(yīng)的內(nèi)部處理標(biāo)識(shí);
[0078]第一判斷模塊303,用于判斷所述內(nèi)部處理標(biāo)識(shí)對(duì)應(yīng)的當(dāng)前進(jìn)程并發(fā)數(shù)是否小于預(yù)設(shè)的所述內(nèi)部處理標(biāo)識(shí)的最大進(jìn)程并發(fā)數(shù);[0079]執(zhí)行模塊304,用于當(dāng)所述內(nèi)部處理標(biāo)識(shí)對(duì)應(yīng)的當(dāng)前進(jìn)程并發(fā)數(shù)小于所述最大進(jìn)程并發(fā)數(shù)時(shí),執(zhí)行所述內(nèi)部處理標(biāo)識(shí)對(duì)應(yīng)的可執(zhí)行代碼,得到處理結(jié)果;
[0080]顯示模塊305,用于顯示所述處理結(jié)果。
[0081]另外,所述裝置還可以包括:
[0082]設(shè)置模塊,用于當(dāng)所述內(nèi)部處理標(biāo)識(shí)對(duì)應(yīng)的當(dāng)前進(jìn)程并發(fā)數(shù)不小于所述最大進(jìn)程并發(fā)數(shù)時(shí),將所述數(shù)據(jù)處理請(qǐng)求設(shè)置為等待狀態(tài)。
[0083]另一種實(shí)現(xiàn)方式中,所述裝置還可以包括:
[0084]獲取模塊,用于獲取所述內(nèi)部處理標(biāo)識(shí)對(duì)應(yīng)的源代碼;
[0085]編譯模塊,用于對(duì)所述源代碼進(jìn)行編譯后得到中間代碼,所述中間代碼包括代碼段和數(shù)據(jù)段;
[0086]加載模塊,用于加載所述代碼段和數(shù)據(jù)段后,得到所述內(nèi)部處理標(biāo)識(shí)對(duì)應(yīng)的可執(zhí)行代碼。
[0087]同時(shí),所述裝置還可以包括:
[0088]第二接收模塊,用于接收所述數(shù)據(jù)處理請(qǐng)求對(duì)應(yīng)的參數(shù)值;
[0089]賦值模塊,用于將所述參數(shù)值賦值到所述中間代碼的數(shù)據(jù)段。
[0090]為了保證數(shù)據(jù)處理平臺(tái)系統(tǒng)本身及其外連系統(tǒng)運(yùn)行的安全與穩(wěn)定,避免引起I/O、CPU等資源瓶頸問題,,所述裝置還可以包括:
[0091]第二判斷模塊,用于判斷當(dāng)前總進(jìn)程的并發(fā)數(shù)是否達(dá)到預(yù)設(shè)的最大總進(jìn)程并發(fā)數(shù);
[0092]第三接收模塊,用于如果當(dāng)前總進(jìn)程的并發(fā)數(shù)未達(dá)到預(yù)設(shè)的最大總進(jìn)程并發(fā)數(shù),則接收所述數(shù)據(jù)處理請(qǐng)求。
[0093]本實(shí)施例首先接收任一數(shù)據(jù)處理請(qǐng)求,所述數(shù)據(jù)處理請(qǐng)求包括外部處理標(biāo)識(shí);其次,根據(jù)預(yù)存的外部處理標(biāo)識(shí)與內(nèi)部處理標(biāo)識(shí)的對(duì)應(yīng)關(guān)系,將所述外部處理標(biāo)識(shí)轉(zhuǎn)換為與所述外部處理標(biāo)識(shí)對(duì)應(yīng)的內(nèi)部處理標(biāo)識(shí);再次,判斷所述內(nèi)部處理標(biāo)識(shí)對(duì)應(yīng)的當(dāng)前進(jìn)程并發(fā)數(shù)是否小于預(yù)設(shè)的所述內(nèi)部處理標(biāo)識(shí)的最大進(jìn)程并發(fā)數(shù);當(dāng)所述內(nèi)部處理標(biāo)識(shí)對(duì)應(yīng)的當(dāng)前進(jìn)程并發(fā)數(shù)小于所述最大進(jìn)程并發(fā)數(shù)時(shí),執(zhí)行所述內(nèi)部處理標(biāo)識(shí)對(duì)應(yīng)的可執(zhí)行代碼,得到處理結(jié)果,并顯示所述處理結(jié)果。本實(shí)施例能夠根據(jù)預(yù)先設(shè)置的最大進(jìn)程并發(fā)數(shù)控制多進(jìn)程并發(fā)的數(shù)據(jù)處理方式,避免對(duì)數(shù)據(jù)處理平臺(tái)的穩(wěn)定性和安全性構(gòu)成威脅。
[0094]對(duì)于系統(tǒng)實(shí)施例而言,由于其基本對(duì)應(yīng)于方法實(shí)施例,所以相關(guān)之處參見方法實(shí)施例的部分說明即可。以上所描述的系統(tǒng)實(shí)施例僅僅是示意性的,其中所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個(gè)地方,或者也可以分布到多個(gè)網(wǎng)絡(luò)單元上??梢愿鶕?jù)實(shí)際的需要選擇其中的部分或者全部模塊來實(shí)現(xiàn)本實(shí)施例方案的目的。本領(lǐng)域普通技術(shù)人員在不付出創(chuàng)造性勞動(dòng)的情況下,即可以理解并實(shí)施。
[0095]需要說明的是,在本文中,諸如第一和第二等之類的關(guān)系術(shù)語僅僅用來將一個(gè)實(shí)體或者操作與另一個(gè)實(shí)體或操作區(qū)分開來,而不一定要求或者暗示這些實(shí)體或操作之間存在任何這種實(shí)際的關(guān)系或者順序。而且,術(shù)語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者設(shè)備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者設(shè)備所固有的要素。在沒有更多限制的情況下,由語句“包括一個(gè)……”限定的要素,并不排除在包括所述要素的過程、方法、物品或者設(shè)備中還存在另外的相同要素。
[0096]以上對(duì)本發(fā)明實(shí)施例所提供的基于多進(jìn)程并發(fā)的數(shù)據(jù)處理方法及裝置進(jìn)行了詳細(xì)介紹,本文中應(yīng)用了具體個(gè)例對(duì)本發(fā)明的原理及實(shí)施方式進(jìn)行了闡述,以上實(shí)施例的說明只是用于幫助理解 本發(fā)明的方法及其核心思想;同時(shí),對(duì)于本領(lǐng)域的一般技術(shù)人員,依據(jù)本發(fā)明的思想,在【具體實(shí)施方式】及應(yīng)用范圍上均會(huì)有改變之處,綜上所述,本說明書內(nèi)容不應(yīng)理解為對(duì)本發(fā)明的限制。
【權(quán)利要求】
1.一種基于多進(jìn)程并發(fā)的數(shù)據(jù)處理方法,其特征在于,所述方法包括: 接收任一數(shù)據(jù)處理請(qǐng)求,所述數(shù)據(jù)處理請(qǐng)求包括外部處理標(biāo)識(shí); 根據(jù)預(yù)存的外部處理標(biāo)識(shí)與內(nèi)部處理標(biāo)識(shí)的對(duì)應(yīng)關(guān)系,將所述外部處理標(biāo)識(shí)轉(zhuǎn)換為與所述外部處理標(biāo)識(shí)對(duì)應(yīng)的內(nèi)部處理標(biāo)識(shí); 判斷所述內(nèi)部處理標(biāo)識(shí)對(duì)應(yīng)的當(dāng)前進(jìn)程并發(fā)數(shù)是否小于預(yù)設(shè)的所述內(nèi)部處理標(biāo)識(shí)的最大進(jìn)程并發(fā)數(shù); 當(dāng)所述內(nèi)部處理標(biāo)識(shí)對(duì)應(yīng)的當(dāng)前進(jìn)程并發(fā)數(shù)小于所述最大進(jìn)程并發(fā)數(shù)時(shí),執(zhí)行所述內(nèi)部處理標(biāo)識(shí)對(duì)應(yīng)的可執(zhí)行代碼,得到處理結(jié)果,并顯示所述處理結(jié)果。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述方法還包括: 當(dāng)所述內(nèi)部處理標(biāo)識(shí)對(duì)應(yīng)的當(dāng)前進(jìn)程并發(fā)數(shù)不小于所述最大進(jìn)程并發(fā)數(shù)時(shí),將所述數(shù)據(jù)處理請(qǐng)求設(shè)置為等待狀態(tài)。
3.根據(jù)權(quán)利要求1或2所述的方法,其特征在于,所述執(zhí)行所述內(nèi)部處理標(biāo)識(shí)對(duì)應(yīng)的可執(zhí)行代碼之前,還包括: 獲取所述內(nèi)部處理標(biāo)識(shí)對(duì)應(yīng)的源代碼; 對(duì)所述源代碼進(jìn)行編譯后得到中間代碼,所述中間代碼包括代碼段和數(shù)據(jù)段; 加載所述代碼段和數(shù)據(jù)段后,得到所述內(nèi)部處理標(biāo)識(shí)對(duì)應(yīng)的可執(zhí)行代碼。
4.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述加載所述代碼段和數(shù)據(jù)段后,得到所述內(nèi)部處理標(biāo)識(shí)對(duì)應(yīng)的可執(zhí)行代碼之前,還包括: 接收所述數(shù)據(jù)處理請(qǐng)求對(duì)應(yīng)的參數(shù)值,并將所述參數(shù)值賦值到所述中間代碼的數(shù)據(jù)段。
5.根據(jù)權(quán)利要求1或2所述的方法,其特征在于,所述接收任一數(shù)據(jù)處理請(qǐng)求之前,還包括: 判斷當(dāng)前總進(jìn)程的并發(fā)數(shù)是否達(dá)到預(yù)設(shè)的最大總進(jìn)程并發(fā)數(shù); 如果當(dāng)前總進(jìn)程的并發(fā)數(shù)未達(dá)到預(yù)設(shè)的最大總進(jìn)程并發(fā)數(shù),則接收所述數(shù)據(jù)處理請(qǐng)求。
6.一種基于多進(jìn)程并發(fā)的數(shù)據(jù)處理裝置,其特征在于,所述裝置包括: 第一接收模塊,用于接收任一數(shù)據(jù)處理請(qǐng)求,所述數(shù)據(jù)處理請(qǐng)求包括外部處理標(biāo)識(shí); 轉(zhuǎn)換模塊,用于根據(jù)預(yù)存的外部處理標(biāo)識(shí)與內(nèi)部處理標(biāo)識(shí)的對(duì)應(yīng)關(guān)系,將所述外部處理標(biāo)識(shí)轉(zhuǎn)換為與所述外部處理標(biāo)識(shí)對(duì)應(yīng)的內(nèi)部處理標(biāo)識(shí); 第一判斷模塊,用于判斷所述內(nèi)部處理標(biāo)識(shí)對(duì)應(yīng)的當(dāng)前進(jìn)程并發(fā)數(shù)是否小于預(yù)設(shè)的所述內(nèi)部處理標(biāo)識(shí)的最大進(jìn)程并發(fā)數(shù); 執(zhí)行模塊,用于當(dāng)所述內(nèi)部處理標(biāo)識(shí)對(duì)應(yīng)的當(dāng)前進(jìn)程并發(fā)數(shù)小于所述最大進(jìn)程并發(fā)數(shù)時(shí),執(zhí)行所述內(nèi)部處理標(biāo)識(shí)對(duì)應(yīng)的可執(zhí)行代碼,得到處理結(jié)果; 顯示模塊,用于顯示所述處理結(jié)果。
7.根據(jù)權(quán)利要求6所述的裝置,其特征在于,所述裝置還包括: 設(shè)置模塊,用于當(dāng)所述內(nèi)部處理標(biāo)識(shí)對(duì)應(yīng)的當(dāng)前進(jìn)程并發(fā)數(shù)不小于所述最大進(jìn)程并發(fā)數(shù)時(shí),將所述數(shù)據(jù)處理請(qǐng)求設(shè)置為等待狀態(tài)。
8.根據(jù)權(quán)利要求6或7所述的裝置,其特征在于,所述裝置還包括: 獲取模塊,用于獲取所述內(nèi)部處理標(biāo)識(shí)對(duì)應(yīng)的源代碼;編譯模塊,用于對(duì)所述源代碼進(jìn)行編譯后得到中間代碼,所述中間代碼包括代碼段和數(shù)據(jù)段; 加載模塊,用于加載所述代碼段和數(shù)據(jù)段后,得到所述內(nèi)部處理標(biāo)識(shí)對(duì)應(yīng)的可執(zhí)行代碼。
9.根據(jù)權(quán)利要求8所述的裝置,其特征在于,所述裝置還包括: 第二接收模塊,用于接收所述數(shù)據(jù)處理請(qǐng)求對(duì)應(yīng)的參數(shù)值; 賦值模塊,用于將所述參數(shù)值賦值到所述中間代碼的數(shù)據(jù)段。
10.根據(jù) 權(quán)利要求6或7所述的裝置,其特征在于,所述裝置還包括: 第二判斷模塊,用于判斷當(dāng)前總進(jìn)程的并發(fā)數(shù)是否達(dá)到預(yù)設(shè)的最大總進(jìn)程并發(fā)數(shù);第三接收模塊,用于如果當(dāng)前總進(jìn)程的并發(fā)數(shù)未達(dá)到預(yù)設(shè)的最大總進(jìn)程并發(fā)數(shù),則接收所述數(shù)據(jù)處理請(qǐng)求。
【文檔編號(hào)】G06F9/46GK103970599SQ201410234514
【公開日】2014年8月6日 申請(qǐng)日期:2014年5月29日 優(yōu)先權(quán)日:2014年5月29日
【發(fā)明者】肖飛軍, 邱嗣榮, 張捷, 黃新福, 畢德闖, 雷冰 申請(qǐng)人:中國銀行股份有限公司