本发明涉及信息发布技术领域,特别是涉及一种基于多媒体信息发布系统的资源文件缓存分发系统及方法。
背景技术:
现有技术中,信息的发布平台逐渐多样化,其应用的领域包括政府、企业楼宇的信息发布、医疗行业的信息发布、酒店的信息发布及交通行业的信息发布等等。随着网络及通信技术的快速发展,互联网信息以其普及面广的优势越来越多地得到信息发布商及的重视。
传统的信息发布系统只支持单服务器部署,所有的终端的所有业务都直接与该服务器进行交互,包括实时业务和非实时业务。这样,当服务器连接的终端多了后,使用过程中会出现以下问题:
1、节目批量下发,终端批量下载资源时对服务器的cpu、硬盘io、内存等造成很大压力,特别是带宽这种宝贵资源的需求不断增大;
2、资源文件分发速度慢,没有排队机制,导致网路堵塞影响正常的资源下载业务,最后出现资源无法下载、服务器瘫痪等现象;
3、因所有终端都是通过联网到服务器来统一管理,服务器一旦出现网络堵塞或者服务器瘫痪,整个管理后台将无法对终端进行有效管理。
技术实现要素:
为克服上述现有技术存在的不足,本发明之目的在于提供一种基于多媒体信息发布系统的资源文件缓存分发系统及方法,以提高访问速度,避免实时访问中心服务器以降低中心服务器压力和提高系统的服务能力。
为达上述及其它目的,本发明提出一种基于多媒体信息发布系统的资源文件缓存分发系统,包括:
中心服务器,包括通信服务器和web服务器,用于处理即时信息的收发和为管理人员提供web管理服务;
一级分发服务器,包括多个分发服务器,用于为终端和二级分发服务器提供资源代理缓存下载功能;
二级分发服务器,包括多个分发服务器,用于为终端提供资源代理缓存下载功能;以及
多个终端。
进一步地,所述中心服务器连接至所述一级分发服务器的各分发服务器,各分发服务器分别连接多个终端或二级分发服务器,所述二级分发服务器连接多个终端。
进一步地,所述分发服务器提供资源代理缓存下载功能,当资源第一次被终端访问后会被缓存至离该终端最近的分发服务器,后续终端可以直接到该分发服务器获取该资源。
进一步地,所述分发服务器均采用并发控制以及排队处理策略。
为达到上述目的,本发明还提供一种基于多媒体信息发布系统的资源文件缓存分发方法,包括如下步骤:
步骤一,终端向中心服务器发送资源下载请求,请求获得分发服务器地址;
步骤二,根据获得的分发服务器的地址向相应的分发服务器请求下载资源;
步骤三,分发服务器对请求作出判断,判断所请求的资源是否存在,若资源存在则向终端返回资源文件,若资源不存在则向上一级分发服务器或中心服务器发送相应的资源下载请求;
步骤四,于获得上一级分发服务器或中心服务器的资源文件后,所述分发服务器向终端返回该资源文件。
进一步地,所述分发服务器包括一级分发服务器和/或二级分发服务器。
进一步地,于步骤一之前还包括:
终端向中心服务器发送资源下载检测请求,检测本地端资源是否完整;
所述中心服务器根据资源下载请求返回资源下载请求文件的相应信息;
所述终端判断该资源下载请求对应的资源本地是否存在;
于该资源下载请求对应的资源于本地不存在时,进入步骤一。
进一步地,若该资源下载请求对应的资源于本地存在时,进一步判断本地文件是否完整,若本地文件完整,则结束下载请求;若本地文件不完整,则将本地文件的信息加入资源下载请求中实现断点续传。
进一步地,所述判断本地文件是否完整的步骤通过本地文件大小与中心服务器返回的服务器资源文件大小比较来判断本地文件是否完整。
进一步地,当终端没有完成下载时需定时循环的向分发服务器请求资源直至资源下载完成。
与现有技术相比,本发明一种基于多媒体信息发布系统的资源文件缓存分发系统及方法通过设计分发服务器以提供资源代理缓存下载功能,使得资源访问后会被缓存至分发服务器上,可将需要频繁访问的web页面和对象保存在离用户更近的分发服务器上,这样当后续终端再次访问时就可以直接到分发服务器获取该资源,有效地提高了访问速度,避免了实时访问中心服务器以降低中心服务器压力和提高系统的服务能力。
附图说明
图1为本发明一种基于多媒体信息发布系统的资源文件缓存分发系统的系统架构图;
图2为本发明一种基于多媒体信息发布系统的资源文件缓存分发方法的步骤流程图;
图3为本发明具体实施例断点续传的步骤流程图;
图4为本发明具体实施例之基于多媒体信息发布系统的资源文件缓存分发方法的过程示意图。
具体实施方式
以下通过特定的具体实例并结合附图说明本发明的实施方式,本领域技术人员可由本说明书所揭示的内容轻易地了解本发明的其它优点与功效。本发明亦可通过其它不同的具体实例加以施行或应用,本说明书中的各项细节亦可基于不同观点与应用,在不背离本发明的精神下进行各种修饰与变更。
图1为本发明一种基于多媒体信息发布系统的资源文件缓存分发系统的系统架构图。如图1所示,本发明一种基于多媒体信息发布系统的资源文件缓存分发系统,包括:中心服务器10、一级分发服务器cdn(contentdeliverynetwork)20、二级分发服务器cdn(contentdeliverynetwork)30以及多个终端40组成。
其中,中心服务器10由通信服务器(messageserver)和web服务器组成,用于处理即时信息的收发和为管理人员提供web管理服务;一级分发服务器cdn(contentdeliverynetwork)20由多个分发服务器cdn0k组成,用于为终端40和二级分发服务器cdn(contentdeliverynetwork)30提供资源代理缓存下载功能;二级分发服务器cdn(contentdeliverynetwork)30由多个分发服务器cdn1j组成,用于为终端40提供资源代理缓存下载功能。
中心服务器10连接至一级分发服务器cdn(contentdeliverynetwork)30的各分发服务器cdn0k,各分发服务器cdn0k分别连接多个终端40或二级分发服务器cdn1j,二级分发服务器cdn1j连接多个终端40。
如上图,分发服务器cdn(contentdeliverynetwork),提供资源代理缓存下载功能,资源第一次访问后会被缓存至该服务器上,后续其它终端可以直接到该服务器获取该资源,避免实时访问服务器以降低服务器压力和提高系统的服务能力,使得资源文件缓存分发压力减少,速度提升。
在本发明具体实施例中,中心服务器10增加了终端和两级分发服务器的绑定功能;提供终端询问下载地址的http接口以及简单的并发控制功能。通信服务器是整个系统的核心枢纽,一旦阻塞,整个系统将崩溃。因此,无即时返回需求的任务尽可能不要通过通信服务器以减少对主要业务的冲击。
在本发明中,为了保证分发服务器业务处理能力,分发服务器(包括一级分发服务器与二级分发服务器均采用并发控制,排队处理策略,其并发控制数的合理值需要根据具体环境进行评估,评估对象重点数带宽资源,具体地,例如当缓存中没有资源,控制并发控制数小于5;当缓存中存在资源,并发控制可以达到50,甚至更多;
图2为本发明一种基于多媒体信息发布系统的资源文件缓存分发方法的步骤流程图。如图2所示,本发明一种基于多媒体信息发布系统的资源文件缓存分发方法,包括如下步骤:
步骤201,终端向中心服务器发送资源下载请求,请求获得分发服务器地址并保存,也就是说,终端会根据中心服务器下发的节目包获得资源所缓存的分发服务器的相对地址,即,中心服务器根据资源下载请求向终端返回下发的节目包会包含资源的相对地址,终端则据此获得分发服务器的地址。在本发明具体实施例中,分发服务器包括两层分发服务器,一层为局域网环境,一层是配置公网ip环境,在本发明中,分发服务器提供资源代理缓存下载功能,资源第一次被访问下载后会被缓存至分发服务器上,后续终端则可以直接到分发服务器获取该资源,而不需从中心服务器获取该资源,这样可避免实时访问中心服务器以降低中心服务器压力和提高系统的服务能力,使得资源文件缓存分发压力减少,速度提升。
步骤202,根据获得的分发服务器的地址向相应的分发服务器请求下载资源。也就是说,终端会根据下发的节目包中资源的相对地址拼装提交给相应的分发服务器询问是否可以下载;
此时服务器会对请求做出判断,资源是否存在,并发是否超过),不可下载时会返回终端等待状态
步骤203,分发服务器对请求作出判断,判断所请求的资源是否存在,并发是否超时,具体地,根据终端请求的资源在分发服务器的资源列表中进行查找,资源列表会记录每个资源的状态,例如有正在下载\已下载完\资源不存在等;根据判断结果进行对请求进行相应的处理,若资源存在则向终端返回资源文件,这里需说明的是,当终端没有完成下载时则需要定时循环的向分发服务器请求资源直至资源下载完成,若资源不存在则向上一级分发服务器或中心服务器发送相应的资源下载请求;具体地,若资源不存在,则向上一级分发服务器或中心服务器的web服务器请求资源,上一级分发服务器或中心服务器的web服务器返回资源文件;
步骤204,于获得上一级分发服务器或中心服务器的资源文件后,分发服务器向终端返回资源文件。在本发明具体实施例中,由一级分发服务器或二级分发服务器向终端返回资源文件。
优选地,如图3所示,步骤201之前,进一步包括:
于拿到节目包后,终端向中心服务器发送资源下载检测请求,检测本地端资源是否完整,具体地,终端向中心服务器的通信服务器发送资源下载检测请求,在本发明中,终端向中心服务器发送请求以请求下载资源的hash文件;
中心服务器根据资源下载请求返回请求下载资源的hash文件;
终端根据获得的hash文件判断该资源下载检测请求对应的资源本地是否存在;
若本地不存在,则进入步骤201,若本地存在该资源下载检测请求对应的文件,则进一步判断本地文件是否完整,具体地,可通过本地文件与中心服务器返回的中心服务器的资源大小比较来判断本地文件是否完整,例如本地文件大小小于服务器的资源大小,则表示该资源不完整,需进一步通过断点续传下载该资源;
若本地文件不完整,则加入本地文件的信息进入步骤201,即将本地文件的信息,如本地文件的大小,续传文件的开始位置等加入资源下载请求中,已实现断点续传。
图4为本发明具体实施例之基于多媒体信息发布系统的资源文件缓存分发方法的过程示意图。以下将通过一具体实施例来进一步说明本发明:
一方面,第一步,管理人员通过中心服务器10的web服务器选择操作发送节目时,第二步,web服务器将该发送节目下载指令上传至中心服务器10的通信服务器,第三步,中心服务器10的通信服务器向终端40发送下载指令,第四步,终端40向中心服务器10的web服务器请求分发服务器20的地址,第五步,中心服务器10的web服务器向终端40返回地址,第六步,终端40按地址指定的服务器请求资源并完成下载;
另一方面,第一步,终端40发送请求下载资源的hash文件(hashcode),第二步,中心服务器10的通信服务器向终端40返回hash文件,第三步,终端40判断hash文件本地是否已经存在,若不存在,则进行资源下载请求;若存在,获取本地文件大小和服务器资源文件大小,大小一致时,则无需下载,大小不一致时,则进行断点续传,第四步,终端40带上hash文件向一级分发服务器20或二级分发服务器30请求资源,第五步,一级分发服务器20或二级分发服务器30判断资源是否存在,若资源存在则向终端40返回资源文件,若资源不存在则向,中心服务器10的web服务器请求资源,中心服务器10的web服务器向一级分发服务器20或二级分发服务器30返回资源文件,然后一级分发服务器20或二级分发服务器30再向终端40返回资源文件;第五步,终端40下载完毕向中心服务器10的通信服务器通知下载结果并更新资源可用状态。
综上所述,本发明一种基于多媒体信息发布系统的资源文件缓存分发系统及方法通过设计分发服务器以提供资源代理缓存下载功能,使得资源访问后会被缓存至分发服务器上,可将需要频繁访问的web页面和对象保存在离用户更近的分发服务器上,这样当后续终端再次访问时就可以直接到分发服务器获取该资源,有效地提高了访问速度,避免了实时访问中心服务器以降低中心服务器压力和提高系统的服务能力。
由于服务都分散至了不同的服务器,服务器之间是相互隔离的,并且每台服务器可以针对性地设置防火墙。当某一台服务器被攻击的时候,别的服务器可以不受影响,不会出现所有服务都崩溃的情况。
上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何本领域技术人员均可在不违背本发明的精神及范畴下,对上述实施例进行修饰与改变。因此,本发明的权利保护范围,应如权利要求书所列。