【摘要】:在闡述按照高??紕?wù)管理方式組織網(wǎng)絡(luò)考試的系統(tǒng)功能之后,講述了IBatisNet框架工作模式,分析了其使用的OR映射框架,及IBatisNet框架在系統(tǒng)開發(fā)中實(shí)際的應(yīng)用方式,從而使用asp.net+sq1 server 2000高效地開發(fā)B/S結(jié)構(gòu)網(wǎng)絡(luò)考試系統(tǒng),并使該系統(tǒng)更具備擴(kuò)展性和可維護(hù)性?!咀髡邌挝弧浚?黑龍江農(nóng)業(yè)工程職業(yè)學(xué)院;
公司主營(yíng)業(yè)務(wù):網(wǎng)站制作、成都網(wǎng)站建設(shè)、移動(dòng)網(wǎng)站開發(fā)等業(yè)務(wù)。幫助企業(yè)客戶真正實(shí)現(xiàn)互聯(lián)網(wǎng)宣傳,提高企業(yè)的競(jìng)爭(zhēng)能力。成都創(chuàng)新互聯(lián)公司是一支青春激揚(yáng)、勤奮敬業(yè)、活力青春激揚(yáng)、勤奮敬業(yè)、活力澎湃、和諧高效的團(tuán)隊(duì)。公司秉承以“開放、自由、嚴(yán)謹(jǐn)、自律”為核心的企業(yè)文化,感謝他們對(duì)我們的高要求,感謝他們從不同領(lǐng)域給我們帶來的挑戰(zhàn),讓我們激情的團(tuán)隊(duì)有機(jī)會(huì)用頭腦與智慧不斷的給客戶帶來驚喜。成都創(chuàng)新互聯(lián)公司推出高港免費(fèi)做網(wǎng)站回饋大家。
【關(guān)鍵詞】: IBatisNet B/S結(jié)構(gòu) 在線考試 Net
【基金】:《B/S結(jié)構(gòu)網(wǎng)絡(luò)考試系統(tǒng)研究》課題組論文,項(xiàng)目編號(hào)11515086
【分類號(hào)】:TP311.52
【正文快照】:
1引言2 IBatisNet框架簡(jiǎn)介 B/s結(jié)構(gòu)網(wǎng)絡(luò)考試系統(tǒng)借助準(zhǔn)確、高速、網(wǎng)絡(luò)化的信息技術(shù)手段,能夠在任何地點(diǎn)、任何時(shí)間進(jìn)行,跨越了時(shí)空的限制,增添了考試方便性和靈活性的功能。B/s結(jié)構(gòu)網(wǎng)絡(luò)考試系統(tǒng)提供了隨機(jī)均勻抽題、自動(dòng)組卷、客觀題自動(dòng)判卷等功能,是典型的M巧管理系統(tǒng),若采下載全文 更多同類文獻(xiàn) PDF全文下載CAJ全文下載(如何獲取全文? 歡迎:購買知網(wǎng)充值卡、在線充值、在線咨詢)
CAJViewer閱讀器支持CAJ、PDF文件格式,AdobeReader僅支持PDF格式
Linux主機(jī)上架設(shè)網(wǎng)上調(diào)查和在線考試系統(tǒng) Linux
一、 引言
如今已進(jìn)入WEB 2.0時(shí)代,各種網(wǎng)絡(luò)應(yīng)用也如雨后春筍般不斷涌現(xiàn),特別是企事業(yè)單位應(yīng)用越來越廣泛,從最初的C/S架構(gòu),到現(xiàn)如今的B/S架構(gòu)。本文是通過在LINUX主機(jī)上架設(shè)基于APACH服務(wù)的PHP程序應(yīng)用,介紹了《網(wǎng)絡(luò)調(diào)查系統(tǒng)》和《網(wǎng)上考試系統(tǒng)》安裝和使用手冊(cè),全部為作者個(gè)人經(jīng)驗(yàn)之談。源程序歸作者所有,任何使用該程序者請(qǐng)遵守相關(guān)的使用協(xié)議。
二、 安裝前的準(zhǔn)備
a) LINUX系統(tǒng):本文使用的是基于Fedora 8的linux系統(tǒng),如使用其它版本的linux請(qǐng)安裝系統(tǒng)對(duì)應(yīng)的相關(guān)組件,當(dāng)然上述兩種PHP應(yīng)用也可以安裝在Windows 系統(tǒng)中,相關(guān)安裝信息請(qǐng)參考相應(yīng)的手冊(cè),這里只介紹基于linux系統(tǒng)。建議安裝好操作系統(tǒng)后去掉一些不必要的服務(wù),如藍(lán)牙、SMART CARD等。
b) Webmin 的安裝,為了方便使用請(qǐng)?jiān)谙嚓P(guān)網(wǎng)站下載Webmin,最好是RPM文件,安裝好即可。
c) HTTP支持:使用的是Apache 2.2.6,將文件的字符集設(shè)定為默認(rèn),否則會(huì)產(chǎn)生亂碼。
d) MYSQL支持:MYSQL 版本 5.0.45, 建立一個(gè)新的用戶,并給予建立和修改數(shù)據(jù)庫的權(quán)利。
e) PHP 版本:PHP 版本 5.2.5
f) 安裝php-mbstring,此插件不是隨PHP自行安裝,需要另外安裝,Linux光盤上有現(xiàn)成的RPM。
g) 本文所使用的組件全部是Fedora光盤中所帶的組件,并且都是經(jīng)過編譯后的rpm文件,所以安裝上省去了很多的麻煩。這種方法安裝的弊端就是不能根據(jù)自己定義的方式進(jìn)行安裝,也不夠靈活,所以安裝目錄也會(huì)和通過重新編譯進(jìn)行安裝的程序會(huì)有一些區(qū)別。
h) 所用到的虛擬目錄為 /var/www/html,為了安全考慮可以根據(jù)需要建立其他虛擬目錄。
i) 本文為了方便并沒有建立其他的用戶和相應(yīng)的權(quán)限,全部使用root用戶進(jìn)行操作,在實(shí)際工作中非常不可取,因?yàn)長(zhǎng)INUX是以安全著稱的,所以不建議大家像我這樣設(shè)定。
j) 為了使用方便,使用了兩個(gè)工具如下:
i. WinSCP 是一個(gè)支持SSH(Secure SHell)的SCP(Secure Copy)文件傳輸軟件。只要文件主機(jī)支持SSH協(xié)定,你就可以安心的下載、上傳文件。他的操作界面是參考NC(Norton Commander)的雙視窗排列方式,使用起來不會(huì)有太大的困難。在WinSCP中,一般的文件操作都沒有問題,如:復(fù)制、移動(dòng)、更名文件或文件夾等。
ii. SecureCRT是一款支持SSH(SSH1和SSH2)的終端仿真程序,同時(shí)支持Telnet和rlogin協(xié)議。還可用于連接運(yùn)行包括Windows、UNIX和VMS的遠(yuǎn)程系統(tǒng)的理想工具。通過使用內(nèi)含的VCP命令行程序可以進(jìn)行加密文件的傳輸。
k) 對(duì)PHP和MYSQL 進(jìn)行測(cè)試,以保證其正常工作。請(qǐng)把下面文件放在虛擬目錄相應(yīng)的文件夾下。測(cè)試文件如下
Phpinfo.php
?phpinfo();?
Mysql.php
?php
$link=mysql_connect('localhost','myadmin','999999');
if(!$link) echo "失敗!";
else echo "成功!";
mysql_close();
?
當(dāng)程序出現(xiàn)PHP相關(guān)信息和數(shù)據(jù)庫測(cè)試成功后,我們就可以進(jìn)行接下來的安裝了。
三、 網(wǎng)絡(luò)調(diào)查系統(tǒng)(limesurvey)的安裝和使用
a) Limesurvey介紹
LimeSurvey(前身為PHPSurveyor)是一款開源的在線問卷調(diào)查程序,它用PHP語言編寫并可以使用MySQL,PostgreSQL或者M(jìn)SSQL等多種數(shù)據(jù)庫,它集成了調(diào)查程序開發(fā)、調(diào)查問卷的發(fā)布以及數(shù)據(jù)收集等功能,使用它,用戶不必了解這些功能的編程細(xì)節(jié)。系統(tǒng)包括了分支、自定義頁面布局和設(shè)計(jì)(使用web template system),并且提供了基本的統(tǒng)計(jì)分析功能。調(diào)查可以匿名訪問也可以限制為問卷“訪問一次性”令牌的用戶參加,從而我們能得到匿名數(shù)據(jù)或者參與者與結(jié)果相分離的數(shù)據(jù)。
b) 確定服務(wù)器符合以下要求
i. 約 40 兆的磁盤空間保存腳本
ii. MySQL 4.1.0 或以上版本或者Postgres 8.1 以上版本
iii. PHP 5.x 或以上版本并啟用下列模塊/鏈接庫:
1. mbstring (Multibyte String Functions) 擴(kuò)展庫
2. mysql4 或 mysql5 PHP 鏈接庫
前面?zhèn)z個(gè)章節(jié)我們介紹了窗口函數(shù)、滑動(dòng)窗口函數(shù)的概念,接下來我們介紹一下PG支持的原生通用窗口函數(shù),總共11個(gè)(9.6版本, 中國(guó)社區(qū)官網(wǎng)文檔地址 )
1、row_number 函數(shù)
row_number函數(shù)可以給每隔數(shù)據(jù)行返回一個(gè)虛擬的自增ID,也就是相當(dāng)于給行分配一個(gè)編號(hào),這些編號(hào)不會(huì)出現(xiàn)重復(fù),即使over()里面沒有按照字段排序字段也能正常工作,
2、rank函數(shù)
rank的官方解釋是:帶間隙的當(dāng)前行排名; 與該行的第一個(gè)同等行的row_number相同
從上面的的結(jié)果我們可以看出 rank函數(shù)和row_number一樣可以將行編號(hào),但是號(hào)碼可能重復(fù),比如我們按照年份排序,年份相同的話rank值相同,2017年的數(shù)據(jù)rank直接跳到了7,這就相當(dāng)于上學(xué)的時(shí)候考試,用rank計(jì)算排名的話,如果同年級(jí)出現(xiàn)三個(gè)并列的第一名的話,那么計(jì)算的結(jié)果將是三個(gè)人的rank值都是第一,但是實(shí)際上的第二高的分?jǐn)?shù)的同學(xué)會(huì)被rank排名為第四名,如果我們想第二高的分?jǐn)?shù)的排名為2,我們可以使用dense_rank函數(shù);
3、dense_rank函數(shù)
從上面的結(jié)果我們可以看出dense_rank函數(shù)會(huì)把編號(hào)弄得更加緊密,中間不會(huì)出現(xiàn)像rank那樣的斷層編碼。
4、percent_rank函數(shù)
官方文檔解釋: 當(dāng)前行的相對(duì)排名=(rank- 1) / (總行數(shù) - 1) ,
??? 排名和rank值成正相關(guān) ,rank值相同的行號(hào)?percent_rank獲取的結(jié)果也一樣,返回的 結(jié)果是個(gè)小數(shù)范圍在[0,1]之間 ,可以等于0或者1
5、cume_dist函數(shù)
官方文檔解釋: 當(dāng)前行的相對(duì)排名=(rank- 1) / (總行數(shù) - 1) ,
??? 排名和rank值成正相關(guān) ,rank值相同的行號(hào)?percent_rank獲取的結(jié)果也一樣,返回的 結(jié)果是個(gè)小數(shù)范圍在[0,1]之間 ,可以等于0或者1
6、ntile函數(shù)
官方文檔解釋:從1到參數(shù)值的整數(shù)范圍,盡可能等分分區(qū),
ntile(num_buckets),num_buckets的值表示將結(jié)果集分成num_buckets組,有限填滿前面的組,最后一組可能出現(xiàn)個(gè)數(shù)不足(非等分)情況,實(shí)際上就是把每隔行分個(gè)組號(hào)。
7、lag函數(shù)
官方文檔解釋:lag( value ?anyelement?[,? offset ?integer?[,? default ?anyelement?]]),返回 value , 它在分區(qū)內(nèi)當(dāng)前行的之前 offset 個(gè)位置的行上計(jì)算;如果沒有這樣的行,返回 default 替代。 (作為 value 必須是相同類型)。? offset 和 default 都是根據(jù)當(dāng)前行計(jì)算的結(jié)果。如果忽略它們,則 offset 默認(rèn)是1, default 默認(rèn)是空值
? ? 官方文檔的解釋很晦澀難懂,我們直接使用用例執(zhí)行一下看一下數(shù)據(jù)分布就好了
從上圖可以知道當(dāng)前行的lag值是當(dāng)前行的前offset行的值,沒有的話就返回default,default不想存在的話就返回null,從數(shù)據(jù)姐過再去看官方文檔的解釋的話可能清晰很多,lag函數(shù)可以在結(jié)果集的行內(nèi)移動(dòng),經(jīng)常使用到的場(chǎng)景是計(jì)算今年和全年的年產(chǎn)量的差值,
8、lead函數(shù)
官方文檔解釋:lead( value ?anyelement?[,? offset ?integer?[,? default ?anyelement?]])?返回 value ,它在分區(qū)內(nèi)當(dāng)前行的之后 offset 個(gè)位置的行上計(jì)算;如果沒有這樣的行,返回 default 替代。(作為 value 必須是相同類型)。 offset 和 default 都是根據(jù)當(dāng)前行計(jì)算的結(jié)果。如果忽略它們,則 offset 默認(rèn)是1, default 默認(rèn)是空值
其實(shí)lead函數(shù)和lag函數(shù)的作用是相同的,如果lead的offset參數(shù)值為-N,那么lag的offset的參數(shù)為N的話計(jì)算結(jié)果是相同的,lag(gdp,-1)是lead(gdp,1)的替代
9、first_value、last_value、nth_value函數(shù)較為簡(jiǎn)單不做介紹
至此我們講完了幾乎所有的窗口函數(shù),希望這五篇關(guān)于PostgreSQL的文章能對(duì)大家在平時(shí)的開發(fā)中有所幫助