门禁系统是安防领域一项高科技防范和管理手段,广泛的应用于政府/银行/医院/商场/监狱等行业。门禁系统的隐蔽性和信息及时性,既方便了用户,也为安防系统提供了大量的有效信息。
目前 ,网络上大部分文章以介绍门禁硬件系统为主,另外有一部分是讲门禁需求的,介绍软件系统设计的比较少。通过近几年的观察和了解,门禁软件有两个明显的分化特点出来:一个是早期的门禁系统,由硬件系统发展过来,软件系统对逻辑关系的设计比较偏重,这类系统的主要特点是功能强大,易用性差,往往一个业务的实现,要操作三四个地方。这类系统一般需要经过专门培训的人员来操作维护。另外一种是由互联网跨界过来的门禁系统,其主要特点是操作简单,方便,支持移动端,互联网进行多样化开门操作,这类系统适合安全性要求较低,功能简单的单一/个体用户。
这里我们主要针对大中型门禁系统应用系统设计作探讨,经过多年的开发和实践,给出一下几点建议:
一:门禁软件架构设计,宜采用CS+BS相结合的方式。门禁的核心关键点在于它复杂的逻辑关系运算,需要综合考虑人物/时间/地点/状态/计划等相互之间的对应/触发和关联关系,这一部分的信息传递适合采用CS结构。因此,服务端与设备端打交道,以及大型系统时的多服务器之间信息交互,宜采用CS结构。应用端与客户打交道,BS结构无需安装客户端,另外可以与手机互动,若考虑未来向互联网扩展,BS是最好的选择。
二:底层设计时,注意要确保设备与服务器之间信息的互通性和一致性。实践过程中,我们经常会遇到权限异常和数据丢失的问题。对于一个门禁系统来说,这是一个致命的打击。
门禁,重在“禁”,也就是门开关的权限。权限的异常往往是系统对于设备端数据管理的失控所造成。一般来说多个客户端或多个途径被允许权限的修改,对于系统来说一定要把控好。在这个重要的环节,我们建议时除非能够控制,否则宁可禁止。门禁数据时安放信息来源的重要环节,一个好的软件系统设计,应该能够有多重防范措施,来防止数据丢失。
三:应用层的设计要跟用户使用习惯密切的结合。围绕用户角色来梳理用户的使用场景,对软件业务/功能诉求的理解,进行场景的定义。再按业务/功能特性的维度展开,围绕系统和外部实体之间,对业务/功能特性的功能交互过程进行澄清和细化,以达到对软件易用性和便捷性的设计。
四:在一些实时性/稳定性要求都比较高的场合,使用双缓冲备份机制,可以给我们带来很大的便利。一般来说,我们会使用数据库来存储数据,系统运行时,经常使用和访问量高的数据采用缓冲区来存储。这里我们建议对于实时性要求高或未来考虑升级不影响系统在线运行,可采用双缓冲备份的方式,可以让系统平滑过渡。
以上的一点点建议,希望大家能在实践中能有所益处。