亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        對象管理在面向對象數(shù)據庫中的應用研究

        2013-10-15 06:47:58楊玉芬李明明高曉旸
        吉林大學學報(信息科學版) 2013年5期
        關鍵詞:數(shù)據庫用戶系統(tǒng)

        楊玉芬, 李明明, 高曉旸

        (吉林大學 a. 網絡中心; b. 計算機科學與技術學院, 長春 130012)

        0 引 言

        近年來, 數(shù)據庫技術的應用領域不斷拓展, 傳統(tǒng)關系數(shù)據庫技術面對許多新的應用需求[1], 如計算機輔助設計與制造、 軟件工程、 超大規(guī)模集成電路設計、 計算機體系結構、 多媒體設計、 工程設計和地理信息系統(tǒng)等領域顯得無能為力。這些語義豐富的應用表現(xiàn)為: 數(shù)據密集、 復雜的數(shù)據結構和類型、 多媒體數(shù)據、 長事務、 版本約束和模式演進等, 所以被稱為非常規(guī)應用[2]。因為自身的諸多缺陷, 傳統(tǒng)的關系數(shù)據庫無法滿足這些應用的需求。隨著各種非常規(guī)應用對數(shù)據庫要求的不斷提高以及數(shù)據庫技術的發(fā)展, 產生了一種用來支持非常規(guī)應用的領域, 融合了面向對象的方法和數(shù)據庫技術的新一代數(shù)據庫系統(tǒng)----面向對象數(shù)據庫。

        1 數(shù)據模式及核心模型概念

        對象標識符是標識對象在全系統(tǒng)唯一的符號。對客觀世界的任何一個實體一致地處理成一個對象就簡化了用戶對客觀世界的看法。一個對象通過某些語義關系遞歸地與任何其他對象相聯(lián)系[3-6]。在面向對象的系統(tǒng)中, 一個對象與其他對象之間的關系是通過某些對象的引用 (Reference)表示的: “引用是對象的一些屬性值”。一個對象的引用是作為對象的對象標識符實現(xiàn)的。對象標識符是通過對象的一個復雜網絡進行導航的一種簡便方法。

        在面向對象的語言和系統(tǒng), 以及面向對象的概念的發(fā)展過程中沒有考慮規(guī)模很大的數(shù)據庫, 即, 它們假定所有的對象都駐留在一個大的虛擬存儲中。這指的是對象標識符已經是用作確定對象的唯一方法; 選擇任意一組滿足任意搜索謂詞組合的對象查詢概念, 對于面向對象語言和系統(tǒng)設計者來說已是一種格格不入的屬性和方法構成的對象狀態(tài)[7-9], 而非與對象相聯(lián)系的一組方法操縱對象的狀態(tài)。對象的屬性類似于關系數(shù)據庫中一個關系元組的屬性, 方法類似于某些層次數(shù)據庫系統(tǒng)中的過程(procedures)屬性說明, 除了屬性名以外可以包括語義完整性約束。完整性約束包括唯一性、 允許空值(NULL)存在以及屬性域等。

        圖1 復合對象

        一個屬性域是屬性值所屬的類: 它是類型檢查的基礎。屬性域可以是任何類, 包括基本類(如整數(shù)、 字符串等)。進一步, 一個屬性可具有一個單值或在其域內的一組單值。在核心模型中, 一個屬性可以有一組值, 這組值屬于同一個根的用戶類等級上。圖1中的運載工具(Vehicle)類具有4個屬性: 標示符(id)、 重量(weight)、 驅動(drivertrain)和制造商(manufacturer)。屬性id和weight的域是基本類, 包括: 整數(shù)和字符串。但屬性drivetrain和manufacturer的域卻分別是VehicleDrivetrain和Company類。而Manufacturer的屬性值可以是用戶指定的域Company的一些實例或Company類的任何子類。類似地, drivetrain屬性值可以是根在VehicleDrivetrain類的類等級中的任何類的一些實例。

        2 對象管理研究的方案和系統(tǒng)體系結構

        開發(fā)途徑主要歸納為4類: 數(shù)據庫系統(tǒng)生成器、 對象管理器、 擴展的關系數(shù)據庫系統(tǒng)和面向對象的數(shù)據庫設計語言。下面闡明OODBMS(Object Oriented Data Base Management System)的開發(fā)策略。

        2.1 對象管理器

        這種途徑開發(fā)的系統(tǒng)通常只有一個有限的模型, 可以把這樣的系統(tǒng)看成是對現(xiàn)存文件系統(tǒng)的擴充[10], 它支持對象的持久儲存, 也許還支持多用戶的并發(fā)控制, 但不提供查詢語言。實際上, 面向對象數(shù)據庫系統(tǒng)通常被當作一個完整的存儲管理層。開發(fā)對象管理器的最主要優(yōu)點在于: 一個OODBMS的高級特征通常不必花費時間和代價考慮, 這很適合于對簡單對象進行管理的場合。但在更多情況下, 對象管理器僅被當作一個OODBMS完整的核心模塊。MNEME就是這樣的一個系統(tǒng), 由美國Massachuseus大學開發(fā)的。

        2.2 系統(tǒng)的開發(fā)途徑

        筆者的目標是開發(fā)一個比較完善的OODBMS, 不僅具有OODB的特征和功能, 同時還要適合工程管理的需要。畢竟一個對象管理器的功能不完善[11-13], 應用非常有限。該系統(tǒng)實現(xiàn)的功能包含了對象管理器的功能, 系統(tǒng)的對象管理子系統(tǒng)是整個系統(tǒng)的核心模塊。筆者將與上層結構緊密結合, 同時也便于修改某些結構以便更加適合[14]。所以采用該方法縮短了開發(fā)周期, 減輕了課題的工作量, 而且隨著HBase的不斷升級, OODBMS也可以得到更多的支持。系統(tǒng)的上層特征, 即面向對象特征, 和C++密切相關, 對OODBMS來說, C++不僅是一種宿主語言, 許多的對象特征都是借用C++的機制體現(xiàn)的, C++目前是本系統(tǒng)向用戶提供的唯一開發(fā)環(huán)境??傊? 該系統(tǒng)將HBase和C++緊密結合, 借用二者的許多功能, 簡化了系統(tǒng)的開發(fā)工作。

        2.3 系統(tǒng)體系結構

        圖2展示了系統(tǒng)的總體結構, 兩層結構組成其主要框架, 上層基于OODBMS, 數(shù)據對象的語義特性是通過面向對象的思想和概念描述的。下層基于關系表結構的特征, 把關系的表結構抽象成類。同時把關系表中的元組抽象成實例對象。關系表中的屬性定義域可以是任意類, 其中作為上下層進行數(shù)據交換的場所就是對象緩沖區(qū)。

        圖2 系統(tǒng)總體結構

        3個子系統(tǒng)構成了上層結構, 他們分別是事務處理子系統(tǒng)、 用戶管理子系統(tǒng)和對象管理子系統(tǒng), 現(xiàn)分別說明如下。

        1) 用戶接口子系統(tǒng)。系統(tǒng)提供兩種形式的用戶界面, 終端用戶可通過用戶界面直接操作數(shù)據庫數(shù)據; 編程用戶可在C++語言中嵌套數(shù)據庫操作語言。

        2) 對象管理子系統(tǒng)。對象管理子系統(tǒng)由4個模塊組成: 類對象管理模塊、 實例對象管理模塊、 消息對象管理模塊和版本對象管理模塊。類對象管理模塊是OODBMS的重要組成部分, 其主要功能有: 類模式定義、 修改查詢和刪除, 類模式提供用戶定義新類的工具; 類模式查詢功能為用戶查詢模式結構提供了方便; 類模式修改使用戶能動態(tài)修改類屬性和組成結構; 類模式刪除模塊則幫助用戶動態(tài)地刪除系統(tǒng)中已經定義的類模式。每個實例對象標識的前16 bit為該對象所屬類標識, 后16 bit代表該類的實例化對象的個數(shù)(從0開始)。該設計方法不但保證了對象標識的唯一性, 同時還可從對象標識中提取該類標識等信息。類標識創(chuàng)建的框圖如圖3所示。實例對象標識創(chuàng)建的框圖如圖4所示, 它是由各類的最新產生實例對象標識oid添加而成, 從文件中可以得到系統(tǒng)各類的標識和其實例對象標識的最新值, 從而可以創(chuàng)建新的類對象標識和實例對象標識。DDL(Data Definition Language)對面向對象數(shù)據庫的模式進行說明。DDL必須支持的語義是OCDB(Original Content Database)數(shù)據模型。

        圖3 類標識創(chuàng)建框圖 圖4 實例對象標識創(chuàng)建框圖

        3) 事務處理子系統(tǒng)。事務處理子系統(tǒng)的主要功能是并發(fā)和恢復, 在事務開始和結束時, 保證數(shù)據庫的一致性和完整性。筆者設計的OODBMS需要實現(xiàn)事務管理的并發(fā)性和長事務。該子系統(tǒng)還未實現(xiàn), 故不在討論范圍。

        4) 數(shù)據存儲管理子系統(tǒng)。數(shù)據存儲管理子系統(tǒng)主要由對象緩沖區(qū)管理模塊和數(shù)據存儲模塊組成。對象緩沖區(qū)是對象存在的空間, 而數(shù)據存儲模塊則把存在對象緩沖區(qū)的對象變?yōu)槎M制數(shù)據存儲在物理空間, 從而實現(xiàn)對象的快速存取。

        3 對象緩沖區(qū)管理的研究

        對象緩沖區(qū)管理是OODBMS的核心部分, 負責對象在對象工作區(qū)的表示和組織、 對象在主存和輔存之間的轉移以及對象工作區(qū)的管理。該系統(tǒng)是在HBASE內核基礎上實現(xiàn)的, 其主要功能如下:

        1) 實現(xiàn)對象工作區(qū)的自動管理;

        2) 實現(xiàn)對象在工作區(qū)和物理空間的調入調出。

        在實現(xiàn)上述操作原語時將涉及到內存對象表的存取和操作, 下面給出內存對象表的實現(xiàn)過程[15]。內存對象表存放的是所有調入對象的存取信息, 每個表結點信息包括對象名, 對象標識, 對象所在對象工作區(qū)的地址, 對象在內存被引用的次數(shù)和回寫標志等。對象在內存被引用的次數(shù)是指該對象被內存中的其他對象引用的總次數(shù)。在訪問內存中的對象時系統(tǒng)將頻繁存取該內存對象表, 所以必須為該表提供高效的存取手段, 筆者為該表建立了基于對象工作區(qū)號的散列表, 該散列表用單鏈表的方法解決沖突, 內存對象表的結構表示如圖5所示。

        圖5 內存對象表的結構

        以下列出子系統(tǒng)對內存對象表提供的操作:

        slbwlcr()實現(xiàn)散列表結點插入操作;

        slbwlcz()實現(xiàn)散列表結點査找操作;

        slbwlsc()實現(xiàn)散列表結點刪除操作。

        以下說明對象管理子系統(tǒng)的幾個功能模塊的實現(xiàn)過程。

        1) Load-Object-In()調入對象到對象工作緩沖區(qū)(見圖6), 該模塊提示用戶輸入對象文件名, 由文件名得到對象名和對象標識, 將該對象登入對象內存表后, 調用Load-CurrRec()緩沖區(qū)管理函數(shù), 將該對象的全部信息調入對象工作區(qū)。

        2) Load-Object-Out()將對象調出對象工作緩沖區(qū)(見圖7), 該模塊在用戶輸入對象文件名后遍歷內存散列表查找該對象所在對象工作區(qū)的位置, 然后, 刪除該對象所在內存表上的結點, 同時執(zhí)行緩沖區(qū)管理函數(shù)Close-WA(), 關閉對象所在工作區(qū), 從內存中刪除該對象。

        3) 0_Buf_List(), 內存對象列表模塊如圖8所示。系統(tǒng)遍歷內存散列表查找出內存中的所有對象, 并將散列表各結點信息傳入顯示對話框, 由列表框列出各對象名及其所在工作區(qū)號供用戶選擇, 用戶可通過雙擊選擇顯示各對象的信息。

        圖6 Load_Object_In()的實現(xiàn) 圖7 Load_Object_Out()的實現(xiàn) 圖8 0_Buf_List()的實現(xiàn)

        4 結 語

        筆者介紹了面向對象數(shù)據庫的基本概念, 對OODBMS普遍具有的特性進行分析, 將這些特性按重要性、 公認性分為不同層次, 以盡早使OODBMS的開發(fā)實現(xiàn)得到理論指導。在此基礎上, 通過對POSTGRES95源程序代碼的閱讀, 提出一個在微機環(huán)境下的面向對象的數(shù)據庫管理系統(tǒng)OODBMS的設計過程和方法, 并完成了部分模塊功能。得到如下結果:

        1) 在數(shù)據模型中對類與對象、 對象標識, 繼承性等面向對象的基本特征進行了形式化描述, OODBMS的實現(xiàn)正是基于這種模型;

        2) 存儲管理子系統(tǒng)實現(xiàn)了物理層、 數(shù)據層和對象層三層存儲空間結構, 在傳統(tǒng)的內外兩層結構上增加了對象層的管理, 實現(xiàn)了關系型底層和面向對象的數(shù)據模型的良好結合;

        3) 版本管理子系統(tǒng)主要實現(xiàn)了對象的各種版本功能, 在實現(xiàn)版本樹的基礎上提供了各種版本的操作功能;

        4) 查詢管理子系統(tǒng)實現(xiàn)了面向對象特征和導航式查詢方式, 用戶可以進行從根類到各實例對象信息的查找。

        參考文獻:

        [1]金遠平. 面向對象數(shù)據庫系統(tǒng)中方法調用 [J]. 計算機研究與發(fā)展, 1997(2): 143-148.

        JIN Yuan-ping. Method Invocation in Object-Oriented Database System [J]. Computer Research and Development, 1997(2): 143-148.

        [2]許維平. 面向對象方法繼承性技術研究與實現(xiàn) [J]. 微機發(fā)展, 1997(6): 32-34.

        XU Wei-ping. Object-Oriented Methods Inherited Technology Research and Implementation [J]. Computer Development, 1997(6): 32-34.

        [3]陳睿. 面向對象數(shù)據庫中的次序關系 [J]. 計算機研究與發(fā)展, 1997(1): 19-27.

        CHEN Rui. Order Relation in Object-Oriented Database [J]. Computer Research and Development, 1997(1): 19-27.

        [4]袁曉東. 面向對象方法中的類型概念 [J]. 計算機研究與發(fā)展, 1997(10): 726-730.

        YUAN Xiao-dong. The Type Concept of the Object-Oriented Approach [J]. Computer Research and Development, 1997(10): 726-730.

        [5]李天柱. O-O數(shù)據模型中實體聯(lián)系的表示方法[J]. 計算機研究與發(fā)展, 1997(4): 275-280.

        LI Tian-zhu. O-O Data Model Representation of Physical Contact [J]. Computer Research and Development, 1997(4): 275-280.

        [6]陳楠. 面向對象數(shù)據庫技術的產生與發(fā)展 [J]. 計算機時代, 1997(12): 9-10.

        CHEN Nan. Object-Oriented Database Technology Generation and Development [J].The Computer Age, 1997(12): 9-10.

        [7]戚成功. 用C++語言實現(xiàn)OODB中對象多版本 [J]. 計算工程與應用, 1996(5): 21-25.

        QI Cheng-gong. Using C++ Language OODB Objects in Multiple Versions [J]. Computational Engineering and Applications, 1996(5): 21-25.

        [8]梁文菲, 黃厚寬. 對象/關系映射技術與面向對象數(shù)據庫技術比較分析 [J]. 中國科技信息, 2006(21): 154-160.

        LIANG Wen-fei, HUANG Hou-kuan. Object/Relational Mapping Technology and Comparative Analysis of Object-Oriented Database Technology [J]. China Science and Technology Information, 2006(21): 154-160.

        [9]肖剛. 面向對象數(shù)據庫在教學信息管理系統(tǒng)中的應用 [J]. 硅谷, 2009(6): 79.

        XIAO Gang. Object-Oriented Database Application in the Student Information Management System [J]. Silicon Valley, 2009(6): 79.

        [10]陸登, 李善平, 鄭春昭. 基于對象數(shù)據庫的擴展Java集合框架 [J]. 計算機應用與軟件, 2011(1): 133-136.

        LU Deng, LI Shan-ping, ZHENG Chun-zhao. Object-Based Database to Extend the Java Collections Framework [J]. Computer Applications and Software, 2011(1): 133-136.

        [11]左鳴. 對象數(shù)據庫的幾個主要概念 [J]. 渝州大學學報: 自然科學版, 1998(6): 19-22.

        ZUO Ming. A Few Key Concepts of Object Database [J]. Yuzhou University: Natural Science Edition, 1998(6): 19-22.

        [12]蘇劍, 沐連順, 張長巖. 基于面向對象數(shù)據庫的SCADA測試系統(tǒng)研究 [J]. 中國電力, 2000(10): 52-54.

        SU Jian, MU Lian-shun, ZHANG Chang-yan. Based on Object-Oriented Database SCADA Test System [J]. China Power, 2000(10): 52-54.

        [13]胡金柱, 譚支鵬. 分布式對象數(shù)據庫系統(tǒng)中的對象管理策略 [J]. 小型微型計算機系統(tǒng), 2001(1): 96-99.

        HU Jin-zhu, TAN Zhi-peng. Distributed Object Database System Object Management Policy [J]. Mini-Micro Systems, 2001(1): 96-99.

        [14]王功明, 關永, 趙春江, 等. 面向對象數(shù)據庫發(fā)展和研究 [J]. 計算機應用研究, 2006(3): 1-4.

        WANG Gong-ming, GUAN Yong, ZHAO Chun-jiang, et al. Object-Oriented Database Development and Research [J]. Computer Applications Research, 2006(3): 1-4.

        [15]陽國貴, 戰(zhàn)茅. 一個面向對象的數(shù)據庫ONTOS [J]. 計算機工程與應用, 1996(6): 1-5.

        YANG Guo-gui, ZHAN Mao. An Object-Oriented Database ONTOS [J]. Computer Engineering and Applications, 1996(6): 1-5.

        猜你喜歡
        數(shù)據庫用戶系統(tǒng)
        Smartflower POP 一體式光伏系統(tǒng)
        WJ-700無人機系統(tǒng)
        ZC系列無人機遙感系統(tǒng)
        北京測繪(2020年12期)2020-12-29 01:33:58
        連通與提升系統(tǒng)的最后一塊拼圖 Audiolab 傲立 M-DAC mini
        數(shù)據庫
        財經(2017年2期)2017-03-10 14:35:35
        關注用戶
        商用汽車(2016年11期)2016-12-19 01:20:16
        關注用戶
        商用汽車(2016年6期)2016-06-29 09:18:54
        數(shù)據庫
        財經(2016年15期)2016-06-03 07:38:02
        關注用戶
        商用汽車(2016年4期)2016-05-09 01:23:12
        數(shù)據庫
        財經(2016年3期)2016-03-07 07:44:46
        久久久窝窝午夜精品| 成人影院在线视频免费观看| 中文字幕日韩三级片| 日韩亚洲av无码一区二区不卡| 亚洲国产精品嫩草影院久久| 富婆叫鸭一区二区三区| 亚洲女优中文字幕在线观看| 久久精品国产亚洲av高清热| 国产黄色片在线观看| 成人国产自拍在线播放| 国产av一区二区亚洲精品| 亚洲成av人影院| 久久国产自偷自免费一区100| 亚洲中文字幕人妻诱惑| 我要看免费久久99片黄色| 亚洲国产精品ⅴa在线观看| 99成人精品| 国产精品一区二区黄色片| 精品国产一区二区三区色搞| 最近日本免费观看高清视频| 国产成人亚洲精品电影| 成人影院视频在线播放| 99999久久久久久亚洲| 国产精品久久久av久久久| 精品久久久无码不卡| 国产av在线观看一区二区三区| 东京热人妻无码一区二区av| 日韩成人精品在线| 亚洲一区二区三区精品久久| 亚洲色偷偷偷综合网| 免费观看又污又黄的网站 | 蜜桃一区二区免费视频观看| 国产一区二区三区在线观看第八页| 丰满爆乳在线播放| 亚洲电影一区二区三区 | 亚洲综合色一区二区三区小说| 日韩乱码精品中文字幕不卡| 无码人妻久久一区二区三区免费丨| 1000部夫妻午夜免费| 亚洲欧洲美洲无码精品va| 国产精品亚洲一级av第二区|