[发明专利]基于端口号和IP地址的多视频转发方法有效
申请号: | 201210135132.6 | 申请日: | 2012-05-03 |
公开(公告)号: | CN102647625A | 公开(公告)日: | 2012-08-22 |
发明(设计)人: | 李校林;李津;杨丰瑞;刘辉 | 申请(专利权)人: | 重庆邮电大学;重庆信科设计有限公司 |
主分类号: | H04N21/266 | 分类号: | H04N21/266;H04N21/63;H04N21/64 |
代理公司: | 重庆市前沿专利事务所 50211 | 代理人: | 郭云 |
地址: | 400065 重庆*** | 国省代码: | 重庆;85 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 端口 ip 地址 视频 转发 方法 | ||
1.一种基于端口号和IP地址的多视频转发方法,包括多个终端,其特征在于:还包括转发服务器,该转发服务器用于接收多路视频并将对应的视频转发给需视频传输的终端;
在转发服务器向需视频传输的终端转发对应的视频时,转发服务器通过主线程实现终端信息和子线程启闭的更新,通过子线程实现视频的转发,并且每一路视频对应于一个单独的子线程,每一子线程对应于一个端口号;
该转发服务器创建待分发链表来存储更新后的终端信息,并创建线程链表来存储增加和减少的端口号,从而实现该端口号对应的子线程的启闭,其中该终端信息包括终端的端口号和IP地址,该线程链表具有线程链表标记位变量;
该多视频转发方法包括该转发服务器定时获取终端信息,并且通过主线程对子线程的启闭进行控制的步骤:
S10、将该线程链表的线程链表标记位变量初始化为0,创建第一分发链表和第二分发链表,并且建立分发线程数组,该分发线程数组由多个第二元素组成,每一第二元素均对应于一个端口号并由该第二元素的下标来表示该端口号,每一第二元素均存储有一个变量:分发线程标记位;
S11、该第一分发链表用于获取上次需视频传输的终端信息并进行排序,该第二分发链表用于获取本次需视频传输的终端信息并进行排序;
S12、该第一端口号链表用于获取第一分发链表中终端信息的端口号并进行排序、删除重复元素,该第二端口号链表用于获取第二分发链表中终端信息的端口号并进行排序、删除重复元素;
S13、求取第二端口号链表与第一端口号链表的差集并存储至第一端口差集链表中,由此获得增加的端口号;求取第一端口号链表与第二端口号链表的差集并存储至第二端口差集链表中,由此获得减少的端口号;
S14、判断第一端口差集链表和第二端口差集链表是否均为空:如果均为空,则表示端口号未改变,即端口号对应的视频转发子线程未改变,该线程链表中的线程链表标记位变量保持为0,并且将第二分发链表的终端信息赋给第一分发链表;
否则表示端口号发生改变,即端口号对应的视频转发子线程发生改变,将线程链表中的线程链表标记位变量设置为1,将第一端口差集链表中的端口号分别赋给线程链表的一个结点并将这些结点的属性值设置为第一值,将第二端口差集链表中的端口号分别赋给线程链表的一个结点并将这些结点的属性值设置为第二值,并且将第二分发链表的终端信息赋给第一分发链表;
S15、判断该线程链表的线程链表标记位变量是否为1:
如果该线程链表标记位变量为0,则重复执行步骤S11~S15;
如果该线程链表标记位变量为1,则进一步判断线程链表中结点的属性值:如果结点的属性值为第一值则在该分发线程数组中查找与该结点中端口号对应的第二元素,并将该第二元素的分发线程标记设置为0,从而开启与该结点中端口号对应的子线程;如果结点的属性值为第二值则在该分发线程数组中查找与该结点中端口号对应的第二元素,并将该第二元素的分发线程标记设置为1,从而关闭与该结点中端口号对应的子线程;并且将该线程链表中的线程链表标记位变量重新设置为0,重复执行步骤S11~S15。
2.根据权利要求1所述的基于端口号和IP地址的多视频转发方法,其特征在于还包括该转发服务器对终端信息进行更新的步骤,将本次需视频传输的终端信息与上次需视频传输的终端信息进行比较:如果相同则不更新终端信息;如果不相同则更新终端信息,其中该终端信息包括终端的端口号和IP地址。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于重庆邮电大学;重庆信科设计有限公司,未经重庆邮电大学;重庆信科设计有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210135132.6/1.html,转载请声明来源钻瓜专利网。