新闻中心

EEPW首页 > 手机与无线通信 > 设计应用 > 基于移动定位服务的考勤管理系统

基于移动定位服务的考勤管理系统

作者:时间:2012-08-02来源:网络收藏

执行子模块,系统接收用户的请求,调用SP 提供的定位接口进行定位,然后将定位结果存入数据库的定位结果表中。如果定位成功,则定位执行子模块将定位成功的终端的经度和纬度写入定位成功表;如果定位失败,系统给出提示信息,并将定位失败的信息写入定位失败表中,以备查询。此外,定位结束后,定位执行子模块给出提示信息,如:定位结束、定位成功、定位失败等信息。在定位执行期间,定位执行子模块不能再接受新的定位请求。

范围搜索子模块,接受用户范围搜索请求,从数据库中取出定位成功的终端所在位置信息,查找该终端是否在设定的工作区域内。对于定位成功的移动终端,用户可以随时启动、或者设定时间来启动范围搜索程序,查看某定位成功的移动终端是否在工作区域内,以获得员工的情况。

其中范围搜索算法采用经典的点与多边形关系判定方法,根据本系统的实现,具体分为(1)判断一点是否在一个圆内,只需判断该点与圆心的距离是否小于或等于半径即可。(2)判断点是否在多边形内,过该点向x 轴正方向做一条射线,如果该射线与多边形有奇数个交点,则该点在多边形内,有偶数个交点则在多边形外[13].对于移动终端定位失败的情况,需要对该移动终端进行自动周期定位搜索,即,根据设定的定位周期和定位次数,在工作区域内对该移动终端定位并进行范围搜索的过程。图3 给出了自动周期定位搜索流程。

图3 自动周期定位搜索流程图。

图3 自动周期定位搜索流程图

GIS 地图子模块用于在定位成功后将被定位移动终端的位置显示在数字地图上。根据此功能,能够根据该位置信息为用户,比如在数字地图上进行指定条件的搜索,获取搜索结果的信息等。

该子模块还具有定位历史记录回放功能。

根据定位和范围搜索结果,系统生成移动终端对应的员工信息,存储在数据库中,从而完成考勤工作。

2.2 员工轨迹回放

本系统还具有根据查询条件显示所存储的移动终端定位历史记录的回放功能,回放方式分为两种:

(1)按照真实的定位时间间隔回放。根据之前对用户的每次定位操作成功后,定位记录中包含的移动终端号码、经纬度和定位时间信息,按照定位记录的原始时间间隔在地图上依次显示移动终端的位置。

(2)按照系统设定的时间快速回放。用户可以快速地浏览该时间段内的定位记录,而不考虑真实的时间间隔,按照系统配置时设定的时间快速对某个移动终端在某个时间段内的定位历史记录在数字地图上回放。

移动终端定位的历史记录就是存放在数据库中的搜索结果表,在使用定位历史记录回放功能时,首先需要根据用户指定的回放时间段和移动终端号码从数据库中得到所有的定位记录,选择定位回放方式,在数字地图上回放被定位设备的历史轨迹。

按照真实定位时间间隔回放的实现方式并不能保证时间间隔完全准确,由于接口调用时间等原因只能保证大致准确。如果要求快速回放,只需在取得所有符合条件的定位记录后,按照系统设定的固定时间间隔休眠所述线程即可,而不需要做相邻两条记录之间的时间差运算。在两种回放过程中,用户均可以随时中止回放。

图4 给出了按照真实定位时间间隔回放定位历史记录的工作流程。

图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 移动终端定位成功数量表

表1 移动终端定位成功数量表 电荷放大器相关文章:电荷放大器原理


评论


相关推荐

技术专区

关闭