基于XMPP协议实现的公安行业的数据采集方法及系统
技术领域
本发明涉及数据采集及通信技术领域,具体涉及一种基于XMPP协议实现的公安行业的数据采集方法及系统。
背景技术
XMPP(XMPP,Extensible Messaging and Presence Protocol)是一种基于XML的协议,它继承了在XML环境中灵活的发展性,实现任意两个网络终端准实时的交换结构化信息的通信协议。因此,基于XMPP的应用具有超强的可扩展性。它具有实时性、可靠性和稳定性的优点,广泛用于即时消息以及在线现场探测。XMPP提供一个通用的可扩展的框架来交换XML数据,其主要是用来建立即时消息和出席信息应用以实现IETF RFC2778,RFC2779的需求,是一种开放式的传输XML流化元素的协议。
随着互联网传输性能的改善和信号处理技术的提高,XMPP协议都有了更广泛的应用。基于XMPP的协议的软件可以支持文字、语音、视频和文件传输等业务。这些技术的发展都极大地改进了现在信息通信的现状,满足了使用网络进行信息采集的要求。
通过网络对远程现场进行数据采集,是公安行业数据采集的重要的内容之一。采用有线网络构成的远程控制已经十分常见,而对于现场没有监控设备的场所,使用有线数据采集就造成了一定的困难。鉴于无线网络可以灵活布设,覆盖面积大,设备无线连接等优点,采用无线网络和有线网络构成的远程网络成为数据信息采集系统组成一个重要的部分。为了获得最佳的远程部署,简便易行的方案是采用移动通信网络运营商的线路。然而,由于其中间经过的网络环境比较多,所以它具有可达性不可靠、不定延时、不够安全等缺点。在这样的系统构架中,需要提高对可连接、网络延时和实时性,以及安全性的考虑。
传统的公安信息采集模式:监控前端摄像机拍摄的模拟图像通过光端机转化成光信号;通过光纤专线传送到分局或市局;再通过光端机还原成模拟图像;在监控中心显示并存储在数据中心。传统模式的弊端与不便:采集点和数据收集中心必须铺设昂贵的光纤高速网络;系统的兼容性不高,可扩展性差;数据采集点铺设的成本高昂,不能及时获取没有采集点的数据信息;采集数据的网络安全性比较低,数据中心需要暴露在外网上面。
公安行业作为一个有特殊要求的行业,对自己行业内传输的网络数据有比较高的安全要求。而对行业内的人员来说,普通的数据采集也满足不了具体的业务需求,比如数据加密传输,实名用户登陆,GPRS定位等功能都不能解决。
发明内容
本发明的目的就是为了解决上述问题,提供一种基于XMPP协议实现的公安行业的数据采集方法及系统,它具有提供了一种可行的数据采集的方法,该方法在使用了XMPP协议,并根据不同客户端设备,不同网络环境,保证了公安行业人员进行数据采集的需求优点。
为了实现上述目的,本发明采用如下技术方案:
一种基于XMPP协议实现的公安行业的数据采集方法,包括如下步骤:
步骤(1):基于XMPP协议的客户端依次通过客户端的VPN通道和公安网络的防火墙连接到公安内部网络的XMPP服务器上,XMPP服务器对基于XMPP协议的客户端传输的实名或警号进行联网验证,如果验证通过则连接成功;如果验证不通过则连接失败;
步骤(2):如果连接成功,基于XMPP协议的客户端利用自身的GPS定位模块将自身的位置信息实时地发送给XMPP服务器,然后基于XMPP协议的客户端对信息采集设备进行初始化,然后用信息采集设备开始信息采集,并将采集的信息保存成长度不定的二进制数据的数据流的形式,对数据流进行格式转化和压缩,基于XMPP协议的客户端利用XMPP协议对格式转化和压缩后的数据流进行封装,把封装后的数据流插入到XMPP协议通讯时使用的XML数据流中,对XML数据流使用DES加密方式,加密的密钥使用与服务器预先定义好的数据加密算法DES动态生成,把XML数据流变成无序的字符串编码数据流,再把无序的字符串编码数据流传输到XMPP服务器;
步骤(3):XMPP服务器收到基于XMPP协议的客户端发送的无序的字符串编码数据流,用已生成的密钥对无序的字符串编码数据流进行解密,取出基于XMPP协议的客户端传输的XML数据流,再对XML数据流进行解析,提取采集到的数据信息,把XML数据流还原成资源文件;
步骤(4):XMPP服务器把解析过的资源文件存入到数据管理服务器,数据管理服务器按照资源的类型分类生成数据记录,以便公安系统的其他客户端查询。
所述步骤(2)的信息采集的方式包括照片信息采集、语音信息采集、视频信息采集和本地存储信息;所述信息采集的数据信息包括图片、声音和视频。
所述步骤(2)的信息采集设备包括摄像头和移动终端。
所述步骤(4)的资源的类型包括:当前场景的文字描述、照片、语音、视频和本地设备文件。
所述步骤(2)的封装步骤为:
步骤(2-1):定义一个包含数据头,数据体和数据结束标识的格式;所述数据头包括:数据类型,操作指令,加密算法标识,压缩类型标识和数据长度;
步骤(2-2):把数据流复制到数据体中,计算数据体的数据长度,填充到数据头中;
步骤(2-3):给数据头的数据类型、操作指令、加密算法标识和压缩类型标识赋值,最后填充数据结束标识为0xff。
一种基于XMPP协议实现的公安行业的数据采集系统,包括:
系统登录模块:基于XMPP协议的客户端依次通过客户端的VPN通道和公安网络的防火墙连接到公安内部网络的XMPP服务器上,XMPP服务器对客户端传输的实名或警号进行联网验证,如果验证通过则连接成功;如果验证不通过则连接失败;
数据采集、封装和传输模块:如果连接成功,基于XMPP协议的客户端利用自身的GPS定位模块将自身的位置信息实时地发送给XMPP服务器,然后基于XMPP协议的客户端对信息采集设备进行初始化,然后用信息采集设备开始信息采集,并将采集的信息保存成长度不定的二进制数据的数据流的形式,对数据流进行格式转化和压缩,基于XMPP协议的客户端利用XMPP协议对格式转化和压缩后的数据流进行封装,使用Jingle扩展协议处理采集的信息,把封装后的数据流插入到XMPP协议通讯时使用的XML数据流中,对XML数据流使用DES加密方式,加密的密钥使用与服务器预先定义好的数据加密算法DES动态生成,把XML数据流变成无序的字符串编码数据流,再把无序的字符串编码数据流传输到XMPP服务器;
数据接收、解析和还原模块:XMPP服务器收到基于XMPP协议的客户端发送的无序的字符串编码数据流,用已生成的密钥对无序的字符串编码数据流进行解密,取出基于XMPP协议的客户端传输的XML数据流,再对XML数据流进行解析,提取采集到的数据信息,把XML数据流还原成资源文件;
数据存储和查询模块:XMPP服务器把解析过的资源文件存入到数据管理服务器,数据管理服务器按照资源的类型分类生成数据记录,以便公安系统的其他客户端查询。
所述数据采集、封装和传输模块的信息采集的方式包括照片信息采集、语音信息采集、视频信息采集和本地存储信息;所述信息采集的数据信息包括图片、声音和视频。
所述信息采集设备包括摄像头和移动终端。
所述数据存储和查询模块的资源的类型包括:当前场景的文字描述、照片、语音、视频和本地设备文件。
所述XMPP服务器包括用户管理模块、通讯模块、数据采集模块和数据管理模块;
所述用户管理模块用于对用户的管理,包括用户的注册、用户的登陆验证、用户的功能限制和用户的权限设置。
所述通讯模块用于负责网络通信。
所述数据采集模块用于采集音频数据、视频数据和文字数据。
所述数据管理模块用于服务端接收的采集数据的存储。
所述用户管理模块包括用户验证模块和用户好友及关系管理模块;
所述用户验证模块用于对登录用户的认证,从公安信息中心验证用户的真实身份。
所述用户好友及关系管理模块用于组织管理用户的所属单位及上下级关系。
所述通讯模块包括XMPP通讯模块、DES加密模块和VPN模块;
所述XMPP模块用于传输和接收用户发送的XML数据流及获取用户传输的数据信息。
所述DES加密模块用于对用户要传输的数据流进行加密和解密。
所述VPN模块用于在服务端和用户的客户端之间建立基于因特网的局域网络环境。
所述数据采集模块包括文字及文件上传模块、声音数据采集模块、图片采集模块和视频采集模块;
所述文字及文件上传模块用于用户输入的文字信息及通过客户端设备上传的数据文件。
所述声音数据采集模块用于用户上传使用客户端设备录制的音频及其他音频文件。
所述图片采集模块用于用户上传使用客户端设备拍摄的图片或其他图片资源文件。
所述视频采集模块用于用户上传使用客户端设备录制的视频或其他视频资源文件。
所述数据管理模块包括采集数据存储模块和采集数据查询及使用模块;
所述采集数据存储模块用于存储客户端采集到的数据资源信息。
所述采集数据查询及使用模块用于对数据资源信息进行整理分类,对外提供查询及使用的方法。
本发明的有益效果:
1本发明针对内外网隔离的网络环境和有特殊要求的业务场景,比如公安人员进行出警的过程中,需要现场采集信息,为以后的办案和处理提供材料分析,这时采用一般的移动设备是访问不了和外网隔离的公安内网数据库的,需要使用XMPP的方式通过防火墙。本发明提供了一种可行的数据采集的方法,该方法在使用了XMPP协议,并根据不同客户端设备,兼容无线和有线的网络状况,保证了公安行业人员进行数据采集的需求。
2本发明在保证网络安全的情况下,通过使用网络VPN通道,扩展了XMPP协议传输采集的数据信息,为公安行业应用类似的功能提供了实例。
3由于原始数据不符合网络传输的要求,原始数据使用的带宽比较大,流量比较多,所以要对数据流进行格式转化和压缩,使生成的文件在损耗比较少的情况下符合网络传输的要求。
4本发明采用了GPS定位技术,为外出人员提供了安全性保障,为服务台提供了人员的位置信息,方便了人员的调动,提高了公安行业整体人员的行动能力及协调能力。
5所述XMPP服务器对基于XMPP协议的客户端进行验证的验证方式为使用实名登陆或者警号登陆,XMPP服务器联网验证公安人员的身份,验证密码和客户端的安全性。
6本发明的系统结合公安行业的特点,在移动设备上支持GPS卫星定位功能。基于GPS的定位方式是利用手机上的GPS定位模块将自己的位置信号发送到定位后台来实现手机定位的。公安人员登陆基于XMPP协议的客户端之后,基于XMPP协议的客户端会自动发送GPS信号到定位的XMPP服务器上,并实时更新自己的坐标位置数据,提高外出人员的安全性和方便服务台获取数据调动人员进行移动。
附图说明
图1是本发明在信息数据采集中用到的协议模型;
图2是本发明的网络拓扑结构图;
图3是本发明的信息数据采集的流程图;
图4是本系统的系统模型图。
具体实施方式
下面结合附图与实施例对本发明作进一步说明。
基于XMPP协议实现的公安行业的数据采集系统:
1.其中包含有接入有线网络或无线网络的客户端,包括PC客户端,Phone客户端,Pad客户端等固定或移动设备。2.将声音、视频、图像及文件以特定的编码格式进行数字化压缩处理,生成XMPP数据包,通过TCP/IP网络媒介传输至XMPP服务器。3.系统的核心技术点:采集数据的格式转化及数据压缩,数据的封装及传输。
本发明包括的设备有:使用XMPP协议的移动客户端或固定客户端的设备;支持无线通讯的网络;Internet路由器和搭建在Internet上的隔离公安内外网的防火墙网关;XMPP服务器及后台数据管理服务器;在公安网络上的客户端。
如图1所示,该结构是本发明的协议的层次模型图,包括客户端之间的数据传输方向。
客户端发送语音及图片用到了ACC,MPEG-4,H264等协议,把声音和图片进行编码生成字符数据结构或者资源文件,按照XMPP协议的格式进行封装,生成XML数据,把声音及图片使用不同的标签标示,定义不同的应答类型,格式如下:
<stream:features>
<messageto=”testxmpp.com”from=”examplexmpp.corn”type=”chat”xml:lang=”cn”>
<content>Hello,Everyone!</content>
</message>
......
<soundtype=0 format=’mp4’size=2960>
<content>SHDK8YTE3.....</content>
</sound>
......
</stream:features>
本发明采用了多种目前网络传输信息的安全措施保证节信息的安全。一个节信息的成功投递必须经过TLS安全传输层协议、SASL简单验证和安全层协议多层的验证,采用多种强度算法如BIGEST.MD5、KERBEROSV4、PLAIN等多种加密算法和签名证书认证的方法保证流传输的安全特性。在安全性这一方面,可以说XMPP在目前的通信协议中安全性是比较高的。用户数据采用DES的64位密钥加密,然后通过网络层进行传输,实现了2次加密的机制,进一步对公安行业的网络数据传输安全做了提高。
如图2所示,该拓扑图是本发明在网络中的系统说明。所述系统包括:使用XMPP协议的客户端,使用XMPP协议客户端与无线通讯基站通信,无线通讯基站与通讯卫星通信,通讯卫星通过Internet与路由器通信,所述路由器分别与电脑和搭建在Internet上的隔离公安内外网的防火墙连接,所述电脑与摄像头连接,所述搭建在Internet上的隔离公安内外网的防火墙与XMPP服务器连接,所述服务器分别与数据管理服务器和公安网络上的客户端连接。
该网络结构保证了公安系统相关的独立性,又实现了有线与无线网络的数据信息的采集,提高了网络传输过程的多样性。
如图3所示,该流程图是本发明在公安行业中的信息数据采集的过程。一种基于XMPP协议实现的公安行业的数据采集的系统,
步骤1,使用PC客户端或移动客户端打开本系统基于XMPP实现的客户端程序。
步骤2,输入真实姓名或警号和密码进行登录,用户信息数据通过客户端的VPN通道,经过公安网络的防火墙,公安内部网络中的XMPP服务器进行用户验证。验证通过则用户登录成功,连接建立成功;验证不通过用户登录失败。
步骤3,客户端启动信息采集功能,选择要采集的信息的方式。如选择拍照功能,选择语音采集,选择录像功能,选择上传本地的数据文件等。
步骤4,客户端程序按照用户选择的方式初始化相关的设备。
步骤5,初始化设备成功之后,开始采集图片,声音,视频等数据信息,并把原始数据保存成数据流的形式等待下一步的处理。
步骤6,由于原始数据不符合网络传输的要求,原始数据使用的贷款比较大,流量比较多,所以要对数据流进行格式转化和压缩,使生成的文件在损耗比较少的情况下符合网络传输的要求。
步骤7,在客户端进行XMPP协议进行封装,使用扩展协议把转换后得到的数据信息插入到XML数据流中,并对数据使用DES加密,使用已建立的服务器连接把数据流传输到服务器。
步骤8,服务端收到客户端发送的数据流,使用DES的密钥解密,然后解析XML其中的数据,提取采集到的数据信息,把图片,声音,视频,文件等流数据还原成资源文件。
步骤9,服务端把解析过的资源文件存入到数据管理服务器(数据中心),数据中心按照资源类型分类生成数据记录,以便公安系统的其他客户端查询。
如图4所示,所述XMPP服务器包括用户管理模块、通讯模块、数据采集模块和数据管理模块;
所述用户管理模块用于对用户的管理,包括用户的注册,用户的登陆验证,用户的功能限制,用户的权限等问题的管理。
所述通讯模块用于系统底层负责网络通信的模块的管理。
所述数据采集模块用于通过系统设备采集或传输的数据资源的管理。
所述数据管理模块用于服务端接受的采集数据的存储的管理。
所述用户管理模块包括用户验证模块和用户好友及关系管理模块;
所述用户验证模块用于对登录用户的认证,从公安信息中心验证用户的真实身份。
所述用户好友及关系管理模块用于组织管理用户的所属单位及上下级关系等。
所述通讯模块包括XMPP通讯模块、DES加密模块和VPN模块;
所述XMPP模块用于传输和接收用户发送的XML数据流及获取用户传输的数据信息。
所述DES加密模块用于对用户要传输的数据流进行加密和解密。
所述VPN模块用于在服务端和用户的客户端之间建立基于因特网的局域网络环境。
所述数据采集模块包括文字及文件上传模块、声音数据采集模块、图片采集模块和视频采集模块;
所述文字及文件上传模块用于用户输入的文字信息及通过客户端设备上传的数据文件。
所述声音数据采集模块用于用户上传使用客户端设备录制的音频及其他音频文件。
所述图片采集模块用于用户上传使用客户端设备拍摄的图片或其他图片资源文件。
所述视频采集模块用于用户上传使用客户端设备录制的视频或其他视频资源文件。
所述数据管理模块包括采集数据存储模块和采集数据查询及使用模块;
所述采集数据存储模块用于存储客户端采集到的数据资源信息。
所述采集数据查询及使用模块用于对数据资源信息进行整理分类,对外提供查询及使用的方法。
上述虽然结合附图对本发明的具体实施方式进行了描述,但并非对本发明保护范围的限制,所属领域技术人员应该明白,在本发明的技术方案的基础上,本领域技术人员不需要付出创造性劳动即可做出的各种修改或变形仍在本发明的保护范围以内。