[发明专利]一种观察者-职责链模式的串口固定长度多协议处理方法有效
申请号: | 202210091880.2 | 申请日: | 2022-01-26 |
公开(公告)号: | CN114500686B | 公开(公告)日: | 2023-09-19 |
发明(设计)人: | 梁浩 | 申请(专利权)人: | 梁浩 |
主分类号: | H04L69/18 | 分类号: | H04L69/18;H04L69/22;H04L69/321 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 050700 河北省石家庄*** | 国省代码: | 河北;13 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 观察者 职责 模式 串口 固定 长度 协议 处理 方法 | ||
1.一种“观察者-职责链模式”的单串口固定长度多协议处理方法,其特征在于:步骤一,使用“观察者模式”进行协议层和底层之间的信息交互:即将底层缓冲区作为被观察者,协议层各个协议作为观察者,当底层缓冲区内数据发生变化时,选择性的通知观察者;步骤二,使用“职责链模式”进行协议层内部处理:即将步骤一选择出的多组观察者逐一对获得数据进行协议解析处理;若该数据已被某一观察者校验通过,则结束当前进程,不再进行其他观察者的协议解析处理。
2.根据权利要求1所述的一种“观察者-职责链模式”的单串口固定长度多协议处理方法,其特征在于:将观察者对应协议的帧长度和协议的回调函数注册至所需的被观察者列表中。
3.根据权利要求2所述的一种“观察者-职责链模式”的单串口固定长度多协议处理方法,其特征在于:使用帧长度识别的方式进行筛选,选择性的通知观察者。
4.根据权利要求3所述的一种“观察者-职责链模式”的单串口固定长度多协议处理方法,其特征在于:根据注册的各个协议的帧长度信息,确定所有注册在案的帧长度的最大值和最小值;当缓冲区内未处理的数据长度大于最小帧长度,触发通知机制。
5.根据权利要求4所述的一种“观察者-职责链模式”的单串口固定长度多协议处理方法,其特征在于:缓冲区内未处理的数据长度大于等于当前协议的帧长度,则使用被观察者列表中注册的协议回调函数进行通知;若不大于等于当前协议的帧长度,则不进行通知。
6.根据权利要求5所述的一种“观察者-职责链模式”的单串口固定长度多协议处理方法,通知完成后,进行协议解析和回执处理:被观察者将缓冲区内未处理的数据拷贝过去,进行解析处理,若校验通过,则观察者返回通过时对应的数据长度;下移缓冲区内的读索引,缓冲区内未处理的数据长度减少对应的长度,同时置位校验通过标志位,结束当前进程,不再进行其他观察者的协议解析处理;若校验未通过,则观察者返回0,则继续检测下一个协议。
7.根据权利要求6所述的一种“观察者-职责链模式”的单串口固定长度多协议处理方法,拷贝过去的缓冲区内未处理的数据长度为该协议的长度。
8.根据权利要求2所述的一种“观察者-职责链模式”的单串口固定长度多协议处理方法,其特征在于:协议层与底层分层处理,协议层将观察者注册到被观察者列表中,被观察者发生变化时,观察者拷贝数据进行处理,将最后处理的结果返回被观察者。
9.一种“观察者-职责链模式”的多串口固定长度多协议处理方法,其特征在于:步骤一,使用“观察者模式”进行协议层和底层之间的信息交互:每个串口端口申请一个对应该端口的底层缓冲区,底层缓冲区作为被观察者,协议层各个协议作为观察者,被观察者个数和串口端口个数一一对应,每个被观察者对应多个观察者;当底层缓冲区内数据发生变化时,选择性的通知对应的观察者;步骤二,使用“职责链模式”进行协议层内部处理:即将步骤一每个串口选择出的多组观察者逐一对获得数据进行协议解析处理;若该数据已被某一观察者校验通过,则结束当前进程,不再进行其他观察者的协议解析处理。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于梁浩,未经梁浩许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202210091880.2/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种电解槽红外热图像透视畸变矫正方法
- 下一篇:一种窗帘拉绳