基于通信协议范文的数据解析讨论与实现信息并进行计算获得用户需要的数据,在很多处理系统中通常为第一个或者前面环节用于数据的接收的初步处理,大量的操作与运算都在后台服务器端進行
1功能与建模1
1功能根据帧数据格式和帧同步头猎取帧数据,去掉帧的冗余信息获得包数据,再从包数据[5]解出所需要的数据信息并通过参数解算、格式转化等操作获得需要的接口数据
由于卫星重复下传数据造成了重复数据,需要进行去重处理
因为地面接收和星上下传时间不同步,所以无法推断数据重复的起始位置,所以只能通过解析数据获得包时间,根据包时间是否重复推断数据的重复性并去重复
2数据建模本文参照数据传输的基本数据格式,设计了帧数据和包数据的格式
帧数据格式:1F2F3F4F 为帧头,帧长度固定为 1024B;包数据格式:AAAABBBB 为包头,长度由所加载的脉冲数联合确定,具体如下表所示
2数据解析算法设计与实现2
1解析算法介绍数据解析过程根据固定步进和回溯对数据进行解析
一般的数据帧和数据包都有一定的规律,数据帧往往都是固定长度固定节拍,数据包的长度根据信息源、采样率和采样时间有所不同,但是根据包信息一般可计算出包的具体长度,所以根据固定节拍查找速度较快,但是对于纠错能力比较弱,当固定步进无法找到合适匹配头时,需要重新从搜索位置逐字节寻找
当获得一包数据后,由于包内数据的运算量可能很高,需要创建线程池,将每包数据作为独立的数据片段分配到不同的线程中进行处理
2数据解析逐字节递增进行帧和包同步头的匹配,当匹配到合适的帧和包同步头后进行有效性验证,对于正确的数据进行后续处理;固定步长查找方法是由于我们在组帧的时候也是根据固定节拍进行组帧,反过来一般的数据帧和数据包都有一定的规律,数据帧往往都是固定长度固定节拍,数据包的长度根据信息源、采样率和采样时间有所不同,但是根据包信息一般可计算出包的具体长度,所以根