本發(fā)明涉及計(jì)算機(jī)
技術(shù)領(lǐng)域:
,具體地說是一種通用的數(shù)據(jù)追溯方法及系統(tǒng)。
背景技術(shù):
:現(xiàn)有計(jì)算機(jī)技術(shù)中,數(shù)據(jù)的來源是多種多樣的,很多時(shí)候,用戶需要對數(shù)據(jù)進(jìn)行了解和分析,比如erp軟件的使用者,用戶需要牢記每個(gè)數(shù)據(jù)的來源,通過記憶數(shù)據(jù)來源來直觀清晰的了解當(dāng)前數(shù)據(jù)是從哪里來,經(jīng)過了怎樣的處理,但是這種追溯方式誤差性較大,同時(shí)由于數(shù)據(jù)來源和構(gòu)成的不固定,需要經(jīng)常維護(hù)數(shù)據(jù)追溯代碼?;诖耍F(xiàn)提供一種通用的數(shù)據(jù)追溯方法及系統(tǒng),可以方便直觀的追溯數(shù)據(jù)的構(gòu)成及源頭數(shù)據(jù)的具體信息,極大方便了用戶對數(shù)據(jù)的了解和分析。技術(shù)實(shí)現(xiàn)要素:本發(fā)明的技術(shù)任務(wù)是針對以上不足之處,提供一種通用的數(shù)據(jù)追溯方法及系統(tǒng)。一種通用的數(shù)據(jù)追溯方法,其實(shí)現(xiàn)過程為,配置數(shù)據(jù)構(gòu)成追溯模塊,用于追溯目標(biāo)數(shù)據(jù)的數(shù)據(jù)構(gòu)成,并且多次循環(huán)調(diào)用,層層追溯數(shù)據(jù)構(gòu)成;配置數(shù)據(jù)源追溯模塊,用于追溯源數(shù)據(jù)信息,并展示源數(shù)據(jù)的信息。所述數(shù)據(jù)構(gòu)成追溯模塊將需要追溯的目標(biāo)數(shù)據(jù)的相關(guān)信息在目標(biāo)數(shù)據(jù)表中進(jìn)行描述,該目標(biāo)數(shù)據(jù)表中包括:標(biāo)識性的數(shù)據(jù)來源字段,該字段用于將數(shù)據(jù)追溯分類;唯一的構(gòu)成內(nèi)碼字段,該字段傳遞到數(shù)據(jù)構(gòu)成追溯模塊中用于查找具體構(gòu)成。所述數(shù)據(jù)構(gòu)成追溯模塊的相關(guān)信息在接口表中進(jìn)行描述,通過數(shù)據(jù)構(gòu)成追溯模塊展示目標(biāo)數(shù)據(jù)對應(yīng)的數(shù)據(jù)構(gòu)成,并且根據(jù)需要對構(gòu)成中源數(shù)據(jù)多次逐級追溯構(gòu)成,其實(shí)現(xiàn)步驟為:1)該數(shù)據(jù)構(gòu)成追溯模塊用于描述不同數(shù)據(jù)構(gòu)成接口,預(yù)置數(shù)據(jù)構(gòu)成接口相關(guān)程序集、類名、方法名、參數(shù)信息;2)根據(jù)數(shù)據(jù)來源選定數(shù)據(jù)構(gòu)成接口,傳入構(gòu)成內(nèi)碼參數(shù)進(jìn)行追溯具體數(shù)據(jù)構(gòu)成。所述步驟1)的具體過程為:首先預(yù)置數(shù)據(jù)的唯一標(biāo)識guid到目標(biāo)數(shù)據(jù)表,根據(jù)界面選擇目標(biāo)數(shù)據(jù),該目標(biāo)數(shù)據(jù)的guid值匹配目標(biāo)數(shù)據(jù)表,找到目標(biāo)數(shù)據(jù)對應(yīng)的數(shù)據(jù)來源及構(gòu)成內(nèi)碼。所述步驟2)的具體過程為:預(yù)置數(shù)據(jù)構(gòu)成接口信息到接口表,根據(jù)目標(biāo)數(shù)據(jù)表中獲取到的數(shù)據(jù)來源選定追溯數(shù)據(jù)構(gòu)成接口,構(gòu)成內(nèi)碼作為參數(shù)傳遞到選定的數(shù)據(jù)構(gòu)成接口中,該數(shù)據(jù)構(gòu)成接口從源數(shù)據(jù)所有相關(guān)表中獲取所需信息處理后返回,即可以展示出目標(biāo)數(shù)據(jù)相應(yīng)的數(shù)據(jù)構(gòu)成。當(dāng)數(shù)據(jù)構(gòu)成中源數(shù)據(jù)若依然存在數(shù)據(jù)構(gòu)成,則數(shù)據(jù)構(gòu)成追溯模塊繼續(xù)調(diào)用數(shù)據(jù)構(gòu)成接口再次追溯數(shù)據(jù)構(gòu)成,即:在數(shù)據(jù)構(gòu)成中選擇某個(gè)數(shù)據(jù)繼續(xù)作為目標(biāo)數(shù)據(jù),獲取該數(shù)據(jù)的guid標(biāo)識,重復(fù)步驟1)、步驟2)的內(nèi)容進(jìn)一步追溯該數(shù)據(jù)的數(shù)據(jù)構(gòu)成,以此類推多次追溯數(shù)據(jù)構(gòu)成。所述數(shù)據(jù)源追溯模塊將預(yù)置單元信息在源頭數(shù)據(jù)表中進(jìn)行描述,該預(yù)置單元信息包含單元內(nèi)碼、接口程序集、接口類、接口方法名、接口參數(shù)信息,在數(shù)據(jù)構(gòu)成中選擇一條源數(shù)據(jù)追溯詳細(xì)具體的信息并展示。與預(yù)置單元相對應(yīng)的,所述數(shù)據(jù)源追溯模塊描述若干數(shù)據(jù)源接口,基于該數(shù)據(jù)源接口進(jìn)行數(shù)據(jù)源追溯的過程為:數(shù)據(jù)構(gòu)成中每條源數(shù)據(jù)有單元內(nèi)碼字段,根據(jù)選定源數(shù)據(jù)的單元內(nèi)碼選定預(yù)置單元;數(shù)據(jù)構(gòu)成中每條源數(shù)據(jù)有歸屬單據(jù)內(nèi)碼作為唯一標(biāo)識,將歸屬單據(jù)內(nèi)碼作為參數(shù)傳入預(yù)置單元對應(yīng)的數(shù)據(jù)源接口,進(jìn)行一系列處理追溯出源數(shù)據(jù)具體信息并展示。數(shù)據(jù)源追溯的具體過程為:源頭數(shù)據(jù)表中描述不同的預(yù)置單元,獲取數(shù)據(jù)構(gòu)成中所選源數(shù)據(jù)的預(yù)置單元內(nèi)碼字段來選定源頭數(shù)據(jù)表中的預(yù)置單元,獲取數(shù)據(jù)構(gòu)成所選源數(shù)據(jù)的歸屬單元內(nèi)碼字段作為參數(shù)傳入預(yù)置單元對應(yīng)的接口中,數(shù)據(jù)源接口從數(shù)據(jù)源相關(guān)表中找出詳細(xì)信息處理后即可展示數(shù)據(jù)源的更加全面的內(nèi)容。一種通用的數(shù)據(jù)追溯系統(tǒng),包括數(shù)據(jù)構(gòu)成追溯模塊,用于追溯目標(biāo)數(shù)據(jù)的數(shù)據(jù)構(gòu)成,并且多次循環(huán)調(diào)用,層層追溯數(shù)據(jù)構(gòu)成;數(shù)據(jù)源追溯模塊,用于追溯源數(shù)據(jù)信息,并展示源數(shù)據(jù)的信息。本發(fā)明的一種通用的數(shù)據(jù)追溯方法及系統(tǒng)和現(xiàn)有技術(shù)相比,具有以下有益效果:本發(fā)明的一種通用的數(shù)據(jù)追溯方法及系統(tǒng),該發(fā)明對于用戶來說,有益于用戶快捷直觀的熟悉一個(gè)簡單數(shù)字背后復(fù)雜的業(yè)務(wù)邏輯處理問題,進(jìn)而了解相應(yīng)業(yè)務(wù);該發(fā)明對于開發(fā)者來說,具有良好的易用性和可擴(kuò)展性,開發(fā)者可以輕松的進(jìn)行擴(kuò)展,實(shí)現(xiàn)對新的模塊數(shù)據(jù)的追溯,大大減少了二次開發(fā)的工作量,實(shí)用性強(qiáng),適用范圍廣泛,具有很好的推廣應(yīng)用價(jià)值。附圖說明附圖1為本發(fā)明的實(shí)現(xiàn)流程圖。具體實(shí)施方式下面結(jié)合附圖及具體實(shí)施例對本發(fā)明作進(jìn)一步說明。如附圖1所示,本發(fā)明是提供一種通用的數(shù)據(jù)追溯方法,數(shù)據(jù)構(gòu)成接口極大的方便追溯目標(biāo)數(shù)據(jù)的數(shù)據(jù)構(gòu)成,并且可多次循環(huán)調(diào)用,層層追溯數(shù)據(jù)構(gòu)成。數(shù)據(jù)源接口極大的方便追溯源數(shù)據(jù)的詳細(xì)信息,可以輕松的同模塊或跨模塊展示源數(shù)據(jù)的所有需要了解的信息,而不必進(jìn)入數(shù)據(jù)源所在功能或模塊查看。其實(shí)現(xiàn)過程為,配置數(shù)據(jù)構(gòu)成追溯模塊,用于追溯目標(biāo)數(shù)據(jù)的數(shù)據(jù)構(gòu)成,并且多次循環(huán)調(diào)用,層層追溯數(shù)據(jù)構(gòu)成;配置數(shù)據(jù)源追溯模塊,用于追溯源數(shù)據(jù)信息,并展示源數(shù)據(jù)的信息。所述數(shù)據(jù)構(gòu)成追溯模塊將需要追溯的目標(biāo)數(shù)據(jù)的相關(guān)信息在目標(biāo)數(shù)據(jù)表中進(jìn)行描述,該目標(biāo)數(shù)據(jù)表中包括:標(biāo)識性的數(shù)據(jù)來源字段,該字段用于將數(shù)據(jù)追溯分類;唯一的構(gòu)成內(nèi)碼字段,該字段傳遞到數(shù)據(jù)構(gòu)成追溯模塊中用于查找具體構(gòu)成。所述數(shù)據(jù)構(gòu)成追溯模塊的相關(guān)信息在接口表中進(jìn)行描述,通過數(shù)據(jù)構(gòu)成追溯模塊展示目標(biāo)數(shù)據(jù)對應(yīng)的數(shù)據(jù)構(gòu)成,并且根據(jù)需要對構(gòu)成中源數(shù)據(jù)多次逐級追溯構(gòu)成,其實(shí)現(xiàn)步驟為:1)該數(shù)據(jù)構(gòu)成追溯模塊用于描述不同數(shù)據(jù)構(gòu)成接口,預(yù)置數(shù)據(jù)構(gòu)成接口相關(guān)程序集、類名、方法名、參數(shù)信息;2)根據(jù)數(shù)據(jù)來源選定數(shù)據(jù)構(gòu)成接口,傳入構(gòu)成內(nèi)碼參數(shù)進(jìn)行追溯具體數(shù)據(jù)構(gòu)成。所述步驟1)的具體過程為:首先預(yù)置數(shù)據(jù)的唯一標(biāo)識guid到目標(biāo)數(shù)據(jù)表,根據(jù)界面選擇目標(biāo)數(shù)據(jù),該目標(biāo)數(shù)據(jù)的guid值匹配目標(biāo)數(shù)據(jù)表,找到目標(biāo)數(shù)據(jù)對應(yīng)的數(shù)據(jù)來源及構(gòu)成內(nèi)碼。所述步驟2)的具體過程為:預(yù)置數(shù)據(jù)構(gòu)成接口信息到接口表,根據(jù)目標(biāo)數(shù)據(jù)表中獲取到的數(shù)據(jù)來源選定追溯數(shù)據(jù)構(gòu)成接口,構(gòu)成內(nèi)碼作為參數(shù)傳遞到選定的數(shù)據(jù)構(gòu)成接口中,該數(shù)據(jù)構(gòu)成接口從源數(shù)據(jù)所有相關(guān)表中獲取所需信息處理后返回,即可以展示出目標(biāo)數(shù)據(jù)相應(yīng)的數(shù)據(jù)構(gòu)成。當(dāng)數(shù)據(jù)構(gòu)成中源數(shù)據(jù)若依然存在數(shù)據(jù)構(gòu)成,則數(shù)據(jù)構(gòu)成追溯模塊繼續(xù)調(diào)用數(shù)據(jù)構(gòu)成接口再次追溯數(shù)據(jù)構(gòu)成,即:在數(shù)據(jù)構(gòu)成中選擇某個(gè)數(shù)據(jù)繼續(xù)作為目標(biāo)數(shù)據(jù),獲取該數(shù)據(jù)的guid標(biāo)識,重復(fù)步驟1)、步驟2)的內(nèi)容進(jìn)一步追溯該數(shù)據(jù)的數(shù)據(jù)構(gòu)成,以此類推多次追溯數(shù)據(jù)構(gòu)成。所述數(shù)據(jù)源追溯模塊將預(yù)置單元信息在源頭數(shù)據(jù)表中進(jìn)行描述,該預(yù)置單元信息包含單元內(nèi)碼、接口程序集、接口類、接口方法名、接口參數(shù)信息,在數(shù)據(jù)構(gòu)成中選擇一條源數(shù)據(jù)追溯詳細(xì)具體的信息并展示。與預(yù)置單元相對應(yīng)的,所述數(shù)據(jù)源追溯模塊描述若干數(shù)據(jù)源接口,基于該數(shù)據(jù)源接口進(jìn)行數(shù)據(jù)源追溯的過程為:數(shù)據(jù)構(gòu)成中每條源數(shù)據(jù)有單元內(nèi)碼字段,根據(jù)選定源數(shù)據(jù)的單元內(nèi)碼選定預(yù)置單元;數(shù)據(jù)構(gòu)成中每條源數(shù)據(jù)有歸屬單據(jù)內(nèi)碼作為唯一標(biāo)識,將歸屬單據(jù)內(nèi)碼作為參數(shù)傳入預(yù)置單元對應(yīng)的數(shù)據(jù)源接口,進(jìn)行一系列處理追溯出源數(shù)據(jù)具體信息并展示。數(shù)據(jù)源追溯的具體過程為:源頭數(shù)據(jù)表中描述不同的預(yù)置單元,獲取數(shù)據(jù)構(gòu)成中所選源數(shù)據(jù)的預(yù)置單元內(nèi)碼字段來選定源頭數(shù)據(jù)表中的預(yù)置單元,獲取數(shù)據(jù)構(gòu)成所選源數(shù)據(jù)的歸屬單元內(nèi)碼字段作為參數(shù)傳入預(yù)置單元對應(yīng)的接口中,數(shù)據(jù)源接口從數(shù)據(jù)源相關(guān)表中找出詳細(xì)信息處理后即可展示數(shù)據(jù)源的更加全面的內(nèi)容。在本發(fā)明中,使用targetdata表記錄需要追溯的目標(biāo)數(shù)據(jù)的基本信息,特別是數(shù)據(jù)來源source及構(gòu)成內(nèi)碼compose字段。獲取需要追溯的目標(biāo)數(shù)據(jù)的guid的值,匹配targetdata表中的guid字段,進(jìn)而獲取到相應(yīng)的source和compose字段值。targetdata表結(jié)構(gòu)如下。2.使用interface表記錄數(shù)據(jù)構(gòu)成接口的基本信息,根據(jù)targetdata中獲取的source值匹配interface表中的source值,確定要調(diào)用的數(shù)據(jù)構(gòu)成接口,將targetdata中獲取到的compose值作為主要參數(shù)傳入接口,確定數(shù)據(jù)構(gòu)成范圍,以展示目標(biāo)數(shù)據(jù)的數(shù)據(jù)構(gòu)成。interface表結(jié)構(gòu)如下:3.選擇數(shù)據(jù)構(gòu)成界面某個(gè)數(shù)據(jù)作為目標(biāo)數(shù)據(jù),獲取其guid值,再次與targetdata表中的guid匹配,獲取source值和compose值后,進(jìn)一步匹配interface表中的source值,選定數(shù)據(jù)構(gòu)成接口傳入compose參數(shù)完成二次構(gòu)成的追溯,如有需要,可以繼續(xù)實(shí)現(xiàn)三次、四次、五次……數(shù)據(jù)構(gòu)成追溯,直到目標(biāo)數(shù)據(jù)不再存在數(shù)據(jù)構(gòu)成。4.使用sourcedata表記錄預(yù)置單元的信息,獲取數(shù)據(jù)構(gòu)成中源數(shù)據(jù)的單元內(nèi)碼dynm選定預(yù)置單元,獲取數(shù)據(jù)構(gòu)成中源數(shù)據(jù)的單據(jù)內(nèi)碼djnm值作為主要參數(shù)傳入數(shù)據(jù)源接口,以展示源數(shù)據(jù)更具體的信息。sourcedata表結(jié)構(gòu)如下:名稱字段數(shù)據(jù)類型備注歸屬模塊ssmkvarchar(4)源數(shù)據(jù)歸屬模塊單元內(nèi)碼dynmvarchar(10)主鍵,預(yù)置單元內(nèi)碼單元編號dybhvarchar(40)預(yù)置單元編號單元名稱dymcvarchar(100)預(yù)置單元名稱程序集assemblyvarchar(300)源數(shù)據(jù)接口的程序集信息類classvarchar(300)源數(shù)據(jù)接口的類信息方法methodvarchar(300)源數(shù)據(jù)接口的方法信息參數(shù)paramatersvarchar(1024)源數(shù)據(jù)接口方法的參數(shù)信息以下列舉一個(gè)跨模塊追溯數(shù)據(jù)的例子對該發(fā)明做進(jìn)一步解釋:從網(wǎng)報(bào)單據(jù)中歸集一條數(shù)據(jù)a到預(yù)算表樣中,在預(yù)算表樣中追溯該數(shù)據(jù)a。從界面獲取數(shù)據(jù)a唯一標(biāo)識guid=‘80cae68b-70e3-4763-8ab2-8e1397907565’,根據(jù)guid值在targetdata中找到該數(shù)據(jù)數(shù)據(jù)來源source=‘3’,構(gòu)成內(nèi)碼compose=‘00000000000000000001’。2.在interface表中找到source為3的行對應(yīng)的接口信息,assembly=‘genersoft.tb.pub.control’,class=‘genersoft.tb.pub.control.tbzxsjgc’,method=‘lcgc’,parameters=‘[pscompose]::[psmode]’。反射調(diào)用接口方法傳入compose值,主要方法如下:3.通過數(shù)據(jù)構(gòu)成接口調(diào)用追溯出目標(biāo)數(shù)據(jù)的數(shù)據(jù)構(gòu)成,在構(gòu)成界面選中一條源數(shù)據(jù)b,獲取源數(shù)據(jù)b的單元內(nèi)碼dynm=‘ro’和單據(jù)內(nèi)碼djnm=‘f2ddebfd-21c7-4db6-8042-0e2ce5c3e7cc’,根據(jù)dynm在sourcedata表中確定需要使用的預(yù)置單元,獲取預(yù)置單元中接口信息assembly=‘genersoft.ro.ywcl.formcontroller.dll’,class=‘genersoft.ro.ywcl.formcontroller.billview’,method=‘viewbill’,parameters=‘[psbillid]::[psmode]’,將djnm值作為參數(shù)傳入接口。同數(shù)據(jù)構(gòu)成接口一樣,數(shù)據(jù)源接口也采用反射調(diào)用,獲取源數(shù)據(jù)b在網(wǎng)報(bào)模塊的詳細(xì)信息返回到預(yù)算界面直接展示。一種通用的數(shù)據(jù)追溯系統(tǒng),包括數(shù)據(jù)構(gòu)成追溯模塊,用于追溯目標(biāo)數(shù)據(jù)的數(shù)據(jù)構(gòu)成,并且多次循環(huán)調(diào)用,層層追溯數(shù)據(jù)構(gòu)成;數(shù)據(jù)源追溯模塊,用于追溯源數(shù)據(jù)信息,并展示源數(shù)據(jù)的信息。通過上面具體實(shí)施方式,所述
技術(shù)領(lǐng)域:
的技術(shù)人員可容易的實(shí)現(xiàn)本發(fā)明。但是應(yīng)當(dāng)理解,本發(fā)明并不限于上述的具體實(shí)施方式。在公開的實(shí)施方式的基礎(chǔ)上,所述
技術(shù)領(lǐng)域:
的技術(shù)人員可任意組合不同的技術(shù)特征,從而實(shí)現(xiàn)不同的技術(shù)方案。除說明書所述的技術(shù)特征外,均為本專業(yè)技術(shù)人員的已知技術(shù)。當(dāng)前第1頁12