[发明专利]一种观察者-职责链模式的串口固定长度多协议处理方法有效
申请号: | 202210091880.2 | 申请日: | 2022-01-26 |
公开(公告)号: | CN114500686B | 公开(公告)日: | 2023-09-19 |
发明(设计)人: | 梁浩 | 申请(专利权)人: | 梁浩 |
主分类号: | H04L69/18 | 分类号: | H04L69/18;H04L69/22;H04L69/321 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 050700 河北省石家庄*** | 国省代码: | 河北;13 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 观察者 职责 模式 串口 固定 长度 协议 处理 方法 | ||
本发明公开了一种观察者‑职责链模式的串口固定长度多协议处理方法,包括如下步骤:步骤一,使用“观察者模式”进行协议层和底层之间的信息交互;即将底层缓冲区作为被观察者,协议层各个协议作为观察者,当底层缓冲区内数据发生变化时,使用帧长度识别的方式进行筛选,选择性的通知观察者;步骤二,使用“职责链模式”进行协议层内部处理;即将步骤一筛选出的多组观察者逐一对获得数据进行协议解析处理;若该数据已被某一观察者校验通过,则结束当前进程,不在进行其他观察者的协议解析处理。该方法可应用在电源模块中,能够实现不同的协议和数据之间快速、高效的适配;此外,增加一个新协议,只需在协议层加入该协议具体解析即可,各协议之间互相解耦,从而实现了即插即用、兼容性好、程序修改简单的技术效果。
技术领域
本发明涉及通信技术领域,具体为一种串口固定长度多协议处理方法。
背景技术
无论是充电站的充电桩中使用的电源模块,还是车载电源模块抑或军品电源、电力电源模块,一款模块的开发可能存在多个不同客户,而不同客户的通讯协议各不相同,为了满足不同客户的需求,以往采用修改硬件电路的策略。但是这类策略每增加新的通信协议,需要重新修正硬件电路,兼容性差,成本高。
如今,随着计算机软件的发展,各企业、科研单位均大力研究开展用软件程序设计的方法来处理多协议通信。而程序设计多采用行为类模式,常见的行为类模式有:职责链模式、命令模式、迭代器模式、中介者模式、备忘录模式、观察者模式、状态模式、策略模式、模板方法模式、访问者模式。但是,目前开展的研究采用上述一种行为模式,且很少应用于通信领域。
发明内容
针对现有技术的不足,本发明将两种行为模式观察者模式和职责链模式有机的结合在一起,能够实现不同的协议和数据之间快速、高效准确的适配;还能实现新协议的即插即用,具有兼容性好、程序修改简单的技术效果。
为实现以上目的,本发明通过以下技术方案予以实现:一种“观察者-职责链模式”的串口固定长度多协议处理方法,包括如下步骤,步骤一,使用“观察者模式”进行协议层和底层之间的信息交互;即将底层缓冲区作为被观察者,协议层各个协议作为观察者,当底层缓冲区内数据发生变化时,选择性的通知观察者;步骤二,使用“职责链模式”进行协议层内部处理;即将步骤一选择出的多组观察者逐一对获得数据进行协议解析处理;若该数据已被某一观察者校验通过,则结束当前进程,不在进行其他观察者的协议解析处理。
进一步地,使用注册函数:将观察者注册至所需的被观察者列表中,其中注册的内容包含两个信息:协议的回调函数和对应协议的帧长度。协议的回调函数是为了被观察者通知观察者时使用,协议的帧长度是为了确定被观察者通知观察者的条件。
进一步地,使用通知函数:通知函数包括两部分功能:功能一:通知对应的协议处理数据具体实现为:判断被观察者通知观察者的条件,通知的原则为筛选性通知,并非通知全部协议。筛选方式:一,根据注册的各个协议的帧长度信息,确定所有注册在案的帧长度的最大值和最小值。二,通知开始条件:缓冲区内未处理的数据长度大于最小帧长度,触发通知机制。三,通知对象:缓冲区内未处理的数据长度大于等于当前协议的帧长度,则通知该协议,若不大于等于当前协议的帧长度,则不进行通知。四,通知方式,使用被观察者列表中注册的协议回调函数进行通知。
进一步地,若数据长期被任何协议未校验通过,读索引往下移动1,具体解释如下:若观察者返回一直为0,认为一直没有协议校验通过,当缓冲区内未处理的数据长度大于最大帧长度时,认为此时已经通知了注册在案的所有协议,依然不存在校验通过的协议,则该帧极有可能是错误帧,此时缓冲区内未处理的数据长度减少1(即读索引值往下移动1)。
进一步地,使用协议解析函数:通知完成后,进行协议解析和回执处理。观察者处理方式即协议解析处理方式:被观察者将缓冲区内未处理的数据拷贝过去,进行解析处理,若校验通过,则观察者返回通过时对应的数据长度,若校验未通过,则观察者返回0。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于梁浩,未经梁浩许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202210091880.2/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种电解槽红外热图像透视畸变矫正方法
- 下一篇:一种窗帘拉绳