一种数字家庭流媒体服务器及服务方法

文档序号:7755628阅读:323来源:国知局
专利名称:一种数字家庭流媒体服务器及服务方法
技术领域
本发明涉及数字家庭技术领域,具体涉及一种数字家庭流媒体服务器及服务方 法。
背景技术
随着3C融合技术的不断深入发展,数字家庭成为了更多人关注的焦点,以数字家 庭关键技术为核心的数字家庭产业得以迅速发展。在技术发展及用户需求的带动下,期待 将3C融合技术充分应用于家庭的每个方面。基于流媒体技术的业务应用非常广泛,如世界杯精彩进球片段回放、电影欣赏、流 行音乐欣赏等。数字家庭流媒体业务可为数字家庭用户提供在线不间断的声音、影像和动 画等多媒体的播放,用户无须事先下载到本地,就可以播放多种媒体格式。但同非流式媒体相比,流式媒体主要存在以下问题1)流式媒体消耗更多的网络 带宽;2)用户对流式媒体有媒体质量的要求3)用户对流式媒体的延时比较敏感。

发明内容
本发明要解决的技术问题是提供一种数字家庭流媒体服务器及服务方法,能减少 客户请求等待时间,同时减轻服务器端数据库的负担,能提高流媒体服务器端的服务质量。本发明的目的通过以下技术方案予以实现本发明提供一种数字家庭流媒体服务器,该服务器包括通信模块,用于监听特定端口,等待客户端发来连接请求,接收客户端请求并返回 反馈信息,给客户端传送流媒体文件;信息处理模块,用于根据服务器端与客户端订制的通信协议,解析客户端发送过 来的信息,获得客户端需求;缓存模块,用于在服务器端建立两级缓存结构,并由数据库保存所有媒体文件,同 时对缓存进行更新管理;文件处理模块,用于对存储在服务器端的媒体文件进行加工和处理,以及进行文 件操作。其中,所述缓存模块建立的两级缓存结构,对热点文件进行内存缓存和硬盘缓存, 并由数据库保存所有媒体文件。其中,所述缓存模块在缓存没有多余空间时,根据热点文件流行度的变化而改变 保存在各缓存中的媒体文件。其中,所述缓存模块对热点文件进行分块,其第一块内容和文件名以及附属信息 存放在内存中;硬盘中缓存经过文件处理模块切割好的文件。本发明还提供一种数字家庭流媒体服务方法,包括启动服务器,所述服务器建立了两级缓存结构;所述服务器监听固定端口,接收客户端请求;
所述服务器处理所述请求,具体包括先查找在服务器端的内存中维护的哈希表,如果在哈希表中找到客户端需要的文 件,立即返回数据给客户端;如果哈希表中没有找到客户端请求的文件,到服务器端的硬盘目录查找文件,如 果找到就返回给客户端,同时更新内存表。进一步的,该方法还包括如果到服务器端的硬盘目录下没有找到该文件,则去查 找数据库,在数据库中如果找到就将文件返回给请求该文件的客户端,并更新硬盘缓存。进一步的,该方法还包括如果在数据库中没有找到文件,则写入查找失败日志。上述技术方案可以看出由于本发明实施例采用一种基于两级缓存的数字家庭流媒体服务器架构,因此能 在查找客户端所需要的文件时,减少客户请求等待时间,同时减轻服务器端数据库的负担, 提高流媒体服务器端的服务质量。


为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所 需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施 例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获 得其它的附图。图1是本发明的服务器端的总体结构示意图;图2是本发明的缓存模块的结构示意图;图3是本发明的服务方法流程图。
具体实施例方式下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完 整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于 本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它 实施例,都属于本发明保护的范围。本发明中采用基于两级缓存的服务器端架构,能在查找客户端所需要的文件时, 减少客户请求等待时间,同时减轻服务器端数据库的负担,能提高流媒体服务器端的服务质量。以下结合附图对本发明分别进行详细说明。如图1所示,本发明提供的服务器包括以下模块1)通信模块用于监听特定端口,等待客户端发来连接请求,接收客户端请求并 返回给客户端接收成功或失败等反馈信息,给客户端传送流媒体文件;2)信息处理模块用于根据服务器端与客户端订制的通信协议,解析客户端发送 过来的信息,从而获得客户端需求;3)缓存模块用于在服务器端建立两级缓存结构,对热点文件进行内存缓存和硬 盘缓存,并由数据库保存所有媒体文件,这样可以在查找客户端所需要的文件时,减少客户 请求等待时间,同时减轻服务器端数据库的负担;
同时对缓存进行更新管理,即在缓存没有多余空间时,根据热点文件流行度的变 化而改变在各级缓存中的媒体文件;4)文件处理模块用于对存储在服务器端的媒体文件进行加工和处理,以及进行 一些文件操作,以满足系统的需要。本发明的架构综合采用了管道-过滤器软件架构模式和分层模式,通信模块接入 客户端请求,将请求放入信息处理模块得到客户端的意图。该信息处理模块相当于管道-过滤器模式中的过滤器的处理中心,而缓存模块、 媒体文件处理模块以及持久对象层和数据层组合起来相当于另一个大的处理中心,这个处 理中心又按分层模式分成了由缓存模块和文件处理模块组成的业务处理层、持久对象层和 数据层。信息处理模块将需要查找的文件的信息传递给这个大的处理中心,然后系统在缓 存模块查找客户所需要的文件,如果文件不在缓存中,而是在数据库中,就要继续访问下面 的持久对象层和数据层,如果找到文件,那么该文件传递给通信模块之前要先经过文件处 理模块的处理,再传递给通信模块发回给客户端。服务器端对热点文件的两级缓存结构,即缓存模块的结构如图2所示内存级的缓存采用一个哈希表,在该表中主要存放一些热点文件的文件名和这些 文件的第一块内容,以及关于这个文件的其他信息,如大小、访问次数、最后访问时间等。硬盘级的缓存是缓存已经经过文件处理模块切割好的文件,从数据库中取出来的 一个完整的文件,其所有的分割部分都存放在该硬盘目录下面。而数据库中存放的是文件 的绝对路径,该文件可能分布在各个不同的文件系统中。服务器端启动以后,一直监听某一个固定端口,客户端发送连接请求时就连接到 这个端口,然后将请求放入请求队列。当请求队列不为空的时候,服务器端启动处理线程去 处理请求。处理请求的过程是先查找在服务器端的内存中维护的那个哈希表,如果在这个表中找到了客户端需 要的文件,立即返回数据给客户端;如果没有客户端请求的文件,就到服务器端的某一个硬盘目录下去查找该文件, 如果找到就返回给客户端,同时更新内存表。如果没有找到该文件,就去查找数据库,在数 据库中如果找到就将文件返回给请求该文件的客户端,并更新硬盘缓存,如果在数据库中 没有找到就写入查找失败日志。图3是本系统的工作流程示意图,现结合一个具体的实例操作对本系统的工作流 程进行如下说明假设客户端向服务器端请求文件A,A在内存级缓存中,则请求流程如下1)服务器端接到请求,开始在内存中查找该文件A ;2)在内存中找到文件A,将内存中保存的文件A的第一块的内容发回客户端并更 新内存中的相关信息,然后到硬盘缓存下把剩余部分发回给客户端;3)请求结束。假设客户端向服务器端请求文件B,B在硬盘级缓存中,则请求流程如下1)服务器端接到请求,开始在内存中查找该文件B ;2)内存中没找到文件B,转到指定的硬盘目录下查找文件;
3)在硬盘中找到文件B,直接把查到的文件发回客户端并更新内存级缓存;4)请求结束。假设客户端向服务器端请求文件C,C在数据库中,则请求流程如下1)服务器端接到请求,开始在内存中查找该文件C ;2)内存中没找到文件C,转到指定的硬盘目录下查找文件;3)硬盘中没找到文件C,与数据库建立连接,查找数据库。4)在数据库中找到了文件C,将找到的文件经过文件处理模块处理,然后将处理 过的文件发回客户端并更新硬盘级缓存;5)请求结束。假设客户端向服务器请求文件D,D不在服务器管理的文件系统中,则请求流程如 下1)服务器端接到请求,开始在内存中查找该文件D ;2)内存中没找到文件D,转到指定的硬盘目录下查找文件;3)硬盘中没找到文件D,与数据库建立连接,查找数据库;4)在数据库中没有找到文件D,返回一个查找失败的命令,并写入日志文件;5)请求结束。上述技术方案可以看出,由于本发明中采用基于两级缓存的服务器端架构,因此 能在查找客户端所需要的文件时,减少客户请求等待时间,同时减轻服务器端数据库的负 担,能提高流媒体服务器端的服务质量。以上对本发明实施例所提供的一种数字家庭流媒体服务器及服务方法,进行了详 细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说 明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据 本发明的思想,在具体实施方式
及应用范围上均会有改变之处,综上所述,本说明书内容不 应理解为对本发明的限制。
权利要求
一种数字家庭流媒体服务器,其特征在于,该服务器包括通信模块,用于监听特定端口,等待客户端发来连接请求,接收客户端请求并返回反馈信息,给客户端传送流媒体文件;信息处理模块,用于根据服务器端与客户端订制的通信协议,解析客户端发送过来的信息,获得客户端需求;缓存模块,用于在服务器端建立两级缓存结构,并由数据库保存所有媒体文件,同时对缓存进行更新管理;文件处理模块,用于对存储在服务器端的媒体文件进行加工和处理,以及进行文件操作。
2.根据权利要求1所述的数字家庭流媒体服务器,其特征在于所述缓存模块建立的两级缓存结构,对热点文件进行内存缓存和硬盘缓存,并由数据 库保存所有媒体文件。
3.根据权利要求1或2所述的数字家庭流媒体服务器,其特征在于所述缓存模块在缓存没有多余空间时,根据热点文件流行度的变化而改变保存在各缓 存中的媒体文件。
4.根据权利要求1或2所述的数字家庭流媒体服务器,其特征在于所述缓存模块对热点文件进行分块,其第一块内容和文件名以及附属信息存放在内存 中;硬盘中缓存经过文件处理模块切割好的文件。
5.一种数字家庭流媒体服务方法,其特征在于,包括 启动服务器,所述服务器建立了两级缓存结构;所述服务器监听固定端口,接收客户端请求; 所述服务器处理所述请求,具体包括先查找在服务器端的内存中维护的哈希表,如果在哈希表中找到客户端需要的文件, 立即返回数据给客户端;如果哈希表中没有找到客户端请求的文件,到服务器端的硬盘目录查找文件,如果找 到就返回给客户端,同时更新内存表。
6.根据权利要求5所述的数字家庭流媒体服务方法,其特征在于还包括如果到服务器端的硬盘目录下没有找到该文件,则去查找数据库,在数据库中 如果找到就将文件返回给请求该文件的客户端,并更新硬盘缓存。
7.根据权利要求5或6所述的数字家庭流媒体服务方法,其特征在于 还包括如果在数据库中没有找到文件,则写入查找失败日志。
全文摘要
本发明公开了一种数字家庭流媒体服务器及服务方法。该服务器包括通信模块,用于监听特定端口,等待客户端发来连接请求,接收客户端请求并返回反馈信息,给客户端传送流媒体文件;信息处理模块,用于根据服务器端与客户端订制的通信协议,解析客户端发送过来的信息,获得客户端需求;缓存模块,用于在服务器端建立两级缓存结构,并由数据库保存所有媒体文件,同时对缓存进行更新管理;文件处理模块,用于对存储在服务器端的媒体文件进行加工和处理,以及进行文件操作。本发明方案能在查找客户端所需要的文件时,减少客户请求等待时间,同时减轻服务器端数据库的负担,能提高流媒体服务器端的服务质量。
文档编号H04L29/06GK101945100SQ20101024149
公开日2011年1月12日 申请日期2010年7月30日 优先权日2010年7月30日
发明者朱虹, 罗笑南 申请人:中山大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1