999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

Domino自動分庫功能的實現與應用

2013-12-31 00:00:00蘇慶林,張越峰
中國管理信息化 2013年15期

[摘 要] 本文從實際應用的角度,討論了基于Domino平臺的協同辦公應用中數據庫膨脹的原因以及解決方案。從技術實現的角度,進行了分析設計;結合LS開發技術,討論了實現功能的通用方法和步驟,給出了實際應用的實例和效果供參考。

[關鍵詞] 分庫;入口庫;文檔庫;代理

doi : 10 . 3969 / j . issn . 1673 - 0194 . 2013 . 15. 035

[中圖分類號] TP317.1 [文獻標識碼] A [文章編號] 1673 - 0194(2013)15- 0054- 03

在大慶油田協同辦公領域,基于Domino的B/S架構應用了許多年,隨著協同辦公系統在油田應用的深入,各類業務數據不斷增長,Domino數據庫不斷膨脹,甚至超過最大64G的限制。當數據庫里數據達到一定程度后,數據庫讀、寫性能明顯下降,以至于會影響整個應用系統的性能。雖然Domino本身提供歸檔等功能,但只能在一定程度上緩解數據庫膨脹問題。對于要求一直在線訪問的數據,并且數據量增長迅速的應用,歸檔則無能為力。本文主要討論在Domino平臺上,充分利用其開發和應用方面的特性,結合以往的實際經驗,實現一種能夠根據設定的數據量自動分庫,同時對應用透明的功能。

1 Domino平臺簡介

Domino是一個群件平臺,提供了一個簡化的、高安全性的實時工作環境,版本由4.X到8.X,平臺功能不斷升級和增強。在企業中利用其強大的業務應用、協作應用和通訊應用,能快速開發行政辦公、業務管理以及個人事務處理等系統,提高了員工的工作效率,簡化了業務流程,提高了企業業務的響應能力。

2 設計實現

進行基于Domino的應用開發,主要使用Domino的數據庫對象。數據庫對象集數據存儲、表單、視圖、代理等于一身,應用的開發可以使用一個或多個數據庫。為了降低開發難度,提高開發效率,大多選擇一個數據庫進行應用開發。因此,數據和設計元素都存儲在這個數據庫中,庫數據量的膨脹就不可避免。

2.1 分析

在我們企業中采用Domino的B/S架構進行開發和應用,要解決數據庫數據量快速膨脹問題,同時不增加開發難度,本文對數據庫的存儲、讀取以及安全控制等進行分析。

(1)Domino的安全控制是分層的,只有通過對服務器、數據庫、文檔以及域的正確授權才能正常訪問信息。因此分庫后的新庫,要與原數據庫的訪問權限、文檔的授權方式保持一致,才能保證用戶正常訪問數據庫,保障文檔的個性化授權可用。

(2)Domino的Web應用是把設計元素轉換成瀏覽器能夠運行的標準的HTML進行展示;在存儲時,服務器獲取前端表單控件中的數據,與后端表單中的域對應,然后按照后端表單的設計方式存儲在數據庫里。因此,分庫后必須按照這種方式進行訪問和存儲。

(3)Domino數據庫的膨脹是由文檔附件、文檔域過多引起的。控制域的數量、不保存附件,然后定期進行壓縮處理,在同等文檔數的情況下,數據庫年膨脹率僅為10%左右。

2.2 設計

經過以上兩個方面的分析后,結合實際的應用經驗建立了如圖1所示的應用框架。這個框架中包括Index庫(訪問入口庫)、模板庫和運行時的文檔庫。

(1)以Index庫作為訪問入口,負責根據配置文檔所記錄的文檔庫名跳轉到文檔庫訪問真正的文檔;建立定時代理檢測配置文檔的分庫閾值與當前文檔庫的尺寸對比,超出則根據模板新建一個文檔庫,用新庫名替換配置文檔中所存儲的庫名;Index庫必須建立用于文檔分類、全文索引等所需的設計元素。

(2)建立文檔庫模板,在檔庫模板中創建必需的設計元素以及回寫代理,并對模板進行必要的用戶訪問權限配置。

(3)在文檔庫中創建文檔時,回寫代理要把文檔權限寫回到與之對應的Index庫中的文檔里,保證文檔權限的訪問正確性。

2.3 功能實現

2.3.1 Index(訪問入口庫)

(1)建立一個表單,表單里放置subject、creatdate、category等用于存儲應用數據的域,放置reader、author等用于安全控制的安全域,同時放入內置HTML,內容為

“計算的值”設置為URL域。

(2)建立數據庫簡要表,保存文檔庫的數據庫名稱,主要代碼如下:

Set proDoc = thisDb.GetProfileDocument(thisDoc.F_Form(0))

Call thisDoc.RemoveItem(\"F_Form\")

Call thisDoc.CopyAllItems(proDoc,True)

Call DocumentSave(proDoc,\"\",True)

(3)建立定時檢測代理,檢測文檔數據庫的大小,與設定值比較,超過設定值則建立新庫,主要代碼如下:

Set prodoc = db.GetProfileDocument(\"FM_Configure\")

DocDBName=prodoc.DDName(0)'簡要表中保存的文檔數據庫名

DocDSize=prodoc.DDSize(0)'簡要表中保存的文檔數據庫大小閾值

DocDtemplete=prodoc.DDtemplete(0)'簡要表中保存的文檔數據庫模板名

Set db = ss.GetDatabase(\"\",\"DocDBName\")

if db.size>=DocDSize then‘判斷文檔庫尺寸是否大于等于設定的值

Dim template As New NotesDatabase( \"\",DocDtemplete)

Dim NewDb As NotesDatabase

newDBName=DocDBName+str(now)

Set NewDb=template.CreateFromTemplate(\"\",newDBName,True)

prodoc.DDName=newDBName

Call DocumentSave(proDoc,\"\",True)

end if

(4)用Domino的視圖和關聯表單創建概覽,在關聯表單的WebQueryOpen事件中加入獲取文檔數據名稱,并保存在表單的DocDName域里。概覽視圖的“創建”按鈕中加入如下Js代碼

path=path.substring(0,path.indexOf(\"Index數據庫名\")+4)+document.DocDName.value+\"/文檔庫中的文檔表單名?openForm\";

window.open(path);

這樣就能打開文檔庫中的表單來創建文檔。

2.3.2 模板庫

(1)根據實際文檔錄入、展示的需要建立文檔表單以及表單里的所有設計元素。

(2)在表單中創建操作按鈕:保存、編輯、修訂等。保存按鈕調用保存代理,代理執行流程如圖2所示。

創建主文檔保存后,要重新加載該文檔,這樣才能獲得這個文檔的ID。URL的格式為:http://域名/當前庫名.nsf/0/文檔庫當前文檔id?opendocument。文檔庫中的文檔與Index的文檔(主文檔)用文檔庫中的文檔ID進行關聯,執行一些相關聯的操作等,主要代碼如下:

Call DocumentSaveEx(doc,\"\",True,True)'保存正式文檔

Call Sav_ReloadDoc(doc)'重新加載文檔

Set newDoc=viewnew.GetDocumentByKey(StrKey,True)'用保存在StrKey中的正式文檔ID查找主文檔

If newDoc Is Nothing Then '如果主文檔不存在

Set newDoc = dbnew.CreateDocument

newDoc.Form=\"FDocNew\"'用Index庫中的訪問入口表單創建文檔

newDoc.Subject=doc.Subject'把正式文檔的相關域值賦給入口表單

newDoc.F_Author=doc.F_Author

newDoc.F_Reader=doc.F_Reader'把正式文檔權限域值賦給入口文檔,使兩個文檔的權限一致

Call newDoc.Save(True,True)'保存入口文檔

else

同樣的方式更新所有域值

end if

2.4 應用實例

這種分庫方式在系統的規章制度模塊進行了應用。規章制度模塊是行政管理的主要內容之一,按照績效考核的要求,每年各個部門要提交大量的管理文檔及文檔附件,數據庫的年膨脹速度為20G左右。

應用這項技術時,該模塊中已經存在大量的老文檔。為了兼容老文檔的瀏覽、查詢,在建立一個入口文檔表單的同時,需要創建一個視圖。這個視圖選擇兩個創建文檔的表單,一個是老文檔表單,另一個是入口文檔表單。這樣,以上介紹的技術就能夠全面應用,不需要做大的改動,實際應用界面展示了一個從入口庫到文檔庫的訪問過程。

應用這項技術后,原庫的文檔量在不斷增加,而庫的膨脹速度卻得到了控制,經過近8個月的觀察,入口數據庫的膨脹量僅為400M多一點,分庫很及時,創建、訪問文檔很順暢,達到了分庫的目的,解決了數據庫膨脹過快的問題。

3 結束語

隨著企業信息化的不斷深入,信息量也在不斷增大,在Domino環境下運行應用模塊,都面臨數據庫膨脹的問題。在合理設計單文檔的存儲結構,安全保護附件內容的情況下,“附件”文件系統保存,輔助本文所討論的自動分庫技術,從實際應用效果來看,能夠解決大部分非結構化數據庫膨脹過快的問提。從實現技術看,本文只討論了Domino的LS實現方法。如果轉換成Java技術來實現,配合Domino提供的DIIOP服務,運行效率會進一步提升,應用范圍也將進一步擴大。

主要參考文獻

[1]李寧.Notes數據庫與關系型數據庫之間的整合在辦公自動化系統中的應用[J].數字技術與應用,2011(8)

[2]郭健.Lotus文件管理系統的應用研究[J].計算機工程應用技術,2012(7).

主站蜘蛛池模板: 国产美女在线观看| 精品国产香蕉伊思人在线| 国产一区二区三区夜色| 久久久精品国产亚洲AV日韩| 国产成人亚洲欧美激情| 成人午夜福利视频| 有专无码视频| 亚洲中文字幕无码mv| 精品少妇人妻无码久久| 国产精品天干天干在线观看| 亚洲综合激情另类专区| 2022国产91精品久久久久久| 国产理论一区| 国产精欧美一区二区三区| 国产精品久久久免费视频| 激情综合图区| 国产成人亚洲精品无码电影| 亚洲AⅤ无码日韩AV无码网站| 无码精品国产dvd在线观看9久| 中文字幕在线看| 韩国v欧美v亚洲v日本v| 国产丝袜第一页| 久久久精品无码一区二区三区| 国产精品手机在线观看你懂的| 免费一级成人毛片| 97影院午夜在线观看视频| 亚洲中文字幕日产无码2021| 天天综合网亚洲网站| 偷拍久久网| 亚洲天堂免费在线视频| 中文字幕人妻av一区二区| 国产爽妇精品| 国产精品香蕉在线观看不卡| 岛国精品一区免费视频在线观看| 五月婷婷丁香综合| 亚洲婷婷六月| 亚洲日本在线免费观看| 黄片一区二区三区| 久久综合伊人 六十路| 色视频国产| 伊人久久综在合线亚洲91| 日韩欧美中文字幕一本| 国产福利微拍精品一区二区| 日韩AV手机在线观看蜜芽| 欧美国产另类| 亚洲第一色视频| 毛片网站在线播放| 亚洲国内精品自在自线官| 亚洲AⅤ波多系列中文字幕| 欧美成人影院亚洲综合图| 成人亚洲国产| 四虎永久免费地址在线网站| 国产va欧美va在线观看| 欧美精品伊人久久| 91麻豆精品国产高清在线| 99无码中文字幕视频| 国产精品一区二区国产主播| 国产黑丝视频在线观看| 日韩A级毛片一区二区三区| 午夜精品久久久久久久2023| 一区二区午夜| 精品综合久久久久久97超人| 亚洲国产日韩在线观看| 国产在线自揄拍揄视频网站| 男人的天堂久久精品激情| hezyo加勒比一区二区三区| 一级毛片a女人刺激视频免费| 成AV人片一区二区三区久久| 九九九九热精品视频| 中文字幕在线日韩91| 久久a级片| 五月婷婷激情四射| 99久久国产自偷自偷免费一区| 美女潮喷出白浆在线观看视频| 亚洲AⅤ综合在线欧美一区| 亚洲精品欧美日本中文字幕| 黄色网站在线观看无码| 精品人妻一区二区三区蜜桃AⅤ| 亚洲人成网站日本片| 亚洲av无码人妻| 狠狠干综合| 伊人久久久久久久久久|