專利名稱:數(shù)據(jù)管理裝置和數(shù)據(jù)管理方法
技術(shù)領(lǐng)域:
本發(fā)明涉及計(jì)算機(jī)技術(shù)領(lǐng)域,具體而言,涉及一種數(shù)據(jù)管理裝置和一種數(shù)據(jù)管理方法。
背景技術(shù):
隨著精細(xì)化管理概念的普及,ERP軟件已經(jīng)覆蓋到生產(chǎn)、流通等各行各業(yè),企業(yè)對(duì)軟件的使用越來(lái)越深入,功能性需求、操作性需求、行業(yè)性需求不斷擴(kuò)大、膨脹。這些都大大提高了軟件的復(fù)雜度和軟件維護(hù)的難度。對(duì)于高復(fù)雜度、低可見(jiàn)度的軟件,無(wú)論投入多少資源,花費(fèi)多長(zhǎng)時(shí)間,發(fā)版后的軟件到客戶方都難免出現(xiàn)缺陷。當(dāng)異常發(fā)生時(shí),解決問(wèn)題最困難、最耗時(shí)的,就是定位缺陷產(chǎn)生的原因,這也是客戶投訴、抱怨最多的地方。往往造成開(kāi)發(fā)定位一個(gè)缺陷的時(shí)間用幾天, 修改、驗(yàn)證到修復(fù)客戶系統(tǒng),只用了 1小時(shí)。如何收集到異常發(fā)生時(shí)的業(yè)務(wù)流程和業(yè)務(wù)數(shù)據(jù)一直是開(kāi)發(fā)著力解決的問(wèn)題。一些軟件軟件工程中,Print、log和異常輸出仍是主要排錯(cuò)手段。具體為在研發(fā)測(cè)試階段,在問(wèn)題多發(fā)的代碼段和接口處植入I^rint語(yǔ)句,選擇日志級(jí)別輸出可能需要的數(shù)據(jù),作為日后再現(xiàn)bug的參考。也有另一種實(shí)現(xiàn),在接口處增加數(shù)據(jù)校驗(yàn),然后根據(jù)校驗(yàn) throw出預(yù)設(shè)的異常信息。雖然能將部分信息輸出,但是都會(huì)存在以下問(wèn)題觀察力有限, 檢查代碼固定,只能定位已知問(wèn)題;增減需要重新編譯;按時(shí)間輸出,信息離散,定位困難; IO過(guò)于頻繁嚴(yán)重影響性能等等。因此,需要一種新的技術(shù)方案,能夠快速定位缺陷,能夠選擇與缺陷相關(guān)的必要輸出信息,以及選擇輸出的時(shí)機(jī),同時(shí)無(wú)需用戶進(jìn)行編譯操作。
發(fā)明內(nèi)容
本發(fā)明所要解決的技術(shù)問(wèn)題在于,提供一種新的技術(shù)方案,能夠快速定位缺陷,能夠選擇與缺陷相關(guān)的必要輸出信息,以及選擇輸出的時(shí)機(jī),同時(shí)無(wú)需用戶進(jìn)行編譯操作。有鑒于此,本發(fā)明提供一種數(shù)據(jù)管理裝置,包括業(yè)務(wù)對(duì)象探測(cè)模塊,在業(yè)務(wù)進(jìn)行時(shí),獲取業(yè)務(wù)對(duì)象以及其發(fā)起的事件,并將所述業(yè)務(wù)對(duì)象中的對(duì)象數(shù)據(jù)和發(fā)起所述事件的指令存儲(chǔ)到為所述業(yè)務(wù)分配的緩沖區(qū)中;數(shù)據(jù)指令輸出模塊,輸出所述緩沖區(qū)中存儲(chǔ)的所有對(duì)象數(shù)據(jù)和所有指令。通過(guò)該技術(shù)方案,可以通過(guò)緩沖區(qū),以業(yè)務(wù)為單元而非時(shí)間來(lái)輸出存儲(chǔ)的對(duì)象數(shù)據(jù)和指令,保證用戶可以集中對(duì)具體業(yè)務(wù)中的問(wèn)題進(jìn)行分析處理,并且不會(huì)輸入輸出過(guò)于頻繁。在上述技術(shù)方案中,優(yōu)選地,所述業(yè)務(wù)對(duì)象探測(cè)模塊在新發(fā)現(xiàn)發(fā)起事件的業(yè)務(wù)對(duì)象時(shí),將新發(fā)現(xiàn)的業(yè)務(wù)對(duì)象的對(duì)象數(shù)據(jù)和其發(fā)起事件的指令存儲(chǔ)到所述緩沖區(qū)中,根據(jù)所述新發(fā)現(xiàn)的業(yè)務(wù)對(duì)象的對(duì)象數(shù)據(jù)和指令在所述緩沖區(qū)的存儲(chǔ)地址,預(yù)留下一個(gè)獲取的業(yè)務(wù)對(duì)象的對(duì)象數(shù)據(jù)和指令的存儲(chǔ)地址,并根據(jù)所述新發(fā)現(xiàn)的業(yè)務(wù)對(duì)象的對(duì)象數(shù)據(jù)和指令來(lái)獲取下一個(gè)業(yè)務(wù)對(duì)象,如果此時(shí)所述業(yè)務(wù)完成,則將預(yù)留的存儲(chǔ)地址指向所述緩沖區(qū)的終止地址。通過(guò)該技術(shù)方案,可以保證獲取的對(duì)象數(shù)據(jù)和指令可以有序地存儲(chǔ)在緩沖區(qū)中,便于輸出后有序地進(jìn)行管理和使用。在上述技術(shù)方案中,優(yōu)選地,所述數(shù)據(jù)指令輸出模塊還根據(jù)所述預(yù)留的存儲(chǔ)地址, 判斷所述業(yè)務(wù)是否已經(jīng)完成,并在所述業(yè)務(wù)完成或所述業(yè)務(wù)異常時(shí),輸出所述緩沖區(qū)中存儲(chǔ)的所有對(duì)象數(shù)據(jù)和所有指令。通過(guò)該技術(shù)方案,保證存儲(chǔ)的對(duì)象數(shù)據(jù)和指令可以順利輸
出ο在上述技術(shù)方案中,優(yōu)選地,所述業(yè)務(wù)對(duì)象探測(cè)模塊在預(yù)定時(shí)間內(nèi)未獲取到所述下一個(gè)業(yè)務(wù)對(duì)象時(shí),則不再繼續(xù)等待獲取所述下一個(gè)業(yè)務(wù)對(duì)象,和/或在預(yù)定時(shí)間內(nèi)在所述緩存區(qū)未存儲(chǔ)新的對(duì)象數(shù)據(jù)或指令時(shí),則停止獲取所述業(yè)務(wù)中的業(yè)務(wù)對(duì)象。通過(guò)該技術(shù)方案,防止資源浪費(fèi),可以高效地進(jìn)行對(duì)象數(shù)據(jù)和指令的獲取。在上述技術(shù)方案中,優(yōu)選地,還包括探測(cè)設(shè)置模塊,設(shè)置所述業(yè)務(wù)中需探測(cè)的業(yè)務(wù)對(duì)象,以及所述需探測(cè)業(yè)務(wù)對(duì)象中的需探測(cè)的對(duì)象數(shù)據(jù);所述業(yè)務(wù)對(duì)象探測(cè)模塊僅在所述業(yè)務(wù)對(duì)象屬于所述需探測(cè)的業(yè)務(wù)對(duì)象時(shí),獲取所述業(yè)務(wù)對(duì)象,并僅在所述業(yè)務(wù)對(duì)象中的對(duì)象數(shù)據(jù)屬于所述需探測(cè)的對(duì)象數(shù)據(jù)時(shí),存儲(chǔ)所述業(yè)務(wù)對(duì)象的對(duì)象數(shù)據(jù)。通過(guò)該技術(shù)方案, 防止資源浪費(fèi),可以高效地進(jìn)行對(duì)象數(shù)據(jù)和指令的獲取。本發(fā)明提供一種數(shù)據(jù)管理方法,包括步驟202,在業(yè)務(wù)進(jìn)行時(shí),獲取業(yè)務(wù)對(duì)象以及其發(fā)起的事件,并將所述業(yè)務(wù)對(duì)象中的對(duì)象數(shù)據(jù)和發(fā)起所述事件的指令存儲(chǔ)到為所述業(yè)務(wù)分配的緩沖區(qū)中;步驟204,輸出所述緩沖區(qū)中存儲(chǔ)的所有對(duì)象數(shù)據(jù)和所有指令。通過(guò)該技術(shù)方案,可以通過(guò)緩沖區(qū),以業(yè)務(wù)為單元而非時(shí)間來(lái)輸出存儲(chǔ)的對(duì)象數(shù)據(jù)和指令,保證用戶可以集中對(duì)具體業(yè)務(wù)中的問(wèn)題進(jìn)行分析處理,并且不會(huì)輸入輸出過(guò)于頻繁。在上述技術(shù)方案中,優(yōu)選地,所述步驟202具體包括在新發(fā)現(xiàn)發(fā)起事件的業(yè)務(wù)對(duì)象時(shí),將新發(fā)現(xiàn)的業(yè)務(wù)對(duì)象的對(duì)象數(shù)據(jù)和其發(fā)起事件的指令存儲(chǔ)到所述緩沖區(qū)中,根據(jù)所述新發(fā)現(xiàn)的業(yè)務(wù)對(duì)象的對(duì)象數(shù)據(jù)和指令在所述緩沖區(qū)的存儲(chǔ)地址,預(yù)留下一個(gè)獲取的業(yè)務(wù)對(duì)象的對(duì)象數(shù)據(jù)和指令的存儲(chǔ)地址,并根據(jù)所述新發(fā)現(xiàn)的業(yè)務(wù)對(duì)象的對(duì)象數(shù)據(jù)和指令來(lái)獲取下一個(gè)業(yè)務(wù)對(duì)象,如果此時(shí)所述業(yè)務(wù)完成,則將預(yù)留的存儲(chǔ)地址指向所述緩沖區(qū)的終止地址。通過(guò)該技術(shù)方案,可以保證獲取的對(duì)象數(shù)據(jù)和指令可以有序地存儲(chǔ)在緩沖區(qū)中,便于輸出后有序地進(jìn)行管理和使用。在上述技術(shù)方案中,優(yōu)選地,所述步驟204還包括根據(jù)所述預(yù)留的存儲(chǔ)地址,判斷所述業(yè)務(wù)是否已經(jīng)完成,并在所述業(yè)務(wù)完成或所述業(yè)務(wù)異常時(shí),輸出所述緩沖區(qū)中存儲(chǔ)的所有對(duì)象數(shù)據(jù)和所有指令。通過(guò)該技術(shù)方案,保證存儲(chǔ)的對(duì)象數(shù)據(jù)和指令可以順利輸出。在上述技術(shù)方案中,優(yōu)選地,所述步驟202還包括在預(yù)定時(shí)間內(nèi)未獲取到所述下一個(gè)業(yè)務(wù)對(duì)象時(shí),則不再繼續(xù)等待獲取所述下一個(gè)業(yè)務(wù)對(duì)象,和/或在預(yù)定時(shí)間內(nèi)在所述緩存區(qū)未存儲(chǔ)新的對(duì)象數(shù)據(jù)或指令時(shí),則停止獲取所述業(yè)務(wù)中的業(yè)務(wù)對(duì)象。在上述技術(shù)方案中,優(yōu)選地,在所述步驟202之前,還包括設(shè)置所述業(yè)務(wù)中需探測(cè)的業(yè)務(wù)對(duì)象,以及所述需探測(cè)業(yè)務(wù)對(duì)象中的需探測(cè)的對(duì)象數(shù)據(jù);所述步驟202具體包括 僅在所述業(yè)務(wù)對(duì)象屬于所述需探測(cè)的業(yè)務(wù)對(duì)象時(shí),獲取所述業(yè)務(wù)對(duì)象,并僅在所述業(yè)務(wù)對(duì)象中的對(duì)象數(shù)據(jù)屬于所述需探測(cè)的對(duì)象數(shù)據(jù)時(shí),存儲(chǔ)所述業(yè)務(wù)對(duì)象的對(duì)象數(shù)據(jù)。通過(guò)該技術(shù)方案,防止資源浪費(fèi),可以高效地進(jìn)行對(duì)象數(shù)據(jù)和指令的獲取。通過(guò)上述技術(shù)方案,可以實(shí)現(xiàn)一種數(shù)據(jù)管理裝置和一種數(shù)據(jù)管理方法,能夠快速定位缺陷,能夠選擇與缺陷相關(guān)的必要輸出信息,以及選擇輸出的時(shí)機(jī),同時(shí)無(wú)需用戶進(jìn)行編譯操作。
圖1是根據(jù)本發(fā)明的--個(gè)實(shí)施例的__f理裝置的框圖2是根據(jù)本發(fā)明的--個(gè)實(shí)施例的__f理方法的流程圖3是根據(jù)本發(fā)明的--個(gè)實(shí)施例的__f理裝置的原理示意圖4是根據(jù)本發(fā)明的--個(gè)實(shí)施例的__f理裝置的工作流程圖5是根據(jù)本發(fā)明的--個(gè)實(shí)施例的_f理裝置的工作流程圖。
具體實(shí)施例方式為了能夠更清楚地理解本發(fā)明的上述目的、特征和優(yōu)點(diǎn),下面結(jié)合附圖和具體實(shí)施方式
對(duì)本發(fā)明進(jìn)行進(jìn)一步的詳細(xì)描述。在下面的描述中闡述了很多具體細(xì)節(jié)以便于充分理解本發(fā)明,但是,本發(fā)明還可以采用其他不同于在此描述的其他方式來(lái)實(shí)施,因此,本發(fā)明并不限于下面公開(kāi)的具體實(shí)施例的限制。圖1是根據(jù)本發(fā)明的一個(gè)實(shí)施例的數(shù)據(jù)管理裝置的框圖。如圖1所示,本發(fā)明提供一種數(shù)據(jù)管理裝置100,包括業(yè)務(wù)對(duì)象探測(cè)模塊102,在業(yè)務(wù)進(jìn)行時(shí),獲取業(yè)務(wù)對(duì)象以及其發(fā)起的事件,并將所述業(yè)務(wù)對(duì)象中的對(duì)象數(shù)據(jù)和發(fā)起所述事件的指令存儲(chǔ)到為所述業(yè)務(wù)分配的緩沖區(qū)中;數(shù)據(jù)指令輸出模塊104,輸出所述緩沖區(qū)中存儲(chǔ)的所有對(duì)象數(shù)據(jù)和所有指令。通過(guò)該技術(shù)方案,可以通過(guò)緩沖區(qū),以業(yè)務(wù)為單元而非時(shí)間來(lái)輸出存儲(chǔ)的對(duì)象數(shù)據(jù)和指令,保證用戶可以集中對(duì)具體業(yè)務(wù)中的問(wèn)題進(jìn)行分析處理,并且不會(huì)輸入輸出過(guò)于頻繁。在上述技術(shù)方案中,所述業(yè)務(wù)對(duì)象探測(cè)模塊102在新發(fā)現(xiàn)發(fā)起事件的業(yè)務(wù)對(duì)象時(shí),將新發(fā)現(xiàn)的業(yè)務(wù)對(duì)象的對(duì)象數(shù)據(jù)和其發(fā)起事件的指令存儲(chǔ)到所述緩沖區(qū)中,根據(jù)所述新發(fā)現(xiàn)的業(yè)務(wù)對(duì)象的對(duì)象數(shù)據(jù)和指令在所述緩沖區(qū)的存儲(chǔ)地址,預(yù)留下一個(gè)獲取的業(yè)務(wù)對(duì)象的對(duì)象數(shù)據(jù)和指令的存儲(chǔ)地址,并根據(jù)所述新發(fā)現(xiàn)的業(yè)務(wù)對(duì)象的對(duì)象數(shù)據(jù)和指令來(lái)獲取下一個(gè)業(yè)務(wù)對(duì)象,如果此時(shí)所述業(yè)務(wù)完成,則將預(yù)留的存儲(chǔ)地址指向所述緩沖區(qū)的終止地址。通過(guò)該技術(shù)方案,可以保證獲取的對(duì)象數(shù)據(jù)和指令可以有序地存儲(chǔ)在緩沖區(qū)中,便于輸出后有序地進(jìn)行管理和使用。在上述技術(shù)方案中,所述數(shù)據(jù)指令輸出模塊104還根據(jù)所述預(yù)留的存儲(chǔ)地址,判斷所述業(yè)務(wù)是否已經(jīng)完成,并在所述業(yè)務(wù)完成或所述業(yè)務(wù)異常時(shí),輸出所述緩沖區(qū)中存儲(chǔ)的所有對(duì)象數(shù)據(jù)和所有指令。通過(guò)該技術(shù)方案,保證存儲(chǔ)的對(duì)象數(shù)據(jù)和指令可以順利輸出。在上述技術(shù)方案中,所述業(yè)務(wù)對(duì)象探測(cè)模塊102在預(yù)定時(shí)間內(nèi)未獲取到所述下一個(gè)業(yè)務(wù)對(duì)象時(shí),則不再繼續(xù)等待獲取所述下一個(gè)業(yè)務(wù)對(duì)象,和/或在預(yù)定時(shí)間內(nèi)在所述緩存區(qū)未存儲(chǔ)新的對(duì)象數(shù)據(jù)或指令時(shí),則停止獲取所述業(yè)務(wù)中的業(yè)務(wù)對(duì)象。通過(guò)該技術(shù)方案, 防止資源浪費(fèi),可以高效地進(jìn)行對(duì)象數(shù)據(jù)和指令的獲取。在上述技術(shù)方案中,還包括探測(cè)設(shè)置模塊106,設(shè)置所述業(yè)務(wù)中需探測(cè)的業(yè)務(wù)對(duì)象,以及所述需探測(cè)業(yè)務(wù)對(duì)象中的需探測(cè)的對(duì)象數(shù)據(jù);所述業(yè)務(wù)對(duì)象探測(cè)模塊102僅在所述業(yè)務(wù)對(duì)象屬于所述需探測(cè)的業(yè)務(wù)對(duì)象時(shí),獲取所述業(yè)務(wù)對(duì)象,并僅在所述業(yè)務(wù)對(duì)象中的對(duì)象數(shù)據(jù)屬于所述需探測(cè)的對(duì)象數(shù)據(jù)時(shí),存儲(chǔ)所述業(yè)務(wù)對(duì)象的對(duì)象數(shù)據(jù)。通過(guò)該技術(shù)方案, 防止資源浪費(fèi),可以高效地進(jìn)行對(duì)象數(shù)據(jù)和指令的獲取。圖2是根據(jù)本發(fā)明的一個(gè)實(shí)施例的數(shù)據(jù)管理方法的流程圖。如圖2所示,本發(fā)明提供一種數(shù)據(jù)管理方法,包括步驟202,在業(yè)務(wù)進(jìn)行時(shí),獲取業(yè)務(wù)對(duì)象以及其發(fā)起的事件,并將所述業(yè)務(wù)對(duì)象中的對(duì)象數(shù)據(jù)和發(fā)起所述事件的指令存儲(chǔ)到為所述業(yè)務(wù)分配的緩沖區(qū)中;步驟204,輸出所述緩沖區(qū)中存儲(chǔ)的所有對(duì)象數(shù)據(jù)和所有指令。通過(guò)該技術(shù)方案,可以通過(guò)緩沖區(qū),以業(yè)務(wù)為單元而非時(shí)間來(lái)輸出存儲(chǔ)的對(duì)象數(shù)據(jù)和指令,保證用戶可以集中對(duì)具體業(yè)務(wù)中的問(wèn)題進(jìn)行分析處理,并且不會(huì)輸入輸出過(guò)于頻繁。在上述技術(shù)方案中,所述步驟202具體包括在新發(fā)現(xiàn)發(fā)起事件的業(yè)務(wù)對(duì)象時(shí),將新發(fā)現(xiàn)的業(yè)務(wù)對(duì)象的對(duì)象數(shù)據(jù)和其發(fā)起事件的指令存儲(chǔ)到所述緩沖區(qū)中,根據(jù)所述新發(fā)現(xiàn)的業(yè)務(wù)對(duì)象的對(duì)象數(shù)據(jù)和指令在所述緩沖區(qū)的存儲(chǔ)地址,預(yù)留下一個(gè)獲取的業(yè)務(wù)對(duì)象的對(duì)象數(shù)據(jù)和指令的存儲(chǔ)地址,并根據(jù)所述新發(fā)現(xiàn)的業(yè)務(wù)對(duì)象的對(duì)象數(shù)據(jù)和指令來(lái)獲取下一個(gè)業(yè)務(wù)對(duì)象,如果此時(shí)所述業(yè)務(wù)完成,則將預(yù)留的存儲(chǔ)地址指向所述緩沖區(qū)的終止地址。通過(guò)該技術(shù)方案,可以保證獲取的對(duì)象數(shù)據(jù)和指令可以有序地存儲(chǔ)在緩沖區(qū)中,便于輸出后有序地進(jìn)行管理和使用。在上述技術(shù)方案中,所述步驟204還包括根據(jù)所述預(yù)留的存儲(chǔ)地址,判斷所述業(yè)務(wù)是否已經(jīng)完成,并在所述業(yè)務(wù)完成或所述業(yè)務(wù)異常時(shí),輸出所述緩沖區(qū)中存儲(chǔ)的所有對(duì)象數(shù)據(jù)和所有指令。通過(guò)該技術(shù)方案,保證存儲(chǔ)的對(duì)象數(shù)據(jù)和指令可以順利輸出。在上述技術(shù)方案中,所述步驟202還包括在預(yù)定時(shí)間內(nèi)未獲取到所述下一個(gè)業(yè)務(wù)對(duì)象時(shí),則不再繼續(xù)等待獲取所述下一個(gè)業(yè)務(wù)對(duì)象,和/或在預(yù)定時(shí)間內(nèi)在所述緩存區(qū)未存儲(chǔ)新的對(duì)象數(shù)據(jù)或指令時(shí),則停止獲取所述業(yè)務(wù)中的業(yè)務(wù)對(duì)象。在上述技術(shù)方案中,在所述步驟202之前,還包括設(shè)置所述業(yè)務(wù)中需探測(cè)的業(yè)務(wù)對(duì)象,以及所述需探測(cè)業(yè)務(wù)對(duì)象中的需探測(cè)的對(duì)象數(shù)據(jù);所述步驟202具體包括僅在所述業(yè)務(wù)對(duì)象屬于所述需探測(cè)的業(yè)務(wù)對(duì)象時(shí),獲取所述業(yè)務(wù)對(duì)象,并僅在所述業(yè)務(wù)對(duì)象中的對(duì)象數(shù)據(jù)屬于所述需探測(cè)的對(duì)象數(shù)據(jù)時(shí),存儲(chǔ)所述業(yè)務(wù)對(duì)象的對(duì)象數(shù)據(jù)。通過(guò)該技術(shù)方案,防止資源浪費(fèi),可以高效地進(jìn)行對(duì)象數(shù)據(jù)和指令的獲取。本發(fā)明的實(shí)施例中的數(shù)據(jù)管理裝置是這樣實(shí)現(xiàn)的傳統(tǒng)軟件中的業(yè)務(wù)對(duì)象作為系統(tǒng)運(yùn)行的最小單元,通常定義為BE(BUSineSS Entity,也有稱為Business Object)。在業(yè)務(wù)軟件增加一個(gè)追蹤裝置(即本實(shí)施例的數(shù)據(jù)管理裝置),在本實(shí)施例中稱之 ETBE,ETBE 是 Event Tracing for Business Entity。系統(tǒng)運(yùn)行時(shí)開(kāi)啟ETBE裝置,通過(guò)讀取配置,確定需要觀測(cè)的業(yè)務(wù)和業(yè)務(wù)對(duì)象。進(jìn)一步地,ETBE裝置可以定義和修改的業(yè)務(wù)包括一組業(yè)務(wù)對(duì)象,可以在業(yè)務(wù)流程中定義探針, 可以定義業(yè)務(wù)對(duì)象的具體所需觀測(cè)信息。系統(tǒng)運(yùn)行時(shí)許多業(yè)務(wù)對(duì)象共同響應(yīng)客戶操作,完成業(yè)務(wù)流程。一個(gè)業(yè)務(wù)對(duì)象作為發(fā)起端,發(fā)起事件,通知另一個(gè)或多個(gè)業(yè)務(wù)對(duì)象,得到通知的業(yè)務(wù)對(duì)象響應(yīng)事件。ETBE裝置在業(yè)務(wù)對(duì)象內(nèi)植入可追蹤接口和必要屬性。所述裝置還包括對(duì)象屬性“探針是否開(kāi)啟”,決定是否監(jiān)控業(yè)務(wù)對(duì)象;“探測(cè)數(shù)據(jù)集”,需要探測(cè)的數(shù)據(jù)類型;“數(shù)據(jù)變化集”,業(yè)務(wù)對(duì)象中的數(shù)據(jù)變化情況;“指令集”,事件指令的集合。
上述屬性對(duì)應(yīng)的對(duì)象方法“開(kāi)啟探針”;“關(guān)閉探針”;“發(fā)起指令”;“接收指令”; “清空探測(cè)數(shù)據(jù)集”;“清除指令”;“清空指令集”;“添加指令”。ETBE裝置記錄并存儲(chǔ)業(yè)務(wù)對(duì)象和業(yè)務(wù)對(duì)象發(fā)起的事件及事件順序。所述裝置還包括提供了以下功能初始化配置選項(xiàng);開(kāi)啟選項(xiàng)中要求的業(yè)務(wù)對(duì)象的探針功能;發(fā)現(xiàn)探針對(duì)象發(fā)起業(yè)務(wù)指令;判斷是否是新獨(dú)立業(yè)務(wù),是新發(fā)生且獨(dú)立業(yè)務(wù)則分配新緩沖區(qū),并保存業(yè)務(wù)對(duì)象數(shù)據(jù)和指令,是已發(fā)生的、并正在追蹤的業(yè)務(wù),則在已分配的對(duì)應(yīng)業(yè)務(wù)緩沖區(qū)中記錄對(duì)象數(shù)據(jù)和指令,記錄來(lái)源業(yè)務(wù)對(duì)象和指令緩沖區(qū)地址,預(yù)留出下游對(duì)象和指令地址,等待后續(xù)指令,如果業(yè)務(wù)已終止,下游指令地址指向終止地址(相當(dāng)于業(yè)務(wù)對(duì)象探測(cè)模塊的功能)。進(jìn)一步,ETBE裝置提供的功能還包括將暫停時(shí)間過(guò)長(zhǎng)的指令和業(yè)務(wù)對(duì)象清除,用以追蹤新的對(duì)象和指令轉(zhuǎn)存暫停時(shí)間過(guò)長(zhǎng)的業(yè)務(wù)緩沖區(qū),待業(yè)務(wù)重啟后再重新加載緩沖區(qū);業(yè)務(wù)超出緩沖區(qū)存儲(chǔ)空間,業(yè)務(wù)還繼續(xù)進(jìn)行中,先轉(zhuǎn)存緩沖區(qū),再開(kāi)啟新緩沖區(qū)作為緩沖,并記錄前一緩沖區(qū)。根據(jù)配置選項(xiàng)ETBE選擇輸出緩沖區(qū)中的獨(dú)立業(yè)務(wù)信息,還可以在發(fā)生異常中斷時(shí)輸出;可以在業(yè)務(wù)完畢時(shí)輸出;可以指定輸出文件位置和文件名稱(相當(dāng)于數(shù)據(jù)指令輸出模塊的功能)。該ETBE裝置的原理可以圖3所示,每個(gè)業(yè)務(wù)對(duì)象既是提供器,也是消耗器。每個(gè) ETBE裝置都對(duì)應(yīng)多個(gè)提供器和多個(gè)消耗器。ETBE裝置根據(jù)業(yè)務(wù)創(chuàng)建獨(dú)立的緩沖區(qū),根據(jù)選項(xiàng),選擇性輸出磁盤文件。圖4是根據(jù)本發(fā)明的一個(gè)實(shí)施例的數(shù)據(jù)管理裝置的工作流程圖。如圖4所示,步驟402,運(yùn)行時(shí)根據(jù)配置選項(xiàng)啟動(dòng)ETBE裝置,確定需要探測(cè)的業(yè)務(wù)和業(yè)務(wù)對(duì)象。步驟404,被探測(cè)的業(yè)務(wù)對(duì)象發(fā)起事件,其他業(yè)務(wù)對(duì)象響應(yīng)事件,并接著發(fā)起事件來(lái)完成業(yè)務(wù)。步驟406,為不同的業(yè)務(wù)分配緩沖區(qū),存儲(chǔ)對(duì)象的指定數(shù)據(jù)和事件順序。步驟408,判斷是否滿足配置選項(xiàng)輸出條件,在判斷結(jié)果為否時(shí),返回步驟404,在判斷結(jié)果為是時(shí),進(jìn)入步驟410。步驟410,輸出獨(dú)立業(yè)務(wù)的信息。圖5是根據(jù)本發(fā)明的一個(gè)實(shí)施例的數(shù)據(jù)管理裝置的工作流程圖。如圖5所示,首先定義裝置探測(cè)對(duì)象。假設(shè)客戶要求探測(cè)業(yè)務(wù)流程A,在流程結(jié)束后輸出流程信息。步驟502,在配置文件中配置選項(xiàng),可以選在業(yè)務(wù)流程A中的默認(rèn)業(yè)務(wù)對(duì)象集合和各業(yè)務(wù)對(duì)象默認(rèn)觀測(cè)數(shù)據(jù),也可以選擇業(yè)務(wù)中部分業(yè)務(wù)對(duì)象作為探針。步驟504,客戶可以對(duì)配置文件進(jìn)行配置。步驟506,系統(tǒng)運(yùn)行時(shí)讀取配置文件,初始化ETBE,根據(jù)選項(xiàng)開(kāi)啟業(yè)務(wù)對(duì)象探針屬性,進(jìn)行檢測(cè)。步驟508,當(dāng)系統(tǒng)啟動(dòng)業(yè)務(wù)A流程時(shí),業(yè)務(wù)對(duì)象開(kāi)始發(fā)起事件,其他業(yè)務(wù)對(duì)象接收、 消耗并發(fā)起新事件來(lái)運(yùn)行業(yè)務(wù)A。步驟510,ETBE裝置接收對(duì)象和對(duì)象事件,在緩沖區(qū)集合中查找此次業(yè)務(wù)。
步驟512,不存在此次業(yè)務(wù),說(shuō)明此次業(yè)務(wù)為新發(fā)起業(yè)務(wù),則創(chuàng)建新緩沖區(qū),存儲(chǔ)數(shù)據(jù)。步驟514,找到此次業(yè)務(wù)的緩沖區(qū),將對(duì)象和事件存入緩沖區(qū)。步驟516,根據(jù)緩沖區(qū)數(shù)據(jù)地址判斷是否業(yè)務(wù)結(jié)束。如果未結(jié)束,返回步驟508,繼續(xù)檢測(cè)等待新事件。步驟518,如果業(yè)務(wù)結(jié)束,根據(jù)配置選項(xiàng)將緩沖區(qū)數(shù)據(jù)按格式轉(zhuǎn)儲(chǔ)為本地文件。綜上所述,通過(guò)以上技術(shù)方案,在軟件系統(tǒng)中引入debug相關(guān)的探測(cè)、信息采集等裝置,可由用戶根據(jù)業(yè)務(wù)需要進(jìn)行定義追蹤范圍,選擇觀測(cè)數(shù)據(jù),無(wú)需重新編譯。每個(gè)業(yè)務(wù)對(duì)象可以配置為探針,觀測(cè)范圍廣泛、全面,輸出的信息以業(yè)務(wù)為單元,不以整個(gè)軟件系統(tǒng)運(yùn)行的時(shí)間順序輸出,業(yè)務(wù)信息完整、可讀性強(qiáng),業(yè)務(wù)輸出定義靈活,避免大規(guī)模IO文件讀寫(xiě)造成的效率問(wèn)題。以上所述僅為本發(fā)明的優(yōu)選實(shí)施例而已,并不用于限制本發(fā)明,對(duì)于本領(lǐng)域的技術(shù)人員來(lái)說(shuō),本發(fā)明可以有各種更改和變化。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
權(quán)利要求
1.一種數(shù)據(jù)管理裝置,其特征在于,包括業(yè)務(wù)對(duì)象探測(cè)模塊,在業(yè)務(wù)進(jìn)行時(shí),獲取業(yè)務(wù)對(duì)象以及其發(fā)起的事件,并將所述業(yè)務(wù)對(duì)象中的對(duì)象數(shù)據(jù)和發(fā)起所述事件的指令存儲(chǔ)到為所述業(yè)務(wù)分配的緩沖區(qū)中;數(shù)據(jù)指令輸出模塊,輸出所述緩沖區(qū)中存儲(chǔ)的所有對(duì)象數(shù)據(jù)和所有指令。
2.根據(jù)權(quán)利要求1所述的數(shù)據(jù)管理裝置,其特征在于,所述業(yè)務(wù)對(duì)象探測(cè)模塊在新發(fā)現(xiàn)發(fā)起事件的業(yè)務(wù)對(duì)象時(shí),將新發(fā)現(xiàn)的業(yè)務(wù)對(duì)象的對(duì)象數(shù)據(jù)和其發(fā)起事件的指令存儲(chǔ)到所述緩沖區(qū)中,根據(jù)所述新發(fā)現(xiàn)的業(yè)務(wù)對(duì)象的對(duì)象數(shù)據(jù)和指令在所述緩沖區(qū)的存儲(chǔ)地址,預(yù)留下一個(gè)獲取的業(yè)務(wù)對(duì)象的對(duì)象數(shù)據(jù)和指令的存儲(chǔ)地址,并根據(jù)所述新發(fā)現(xiàn)的業(yè)務(wù)對(duì)象的對(duì)象數(shù)據(jù)和指令來(lái)獲取下一個(gè)業(yè)務(wù)對(duì)象,如果此時(shí)所述業(yè)務(wù)完成,則將預(yù)留的存儲(chǔ)地址指向所述緩沖區(qū)的終止地址。
3.根據(jù)權(quán)利要求2所述的數(shù)據(jù)管理裝置,其特征在于,所述數(shù)據(jù)指令輸出模塊還根據(jù)所述預(yù)留的存儲(chǔ)地址,判斷所述業(yè)務(wù)是否已經(jīng)完成,并在所述業(yè)務(wù)完成或所述業(yè)務(wù)異常時(shí), 輸出所述緩沖區(qū)中存儲(chǔ)的所有對(duì)象數(shù)據(jù)和所有指令。
4.根據(jù)權(quán)利要求2所述的數(shù)據(jù)管理裝置,其特征在于,所述業(yè)務(wù)對(duì)象探測(cè)模塊在預(yù)定時(shí)間內(nèi)未獲取到所述下一個(gè)業(yè)務(wù)對(duì)象時(shí),則不再繼續(xù)等待獲取所述下一個(gè)業(yè)務(wù)對(duì)象,和/ 或在預(yù)定時(shí)間內(nèi)在所述緩存區(qū)未存儲(chǔ)新的對(duì)象數(shù)據(jù)或指令時(shí),則停止獲取所述業(yè)務(wù)中的業(yè)務(wù)對(duì)象。
5.根據(jù)權(quán)利要求1至4任一項(xiàng)所述的數(shù)據(jù)管理裝置,其特征在于,還包括探測(cè)設(shè)置模塊,設(shè)置所述業(yè)務(wù)中需探測(cè)的業(yè)務(wù)對(duì)象,以及所述需探測(cè)業(yè)務(wù)對(duì)象中的需探測(cè)的對(duì)象數(shù)據(jù);所述業(yè)務(wù)對(duì)象探測(cè)模塊僅在所述業(yè)務(wù)對(duì)象屬于所述需探測(cè)的業(yè)務(wù)對(duì)象時(shí),獲取所述業(yè)務(wù)對(duì)象,并僅在所述業(yè)務(wù)對(duì)象中的對(duì)象數(shù)據(jù)屬于所述需探測(cè)的對(duì)象數(shù)據(jù)時(shí),存儲(chǔ)所述業(yè)務(wù)對(duì)象的對(duì)象數(shù)據(jù)。
6.一種數(shù)據(jù)管理方法,其特征在于,包括步驟202,在業(yè)務(wù)進(jìn)行時(shí),獲取業(yè)務(wù)對(duì)象以及其發(fā)起的事件,并將所述業(yè)務(wù)對(duì)象中的對(duì)象數(shù)據(jù)和發(fā)起所述事件的指令存儲(chǔ)到為所述業(yè)務(wù)分配的緩沖區(qū)中;步驟204,輸出所述緩沖區(qū)中存儲(chǔ)的所有對(duì)象數(shù)據(jù)和所有指令。
7.根據(jù)權(quán)利要求6所述的數(shù)據(jù)管理方法,其特征在于,所述步驟202具體包括在新發(fā)現(xiàn)發(fā)起事件的業(yè)務(wù)對(duì)象時(shí),將新發(fā)現(xiàn)的業(yè)務(wù)對(duì)象的對(duì)象數(shù)據(jù)和其發(fā)起事件的指令存儲(chǔ)到所述緩沖區(qū)中,根據(jù)所述新發(fā)現(xiàn)的業(yè)務(wù)對(duì)象的對(duì)象數(shù)據(jù)和指令在所述緩沖區(qū)的存儲(chǔ)地址,預(yù)留下一個(gè)獲取的業(yè)務(wù)對(duì)象的對(duì)象數(shù)據(jù)和指令的存儲(chǔ)地址,并根據(jù)所述新發(fā)現(xiàn)的業(yè)務(wù)對(duì)象的對(duì)象數(shù)據(jù)和指令來(lái)獲取下一個(gè)業(yè)務(wù)對(duì)象,如果此時(shí)所述業(yè)務(wù)完成,則將預(yù)留的存儲(chǔ)地址指向所述緩沖區(qū)的終止地址。
8.根據(jù)權(quán)利要求7所述的數(shù)據(jù)管理方法,其特征在于,所述步驟204還包括根據(jù)所述預(yù)留的存儲(chǔ)地址,判斷所述業(yè)務(wù)是否已經(jīng)完成,并在所述業(yè)務(wù)完成或所述業(yè)務(wù)異常時(shí),輸出所述緩沖區(qū)中存儲(chǔ)的所有對(duì)象數(shù)據(jù)和所有指令。
9.根據(jù)權(quán)利要求7所述的數(shù)據(jù)管理方法,其特征在于,所述步驟202還包括在預(yù)定時(shí)間內(nèi)未獲取到所述下一個(gè)業(yè)務(wù)對(duì)象時(shí),則不再繼續(xù)等待獲取所述下一個(gè)業(yè)務(wù)對(duì)象,和/或在預(yù)定時(shí)間內(nèi)在所述緩存區(qū)未存儲(chǔ)新的對(duì)象數(shù)據(jù)或指令時(shí),則停止獲取所述業(yè)務(wù)中的業(yè)務(wù)對(duì)象。
10.根據(jù)權(quán)利要求6至9任一項(xiàng)所述的數(shù)據(jù)管理方法,其特征在于,在所述步驟202之前,還包括設(shè)置所述業(yè)務(wù)中需探測(cè)的業(yè)務(wù)對(duì)象,以及所述需探測(cè)業(yè)務(wù)對(duì)象中的需探測(cè)的對(duì)象數(shù)據(jù);所述步驟202具體包括僅在所述業(yè)務(wù)對(duì)象屬于所述需探測(cè)的業(yè)務(wù)對(duì)象時(shí),獲取所述業(yè)務(wù)對(duì)象,并僅在所述業(yè)務(wù)對(duì)象中的對(duì)象數(shù)據(jù)屬于所述需探測(cè)的對(duì)象數(shù)據(jù)時(shí),存儲(chǔ)所述業(yè)務(wù)對(duì)象的對(duì)象數(shù)據(jù)。
全文摘要
本發(fā)明提供一種數(shù)據(jù)管理裝置和一種數(shù)據(jù)管理方法,其中,數(shù)據(jù)管理裝置包括業(yè)務(wù)對(duì)象探測(cè)模塊,在業(yè)務(wù)進(jìn)行時(shí),獲取業(yè)務(wù)對(duì)象以及其發(fā)起的事件,并將所述業(yè)務(wù)對(duì)象中的對(duì)象數(shù)據(jù)和發(fā)起所述事件的指令存儲(chǔ)到為所述業(yè)務(wù)分配的緩沖區(qū)中;數(shù)據(jù)指令輸出模塊,輸出所述緩沖區(qū)中存儲(chǔ)的所有對(duì)象數(shù)據(jù)和所有指令。通過(guò)該技術(shù)方案,可以通過(guò)緩沖區(qū),以業(yè)務(wù)為單元而非時(shí)間來(lái)輸出存儲(chǔ)的對(duì)象數(shù)據(jù)和指令,保證用戶可以集中對(duì)具體業(yè)務(wù)中的問(wèn)題進(jìn)行分析處理。
文檔編號(hào)G06F9/44GK102360289SQ20111029560
公開(kāi)日2012年2月22日 申請(qǐng)日期2011年9月29日 優(yōu)先權(quán)日2011年9月29日
發(fā)明者劉曉博 申請(qǐng)人:用友軟件股份有限公司