一种协议之间相互转换的方法技术

技术编号:30161801 阅读:22 留言:0更新日期:2021-09-25 15:15
本发明专利技术实施例提供了一种协议之间相互转换的方法,包括如下步骤:预先建立一个发布订阅列表;当接收到发布者发布的报文时,根据所述发布订阅列表,查找所述报文的协议类型;从所述报文中提取报文数据载荷;判断所述报文数据载荷的大小是否小于预先设定的合并阈值,若是,则将报文数据载荷送入所述发布者的报文数据载荷队列中,待所述报文数据载荷队列的大小达到设定的发送阈值或在超过设定的等待时长后仍未接收到新报文时,将所述报文数据载荷队列中的报文数据载荷进行合并处理;在所述发布订阅列表中查找所述发布者对应的所有订阅者;逐一根据对应的所述订阅者所采用的协议类型,对报文进行协议转换,并将协议转换后的报文发送给相应的订阅者。送给相应的订阅者。送给相应的订阅者。

【技术实现步骤摘要】
一种协议之间相互转换的方法


[0001]本专利技术涉及互联网领域和物联网领域,尤其涉及一种协议之间相互转换的方法。

技术介绍

[0002]随着近些年来物联网技术的发展,物联网的应用领域不断扩大,覆盖了从智能家居、无人驾驶到“智慧城市”等各种领域,物联网早已从新兴产物转变为了信息化社会不可或缺的存在。而互联网是信息化社会的基础设施。因此,将互联网与物联网互联互通,使得互联网设备与物联网设备能够相互通信是一个自然而然的需求。例如,在环境数据采集这一场景中,部署在户外的传感器终端将收集的数据传回物联网网关,网关将数据处理并存储至服务器,服务器为科研人员等用户提供互联网访问接口用于访问收集到的数据。
[0003]MQTT协议是物联网领域的常用协议,HTTP/HTTPS协议是互联网领域的基础协议。物联网设备普遍性能较低,一般不使用HTTP/HTTPS协议,而互联网设备普遍也不支持MQTT协议。如果需要进行互联网设备与物联网设备之间的通信就需要双方中的某一方支持对方的协议,但是市面上的设备厂商数不胜数,要让设备对于协议的支持趋向统一是一件难以完成的任务。因此,对于这一现状,我们需要一种方法来实现HTTP/HTTPS协议与MQTT协议之间的转换。

技术实现思路

[0004]本专利技术的实施例提供了一种协议之间相互转换的方法,能够提升数据传输效率。
[0005]一种协议之间相互转换的方法,包括如下步骤:
[0006]步骤1,预先建立一个发布订阅列表,所述发布订阅列表用于记录发布者与订阅者之间的发布订阅关系、发布者所采用的协议类型以及订阅者所采用的协议类型;
[0007]步骤2,当接收到发布者发布的报文时,根据所述发布订阅列表,查找所述报文的协议类型;根据所述报文的协议类型,从所述报文中提取报文数据载荷;
[0008]判断3,判断所述报文数据载荷的大小是否小于预先设定的合并阈值;若是,则进入步骤4;若否,则进入步骤5;
[0009]步骤4,将所述报文数据载荷送入所述发布者的报文数据载荷队列中,待所述报文数据载荷队列的大小达到设定的发送阈值或在超过设定的等待时长后仍未接收到新报文时,将所述报文数据载荷队列中的报文数据载荷进行合并处理,然后进入步骤5;
[0010]步骤5,在所述发布订阅列表中查找所述发布者对应的所有订阅者;
[0011]步骤6,逐一根据对应的所述订阅者所采用的协议类型,对所述报文进行协议转换,并将协议转换后的报文发送给相应的订阅者。
[0012]由上述本专利技术的实施例提供的技术方案可以看出,本专利技术实施例中,步骤1,预先建立一个发布订阅列表,所述发布订阅列表用于记录发布者与订阅者之间的发布订阅关系、发布者所采用的协议类型以及订阅者所采用的协议类型;步骤2,当接收到发布者发布的报文时,根据所述发布订阅列表,查找所述报文的协议类型;根据所述报文的协议类型,
从所述报文中提取报文数据载荷;判断3,判断所述报文数据载荷的大小是否小于预先设定的合并阈值;若是,则进入步骤4;若否,则进入步骤5;步骤4,将所述报文数据载荷送入所述发布者的报文数据载荷队列中,待所述报文数据载荷队列的大小达到设定的发送阈值或在超过设定的等待时长后仍未接收到新报文时,将所述报文数据载荷队列中的报文数据载荷进行合并处理,然后进入步骤5;步骤5,在所述发布订阅列表中查找所述发布者对应的所有订阅者;步骤6,逐一根据对应的所述订阅者的协议类型,对所述报文进行协议转换,并将协议转换后的报文发送给相应的订阅者。采用本专利技术,能够提升数据传输效率。
[0013]本专利技术附加的方面和优点将在下面的描述中部分给出,这些将从下面的描述中变得明显,或通过本专利技术的实践了解到。
附图说明
[0014]为了更清楚地说明本专利技术实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0015]图1为本专利技术的协议的转换方法的流程示意图;
[0016]图2示出了本专利技术转换方法的运行环境结构示意图;
[0017]图3示出了本专利技术转换方法的工作流程图;
[0018]图4示出了转换方法中数据载荷队列等待超时处理的工作流程图。
具体实施方式
[0019]下面详细描述本专利技术的实施方式,所述实施方式的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施方式是示例性的,仅用于解释本专利技术,而不能解释为对本专利技术的限制。
[0020]为便于对本专利技术实施例的理解,下面将结合附图以几个具体实施例为例做进一步的解释说明,且各个实施例并不构成对本专利技术实施例的限定。
[0021]图1为本专利技术的协议的转换方法的流程示意图;图2示出了本专利技术转换方法的运行环境结构示意图;图3示出了本专利技术转换方法的工作流程图;图4示出了转换方法中报文数据载荷队列等待超时处理的工作流程图。以下结合各图进行描述。
[0022]如图1所示,一种协议之间相互转换的方法,包括如下步骤:
[0023]步骤1,服务器预先建立一个发布订阅列表,所述发布订阅列表用于记录发布者与订阅者之间的发布订阅关系、发布者所采用的协议类型以及订阅者所采用的协议类型;
[0024]步骤2,当接收到发布者发布的报文时,服务器根据所述发布订阅列表,查找所述报文的协议类型;根据所述报文的协议类型,从所述报文中提取报文数据载荷;
[0025]判断3,服务器判断所述报文数据载荷的大小是否小于预先设定的合并阈值;若是,则进入步骤4;若否,则进入步骤5;
[0026]步骤4,服务器将所述报文数据载荷送入所述发布者的报文数据载荷队列中,待所述报文数据载荷队列的大小达到设定的发送阈值或在超过设定的等待时长后仍未接收到新报文时,将所述报文数据载荷队列中的报文数据载荷进行合并处理,然后进入步骤5;
[0027]步骤5,服务器在所述发布订阅列表中查找所述发布者对应的所有订阅者;
[0028]步骤6,服务器逐一根据对应的所述订阅者所采用的协议类型,对所述报文进行协议转换,并将协议转换后的报文发送给相应订阅者。
[0029]所述步骤1之前,所述方法还包括:
[0030]步骤A,服务器根据网络状态,设置所述合并阈值、所述发送阈值以及所述等待时长。
[0031]所述步骤A具体为:
[0032]服务器将所述合并阈值设定为所述发布者所发送的报文数据载荷历史平均大小的50%;
[0033]服务器将所述发送阈值设定为所述发布者所发送的报文数据载荷历史平均大小;
[0034]服务器将所述等待时长设定为所述发布者的报文数据载荷队列接收到连续数据载荷时的报文数据载荷到达时间的间隔时长的历史平均值。
[0035]所述步骤6具体为:
[0036]步骤6本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种协议之间相互转换的方法,其特征在于,包括如下步骤:步骤1,预先建立一个发布订阅列表,所述发布订阅列表用于记录发布者与订阅者之间的发布订阅关系、发布者所采用的协议类型以及订阅者所采用的协议类型;步骤2,当接收到发布者发布的报文时,根据所述发布订阅列表,查找所述报文的协议类型;根据所述报文的协议类型,从所述报文中提取报文数据载荷;判断3,判断所述报文数据载荷的大小是否小于预先设定的合并阈值;若是,则进入步骤4;若否,则进入步骤5;步骤4,将所述报文数据载荷送入所述发布者的报文数据载荷队列中,待所述报文数据载荷队列的大小达到设定的发送阈值或在超过设定的等待时长后仍未接收到新报文时,将所述报文数据载荷队列中的报文数据载荷进行合并处理,然后进入步骤5;步骤5,在所述发布订阅列表中查找所述发布者对应的所有订阅者;步骤6,逐一根据对应的所述订阅者所采用的协议类型,对所述报文进行协议转换,并将协议转换后的报文发送给相应的订阅者。2.根据权利要求1所述的方法,其特征在于,所述步骤1之前,所述方法还包括:步骤A,根据网络状态,设置所述合并阈值、所述发送阈值以及所述等待时长。3.根据权利要求2所述的方法,其特征在于,所述步骤A具体为:将所述合并阈值设定为所述发布者所发送的报文数据载荷历史平均大小的50%;将所述发送阈值...

【专利技术属性】
技术研发人员:翟高寿翟梓淇王佳李红辉刘峰罗琼陈文杰
申请(专利权)人:北京交通大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1