首页> 中国专利> 一种基于服务器群集的数据文件存储、分发和应用的系统和方法

一种基于服务器群集的数据文件存储、分发和应用的系统和方法

摘要

本发明公开了一种基于服务器群集的数据文件存储、分发和应用的系统和方法。系统可根据用户的分布情况在互联网上部署服务器以保证有足够的存储空间和网络带宽满足用户的需求。系统能根据用户的查询、上传、下载及使用请求等信息自动分配和均衡服务器群集的存储空间和负载,以保证用户如同使用本地客户机硬盘一样使用服务器的存储空间。系统为用户提供相应的服务器存储空间,用户登录后在互联网上找到自己需要并可供下载的文件后,将文件下载到服务器并加入已下载文件列表。用户也可上传文件到服务器供其他用户下载使用。用户可定制界面,规定已上传文件列表和已下载文件列表的访问权限并可通过系统提供的应用软件使用已下载文件列表里的文件。

著录项

  • 公开/公告号CN101355476A

    专利类型发明专利

  • 公开/公告日2009-01-28

    原文格式PDF

  • 申请/专利权人 林云帆;

    申请/专利号CN200810098047.0

  • 发明设计人 林云帆;

    申请日2008-05-23

  • 分类号H04L12/28(20060101);H04L12/54(20060101);

  • 代理机构

  • 代理人

  • 地址 100021 北京市朝阳区潘家园1号楼302室

  • 入库时间 2023-12-17 21:23:40

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2022-05-06

    未缴年费专利权终止 IPC(主分类):H04L12/28 专利号:ZL2008100980470 申请日:20080523 授权公告日:20110511

    专利权的终止

  • 2011-05-11

    授权

    授权

  • 2010-09-15

    文件的公告送达 IPC(主分类):H04L12/28 收件人:侯力卿 文件名称:手续合格通知书 申请日:20080523

    文件的公告送达

  • 2009-03-25

    实质审查的生效

    实质审查的生效

  • 2009-01-28

    公开

    公开

  • 2009-01-14

    地址不明的通知 收件人:侯力卿 文件名称:发明专利申请初步审查合格通知书 申请日:20080523

    地址不明的通知

查看全部

说明书

【技术领域】

本发明涉及计算机及网络和通讯领域,特别是数据文件的存储、 分发和应用的方法与系统。

【背景技术】

从数据的存储、分发和应用的角度看,目前通过互联网实现信息 的传播和共享主要有两种方式:

一、数据存储在服务器或其它客户机端,用户通过网络从远端直 接获取数据并在自己的客户机上使用。这种方式带来的问题是如果大 量用户集中访问服务器将使得服务器和主干网络出现阻塞,导致服务 器和网络的响应变慢,时滞增大甚至无法访问。虽然如如图一所示的 内容分发网络(CDN)技术可以解决这个问题,但成本较高,只能实 现单向分发。如如图二所示的Peer to Peer(P2P)技术能够以最低的成 本有效地解决服务器阻塞的问题,但需要占用客户机的资源,由于客 户机的产权是用户的,因此难以有效地管理和利用客户机的资源,同 时还会大量占用主干网络的带宽。此外,无论是CDN还是P2P均只能 提供内容的分发服务,无法提供有效的存储服务。

二、用户通过网络将数据下载到客户机存储后再使用这些数据, 下载源可以是服务器,也可以是其它的客户机。由于需要将数据下载 到客户机后再使用,因此下载和存储数据文件会占用客户机的资源和 时间,在有大量数据需要下载时开销将会很大。如果用户采用P2P的 方式通过网络分发存储在客户机上的数据时,还会大量占用主干网络 的带宽。

【发明内容】

为了解决上述问题,本发明提出一种系统和方法,在互联网上部 署如图三所示由分布式服务器群集构成的存储分发平台,平台可以在 最接近用户的服务器上分配足够的存储空间供用户上传、下载和存储 数据文件,使得用户可以将数据文件下载或上传到服务器的用户存储 空间后再使用或分发。由于分配给用户存储空间的服务器部署在最接 近用户的网络节点并且有足够的I/O吞吐能力和网络带宽,可以保证用 户使用储存在服务器用户存储空间的数据文件时与使用存储在客户机 本地硬盘的数据文件一样,所以用户不需要把数据文件下载到客户机, 也不会占用客户机的资源和时间。当用户上传文件时也会大大缩短上 传时间,分发时也不会占用客户机的资源和时间。由于有足够的服务 器并且部署在最接近用户的网络节点上,数据文件将根据用户的请求 分布在最接近用户的服务器上,因此不会出现大量用户集中访问服务 器造成的服务器和网络出现阻塞的问题,也避免了采用P2P技术造成 的主干网络占用过多的问题。

根据本发明提出的数据上传、下载、存储及分发、使用的方法和 系统,能够解决由于大量用户集中访问造成的服务器和网络阻塞以及 下载数据文件占用客户机资源和时间的问题。

本发明的系统由分布在互联网上的多个服务器群集构成,每个服 务器群集包括多台部署在城域网或局域网上的服务器,服务器通过接 入网络或局域网与用户的客户机连接。群集内的服务器之间通过城域 网或局域网连接,不同城域网或局域网的服务器群集之间通过互联网 或广域网联接。

群集和群集中的服务器数量可根据用户的需求和应用的要求动态 扩充并根据网络流量和用户需求部署在最接近用户的城域网或接入网 的节点上,以保证用户和应用程序可以获得足够的存储空间、服务器 I/O吞吐能力和计算能力以及网络带宽。

群集内的服务器如图四所示分为管理服务器、应用服务器和存储 服务器。管理服务器负责群集的管理,包括服务器、用户、数据文件、 应用程序的管理和与其它群集管理服务器的通讯与协同;应用服务器 运行应用软件并通过网络向用户提供应用服务;存储服务器的存储空 间分为有效存储空间和缓存空间,用于存储和分发数据文件。管理服 务器、应用服务器和存储服务器的划分是逻辑意义上的,即既可以在 不同的服务器硬件上运行,也可以在同一台服务器硬件上运行。

通过互联网将部署在不同地区的服务器群集连接在一起即构成基 于互联网的由分布式服务器群集构建的数据文件存储分发平台。群集 与群集之间的通讯通过互联网和管理服务器进行,群集内服务器之间 的通讯通过城域网或局域网和管理服务器进行。在管理服务器的管理、 调度和控制下,实现在群集内部以及群集之间的存储服务器与存储服 务器之间的数据文件的传送、分配和存储管理。因此,系统可以实现 群集之间以及服务器之间的信息交换和数据文件的调度和分配,获取 彼此的工作状态和数据,在服务器之间分布和调度数据文件和应用不 仅可以实现整个系统的负载均衡和存储空间优化,还可以实现群集内 的服务器之间互为备份以及群集与群集之间互为备份,从而使得系统 具有极高的可靠性。

管理服务器包括服务器资源管理、用户管理及用户界面管理和群 集间通讯等模块。

管理服务器的服务器资源管理模块用于对群集内的服务器资源进 行管理。当服务器加入群集时需要通过此模块在管理服务器上注册, 登记服务器的类型、可用资源、位置等信息并取得唯一的服务器ID, 服务器ID由群集标识、服务器标识和服务器类型组成;获得群集内管 理服务器的列表和优先级以及与管理服务器定时通讯的时间间隔;建 立与管理服务器的连接,定时向管理服务器报告服务器的运行状态和 资源使用情况,接受管理服务器分配的任务。服务器资源管理模块通 过互联网获得标准时钟信息并据此定时校正群集内所有服务器的时 钟,以保证所有服务器同步运行。管理服务器通过此模块查询服务器 的位置、运行状态、资源占用等信息并利用这些信息结合用户的位置、 请求和所需要的资源向服务器分配任务;定时检查服务器的运行情况 和资源使用情况并据此按照一定的规则分配和释放服务器的资源以优 化资源的配置,如发现故障立即将因故障阻塞的应用和用户转移到其 它服务器并向系统管理员报告。

管理服务器的服务器资源管理模块维护服务器资源列表。服务器 负载和服务器可用存储空间由管理服务器与群集内的各服务器定时通 讯获得,如果在规定时间内管理服务器的服务器资源管理模块不能从 某台服务器获得其负载和可用存储空间的情况,视为该服务器出现故 障,将该服务器的负载转移到其它服务器并在后台管理界面上报警。 当服务器的故障被排除后,管理服务器根据记录的信息将有关文件和 信息从其它服务器复制到故障已被排除的服务器上,使服务器恢复到 故障前的工作状态。

管理服务器的群集间通讯模块用于与其它服务器群集的通讯和协 同。当新的群集建立后将通过管理服务器的群集间通讯模块在已有群 集的管理服务器上登记并获得已有群集的登记信息;建立与其它群集 管理服务器的连接,定时向其它群集的管理服务器报告本群集的运行 状态和资源使用情况;接受其它群集管理服务器发出的对本群集资源 的查询和资源使用申请,根据使用申请的要求对群集内满足条件的应 用服务器和存储服务器分配任务。管理服务器在收到用户请求后,如 果查询本群集的服务器资源无法满足用户需求,可通过此模块查询其 它群集的位置、运行状态、可用资源等信息并利用这些信息结合用户 的位置、请求和所需要的资源向拥有可用资源的群集管理服务器申请 资源。定时根据其它群集的运行情况和资源使用情况对本群集服务器 的资源按照一定的规则分配和释放,以优化资源的配置。

管理服务器的群集间通讯模块维护群集资源列表。群集在线用户 数和群集可用存储空间由管理服务器的群集间通讯模块与各群集的管 理服务器定时通讯获得,如果在规定时间内管理服务器的群集间通讯 模块不能从某群集获得其在线用户数和可用存储空间的情况,视为该 群集出现故障,将该群集承担的负载转移到其它群集并在后台管理界 面上表示。

管理服务器的用户管理模块包括用户的注册、登录、权限认证、 资源分配和调度以及资源使用统计和计费等子模块,负责管理本群集 的全部用户。用户可以注册一个主账号和多个子账号,主账号拥有全 部权限,包括下载、上传、管理和使用数据文件以及定制界面的权限, 子账号的权限由主账号分配。用户登录后管理服务器根据用户的请求、 权限、所在位置以及应用服务器和存储服务器的运行状态和资源使用 情况为用户分配相应的服务器。应用服务器和存储服务器接受管理服 务器分配的任务后根据用户名、请求、时间和使用的资源等信息生成 密钥通过管理服务器发送给用户,用户使用此密钥与应用服务器和存 储服务器建立连接从而获得需要的服务和资源。密钥每一次都不相同 并且用户与应用服务器和存储服务器之间的连接在完成用户请求的任 务后即中止。

管理服务器的用户管理模块维护本群集所有用户的用户列表、已 下载文件列表和上传文件列表,并且通过服务器资源管理模块与应用 服务器协同维护文件与用户关联列表。

当用户的下载请求完成后应用服务器的下载模块在已下载文件列 表中添加下载文件纪录,用户可以通过应用服务器的管理和应用模块 删除已下载文件列表中的文件。

当用户的上传请求完成后应用服务器的上传模块在用户的已上传 文件列表中添加上传文件纪录,用户可以通过应用服务器的管理和应 用模块删除已上传文件列表中的文件。如果访问权限规定只允许指定 用户访问,还包括一个与此文件关联的用户列表。当已上传文件列表 更新后,管理服务器通过群集间通讯模块将本集群的上传文件列表发 送给其它集群。

管理服务器的用户界面管理模块通过调用应用服务器的发布模块 向用户发布用户可以使用的文件目录、系统资源等有关信息。用户可 以使用的文件目录由管理服务器根据用户的已下载文件列表及上传文 件列表确定。上传文件列表包括本群集和其它群集用户上传的文件, 用户界面管理模块按照规定的条件和权限确定如何向用户发布可使用 的文件目录和系统资源。

由于用户可以使用和处理的文件要么是已下载文件列表中的文 件,要么是上传文件列表中的文件,因此,管理服务器在接到用户播 放、浏览或下载等文件使用和处理的请求后,按照用户给出的文件名 通过文件列表检索到对应的文件ID,通过查找管理服务器存储的文件 关联列表、已上传文件列表和存储文件列表确定文件的位置所在。如 果用户请求的文件在本群集中,管理服务器的用户界面管理模块调用 应用服务器的播放、浏览和下载等文件使用和处理子模块为用户提供 应用服务。如果用户请求的文件在其它群集,管理服务器调用应用服 务器的下载模块将文件从其它群集下载到本群集存储服务器的同时, 调用应用服务器的播放、浏览和下载等文件使用和处理子模块为用户 提供应用服务。

应用服务器为用户提供应用服务,可在服务器上运行应用程序而 不占用或少占用用户的客户机资源。用户通过管理服务器与应用服务 器建立连接,应用服务器与存储服务器连接对储存在存储服务器的数 据文件进行操作。应用服务器包括数据文件的下载、上传、发布、分 发、管理和使用以及文件校验码生成校验等模块。

应用服务器的下载和上传模块维护文件列表。文件校验码用于确 定文件的唯一性和完整性,每一个不同的文件都有一个不同的文件校 验码,相同的文件校验码有相同的校验码;通过对一个文件生成校验 码与原有的校验码对比来确认文件是否完整以及是否为同一个文件。

下载模块可根据相关协议和许可从互联网的其它服务器或客户机 下载数据文件到存储服务器。下载模块根据存储数据文件的源点使用 的协议从源点下载数据文件到存储服务器,调用文件校验码生成校验 模块对文件进行完整性检查并生成校验码,根据文件的相关信息在文 件列表中添加此文件的纪录并将用户与该文件关联后在用户的已下载 文件列表中加入此文件。

上传模块按照用户的要求从用户的客户机上传数据文件到存储服 务器。上传模块上传文件到存储服务器后调用文件校验码生成校验模 块对文件进行完整性检查并生成校验码后,根据文件的相关信息在文 件列表中添加此文件的纪录并将该文件加入用户的上传文件列表,按 照用户的要求确定文件可供查询和分发的范围和权限。

发布模块根据文件列表向用户发布可供下载或使用的文件信息供 用户下载和使用。除了文件列表中列出的文件外,用户还可以通过管 理服务器向应用服务器的发布模块直接提交可下载的文件信息和下载 地址。发布模块还提供搜索工具供用户查找可下载的资源。发布模块 由管理服务器的用户界面管理模块调用,在管理服务器上向用户发布 信息。

分发模块负责群集内和群集间的数据分发,根据用户的请求和系 统的负载将数据文分发到存储服务器的缓存空间中以实现负载均衡的 目的。分发模块一般由其它模块调用,用户不能直接使用,所有的分 发操作必须通过分发模块执行。

如图五所示分发模块接到分发指令后首先检查目的服务器是否已 经存有待分发的数据文件?如已存在,不执行分发操作。如不存在, 检查目的存储服务器是否有足够的存储空间存放待分发的数据文件? 如果空间不足,不执行分发操作并在群集中寻找有足够存储空间的存 储服务器作为目的服务器,如果整个群集的所有存储服务器均没有足 够的存储空间,分发模块向管理服务器申请存储空间,管理服务器调 用服务器资源管理模块释放存储服务器的存储空间。

文件校验码生成校验模块按照指令对指定文件进行完整性和唯一 性检查,如果文件还没有校验码,则文件校验码生成校验模块将为文 件生成新的校验码。

管理和应用模块可以让用户通过已下载文件列表和上传文件列表 使用和管理用户下载或上传到存储服务器中的数据文件。已下载用户 列表只允许用户的主账号和子账号访问,其他用户不能访问,上传文 件列表根据用户上传时的设置可以允许或不允许其他用户访问。用户 用主账号登录后可以规定已下载文件列表的访问权限和定制界面,只 允许用子账号登录的用户通过定制的界面访问已下载文件列表里允许 其访问的文件。

用户可以对已下载文件列表中的数据文件分类和整理,管理和应 用模块只对用户已下载文件列表里的数据文件分类和排列,不会影响 上传文件列表,也不会对其他用户的已下载文件列表产生影响。用户 删除已下载文件列表中的数据文件时管理和应用模块从用户的已下载 文件列表里删除此文件并删除用户对此文件的关联。

用户通过管理和应用模块对上传列表中的数据文件分类和排列时 将改变其他用户看到的视图,但不会影响已下载文件列表的分类和排 列。用户删除上传文件列表中的数据文件时管理和应用模块从用户的 上传文件列表里删除此文件并通知存储服务器存储管理模块删除存储 在存储服务器里缓存空间和有效存储空间里的文件。

用户可以规定上传文件列表的访问权限和定制界面,只允许指定 用户使用指定方式通过定制的界面访问和使用上传文件列表里的指定 文件。管理和应用模块提供可由上传用户定制的界面供其他用户访问 和使用,按照上传用户规定的权限,其他用户可以用管理和应用模块 提供的播放器或浏览器播放或浏览已上传文件列表里的数据文件,也 可以用下载工具将已上传文件列表里的数据文件下载到客户机后再使 用。用户可以规定允许哪些用户访问和使用、使用的方式以及是否收 费等。管理和应用模块还提供统计、计费和收费接口供上传用户统计 其他用户对已上传文件列表的访问和使用情况并对收费内容进行计费 和收费。根据其他用户对已下载文件列表的访问情况,管理和应用模 块会调用分发模块对已上传文件列表中访问和使用频率较高的文件进 行分发,以减轻服务器的负载,改善服务质量。

用户可以通过管理服务器的用户界面管理模块调用管理和应用模 块里的播放子模块或浏览子模块播放或浏览文件列表或已下载文件列 表里的数据文件,也可以根据规定的权限通过应用服务器的下载子模 块将文件列表或已下载文件列表里可供用户下载到客户机的的数据文 件下载到客户机后再使用。

应用服务器还包括应用程序开发接口供开发新的应用程序。

存储服务器提供数据文件的存储和分发服务。存储服务器存储管 理模块运行在存储服务器上并在本群集管理服务器的服务器资源管理 模块的控制下与应用服务器的分发模块和管理与应用模块协同工作。 存储服务器的存储空间在逻辑上分为缓存空间和有效存储空间,在一 般情况下缓存空间中存储的内容是变动的,即缓存空间存储的数据文 件是可以被删除的,而有效存储空间中存储的数据文件是保留的。每 台存储服务器都要保留一定的缓存空间供分发数据文件使用。

数据文件分为公众可获得的共享文件以及只限于用户自己使用或 在指定范围内传播的私有文件。用户从互联网下载的文件作为共享数 据文件存储在存储服务器的缓存空间中,管理服务器根据用户的下载 和使用情况通过应用服务器的下载模块以及管理和应用模块调用分发 模块将数据文件分发到其它存储服务器的缓存空间内。用户上传的文 件存储在存储服务器的有效存储空间内,其中允许公开传播的文件可 根据上传用户规定的权限以及用户的下载和使用情况通过应用服务器 的下载模块以及管理和应用模块调用分发模块将数据文件分发到其它 存储服务器的缓存空间内。

存储服务器的存储管理模块通过存储文件列表和数据文件访问列 表来管理存储服务器的缓存空间、有效存储空间和数据文件。存储服 务器存储管理模块运行在存储服务器上并在本群集管理服务器的服务 器资源管理模块的控制下与应用服务器的分发模块和管理与应用模块 协同工作,使得本集群存储服务器所存储数据文件的数量在能够满足 用户需求的同时存储空间得到有效的利用。同时,在本群集管理服务 器的服务器资源管理模块和群集间通讯模块的控制下与应用服务器的 分发模块和管理与应用模块协同工作,根据从其它群集获得的信息使 得整个系统所有存储服务器存储的数据文件数量能够满足用户需求并 且存储空间得到有效的利用。

【附图说明】

图1:CDN的数据下载及存储系统的结构图

图2:P2P的数据下载及存储系统的结构图

图3:本发明的数据下载及存储系统的结构图

图4:本发明的服务器及模块结构图

图5:本发明的文件分发流程图

图6:本发明的生成待删除列表的流程图

图7:本发明的服务器群集结构图

图8:本发明的增加了存储服务器后的服务器群集结构图

图9:本发明的通过增加集群数量来提高覆盖面积的示意图

图10:本发明的一个实例中的用户使用本系统的流程图

图11:本发明概要示意图

【实施实例】

实施实例采用本发明提出的方法构建一个以影视节目为代表的音 视频内容存储分发平台,平台由多个服务器群集组成,每个服务器集 群覆盖一定区域的所有用户,当该区域的用户数量接近或达到服务器 集群额定的I/O吞吐能力时,可以增加服务器数量来满足用户的需要。 当用户的数量超过该区域网络带宽的时候,将该区域分为两个或更多 小区域并将服务器前移到这些小区域,通过这种方式可以有效的解决 视频点播这样的不对称、非同步信息分发服务带来的网络带宽不足的 问题。区域的划分可以采用物理的或虚拟网的方式进行,分区后的用 户由不同的服务器提供服务,而服务器之间进行负载均衡。

音视频内容存储分发平台构建在宽带互联网上,接入网可以是 ADSL或Lan,如果广电的HFC网能够支持IP的话,平台也可以直接 构建在其上。因此,不需要对现有的宽带互联网做改造。

每个服务器群集的结构如图七所示,由M台管理和应用服务器以 及N台存储服务器构成,即管理服务器和应用服务器的软件模块安装 并运行在管理和应用服务器上,存储服务器存储管理模块安装并运行 在存储服务器上。

由于每个群集均有两台以上的管理服务器,每台管理服务器均有 独立的IP地址和唯一的事先规定的正整数编号,编号最小的那台管理 服务器绑定一个事先规定的浮动IP地址作为工作管理服务器,其它管 理服务器作为备份,此浮动IP地址可视为本集群管理服务器的IP地址。 在正常情况下,群集内的其它服务器以及其它群集向浮动此IP地址发 送信息,再由绑定此浮动IP地址的管理服务器分发给其它的管理服务 器以保证备份服务器的存储的信息与工作服务器存储的信息是一致 的。工作的管理服务器承担接受用户的访问并据此分配服务器资源以 及服务器管理的工作,也可以根据负载将部分工作分配给备份的管理 服务器。管理服务器之间定时通讯交换工作状态,如在规定时间内不 能接收到某台管理服务器的信息,视为该服务器出现故障,在后台管 理界面上报警。如发生故障的管理服务器是工作管理服务器,其它管 理服务器中编号最小的那台管理服务器自动绑定规定的浮动IP地址, 接替故障的工作服务器成为群集管理服务器。

作为起点可以按照M=2、N=3的方式构建服务器群集,即用2台 管理和应用服务器和3台存储服务器构建一个2+3服务器群集。2台管 理和应用服务器互为备份,负责群集的管理,包括服务器、用户、数 据文件、应用程序的管理和与其它群集管理服务器的通讯与协同并向 用户提供应用服务;3台存储服务器用于存储和分发数据文件并且可互 为备份。

如图八所示当用户数量增加使得存储服务器的网络带宽或存储空 间不足时,可以通过增加存储服务器的数量来保证有足够的网络带宽 和存储空间满足用户的需求;当用户的数量增长使得管理和应用服务 器不能承受时,可以增加管理和应用服务器的数量以获得足够的资源 满足用户的需求。因此,通过动态扩展群集内服务器的数量可以满足 群集所覆盖区域用户的需求。

音视频内容存储分发平台的每一个服务器群集都覆盖一定的区 域,增加服务器群集的数量将可以覆盖更大的区域如图九所示,本发 明提出的方法可以动态扩展服务器集群,因此将可以使得音视频内容 存储分发平台覆盖任何区域并具备足够的资源能够满足用户的需求。

按照本发明提出的方法,用户将在距离自己最近的服务器群集中 获得足够的存储空间下载或上传影视节目内容。

首先,用户将音像节目内容下载到由服务器向用户提供的存储空 间内,然后再有用户点播服务器存储空间中存储的音像节目内容。

如图十所示,以用户的角度看其实现过程如下:

步骤1、用户注册后登录到其获得的视频存储空间;

步骤2、用户使用平台提供的搜索工具在互联网上查找自己想 要下载的音像节目内容,系统也可以提供其他用户下载内容的排行榜 或者影评等信息供用户参考;

步骤3、用户使用系统提供的下载工具将音像节目内容下载到 系统服务器上自己的存储空间中;

步骤4、系统生成已经按用户的要求下载到服务器上其个人存 储空间中的音像节目内容的目录,供用户从其个人的音像存储空间中 点播。用户也可按照自己的意愿组织个人影视空间的节目内容,比如 适合孩子看的影视节目目录等;

步骤5、用户从上述音像节目内容目录中选择自己喜欢的节目 点播或下载。

由于音视频内容存储分发平台的服务器24小时开机在线,因此通 过平台的服务器下载音像节目可以不需要用户的电脑开机,也不占用 用户电脑的存储空间,大大减少了用户的下载成本。同时,音视频内 容存储分发平台拥有足够多的服务器和存储空间并使得服务器部署在 最接近用户的网络节点上,即服务器与用户电脑之间的距离最短而服 务器的数量与用户的数量相适应,因此能充分保证服务器到用户有足 够的网络带宽和服务器的I/O吞吐能力,从而保证了用户从其个人存储 空间实时点播影视节目的质量。当然,用户如果要将节目从个人影视 空间下载到其个人电脑上也将比其直接从互联网上下载要快得多。

当应用服务器接到管理服务器转发的用户下载音视频数据文件的 请求后,下载模块首先根据用户给出的文件名查询文件列表,如果文 件列表中有此文件,则根据文件名获得其文件ID,再通过管理服务器 根据文件ID查询群集内的存储服务器是否存有此数据文件?如果文件 存在,下载模块调用分发模块在群集内的存储服务器之间分发此文件 并将用户与此文件关联后在用户的已下载文件列表中加入此文件;如 果文件不存在,管理服务器查询其它群集的存储服务器是否存有此数 据文件?如果其它群集的存储服务器存有此文件,下载模块调用分发 模块将此数据文件分发到本群集的存储服务器并将用户与此文件关 联,在用户的已下载文件列表中加入此文件;如果其它群集的存储服 务器中没有此数据文件,下载模块根据存储数据文件的源点使用的协 议从源点下载数据文件到存储服务器。如果下载模块在文件列表中未 能找到用户要下载的文件,下载模块根据存储数据文件的源点使用的 协议从源点下载数据文件到存储服务器,调用文件校验码生成校验模 块对文件进行完整性检查并生成校验码,根据文件的相关信息在文件 列表中添加此文件的纪录并将用户与该文件关联后在用户的已下载文 件列表中加入此文件。

这种方式使得用户可以以最少的成本充分获得和利用互联网上大 量的音像节目资源,建立自己的个人影视和音乐节目库并且可以按照 自己的需求修改界面,比如可以设置专门给孩子看的栏目等。

除提供下载空间外,音视频内容存储分发平台还可以提供上载服 务供用户交流自己制作的音像节目内容。用户可以设定自己上传的节 目内容是只供自己欣赏还是可以提供给其他网友欣赏,提供给其他网 友欣赏的可以设置为免费以及收费等。

音视频内容存储分发平台部署在地、市一级电信或网通的网络节 点上,可以根据用户的数量和网络的情况动态扩充以保证服务器的数 量、存储空间和网络带宽与用户数量及其对节目内容的存储要求相适 应。当用户下载的音像节目存储到音视频内容存储分发平台的服务器 以后,其他用户再下载此节目内容时只需在平台内的服务器群集或群 集内的服务器之间进行负载均衡,这将避免采用P2P方式分发音像内 容会过多地占用电信运营商骨干网络传输流量的问题,可以充分利用 城域网和接入网的带宽。

群集间和群集内音视频数据文件的分发按下列方式进行:

分发模块接到分发指令后首先检查目的服务器是否已经存有待分 发的数据文件?如已存在,不执行分发操作。如不存在,检查目的存 储服务器是否有足够的存储空间存放待分发的数据文件?如果空间不 足,不执行分发操作并在群集中寻找有足够存储空间的存储服务器作 为目的服务器,如果整个群集的所有存储服务器均没有足够的存储空 间,分发模块向管理服务器申请存储空间,管理服务器调用服务器资 源管理模块释放存储服务器的存储空间。如果源和目的服务器在同一 个群集内,分发模块根据群集内关联到此文件的用户数决定需要分发 的目的存储服务器的数量,如群集有N台存储服务器,可设定关联参 数K,如果关联到此文件的用户数小于K,不执行任何操作,如果关联 到此文件的用户数大于K小于2K,则将文件分发到一台目的存储服务 器,如果关联到此文件的用户数大于2K小于3K,则将文件分发到2 台目的存储服务器,以此类推,最多可分发到N-1台存储服务器。如 果源和目的服务器不在同一个群集,分发模块通过管理服务器查询是 否有多台存有待分发数据文件的源服务器?如只有一台源服务器,则 从该源服务器将数据文件分发到目的服务器,如存在多台源服务器, 分发模块将根据从管理服务器,获得的有关源服务器的位置、负载、 可用资源等信息选定一台或多台源服务器来分发数据文件。

为了保证存储服务器的存储空间得到有效利用,存储服务器的存 储管理模块通过存储文件列表和数据文件访问列表与管理服务器的相 应模块协同按下列方式来管理存储服务器的缓存空间、有效存储空间 和数据文件。

当应用服务器的下载、上传、分发模块在存储服务器中建立一个 新的数据文件时,在存储文件列表中增加一条记录,存储类型取决于 系统存储服务器中该文件的存放份数,如果是下载、分发或上传模块 建立的文件并且该文件在所有群集的存储服务器中至少存有两份,则 将该文件的存储类型标识为缓存即这些文件存放在缓存空间,如果该 文件在所有群集的存储服务器中存放的总份数小于或等于2,则将该文 件的存储类型标识为有效存储即这些文件存放在有效存储空间。根据 一定的规则可以改变文件的存储类型,即可将缓存空间的文件转移到 有效存储空间或相反。如果文件被删除,从存储文件列表中删除该文 件的纪录。存储服务器存储管理模块维护存储文件列表并在存储文件 列表有变动时发送给管理服务器,管理服务器的服务器资源管理模块 根据存储服务器发送的信息维护本群集所有存储服务器的存储文件列 表,在必要时管理服务器也可向存储服务器查询以获得存储文件列表。

当用户通过应用服务器的下载和管理与应用模块访问和使用存储 服务器的数据文件时,在数据文件访问列表加入文件访问记录。当数 据文件被删除后,删除数据文件访问列表中该文件的全部访问记录。 存储服务器存储管理模块维护数据文件访问列表并定时将数据文件访 问列表发送给管理服务器,管理服务器的服务器资源管理模块根据存 储服务器定时发送的信息维护本群集所有存储服务器的数据文件访问 列表,在必要时管理服务器也可向存储服务器随时查询数据文件访问 列表。

如图六所示管理服务器的服务器资源管理模块按照统一规定的时 间t和时段T,每天通过数据文件访问列表统计截至到t时刻在T时段 内群集中每台存储服务器的每个数据文件的访问次数,找出在这段时 间中访问次数为0的数据文件ID,根据找到的数据文件ID查询每台存 储服务器的存储文件列表,找出本群集内所有存储此数据文件且存储 类型为缓存的存储服务器并据此生成本群集当天的待删除文件列表。 待删除文件列表包括文件ID、文件所在存储服务器ID、文件建立时间、 删除标识等字段。文件ID、文件所在存储服务器ID、文件建立时间等 字段的信息从存储文件列表中获取,删除标识分为待删除和保留两类, 访问次数为0的数据文件所在的存储服务器ID标识为待删除类型,访 问次数不为0的数据文件所在的存储服务器ID标识为保留类型。根据 待删除文件列表的信息,管理服务器的服务器资源管理模块按照下列 规则确定如何删除数据文件。

如果待删除文件列表中同一数据文件ID有两条以上待删除纪录, 保留文件建立最晚的两台存储服务器上的数据文件,根据待删除纪录 的存储服务器ID和文件ID通知存储服务器存储管理模块从存储服务 器上删除其它待删除记录的数据文件并从存储文件列表中删除对应的 纪录,从待删除文件列表中删除数据文件被删除的存储服务器对应的 纪录。

如果待删除文件列表中同一数据文件ID有两条或以上的保留纪 录,不删除有保留纪录的存储服务器上的数据文件,根据待删除纪录 的存储服务器ID和文件ID通知存储服务器存储管理模块从存储服务 器上删除所有待删除记录的数据文件并从存储文件列表中删除相应的 纪录,从待删除文件列表中删除数据文件被删除的存储服务器对应的 纪录。

如果待删除文件列表中同一数据文件ID有一条保留纪录和一条 以上的待删除纪录,不删除有保留纪录的存储服务器以及文件建立最 晚的那台存储服务器上的数据文件,根据待删除纪录的存储服务器ID 和文件ID通知存储服务器存储管理模块从存储服务器上删除其它待删 除记录的数据文件并从存储文件列表中删除相应的纪录,从待删除文 件列表中删除数据文件被删除的存储服务器对应的纪录。

如果待删除文件列表中同一数据文件ID没有保留纪录但有两条 待删除纪录,不做任何处理。

如果待删除文件列表中同一数据文件ID有一条保留纪录和一条 待删除纪录,不做任何处理。

如果待删除文件列表中同一数据文件ID只有一条待删除纪录,不 做任何处理。

按照上述规则处理后,如果待删除文件列表里已经没有待删除纪 录,删除任务到此结束。如果待删除文件列表里还有待删除纪录,管 理服务器的服务器资源管理模块从待删除文件列表中留下的待删除纪 录中取得数据文件ID,生成待删除文件查询表并发给除本群集之外的 所有群集的管理服务器进行查询。

管理服务器的服务器资源管理模块收到其它群集发来的待删除文 件查询列表后,查询本群集的用户文件关联列表、存储文件列表以及 待删除文件列表中是否存在待删除文件查询列表中列出的文件,根据 查询的结果生成待删除文件查询结果列表发回发出查询列表的群集管 理服务器。待删除文件查询结果表包括文件1D、文件所在存储服务器 ID、存储类型、删除类型、文件建立时间、关联用户数等字段。其中 存储服务器ID包含群集ID,删除类型、文件建立时间以及关联用户数 等三个字段在待删除文件查询表中包含有本群集待删除文件列表中的 文件ID时才需要填写,否则均为-1。如果存储文件列表中不存在待删 除文件查询列表中列出的文件ID,管理服务器将空的待删除文件查询 结果列表发回发出查询列表的群集管理服务器。

管理服务器的服务器资源管理模块收到其它群集发来的待删除文 件查询结果列表后,根据本群集待删除文件列表中的待删除文件记录 的文件ID查询其它群集发来的所有待删除文件查询结果列表并按下列 规则确定如何删除数据文件。

如果其它群集发来的待删除文件查询结果列表中存在两个或两个 以上与待删除记录的文件ID相同的文件ID并且其删除类型、文件建 立时间以及关联用户数等三个字段均为-1,根据待删除纪录的存储服务 器ID和文件ID通知存储服务器存储管理模块从存储服务器上删除所 有待删除记录的数据文件,从存储文件列表中删除相应的纪录。

如果其它群集发来的待删除文件查询结果列表中只有一个与待删 除记录的文件ID相同的文件ID,本群集待删除文件列表中存在一条以 上文件ID相同的待删除记录并且没有文件ID相同的保留纪录,则保 留文件建立最晚的那台存储服务器上的数据文件,根据待删除纪录的 存储服务器ID和文件ID通知存储服务器存储管理模块从存储服务器 上删除其它待删除记录的数据文件,从存储文件列表中删除相应的纪 录。

如果其它群集发来的待删除文件查询结果列表中只有一个与待删 除记录的文件ID相同的文件ID,本群集待删除文件列表中存在一条或 以上文件ID相同的待删除记录并且有一条或以上文件ID相同的保留 纪录,根据待删除纪录的存储服务器ID和文件ID通知存储服务器存 储管理模块从存储服务器上删除所有待删除记录的数据文件,从存储 文件列表中删除相应的纪录。

如果其它群集发来的待删除文件查询结果列表中只有一个与待删 除记录的文件ID相同的文件ID,本群集待删除文件列表中存在一条文 件ID相同的待删除记录并且没有文件ID相同的保留纪录,管理服务 器的服务器资源管理模块查询本群集存储文件列表的有效空间是否存 在此文件ID?如存在,不做任何处理;如不存在,在存储文件列表中 将此文件的存储类型改变为有效存储。

如果其它群集发来的待删除文件查询结果列表中存在两个或两个 以上与待删除记录的文件ID相同的文件ID并且其删除类型为待删除, 根据文件ID在本群集的用户文件关联列表中查询其关联的用户数,与 其它群集发来的全部待删除文件查询结果列表一起按关联用户数排 序,关联用户数多的排在前面。如关联用户数相同则按文件建立时间 排序,文件建立时间晚的排在前面。如果本群集待删除文件ID的排名 在前二位并且待删除文件列表中没有文件ID相同的保留纪录,只有一 条文件ID相同的待删除记录,不做任何处理。如果存在两条文件ID 相同的待删除记录,则保留文件建立最晚的那台存储服务器上的数据 文件,根据待删除纪录的存储服务器ID和文件ID通知存储服务器存 储管理模块从存储服务器上删除其它待删除记录的数据文件,从存储 文件列表中删除相应的纪录。如果待删除文件列表中有文件ID相同的 保留纪录,根据待删除纪录的存储服务器ID和文件ID通知存储服务 器存储管理模块从存储服务器上删除所有待删除记录的数据文件,从 存储文件列表中删除相应的纪录。如果本群集待删除文件ID的排名不 在前两位,根据待删除纪录的存储服务器ID和文件ID通知存储服务 器存储管理模块从存储服务器上删除所有待删除记录的数据文件。

如果其它群集发来的待删除文件查询结果列表中存在两个与待删 除记录的文件ID相同的文件ID并且其中一个删除类型为待删除,根 据文件ID在本群集的用户文件关联列表中查询其关联的用户数,与其 它群集相同文件ID的关联用户数比较,如果本群集的关联用户数比其 它群集的多并且待删除文件列表中没有文件ID相同的保留纪录,只有 一条文件ID相同的待删除记录,不做任何处理。如果存在两条文件ID 相同的待删除记录,则保留文件建立最晚的那台存储服务器上的数据 文件,根据待删除纪录的存储服务器ID和文件ID通知存储服务器存 储管理模块从存储服务器上删除其它待删除记录的数据文件。如果待 删除文件列表中有文件ID相同的保留纪录,根据待删除纪录的存储服 务器ID和文件ID通知存储服务器存储管理模块从存储服务器上删除 所有待删除记录的数据文件,从存储文件列表中删除相应的纪录。如 果本群集的关联用户数少于其它群集,根据待删除纪录的存储服务器 ID和文件ID通知存储服务器存储管理模块从存储服务器上删除所有 待删除记录的数据文件。

管理服务器的服务器资源管理模块按照统一规定的时间t1检查存 储文件列表与群集内的存储服务器的存储文件列表的一致性,在确认 管理服务器的群集存储文件列表与各存储服务器的文件列表一致后, 将群集存储文件列表中标识为有效存储的文件ID挑选出来,生成有效 存储文件查询列表发给其它群集的管理服务器查询。

管理服务器收到有效存储文件查询列表后通过服务器资源管理模 块查询本群集的存储文件列表,如发现文件ID相同且存储类型标识为 有效存储的数据文件,查询用户文件关联列表获得其关联的用户数并 根据数据文件访问列表统计其在T时段的访问次数后,生成有效存储 文件查询结果列表发回发出查询的群集管理服务器。有效存储文件查 询结果列表包括查到的有效存储文件ID、文件访问次数、用户关联数 和文件建立时间。如本群集的存储文件列表的有效存储类型中没有查 询表列出的文件,管理服务器将空的有效存储文件查询结果列表发回 发出查询的管理服务器。

管理服务器的服务器资源管理模块在收到其它群集发来的有效存 储文件查询结果列表后,检查存储文件列表中标识为有效存储的文件 ID在全部群集中是否大于2?如小于或等于2,不作任何处理。如大于 2,检查该文件ID的访问次数,如果在本群集该文件ID的访问次数不 等于0,则在群集和存储有该文件的存储服务器的存储文件列表中将该 文件ID的存储类型从有效存储改为缓存;如在本群集的访问次数为0, 再检查访问次数为0的该文件ID在全部群集中是否大于2?如小于或 等于2,不作任何处理。否则检查本群集该文件ID的关联用户数和文 件创立时间并与其它群集发来的全部待删除文件查询结果列表一起按 关联用户数排序,关联用户数多的排在前面。如关联用户数相同则按 文件建立时间排序,文件建立时间晚的排在前面。如果本群集文件ID 的排名在前二位不做任何处理。如果存在两条文件ID相同的记录,则 保留文件建立最晚的那台存储服务器上的数据文件,根据群集存储文 件列表的存储服务器ID和文件ID通知存储服务器存储管理模块从存 储服务器上删除其它数据文件,从存储文件列表中删除相应的纪录。 如果本群集文件ID的排名不在前两位,根据群集存储文件列表的存储 服务器ID和文件ID通知存储服务器存储管理模块从存储服务器上删 除对应的数据文件。

管理服务器的服务器资源管理模块按照统一规定的时间t2检查本 集群文件列表的文件校验码,如发现存在文件校验码相同而文件名不 同的文件,比较这些文件的建立时间,在本集群所有的相关列表中将 文件时间建立较晚的文件ID全部改为文件建立时间最早的那个文件的 ID,文件名均作为此文件ID的别名记入该文件ID对应的文件名列表 中。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号