CN107872486B - 通信方法和装置 - Google Patents
通信方法和装置 Download PDFInfo
- Publication number
- CN107872486B CN107872486B CN201610857030.3A CN201610857030A CN107872486B CN 107872486 B CN107872486 B CN 107872486B CN 201610857030 A CN201610857030 A CN 201610857030A CN 107872486 B CN107872486 B CN 107872486B
- Authority
- CN
- China
- Prior art keywords
- resource
- identifier
- server
- resource server
- information corresponding
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000004891 communication Methods 0.000 title claims abstract description 96
- 238000000034 method Methods 0.000 title claims abstract description 87
- 230000004044 response Effects 0.000 claims abstract description 245
- 238000013507 mapping Methods 0.000 claims abstract description 127
- 238000004364 calculation method Methods 0.000 description 34
- 238000010586 diagram Methods 0.000 description 17
- 230000006870 function Effects 0.000 description 14
- 230000008569 process Effects 0.000 description 13
- 101100330723 Arabidopsis thaliana DAR2 gene Proteins 0.000 description 5
- 230000001360 synchronised effect Effects 0.000 description 5
- 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
- 238000012545 processing Methods 0.000 description 3
- 238000009530 blood pressure measurement Methods 0.000 description 2
- 238000009529 body temperature measurement Methods 0.000 description 2
- 230000001427 coherent effect Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000005259 measurement Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000005286 illumination Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000000926 separation method 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Mobile Radio Communication Systems (AREA)
- Computer And Data Communications (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供一种通信系统、通信方法与装置,该通信系统包括:客户端,用于向第一资源服务器发送包括第一资源标识的第一请求报文,用于请求第一资源标识对应的资源信息;第一资源服务器,用于在未存储第一资源标识对应的资源信息时,向中央重定向器发送包括第一资源标识的第二请求报文;中央重定向器,用于根据映射信息,向第一资源服务器发送用于指示第一资源标识对应的资源信息所在的第二资源服务器的第二响应报文;第一资源服务器还用于,通过第二资源服务器获取第一资源标识对应的资源信息,向客户端发送包括第一资源标识对应的资源信息的第一响应报文。因此,本发明能够有效降低时延,提高资源发现的效率。
Description
技术领域
本发明涉及通信领域,并且更具体地,涉及一种通信方法和装置。
背景技术
物联网(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 ResourceIdentifier,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 transportProtocol,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)modL。
由于哈希函数的碰撞,会产生误判(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 ProcessingUnit,简称为“CPU”),还可以是其他通用处理器、数字信号处理器(Digital SignalProcessor,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 RateSDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(Enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(Synchlink DRAM,SLDRAM)和直接内存总线随机存取存储器(DirectRambus RAM,DR RAM)。
需要说明的是,当处理器为通用处理器、DSP、ASIC、FPGA或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件时,存储器(存储模块)集成在处理器中。
应注意,本文描述的系统和方法的存储器旨在包括但不限于这些和任意其它适合类型的存储器。
还应理解,在本发明实施例中,总线系统除包括数据总线之外,还可以包括电源总线、控制总线和状态信号总线等。但是为了清楚说明起见,在图11中将各种总线都标为总线系统。
在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。结合本发明实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。为避免重复,这里不再详细描述。
应理解,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
应理解,在本发明的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
Claims (31)
1.一种通信系统,其特征在于,包括中央重定向器、多个资源服务器与客户端,所述中央重定向器存储有映射信息,所述映射信息用于指示资源标识与所述资源标识对应的资源信息所在的资源服务器的标识之间的映射关系;
所述客户端用于,向所述多个资源服务器中的第一资源服务器发送第一请求报文,所述第一请求报文包括第一资源标识,所述第一请求报文用于请求所述第一资源标识对应的资源信息;
所述第一资源服务器用于,在未存储所述第一资源标识对应的资源信息的情况下,向所述中央重定向器发送第二请求报文,所述第二请求报文包括所述第一资源标识;
所述中央重定向器用于,根据所述第一资源标识与所述映射信息,向所述第一资源服务器发送第二响应报文,所述第二响应报文用于指示所述第一资源标识对应的资源信息所在的第二资源服务器,其中,所述中央重定向器用于:根据所述映射信息获取与所述第一资源标识具有映射关系的所述第二资源服务器的标识;向所述第一资源服务器发送所述第二响应报文,所述第二响应报文包括所述第二资源服务器的标识;
所述第一资源服务器还用于,根据所述第二响应报文,通过所述第二资源服务器获取所述第一资源标识对应的资源信息;向所述客户端发送第一响应报文,所述第一响应报文包括所述第一资源标识对应的资源信息。
2.根据权利要求1所述的通信系统,其特征在于,
在根据所述第二响应报文,通过所述第二资源服务器获取所述第一资源标识对应的资源信息的方面,所述第一资源服务器用于,根据所述第二资源服务器的标识向所述第二资源服务器发送第三请求报文,所述第三请求报文包括所述第一资源标识;第二资源服务器用于,向所述第一资源服务器发送第三响应报文,所述第三响应报文包括所述第一资源标识对应的资源信息;所述第一资源服务器用于,根据所述第三响应报文得到所述第一资源标识对应的资源信息。
3.根据权利要求2所述的通信系统,其特征在于,所述第二响应报文包括Code字段,所述Code字段用于指示所述第二响应报文的报文类型为重定向响应报文。
4.根据权利要求3所述的通信系统,其特征在于,所述Code字段采用3.xx的格式表示。
5.根据权利要求1-4中任一项所述的通信系统,其特征在于,在未存储所述第一资源标识对应的资源信息的情况下,向所述中央重定向器发送第二请求报文的方面,所述第一资源服务器用于,通过对所述第一资源标识进行哈希运算,获得所述第一资源标识映射到位图上的Bit位;在所述第一资源标识映射到位图上的Bit位未被标记为本地存储的情况下,向所述中央重定向器发送所述第二请求报文,所述Bit位未被标记为本地存储表示所述第一资源服务器未存储所述第一资源标识对应的资源信息。
6.根据权利要求1-4中任一项所述的通信系统,其特征在于,所述通信系统还包括传感器节点,所述传感器节点用于,向所述第一资源服务器发送资源注册报文,所述资源注册报文包括第二资源标识与所述第二资源标识对应的资源信息,所述资源注册报文用于请求注册所述第二资源标识对应的资源信息;
所述第一资源服务器还用于,存储所述第二资源标识与所述第二资源标识对应的资源信息;
所述第一资源服务器还用于,向所述中央重定向器发送所述第二资源标识与所述第一资源服务器的标识;
所述中央重定向器还用于,将所述第二资源标识与所述第一资源服务器的标识的映射关系存储到所述映射信息中。
7.一种通信方法,其特征在于,包括:
第一资源服务器接收客户端发送的第一请求报文,所述第一请求报文包括第一资源标识,所述第一请求报文用于请求所述第一资源标识对应的资源信息;
所述第一资源服务器在未存储所述第一资源标识对应的资源信息的情况下,向中央重定向器发送第二请求报文,所述第二请求报文包括所述第一资源标识,所述中央重定向器存储有映射信息,所述映射信息用于指示资源标识与所述资源标识对应的资源信息所在的资源服务器的标识之间的映射关系;
所述第一资源服务器接收所述中央重定向器发送的第二响应报文,所述第二响应报文用于指示所述第一资源标识对应的资源信息所在的第二资源服务器,其中,所述中央重定向器用于,根据所述映射信息获取与所述第一资源标识具有映射关系的所述第二资源服务器的标识,以及向所述第一资源服务器发送所述第二响应报文,所述第二响应报文包括所述第二资源服务器的标识;
所述第一资源服务器根据所述第二响应报文,通过所述第二资源服务器获取所述第一资源标识对应的资源信息;
所述第一资源服务器向所述客户端发送第一响应报文,所述第一响应报文包括所述第一资源标识对应的资源信息。
8.根据权利要求7所述的通信方法,其特征在于,所述第一资源服务器根据所述第二响应报文,通过所述第二资源服务器获取所述第一资源标识对应的资源信息,包括:
所述第一资源服务器根据所述第二资源服务器的标识向所述第二资源服务器发送第三请求报文,所述第三请求报文包括所述第一资源标识;
所述第一资源服务器接收所述第二资源服务器发送的第三响应报文,所述第三响应报文包括所述第一资源标识对应的资源信息;
所述第一资源服务器根据所述第三响应报文得到所述第一资源标识对应的资源信息。
9.根据权利要求8所述的通信方法,其特征在于,所述第二响应报文包括Code字段,所述Code字段用于指示所述第二响应报文的报文类型为重定向响应报文。
10.根据权利要求9所述的通信方法,其特征在于,所述Code字段采用3.xx的格式表示。
11.根据权利要求7-10中任一项所述的通信方法,其特征在于,所述第一资源服务器在未存储所述第一资源标识对应的资源信息的情况下,向中央重定向器发送第二请求报文,包括:
所述第一资源服务器通过对所述第一资源标识进行哈希运算,获得所述第一资源标识映射到位图上的Bit位;
所述第一资源服务器在所述第一资源标识映射到位图上的Bit位未被标记为本地存储的情况下,向所述中央重定向器发送所述第二请求报文,所述Bit位未被标记为本地存储表示所述第一资源服务器未存储所述第一资源标识对应的资源信息。
12.根据权利要求7-10中任一项所述的通信方法,其特征在于,所述通信方法还包括:
所述第一资源服务器接收传感器节点发送的资源注册报文,所述资源注册报文包括第二资源标识与所述第二资源标识对应的资源信息,所述资源注册报文用于请求注册所述第二资源标识对应的资源信息;
所述第一资源服务器存储所述第二资源标识与所述第二资源标识对应的资源信息;
所述第一资源服务器向所述中央重定向器发送所述第二资源标识与所述第一资源服务器的标识,以便于所述中央重定向器将所述第二资源标识与所述第一资源服务器的标识的映射关系存储到所述映射信息中。
13.一种通信方法,其特征在于,包括:
第一设备接收第二设备发送的受限应用协议CoAP请求报文,所述CoAP请求报文用于请求目标信息;
所述第一设备向所述第二设备发送CoAP响应报文,所述CoAP响应报文包括第三设备的标识,所述CoAP响应报文用于表示所述目标信息存储于所述第三设备,以便所述第二设备根据所述第三设备的标识向所述第三设备请求所述目标信息,
其中,所述CoAP响应报文包括Code字段,所述Code字段用于指示所述CoAP响应报文的报文类型为重定向响应报文。
14.根据权利要求13所述的通信方法,其特征在于,所述Code字段采用3.xx的格式表示。
15.根据权利要求13或14所述的通信方法,其特征在于,在所述第一设备向所述第二设备发送所述CoAP响应报文之前,所述通信方法还包括:
所述第一设备确定所述目标信息迁移到所述第三设备;或
所述第一设备确定所述目标信息的副本存储在所述第三设备;或
所述第一设备确定所述第三设备为所述目标信息的代理访问设备。
16.一种通信方法,其特征在于,包括:
第二设备向第一设备发送第一受限应用协议CoAP请求报文,所述第一CoAP请求报文用于请求目标信息;
所述第二设备接收所述第一设备发送的第一CoAP响应报文,所述第一CoAP响应报文包括第三设备的标识,所述第一CoAP响应报文用于表示所述目标信息存储于所述第三设备;
所述第二设备根据所述第三设备的标识,向所述第三设备发送用于请求所述目标信息的第二CoAP请求报文;
所述第二设备接收所述第三设备发送的第二CoAP响应报文,所述第二CoAP响应报文包括所述目标信息;
所述第二设备根据所述第二CoAP响应报文获得所述目标信息,
其中,所述第一CoAP响应报文包括Code字段,所述Code字段用于指示所述第一CoAP响应报文的报文类型为重定向响应报文。
17.根据权利要求16所述的通信方法,其特征在于,所述Code字段采用3.xx的格式表示。
18.一种资源服务器,其特征在于,包括:
接收模块,用于接收客户端发送的第一请求报文,所述第一请求报文包括第一资源标识,所述第一请求报文用于请求所述第一资源标识对应的资源信息;
发送模块,用于在未存储所述第一资源标识对应的资源信息的情况下,向中央重定向器发送第二请求报文,所述第二请求报文包括所述第一资源标识,所述中央重定向器存储有映射信息,所述映射信息用于指示资源标识与所述资源标识对应的资源信息所在的资源服务器的标识之间的映射关系;
所述接收模块还用于,接收所述中央重定向器发送的第二响应报文,所述第二响应报文用于指示所述第一资源标识对应的资源信息所在的第二资源服务器,其中,所述中央重定向器用于,根据所述映射信息获取与所述第一资源标识具有映射关系的所述第二资源服务器的标识,以及向所述第一资源服务器发送所述第二响应报文,所述第二响应报文包括所述第二资源服务器的标识;
获取模块,用于根据所述第二响应报文,通过所述第二资源服务器获取所述第一资源标识对应的资源信息;
所述发送模块还用于,向所述客户端发送第一响应报文,所述第一响应报文包括所述第一资源标识对应的资源信息。
19.根据权利要求18所述的资源服务器,其特征在于,所述第二响应报文包括第二资源服务器的标识,所述获取模块具体用于,根据所述第二资源服务器的标识向所述第二资源服务器发送第三请求报文,所述第三请求报文包括所述第一资源标识;接收所述第二资源服务器发送的第三响应报文,所述第三响应报文包括所述第一资源标识对应的资源信息;根据所述第三响应报文得到所述第一资源标识对应的资源信息。
20.根据权利要求19所述的资源服务器,其特征在于,所述第二响应报文包括Code字段,所述Code字段用于指示所述第二响应报文的报文类型为重定向响应报文。
21.根据权利要求20所述的资源服务器,其特征在于,所述Code字段采用3.xx的格式表示。
22.根据权利要求18-21中任一项所述的资源服务器,其特征在于,所述发送模块具体用于,通过对所述第一资源标识进行哈希运算,获得所述第一资源标识映射到位图上的Bit位;在所述第一资源标识映射到位图上的Bit位未被标记为本地存储的情况下,向所述中央重定向器发送所述第二请求报文,所述Bit位未被标记为本地存储表示所述第一资源服务器未存储所述第一资源标识对应的资源信息。
23.根据权利要求18-21中任一项所述的资源服务器,其特征在于,所述接收模块还用于,接收传感器节点发送的资源注册报文,所述资源注册报文包括第二资源标识与所述第二资源标识对应的资源信息,所述资源注册报文用于请求注册所述第二资源标识对应的资源信息;
所述资源服务器还包括:
存储模块,用于存储所述第二资源标识与所述第二资源标识对应的资源信息;
所述发送模块还用于,向所述中央重定向器发送所述第二资源标识与所述资源服务器的标识,以便于所述中央重定向器将所述第二资源标识与所述资源服务器的标识的映射关系存储到所述映射信息中。
24.一种通信设备,其特征在于,包括:
接收模块,用于接收第二设备发送的受限应用协议CoAP请求报文,所述CoAP请求报文用于请求目标信息;
发送模块,用于向所述第二设备发送CoAP响应报文,所述CoAP响应报文包括第三设备的标识,所述CoAP响应报文用于表示所述目标信息存储于所述第三设备,以便所述第二设备根据所述第三设备的标识向所述第三设备请求所述目标信息
其中,所述CoAP响应报文包括Code字段,所述Code字段用于指示所述CoAP响应报文的报文类型为重定向响应报文。
25.根据权利要求24所述的通信设备,其特征在于,所述Code字段采用3.xx的格式表示。
26.根据权利要求24或25所述的通信设备,其特征在于,所述通信设备还包括:
确定模块,用于在所述发送模块向所述第二设备发送所述CoAP响应报文之前,确定所述目标信息迁移到所述第三设备;或确定所述目标信息的副本存储在所述第三设备;或确定所述第三设备为所述目标信息的代理访问设备。
27.一种通信设备,其特征在于,包括:
发送模块,用于向第一设备发送第一受限应用协议CoAP请求报文,所述第一CoAP请求报文用于请求目标信息;
接收模块,用于接收所述第一设备发送的第一CoAP响应报文,所述第一CoAP响应报文包括第三设备的标识,所述第一CoAP响应报文用于表示所述目标信息存储于所述第三设备;
所述发送模块还用于,根据所述第三设备的标识,向所述第三设备发送用于请求所述目标信息的第二CoAP请求报文;
所述接收模块还用于,接收所述第三设备发送的第二CoAP响应报文,所述第二CoAP响应报文包括所述目标信息;
获取模块,用于根据所述第二CoAP响应报文获得所述目标信息,
其中,所述第一CoAP响应报文包括Code字段,所述Code字段用于指示所述第一CoAP响应报文的报文类型为重定向响应报文。
28.根据权利要求27所述的通信设备,其特征在于,所述Code字段采用3.xx的格式表示。
29.一种资源服务器,其特征在于,包括处理器与存储器,所述存储器用于存储指令,所述处理器读取所述存储器存储的指令用于执行权利要求7-12中任一项所述的通信方法。
30.一种通信设备,其特征在于,包括处理器与存储器,所述存储器用于存储指令,所述处理器读取所述存储器存储的指令用于,执行权利要求13-15中任一项所述的通信方法。
31.一种通信设备,其特征在于,包括处理器与存储器,所述存储器用于存储指令,所述处理器读取所述存储器存储的指令用于,执行权利要求16或17中任一项所述的通信方法。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610857030.3A CN107872486B (zh) | 2016-09-28 | 2016-09-28 | 通信方法和装置 |
EP17854480.5A EP3509269A4 (en) | 2016-09-28 | 2017-06-26 | COMMUNICATION METHOD AND DEVICE |
PCT/CN2017/089973 WO2018059026A1 (zh) | 2016-09-28 | 2017-06-26 | 通信方法和装置 |
US16/368,498 US20190222656A1 (en) | 2016-09-28 | 2019-03-28 | Communication Method and Apparatus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610857030.3A CN107872486B (zh) | 2016-09-28 | 2016-09-28 | 通信方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107872486A CN107872486A (zh) | 2018-04-03 |
CN107872486B true CN107872486B (zh) | 2020-06-02 |
Family
ID=61761003
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610857030.3A Active CN107872486B (zh) | 2016-09-28 | 2016-09-28 | 通信方法和装置 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20190222656A1 (zh) |
EP (1) | EP3509269A4 (zh) |
CN (1) | CN107872486B (zh) |
WO (1) | WO2018059026A1 (zh) |
Families Citing this family (12)
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 |
CN111314394B (zh) | 2018-12-11 | 2022-08-26 | Oppo广东移动通信有限公司 | 物联网的资源发布方法、装置、设备及存储介质 |
GB2581504A (en) | 2019-02-20 | 2020-08-26 | Smartpipe Tech Ltd | Processing data in a network |
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 |
JP2023523524A (ja) * | 2020-03-10 | 2023-06-06 | オッポ広東移動通信有限公司 | モノのインターネット通信方法及び装置 |
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 (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101378392A (zh) * | 2007-08-29 | 2009-03-04 | 华为技术有限公司 | 一种p2p环境下资源查询的方法和装置 |
CN102306128A (zh) * | 2011-09-16 | 2012-01-04 | 北京星网锐捷网络技术有限公司 | 磁盘管理方法、装置及网络设备 |
CN103227803A (zh) * | 2012-01-30 | 2013-07-31 | 华为技术有限公司 | 一种物联网资源获取的方法、客户端和物联网资源装置 |
CN104092776A (zh) * | 2014-07-25 | 2014-10-08 | 北京赛科世纪数码科技有限公司 | 一种信息存取方法和系统 |
Family Cites Families (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 |
CN106134159B (zh) * | 2014-03-11 | 2019-09-20 | 康维达无线有限责任公司 | 增强分布式资源目录 |
-
2016
- 2016-09-28 CN CN201610857030.3A patent/CN107872486B/zh active Active
-
2017
- 2017-06-26 WO PCT/CN2017/089973 patent/WO2018059026A1/zh unknown
- 2017-06-26 EP EP17854480.5A patent/EP3509269A4/en active Pending
-
2019
- 2019-03-28 US US16/368,498 patent/US20190222656A1/en not_active Abandoned
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101378392A (zh) * | 2007-08-29 | 2009-03-04 | 华为技术有限公司 | 一种p2p环境下资源查询的方法和装置 |
CN102306128A (zh) * | 2011-09-16 | 2012-01-04 | 北京星网锐捷网络技术有限公司 | 磁盘管理方法、装置及网络设备 |
CN103227803A (zh) * | 2012-01-30 | 2013-07-31 | 华为技术有限公司 | 一种物联网资源获取的方法、客户端和物联网资源装置 |
CN104092776A (zh) * | 2014-07-25 | 2014-10-08 | 北京赛科世纪数码科技有限公司 | 一种信息存取方法和系统 |
Also Published As
Publication number | Publication date |
---|---|
WO2018059026A1 (zh) | 2018-04-05 |
US20190222656A1 (en) | 2019-07-18 |
EP3509269A1 (en) | 2019-07-10 |
EP3509269A4 (en) | 2019-07-10 |
CN107872486A (zh) | 2018-04-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107872486B (zh) | 通信方法和装置 | |
US11632420B2 (en) | Point of presence management in request routing | |
US10931738B2 (en) | Point of presence management in request routing | |
US20190044787A1 (en) | Point of presence management in request routing | |
EP2266064B1 (en) | Request routing | |
US9071572B2 (en) | Method, apparatus and system for addressing resources | |
US9264358B2 (en) | Alias resource record sets | |
CN113596184A (zh) | 混合云系统、网闸、网络访问方法及存储介质 | |
EP2740253B1 (en) | Method and system for domain name system based discovery of devices and objects | |
US20130201999A1 (en) | Method and Apparatus for Synthesized Address Detection | |
CN110062064B (zh) | 一种地址解析协议arp请求报文响应方法及装置 | |
CN111010460A (zh) | 域名解析方法和装置 | |
US10904037B2 (en) | Relaying apparatus, relaying method, and relaying system | |
WO2021108993A1 (en) | Systems and methods for load control of domain name system server | |
KR20150089894A (ko) | 쿠키 프락시 기능을 구비한 네트워크 주소 변환 장치 및 쿠키 프락시 기능을 지원하는 네트워크 주소 변환 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |