服务器中的数据队列的更新方法及系统的制作方法

文档序号:7782770阅读:171来源:国知局
服务器中的数据队列的更新方法及系统的制作方法
【专利摘要】本申请公开了一种服务器中的数据队列的更新方法及系统,可以避免数据文件在写入磁盘阵列时所发生的传输错误。本申请更新方法包括:侦测本地目录的数据文件是否有异动;若侦测到本地目录有新增的所述数据文件时,则为所述新增的数据文件创建内部队列,并指派所述内部队列记录所述数据文件的路径资讯;若侦测到本地目录的所述数据文件被修改时,则根据所述数据文件的路径资讯更新内部队列中的路径资讯;若侦测到本地目录的所述数据文件被删除时,删除对应所述数据文件的内部队列。
【专利说明】服务器中的数据队列的更新方法及系统
【技术领域】
[0001]本申请涉及数据传输的方法及系统,具体涉及一种服务器中的数据队列的更新方法及系统。
【背景技术】
[0002]随着网络流量的快速成长,许多过去不容易实现的服务也可以被轻易的完成。例如:宽带的上传多媒体文件(multimedia file)。由于海量的传输仍会影响服务器的负荷量。因此在已知的多媒体服务器也会具备带宽管理(Bandwidth Manager)的功能。服务器可以透过带宽分布或缓存等方式减轻同时间的资料传输量。
[0003]此外,所述的传输方式更结合了多个实体磁盘,使得数据可以同步的写入所述磁盘中。而现有技术对数据写入磁盘的方式,是将数据同步的由来源端写入服务器中。服务器会暂存这些数据文件。之后,服务器在将这些数据文件分批的写入实体磁盘。
[0004]这种写入的方式的实现成本低廉且快速。但是数据写入的过程中若发生错误,则数据只能重新写入。因此数据重新传输的时间就会拉长,而且也会增加网络带宽的负载。此夕卜,同一份数据文件除了要从客户端中重新载入,而且也要在服务器内部重新传输。
[0005]而数据文件是以缓存(buffer)的方式写入分散式文件装置中。因此所有的数据文件都会被排入同一个缓存中。这样会造成数据文件取出时的混乱。特别是,不同种类的数据文件若是指针指向错误时会造成两笔数据文件的会毁损。

【发明内容】

[0006]本申请所要解决的技术问题在于提供一种服务器中的数据队列的更新方法,避免数据文件在切分时或写入磁盘阵列时所发生的传输错误。
[0007]为了解决上述问题,本申请揭示了一种服务器中的数据队列的更新方法包括:侦测本地目录的数据文件是否有异动;若侦测到本地目录有新增的所述数据文件时,则为所述新增的数据文件创建内部队列,并指派所述内部队列记录所述数据文件的路径资讯;若侦测到本地目录的所述数据文件被修改时,则根据所述数据文件的路径资讯更新内部队列中的路径资讯;若侦测到本地目录的所述数据文件被删除时,删除对应所述数据文件的内部队列。
[0008]进一步地,所述侦测本地目录的数据文件是否有异动包括:记录所述内部队列与所述数据文件的创建资讯,所述创建资讯包括所述数据文件的接收时间、数据文件的文件长度;定时扫描所述数据文件与所述创建资讯是否一致;若两者不一致时,确定本地目录的数据文件有异动。
[0009]进一步地,所述所述侦测本地目录的数据文件是否有异动包括:若本次读取的所述数据文件且不存在所述数据文件的相关记录时,则确定有新增的所述数据文件的异动;若本次读取的所述数据文件与前次读取的所述数据文件的接收时间和/或数据文件的文件长度不一致时,则确定有修改数据文件的异动;若前次记录的所述数据文件且本次读取时所述数据文件不存在,则确定有删除数据文件的异动。
[0010]进一步地,若侦测到本地目录的所述数据文件被修改时,根据被修改的所述数据文件的路径资讯,查找所述数据文件对应的内部队列,并更新查找到的内部队列中的路径资讯;若侦测到本地目录的所述数据文件被删除时,根据被删除的数据文件的路径资讯查找被删除的数据文件对应的内部队列,并删除查找到的内部队列。
[0011]为了解决上述问题,本申请另揭示了一种数据切分的传输系统,包括:侦测模块,用于侦测本地目录的数据文件是否有异动;队列管理模块,连接于所述侦测模块,用于若所述侦测模块侦测到本地目录有新增的所述数据文件时,则为所述新增的数据文件创建内部队列,并指派所述内部队列记录所述数据文件的路径资讯;所述队列管理模块,还用于若所述侦测模块侦测到本地目录的所述数据文件被修改时,则根据所述数据文件的路径资讯更新内部队列中的路径资讯;若所述侦测模块侦测到本地目录的所述数据文件被删除时,删除对应所述数据文件的内部队列。
[0012]进一步地,所述侦测模块进一步包括:记录单元、扫描单元、确定单元;其中,所述记录单元,用于记录所述内部队列与所述数据文件的创建资讯,所述创建资讯包括所述数据文件的接收时间、数据文件的文件长度;所述扫描单元,用于定时扫描所述数据文件与所述创建资讯是否一致;所述确定单元,用于若两者不一致时,确定本地目录的数据文件有异动。
[0013]进一步地,所述确定单元具体用于:所述若本次读取的所述数据文件且不存在所述数据文件的相关记录时,则确定有新增的所述数据文件的异动;若本次读取的所述数据文件与前次读取的所述数据文件的接收时间和/或数据文件的文件长度不一致时,则确定有修改数据文件的异动;若前次记录的所述数据文件且本次读取时所述数据文件不存在,则确定有删除数据文件的异动。
[0014]进一步地,所述确定单元进一步包括:内部队列修改子单元,用于若侦测到本地目录的所述数据文件被修改时,根据被修改的所述数据文件的路径资讯,查找所述数据文件对应的内部队列,并更新查找到的内部队列中的路径资讯;内部队列删除子单元,用于若侦测到本地目录的所述数据文件被删除时,根据被删除的数据文件的路径资讯查找被删除的数据文件对应的内部队列,并删除查找到的内部队列。
[0015]与现有技术相比,本申请可以获得包括以下技术效果:
[0016]I)本申请改进数据文件的传输过程,数据文件写入时若发生错误,本申请不需重新从客户端中取得数据文件。
[0017]2)本申请若于传输数据文件的期间中发生错误,本申请可以透过至少一台心跳服务器发报给报警服务器,使得后台人员可以实时的得知何项组件发生异常。
[0018]当然,实施本申请的任一产品必不一定需要同时达到以上所述的所有技术效果。
【专利附图】

【附图说明】
[0019]此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
[0020]图1是本申请实施例的架构示意图。
[0021]图2是本申请实施例的运作流程不意图。【具体实施方式】
[0022]以下将配合附图及实施例来详细说明本申请的实施方式,藉此对本申请如何应用技术手段来解决技术问题并达成技术功效的实现过程能充分理解并据以实施。
[0023]如在说明书及权利要求当中使用了某些词汇来指称特定组件。本领域技术人员应可理解,硬件制造商可能会用不同名词来称呼同一个组件。本说明书及权利要求并不以名称的差异来作为区分组件的方式,而是以组件在功能上的差异来作为区分的准则。如在通篇说明书及权利要求当中所提及的“包含”为一开放式用语,故应解释成“包含但不限定于”。“大致”是指在可接收的误差范围内,本领域技术人员能够在一定误差范围内解决所述技术问题,基本达到所述技术效果。此外,“耦接”一词在此包含任何直接及间接的电性耦接手段。因此,若文中描述一第一装置耦接于一第二装置,则代表所述第一装置可直接电性耦接于所述第二装置,或通过其他装置或耦接手段间接地电性耦接至所述第二装置。说明书后续描述为实施本申请的较佳实施方式,然所述描述乃以说明本申请的一般原则为目的,并非用以限定本申请的范围。本申请的保护范围当视所附权利要求所界定者为准。
[0024]本申请的服务器中的数据队列更新系统,请参考第I图。本申请的更新系统100由以下元件所构成:内存模块110、侦测模块120与队列管理模块130。队列管理模块130连接于侦测模块120与内存模块110。内存模块110用于接收客户端所上传的数据文件。内存模块110中具有多个本地目录,每一个本地目录存储各自的数据文件。侦测模块120用于侦测本地目录的数据文件是否有异动。队列管理模块130用于若所述侦测模块120侦测到本地目录有新增的所述数据文件时,则为所述新增的数据文件创建内部队列,并指派所述内部队列记录所述数据文件的路径资讯。队列管理模块130,还用于若所述侦测模块120侦测到本地目录的所述数据文件被修改时,则根据所述数据文件的路径资讯更新内部队列中的路径资讯。若所述侦测模块120侦测到本地目录的所述数据文件被删除时,删除对应所述数据文件的内部队列。
[0025]本申请的侦测模块120进一步包括记录单元121、扫描单元122、确定单元123、内部队列修改子单元1231与内部队列删除子单元1232。记录单元121用于记录所述内部队列与所述数据文件的创建资讯,所述创建资讯包括所述数据文件的接收时间、数据文件的文件长度。扫描单元122用于定时扫描所述数据文件与所述创建资讯是否一致。确定单元123用于若两者不一致时,确定本地目录的数据文件有异动。
[0026]具体而言,若本次读取的所述数据文件且不存在所述数据文件的相关记录时,确定单元123确定有新增的所述数据文件的异动。若本次读取的所述数据文件与前次读取的所述数据文件的接收时间和/或数据文件的文件长度不一致时,确定单元123确定有修改数据文件的异动。若前次记录的所述数据文件且本次读取时所述数据文件不存在,确定单元123确定有删除数据文件的异动。
[0027]内部队列修改子单元1231用于若侦测到本地目录的所述数据文件被修改时,根据被修改的所述数据文件的路径资讯,查找所述数据文件对应的内部队列,并更新查找到的内部队列中的路径资讯。内部队列删除子单元1232,用于若侦测到本地目录的所述数据文件被删除时,根据被删除的数据文件的路径资讯查找被删除的数据文件对应的内部队列,并删除查找到的内部队列。[0028]在此将前述各组件的运作方式以下述步骤表示,请配合第2图所示:
[0029]步骤S210:侦测本地目录的数据文件是否有异动;
[0030]步骤S220:若侦测到本地目录有新增的所述数据文件时,则为所述新增的数据文件创建内部队列,并指派所述内部队列记录所述数据文件的路径资讯;
[0031]步骤S230:若侦测到本地目录的所述数据文件被修改时,则根据所述数据文件的路径资讯更新内部队列中的路径资讯;以及
[0032]步骤S240:若侦测到本地目录的所述数据文件被删除时,删除对应所述数据文件的内部队列。
[0033]本申请对于侦测本地目录的数据文件是否有异动的步骤中进一步包括以下步骤:
[0034]步骤S310:记录所述内部队列与所述数据文件的创建资讯,所述创建资讯包括所述数据文件的接收时间、数据文件的文件长度;
[0035]步骤S320:定时扫描所述数据文件与所述创建资讯是否一致;
[0036]步骤S330:若两者不一致时,确定本地目录的数据文件有异动。
[0037]在步骤S310中,可以定时调用文件操作函数读取本地目录的数据文件,并记录文件名、数据文件的接收时间、数据文件的文件长度等创建资讯。也可以定时监控文件操作函数对本地目录的读写操作,从而获得文件异动信息。
[0038]步骤S320中和S330中,定时扫描记录的文件创建资讯,通过比较前一次记录的文件创建资讯与本次读取的文件创建资讯,判断是否有文件异动。如果比较两次读取的文件创建资讯(如文件名、数据的接收时间、数据的文件长度任意一个)不一致,则认为存在数据文件异动。
[0039]上述步骤S320和步骤S330中:若本次读取的所述数据文件且不存在所述数据文件的相关记录时,则确定有新增的所述数据文件的异动;
[0040]若本次读取的所述数据文件与前次读取的所述数据文件的接收时间和/或数据文件的文件长度不一致时(如数据文件的接收时间和/或文件长度发生了改变),则确定有修改数据文件的异动;
[0041]若前次记录的所述数据文件且本次读取时所述数据文件不存在,则确定有删除数据文件的异动(即前次读取时记录了该数据文件的名字,在本次读取的记录中,经过比较,没有发现该数据文件的名字)。
[0042]当发生数据文件被改变的异动时,根据被修改的所述数据文件的路径资讯,查找所述数据文件对应的内部队列,并更新查找到的内部队列中的路径资讯;当发生若侦测到本地目录的所述数据文件被删除的异动时,根据被删除的数据文件的路径资讯查找被删除的数据文件对应的内部队列,并删除查找到的内部队列。具体实施时,通过比较内部队列中存储的路径信息可以确定数据文件对应的内部队列;也可以在创建内部队列时,同时创建一个队列索引文件,用于保存数据文件和内部队列的对应关系。数据文件的路径信息可以包括所述数据文件存储在本地目录的路径,通常通过系统的接口函数可以获得;也可以包括存储在端服务器中的路径,通常的名字中包含文件的存储路径信息,如服务器的IP地址和服务器上的具体存储磁盘位置等。
[0043]还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者系统中还存在另外的相同要素。
[0044]本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
[0045]以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本 申请的权利要求范围之内。
【权利要求】
1.一种服务器中的数据队列的更新方法,其特征在于,包括以下步骤: 侦测本地目录的数据文件是否有异动; 若侦测到本地目录有新增的所述数据文件时,则为所述新增的数据文件创建内部队列,并指派所述内部队列记录所述数据文件的路径资讯; 若侦测到本地目录的所述数据文件被修改时,则根据所述数据文件的路径资讯更新内部队列中的路径资讯; 以及,若侦测到本地目录的所述数据文件被删除时,删除对应所述数据文件的内部队列。
2.如权利要求1所述的服务器中的数据队列的更新方法,其特征在于,所述侦测本地目录的数据文件是否有异动,进一步包括: 记录所述内部队列与所述数据文件的创建资讯,所述创建资讯包括所述数据文件的接收时间、数据文件的文件长度; 定时扫描所述数据文件与所述创建资讯是否一致;以及 若两者不一致时,确定本地目录的数据文件有异动。
3.如权利要求2所述的服务器中的数据队列的更新方法,其特征在于,所述侦测本地目录的数据文件是否有异动,进一步包括: 若本次读取的所述数据文件且不存在所述数据文件的相关记录时,则确定有新增的所述数据文件的异动; 若本次读取的所述数据文件与前次读取的所述数据文件的接收时间和/或数据文件的文件长度不一致时,则确定有修改数据文件的异动; 若前次记录的所述数据文件且本次读取时所述数据文件不存在,则确定有删除数据文件的异动。
4.如权利要求1所述的服务器中的数据队列的更新方法,其特征在于,若侦测到本地目录的所述数据文件被修改时,根据被修改的所述数据文件的路径资讯,查找所述数据文件对应的内部队列,并更新查找到的内部队列中的路径资讯; 以及,若侦测到本地目录的所述数据文件被删除时,根据被删除的数据文件的路径资讯查找被删除的数据文件对应的内部队列,并删除查找到的内部队列。
5.一种服务器中的数据队列的更新装置,其特征在于包括: 侦测模块,用于侦测本地目录的数据文件是否有异动;以及, 队列管理模块,连接于所述侦测模块,用于若所述侦测模块侦测到本地目录有新增的所述数据文件时,则为所述新增的数据文件创建内部队列,并指派所述内部队列记录所述数据文件的路径资讯; 所述队列管理模块,还用于若所述侦测模块侦测到本地目录的所述数据文件被修改时,则根据所述数据文件的路径资讯更新内部队列中的路径资讯; 以及,若所述侦测模块侦测到本地目录的所述数据文件被删除时,删除对应所述数据文件的内部队列。
6.如权利要求5所述的服务器中的数据队列的更新系统,其特征在于,所述侦测模块进一步包括:记录单元、扫描单元、确定单元;其中, 所述记录单元,用于记录所述内部队列与所述数据文件的创建资讯,所述创建资讯包括所述数据文件的接收时间、数据文件的文件长度; 所述扫描单元,用于定时扫描所述数据文件与所述创建资讯是否一致;以及, 所述确定单元,用于若两者不一致时,确定本地目录的数据文件有异动。
7.如权利要求6所述的服务器中的数据队列的更新系统,其特征在于,所述确定单元具体用于: 所述若本次读取的所述数据文件且不存在所述数据文件的相关记录时,则确定有新增的所述数据文件的异动; 若本次读取的所述数据文件与前次读取的所述数据文件的接收时间和/或数据文件的文件长度不一致时,则确定有修改数据文件的异动; 若前次记录的所述数据文件且本次读取时所述数据文件不存在,则确定有删除数据文件的异动。
8.如权利要求5所述的服务器中的数据队列的更新系统,其特征在于,所述确定单元进一步包括: 内部队列修改子单元,用于若侦测到本地目录的所述数据文件被修改时,根据被修改的所述数据文件的路径资讯,查找所述数据文件对应的内部队列,并更新查找到的内部队列中的路径资讯; 以及,内部队列删除子单元,用于若侦测到本地目录的所述数据文件被删除时,根据被删除的数据文件的 路径资讯查找被删除的数据文件对应的内部队列,并删除查找到的内部队列。
【文档编号】H04L29/08GK103731369SQ201310741616
【公开日】2014年4月16日 申请日期:2013年12月27日 优先权日:2013年12月27日
【发明者】于凤东, 张磊, 马一鸣 申请人:乐视网信息技术(北京)股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1