- 易迪拓培训,专注于微波、射频、天线设计工程师的培养
基于移动定位服务的考勤管理系统
随着电信网和互联网向下一代网络方向的演进,融合网络业务受到了学术界和产业界的重视,如何快速、灵活地开发内容新颖、种类丰富的融合网络业务是计算机领域和电信领域所关注的重要问题[8].LBS(location based service,位置服务,又称定位服务)被认为将给增值业务和移动互联网的发展带来下一次高潮。LBS 是指移动网络通过特定的定位技术获取移动终端用户的位置信息,并基于地理信息技术将物理位置在电子地图上定位的一种空间信息服务。作为其核心技术的定位技术和GIS(geographic informationSystem) 技术, 随着移动通信技术和第三代移动通信网(3G)的快速发展,应用也越来越广泛[9-12].
移动定位技术与GIS 服务的技术特点与发展现状,给LBS 带来了内容与形式上广阔的创新空间, 为产生灵活多样的基于LBS 的应用提供了保障。然而,LBS仅提供位置服务是不够的,需要将LBS 与各种信息系统结合。
本文提出一种将LBS 与考勤管理系统相结合的考勤管理实现方法,并设计和实现了一个原型系统。该系统对员工持有的移动终端实时定位,使用范围搜索算法确定其是否在工作区内,并进行必要的统计、报表生成与外勤员工工作轨迹回放等。系统使用通信网络,能够随时抽查员工的出勤情况,及时获取出勤信息。同时移动终端(如手机、个人数字助理等)作为员工私人特定物品,具有随身携带的特点,实现对员工的自动考勤,只需要移动终端支持定位功能,而不需对移动终端进行改动。
1 系统概述
1.1 系统架构
本文所述原型系统通过融合移动定位服务和GIS服务来实现基于LBS 的增值服务,具体系统架构如图1 所示:
图1 系统体系结构
图1 中考勤系统的LBS 协议能力并未直接与运营商的定位网关交互,而是通过调用定位SP (ServiceProvider) 提供的定位能力来实现LBS 定位功能。考勤管理系统通过互联网与定位SP 相连,定位SP 通过互联网与运营商定位网关相连。定位SP 负责处理考勤管理系统服务器发送的定位请求。考勤管理服务器通过互联网与GIS 服务器相连。具有定位功能的移动终端,包括支持定位的手机、个人数字助理(PAD,personaldigital assistant)、车载定位设备等,通过3G 网络接入电信运营商网络。管理人员可通过考勤管理系统所在的客户端PC 登录系统,完成考勤管理。
1.2 系统功能
系统具备考勤能力、考勤数据存储与管理、考勤数据展示等功能,功能模块组成如图2 所示:
图2 系统功能模块图
1.3 主要工作流程
系统工作流程描述如下:
步骤1:系统根据设置的触发规则发起对移动终端的定位请求,并将定位SP 返回的定位结果写入数据库。考勤管理系统需要设置的相关信息包括:定位参数、定位触发规则、搜索程序的触发规则、搜索范围、考勤规则、用户信息、触发时间、出错信息、自动周期定位条件、自动周期定位规则等。其中,触发规则分为:发送定位请求的手动触发和设定触发时间的系统自动触发两种。
步骤2:系统对定位成功的移动终端进行自动范围搜索前,设定搜索等待时间,在搜索等待时间内,如果用户没有操作,则系统开始搜索;如果用户主动推迟范围搜索,系统则取消搜索,执行所选操作。系统对需要周期定位或定位不成功的移动终端进行自动周期定位,直至到达规定循环定位次数或定位成功。
步骤3:根据搜索结果,生成考勤信息,并将各种记录填入相应的信息表。
步骤4:根据具体需要和用户操作,在地图上展示或回放考勤结果,并进行统计。
2 关键技术
2.1 考勤信息生成
考勤信息生成模块用于从数据库的表中读取每个移动终端当日的考勤记录,并根据考勤规则,生成每个员工的出勤数据,将移动终端用户的相关信息、出勤情况写入考勤信息表,存储在系统的数据库中。该功能由定位信息处理模块的三个子模块完成,即定位执行子模块、范围搜索子模块和GIS 地图子模块。
定位执行子模块,系统接收用户的定位请求,调用定位SP 提供的定位接口进行定位,然后将定位结果存入数据库的定位结果表中。如果定位成功,则定位执行子模块将定位成功的移动终端的经度和纬度写入定位成功表;如果定位失败,系统给出提示信息,并将定位失败的信息写入定位失败表中,以备查询。此外,定位结束后,定位执行子模块给出提示信息,如:定位结束、定位成功、定位失败等信息。在定位执行期间,定位执行子模块不能再接受新的定位请求。
范围搜索子模块,接受用户范围搜索请求,从数据库中取出定位成功的移动终端所在位置信息,查找该移动终端是否在设定的工作区域内。对于定位成功的移动终端,用户可以随时启动、或者设定时间来启动范围搜索程序,查看某定位成功的移动终端是否在工作区域内,以获得员工的考勤情况。
其中范围搜索算法采用经典的点与多边形关系判定方法,根据本系统的实现,具体分为(1)判断一点是否在一个圆内,只需判断该点与圆心的距离是否小于或等于半径即可。(2)判断点是否在多边形内,过该点向x 轴正方向做一条射线,如果该射线与多边形有奇数个交点,则该点在多边形内,有偶数个交点则在多边形外[13].对于移动终端定位失败的情况,需要对该移动终端进行自动周期定位搜索,即,根据设定的定位周期和定位次数,在工作区域内对该移动终端定位并进行范围搜索的过程。图3 给出了自动周期定位搜索流程。
图3 自动周期定位搜索流程图
GIS 地图子模块用于在定位成功后将被定位移动终端的位置显示在数字地图上。根据此功能,考勤管理系统能够根据该位置信息为用户服务,比如在数字地图上进行指定条件的搜索,获取搜索结果的信息等。
该子模块还具有定位历史记录回放功能。
根据定位和范围搜索结果,系统生成移动终端对应的员工考勤信息,存储在数据库中,从而完成考勤工作。