具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下通过具体实施例并结合附图,对本发明进行详细说明。
本发明中,内网设备是指需访问外网从而获取请求的地理位置信息的专网(内网)内的各种设备,如个人计算机、服务器、网络管理工作站等,内网设备至少包含有一个串口,内外网通信装置是一台嵌入式的网络设备,用于接入网络,具有价格低、稳定性好、免维护的优点。
内外网通信装置和内网设备之间通过串口(RS232、或RS422、或RS485)线连接,并使用请求-响应式通信协议进行信息交互,网络结构如图3所示,内网设备将需要从外网获取地理位置信息的请求发送至内外网通信装置,内外网通信装置直接通过以太网接口与外网相连,由内外网通信装置处理所述通信请求并接收外网的响应信息,内网设备通过串口获取所述响应信息。
内网设备和内外网通信装置之间使用请求-响应式通信协议交互信息,所述使用请求-响应式通信协议的设备间的交互如图4所示,所有的通信都由内网设备发起,内外网通信装置收到内网设备发送的请求后对请求消息进行处理,然后响应内网设备的请求。
由于串口是独占设备,而且根据请求-响应式通信协议,只有内网设备才能发起获取地理位置信息的通信请求,内外网通信装置只能响应通信请求,所以保证了内外网通信装置无法主动对内网设备进行访问,在实现内网设备通过内外网通信装置向外网请求并获取地理位置信息的同时,也保证了内外网的通信安全。
所述串口可以为:RS232、RS422和RS485中的任意一个。根据传输距离的不同,可选择不同的串口,若选择RS232,可传输15米以内的距离,若选择RS422、或RS485,可传输1200米左右的距离。
由于不同的串口其串口线的传输距离会有不同,一般设备中默认设计的串口为RS232,若想传输更远的距离,这时需要利用串口转换器将RS232转换为RS422、或RS485的电平特性,从而可以达到延长传输距离的效果。
本发明实施例的装置结构如图1所示,一种内外网通信装置,该装置通过串口线与内网设备相连,通过以太网接口与外网相连,所述装置包括:
串口收发单元,用于接收内网设备的地理位置请求报文,以及用于将报文处理单元处理后的地理位置响应报文发送到内网设备;
报文处理单元,用于根据串口收发单元接收的地理位置请求报文中的请求参数封装HTTP请求报文,以及用于根据以太网接口收发单元接收的HTTP响应报文中的响应内容封装地理位置响应报文;
以太网接口收发单元,用于将报文处理单元处理后的HTTP请求报文发送到外网相应的位置服务提供设备,以及用于接收外网位置服务提供设备发送的HTTP响应报文。
作为较佳实施例,所述地理位置请求报文中的请求参数主要包括运营商基站信息。
对于移动或者联通的基站来说,所述基站信息主要包括基站小区编号CID、基站位置码LAC;对于电信的基站来说,所述基站信息主要包括基站ID、***ID以及网络ID。
作为较佳实施例,所述地理位置响应报文中的响应内容包括:位置服务提供商信息、地理位置信息反馈结果。
作为较佳实施例,所述地理位置请求报文的格式包含有起始、消息类型、消息编号、请求信息长度、校验、请求信息内容和结束字段,所述请求信息内容字段的格式和内容与消息类型一一对应、且预先设定,起始、消息编号和结束字段的内容可自定义。
所述地理位置响应报文的格式包含有起始、消息类型、消息编号、响应信息长度、校验、响应信息内容和结束字段;其中,响应信息内容根据所述HTTP响应报文生成,消息类型与响应信息内容字段的格式和内容一一对应、且预先设定;
所述地理位置响应报文与对应地理位置请求报文中的起始、结束、消息编号字段内容相同。
所述地理位置响应报文与请求报文格式示意图如图5,各字段含义如下:
起始和结束:用于表示一个报文的开始和结束;例如,可取值均为0x7E;
消息类型:确定请求和响应信息的格式和内容,范围是0~255;
消息编号:用于匹配地理位置请求消息及响应消息;消息编号是一个由内网设备递增的数字,每一个消息编号都是唯一的,内外网通信装置响应内网设备的地理位置请求报文时使用所述地理位置请求报文的消息编号,用来匹配与所述地理位置请求报文相对应的地理位置响应报文,相同消息编号表示一对消息,即每一个地理位置请求报文都有一一对应的地理位置响应的报文;取值范围是0~65535;
信息长度:地理位置请求信息或响应信息的长度;取值范围0~1024;
校验:对消息类型、消息编号、信息长度及信息字段的校验,可采用各种校验方法;例如,可使用CRC校验;
信息内容:具体的地理位置请求信息或地理位置响应信息内容,可以根据不同的应用确定不同的内容及格式,与消息类型一一对应。
其中,消息类型与信息内容(包括地理位置请求信息和地理位置响应信息内容)字段的格式、内容一一对应,这是预先设定好的。
例如,消息类型为0时,表示联通基站位置信息查询消息,对应的地理位置请求信息内容字段的格式和内容如表1所示:
表1
其中,CID表示联通基站的小区编号;
LAC表示联通基站的位置码;
信号强度表示联通基站的信号强度。
例如,消息类型为1时,表示联通位置查询响应消息,对应的地理位置响应信息内容字段的格式和内容如表2所示:
表2
其中,反馈状态表示向位置服务提供商请求查询是否成功,若反馈状态为0,表示查询成功,这时,地理位置信息反馈结果的内容为外网位置服务提供商的正确查询结果;若反馈状态为1,表示查询失败,地理位置信息反馈结果的内容为错误码;
不同的位置服务提供商可用不同的代码表示,例如:0表示***;1代表lbs;2代表ant。
所述地理位置响应报文与对应地理位置请求报文中的起始、结束字段的长度和内容均可以自定义,但为了便于程序处理,一般将起始和结束字段的内容设为相同,且不选用与地理位置请求信息或地理位置响应信息内容相同的字符,例如,可将起始和结束字段的值设为0x7E。
在地理位置请求信息或地理位置响应信息内容中可能出现起始及结束符0x7E,所以需要对其进行转义,例如,在发送数据时,如果内容是0x7E,则将其转义为0x7D 0x5E;如果内容是0x7D 0x5E,则转义为0x7D 0x5D0x5E;
相应地,在接收数据时,如果收到0x7D 0x5E,则将其转义为0x7E,如果收到0x7D 0x5D 0x5E,则将其转义为0x7D 0x5E。
现有内外网通信装置一般采用昂贵的服务器,成本较高且实现起来较复杂,相对而言,本发明中的内外网通信装置具有成本低、结构简单、实施的复杂度低、且稳定性好等优点。
本发明实施例的方法流程如图2所示,一种地理位置信息获取方法,包括以下步骤:
步骤201:将内网设备通过串口线与内外网通信装置连接,所述内外网通信装置的以太网接口与外网连接;
步骤202:所述内网设备向所述内外网通信装置发送地理位置请求报文,所述内外网通信装置根据所述地理位置请求报文中的请求参数封装HTTP请求报文,将所述HTTP请求报文发送到外网相应的位置服务提供设备;
步骤202:所述内外网通信装置从外网接收到位置服务提供设备的HTTP响应报文后,根据HTTP响应报文中的响应内容封装地理位置响应报文,并将所述地理位置响应报文发送到内网设备。
较佳地,所述地理位置请求报文中的请求参数包括运营商基站信息。
较佳地,对于移动或者联通的基站来说,所述基站信息主要包括基站小区编号CID、基站位置码LAC;对于电信的基站来说,所述基站信息主要包括基站ID、***ID以及网络ID。
较佳地,所述地理位置响应报文中的响应内容包括:位置服务提供商信息、地理位置信息反馈结果。
较佳地,所述地理位置请求报文的格式包含有起始、消息类型、消息编号、请求信息长度、校验、请求信息内容和结束字段,所述请求信息内容字段的格式和内容与消息类型一一对应、且预先设定,起始、消息编号和结束字段的内容可自定义。
所述地理位置响应报文的格式包含有起始、消息类型、消息编号、响应信息长度、校验、响应信息内容和结束字段;其中,响应信息内容根据所述HTTP响应报文生成,消息类型与响应信息内容字段的格式和内容一一对应、且预先设定;
所述地理位置响应报文与对应地理位置请求报文中的起始、结束、消息编号字段内容相同。
现举例如下:
若内网设备需要利用公共网络中的地理位置查询服务,这里以移动和电信基站的地理位置查询服务为例说明:
首先,内网设备向内外网通信装置发送地理位置请求报文,内外网通信装置通过串口RS232(若要求传输距离更远,可采用RS422或RS485),接收来自内网设备的地理位置查询请求报文,不同的消息类型,对应报文中不同的信息内容字段的格式和内容;
如当消息类型为2,表示电信基站位置查询消息时,地理位置请求报文的格式如表3所示:
表3
其中,Bsid表示电信基站的基站ID;
Sid表示电信基站的***ID;
Nid表示电信基站的网络ID;
信号强度表示电信基站的信号强度。
内外网通信装置根据所述地理位置请求报文中的请求参数封装HTTP请求报文,将所述HTTP请求报文发送到外网相应的位置服务提供设备;
例如,如表3的地理位置请求报文,从所述地理位置请求报文中提取请求参数,即Bsid、Sid和Nid,并按照位置服务提供商如***的HTTP接口要求封装HTTP请求报文,所述HTTP请求报文中包括Bsid、Sid和Nid参数;
内外网通信装置通过以太网接口,将上述HTTP请求报文发送给***位置服务器,当收到来自***位置服务器的HTTP响应报文时,获取所述HTTP响应报文中的响应内容,包括位置服务提供商信息和地理位置信息反馈结果;
再将所述响应内容封装为地理位置响应报文,其格式如表4所示,同样地,地理位置响应报文中信息内容字段的格式和内容与消息类型一一对应,此处,如消息类型为3时,表示电信基站位置查询响应消息:
表4
当消息类型为4,表示移动基站位置查询消息时,地理位置请求报文的格式如表5所示:
表5
其中,CID表示移动基站的小区编号;
LAC表示移动基站的位置码;
信号强度表示移动基站的信号强度。
类似地,与表5的地理位置请求报文对应的地理位置响应报文格式如表6所示,如消息类型为5,表示移动基站位置查询响应消息:
表6
其中,反馈状态为0时,表示查询结果正确,此时,地理位置信息反馈结果为***提供的所请求基站的正确位置信息;反馈状态为1时,表示查询失败,此时,服务反馈结果为***位置服务器返回的错误码。
内外网通信装置根据位置服务提供商的HTTP响应报文中的响应内容,即位置服务提供商信息和地理位置信息反馈结果,封装成地理位置响应报文,例如表4和表6所示,将所有的地理位置响应报文通过串口发送至内网设备。
本发明方案能够有效地解决内网设备通过内外网通信装置直接向外网请求并获取地理位置信息的问题,同时,也解决了内外网需要隔离的安全通信问题,即使内外网通信装置被攻破也无法对内网造成任何威胁,能够广泛应用于银行、政府、军队等安全性较高的网络中,具有广泛的市场应用前景。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。