劉小溪+++李彥明
摘 要:在實(shí)際環(huán)境中,無(wú)記名投票制被用在愈來(lái)愈多的場(chǎng)合,介紹的會(huì)議用無(wú)記名投票系統(tǒng),借助PC、手機(jī)等通用終端和以太網(wǎng)絡(luò)融入并控制無(wú)記名投票過(guò)程。系統(tǒng)適用于會(huì)議時(shí)的無(wú)記名投票、表決活動(dòng),較傳統(tǒng)的紙質(zhì)選投票方式有計(jì)票時(shí)間快、計(jì)票結(jié)果準(zhǔn)確、計(jì)票過(guò)程秘密、節(jié)約資源等優(yōu)點(diǎn);較基于非通用硬件的電子投票系統(tǒng)等具有搭建成本低,部署改動(dòng)便捷,硬件可通用易推廣等優(yōu)點(diǎn)。
關(guān)鍵詞:無(wú)記名投票;投票系統(tǒng);B/S;控制管理
引言
無(wú)記名投票(Vote by ballot) 又稱(chēng)不記名投票、匿名投票、秘密投票,是一種用于選舉的投票制度。一般是指,投票人在投票時(shí),選票不用寫(xiě)下自己的名字和身份識(shí)別,避免非自愿讓人知道自己的投票意向。由于無(wú)記名投票制在投選過(guò)程中不公開(kāi)身份的保密性質(zhì)有利于選舉人、表決人消除顧慮,完全按照自己的意志行使選舉權(quán)或表決權(quán),比公開(kāi)投票(Vote)更容易表現(xiàn)出客觀、公平,在我國(guó)黨、政府、軍隊(duì)的選舉投票中被廣泛采用。隨著時(shí)代的發(fā)展,無(wú)記名投票制的實(shí)施過(guò)程也衍生了很多的形式,基本可以分為兩大類(lèi):一是,借助電子技術(shù)控制投票過(guò)程。a.基于非通用電子設(shè)備的投票管理系統(tǒng),如由嵌入式設(shè)備構(gòu)成的專(zhuān)門(mén)為某事件特殊設(shè)計(jì)的投票控制系統(tǒng);b.基于通用電子設(shè)備的投票管理系統(tǒng),如基于普通服務(wù)器、PC、智能手機(jī)、平板電腦、以太網(wǎng)絡(luò)等通用電子設(shè)備之上的投票控制系統(tǒng)。二是,人力直接控制投票過(guò)程。如:由人力來(lái)控制投票過(guò)程的,黑白小球投選方式和紙質(zhì)選票投選方式等。
在中國(guó)信息化、電子政務(wù)、電子政府建設(shè)蓬勃發(fā)展的背景下,借助電子技術(shù)控制投票過(guò)程的系統(tǒng)越來(lái)越流行。而目前對(duì)于基于非通用硬件的投票系統(tǒng)的研究力量比較多,發(fā)展也很快。對(duì)于通用硬件的會(huì)議環(huán)境下適用的投票系統(tǒng)相對(duì)較少。本文試圖對(duì)一種高效的基于B/S架構(gòu)的投票管理系統(tǒng)進(jìn)行描述。
1 B/S會(huì)議用無(wú)記名投票系統(tǒng)功能簡(jiǎn)介
1.1 投票選舉活動(dòng)的管理員實(shí)時(shí)全程控制整個(gè)投票過(guò)程。
1.2 管理員在建立投票時(shí)指定本次投票活動(dòng)的候選項(xiàng),是否可棄權(quán),單票的最少、最多選數(shù)和其他一些細(xì)節(jié)。
1.3 選舉人每人一臺(tái)聯(lián)網(wǎng)投票用通用終端。
1.4 管理員提前確定選舉人范圍及做好訪問(wèn)控制設(shè)置。會(huì)場(chǎng)外不具備選舉資格的人,無(wú)法訪問(wèn)投票系統(tǒng)。
1.5 選舉人終端的屏幕由管理員對(duì)投票過(guò)程的實(shí)時(shí)控制而隨時(shí)有相應(yīng)地變化。
1.6 選舉人可以實(shí)時(shí)看到選舉人的投選數(shù)據(jù)。選舉結(jié)束后,可以很快(如在1秒鐘以?xún)?nèi))給出可打印的選舉結(jié)果。
2 硬件環(huán)境
2.1 服務(wù)器:對(duì)于候選人在1000以?xún)?nèi)的選舉活動(dòng)可選擇一臺(tái)中等性能的PC當(dāng)服務(wù)器,如配置CPU主頻≥1.7GHZ、CPU核數(shù)≥2,內(nèi)存≥2G,千兆網(wǎng)卡。如果候選人在10000時(shí),根據(jù)具體情況還可以采用反向代理,采用多網(wǎng)卡做TEAM,具備條件的話(huà)亦可采使專(zhuān)門(mén)的服務(wù)器或虛擬機(jī),具體型號(hào)可根據(jù)情況選擇。
2.2 投票用終端:每一個(gè)選舉人配備一臺(tái)投票終端。投票終端可以是PC或帶瀏覽器的觸屏手機(jī)或平板電腦等。終端須能通過(guò)以太網(wǎng)連接到服務(wù)器的http服務(wù)開(kāi)放的端口。
在選舉人終端所連接路由器或交換機(jī)設(shè)備中配置選舉終端的IP地址與MAC地址綁定。如網(wǎng)絡(luò)環(huán)境采用DHCP動(dòng)態(tài)分配IP地址,則需要為每個(gè)選舉終端配置一個(gè)靜態(tài)地址分配條目。如選舉終端采用手機(jī)或平板電腦,則建議適當(dāng)?shù)卦跁?huì)場(chǎng)附近設(shè)置熱點(diǎn),使無(wú)線(xiàn)信號(hào)盡量分布均勻。
3 服務(wù)器軟件環(huán)境選擇
3.1 操作系統(tǒng)可選擇linux或windows。
3.2 數(shù)據(jù)庫(kù)方面可在諸多關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng),如流行的Postgresql、Mssql、Mysql、Oracle中選擇一個(gè)。
3.3 http服務(wù)可根據(jù)情況在Apache httpd,Ngix,Tomcat,IIS等中選擇一款,原則是須能很好的支持所選擇的動(dòng)態(tài)網(wǎng)頁(yè)語(yǔ)言,本例中使用的Apache httpd。
3.4 動(dòng)態(tài)網(wǎng)頁(yè)語(yǔ)言可根據(jù)環(huán)境在asp,.net系列,php,jsp等或CGI支持的各種語(yǔ)言中選擇一種,本例中使用了PHP。
4 瀏覽器端設(shè)計(jì)
在B/S架構(gòu)的程序中,瀏覽器端是使用者與系統(tǒng)互動(dòng)的主要接口,瀏覽器端的設(shè)計(jì)在一定程度上決定了系統(tǒng)整體是否成功。
主要內(nèi)容有:
(1) 使用自我刷新或ajax實(shí)現(xiàn)每間隔一段時(shí)間,從實(shí)時(shí)從服務(wù)器獲取投票狀態(tài),展示適當(dāng)頁(yè)面內(nèi)容。如:使用javascript語(yǔ)句setTimeout('location.href=location.pathname',4000);
實(shí)現(xiàn)每間隔4秒鐘,自動(dòng)刷新頁(yè)面。刷新后根據(jù)讀取到的最新的投票狀態(tài),如投票未開(kāi)始、投票已啟動(dòng)、投票已結(jié)束等展示適當(dāng)?shù)捻?yè)面給用戶(hù)。
(2) 實(shí)時(shí)監(jiān)視投票人的輸入,對(duì)界面做出智能調(diào)整。
例如為了防止投票人多填候選項(xiàng)可以對(duì)投票頁(yè)面中的每一個(gè)標(biāo)簽設(shè)置設(shè)置
onClick='stat(this)'動(dòng)作映射
javascript函數(shù)stat用于統(tǒng)計(jì)已經(jīng)點(diǎn)選的候選項(xiàng)數(shù)目。當(dāng)已點(diǎn)選的候選項(xiàng)數(shù)目等于建立投票活動(dòng)時(shí)設(shè)置的最大投選數(shù)時(shí),無(wú)效其他所有未選取的候選項(xiàng)。
即對(duì)未選中的復(fù)選框in0:
用javascript做如下操作:
obj=document.getElementsByName("in0");
obj.disabled=true;
已確保投票人不能多選。
當(dāng)已點(diǎn)選的候選項(xiàng)數(shù)少于本次投票的最大投選數(shù)時(shí),有效所有未選取的候選項(xiàng)。使投票人可以自由選擇。endprint
5 服務(wù)器控制實(shí)現(xiàn)
服務(wù)器是投票活動(dòng)的數(shù)據(jù)中心和控制中心。對(duì)控制投票活動(dòng)中的狀態(tài)信息和投票數(shù)據(jù)信息應(yīng)實(shí)現(xiàn)準(zhǔn)確的控制和調(diào)度。
主要內(nèi)容有:
(1) 通過(guò)對(duì)操作系統(tǒng)、http服務(wù)和數(shù)據(jù)庫(kù)管理系統(tǒng)的配置,應(yīng)對(duì)多用戶(hù)并發(fā)投票時(shí)服務(wù)器各項(xiàng)資源負(fù)荷的合理分配。
(2) 在http服務(wù)中配置可訪問(wèn)和不可訪問(wèn)的IP信息。使在某個(gè)時(shí)間范圍內(nèi),可以訪問(wèn)系統(tǒng)進(jìn)行投票的人員得到控制。
假設(shè)http服務(wù)軟件使用的是Apache httpd,可通過(guò)修改httpd.conf文件,在文件夾權(quán)限說(shuō)明標(biāo)簽中配置描述項(xiàng)
Order allow,deny
Deny from all
Allow from 192.168.1
Allow from 192.168.3.1
這樣就使IP屬于192.168.1.1~192.168.1.255范圍內(nèi)或IP等于192.168.3.1的投票端才能訪問(wèn)系統(tǒng),確保了投票過(guò)程的安全性。
(3) 管理員的登錄用session變量進(jìn)行安全控制,登錄的有效期建議設(shè)置在600秒~2400秒之間。
6 基于B/S的會(huì)議用無(wú)記名投票系統(tǒng)的特點(diǎn)及推廣價(jià)值
系統(tǒng)具有以下特點(diǎn):(1) 硬件環(huán)境容易構(gòu)建,可以利用單位已有的資源,軟件選取自由,部署相對(duì)便捷。(2) 控制靈活,操作方便,過(guò)程安全。(3) 系統(tǒng)對(duì)投票的統(tǒng)計(jì)結(jié)果準(zhǔn)確率高,工作穩(wěn)定可靠,經(jīng)某軍級(jí)部隊(duì)單位連續(xù)3年用于多項(xiàng)會(huì)議的無(wú)記名投票,整套系統(tǒng)運(yùn)行穩(wěn)定,各項(xiàng)環(huán)節(jié)銜接流暢、準(zhǔn)確無(wú)故障。
參考文獻(xiàn)
[1]莊和誠(chéng).ballot[J].中國(guó)翻譯,1985.
[2]王培明.“無(wú)記名投票”的由來(lái)[J].秘書(shū),2008.
[3][美]弗蘭納根.JavaScript權(quán)威指南(第六版)[M].淘寶前端團(tuán)隊(duì)譯.北京:機(jī)械工業(yè)出版社,2012.
[4]屈展,李嬋.JSON在Ajax數(shù)據(jù)交換中的應(yīng)用研究[J].西安石油大學(xué)學(xué)報(bào)(自然科學(xué)版),2011.
[5]潘凱華,劉中華等.PHP從入門(mén)到精通(第二版)[M].北京:清華大學(xué)出版社.2012.endprint