本发明涉及管理系统,具体是一种分布式数字资源存储处理与管理的方法及系统。
背景技术:
随着社会的发展,越来越多的信息被数据化,互联网中的数据呈爆炸式增长,如何存储和管理这些数据化的信息就成为人们关注的焦点。七、八十年代,这些数据都被存放在昂贵的中小型机中,由管理员定期维护,但这样开销较大,又容易出错。
近年来,随着硬件技术的迅猛发展、宽带网络的逐渐成熟、开放源码的广泛兴起、以及对分布式系统的深入研究,出现了分布式文件系统的概念,并以此来存储和管理这些数据;这些系统可以由多台普通的pc服务器通过网络的方式连接而成,在分布式系统的统一管理下运行,以支持高可靠、高性能、以及大并发流的应用需求。
人们在日常办公中产生了大量的图片、照片、2020欧洲杯投注官网 等非结构化的数据,这类数据以对象的形式组织,对象之间没有关联,这样的数据一般称为blob(binarylargeobject,二进制大对象)数据。
数字资源处理系统可用于存储和处理blob数据,建立企业公共资源中心,实现各类数字资源的数据存储、管理与处理。
分布式文件系统是新型的文件存储方式,它将大量普通的pc服务器通过internet互联,对外作为一个整体提供存储服务。典型的系统有facebookhaystack以及taobaofilesystem(tfs)。
传统的数字资源处理系统的技术方案如下:
1)首选用户将需要存储的资源上传至数据加工与处理服务器,数据加工与处理服务器对图片、2020欧洲杯投注官网 、音频、文档等数据进行处理,如转码、添加备注信息,添加索引等形成标准化数据。
2)最后将已经处理的标准化数据存储至分布式文件系统中。
上述的数字资源处理系统的缺点主要有:
1)将数字资源的处理集中到一个服务器上,对数据加工与处理服务器的性能要求比较高,容灾性也不好,数字加工与处理服务器宕机后,整个系统将不能提供服务。
2)一般数字资源处理系统中的存储部分仅仅做资源存储的工作,不能进行数字资源的处理。
技术实现要素:
本发明的目的在于提供一种分布式数字资源存储处理与管理的方法及系统,以解决上述背景技术中提出的问题。
为实现上述目的,本发明提供如下技术方案:
一种分布式数字资源存储处理与管理的系统,包括客户端、文件调配中心和资源存储与服务系统;所述客户端连接至文件调配中心,文件调配中心连接至存储于资源存储与服务系统,资源存储与服务系统负责资源存储与处理;所述文件调配中心对资源存储与服务系统、任务计划、资源上载进行调度,它负责整个系统的全局控制;同时文件调配中心内的服务监控日志模块连接至资源存储与服务系统内的心跳服务模块,文件调配中心持续的接收资源存储与服务系统内心跳服务模块提供的数据,实现对资源存储与服务系统实时监控;资源存储与服务系统为分布式数字资源管理系统的存储单元与任务执行单元,实现数据的本地化存储、资源镜像更新、文件资源保护、文件转码服务、文件动态回收,同时,实时监控本机状态,并周期性的推送至文件调配中心,完成对本机状态的维护;所述资源存储与服务系统数量设置在一个以上。
一种分布式数字资源存储处理与管理的方法,其主要步骤如下:
1)用户在客户端选择多个资源存储与服务系统,请求写操作;
2)文件调配中心接受操作请求并基于资源存储与服务系统本身记录的负载排行,获取负载最低的资源存储与服务系统;
3)客户端向步骤2获取的负载最低的资源存储与服务系统提交写入数据;
4)写入成功后,提交更新申请到文件调配中心,文件调配中心写入文件上传信息;
5)文件调配中心基于用户选择形成镜像更新的任务队列;
6)资源存储与服务系统基于文件更新队列进行文件镜像更新;
7)更新完成后,将更新结果反馈至文件调配中心,文件调配中心做出更新记录,镜像更新完成。
作为本发明再进一步的方案:所述获取负载最低的资源存储与服务系统的主要步骤如下:
1)选取代表服务器性能水平的指标,包括cpu平均使用率、物理内存使用率、磁盘读写速率使用率和网络带宽使用率;
2)分别取资源存储与服务系统中四个性能指标的最大值;
3)将资源存储与服务系统中,每个资源存储与服务系统相应的性能指标除以性能指标最大值,得到一个介于0到1之间的性能比值;
4)根据资源存储与服务系统四个性能对服务器整体数据处理性能的影响程度,为每个资源存储与服务系统性能比值赋予一个用户进行加权平均的系数q1、q2、q3、q4;
5)计算每个资源存储与服务系统的节点物理负载;
6)计算每个资源存储与服务系统权重值;
7)计算每个资源存储与服务系统的节点业务负载;
8)根据每个资源存储与服务系统的节点物理负载和业务负载计算出资源存储与服务系统的综合负载信息。
一种分布式数字资源存储处理与管理的系统的任务计划的执行步骤,其主要步骤如下:
1)生成任务队列文件,文件调配中心基于数据库数据生成需要执行的任务队列并保存为xml文件;
2)通知资源存储与服务系统执行相关任务操作,资源存储与服务系统下载与本机相关任务的xml文件,并依据xml文件进行资源处理,每个资源处理开始之前和处理之后均标记状态;
3)任务执行结束或者执行时间结束,提交更新后的xml文件到文件调配中心,文件调配中心分析xml文件,更新数据库记录。
与现有技术相比,本发明的有益效果是:
1)本发明可基于用户设置进行资源弹性镜像,使有限的硬件资源更好的服务于繁忙的业务。
2)本发明提供了完整的数字资源处理与存储的流程,可以轻松的实现数字资源的传输、存储、保护、转码、镜像、回收、删除等。
3)本发明包含多种资源存储与处理,可自行扩展资源类型,满足不同的资源存储需求。
4)本发明对资源处理的性能进行优化,将转码、保护、镜像更新等任务分散至多个资源存储与服务系统中,提高整个系统的应用性能,降低单个资源存储与服务系统的负载,确保系统稳定可靠。
5)本发明基于任务调度实现资源的存储与处理,所有资源可实现无值守处理,简化资源处理流程。
附图说明
图1为一种分布式数字资源存储处理与管理的系统的结构示意图。
具体实施方式
下面结合具体实施方式对本发明的技术方案作进一步详细地说明。
请参阅图1,一种分布式数字资源存储处理与管理的系统,包括客户端、文件调配中心和资源存储与服务系统;所述客户端负责资源的上传及存储决策,主要用于上传blob文件,客户端连接至文件调配中心,文件调配中心负责消息控制与任务调度,文件调配中心连接至存储于资源存储与服务系统,资源存储与服务系统负责资源存储与处理;经客户端上传到的blob文件经文件调配中心调度后存储于资源存储与服务系统中;所述客户端连接至资源存储与服务系统;
blob文件的个数由上传的用户决定,每个原始资源(包括转码任务生成的转码资源、资源保护任务生成的已保护资源)仅能存储于一个资源存储与服务系统上(该系统为此资源的主备服务器),其他文件副本由镜像任务进行分发。
所述文件调配中心对资源存储与服务系统、任务计划、资源上载进行调度,它负责整个系统的全局控制。同时文件调配中心内的服务监控日志模块连接至资源存储与服务系统内的心跳服务模块,文件调配中心持续的接收资源存储与服务系统内心跳服务模块提供的数据,实现对资源存储与服务系统实时监控。
所述资源存储与服务系统为该发明的存储单元与任务执行单元,实现数据的本地化存储、资源镜像更新、文件资源保护、文件转码服务、文件动态回收等,同时,实时监控本机状态,并周期性的推送至文件调配中心,完成对本机状态的维护。所述资源存储与服务系统数量设置在一个以上,多个资源存储与服务系统并列连接。
一种分布式数字资源存储处理与管理的方法如下:
1)用户在客户端选择多个资源存储与服务系统,请求写操作;
2)文件调配中心接受操作请求并基于资源存储与服务系统本身记录的负载排行,获取负载最低的资源存储与服务系统;
3)客户端向步骤2获取的负载最低的资源存储与服务系统提交写入数据;
4)写入成功后,提交更新申请到文件调配中心,文件调配中心写入文件上传信息;
5)文件调配中心基于用户选择形成镜像更新的任务队列;
6)资源存储与服务系统基于文件更新队列进行文件镜像更新;
7)更新完成后,将更新结果反馈至文件调配中心,文件调配中心做出更新记录,镜像更新完成,此时,文件同步完成。
所述获取负载最低的资源存储与服务系统的计算方法如下:
(1)计算各节点物理负载
首先选取一些能够代表服务器性能水平的指标,并通过一定的方法,将这些指标综合起来得到服务器的综合负载参数。为了避免获取计算较多的负载指标对整个系统的性能或者相应速度产生影响,所选取的指标种类和数量不易过多,应该尽可能做到少而精。
所述代表服务器性能水平的指标包括cpu平均使用率、物理内存使用率、磁盘读写速率使用率和网络带宽使用率。
假定该发明中的文件存储系统中存在着n个资源存储与服务系统(s1,s2,s3...sn),第i台资源存储与服务系统的cpu主频与逻辑cpu个数的乘积为ci,内存大小为mi,io平均速率为ii,网络平均速率为ni。
第一步,分别取资源存储与服务系统中四个性能指标的最大值,计算方式如下所示:
第二步,将资源存储与服务系统中每个资源存储与服务系统相应的性能指标除以性能指标最大值,得到一个介于0到1之间的性能比值,计算方式如下所示:
第三步,根据资源存储与服务系统四个性能对服务器整体数据处理性能的影响程度,为每个资源存储与服务系统性能比值赋予一个用户进行加权平均的系数q1、q2、q3、q4。
要求q1,q2,q3,q4均大于0小于1,且q1+q2+q3+q4=1。
据此我们得到每个资源存储与服务系统性能指标xpi的具体计算公式为
xpi=(q1*cpi+q2*mpi+q3*ipi+q4*npi)/4
具体q1,q2,q3,q4的设置方案管理员在实际运行的环境中进行设置。
第四步,计算每个资源存储与服务系统的负载
假定每个资源存储与服务系统的cpu使用率,内存使用率、磁盘读写速度使用率及网络带宽使用率分别用cui,mui,iui,nui表示,则第1台资源存储与服务系统在任意时刻的综合负载均衡ti可以表示为:
ti=(q1*cpi*cui+q2*mpi*mui+q3*ipi*iui+q4*npi*nui)/4
第五步,每个资源存储与服务系统权重值计算
每个资源存储与服务系统总体性能减去实时负载,即为相应资源存储与服务系统的剩余数据处理性能,每个资源存储与服务系统剩余性能占所有资源存储与服务系统剩余性能之和的比例,即为相应资源存储与服务系统在的权重值。
第i台资源存储与服务系统的权重值wi的计算公式为
(2)计算各节点业务负载
本发明与常见的资源存储与服务系统的不同之处在于资源存储与服务系统(工作节点)不仅仅的进行资源的存储,还需要进行资源的转码、镜像更新、资源保护任务,需要针对资源存储与服务系统的业务做一次负载均衡。
设2020欧洲杯投注官网 转码任务大小为tt(vi)、音频转码任务大小为tt(ai)、文档转码任务大小为tt(di)、文档资源保护任务大小为tp(di)、2020欧洲杯投注官网 资源保护任务大小为tp(vi)、图片资源保护任务大小为tp(pi)、通用资源保护任务大小为tp(oi)、镜像下载资源大小为tm(ai)。
同时原2020欧洲杯投注官网 时长为time(vi),音频时长是time(ai),时长单位是小时。
转码后文件码率为b;
第一步,计算第i台资源存储与服务系统需要处理的资源大小。
fi=tt(vi)*(time(vi)+b)+tt(ai)*(time(ai)+b)+tt(di)+tp(di)+tp(vi)+tp(pi)+tp(oi)+tm(ai)
time(vi)+b为2020欧洲杯投注官网 转码系数;
time(ai)+b为音频转码系数;
b取低标准:2.1053,中标准:3.1579,高标准:4.7368;
第二步,获取所有资源存储与服务系统中需要处理的资源大小。
fa=f1+f2+...+fn
第三步,计算第i个资源存储与服务系统待处理资源大小的占比。
pi=fi/fa
第四步,计算第i个资源存储与服务系统的性能占比。
第五步,每个资源存储与服务系统的业务负载应该为任务占比除以性能占比。计算方式为:
bi=pi/xi
(3)计算综合负载计算
设定参数k,k1+k2=1,k1和k2分别用于调配物理负载与业务负载占用的比例,所以最终综合负载为
load(i)=li*k1+bi*k2
如果需要精确的获取各个节点的综合负载信息,需要每次提交读/写请求时向所有的节点发送请求以获取实时负载信息,但是,这会消耗极大的资源。通常会设置一个时间周期t,获取时间周期内的负载数据。
使用时间周期进行负载计算的话会造成系统请求分配的群聚效应,此时需要按照节点负载进行升序排列,获取时间周期内的负载最小的前两个工作节点,进行轮询分配。
一种分布式数字资源存储处理与管理的系统的资源的处理方法如下:
分布式数字资源管理系统对资源的处理采用任务调度的方式,由文件调配中心进行统一的任务调度。
首先对资源进行划分,不同的资源采用不同的处理方法,按照资源类型,将其划分为文档、图片、音频、2020欧洲杯投注官网 、通用文件,每种资源类型下边包括不同的资源格式,如文档资源可以是word文档、wps文档、pdf文档等。
分布式数字资源管理系统可对不同的类型的文件不同的资源操作,将不同类型和规格的资源,采用相应的转码技术,转换为适用于html5标准的资源;html5是新一代的html技术,支持音2020欧洲杯投注官网 资源的在线播放,将会是未来音2020欧洲杯投注官网 播放的主流方式。因此,此发明提供音2020欧洲杯投注官网 的转码任务,支持音2020欧洲杯投注官网 的web浏览,同时也支持文档的转码。
分布式数字资源管理系统同时针对不同类型资源,采用时间戳和水印保护技术进行统一保护;注重对资源的保护,可由用户设置资源保护的方式,提供图片的水印保护与时间戳保护;提供文档的水印保护与时间戳保护;提供音频的时间戳保护;提供2020欧洲杯投注官网 的水印保护与时间戳保护;提供通用文件的时间戳保护与压缩保护。
此发明需要合理分配存储资源,并对存储资源的正确性进行校验。因此会对资源存储与服务系统上的资源进行md5校验,校验失败的资源,将被标记为删除状态。
分布式数字资源管理系统在进行任务处理过程中均需要文件调配中心进行任务计划调度,文件调配中心进行任务调度的任务计划可以划分为四类,分别是镜像更新任务计划、资源转码任务计划、资源保护任务计划和资源回收任务计划。
一种分布式数字资源存储处理与管理的系统任务计划的执行均分为三步:
第一步:任务队列文件生成,文件调配中心基于数据库数据生成需要执行的任务队列并保存为xml文件。
第二步:通知资源存储与服务系统执行相关任务操作,资源存储与服务系统下载与本机相关任务的xml文件,并依据xml文件进行资源处理,每个资源处理开始之前和处理之后均标记状态,如开始转码时间、转码结束时间、转码结束状态等。
第三步:任务执行结束或者执行时间结束,提交更新后的xml文件到文件调配中心,文件调配中心分析xml文件,更新数据库记录并提交错误日志等。
上面对本发明的较佳实施方式作了详细说明,但是本发明并不限于上述实施方式,在本领域的普通技术人员所具备的知识范围内,还可以在不脱离本发明宗旨的前提下作出各种变化。