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

        ?

        基于B/S模式的公文管理系統(tǒng)關(guān)鍵技術(shù)分析

        2011-04-20 01:14:00宋寧琳
        群文天地 2011年10期
        關(guān)鍵詞:收文群發(fā)字段

        ■宋寧琳

        本文研究了一般公文管理系統(tǒng)中普遍需要實(shí)現(xiàn)的三個(gè)核心功能,分別是權(quán)限控制機(jī)制、公文群發(fā)機(jī)制和簽收機(jī)制,通過探討能夠使大家更深入的了解公文管理軟件的精髓。

        一、引言

        隨著信息化時(shí)代的高速發(fā)展,基于網(wǎng)絡(luò)的信息管理平臺(tái)大量涌現(xiàn),給傳統(tǒng)的工作方式帶來了革命性變化。在各政府機(jī)關(guān)、企事業(yè)單位中,以公文流轉(zhuǎn)為核心的web辦公自動(dòng)化系統(tǒng)(OA)應(yīng)用已較為廣泛。于此同時(shí),也涌現(xiàn)出很多公文管理軟件,它們的功能各有特色,但其核心功能都是相似的。本文希望通過權(quán)限控制機(jī)制的實(shí)現(xiàn)、公文群發(fā)機(jī)制和簽收機(jī)制探討能夠使大家更深入的了解公文管理軟件的精髓。

        二、服務(wù)器開發(fā)平臺(tái)

        在介紹三種關(guān)鍵技術(shù)之前,首先介紹一下本系統(tǒng)的開發(fā)平臺(tái)。本系統(tǒng)的軟件平臺(tái)采用開源的LAMP組合技術(shù),并使用免費(fèi)的Ajax類庫(kù)XAjax實(shí)現(xiàn)部分異步通信功能。服務(wù)器主要軟件配置如下:

        (1)服務(wù)器操作系統(tǒng)采用Linux系統(tǒng),版本為Red Hat Enterprise Linux 5.0,其內(nèi)核為2.6.18,具有支持Xen虛擬化技術(shù),集群存儲(chǔ)等。

        (2)Web發(fā)布軟件采用Apache,其版本為2.2。

        (3)系統(tǒng)開發(fā)語言采用PHP,其版本為5.2.6。

        (4)網(wǎng)絡(luò)數(shù)據(jù)庫(kù)采用MySQL,其版本為5.0.21。

        (5)異步通信采用XAjax。

        三、系統(tǒng)關(guān)鍵技術(shù)及實(shí)現(xiàn)

        (一)用戶權(quán)限控制機(jī)制的實(shí)現(xiàn)

        (1)權(quán)限存儲(chǔ)策略

        本系統(tǒng)中,用戶權(quán)限控制是實(shí)現(xiàn)整個(gè)系統(tǒng)正常操作流程的重要基礎(chǔ)和技術(shù)重點(diǎn)。下面從權(quán)限的存儲(chǔ)策略、權(quán)限驗(yàn)證策略、技術(shù)實(shí)現(xiàn)三個(gè)方面介紹本用戶權(quán)限控制機(jī)制的原理。

        首先將抽象的“權(quán)限”概念具體化,將系統(tǒng)中所有需要經(jīng)過權(quán)限認(rèn)證才能進(jìn)行的操作進(jìn)行分類、細(xì)化,概括成若干個(gè)獨(dú)立的、具體的權(quán)限。給出權(quán)限的文字描述,實(shí)現(xiàn)權(quán)限和程序之間的一一對(duì)應(yīng)。并對(duì)每個(gè)權(quán)限進(jìn)行編號(hào)。本系統(tǒng)的權(quán)限設(shè)置和編號(hào)情況如圖所示。權(quán)限編號(hào)完畢后,將權(quán)限編號(hào)、權(quán)限名稱、權(quán)限描述存入一個(gè)配置文件中。配置文件主要包括高級(jí)用戶管理權(quán)限、普通用戶管理權(quán)限、個(gè)人帳號(hào)管理、自定義發(fā)文群組管理、審批發(fā)文群組、內(nèi)部發(fā)文群組管理、公共普發(fā)信息管理和手機(jī)短信管理等內(nèi)容。

        在用戶基本信息表中,設(shè)置一個(gè)專用字段privlist,類型為text,可以支持極高長(zhǎng)度的文本,本字段用于存放本用戶的權(quán)限列表。在用戶權(quán)限設(shè)置頁(yè)面中,使用PHP的文本操作函數(shù)庫(kù),打開本配置文件,使用循環(huán)逐行讀取文件內(nèi)容,然后使用字符串處理函數(shù)將一行內(nèi)容分割為數(shù)組,然后將當(dāng)前權(quán)限輸出。

        (2)權(quán)限驗(yàn)證策略

        在這里,設(shè)計(jì)一個(gè)專門的PHP函數(shù)實(shí)現(xiàn)權(quán)限驗(yàn)證。

        Boolean function checkpriv($privid);

        本函數(shù)接收一個(gè)權(quán)限ID,判斷當(dāng)前登錄的用戶是否具有此權(quán)限。其方法是:

        ①檢查$privid是否大于0,是則進(jìn)入②,否則返回false;

        ②從SESSION中取出當(dāng)前登錄用戶的privlist,使用explode()函數(shù)將其處理成數(shù)組。

        $arr=explode(“|”,$privlist);

        ③使用in_array()函數(shù)判斷$privid是否是$arr中的一個(gè)元素,如果是則返回true,否則返回false;

        ④函數(shù)結(jié)束。

        (3)技術(shù)實(shí)現(xiàn)

        ①PHP讀取文本類型的配置文件。本操作使用PHP提供的文件操作函數(shù),打開文本文件流,每次讀取一行,循環(huán)處理直至文件末尾。具體實(shí)現(xiàn)代碼概要如下:

        ②前臺(tái)用戶權(quán)限的序列化。在用戶權(quán)限設(shè)置、修改等頁(yè)面中,需要將所有權(quán)限以下拉列表方式列出,管理員對(duì)用戶的權(quán)限進(jìn)行增刪操作,操作完畢后點(diǎn)擊提交。在點(diǎn)擊提交之后和發(fā)生提交之前,使用Javascript將所有已選權(quán)限(列在一個(gè)動(dòng)態(tài)的下拉列表中)序列化為一個(gè)以“|”分割的字符串,并將這個(gè)字符串賦值給一個(gè)事先設(shè)置好的hidden表單中,與整個(gè)表單值一起提交到服務(wù)器。這個(gè)Javascript函數(shù)的技術(shù)實(shí)現(xiàn)如下:

        其他技術(shù)實(shí)現(xiàn)細(xì)節(jié)不再贅述。

        (二)公文群發(fā)與簽收機(jī)制的實(shí)現(xiàn)

        (1)公文群發(fā)機(jī)制的實(shí)現(xiàn)

        一般而言,在Web系統(tǒng)設(shè)計(jì)中,對(duì)于群發(fā)信息一般采取兩種方式:一種是向每個(gè)用戶發(fā)送一份信息的拷貝。一旦發(fā)出無法撤回,接收者可以對(duì)信息進(jìn)行各種操作包括刪除,這種機(jī)制類似于電子信箱。這種方式下發(fā)送者無法或者很難掌握已發(fā)出信息的狀態(tài)。第二種方式是只在服務(wù)器上存儲(chǔ)一份信息的拷貝,所有用戶共用這個(gè)拷貝。這種方式的好處是可以大大減少存儲(chǔ)空間,同時(shí)便于管理,發(fā)送者可以隨時(shí)跟蹤所發(fā)信息的狀態(tài)。

        根據(jù)系統(tǒng)需求等綜合考慮,本系統(tǒng)采用后一種方式開發(fā)。在具體實(shí)現(xiàn)上,為每一個(gè)文件設(shè)置一個(gè)memberlist字段和一個(gè)responlist字段。Memberlist字段用來存儲(chǔ)所有收文用戶的ID序列,responlist存儲(chǔ)未簽收的用戶ID序列。按以下步驟進(jìn)行發(fā)文操作:

        ①發(fā)送公文第一步,輸入公文基本屬性(標(biāo)題、文號(hào)、內(nèi)容等)。點(diǎn)擊提交后將本基本信息插入公文數(shù)據(jù)表,在公文數(shù)據(jù)表中插入一條新記錄,產(chǎn)生本文件的唯一編號(hào)(ID),并將文件狀態(tài)初始化為1(編輯狀態(tài))。并將文件ID傳入下一步。

        ②發(fā)送公文第二步,添加和編輯附件。在附件設(shè)置完畢后,根據(jù)上一步傳遞過來的文件ID,將附件信息寫入附件數(shù)據(jù)表,并繼續(xù)將文件ID傳入下一步。

        ③發(fā)送公文第三步,選擇收文用戶。用戶選擇方式仍采用下拉列表,允許按不同群組選擇。用戶選擇完畢后,生成用戶ID的字符串(與權(quán)限管理功能原理相同),將字符串存入本文件的memberlist字段,同時(shí)將responlist字段也初始化為同樣的值。繼續(xù)將文件ID傳入下一步。

        ④確認(rèn)發(fā)文。提示用戶是否確認(rèn)發(fā)送文件,如果確定,則將文件的狀態(tài)更新為2(已發(fā)送),并將發(fā)文時(shí)間字段更新為當(dāng)前時(shí)間。如果否,則轉(zhuǎn)入草稿箱。

        ⑤提示用戶是否發(fā)送短信通知。如果是,則發(fā)送短信,否則不發(fā)送。

        由于所有收文用戶的ID都被存儲(chǔ)在了文件的memberlist字段中,因此實(shí)現(xiàn)了集約式的公文群發(fā)。用戶只需通過必要的操作檢索數(shù)據(jù)庫(kù),即可知道哪些公文是發(fā)送給自己的。

        (2)公文簽收機(jī)制的實(shí)現(xiàn)

        對(duì)終端用戶而言,收文分為未讀文件、已讀文件和全部文件三種情況。收文按照以下思路和步驟進(jìn)行:

        ①?gòu)腟ESSION中取得當(dāng)前用戶的ID。

        ②查詢文件數(shù)據(jù)表,根據(jù)查詢文件類型不同,分為三種方式:

        未讀文件:搜索memberlist中包含ID、responlist中也包含ID的記錄。對(duì)應(yīng)的SQL概念語句為:select[]from[]where LOCATE(‘|用戶ID|’,memberlist)!=-1 and LOCATE(‘|用戶ID|’,responlist)!=-1 ……

        已讀文件:搜索memberlist中包含ID,responlist中不包含ID的記錄。對(duì)應(yīng)的SQL概念語句為:select[]from[]where LOCATE(‘|用戶ID|’,memberlist)!=-1 and LOCATE(‘|用戶ID|’,responlist)=-1 ……

        全部文件:搜索memberlist中包含ID的記錄。對(duì)應(yīng)的SQL概念語句為:select[]from[]where LOCATE(‘|用戶ID|’,memberlist)!=-1……

        ③循環(huán)輸出文件列表。

        ④收文結(jié)束。

        未讀文件的簽收方法為:使用REPLACE語句,對(duì)文件數(shù)據(jù)表中指定文件的responlist值進(jìn)行替換,將當(dāng)前用戶ID替換為空。其對(duì)應(yīng)的SQL概念語句為;

        UPDATE[]set responlist=REPLACE(‘|用戶ID|’,’’,responlist)where id=文件ID

        四、結(jié)束語

        在本文中,作者研究了基于B/S模式的公文系統(tǒng)中的三項(xiàng)重要技術(shù),很好的解決了開發(fā)中的難題,其中運(yùn)用到了PHP腳本語言和SQL語言,因此該模塊具有良好的跨平臺(tái)性,特別是權(quán)限控制,為開發(fā)其他的管理信息系統(tǒng)提供了很好的參考價(jià)值。

        [1]張玉琢.基于軟件體系結(jié)構(gòu)的軟件重用技術(shù)[J].云南:云南師范大學(xué)學(xué)報(bào)(自然科學(xué)版),1999(06).

        [2]聶慶鵬,毛書朋.PHP+MySQL動(dòng)態(tài)網(wǎng)站開發(fā)與全程實(shí)例[M].北京:清華大學(xué)出版社,2007.

        [3]劉新濤.軟件體系結(jié)構(gòu)分析與評(píng)估方法研究[D].哈爾濱:哈爾濱工程大學(xué),2006.

        猜你喜歡
        收文群發(fā)字段
        農(nóng)業(yè)科研單位收文管理的幾點(diǎn)思考
        基于ESIA法對(duì)基層國(guó)有企業(yè)收文管理的優(yōu)化研究
        圖書館中文圖書編目外包數(shù)據(jù)質(zhì)量控制分析
        浙江省地方性高校收文質(zhì)量研究
        ——基于臺(tái)州職業(yè)技術(shù)學(xué)院收文數(shù)據(jù)的統(tǒng)計(jì)分析
        運(yùn)用文檔一體化管理思想解決企業(yè)收文管理痛難點(diǎn)
        丁酉中秋登樓時(shí)家人遠(yuǎn)離 聞多地?zé)o月乃拍照群發(fā)(外三首)
        一例群發(fā)性山羊痘的診斷與防治
        CNMARC304字段和314字段責(zé)任附注方式解析
        無正題名文獻(xiàn)著錄方法評(píng)述
        醫(yī)護(hù)一體化在群發(fā)傷救治中的實(shí)踐與體會(huì)
        大陆老熟女自拍自偷露脸| 国产剧情无码中文字幕在线观看不卡视频 | 国产av精品久久一区二区| 一二三区无线乱码中文在线 | 无人高清电视剧在线观看| 国产呦精品系列在线播放| 中日韩字幕中文字幕一区| 加勒比日韩视频在线观看| 免费视频成人片在线观看| 精品人体无码一区二区三区| 国产人禽杂交18禁网站| 国产69精品麻豆久久| 日本最新免费二区三区| 午夜精品一区二区三区在线观看| 亚洲欧洲美洲无码精品va| 国产亚洲欧美在线| 亚洲免费视频一区二区三区| av手机在线观看不卡| 亚洲中文字幕无码一久久区 | 亚洲综合一区二区三区在线观看| 99精品国产成人一区二区| 失禁大喷潮在线播放| 在线看亚洲十八禁网站| 中国亚洲av第一精品| 国产做国产爱免费视频| 久久无码人妻一区二区三区午夜| 日子2020一区二区免费视频| 日韩高清av一区二区| 国产一区二区三区小向美奈子| 噜噜噜噜私人影院| 男女18禁啪啪无遮挡| 亚洲 成人 无码 在线观看| 色se在线中文字幕视频| 日日噜噜夜夜狠狠久久丁香五月 | 熟女少妇av一区二区三区| 国产va免费精品观看精品| 亚洲性无码av在线| 久久久精品亚洲懂色av| 亚洲国产精品av在线| 色综合久久久无码中文字幕| 国产精品99久久久久久宅男|