基于移动定位服务的考勤管理系统
随着电信网和互联网向下一代网络方向的演进,融合网络业务受到了学术界和产业界的重视,如何快速、灵活地开发内容新颖、种类丰富的融合网络业务是计算机领域和电信领域所关注的重要问题[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 地图子模块用于在定位成功后将被定位移动终端的位置显示在数字地图上。根据此功能,考勤管理系统能够根据该位置信息为用户服务,比如在数字地图上进行指定条件的搜索,获取搜索结果的信息等。
该子模块还具有定位历史记录回放功能。
根据定位和范围搜索结果,系统生成移动终端对应的员工考勤信息,存储在数据库中,从而完成考勤工作。
{$page$}
2.2 员工轨迹回放
本系统还具有根据查询条件显示所存储的移动终端定位历史记录的回放功能,回放方式分为两种:
(1)按照真实的定位时间间隔回放。根据之前对用户的每次定位操作成功后,定位记录中包含的移动终端号码、经纬度和定位时间信息,按照定位记录的原始时间间隔在地图上依次显示移动终端的位置。
(2)按照系统设定的时间快速回放。用户可以快速地浏览该时间段内的定位记录,而不考虑真实的时间间隔,按照系统配置时设定的时间快速对某个移动终端在某个时间段内的定位历史记录在数字地图上回放。
移动终端定位的历史记录就是存放在数据库中的搜索结果表,在使用定位历史记录回放功能时,首先需要根据用户指定的回放时间段和移动终端号码从数据库中得到所有的定位记录,选择定位回放方式,在数字地图上回放被定位设备的历史轨迹。
按照真实定位时间间隔回放的实现方式并不能保证时间间隔完全准确,由于接口调用时间等原因只能保证大致准确。如果要求快速回放,只需在取得所有符合条件的定位记录后,按照系统设定的固定时间间隔休眠所述线程即可,而不需要做相邻两条记录之间的时间差运算。在两种回放过程中,用户均可以随时中止回放。
图4 给出了按照真实定位时间间隔回放定位历史记录的工作流程。
图4 回放定位历史记录工作流程
用户输入查询条件后,系统调用定位历史记录接口,并判断如果存在符合条件的定位历史记录,则启动一个定位回放线程,将查询到的所有定位历史记录传入该线程(该线程中定义了一个循环来显示定位记录)。在定位回放线程中判断记录的总数是否大于1,如果总数大于1,则取出相邻两条定位记录,然后将前一条定位记录的经度和纬度信息传入GIS 地图模块显示移动终端位置的接口,在数字地图上显示被定位移动终端的位置,将该线程休眠,休眠的时间为前面取出来的相邻两条定位记录的时间差,这样做是为了保证回放的时间间隔与先前定位时的时间间隔一致,然后结束线程休眠,将定位记录的总数减1,再次启动一个定位回放线程,重复上述操作直至最后一条定位历史记录显示完毕。
3 系统仿真
3.1 仿真环境
服务器端软硬件环境包括:SUN Fire V440 服务器,配置2 个UltraSPAR C IIIi CPU,时钟速度为1593MHz,物理内存4096MB,操作系统采用SUNSolaris 5.9;应用服务器为WebLogic 8.1 SP5;数据库采用MySQL 5.0;GIS 服务器软件采用MapInfoMapXtreme(R) Java Edition(TM) 4.5.0.采用短信和定位模拟网关。
客户端软硬件环境包括:PC 机联想启天M2400;操作系统为Microsoft Windows XP Professional SP2;JDK 1.5.0(Update6)。
3.2 仿真方法
使用CDMA 手机模拟移动终端,每个模拟终端具备唯一的号码。用1 个模拟用户并使用模拟程序创建1 至299 个虚拟用户,以3 次/分钟的速率执行短信定位业务。搜索范围设置为多边形。定位方式采用自动定位,自动周期定位的时间间隔为1 分钟,自动周期定位次数为4 次。在短信和定位模拟网关的配置中,设置不同的循环次数和间隔时间,根据返回的定位信息次数、总时间和平均一次定位时间对性能进行测试。
3.3 仿真结果
将模拟移动终端随机放置于多边形区域附近进行测试,定位结果如表1 所示,在模拟终端数量相对较少和相对较多的两种情况下,系统均能对终端进行有效定位,其中模拟终端个数较多时,定位平均时间会下降,而成功率基本保持稳定。
表1 移动终端定位成功数量表
若对模拟移动终端定位成功,则根据终端位置进行范围搜索,判断其是否在班。如果首次定位不成功,则根据自动周期定位的时间间隔和自动周期定位次数进行反复定位,若由于终端未打开等因素导致定位一直不成功,则生成其不在班的考勤记录。生成的部分考勤结果如表2 所示。
表2 工考勤记录表
4 结语
本文总结了已有考勤管理系统实现机制的不足,设计实现了一种融合移动定位和GIS 服务的考勤管理系统,该系统可以使考勤工作的完成不受时间和空间的约束,同时有效避免了丢卡或代替打卡的现象。此外,由于考勤管理系统服务器是从移动终端无线通信网络获得移动终端的位置信息,移动终端的携带者无法接触到该位置信息,也就无法对其进行修改而伪造考勤记录。系统的实现顺应了融合网络服务以形成新的增值业务的潮流,节省了开发成本,保证业务的灵活多样,充分体现了基于位置的移动增值业务的价值。
参考文献:
1 Moksin MI, Yasin NM. The Implementation of Wireless Student Attendance System in
an Examination Procedure.2009 International Association of Computer Science and
Information Technology-Spring Conference. Singapore, Singapore:
IEEE Press, 2009. 174-177.
2 Gatsheni BN, Kuriakose RB, Aghdasi F. Automating a Student Class Attendance
Register Using Radio Frequency Identification in South Africa. Proc. of the 2007
4th IEEE International Conference on Mechatronics. Kumamoto,Japan:
IEEE Press, 2007.1?5.
3 Simao P, Fonseca J, Santos V. Time Attendance System with Multistation and Wireless
Communications. 12th IEEE International Symposium on Consumer Electronics.
Vilamoura,Portugal: IEEE Press, 2008.1?4.
4 Zhang YQ, Liu J. The Design and Implement of Wireless Fingerprint Attendance
Management System. WSEAS Transactions on Communications, 2007,6(3):416?421.
5 Taylor JR, Nygren AI. Real-time Time and Attendance System.US20090248552, 2009-10-01.
6 Briggs RG, Tamayo MA, Mendoza M, et al. Time and Attendance System with Verification
of Employee Identity and Geographical Location. US20020175211, 2002-11-28.
7 He ZG, Zheng JS. Design and Implementation of Student Attendance Management
System Based on MVC. International Conference on Management and
Service Science. Wuhan, China: IEEE Press, 2009.1?4.
8 杨骎,陈俊亮,孟祥武。一种面向LBS 的电信增值业务生成方法及实现。软件学报,2009,20(4):965?974.
9 杨云源。移动GIS 定位技术研究。地理空间信息, 2009,7(2):67-70.
10 刘建闽。基于3G 网的移动GIS 系统关键技术及应用。河南理工大学学报(自然科学版),2007,26(1):42?45.
11 田根,童小华。基于移动GIS 和GPS 集成的绿化调查关键技。同济大学学报(自然科学版),2007,35(10):1400?1405.
12 王伟星,龚建华,杨卫军,等。面向公共卫生突发事件的移动GIS 设计与实现。计算机工程与应用,2008,44(6):25?28.
13 周培德。计算几何。北京:清华大学出版社,2000.