日本免费精品视频,男人的天堂在线免费视频,成人久久久精品乱码一区二区三区,高清成人爽a毛片免费网站

在線客服

數據庫系統論文

引論:我們為您整理了1篇數據庫系統論文范文,供您借鑒以豐富您的創作。它們是您寫作時的寶貴資源,期望它們能夠激發您的創作靈感,讓您的文章更具深度。

數據庫系統論文

數據庫系統論文:展望微軟下一代數據庫系統

微軟的下1代數據庫系統(代號Yukon)已經經浮出水面。這1版本的數據庫系統有不少的新特點。比如它使用的Transact-SQL將更為相符ANSI⑼九 SQL的標準,查詢語句將更靈便,更富表達性。Yukon允許程序員用.NET的語言,比如C#,來開發自定義函數(user-defined functions),存儲進程(stored procedures)以及觸發(triggers)。此外它還支撐W三的XQuery語言,支撐XML等等。

在Yukon的醞釀以及設計進程中,設計師對于下1代數據庫系統的編程能力下了良多力量。微軟內部的開發人員認為,下1代的數據庫系統必定要包含更多的對于稱編程模式,對于各種數據類型的查詢應當更靈便。所謂的對于稱編程模式是指對于于常見的數據庫操作,用戶應當可使用XML,.NET或者是傳統的T-SQL程序

在這類設計思想的指點下,Yukon在許多方面有了大的拓展。首先,.NET的公用語言執行環境(CLR)被融會到了新的系統里;第2,融會進來的.NET提供了良多強有力的數據庫對于象;第3,XML在這版的數據庫里患上到了更好以及更深的支撐;第4,數據庫的服務器端提供了對于XML查詢(XQuery)和XML規范定義語言XSD的支撐;第5,傳統意義上的T-SQL也患上到了進1步的增強

新的編程模式以及新增的語言1道使患上數據庫利用的開發有了更豐厚的選擇。新的體系結構使患上咱們更易構造的,可擴大的,不亂的利用,并且開發的效力也患上到了極大的提高。Yukon中還引入了全新的服務(Service Broker),1種散布式的1部動靜傳遞機制,現在讓咱們先看看編程語言方面的增強。

Yukon對于微軟的T-SQL有了良多的增強。用戶可以在Yukon的Online匡助中患上到詳細的信息,限于燕服,在此不逐一列了。新增的特點表明了微軟對于ANSI⑼九 SQL標準的進1步支撐,同時也反應了對于泛博用戶反饋意見的相應。新的增強主要是為了使查詢更富有表達性。有幾種新增的查詢可以很好的籠蓋用戶經常使用的1些查詢類型。比如說,遞歸查詢可以返回有層次機構的結果聚攏(hierarchical resultset)或者是a bill of materials。

Yukon提供了新的PIVOT以及UNPIVOT操作。這些操作的輸入是表格類的表達式(table-valued expression),其輸出結果一樣是表格類型。PIVOT操作是將行轉變成列,并進行聚攏和其他的數學操作。在輸入的表格中它將以1個給定的列為軸進行旋轉,其成生的表格的列是有不同值的原旋轉列。這類操作使患上生成的表格變寬(假想1個五列一00行的輸入表格,其結果多是一00列五行的表格)。UNPIVOT是PIVOT的逆操作。它將輸入表格的列轉換為行。其結果是使輸入表格變窄。

Yukon的異樣捕捉以及處理機制也有了很大的變化。它使用了以及.NET1致的TRY/CATCH結構。致使交易終止的過錯將會被捕捉并且處理。此外為了配合.NET的框架提供的安全,復制,提醒服務和XML等等功能(security, replication, Notification Services, XML),Yukon引入了不少新的語言構造。.NET在服務器真個技術也極大了影響了SQL數據庫的研制以及發展。

在SQL服務器中使用.NET來編程

程序員可以在Yukon中使用以及.NET兼容的品質程序語言進行開發,應用,C#這1類的語言編寫自定義函數(user-defined functions),存儲進程(stored procedures)以及觸發(triggers)。此外,應用管理程序(managed code)還可以開發自定義函數(UDTs),聚攏(aggregates),函數(functions)。公用語言執行環境(CLR)是.NET的核心,它是1切基于.NET開發的程序的運行平臺。它提供了諸多的服務,比照實時編譯(just-in-time compilation),內存管理以及分配(memory management and allocation),類型安全強制(type safety enforcement),異樣處理(exception handling),線程管理(thread management)和安全檢查(security)等等(CLR對于于.NET程序就好比Java的虛擬機對于于Java程序1樣)。在Yukon中,.NET程序將以及在CLR中完整相同的方式運行。

將CLR整合到Yukon中的益處是不言而喻的。Yukon取得了CLR的各種有利的功能,如自動的內存管理,資源分配,垃圾回收等等。Yukon提供了1套.NET assemblies,這樣允許程序員直接操作數據庫對于象。數據的操作是通過1套特殊的來實現的。這些新的法子以及原來的無比類似,程序員應當感到無比的熟識以及親切。細1點說,咱們可以把Yukno集成為了CLR的益處歸結為下列幾點:

一.豐厚了編程模式。CLR兼容的品質程序語言比T-SQL要豐厚的多,也強大的多。它們提供的功能以及特點是以往SQL程序員不敢想象的。另外,Yukon還提供了1系列的類庫(Framework APIs),這些類庫的功能比之前SQL內置的功能強大的多

二.增強了安全性。管理程序運行于數據苦支撐的CLR環境之中。這使患上數據庫的對于象比以往的擴大存儲進程(extended stored procedures)更安全

三.用戶自定義的類型以及聚攏。通過對于CLR的集成,這兩個新增的對于象擴大了SQL數據庫的查詢以及存儲能力

四.為今后的Visual Studio®開發環境指明了方向。今后程序員可以向開發其他.NET程序那樣用或者是C#這種的品質語言進行數據庫的開發,調試工作。

五.機能的增強。在1些情況下,.NET語言的編譯以及執行可以提供比T-SQL更好的機能。

充沛開發CLR的潛能

在之前的SQL數據庫利用的開發中,服務器真個程序被限制于T-SQL。而在新的Yukon中,因為集成為了CLR,使患上開發工作變患上史無前例的容易以及利便。像以及C#這種的品質語言,支撐數組(Array),結構化的異樣處理(structured exception handling)和各種聚攏操作(Collections)。這些功能使患上程序員可以編寫更繁雜的邏輯以及計算工作。

更凸起的1點就是Visual Basic .NET and C# 是面向對于象的語言,它們本身所擁有的數據封裝(encapsulation),繼承(inheritance)以及多態性(polymorphism)是T-SQL所不能比擬的。在大型系統的開發中,這類基于模塊化開發機制的優勝性會更為顯明。它可以更好的組織你的源程序,增添代碼的重用性。將源程序依照邏輯瓜葛編譯成不同的assemblies以及n字域(namespaces)可以增強程序的組織性,讓程序員更利便的閱讀以及使用已經有的程序。

Yukon實現了3個層次的assemblies安全的管理節制。這類安全機制是對于以往基于用戶驗證以及授權機制以及新的CLR安全機制的有機合成

。新的3級管理層次為: 較高層次: 安全接觸(SAFE)。它只允許接觸以及計算數據

次高層次: 外部接觸(EXTERNAL_ACCESS)。它允許接觸外部的系統資源

低層次: 不安全接觸(UNSAFE)。只要不對于系統的不亂性造成影響,就不加限制。

在T-SQL以及管理程序(Managed code)之間的取舍

管理程序無比適于進行數字密集型的計算以及繁雜的邏輯處理。.NET對于于字符串 (String),規則表達式(regular expressions),過錯捕捉等等有著更好的支撐。此外.NET提供的上千個類(Class) 以及法子可以在自定義函數(user-defined functions),存儲進程(stored procedures)以及觸發(triggers)中很利便的使用。所以對于于有大量字符創操作,數學計算,日期運算,系統資源存取,品質加密運算,文件操作,圖象處理或者是XML的情景,管理的存儲進程,函數,觸發,聚攏要比傳統意義上的T-SQL等強大以及簡潔。

使用管理的程序的此外1個益處就是類型安全。在管理的程序執行以前,CLR要對于其進行檢查以保障它的安全運行。比如說,對于于1個內存讀寫的操作,CLR要先進行檢查以保障在讀取的時候沒有寫操作在進行。

在籌備編寫存儲進程,觸發,或者是UDFs以前,你要掂量各種情況,在傳統的T-SQL以及管理程序(Managed code)之間做出選擇。選擇的標準是你當前問題的具體特色。如果你的主要操作是數據存取和相對于簡單的邏輯運算,那末T-SQL則無比適合。對于于有大量數值計算和繁雜邏輯運算的情況,管理程序(Managed code)則更合用。

程序放置在甚么處所也是很癥結的1步。T-SQL以及管理程序(Managed code)都是在數據庫的引擎內運行。把.NET以及數據庫緊密放置在1起可以有效的施展服務器的硬件運算能力。固然是用SQL數據庫的Profile程序來丈量1下你的具體程序的運行機能,然后再做出抉擇。Yukon的Profile程序有了進1步的增強。可以更深層次的丈量SQL數據庫內的CLR的機能,并且會以更直觀的圖形方式來輸出對照測試結果。下面就讓咱們來具體看看Yukon中新增的1些功能。

用戶定義的類,函數以及聚攏(User-defined Types, Functions, and Aggregates)

Yukno支撐擴大的CLR的類系統。這些擴大的類可以在服務器端定義表(table),也能夠在客戶端進行數據操作。用戶自定義類型(UTDs)允許用戶擴大已經有的類。這些擴大的具體實現是用的管理程序(managed code)。比如說,你可以定義1些用于地輿空間的類型,1些特殊的金融類型或者是尤其的時間日期類型以適應你獨特的請求。

用.NET的術語來講,UTDs是結構(struct)或者是參考類型(reference type),而不是類(class)或者枚舉(enum)。這象征著內存的是用是由CLR節制優化的。無非,UTDs不支撐繼承以及多態性(inheritance and polymorphism)。它可以有公用或者是私有函數(public and private functions)。事實上,諸如限制檢查(constraint checking)應當由私有函數來完成。舉例來講吧,如果你想定義1個地輿空間的類型,這可能包括經度,緯度或許還有高度信息,你可以定義相應的私有成員來完成這1任務。這種型創立完成后,你可以把他注冊到SQL數據庫中。這個被編譯的DLL就會被寄存在SQL數據庫中。

用戶自定義函數(UDFs)有兩種類型:1種是標量值型的(scalar-valued),這類函數返回單1的值,如字符串,整數,比特等等。此外1種是表格值型的(Table-valued)。這類函數返回有1個或者多個列組成的數據聚攏。

Yukon允許用戶定義新的聚攏(aggregate)操作的能力遠遠超過了之前的版本。用戶用管理語言開發的聚攏可以被T-SQL或者是其他的管理語言調用。這些新開發的聚攏是.NET的類,它可以引用數據庫中存在的其他編譯好的類庫(Class Library)。你可使用用戶定義的聚攏將數據庫中的數據轉化為數值型變量。比如你最近的1次用戶調查的數據寄存到數據庫中,通過1個用戶定義的統計函數你可以患上到加權平均或者是標準偏差。

管理的存儲進程

這是1種管理程序,其工作方式就像傳統的存儲進程1樣。如果你但愿返回1個簡單的數據集以及(resultset)或者是只是進行1個數據操作(使用DML或者是DDL)。1旦被注冊到數據庫中,那末使用它就像是用1個普通的存儲進程那樣。將1段管理程序包裝成存儲進程的語法如下(基于現在初期的Yukon版本)

數據庫系統論文:分析數據庫系統的安全管理

摘 要:摘要:本文主要探討數據庫安全管理的訪問控制模型,通過分析改造數據庫實現數據庫安全,并對數據庫中間件(DBSAPI)進行了一些有益的探討。數據庫管理系統(Database Management System)是一種操縱和管理數據庫的大型軟件,主要用于建立、使用和維護數據庫。它對數據庫進行統一的管理和控制并保障數據庫的安全性和完整性。對數據庫系統進行安全評估有兩種方式:專家評估和系統評估工具。專家評估與系統評估工具比較,有許多優點,隨時隨地可以進行,專家的聰明才智和經驗也可以充分發揮。數據庫系統的定期安全評估則更多采用系統評估工具,如Nessus、NMAP等評估工具。由于系統不斷變化的特點,當系統狀態發生了變化,如一些新用戶的增加,用戶權限的修改,這時系統很可能出現新的安全隱患。專家對系統的安全評估是針對系統被評估時的狀態,而請專家定期評估,一是成本高,二是勞動強度大。但在系統狀態發生變化后,系統安全評估工具則可以重新對系統進行評估。

關鍵詞:關鍵詞:數據庫管理系統數據庫安全模型安全性數據庫安全數據庫中間件(DBSAPI)

中圖分類號:TP393.08 文獻標識碼:A 文章編號:

1. 訪問控制模型

訪問控制模型是從訪問控制的角度描述安全系統并建立安全模型的方法。主體依據某些控制策略或權限對客體本身或資源進行的不同授權訪問,稱為訪問控制,訪問控制的三要素為主體、客體和控制策略,它的內容則包括認證、控制策略實現和審計。目前,訪問控制模型可分為自主訪問控制(Discretionary

Access Control)、強制訪問控制(Mandatory Access control)和基于角色的訪問控制(Role Based Access

Control)。

自主訪問控制模型(DAC)的特點是:允許合法用戶以用戶或用戶組的身份訪問規定的客體并阻止非授權用戶訪問客體。DAC的主要表現形式為目錄式訪問控制、訪問控制表、訪問控制矩陣和面向過程的訪問控制。DAC的優點是簡單易操作,缺點是安全性較低。這是由DAC的特點導致,因操作系統無法區別哪種修改是用戶的合法操作還是病毒或黑客的非法操作,所以系統容易受到病毒感染和黑客攻擊。

強制訪問控制模型(MAC)的特點是:系統對訪問主體和受控對象實行強制訪問控制,系統先根據事先分配的安全級別屬性對訪問主體和受控對象的安全級別屬性進行比較,然后決定其是否可以進行訪問。由于MAC模型采用分級安全標識,從而實現了信息的單向流動,其較大的優點是有效地防止機密信息向下級泄漏及有效地保護數據的完整性。但缺點是使用不靈活,工作量大且管理不便,由于MAC模型過于強調保密性,因此其應用范圍也受到限制。

基于角色的訪問控制模型(RBAC)的特點是:將訪問權限于角色對應聯系起來,通過分配給用戶的適當角色,使用戶與訪問權限相聯系,即在RBAC中,角色的作用類似于中介,主體與客體的聯系通過中介來溝通。RBAC的優勢在于它將數據資源訪問許可封裝在各種角色中,不同的角色對應不同的用戶,角色或用戶可以靈活地轉換變化,而且RBAC也非常貼近日常生活。

2. 數據庫安全操作

2.1 數據庫驅動程序的安全擴展

結構化查詢語言的英文縮寫是SQL。在數據庫中的存取接口上,可使用擴展標準的SQL語言,執行對象定義、數據操縱、權限管理、流程控制等操作,從而實現對數據庫中機密信息的加密和完整性保護。實際工作中,對于關系數據庫的擴展操作,通常選用SQL DDL和SQL DML語言,同時,通過 ODBC、IDBC、BDE等數據庫程序控制存取數據庫中的表格、記錄和字段,進一步對用戶操作方面進行日志記錄和審計,從內部加強關系數據庫的存儲和存取安全。這種方式的好處是簡便易行,并且不會對數據庫系統的基本性能造成大的改變。

當進行安全擴展時,在常規數據庫驅動程序中增加審計日志管理、完整性驗證、密鑰管理和數據加解密安全擴展模塊,例如,數據庫審計日志和存儲加密密鑰等與安全相關的信息,從而提高數據庫的安全性。同時,增加加密算法設置、更新和主密鑰設置等安全屬性,進一步提高SQL語句的安全性。

2.2 數據庫安全數據視圖

標準的SQL Server 數據庫安全模型由用戶、SQL Server 登錄、權限和基本表組成,其安全認證通過數據庫對用戶所輸入的帳號和口令進行確認,它包括確認用戶的帳號是否有效、能否訪問系統、能夠訪問哪些數據等。此安全模型的特點是將權限賦予表,用戶在需要查詢及更改數據時,直接對表進行存取,只要用戶有對表的Select權限,便可以檢索表中所有的信息。然而,大多數數據庫中的數據是非常機密或涉及個人隱私的,這就要求對信息本身劃分為不同的保密級別,例如國家機密、商業秘密和個人隱私等就不能簡單地劃分為公開和保密兩類,而是需要更細致的分類,可細分為多級保密級或不同的保密級。在多級保密系統中,不同的保密級別被賦予不同的數據項,再根據數據項的不同細分項,給存取本數據項的操作賦予不同的級別。SQL Server通用安全模式顯然不能將數據項細分,這是因為用戶有對表的Select權限,可直接存取存儲數據的數據庫表。采用基于視圖的數據庫安全模型是解決問題的方法之一。在SQL中,把傳統的關系模型中的子模式稱為視圖(VIEW),視圖是從若干基本表和其他視圖構造出來的表。基本表為“實表”,是實際存放在數據庫中的表。視圖則稱為“虛表”。創建一個視圖時,只把視圖的定義存儲在數據詞典中,而不存儲視圖所對應的數據。在關系數據系統中為不同的用戶定義不同的視圖,對無權存取這些數據的用戶,通過視圖機制,把要保密的數據隱藏起來,這種方法是實現視圖并只授權訪問視圖。若使用該方式,用戶只能訪問在生成視圖時返回的數據。視圖機制使系統具有數據安全性、數據邏輯獨立性和操作簡便等優點,視圖不僅可以簡化用戶對數據的理解,也可以簡化他們的操作。那些被經常使用的查詢可以被定義為視圖,從而使得用戶不必為以后的操作每次都指定全部的條件。視圖和存儲過程,就好像一座架設在用戶與底層表之間的橋梁,用戶的操作只能針對視圖和存儲過程進行,而無法直接訪問底層表。

3. 數據庫中間件(DBSAPI)的應用

數據庫中間件是連接用戶和底層數據庫之間的系統軟件或服務程序,主要用于屏蔽異構數據庫的底層細節問題,是客戶與后臺的數據庫進行通訊的橋梁。中間件可減少對數據的直接讀取,能對數據起到一個緩沖作用,安全且高效。當客戶發出對某個數據庫的SQL請求時,依次進行語法詞法分析、加密字典和檢索訪問控制,再根據加密定義和訪問控制進行相關操作,然后提交給DBMS做數據提取處理;即由數據庫中間件搜索匹配的數據庫連接,并將SQL請求轉發給對應的數據庫服務器,然后對數據庫進行操作。這種方式訪問數據庫,較大的好處就是安全性,因為中間件的服務是定制的,應用程序只能通過中間件接到數據庫。所以,應用程序無法做中間件服務之外的事情。只要將所需的應用邏輯寫在中間件中,就可以保障數據的安全性。

數據庫系統論文:多數據庫系統互聯機制的設計與實現

多數據庫系統互聯機制的設計與實現

華中理工大學計算機學院 吳永英 李逸 李東

摘要: 隨著企業規模的不斷擴大,各部門所需信息既相互交錯,又相對獨立。這就要求各部門所用的數據庫既能高度自治地工作,又能進行信息共享。本文主要介紹多DM3數據庫系統間的信息共享機制。 不同DM3數據庫系統間的信息共享通過協調器實現。所有這些被協調器連接在一起的數據庫系統組成了一個聯邦數據庫。這樣既能較好地滿足企業的需要,也能在保障效率的前提下,提高數據的可用性。

關鍵詞: DBMS 復制 聯邦數據庫

1.引言

隨著經濟的發展,企業的規模越來越大,其積累的信息也越來越多。存在著各部門所處理的信息多數只對本部門有效,僅有少數信息需給其它某些部門共享的問題。這種信息的分布性和獨立性要求對所處理的數據進行分類,使各部門既能獨立地處理本部門大多數數據,也使部門間能協調處理跨部門的事務。在這種情況下,對整個企業建立一個的緊密耦合的分布式數據庫是很困難的,也是沒必要的,特別是大型企業,這樣的數據庫的效率往往是很低的。

為解決這個問題,我們采用以下策略:每個部門使用一套緊密耦合的數據庫系統,而在存在跨部門事務處理的數據庫系統間用一個協調器聯起來。這樣就組成了一個橫跨整個企業,各部門高度自治的聯邦數據庫系統。

DM2是由華中理工大學數據庫多媒體技術研究所研制的數據庫管理系統。它采用客戶/服務器模型,客戶機與服務器,服務器與服務器均通過網絡互連,通過消息相互通訊,組成一個緊密耦合的分布式數據庫系統。它的工作流程如下:客戶機登錄到一臺服務器上,這臺服務器便成為它的服務器;它接收來自客戶機的消息,然后根據全局數據字典決定是自己獨立完成該操作,還是與其它服務器協作處理這條消息,處理完成之后,再由服務器將處理結果返回給客戶機。

而數據字典,作為記錄數據庫所有元數據的系統表,它向以上過程中提供各類有用的信息,引導它們向正確的方向運行,起著“指南針”的作用。它分為局部數據字典和全局數據字典。其中,局部數據字典用于記錄一個服務器站點中數據庫的控制信息,如表的模式,視圖的模式及各個數據區的的文件名等信息。全局數據字典用于記錄分布式數據庫系統中各個服務器站點上有關全局數據的控制信息,如服務器站點信息,各服務器站點的全局表名及表內碼記錄,各服務器站點上的全局數據視圖名及視圖內碼記錄,用戶名及口令記錄,用戶權限記錄等信息。各個局部數據字典可以各不相同,但為了保障在各個服務器上所看到的全局數據庫是一致的,因此,全局數據字典必須一致。我們所關心的是全局數據字典中的基表控制塊TV_CTRL_BLOCK,它的內容主要包括:全局基表總數,每個全局基表名和其對應的表內碼,該基表所在的服務器站點的編號等信息。它的功能是將各個服務器站點號與存儲在其上的表名及表內碼聯系起來。這樣,服務器從客戶消息中找到被處理的表名,然后通過查詢基表控制塊TV_CTRL_BLOCK,就能知道該表存在哪個服務器上,以便將相關消息發給該服務器。

由于DM2上各個服務器站點的全局字典相同,任何全局表的信息都會記入全局字典。若用它來構建一個企業的數據庫系統,則大量只對企業某部門有用的信息將會充斥在各部門所有服務器的全局字典中,增加了冗余。而且,當對全局表進行DDL操作時,為了確保全局字典的一致性,須對所有服務器的全局字典進行加鎖。DM2對全局字典的封鎖方式是采用令牌環方式,即令牌繞虛環(非實環)傳輸,某個服務器想對全局字典進行操作,必須等令牌到達該服務器才可以執行。每個部門建立的全局表絕大多數只對本部門有用,當對這些表進行DDL操作時,卻要對所有服務器的全局字典進行封鎖,通過令牌來實現對全局字典的互斥訪問。假如,兩個部門都要分別對本部門的內部表進行DDL操作,這應該是可以并行處理的操作,現在卻只能串行執行。而且,當服務器數目龐大時,每個服務器等待令牌的時間將會很長。這嚴重損害了數據庫的效率。

為彌補以上不足,在DM2的改進版本DM3中增加了協調器,用以聯接各個獨立的DM3數據庫子系統,并協調各子系統間的各種關系,使各子系統既能高度自治地工作,又能進行有效的信息共享。

2.體系結構

本系統可看作多個數據庫子系統被協調器聯起來的,高度自治的一個聯邦數據庫系統。其中,每個子系統獨立處理本系統內部的事務,而子系統間的信息共享由復制技術提供,副本間的一致性由協調器協調處理,處理所需的信息在初始化時寫入協調器的組間數據字典中。當對某子系統中的一份數據副本進行修改時,該子系統會將修改通知協調器,由協調器對該數據的其它副本進行修改,從而保障了所有副本的一致性。

由以上可知,子系統彼此并不直接接觸,而是各自都與協調器直接相聯,由協調器統一管理子系統間的通信。這樣,當子系統對副本進行修改時,不必關心相應的子系統處于何種狀態,也不必等待回應消息,以及異常處理,所有這些都由協調器進行管理。因此,既提高了系統運行的效率,也保障了子系統的獨立性。其體系結構如下圖所示。

協調器主要有三大功能,首先,它對協調器和服務器進行初始化,并將有關信息存入組間字典;其次,它管理不同子系統間的通信,維護副本的一致性;,它在子系統出現崩潰時,進行異常管理及恢復工作。

圖1 DM3多數據庫系統體系結構

3.主要策略

多個DM3系統間的信息共享是通過副本實現的,副本的一致性是由協調器來維持的,是一種弱一致性。通常,多數據庫系統間的一致性是通過協調器周期性地訪問服務器的日志來完成的。由于副本的更新帶有隨機性,因此,若采用這種方法,可能數據被修改多次,但其相對應的副本仍未被修改,這樣就損害了數據的一致性;也可能數據并未被修改,但協調器已多次訪問了服務器的日志了,這樣就降低了系統的效率。

所以,本系統采用的方法是當數據被修改時,由服務器通知協調器有關信息,再由協調器通知相關系統,修改相關數據。這樣,數據的修改及時(仍然是弱一致性),而協調器也不會在數據未被修改的情況下訪問服務器,提高了性。

為了使協調器正常工作,我們對底層數據庫管理系統DM2進行了修改。在基表控制塊TV_CTRL_BLOCK中增加一項IsReplication。建表時,該項初始化為false;當為該表建立一個副本時,該項賦值為true。具體算法如下。

3.1初始化算法。

協調器:

從用戶或應用程序接收待連接的兩個系統中的服務器名,需復制的表名;

分別登錄到兩個系統的服務器上;

向存有待復制表的服務器發預復制消息;

等待服務器消息;

若失敗,發一條失敗的消息給服務器和用戶或應用程序,轉11);

若成功,從消息中取出待復制表的有關信息,根據這些信息,發一條建表消息給另一個系統的服務器;

等待服務器消息;

若失敗,發一條失敗的消息給服務器和用戶或應用程序,轉11);

若成功,調數據轉移程序,進行數據復制;

將有關信息寫入組間字典。

退出。

服務器:

當服務器收到預復制消息后,將基表控制塊TV_CTRL_BLOCK中的IsReplication賦為true。同時,取出待復制表的有關信息,組成應答消息發給協調器。

當服務器收到失敗的消息后,將基表控制塊TV_CTRL_BLOCK中的IsReplication賦為false。

3.2維護算法。

協調器:

從組間字典讀出相關信息,根據這些信息,登錄到相應系統上;

等待消息;

從某系統的服務器上收到一條修改消息后,通過查找組間字典,確定該消息的目的地,然后將它轉發過去;

若失敗,定時重發;

轉2);

服務器:

1)等待消息;

2)當收到某客戶或應用程序的消息后,檢查它是否是修改數據的操作(如delete,update或insert等);

若不是,轉7);

若是,檢查基表控制塊TV_CTRL_BLOCK中的IsReplication是否為true;

若不是,轉7);

若是,向協調器發修改消息;

繼續執行服務器程序的其它部分。

3.3恢復算法。

若協調器所聯接的系統中有一個跨掉了,則對副本的修改無法及時地反映到跨掉的系統中來。這時,需要恢復算法來進行處理。

協調器:

當協調器發現有一個系統已經崩潰后,采取以下步驟。

將與該系統相關的變量open賦值為false;

打開記時器;

等待消息;

若收到的消息是其它系統發出的修改崩潰了的系統上的副本的命令,則依次將這些消息存儲起來,轉3);

若收到的消息是記時器發出的時間到的消息,則向崩潰的系統發登錄命令;

若登錄成功,將open的值改為true;

將存儲的消息依次發送過去,轉9);

若登錄失敗,轉3);

退出。

4.結論

我們曾在三個DM3數據庫系統上,用兩個協調器進行聯接。結果,運行情況良好,各副本最終都能保障一致,且各副本間存在差異的時間間隔很短。另外,在出現異常的情況下,協調器也能正常工作。

數據庫系統論文:建立地方志計算機數據庫系統的初探

摘 要:本文淺述了地方志在社會主義物質文明和精神文明建設中的重要地方志的特點開發、建設數據庫的問題。

21世紀人類將進入知識經濟社會,信息化、網絡化已成為不可逆轉的趨勢,信息傳遞一瞬萬里。為有效地開發、利用地方志中的文獻信息資源,把原書本式的地方志建設成為計算機能夠識別的數碼式文獻(即電子版地方志),這將極大地提高人們對地方志的利用,促進社會經濟、文化科學的發展。

1 地方志在社會主義雙文明建設中的重要作用

編纂社會主義時期及時代新方志,湖南是全國起步較早的省份之一,也是當前成果較多的省份之一。洋洋三千萬余言的《湖南省志》的84部分志已出版發行53部;各地編纂的113部地市縣志已出版發行104部。這一代新方志的出版,是湖南省自清康熙三年湖廣分省以來最浩繁的文化建設工程,也是一項實現為現代社會經濟服務的系統工程。自古以來,人們都把志書看作是資治致用之書。“治天下者以史力鑒,治郡國者以志為鑒”。中華人民共和國成立后,黨和政府重視地方志的編纂工作,自八十年代以來,全國各省都成立了修志機構,有十多萬人投入了修志。在物質文明和精神文明建設中,地方志作為一種資料性著述,已愈來愈被人們所重視,發揮了有益的作用。新方志是經過考證,能反映地方社會科學、文化、經濟、人文地理、物產、礦業等多方面的系統性資料,這些資料可供自然科學工作者進行教學和科研之用。我國很多重大的科研成果都得益于地方志資料。當代著名的氣象學家和地理學家竺可幀將方志中有關植物分布、花開花落的變化、大河冰凍的記載收集在一起,找出了物候變化的規律,寫成了著名的論文(中國近五千年來氣候變遷的初步研究),受到了國內外學術界的重視。可以說,在為有關科學研究提供資料方面,地方志是一座內容豐富的文獻寶庫,具有很高的開發利用價值和應用前景。地方志可以為總結歷史經驗教訓,實行正確領導提供借鑒,領導者可以從前人成功的事實中得到經驗,從前人失敗的事實中吸取教訓,新方志還能力進行政治思想教育提供具體教材。地方志一般具有以下特點:

1.1 由各地、各行業專家撰寫,入志史料考證嚴格,資料翔實;

1.2 按行業或地域分冊出版,集中反映其發展的基本情況,對當地經濟發展具有決策、參考、指南等信息咨詢作用;

1.3 資料經過整理加工,具有系統化、條理化特點,并體現出規律性的東西;

1.4 提供各種事實、概況和統計數字等動態信息;

1.5 各分冊獨立出版,內容不交叉重復。

2 如何建設計算機地方志數據庫

數據庫是控制和處理文獻信息的一個重要手段,它的建設是信息時代文獻書目信息存貯和利用的必然要求。它以檢索迅速、存取便利、又可以提供遠距離傳輸而贏得社會各界用戶的青睞。數據庫是文獻工作自動化的基礎,是文獻信息資源共享的先決條件,只有先建立相關文獻的數據庫,才有可能實現各項工作的計算機自動化管理,并通過計算機和數據庫高效、系統地揭示相關文獻信息資源,為讀者提供品質服務。

系統地開發利用地方志,建設一個的、便于大眾使用的計算機地方志數據庫系統(電子版地方志),筆者認為應注意以下兩個方面。

2.1 建立高質量的地方志計單機全文數據庫。

全文數據庫,即包括書名、篇名、關鍵詞、正文、人名、地名、年代、參考文獻等數據的數據庫,另外還有諸如圖像、語言(音樂)等數據庫。在現代社會,作為參考指示性的書目信息已不能滿足讀者多層次的信息需求,而全文數據庫有其他類型數據庫不具備的優點:

2.1.1 讀者可通過計算機網絡系統檢索直接得到全文;

2.1.2 時差為零,能方便快捷地為讀者提供資料服務;

2. 1.3避免了二次加工人為的差錯。如:手工摘錄出現的抄寫錯誤等。同時,它還能根據用戶的需要編制二、三次文獻或索引書目等高質量的信息;

2.1.4 便于方志的修改和增補。

2. 2 編制多種索引,滿足用戶多途徑檢索的要求。

索引是讀者利用地方志數據庫的入口,因此,索引的編制應以科學為根據,以學科分類為基礎。索引與全文數據庫中的有關條目鏈接要科學,便于用戶從學科分類、主題等途徑查找。建立多個檢索口。還可以模糊檢索的方式,使查找、利用資料更、更快捷和便利。為此,我們認為計算機地方志數據庫系統應設置以下幾個方面的索引系統:

2.2.1 關鍵詞索引:從地方志標題、章節和內容中抽取具有代表性的關鍵詞,并能運用概念組配方式。揭示文獻內容特征。該索引是檢索地方志文獻信息的重要手段。

2.2.2 分類索引:類目的索引以科學分類為依據。同時,還應照顧到志書本身的特征

2.2.3 人名索引:以地方志中人名力檢索途徑,查找與人名有關的內容。

2.2.4 地名索引,以地方志中所涉及到的地名為檢索途徑查找相應的文獻內容。

2.2.5 條目索引:以地方志各分冊的篇目為依據編排,只要鍵入分冊名和篇名,即可閱讀該分冊或指定篇目的全文數據。

3 系統開發前后應做的工作

3.1 對人員的要求:地方志信息數據開發研制工作應選派具圖書館業務知識的專業計算機人員和圖書館業務骨干參加,這樣才能使系統的研制工作順利地開展。

3.2 加強數據庫的質量建設:在數據庫的建設過程中,數據錄入時要力求,寧繁匆簡,責任到人,建立嚴格的定期檢查制度,保障數據庫建設的質量。

3.3 重視用戶教育:系統開發成功后,在使用過程中可能需要經過一段時間的用戶培訓方能達到開發者的目的,因此向用戶普及數據庫知識以及計算機方面的知識是非常必要的,同時還應編制用戶使用手冊。

3.4 利用數據庫產品加強對其宣傳報道,擴大社會影響。

3.5 上網的要求:近幾年來,我國已陸續建成了十大“金”字號的國民經濟

信息化網絡工程,初步形成了一個覆蓋全國、連接世界的高速信息網絡系統。計算機地方志數據庫系統,是圖書館計算機自動化管理系統中的一個子系統,它通過圖書館計算機自動化管理系統進人全國圖書館網絡系統或1nternet網。在信息化的社會中,誰能盡快地將自己的信息上網,誰就能擁有更多的用戶。因此,數據庫產品形成后,應盡快與本館計算機系統連接、上網,以擴大其社會影響,為社會所認識和利用。

電子版地方志比書本式地方志有很大的優勢。它有便于檢索、快捷方便、便于修訂、內容等特點。地方志數據庫的建設工作量大、時間長,是一個大工程,但有著深遠的意義。省圖書館是地方中心圖書館,收集、保存地方文獻是其主要職責之一,因此,建設地方志數據庫是省圖書館的一項主要任務。

數據庫系統論文:建立地方志計算機數據庫系統初探

[摘要] 本文淺述了地方志在社會主義物質文明和精神文明建設中的重要作用及如何根據地方志的特點開發、建設數據庫的問題。

21世紀人類將進入知識經濟社會,信息化、網絡化己成為不可逆轉的趨勢。為有效地開發、利用地方志中的文獻信息資源,把原書本式的地方志建設成為計算機能夠識別的數碼式文獻(即電子版地方志),這將極大地提高人們對地方志的利用,促進社會經濟、文化科學的發展。

1 地方志在社會主義雙文明建設中的重要作用

自古以來,人們都把志書看作是資治致用之書。“治天下者以史為鑒,治郡國者以志為鑒”。中華人民共和國成立后,黨和政府重視地方志的編纂工作,自80年代以來,全國各省都成立了修志機構,有10多萬人投入了修志。編纂社會主義時期及時代新方志,湖南是全國起步較早的省份之一,也是當前成果較多的省份之一。洋洋3000萬余言的《湖南省志》的84部分志已出版發行56部;各地編纂的地市縣志已出版發行141部。這一代新方志的出版,是湖南省自清康熙三年湖廣分省以來最浩繁的文化建設工程,也是一項實現為現代社會經濟服務的系統工程。在物質文明和精神文明建設中,地方志作為一種資料性著述,已愈來愈被人們所重視,發揮了有益的作用。新方志是經過考證,能反映地方社會科學、文化、經濟、人文地理、物產、礦業等多方面的系統性資料,這些資料可供自然科學工作者進行教學和科研之用。我國很多重大的科研成果都得益于地方志資料。當代著名的氣象學家和地理學家竺可幀將方志中有關植物分布、花開花落的變化、大河冰凍的記載收集在一起,找出了物候變化的規律,寫成了著名的論文《中國近五千年來氣候變遷的初步研究》,受到了國內外學術界的重視。可以說,在為有關科學研究提供資料方面,地方志是一座內容豐富的文獻寶庫,具有很高的開發利用價值和應用前景。地方志可以為總結歷史經驗教訓,實行正確領導提供借鑒。

2 如何建設計算機地方志數據庫

湖南地方志經過十幾年的編纂、出版、絕大部分已出齊,只有少數地方志因資金或其他方面的困難亟待出版。為實現地方志資源共享,我們應該重視地方志數據庫建設。

數據庫是文獻工作自動化的基礎,是文獻信息資源共享的先決條件,只有先建立相關文獻的數據庫,才有可能實現各項工作的計算機自動化管理,并通過計算機和數據庫高效、、系統地揭示相關文獻信息資源,為讀者提供品質服務。

系統地開發利用地方志,建設一個的、便于大眾使用的計算機地方志數據庫系統(電子版地方志),筆者認為應注意以下兩個方面:

2.1 建立高質量的地方志計算機全文數據庫

全文數據庫,即包括書名、篇名、關鍵詞、正文、人名、地名、年代、參考文獻等數據的數據庫,另外還有諸如圖像、語言(音樂)等數據庫。在現代社會,作為參考指示性的書目信息已不能滿足讀者多層次的信息需求,而全文數據庫有其他類型數據庫不具備的優點:①讀者可通過計算機網絡系統檢索直接得到全文;②時差為零,能方便快捷地為讀者提供資料服務;③避免了二次加工人為的差錯。如:手工摘錄出現的抄寫錯誤等。同時,它還能根據用戶的需要編制二、三次文獻或索引書目等高質量的信息;④便于方志的修改和增補。

2.2編制多種索引,滿足用戶多途徑檢索的要求

索引是讀者利用地方志數據庫的入口,因此、索引的編制應以科學為根據,以學科分類為基礎。索引與全文數據庫中的有關條目鏈接要科學,便于用戶從學科分類、主題等途徑查找。建立多個檢索口,還可以模糊檢索的方式,使查找、利用資料更、更快捷和便利。為此,我認為計算機地方志數據庫系統應設置以下幾個方面的索引系統:

關鍵詞索引:從地方志標題、章節和內容中抽取具有代表性的關鍵詞,并能運用概念組配方式,提示文獻內容特征。該索引是檢索地方志文獻信息的重要手段。

分類索引:類目的索引以科學分類為依據。同時,還應照顧到志書本身的特征,并以地方志專業志、篇目分類作參考。

人名索引:以地方志中人名為檢索途徑,查找與人名有關的內容。

地名索引:以地方志中所涉及到的地名為檢索途徑查找相應的文獻內容。

條目索引:以地方志各分冊的篇目為依據編排,只要鍵入分冊名和篇名,即可閱讀該分冊或指定篇目的全文數據。

3 系統開發前后應做的工作

系統的開發不可能一氣呵成,系統開發前要做好人員的配備和數據的基礎準備工作,在系統開發過程中應注重數據庫的質量并做好承前啟后的工作,系統開發后還應注意產品的應用和宣傳。具體來說有以下幾個方面:

3.1人員的要求:地方志信息數據開發研制工作應選派具有圖書館業務知識的專業計算機人員和圖書館業務骨干參加,這樣才能使系統的研制工作順利地開展。

3.2加強數據庫的質量建設:在數據庫的建設過程中,數據錄入時要力求,寧繁勿簡,責任到人,建立嚴格的定期檢查制度,保障數據庫建設的質量。

3.3重視用戶教育:系統開發成功后,在使用過程中可能需要經過一段時間的用戶培訓方能達到開發者的目的,因此向用戶普及數據庫知識以及計算機方面的知識是非常必要的,同時還應編制用戶使用手冊。

3.4利用數據庫產品加強對其宣傳報道,擴大社會影響。

3.5時間的要求:全文數據庫的建立,目前從各個省圖書館來說,技術、力量都有限,并且還有少數地方志將會陸續出版,需要隨時進行補充,因此,這是一項長期而艱巨的工作。

3. 6上網的要求:近幾年來,我國己陸續建成了十大“金”字號的國民經濟信息化網絡工程,初步形成了一個覆蓋全國、連接世界的高速信息網絡系統。計算機地方志數據庫系統,是圖書館計算機自動化管理系統中的一個子系統,它通過圖書館計算機自動化管理系統進入全國圖書館網絡系統或Internet網。

在信息化的社會中,誰能盡快地將自己的信息上網,誰就能擁有更多的用戶。因此,數據庫產品形成后,應盡快與本館計算機系統連接、上網,以擴大其社會影響,為社會所認識和利用。

數據庫系統論文:地方文獻數據庫系統

一、前言

地方文獻是我國公共圖書館藏書建設的重要組成部分。這些出版物記載和反映了當地社會發展的歷史進程,是國家的重要資源和財富。目前,地方文獻工作在我國省市、自治區公共圖書館已受到普遍重視,許多館建立了地方文獻專藏,對文獻的收集、整理、報道和利用做了大量工作,為當地的四化建設發揮了積極的作用。但是,我國的地方文獻工作基本上還是沿用傳統的理論和方法,在各方面已遠不能適應當今信息社會的要求。在今天新技術革命浪潮蓬勃興起的形勢下,公共圖書館的地方文獻工作怎樣才能適應時代的需要這一重要課題,已歷史地擺在我們圖書館工作者的面前。我們認為,面對新技術革命的挑戰,地方文獻工作必須實現現代化,才能使傳統的地方文獻工作獲得新的發展,從而達到促進地區出版物資源共享的目的。基于這種認識,我館在原有地方文獻工作的基礎上,開始用電腦建立地方文獻數據庫。經過一年多的研制,該數據庫已初步建成并投入使用。為與國內同行交流,本文對該數據庫系統作簡要介紹。

二、收錄范圍與文獻源

建立地方文獻數據庫,首先要明確收錄范圍和解決文獻源問題。對地方文獻的收錄范圍,我館前館長杜定友先生曾提出過著名的“史料、地方出版物和地方人士著述”三部分的論述。在杜定友先生的倡導下,我館致力于地方文獻的收集工作,建立了廣東地方文獻專藏。根據我館地方文獻的收集入藏情況,我們擬定了地方文獻數據庫收錄范圍的原則:

1.具有廣東地方特點,并有一定學術、史料價值的文獻資料(包括有地方特點的科技文獻)。

2.反映本省人物(包括廣東籍知名人士以及在廣東有過影響的非廣東籍人士)生平、傳記、事跡的文獻資料。

3.有廣東地方特點的本省出版物和外省出版物。

4.廣東人士著述(擁有地方特點的文獻資料部分)。

對不予收錄的文獻,也作了如下規定:

1)雖是地方出版物,但內容并無地方特點的文獻資料。

2)作者雖是廣東人士,但文獻內容并無地方特點的著述。

3)無地方特點的科技文獻。

4)印刷質量差,內容貧乏的非正式出版物。

5)同收錄原則相悖的其它文獻資料。

具體的收錄范圍有24項。

地方文獻數據庫所收錄文獻的類型包括:專著,期刊、報紙、會議錄、匯編、學位論文、科技報告、專利文獻、手稿、地方志、族譜、檢索工具、參考工具、圖表、古籍等。其中檢索工具包括反映本省圖書館館藏的各種書目、文摘、聯合目錄;圖表包括地圖、氣象圖、地質圖;參考工具包括年鑒、手冊等;專利文獻只限于本省單位和個人申請的國內外專利;報紙限于本省出版報紙的目錄。

廣泛征集地方文獻資料,保障地方文獻數據庫有充足的文獻源,是建立地方文獻數據庫極為重要的一環。我館地方文獻工作,早在解放前即已引起重視。建國后,更加廣泛深入地開展了地方文獻的收集和整理工作。省人民政府曾先后發出三個關于地方文獻工作的文件,指定我館為全省地方文獻的征集工作機構和收藏中心,要求各級人民政府和各企事業單位,將所出版的文獻資料無償向我館繳送二冊,這為征集地方文獻打下了良好的基礎。在全省各有關單位的大力協助下,經過幾十年的努力,我館已逐步建立起擁有18萬冊,在海內外有一定影響的廣東文獻專藏,形成了廣東文獻的收藏中心。這是建立地方文獻數據庫的基礎。

建立地方文獻數據庫,在確定收錄范圍的同時,還要認真選擇和挖掘文獻源。因為地方文獻包括了反映當地歷史和現狀的文獻資料,數量以萬計,內容極為繁雜。圖書館應該首先選擇利用率高,有一定學術和史料價值的文獻存貯進電腦,其中科技文獻應占有相當的比例。這是時代的要求。因此,我館在建庫前對文獻源的選擇進行了較深入的研究,決定從現代期刊入手,對符合收錄范圍的期刊論文進行著錄標引,然后輸入電腦。目前文獻的前處理工作正順利進行,現已標引出地方文獻資料8,000多篇,輸入電腦5,000篇。對于其它類型的文獻資料,今后將有計劃按步驟地進行輸入,從而逐步建立起我省的地方文獻數據庫。

三、數據庫系統目標與模式

作為地方性情報檢索系統的地方文獻數據庫,其總目標是:收錄和存貯反映本省歷史和現狀的地方文獻資料目錄,編輯出版綜合性的地方文獻通報(書目)和各種專題的地方文獻目錄,為當地黨政軍領導機關和各科研生產單位提供文獻檢索服務;作為地方文獻的查目中心,將通過聯機網絡同當地的主要圖書情報部門聯網,逐步實現地方文獻的聯機編目和檢索,從而促進地區性的資源共享。

為了實現上述目標,我們根據本省的實際情況,為地方文獻數據庫設計了下述模式:

1.選擇具有良好漢字處理功能的遠程通訊能力的微型電腦作為數據錄入工作站和脫機檢索系統,這一系統配有完整的外部設備,可獨立進行地方文獻書目數據的錄入、檢索和編輯出版地方文獻通報。對已輸入電腦的大量數據,可轉貯到軟盤,為將來在中、大型電腦上建庫作好數據準備。我館已購置了四套IBM5550中文電腦,其中一至二套用于地方文獻數據庫的建庫工作。

2.設置電腦聯機通訊線路,同當地計算中心的中、大型機聯網。利用主權的計算機資源建立地方文獻數據庫,一般可存貯幾百萬篇的文獻,從而為實現地方文獻書目數據的資源共享打下基礎。我館已同省計算中心達成協議,利用該中心引進的IBM 4341主機建立地方文獻數據庫,并在86年二月成功地進行了利用市內話線聯機通訊的試驗,計劃在明年內實現我館IBM5550同主機的聯網。

3.在本館購置中、小型主機后,將進一步完善地方文獻數據庫系統,在省、市領導機關和主要科研機構設置檢索終端,并同當地的主要圖書情報部門聯網,進行聯機編目和檢索,從而使地方文獻數據庫真正達到資源共享的目的。

4.把電腦同縮微技術結合起來,實現地方文獻資料的全文檢索。我館準備在條件具備時,購置一套16毫米的縮微拍攝設備,用于拍攝地方文獻資料。在數據庫中檢索命中的文獻,可根據其文獻號,在縮微閱讀機上獲得原文。

在我省有關部門的大力支持下,經過全館同志的努力,廣東地方文獻數據庫的系統目標正在逐步實現。目前,在IBM 5550微機上已實現了以下功能:

1)地方文獻書目數據的錄入與存貯。針對地方文獻具有多種類型的特點,本數據庫根據國家文獻著錄標準,設置了多種文獻類型的自動格式識別程序,不但提供了完善的人機對話錄入和修改方式,而且能夠對錄入的書目數據自動進行著錄格式的自動識別,從而使書目數據達到標準化的要求。

2)編輯和打印綜合性檢索刊物《廣東文獻通報》。該刊物以及時報道我館新入藏

地方文獻為宗旨,兩月出版一期。每期通報正文約70頁,按《中圖法》分類體系排列,并附有地區索引,方便縣、市圖書館、檔案館等有關單位從地區途徑查找文獻。從86年五月起,至今已出版文獻通報六期及通報的年度累積索引一冊。3)自動編目功能,數據庫系統可根據輸入的地方文獻書目數據,自動生成數據庫倒排文檔,供文獻檢索之用。另外,還可根據指定的專題,編制各種類型的地方文獻專題書目,以及編制地方文獻的累積本。

4)文獻檢索功能。因受1BM 5550系統外存的限制,目前數據庫的存貯容量為25,000篇文獻。如將外存擴大到40MB,數據庫容量將可擴大到10萬篇。在此范圍內,用戶可從篇名、著者、分類、主題、地名等五個途徑進行聯機檢索,并允許用多個主題詞或多個檢索途徑進行組配,以提高檢準率。輸出結果既可在屏幕顯示,也可以用打印機輸出。

5)詞表管理功能。數據庫系統可對地方文獻標引詞表、地名表和機內分類表進行插入、修改、刪除等項操作,并提供編輯打印詞表的功能。目前我館已編制出《地方文獻標引詞表》、《廣東省地名表》和《地方文獻數據庫分類表》。

6)地方文獻征集和標引管理功能。數據庫能為地方文獻中的連續性出版物建立檔案,并有催索、記到、裝訂以及標引管理等功能,可以對地方文獻征集和標引實現科學管理。

除了上述功能外,我們計劃在87年上半年前,為該數據庫增加MARC機讀目錄生產、遠程聯機通訊等程序,使數據庫的各種功能進一步完善。

四、數據庫的設計與實現

本數據庫系統使用IBM5550品質微機作處理機,其主要技術性能指標為:主機內存512-640KB,15英寸高分辨度顯示器、24針漢字打印機和鍵盤各一臺,可配8.1或20MB硬盤及5.25英寸軟盤各一臺。操作系統為IBM5550中文DOS(由MS-DOS演變而來),配有BASIC、COBOL、PASCAL、TORTRAN以及宏匯編等程序設計語言,還有dBASE2.0、DBASE3.0、SORT/MERGE、CWP、WORDSTAR、LOTUS 1-2-3等軟件。該機具有良好的多語種處理功能(中、英、日、俄均可處理)和遠程聯機通訊能力。屏幕顯示和打印輸出字形美觀。根據上述計算機資源的特點和省級公共圖書館地方文獻工作的業務流程,我們首先進行了數據庫的總體設計。該數據庫分為文獻庫、期刊庫、詞表庫三大部分:文獻庫實現各種地方文獻資料目錄的存貯和檢索(包括打印);征集庫實現連續出版物(包括圖書)的征集管理;詞表庫實現廣東地方文獻標引詞表的管理。所有程序在總控程序的調度下分塊進入內存運行。

總體設計方案確定后,使用什么語言實現?開始我們考慮用DBASE3.0。但后來經模擬試驗和論證,發現dBASE3.0用于開發文獻型的數據庫系統并不理想,原因是(1)記錄字段不能適應書目數據可變長的特點;(2)不能使用數組,而且程序變量限于128個,響應速度慢;(3)如作組配檢索一般要幾十秒的等待時間;(4)難以實現人機對話方式的檢索,即在檢索過程中無法修改檢索策略。基于上述原因,我們決定用編譯BASIC進行系統開發。在開發的過程中,盡可能采用自頂向下、分塊實現、逐步求精等行之有效的軟件開發技術,僅用了四個多月的時間,就完成了程序的設計和調試。經過半年多的試運行,根據暴露出的問題,我們又對程序作了較大修改,形成了第2版本。目前該系統的源程序共有4,000多行,17個運行模塊(占260KB)。以下對本數據庫的文件結構和主要算法作簡要介紹:

(一)文獻庫

文獻庫的任務是通過書目控制字段實現書目控制;按國家標準錄入和存貯文獻記錄;編輯和打印各種書目;提供多途徑的文獻檢索手段。文獻庫共設置了書目控制文件、主數據文件和倒排文件。

1)書目控制文件—該文件采用雜湊隨機文件結構,每個記錄由書目記錄控制關鍵字、文獻地址和沖突鏈組成(見圖1)。每個記錄的控制關鍵字,首先考慮用ISBN號(我國今年出版的圖書開始使用該號)。對沒有該號的圖書文獻,采用下述方法取號:

①整本文獻和非書資料,用:題名首字符+著者末字符+地區代碼+出版年+頁數。

②析出文獻用錄入號(即系統分配的順序號)。

書目控制關鍵字的取號要求是性較為方便。本系統通過該文件將可對所有輸入數據庫的書目記錄進行控制,實現快速查找或修改。

2)主數據文件—該文件采用固定長記錄可變長字段的隨機文件結構,記錄長256字節。如有數據溢出,溢映部分將存入溢出文件中。本系統將所有書目數據劃分為3種類型:整本文獻、析出文獻和非書資料。每種類型的字段雖有不同,但可存貯于同一數據文件中,通過文獻類型代碼進行識別。為便于新數據的處理,本系統又將主數據文件分為新書文件和數據庫主文件兩種。新錄入的數據暫存于新書文件中,待打印出文獻通報和地區索引后,再合并入數據庫主文件。數據庫主文件的記錄是按文獻通報的順序號排列的。主數據文件的記錄字段考慮了同國家機讀目錄的一致性,在必要的時候可通過一個格式轉換程序,把書目數據的系統內部格式轉換為標準格式,以利于資源共享。本系統的書目記錄輸出,采用了漢字取整裝配技術,并按國家文獻著錄標準在各著錄項目中加入分隔符號。

3)數據庫倒排文件---該文件采用二級索引結構:及時級是雜湊隨機文件,每記錄分為前鏈和后鏈兩個字段。第二級是順序隨機文件,每記錄分為文獻地址和后鏈兩個字段。這樣,一級索引作為檢索入口指向二級索引,二級索引通過每個記錄的后鏈集中了相關文獻,通過文獻地址就能查得所需文獻。圖2為示意圖。采用這種文件結構的文獻檢索算法如下:

①接收一個檢索表達式KEYS

②生成提問表(即把表達式中的關鍵字存入檢索比較工作區)

③生成檢索邏輯尺

④根據工作區中元素的映射地址(雜湊)取出前鏈R

⑤從R指示地址在二級索引中取出真正的文獻地址后鏈L

⑤按B指示地址在主數據文件中讀出一個書目記錄

⑦將該記錄同工作區元素作字符串比較,得到其文獻邏輯值

⑧文獻邏輯值同檢索邏輯尺作比較,符合者為命中文獻

⑨判L等于零?是則檢索結束,否則LR,轉⑤

我們認為,這種以二級索引文件結構為基礎,用雜湊映射作為快速尋址,用邏輯尺進行二次檢索的算法,是一個新穎有效的算法。同時,在索引中僅存貯指針,可比傳統的索引文件節省75%的空間。本系統首次檢索的響應時間均低于2秒,二次檢索的響應時間則因檢索式的復雜程度而有不同程度的減慢。

(二)詞表庫

詞表庫的任務是對存貯在機內的地方文獻標引詞表進行查詢和管理。本系統詞表文件可分為主表和付表文件,主表存貯正式標引詞,付表存貯同義詞。為了實現首詞集中和快速查詞的目的,還設置了詞表入口文件。圖3為示意圖。

1)詞表入口文件--該文件為映射隨機文件,每記錄僅存及時個標引詞的地址,通過該詞及時個漢字的ASCLLI碼映射尋址。

2)主表文件--該文件為隨機文件,每記錄由標引詞字段和后鏈組成。通過后鏈便可查到首字相同的所有標引詞。

3)付表文件--該文件為順序文件,用于存貯正式標引詞的同義詞。

本系統通過上述文件結構和算法,已在機內建立了擁有4,000多個標引詞的詞庫,實現了標引詞快速查找、首詞集中顯示、標引詞擴檢與縮檢、同義詞參見和詞表打印等功能。

(三)征集庫

征集庫的任務是建立地方文獻連續出版物檔案,實現征集工作的現代化管理。征集庫的文件主要有刊號控制文件、現刊管理文件、期刊主文件、記到數據文件。

1)刊號控制文件---該文件用于存貯每種廣東期刊的刊號(包括郵局刊號和內部期刊登記號),對數據庫的期刊進行控制,其結構為雜湊隨機文件。每記錄有刊號和文獻地址兩個字段。

2)現刊管理文件---該文件用于存貯每種期刊的刊名、刊號、索取號、出版單位、地址

、裝訂周期等管理數據,其結構為順序隨機文件。3)期刊主文件---該文件用于存貯每種期刊的基本著錄事項。每記錄長256字節,溢出部分存入溢出文件。

4)記到數據文件---用于存貯每種期刊的記到數據,每種刊作為一個邏輯記錄,采用二維數組結構。該文件以年為單位存貯數據,即每年生成一個記到文件。

以上文件的每個記錄均存在映射關系,即每種期刊記錄在不同文件中的地址是一致的。只要在刊號控制文件中查得某刊的地址,就可在各個文件中訪問有關記錄。由于我們采取了合理的文件結構,因而能使系統適應期刊經常發生的創刊、合刊、增刊、停刊、改刊期、改刊名、改發行方式等動態變化,有較強的實用性。這點對于地方文獻征集工作的電腦化管理是至關重要的。

五、地方文獻的著錄與標引

為了達到資源共享的目的,地方文獻的著錄與標引也必須實現標準化。我館在建立地方文獻數據庫的過程中,對地方文獻的著錄和標引的標準化十分重視,采取了下面的一些做法:

1.在進行數據庫總體設計的同時,請本館有豐富文獻工作經驗的同志組成科研課題組,起草制定了《文獻標引員手冊》。該手冊對數據庫的收錄范圍、文獻著錄標引工作細則、文獻通報編制體例等都作了規定。從而為文獻著錄標引工作的標準化奠定了基礎。

2.在建庫前,對文獻標引員進行業務考核,選擇工作責任心強,經過圖書館專業培訓,有三年以上圖書館工作經驗,并有一定文獻工作實踐的同志擔任文獻標引員。

3.印制地方文獻書目數據錄入工作單,要求文獻標引員根據國家文獻著錄標準進行著錄,并按錄入單格式進行填寫。這樣可以減少因不熟悉著錄格式而產生的錯誤。

4.標引員標引的數據錄入單,由數據庫文獻工作組審核定稿。審核的內容包括:著錄文獻的選題、著錄的格式、分類和主題標引。在實踐中我們感到,標引文獻的審核,對提高數據庫的文獻質量,有著十分重要的作用,因此,應由有較高業務水平的同志負責把關,并注意保持文獻標引人員隊伍的相對穩定。

5.數據庫書目數據均采用《中圖法》分類體系。對同一文獻的多個主題,盡量采取了組配方式生成分類號,以便充分發揮電腦多途徑檢索的優勢。

6.以《漢語主題詞表》為基礎,根據地方文獻的特點編制文獻標引詞表。《漢語主題詞表》是一部綜合性的文獻標引工具,收詞多而廣泛。但由于《漢語主題詞表》的編制是從全國范圍的通用性來考慮的,對標引地方獨特事物,便缺乏實用性。因此,我們在力求使用詞表中正式主題詞的同時,根據地方文獻標引的需要,使用了許多“表外詞”,有些地方,還對詞表的規定作了一些變動。這可以從兩方面來說明:

1)由于新概念的大量涌現,詞表未及收入的新學科、新事物的新名詞,現已形成可描述的敘詞,例如:“經濟法”、“經濟糾紛”、“體制改革”、“第三產業”、“信息業”、“港元”……等等。它們在文獻中出現的頻率很高,但沒有合適的直接上位詞可用,也沒有合適的概念接近的詞可用,我們就把這些詞作為正式詞使用。

2)由于地方文獻的特性需要,常常為綜合性大型詞表所難以照應,如名勝、古跡這一范疇內,就只列了“圓明園”等15個詞,其中除“黃鶴樓”“孔廟”等詞外,多數是北京地區的名勝古跡,這確實是不合用也不夠用的。對這類情況我們作了一些調整。如詞表規定,“東江縱隊”、“瓊崖操隊”統用“華南抗日游擊隊”,也就是以上位概念取代具體事物,這從全國范圍的檢索需要來看可能是合理的。但從本地區出發,“東縱”和“瓊縱”卻是專指性極強的詞。這兩支革命武裝有各自不同的歷史、活動地區、代表人物文獻量又很大。因此,我們改變“用”、“代”關系,不用“華南抗日游擊隊”,而直接用“東江縱隊”、“瓊崖縱隊”。有些類似情況而文獻量不大的,則采用直接上位詞做正式主題詞,加地方特有事物的關鍵詞,以“,”號倒置。如“寺廟,華南寺”、“寺廟,光孝寺”、“刺繡,廣繡”、“刺繡,潮繡”等。“,”號后的關鍵詞,僅起限定和說明的作用,不參加累積索引的輪排,也不作為檢索入口。凡地方事物、事件、人物而沒有相應的主題詞的,如:“黃埔軍校”、“丘逢甲”等等,則一律標關鍵詞。我們對這些使用過的關鍵詞,也注意了規范。

六、結束語

隨著我國圖書館事業的發展,地方文獻工作的現代化已是歷史發展的必然趨勢。地方文獻數據庫的建立,不但是我國地方文獻工作的新發展,而且必將推動和促進地區出版物的資源共享,其意義是十分重大的。我們衷心希望地方文獻工作的現代化走向新的水平。

數據庫系統論文:數據庫系統中安全訪問技術

摘要:基于網絡的數據庫訪問安全問題,即數據庫遠程訪問安全問題成為研究熱點問題,本文針對信息系統中基于廣域網的數據庫訪問帶來的非法訪問、黑客攻擊、數據的截取、篡改等安全問題提供了建立一個安全系統對數據庫的訪問的思路,并對其中整個系統結構進行分析。

關鍵詞:數據庫 安全 系統結構分析

0 引言

隨著信息時代的到來,各種信息爆炸式發展并積累著,這涉及到人們日常生活、企事業單位的管理、各種科研活動以至國家的宏觀經濟調控等等各個方面。采用計算機對各種信息作為數據進行管理成為高效科學的手段,這也促進了計算機數據庫的發展。目前,基于計算機網絡的系統正得到越來越廣泛的應用,計算機網絡的開放性和信息的安全性之間的矛盾日益突出。基于網絡的數據庫訪問安全問題,即數據庫遠程訪問安全問題成為研究熱點問題[1,2],本文針對信息系統中基于廣域網的數據庫訪問帶來的非法訪問、黑客攻擊、數據的截取、篡改等安全問題提供了建立一個安全系統對數據庫的訪問的思路,并對其中整個系統結構進行分析。

1 數據庫安全訪問系統結構

為了達到安全訪問數據庫的目的,在傳統的數據庫訪問方式中加入加密和認證安全技術以及防火墻技術,形成新的數據庫訪問結構,而新加入的模塊以的形式在起作用。

1.1 總體系統結構 數據庫安全訪問用來提供用戶身份認證和數據庫訪問服務并提供了網絡傳輸加密服務。所有的客戶方的數據庫訪問請求都通過數據庫安全訪問進行轉發。客戶方數據訪問用于接收所有的客戶應用數據庫訪問請求(包括數據庫客戶的連接建立和連接斷開請求),并負責向數據庫客戶傳送數據庫訪問的結果。數據庫訪問請求是按照協議格式化為數據報提供給數據加密/認證客戶端,而數據庫訪問結果是按照協議格式由數據加密/認證客戶端提供。數據加密認證客戶端完成客戶端的數據加密和認證工作,同服務器端的數據加密/認證服務器一起完成強大的數據加密功能保障數據安全。數據加密/認證服務器接收通過廣域網(或者是局域網)傳輸的客戶端發出的數據庫訪問請求數據報,這個請求是經過數據加密/認證客戶端加密的。解密后的數據傳遞給數據庫訪問服務器。然后將數據庫訪問服務器返回的結果加密通過網絡回送客戶端。

可以看到系統將廣域網包含在內部。廣域網是數據庫訪問中的最薄弱環節,容易引起各種安全問題。采用后廣域網中傳輸的是加密后的數據,配合認證簽名技術可以保障數據不被竊取篡改,極大的提高了系統的數據安全性。數據庫訪問服務器主要用于向數據庫服務器提出所客戶的數據庫訪問請求,并負責接受應答,執行真正的數據庫操作。

1.2 安全訪問的中間件特點 數據庫安全訪問處在應用和數據庫之間,起一個數據庫中間件的作用和結構。可以在系統中,對數據庫的訪問請求進行控制管理,配合數據庫的特點,達到發揮較大數據庫性能的目的,例如建立數據庫連接池。這種模型克服了傳統的客戶/服務器模型的缺點,具有可重用性、靈活性、可管理性、易維護性等一系列優良的特性。遠程過程調用中間件(RPC,Remote Proeedure Call)在客戶/服務器計算方面,比數據庫中間件又邁進了一步。即C的靈活特性使得它有比數據庫中間件更廣泛的應用,它可以應用在更復雜的客戶/服務器計算環境中。

1.3 安全訪問的作用 之所以稱為是因為系統接收數據庫應用的數據庫訪問請求,把請求映射到系統對于數據庫的訪問,而系統不對這些請求進行過于復雜的處理。同其它系統一樣,這種具有能夠加入安全控制的特點,同時系統對外接收數據庫訪問請求,而數據庫系統可以只接受的訪問請求,起到隔離和安全保護作用。另一個重要特點是,可以加入到己經開發應用的信息系統中,極大提高原有系統的安全性能而不需要重新開發。

1.4 安全訪問的防火墻作用 現在網絡的一個現狀是黑客的攻擊廣泛存在。攻擊后果可以是竊取信息、使系統癱瘓或者造成網絡堵塞。數據庫安全訪問可以起應用級網關類別的防火墻作用,服務器而不是數據庫暴露在廣域網中,對數據庫的訪問都是通過服務器來完成。服務器采用防火墻技術對抗黑客的各種攻擊,以及配合數據加密和身份認證技術,使系統達到極大的安全要求。數據庫和服務器處于一個局域網之中,不會受到廣域網用戶的訪問或者攻擊,同時數據庫的原有安全措施在起作用。

1.5 安全訪問系統采用SSL加密認證技術 系統中的數據加密和身份認證及簽名采用SSL技術來完成。系統中的數據加密和身份認證及簽名采用SSL技術來完成。應用程序通常使用IPC (Interporcess Communications Facility)與不同層次的安全協議打交道,在不同傳輸層協議中工作。流行的工PC界面是Badsockets和TLI。在Unix系統V命令里可以找到。在Internet中提供安全服務的首先一個想法便是強化它的IPC界面,如BSD Sockets等,具體做法包括雙端實體的認證,數據加密密鑰的交換等。

1.6 安全訪問系統形成多層結構 為了克服由于傳統客戶/服務器模型的這些缺陷給系統應用帶來的影響,一種新的結構出現了,這就是三層(N層)客戶/服務器模型。三層客戶/服務器結構構建了一種分割式的應用程序。系統對應用程序進行分割后,劃分成不同的邏輯組件,主要分為三層:用戶服務層,業務處理層,數據服務層。系統中由于安全訪問的加入而形成多層結構,安全形成獨立的一層,與其它層通過標準的數據庫訪問接口,這就提供了極大的靈活性,每一層的改變可以不影響其它層。這也很大程度上降低了數據安全訪問的設計復雜性。

1.7 安全訪問系統采用ODBC技術 ODBC之所以能夠操作眾多的數據庫,是由于當前絕大部分數據庫全部或部分地遵從關系數據庫概念,ODBC看待這些數據庫時正是著眼了這些共同點。ODBC基本思想是提供獨立程序來提取數據信息,并具有向應用程序輸入數據的方法。ODBC接口的優勢之一為互操作性,程序設計員可以在不指定特定數據源情況下創建ODBC應用程序。從應用程序角度方面,為了使每個驅動程序和數據源都支持相同的ODBC函數調用和SQL語句集,ODBC接口定義了一致性級別,即ODBC API一致性和ODBC SRL語法一致性。

1.8 安全訪問系統對于應用的透明性 對于應用的透明性是指對應數據庫應用來說,采用或者不采用數據庫安全訪問,對于數據庫的訪問方法沒有區別。技術的透明性可以達到一個向上繼承的作用,這也是很大的優點。對應用的透明性是通過采用標準的數據庫訪問技術來達到的,數據庫應用的每一個數據庫訪問操作經過訪問系統映射為同樣的數據庫訪問實施于數據庫,對AP工調用進行一對一的映射,所以原來開發系統不需要改動。也為系統的方案設計提供了靈活性。

1.9 安全訪問系統中數據的壓縮傳輸 數據庫安全訪問中,數據的傳輸要通過工nternet來完成。帶寬相對于局域網來說要窄的多,造成數據庫訪問的瓶頸,影響速度。對于使用很廣泛的撥號上網方式來說,速度問題更為重要。所以考慮采用數據壓縮傳輸。數據的壓縮是作為SSL的一部分存在的,采用的主要壓縮技術是Zlib。通常的壓縮比可以達到2:1~5:1。

2 結語

通過廣域網的數據庫訪問,存在用戶的身份認證、黑客的攻擊、數據的被竊取、篡改等安全問題,以及廣域網帶寬窄造成的速度慢問題。為信息系統的開發應用造成了困難。上述問題可以通過數據庫安全訪問解決。訪問具有中間件的特點介于數據應用和數據庫之間,形成了一個數據庫訪問的多層結構。這些結構特點使相對獨立,降低系統的復雜度。

數據庫系統論文:多數據庫系統互聯機制的設計與實現

摘要: 隨著企業規模的不斷擴大,各部門所需信息既相互交錯,又相對獨立。這就要求各部門所用的數據庫既能高度自治地工作,又能進行信息共享。本文主要介紹多dm3數據庫系統間的信息共享機制。 不同dm3數據庫系統間的信息共享通過協調器實現。所有這些被協調器連接在一起的數據庫系統組成了一個聯邦數據庫。這樣既能較好地滿足企業的需要,也能在保障效率的前提下,提高數據的可用性。

關鍵詞: dbms 復制 聯邦數據庫

1.引言

隨著經濟的發展,企業的規模越來越大,其積累的信息也越來越多。存在著各部門所處理的信息多數只對本部門有效,僅有少數信息需給其它某些部門共享的問題。這種信息的分布性和獨立性要求對所處理的數據進行分類,使各部門既能獨立地處理本部門大多數數據,也使部門間能協調處理跨部門的事務。在這種情況下,對整個企業建立一個的緊密耦合的分布式數據庫是很困難的,也是沒必要的,特別是大型企業,這樣的數據庫的效率往往是很低的。

為解決這個問題,我們采用以下策略:每個部門使用一套緊密耦合的數據庫系統,而在存在跨部門事務處理的數據庫系統間用一個協調器聯起來。這樣就組成了一個橫跨整個企業,各部門高度自治的聯邦數據庫系統。

dm2是由華中理工大學數據庫多媒體技術研究所研制的數據庫管理系統。它采用客戶/服務器模型,客戶機與服務器,服務器與服務器均通過網絡互連,通過消息相互通訊,組成一個緊密耦合的分布式數據庫系統。它的工作流程如下:客戶機登錄到一臺服務器上,這臺服務器便成為它的服務器;它接收來自客戶機的消息,然后根據全局數據字典決定是自己獨立完成該操作,還是與其它服務器協作處理這條消息,處理完成之后,再由服務器將處理結果返回給客戶機。

而數據字典,作為記錄數據庫所有元數據的系統表,它向以上過程中提供各類有用的信息,引導它們向正確的方向運行,起著“指南針”的作用。它分為局部數據字典和全局數據字典。其中,局部數據字典用于記錄一個服務器站點中數據庫的控制信息,如表的模式,視圖的模式及各個數據區的的文件名等信息。全局數據字典用于記錄分布式數據庫系統中各個服務器站點上有關全局數據的控制信息,如服務器站點信息,各服務器站點的全局表名及表內碼記錄,各服務器站點上的全局數據視圖名及視圖內碼記錄,用戶名及口令記錄,用戶權限記錄等信息。各個局部數據字典可以各不相同,但為了保障在各個服務器上所看到的全局數據庫是一致的,因此,全局數據字典必須一致。我們所關心的是全局數據字典中的基表控制塊tv_ctrl_block,它的內容主要包括:全局基表總數,每個全局基表名和其對應的表內碼,該基表所在的服務器站點的編號等信息。它的功能是將各個服務器站點號與存儲在其上的表名及表內碼聯系起來。這樣,服務器從客戶消息中找到被處理的表名,然后通過查詢基表控制塊tv_ctrl_block,就能知道該表存在哪個服務器上,以便將相關消息發給該服務器。

由于dm2上各個服務器站點的全局字典相同,任何全局表的信息都會記入全局字典。若用它來構建一個企業的數據庫系統,則大量只對企業某部門有用的信息將會充斥在各部門所有服務器的全局字典中,增加了冗余。而且,當對全局表進行ddl操作時,為了確保全局字典的一致性,須對所有服務器的全局字典進行加鎖。dm2對全局字典的封鎖方式是采用令牌環方式,即令牌繞虛環(非實環)傳輸,某個服務器想對全局字典進行操作,必須等令牌到達該服務器才可以執行。每個部門建立的全局表絕大多數只對本部門有用,當對這些表進行ddl操作時,卻要對所有服務器的全局字典進行封鎖,通過令牌來實現對全局字典的互斥訪問。假如,兩個部門都要分別對本部門的內部表進行ddl操作,這應該是可以并行處理的操作,現在卻只能串行執行。而且,當服務器數目龐大時,每個服務器等待令牌的時間將會很長。這嚴重損害了數據庫的效率。

為彌補以上不足,在dm2的改進版本dm3中增加了協調器,用以聯接各個獨立的dm3數據庫子系統,并協調各子系統間的各種關系,使各子系統既能高度自治地工作,又能進行有效的信息共享。

2.體系結構

本系統可看作多個數據庫子系統被協調器聯起來的,高度自治的一個聯邦數據庫系統。其中,每個子系統獨立處理本系統內部的事務,而子系統間的信息共享由復制技術提供,副本間的一致性由協調器協調處理,處理所需的信息在初始化時寫入協調器的組間數據字典中。當對某子系統中的一份數據副本進行修改時,該子系統會將修改通知協調器,由協調器對該數據的其它副本進行修改,從而保障了所有副本的一致性。

由以上可知,子系統彼此并不直接接觸,而是各自都與協調器直接相聯,由協調器統一管理子系統間的通信。這樣,當子系統對副本進行修改時,不必關心相應的子系統處于何種狀態,也不必等待回應消息,以及異常處理,所有這些都由協調器進行管理。因此,既提高了系統運行的效率,也保障了子系統的獨立性。其體系結構如下圖所示。

協調器主要有三大功能,首先,它對協調器和服務器進行初始化,并將有關信息存入組間字典;其次,它管理不同子系統間的通信,維護副本的一致性;,它在子系統出現崩潰時,進行異常管理及恢復工作。

dm3多數據庫系統體系結構

3.主要策略

多個dm3系統間的信息共享是通過副本實現的,副本的一致性是由協調器來維持的,是一種弱一致性。通常,多數據庫系統間的一致性是通過協調器周期性地訪問服務器的日志來完成的。由于副本的更新帶有隨機性,因此,若采用這種方法,可能數據被修改多次,但其相對應的副本仍未被修改,這樣就損害了數據的一致性;也可能數據并未被修改,但協調器已多次訪問了服務器的日志了,這樣就降低了系統的效率。

所以,本系統采用的方法是當數據被修改時,由服務器通知協調器有關信息,再由協調器通知相關系統,修改相關數據。這樣,數據的修改及時(仍然是弱一致性),而協調器也不會在數據未被修改的情況下訪問服務器,提高了性。

為了使協調器正常工作,我們對底層數據庫管理系統dm2進行了修改。在基表控制塊tv_ctrl_block中增加一項isreplication。建表時,該項初始化為false;當為該表建立一個副本時,該項賦值為true。具體算法如下。

3.1初始化算法。

數據庫系統論文:淺析數據庫系統中安全訪問技術

摘要:基于網絡的數據庫訪問安全問題,即數據庫遠程訪問安全問題成為研究熱點問題,本文針對信息系統中基于廣域網的數據庫訪問帶來的非法訪問、黑客攻擊、數據的截取、篡改等安全問題提供了建立一個安全系統對數據庫的訪問的思路,并對其中整個系統結構進行分析。

關鍵詞:數據庫 安全 系統結構分析

0 引言

隨著信息時代的到來,各種信息爆炸式發展并積累著,這涉及到人們日常生活、企事業單位的管理、各種科研活動以至國家的宏觀經濟調控等等各個方面。采用計算機對各種信息作為數據進行管理成為高效科學的手段,這也促進了計算機數據庫的發展。目前,基于計算機網絡的系統正得到越來越廣泛的應用,計算機網絡的開放性和信息的安全性之間的矛盾日益突出。基于網絡的數據庫訪問安全問題,即數據庫遠程訪問安全問題成為研究熱點問題[1,2],本文針對信息系統中基于廣域網的數據庫訪問帶來的非法訪問、黑客攻擊、數據的截取、篡改等安全問題提供了建立一個安全系統對數據庫的訪問的思路,并對其中整個系統結構進行分析。

1 數據庫安全訪問系統結構

為了達到安全訪問數據庫的目的,在傳統的數據庫訪問方式中加入加密和認證安全技術以及防火墻技術,形成新的數據庫訪問結構,而新加入的模塊以的形式在起作用。

1.1 總體系統結構 數據庫安全訪問用來提供用戶身份認證和數據庫訪問服務并提供了網絡傳輸加密服務。所有的客戶方的數據庫訪問請求都通過數據庫安全訪問進行轉發。客戶方數據訪問用于接收所有的客戶應用數據庫訪問請求(包括數據庫客戶的連接建立和連接斷開請求),并負責向數據庫客戶傳送數據庫訪問的結果。數據庫訪問請求是按照協議格式化為數據報提供給數據加密/認證客戶端,而數據庫訪問結果是按照協議格式由數據加密/認證客戶端提供。數據加密認證客戶端完成客戶端的數據加密和認證工作,同服務器端的數據加密/認證服務器一起完成強大的數據加密功能保障數據安全。數據加密/認證服務器接收通過廣域網(或者是局域網)傳輸的客戶端發出的數據庫訪問請求數據報,這個請求是經過數據加密/認證客戶端加密的。解密后的數據傳遞給數據庫訪問服務器。然后將數據庫訪問服務器返回的結果加密通過網絡回送客戶端。

可以看到系統將廣域網包含在內部。廣域網是數據庫訪問中的最薄弱環節,容易引起各種安全問題。采用后廣域網中傳輸的是加密后的數據,配合認證簽名技術可以保障數據不被竊取篡改,極大的提高了系統的數據安全性。數據庫訪問服務器主要用于向數據庫服務器提出所客戶的數據庫訪問請求,并負責接受應答,執行真正的數據庫操作。

1.2 安全訪問的中間件特點 數據庫安全訪問處在應用和數據庫之間,起一個數據庫中間件的作用和結構。可以在系統中,對數據庫的訪問請求進行控制管理,配合數據庫的特點,達到發揮較大數據庫性能的目的,例如建立數據庫連接池。這種模型克服了傳統的客戶/服務器模型的缺點,具有可重用性、靈活性、可管理性、易維護性等一系列優良的特性。遠程過程調用中間件(rpc,remote proeedure call)在客戶/服務器計算方面,比數據庫中間件又邁進了一步。即c的靈活特性使得它有比數據庫中間件更廣泛的應用,它可以應用在更復雜的客戶/服務器計算環境中。

1.3 安全訪問的作用 之所以稱為是因為系統接收數據庫應用的數據庫訪問請求,把請求映射到系統對于數據庫的訪問,而系統不對這些請求進行過于復雜的處理。同其它系統一樣,這種具有能夠加入安全控制的特點,同時系統對外接收數據庫訪問請求,而數據庫系統可以只接受的訪問請求,起到隔離和安全保護作用。另一個重要特點是,可以加入到己經開發應用的信息系統中,極大提高原有系統的安全性能而不需要重新開發。

1.4 安全訪問的防火墻作用 現在網絡的一個現狀是黑客的攻擊廣泛存在。攻擊后果可以是竊取信息、使系統癱瘓或者造成網絡堵塞。數據庫安全訪問可以起應用級網關類別的防火墻作用,服務器而不是數據庫暴露在廣域網中,對數據庫的訪問都是通過服務器來完成。服務器采用防火墻技術對抗黑客的各種攻擊,以及配合數據加密和身份認證技術,使系統達到極大的安全要求。數據庫和服務器處于一個局域網之中,不會受到廣域網用戶的訪問或者攻擊,同時數據庫的原有安全措施在起作用。

1.5 安全訪問系統采用ssl加密認證技術 系統中的數據加密和身份認證及簽名采用ssl技術來完成。系統中的數據加密和身份認證及簽名采用ssl技術來完成。應用程序通常使用ipc (interporcess communications facility)與不同層次的安全協議打交道,在不同傳輸層協議中工作。流行的工pc界面是badsockets和tli。在unix系統v命令里可以找到。在internet中提供安全服務的首先一個想法便是強化它的ipc界面,如bsd sockets等,具體做法包括雙端實體的認證,數據加密密鑰的交換等。

1.6 安全訪問系統形成多層結構 為了克服由于傳統客戶/服務器模型的這些缺陷給系統應用帶來的影響,一種新的結構出現了,這就是三層(n層)客戶/服務器模型。三層客戶/服務器結構構建了一種分割式的應用程序。系統對應用程序進行分割后,劃分成不同的邏輯組件,主要分為三層:用戶服務層,業務處理層,數據服務層。系統中由于安全訪問的加入而形成多層結構,安全形成獨立的一層,與其它層通過標準的數據庫訪問接口,這就提供了極大的靈活性,每一層的改變可以不影響其它層。這也很大程度上降低了數據安全訪問的設計復雜性。

1.7 安全訪問系統采用odbc技術 odbc之所以能夠操作眾多的數據庫,是由于當前絕大部分數據庫全部或部分地遵從關系數據庫概念,odbc看待這些數據庫時正是著眼了這些共同點。odbc基本思想是提供獨立程序來提取數據信息,并具有向應用程序輸入數據的方法。odbc接口的優勢之一為互操作性,程序設計員可以在不指定特定數據源情況下創建odbc應用程序。從應用程序角度方面,為了使每個驅動程序和數據源都支持相同的odbc函數調用和sql語句集,odbc接口定義了一致性級別,即odbc api一致性和odbc srl語法一致性。

1.8 安全訪問系統對于應用的透明性 對于應用的透明性是指對應數據庫應用來說,采用或者不采用數據庫安全訪問,對于數據庫的訪問方法沒有區別。技術的透明性可以達到一個向上繼承的作用,這也是很大的優點。對應用的透明性是通過采用標準的數據庫訪問技術來達到的,數據庫應用的每一個數據庫訪問操作經過訪問系統映射為同樣的數據庫訪問實施于數據庫,對ap工調用進行一對一的映射,所以原來開發系統不需要改動。也為系統的方案設計提供了靈活性。

1.9 安全訪問系統中數據的壓縮傳輸 數據庫安全訪問中,數據的傳輸要通過工nternet來完成。帶寬相對于局域網來說要窄的多,造成數據庫訪問的瓶頸,影響速度。對于使用很廣泛的撥號上網方式來說,速度問題更為重要。所以考慮采用數據壓縮傳輸。數據的壓縮是作為ssl的一部分存在的,采用的主要壓縮技術是zlib。通常的壓縮比可以達到2:1~5:1。

2 結語

通過廣域網的數據庫訪問,存在用戶的身份認證、黑客的攻擊、數據的被竊取、篡改等安全問題,以及廣域網帶寬窄造成的速度慢問題。為信息系統的開發應用造成了困難。上述問題可以通過數據庫安全訪問解決。訪問具有中間件的特點介于數據應用和數據庫之間,形成了一個數據庫訪問的多層結構。這些結構特點使相對獨立,降低系統的復雜度。

數據庫系統論文:入侵檢測技術在數據庫系統的應用

[摘要] 入侵檢測是檢測和識別針對 計算 機系統和 網絡 系統的非法攻擊或違反安全策略事件的過程。數據庫入侵檢測系統的研究與設計借鑒了針對網絡和針對主機的入侵檢測技術,又考慮了數據庫自身的特點。

[關鍵詞]入侵檢測入侵分析數據庫系統

傳統的數據庫安全機制以身份認證和存取控制為重點,是一種以預防為主的被動安全機制,無法滿足日益增長數據庫對安全的需要。近年來對數據庫入侵檢測機制的研究受到了廣泛關注和重視。通過建立異常檢測機制,有效地發現用戶在使用數據庫過程中可能發生的入侵和攻擊,以期達到保護數字圖書館數據庫安全的目的。

1入侵檢測簡介

入侵檢測是檢測和識別針對計算機系統和網絡系統,或者更廣泛意義上的信息系統的非法攻擊,或者違反安全策略事件的過程。它從計算機系統或者網絡環境中采集數據,分析數據,發現可疑攻擊行為或者異常事件,并采取一定的響應措施攔截攻擊行為,降低可能的損失。在入侵檢測系統中,系統將用戶的當前操作所產生的數據同用戶的 歷史 操作數據根據一定的算法進行檢測,從而判斷用戶的當前操作是否屬于入侵行為,然后系統根據檢測結果采取相應的行動。入侵檢測作為一種積極主動的安全防護技術,提供了對內部攻擊、外部攻擊和誤操作的實時保護,在網絡系統受到危害之前攔截和響應入侵。入侵檢測系統能很好地彌補防火墻的不足,從某種意義上說是防火墻的補充。入侵檢測技術是計算機安全技術中的重要部分,它從計算機系統中的若干關鍵點收集信息,并分析這些信息,檢測計算機系統中是否有違反安全策略的行為和遭到襲擊的跡象。入侵檢測系統在幾乎不影響計算機系統性能的情況下能對計算機系統進行實時監測,并對系統提供針對內部攻擊、外部攻擊和誤操作的實時保護。入侵檢測技術通過對入侵行為的過程與特征的研究,使安全系統對入侵事件和入侵過程能做出實時響應。入侵檢測技術擴展了系統管理員的安全管理能力,提高了信息安全基礎結構的完整性。

2入侵檢測技術分類

(1)從數據的來源看

入侵檢測通常可以分為兩類:基于主機的入侵檢測和基于網絡的入侵檢測。基于主機的入侵檢測通常從主機的審計記錄和日志文件中獲得所需的主要數據源,并輔之以主機上的其他信息,例如文件系統屬性、進程狀態等,在此基礎上完成檢測攻擊行為的任務。基于網絡的入侵檢測通過監聽網絡中的數據包來獲得必要的數據來源,并通過協議分析、特征匹配、統計分析等手段發現當前發生的攻擊行為。從數據分析手段來看,入侵檢測通常又可以分為兩類:誤用入侵檢測和異常入侵檢測。誤用檢測的技術基礎是分析各種類型的攻擊手段,并找出可能的“攻擊特征”集合。誤入侵檢測的定義為:識別針對計算機或網絡資源的惡意企圖和行為,并對此做出反應的過程。入侵檢測系統則是完成如上功能的獨立系統。入侵檢測系統能夠檢測未授權對象,針對系統的入侵企圖或行為,同時監控授權對象對系統資源的非法操作。

(2)從數據分析手段看

入侵檢測通常可以兩類:濫用入侵檢測和異常入侵檢測。濫用入侵檢測的技術基礎是分析各種類型的攻擊手段,并找出可能的“攻擊特征”集合形成特征庫或者模式庫,濫用入侵檢測利用形成的特征庫,對當前的數據來源進行各種分析處理后,再進行特征匹配或者規則匹配工作,如果發現滿足條件的匹配,則指示已經發生了一次攻擊行為然后入侵檢測系統的響應單元做出相應的處理。異常入侵檢測是通過觀察當前活動與系統歷史正常活動情況之間的差異來實現。這就需要異常入侵檢測建立一個關于系統正常活動的狀態模型并不斷更新,然后將用戶當前的活動情況與這個正常模型進行對比,如果發現了超過設定值的差異程度,則指示發現了非法攻擊行為。

相比較而言,濫用入侵檢測比異常入侵檢測具備更好的確定解釋能力,即明確指示當前發生的攻擊手段類型,另外,濫用入侵檢測具備較高的檢測率和較低的虛警率,開發規則庫和特征集合相對于建立系統正常模型而言,要更容易、更方便。但是,濫用入侵檢測只能檢測到已知的攻擊模式,模式庫只有不段更新才能檢測到新的攻擊類型。而異常檢測的優點是可以檢測到未知的入侵行為,盡管可能無法明確指示是何種類型。從現有的實際系統來看,大多數都是基于濫用入侵檢測技術,同時也結合使用異常入侵檢測技術,提高了檢測率并降低了虛警率。

3數據庫系統的安全

數據庫系統的安全框架可分為三個層次: 網絡 系統層次、宿主操作系統層次和數據庫管理系統層次。由于數據庫系統在操作系統下都是以文件形式進行管理的,因此入侵者可以直接利用操作系統的漏洞竊取數據庫文件,或者直接利用os 工具來非法偽造、篡改數據庫文件內容。因此,數據庫系統的安全性很大程度上依賴于數據庫管理系統。如果數據庫管理系統安全機制非常強大,則數據庫系統的安全性能就較好。根據數據庫安全的三個層次,筆者提出了一個數據庫入侵檢測系統,其外層用基于網絡的入侵檢測,中間層用基于主機的入侵檢測,內層采用入侵容忍。此系統采用系統整體安全策略,綜合多種安全措施,實現了系統關鍵功能的安全性和健壯性。

4數據庫入侵檢測技術

數據庫入侵檢測系統的研究與設計借鑒了針對網絡和針對主機的入侵檢測技術,在此基礎上,又考慮了數據庫自身的特點。按照檢測方法分為: 誤用檢測和反常檢測。

(1)數據庫誤用檢測

誤用檢測是指將已知的攻擊特征存儲在誤用特征知識庫里面,然后根據用戶的當前操作行為與知識庫里的誤用入侵規則進行匹配檢驗,如果符合知識庫中的入侵特征,則說明發生了入侵。誤用特征知識庫中的入侵規則由安全專家定義,可以隨時添加、修改,然后保存在知識庫中,用來對審計數據進行匹配比較。誤用檢測的優點是檢測的率高,缺點是只能對已知的攻擊特征進行匹配檢驗,對未知的攻擊類型無法發現,而對未知攻擊類型的檢測要依靠異常檢測。所以,誤用檢測常常與異常檢測結合起來使用。

(2)數據庫反常入侵檢測

反常檢測是指將用戶正常的習慣行為特征存儲在特征數據庫中,然后將用戶當前行為特征與特征數據庫中的特征進行比較,若兩者偏差足夠大,則說明發生了反常。這種方法的優勢在于它能從大量數據中提取人們感興趣的、事先未知的知識和 規律 ,而不依賴經驗,應用在基于數據庫的入侵檢測系統中,可以從大量的數據中發現有助于檢測的知識和規則。

數據庫系統論文:分布式數據庫系統的安全策略和機制

摘要:針對分布式數據庫系統的安全性要求,從身份驗證、保密通信、訪問控制、庫文加密等方面,對分布式數據庫的安全策略和機制進行了比較和分析。

關鍵詞:分布式數據庫:安全機制;身份驗證;訪問控制;加密

分布式數據庫是指物理上分布于多個網絡站點,而邏輯上統一的數據庫系統,它由一組通過網絡互連的服務器和客戶機組成。系統中的用戶訪問分布式數據庫時,首先由任意一個客戶機登錄,進行身份驗證,系統確認該用戶的合法身份后,接受該用戶提出的數據庫訪問請求,并將請求經用戶接口轉換后。由編譯層進行語法語義分析、權限檢查等操作。而后提交本地或遠程事務管理層監督執行。同集中式數據庫系統相比,分布式數據庫系統存在的安全問題主要有:

(1)一個分布式數據庫系統常常具有多個用戶和用戶組,而這些用戶和用戶組又通常分布于系統的各個站點。因此,確認系統中用戶的合法身份顯然較集中式數據庫系統的方法更為復雜。

(2)分布式數據庫系統內的用戶通常需要共享系統內的數據,而這些數據可能由不同的用戶存儲,并可能分布在多個站點上,同一數據對不同用戶可能具有不同的安全要求。

(3)單純的只根據用戶安全級別進行的訪問控制可能造成未授權信息的泄露。

因此,對于分布式數據庫系統來說,安全策略是安全體系結構中的重要部分。安全策略是規定一組如何管理、保護和分配敏感信息的法律以及規則和實踐經驗的集合。安全機制是對安全策略的實現,如密碼體制、數字簽名、訪問控制等。下面詳細闡述分布式數據庫系統的安全策略及機制中目前所使用的相關技術。

1、身份驗證

1.1用戶登錄

常使用的是系統給每個合法用戶分配一個的用戶標識和口令。高級系統要使用智能卡技術、物理特征(指紋、聲紋、手圖、視網膜等)認證技術、數字簽名等。

1.2站點間身份驗證

Kerberos是基于對稱密碼體制的雙向身份驗證協議,各站點從密鑰管理中心獲得與耳際站點通信用的秘密密鑰。基于公鑰密碼體制拘雙向身份驗證協議,每個站點都生成一個非對稱密碼算法(RSA)的公鑰對,其中私鑰由站點自己保存,并通過可信渠道把自己的公鑰分發到分布式系統的其他站點,然后任意兩個站點可以利用所獲得的公鑰信息相互驗證身份。

2、保密通信

使用保密通信技術,可有效地防止黑客在網絡信道上監聽竊取數據。數據鏈路層上有加密機、加密卡。網絡層上有IPSEC協議規范的安全路由器和通信軟件。傳輸層上有安全套接字協議(SSL)。應用層上有安全軟件。

3、訪問控制

系統使用合適的訪問控制模型和機制對用戶的數據訪問請求進行是否授權的檢查。通過各級別檢查的請求才能被系統執行相應的操作。

(1)自主訪問控制模型(DAC)基于用戶的身份和訪問控制規則。允許用戶將其訪問權力賦予其他用戶。主要缺點是難以控制已被賦予出去的訪問權限。

(2)強制訪問控制模型(MAC)。主體和客體被賦予安全級,安全級包含兩個元素:密級和范圍。主體的安全級反映主體的可信度,客體的安全級反映客體所含信息的敏感程度。MAC訪問控制的規則是不準上讀,主體只能讀安全級受其安全級支配的客體;不準下寫,主體只能寫安全級支配其安全級的客體。MAC會引起多級關系和多實例問題。

(3)基于角色的訪問控制模型(RBAC),提供了解決具有大量用戶、數據客體和訪問權限的系統中授權管理問題。涉及用戶(USER)、角色(ROLE)、訪問權(PERMISSION)、會話(SESSION)等主要概念。現在有四種RBAC模型:基本模型RBAC0,指明用戶、角色、訪問權和會話之間的關系;層次模型RBAC1,是偏序的。上層角色繼承下層角色的訪問權:約束模型RBAC2,除了包含RBAC0的所有基本特性外。增加了對RBAC0的所有元素的約束檢查,只有擁有有效值的元素才可被接受;層次約束模型RBAC3,兼有RBAC1和RBAC2的特點。RBAC與策略無關,可靈活運用于各種不同的安全策略。

4、庫文加密

庫文數據加密是將需要保護的數據(明碼文)在秘密信息(密鑰)的作用下按照一定的規則(加密算法)變換成他人無法識別的形式(密碼文)。

(1)加密/解密算法。常用的有:DES算法、RSA算法、MH背包算法。MH背包算法是一種適合數據庫加密的算法。

(2)加密粒度。基于文件的加密:單機上的數據庫系統使用,使用傳統的單密鑰密碼體制(DES)。基于記錄的加密:在各自密鑰的作用下,將數據庫的每一個記錄加密成密碼文并存放于數據庫文件中;記錄的查找是通過將需查找的值加密成密碼文后進行的。不能實現如索引、連接、統計、排序等操作。基于字段的加密:將記錄中的一部分字段加密。索引項、比較、表問的連接碼等字段不能加密。

小結

對于分布式數據庫來說,安全和效率是很難兼得的,這就要求我們在選擇安全策略的時候應盡量平衡這兩方面的因素。通常情況下需要多種安全機制相結合。對于安全性要求不高的系統使用基于口令的身份驗證和訪問控制就足夠了。對于通訊線路保密有要求的話還需要使用保密通信和加密的機制。對于高安全級別的系統而言除了這些安全機制外,訪問控制模型和密鑰管理的選擇也十分重要。基于角色的訪問控制模型能滿足要求又比較容易實現:多級安全訪問控制模型比較適合政府機關、金融機構、軍事組織等場合。總之沒有一種方法能夠解決所有問題,應該在實踐中不斷探索,在安全與效率上找到的結合點。

數據庫系統論文:原型法數據庫系統在工藝品創新中的應用

摘要:針對工藝品設計的特點,文章運用原型法,并結合數據庫技術,闡述了工藝品模型數據庫系統的創建過程;同時運用基于VRML的虛擬現實技術實現了模型的數字化構建和實時效果的三維預覽功能,為工藝品的創新提供了一種方法。

關鍵詞:原型法;數據庫;工藝品;模型;應用;虛擬現實;Delphi

0 引言

在工藝品設計中,設計人員針對用戶需求,根據現有的工藝品模型首先構造一個簡單的原型系統,然后,通過對原型系統逐步求精,不斷進行試探和迭代組合,創造出新的符合用戶需求的工藝品。原型系統在設計過程中得到不斷擴充和完善;隨著設計的進行,模型的數量也會越來越龐大,有效地管理和應用這些模型信息是工藝品創新設計的重要手段,因此在工藝品創新設計中建立原型法數據庫系統是非常必要的。

1 工藝品原型法數據庫系統設計

1.1 利用原型法進行描述

工藝品原型法數據庫系統要求具有智能生成新工藝品的功能,它的目標是根據設計人員的設計要求,設計出符合產品設計要求的設計方案,是一個面向目標,又具有約束的不斷的探索過程。工藝品是一種特殊的產品,與傳統的機械產品相比,其形態可塑性更強,觀賞性因素在設計中擺在相當突出的位置。根據這些要求和特點,我們運用了基于原型的CAD方法來分析和設計工藝品原型法數據庫系統。設計原型是對一些定性或定量的設計要素的組合,概括了同類事物的基本特征,在進行設計時原型給出了一個基本的設計對象描述模型,限定了設計模型,對設計過程起到推進和引導作用。工藝品對象的原型表達及組織如下:

|

|||

工藝品原型描述如圖1所示。

工藝品原型包含工藝品名,一組子原型,子原型間的結構關系,特征,實例。

其中,每個原型可有幾個子原型組成,而每個子原型同時又是一個原型,它也可以包含其它子原型,是一個遞歸嵌套的結構,當子原型為基本型時,遞歸就結束,即設計推理過程終止。工藝品基本型包含基本型名稱,基本型特征參數。

由于該系統是一個工藝品創新設計平臺,所以客觀上要考慮到設計者的主動性,不能是僅僅把一些素材建成庫后給設計者瀏覽,那樣就只完成了一個工藝品展示平臺。另一方面,也不能給出一個空庫讓設計者自己把所有的組件一一輸入,之后再挑選,那樣將失去當初使用計算機創新平臺來取代人為工作的必要性。根據原型法思想要先建立一個基本素材庫,庫中有可供設計者選擇的所有基本組件及組件信息。設計者通過展示平臺觀察并挑選合適的組件加入到創新平臺上。素材庫中的組件(原型)和亞組件(子原型)都為基本的、不可分解的。在把組件加入數據庫前要先對它進行分析,確定它是原子的,不可分的。通過交互式操作,設計者不斷把自己組合加工的新組件、新產品充實數據庫,這就是原型法逐步完善的思想。

1.2 數據庫系統的要求和結構

1.2.1 數據庫系統要求

使用原型法的較大好處是能在很短的時間內(幾周甚至幾天)構造出一個符合用戶要求的基本模型。這樣的一個基本模型,無論是在功能還是性能上,都是最終模型的一個真實表示。另外,還要能快速地(幾小時甚至幾分鐘)響應用戶提出的修改要求。這樣,對原型法的工作環境就有一個基本的要求,必須具備下述幾點:

(1)有一個方便靈活的數據庫管理系統(DBMS),如DB2、ORACLE、SYBASE等。對需要的文件和數據模型化,適應數據的存儲和查找要求,方便數據的存取。

(2)一個與數據庫(DB)對應、方便靈活的數據字典,具有存儲所有實體的功能。

(3)一套高級的軟件工具(如第四代自動生成語言4GL或開發生成環境等),用以支持結構化程序,并且允許程序采用交互迅速地進行書寫和維護,并產生任意程序語言模塊。

(4)一套與數據庫(DB)對應的快速查詢語言,支持任意非過程化的組合條件查詢。

(5)一個非過程化的報告,屏幕生成器,允許設計人員詳細定義報告,屏幕樣本以及生成內部聯系。

1.2.2 數據庫系統結構描述

數據庫系統結構設計是該系統的基礎,直接影響到整個系統的功能實現,該數據庫的設計與一般管理類數據庫有所區別,工藝品作為一個特殊的產品,它有自己的理念與原則,其可塑性和觀賞性要強,在設計中要認真把握。從圖l中我們可以看到,數據庫應用的目標是一個具有任意層次遞歸嵌套的原型描述,每個原型可以由任意多個子原型構成,而子原型本身又允許由任意多個子原型構成,如此遞歸。這種結構可以運用樹形的數據庫外模式組織結構。

數據庫的具體結構為:產品表(產品名,產品類別,朝代,紋飾,用途,形態走向,細節特征,側線,截面,產品VRML文件名);產品類別表(產品類別,產品組件數);部件表(部件名,部件類別,產品名,部件形態走向,部件細節特征,部件側線,部件截面,部件VRML文件名);產品組件表(產品組件名稱,所屬類別,組件序號,主組件標識);產品組件定位器表(部件名,產品類別,定位器名,定位器個數);產品組件定位表(定位器名,產品類別,組件序號)。

產品表所要描述的數據項就是工藝品的樣品原形,在建立工藝品模型庫的時候,一開始要選擇一定數量的工藝品樣本來作為整個數據庫的原型。之后設計者所進行的創新工作都是在這些樣本的基本型的基礎上進行。產品表是本數據庫中最重要的一張表,其中有關具體樣本的各類信息都被存儲在該表內,包括組成樣本的組件信息也是從該表中檢索出來的。另外產品表中還包含了很多有關樣本檔案和幾何造型的說明,這些說明在工藝品展示平臺上將會表現出來,使設計者對組件有一個的了解。

產品表記錄了數據庫初始化設置的所有的產品原型的信息。這些產品部是各類不同的工藝品分支中具有代表性的,所以把它們作為數據庫的原型在設計前存入數據庫。并且數據庫中各種可供設計者選擇使用的組件也是用特征提取的方法從這些產品原型中分解下來的。可以說它們是工藝品創新設計系統的初始母本。

部件表 是存放組成工藝品部件信息的表格,對樣本原型提取特征信息的方法把工藝品原型分解成各個組件,即部件。在實際的工藝品創新設計中,部件才是操作的對象,設計者根據自己的判斷選擇不同的部件組合在一起,形成自己的產品。

產品類別表 也是構成數據庫的主要表格之一,但它本身很小,只有兩項屬性。產品類別表是把整個工藝品系統分為了若干類,并顯示類的信息的表。

產品組件表是構成產品原型的具體組件信息的表格,它 所存放的是產品原型由哪幾類部件構成。

產品組件定位器表 是描述構成產品的各部件之間的關系以及部件組成整個產品的具體信息。

產品組件定位表 是一張輔助性表格,它的作用是把組件名和組件序號相聯系起來。

2 工藝品原型法數據庫系統的實現

原型法要有一個良好的工作環境。Oracle中的工具SQL-FORMS、SQL-REPORT、SQL-GRAPH、SQL-MENU等都可作為原型法開發系統的工具。第四代自動生成語言軟件開發工具是支持原型開發的有力工具。如數據庫語言、圖形語言,決策支持語言,屏幕生成器,報表生成器,菜單生成器,項目生成器等。

所以該系統采用Oracle 10g數據庫,用Delphi來開發設計。Oracle 10g是一種簡單易用、功能強大的數據庫系統。Delphi自帶了一個數據庫引擎BDE并封裝了ADO技術,與數據庫連接非常方便,同時Delphi又提供了大量的有關數據庫的控件。利用這些控件,可以快速、高效地開發應用程序。

為了讓設計者更快速地創建新的工藝品,系統提供了一個展示庫中模型的功能,模型列表是一個樹型結構,排列方式是按工藝品的類進行組織,結構清晰,設計者可以快速進入自己感興趣的部分。用樹型結構來設計,也反映了原型法的設計思想,與原型法的設計思路相吻合。同時更方便了用戶(工藝品設計者)的操作,提高了設計效率。用Delphi提供的Ttree View類實現該樹型結構。

系統中涉及到的所有模型(組件或產品)全部采用VRML(Virtual Reality Modeling Language,即:虛擬現實建模語言)編寫。系統在ActiveX瀏覽器組件的基礎上,建立了TwebBrowser類作為模型展示的容器,來解釋和顯示工藝品模型數據,構建工藝品虛擬現實演示場景。由于VRML在模型展示方面具有較強交互性,所以工藝品模型展示效果較為理想,同時模型數據的再利用也能得到較好的保障。

3 結束語

針對工藝品模型數據種類多、數據量大等特點,利用原型法數據庫系統,由一個簡單的原型系統,通過不斷擴充和完善,建立工藝品創新設計體系,利用虛擬現實和ActiveX技術搭建的模型數據三維演示模塊,實現工藝品模型數據的統一管理和強大的三維瀏覽功能,為工藝品的創新提供了有力的支持。