數(shù)據(jù)字典范文
時(shí)間:2023-03-30 03:59:13
導(dǎo)語:如何才能寫好一篇數(shù)據(jù)字典,這就需要搜集整理更多的資料和文獻(xiàn),歡迎閱讀由公務(wù)員之家整理的十篇范文,供你借鑒。
篇1
關(guān)系數(shù)據(jù)庫系統(tǒng)作為軟件企業(yè)核心的數(shù)據(jù)處理系統(tǒng),不僅在我國取得了十分廣泛的應(yīng)用,而且對(duì)我國信息化建設(shè)發(fā)展具有重要的作用與意義。而數(shù)據(jù)字典系統(tǒng)作為保證關(guān)系數(shù)據(jù)庫系統(tǒng)正常運(yùn)行的最基礎(chǔ)軟件,在很大程度上影響著關(guān)系數(shù)據(jù)庫系統(tǒng)的運(yùn)行狀況具有重要影響。而本文筆者將對(duì)關(guān)系數(shù)據(jù)庫系統(tǒng)的數(shù)據(jù)字典系統(tǒng)進(jìn)行深入的分析與研究。
【關(guān)鍵詞】關(guān)系數(shù)據(jù)庫 管理系統(tǒng) 數(shù)據(jù)字典 研究
作為關(guān)系數(shù)據(jù)庫系統(tǒng)功能實(shí)現(xiàn)的最核心軟件,數(shù)據(jù)字典系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)是十分重要的。只有做好數(shù)據(jù)字典系統(tǒng)的設(shè)計(jì),才能有效的保障關(guān)系數(shù)據(jù)庫系統(tǒng)的正常、穩(wěn)定運(yùn)行。本文將對(duì)關(guān)系數(shù)據(jù)庫系統(tǒng)中的數(shù)據(jù)字典系統(tǒng)進(jìn)行分析與研究。
1 數(shù)據(jù)字典物理存儲(chǔ)
1.1 數(shù)據(jù)字典的定義
數(shù)據(jù)字典的一個(gè)重要作用就是提供最終用戶數(shù)據(jù)庫所有的信息,在物理存儲(chǔ)上就采用跟其他用戶表一樣的實(shí)現(xiàn),提供統(tǒng)一的接口。而數(shù)據(jù)字典的主要作用還是提供給DBMS自身使用,在實(shí)現(xiàn)上還跟整個(gè)數(shù)據(jù)庫的結(jié)構(gòu)功能相關(guān)。
1.2 數(shù)據(jù)字典的邏輯功能
具體來說,關(guān)系數(shù)據(jù)庫中的所有數(shù)據(jù)信息與關(guān)聯(lián)都與數(shù)據(jù)字典有著十分緊密的聯(lián)系。數(shù)據(jù)字典具有著對(duì)關(guān)系數(shù)據(jù)庫中的所有對(duì)象進(jìn)行定義的邏輯功能,除此之外,數(shù)據(jù)字典還可以對(duì)關(guān)系數(shù)據(jù)庫中的序列值進(jìn)行默認(rèn)、對(duì)數(shù)據(jù)庫中的各種信息進(jìn)行約束、對(duì)數(shù)據(jù)庫中的用戶信息進(jìn)行存儲(chǔ)和統(tǒng)計(jì)、對(duì)數(shù)據(jù)庫中的用戶權(quán)限進(jìn)行分辨,并且還可以對(duì)數(shù)據(jù)庫中的各種信息的定義以及它們之間的關(guān)聯(lián)進(jìn)行操作與辨別。
由于關(guān)系數(shù)據(jù)庫之中的各個(gè)對(duì)象之間存在著較強(qiáng)的關(guān)聯(lián)性,當(dāng)用戶對(duì)某一對(duì)象進(jìn)行刪除操作時(shí),往往會(huì)由于該對(duì)象與其它對(duì)象之間的關(guān)聯(lián)程度與類型不同而產(chǎn)生一定的影響。例如數(shù)據(jù)庫用戶在PRLMARY KEY上建立起一個(gè)unique index文件,而這個(gè)unique index文件的主要功能就是幫助PRLMARY KEY實(shí)現(xiàn)其自身的功能任務(wù)。而由于PRLMARY KEY是依附在一個(gè)數(shù)據(jù)表中的,當(dāng)刪除表或是表中的相關(guān)信息有所變動(dòng)時(shí),依附于這個(gè)表存在的PRLMARY KEY中的unique index里的信息也會(huì)相應(yīng)的被刪除或有所變動(dòng)。而數(shù)據(jù)字典負(fù)責(zé)的功能就是將關(guān)系數(shù)據(jù)庫中發(fā)生的這些關(guān)聯(lián)信息與操作完整的記錄和保存下來。通常來說,關(guān)系數(shù)據(jù)庫中的所有這些關(guān)聯(lián)對(duì)數(shù)據(jù)庫的用戶都是公開透明的,而另一種情況就是數(shù)據(jù)庫用戶為了方便自己的操作或是其它因素,在對(duì)數(shù)據(jù)庫中的對(duì)象進(jìn)行刪除操作時(shí)需要加上由用戶自己設(shè)定的關(guān)系語句才能實(shí)現(xiàn)刪除操作,當(dāng)此刪除操作實(shí)現(xiàn)時(shí),與該對(duì)象有著密切關(guān)聯(lián)的其它信息也會(huì)一并被刪除。
1.3 物理記錄的存儲(chǔ)格式
關(guān)系數(shù)據(jù)庫中的數(shù)據(jù)字典與用戶數(shù)據(jù)都是以表的形式被記錄保存在關(guān)系數(shù)據(jù)庫的物理文件中的,并且關(guān)系數(shù)據(jù)庫管理系統(tǒng)中有著多種物理存儲(chǔ)格式,每一種物理存儲(chǔ)格式都有著各自不同的特點(diǎn),相互之間具有較大的差別,而這都是由于關(guān)系數(shù)據(jù)庫管理系統(tǒng)中并發(fā)模式類型的不同造成的。現(xiàn)階段,我國的數(shù)據(jù)庫管理系統(tǒng)將加鎖模型與多版本模型作為最為主要的兩種并發(fā)模型。其中加鎖式并發(fā)模型的特點(diǎn)是記錄格式簡單、無需版本信息就能實(shí)現(xiàn),如SQL Server并發(fā)模型。而多版本并發(fā)模型主要有Oracle數(shù)據(jù)塊并發(fā)模型。該種并發(fā)模型不僅需要用到物理記錄來對(duì)數(shù)據(jù)庫中的版本信息進(jìn)行記錄,而且還需要物理格式的幫助來實(shí)現(xiàn)對(duì)數(shù)據(jù)庫系統(tǒng)的并發(fā)控制及相關(guān)的事務(wù)處理,比較復(fù)雜。
2 數(shù)據(jù)字典內(nèi)存表示
2.1 CACHE作用
關(guān)系數(shù)據(jù)庫管理系統(tǒng)能夠通過對(duì)數(shù)據(jù)字典中的信息數(shù)據(jù)進(jìn)行讀取來獲得數(shù)據(jù)用戶以及數(shù)據(jù)庫中的對(duì)象與存儲(chǔ)信息,當(dāng)數(shù)據(jù)庫用戶需要對(duì)某些數(shù)據(jù)進(jìn)行查詢和相關(guān)的操作時(shí)都需要利用其所發(fā)出的SQL語句來對(duì)數(shù)據(jù)字典中的信息進(jìn)行查詢,查詢頻率非常高?,F(xiàn)階段,我國的數(shù)據(jù)庫管理系統(tǒng)主要由兩部分組成,即CACHE與RELCACHE。其中CACHE主要負(fù)責(zé)的是對(duì)數(shù)據(jù)庫管理系統(tǒng)中的表進(jìn)行存放。在該部分中,一個(gè)系統(tǒng)表能夠利用ID查詢、NAME查詢與主鍵查詢中的任意一種方式進(jìn)行查詢,除此之外,用戶也可以通過部分鍵對(duì)該系統(tǒng)表進(jìn)行查詢。當(dāng)查詢操作完成后,關(guān)系數(shù)據(jù)庫系統(tǒng)會(huì)根據(jù)數(shù)據(jù)字典的分析最終彈出用戶需要尋找的表格。
而RELCACHE部分的每一項(xiàng)都是一個(gè)RELATION結(jié)構(gòu),該結(jié)構(gòu)對(duì)此結(jié)構(gòu)中的所有數(shù)據(jù)信息與關(guān)聯(lián)進(jìn)行了記錄與保存。并且此結(jié)構(gòu)能夠?qū)㈥P(guān)系數(shù)據(jù)庫系統(tǒng)中的所有與需要查詢事件相關(guān)聯(lián)的描述信息進(jìn)行聯(lián)合構(gòu)造,以更好的滿足數(shù)據(jù)庫用戶的需求,提高關(guān)系數(shù)據(jù)庫管理的質(zhì)量與水平。
2.2 數(shù)據(jù)庫的啟動(dòng)與CACHE的初始化
使關(guān)系數(shù)據(jù)庫能夠啟動(dòng)并發(fā)揮其應(yīng)有的作用,操作人員至少要做好以下三個(gè)步驟,即將一個(gè)實(shí)例啟動(dòng),之后對(duì)數(shù)據(jù)庫系統(tǒng)進(jìn)行裝配操作,第三,將數(shù)據(jù)庫系統(tǒng)打開。使數(shù)據(jù)庫的CACHE系統(tǒng)得以初始化的方式有兩種:第一種,在數(shù)據(jù)庫系統(tǒng)建立時(shí)進(jìn)行CACHE的初始化,主要負(fù)責(zé)對(duì)數(shù)據(jù)庫系統(tǒng)的內(nèi)存進(jìn)行分配;第二種,數(shù)據(jù)庫系統(tǒng)已經(jīng)建立完成后在啟動(dòng)時(shí)進(jìn)行初始化操作,此時(shí),內(nèi)存已經(jīng)分配完畢,用戶只要正常進(jìn)行啟動(dòng)操作就可以完成CACHE的初始化。
3 結(jié)束語
本文主要對(duì)關(guān)系數(shù)據(jù)庫管理系統(tǒng)的數(shù)據(jù)字典程序進(jìn)行了分析介紹與研究,希望能夠進(jìn)一步推動(dòng)我國關(guān)系數(shù)據(jù)庫系統(tǒng)的管理質(zhì)量,促進(jìn)關(guān)系數(shù)據(jù)庫系統(tǒng)的進(jìn)步。
參考文獻(xiàn)
[1] 程陽.關(guān)系數(shù)據(jù)庫管理系統(tǒng)的一種簡易的數(shù)據(jù)存儲(chǔ)與查詢模塊的設(shè)計(jì)與實(shí)現(xiàn)[D].華中科技大學(xué)(碩士學(xué)位論文),2012.
[2] 馮玉才,李東,王元珍,曹忠升.一種移動(dòng)數(shù)據(jù)庫管理系統(tǒng)的體系結(jié)構(gòu)[J].計(jì)算機(jī)研究與發(fā)展,2011,38(5): 620-625.
[3]何新貴,唐常杰,李霖.特種數(shù)據(jù)庫技術(shù)――數(shù)據(jù)庫技術(shù)叢書之一[M].北京:科學(xué)出版社,2010.
篇2
關(guān)鍵詞:數(shù)據(jù)庫;加密技術(shù);電子商務(wù)
中圖分類號(hào):TP309.7文獻(xiàn)標(biāo)識(shí)碼:A文章編號(hào):1007-9599 (2010) 07-0000-01
Application of Database Encryption Technology in E-Commerce System
Gao Xiang
(Guangdong Ocean Engineering Vocational School,Guangzhou510320,China)
Abstract:E-commerce system is internet-based platform,from the technical point of view,there are many factors of insecurity in the global network.Features include e-commerce itself-open,virtual,network,e-
commerce system,which made strict security requirements is to open and rational solution to the network and the conflict between security.Database of e-commerce system of a base platform,which preserves a large number of important data,shared by many users.So database security problems is very important when developing e-commerce system.
Keyword:Database;Encryption technology;E-commerce
一、加密數(shù)據(jù)庫模型的框架設(shè)計(jì)
模型采用典型的Client/Server結(jié)構(gòu)。在客戶端,我們要實(shí)現(xiàn)一個(gè)加密字典管理程序和一個(gè)測試平臺(tái)。加密字典管理程序的功能是:根據(jù)加密需要對(duì)加密字典中的數(shù)據(jù)進(jìn)行管理,例如對(duì)加密字段描述信息進(jìn)行維護(hù)、對(duì)授權(quán)用戶信息進(jìn)行維護(hù)、以及對(duì)數(shù)據(jù)密鑰進(jìn)行維護(hù)??蛻羝脚_(tái)則完成對(duì)加密數(shù)據(jù)庫授權(quán)用戶的身份驗(yàn)證、數(shù)據(jù)庫用戶私鑰的解密,加密字段數(shù)據(jù)密鑰的解密,以及提出查詢需求。在服務(wù)器端,我們要實(shí)現(xiàn)一個(gè)加解密引擎,處理從客戶端發(fā)來的對(duì)加密數(shù)據(jù)庫的訪問請求并將結(jié)果返回給客戶端。模型的總體框架如下圖:
圖1-1加密數(shù)據(jù)庫模型的總體框架
應(yīng)用系統(tǒng)創(chuàng)建數(shù)據(jù)庫應(yīng)用表之后,用戶通過運(yùn)行圖形化界面―加密字典管理程序,定義哪些應(yīng)用表中的哪些字段的數(shù)據(jù)需要加密。加密字典管理程序?qū)堰@些用戶定義信息存入加密字典中。應(yīng)用表加密后,用戶還可以使用加密字典管理程序修改加密定義,重新指定加密表或加密字段。數(shù)據(jù)庫加/解密引擎是該系統(tǒng)的核心部件,負(fù)責(zé)在后成數(shù)據(jù)的加/解密處理。當(dāng)應(yīng)用程序向數(shù)據(jù)庫插入或更新數(shù)據(jù)時(shí),加解密引擎根據(jù)加密字典中的信息,確定當(dāng)前數(shù)據(jù)是否需要加密,如果需要加密,則對(duì)數(shù)據(jù)加密后再寫入數(shù)據(jù)庫中。同樣當(dāng)應(yīng)用從數(shù)據(jù)庫中檢索數(shù)據(jù)時(shí),加密系統(tǒng)根據(jù)加密字典中的信息判定是否需要解密,如果需要解密,對(duì)數(shù)據(jù)進(jìn)行解密以后再交給應(yīng)用,存儲(chǔ)在數(shù)據(jù)庫中的數(shù)據(jù)仍然是密文。加密字典管理程序是一個(gè)特殊的數(shù)據(jù)庫應(yīng)用。加密字典管理程序需要對(duì)數(shù)據(jù)字典進(jìn)行讀操作,對(duì)加密字典進(jìn)行寫操作。數(shù)據(jù)字典和加密字典存儲(chǔ)在數(shù)據(jù)庫中并且是不加密的,為了加快執(zhí)行速度,
加密字典管理程序執(zhí)行這些操作時(shí)不通過加/解密引擎直接與客戶端平臺(tái)通信。另一面,當(dāng)用戶提交數(shù)據(jù)加密的定義要求時(shí),加密字典管理程序通過加/解密引擎,實(shí)現(xiàn)數(shù)據(jù)明文與密文之間轉(zhuǎn)換的功能。
當(dāng)用戶通過測試平臺(tái)登錄到加密數(shù)據(jù)庫并成功后,測試平臺(tái)會(huì)與加密字典進(jìn)行交互,從加密字典中找到該用戶的加密形式私鑰,并解密得到用戶私鑰。當(dāng)要訪問到某個(gè)加密字段的時(shí)候,測試平臺(tái)也會(huì)從加密字典中找到相關(guān)的數(shù)據(jù)加密拷貝,并解密得到數(shù)據(jù)密鑰。當(dāng)在客戶端的測試平臺(tái)上執(zhí)行涉及到加密字段內(nèi)容的SQL語句時(shí),測試平臺(tái)會(huì)與加解密引擎交互,將查詢需求轉(zhuǎn)由加解密引擎去處理。然后,加解密引擎與加密字典以及DBMS核心交互,完成對(duì)數(shù)據(jù)的加解密,并將正確的結(jié)果返回到客戶端。
當(dāng)在測試平臺(tái)上提出的數(shù)據(jù)庫訪問請求不涉及到加密字段時(shí),客戶端測試平臺(tái)會(huì)跨過加解密引擎,直接與DBMS交互,完成對(duì)普通數(shù)據(jù)的訪問。以下對(duì)各個(gè)設(shè)計(jì)模塊分別進(jìn)行描述。
二、加密字典管理
(一)結(jié)構(gòu)設(shè)計(jì)
加密字典管理是管理員定義加密字段的工具,它提供了用戶管理、加密字典配置、信息檢索、加密字典權(quán)限管理等功能,利用數(shù)據(jù)庫加密解密引擎完成對(duì)數(shù)據(jù)的加解密處理。數(shù)據(jù)庫加密系統(tǒng)對(duì)加密數(shù)據(jù)的所有操作均需要加密字典的支持,都需要以加密字典為基礎(chǔ)。在加密字段的添加和刪除過程中,需要調(diào)用加密字典配置、信息檢索以及加解密引擎模塊來實(shí)現(xiàn)。其流程如圖2.1所示。
(二)用戶登錄
用戶登錄是數(shù)據(jù)庫管理員啟動(dòng)加密字典管理程序后必須通過的身份驗(yàn)證模塊,該模塊防止未授權(quán)人員使用加密字典管理程序,確保加密字典的安全。它主要包括用戶登錄、身份驗(yàn)證、口令加密功能。用戶身份認(rèn)證的流程如圖2.2所示,以提高系統(tǒng)用戶訪問的安全性和可靠性。
(三)加密字典配置
管理員首先通過加密字典配置劃分應(yīng)用程序的用戶類、數(shù)據(jù)類以及每個(gè)用戶類所擁有的數(shù)據(jù)類的權(quán)限信息,并給合法用戶授權(quán);然后按照配置調(diào)用密鑰管理模塊完成用戶密鑰、用戶類密鑰以及數(shù)據(jù)類密鑰的生成分配以及存儲(chǔ)。加密信息配置表存放由管理員根據(jù)用戶需求定義的加密配置,實(shí)現(xiàn)向加密字典表中添加,更改或刪除加密字段的功能。它調(diào)用表信息檢索模塊和加解密引擎,完成一個(gè)表的加密定義修改任務(wù)。該模塊是加密字典管理程序的主要功能模塊。
(四)信息檢索
該模塊從系統(tǒng)的數(shù)據(jù)字典中檢索出與某個(gè)表有關(guān)的各種信息,放入結(jié)構(gòu)變量,這些信息包括表名、表標(biāo)識(shí)、主鍵定義、字段定義等,供其他模塊使用。信息檢索函數(shù)的輸入是字段名稱和表名稱,輸出是滿足條件的表信息結(jié)構(gòu)體,該模塊被加密字典配置模塊調(diào)用,共同完成加密字段定義的變更。
三、數(shù)據(jù)加解密引擎客戶端測試平臺(tái)的設(shè)計(jì)
在客戶端設(shè)定一個(gè)測試程序,來完成訪問加密數(shù)據(jù)庫中數(shù)據(jù)的功能。在向服務(wù)器端發(fā)送真正的查詢或其它操作的請求之前,客戶端必須先完成用戶登錄等一系列工作。在我們的設(shè)計(jì)中,當(dāng)一個(gè)用戶輸入登錄信息(包括加密數(shù)據(jù)庫的信息,用戶名,口令)之后,程序會(huì)做以下工作:
(1)輸入的信息去與數(shù)據(jù)庫建立連接,若建立連接成功,則說明用戶的用戶名與口令相符,用戶輸入的口令有效;如果建立連接失敗,則用戶名與口令不相符,終止并退出程序。
(2)輸入的口令進(jìn)行加密,執(zhí)行MD5加密算法,生成口令的MD5加密值。
(3)根據(jù)用戶名生成一個(gè)SQL查詢語句:
“SELECT encrypted_private_key From master.dbo.Authorized_User WHERE authorized_login_name=‘”&username&”’”
在應(yīng)用程序中執(zhí)行該SQL語句,就可以從加密字典中的Authorized_User表取出用戶的密文形式私鑰。當(dāng)數(shù)據(jù)庫用戶還不是加密數(shù)據(jù)庫合法用戶時(shí),就不具有公鑰/私鑰對(duì)。此時(shí),客戶端程序會(huì)給出提示。
(4)針對(duì)上一步驟取到密文形式私鑰,執(zhí)行DES算法進(jìn)行解密,解密密鑰是步驟2得到的口令MD5加密值。得到用戶的私鑰,存入應(yīng)用程序的全局變量private_key中。
在客戶端程序中要訪問到某個(gè)加密字段時(shí)。首先客戶端程序會(huì)先生成一個(gè)SQL語句,去查詢加密字典中的Encrypted_Table表、Encrypted_Column表、Authorized_User表中的Encrypted_Key表。該SQL語句形式為:
“SELECT k.encrypted_data_key From master.dbo.Encrypted_Table t,
Master.dbo.Encrypted_Column c,master.dbo.Encrypted_Key k WHERE
k.authorized_login_ID=l.authorized_login_ID and
k.encrypted_column_ID=c.encrypted_column_ID and
t.encrypted_table_ID=c.encrypted_table_ID and
t.original_table_name=‘”&tabkename&”’and
l.authorized_login_name=‘”&username&”’”
這樣,根據(jù)要查詢的表的表名,以及用戶名,就可以得到該表中針對(duì)加密字段的數(shù)據(jù)密鑰(密文形式)。要申明的一點(diǎn)是,如果數(shù)據(jù)庫用戶不是加密字段的授權(quán)用戶,則取到的將是空值。
在客戶端程序中執(zhí)行RSA算法,對(duì)取得的密文形式數(shù)據(jù)密鑰進(jìn)行解密,解密密鑰就是存儲(chǔ)在全局變量private_key中的用戶私鑰,得到數(shù)據(jù)密鑰,存入全局變量data_key中。
執(zhí)行用戶的訪問要求。當(dāng)涉及到加密字段的訪問時(shí),服務(wù)器就會(huì)利用視圖機(jī)制去執(zhí)行查詢操作,或者是執(zhí)行執(zhí)行插入/修改操作。當(dāng)視圖或觸發(fā)器中需要用到數(shù)據(jù)密鑰對(duì)密文數(shù)據(jù)進(jìn)行加密解密的時(shí)候,可以從應(yīng)用程序上下文中取得。
參考文獻(xiàn):
[1]王謙,陳放.加強(qiáng)電子政務(wù)信息安全保障體系建設(shè)[J].安防科技,2009,3
[2]張基溫.信息安全實(shí)驗(yàn)與實(shí)踐教程.清華大學(xué)出版社[M],2005
[3]季厭浮.具有等級(jí)性的密鑰管理方法的設(shè)計(jì)[J].煤炭技術(shù),2009,1:91-93
[4]李黎明.敏感數(shù)據(jù)庫加密算法與密鑰管理[J]..計(jì)算機(jī)與現(xiàn)代化,2005,(7):94-97
篇3
關(guān)鍵詞:錄入表 數(shù)據(jù)字典 業(yè)務(wù)單據(jù)
中圖分類號(hào):TP319 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1672-3791(2016)04(b)-0000-00
一個(gè)成熟的軟件系統(tǒng)最關(guān)鍵的部分之一是系統(tǒng)的人機(jī)交互界面,如何根據(jù)業(yè)務(wù)單據(jù)需求開發(fā)出符合實(shí)際需要的通用錄入表格并確保其穩(wěn)定性、易維護(hù)性(模塊化和結(jié)構(gòu)化)和彈性(容易根據(jù)實(shí)際業(yè)務(wù)單據(jù)的變化做出程序上的變動(dòng),例如字段內(nèi)容的添加、減少,字段順序的調(diào)整等等),通用錄入表設(shè)計(jì)解決的就是這一問題。通用錄入表由數(shù)據(jù)字典組件和單據(jù)組件組成,數(shù)據(jù)字典提供每一個(gè)字段和字段代碼集的選項(xiàng),而單據(jù)組件則負(fù)責(zé)顯示那些字段及如何顯示。
1 設(shè)計(jì)思路
一般錄入表格開發(fā)都是由開發(fā)人員利用現(xiàn)成的表格控件(例如:華表Cell,SpreadSheet等)通過手工拖拽、在表格控件上進(jìn)行增行、增列、設(shè)置格式、公式、著色的開發(fā),這種開發(fā)是比較直觀的,但缺點(diǎn)是不能保證每一個(gè)開發(fā)人員做出的界面完全一致,而且當(dāng)業(yè)務(wù)需求改變時(shí),改變的工作量很大。鑒于此,通用錄入表的設(shè)計(jì)思路是利用程序從數(shù)據(jù)庫中讀取字段配置信息,為表格控件設(shè)置相應(yīng)的屬性,并按一定規(guī)則排列,形成用戶所需求的界面。后臺(tái)的配置部分提煉總結(jié)成數(shù)據(jù)字典組件,前臺(tái)的顯示部分抽象為業(yè)務(wù)單據(jù)組件。
2 數(shù)據(jù)字典組件程序設(shè)計(jì)
數(shù)據(jù)字典是有目的地對(duì)信息系統(tǒng)數(shù)據(jù)與知識(shí)、元數(shù)據(jù)與元知識(shí)進(jìn)行存儲(chǔ)與管理的邏輯抽象信息系統(tǒng)。數(shù)據(jù)字典組件通過提供基礎(chǔ)數(shù)據(jù)維護(hù)、查詢與同步功能,其作用主要體現(xiàn)為在建立數(shù)據(jù)標(biāo)準(zhǔn)的基礎(chǔ)上,通過抽象數(shù)據(jù)元,實(shí)現(xiàn)業(yè)務(wù)數(shù)據(jù)信息項(xiàng)的規(guī)范統(tǒng)一,通過定義業(yè)務(wù)要素,實(shí)現(xiàn)標(biāo)準(zhǔn)數(shù)據(jù)代碼表的規(guī)范統(tǒng)一,從而為單據(jù)組件提供一個(gè)可隨時(shí)獲取表及字段信息的數(shù)據(jù)來源。
數(shù)據(jù)字典不僅記錄了信息系統(tǒng)中的各種數(shù)據(jù)和知識(shí),還記錄了對(duì)數(shù)據(jù)和知識(shí)進(jìn)行恃性刻劃與抽象的元數(shù)據(jù)和元知識(shí),使數(shù)據(jù)字典獨(dú)立于實(shí)際應(yīng)用信息系統(tǒng)。報(bào)告、圖形生成工具負(fù)責(zé)軟件系統(tǒng)所有文檔資料的自動(dòng)生成;數(shù)據(jù)物理存儲(chǔ)模式轉(zhuǎn)換工具使數(shù)據(jù)字典面向任意的計(jì)算機(jī)軟件平臺(tái);實(shí)例系統(tǒng)生成工具運(yùn)用數(shù)據(jù)字典中的元數(shù)據(jù)文件與元知識(shí)文件,通過向用戶提供的友好界面,根據(jù)用戶的選擇與輸入的參數(shù)生成可實(shí)際運(yùn)行的信息系統(tǒng);軟件系統(tǒng)開發(fā)人員通過使用用戶問答詢問工具,可以看到任一層次數(shù)據(jù)對(duì)象的有關(guān)情況;字典接口提供了一系列數(shù)據(jù)字典數(shù)據(jù)訪問過程調(diào)用,使數(shù)據(jù)字典能從信息系統(tǒng)分析工具獲得原始數(shù)據(jù),從程序設(shè)計(jì)語言形式文法分析工具獲得對(duì)應(yīng)語言的語法、語義規(guī)則集,使信息系統(tǒng)的輔助系統(tǒng)結(jié)構(gòu)設(shè)計(jì)與程序自動(dòng)生成工具能夠從數(shù)據(jù)字典中獲得所需要的系統(tǒng)數(shù)據(jù),使多個(gè)數(shù)據(jù)字典實(shí)現(xiàn)數(shù)據(jù)的可相互操作性,形成一分布式數(shù)據(jù)字典系統(tǒng).另外,字典接口也是擴(kuò)充字典功能與用途的唯一入口.
數(shù)據(jù)字典的功能包括數(shù)據(jù)元管理、業(yè)務(wù)要素管理、代碼表管理及數(shù)據(jù)表及表字段管理。
2.1數(shù)據(jù)元管理: 數(shù)據(jù)元是用一組屬性描述其定義、標(biāo)識(shí)、表示和允許值的數(shù)據(jù)單元。數(shù)據(jù)元用于定義數(shù)據(jù)標(biāo)準(zhǔn),主要包括:英文短名、中文名稱、數(shù)據(jù)類型、表示格式。該功能是管理業(yè)務(wù)基礎(chǔ)數(shù)據(jù)元目錄,為實(shí)現(xiàn)業(yè)務(wù)數(shù)據(jù)標(biāo)準(zhǔn)統(tǒng)一,提供基本依據(jù)。
2.2業(yè)務(wù)要素管理:業(yè)務(wù)要素是有具體業(yè)務(wù)含義的業(yè)務(wù)信息項(xiàng),如機(jī)構(gòu)信息、收款單位等等。該功能對(duì)業(yè)務(wù)要素屬性進(jìn)行管理,包括其編碼、名稱、代碼表編碼方式和存儲(chǔ)位置、使用規(guī)則等等。
2.3代碼表管理: 代碼表存放業(yè)務(wù)要素代碼的表,也特指某一業(yè)務(wù)要素的代碼集合,該功能是對(duì)代碼表的增加、減少、修改等業(yè)務(wù)進(jìn)行管理。
2.4數(shù)據(jù)表及字段管理:是對(duì)數(shù)據(jù)庫中的表及字段的進(jìn)行管理。主要維護(hù)的表包括代碼表以及存放業(yè)務(wù)數(shù)據(jù)的表。
3業(yè)務(wù)單據(jù)組件程序設(shè)計(jì)
業(yè)務(wù)單據(jù)組件通過利用數(shù)據(jù)字典組件,建立存放數(shù)據(jù)的數(shù)據(jù)庫與人機(jī)界面的通道,并實(shí)現(xiàn)數(shù)據(jù)的增、刪、改、查等操作。
業(yè)務(wù)單據(jù)設(shè)計(jì)要有依據(jù),不能以個(gè)人的意愿強(qiáng)加于管理,即使個(gè)人的管理愿望是有助于單位管理的,也必須取得單位的認(rèn)可。一個(gè)業(yè)務(wù)單據(jù)的產(chǎn)生,一是要服務(wù)于民眾或涉眾管理的群體,不是滿足個(gè)人特定管理需要進(jìn)行單據(jù)的設(shè)計(jì),這就要求單據(jù)設(shè)計(jì)者必須本著客觀真實(shí),為同一職業(yè)操守者服務(wù)的角度,進(jìn)行單據(jù)的整體設(shè)計(jì);二是必須符合公司管理的需要,每個(gè)崗位都是公司整體運(yùn)營不可獲取的一份子,那么公司從公司管理的角度,決定著單據(jù)的設(shè)計(jì)必須有法可依,可控管理。
業(yè)務(wù)單據(jù)的具體功能包括業(yè)務(wù)單據(jù)類型管理、單據(jù)定義管理、屬性管理、查詢域管理、功能管理、來源管理、單號(hào)產(chǎn)生規(guī)則管理等功能。
3.1 業(yè)務(wù)單據(jù)類型管理:主要是對(duì)業(yè)務(wù)單據(jù)的分類進(jìn)行管理。
3.2業(yè)務(wù)單據(jù)定義管理:對(duì)業(yè)務(wù)單據(jù)進(jìn)行注冊管理,實(shí)現(xiàn)將業(yè)務(wù)單據(jù)與數(shù)據(jù)字典中表定義進(jìn)行關(guān)聯(lián)。
3.3業(yè)務(wù)單據(jù)屬性(展示字段)管理:對(duì)單據(jù)中用到的表字段進(jìn)行設(shè)置,通過數(shù)據(jù)字典的表及表字段定義進(jìn)行映射,并設(shè)置字段的顯示順序,顯示寬度、錄入風(fēng)格(下拉框、彈出框)、公式設(shè)置等字段屬性進(jìn)行管理。
3.4業(yè)務(wù)單據(jù)查詢域管理:可定義查詢單據(jù)時(shí)采用哪些字段做為過濾條件。
3.5業(yè)務(wù)單據(jù)功能管理: 通過功能注冊,實(shí)現(xiàn)與業(yè)務(wù)邏輯的關(guān)聯(lián);也是與工作流動(dòng)作關(guān)聯(lián)的接口。
3.6業(yè)務(wù)單據(jù)來源管理:設(shè)置源單據(jù)與目標(biāo)單據(jù)的對(duì)應(yīng)關(guān)系,主要是有些表格的內(nèi)容不是錄入,而是從另一張表格中選擇一部分在進(jìn)行修改,這時(shí)就需要對(duì)單據(jù)的來源單據(jù)進(jìn)行定義。
3.7業(yè)務(wù)單號(hào)規(guī)則管理:單據(jù)上某些字段是自動(dòng)產(chǎn)生的,例如單號(hào),流水號(hào)等,可通過該功能進(jìn)行配置。
在前臺(tái)界面加載時(shí),程序利用單據(jù)組件讀取各種配置字段,并通過數(shù)據(jù)字典映射到數(shù)據(jù)庫中,提取預(yù)先定制的表樣,并根據(jù)與數(shù)據(jù)庫中表及表字段映射,實(shí)現(xiàn)對(duì)業(yè)務(wù)數(shù)據(jù)的增、刪、改、查操作。配合工作流組件實(shí)現(xiàn)單據(jù)的自動(dòng)流轉(zhuǎn),從而構(gòu)建一個(gè)通用的錄入表功能。
4結(jié)束語
通過以上的框架設(shè)計(jì),如果在MIS中需要添加或修改業(yè)務(wù)單據(jù),只需要建立新的單據(jù)模型或重新配置即可,這樣就可以明顯提高工作效率,降低維護(hù)成本,在MIS系統(tǒng)的建設(shè)方面,這種通用錄入表設(shè)計(jì)具有一定的優(yōu)勢。
參考文獻(xiàn)
[1] 李潔,王連澤.資金審批工作流組件設(shè)計(jì)與實(shí)現(xiàn)[J]電腦編程技巧與維護(hù),2015(14):198.
[2] 石生,王春雁.信息化情況下業(yè)務(wù)單據(jù)的設(shè)計(jì)分析[J].科技傳播,2013(1上):196-197.
篇4
關(guān)鍵詞:dbms復(fù)制聯(lián)邦數(shù)據(jù)庫
1.引言
隨著經(jīng)濟(jì)的發(fā)展,企業(yè)的規(guī)模越來越大,其積累的信息也越來越多。存在著各部門所處理的信息多數(shù)只對(duì)本部門有效,僅有少數(shù)信息需給其它某些部門共享的問題。這種信息的分布性和獨(dú)立性要求對(duì)所處理的數(shù)據(jù)進(jìn)行分類,使各部門既能獨(dú)立地處理本部門大多數(shù)數(shù)據(jù),也使部門間能協(xié)調(diào)處理跨部門的事務(wù)。在這種情況下,對(duì)整個(gè)企業(yè)建立一個(gè)完全的緊密耦合的分布式數(shù)據(jù)庫是很困難的,也是沒必要的,特別是大型企業(yè),這樣的數(shù)據(jù)庫的效率往往是很低的。
為解決這個(gè)問題,我們采用以下策略:每個(gè)部門使用一套緊密耦合的數(shù)據(jù)庫系統(tǒng),而在存在跨部門事務(wù)處理的數(shù)據(jù)庫系統(tǒng)間用一個(gè)協(xié)調(diào)器聯(lián)起來。這樣就組成了一個(gè)橫跨整個(gè)企業(yè),各部門高度自治的聯(lián)邦數(shù)據(jù)庫系統(tǒng)。
dm2是由華中理工大學(xué)數(shù)據(jù)庫多媒體技術(shù)研究所研制的數(shù)據(jù)庫管理系統(tǒng)。它采用客戶/服務(wù)器模型,客戶機(jī)與服務(wù)器,服務(wù)器與服務(wù)器均通過網(wǎng)絡(luò)互連,通過消息相互通訊,組成一個(gè)緊密耦合的分布式數(shù)據(jù)庫系統(tǒng)。它的工作流程如下:客戶機(jī)登錄到一臺(tái)服務(wù)器上,這臺(tái)服務(wù)器便成為它的服務(wù)器;它接收來自客戶機(jī)的消息,然后根據(jù)全局?jǐn)?shù)據(jù)字典決定是自己獨(dú)立完成該操作,還是與其它服務(wù)器協(xié)作處理這條消息,處理完成之后,再由服務(wù)器將處理結(jié)果返回給客戶機(jī)。
而數(shù)據(jù)字典,作為記錄數(shù)據(jù)庫所有元數(shù)據(jù)的系統(tǒng)表,它向以上過程中提供各類有用的信息,引導(dǎo)它們向正確的方向運(yùn)行,起著“指南針”的作用。它分為局部數(shù)據(jù)字典和全局?jǐn)?shù)據(jù)字典。其中,局部數(shù)據(jù)字典用于記錄一個(gè)服務(wù)器站點(diǎn)中數(shù)據(jù)庫的控制信息,如表的模式,視圖的模式及各個(gè)數(shù)據(jù)區(qū)的的文件名等信息。全局?jǐn)?shù)據(jù)字典用于記錄分布式數(shù)據(jù)庫系統(tǒng)中各個(gè)服務(wù)器站點(diǎn)上有關(guān)全局?jǐn)?shù)據(jù)的控制信息,如服務(wù)器站點(diǎn)信息,各服務(wù)器站點(diǎn)的全局表名及表內(nèi)碼記錄,各服務(wù)器站點(diǎn)上的全局?jǐn)?shù)據(jù)視圖名及視圖內(nèi)碼記錄,用戶名及口令記錄,用戶權(quán)限記錄等信息。各個(gè)局部數(shù)據(jù)字典可以各不相同,但為了保證在各個(gè)服務(wù)器上所看到的全局?jǐn)?shù)據(jù)庫是一致的,因此,全局?jǐn)?shù)據(jù)字典必須一致。我們所關(guān)心的是全局?jǐn)?shù)據(jù)字典中的基表控制塊tv_ctrl_block,它的內(nèi)容主要包括:全局基表總數(shù),每個(gè)全局基表名和其對(duì)應(yīng)的表內(nèi)碼,該基表所在的服務(wù)器站點(diǎn)的編號(hào)等信息。它的功能是將各個(gè)服務(wù)器站點(diǎn)號(hào)與存儲(chǔ)在其上的表名及表內(nèi)碼聯(lián)系起來。這樣,服務(wù)器從客戶消息中找到被處理的表名,然后通過查詢基表控制塊tv_ctrl_block,就能知道該表存在哪個(gè)服務(wù)器上,以便將相關(guān)消息發(fā)給該服務(wù)器。
由于dm2上各個(gè)服務(wù)器站點(diǎn)的全局字典完全相同,任何全局表的信息都會(huì)記入全局字典。若用它來構(gòu)建一個(gè)企業(yè)的數(shù)據(jù)庫系統(tǒng),則大量只對(duì)企業(yè)某部門有用的信息將會(huì)充斥在各部門所有服務(wù)器的全局字典中,增加了冗余。而且,當(dāng)對(duì)全局表進(jìn)行ddl操作時(shí),為了確保全局字典的一致性,須對(duì)所有服務(wù)器的全局字典進(jìn)行加鎖。dm2對(duì)全局字典的封鎖方式是采用令牌環(huán)方式,即令牌繞虛環(huán)(非實(shí)環(huán))傳輸,某個(gè)服務(wù)器想對(duì)全局字典進(jìn)行操作,必須等令牌到達(dá)該服務(wù)器才可以執(zhí)行。每個(gè)部門建立的全局表絕大多數(shù)只對(duì)本部門有用,當(dāng)對(duì)這些表進(jìn)行ddl操作時(shí),卻要對(duì)所有服務(wù)器的全局字典進(jìn)行封鎖,通過令牌來實(shí)現(xiàn)對(duì)全局字典的互斥訪問。假如,兩個(gè)部門都要分別對(duì)本部門的內(nèi)部表進(jìn)行ddl操作,這應(yīng)該是可以并行處理的操作,現(xiàn)在卻只能串行執(zhí)行。而且,當(dāng)服務(wù)器數(shù)目龐大時(shí),每個(gè)服務(wù)器等待令牌的時(shí)間將會(huì)很長。這嚴(yán)重?fù)p害了數(shù)據(jù)庫的效率。
為彌補(bǔ)以上不足,在dm2的改進(jìn)版本dm3中增加了協(xié)調(diào)器,用以聯(lián)接各個(gè)獨(dú)立的dm3數(shù)據(jù)庫子系統(tǒng),并協(xié)調(diào)各子系統(tǒng)間的各種關(guān)系,使各子系統(tǒng)既能高度自治地工作,又能進(jìn)行有效的信息共享。
2.體系結(jié)構(gòu)
本系統(tǒng)可看作多個(gè)數(shù)據(jù)庫子系統(tǒng)被協(xié)調(diào)器聯(lián)起來的,高度自治的一個(gè)聯(lián)邦數(shù)據(jù)庫系統(tǒng)。其中,每個(gè)子系統(tǒng)獨(dú)立處理本系統(tǒng)內(nèi)部的事務(wù),而子系統(tǒng)間的信息共享由復(fù)制技術(shù)提供,副本間的一致性由協(xié)調(diào)器協(xié)調(diào)處理,處理所需的信息在初始化時(shí)寫入?yún)f(xié)調(diào)器的組間數(shù)據(jù)字典中。當(dāng)對(duì)某子系統(tǒng)中的一份數(shù)據(jù)副本進(jìn)行修改時(shí),該子系統(tǒng)會(huì)將修改通知協(xié)調(diào)器,由協(xié)調(diào)器對(duì)該數(shù)據(jù)的其它副本進(jìn)行修改,從而保證了所有副本的一致性。
由以上可知,子系統(tǒng)彼此并不直接接觸,而是各自都與協(xié)調(diào)器直接相聯(lián),由協(xié)調(diào)器統(tǒng)一管理子系統(tǒng)間的通信。這樣,當(dāng)子系統(tǒng)對(duì)副本進(jìn)行修改時(shí),不必關(guān)心相應(yīng)的子系統(tǒng)處于何種狀態(tài),也不必等待回應(yīng)消息,以及異常處理,所有這些都由協(xié)調(diào)器進(jìn)行管理。因此,既提高了系統(tǒng)運(yùn)行的效率,也保證了子系統(tǒng)的獨(dú)立性。其體系結(jié)構(gòu)如下圖所示。
協(xié)調(diào)器主要有三大功能,首先,它對(duì)協(xié)調(diào)器和服務(wù)器進(jìn)行初始化,并將有關(guān)信息存入組間字典;其次,它管理不同子系統(tǒng)間的通信,維護(hù)副本的一致性;最后,它在子系統(tǒng)出現(xiàn)崩潰時(shí),進(jìn)行異常管理及恢復(fù)工作。
dm3多數(shù)據(jù)庫系統(tǒng)體系結(jié)構(gòu)
3.主要策略
多個(gè)dm3系統(tǒng)間的信息共享是通過副本實(shí)現(xiàn)的,副本的一致性是由協(xié)調(diào)器來維持的,是一種弱一致性。通常,多數(shù)據(jù)庫系統(tǒng)間的一致性是通過協(xié)調(diào)器周期性地訪問服務(wù)器的日志來完成的。由于副本的更新帶有隨機(jī)性,因此,若采用這種方法,可能數(shù)據(jù)被修改多次,但其相對(duì)應(yīng)的副本仍未被修改,這樣就損害了數(shù)據(jù)的一致性;也可能數(shù)據(jù)并未被修改,但協(xié)調(diào)器已多次訪問了服務(wù)器的日志了,這樣就降低了系統(tǒng)的效率。
所以,本系統(tǒng)采用的方法是當(dāng)數(shù)據(jù)被修改時(shí),由服務(wù)器通知協(xié)調(diào)器有關(guān)信息,再由協(xié)調(diào)器通知相關(guān)系統(tǒng),修改相關(guān)數(shù)據(jù)。這樣,數(shù)據(jù)的修改及時(shí)(仍然是弱一致性),而協(xié)調(diào)器也不會(huì)在數(shù)據(jù)未被修改的情況下訪問服務(wù)器,提高了準(zhǔn)確性。
為了使協(xié)調(diào)器正常工作,我們對(duì)底層數(shù)據(jù)庫管理系統(tǒng)dm2進(jìn)行了修改。在基表控制塊tv_ctrl_block中增加一項(xiàng)isreplication。建表時(shí),該項(xiàng)初始化為false;當(dāng)為該表建立一個(gè)副本時(shí),該項(xiàng)賦值為true。具體算法如下。
3.1初始化算法。
協(xié)調(diào)器:
從用戶或應(yīng)用程序接收待連接的兩個(gè)系統(tǒng)中的服務(wù)器名,需復(fù)制的表名;
分別登錄到兩個(gè)系統(tǒng)的服務(wù)器上;
向存有待復(fù)制表的服務(wù)器發(fā)預(yù)復(fù)制消息;
等待服務(wù)器消息;
若失敗,發(fā)一條失敗的消息給服務(wù)器和用戶或應(yīng)用程序,轉(zhuǎn)11);
若成功,從消息中取出待復(fù)制表的有關(guān)信息,根據(jù)這些信息,發(fā)一條建表消息給另一個(gè)系統(tǒng)的服務(wù)器;
等待服務(wù)器消息;
若失敗,發(fā)一條失敗的消息給服務(wù)器和用戶或應(yīng)用程序,轉(zhuǎn)11);
若成功,調(diào)數(shù)據(jù)轉(zhuǎn)移程序,進(jìn)行數(shù)據(jù)復(fù)制;
將有關(guān)信息寫入組間字典。
退出。
服務(wù)器:
當(dāng)服務(wù)器收到預(yù)復(fù)制消息后,將基表控制塊tv_ctrl_block中的isreplication賦為true。同時(shí),取出待復(fù)制表的有關(guān)信息,組成應(yīng)答消息發(fā)給協(xié)調(diào)器。
當(dāng)服務(wù)器收到失敗的消息后,將基表控制塊tv_ctrl_block中的isreplication賦為false。
3.2維護(hù)算法。
協(xié)調(diào)器:
從組間字典讀出相關(guān)信息,根據(jù)這些信息,登錄到相應(yīng)系統(tǒng)上;
等待消息;
從某系統(tǒng)的服務(wù)器上收到一條修改消息后,通過查找組間字典,確定該消息的目的地,然后將它轉(zhuǎn)發(fā)過去;
若失敗,定時(shí)重發(fā);
轉(zhuǎn)2);
服務(wù)器:
1)等待消息;
2)當(dāng)收到某客戶或應(yīng)用程序的消息后,檢查它是否是修改數(shù)據(jù)的操作(如delete,update或insert等);
若不是,轉(zhuǎn)7);
若是,檢查基表控制塊tv_ctrl_block中的isreplication是否為true;
若不是,轉(zhuǎn)7);
若是,向協(xié)調(diào)器發(fā)修改消息;
繼續(xù)執(zhí)行服務(wù)器程序的其它部分。
3.3恢復(fù)算法。
若協(xié)調(diào)器所聯(lián)接的系統(tǒng)中有一個(gè)跨掉了,則對(duì)副本的修改無法及時(shí)地反映到跨掉的系統(tǒng)中來。這時(shí),需要恢復(fù)算法來進(jìn)行處理。
協(xié)調(diào)器:
當(dāng)協(xié)調(diào)器發(fā)現(xiàn)有一個(gè)系統(tǒng)已經(jīng)崩潰后,采取以下步驟。
將與該系統(tǒng)相關(guān)的變量open賦值為false;
打開記時(shí)器;
等待消息;
若收到的消息是其它系統(tǒng)發(fā)出的修改崩潰了的系統(tǒng)上的副本的命令,則依次將這些消息存儲(chǔ)起來,轉(zhuǎn)3);
若收到的消息是記時(shí)器發(fā)出的時(shí)間到的消息,則向崩潰的系統(tǒng)發(fā)登錄命令;
若登錄成功,將open的值改為true;
將存儲(chǔ)的消息依次發(fā)送過去,轉(zhuǎn)9);
若登錄失敗,轉(zhuǎn)3);
退出。
4.結(jié)論
我們曾在三個(gè)dm3數(shù)據(jù)庫系統(tǒng)上,用兩個(gè)協(xié)調(diào)器進(jìn)行聯(lián)接。結(jié)果,運(yùn)行情況良好,各副本最終都能保證一致,且各副本間存在差異的時(shí)間間隔很短。另外,在出現(xiàn)異常的情況下,協(xié)調(diào)器也能正常工作。
主要參考文獻(xiàn)
1.周龍?bào)J等,分布式數(shù)據(jù)庫管理系統(tǒng)實(shí)現(xiàn)技術(shù),科學(xué)出版社,1998。
篇5
關(guān)鍵詞:數(shù)據(jù)字典;中文信息處理;聲母檢索;ASCII碼
中圖法分類號(hào):TP311文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2007)15-30803-02
The Method Of Realizing Automatic Calculating The Corresponding Initial Consonant Of Chinese Character
ZHU Kai-mei,TAN Peng
(Institute of Science & Technical Information of Yunnan, Kunming 650051, China)
Abstract:Have brought forward the concept of calculating the corresponding initial consonant of Chinese character voluntarily , have analysed the realizing thought and algorithm based on the Chinese character ASCII code and the Chinese character code national standard GB2312-80 regulation, have introduced main program section of realizing the algorithm.
Key words:Data dictionary;Chinese information processing;Search of initial consonant;ASCII code
1 引言
應(yīng)用系統(tǒng)中涉及大量數(shù)據(jù)字典的檢索問題,數(shù)據(jù)字典檢索一般方式包括:按編碼檢索、按漢字檢索、按漢字拼音聲母檢索和直接列表選擇等方式。其中,按漢字拼音聲母進(jìn)行檢索具有易用、方便的特點(diǎn),與使用編碼檢索方式比較具有易記憶的優(yōu)點(diǎn),與使用漢字檢索方式比較具有輸入簡單、方便、快捷的優(yōu)點(diǎn),是一種符合漢語使用習(xí)慣的較綜合性、折中的字典檢索方式。要使用漢字拼音聲母進(jìn)行字典檢索,關(guān)鍵問題是需要在建立數(shù)據(jù)字典時(shí),根據(jù)用戶輸入的中文信息自動(dòng)計(jì)算出對(duì)應(yīng)的聲母,即自動(dòng)進(jìn)行漢字對(duì)應(yīng)聲母的編碼,以透明的方式提供這一轉(zhuǎn)換過程。
2 實(shí)現(xiàn)思路
2.1計(jì)算漢字的ASCII碼
漢字字符在操作環(huán)境下是以Unicode雙字節(jié)編碼方式存在,每個(gè)漢字字符對(duì)應(yīng)一個(gè)整數(shù),在C# 中已經(jīng)沒有直接計(jì)算漢字ASCII碼的函數(shù),需要通過利用Encoding類的GetBytes進(jìn)行間接計(jì)算:如下:
Byte[] b=Encoding.Default.GetBytes(“啊”)
b[0]: 176
b[1]: 161
int i=b[0]*256+b[1]-65536
2.2根據(jù)漢字字符編碼國標(biāo)GB2312-80規(guī)則確定ASCII碼對(duì)應(yīng)的聲母
GB2312-80《信息交換用漢字編碼字符集 基本集》,1980年,是中文信息處理的國家標(biāo)準(zhǔn),在大陸及海外使用簡體中文的地區(qū)(如新加坡等)是強(qiáng)制使用的唯一中文編碼。GB碼共收錄6763個(gè)簡體漢字、682個(gè)符號(hào),其中漢字部分:一級(jí)字3755,以拼音排序,二級(jí)字3008,以偏旁排序。
一級(jí)字計(jì)算根據(jù)漢字ASCII碼值可以方便地計(jì)算出來:其中
聲母A對(duì)應(yīng)ASCII碼范圍是:-20319至-20284
聲母B對(duì)應(yīng)ASCII碼范圍是:-19775 至-19219
……
聲母Z對(duì)應(yīng)ASCII碼范圍是:-11055 至-10247
二級(jí)字計(jì)算通過編碼為固定的聲母字符串,當(dāng)漢字ASCII碼值>-10079時(shí),通過對(duì)應(yīng)字符串獲取。
3 實(shí)現(xiàn)方法
3.1 定義
引用命名空間:System.Text
定義類:Encoding
自定義方法:
(1)計(jì)算字符ASCII值函數(shù):Asc
參數(shù):pStr, 字符串型
返回值:Int,字符的ASC碼
(2)計(jì)算漢字聲母函數(shù):Hzpy
參數(shù):pStr,字符串型
返回值:String, 轉(zhuǎn)換后的漢字聲母字符串
3.2 算法流程圖
3.3 算法描述
(1)判斷輸入?yún)?shù)字符串是否為空,若為空,則結(jié)束。
(2)初始化局部變量。
(3)使用For循環(huán),逐字符進(jìn)行計(jì)算。
(4)利用Asc函數(shù)計(jì)算當(dāng)前字符的ASCII碼。
(5)根據(jù)ASCII值分別計(jì)算字符的聲母,其中:ASCII值在-10247到-20319,屬于一級(jí)字庫,按拼音順序排列,可以通過判定值直接得到聲母;ASCII值大于0,則取字母“A”到“Z”;ASCII值在0到-10079之間,則從預(yù)定義的聲母表中獲取。
3.4 主要程序段
//計(jì)算字符串首字符的ASCII碼值
public int Asc(string pStr)
{ int _i=0;
if (pStr.Length > 0)
{ string _s = pStr.Substring (0,1);//取首字符
byte[] _b = System.Text.Encoding.Default.GetBytes (_s); //計(jì)算字符的Unicode碼
if (_b.Length == 1)
_i = _b[0]; //西文ASCII
else
_i = _b[0]*256+_b[1]-65536; //漢字ASCII-65536 }
return _i; }
//計(jì)算字符串對(duì)應(yīng)的聲母
public string Hzpy(string pStr)
{ if (pStr.Length == 0){ return "" ;}//參數(shù)是空串
string sResult = ""; //定義返回字符串變量
int t; //字符的Ascii碼
string gH0="";
gH0 = InputAscii2();//從文件中加載二級(jí)字庫漢字聲母表
pStr = pStr.ToUpper ();
for (int i = 0 ; i < pStr.Length; i++)
{ t = Asc(pStr.Substring (i, 1));
if (t < 0)
{ if ( t >= -10079) //計(jì)算二級(jí)字庫漢字聲母
if (gH0.Length > 10079+t)
sResult = sResult + gH0.Substring (10079 + t,1);
else
sResult = sResult + " ";
else //計(jì)算一級(jí)字庫漢字聲母
{ if (t>=-20319 && t
else if (t>=-20283 && t
else if (t>=-19775 && t
else if (t>=-19218 && t
else if (t>=-18710 && t
else if (t>=-18526 && t
else if (t>=-18239 && t
else if (t>=-17922 && t
else if (t>=-17417 && t
else if (t>=-16474 && t
else if (t>=-16212 && t
else if (t>=-15640 && t
else if (t>=-15165 && t
else if (t>=-14922 && t
else if (t>=-14914 && t
else if (t>=-14630 && t
else if (t>=-14149 && t
else if (t>=-14090 && t
else if (t>=-13318 && t
else if (t>=-12838 && t
else if (t>=-12556 && t
else if (t==-12080) sResult = sResult + "H";
else if (t>=-12079 && t
else if (t>=-11847 && t
else if (t>=-11055 && t
}}
else //字母和數(shù)字
{ if (t>=65 && t=48 && t
sResult = sResult + pStr.Substring (i, 1); } }
return sResult; }
4 實(shí)現(xiàn)結(jié)果
輸入:Hzpy(“ab”) , 輸出:“AB“
輸入:Hzpy(“我們”),輸出:“WM”
輸入:Hzpy(“駑一孥”),輸出:“NYN”
5 小結(jié)
通過這種方法計(jì)算漢字對(duì)應(yīng)聲母,其中一級(jí)字庫近7000個(gè)漢字,只需要通過條件判斷語句即可計(jì)算出來,二級(jí)字庫3000多個(gè)漢字通過預(yù)編碼,直接一一對(duì)應(yīng)產(chǎn)生。與過去通過一個(gè)漢字對(duì)應(yīng)一個(gè)字符的方式相比,這種方法不需要專門的數(shù)據(jù)文件進(jìn)行存儲(chǔ),不僅大大提高了計(jì)算速度,而且十分容易在不同的開發(fā)語言中進(jìn)行移植,具有非常顯著的實(shí)用性。
參考文獻(xiàn):
[1]規(guī)范. GB2312-80《信息交換用漢字編碼字符集 基本集》[S]. 北京: 中國標(biāo)準(zhǔn)出版,2003。
[2]葛季棟等. 利用數(shù)據(jù)字典創(chuàng)建維護(hù)數(shù)據(jù)庫基表[J]. 北京: 微型機(jī)與應(yīng)用,2002。
篇6
關(guān)鍵詞:Oracle數(shù)據(jù)庫 角色 主體
1 角色管理的定義 在數(shù)據(jù)庫中,為便于對(duì)用戶及權(quán)限進(jìn)行管理,可以將一組具有相同權(quán)限的用戶組織在一起,這一組具有相同權(quán)限的用戶就稱為角色(Role)。角色類似于Windows操作系統(tǒng)安全體系中組的概念。在實(shí)際工作中,有大量的用戶其權(quán)限是一樣的,如果讓數(shù)據(jù)庫管理員在每次創(chuàng)建完用戶后都對(duì)每個(gè)用戶分別授權(quán),則是一件非常麻煩的事情,但如果把具有相同權(quán)限的用戶集中在角色中進(jìn)行管理,則會(huì)方便很多。為一個(gè)角色進(jìn)行權(quán)限管理就相當(dāng)于對(duì)該角色中的所有成員進(jìn)行操作,可以為有相同權(quán)限的一類用戶建立一個(gè)角色,然后為角色授予合適的權(quán)限。使用角色的好處是系統(tǒng)管理員只需對(duì)權(quán)限的種類進(jìn)行劃分,然后將不同的權(quán)限授予不同的角色,而不必關(guān)心有哪些具體的用戶,而且當(dāng)角色中的成員發(fā)生變化時(shí),比如添加成員或刪除成員,系統(tǒng)管理員都無需做任何關(guān)于權(quán)限的操作。
2 角色管理的作用 角色是數(shù)據(jù)庫各種權(quán)限的集合,使用角色可以方便地管理數(shù)據(jù)庫特權(quán),角色可以賦予其它用戶,也可以賦予其他角色,圖1-1形象地說明了角色的作用。
圖1-1 角色關(guān)系圖
顯然上圖有兩個(gè)角色,而每個(gè)角色有不同數(shù)目和類型的權(quán)限,而這些角色又可以賦予不同的用戶,這樣就方便了權(quán)限的管理,作為經(jīng)理的角色(Manager)具有創(chuàng)建會(huì)話、創(chuàng)建表以及查詢某個(gè)表的權(quán)限,而雇員(Clerk)角色具有查詢表、更新表的權(quán)限,然后將Clerk角色和Manager角色賦予第一個(gè)用戶,此時(shí)第一個(gè)用戶就具有了上圖的所有權(quán)限,而把Clerk角色賦予第2個(gè)和第3個(gè)用戶。使用角色可以減少給用戶授予權(quán)限的操作次數(shù),同樣減少了修改多個(gè)用戶權(quán)限的操作次數(shù),提高了DBA管理數(shù)據(jù)庫的效率,并減少了出錯(cuò)的機(jī)會(huì)。
3 在Oracle中使用角色
a 創(chuàng)建角色 創(chuàng)建角色的范例如下,例創(chuàng)建角色mk_clerk
SQL>connect system/oracle@orcl
已連接。
SQL>create role mk_clerk
通過實(shí)例成功創(chuàng)建了角色,在Oracle中可通過數(shù)據(jù)字典dba_roles查看創(chuàng)建的角色,
SQL>select *
2 from dba_roles
3 where role in(“mk_clerk”)
有關(guān)數(shù)據(jù)字典dba_roles的具體操作不作過多解釋,另外通過dba_roles激活該角色時(shí)不需要相應(yīng)的密碼驗(yàn)證。
b 修改角色 修改角色的范例如下,例修改角色mk_clerk
SQL>alter role mk_clerk
2 identified by externallay;
角色已丟棄。
通過實(shí)例成功修改了角色,在Oracle中可通過數(shù)據(jù)字典dba_roles查看驗(yàn)證修改結(jié)果,
SQL>select *
2 from dba_roles
3 where role in(“mk_clerk”);
Role password
------------------------------------------------------
mk_clerk yes
顯示結(jié)果角色mk_clerk已通過操作系統(tǒng)驗(yàn)證。
c 賦予角色權(quán)限 角色是權(quán)限的集合,所以在創(chuàng)建了角色后,就需要將各種權(quán)限賦予該角色,賦予角色權(quán)限的范例如下,例為角色clerk賦予權(quán)限
SQL>grant create session,select any table,create view
2 to at_clerk
授權(quán)成功
該實(shí)例將權(quán)限賦予了角色at_clerk,通過數(shù)據(jù)字典role_sys_privs 驗(yàn)證授權(quán)結(jié)果,
SQL>select *
2 from role_sys_privs
3 where role =“at_clerk”
Role Privilege Adm
------------------------------------------------------
at_clerk Create session No
顯示結(jié)果角色at_clerk已具有權(quán)限,而且該角色不能將其擁有的權(quán)限賦予其它用戶或角色。
d 賦予用戶角色 在創(chuàng)建了角色后,就需要將各種角色賦予用戶,或賦予所有用戶(PUBLIC),在將角色賦予用戶前,先創(chuàng)建用戶Clerk,其范例如下:
SQL> create user Clerk
2 identified by cl12#;
用戶已創(chuàng)建
SQL> create user mymanager
2 i identified by my12#;
用戶已創(chuàng)建
通過數(shù)據(jù)字典DBA_USERS驗(yàn)證是否成功創(chuàng)建用戶,實(shí)例如下:
SQL>select username,created
2 from dba_users
3* where username in (“Clerk”)
username created
------------------------------------------------------
mk_clerk 18-9月-09
上述輸出說明已經(jīng)創(chuàng)建新用戶Clerk,并已將Manager角色賦予該用戶,同時(shí)從結(jié)果可以清晰的看出角色Manager被賦予用戶Mymanager,并且該用戶具有將角色Manager繼續(xù)授權(quán)的能力。
4 在Oracle中的高級(jí)角色
上述講的是低級(jí)角色,涉及到禁止、激活、回收、刪除等操作時(shí),由于權(quán)限相對(duì)比較復(fù)雜,就要談到高級(jí)角色了。
a 禁止和激活角色 角色可以禁止和激活,禁止意味著用戶不在具有改角色賦予的各種權(quán)限,即回收角色具有的權(quán)限,而激活意味著賦予用戶角色的權(quán)限。已知在實(shí)例中,用戶Clerk具有角色Manager,下面演示如何禁止用戶的角色,禁止用戶Clerk的所有角色范例如下:
SQL> set role none;
角色集
此時(shí)系統(tǒng)禁止了所有角色,即系統(tǒng)回收了這些角色的權(quán)限。查詢當(dāng)前用戶Clerk的權(quán)限如下實(shí)例所示:
SQL> select *
2 from session_privs;
未選定行
可見用戶Clerk不具有任何會(huì)話權(quán)限了,下面激活用戶Clerk的At_Clerk角色。
SQL> set role at_clerk;
角色集
激活了角色at_clerk后查詢用戶Clerk是否有了角色at_clerk的權(quán)限。實(shí)例如下所示:
SQL> select *
2 from session_privs;
Privilege
------------------------------------------------------
Create session
Create any table
Select any table
Create view
從輸出結(jié)果可以看出用戶Clerk具有角色Manager和角色Clerk的權(quán)限,說明成功激活了角色Manager。
b 回收和刪除角色 既然可以賦予用戶角色,也可以回收用戶角色,Oracle允許使用Revoke子句回收賦予某一用戶的角色?;厥沼脩鬋lerk的At_clerk角色的實(shí)例如下:
SQL> revoke at_clerk from clerk;
撤消成功。
然后檢驗(yàn)角色At_clerk是否已經(jīng)從用戶Clerk回收,如下實(shí)例所示:
SQL> select *
2 from dba_role_privs
3 where granted_role=””At_clerk”
4 ;
Grantee Granted_role
------------------------------------------------------
Manager At_clerk
在上述查詢的Where子句中,Grantee列中沒有了用戶Clerk,說明角色At_clerk已經(jīng)從用戶Clerk那回收。但是角色At_clerk依舊在系統(tǒng)中存在,只是沒有授權(quán)用戶使用,如果不需要該角色可以刪除該角色,實(shí)例如下所示:
SQL> drop role at_clerk;
角色已刪除。
通過數(shù)據(jù)字典Dba_role查看是否成功刪除角色At_clerk,如下實(shí)例所示:
SQL> select *
2 from dba_roles
3 where role in (“at_clerk”);
role password
------------------------------------------------------
Manager yes
顯然Role列中沒有了角色At_clerk,說明成功刪除角色At_clerk。另外Oracle使用Public代表所有用戶,通過Public可以將多個(gè)角色用戶刪除,具體就不做展開描述。
5 結(jié)束語 角色就是數(shù)據(jù)庫權(quán)限的集合,這些權(quán)限可以是系統(tǒng)權(quán)限,也可以是數(shù)據(jù)庫對(duì)象權(quán)限,使用角色可以方便地對(duì)用戶授權(quán)進(jìn)行管理,并減少授權(quán)操作。用戶可以根據(jù)業(yè)務(wù)需求來設(shè)計(jì)角色所擁有的權(quán)限角色,權(quán)限角色管理是Oracle實(shí)現(xiàn)安全管理的一部分,通過授權(quán)不同用戶的系統(tǒng)權(quán)限和對(duì)象權(quán)限實(shí)現(xiàn)用戶對(duì)系統(tǒng)功能以及數(shù)據(jù)庫對(duì)象的操作,并且使用權(quán)限角色可以很好地減少DBA的用戶權(quán)管理。
參考文獻(xiàn)
[1] 馬世俊,毛竹. 項(xiàng)目應(yīng)用中的Oracle數(shù)據(jù)庫角色[J]. 現(xiàn)代經(jīng)濟(jì)信息,2012,2.
[2] 周錦. 基于Oracle數(shù)據(jù)庫SQL語句的研究[J].北方工業(yè)大學(xué),2013,6
[3] 付國輝. Oracle數(shù)據(jù)庫的性能優(yōu)化探討[J].吉林大學(xué),2013,3.
篇7
關(guān)鍵詞:數(shù)據(jù)庫界址線類別要素分類ARCMAPSlect By AttributesSlect By LocationField Caculator
中圖分類號(hào): P273 文獻(xiàn)標(biāo)識(shí)碼: A 文章編號(hào):
界址線是宗地的邊界線,界址線類別是《城鎮(zhèn)地籍?dāng)?shù)據(jù)庫標(biāo)準(zhǔn)》規(guī)定的界址線屬性結(jié)構(gòu)的必須字段,是描述宗地界標(biāo)物的重要信息。傳統(tǒng)的錄入方式是地籍測繪完成后,依據(jù)調(diào)查結(jié)果和資料,對(duì)宗地進(jìn)行采集及屬性入庫,逐條界址線錄入界標(biāo)物類別屬性。對(duì)于大范圍的城鎮(zhèn)地籍?dāng)?shù)據(jù)庫建設(shè),數(shù)以萬計(jì)的宗地而言,界址線數(shù)量又是宗地的幾倍甚至幾十倍,界址線類別錄入工作量之繁重,可想而知。應(yīng)該本著人力和自動(dòng)化有機(jī)結(jié)合的原則,研究和開發(fā)盡可能多的自動(dòng)化處理功能或方法,將人力從繁復(fù)的機(jī)械操作中解放出來,提高數(shù)據(jù)庫質(zhì)量。通過研究Esri的 Arcmap 軟件,利用其空間和屬性選擇及屬性計(jì)算功能可以實(shí)現(xiàn)界址線類別批量錄入,結(jié)束以往人工錄入的歷史,大大提高了工作效率(非Arcgis平臺(tái)數(shù)據(jù)庫可將數(shù)據(jù)轉(zhuǎn)換為Arcgis支持?jǐn)?shù)據(jù)格式操作)。
一 界址線類別分析,理解界址線類別代碼所代表的界標(biāo)物。
《城鎮(zhèn)地籍?dāng)?shù)據(jù)庫標(biāo)準(zhǔn)》規(guī)定了如下1-9(不含8),共8個(gè)界址線類別代碼:
“1”圍墻:界址線依附于圍墻;“2”墻壁:界址線依附于房屋的墻壁;“3”柵欄:界址線依附于柵欄;“4”鐵絲網(wǎng):界址線依附于鐵絲網(wǎng);“5”路涯線:界址線是道路邊線;“6”滴水線:滴水線是特殊的界址線類別,在采集宗地界址要素時(shí),要根據(jù)權(quán)屬調(diào)查資料將屬于這一類的界址線類別實(shí)時(shí)錄入?!?”兩點(diǎn)連線:沒有實(shí)體依附,又不屬于房屋滴水的界址線類別。“9”其他:與1-5類別無關(guān)的界址線但與其他實(shí)體要素重合的界址線類別為“其他”。
二 掌握界址線類別代碼涉及到的界標(biāo)物在《基礎(chǔ)地理信息要素?cái)?shù)據(jù)字典》中的要素分類代碼。
各類界標(biāo)物在《基礎(chǔ)地理信息要素?cái)?shù)據(jù)字典》中的要素分類代碼如下:
圍墻分類代碼:“380201”;房屋分類代碼:“3103*”;柵欄分類代碼:“380202”;鐵絲網(wǎng)分類代碼:“380205”;城市道路分類要素代碼:“430*”;鄉(xiāng)村道路分類要素代碼:“440*”。除上述要素外的水系、地貌土質(zhì)、植被等要素均為其他要素,只要掌握這6類要素的分類代碼就可以完成界址線類別賦值。
三 對(duì)界標(biāo)物要素進(jìn)行分類輸出。
利用Arcmap軟件屬性選擇功能,根據(jù)上述要素分類代碼提取各類界標(biāo)物,將界標(biāo)物分為6類提取輸出,并以1、2、3、4、5、9這6個(gè)界址類別代碼命名輸出的SHP文件。以輸出圍墻要素為例:添加居民地及設(shè)施數(shù)據(jù)集中的數(shù)據(jù)到ArcMap中,打開Slection菜單,選擇Slect By Attributes工具,彈出對(duì)話框輸入FHDM=” 380201”即將圍墻要素全部選中;然后,在對(duì)應(yīng)的圖層上右鍵,選擇Date—Export Date,輸出選中的圍墻要素,選擇保存路徑并命名為1.SHP。依此類推,在居民地及設(shè)施數(shù)據(jù)集中輸出房屋要素命名為2.shp,柵欄要素命名為3.shp,鐵絲網(wǎng)要素命名為4.shp,不屬于上述4類要素的居民地及設(shè)施要素則輸出為其他要素,命名為9.shp。添加交通設(shè)施數(shù)據(jù)集,按城市道路分類要素代碼 “430*”和鄉(xiāng)村道路分類要素代碼 “440*”輸出道路要素命名為5.shp,打開屬性表反選,復(fù)制交通設(shè)施要素到之前輸出的9.shp中。將水系、地貌土質(zhì)、植被等要素集當(dāng)中的線要素類復(fù)制到9.shp文件中。
四 根據(jù)空間位置為界址線類別批量賦值
界址線類別賦值原理是:界址線與界標(biāo)物完全重合,也可以說界址線完全包含于界標(biāo)物,即認(rèn)定此條界址線類別為該界標(biāo)物。具體賦值操作如下所述:將要賦值的界址線和之前分類輸出的6個(gè)shp文件添加到ArcMap中,利用Arcmap軟件根據(jù)位置選擇功能,通過空間選擇為界址線類別賦值。操作如下:打開Slection菜單,選擇Slect By Location工具,彈出對(duì)話框:select features from 勾選界址線,空間關(guān)系選擇“Are Within”(包含),關(guān)聯(lián)要素集選擇1.shp。這樣就把與1.shp文件中的要素完全重合的界址線全部選中,打開界址線屬性表,在“JZXLB”字段上右鍵,彈出對(duì)話框選擇Field Caculator,在彈出的對(duì)話框中輸入1,點(diǎn)擊OK,類別為圍墻的界址線賦值完畢。重復(fù)上述操作,根據(jù)界址線與2、3、4、5、9.shp文件中的要素的空間位置關(guān)系,計(jì)算字段為類別賦值。最后,根據(jù)屬性選擇“JZXLB”字段為空的界址線,賦值為“7”兩點(diǎn)連線。至此,界址線類別賦值全部完成。
結(jié)束語:在工作實(shí)踐中,方法總比問題多,這個(gè)問題的解決可能還有其他方法,筆者期望能給城鎮(zhèn)地籍?dāng)?shù)據(jù)庫建設(shè)工作人員提供一些幫助和借鑒。
參考文獻(xiàn):
[1] 《基礎(chǔ)地理信息要素?cái)?shù)據(jù)字典第1部分1:500 1:1 000 1:2 000基礎(chǔ)地理信息要素?cái)?shù)據(jù)字典》GB/T 20258.1—2007,中國標(biāo)準(zhǔn)出版社,2007年。
篇8
1.1業(yè)務(wù)流程
業(yè)務(wù)流程是指小區(qū)物業(yè)工作的業(yè)務(wù)范圍及順序,為了能夠簡明扼要的說明業(yè)務(wù)的流程,本系統(tǒng)進(jìn)行了前期的設(shè)計(jì)工作,完成了系統(tǒng)的業(yè)務(wù)流程。系統(tǒng)應(yīng)用用戶(管理員)分別將小區(qū)樓宇信息到樓宇表,并將業(yè)主的入住信息、車位使用信息、費(fèi)用繳費(fèi)信息、投訴信息分別錄入到入住表、車位表、繳費(fèi)表、投訴表、處理信息表,并對(duì)這些表格進(jìn)行查閱、增加、刪減、更改等操作;管理員同時(shí)將所處理的業(yè)務(wù)按業(yè)務(wù)表分類錄入,將小區(qū)設(shè)備信息錄入到設(shè)備表,同時(shí)對(duì)投訴情況進(jìn)行處理生成投訴處理單,并反饋到處理信息表供業(yè)主查詢,同時(shí)可以對(duì)這些表格進(jìn)行查閱、增加、刪減、更改等操作;物業(yè)主管有權(quán)查閱業(yè)務(wù)表以查看業(yè)務(wù)情況,同時(shí)有權(quán)使用設(shè)備表,并查看投訴及處理情況報(bào)表以監(jiān)督投訴處理情況。通過建立不同表,管理員和主管對(duì)相關(guān)表格進(jìn)行查閱、修改增刪等操作,實(shí)現(xiàn)對(duì)物業(yè)管理的信息化操作。
1.2系統(tǒng)數(shù)據(jù)流圖
在完成業(yè)務(wù)流程圖的設(shè)計(jì)后,需要對(duì)每個(gè)業(yè)務(wù)的數(shù)據(jù)通行進(jìn)行確切的了解和設(shè)計(jì),為后續(xù)的整體設(shè)計(jì)打下基礎(chǔ)。本系統(tǒng)將數(shù)據(jù)流圖分為兩個(gè)部分:系統(tǒng)頂層數(shù)據(jù)流圖(如圖1所示)與二層數(shù)據(jù)流程圖(如圖2所示)。頂層流圖只包含一個(gè)加工,用以表示被開發(fā)的系統(tǒng),然后考慮該系統(tǒng)有哪些輸入數(shù)據(jù)、輸出數(shù)據(jù)流。該系統(tǒng)的數(shù)據(jù)輸入為業(yè)主相關(guān)信息,通過處理,輸出的數(shù)據(jù)為物業(yè)主管可操作的信息。頂層圖的作用在于表明被開發(fā)系統(tǒng)的范圍以及它和周圍環(huán)境的數(shù)據(jù)交換關(guān)系。二層數(shù)據(jù)流圖中某個(gè)加工進(jìn)行細(xì)化,而它的某個(gè)加工也可以再次細(xì)化,形成子圖。
1.3數(shù)據(jù)字典
數(shù)據(jù)字典的作用是在軟件分析和設(shè)計(jì)的過程中給人提供關(guān)于數(shù)據(jù)的描述信息。數(shù)據(jù)流程圖配以數(shù)據(jù)字典,就可以從圖形和文字兩個(gè)方面對(duì)系統(tǒng)的邏輯模型進(jìn)行完整的描述。本系統(tǒng)有關(guān)數(shù)據(jù)項(xiàng)的定義如表1所示。
2系統(tǒng)總體設(shè)計(jì)
在系統(tǒng)總體設(shè)計(jì)階段利用系統(tǒng)功能結(jié)構(gòu)圖來描述系統(tǒng)中各個(gè)模塊如何化分、完成什么功能。在充分考慮各個(gè)模塊的耦合性與內(nèi)聚性后通過制作系統(tǒng)功能結(jié)構(gòu)圖合理地將整個(gè)系統(tǒng)分拆成多個(gè)模塊。這樣做使系統(tǒng)的開發(fā)變得目標(biāo)清晰,每個(gè)模塊的完成都是系統(tǒng)制作的里程碑,對(duì)于制作完成后的測試也提供了便利和依據(jù)。無論是為來的單元測試還是集成測試模塊化的系統(tǒng)都將大大提高測試效率和錯(cuò)誤改正的速度。本系統(tǒng)一共分為九個(gè)模塊,每個(gè)模塊之間雖然在表面上是相互獨(dú)立的,但是在對(duì)數(shù)據(jù)庫的訪問上是緊密相連的,各個(gè)模塊訪問的是同一個(gè)數(shù)據(jù)庫不同的表。
3詳細(xì)設(shè)計(jì)
詳細(xì)設(shè)計(jì)階段是系統(tǒng)正式制作前最后一個(gè)設(shè)計(jì)階段。詳細(xì)設(shè)計(jì)階段包括用系統(tǒng)的軟硬件配置,基于三層架構(gòu)的信息系統(tǒng)結(jié)構(gòu)設(shè)計(jì),以及用戶界面的設(shè)計(jì)。
3.1軟硬件配置
系統(tǒng)運(yùn)行所需的軟硬件配置如下:硬件環(huán)境:臺(tái)式計(jì)算機(jī)(服務(wù)器)一臺(tái),處理器P4以上,內(nèi)存1GB以上,硬盤空間80G以上。軟件環(huán)境:(1)Windows2003Server操作系統(tǒng)。(2)MyEclipseEnterpriseWorkbench6.0.1GA。(3)Dreamweaver8.0。(4)ApacheTomcat6.0.14。
3.2系統(tǒng)的整體架構(gòu)
軟件整體架構(gòu)的選擇,直接關(guān)系到軟件的開發(fā)效率與日后維護(hù)的難易程度。因此,本系統(tǒng)采用了三層架構(gòu)的開發(fā)模式。三層架構(gòu)通常意義上的三層架構(gòu)就是將整個(gè)業(yè)務(wù)應(yīng)用劃分為:表現(xiàn)層(UI)、業(yè)務(wù)邏輯層(BLL)、數(shù)據(jù)訪問層(DAL),經(jīng)過層次的劃分,使軟件達(dá)到了“高內(nèi)聚,低耦合”的思想。
4結(jié)束語
篇9
關(guān)鍵詞:SharePoint;工作流;Visual Studio
中圖分類號(hào):TP315
1 流程的分析
1.1 現(xiàn)狀分析
目前的加班申請和審批停留在紙質(zhì)簽字和使用Excel人工匯總加班工時(shí)發(fā)放加班工資的階段,手工操作多,單一環(huán)節(jié)辦公時(shí)間長,信息共享性差。
1.2 用戶需求分析
得到用戶的需求如下:(1)公司員工被授予了相應(yīng)權(quán)限的用戶應(yīng)可以通過系統(tǒng)在線提交加班申請,相關(guān)角色的用戶應(yīng)可以在線審批。(2)自動(dòng)匯總工時(shí),計(jì)算加班工資,生成報(bào)表。
1.3 流程分析
1.4 流程數(shù)據(jù)字典
數(shù)據(jù)字典,是流程表單中涉及的數(shù)據(jù)和會(huì)簽結(jié)果等詳細(xì)情況加以記錄,并按照一定方式進(jìn)行排列所形成的可以提供給設(shè)計(jì)人員查閱的的字典。
2 流程的設(shè)計(jì)
2.1 表單設(shè)計(jì)
表單設(shè)計(jì)的原則就是數(shù)據(jù)收集過程的標(biāo)準(zhǔn)化,創(chuàng)建針對(duì)特定用戶或任務(wù)優(yōu)化的單獨(dú)視圖,從而簡化表單填寫體驗(yàn)(如輸入員工代碼直接顯示員工姓名),利用條件格式來優(yōu)化表單填寫體驗(yàn)(使用日期控件填寫日期)。
2.2 列表設(shè)計(jì)
SharePoint列表類似于數(shù)據(jù)庫中的數(shù)據(jù)表是流程系統(tǒng)的核心和基礎(chǔ),它把流程系統(tǒng)中的大量數(shù)據(jù)按一定的模型組織起來,使工作流可以方便、及時(shí)、準(zhǔn)確地從列表中獲得所需要的信息。
4 測試
對(duì)于一個(gè)SharePoint工作流的測試,“白盒測試”環(huán)節(jié)顯得尤為重要,甚至是必不可少的一環(huán)。對(duì)工作流的“白盒測試”必須覆蓋工作的每個(gè)一環(huán)和流程流轉(zhuǎn)過程。所以,對(duì)工作流的測試用例較多,圖7中展示我們對(duì)加班流程測試過程中部分用例的清單。
5 結(jié)論
本文設(shè)計(jì)了工作流體系結(jié)構(gòu),給出了工作流從列表、表單、流程的需求分析方法以及編程的實(shí)現(xiàn)方法和實(shí)現(xiàn)過程,可以得出以下結(jié)論:(1)本文所建立的流程需求分析方法以及開發(fā)的方法和實(shí)現(xiàn)過程,為其他流程開發(fā)和實(shí)現(xiàn)提供了一般思路和開發(fā)流程,具有一定的借鑒意義。(2)使用Visual Studio將工作流的列表、表單和流程進(jìn)行拆分的高內(nèi)聚、低耦合的分層次設(shè)計(jì)的“有碼”工作流的設(shè)計(jì)思路使得流程具有更好的可擴(kuò)充性。
參考文獻(xiàn):
[1]王欣.管理信息系統(tǒng)[M].北京:中國水利水電出版社,2004.
[2]高鈺瑩.管理信息系統(tǒng)的研究與應(yīng)用[J].今日科苑,2008(8):92-92.
[3]王紅,閆海珍.基于B/S架構(gòu)的MIS生成系統(tǒng)[J].長春師范學(xué)院學(xué)報(bào)(自然科學(xué)版),2009,8(1):24-26.
[4]SharePoint Server 2013 IT Professional Reviewer's Guide.
[5]陳倩.SharePoint項(xiàng)目審批工作流的設(shè)計(jì)與開發(fā)[J].電腦開發(fā)與應(yīng)用, (2009)07.
篇10
本文基于客戶服務(wù)系統(tǒng)的發(fā)展現(xiàn)狀,結(jié)合當(dāng)前的信息技術(shù),針對(duì)對(duì)客戶服務(wù)系統(tǒng)的應(yīng)用,建立了全程監(jiān)控、節(jié)約成本、穩(wěn)定性、可靠性、更具人性化的客戶服務(wù)系統(tǒng)。
關(guān)鍵詞: 計(jì)算機(jī)系統(tǒng)B/S模式客戶服務(wù)
中圖分類號(hào):G623.58文獻(xiàn)標(biāo)識(shí)碼: A
1系統(tǒng)研究的意義
目前客戶服務(wù)中心的經(jīng)營管理模式和技術(shù)實(shí)現(xiàn)方案已發(fā)展得較為成熟,廣泛應(yīng)用于電信、銀行、證券、運(yùn)輸、旅游、零售、制造等對(duì)客戶服務(wù)有一定要求的行業(yè)。國內(nèi)客戶服務(wù)中心的建設(shè)雖然起步較晚,但卻是一個(gè)重要的發(fā)展趨勢,相繼有一些省市在電信、銀行、保險(xiǎn)、航空等行業(yè)建立了自己的客戶服務(wù)中心。
因此,在Web環(huán)境下客戶服務(wù)系統(tǒng)界面將是企業(yè)面向客戶的門戶,一個(gè)完善的客戶服務(wù)系統(tǒng)界面,能夠增強(qiáng)企業(yè)競爭能力,增加銷售,提升企業(yè)形象,同時(shí)客戶服務(wù)系統(tǒng)是確??蛻魸M意度和客戶利益的重要和先決條件??蛻舴?wù)系統(tǒng)已不僅僅是交易過程中的一個(gè)步驟,也正成為各企業(yè)贏得競爭優(yōu)勢,打敗競爭對(duì)手的策略手段。
與傳統(tǒng)的面對(duì)面直接接觸的交互方式相比,企業(yè)的經(jīng)營管理將進(jìn)一步打破地域的限制,消費(fèi)者比以前擁有了更多的信息和選擇機(jī)會(huì),有更多的方式與企業(yè)進(jìn)行交互。這增加了消費(fèi)者的知情權(quán),企業(yè)與客戶的溝通也更加方便,但同時(shí)也導(dǎo)致了客戶對(duì)企業(yè)的期望值增大,使得客戶更加沒有耐性,企業(yè)與客戶個(gè)體接觸的時(shí)間也在不斷減少。因此,客戶服務(wù)系統(tǒng)的目的就在于提高客戶滿意度,提高企業(yè)的競爭力。
2業(yè)務(wù)流程分析
業(yè)務(wù)流程分析一般采用業(yè)務(wù)流程圖(TFD)來表示,就是用一些規(guī)定的符號(hào)和連線來表示某個(gè)具體的業(yè)務(wù)過程。業(yè)務(wù)流程圖的繪制一般是按照業(yè)務(wù)處理的實(shí)際過程和步驟進(jìn)行。業(yè)務(wù)流程分析的內(nèi)容包括業(yè)務(wù)功能分析、業(yè)務(wù)關(guān)系分析、業(yè)務(wù)流程優(yōu)化。[03]如圖2-1:
表2-1業(yè)務(wù)流程圖符號(hào)
圖2-1 業(yè)務(wù)流程分析圖
3 數(shù)據(jù)流程分析
數(shù)據(jù)流程分析是把數(shù)據(jù)在組織(或原系統(tǒng))內(nèi)部的流動(dòng)情況抽象的獨(dú)立出來舍去了具體的組織機(jī)構(gòu)、信息載體、處理工作和物資資料等,單從數(shù)據(jù)流動(dòng)過程來查實(shí)際業(yè)務(wù)的數(shù)據(jù)處理模式。數(shù)據(jù)流程分析主要包括對(duì)信息的流動(dòng)、傳遞、處理、存儲(chǔ)等分析。數(shù)據(jù)流程分析的目的就是要發(fā)現(xiàn)和解決數(shù)據(jù)流中的問題。
表3-1數(shù)據(jù)流圖的符號(hào)說明
客戶服務(wù)系統(tǒng)的數(shù)據(jù)流程圖如:圖3-2。
圖3-2 客戶服務(wù)系統(tǒng)數(shù)據(jù)流程圖
4 數(shù)據(jù)字典
數(shù)據(jù)字典是在數(shù)據(jù)流程圖的基礎(chǔ)上對(duì)數(shù)據(jù)流程圖中的每一部分,即每個(gè)外部實(shí)體、數(shù)據(jù)流、數(shù)據(jù)處理、文件或數(shù)據(jù)存儲(chǔ)都應(yīng)詳細(xì)描述,我們把這些描述所組成的集合按一定的次序排列起來的。不同的系統(tǒng)都有它們自己的數(shù)據(jù)流程圖和數(shù)據(jù)字典。數(shù)據(jù)流程圖結(jié)合數(shù)據(jù)字典,就可以從圖形和文字兩個(gè)方面對(duì)系統(tǒng)的邏輯模型進(jìn)行完整的描述。
客戶服務(wù)系統(tǒng)數(shù)據(jù)詞典如下所示:
(1)數(shù)據(jù)流描述
數(shù)據(jù)流名稱:客戶信息
標(biāo)識(shí)符:F2
數(shù)據(jù)流來源:系統(tǒng)顯示客戶的信息
數(shù)據(jù)流去向:P1.2
數(shù)據(jù)流組成:客戶名稱+客戶負(fù)責(zé)人+客戶地址+客戶聯(lián)系方式
(2)處理邏輯描述
處理邏輯名稱:咨詢流程
標(biāo)識(shí)符:P1.4
輸入:C,D , P1.3
輸出:E3
處理:處理客戶需求,分配服務(wù)路線
處理邏輯名稱:系統(tǒng)接收
標(biāo)識(shí)符:P1.1
輸入:E1
輸出:P1.2
處理:接受客戶的電話,查看客戶信息
(3)數(shù)據(jù)存儲(chǔ)描述
數(shù)據(jù)存儲(chǔ)名稱:客戶信息
標(biāo)識(shí)符:A
簡述:記錄客戶的基本信息
組成:客戶信息編號(hào)+客戶名稱+客戶機(jī)構(gòu)名稱+客戶負(fù)責(zé)人姓名+客戶地址+客戶郵箱+客戶傳真號(hào)+添加時(shí)間
關(guān)鍵字:客戶信息編號(hào)
涉及的處理:P1.1
數(shù)據(jù)存儲(chǔ)名稱:客戶問題
標(biāo)識(shí)符:D
簡述:記錄客戶的問題類型,進(jìn)行分類回答
組成:問題編號(hào)+客戶信息編號(hào)+問題反饋時(shí)間+問題處理負(fù)責(zé)人+問題狀態(tài)+詳細(xì)記錄
關(guān)鍵字:問題編號(hào)+客戶信息編號(hào)
涉及的處理:P1.4
5系統(tǒng)總體設(shè)計(jì)
5.1 系統(tǒng)空間硬件結(jié)構(gòu)的設(shè)計(jì)
圖5-1系統(tǒng)網(wǎng)絡(luò)拓?fù)鋱D
5.2 功能模塊設(shè)計(jì)
功能結(jié)構(gòu)圖(層次圖)是用來描述系統(tǒng)模塊功能分解的一種圖形工具。功能結(jié)構(gòu)圖的每個(gè)矩形框表示一個(gè)功能模塊,矩形框間的連線可以看作調(diào)用關(guān)系。如圖5-2所示
1.管理用戶:瀏覽用戶(管理員權(quán)限)可以重置用戶密碼操作;
添加用戶:添加系統(tǒng)用戶.。
2.管理客戶信息:查看客戶信息:可以查看詳細(xì)信息,刪除或修改某條信息;
添加客戶:填寫客戶詳細(xì)信息,提交添加到客戶信息列表;
查看客戶反饋:可以查看、刪除、修改客戶信息反饋信息;
添加客戶反饋:添加一條客戶反饋信息。
3.管理產(chǎn)品
查看產(chǎn)品:進(jìn)行查看、刪除、修改;
添加產(chǎn)品:添加新產(chǎn)品。
4.查看訂單:進(jìn)行查看、刪除、修改;
添加訂單:添加訂單。
圖5-2 客戶服務(wù)系統(tǒng)的功能模塊結(jié)構(gòu)圖
6、結(jié)語
客戶服務(wù)系統(tǒng)猶如一個(gè)信息的工廠。使用操作方便,運(yùn)行穩(wěn)定,能快速完成信息的采集、分發(fā)、共享,一直到信息處理、信息反饋的整個(gè)加工過程。有實(shí)用性和創(chuàng)新性??蛻舴?wù)系統(tǒng)采用JSP和MYSQL 進(jìn)行設(shè)計(jì),實(shí)現(xiàn)了用戶登錄、管理用戶菜單項(xiàng)、客戶信息管理、客戶問題反饋信息、公司產(chǎn)品、訂單信息,以及信息查詢、咨詢流程等實(shí)際應(yīng)用流程。
參考文獻(xiàn)
[1] 耿騫.信息系統(tǒng)分析與設(shè)計(jì)[M].北京:高等教育出版社,2004
[2] 王麗華. 服務(wù)管理. 北京:中國旅游出版社,2007
[3] 李志剛. 客戶關(guān)系管理理論與應(yīng)用[M]. 北京:機(jī)械工程出版社,206
[4] 馮俊. 服務(wù)企業(yè)管理[M]. 北京:科學(xué)出版社,2007
熱門標(biāo)簽
數(shù)據(jù)分析論文 數(shù)據(jù)挖掘論文 數(shù)據(jù)安全論文 數(shù)據(jù)管理論文 數(shù)據(jù)庫論文 數(shù)據(jù)挖掘總結(jié) 數(shù)據(jù)誤差 數(shù)據(jù)采集 數(shù)據(jù)通信論文 數(shù)據(jù) 心理培訓(xùn) 人文科學(xué)概論
相關(guān)文章
1政務(wù)數(shù)據(jù)協(xié)同治理的分析
3建筑業(yè)統(tǒng)計(jì)數(shù)據(jù)質(zhì)量探討