一种信息查询方法、 设备及***
技术领域
本发明涉及通信领域, 尤其涉及一种信息查询方法、 设备及***。 背景技术
无线保真( 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 Access Control Address , MAC ) 帧。
第二方面, 本发明第一方面提供的一种信息查询方法, 包括:
第二设备获取第一设备发送出的包含第一控制信息和第一哈希值的无数 据信息查询请求帧;所述第一哈希值是对第一信息釆用第一哈希函数运算后产 生的哈希值, 所述无数据信息查询请求帧不包含目标地址; 所述第一控制信息 至少包括用于指示所述无数据信息查询请求帧的类型的第一指示信息;
当第二设备存在与所述第一哈希值对应的第二信息时,所述第二设备发送 无数据信息查询响应帧, 所述无数据信息查询响应帧包含第二控制信息、第二 哈希值和所述第二设备的地址 ,以使所述第一设备判断第三哈希值与所述第二 哈希值一致时,由所述第一设备向第二设备发送有数据信息查询请求帧,其中, 所述第三哈希值是所述第一设备对所述第一信息釆用所述第二哈希函数运算 后产生的哈希值,所述有数据信息查询请求帧包含所述第二设备的地址和所述 第一设备的地址; 其中, 第二哈希值是所述第二设备对所述第二信息釆用第二 哈希函数运算后产生的哈希值, 所述无数据信息查询响应帧不包含目标地址, 所述第二控制信息至少包括用于指示所述无数据信息查询请求帧的类型的第 二指示信息;
所述第二设备接收到所述有数据信息查询请求帧时对所述有数据信息查 询请求帧作出响应。
在第二方面的第一种可能的实现方式中,所述第二信息是指釆用所述第一 哈希函数运算后产生的哈希值与所述第一哈希值一致的信息。
结合第二方面的上述任一实现方式,在第二方面的第二种可能的实现方式 中, 所述无数据信息查询请求帧的类型包含请求类型或者中性类型;
所述无数据信息查询响应帧的类型包括发布类型或者中性类型。
结合第二方面的上述任一实现方式,在第二方面的第三种可能的实现方式 中,所述无数据信息查询请求帧还携带有用于指示所述第一哈希值的性质的第 三指示信息;
所述无数据信息查询响应帧还携带有用于指示所述第二哈希值的性质的 第四指示信息;
其中, 所述第一哈希值的性质为请求性质或者中性性质; 所述第二哈希值 的性质为发布性质或者中性性质。
结合第二方面的上述任一实现方式,在第二方面的第四种可能的实现方式 中, 所述第二哈希值包含所述第一哈希值; 或者
所述第一哈希函数与所述第二哈希函数相同。
结合第二方面的上述任一实现方式,在第二方面的第五种可能的实现方式 中, 所述无数据信息查询请求帧和所述无数据信息查询响应帧为 MAC帧。
第三方面, 本发明实施例提供一种通信设备, 包括: 发送单元、 接收单元 和确定单元, 其中:
所述发送单元, 用于发送所述无数据信息查询请求帧; 所述无数据信息查 询请求帧包含第一控制信息和第一哈希值,所述第一哈希值是对第一信息釆用 第一哈希函数运算后产生的哈希值,所述无数据信息查询请求帧不包含目标地 址;所述第一控制信息至少包括用于指示所述无数据信息查询请求帧的类型的 第一指示信息;
所述接收单元, 用于接收第二设备发送的无数据信息查询响应帧, 所述无 数据信息查询响应帧包含第二控制信息、 第二哈希值和所述第二设备的地址, 第二哈希值是所述第二设备对第二信息釆用第二哈希函数运算后产生的哈希
值, 所述无数据信息查询响应帧不包含目标地址; 所述第二控制信息至少包括 用于指示所述无数据信息查询请求帧的类型的第二指示信息;
所述确定单元, 用于判断第三哈希值与所述第二哈希值一致时, 向第二设 备发送有数据信息查询请求帧, 其中, 所述第三哈希值是对所述第一信息釆用 所述第二哈希函数运算后产生的哈希值,所述有数据信息查询请求帧包含所述 第二设备的地址和所述第一设备的地址,以便所述第二设备接收到所述有数据 信息查询请求帧时对所述有数据信息查询请求帧作出响应。
在第三方面的第一种可能的实现方式中,所述第二信息是指釆用所述第一 哈希函数运算后产生的哈希值与所述第一哈希值一致的信息。
结合第三方面的上述任一实现方式,所述无数据信息查询响应帧包括多个 第二哈希值,所述确定单元还用于判断所述第三哈希值与所述多个第二哈希值 中的至少一个第二哈希值一致时, 向第二设备发送有数据信息查询请求帧。
结合第三方面的上述任一实现方式,在第三方面的第三种可能的实现方式 中, 所述无数据信息查询请求帧的类型包含请求类型或者中性类型;
所述无数据信息查询响应帧的类型包括发布类型或者中性类型。
结合第三方面的上述任一实现方式,在第三方面的第四种可能的实现方式 中,所述无数据信息查询请求帧还携带有用于指示所述第一哈希值的性质的第 三指示信息;
所述无数据信息查询响应帧还携带有用于指示所述第二哈希值的性质的 第四指示信息;
其中, 所述第一哈希值的性质为请求性质或者中性性质; 所述第二哈希值 的性质为发布性质或者中性性质。
第四方面, 本发明实施例提供一种通信设备, 包括: 接收单元、 发送单元 和响应单元, 其中:
所述接收单元,用于获取第一设备发送出的包含第一控制信息和第一哈希 值的无数据信息查询请求帧;所述第一哈希值是对第一信息釆用第一哈希函数 运算后产生的哈希值, 所述无数据信息查询请求帧不包含目标地址; 所述第一 控制信息至少包括用于指示所述无数据信息查询请求帧的类型的第一指示信 息;
所述发送单元, 用于当第二设备存在与所述第一哈希值对应的第二信息 时,发送无数据信息查询响应帧, 所述无数据信息查询响应帧包含第二控制信 息、第二哈希值和所述第二设备的地址, 以使所述第一设备判断第三哈希值与 所述第二哈希值一致时,由所述第一设备向第二设备发送有数据信息查询请求 帧, 其中, 所述第三哈希值是所述第一设备对所述第一信息釆用所述第二哈希 函数运算后产生的哈希值,所述有数据信息查询请求帧包含所述第二设备的地 址和所述第一设备的地址; 其中, 第二哈希值是所述第二设备对所述第二信息 釆用第二哈希函数运算后产生的哈希值,所述无数据信息查询响应帧不包含目 标地址,所述第二控制信息至少包括用于指示所述无数据信息查询请求帧的类 型的第二指示信息;
所述响应单元,用于当接收到所述有数据信息查询请求帧时对所述有数据 信息查询请求帧作出响应。
在第四方面的第一种可能的实现方式中,所述第二信息是指釆用所述第一 哈希函数运算后产生的哈希值与所述第一哈希值一致的信息。
结合第四方面的上述任一实现方式,在第四方面的第二种可能的实现方式 中, 所述无数据信息查询请求帧的类型包含请求类型或者中性类型;
所述无数据信息查询响应帧的类型包括发布类型或者中性类型。
结合第四方面的上述任一实现方式,在第四方面的第三种可能的实现方式 中,所述无数据信息查询请求帧还携带有用于指示所述第一哈希值的性质的第 三指示信息;
所述无数据信息查询响应帧还携带有用于指示所述第二哈希值的性质的 第四指示信息;
其中, 所述第一哈希值的性质为请求性质或者中性性质; 所述第二哈希值 的性质为发布性质或者中性性质。
第五方面, 本发明实施例提供通信设备, 包括: 发送器和接收器, 以及分 别与所述发送器和所述接收器耦合的处理器, 其中,
所述发送器, 用于发送无数据信息查询请求帧; 所述无数据信息查询请求 帧包含第一控制信息和第一哈希值,所述第一哈希值是对第一信息釆用第一哈 希函数运算后产生的哈希值, 所述无数据信息查询请求帧不包含目标地址; 所
述第一控制信息至少包括用于指示所述无数据信息查询请求帧的类型的第一 指示信息;
所述接收器, 用于接收第二设备发送的无数据信息查询响应帧, 所述无数 据信息查询响应帧包含第二控制信息、 第二哈希值和所述第二设备的地址, 第 二哈希值是所述第二设备对第二信息釆用第二哈希函数运算后产生的哈希值 , 所述无数据信息查询响应帧不包含目标地址;所述第二控制信息至少包括用于 指示所述无数据信息查询请求帧的类型的第二指示信息;
所述处理器,用于从所述接收器接收的无数据信息查询响应帧解析出所述 第二哈希值, 并判断第三哈希值与所述第二哈希值是否一致; 所述第三哈希值 是对所述第一信息釆用所述第二哈希函数运算后产生的哈希值;
所述发送器还用于当所述处理器判断第三哈希值与所述第二哈希值一致 时, 向第二设备发送有数据信息查询请求帧, 其中, 所述有数据信息查询请求 帧包含所述第二设备的地址和所述通信设备的地址,以便所述第二设备接收到 所述有数据信息查询请求帧时对所述有数据信息查询请求帧作出响应。
在第五方面的第一种可能的实现方式中,所述第二信息是指釆用所述第一 哈希函数运算后产生的哈希值与所述第一哈希值一致的信息。
结合第五方面的上述任一实现方式,在第五方面的第二种可能的实现方式 中, 所述无数据信息查询响应帧包括多个第二哈希值, 所述处理器还用于判断 所述第三哈希值与所述多个第二哈希值中的至少一个第二哈希值是否一致。
结合第五方面的上述任一实现方式,在第五方面的第三种可能的实现方式 中, 所述无数据信息查询请求帧的类型包含请求类型或者中性类型;
所述无数据信息查询响应帧的类型包括发布类型或者中性类型。
结合第五方面的上述任一实现方式,在第五方面的第四种可能的实现方式 中, 所述无数据信息查询请求帧的类型包含请求类型或者中性类型;
所述无数据信息查询响应帧的类型包括发布类型或者中性类型。
结合第五方面的上述任一实现方式,在第五方面的第五种可能的实现方式 中,所述无数据信息查询请求帧还携带有用于指示所述第一哈希值的性质的第 三指示信息;
所述无数据信息查询响应帧还携带有用于指示所述第二哈希值的性质的
第四指示信息;
其中, 所述第一哈希值的性质为请求性质或者中性性质; 所述第二哈希值 的性质为发布性质或者中性性质。
第六方面, 本发明实施例提供的一种通信设备, 包括: 发送器和接收器, 以及分别与所述发送器和所述接收器耦合的处理器, 其中:
所述接收器,用于获取第一设备发送出的包含第一控制信息和第一哈希值 的无数据信息查询请求帧;所述第一哈希值是对第一信息釆用第一哈希函数运 算后产生的哈希值, 所述无数据信息查询请求帧不包含目标地址; 所述第一控 制信息至少包括用于指示所述无数据信息查询请求帧的类型的第一指示信息; 所述处理器,用于从所述接收器接收的无数据信息查询请求帧解析出所述 第一哈希值, 并判断所述通信设备是否存在与所述第一哈希值对应的第二信 息;
所述发送器,用于当所述处理器判断所述通信设备存在与所述第一哈希值 对应的第二信息时,发送无数据信息查询响应帧, 所述无数据信息查询响应帧 包含第二控制信息、第二哈希值和所述通信设备的地址, 以使所述第一设备判 断第三哈希值与所述第二哈希值一致时,由所述第一设备向通信设备发送有数 据信息查询请求帧, 其中, 所述第三哈希值是所述第一设备对所述第一信息釆 用所述第二哈希函数运算后产生的哈希值,所述有数据信息查询请求帧包含所 述通信设备的地址和所述第一设备的地址; 其中, 第二哈希值是所述处理器对 第二信息釆用第二哈希函数运算后产生的哈希值,所述无数据信息查询响应帧 不包含目标地址,所述第二控制信息至少包括用于指示所述无数据信息查询请 求帧的类型的第二指示信息;
所述处理器还用于当接收到所述有数据信息查询请求帧时对所述有数据 信息查询请求帧作出响应。
在第六方面的第一种可能的实现方式中,所述第二信息是指釆用所述第一 哈希函数运算后产生的哈希值与所述第一哈希值一致的信息。
结合第六方面的上述任一实现方式,在第六方面的第二种可能的实现方式 中, 所述无数据信息查询请求帧的类型包含请求类型或者中性类型;
所述无数据信息查询响应帧的类型包括发布类型或者中性类型。
结合第六方面的上述任一实现方式,在第六方面的第三种可能的实现方式 中,所述无数据信息查询请求帧还携带有用于指示所述第一哈希值的性质的第 三指示信息;
所述无数据信息查询响应帧还携带有用于指示所述第二哈希值的性质的 第四指示信息;
其中, 所述第一哈希值的性质为请求性质或者中性性质; 所述第二哈希值 的性质为发布性质或者中性性质。
上述技术方案中, 无数据信息查询请求帧仅包含第一控制信息、 第一哈希 值, 所述无数据信息查询响应帧仅包含第二控制信息、第二哈希值和第二设备 的地址,在第一设备获取无数据信息查询响应帧时, 当第一设备判断第三哈希 值与所述第二哈希值一致时, 第一设备向第二设备发送有数据信息查询请求 帧, 其中, 所述有数据信息查询请求帧包含所述第二设备的地址和所述第一设 备的地址,以便所述第二设备接收到所述有数据信息查询请求帧时对所述有数 据信息查询请求帧作出响应。本发明实施例中的无数据信息查询请求帧和无数 据信息查询响应帧比现有技术中的帧要短,使得查询占用网络资源少, 导致网 络资源利用率高。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施 例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地, 下面描述 中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲, 在不付 出创造性劳动的前提下, 还可以根据这些附图获得其他的附图。
图 1是本发明实施例提供的一种信息查询方法的流程示意图;
图 2-图 7是本发明实施例提供的可选的无数据帧的结构示意图; 图 8是本发明实施例提供的另一种信息查询方法的流程示意图; 图 9是本发明实施例提供的另一种信息查询方法的流程示意图; 图 10是本发明实施例提供的一种通信设备的结构示意图;
图 11是本发明实施例提供的另一种通信设的结构示意图;
图 12是本发明实施例提供的另一种通信设备的结构示意图;
图 13是本发明实施例提供的另一种通信设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清 楚、 完整地描述, 显然, 所描述的实施例仅仅是本发明一部分实施例, 而不是 全部的实施例。基于本发明中的实施例, 本领域普通技术人员在没有作出创造 性劳动前提下所获得的所有其他实施例, 都属于本发明保护的范围。
在本发明实施例中, 设备的地址可以是设备的 MAC地址。 另夕卜, 本发明 实施例中的设备可以通信网络中任何设备, 例如: WiFi 网络的中任何通信设 备, 例如: 手机、 计算机、 平板电脑、 打印机等通信设备。 第一设备可以是通 信网络中任何通信设备,第二设备可以是通信网络中除第一设备之外的任何通 信设备。
在本发明实施例中,无数据信息查询请求帧是本发明实施例提出的没有帧 体部分的帧, 只有帧头和校验码的数据帧。本发明实施例对无数据信息查询请 求帧帧头的内容也有定义, 即不会包括目标地址。 在现有 WiFi的 IEEE802.il 协议中, 目标地址包括接收地址 ( Receive Address , RA ) 和目的地址
( Destination Address , DA ), RA表示 RA所在的帧的下一跳接收地址, DA 表示 DA所在的帧的最终的目的地址。 本发明实施例说的不包含目标地址, 就 是说既不包含 RA, 也不包含 DA。 而且无数据信息查询请求帧的帧头中包含 哈希值, 而且没有现有 IEEE802.il协议中定义的其他帧体里面的信息元素。 同时, 无数据信息查询请求帧不包含发送地址, 该发送地址可以发送地址
( Source Address, SA ), 即发送无数据信息查询请求帧的设备的地址, 例如第 一设备的地址, 也可以是转发无数据信息查询请求帧的设备的地址。 同样, 无 数据信息查询响应帧是本发明实施例提出的没有帧体部分的帧,只有帧头和校 验码的数据帧。 本发明实施例对无数据信息查询响应帧帧头的内容也有定义, 即包含发送地址, 但不会包括帧接收地址, 同时, 所述无数据信息查询响应帧 不包含发送地址, 该发送地址指转发无数据信息查询响应帧的设备的地址。 而 且无数据信息查询响应帧的帧头中包含哈希值, 而且没有现有 IEEE802.il协 议中定义的其他帧体里面的信息元素。 而现有的帧是包括帧头、 帧体和校验码 三个部分或者有时候有些帧没有帧体。由于本发明实施例提供的无数据信息查
询请求帧和无数据信息查询响应帧的结构简单,且可以携带更多的信息,例如, 可以携带更多哈希值。其中, 该无数据信息查询请求帧和无数据信息查询响应 帧可以是媒体访问控制 (Media Access Control Address, MAC ) 帧。 有数据信 息查询请求帧是现有的遵循 802.11 协议定义的管理帧, 这些帧同时具有接收 地址 RA和发送地址 ( transmit address, 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 Access Memory, 简称 RAM )等。
以上所揭露的仅为本发明较佳实施例而已,当然不能以此来限定本发明之 权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。