CN105577732B - 一种服务发现方法、相关设备、及系统 - Google Patents

一种服务发现方法、相关设备、及系统 Download PDF

Info

Publication number
CN105577732B
CN105577732B CN201410608742.2A CN201410608742A CN105577732B CN 105577732 B CN105577732 B CN 105577732B CN 201410608742 A CN201410608742 A CN 201410608742A CN 105577732 B CN105577732 B CN 105577732B
Authority
CN
China
Prior art keywords
service
network
discovery
same
found
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201410608742.2A
Other languages
English (en)
Other versions
CN105577732A (zh
Inventor
方平
杨云松
陈济
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201410608742.2A priority Critical patent/CN105577732B/zh
Priority to EP15854140.9A priority patent/EP3206373B1/en
Priority to PCT/CN2015/093239 priority patent/WO2016066124A1/zh
Publication of CN105577732A publication Critical patent/CN105577732A/zh
Priority to US15/581,671 priority patent/US10728344B2/en
Application granted granted Critical
Publication of CN105577732B publication Critical patent/CN105577732B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/51Discovery or management thereof, e.g. service location protocol [SLP] or web services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/40Support for services or applications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/141Setup of application sessions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W76/00Connection management
    • H04W76/10Connection setup
    • H04W76/14Direct-mode setup
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W84/00Network topologies
    • H04W84/02Hierarchically pre-organised networks, e.g. paging networks, cellular networks, WLAN [Wireless Local Area Network] or WLL [Wireless Local Loop]
    • H04W84/10Small scale networks; Flat hierarchical networks
    • H04W84/12WLAN [Wireless Local Area Networks]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

本发明实施例提供了一种服务发现方法、相关设备、及系统,包括:服务请求端针对相同服务分别基于不同网络进行服务发现;并通过不同网络中能够发现相同服务的每一个网络,对应接收提供相同服务的服务提供端提供的标识信息,标识信息用于标识服务提供端;当通过至少两个网络获得的标识信息匹配时,确定基于该至少两个网络进行服务发现所发现的服务为同一服务提供端提供的同一服务;并在同一次访问该同一服务中,通过该至少两个网络进行业务数据传输。本发明解决现有技术中上层业务的数据传输对该上层业务所基于的网络连接依赖性强导致灵活性差的问题。本发明涉及通信技术领域。

Description

一种服务发现方法、相关设备、及系统
技术领域
本发明涉及通信技术领域,尤其涉及一种服务发现方法、相关设备、及系统。
背景技术
针对无线保真(Wi-Fi,Wireless Fidelity)通信,国际电子电器工程师协会(IEEE,Institute of Electrical and Electronics Engineers)制订的无线局域网标准802.11定义了两种网络通信方式:第一种通信方式为基于基础设施的通信方式。在第一种通信方式中,将一个节点作为接入点(AP,Access Point),将该节点之外的其他节点作为站点(STA,Station),其中,接入点提供接入服务,其他节点与接入点连接,通过接入点接入网络。第二种通信方式为独立的基础服务集(IBSS,independent basic service set)方式。在第二种通信方式中,每个节点都是平等的站点,各节点两两间建立连接。
在后续的发展过程中,为了进一步便于使用,Wi-Fi联盟(WFA,Wi-Fi Alliance)在802.11标准的基础上制订了Wi-Fi Direct标准。Wi-Fi Direct标准在802.11的基础上,进一步定义了两个节点间如何发现,以及如何建立连接。具体地,可以让节点均在1、6、11这三个信道上随机地发送探测消息或者监听其他节点发送的探测消息,如果监听到其他节点发送的探测消息并进行了回复,可以认为两个节点完成了相互发现,然后该两个节点可以协商群主(GO,Group Owner)以及群成员(Group Client)的角色,通常作为群主的节点相当于接入点的角色,作为群成员的节点相当于站点角色。群成员节点可以向群主节点申请关联,然后建立连接。
但是,Wi-Fi Direct标准仅是实现Wi-Fi层面的发现以及连接问题,对于Wi-Fi层面之上的业务层面并没有统一的标准。为了解决这个问题,WFA又制订了Wi-Fi Direct服务(WFDS,Wi-Fi Direct Service)标准。这个标准是在Wi-Fi Direct的基础上,将上层业务的交互也进行了规范化,以便于各厂家的上层业务能够互通。例如,针对文件传输业务,可以使用统一的文件传输协议。
这样,上层应用可以基于Wi-Fi连接进行上层业务的数据传输。下面以应用会话平台(ASP,Application Session Platform)为例,ASP可以基于Wi-Fi连接(现有技术中为直连(P2P,Peer to Peer)连接)建立ASP会话,并通过建立的ASP会话承载上层业务数据传输。
进一步地,在建立ASP会话之前需要首先进行基于P2P进行服务发现,图1为在Wi-Fi层面节点A和节点B通过P2P进行服务发现的流程图,服务发现之后节点A和节点B之间建立P2P网络,然后在P2P连接之上建立ASP session,图2为WFDS在P2P连接之上建立ASPsession的流程图。
如图1所示,节点A表征WFDS中Advertiser的角色,也就是服务的提供方,节点B表征WFDS中Seeker的角色,也就是查找服务方,P2P表征在Wi-Fi层面进行连接的P2P模块,Service表征服务模块,ASP表征ASP模块。通过P2P进行服务发现的流程如下:
S101、节点A的Service模块向节点A的ASP模块发送AdvertiseService消息,使节点A的ASP模块能够接收其他节点的服务请求;
S102、节点B的Service模块向节点B的ASP模块发送SeekService消息,指示节点B的ASP模块对指定服务进行查询;
S103、节点B的ASP模块通过节点B的P2P模块发送用于查询指定服务的查询消息;
S104、节点A的ASP模块通过节点A的P2P模块接收到该查询消息,确定节点B查询的服务即为节点A能够提供的服务;
S105、节点A的ASP模块通过节点A的P2P模块向节点B的P2P模块发送查询响应消息。
在服务发现流程之后,节点B确定节点A提供的服务即为自己需要的服务,可以使节点A和设备B之间建立P2P连接,并基于建立的P2P连接建立ASP会话session,如图2所示,建立ASP session的流程如下:
S201、节点B的Service模块向自身ASP模块发送建立ASP session的指示ConnectSessions。
S202、节点B的ASP模块接收到ConnectSessions指示后,与节点A的ASP模块之间交互版本VERSION消息。
S203、通信双方进行版本确认之后,节点B中的ASP模块向节点A的ASP模块发送REQUEST_SESSION消息表征请求建立ASP session。
S204、节点A中的ASP模块接收到REQUEST_SESSION消息之后,与节点A中的Service模块交互节点B的请求信息,并确定进行会话准备。
S205、节点A中的ASP模块向节点B中的ASP模块发送增加会话ADDED_SESSION消息,表征同意与节点B建立ASP session。
S206、节点A中的Service模块与节点A中的ASP模块交互节点A使用的端口信息,并确定使用的端口。
S207、节点A中的ASP模块向节点B中的ASP模块发送允许端口ALLOWED PORT消息,告知节点B自身已经将端口打开。
S208、节点B中的ASP模块向节点B中的Service模块发送端口报告PortReport消息,表征向Service模块汇报节点A已经将端口打开,并与节点B中的Service模块交互节点B使用的端口信息,并确定使用的端口。
S209、节点B中的ASP模块向节点A中的ASP模块发送允许端口ALLOWED PORT消息,告知节点A自身已经将端口打开。
S210、节点A中的ASP模块向节点A中的Service模块发送端口报告PortReport消息,表征向Service模块汇报节点B的端口已打开,双方可以进行通信。
此后,节点A和节点B中的Service模块之间可以建立服务连接并传输业务数据。
可见,现有技术中,上层业务数据传输是基于P2P的连接,而当P2P连接发生问题,例如:在节点A和节点B之间建立了P2P连接之后,节点A和节点B之间的距离越来越远,导致该P2P连接的信号越来越差,以至于连接中断,那么,基于该P2P连接的上层业务将中断业务。这就使得上层业务的数据传输对该上层业务建立时所基于的底层P2P连接的依赖强,灵活性差。
发明内容
本发明实施例提供了一种服务发现方法、相关设备、及系统,用以解决现有技术中上层业务的数据传输对该上层业务所基于的网络连接依赖性强导致灵活性差的问题。
第一方面,提供一种服务发现方法,包括:
服务请求端针对相同服务分别基于不同网络进行服务发现;并
通过所述不同网络中能够发现所述相同服务的每一个网络,对应接收提供所述相同服务的服务提供端提供的标识信息,所述标识信息用于标识服务提供端;
所述服务请求端当通过至少两个网络获得的标识信息匹配时,确定基于所述至少两个网络进行服务发现所发现的服务为同一服务提供端提供的同一服务;并
在同一次访问所述同一服务中,通过所述至少两个网络进行业务数据传输。
结合第一方面,在第一种可能的实现方式中,所述服务请求端针对相同服务分别基于不同网络进行服务发现,具体包括:所述服务请求端中的服务模块向所述服务请求端中的应用会话平台ASP模块发送第一服务发现指示;所述ASP模块根据所述第一服务发现指示,通过预设网络发送包含所述相同服务的第一服务发现请求,其中,所述第一服务发现请求中携带有所述相同服务的服务标识,所述预设网络包括所述不同网络中的网络;所述通过所述不同网络中能够发现所述相同服务的每一个网络,对应接收提供所述相同服务的服务提供端提供的标识信息,具体包括:所述ASP模块通过所述预设网络中能够发现所述相同服务的网络分别对应接收服务提供端发送的第一服务发现响应;其中,所述第一服务发现响应中携带有标识信息。
结合第一方面的第一种可能的实现方式,在第二种可能的实现方式中,当所述ASP模块通过至少一个网络接收到第一服务发现响应时,还包括:所述ASP模块将根据第一服务发现响应确定的第一服务发现结果上报所述服务模块;其中,所述第一服务发现结果包括能够发现所述相同服务的每一个网络的网络信息、以及对应通过能够发现所述相同服务的每一个网络发现的服务提供端的信息;或者,所述第一服务发现结果包括能够发现所述相同服务的每一个网络发现的服务提供端的信息;所述服务模块指示所述ASP模块与第一服务提供端建立第一ASP会话;其中,所述第一服务提供端为所述服务模块从上报的第一服务发现结果中确定的;且所述第一服务提供端为通过第一网络发现的;所述服务模块通过建立的第一ASP会话承载通过所述第一网络发现的所述相同服务的业务数据传输。
结合第一方面的第二种可能的实现方式,在第三种可能的实现方式中,所述第一服务发现结果还包括通过能够发现所述相同服务的网络所接收的标识信息;所述所述服务请求端当通过至少两个网络获得的标识信息匹配时,确定基于所述至少两个网络进行的服务发现所发现的服务为同一服务提供端提供的同一服务,具体包括:所述服务模块从上报的所述第一服务发现结果中包括的标识信息中,确定与所述第一网络接收的标识信息匹配的标识信息;当确定出与所述第一网络接收的标识信息匹配的标识信息时,确定通过接收到匹配的标识信息的网络所发现的服务与通过所述第一网络所发现的服务为同一服务提供端提供的同一服务;所述在同一次访问所述同一服务中,通过所述至少两个网络进行业务数据传输,具体包括:所述服务模块指示所述ASP模块与第二服务提供端建立第二ASP会话;其中,所述第二服务提供端为所述服务模块从接收到匹配的标识信息的网络所发现的服务提供端中确定的;且所述第二服务提供端为通过第二网络发现的;并将所述第一ASP会话所承载的业务数据承载在所述第二ASP会话上继续当前的业务数据传输。
结合第一方面的第二种可能的实现方式,在第四种可能的实现方式中,所述服务请求端针对相同服务分别基于不同网络进行服务发现;并通过所述不同网络中能够发现所述相同服务的每一个网络,对应接收提供所述相同服务的服务提供端提供的标识信息,所述标识信息用于标识服务提供端,具体包括:所述服务请求端中的服务模块向所述服务请求端中的ASP模块发送第一服务发现指示;所述ASP模块根据所述第一服务发现指示,通过至少一个网络发送包含所述相同服务的第一服务发现请求,其中,所述第一服务发现请求中携带有所述相同服务的服务标识;所述ASP模块通过所述至少一个网络中能够发现所述相同服务的网络对应接收服务提供端发送的第一服务发现响应;其中,所述第一服务发现响应中携带有标识信息;所述ASP模块将根据第一服务发现响应确定的第一服务发现结果上报所述服务模块;其中,所述第一服务发现结果包括能够发现所述相同服务的网络的网络信息、以及对应通过能够发现所述相同服务的网络发现的服务提供端的信息;或者,所述第一服务发现结果包括能够发现所述相同服务的网络发现的服务提供端的信息;所述服务模块指示所述ASP模块与第一服务提供端建立第一ASP会话;其中,所述第一服务提供端为所述服务模块从上报的第一服务发现结果中确定的;且所述第一服务提供端为通过第一网络发现的;所述服务模块通过建立的第一ASP会话承载通过所述第一网络发现的所述相同服务的业务数据传输;所述服务模块向所述ASP模块发送第二服务发现指示;所述ASP模块根据所述第二服务发现指示,通过至少一个网络发送包含所述相同服务的第二服务发现请求;其中,所述第二服务发现请求中携带有所述相同服务的服务标识;所述ASP模块通过所述至少一个网络中能够发现所述相同服务的网络对应接收服务提供端发送的第二服务发现响应;其中,所述第二服务发现响应中携带有标识信息;所述ASP模块将根据第二服务发现响应确定的第二服务发现结果上报所述服务模块;其中,所述第二服务发现结果包括根据接收的第二服务发现响应确定的能够发现所述相同服务的网络的网络信息、以及对应通过能够发现所述相同服务的网络发现的服务提供端的信息、以及对应通过能够发现所述相同服务的网络接收的标识信息;或者,所述第二服务发现结果包括根据接收的第二服务发现响应确定的通过能够发现所述相同服务的网络发现的服务提供端的信息、以及对应通过能够发现所述相同服务的网络接收的标识信息。
结合第一方面的第四种可能的实现方式,在第五种可能的实现方式中,所述当通过至少两个网络获得的标识信息匹配时,确定基于所述至少两个网络进行的服务发现所发现的服务为同一服务提供端提供的同一服务,具体包括:所述服务模块从上报的所述第二服务发现结果中包括的标识信息中,确定与所述第一网络接收的标识信息匹配的标识信息;当确定出与所述第一网络接收的标识信息匹配的标识信息时,确定通过接收到匹配的标识信息的网络所发现的服务与通过所述第一网络所发现的服务为同一服务提供端提供的同一服务;所述在同一次访问所述同一服务中,通过所述至少两个网络进行业务数据传输,具体包括:所述服务模块指示所述ASP模块与第二服务提供端建立第二ASP会话;其中,所述第二服务提供端为所述服务模块从接收到匹配的标识信息的网络所发现的服务提供端中确定的,且所述第二提供端为通过第二网络发现的;并将所述第一ASP会话所承载的业务数据承载在所述第二ASP会话上继续当前的业务数据传输。
结合第一方面的第一种可能的实现方式,在第六种可能的实现方式中,当所述ASP模块通过至少两个网络接收到第一服务发现响应时,还包括:所述ASP模块将根据第一服务发现响应确定的第一服务发现结果上报所述服务模块;其中,所述第一服务发现结果包括能够发现所述相同服务的每一个网络的网络信息、以及对应通过能够发现所述相同服务的每一个网络发现的服务提供端的信息、以及对应通过能够发现所述相同服务的每一个网络接收的标识信息;或者,所述第一服务发现结果包括通过能够发现所述相同服务的每一个网络发现的服务提供端的信息、以及对应通过能够发现所述相同服务的每一个网络接收的标识信息;所述当通过至少两个网络获得的标识信息匹配时,确定基于所述至少两个网络进行的服务发现所发现的服务为同一服务提供端提供的同一服务,具体包括:所述服务模块从上报的标识信息中,确定匹配的标识信息;当确定出匹配的标识信息时,确定通过接收到匹配的标识信息的网络所发现的服务为同一服务提供端提供的同一服务;在确定通过接收到匹配的标识信息的网络所发现的服务为同一服务提供端提供的同一服务之后,还包括:所述服务模块指示所述ASP模块与提供所述同一服务的所述同一服务提供端建立ASP会话;并从所述ASP模块分别基于发现所述同一服务提供端提供的同一服务的网络建立的各ASP会话中,确定第一ASP会话,并通过基于第一网络建立的所述第一ASP会话承载所述同一服务提供端提供的同一服务的业务数据。
结合第一方面的第六种可能的实现方式,在第七种可能的实现方式中,所述在同一次访问所述同一服务中,通过所述至少两个网络进行业务数据传输,具体包括:所述服务模块将所述第一ASP会话所承载的业务数据承载在第二ASP会话上继续当前的业务数据传输,其中,所述第二ASP会话为基于第二网络建立的,所述第二网络为从发现所述同一服务提供端提供的同一服务的网络中确定的除所述第一网络之外的网络。
结合第一方面的第一种可能的实现方式,在第八种可能的实现方式中,当所述ASP模块通过至少两个网络接收到第一服务发现响应时,还包括:所述ASP模块将根据第一服务发现响应确定的第一服务发现结果上报所述服务模块;其中,所述第一服务发现结果包括能够发现所述相同服务的每一个网络的网络信息、以及对应通过能够发现所述相同服务的每一个网络发现的服务提供端的信息、以及对应通过能够发现所述相同服务的每一个网络接收的标识信息;或者,所述第一服务发现结果包括通过能够发现所述相同服务的每一个网络发现的服务提供端的信息、以及对应通过能够发现所述相同服务的每一个网络接收的标识信息;所述当通过至少两个网络获得的标识信息匹配时,确定基于所述至少两个网络进行的服务发现所发现的服务为同一服务提供端提供的同一服务,具体包括:所述服务模块从上报的标识信息中,确定匹配的标识信息;当确定出匹配的标识信息时,确定通过接收到匹配的标识信息的网络所发现的服务为同一服务提供端提供的同一服务;在确定通过接收到匹配的标识信息的网络所发现的服务为同一服务提供端提供的同一服务之后,还包括:所述服务模块指示所述ASP模块与提供所述同一服务的所述同一服务提供端建立ASP会话;所述在同一次访问所述同一服务中,通过所述至少两个网络进行业务数据传输,具体包括:通过建立的所述各ASP会话承载所述同一服务提供端提供的同一服务的业务数据。
结合第一方面的第三种可能的实现方式,或者结合第一方面的第五种可能的实现方式,或者结合第一方面的第七种可能的实现方式,在第九种可能的实现方式中,将所述第一ASP会话所承载的业务数据承载在所述第二ASP会话上继续当前的业务数据传输,具体包括:所述服务模块停止使用第一端口与所述服务提供端进行业务数据交互,其中,所述第一端口为所述第一ASP会话承载的业务会话使用的、所述第一网络对应的网络地址的可用端口;并将使用所述第一端口与所述服务提供端最后一次交互的业务数据之后的业务数据,通过第二端口与所述服务提供端进行交互,其中,所述第二端口为所述第二ASP会话承载的业务会话使用的、所述第二网络对应的网络地址的可用端口。
结合第一方面,或者结合第一方面的第一种可能的实现方式至第一方面的第八种可能的实现方式中的任一种可能的实现方式,在第十种可能的实现方式中,所述标识信息为所标识的服务提供端基于该服务提供端的MAC地址生成的。
结合第一方面的第二种可能的实现方式至第一方面的第八种可能的实现方式中的任一种可能的实现方式,在第十一种可能的实现方式中,所述能够发现所述相同服务的网络包括P2P网络;基于所述P2P网络建立ASP会话,具体包括:在所述服务请求端和所述服务提供端之间建立P2P连接;基于建立的P2P连接建立ASP会话。
结合第一方面,或者结合第一方面的第一种可能的实现方式至第一方面的第八种可能的实现方式中的任一种可能的实现方式,在第十二种可能的实现方式中,所述不同网络为以下不同类型的网络中至少两个不同的网络:有线网络、基础设施网络、P2P网络、蓝牙网络、NFC网络、LTE网络、以及Powerline网络。
第二方面,提供一种数据传输方法,包括:
服务提供端针对服务请求端对所述服务提供端提供的相同服务进行服务发现时所通过的至少两个网络中的每一个网络,向所述服务请求端提供标识信息,所述标识信息用于标识所述服务提供端;并
通过所述至少两个网络对所述相同服务进行业务数据传输。
结合第二方面,在第一种可能的实现方式中,针对服务请求端对所述服务提供端提供的相同服务进行服务发现时所通过的至少两个网络中的每一个网络,向服务请求端提供标识信息,具体包括:接收服务请求端进行服务发现时通过的至少两个网络中的每一个网络发送的包含对所述服务提供端提供的相同服务进行服务发现的服务发现请求;当根据所述服务发现请求中携带的服务标识,服务提供端确定自身能够提供所述服务标识所标识的服务时,向所述服务请求端发送服务发现响应;其中,所述服务发现响应中携带有标识信息。
第三方面,提供一种服务请求设备之一,包括:
应用会话平台ASP模块,用于针对相同服务分别基于不同网络进行服务发现;以及通过所述不同网络中能够发现所述相同服务的每一个网络,对应接收提供所述相同服务的服务提供端提供的标识信息,所述标识信息用于标识服务提供端;
服务模块,用于当所述ASP模块通过至少两个网络获得的标识信息匹配时,确定基于所述至少两个网络进行服务发现所发现的服务为同一服务提供端提供的同一服务;以及在同一次访问所述同一服务中,通过所述至少两个网络进行业务数据传输。
结合第三方面,在第一种可能的实现方式中,所述服务模块,还用于在所述ASP模块进行服务发现之前,向所述ASP模块发送第一服务发现指示;所述ASP模块,具体用于根据所述服务模块发送的第一服务发现指示,通过预设网络发送包含所述相同服务的第一服务发现请求,其中,所述第一服务发现请求中携带有所述相同服务的服务标识,所述预设网络包括所述不同网络中的网络;以及通过所述预设网络中能够发现所述相同服务的网络分别对应接收服务提供端发送的第一服务发现响应;其中,所述第一服务发现响应中携带有标识信息。
结合第三方面的第一种可能的实现方式,在第二种可能的实现方式中,所述ASP模块,还用于当通过至少一个网络接收到第一服务发现响应时,将根据第一服务发现响应确定的第一服务发现结果上报所述服务模块;其中,所述第一服务发现结果包括能够发现所述相同服务的每一个网络的网络信息、以及对应通过能够发现所述相同服务的每一个网络发现的服务提供端的信息;或者,所述第一服务发现结果包括能够发现所述相同服务的每一个网络发现的服务提供端的信息;所述服务模块,还用于指示所述ASP模块与第一服务提供端建立第一ASP会话;通过建立的第一ASP会话承载通过所述第一网络发现的所述相同服务的业务数据传输;其中,所述第一服务提供端为所述服务模块从上报的第一服务发现结果中确定的;且所述第一服务提供端为通过第一网络发现的。
结合第三方面的第二种可能的实现方式,在第三种可能的实现方式中,所述服务模块,具体用于从上报的所述第一服务发现结果中包括的标识信息中,确定与所述第一网络接收的标识信息匹配的标识信息;当确定出与所述第一网络接收的标识信息匹配的标识信息时,确定通过接收到匹配的标识信息的网络所发现的服务与通过所述第一网络所发现的服务为同一服务提供端提供的同一服务;以及指示所述ASP模块与第二服务提供端建立第二ASP会话;其中,所述第二服务提供端为所述服务模块从接收到匹配的标识信息的网络所发现的服务提供端中确定的;且所述第二服务提供端为通过第二网络发现的;并将所述第一ASP会话所承载的业务数据承载在所述第二ASP会话上继续当前的业务数据传输,其中,所述第一服务发现结果还包括通过能够发现所述相同服务的网络所接收的标识信息。
结合第三方面,在第四种可能的实现方式中,所述服务模块,还用于在所述ASP模块进行服务发现之前,向所述ASP模块发送第一服务发现指示;所述ASP模块,具体用于根据所述服务模块发送的第一服务发现指示,通过至少一个网络发送包含所述相同服务的第一服务发现请求,其中,所述第一服务发现请求中携带有所述相同服务的服务标识;以及通过所述至少一个网络中能够发现所述相同服务的网络对应接收服务提供端发送的第一服务发现响应;其中,所述第一服务发现响应中携带有标识信息;以及所述ASP模块将根据第一服务发现响应确定的第一服务发现结果上报所述服务模块;其中,所述第一服务发现结果包括能够发现所述相同服务的网络的网络信息、以及对应通过能够发现所述相同服务的网络发现的服务提供端的信息;或者,所述第一服务发现结果包括能够发现所述相同服务的网络发现的服务提供端的信息;所述服务模块,具体用于在接收到所述ASP模块上报的第一服务发现结果之后,指示所述ASP模块与第一服务提供端建立第一ASP会话;其中,所述第一服务提供端为所述服务模块从上报的第一服务发现结果中确定的;且所述第一服务提供端为通过第一网络发现的;以及通过建立的第一ASP会话承载通过所述第一网络发现的所述相同服务的业务数据传输;以及向所述ASP模块发送第二服务发现指示;所述ASP模块,具体用于根据所述服务模块发送的第二服务发现指示,通过至少一个网络发送包含所述相同服务的第二服务发现请求;其中,所述第二服务发现请求中携带有所述相同服务的服务标识;以及通过所述至少一个网络中能够发现所述相同服务的网络对应接收服务提供端发送的第二服务发现响应;其中,所述第二服务发现响应中携带有标识信息;以及将根据第二服务发现响应确定的第二服务发现结果上报所述服务模块;其中,所述第二服务发现结果包括根据接收的第二服务发现响应确定的能够发现所述相同服务的网络的网络信息、以及对应通过能够发现所述相同服务的网络发现的服务提供端的信息、以及对应通过能够发现所述相同服务的网络接收的标识信息;或者,所述第二服务发现结果包括根据接收的第二服务发现响应确定的通过能够发现所述相同服务的网络发现的服务提供端的信息、以及对应通过能够发现所述相同服务的网络接收的标识信息。
结合第三方面的第四种可能的实现方式,在第五种可能的实现方式中,所述服务模块,具体用于从所述ASP模块上报的所述第二服务发现结果中包括的标识信息中,确定与所述第一网络接收的标识信息匹配的标识信息;当确定出与所述第一网络接收的标识信息匹配的标识信息时,确定通过接收到匹配的标识信息的网络所发现的服务与通过所述第一网络所发现的服务为同一服务提供端提供的同一服务;以及指示所述ASP模块与所述第二服务提供端建立第二ASP会话;并将所述第一ASP会话所承载的业务数据承载在所述第二ASP会话上继续当前的业务数据传输;其中,所述第二服务提供端为所述服务模块从接收到匹配的标识信息的网络所发现的服务提供端中确定的,且所述第二提供端为通过第二网络发现的。
结合第三方面的第一种可能的实现方式,在第六种可能的实现方式中,所述ASP模块,还用于当通过至少两个网络接收到第一服务发现响应时,将根据第一服务发现响应确定的第一服务发现结果上报所述服务模块;其中,所述第一服务发现结果包括能够发现所述相同服务的每一个网络的网络信息、以及对应通过能够发现所述相同服务的每一个网络发现的服务提供端的信息、以及对应通过能够发现所述相同服务的每一个网络接收的标识信息;或者,所述第一服务发现结果包括通过能够发现所述相同服务的每一个网络发现的服务提供端的信息、以及对应通过能够发现所述相同服务的每一个网络接收的标识信息;所述服务模块,具体用于从所述ASP模块上报的标识信息中,确定匹配的标识信息;当确定出匹配的标识信息时,确定通过接收到匹配的标识信息的网络所发现的服务为同一服务提供端提供的同一服务;所述服务模块,还用于在确定通过接收到匹配的标识信息的网络所发现的服务为同一服务提供端提供的同一服务之后,指示所述ASP模块与提供所述同一服务的所述同一服务提供端建立ASP会话;并从所述ASP模块分别基于发现所述同一服务提供端提供的同一服务的网络建立的各ASP会话中,确定第一ASP会话,并通过基于第一网络建立的所述第一ASP会话承载所述同一服务提供端提供的同一服务的业务数据。
结合第三方面的第六种可能的实现方式,在第七种可能的实现方式中,所述服务模块,具体用于将所述第一ASP会话所承载的业务数据承载在第二ASP会话上继续当前的业务数据传输,其中,所述第二ASP会话为基于第二网络建立的,所述第二网络为从发现所述同一服务提供端提供的同一服务的网络中确定的除所述第一网络之外的网络。
结合第三方面的第一种可能的实现方式,在第八种可能的实现方式中,所述ASP模块,还用于当通过至少两个网络接收到第一服务发现响应时,将根据第一服务发现响应确定的第一服务发现结果上报所述服务模块;其中,所述第一服务发现结果包括能够发现所述相同服务的每一个网络的网络信息、以及对应通过能够发现所述相同服务的每一个网络发现的服务提供端的信息、以及对应通过能够发现所述相同服务的每一个网络接收的标识信息;或者,所述第一服务发现结果包括通过能够发现所述相同服务的每一个网络发现的服务提供端的信息、以及对应通过能够发现所述相同服务的每一个网络接收的标识信息;所述服务模块,具体用于从所述ASP模块上报的标识信息中,确定匹配的标识信息;当确定出匹配的标识信息时,确定通过接收到匹配的标识信息的网络所发现的服务为同一服务提供端提供的同一服务;所述服务模块,还用于在确定通过接收到匹配的标识信息的网络所发现的服务为同一服务提供端提供的同一服务之后,指示所述ASP模块与提供所述同一服务的所述同一服务提供端建立ASP会话;所述服务模块,具体用于通过建立的所述各ASP会话承载所述同一服务提供端提供的同一服务的业务数据。
结合第三方面的第三种可能的实现方式,或者结合第三方面的第五种可能的实现方式,或者结合第三方面的第七种可能的实现方式,在第九种可能的实现方式中,所述服务模块,具体用于停止使用第一端口与所述服务提供端进行业务数据交互,其中,所述第一端口为所述第一ASP会话承载的业务会话使用的、所述第一网络对应的网络地址的可用端口;并将使用所述第一端口与所述服务提供端最后一次交互的业务数据之后的业务数据,通过第二端口与所述服务提供端进行交互,其中,所述第二端口为所述第二ASP会话承载的业务会话使用的、所述第二网络对应的网络地址的可用端口。
结合第三方面,或者结合第三方面的第一种可能的实现方式至第三方面的第八种可能的实现方式中的任一种可能的实现方式,在第十种可能的实现方式中,所述标识信息为所标识的服务提供端基于该服务提供端的MAC地址生成的。
结合第三方面的第二种可能的实现方式至第三方面的第八种可能的实现方式中的任一种可能的实现方式,在第十一种可能的实现方式中,所述ASP模块,具体用于当所述能够发现所述相同服务的网络包括P2P网络时,在所在服务请求端和所述服务提供端之间建立P2P连接;基于建立的P2P连接建立ASP会话。
结合第三方面,或者结合第三方面的第一种可能的实现方式至第三方面的第八种可能的实现方式中的任一种可能的实现方式,在第十二种可能的实现方式中,所述不同网络为以下不同类型的网络中至少两个不同的网络:有线网络、基础设施网络、P2P网络、蓝牙网络、NFC网络、LTE网络、以及Powerline网络。
第四方面,提供一种服务提供设备之一,包括:
标识信息提供模块,用于针对服务请求端对本服务提供设备提供的相同服务进行服务发现时所通过的至少两个网络中的每一个网络,向所述服务请求端提供标识信息,所述标识信息用于标识所述服务提供端;
业务数据传输模块,用于通过所述至少两个网络对所述相同服务进行业务数据传输。
结合第四方面,在第一种可能的实现方式中,所述标识信息提供模块,具体用于接收服务请求端进行服务发现时通过的至少两个网络中的每一个网络发送的包含对本服务提供设备提供的相同服务进行服务发现的服务发现请求;以及当根据所述服务发现请求中携带的服务标识,本服务提供设备确定自身能够提供所述服务标识所标识的服务时,向所述服务请求端发送服务发现响应;其中,所述服务发现响应中携带有标识信息。
第五方面,提供一种服务发现系统,包括:如第三方面或者第三方面任一种可能的实现方式所述的一种服务请求设备之一,以及第四方面或者第四方面任一种可能的实现方式所述的一种服务提供设备之一。
第六方面,提供一种服务请求设备之二,包括:
收发器,用于针对相同服务分别基于不同网络进行服务发现;以及通过所述不同网络中能够发现所述相同服务的每一个网络,对应接收提供所述相同服务的服务提供端提供的标识信息,所述标识信息用于标识服务提供端;
处理器,用于当所述收发器通过至少两个网络获得的标识信息匹配时,确定基于所述至少两个网络进行服务发现所发现的服务为同一服务提供端提供的同一服务;以及在同一次访问所述同一服务中,通过所述至少两个网络进行业务数据传输。
结合第六方面,在第一种可能的实现方式中,所述处理器,还用于在所述收发器进行服务发现之前,向所述收发器发送第一服务发现指示;所述收发器,具体用于根据所述处理器发送的第一服务发现指示,通过预设网络发送包含所述相同服务的第一服务发现请求,其中,所述第一服务发现请求中携带有所述相同服务的服务标识,所述预设网络包括所述不同网络中的网络;以及通过所述预设网络中能够发现所述相同服务的网络分别对应接收服务提供端发送的第一服务发现响应;其中,所述第一服务发现响应中携带有标识信息。
结合第六方面的第一种可能的实现方式,在第二种可能的实现方式中,所述收发器,还用于当通过至少一个网络接收到第一服务发现响应时,将根据第一服务发现响应确定的第一服务发现结果上报所述处理器;其中,所述第一服务发现结果包括能够发现所述相同服务的每一个网络的网络信息、以及对应通过能够发现所述相同服务的每一个网络发现的服务提供端的信息;或者,所述第一服务发现结果包括能够发现所述相同服务的每一个网络发现的服务提供端的信息;所述处理器,还用于指示所述收发器与所述第一服务提供端建立第一ASP会话;通过建立的第一ASP会话承载通过所述第一网络发现的所述相同服务的业务数据;其中,所述第一服务提供端为所述处理器从上报的第一服务发现结果中确定的;且所述第一服务提供端为通过第一网络发现的。
结合第六面的第二种可能的实现方式,在第三种可能的实现方式中,所述处理器,具体用于从上报的所述第一服务发现结果中包括的标识信息中,确定与所述第一网络接收的标识信息匹配的标识信息;当确定出与所述第一网络接收的标识信息匹配的标识信息时,确定通过接收到匹配的标识信息的网络所发现的服务与通过所述第一网络所发现的服务为同一服务提供端提供的同一服务;以及指示所述收发器与第二服务提供端建立第二ASP会话;其中,所述第二服务提供端为所述处理器从接收到匹配的标识信息的网络所发现的服务提供端中确定的;且所述第二服务提供端为通过第二网络发现的;并将所述第一ASP会话所承载的业务数据承载在所述第二ASP会话上继续当前的业务数据传输,其中,所述第一服务发现结果还包括通过能够发现所述相同服务的网络所接收的标识信息。
结合第六方面,在第四种可能的实现方式中,所述处理器,还用于在所述收发器进行服务发现之前,向所述收发器发送第一服务发现指示;所述收发器,具体用于根据所述处理器发送的第一服务发现指示,通过至少一个网络发送包含所述相同服务的第一服务发现请求,其中,所述第一服务发现请求中携带有所述相同服务的服务标识;以及通过所述至少一个网络中能够发现所述相同服务的网络对应接收服务提供端发送的第一服务发现响应;其中,所述第一服务发现响应中携带有标识信息;以及所述收发器将根据第一服务发现响应确定的第一服务发现结果上报所述处理器;其中,所述第一服务发现结果包括能够发现所述相同服务的网络的网络信息、以及对应通过能够发现所述相同服务的网络发现的服务提供端的信息;或者,所述第一服务发现结果包括能够发现所述相同服务的网络发现的服务提供端的信息;所述处理器,具体用于在接收到所述收发器上报的第一服务发现结果之后,指示所述收发器与第一服务提供端建立第一ASP会话;其中,所述第一服务提供端为所述处理器从上报的第一服务发现结果中确定的;且所述第一服务提供端为通过第一网络发现的;以及通过建立的第一ASP会话承载通过所述第一网络发现的所述相同服务的业务数据;以及向所述收发器发送第二服务发现指示;所述收发器,具体用于根据所述处理器发送的第二服务发现指示,通过至少一个网络发送包含所述相同服务的第二服务发现请求;其中,所述第二服务发现请求中携带有所述相同服务的服务标识;以及通过所述至少一个网络中能够发现所述相同服务的网络对应接收服务提供端发送的第二服务发现响应;其中,所述第二服务发现响应中携带有标识信息;以及将根据第二服务发现响应确定的第二服务发现结果上报所述处理器;其中,所述第二服务发现结果包括根据接收的第二服务发现响应确定的能够发现所述相同服务的网络的网络信息、以及对应通过能够发现所述相同服务的网络发现的服务提供端的信息、以及对应通过能够发现所述相同服务的网络接收的标识信息;或者,所述第二服务发现结果包括根据接收的第二服务发现响应确定的通过能够发现所述相同服务的网络发现的服务提供端的信息、以及对应通过能够发现所述相同服务的网络接收的标识信息。
结合第六方面的第四种可能的实现方式,在第五种可能的实现方式中,所述处理器,具体用于从所述收发器上报的所述第二服务发现结果中包括的标识信息中,确定与所述第一网络接收的标识信息匹配的标识信息;当确定出与所述第一网络接收的标识信息匹配的标识信息时,确定通过接收到匹配的标识信息的网络所发现的服务与通过所述第一网络所发现的服务为同一服务提供端提供的同一服务;以及指示所述收发器与第二服务提供端建立第二ASP会话;并将所述第一ASP会话所承载的业务数据承载在所述第二ASP会话上继续当前的业务数据传输,其中,所述第二服务提供端为所述处理器从接收到匹配的标识信息的网络所发现的服务提供端中确定的,且所述第二提供端为通过第二网络发现的。
结合第六方面的第一种可能的实现方式,在第六种可能的实现方式中,所述收发器,还用于当通过至少两个网络接收到第一服务发现响应时,将根据第一服务发现响应确定的第一服务发现结果上报所述处理器;其中,所述第一服务发现结果包括能够发现所述相同服务的每一个网络的网络信息、以及对应通过能够发现所述相同服务的每一个网络发现的服务提供端的信息、以及对应通过能够发现所述相同服务的每一个网络接收的标识信息;或者,所述第一服务发现结果包括通过能够发现所述相同服务的每一个网络发现的服务提供端的信息、以及对应通过能够发现所述相同服务的每一个网络接收的标识信息;所述处理器,具体用于从所述收发器上报的标识信息中,确定匹配的标识信息;当确定出匹配的标识信息时,确定通过接收到匹配的标识信息的网络所发现的服务为同一服务提供端提供的同一服务;所述处理器,还用于在确定通过接收到匹配的标识信息的网络所发现的服务为同一服务提供端提供的同一服务之后,指示所述收发器与提供所述同一服务的所述同一服务提供端建立ASP会话;并从所述收发器分别基于发现所述同一服务提供端提供的同一服务的网络建立的各ASP会话中,确定第一ASP会话,并通过基于第一网络建立的所述第一ASP会话承载所述同一服务提供端提供的同一服务的业务数据。
结合第六方面的第六种可能的实现方式,在第七种可能的实现方式中,所述处理器,具体用于将所述第一ASP会话所承载的业务数据承载在第二ASP会话上继续当前的业务数据传输,其中,所述第二ASP会话为基于第二网络建立的,所述第二网络为从发现所述同一服务提供端提供的同一服务的网络中确定的除所述第一网络之外的网络。
结合第六方面的第一种可能的实现方式,在第八种可能的实现方式中,所述收发器,还用于当通过至少两个网络接收到第一服务发现响应时,将根据第一服务发现响应确定的第一服务发现结果上报所述处理器;其中,所述第一服务发现结果包括能够发现所述相同服务的每一个网络的网络信息、以及对应通过能够发现所述相同服务的每一个网络发现的服务提供端的信息、以及对应通过能够发现所述相同服务的每一个网络接收的标识信息;或者,所述第一服务发现结果包括通过能够发现所述相同服务的每一个网络发现的服务提供端的信息、以及对应通过能够发现所述相同服务的每一个网络接收的标识信息;所述处理器,具体用于从所述收发器上报的标识信息中,确定匹配的标识信息;当确定出匹配的标识信息时,确定通过接收到匹配的标识信息的网络所发现的服务为同一服务提供端提供的同一服务;所述处理器,还用于在确定通过接收到匹配的标识信息的网络所发现的服务为同一服务提供端提供的同一服务之后,指示所述收发器与提供所述同一服务的所述同一服务提供端建立ASP会话;所述服务模块,具体用于通过建立的所述各ASP会话承载所述同一服务提供端提供的同一服务的业务数据。
结合第六方面的第三种可能的实现方式,或者结合第六方面的第五种可能的实现方式,或者结合第六方面的第七种可能的实现方式,在第九种可能的实现方式中,所述处理器,具体用于停止使用第一端口与所述服务提供端进行业务数据交互,其中,所述第一端口为所述第一ASP会话承载的业务会话使用的、所述第一网络对应的网络地址的可用端口;并将使用所述第一端口与所述服务提供端最后一次交互的业务数据之后的业务数据,通过第二端口与所述服务提供端进行交互,其中,所述第二端口为所述第二ASP会话承载的业务会话使用的、所述第二网络对应的网络地址的可用端口。
结合第六方面,或者结合第六方面的第一种可能的实现方式至第六方面的第八种可能的实现方式中的任一种可能的实现方式,在第十种可能的实现方式中,所述标识信息为所标识的服务提供端基于该服务提供端的MAC地址生成的。
结合第六方面的第二种可能的实现方式至第六方面的第八种可能的实现方式中的任一种可能的实现方式,在第十一种可能的实现方式中,所述收发器,具体用于当所述能够发现所述相同服务的网络包括P2P网络时,在所在服务请求端和所述服务提供端之间建立P2P连接;基于建立的P2P连接建立ASP会话。
结合第六方面,或者结合第六方面的第一种可能的实现方式至第六方面的第八种可能的实现方式中的任一种可能的实现方式,在第十二种可能的实现方式中,所述不同网络为以下不同类型的网络中至少两个不同的网络:有线网络、基础设施网络、P2P网络、蓝牙网络、NFC网络、LTE网络、以及Powerline网络。
第七方面,提供的一种服务提供设备之二,包括:
收发器,用于针对服务请求端对本服务提供设备提供的相同服务进行服务发现时所通过的至少两个网络中的每一个网络,向所述服务请求端提供标识信息,所述标识信息用于标识所述服务提供端;
处理器,用于通过所述至少两个网络对所述相同服务进行业务数据传输。
结合第七方面,在第一种可能的实现方式中,所述收发器,具体用于接收服务请求端进行服务发现时通过的至少两个网络中的每一个网络发送的包含对本服务提供设备提供的相同服务进行服务发现的服务发现请求;以及当根据所述服务发现请求中携带的服务标识,本服务提供设备确定自身能够提供所述服务标识所标识的服务时,向所述服务请求端发送服务发现响应;其中,所述服务发现响应中携带有标识信息。
第八方面,提供一种服务发现系统,包括:如第六方面或者第六方面任一种可能的实现方式所述的一种服务请求设备之二,以及第七方面或者第七方面任一种可能的实现方式所述的一种服务提供设备之二。
本发明实施例的有益效果包括:
本发明实施例提供的一种服务发现方法、相关设备、及系统,包括:服务请求端针对相同服务分别基于不同网络进行服务发现;并通过不同网络中能够发现相同服务的每一个网络,对应接收提供相同服务的服务提供端提供的标识信息,标识信息用于标识服务提供端;当通过至少两个网络获得的标识信息匹配时,确定基于该至少两个网络进行服务发现所发现的服务为同一服务提供端提供的同一服务;并在同一次访问该同一服务中,通过该至少两个网络进行业务数据传输。本发明实施例提供的一种服务发现方法,服务请求端可以针对相同服务分别通过不同网络进行服务发现,并确定出通过不同网络所发现的同一服务提供端提供的同一服务,那么,在通过第一网络进行业务数据传输后,当出现第一网络无法满足当前业务数据传输需求时,由于除第一网络之外的、还通过其它网络发现了与通过第一网络所发现服务为同一服务提供端提供的同一服务,即为与当前业务,那么服务请求端可以将第一网络切换到该其他网络,通过该其他网络继续当前业务数据传输,与现有技术中,由于上层业务的数据传输所基于的底层连接中断,而导致上层业务数据传输也必须中断相比,上层业务的数据传输对该上层业务所基于的底层连接依赖性不强,通过底层网络的切换使得业务数据得以继续传输而不会中断,提高了业务传输的灵活性。而且在有的情况下,还可以通过多个网络同时进行业务传输,业务可以在多个网络连接间切换。
附图说明
图1为本发明背景技术提供的在Wi-Fi层面节点A和节点B通过P2P进行服务发现的流程图;
图2为本发明背景技术提供的WFDS在P2P连接之上建立ASP session的流程图;
图3为本发明实施例提供的一种服务发现方法,应用于服务请求端的流程图;
图4为本发明实施例提供的一种服务发现方法,应用于服务提供端的流程图;
图5为本发明实施例1提供的一种服务发现方法,应用于服务请求端的流程图;
图6为本发明实施例例1提供的一种服务发现方法,应用于服务请求端的流程图之一;
图7为本发明实施例例1提供的一种服务发现方法,应用于服务请求端的流程图之二;
图8为本发明实施例2提供的一种服务发现方法,应用于服务请求端的流程图;
图9为本发明实施例例2提供的一种服务发现方法,应用于服务请求端的流程图;
图10为本发明实施例3提供的一种服务发现方法,应用于服务提供端的流程图;
图11为本发明实施例例3提供的一种服务发现方法,应用于服务提供端的流程图;
图12为本发明实施例4提供的一种服务发现方法,应用于服务提供端的流程图;
图13为本发明实施例提供的一种服务请求设备之一的结构示意图;
图14为本发明实施例提供的一种服务提供设备之一的结构示意图;
图15为本发明实施例提供的一种服务请求设备之二的结构示意图;
图16为本发明实施例提供的一种服务提供设备之二的结构示意图。
具体实施方式
本发明实施例提供了一种服务发现方法、相关设备、及系统,以下结合说明书附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。并且在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
本发明实施例提供一种服务发现方法,应用于服务请求端,如图3所示,包括:
S301、服务请求端针对相同服务分别基于不同网络进行服务发现。
S302、通过S301所述的不同网络中能够发现上述相同服务的每一个网络,对应接收提供上述相同服务的服务提供端的标识信息,该标识信息用于标识服务提供端。
S303、当通过至少两个网络获得的标识信息匹配时,确定基于该至少两个网络进行服务发现所发现的服务为同一服务提供端提供的同一服务。
S304、在同一次访问上述同一服务中,通过该至少两个网络进行业务数据传输。
与上述图3所示方法相应的,本发明实施例还提供一种服务发现方法,应用于服务提供端,如图4所示,包括:
S401、服务提供端针对服务请求端对服务提供端提供的相同服务进行服务发现时所通过的至少两个网络中的每一个网络,向服务请求端提供标识信息,该标识信息用于标识该服务提供端。
S402、通过S401中至少两个网络对该相同服务进行业务数据传输。
进一步地,本发明实施例提供的一种服务发现方法,不同网络可以为以下不同类型的网络中任至少两个不同的网络:有线网络,基础设施(Infrastructure)网络、P2P网络、蓝牙网络、近场通信(NFC,Near Field Communciation)网络、长期演进(LTE,Long TermEvolution)网络、以及电力线(Powerline)网络。其中,基础设施网络可以为基于AP的网络;P2P网络,即端到端网络,可以是基于Wi-Fi Direct标准建立的网络,也可以是基于WFA制定的临近感知网络(NAN,Neighbor Awareness Networking)标准建议的网络,或者是其他端到端网络。也就是说,服务请求端可以基于上述至少两种底层网络对相同服务进行服务发现,并对应每种能够发现该相同服务的网络分别接收获得的标识信息,根据接收的标识信息,确定所发现服务为同一服务提供端通过不同网络提供的同一服务。
进一步地,不同的上层应用可以基于不同的网络进行业务数据传输,当承载某上层应用业务数据的当前网络无法满足业务传输需求时,可以通过与当前网络所发现服务为同一服务提供端提供的同一服务的其它网络,对当前网络进行替换,继续本次业务数据传输,上层应用业务数据传输对底层网络依赖性不强,通过底层网络的切换使得业务数据传输不会因为某一个网络连接的质量变差或中断而中断,提高了业务数据传输的灵活性。
下面结合附图,用具体实施例对本发明提供的方法及相关设备进行详细描述。
实施例1:
本发明实施例1中,以ASP为例,提供一种服务发现方法,应用于服务请求端,在实施例1中,可以首先基于第一网络建立第一ASP会话,并通过该第一ASP会话承载业务数据传输,当第一网络无法满足业务需求时,基于与第一网络所发现服务为同一服务提供端提供的同一服务的第二网络建立ASP会话,并通过第二ASP会话继续当前业务数据的传输。
实施例1提供的一种服务发现方法应用于服务请求端,如图5所示,具体包括如下步骤:
S501、服务请求端中的服务模块向服务请求端中的ASP模块发送第一服务发现指示。
S502、ASP模块根据S501中接收的第一服务发现指示,通过预设网络发送包含相同服务的第一服务发现请求,
其中,第一服务发现请求中携带有相同服务的服务标识,预设网络包括不同网络中的网络。
进一步地,本步骤中,服务请求端可能同时连接到多种不同类型的网络(例如:有线网络、带有AP的基础设施网络、P2P网络、蓝牙网络、NFC网络、LTE网络、以及Powerline网络等),当ASP模块接收到服务模块发送的第一服务发现指示时,可以根据第一服务发现指示所要求发现的服务(例如:文件传输服务)使用预设网络针对该相同服务进行服务发现,其中,预设网络可以预先进行设置,预设网络可以为服务请求端所连接的所有不同的网络,也可以为预先设置的服务请求端所连接的部分网络(部分网络可以为一个或多个网络)等。具体实现时,可以通过预设网络发送针对相同服务的服务发现请求,并在各服务发现请求中携带相同的服务标识,以保证通过预设网络所发现的服务为相同的服务,其中,服务标识可以为服务名称(ServiceName),或者是服务哈希值(ServiceHash)或者是其它能够标识相同服务的标识。其中,服务哈希值可以为服务名称经过哈希运算后得到的哈希值。哈希运算可以是采用常用的哈希函数如信息摘要算法5(MD5,Message-Digest Algorithm5),安全摘要算法256(SHA256,Secure Hash Algorithm),安全摘要算法512(SHA512,Secure HashAlgorithm)等经过运算后得到的结果,或者经过运算后再进行截取得到的结果。
进一步地,ASP模块可以通过预设发现规则确定服务请求端所连接的网络。例如:ASP模块可以周期性查询服务请求端所连接的网络,或者可以在确定当前ASP会话所基于的网络无法满足传输需求时查询服务请求端所连接的网络,或者服务模块周期性向ASP模块发送网络查询指示,ASP模块根据接收到的查询指示对服务请求端所连接网络进行查询,或者ASP模块在接收到服务模块发送的第一服务发现指示时对服务请求端所连接的网络进行查询等。
进一步地,本步骤中,第一服务发现请求中可以包括对多种服务的服务发现,那么,通过预设网络发送的第一服务发现请求中包含对相同服务的服务发现。
进一步地,当服务请求端设备仅连接两个不同的网络时,预设网络为该两个不同的网络;当服务请求端设备仅连接一个网络时,预设网络为该一个网络。
进一步地,本步骤中,第一服务发现请求表征用于通过网络进行服务发现的请求,凡是能够用于通过网络进行服务发现的消息都可以作为本发明实施例中的第一服务发现请求。
S503、ASP模块通过预设网络中能够发现上述相同服务的网络分别对应接收服务提供端发送的第一服务发现响应。
其中,第一服务发现响应中携带有标识信息。
进一步地,本步骤中,针对预设网络中能够发现相同服务的网络,ASP模块通过该网络接收通过该网络发现的提供相同服务的服务提供端发送的第一服务发现响应。
进一步地,本步骤中,标识信息可以标识发送第一服务发现响应的服务提供端,例如:可以将发送第一服务发现响应的服务提供端的设备信息(例如:设备名称,设备类型,设备的序列号等)作为服务提供端的标识信息,或者是服务提供端的设备唯一地址,或者是跟设备相关的业务标识信息,或者是以上中的多种的组合(例如:服务提供端的设备地址加上服务信息),或者是将其他能够标识该服务提供端的信息作为服务提供端的标识信息。
进一步地,服务提供端可以基于该服务提供端的媒体访问控制(MAC,MediaAccess Control)地址,采用预设算法生成标识信息。例如,该标识信息可以直接就是MAC地址,或者是MAC地址进行处理后的值,或者是MAC地址加服务标识,或者是MAC地址加服务标识一起进行处理后的值。
进一步地,本步骤中,ASP模块通过某网络发送第一服务发现请求之后,则通过该网络等待接收服务提供端的响应;若有服务提供端通过该网络提供服务发现请求所发现的服务,则ASP模块可以通过该网络接收第一服务发现响应,该第一服务发现响应为接收到通过该网络发送的第一服务发现请求的服务提供端向服务请求端回复的,第一服务发现响应中携带有标识信息。该标识信息可以表征该服务提供端的标识信息,也可以表征该服务提供端的标识信息以及所请求服务的服务信息。
这里,还可能是网络中有一个中心设备,例如AP,AP在之前就接收其它服务提供端注册的服务信息和服务提供端信息,并且帮助这些服务提供端对服务发现请求进行响应;当该AP中包含有其它能够提供服务发现请求中包含的服务的服务提供端的信息时,AP响应上述的服务发现请求并发送服务发现响应,所述服务发现响应中包含能够提供所述服务的服务提供端信息;当AP中不包含有其它能够提供服务发现请求中包含的服务的服务提供端的信息时,AP也发送服务发现响应,但是响应中不包含服务提供端的信息。
当标识信息表征该服务提供端的标识信息时,由于第一服务发现请求中携带有表征相同服务的服务标识,那么通过不同网络针对相同服务发送了第一服务发现请求之后,当存在至少两个网络,接收到的针对相同服务的第一服务发现响应携带的标识信息匹配时,可以确定该至少两个网络所发现的服务为同一服务提供端提供的同一服务;当标识信息表征该服务提供端的标识信息以及所请求服务的服务信息时,标识信息既表征了提供服务的服务提供端又表征了所提供的服务,那么通过不同网络针对特定服务发送了第一服务发现请求之后,当存在通过至少两个网络,接收到的针对特定服务的第一服务发现响应携带的标识信息匹配时,可以确定通过该至少两个网络所发现的服务为同一服务提供端提供的同一服务。
进一步地,具体实施时,第一服务发现请求可以为探测请求(Probe Request),或者为Service Discovery Request,或者为Probe Request以及Service DiscoveryRequest,也就是说,针对预设网络中的每个网络,当第一服务发现请求为Probe Request时,可以在通过该网络发送的Probe Request中携带相同的服务标识(例如:服务哈希值),那么通过该网络接收的第一服务发现响应可以对应为探测响应(Probe Response),并在Probe Response中携带标识信息;当第一服务发现请求为Service Discovery Request时,可以在通过该网络发送的Service Discovery Request中携带相同的服务标识(例如:服务名称),那么通过该网络接收的第一服务发现响应可以对应为Service DiscoveryResponse,并在Service Discovery Response中携带标识信息;当第一服务发现请求为Probe Request以及Service Discovery Request时,可以首先发送Probe Request,并在Probe Request中携带服务标识(例如:服务哈希值),并通过该网络接收对应的ProbeResponse,再发送Service Discovery Request,并在Service Discovery Request中携带服务标识(例如:服务名称),通过该网络接收Service Discovery Response,而标识信息可以携带于Probe Response和/或Service Discovery Response中,具体实现可以根据实际情况设置。
进一步地,相应地,第一服务发现响应用于对通过网络进行服务发现的请求(本发明实施例中称为第一服务发现请求)进行响应,凡是用于对通过网络进行服务发现的请求进行的响应都可以作为本发明实施例中的第一服务发现响应。
进一步地,步骤S501~步骤S503为针对相同服务进行服务发现的流程。
S504、ASP模块将根据第一服务发现响应确定的第一服务发现结果上报服务模块。
其中,第一服务发现结果包括能够发现相同服务的每一个网络的网络信息、以及对应通过能够发现相同服务的每一个网络的网络发现的服务提供端的信息;或者,
第一服务发现结果包括能够发现相同服务的每一个网络发现的服务提供端的信息。
进一步地,第一服务发现结果可以根据第一服务发现响应进行确定。第一服务发现结果中可以包括发现相同服务的网络的网络信息,也可以不包括该网络信息。服务提供端的信息可以是服务提供端的网络地址信息,和/或对服务提供端所提供服务的服务描述信息等;网络信息可以包括描述发现服务提供端的网络的性质信息、类型信息等,例如P2P网络,AP网络、地址信息、和/或其它能够描述该网络的信息。
进一步地,本步骤中,ASP模块接收到至少一个完成服务发现的网络发送的第一服务发现响应之后,可以将针对相同服务进行服务发现的第一服务发现结果上报服务模块(当至少收到两个服务发现响应时,针对相同服务发现的第一服务发现结果上报服务模块可以是一次上报,或者是分开来多次上报),当第一服务发现结果包括发现该相同服务的每一个网络的网络信息、对应通过该网络发现的提供该相同服务的服务提供端的信息时,在服务模块确定出需要采用其提供的服务的服务提供端之后,ASP模块能够确定发现该服务提供端的网络的网络信息,并通过该网络与该服务提供端建立ASP会话。
进一步地,可以通过同一个消息或者不同的消息上报能够发现相同服务的网络对应的网络信息及其发现的通信提供端信息、以及通过该网络接收的标识信息。其中还可能存在通过一个网络发现多个能够提供相同服务的服务提供端。
S505、服务模块指示ASP模块与第一服务提供端建立第一ASP会话;
其中,第一服务提供端为服务模块从上报的第一服务发现结果中确定的;且第一服务提供端为通过第一网络发现的。
进一步地,本步骤中,当ASP模块仅上报了一个完成服务发现的网络所发现的服务提供端的信息,或者完成服务发现的网络的网络信息以及该网络发现的服务提供端的信息时,将该网络确定为第一网络,将第一网络发现的一个服务提供端确定为第一服务提供端(这里通过第一网络可能是发现了一个相同服务提供端,也可能是从第一网络发现的多个相同服务的服务提供端中选择一个);当上报完成相同服务的服务发现的至少两个网络对应发现的服务提供端的信息,或者完成相同服务的服务发现的至少两个网络的网络信息,以及该至少两个网络对应发现的服务提供端的信息时,根据预设确定规则确定第一网络以及通过第一网络发现的第一服务提供端,预设确定规则可以为网络完成服务发现的先后顺序,还可以是ASP模块在上报的网络信息中包括的网络连接的质量信息等其它信息,上层服务根据这些信息来决策从其中选择一个,或者是上层服务根据之前连接的信息从多个网络和对应的服务提供端中选择一个,还可以是上层服务根据其它获取的信息来判断做出对服务提供端的选择。
进一步地,本步骤中,建立第一ASP会话,可以包括ASP模块与对端的ASP模块协商服务的能力信息,连接能力信息,安全信息等信息,基于协商的信息建立第一ASP会话。
S506、服务模块通过S505建立的第一ASP会话承载通过第一网络发现的该相同服务的业务数据。
进一步地,这个过程具体包括,服务模块基于建立的第一ASP会话,建立上层业务会话,该上层业务会话通过第一网络建立,上层业务的数据通过该第一网络传输。
S507、服务模块从上报的第一服务发现结果中包括的标识信息中,确定与第一网络接收的标识信息匹配的标识信息。
进一步地,第一服务发现结果也可以包括通过能够发现相同服务的网络接收的第一服务发现响应中携带的标识信息,以便服务模块能够根据不同网络对应的标识信息确定不同网络发现的服务是否为同一服务提供端提供的同一服务。
进一步地,本步骤中,匹配可以是指上报的能够发现该相同服务的网络所接收的标识信息与第一网络接收的标识信息相同,也可以是指上报的能够发现该相同服务的网络所接收的标识信息与第一网络接收的标识信息满足某一运算关系,比如两者对某一数值进行取模运算后的结果相同等,或者是通过标识信息进行其他计算,例如Hash运算,截取运算,移位运算等,对运算的结果进行比较。当比较满足一定的条件时,服务模块可以确定出与通过第一网络接收的标识信息匹配的标识信息,可以确定通过接收该匹配标识信息的网络所发现的服务与通过第一网络所发现的服务为同一服务提供端提供的同一服务。
进一步地,本步骤可以根据当前业务传输需求触发执行,当前业务传输需求可以根据实际情况进行设定,例如,当第一网络信号转弱,无法满足当前业务传输需求时,可以触发本步骤执行,或者当前需要传输的业务数据增加第一网络带宽不足,无法满足当前业务传输需求时,可以触发本步骤执行;或者是其它业务传输需求等。
进一步地,服务提供端的标识信息可以为设备信息(例如:设备名称,设备类型,设备的序列号等),或者是唯一的网络地址,或者是跟设备相关的业务标识信息,或者是以上中的多种的组合,或者是其它用于描述服务提供端的信息。
S508、当确定出与第一网络接收的标识信息匹配的标识信息时,确定通过接收到匹配的标识信息的网络所发现的服务与通过第一网络所发现的服务为同一服务提供端提供的同一服务。
S509、服务模块指示ASP模块与第二服务提供端建立第二ASP会话,
其中,第二服务提供端为服务模块从接收到匹配的标识信息的网络所发现的服务提供端中确定的;且第二服务提供端为通过第二网络发现的。
进一步地,该第二服务提供端与第一网络所发现的服务提供端为同一服务提供端。
进一步地,本步骤中,当除第一网络之外仅存在一个网络接收到匹配的标识信息时,将该网络确定为第二网络,当除第一网络之外存在至少两个网络接收到匹配的标识信息时,根据预设确定规则确定第二网络,其中,预设确定规则可以为网络的信号质量、或者网络完成服务发现的先后顺序等,上层服务根据这些信息来决策从其中选择一个,或者是上层服务根据之前连接的信息从多个网络和对应的服务提供端中选择一个,还可以是上层服务根据其它获取的信息来判断做出对服务提供端的选择。确定第一网络时使用的预设确定规则与确定第二网络时使用的预设确定规则可以相同或者不同。
进一步地,本步骤中,由于通过第二网络接收的标识信息与通过第一网络接收的标识信息为匹配的标识信息,那么,可以确定通过第二网络发现的服务与通过第二网络发现的服务为同一服务提供端提供的同一服务,第二服务提供端与S505中的第一服务提供端为同一服务提供端。
S510、将第一ASP会话所承载的业务数据承载在S509中建立的第二ASP会话上,继续当前的业务数据传输。
进一步地,本步骤具体包括,服务模块基于建立的第二ASP会话,建立上层业务会话,将之前第一ASP会话上的业务会话转到该第二ASP业务会话上继续传输,即第一ASP会话上的业务会话的数据传输转到第二ASP会话上的业务会话上继续传输。
进一步地,本步骤可以具体执行为:
步骤一:服务请求端的服务模块停止使用第一端口与服务提供端进行业务数据交互,其中,第一端口为第一ASP会话承载的业务会话使用的、第一网络对应的网络地址的可用端口;并
步骤二:将使用第一端口与服务提供端最后一次交互的业务数据之后的业务数据,通过第二端口与服务提供端进行交互,其中,第二端口为第二ASP会话承载的业务会话使用的、第二网络对应的网络地址的可用端口。
进一步地,在服务请求端中,不同网络可以对应不同的网络地址,例如:P2P网络和基础设施网络分别具有不同的MAC地址,上层应用使用不同的网络时也会对应不同的网络协议(IP,Internet Protocol)地址,那么建立的第一ASP会话承载的业务会话所使用的第一端口为该第一ASP会话基于的第一网络对应的网络地址的可用端口,建立的第二ASP会话承载的业务会话所使用的第二端口为该第二ASP会话基于的第二网络对应的网络地址的可用端口。由于第一网络和第二网络所发现服务为同一服务提供端提供的同一服务,那么当需要使用第二网络替换第一网络继续本次业务数据传输时,可以使用第二端口代替第一端口进行业务数据传输,尽管底层网络被替换了,但上层业务并没有中断,而是继续进行业务数据传输,提高了业务数据传输的灵活性。
下面以具体的应用场景对实施例1提供的一种服务发现方法进行举例说明:
例1:以服务请求端(终端)连接的Wi-fi网络为例,假设服务请求端连接了P2P网络以及基础设施网络(基于AP的网络),服务请求端需要将自身屏幕内容通过服务提供端(电视机)屏幕进行显示,具体地服务发现方法如图6所示,具体包括如下步骤:
S601、第一服务提供端中的服务模块向第一服务提供端中的ASP模块发送发布服务指示,以便当服务请求端发送服务发现请求时,服务提供端能够处理该服务发现请求。
本步骤中,假设电视机中的服务模块向电视机中的ASP模块发送服务发布AdvertiseService(服务名称ServiceName)消息,其中,ServiceName可以为服务提供端所提供服务的服务名称,例如:发现显示Display服务的名称,进一步地,发布服务指示中也可以携带标识信息,即指示该电视机设备的标识信息。
S602、服务请求端中的服务模块向服务请求端中的ASP模块发送第一服务发现指示。
例如:终端中的服务模块向终端中的ASP模块发送第一服务发现SeekService(服务名称ServiceName)指示,ServiceName可以为Display服务的名称。
S603、服务请求端中的ASP模块根据S602中接收的第一服务发现指示,通过P2P网络和基础设施网络发送第一服务发现请求,并将服务标识携带于第一服务发现请求中。
例如:终端中的ASP模块通过P2P网络和基础设施网络分别发送用于发现Display服务的第一服务发现请求,并将Display服务的名称携带于第一服务发现请求。
进一步地,本步骤中,P2P网络和基础设施网络可以广播第一服务发现请求,以便能够提供服务的服务提供端对第一服务发现请求进行响应。
S604、服务提供端通过设备中的P2P网络和基础设施网络分别接收到第一服务发现请求之后,由服务提供端的ASP模块对第一服务发现请求中所请求的服务进行确认,并在确定能够提供所请求服务之后,分别通过P2P网络和基础设施网络向服务请求端对应发送第一服务发现响应。
其中,第一服务发现响应中可以携带标识信息,进一步地,也可以携带服务名称。
进一步地,通过基础设施网络进行服务发现能够成功的前提是服务提供端和服务请求端均与同一个AP建立了连接,或者是连接到不同的AP但是这两个不同的AP之间可以通信。
进一步地,步骤S603和步骤S604对于P2P网络和基础设施网络可以采用不同的实施方式:
对于P2P网络可以具体实施可以为:
步骤一、服务请求端的ASP模块通过P2P网络发送携带有服务哈希值ServiceHash的Probe Request消息。
步骤二、服务提供端通过P2P网络接收到Probe Request消息,通过服务提供端的ASP模块对Probe Request消息中携带的ServiceHash进行确认,当确定能够提供ServiceHash表征的服务时,通过P2P网络向服务请求端发送Probe Response消息。
本步骤中,Probe Response消息中可以携带与ServiceHash对应的ServiceName。
步骤三、服务请求端通过P2P网络接收到Probe Response消息之后,通过P2P网络向服务提供端发送携带有ServiceName的服务发现请求Service Discovery Request。
步骤四、服务提供端通过P2P网络接收到Service Discovery Request之后,通过服务提供端的ASP模块对Service Discovery Request中携带的ServiceName进行匹配,当确定能够提供ServiceName表征的服务时,通过P2P网络向服务请求端发送携带有ServiceName的Service Discovery Response消息。
进一步地,在步骤二和步骤四中,可以通过Probe Response消息和/或ServiceDiscovery Response消息携带服务提供端的标识信息ServiceID,还可以包括服务提供端的网络信息(服务提供端的网络信息可以是网络地址信息或者是其它可以描述网络的信息),还可以包括服务提供端的服务描述信息。
对于基础设施网络可以具体实施可以为:
步骤一、服务请求端通过基础设施网络发送携带有ServiceName的服务发现请求Service Discovery Request。
步骤二、服务提供端通过基础设施网络接收到Service Discovery Request之后,通过服务提供端的ASP模块对Service Discovery Request中携带的ServiceName进行匹配,当确定能够提供ServiceName表征的服务时,通过基础设施网络向服务请求端发送携带有ServiceName的Service Discovery Response消息。
进一步地,在步骤二中,可以通过Service Discovery Response消息携带服务提供端的标识信息ServiceID,还可以包括标识服务提供端的网络信息(服务提供端的网络信息可以是网络地址信息或者是其它可以描述网络的信息),还可以包括服务提供端的服务描述信息。
进一步地,基础设施网络也可以具体实施为上述P2P网络的实施方式,这里不再赘述。
S605、服务请求端的ASP模块将根据通过P2P网络以及基础设施网络分别接收的第一服务发现响应确定的第一服务发现结果上报服务请求端的服务模块。
本步骤中,ASP模块可以向服务模块上报P2P网络对应的网络地址信息(或者不包括此信息)、通过P2P网络发现的服务提供端的信息、以及通过P2P网络接收的ServiceID,并上报与P2P网络完成相同的服务发现的基础设施网络的网络地址信息(或者不包括此信息)、通过基础设施网络发现的服务提供端的信息、以及通过基础设施网络接收的ServiceID。并且,ASP模块在针对每一个网络进行服务发现结果上报时,可以通过同一个消息将完成服务发现的网络的网络信息及其发现的服务提供端的信息以及接收的服务提供端的ServiceID上报给服务模块,也可以通过不同的消息分别将网络信息及其发现的服务提供端的信息以及接收的ServiceID上报给服务模块,其中,不同的消息的发送顺序不作限定。
S606、服务请求端的服务模块指示服务请求端的ASP模块与第一服务提供端建立第一ASP会话。
服务模块从通过P2P网络发现的服务提供端和通过基础设施网络发现的服务提供端中确定第一服务提供端。
假设服务模块确定出的第一网络为P2P网络,通过P2P网络发现的服务提供端为第一服务提供端,则后续执行步骤S607~步骤S612;假设服务模块确定出的第一网络为基础设施网络,通过基础设施网络发现的服务提供端为第一服务提供端,则如图7所示,后续执行步骤S6071~S6111。
S607、服务请求端和第一服务提供端之间建立P2P连接。
进一步地,由于P2P网络在进行服务发现之后需要先建立P2P连接再基于建立的P2P连接建立ASP会话,因此,基于P2P网络建立ASP会话,可以执行为:在服务请求端和服务提供端之间建立P2P连接;基于建立的P2P连接建立ASP会话。
S608、服务请求端的ASP模块与第一服务提供端建立第一ASP会话。
S609、服务请求端的服务模块通过S608中建立的第一ASP会话进行业务数据传输。
进一步地,本步骤执行过程具体包括,服务模块基于建立的第一ASP会话,建立上层业务会话,该上层业务会话基于通过第一网络建立,上层业务的数据通过该第一网络传输。
例如:本步骤中,终端的服务模块通过基于P2P网络与电视机建立的第一ASP会话,基于第一ASP会话建立上层的Display业务会话,进行Display服务的业务数据传输,通过电视机将终端屏幕显示的内容进行显示。
S610、服务请求端的服务模块,根据当前传输需求,确定通过基础设施网络针对相同服务进行服务发现时接收的服务提供端的标识信息,与通过P2P网络进行服务发现接收的服务提供端的标识信息是否匹配,若匹配,确定通过基础设施网络进行服务发现与通过P2P网络进行服务发现所发现的服务为同一服务提供端提供的同一服务。
本步骤中,可以为当服务请求端和服务提供端之间的距离逐渐增大,P2P网络信号质量减弱,触发服务请求端使用基础设施网络代替P2P网络继续当前业务。
S611、服务模块指示ASP模块与第二服务提供端建立第二ASP会话,其中,服务请求端的服务模块将通过基础设施网络发现的服务提供端确定为通过第二网络发现的第二服务提供端。
进一步地,步骤S608中建立第一ASP会话的步骤与本步骤中建立第二ASP会话的步骤类似,二者的不同之处在于,基于基础设施网络建立第二ASP会话时,服务请求端和服务提供端之间交互的请求和响应均需要通过AP进行转发。
S612、ASP模块与第二服务提供端建立第二ASP会话。
S613、将基于P2P网络建立的第一ASP所承载的业务数据承载在第二ASP会话上,继续当前业务数据的传输。本流程结束。
进一步地,本步骤具体包括,服务模块基于建立的第二ASP会话,建立上层业务会话,将之前第一ASP会话上的业务会话转到该第二ASP业务会话上继续传输,即第一ASP会话上的业务会话的数据传输转到第二ASP会话上的业务会话上继续传输。
例如:终端正在通过P2P网络使用电视机提供的Display服务,但是由于终端与电视机的距离变大,终端中的服务模块确定P2P网络的信号减弱,且通过基础设施网络发现的Display服务为同一电视机提供的同一Display服务,则不需要中断终端和电视机之间的视频数传输,而是基于基础设施网络建立ASP会话,并将终端和电视机之间传输的视频数据所基于的P2P网络切换成基础设施网络,继续终端和电视机之间的视频数据传输。
如图7所示,接续步骤S606:
S6071、服务请求端的ASP模块与第一服务提供端建立第一ASP会话。
S6081、服务请求端的服务模块通过S6071中建立的第一ASP会话进行业务数据传输。
进一步地,本步骤具体包括,服务模块基于建立的第一ASP会话,建立上层业务会话,该上层业务会话基于通过第一网络建立,上层业务的数据通过该第一网络传输。
S6091、服务请求端的服务模块,根据当前传输需求,确定通过P2P网络针对相同服务进行服务发现时接收的服务提供端的标识信息,与通过基础设施网络进行服务发现接收的服务提供端的标识信息是否匹配,若匹配,确定通过P2P网络进行服务发现与通过基础设施网络进行服务发现所发现的服务为同一服务提供端提供的同一服务。
S6101、服务请求端的服务模块指示ASP模块与第二服务提供端建立第二ASP会话,其中,服务请求端的服务模块将P2P网络发现的服务提供端确定为第二网络发现的第二服务提供端。
S6111、在服务请求端和第二服务提供端之间建立P2P连接。
S6121、服务请求端的ASP模块与第二服务提供端建立第二ASP会话。
S6131、将基于基础设施网络建立的第一ASP所承载的业务数据承载在第二ASP会话上,继续当前业务数据的传输。本流程结束。
进一步地,本步骤具体包括,服务模块基于建立的第二ASP会话,建立上层业务会话,将之前第一ASP会话上的业务会话转到该第二ASP业务会话上继续传输,即第一ASP会话上的业务会话的数据传输转到第二ASP会话上的业务会话上继续传输。
实施例2:
本发明实施例2中,以ASP为例,提供一种服务发现方法,应用于服务请求端侧,在实施例2中,可以首先基于第一网络建立第一ASP会话,并通过该第一ASP会话承载业务数据传输,当第一网络无法满足业务需求时,再次进行服务发现,基于第二次服务发现中与第一网络所发现服务为同一服务提供端提供的同一服务的第二网络建立ASP会话,并通过第二ASP会话继续当前业务数据的传输。
实施例2提供的一种服务发现方法应用于服务请求端,如图8所示,具体包括如下步骤:
S801、服务请求端中的服务模块向服务请求端中的ASP模块发送第一服务发现指示。
S802、ASP模块根据S801中接收的第一服务发现指示,通过至少一个网络发送包含相同服务的第一服务发现请求,
其中,第一服务发现请求中携带有相同服务的服务标识。
进一步地,本步骤中可以通过一个网络或者多个不同的网络发送包含相同服务的第一服务发现请求。
S803、ASP模块通过上述至少一个网络中能够发现上述相同服务的网络分别对应接收服务提供端发送的第一服务发现响应。
其中,第一服务发现响应中携带有标识信息。
进一步地,本步骤中,标识信息可以标识发送第一服务发现响应的服务提供端,例如:可以将发送第一服务发现响应的服务提供端的设备信息(例如:设备名称,设备类型,设备的序列号等)作为服务提供端的标识信息,或者是服务提供端的设备唯一地址,或者是跟设备相关的业务标识信息,或者是以上中的多种的组合(例如:服务提供端的设备地址加上服务信息),或者是将其他能够标识该服务提供端的信息作为服务提供端的标识信息。
进一步地,本步骤中,S802中通过一个网络发送包含相同服务的第一服务发现请求,且能够通过该一个网络发现该相同服务时,接收该一个网络发送的第一服务发现响应。
进一步地,步骤S801~步骤S803为针对相同服务进行第一次服务发现的流程。
S804、ASP模块将根据第一服务发现响应确定的第一服务发现结果上报服务模块。
其中,第一服务发现结果包括能够发现上述相同服务的网络的网络信息、以及对应通过能够发现上述相同服务的网络发现的服务提供端的信息;或者,
第一服务发现结果包括能够发现上述相同服务的网络发现的服务提供端的信息。
进一步地,本步骤中,ASP模块将进行第一次服务发现的第一服务发现结果上报服务模块。
进一步地,第一服务发现结果可以根据第一服务发现响应进行确定。第一服务发现结果中可以包括发现相同服务的网络的网络信息,也可以不包括该网络信息。服务提供端的信息可以是服务提供端的网络地址信息,和/或对服务提供端所提供服务的服务描述信息等;网络信息可以包括描述发现服务提供端的网络的性质信息、类型信息等,例如P2P网络,AP网络、地址信息、和/或其它能够描述该网络的信息。
S805、服务模块指示ASP模块与第一服务提供端建立第一ASP会话,
其中,第一服务提供端为服务模块从上报的第一服务发现结果中确定的;且第一服务提供端为通过第一网络发现的。
S806、服务模块通过S805建立的第一ASP会话承载通过第一网络发现的该相同服务的业务数据。
进一步地,本步骤具体包括,服务模块基于建立的第一ASP会话,建立上层业务会话,该上层业务会话基于通过第一网络建立,上层业务的数据通过该第一网络传输。
S807、服务模块向ASP模块发送第二服务发现指示。
进一步地,本步骤中可以根据当前业务传输需求触发执行,当前业务传输需求可以根据实际情况进行设定,例如,当第一网络信号转弱,无法满足当前业务传输需求时,可以触发本步骤执行,或者当前需要传输的业务数据增加第一网络带宽不足,无法满足当前业务传输需求时,可以触发本步骤执行等。
进一步地,本实施例中,尽管在步骤S804中ASP模块将第一次进行服务发现的第一服务发现结果上报服务模块,并且第一服务发现结果中包括通过能够发现相同服务的网络发现的服务提供端的信息,也就是说,服务模块可以从第一次服务发现中出第一网络之外的、与第一网络发现的服务为同一服务提供端提供的同一服务的网络中确定第二网络,但是由于使用第一ASP会话的时间较长,第一次服务发现的结果有可能在当前准确性有所降低,因此,本实施例中,服务模块需要发起第二次服务发现,从第二次服务发现中与第一网络发现的服务为同一服务提供端提供的同一服务的网络中确定第二网络。
S808、ASP模块根据S807中的第二服务发现指示,通过至少一个网络发送包含相同服务的第二服务发现请求。
其中,第二服务发现请求中携带有相同服务的服务标识,预设网络包括不同网络中的网络。
进一步地,本实施例中进行第一次业务发现的通过的至少一个网络,和进行第二次业务发现通过的至少一个网络,可以为以下不同类型的网络中至少一个网络:有线网络、基础设施网络、P2P网络、蓝牙网络、NFC网络、LTE网络、以及Powerline网络。并且,进行第一次业务发现的通过的至少一个网络,和进行第二次业务发现通过的至少一个网络可以相同也可以不同。
进一步地,本步骤中,第二服务发现请求表征用于通过网络进行服务发现的请求,凡是能够用于通过网络进行服务发现的消息都可以作为本发明实施例中的第二服务发现请求。
S809、ASP模块通过上述至少一个网络中能够发现相同服务的网络对应接收服务提供端发送的第二服务发现响应。
其中,第二服务发现响应中携带有标识信息。
进一步地,本步骤中,针对上述至少一个网络中能够发现相同服务的网络,ASP模块通过该网络接收通过该网络发现的提供相同服务的服务提供端发送的第二服务发现响应。
进一步地,本步骤中,标识信息可以标识发送第二服务发现响应的服务提供端,例如:可以将发送第二服务发现响应的服务提供端的设备信息(例如:设备名称,设备类型,设备的序列号等)作为服务提供端的标识信息,或者是服务提供端的设备唯一地址,或者是跟设备相关的业务标识信息,或者是以上中的多种的组合(例如:服务提供端的设备地址加上服务信息),或者是将其他能够标识该服务提供端的信息作为服务提供端的标识信息。
进一步地,具体实施时,第二服务发现请求可以为探测请求(Probe Request),或者为Service Discovery Request,或者为Probe Request以及Service DiscoveryRequest,也就是说,针对预设网络中的每个网络,当第二服务发现请求为Probe Request时,可以在通过该网络发送的Probe Request中携带相同的服务标识(例如:服务哈希值),那么通过该网络接收的第二服务发现响应可以对应为探测响应(Probe Response),并在Probe Response中携带标识信息;当第二服务发现请求为Service Discovery Request时,可以在通过该网络发送的Service Discovery Request中携带相同的服务标识(例如:服务名称),那么通过该网络接收的第二服务发现响应可以对应为Service DiscoveryResponse,并在Service Discovery Response中携带标识信息;当第二服务发现请求为Probe Request以及Service Discovery Request时,可以首先发送Probe Request,并在Probe Request中携带服务标识(例如:服务哈希值),并通过该网络接收对应的ProbeResponse,再发送Service Discovery Request,并在Service Discovery Request中携带服务标识(例如:服务名称),通过该网络接收Service Discovery Response,而标识信息可以携带于Probe Response和/或Service Discovery Response中,具体实现可以根据实际情况设置。
进一步地,相应地,第二服务发现响应用于对通过网络进行服务发现的请求(本发明实施例中称为第二服务发现请求)进行响应,凡是用于对通过网络进行服务发现的请求进行的响应都可以作为本发明实施例中的第二服务发现响应。
进一步地,步骤S807~步骤S809为针对相同服务进行第二次服务发现的流程。
S810、ASP模块将根据第二服务发现响应确定的第二服务发现结果上报服务模块。
其中,第二服务发现结果包括根据接收的第二服务发现响应确定的能够发现相同服务的每一个网络的网络信息、以及对应通过能够发现相同服务的每一个网络发现的服务提供端的信息、以及对应通过能够发现相同服务的每一个网络接收的标识信息;或者,
所述第二服务发现结果包括根据接收的第二服务发现响应确定的通过能够发现相同服务的每一个网络发现的服务提供端的信息、以及对应通过能够发现相同服务的每一个网络接收的标识信息。
进一步地,第二服务发现结果可以根据第二服务发现响应进行确定。第二服务发现结果中可以包括发现相同服务的网络的网络信息,也可以不包括该网络信息。服务提供端的信息可以是服务提供端的网络地址信息,和/或对服务提供端所提供服务的服务描述信息等;网络信息可以包括描述发现服务提供端的网络的性质信息、类型信息等,例如P2P网络,AP网络、地址信息、和/或其它能够描述该网络的信息。
进一步地,本步骤中,ASP模块接收到至少一个完成服务发现的网络发送的第二服务发现响应之后,可以将针对相同服务进行服务发现的第二服务发现结果上报服务模块。
进一步地,可以通过同一个消息或者不同的消息上报能够发现相同服务的网络对应的网络信息及其发现的通信提供端信息、以及通过该网络接收的标识信息。其中还可能存在通过一个网络发现多个能够提供相同服务的服务提供端。
S811、服务模块从上报的第二服务发现结果中包括的标识信息中,确定与第一网络接收的标识信息匹配的标识信息。
S812、当确定出与第一网络接收的标识信息匹配的标识信息时,确定通过接收到匹配的标识信息的网络所发现的服务与通过第一网络所发现的服务为同一服务提供端提供的同一服务。
S813、指示ASP模块与第二服务提供端建立第二ASP会话,
其中,第二服务提供端为服务模块从接收到匹配的标识信息的网络所发现的服务提供端中确定的,且第二提供端为通过第二网络发现的。
进一步地,本步骤中,当在第二次服务发现结果中仅存在一个网络接收到匹配的标识信息时,将该网络确定为第二网络,当在第二次服务发现结果中存在至少两个网络接收到匹配的标识信息时,根据预设确定规则确定第二网络,其中,预设确定规则可以为网络的信号质量、或者网络完成服务发现的先后顺序等,上层服务根据这些信息来决策从其中选择一个,或者是上层服务根据之前连接的信息从多个网络和对应的服务提供端中选择一个,还可以是上层服务根据其它获取的信息来判断做出对服务提供端的选择。确定第一网络时使用的预设确定规则与确定第二网络时使用的预设确定规则可以相同或者不同。
进一步地,步骤S805中确定的第一服务提供端与本步骤中确定的第二服务提供端为提供同一服务的同一服务提供端。
S814、将第一ASP会话所承载的业务数据承载在第二ASP会话上继续当前的业务数据传输。
进一步地,本步骤具体包括,服务模块基于建立的第二ASP会话,建立上层业务会话,将之前第一ASP会话上的业务会话转到该第二ASP业务会话上继续传输,即第一ASP会话上的业务会话的数据传输转到第二ASP会话上的业务会话上继续传输。
进一步地,实施例2中与实施例1相似步骤的解释可以见实施例1中的对应步骤,这里不再赘述。
下面以具体的应用场景对实施例2提供的一种服务发现方法进行举例说明:
例2:以服务请求端(终端)连接的Wi-fi网络为例,假设服务请求端连接了P2P网络以及基础设施网络,服务请求端需要将自身屏幕内容通过服务提供端(电视机)屏幕进行显示,并且在例2中假设通过P2P网络进行第一次服务发现,通过基础设施网络进行第二次服务发现,具体地服务发现方法如图9所示,具体包括如下步骤:
S901、服务提供端中的服务模块向服务提供端中的ASP模块发送发布服务指示,以便当服务请求端发送服务发现请求时,服务提供端能够处理该服务发现请求。
S902、服务请求端中的服务模块向服务请求端中的ASP模块发送第一服务发现指示。
S903、服务请求端中的ASP模块根据S902中接收的第一服务发现指示,通过P2P网络发送第一服务发现请求,并将服务标识携带于第一服务发现请求中。
本步骤中,服务请求端中的ASP模块也可以根据S902中接收的第一服务发现指示,通过P2P网络和基础设施网络发送第一服务发现请求,并将服务标识携带于第一服务发现请求中。
S904、服务提供端中的P2P网络接收到第一服务发现请求之后,由服务提供端的ASP模块对第一服务发现请求中所请求的服务进行确认,并在确定能够提供所请求服务之后,通过P2P网络向服务请求端对应发送第一服务发现响应。
其中,第一服务发现响应中可以携带标识信息,进一步地,也可以携带服务名称。
S905、服务请求端的ASP模块将通过P2P网络进行服务发现的第一服务发现结果上报服务请求端的服务模块。
本步骤中,ASP模块可以向服务模块上报P2P网络对应的网络地址信息(或者不包括此信息)、通过P2P网络发现的服务提供端的信息、以及通过P2P网络接收的ServiceID。
S906、服务请求端的服务模块指示服务请求端的ASP模块与第一服务提供端建立第一ASP会话,
其中,服务模块将通过P2P网络发现的服务提供端确定为第一服务提供端。
进一步地,当步骤S903中通过P2P网络和基础设施网络发送第一服务发现请求时,本步骤可以执行为:服务模块从通过P2P网络发现的服务提供端和通过基础设施网络发现的服务提供端中确定第一服务提供端。
S907、服务请求端和第一服务提供端之间建立P2P连接,
S908、服务请求端的ASP模块与第一服务提供端建立第一ASP会话。
S909、服务请求端的服务模块通过S908中建立的第一ASP会话进行业务数据传输。
进一步地,本步骤执行过程具体包括,服务模块基于建立的第一ASP会话,建立上层业务会话,该上层业务会话基于通过第一网络建立,上层业务的数据通过该第一网络传输。
S910、服务请求端的服务模块,根据当前传输需求,向服务请求端的ASP模块发送第二服务发现指示。
进一步地,本步骤中,第二服务发现指示所指示发现的服务与第一服务发现指示所指示发现的服务为相同服务。
本步骤中,可以为当服务请求端和服务提供端之间的距离逐渐增大,P2P网络信号质量减弱,触发服务请求端使用基础设施网络代替P2P网络继续当前业务。
S911、服务请求端中的ASP模块根据S910中接收的第二服务发现指示,通过基础设施网络发送第二服务发现请求,并将服务标识携带于第二服务发现请求中。
进一步地,本步骤中,基础设施网络可以广播第二服务发现请求,以便能够提供服务的服务提供端对第二服务发现请求进行响应。
S912、服务提供端中的基础设施网络接收到第二服务发现请求之后,由服务提供端的ASP模块对第二服务发现请求中所请求的服务进行确认,并在确定能够提供所请求服务之后,通过基础设施网络向服务请求端发送第二服务发现响应。
其中,第二服务发现响应中可以携带标识信息,进一步地,也可以携带服务名称。
进一步地,对于P2P网络和基础设施网络可以采用不同的实施方式进行服务发现,此处不再赘述。
S913、服务请求端的ASP模块将通过基础设施网络进行服务发现的第二服务发现结果上报服务请求端的服务模块。
本步骤中,ASP模块可以向服务模块上报基础设施网络的网络地址信息(或者不包括此信息)、通过基础设施网络发现的服务提供端的信息、以及通过基础设施网络接收的ServiceID。
S914、服务模块确定第二次服务发现通过基础设施网络接收的标识信息中,与第一次服务发现中通过P2P网络接收的标识信息匹配。
S915、确定第二次服务发现通过基础设施网络所发现的服务与第一次服务发现中通过P2P网络所发现的服务为同一服务提供端提供的同一服务。
S916、服务请求端的服务模块指示服务请求端的ASP模块与第二服务提供端建立第二ASP会话,
其中,服务模块将第二次服务发现通过基础设施网络发现的服务提供端确定为通过第二网络发现的第二服务提供端。
S917、服务请求端的ASP模块与第二服务提供端建立第二ASP会话。
S918、服务请求端的服务模块将第一ASP会话所承载的业务数据承载在第二ASP会话上继续当前的业务数据传输。
实施例3:
本发明实施例3中,以ASP为例,提供一种服务发现方法,应用于服务请求端侧,在实施例3中,可以首先基于所发现服务为同一服务提供端提供的同一服务的各网络分别建立ASP会话,并使用基于第一网络建立的第一ASP会话承载业务数据传输,当第一网络无法满足业务需求时,通过第二ASP会话继续当前业务数据的传输。
实施例3提供的一种服务发现方法应用于服务请求端,如图10所示,具体包括如下步骤:
S1001、服务请求端中的服务模块向服务请求端中的ASP模块发送第一服务发现指示。
S1002、ASP模块根据S1001中接收的第一服务发现指示,通过预设网络发送包含相同服务的第一服务发现请求,
其中,第一服务发现请求中携带有相同服务的服务标识,预设网络包括不同网络中的网络。
进一步地,本步骤中,服务请求端可能连接多个不同的网络(例如:以下不同类型的网络中的至少两个不同的网络:有线网络、基础设施网络、P2P网络、蓝牙网络、NFC网络、LTE网络、以及Powerline网络等),当ASP模块接收到服务模块发送的第一服务发现指示时,可以根据第一服务发现指示所要求发现的服务(例如:打印服务)使用预设网络针对该相同服务进行服务发现,其中,预设网络、服务标识的解释可以参考实施例1这里不再赘述。
进一步地,当服务请求端设备仅支持两个不同的网络时,预设网络为该两个不同的网络。
S1003、ASP模块通过预设网络中能够发现上述相同服务的网络分别对应接收服务提供端发送的第一服务发现响应,
其中,第一服务发现响应中携带有标识信息。
进一步地,步骤S1001~步骤S1003为针对相同服务进行服务发现的流程。
S1004、ASP模块将根据第一服务发现响应确定的第一服务发现结果上报服务模块,
其中,第一服务发现结果可以根据第一服务发现响应进行确定。第一服务发现的结果包括能够发现相同服务的每一个网络的网络信息、以及对应通过能够发现相同服务的每一个网络的网络发现的服务提供端的信息、以及对应通过能够发现相同服务的每一个网络的网络接收的标识信息;
或者,第一服务发现结果包括通过能够发现所述相同服务的每一个网络发现的服务提供端的信息、以及对应通过能够发现所述相同服务的每一个网络接收的标识信息。
进一步地,本步骤中,ASP模块接收到至少两个完成服务发现的网络发送的第一服务发现响应之后,可以将针对相同服务进行服务发现的第一服务发现结果上报服务模块,进一步地,第一服务发现结果中可以包括发现相同服务的网络的网络信息(也可以不包括该网络信息)。服务提供端的信息可以是服务提供端的网络地址信息,和/或服务提供端提供服务的服务描述信息等;网络信息可以是描述发现服务提供端的网络的性质信息、类型信息等,例如P2P网络,AP网络、地址信息、或者是其它能够描述该网络的信息。第一服务发现结果也可以包括通过能够发现相同服务的网络接收的服务发现响应中携带的标识信息,以便服务模块能够根据不同网络对应的标识信息确定不同网络发现的服务是否为同一服务提供端提供的同一服务。
S1005、服务请求端的服务模块在上报的标识信息中,确定匹配的标识信息。
进一步地,尽管不同的网络针对相同的服务进行服务发现,但是可能有不同的服务提供端提供相同的服务,而通过不同网络接收的第一服务发现响应中携带有标识信息,可以用于标识提供服务的服务提供端,本步骤中,服务请求端的服务模块根据不同网络针对相同服务进行服务发现接收的标识信息是否匹配,确定不同网络发现的服务是否为同一服务提供端提供的同一服务。
S1006、当确定出匹配的标识信息时,确定通过接收到匹配的标识信息的网络所发现的服务为同一服务提供端提供的同一服务。
本步骤中,服务请求端的服务模块确定接收到的标识信息相匹配的网络发现的服务为同一服务提供端提供的同一服务。
S1007、服务模块指示服务请求端的ASP模块与提供上述同一服务的同一服务提供端建立ASP会话。
进一步地,本步骤中,ASP模块根据服务模块的指示,基于各发现同一服务提供端提供的同一服务的网络,分别建立ASP会话。
S1008、从ASP模块分别基于发现同一服务提供端提供的同一服务的网络建立的各ASP会话中,确定第一ASP会话,并通过基于第一网络建立的第一ASP会话承载同一服务提供端提供的同一服务的业务数据。
进一步地,可以根据预设使用规则从建立的各ASP会话中确定第一ASP会话,预设使用规则可以为网络完成服务发现的先后顺序,还可以是ASP模块在上报的网络信息中包括的网络连接的质量信息等其它信息,上层服务根据这些信息来决策从其中选择一个,或者是上层服务根据之前连接的信息从多个网络和对应的服务提供端中选择一个,还可以是上层服务根据其它获取的信息来判断做出对服务提供端的选择。
S1009、服务模块将S1008中第一ASP会话所承载的业务数据的承载在第二ASP会话上继续当前的业务数据传输,
其中,第二ASP会话为基于第二网络建立的,第二网络为从发现同一服务提供端提供的同一服务的网络中确定的除第一网络之外的网络。
进一步地,本步骤可以根据当前业务传输需求触发。当服务请求端的ASP模块仅向服务请求端的服务模块上报了两个完成了服务发现的网络及其分别发现的服务提供端时,将两个网络中除第一网络之外的网络确定为第二网络。进一步地,确定第一网络时使用的预设使用规则与确定第二网络时使用的预设使用规则可以相同或者不同。
进一步地,步骤S1008~S1009还可以被替换为:通过建立的各ASP会话承载同一服务提供端提供的同一服务的业务数据。例如:根据与服务提供端预先约定的传输规则,将与服务提供端之间传输的业务数据的流量平均分成与建立的ASP会话个数相同的份数,分别通过各ASP会话进行传输,能够加快传输速度,提高传输效率。
下面以具体的应用场景对实施例3提供的一种服务发现方法进行举例说明:
例3:以服务请求端(终端)连接的Wi-fi网络为例,假设服务请求端连接P2P网络以及基础设施网络,服务请求端需要将自身屏幕内容通过服务提供端(电视机)屏幕进行显示,具体地服务发现方法如图11所示,具体包括如下步骤:
S1101、服务提供端中的服务模块向服务提供端中的ASP模块发送发布服务指示,以便当服务请求端发送服务发现请求时,服务提供端能够处理该服务发现请求。
S1102、服务请求端中的服务模块向服务请求端中的ASP模块发送第一服务发现指示。
S1103、服务请求端中的ASP模块根据S1102中接收的第一服务发现指示,通过P2P网络和基础设施网络发送第一服务发现请求,并将服务标识携带于第一服务发现请求中。
S1104、服务提供端中的P2P网络和基础设施网络分别接收到第一服务发现请求之后,由服务提供端的ASP模块对第一服务发现请求中所请求的服务进行确认,并在确定能够提供所请求服务之后,分别通过P2P网络和基础设施网络向服务请求端对应发送第一服务发现响应。
其中,第一服务发现响应中可以携带标识信息,进一步地,也可以携带服务名称。
进一步地,通过基础设施网络进行服务发现能够成功的前提是服务提供端和服务请求端均与同一个AP建立了连接,或者分别与不同的AP建立连接,该不同的AP之间能够通信。
进一步地,步骤S1103和步骤S1104对于P2P网络和基础设施网络可以采用的实施方式可以参见例1,这里不再赘述。
S1105、服务请求端的ASP模块将通过P2P网络以及基础设施网络进行服务发现的第一服务发现结果上报服务请求端的服务模块。
ASP模块可以向服务模块上报P2P网络对应的网络地址信息(或者不包括此信息)、通过P2P网络发现的服务提供端的信息、以及通过P2P网络接收的ServiceID,并上报与P2P网络完成相同的服务发现的基础设施网络的网络地址信息(或者不包括此信息)、通过基础设施网络发现的服务提供端的信息、以及通过基础设施网络接收的ServiceID。
S1106、服务请求端的服务模块确定通过基础设施网络接收的标识信息与通过P2P网络接收的标识信息匹配。
S1107、服务请求端的服务模块确定通过基础设施网络发现的服务与通过P2P网络发现的服务为同一服务提供端提供的同一服务。
S1108、服务请求端的服务模块指示服务请求端的ASP模块与服务提供端建立ASP会话。
S1109、服务请求端和服务提供端之间建立P2P连接。
S1110、服务请求端的ASP模块根据接收的指示,分别基于P2P网络和基础设施网络与服务提供端建立ASP会话。
例如:终端的服务模块指示终端的ASP模块基于P2P网络以及基于基础设施网络分别与电视机建立ASP会话。
进一步地,步骤S1109的执行与S1110的执行没有严格的先后顺序,只要在基于P2P网络建立ASP会话之前完成P2P连接的建立即可。
S1111、服务请求端的服务模块从建立的两个ASP会话中确定第一ASP会话,并通过第一ASP会话承载业务数据传输。
进一步地,本步骤中,第一ASP会话可以为基于基础设施网络建立的ASP会话或者基于P2P网络建立的ASP会话。
S1112、根据当前传输需求,将S1111中第一ASP会话所承载的业务数据承载在第二ASP会话上继续当前的业务数据传输。
进一步地,本步骤中,当第一ASP会话为基于基础设施网络建立的ASP会话时,第二ASP会话为基于P2P网络建立的ASP会话,当第一ASP会话为基于P2P网络建立的ASP会话时,第二ASP会话为基于基础设施网络建立的ASP会话。
实施例4:
与实施例1、实施例2、和实施例3提供的一种服务发现方法相应地,实施例4提供一种服务发现方法,应用于服务提供端侧,如图12所示,包括如下步骤:
S1201、服务提供端接收服务请求端进行服务发现时通过的至少两个网络中的每一个网络发送的包含对服务提供端提供的相同服务进行服务发现的服务发现请求。
S1202、当根据S1201中接收的服务发现请求中携带的服务标识,确定自身能够提供该服务标识所标识的服务时,向服务请求端发送服务发现响应,
其中,服务发现响应中携带有标识信息。
进一步地,本实施例中,服务提供端可以基于该服务提供端的MAC地址,采用预设算法生成标识信息。例如,该标识信息可以直接就是MAC地址,或者是MAC地址进行处理后的值,或者是MAC地址加服务标识,或者是MAC地址加服务标识一起进行处理后的值。
S1203、通过至少两个网络对上述相同服务进行业务数据传输。
进一步地,服务请求端可以通过具有不同的网络地址的网络向服务提供端进行服务发现,对服务提供端来说不管不同的网络所请求的服务是否为同一服务请求端请求的服务,都会针对不同的网络中每一个网络提供该网络所请求的服务,并且为该网络提供标识信息。
基于同一发明构思,本发明实施例还提供了相关设备、及系统,由于这些设备和系统所解决问题的原理与前述一种服务发现方法相似,因此该设备和系统的实施可以参见前述方法的实施,重复之处不再赘述。
本发明实施例提供的一种服务请求设备之一,如图13所示,包括如下模块:
应用会话平台ASP模块1301,用于针对相同服务分别基于不同网络进行服务发现;以及通过所述不同网络中能够发现所述相同服务的每一个网络,对应接收提供所述相同服务的服务提供端提供的标识信息,所述标识信息用于标识服务提供端;
服务模块1302,用于当所述ASP模块1301通过至少两个网络获得的标识信息匹配时,确定基于所述至少两个网络进行服务发现所发现的服务为同一服务提供端提供的同一服务;以及在同一次访问所述同一服务中,通过所述至少两个网络进行业务数据传输。
进一步地,所述服务模块1302,还用于在所述ASP模块1301进行服务发现之前,向所述ASP模块1301发送第一服务发现指示;
所述ASP模块1301,具体用于根据所述服务模块1302发送的第一服务发现指示,通过预设网络发送包含所述相同服务的第一服务发现请求,其中,所述第一服务发现请求中携带有所述相同服务的服务标识,所述预设网络包括所述不同网络中的网络;以及通过所述预设网络中能够发现所述相同服务的网络分别对应接收服务提供端发送的第一服务发现响应;其中,所述第一服务发现响应中携带有标识信息。
进一步地,所述ASP模块1301,还用于当通过至少一个网络接收到第一服务发现响应时,将根据第一服务发现响应确定的第一服务发现结果上报所述服务模块1302;其中,所述第一服务发现结果包括能够发现所述相同服务的每一个网络的网络信息、以及对应通过能够发现所述相同服务的每一个网络发现的服务提供端的信息;或者,所述第一服务发现结果包括能够发现所述相同服务的每一个网络发现的服务提供端的信息;
所述服务模块1302,还用于指示所述ASP模块1301与所述第一服务提供端建立第一ASP会话;通过建立的第一ASP会话承载通过所述第一网络发现的所述相同服务的业务数据;其中,所述第一服务提供端为所述服务模块1302从上报的第一服务发现结果中确定的;且所述第一服务提供端为通过第一网络发现的。
进一步地,所述服务模块1302,具体用于从上报的所述第一服务发现结果中包括的标识信息中,确定与所述第一网络接收的标识信息匹配的标识信息;当确定出与所述第一网络接收的标识信息匹配的标识信息时,确定通过接收到匹配的标识信息的网络所发现的服务与通过所述第一网络所发现的服务为同一服务提供端提供的同一服务;以及指示所述ASP模块1301与第二服务提供端建立第二ASP会话;其中,所述第二服务提供端为所述服务模块1302从接收到匹配的标识信息的网络所发现的服务提供端中确定的;且所述第二服务提供端为通过第二网络发现的;并将所述第一ASP会话所承载的业务数据承载在所述第二ASP会话上继续当前的业务数据传输,其中,所述第一服务发现结果还包括通过能够发现所述相同服务的网络所接收的标识信息。
进一步地,所述服务模块1302,还用于在所述ASP模块1301进行服务发现之前,向所述ASP模块1301发送第一服务发现指示;
所述ASP模块1301,具体用于根据所述服务模块1302发送的第一服务发现指示,通过至少一个网络发送包含所述相同服务的第一服务发现请求,其中,所述第一服务发现请求中携带有所述相同服务的服务标识;以及通过所述至少一个网络中能够发现所述相同服务的网络对应接收服务提供端发送的第一服务发现响应;其中,所述第一服务发现响应中携带有标识信息;以及所述ASP模块1301将根据第一服务发现响应确定的第一服务发现结果上报所述服务模块1302;其中,所述第一服务发现结果包括能够发现所述相同服务的网络的网络信息、以及对应通过能够发现所述相同服务的网络发现的服务提供端的信息;或者,所述第一服务发现结果包括能够发现所述相同服务的网络发现的服务提供端的信息;
所述服务模块1302,具体用于在接收到所述ASP模块1301上报的第一服务发现结果之后,指示所述ASP模块1301与第一服务提供端建立第一ASP会话;其中,所述第一服务提供端为所述服务模块1302从上报的第一服务发现结果中确定的;且所述第一服务提供端为通过第一网络发现的;以及通过建立的第一ASP会话承载通过所述第一网络发现的所述相同服务的业务数据;以及向所述ASP模块1301发送第二服务发现指示;
所述ASP模块1301,具体用于根据所述服务模块1302发送的第二服务发现指示,通过至少一个网络发送包含所述相同服务的第二服务发现请求;其中,所述第二服务发现请求中携带有所述相同服务的服务标识;以及通过所述至少一个网络中能够发现所述相同服务的网络对应接收服务提供端发送的第二服务发现响应;其中,所述第二服务发现响应中携带有标识信息;以及将根据第二服务发现响应确定的第二服务发现结果上报所述服务模块1302;其中,所述第二服务发现结果包括根据接收的第二服务发现响应确定的能够发现所述相同服务的网络的网络信息、以及对应通过能够发现所述相同服务的网络发现的服务提供端的信息、以及对应通过能够发现所述相同服务的网络接收的标识信息;或者,所述第二服务发现结果包括根据接收的第二服务发现响应确定的通过能够发现所述相同服务的网络发现的服务提供端的信息、以及对应通过能够发现所述相同服务的网络接收的标识信息。
进一步地,所述服务模块1302,具体用于从所述ASP模块1301上报的所述第二服务发现结果中包括的标识信息中,确定与所述第一网络接收的标识信息匹配的标识信息;当确定出与所述第一网络接收的标识信息匹配的标识信息时,确定通过接收到匹配的标识信息的网络所发现的服务与通过所述第一网络所发现的服务为同一服务提供端提供的同一服务;以及指示所述ASP模块1301与第二服务提供端建立第二ASP会话;并将所述第一ASP会话所承载的业务数据承载在所述第二ASP会话上继续当前的业务数据传输,其中,所述第二服务提供端为所述服务模块1302从接收到匹配的标识信息的网络所发现的服务提供端中确定的,且所述第二提供端为通过第二网络发现的。
进一步地,所述ASP模块1301,还用于当通过至少两个网络接收到第一服务发现响应时,将根据第一服务发现响应确定的第一服务发现结果上报所述服务模块1302;其中,所述第一服务发现结果包括能够发现所述相同服务的每一个网络的网络信息、以及对应通过能够发现所述相同服务的每一个网络发现的服务提供端的信息、以及对应通过能够发现所述相同服务的每一个网络接收的标识信息;或者,所述第一服务发现结果包括通过能够发现所述相同服务的每一个网络发现的服务提供端的信息、以及对应通过能够发现所述相同服务的每一个网络接收的标识信息;
所述服务模块1302,具体用于从所述ASP模块1301上报的标识信息中,确定匹配的标识信息;当确定出匹配的标识信息时,确定通过接收到匹配的标识信息的网络所发现的服务为同一服务提供端提供的同一服务;
所述服务模块1302,还用于在确定通过接收到匹配的标识信息的网络所发现的服务为同一服务提供端提供的同一服务之后,指示所述ASP模块1301与提供所述同一服务的所述同一服务提供端建立ASP会话;并从所述ASP模块1301分别基于发现所述同一服务提供端提供的同一服务的网络建立的各ASP会话中,确定第一ASP会话,并通过基于第一网络建立的所述第一ASP会话承载所述同一服务提供端提供的同一服务的业务数据。
进一步地,所述服务模块1302,具体用于将所述第一ASP会话所承载的业务数据承载在第二ASP会话上继续当前的业务数据传输,其中,所述第二ASP会话为基于第二网络建立的,所述第二网络为从发现所述同一服务提供端提供的同一服务的网络中确定的除所述第一网络之外的网络。
进一步地,所述ASP模块1301,还用于当通过至少两个网络接收到第一服务发现响应时,将根据第一服务发现响应确定的第一服务发现结果上报所述服务模块1302;其中,所述第一服务发现结果包括能够发现所述相同服务的每一个网络的网络信息、以及对应通过能够发现所述相同服务的每一个网络发现的服务提供端的信息、以及对应通过能够发现所述相同服务的每一个网络接收的标识信息;或者,所述第一服务发现结果包括通过能够发现所述相同服务的每一个网络发现的服务提供端的信息、以及对应通过能够发现所述相同服务的每一个网络接收的标识信息;
所述服务模块1302,具体用于从所述ASP模块1301上报的标识信息中,确定匹配的标识信息;当确定出匹配的标识信息时,确定通过接收到匹配的标识信息的网络所发现的服务为同一服务提供端提供的同一服务;
所述服务模块1302,还用于在确定通过接收到匹配的标识信息的网络所发现的服务为同一服务提供端提供的同一服务之后,指示所述ASP模块1301与提供所述同一服务的所述同一服务提供端建立ASP会话;
所述服务模块1302,具体用于通过建立的所述各ASP会话承载所述同一服务提供端提供的同一服务的业务数据。
进一步地,所述服务模块1302,具体用于停止使用第一端口与所述服务提供端进行业务数据交互,其中,所述第一端口为所述第一ASP会话承载的业务会话使用的、所述第一网络对应的网络地址的可用端口;并将使用所述第一端口与所述服务提供端最后一次交互的业务数据之后的业务数据,通过第二端口与所述服务提供端进行交互,其中,所述第二端口为所述第二ASP会话承载的业务会话使用的、所述第二网络对应的网络地址的可用端口。
进一步地,所述标识信息为所标识的服务提供端基于该服务提供端的MAC地址生成的。
进一步地,所述ASP模块1301,具体用于当所述能够发现所述相同服务的网络包括P2P网络时,在所在服务请求端和所述服务提供端之间建立P2P连接;基于建立的P2P连接建立ASP会话。
进一步地,所述不同网络为以下不同类型的网络中至少两个不同的网络:有线网络、基础设施网络、P2P网络、蓝牙网络、NFC网络、LTE网络、以及Powerline网络。
本发明实施例提供的一种服务提供设备之一,如图14所示,包括如下模块:
标识信息提供模块1401,用于针对服务请求端对本服务提供设备提供的相同服务进行服务发现时所通过的至少两个网络中的每一个网络,向所述服务请求端提供标识信息,所述标识信息用于标识所述服务提供端;
业务数据传输模块1402,用于通过所述至少两个网络对所述相同服务进行业务数据传输。
进一步地,所述标识信息提供模块1401,具体用于接收服务请求端进行服务发现时通过的至少两个网络中的每一个网络发送的包含对本服务提供设备提供的相同服务进行服务发现的服务发现请求;以及当根据所述服务发现请求中携带的服务标识,本服务提供设备确定自身能够提供所述服务标识所标识的服务时,向所述服务请求端发送服务发现响应;其中,所述服务发现响应中携带有标识信息。
本发明实施例提供的一种服务发现系统之一包括:上述的一种服务请求设备之一,以及上述的一种服务提供设备之一。
基于同一发明构思,本发明实施例还提供了相关设备、及系统,由于这些设备和系统所解决问题的原理与前述一种服务发现方法相似,因此该设备和系统的实施可以参见前述方法的实施,重复之处不再赘述。
本发明实施例提供了一种服务请求设备之二,如图15所示,包括处理器1501(可以为一个或多个,本发明各实施例中以一个为例)、收发器1502、存储器1503以及总线系统1504,其中:
处理器1501控制服务请求设备之二的操作,处理器1501还可以称为CPU(CentralProcessing Unit,中央处理单元)。处理器1501可能是一种集成电路芯片,具有信号的处理能力。处理器1501还可以是通用处理器、数字信号处理器(DSP,Digital SignalProcessing)、专用集成电路(ASIC,Application Specific Integrated Circuit)、现场可编程门阵列(FPGA,Field-Programmable Gate Array)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
存储器1503可以包括只读存储器和随机存取存储器,并向处理器1501提供指令和数据。存储器1503的一部分还可以包括非易失性随机存取存储器(NVRAM)。
服务请求设备之二的各个组件通过总线系统1504耦合在一起,其中总线系统1504除包括数据总线之外,还可以包括电源总线、控制总线和状态信号总线等。该总线系统可以是ISA(Industry Standard Architecture,工业标准体系结构)总线、PCI(PeripheralComponent Interconnect,外部设备互连)总线或EISA(Extended Industry StandardArchitecture,扩展工业标准体系结构)总线等。所述总线可以是一条或多条物理线路,当是多条物理线路时可以分为地址总线、数据总线、控制总线等。在本发明的其它一些实施例中,处理器1501、存储器1503以及收发器1502也可以通过通信线路直接连接。但是为了清楚说明起见,在图中将各种总线都标为总线系统1504。
存储器1503存储了如下的元素,可执行模块或者数据结构,或者它们的子集,或者它们的扩展集:
操作指令:包括各种操作指令,用于实现各种操作。
操作系统:包括各种系统程序,用于实现各种基础业务以及处理基于硬件的任务。
在本发明实施例中,处理器1501通过调用存储器1503存储的操作指令(该操作指令可存储在操作系统中),执行如下操作:
收发器1502,用于针对相同服务分别基于不同网络进行服务发现;以及通过所述不同网络中能够发现所述相同服务的每一个网络,对应接收提供所述相同服务的服务提供端提供的标识信息,所述标识信息用于标识服务提供端;
处理器1501,用于当所述收发器1502通过至少两个网络获得的标识信息匹配时,确定基于所述至少两个网络进行服务发现所发现的服务为同一服务提供端提供的同一服务;以及在同一次访问所述同一服务中,通过所述至少两个网络进行业务数据传输。
进一步地,所述处理器1501,还用于在所述收发器1502进行服务发现之前,向所述收发器1502发送第一服务发现指示;
所述收发器1502,具体用于根据所述处理器1501发送的第一服务发现指示,通过预设网络发送包含所述相同服务的第一服务发现请求,其中,所述第一服务发现请求中携带有所述相同服务的服务标识,所述预设网络包括所述不同网络中的网络;以及通过所述预设网络中能够发现所述相同服务的网络分别对应接收服务提供端发送的第一服务发现响应;其中,所述第一服务发现响应中携带有标识信息。
进一步地,所述收发器1502,还用于当通过至少一个网络接收到第一服务发现响应时,将根据第一服务发现响应确定的第一服务发现结果上报所述处理器1501;其中,所述第一服务发现结果包括能够发现所述相同服务的每一个网络的网络信息、以及对应通过能够发现所述相同服务的每一个网络发现的服务提供端的信息;或者,所述第一服务发现结果包括能够发现所述相同服务的每一个网络发现的服务提供端的信息;
所述处理器1501,还用于指示所述收发器1502与所述第一服务提供端建立第一ASP会话;通过建立的第一ASP会话承载通过所述第一网络发现的所述相同服务的业务数据;其中,所述第一服务提供端为所述处理器1501从上报的第一服务发现结果中确定的;且所述第一服务提供端为通过第一网络发现的。
进一步地,所述处理器1501,具体用于从上报的所述第一服务发现结果中包括的标识信息中,确定与所述第一网络接收的标识信息匹配的标识信息;当确定出与所述第一网络接收的标识信息匹配的标识信息时,确定通过接收到匹配的标识信息的网络所发现的服务与通过所述第一网络所发现的服务为同一服务提供端提供的同一服务;以及指示所述收发器1502与第二服务提供端建立第二ASP会话;其中,所述第二服务提供端为所述处理器1501从接收到匹配的标识信息的网络所发现的服务提供端中确定的;且所述第二服务提供端为通过第二网络发现的;并将所述第一ASP会话所承载的业务数据承载在所述第二ASP会话上继续当前的业务数据传输,其中,所述第一服务发现结果还包括通过能够发现所述相同服务的网络所接收的标识信息。
进一步地,所述处理器1501,还用于在所述收发器1502进行服务发现之前,向所述收发器1502发送第一服务发现指示;
所述收发器1502,具体用于根据所述处理器1501发送的第一服务发现指示,通过至少一个网络发送包含所述相同服务的第一服务发现请求,其中,所述第一服务发现请求中携带有所述相同服务的服务标识;以及通过所述至少一个网络中能够发现所述相同服务的网络对应接收服务提供端发送的第一服务发现响应;其中,所述第一服务发现响应中携带有标识信息;以及所述收发器1502将根据第一服务发现响应确定的第一服务发现结果上报所述处理器1501;其中,所述第一服务发现结果包括能够发现所述相同服务的网络的网络信息、以及对应通过能够发现所述相同服务的网络发现的服务提供端的信息;或者,所述第一服务发现结果包括能够发现所述相同服务的网络发现的服务提供端的信息;
所述处理器1501,具体用于在接收到所述收发器1502上报的第一服务发现结果之后,指示所述收发器1502与第一服务提供端建立第一ASP会话;其中,所述第一服务提供端为所述处理器1501从上报的第一服务发现结果中确定的;且所述第一服务提供端为通过第一网络发现的;以及通过建立的第一ASP会话承载通过所述第一网络发现的所述相同服务的业务数据;以及向所述收发器1502发送第二服务发现指示;
所述收发器1502,具体用于根据所述处理器1501发送的第二服务发现指示,通过至少一个网络发送包含所述相同服务的第二服务发现请求;其中,所述第二服务发现请求中携带有所述相同服务的服务标识;以及通过所述至少一个网络中能够发现所述相同服务的网络对应接收服务提供端发送的第二服务发现响应;其中,所述第二服务发现响应中携带有标识信息;以及将根据第二服务发现响应确定的第二服务发现结果上报所述处理器1501;其中,所述第二服务发现结果包括根据接收的第二服务发现响应确定的能够发现所述相同服务的网络的网络信息、以及对应通过能够发现所述相同服务的网络发现的服务提供端的信息、以及对应通过能够发现所述相同服务的网络接收的标识信息;或者,所述第二服务发现结果包括根据接收的第二服务发现响应确定的通过能够发现所述相同服务的网络发现的服务提供端的信息、以及对应通过能够发现所述相同服务的网络接收的标识信息。
进一步地,所述处理器1501,具体用于从所述收发器1502上报的所述第二服务发现结果中包括的标识信息中,确定与所述第一网络接收的标识信息匹配的标识信息;当确定出与所述第一网络接收的标识信息匹配的标识信息时,确定通过接收到匹配的标识信息的网络所发现的服务与通过所述第一网络所发现的服务为同一服务提供端提供的同一服务;以及指示所述收发器1502与第二服务提供端建立第二ASP会话;并将所述第一ASP会话所承载的业务数据承载在所述第二ASP会话上继续当前的业务数据传输,其中,所述第二服务提供端为所述处理器1501从接收到匹配的标识信息的网络所发现的服务提供端中确定的,且所述第二提供端为通过第二网络发现的。
进一步地,所述收发器1502,还用于当通过至少两个网络接收到第一服务发现响应时,将根据第一服务发现响应确定的第一服务发现结果上报所述处理器1501;其中,所述第一服务发现结果包括能够发现所述相同服务的每一个网络的网络信息、以及对应通过能够发现所述相同服务的每一个网络发现的服务提供端的信息、以及对应通过能够发现所述相同服务的每一个网络接收的标识信息;或者,所述第一服务发现结果包括通过能够发现所述相同服务的每一个网络发现的服务提供端的信息、以及对应通过能够发现所述相同服务的每一个网络接收的标识信息;
所述处理器1501,具体用于从所述收发器1502上报的标识信息中,确定匹配的标识信息;当确定出匹配的标识信息时,确定通过接收到匹配的标识信息的网络所发现的服务为同一服务提供端提供的同一服务;
所述处理器1501,还用于在确定通过接收到匹配的标识信息的网络所发现的服务为同一服务提供端提供的同一服务之后,指示所述收发器1502与提供所述同一服务的所述同一服务提供端建立ASP会话;并从所述收发器1502分别基于发现所述同一服务提供端提供的同一服务的网络建立的各ASP会话中,确定第一ASP会话,并通过基于第一网络建立的所述第一ASP会话承载所述同一服务提供端提供的同一服务的业务数据。
进一步地,所述处理器1501,具体用于将所述第一ASP会话所承载的业务数据承载在第二ASP会话上继续当前的业务数据传输,其中,所述第二ASP会话为基于第二网络建立的,所述第二网络为从发现所述同一服务提供端提供的同一服务的网络中确定的除所述第一网络之外的网络。
进一步地,所述收发器1502,还用于当通过至少两个网络接收到第一服务发现响应时,将根据第一服务发现响应确定的第一服务发现结果上报所述处理器1501;其中,所述第一服务发现结果包括能够发现所述相同服务的每一个网络的网络信息、以及对应通过能够发现所述相同服务的每一个网络发现的服务提供端的信息、以及对应通过能够发现所述相同服务的每一个网络接收的标识信息;或者,所述第一服务发现结果包括通过能够发现所述相同服务的每一个网络发现的服务提供端的信息、以及对应通过能够发现所述相同服务的每一个网络接收的标识信息;
所述处理器1501,具体用于从所述收发器1502上报的标识信息中,确定匹配的标识信息;当确定出匹配的标识信息时,确定通过接收到匹配的标识信息的网络所发现的服务为同一服务提供端提供的同一服务;
所述处理器1501,还用于在确定通过接收到匹配的标识信息的网络所发现的服务为同一服务提供端提供的同一服务之后,指示所述收发器1502与提供所述同一服务的所述同一服务提供端建立ASP会话;
所述处理器1501,具体用于通过建立的所述各ASP会话承载所述同一服务提供端提供的同一服务的业务数据。
进一步地,所述处理器1501,具体用于停止使用第一端口与所述服务提供端进行业务数据交互,其中,所述第一端口为所述第一ASP会话承载的业务会话使用的、所述第一网络对应的网络地址的可用端口;并将使用所述第一端口与所述服务提供端最后一次交互的业务数据之后的业务数据,通过第二端口与所述服务提供端进行交互,其中,所述第二端口为所述第二ASP会话承载的业务会话使用的、所述第二网络对应的网络地址的可用端口。
进一步地,所述标识信息为所标识的服务提供端基于该服务提供端的MAC地址生成的。
进一步地,所述收发器1502,具体用于当所述能够发现所述相同服务的网络包括P2P网络时,在所在服务请求端和所述服务提供端之间建立P2P连接;基于建立的P2P连接建立ASP会话。
进一步地,所述不同网络为以下不同类型的网络中至少两个不同的网络:有线网络、基础设施网络、P2P网络、蓝牙网络、NFC网络、LTE网络、以及Powerline网络。
本发明实施例提供的一种服务提供设备之二,如图16所示,包括:
收发器1601,用于针对服务请求端对本服务提供设备提供的相同服务进行服务发现时所通过的至少两个网络中的每一个网络,向所述服务请求端提供标识信息,所述标识信息用于标识所述服务提供端;
处理器1602,用于通过所述至少两个网络对所述相同服务进行业务数据传输。
进一步地,所述收发器1601,具体用于接收服务请求端进行服务发现时通过的至少两个网络中的每一个网络发送的包含对本服务提供设备提供的相同服务进行服务发现的服务发现请求;以及当根据所述服务发现请求中携带的服务标识,本服务提供设备确定自身能够提供所述服务标识所标识的服务时,向所述服务请求端发送服务发现响应;其中,所述服务发现响应中携带有标识信息。
本发明实施例提供的一种服务发现系统之二包括:上述的一种服务请求设备之二,以及上述的一种服务提供设备之二。
上述各单元的功能可对应于图1至图12所示流程中的相应处理步骤,在此不再赘述。
本发明实施例提供的一种服务发现方法、相关设备、及系统,包括:服务请求端针对相同服务分别基于不同网络进行服务发现;并通过不同网络中能够发现相同服务的每一个网络,对应接收提供相同服务的服务提供端提供的标识信息,标识信息用于标识服务提供端;当通过至少两个网络获得的标识信息匹配时,确定基于该至少两个网络进行服务发现所发现的服务为同一服务提供端提供的同一服务;并在同一次访问该同一服务中,通过该至少两个网络进行业务数据传输。本发明实施例提供的一种服务发现方法,服务请求端可以针对相同服务分别通过不同网络进行服务发现,并确定出通过不同网络所发现的同一服务提供端提供的同一服务,那么,在通过第一网络进行业务数据传输后,当出现第一网络无法满足当前业务数据传输需求时,由于除第一网络之外的、还通过其它网络发现了与通过第一网络所发现服务为同一服务提供端提供的同一服务,即为与当前业务,那么服务请求端可以将第一网络切换到该其他网络,通过该其他网络继续当前业务数据传输,与现有技术中,由于上层业务的数据传输所基于的底层连接中断,而导致上层业务数据传输也必须中断相比,上层业务的数据传输对该上层业务所基于的底层连接依赖性不强,通过底层网络的切换使得业务数据得以继续传输而不会中断,提高了业务传输的灵活性。而且在有的情况下,还可以通过多个网络同时进行业务传输,业务可以在多个网络连接间切换。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明实施例可以通过硬件实现,也可以借助软件加必要的通用硬件平台的方式来实现。基于这样的理解,本发明实施例的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
本领域技术人员可以理解附图只是一个优选实施例的示意图,附图中的模块或流程并不一定是实施本发明所必须的。
本领域技术人员可以理解实施例中的装置中的模块可以按照实施例描述进行分布于实施例的装置中,也可以进行相应变化位于不同于本实施例的一个或多个装置中。上述实施例的模块可以合并为一个模块,也可以进一步拆分成多个子模块。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

Claims (31)

1.一种服务发现方法,其特征在于,包括:
服务请求端针对相同服务分别基于不同网络进行服务发现;并
通过所述不同网络中能够发现所述相同服务的每一个网络,对应接收提供所述相同服务的服务提供端提供的标识信息,所述标识信息用于标识服务提供端;
所述服务请求端当通过至少两个网络获得的标识信息匹配时,确定基于所述至少两个网络进行服务发现所发现的服务为同一服务提供端提供的同一服务;并
在同一次访问所述同一服务中,通过所述至少两个网络进行业务数据传输。
2.如权利要求1所述的方法,其特征在于,所述服务请求端针对相同服务分别基于不同网络进行服务发现,具体包括:
所述服务请求端中的服务模块向所述服务请求端中的应用会话平台ASP模块发送第一服务发现指示;
所述ASP模块根据所述第一服务发现指示,通过预设网络发送包含所述相同服务的第一服务发现请求,
其中,所述第一服务发现请求中携带有所述相同服务的服务标识,所述预设网络包括所述不同网络中的网络;
所述通过所述不同网络中能够发现所述相同服务的每一个网络,对应接收提供所述相同服务的服务提供端提供的标识信息,具体包括:
所述ASP模块通过所述预设网络中能够发现所述相同服务的网络分别对应接收服务提供端发送的第一服务发现响应;
其中,所述第一服务发现响应中携带有标识信息。
3.如权利要求2所述的方法,其特征在于,当所述ASP模块通过至少一个网络接收到第一服务发现响应时,还包括:
所述ASP模块将根据第一服务发现响应确定的第一服务发现结果上报所述服务模块;
其中,所述第一服务发现结果包括能够发现所述相同服务的每一个网络的网络信息、以及对应通过能够发现所述相同服务的每一个网络发现的服务提供端的信息;或者,
所述第一服务发现结果包括能够发现所述相同服务的每一个网络发现的服务提供端的信息;
所述服务模块指示所述ASP模块与第一服务提供端建立第一ASP会话;其中,所述第一服务提供端为所述服务模块从上报的第一服务发现结果中确定的;且所述第一服务提供端为通过第一网络发现的;
所述服务模块通过建立的第一ASP会话承载通过所述第一网络发现的所述相同服务的业务数据。
4.如权利要求3所述的方法,其特征在于,所述第一服务发现结果还包括通过能够发现所述相同服务的网络所接收的标识信息;
所述所述服务请求端当通过至少两个网络获得的标识信息匹配时,确定基于所述至少两个网络进行的服务发现所发现的服务为同一服务提供端提供的同一服务,具体包括:
所述服务模块从上报的所述第一服务发现结果中包括的标识信息中,确定与所述第一网络接收的标识信息匹配的标识信息;
当确定出与所述第一网络接收的标识信息匹配的标识信息时,确定通过接收到匹配的标识信息的网络所发现的服务与通过所述第一网络所发现的服务为同一服务提供端提供的同一服务;
所述在同一次访问所述同一服务中,通过所述至少两个网络进行业务数据传输,具体包括:
所述服务模块指示所述ASP模块与第二服务提供端建立第二ASP会话;其中,所述第二服务提供端为所述服务模块从接收到匹配的标识信息的网络所发现的服务提供端中确定的;且所述第二服务提供端为通过第二网络发现的;
将所述第一ASP会话所承载的业务数据承载在所述第二ASP会话上继续当前的业务数据传输。
5.如权利要求1所述的方法,其特征在于,所述服务请求端针对相同服务分别基于不同网络进行服务发现;并通过所述不同网络中能够发现所述相同服务的每一个网络,对应接收提供所述相同服务的服务提供端提供的标识信息,所述标识信息用于标识服务提供端,具体包括:
所述服务请求端中的服务模块向所述服务请求端中的ASP模块发送第一服务发现指示;
所述ASP模块根据所述第一服务发现指示,通过至少一个网络发送包含所述相同服务的第一服务发现请求,其中,所述第一服务发现请求中携带有所述相同服务的服务标识;
所述ASP模块通过所述至少一个网络中能够发现所述相同服务的网络对应接收服务提供端发送的第一服务发现响应;其中,所述第一服务发现响应中携带有标识信息;
所述ASP模块将根据第一服务发现响应确定的第一服务发现结果上报所述服务模块;
其中,所述第一服务发现结果包括能够发现所述相同服务的网络的网络信息、以及对应通过能够发现所述相同服务的网络发现的服务提供端的信息;或者,
所述第一服务发现结果包括能够发现所述相同服务的网络发现的服务提供端的信息;
所述服务模块指示所述ASP模块与第一服务提供端建立第一ASP会话;其中,所述第一服务提供端为所述服务模块从上报的第一服务发现结果中确定的;且所述第一服务提供端为通过第一网络发现的;
所述服务模块通过建立的第一ASP会话承载通过所述第一网络发现的所述相同服务的业务数据;
所述服务模块向所述ASP模块发送第二服务发现指示;
所述ASP模块根据所述第二服务发现指示,通过至少一个网络发送包含所述相同服务的第二服务发现请求;其中,所述第二服务发现请求中携带有所述相同服务的服务标识;
所述ASP模块通过所述至少一个网络中能够发现所述相同服务的网络对应接收服务提供端发送的第二服务发现响应;其中,所述第二服务发现响应中携带有标识信息;
所述ASP模块将根据第二服务发现响应确定的第二服务发现结果上报所述服务模块;
其中,所述第二服务发现结果包括根据接收的第二服务发现响应确定的能够发现所述相同服务的网络的网络信息、以及对应通过能够发现所述相同服务的网络发现的服务提供端的信息、以及对应通过能够发现所述相同服务的网络接收的标识信息;或者,
所述第二服务发现结果包括根据接收的第二服务发现响应确定的通过能够发现所述相同服务的网络发现的服务提供端的信息、以及对应通过能够发现所述相同服务的网络接收的标识信息。
6.如权利要求5所述的方法,其特征在于,所述当通过至少两个网络获得的标识信息匹配时,确定基于所述至少两个网络进行的服务发现所发现的服务为同一服务提供端提供的同一服务,具体包括:
所述服务模块从上报的所述第二服务发现结果中包括的标识信息中,确定与所述第一网络接收的标识信息匹配的标识信息;
当确定出与所述第一网络接收的标识信息匹配的标识信息时,确定通过接收到匹配的标识信息的网络所发现的服务与通过所述第一网络所发现的服务为同一服务提供端提供的同一服务;
所述在同一次访问所述同一服务中,通过所述至少两个网络进行业务数据传输,具体包括:
所述服务模块指示所述ASP模块与第二服务提供端建立第二ASP会话;其中,所述第二服务提供端为所述服务模块从接收到匹配的标识信息的网络所发现的服务提供端中确定的,且所述第二服务提供端为通过第二网络发现的;并
将所述第一ASP会话所承载的业务数据承载在所述第二ASP会话上继续当前的业务数据传输。
7.如权利要求2所述的方法,其特征在于,当所述ASP模块通过至少两个网络接收到第一服务发现响应时,还包括:
所述ASP模块将根据第一服务发现响应确定的第一服务发现结果上报所述服务模块;
其中,所述第一服务发现结果包括能够发现所述相同服务的每一个网络的网络信息、以及对应通过能够发现所述相同服务的每一个网络发现的服务提供端的信息、以及对应通过能够发现所述相同服务的每一个网络接收的标识信息;或者,
所述第一服务发现结果包括通过能够发现所述相同服务的每一个网络发现的服务提供端的信息、以及对应通过能够发现所述相同服务的每一个网络接收的标识信息;
所述当通过至少两个网络获得的标识信息匹配时,确定基于所述至少两个网络进行的服务发现所发现的服务为同一服务提供端提供的同一服务,具体包括:
所述服务模块从上报的标识信息中,确定匹配的标识信息;
当确定出匹配的标识信息时,确定通过接收到匹配的标识信息的网络所发现的服务为同一服务提供端提供的同一服务;
在确定通过接收到匹配的标识信息的网络所发现的服务为同一服务提供端提供的同一服务之后,还包括:
所述服务模块指示所述ASP模块与提供所述同一服务的所述同一服务提供端建立ASP会话;并
从所述ASP模块分别基于发现所述同一服务提供端提供的同一服务的网络建立的各ASP会话中,确定第一ASP会话,并通过基于第一网络建立的所述第一ASP会话承载所述同一服务提供端提供的同一服务的业务数据。
8.如权利要求7所述的方法,其特征在于,所述在同一次访问所述同一服务中,通过所述至少两个网络进行业务数据传输,具体包括:
所述服务模块将所述第一ASP会话所承载的业务数据承载在第二ASP会话上继续当前的业务数据传输,
其中,所述第二ASP会话为基于第二网络建立的,所述第二网络为从发现所述同一服务提供端提供的同一服务的网络中确定的除所述第一网络之外的网络。
9.如权利要求2所述的方法,其特征在于,当所述ASP模块通过至少两个网络接收到第一服务发现响应时,还包括:
所述ASP模块将根据第一服务发现响应确定的第一服务发现结果上报所述服务模块;
其中,所述第一服务发现结果包括能够发现所述相同服务的每一个网络的网络信息、以及对应通过能够发现所述相同服务的每一个网络发现的服务提供端的信息、以及对应通过能够发现所述相同服务的每一个网络接收的标识信息;或者,
所述第一服务发现结果包括通过能够发现所述相同服务的每一个网络发现的服务提供端的信息、以及对应通过能够发现所述相同服务的每一个网络接收的标识信息;
所述当通过至少两个网络获得的标识信息匹配时,确定基于所述至少两个网络进行的服务发现所发现的服务为同一服务提供端提供的同一服务,具体包括:
所述服务模块从上报的标识信息中,确定匹配的标识信息;
当确定出匹配的标识信息时,确定通过接收到匹配的标识信息的网络所发现的服务为同一服务提供端提供的同一服务;
在确定通过接收到匹配的标识信息的网络所发现的服务为同一服务提供端提供的同一服务之后,还包括:
所述服务模块指示所述ASP模块与提供所述同一服务的所述同一服务提供端建立ASP会话;
所述在同一次访问所述同一服务中,通过所述至少两个网络进行业务数据传输,具体包括:
通过建立的所述各ASP会话承载所述同一服务提供端提供的同一服务的业务数据。
10.如权利要求4、6、或8中任一项所述的方法,其特征在于,将所述第一ASP会话所承载的业务数据承载在所述第二ASP会话上继续当前的业务数据传输,具体包括:
所述服务模块停止使用第一端口与所述服务提供端进行业务数据交互,其中,所述第一端口为所述第一ASP会话承载的业务会话使用的、所述第一网络对应的网络地址的可用端口;并
将使用所述第一端口与所述服务提供端最后一次交互的业务数据之后的业务数据,通过第二端口与所述服务提供端进行交互,其中,所述第二端口为所述第二ASP会话承载的业务会话使用的、所述第二网络对应的网络地址的可用端口。
11.如权利要求1-9任一项所述的方法,其特征在于,所述标识信息为所标识的服务提供端基于该服务提供端的MAC地址生成的。
12.如权利要求3-9任一项所述的方法,其特征在于,所述能够发现所述相同服务的网络包括P2P网络;
基于所述P2P网络建立ASP会话,具体包括:
在所述服务请求端和所述服务提供端之间建立P2P连接;
基于建立的P2P连接建立ASP会话。
13.如权利要求1-9任一项所述的方法,其特征在于,所述不同网络为以下不同类型的网络中至少两个不同的网络:有线网络、基础设施网络、P2P网络、蓝牙网络、NFC网络、LTE网络、以及Powerline网络。
14.一种服务发现方法,其特征在于,包括:
服务提供端针对服务请求端对所述服务提供端提供的相同服务进行服务发现时所通过的至少两个网络中的每一个网络,向所述服务请求端提供标识信息,所述标识信息用于标识所述服务提供端;并
通过所述至少两个网络对所述相同服务进行业务数据传输,其中,所述至少两个网络为不同类型的网络。
15.如权利要求14所述的方法,其特征在于,针对服务请求端对所述服务提供端提供的相同服务进行服务发现时所通过的至少两个网络中的每一个网络,向服务请求端提供标识信息,具体包括:
接收服务请求端进行服务发现时通过的至少两个网络中的每一个网络发送的包含对所述服务提供端提供的相同服务进行服务发现的服务发现请求;
当根据所述服务发现请求中携带的服务标识,服务提供端确定自身能够提供所述服务标识所标识的服务时,向所述服务请求端发送服务发现响应;
其中,所述服务发现响应中携带有标识信息。
16.一种服务请求设备,其特征在于,包括:
应用会话平台ASP模块,用于针对相同服务分别基于不同网络进行服务发现;以及通过所述不同网络中能够发现所述相同服务的每一个网络,对应接收提供所述相同服务的服务提供端提供的标识信息,所述标识信息用于标识服务提供端;
服务模块,用于当所述ASP模块通过至少两个网络获得的标识信息匹配时,确定基于所述至少两个网络进行服务发现所发现的服务为同一服务提供端提供的同一服务;以及在同一次访问所述同一服务中,通过所述至少两个网络进行业务数据传输。
17.如权利要求16所述的设备,其特征在于,所述服务模块,还用于在所述ASP模块进行服务发现之前,向所述ASP模块发送第一服务发现指示;
所述ASP模块,具体用于根据所述服务模块发送的第一服务发现指示,通过预设网络发送包含所述相同服务的第一服务发现请求,其中,所述第一服务发现请求中携带有所述相同服务的服务标识,所述预设网络包括所述不同网络中的网络;以及通过所述预设网络中能够发现所述相同服务的网络分别对应接收服务提供端发送的第一服务发现响应;其中,所述第一服务发现响应中携带有标识信息。
18.如权利要求17所述的设备,其特征在于,所述ASP模块,还用于当通过至少一个网络接收到第一服务发现响应时,将根据第一服务发现响应确定的第一服务发现结果上报所述服务模块;其中,所述第一服务发现结果包括能够发现所述相同服务的每一个网络的网络信息、以及对应通过能够发现所述相同服务的每一个网络发现的服务提供端的信息;或者,所述第一服务发现结果包括能够发现所述相同服务的每一个网络发现的服务提供端的信息;
所述服务模块,还用于指示所述ASP模块与第一服务提供端建立第一ASP会话;通过建立的第一ASP会话承载通过第一网络发现的所述相同服务的业务数据;其中,所述第一服务提供端为所述服务模块从上报的第一服务发现结果中确定的;且所述第一服务提供端为通过所述第一网络发现的。
19.如权利要求18所述的设备,其特征在于,所述服务模块,具体用于从上报的所述第一服务发现结果中包括的标识信息中,确定与所述第一网络接收的标识信息匹配的标识信息;当确定出与所述第一网络接收的标识信息匹配的标识信息时,确定通过接收到匹配的标识信息的网络所发现的服务与通过所述第一网络所发现的服务为同一服务提供端提供的同一服务;以及指示所述ASP模块与第二服务提供端建立第二ASP会话;其中,所述第二服务提供端为所述服务模块从接收到匹配的标识信息的网络所发现的服务提供端中确定的;且所述第二服务提供端为通过第二网络发现的;并将所述第一ASP会话所承载的业务数据承载在所述第二ASP会话上继续当前的业务数据传输,其中,所述第一服务发现结果还包括通过能够发现所述相同服务的网络所接收的标识信息。
20.如权利要求16所述的设备,其特征在于,所述服务模块,还用于在所述ASP模块进行服务发现之前,向所述ASP模块发送第一服务发现指示;
所述ASP模块,具体用于根据所述服务模块发送的第一服务发现指示,通过至少一个网络发送包含所述相同服务的第一服务发现请求,其中,所述第一服务发现请求中携带有所述相同服务的服务标识;以及通过所述至少一个网络中能够发现所述相同服务的网络对应接收服务提供端发送的第一服务发现响应;其中,所述第一服务发现响应中携带有标识信息;以及所述ASP模块将根据第一服务发现响应确定的第一服务发现结果上报所述服务模块;其中,所述第一服务发现结果包括能够发现所述相同服务的网络的网络信息、以及对应通过能够发现所述相同服务的网络发现的服务提供端的信息;或者,所述第一服务发现结果包括能够发现所述相同服务的网络发现的服务提供端的信息;
所述服务模块,具体用于在接收到所述ASP模块上报的第一服务发现结果之后,指示所述ASP模块与第一服务提供端建立第一ASP会话;其中,所述第一服务提供端为所述服务模块从上报的第一服务发现结果中确定的;且所述第一服务提供端为通过第一网络发现的;以及通过建立的第一ASP会话承载通过所述第一网络发现的所述相同服务的业务数据;以及向所述ASP模块发送第二服务发现指示;
所述ASP模块,具体用于根据所述服务模块发送的第二服务发现指示,通过至少一个网络发送包含所述相同服务的第二服务发现请求;其中,所述第二服务发现请求中携带有所述相同服务的服务标识;以及通过所述至少一个网络中能够发现所述相同服务的网络对应接收服务提供端发送的第二服务发现响应;其中,所述第二服务发现响应中携带有标识信息;以及将根据第二服务发现响应确定的第二服务发现结果上报所述服务模块;其中,所述第二服务发现结果包括根据接收的第二服务发现响应确定的能够发现所述相同服务的网络的网络信息、以及对应通过能够发现所述相同服务的网络发现的服务提供端的信息、以及对应通过能够发现所述相同服务的网络接收的标识信息;或者,所述第二服务发现结果包括根据接收的第二服务发现响应确定的通过能够发现所述相同服务的网络发现的服务提供端的信息、以及对应通过能够发现所述相同服务的网络接收的标识信息。
21.如权利要求20所述的设备,其特征在于,所述服务模块,具体用于从所述ASP模块上报的所述第二服务发现结果中包括的标识信息中,确定与所述第一网络接收的标识信息匹配的标识信息;当确定出与所述第一网络接收的标识信息匹配的标识信息时,确定通过接收到匹配的标识信息的网络所发现的服务与通过所述第一网络所发现的服务为同一服务提供端提供的同一服务;以及指示所述ASP模块与第二服务提供端建立第二ASP会话;并将所述第一ASP会话所承载的业务数据承载在所述第二ASP会话上继续当前的业务数据传输,其中,所述第二服务提供端为所述服务模块从接收到匹配的标识信息的网络所发现的服务提供端中确定的,且所述第二服务提供端为通过第二网络发现的。
22.如权利要求17所述的设备,其特征在于,所述ASP模块,还用于当通过至少两个网络接收到第一服务发现响应时,将根据第一服务发现响应确定的第一服务发现结果上报所述服务模块;其中,所述第一服务发现结果包括能够发现所述相同服务的每一个网络的网络信息、以及对应通过能够发现所述相同服务的每一个网络发现的服务提供端的信息、以及对应通过能够发现所述相同服务的每一个网络接收的标识信息;或者,所述第一服务发现结果包括通过能够发现所述相同服务的每一个网络发现的服务提供端的信息、以及对应通过能够发现所述相同服务的每一个网络接收的标识信息;
所述服务模块,具体用于从所述ASP模块上报的标识信息中,确定匹配的标识信息;当确定出匹配的标识信息时,确定通过接收到匹配的标识信息的网络所发现的服务为同一服务提供端提供的同一服务;
所述服务模块,还用于在确定通过接收到匹配的标识信息的网络所发现的服务为同一服务提供端提供的同一服务之后,指示所述ASP模块与提供所述同一服务的所述同一服务提供端建立ASP会话;并从所述ASP模块分别基于发现所述同一服务提供端提供的同一服务的网络建立的各ASP会话中,确定第一ASP会话,并通过基于第一网络建立的所述第一ASP会话承载所述同一服务提供端提供的同一服务的业务数据。
23.如权利要求22所述的设备,其特征在于,所述服务模块,具体用于将所述第一ASP会话所承载的业务数据承载在第二ASP会话上继续当前的业务数据传输,其中,所述第二ASP会话为基于第二网络建立的,所述第二网络为从发现所述同一服务提供端提供的同一服务的网络中确定的除所述第一网络之外的网络。
24.如权利要求17所述的设备,其特征在于,所述ASP模块,还用于当通过至少两个网络接收到第一服务发现响应时,将根据第一服务发现响应确定的第一服务发现结果上报所述服务模块;其中,所述第一服务发现结果包括能够发现所述相同服务的每一个网络的网络信息、以及对应通过能够发现所述相同服务的每一个网络发现的服务提供端的信息、以及对应通过能够发现所述相同服务的每一个网络接收的标识信息;或者,所述第一服务发现结果包括通过能够发现所述相同服务的每一个网络发现的服务提供端的信息、以及对应通过能够发现所述相同服务的每一个网络接收的标识信息;
所述服务模块,具体用于从所述ASP模块上报的标识信息中,确定匹配的标识信息;当确定出匹配的标识信息时,确定通过接收到匹配的标识信息的网络所发现的服务为同一服务提供端提供的同一服务;
所述服务模块,还用于在确定通过接收到匹配的标识信息的网络所发现的服务为同一服务提供端提供的同一服务之后,指示所述ASP模块与提供所述同一服务的所述同一服务提供端建立ASP会话;
所述服务模块,具体用于通过建立的所述各ASP会话承载所述同一服务提供端提供的同一服务的业务数据。
25.如权利要求19、21、或23中任一项所述的设备,其特征在于,所述服务模块,具体用于停止使用第一端口与所述服务提供端进行业务数据交互,其中,所述第一端口为所述第一ASP会话承载的业务会话使用的、所述第一网络对应的网络地址的可用端口;并将使用所述第一端口与所述服务提供端最后一次交互的业务数据之后的业务数据,通过第二端口与所述服务提供端进行交互,其中,所述第二端口为所述第二ASP会话承载的业务会话使用的、所述第二网络对应的网络地址的可用端口。
26.如权利要求16-24任一项所述的设备,其特征在于,所述标识信息为所标识的服务提供端基于该服务提供端的MAC地址生成的。
27.如权利要求18-24任一项所述的设备,其特征在于,所述ASP模块,具体用于当所述能够发现所述相同服务的网络包括P2P网络时,在所在服务请求端和所述服务提供端之间建立P2P连接;基于建立的P2P连接建立ASP会话。
28.如权利要求16-24任一项所述的设备,其特征在于,所述不同网络为以下不同类型的网络中至少两个不同的网络:有线网络、基础设施网络、P2P网络、蓝牙网络、NFC网络、LTE网络、以及Powerline网络。
29.一种服务提供设备,其特征在于,包括:
标识信息提供模块,用于针对服务请求端对本服务提供设备提供的相同服务进行服务发现时所通过的至少两个网络中的每一个网络,向所述服务请求端提供标识信息,所述标识信息用于标识所述服务提供端;
业务数据传输模块,用于通过所述至少两个网络对所述相同服务进行业务数据传输,其中,所述至少两个网络为不同类型的网络。
30.如权利要求29所述的设备,其特征在于,所述标识信息提供模块,具体用于接收服务请求端进行服务发现时通过的至少两个网络中的每一个网络发送的包含对本服务提供设备提供的相同服务进行服务发现的服务发现请求;以及当根据所述服务发现请求中携带的服务标识,本服务提供设备确定自身能够提供所述服务标识所标识的服务时,向所述服务请求端发送服务发现响应;其中,所述服务发现响应中携带有标识信息。
31.一种服务发现系统,其特征在于,包括:如权利要求16~28所述的一种服务请求设备,以及如权利要求29~30所述的一种服务提供设备。
CN201410608742.2A 2014-10-31 2014-10-31 一种服务发现方法、相关设备、及系统 Active CN105577732B (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN201410608742.2A CN105577732B (zh) 2014-10-31 2014-10-31 一种服务发现方法、相关设备、及系统
EP15854140.9A EP3206373B1 (en) 2014-10-31 2015-10-29 Service discovery method, related equipment and system
PCT/CN2015/093239 WO2016066124A1 (zh) 2014-10-31 2015-10-29 一种服务发现方法、相关设备、及系统
US15/581,671 US10728344B2 (en) 2014-10-31 2017-04-28 Service discovery method, related device, and system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410608742.2A CN105577732B (zh) 2014-10-31 2014-10-31 一种服务发现方法、相关设备、及系统

Publications (2)

Publication Number Publication Date
CN105577732A CN105577732A (zh) 2016-05-11
CN105577732B true CN105577732B (zh) 2019-04-26

Family

ID=55856629

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410608742.2A Active CN105577732B (zh) 2014-10-31 2014-10-31 一种服务发现方法、相关设备、及系统

Country Status (4)

Country Link
US (1) US10728344B2 (zh)
EP (1) EP3206373B1 (zh)
CN (1) CN105577732B (zh)
WO (1) WO2016066124A1 (zh)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107211262A (zh) * 2015-01-29 2017-09-26 Lg电子株式会社 具有能够改变无线lan连接技术的平台的无线lan站
US20180077738A1 (en) * 2015-03-19 2018-03-15 Lg Electronics Inc. Method and apparatus for establishing application service platform session in wireless communication system
US10721622B2 (en) * 2015-12-31 2020-07-21 Koninklijke Philips N.V. Wireless communication system with multiple security levels
US10299310B2 (en) * 2016-02-02 2019-05-21 Lg Electronics Inc. Wireless device including first platform for local area and second platform for remote area and method for wireless device
CN108399101B (zh) * 2017-02-06 2021-03-16 腾讯科技(深圳)有限公司 资源调度的方法、装置和系统
CN111886900B (zh) * 2018-02-06 2022-07-29 瑞典爱立信有限公司 用于在基于服务的体系结构中消息代理的唯一服务标识符
CN108429794A (zh) * 2018-02-12 2018-08-21 上海玄彩美科网络科技有限公司 基于蓝牙服务协议的ar服务发现方法和装置
CN112019363B (zh) * 2019-05-30 2021-12-14 华为技术有限公司 确定业务传输需求的方法、设备及系统
CN111447213B (zh) * 2020-03-24 2022-07-05 杭州海康威视数字技术股份有限公司 用于发现服务的验证码确定方法、装置及设备发现系统
CN115914347A (zh) * 2021-08-11 2023-04-04 惠州Tcl云创科技有限公司 服务发现方法及电子设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102487609A (zh) * 2010-08-27 2012-06-06 联发科技股份有限公司 通过一根信号线协调多个协作无线通信模块的装置和方法
WO2014116714A1 (en) * 2013-01-23 2014-07-31 Qualcomm Incorporated Systems and methods for the discovery of services on a wireless network
CN104041136A (zh) * 2012-01-19 2014-09-10 英特尔公司 用于服务发现的系统及方法

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6895444B1 (en) * 2000-09-15 2005-05-17 Motorola, Inc. Service framework with local proxy for representing remote services
CN101611609B (zh) * 2006-12-28 2012-11-14 艾利森电话股份有限公司 用于服务发现的方法和装置
US9455897B2 (en) * 2010-04-06 2016-09-27 Qualcomm Incorporated Cooperative bandwidth aggregation using multipath transport
US9137621B2 (en) * 2012-07-13 2015-09-15 Blackberry Limited Wireless network service transaction protocol
EP2696643B1 (en) * 2012-08-08 2020-09-30 Samsung Electronics Co., Ltd Apparatus and method of connecting service, according to user intention
KR102152713B1 (ko) * 2012-11-05 2020-10-26 엘지전자 주식회사 직접 통신 시스템에서 서비스 탐색 또는 광고 방법 및 이를 위한 장치
US9538561B2 (en) * 2013-05-22 2017-01-03 Intel IP Corporation Systems and methods for enabling service interoperability functionality for WiFi Direct devices connected to a network via a wireless access point
US20160050551A1 (en) * 2014-08-15 2016-02-18 Emily Qi Methods, systems, and devices for enabling multiple radio assited discovery
KR20160041444A (ko) * 2014-10-07 2016-04-18 주식회사 케이티 이종망 동시전송 환경에서 서버 푸시 서비스 제공을 위한 전송 경로 제어 방법 및 장치

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102487609A (zh) * 2010-08-27 2012-06-06 联发科技股份有限公司 通过一根信号线协调多个协作无线通信模块的装置和方法
CN104041136A (zh) * 2012-01-19 2014-09-10 英特尔公司 用于服务发现的系统及方法
WO2014116714A1 (en) * 2013-01-23 2014-07-31 Qualcomm Incorporated Systems and methods for the discovery of services on a wireless network

Also Published As

Publication number Publication date
US20170237818A1 (en) 2017-08-17
CN105577732A (zh) 2016-05-11
EP3206373B1 (en) 2019-12-18
EP3206373A1 (en) 2017-08-16
WO2016066124A1 (zh) 2016-05-06
EP3206373A4 (en) 2017-08-16
US10728344B2 (en) 2020-07-28

Similar Documents

Publication Publication Date Title
CN105577732B (zh) 一种服务发现方法、相关设备、及系统
KR101705764B1 (ko) 무선 도킹
WO2019184987A1 (zh) 接入ims的方法和通信装置
EP3185642A1 (en) Method and terminal for establishing communication connection
JP2014504065A (ja) ダイレクトリンク接続のためのプローブメッセージング
TWI415501B (zh) 無線網路系統及其無線閘道器
CN103843261A (zh) 用于蜂窝辅助设备对设备通信的移动设备和方法
JP4352048B2 (ja) ドメイン間ハンドオーバ
CN107105458B (zh) 一种信息处理方法及装置
US20120322479A1 (en) Communication link monitoring and failure handling in a network controlled device-to-device connection
WO2016201913A1 (zh) 一种数据传输方法、设备、系统及计算机存储介质
US11722934B2 (en) Device for wireless communication handover
EP3396994B1 (en) Local connection establishment
CN109691178A (zh) 设备之间的无缝切换
EP3081015A1 (en) Switching to advertising locator after connection establishment
KR20150101707A (ko) 디바이스의 통신 채널 설정 방법, 복수의 디바이스 사이의 통신 채널 설정을 위한 방법, 및 디바이스
GB2491870A (en) Peer to Peer Communication Link Monitoring in Unlicensed band or Cluster Network
CN108270745A (zh) 一种业务定制信息的推送方法、终端及主控蓝牙设备
CN104519595B (zh) 无线连接方法及装置
CN105764131A (zh) 实现多客户端同步通信的系统及方法
JP2014207608A (ja) Ieee802.11規格通信とieee802.15.4規格通信との無線中継システム
CN103442450A (zh) 无线通信方法和无线通信设备
US7369576B2 (en) Managing scanning and traffic in a network
KR20170006204A (ko) 통신 장치, 통신 방법 및 통신 시스템
WO2016177930A1 (en) Wireless control of devices

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant