发明名称 流媒体服务器用户层通信方法
摘要 一种流媒体服务器对外服务端口的用户层通信方法,属于流媒体通信技术领域,其特征在于,流媒体应用程序在用户层根据流媒体协议和网络通信协议处理流媒体数据包,最终把流媒体数据包处理成网络硬件设备可以直接识别的数据包格式,然后,流媒体应用程序把这些流媒体数据包填写到一定发送队列中,并在用户层直接操作网络硬件设备,通知网络硬件设备把流媒体数据包发送到网络上。从而,减少了流媒体服务器处理器大量的处理时间,充分的利用了流媒体服务器的处理器能力。
申请公布号 CN1972192A 申请公布日期 2007.05.30
申请号 CN200610144286.6 申请日期 2006.12.01
申请人 清华大学 发明人 朱子玉
分类号 H04L12/00(2006.01);H04L12/56(2006.01);H04L29/08(2006.01) 主分类号 H04L12/00(2006.01)
代理机构 代理人
主权项 1、流媒体服务器用户层通信方法,其特征在于,所述方法在流媒体服务器的用户层按以下步骤实现。步骤(1),初始化:在流媒体服务器设置网络接口控制器驱动程序、核心代理程序和用户代理程序,具体:网络控制器驱动程序,位于流媒体服务器的核心层,负责包括硬件门铃、发送队列地址寄存器组、接收队列地址寄存器组、发送队列状态寄存器组、接收队列状态寄存器组在内的硬件设备资源的管理,在所述发送或接收队列所保存的发送或接收描述子中含有数据包地址信息和数据包长度信息;核心代理程序,位于流媒体服务器的核心层,负责管理包括发送队列组状态、接收队列组状态和地址转换表在内的数据通信用到的核心资源;用户代理程序,位于流媒体服务器的用户层,包含用于包装用户层在发送和接收信息时所用的程序和程序接口,以供流媒体服务器应用程序发送或接收数据;步骤(2),系统启动:启动核心代理程序,并注册用于映射所述核心资源和网络接口控制器硬件设备资源的设备文件;网络接口控制器驱动程序初始化包括发送硬件设备在内的网络接口控制器硬件设备,并任意分配发送和接收队列,然后该驱动程序向所述核心代理程序注册;步骤(3),流媒体应用程序把核心资源和网络接口控制器中的硬件设备资源从核心地址空间映射到用户地址空间;流媒体应用程序通过所述地址转换表把流媒体数据缓冲区的虚拟地址转换成物理地址,并填写到发送描述子中,通过网络接口控制器发往网络硬件设备;网络硬件设备读取这些带有物理地址的发送描述子;步骤(4),运行在用户空间的流媒体应用程序在用户地址空间任意为流媒体数据包分配发送缓冲区;步骤(5),流媒体应用程序把发送缓冲区地址注册到核心空间,把缓冲区的虚拟地址转换为物理地址,并填写到地址转换表中;步骤(6),流媒体应用程序在用户层先根据指定的网络通信协议要求处理流媒体数据包,再把流媒体数据包打包成通信数据包;步骤(7),流媒体应用程序根据指定的网络硬件设备要求,分解所述通信数据包,打包成硬件数据包;步骤(8),流媒体应用程序通过已映射的用户空间的发送队列状态寄存器组来查询发送队列中是否有空闲的发送描述子,若没有,则等待,若有,则执行下一步骤;步骤(9),流媒体应用程序为每一个硬件数据包分配和填写所述发送队列中的描述子;步骤(10),流媒体应用程序按动硬件门铃,通知网络硬件设备传输所述发送队列中的硬件数据包;步骤(11),流媒体应用程序查询是否把通信数据包全部分解成了硬件数据包,如果否,则转步骤(7),如果是,则转下一步骤;步骤(12),流媒体应用程序查询是否把流媒体数据包全部打包成了通信数据包,如果否,则转步骤(6),如果是,则停止。
地址 100084北京市100084-82信箱