一种信息查询方法、设备及系统
技术领域
本发明涉及通信领域,尤其涉及一种信息查询方法、设备及系统。
背景技术
无线保真(Wireless Fidelity,WiFi)网络目前得到广泛应用,目前很多通信设备都支持WiFi技术,例如:手机、计算机、平板电脑等通信设备,即这些通信设备可以通过WiFi网络进行网络通信。且目前WiFi网络遍布于各公共场所或者私人场所,例如:酒店、学校、医院和住宅等场所。其中,通信设备通过WiFi网络进行通信,都采用的是WiFi网络的帧进行通信,即通信设备之间的信息传递都是将信息承载在WiFi网络的帧上,然后通过WiFi网络的帧完成信息的传递。其中,信息查询是一个设备(例如:设备A)向了解周边有没有跟自己需求匹配的信息,如果周边有拥有能跟这个需求匹配的信息的设备(例如:设备B),那么设备B可以告知设备A自己有这个匹配的信息。对于WiFi网络来说,这两个设备之间进行的查询过程,也是可以通过WiFi的帧来进行交互的。
目前WiFi网络的帧的结构定义得太繁琐,在有些情况下WiFi网络的帧的冗余信息太多,例如:探测请求帧或者探测应答帧的结构中帧头就包含帧控制域(Frame Control)、时间/标识域(Duration/ID)、地址域(Address)、序列控制域(Sequence)等,该帧头就占28个字节,而在查询的内容不多情况下,探测请求帧和探测应答帧携带的信息不多,可能就是一个或者多个名字,或者地址,这些情况下,帧体可能只占几个字节,帧体为携带信息的部分,即对于这样的一个探测请求帧或者探测应答帧中只有几个字节用于携带信息,其余字节都可以理解为冗余信息。这样就会导致传输的帧中冗余的分量较大,而真正有意义的信息不多,使得查询占用网络资源多,导致网络资源利用率低。
发明内容
本发明实施例提供了一种信息查询方法、设备及系统,可以提高网络资源的利用率。
第一方面,本发明第一方面提供的一种信息查询方法,包括:
第一设备发送无数据信息查询请求帧,所述无数据信息查询请求帧包含第一控制信息和第一哈希值,所述第一哈希值是对第一信息采用第一哈希函数运算后产生的哈希值,所述无数据信息查询请求帧不包含目标地址;所述第一控制信息至少包括用于指示所述无数据信息查询请求帧的类型的第一指示信息;
所述第一设备接收第二设备发送的无数据信息查询响应帧,所述无数据信息查询响应帧包含第二控制信息、第二哈希值和所述第二设备的地址,第二哈希值是所述第二设备对第二信息采用第二哈希函数运算后产生的哈希值,所述无数据信息查询响应帧不包含目标地址;所述第二控制信息至少包括用于指示所述无数据信息查询请求帧的类型的第二指示信息;
所述第一设备判断第三哈希值与所述第二哈希值一致时,所述第一设备向所述第二设备发送有数据信息查询请求帧,其中,所述第三哈希值是对所述第一信息采用所述第二哈希函数运算后产生的哈希值,所述有数据信息查询请求帧包含所述第二设备的地址和所述第一设备的地址,以便所述第二设备接收到所述有数据信息查询请求帧时对所述有数据信息查询请求帧作出响应。
在第一方面的第一种可能的实现方式中,所述第二信息是指采用所述第一哈希函数运算后产生的哈希值与所述第一哈希值一致的信息。
结合第一方面的上述任一实现方式,在第一方面的第二种可能的实现方式中,所述无数据信息查询响应帧包括多个第二哈希值,所述第一设备判断第三哈希值与所述第二哈希值一致,包括:
所述第一设备判断所述第三哈希值与所述多个第二哈希值中的至少一个第二哈希值一致。
结合第一方面的上述任一实现方式,在第一方面的第三种可能的实现方式中,所述无数据信息查询请求帧的类型包括请求类型或者中性类型;
所述无数据信息查询响应帧的类型包括发布类型或者中性类型。
结合第一方面的上述任一实现方式,在第一方面的第四种可能的实现方式中,所述无数据信息查询请求帧还携带有用于指示所述第一哈希值的性质的第三指示信息;
所述无数据信息查询响应帧还携带有用于指示所述第二哈希值的性质的第四指示信息;
其中,所述第一哈希值的性质为请求性质或者中性性质;所述第二哈希值的性质为发布性质或者中性性质。
结合第一方面的上述任一实现方式,在第一方面的第五种可能的实现方式中,所述第二哈希值包含所述第一哈希值;或者
所述第一哈希函数与所述第二哈希函数相同。
结合第一方面的上述任一实现方式,在第一方面的第六种可能的实现方式中,所述无数据信息查询请求帧不包含发送地址,所述无数据信息查询响应帧不包含发送地址。
结合第一方面的上述任一实现方式,在第一方面的第七种可能的实现方式中,所述无数据信息查询请求帧和所述无数据信息查询响应帧为媒体访问控制(Media AccessControl Address,MAC)帧。
第二方面,本发明第一方面提供的一种信息查询方法,包括:
第二设备获取第一设备发送出的包含第一控制信息和第一哈希值的无数据信息查询请求帧;所述第一哈希值是对第一信息采用第一哈希函数运算后产生的哈希值,所述无数据信息查询请求帧不包含目标地址;所述第一控制信息至少包括用于指示所述无数据信息查询请求帧的类型的第一指示信息;
当第二设备存在与所述第一哈希值对应的第二信息时,所述第二设备发送无数据信息查询响应帧,所述无数据信息查询响应帧包含第二控制信息、第二哈希值和所述第二设备的地址,以使所述第一设备判断第三哈希值与所述第二哈希值一致时,由所述第一设备向第二设备发送有数据信息查询请求帧,其中,所述第三哈希值是所述第一设备对所述第一信息采用所述第二哈希函数运算后产生的哈希值,所述有数据信息查询请求帧包含所述第二设备的地址和所述第一设备的地址;其中,第二哈希值是所述第二设备对所述第二信息采用第二哈希函数运算后产生的哈希值,所述无数据信息查询响应帧不包含目标地址,所述第二控制信息至少包括用于指示所述无数据信息查询请求帧的类型的第二指示信息;
所述第二设备接收到所述有数据信息查询请求帧时对所述有数据信息查询请求帧作出响应。
在第二方面的第一种可能的实现方式中,所述第二信息是指采用所述第一哈希函数运算后产生的哈希值与所述第一哈希值一致的信息。
结合第二方面的上述任一实现方式,在第二方面的第二种可能的实现方式中,所述无数据信息查询请求帧的类型包含请求类型或者中性类型;
所述无数据信息查询响应帧的类型包括发布类型或者中性类型。
结合第二方面的上述任一实现方式,在第二方面的第三种可能的实现方式中,所述无数据信息查询请求帧还携带有用于指示所述第一哈希值的性质的第三指示信息;
所述无数据信息查询响应帧还携带有用于指示所述第二哈希值的性质的第四指示信息;
其中,所述第一哈希值的性质为请求性质或者中性性质;所述第二哈希值的性质为发布性质或者中性性质。
结合第二方面的上述任一实现方式,在第二方面的第四种可能的实现方式中,所述第二哈希值包含所述第一哈希值;或者
所述第一哈希函数与所述第二哈希函数相同。
结合第二方面的上述任一实现方式,在第二方面的第五种可能的实现方式中,所述无数据信息查询请求帧和所述无数据信息查询响应帧为MAC帧。
第三方面,本发明实施例提供一种通信设备,包括:发送单元、接收单元和确定单元,其中:
所述发送单元,用于发送所述无数据信息查询请求帧;所述无数据信息查询请求帧包含第一控制信息和第一哈希值,所述第一哈希值是对第一信息采用第一哈希函数运算后产生的哈希值,所述无数据信息查询请求帧不包含目标地址;所述第一控制信息至少包括用于指示所述无数据信息查询请求帧的类型的第一指示信息;
所述接收单元,用于接收第二设备发送的无数据信息查询响应帧,所述无数据信息查询响应帧包含第二控制信息、第二哈希值和所述第二设备的地址,第二哈希值是所述第二设备对第二信息采用第二哈希函数运算后产生的哈希值,所述无数据信息查询响应帧不包含目标地址;所述第二控制信息至少包括用于指示所述无数据信息查询请求帧的类型的第二指示信息;
所述确定单元,用于判断第三哈希值与所述第二哈希值一致时,向第二设备发送有数据信息查询请求帧,其中,所述第三哈希值是对所述第一信息采用所述第二哈希函数运算后产生的哈希值,所述有数据信息查询请求帧包含所述第二设备的地址和所述第一设备的地址,以便所述第二设备接收到所述有数据信息查询请求帧时对所述有数据信息查询请求帧作出响应。
在第三方面的第一种可能的实现方式中,所述第二信息是指采用所述第一哈希函数运算后产生的哈希值与所述第一哈希值一致的信息。
结合第三方面的上述任一实现方式,所述无数据信息查询响应帧包括多个第二哈希值,所述确定单元还用于判断所述第三哈希值与所述多个第二哈希值中的至少一个第二哈希值一致时,向第二设备发送有数据信息查询请求帧。
结合第三方面的上述任一实现方式,在第三方面的第三种可能的实现方式中,所述无数据信息查询请求帧的类型包含请求类型或者中性类型;
所述无数据信息查询响应帧的类型包括发布类型或者中性类型。
结合第三方面的上述任一实现方式,在第三方面的第四种可能的实现方式中,所述无数据信息查询请求帧还携带有用于指示所述第一哈希值的性质的第三指示信息;
所述无数据信息查询响应帧还携带有用于指示所述第二哈希值的性质的第四指示信息;
其中,所述第一哈希值的性质为请求性质或者中性性质;所述第二哈希值的性质为发布性质或者中性性质。
第四方面,本发明实施例提供一种通信设备,包括:接收单元、发送单元和响应单元,其中:
所述接收单元,用于获取第一设备发送出的包含第一控制信息和第一哈希值的无数据信息查询请求帧;所述第一哈希值是对第一信息采用第一哈希函数运算后产生的哈希值,所述无数据信息查询请求帧不包含目标地址;所述第一控制信息至少包括用于指示所述无数据信息查询请求帧的类型的第一指示信息;
所述发送单元,用于当第二设备存在与所述第一哈希值对应的第二信息时,发送无数据信息查询响应帧,所述无数据信息查询响应帧包含第二控制信息、第二哈希值和所述第二设备的地址,以使所述第一设备判断第三哈希值与所述第二哈希值一致时,由所述第一设备向第二设备发送有数据信息查询请求帧,其中,所述第三哈希值是所述第一设备对所述第一信息采用所述第二哈希函数运算后产生的哈希值,所述有数据信息查询请求帧包含所述第二设备的地址和所述第一设备的地址;其中,第二哈希值是所述第二设备对所述第二信息采用第二哈希函数运算后产生的哈希值,所述无数据信息查询响应帧不包含目标地址,所述第二控制信息至少包括用于指示所述无数据信息查询请求帧的类型的第二指示信息;
所述响应单元,用于当接收到所述有数据信息查询请求帧时对所述有数据信息查询请求帧作出响应。
在第四方面的第一种可能的实现方式中,所述第二信息是指采用所述第一哈希函数运算后产生的哈希值与所述第一哈希值一致的信息。
结合第四方面的上述任一实现方式,在第四方面的第二种可能的实现方式中,所述无数据信息查询请求帧的类型包含请求类型或者中性类型;
所述无数据信息查询响应帧的类型包括发布类型或者中性类型。
结合第四方面的上述任一实现方式,在第四方面的第三种可能的实现方式中,所述无数据信息查询请求帧还携带有用于指示所述第一哈希值的性质的第三指示信息;
所述无数据信息查询响应帧还携带有用于指示所述第二哈希值的性质的第四指示信息;
其中,所述第一哈希值的性质为请求性质或者中性性质;所述第二哈希值的性质为发布性质或者中性性质。
第五方面,本发明实施例提供通信设备,包括:发送器和接收器,以及分别与所述发送器和所述接收器耦合的处理器,其中,
所述发送器,用于发送无数据信息查询请求帧;所述无数据信息查询请求帧包含第一控制信息和第一哈希值,所述第一哈希值是对第一信息采用第一哈希函数运算后产生的哈希值,所述无数据信息查询请求帧不包含目标地址;所述第一控制信息至少包括用于指示所述无数据信息查询请求帧的类型的第一指示信息;
所述接收器,用于接收第二设备发送的无数据信息查询响应帧,所述无数据信息查询响应帧包含第二控制信息、第二哈希值和所述第二设备的地址,第二哈希值是所述第二设备对第二信息采用第二哈希函数运算后产生的哈希值,所述无数据信息查询响应帧不包含目标地址;所述第二控制信息至少包括用于指示所述无数据信息查询请求帧的类型的第二指示信息;
所述处理器,用于从所述接收器接收的无数据信息查询响应帧解析出所述第二哈希值,并判断第三哈希值与所述第二哈希值是否一致;所述第三哈希值是对所述第一信息采用所述第二哈希函数运算后产生的哈希值;
所述发送器还用于当所述处理器判断第三哈希值与所述第二哈希值一致时,向第二设备发送有数据信息查询请求帧,其中,所述有数据信息查询请求帧包含所述第二设备的地址和所述通信设备的地址,以便所述第二设备接收到所述有数据信息查询请求帧时对所述有数据信息查询请求帧作出响应。
在第五方面的第一种可能的实现方式中,所述第二信息是指采用所述第一哈希函数运算后产生的哈希值与所述第一哈希值一致的信息。
结合第五方面的上述任一实现方式,在第五方面的第二种可能的实现方式中,所述无数据信息查询响应帧包括多个第二哈希值,所述处理器还用于判断所述第三哈希值与所述多个第二哈希值中的至少一个第二哈希值是否一致。
结合第五方面的上述任一实现方式,在第五方面的第三种可能的实现方式中,所述无数据信息查询请求帧的类型包含请求类型或者中性类型;
所述无数据信息查询响应帧的类型包括发布类型或者中性类型。
结合第五方面的上述任一实现方式,在第五方面的第四种可能的实现方式中,所述无数据信息查询请求帧的类型包含请求类型或者中性类型;
所述无数据信息查询响应帧的类型包括发布类型或者中性类型。
结合第五方面的上述任一实现方式,在第五方面的第五种可能的实现方式中,所述无数据信息查询请求帧还携带有用于指示所述第一哈希值的性质的第三指示信息;
所述无数据信息查询响应帧还携带有用于指示所述第二哈希值的性质的第四指示信息;
其中,所述第一哈希值的性质为请求性质或者中性性质;所述第二哈希值的性质为发布性质或者中性性质。
第六方面,本发明实施例提供的一种通信设备,包括:发送器和接收器,以及分别与所述发送器和所述接收器耦合的处理器,其中:
所述接收器,用于获取第一设备发送出的包含第一控制信息和第一哈希值的无数据信息查询请求帧;所述第一哈希值是对第一信息采用第一哈希函数运算后产生的哈希值,所述无数据信息查询请求帧不包含目标地址;所述第一控制信息至少包括用于指示所述无数据信息查询请求帧的类型的第一指示信息;
所述处理器,用于从所述接收器接收的无数据信息查询请求帧解析出所述第一哈希值,并判断所述通信设备是否存在与所述第一哈希值对应的第二信息;
所述发送器,用于当所述处理器判断所述通信设备存在与所述第一哈希值对应的第二信息时,发送无数据信息查询响应帧,所述无数据信息查询响应帧包含第二控制信息、第二哈希值和所述通信设备的地址,以使所述第一设备判断第三哈希值与所述第二哈希值一致时,由所述第一设备向通信设备发送有数据信息查询请求帧,其中,所述第三哈希值是所述第一设备对所述第一信息采用所述第二哈希函数运算后产生的哈希值,所述有数据信息查询请求帧包含所述通信设备的地址和所述第一设备的地址;其中,第二哈希值是所述处理器对第二信息采用第二哈希函数运算后产生的哈希值,所述无数据信息查询响应帧不包含目标地址,所述第二控制信息至少包括用于指示所述无数据信息查询请求帧的类型的第二指示信息;
所述处理器还用于当接收到所述有数据信息查询请求帧时对所述有数据信息查询请求帧作出响应。
在第六方面的第一种可能的实现方式中,所述第二信息是指采用所述第一哈希函数运算后产生的哈希值与所述第一哈希值一致的信息。
结合第六方面的上述任一实现方式,在第六方面的第二种可能的实现方式中,所述无数据信息查询请求帧的类型包含请求类型或者中性类型;
所述无数据信息查询响应帧的类型包括发布类型或者中性类型。
结合第六方面的上述任一实现方式,在第六方面的第三种可能的实现方式中,所述无数据信息查询请求帧还携带有用于指示所述第一哈希值的性质的第三指示信息;
所述无数据信息查询响应帧还携带有用于指示所述第二哈希值的性质的第四指示信息;
其中,所述第一哈希值的性质为请求性质或者中性性质;所述第二哈希值的性质为发布性质或者中性性质。
上述技术方案中,无数据信息查询请求帧仅包含第一控制信息、第一哈希值,所述无数据信息查询响应帧仅包含第二控制信息、第二哈希值和第二设备的地址,在第一设备获取无数据信息查询响应帧时,当第一设备判断第三哈希值与所述第二哈希值一致时,第一设备向第二设备发送有数据信息查询请求帧,其中,所述有数据信息查询请求帧包含所述第二设备的地址和所述第一设备的地址,以便所述第二设备接收到所述有数据信息查询请求帧时对所述有数据信息查询请求帧作出响应。本发明实施例中的无数据信息查询请求帧和无数据信息查询响应帧比现有技术中的帧要短,使得查询占用网络资源少,导致网络资源利用率高。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种信息查询方法的流程示意图;
图2-图7是本发明实施例提供的可选的无数据帧的结构示意图;
图8是本发明实施例提供的另一种信息查询方法的流程示意图;
图9是本发明实施例提供的另一种信息查询方法的流程示意图;
图10是本发明实施例提供的一种通信设备的结构示意图;
图11是本发明实施例提供的另一种通信设的结构示意图;
图12是本发明实施例提供的另一种通信设备的结构示意图;
图13是本发明实施例提供的另一种通信设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本发明实施例中,设备的地址可以是设备的MAC地址。另外,本发明实施例中的设备可以通信网络中任何设备,例如:WiFi网络的中任何通信设备,例如:手机、计算机、平板电脑、打印机等通信设备。第一设备可以是通信网络中任何通信设备,第二设备可以是通信网络中除第一设备之外的任何通信设备。
在本发明实施例中,无数据信息查询请求帧是本发明实施例提出的没有帧体部分的帧,只有帧头和校验码的数据帧。本发明实施例对无数据信息查询请求帧帧头的内容也有定义,即不会包括目标地址。在现有WiFi的IEEE802.11协议中,目标地址包括接收地址(Receive Address,RA)和目的地址(Destination Address,DA),RA表示RA所在的帧的下一跳接收地址,DA表示DA所在的帧的最终的目的地址。本发明实施例说的不包含目标地址,就是说既不包含RA,也不包含DA。而且无数据信息查询请求帧的帧头中包含哈希值,而且没有现有IEEE802.11协议中定义的其他帧体里面的信息元素。同时,无数据信息查询请求帧不包含发送地址,该发送地址可以发送地址(Source Address,SA),即发送无数据信息查询请求帧的设备的地址,例如第一设备的地址,也可以是转发无数据信息查询请求帧的设备的地址。同样,无数据信息查询响应帧是本发明实施例提出的没有帧体部分的帧,只有帧头和校验码的数据帧。本发明实施例对无数据信息查询响应帧帧头的内容也有定义,即包含发送地址,但不会包括帧接收地址,同时,所述无数据信息查询响应帧不包含发送地址,该发送地址指转发无数据信息查询响应帧的设备的地址。而且无数据信息查询响应帧的帧头中包含哈希值,而且没有现有IEEE802.11协议中定义的其他帧体里面的信息元素。而现有的帧是包括帧头、帧体和校验码三个部分或者有时候有些帧没有帧体。由于本发明实施例提供的无数据信息查询请求帧和无数据信息查询响应帧的结构简单,且可以携带更多的信息,例如,可以携带更多哈希值。其中,该无数据信息查询请求帧和无数据信息查询响应帧可以是媒体访问控制(Media Access Control Address,MAC)帧。有数据信息查询请求帧是现有的遵循802.11协议定义的管理帧,这些帧同时具有接收地址RA和发送地址(transmitaddress,TA),不单独带有目的地址DA和SA,因为它们的DA等于RA,SA等于TA。
另外,在本发明实施例中第一信息可以是第一设备需要查询的信息,例如:服务、用户标识、业务、程序、游戏等的信息。其中,第一设备上支持的信息,就是指第一设备支持这个信息所描述的功能、业务、程序,如该信息为彩色打印v2.0,即第一设备支持v2.0版本的彩色打印。在本发明实施例中第二信息可以是第二设备上支持的任何信息,例如:服务、用户标识、业务、程序、游戏等的信息。其中,第二设备上支持的信息,就是指第一设备支持这个信息所描述的功能、业务、程序。
图1是本发明实施例提供的一种信息查询方法的流程示意图,如图1所示,包括:
101、第一设备发送无数据信息查询请求帧,所述无数据信息查询请求帧包含第一控制信息、第一哈希值,所述第一哈希值是对第一信息采用第一哈希函数运算后产生的哈希值,所述无数据信息查询请求帧不包含目标地址;所述第一控制信息至少包括用于指示所述无数据信息查询请求帧的类型的第一指示信息。
由于该无数据信息查询请求帧只包含了第一控制信息和第一哈希值,且不包含目标地址,这样该无数据查询请求帧就可以有更多的字节用于携带内容信息,例如:使用更多的字节携带哈希值,可以携带多个第一哈希值。
其中,无数据信息查询请求帧不包含目标地址可以是指,无数据信息查询请求帧中不包含获取到该无数据信息查询请求帧的设备的地址,该获取到该无数据信息查询请求帧的设备可以包括上述第二设备,获取到该无数据信息查询请求帧的设备还可以包括网络中除上述第二设备之外的其它设备。这样第一设备在发送无数据信息查询请求帧时,是没有明确的接收设备的,即第一设备只需要负责将无数据信息查询请求帧发送出去,至于无数据信息查询请求帧被哪个设备获取,第一设备无需要考虑。
102、第一设备接收第二设备发送的无数据信息查询响应帧,所述无数据信息查询响应帧包含第二控制信息、第二哈希值和所述第二设备的地址,第二哈希值是所述第二设备对第二信息采用第二哈希函数运算后产生的哈希值,所述无数据信息查询响应帧不包含目标地址;所述第二控制信息至少包括用于指示所述无数据信息查询请求帧的类型的第二指示信息。
第二设备可以是实时侦听网络中是否传输有无数据信息查询请求帧,或者周期性侦听网络中是否传输有无数据信息查询请求帧。当侦听到网络中传输有无数据信息查询请求帧时,就获取无数据信息查询请求帧,将对获取的无数据信息查询响应帧进行解析,以获取无数据信息查询请求帧包含的第一哈希值。当所述第二设备根据所述第一哈希值判断出第二设备存在与所述第一哈希值对应的第二信息时,所述第二设备将上述无数据信息查询响应帧发送出去。所述无数据信息查询响应帧不包含目标地址可以是指,无数据信息查询响应帧中不包含获取到该无数据信息查询响应帧的设备的地址,获取到该无数据信息查询响应帧的设备可以包括上述第一设备,获取到该无数据信息查询响应帧的设备还可以包括网络中除上述第一设备之外的其它设备。
其中,第二哈希值可以是第二设备预先生成好的,也可以是当所述第二设备根据所述第一哈希值判断出第二设备存在与所述第一哈希值对应的第二信息时,第二设备对第二信息采用第二哈希函数运算后产生的哈希值。
103、第一设备判断第三哈希值与所述第二哈希值一致时,所述第一设备向第二设备发送有数据信息查询请求帧,其中,所述第三哈希值是对所述第一信息采用所述第二哈希函数运算后产生的哈希值,所述有数据信息查询请求帧包含所述第二设备的地址和所述第一设备的地址,以便所述第二设备接收到所述有数据信息查询请求帧时对所述有数据信息查询请求帧作出响应。
其中,上述有数据信息查询请求帧是包含帧头、帧体和校验码的帧,该帧可以参考现有的技术中的MAC帧。
当第一设备判断第三哈希值与所述第二哈希值一致时,就说明第二设备为第一设备需要查询的设备,例如:第二设备提供的第一设备需要的服务,如打印;例如:第二设备为第一设备需要查找的设备,如,第二设备与第一设备同时在进行某项业务,如第二设备和第一设备同时在运行某个游戏;例如:第二设备与第一设备同时登录同一用户标识等。第一设备就可以向第二设备发送有数据信息查询请求帧,其中,所述有数据信息查询请求帧包含所述第二设备的地址和所述第一设备的地址,以便所述第二设备接收到所述有数据信息查询请求帧时对所述有数据信息查询请求帧作出响应。
作为一种可选的实施方式,其中,上述第一哈希函数可以包括:
对第一信息进行哈希运算,并取该运算的哈希结果的N位作为哈希值,其中,N为自然数,且这N位在该哈希运算结果的位置不作限定。即第一设备对第一信息进行哈希运算,并取该哈希运算的哈希结果的N位作为上述第一哈希值,例如:该哈希结果为128位,第一哈希值为该128位的哈希值的倒数第1至倒数第32位,或者该128位的哈希值的倒数第33至倒数第64位等。
其中,上述第二哈希函数可以包括:
对第二信息进行哈希运算,并取该运算的哈希结果的W位作为哈希值,其中,W为自然数,且这W位在该哈希运算结果的位置不作限定。即第二设备对第二信息进行哈希运算,并取该哈希运算的哈希结果的W位作为上述第一哈希值,例如:该哈希结果为128位,第二哈希值为该128位的哈希值的倒数第1至倒数第32位,或者该128位的哈希值的倒数第33至倒数第64位等。
其中,上述哈希运算可以如下任意一项:
消息摘要算法第五版(Message Digest Algorithm,MD5)、安全散列算法SHA(Secure Hash Algorithm,SHA)1、SHA256和SHA512等。其中,第一哈希函数中的哈希运算所用的哈希算法可以不同于第二哈希函数中的哈希运算所用的哈希算法。
作为一种可选的实施方式,所述无数据信息查询响应帧包括多个第二哈希值,即第二设备中第二信息存在多个,所述第一设备判断第三哈希值与所述第二哈希值一致,可以包括:
判断所述第三哈希值与所述多个第二哈希值中的至少一个第二哈希值一致。
当第二设备中第二信息存在多个,上述无数据信息查询响应帧就可以包含多个第二哈希值,且这些第二哈希值的位数可以随当第二设备存在第二信息数量成正比。例如,第二设备存在两个第二信息时,这两个第二哈希值就可以是48位,第二设备存在三个第二信息时,这三个第二哈希值就可以是64位等。由于第二哈希值的位数增多,这样就可以避免第一设备选择出错误的第二信息,例如:第二设备存在两个第二信息,而这两个信息的哈希结果的值又存在不同的地方,如第一哈希值都为这两个哈希结果的倒数第1至倒数第32位时,而这两个哈希结果的倒数第33至倒数第18位是不同的,这样第二设备生成的两个第二哈希值就不同,这样第一设备获取到这两个第二哈希值时,从这个两个第二信息中选择与第一信息一致的第二信息。
作为一种可选的实施方式,上述第二哈希值还可以包含上述第一哈希值,即第一哈希值为第二哈希值的一部分或者全部。例如:第一信息进行哈希运算的哈希结果为128位,第一哈希值为该128位的哈希值的倒数第1至倒数第32位,而第二信息与第一信息一致,即第一信息进行哈希运算的哈希结果与第二信息进行哈希运算的哈希结果相同,而第二哈希值又为第二信息进行哈希运算的哈希结果的倒数第1至倒数第48位等。
作为一种可选的实施方式,所述第一哈希函数与所述第二哈希函数相同。这样当第三哈希值与第二哈希值一致,即第一信息进行哈希运算的哈希结果与第二信息进行哈希运算的哈希结果相同,第一哈希值与第二哈希值就相同。
作为一种可选的实施方式,所述第二信息是指采用所述第一哈希函数运算后产生的哈希值与所述第一哈希值一致的信息,可以是第二设备将第二设备存在信息进行第二哈希函数运算,当运算结果与第一哈希值一致时,说明该信息为第二信息,当然将第二设备存在信息进行第二哈希函数运算可以是预先运算好的,也可以第二设备接收到第一哈希值才运算的。第二信息还可以是指哈希结果包括上述第一哈希值的信息,即对该信息进行哈希运算后,该运算的哈希结果包含第一哈希值。
作为一种可选的实施方式,无数据信息查询请求帧还可以不包含发送地址,即不包含第一设备的地址,这样第二设备获取上述无数据信息查询请求帧时,第二设备不知道是哪个设备发送的无数据信息查询请求帧,第二设备再以第一设备发送无数据信息查询请求帧的方式,发送无数据信息查询响应帧。且无数据信息查询请求帧和无数据信息查询响应还可以不包含现有技术的帧中的时间/标识域、和序列控制域,即本实施例中无数据信息查询请求帧可以是只包含控制信息、哈希值和校验码,无数据信息查询响应帧仅包含第一控制信息、第二哈希值、第二设备的地址和校验码,这样在无数据信息查询请求帧中除了第一哈希值以外,其他的信息所占的分量就很少,从而无线资源的利用率和查询的效率就会变高。同时,为了进一步提高查询效率,本实施例中并不限定一个无数据帧中就只带一个哈希值,也可以是携带多个不同的哈希值。例如:无数据信息查询请求帧中可以携带多个第一哈希值,在无数据信息查询响应帧同样可以有更多的字节用于携带第二哈希值,例如:无数据信息查询响应帧中可以携带多个第二哈希值。当然,无数据信息查询响应帧所携带的第二哈希值的个数不一定要跟无数据信息查询请求帧的个数相同,可以仅仅是携带与无数据信息查询请求帧携带的多个第一哈希值中的一个或者多个所对应的第二哈希值。对于一个无数据信息查询请求帧,第二设备可以回复一个或者多个无数据信息查询响应帧,也可以由多个不同的第二设备回复该第二设备对应的一个或者多个无数据信息查询响应帧。
作为一种可选的实施方式,上述所述第一控制信息至少可以包括用于指示所述无数据信息查询请求帧的类型的第一指示信息。当第二设备获取到无数据信息查询请求帧时,就获取到第一指示信息,这样第二设备响应无数据信息查询请求帧时就也可以采用无数据信息查询响应帧响应上述无数据信息查询请求帧,即第二设备发送上述无数据信息查询响应帧。即所述第二控制信息至少包括用于指示所述无数据信息查询响应帧的类型的第二指示信息。
其中,无数据信息查询请求帧的类型可以包含请求类型和中性类型,所述无数据信息查询响应帧的类型可以包括发布类型和中性类型;上述无数据信息查询请求帧的类型为请求类型时,第一哈希值就可以表示查找第一信息。例如:第一信息为一个目标信息,而第一哈希值就用于表示查找该目标,即第二设备获取到无数据信息查询请求帧的类型为请求类型时,第二设备就将该第一哈希值,理解为第一设备查找第一信息。如,第一信息为某一个服务的信息时,该第一哈希值就表示为查找该服务,或者第一信息为某一个用户标识的信息时,该第一哈希值就表示为查找该用户标识,或者第一信息为某一个业务的信息时,该第一哈希值就表示为查找该业务等;当上述无数据信息查询请求帧的类型为请求类型时,上述无数据信息查询响应帧的类型就为发布类型,第二哈希值就可以表示为发布第二信息;例如:第二哈信息也可以为一个目标信息,而第二哈希值就用于表示发布该目标,即第一设备获取到无数据信息查询响应帧的类型为请求类型时,第一设备就将该第二哈希值,理解为第二设备发布第二信息。如,第二信息为某一个服务的信息时,该第二哈希值就表示为发布该服务,或者第二信息为某一个用户标识的信息时,该第二哈希值就表示为发布该用户标识,或者第二信息为某一个业务的信息时,该第二哈希值就表示为发布该业务等。
当上述无数据信息查询请求帧的类型为中性类型时,第一哈希值就可以表示与第一信息匹配,例如:第一信息为一个目标信息时,该第一哈希值就可以表示与该目标匹配,如,一个游戏的信息,即该第一哈希值表示与该游戏匹配,如一个服务的信息,即该第一哈希值表示用于与该服务匹配。当上述无数据信息查询请求帧的类型为中性类型时,上述无数据信息查询响应帧的类型就为中性类型,即上述第二哈希值可以表示与第二信息匹配,例如:该第二信息为一个目标信息,该第二哈希值就可以表示与该目标匹配,例如,第二信息为游戏的信息,即该第二哈希值表示该游戏匹配,或者第二信息为服务的信息,即该第二哈希值表示与该服务匹配。即无数据信息查询请求帧的类型不同,第一哈希值表示的意思也不同,无数据信息查询响应帧的类型不同,第二哈希值表示的意思也不同。
对于一个请求类型的无数据信息查询请求帧,它可以同时携带多个第一哈希值,表示其想要同时查询多个的信息,例如:同时携带打印机、扫描仪服务对应的第一哈希值,表示第一设备同时查找打印机、扫描仪的服务;对于一个中性类型的无数据信息查询请求帧,它可以同时携带多个想要匹配的信息的第一哈希值,比如同时携带游戏名字、朋友的名字对应的第一哈希值,也可以同时携带请求信息、发布信息、中性匹配信息的各种组合的第一哈希值,比如同时携带请求的打印机服务对应的第一哈希值和发布扫描仪服务对应的第一哈希值;对于一个发布类型或者中性类型的无数据信息查询响应帧,可以同时携带多个第二哈希值,一个无数据信息查询响应帧,可以是仅对无数据信息查询请求帧中携带的多个第一哈希值中的某个或者某几个进行响应。
作为一种可选的实施方式,所述无数据信息查询请求帧还可以携带有用于指示所述第一哈希值的性质的第三指示信息;其中,第三指示信息可以放置第一哈希值前面,当有多个第一哈希值时,就有多个第三指示信息,每个第三指示信息用于指示一个第一哈希值的性质,每个第三指示信息放置对应的第一哈希值的前面。所述无数据信息查询响应帧还可以携带有用于指示所述第二哈希值的性质的第四指示信息;其中,第四指示信息可以放置第二哈希值前面,当有多个第二哈希值时,就有多个第四指示信息,每个第四指示信息用于指示一个第三哈希值的性质,每个第四指示信息放置对应的第二哈希值的前面。在实际操作中,一般会使用8位(即一个字节的长度)的整数倍来携带一个内容,比如,可以用32位或者48位来表示第一哈希值和第二哈希值,但是在这里,当需要在哈希值前面加上一个指示信息的话,一种可以的方法是使用2位作为指示信息,其他位数作为哈希值的位数,比如用2位指示信息,30位为第一哈希值,共32位,再比如用2位指示信息,46位为第二哈希值,共48位。其中,所述第一哈希值的性质可以包含请求性质和中性性质,所述第二哈希值的性质可以包含发布性质或者中性性质。例如:第一哈希值的性质为请求性质时,第一哈希值就可以表示查找第一信息,例如:第一信息可以为一个目标信息,而第一哈希值用于表示查找该目标,即第二设备获取到第一哈希值的性质为请求性质时,第二设备就将该第一哈希值,理解为第一设备查找第一信息。当上述第一哈希值的性质为请求性质时,上述第二哈希值的性质就为发布性质,第二哈希值就可以表示为发布第二信息。当第一哈希值的性质为中性性质时,第一哈希值就可以表示与第一信息匹配。当第一哈希值的性质为中性性质时,上述第二哈希值的性质就为中性性质,即上述第二哈希值可以表示与第二信息匹配。即第一哈希值的性质不同,第一哈希值表示的意思也不同,第二哈希值的性质不同,第二哈希值表示的意思也不同。
可选的,上述第一指示信息可以包括第一类型信息和第二类型信息,所述第一类型信息用于表示所述无数据信息查询请求帧为无数据帧,其中,无数据帧的类型可以包含请求类型、发布类型和中性类型,无数据帧的哈希值的性质可以包含请求性质、发布性质和中性性质。所述第二类型信息用于所述无数据信息查询请求帧的类型为所述请求类型或者所述中性类型。例如:第一控制信息中的子类型(Subtype)域(用于表示帧的Subtype的字节)为所述第一类型信息,例如:第一控制信息中的Subtype域为0001,第一控制信息中的类型(Type)域(用于表示帧的Type的字节)为00,在第一控制信息中的另两个字节用于上述第二类型信息,如第二类型信息为00时,表示无数据信息查询请求帧的类型为所述请求类型,如第二类型信息为10时,表示无数据信息查询请求帧的类型为所述中性类型。
可选的,上述第二指示信息可以包括第三类型信息和第四类型信息,所述第三类型信息用于表示所述无数据信息查询响应帧为无数据帧,所述第四类型信息用于所述无数据信息查询响应帧的类型为所述发布类型或者所述中性类型。例如:第二控制信息中的Subtype域为所述第三类型信息,例如:第二控制信息中的Subtype域为0001,第二控制信息中的Type域为00,在第二控制信息中的另两个字节用于上述第四类型信息,如第四类型信息为01时,表示无数据信息查询响应帧的类型为所述响应类型,如第四类型信息为10时,表示无数据信息查询响应帧的类型为所述中性类型。
即本实施例中可以提供一种无数据帧,该无数据帧的格式如图2所示,Type域为00,Subtype域为0001,用于表示无数据帧,另外两个字节可以为00、01或者10,表示无数据帧的类型为表示请求类型、发布类型和中性类型。其中,无数据信息查询请求帧的格式如图3所示,图3-1表示无数据信息查询请求帧的类型为请求类型,其中,图3-1中的保留表示这些字节可以保留用于携带其它信息,也可以用于携带更多的无数据信息查询请求帧。图3-2表示无数据信息查询请求帧的类型为中性类型;其中,图3-2中的保留表示这些字节可以保留用于携带其它信息,也可以用于携带更多的无数据信息查询请求帧。无数据信息查询响应帧的格式如图4所示,图4-1表示无数据信息查询响应帧的类型为发布类型,其中,图4-1中的保留表示这些字节可以保留用于携带其它信息,也可以用于携带更多的无数据信息查询响应帧。图4-2表示无数据信息查询响应帧的类型为中性类型,其中,图4-2中的保留表示这些字节可以保留用于携带其它信息,也可以用于携带更多的无数据信息查询响应帧。
可选的,所述第一指示信息可以包括第五类型信息,所述第五类型信息用于所述无数据信息查询请求帧的类型为所述请求类型或者所述中性类型。例如:第一控制信息中的Subtype域为所述第五类型信息,例如:第一控制信息中的Subtype域为0001时,表示无数据信息查询请求帧的类型为所述请求类型,第一控制信息中的Subtype域为0011时,表示无数据信息查询请求帧的类型为所述中性类型。
可选的,第二指示信息可以包括第六类型信息,所述第六类型信息用于所述无数据信息查询响应帧的类型为所述发布类型或者所述中性类型。例如:第一控制信息中的Subtype域为所述第五类型信息,例如:第二控制信息中的Subtype域为0010时,表示无数据信息查询响应帧的类型为所述发布类型,第二控制信息中的Subtype域为0011时,表示无数据信息查询响应帧的类型为所述中性类型。
即本实施例中可以提供一种无数据帧,该无数据帧的格式如图5所示,Type域为00,Subtype域为0001、0010或者0011,表示无数据帧的类型为表示请求类型、发布类型和中性类型。其中,无数据信息查询请求帧的格式如图6所示,图6-1表示无数据信息查询请求帧的类型为请求类型,图6-2表示无数据信息查询请求帧的类型为中性类型;无数据信息查询响应帧的格式如图7所示,图7-1表示无数据信息查询请求帧的类型为请求类型,图7-2表示无数据信息查询请求帧的类型为中性类型。
作为一种可选的实施方式,还可以通过无数据信息查询请求帧的长度为表示无数据信息查询请求帧的类型,或者表示第一哈希值的性质。同样,还可以通过无数据信息查询响应帧的长度为表示无数据信息查询响应帧的类型,或者表示第二哈希值的性质。
作为一种可选的实施方式,所述无数据信息查询请求帧还包含所述第一设备的地址;
无数据信息查询响应帧的校验码为所述第二设备将所述第一设备的地址与源校验码进行运算得到的校验码;其中,所述源校验码为所述第二设备的校验码;
当第一设备判断第三哈希值与所述第二哈希值一致,所述第一设备向第二设备发送有数据信息查询请求帧,其中,所述有数据信息查询请求帧包含所述第二设备的地址和所述第一设备的地址,以便所述第二设备接收到所述有数据信息查询请求帧时对所述有数据信息查询请求帧作出响应,可以包括:
当判断第三哈希值与所述第二哈希值一致时,对所述第二运算信息与所述第一设备的地址进行逆运算,当判断逆运算后的得到的校验码正确时,所述第一设备向第二设备发送有数据信息查询请求帧,其中,所述有数据信息查询请求帧包含所述第二设备的地址和所述第一设备的地址,以便所述第二设备接收到所述有数据信息查询请求帧时对所述有数据信息查询请求帧作出响应。即只有当判断逆运算后的得到的校验码正确时,第一设备才向第二设备发送有数据信息查询请求帧,其中,所述有数据信息查询请求帧包含所述第二设备的地址和所述第一设备的地址,以便所述第二设备接收到所述有数据信息查询请求帧时对所述有数据信息查询请求帧作出响应。
其中,上述正确是指利用逆运算后的得到的校验码进行校验,该校验通过。
作为一种可选的实施方式,上述无数据信息查询请求帧还可以包括第一设备的地址,无数据信息查询响应帧还可以包括第一设备的地址。但由于在该实施方式中,无数据信息查询请求帧仅包含第一控制信息、第一哈希值、第一设备的地址和校验码,无数据信息查询响应仅包含第二控制信息、第一哈希值、第一设备的地址、第二设备的地址和校验码,相比现有技术本实施方式中,同样可以提高网络资源的利用率。其中,无数据信息查询请求帧包含的内容在无数据信息查询请求帧的位置可以不作限定,无数据信息查询响应帧包含的内容在无数据信息查询响应帧的位置可以不作限定。
需要说明的是,上述多种可选的实施方式是可以结合在一起实现的。
上述技术方案中,无数据信息查询请求帧仅包含第一控制信息、第一哈希值,所述无数据信息查询响应帧仅包含第二控制信息、第二哈希值和第二设备的地址,在第一设备获取无数据信息查询响应帧时,当第一设备判断第三哈希值与所述第二哈希值一致时,第一设备向第二设备发送有数据信息查询请求帧,其中,所述有数据信息查询请求帧包含所述第二设备的地址和所述第一设备的地址,以便所述第二设备接收到所述有数据信息查询请求帧时对所述有数据信息查询请求帧作出响应。本发明实施例中的无数据信息查询请求帧和无数据信息查询响应帧比现有技术中的帧要短,使得查询占用网络资源少,导致网络资源利用率高。
图8是本发明实施例提供的另一种信息查询方法的流程示意图,如图8所示,包括:
201、第二设备获取第一设备发送出的包含第一控制信息和第一哈希值的无数据信息查询请求帧;所述第一哈希值是对第一信息采用第一哈希函数运算后产生的哈希值,所述无数据信息查询请求帧不包含目标地址;所述第一控制信息至少包括用于指示所述无数据信息查询请求帧的类型的第一指示信息。
由于该无数据信息查询请求帧只包含了第一控制信息和第一哈希值,且不包含目标地址,这样该无数据查询请求帧就可以有更多的字节用于携带内容信息,例如:使用更多的字节携带哈希值,可以携带多个第一哈希值。
其中,无数据信息查询请求帧不包含目标地址可以是指,无数据信息查询请求帧中不包含获取到该无数据信息查询请求帧的设备的地址,该获取到该无数据信息查询请求帧的设备可以包括上述第二设备,获取到该无数据信息查询请求帧的设备还可以包括网络中除上述第二设备之外的其它设备。这样第一设备在发送无数据信息查询请求帧时,是没有明确的接收设备的,即第一设备只需要负责将无数据信息查询请求帧发送出去,至于无数据信息查询请求帧被哪个设备获取,第一设备无需要考虑。
202、当第二设备存在与所述第一哈希值对应的第二信息时,所述第二设备发送无数据信息查询响应帧,所述无数据信息查询响应帧包含第二控制信息、第二哈希值和所述第二设备的地址,以使所述第一设备判断第三哈希值与所述第二哈希值一致时,由所述第一设备向第二设备发送有数据信息查询请求帧,其中,所述第三哈希值是所述第一设备对所述第一信息采用所述第二哈希函数运算后产生的哈希值,所述有数据信息查询请求帧包含所述第二设备的地址和所述第一设备的地址;其中,第二哈希值是所述第二设备对所述第二信息采用第二哈希函数运算后产生的哈希值,所述无数据信息查询响应帧不包含目标地址,所述第二控制信息至少包括用于指示所述无数据信息查询请求帧的类型的第二指示信息。
203、第二设备接收到所述有数据信息查询请求帧时对所述有数据信息查询请求帧作出响应。
其中,上述第二设备对所述有数据信息查询请求帧作出响应可以参考现有技术中对设备对MAC帧所作出的响应。
当第一设备判断第三哈希值与所述第二哈希值一致时,就说明第二设备为第一设备需要查询的设备,例如:第二设备提供的第一设备需要的服务,如打印;例如:第二设备为第一设备需要查找的设备,如,第二设备与第一设备同时在进行某项业务,如第二设备和第一设备同时在运行某个游戏;例如:第二设备与第一设备同时登录同一用户标识等。第一设备就可以向第二设备发送有数据信息查询请求帧,所述第二设备接收到所述有数据信息查询请求帧时对所述有数据信息查询请求帧作出响应。
第二设备可以是实时侦听网络中是否传输有无数据信息查询请求帧,或者周期性侦听网络中是否传输有无数据信息查询请求帧。当侦听到网络中传输有无数据信息查询请求帧时,就获取无数据信息查询请求帧,将对获取的无数据信息查询响应帧进行解析,以获取无数据信息查询请求帧包含的第一哈希值。当所述第二设备根据所述第一哈希值判断出第二设备存在与所述第一哈希值对应的第二信息时,所述第二设备将上述无数据信息查询响应帧发送出去。所述无数据信息查询响应帧不包含目标地址可以是指,无数据信息查询响应帧中不包含获取到该无数据信息查询响应帧的设备的地址,获取到该无数据信息查询响应帧的设备可以包括上述第一设备,获取到该无数据信息查询响应帧的设备还可以包括网络中除上述第一设备之外的其它设备。
其中,第二哈希值可以是预先生成好的,也可以是当当所述第二设备根据所述第一哈希值判断出第二设备存在与所述第一哈希值对应的第二信息时,第二设备对第二信息采用第二哈希函数运算后产生的哈希值。
作为一种可选的实施方式,其中,上述第一哈希函数可以包括:
对第一信息进行哈希运算,并取该运算的哈希结果的N位作为哈希值,其中,N为自然数,且这N位在该哈希运算结果的位置不作限定。即第一设备对第一信息进行哈希运算,并取该哈希运算的哈希结果的N位作为上述第一哈希值,例如:该哈希结果为128位,第一哈希值为该128位的哈希值的倒数第1至倒数第32位,或者该128位的哈希值的倒数第33至倒数第64位等。
其中,上述第二哈希运算函数可以包括:
对第二信息进行哈希运算,并取该运算的哈希结果的W位作为哈希值,其中,W为自然数,且这W位在该哈希运算结果的位置不作限定。即第二设备对第二信息进行哈希运算,并取该哈希运算的哈希结果的W位作为上述第一哈希值,例如:该哈希结果为128位,第二哈希值为该128位的哈希值的倒数第1至倒数第32位,或者该128位的哈希值的倒数第33至倒数第64位等。
当第二设备中第二信息存在多个,上述无数据信息查询响应帧就可以包含多个第二哈希值,且这些第二哈希值的位数可以随当第二设备存在第二信息数量成正比。例如,第二设备存在两个第二信息时,这两个第二哈希值就可以是48位,第二设备存在三个第二信息时,这三个第二哈希值就可以是64位等。由于第二哈希值的位数增多,这样就可以避免第一设备选择出错误的第二信息,例如:第二设备存在两个第二信息,而这两个信息的哈希结果的值又存在不同的地方,如第一哈希值都为这两个哈希结果的倒数第1至倒数第32位时,而这两个哈希结果的倒数第33至倒数第18位是不同的,这样第二设备生成的两个第二哈希值就不同,这样第一设备获取到这两个第二哈希值时,从这个两个第二信息中选择与第一信息一致的第二信息。
作为一种可选的实施方式,上述第二哈希值还可以包含上述第一哈希值,即第一哈希值为第二哈希值的一部分或者全部。例如:第一信息进行哈希运算的哈希结果为128位,第一哈希值为该128位的哈希值的倒数第1至倒数第32位,而第二信息与第一信息一致,即第一信息进行哈希运算的哈希结果与第二信息进行哈希运算的哈希结果相同,而第二哈希值又为第二信息进行哈希运算的哈希结果的倒数第1至倒数第48位等。
作为一种可选的实施方式,所述第一哈希函数与所述第二哈希函数相同。这样当第三哈希值与第二哈希值一致,即第一信息进行哈希运算的哈希结果与第二信息进行哈希运算的哈希结果相同,第一哈希值与第二哈希值就相同。
作为一种可选的实施方式,所述第二信息是指采用所述第一哈希函数运算后产生的哈希值与所述第一哈希值一致的信息,可以是第二设备将第二设备存在信息进行第二哈希函数运算,当运算结果与第一哈希值一致时,说明该信息为第二信息,当然将第二设备存在信息进行第二哈希函数运算可以是预先运算好的,也可以第二设备接收到第一哈希值才运算的。第二信息还可以是指哈希结果包括上述第一哈希值的信息,即对该信息进行哈希运算后,该运算的哈希结果包含第一哈希值。
作为一种可选的实施方式,上述所述第一控制信息至少可以包括用于指示所述无数据信息查询请求帧的类型的第一指示信息。当第二设备获取到无数据信息查询请求帧时,就获取到第一指示信息,这样第二设备响应无数据信息查询请求帧时就也可以采用无数据信息查询响应帧响应上述无数据信息查询请求帧,即第二设备发送上述无数据信息查询响应帧。即所述第二控制信息至少包括用于指示所述无数据信息查询响应帧的类型的第二指示信息。
其中,无数据信息查询请求帧的类型可以包含请求类型和中性类型,所述无数据信息查询响应帧的类型可以包括发布类型和中性类型;上述无数据信息查询请求帧的类型为请求类型时,第一哈希值就可以表示查找第一信息。例如:第一信息为一个目标信息,而第一哈希值就用于表示查找该目标,即第二设备获取到无数据信息查询请求帧的类型为请求类型时,第二设备就将该第一哈希值,理解为第一设备查找第一信息。如,第一信息为某一个服务的信息时,该第一哈希值就表示为查找该服务,或者第一信息为某一个用户标识的信息时,该第一哈希值就表示为查找该用户标识,或者第一信息为某一个业务的信息时,该第一哈希值就表示为查找该业务等;当上述无数据信息查询请求帧的类型为请求类型时,上述无数据信息查询响应帧的类型就为发布类型,第二哈希值就可以表示为发布第二信息;例如:第二哈信息也可以为一个目标信息,而第二哈希值就用于表示发布该目标,即第一设备获取到无数据信息查询响应帧的类型为请求类型时,第一设备就将该第二哈希值,理解为第二设备发布第二信息。如,第二信息为某一个服务的信息时,该第二哈希值就表示为发布该服务,或者第二信息为某一个用户标识的信息时,该第二哈希值就表示为发布该用户标识,或者第二信息为某一个业务的信息时,该第二哈希值就表示为发布该业务等。
当上述无数据信息查询请求帧的类型为中性类型时,第一哈希值就可以表示与第一信息匹配,例如:第一信息为一个目标信息时,该第一哈希值就可以表示与该目标匹配,如,一个游戏的信息,即该第一哈希值表示与该游戏匹配,如一个服务的信息,即该第一哈希值表示用于与该服务匹配。当上述无数据信息查询请求帧的类型为中性类型时,上述无数据信息查询响应帧的类型就为中性类型,即上述第二哈希值可以表示与第二信息匹配,例如:该第二信息为一个目标信息,该第二哈希值就可以表示与该目标匹配,例如,第二信息为游戏的信息,即该第二哈希值表示该游戏匹配,或者第二信息为服务的信息,即该第二哈希值表示与该服务匹配。即无数据信息查询请求帧的类型不同,第一哈希值表示的意思也不同,无数据信息查询响应帧的类型不同,第二哈希值表示的意思也不同。
作为一种可选的实施方式,所述无数据信息查询请求帧还可以携带有用于指示所述第一哈希值的性质的第三指示信息;其中,第三指示信息可以放置第一哈希值前面,当有多个第一哈希值时,就有多个第三指示信息,每个第三指示信息用于指示一个第一哈希值的性质,每个第三指示信息放置对应的第一哈希值的前面。所述无数据信息查询响应帧还可以携带有用于指示所述第二哈希值的性质的第四指示信息;其中,第四指示信息可以放置第二哈希值前面,当有多个第二哈希值时,就有多个第四指示信息,每个第四指示信息用于指示一个第三哈希值的性质,每个第四指示信息放置对应的第二哈希值的前面。其中,所述第一哈希值的性质可以包含请求性质和中性性质,所述第二哈希值的性质可以包含发布性质或者中性性质。例如:第一哈希值的性质为请求性质时,第一哈希值就可以表示查找第一信息,例如:第一信息可以为一个目标信息,而第一哈希值用于表示查找该目标,即第二设备获取到第一哈希值的性质为请求性质时,第二设备就将该第一哈希值,理解为第一设备查找第一信息。当上述第一哈希值的性质为请求性质时,上述第二哈希值的性质就为发布性质,第二哈希值就可以表示为发布第二信息。当第一哈希值的性质为中性性质时,第一哈希值就可以表示与第一信息匹配。当第一哈希值的性质为中性性质时,上述第二哈希值的性质就为中性性质,即上述第二哈希值可以表示与第二信息匹配。即第一哈希值的性质不同,第一哈希值表示的意思也不同,第二哈希值的性质不同,第二哈希值表示的意思也不同。
可选的,上述第一指示信息可以包括第一类型信息和第二类型信息,所述第一类型信息用于表示所述无数据信息查询请求帧为无数据帧,其中,无数据帧的类型可以包含请求类型、发布类型和中性类型,无数据帧的哈希值的性质可以包含请求性质、发布性质和中性性质。所述第二类型信息用于所述无数据信息查询请求帧的类型为所述请求类型或者所述中性类型。例如:第一控制信息中的子类型(Subtype)域(用于表示帧的Subtype的字节)为所述第一类型信息,例如:第一控制信息中的Subtype域为0001,第一控制信息中的类型(Type)域(用于表示帧的Type的字节)为00,在第一控制信息中的另两个字节用于上述第二类型信息,如第二类型信息为00时,表示无数据信息查询请求帧的类型为所述请求类型,如第二类型信息为10时,表示无数据信息查询请求帧的类型为所述中性类型。
可选的,上述第二指示信息可以包括第三类型信息和第四类型信息,所述第三类型信息用于表示所述无数据信息查询响应帧为无数据帧,所述第四类型信息用于所述无数据信息查询响应帧的类型为所述发布类型或者所述中性类型。例如:第二控制信息中的Subtype域为所述第三类型信息,例如:第二控制信息中的Subtype域为0001,第二控制信息中的Type域为00,在第二控制信息中的另两个字节用于上述第四类型信息,如第四类型信息为01时,表示无数据信息查询响应帧的类型为所述响应类型,如第四类型信息为10时,表示无数据信息查询响应帧的类型为所述中性类型。
可选的,所述第一指示信息可以包括第五类型信息,所述第五类型信息用于所述无数据信息查询请求帧的类型为所述请求类型或者所述中性类型。例如:第一控制信息中的Subtype域为所述第五类型信息,例如:第一控制信息中的Subtype域为0001时,表示无数据信息查询请求帧的类型为所述请求类型,第一控制信息中的Subtype域为0011时,表示无数据信息查询请求帧的类型为所述中性类型。
可选的,第二指示信息可以包括第六类型信息,所述第六类型信息用于所述无数据信息查询响应帧的类型为所述发布类型或者所述中性类型。例如:第一控制信息中的Subtype域为所述第五类型信息,例如:第二控制信息中的Subtype域为0010时,表示无数据信息查询响应帧的类型为所述发布类型,第二控制信息中的Subtype域为0011时,表示无数据信息查询响应帧的类型为所述中性类型。
作为一种可选的实施方式,还可以通过无数据信息查询请求帧的长度为表示无数据信息查询请求帧的类型,或者表示第一哈希值的性质。同样,还可以通过无数据信息查询响应帧的长度为表示无数据信息查询响应帧的类型,或者表示第二哈希值的性质。
作为一种可选的实施方式,所述无数据信息查询请求帧还包含所述第一设备的地址;
无数据信息查询响应帧的校验码为所述第二设备将所述第一设备的地址与源校验码进行运算得到的校验码;其中,所述源校验码为所述第二设备的校验码;
当第一设备判断第三哈希值与所述第二哈希值一致,所述第一设备向第二设备发送有数据信息查询请求帧,其中,所述有数据信息查询请求帧包含所述第二设备的地址和所述第一设备的地址,以便所述第二设备接收到所述有数据信息查询请求帧时对所述有数据信息查询请求帧作出响应,可以包括:
当判断第三哈希值与所述第二哈希值一致时,对所述第二运算信息与所述第一设备的地址进行逆运算,当判断逆运算后的得到的校验码正确时,所述第一设备向第二设备发送有数据信息查询请求帧,其中,所述有数据信息查询请求帧包含所述第二设备的地址和所述第一设备的地址,以便所述第二设备接收到所述有数据信息查询请求帧时对所述有数据信息查询请求帧作出响应。即只有当判断逆运算后的得到的校验码正确时,第一设备才向第二设备发送有数据信息查询请求帧,其中,所述有数据信息查询请求帧包含所述第二设备的地址和所述第一设备的地址,以便所述第二设备接收到所述有数据信息查询请求帧时对所述有数据信息查询请求帧作出响应。
其中,上述正确是指利用逆运算后的得到的校验码进行校验,该校验通过。
作为一种可选的实施方式,上述无数据信息查询请求帧还可以包括第一设备的地址,无数据信息查询响应帧还可以包括第一设备的地址。但由于在该实施方式中,无数据信息查询请求帧仅包含第一控制信息、第一哈希值、第一设备的地址和校验码,无数据信息查询响应仅包含第二控制信息、第一哈希值、第一设备的地址、第二设备的地址和校验码,相比现有技术本实施方式中,同样可以提高网络资源的利用率。其中,无数据信息查询请求帧包含的内容在无数据信息查询请求帧的位置可以不作限定,无数据信息查询响应帧包含的内容在无数据信息查询响应帧的位置可以不作限定。
需要说明的是,上述多种可选的实施方式是可以结合在一起实现的。
上述技术方案中,无数据信息查询请求帧仅包含第一控制信息、第一哈希值,所述无数据信息查询响应帧仅包含第二控制信息、第二哈希值和第二设备的地址,在第一设备获取无数据信息查询响应帧时,当第一设备判断第三哈希值与所述第二哈希值一致时,第一设备向第二设备发送有数据信息查询请求帧,其中,所述有数据信息查询请求帧包含所述第二设备的地址和所述第一设备的地址,以便所述第二设备接收到所述有数据信息查询请求帧时对所述有数据信息查询请求帧作出响应。本发明实施例中的无数据信息查询请求帧和无数据信息查询响应帧比现有技术中的帧要短,使得查询占用网络资源少,导致网络资源利用率高。
图9是本发明实施例提供的另一种信息查询方法的示意图,如图9所示,包括:
301、第一设备生成无数据信息查询请求帧,所述无数据信息查询请求帧包含第一控制信息、第一哈希值,所述第一哈希值是对第一信息采用第一哈希函数运算后产生的哈希值,所述无数据信息查询请求帧不包含目标地址;所述第一控制信息至少包括用于指示所述无数据信息查询请求帧的类型的第一指示信息。
302、第一设备发送所述无数据信息查询请求帧。
303、第二设备获取到所述无数据信息查询请求帧;
304、第二设备判断所述第二设备是否存在与所述第一哈希值对应的第二信息,若是,由执行步骤304;若否,由结束流程。
305、将包含第二控制信息、第二哈希值和所述第二设备的地址的无数据信息查询响应帧发送出去;其中,第二哈希值是所述第二设备对所述第二信息采用第二哈希函数运算后产生的哈希值,所述无数据信息查询响应帧不包含目标地址;所述第二控制信息至少包括用于指示所述无数据信息查询请求帧的类型的第二指示信息。
306、第一设备获取所述无数据信息查询响应帧;
307、第一设备判断第三哈希值与所述第二哈希值是否一致,若是,则执行步骤308;若否,由结束流程;其中,所述第三哈希值是第一设备对所述第一信息采用所述第二哈希函数运算后产生的哈希值。
308、第一设备向第二设备发送有数据信息查询请求帧,其中,所述有数据信息查询请求帧包含所述第二设备的地址和所述第一设备的地址。
309、第二设备接收到所述有数据信息查询请求帧时对所述有数据信息查询请求帧作出响应。
上述技术方案中,无数据信息查询请求帧仅包含第一控制信息、第一哈希值,所述无数据信息查询响应帧仅包含第二控制信息、第二哈希值和第二设备的地址,在第一设备获取无数据信息查询响应帧时,当第一设备判断第三哈希值与所述第二哈希值一致时,第一设备向第二设备发送有数据信息查询请求帧,其中,所述有数据信息查询请求帧包含所述第二设备的地址和所述第一设备的地址,以便所述第二设备接收到所述有数据信息查询请求帧时对所述有数据信息查询请求帧作出响应。本发明实施例中的无数据信息查询请求帧和无数据信息查询响应帧比现有技术中的帧要短,使得查询占用网络资源少,导致网络资源利用率高。
下面为本发明装置实施例,本发明装置实施例用于执行本发明方法实施例一至三实现的方法,为了便于说明,仅示出了与本发明实施例相关的部分,具体技术细节未揭示的,请参照本发明实施例一、实施例二和实施例三。
图10是本发明实施例提供一种通信设备的结构示意图,如图10所示,包括:发送单元41、接收单元42和确定单元43,其中:
发送单元41,用于发送成无数据信息查询请求帧,所述无数据信息查询请求帧包含第一控制信息、第一哈希值,所述第一哈希值是对第一信息采用第一哈希函数运算后产生的哈希值,所述无数据信息查询请求帧不包含目标地址;所述第一控制信息至少包括用于指示所述无数据信息查询请求帧的类型的第一指示信息。
接收单元42,接收第二设备发送的无数据信息查询响应帧,所述无数据信息查询响应帧包含第二控制信息、第二哈希值和所述第二设备的地址,第二哈希值是所述第二设备对第二信息采用第二哈希函数运算后产生的哈希值,所述无数据信息查询响应帧不包含目标地址;所述第二控制信息至少包括用于指示所述无数据信息查询请求帧的类型的第二指示信息。
接收单元42可以是实时侦听网络中是否传输有无数据信息查询请求帧,或者周期性侦听网络中是否传输有无数据信息查询请求帧。当侦听到网络中传输有无数据信息查询请求帧时,就获取无数据信息查询请求帧,将对获取的无数据信息查询响应帧进行解析,以获取无数据信息查询请求帧包含的第一哈希值。当所述第二设备根据所述第一哈希值判断出第二设备存在与所述第一哈希值对应的第二信息时,所述第二设备将上述无数据信息查询响应帧发送出去。所述无数据信息查询响应帧不包含目标地址可以是指,无数据信息查询响应帧中不包含获取到该无数据信息查询响应帧的设备的地址,获取到该无数据信息查询响应帧的设备可以包括上述通信设备,获取到该无数据信息查询响应帧的设备还可以包括网络中除上述通信设备之外的其它设备。
其中,第二哈希值可以是第二设备预先生成好的,也可以是当当所述第二设备根据所述第一哈希值判断出第二设备存在与所述第一哈希值对应的第二信息时,第二设备对第二信息采用第二哈希函数运算后产生的哈希值.
确定单元43,用于判断第三哈希值与所述第二哈希值一致时,向第二设备发送有数据信息查询请求帧,其中,所述第三哈希值是对所述第一信息采用所述第二哈希函数运算后产生的哈希值,所述有数据信息查询请求帧包含所述第二设备的地址和所述通信设备的地址,以便所述第二设备接收到所述有数据信息查询请求帧时对所述有数据信息查询请求帧作出响应。
当通信设备判断第三哈希值与所述第二哈希值一致时,就说明第二设备为通信设备需要查询的设备,例如:第二设备提供的通信设备需要的服务,如打印;例如:第二设备为通信设备需要查找的设备,如,第二设备与通信设备同时在进行某项业务,如第二设备和通信设备同时在运行某个游戏;例如:第二设备与通信设备同时登录同一用户标识等。通信设备可以向第二设备发送有数据信息查询请求帧,第二设备接收到所述有数据信息查询请求帧时对所述有数据信息查询请求帧作出响应。
作为一种可选的实施方式,其中,上述第一哈希函数可以包括:
对第一信息进行哈希运算,并取该运算的哈希结果的N位作为哈希值,其中,N为自然数,且这N位在该哈希运算结果的位置不作限定。即生成单元41对第一信息进行哈希运算,并取该哈希运算的哈希结果的N位作为上述第一哈希值,例如:该哈希结果为128位,第一哈希值为该128位的哈希值的倒数第1至倒数第32位,或者该128位的哈希值的倒数第33至倒数第64位等。
其中,上述第二哈希函数可以包括:
对第二信息进行哈希运算,并取该运算的哈希结果的W位作为哈希值,其中,W为自然数,且这W位在该哈希运算结果的位置不作限定。即第二设备对第二信息进行哈希运算,并取该哈希运算的哈希结果的W位作为上述第一哈希值,例如:该哈希结果为128位,第二哈希值为该128位的哈希值的倒数第1至倒数第32位,或者该128位的哈希值的倒数第33至倒数第64位等。
作为一种可选的实施方式,所述无数据信息查询响应帧包括多个第二哈希值,即第二设备中第二信息存在多个,确定单元44还可以用于判断所述第三哈希值与所述多个第二哈希值中的至少一个第二哈希值一致时,向第二设备发送有数据信息查询请求帧,其中,所述有数据信息查询请求帧包含所述第二设备的地址和所述通信设备的地址,以便所述第二设备接收到所述有数据信息查询请求帧时对所述有数据信息查询请求帧作出响应。
当第二设备中第二信息存在多个,上述无数据信息查询响应帧就可以包含多个第二哈希值,且这些第二哈希值的位数可以随当第二设备存在第二信息数量成正比。例如,第二设备存在两个第二信息时,这两个第二哈希值就可以是48位,第二设备存在三个第二信息时,这三个第二哈希值就可以是64位等。由于第二哈希值的位数增多,这样就可以避免通信设备选择出错误的第二信息,例如:第二设备存在两个第二信息,而这两个信息的哈希结果的值又存在不同的地方,如第一哈希值都为这两个哈希结果的倒数第1至倒数第32位时,而这两个哈希结果的倒数第33至倒数第18位是不同的,这样第二设备生成的两个第二哈希值就不同,这样通信设备获取到这两个第二哈希值时,从这个两个第二信息中选择与第一信息一致的第二信息。
作为一种可选的实施方式,上述第二哈希值还可以包含上述第一哈希值,即第一哈希值为第二哈希值的一部分或者全部。例如:第一信息进行哈希运算的哈希结果为128位,第一哈希值为该128位的哈希值的倒数第1至倒数第32位,而第二信息与第一信息一致,即第一信息进行哈希运算的哈希结果与第二信息进行哈希运算的哈希结果相同,而第二哈希值又为第二信息进行哈希运算的哈希结果的倒数第1至倒数第48位等。
作为一种可选的实施方式,所述第一哈希函数与所述第二哈希函数相同。这样当第三哈希值与第二哈希值一致,即第一信息进行哈希运算的哈希结果与第二信息进行哈希运算的哈希结果相同,第一哈希值与第二哈希值就相同。
作为一种可选的实施方式,所述第二信息是指采用所述第一哈希函数运算后产生的哈希值与所述第一哈希值一致的信息,可以是第二设备将第二设备存在信息进行第二哈希函数运算,当运算结果与第一哈希值一致时,说明该信息为第二信息,当然将第二设备存在信息进行第二哈希函数运算可以是预先运算好的,也可以第二设备接收到第一哈希值才运算的。第二信息还可以是指哈希结果包括上述第一哈希值的信息,即对该信息进行哈希运算后,该运算的哈希结果包含第一哈希值。
作为一种可选的实施方式,无数据信息查询请求帧还可以不包含发送地址,即不包含通信设备的地址,这样第二设备获取上述无数据信息查询请求帧时,第二设备不知道是哪个设备发送的无数据信息查询请求帧,第二设备再以通信设备发送无数据信息查询请求帧的方式,发送无数据信息查询响应帧。且无数据信息查询请求帧和无数据信息查询响应还可以不包含现有技术的帧中的时间/标识域、和序列控制域,即本实施例中无数据信息查询请求帧可以是只包含控制信息、哈希值和校验码,无数据信息查询响应帧仅包含第一控制信息、第二哈希值、第二设备的地址和校验码,这样在无数据信息查询请求帧中除了第一哈希值以外,其他的信息所占的分量就很少,从而无线资源的利用率和查询的效率就会变高。同时,为了进一步提高查询效率,本实施例中并不限定一个无数据帧中就只带一个哈希值,也可以是携带多个不同的哈希值。例如:无数据信息查询请求帧中可以携带多个第一哈希值,在无数据信息查询响应帧同样可以有更多的字节用于携带第二哈希值,例如:无数据信息查询响应帧中可以携带多个第二哈希值。当然,无数据信息查询响应帧所携带的第二哈希值的个数不一定要跟无数据信息查询请求帧的个数相同,可以仅仅是携带与无数据信息查询请求帧携带的多个第一哈希值中的一个或者多个所对应的第二哈希值。对于一个无数据信息查询请求帧,第二设备可以回复一个或者多个无数据信息查询响应帧,也可以由多个不同的第二设备回复该第二设备对应的一个或者多个无数据信息查询响应帧。
作为一种可选的实施方式,上述所述第一控制信息至少可以包括用于指示所述无数据信息查询请求帧的类型的第一指示信息。当第二设备获取到无数据信息查询请求帧时,就获取到第一指示信息,这样第二设备响应无数据信息查询请求帧时就也可以采用无数据信息查询响应帧响应上述无数据信息查询请求帧,即第二设备发送上述无数据信息查询响应帧。即所述第二控制信息至少包括用于指示所述无数据信息查询响应帧的类型的第二指示信息。
其中,无数据信息查询请求帧的类型可以包含请求类型和中性类型,所述无数据信息查询响应帧的类型可以包括发布类型和中性类型;上述无数据信息查询请求帧的类型为请求类型时,第一哈希值就可以表示查找第一信息。例如:第一信息为一个目标信息,而第一哈希值就用于表示查找该目标,即第二设备获取到无数据信息查询请求帧的类型为请求类型时,第二设备就将该第一哈希值,理解为通信设备查找第一信息。如,第一信息为某一个服务的信息时,该第一哈希值就表示为查找该服务,或者第一信息为某一个用户标识的信息时,该第一哈希值就表示为查找该用户标识,或者第一信息为某一个业务的信息时,该第一哈希值就表示为查找该业务等;当上述无数据信息查询请求帧的类型为请求类型时,上述无数据信息查询响应帧的类型就为发布类型,第二哈希值就可以表示为发布第二信息;例如:第二哈信息也可以为一个目标信息,而第二哈希值就用于表示发布该目标,即通信设备获取到无数据信息查询响应帧的类型为请求类型时,通信设备就将该第二哈希值,理解为第二设备发布第二信息。如,第二信息为某一个服务的信息时,该第二哈希值就表示为发布该服务,或者第二信息为某一个用户标识的信息时,该第二哈希值就表示为发布该用户标识,或者第二信息为某一个业务的信息时,该第二哈希值就表示为发布该业务等。
当上述无数据信息查询请求帧的类型为中性类型时,第一哈希值就可以表示与第一信息匹配,例如:第一信息为一个目标信息时,该第一哈希值就可以表示与该目标匹配,如,一个游戏的信息,即该第一哈希值表示与该游戏匹配,如一个服务的信息,即该第一哈希值表示用于与该服务匹配。当上述无数据信息查询请求帧的类型为中性类型时,上述无数据信息查询响应帧的类型就为中性类型,即上述第二哈希值可以表示与第二信息匹配,例如:该第二信息为一个目标信息,该第二哈希值就可以表示与该目标匹配,例如,第二信息为游戏的信息,即该第二哈希值表示该游戏匹配,或者第二信息为服务的信息,即该第二哈希值表示与该服务匹配。即无数据信息查询请求帧的类型不同,第一哈希值表示的意思也不同,无数据信息查询响应帧的类型不同,第二哈希值表示的意思也不同。
作为一种可选的实施方式,所述无数据信息查询请求帧还可以携带有用于指示所述第一哈希值的性质的第三指示信息;其中,第三指示信息可以放置第一哈希值前面,当有多个第一哈希值时,就有多个第三指示信息,每个第三指示信息用于指示一个第一哈希值的性质,每个第三指示信息放置对应的第一哈希值的前面。所述无数据信息查询响应帧还可以携带有用于指示所述第二哈希值的性质的第四指示信息;其中,第四指示信息可以放置第二哈希值前面,当有多个第二哈希值时,就有多个第四指示信息,每个第四指示信息用于指示一个第三哈希值的性质,每个第四指示信息放置对应的第二哈希值的前面。其中,所述第一哈希值的性质可以包含请求性质和中性性质,所述第二哈希值的性质可以包含发布性质或者中性性质。例如:第一哈希值的性质为请求性质时,第一哈希值就可以表示查找第一信息,例如:第一信息可以为一个目标信息,而第一哈希值用于表示查找该目标,即第二设备获取到第一哈希值的性质为请求性质时,第二设备就将该第一哈希值,理解为通信设备查找第一信息。当上述第一哈希值的性质为请求性质时,上述第二哈希值的性质就为发布性质,第二哈希值就可以表示为发布第二信息。当第一哈希值的性质为中性性质时,第一哈希值就可以表示与第一信息匹配。当第一哈希值的性质为中性性质时,上述第二哈希值的性质就为中性性质,即上述第二哈希值可以表示与第二信息匹配。即第一哈希值的性质不同,第一哈希值表示的意思也不同,第二哈希值的性质不同,第二哈希值表示的意思也不同。
可选的,上述第一指示信息可以包括第一类型信息和第二类型信息,所述第一类型信息用于表示所述无数据信息查询请求帧为无数据帧,其中,无数据帧的类型可以包含请求类型、发布类型和中性类型,无数据帧的哈希值的性质可以包含请求性质、发布性质和中性性质。所述第二类型信息用于所述无数据信息查询请求帧的类型为所述请求类型或者所述中性类型。例如:第一控制信息中的子类型(Subtype)域(用于表示帧的Subtype的字节)为所述第一类型信息,例如:第一控制信息中的Subtype域为0001,第一控制信息中的类型(Type)域(用于表示帧的Type的字节)为00,在第一控制信息中的另两个字节用于上述第二类型信息,如第二类型信息为00时,表示无数据信息查询请求帧的类型为所述请求类型,如第二类型信息为10时,表示无数据信息查询请求帧的类型为所述中性类型。
可选的,上述第二指示信息可以包括第三类型信息和第四类型信息,所述第三类型信息用于表示所述无数据信息查询响应帧为无数据帧,所述第四类型信息用于所述无数据信息查询响应帧的类型为所述发布类型或者所述中性类型。例如:第二控制信息中的Subtype域为所述第三类型信息,例如:第二控制信息中的Subtype域为0001,第二控制信息中的Type域为00,在第二控制信息中的另两个字节用于上述第四类型信息,如第四类型信息为01时,表示无数据信息查询响应帧的类型为所述响应类型,如第四类型信息为10时,表示无数据信息查询响应帧的类型为所述中性类型。
可选的,所述第一指示信息可以包括第五类型信息,所述第五类型信息用于所述无数据信息查询请求帧的类型为所述请求类型或者所述中性类型。例如:第一控制信息中的Subtype域为所述第五类型信息,例如:第一控制信息中的Subtype域为0001时,表示无数据信息查询请求帧的类型为所述请求类型,第一控制信息中的Subtype域为0011时,表示无数据信息查询请求帧的类型为所述中性类型。
可选的,第二指示信息可以包括第六类型信息,所述第六类型信息用于所述无数据信息查询响应帧的类型为所述发布类型或者所述中性类型。例如:第一控制信息中的Subtype域为所述第五类型信息,例如:第二控制信息中的Subtype域为0010时,表示无数据信息查询响应帧的类型为所述发布类型,第二控制信息中的Subtype域为0011时,表示无数据信息查询响应帧的类型为所述中性类型。
作为一种可选的实施方式,还可以通过无数据信息查询请求帧的长度为表示无数据信息查询请求帧的类型,或者表示第一哈希值的性质。同样,还可以通过无数据信息查询响应帧的长度为表示无数据信息查询响应帧的类型,或者表示第二哈希值的性质。
作为一种可选的实施方式,所述无数据信息查询请求帧还包含所述通信设备的地址;
无数据信息查询响应帧的校验码为所述第二设备将所述通信设备的地址与源校验码进行运算得到的校验码;其中,所述源校验码为所述第二设备的校验码;
确定单元43还可以用于当判断第三哈希值与所述第二哈希值一致时,对所述第二运算信息与所述通信设备的地址进行逆运算,当判断逆运算后的得到的校验码正确时,向第二设备发送有数据信息查询请求帧,其中,所述有数据信息查询请求帧包含所述第二设备的地址和所述通信设备的地址,以便所述第二设备接收到所述有数据信息查询请求帧时对所述有数据信息查询请求帧作出响应。即只有当判断逆运算后的得到的校验码正确时,通信设备才向第二设备发送有数据信息查询请求帧,其中,所述有数据信息查询请求帧包含所述第二设备的地址和所述通信设备的地址,以便所述第二设备接收到所述有数据信息查询请求帧时对所述有数据信息查询请求帧作出响应。
其中,上述正确是指利用逆运算后的得到的校验码进行校验,该校验通过。
作为一种可选的实施方式,上述无数据信息查询请求帧还可以包括通信设备的地址,无数据信息查询响应帧还可以包括通信设备的地址。但由于在该实施方式中,无数据信息查询请求帧仅包含第一控制信息、第一哈希值、通信设备的地址和校验码,无数据信息查询响应仅包含第二控制信息、第一哈希值、通信设备的地址、第二设备的地址和校验码,相比现有技术本实施方式中,同样可以提高网络资源的利用率。其中,无数据信息查询请求帧包含的内容在无数据信息查询请求帧的位置可以不作限定,无数据信息查询响应帧包含的内容在无数据信息查询响应帧的位置可以不作限定。
需要说明的是,上述多种可选的实施方式是可以结合在一起实现的。上述通信设备可以是上述方法实施例中描述的第一设备,上述第二设备可以是上述方法实施例中描述的第二设备。
上述技术方案中,无数据信息查询请求帧仅包含第一控制信息、第一哈希值,所述无数据信息查询响应帧仅包含第二控制信息、第二哈希值和第二设备的地址,在通信设备获取无数据信息查询响应帧时,当通信设备判断第三哈希值与所述第二哈希值一致时,通信设备向第二设备发送有数据信息查询请求帧,其中,所述有数据信息查询请求帧包含所述第二设备的地址和所述通信设备的地址,以便所述第二设备接收到所述有数据信息查询请求帧时对所述有数据信息查询请求帧作出响应。本发明实施例中的无数据信息查询请求帧和无数据信息查询响应帧比现有技术中的帧要短,使得查询占用网络资源少,导致网络资源利用率高。
图11是本发明实施例提供的一种通信设备的结构示意图,如图11所述,包括:接收单元51、发送单元52和响应单元53,其中:
接收单元51,用于获取第一设备发送出的包含第一控制信息和第一哈希值的无数据信息查询请求帧;所述第一哈希值是对第一信息采用第一哈希函数运算后产生的哈希值,所述无数据信息查询请求帧不包含目标地址;所述第一控制信息至少包括用于指示所述无数据信息查询请求帧的类型的第一指示信息。
发送单元52,用于当通信设备存在与所述第一哈希值对应的第二信息时,发送无数据信息查询响应帧,所述无数据信息查询响应帧包含第二控制信息、第二哈希值和所述第二设备的地址,以使所述第一设备判断第三哈希值与所述第二哈希值一致时,由所述第一设备向通信设备发送有数据信息查询请求帧,其中,所述第三哈希值是所述第一设备对所述第一信息采用所述第二哈希函数运算后产生的哈希值,所述有数据信息查询请求帧包含所述通信设备的地址和所述第一设备的地址;其中,第二哈希值是所述通信设备对所述第二信息采用第二哈希函数运算后产生的哈希值,所述无数据信息查询响应帧不包含目标地址,所述第二控制信息至少包括用于指示所述无数据信息查询请求帧的类型的第二指示信息。
响应单元53,用于当接收到所述有数据信息查询请求帧时对所述有数据信息查询请求帧作出响应。
当第一设备判断第三哈希值与所述第二哈希值一致时,就说明通信设备为第一设备需要查询的设备,例如:通信设备提供的第一设备需要的服务,如打印;例如:通信设备为第一设备需要查找的设备,如,通信设备与第一设备同时在进行某项业务,如通信设备和第一设备同时在运行某个游戏;例如:通信设备与第一设备同时登录同一用户标识等。第一设备可以向通信设备发送有数据信息查询请求帧,所述通信设备接收到所述有数据信息查询请求帧时对所述有数据信息查询请求帧作出响应
获取单元51可以是实时侦听网络中是否传输有无数据信息查询请求帧,或者周期性侦听网络中是否传输有无数据信息查询请求帧。当侦听到网络中传输有无数据信息查询请求帧时,就获取无数据信息查询请求帧,将对获取的无数据信息查询响应帧进行解析,以获取无数据信息查询请求帧包含的第一哈希值。当所述通信设备根据所述第一哈希值判断出通信设备存在与所述第一哈希值对应的第二信息时,所述通信设备将上述无数据信息查询响应帧发送出去。所述无数据信息查询响应帧不包含目标地址可以是指,无数据信息查询响应帧中不包含获取到该无数据信息查询响应帧的设备的地址,获取到该无数据信息查询响应帧的设备可以包括上述第一设备,获取到该无数据信息查询响应帧的设备还可以包括网络中除上述第一设备之外的其它设备。
其中,第二哈希值可以是预先生成好的,也可以是当当所述通信设备根据所述第一哈希值判断出通信设备存在与所述第一哈希值对应的第二信息时时,通信设备对第二信息采用第二哈希函数运算后产生的哈希值。
作为一种可选的实施方式,其中,上述第一哈希函数可以包括:
对第一信息进行哈希运算,并取该运算的哈希结果的N位作为哈希值,其中,N为自然数,且这N位在该哈希运算结果的位置不作限定。即第一设备对第一信息进行哈希运算,并取该哈希运算的哈希结果的N位作为上述第一哈希值,例如:该哈希结果为128位,第一哈希值为该128位的哈希值的倒数第1至倒数第32位,或者该128位的哈希值的倒数第33至倒数第64位等。
其中,上述第二哈希函数可以包括:
通信设备对第二信息进行哈希运算,并取该运算的哈希结果的W位作为哈希值,其中,W为自然数,且这W位在该哈希运算结果的位置不作限定。即通信设备对第二信息进行哈希运算,并取该哈希运算的哈希结果的W位作为上述第一哈希值,例如:该哈希结果为128位,第二哈希值为该128位的哈希值的倒数第1至倒数第32位,或者该128位的哈希值的倒数第33至倒数第64位等。
当通信设备中第二信息存在多个,上述无数据信息查询响应帧就可以包含多个第二哈希值,且这些第二哈希值的位数可以随当通信设备存在第二信息数量成正比。例如,通信设备存在两个第二信息时,这两个第二哈希值就可以是48位,通信设备存在三个第二信息时,这三个第二哈希值就可以是64位等。由于第二哈希值的位数增多,这样就可以避免第一设备选择出错误的第二信息,例如:通信设备存在两个第二信息,而这两个信息的哈希结果的值又存在不同的地方,如第一哈希值都为这两个哈希结果的倒数第1至倒数第32位时,而这两个哈希结果的倒数第33至倒数第18位是不同的,这样通信设备生成的两个第二哈希值就不同,这样第一设备获取到这两个第二哈希值时,从这个两个第二信息中选择与第一信息一致的第二信息。
作为一种可选的实施方式,上述第二哈希值还可以包含上述第一哈希值,即第一哈希值为第二哈希值的一部分或者全部。例如:第一信息进行哈希运算的哈希结果为128位,第一哈希值为该128位的哈希值的倒数第1至倒数第32位,而第二信息与第一信息一致,即第一信息进行哈希运算的哈希结果与第二信息进行哈希运算的哈希结果相同,而第二哈希值又为第二信息进行哈希运算的哈希结果的倒数第1至倒数第48位等。
作为一种可选的实施方式,所述第一哈希函数与所述第二哈希函数相同。这样当第三哈希值与第二哈希值一致,即第一信息进行哈希运算的哈希结果与第二信息进行哈希运算的哈希结果相同,第一哈希值与第二哈希值就相同。
作为一种可选的实施方式,所述第二信息是指采用所述第一哈希函数运算后产生的哈希值与所述第一哈希值一致的信息,可以是通信设备将通信设备存在信息进行第二哈希函数运算,当运算结果与第一哈希值一致时,说明该信息为第二信息,当然将通信设备存在信息进行第二哈希函数运算可以是预先运算好的,也可以通信设备接收到第一哈希值才运算的。第二信息还可以是指哈希结果包括上述第一哈希值的信息,即对该信息进行哈希运算后,该运算的哈希结果包含第一哈希值。
作为一种可选的实施方式,上述所述第一控制信息至少可以包括用于指示所述无数据信息查询请求帧的类型的第一指示信息。当通信设备获取到无数据信息查询请求帧时,就获取到第一指示信息,这样通信设备响应无数据信息查询请求帧时就也可以采用无数据信息查询响应帧响应上述无数据信息查询请求帧,即通信设备发送上述无数据信息查询响应帧。即所述第二控制信息至少包括用于指示所述无数据信息查询响应帧的类型的第二指示信息。
其中,无数据信息查询请求帧的类型可以包含请求类型和中性类型,所述无数据信息查询响应帧的类型可以包括发布类型和中性类型;上述无数据信息查询请求帧的类型为请求类型时,第一哈希值就可以表示查找第一信息。例如:第一信息为一个目标信息,而第一哈希值就用于表示查找该目标,即通信设备获取到无数据信息查询请求帧的类型为请求类型时,通信设备就将该第一哈希值,理解为第一设备查找第一信息。如,第一信息为某一个服务的信息时,该第一哈希值就表示为查找该服务,或者第一信息为某一个用户标识的信息时,该第一哈希值就表示为查找该用户标识,或者第一信息为某一个业务的信息时,该第一哈希值就表示为查找该业务等;当上述无数据信息查询请求帧的类型为请求类型时,上述无数据信息查询响应帧的类型就为发布类型,第二哈希值就可以表示为发布第二信息;例如:第二哈信息也可以为一个目标信息,而第二哈希值就用于表示发布该目标,即第一设备获取到无数据信息查询响应帧的类型为请求类型时,第一设备就将该第二哈希值,理解为通信设备发布第二信息。如,第二信息为某一个服务的信息时,该第二哈希值就表示为发布该服务,或者第二信息为某一个用户标识的信息时,该第二哈希值就表示为发布该用户标识,或者第二信息为某一个业务的信息时,该第二哈希值就表示为发布该业务等。
当上述无数据信息查询请求帧的类型为中性类型时,第一哈希值就可以表示与第一信息匹配,例如:第一信息为一个目标信息时,该第一哈希值就可以表示与该目标匹配,如,一个游戏的信息,即该第一哈希值表示与该游戏匹配,如一个服务的信息,即该第一哈希值表示用于与该服务匹配。当上述无数据信息查询请求帧的类型为中性类型时,上述无数据信息查询响应帧的类型就为中性类型,即上述第二哈希值可以表示与第二信息匹配,例如:该第二信息为一个目标信息,该第二哈希值就可以表示与该目标匹配,例如,第二信息为游戏的信息,即该第二哈希值表示该游戏匹配,或者第二信息为服务的信息,即该第二哈希值表示与该服务匹配。即无数据信息查询请求帧的类型不同,第一哈希值表示的意思也不同,无数据信息查询响应帧的类型不同,第二哈希值表示的意思也不同。
作为一种可选的实施方式,所述无数据信息查询请求帧还可以携带有用于指示所述第一哈希值的性质的第三指示信息;其中,第三指示信息可以放置第一哈希值前面,当有多个第一哈希值时,就有多个第三指示信息,每个第三指示信息用于指示一个第一哈希值的性质,每个第三指示信息放置对应的第一哈希值的前面。所述无数据信息查询响应帧还可以携带有用于指示所述第二哈希值的性质的第四指示信息;其中,第四指示信息可以放置第二哈希值前面,当有多个第二哈希值时,就有多个第四指示信息,每个第四指示信息用于指示一个第三哈希值的性质,每个第四指示信息放置对应的第二哈希值的前面。其中,所述第一哈希值的性质可以包含请求性质和中性性质,所述第二哈希值的性质可以包含发布性质或者中性性质。例如:第一哈希值的性质为请求性质时,第一哈希值就可以表示查找第一信息,例如:第一信息可以为一个目标信息,而第一哈希值用于表示查找该目标,即通信设备获取到第一哈希值的性质为请求性质时,通信设备就将该第一哈希值,理解为第一设备查找第一信息。当上述第一哈希值的性质为请求性质时,上述第二哈希值的性质就为发布性质,第二哈希值就可以表示为发布第二信息。当第一哈希值的性质为中性性质时,第一哈希值就可以表示与第一信息匹配。当第一哈希值的性质为中性性质时,上述第二哈希值的性质就为中性性质,即上述第二哈希值可以表示与第二信息匹配。即第一哈希值的性质不同,第一哈希值表示的意思也不同,第二哈希值的性质不同,第二哈希值表示的意思也不同。
可选的,上述第一指示信息可以包括第一类型信息和第二类型信息,所述第一类型信息用于表示所述无数据信息查询请求帧为无数据帧,其中,无数据帧的类型可以包含请求类型、发布类型和中性类型,无数据帧的哈希值的性质可以包含请求性质、发布性质和中性性质。所述第二类型信息用于所述无数据信息查询请求帧的类型为所述请求类型或者所述中性类型。例如:第一控制信息中的子类型(Subtype)域(用于表示帧的Subtype的字节)为所述第一类型信息,例如:第一控制信息中的Subtype域为0001,第一控制信息中的类型(Type)域(用于表示帧的Type的字节)为00,在第一控制信息中的另两个字节用于上述第二类型信息,如第二类型信息为00时,表示无数据信息查询请求帧的类型为所述请求类型,如第二类型信息为10时,表示无数据信息查询请求帧的类型为所述中性类型。
可选的,上述第二指示信息可以包括第三类型信息和第四类型信息,所述第三类型信息用于表示所述无数据信息查询响应帧为无数据帧,所述第四类型信息用于所述无数据信息查询响应帧的类型为所述发布类型或者所述中性类型。例如:第二控制信息中的Subtype域为所述第三类型信息,例如:第二控制信息中的Subtype域为0001,第二控制信息中的Type域为00,在第二控制信息中的另两个字节用于上述第四类型信息,如第四类型信息为01时,表示无数据信息查询响应帧的类型为所述响应类型,如第四类型信息为10时,表示无数据信息查询响应帧的类型为所述中性类型。
可选的,所述第一指示信息可以包括第五类型信息,所述第五类型信息用于所述无数据信息查询请求帧的类型为所述请求类型或者所述中性类型。例如:第一控制信息中的Subtype域为所述第五类型信息,例如:第一控制信息中的Subtype域为0001时,表示无数据信息查询请求帧的类型为所述请求类型,第一控制信息中的Subtype域为0011时,表示无数据信息查询请求帧的类型为所述中性类型。
可选的,第二指示信息可以包括第六类型信息,所述第六类型信息用于所述无数据信息查询响应帧的类型为所述发布类型或者所述中性类型。例如:第一控制信息中的Subtype域为所述第五类型信息,例如:第二控制信息中的Subtype域为0010时,表示无数据信息查询响应帧的类型为所述发布类型,第二控制信息中的Subtype域为0011时,表示无数据信息查询响应帧的类型为所述中性类型。
作为一种可选的实施方式,还可以通过无数据信息查询请求帧的长度为表示无数据信息查询请求帧的类型,或者表示第一哈希值的性质。同样,还可以通过无数据信息查询响应帧的长度为表示无数据信息查询响应帧的类型,或者表示第二哈希值的性质。
作为一种可选的实施方式,所述无数据信息查询请求帧还包含所述第一设备的地址;
无数据信息查询响应帧的校验码为所述通信设备将所述第一设备的地址与源校验码进行运算得到的校验码;其中,所述源校验码为所述通信设备的校验码;
当第一设备判断第三哈希值与所述第二哈希值一致,所述第一设备向通信设备发送有数据信息查询请求帧,其中,所述有数据信息查询请求帧包含所述通信设备的地址和所述第一设备的地址,以便所述通信设备接收到所述有数据信息查询请求帧时对所述有数据信息查询请求帧作出响应,可以包括:
当判断第三哈希值与所述第二哈希值一致时,对所述第二运算信息与所述第一设备的地址进行逆运算,当判断逆运算后的得到的校验码正确时,所述第一设备向通信设备发送有数据信息查询请求帧,其中,所述有数据信息查询请求帧包含所述通信设备的地址和所述第一设备的地址,以便所述通信设备接收到所述有数据信息查询请求帧时对所述有数据信息查询请求帧作出响应。即只有当判断逆运算后的得到的校验码正确时,第一设备才向通信设备发送有数据信息查询请求帧,其中,所述有数据信息查询请求帧包含所述通信设备的地址和所述第一设备的地址,以便所述通信设备接收到所述有数据信息查询请求帧时对所述有数据信息查询请求帧作出响应。
其中,上述正确是指利用逆运算后的得到的校验码进行校验,该校验通过。
作为一种可选的实施方式,上述无数据信息查询请求帧还可以包括第一设备的地址,无数据信息查询响应帧还可以包括第一设备的地址。但由于在该实施方式中,无数据信息查询请求帧仅包含第一控制信息、第一哈希值、第一设备的地址和校验码,无数据信息查询响应仅包含第二控制信息、第一哈希值、第一设备的地址、通信设备的地址和校验码,相比现有技术本实施方式中,同样可以提高网络资源的利用率。其中,无数据信息查询请求帧包含的内容在无数据信息查询请求帧的位置可以不作限定,无数据信息查询响应帧包含的内容在无数据信息查询响应帧的位置可以不作限定。
需要说明的是,上述多种可选的实施方式是可以结合在一起实现的。上述第一设备可以是上述方法实施例中描述的第一设备,上述通信设备可以是上述方法实施例中描述的通信设备。
上述技术方案中,无数据信息查询请求帧仅包含第一控制信息、第一哈希值,所述无数据信息查询响应帧仅包含第二控制信息、第二哈希值和通信设备的地址,在第一设备获取无数据信息查询响应帧时,当第一设备判断第三哈希值与所述第二哈希值一致时,第一设备向通信设备发送有数据信息查询请求帧,其中,所述有数据信息查询请求帧包含所述通信设备的地址和所述第一设备的地址,以便所述通信设备接收到所述有数据信息查询请求帧时对所述有数据信息查询请求帧作出响应。本发明实施例中的无数据信息查询请求帧和无数据信息查询响应帧比现有技术中的帧要短,使得查询占用网络资源少,导致网络资源利用率高。
图12是本发明实施例提供的另一种通信设备的结构示意图,如图12所示,包括:发送器61和接收器62,以及分别与所述发送器61和所述接收器62耦合的处理器63,其中:
发送器61,用于发送无数据信息查询请求帧,所述无数据信息查询请求帧包含第一控制信息、第一哈希值,所述第一哈希值是对第一信息采用第一哈希函数运算后产生的哈希值,所述无数据信息查询请求帧不包含目标地址;所述第一控制信息至少包括用于指示所述无数据信息查询请求帧的类型的第一指示信息;
发送所述无数据信息查询请求帧;
接收器62,用于接收第二设备发送的无数据信息查询响应帧,所述无数据信息查询响应帧包含第二控制信息、第二哈希值和所述第二设备的地址,第二哈希值是所述第二设备对第二信息采用第二哈希函数运算后产生的哈希值,所述无数据信息查询响应帧不包含目标地址;所述第二控制信息至少包括用于指示所述无数据信息查询请求帧的类型的第二指示信息;
处理器63,用于从接收器62接收的所述无数据信息查询响应帧解析出所述第二哈希值,并判断第三哈希值与所述第二哈希值是否一致;所述第三哈希值是对所述第一信息采用所述第二哈希函数运算后产生的哈希值;
所述发送器61还用于当处理器63判断第三哈希值与所述第二哈希值一致时,向第二设备发送有数据信息查询请求帧,其中,所述有数据信息查询请求帧包含所述第二设备的地址和所述通信设备的地址,以便所述第二设备接收到所述有数据信息查询请求帧时对所述有数据信息查询请求帧作出响应。
当通信设备判断第三哈希值与所述第二哈希值一致时,就说明第二设备为通信设备需要查询的设备,例如:第二设备提供的通信设备需要的服务,如打印;例如:第二设备为通信设备需要查找的设备,如,第二设备与通信设备同时在进行某项业务,如第二设备和通信设备同时在运行某个游戏;例如:第二设备与通信设备同时登录同一用户标识等。通信设备可以向第二设备发送有数据信息查询请求帧,所述第二设备接收到所述有数据信息查询请求帧时对所述有数据信息查询请求帧作出响应。
作为一种可选的实施方式,其中,上述第一哈希函数可以包括:
处理器63对第一信息进行哈希运算,并取该运算的哈希结果的N位作为哈希值,其中,N为自然数,且这N位在该哈希运算结果的位置不作限定。即通信设备对第一信息进行哈希运算,并取该哈希运算的哈希结果的N位作为上述第一哈希值,例如:该哈希结果为128位,第一哈希值为该128位的哈希值的倒数第1至倒数第32位,或者该128位的哈希值的倒数第33至倒数第64位等。
其中,上述第二哈希函数可以包括:
对第二信息进行哈希运算,并取该运算的哈希结果的W位作为哈希值,其中,W为自然数,且这W位在该哈希运算结果的位置不作限定。即第二设备对第二信息进行哈希运算,并取该哈希运算的哈希结果的W位作为上述第一哈希值,例如:该哈希结果为128位,第二哈希值为该128位的哈希值的倒数第1至倒数第32位,或者该128位的哈希值的倒数第33至倒数第64位等。
作为一种可选的实施方式,所述无数据信息查询响应帧包括多个第二哈希值,即第二设备中第二信息存在多个,所述处理器63还用于判断所述第三哈希值与所述多个第二哈希值中的至少一个第二哈希值是否一致。发送器61还可以用于当处理器63判断所述第三哈希值与所述多个第二哈希值中的至少一个第二哈希值一致时,向第二设备发送有数据信息查询请求帧。
当第二设备中第二信息存在多个,上述无数据信息查询响应帧就可以包含多个第二哈希值,且这些第二哈希值的位数可以随当第二设备存在第二信息数量成正比。例如,第二设备存在两个第二信息时,这两个第二哈希值就可以是48位,第二设备存在三个第二信息时,这三个第二哈希值就可以是64位等。由于第二哈希值的位数增多,这样就可以避免通信设备选择出错误的第二信息,例如:第二设备存在两个第二信息,而这两个信息的哈希结果的值又存在不同的地方,如第一哈希值都为这两个哈希结果的倒数第1至倒数第32位时,而这两个哈希结果的倒数第33至倒数第18位是不同的,这样第二设备生成的两个第二哈希值就不同,这样通信设备获取到这两个第二哈希值时,从这个两个第二信息中选择与第一信息一致的第二信息。
作为一种可选的实施方式,上述第二哈希值还可以包含上述第一哈希值,即第一哈希值为第二哈希值的一部分或者全部。例如:第一信息进行哈希运算的哈希结果为128位,第一哈希值为该128位的哈希值的倒数第1至倒数第32位,而第二信息与第一信息一致,即第一信息进行哈希运算的哈希结果与第二信息进行哈希运算的哈希结果相同,而第二哈希值又为第二信息进行哈希运算的哈希结果的倒数第1至倒数第48位等。
作为一种可选的实施方式,所述第一哈希函数与所述第二哈希函数相同。这样当第三哈希值与第二哈希值一致,即第一信息进行哈希运算的哈希结果与第二信息进行哈希运算的哈希结果相同,第一哈希值与第二哈希值就相同。
作为一种可选的实施方式,所述第二信息是指采用所述第一哈希函数运算后产生的哈希值与所述第一哈希值一致的信息,可以是第二设备将第二设备存在信息进行第二哈希函数运算,当运算结果与第一哈希值一致时,说明该信息为第二信息,当然将第二设备存在信息进行第二哈希函数运算可以是预先运算好的,也可以第二设备接收到第一哈希值才运算的。第二信息还可以是指哈希结果包括上述第一哈希值的信息,即对该信息进行哈希运算后,该运算的哈希结果包含第一哈希值。
作为一种可选的实施方式,无数据信息查询请求帧还可以不包含发送地址,即不包含通信设备的地址,这样第二设备获取上述无数据信息查询请求帧时,第二设备不知道是哪个设备发送的无数据信息查询请求帧,第二设备再以通信设备发送无数据信息查询请求帧的方式,发送无数据信息查询响应帧。且无数据信息查询请求帧和无数据信息查询响应还可以不包含现有技术的帧中的时间/标识域、和序列控制域,即本实施例中无数据信息查询请求帧可以是只包含控制信息、哈希值和校验码,无数据信息查询响应帧仅包含第一控制信息、第二哈希值、第二设备的地址和校验码,这样在无数据信息查询请求帧中除了第一哈希值以外,其他的信息所占的分量就很少,从而无线资源的利用率和查询的效率就会变高。同时,为了进一步提高查询效率,本实施例中并不限定一个无数据帧中就只带一个哈希值,也可以是携带多个不同的哈希值。例如:无数据信息查询请求帧中可以携带多个第一哈希值,在无数据信息查询响应帧同样可以有更多的字节用于携带第二哈希值,例如:无数据信息查询响应帧中可以携带多个第二哈希值。当然,无数据信息查询响应帧所携带的第二哈希值的个数不一定要跟无数据信息查询请求帧的个数相同,可以仅仅是携带与无数据信息查询请求帧携带的多个第一哈希值中的一个或者多个所对应的第二哈希值。对于一个无数据信息查询请求帧,第二设备可以回复一个或者多个无数据信息查询响应帧,也可以由多个不同的第二设备回复该第二设备对应的一个或者多个无数据信息查询响应帧。
作为一种可选的实施方式,上述所述第一控制信息至少可以包括用于指示所述无数据信息查询请求帧的类型的第一指示信息。当第二设备获取到无数据信息查询请求帧时,就获取到第一指示信息,这样第二设备响应无数据信息查询请求帧时就也可以采用无数据信息查询响应帧响应上述无数据信息查询请求帧,即第二设备发送上述无数据信息查询响应帧。即所述第二控制信息至少包括用于指示所述无数据信息查询响应帧的类型的第二指示信息。
其中,无数据信息查询请求帧的类型可以包含请求类型和中性类型,所述无数据信息查询响应帧的类型可以包括发布类型和中性类型;上述无数据信息查询请求帧的类型为请求类型时,第一哈希值就可以表示查找第一信息。例如:第一信息为一个目标信息,而第一哈希值就用于表示查找该目标,即第二设备获取到无数据信息查询请求帧的类型为请求类型时,第二设备就将该第一哈希值,理解为通信设备查找第一信息。如,第一信息为某一个服务的信息时,该第一哈希值就表示为查找该服务,或者第一信息为某一个用户标识的信息时,该第一哈希值就表示为查找该用户标识,或者第一信息为某一个业务的信息时,该第一哈希值就表示为查找该业务等;当上述无数据信息查询请求帧的类型为请求类型时,上述无数据信息查询响应帧的类型就为发布类型,第二哈希值就可以表示为发布第二信息;例如:第二哈信息也可以为一个目标信息,而第二哈希值就用于表示发布该目标,即通信设备获取到无数据信息查询响应帧的类型为请求类型时,通信设备就将该第二哈希值,理解为第二设备发布第二信息。如,第二信息为某一个服务的信息时,该第二哈希值就表示为发布该服务,或者第二信息为某一个用户标识的信息时,该第二哈希值就表示为发布该用户标识,或者第二信息为某一个业务的信息时,该第二哈希值就表示为发布该业务等。
当上述无数据信息查询请求帧的类型为中性类型时,第一哈希值就可以表示与第一信息匹配,例如:第一信息为一个目标信息时,该第一哈希值就可以表示与该目标匹配,如,一个游戏的信息,即该第一哈希值表示与该游戏匹配,如一个服务的信息,即该第一哈希值表示用于与该服务匹配。当上述无数据信息查询请求帧的类型为中性类型时,上述无数据信息查询响应帧的类型就为中性类型,即上述第二哈希值可以表示与第二信息匹配,例如:该第二信息为一个目标信息,该第二哈希值就可以表示与该目标匹配,例如,第二信息为游戏的信息,即该第二哈希值表示该游戏匹配,或者第二信息为服务的信息,即该第二哈希值表示与该服务匹配。即无数据信息查询请求帧的类型不同,第一哈希值表示的意思也不同,无数据信息查询响应帧的类型不同,第二哈希值表示的意思也不同。
作为一种可选的实施方式,所述无数据信息查询请求帧还可以携带有用于指示所述第一哈希值的性质的第三指示信息;其中,第三指示信息可以放置第一哈希值前面,当有多个第一哈希值时,就有多个第三指示信息,每个第三指示信息用于指示一个第一哈希值的性质,每个第三指示信息放置对应的第一哈希值的前面。所述无数据信息查询响应帧还可以携带有用于指示所述第二哈希值的性质的第四指示信息;其中,第四指示信息可以放置第二哈希值前面,当有多个第二哈希值时,就有多个第四指示信息,每个第四指示信息用于指示一个第三哈希值的性质,每个第四指示信息放置对应的第二哈希值的前面。其中,所述第一哈希值的性质可以包含请求性质和中性性质,所述第二哈希值的性质可以包含发布性质或者中性性质。例如:第一哈希值的性质为请求性质时,第一哈希值就可以表示查找第一信息,例如:第一信息可以为一个目标信息,而第一哈希值用于表示查找该目标,即第二设备获取到第一哈希值的性质为请求性质时,第二设备就将该第一哈希值,理解为通信设备查找第一信息。当上述第一哈希值的性质为请求性质时,上述第二哈希值的性质就为发布性质,第二哈希值就可以表示为发布第二信息。当第一哈希值的性质为中性性质时,第一哈希值就可以表示与第一信息匹配。当第一哈希值的性质为中性性质时,上述第二哈希值的性质就为中性性质,即上述第二哈希值可以表示与第二信息匹配。即第一哈希值的性质不同,第一哈希值表示的意思也不同,第二哈希值的性质不同,第二哈希值表示的意思也不同。
可选的,上述第一指示信息可以包括第一类型信息和第二类型信息,所述第一类型信息用于表示所述无数据信息查询请求帧为无数据帧,其中,无数据帧的类型可以包含请求类型、发布类型和中性类型,无数据帧的哈希值的性质可以包含请求性质、发布性质和中性性质。所述第二类型信息用于所述无数据信息查询请求帧的类型为所述请求类型或者所述中性类型。例如:第一控制信息中的子类型(Subtype)域(用于表示帧的Subtype的字节)为所述第一类型信息,例如:第一控制信息中的Subtype域为0001,第一控制信息中的类型(Type)域(用于表示帧的Type的字节)为00,在第一控制信息中的另两个字节用于上述第二类型信息,如第二类型信息为00时,表示无数据信息查询请求帧的类型为所述请求类型,如第二类型信息为10时,表示无数据信息查询请求帧的类型为所述中性类型。
可选的,上述第二指示信息可以包括第三类型信息和第四类型信息,所述第三类型信息用于表示所述无数据信息查询响应帧为无数据帧,所述第四类型信息用于所述无数据信息查询响应帧的类型为所述发布类型或者所述中性类型。例如:第二控制信息中的Subtype域为所述第三类型信息,例如:第二控制信息中的Subtype域为0001,第二控制信息中的Type域为00,在第二控制信息中的另两个字节用于上述第四类型信息,如第四类型信息为01时,表示无数据信息查询响应帧的类型为所述响应类型,如第四类型信息为10时,表示无数据信息查询响应帧的类型为所述中性类型。
可选的,所述第一指示信息可以包括第五类型信息,所述第五类型信息用于所述无数据信息查询请求帧的类型为所述请求类型或者所述中性类型。例如:第一控制信息中的Subtype域为所述第五类型信息,例如:第一控制信息中的Subtype域为0001时,表示无数据信息查询请求帧的类型为所述请求类型,第一控制信息中的Subtype域为0011时,表示无数据信息查询请求帧的类型为所述中性类型。
可选的,第二指示信息可以包括第六类型信息,所述第六类型信息用于所述无数据信息查询响应帧的类型为所述发布类型或者所述中性类型。例如:第一控制信息中的Subtype域为所述第五类型信息,例如:第二控制信息中的Subtype域为0010时,表示无数据信息查询响应帧的类型为所述发布类型,第二控制信息中的Subtype域为0011时,表示无数据信息查询响应帧的类型为所述中性类型。
作为一种可选的实施方式,还可以通过无数据信息查询请求帧的长度为表示无数据信息查询请求帧的类型,或者表示第一哈希值的性质。同样,还可以通过无数据信息查询响应帧的长度为表示无数据信息查询响应帧的类型,或者表示第二哈希值的性质。
作为一种可选的实施方式,所述无数据信息查询请求帧还包含所述通信设备的地址;
无数据信息查询响应帧的校验码为所述第二设备将所述通信设备的地址与源校验码进行运算得到的校验码;其中,所述源校验码为所述第二设备的校验码;
当通信设备判断第三哈希值与所述第二哈希值一致,所述通信设备向第二设备发送有数据信息查询请求帧,其中,所述有数据信息查询请求帧包含所述第二设备的地址和所述通信设备的地址,以便所述第二设备接收到所述有数据信息查询请求帧时对所述有数据信息查询请求帧作出响应,可以包括:
当判断第三哈希值与所述第二哈希值一致时,对所述第二运算信息与所述通信设备的地址进行逆运算,当判断逆运算后的得到的校验码正确时,所述通信设备向第二设备发送有数据信息查询请求帧,其中,所述有数据信息查询请求帧包含所述第二设备的地址和所述通信设备的地址,以便所述第二设备接收到所述有数据信息查询请求帧时对所述有数据信息查询请求帧作出响应。即只有当判断逆运算后的得到的校验码正确时,通信设备才向第二设备发送有数据信息查询请求帧,其中,所述有数据信息查询请求帧包含所述第二设备的地址和所述通信设备的地址,以便所述第二设备接收到所述有数据信息查询请求帧时对所述有数据信息查询请求帧作出响应。
其中,上述正确是指利用逆运算后的得到的校验码进行校验,该校验通过。
作为一种可选的实施方式,上述无数据信息查询请求帧还可以包括通信设备的地址,无数据信息查询响应帧还可以包括通信设备的地址。但由于在该实施方式中,无数据信息查询请求帧仅包含第一控制信息、第一哈希值、通信设备的地址和校验码,无数据信息查询响应仅包含第二控制信息、第一哈希值、通信设备的地址、第二设备的地址和校验码,相比现有技术本实施方式中,同样可以提高网络资源的利用率。其中,无数据信息查询请求帧包含的内容在无数据信息查询请求帧的位置可以不作限定,无数据信息查询响应帧包含的内容在无数据信息查询响应帧的位置可以不作限定。
需要说明的是,上述多种可选的实施方式是可以结合在一起实现的。上述通信设备可以是上述方法实施例中描述的第一设备,上述第二设备可以是上述方法实施例中描述的第二设备。
上述技术方案中,无数据信息查询请求帧仅包含第一控制信息、第一哈希值,所述无数据信息查询响应帧仅包含第二控制信息、第二哈希值和第二设备的地址,在通信设备获取无数据信息查询响应帧时,当通信设备判断第三哈希值与所述第二哈希值一致时,通信设备向第二设备发送有数据信息查询请求帧,其中,所述有数据信息查询请求帧包含所述第二设备的地址和所述通信设备的地址,以便所述第二设备接收到所述有数据信息查询请求帧时对所述有数据信息查询请求帧作出响应。本发明实施例中的无数据信息查询请求帧和无数据信息查询响应帧比现有技术中的帧要短,使得查询占用网络资源少,导致网络资源利用率高。
图13是本发明实施例提供另一种通信设备结构示意图,如图13所示,包括:发送器71和接收器72,以及分别与发送器71和接收器72耦合的处理器73,其中:
接收器71,用于获取第一设备发送出的包含第一控制信息和第一哈希值的无数据信息查询请求帧;所述第一哈希值是对第一信息采用第一哈希函数运算后产生的哈希值,所述无数据信息查询请求帧不包含目标地址;所述第一控制信息至少包括用于指示所述无数据信息查询请求帧的类型的第一指示信息;
处理器73,用于从接收器71接收的无数据信息查询请求帧解析出所述第一哈希值,并判断所述通信设备是否存在与所述第一哈希值对应的第二信息;
发送器72,用于当处理器73判断所述通信设备存在与所述第一哈希值对应的第二信息时,发送无数据信息查询响应帧,所述无数据信息查询响应帧包含第二控制信息、第二哈希值和所述通信设备的地址,以使所述第一设备判断第三哈希值与所述第二哈希值一致时,由所述第一设备向通信设备发送有数据信息查询请求帧,其中,所述第三哈希值是所述第一设备对所述第一信息采用所述第二哈希函数运算后产生的哈希值,所述有数据信息查询请求帧包含所述通信设备的地址和所述第一设备的地址;其中,第二哈希值是所述处理器对所述第二信息采用第二哈希函数运算后产生的哈希值,所述无数据信息查询响应帧不包含目标地址,所述第二控制信息至少包括用于指示所述无数据信息查询请求帧的类型的第二指示信息;
处理器73还用于当接收到所述有数据信息查询请求帧时对所述有数据信息查询请求帧作出响应。
接收器72可以是实时侦听网络中是否传输有无数据信息查询请求帧,或者周期性侦听网络中是否传输有无数据信息查询请求帧。当侦听到网络中传输有无数据信息查询请求帧时,就获取无数据信息查询请求帧,将对获取的无数据信息查询响应帧进行解析,以获取无数据信息查询请求帧包含的第一哈希值。当所述通信设备根据所述第一哈希值判断出通信设备存在与所述第一哈希值对应的第二信息时,所述通信设备将上述无数据信息查询响应帧发送出去。所述无数据信息查询响应帧不包含目标地址可以是指,无数据信息查询响应帧中不包含获取到该无数据信息查询响应帧的设备的地址,获取到该无数据信息查询响应帧的设备可以包括上述第一设备,获取到该无数据信息查询响应帧的设备还可以包括网络中除上述第一设备之外的其它设备。
其中,第二哈希值可以是预先生成好的,也可以是当当所述通信设备根据所述第一哈希值判断出通信设备存在与所述第一哈希值对应的第二信息时时,通信设备对第二信息采用第二哈希函数运算后产生的哈希值。
作为一种可选的实施方式,其中,上述第一哈希函数可以包括:
对第一信息进行哈希运算,并取该运算的哈希结果的N位作为哈希值,其中,N为自然数,且这N位在该哈希运算结果的位置不作限定。即第一设备对第一信息进行哈希运算,并取该哈希运算的哈希结果的N位作为上述第一哈希值,例如:该哈希结果为128位,第一哈希值为该128位的哈希值的倒数第1至倒数第32位,或者该128位的哈希值的倒数第33至倒数第64位等。
其中,上述第二哈希函数可以包括:
处理器73对第二信息进行哈希运算,并取该运算的哈希结果的W位作为哈希值,其中,W为自然数,且这W位在该哈希运算结果的位置不作限定。即通信设备对第二信息进行哈希运算,并取该哈希运算的哈希结果的W位作为上述第一哈希值,例如:该哈希结果为128位,第二哈希值为该128位的哈希值的倒数第1至倒数第32位,或者该128位的哈希值的倒数第33至倒数第64位等。
当通信设备中第二信息存在多个,上述无数据信息查询响应帧就可以包含多个第二哈希值,且这些第二哈希值的位数可以随当通信设备存在第二信息数量成正比。例如,通信设备存在两个第二信息时,这两个第二哈希值就可以是48位,通信设备存在三个第二信息时,这三个第二哈希值就可以是64位等。由于第二哈希值的位数增多,这样就可以避免第一设备选择出错误的第二信息,例如:通信设备存在两个第二信息,而这两个信息的哈希结果的值又存在不同的地方,如第一哈希值都为这两个哈希结果的倒数第1至倒数第32位时,而这两个哈希结果的倒数第33至倒数第18位是不同的,这样通信设备生成的两个第二哈希值就不同,这样第一设备获取到这两个第二哈希值时,从这个两个第二信息中选择与第一信息一致的第二信息。
作为一种可选的实施方式,上述第二哈希值还可以包含上述第一哈希值,即第一哈希值为第二哈希值的一部分或者全部。例如:第一信息进行哈希运算的哈希结果为128位,第一哈希值为该128位的哈希值的倒数第1至倒数第32位,而第二信息与第一信息一致,即第一信息进行哈希运算的哈希结果与第二信息进行哈希运算的哈希结果相同,而第二哈希值又为第二信息进行哈希运算的哈希结果的倒数第1至倒数第48位等。
作为一种可选的实施方式,所述第一哈希函数与所述第二哈希函数相同。这样当第三哈希值与第二哈希值一致,即第一信息进行哈希运算的哈希结果与第二信息进行哈希运算的哈希结果相同,第一哈希值与第二哈希值就相同。
作为一种可选的实施方式,所述第二信息是指采用所述第一哈希函数运算后产生的哈希值与所述第一哈希值一致的信息,可以是通信设备将通信设备存在信息进行第二哈希函数运算,当运算结果与第一哈希值一致时,说明该信息为第二信息,当然将通信设备存在信息进行第二哈希函数运算可以是预先运算好的,也可以通信设备接收到第一哈希值才运算的。第二信息还可以是指哈希结果包括上述第一哈希值的信息,即对该信息进行哈希运算后,该运算的哈希结果包含第一哈希值。
作为一种可选的实施方式,上述所述第一控制信息至少可以包括用于指示所述无数据信息查询请求帧的类型的第一指示信息。当通信设备获取到无数据信息查询请求帧时,就获取到第一指示信息,这样通信设备响应无数据信息查询请求帧时就也可以采用无数据信息查询响应帧响应上述无数据信息查询请求帧,即通信设备发送上述无数据信息查询响应帧。即所述第二控制信息至少包括用于指示所述无数据信息查询响应帧的类型的第二指示信息。
其中,无数据信息查询请求帧的类型可以包含请求类型和中性类型,所述无数据信息查询响应帧的类型可以包括发布类型和中性类型;上述无数据信息查询请求帧的类型为请求类型时,第一哈希值就可以表示查找第一信息。例如:第一信息为一个目标信息,而第一哈希值就用于表示查找该目标,即通信设备获取到无数据信息查询请求帧的类型为请求类型时,通信设备就将该第一哈希值,理解为第一设备查找第一信息。如,第一信息为某一个服务的信息时,该第一哈希值就表示为查找该服务,或者第一信息为某一个用户标识的信息时,该第一哈希值就表示为查找该用户标识,或者第一信息为某一个业务的信息时,该第一哈希值就表示为查找该业务等;当上述无数据信息查询请求帧的类型为请求类型时,上述无数据信息查询响应帧的类型就为发布类型,第二哈希值就可以表示为发布第二信息;例如:第二哈信息也可以为一个目标信息,而第二哈希值就用于表示发布该目标,即第一设备获取到无数据信息查询响应帧的类型为请求类型时,第一设备就将该第二哈希值,理解为通信设备发布第二信息。如,第二信息为某一个服务的信息时,该第二哈希值就表示为发布该服务,或者第二信息为某一个用户标识的信息时,该第二哈希值就表示为发布该用户标识,或者第二信息为某一个业务的信息时,该第二哈希值就表示为发布该业务等。
当上述无数据信息查询请求帧的类型为中性类型时,第一哈希值就可以表示与第一信息匹配,例如:第一信息为一个目标信息时,该第一哈希值就可以表示与该目标匹配,如,一个游戏的信息,即该第一哈希值表示与该游戏匹配,如一个服务的信息,即该第一哈希值表示用于与该服务匹配。当上述无数据信息查询请求帧的类型为中性类型时,上述无数据信息查询响应帧的类型就为中性类型,即上述第二哈希值可以表示与第二信息匹配,例如:该第二信息为一个目标信息,该第二哈希值就可以表示与该目标匹配,例如,第二信息为游戏的信息,即该第二哈希值表示该游戏匹配,或者第二信息为服务的信息,即该第二哈希值表示与该服务匹配。即无数据信息查询请求帧的类型不同,第一哈希值表示的意思也不同,无数据信息查询响应帧的类型不同,第二哈希值表示的意思也不同。
作为一种可选的实施方式,所述无数据信息查询请求帧还可以携带有用于指示所述第一哈希值的性质的第三指示信息;其中,第三指示信息可以放置第一哈希值前面,当有多个第一哈希值时,就有多个第三指示信息,每个第三指示信息用于指示一个第一哈希值的性质,每个第三指示信息放置对应的第一哈希值的前面。所述无数据信息查询响应帧还可以携带有用于指示所述第二哈希值的性质的第四指示信息;其中,第四指示信息可以放置第二哈希值前面,当有多个第二哈希值时,就有多个第四指示信息,每个第四指示信息用于指示一个第三哈希值的性质,每个第四指示信息放置对应的第二哈希值的前面。其中,所述第一哈希值的性质可以包含请求性质和中性性质,所述第二哈希值的性质可以包含发布性质或者中性性质。例如:第一哈希值的性质为请求性质时,第一哈希值就可以表示查找第一信息,例如:第一信息可以为一个目标信息,而第一哈希值用于表示查找该目标,即通信设备获取到第一哈希值的性质为请求性质时,通信设备就将该第一哈希值,理解为第一设备查找第一信息。当上述第一哈希值的性质为请求性质时,上述第二哈希值的性质就为发布性质,第二哈希值就可以表示为发布第二信息。当第一哈希值的性质为中性性质时,第一哈希值就可以表示与第一信息匹配。当第一哈希值的性质为中性性质时,上述第二哈希值的性质就为中性性质,即上述第二哈希值可以表示与第二信息匹配。即第一哈希值的性质不同,第一哈希值表示的意思也不同,第二哈希值的性质不同,第二哈希值表示的意思也不同。
可选的,上述第一指示信息可以包括第一类型信息和第二类型信息,所述第一类型信息用于表示所述无数据信息查询请求帧为无数据帧,其中,无数据帧的类型可以包含请求类型、发布类型和中性类型,无数据帧的哈希值的性质可以包含请求性质、发布性质和中性性质。所述第二类型信息用于所述无数据信息查询请求帧的类型为所述请求类型或者所述中性类型。例如:第一控制信息中的子类型(Subtype)域(用于表示帧的Subtype的字节)为所述第一类型信息,例如:第一控制信息中的Subtype域为0001,第一控制信息中的类型(Type)域(用于表示帧的Type的字节)为00,在第一控制信息中的另两个字节用于上述第二类型信息,如第二类型信息为00时,表示无数据信息查询请求帧的类型为所述请求类型,如第二类型信息为10时,表示无数据信息查询请求帧的类型为所述中性类型。
可选的,上述第二指示信息可以包括第三类型信息和第四类型信息,所述第三类型信息用于表示所述无数据信息查询响应帧为无数据帧,所述第四类型信息用于所述无数据信息查询响应帧的类型为所述发布类型或者所述中性类型。例如:第二控制信息中的Subtype域为所述第三类型信息,例如:第二控制信息中的Subtype域为0001,第二控制信息中的Type域为00,在第二控制信息中的另两个字节用于上述第四类型信息,如第四类型信息为01时,表示无数据信息查询响应帧的类型为所述响应类型,如第四类型信息为10时,表示无数据信息查询响应帧的类型为所述中性类型。
可选的,所述第一指示信息可以包括第五类型信息,所述第五类型信息用于所述无数据信息查询请求帧的类型为所述请求类型或者所述中性类型。例如:第一控制信息中的Subtype域为所述第五类型信息,例如:第一控制信息中的Subtype域为0001时,表示无数据信息查询请求帧的类型为所述请求类型,第一控制信息中的Subtype域为0011时,表示无数据信息查询请求帧的类型为所述中性类型。
可选的,第二指示信息可以包括第六类型信息,所述第六类型信息用于所述无数据信息查询响应帧的类型为所述发布类型或者所述中性类型。例如:第一控制信息中的Subtype域为所述第五类型信息,例如:第二控制信息中的Subtype域为0010时,表示无数据信息查询响应帧的类型为所述发布类型,第二控制信息中的Subtype域为0011时,表示无数据信息查询响应帧的类型为所述中性类型。
作为一种可选的实施方式,还可以通过无数据信息查询请求帧的长度为表示无数据信息查询请求帧的类型,或者表示第一哈希值的性质。同样,还可以通过无数据信息查询响应帧的长度为表示无数据信息查询响应帧的类型,或者表示第二哈希值的性质。
作为一种可选的实施方式,所述无数据信息查询请求帧还包含所述第一设备的地址;
无数据信息查询响应帧的校验码为所述通信设备将所述第一设备的地址与源校验码进行运算得到的校验码;其中,所述源校验码为所述通信设备的校验码;
当第一设备判断第三哈希值与所述第二哈希值一致,所述第一设备向通信设备发送有数据信息查询请求帧,其中,所述有数据信息查询请求帧包含所述通信设备的地址和所述第一设备的地址,以便所述通信设备接收到所述有数据信息查询请求帧时对所述有数据信息查询请求帧作出响应,可以包括:
当判断第三哈希值与所述第二哈希值一致时,对所述第二运算信息与所述第一设备的地址进行逆运算,当判断逆运算后的得到的校验码正确时,所述第一设备向通信设备发送有数据信息查询请求帧,其中,所述有数据信息查询请求帧包含所述通信设备的地址和所述第一设备的地址,以便所述通信设备接收到所述有数据信息查询请求帧时对所述有数据信息查询请求帧作出响应。即只有当判断逆运算后的得到的校验码正确时,第一设备才向通信设备发送有数据信息查询请求帧,其中,所述有数据信息查询请求帧包含所述通信设备的地址和所述第一设备的地址,以便所述通信设备接收到所述有数据信息查询请求帧时对所述有数据信息查询请求帧作出响应。
其中,上述正确是指利用逆运算后的得到的校验码进行校验,该校验通过。
作为一种可选的实施方式,上述无数据信息查询请求帧还可以包括第一设备的地址,无数据信息查询响应帧还可以包括第一设备的地址。但由于在该实施方式中,无数据信息查询请求帧仅包含第一控制信息、第一哈希值、第一设备的地址和校验码,无数据信息查询响应仅包含第二控制信息、第一哈希值、第一设备的地址、通信设备的地址和校验码,相比现有技术本实施方式中,同样可以提高网络资源的利用率。其中,无数据信息查询请求帧包含的内容在无数据信息查询请求帧的位置可以不作限定,无数据信息查询响应帧包含的内容在无数据信息查询响应帧的位置可以不作限定。
需要说明的是,上述多种可选的实施方式是可以结合在一起实现的。上述第一设备可以是上述方法实施例中描述的第一设备,上述通信设备可以是上述方法实施例中描述的第二设备。
上述技术方案中,无数据信息查询请求帧仅包含第一控制信息、第一哈希值,所述无数据信息查询响应帧仅包含第二控制信息、第二哈希值和通信设备的地址,在第一设备获取无数据信息查询响应帧时,当第一设备判断第三哈希值与所述第二哈希值一致时,第一设备向通信设备发送有数据信息查询请求帧,其中,所述有数据信息查询请求帧包含所述通信设备的地址和所述第一设备的地址,以便所述通信设备接收到所述有数据信息查询请求帧时对所述有数据信息查询请求帧作出响应。本发明实施例中的无数据信息查询请求帧和无数据信息查询响应帧比现有技术中的帧要短,使得查询占用网络资源少,导致网络资源利用率高。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存取存储器(Random AccessMemory,简称RAM)等。
以上所揭露的仅为本发明较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。