本发明专利技术公开了一种用于多媒体中转服务的数据传输方法,该方法的步骤包括:至少一个媒体接收方向服务器发送媒体请求S1、服务器应每个媒体接收方的请求利用一对绑定端口分别与媒体发送方和媒体接收方建立通信连接S2、媒体发送方根据媒体请求,通过服务器向媒体接收方发送媒体流S3和基于引用计数对至少一个媒体请求方和数据流所占用的内存空间进行管理S4。本发明专利技术进一步公开了一种用于多媒体中转服务的媒体流构建单元和一种用于多媒体中转服务的数据传输系统。本方案通过媒体流数据分解和基于引用计数的内存空间管理,减小了同一数据对内存空间的多次使用,提高媒体流的转发速度,降低服务器的延时时间,提高了资源利用率,减少了资源的分配耗时。
【技术实现步骤摘要】
本专利技术涉及网络多媒体中转服务,特别是涉及一种用于音视频多媒体数据中转服务的数据传输方法、媒体流构建单元、转发服务器和系统。
技术介绍
伴随着人们平日出行或工作地的不定,越来越多的人群无法在同一地区或同一网络下获取多媒体数据,此时,需要利用多媒体中转服务,提供接收方和发送方的多媒体数据传输支持。目前媒体接收方和媒体发送方之间进行媒体流中转时,往往由于采用中转通道连接请求,服务器的处理延时,以及高码率数据等情况,导致转发的速度在200ms以上,除去网络延时,服务器延时也会达到100ms以上。使媒体接收方和媒体发送方得延迟很高,严重影响音视频传输的效果。
技术实现思路
本专利技术要解决的第一个技术问题是:提供一种用于多媒体中转服务的数据传输方法,以解决现有技术中由于采用中转通道处理连接请求,需要服务器对数据进行解析判断,导致请求处理延迟,从而影响媒体流中转速度的问题;本专利技术要解决的第二个技术问题是:提供一种用于多媒体中转服务的数据传输系统,以解决现有技术中对于同一媒体数据请求重复使用内存,导致资源利用率低,资源分配耗时的问题。为解决上述技术问题,本专利技术采用下述技术方案:一种用于多媒体中转服务的数据传输方法,该方法的步骤包括:S1、至少一个媒体接收方向服务器发送媒体请求;S2、服务器应每个媒体接收方的请求利用一对绑定端口分别与媒体发送方和媒体接收方建立通信连接;S3、媒体发送方根据媒体请求,通过服务器向媒体接收方发送媒体流;S4、基于引用计数对至少一个媒体请求方和数据流所占用的内存空间进行管理。优选地,所述步骤S2包括:S21、服务器将所述一对绑定的端口中的用于发送的端口与媒体请求消息一同发送至媒体发送方;S22、媒体发送方接收媒体请求消息,并与所述用于发送的端口建立连接;S23、服务器将所述一对绑定的端口中的用于接收的端口与应答消息一同发送至媒体接收方;S24、媒体接收方接收应答消息,并与所述用于接收的端口建立连接。优选地,所述媒体流的构建步骤包括构建具有多个固定大小内存块的内存池;将每一帧信息分解为至少一个不大于内存块容量的数据包,并为每一个数据包分配且仅分配一个内存块;将多个数据包通过链表方式组成一帧数据,并由至少一个由多个数据包组成的帧数据组成媒体流。优选地,所述内存池为数据包分配内存块的步骤包括:判断数据包的信息是否为新的一帧;若该数据包为新的一帧信息的数据包,则将该数据包标记为新的一帧信息开始,并从该数据包开始为这一帧内的所有数据包分配内存块,直至该帧信息结束;若该数据包是已经存在的帧信息的数据包,则将该数据包插入至该已经存在的这一帧的数据包的尾部。优选地,所述步骤S4包括:S41、根据媒体接收方的媒体请求确定相应的媒体流,并中转传输S42、若在数据传输网络中,对于某媒体流每增加一个媒体接收方的媒体请求,则在该媒体流的上记录需要传输的帧计数加1;若媒体发送方通过服务器向媒体接收方完成一次某媒体流的传输,则在该媒体流的上记录需要传输的帧计数减1;S43、判断某媒体流的帧计数是否为0,若帧计数为零,则清空媒体流中所有帧数据所占用的内存块空间,并将内存块返回内存池,若帧计数不为零,则继续保持该媒体流中所有帧数据继续占用该内存块空间,并继续为媒体接收方传输媒体流。一种用于多媒体中转服务的媒体流构建单元,该单元包括:内存构建模块,构建具有多个固定大小内存块的内存池;帧信息处理模块,将每一帧信息分解为至少一个不大于内存块容量的数据包,并为每一个数据包分配且仅分配一个内存块;构建模块,将多个数据包通过链表方式组成一帧数据,并由至少一个由多个数据包组成的帧数据组成媒体流。优选地,所述媒体流构建单元进一步包括:分配判断模块:判断数据包的信息是否为新的一帧;若该数据包为新的一帧信息的数据包,则将该数据包标记为新的一帧信息开始,并从该数据包开始为这一帧内的所有数据包分配内存块,直至该帧信息结束;若该数据包是已经存在的帧信息的数据包,则将该数据包插入至该已经存在的这一帧的数据包的尾部。一种用于多媒体中转服务的转发服务器,该转发服务器包括如上所述媒体流构建单元;通信建立单元,应每个媒体接收方的请求利用一对绑定端口分别与媒体发送方和媒体接收方建立通信连接;管理单元,基于引用计数对至少一个媒体请求方和数据流所占用的内存空间进行管理。优选地,所述管理单元包括:数据查找模块,根据媒体接收方的媒体请求确定相应的媒体流,并中转传输计数模块,数据传输网络中,若对于某媒体流每增加一个媒体接收方的媒体请求,则在该媒体流的上记录需要传输的帧计数加1;若媒体发送方通过服务器向媒体接收方完成一次某媒体流的传输,则在该媒体流的上记录需要传输的帧计数减1;判断模块,判断某媒体流的帧计数是否为0,若帧计数为零,则清空媒体流中所有帧数据所占用的内存块空间,并将内存块返回内存池,若帧计数不为零,则继续保持该媒体流中所有帧数据继续占用该内存块空间,并继续为媒体接收方传输媒体流一种用于多媒体中转服务的数据传输系统,该系统包括:媒体接收端,根据用户需求,发送媒体请求;如上所述的转发服务器;媒体接收端,应媒体请求,提供相应的媒体数据。本专利技术的有益效果如下:本方案通过为媒体接收方和媒体发送方配置绑定接口,可以简化服务器的通道连接判断,不需要进行数据解析就能判断媒体流的方向;本方案通过对媒体流数据分解存储,并基于引用计数对媒体流占用的内存空间进行管理,减小了同一数据对内存空间的多次使用,提高媒体流的转发速度,降低服务器的延时时间,提高了资源利用率,减少了资源的分配耗时。本方案可以将媒体转发的时间从现有技术中的200ms缩短至50ms,如在高性能服务器上甚至可以缩短至10ms以内。附图说明下面结合附图对本专利技术的具体实施方式作进一步详细的说明;图1示出本方案所述数据传输方法的工作示意图;图2示出本方案所述内存池为数据包分配内存块的示意图;图3示出本方案所述基于引用计数数据流所占用的内存空间进行管理的示意图。具体实施方式为了更清楚地说明本专利技术,下面结合优选实施例和附图对本专利技术做进一步的说明。附图中相似的部件以相同的附图标记进行表示。本领域技术人员应当理解,下面所具体描述的内容是说明性的而非限制性的,不应以此限制本专利技术的保护范围。如图1所示,本专利技术公开了一种用于多媒体中转服务的数据传输方法,该方法的步骤包括:步骤S1、至少一个媒体接收方向服务器发送媒体请求。在数据中转传输过程中,媒体请求方针对某一媒体数据向中转传输网络发送相应的媒体请求,等待中转服务器为其分配通信端口和媒体发送方的数据连接。步骤S2、服务器应每个媒体接收方的请求利用一对绑定端口分别与媒体发送方和媒体接收方建立通信连接。接到媒体接收方的媒体请求后,服务器将一对绑定的端口中的用于发送的端口与媒体请求消息一同发送至媒体发送方;媒体发送方接收媒体请求消息,并与所述用于发送的端口建立连接;与此同时,服务器将所述一对绑定的端口中的用于接收的端口与应答消息一同发送至媒体接收方;媒体接收方接收应答消息,并与所述用于接收的端口建立连接。步骤S3、媒体发送方根据媒体请求,通过服务器向媒体接收方发送媒体流。媒体发送方通过中转服务器与媒体接收方建立通信连接,媒体发送方根据媒体接收方发送的媒体请求,提供相应的媒体数据,并发送至本文档来自技高网...
【技术保护点】
一种用于多媒体中转服务的数据传输方法,其特征在于,该方法的步骤包括:S1、至少一个媒体接收方向服务器发送媒体请求;S2、服务器应每个媒体接收方的请求利用一对绑定端口分别与媒体发送方和媒体接收方建立通信连接;S3、媒体发送方根据媒体请求,通过服务器向媒体接收方发送媒体流;S4、基于引用计数对至少一个媒体请求方和数据流所占用的内存空间进行管理。
【技术特征摘要】
1.一种用于多媒体中转服务的数据传输方法,其特征在于,该方法的步骤包括:S1、至少一个媒体接收方向服务器发送媒体请求;S2、服务器应每个媒体接收方的请求利用一对绑定端口分别与媒体发送方和媒体接收方建立通信连接;S3、媒体发送方根据媒体请求,通过服务器向媒体接收方发送媒体流;S4、基于引用计数对至少一个媒体请求方和数据流所占用的内存空间进行管理。2.根据权利要求1所述的数据传输方法,其特征在于,所述步骤S2包括:S21、服务器将所述一对绑定的端口中的用于发送的端口与媒体请求消息一同发送至媒体发送方;S22、媒体发送方接收媒体请求消息,并与所述用于发送的端口建立连接;S23、服务器将所述一对绑定的端口中的用于接收的端口与应答消息一同发送至媒体接收方;S24、媒体接收方接收应答消息,并与所述用于接收的端口建立连接。3.根据权利要求1所述的数据传输方法,其特征在于,所述媒体流的构建步骤包括构建具有多个固定大小内存块的内存池;将每一帧信息分解为至少一个不大于内存块容量的数据包,并为每一个数据包分配且仅分配一个内存块;将多个数据包通过链表方式组成一帧数据,并由至少一个由多个数据包组成的帧数据组成媒体流。4.根据权利要求3所述的数据传输方法,其特征在于,所述内存池为数据包分配内存块的步骤包括:判断数据包的信息是否为新的一帧;若该数据包为新的一帧信息的数据包,则将该数据包标记为新的一帧信息开始,并从该数据包开始为这一帧内的所有数据包分配内存块,直至该帧信息结束;若该数据包是已经存在的帧信息的数据包,则将该数据包插入至该已经存在的这一帧的数据包的尾部。5.根据权利要求1所述的数据传输方法,其特征在于,所述步骤S4包括:S41、根据媒体接收方的媒体请求确定相应的媒体流,并中转传输;S42、若在数据传输网络中,对于某媒体流每增加一个媒体接收方的媒体请求,则在该媒体流的上记录需要传输的帧计数加1;若媒体发送方通过服务器向媒体接收方完成一次某媒体流的传输,则在该媒体流的上记录需要传输的帧计数减1;S43、判断某媒体流的帧计数是否为0,若帧计数为零,则清空媒体流中所有帧数据所占用的内存块空间,并将内存块...
【专利技术属性】
技术研发人员:陈文源,谢红兵,张红强,刁良海,
申请(专利权)人:苏州华兴源创电子科技有限公司,
类型:发明
国别省市:江苏;32
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。