本發(fā)明涉及檔案管理技術(shù)領(lǐng)域,尤其涉及一種基于XML的OAIS信息封裝方法及系統(tǒng)。
背景技術(shù):
針對(duì)目前檔案管理信息散亂、存儲(chǔ)缺失等問題,開放檔案信息系統(tǒng)(Open Archival Information System,OAIS)模型給出了檔案信息封裝的思路和框架,OAIS模型提供了關(guān)于檔案管理的環(huán)境和文字描述,是圖書、情報(bào)、檔案領(lǐng)域可以實(shí)際應(yīng)用的標(biāo)準(zhǔn)。
建立OAIS模型的數(shù)據(jù)基礎(chǔ)是封裝,按照檔案信息的職能將檔案封裝為不同類型的信息包,在OAIS模型中包含有三種信息包:提交信息包(SIP,Submission Information Package)、存檔信息包(AIP,Archival Information Package)和分發(fā)信息包(DIP,Dissemination Information Package),每個(gè)信息包通常包含有背景信息、內(nèi)容信息、描述信息等相關(guān)元數(shù)據(jù)。與傳統(tǒng)的數(shù)據(jù)庫設(shè)計(jì)與檔案掛接方式相比,OAIS模型無疑起到更好的長期保存和管理檔案的作用。然而,由于OAIS模型并未給出具體實(shí)施性建議,在具體實(shí)施時(shí),檔案的管理過程中會(huì)遇到很多問題。
在CCSDS(空間數(shù)據(jù)系統(tǒng)咨詢委員會(huì))提出OAIS模型以后,根據(jù)不同的應(yīng)用環(huán)境,不斷有學(xué)者或信息系統(tǒng)的研發(fā)人員提出一些實(shí)施方法,而針對(duì)檔案管理的實(shí)際環(huán)境,現(xiàn)有的OAIS模型在進(jìn)行檔案封裝時(shí)通常有選擇物理封裝、邏輯封裝、物理封裝與邏輯封裝并行三種方式,但上述三種封裝方式各自具有以下缺陷:
1.物理封裝的方式,可以很好地將文件數(shù)據(jù)和文件的元數(shù)據(jù)合為一體,但帶來的問題是,物理封裝方式難以進(jìn)行檢索利用,數(shù)據(jù)的封裝與解封裝會(huì)大大降低數(shù)據(jù)提取效率,每次獲取數(shù)據(jù)時(shí)都需要對(duì)數(shù)據(jù)報(bào)進(jìn)行解包,數(shù)據(jù)使用完畢后,還需要對(duì)數(shù)據(jù)進(jìn)行重新封裝。并且,根據(jù)用戶的不同需求,數(shù)據(jù)包的使用歷史日志也會(huì)被封裝入數(shù)據(jù)包中。因此,數(shù)據(jù)包的封裝和解封裝的時(shí)間開銷,會(huì)隨著信息系統(tǒng)的使用不斷增加。
2.邏輯封裝的方式,可以很好地解決效率問題,文件數(shù)據(jù)和元數(shù)據(jù)采取鏈接的形式封裝,通過鏈接建立起元數(shù)據(jù)和元數(shù)據(jù)之間、元數(shù)據(jù)和文件數(shù)據(jù)之間、文件數(shù)據(jù)和文件數(shù)據(jù)之間的邏輯結(jié)構(gòu)關(guān)系,這種方式取得了很好的效率,但邏輯關(guān)系很容易遭到破壞,在進(jìn)行數(shù)據(jù)遷移時(shí),數(shù)據(jù)存儲(chǔ)位置的變更,有可能會(huì)導(dǎo)致鏈接失效,而在海量信息的項(xiàng)目檔案管理中,鏈接失效導(dǎo)致需要對(duì)文件數(shù)據(jù)及元數(shù)據(jù)進(jìn)行重新組織封裝,將會(huì)是災(zāi)難性的。
3.物理封裝和邏輯封裝并行的方式,可以在二者的優(yōu)缺點(diǎn)之間取得更好的權(quán)衡,邏輯封裝的數(shù)據(jù)包用來檢索利用,物理封裝的數(shù)據(jù)報(bào)用于長期保存,在數(shù)據(jù)遷移時(shí),可以采用物理數(shù)據(jù)包對(duì)邏輯數(shù)據(jù)包重建。但這種方法也帶來了相應(yīng)的問題:一是數(shù)據(jù)量的加倍存儲(chǔ)浪費(fèi)了存儲(chǔ)空間,在云存儲(chǔ)方式中,企業(yè)用戶需要支付雙倍費(fèi)用來存儲(chǔ)這些數(shù)據(jù);二是在數(shù)據(jù)進(jìn)行維護(hù)或變更時(shí),物理數(shù)據(jù)包和邏輯數(shù)據(jù)包之間的數(shù)據(jù)同步會(huì)變得越來越繁瑣,如果同步產(chǎn)生差錯(cuò),那么數(shù)據(jù)包的重建和恢復(fù)就將失效,邏輯數(shù)據(jù)包的檢索結(jié)果也無法保證實(shí)時(shí)性。
隨著項(xiàng)目檔案數(shù)量不斷增大,檔案的長期存儲(chǔ)問題日益突出,而且當(dāng)檔案存儲(chǔ)于云端時(shí),數(shù)據(jù)的遷移非常容易對(duì)這些邏輯鏈接產(chǎn)生破壞,而這些信息如果采取物理封裝的方法,那么在進(jìn)行信息檢索時(shí),仍然會(huì)遇到封裝和解封裝的效率問題。因此,亟需一種封裝方法以解決檔案長期存儲(chǔ)及信息散亂、存儲(chǔ)缺失的問題。
技術(shù)實(shí)現(xiàn)要素:
為解決上述技術(shù)問題,本發(fā)明提供了一種基于XML的OAIS信息封裝方法及系統(tǒng)。
本發(fā)明一方面提供了一種基于XML的OAIS信息封裝方法,所述述封裝方法包括:
通過XML采集文件數(shù)據(jù)及元數(shù)據(jù),并按照所述文件數(shù)據(jù)及元數(shù)據(jù)的結(jié)構(gòu)關(guān)系進(jìn)行物理打包封裝,生成至少一個(gè)提交信息包,所述提交信息包為XML結(jié)構(gòu);
對(duì)所述提交信息包進(jìn)行鑒定、整編及歸檔,并利用XML將鑒定、整編及歸檔時(shí)產(chǎn)生的元數(shù)據(jù)采用物理封裝的方式打包封裝到經(jīng)過鑒定、整編及歸檔后的所述提交信息包中,生成至少一個(gè)存檔信息包,所述存檔信息包為XML結(jié)構(gòu);
根據(jù)用戶的請求指令,從所述存檔信息包中獲取目標(biāo)檔案數(shù)據(jù),并利用XML將所述目標(biāo)檔案數(shù)據(jù)采用物理封裝的方式打包封裝成至少一個(gè)分發(fā)信息包分發(fā)給用戶,所述分發(fā)信息包為XML結(jié)構(gòu)。
在一實(shí)施例中,按照所述文件數(shù)據(jù)及元數(shù)據(jù)的結(jié)構(gòu)關(guān)系進(jìn)行物理打包封裝,包括:
按照所述文件數(shù)據(jù)與文件數(shù)據(jù)之間的結(jié)構(gòu)關(guān)系、文件數(shù)據(jù)與元數(shù)據(jù)之間的結(jié)構(gòu)關(guān)系、以及元數(shù)據(jù)與元數(shù)據(jù)之間的結(jié)構(gòu)關(guān)系,進(jìn)行物理打包封裝。
在一實(shí)施例中,對(duì)所述提交信息包進(jìn)行鑒定,包括:
根據(jù)預(yù)設(shè)的歸檔范圍與保管期限表,判斷是否需要將所述提交信息包歸檔;
當(dāng)需要將所述提交信息包歸檔時(shí),獲取所述提交信息包的保管期限;
當(dāng)不需要將所述提交信息包歸檔時(shí),將所述提交信息包作為資料留存。
在一實(shí)施例中,在生成至少一個(gè)XML結(jié)構(gòu)的存檔信息包后,所述封裝方法還包括:
對(duì)所述存檔信息包進(jìn)行數(shù)據(jù)清洗,刪除不真實(shí)的數(shù)據(jù)和/或非目標(biāo)數(shù)據(jù);
將經(jīng)過數(shù)據(jù)清洗的存檔信息包轉(zhuǎn)換成XML結(jié)構(gòu)并載入XML數(shù)據(jù)庫。
在一實(shí)施例中,從所述存檔信息包中獲取目標(biāo)檔案數(shù)據(jù),包括:根據(jù)所述請求指令,運(yùn)行XQuery語句檢索查詢所述存檔信息包,獲取所述目標(biāo)檔案數(shù)據(jù)。
在一實(shí)施例中,所述封裝方法還包括:所述通過XML采集的文件數(shù)據(jù)及元數(shù)據(jù)包括網(wǎng)上錄入數(shù)據(jù)、和/或數(shù)據(jù)庫同步數(shù)據(jù)、和/或電子文檔和/或已知存檔信息包。
本發(fā)明另一方面提供了一種基于XML的OAIS信息封裝系統(tǒng),所述封裝系統(tǒng)包括:
提交信息包生成單元,用于通過XML采集文件數(shù)據(jù)及元數(shù)據(jù),并按照所述文件數(shù)據(jù)及元數(shù)據(jù)的結(jié)構(gòu)關(guān)系進(jìn)行物理打包封裝,生成至少一個(gè)提交信息包,所述提交信息包為XML結(jié)構(gòu);
存檔信息包生成單元,用于對(duì)所述提交信息包進(jìn)行鑒定、整編及歸檔,并利用XML將鑒定、整編及歸檔時(shí)產(chǎn)生的元數(shù)據(jù)采用物理封裝的方式打包封裝到經(jīng)過鑒定、整編及歸檔后的所述提交信息包中,生成至少一個(gè)存檔信息包,所述存檔信息包為XML結(jié)構(gòu);
分發(fā)信息包生成單元,用于根據(jù)用戶的請求指令,從所述存檔信息包中獲取目標(biāo)檔案數(shù)據(jù),并利用XML將所述目標(biāo)檔案數(shù)據(jù)采用物理封裝的方式打包封裝成至少一個(gè)分發(fā)信息包分發(fā)給用戶,所述分發(fā)信息包為XML結(jié)構(gòu)。
在一實(shí)施例中,所述提交信息包生成單元具體用于按照所述文件數(shù)據(jù)與文件數(shù)據(jù)之間的結(jié)構(gòu)關(guān)系、文件數(shù)據(jù)與元數(shù)據(jù)之間的結(jié)構(gòu)關(guān)系、以及元數(shù)據(jù)與元數(shù)據(jù)之間的結(jié)構(gòu)關(guān)系,進(jìn)行物理打包封裝。
在一實(shí)施例中,所述存檔信息包生成單元包括:
歸檔判斷模塊,用于根據(jù)預(yù)設(shè)的歸檔范圍與保管期限表,判斷是否需要將所述提交信息包歸檔;
元數(shù)據(jù)獲取模塊,用于當(dāng)需要將所述提交信息包歸檔時(shí),獲取所述提交信息包的保管期限;
資料留存模塊,用于當(dāng)不需要將所述提交信息包歸檔時(shí),保存所述提交信息包。
在一實(shí)施例中,所述封裝系統(tǒng)還包括:
數(shù)據(jù)清洗單元,用于對(duì)所述存檔信息包進(jìn)行數(shù)據(jù)清洗,刪除不真實(shí)的數(shù)據(jù)和/或非目標(biāo)數(shù)據(jù);
轉(zhuǎn)換單元,用于將經(jīng)過數(shù)據(jù)清洗的存檔信息包轉(zhuǎn)換成XML結(jié)構(gòu);
XML數(shù)據(jù)庫,用于存儲(chǔ)經(jīng)過數(shù)據(jù)清洗并轉(zhuǎn)換成XML結(jié)構(gòu)的所述存檔信息包。
在一實(shí)施例中,所述分發(fā)信息包生成單元包括:檢索查詢模塊,用于根據(jù)所述請求指令,運(yùn)行XQuery語句檢索查詢所述存檔信息包,獲取所述目標(biāo)檔案數(shù)據(jù)。
在一實(shí)施例中,所述通過XML采集的文件數(shù)據(jù)及元數(shù)據(jù)包括網(wǎng)上錄入數(shù)據(jù)、和/或數(shù)據(jù)庫同步數(shù)據(jù)、和/或電子文檔和/或已知存檔信息包。
本發(fā)明實(shí)施例具有以下有益效果:
采用XML作為具體實(shí)施OAIS模型的數(shù)據(jù)交換格式,可以屏蔽底層所采集數(shù)據(jù)的異構(gòu)性,無論采集數(shù)據(jù)來自于何種類型的數(shù)據(jù)庫系統(tǒng)或操作系統(tǒng),都統(tǒng)一為XML格式進(jìn)行采集和網(wǎng)絡(luò)傳輸。與此同時(shí),XML的多叉樹結(jié)構(gòu)非常適合存儲(chǔ)多維數(shù)據(jù),不管這些數(shù)據(jù)來自于網(wǎng)絡(luò)錄入、數(shù)據(jù)庫、電子檔案還是其他存檔信息包,都可以進(jìn)行再封裝,而不必考慮原來數(shù)據(jù)是否是異構(gòu)的。并且,由于XML本身以多叉樹文本形式存在,在物理上沒有任何壓縮、文本組合拼接等操作因此在基于XML的OAIS模型中,只需將存檔信息包再次采用XML進(jìn)行封裝,加入歸檔時(shí)所需的所有元數(shù)據(jù)(這些元數(shù)據(jù)以XML樹型形式封裝入原有的提交信息包中)即可,而不需要對(duì)原始生成的提交信息包解封裝,生成存檔信息包的過程簡單、高效。進(jìn)一步地,本發(fā)明實(shí)施例采用XML數(shù)據(jù)庫進(jìn)行多維數(shù)據(jù)存儲(chǔ),XML數(shù)據(jù)庫具備XML搜索引擎,可以直接運(yùn)行XQuery語句,完成對(duì)XML數(shù)據(jù)的快速檢索查詢。本發(fā)明實(shí)施例基于XML的OAIS信息封裝方法更具有靈活性,在具體技術(shù)實(shí)施時(shí),可以進(jìn)行再設(shè)計(jì),細(xì)化XML在OAIS模型中的具體技術(shù)應(yīng)用。另外,本發(fā)明實(shí)施例采用物理封裝的方式可以保障檔案的完整性和長期保存性。
附圖說明
為了更清楚地說明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1為本發(fā)明實(shí)施例基于XML的OAIS信息封裝方法的流程示意圖;
圖2為本發(fā)明實(shí)施例基于XML的OAIS信息封裝方法的具體實(shí)施圖;
圖3為本發(fā)明實(shí)施例基于XML的OAIS信息封裝系統(tǒng)的結(jié)構(gòu)示意圖;
圖4為本發(fā)明實(shí)施例存檔信息包生成單元2的結(jié)構(gòu)示意圖。
具體實(shí)施方式
下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例。基于本發(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
圖1為本發(fā)明實(shí)施例基于XML的OAIS信息封裝方法的流程示意圖,如圖1所示,本發(fā)明實(shí)施例提供的封裝方法主要包括以下步驟:
步驟S1、通過XML采集文件數(shù)據(jù)及元數(shù)據(jù),并按照采集到的文件數(shù)據(jù)及元數(shù)據(jù)的結(jié)構(gòu)關(guān)系進(jìn)行物理打包封裝,生成至少一個(gè)提交信息包,其中提交信息包為XML結(jié)構(gòu)。
通常來說,檔案的元數(shù)據(jù)和文件數(shù)據(jù)是不可分離的。在檔案管理領(lǐng)域中,對(duì)于紙質(zhì)檔案而言,檔案的元數(shù)據(jù)和文件數(shù)據(jù)是一體的,其元數(shù)據(jù)存儲(chǔ)在實(shí)體紙質(zhì)檔案上,或在對(duì)應(yīng)紙質(zhì)表格中有所記錄。脫離了元數(shù)據(jù),檔案就失去了產(chǎn)生的背景、環(huán)境和相關(guān)描述,檔案的真實(shí)性、完整性和有效性就無法保證。
步驟S2、對(duì)步驟S1中生成的提交信息包進(jìn)行鑒定、整編及歸檔,并利用XML將鑒定、整編及歸檔時(shí)產(chǎn)生的元數(shù)據(jù)采用物理封裝的方式打包封裝到經(jīng)過鑒定、整編及歸檔后的提交信息包中,生成至少一個(gè)存檔信息包,其中存檔信息包也為XML結(jié)構(gòu)。
存檔信息包由多個(gè)提交信息包共同轉(zhuǎn)化封裝而成的信息包,存檔信息包中的信息采集可能不止來自于同一個(gè)信息系統(tǒng),而有多個(gè)采集源頭,將需要整編到一起的相關(guān)提交信息包匯編和封裝到一起,所以存檔信息包通常是所含內(nèi)容較為完整的信息包。在存檔信息包中可能包含其他子存檔信息包,也可能被其他的存檔信息包所包含,它們之間的子屬關(guān)系可根據(jù)行業(yè)標(biāo)準(zhǔn)規(guī)范進(jìn)行劃分確定。
步驟S3、根據(jù)用戶的請求指令,從生成的存檔信息包中獲取目標(biāo)檔案數(shù)據(jù),并利用XML將該目標(biāo)檔案數(shù)據(jù)采用物理封裝的方式打包封裝成至少一個(gè)分發(fā)信息包分發(fā)給用戶,該分發(fā)信息包也為XML結(jié)構(gòu)。
分發(fā)信息包通常是存檔信息包的子集,需要根據(jù)用戶的實(shí)際需求從存檔信息包中進(jìn)行信息提取,然后將用戶所請求的目標(biāo)檔案以分發(fā)信息包的形式再分發(fā)給用戶。在分發(fā)信息包中,不必包含所有存檔信息包中的信息內(nèi)容,例如描述信息、背景信息可以按照需求和敏感要求,有選擇地進(jìn)行剔除,用戶最后得到的是關(guān)于檔案的有用的部分信息。這樣做一方面可以使用戶獲得的信息效率更高,不會(huì)存在很多冗余的無用信息,在敏感數(shù)據(jù)的安全和保護(hù)上可以得到保障;另一方面,在將分發(fā)信息包分發(fā)給用戶時(shí),可以減少網(wǎng)絡(luò)傳輸數(shù)據(jù)量,縮短傳輸時(shí)間,提高了傳輸效率。
在技術(shù)實(shí)施上,分發(fā)信息包和存檔信息包、提交信息包沒有太大分別,采用同樣的方式、結(jié)構(gòu)和內(nèi)容進(jìn)行組織封裝。通常地,分發(fā)信息包可能是存檔信息包的子集,其所有信息都來自于存檔信息包中,在使用完畢后,如果有需要將信息包的使用日志存儲(chǔ)歸檔的需求,可以選擇性地將日志信息記錄入存檔信息包中,如果使用日志僅是作為訪問日志記錄,并沒有存檔需求,可以只作為訪問日志存儲(chǔ)在數(shù)據(jù)庫中,不必封裝進(jìn)入存檔信息包存檔。
與傳統(tǒng)的數(shù)據(jù)庫設(shè)計(jì)與檔案掛接方式相比,OAIS模型無疑起到更好的長期保存和管理檔案的作用,本發(fā)明實(shí)施例采用XML作為具體實(shí)施OAIS模型的數(shù)據(jù)交換格式,可以屏蔽底層所采集數(shù)據(jù)的異構(gòu)性,無論采集數(shù)據(jù)來自于何種類型的數(shù)據(jù)庫系統(tǒng)或操作系統(tǒng),都統(tǒng)一為XML格式進(jìn)行采集和網(wǎng)絡(luò)傳輸。與此同時(shí),XML的多叉樹結(jié)構(gòu)非常適合存儲(chǔ)多維數(shù)據(jù),不管這些數(shù)據(jù)來自于網(wǎng)絡(luò)錄入、數(shù)據(jù)庫、電子檔案還是其他存檔信息包,都可以進(jìn)行再封裝,而不必考慮原來數(shù)據(jù)是否是異構(gòu)的。并且,由于XML本身以多叉樹文本形式存在,在物理上沒有任何壓縮、文本組合拼接等操作因此在基于XML的OAIS模型中,只需將存檔信息包再次采用XML進(jìn)行封裝,加入歸檔時(shí)所需的所有元數(shù)據(jù)(這些元數(shù)據(jù)以XML樹型形式封裝入原有的提交信息包中)即可,而不需要對(duì)原始生成的提交信息包解封裝,生成存檔信息包的過程簡單、高效。進(jìn)一步地,本發(fā)明實(shí)施例采用XML數(shù)據(jù)庫進(jìn)行多維數(shù)據(jù)存儲(chǔ),XML數(shù)據(jù)庫具備XML搜索引擎,可以直接運(yùn)行XQuery語句,完成對(duì)XML數(shù)據(jù)的快速檢索查詢。并且,本發(fā)明實(shí)施例采用物理封裝的方式可以保障檔案的完整性和長期保存性。
在步驟S1中,通過XML采集的文件數(shù)據(jù)及元數(shù)據(jù)的數(shù)據(jù)源包括:網(wǎng)上錄入的數(shù)據(jù)、數(shù)據(jù)庫同步數(shù)據(jù)、電子文檔及已知的存檔信息包。在對(duì)采集到的文件數(shù)據(jù)及元數(shù)據(jù)進(jìn)行物理打包封裝時(shí),需要按照文件數(shù)據(jù)與文件數(shù)據(jù)之間的結(jié)構(gòu)關(guān)系、元數(shù)據(jù)與元數(shù)據(jù)之間的結(jié)構(gòu)關(guān)系,以及元數(shù)據(jù)與文件數(shù)據(jù)之間的結(jié)構(gòu)進(jìn)行物理打包封裝,即將互相之間具有結(jié)構(gòu)關(guān)系的文件數(shù)據(jù)與文件數(shù)據(jù)打包封裝在一起,將互相之間具有結(jié)構(gòu)關(guān)系的元數(shù)據(jù)與元數(shù)據(jù)打包封裝在一起,并將互相之間具有結(jié)構(gòu)關(guān)系的文件數(shù)據(jù)與元數(shù)據(jù)打包封裝在一起。
本發(fā)明實(shí)施例提供的XML數(shù)據(jù)封裝方法是基于OAIS模型的,而在OAIS模型中描述了三種角色:檔案的生產(chǎn)者、保存者和利用者。在檔案的產(chǎn)生過程中,根據(jù)不同的角色劃分,會(huì)在不同階段產(chǎn)生不同的元數(shù)據(jù)。例如,某企業(yè)在開展一項(xiàng)目時(shí)通常會(huì)起草項(xiàng)目的詳細(xì)設(shè)計(jì)檔案,該檔案通常規(guī)定了整個(gè)項(xiàng)目的框架結(jié)構(gòu)、對(duì)象設(shè)計(jì)、工作流程和模塊實(shí)現(xiàn)的細(xì)節(jié)。在這個(gè)過程中,關(guān)于檔案的形成信息和背景信息都會(huì)記錄在檔案中,如:起草人、撰寫日期、文字編輯軟件、系統(tǒng)環(huán)境等等。項(xiàng)目檔案在撰寫完成后,還要再進(jìn)行討論、審核、修改,每次修改時(shí),都需要將修改日志記錄在檔案中,此階段又會(huì)產(chǎn)生修改日期、修改人、修改內(nèi)容等元數(shù)據(jù),而這些元數(shù)據(jù)都在未定稿歸檔之前的階段產(chǎn)生,因此將上述元數(shù)據(jù)及都打包封裝,作為針對(duì)生產(chǎn)者角色的提交信息包的組成部分。
在步驟S1中生成的提交信息包后,可以將提交信息包暫存至云存儲(chǔ)端,也可以直接進(jìn)入下一步驟進(jìn)行處理。
在步驟S2中,在對(duì)提交信息包進(jìn)行鑒定時(shí),通常需要先根據(jù)預(yù)設(shè)的歸檔范圍與保管期限表,判斷是否需要將步驟S1中生成的提交信息包歸檔。如果需要將該提交信息包歸檔,那么查找預(yù)設(shè)的歸檔范圍與保管期限表,獲取該提交信息包的保管期限,該保管期限即為鑒定過程中產(chǎn)生的其中一個(gè)元數(shù)據(jù)。如果不需要將上述的提交信息包歸檔,通常將該提交信息包作為資料留存。上述鑒定過程實(shí)施例中產(chǎn)生的元數(shù)據(jù)僅以保管期限為例進(jìn)行說明,并非用于對(duì)本發(fā)明的限制,在具體實(shí)時(shí),鑒定過程中也有可能產(chǎn)生除保管期限之外的其他元數(shù)據(jù)。
由于項(xiàng)目檔案貫穿于整個(gè)項(xiàng)目的管理、監(jiān)控和研發(fā)過程中,從可行性研究、需求分析、總體設(shè)計(jì)、詳細(xì)設(shè)計(jì)到最終的測試、驗(yàn)收等檔案都需要進(jìn)行鑒定、整編和歸檔等流程,在這些流程中會(huì)產(chǎn)生新的元數(shù)據(jù),例如檔案的檔號(hào)、保存期限、目錄號(hào)、鑒定人、整理人等相關(guān)背景數(shù)據(jù),這些信息都是在檔案利用時(shí)必需的元數(shù)據(jù),脫離這些元數(shù)據(jù),檔案本身的真實(shí)、完整和有效就不可證明。存檔信息包的形成過程包括從提交信息包中獲取所有檔案元數(shù)據(jù),再加入歸檔過程中產(chǎn)生的所有元數(shù)據(jù),產(chǎn)生了存檔信息包。一般來說,一個(gè)或多個(gè)提交信息包會(huì)轉(zhuǎn)換成為一個(gè)或多個(gè)存檔信息包的形式進(jìn)行保存。一個(gè)存檔信息包還可能會(huì)由多個(gè)其它的存檔信息包組成。
在一實(shí)施例中,生成至少一個(gè)存檔信息包后,本發(fā)明實(shí)施例提供的基于OAIS模型的XML數(shù)據(jù)封裝方法還包括一數(shù)據(jù)清洗步驟,即對(duì)生成的存檔信息包進(jìn)行數(shù)據(jù)清洗,刪除不真實(shí)的數(shù)據(jù)和/或非目標(biāo)數(shù)據(jù),刪除不真實(shí)數(shù)據(jù)或者非目標(biāo)數(shù)據(jù)后的存檔信息包的結(jié)構(gòu)可能會(huì)發(fā)生改變,無法存儲(chǔ)到XML數(shù)據(jù)庫中,因此需要將經(jīng)過數(shù)據(jù)清洗的存檔信息包轉(zhuǎn)換成XML結(jié)構(gòu)后再載入XML數(shù)據(jù)庫中。
一實(shí)施例中,在步驟S3中,從存檔信息包中獲取目標(biāo)檔案數(shù)據(jù)時(shí),通??梢愿鶕?jù)用戶的請求指令,直接運(yùn)行XQuery語句檢索相關(guān)存檔信息包,實(shí)現(xiàn)對(duì)XML數(shù)據(jù)的快速檢索查詢,來獲取目標(biāo)檔案數(shù)據(jù)。
在接收到用戶(即檔案信息利用者)提交的請求指令后,并不需將存檔信息包中的所有信息分發(fā)給用戶,只需按照用戶的實(shí)際需求,取出用戶所需的檔案數(shù)據(jù)組成分發(fā)信息包后再分發(fā)給用戶即可。以項(xiàng)目設(shè)計(jì)檔案為例,檔案的利用者通常是開發(fā)人員,設(shè)計(jì)檔案中的起草、修改日志、定稿信息都可以分發(fā)給開發(fā)人員,而檔案的歸檔、保管信息則沒有必要進(jìn)行分發(fā),那么在檔案利用時(shí),可以根據(jù)利用者的實(shí)際需求,從存檔信息包中提取出目標(biāo)檔案數(shù)據(jù)后,利用進(jìn)行XML對(duì)其進(jìn)行物理封裝生成分發(fā)信息包后再分發(fā)給用戶。
基于上述的對(duì)提交信息包、存檔信息包及分發(fā)信息包的封裝分析,在具體實(shí)施時(shí),檔案管理是采用物理封裝還是邏輯封裝,還是物理封裝和邏輯封裝并行的方式,取決于檔案管理的規(guī)模。隨著信息技術(shù)快速發(fā)展,檔案必然越來越復(fù)雜,長期保存問題必然越來越繁雜,因此從檔案管理的長期角度考慮,在本發(fā)明實(shí)施例中,檔案管理采取了物理封裝的方式。
本發(fā)明實(shí)施例給出了一種基于XML的OAIS信息封裝方案,如圖2所示。通過XML采集相關(guān)檔案信息,該檔案信息可能來自于網(wǎng)上錄入、數(shù)據(jù)庫同步或電子文檔的直接流轉(zhuǎn),同時(shí)還有其他存檔信息包的直接采集。采集后的原始檔案數(shù)據(jù)經(jīng)XML格式封裝成提交信息包,通過網(wǎng)絡(luò)傳輸?shù)皆贫诉M(jìn)行存儲(chǔ)。在進(jìn)行網(wǎng)絡(luò)傳輸時(shí),通常采用VPN或其他安全通道保障互聯(lián)網(wǎng)通信的安全性。數(shù)據(jù)采集完成后,需要對(duì)提交信息包中進(jìn)行鑒定、整理等處理,然后再次進(jìn)行XML格式封裝,形成存檔信息包,再次交于云端進(jìn)行存儲(chǔ)。通常,整理的過程會(huì)經(jīng)過數(shù)據(jù)清洗、轉(zhuǎn)換和載入,在云端一般保存在XML數(shù)據(jù)庫a中,最終的保存形式是XML結(jié)構(gòu)的存檔信息包。在客戶端的訪問,由用戶需求決定如何封裝DIP分發(fā)信息包,例如查詢,決策支持,或其他個(gè)性化服務(wù)的服務(wù)內(nèi)容不同,分發(fā)信息包的封裝方式也不同,查詢側(cè)重于找到相應(yīng)的目標(biāo)檔案數(shù)據(jù)分發(fā)給用戶,而決策支持則側(cè)重于信息數(shù)據(jù)的統(tǒng)計(jì),將最終的決策統(tǒng)計(jì)數(shù)據(jù)分發(fā)給用戶。聯(lián)機(jī)分析(OLAP)服務(wù)器b提供查詢和決策支持功能,OLAP服務(wù)器b基于XML多維數(shù)據(jù),針對(duì)特定的問題,進(jìn)行聯(lián)機(jī)數(shù)據(jù)訪問和分析,支持簡單的查詢和復(fù)雜的數(shù)據(jù)分析,側(cè)重于決策支持,可以提供簡單易懂的查詢結(jié)果。應(yīng)用服務(wù)器c提供界面UI、個(gè)性化服務(wù)和系統(tǒng)的數(shù)據(jù)接口,個(gè)性化服務(wù)會(huì)根據(jù)用戶的歷史操作分析用戶需求,定制符合用戶需求的檔案信息進(jìn)行推送。
基于與圖1所示的基于XML的OAIS信息封裝方法相同的發(fā)明構(gòu)思,本申請實(shí)施例還提供了一種基于XML的OAIS信息封裝系統(tǒng),如下面實(shí)施例所述。由于該數(shù)據(jù)封裝系統(tǒng)解決問題的原理與圖1中的封裝方法相似,因此該數(shù)據(jù)封裝系統(tǒng)的實(shí)施可以參見圖1的基于XML的OAIS信息封裝方法的實(shí)施,重復(fù)之處不再贅述。
在另一實(shí)施例中,本發(fā)明實(shí)施例還提供了一種基于XML的OAIS信息封裝系統(tǒng),其結(jié)構(gòu)如圖3所示,該系統(tǒng)包括:提交信息包生成單元1、存檔信息包生成單元2及分發(fā)信息包生成單元3。
其中,提交信息包生成單元1用于通過XML采集文件數(shù)據(jù)及元數(shù)據(jù),并按照上述文件數(shù)據(jù)及元數(shù)據(jù)的結(jié)構(gòu)關(guān)系進(jìn)行物理打包封裝,生成至少一個(gè)提交信息包,該提交信息包為XML結(jié)構(gòu)。
一般地,提交信息包生成單元1采集的文件數(shù)據(jù)及元數(shù)據(jù)的數(shù)據(jù)源有多種,例如網(wǎng)上錄入數(shù)據(jù)、和/或數(shù)據(jù)庫同步數(shù)據(jù)、和/或電子文檔和/或已知存檔信息包。
存檔信息包生成單元2用于對(duì)提交信息包生成單元1生成的提交信息包進(jìn)行鑒定、整編及歸檔,并利用XML將鑒定、整編及歸檔時(shí)產(chǎn)生的元數(shù)據(jù)采用物理封裝的方式打包封裝到經(jīng)過鑒定、整編及歸檔后的提交信息包中,生成至少一個(gè)存檔信息包,該存檔信息包也為XML結(jié)構(gòu)。
分發(fā)信息包生成單元3用于根據(jù)用戶的請求指令,從存檔信息包生成單元2生成的存檔信息包中獲取目標(biāo)檔案數(shù)據(jù),并利用XML將該目標(biāo)檔案數(shù)據(jù)采用物理封裝的方式打包封裝成至少一個(gè)分發(fā)信息包分發(fā)給用戶,該分發(fā)信息包也為XML結(jié)構(gòu)。
在一實(shí)施例中,提交信息包生成單元1在進(jìn)行物理打包封裝時(shí),通常利用XML按照文件數(shù)據(jù)與文件數(shù)據(jù)之間的結(jié)構(gòu)關(guān)系、文件數(shù)據(jù)與元數(shù)據(jù)之間的結(jié)構(gòu)關(guān)系、以及元數(shù)據(jù)與元數(shù)據(jù)之間的結(jié)構(gòu)關(guān)系進(jìn)行物理打包封裝。
一實(shí)施例中,本發(fā)明實(shí)施例中的存檔信息包生成單元2的結(jié)構(gòu)如圖4所示,其主要包括:歸檔判斷模塊21、元數(shù)據(jù)獲取模塊22及資料留存模塊23。歸檔判斷模塊21用于根據(jù)預(yù)設(shè)的歸檔范圍與保管期限表,判斷是否需要將上述提交信息包歸檔。元數(shù)據(jù)獲取模塊22用于當(dāng)需要將上述提交信息包歸檔時(shí),獲取該提交信息包的保管期限。資料留存模塊23用于當(dāng)不需要將上述提交信息包歸檔時(shí),保存該提交信息包。
一實(shí)施例中,本發(fā)明實(shí)施例提供的基于XML的OAIS信息封裝系統(tǒng)還包括:數(shù)據(jù)清洗單元4、轉(zhuǎn)換單元5及XML數(shù)據(jù)庫6。其中,數(shù)據(jù)清洗單元4用于對(duì)存檔信息包生成單元2生成的存檔信息包進(jìn)行數(shù)據(jù)清洗,刪除存檔信息包中所含的不真實(shí)的數(shù)據(jù)和/或非目標(biāo)數(shù)據(jù)。轉(zhuǎn)換單元5用于將經(jīng)過數(shù)據(jù)清洗的存檔信息包轉(zhuǎn)換成XML結(jié)構(gòu)的信息包。XML數(shù)據(jù)庫6用于存儲(chǔ)經(jīng)過數(shù)據(jù)清洗并轉(zhuǎn)換成XML結(jié)構(gòu)的存檔信息包。
在一實(shí)施例中,分發(fā)信息包生成單元3中通常含有一個(gè)檢索查詢模塊,其用于根據(jù)用戶提交的請求指令,運(yùn)行XQuery語句檢索查詢已經(jīng)保存的存檔信息包,獲取目標(biāo)檔案數(shù)據(jù)。
本發(fā)明實(shí)施例采用XML作為具體實(shí)施OAIS模型的數(shù)據(jù)交換格式,可以屏蔽底層所采集數(shù)據(jù)的異構(gòu)性,無論采集數(shù)據(jù)來自于何種類型的數(shù)據(jù)庫系統(tǒng)或操作系統(tǒng),都統(tǒng)一為XML格式進(jìn)行采集和網(wǎng)絡(luò)傳輸。與此同時(shí),XML的多叉樹結(jié)構(gòu)非常適合存儲(chǔ)多維數(shù)據(jù),不管這些數(shù)據(jù)來自于網(wǎng)絡(luò)錄入、數(shù)據(jù)庫、電子檔案還是其他存檔信息包,都可以進(jìn)行再封裝,而不必考慮原來數(shù)據(jù)是否是異構(gòu)的。并且,由于XML本身以多叉樹文本形式存在,在物理上沒有任何壓縮、文本組合拼接等操作因此在基于XML的OAIS模型中,只需將存檔信息包再次采用XML進(jìn)行封裝,加入歸檔時(shí)所需的所有元數(shù)據(jù)(這些元數(shù)據(jù)以XML樹型形式封裝入原有的提交信息包中)即可,而不需要對(duì)原始生成的提交信息包解封裝,生成存檔信息包的過程簡單、高效。進(jìn)一步地,本發(fā)明實(shí)施例采用XML數(shù)據(jù)庫進(jìn)行多維數(shù)據(jù)存儲(chǔ),XML數(shù)據(jù)庫具備XML搜索引擎,可以直接運(yùn)行XQuery語句,完成對(duì)XML數(shù)據(jù)的快速檢索查詢。
本領(lǐng)域內(nèi)的技術(shù)人員應(yīng)明白,本發(fā)明的實(shí)施例可提供為方法、系統(tǒng)、或計(jì)算機(jī)程序產(chǎn)品。因此,本發(fā)明可采用完全硬件實(shí)施例、完全軟件實(shí)施例、或結(jié)合軟件和硬件方面的實(shí)施例的形式。而且,本發(fā)明可采用在一個(gè)或多個(gè)其中包含有計(jì)算機(jī)可用程序代碼的計(jì)算機(jī)可用存儲(chǔ)介質(zhì)(包括但不限于磁盤存儲(chǔ)器、CD-ROM、光學(xué)存儲(chǔ)器等)上實(shí)施的計(jì)算機(jī)程序產(chǎn)品的形式。
本發(fā)明是參照根據(jù)本發(fā)明實(shí)施例的方法、設(shè)備(系統(tǒng))、和計(jì)算機(jī)程序產(chǎn)品的流程圖和/或方框圖來描述的。應(yīng)理解可由計(jì)算機(jī)程序指令實(shí)現(xiàn)流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結(jié)合。可提供這些計(jì)算機(jī)程序指令到通用計(jì)算機(jī)、專用計(jì)算機(jī)、嵌入式處理機(jī)或其他可編程數(shù)據(jù)處理設(shè)備的處理器以產(chǎn)生一個(gè)機(jī)器,使得通過計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備的處理器執(zhí)行的指令產(chǎn)生用于實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能的裝置。
這些計(jì)算機(jī)程序指令也可存儲(chǔ)在能引導(dǎo)計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備以特定方式工作的計(jì)算機(jī)可讀存儲(chǔ)器中,使得存儲(chǔ)在該計(jì)算機(jī)可讀存儲(chǔ)器中的指令產(chǎn)生包括指令裝置的制造品,該指令裝置實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能。
這些計(jì)算機(jī)程序指令也可裝載到計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備上,使得在計(jì)算機(jī)或其他可編程設(shè)備上執(zhí)行一系列操作步驟以產(chǎn)生計(jì)算機(jī)實(shí)現(xiàn)的處理,從而在計(jì)算機(jī)或其他可編程設(shè)備上執(zhí)行的指令提供用于實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能的步驟。
本發(fā)明中應(yīng)用了具體實(shí)施例對(duì)本發(fā)明的原理及實(shí)施方式進(jìn)行了闡述,以上實(shí)施例的說明只是用于幫助理解本發(fā)明的方法及其核心思想;同時(shí),對(duì)于本領(lǐng)域的一般技術(shù)人員,依據(jù)本發(fā)明的思想,在具體實(shí)施方式及應(yīng)用范圍上均會(huì)有改變之處,綜上所述,本說明書內(nèi)容不應(yīng)理解為對(duì)本發(fā)明的限制。