WO2016086659A1 - 一种业务消息的传输方法、装置及系统 - Google Patents
一种业务消息的传输方法、装置及系统 Download PDFInfo
- Publication number
- WO2016086659A1 WO2016086659A1 PCT/CN2015/083224 CN2015083224W WO2016086659A1 WO 2016086659 A1 WO2016086659 A1 WO 2016086659A1 CN 2015083224 W CN2015083224 W CN 2015083224W WO 2016086659 A1 WO2016086659 A1 WO 2016086659A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- resource
- server
- message
- subscription
- identifier
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/12—Messaging; Mailboxes; Announcements
Definitions
- the present invention relates to the field of communications technologies, and in particular, to a method, device, and system for transmitting a service message.
- M2M machine-to-machine
- MQTT message sequence telemetry transport
- the MQTT protocol supports a subscription/publishing mechanism.
- the sender can carry the service message to be transmitted on an MQTT message.
- the MQTT message contains a topic.
- the receiving end subscribes to the topic, the receiving end can receive the MQTT message containing the topic, so that the sending end and the receiving end can complete the transmission of the service message by using the subject subscription/distribution mechanism.
- the receiving end can configure the name of the topic to be subscribed according to the resource identifier of the receiving end, and subscribe to the topic to the MQTT server (English: MQTT server).
- the sending end may configure the resource identifier of the receiving end (ie, the destination address of the service message) in the name of the subject to be published as the subject included in the MQTT message carrying the service message.
- sending the MQTT message to the MQTT server so that the MQTT message is forwarded by the MQTT server according to the subject in the MQTT message to the receiving end that subscribed to the topic.
- the receiving end may perform a corresponding operation on the resource indicated by the topic included in the MQTT message according to the service message carried in the MQTT message.
- the destination address of the service message is configured in the name of the subject included in the MQTT message. Therefore, if the destination address of the service message to be sent by the sender is different, the subject in the MQTT message to be advertised by the sender is different.
- the transmitting end may be an M2M terminal, the receiving end may be an M2M server, or the receiving end may be an M2M server, and the receiving end may be an M2M terminal.
- the M2M server may send the same service message to multiple M2M terminals, such as a group member access message in the group management or a subscription notification message in the subscription notification management.
- multiple M2M terminals such as a group member access message in the group management or a subscription notification message in the subscription notification management.
- the M2M server needs to issue multiple MQTT messages containing different topics to the MQTT server, thereby increasing the communication overhead between the M2M server and the MQTT server.
- the invention provides a method, a device and a system for transmitting a service message, which can reduce the communication overhead between the M2M server and the MQTT server.
- the present invention provides a method for transmitting a service message, including:
- the machine-to-machine M2M terminal receives the message sequence telemetry and transmits the first MQTT message sent by the MQTT server, where the first MQTT message includes the first service message and the first public subject;
- the M2M terminal searches for the storage in the M2M terminal corresponding to the first common theme according to a mapping relationship between the saved first common theme and an identifier of a resource stored in the M2M terminal. Identification of resources;
- the M2M terminal performs an operation related to the first service message on the resource stored in the M2M terminal indicated by the identifier of the resource stored in the M2M terminal.
- the method before the receiving, by the M2M terminal, the first MQTT message sent by the MQTT server, the method further includes:
- the M2M terminal Receiving, by the M2M terminal, a second MQTT message sent by the MQTT server, where the second MQTT message includes a second service message and a first topic, where the second service message includes the first public topic,
- the first subject includes the identifier of the resource stored in the M2M terminal;
- the M2M terminal saves a mapping relationship between the first public topic and the identifier of the resource stored in the M2M terminal;
- the M2M terminal sends a message of the first subscription topic to the MQTT server, where the message of the first subscription topic includes the first public topic and the identifier of the M2M terminal.
- the method before the receiving, by the M2M terminal, the second MQTT message sent by the MQTT server, the method further includes:
- the message of the second subscription topic includes the first topic that the M2M terminal needs to subscribe to.
- the present invention provides a method for transmitting a service message, including:
- the M2M server sends a first MQTT message to the message sequence telemetry transmission MQTT server, where the first MQTT message includes the first service message and the first public topic, and the first service message is sent to The same content of the at least two M2M terminals.
- the method before the determining, by the M2M server, the first common topic generated by the first resource, the method further includes:
- the M2M server uses the identifier of the second resource stored in each of the at least two M2M terminals as the content included in the first topic that the M2M terminal has subscribed to;
- the identifier of the second resource is an identifier of a member resource in the group resource
- the M2M server generates the first public topic specific to the first resource. for:
- the M2M server After receiving the group resource creation request message, the M2M server generates the first group resource for the group resource according to the identifier of the group resource allocated for the group resource. a public theme, where the first public theme of the group resource includes an identifier of the group resource;
- the content of the second resource stored in the M2M terminal of each of the at least two M2M terminals as the content included in the first topic that the M2M terminal has subscribed to is specifically:
- the M2M server uses the identifier of the member resource as the content included in the first topic that the M2M terminal corresponding to the identifier of the member resource has subscribed to;
- the second service message is a notification message of the M2M terminal corresponding to the identifier of the member resource by the M2M server.
- the identifier of the second resource is in the group resource
- An identifier of the member resource, where the M2M server generates the first public topic for the first resource specifically:
- the M2M server After the M2M server receives the access request message for the member resource of the group resource, the M2M server according to the group resource included in the access request message for the member resource of the group resource
- the identifier identifies that there is no first public topic corresponding to the group resource
- the content of the second resource stored in the M2M terminal of each of the at least two M2M terminals as the content included in the first topic that the M2M terminal has subscribed to is specifically:
- the M2M server uses the identifier of the member resource as the content included in the first topic that the M2M terminal corresponding to the identifier of the member resource has subscribed to;
- the second service message is a first access request message generated by the M2M server according to the access request message of the member resource of the group resource, where the first access request message is sent by the M2M server.
- An access request message of the M2M terminal corresponding to the identifier of the member resource is given.
- the M2M server when the first resource is a subscription resource, the M2M server generates the first public for the first resource
- the theme is specifically:
- the M2M server determines, according to the identifier of the subscription resource, that there is no first public topic corresponding to the subscription resource;
- the M2M server Generating, by the M2M server, the subscription resource according to the identifier of the subscription resource a first public topic of the subscription resource, where the first public topic of the subscription resource includes an identifier of the subscription resource;
- the content of the second resource stored in the M2M terminal of each of the at least two M2M terminals as the content included in the first topic that the M2M terminal has subscribed to is specifically:
- the M2M server uses the identifier of the second resource stored in each M2M terminal that subscribes to the subscription resource as the content included in the first topic that the M2M terminal has subscribed to;
- the second service message is a subscription notification message that is sent by the M2M server to each M2M terminal that subscribes to the subscription resource.
- the M2M server When the first resource is a subscription resource, the M2M server generates the first public topic for the first resource, specifically:
- the subscription creation request message for the subscription resource includes an identifier of the subscription resource and an M2M terminal that subscribes to the subscription resource.
- the identifier of the second resource the M2M server generates a first common topic of the subscription resource for the subscription resource according to the identifier of the subscription resource, where the first public topic of the subscription resource includes the subscription resource Identification
- the content of the second resource stored in the M2M terminal of each of the at least two M2M terminals as the content included in the first topic that the M2M terminal has subscribed to is specifically:
- the M2M server uses the identifier of the second resource stored in each M2M terminal that subscribes to the subscription resource as the content included in the first topic that the M2M terminal has subscribed to;
- the second service message is a subscription creation response message generated by the M2M server according to the subscription creation request message for the subscription resource, where the subscription creation response message is sent by the M2M server to each subscription.
- the response message of the M2M terminal that subscribes to the resource is a subscription creation response message generated by the M2M server according to the subscription creation request message for the subscription resource, where the subscription creation response message is sent by the M2M server to each subscription.
- the present invention provides a machine-to-machine M2M terminal, including:
- a receiving unit configured to receive a first MQTT message sent by the message sequence telemetry transmission MQTT server, where the first MQTT message includes a first service message and a first public subject;
- a searching unit configured to search, according to a mapping relationship between the first common theme saved by the storage unit and an identifier of a resource stored in the storage unit, corresponding to the first public theme received by the receiving unit An identifier of the resource stored in the storage unit;
- An execution unit configured to perform, by the receiving unit, the first resource received by the receiving unit, the resource stored in the storage unit, where the identifier of the resource stored in the storage unit is searched by the searching unit Business message related operations.
- the M2M terminal further includes a sending unit
- the receiving unit is further configured to: before receiving the first MQTT message sent by the MQTT server, receive a second MQTT message sent by the MQTT server, where the second MQTT message includes a second service message and a first topic
- the second service message includes the first public topic, where the first topic includes an identifier of the resource stored in the storage unit;
- the storage unit is configured to save a mapping relationship between the first common theme received by the receiving unit and the identifier of the resource stored in the storage unit;
- the sending unit is configured to send a message of the first subscription topic to the MQTT server, where the message of the first subscription topic includes the first public topic received by the receiving unit and the identifier of the M2M terminal.
- the sending unit is further configured to: before the receiving unit receives the second MQTT message sent by the MQTT server, send a message of the second subscription topic to the MQTT server, where the message of the second subscription topic includes a subscription Said first theme.
- the present invention provides an M2M server, including:
- a determining unit configured to determine, when the first service message of the same content is sent to the at least two M2M terminals corresponding to the first resource stored in the storage unit, the first common topic generated for the first resource;
- a sending unit configured to send a first MQTT message to the message sequence telemetry transmission MQTT server, where the first MQTT message includes the first service message and the first public topic determined by the determining unit, where A business message is included in the message to be sent to The same content of two M2M terminals.
- the M2M server further includes:
- a generating unit configured to generate, by the determining unit, the first common theme for the first resource before determining the first common topic generated by the first resource, and each of the at least two M2M terminals An identifier of a second resource stored in an M2M terminal as content included in a first topic that the M2M terminal has subscribed to;
- the sending unit is further configured to send, by using the MQTT server, a second MQTT message to each of the at least two M2M terminals, where the second MQTT message includes a second service message and the generating The first topic generated by the unit, where the second service message includes the first public topic generated by the generating unit.
- the identifier of the second resource is an identifier of a member resource in the group resource
- the generating unit is configured to: after receiving the creation request message of the group resource, generate the group for the group resource according to the identifier of the group resource allocated for the group resource a first common theme of the resource, and the identifier of the member resource is included in a first topic that has been subscribed by the M2M terminal corresponding to the identifier of the member resource, where the first public theme of the group resource is included The identifier of the group resource;
- the second service message is a notification message of the M2M terminal corresponding to the identifier of the member resource.
- the identifier of the second resource is in the group resource
- An identifier of the member resource where the generating unit specifically includes a determining module and a generating module
- the determining module is configured to: after receiving the access request message for the member resource of the group resource, according to the group resource included in the access request message for the member resource of the group resource The identifier determines that there is no first public topic corresponding to the group resource;
- the generating module configured to: when the determining module determines that there is no first common topic corresponding to the group resource, according to the identifier of the group resource, for the group resource Forming a first common topic of the group resource, and using the identifier of the member resource as the content included in the first topic that the M2M terminal has subscribed to, corresponding to the identifier of the member resource, where the group resource is The identifier of the group resource is included in a common theme;
- the second service message is a first access request message generated according to the access request message of the member resource of the group resource, where the first access request message is sent to the identifier of the member resource. Corresponding access request message of the M2M terminal.
- the generating unit specifically includes a determining module and a generating module
- the determining module is configured to: when determining that the subscription resource changes, determine, according to the identifier of the subscription resource, that the first public topic does not correspond to the subscription resource;
- the generating module configured to generate, according to the identifier of the subscription resource, a first common theme of the subscription resource according to the identifier of the subscription resource, when the determining module determines that there is no first public topic corresponding to the subscription resource And the identifier of the second resource stored in the M2M terminal that subscribes to the subscription resource is the content included in the first topic that the M2M terminal has subscribed to, and the subscription is included in the first common topic of the subscription resource. Identification of resources;
- the second service message is a subscription notification message for each M2M terminal that subscribes to the subscription resource.
- the first resource is a subscription resource
- the generating unit is configured to: when receiving a subscription creation request message for the subscription resource, generate a first public topic of the subscription resource for the subscription resource according to the identifier of the subscription resource, and each An identifier of the second resource stored in the M2M terminal that subscribes to the subscription resource, the content included in the first topic that the M2M terminal has subscribed to, and the subscription creation request message for the subscription resource includes the subscription resource And an identifier of the second resource stored in the M2M terminal that subscribes to the subscription resource, where the first public topic of the subscription resource includes an identifier of the subscription resource;
- the second service message is a subscription creation response message generated according to the subscription creation request message for the subscription resource, and the subscription creation response message is sent.
- the present invention provides a transmission system for a service message, including:
- At least two machine-to-machine M2M terminals as described in the third aspect or any one of the possible implementations of the third aspect, the M2M as described in the fourth aspect or any one of the possible implementations of the fourth aspect The server, as well as the message sequence telemetry transmission MQTT server.
- the present invention provides a method, an apparatus, and a system for transmitting a service message.
- the M2M server needs to send a first service message with the same content to at least two M2M terminals corresponding to the first resource stored in the M2M server
- the M2M server determines Generating a first common topic for the first resource, and sending a first MQTT message to the MQTT server, where the first MQTT message includes the first service message and the first public topic
- the first service message includes sending Giving the same content of the at least two M2M terminals, each of the at least two M2M terminals being able to receive the first MQTT message sent by the MQTT server, and according to the saved first public topic and the M2M terminal
- the mapping between the identifiers of the second resources stored in the second resource, the identifier of the second resource corresponding to the first public topic, and the second resource indicated by the identifier of the second resource are related to the first service message Operation.
- the method for transmitting a service message can reduce the communication overhead between the M2M server and the MQTT server.
- FIG. 1 is a flowchart 1 of a method for transmitting a service message according to an embodiment of the present invention
- FIG. 2 is a flowchart 2 of a method for transmitting a service message according to an embodiment of the present invention
- FIG. 3 is an interaction diagram 1 of a method for transmitting a service message according to an embodiment of the present invention
- FIG. 4 is a schematic diagram of a first common topic of a group resource as a sub-resource of the group resource according to an embodiment of the present disclosure
- FIG. 5 is a second interaction diagram of a method for transmitting a service message according to an embodiment of the present invention.
- FIG. 6 is a third interaction diagram of a method for transmitting a service message according to an embodiment of the present invention.
- FIG. 7 is a fourth interaction diagram of a method for transmitting a service message according to an embodiment of the present invention.
- FIG. 8 is an interaction diagram 5 of a method for transmitting a service message according to an embodiment of the present invention.
- FIG. 9 is a schematic structural diagram 1 of an M2M terminal according to an embodiment of the present disclosure.
- FIG. 10 is a schematic structural diagram 2 of an M2M terminal according to an embodiment of the present disclosure.
- FIG. 11 is a schematic structural diagram 1 of an M2M server according to an embodiment of the present disclosure.
- FIG. 12 is a schematic structural diagram 2 of an M2M server according to an embodiment of the present disclosure.
- FIG. 13 is a schematic structural diagram 3 of an M2M server according to an embodiment of the present disclosure.
- FIG. 14 is a schematic structural diagram of hardware of an M2M terminal according to an embodiment of the present disclosure.
- FIG. 15 is a schematic structural diagram of hardware of an M2M server according to an embodiment of the present disclosure.
- FIG. 16 is a block diagram of a system for transmitting a service message according to an embodiment of the present invention.
- the M2M server may be a server applied to various management systems, and the M2M terminal may be an application and a terminal in various application scenarios.
- the M2M server is a vehicle monitoring management server, and the M2M terminal is an in-vehicle terminal; in the power meter reading system, the M2M server is a power meter reading server, and the M2M terminal is a smart meter; in the intelligent transportation system
- the M2M server is an intelligent traffic server, and the M2M terminal is a microcontroller of each traffic intersection. No limitation is imposed in the present invention.
- the application scenario provided by the embodiment of the present invention is an intelligent transportation system.
- the M2M server is an intelligent traffic server
- the M2M terminal is a micro-controller of each traffic intersection
- the intelligent transportation server is a micro-transport of each traffic intersection.
- the controller provides the service.
- the data of each traffic intersection is stored in the microcontroller of each traffic intersection.
- it may include location information, traffic video and violation record of the traffic intersection where the microcontroller is located.
- the location information, the traffic record, and the violation record constitute a resource of the microcontroller, and the location information, the traffic record, and the violation record are respectively sub-resources of the microcontroller.
- the intelligent traffic server maintains the properties of the microcontroller of each traffic intersection that it provides and the properties of the intelligent transportation server.
- the properties of the microcontroller of each traffic intersection and the attributes of the intelligent transportation server constitute the intelligent transportation server.
- Resources The resource of the server can be understood as a group resource.
- the attributes of the microcontroller of each traffic intersection and the attributes of the intelligent transportation server are respectively the sub-resources of the intelligent transportation server.
- the resource identifier of a microcontroller (for example, the domain name of the microcontroller) can be expressed as “m.example.com”
- the identifiers of the sub-resources of the microcontroller can be respectively represented as:
- the identifier of the traffic record can be expressed as "m.example.com/video”
- the identifier of the violation record can be expressed as "m.example.com/record”.
- the intelligent transportation server When the intelligent transportation server needs to access a certain sub-resource of the certain microcontroller (a certain sub-resource of the certain micro-controller can be understood as a member resource of the group resource), for example, the intelligent transportation server requests When a microcontroller clears the violation record saved by the microcontroller, the topic subscription/release mechanism in the root M2M system, the intelligent traffic server will identify the identity of the violation record of the microcontroller (ie, the identifier of the member resource) "m" .example.com/record”, generates the subject "/oneM2M/m.example.com/record/req" containing the identity of the violation record, and uses a service message (the service message is used to instruct the microcontroller to clear the micro The violation record saved by the controller and the subject are carried on the MQTT message and sent to the MQTT server. The MQTT server forwards the MQTT message to the microcontroller that subscribed to the topic. After receiving the MQTT message, the microcontrol
- the descriptions of the service messages, resources, topics, and resources, and the relationships between the following in the following embodiments of the present invention are merely exemplary.
- the resources stored in the M2M terminal and the resources stored in the M2M server are different.
- the resources of the microcontroller of each traffic intersection and the resources of the intelligent transportation server may include, but are not limited to, the resources listed above, which are not limited in the embodiment of the present invention.
- the embodiment of the invention provides a method for transmitting a service message. As shown in FIG. 1 , the method may include:
- the M2M terminal receives the first MQTT message sent by the MQTT server, where the first MQTT message includes the first service message and the first public topic.
- the first MQTT including the first common topic is received at the M2M terminal.
- the M2M terminal Before the message, the M2M terminal has subscribed to the content of the first public topic to the MQTT server, and therefore, the M2M terminal can receive the first MQTT message including the first public topic.
- the M2M terminal searches for an identifier of the resource stored in the M2M terminal corresponding to the first public topic according to the mapping relationship between the saved first common theme and the identifier of the resource stored in the M2M terminal.
- the M2M terminal may store one resource or multiple resources.
- the identifier of the resource stored in the M2M terminal may be an identifier that can uniquely represent the resource stored in the M2M terminal, and may be a universal resource identifier (English: uniform resource identifier, URI) of the resource stored in the M2M terminal. .
- mapping relationship between the first public theme and the identifier of the resource stored in the M2M terminal is that the M2M terminal saves in the M2M terminal when subscribing to the first public topic to the MQTT server.
- the mapping relationship between the first common theme and the identifier of the resource stored in the M2M terminal may be as shown in Table 1.
- the first public topic may be “/oneM2M/g/g.example.com/req”
- the identifier of the resource stored in the M2M terminal ie, the destination address of the first service message
- Example.com/container1 Example.com/container1
- the M2M terminal performs an operation related to the first service message on the resource stored in the M2M terminal indicated by the identifier of the resource stored in the M2M terminal.
- the specific manner in which the M2M terminal performs the operation related to the first service message on the resource stored in the M2M terminal indicated by the identifier of the resource stored in the M2M terminal is in different application scenarios.
- the specific methods used are also different.
- the M2M terminal when the method provided by the embodiment of the present invention is applied to the group management, the M2M terminal performs the first service on the resource stored in the M2M terminal indicated by the identifier of the resource stored in the M2M terminal.
- the specific operation of the message-related operation may be an operation in which the M2M terminal performs the content indication of the first service message on the resource stored in the M2M terminal indicated by the identifier of the resource stored in the M2M terminal.
- the micro control The controller deletes the resource stored in the microcontroller indicated by the identifier of the resource stored in the microcontroller according to the content of the first service message.
- the M2M terminal When the method provided by the embodiment of the present invention is applied to the subscription notification management, the M2M terminal performs an operation related to the first service message on the resource stored in the M2M terminal indicated by the identifier of the resource stored in the M2M terminal.
- the M2M terminal may obtain the indication information corresponding to the content of the first service message according to the correspondence between the content of the first service message and the indication information preset in the M2M terminal, and the M2M terminal is in the M2M terminal.
- the resource stored in the M2M terminal indicated by the identifier of the stored resource performs an operation indicated by the indication information.
- the M2M terminal is a microcontroller that controls an air conditioner
- the content of the first service message is “the current temperature is less than 5 degrees”
- the indication information corresponding to the content of the first service message preset in the microcontroller is After the first air conditioner is received, the micro controller obtains the current temperature less than 5 degrees according to the correspondence between the content of the first service message and the preset information in the M2M terminal.
- Corresponding indication information "Start air conditioner", and start the air conditioner according to the instruction information.
- An embodiment of the present invention provides a method for transmitting a service message, by using an M2M terminal to receive a first MQTT message sent by an MQTT server, and mapping according to the saved first common theme and an identifier of a resource stored in the M2M terminal. a relationship, the identifier of the resource stored in the M2M terminal corresponding to the first public topic, and the resource stored in the M2M terminal and the first service indicated by the identifier of the resource stored in the M2M terminal A message related operation, the first MQTT message includes a first service message and a first public topic.
- the MQTT server when the M2M server needs to send the first service message of the same content to at least two M2M terminals corresponding to the resources stored in the M2M server, the MQTT server only needs to send the first MQTT message to the MQTT server once, because At least two M2M terminals subscribe to the first common topic, so the MQTT server forwards the first MQTT message to the at least two M2M terminals, and each of the at least two M2M terminals can be configured according to the An operation related to the first service message is performed on a mapping relationship between a common theme and an identifier of the resource stored in each of the M2M terminals.
- the method for transmitting a service message provided by the embodiment of the present invention can reduce the communication overhead between the M2M server and the MQTT server, as compared with the MTT server in the prior art, which needs to send multiple MQTT messages with different topics to the MQTT server.
- the embodiment of the invention provides a method for transmitting a service message. As shown in FIG. 2, the method may include:
- the M2M server determines the first common topic generated by the first resource.
- the first resource is a resource stored in the M2M server.
- the M2M server may determine, according to the change of the first resource stored in the M2M server, that the first service message of the same content needs to be sent to at least two M2M terminals corresponding to the first resource.
- the first resource is a subscription resource stored in the M2M server, and a sub-resource of the subscription resource is used to describe the M2M terminal that subscribes to the subscription resource.
- the identifier of the second resource is the M2M terminal corresponding to the identifier of the second resource of the M2M terminal that subscribes to the subscription resource, that is, the M2M terminal corresponding to the subscription resource.
- the second resource refers to a resource stored in the M2M terminal.
- the M2M server compares the change of the subscription resource with the notification filter criterion of the M2M terminal that subscribes to the subscription resource, respectively, if the subscription resource changes satisfy the subscription.
- the notification filtering condition of at least two M2M terminals of all the M2M terminals of the subscription resource the M2M server determines that a notification message including a change of the subscription resource needs to be sent to each of the at least two M2M terminals.
- the notification message is the first service message
- the content of the notification message sent by the M2M server to each of the at least two M2M terminals is a change of the subscription resource, that is, the M2M server determines that the At least two M2M terminals send a first service message of the same content.
- the notification filtering condition of each M2M terminal that subscribes to the subscription resource is that the M2M terminal sends to the M2M server when requesting to create a subscription notification to the M2M server.
- the M2M server may also determine, according to the message sent by the received common service entity (CSE), that the same content needs to be sent to at least two M2M terminals corresponding to the first resource stored in the M2M server.
- CSE common service entity
- the public entity of the service may be an M2M server or an M2M terminal, and the invention is not limited.
- the first resource is a group resource
- a sub-resource of the group resource is used to describe a member resource forming the group resource.
- the M2M terminal corresponding to the identifier of the member resource forming the group resource is the M2M terminal corresponding to the group resource.
- the CSE When a CSE accesses a member resource of the group resource, the CSE sends an access request message to the M2M server for the member resource of the group resource, and the M2M server receives the access request message for the member resource of the group resource. Thereafter, the M2M server determines to send a first access request message to all M2M terminals corresponding to the identifiers of the member resources of the group resource. At this time, the first service message is the first access request message.
- the content of the first access request message sent by the M2M server to the M2M terminal corresponding to the identifier of the member resource of the group resource is the content in the access request message of the member resource of the group resource, that is, The M2M server sends a first service message of the same content to all M2M terminals corresponding to the identifiers of the member resources of the group resource.
- the content in the access request message of the member resource of the group resource may be a “reading indication”, which is used to indicate that the M2M terminal reports the member resource corresponding to the M2M terminal, or is a member of the group resource.
- the content of the access request message of the resource may be a “delete indication”, and is used to instruct the M2M terminal to delete the member resource corresponding to the M2M terminal.
- the M2M server determines that the first service message of the same content needs to be sent to the at least two M2M terminals corresponding to the first resource stored in the M2M server.
- the manner in which the M2M server determines the first common theme generated by the first resource may include: if the M2M server determines that a certain sub-resource of the first resource is a topic that includes the identifier of the first resource, the M2M server It may be determined that the subject is a first common topic generated by the MQTT server for the first resource. Alternatively, if the M2M server determines that a certain attribute of the first resource is a topic that includes the identifier of the first resource, the M2M server may determine that the topic is the first common topic generated by the MQTT server for the first resource.
- the M2M server sends a first MQTT message to the MQTT server, where the first MQTT message includes the first service message and the first public topic, where the first service message includes the first service message sent to the at least two M2M terminals.
- the same content
- the M2M server before the M2M server sends the first MQTT message to the MQTT server, the at least two M2M terminals have subscribed to the first public topic to the MQTT server. Therefore, after the M2M server sends the first MQTT message including the first service message and the first common topic to the MQTT server, the MQTT server separately converts the first MQTT message. Send to the at least two M2M terminals.
- the M2M server only needs to send the first service message to the MQTT server, which is sent to the MQTT server.
- the MQTT server can send the first MQTT message once.
- the embodiment of the present invention provides a method for transmitting a service message.
- the M2M server needs to send the first service message of the same content to at least two M2M terminals corresponding to the first resource stored in the M2M server
- the M2M server determines that the service message is The first common topic generated by the first resource, and the first MQTT message is sent to the MQTT server, where the first MQTT message includes a first service message and a first public topic, and the first service message includes sending to the at least two terminals The same content.
- the method for transmitting a service message provided by the embodiment of the present invention can reduce the communication overhead between the M2M server and the MQTT server, as compared with the MTT server in the prior art, in which the MTT server needs to issue multiple MQTT messages with different topics to the MQTT server.
- the M2M server in a method for transmitting a service message, the M2M server generates a first common topic for the first resource stored in the M2M server, and the M2M terminal has subscribed to the first public topic.
- the M2M server can perform the method shown in FIG. 2 above, and the M2M terminal can execute the method shown in FIG.
- the method for transmitting a service message may further include
- the M2M server generates a first common theme for the first resource stored in the M2M server, and the process of the M2M terminal subscribing to the first common theme.
- the method for the M2M server to generate the first common topic for the first resource stored in the M2M server, and the method for the M2M terminal to subscribe to the first common topic may include:
- the S301, the M2M server, and the at least two M2M terminals respectively establish a connection with the MQTT server.
- the M2M server and the at least two M2M terminals respectively establish a connection with the MQTT server, and the M2M server and the at least two M2M terminals respectively send an MQTT connection message to the MQTT server (English: MQTT connect) to interact with the MQTT server. establish connection.
- MQTT connect MQTT connect
- the M2M server and at least two M2M terminals can communicate with the MQTT server.
- the M2M server, and the at least two M2M terminals respectively subscribe to the MQTT server related topic.
- the related topic of the M2M server is that the M2M server needs to be subscribed, and includes all the topics of the identifiers of all the first resources stored in the M2M server, and the related topic of each of the at least two M2M terminals is required by the M2M terminal. All topics that are subscribed to include the identity of all second resources stored in the M2M terminal.
- each of the M2M server and the at least two M2M terminals may subscribe to the related topic by sending a message of the second subscription topic to the MQTT server.
- an M2M terminal subscribes to a related topic to the MQTT server as an example.
- the M2M terminal subscribes the first topic corresponding to the second resource stored in the M2M terminal to the MQTT server
- the M2M terminal uses the identifier of the second resource as the content included in the first topic corresponding to the second resource.
- the first topic, and the identifier of the M2M terminal are sent to the MQTT server in a message of the second subscription topic, so as to subscribe to the first topic corresponding to the second resource, that is, the M2M terminal sends the content to the MQTT server.
- the M2M terminal needs to subscribe to the message of the second subscription topic of the first topic, and subscribe to the first topic.
- the MQTT server separately saves related topics of the M2M server and related topics of the at least two M2M terminals.
- the MQTT server saves the correspondence between the identifier of each first resource stored in the M2M server and the topic of the identifier of the first resource, and the MQTT server separately saves each of the at least two M2M terminals. Correspondence between the identifier of the terminal and the first topic including the identifier of the second resource stored in the M2M terminal.
- the M2M server generates a first common theme for the first resource stored in the M2M server.
- the process for the M2M server to generate the first common topic for the first resource in the M2M server is different. Therefore, the M2M server is The specific process of generating the first common topic by the first resource in the M2M server will be described in detail in the following exemplary application scenario, and details are not described herein again.
- the first common theme generated by the M2M server for the first resource in the M2M server needs to be unique, that is, the first common theme generated by the M2M server for the first resource in the M2M server and the M2M server being the M2M server. All other topics generated before the first resource in the first resource is generated are different.
- the manner of ensuring the uniqueness of the first common topic may be that the M2M server is configured according to the identifier of each resource (including the identifier of each group resource, the identifier of each second resource stored in the M2M terminal, and the identifier of each subscription resource). And generating the first common theme. Since the identifiers of the respective resources are different, the method of generating the first common theme according to the identifier of the resource can also ensure the uniqueness of the first public theme.
- the M2M server needs to use the first public topic as a sub-resource of the first resource, or the M2M server uses the first public topic as the first resource. Attributes.
- the M2M server uses a first common topic generated for the group resource as a schematic diagram of a sub-resource of the group resource.
- the group resource includes multiple sub-resources.
- the sub-resource 1 is used to describe the identifier of each member resource in the group resource;
- the sub-resource 2 is used to indicate the distribution request of the member resource of all the group resources (in English: fan out point).
- the M2M server adds the first public topic as a sub-resource of the group resource (such as the sub-resource n shown in FIG. 4) to the group resource.
- the first public topic generated for the group resource is used as a child resource of the group resource.
- the M2M server uses the identifier of the second resource stored in each of the at least two M2M terminals as the content included in the first topic that the M2M terminal has subscribed to.
- the M2M terminal of the at least two M2M terminals subscribe to the first topic when subscribing to the related topic to the MQTT server in the above S302.
- the M2M server uses the identifier of the second resource stored in each of the at least two M2M terminals as the content included in the first topic that the M2M terminal has subscribed to, that is, the M2M server according to the at least two M2M terminals.
- An identifier of the second resource stored in each M2M terminal that is, a plurality of destination addresses of the second service message sent by the M2M server, for the M2M terminal to generate a first topic including the identifier of the second resource stored in the M2M terminal .
- the M2M server uses the identifier of the second resource stored in each of the at least two M2M terminals as the content of the content included in the first topic that the M2M terminal has subscribed, and the M2M server in the prior art.
- the identifier of the second resource stored in each of the at least two M2M terminals is the same as the content included in the first topic that the M2M terminal has subscribed to, and details are not described herein again.
- the M2M server sends an MQTT server to each of the at least two M2M terminals.
- An M2M terminal sends a second MQTT message, where the second MQTT message includes a second service message and a first topic, where the second service message carries the first public topic.
- the M2M server sends, by using the MQTT server, a second MQTT message including a second service message and a topic to each of the at least two M2M terminals, where the M2M server generates the M2M for the M2M terminal.
- the method for carrying the first public topic in the second service message may be that the M2M server adds the first public topic as an attribute of the second service message to the second service message, so that the second service is enabled.
- the message carries the first public theme.
- the M2M server carries the first common topic in a second service message and sends it to each of the at least two M2M terminals, so that each terminal of the at least two M2M terminals receives the second service message. Then, the first public topic is subscribed to the MQTT server according to the first public topic carried in the second service message.
- the MQTT server can forward the second MQTT message including the first topic to the M2M terminal.
- Each M2M terminal of the at least two M2M terminals receives a second MQTT message sent by the MQTT server, where the second MQTT message includes a second service message and a first topic, where the second service message includes a first public topic,
- the first subject contains an identification of the second resource stored in the M2M terminal.
- the M2M terminal determines whether the public subject subscribed to the public subject includes the first public included in the second service message. theme. Specifically, the M2M terminal can compare the topic included in the second service message with the public theme saved by the second service message, so as to determine whether the theme included in the second service message is included in the public topic subscribed by the M2M terminal to the MQTT server. .
- the subject included in the second service message is the first public topic.
- the M2M terminal If the M2M terminal does not have the first common topic included in the second service message in the public topic subscribed to the MQTT server, the M2M terminal performs S308, S309 or S310.
- Each M2M terminal of the at least two M2M terminals saves a mapping relationship between the first common theme and an identifier of the second resource stored in the M2M terminal included in the first topic.
- Each of the at least two M2M terminals saves a mapping manner between the first common theme and the identifier of the second resource stored in the M2M terminal included in the first topic, where Refer to the related description in the embodiment shown in FIG. 1 , and details are not described herein again.
- Each M2M terminal of the at least two M2M terminals sends a message of the first subscription topic to the MQTT server, where the message of the first subscription topic includes the first public topic and the identifier of the M2M terminal.
- each of the at least two M2M terminals generates a message for subscribing the first subscription topic of the first public topic to the MQTT server, where the message of the first subscription topic includes the first public topic and the The identifier of the M2M terminal.
- Each of the at least two M2M terminals sends a message of the first subscription topic to the MQTT server, and after receiving the message of the first subscription topic sent by each of the at least two M2M terminals, the MQTT server receives the message of the first subscription topic.
- the corresponding relationship between the first public theme and the identifier of the M2M terminal is saved, that is, each of the at least two M2M terminals subscribes to the first public theme to the MQTT server.
- the MQTT server when the MQTT server receives the first MQTT message that is sent by the M2M server and includes the first common topic, the MQTT server can use the corresponding relationship between the saved first public topic and the identifier of the M2M terminal.
- An MQTT message is forwarded to the M2M terminal corresponding to the identifier of the M2M terminal subscribed to the first public topic. That is, the MQTT server can forward the first MQTT message including the first common topic to the M2M terminal subscribed to the first public topic.
- Each M2M terminal of the at least two M2M terminals performs an operation related to the second service message on the second resource indicated by the identifier of the second resource stored in the M2M terminal included in the first topic.
- S308, S309, and S310 may be performed simultaneously or sequentially. If S308, S309, and S310 are sequentially executed, the order of execution may be randomly ordered, which is not limited in the embodiment of the present invention.
- the M2M server generates a first common topic for the first resource stored in the M2M server by using the method in the foregoing S301-S310, and sends the first public topic to the M2M terminal (that is, each M2M terminal of the at least two M2M terminals) through the MQTT server.
- the second MQTT message includes the first topic and the second service message of the M2M terminal, where the second service message includes the first public topic.
- the M2M terminal saves the first public topic included in the second service message and the first topic included in the first topic.
- the M2M server when the M2M server needs to send the first service message of the same content to at least two M2M terminals corresponding to the first resource stored in the M2M server, the M2M server can according to the method in the embodiment shown in FIG. 2, The MQTT server sends a first MQTT message, where the first MQTT message includes the first service message and the first public subject.
- the MQTT server can forward the first MQTT message to the M2M terminal, and the M2M terminal can receive according to the method in the embodiment shown in FIG. The first MQTT message and performing an operation related to the first service message included in the first MQTT message.
- a possible application scenario is that when the method for transmitting a service message according to the embodiment of the present invention is applied to a group management, the first resource is a group resource, and the identifier of the second resource is a member resource in the group resource. Identification, the M2M server may perform the method shown in Figure 3 through two possible implementations (method 1 and mode 2).
- the above S304 may specifically be:
- the S304a and the M2M server After receiving the group resource creation request message, the S304a and the M2M server generate a first common theme of the group resource for the group resource according to the identifier of the group resource allocated for the group resource, where the group resource The first public theme contains the identity of the group resource.
- the originating end may send a group creation request message to the M2M server through the MQTT server.
- the initiator may be a CSE that sends a group creation request message to the M2M server.
- the M2M server After receiving the group creation request message, the M2M server creates a group resource according to the group creation request message, allocates an identifier of the group resource for the group resource, and generates the group for the group resource.
- the first public theme of the resource The first public topic of the group resource includes an identifier of the group resource.
- the M2M server may be based on the identifier of the group resource.
- the theme name of the first public topic is configured as "/oneM2M/group/g.example.com/req", that is, the M2M server generates a first common theme for the group resource that includes the identifier of the group resource. oneM2M/group/g.example.com/req". Since the identifier of the group resource is unique, the M2M server is unique according to the identifier of the group resource, and the first public topic generated by the group resource is unique, that is, the first public topic is unique.
- the second service message in the foregoing S306 is a notification message of the M2M terminal corresponding to the identifier of the member resource by the M2M server.
- the above S305-S306 may specifically be:
- the S305a and the M2M server use the identifier of the member resource as the content included in the first topic that the M2M terminal corresponding to the identifier of the member resource has subscribed to.
- the M2M server sends a second MQTT message to each of the at least two M2M terminals by using the MQTT server, where the second MQTT message includes a notification message and a first topic, where the notification message carries the first of the group resources.
- Public theme the M2M server sends a second MQTT message to each of the at least two M2M terminals by using the MQTT server, where the second MQTT message includes a notification message and a first topic, where the notification message carries the first of the group resources.
- the identifiers of the multiple member resources in the group resource may correspond to one M2M terminal, or may correspond to multiple M2M terminals respectively.
- the member resources of the group resource are member resource 1, member resource 2, and member resource 3, respectively, wherein the M2M terminal corresponding to the identifier of the member resource 1 is the M2M terminal 1, and the member resource 2 and the member resource 3 correspond to each other.
- the M2M terminals are all M2M terminals 2. Then, when the M2M server creates the group resource formed by the member resource 1, the member resource 2, and the member resource 3, the M2M server uses the identifier of the member resource 1 as the first topic that the M2M terminal 1 has subscribed to (hereinafter referred to as the first topic).
- the M2M server uses the identifier of the member resource 2 as the first topic that the M2M terminal 2 has subscribed to (hereinafter referred to as the first topic 2), and the M2M server uses the identifier of the member resource 3 as the first topic that the M2M terminal 3 has subscribed to ( Hereinafter referred to as the first subject 3), that is, the M2M server generates a first topic 1 including the identifier of the member resource 1 for the M2M terminal 1, and the M2M server generates the first topic 2 and the member including the identifier of the member resource 2 for the M2M terminal 2.
- the M2M server sends a second MQTT message including the first topic 1 to the M2M terminal 1 corresponding to the identifier of the member resource 1 through the MQTT server, and the M2M server sends a first message to the M2M terminal 2 corresponding to the identifier of the member resource 2 through the MQTT server.
- the second MQTT message of the subject 2 and the M2M server sends a second MQTT message including the first subject 3 to the M2M terminal 2 corresponding to the identifier of the member resource 3 through the MQTT server.
- the foregoing S304 may specifically include:
- the M2M server determines that the group resource is not related to the group resource according to the identifier of the group resource included in the access request message of the member resource of the group resource. Corresponding first public theme.
- the access request message of the member resource of the group resource may be sent to the M2M server by a certain M2M terminal corresponding to the group resource, or may be sent by the CSE other than the group resource.
- the M2M server determines, according to the identifier of the group resource, that the group resource does not have a sub-resource as the subject that includes the identifier of the group resource, the M2M server determines that there is no first public topic corresponding to the group resource. Alternatively, if the M2M server determines, according to the identifier of the group resource, that the group resource does not have an attribute that is the subject of the identifier of the group resource, the M2M server determines that there is no first public topic corresponding to the group resource.
- S304c The M2M server generates, according to the identifier of the group resource, a first common topic of the group resource for the group resource, where the first common topic of the group resource includes an identifier of the group resource.
- the manner in which the M2M server generates the first common theme of the group resource for the group resource according to the identifier of the group resource refer to the related description in S304a above, and details are not described herein again.
- the second service message in the foregoing S306 is a first access request message generated by the M2M server according to the access request message of the member resource of the group resource, the first access The request message is an access request message sent by the M2M server to the M2M terminal corresponding to the identifier of the member resource.
- the above S305-S306 may specifically be:
- the S305a and the M2M server use the identifier of the member resource as the content included in the first topic that the M2M terminal corresponding to the identifier of the member resource has subscribed to.
- the M2M server sends a second MQTT message to each of the at least two M2M terminals by using the MQTT server, where the second MQTT message includes a first access request message and a first topic, where the first access request message carries the The first public theme of the group resource.
- the transmission method of the service message provided by the embodiment of the present invention is applied to the subscription notification management
- the first resource is a subscription resource
- the M2M server may adopt two possible implementation manners (method three And mode four) perform the method shown in Figure 3.
- the foregoing S304 specifically includes:
- the M2M server determines, according to the identifier of the subscription resource, that the subscription resource does not have a sub-resource as a topic that includes the identifier of the subscription resource, and the M2M server determines that there is no first public topic corresponding to the subscription resource.
- the M2M server determines, according to the identifier of the subscription resource, that the subscription resource does not have an attribute that is a topic that includes the identifier of the subscription resource, and the M2M server determines that there is no first public topic corresponding to the subscription resource.
- the M2M server generates, according to the identifier of the subscription resource, a first common topic of the subscription resource for the subscription resource, where the first public topic of the subscription resource includes an identifier of the subscription resource.
- the M2M server when the subscription resources subscribed to the M2M server by the at least two M2M terminals are changed, if the change of the subscription resources satisfies the notification filtering condition of the at least two M2M terminals, the M2M server generates a subscription. Notifying the message and determining if there is a first public topic associated with the subscription resource in the public subject. If the public theme does not have the first public topic, the M2M server generates a first public topic including the subscription resource identifier and number according to the identifier of the subscription resource (specifically, the identifier and number of the subscription resource).
- the notification filtering condition of the M2M terminal is that when the M2M terminal requests the M2M server to create a subscription notification, the M2M terminal sends the M2M terminal to the M2M server.
- the notification filtering condition of the M2M terminal can be understood as a condition that the M2M server sends a subscription notification message to the M2M terminal.
- the subscription resource subscribed by the M2M terminal to the M2M server is the temperature resource stored in the M2M server, and the notification filtering condition of the M2M terminal is: when the temperature is high At 5° and below 15°, the M2M server sends a subscription notification message to the M2M terminal.
- the M2M server detects that the temperature resource stored in the M2M server changes, the M2M server determines whether the change of the temperature resource satisfies the notification filtering condition, that is, the M2M server determines whether the current temperature is higher than 5 degrees and lower than 15 degrees. . If the M2M server determines that the change of the temperature resource satisfies the notification filtering condition of the M2M terminal, the M2M server generates a subscription notification message, and sends the subscription notification message to the M2M terminal.
- the second service message in the foregoing S306 is a subscription notification message of the M2M terminal that subscribes to the subscription resource by the M2M server.
- the above S305-S306 may specifically be:
- the M2M server uses the identifier of the second resource stored in each M2M terminal that subscribes to the subscription resource as the content included in the first topic that the M2M terminal has subscribed to.
- the M2M server sends a second MQTT message to each of the at least two M2M terminals by using the MQTT server, where the second MQTT message includes a subscription notification message and a first topic, and the subscription notification message carries the subscription resource.
- the second MQTT message includes a subscription notification message and a first topic
- the subscription notification message carries the subscription resource.
- Method 4 When the M2M server creates a subscription notification, the M2M server generates a first common theme for the subscription resource in the M2M server.
- the subscription creation request message for the subscription resource includes the identifier of the subscription resource, and the second resource stored in the M2M terminal that subscribes to the subscription resource. And identifying, by the M2M server, a first common topic of the subscription resource for the subscription resource according to the identifier of the subscription resource, where the first public topic of the subscription resource includes an identifier of the subscription resource.
- each of the at least two M2M terminals when each of the at least two M2M terminals requests the M2M server to create a subscription notification for the subscription resource, each of the at least two M2M terminals sends a subscription creation request to the M2M server.
- the subscription creation request message sent by each M2M terminal of the at least two M2M terminals may further include a notification filtering condition of the M2M terminal, an identifier of the subscribed resource requested by the M2M terminal, and stored in the M2M terminal.
- the identity of the second resource The identifier of the second resource stored in the M2M terminal is used by the M2M server to generate a subscription notification message, and the destination address of the subscription notification message is determined.
- the M2M server is based on the label of the subscription resource.
- the first public theme generated by the knowledge may be only one, or there may be more than one. Specifically, when the notification filtering conditions of the at least two M2M terminals are the same, the M2M server generates only one first common topic according to the identifier of the subscription resource; when the notification filtering conditions of the at least two M2M terminals are different, the M2M server There are multiple first public topics generated based on the identity of the subscription resource.
- the M2M server when the M2M server receives the subscription creation request message sent by the first M2M terminal of the at least two M2M terminals, the M2M server assigns a number to the identifier of the subscription resource of the first M2M terminal, for example, the number is 1. And the M2M server generates, according to the identifier of the subscription resource and the number 1, a first common topic of the subscription resource corresponding to the first M2M terminal.
- the M2M server When the M2M server receives the subscription creation request message sent by the second M2M terminal of the at least two M2M terminals, if the M2M server determines the notification filtering condition of the second M2M terminal and the notification filtering of the first M2M terminal If the conditions are the same, the M2M server may allocate the first common theme generated for the first M2M terminal to the second M2M terminal. If the M2M server determines that the notification filtering condition of the second M2M terminal is different from the notification filtering condition of the first M2M terminal, the M2M server allocates a number of the identifier of the subscription resource of the second M2M terminal, for example, the number is 2. And generating, according to the identifier of the subscription resource and the number 2, a first common theme of the subscription resource corresponding to the second M2M terminal.
- the second service message in the foregoing S306 is a subscription creation response message generated by the M2M server according to the subscription creation request message for the subscription resource, and the subscription creation response message is M2M.
- the server needs to send a response message to each M2M terminal that subscribes to the subscription resource.
- the above S305-S306 may specifically be:
- the S305c and the M2M server use the identifier of the second resource stored in each M2M terminal that subscribes to the subscription resource as the content included in the first topic that the M2M terminal has subscribed to.
- the M2M server sends a second MQTT message to each of the at least two M2M terminals by using the MQTT server, where the second MQTT message includes a subscription creation response message and a first topic, and the subscription creation response message carries the subscription resource.
- the first public theme The first public theme.
- An embodiment of the present invention provides a method for transmitting a service message, where the M2M server determines to send a first service message of the same content to at least two M2M terminals corresponding to the first resource stored in the M2M server, and determines to generate the first resource.
- the first public theme And sending a first MQTT message to the MQTT server, where the first MQTT message includes a first service message and a first public topic, where the first service message includes the same content that is sent to the at least two terminals.
- the method for transmitting a service message provided by the embodiment of the present invention can reduce the communication overhead between the M2M server and the MQTT server, as compared with the MTT server in the prior art, in which the MTT server needs to issue multiple MQTT messages with different topics to the MQTT server.
- an embodiment of the present invention provides an M2M terminal, where the M2M terminal may include:
- the receiving unit 10 is configured to receive a first MQTT message sent by the MQTT server, where the first MQTT message includes a first service message and a first public topic.
- the searching unit 11 is configured to search for the first received by the receiving unit 10 according to a mapping relationship between the first common theme saved by the storage unit 12 and the identifier of the resource stored in the storage unit 12 The identifier of the resource stored in the storage unit 12 corresponding to the public theme.
- the executing unit 13 is configured to perform, by the receiving unit 10, the resource stored in the storage unit 12 that is indicated by the identifier of the resource stored in the storage unit 12 that is searched by the searching unit 10 The operation related to the first service message.
- the M2M terminal further includes a sending unit 14.
- the receiving unit 10 is further configured to: before receiving the first MQTT message sent by the MQTT server, receive a second MQTT message sent by the MQTT server, where the second MQTT message includes a second service message and a first topic, The first service topic is included in the second service message, and the identifier of the resource stored in the storage unit 12 is included in the first topic.
- the storage unit 12 is configured to save a mapping relationship between the first common theme received by the receiving unit 10 and the identifier of the resource stored in the storage unit 12.
- the sending unit 14 is configured to send a message of the first subscription topic to the MQTT server, where the message of the first subscription topic includes the first public topic received by the receiving unit 10 and the M2M terminal Logo.
- the sending unit 14 is further configured to: before the receiving unit receives the second MQTT message sent by the MQTT server, send a message of the second subscription topic to the MQTT server, where the second subscription topic is Message containing the M2M terminal needs to be subscribed The first subject.
- the M2M terminal may be a sensor or a microcontroller or the like.
- the embodiment of the present invention provides an M2M terminal, and the M2M can receive the first MQTT message sent by the MQTT server, and according to the mapping relationship between the saved first public topic and the identifier of the resource stored in the M2M terminal, Searching for an identifier of a resource stored in the M2M terminal corresponding to the first public topic, and performing, by the M2M terminal, the resource stored in the M2M terminal to be related to the first service message
- the first MQTT message includes a first service message and a first public topic.
- the MQTT server when the M2M server needs to send the first service message of the same content to at least two of the M2M terminals corresponding to the resources stored in the M2M server, the MQTT server only needs to send the first MQTT message to the MQTT server once, because the at least The two M2M terminals subscribe to the first common theme, so the MQTT server forwards the first MQTT message to the at least two M2M terminals, and each of the at least two M2M terminals can be based on the first The mapping relationship between the public subject and the identifier of the resource stored in each M2M terminal performs an operation related to the first service message, thereby being capable of reducing communication overhead between the M2M server and the MQTT server.
- an embodiment of the present invention provides an M2M server, where the M2M server may include:
- the determining unit 20 is configured to determine, when the first service message of the same content is sent to the at least two M2M terminals corresponding to the first resource stored in the storage unit 22, the first common topic generated for the first resource.
- the sending unit 21 is configured to send a first MQTT message to the MQTT server, where the first MQTT message includes the first service message and the first public topic determined by the determining unit 20, the first service The message contains the same content sent to the at least two M2M terminals.
- the M2M server further includes:
- a generating unit 23 configured to generate the first common theme for the first resource, and the at least two M2M terminals, before the determining unit 20 determines the first common topic generated for the first resource.
- the identifier of the second resource stored in each M2M terminal is included as the content included in the first topic that the M2M terminal has subscribed to.
- the generating unit 23 After the generating unit 23 generates the first common theme for the first resource, the first public topic is associated with the first resource, and is stored in the storage unit 22 in.
- the sending unit 21 is further configured to send, by using the MQTT server, a second MQTT message to each of the at least two M2M terminals, where the second MQTT message includes a second service message and the The first topic generated by the generating unit 23 includes the first public topic generated by the generating unit 23 in the second service message.
- the identifier of the second resource is an identifier of a member resource in the group resource
- the generating unit 23 is specifically used. After receiving the creation request message of the group resource, generating a first common theme of the group resource for the group resource according to the identifier of the group resource allocated for the group resource, And the identifier of the member resource is included in the content that is included in the first topic that the M2M terminal has subscribed to, and the identifier of the group resource is included in the first common topic of the group resource.
- the second service message sent by the sending unit 21 is a notification message of the M2M terminal corresponding to the identifier of the member resource by the M2M server.
- the identifier of the second resource is an identifier of a member resource in the group resource
- the generating unit is 23 specifically includes a determination module 200 and a generation module 201.
- the determining module 200 is configured to: after receiving the access request message for the member resource of the group resource, according to the group resource included in the access request message for the member resource of the group resource.
- the identity identifies that there is no first public topic corresponding to the group resource.
- the generating module 201 is configured to: when the determining module 200 determines that there is no first common topic corresponding to the group resource, generate the group for the group resource according to the identifier of the group resource a first common theme of the resource, and the identifier of the member resource is included in a first topic that has been subscribed by the M2M terminal corresponding to the identifier of the member resource, where the first public theme of the group resource is included The identifier of the group resource.
- the second service message sent by the sending unit 21 is a first access request message generated by the M2M server according to the access request message for the member resource of the group resource, the first access request The message is sent by the M2M server to an access request message of the M2M terminal corresponding to the identifier of the member resource.
- the generating unit 23 specifically includes a determining module 200 and a generating module 201.
- the determining module 200 is configured to determine, according to the identifier of the subscription resource, that the first public topic does not correspond to the subscription resource, when determining that the subscription resource changes.
- the generating module 201 is configured to: when the determining module 200 determines that there is no first public topic corresponding to the subscription resource, generate, according to the identifier of the subscription resource, the first resource of the subscription resource for the subscription resource.
- a public theme, and the identifier of the second resource stored in the M2M terminal that subscribes to the subscription resource is the content included in the first topic that the M2M terminal has subscribed to, and the first public theme of the subscription resource includes The identifier of the subscription resource.
- the second service message sent by the sending unit 21 is a subscription notification message for each M2M terminal that subscribes to the subscription resource.
- the generating unit 23 is specifically configured to: when receiving a subscription creation request message for the subscription resource, according to the subscription resource And the identifier of the second common theme of the subscription resource is generated for the subscription resource, and the identifier of the second resource stored in the M2M terminal that subscribes to the subscription resource is used as the first topic that the M2M terminal has subscribed to.
- the content of the subscription, the subscription creation request message for the subscription resource includes an identifier of the subscription resource, and an identifier of a second resource stored in an M2M terminal that subscribes to the subscription resource, where the first public of the subscription resource
- the subject contains the identity of the subscription resource.
- the second service message sent by the sending unit 21 is a subscription creation response message generated by the M2M server according to the subscription creation request message for the subscription resource, and the subscription creation response message is the M2M.
- the server needs to send a response message to each M2M terminal that subscribes to the subscription resource.
- the M2M server may be an M2M application, and may specifically include a power meter reading server, an intelligent transportation server, a fleet management server, and the like.
- the embodiment of the present invention provides an M2M server, and when the M2M server needs to send a first service message of the same content to at least two M2M terminals corresponding to the first resource stored in the M2M server, the M2M server can determine that the M2M server The first common topic generated by the first resource, and the first MQTT message is sent to the MQTT server, where the first MQTT message includes a first service message and a first public topic, and the first service message includes sending to the at least two terminals The same content.
- the M2M server provided by the embodiment of the present invention can reduce the communication overhead between the M2M server and the MQTT server.
- an embodiment of the present invention provides an M2M terminal, where the M2M terminal includes a processor 30, a memory 31, a transceiver 32, and a system bus 33.
- the processor 30, the memory 31, and the transceiver 32 are connected by the system bus 33 and complete communication with each other.
- the processor 30 may be a central processing unit (CPU), or an application specific integrated circuit (ASIC), or one or more integrated circuits configured to implement the embodiments of the present invention. .
- CPU central processing unit
- ASIC application specific integrated circuit
- the transceiver 32 may be a module composed of an independent receiver and a separate transmitter, or may be a module integrated by a receiver and a transmitter.
- the memory 31 may include a volatile memory (English: volatile memory), such as a random access memory (English: random-access memory, abbreviation: RAM); the memory 31 may also include a non-volatile memory (English: Non-volatile memory, such as read-only memory (English: read-only memory, abbreviation: ROM), flash memory (English: flash memory), hard disk (English: hard disk drive, abbreviation: HDD) or solid state drive (English) : solid-state drive, abbreviated: SSD); the memory 31 may also include a combination of the above types of memories.
- a volatile memory such as a random access memory (English: random-access memory, abbreviation: RAM)
- the memory 31 may also include a non-volatile memory (English: Non-volatile memory, such as read-only memory (English: read-only memory, abbreviation: ROM), flash memory (English: flash memory), hard disk (English: hard disk drive, abbreviation: HDD) or solid state drive (English)
- the processor 30, the memory 31, and the transceiver 32 may perform the method flow described in any one of FIG. 1, FIG. 3, or FIG. 5 to FIG.
- the transceiver 32 is configured to receive a first MQTT message sent by the MQTT server, where the first MQTT message includes a first service message and a first common topic
- the processor 30 is configured to save the And mapping a common theme to an identifier of a resource stored in the M2M terminal, searching for the resource stored in the M2M terminal corresponding to the first common topic received by the transceiver 32 And performing an operation related to the first service message on the resource stored in the M2M terminal indicated by the identifier of the resource stored in the M2M terminal;
- the memory 31 configured to store a code of the first MQTT message, a code of the first service message, a code of a resource stored in the M2M terminal, a code of an identifier of a resource stored in the M2M terminal, a code of the first public topic
- a software program that controls the processor 30 to perform the above process, such that the processor 30 executes the software program and invokes the code of the first MQTT message, the generation
- the transceiver 32 is further configured to: before receiving the first MQTT message sent by the MQTT server, receive a second MQTT message sent by the MQTT server, and send a message of the first subscription topic to the MQTT server.
- the second MQTT message includes a second service message and a first topic, where the second service message includes the first public topic, where the first topic includes the content stored in the M2M terminal An identifier of the resource, where the message of the first subscription topic includes the first public topic and an identifier of the M2M terminal.
- the processor 30 is further configured to save a mapping relationship between the first common theme received by the transceiver and the identifier of the resource stored in the M2M terminal.
- the transceiver 32 is further configured to: before receiving the second MQTT message sent by the MQTT server, send a message of the second subscription topic to the MQTT server, where the message of the second subscription topic includes The first topic that the M2M terminal needs to subscribe to.
- the embodiment of the present invention provides an M2M terminal, and the M2M can receive the first MQTT message sent by the MQTT server, and according to the mapping relationship between the saved first public topic and the identifier of the resource stored in the M2M terminal, The identifier of the resource corresponding to the first public topic is searched, and the resource indicated by the identifier of the resource performs an operation related to the first service message, where the first MQTT message includes the first service message and the first public topic.
- the MQTT server when the M2M server needs to send the first service message of the same content to at least two of the M2M terminals corresponding to the resources stored in the M2M server, the MQTT server only needs to send the first MQTT message to the MQTT server once, because the at least The two M2M terminals subscribe to the first common theme, so the MQTT server forwards the first MQTT message to the at least two M2M terminals, and each of the at least two M2M terminals can be based on the first The mapping relationship between the public subject and the identifier of the resource stored in each M2M terminal performs an operation related to the first service message.
- the MTT terminal provided by the embodiment of the present invention can reduce the relationship between the M2M server and the MQTT server when communicating with the M2M server. Communication overhead.
- an embodiment of the present invention provides an M2M server, where the M2M server includes a processor 40, a memory 41, a transceiver 42, and a system bus 43.
- the processor 40, the memory 41, and the transceiver 42 are connected by the system bus 43 and complete communication with each other.
- the processor 40 can be a CPU, or an ASIC, or one or more integrated circuits configured to implement embodiments of the present invention.
- the transceiver 42 may be a module composed of an independent receiver and a separate transmitter, or may be a module integrated by a receiver and a transmitter.
- the memory 41 may include a volatile memory such as a RAM; the memory 43 may also include a non-volatile memory such as a ROM, a flash memory, an HDD or an SSD; the memory 41 may also include a memory of the above kind combination.
- a volatile memory such as a RAM
- the memory 43 may also include a non-volatile memory such as a ROM, a flash memory, an HDD or an SSD
- the memory 41 may also include a memory of the above kind combination.
- the processor 40, the memory 41, and the transceiver 42 may perform the method flow described in any one of FIG. 2 to FIG. 3 or FIG. 5 to FIG.
- the processor 40 is configured to determine, when the first service message of the same content is sent to the at least two M2M terminals corresponding to the first resource stored in the M2M server, the first generated for the first resource a public subject; the transceiver 42 is configured to send a first MQTT message to the MQTT server, where the first MQTT message includes the first service message and the first public topic, where the first service message is Include the same content sent to the at least two M2M terminals; the memory 41, configured to store a code of the first resource stored in the M2M server, a code of the first MQTT message, the first service message
- the code of the first MQTT message, the first service message, and the first common topic complete the above process.
- the processor 40 is further configured to: after determining the first common topic generated for the first resource, generate the first common topic for the first resource, and the at least two The identifier of the second resource stored in each M2M terminal in the M2M terminal is the content included in the first topic that the M2M terminal has subscribed to.
- the transceiver 42 is further configured to send, by the MQTT server, a second MQTT message to each of the at least two M2M terminals, where the second MQTT message includes a second service message and the The first topic includes the first public topic in the second service message.
- the identifier of the second resource is an identifier of a member resource in the group resource
- the processor 40 is specifically configured to receive the After the group resource creation request message, according to the allocation for the group resource
- An identifier of the group resource the first public topic of the group resource is generated for the group resource, and the identifier of the member resource is used as the first subscription of the M2M terminal corresponding to the identifier of the member resource.
- the content included in the theme, where the first common theme of the group resource includes an identifier of the group resource.
- the second service message sent by the transceiver 42 is a notification message of the M2M terminal corresponding to the identifier of the member resource by the M2M server.
- the identifier of the second resource is an identifier of a member resource in the group resource
- the processor 40 is specifically configured to receive the opposite After the access request message of the member resource of the group resource, the identifier of the group resource included in the access request message of the member resource of the group resource is determined not to correspond to the group resource Generating a common theme, and generating a first common theme of the group resource for the group resource according to the identifier of the group resource, and using the identifier of the member resource as an identifier corresponding to the member resource
- the content of the first topic that the M2M terminal has subscribed to includes the identifier of the group resource in the first common topic of the group resource.
- the second service message sent by the transceiver 42 is a first access request message generated by the M2M server according to the access request message of the member resource of the group resource, the first access request The message is sent by the M2M server to an access request message of the M2M terminal corresponding to the identifier of the member resource.
- the processor 40 is configured to: when determining that the subscription resource changes, determine, according to the identifier of the subscription resource, that the subscription resource does not correspond to the subscription resource. a first common theme, and generating, according to the identifier of the subscription resource, a first common theme of the subscription resource for the subscription resource, and an identifier of a second resource stored in each M2M terminal that subscribes to the subscription resource As the content included in the first topic that the M2M terminal has subscribed to, the first public topic of the subscription resource includes the identifier of the subscription resource.
- the second service message sent by the transceiver 42 is a subscription notification message for each M2M terminal that subscribes to the subscription resource.
- the processor 40 is specifically configured to: when receiving the subscription creation request message for the subscription resource, according to the identifier of the subscription resource,
- the subscription resource generates a first common topic of the subscription resource, and the identifier of the second resource stored in each M2M terminal that subscribes to the subscription resource is used as
- the content that is included in the first topic that the M2M terminal has subscribed to, the subscription creation request message for the subscription resource includes an identifier of the subscription resource, and an identifier of the second resource stored in the M2M terminal that subscribes to the subscription resource.
- the first public topic of the subscription resource includes an identifier of the subscription resource.
- the second service message sent by the transceiver 42 is a subscription creation response message generated by the M2M server according to the subscription creation request message for the subscription resource, and the subscription creation response message is the M2M.
- the server needs to send a response message to each M2M terminal that subscribes to the subscription resource.
- the embodiment of the present invention provides an M2M server, and when the M2M server needs to send a first service message of the same content to at least two M2M terminals corresponding to the first resource stored in the M2M server, the M2M server can determine that the M2M server The first common topic generated by the first resource, and the first MQTT message is sent to the MQTT server, where the first MQTT message includes a first service message and a first public topic, and the first service message includes sending to the at least two terminals The same content.
- the M2M server provided by the embodiment of the present invention can reduce the communication overhead between the M2M server and the MQTT server.
- an embodiment of the present invention provides a transmission system for a service message, where the transmission system of the service message may include: an M2M terminal as shown in FIG. 9 or FIG. 10 above, as shown in FIG. 11 to FIG. 13 above.
- the transmission system of the service message includes: the M2M terminal as shown in FIG. 14 above, such as The M2M server shown in FIG. 15 above, and the MQTT server, wherein the MQTT server interacts with the M2M server and the M2M terminal.
- the M2M server when the M2M server needs to send the first service message with the same content to the at least two M2M terminals corresponding to the first resource stored in the M2M server, the M2M server can Determining a common topic generated for the first resource, and sending a first MQTT message to the MQTT server, where the first MQTT message includes the first service message and the first public topic, where the first service message is sent to The same content of the at least two M2M terminals.
- Each of the at least two M2M terminals is capable of receiving the first MQTT message sent by the MQTT server, and according to the mapping relationship between the saved first public topic and the identifier of the resource stored in the M2M terminal, Finding resources stored in the M2M terminal corresponding to the first public theme The identifier, and the resource stored in the M2M terminal indicated by the identifier of the resource stored in the M2M terminal, perform an operation related to the first service message.
- the M2M service when the M2M server needs to send the same service message to at least two M2M terminals corresponding to the first resource stored in the M2M server, the M2M service can only be sent to the MQTT server. Sending the first MQTT message once, each of the at least two M2M terminals can receive the first MQTT message and perform a corresponding operation.
- the transmission system of the service message provided by the embodiment of the present invention can reduce the communication overhead between the M2M server and the MQTT server, as compared with the MTT server in the prior art, which needs to send multiple MQTT messages including different topics to the MQTT server.
- the disclosed system, apparatus, and method may be implemented in other manners.
- the device embodiments described above are merely illustrative.
- the division of the modules or units is only a logical function division.
- there may be another division manner for example, multiple units or components may be used. Combinations can be integrated into another system, or some features can be ignored or not executed.
- the mutual coupling or direct coupling or communication connection shown or discussed may be an indirect coupling or communication connection through some interface, device or unit, and may be in an electrical, mechanical or other form.
- the units described as separate components may or may not be physically separated, and the components displayed as units may or may not be physical units, that is, may be located in one place, or may be distributed to multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of the embodiment.
- each functional unit in each embodiment of the present invention may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit.
- the above integrated unit can be implemented in the form of hardware or in the form of a software functional unit.
- the integrated unit if implemented in the form of a software functional unit and sold or used as a standalone product, may be stored in a computer readable storage medium.
- the technical solution of the present invention which is essential or contributes to the prior art, or all or part of the technical solution, may be embodied in the form of a software product stored in a storage medium.
- a number of instructions are included to cause a computer device (which may be a personal computer, server, or network device, etc.) or processor to perform all or part of the steps of the methods described in various embodiments of the present invention.
- the foregoing storage medium includes: a U disk, a mobile hard disk, a read only memory (English full name: Read-Only Memory, English abbreviation: ROM), a random access memory (English full name: Random Access Memory, English abbreviation: RAM), magnetic A variety of media that can store program code, such as a disc or a disc.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Telephonic Communication Services (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明公开了一种业务消息的传输方法、装置及系统,涉及通信技术领域,能够减小M2M服务器与MQTT服务器之间的通信开销。该方法包括:当M2M服务器需向与M2M服务器中存储的第一资源对应的至少两个M2M终端发送相同内容的第一业务消息时,M2M服务器确定为该第一资源生成的第一公共主题,并向MQTT服务器发送一次第一MQTT消息,该第一MQTT消息中包含该第一业务消息和该第一公共主题,该第一业务消息中包含发送给该至少两个M2M终端的相同内容。该方法应用于M2M系统。
Description
本发明涉及通信技术领域,尤其涉及一种业务消息的传输方法、装置及系统。
随着机器对机器(英文:Machine-to-Machine,缩写:M2M)通信在通信技术中的广泛应用,物联网领域国际标准化组织定义了一种消息序列遥测传输(英文:message queue telemetry transport,缩写:MQTT)协议,以用于传输M2M系统中的业务消息。MQTT协议支持一种主题订阅(subscribe)/发布(英文:publish)机制,即发送端可将待传输的业务消息承载在一条MQTT消息上发布,该MQTT消息中包含一个主题。当接收端订阅了该主题时,接收端可以接收到包含该主题的MQTT消息,从而发送端和接收端可以利用这种主题订阅/发布机制完成该业务消息的传输。
目前,在MQTT协议中,接收端可根据该接收端的资源标识配置需订阅的主题的名称,并向MQTT服务器(英文:MQTT server)订阅该主题。当发送端需向接收端发送业务消息时,发送端可将接收端的资源标识(即该业务消息的目的地址)配置在待发布主题的名称中作为承载该业务消息的MQTT消息中包含的主题,并将该MQTT消息发送至MQTT服务器,从而由MQTT服务器根据MQTT消息中的主题将该MQTT消息转发给订阅过该主题的接收端。接收端接收到MQTT消息后,可根据该MQTT消息中承载的业务消息,对MQTT消息中包含的主题所指示的资源执行相应的操作。由于在MQTT协议中,MQTT消息中包含的主题的名称中配置了业务消息的目的地址,因此若发送端待发送的业务消息的目的地址不同,则发送端待发布的MQTT消息中的主题就不同。其中,发送端可以为M2M终端,接收端可以为M2M服务器;或者发送端可以为M2M服务器,接收端可以为M2M终端。
在M2M系统中,M2M服务器可能会向多个M2M终端发送内容相同的业务消息,例如群组管理中的群组成员访问消息或者订阅通知管理中的订阅通知消息等。此时,若根据上述主题订阅/发布机制,则由于多个M2M终端的资源标识均不相同,即该业务消息的目的地址均不相同,
因此,M2M服务器需向MQTT服务器发布多个包含不同的主题的MQTT消息,从而增加了M2M服务器与MQTT服务器之间的通信开销。
发明内容
本发明提供一种业务消息的传输方法、装置及系统,能够减小M2M服务器与MQTT服务器之间的通信开销。
为达到上述目的,本发明采用如下技术方案:
第一方面,本发明提供一种业务消息的传输方法,包括:
机器对机器M2M终端接收消息序列遥测传输MQTT服务器发送的第一MQTT消息,所述第一MQTT消息中包含第一业务消息和第一公共主题;
所述M2M终端根据保存的所述第一公共主题与在所述M2M终端中存储的资源的标识之间的映射关系,查找与所述第一公共主题对应的所述在所述M2M终端中存储的资源的标识;
所述M2M终端对所述在所述M2M终端中存储的资源的标识指示的所述在所述M2M终端中存储的资源执行与所述第一业务消息相关的操作。
在第一方面的第一种可能的实现方式中,所述M2M终端接收MQTT服务器发送的第一MQTT消息之前,所述方法还包括:
所述M2M终端接收所述MQTT服务器发送的第二MQTT消息,所述第二MQTT消息中包含第二业务消息和第一主题,所述第二业务消息中包含所述第一公共主题,所述第一主题中包含所述在所述M2M终端中存储的资源的标识;
所述M2M终端保存所述第一公共主题与所述在所述M2M终端中存储的资源的标识之间的映射关系;
所述M2M终端向所述MQTT服务器发送第一订阅主题的消息,所述第一订阅主题的消息中包含所述第一公共主题以及所述M2M终端的标识。
结合第一方面的第一种可能的实现方式,在第二种可能的实现方式中,所述M2M终端接收所述MQTT服务器发送的第二MQTT消息之前,所述方法还包括:
所述M2M终端向所述MQTT服务器发送第二订阅主题的消息,所述
第二订阅主题的消息包含所述M2M终端需要订阅的所述第一主题。
第二方面,本发明提供一种业务消息的传输方法,包括:
当机器对机器M2M服务器需向与所述M2M服务器中存储的第一资源对应的至少两个M2M终端发送相同内容的第一业务消息时,
所述M2M服务器确定为所述第一资源生成的第一公共主题;
所述M2M服务器向消息序列遥测传输MQTT服务器发送一次第一MQTT消息,所述第一MQTT消息中包含所述第一业务消息和所述第一公共主题,所述第一业务消息中包含发送给所述至少两个M2M终端的相同内容。
在第二方面的第一种可能的实现方式中,所述M2M服务器确定为所述第一资源生成的第一公共主题之前,所述方法还包括:
所述M2M服务器为所述第一资源生成所述第一公共主题;
所述M2M服务器将所述至少两个M2M终端中的每一个M2M终端中存储的第二资源的标识作为该M2M终端已经订阅的第一主题包含的内容;
所述M2M服务器通过所述MQTT服务器向所述至少两个M2M终端中的每一个M2M终端发送一条第二MQTT消息,所述第二MQTT消息中包含第二业务消息和所述第一主题,所述第二业务消息中包含所述第一公共主题。
结合第二方面的第一种可能的实现方式,在第二种可能的实现方式中,
当所述第一资源为群组资源时,所述第二资源的标识为所述群组资源中的成员资源的标识,所述M2M服务器为所述第一资源生成所述第一公共主题具体为:
所述M2M服务器在接收到所述群组资源的创建请求消息后,根据为所述群组资源分配的所述群组资源的标识,为所述群组资源生成所述群组资源的第一公共主题,所述群组资源的第一公共主题中包含所述群组资源的标识;
所述M2M服务器将所述至少两个M2M终端中的每一个M2M终端中存储的第二资源的标识作为该M2M终端已经订阅的第一主题包含的内容具体为:
所述M2M服务器将所述成员资源的标识,作为与所述成员资源的标识对应的M2M终端已经订阅的第一主题包含的内容;
其中,所述第二业务消息为所述M2M服务器对与所述成员资源的标识对应的M2M终端的通知消息。
结合第二方面的第一种可能的实现方式,在第三种可能的实现方式中,当所述第一资源为群组资源时,所述第二资源的标识为所述群组资源中的成员资源的标识,所述M2M服务器为所述第一资源生成所述第一公共主题具体为:
所述M2M服务器在接收到对所述群组资源的成员资源的访问请求消息后,所述M2M服务器根据所述对所述群组资源的成员资源的访问请求消息中包含的所述群组资源的标识确定没有与所述群组资源对应的第一公共主题;
所述M2M服务器根据所述群组资源的标识,为所述群组资源生成所述群组资源的第一公共主题,所述群组资源的第一公共主题中包含所述群组资源的标识;
所述M2M服务器将所述至少两个M2M终端中的每一个M2M终端中存储的第二资源的标识作为该M2M终端已经订阅的第一主题包含的内容具体为:
所述M2M服务器将所述成员资源的标识,作为与所述成员资源的标识对应的M2M终端已经订阅的第一主题包含的内容;
其中,所述第二业务消息为所述M2M服务器根据所述对所述群组资源的成员资源的访问请求消息生成的第一访问请求消息,所述第一访问请求消息为所述M2M服务器发送给与所述成员资源的标识对应的M2M终端的访问请求消息。
结合第二方面的第一种可能的实现方式,在第四种可能的实现方式中,当所述第一资源为订阅资源时,所述M2M服务器为所述第一资源生成所述第一公共主题具体为:
当所述M2M服务器确定所述订阅资源发生变化时,所述M2M服务器根据所述订阅资源的标识确定没有与所述订阅资源对应的第一公共主题;
所述M2M服务器根据所述订阅资源的标识,为所述订阅资源生成
所述订阅资源的第一公共主题,所述订阅资源的第一公共主题中包含所述订阅资源的标识;
所述M2M服务器将所述至少两个M2M终端中的每一个M2M终端中存储的第二资源的标识作为该M2M终端已经订阅的第一主题包含的内容具体为:
所述M2M服务器将每一个订阅所述订阅资源的M2M终端中存储的第二资源的标识,作为该M2M终端已经订阅的第一主题包含的内容;
其中,所述第二业务消息为所述M2M服务器对每一个订阅所述订阅资源的M2M终端的订阅通知消息。
结合第二方面的第一种可能的实现方式,在第五种可能的实现方式中,
当所述第一资源为订阅资源时,所述M2M服务器为所述第一资源生成所述第一公共主题具体为:
当所述M2M服务器接收到对所述订阅资源的订阅创建请求消息时,所述对所述订阅资源的订阅创建请求消息中包含所述订阅资源的标识以及订阅所述订阅资源的M2M终端中存储的第二资源的标识,所述M2M服务器根据所述订阅资源的标识,为所述订阅资源生成所述订阅资源的第一公共主题,所述订阅资源的第一公共主题中包含所述订阅资源的标识;
所述M2M服务器将所述至少两个M2M终端中的每一个M2M终端中存储的第二资源的标识作为该M2M终端已经订阅的第一主题包含的内容具体为:
所述M2M服务器将每一个订阅所述订阅资源的M2M终端中存储的第二资源的标识,作为该M2M终端已经订阅的第一主题包含的内容;
其中,所述第二业务消息为所述M2M服务器根据所述对所述订阅资源的订阅创建请求消息生成的订阅创建响应消息,所述订阅创建响应消息为所述M2M服务器需发送给每一个订阅所述订阅资源的M2M终端的响应消息。
第三方面,本发明提供一种机器对机器M2M终端,包括:
接收单元,用于接收消息序列遥测传输MQTT服务器发送的第一MQTT消息,所述第一MQTT消息中包含第一业务消息和第一公共主题;
查找单元,用于根据存储单元保存的所述第一公共主题与在所述存储单元中存储的资源的标识之间的映射关系,查找与所述接收单元接收的所述第一公共主题对应的所述在所述存储单元中存储的资源的标识;
执行单元,用于对所述查找单元查找的所述在所述存储单元中存储的资源的标识指示的所述在所述存储单元中存储的资源执行与所述接收单元接收的所述第一业务消息相关的操作。
在第三方面的第一种可能的实现方式中,所述M2M终端还包括发送单元,
所述接收单元,还用于在接收所述MQTT服务器发送的第一MQTT消息之前,接收所述MQTT服务器发送的第二MQTT消息,所述第二MQTT消息中包含第二业务消息和第一主题,所述第二业务消息中包含所述第一公共主题,所述第一主题中包含所述在所述存储单元中存储的资源的标识;
所述存储单元,用于保存所述接收单元接收的所述第一公共主题与所述在所述存储单元中存储的资源的标识之间的映射关系;
所述发送单元,用于向所述MQTT服务器发送第一订阅主题的消息,所述第一订阅主题的消息中包含所述接收单元接收的所述第一公共主题以及所述M2M终端的标识。
结合第三方面的第一种可能的实现方式,在第二中可能的实现方式中,
所述发送单元,还用于在所述接收单元接收所述MQTT服务器发送的第二MQTT消息之前,向所述MQTT服务器发送第二订阅主题的消息,所述第二订阅主题的消息包含需要订阅的所述第一主题。
第四方面,本发明提供一种M2M服务器,包括:
确定单元,用于当需向与存储单元中存储的第一资源对应的至少两个M2M终端发送相同内容的第一业务消息时,确定为所述第一资源生成的第一公共主题;
发送单元,用于向消息序列遥测传输MQTT服务器发送一次第一MQTT消息,所述第一MQTT消息中包含所述第一业务消息和所述确定单元确定的所述第一公共主题,所述第一业务消息中包含发送给所述至
少两个M2M终端的相同内容。
在第四方面的第一种可能的实现方式中,所述M2M服务器还包括:
生成单元,用于所述确定单元确定为所述第一资源生成的第一公共主题之前,为所述第一资源生成所述第一公共主题,并将所述至少两个M2M终端中的每一个M2M终端中存储的第二资源的标识作为该M2M终端已经订阅的第一主题包含的内容;
所述发送单元,还用于通过所述MQTT服务器向所述至少两个M2M终端中的每一个M2M终端发送一条第二MQTT消息,所述第二MQTT消息中包含第二业务消息和所述生成单元生成的所述第一主题,所述第二业务消息中包含所述生成单元生成的所述第一公共主题。
结合第四方面的第一种可能的实现方式,在第二种可能的实现方式中,
当所述第一资源为群组资源时,所述第二资源的标识为所述群组资源中的成员资源的标识,
所述生成单元,具体用于在接收到所述群组资源的创建请求消息后,根据为所述群组资源分配的所述群组资源的标识,为所述群组资源生成所述群组资源的第一公共主题,并将所述成员资源的标识,作为与所述成员资源的标识对应的M2M终端已经订阅的第一主题包含的内容,所述群组资源的第一公共主题中包含所述群组资源的标识;
其中,所述第二业务消息为对与所述成员资源的标识对应的M2M终端的通知消息。
结合第四方面的第一种可能的实现方式,在第三种可能的实现方式中,当所述第一资源为群组资源时,所述第二资源的标识为所述群组资源中的成员资源的标识,所述生成单元具体包括确定模块和生成模块,
所述确定模块,用于在接收到对所述群组资源的成员资源的访问请求消息后,根据所述对所述群组资源的成员资源的访问请求消息中包含的所述群组资源的标识确定没有与所述群组资源对应的第一公共主题;
所述生成模块,用于当所述确定模块确定没有与所述群组资源对应的第一公共主题时,根据所述群组资源的标识,为所述群组资源生
成所述群组资源的第一公共主题,并将所述成员资源的标识,作为与所述成员资源的标识对应的M2M终端已经订阅的第一主题包含的内容,所述群组资源的第一公共主题中包含所述群组资源的标识;
其中,所述第二业务消息为根据所述对所述群组资源的成员资源的访问请求消息生成的第一访问请求消息,所述第一访问请求消息为发送给与所述成员资源的标识对应的M2M终端的访问请求消息。
结合第四方面的第一种可能的实现方式,在第四种可能的实现方式中,当所述第一资源为订阅资源时,所述生成单元具体包括确定模块和生成模块,
所述确定模块,用于当确定所述订阅资源发生变化时,根据所述订阅资源的标识确定没有与所述订阅资源对应的第一公共主题;
所述生成模块,用于在所述确定模块确定没有与所述订阅资源对应的第一公共主题时,根据所述订阅资源的标识,为所述订阅资源生成所述订阅资源的第一公共主题,并将每一个订阅所述订阅资源的M2M终端中存储的第二资源的标识,作为该M2M终端已经订阅的第一主题包含的内容,所述订阅资源的第一公共主题中包含所述订阅资源的标识;
其中,所述第二业务消息为对每一个订阅所述订阅资源的M2M终端的订阅通知消息。
结合第四方面的第一种可能的实现方式,在第五种可能的实现方式中,
当所述第一资源为订阅资源时,
所述生成单元,具体用于当接收到对所述订阅资源的订阅创建请求消息时,根据所述订阅资源的标识,为所述订阅资源生成所述订阅资源的第一公共主题,并将每一个订阅所述订阅资源的M2M终端中存储的第二资源的标识,作为该M2M终端已经订阅的第一主题包含的内容,所述对所述订阅资源的订阅创建请求消息中包含所述订阅资源的标识以及订阅所述订阅资源的M2M终端中存储的第二资源的标识,所述订阅资源的第一公共主题中包含所述订阅资源的标识;
其中,所述第二业务消息为根据所述对所述订阅资源的订阅创建请求消息生成的订阅创建响应消息,所述订阅创建响应消息为需发送
给每一个订阅所述订阅资源的M2M终端的响应消息。
第五方面,本发明提供一种业务消息的传输系统,包括:
至少两个如上述第三方面或第三方面的任一种可能的实现方式所述的机器对机器M2M终端,如上述第四方面或第四方面的任一种可能的实现方式所述的M2M服务器,以及消息序列遥测传输MQTT服务器。
本发明提供一种业务消息的传输方法、装置及系统,当M2M服务器需向与该M2M服务器中存储的第一资源对应的至少两个M2M终端发送内容相同的第一业务消息时,M2M服务器确定为该第一资源生成的第一公共主题,并向MQTT服务器发送一次第一MQTT消息,该第一MQTT消息中包含该第一业务消息和该第一公共主题,该第一业务消息中包含发送给该至少两个M2M终端的相同内容,该至少两个M2M终端中的每个M2M终端能够接收该MQTT服务器发送的该第一MQTT消息,并根据保存的该第一公共主题与在该M2M终端中存储的第二资源的标识之间的映射关系,查找与该第一公共主题对应的第二资源的标识,以及对该第二资源的标识指示的第二资源执行与该第一业务消息相关的操作。通过该方法,当M2M服务器需向该至少两个M2M终端发送内容相同的第一业务消息时,M2M服务器只需向MQTT服务器发送一次第一MQTT消息,与现有技术中M2M服务器需向MQTT服务器发送包含不同主题的MQTT消息相比,本发明提供的业务消息的传输方法,能够减小M2M服务器与MQTT服务器之间的通信开销。
图1为本发明实施例提供的一种业务消息的传输方法流程图一;
图2为本发明实施例提供的一种业务消息的传输方法流程图二;
图3为本发明实施例提供的一种业务消息的传输方法交互图一;
图4为本发明实施例提供的一种将群组资源的第一公共主题作为该群组资源的子资源的示意图;
图5为本发明实施例提供的一种业务消息的传输方法交互图二;
图6为本发明实施例提供的一种业务消息的传输方法交互图三;
图7为本发明实施例提供的一种业务消息的传输方法交互图四;
图8为本发明实施例提供的一种业务消息的传输方法交互图五;
图9为本发明实施例提供的一种M2M终端的结构示意图一;
图10为本发明实施例提供的一种M2M终端的结构示意图二;
图11为本发明实施例提供的一种M2M服务器的结构示意图一;
图12为本发明实施例提供的一种M2M服务器的结构示意图二;
图13为本发明实施例提供的一种M2M服务器的结构示意图三;
图14为本发明实施例提供的一种M2M终端的硬件结构示意图;
图15为本发明实施例提供的一种M2M服务器的硬件结构示意图;
图16为本发明实施例提供的一种业务消息的传输系统框图。
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。
在本发明实施例中,M2M服务器可以为应用于各种管理系统中的服务器,M2M终端可以为应用与各种应用场景中的终端。例如,在车辆监控管理系统中,M2M服务器为车辆监控管理服务器,M2M终端为车载终端;在电力抄表系统中,M2M服务器为电力抄表服务器,M2M终端为各个智能电表;在智能交通系统中,M2M服务器为智能交通服务器,M2M终端为各个交通路口的微控制器。在本发明中均不做限制。
为了更好的说明本发明实施例提供的业务消息的传输方法,下面以一种可能的应用场景为例,对本发明以下实施例中涉及的业务消息,资源,主题和资源的标识,及其之间的关系进行示例性的说明。假设,本发明实施例提供的应用场景为智能交通系统,在智能交通系统中,M2M服务器为智能交通服务器,M2M终端为每个交通路口的微控制器,智能交通服务器为每个交通路口的微控制器提供服务。
每个交通路口的微控制器中保存了其所在交通路口的相关数据,例如,可以包括该微控制器所在交通路口的位置信息、交通录像和违规记录等。则该位置信息、该交通录像和该违规记录构成该微控制器的资源,该位置信息、该交通录像和该违规记录分别为该微控制器的子资源。
智能交通服务器保存了其提供服务的每个交通路口的微控制器的属性和该智能交通服务器的属性,每个交通路口的微控制器的属性和该智能交通服务器的属性构成了该智能交通服务器的资源(该智能交
通服务器的资源即可以理解为一个群组资源),每个交通路口的微控制器的属性和该智能交通服务器的属性分别为该智能交通服务器的子资源。
若某个微控制器的资源标识(例如为该微控制器的域名)可以表示为“m.example.com”,则该微控制器的各个子资源的标识分别可以表示为:该地理位置信息的标识可以表示为“m.example.com/address”,该交通录像的标识可以表示为“m.example.com/video”,该违规记录的标识可以表示为“m.example.com/record”。
当智能交通服务器需访问该某个微控制器的某一子资源(该某个微控制器的某一子资源即可以理解为该群组资源的某个成员资源),例如,智能交通服务器请求某个微控制器清除该微控制器保存的违规记录时,根M2M系统中的主题订阅/发布机制,智能交通服务器会根据该微控制器的违规记录的标识(即成员资源的标识)“m.example.com/record”,生成包含该违规记录的标识的主题“/oneM2M/m.example.com/record/req”,并将业务消息(该业务消息用于指示该微控制器清除该微控制器保存的违规记录)和该主题承载在MQTT消息上,发送至MQTT服务器。MQTT服务器将该MQTT消息转发给订阅过该主题的微控制器,该微控制器接收到该MQTT消息后,根据该MQTT消息中包含的业务消息清除该微控制器保存的违规记录。
需要说明的是,上述对本发明以下实施例中涉及的业务消息,资源,主题和资源的标识,及其之间的关系进行的说明仅为示例性的。在其他可能的应用场景中,例如在车辆监控管理系统,电力抄表系统等应用场景中,M2M终端中存储的资源和M2M服务器中存储的资源均不相同。且在智能交通系统中,每个交通路口的微控制器的资源和智能交通服务器的资源可以包括但不限于上述列举的资源,在本发明实施例中不做限定。
本发明实施例提供一种业务消息的传输方法,如图1所示,该方法可以包括:
S101、M2M终端接收MQTT服务器发送的第一MQTT消息,该第一MQTT消息中包含第一业务消息和第一公共主题。
需要说明的是,在M2M终端接收包含第一公共主题的第一MQTT消
息之前,M2M终端已经向MQTT服务器订阅了该第一公共主题的内容,因此,M2M终端能够接收包含该第一公共主题的第一MQTT消息。
S102、M2M终端根据保存的该第一公共主题与在该M2M终端中存储的资源的标识之间的映射关系,查找与该第一公共主题对应的在该M2M终端中存储的资源的标识。
其中,M2M终端中可能存储一个资源,也可能存储多个资源。在M2M终端中存储的资源的标识可以为能够唯一表征在M2M终端中存储的资源的标识,具体可以为在M2M终端中存储的资源的通用资源标识符(英文:uniform resource identifier,缩写:URI)。
需要说明的是,该第一公共主题与在该M2M终端中存储的资源的标识之间的映射关系是该M2M终端在向MQTT服务器订阅该第一公共主题时保存在该M2M终端中的。示例性的,该第一公共主题与在该M2M终端中存储的资源的标识之间的映射关系可以如表1所示。其中,该第一公共主题可以为“/oneM2M/g/g.example.com/req”,在该M2M终端中存储的资源的标识(即该第一业务消息的目的地址)可以为“m1.example.com/container1”。
表1
公共主题 | 在M2M终端中存储的资源的标识 |
/oneM2M/g/g.example.com/req | m1.example.com/container1 |
S103、M2M终端对该在该M2M终端中存储的资源的标识指示的在该M2M终端中存储的资源执行与该第一业务消息相关的操作。
在本发明实施例中,M2M终端对该在该M2M终端中存储的资源的标识指示的在该M2M终端中存储的资源执行与该第一业务消息相关的操作的具体方式,在不同的应用场景中采用的具体方式也不同。
示例性的,当本发明实施例提供的方法应用于群组管理中时,M2M终端对该在该M2M终端中存储的资源的标识指示的在该M2M终端中存储的资源执行与该第一业务消息相关的操作的具体方式可以为,M2M终端对该在该M2M终端中存储的资源的标识指示的在该M2M终端中存储的资源执行该第一业务消息的内容指示的操作。例如,假设该M2M终端为智能交通系统中某个交通路口的微控制器,该微控制器接收的第一MQTT消息中包含的第一业务消息的内容为“删除指示”,则该微控
制器根据该第一业务消息的内容,删除在该微控制器中存储的资源的标识指示的在该微控制器中存储的资源。
当本发明实施例提供的方法应用于订阅通知管理中时,M2M终端对该在该M2M终端中存储的资源的标识指示的在该M2M终端中存储的资源执行与该第一业务消息相关的操作的具体方式可以为,M2M终端根据第一业务消息的内容与该M2M终端中预置的指示信息的对应关系,获取与该第一业务消息的内容对应的指示信息,并对该在该M2M终端中存储的资源的标识指示的在该M2M终端中存储的资源执行该指示信息指示的操作。例如,假设该M2M终端为控制空调的微控制器,该第一业务消息的内容为“当前温度小于5度”,该微控制器中预置的与该第一业务消息的内容对应的指示信息为“启动空调”,则该微控制器接收到该第一业务消息后,根据第一业务消息的内容与该M2M终端中预置的指示信息的对应关系,获取与“当前温度小于5度”对应的指示信息“启动空调”,并根据该指示信息启动空调。
本发明实施例提供一种业务消息的传输方法,通过M2M终端接收MQTT服务器发送的第一MQTT消息,并根据保存的该第一公共主题与在该M2M终端中存储的资源的标识之间的映射关系,查找与该第一公共主题对应的在该M2M终端中存储的资源的标识,以及对在该M2M终端中存储的资源的标识指示的在该M2M终端中存储的资源执行与该第一业务消息相关的操作,该第一MQTT消息中包含第一业务消息和第一公共主题。通过该方法,当M2M服务器需向与该M2M服务器中存储的资源对应的至少两个M2M终端发送相同内容的第一业务消息时,MQTT服务器只需发送一次第一MQTT消息到MQTT服务器,由于该至少两个M2M终端都订阅了该第一公共主题,因此MQTT服务器会将该第一MQTT消息转发给该至少两个M2M终端,且该至少两个M2M终端中的每个M2M终端能够根据该第一公共主题与该每个M2M终端中存储的资源的标识之间的映射关系,执行与该第一业务消息相关的操作。与现有技术中M2M服务器需向MQTT服务器发送多个包含不同主题的MQTT消息相比,本发明实施例提供的业务消息的传输方法,能够减小M2M服务器与MQTT服务器之间的通信开销。
本发明实施例提供一种业务消息的传输方法,如图2所示,该方法可以包括:
S201、当M2M服务器需向与该M2M服务器中存储的第一资源对应的至少两个M2M终端发送相同内容的第一业务消息时,该M2M服务器确定为该第一资源生成的第一公共主题。
其中,第一资源为在M2M服务器中存储的资源。
需要说明的是,M2M服务器可以根据该M2M服务器中存储的第一资源的变化情况,确定需向与该第一资源对应的至少两个M2M终端发送相同内容的第一业务消息。例如,当本发明实施例提供的方法应用于订阅通知管理中时,该第一资源为在M2M服务器中存储的订阅资源,该订阅资源的一项子资源用于描述订阅该订阅资源的M2M终端的第二资源的标识,则订阅该订阅资源的M2M终端的第二资源的标识对应的M2M终端,即为该订阅资源对应的M2M终端。其中,第二资源是指存储在M2M终端中的资源。
当该订阅资源发生变化,M2M服务器将该订阅资源的变化情况分别与每一个订阅该订阅资源的M2M终端的通知过滤条件(英文:notice filter criteria)相比,若该订阅资源的变化情况满足订阅该订阅资源的所有M2M终端中的至少两个M2M终端的通知过滤条件,则M2M服务器确定需向该至少两个M2M终端中的每一个M2M终端发送包含该订阅资源的变化情况的通知消息。此时,该通知消息为第一业务消息,且M2M服务器向该至少两个M2M终端中的每一个M2M终端发送的通知消息的内容均为该订阅资源的变化情况,即M2M服务器确定需向该至少两个M2M终端发送相同内容的第一业务消息。其中,订阅该订阅资源的每个M2M终端的通知过滤条件为该M2M终端在向M2M服务器请求创建订阅通知时发送至M2M服务器的。
M2M服务器也可以根据接收到的公共业务实体(英文:common service entity,缩写:CSE)发送的消息,确定需向与该M2M服务器中存储的第一资源对应的至少两个M2M终端发送相同内容的第一业务消息。其中,该业务公共实体可以为M2M服务器,也可以为M2M终端,本发明不作限制。
例如,当本发明实施例提供的方法应用于群组管理中时,该第一资源为某个群组资源,该群组资源的一项子资源是用于描述形成该群组资源的成员资源的标识,则与形成该群组资源的成员资源的标识对应的M2M终端,即为该群组资源对应的M2M终端。
当某个CSE访问该群组资源的成员资源时,该CSE会向M2M服务器发送对该群组资源的成员资源的访问请求消息,M2M服务器接收到对该群组资源的成员资源的访问请求消息后,M2M服务器确定向与该群组资源的成员资源的标识对应的所有M2M终端发送第一访问请求消息。此时,第一业务消息为该第一访问请求消息。其中,M2M服务器向每一个与该群组资源的成员资源的标识对应的M2M终端发送的第一访问请求消息的内容,均为对该群组资源的成员资源的访问请求消息中的内容,即M2M服务器向与该群组资源的成员资源的标识对应的所有M2M终端发送相同内容的第一业务消息。示例性的,对该群组资源的成员资源的访问请求消息中的内容可以为“读取指示”,用于指示M2M终端上报与该M2M终端对应的成员资源;或者对该群组资源的成员资源的访问请求消息中的内容可以为“删除指示”,用于指示M2M终端删除与该M2M终端对应的成员资源等。
当M2M服务器确定需向与该M2M服务器中存储的第一资源对应的至少两个M2M终端发送相同内容的第一业务消息时,该M2M服务器确定为该第一资源生成的第一公共主题。
进一步的,M2M服务器确定为该第一资源生成的第一公共主题的方式有多种。示例性的,M2M服务器确定为该第一资源生成的第一公共主题的方式可以包括,若M2M服务器判断该第一资源的某一子资源为包含该第一资源的标识的主题,则M2M服务器可以确定该主题为MQTT服务器为该第一资源生成的第一公共主题。或者,若M2M服务器判断该第一资源的某一属性为包含该第一资源的标识的主题,则M2M服务器可以确定该主题为MQTT服务器为该第一资源生成的第一公共主题。
具体的,M2M服务器为该第一资源生成公共主题的方式,将在下述实施例中进行详细地描述。
S202、该M2M服务器向MQTT服务器发送一次第一MQTT消息,该第一MQTT消息中包含该第一业务消息和该第一公共主题,该第一业务消息中包含发送给该至少两个M2M终端的相同内容。
需要说明的是,在M2M服务器向MQTT服务器发送第一MQTT消息之前,该至少两个M2M终端已经向MQTT服务器订阅过该第一公共主题。因此,M2M服务器将包含该第一业务消息和该第一公共主题的第一MQTT消息发送至MQTT服务器后,MQTT服务器会将该第一MQTT消息分别转
发给该至少两个M2M终端。与现有技术M2M服务器将该第一业务消息承载在至少两个包含不同主题的MQTT消息上发送至MQTT服务器相比,在本发明实施例提供的业务消息的传输方法中,M2M服务器只需向MQTT服务器发送一次第一MQTT消息即可。
本发明实施例提供一种业务消息的传输方法,当M2M服务器需向与M2M服务器中存储的第一资源对应的至少两个M2M终端发送相同内容的第一业务消息时,M2M服务器通过确定为该第一资源生成的所述第一公共主题,以及向MQTT服务器发送一次第一MQTT消息,第一MQTT消息中包含第一业务消息和第一公共主题,第一业务消息包含发送给至少两个终端的相同内容。与现有技术中M2M服务器需向MQTT服务器发布多个包含不同的主题的MQTT消息相比,本发明实施例提供的业务消息的传输方法,能够减小M2M服务器与MQTT服务器之间的通信开销。
需要说明的是,本发明实施例提供的一种业务消息的传输方法中,在M2M服务器为M2M服务器中存储的第一资源生成了第一公共主题,以及M2M终端已经订阅了该第一公共主题的情况下,M2M服务器才能够执行上述如图2所示的方法,M2M终端才能够执行上述如图1所示的方法。
因此,进一步的,在M2M服务器执行上述如图2所示的方法之前,以及M2M终端在执行上述如图1所示的方法之前,本发明实施例提供的一种业务消息的传输方法还可以包括M2M服务器为M2M服务器中存储的第一资源生成第一公共主题,以及M2M终端订阅该第一公共主题的过程。具体的,如图3所示,M2M服务器为M2M服务器中存储的第一资源生成第一公共主题,以及M2M终端订阅该第一公共主题的方法可以包括:
S301、M2M服务器和至少两个M2M终端分别与MQTT服务器建立连接。
具体的,M2M服务器和该至少两个M2M终端分别与MQTT服务器建立连接的方式可以为,M2M服务器和至少两个M2M终端分别向MQTT服务器发送MQTT连接消息(英文:MQTT connect),以与MQTT服务器建立连接。M2M服务器和至少两个M2M终端分别与MQTT服务器建立连接后,M2M服务器和至少两个M2M终端都能够与MQTT服务器进行通信。
S302、M2M服务器和该至少两个M2M终端分别向MQTT服务器订阅
相关主题。
其中,M2M服务器的相关主题为M2M服务器需要订阅的,包含M2M服务器中存储的所有第一资源的标识的所有主题,该至少两个M2M终端中的每一个M2M终端的相关主题为该M2M终端需要订阅的,包含该M2M终端中存储的所有第二资源的标识的所有主题。
具体的,M2M服务器和该至少两个M2M终端中的每个M2M终端,都可以通过向MQTT服务器发送第二订阅主题的消息订阅相关主题。
示例性的,以一个M2M终端向MQTT服务器订阅相关主题为例。当该M2M终端向MQTT服务器订阅与在该M2M终端中存储的第二资源对应的第一主题时,该M2M终端将该第二资源的标识作为与该第二资源对应的第一主题包含的内容,并将该第一主题,和该M2M终端的标识包含在一条第二订阅主题的消息中发送至MQTT服务器,从而订阅与该第二资源对应的第一主题,即M2M终端向MQTT服务器发送包含该M2M终端需要订阅的第一主题的第二订阅主题的消息,订阅第一主题。
S303、MQTT服务器分别保存M2M服务器的相关主题,和该至少两个M2M终端的相关主题。
具体的,MQTT服务器分别保存在M2M服务器中存储的每一个第一资源的标识和包含该第一资源的标识的主题的对应关系,以及MQTT服务器分别保存该至少两个M2M终端中的每一个M2M终端的标识和包含该M2M终端中存储的第二资源的标识的第一主题的对应关系。
S304、M2M服务器为M2M服务器中存储的第一资源生成第一公共主题。
具体的,由于本发明实施例提供的业务消息的传输方法应用在不同的应用场景中时,M2M服务器为M2M服务器中的第一资源生成第一公共主题的过程也是不同的,因此,M2M服务器为M2M服务器中的第一资源生成第一公共主题的具体过程将在下述示例性的应用场景中进行详细说明,此处不再赘述。
需要说明的是,M2M服务器为M2M服务器中的第一资源生成的第一公共主题需具有唯一性,即M2M服务器为M2M服务器中的第一资源生成的第一公共主题与M2M服务器在为M2M服务器中的第一资源生成第一公共主题之前生成的其他所有主题都不相同。
进一步的,保证第一公共主题的唯一性的方式可以为,M2M服务器根据各个资源的标识(包括各个群组资源的标识、各个在M2M终端中存储的第二资源的标识和各个订阅资源的标识等)生成第一公共主题,由于各个资源的标识都不相同,因此根据资源的标识生成第一公共主题的方法也能够保证第一公共主题的唯一性。
进一步的,M2M服务器为该第一资源生成第一公共主题后,M2M服务器需将该第一公共主题作为该第一资源的子资源,或者M2M服务器将该第一公共主题作为该第一资源的属性。
示例性的,如图4所示,当该第一资源为群组资源时,M2M服务器将为该群组资源生成的第一公共主题作为该群组资源的子资源的示意图。其中,群组资源中包括多个子资源。例如,子资源1用于描述群组资源中各个成员资源的标识;子资源2用于指示所有群组资源的成员资源的分发请求(英文:fan out point)资源的标识等。M2M服务器为该群组资源生成第一公共主题后,M2M服务器将该第一公共主题作为该群组资源的子资源(如图4中所示的子资源n),添加到该群组资源中,从而将为该群组资源生成的第一公共主题作为该群组资源的子资源。
S305、M2M服务器将该至少两个M2M终端中的每一个M2M终端中存储的第二资源的标识作为该M2M终端已经订阅的第一主题包含的内容。
其中,该至少两个M2M终端中的每一个M2M终端在上述S302中向MQTT服务器订阅相关主题时,已经订阅第一主题。M2M服务器将该至少两个M2M终端中的每一个M2M终端中存储的第二资源的标识作为该M2M终端已经订阅的第一主题包含的内容,即为M2M服务器根据该至少两个M2M终端中的每一个M2M终端中存储的第二资源的标识(即M2M服务器发送的第二业务消息的多个目的地址),为该M2M终端生成包含该M2M终端中存储的第二资源的标识的第一主题。
进一步的,M2M服务器将该至少两个M2M终端中的每一个M2M终端中存储的第二资源的标识作为该M2M终端已经订阅的第一主题包含的内容的具体方式,与现有技术中M2M服务器将该至少两个M2M终端中的每一个M2M终端中存储的第二资源的标识作为该M2M终端已经订阅的第一主题包含的内容的方式相同,此处不再赘述。
S306、M2M服务器通过MQTT服务器向该至少两个M2M终端中的每
一个M2M终端发送一条第二MQTT消息,第二MQTT消息中包含第二业务消息和第一主题,第二业务消息中携带第一公共主题。
具体的,M2M服务器通过MQTT服务器向至少两个M2M终端中的每一个M2M终端发送一条包含第二业务消息和一个主题的第二MQTT消息,该一个主题为M2M服务器为M2M终端生成的包含该M2M终端中存储的第二资源的标识的第一主题。
其中,该第二业务消息中携带第一公共主题的方式可以为,M2M服务器将该第一公共主题作为该第二业务消息的属性,添加到该第二业务消息中,从而使得该第二业务消息携带该第一公共主题。M2M服务器将该第一公共主题携带在第二业务消息中发送至该至少两个M2M终端中的每个M2M终端,以使得该至少两个M2M终端中的每个终端接收到该第二业务消息后,根据该第二业务消息中携带的该第一公共主题,向MQTT服务器订阅该第一公共主题。
进一步的,由于该至少两个M2M终端中的每一个M2M终端已经向MQTT服务器订阅了该第一主题,因此,MQTT服务器能够将包含该第一主题的第二MQTT消息转发给该M2M终端。
S307、该至少两个M2M终端中的每一个M2M终端接收MQTT服务器发送的第二MQTT消息,第二MQTT消息中包含第二业务消息和第一主题,第二业务消息中包含第一公共主题,该第一主题中包含在该M2M终端中存储的第二资源的标识。
进一步的,该至少两个M2M终端中的每一个M2M终端接收MQTT服务器发送的第二MQTT消息后,该M2M终端判断其订阅过的公共主题中是否有包含该第二业务消息包含的第一公共主题。具体的,该M2M终端可以通过将该第二业务消息中包含的主题与其保存的公共主题进行对比,从而判断该M2M终端向MQTT服务器订阅的公共主题中是否有该第二业务消息中包含的主题。该第二业务消息中包含的主题即为第一公共主题。
若该M2M终端向MQTT服务器订阅的公共主题中没有该第二业务消息包含的第一公共主题,则该M2M终端执行S308、S309或者S310。
S308、该至少两个M2M终端中的每一个M2M终端均保存该第一公共主题与第一主题中包含的在该M2M终端中存储的第二资源的标识之间的映射关系。
其中,该至少两个M2M终端中的每一个M2M终端均保存该第一公共主题与第一主题中包含的在该M2M终端中存储的第二资源的标识之间的映射关系的方式,具体可参见如图1所示实施例中的相关描述,此处不再赘述。
S309、该至少两个M2M终端中的每一个M2M终端向MQTT服务器发送第一订阅主题的消息,该第一订阅主题的消息中包含该第一公共主题以及该M2M终端的标识。
具体的,该至少两个M2M终端中的每一个M2M终端生成用于向MQTT服务器订阅该第一公共主题的第一订阅主题的消息,第一订阅主题的消息中包含该第一公共主题以及该M2M终端的标识。该至少两个M2M终端中的每一个M2M终端向MQTT服务器发送该第一订阅主题的消息,MQTT服务器接收到该至少两个M2M终端中的每一个M2M终端发送的第一订阅主题的消息后,保存该第一公共主题与该M2M终端的标识的对应关系,即该至少两个M2M终端中的每一个M2M终端向MQTT服务器订阅了该第一公共主题。从而,当MQTT服务器接收到M2M服务器发送的包含该第一公共主题的第一MQTT消息时,MQTT服务器就能根据保存的该第一公共主题与M2M终端的标识之间的对应关系,将该第一MQTT消息转发给订阅过该第一公共主题的M2M终端的标识对应的M2M终端。即MQTT服务器能够将该包含第一公共主题的第一MQTT消息转发给订阅过该第一公共主题的M2M终端。
S310、该至少两个M2M终端中的每一个M2M终端对第一主题中包含的在该M2M终端中存储的第二资源的标识指示的第二资源执行与该第二业务消息相关的操作。
需要说明的是,上述S308、S309和S310可以同时执行,也可以依次执行。若上述S308、S309和S310依次执行,则执行顺序可以随机排序,在本发明实施例中不作限定。
通过上述S301-S310中的方法,M2M服务器为M2M服务器中存储的第一资源生成第一公共主题,并通过MQTT服务器向M2M终端(即该至少两个M2M终端中的每个M2M终端)发送第二MQTT消息,该第二MQTT消息中包含该M2M终端的第一主题和第二业务消息,该第二业务消息中包含该第一公共主题。M2M终端接收到该第二MQTT消息后,保存该第二业务消息中包含的该第一公共主题与该第一主题中包含的在该
M2M终端中存储的第二资源的标识之间的映射关系,并向MQTT服务器订阅该第一公共主题。
因此,当M2M服务器需向与M2M服务器中存储的第一资源对应的至少两个M2M终端发送相同内容的第一业务消息时,M2M服务器能够根据如图2所示的实施例中的方法,向MQTT服务器发送一次第一MQTT消息,该第一MQTT消息中包含第一业务消息和第一公共主题。另一方面,由于M2M终端已经订阅了该第一公共主题的内容,因此MQTT服务器能够将该第一MQTT消息转发给M2M终端,M2M终端能够根据如图1所示的实施例中的方法,接收该第一MQTT消息,并执行与该第一MQTT消息中包含的第一业务消息相关的操作。
为了更好的说明本发明实施例提供的一种业务消息的传输方法,下面将列举两种可能的应用场景,进行示例性的说明。
一种可能的应用场景为,当本发明实施例提供的业务消息的传输方法应用于群组管理中时,第一资源为群组资源,第二资源的标识为群组资源中的成员资源的标识,M2M服务器可能会通过两种可能的实现方式(方式一和方式二)执行如图3所示方法。
方式一:当M2M服务器创建群组资源时,M2M服务器为该群组资源生成第一公共主题。
如图5所示,上述S304具体可以为:
S304a、M2M服务器在接收到群组资源的创建请求消息后,根据为该群组资源分配的群组资源的标识,为该群组资源生成该群组资源的第一公共主题,该群组资源的第一公共主题包含该群组资源的标识。
当发起端(英文:originator)需要向M2M服务器请求创建群组资源时,发起端可以通过MQTT服务器向M2M服务器发送群组创建请求消息。其中,发起端可以为向M2M服务器发送群组创建请求消息的CSE。
当M2M服务器接收到群组创建请求消息后,M2M服务器根据群组创建请求消息,创建群组资源,并为该群组资源分配该群组资源的标识,以及为该群组资源生成该群组资源的第一公共主题。其中,该群组资源的第一公共主题包含该群组资源的标识。
举例来说,假设M2M服务器为该群组资源分配的标识为“g.example.com/group”,则M2M服务器根据该群组资源的标识,可
以将该第一公共主题的主题名配置为“/oneM2M/group/g.example.com/req”,即M2M服务器为该群组资源生成包含该群组资源的标识的第一公共主题“/oneM2M/group/g.example.com/req”。由于该群组资源的标识是唯一的,因此M2M服务器根据该群组资源的标识,为该群组资源生成的该第一公共主题也是唯一的,即第一公共主题具有唯一性。
进一步的,在方式一中,如图5所示,上述S306中的第二业务消息为M2M服务器对与该成员资源的标识对应的M2M终端的通知消息。其中,上述S305-S306具体可以为:
S305a、M2M服务器将该成员资源的标识,作为与该成员资源的标识对应的M2M终端已经订阅的第一主题包含的内容。
S306a、M2M服务器通过MQTT服务器向至少两个M2M终端中的每一个M2M终端发送一条第二MQTT消息,第二MQTT消息中包含通知消息和第一主题,该通知消息携带该群组资源的第一公共主题。
其中,该群组资源中的多个成员资源的标识可能对应一个M2M终端,也可能分别对应多个M2M终端。
示例性的,假设该群组资源的成员资源分别为成员资源1、成员资源2和成员资源3,其中成员资源1的标识对应的M2M终端为M2M终端1,成员资源2和成员资源3对应的M2M终端都为M2M终端2。则当M2M服务器在创建由成员资源1,成员资源2和成员资源3形成的群组资源时,M2M服务器将成员资源1的标识作为M2M终端1已订阅的第一主题(以下称为第一主题1),M2M服务器将成员资源2的标识作为M2M终端2已订阅的第一主题(以下称为第一主题2),M2M服务器将成员资源3的标识作为M2M终端3已订阅的第一主题(以下称为第一主题3),即M2M服务器为M2M终端1生成包含成员资源1的标识的第一主题1,M2M服务器为M2M终端2生成包含成员资源2的标识的第一主题2和包含成员资源3的标识的第一主题3。M2M服务器通过MQTT服务器向成员资源1的标识对应的M2M终端1发送一条包含第一主题1的第二MQTT消息,M2M服务器通过MQTT服务器向成员资源2的标识对应的M2M终端2发送一条包含第一主题2的第二MQTT消息,以及M2M服务器通过MQTT服务器向成员资源3的标识对应的M2M终端2发送一条包含第一主题3的第二MQTT消息。
方式二:当M2M服务器在接收到对群组资源的成员资源的访问请求消息时,M2M服务器为该群组资源生成第一公共主题。
如图6所示,上述S304具体可以包括:
S304b、M2M服务器在接收到对群组资源的成员资源的访问请求消息后,M2M服务器根据对该群组资源的成员资源的访问请求消息中包含的群组资源的标识确定没有与该群组资源对应的第一公共主题。
其中,对该群组资源的成员资源的访问请求消息可以为与该群组资源对应的某个M2M终端向M2M服务器发送的,也可以为该群组资源以外的CSE发送的。
具体的,若M2M服务器根据该群组资源的标识确定该群组资源没有一项子资源为包含该群组资源的标识的主题,则M2M服务器确定没有与该群组资源对应的第一公共主题。或者,若M2M服务器根据该群组资源的标识确定该群组资源没有一项属性为包含该群组资源的标识的主题,则M2M服务器确定没有与该群组资源对应的第一公共主题。
S304c、M2M服务器根据该群组资源的标识,为该群组资源生成该群组资源的第一公共主题,该群组资源的第一公共主题包含该群组资源的标识。
具体的,M2M服务器根据该群组资源的标识,为该群组资源生成该群组资源的第一公共主题的方式,可以参见上述S304a中的相关描述,此处不再赘述。
进一步的,如图6所示,在方式二中,上述S306中的第二业务消息为M2M服务器根据对该群组资源的成员资源的访问请求消息生成的第一访问请求消息,该第一访问请求消息为M2M服务器发送给与该成员资源的标识对应的M2M终端的访问请求消息。其中,上述S305-S306具体可以为:
S305a、M2M服务器将该成员资源的标识,作为与该成员资源的标识对应的M2M终端已经订阅的第一主题包含的内容。
S306b、M2M服务器通过MQTT服务器向至少两个M2M终端中的每一个M2M终端发送一条第二MQTT消息,第二MQTT消息中包含第一访问请求消息和第一主题,第一访问请求消息中携带该群组资源的第一公共主题。
具体的,上述S306b的具体实现方式与上述S306a的具体实现方式类似,此处不再赘述。
另一种可能的应用场景为,当本发明实施例提供的业务消息的传输方法应用于订阅通知管理中时,第一资源为订阅资源,M2M服务器可能会通过两种可能的实现方式(方式三和方式四)执行如图3所示方法。
方式三:当M2M服务器发送订阅通知消息时,M2M服务器为订阅资源生成该订阅资源的第一公共主题。
如图7所示,上述S304具体包括:
S304d、当M2M服务器确定订阅资源发生变化时,M2M服务器根据该订阅资源的标识确定没有与该订阅资源对应的第一公共主题。
具体的,M2M服务器根据该订阅资源的标识确定该订阅资源没有一项子资源为包含该订阅资源的标识的主题,则M2M服务器确定没有与该订阅资源对应的第一公共主题。或者,M2M服务器根据该订阅资源的标识确定该订阅资源没有一项属性为包含该订阅资源的标识的主题,则M2M服务器确定没有与该订阅资源对应的第一公共主题。
S304e、M2M服务器根据该订阅资源的标识,为该订阅资源生成该订阅资源的第一公共主题,该订阅资源的第一公共主题中包含该订阅资源的标识。
进一步的,在方式三中,当至少两个M2M终端向M2M服务器订阅的订阅资源发生变化时,若该订阅资源的变化情况满足该至少两个M2M终端的通知过滤条件,则M2M服务器会生成订阅通知消息,并判断公共主题中是否有与该订阅资源关联的第一公共主题。若公共主题中无该第一公共主题,M2M服务器则会根据该订阅资源的标识符(具体可以为该订阅资源的标识和编号),生成包含该订阅资源标识和编号的第一公共主题。其中,M2M终端的通知过滤条件是M2M终端向M2M服务器请求创建订阅通知时,M2M终端发送给M2M服务器的。
特别的,M2M终端的通知过滤条件可以理解为,M2M服务器向该M2M终端发送订阅通知消息的条件。
示例性的,假设M2M终端向M2M服务器订阅的订阅资源为在M2M服务器中存储的温度资源,且M2M终端的通知过滤条件为:当温度高
于5°且低于15°时,M2M服务器向该M2M终端发送订阅通知消息。当M2M服务器检测到在该M2M服务器中存储的温度资源发生变化时,M2M服务器判断该温度资源的变化情况是否满足该通知过滤条件,即M2M服务器判断当前温度是否高于5度且低于15度。若M2M服务器判断该温度资源的变化情况满足M2M终端的通知过滤条件,M2M服务器则生成订阅通知消息,并将该订阅通知消息发送给该M2M终端。
进一步的,在方式三中,如图7所示,上述S306中的第二业务消息为M2M服务器对每一个订阅该订阅资源的M2M终端的订阅通知消息。其中,上述S305-S306具体可以为:
S305b、M2M服务器将每一个订阅该订阅资源的M2M终端中存储的第二资源的标识,作为该M2M终端已经订阅的第一主题包含的内容。
S306c、M2M服务器通过MQTT服务器向至少两个M2M终端中的每一个M2M终端发送一条第二MQTT消息,第二MQTT消息中包含订阅通知消息和第一主题,订阅通知消息中携带该订阅资源的第一公共主题。
方式四:当M2M服务器创建订阅通知时,M2M服务器为M2M服务器中的订阅资源生成第一公共主题。
如图8所示,上述S304具体为:
S304f、当M2M服务器接收到对订阅资源的订阅创建请求消息时,该对该订阅资源的订阅创建请求消息中包含该订阅资源的标识,以及订阅该订阅资源的M2M终端中存储的第二资源的标识,M2M服务器根据该订阅资源的标识,为该订阅资源生成该订阅资源的第一公共主题,该订阅资源的第一公共主题中包含该订阅资源的标识。
在本发明实施例中,当至少两个M2M终端中的每一个M2M终端向M2M服务器请求对订阅资源创建订阅通知时,该至少两个M2M终端中的每一个M2M终端向M2M服务器发送订阅创建请求消息。其中,该至少两个M2M终端中的每一个M2M终端发送的订阅创建请求消息中还可以包括该M2M终端的通知过滤条件,该M2M终端请求订阅的订阅资源的标识,以及该M2M终端中存储的第二资源的标识。该M2M终端中存储的第二资源的标识用于M2M服务器生成订阅通知消息后,确定该订阅通知消息的目的地址。
需要说明的是,在方式四中,由于该至少两个M2M终端的通知过滤条件可能相同,也可能不同,因此M2M服务器根据该订阅资源的标
识生成的第一公共主题可能只有一个,也可能有多个。具体的,当该至少两个M2M终端的通知过滤条件相同时,M2M服务器根据该订阅资源的标识生成的第一公共主题只有一个;当该至少两个M2M终端的通知过滤条件不同时,M2M服务器根据该订阅资源的标识生成的第一公共主题有多个。
进一步地,当M2M服务器接收到该至少两个M2M终端中的第一个M2M终端发送的订阅创建请求消息时,M2M服务器为该第一个M2M终端的订阅资源的标识分配编号,例如编号为1,则M2M服务器根据该订阅资源的标识和该编号1,生成与该第一个M2M终端对应的该订阅资源的第一公共主题。
当M2M服务器接收到该至少两个M2M终端中的第二个M2M终端发送的订阅创建请求消息时,若M2M服务器确定该第二个M2M终端的通知过滤条件与该第一个M2M终端的通知过滤条件相同,则M2M服务器可将为该第一个M2M终端生成的第一公共主题分配给该第二个M2M终端。若M2M服务器确定该第二个M2M终端的通知过滤条件与该第一个M2M终端的通知过滤条件不同,则M2M服务器为该第二个M2M终端的订阅资源的标识分配编号,例如编号为2,并根据该订阅资源的标识和该编号2,生成与该第二个M2M终端对应的该订阅资源的第一公共主题。
进一步地,在方式四中,如图8所示,上述S306中的第二业务消息为M2M服务器根据该对该订阅资源的订阅创建请求消息生成的订阅创建响应消息,该订阅创建响应消息为M2M服务器需发送给每一个订阅该订阅资源的M2M终端的响应消息。其中,上述S305-S306具体可以为:
S305c、M2M服务器将每一个订阅该订阅资源的M2M终端中存储的第二资源的标识,作为该M2M终端已经订阅的第一主题包含的内容。
S306d、M2M服务器通过MQTT服务器向至少两个M2M终端中的每一个M2M终端发送一条第二MQTT消息,第二MQTT消息中包含订阅创建响应消息和第一主题,订阅创建响应消息中携带该订阅资源的第一公共主题。
本发明实施例提供一种业务消息的传输方法,M2M服务器确定向与M2M服务器中存储的第一资源对应的至少两个M2M终端发送相同内容的第一业务消息,并确定为该第一资源生成的所述第一公共主题,
以及向MQTT服务器发送一次第一MQTT消息,第一MQTT消息中包含第一业务消息和第一公共主题,第一业务消息包含发送给至少两个终端的相同内容。与现有技术中M2M服务器需向MQTT服务器发布多个包含不同的主题的MQTT消息相比,本发明实施例提供的业务消息的传输方法,能够减小M2M服务器与MQTT服务器之间的通信开销。
如图9所示,本发明实施例提供一种M2M终端,该M2M终端可以包括:
接收单元10,用于接收MQTT服务器发送的第一MQTT消息,所述第一MQTT消息中包含第一业务消息和第一公共主题。
查找单元11,用于根据存储单元12保存的所述第一公共主题与在所述存储单元12中存储的资源的标识之间的映射关系,查找与所述接收单元10接收的所述第一公共主题对应的所述在所述存储单元12中存储的资源的标识。
执行单元13,用于对所述查找单元10查找的所述在所述存储单元12中存储的资源的标识指示的所述在所述存储单元12中存储的资源执行与所述接收单元10接收的所述第一业务消息相关的操作。
可选的,结合图9,如图10所示,所述M2M终端还包括发送单元14。
所述接收单元10,还用于在接收MQTT服务器发送的第一MQTT消息之前,接收所述MQTT服务器发送的第二MQTT消息,所述第二MQTT消息中包含第二业务消息和第一主题,所述第二业务消息中包含所述第一公共主题,所述第一主题中包含所述在所述存储单元12中存储的资源的标识。
所述存储单元12,用于保存所述接收单元10接收的所述第一公共主题与所述在所述存储单元12中存储的资源的标识之间的映射关系。
所述发送单元14,用于向所述MQTT服务器发送第一订阅主题的消息,所述第一订阅主题的消息中包含所述接收单元10接收的所述第一公共主题以及所述M2M终端的标识。
可选的,所述发送单元14,还用于在所述接收单元接收所述MQTT服务器发送的第二MQTT消息之前,向所述MQTT服务器发送第二订阅主题的消息,所述第二订阅主题的消息包含所述M2M终端需要订阅的
所述第一主题。
在本发明实施例中,该M2M终端可以为传感器或者微控制器等。
本发明实施例提供一种M2M终端,由于该M2M能够接收MQTT服务器发送的第一MQTT消息,并根据保存的该第一公共主题与在该M2M终端中存储的资源的标识之间的映射关系,查找与该第一公共主题对应的在该M2M终端中存储的资源的标识,以及对在该M2M终端中存储的资源的标识指示的在该M2M终端中存储的资源执行与该第一业务消息相关的操作,该第一MQTT消息中包含第一业务消息和第一公共主题。因此,当M2M服务器需向与该M2M服务器中存储的资源对应的至少两个该M2M终端发送相同内容的第一业务消息时,MQTT服务器只需发送一次第一MQTT消息到MQTT服务器,由于该至少两个M2M终端都订阅了该第一公共主题,因此MQTT服务器会将该第一MQTT消息转发给该至少两个M2M终端,且该至少两个M2M终端中的每个M2M终端能够根据该第一公共主题与在该每个M2M终端中存储的资源的标识之间的映射关系,执行与该第一业务消息相关的操作,从而能够减小M2M服务器与MQTT服务器之间的通信开销。
如图11所示,本发明实施例提供一种M2M服务器,该M2M服务器可以包括:
确定单元20,用于当需向与存储单元22中存储的第一资源对应的至少两个M2M终端发送相同内容的第一业务消息时,确定为所述第一资源生成的第一公共主题。
发送单元21,用于向MQTT服务器发送一次第一MQTT消息,所述第一MQTT消息中包含所述第一业务消息和所述确定单元20确定的所述第一公共主题,所述第一业务消息中包含发送给所述至少两个M2M终端的相同内容。
可选的,结合如11,如图12所示,所述M2M服务器还包括:
生成单元23,用于所述确定单元20确定为所述第一资源生成的第一公共主题之前,为所述第一资源生成所述第一公共主题,并将所述至少两个M2M终端中的每一个M2M终端中存储的第二资源的标识作为该M2M终端已经订阅的第一主题包含的内容。
其中,所述生成单元23为所述第一资源生成所述第一公共主题之后,将所述第一公共主题与所述第一资源关联,并存储到存储单元22
中。
所述发送单元21,还用于通过所述MQTT服务器向所述至少两个M2M终端中的每一个M2M终端发送一条第二MQTT消息,所述第二MQTT消息中包含第二业务消息和所述生成单元23生成的所述第一主题,所述第二业务消息中包含所述生成单元23生成的所述第一公共主题。
可选的,如图12所示,当所述第一资源为群组资源时,所述第二资源的标识为所述群组资源中的成员资源的标识,所述生成单元23,具体用于在接收到所述群组资源的创建请求消息后,根据为所述群组资源分配的所述群组资源的标识,为所述群组资源生成所述群组资源的第一公共主题,并将所述成员资源的标识,作为与所述成员资源的标识对应的M2M终端已经订阅的第一主题包含的内容,所述群组资源的第一公共主题中包含所述群组资源的标识。其中,所述发送单元21发送的所述第二业务消息为所述M2M服务器对与所述成员资源的标识对应的M2M终端的通知消息。
可选的,结合图12,如图13所示,当所述第一资源为群组资源时,所述第二资源的标识为所述群组资源中的成员资源的标识,所述生成单元23具体包括确定模块200和生成模块201。
所述确定模块200,用于在接收到对所述群组资源的成员资源的访问请求消息后,根据所述对所述群组资源的成员资源的访问请求消息中包含的所述群组资源的标识确定没有与所述群组资源对应的第一公共主题。
所述生成模块201,用于当所述确定模块200确定没有与所述群组资源对应的第一公共主题时,根据所述群组资源的标识,为所述群组资源生成所述群组资源的第一公共主题,并将所述成员资源的标识,作为与所述成员资源的标识对应的M2M终端已经订阅的第一主题包含的内容,所述群组资源的第一公共主题中包含所述群组资源的标识。
其中,所述发送单元21发送的所述第二业务消息为所述M2M服务器根据所述对所述群组资源的成员资源的访问请求消息生成的第一访问请求消息,所述第一访问请求消息为所述M2M服务器发送给与所述成员资源的标识对应的M2M终端的访问请求消息。
可选的,如图13所示,当所述第一资源为订阅资源时,所述生成单元23具体包括确定模块200和生成模块201。
所述确定模块200,用于当确定所述订阅资源发生变化时,根据所述订阅资源的标识确定没有与所述订阅资源对应的第一公共主题。
所述生成模块201,用于在所述确定模块200确定没有与所述订阅资源对应的第一公共主题时,根据所述订阅资源的标识,为所述订阅资源生成所述订阅资源的第一公共主题,并将每一个订阅所述订阅资源的M2M终端中存储的第二资源的标识,作为该M2M终端已经订阅的第一主题包含的内容,所述订阅资源的第一公共主题中包含所述订阅资源的标识。
其中,所述发送单元21发送的所述第二业务消息为对每一个订阅所述订阅资源的M2M终端的订阅通知消息。
可选的,如图12所示,当所述第一资源为订阅资源时,所述生成单元23,具体用于当接收到对所述订阅资源的订阅创建请求消息时,根据所述订阅资源的标识,为所述订阅资源生成所述订阅资源的第一公共主题,并将每一个订阅所述订阅资源的M2M终端中存储的第二资源的标识,作为该M2M终端已经订阅的第一主题包含的内容,所述对所述订阅资源的订阅创建请求消息中包含所述订阅资源的标识以及订阅所述订阅资源的M2M终端中存储的第二资源的标识,所述订阅资源的第一公共主题中包含所述订阅资源的标识。
其中,所述发送单元21发送的所述第二业务消息为所述M2M服务器根据所述对所述订阅资源的订阅创建请求消息生成的订阅创建响应消息,所述订阅创建响应消息为所述M2M服务器需发送给每一个订阅所述订阅资源的M2M终端的响应消息。
在本发明实施例中,该M2M服务器可以为M2M应用,具体可以包括电力抄表服务器、智能交通服务器以及车队管理服务器等。
本发明实施例提供一种M2M服务器,当该M2M服务器需向与该M2M服务器中存储的第一资源对应的至少两个M2M终端发送相同内容的第一业务消息时,该M2M服务器能够确定为该第一资源生成的所述第一公共主题,以及向MQTT服务器发送一次第一MQTT消息,第一MQTT消息中包含第一业务消息和第一公共主题,第一业务消息包含发送给至少两个终端的相同内容。与现有技术中M2M服务器需向MQTT服务器发布多个包含不同的主题的MQTT消息相比,使用本发明实施例提供的M2M服务器,能够减小M2M服务器与MQTT服务器之间的通信开销。
如图14所示,本发明实施例提供一种M2M终端,该M2M终端包括:处理器30、存储器31、收发器32,以及系统总线33。所述:处理器30、存储器31以及收发器32之间通过所述系统总线33连接并完成相互间的通信。
所述处理器30可以是一个中央处理器(Central Processing Unit,CPU),或者是特定集成电路(Application Specific Integrated Circuit,ASIC),或者是被配置成实施本发明实施例的一个或多个集成电路。
所述收发器32,可以为由独立的接收器和独立的发送器组成的模块,也可以为由接收器和发送器集成的模块。
所述存储器31可以包括易失性存储器(英文:volatile memory),例如随机存取存储器(英文:random-access memory,缩写:RAM);所述存储器31也可以包括非易失性存储器(英文:non-volatile memory),例如只读存储器(英文:read-only memory,缩写:ROM),快闪存储器(英文:flash memory),硬盘(英文:hard disk drive,缩写:HDD)或固态硬盘(英文:solid-state drive,缩写:SSD);所述存储器31还可以包括上述种类的存储器的组合。
当所述M2M终端运行时,处理器30、存储器31以及收发器32,可以执行图1、图3或图5至图8任意之一所述的方法流程,具体包括:
所述收发器32,用于接收MQTT服务器发送的第一MQTT消息,所述第一MQTT消息中包含第一业务消息和第一公共主题;所述处理器30,用于根据保存的所述第一公共主题与在所述M2M终端中存储的资源的标识之间的映射关系,查找与所述收发器32接收的所述第一公共主题对应的所述在所述M2M终端中存储的资源的标识,以及对所述在所述M2M终端中存储的资源的标识指示的所述在所述M2M终端中存储的资源执行与所述第一业务消息相关的操作;所述存储器31,用于存储所述第一MQTT消息的代码、所述第一业务消息的代码、所述M2M终端中存储的资源的代码、所述M2M终端中存储的资源的标识的代码、所述第一公共主题的代码,以及控制所述处理器30完成上述过程的软件程序,从而所述处理器30通过执行所述软件程序,并调用所述第一MQTT消息的代码、所述第一业务消息的代码、所述M2M终端中存储的资源的代码、所述M2M终端中存储的资源的标识的代码,以及所述第一公共
主题的代码,完成上述过程。
可选的,所述收发器32,还用于在接收MQTT服务器发送的第一MQTT消息之前,接收所述MQTT服务器发送的第二MQTT消息,并向所述MQTT服务器发送第一订阅主题的消息,所述第二MQTT消息中包含第二业务消息和第一主题,所述第二业务消息中包含所述第一公共主题,所述第一主题中包含所述在所述M2M终端中存储的资源的标识,所述第一订阅主题的消息中包含所述第一公共主题以及所述M2M终端的标识。
所述处理器30,还用于保存所述收发器接收的所述第一公共主题与所述在所述M2M终端中存储的资源的标识之间的映射关系。
可选的,所述收发器32,还用于在接收所述MQTT服务器发送的第二MQTT消息之前,向所述MQTT服务器发送第二订阅主题的消息,所述第二订阅主题的消息包含所述M2M终端需要订阅的所述第一主题。
本发明实施例提供一种M2M终端,由于该M2M能够接收MQTT服务器发送的第一MQTT消息,并根据保存的该第一公共主题与在该M2M终端中存储的资源的标识之间的映射关系,查找与该第一公共主题对应的资源的标识,以及对该资源的标识指示的资源执行与该第一业务消息相关的操作,该第一MQTT消息中包含第一业务消息和第一公共主题。因此,当M2M服务器需向与该M2M服务器中存储的资源对应的至少两个该M2M终端发送相同内容的第一业务消息时,MQTT服务器只需发送一次第一MQTT消息到MQTT服务器,由于该至少两个M2M终端都订阅了该第一公共主题,因此MQTT服务器会将该第一MQTT消息转发给该至少两个M2M终端,且该至少两个M2M终端中的每个M2M终端能够根据该第一公共主题与在该每个M2M终端中存储的资源的标识之间的映射关系,执行与该第一业务消息相关的操作。与现有技术中MQTT服务器需发送多个包含不同主题的MQTT消息到MQTT服务器相比,本发明实施例提供的M2M终端在与M2M服务器进行通信时,能够减小M2M服务器与MQTT服务器之间的通信开销。
如图15所示,本发明实施例提供一种M2M服务器,该M2M服务器包括:处理器40、存储器41、收发器42,以及系统总线43。所述:处理器40、存储器41以及收发器42之间通过所述系统总线43连接并完成相互间的通信。
所述处理器40可以是一个CPU,或者是ASIC,或者是被配置成实施本发明实施例的一个或多个集成电路。
所述收发器42,可以为由独立的接收器和独立的发送器组成的模块,也可以为由接收器和发送器集成的模块。
所述存储器41可以包括易失性存储器,例如RAM;所述存储器43也可以包括非易失性存储器,例如ROM,快闪存储器,HDD或SSD;所述存储器41还可以包括上述种类的存储器的组合。
当所述M2M服务器运行时,所述处理器40、存储器41以及收发器42可以执行图2至图3或图5至图8任意之一所述的方法流程,具体包括:
所述处理器40,用于当需向与所述M2M服务器中存储的第一资源对应的至少两个M2M终端发送相同内容的第一业务消息时,确定为所述第一资源生成的第一公共主题;所述收发器42,用于向MQTT服务器发送一次第一MQTT消息,所述第一MQTT消息中包含所述第一业务消息和所述第一公共主题,所述第一业务消息中包含发送给所述至少两个M2M终端的相同内容;所述存储器41,用于存储所述M2M服务器中存储的第一资源的代码、所述第一MQTT消息的代码、所述第一业务消息、所述第一公共主题以及控制所述处理器40完成上述过程的软件程序,从而所述处理器40通过执行所述软件程序,并调用所述M2M服务器中存储的第一资源的代码、所述第一MQTT消息的代码、所述第一业务消息,以及所述第一公共主题,完成上述过程。
可选的,所述处理器40,还用于在确定为所述第一资源生成的第一公共主题之前,为所述第一资源生成所述第一公共主题,并将所述至少两个M2M终端中的每一个M2M终端中存储的第二资源的标识作为该M2M终端已经订阅的第一主题包含的内容。
所述收发器42,还用于通过所述MQTT服务器向所述至少两个M2M终端中的每一个M2M终端发送一条第二MQTT消息,所述第二MQTT消息中包含第二业务消息和所述第一主题,所述第二业务消息中包含所述第一公共主题。
可选的,当所述第一资源为群组资源时,所述第二资源的标识为所述群组资源中的成员资源的标识,所述处理器40,具体用于在接收到所述群组资源的创建请求消息后,根据为所述群组资源分配的所述
群组资源的标识,为所述群组资源生成所述群组资源的第一公共主题,并将所述成员资源的标识,作为与所述成员资源的标识对应的M2M终端已经订阅的第一主题包含的内容,所述群组资源的第一公共主题中包含所述群组资源的标识。其中,所述收发器42发送的所述第二业务消息为所述M2M服务器对与所述成员资源的标识对应的M2M终端的通知消息。
可选的,当所述第一资源为群组资源时,所述第二资源的标识为所述群组资源中的成员资源的标识,所述处理器40,具体用于在接收到对所述群组资源的成员资源的访问请求消息后,根据所述对所述群组资源的成员资源的访问请求消息中包含的所述群组资源的标识确定没有与所述群组资源对应的第一公共主题,并根据所述群组资源的标识,为所述群组资源生成所述群组资源的第一公共主题,以及将所述成员资源的标识,作为与所述成员资源的标识对应的M2M终端已经订阅的第一主题包含的内容,所述群组资源的第一公共主题中包含所述群组资源的标识。
其中,所述收发器42发送的所述第二业务消息为所述M2M服务器根据所述对所述群组资源的成员资源的访问请求消息生成的第一访问请求消息,所述第一访问请求消息为所述M2M服务器发送给与所述成员资源的标识对应的M2M终端的访问请求消息。
可选的,当所述第一资源为订阅资源时,所述处理器40,具体用于当确定所述订阅资源发生变化时,根据所述订阅资源的标识确定没有与所述订阅资源对应的第一公共主题,并根据所述订阅资源的标识,为所述订阅资源生成所述订阅资源的第一公共主题,以及将每一个订阅所述订阅资源的M2M终端中存储的第二资源的标识,作为该M2M终端已经订阅的第一主题包含的内容,所述订阅资源的第一公共主题中包含所述订阅资源的标识。
其中,所述收发器42发送的所述第二业务消息为对每一个订阅所述订阅资源的M2M终端的订阅通知消息。
可选的,当所述第一资源为订阅资源时,所述处理器40,具体用于当接收到对所述订阅资源的订阅创建请求消息时,根据所述订阅资源的标识,为所述订阅资源生成所述订阅资源的第一公共主题,并将每一个订阅所述订阅资源的M2M终端中存储的第二资源的标识,作为
该M2M终端已经订阅的第一主题包含的内容,所述对所述订阅资源的订阅创建请求消息中包含所述订阅资源的标识以及订阅所述订阅资源的M2M终端中存储的第二资源的标识,所述订阅资源的第一公共主题中包含所述订阅资源的标识。
其中,所述收发器42发送的所述第二业务消息为所述M2M服务器根据所述对所述订阅资源的订阅创建请求消息生成的订阅创建响应消息,所述订阅创建响应消息为所述M2M服务器需发送给每一个订阅所述订阅资源的M2M终端的响应消息。
本发明实施例提供一种M2M服务器,当该M2M服务器需向与该M2M服务器中存储的第一资源对应的至少两个M2M终端发送相同内容的第一业务消息时,该M2M服务器能够确定为该第一资源生成的所述第一公共主题,以及向MQTT服务器发送一次第一MQTT消息,第一MQTT消息中包含第一业务消息和第一公共主题,第一业务消息包含发送给至少两个终端的相同内容。与现有技术中M2M服务器需向MQTT服务器发布多个包含不同的主题的MQTT消息相比,使用本发明实施例提供的M2M服务器,能够减小M2M服务器与MQTT服务器之间的通信开销。
如图16所示,本发明实施例提供一种业务消息的传输系统,该业务消息的传输系统可以包括:如上述图9或图10所示的M2M终端、如上述图11至图13所示的任一种M2M服务器,以及MQTT服务器,其中,所述MQTT服务器与所述M2M服务器和所述M2M终端进行交互;或者该业务消息的传输系统包括:如上述图14所示的M2M终端、如上述图15所示的M2M服务器,以及MQTT服务器,其中,所述MQTT服务器与所述M2M服务器和所述M2M终端进行交互。
在本发明实施例提供的该业务消息的传输系统中,当M2M服务器需向与该M2M服务器中存储的第一资源对应的至少两个M2M终端发送内容相同的第一业务消息时,M2M服务器能够确定为该第一资源生成的公共主题,并向MQTT服务器发送一次第一MQTT消息,该第一MQTT消息中包含该第一业务消息和该第一公共主题,该第一业务消息中包含发送给所述至少两个M2M终端的相同内容。该至少两个M2M终端中的每个M2M终端都能够接收MQTT服务器发送的第一MQTT消息,并根据保存的该第一公共主题与在该M2M终端中存储的资源的标识之间的映射关系,查找与该第一公共主题对应的在该M2M终端中存储的资源的
标识,以及对在该M2M终端中存储的资源的标识指示的在该M2M终端中存储的资源执行与该第一业务消息相关的操作。
通过本发明实施例提供的业务消息的传输系统,当M2M服务器需向与该M2M服务器中存储的第一资源对应的至少两个M2M终端发送内容相同的业务消息时,M2M服务能够只向MQTT服务器发送一次第一MQTT消息,该至少两个M2M终端中的每个M2M终端都能接收到该第一MQTT消息,并执行相应的操作。与现有技术中M2M服务器需向MQTT服务器发送多个包含不同的主题的MQTT消息相比,本发明实施例提供的业务消息的传输系统,能够减小M2M服务器与MQTT服务器之间的通信开销。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(英文全称:Read-Only Memory,英文缩写:ROM)、随机存取存储器(英文全称:Random Access Memory,英文缩写:RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。
因此,本发明的保护范围应所述以权利要求的保护范围为准。
Claims (19)
- 一种业务消息的传输方法,其特征在于,包括:机器对机器M2M终端接收消息序列遥测传输MQTT服务器发送的第一MQTT消息,所述第一MQTT消息中包含第一业务消息和第一公共主题;所述M2M终端根据保存的所述第一公共主题与在所述M2M终端中存储的资源的标识之间的映射关系,查找与所述第一公共主题对应的所述在所述M2M终端中存储的资源的标识;所述M2M终端对所述在所述M2M终端中存储的资源的标识指示的所述在所述M2M终端中存储的资源执行与所述第一业务消息相关的操作。
- 根据权利要求1所述的方法,其特征在于,所述M2M终端接收MQTT服务器发送的第一MQTT消息之前,所述方法还包括:所述M2M终端接收所述MQTT服务器发送的第二MQTT消息,所述第二MQTT消息中包含第二业务消息和第一主题,所述第二业务消息中包含所述第一公共主题,所述第一主题中包含所述在所述M2M终端中存储的资源的标识;所述M2M终端保存所述第一公共主题与所述在所述M2M终端中存储的资源的标识之间的映射关系;所述M2M终端向所述MQTT服务器发送第一订阅主题的消息,所述第一订阅主题的消息中包含所述第一公共主题以及所述M2M终端的标识。
- 根据权利要求2所述的方法,其特征在于,所述M2M终端接收所述MQTT服务器发送的第二MQTT消息之前,所述方法还包括:所述M2M终端向所述MQTT服务器发送第二订阅主题的消息,所述第二订阅主题的消息包含所述M2M终端需要订阅的所述第一主题。
- 一种业务消息的传输方法,其特征在于,包括:当机器对机器M2M服务器需向与所述M2M服务器中存储的第一资源对应的至少两个M2M终端发送相同内容的第一业务消息时,所述M2M服务器确定为所述第一资源生成的第一公共主题;所述M2M服务器向消息序列遥测传输MQTT服务器发送一次第一MQTT消息,所述第一MQTT消息中包含所述第一业务消息和所述第一公 共主题,所述第一业务消息中包含发送给所述至少两个M2M终端的相同内容。
- 根据权利要求4所述的方法,其特征在于,所述M2M服务器确定为所述第一资源生成的第一公共主题之前,所述方法还包括:所述M2M服务器为所述第一资源生成所述第一公共主题;所述M2M服务器将所述至少两个M2M终端中的每一个M2M终端中存储的第二资源的标识作为该M2M终端已经订阅的第一主题包含的内容;所述M2M服务器通过所述MQTT服务器向所述至少两个M2M终端中的每一个M2M终端发送一条第二MQTT消息,所述第二MQTT消息中包含第二业务消息和所述第一主题,所述第二业务消息中包含所述第一公共主题。
- 根据权利要求5所述的方法,其特征在于,当所述第一资源为群组资源时,所述第二资源的标识为所述群组资源中的成员资源的标识,所述M2M服务器为所述第一资源生成所述第一公共主题具体为:所述M2M服务器在接收到所述群组资源的创建请求消息后,根据为所述群组资源分配的所述群组资源的标识,为所述群组资源生成所述群组资源的第一公共主题,所述群组资源的第一公共主题中包含所述群组资源的标识;所述M2M服务器将所述至少两个M2M终端中的每一个M2M终端中存储的第二资源的标识作为该M2M终端已经订阅的第一主题包含的内容具体为:所述M2M服务器将所述成员资源的标识,作为与所述成员资源的标识对应的M2M终端已经订阅的第一主题包含的内容;其中,所述第二业务消息为所述M2M服务器对与所述成员资源的标识对应的M2M终端的通知消息。
- 根据权利要求5所述的方法,其特征在于,当所述第一资源为群组资源时,所述第二资源的标识为所述群组资源中的成员资源的标识,所述M2M服务器为所述第一资源生成所述第一公共主题具体为:所述M2M服务器在接收到对所述群组资源的成员资源的访问请求消息后,所述M2M服务器根据所述对所述群组资源的成员资源的访问请求消息中包含的所述群组资源的标识确定没有与所述群组资源对应 的第一公共主题;所述M2M服务器根据所述群组资源的标识,为所述群组资源生成所述群组资源的第一公共主题,所述群组资源的第一公共主题中包含所述群组资源的标识;所述M2M服务器将所述至少两个M2M终端中的每一个M2M终端中存储的第二资源的标识作为该M2M终端已经订阅的第一主题包含的内容具体为:所述M2M服务器将所述成员资源的标识,作为与所述成员资源的标识对应的M2M终端已经订阅的第一主题包含的内容;其中,所述第二业务消息为所述M2M服务器根据所述对所述群组资源的成员资源的访问请求消息生成的第一访问请求消息,所述第一访问请求消息为所述M2M服务器发送给与所述成员资源的标识对应的M2M终端的访问请求消息。
- 根据权利要求5所述的方法,其特征在于,当所述第一资源为订阅资源时,所述M2M服务器为所述第一资源生成所述第一公共主题具体为:当所述M2M服务器确定所述订阅资源发生变化时,所述M2M服务器根据所述订阅资源的标识确定没有与所述订阅资源对应的第一公共主题;所述M2M服务器根据所述订阅资源的标识,为所述订阅资源生成所述订阅资源的第一公共主题,所述订阅资源的第一公共主题中包含所述订阅资源的标识;所述M2M服务器将所述至少两个M2M终端中的每一个M2M终端中存储的第二资源的标识作为该M2M终端已经订阅的第一主题包含的内容具体为:所述M2M服务器将每一个订阅所述订阅资源的M2M终端中存储的第二资源的标识,作为该M2M终端已经订阅的第一主题包含的内容;其中,所述第二业务消息为所述M2M服务器对每一个订阅所述订阅资源的M2M终端的订阅通知消息。
- 根据权利要求5所述的方法,其特征在于,当所述第一资源为订阅资源时,所述M2M服务器为所述第一资源生成所述第一公共主题具体为:当所述M2M服务器接收到对所述订阅资源的订阅创建请求消息时, 所述对所述订阅资源的订阅创建请求消息中包含所述订阅资源的标识以及订阅所述订阅资源的M2M终端中存储的第二资源的标识,所述M2M服务器根据所述订阅资源的标识,为所述订阅资源生成所述订阅资源的第一公共主题,所述订阅资源的第一公共主题中包含所述订阅资源的标识;所述M2M服务器将所述至少两个M2M终端中的每一个M2M终端中存储的第二资源的标识作为该M2M终端已经订阅的第一主题包含的内容具体为:所述M2M服务器将每一个订阅所述订阅资源的M2M终端中存储的第二资源的标识,作为该M2M终端已经订阅的第一主题包含的内容;其中,所述第二业务消息为所述M2M服务器根据所述对所述订阅资源的订阅创建请求消息生成的订阅创建响应消息,所述订阅创建响应消息为所述M2M服务器需发送给每一个订阅所述订阅资源的M2M终端的响应消息。
- 一种机器对机器M2M终端,其特征在于,包括:接收单元,用于接收消息序列遥测传输MQTT服务器发送的第一MQTT消息,所述第一MQTT消息中包含第一业务消息和第一公共主题;查找单元,用于根据存储单元保存的所述第一公共主题与在所述存储单元中存储的资源的标识之间的映射关系,查找与所述接收单元接收的所述第一公共主题对应的所述在所述存储单元中存储的资源的标识;执行单元,用于对所述查找单元查找的所述在所述存储单元中存储的资源的标识指示的所述在所述存储单元中存储的资源执行与所述接收单元接收的所述第一业务消息相关的操作。
- 根据权利要求10所述的M2M终端,其特征在于,所述M2M终端还包括发送单元,所述接收单元,还用于在接收所述MQTT服务器发送的第一MQTT消息之前,接收所述MQTT服务器发送的第二MQTT消息,所述第二MQTT消息中包含第二业务消息和第一主题,所述第二业务消息中包含所述第一公共主题,所述第一主题中包含所述在所述存储单元中存储的资源的标识;所述存储单元,用于保存所述接收单元接收的所述第一公共主题与所述在所述存储单元中存储的资源的标识之间的映射关系;所述发送单元,用于向所述MQTT服务器发送第一订阅主题的消息,所述第一订阅主题的消息中包含所述接收单元接收的所述第一公共主题以及所述M2M终端的标识。
- 根据权利要求11所述的M2M终端,其特征在于,所述发送单元,还用于在所述接收单元接收所述MQTT服务器发送的第二MQTT消息之前,向所述MQTT服务器发送第二订阅主题的消息,所述第二订阅主题的消息包含需要订阅的所述第一主题。
- 一种M2M服务器,其特征在于,包括:确定单元,用于当需向与存储单元中存储的第一资源对应的至少两个M2M终端发送相同内容的第一业务消息时,确定为所述第一资源生成的第一公共主题;发送单元,用于向消息序列遥测传输MQTT服务器发送一次第一MQTT消息,所述第一MQTT消息中包含所述第一业务消息和所述确定单元确定的所述第一公共主题,所述第一业务消息中包含发送给所述至少两个M2M终端的相同内容。
- 根据权利要求13所述的M2M服务器,其特征在于,所述M2M服务器还包括:生成单元,用于所述确定单元确定为所述第一资源生成的第一公共主题之前,为所述第一资源生成所述第一公共主题,并将所述至少两个M2M终端中的每一个M2M终端中存储的第二资源的标识作为该M2M终端已经订阅的第一主题包含的内容;所述发送单元,还用于通过所述MQTT服务器向所述至少两个M2M终端中的每一个M2M终端发送一条第二MQTT消息,所述第二MQTT消息中包含第二业务消息和所述生成单元生成的所述第一主题,所述第二业务消息中包含所述生成单元生成的所述第一公共主题。
- 根据权利要求14所述的M2M服务器,其特征在于,当所述第一资源为群组资源时,所述第二资源的标识为所述群组资源中的成员资源的标识,所述生成单元,具体用于在接收到所述群组资源的创建请求消息后,根据为所述群组资源分配的所述群组资源的标识,为所述群组资源生成所述群组资源的第一公共主题,并将所述成员资源的标识,作为与所述成员资源的标识对应的M2M终端已经订阅的第一主题包含的内容,所述群组资源的第一公共主题中包含所述群组资源的标识;其中,所述第二业务消息为对与所述成员资源的标识对应的M2M终端的通知消息。
- 根据权利要求14所述的M2M服务器,其特征在于,当所述第一资源为群组资源时,所述第二资源的标识为所述群组资源中的成员资源的标识,所述生成单元具体包括确定模块和生成模块,所述确定模块,用于在接收到对所述群组资源的成员资源的访问请求消息后,根据所述对所述群组资源的成员资源的访问请求消息中包含的所述群组资源的标识确定没有与所述群组资源对应的第一公共主题;所述生成模块,用于当所述确定模块确定没有与所述群组资源对应的第一公共主题时,根据所述群组资源的标识,为所述群组资源生成所述群组资源的第一公共主题,并将所述成员资源的标识,作为与所述成员资源的标识对应的M2M终端已经订阅的第一主题包含的内容,所述群组资源的第一公共主题中包含所述群组资源的标识;其中,所述第二业务消息为根据所述对所述群组资源的成员资源的访问请求消息生成的第一访问请求消息,所述第一访问请求消息为发送给与所述成员资源的标识对应的M2M终端的访问请求消息。
- 根据权利要求14所述的M2M服务器,其特征在于,当所述第一资源为订阅资源时,所述生成单元具体包括确定模块和生成模块,所述确定模块,用于当确定所述订阅资源发生变化时,根据所述订阅资源的标识确定没有与所述订阅资源对应的第一公共主题;所述生成模块,用于在所述确定模块确定没有与所述订阅资源对应的第一公共主题时,根据所述订阅资源的标识,为所述订阅资源生成所述订阅资源的第一公共主题,并将每一个订阅所述订阅资源的M2M终端中存储的第二资源的标识,作为该M2M终端已经订阅的第一主题包含的内容,所述订阅资源的第一公共主题中包含所述订阅资源的标识;其中,所述第二业务消息为对每一个订阅所述订阅资源的M2M终端的订阅通知消息。
- 根据权利要求14所述的M2M服务器,其特征在于,当所述第一资源为订阅资源时,所述生成单元,具体用于当接收到对所述订阅资源的订阅创建请求消息时,根据所述订阅资源的标识,为所述订阅资源生成所述订阅 资源的第一公共主题,并将每一个订阅所述订阅资源的M2M终端中存储的第二资源的标识,作为该M2M终端已经订阅的第一主题包含的内容,所述对所述订阅资源的订阅创建请求消息中包含所述订阅资源的标识以及订阅所述订阅资源的M2M终端中存储的第二资源的标识,所述订阅资源的第一公共主题中包含所述订阅资源的标识;其中,所述第二业务消息为根据所述对所述订阅资源的订阅创建请求消息生成的订阅创建响应消息,所述订阅创建响应消息为需发送给每一个订阅所述订阅资源的M2M终端的响应消息。
- 一种业务消息的传输系统,其特征在于,包括:至少两个如权利要求10-12任一项所述的机器对机器M2M终端,如权利要求13-18任一项所述的M2M服务器,以及消息序列遥测传输MQTT服务器。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410727947.2A CN105722040B (zh) | 2014-12-03 | 2014-12-03 | 一种业务消息的传输方法、装置及系统 |
CN201410727947.2 | 2014-12-03 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2016086659A1 true WO2016086659A1 (zh) | 2016-06-09 |
Family
ID=56090939
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/CN2015/083224 WO2016086659A1 (zh) | 2014-12-03 | 2015-07-02 | 一种业务消息的传输方法、装置及系统 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN105722040B (zh) |
WO (1) | WO2016086659A1 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109474916A (zh) * | 2018-11-19 | 2019-03-15 | 海信集团有限公司 | 一种设备鉴权方法、装置以及机器可读介质 |
CN111555893A (zh) * | 2020-04-22 | 2020-08-18 | 腾讯科技(深圳)有限公司 | 消息数据传输方法、装置、计算机设备和存储介质 |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106250173B (zh) * | 2016-07-15 | 2019-05-07 | 常州市小先信息技术有限公司 | 一种基于mqtt的消息远程安装和卸载广告的方法 |
WO2018035839A1 (zh) * | 2016-08-26 | 2018-03-01 | 华为技术有限公司 | 一种数据传输方法、相关设备及通信系统 |
CN108696528B (zh) * | 2018-05-28 | 2020-12-01 | 中国联合网络通信集团有限公司 | 数据传输方法、终端、采集平台与服务器 |
CN113014610B (zh) * | 2019-12-19 | 2022-09-02 | 深圳市宏电技术股份有限公司 | 一种远程访问方法、装置及系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102308548A (zh) * | 2009-02-12 | 2012-01-04 | 国际商业机器公司 | 在发布和定制引擎中引入加密、认证和授权 |
CN104052653A (zh) * | 2014-06-23 | 2014-09-17 | 广东天波信息技术股份有限公司 | 一种基于mqtt实现状态呈现的方法 |
CN104135429A (zh) * | 2014-08-12 | 2014-11-05 | 中国科学院声学研究所 | 一种信息推送方法和装置 |
WO2014190186A1 (en) * | 2013-05-22 | 2014-11-27 | Convida Wireless, Llc | Network assisted bootstrapping for machine-to-machine communication |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102986288B (zh) * | 2009-12-04 | 2016-12-07 | 交互数字专利控股公司 | 用于混合网络中的汇聚网关的扩展本地ip接入 |
PL2533485T3 (pl) * | 2011-06-08 | 2015-08-31 | Giesecke Devrient Mobile Security Gmbh | Sposoby i urządzenia do zarządzania w oparciu o platformę OTA modułami identyfikacji abonenta |
CN106790676B (zh) * | 2013-12-05 | 2020-07-07 | 华为技术有限公司 | 订阅通知的实现方法和装置 |
-
2014
- 2014-12-03 CN CN201410727947.2A patent/CN105722040B/zh active Active
-
2015
- 2015-07-02 WO PCT/CN2015/083224 patent/WO2016086659A1/zh active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102308548A (zh) * | 2009-02-12 | 2012-01-04 | 国际商业机器公司 | 在发布和定制引擎中引入加密、认证和授权 |
WO2014190186A1 (en) * | 2013-05-22 | 2014-11-27 | Convida Wireless, Llc | Network assisted bootstrapping for machine-to-machine communication |
CN104052653A (zh) * | 2014-06-23 | 2014-09-17 | 广东天波信息技术股份有限公司 | 一种基于mqtt实现状态呈现的方法 |
CN104135429A (zh) * | 2014-08-12 | 2014-11-05 | 中国科学院声学研究所 | 一种信息推送方法和装置 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109474916A (zh) * | 2018-11-19 | 2019-03-15 | 海信集团有限公司 | 一种设备鉴权方法、装置以及机器可读介质 |
CN109474916B (zh) * | 2018-11-19 | 2020-09-18 | 海信集团有限公司 | 一种设备鉴权方法、装置以及机器可读介质 |
CN111555893A (zh) * | 2020-04-22 | 2020-08-18 | 腾讯科技(深圳)有限公司 | 消息数据传输方法、装置、计算机设备和存储介质 |
CN111555893B (zh) * | 2020-04-22 | 2023-09-12 | 腾讯科技(深圳)有限公司 | 消息数据传输方法、装置、计算机设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN105722040B (zh) | 2019-10-25 |
CN105722040A (zh) | 2016-06-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2016086659A1 (zh) | 一种业务消息的传输方法、装置及系统 | |
JP6715978B2 (ja) | 軽量iot情報モデル | |
CN107508795B (zh) | 跨容器集群的访问处理装置及方法 | |
US10110671B2 (en) | Method, system, and device for managing server hardware resources in a cloud scheduling environment | |
WO2019042110A1 (zh) | 一种订阅发布方法及服务器 | |
US10419531B2 (en) | Method for setting gateway device identity, and management gateway device | |
EP3861706B1 (en) | Framework for dynamic brokerage and management of topics and data at the service layer | |
US8918528B2 (en) | Operating group resources in sub-groups and nested groups | |
WO2020038443A1 (zh) | 桥接通信的方法和设备 | |
WO2019109923A1 (zh) | 消息处理方法及系统、存储介质、电子设备 | |
US20160241635A1 (en) | M2m data querying and invoking methods, querying and invoking devices, and system | |
CN102752215B (zh) | 一种vdp请求报文的处理方法和边缘交换机 | |
JP7046983B2 (ja) | パケット伝送方法及び装置 | |
CN116204487A (zh) | 远程数据访问方法及装置 | |
WO2017185322A1 (zh) | 存储网元发现方法及装置 | |
JP6388938B2 (ja) | 発見プローブを介したwi−fiダイレクトサービスの発見 | |
WO2019184107A1 (zh) | 数据传输通道建立系统、方法、网络存储设备、服务器及存储介质 | |
WO2018214792A1 (zh) | 一种用于对用户设备进行流量控制的方法与设备 | |
WO2014067313A1 (zh) | 终端外设的注销方法和装置 | |
CN105052207B (zh) | 一种信息查询方法、设备及系统 | |
WO2015062390A1 (zh) | 虚拟机迁移方法、装置及系统 | |
CN106790323B (zh) | 一种资源发现的方法及装置 | |
CN117354956A (zh) | 基于5g的会话建立方法、装置、电子设备及存储介质 | |
CN110913020B (zh) | 工作组的数据传输方法及装置 | |
CN109309583B (zh) | 基于分布式系统的信息获取方法、装置、电子设备和介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 15865011 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 15865011 Country of ref document: EP Kind code of ref document: A1 |