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