公开/公告号CN104702565A
专利类型发明专利
公开/公告日2015-06-10
原文格式PDF
申请/专利权人 中兴通讯股份有限公司;
申请/专利号CN201310653199.3
申请日2013-12-05
分类号
代理机构深圳市世纪恒程知识产权代理事务所;
代理人胡海国
地址 518057 广东省深圳市南山区高新技术产业园科技南路中兴通讯大厦法务部
入库时间 2023-12-18 09:23:37
法律状态公告日
法律状态信息
法律状态
2019-09-17
授权
授权
2019-09-06
专利申请权的转移 IPC(主分类):H04L29/06 登记生效日:20190819 变更前: 变更后: 申请日:20131205
专利申请权、专利权的转移
2016-10-26
实质审查的生效 IPC(主分类):H04L29/06 申请日:20131205
实质审查的生效
2015-06-10
公开
公开
技术领域
本发明涉及通信技术领域,尤其涉及一种媒体资源共享的方法、共享服务器及共享系统。
背景技术
随着网络技术的发展,在两种网络设备上共享媒体资源已经具有多种多样的实现方法。用户所共享的媒体资源包括文字内容、照片及视频等,这些媒体资源通常存储在用户的手机或者电脑等网络设备上,这些网络设备是局域网内部的,对外没有固定的外网IP地址,局域网外部要访问这些网络设备时,一般是通过NAT(Network Address Translation,网络地址转换)穿越或者服务器中继的方式来实现。
但是,使用服务器中继的方式在共享数据量较大的媒体资源时,对服务器资源的占用会比较高,单个服务器同时可服务网络设备的数量减少,造成服务器成本的增加。
而使用NAT穿越的方式时,通常是通过UDP(User Datagram Protocol,用户数据包协议)打洞来实现,UDP打洞需要专用客户端来完成,即在媒体资源共享时,需要专用客户端来浏览媒体资源,造成对共享媒体资源的网络设备的限制,适用范围较小。
发明内容
本发明的主要目的在于提供一种媒体资源共享的方法、共享服务器及共享系统,旨在提高服务器与浏览器之间共享媒体资源的通用性,降低成本,节约网络资源。
为了达到上述目的,本发明提出一种媒体资源共享的方法,包括以下步骤:
共享服务器通过双向通道获取浏览器的共享请求;
根据所述共享请求获取所述共享服务器与所述浏览器的地址信息;
根据获取的所述共享服务器与所述浏览器的地址信息与所述浏览器进行ICE联通性测试,并建立第一媒体通道;
通过所述第一媒体通道与所述浏览器共享媒体资源。
优选地,所述根据所述共享请求获取所述共享服务器与所述浏览器的地址信息的步骤包括:
根据所述共享请求,通过所述双向通道向应用服务器返回请求响应消息,由所述应用服务器通过所述双向通道将所述请求响应消息转发给所述浏览器;
接收通过所述应用服务器获取的所述浏览器的NAT地址与端口,以及所述共享服务器的NAT地址与端口;
通过所述双向通道将所述共享服务器的NAT地址与端口发送至所述浏览器。
优选地,所述根据获取的所述共享服务器与所述浏览器的地址信息与所述浏览器进行ICE联通性测试,并建立第一媒体通道的步骤包括:
根据获取的所述共享服务器与所述浏览器的NAT地址及端口与所述浏览器进行ICE联通性测试,并建立第一媒体通道。
优选地,所述根据获取的所述共享服务器与所述浏览器的地址信息与所述浏览器进行ICE联通性测试,并建立第一媒体通道的步骤之后还包括:
若所述第一媒体通道建立失败,则以所述应用服务器为中继,建立与所述浏览器之间的第二媒体通道;
通过所述第二媒体通道与所述浏览器共享媒体资源。
优选地,所述共享服务器通过双向通道获取浏览器的共享请求的步骤包括:
所述共享服务器及所述浏览器分别与所述应用服务器建立双向通道;
通过所述共享服务器及所述浏览器分别与所述应用服务器建立的双向通道获取浏览器的共享请求。
优选地,所述通过第一媒体通道与所述浏览器共享媒体资源的步骤包括:通过所述第一媒体通道向浏览器发送媒体资源,或者通过所述第一媒体通道接收所述浏览器发送的媒体资源。
本发明还提供一种媒体资源共享服务器,包括:
请求获取模块,用于通过双向通道获取浏览器的共享请求;
地址信息获取模块,用于根据所述共享请求获取所述共享服务器与所述浏览器的地址信息;
第一建立模块,用于根据获取的所述共享服务器与所述浏览器的地址信息与所述浏览器进行ICE联通性测试,并建立第一媒体通道;
第一共享模块,用于通过所述第一媒体通道与所述浏览器共享媒体资源。
优选地,所述地址信息获取模块包括:
返回单元,用于根据所述共享请求,通过所述双向通道向应用服务器返回请求响应消息,由所述应用服务器通过所述双向通道将所述请求响应消息转发给所述浏览器;
接收单元,用于接收通过所述应用服务器获取的所述浏览器的NAT地址与端口,以及所述共享服务器的NAT地址与端口;
发送单元,用于通过所述双向通道将所述共享服务器的NAT地址与端口发送至所述浏览器。
优选地,所述第一建立模块具体用于根据获取的所述共享服务器与所述浏览器的NAT地址及端口与所述浏览器进行ICE联通性测试,并建立第一媒体通道。
优选地,还包括:
第二建立模块,用于若所述第一媒体通道建立失败,则以所述应用服务器为中继,建立与所述浏览器之间的第二媒体通道;
第二共享模块,用于通过所述第二媒体通道与所述浏览器共享媒体资源。
优选地,所述请求获取模块包括:
通道建立单元,用于所述共享服务器及所述浏览器分别与所述应用服务器建立双向通道;
请求获取单元,用于通过所述共享服务器及所述浏览器分别与所述应用服务器建立的双向通道获取浏览器的共享请求。
优选地,所述第一共享模块具体用于通过所述第一媒体通道向浏览器发送媒体资源,或者通过所述第一媒体通道接收所述浏览器发送的媒体资源。
本发明还提供一种媒体资源共享系统,包括应用服务器、浏览器以及上述的共享服务器,其中:
所述应用服务器用于根据所述共享请求向共享服务器及浏览器发送地址信息;所述浏览器用于通过双向通道向共享服务器发送共享请求,还用于与共享服务器配合进行ICE联通性测试,并建立第一媒体通道,还用于通过第一媒体通道与共享服务器共享媒体资源。
优选地,所述应用服务器包括注册服务器和ICE服务器。
本发明提出的一种媒体资源共享的方法、共享服务器及共享系统,浏览器支持Web RTC标准,共享服务器与浏览器可通过与应用服务器建立的双向通道进行消息交互,在共享服务器及浏览器分别获取自身及对方的地址信息后,可进行ICE联通性测试并建立第一媒体通道,通过第一媒体通道实现共享服务器及浏览器之间的媒体资源共享,由于很多浏览器都支持Web RTC标准,故相比于现有技术中使用NAT穿越的方式来说,本发明在服务器与浏览器之间资源共享适用的范围变大,不需要专门的客户端来完成;相比于使用服务器中继的方式,本发明在共享数据量较大的媒体资源时,对应用服务器资源的占用较低,降低了成本,节约了网络资源。
附图说明
图1是本发明媒体资源共享的方法第一实施例的流程示意图;
图2是本发明媒体资源共享的方法第二实施例的流程示意图;
图3是图2所示获取共享服务器与浏览器的地址信息的流程示意图;
图4是图2所示通过双向通道获取浏览器的共享请求的流程示意图;
图5是本发明共享服务器第一实施例的结构示意图;
图6是本发明共享服务器第二实施例的结构示意图;
图7是图6所示请求获取模块的结构示意图;
图8是图6所示地址信息获取模块的结构示意图;
图9是本发明共享系统的结构示意图。
为了使发明的技术方案更加清楚、明了,下面将结合附图作进一步详述。
具体实施方式
具体地,如图1所示,本发明一实施例提出一种媒体资源共享的方法,包括:
步骤S101,共享服务器通过双向通道获取浏览器的共享请求;
其中,双向通道为Web Socket通道。
本实施例的浏览器支持Web RTC(Web Real-Time Communication,网页实时通信)标准,Web RTC是一种支持网页浏览器进行实时语音对话或视频对话的技术。共享服务器与安装浏览器的设备处于不同的局域网内,以共享服务器或者浏览器作为外部网络访问对方时,均需要通过一个NAT(Netword Address Translation,网络地址转换)设备,以将网址进行转换并屏蔽内部网络的信息。本实施例通过共享服务器及浏览器分别与应用服务器建立的双向通道获取浏览器的共享请求。Web Socket规范的目标是在浏览器中实现和服务器端双向通信,具有Web Socket规范的浏览器包括Firefox4、Chrome4、Opera10.70以及Safari5浏览器等。
步骤S102,根据所述共享请求获取所述共享服务器与所述浏览器的地址信息;
本实施例中,当共享服务器接收到共享请求后,以应用服务器为中转,向浏览器返回共享请求的响应消息,浏览器接收到响应消息后,首先向应用服务器获取其地址信息,然后,共享服务器也向应用服务器获取其地址信息。
共享服务器通过应用服务器获取共享服务器自身的及浏览器的地址信息,而浏览器通过应用服务器获取浏览器自身的及共享服务器的地址信息,通过已知的自身的及对方的地址信息才能够进行下一步的ICE联通性测试。
其中,地址信息包括NAT地址与端口,还包括中继的IP地址及端口,NAT地址与端口为共享服务器及浏览器各自的NAT设备分配后发送给应用服务器,而中继的IP地址及端口则由应用服务器进行分配。本实施例中优先使用NAT地址与端口。
步骤S103,根据获取的所述共享服务器与所述浏览器的地址信息与所述浏览器进行ICE联通性测试,并建立第一媒体通道;
ICE(Interactive Connectivity Establishment,交互式连接建立)是一种综合性的NAT穿越的技术,在NAT穿越中较常用。
共享服务器及浏览器通过已知的自身的及对方的地址信息才能进行ICE联通性测试,并建立第一媒体通道,本实施例中所使用的地址信息包括NAT地址及端口。
步骤S104,通过所述第一媒体通道与所述浏览器共享媒体资源。
共享服务器与浏览器通过第一媒体通道共享媒体资源,媒体资源包括文字内容、照片及视频等,在发送前打包为UDP包后再发送,可以是共享服务器通过第一媒体通道向浏览器发送媒体资源;也可以是共享服务器通过第一媒体通道接收浏览器发送的媒体资源,并在共享服务器上保存浏览器发送的媒体资源。
与现有技术相比,本实施例的浏览器支持Web RTC标准,共享服务器与浏览器可通过与应用服务器建立的双向通道进行消息交互,在共享服务器及浏览器分别获取自身及对方的地址信息后,可进行ICE联通性测试并建立第一媒体通道,通过第一媒体通道实现共享服务器及浏览器之间的媒体资源共享,由于很多浏览器都支持Web RTC标准,故相比于现有技术中使用NAT穿越的方式来说,本实施例在服务器与浏览器之间资源共享适用的范围变大,不需要专门的客户端来完成;相比于使用服务器中继的方式,本实施例在共享数据量较大的媒体资源时,对应用服务器资源的占用较低,降低了成本,节约了网络资源。
在一优选的实施例中,如图2所示,本发明另一实施例提出一种媒体资源共享的方法,在上述实施例的基础上,在上述步骤S102之后,还包括:
步骤S105,若所述第一媒体通道建立失败,则以所述应用服务器为中继,建立与所述浏览器之间的第二媒体通道;
步骤S106,通过所述第二媒体通道与所述浏览器共享媒体资源。
本实施例在上述实施例的基础上,更进一步解决了当共享服务器与浏览器之间的第一媒体通道建立失败时,由于共享服务器与浏览器通过应用服务器获取的地址信息中包括中继的IP地址及端口,共享服务器与浏览器仍可以应用服务器为中继,建立与浏览器之间的第二媒体通道的问题,并实现与浏览器共享媒体资源,从而确保了共享服务器与浏览器之间的正常通信。
在一优选的实施例中,如图3所示,上述步骤S101共享服务器通过双向通道获取浏览器的共享请求的步骤包括:
步骤S1011,所述共享服务器及所述浏览器分别与所述应用服务器建立双向通道;
步骤S1012,通过所述共享服务器及所述浏览器分别与所述应用服务器建立的双向通道获取浏览器的共享请求。
本实施例具体为:共享服务器与应用服务器进行Web Socket的握手,建立双向通道,以便实现共享服务器与应用服务器的双向通讯;共享服务器向应用服务器上报自身的状态,即可用或不可用的状态;浏览器访问应用服务器提供的查询共享服务列表的页面,并加载该页面,浏览器与应用服务器进行Web Socket的握手,建立双向通道,以便实现浏览器与应用服务器的双向通讯,浏览器通过双向通道向应用服务器发送共享请求,应用服务器把浏览器的共享要求通过双向通道转发给共享服务器。
在一优选的实施例中,如图4所示,上述步骤S102根据所述共享请求获取所述共享服务器与所述浏览器的地址信息的步骤包括:
步骤S1021,根据所述共享请求,通过所述双向通道向应用服务器返回请求响应消息,由所述应用服务器通过所述双向通道将所述请求响应消息转发给所述浏览器;
步骤S1022,接收通过所述应用服务器获取的所述浏览器的NAT地址与端口,以及所述共享服务器的NAT地址与端口;
步骤S1023,通过所述双向通道将所述共享服务器的NAT地址与端口发送至所述浏览器。
如图5所示,本发明一实施例提出一种共享服务器,包括:
请求获取模块101,用于通过双向通道获取浏览器的共享请求;
本实施例的浏览器支持Web RTC(Web Real-Time Communication,网页实时通信)标准,Web RTC是一种支持网页浏览器进行实时语音对话或视频对话的技术。共享服务器与安装浏览器的设备处于不同的局域网内,以共享服务器或者浏览器作为外部网络访问对方时,均需要通过一个NAT(Netword Address Translation,网络地址转换)设备,以将网址进行转换并屏蔽内部网络的信息。本实施例通过共享服务器及浏览器分别与应用服务器建立的双向通道获取浏览器的共享请求。Web Socket规范的目标是在浏览器中实现和服务器端双向通信,具有Web Socket规范的浏览器包括Firefox4、Chrome4、Opera10.70以及Safari5浏览器等。
地址信息获取模块102,用于根据所述共享请求获取所述共享服务器与所述浏览器的地址信息;
本实施例中,当接收到共享请求后,以应用服务器为中转,向浏览器返回共享请求的响应消息,浏览器接收到响应消息后,首先向应用服务器获取其地址信息,然后,共享服务器也向应用服务器获取其地址信息。
共享服务器的地址信息获取模块102通过应用服务器获取共享服务器自身的及浏览器的地址信息,而浏览器通过应用服务器获取浏览器自身的及共享服务器的地址信息,通过已知的自身的及对方的地址信息才能够进行ICE联通性测试。
其中,地址信息包括NAT地址与端口,还包括中继的IP地址及端口,NAT地址与端口为共享服务器及浏览器各自的NAT设备分配后发送给应用服务器,而中继的IP地址及端口则由应用服务器进行分配。本实施例中优先使用NAT地址与端口。
第一建立模块103,用于根据获取的所述共享服务器与所述浏览器的地址信息与所述浏览器进行ICE联通性测试,并建立第一媒体通道;
ICE(Interactive Connectivity Establishment,交互式连接建立)是一种综合性的NAT穿越的技术,在NAT穿越中较常用。
共享服务器的第一建立模块103及浏览器通过已知的自身的及对方的地址信息才能进行ICE联通性测试,并建立第一媒体通道,本实施例中所使用的地址信息包括NAT地址及端口。
第一共享模块104,用于通过所述第一媒体通道与所述浏览器共享媒体资源。
共享服务器的第一共享模块103与浏览器通过第一媒体通道共享媒体资源,媒体资源包括文字内容、照片及视频等,可以是共享服务器的第一共享模块103通过第一媒体通道向浏览器发送媒体资源;也可以是共享服务器的第一共享模块103通过第一媒体通道接收浏览器发送的媒体资源,并在共享服务器上保存浏览器发送的媒体资源。
如图6所示,本发明另一实施例提出一种共享服务器,在上述图5实施例的基础上,还包括:
第二建立模块105,用于若所述第一媒体通道建立失败,则以所述应用服务器为中继,建立与所述浏览器之间的第二媒体通道;
第二共享模块106,用于通过所述第二媒体通道与所述浏览器共享媒体资源。
本实施例在上述实施例的基础上,更进一步解决了当共享服务器的第一建立模块102与浏览器之间的第一媒体通道建立失败时,由于共享服务器与浏览器通过应用服务器获取的地址信息中包括中继的IP地址及端口,共享服务器的第二建立模块104与浏览器仍可以应用服务器为中继,建立与浏览器之间的第二媒体通道,并实现与浏览器共享媒体资源的问题。从而确保了共享服务器与浏览器之间的正常通信。
在一优选的实施例中,如图7所示,上述请求获取模块101包括:
通道建立单元1011,用于所述共享服务器及所述浏览器分别与所述应用服务器建立双向通道;
请求获取单元1012,用于通过所述共享服务器及所述浏览器分别与所述应用服务器建立的双向通道获取浏览器的共享请求。
在一优选的实施例中,如图8所示,上述地址信息获取模块102包括:
返回单元1021,用于根据所述共享请求,通过所述双向通道向应用服务器返回请求响应消息,由所述应用服务器通过所述双向通道将所述请求响应消息转发给所述浏览器;
接收单元1022,用于接收通过所述应用服务器获取的所述浏览器的NAT地址与端口,以及所述共享服务器的NAT地址与端口;
发送单元1023,用于通过所述双向通道将所述共享服务器的NAT地址与端口发送至所述浏览器。
本发明一实施例提出一种共享系统,包括:应用服务器、浏览器以及共享服务器,其中:
共享服务器用于通过双向通道获取浏览器的共享请求,根据共享请求获取共享服务器与浏览器的地址信息,根据获取的共享服务器与浏览器的地址信息与浏览器进行ICE联通性测试,并建立第一媒体通道,通过第一媒体通道与浏览器共享媒体资源;
应用服务器用于根据所述共享请求向共享服务器及浏览器发送地址信息;
浏览器用于通过双向通道向共享服务器发送共享请求,还用于与共享服务器配合进行ICE联通性测试,并建立第一媒体通道,还用于通过第一媒体通道与共享服务器共享媒体资源。
在一优选的实施例中,如图9所示,为了减小上述应用服务器的负担并提高效率,应用服务器也可以分为两个服务器,即分为一个注册服务器及一个ICE服务器。注册服务器用于共享服务器及浏览器注册各自经过NAT设备后的对外访问地址,并作为共享服务器及浏览器消息交互的中转服务器;而ICE服务器负责分配共享服务器及浏览器各自的地址信息,并作为共享服务器及浏览器建立第二媒体通道之后媒体资源共享交互时的中转服务。
以下以应用服务器分为注册服务器及ICE服务器为例进行详细说明:
1、共享服务器与注册服务器进行Web Socket的握手,建立双向通道;
2、共享服务器向注册服务器上报状态信息;
3、浏览器访问注册服务器提供的查询共享服务器的页面,并加载该页面;
4、浏览器与注册服务器进行Web Socket的握手,建立双向通道;
5、浏览器通过双向通道向注册服务器发送共享请求;
6、注册服务器把共享请求通过双向通道转发给共享服务器;
7、共享服务器通过双向通道向注册服务器返回响应信息;
8、注册服务器把响应信息通过双向通道转发给浏览器;
9、浏览器向ICE服务器请求获取其地址信息;
10、ICE服务器返回浏览器的NAT地址和端口、中继IP和端口等列表信息;
11、浏览器将自身的列表信息发送给注册服务器;
12、注册服务器将浏览器的列表信息发送给共享服务器;
13、共享服务器向ICE服务器请求获取其地址信息;
14、ICE服务器返回共享服务器的NAT地址和端口、中继IP和端口等列表信息;
15、共享服务器将自身的列表信息发送给注册服务器;
16、注册服务器将共享服务器的列表信息发送给浏览器;
17、浏览器与共享服务器之间根据已知的对方的NAT地址和端口进行ICE联通性测试,建立第一媒体通道;
18、浏览器与共享服务器之间通过第一媒体通道共享媒体资源。
本实施例中,共享服务器与注册服务器进行Web Socket通信,与浏览器进行点对点UDP通信,与ICE服务器进行TCP通信。
通过上面的描述可以看出:本发明的浏览器支持Web RTC标准,共享服务器与浏览器可通过与应用服务器建立的双向通道进行消息交互,在共享服务器及浏览器分别获取自身及对方的地址信息后,可进行ICE联通性测试并建立第一媒体通道,通过第一媒体通道实现共享服务器及浏览器之间的媒体资源共享,由于很多浏览器都支持Web RTC标准,故相比于现有技术中使用NAT穿越的方式来说,本发明例在服务器与浏览器之间资源共享适用的范围变大,不需要专门的客户端来完成;相比于使用服务器中继的方式,本发明在共享数据量较大的媒体资源时,对应用服务器资源的占用较低,节约了网络资源;当共享服务器与浏览器之间的第一媒体通道建立失败时,共享服务器与浏览器仍可以应用服务器为中继,建立与浏览器之间的第二媒体通道,并实现与浏览器共享媒体资源,从而确保了共享服务器与浏览器之间的正常通信。
以上所述仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或流程变换,或直接或间接运用在其它相关的技术领域,均同理包括在本发明的专利保护范围内。
机译: 媒体资源共享方法,共享服务器和共享系统
机译: 媒体资源共享方法,共享服务器和共享系统
机译: 媒体资源共享方法,共享服务器和共享系统