一种针对计算机的定位方法、装置及系统的制作方法
【技术领域】
[0001]本发明涉及定位领域,更具体而言,涉及一种针对计算机的定位方法、装置及系统。
【背景技术】
[0002]目前,计算机端(例如,PC端)的web服务或软件基本依靠IP定位,精度约为城市级,无法满足精准定位的需求。即使采用HTML5提供的Geolocat1n API (地理位置应用程序接口)来获得用户的地理位置,其实际精度也大于10km,效果并不理想。此外,虽然MAC (苹果笔记本)的Safari (苹果的浏览器)提供的定位服务精度较好,但必须具有可扫描附近网络的AirPort连接即外部智能路由器连接才能进行定位服务,也就是说,MAC在定位服务中需要额外的硬件。
【发明内容】
[0003]为了解决现有技术所存在的缺陷,本发明实施方式提供一种针对计算机的定位方法、装置及系统,无需依赖计算机之外的硬件,并且能大大提高定位的精确度。
[0004]第一方面,本发明实施例提供了一种针对计算机的定位方法,包括:
[0005]通过调用操作系统接口获取计算机周围的WiFi信息;
[0006]将所述WiFi信息发送至定位服务器,以便所述定位服务器根据所述WiFi信息确定计算机的位置;
[0007]接收所述定位服务器返回的位置信息。
[0008]可选地,在本实施例的一种实现方式中,所述通过调用操作系统接口获取计算机周围的WiFi信息,包括:调用WlanOpenHandle函数获取无线网络连接的句柄;调用WlanEnumInterfaces函数获取所述计算机可用的无线网络接口 ;调用WlanGetNetworkBssList函数获取至少一个无线网络接口所扫描到的AP的WiFi信息。
[0009]可选地,在本实施例的另一种实现方式中,所述WiFi信息包括:AP的mac地址;或,所述WiFi信息包括AP的mac地址以及以下信息中的任意一种或一种以上:信号强度、ssid、信号质量、扫描时间。
[0010]可选地,在本实施例的又一种实现方式中,所述方法还包括:接收用于请求所述计算机的位置的请求消息;将所述计算机的位置信息反馈至发送所述请求消息的请求方。
[0011]第二方面,本发明实施例提供一种针对计算机的定位装置,包括:
[0012]信息获取模块,用于通过调用操作系统接口获取计算机周围的WiFi信息;
[0013]发送模块,用于将所述WiFi信息发送至定位服务器,以便所述定位服务器根据所述WiFi信息确定计算机的位置;
[0014]接收模块,用于接收所述定位服务器返回的位置信息。
[0015]可选地,在本实施例的一种实现方式中,信息获取模块包括:第一调用子模块,用于调用WlanOpenHandle函数获取无线网络连接的句柄;第二调用子模块,用于调用WlanEnumInterfaces函数获取所述计算机可用的无线网络接口 ;第三调用子模块,用于调用WlanGetNetworkBssList函数获取至少一个无线网络接口所扫描到的AP的WiFi信息。
[0016]可选地,在本实施例的另一种实现方式中,所述WiFi信息包括:AP的mac地址;或,所述WiFi信息包括AP的mac地址以及以下信息中的任意一种或一种以上:信号强度、ssid、信号质量、扫描时间。
[0017]可选地,在本实施例的又一种实现方式中,所述接收模块还用于接收用于请求所述计算机的位置的请求消息;所述发送模块还用于将所述计算机的位置信息反馈至发送所述请求消息的请求方。
[0018]第三方面,本发明实施例提供一种针对计算机的定位系统,包括:
[0019]根据本发明实施例第二方面的定位装置和定位服务器;所述定位服务器根据所述定位装置发送的WiFi信息确定计算机的位置。
[0020]采用本发明的各种实施例,通过计算机附近的wifi信息对计算机进行定位,大大提高了针对计算机进行定位的定位精度。
【附图说明】
[0021]图1是根据本发明实施例的一种针对计算机的定位方法的流程示意图;
[0022]图2是根据本发明实施例的一种针对计算机的定位装置的方块示意图;
[0023]图3是根据本发明实施例的一种针对计算机的定位系统的方块示意图。
【具体实施方式】
[0024]以下结合附图和【具体实施方式】对本发明的各个方面进行详细阐述。其中,众所周知的模块、单元及其相互之间的连接、链接、通信或操作没有示出或未作详细说明。并且,所描述的特征、架构或功能可在一个或一个以上实施方式中以任何方式组合。本领域技术人员应当理解,下述的各种实施方式只用于举例说明,而非用于限制本发明的保护范围。还可以容易理解,本文所述和附图所示的各实施方式中的模块或单元或步骤可以按各种不同配置进行组合和设计。
[0025]图1是根据本发明实施例的一种针对计算机的定位方法的流程示意图,参照图1,所述方法包括:
[0026]100:通过调用操作系统接口获取计算机周围的WiFi信息。其中,“计算机”是指诸如台式机、笔记本等上网设备,并不是指诸如手机、ipad之类的移动终端。
[0027]可选地,在本实施例的一种实现方式中,计算机周围的WiFi信息至少包括用于唯一标识计算机周围的无线访问接入点(WirelessAccessPoint,AP)的信息,例如AP的物理地址(即,mac地址)。此外,还可以包括诸如信号强度、服务集标识(Service SetIdentifier,SSID)、信号质量、扫描时间等。
[0028]可选地,在本实施例的一种实现方式中,处理100具体可通过以下方式实现:首先,调用WlanOpenHandle函数获取无线网络连接的句柄。然后,调用WlanEnumInterfaces函数获取计算机可用的无线网络接口。最后,调用WlanGetNetworkBssList函数获取至少一个无线网络接口(例如,所有无线网络接口 ;再例如,无线网卡)所扫描到的AP的WiFi信息,例如,结合前两个函数获取的sess1n (会话)id和接口全局唯一标识符(GloballyUnique Identifier,⑶ID)来检索出无线网络接口所扫描到的周围AP的WiFi信息。
[0029]102:将WiFi信息发送至定位服务器,以便定位服务器根据WiFi信息确定计算机的位置。
[0030]可选地,在本实施例的一种实现方式中,通过发送http post请求将WiFi信息发送至定位服务器,例如,发送至百度LBS (基于位置的服务)定位服务平台。
[0031]可选地,在本实施例的一种实现方式中,定位服务器可以采用以下方式确定计算机的位置:
[0032]方式一:根据WiFi信息中所包含的mac地址查询数据库中存储的相应AP的位置信息(例如,经玮度信息);根据查询到的AP的位置信息估计计算机的位置(例如,经玮度信息)。
[0033]方式二:根据WiFi信息中所包含的mac地址查询数据库中存储的相应AP的位置信息(例如,经玮度信息);根据各AP的信号强度进行加权,通过概率模型等算法来推算计算机所在的位置(例如,经玮度信息)。方式二相对于方式一而言能够得到更为精确的位置信息。
[0034]104:接收定位服务器返回的位置信息。
[0035]采用本发明实施例提供的方法,根据计算机附近的WiFi信息对计算机进行定位,大大提高了针对计算机进行定位的定位精度(经不完全统计,定位精度达到27m)。定位精度的提高有利于提高诸多基于位置的服务质量,例如,有利于判断网页地域属性