本文共 768 字,大约阅读时间需要 2 分钟。
目前公司会议室申请已在Outlook中进行操作,已实现会议室申请自动化的功能(无需人工干预),且已有一年多的累计会议室数据,但在Outlook日历中会议室查看或查询存在严重缺陷,如无法查看会议申请人或参与人的部门及申请时间等信息,无法进行汇总统计和数据导出等,导致无法进行会议室分析与考核。由于Outlook的会议室存储在Exchange的专用数据库中,且Exchange的专用数据库与通用的关系型数据库如Oracle、Ms SQL Server、MySQL等有很大的不同,它没有通用的驱动程序或API接口,不过微软提供了基于.Net技术的专用API接口可以通过编程方式访问Exchange会议室数据。
由于公司已实行windows域管理,且Exchange邮件服务器与域进行了集成和绑定,也就是说会议室申请人的电子邮箱与windows活动目录的用户的电子邮箱属性一一匹配的,且活动目录的用户存在组织架构的属性(如部门、科室、组等信息),这就为会议室查询的二次开发集成创造了必要条件。
同时通过专用的API接口进行二次开发查询在性能方面存在很大瓶颈,特别是跨月查询的时候,耗时较长(可能会造成系统假死现象),用户体验差。
目前会议室可以提前7天申请,但对于会议室申请的历史发生数据不会做任何变更操作,因此对于历史发生数据可以定时同步到缓存中,本文采用把会议室历史发生数据定时同步到Redis中,为了提高计算性能,同时把Windows活动目录中的所有在职用户信息也同步到Redis中,并给出了一个高性能的应用架构,有效的解决了系统性能问题和数据历史存档问题(如采用实时事务查询机制,一旦某会议室删除,将导致其所有数据丢失,无法进行查询),不仅大大提高了用户体验,而且为会议室分析与考核提供了平台。
转载地址:http://qdaqj.baihongyu.com/