1.一种海量实时行车记录仪数据采集方法,其特征在于:包括:
S1:数据采集服务器端通过预设数量的socket连接池接收来自行车记录仪终端的网络连接;
S2:在数据包流入过程中对数据嵌入消息头过滤器和消息编解码过滤器以将不完整数据包剔除;
S3:将每一完整数据包进行解码,分析数据包内容、长度和消息的具体负载;
S4:将接受到的各类行车记录仪数据包传送给上层应用协议处理,应用协议根据数据消息类型设置不同优先级队列,并根据队列的优先级分配不同的线程进行数据处理。
2.根据权利要求1所述的海量实时行车记录仪数据采集方法,其特征在于:在步骤S1中,数据采集服务器端根据行车记录仪终端的数量预先生成预设数量的socket连接;同时根据数据采集服务器端性能和资源情况设定最大可支持的socket连接数量。
3.根据权利要求2所述的海量实时行车记录仪数据采集方法,其特征在于:当行车记录仪终端请求与数据采集服务器端连接进行数据传送时,数据采集服务器端检查是否已存在空闲socket连接,若存在则将空闲socket连接指派至数据行车记录仪终端,若不存在空闲socket连接则检查数据采集服务器端已经存在的socket连接数量是否已超过最大可支持socket连接数量,若未超过,则为行车记录仪终端生成一个新的socket连接,若已超过,则行车记录仪终端进入等待队列,将需要传输的数据在本地进行缓存,当数据采集服务器有可用socket连接时进行数据补传输。
4.根据权利要求1所述的海量实时行车记录仪数据采集方法,其特征在于:在步骤S2中,还包括:分析数据的包头,查看数据包的数据容量和长度,判断数据包是否已完整接收。
5.根据权利要求1所述的海量实时行车记录仪数据采集方法,其特征在于:在步骤S3中,还包括:从完整数据包中解析出行车记录仪终端的具体标识符,将网络传输的数据编码转换成数据采集服务器处理所使用的编码。
6.根据权利要求1所述的海量实时行车记录仪数据采集方法,其特征在于:在步骤S4中,应用协议通过如下方式根据数据消息类型设置不同优先级队列:报警信息为第一优先级、车辆位置信息和状态信息为第二优先级、多媒体消息为第三优先级、行车记录仪终端心跳信息为第四优先级。
7.一种海量实时行车记录仪数据采集系统,其特征在于:包括:
数据采集服务器,与数据采集服务器通过预设数量的socket连接池连接的多个行车记录仪终端;
数据包过滤单元,所述数据包过滤单元在数据包流入过程中对数据嵌入消息头过滤器和消息编解码过滤器以将不完整数据包剔除;
数据包解码单元,所述数据包解码单元将每一完整数据包进行解码,分析数据包内容、长度和消息的具体负载;
数据优先级分配单元,所述数据优先级分配单元据数据消息类型设置不同优先级队列,并根据队列的优先级分配不同的线程进行数据处理。