WO2018059026A1 - 通信方法和装置 - Google Patents
通信方法和装置 Download PDFInfo
- Publication number
- WO2018059026A1 WO2018059026A1 PCT/CN2017/089973 CN2017089973W WO2018059026A1 WO 2018059026 A1 WO2018059026 A1 WO 2018059026A1 CN 2017089973 W CN2017089973 W CN 2017089973W WO 2018059026 A1 WO2018059026 A1 WO 2018059026A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- resource
- identifier
- server
- resource server
- information corresponding
- Prior art date
Links
- 238000004891 communication Methods 0.000 title claims abstract description 101
- 238000000034 method Methods 0.000 title claims abstract description 94
- 230000004044 response Effects 0.000 claims abstract description 243
- 238000013507 mapping Methods 0.000 claims abstract description 128
- 230000015654 memory Effects 0.000 claims description 56
- 238000004364 calculation method Methods 0.000 description 29
- 238000010586 diagram Methods 0.000 description 17
- 230000006870 function Effects 0.000 description 16
- 230000008569 process Effects 0.000 description 16
- 101100330723 Arabidopsis thaliana DAR2 gene Proteins 0.000 description 6
- 238000012545 processing Methods 0.000 description 4
- 230000001360 synchronised effect Effects 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000001514 detection method Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000009530 blood pressure measurement Methods 0.000 description 2
- 238000009529 body temperature measurement Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000005259 measurement Methods 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/51—Discovery or management thereof, e.g. service location protocol [SLP] or web services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/70—Services for machine-to-machine communication [M2M] or machine type communication [MTC]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/40—Support for services or applications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/563—Data redirection of data network streams
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/567—Integrating service provisioning from a plurality of service providers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
- H04L67/63—Routing a service request depending on the request content or context
Definitions
- the present application relates to the field of communications and, more particularly, to a communication method and apparatus.
- the Internet of Things is a network that extends and expands on the basis of the Internet. The purpose is to realize the connection between all items and the network, that is, to realize the connection of objects, thereby exchanging information and communication, and facilitating identification and management. And control.
- Resource discovery includes two processes: resource registration and resource query.
- the temperature sensor node requests registration of temperature resource information from the resource server, and the resource server locally stores the temperature resource information requested for registration. This process is called resource registration.
- the client requests the resource information from the resource server, and the resource server queries the resource information required by the client from the local storage information and sends the information to the client. This process is called resource query.
- FIG. 1 is a schematic diagram of an existing resource discovery scheme.
- C represents a client
- EP1, EP2, and EP3 are sensor nodes
- RD is a resource directory node (corresponding to a resource server).
- EP1, EP2, EP3, and C can all be connected to the RD, for example, EP3 is indirectly connected to the RD through EP2.
- EP1, EP2, and EP3 register resource information with the RD through the registration interface, and then client C queries the RD for the required resource information through the query interface.
- RD becomes the focus of network access, and the resource information that needs to be stored on the RD is very large. This makes it difficult for RD to meet storage requirements. Due to frequent access, RD can become a bottleneck in network performance, resulting in a large delay in processing requests from RDs.
- the prior art shown in Figure 1 also has a single point of failure problem. Once the RD fails, the entire network resource discovery is not available.
- FIG. 2 shows a schematic diagram of another existing resource discovery scheme, and the scheme shown in FIG. 2 is an improvement to the scheme shown in FIG. 1.
- a distributed hash table (DHT) is used to organize multiple distributed RDs into one overlay network, and different resource information is distributedly stored on different RDs. This can overcome the problem of large storage burden and single point failure of the RD existing in the existing scheme shown in FIG.
- an RD performs a hash operation on the resource (for example, a global resource identifier URI of the resource), and stores the resource to be registered in the resource.
- the resource query phase of the solution shown in Figure 2 after the client initiates a resource query to an RD, it may need to go through multiple RD queries to obtain the resources required by the client. As shown in Figure 2, the client queries the resource to RD8. RD8 finds that there is no resource required by the client.
- RD8 queries RD42 according to the routing table, but RD8 does not determine whether the resource required by the client is stored in RD42.
- RD42 also It is found that there is no resource required by the client locally.
- RD42 queries RD51 according to the routing table, but RD42 does not determine whether the resources required by the client are stored in RD51.
- RD51 also finds that there is no resource required by the client locally, and RD51 according to the routing table.
- Ask RD56 but RD51 is not sure RD56 Whether the resources required by the client are stored in the RD56; the RD56 finds that the resources required by the client are locally available, and the RD56 sends the resources required by the client to the client.
- the prior art shown in FIG. 2 solves the problem of large storage burden and single point of failure in the existing solution shown in FIG. 1, but the client may need to obtain multiple times through multiple queries in the resource query process. Resources, thus having a large delay, reducing the efficiency of resource discovery.
- the present application provides a communication method and apparatus, which can effectively improve the efficiency of resource discovery.
- a communication system includes: a central redirector, a plurality of resource servers and a client, wherein the central redirector stores mapping information, where the mapping information is used to indicate resource identification and a mapping relationship between the identifiers of the resource servers in which the resource identifiers are located; the client is configured to send a first request packet to the first resource server of the multiple resource servers, where the A request message includes a first resource identifier, where the first request message is used to request resource information corresponding to the first resource identifier, and the first resource server is configured to: Sending a second request message to the central redirector, where the second request message includes the first resource identifier; the central redirector is configured to use, according to the first resource And the mapping and the mapping information, sending a second response message to the first resource server, where the second response message is used to indicate a resource message corresponding to the first resource identifier a second resource server, where the first resource server is further configured to: obtain resource information corresponding to the first resource
- the mapping between the resource identifier and the identifier of the resource server where the resource information corresponding to the resource identifier is located is stored in the central redirector, so that the resource server does not store the resource information required by the client.
- the central redirector can obtain the resource information required by the client, thereby effectively improving the efficiency of resource discovery.
- the central redirector is configured to acquire, according to the mapping information, an identifier of a second resource server that has a mapping relationship with the first resource identifier, and send the second response packet to the first resource server, where the second The response message includes an identifier of the second resource server, and the first resource server is obtained by acquiring, by the second resource server, resource information corresponding to the first resource identifier according to the second response packet.
- the first resource server sends a third response message, where the third response message includes resource information corresponding to the first resource identifier; the first resource server is used for The third response message to obtain the resource information corresponding to said first resource identifier.
- the response message sent by the central redirector to the first resource server carries the identifier of the second resource server where the resource information corresponding to the first resource identifier is located, so that the first resource server passes the second resource server.
- Obtaining the resource information requested by the client can improve the efficiency of resource discovery.
- the second response packet includes a Code field, where the Code field is used to indicate the second response
- the packet type of the text is a redirect response packet.
- the Code field is represented by a format of 3.xx.
- the central redirector in a possible implementation manner of the first aspect, in a case that the resource information corresponding to the first resource identifier is not stored, the central redirector is The first resource server is configured to: perform a hash operation on the first resource identifier to obtain a bit bit mapped to the bitmap on the bitmap; When a resource identifier is mapped to a bit bit on the bitmap that is not marked as local storage, the second request message is sent to the central redirector, and the bit bit is not marked as local storage to indicate the first A resource server does not store resource information corresponding to the first resource identifier.
- the hash computing technology is used to find the resource information required by the client, which can effectively improve the efficiency and speed of information retrieval, thereby improving the efficiency of resource discovery.
- the mapping information is a mapping table
- the central redirector acquires the information according to the mapping information.
- the first resource identifier identifies the identifier of the second resource server that has the mapping relationship
- the method includes: the central redirector performs a first hash calculation on the first resource identifier; and the central redirector is configured according to the first hash
- the information stored in the mapping table corresponding to the result of the calculation acquires the identifier of the second resource server.
- the central redirector stores the mapping table corresponding to the result of the first hash calculation And the obtaining, by the central redirector, the information stored in the mapping table corresponding to the first resource identifier and the result of the first hash calculation. a second hash calculation; in a case where the information stored in the mapping table corresponding to the result of the second hash calculation includes the first identifier, the central redirector corresponds the result of the first hash calculation
- the information stored in the mapping table is determined to be an identifier of the second resource server.
- the communications system further includes a sensor node, where the sensor node is configured to send to the first resource server a resource registration message, where the resource registration message includes resource information corresponding to the second resource identifier and the second resource identifier, where the resource registration message is used to request to register resource information corresponding to the second resource identifier;
- the first resource server is further configured to: store, by the second resource identifier, resource information corresponding to the second resource identifier; the first resource server is further configured to send the second to the central redirector
- the resource identifier is associated with the identifier of the first resource server; the central redirector is further configured to store, in the mapping information, a mapping relationship between the second resource identifier and an identifier of the first resource server.
- a communication method includes: receiving, by a first resource server, a first request packet sent by a client, where the first request packet includes a first resource identifier, and the first request packet The message is used to request the resource information corresponding to the first resource identifier; the first resource server sends a second request message to the central redirector if the resource information corresponding to the first resource identifier is not stored, The second request packet includes the first resource identifier, and the central redirector stores mapping information, where the mapping information is used to indicate an identifier of a resource server where the resource identifier corresponding to the resource identifier is located a mapping relationship between the first resource server and the second response message sent by the central redirector, where the second response message is used to indicate the The second resource server where the resource information corresponding to the first resource identifier is located; the first resource server obtains the resource information corresponding to the first resource identifier by using the second resource server according to the second response packet; The first resource server sends a first response
- the mapping between the resource identifier and the identifier of the resource server where the resource information corresponding to the resource identifier is located is stored in the central redirector, so that the resource server does not store the resource information required by the client.
- the central redirector can obtain the resource information required by the client, thereby effectively improving the efficiency of resource discovery.
- the second response packet includes an identifier of the second resource server, And obtaining, by the second resource server, the resource information corresponding to the first resource identifier by using the second resource server, where the first resource server sends the resource information to the second resource server according to the identifier of the second resource server a third request message, where the third request message includes the first resource identifier; the first resource server receives a third response message sent by the second resource server, where the third response message includes The resource information corresponding to the first resource identifier is obtained by the first resource identifier, and the first resource server obtains resource information corresponding to the first resource identifier according to the third response packet.
- the response message sent by the central redirector to the first resource server carries the identifier of the second resource server where the resource information corresponding to the first resource identifier is located, and the first resource server obtains the client through the second resource server.
- the resource information requested by the terminal can improve the efficiency of resource discovery.
- the second response packet includes a Code field, where the Code field is used to indicate the second response
- the packet type of the text is a redirect response packet.
- the Code field is represented by a format of 3.xx.
- the first resource is not stored, if the resource information corresponding to the first resource identifier is not stored
- the server sends the second request message to the central redirector, where the first resource server performs a hash operation on the first resource identifier to obtain a Bit bit mapped to the bitmap on the first resource identifier; If the first resource identifier is mapped to a bit bit on the bitmap that is not marked as being locally stored, the second request message is sent to the central redirector, and the bit bit is not marked as a local storage representation.
- the first resource server does not store the resource information corresponding to the first resource identifier.
- the communication method further includes: the first resource server receiving a resource registration message sent by the sensor node, where The resource registration message includes the second resource identifier and the resource information corresponding to the second resource identifier, where the resource registration message is used to request to register resource information corresponding to the second resource identifier; the first resource server stores The second resource identifier identifies resource information corresponding to the second resource identifier; the first resource server sends the second resource identifier and the identifier of the first resource server to the central redirector, so as to facilitate The central redirector stores a mapping relationship between the second resource identifier and an identifier of the first resource server in the mapping information.
- a communication method comprising: receiving, by a central redirector, a first resource service The second request message sent by the server, the second request message includes a first resource identifier, and the second request message is used to request resource information corresponding to the first resource identifier; the central redirector And sending, by the first resource server, a second response message, where the second response message is used by the first resource server to acquire resource information corresponding to the first resource identifier, where the mapping information is used by the first resource server. And mapping a relationship between the identifier of the resource server where the resource identifier corresponding to the resource identifier is located.
- the mapping between the resource identifier and the identifier of the resource server where the resource information corresponding to the resource identifier is located is stored in the central redirector, so that the resource server does not store the resource information required by the client.
- the central redirector can obtain the resource information required by the client, thereby effectively improving the efficiency of resource discovery.
- the central redirector sends a second response packet to the first resource server according to the mapping information.
- the central redirector acquires, according to the mapping information, an identifier of a second resource server that has a corresponding relationship with the first resource identifier, and the central redirector sends the identifier to the first resource server.
- the second response message includes an identifier of the second resource server.
- the response message sent by the central redirector to the first resource server carries the identifier of the second resource server where the resource information corresponding to the first resource identifier is located, so that the first resource server passes the second resource server.
- Obtaining the resource information requested by the client can improve the efficiency of resource discovery.
- the second response packet includes a Code field, where the Code field is used to indicate the second response packet.
- the packet type of the text is a redirect response packet.
- the Code field is represented by a format of 3.xx.
- the central redirector sends a second response packet to the first resource server according to the mapping information.
- the central redirector acquires, according to the mapping information, an identifier of a second resource server that has a corresponding relationship with the first resource identifier, and the central redirector according to the identifier of the second resource server.
- the second resource server sends a fourth request packet, where the fourth request packet includes the first resource identifier, and the fifth request packet is used to request resource information corresponding to the first resource identifier;
- the central redirector receives the fourth response packet sent by the second resource server, where the fourth response packet includes resource information corresponding to the first resource identifier; the central redirector is to the first
- the resource server sends the second response packet, where the second response packet includes resource information corresponding to the first resource identifier.
- the mapping information is a mapping table
- the central redirector obtains, by the central redirector, the identifier of the second resource server that has a corresponding relationship with the first resource identifier, where the central redirector performs the first hash calculation on the first resource identifier
- the central redirector acquires the identifier of the second resource server according to the information stored in the mapping table corresponding to the result of the first hash calculation.
- the central redirector stores the mapping table corresponding to the result of the first hash calculation And obtaining, by the central redirector, the identifier of the second resource server, where: the central redirector identifies the first resource identifier with the first
- the second hash calculation is performed on the information stored in the mapping table corresponding to the result of the hash calculation; in a case where the information stored in the mapping table corresponding to the result of the second hash calculation includes the first identifier,
- the central redirector determines information stored in the mapping table corresponding to the result of the first hash calculation as an identifier of the second resource server.
- the communication method further includes: the central redirector receiving the second sent by the first resource server
- the resource identifier is associated with the identifier of the first resource server; the central redirector stores the mapping relationship between the second resource identifier and the identifier of the first resource server in the mapping information.
- a communication method includes: the client sends a request message to the first resource server, where the request message includes a first resource identifier, and the request message is used to request the first a resource identifier corresponding to the resource information, so that the first resource server forwards the request message to the central redirector without storing the resource information corresponding to the first resource identifier, and according to the central a response message sent by the redirector to the second resource server, where the resource information corresponding to the first resource identifier is located, requesting, by the second resource server, resource information corresponding to the first resource identifier,
- the central redirector stores mapping information, where the mapping information is used to indicate a mapping relationship between the resource identifier and the identifier of the resource server where the resource information corresponding to the resource identifier is located; and the client receives the first resource server And a response packet that includes the resource information corresponding to the first resource identifier.
- the mapping between the resource identifier and the identifier of the resource server where the resource information corresponding to the resource identifier is located is stored in the central redirector, so that the resource server does not store the resource information required by the client.
- the central redirector can obtain the resource information required by the client, thereby effectively improving the efficiency of resource discovery.
- the response message that is sent by the central redirector to indicate that the resource information corresponding to the first resource identifier is located includes: The identifier of the second resource server;
- the first resource server is configured to request resource information corresponding to the first resource identifier from the second resource server according to the identifier of the second resource server.
- the information that is sent by the central redirector to indicate that the resource information corresponding to the first resource identifier is located
- the response message of the second resource server includes a code field, and the code field is used to indicate that the message type of the response message is a redirect response message.
- the Code field is represented by a format of 3.xx.
- a communication method includes: receiving, by a first device, a restricted application protocol CoAP request message sent by a second device, where the CoAP request message is used to request target information; The device sends a CoAP response message to the second device, where the CoAP response message includes an identifier of the third device, where the CoAP response message is used to indicate that the target information is stored in the third device, so that the The second device requests the target information from the third device according to the identifier of the third device.
- the first device after receiving the CoAP request message sent by the second device for requesting the target information, the first device sends a CoAP response message carrying the identifier of the third device to the second device, and is used to represent the target information.
- the second device Stored in the third device, so that the second device obtains the required target information through the third device, thereby being able to improve The efficiency of information acquisition.
- the CoAP response packet includes a Code field, where the Code field is used to indicate the CoAP response packet.
- the packet type is a redirect response packet.
- the Code field is represented by a format of 3.xx.
- the communication The method further includes: the first device determines that the target information is migrated to the third device; or the first device determines that a copy of the target information is stored in the third device; or the first device determines The third device is a proxy access device of the target information.
- a communication method includes: the second device sends a first restricted application protocol CoAP request message to the first device, where the first CoAP request message is used to request target information; The second device receives the first CoAP response message sent by the first device, where the first CoAP response message includes an identifier of the third device, where the first CoAP response message is used to indicate that the target information is stored. The second device sends a second CoAP request message for requesting the target information to the third device according to the identifier of the third device; a second CoAP response message sent by the third device, where the second CoAP response message includes the target information; and the second device obtains the target information according to the second CoAP response message.
- the first device after receiving the CoAP request message sent by the second device for requesting the target information, the first device sends a CoAP response message carrying the identifier of the third device to the second device, and is used to represent the target information. It is stored in the third device, so that the second device obtains the required target information through the third device, thereby improving the efficiency of information acquisition.
- the CoAP response packet includes a Code field, where the CoAP response packet includes a Code field, and the Code field
- the packet type used to indicate the CoAP response packet is a redirect response packet.
- the code field adopts a format of 3.xx. Said.
- a resource server is provided, the resource server being configured to perform the method in any one of the possible implementations of the second aspect or the second aspect.
- the resource server may comprise means for performing the method of any of the possible implementations of the second aspect or the second aspect.
- a central redirector is provided for performing the method of any of the possible implementations of the third aspect or the third aspect.
- the central redirector may comprise means for performing the method of any of the possible implementations of the third aspect or the third aspect.
- a client is provided for performing the method provided by the fourth aspect.
- a communication device for performing the method of any of the possible implementations of the fifth aspect or the fifth aspect.
- the communication device may comprise means for performing the method of any of the possible implementations of the fifth or fifth aspect.
- a communication device for performing the method of any of the possible implementations of the sixth aspect or the sixth aspect.
- the communication device may include a sixth aspect or a A module of a method in any of the possible implementations of the six aspects.
- a resource server including a memory and a processor for storing instructions for executing instructions stored in the memory, and performing execution of instructions stored in the memory
- the processor performs the method of any of the possible implementations of the second aspect or the second aspect.
- a central redirector including a memory and a processor for storing instructions for executing instructions stored in the memory and stored in the memory Execution of the instructions causes the processor to perform the method of any of the possible implementations of the third aspect or the third aspect.
- a client comprising a memory and a processor for storing instructions for executing instructions stored in the memory, and performing execution of instructions stored in the memory
- the processor performs the method provided by the fourth aspect.
- a communication device comprising a memory and a processor for storing instructions for executing instructions stored in the memory, and performing execution of instructions stored in the memory
- the processor performs the method of any of the possible implementations of the fifth aspect or the fifth aspect.
- a communication device comprising a memory and a processor for storing instructions for executing instructions stored by the memory, and performing execution of instructions stored in the memory such that The processor performs the method of any of the possible implementations of the sixth or sixth aspect.
- FIG. 1 shows a schematic diagram of a prior art resource discovery method.
- FIG. 2 shows a schematic diagram of another prior art resource discovery method.
- FIG. 3 shows a schematic diagram of a communication system in accordance with an embodiment of the present invention.
- FIG. 4 shows a schematic flow chart of a communication method according to an embodiment of the present invention.
- FIG. 5 shows another schematic flowchart of a communication method according to an embodiment of the present invention.
- FIG. 6 is a schematic structural diagram of a CoAP packet according to an embodiment of the present invention.
- FIG. 7 shows still another schematic flowchart of a communication method according to an embodiment of the present invention.
- FIG. 8 shows still another schematic flowchart of a communication method according to an embodiment of the present invention.
- Figure 9 shows another schematic diagram of the system architecture of an embodiment of the present invention.
- FIG. 10 shows a schematic block diagram of a resource server according to an embodiment of the present invention.
- FIG. 11 shows another schematic block diagram of a resource server according to an embodiment of the present invention.
- FIG. 12 shows a schematic block diagram of a communication device of an embodiment of the present invention.
- Figure 13 shows a schematic block diagram of another communication device in accordance with an embodiment of the present invention.
- the resource information in the embodiment of the present invention may represent measurement information of the sensor, for example, temperature measurement information of the temperature sensor, pressure measurement information of the pressure sensor, and the like.
- the corresponding resource information is temperature measurement information; for example, the resource is pressure, and the corresponding resource information is pressure measurement information.
- the resource identifier in the embodiment of the present invention refers to information used to indicate resource information.
- the resource identifier The representation can be a Uniform Resource Identifier (URI).
- URI Uniform Resource Identifier
- the identifier of the resource server in the embodiment of the present invention refers to information that can indicate the resource server.
- the identifier of the resource server is, for example, information such as an IP address, a MAC address, or a device ID of the resource server.
- FIG. 3 is a schematic diagram of a communication system 100 according to an embodiment of the present invention.
- the communication system 100 includes a Centralized Redirector (CRD) 110 and a plurality of resource servers 120 (four are schematically shown in FIG. 3). a plurality of clients 130 (two are schematically shown in FIG. 3), wherein the central redirector 110 stores mapping information, where the mapping information is used to indicate the identifier of the resource server where the resource identifier corresponding to the resource identifier is located The mapping relationship between.
- CCD Centralized Redirector
- the identifier of the resource server in the embodiment of the present invention indicates information for indicating the resource server, such as an IP address or a MAC address of the resource server, or a device ID of the resource server, and the like, which can uniquely identify the resource server.
- the client (eg, 130a shown in FIG. 3) is configured to send a first request message to a first resource server (eg, 120a shown in FIG. 3) of the plurality of resource servers 120, where the first request message includes the first a resource identifier, where the first request packet is used to request resource information corresponding to the first resource identifier;
- the first resource server is configured to send, by the central redirector 110, a second request packet, where the first resource identifier is included, where the resource information corresponding to the first resource identifier is not stored;
- the central redirector 110 is configured to send a second response message to the first resource server according to the first resource identifier and the mapping information, where the second response message is used to indicate the second resource where the resource information corresponding to the first resource identifier is located.
- Server such as 120c shown in Figure 3;
- the first resource server is further configured to: obtain the resource information corresponding to the first resource identifier from the second resource server, and send the first response packet to the client, where the first response packet includes the resource information corresponding to the first resource identifier.
- the central redirector stores a mapping relationship between the resource identifier and the identifier of the resource server where the resource information corresponding to the resource identifier is located, so that the resource server does not store the resource information required by the client.
- the resource information required by the client can be obtained through the central redirector, thereby effectively improving the efficiency of resource discovery.
- the central redirector 110 is centralized, for example, the central redirector 110 is logically integrated, and the specific physical deployment manner may be a cluster.
- Multiple resource servers 120 are distributed deployed.
- the resource server 120 may be a local resource directory (LRD) device, and may also be a local gateway.
- the client 130 is configured to request resource information from the local resource server.
- the client 130a requests resource information from the resource server 120a; the client 130d requests resource information from the resource server 120d.
- the client 130 can be a user equipment or a user terminal.
- the central redirector 110 is in communication connection with the resource server 120, the communication connection between the resource servers 120, for example, the communication connection between the resource servers 120a-120d, and the client 130 is in communication connection with the local resource server, such as a client. 130a is in communication with resource server 120a.
- communication system 100 also includes:
- a plurality of sensor nodes 140 for reporting the generated resource information to the local resource server 120.
- the sensor node 140a reports the generated resource information to the local resource server. 120a.
- the sensor node 140c reports the generated resource information to the local resource server 120c.
- the sensor node 130 is a sensor device such as a temperature sensor or a humidity sensor.
- the embodiment of the present invention may be applied to the Internet of Things.
- the client 130 is an Internet of Things client.
- FIG. 3 is only an example and is not a limitation, and a resource server may be connected to multiple sensor nodes or multiple clients, which is not limited by the embodiment of the present invention.
- FIG. 4 is a schematic flowchart of a communication method according to an embodiment of the present invention. The process of resource query is specifically described. As shown in FIG. 4, the method includes:
- the client sends a first request message to the first resource server, where the first request message includes a first resource identifier, and the first request message is used to request resource information corresponding to the first resource identifier.
- the resource information requested by the client may be sensor measurement information, such as temperature collection information or humidity collection information.
- the first resource identifier refers to an identifier used to represent resource information requested by the client.
- the first resource identifier is represented by a Uniform Resource Identifier (URI).
- URI Uniform Resource Identifier
- the first resource server determines whether the resource information corresponding to the first resource identifier is stored locally. If yes, go to step 230. If no, go to step 240.
- the first resource server sends the resource information corresponding to the first resource identifier to the client.
- the resource information corresponding to the first resource identifier is obtained from the local storage information according to the first resource identifier; and the acquired resource information is sent to the client.
- the first resource server sends a second request packet to the central redirector, where the second request packet includes the first resource identifier.
- the central redirector receives the second request packet sent by the first resource server, and obtains the identifier of the second resource server that has a mapping relationship with the first resource identifier according to the mapping information, where the mapping information is used to indicate the resource identifier and the resource.
- the mapping relationship between the identifiers of the resource servers where the corresponding resource information is located is identified.
- the central redirector sends a second response message to the first resource server, where the second response message is used to indicate the second resource server where the resource information corresponding to the first resource identifier is located.
- the first resource server obtains the resource information corresponding to the first resource identifier by using the second resource server according to the second response packet.
- the first resource server sends a first response packet to the client, where the first response packet includes resource information corresponding to the first resource identifier.
- the central redirector in the embodiment of the present invention is, for example, the central redirector 110 shown in FIG. 3.
- the first resource server is, for example, the resource server 120a shown in FIG.
- the illustrated client 130a, the second resource server is, for example, the resource server 120c shown in FIG.
- the central redirector stores a mapping relationship between the resource identifier and the identifier of the resource server where the resource information corresponding to the resource identifier is located, so that the resource server does not store the resource information required by the client.
- the resource information required by the client can be obtained through the central redirector, thereby effectively improving the efficiency of resource discovery.
- the second response packet includes an identifier of the second resource server, and 270 the first resource server passes the second response packet.
- the second resource server acquires the resource information corresponding to the first resource identifier, including:
- the first resource server sends a third request message to the second resource server according to the identifier of the second resource server, where the third request message includes the first resource identifier;
- the first resource server receives the third response packet sent by the second resource server, where the third response packet includes the first Resource information corresponding to the resource identifier;
- the first resource server obtains resource information corresponding to the first resource identifier according to the third response packet.
- the response message sent by the central redirector to the first resource server carries the identifier of the second resource server where the resource information corresponding to the first resource identifier is located, and the first resource server passes the second resource server. Obtaining the resource information requested by the client can improve the efficiency of resource discovery.
- the second response packet directly carries the resource information corresponding to the first resource identifier.
- the central redirector requests the resource information corresponding to the first resource identifier from the second resource server; in step 260, the first resource is obtained from the second resource server.
- the resource information corresponding to the identifier is sent to the first resource server by using the second response message.
- the first resource server sends a second request message to the central redirector if the resource information corresponding to the first resource identifier is not stored.
- the first resource server obtains a first resource identifier to be mapped to a Bit bit on the bitmap by performing a hash operation on the first resource identifier; the Bit address of the first resource server mapped to the bitmap on the first resource identifier is not marked as In the case of local storage, the second request message is sent to the central redirector, and the bit bit is not marked as local storage, indicating that the first resource server does not store the resource information corresponding to the first resource identifier.
- the efficiency of the resource server for retrieving resource information can be improved, thereby improving the efficiency of resource discovery.
- the mapping information is a mapping table
- the central redirector obtains the identifier of the second resource server that has a mapping relationship with the first resource identifier according to the mapping information.
- the central redirector performs a first hash calculation on the first resource identifier, and the central redirector acquires the identifier of the second resource server according to the information stored in the mapping table corresponding to the result of the first hash calculation.
- the central redirector acquires the identifier of the second resource server according to the information stored in the mapping table corresponding to the result of the first hash calculation, and includes: the central redirector calculates the first resource identifier and the first hash The second hash calculation is performed on the information stored in the mapping table corresponding to the result; in the case where the information stored in the mapping table corresponding to the result of the second hash calculation includes the first identifier, the central redirector calculates the first hash.
- the information stored in the mapping table corresponding to the result is determined as the identifier of the second resource server.
- the central redirector uses the hash search method to retrieve the address of the resource server corresponding to the resource identifier, which can effectively improve the retrieval efficiency compared to the retrieval means such as string matching, and further, the scalability is also good.
- the request packet and the response packet involved in the foregoing embodiment may be a CoAP-based protocol packet
- FIG. 6 is a schematic structural diagram of the CoAP protocol packet, which is the same as the protocol in other TCP/IP protocol clusters.
- the CoAP protocol always appears before the payload (Payload) in the form of a header, separated by a single byte 0xFF between the payload and the header.
- the CoAP protocol packet includes the following part: version number (Ver). Indicates the version number of the CoAP protocol. The version number is 2 digits and the value is 01B.
- the packet type (T) the CoAP protocol defines four different types of packets, a CON packet, a NON packet, an ACK packet, and an RST packet.
- CoAP identifier length (TKL).
- the CoAP protocol has two functionally similar identifiers, one is a message ID (Message ID), and the other is an identifier (Token), which identifies the specific content, and specifies the Token length through TKL.
- Message ID message ID
- Token identifier
- Each CoAP packet contains a Message ID, but the Token is not required for the CoAP packet.
- Function code / response code (Code) Code has different representations in CoAP request message and response message, Code occupies one byte, it is divided into two parts, the first three parts, the last five parts, in order For convenience of description, Code is described as the structure of c.dd.
- 0.XX represents a CoAP request message
- XX represents a specific representation of a CoAP response message.
- the message option (Option) allows you to set the CoAP host, CoAP request parameters, and load media type through the message options.
- 1111 1111 is the separator between the CoAP header and the specific payload.
- the structure of the request message involved in the foregoing embodiment is as shown in FIG. 6, and the Code field is represented by a format of “0.XX”, and the load is carried in the payload field, and the load is, for example, the first resource identifier.
- the structure of the response message involved in the foregoing embodiment is as shown in FIG. 6, and the Code field is represented by a format of “2.XX” or “4.XX” or “5.XX”, and the payload is carried in the payload field.
- the load is, for example, an identifier of the second resource server or resource information corresponding to the first resource identifier.
- the second response packet includes a Code field, and the Code field is used to indicate that the packet type of the second response packet is a redirect response packet.
- the Code field of the second response message sent by the central redirector to the first resource server is represented by a format of “3.XX”, and the identifier of the second resource server is carried in the payload field.
- FIG. 7 is another schematic flowchart of a communication method according to an embodiment of the present invention. Specifically, a process of resource registration is illustrated. As shown in FIG. 7, the communication method includes:
- the sensor node sends a resource registration message to the first resource server, where the resource registration message includes the resource information corresponding to the second resource identifier and the second resource identifier, where the resource registration message is used to request to register the resource information corresponding to the second resource identifier.
- resource registration message may also be based on the CoAP protocol, and the specific format is as shown in FIG. 6.
- the resource registration request message may include multiple pairs of second resource identifiers and corresponding resource information.
- the second resource identifier and the corresponding resource information may be explicitly carried in the resource registration request message, or may be implicitly carried.
- the first resource server stores resource information corresponding to the second resource identifier and the second resource identifier.
- the first resource server sends the second resource identifier and the identifier of the first resource server to the central redirector.
- the central redirector stores, in the mapping information, a mapping relationship between the second resource identifier and the identifier of the first resource server, where the mapping information is used to store the resource identifier and the address of the resource server corresponding to the resource information corresponding to the storage resource identifier. Mapping relationship.
- the mapping information is stored in the central redirector, and the mapping information includes a mapping relationship between the resource identifier and the address of the resource server of the resource information corresponding to the storage resource identifier, so that the central redirector can send the resource to the resource server.
- the redirection service is provided, which is used to indicate the identifier of the resource server where the requested resource information is located, thereby effectively reducing the delay in resource query and improving the efficiency of resource discovery.
- step 320 of the embodiment shown in FIG. 7 after the first resource server stores the resource information corresponding to the second resource identifier and the second resource identifier, the first resource server passes the second resource.
- the identifier performs a hash operation to obtain a second resource identifier mapped to a BIT bit on the bitmap; the first resource server will use the second resource
- the BIT bit on the bitmap of the identity map is marked as local storage.
- the second resource identifier is a URI
- the hash function is: hash (URI) mod K.
- the hash table of the BIT bit on the bitmap mapped by the resource identifier and the resource identifier is maintained on the first resource server, where the hash table is used to mark whether the resource information corresponding to the resource identifier is the first resource server local storage. Information.
- the first resource server obtains the first resource identifier to be mapped to the Bit bit on the bitmap by performing a hash operation on the first resource identifier; If the bit bit on the bitmap is not marked as local storage, it is determined that the first resource server does not store the resource information corresponding to the first resource identifier; the bit bit on the bitmap mapped to the first resource identifier is marked. In the case of local storage, it is determined that the first resource server stores the resource information corresponding to the first resource identifier.
- the efficiency of the resource server for retrieving resource information can be improved, thereby improving the efficiency of resource discovery.
- the mapping information is a mapping table; the central redirector performs a hash calculation on the second resource identifier, and determines the mapping table based on the hash calculation result.
- multiple resource identifiers may be saved by using the linked list data structure.
- the central redirector uses the hash search method to retrieve the address of the resource server corresponding to the resource identifier, which can effectively improve the retrieval efficiency compared to the retrieval means such as string matching, and further, the scalability is also good.
- the central redirector performs a hash calculation on the first resource identifier, and determines a second location in the mapping table based on the hash calculation result; the central redirector maps the mapping table The address stored in the second location is determined as the address of the second resource server to which the first resource identifier is mapped.
- the first resource identifier is a URI
- the algorithm for determining the second location in the mapping table is Hash(URI)mod L.
- the embodiment of the present invention proposes a method for preventing misjudgment.
- the method further includes: the central redirector hashing the address of the second resource identifier and the first resource server, and determining the mapping based on the hash calculation result.
- the third location in the table; the central redirector stores the first identifier in the third location of the mapping table, where the first identifier is used to indicate that the mapping relationship between the second resource identifier and the address of the first resource server is stored in the mapping table.
- the central redirector hashing the address of the second resource identifier and the first resource server, and determining the mapping based on the hash calculation result.
- the central redirector stores the first identifier in the third location of the mapping table, where the first identifier is used to indicate that the mapping relationship between the second resource identifier and the address of the first resource server is stored in the mapping table.
- the central redirector performs a hash calculation on the first resource identifier, and determines a second location in the mapping table based on the hash calculation result; the central redirector identifies the first resource identifier Performing a hash calculation on the address stored in the second position of the mapping table, and determining a fourth position of the mapping table based on the hash calculation result; and in the case where the first identifier is stored in the fourth position of the mapping table, the central redirection The device determines the address stored in the second location of the mapping table as the address of the second resource server to which the first resource identifier is mapped.
- the central redirector designs two hash tables, and the two maps are returned as query hits when the mappings are both valid. Specific steps are as follows:
- the input value of the main hash table is a key value (key) to an internal storage location, such as a URI (corresponding resource identifier) to an IP address (corresponding to the address of the resource server) linked list.
- the input value of the sub-hash table is the key value plus the corresponding value of the key value in the main hash table, and the position of the hash table corresponding to the input value is set to 1;
- the query process is divided into two sub-steps. First, the main hash table is queried. If the query result is not empty, continue to query the sub-hash table, and input the query result plus the main hash table query result, only when When the result of both queries is valid, the query result is considered to be true; otherwise, the return query is invalid.
- the probability of false positives can be effectively avoided in the resource query process, thereby improving the efficiency of resource discovery.
- the resource registration scheme is described from the perspective of the first resource server, and the resource registration procedure shown in FIG. 7 is applicable to FIG. 3.
- the resource query scheme is described from the perspective of the first resource server, and the resource query scheme is applicable to the system structure shown in FIG. Each resource server.
- FIG. 8 is a schematic flowchart of a communication method according to another embodiment of the present application, where the communication method includes:
- the second device sends a first restricted application protocol CoAP request message to the first device, where the first CoAP request message is used to request target information.
- the target information may be resource information, or may be device permission information, or may be any information in the Internet of Things that needs to be exchanged.
- the first CoAP request message includes a resource identifier for indicating the resource information.
- the first device receives the first CoAP request message sent by the second device, and determines that the third device includes the target information requested by the second device.
- the first device sends a first CoAP response message to the second device, where the first CoAP response message includes an identifier of the third device, where the first CoAP response message is used to indicate that the target information is stored in the third device.
- the second device sends a second CoAP request message for requesting target information to the third device according to the identifier of the third device.
- the third device sends a second CoAP response message to the second device, where the second CoAP response message includes the target information.
- the second device obtains target information according to the second CoAP response message.
- the first device after receiving the CoAP request message for requesting the target information, the first device sends a CoAP response message carrying the identifier of the third device to the second device, and is used to indicate The target information is stored in the third device, so that the second device obtains the required target information through the third device, thereby improving the efficiency of information acquisition.
- the format of the CoAP packet in this embodiment is as shown in FIG. 6.
- the Code field adopts the representation of 0.XX.
- the first CoAP response message sent by the first device to the second device includes a Code field, and the Code field is used to indicate the first CoAP response message.
- the packet type is a redirect response packet. .
- the Code field of the first CoAP response message is represented by a format of 3.XX, and XX represents a reason for the redirect response.
- the first device determines that the target information is migrated to the third device; or the first device determines that the copy of the target information is stored in the third device; or the first The device determines that the third device is a proxy access device of the target information.
- FIG. 9 is a schematic diagram showing another application scenario of an embodiment of the present invention, which is a home scene, wherein S represents a light intensity sensor on a window (corresponding to the sensor node in the above embodiment), and can detect the light intensity.
- C represents a client device, such as a mobile phone.
- LRD1 - LRD4 are 4 local resource servers in different locations (corresponding to the resource servers in the above embodiment), respectively maintaining a bitmap, and the URI (corresponding to the resource identifier in the above embodiment) is mapped by hash to A bit, this bit is marked as 1 to indicate that the resource information corresponding to the URI is stored locally, otherwise it is not stored locally.
- CRD represents a central redirecting device (corresponding to the central redirector in the above embodiment), such as a home gateway. The CRD maintains a mapping table of URIs and LRD addresses, which can be hashed to corresponding entries by hashing the URI.
- the light intensity detection service registration request is sent to LRD1, and the request includes service information and a URI.
- Step 2 LRD1 hashes the URI, performs modulo operation with the integer K to obtain the position P on the bitmap, and the bit pointed to by P is not set to 1; LRD1 stores the service information, and sets the bit position of the P position on the bitmap to 1. ;
- Step3 LRD1 sends the URI and the address of the LRD1 to the CRD;
- Step 4 the CRD performs a modulo operation on the URI hash and the integer L, and obtains the position Q in the URI and the LRD mapping table, and stores the address of the URI and the LRD to the position corresponding to the Q;
- Step 5 the CRD sends a success message to the LRD1;
- Step6 LRD1 sends a success message to the sensor S;
- Step 7 the client C sends the query request information to the LRD3, and the request includes a URI;
- Step8 LRD3 uses the URI to query the status of the flag bit corresponding to the local bitmap, and the result is 0, and the request is sent to the CRD, and the request contains the URI;
- Step 9 the CRD queries the location Q of the URI in the mapping table, and obtains the address of the LRD1;
- Step10 CRD send redirection to LRD3, the redirect address is LRD1;
- Step11 LRD3 sends a request message to LRD1, and the request includes a URI;
- Step 12 LRD1 queries the light intensity detection service information corresponding to the URI, and sends a response including the light intensity detection service information to the LRD3;
- Step 13 LRD3 forwards the response to client C.
- the mapping between the resource identifier and the identifier of the resource server where the resource information corresponding to the resource identifier is located is stored in the central redirector, so that the resource server does not need to store the client.
- the resource information required by the client can be obtained through the central redirector, and therefore, the efficiency of resource discovery can be effectively improved.
- FIG. 10 shows a schematic block diagram of a resource server 500 in accordance with an embodiment of the present invention.
- the resource server 500 includes:
- the receiving module 510 is configured to receive a first request packet sent by the client, where the first request packet includes a first resource identifier, where the first request packet is used to request resource information corresponding to the first resource identifier.
- the sending module 520 is configured to send a second request message to the central redirector if the resource information corresponding to the first resource identifier is not stored, where the second request message includes the first resource identifier, and the central redirector stores Mapping information, where the mapping information is used to indicate a mapping relationship between the resource identifier and the identifier of the resource server where the resource information corresponding to the resource identifier is located;
- the receiving module 510 is further configured to receive a second response message sent by the central redirector, where the second response message is used to indicate the second resource server where the resource information corresponding to the first resource identifier is located;
- the obtaining module 530 is configured to obtain resource information corresponding to the first resource identifier by using the second resource server according to the second response packet.
- the sending module 520 is further configured to send a first response message to the client, where the first response message includes resource information corresponding to the first resource identifier.
- the mapping between the resource identifier and the identifier of the resource server where the resource information corresponding to the resource identifier is located is stored in the central redirector, so that the resource server does not store the resource information required by the client.
- the central redirector can obtain the resource information required by the client, thereby effectively improving the efficiency of resource discovery.
- the second response packet includes an identifier of the second resource server
- the obtaining module 530 is configured to send the third request packet to the second resource server according to the identifier of the second resource server, where the third The request message includes a first resource identifier
- the third response packet is sent by the second resource server, where the third response packet includes the resource information corresponding to the first resource identifier, and the first resource identifier is obtained according to the third response packet.
- Resource information is
- the second response packet includes a Code field, and the Code field is used to indicate that the packet type of the second response packet is a redirect response packet.
- the Code field is represented by a format of 3.xx.
- the sending module 520 is specifically configured to: obtain a first resource identifier mapped to a Bit bit on the bitmap by performing a hash operation on the first resource identifier; and mapping the first resource identifier to the bitmap on the bitmap If the Bit bit is not marked as local storage, the second request message is sent to the central redirector, and the Bit bit is not marked as local storage, indicating that the first resource server does not store the resource information corresponding to the first resource identifier.
- the receiving module 510 is further configured to receive a resource registration message sent by the sensor node, where the resource registration message includes the resource information corresponding to the second resource identifier and the second resource identifier, and the resource registration message is used by the resource registration message. Requesting to register resource information corresponding to the second resource identifier;
- the resource server 500 also includes:
- the storage module 540 is configured to store resource information corresponding to the second resource identifier and the second resource identifier.
- the sending module 520 is further configured to send the identifier of the second resource identifier and the resource server to the central redirector, so that the central redirector stores the mapping relationship between the identifier of the second resource identifier and the identifier of the resource server into the mapping information.
- the obtaining module 530 may be implemented by a processor or a processor circuit component.
- the processor invokes an instruction in the software protocol stack, and when the instruction is executed, the function of the obtaining module 530 can be implemented.
- the receiving module 510 can be implemented by a receiver or a circuit component having a receiving function.
- the transmitting module 520 can be implemented by a transmitter or a circuit component having a transmitting function.
- resource server 600 can include a processor 610, a memory 620, a bus system 630, a receiver 640, and a transmitter 650.
- the memory 620 is used to store instructions, and the processor 610 reads instructions stored in the memory 620 for controlling the receiver 640 to receive signals and/or the transmitter 650 to transmit signals.
- the receiver 640 is configured to receive a first request packet sent by the client, where the first request packet includes a first resource identifier, and the first request The message is used to request the resource information corresponding to the first resource identifier.
- the sender 650 is configured to send the second request message to the central redirector, where the resource information corresponding to the first resource identifier is not stored.
- the message includes a first resource identifier, and the central redirector stores mapping information, where the mapping information is used to indicate a mapping relationship between the resource identifier and the identifier of the resource server where the resource information corresponding to the resource identifier is located; the receiver 640 is configured to receive a second response message sent by the central redirector, where the second response message is used to indicate the second resource server where the resource information corresponding to the first resource identifier is located; and the processor 610 is configured to: pass the second response message according to the second response message The second resource server obtains the resource information corresponding to the first resource identifier, and the sender 650 is configured to send the first response packet to the client, where the first response packet includes the resource information corresponding to the first resource identifier.
- the mapping between the resource identifier and the identifier of the resource server where the resource information corresponding to the resource identifier is located is stored in the central redirector, so that the resource server does not store the resource information required by the client.
- the resource information required by the client can be obtained through the central redirector. Therefore, the embodiment of the present invention can effectively reduce the delay and improve the efficiency of resource discovery.
- the second response packet includes the identifier of the second resource server
- the processor 610 is configured to obtain the resource information corresponding to the first resource identifier by using the second resource server according to the second response packet, including :
- the sender 650 is configured to send, by the identifier of the second resource server, a third request packet to the second resource server, where the third request packet includes a first resource identifier, and the receiver 640 is configured to receive the second resource server.
- the third response packet includes the resource information corresponding to the first resource identifier, and the processor 610 is configured to obtain the resource information corresponding to the first resource identifier according to the third response packet.
- the response message sent by the central redirector to the first resource server carries the identifier of the second resource server where the resource information corresponding to the first resource identifier is located, and the first resource server passes the second resource server. Obtaining the resource information requested by the client can improve the efficiency of resource discovery.
- the second response packet includes a Code field, and the Code field is used to indicate that the packet type of the second response packet is a redirect response packet.
- the Code field is represented by a format of 3.xx.
- the transmitter 650 is configured to send the second request message to the central redirector, where the resource information corresponding to the first resource identifier is not stored, including:
- the processor 610 is configured to: obtain a first resource identifier mapped to a Bit bit on the bitmap by performing a hash operation on the first resource identifier; and use, by the transmitter 650, the Bit bit mapped to the bitmap on the first resource identifier is not In the case of being marked as local storage, the second request message is sent to the central redirector, and the bit bit is not marked as local storage, indicating that the first resource server does not store the resource information corresponding to the first resource identifier.
- the receiver 640 is further configured to receive a resource registration message sent by the sensor node, where the resource registration message includes the resource information corresponding to the second resource identifier and the second resource identifier, and the resource registration message is used by the resource registration message.
- the requesting to register the resource information corresponding to the second resource identifier; the processor 610 is configured to: store the resource information corresponding to the second resource identifier and the second resource identifier;
- the sender 650 is configured to send the second resource identifier to the central redirector The identifier of the first resource server, so that the central redirector stores the mapping relationship between the second resource identifier and the identifier of the first resource server into the mapping information.
- the resource server 500 shown in FIG. 10 or the resource server 600 shown in FIG. 11 can implement various processes related to the resource server in the foregoing embodiments of FIG. 3 to FIG. 9. To avoid repetition, details are not described herein again.
- FIG. 12 shows a schematic block diagram of a communication device 700 in accordance with an embodiment of the present invention.
- the communication device 700 includes:
- the receiving module 710 is configured to receive a restricted application protocol CoAP request message sent by the second device, and the CoAP request The message is used to request the target information;
- the sending module 720 is configured to send a CoAP response message to the second device, where the CoAP response message includes an identifier of the third device, where the CoAP response message is used to indicate that the target information is stored in the third device, so that the second device is configured according to the third device.
- the identity of the identity requests the third device for the target information.
- the first device after receiving the CoAP request message for requesting the target information, the first device sends a CoAP response message carrying the identifier of the third device to the second device, and is used to indicate The target information is stored in the third device, so that the second device obtains the required target information through the third device, thereby improving the efficiency of information acquisition.
- the CoAP response packet includes a Code field, and the Code field is used to indicate that the packet type of the CoAP response packet is a redirect response packet.
- the Code field is represented by a format of 3.xx.
- the communications device 700 further includes:
- the determining module 730 is configured to: before the sending module sends the CoAP response message to the second device, determine that the target information is migrated to the third device; or determine that the copy of the target information is stored in the third device; or determine that the third device is the target information.
- the proxy accesses the device.
- the above determination module 730 can be implemented by a processor or processor circuit component, in particular, for example, a processor invoking an instruction in a software protocol stack that, when executed, can implement the functionality of the determination module 730.
- the receiving module 710 can be implemented by a receiver or a circuit component having a receiving function.
- the transmitting module 720 can be implemented by a transmitter or a circuit component having a transmitting function.
- the communication device 700 shown in FIG. 12 can implement various processes related to the first device in the foregoing embodiments of FIG. 3 to FIG. 9. To avoid repetition, details are not described herein again.
- the embodiment of the present invention further provides a communication device, which can implement various processes related to the first device in the foregoing embodiments of FIG. 3 to FIG. 9. To avoid repetition, the communication device can also be omitted.
- the communication device can include a processor, a memory, a bus system, a receiver, and a transmitter.
- the memory is used to store instructions, and the processor reads instructions stored in the memory for controlling the transmitter to transmit signals and/or the receiver to receive signals.
- the receiver is configured to receive a limited application protocol CoAP request message sent by the second device, where the CoAP request message is used to request the target information
- the transmitter is configured to send the CoAP response message to the second device, and the CoAP response message
- the text includes an identifier of the third device, where the CoAP response message is used to indicate that the target information is stored in the third device, so that the second device requests the third device to the target information according to the identifier of the third device.
- the first device after receiving the CoAP request message for requesting the target information, the first device sends a CoAP response message carrying the identifier of the third device to the second device, and is used to indicate The target information is stored in the third device, so that the second device obtains the required target information through the third device, thereby improving the efficiency of information acquisition.
- the CoAP response packet includes a Code field, and the Code field is used to indicate that the packet type of the CoAP response packet is a redirect response packet.
- the Code field is represented by a format of 3.xx.
- the processor is configured to: before the transmitter sends the CoAP response message to the second device, determine that the target information is migrated to the third device; or determine that the copy of the target information is stored in the third device; Or determine the third device as the proxy access device of the target information.
- FIG. 13 shows a schematic block diagram of a communication device 800 in accordance with an embodiment of the present invention.
- Communication device 800 includes:
- the sending module 810 is configured to send a first restricted application protocol CoAP request message to the first device, where the first CoAP request message is used to request target information;
- the receiving module 820 is configured to receive a first CoAP response message sent by the first device, where the first CoAP response message includes an identifier of the third device, where the first CoAP response message is used to indicate that the target information is stored in the third device;
- the sending module 810 is further configured to: send, according to the identifier of the third device, a second CoAP request message for requesting the target information to the third device;
- the receiving module 820 is further configured to receive a second CoAP response message sent by the third device, where the second CoAP response message includes target information.
- the obtaining module 830 is configured to obtain target information according to the second CoAP response message.
- the first device after receiving the CoAP request message for requesting the target information, the first device sends a CoAP response message carrying the identifier of the third device to the second device, and is used to indicate The target information is stored in the third device, so that the second device obtains the required target information through the third device, thereby improving the efficiency of information acquisition.
- the CoAP response packet includes a Code field, and the Code field is used to indicate that the packet type of the CoAP response packet is a redirect response packet.
- the Code field is represented by a format of 3.xx.
- the above-mentioned acquisition module 830 can be implemented by a processor or a processor circuit component.
- the processor invokes an instruction in a software protocol stack, and when the instruction is executed, the function of the acquisition module 830 can be implemented.
- the receiving module 820 can be implemented by a receiver or a circuit component having a receiving function.
- the transmitting module 810 can be implemented by a transmitter or a circuit component having a transmitting function.
- the embodiment of the present invention further provides a communication device, which can implement various processes related to the second device in the foregoing embodiments of FIG. 3 to FIG. 9. To avoid repetition, the communication device can also be omitted.
- a communication device 800 corresponding to an embodiment of the present invention.
- the communication device can include a processor, a memory, a bus system, a receiver, and a transmitter.
- the memory is used to store instructions, and the processor reads instructions stored in the memory for controlling the transmitter to transmit signals and/or the receiver to receive signals.
- the transmitter is configured to send a first restricted application protocol CoAP request message to the first device, where the first CoAP request message is used to request target information
- the receiver is configured to receive the first CoAP response message sent by the first device.
- the first CoAP response message includes an identifier of the third device, where the first CoAP response message is used to indicate that the target information is stored in the third device, and the transmitter is configured to send, to the third device, the third device according to the identifier of the third device.
- a second CoAP request message requesting the target information
- the receiver is configured to receive the second CoAP response message sent by the third device, where the second CoAP response message includes the target information
- the processor is configured to obtain the second CoAP response message according to the second CoAP response message.
- Target information is configured to send a first restricted application protocol CoAP request message to the first device, where the first CoAP request message is used to request target information
- the receiver is configured to receive the first CoAP response message sent by the first device.
- the first CoAP response message includes
- the first device after receiving the CoAP request message for requesting the target information, the first device sends a CoAP response message carrying the identifier of the third device to the second device, and is used to indicate The target information is stored in the third device, so that the second device obtains the required target information through the third device, thereby improving the efficiency of information acquisition.
- the first CoAP response packet includes a Code field, and the Code field is used to indicate that the packet type of the first CoAP response packet is a redirect response packet.
- the CCode field is represented by a format of 3.xx.
- the processor may be a central processing unit (Central Processing Unit, Referred to as "CPU"), it can also be other general-purpose processors, digital signal processors (DSPs), application specific integrated circuits (ASICs), and Field Programmable Gate Arrays. FPGA) or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, and the like.
- the general purpose processor may be a microprocessor or the processor or any conventional processor or the like.
- the memory in embodiments of the invention may be a volatile memory or a non-volatile memory, or may include both volatile and nonvolatile memory.
- the non-volatile memory may be a read-only memory (ROM), a programmable read only memory (PROM), an erasable programmable read only memory (Erasable PROM, EPROM), or an electric Erase programmable read only memory (EEPROM) or flash memory.
- the volatile memory can be a Random Access Memory (RAM) that acts as an external cache.
- RAM Random Access Memory
- many forms of RAM are available, such as static random access memory (SRAM), dynamic random access memory (DRAM), synchronous dynamic random access memory (Synchronous DRAM). SDRAM), Double Data Rate SDRAM (DDR SDRAM), Enhanced Synchronous Dynamic Random Access Memory (ESDRAM), Synchronous Connection Dynamic Random Access Memory (Synchlink DRAM, SLDRAM) ) and direct memory bus random access memory (DR RAM).
- processor is a general-purpose processor, DSP, ASIC, FPGA or other programmable logic device, discrete gate or transistor logic device, discrete hardware component, the memory (storage module) is integrated in the processor.
- memories of the systems and methods described herein are intended to comprise, without being limited to, these and any other suitable types of memory.
- the bus system may include a power bus, a control bus, a status signal bus, and the like in addition to the data bus.
- various buses are labeled as a bus system in FIG.
- each step of the above method may be completed by an integrated logic circuit of hardware in a processor or an instruction in a form of software.
- the steps of the method disclosed in the embodiments of the present invention may be directly implemented as a hardware processor, or may be performed by a combination of hardware and software modules in the processor.
- the software module can be located in a conventional storage medium such as random access memory, flash memory, read only memory, programmable read only memory or electrically erasable programmable memory, registers, and the like.
- the storage medium is located in the memory, and the processor reads the information in the memory and combines the hardware to complete the steps of the above method. To avoid repetition, it will not be described in detail here.
- the size of the serial numbers of the above processes does not mean the order of execution, and the order of execution of each process should be determined by its function and internal logic, and should not be taken to the embodiments of the present invention.
- the implementation process constitutes any limitation.
- the disclosed systems, devices, and methods may be implemented in other manners.
- the device embodiments described above are merely illustrative.
- the division of the unit is only a logical function division.
- there may be another division manner for example, multiple units or components may be combined or 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 application 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 functions may be stored in a computer readable storage medium if implemented in the form of a software functional unit and sold or used as a standalone product.
- the technical solution of the present application which is essential or contributes to the prior art, or a part of the technical solution, may be embodied in the form of a software product, which is stored in a storage medium, including
- the instructions are used to cause a computer device (which may be a personal computer, server, or network device, etc.) to perform all or part of the steps of the methods described in various embodiments of the present application.
- the foregoing storage medium includes: a U disk, a mobile hard disk, a read-only memory (ROM), a random access memory (RAM), a magnetic disk, or an optical disk, and the like, which can store program codes. .
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Mobile Radio Communication Systems (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Computer And Data Communications (AREA)
Abstract
本申请提供一种通信系统、通信方法与装置,该通信系统包括:客户端,用于向第一资源服务器发送包括第一资源标识的第一请求报文,用于请求第一资源标识对应的资源信息;第一资源服务器,用于在未存储第一资源标识对应的资源信息时,向中央重定向器发送包括第一资源标识的第二请求报文;中央重定向器,用于根据映射信息,向第一资源服务器发送用于指示第一资源标识对应的资源信息所在的第二资源服务器的第二响应报文;第一资源服务器还用于,通过第二资源服务器获取第一资源标识对应的资源信息,向客户端发送包括第一资源标识对应的资源信息的第一响应报文。因此,本申请能够有效降低时延,提高资源发现的效率。
Description
本申请要求于2016年9月28日提交中国专利局、申请号为201610857030.3、发明名称为“通信方法和装置”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
本申请涉及通信领域,并且更具体地,涉及一种通信方法和装置。
物联网(Internet of Things,IoT)是在互联网的基础上延伸和扩展的一种网络,目的是实现所有物品与网络的连接,即实现物物相连,从而进行信息交换和通信,方便识别、管理和控制。
为了实现物物相连,物联网需具备服务或者资源发现(下文统称资源发现)的功能。资源发现包括资源注册和资源查询两个过程。例如,温度传感器节点向资源服务器请求注册温度资源信息,资源服务器在本地存储请求注册的温度资源信息,这个过程称为资源注册。客户端向资源服务器请求查询资源信息,资源服务器从本地存储信息中查询到客户端所需的资源信息,并向客户端发送,这个过程称为资源查询。
当前技术中有一些基于物联网的资源发现方案。图1示出了现有的一种资源发现方案的示意图,在图1中,C表示客户端,EP1、EP2、EP3均为传感器节点,RD为资源目录(Resource Directory)节点(对应于资源服务器),EP1、EP2、EP3和C均能够连接到RD,例如EP3是通过EP2间接连接到RD。首先,EP1、EP2、EP3向RD通过注册接口注册资源信息,然后客户端C通过查询接口从RD查询所需的资源信息。
但是,在图1所示的现有技术中,随着物联网中节点(传感器节点与客户端节点)规模的增大,RD会成为网络访问的焦点,需要在RD上存储的资源信息会非常大,导致RD很难满足存储要求;由于频繁访问,RD也会成为网络性能瓶颈点,导致RD处理请求的时延会变大。图1所示现有技术还存在单点故障问题,一旦RD出现故障,全网资源发现不可用。
图2示出了现有的另一种资源发现方案的示意图,图2所示方案是对图1所示方案的改进。在图2所示方案中,采用分布式哈希表(Distributed Hash Table,DHT)把多个分布式的RD组织在一个叠加网中,并把不同的资源信息分布式存储在不同的RD上,这样能够克服图1所示现有方案存在的RD的存储负担大和单点故障的问题。
但是,在图2所示方案的资源注册阶段,一个RD接收到待注册的资源后,会对该资源(例如资源的全局资源标识URI)作哈希运算,会将待注册的资源存储到哈希运算结果所对应的其他RD上,而非本RD上,导致资源注册阶段的时延较大。在图2所示方案的资源查询阶段,客户端向一个RD发起资源查询后,可能需要经过多个RD的查询后才能获取到客户端所需的资源。如图2所示,客户端向RD8查询资源,RD8发现本地没有客户端所需的资源,RD8根据路由表询问RD42,但是RD8并不确定RD42中是否存储有客户端所需的资源;RD42也发现本地没有客户端所需的资源,RD42根据路由表询问RD51,但是RD42并不确定RD51中是否存储有客户端所需的资源;RD51也发现本地没有客户端所需的资源,RD51根据路由表询问RD56,但是RD51并不确定RD56
中是否存储有客户端所需的资源;RD56发现本地有客户端所需的资源,则RD56向客户端发送客户端所需的资源。
上述可知,图2所示现有技术虽然解决了图1所示现有方案存在的存储负担大和单点故障的问题,但是客户端在资源查询过程中可能需要通过多次查询才能获取到所需资源,从而存在较大的时延,降低了资源发现的效率。
发明内容
本申请提供一种通信方法和装置,能够有效提高资源发现的效率。
第一方面,提供一种通信系统,所述通信系统包括:中央重定向器、多个资源服务器与客户端,所述中央重定向器存储有映射信息,所述映射信息用于指示资源标识与所述资源标识对应的资源信息所在的资源服务器的标识之间的映射关系;所述客户端用于,向所述多个资源服务器中的第一资源服务器发送第一请求报文,所述第一请求报文包括第一资源标识,所述第一请求报文用于请求所述第一资源标识对应的资源信息;所述第一资源服务器用于,在未存储所述第一资源标识对应的资源信息的情况下,向所述中央重定向器发送第二请求报文,所述第二请求报文包括所述第一资源标识;所述中央重定向器用于,根据所述第一资源标识与所述映射信息,向所述第一资源服务器发送第二响应报文,所述第二响应报文用于指示所述第一资源标识对应的资源信息所在的第二资源服务器;所述第一资源服务器还用于,从所述第二资源服务器得到所述第一资源标识对应的资源信息;向所述客户端发送第一响应报文,所述第一响应报文包括所述第一资源标识对应的资源信息。
在本方案中,中央重定向器中存储有资源标识与所述资源标识对应的资源信息所在的资源服务器的标识之间的映射关系,使得资源服务器在未存储客户端所需资源信息的情况下,可以通过中央重定向器获取到客户端所需资源信息,因此,能够有效提高资源发现的效率。
结合第一方面,在第一方面的一种可能的实现方式中,在根据所述第一资源标识与所述映射信息,向所述第一资源服务器发送第二响应报文的方面,所述中央重定向器用于,根据所述映射信息获取与所述第一资源标识具有映射关系的第二资源服务器的标识;向所述第一资源服务器发送所述第二响应报文,所述第二响应报文包括所述第二资源服务器的标识;在根据所述第二响应报文,通过所述第二资源服务器获取所述第一资源标识对应的资源信息的方面,所述第一资源服务器用于,根据所述第二资源服务器的标识向所述第二资源服务器发送第三请求报文,所述第三请求报文包括所述第一资源标识;第二资源服务器用于,向所述第一资源服务器发送第三响应报文,所述第三响应报文包括所述第一资源标识对应的资源信息;所述第一资源服务器用于,根据所述第三响应报文得到所述第一资源标识对应的资源信息。
在本方案中,在中央重定向器向第一资源服务器发送的响应报文中携带第一资源标识对应的资源信息所在的第二资源服务器的标识,从而使得第一资源服务器通过第二资源服务器获得客户端所请求的资源信息,能够提高资源发现的效率。
结合第一方面的上述某些可能的实现方式,在第一方面的一种可能的实现方式中,所述第二响应报文包括Code字段,所述Code字段用于指示所述第二响应报文的报文类型为重定向响应报文。
在本方案中,提出一种用于指示重定向响应报文的报文,通过这类型报文,能够提高资源发现的效率。
结合第一方面的上述某些可能的实现方式,在第一方面的一种可能的实现方式中,所述Code字段采用3.xx的格式表示。
结合第一方面的上述某些可能的实现方式,在第一方面的一种可能的实现方式中,在未存储所述第一资源标识对应的资源信息的情况下,向所述中央重定向器发送第二请求报文的方面,所述第一资源服务器用于,通过对所述第一资源标识进行哈希运算,获得所述第一资源标识映射到位图上的Bit位;在所述第一资源标识映射到位图上的Bit位未被标记为本地存储的情况下,向所述中央重定向器发送所述第二请求报文,所述Bit位未被标记为本地存储表示所述第一资源服务器未存储所述第一资源标识对应的资源信息。
在本方案中,通过哈希计算技术查找客户端所需的资源信息,能够有效提高信息检索的效率与速度,从而提高资源发现的效率。
结合第一方面的上述某些可能的实现方式,在第一方面的一种可能的实现方式中,所述映射信息为映射表,所述中央重定向器根据所述映射信息,获取与所述第一资源标识具有映射关系的第二资源服务器的标识,包括:所述中央重定向器对所述第一资源标识进行第一哈希计算;所述中央重定向器根据所述第一哈希计算的结果对应的所述映射表中存储的信息,获取所述第二资源服务器的标识。
结合第一方面的上述某些可能的实现方式,在第一方面的一种可能的实现方式中,所述中央重定向器根据所述第一哈希计算的结果对应的所述映射表中存储的信息,获取所述第二资源服务器的标识,包括:所述中央重定向器对所述第一资源标识与所述第一哈希计算的结果对应的所述映射表中存储的信息进行第二哈希计算;在所述第二哈希计算的结果对应的所述映射表中存储的信息包括第一标识的情况下,所述中央重定向器将所述第一哈希计算的结果对应的所述映射表中存储的信息确定为所述第二资源服务器的标识。
结合第一方面的上述某些可能的实现方式,在第一方面的一种可能的实现方式中,所述通信系统还包括传感器节点,所述传感器节点用于,向所述第一资源服务器发送资源注册报文,所述资源注册报文包括第二资源标识与所述第二资源标识对应的资源信息,所述资源注册报文用于请求注册所述第二资源标识对应的资源信息;所述第一资源服务器还用于,存储所述第二资源标识与所述第二资源标识对应的资源信息;所述第一资源服务器还用于,向所述中央重定向器发送所述第二资源标识与所述第一资源服务器的标识;所述中央重定向器还用于,将所述第二资源标识与所述第一资源服务器的标识的映射关系存储到所述映射信息中。
第二方面,提供一种通信方法,所述通信方法包括:第一资源服务器接收客户端发送的第一请求报文,所述第一请求报文包括第一资源标识,所述第一请求报文用于请求所述第一资源标识对应的资源信息;所述第一资源服务器在未存储所述第一资源标识对应的资源信息的情况下,向中央重定向器发送第二请求报文,所述第二请求报文包括所述第一资源标识,所述中央重定向器存储有映射信息,所述映射信息用于指示资源标识与所述资源标识对应的资源信息所在的资源服务器的标识之间的映射关系;所述第一资源服务器接收所述中央重定向器发送的第二响应报文,所述第二响应报文用于指示所述
第一资源标识对应的资源信息所在的第二资源服务器;所述第一资源服务器根据所述第二响应报文,通过所述第二资源服务器获取所述第一资源标识对应的资源信息;所述第一资源服务器向所述客户端发送第一响应报文,所述第一响应报文包括所述第一资源标识对应的资源信息。
在本方案中,中央重定向器中存储有资源标识与所述资源标识对应的资源信息所在的资源服务器的标识之间的映射关系,使得资源服务器在未存储客户端所需资源信息的情况下,可以通过中央重定向器获取到客户端所需资源信息,因此,能够有效提高资源发现的效率。
结合第二方面的上述某些可能的实现方式,在第二方面的一种可能的实现方式中,所述第二响应报文包括第二资源服务器的标识,所述第一资源服务器根据所述第二响应报文,通过所述第二资源服务器获取所述第一资源标识对应的资源信息,包括:所述第一资源服务器根据所述第二资源服务器的标识向所述第二资源服务器发送第三请求报文,所述第三请求报文包括所述第一资源标识;所述第一资源服务器接收所述第二资源服务器发送的第三响应报文,所述第三响应报文包括所述第一资源标识对应的资源信息;所述第一资源服务器根据所述第三响应报文得到所述第一资源标识对应的资源信息。
在本方案中,在中央重定向器向第一资源服务器发送的响应报文中携带第一资源标识对应的资源信息所在的第二资源服务器的标识,第一资源服务器通过第二资源服务器获得客户端所请求的资源信息,能够提高资源发现的效率。
结合第二方面的上述某些可能的实现方式,在第二方面的一种可能的实现方式中,所述第二响应报文包括Code字段,所述Code字段用于指示所述第二响应报文的报文类型为重定向响应报文。
在本方案中,提出一种用于指示重定向响应报文的报文,通过这类型报文,能够提高资源发现的效率。
结合第二方面的上述某些可能的实现方式,在第二方面的一种可能的实现方式中,所述Code字段采用3.xx的格式表示。
结合第二方面的上述某些可能的实现方式,在第二方面的一种可能的实现方式中,所述在未存储所述第一资源标识对应的资源信息的情况下,所述第一资源服务器向中央重定向器发送第二请求报文,包括:所述第一资源服务器通过对所述第一资源标识进行哈希运算,获得所述第一资源标识映射到位图上的Bit位;在所述第一资源标识映射到位图上的Bit位未被标记为本地存储的情况下,向所述中央重定向器发送所述第二请求报文,所述Bit位未被标记为本地存储表示所述第一资源服务器未存储所述第一资源标识对应的资源信息。
结合第二方面的上述某些可能的实现方式,在第二方面的一种可能的实现方式中,所述通信方法还包括:所述第一资源服务器接收传感器节点发送的资源注册报文,所述资源注册报文包括第二资源标识与所述第二资源标识对应的资源信息,所述资源注册报文用于请求注册所述第二资源标识对应的资源信息;所述第一资源服务器存储所述第二资源标识与所述第二资源标识对应的资源信息;所述第一资源服务器向所述中央重定向器发送所述第二资源标识与所述第一资源服务器的标识,以便于所述中央重定向器将所述第二资源标识与所述第一资源服务器的标识的映射关系存储到所述映射信息中。
第三方面,提供一种通信方法,所述通信方法包括:中央重定向器接收第一资源服
务器发送的第二请求报文,所述第二请求报文包括第一资源标识,所述第二请求报文用于请求所述第一资源标识对应的资源信息;所述中央重定向器根据映射信息,向所述第一资源服务器发送第二响应报文,所述第二响应报文用于所述第一资源服务器获取所述第一资源标识对应的资源信息,所述映射信息用于指示资源标识与所述资源标识对应的资源信息所在的资源服务器的标识之间的映射关系。
在本方案中,中央重定向器中存储有资源标识与所述资源标识对应的资源信息所在的资源服务器的标识之间的映射关系,使得资源服务器在未存储客户端所需资源信息的情况下,可以通过中央重定向器获取到客户端所需资源信息,因此,能够有效提高资源发现的效率。
结合第三方面的上述某些可能的实现方式,在第三方面的一种可能的实现方式中,所述中央重定向器根据映射信息,向所述第一资源服务器发送第二响应报文,包括:所述中央重定向器根据所述映射信息,获取与所述第一资源标识具有对应关系的第二资源服务器的标识;所述中央重定向器向所述第一资源服务器发送所述第二响应报文,所述第二响应报文包括第二资源服务器的标识。
在本方案中,在中央重定向器向第一资源服务器发送的响应报文中携带第一资源标识对应的资源信息所在的第二资源服务器的标识,从而使得第一资源服务器通过第二资源服务器获得客户端所请求的资源信息,能够提高资源发现的效率。
结合第三方面的上述某些可能的实现方式,在第三方面的一种可能的实现方式中,所述第二响应报文包括Code字段,所述Code字段用于指示所述第二响应报文的报文类型为重定向响应报文。
结合第三方面的上述某些可能的实现方式,在第三方面的一种可能的实现方式中,所述Code字段采用3.xx的格式表示。
结合第三方面的上述某些可能的实现方式,在第三方面的一种可能的实现方式中,所述中央重定向器根据映射信息,向所述第一资源服务器发送第二响应报文,包括:所述中央重定向器根据所述映射信息,获取与所述第一资源标识具有对应关系的第二资源服务器的标识;所述中央重定向器根据所述第二资源服务器的标识,向所述第二资源服务器发送第四请求报文,所述第四请求报文包括所述第一资源标识,所述第五请求报文用于请求所述第一资源标识对应的资源信息;所述中央重定向器接收所述第二资源服务器发送的第四响应报文,所述第四响应报文包括所述第一资源标识对应的资源信息;所述中央重定向器向所述第一资源服务器发送所述第二响应报文,所述第二响应报文包括所述第一资源标识对应的资源信息。
结合第三方面的上述某些可能的实现方式,在第三方面的一种可能的实现方式中,在第三方面的第五种可能的实现方式中,所述映射信息为映射表,所述中央重定向器根据所述映射信息,获取与所述第一资源标识具有对应关系的第二资源服务器的标识,包括:所述中央重定向器对所述第一资源标识进行第一哈希计算;所述中央重定向器根据所述第一哈希计算的结果对应的所述映射表中存储的信息,获取所述第二资源服务器的标识。
结合第三方面的上述某些可能的实现方式,在第三方面的一种可能的实现方式中,所述中央重定向器根据所述第一哈希计算的结果对应的所述映射表中存储的信息,获取所述第二资源服务器的标识,包括:所述中央重定向器对所述第一资源标识与所述第一
哈希计算的结果对应的所述映射表中存储的信息进行第二哈希计算;在所述第二哈希计算的结果对应的所述映射表中存储的信息包括第一标识的情况下,所述中央重定向器将所述第一哈希计算的结果对应的所述映射表中存储的信息确定为所述第二资源服务器的标识。
结合第三方面的上述某些可能的实现方式,在第三方面的一种可能的实现方式中,所述通信方法还包括:所述中央重定向器接收所述第一资源服务器发送的第二资源标识与所述第一资源服务器的标识;所述中央重定向器将所述第二资源标识与所述第一资源服务器的标识的映射关系存储到所述映射信息中。
第四方面,提供一种通信方法,所述通信方法包括:客户端向第一资源服务器发送请求报文,所述请求报文包括第一资源标识,所述请求报文用于请求所述第一资源标识对应的资源信息,以便于所述第一资源服务器在未存储所述第一资源标识对应的资源信息的情况下,向中央重定向器转发所述请求报文,并根据所述中央重定向器发送的用于指示所述第一资源标识对应的资源信息所在的第二资源服务器的响应报文,向所述第二资源服务器请求所述第一资源标识对应的资源信息,所述中央重定向器存储有映射信息,所述映射信息用于指示资源标识与所述资源标识对应的资源信息所在的资源服务器的标识之间的映射关系;所述客户端接收所述第一资源服务器发送的包括所述第一资源标识对应的资源信息的响应报文。
在本方案中,中央重定向器中存储有资源标识与所述资源标识对应的资源信息所在的资源服务器的标识之间的映射关系,使得资源服务器在未存储客户端所需资源信息的情况下,可以通过中央重定向器获取到客户端所需资源信息,因此,能够有效提高资源发现的效率。
结合第四方面,在第四方面的一种可能的实现方式中,所述中央重定向器发送的用于指示所述第一资源标识对应的资源信息所在的第二资源服务器的响应报文包括所述第二资源服务器的标识;
所述第一资源服务器用于根据所述第二资源服务器的标识,向所述第二资源服务器请求所述第一资源标识对应的资源信息。
结合第四方面的上述某些可能的实现方式,在第四方面的一种可能的实现方式中,所述中央重定向器发送的用于指示所述第一资源标识对应的资源信息所在的第二资源服务器的响应报文包括Code字段,所述Code字段用于指示所述响应报文的报文类型为重定向响应报文。
结合第四方面的上述某些可能的实现方式,在第四方面的一种可能的实现方式中,所述Code字段采用3.xx的格式表示。
第五方面,提供一种通信方法,所述通信方法包括:第一设备接收第二设备发送的受限应用协议CoAP请求报文,所述CoAP请求报文用于请求目标信息;所述第一设备向所述第二设备发送CoAP响应报文,所述CoAP响应报文包括第三设备的标识,所述CoAP响应报文用于表示所述目标信息存储于所述第三设备,以便所述第二设备根据所述第三设备的标识向所述第三设备请求所述目标信息。
在本方案中,第一设备接收到第二设备发送的用于请求目标信息的CoAP请求报文后,通过向第二设备发送携带第三设备的标识的CoAP响应报文,用于表示目标信息存储于第三设备中,从而使得第二设备通过第三设备获得所需的目标信息,从而能够提高
信息获取的效率。
结合第五方面的上述某些可能的实现方式,在第五方面的一种可能的实现方式中,所述CoAP响应报文包括Code字段,所述Code字段用于指示所述CoAP响应报文的报文类型为重定向响应报文。
结合第五方面的上述某些可能的实现方式,在第五方面的一种可能的实现方式中,所述Code字段采用3.xx的格式表示。
结合第五方面的上述某些可能的实现方式,在第五方面的一种可能的实现方式中,在所述第一设备向所述第二设备发送所述CoAP响应报文之前,所述通信方法还包括:所述第一设备确定所述目标信息迁移到所述第三设备;或所述第一设备确定所述目标信息的副本存储在所述第三设备;或所述第一设备确定所述第三设备为所述目标信息的代理访问设备。
第六方面,提供一种通信方法,所述通信方法包括:第二设备向第一设备发送第一受限应用协议CoAP请求报文,所述第一CoAP请求报文用于请求目标信息;所述第二设备接收所述第一设备发送的第一CoAP响应报文,所述第一CoAP响应报文包括第三设备的标识,所述第一CoAP响应报文用于表示所述目标信息存储于所述第三设备;所述第二设备根据所述第三设备的标识,向所述第三设备发送用于请求所述目标信息的第二CoAP请求报文;所述第二设备接收所述第三设备发送的第二CoAP响应报文,所述第二CoAP响应报文包括所述目标信息;所述第二设备根据所述第二CoAP响应报文获得所述目标信息。
在本方案中,第一设备接收到第二设备发送的用于请求目标信息的CoAP请求报文后,通过向第二设备发送携带第三设备的标识的CoAP响应报文,用于表示目标信息存储于第三设备中,从而使得第二设备通过第三设备获得所需的目标信息,从而能够提高信息获取的效率。
结合第六方面的上述某些可能的实现方式,在第六方面的一种可能的实现方式中,所述CoAP响应报文包括Code字段,所述CoAP响应报文包括Code字段,所述Code字段用于指示所述CoAP响应报文的报文类型为重定向响应报文。
结合第六方面的上述某些可能的实现方式,在第六方面的一种可能的实现方式中,在第六方面的第二种可能的实现方式中,所述Code字段采用3.xx的格式表示。
第七方面,提供一种资源服务器,所述资源服务器用于执行第二方面或第二方面的任一种可能的实现方式中的方法。具体地,所述资源服务器可以包括用于执行第二方面或第二方面的任一种可能的实现方式中的方法的模块。
第八方面,提供一种中央重定向器,所述中央重定向器用于执行第三方面或第三方面的任一种可能的实现方式中的方法。具体地,所述中央重定向器可以包括用于执行第三方面或第三方面的任一种可能的实现方式中的方法的模块。
第九方面,提供一种客户端,所述客户端用于执行第四方面提供的方法。
第十方面,提供一种通信设备,所述通信设备用于执行第五方面或第五方面的任一种可能的实现方式中的方法。具体地,所述通信设备可以包括用于执行第五方面或第五方面的任一种可能的实现方式中的方法的模块。
第十一方面,提供一种通信设备,所述通信设备用于执行第六方面或第六方面的任一种可能的实现方式中的方法。具体地,所述通信设备可以包括用于执行第六方面或第
六方面的任一种可能的实现方式中的方法的模块。
第十二方面,提供一种资源服务器,所述资源服务器包括存储器和处理器,该存储器用于存储指令,该处理器用于执行该存储器存储的指令,并且对该存储器中存储的指令的执行使得该处理器执行第二方面或第二方面的任一种可能的实现方式中的方法。
第十三方面,提供一种中央重定向器,所述中央重定向器包括存储器和处理器,该存储器用于存储指令,该处理器用于执行该存储器存储的指令,并且对该存储器中存储的指令的执行使得该处理器执行第三方面或第三方面的任一种可能的实现方式中的方法。
第十四方面,提供一种客户端,所述客户端包括存储器和处理器,该存储器用于存储指令,该处理器用于执行该存储器存储的指令,并且对该存储器中存储的指令的执行使得该处理器执行第四方面提供的方法。
第十五方面,提供一种通信设备,所述通信设备包括存储器和处理器,该存储器用于存储指令,该处理器用于执行该存储器存储的指令,并且对该存储器中存储的指令的执行使得该处理器执行第五方面或第五方面的任一种可能的实现方式中的方法。
第十六方面,提供一种通信设备,所述通信设备包括存储器和处理器,该存储器用于存储指令,该处理器用于执行该存储器存储的指令,并且对该存储器中存储的指令的执行使得该处理器执行第六方面或第六方面的任一种可能的实现方式中的方法。
图1示出现有技术的资源发现方法的示意图。
图2示出另一现有技术的资源发现方法的示意图。
图3示出本发明实施例的通信系统的示意图。
图4示出本发明实施例的通信方法的示意性流程图。
图5示出本发明实施例的通信方法的另一示意性流程图。
图6示出本发明实施例中CoAP报文的结构示意图。
图7示出本发明实施例的通信方法的再一示意性流程图。
图8示出本发明实施例的通信方法的再一示意性流程图。
图9示出本发明实施例的系统架构的另一示意图。
图10示出本发明实施例的资源服务器的示意性框图。
图11示出本发明实施例的资源服务器的另一示意性框图。
图12示出本发明实施例的通信设备的示意性框图。
图13示出本发明实施例的另一通信设备的示意性框图。
为了便于理解与描述本发明实施例,首先描述几个本发明实施例涉及的术语。
本发明实施例中的资源信息可以表示传感器的测量信息,例如,温度传感器的温度测量信息,压力传感器的压力测量信息等。
具体地,例如,当资源为温度,对应的资源信息为温度测量信息;再例如,资源为压力,对应的资源信息为压力测量信息。
本发明实施例中的资源标识指的是用于指示资源信息的信息。具体地,资源标识的
表现形式可以为统一资源标识符(Uniform Resource Identifier,URI)。
本发明实施例中的资源服务器的标识,指的是能够指示资源服务器的信息。具体地,例如资源服务器的标识例如为资源服务器的IP地址、MAC地址或设备ID等信息。
图3示出本发明实施例提供的通信系统100的示意图,通信系统100包括:中央重定向器(Centralized Redirector,CRD)110、多个资源服务器120(图3中示意性示出4个)与多个客户端130(图3中示意性示出2个),其中,中央重定向器110存储有映射信息,映射信息用于指示资源标识与资源标识对应的资源信息所在的资源服务器的标识之间的映射关系。
本发明实施例中的资源服务器的标识表示用于指示资源服务器的信息,例如资源服务器的IP地址或MAC地址,或者资源服务器的设备ID等能够唯一标识这个资源服务器的信息。
客户端(例如图3中所示130a)用于,向多个资源服务器120中的第一资源服务器(例如图3中所示120a)发送第一请求报文,第一请求报文包括第一资源标识,第一请求报文用于请求第一资源标识对应的资源信息;
第一资源服务器用于,在未存储第一资源标识对应的资源信息的情况下,向中央重定向器110发送第二请求报文,第二请求报文包括第一资源标识;
中央重定向器110用于,根据第一资源标识与映射信息,向第一资源服务器发送第二响应报文,第二响应报文用于指示第一资源标识对应的资源信息所在的第二资源服务器(例如图3中所示120c);
第一资源服务器还用于,从第二资源服务器得到第一资源标识对应的资源信息;向客户端发送第一响应报文,第一响应报文包括第一资源标识对应的资源信息。
在本发明实施例中,中央重定向器中存储有资源标识与所述资源标识对应的资源信息所在的资源服务器的标识之间的映射关系,使得资源服务器在未存储客户端所需资源信息的情况下,可以通过中央重定向器获取到客户端所需资源信息,因此,能够有效提高资源发现的效率。
具体地,在本发明实施例中,中央重定向器110集中化部署,例如中央重定向器110在逻辑上为一个整体,具体的物理部署方式可以为集群式。多个资源服务器120分布式部署。具体地,资源服务器120可以为本地资源目录(Local Resource Directory,LRD)设备,还可以为本地网关。客户端130用于向本地资源服务器请求资源信息,例如,客户端130a向资源服务器120a请求资源信息;客户端130d向资源服务器120d请求资源信息。具体地,客户端130可以为用户设备或用户终端。
应理解,中央重定向器110与资源服务器120之间通信连接,资源服务器120之间通信连接,例如,资源服务器120a-120d之间通信连接、客户端130与本地资源服务器通信连接,例如客户端130a与资源服务器120a通信连接。
还应理解,通信系统100还包括:
多个传感器节点140(图3示意性地给出2个),用于将所生成的资源信息上报给本地的资源服务器120,例如,传感器节点140a将所生成的资源信息上报给本地的资源服务器120a,再例如,传感器节点140c将所生成的资源信息上报给本地的资源服务器120c。
具体地,传感器节点130例如温度传感器、湿度传感器等传感器设备。
可选地,本发明实施例可以应用于物联网中,对应地,客户端130为物联网客户端。
应理解,图3仅为示例而非限定,一个资源服务器可以连接多个传感器节点或多个客户端,本发明实施例对此不作限定。
下文结合图4至图10详细描述本发明实施例的通信方法。
图4示出根据本发明实施例提供的通信方法的示意性流程图,具体描述的是资源查询的过程,如图4所示,该方法包括:
210,客户端向第一资源服务器发送第一请求报文,第一请求报文包括第一资源标识,第一请求报文用于请求第一资源标识对应的资源信息。
具体地,客户端请求的资源信息可以是传感器测量信息,例如为温度采集信息或者湿度采集信息等。第一资源标识指的是用于表示客户端所请求的资源信息的标识。
具体地,第一资源标识的表现形式为统一资源标识符(Uniform Resource Identifier,URI)。
220,第一资源服务器判断本地是否存储有第一资源标识对应的资源信息,若是,转到步骤230,若否,转到步骤240。
230,第一资源服务器向客户端发送第一资源标识对应的资源信息。
具体地,首先,根据第一资源标识从本地存储信息中,获取第一资源标识对应的资源信息;然后向客户端发送获取到的资源信息。
240,第一资源服务器在未存储第一资源标识对应的资源信息的情况下,向中央重定向器发送第二请求报文,第二请求报文包括第一资源标识。
250,中央重定向器接收第一资源服务器发送的第二请求报文,并根据映射信息,获取与第一资源标识具有映射关系的第二资源服务器的标识,映射信息用于指示资源标识与资源标识对应的资源信息所在的资源服务器的标识之间的映射关系。
260,中央重定向器向所述第一资源服务器发送第二响应报文,第二响应报文用于指示第一资源标识对应的资源信息所在的第二资源服务器。
270,第一资源服务器根据第二响应报文,通过第二资源服务器获取第一资源标识对应的资源信息。
280,第一资源服务器向客户端发送第一响应报文,第一响应报文包括第一资源标识对应的资源信息。
具体地,本发明实施例中的中央重定向器例如为图3中所示的中央重定向器110,第一资源服务器例如为图3中所示的资源服务器120a,客户端例如为图3中所示的客户端130a,第二资源服务器例如为图3中所示的资源服务器120c。
在本发明实施例中,中央重定向器中存储有资源标识与所述资源标识对应的资源信息所在的资源服务器的标识之间的映射关系,使得资源服务器在未存储客户端所需资源信息的情况下,可以通过中央重定向器获取到客户端所需资源信息,因此,能够有效提高资源发现的效率。
可选地,如图5所示,作为一个实施例,在图4所示实施例中,第二响应报文包括第二资源服务器的标识,270第一资源服务器根据第二响应报文,通过第二资源服务器获取第一资源标识对应的资源信息,包括:
第一资源服务器根据第二资源服务器的标识向第二资源服务器发送第三请求报文,第三请求报文包括第一资源标识;
第一资源服务器接收第二资源服务器发送的第三响应报文,第三响应报文包括第一
资源标识对应的资源信息;
第一资源服务器根据第三响应报文得到第一资源标识对应的资源信息。
在本发明实施例中,在中央重定向器向第一资源服务器发送的响应报文中携带第一资源标识对应的资源信息所在的第二资源服务器的标识,第一资源服务器通过第二资源服务器获得客户端所请求的资源信息,能够提高资源发现的效率。
可选地,作为一个实施例,在图4所示实施例的步骤260中,第二响应报文中直接携带第一资源标识对应的资源信息。具体地,在图4所示实施例的步骤250之后,中央重定向器向第二资源服务器请求第一资源标识对应的资源信息;在步骤260中,将从第二资源服务器获取到第一资源标识对应的资源信息通过第二响应报文发送给第一资源服务器。
可选地,作为一个实施例,在图4所示实施例中,240第一资源服务器在未存储第一资源标识对应的资源信息的情况下,向中央重定向器发送第二请求报文,包括:第一资源服务器通过对第一资源标识进行哈希运算,获得第一资源标识映射到位图上的Bit位;第一资源服务器在第一资源标识映射到位图上的Bit位未被标记为本地存储的情况下,向中央重定向器发送第二请求报文,Bit位未被标记为本地存储表示第一资源服务器未存储第一资源标识对应的资源信息。
在本发明实施例中,能够提高资源服务器检索资源信息的效率,从而提高资源发现的效率。
可选地,作为一个实施例,在图4所示实施例中,映射信息为映射表,250中央重定向器根据映射信息,获取与第一资源标识具有映射关系的第二资源服务器的标识,包括:中央重定向器对第一资源标识进行第一哈希计算;中央重定向器根据第一哈希计算的结果对应的映射表中存储的信息,获取第二资源服务器的标识。
具体地,中央重定向器根据第一哈希计算的结果对应的映射表中存储的信息,获取第二资源服务器的标识,包括:中央重定向器对第一资源标识与第一哈希计算的结果对应的映射表中存储的信息进行第二哈希计算;在第二哈希计算的结果对应的映射表中存储的信息包括第一标识的情况下,中央重定向器将第一哈希计算的结果对应的映射表中存储的信息确定为第二资源服务器的标识。
在本发明实施例中,中央重定向器采用哈希查找方式检索资源标识对应的资源服务器的地址,相比于字符串匹配等检索手段,能有效提高检索效率,此外,扩展性也好。
相对于互联网,物联网中的设备很多都是资源受限型的,即这些设备只有少量的内存空间和有限的计算能力,所以传统的超文本传输协议(Hyper Text transport Protocol,HTTP)应用在物联网上就显得过于庞大而不适用。为此,国际互联网工程任务组(Internet Engineering Task Force,IETF)的CoRE(Constrained RESTful Environment)工作组为资源受限节点制定相关的表述性状态转移(Representational State Transfer,REST)形式的应用层协议,这个基于REST结构的应用层协议就是受限应用协议(Constrained Application Protocol,CoAP)。
可选地,上述实施例中涉及的请求报文以及响应报文可以为基于CoAP的协议报文,图6示出了CoAP协议报文的结构示意图,和其他TCP/IP协议簇中的协议一样,CoAP协议总是以报文头(Head)的形式出现在负载(Payload)之前,在负载和报文头之间使用单字节0xFF分离。如图6所示,CoAP协议报文包括以下部分:版本编号(Ver),
指示CoAP协议的版本号,版本编号占2位,取值为01B。报文类型(T),CoAP协议定了4种不同形式的报文,CON报文,NON报文,ACK报文和RST报文。CoAP标识符长度(TKL)。CoAP协议中具有两种功能相似的标识符,一种为报文编号(Message ID),一种为标识符(Token),标识具体内容,通过TKL指定Token长度。每个CoAP报文均包含Message ID,但是Token对于CoAP报文来说是非必须的。功能码/响应码(Code),Code在CoAP请求报文和响应报文中具有不同的表现形式,Code占一个字节,它被分成了两部分,前3位一部分,后5位一部分,为了方便描述,Code被描述为c.dd的结构。在现有技术中,0.XX表示CoAP请求报文,而2.XX、4.XX或5.XX则表示CoAP响应报文的某种具体表现。报文选项(Option),通过报文选项可设定CoAP主机,CoAP请求参数和负载媒体类型等等。“1111 1111”为CoAP报文头和具体负载之间的分隔符。
具体地,上述实施例中涉及的请求报文的结构如图6所示,且Code字段采用“0.XX”的格式表示,负载承载在payload字段中,负载例如为第一资源标识。
具体地,上述实施例中涉及的响应报文的结构如图6所示,且Code字段采用“2.XX”或“4.XX”或“5.XX”的格式表示,负载承载在payload字段中,负载例如为第二资源服务器的标识或第一资源标识对应的资源信息。
可选地,作为一个实施例,在图5所示的实施例中,第二响应报文包括Code字段,Code字段用于指示第二响应报文的报文类型为重定向响应报文。
具体地,中央重定向器向第一资源服务器发送的第二响应报文的Code字段的采用“3.XX”的格式表示,第二资源服务器的标识承载在payload字段中。
图7示出了本发明实施例的通信方法的另一示意性流程图,具体描述的是资源注册的过程,如图7所示,该通信方法包括:
310,传感器节点向第一资源服务器发送资源注册报文,资源注册报文包括第二资源标识与第二资源标识对应的资源信息,资源注册报文用于请求注册第二资源标识对应的资源信息。
应理解,资源注册报文也可以基于CoAP协议,具体格式如图6所示。
具体地,该资源注册请求报文中可以包括多对第二资源标识与对应的资源信息。
具体地,第二资源标识与对应的资源信息可以在资源注册请求报文中显式地承载,也可以是隐式地承载。
320,第一资源服务器存储第二资源标识与第二资源标识对应的资源信息。
330,第一资源服务器向中央重定向器发送第二资源标识与第一资源服务器的标识。
340,中央重定向器将第二资源标识与第一资源服务器的标识的映射关系存储到映射信息中,该映射信息用于存储资源标识与存储资源标识对应的资源信息的资源服务器的地址之间的映射关系。
在本发明实施例中,通过在中央重定向器存储映射信息,映射信息包括资源标识与存储资源标识对应的资源信息的资源服务器的地址之间的映射关系,使得中央重定向器可以向资源服务器提供重定向服务,即用于指示所请求的资源信息所在的资源服务器的标识,从而能够有效降低资源查询时的时延,提高资源发现的效率。
可选地,作为一个实施例,在图7所示实施例的步骤320中,第一资源服务器存储第二资源标识与第二资源标识对应的资源信息后,第一资源服务器通过对第二资源标识进行哈希运算,获得第二资源标识映射到位图上的BIT位;第一资源服务器将第二资源
标识映射的位图上的BIT位标记为本地存储。
具体地,先对第二资源标识进行哈希运算,然后对一个整数做模运算,得到位图中的BIT位置,例如第二资源标识为URI,该哈希运算函数为:hash(URI)mod K。
具体地,第一资源服务器上维护资源标识与资源标识所映射的位图上的BIT位的哈希表,该哈希表用于标记该资源标识对应的资源信息是否为第一资源服务器本地存储的信息。
对应地,在图4所示实施例中,在220中,第一资源服务器通过对第一资源标识进行哈希运算,获得第一资源标识映射到位图上的Bit位;在第一资源标识映射到的位图上的Bit位未被标记为本地存储的情况下,确定第一资源服务器未存储第一资源标识对应的资源信息;在第一资源标识映射到的位图上的Bit位被标记为本地存储的情况下,确定第一资源服务器存储有第一资源标识对应的资源信息。
在本发明实施例中,能够提高资源服务器检索资源信息的效率,从而提高资源发现的效率。
可选地,作为一个实施例,在图7所示实施例的340中,映射信息为映射表;中央重定向器对第二资源标识进行哈希计算,并基于哈希计算结果确定映射表中的第一位置;中央重定向器将第一资源服务器的标识存储到映射表的第一位置中。
在存储资源标识与资源服务器的地址时,如果有多个不同的资源标识被映射到同一地址,可以用链表数据结构把多个资源标识保存起来。
在本发明实施例中,中央重定向器采用哈希查找方式检索资源标识对应的资源服务器的地址,相比于字符串匹配等检索手段,能有效提高检索效率,此外,扩展性也好。
对应地,在图4所示实施例的250中,中央重定向器对第一资源标识进行哈希计算,并基于哈希计算结果确定映射表中的第二位置;中央重定向器将映射表的第二位置上存储的地址确定为第一资源标识所映射的第二资源服务器的地址。
具体地,对第一资源标识进行哈希计算,然后与整数L进行模运算,得到在映射表中的第二位置,例如第一资源标识为URI,确定映射表中的第二位置的算法为hash(URI)mod L。
由于哈希函数的碰撞,会产生误判(False Positive),例如一个没有存储的数据A,与一个存储的数据B可能均会哈希映射到同一个值,造成误判数据A存储在本地。为了避免误判,本发明实施例提出预防误判的方法。
可选地,作为一个实施例,在图7所示实施例中,还包括:中央重定向器对第二资源标识与第一资源服务器的地址作哈希计算,并基于哈希计算结果确定映射表中的第三位置;中央重定向器在映射表的第三位置上存储第一标识,第一标识用于表示第二资源标识与第一资源服务器的地址的映射关系存储在映射表中。对应地,在图4所示的250中,中央重定向器对第一资源标识进行哈希计算,并基于哈希计算结果确定映射表中的第二位置;中央重定向器对第一资源标识与映射表的第二位置上存储的地址作哈希计算,并基于哈希计算结果确定映射表的第四位置;在映射表的第四位置上存储有第一标识的情况下,中央重定向器将映射表的第二位置上存储的地址确定为第一资源标识所映射的第二资源服务器的地址。
具体地,中央重定向器设计两个哈希表格,两者映射均为有效(Positive)的时候才返回为查询命中。具体步骤如下:
1)在构造哈希时,维护两个哈希表,分别定义为主哈希表与副哈希表。
2)主哈希表的输入值为键值(key)到一个内部的存储位置,例如URI(对应资源标识)到IP地址(对应资源服务器的地址)链表。
3)副哈希表的输入值为键值加上对应的该键值在主哈希表中的Value,将该输入值对应的哈希表格的位置置为1;
4)查询过程分为两个子步奏,首先查询主哈希表,查询结果如果不为空,则继续查询副哈希表,输入为查询关键词加上主哈希表的查询结果,仅当两次查询的结果均为有效(Positive)的时候才认为此次查询结果为真;否则返回查询失效。
在本发明实施例中,通过设计两次哈希计算机制,在资源查询过程中,能够有效避免误判(False positive)的概率,从而提高资源发现的效率。
需要说明的是,为了便于理解与描述而非限定,在图7所示实施例中,从第一资源服务器的角度描述了资源注册的方案,图7所示的资源注册的流程适用于图3所示系统架构中的每个资源服务器。为了便于理解与描述而非限定,在图4-图5所示实施例中,从第一资源服务器的角度描述了资源查询的方案,上述资源查询的方案适用于图3所示系统结构中的每个资源服务器。
图8示出本申请另一实施例的通信方法的示意性流程图,该通信方法包括:
410,第二设备向第一设备发送第一受限应用协议CoAP请求报文,第一CoAP请求报文用于请求目标信息。
具体地,该目标信息可以为资源信息,也可以为设备权限信息,或者可以为物联网中的任意需要交互的信息。
例如,当该目标信息为资源信息时,该第一CoAP请求报文中包括用于表示该资源信息的资源标识。
420,第一设备接收第二设备发送的第一CoAP请求报文,并确定第三设备中包括第二设备所请求的目标信息。
430,第一设备向第二设备发送第一CoAP响应报文,第一CoAP响应报文包括第三设备的标识,第一CoAP响应报文用于表示目标信息存储于第三设备。
440,第二设备根据第三设备的标识,向第三设备发送用于请求目标信息的第二CoAP请求报文。
450,第三设备向第二设备发送第二CoAP响应报文,第二CoAP响应报文包括目标信息。
460,第二设备根据第二CoAP响应报文获得目标信息。
在本发明实施例中,第一设备接收到第二设备发送的用于请求目标信息的CoAP请求报文后,通过向第二设备发送携带第三设备的标识的CoAP响应报文,用于表示目标信息存储于第三设备中,从而使得第二设备通过第三设备获得所需的目标信息,从而能够提高信息获取的效率。
应理解,本实施例涉及的CoAP报文的报文格式如图6所示,对于CoAP请求报文,Code字段采用0.XX的表现形式。
可选地,作为一个实施例,在图8所示实施例的430中,第一设备向第二设备发送的第一CoAP响应报文包括Code字段,Code字段用于指示第一CoAP响应报文的报文类型为重定向响应报文。。
具体地,第一CoAP响应报文的Code字段采用3.XX的格式表示,XX表示重定向响应的原因。
可选地,作为一个实施例,在图8所示实施例的420中,第一设备确定目标信息迁移到第三设备;或第一设备确定目标信息的副本存储在第三设备;或第一设备确定第三设备为目标信息的代理访问设备。
图9示出本发明实施例的另一个应用场景的示意图,为一个家居场景,其中,S表示一个窗户上的光强传感器(对应于上述实施例中的传感器节点),能够检测光照强度。C表示一个客户端设备,例如手机。LRD1~LRD4是4个在不同位置的4个本地资源服务器(对应于上述实施例中的资源服务器),分别维护了一个位图,URI(对应于上述实施例中的资源标识)通过hash映射到某一位,该位标记为1表示URI对应的资源信息存储在本地,否则表示没有存储在本地。CRD表示中央重定向设备(对应于上述实施例中的中央重定向器),例如家庭网关。CRD维护了一个URI和LRD地址的映射表,可以通过对URI进行hash定位到对应的表项。
资源发现的步骤如下:
Step1、S启动后,发送光强检测服务注册请求给LRD1,请求中包括服务信息和URI,
Step2、LRD1对URI进行hash后,与整数K进行模运算得到在位图上的位置P,P所指向的位没有被置为1;LRD1存储服务信息,把bitmap上P位置的bit位置为1;
Step3、LRD1发送URI和本LRD1的地址给CRD;
Step4、CRD对URI进行hash与整数L进行模运算,得到URI和LRD映射表中的位置Q,存储URI和LRD的地址到Q所对应的位置;
Step5、CRD发送成功消息给LRD1;
Step6、LRD1发送成功消息给传感器S;
Step7、客户端C发送查询请求信息给LRD3,请求中包含URI;
Step8、LRD3用URI查询本地bitmap对应的标志位状态,结果为0,发送请求到CRD,请求中包含URI;
Step9、CRD查询映射表中URI所在的位置Q,获得LRD1的地址;
Step10、CRD发送重定向请给LRD3,重定向地址为LRD1;
Step11、LRD3发送请求信息给LRD1,请求中包含URI;
Step12、LRD1查询URI对应的光强检测服务信息,发送包含光强检测服务信息的响应给LRD3;
Step13、LRD3转发响应给客户端C。
综上所述,在本发明实施例中,中央重定向器中存储有资源标识与资源标识对应的资源信息所在的资源服务器的标识之间的映射关系,使得资源服务器在未存储客户端所需资源信息的情况下,可以通过中央重定向器获取到客户端所需资源信息,因此,能够有效提高资源发现的效率。
还应理解,本文中涉及的各种数字编号仅为描述方便进行的区分,并不用来限制本发明实施例的范围。
图10示出本发明实施例的资源服务器500的示意性框图。资源服务器500包括:
接收模块510,用于接收客户端发送的第一请求报文,第一请求报文包括第一资源标识,第一请求报文用于请求第一资源标识对应的资源信息;
发送模块520,用于在未存储第一资源标识对应的资源信息的情况下,向中央重定向器发送第二请求报文,第二请求报文包括第一资源标识,中央重定向器存储有映射信息,映射信息用于指示资源标识与资源标识对应的资源信息所在的资源服务器的标识之间的映射关系;
接收模块510还用于,接收中央重定向器发送的第二响应报文,第二响应报文用于指示第一资源标识对应的资源信息所在的第二资源服务器;
获取模块530,用于根据第二响应报文,通过第二资源服务器获取第一资源标识对应的资源信息;
发送模块520还用于,向客户端发送第一响应报文,第一响应报文包括第一资源标识对应的资源信息。
在本发明实施例中,中央重定向器中存储有资源标识与资源标识对应的资源信息所在的资源服务器的标识之间的映射关系,使得资源服务器在未存储客户端所需资源信息的情况下,可以通过中央重定向器获取到客户端所需资源信息,因此,能够有效提高资源发现的效率。
可选地,作为一个实施例,第二响应报文包括第二资源服务器的标识,获取模块530具体用于,根据第二资源服务器的标识向第二资源服务器发送第三请求报文,第三请求报文包括第一资源标识;接收第二资源服务器发送的第三响应报文,第三响应报文包括第一资源标识对应的资源信息;根据第三响应报文得到第一资源标识对应的资源信息。
可选地,作为一个实施例,第二响应报文包括Code字段,Code字段用于指示第二响应报文的报文类型为重定向响应报文。
可选地,作为一个实施例,Code字段采用3.xx的格式表示。
可选地,作为一个实施例,发送模块520具体用于,通过对第一资源标识进行哈希运算,获得第一资源标识映射到位图上的Bit位;在第一资源标识映射到位图上的Bit位未被标记为本地存储的情况下,向中央重定向器发送第二请求报文,Bit位未被标记为本地存储表示第一资源服务器未存储第一资源标识对应的资源信息。
可选地,作为一个实施例,接收模块510还用于,接收传感器节点发送的资源注册报文,资源注册报文包括第二资源标识与第二资源标识对应的资源信息,资源注册报文用于请求注册第二资源标识对应的资源信息;
资源服务器500还包括:
存储模块540,用于存储第二资源标识与第二资源标识对应的资源信息;
发送模块520还用于,向中央重定向器发送第二资源标识与资源服务器的标识,以便于中央重定向器将第二资源标识与资源服务器的标识的映射关系存储到映射信息中。
应注意,本发明实施例中,获取模块530可以由处理器或处理器电路组件实现,具体地,例如处理器调用软件协议栈中的指令,该指令被执行时能够实现获取模块530的功能。接收模块510可以由接收器或具有接收功能的电路组件实现。发送模块520可以由发送器或具有发送功能的电路组件实现。
如图11所示,资源服务器600可以包括处理器610、存储器620、总线系统630、接收器640和发送器650。其中,存储器620用于存储指令,处理器610读取存储器620中存储的指令用于控制接收器640接收信号和/或发送器650发送信号。具体地,接收器640用于,接收客户端发送的第一请求报文,第一请求报文包括第一资源标识,第一请求
报文用于请求第一资源标识对应的资源信息;发送器650用于,在未存储第一资源标识对应的资源信息的情况下,向中央重定向器发送第二请求报文,第二请求报文包括第一资源标识,中央重定向器存储有映射信息,映射信息用于指示资源标识与资源标识对应的资源信息所在的资源服务器的标识之间的映射关系;接收器640用于,接收中央重定向器发送的第二响应报文,第二响应报文用于指示第一资源标识对应的资源信息所在的第二资源服务器;处理器610用于,根据第二响应报文,通过第二资源服务器获取第一资源标识对应的资源信息;发送器650用于,向客户端发送第一响应报文,第一响应报文包括第一资源标识对应的资源信息。
在本发明实施例中,中央重定向器中存储有资源标识与资源标识对应的资源信息所在的资源服务器的标识之间的映射关系,使得资源服务器在未存储客户端所需资源信息的情况下,可以通过中央重定向器获取到客户端所需资源信息,因此,本发明实施例能够有效降低时延,提高资源发现的效率。
可选地,作为一个实施例,第二响应报文包括第二资源服务器的标识,处理器610用于根据第二响应报文,通过第二资源服务器获取第一资源标识对应的资源信息,包括:
发送器650用于,根据第二资源服务器的标识向第二资源服务器发送第三请求报文,第三请求报文包括第一资源标识;接收器640用于,接收第二资源服务器发送的第三响应报文,第三响应报文包括第一资源标识对应的资源信息;处理器610用于,根据第三响应报文得到第一资源标识对应的资源信息。
在本发明实施例中,在中央重定向器向第一资源服务器发送的响应报文中携带第一资源标识对应的资源信息所在的第二资源服务器的标识,第一资源服务器通过第二资源服务器获得客户端所请求的资源信息,能够提高资源发现的效率。
可选地,作为一个实施例,第二响应报文包括Code字段,Code字段用于指示第二响应报文的报文类型为重定向响应报文。
可选地,作为一个实施例,Code字段采用3.xx的格式表示。
可选地,作为一个实施例,发送器650用于,在未存储第一资源标识对应的资源信息的情况下,向中央重定向器发送第二请求报文,包括:
处理器610用于,通过对第一资源标识进行哈希运算,获得第一资源标识映射到位图上的Bit位;发送器650用于,在第一资源标识映射到位图上的Bit位未被标记为本地存储的情况下,向中央重定向器发送第二请求报文,Bit位未被标记为本地存储表示第一资源服务器未存储第一资源标识对应的资源信息。
可选地,作为一个实施例,接收器640还用于,接收传感器节点发送的资源注册报文,资源注册报文包括第二资源标识与第二资源标识对应的资源信息,资源注册报文用于请求注册第二资源标识对应的资源信息;处理器610用于,存储第二资源标识与第二资源标识对应的资源信息;发送器650用于,向中央重定向器发送第二资源标识与第一资源服务器的标识,以便于中央重定向器将第二资源标识与第一资源服务器的标识的映射关系存储到映射信息中。
图10所示的资源服务器500或图11所示的资源服务器600能够实现前述图3至图9的实施例中与资源服务器相关的各个流程,为避免重复,这里不再赘述。
图12示出本发明实施例的通信设备700的示意性框图。通信设备700包括:
接收模块710,用于接收第二设备发送的受限应用协议CoAP请求报文,CoAP请求
报文用于请求目标信息;
发送模块720,用于向第二设备发送CoAP响应报文,CoAP响应报文包括第三设备的标识,CoAP响应报文用于表示目标信息存储于第三设备,以便第二设备根据第三设备的标识向第三设备请求目标信息。
在本发明实施例中,第一设备接收到第二设备发送的用于请求目标信息的CoAP请求报文后,通过向第二设备发送携带第三设备的标识的CoAP响应报文,用于表示目标信息存储于第三设备中,从而使得第二设备通过第三设备获得所需的目标信息,从而能够提高信息获取的效率。
可选地,作为一个实施例,CoAP响应报文包括Code字段,Code字段用于指示CoAP响应报文的报文类型为重定向响应报文。
可选地,作为一个实施例,Code字段采用3.xx的格式表示。
可选地,作为一个实施例,通信设备700还包括:
确定模块730,用于在发送模块向第二设备发送CoAP响应报文之前,确定目标信息迁移到第三设备;或确定目标信息的副本存储在第三设备;或确定第三设备为目标信息的代理访问设备。
应理解,上述确定模块730可以由处理器或处理器电路组件实现,具体地,例如处理器调用软件协议栈中的指令,该指令被执行时能够实现确定模块730的功能。接收模块710可以由接收器或具有接收功能的电路组件实现。发送模块720可以由发送器或具有发送功能的电路组件实现。
图12所示的通信设备700能够实现前述图3至图9的实施例中与第一设备相关的各个流程,为避免重复,这里不再赘述。
本发明实施例还提供了一种通信设备,该通信设备能够实现前述图3至图9的实施例中与第一设备相关的各个流程,为避免重复,这里不再赘述,该通信设备还可以对应于本发明实施例的通信设备700。具体地,参照图11,该通信设备可以包括处理器、存储器、总线系统、接收器和发送器。其中,存储器用于存储指令,处理器读取存储器存储的指令用于控制发送器发送信号和/或接收器接收信号。具体地,接收器用于,备接收第二设备发送的受限应用协议CoAP请求报文,CoAP请求报文用于请求目标信息;发送器用于,向第二设备发送CoAP响应报文,CoAP响应报文包括第三设备的标识,CoAP响应报文用于表示目标信息存储于第三设备,以便第二设备根据第三设备的标识向第三设备请求目标信息。
在本发明实施例中,第一设备接收到第二设备发送的用于请求目标信息的CoAP请求报文后,通过向第二设备发送携带第三设备的标识的CoAP响应报文,用于表示目标信息存储于第三设备中,从而使得第二设备通过第三设备获得所需的目标信息,从而能够提高信息获取的效率。
可选地,作为一个实施例,CoAP响应报文包括Code字段,Code字段用于指示CoAP响应报文的报文类型为重定向响应报文。
可选地,作为一个实施例,Code字段采用3.xx的格式表示。
可选地,作为一个实施例,处理器用于,用于在发送器向第二设备发送CoAP响应报文之前,确定目标信息迁移到第三设备;或确定目标信息的副本存储在第三设备;或确定第三设备为目标信息的代理访问设备。
图13示出本发明实施例的通信设备800的示意性框图。通信设备800包括:
发送模块810,用于向第一设备发送第一受限应用协议CoAP请求报文,第一CoAP请求报文用于请求目标信息;
接收模块820,用于接收第一设备发送的第一CoAP响应报文,第一CoAP响应报文包括第三设备的标识,第一CoAP响应报文用于表示目标信息存储于第三设备;
发送模块810还用于,根据第三设备的标识,向第三设备发送用于请求目标信息的第二CoAP请求报文;
接收模块820还用于,接收第三设备发送的第二CoAP响应报文,第二CoAP响应报文包括目标信息;
获取模块830,用于根据第二CoAP响应报文获得目标信息。
在本发明实施例中,第一设备接收到第二设备发送的用于请求目标信息的CoAP请求报文后,通过向第二设备发送携带第三设备的标识的CoAP响应报文,用于表示目标信息存储于第三设备中,从而使得第二设备通过第三设备获得所需的目标信息,从而能够提高信息获取的效率。
可选地,作为一个实施例,CoAP响应报文包括Code字段,Code字段用于指示CoAP响应报文的报文类型为重定向响应报文。
可选地,作为一个实施例,Code字段采用3.xx的格式表示。
应理解,上述获取模块830可以由处理器或处理器电路组件实现,具体地,例如处理器调用软件协议栈中的指令,该指令被执行时能够实现获取模块830的功能。接收模块820可以由接收器或具有接收功能的电路组件实现。发送模块810可以由发送器或具有发送功能的电路组件实现。
本发明实施例还提供了一种通信设备,该通信设备能够实现前述图3至图9的实施例中与第二设备相关的各个流程,为避免重复,这里不再赘述,该通信设备还可以对应于本发明实施例的通信设备800。具体地,参照图11,该通信设备可以包括处理器、存储器、总线系统、接收器和发送器。其中,存储器用于存储指令,处理器读取存储器存储的指令用于控制发送器发送信号和/或接收器接收信号。具体地,发送器用于,向第一设备发送第一受限应用协议CoAP请求报文,第一CoAP请求报文用于请求目标信息;接收器用于,接收第一设备发送的第一CoAP响应报文,第一CoAP响应报文包括第三设备的标识,第一CoAP响应报文用于表示目标信息存储于第三设备;发送器用于,根据第三设备的标识,向第三设备发送用于请求目标信息的第二CoAP请求报文;接收器用于,接收第三设备发送的第二CoAP响应报文,第二CoAP响应报文包括目标信息;处理器用于,根据第二CoAP响应报文获得目标信息。
在本发明实施例中,第一设备接收到第二设备发送的用于请求目标信息的CoAP请求报文后,通过向第二设备发送携带第三设备的标识的CoAP响应报文,用于表示目标信息存储于第三设备中,从而使得第二设备通过第三设备获得所需的目标信息,从而能够提高信息获取的效率。
可选地,作为一个实施例,第一CoAP响应报文包括Code字段,Code字段用于指示第一CoAP响应报文的报文类型为重定向响应报文。
可选地,作为一个实施例,CCode字段采用3.xx的格式表示。
应理解,在本发明实施例中,处理器可以是中央处理单元(Central Processing Unit,
简称为“CPU”),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
还应理解,本发明实施例中的存储器可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(Read-Only Memory,ROM)、可编程只读存储器(Programmable ROM,PROM)、可擦除可编程只读存储器(Erasable PROM,EPROM)、电可擦除可编程只读存储器(Electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(Random Access Memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(Static RAM,SRAM)、动态随机存取存储器(Dynamic RAM,DRAM)、同步动态随机存取存储器(Synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(Double Data Rate SDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(Enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(Synchlink DRAM,SLDRAM)和直接内存总线随机存取存储器(Direct Rambus RAM,DR RAM)。
需要说明的是,当处理器为通用处理器、DSP、ASIC、FPGA或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件时,存储器(存储模块)集成在处理器中。
应注意,本文描述的系统和方法的存储器旨在包括但不限于这些和任意其它适合类型的存储器。
还应理解,在本发明实施例中,总线系统除包括数据总线之外,还可以包括电源总线、控制总线和状态信号总线等。但是为了清楚说明起见,在图11中将各种总线都标为总线系统。
在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。结合本发明实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。为避免重复,这里不再详细描述。
应理解,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
应理解,在本申请的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术
人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
Claims (35)
- 一种通信系统,其特征在于,包括中央重定向器、多个资源服务器与客户端,所述中央重定向器存储有映射信息,所述映射信息用于指示资源标识与所述资源标识对应的资源信息所在的资源服务器的标识之间的映射关系;所述客户端用于,向所述多个资源服务器中的第一资源服务器发送第一请求报文,所述第一请求报文包括第一资源标识,所述第一请求报文用于请求所述第一资源标识对应的资源信息;所述第一资源服务器用于,在未存储所述第一资源标识对应的资源信息的情况下,向所述中央重定向器发送第二请求报文,所述第二请求报文包括所述第一资源标识;所述中央重定向器用于,根据所述第一资源标识与所述映射信息,向所述第一资源服务器发送第二响应报文,所述第二响应报文用于指示所述第一资源标识对应的资源信息所在的第二资源服务器;所述第一资源服务器还用于,从所述第二资源服务器得到所述第一资源标识对应的资源信息;向所述客户端发送第一响应报文,所述第一响应报文包括所述第一资源标识对应的资源信息。
- 根据权利要求1所述的通信系统,其特征在于,在根据所述第一资源标识与所述映射信息,向所述第一资源服务器发送第二响应报文的方面,所述中央重定向器用于,根据所述映射信息获取与所述第一资源标识具有映射关系的第二资源服务器的标识;向所述第一资源服务器发送所述第二响应报文,所述第二响应报文包括所述第二资源服务器的标识;在根据所述第二响应报文,通过所述第二资源服务器获取所述第一资源标识对应的资源信息的方面,所述第一资源服务器用于,根据所述第二资源服务器的标识向所述第二资源服务器发送第三请求报文,所述第三请求报文包括所述第一资源标识;第二资源服务器用于,向所述第一资源服务器发送第三响应报文,所述第三响应报文包括所述第一资源标识对应的资源信息;所述第一资源服务器用于,根据所述第三响应报文得到所述第一资源标识对应的资源信息。
- 根据权利要求2所述的通信系统,其特征在于,所述第二响应报文包括Code字段,所述Code字段用于指示所述第二响应报文的报文类型为重定向响应报文。
- 根据权利要求3所述的通信系统,其特征在于,所述Code字段采用3.xx的格式表示。
- 根据权利要求1-4中任一项所述的通信系统,其特征在于,在未存储所述第一资源标识对应的资源信息的情况下,向所述中央重定向器发送第二请求报文的方面,所述第一资源服务器用于,通过对所述第一资源标识进行哈希运算,获得所述第一资源标识映射到位图上的Bit位;在所述第一资源标识映射到位图上的Bit位未被标记为本地存储的情况下,向所述中央重定向器发送所述第二请求报文,所述Bit位未被标记为本地存储表示所述第一资源服务器未存储所述第一资源标识对应的资源信息。
- 根据权利要求1-5中任一项所述的通信系统,其特征在于,所述通信系统还包括传感器节点,所述传感器节点用于,向所述第一资源服务器发送资源注册报文,所述资源注册报文包括第二资源标识与所述第二资源标识对应的资源信息,所述资源注册报文用于请求注册所述第二资源标识对应的资源信息;所述第一资源服务器还用于,存储所述第二资源标识与所述第二资源标识对应的资源信息;所述第一资源服务器还用于,向所述中央重定向器发送所述第二资源标识与所述第一资源服务器的标识;所述中央重定向器还用于,将所述第二资源标识与所述第一资源服务器的标识的映射关系存储到所述映射信息中。
- 一种通信方法,其特征在于,包括:第一资源服务器接收客户端发送的第一请求报文,所述第一请求报文包括第一资源标识,所述第一请求报文用于请求所述第一资源标识对应的资源信息;所述第一资源服务器在未存储所述第一资源标识对应的资源信息的情况下,向中央重定向器发送第二请求报文,所述第二请求报文包括所述第一资源标识,所述中央重定向器存储有映射信息,所述映射信息用于指示资源标识与所述资源标识对应的资源信息所在的资源服务器的标识之间的映射关系;所述第一资源服务器接收所述中央重定向器发送的第二响应报文,所述第二响应报文用于指示所述第一资源标识对应的资源信息所在的第二资源服务器;所述第一资源服务器根据所述第二响应报文,通过所述第二资源服务器获取所述第一资源标识对应的资源信息;所述第一资源服务器向所述客户端发送第一响应报文,所述第一响应报文包括所述第一资源标识对应的资源信息。
- 根据权利要求7所述的通信方法,其特征在于,所述第二响应报文包括第二资源服务器的标识,所述第一资源服务器根据所述第二响应报文,通过所述第二资源服务器获取所述第一资源标识对应的资源信息,包括:所述第一资源服务器根据所述第二资源服务器的标识向所述第二资源服务器发送第三请求报文,所述第三请求报文包括所述第一资源标识;所述第一资源服务器接收所述第二资源服务器发送的第三响应报文,所述第三响应报文包括所述第一资源标识对应的资源信息;所述第一资源服务器根据所述第三响应报文得到所述第一资源标识对应的资源信息。
- 根据权利要求8所述的通信方法,其特征在于,所述第二响应报文包括Code字段,所述Code字段用于指示所述第二响应报文的报文类型为重定向响应报文。
- 根据权利要求9所述的通信方法,其特征在于,所述Code字段采用3.xx的格式表示。
- 根据权利要求7-10中任一项所述的通信系统,其特征在于,所述第一资源服务器在未存储所述第一资源标识对应的资源信息的情况下,向中央重定向器发送第二请求报文,包括:所述第一资源服务器通过对所述第一资源标识进行哈希运算,获得所述第一资源标识映射到位图上的Bit位;所述第一资源服务器在所述第一资源标识映射到位图上的Bit位未被标记为本地存储的情况下,向所述中央重定向器发送所述第二请求报文,所述Bit位未被标记为本地存储表示所述第一资源服务器未存储所述第一资源标识对应的资源信息。
- 根据权利要求7-11中任一项所述的通信方法,其特征在于,所述通信方法还包括:所述第一资源服务器接收传感器节点发送的资源注册报文,所述资源注册报文包括第二资源标识与所述第二资源标识对应的资源信息,所述资源注册报文用于请求注册所述第二资源标识对应的资源信息;所述第一资源服务器存储所述第二资源标识与所述第二资源标识对应的资源信息;所述第一资源服务器向所述中央重定向器发送所述第二资源标识与所述第一资源服务器的标识,以便于所述中央重定向器将所述第二资源标识与所述第一资源服务器的标识的映射关系存储到所述映射信息中。
- 一种通信方法,其特征在于,包括:第一设备接收第二设备发送的受限应用协议CoAP请求报文,所述CoAP请求报文用于请求目标信息;所述第一设备向所述第二设备发送CoAP响应报文,所述CoAP响应报文包括第三设备的标识,所述CoAP响应报文用于表示所述目标信息存储于所述第三设备,以便所述第二设备根据所述第三设备的标识向所述第三设备请求所述目标信息。
- 根据权利要求13所述的通信方法,其特征在于,所述CoAP响应报文包括Code字段,所述Code字段用于指示所述CoAP响应报文的报文类型为重定向响应报文。
- 根据权利要求14所述的通信方法,其特征在于,所述Code字段采用3.xx的格式表示。
- 根据权利要求13-15中任一项所述的通信方法,其特征在于,在所述第一设备向所述第二设备发送所述CoAP响应报文之前,所述通信方法还包括:所述第一设备确定所述目标信息迁移到所述第三设备;或所述第一设备确定所述目标信息的副本存储在所述第三设备;或所述第一设备确定所述第三设备为所述目标信息的代理访问设备。
- 一种通信方法,其特征在于,包括:第二设备向第一设备发送第一受限应用协议CoAP请求报文,所述第一CoAP请求报文用于请求目标信息;所述第二设备接收所述第一设备发送的第一CoAP响应报文,所述第一CoAP响应报文包括第三设备的标识,所述第一CoAP响应报文用于表示所述目标信息存储于所述第三设备;所述第二设备根据所述第三设备的标识,向所述第三设备发送用于请求所述目标信息的第二CoAP请求报文;所述第二设备接收所述第三设备发送的第二CoAP响应报文,所述第二CoAP响应报文包括所述目标信息;所述第二设备根据所述第二CoAP响应报文获得所述目标信息。
- 根据权利要求17所述的通信方法,其特征在于,所述第一CoAP响应报文包括Code字段,所述Code字段用于指示所述第一CoAP响应报文的报文类型为重定向响应报文。
- 根据权利要求18所述的通信方法,其特征在于,所述Code字段采用3.xx的格式表示。
- 一种资源服务器,其特征在于,包括:接收模块,用于接收客户端发送的第一请求报文,所述第一请求报文包括第一资源标识,所述第一请求报文用于请求所述第一资源标识对应的资源信息;发送模块,用于在未存储所述第一资源标识对应的资源信息的情况下,向中央重定向器发送第二请求报文,所述第二请求报文包括所述第一资源标识,所述中央重定向器存储有映射信息,所述映射信息用于指示资源标识与所述资源标识对应的资源信息所在的资源服务器的标识之间的映射关系;所述接收模块还用于,接收所述中央重定向器发送的第二响应报文,所述第二响应报文用于指示所述第一资源标识对应的资源信息所在的第二资源服务器;获取模块,用于根据所述第二响应报文,通过所述第二资源服务器获取所述第一资源标识对应的资源信息;所述发送模块还用于,向所述客户端发送第一响应报文,所述第一响应报文包括所述第一资源标识对应的资源信息。
- 根据权利要求20所述的资源服务器,其特征在于,所述第二响应报文包括第二资源服务器的标识,所述获取模块具体用于,根据所述第二资源服务器的标识向所述第二资源服务器发送第三请求报文,所述第三请求报文包括所述第一资源标识;接收所述第二资源服务器发送的第三响应报文,所述第三响应报文包括所述第一资源标识对应的资源信息;根据所述第三响应报文得到所述第一资源标识对应的资源信息。
- 根据权利要求21所述的资源服务器,其特征在于,所述第二响应报文包括Code字段,所述Code字段用于指示所述第二响应报文的报文类型为重定向响应报文。
- 根据权利要求22所述的资源服务器,其特征在于,所述Code字段采用3.xx的格式表示。
- 根据权利要求20-23中任一项所述的通信系统,其特征在于,所述发送模块具体用于,通过对所述第一资源标识进行哈希运算,获得所述第一资源标识映射到位图上的Bit位;在所述第一资源标识映射到位图上的Bit位未被标记为本地存储的情况下,向所述中央重定向器发送所述第二请求报文,所述Bit位未被标记为本地存储表示所述第一资源服务器未存储所述第一资源标识对应的资源信息。
- 根据权利要求20-24中任一项所述的资源服务器,其特征在于,所述接收模块还用于,接收传感器节点发送的资源注册报文,所述资源注册报文包括第二资源标识与所述第二资源标识对应的资源信息,所述资源注册报文用于请求注册所述第二资源标识对应的资源信息;所述资源服务器还包括:存储模块,用于存储所述第二资源标识与所述第二资源标识对应的资源信息;所述发送模块还用于,向所述中央重定向器发送所述第二资源标识与所述资源服务器的标识,以便于所述中央重定向器将所述第二资源标识与所述资源服务器的标识的映射关系存储到所述映射信息中。
- 一种通信设备,其特征在于,包括:接收模块,用于接收第二设备发送的受限应用协议CoAP请求报文,所述CoAP请求报文用于请求目标信息;发送模块,用于向所述第二设备发送CoAP响应报文,所述CoAP响应报文包括第 三设备的标识,所述CoAP响应报文用于表示所述目标信息存储于所述第三设备,以便所述第二设备根据所述第三设备的标识向所述第三设备请求所述目标信息。
- 根据权利要求26所述的通信设备,其特征在于,所述CoAP响应报文包括Code字段,所述Code字段用于指示所述CoAP响应报文的报文类型为重定向响应报文。
- 根据权利要求27所述的通信设备,其特征在于,所述Code字段采用3.xx的格式表示。
- 根据权利要求26-28中任一项所述的通信设备,其特征在于,所述通信设备还包括:确定模块,用于在所述发送模块向所述第二设备发送所述CoAP响应报文之前,确定所述目标信息迁移到所述第三设备;或确定所述目标信息的副本存储在所述第三设备;或确定所述第三设备为所述目标信息的代理访问设备。
- 一种通信设备,其特征在于,包括:发送模块,用于向第一设备发送第一受限应用协议CoAP请求报文,所述第一CoAP请求报文用于请求目标信息;接收模块,用于接收所述第一设备发送的第一CoAP响应报文,所述第一CoAP响应报文包括第三设备的标识,所述第一CoAP响应报文用于表示所述目标信息存储于所述第三设备;所述发送模块还用于,根据所述第三设备的标识,向所述第三设备发送用于请求所述目标信息的第二CoAP请求报文;所述接收模块还用于,接收所述第三设备发送的第二CoAP响应报文,所述第二CoAP响应报文包括所述目标信息;获取模块,用于根据所述第二CoAP响应报文获得所述目标信息。
- 根据权利要求30所述的通信设备,其特征在于,所述第一CoAP响应报文包括Code字段,所述Code字段用于指示所述第一CoAP响应报文的报文类型为重定向响应报文。
- 根据权利要求31所述的通信设备,其特征在于,所述Code字段采用3.xx的格式表示。
- 一种资源服务器,其特征在于,包括处理器与存储器,所述存储器用于存储指令,所述处理器读取所述存储器存储的指令用于执行权利要求7-12中任一项所述的通信方法。
- 一种通信设备,其特征在于,包括处理器与存储器,所述存储器用于存储指令,所述处理器读取所述存储器存储的指令用于,执行权利要求13-16中任一项所述的通信方法。
- 一种通信设备,其特征在于,包括处理器与存储器,所述存储器用于存储指令,所述处理器读取所述存储器存储的指令用于,执行权利要求17-19中任一项所述的通信方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP17854480.5A EP3509269A1 (en) | 2016-09-28 | 2017-06-26 | Communication method and device |
US16/368,498 US20190222656A1 (en) | 2016-09-28 | 2019-03-28 | Communication Method and Apparatus |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610857030.3A CN107872486B (zh) | 2016-09-28 | 2016-09-28 | 通信方法和装置 |
CN201610857030.3 | 2016-09-28 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US16/368,498 Continuation US20190222656A1 (en) | 2016-09-28 | 2019-03-28 | Communication Method and Apparatus |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2018059026A1 true WO2018059026A1 (zh) | 2018-04-05 |
Family
ID=61761003
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/CN2017/089973 WO2018059026A1 (zh) | 2016-09-28 | 2017-06-26 | 通信方法和装置 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20190222656A1 (zh) |
EP (1) | EP3509269A1 (zh) |
CN (1) | CN107872486B (zh) |
WO (1) | WO2018059026A1 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11463376B2 (en) | 2018-12-11 | 2022-10-04 | Guangdong Oppo Mobile Telecommunications Corp., Ltd. | Resource distribution method and apparatus in Internet of Things, device, and storage medium |
US11516317B2 (en) | 2019-02-20 | 2022-11-29 | Novatiq Technologies Limited | Processing data in a network |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10681621B2 (en) * | 2017-12-14 | 2020-06-09 | T-Mobile Usa, Inc. | Narrowband internet of things device channel scanning |
CN110417874B (zh) * | 2019-07-08 | 2022-02-25 | 新华三信息安全技术有限公司 | 一种获取补丁数据的方法及装置 |
US11146415B2 (en) * | 2019-11-16 | 2021-10-12 | Microsoft Technology Licensing, Llc | Message-limited self-organizing network groups for computing device peer matching |
EP4109841A4 (en) * | 2020-03-10 | 2023-03-22 | Guangdong Oppo Mobile Telecommunications Corp., Ltd. | METHOD AND APPARATUS FOR COMMUNICATING THE INTERNET OF THINGS |
CN111694873B (zh) * | 2020-06-10 | 2023-10-27 | 腾讯科技(深圳)有限公司 | 虚拟资源包的处理方法、装置及数据库服务器 |
CN112214259B (zh) * | 2020-10-19 | 2024-03-01 | 珠海金山数字网络科技有限公司 | 地图加载系统、方法及装置 |
CN112231603A (zh) * | 2020-11-02 | 2021-01-15 | 深圳市欢太科技有限公司 | 一种文件下载方法、服务器、客户端和存储介质 |
CN115695301A (zh) * | 2021-07-29 | 2023-02-03 | 中兴通讯股份有限公司 | 待传输报文的发送方法及装置、存储介质及电子装置 |
CN114125038B (zh) * | 2021-11-26 | 2023-07-14 | 中国联合网络通信集团有限公司 | 一种服务调度方法、装置及存储介质 |
CN117917884A (zh) * | 2022-10-21 | 2024-04-23 | 华为技术有限公司 | 一种数据获取方法、系统及相关设备 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104092776A (zh) * | 2014-07-25 | 2014-10-08 | 北京赛科世纪数码科技有限公司 | 一种信息存取方法和系统 |
US20140372616A1 (en) * | 2013-06-17 | 2014-12-18 | Telefonaktiebolaget L M Ericsson (Publ) | Methods of forwarding/receiving data packets using unicast and/or multicast communications and related load balancers and servers |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101378392A (zh) * | 2007-08-29 | 2009-03-04 | 华为技术有限公司 | 一种p2p环境下资源查询的方法和装置 |
CN102306128B (zh) * | 2011-09-16 | 2013-11-20 | 北京星网锐捷网络技术有限公司 | 磁盘管理方法、装置及网络设备 |
CN103227803A (zh) * | 2012-01-30 | 2013-07-31 | 华为技术有限公司 | 一种物联网资源获取的方法、客户端和物联网资源装置 |
EP3117587B1 (en) * | 2014-03-11 | 2020-11-11 | Convida Wireless, LLC | Enhanced distributed resource directory |
-
2016
- 2016-09-28 CN CN201610857030.3A patent/CN107872486B/zh active Active
-
2017
- 2017-06-26 EP EP17854480.5A patent/EP3509269A1/en active Pending
- 2017-06-26 WO PCT/CN2017/089973 patent/WO2018059026A1/zh unknown
-
2019
- 2019-03-28 US US16/368,498 patent/US20190222656A1/en not_active Abandoned
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140372616A1 (en) * | 2013-06-17 | 2014-12-18 | Telefonaktiebolaget L M Ericsson (Publ) | Methods of forwarding/receiving data packets using unicast and/or multicast communications and related load balancers and servers |
CN104092776A (zh) * | 2014-07-25 | 2014-10-08 | 北京赛科世纪数码科技有限公司 | 一种信息存取方法和系统 |
Non-Patent Citations (1)
Title |
---|
See also references of EP3509269A4 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11463376B2 (en) | 2018-12-11 | 2022-10-04 | Guangdong Oppo Mobile Telecommunications Corp., Ltd. | Resource distribution method and apparatus in Internet of Things, device, and storage medium |
US11516317B2 (en) | 2019-02-20 | 2022-11-29 | Novatiq Technologies Limited | Processing data in a network |
US11689644B2 (en) | 2019-02-20 | 2023-06-27 | Novatiq Technologies Limited | Processing data in a network |
Also Published As
Publication number | Publication date |
---|---|
EP3509269A4 (en) | 2019-07-10 |
US20190222656A1 (en) | 2019-07-18 |
EP3509269A1 (en) | 2019-07-10 |
CN107872486A (zh) | 2018-04-03 |
CN107872486B (zh) | 2020-06-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2018059026A1 (zh) | 通信方法和装置 | |
US9794175B2 (en) | Transmitting a data packet in a content-centric network | |
CN107925674B (zh) | 在内容为中心的网络(ccn)中推送数据的方法和装置 | |
US8156243B2 (en) | Request routing | |
US8886750B1 (en) | Alias resource record sets | |
US20130212215A1 (en) | Method, apparatus and system for addressing resources | |
US11824829B2 (en) | Methods and systems for domain name data networking | |
JP6601784B2 (ja) | 情報指向ネットワークにおいてコンテキスト認識型コンテンツ要求をサポートするための方法、ネットワークコンポーネント、およびプログラム | |
US10680938B2 (en) | Method and apparatus for information centric networking (ICN) over locator/identifier separator protocol (LISP) | |
EP3196776B1 (en) | Method and device for data processing | |
US9705843B2 (en) | Method and system for domain name system based discovery of devices and objects | |
KR20150102690A (ko) | 정보 중심 네트워킹을 위한 콘텐츠 이름 해석 | |
WO2017152563A1 (zh) | 一种sdn二层转发方法及系统 | |
CN110062064B (zh) | 一种地址解析协议arp请求报文响应方法及装置 | |
WO2018177121A1 (zh) | 一种传感设备的联动方法、装置及系统 | |
JP5994190B2 (ja) | パケット転送方法およびシステム | |
WO2020038443A1 (zh) | 桥接通信的方法和设备 | |
JP2017500679A (ja) | メディアリソースフィードバック方法、装置、プログラム及び記録媒体 | |
US9686361B2 (en) | Communication device, communication system, communication method and computer program product | |
EP3482558B1 (en) | Systems and methods for transmitting and receiving interest messages | |
US20150019755A1 (en) | Data-centric communications system, node, and data forwarding method | |
KR20140089035A (ko) | 콘텐츠 서버와 정보 중심 네트워크 서버 간의 연동을 위한 가상 파일 시스템 및 이의 동작 방법 | |
WO2017107485A1 (zh) | 一种云桌面多节点连接的方法和装置 | |
CN109495525B (zh) | 网络组件、解析内容标识的方法和计算机可读存储介质 | |
CN109257453B (zh) | 在多租户保护存储部署中防止数据泄露企图的基于本地数据ip的网络安全的系统和方法 |
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: 17854480 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
ENP | Entry into the national phase |
Ref document number: 2017854480 Country of ref document: EP Effective date: 20190404 |