一种网络文件管理的实现方法和系统与流程

文档序号:12377330阅读:来源:国知局

技术特征:

1.一种网络文件管理的实现方法,其特征在于,包括有:

步骤一、构建输入和输出消息队列,并启动资源管理进程;

步骤二、将外部进程发来的文件下载请求保存到输入消息队列中,资源管理进程从输入消息队列中逐一提取文件下载请求,然后从所连接的多个文件服务器中选择其一来下载请求文件,最后将文件下载结果保存到输出消息队列中。

2.根据权利要求1所述的方法,其特征在于,输入和输出消息队列中的每个文件下载请求或结果包含有以下参数:文件类型、文件服务器编号、请求文件名、请求文件数量、下载次数、文件下载状态,其中,文件类型用于保存一般下载请求中的文件所属具体类型,文件服务器编号用于保存特定下载请求中指定下载的文件服务器编号,下载次数用于标识资源管理进程已经尝试下载的次数,文件下载状态用于标识文件是下载成功或失败状态。

3.根据权利要求1所述的方法,其特征在于,资源管理进程启动多个文件下载线程,步骤二中,每个文件下载线程的工作流程进一步包括有:

步骤A1、文件下载线程从输入消息队列中取出一个文件下载请求;

步骤A2、获取主用服务器编号;

步骤A3、判断文件服务器信息列表中主用服务器的状态是否是可用,如果是,则从主用服务器上下载请求文件,然后更新文件下载请求中的“下载次数”和“文件下载状态”,继续下一步;

步骤A4、将更新后的文件下载请求作为文件下载结果保存到输出消息队列中,继续从输入消息队列中取出下一个文件下载请求,转向步骤A2,

或,

资源管理进程启动多个文件下载线程,且每个文件下载线程分别和一个文件服务器绑定,即每个文件下载线程只负责从其绑定的文件服务器上下载文件,步骤二中,每个文件下载线程的工作流程进一步包括有:

步骤B1、文件下载线程判断输入消息队列中是否有文件下载请求的“文件服务器编号”是自己所绑定的文件服务器编号,如果是,则从输入消息队列中取出所述文件下载请求,继续下一步;

步骤B2、文件下载线程查找文件服务器信息列表中自己所绑定的文件服务器的状态是否是可用,如果是,则从自己所绑定的文件服务器上下载请求文件,然后更新文件下载请求中的“下载次数”和“文件下载状态”,继续下一步;

步骤B3、将更新后的文件下载请求作为文件下载结果保存到输出消息队列中,转向步骤B1。

4.根据权利要求3所述的方法,其特征在于,步骤A3中,当文件服务器信息列表中主用服务器的状态不可用时,还包括有:

步骤A5、判断是否还存在有优先级排在主用服务器之后的文件服务器,如果是,则将优先级排在主用服务器之后的文件服务器选作主用服务器,转向步骤A3;如果否,则将文件下载请求中的“文件下载状态”更新成下载失败状态,然后转向步骤A4,

步骤A3和步骤A4之间还包括有:

步骤A341、判断文件下载请求中的“文件下载状态”是否是下载成功状态,如果是,则转向步骤A4;如果否,则继续下一步;

步骤A342、判断文件下载请求中的“下载次数”是否达到一定阈值,如果是,则转向步骤A4;如果否,则转向步骤A5。

5.根据权利要求3所述的方法,其特征在于,步骤B1中,当文件下载线程判断输入消息队列中没有文件下载请求的“文件服务器编号”是自己所绑定的文件服务器编号时,还包括有:

判断输入消息队列中是否有文件下载请求的“文件服务器编号”是空,如果是,则从输入消息队列中取出所述文件下载请求,转向步骤B2;如果否,则等待一段时间后,转向步骤B1,

步骤B2中,当文件下载线程查找文件服务器信息列表中自己所绑定的文件服务器的状态不可用时,还包括有:

步骤B4、判断文件下载请求中的“下载次数”是否达到一定阈值,如果是,则将文件下载请求的“文件下载状态”更新成下载失败状态,转向步骤B3;如果否,则继续下一步;

步骤B5、从文件服务器信息列表中挑选出一个状态是可用的文件服务器,然后将文件下载请求的“文件服务器编号”修改成所挑选出的可用状态的文件服务器编号,最后将修改后的文件下载请求再保存到输入消息队列中,转向步骤B1,

步骤B2和步骤B3之间还包括有:

判断文件下载请求中的“文件下载状态”是否是下载成功状态,如果是,则转向步骤B3;如果否,则转向步骤B4。

6.根据权利要求3所述的方法,其特征在于,在将文件下载结果保存到输出消息队列中之后,还包括有:

文件下载线程获取当前时间,将下载线程信息列表中自己的“最近一次正常使用时间”更新为当前时间,

资源管理进程创建一个状态监测维护线程,还包括有:

步骤C1、逐一读取文件下载线程信息列表中的每个文件下载线程;

步骤C2、获取文件下载线程的“线程锁”,并使用“线程锁”对文件下载线程信息列表中所述文件下载线程的数据进行加锁,然后读取所述文件下载线程的“最近一次正常使用时间”,并获取当前时间,然后判断当前时间和所述文件下载线程的“最近一次正常使用时间”的差值是否大于一定门限值,如果是,则取消所述文件下载线程,从文件下载线程信息列表中删除所述文件下载线程的数据,然后重新启动一个新的文件下载线程,将新的文件下载线程绑定到已取消的文件下载线程所绑定的文件服务器上,最后在文件下载线程信息列表中增加所述新的文件下载线程的数据,继续下一步;如果否,则对文件下载线程信息列表中所述文件下载线程数据进行解锁,然后继续下一步;

步骤C3、判断是否已读取完文件下载线程信息列表中的所有文件下载线程,如果是,则继续下一步;如果否,则继续读取文件下载线程信息列表中的下一个文件下载线程,转向步骤C2。

7.根据权利要求1所述的方法,其特征在于,还包括有:

资源管理进程为每个文件服务器分别创建一个服务器监测线程,服务器监测线程定时向自己所监测的文件服务器发出访问请求,并判断访问请求是否被正常执行,如果是,则获取当前时间,然后将文件服务器信息列表中所监测的文件服务器的“最近一次正常使用时间”更新为当前时间,

资源管理进程创建一个状态监测维护线程,还包括有:

步骤D1、状态监测维护线程逐一读取文件服务器信息列表中的每个文件服务器;

步骤D2、获取所述文件服务器的“线程锁”,并使用“线程锁”对文件服务器信息列表中所述文件服务器的数据进行加锁,然后读取所述文件服务器的“最近一次正常使用时间”,并获取当前时间,再判断当前时间和所述“最近一次正常使用时间”的差值是否大于一定门限值,如果是,则将文件服务器信息列表中所述文件服务器的“状态”更新为不可用;如果否,则将文件服务器信息列表中所述文件服务器的“状态”更新为可用;

步骤D3、对文件服务器信息列表中所述文件服务器的数据进行解锁,然后判断是否已读取完文件服务器信息列表中的所有文件服务器,如果否,则继续读取文件服务器信息列表中的下一个文件服务器,转向步骤D2。

8.一种网络文件管理的系统,其特征在于,包括有:

资源管理启动装置,用于构建输入和输出消息队列,启动资源管理进程装置,将外部进程发来的文件下载请求保存到输入消息队列中;

资源管理进程装置,用于从输入消息队列中逐一提取文件下载请求,然后从所连接的多个文件服务器中选择其一来下载请求文件,最后将文件下载结果保存到输出消息队列中。

9.根据权利要求8所述的系统,其特征在于,输入和输出消息队列中的每个文件下载请求或结果包含有以下参数:文件类型、文件服务器编号、请求文件名、请求文件数量、下载次数、文件下载状态等,文件类型用于保存一般下载请求中的文件所属具体类型,文件服务器编号用于保存特定下载请求中指定下载的文件服务器编号,下载次数用于标识资源管理进程已经尝试下载的次数,文件下载状态用于标识文件是下载成功或失败状态。

10.根据权利要求8所述的系统,其特征在于,资源管理进程装置启动多个文件下载线程单元,每个文件下载线程单元进一步包括有:

主备下载执行部件,用于从输入消息队列中取出每个文件下载请求,获取主用服务器编号,判断文件服务器信息列表中主用服务器的状态是否是可用,如果是,则从主用服务器上下载请求文件,然后更新文件下载请求中的“下载次数”和“文件下载状态”,最后将更新后的文件下载请求作为文件下载结果保存到输出消息队列中,

或,

资源管理进程装置启动多个文件下载线程单元,且每个文件下载线程单元分别和一个文件服务器绑定,即每个文件下载线程单元只负责从其绑定的文件服务器上下载文件,每个文件下载线程单元进一步包括有:

负荷分担请求提取部件,用于判断输入消息队列中是否有文件下载请求的“文件服务器编号”是自己所绑定的文件服务器编号,如果是,则从输入消息队列中取出所述文件下载请求,并转发给负荷分担下载执行部件;

负荷分担下载执行部件,用于查找文件服务器信息列表中自己所绑定的文件服务器的状态是否是可用,如果是,则从自己所绑定的文件服务器上下载请求文件,然后更新文件下载请求中的“下载次数”和“文件下载状态”,最后将更新后的文件下载请求作为文件下载结果保存到输出消息队列中。

11.根据权利要求10所述的系统,其特征在于,主备下载执行部件,当判断文件服务器信息列表中主用服务器的状态不可用时,将通知主用服务器重设部件,

文件下载线程单元还包括有:

主用服务器重设部件,用于判断是否还存在有优先级排在主用服务器之后的文件服务器,如果是,则将优先级排在主用服务器之后的文件服务器选作主用服务器,再通知主备下载执行部件继续判断文件服务器信息列表中主用服务器的状态是否可用;如果否,则将文件下载请求中的“文件下载状态”更新成下载失败状态,然后通知主备下载执行部件将更新后的文件下载请求作为文件下载结果保存到输出消息队列中;

主备结果处理部件,用于当主备下载执行部件从主用服务器上下载请求文件、并更新文件下载请求中的“下载次数”和“文件下载状态”之后,判断如果“文件下载状态”是下载成功状态、或“下载次数”达到一定阈值时,则通知主备下载执行部件将更新后的文件下载请求作为文件下载结果保存到输出消息队列中,如果“文件下载状态”不是下载成功状态、且“下载次数”没有达到一定阈值时,则通知主用服务器重设部件重新选用主用服务器。

12.根据权利要求10所述的系统,其特征在于,负荷分担请求提取部件,当判断输入消息队列中没有文件下载请求的“文件服务器编号”是自己所绑定的文件服务器编号时,继续判断输入消息队列中是否有文件下载请求的“文件服务器编号”是空,如果有,就从输入消息队列中取出“文件服务器编号”是空的文件下载请求,并转发给负荷分担下载执行部件,

负荷分担下载执行部件,当查找文件服务器信息列表中自己所绑定的文件服务器的状态不可用时,判断文件下载请求中的“下载次数”是否达到一定阈值,如果是,则将文件下载请求的“文件下载状态”更新成下载失败状态,并将更新后的文件下载请求作为文件下载结果保存到输出消息队列中;如果否,则将文件下载请求转发给文件服务器重设部件,

文件下载线程单元还包括有:

文件服务器重设部件,用于从文件服务器信息列表中挑选出一个状态是可用的文件服务器,然后将文件下载请求的“文件服务器编号”修改成所挑选出的可用状态的文件服务器编号,最后将修改后的文件下载请求再保存到输入消息队列中;

负荷分担结果处理部件,用于当负荷分担下载执行部件从文件服务器上下载请求文件、并更新文件下载请求中的“下载次数”和“文件下载状态”之后,判断如果“文件下载状态”是下载成功状态、或“下载次数”达到一定阈值时,通知负荷分担下载执行部件将更新后的文件下载请求作为文件下载结果保存到输出消息队列中,如果“文件下载状态”不是下载成功状态、且“下载次数”没有达到一定阈值时,将文件下载请求转发给文件服务器重设部件。

13.根据权利要求10所述的系统,其特征在于,资源管理进程装置为所有文件下载线程单元创建一个下载线程信息列表,所述下载线程信息列表保存有所有文件下载线程单元的数据,每个文件下载线程单元还包括有:

下载线程监测部件,用于当主备下载执行部件或负荷分担下载执行部件将文件下载结果保存到输出消息队列中之后,获取当前时间,将下载线程信息列表中自己所属的文件下载线程单元的“最近一次正常使用时间”更新为当前时间,

这样,资源管理进程装置还包括有:状态监测维护线程单元,所述状态监测维护线程单元进一步包括有:

下载线程状态监测部件,用于逐一读取文件下载线程信息列表中的每个文件下载线程单元,获取文件下载线程单元的“线程锁”,使用“线程锁”对文件下载线程信息列表中所述文件下载线程单元的数据进行加锁,然后读取所述文件下载线程单元的“最近一次正常使用时间”,并获取当前时间,然后判断当前时间和所述文件下载线程单元的“最近一次正常使用时间”的差值是否大于一定门限值,如果是,则取消所述文件下载线程单元,从文件下载线程信息列表中删除所述文件下载线程单元的数据,然后重新启动一个新的文件下载线程单元,将新的文件下载线程单元绑定到已取消的文件下载线程单元所绑定的文件服务器上,最后在文件下载线程信息列表中增加所述新的文件下载线程单元的数据;如果否,则对文件下载线程信息列表中所述文件下载线程单元的数据进行解锁。

14.根据权利要求8所述的系统,其特征在于,资源管理进程装置为每个文件服务器分别创建一个服务器监测线程单元:

服务器监测线程单元,用于定时向自己所监测的文件服务器发出访问请求,并判断访问请求是否被正常执行,如果是,则获取当前时间,然后将文件服务器信息列表中所监测的文件服务器的“最近一次正常使用时间”更新为当前时间,

资源管理进程装置还包括有:状态监测维护线程单元,所述状态监测维护线程单元进一步包括有:

服务器状态监测部件,用于读取文件服务器信息列表中的每个文件服务器,获取文件服务器的“线程锁”,并使用“线程锁”对文件服务器信息列表中所述文件服务器的数据进行加锁,然后读取所述文件服务器的“最近一次正常使用时间”,并获取当前时间,再判断当前时间和所述“最近一次正常使用时间”的差值是否大于一定门限值,如果是,则将文件服务器信息列表中所述文件服务器的“状态”更新为不可用;如果否,则将文件服务器信息列表中所述文件服务器的“状态”更新为可用,最后对文件服务器信息列表中所述文件服务器的数据进行解锁。

当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1