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