一种dlna中服务器端设备uuid的探测方法、装置及系统的制作方法

文档序号:7860436阅读:359来源:国知局
专利名称:一种dlna中服务器端设备uuid的探测方法、装置及系统的制作方法
技术领域
本发明涉及通信领域,尤其涉及一种DLNA(Digital Living Network Alliance,数字生活网络联盟)中服务器端设备UUID (Universally Unique Identifier,通用唯一标识符)的探测方法、装置及系统。
背景技术
随着科学技术的不断发展,在家庭中使用的电子设备越来越多,比如,平板电视、手机、数码相机、摄像机、音响系统、电脑、多媒体播放器、游戏机等。通常,在这些电子设备上,各自存储有不同的文件,比如各种音频、相片和视频文件。如果用户希望观看或欣赏这些电子设备中的一个电子设备上存储的文件,则必须在该电子设备上利用相应的处理软件对该文件进行处理,然后才进行观看或欣赏。也就是说,如果用户希望对一个电子设备上的·文件进行处理,就必须在该电子设备上进行相应的操作。在存在非常多的电子设备或者该电子设备远离用户的触及范围的情况下,这种文件处理方式容易给用户带来不便。DLNA的宗旨是在任何地点和时间都能享受你的音乐、照片和视频(Enjoy yourmusic, photos and videos, anywhere anytime), DLNA 由索尼、英特尔、微软等公司发起成立、旨在解决个人PC (Personal Computer),消费电器,移动设备在内的无线网络和有线网络的互联互通,使得数字媒体和内容服务的无限制的共享和增长成为可能,目前成员公司已达280多家。根据家庭设备的功能,DLNA定义有DMS (Digital Media Server,数字媒体服务器)、DMP (Digital Media Player,数字媒体播放器)、DMR (Digital Media Render,数字媒体渲染器)、DMC (Digital Media Controller,数字媒体控制器)等逻辑设备。通常情况下,DMS和DMR可以看做服务器端设备,DMP和DMC可以看做客户端设备。客户端设备和服务器端设备进行媒体互访时的消息流程如下客户端设备首先通过一些消息向服务器获取服务器上存储的媒体文件信息,媒体文件信息包含媒体文件的URL (Universal ResourceLocator,统一资源定位符)及元数据;然后根据获取到的URL,向服务器发起请求,获取媒体文件并在本地播放。对于用户来说,并不需要关注媒体文件具体的存储位置。为了提升用户体验及易操作性,DLNA联盟在定义家庭网络设备互联时,要求设备提供设备自动互联、设备服务自动发现的特性。设备自动发现的过程如下I、当服务器端设备进入服务时,主动向家庭网络中的组播地址发送组播消息,宣告设备进入服务。该组播消息携带本地生成的设备标识UUID。2、当服务器端设备退出服务时,主动向家庭网络中的组播地址发送另一组播消息,宣告设备退出服务。该组播消息使用UUID来标识是哪个设备退出服务。DLNA协议中规定,UUID做为设备标识,服务器端设备的UUID必须不一样。因为一旦出现了设备间UUID重复的情况,将导致客户端设备DMC/DMP无法正常处理这些组播消息,因为无法知道是哪一个设备发过来的,比如ssdp alive消息和ssdp byebye消息,将导致设备无法正常进入服务或退出服务。
DLNA协议建议,采用128位的字符串做为UUID,生成UUID的算法应尽可能的避免UUID重复,各设备厂商可以选择各自的算法来生成UUID。但是,由各自厂商设备生成UUID,无法完全避免UUID重复的情况,一旦出现设备间的UUID重复的情况,将导致设备无法正常进入服务或退出服务。还可以在家庭网络中新增加一台中央设备统一分配UUID,当家庭终端接入家庭网络后,先向中央设备申请UUID,获取到UUID后在向家庭网络进行设备宣告。但是,采用中央设备统一分配UUID的方法,将导致投资增加及可靠性降低。因为一旦此中央设备掉电或故障,将导致家庭网络的DLNA功能不可使用。

发明内容
本发明实施例提供一种DLNA联盟中服务器端设备UUID的探测方法、装置及系统,用以一定程度上避免由于设备UUID标识重复而导致设备无法正常对外提供服务或者设备异常退出的情况,提高DLNA联盟的可靠性。第一方面,本发明实施例提供一种DLNA中服务器端设备UUID的探测方法,该方法包括第一服务器端设备向所述DLNA联盟中的其它服务器端设备发送第一 UUID探测消息, 所述第一 UUID探测消息携带所述第一服务器端设备准备使用的第一 UUID,以使所述DLNA联盟中的其它服务器端设备在接收到所述第一 UUID探测消息之后,从所述第一 UUID探测消息中获取所述第一 UUID,并比较所述第一 UUID与其本身的UUID是否一致,若一致,则向所述第一服务器端设备发送第一 UUID重复指示消息,所述第一 UUID重复指示消息用于指示所述DLNA联盟中存在与所述第一 UUID —致的UUID ;所述第一服务器端设备接收第一UUID重复指示消息,所述第一 UUID重复指示消息用于指示所述DLNA联盟中存在与所述第一 UUID 一致的UUID ;所述第一服务器端设备向所述DLNA联盟中的其它服务器端设备发送第二 UUID探测消息,所述第二 UUID探测消息携带所述第一服务器端设备准备使用的第二UUID,所述第二 UUID与所述第一 UUID不同。在第一种可能的实现方式中,该方法还包括若所述第一服务器端设备没有接收到第二 UUID重复指示消息,则所述第一服务器端设备向所述DLNA联盟中的客户端设备发送加入DLNA联盟的消息,所述加入DLNA联盟的消息携带所述第二 UUID ;所述第二 UUID重复指示消息用于指示所述DLNA联盟中存在与所述第二 UUID —致的UUID。在第二种可能的实现方式中,在所述第一服务器端设备向所述DLNA联盟中的其它服务器端设备发送第一 UUID探测消息,所述第一 UUID探测消息包括所述第一服务器端设备准备使用的第一 UUID的步骤之后,该方法还包括所述第一服务器端设备启动定时器,并设置定时时间;在所述第一服务器端设备向所述DLNA联盟中的其它服务器端设备发送第二 UUID探测消息,所述第二 UUID探测消息携带所述第一服务器端设备准备使用的第二UUID,所述第二 UUID与所述第一 UUID不同的步骤之后,该方法还包括超过所述定时器设置的所述定时时间之后,若所述第一服务器端设备没有收到第二 UUID重复指示消息,则所述第一服务器端设备向所述DLNA联盟中的客户端设备发送加入DLNA联盟的消息,所述加入DLNA联盟的消息携带所述第二 UUID ;所述第二 UUID重复指示消息用于指示所述DLNA联盟中存在与所述第二 UUID —致的UUID。结合第一方面的第一种可能的实现方式或第一方面的第二种可能的实现方式,所述加入DLNA联盟的消息为简单服务发现协议SSDP alive消息。
第二方面,本发明实施例提供一种DLNA中服务器端设备UUID的探测方法,该方法包括接收所述DLNA联盟 中的第一服务器端设备发送的第一 UUID探测消息,所述第一UUID探测消息携带所述第一服务器端设备准备使用的第一 UUID ;比较所述第一 UUID与自己本身的UUID是否一致;若所述第一 UUDI与自己本身的UUID —致,则向所述第一服务器端设备发送第一 UUID重复指示消息,所述第一 UUID重复指示消息用于指示所述DLNA联盟中存在与所述第一 UUID —致的UUID。第三方面,本发明实施例提供一种DLNA中的第一服务器端设备,该设备包括发送模块,用于向所述DLNA联盟中的其它服务器端设备发送第一 UUID探测消息,所述第一UUID探测消息携带第一服务器端设备准备使用的第一 UUID,以使所述DLNA联盟中的其它服务器端设备在接收到所述第一 UUID探测消息之后,从所述第一 UUID探测消息中获取所述第一 UUID,并比较所述第一 UUID与其本身的UUID是否一致,若一致,则向所述第一服务器端设备发送第一 UUID重复指示消息,所述第一 UUID重复指示消息用于指示所述DLNA联盟中存在与所述第一 UUID —致的UUID ;向所述DLNA联盟中的其它服务器端设备发送第二UUID探测消息,所述第二 UUID探测消息携带所述第一服务器端设备准备使用的第二 UUID,所述第二 UUID与所述第一 UUID不同。接收模块,用于接收第一 UUID重复指示消息,所述第一 UUID重复指示消息用于指示所述DLNA联盟中存在与所述第一 UUID —致的UUID。在第一种可能的实现方式中,发送模块还用于若所述接收模块没有接收到第二UUID重复指示消息,则向所述DLNA联盟中的客户端设备发送加入DLNA联盟的消息,所述加入DLNA联盟的消息携带所述第二 UUID ;所述第二 UUID重复指示消息用于指示所述DLNA联盟中存在与所述第二 UUID —致的UUID。在第二种可能的实现方式中,该设备还包括定时模块,用于在启动后设置定时时间;该发送模块则具体用于超过所述定时模块设置的所述定时时间之后,若所述接收模块没有收到所述第二 UUID重复指示消息,则向所述DLNA联盟中的客户端设备发送加入DLNA联盟的消息,所述加入DLNA联盟的消息携带所述第二 UUID ;所述第二 UUID重复指示消息用于指示所述DLNA联盟中存在与所述第二 UUID —致的UUID。第四方面,本发明实施例提供一种DLNA中的服务器端设备,该设备包括接收模块,接收所述DLNA联盟中的第一服务器端设备发送的第一 UUID探测消息,所述第一 UUID探测消息携带所述第一服务器端设备准备使用的第一 UUID,并将所述第一 UUID发送给发送模块;比较器,接收所述接收模块发送的所述第一 UUID,比较所述第一 UUID与自己本身的UUID是否一致; 发送模块,若所述比较器得出所述第一 UUDI与自己本身的UUID —致,则向所述第一服务器端设备发送第一 UUID重复指示消息,所述第一 UUID重复指示消息用于指示所述DLNA联盟中存在与所述第一 UUID —致的UUID。第五方面,本发明实施例提供一种DLNA系统,该系统包括至少一个第一服务器端设备以及至少一个除第一服务器端设备之外的其它服务器器端设备,其中所述第一服务器端设备用于向所述DLNA联盟中的其它服务器端设备发送第一 UUID探测消息,所述第一 UUID探测消息携带所述第一服务器端设备准备使用的第一 UUID ;接收第一 UUID重复指示消息,所述第一 UUID重复指示消息用于指示所述DLNA联盟中存在与所述第一 UUID一致的UUID ;向所述DLNA联盟中的其它服务器端设备发送第二 UUID探测消息,所述第二UUID探测消息携带所述第一服务器端设备准备使用的第二 UUID,所述第二 UUID与所述第一 UUID不同;所述其它服务器端设备用于接收所述第一服务器端设备发送的第一 UUID探测消息,从所述第一 UUID探测消息中获取所述第一 UUID,并比较所述第一 UUID与其本身的UUID是否一致,若一致,则向所述第一服务器端设备发送第一 UUID重复指示消息,所述第一 UUID重复指示消息用于指示所述DLNA联盟中存在与所述第一 UUID —致的UUID。在一种可能的实现方式下,该系统还包括客户端设备,该系统中的第一服务器端设备还用 于若所述第一服务器端设备没有接收到第二 UUID重复指示消息,则所述第一服务器端设备向所述DLNA联盟中的客户端设备发送加入DLNA联盟的消息,所述加入DLNA联盟的消息携带所述第二 UUID ;所述第二 UUID重复指示消息用于指示所述DLNA联盟中存在与所述第二 UUID —致的UUID。该客户端设备则用于接收所述第一服务器端设备发送的所述加入DLNA联盟的消息,根据所述加入DLNA联盟的消息获知所述第一服务器端设备的第二 UHD。通过以上技术方案,在服务器端设备正式加入DLNA联盟前先向该DLNA联盟中的其它服务器端设备进行了 UUID的探测,若它准备使用的UUID已经被其它服务器端设备占用,那么就换另一个UUID再进行探测,直到发现当前的UUID是该DLNA联盟中唯一的,则停止探测过程,向客户端设备发送加入DLNA联盟的消息,正式宣告加入DLNA联盟,从而一定程度上避免由于设备UUID标识重复而导致设备无法正常对外提供服务或者设备异常退出的情况,提高DLNA联盟的可靠性。


为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图I为现有技术DLNA中DMP与DMS交互的示意图;图2为现有技术DLNA中DMS设备加入联盟的方法流程示意图;图3为本发明实施例提供的一种DLNA中服务器端设备UUID探测方法的方法流程示意图;图4为本发明实施例提供的另一种DLNA中服务器端设备UUID探测方法的方法流程不意图;图5为本发明实施例提供的再一种DLNA中服务器端设备UUID探测方法的方法流程不意图;图6为本发明实施例提供的一种DLNA中服务器端设备UUID探测方法的方法交互流程示意图;图7为本发明实施例提供的一种DLNA中服务器端设备的逻辑结构示意图;图8为本发明实施例提供的另一种DLNA中服务器端设备的逻辑结构示意图;图9为本发明实施例提供的再一种DLNA中服务器端设备的逻辑结构示意图;图10为本发明实施例提供的一种DLNA中服务器端设备的结构示意图11为本发明实施例提供的另一种DLNA中服务器端设备的结构示意图;图12为本发明实施例提供的一种DLNA系统的网络部署示意图。
具体实施例方式为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。为了便于理解本发明,首先介绍一下本发明实施例中应用到的一些名词。客户端设备包括DMP和/或DMC,服务器端设备包括DMS和/或DMR,本领域技术人员容易理解的是,客户端设备和服务器设备的角色是可以互换的。另外,不排除DLNA联盟中的有些设备既可以完成服务器端设备的功能,例如提供媒体服务等,也可以完成客户端设备的功能,例如播放媒体文件等,因此这种设备有时可做服务器端设备,有时也可作客户端设备。请参阅图1,为DLNA联盟中的DMP(作为客户端设备)和DMS(作为服务器端设备)进行媒体文件下载并播放的基本流程示意图。图I中DMP先向DMS发起浏览DMS上存储的媒体文件目录的请求(在另一种实现方式中,媒体文件目录也可以存储在DMP中,由DMS定 时推送更新),DMP从媒体文件目录中选择想要浏览的媒体文件之后,从DMS上获取该媒体文件并在本地播放。而DMP是如何发现DMS的,并如何获得DMS的位置从而向其发送请求或从其上下载媒体文件的呢?请参阅图2,为DLNA联盟中DMS加入和退出DLNA联盟的过程I.当DMS要加入DLNA联盟时,DMS向DMP(可以是一个,也可以是多个)发送Notify ssdp alive消息,该消息中携带自己本身的UUID信息。具体可以实现为DMS向DLNA联盟的组播地址239. 255. 255. 250 :1900发送组播消息Notify ssdp alive,宣告设备进入联盟。DMP收到该Notify ssdp alive消息后即可从中获得该DMS的UUID信息,进而可以根据此UUID从该DMS上获取媒体文件等。2.当DMS要离开DLNA联盟时,DMS向DMP(与I对应,可以是一个,也可以是多个)发送Notify ssdp byebye消息,该消息中携带自己本身的UUID信息,以指示DMP是哪个DMS退出联盟。具体可以实现为DMP向DLNA联盟的组播地址239. 255. 255. 250 :1900发送组播消息Notify ssdp byebye,宣告设备退出服务。DMP收到该Notify ssdp byebye消息后即得知具备该UUID的服务器端设备已经退出DLNA联盟,不能再通过该UUID向该设备请求媒体文件。而假设图2中再加入其它的服务器端设备,例如另一个DMS,假如两个DMS的UUID出现重复,那么DMP将无法正常处理ssdp alive消息和ssdp byebye消息,因为无法知道是哪一个设备发过来的。请参阅图3,为本发明实施例提供的一种DLNA中服务器端设备UUID探测方法,以一定程度上避免前述问题的产生。如图3所示,该方法包括S101、第一服务器端设备向所述DLNA联盟中的其它服务器端设备发送第一 UUID探测消息,所述第一 UUID探测消息携带所述第一服务器端设备准备使用的第一 UUID,以使所述DLNA联盟中的其它服务器端设备在接收到所述第一 UUID探测消息之后,从所述第一UUID探测消息中获取所述第一 UUID,并比较所述第一 UUID与其本身的UUID是否一致,若一致,则向所述第一服务器端设备发送第一 UUID重复指示消息,所述第一 UUID重复指示消息用于指示所述DLNA联盟中存在与所述第一 UUID —致的UUID ;S102、所述第一服务器端设备接收第一 UUID重复指示消息,所述第一 UUID重复指示消息用于指示所述DLNA联盟中存在与所述第一 UUID —致的UUID ;S103、所述第一服务器端设备向所述DLNA联盟中的其它服务器端设备发送第二UUID探测消息,所述第二 UUID探测消息携带所述第一服务器端设备准备使用的第二 UUID,所述第二 UUID与所述第一 UUID不同。需说明的是,第一服务器端设备可以指代DLNA联盟中任意一个服务器端设备。所 述其它服务器端设备可以包括DLNA联盟中当前除第一服务器端设备之外的一个或多个其它服务器端设备;在当前的DLNA联盟中,某客户端设备也能实现服务器端设备的功能,即也有可能在某个交互过程中担任服务器端设备的角色,该其它服务器端设备也可以包括DLNA联盟中的这种类型的客户端设备;更扩展地,其它服务器端设备可以包括DLNA联盟中所有具有UUID的设备,依照这种理解,在本发明实施例中所有具有UUID的设备都可以看做服务器端设备。在一种实现方式下,如图4所示,本发明实施例所提供的方法还包括S104、若所述第一服务器端设备没有接收到第二 UUID重复指示消息,则所述第一服务器端设备向所述DLNA联盟中的客户端设备发送加入DLNA联盟的消息,所述加入DLNA联盟的消息携带所述第二 UUID ;所述第二 UUID重复指示消息用于指示所述DLNA联盟中存在与所述第二 UUID —致的UUID。图4中步骤S101-S103与前述一致,在此不再赘述。在另一种实现方式下,在步骤SlOl之后,本发明实施例所提供的方法还包括所述第一服务器端设备启动定时器,并设置定时时间。在步骤S103之后,该方法还包括超过所述定时器设置的所述定时时间之后,若所述第一服务器端设备没有收到第二 UUID重复指示消息,则所述第一服务器端设备向所述DLNA联盟中的客户端设备发送加入DLNA联盟的消息,所述加入DLNA联盟的消息携带所述第二 UUID ;所述第二 UUID重复指示消息用于指示所述DLNA联盟中存在与所述第二 UUID —致的UUID。可见,本发明实施例提供的服务器端设备UUID探测方法在服务器端设备正式加入DLNA联盟前先向该DLNA联盟中的其它服务器端设备进行了 UUID的探测,若它准备使用的UUID已经被其它服务器端设备占用,那么就换另一个UUID再进行探测,直到发现当前的UUID是该DLNA联盟中唯一的,则停止探测过程,向客户端设备发送加入DLNA联盟的消息,正式宣告加入DLNA联盟,从而一定程度上避免由于设备UUID标识重复而导致设备无法正常对外提供服务或者设备异常退出的情况,提高DLNA联盟的可靠性。相应地,如图5所示,本发明实施例提供另一种DLNA中服务器端设备UUID探测方法,该方法应用于前述实施例中所述的“其它服务器端设备”,包括S201、接收所述DLNA联盟中的第一服务器端设备发送的第一 UUID探测消息,所述第一 UUID探测消息携带所述第一服务器端设备准备使用的第一 UUID ;S202、比较所述第一 UUID与自己本身的UUID是否一致;S203、若所述第一 UUDI与自己本身的UUID —致,则向所述第一服务器端设备发送第一 UUID重复指示消息,所述第一 UUID重复指示消息用于指示所述DLNA联盟中存在与所述第一 UUID —致的UUID。进一步地,若所述第一 UUDI与自己本身的UUID不一致,则不向所述第一服务器端设备发送第一 UUID重复指示消息,或者向所述第一服务器端设备发送一个用于指示其本身使用的UUID与第一 UUID不重复的指示消息。结合上述两个实施例,下面通过一个更加详细和具体的实施例描述本发明实施例提供的DLN A中服务器端设备UUID探测方法。请参阅图6,为本发明另一实施例提供的一种DLNA中服务器端设备UUID探测方法,该方法应用于DLNA联盟中,该DLNA联盟包括一个客户端设备DMC、一个服务器端设备DMSl以及其它的服务器端设备DMS2。该方法包括如下步骤301、DMSl向DMS2等其它服务器端设备发送第一 UUID探测消息,该消息中携带DMSl准备使用的UUIDl。可选的,若DMC也具有UUID,即也可以做服务器端设备,那么DMSl也可以同时向DMC发送该第一 UUID探测消息。具体地,DMSl可以向DLNA联盟中的其它设备组播新定义的Notify消息ssdp uuid detect,向网络中询问是否有设备使用已经在使用UUID 1,并同时一个定时器,设置定时时间为Is。新定义的ssdp uuid detect消息结构示例N0TIFY*HTTP/1. I// 消息用 HTTP I. I 承载HOST 239. 255. 255. 250 :1900//采用组播的方式发送此消息CACHE-CONTROL :max_age = Is// 定时时间为 IsLOCATION :URL for UPnP description for root device // 设备的 URLNT !notification typeNTS ssdp uuid detect// 新定义的消息类型SERVER 0S/version UPnP/1. lproduct/versionUSN =UUIDl// 设备准备使用的 UUIDl302、DMS2等其它服务器端设备都比较本身的UUID与UUIDl是否一致,若存在一致,则执行步骤303。303、DMS2,或者其它服务器端设备,向DMSl发送第一 UUID重复指示消息。如图6所示,DMS2或其它服务器端设备在定时器超时之前,即步骤201之后的Is之内发现自己本身的UUID与UUIDl —致,则向DMSl发送第一 UUID重复指示消息,这相当于通知DMS I必须重新选择与UUIDl不同的UUID。304、DMSl重新生成UUID2,向DMS2等其它设备发送第二 UUID探测消息。DMSl重新生成UUID2,向DMS2等其它服务器端设备、可选DMC发送第二 UUID探测消息,该消息中包含UUID2,同时重新启动定时器,并设置定时时间为Is。具体地,第二 UUID探测消息的结构可以参考步骤301的示例,在此不再赘述。需说明的是,本发明实施例中UUID的生成或获取方式、UUID的特征等都可以根据目前DLNA联盟中规定方式或特点获得,当然也可以采用其它方式获得,或采用其它类型的UUID,对此本发明实施例并不做特殊限定。
305、与步骤302相同,只是此时包括DMS2、DMC在内的所有其它设备都没有发现自己本身的UUID与UUID2重复,因此没有向DMSl发送任何UUID重复指示消息。306、DMSl向客户端设备DMC发送Notify :ssdp alive消息,消息中包含的UUID为 UUID2。DMSl在定时器超时之后仍然未收到其它设备发送的第二 UUID重复指示,那么缺省认为当前 的DLNA联盟中不存在与UUID2重复UUID,即UUID2可用。因此,DMSl向DMC发送包含UUID2的Notify ssdp alive消息,Notify ssdp alive消息的结构可以采用DLNA联盟协议规定的消息结构,属于本领域人员熟知的内容,在此不在赘述。需说明的是,本领域技术人员应当理解除了定时器机制外还有其它方式可以用来避免服务器端设备长时间等待,例如发送UUID重复指示消息的服务器端设备收到了来自DLNA中其它所有服务器端设备发送的UUID不重复指示消息,那么既可以发送该UUID给客户端设备,从而正式加入DLNA联盟。在本发明其它实施例中对此实现方式不作特殊限定。另外,需说明的是,为了更清晰的描述实施例引入了图6,但图6仅是示例性的说明本发明实施例提供的方法的时序,并不应理解为对该方法时序的限定。例如本领域技术人员容易理解的是,在图6中步骤303发生在步骤301的定时器超时之后,而在实际应用中,可能DMSl收到第一 UUID重复指示消息之后立即(第二 UUID事先已经生成或生成第二UUID使用的时间可以忽略不计)发送第二UUID探测消息,发送时刻仍然在定时器的定时时间Is以内。综上所述,本发明实施例提供的服务器端设备UUID探测方法在服务器端设备正式加入DLNA联盟前先向该DLNA联盟中的其它服务器端设备进行了 UUID的探测,若它准备使用的UUID已经被其它服务器端设备占用,那么就换另一个UUID再进行探测,直到发现当前的UUID是该DLNA联盟中唯一的,则停止探测过程,向客户端设备发送加入DLNA联盟的消息,正式宣告加入DLNA联盟,从而一定程度上避免由于设备UUID标识重复而导致设备无法正常对外提供服务或者设备异常退出的情况,提高DLNA联盟的可靠性。进一步地,通过加入定时器使得UUID探测消息或UUID重复指示消息具有了时效性,避免了服务器端设备长时间的等待,更加提高了服务器端设备加入DLNA联盟的效率。请参阅图7,为本发明实施例提供的一种DLNA中的服务器端设备的逻辑结构示意图。如图7所示,在一种实现方式下,该第一服务器端设备10包括发送模块11,用于向所述DLNA联盟中的其它服务器端设备发送第一 UUID探测消息,所述第一 UUID探测消息携带所述第一服务器端设备准备使用的第一 UUID,以使所述DLNA联盟中的其它服务器端设备在接收到所述第一 UUID探测消息之后,从所述第一 UUID探测消息中获取所述第一 UUID,并比较所述第一 UUID与其本身的UUID是否一致,若一致,则向所述第一服务器端设备发送第一 UUID重复指示消息,所述第一 UUID重复指示消息用于指示所述DLNA联盟中存在与所述第一 UUID —致的UUID ;接收模块12,用于接收第一 UUID重复指示消息,所述第一 UUID重复指示消息用于指示所述DLNA联盟中存在与所述第一 UUID —致的UUID ;发送模块11还用于,若接收模块12接收到所述第一 UUID重复指示消息,则向所述DLNA联盟中的其它服务器端设备发送第二 UUID探测消息,所述第二 UUID探测消息携带所述第一服务器端设备准备使用的第二 UUID,所述第二 UUID与所述第一 UUID不同;
进一步地,发送模块11还用于若接收模块12没有接收到第二 UUID重复指示消息,则向所述DLNA联盟中的客户端设备发送加入DLNA联盟的消息,所述加入DLNA联盟的消息携带所述第二 UUID ;所述第二 UUID重复指示消息用于指示所述DLNA联盟中存在与所述第二 UUID —致的UUID。如图8所示,在另一种实现方式下,该第一服务器端设备20还可以包括定时I旲块23,用于在启动后设直定时时间; 而发送模块21具体用于超过所述定时模块设置的所述定时时间之后,若所述接收模块没有收到所述第二 UUID重复指示消息,则向所述DLNA联盟中的客户端设备发送加入DLNA联盟的消息,所述加入DLNA联盟的消息携带所述第二 UUID ;所述第二 UUID重复指示消息用于指示所述DLNA联盟中存在与所述第二 UUID —致的UUID。发送模块21和接收模块22的其它功能与图7所示的第一服务器端设备10相同,在此不再赘述。相应地,本发明实施例还提供另一种DLNA中的服务器端设备,如图9所示,该服务器端设备30包括接收模块31,接收所述DLNA联盟中的第一服务器端设备发送的第一 UUID探测消息,所述第一 UUID探测消息携带所述第一服务器端设备准备使用的第一 UUID,并将所述第一 UUID发送给发送模块;比较模块32,接收所述接收模块发送的所述第一 UUID,比较所述第一 UUID与自己本身的UUID是否一致;发送模块33,若比较模块32得出该第一 UUDI与自己本身的UUID —致,则向所述第一服务器端设备发送第一 UUID重复指示消息,所述第一 UUID重复指示消息用于指示所述DLNA联盟中存在与所述第一 UUID —致的UUID。需说明的是,本发明实施例中所提到的“第一服务器端设备”仅是为了表述方便,区分该服务器端设备和其它服务器端设备,在具体应用中“第一服务器端设备”可以指DLNA联盟中的任意一个可做服务器角色的设备。其它实施例中亦是如此。本领域技术人员应当理解的是,本发明实施例所提供的服务器端设备可以同时具备上述实施例所拥有的功能,即既可以作为UUID探测消息的发送方,也可以作为UUID探测消息的接收方。为了使本领域技术人员能够尽可能多的了解本发明实施例提供的服务器端设备的实现方式,如图10所示,本发明实施例提供服务器端设备的另一种实现方式。该第一服务器端设备40包括存储器41,用于存储该第一服务器端设备30需要执行方法的程序,包括本发明实施例提供的方法。处理器42,用于执行存储器中存储的程序,进而指示发送器43和接收器44完成如下功能发送器43向所述DLNA联盟中的其它服务器端设备发送第一 UUID探测消息,所述第一 UUID探测消息携带所述第一服务器端设备准备使用的第一 UUID,以使所述DLNA联盟中的其它服务器端设备在接收到所述第一 UUID探测消息之后,从所述第一 UUID探测消息中获取所述第一 UUID,并比较所述第一 UUID与其本身的UUID是否一致,若一致,则向所述第一服务器端设备发送第一 UUID重复指示消息,所述第一 UUID重复指示消息用于指示所述DLNA联盟中存在与所述第一 UUID —致的UUID ;向所述DLNA联盟中的其它服务器端设备发送第二 UUID探测消息,所述第二 UUID探测消息携带所述第一服务器端设备准备使用的第二 UUID,所述第二 UUID与所述第一 UUID不同。接收器44接收第一 UUID重复指示消息,所述第一 UUID重复指示消息用于指示所述DLNA联盟中存在与所述第一 UUID —致的UUID0总线45,用于连接以上四个模块。在一种具体实现方式下,所述处理器42还用于若所述第一服务器端设备没有接收到第二 UUID重复指示消息,则指示发送器43向所述DLNA联盟中的客户端设备发送加入DLNA联盟的消息,所述加入DLNA联盟的消息携带所述第二 UUID ;所述第二 UUID重复指示消息用于指示所述DLNA联盟中存在与所述第二 UUID —致的UUID。在另一种具体实现方式下,该第一服务器端设备40还包括定时模块。处理器42 还用于指示定时模块启动,并指示定时模块设置定时时间;超过所述定时模块设置的所述定时时间之后,若接收器44仍然没有收到第二 UUID重复指示消息,则处理器42指示发送器43向所述DLNA联盟中的客户端设备发送加入DLNA联盟的消息,所述加入DLNA联盟的消息携带所述第二 UUID ;所述第二 UUID重复指示消息用于指示所述DLNA联盟中存在与所述第二 UUID —致的UUID。其中,加入DLNA联盟的消息可以实现为SSDP alive消息。相应地,本发明实施例提供服务器端设备的另一种实现方式。如图11所示,该服务器端设备50包括存储器51,用于存储该服务器端设备50需要执行方法的程序,包括本发明实施例提供的方法。处理器52,用于执行存储器中存储的程序。具体地,指示接收器54接收所述DLNA联盟中的第一服务器端设备发送的第一UUID探测消息,所述第一 UUID探测消息携带所述第一服务器端设备准备使用的第一 UUID,并将所述第一 UUID发送给发送器;接收接收器54发送的第一 UUID,比较第一 UUID与自己本身的UUID是否一致;指示发送器53在所述比较器得出所述第一 UUDI与自己本身的UUID —致时,向所述第一服务器端设备发送第一 UUID重复指示消息,所述第一 UUID重复指示消息用于指示所述DLNA联盟中存在与所述第一 UUID —致的UUID。总线55,用于连接以上四个模块。可见,本发明实施例提供的服务器端设备在正式加入DLNA联盟前先向该DLNA联盟中的其它服务器端设备进行了 UUID的探测,若它准备使用的UUID已经被其它服务器端设备占用,那么就换另一个UUID再进行探测,直到发现当前的UUID是该DLNA联盟中唯一的,则停止探测过程,向客户端设备发送加入DLNA联盟的消息,正式宣告加入DLNA联盟,从而一定程度上避免由于设备UUID标识重复而导致设备无法正常对外提供服务或者设备异常退出的情况,提高DLNA联盟的可靠性。进一步地,通过加入定时器使得UUID探测消息或UUID重复指示消息具有了时效性,避免了服务器端设备长时间的等待,更加提高了服务器端设备加入DLNA联盟的效率。请参阅图12,为本发明实施例提供的一种DLNA系统的网络部署示意图,该系统包括第一服务器端设备60、多个其它服务器器端设备70,还包括可选的多个客户端设备80,该系统中的服务器端设备70可以是DMS和/或DMR设备,客户端设备可以是手机、音乐播放器、台式计算机、笔记本电脑等设备,其中第一服务器端设备60用于向所述DLNA联盟中的其它服务器端设备70发送第一UUID探测消息,所述第一 UUID探测消息携带第一服务器端设备60准备使用的第一 UUID ;接收第一 UUID重复指示消息,所述第一 UUID重复指示消息用于指示所述DLNA联盟中存在与所述第一 UUID —致的UUID ;向所述DLNA联盟中的其它服务器端设备70发送第二 UUID探测消息,所述第二 UUID探测消息携带所述第一服务器端设备准备使用的第二 UUID,所述第二 UUID与所述第一 UUID不同其它服务器端设备70用于接收第一服务器端设备60发送的第一 UUID探测消息,从所述第一 UUID探测消息中获取所述第一 UUID,并比较所述第一 UUID与其本身的UUID是否一致,若一致,则向第一服务器端设备60发送第一 UUID重复指示消息,所述第一UUID重复指示消息用于指示所述DLNA联盟中存在与所述第一 UUID —致的UUID。进一步地,第一服务器端设备60还用于若没有接收到第二 UUID重复指示消息,则所向所述DLNA联盟中的客户端设备发送加入DLNA联盟的消息,所述加入DLNA联盟的消息携带所述第二 UUID ;所述第二 UUID重复指示消息用于指示所述DLNA联盟中存在与所述第二 UUID —致的 UUID客户端设备80用于接收所述第一服务器端设备发送的所述加入DLNA联盟的消息,根据所述加入DLNA联盟的消息获知所述第一服务器端设备的第二 UWD。需说明的是,本发明实施例提供的DLNA系统中的第一服务器端设备60和其它服务器端设备70的角色可以互换,功能模块划分可以参考前述装置实施例,执行的具体方法也可以参考前述方法实施例,在此不再赘述。综上所述,本发明实施例提供的DLNA联盟中服务器端设备的UUID探测方法、服务器端设备以及应用该方法的DLNA联盟系统,通过正式加入DLNA联盟前先向该DLNA联盟中的其它服务器端设备进行UUID的探测,达到预先获知UUID使用情况的目的,从而有效避免了由于设备UUID标识重复而导致设备无法正常对外提供服务或者设备异常退出的情况,提高DLNA联盟的可靠性;进一步地,通过加入定时器使得UUID探测消息或UUID重复指示消息具有了时效性,避免了服务器端设备长时间的等待,更加提高了服务器端设备加入DLNA联盟的效率。本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置和系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。需说明的是,以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。另外,本发明提供的装置实施例附图中,模块之间的连接关系表示它们之间具有通信连接,具体可以实现为一条或多条通信总线或信号线。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件的方式来实现,当然也可以通过专用硬件包括专用集成电路、专用CPU、专用存储器、专用元器件等来实现。一般情况下,凡由计算机程序完成的功能都可以很容易地用相应的硬件来实现,而且,用来实现同一功能的具体硬件结构也可以是多种多样的,例如模拟电路、数字电路或专用电路等。但是,对本发明而言更多情况下软件程序实现是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在可读取的存储介质中,如计算机的软盘,U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM, Random Access Memory)、磁碟或者光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
以上所述,仅为本发明的具体实施方式
,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
权利要求
1.一种数字生活网络联盟DLNA中服务器端设备通用唯一标识符UUID的探测方法,其特征在于,所述方法包括 第一服务器端 设备向所述DLNA联盟中的其它服务器端设备发送第一 UUID探测消息,所述第一 UUID探测消息携带所述第一服务器端设备准备使用的第一 UUID,以使所述DLNA联盟中的其它服务器端设备在接收到所述第一 UUID探测消息之后,从所述第一 UUID探测消息中获取所述第一 UUID,并比较所述第一 UUID与其本身的UUID是否一致,若一致,则向所述第一服务器端设备发送第一 UUID重复指示消息,所述第一 UUID重复指示消息用于指示所述DLNA联盟中存在与所述第一 UUID —致的UUID ; 所述第一服务器端设备接收第一 UUID重复指示消息,所述第一 UUID重复指示消息用于指示所述DLNA联盟中存在与所述第一 UUID —致的UUID ; 所述第一服务器端设备向所述DLNA联盟中的其它服务器端设备发送第二 UUID探测消息,所述第二 UUID探测消息携带所述第一服务器端设备准备使用的第二 UUID,所述第二UUID与所述第一 UUID不同。
2.根据权利要求I所述的方法,其特征在于,所述方法还包括 若所述第一服务器端设备没有接收到第二 UUID重复指示消息,则所述第一服务器端设备向所述DLNA联盟中的客户端设备发送加入DLNA联盟的消息,所述加入DLNA联盟的消息携带所述第二 UUID ;所述第二 UUID重复指示消息用于指示所述DLNA联盟中存在与所述第二 UUID —致的 UUID。
3.根据权利要求I所述的方法,其特征在于,在所述第一服务器端设备向所述DLNA联盟中的其它服务器端设备发送第一 UUID探测消息,所述第一 UUID探测消息包括所述第一服务器端设备准备使用的第一 UUID的步骤之后,所述方法还包括 所述第一服务器端设备启动定时器,并设置定时时间; 在所述第一服务器端设备向所述DLNA联盟中的其它服务器端设备发送第二 UUID探测消息,所述第二 UUID探测消息携带所述第一服务器端设备准备使用的第二 UUID,所述第二UUID与所述第一 UUID不同的步骤之后,所述方法还包括 超过所述定时器设置的所述定时时间之后,若所述第一服务器端设备没有收到第二UUID重复指示消息,则所述第一服务器端设备向所述DLNA联盟中的客户端设备发送加入DLNA联盟的消息,所述加入DLNA联盟的消息携带所述第二 UUID ;所述第二 UUID重复指示消息用于指示所述DLNA联盟中存在与所述第二 UUID —致的UUID。
4.根据权利要求2或3所述的方法,其特征在于,所述加入DLNA联盟的消息为简单服务发现协议SSDP alive消息。
5.一种数字生活网络联盟DLNA中服务器端设备通用唯一标识符UUID的探测方法,其特征在于,所述方法包括 接收所述DLNA联盟中的第一服务器端设备发送的第一 UUID探测消息,所述第一 UUID探测消息携带所述第一服务器端设备准备使用的第一 UUID ; 比较所述第一 UUID与自己本身的UUID是否一致; 若所述第一 UUDI与自己本身的UUID —致,则向所述第一服务器端设备发送第一 UUID重复指示消息,所述第一 UUID重复指示消息用于指示所述DLNA联盟中存在与所述第一UUID 一致的 UUID。
6.一种数字生活网络联盟DLNA中的服务器端设备,其特征在于,所述设备包括 发送模块,用于向所述DLNA联盟中的其它服务器端设备发送第一 UUID探测消息,所述第一 UUID探测消息携带第一服务器端设备准备使用的第一 UUID,以使所述DLNA联盟中的其它服务器端设备在接收到所述第一 UUID探测消息之后,从所述第一 UUID探测消息中获取所述第一 UUID,并比较所述第一 UUID与其本身的UUID是否一致,若一致,则向所述第一服务器端设备发送第一 UUID重复指示消息,所述第一 UUID重复指示消息用于指示所述DLNA联盟中存在与所述第一 UUID —致的UUID ;向所述DLNA联盟中的其它服务器端设备发送第二 UUID探测消息,所述第二 UUID探测消息携带所述第一服务器端设备准备使用的第二 UUID,所述第二 UUID与所述第一 UUID不同; 接收模块,用于接收第一 UUID重复指示消息,所述第一 UUID重复指示消息用于指示所述DLNA联盟中存在与所述第一 UUID —致的UUID。
7.根据权利要求6所述的设备,其特征在于,所述发送模块还用于若所述接收模块没有接收到第二 UUID重复指示消息,则向所述DLNA联盟中的客户端设备发送加入DLNA联盟的消息,所述加入DLNA联盟的消息携带所述第二 UUID ;所述第二 UUID重复指示消息用于指示所述DLNA联盟中存在与所述第二 UUID —致的UUID。
8.根据权利要求6所述的设备,其特征在于,所述设备还包括 定时|旲块,用于在启动后设直定时时间; 所述发送模块具体用于超过所述定时模块设置的所述定时时间之后,若所述接收模块没有收到所述第二 UUID重复指示消息,则向所述DLNA联盟中的客户端设备发送加入DLNA联盟的消息,所述加入DLNA联盟的消息携带所述第二 UUID ;所述第二 UUID重复指示消息用于指示所述DLNA联盟中存在与所述第二 UUID —致的UUID。
9.一种数字生活网络联盟DLNA中的服务器端设备,其特征在于,所述设备包括 接收模块,接收所述DLNA联盟中的第一服务器端设备发送的第一 UUID探测消息,所述第一 UUID探测消息携带所述第一服务器端设备准备使用的第一 UUID,并将所述第一 UUID发送给发送模块; 比较模块,接收所述接收模块发送的所述第一 UUID,比较所述第一 UUID与自己本身的UUID是否一致; 发送模块,若所述比较模块得出所述第一 UUDI与自己本身的UUID —致,则向所述第一服务器端设备发送第一 UUID重复指示消息,所述第一 UUID重复指示消息用于指示所述DLNA联盟中存在与所述第一 UUID —致的UUID。
10.一种数字生活网络联盟DLNA,其特征在于,所述系统包括至少一个第一服务器端设备以及至少一个除第一服务器端设备之外的其它服务器器端设备,其中 所述第一服务器端设备用于向所述DLNA联盟中的其它服务器端设备发送第一 UUID探测消息,所述第一 UUID探测消息携带所述第一服务器端设备准备使用的第一 UUID ;接收第一 UUID重复指示消息,所述第一 UUID重复指示消息用于指示所述DLNA联盟中存在与所述第一 UUID —致的UUID ;向所述DLNA联盟中的其它服务器端设备发送第二 UUID探测消息,所述第二 UUID探测消息携带所述第一服务器端设备准备使用的第二 UUID,所述第二UUID与所述第一 UUID不同; 所述其它服务器端设备用于接收所述第一服务器端设备发送的第一 UUID探测消息,从所述第一 UUID探测消息中获取所述第一 UUID,并比较所述第一 UUID与其本身的UUID是否一致,若一致,则向所述第一服务器端设备发送第一 UUID重复指示消息,所述第一 UUID重复指示消息用于指示所述DLNA联盟中存在与所述第一 UUID —致的UUID。
11.根据权利要求10所述的方法,其特征在于,所述系统还包括客户端设备, 所述第一服务器端设备还用于若所述第一服务器端设备没有接收到第二 UUID重复指示消息,则所述第一服务器端设备向所述DLNA联盟中的客户端设备发送加入DLNA联盟的消息,所述加入DLNA联盟的消息携带所述第二 UUID ;所述第二 UUID重复指示消息用于指示所述DLNA联盟中存在与所述第二 UUID —致的UUID ; 所述客户端设备用于接收所述第一服务器端设备发送的所述加入DLNA联盟的消息,根据所述加入DLNA联盟的消息获知所述第一服务器端设备的第二 UUID。
全文摘要
本发明涉及通信领域,尤其涉及一种DLNA中服务器端设备UUID的探测方法、装置及系统。该方法包括向所述DLNA联盟中的其它服务器端设备发送第一UUID探测消息,所述第一UUID探测消息携带自己准备使用的第一UUID;接收其它服务器端设备发送的第一UUID重复指示消息,所述第一UUID重复指示消息用于指示所述DLNA联盟中存在与所述第一UUID一致的UUID;向所述DLNA联盟中的其它服务器端设备发送第二UUID探测消息,所述第二UUID探测消息携带所述第一服务器端设备准备使用的第二UUID,所述第二UUID与所述第一UUID不同,从而一定程度上避免由于设备UUID标识重复而导致设备无法正常对外提供服务或者设备异常退出的情况,提高DLNA联盟的可靠性。
文档编号H04L12/24GK102904747SQ201210341439
公开日2013年1月30日 申请日期2012年9月14日 优先权日2012年9月14日
发明者刘金晓 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1