一种数据文件处理的方法及系统
文献发布时间:2023-06-19 11:05:16
技术领域
本申请涉及数据文件处理技术领域,尤其涉及一种数据文件处理的方法及系统。
背景技术
光盘存储由于其介质的可靠性,在对数据安全比较高得应用领域中,有很好得比较优势。在归档领域,目前普遍使用了光盘进行文档长久的保存,这种方式在从热存储向冷存储的迁移上取得了较好的效果,但仍存在一些不足或缺陷。具体表现为,在将客户端上的待归档数据刻录到光盘库中时,经常出现因为网络或者其他原因导致的数据上传失败,而现有技术采用的文件传输方式,在上传失败后多采取重新上传的方式,没有对文件上传效率和文件的完整性进行综合考虑。
发明内容
(一)发明目的
本申请要解决的技术问题是提供一种数据文件处理的方法,通过调用服务器端提供的数据归档服务,完成待归档数据的归档和上传,并通过保存归档数据上传过程中形成的临时记录文件,使数据上传过程在中断后,能够实现选择性续传。
(二)技术方案
为解决上述问题,本申请的第一方面提供了一种数据文件处理的方法,用于客户端,包括:
调用服务器端提供的数据归档服务,启动归档任务;
基于所述数据归档服务中提供的执行策略,对所述归档任务进行设置,所述执行策略包括时间策略、存放路径策略和归档数据选择策略;
基于设置后的所述归档任务对待归档数据进行归档,形成归档数据;
将所述归档数据上传至所述服务器端的缓存存储器,使所述归档数据可经由所述服务器端迁移到与所述服务器端通信连接的光盘库中;
其中,所述归档数据上传至所述服务器端的缓存存储器的过程中还形成有临时记录文件,所述临时记录文件用于记录有所述归档数据上传过程中形成的文件或文件块的标记信息。
一些实施例中,将所述归档数据上传至所述服务器端的缓存存储器之后,还包括:
间隔预定时间后,基于所述归档任务对新的待归档数据进行归档,形成新的归档数据;
将所述新的归档数据上传至所述服务器端的缓存存储器中;
重复上述间隔预定时间后形成新的归档数据,到将所述新的归档数据上传至所述服务器端的缓存存储器中的步骤,直到上传完毕基于所述归档任务形成的全部归档数据。
一些实施例中,将所述归档数据上传至所述服务器端的缓存存储器,包括:
当所述归档数据上传过程中形成的文件需要分块上传时,每完成一个文件块的上传后,在所述临时记录文件中记录所述文件块的块信息,所述块信息包括uploadID信息和partNumber信息;
当所述归档数据上传过程中形成的文件不需要分块上传时,在一个文件上传完成后,在临时记录文件中记录所述文件的文件名信息;
遍历所述临时记录文件中的所述块信息和所述文件名信息,滤除与所述临时记录文件中记录的所述块信息和所述文件名信息对应的所述归档数据上传过程中形成的文件或文件块;
继续上传剩下的所述文件或文件块。
一些实施例中,所述归档数据中还包括执行本次所述归档任务时的所述客户端的系统信息文件,所述系统信息文件用于所述客户端的系统崩溃时,使所述客户端根据所述系统信息文件恢复到执行本次所述归档任务前的工作状态。
本申请的第二方面提供了一种数据文件处理的方法,用于服务器端,包括:
响应客户端的调用,为所述客户端提供数据归档服务,使所述客户端根据所述数据归档服务启动归档任务,并使所述客户端基于所述数据归档服务中提供的执行策略设置其归档任务,所述执行策略包括时间策略、存放路径策略和归档数据选择策略;
通过缓存存储器接收所述客户端上传的归档数据;
将所述归档数据从所述缓存存储器中迁移到与所述服务器端通信连接的光盘库中;
其中,通过缓存存储器接收所述客户端上传的归档数据的过程中还形成有临时记录文件,所述临时记录文件用于记录有所述归档数据上传过程中形成的文件或文件块的标记信息。
一些实施例中,将所述归档数据从所述缓存存储器中迁移到与所述服务器端通信连接的光盘库中之前,还包括;
间隔预定时间后,通过所述缓存存储器再次接收所述客户端上传的新的归档数据;
重复上述再次接收的步骤,直到接收完基于所述归档任务形成的全部归档数据。
一些实施例中,将所述缓存存储器中的所述归档数据迁移到光盘库中,包括:
根据所述存放路径策略确定刻录所述归档数据的所述光盘库中的光盘匣;
通过所述服务器端与所述光盘库之间的高速数据链路将所述归档数据传输并刻录至所述光盘匣中的光盘上,其中,所述高速数据链路包括基于SAS接口的线缆或基于FDDI接口的光缆,所述光盘库为基于RAID读写管理的蓝光光盘库。
一些实施例中,通过缓存存储器接收所述客户端上传的归档数据,包括:
按照第一确定周期检测所述缓存存储器的剩余容量;
当所述剩余容量大于所述缓存存储器的总容量的第一确定份额时,在剩余容量检测后的下一个第一确定周期内使传输到所述缓存存储器的数据传输速度按照实际线路速度进行,所述实际线路速度大于光盘刻录的刻录速度;
当所述剩余容量小于等于所述缓存存储器的总容量的第一确定份额时,在剩余容量检测后的下一个第一确定周期内使所述数据传输速度按照光盘刻录的刻录速度进行。
一些实施例中,当所述剩余容量小于等于所述缓存存储器的总容量的第一确定份额时,在剩余容量检测后的下一个第一确定周期内使所述数据传输速度按照光盘刻录的刻录速度进行,包括:
按照第二确定周期检测光盘的当前刻录速度,所述第二确定周期的周期时长小于等于所述第一确定周期的周期时长;
当所述剩余容量小于等于所述总容量的第一确定份额,且大于所述总容量的第二确定份额时,在剩余容量检测后的下一个第一确定周期内使所述数据传输速度按照光盘刻录的所述刻录速度的上限值进行;
当所述剩余容量小于等于所述总容量的第二确定份额,且大于所述总容量的第三确定份额时,在剩余容量检测后的下一个第一确定周期内使所述数据传输速度按照剩余容量检测前的第一确定周期内检测的光盘刻录的当前刻录速度进行;
当所述剩余容量小于等于所述总容量的第三确定份额,使所述数据传输速度按照所述刻录速度的下限值进行。
本申请的第三方面提供了一种电子设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述第一或第二方面任一项所述的方法。
(三)有益效果
本申请实施例通过调用服务器端提供的数据归档服务,完成待归档数据的归档和上传,并通过保存归档数据上传过程中形成的临时记录文件,使数据上传过程在中断后能够实现选择性续传。一方面,提高了数据上传效率,另一方面,又保证了分块上传的文件和整个归档数据在上传完成后的整体完整性。
附图说明
图1是本申请实施例1的方法流程示意图;
图2是本申请实施例2的方法流程示意图;
图3是本申请实施例3的方法流程示意图;
图4是本申请实施例4的方法流程示意图;
图5是本申请实施例5的系统模块框图;
图6是本申请实施例中的选择性续传流程图;
图7是本申请实施例中的系统恢复流程图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚明了,下面结合具体实施方式并参照附图,对本申请进一步详细说明。应该理解,这些描述只是示例性的,而并非要限制本申请的范围。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本申请的概念。
显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
在本申请的描述中,需要说明的是,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。
此外,下面所描述的本申请不同实施方式中所涉及的技术特征只要彼此之间未构成冲突就可以相互结合。
本申请的第一方面提供了一种数据文件处理的方法,用于客户端,包括:
调用服务器端提供的数据归档服务,启动归档任务;
基于所述数据归档服务中提供的执行策略,对所述归档任务进行设置,所述执行策略包括时间策略、存放路径策略和归档数据选择策略;
基于设置后的所述归档任务对待归档数据进行归档,形成归档数据;
将所述归档数据上传至所述服务器端的缓存存储器,使所述归档数据可经由所述服务器端迁移到与所述服务器端通信连接的光盘库中;
其中,所述归档数据上传至所述服务器端的缓存存储器的过程中还形成有临时记录文件,所述临时记录文件用于记录有所述归档数据上传过程中形成的文件或文件块的标记信息。
图1是本申请实施例1的方法流程示意图。
实施例1
如图1所示,一种数据文件处理的方法,用于客户端,包括:
步骤110:调用服务器端提供的数据归档服务,启动归档任务;
步骤120:基于所述数据归档服务中提供的执行策略,对所述归档任务进行设置,所述执行策略包括时间策略、存放路径策略和归档数据选择策略;
步骤130:基于设置后的所述归档任务对待归档数据进行归档,形成归档数据;
步骤140:将所述归档数据上传至所述服务器端的缓存存储器,使所述归档数据可经由所述服务器端迁移到与所述服务器端通信连接的光盘库中;
其中,所述归档数据上传过程中还形成有临时记录文件,所述临时记录文件用于记录有所述归档数据上传过程中形成的文件或文件块的标记信息。
本实施例揭示的数据文件处理的方法以客户端为执行主体,其中:
步骤110是客户端调用服务器端提供的数据归档服务,启动归档任务的过程,该数据归档服务由服务器端提供,但归档任务由客户端调用该数据归档服务后,在客户端上启动。
步骤120是基于数据归档服务中提供的执行策略,对所述归档任务进行设置的过程,该执行策略包括有时间策略、存放路径策略和归档数据选择策略。时间策略就是指在设置归档任务时,对归档任务的时间设定;存放路径策略就是指在设置归档任务时,对归档数据最终在光盘库中的刻录和保存路径的设定;归档数据选择策略就是在设置归档任务时,对待归档数据进行选择,或先归档什么后归档什么的优先次序选择的设定。
步骤130是基于设置后的归档任务对待归档数据进行归档,形成归档数据的过程。其中的待归档数据包括在该客户端中处理的或形成的各种工作数据,以及客户端自身的各自系统数据或系统参数。
步骤140是将归档数据上传至服务器端的缓存存储器中的过程,该过程主要在于能使归档数据可经由服务器端迁移到与服务器端通信连接的光盘库中,或者说在为将归档数据从客户端迁移到光盘库中创造条件。
其中步骤140中归档数据上传过程中还形成有临时记录文件,所述临时记录文件用于记录有所述归档数据上传过程中形成的文件或文件块的标记信息。
本实施例通过调用服务器端提供的数据归档服务,完成待归档数据的归档和上传,并通过保存归档数据上传过程中形成的临时记录文件,使数据上传过程在中断后能够实现选择性续传。
一些实施例中,在步骤140将所述归档数据上传至所述服务器端的缓存存储器,包括:
步骤141:当所述归档数据上传过程中形成的文件需要分块上传时,每完成一个文件块的上传后,在所述临时记录文件中记录所述文件块的块信息,所述块信息包括uploadID信息和partNumber信息。
步骤141中的uploadID信息是指块信息的起始位置信息,用于标记块在整个文件中的起始位置;partNumber信息是指块的序号信息,用户标记块在整个文件中的顺序号。也就是说,通过partNumber信息和uploadID信息即可以确定一个文件块在整个文件中的位置和编号,也能在传输完成后,检验是否有文件块的遗漏。
步骤142:当所述归档数据上传过程中形成的文件不需要分块上传时,在一个文件上传完成后,在临时记录文件中记录所述文件的文件名信息。
步骤142中不需要分块上传的是指该文件本身的数量较小,可以在一个稳定的传输过程中完成整体上传。因为不需要分块,所以上传完毕后就只需要在临时记录文件中记录下该文件的文件名信息即可。
步骤143:遍历所述临时记录文件中的所述块信息和所述文件名信息,滤除与所述临时记录文件中记录的所述块信息和所述文件名信息对应的所述归档数据上传过程中形成的文件或文件块;
步骤143的过程是指出现上传中断后,要再次续传时,为了避免出来重复传输,所以先要通过检验临时记录文件将临时记录文件中记录的文件块或文件排除掉,而只上传临时记录文件中没有记录的文件块或文件。
步骤144:继续上传剩下的所述文件或文件块。
该实施例中进一步的对文件区分为分块传输的情形和不分块传输的情形,并在上传完成后在临时记录文件中记录下了文件和文件块的文件名信息和块信息,以作为对不同文件和文件块的不同的标记信息。然后进一步沟通该标记信息在上传中断后,对需要继续上传的归档数据进行过滤,以滤除与临时记录文件中记录标记信息对应的文件或文件块,并保证没有被上传的文件或文件块可以继续上传,一方面,提高了数据上传效率,另一方面,又保证了分块上传的文件和整个归档数据的整体完整性。
一些实施例中,所述归档数据中还包括执行本次所述归档任务时的所述客户端的系统信息文件,所述系统信息文件用于所述客户端的系统崩溃时,使所述客户端根据所述系统信息文件恢复到执行本次所述归档任务前的工作状态。
该实施例通过使归档数据进一步包括有执行本次归档任务时的所述客户端的系统信息文件,使客户端可以在系统崩溃,基于本次的归档任务形成的归档数据,恢复到执行本次所述归档任务前的工作状态。
图2是本申请实施例2的方法流程示意图。
实施例2
如图2所示,实施例2是在实施例1的基础上的进一步的过程,其与实施例1的区别在于,步骤140之后还包括:
步骤150:间隔预定时间后,基于所述归档任务对新的待归档数据进行归档,形成新的归档数据;
步骤160:将所述新的归档数据上传至所述服务器端的缓存存储器中;
步骤170:重复上述间隔预定时间后形成新的归档数据,到将所述新的归档数据上传至所述服务器端的缓存存储器中的步骤,直到上传完毕基于所述归档任务形成的全部归档数据;
步骤150-步骤170的过程是在间隔预定时间后对新的归档数据进行再次上传,然后,重复上述再次上传的过程,直到上传完毕基于所述归档任务形成的全部归档数据。
其中间隔预定时间可以是客户端根据归档任务中时间策略设定的一个周期性时间,比如,10分钟一个周期,每隔一个周期基于数据归档服务中的归档数据选择策略收集整理一次待归档数据。
本申请的第二方面提供了一种数据文件处理的方法,用于服务器端,包括:
响应客户端的调用,为所述客户端提供数据归档服务,使所述客户端根据所述数据归档服务启动归档任务,并使所述客户端基于所述数据归档服务中提供的执行策略设置其归档任务,所述执行策略包括时间策略、存放路径策略和归档数据选择策略;
通过缓存存储器接收所述客户端上传的归档数据;
当本次归档任务执行完毕后,将所述缓存存储器中的所述归档数据迁移到光盘库中;
其中,所述归档数据上传过程中还形成有临时记录文件,所述临时记录文件用于记录有所述归档数据上传过程中形成的文件或文件块信息。
图3是本申请实施例3的方法流程示意图。
实施例3
如图3所示,一种数据文件处理的方法,用于服务器端,包括:
步骤210:响应客户端的调用,为所述客户端提供数据归档服务,使所述客户端根据所述数据归档服务启动归档任务,并使所述客户端基于所述数据归档服务中提供的执行策略设置其归档任务,所述执行策略包括时间策略、存放路径策略和归档数据选择策略;
步骤220:通过缓存存储器接收所述客户端上传的归档数据;
步骤250:当本次归档任务执行完毕后,将所述缓存存储器中的所述归档数据迁移到光盘库中;
其中,通过缓存存储器接收所述客户端上传的归档数据的过程中还形成有临时记录文件,所述临时记录文件用于记录有所述归档数据上传过程中形成的文件或文件块的标记信息。
本实施例揭示的数据文件处理的方法以服务器端为执行主体,其中:
步骤210与实施例1中的步骤110的过程相对应,由服务器端响应客户端的调用,为所述客户端提供数据归档服务,使所述客户端根据所述数据归档服务启动归档任务,并使所述客户端基于所述数据归档服务中提供的执行策略设置其归档任务。
步骤220与实施例中的步骤140的过程相对应:由服务器端通过缓存存储器接收客户端上传的归档数据。
步骤250则是当本次归档任务执行完毕后,将所述缓存存储器中的所述归档数据迁移到光盘库中的过程。
图4是本申请实施例4的方法流程示意图。
实施例4
如图4所示,实施例4是在实施例3的基础上的进一步的过程,其与实施3的区别在于,步骤250之前,还包括;
步骤230:间隔预定时间后,通过所述缓存存储器再次接收所述客户端上传的新的归档数据;
步骤240:重复上述再次接收的步骤,直到接收完基于所述归档任务形成的全部归档数据。
步骤230-步骤240的过程是在待归档数据不能一次性归档完毕时,可以根据归档任务中设置的时间策略,对没有归档完的待归档数据按归档任务中设置的归档数据选择策略周期性地重复进行,比如,10分钟一个周期,每隔一个周期收集整理一次待归档数据,并形成新的归档数据。
一些实施例中,将所述缓存存储器中的所述归档数据迁移到光盘库中,包括:
根据所述存放路径策略确定刻录所述归档数据的所述光盘库中的光盘匣;
通过所述服务器端与所述光盘库之间的高速数据链路将所述归档数据传输并刻录至所述光盘匣中的光盘上,其中,所述高速数据链路包括基于SAS接口的线缆或基于FDDI接口的光缆,所述光盘库为基于RAID读写管理的蓝光光盘库。
一些实施例中,通过缓存存储器接收所述客户端上传的归档数据,包括:
步骤310:按照第一确定周期检测用于缓存待刻录数据的缓存存储器的剩余容量。
本实施例方法步骤的执行主体为服务器,缓存存储器是指该服务器中用于暂存归档数据或对象数据的存储器。由于缓存存储器是客户端与光盘库之间的一个用于暂存数据的中转存储器,所以经常存在客户端上传数据的速度大于服务器端将该数据刻录到光盘库中的速度,从而导致缓存存储器中存储空间被用尽后,由客户端新上传的数据就无处保存,从而导致部分数据在由客户端到光盘库进行保存过程中的漏存漏刻,或在对光盘库中保存的数据进行完整性校验后,又需要再次重复性之前的上传和记录工作。
基于上述原因,步骤310中就需要按照第一确定周期对缓存存储器的剩余容量进行检测。该第一周期是一个预设的检测周期,比如是30±10s,可选的为30s,亦即每隔30s对缓存存储器的剩余容量进行一次检测,以确定此时缓存存储器剩余容量占总容量的比值。
步骤320:当所述剩余容量大于所述缓存存储器的总容量的第一确定份额时,在剩余容量检测后的下一个第一确定周期内使传输到所述缓存存储器的数据传输速度按照实际线路速度进行,所述实际线路速度大于光盘刻录的刻录速度。
步骤320是确定剩余容量与缓存存储器的总容量的第一确定份额之间的大小,当剩余容量大于第一确定份额时,在检测后的下一个第一确定周期内使传输到所述缓存存储器的数据传输速度按照实际线路速度进行。亦即在剩余容量还有足够空间时,可以不用对客户端到服务器端的传输速度进行控制,而使该传输速度按实际路线能达到的速度上传即可。而且速度的执行时间也仅限于检测后的下一个第一确定周期内,比如,每隔30s检测一次剩余容量,则当检测结果是剩余容量大于第一确定份额时,则在一下个30s内,不对客户端到服务器端的传输速度进行控制,即让该传输速度按实际路线能达到的速度上传。
步骤330:当所述剩余容量小于等于所述缓存存储器的总容量的第一确定份额时,在剩余容量检测后的下一个第一确定周期内使所述数据传输速度按照光盘刻录的刻录速度进行。
步骤330是指在剩余容量小于等于缓存存储器的总容量的第一确定份额时,在剩余容量检测后的下一个第一确定周期内使所述数据传输速度按照光盘刻录的刻录速度进行。即在步骤120后的一个30s内检测到的剩余容量小于或等于第一确定份额时,则在该30s的下一个30s使所述数据传输速度按照光盘刻录的刻录速度进行。
本实施例通过周期性检测剩余存储容量,并依据该剩余存储容量调节数据传输速度,使数据上传过程的各个环节实现速度匹配,从而避免漏存漏刻或不必要的重复工作。
一些实施例中,当所述剩余容量小于等于所述缓存存储器的总容量的第一确定份额时,在剩余容量检测后的下一个第一确定周期内使所述数据传输速度按照光盘刻录的刻录速度进行,包括:
步骤331:按照第二确定周期检测光盘的当前刻录速度,所述第二确定周期的周期时长小于等于所述第一确定周期的周期时长;
步骤332:当所述剩余容量小于等于所述总容量的第一确定份额,且大于所述总容量的第二确定份额时,在剩余容量检测后的下一个第一确定周期内使所述数据传输速度按照光盘刻录的所述刻录速度的上限值进行;
步骤333:当所述剩余容量小于等于所述总容量的第二确定份额,且大于所述总容量的第三确定份额时,在剩余容量检测后的下一个第一确定周期内使所述数据传输速度按照剩余容量检测前的第一确定周期内检测的光盘刻录的当前刻录速度进行;
步骤334:当所述剩余容量小于等于所述总容量的第三确定份额,使所述数据传输速度按照所述刻录速度的下限值进行。
其中所述第一确定份额为所述缓存存储器的总容量的60±10%,可选的为60%;所述第二确定份额为所述缓存存储器的总容量的40±10%,可选的为的40%;所述第三确定份额为所述缓存存储器的总容量的20±10%,可选的为的20%。所述第一确定周期的周期时长为30±10s,可选的为30s,所述第二确定周期的周期时长为15±5s,可选的为15s。
本申请的第三方面提供了一种电子设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述第一或第二方面任一项所述的方法。
应当理解的是,本申请的上述具体实施方式仅仅用于示例性说明或解释本申请的原理,而不构成对本申请的限制。因此,在不偏离本申请的精神和范围的情况下所做的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。此外,本申请所附权利要求旨在涵盖落入所附权利要求范围和边界、或者这种范围和边界的等同形式内的全部变化和修改例。
- 具有数据通信系统的有价文件处理装置和用于在有价文件处理装置中分配传感器数据的方法
- 一种对数据文件的数据清洗方法和数据文件处理方法