[发明专利]一种基于贪婪算法的MQTT协议QoS机制选择方法有效
申请号: | 202110568297.1 | 申请日: | 2021-05-24 |
公开(公告)号: | CN113472843B | 公开(公告)日: | 2023-05-26 |
发明(设计)人: | 刘明林;由新红;李帅;房牧;张鹏平;刘合金;苏国强;王峰;黄敏;于海东;李立生;张世栋;李建修 | 申请(专利权)人: | 国网山东省电力公司电力科学研究院;国家电网有限公司 |
主分类号: | H04L67/55 | 分类号: | H04L67/55;H04L67/61;G06F17/11 |
代理公司: | 济南泉城专利商标事务所 37218 | 代理人: | 李桂存 |
地址: | 250003 山东*** | 国省代码: | 山东;37 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 贪婪 算法 mqtt 协议 qos 机制 选择 方法 | ||
1.一种基于贪婪算法的MQTT协议QoS机制选择方法,其特征在于,包括如下步骤:
a)将一个MQTT协议数据包定义为一个大数据包,将智能终端上的I个大数据包的任务数据用集合表示,第i个大数据包在m传输机制下的能耗为m取0时为QoS0机制,m取1时为QoS1机制,m取2时为QoS2机制,第i个大数据包在m传输机制下的丢包率为
b)将每个大数据包分为J个小数据包进行传输,J个小数据包表示为集合表示,通过公式计算第i个大数据包中第j个小数据包在QoS1及QoS2机制下的第n次传输时的信道增益gi,j,n,式中Hi,j,n为第i个大数据包中第j个小数据包的第n次重传时的信道频率响应,N0为噪声功率;
c)判断第i个大数据包中第j个小数据包是否丢包,计算QoS0机制下第i个大数据包内的丢包总个数,通过公式计算QoS0机制下第i个大数据包中第j个小数据包的传输能耗式中gi,j,0为第i个大数据包中第j个小数据包在QoS0机制下的信道增益,p为传输功率,S为小数据包的数据量,B为信道带宽;
d)通过公式计算第i个大数据包的总能耗分别判断第i个大数据包中第j个小数据包的PUBLISH数据包第n次传输是否成功以及第i个大数据包中第j个小数据包的PUBACK数据包第n次回传是否成功;
e)计算得到QoS1机制下传输能耗去重能耗及QoS1机制消耗的总能耗
f)计算得到QoS2机制下传输能耗及QoS2机制消耗的总能耗
g)通过公式计算回报值V为非负参数,通过公式计算的均值为第i个大数据包被选择时,m传输机制被选择的次数,为第i个大数据包选择m传输机制的指示变量,通过公式计算得到ψi,根据ψi选择MQTT协议的QoS机制进行数据传输,μ为随机数,0<μ<1,ε为探索权重;
步骤e)中通过公式计算得到QoS1机制下传输能耗式中Ni,j为第i个大数据包中第j个小数据包的传输总次数,Sback为PUBACK数据包的大小,为第i个大数据包中第j个小数据包传输成功时的信道增益,为第i个大数据包中第j个小数据包回传成功时的信道增益,通过公式计算得到去重能耗式中Ec为任意一个小数据包的去重能耗,通过公式计算得到QoS1机制消耗的总能耗步骤d)中通过公式得到指示变量当时第i个大数据包中第j个小数据包的PUBLISH数据包第n次传输失败,当时第i个大数据包中第j个小数据包的PUBLISH数据包第n次传输成功,通过公式得到指示变量式中gi,j,n,back为PUBACK数据包回传时的信道增益值,pback为PUBACK数据包的回传功率,当时第i个大数据包中第j个小数据包的PUBACK数据包的第n次回传失败,当时第i个大数据包中第j个小数据包的PUBACK数据包的第n次回传成功;
步骤f)中通过公式计算QoS2机制下第i个大数据包中第j个小数据包第一次传输能耗式中为QoS2机制下第i个大数据包中第j个小数据包的PUBLISH数据包第n次传输指示变量,为第i个大数据包中第j个小数据包的PUBREC数据包第n次回传指示变量,SREC为PUBLISH数据包的数据量,当时QoS2机制下的第i个大数据包中第j个小数据包的PUBLISH数据包第n次传输失败,当时QoS2机制下的第i个大数据包中第j个小数据包的PUBLISH数据包第n次传输成功,当时第i个大数据包中第j个小数据包的PUBREC数据包的第n次回传失败,当时第i个大数据包中第j个小数据包的PUBREC数据包的第n次回传成功,通过公式计算QoS2机制下第i个大数据包中第j个小数据包第二次传输能耗式中为第i个大数据包中第j个小数据包的PUBREL数据包第n次传输指示变量,为第i个大数据包中第j个小数据包的PUBCOMP数据包第n次回传指示变量,SREL为PUBREL数据包的数据量,SCOMP为PUBCOMP数据包的数据量,当时第i个大数据包中第j个小数据包的PUBREL数据包第n次传输失败,当时第i个大数据包中第j个小数据包的PUBLISH数据包第n次传输成功,当时第i个大数据包中第j个小数据包的PUBCOMP数据包的第n次回传失败,当时第i个大数据包中第j个小数据包的PUBCOMP数据包的第n次回传成功,通过公式计算第i个大数据包总能耗
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于国网山东省电力公司电力科学研究院;国家电网有限公司,未经国网山东省电力公司电力科学研究院;国家电网有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110568297.1/1.html,转载请声明来源钻瓜专利网。