基于通信协议的数据解析研究与实现.docx
《基于通信协议的数据解析研究与实现.docx》由会员分享,可在线阅读,更多相关《基于通信协议的数据解析研究与实现.docx(10页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、基于通信协议的数据解析研究与实现 信息并进行计算获得用户须要的数据信息,在许多处理系统中通常为第一个或者前面环节用于数据的接收的初步处理,大量的操作与运算都在后台服务器端進行。 1 功能与建模 1.1 功能 依据帧数据格式和帧同步头获得帧数据,去掉帧的冗余信息获得包数据,再从包数据5解出所须要的数据信息并通过参数解算、格式转化等操作获得须要的接口数据。 由于卫星重复下传数据造成了重复数据,须要进行去重处理。因为地面接收和星上下传时间不同步,所以无法推断数据重复的起始位置,所以只能通过解析数据获得包时间,依据包时间是否重复推断数据的重复性并去重复。 1.2 数据建模 本文参照数据传输的基本数据格
2、式,设计了帧数据和包数据的格式。 帧数据格式:1F2F3F4F为帧头,帧长度固定为1024B; 包数据格式:AAAABBBB为包头,长度由所加载的脉冲数联合确定,详细如下表所示。 2 数据解析算法设计与实现 2.1 解析算法介绍 数据解析过程根据固定步进和回溯对数据进行解析。一般的数据帧和数据包都有肯定的规律,数据帧往往都是固定长度固定节拍,数据包的长度依据信息源、采样率和采样时间有所不同,但是依据包信息一般可计算出包的详细长度,所以依据固定节拍查找速度较快,但是对于纠错实力比较弱,当固定步进无法找到合适匹配头时,须要重新从搜寻位置逐字节找寻。当获得一包数据后,由于包内数据的运算量可能很高,须
3、要创建线程池,将每包数据作为独立的数据片段安排到不同的线程中进行处理。 2.2 数据解析 逐字节递增进行帧和包同步头的匹配,当匹配到合适的帧和包同步头后进行有效性验证,对于正确的数据进行后续处理; 固定步长查找方法是由于我们在组帧的时候也是根据固定节拍进行组帧,反过来一般的数据帧和数据包都有肯定的规律,数据帧往往都是固定长度固定节拍,数据包的长度依据信息源、采样率和采样时间有所不同,但是依据包信息一般可计算出包的详细长度,所以依据固定节拍查找速度较快; 混合查找就是以固定步长为引导,当固定步长无法查找到有效的同步头,在回溯到当前的查找位置用逐字节进行遍历查找。 第一种方法是适应性最强,但是带来
4、的代价就是效率6-7也是最低的,对于数据完整性差、错误较多状况适用,适用于数据传输信号不稳定、单帧/包的数据长度不固定或者无法计算的状况。 其次种方式对于接收、数传信道正确、稳定的数据,或者经过初步预处理的数据,效率最高,同时适应性也是最差的。本次模拟8的数据样本有特别完整的数据,省掉了搜寻匹配的地址位移和同步头匹配的操作,可以较大提高执行效率。 第三种方法是结合前两种方法,对数传中会出现误码,数据完整性相对较好的状况,既须要步进查找,而且在出现误码时进行回溯查找。 2.3 数据去重复 因为地面接收站在接收卫星下传数据时,卫星采纳循环播放下传方式,地面站接收时间较长,接收几个周期的卫星下传,所
5、以会造成数据重复的现象,由于数据时间依据安排可以获得,依据时间制定哈希表去重复。 遍历搜寻方法是大家应用的比较多的方法,利用类似于STL中list的存储,对新获得的包时间与已存储的数据的包时间进行比较去重复。 哈希表去重复是在数据有肯定的连贯性,例如时间数据,以整秒进行递增,可以建立有限的空间的哈希表,初始化为0,对于获得的数据标记为1,对于已经标记过为1的数据判为重复数据,不再进行后续处理。假如帧计数为连续并且计数的最大值和最小值的差相对较小,也可依据帧计数制订哈希表去重复。 第一种方法是运用第三方库中现有方法或者依靠循环遍历运用不同查找的方法,每次遍历都不能干脆找到重复数据,假如数据不重复
6、则须要从前到后比对一遍,遍历和比对造成时间消耗较大,可比较的数据元素的个数越多消耗越大。 其次种方法运用的创建哈希比照表的方法,通过计算时间差来获得相对步进,从而支持了随机访问,存储空间消耗相同,但是在时间性能上有较大提高,对于数据的时间跨度越大越明显。哈希表的创建有局限性,对于连续的跨度在可接受范围内的数据可以创建,假如创建哈希表代价过大须要依据实际状况进行分析。 2.4 数据并行处理 在解析数据时,帧和包数据的解析可以并行9-10处理,同时也可以在数据包内部进行并行。 数据帧和数据包分两个线程进行处理。 数据帧和数据包分两个线程进行处理,同时在数据包解析后,由于包与包之间在数据解析过程中不
7、存在关联关系,将每包数据视为独立的数据片段。考虑到找寻下一包的时间消耗远小于对一包数据的运算,可以运用一个线程进行解析获得每包的数据片段,把获得的数据包放入包处理的线程池中进行后续处理,包搜寻线程同时搜寻下一包。 第一种方法是创建帧和包处理的的双线程/进程通过文件/内存方式进行交互处理,同时处理帧和包数据。 其次种方法运用在帧和包并行处理的同时,由于单包的数据运算量较大,所以通过线程池/进程池等方法实现数据包的并行处理,处理方式如所示。 3 仿真及算法过程 3.1 仿真环境 试验在64位Linux环境下进行,计算机处理器Inter Core i5-4200 CPU 1.60GHZ 2.30,内
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 通信协议 数据 解析 研究 实现
限制150内