一种业务发现方法和装置的制造方法
【技术领域】
[0001]本发明涉及通信技术领域,特别是涉及一种业务发现方法和装置。
【背景技术】
[0002]无线保真(Wireless Fidelity,简称W1-Fi)联盟制定了临近发现网络(NeighborAwareness Network,简称NAN)的标准规范。此规范旨于实现低功耗地、快速地发现周围设备提供的业务。
[0003]NAN技术是通过时间同步,在约定好的发现时间窗内进行业务发现。目前,标准中定义了 2大类消息:信标Beacon和业务发现消息。
[0004]信标Beacon分为同步Beacon和发现Beacon。发现Beacon在发现时间窗外传输,用于发现NAN簇(NAN Cluster)。其中,NAN Cluster是由多个设备组成的团体,该团体中的设备时间同步、且使用相同的时间窗进行业务发现。同步Beacon用于使NAN Cluster内的设备时间同步。
[0005]业务发现消息(NAN Service Discovery Frame,简称NAN SDF)在发现时间窗内传输,可以使设备发现其所在的NAN Cluster内其他设备提供的业务。进一步地,每个设备使用Publish类型的业务发现消息广播自己提供的业务,使用Subscribe类型的业务发现消息广播自己所需业务。
[0006]然而,NAN Cluster内的每个设备都必须在发现时间窗内进行业务监听,包括广播自己的业务、或者接收其他设备的业务需求,来完成业务发现。低功耗设备频繁的在发现时间窗内进行业务发现,会增加设备的耗电量,而若使低功耗设备在发现时间窗内休眠,则其他设备将不能够发现其提供的业务。
[0007]因此,亟待本领域解决的技术问题是使NAN Cluster内的低功耗设备在一个或多个业务发现时间窗内休眠,而不影响其他设备发现其提供的业务。
【发明内容】
[0008]本发明提供一种业务发现方法和装置,用以使NAN Cluster内的低功耗设备在一个或多个业务发现时间窗内休眠,而不影响其他设备发现其提供的业务。
[0009]针对上述技术问题,本发明是通过以下技术方案来解决的。
[0010]本发明提供了一种业务发现方法,可休眠设备侧的步骤包括:可休眠设备在休眠之前,发现提供缓存业务的缓存设备;向所述缓存设备发送携带所述可休眠设备的缓存信息的业务发现消息,以便在所述可休眠设备休眠期间,普通设备通过所述缓存设备发现所述可休眠设备提供的业务;其中,所述缓存信息包括:所述可休眠设备的业务信息。
[0011]其中,所述发现提供缓存业务的缓存设备,包括:广播发送业务标识表示缓存业务的业务发现查询消息;接收缓存设备根据所述业务发现查询消息返回的业务标识表示缓存业务的业务发现推送消息。
[0012]其中,向所述缓存设备发送携带所述可休眠设备的缓存信息的业务发现消息,包括:向所述缓存设备发送业务标识表示缓存业务、且携带所述可休眠设备的缓存信息的第一业务发现跟进消息;接收所述缓存设备根据所述第一业务发现跟进消息返回的第二业务发现跟进消息。
[0013]其中,向所述缓存设备发送携带所述可休眠设备的缓存信息的业务发现消息,还包括:如果连续预定次数向所述缓存设备发送所述第一业务发现跟进消息,都未收到所述缓存设备返回的第二业务发现跟进消息,则在可休眠设备休眠之前,重新发现提供缓存业务的缓存设备。
[0014]其中,缓存信息还包括:所述可休眠设备的设备信息和休眠时间;所述业务信息包括:所述可休眠设备能够提供的业务的业务标识;或者,所述业务信息包括:所述可休眠设备能够提供的业务的业务标识及所述业务标识对应的实例标识。
[0015]本发明还提供了一种业务发现方法,缓存设备侧的步骤包括:接收可休眠设备在其休眠之前发送的业务发现消息;缓存所述业务发现消息中携带的所述可休眠设备的缓存信息;其中,所述缓存信息包括:所述可休眠设备的业务信息;在所述可休眠设备休眠期间,基于所述缓存信息,向普通设备提供所述可休眠设备的业务信息。
[0016]其中,所述接收可休眠设备在其休眠之前发送的业务发现消息,包括:接收可休眠设备在其休眠之前发送的第一业务发现跟进消息;其中,所述第一业务发现跟进消息的业务标识表示缓存业务、且携带所述可休眠设备的缓存信息。
[0017]其中,所述接收可休眠设备在其休眠之前发送的第一业务发现跟进消息之后,还包括:根据所述第一业务发现跟进消息,向所述可休眠设备返回第二业务发现跟进消息。
[0018]其中,在所述接收可休眠设备在其休眠之前发送的第一业务发现跟进消息之前,还包括:接收可休眠设备在其休眠之前广播发送的业务标识表示缓存业务的业务发现查询消息;根据所述业务发现查询消息,向所述可休眠设备返回业务标识表示缓存业务的业务发现推送消息,以表示所述缓存设备提供缓存业务。
[0019]其中,在所述接收可休眠设备在其休眠之前广播发送的业务标识表示缓存业务的业务发现查询消息之前,还包括:创建提供缓存业务的推送实例,并赋予预设的实例标识。
[0020]其中,缓存所述业务发现消息中携带的所述可休眠设备的缓存信息,包括:查找本地是否缓存了所述可休眠设备的缓存信息;若是,则利用所述业务发现消息中携带的所述可休眠设备的缓存信息,更新本地存储的所述可休眠设备的缓存信息;若否,则缓存所述业务发现消息中携带的所述可休眠设备的缓存信息。
[0021]其中,缓存信息还包括:所述可休眠设备的设备信息和休眠时间;所述业务信息包括:所述可休眠设备能够提供的业务的业务标识;或者,所述业务信息包括:所述可休眠设备能够提供的业务的业务标识及所述业务标识对应的实例标识。
[0022]其中,缓存所述业务发现消息中携带的所述可休眠设备的缓存信息,包括:在缓存时限内,缓存所述业务发现消息中携带的所述可休眠设备的缓存信息;其中,所述缓存时限为所述休眠时间+所述休眠时间过后的第一个业务发现时间窗口。
[0023]其中,基于所述缓存信息,向普通设备提供所述可休眠设备的业务信息,包括:接收普通设备广播发送的携带需要查询的业务标识的业务发现查询消息;如果所述普通设备需要查询的业务标识和已经缓存的可休眠设备的业务标识相同,则将所述可休眠设备的缓存信息通过业务发现推送消息单播发送给所述普通设备。
[0024]本发明还提供了一种业务发现方法,普通设备侧的步骤包括:广播发送包含需要查询的业务标识的业务发现查询消息;接收缓存设备单播发送的业务发现推送消息;其中,所述业务发现推送消息携带可休眠设备在其休眠之前缓存在所述缓存设备中的缓存信息;存储所述可休眠设备的缓存信息,待所述可休眠设备苏醒之后,根据所述缓存信息与所述可休眠设备进行业务交互。
[0025]其中,缓存信息包括:所述可休眠设备的设备信息、业务信息和休眠时间;所述业务信息包括:所述可休眠设备能够提供的业务的业务标识;或者,所述业务信息包括:所述可休眠设备能够提供的业务的业务标识及所述业务标识对应的实例标识。
[0026]其中,所述可休眠设备苏醒之后,根据所述缓存信息与所述可休眠设备进行业务交互,包括:如果接收到的缓存信息包括业务标识对应的实例标识,则直接通过第一业务发现跟进消息和所述可休眠设备进行业务交互;如果接收到的缓存信息不包括业务标识对应的实例标识,则先向所述可休眠设备单播发送业务发现查询消息,待接收到所述可休眠设备返回的携带有所述业务标识对应的实例标识的业务发现推送消息之后,再通过第一业务发现跟进消息和所述可休眠设备进行业务交互。
[0027]本发明还提供了一种业务发现装置,设置在可休眠设备侧的所述装置包括:第一收发模块,用于在可休眠设备休眠之前,发现提供缓存业务的缓存设备;向所述缓存设备发送携带所述可休眠设备的缓存信息的业务发现消息,以便在所述可休眠设备休眠期间,普通设备通过所述缓存设备发现所述可休眠设备提供的业务;其中,所述缓存信息包括:所述可休眠设备的业务信息。
[0028]其中,所述第一收发模块用于:广播发送业务标识表示缓存业务的业务发现订阅消息;接收缓存设备根据所述业务发现订阅消息返回的业务标识表示缓存业务的业务发现推送消息。
[0029]其中,所述第一收发模块用于:向所述缓存设备发送业务标识表示缓存业务、且携带所述可休眠设备的缓存信息的第一业务发现跟进消息;接收所述缓存设备根据所述第一业务发现跟进消息返回的第二业务发现跟进消息。
[0030]其中,所述第一收发模块还用于:如果连续预定次数向所述缓存设备发送所述第一业务发现跟进消息,都未收到所述缓存设备返回的第二业务发现跟进消息,则在可休眠设备休眠之前,重新发现提供缓存业务的缓存设备。
[0031]其中,缓存信息还包括:所述可休眠设备的设备信息和休眠时间;所述业务信息包括:所述可休眠设备能够提供的业务的业务标识;或者,所述业务信息包括:所述可休眠设备能够提供的业务的业务标识及所述业务标识对应的实例标识。
[0032]本发明还提供了一种业务发现装置,设置在缓存设备侧的所述装置包括:第二收发模块,用于接收可休眠设备在其休眠之前发送的业务发现消息;缓存模块,用于缓存所述业务发现消息中携带的所述可休眠设备的缓存信息;其中,所述缓存信息包括:所述可休眠设备的业务信息;所述第二收发模块,还用于在所述可休眠设备休眠期间,基于所述缓存信息,向普通设备提供所述可休眠设备的业务信息。
[0033]其中,所述第二收发模块用于:接收可休眠设备在其休眠之前发送的第一业务发现跟进消息;其中,所述第一业务发现跟进消息的业务标识表示缓存业务、且携带所述可休眠设备的缓存信息。
[0034]其中,所述第二收发模块还用于:根据所述第一业务发现跟进消息,向所述可休眠设备返回第二业务发现跟进消息。
[0035]其中,所述第二收发模块还用于:在所述接收可休眠设备在其休眠之前发送的第一业务发现跟进消息之前,接收可休眠设备在其休眠之前广播发送的业务标识表示缓存业务的业务发现订阅消息;根据所述业务发现订阅消息,向所述可休眠设备返回业务标识表示缓存业务的业务发现推送消息,以表示所述缓存设备提供缓存业务。
[0036]其中,所述装置还包括创建模块;所述创建模块,用于在所述接收可休眠设备在其休眠之前广播发送的业务标识表示缓存业务的业务发现订阅消息之前,创建提供缓存业务的推送实例,并赋予预设的实例标识。
[0037]其中,所述缓存模块用于:查找本地是否缓存了所述可休眠设备的缓存信息;若是,则利用所述业务发现消息中携带的所述可休眠设备的缓存信息,更新本地存储的所述可休眠设备的缓存信息;若否,则缓存所述业务发现消息中携带的所述可休眠设备的缓存
?目息O
[0038]其中,缓存信息还包括:所述可休眠设备的设备信息和休眠时间;所述业务信息包括:所述可休眠设备能够提供的业务的业务标识;或者,所述业务信息包括:所述可休眠设备能够提供的业务的业务标识及所述业务标