• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      基于普元平臺(tái)的大對象數(shù)據(jù)應(yīng)用研究

      2015-04-29 00:44:03李峰

      李峰

      摘 要:針對審批流程中大對象數(shù)據(jù)的應(yīng)用需求,以普元EOS Studio為設(shè)計(jì)開發(fā)平臺(tái),以BLOB類型數(shù)據(jù)為例,采用上傳文件類型提供的屬性進(jìn)行大對象數(shù)據(jù)的賦值和文件大小判斷,并通過運(yùn)算邏輯“expandLobProperty”獲取數(shù)據(jù)庫中的大對象數(shù)據(jù),同時(shí),運(yùn)用自定義函數(shù)實(shí)現(xiàn)圖片格式選擇和圖片預(yù)覽等功能。該研究詳細(xì)闡述了其技術(shù)實(shí)現(xiàn)過程,對其他類型大對象數(shù)據(jù)在普元平臺(tái)上的應(yīng)用提供了借鑒。

      關(guān)鍵詞:大對象;普元;EOS;LOB;BLOB

      中圖法分類號(hào):TP311 文獻(xiàn)標(biāo)識(shí)號(hào):A 文章編號(hào):2095-2163(2015)01-

      Abstract: According to the demand of large object data application in the approval process,this paper uses the property of the upload file type to provide the assignment and judge the size of large object data,taking Primeton EOS Studio as a design and development platform with BLOB data as examples,through the operation logic "expandLobProperty" access to large object data in the database. At the same time,it uses user-defining function to realize the function such as selection and preview of image. The study explains the technical implementation process in details,and provides reference to other types of large object data in Primeton platform application.

      Key words: Large Object; Primeton; EOS; LOB; BLOB

      0 引 言

      隨著各部門業(yè)務(wù)需求和應(yīng)用的不斷深入,企業(yè)辦公自動(dòng)化OA(Office Automation)系統(tǒng)[1-3]正在用于處理日益復(fù)雜的管理流程和業(yè)務(wù)數(shù)據(jù)。其中,不僅要處理如文本、數(shù)值、日期等簡單類型的數(shù)據(jù),而且更要處理Office、WPS Office和PDF等多種文件格式以及圖片等復(fù)雜類型的數(shù)據(jù)[4],因而如何在審批流程中實(shí)現(xiàn)對大對象數(shù)據(jù)的快速高效處理,并進(jìn)一步提升用戶體驗(yàn),則是系統(tǒng)設(shè)計(jì)與開發(fā)的關(guān)鍵問題之一。本文即基于普元EOS Studio 6.2集成開發(fā)平臺(tái),實(shí)現(xiàn)了圖片類二進(jìn)制大對象數(shù)據(jù)在Oracle 11g數(shù)據(jù)庫系統(tǒng)上的應(yīng)用與管理。

      1 普元平臺(tái)簡介

      普元Primeton EOS平臺(tái)是一款建立在J2EE之上的基于面向服務(wù)的體系架構(gòu)SOA(Service Oriented Architecture)[5-6]的應(yīng)用軟件平臺(tái),通過采用多層體系結(jié)構(gòu),提供了面向構(gòu)件的應(yīng)用機(jī)制,并且在功能上主要包括:EOS構(gòu)件運(yùn)行和管理環(huán)境、EOS工作流、EOS構(gòu)件庫和EOS構(gòu)件集成開發(fā)環(huán)境四大模塊。普元EOS集成開發(fā)環(huán)境(EOS Studio)是將設(shè)計(jì)、開發(fā)、組裝、調(diào)試、維護(hù)、部署、監(jiān)管和發(fā)布融于一體,且據(jù)此而實(shí)現(xiàn)了對SOA應(yīng)用和服務(wù)全生命周期的開發(fā)、維護(hù)和管理功能[7]。

      2 大對象數(shù)據(jù)簡介

      Oracle數(shù)據(jù)庫支持的LOB(Large Object,大對象)數(shù)據(jù)類型分內(nèi)部LOB(包括Blob、Clob、Nclob和Long Raw,這些數(shù)據(jù)存儲(chǔ)在Oracle數(shù)據(jù)庫內(nèi)部)和外部LOB(Bfile)。其中,Bfile是在數(shù)據(jù)庫外部保存的二進(jìn)制對象,數(shù)據(jù)完整性由操作系統(tǒng)來實(shí)現(xiàn)維護(hù)[8]。而Blob存儲(chǔ)的通用二進(jìn)制數(shù)據(jù)則在客戶端和服務(wù)器之間具有較高的傳輸效率[9],最大容量為4GB,適用于存儲(chǔ)非文本的字節(jié)流數(shù)據(jù),如圖片、視頻、音頻及程序等[10-11]。Clob卻用來存儲(chǔ)可變長度的字符型數(shù)據(jù),最大容量為4GB,且多用于存儲(chǔ)長文本數(shù)據(jù)[8-9]。另外,還有Nclob可用于存儲(chǔ)民族字符型數(shù)據(jù),最大容量為4GB[11-12]。Long Raw同樣存儲(chǔ)無結(jié)構(gòu)的二進(jìn)制數(shù)據(jù),最大容量為2GB,但一個(gè)表最多只能有一列Long Raw類型數(shù)據(jù) [8]。

      3 大對象數(shù)據(jù)應(yīng)用與實(shí)現(xiàn)

      本文選擇Blob數(shù)據(jù)類型,以某審批流程中照片的處理為例,具體描述基于普元平臺(tái)的大對象數(shù)據(jù)應(yīng)用過程。在該流程中,當(dāng)申請者填寫申請單并啟動(dòng)運(yùn)作流程時(shí),需要上傳合適大小的照片并能實(shí)時(shí)預(yù)覽,當(dāng)相關(guān)部門領(lǐng)導(dǎo)審核該單據(jù)時(shí),即需從數(shù)據(jù)庫中檢索出該申請者的照片并顯示在頁面上;同時(shí),若申請單被駁回至申請環(huán)節(jié),則需允許申請者重新上傳照片或刪除原有照片。

      3.1 數(shù)據(jù)庫設(shè)計(jì)

      在Oracle數(shù)據(jù)庫中創(chuàng)建表TBL_DOCMANAGEMENT,該表描述流程運(yùn)轉(zhuǎn)時(shí)需要傳遞的相關(guān)內(nèi)容,對應(yīng)字段主要包括主鍵、流程發(fā)起人、單位、流程實(shí)例ID、照片等,其中照片的字段名稱為photo,數(shù)據(jù)類型定義則為Blob。

      3.2 導(dǎo)入數(shù)據(jù)實(shí)體

      普元EOS Studio平臺(tái)提供數(shù)據(jù)建模工具,本例中為該流程新建構(gòu)件包c(diǎn)om.hf.docManagement,在該構(gòu)件包的數(shù)據(jù)構(gòu)件下創(chuàng)建數(shù)據(jù)集,通過新建數(shù)據(jù)集即可導(dǎo)入數(shù)據(jù)實(shí)體,導(dǎo)入時(shí)選擇數(shù)據(jù)庫表格TBL_DOCMANAGEMENT即可。

      3.3 頁面流設(shè)計(jì)

      由于審批流程主要包括申請和審核兩大環(huán)節(jié),其頁面處理過程完全不同,因而需要在普元EOS Studio平臺(tái)分別設(shè)計(jì)申請環(huán)節(jié)的頁面流和審核環(huán)節(jié)的頁面流。

      3.3.1 申請頁面流設(shè)計(jì)

      創(chuàng)建頁面流時(shí),只需在構(gòu)件包c(diǎn)om.hf.docManagement中依次展開構(gòu)件和頁面流部件的模型表示,并單擊鼠標(biāo)右鍵即可創(chuàng)建頁面流。在本例中創(chuàng)建的申請環(huán)節(jié)頁面流可如圖1所示。

      在上圖中頁面圖元“input”為后文將要設(shè)計(jì)的申請頁面,邏輯流“getProcessDefID”用來根據(jù)流程定義名稱獲取流程ID,邏輯流“insert”用來保存申請時(shí)填寫的業(yè)務(wù)表數(shù)據(jù)并創(chuàng)建和啟動(dòng)流程實(shí)例,保存業(yè)務(wù)數(shù)據(jù)時(shí)用到運(yùn)算邏輯 “insertEntity”(位于普元平臺(tái)基礎(chǔ)構(gòu)件包c(diǎn)om.eos.foundation.database.DatabaseUtil中),處理過程不涉及大對象數(shù)據(jù),不再詳述。

      流程發(fā)起人在填寫申請單時(shí)可以選擇上傳照片,也可以不上傳,若上傳照片則照片大小將限制為不可超過15KB,判斷過程如圖1所示。其中,頁面圖元需要在Action連線“submit”上設(shè)置輸出參數(shù),用來輸出上傳照片的相關(guān)信息,設(shè)輸出參數(shù)名稱為“uploadfile”,并定義其參數(shù)類型為“上傳文件類型”。用作分支條件判斷的普通連線還需要進(jìn)行相關(guān)設(shè)置,具體設(shè)置如表1所示。

      賦值圖元用來將照片傳遞給數(shù)據(jù)實(shí)體,需要編輯參數(shù),左值為“businessData/photo”(businessData為頁面input中定義的數(shù)據(jù)源名稱),右值為“uploadfile/bytes”,右值類別為“變量”,其賦值方式為“傳引用”。

      上述關(guān)于照片大小的判斷及賦值,用到了“上傳文件類型”提供的屬性“size”和“bytes”,前者獲取上傳文件大小,后者則獲得上傳文件具體內(nèi)容,并將該文件讀入到一個(gè)byte數(shù)組中。

      3.3.2 審核頁面流設(shè)計(jì)

      審核頁面流需要完成兩大功能:一是正常審核時(shí)的邏輯處理,二是申請單被駁回至申請人重填后審核時(shí)的邏輯處理。在構(gòu)件包c(diǎn)om.hf.docManagement中按上述方式及位置創(chuàng)建審核環(huán)節(jié)頁面流,具體如圖2所示。

      在審核環(huán)節(jié),首先需要在審核頁面“audit”(將在頁面設(shè)計(jì)部分論述)中顯示上傳的照片,具體可通過邏輯流“獲取業(yè)務(wù)數(shù)據(jù)”(將在邏輯流設(shè)計(jì)部分論述)來設(shè)計(jì)實(shí)現(xiàn)。為判斷是否重新上傳照片或是否取消原有照片,需要在Action連線“auditSubmit”上設(shè)置審核頁面“audit”的兩個(gè)輸出參數(shù),一是名稱為“uploadfile”的參數(shù),定義參數(shù)類型為“上傳文件類型”,用來輸出上傳照片的相關(guān)信息,二是名稱為“photoFlag”的參數(shù),定義參數(shù)類型為“String”,作為保持或取消原有照片的判斷標(biāo)志。該頁面流中用作分支條件判斷的普通連線則需要進(jìn)行相關(guān)設(shè)置,具體設(shè)置如表2所示。

      若保持原有照片,則需要獲取前次上傳照片的內(nèi)容,此時(shí)就要用到運(yùn)算邏輯“expandLobProperty”(位于普元平臺(tái)基礎(chǔ)構(gòu)件包c(diǎn)om.eos.foundation.database.DatabaseUtil中),據(jù)此將可獲取數(shù)據(jù)實(shí)體的LOB屬性對應(yīng)的值,即需要將第三個(gè)參數(shù)設(shè)置為本例中LOB屬性的名稱“photo”。

      審核環(huán)節(jié)頁面流包含兩個(gè)賦值圖元,一個(gè)用來取消原有照片,另一個(gè)用來將重新上傳且小于15KB的照片賦值給數(shù)據(jù)實(shí)體,編輯參數(shù)時(shí),左值均為“businessData/photo”,右值均為“uploadfile/bytes”,右值類別為“變量”,賦值方式仍為“傳引用”。需要注意的是,在取消原有照片時(shí)也存在賦值操作,但由于此時(shí)審核頁面上沒有選擇或者選擇了無效文件,將會(huì)導(dǎo)致“uploadfile/bytes”中沒有二進(jìn)制數(shù)據(jù)傳遞給數(shù)據(jù)實(shí)體,即相當(dāng)于取消了原有照片。

      3.4 頁面設(shè)計(jì)

      進(jìn)行頁面開發(fā)時(shí),只需在構(gòu)件包c(diǎn)om.hf.docManagement中依次展開、并呈現(xiàn)構(gòu)件和頁面資源部件,單擊鼠標(biāo)右鍵即可創(chuàng)建JSP文件。對應(yīng)申請環(huán)節(jié)頁面流和審核環(huán)節(jié)頁面流,由此需要分別設(shè)計(jì)申請頁面和審核頁面。

      3.4.1 申請頁面設(shè)計(jì)

      4 結(jié)束語

      本文研究了基于普元平臺(tái)和Oracle數(shù)據(jù)庫系統(tǒng)的BLOB類型數(shù)據(jù)在審批流程中的應(yīng)用步驟和方法,結(jié)合開發(fā)實(shí)踐,對頁面流、頁面和邏輯流等涉及到大對象數(shù)據(jù)處理部分的設(shè)計(jì)和開發(fā)進(jìn)行了詳細(xì)說明,取得了較好的應(yīng)用效果,相較于文獻(xiàn)[13]、文獻(xiàn)[14]及文獻(xiàn)[15]等完全利用代碼來完成在Oracle數(shù)據(jù)庫中的大對象數(shù)據(jù)存取操作,其優(yōu)勢主要體現(xiàn)如下:

      (1)解決了簡單類型數(shù)據(jù)和大對象數(shù)據(jù)的集中統(tǒng)一管理,對insert、update等數(shù)據(jù)庫常用操作無需區(qū)別對待,降低了實(shí)現(xiàn)難度。

      (2)可視化的頁面流和邏輯流設(shè)計(jì)界面,在一定程度上實(shí)現(xiàn)了圖形化編程,提高了開發(fā)效率。

      (3)提供了常用功能的邏輯構(gòu)件,具有一定的粒度,提高了軟件的復(fù)用度和可靠性。

      (4)將頁面展現(xiàn)和業(yè)務(wù)邏輯等分開實(shí)現(xiàn),便于程序的擴(kuò)展和維護(hù),同時(shí)建立了不同層次功能復(fù)用的基礎(chǔ)。

      (5)對本文介紹的方法稍加修改或擴(kuò)展即可應(yīng)用于長文本等其他類型的大對象數(shù)據(jù)。

      參考文獻(xiàn):

      [1] 繆永,周健,陶亮. 基于工作流的企業(yè)協(xié)同OA系統(tǒng)關(guān)鍵技術(shù)實(shí)現(xiàn)[J].計(jì)算機(jī)技術(shù)與發(fā)展,2011,21(3):90-93.

      [2] 杜龍. 辦公自動(dòng)化的國內(nèi)外發(fā)展?fàn)顩r及未來的發(fā)展方向[J].電腦知識(shí)與技術(shù),2009,5(9):2457-2458.

      [3] 欒陽. 基于WEB的辦公自動(dòng)化系統(tǒng)應(yīng)用研究[J].電腦知識(shí)與技術(shù),2008,4(5):1272-1273.

      [4] 孫俊峰. 一種基于VBA平臺(tái)的OA文檔處理方案及其模擬實(shí)現(xiàn)[J]. 西南民族大學(xué)學(xué)報(bào)·自然科學(xué)版:2014,40(5):739-744.

      [5] 張磊.基于SOA的辦公自動(dòng)化系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].電腦知識(shí)與技術(shù),2010,6(36):10314-10315.

      [6] 田廣,唐寧,張巖. 基于SOA體系的企業(yè)系統(tǒng)協(xié)同平臺(tái)的研究和應(yīng)用[J].計(jì)算機(jī)工程與設(shè)計(jì),2010,31(21):4615-4620.

      [7] 周江.基于XMLC的EOS頁面構(gòu)件設(shè)計(jì)與實(shí)現(xiàn)[J].電腦知識(shí)與技術(shù),2009,5(15):3945-3947.

      [8] 張靜,王永敏.數(shù)據(jù)庫應(yīng)用系統(tǒng)中LOB應(yīng)用技術(shù)研究[J].計(jì)算機(jī)技術(shù)與發(fā)展,2011,21(2):166-169.

      [9] 高翔云,王建軍.用PB存取社會(huì)保險(xiǎn)管理信息系統(tǒng)中圖片資料的方式[J].計(jì)算機(jī)光盤軟件與應(yīng)用,2012(15):8-9.

      [10] 單春燕.應(yīng)用BLOB技術(shù)實(shí)現(xiàn)圖像資料的存儲(chǔ)[J].中國管理信息化,2013,16(7):88-89.

      [11] 全杰.基于OCCI技術(shù)存取數(shù)據(jù)庫大對象的方法及實(shí)現(xiàn)[J].計(jì)算機(jī)系統(tǒng)應(yīng)用,2010,19(7):162-165.

      [12] 劉華,李峻林,熊俊,等.大對象數(shù)據(jù)在數(shù)據(jù)庫上的存取管理[J].艦船電子工程,2008,28(8):124-127.

      [13] 孫熙文,王友釗. LabVIEW中實(shí)現(xiàn)Oracle大對象數(shù)據(jù)存儲(chǔ)的一種方法[J].工業(yè)控制計(jì)算機(jī),2005,18(2):38-40.

      [14] 李勁. 對PB訪問數(shù)據(jù)庫中大對象數(shù)據(jù)方法的研究[J].微計(jì)算機(jī)信息,2006,22(21):236-238.

      [15] 袁勇. Oracle數(shù)據(jù)庫大對象數(shù)據(jù)存取的兩種實(shí)現(xiàn)方法及時(shí)間性能比較[J].佳木斯大學(xué)學(xué)報(bào)(自然科學(xué)版),2014,32(1):116-118.

      剑河县| 襄樊市| 绿春县| 水城县| 台安县| 象山县| 临江市| 防城港市| 望奎县| 晋州市| 开阳县| 乃东县| 内黄县| 宜昌市| 鄯善县| 龙陵县| 舒城县| 景德镇市| 邮箱| 黎城县| 延吉市| 林西县| 中卫市| 施秉县| 开阳县| 库伦旗| 扎鲁特旗| 凭祥市| 曲麻莱县| 德兴市| 淳化县| 布尔津县| 渭南市| 永顺县| 页游| 常熟市| 平乡县| 灵石县| 离岛区| 宁强县| 邳州市|