公司動態
門禁系統之軟件架構發展初探
閱讀:577 發布時間:2020-5-27 在安防系統里,門禁系統能夠直接與人面對,主動對人的行為進行規范,將妄圖入侵者拒之門外,而相較監控系統和報警系統的效果更直接,從而更能有效的維護用戶的財產和生命安全而被社會所重視。
門,是我們出入某個特定地方的必經之地,亦是這個特定地方面臨威脅的*之地。隨著科技的不斷進步,硬件成本的降低,將我們的關注重心逐漸轉移到后端軟件和管理功能上來,從而更多的關心如何做好門禁軟件配套產品,讓這個附屬產品怎樣更加貼近用戶,服務于用戶。
為了更好的為用戶著想,在系統軟件架構設置上,我們不再談論是CS好,還是BS好的問題,因為這兩個架構有著各自的優缺點,無論選擇誰都會喪失另一個架構的優點。從現代技術發展的趨勢來看,我們是偏向于BS的,這也是未來的技術趨勢。但是在這里,我們要給大家推薦的是一個可以跨平臺,支持CS+BS混合架構的技術方案——Tornado,可以滿足CS下更好的服務專業用戶,BS下普通用戶更方便。
Tornado,中文名是龍卷風,是一種Web服務器的開源框架。Tornado和現在的主流Web服務器框架(也包括大多數Python的框架)有著明顯的區別:它是非阻塞式服務器,速度相當快。因其采用非阻塞的方式,以及對epoll的運用,Tornado每秒可以處理數以千計的連接,因此Tornado是實時Web服務的理想框架之一。目前,有名的知乎wang站,采用的就是這一框架。
Tornado的*之處在于其所有開發工具能夠使用在應用開發的任意階段以及任何檔次的硬件資源上。而且,完整的Tornado工具可以使開發人員*不用考慮與目標連接的策略或目標存儲區大小。Tornado結構的專門設計為開發人員和第三方工具廠商提供了一個開放環境。Tornado包括強大的開發和調試工具。另外,所有工具能很方便地同時運行,很容易增加和交互式開發。
tornado模塊簡介
重要的一個模塊是web,它就是包含了Tornado的大部分主要功能的Web框架。其它的模塊都是工具性質的,以便讓web模塊更加有用后面的Tornado攻略詳細講解了web模塊的使用方法。
主要模塊
l web-FriendFeed使用的基礎Web框架,包含了Tornado的大多數重要的功能
l escape-XHTML,JSON,URL的編碼/解碼方法
l database-對MySQLdb的簡單封裝,使其更容易使用
l template-基于Python的web模板系統
l httpclient-非阻塞式HTTP客戶端,它被設計用來和web及httpserver協同工作
l auth-第三方認證的實現(包括GoogleOpenID/OAuth、FacebookPlatform、YahooBBAuth、FriendFeedOpenID/OAuth、TwitterOAuth)
l locale-針對本地化和翻譯的支持
l options-命令行和配置文件解析工具,針對服務器環境做了優化
底層模塊
l httpserver-服務于web模塊的一個非常簡單的HTTP服務器的實現
l iostream-對非阻塞式的socket的簡單封裝,以方便常用讀寫操作
l ioloop-核心的I/O循環
COSON新的門禁軟件已經運用這一高性能框架成功的在CentOS系統下部署實施。目前,利用Tornado框架,實際測試TCP接入100臺前端控制器,50臺瀏覽器并行訪問,運行穩定。前端采用了WebSocket等技術,減輕后端服務壓力,未來會接入更多的互聯網技術到我們的軟件架構中來,樂于與各位同行共同進步探討。

