CN110138860B - 一种基于物联网的数据通讯方法及装置 - Google Patents
一种基于物联网的数据通讯方法及装置 Download PDFInfo
- Publication number
- CN110138860B CN110138860B CN201910405539.8A CN201910405539A CN110138860B CN 110138860 B CN110138860 B CN 110138860B CN 201910405539 A CN201910405539 A CN 201910405539A CN 110138860 B CN110138860 B CN 110138860B
- Authority
- CN
- China
- Prior art keywords
- data
- topic
- communication
- information
- internet
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/903—Querying
- G06F16/90335—Query processing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/12—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/26—Special purpose or proprietary protocols or architectures
Abstract
本申请实施例提供一种基于物联网的数据通讯方法及装置,涉及通信技术领域,包括获取话题信息,并根据话题信息生成话题数据;获取与话题数据相匹配的初始标签和与话题数据相匹配的话题数量;根据话题数据、初始标签、话题数量以及预设的通讯协议构建通讯数据;发送通讯数据至话题信息的订阅方。实施这种实施方式,能够提供一种高灵活度的数据通讯方法来规避传统的技术中存在的通讯问题,从而提高了通讯的稳定性。
Description
技术领域
本申请涉及通信技术领域,具体而言,涉及一种基于物联网的数据通讯方法及装置。
背景技术
随着万物互联产业的兴起,各种设备都推出了联网和智能控制的功能。再次之中,MQTT(Message Queuing Telemetry Transport,消息队列遥测传输)是由IBM开发的一种物联网传输协议,它可以通过轻量级的订阅或发布模式来进行消息传输。同时,基于上述MQTT协议,现在人们又优化得到了MQTT-SN(MQTT For Sensor Networks,针对传感器网络的消息队列遥测传输)协议,而该MQTT-SN协议则更加适应无线通信环境。
在现有的MQTT-SN技术中,客户端与服务端之间的消息通讯首先需要对topic进行订阅和注册,然后再依赖topic id对topic进行订阅和发布以完成消息通讯的。然而,在实践中发现,对topic进行订阅和注册的过程时常会出现失败的情况,从而导致消息通讯无法正常进行,进而影响了通讯的稳定性。
发明内容
本申请实施例的目的在于提供一种基于物联网的数据通讯方法及装置,能够提供一种高灵活度的数据通讯方法来规避传统的技术中存在的通讯问题,从而提高了通讯的稳定性。
本申请实施例提供了一种基于物联网的数据通讯方法,包括:
获取话题信息,并根据所述话题信息生成话题数据;
获取与所述话题数据相匹配的初始标签和与所述话题数据相匹配的话题数量;
根据所述话题数据、所述初始标签、所述话题数量以及预设的通讯协议构建通讯数据;
发送所述通讯数据至所述话题信息的订阅方。
在上述实现过程中,该基于物联网的数据通讯方法能够获取想要传输的话题信息,并根据该话题信息进行处理得到具有指定顺序的话题数据,其中,该话题数据是上述话题信息的整理形式(该步骤可以理解为按照预设的方法将话题信息转换为topic数据);在上述步骤之后,获取与话题数据相匹配的初始标签和话题数量(该步骤可以理解为获取topic数据的首位id和topic数据的总数量);然后,再根据话题数据、初始标签、话题数量以及预设的通讯协议构建通讯数据以使该通讯数据可以被发送至话题的订阅方。通过上述实现过程可以看出,topic数据可以是直接根据话题信息进行转换得到的,并且topic id和topic数量也是已知的,这就使得,在传输topic数据的过程中,只需要按照预设的通讯协议(包括顺序等方面的约定)构建成与topic数量对应的通讯数据,而该通讯数据的首位数据为上述的topic id,这就使得通讯数据是继承topic id的数据组,从而在传输的过程中之传输该通讯数据便可以了,进而避免了传统方法中对topic订阅和注册的过程,提高了通讯的灵活程度,并且使得数据的传输更加稳定。
进一步地,所述获取话题信息,并根据所述话题信息生成话题数据的步骤包括:
获取话题信息和预设的话题顺序;
按照所述话题顺序将所述话题信息转换为话题数据。
在上述实现过程中,限定了话题信息转换为话题数据的过程,其中着重说明了,话题数据是根据话题顺序进行确定的。实施这种实施方式,可以使得话题数据具有固定的顺序,以使后续的步骤对话题数据进行构建的过程更加容易,另外,该步骤还可以对之前杂序的话题信息进行排序处理,从而使得话题信息输入的状况更为灵活,进而提高了该通讯方法的整体灵活性。
进一步地,所述获取与所述话题数据相匹配的初始标签和与所述话题数据相匹配的话题数量的步骤包括:
在通讯设备中获取与所述话题数据相匹配的初始标签;所述通讯设备用于对传输数据进行中转传输;
获取与所述话题数据相匹配的话题数量。
在上述实现过程中,对初始标签的获取方式进行了限定,其中,在固定的通讯设备(可以理解为通讯程序,具体的可以为MQTT-SN通讯程序)中获取当前空置的topic id作为通讯传输的首位,并在同时对话题数据进行数量获取,以使通讯设备中预留出指定数量的空间进行传输,其中,该指定数量的空间是以上述topic id向后排序的。可见,该方法可以将话题数据与通讯设备构成联系,从而使得后续传输的过程可以根据该联系进行,进而提高传输的稳定性,同时,该方法可以在通讯设备中随时定义新的传输空间,可见,该方法的灵活性也较高。
进一步地,所述根据所述话题数据、所述初始标签、所述话题数量以及预设的通讯协议构建通讯数据的步骤包括:
在所述话题数据中确定出首序的第一话题子数据,并根据所述初始标签对所述第一话题子数据进行构建,得到第一通讯子数据;
在所述话题数据中确定出后续的第二话题子数据,并根据所述预设的通讯协议和所述话题数量对所述第二话题子数据进行构建,得到第二通讯子数据;
将所述第一通讯子数据和所述第二通讯子数据按照所述预设的通讯协议进行构建,得到通讯数据。
在上述实现过程中,对通讯数据的构建进行了细化限定,其中,先对话题数据中的首位数据进行提取,并构建出用于传输的第一位topic数据(即第一通讯子数据),并在此之后,对首位数据之后的数据进行构建,得到第一位topic数据之后顺位的多位topic数据(即第二通讯子数据),其中topic id由对应的话题数量决定,并在确定出上述多位topic数据之后按照预设的通讯协议,确定用于传输的通讯数据(该数据可以为第一通讯子数据和第二通讯子数据的结合,也可以是第二通讯子数据中的一部分和第一通讯子数据,还可以为第一通讯子数据,其中,该数据为第二通讯子数据中的一部分和第一通讯子数据的情况以及只有第一通讯子数据的情况两种情况出现的条件是通讯协议中索要的数据数量小于上述的话题数量,当数据数量为一时,通讯数据便只有第一通讯子数据了)。可见,实施这种实施方式,可以实时构建通讯数据,从而辅助数据通讯的完成,进而提高灵活度,提高通讯稳定性。
进一步地,在所述发送所述通讯数据至所述话题信息的订阅方的步骤之后,所述方法还包括:
判断是否接收到所述订阅方的反馈信息;
当接收到所述订阅方的反馈信息时,根据所述初始标签、所述话题数量生成所述话题数据的补充标签;
在通讯设备中存储所述初始标签、所述补充标签二者与所述通讯数据之间的映射关系;所述通讯设备用于对传输数据进行中转传输。
在上述实现过程中,追加了在通讯数据发送之后的反馈机制,若接收到反馈,则存储发送时通讯设备中标签与通讯数据的对应关系。可见,通讯完成的基础上,该步骤还可以增加通讯数据的可回溯性,从而提高安全性与稳定性。
本申请实施例第二方面提供了一种基于物联网的数据通讯装置,所述基于物联网的数据通讯装置包括:
第一获取单元,用于获取话题信息,并根据所述话题信息生成话题数据;
第二获取单元,用于获取与所述话题数据相匹配的初始标签和与所述话题数据相匹配的话题数量;
构建单元,用于根据所述话题数据、所述初始标签、所述话题数量以及预设的通讯协议构建通讯数据;
发送单元,用于发送所述通讯数据至所述话题信息的订阅方。
在上述实现过程中,该基于物联网的数据通讯装置包括第一获取单元、第二获取单元、构建单元以及发送单元四个单元,其中,该四个单元分别完成对话题信息的获取和话题数据的转换、初始标签的获取和话题数量的获取、通讯数据的构建以及通讯数据的发送四个功能。通过该四个单元,该物联网的数据通讯装置可以避免传统装置中对topic的订阅和注册,从而灵活地对数据进行处理完成通信,进而提高灵活性和稳定性。
进一步地,所述构建单元包括:
第一构建子单元,用于在所述话题数据中确定出首序的第一话题子数据,并根据所述初始标签对所述第一话题子数据进行构建,得到第一通讯子数据;
第二构建子单元,用于在所述话题数据中确定出后续的第二话题子数据,并根据所述预设的通讯协议和所述话题数量对所述第二话题子数据进行构建,得到第二通讯子数据;
第三构建子单元,用于将所述第一通讯子数据和所述第二通讯子数据按照所述预设的通讯协议进行构建,得到通讯数据。
在上述实现过程中,第一构建子单元、第二构建子单元以及第三构建子单元三个子单元分别获取与初始标签对应的第一通讯子数据、与通讯协议对应的第二通讯子数据以及两者结合并按照通讯协议构建的总的通讯数据。可见,实施这种实施方式,可以通过多个子单元相互协助来完成实时构建通讯数据的操作,从而辅助数据通讯的完成,进而可以提高灵活度,提高通讯稳定性。
进一步地,所述基于物联网的数据通讯装置还包括:
判断单元,用于判断是否接收到所述订阅方的反馈信息;
生成单元,用于在接收到所述订阅方的反馈信息时,根据所述初始标签、所述话题数量生成所述话题数据的补充标签;
存储单元,用于在通讯设备中存储所述初始标签、所述补充标签二者与所述通讯数据之间的映射关系;所述通讯设备用于对传输数据进行中转传输。
在上述实现过程中,通过判断单元、生成单元以及存储单元追加了在通讯数据发送之后的反馈装置,并在接收到反馈,则存储发送时通讯设备中标签与通讯数据的对应关系。可见,通讯完成的基础上,该些单元还可以增加通讯数据的可回溯性,从而提高安全性与稳定性。
本申请实施例第三方面提供了一种电子设备,包括存储器以及处理器,所述存储器用于存储计算机程序,所述处理器运行所述计算机程序以使所述计算机设备执行根据本申请实施例第一方面中任一项所述的基于物联网的数据通讯方法。
本申请实施例第四方面提供了一种计算机可读存储介质,其存储有计算机程序指令,所述计算机程序指令被一处理器读取并运行时,执行本申请实施例第一方面中任一项所述的基于物联网的数据通讯方法。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请实施例提供的一种基于物联网的数据通讯方法的流程示意图;
图2为本申请实施例提供的另一种基于物联网的数据通讯方法的流程示意图;
图3为本申请实施例提供的一种基于物联网的数据通讯装置的结构示意图;
图4为本申请实施例提供的另一种基于物联网的数据通讯装置的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本申请的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
实施例1
请参看图1,图1为本申请实施例提供了一种基于物联网的数据通讯方法的流程示意图。该基于物联网的数据通讯方法应用于物联网通信中,具体的应用于基于MQTT-SN协议的物联网通信中。而对于该方法的使用方面着重于数据的传输。其中,该基于物联网的数据通讯方法包括:
S101、获取话题信息,并根据话题信息生成话题数据。
本实施例中,话题信息为需要传输的最初数据信息,可以理解的是,该话题信息可以为未经过整理的初始物联网传输数据信息。
本实施例中,话题数据是经过处理得到的数据信息,其本质是话题信息的整理结果。
在本实施例中,上述话题信息的整理结果(即话题数据)可以是具有特定顺序的,可以是具有特定含义(例如数据之间的层级关系或先后关系)的,对此本实施例中不作任何限定。
在本实施例中,话题数据是可以直接用于传输的数据,在此后的步骤对话题数据进行调整是为了更好地更灵活地传输,从而提高传输的稳定性。
本实施例中,根据话题信息生成话题数据的步骤可以为数据格式的转换(可以理解为生成代码),也可以为对话题信息进行调整(可以理解为对顺序进行调整)在进行数据格式的转换,更可以是对话题信息进行包装、加密以及格式转换等的处理。对此本实施例中不作任何限定。
本实施例中,话题数据可以理解为topic数据。
S102、获取与话题数据相匹配的初始标签和与话题数据相匹配的话题数量。
本实施例中,初始标签可以理解为topic id,即通讯设备中调用的空置topic id。
在本实施例中,上述通讯设备可以为具有MQTT-SN通讯程序的设备,也可以是具有相应功能的具体设备。
本实施例中,话题数量即topic数量。
举例来说,MQTT-SN通讯程序中的空置id为5,topic数量为3,在后续的步骤中,需要占用的topic id为5、6、7,并在传输的时候使用该预留出来的5、6、7进行传输,可见,该方法可以灵活地进行传输,从而提高传输灵活性,继而该方法可以提高传输稳定性。
S103、根据话题数据、初始标签、话题数量以及预设的通讯协议构建通讯数据。
本实施例中,通讯协议可以为预先约定的协议(其中,具体协议形式可根据需要使用,如二进制协议,json格式通讯协议等),只要确保约定的协议中携带了以下信息即可。其中,该通讯协议需要包括初始的topic id,初始topic id应该来自MQTT-SN的底层维护的topic id列表;还需要包括本次需要动态订阅的topic数量,通过该数量双方将对约定好的topic按顺序进行处理生成对应的topic id,以确保双方的topic可以使用正确的topic id进行通讯。
本实施例中,通讯协议可以具有特定的数量,并且在该特定数量之下,可以调整通讯数据的topic数量,如总topic数量为5,约定数量为2,那么只需要传输2个topic数据即可,因此,在该情况下,通讯数据只有两个topic。
举例来说,在通讯过程中,假设已提前定义了需要使用的topic为a,b,c,d,e(5个),topic的顺序也是依次为a>b>c>d>e。现在存在A,C两个客户端与B服务端需要进行通讯;其中A仅需要a,b,c的topic通讯;而C的功能需求更大,需要使用a,b,c,d,e所有的topic,此时topic的数量就起作用了。在A中只需要提供初始ID及数量3,B在根据此数据生成对应的topic时,只会生成3个有效的topic;在与C的通讯中则提供了初始ID与数量5,B在根据此数据生成对应的topic时,则会生成5个有效的topic。此部分会造成的影响是在MQTT-SN的通讯中会将topic与topic id一一关联,准确而有效的topic数量将会提高topicid的利用率。(如果不关心这部分或者不存在以上动态差异的通讯,直接固定数量也是可以的)。
在本实施例中,上述topic数量决定了最终生成topic id的数量,而该生成的topic id的数量会占用总id数量的一部分,由此可见,当topic id的数量过多时将会浪费资源。而在本实施例中,准确而有效的topic数量可以使得topic id的数量是不会因为多余topic导致的topic数量增加而增加的,因此该topic id的利用率将会大大提高。
在本实施例中,该方法的执行主体将提供初始标签(初始ID)和话题数量(需要订阅的topic数量的)。
S104、发送通讯数据至话题信息的订阅方。
本实施例中,对于发送的方法不做任何限定。
在本实施例中,发送的方法可以为通过网关进行的数据传输。
本实施例中,该基于物联网的数据通讯方法的执行主体可以为客户端(即MQTT-SNclient),或者其他接连与物联网的通讯终端,对此本实施例中不作任何限定。
本实施例中,该方法需要满足:topic为非预定义固定不变的topic,而是具有固定格式但会根据通讯时产生的信息发生变更的topic,如“$xlink/{session}/device”,其中“{session}”为可变内容。不使用固定不变的topic的原因是由于固定不变的topic可通过MQTT-SN的预订阅topic功能直接订阅,不需要根据生成的topic信息订阅;通讯双方需要使用的topic是可预知的,即通讯的topic顺序也是可以确定的。
可见,实施图1所描述的基于物联网的数据通讯方法,能够获取想要传输的话题信息,并根据该话题信息进行处理得到具有指定顺序的话题数据,其中,该话题数据是上述话题信息的整理形式(该步骤可以理解为按照预设的方法将话题信息转换为topic数据);在上述步骤之后,获取与话题数据相匹配的初始标签和话题数量(该步骤可以理解为获取topic数据的首位id和topic数据的总数量);然后,再根据话题数据、初始标签、话题数量以及预设的通讯协议构建通讯数据以使该通讯数据可以被发送至话题的订阅方。实施这种实施方式,可以看出topic数据可以是直接根据话题信息进行转换得到的,并且topic id和topic数量也是已知的,这就使得,在传输topic数据的过程中,只需要按照预设的通讯协议(包括顺序等方面的约定)构建成与topic数量对应的通讯数据,而该通讯数据的首位数据为上述的topic id,这就使得通讯数据是继承topic id的数据组,从而在传输的过程中之传输该通讯数据便可以了,进而避免了传统方法中对topic订阅和注册的过程,提高了通讯的灵活程度,并且使得数据的传输更加稳定。
实施例2
请参看图2,图2为本申请实施例提供的另一种基于物联网的数据通讯方法的流程示意图。图2所描述的基于物联网的数据通讯方法的流程示意图是根据图1所描述的基于物联网的数据通讯方法的流程示意图进行改进得到的。其中,该基于物联网的数据通讯方法包括:
S201、获取话题信息和预设的话题顺序。
本实施例中,话题顺序为话题信息的预设排序方式或预设的对话题信息进行排序的话题顺序。
S202、按照话题顺序将话题信息转换为话题数据。
本实施例中,话题数据是按照话题顺序排序的,因此,该话题数据是具有特定顺序的。
实施步骤S201~S202描述的实施方式,可以限定话题信息转换为话题数据的过程,其中着重说明了,话题数据是根据话题顺序进行确定的。实施这种实施方式,可以使得话题数据具有固定的顺序,以使后续的步骤对话题数据进行构建的过程更加容易,另外,该步骤还可以对之前杂序的话题信息进行排序处理,从而使得话题信息输入的状况更为灵活,进而提高了该通讯方法的整体灵活性。
S203、在通讯设备中获取与话题数据相匹配的初始标签;通讯设备用于对传输数据进行中转传输。
本实施例中,通讯设备可以为包括MQTT-SN通信程序的设备,其中该通信程序是topic id的获取位置。
本实施例中,初始标签可以为初始的空置topic id,该id是MQTT-SN通信程序中的。
本实施例中,通讯设备是用于中转传输数据的,对此本实施例中不作任何限定。
S204、获取与话题数据相匹配的话题数量。
本实施例中,话题数量即为topic数量,可以理解的是,topic数量为话题数据的总条数。
实施步骤S203~S204描述的实施方式,可以对初始标签的获取方式进行了限定,其中,在固定的通讯设备(可以理解为通讯程序,具体的可以为MQTT-SN通讯程序)中获取当前空置的topic id作为通讯传输的首位,并在同时对话题数据进行数量获取,以使通讯设备中预留出指定数量的空间进行传输,其中,该指定数量的空间是以上述topic id向后排序的。可见,该方法可以将话题数据与通讯设备构成联系,从而使得后续传输的过程可以根据该联系进行,进而提高传输的稳定性,同时,该方法可以在通讯设备中随时定义新的传输空间,可见,该方法的灵活性也较高。
S205、在话题数据中确定出首序的第一话题子数据,并根据初始标签对第一话题子数据进行构建,得到第一通讯子数据。
本实施例中,首序是指排序第一位。
在本实施例中,首序的第一话题子数据是上述排序结果中,第一位的话题子数据。
本实施例中,第一话题子数据可以为一个topic,初始标签为topic id,因此第一通讯子数据是套入到topic id的具有topic的数据。
S206、在话题数据中确定出后续的第二话题子数据,并根据预设的通讯协议和话题数量对第二话题子数据进行构建,得到第二通讯子数据。
本实施例中,后续的第二话题子数据,是指在第一位的第一话题子数据之后的子数据。
在本实施例中,通讯协议可以于话题数量进行匹配,并在通讯协议中约定的传输数量小于或等于话题数量时,对第二话题子数据进行构建。
在本实施例中,第二话题子数据是代指,因此可以得知,第二话题子数据可以具有多个数据(可以理解的是,该第二话题子数据可以具有多个不重复的内容,并且该些内容并列)。
在本实施例中,在通讯协议中约定的传输数量大于话题数量时,发送错误报告。
本实施例中,构建的方式可以理解为将topic结合topic id形成可以用于直接传输的传输子数据,对此本实施例中将不再多加赘述。
S207、将第一通讯子数据和第二通讯子数据按照预设的通讯协议进行构建,得到通讯数据。
本实施例中,该过程可以按照通讯协议再次对第一通讯子数据和第二通讯子数据进行组合或调整,其中调整可以包括加密调整或增强稳定性调整等。对此本实施例中不再多加赘述。
实施步骤S205~S207描述的内容,可以对通讯数据的构建进行了细化限定,其中,先对话题数据中的首位数据进行提取,并构建出用于传输的第一位topic数据(即第一通讯子数据),并在此之后,对首位数据之后的数据进行构建,得到第一位topic数据之后顺位的多位topic数据(即第二通讯子数据),其中topic id由对应的话题数量决定,并在确定出上述多位topic数据之后按照预设的通讯协议,确定用于传输的通讯数据(该数据可以为第一通讯子数据和第二通讯子数据的结合,也可以是第二通讯子数据中的一部分和第一通讯子数据,还可以为第一通讯子数据,其中,该数据为第二通讯子数据中的一部分和第一通讯子数据的情况以及只有第一通讯子数据的情况两种情况出现的条件是通讯协议中索要的数据数量小于上述的话题数量,当数据数量为一时,通讯数据便只有第一通讯子数据了)。可见,实施这种实施方式,可以实时构建通讯数据,从而辅助数据通讯的完成,进而提高灵活度,提高通讯稳定性。
S208、发送通讯数据至话题信息的订阅方。
本实施例中,对于发送的方法不做任何限定。
在本实施例中,发送的方法可以为通过网关进行的数据传输。
本实施例中,该基于物联网的数据通讯方法的执行主体可以为客户端(即MQTT-SNclient),或者其他接连与物联网的通讯终端,对此本实施例中不作任何限定。
S209、判断是否接收到订阅方的反馈信息,若是,则执行步骤S210~S211;若否,则结束本流程。
作为一种可选的实施方式,在未接收到订阅方的反馈信息时,获取传输条件,并判断传输条件满足预设条件,当满足时触发执行步骤S205~S209。
实施这种实施方式,可以在未接收到订阅方的反馈信息的时候重新触发执行构建与传输的过程,从而保证数据传输成功,提高数据传输的稳定性。
在本实施例中,预设条件可以为时间条件(如30秒无回复)也可以为请求条件(如未接收到需要重发的请求),对此本实施例中不作任何限定。
本实施例中,订阅方可以理解为通讯数据的接收方,具体的可以为通讯数据的接收装置。
S210、根据初始标签、话题数量生成话题数据的补充标签。
本实施例中,初始标签为初始的topic id,话题数量为topic数量,补充标签为在topic id后的其他id。
举例来说,当初始topic id为5,topic数量为3,那么补充标签则为6和7。
S211、在通讯设备中存储初始标签、补充标签二者与通讯数据之间的映射关系;通讯设备用于对传输数据进行中转传输。
本实施例中,初始标签和补充标签两者是总共的标签,而该总共的标签是与通讯数据相对应的,因此相互之间是具有固定的映射关系的。
在本实施例中,当总共的标签数量大于通讯数据时,按照通讯数据获取对应的标签数量,并且获取通讯数据对应的映射关系。
实施步骤S209~S211描述的实施方式,可以追加了在通讯数据发送之后的反馈机制,若接收到反馈,则存储发送时通讯设备中标签与通讯数据的对应关系。可见,通讯完成的基础上,该步骤还可以增加通讯数据的可回溯性,从而提高安全性与稳定性。
举例来说,该方法可以为,优先确定双方通讯的topic顺序,如一共有“$session/1”,“$session/2”,“$session/3”,session为通讯中动态生成的数据信息;再确定双方订阅topic的协议(如采用json格式通讯协议)
{“init_id”:0,
“topic_count”:3};
然后,双方通讯产生动态信息并生成相应的订阅topic(如产生的session数据值为”mqttabc”,则生成相应的topic分别为“$mqttabc/1”,“$mqttabc/2”,“$mqttabc/3”);之后执行主体(发布方)再通过MQTT-SN通讯程序获取当前最新未使用的topic id作为初始topic id,并提供需要订阅的topic数量,以便保证后续需要订阅的topic id不会被占用(如init id为5,topic数量为3,则5~8的topic id都将被预留);同时,根据获取的初始topic id,及topic数量,约定好的通讯协议构建通讯数据;并且,发送通讯数据给订阅方,双方根据约定协议,订阅方使用初始topic id为指定顺序的topic生成对应的topic id,并通过MQTT-SN通讯程序保存topic及topic id的映射关系。订阅方回复数据接收成功消息;最后,在检测指定超时时间内是否接收到订阅方的回复消息,若未接收到回复消息,默认为该消息未送达,执行重新构建数据并发送的步骤,若接收到回复消息,则使用初始topic id及topic数量,为指定顺序的topic生成对应的topic id,并通过MQTT-SN通讯程序保存topic及topic id的映射关系。
可见,实施图2所描述的基于物联网的数据通讯方法,能够直接根据话题信息进行转换得到topic数据,并在topic id和topic数量是已知的情况下,按照预设的通讯协议(包括顺序等方面的约定)构建成与topic数量对应的通讯数据进行传输,其中,该通讯数据的首位数据为上述的topic id,通讯数据是继承topic id的数据组。可见,在该通讯数据传输的过程中不再需要使用对topic订阅和注册,从而提高了通讯的灵活程度,进而使得数据的传输更加稳定。在上述的过程中之后,通过反馈来实现数据传输结果的确认,从而提高数据传输的准确性。另外,该方法在数据灵活传输的效果之上,还可以降低负载需求以及稳定反馈传输效果的效果。
实施例3
请参看图3,图3为本申请实施例提供的一种基于物联网的数据通讯装置的结构示意图。其中,该基于物联网的数据通讯装置包括:
第一获取单元310,用于获取话题信息,并根据话题信息生成话题数据;
第二获取单元320,用于获取与话题数据相匹配的初始标签和与话题数据相匹配的话题数量;
构建单元330,用于根据话题数据、初始标签、话题数量以及预设的通讯协议构建通讯数据;
发送单元340,用于发送通讯数据至话题信息的订阅方。
本实施例中,基于物联网的数据通讯装置对应的解释说明可以采用上述实施例中描述的基于物联网的数据通讯方法的解释说明,对此本实施例中不再多加赘述。
可见,实施图3所描述的基于物联网的数据通讯装置,能够通过基于物联网的数据通讯装置包括的第一获取单元、第二获取单元、构建单元以及发送单元四个单元,来分别完成对话题信息的获取和话题数据的转换、初始标签的获取和话题数量的获取、通讯数据的构建以及通讯数据的发送四个功能。可见,实施这种实施方式,可以通过上述四个单元的使用来避免传统装置中对topic的订阅和注册,从而灵活地对数据进行处理完成通信,进而提高灵活性和稳定性。
实施例4
请参看图4,图4为本申请实施例提供的另一种基于物联网的数据通讯装置的结构示意图。图4所描述的基于物联网的数据通讯装置的结构示意图是根据图3所描述的基于物联网的数据通讯装置的结构示意图进行改进得到的。其中,该基于物联网的数据通讯装置还包括:
判断单元350,用于判断是否接收到订阅方的反馈信息;
生成单元360,用于在接收到订阅方的反馈信息时,根据初始标签、话题数量生成话题数据的补充标签;
存储单元370,用于在通讯设备中存储初始标签、补充标签二者与通讯数据之间的映射关系;通讯设备用于对传输数据进行中转传输。
作为一种可选的实施方式,构建单元330包括:
第一构建子单元331,用于在话题数据中确定出首序的第一话题子数据,并根据初始标签对第一话题子数据进行构建,得到第一通讯子数据;
第二构建子单元332,用于在话题数据中确定出后续的第二话题子数据,并根据预设的通讯协议和话题数量对第二话题子数据进行构建,得到第二通讯子数据;
第三构建子单元333,用于将第一通讯子数据和第二通讯子数据按照预设的通讯协议进行构建,得到通讯数据。
本实施例中,基于物联网的数据通讯装置对应的解释说明可以采用上述实施例中描述的基于物联网的数据通讯方法的解释说明,对此本实施例中不再多加赘述。
可见,实施图4所描述的基于物联网的数据通讯装置,能够通过上述的各类单元来直接根据话题信息进行转换得到topic数据,并在topic id和topic数量是已知的情况下,按照预设的通讯协议(包括顺序等方面的约定)构建成与topic数量对应的通讯数据进行传输,其中,该通讯数据的首位数据为上述的topic id,通讯数据是继承topic id的数据组。可见,在使用该数据通讯装置时,该通讯数据传输的过程中不再需要使用对topic订阅和注册,从而提高了通讯的灵活程度,进而使得数据的传输更加稳定。在上述的过程中之后,通过反馈来实现数据传输结果的确认,从而提高数据传输的准确性。
本申请实施例提供了一种电子设备,包括存储器以及处理器,所述存储器用于存储计算机程序,所述处理器运行所述计算机程序以使所述计算机设备执行根据本申请实施例1或实施例2中任一项基于物联网的数据通讯方法。
本申请实施例提供了一种计算机可读存储介质,其存储有计算机程序指令,所述计算机程序指令被一处理器读取并运行时,执行本申请实施例1或实施例2中任一项基于物联网的数据通讯方法。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本申请的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅为本申请的实施例而已,并不用于限制本申请的保护范围,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应所述以权利要求的保护范围为准。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
Claims (10)
1.一种基于物联网的数据通讯方法,其特征在于,包括:
获取话题信息,并根据所述话题信息生成话题数据;所述话题数据具有指定顺序;
获取与所述话题数据相匹配的初始标签和与所述话题数据相匹配的话题数量;
从所述初始标签开始,按照所述指定顺序根据所述话题数据、所述话题数量以及预设的通讯协议构建通讯数据;
发送所述通讯数据至所述话题信息的订阅方。
2.根据权利要求1所述的基于物联网的数据通讯方法,其特征在于,所述获取话题信息,并根据所述话题信息生成话题数据的步骤包括:
获取话题信息和预设的话题顺序;
按照所述话题顺序将所述话题信息转换为话题数据。
3.根据权利要求1所述的基于物联网的数据通讯方法,其特征在于,所述获取与所述话题数据相匹配的初始标签和与所述话题数据相匹配的话题数量的步骤包括:
在通讯设备中获取与所述话题数据相匹配的初始标签;所述通讯设备用于对传输数据进行中转传输;
获取与所述话题数据相匹配的话题数量。
4.根据权利要求1所述的基于物联网的数据通讯方法,其特征在于,所述从所述初始标签开始,按照所述指定顺序根据所述话题数据、所述话题数量以及预设的通讯协议构建通讯数据的步骤包括:
在所述话题数据中确定出首序的第一话题子数据,并根据所述初始标签对所述第一话题子数据进行构建,得到第一通讯子数据;
在所述话题数据中确定出后续的第二话题子数据,并根据所述预设的通讯协议和所述话题数量对所述第二话题子数据进行构建,得到第二通讯子数据;
将所述第一通讯子数据和所述第二通讯子数据按照所述预设的通讯协议进行构建,得到通讯数据。
5.根据权利要求1所述的基于物联网的数据通讯方法,其特征在于,在所述发送所述通讯数据至所述话题信息的订阅方的步骤之后,所述方法还包括:
判断是否接收到所述订阅方的反馈信息;
当接收到所述订阅方的反馈信息时,根据所述初始标签、所述话题数量生成所述话题数据的补充标签;
在通讯设备中存储所述初始标签、所述补充标签二者与所述通讯数据之间的映射关系;所述通讯设备用于对传输数据进行中转传输。
6.一种基于物联网的数据通讯装置,其特征在于,所述基于物联网的数据通讯装置包括:
第一获取单元,用于获取话题信息,并根据所述话题信息生成话题数据;所述话题数据具有指定顺序;
第二获取单元,用于获取与所述话题数据相匹配的初始标签和与所述话题数据相匹配的话题数量;
构建单元,用于从所述初始标签开始,按照所述指定顺序根据所述话题数据、所述话题数量以及预设的通讯协议构建通讯数据;
发送单元,用于发送所述通讯数据至所述话题信息的订阅方。
7.根据权利要求6所述的基于物联网的数据通讯装置,其特征在于,所述构建单元包括:
第一构建子单元,用于在所述话题数据中确定出首序的第一话题子数据,并根据所述初始标签对所述第一话题子数据进行构建,得到第一通讯子数据;
第二构建子单元,用于在所述话题数据中确定出后续的第二话题子数据,并根据所述预设的通讯协议和所述话题数量对所述第二话题子数据进行构建,得到第二通讯子数据;
第三构建子单元,用于将所述第一通讯子数据和所述第二通讯子数据按照所述预设的通讯协议进行构建,得到通讯数据。
8.根据权利要求6所述的基于物联网的数据通讯装置,其特征在于,所述基于物联网的数据通讯装置还包括:
判断单元,用于判断是否接收到所述订阅方的反馈信息;
生成单元,用于在接收到所述订阅方的反馈信息时,根据所述初始标签、所述话题数量生成所述话题数据的补充标签;
存储单元,用于在通讯设备中存储所述初始标签、所述补充标签二者与所述通讯数据之间的映射关系;所述通讯设备用于对传输数据进行中转传输。
9.一种电子设备,其特征在于,所述电子设备包括存储器以及处理器,所述存储器用于存储计算机程序,所述处理器运行所述计算机程序以使所述电子设备执行根据权利要求1至5中任一项所述的基于物联网的数据通讯方法。
10.一种可读存储介质,其特征在于,所述可读存储介质中存储有计算机程序指令,所述计算机程序指令被一处理器读取并运行时,执行权利要求1至5任一项所述的基于物联网的数据通讯方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910405539.8A CN110138860B (zh) | 2019-05-16 | 2019-05-16 | 一种基于物联网的数据通讯方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910405539.8A CN110138860B (zh) | 2019-05-16 | 2019-05-16 | 一种基于物联网的数据通讯方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110138860A CN110138860A (zh) | 2019-08-16 |
CN110138860B true CN110138860B (zh) | 2022-02-22 |
Family
ID=67574323
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910405539.8A Active CN110138860B (zh) | 2019-05-16 | 2019-05-16 | 一种基于物联网的数据通讯方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110138860B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112839087A (zh) * | 2021-01-06 | 2021-05-25 | 深圳市芯中芯科技有限公司 | 一种基于集群的多终端控制方法及系统 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104836723A (zh) * | 2015-03-31 | 2015-08-12 | 青岛海尔智能家电科技有限公司 | 基于mqtt主题订阅机制的通信方法以及接入网关 |
CN106059892A (zh) * | 2016-05-17 | 2016-10-26 | 中国科学院沈阳计算技术研究所有限公司 | 一种用于融合通信系统的消息引擎 |
CN106130882A (zh) * | 2016-07-13 | 2016-11-16 | 北京百度网讯科技有限公司 | 用于传输消息的方法和装置 |
CN107708112A (zh) * | 2017-11-02 | 2018-02-16 | 重庆邮电大学 | 一种适用于mqtt‑sn协议的加密方法 |
WO2018035839A1 (zh) * | 2016-08-26 | 2018-03-01 | 华为技术有限公司 | 一种数据传输方法、相关设备及通信系统 |
CN108810086A (zh) * | 2018-04-27 | 2018-11-13 | 电子科技大学中山学院 | 一种基于mqtt消息协议的智能设备通讯平台 |
CN109088723A (zh) * | 2018-10-26 | 2018-12-25 | 四川长虹电器股份有限公司 | 一种基于mqtt协议的远程控制方法 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7730068B2 (en) * | 2006-06-13 | 2010-06-01 | Microsoft Corporation | Extensible data collectors |
US10225219B2 (en) * | 2016-02-22 | 2019-03-05 | International Business Machines Corporation | Message delivery in a message system |
CN106210084B (zh) * | 2016-07-15 | 2019-06-11 | 常州市小先信息技术有限公司 | 一种基于mqtt的消息插播方法 |
US10645181B2 (en) * | 2016-12-12 | 2020-05-05 | Sap Se | Meta broker for publish-subscribe-based messaging |
CN109245295A (zh) * | 2018-08-31 | 2019-01-18 | 中国科学院广州能源研究所 | 基于mqtt协议的光伏电站监控系统 |
-
2019
- 2019-05-16 CN CN201910405539.8A patent/CN110138860B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104836723A (zh) * | 2015-03-31 | 2015-08-12 | 青岛海尔智能家电科技有限公司 | 基于mqtt主题订阅机制的通信方法以及接入网关 |
CN106059892A (zh) * | 2016-05-17 | 2016-10-26 | 中国科学院沈阳计算技术研究所有限公司 | 一种用于融合通信系统的消息引擎 |
CN106130882A (zh) * | 2016-07-13 | 2016-11-16 | 北京百度网讯科技有限公司 | 用于传输消息的方法和装置 |
WO2018035839A1 (zh) * | 2016-08-26 | 2018-03-01 | 华为技术有限公司 | 一种数据传输方法、相关设备及通信系统 |
CN107708112A (zh) * | 2017-11-02 | 2018-02-16 | 重庆邮电大学 | 一种适用于mqtt‑sn协议的加密方法 |
CN108810086A (zh) * | 2018-04-27 | 2018-11-13 | 电子科技大学中山学院 | 一种基于mqtt消息协议的智能设备通讯平台 |
CN109088723A (zh) * | 2018-10-26 | 2018-12-25 | 四川长虹电器股份有限公司 | 一种基于mqtt协议的远程控制方法 |
Non-Patent Citations (3)
Title |
---|
IEEE P21451-1-7:Providing More Efficient Network Services over MQTT-SN;Edelnerto Franco Silva;《2019 IEEE Sensor Applications Symposium》;20190506;全文 * |
物联网传输协议MQTT与CoAP比较与应用;王剑秋等;《计算机时代》;20171015(第10期);全文 * |
适用于大规模无线传感器网的流量优化系统设计;陈旖;《计算机应用》;20150410;第35卷(第4期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN110138860A (zh) | 2019-08-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI379204B (en) | System and method for improved client server communications of email messages | |
CN102685203B (zh) | 数据资源传输的方法和设备 | |
US8661161B2 (en) | Method and system for providing message including universal resource locator | |
CN105376225B (zh) | 一种软件服务化的方法及装置 | |
CN111901230A (zh) | 一种支持设备接入验证的物联网网关、系统和设备接入验证的方法 | |
EP2209264A1 (en) | Document management method, system and correlated device | |
CN101729491A (zh) | 一种增强基于脚本业务的应用可靠性的方法、装置和系统 | |
CN102098330A (zh) | 基于json数据格式的异步传输方法、装置及系统 | |
EP2410771A1 (en) | Method and system for implementing location service | |
CN102473227A (zh) | 信息管理设备、信息管理方法和信息管理程序 | |
CN112769684A (zh) | 一种添加好友的方法及装置 | |
CN110138860B (zh) | 一种基于物联网的数据通讯方法及装置 | |
US9106596B2 (en) | Method and apparatus of configuring a data broadcast service | |
KR20170125252A (ko) | M2M/IoT 플랫폼에서 MQTT 프로토콜을 활용한 메시지 단편화 방법 | |
CN100452704C (zh) | 一种发布博客文章的方法和系统 | |
US10666749B2 (en) | System and method of leveraging SIP to integrate RFID tag information into presence documents | |
CN109039687A (zh) | 请求的负载均衡方法、装置、系统、设备以及存储介质 | |
US10404826B2 (en) | Content based routing architecture system and method | |
CN110839079B (zh) | 工作流系统中的bi节点执行方法、装置、设备及介质 | |
US8838711B2 (en) | Short message service system | |
Bruniaux et al. | Defragmenting the 6lowpan fragmentation landscape: A performance evaluation | |
CN113824568A (zh) | 资产对象管理系统和方法 | |
CN107395583B (zh) | 基于自然语言实现不同应用之间通信的方法及装置 | |
Ihirwe et al. | Towards an MQTT5 geo-location extension for location-aware applications | |
CN101540728B (zh) | 用于通过计算机网络从传感器传送数据的方法和设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |