CN117951082A - 一种跨操作系统的文件迁移方法及装置 - Google Patents
一种跨操作系统的文件迁移方法及装置 Download PDFInfo
- Publication number
- CN117951082A CN117951082A CN202410023923.2A CN202410023923A CN117951082A CN 117951082 A CN117951082 A CN 117951082A CN 202410023923 A CN202410023923 A CN 202410023923A CN 117951082 A CN117951082 A CN 117951082A
- Authority
- CN
- China
- Prior art keywords
- file
- migrated
- files
- target system
- file name
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 230000005012 migration Effects 0.000 title claims abstract description 120
- 238000013508 migration Methods 0.000 title claims abstract description 120
- 238000000034 method Methods 0.000 title claims abstract description 83
- 230000006835 compression Effects 0.000 claims description 21
- 238000007906 compression Methods 0.000 claims description 21
- 238000004590 computer program Methods 0.000 claims description 19
- 238000012795 verification Methods 0.000 claims description 10
- 230000011218 segmentation Effects 0.000 claims description 5
- 230000008569 process Effects 0.000 description 12
- 230000006870 function Effects 0.000 description 11
- 238000010586 diagram Methods 0.000 description 8
- 238000004891 communication Methods 0.000 description 7
- 230000004048 modification Effects 0.000 description 5
- 238000012986 modification Methods 0.000 description 5
- 238000012545 processing Methods 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000000750 progressive effect Effects 0.000 description 2
- 101100226364 Arabidopsis thaliana EXT1 gene Proteins 0.000 description 1
- 108010001267 Protein Subunits Proteins 0.000 description 1
- 238000004140 cleaning Methods 0.000 description 1
- 230000006837 decompression Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012856 packing Methods 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供了一种跨操作系统的文件迁移方法及装置,对应跨操作系统的文件迁移方法包括:获取待迁移文件所在原系统的存放路径以及目标系统的存放路径;根据所述目标系统的存放路径对应的物理盘符确定所述目标系统的特征信息;根据所述目标系统的特征信息对所述待迁移文件进行迁移操作,所述迁移操作包括:将所述待迁移文件拷贝至所述目标系统的存放路径、修改所述待迁移文件的文件名及/或修改所述待迁移文件的容量。本发明通过选择待迁移文件所在的物理盘符或物理路径,并指定目标操作系统文件存放路径,以获取目标操作系统特征信息并完成文件迁移,实现高效、自动化、安全的文件迁移。
Description
技术领域
本申请属于计算机操作系统技术领域,可用于金融领域,具体涉及一种跨操作系统的文件迁移方法及装置。
背景技术
随着多种多样的操作系统的普及,大量对应的用户需要从x86架构的操作系统中将海量文件数据迁移(拷贝)至另一操作操作系统中使用。因两种操作系统底层逻辑策略存在较大的区别,对文件名内容、文件名及路径长度、单文件容量限制等策略各有不同,造成整盘或整体目录迁移过程中出现报错并终止拷贝。
发明内容
本发明可用于计算机操作系统技术在金融方面应用的技术领域,也可用于除金融领域之外的任意领域。
本发明的一个目的在于提供一种跨操作系统的文件迁移方法,该方法可以解决由一种操作系统向另外一种操作系统整体目录迁移过程中,因两种操作系统底层逻辑策略的区别以及文件名内容、文件名及路径长度、单文件容量限制等策略的不同,造成整盘或整体目录迁移过程中出现报错并终止拷贝的技术痛点。
本发明的另一个目的在于提供一种跨操作系统的文件迁移装置。本发明的还一个目的在于提供一种电子设备,该电子设备包括存储器和处理器,存储器存储有计算机程序,处理器执行计算机程序时实现上述跨操作系统的文件迁移方法的步骤。本发明的还一个目的在于提供一种可读介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述跨操作系统的文件迁移方法的步骤。
为解决本申请背景技术中的技术问题,本发明提供以下技术方案:
第一方面,本发明提供一种跨操作系统的文件迁移方法,包括:
获取待迁移文件所在原系统的存放路径以及目标系统的存放路径;
根据所述目标系统的存放路径对应的物理盘符确定所述目标系统的特征信息;
根据所述目标系统的特征信息对所述待迁移文件进行迁移操作,所述迁移操作包括:将所述待迁移文件拷贝至所述目标系统的存放路径、修改所述待迁移文件的文件名及/或修改所述待迁移文件的容量。
在本发明的一些实施例中,一种跨操作系统的文件迁移方法,还包括:
根据所述目标系统的特征信息确定所述目标系统的文件名编码方式;
根据所述文件名编码方式确定所述目标系统的文件名最大字符数量。
在本发明的一些实施例中,当所述待迁移文件的文件名最大字符数量大于所述目标系统的文件名最大字符数量时,所述修改所述待迁移文件的文件名,包括:
由末位向前位截取所述待迁移文件的文件名,以使得截取的待迁移文件的文件名的字符数量小于所述目标系统的文件名最大字符数量;
在所述截取的待迁移文件的相同的文件名中添加数字戳;其中,所述数字戳与所述截取的待迁移文件的文件名一一对应。
在本发明的一些实施例中,当所述待迁移文件的容量大于所述目标系统的文件容量最大值时,所述修改所述待迁移文件的容量,包括:
对所述待迁移文件进行分包压缩。
在本发明的一些实施例中,在根据所述目标系统的特征信息对所述待迁移文件进行迁移操作之前,还包括:
删除所述原系统的存放路径中重复的待迁移文件,以仅保留一个所述待迁移文件;
所述删除所述原系统的存放路径中重复的待迁移文件,包括:
对待迁移文件中文件名字符数量小于第一预设数值的文件名进行填充,以使所有待迁移文件的文件名字符数量为所述第一预设数值;
将所述所有待迁移文件的文件名分为大小为第二预设数据的多个数据块;
对于每个数据块依次进行依次操作的至少之一:循环左移、按位取反、按位与、按位或以及按位异或;
对操作完的多个数据块进行拼接,以确定所述待迁移文件在所述原系统的存放路径中的消息摘要;
根据所述消息摘要删除所述原系统的存放路径中重复的待迁移文件。
在本发明的一些实施例中,根据所述目标系统的特征信息对所述待迁移文件进行迁移操作之后,还包括:
验证对所述待迁移文件进行迁移前后的所述待迁移文件的数量;
根据所述分包压缩的压缩比验证所述待迁移文件进行迁移前后的所有待迁移文件的容量。
第二方面,本发明提供一种跨操作系统的文件迁移装置,包括:
存放路径获取模块,用于获取待迁移文件所在原系统的存放路径以及目标系统的存放路径;
特征信息确定模块,用于根据所述目标系统的存放路径对应的物理盘符确定所述目标系统的特征信息;
文件迁移模块,用于根据所述目标系统的特征信息对所述待迁移文件进行迁移操作,所述迁移操作包括:将所述待迁移文件拷贝至所述目标系统的存放路径、修改所述待迁移文件的文件名及/或修改所述待迁移文件的容量。
在本发明的一些实施例中,一种跨操作系统的文件迁移装置,还包括:
编码方式确定模块,用于根据所述目标系统的特征信息确定所述目标系统的文件名编码方式;
最大字符数确定模块,用于根据所述文件名编码方式确定所述目标系统的文件名最大字符数量。
在本发明的一些实施例中,当所述待迁移文件的文件名最大字符数量大于所述目标系统的文件名最大字符数量时,所述文件迁移模块包括:
文件名截取单元,用于由末位向前位截取所述待迁移文件的文件名,以使得截取的待迁移文件的文件名的字符数量小于所述目标系统的文件名最大字符数量;
数字戳添加单元,用于在所述截取的待迁移文件的相同的文件名中添加数字戳;其中,所述数字戳与所述截取的待迁移文件的文件名一一对应。
在本发明的一些实施例中,当所述待迁移文件的容量大于所述目标系统的文件容量最大值时,所述文件迁移模块还包括:
文件分包压缩单元,用于对所述待迁移文件进行分包压缩。
在本发明的一些实施例中,所述跨操作系统的文件迁移装置,还包括:
重复文件删除模块,用于删除所述原系统的存放路径中重复的待迁移文件,以仅保留一个所述待迁移文件;
所述重复文件删除模块包括:
文件名填充单元,用于对待迁移文件中文件名字符数量小于第一预设数值的文件名进行填充,以使所有待迁移文件的文件名字符数量为所述第一预设数值;
文件名切分单元,用于将所述所有待迁移文件的文件名分为大小为第二预设数据的多个数据块;
数据库操作单元,用于对于每个数据块依次进行依次操作的至少之一:循环左移、按位取反、按位与、按位或以及按位异或;
数据库拼接单元,用于对操作完的多个数据块进行拼接,以确定所述待迁移文件在所述原系统的存放路径中的消息摘要;
重复文件删除单元,用于根据所述消息摘要删除所述原系统的存放路径中重复的待迁移文件。
在本发明的一些实施例中,所述跨操作系统的文件迁移装置,还包括:
文件数量验证模块,用于验证对所述待迁移文件进行迁移前后的所述待迁移文件的数量;
文件容量验证模块,用于根据所述分包压缩的压缩比验证所述待迁移文件进行迁移前后的所有待迁移文件的容量。
第三方面,本发明提供一种计算机程序产品,包括计算机程序/指令,该计算机程序/指令被处理器执行时实现一种跨操作系统的文件迁移方法的步骤。
第四方面,本发明提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行程序时实现跨操作系统的文件迁移方法的步骤。
第五方面,本发明提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现跨操作系统的文件迁移方法的步骤。
从上述描述可知,本发明实施例提供一种跨操作系统的文件迁移方法及装置,对应的跨操作系统的文件迁移方法包括:首先获取待迁移文件所在原系统的存放路径以及目标系统的存放路径;接着,根据目标系统的存放路径对应的物理盘符确定目标系统的特征信息;最后根据目标系统的特征信息对待迁移文件进行迁移操作,迁移操作包括:将待迁移文件拷贝至目标系统的存放路径、修改待迁移文件的文件名及/或修改待迁移文件的容量。
对应的跨操作系统的文件迁移装置包括:存放路径获取模块,用于获取待迁移文件所在原系统的存放路径以及目标系统的存放路径;特征信息确定模块,用于根据目标系统的存放路径对应的物理盘符确定目标系统的特征信息;文件迁移模块,用于根据目标系统的特征信息对待迁移文件进行迁移操作,迁移操作包括:将待迁移文件拷贝至目标系统的存放路径、修改待迁移文件的文件名及/或修改待迁移文件的容量。
本发明通过选择待迁移文件所在的物理盘符或物理路径,并指定目标操作系统文件存放路径,以获取目标操作系统特征信息并完成文件迁移,实现高效、自动化、安全的文件迁移。同时,还提供了可选的文件瘦身功能,对待迁移文件进行文件校验,清理重复文件,减少迁移文件数据量,提高迁移效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明的实施例中一种跨操作系统的文件迁移方法的流程示意图一;
图2为本发明的实施例中一种跨操作系统的文件迁移方法的流程示意图二;
图3为本发明的实施例中一种跨操作系统的文件迁移方法的流程示意图三;
图4为本发明的实施例中一种跨操作系统的文件迁移方法的步骤300的流程示意图一;
图5为本发明的实施例中一种跨操作系统的文件迁移方法的步骤300的流程示意图二;
图6为本发明的实施例中一种跨操作系统的文件迁移方法的流程示意图四;
图7为本发明的实施例中一种跨操作系统的文件迁移方法的步骤800的流程示意图;
图8为本发明的实施例中一种跨操作系统的文件迁移方法的流程示意图五;
图9为本发明的具体实施方式中一种跨操作系统的文件迁移方法的流程图;
图10为本发明的实施例中跨操作装置的文件迁移装置的方块图一;
图11为本发明的实施例中跨操作装置的文件迁移装置的方块图二;
图12为本发明的实施例中校验跨操作装置的文件迁移模块30的方块图一;
图13为本发明的实施例中校验跨操作装置的文件迁移模块30的方块图二;
图14为本发明的实施例中跨操作装置的文件迁移装置的方块图三;
图15为本发明的实施例中校验跨操作装置的重复文件删除模块60的方块图;
图16为本发明的实施例中跨操作装置的文件迁移装置的方块图四;
图17为本发明的实施例中的电子设备的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整的描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
本申请技术方案中对数据的获取、存储、使用、处理等均符合法律法规的相关规定。
本发明的实施例提供一种跨操作系统的文件迁移方法的具体实施方式,参见图1,跨操作系统的文件迁移方法具体包括如下内容:
步骤100:获取待迁移文件所在原系统的存放路径以及目标系统的存放路径;
步骤200:根据所述目标系统的存放路径对应的物理盘符确定所述目标系统的特征信息;
步骤300:根据所述目标系统的特征信息对所述待迁移文件进行迁移操作,所述迁移操作包括:将所述待迁移文件拷贝至所述目标系统的存放路径、修改所述待迁移文件的文件名及/或修改所述待迁移文件的容量。
从上述描述可知,本发明实施例提供一种跨操作系统的文件迁移方法,包括:首先获取待迁移文件所在原系统的存放路径以及目标系统的存放路径;接着,根据目标系统的存放路径对应的物理盘符确定目标系统的特征信息;最后根据目标系统的特征信息对待迁移文件进行迁移操作,迁移操作包括:将待迁移文件拷贝至目标系统的存放路径、修改待迁移文件的文件名及/或修改待迁移文件的容量。
本发明通过选择待迁移文件所在的物理盘符或物理路径,并指定目标操作系统文件存放路径,以获取目标操作系统特征信息并完成文件迁移,实现高效、自动化、安全的文件迁移过程。同时,还提供了可选的文件瘦身功能,对待迁移文件进行文件校验,清理重复文件,减少迁移文件数据量,提高迁移效率。
针对步骤100,具体地,可以使用文件管理命令(如ls、dir)来查看待迁移文件的存放路径。
另外,在许多编程语言中,有提供获取文件路径的函数或方法。例如,在Python中,可以使用os.path模块的abspath函数来获取文件的绝对路径。在Java中,可以使用java.io.File类的getPath或getAbsolutePath方法来获取文件的路径信息。在Web开发中,可以使用相关的HTTP请求库(如Python的Requests、JavaScript的Fetch API)获取服务器上的文件路径。
需要指出的是,待迁移文件所在原系统的存放路径包括物理盘符或物理路径。物理盘符:在操作系统中,每个硬盘驱动器都被分配了一个唯一的盘符,如C:\、D:\等。物理盘符表示硬盘驱动器的标识符,用于表示计算机中的存储设备。物理路径:物理路径是指文件或文件夹在计算机硬盘上的实际存储位置。它是一个由目录名称和文件名组成的路径,用于精确定位文件在文件系统中的位置。在操作系统中,物理路径通常使用反斜杠(\)作为目录分隔符,例如C:\Users\Username\Documents\file.txt。
可以理解的是,不同的操作系统的文件的存放路径对应的物理盘符不同,故可以根据物理盘符确定对应的操作系统,进一步确定该操作系统的特征信息,具体地,该特征信息包括:
操作系统的正式名称,如A、B、C、D等。操作系统的具体版本号,通常包括主版本号和次版本号。例如,A 10、B OS Big Sur、C 20.04等。操作系统所基于的硬件架构类型,如x86、x64、ARM等。操作系统所使用的文件系统类型,如NTFS、FAT32、EXT4等。操作系统的用户界面类型,如图形用户界面(GUI)或命令行界面(CLI)。操作系统所支持的处理器架构类型,如x86、x64、ARM等。操作系统所使用的内核类型,如NT内核、Linux内核等。操作系统的开发商或公司。操作系统发布的日期或版本更新的日期。操作系统所支持的应用程序或应用商店。
对于步骤300,可以理解的是,除了将待迁移文件拷贝至所述目标系统的存放路径下之外,由于每个操作系统对于自己存储文件有着各自的要求,故可能还需要修改待迁移文件的文件名及/或修改待迁移文件的容量。
在本发明的一些实施例中,参见图2,一种跨操作系统的文件迁移方法,还包括:
步骤400:根据所述目标系统的特征信息确定所述目标系统的文件名编码方式;
具体地,步骤400的文件名编码方式包括:ASCII编码:ASCII(American StandardCode for Information Interchange),用于表示英文字母、数字和一些特殊字符。ASCII编码使用7位二进制数字来表示128个字符。
Unicode编码:是一个字符集。Unicode编码使用不同的编码方案,如UTF-8、UTF-16等,可以表示各种语言的字符。
URL编码:用于将URL中的特殊字符进行编码,以便在网络传输中进行安全和正确的传递。URL编码使用%加上两位十六进制数来表示特殊字符。
Base64编码:将二进制数据转换为可打印的ASCII字符,常用于在文本环境中传输或存储二进制数据。Base64编码使用64个可打印字符(A-Z、a-z、0-9和+/)来表示数据。
文件系统特定编码:某些文件系统对文件名的编码方式有特定要求或限制。例如,NTFS文件系统不允许使用特定的字符(如\/:*?"<>|),而Linux的文件系统对文件名的长度和字符集有一定限制。
步骤500:根据所述文件名编码方式确定所述目标系统的文件名最大字符数量。
在本发明的一些实施例中,参见图3,类似与目标系统的文件名,还可以对目标系统的存放路径的名称进行类似的操作,即一种跨操作系统的文件迁移方法,还包括:
步骤600:根据所述目标系统的特征信息确定所述目标系统的存放路径的编码方式;
步骤700:根据所述存放路径的编码方式确定所述目标系统的存放路径最大字符数量。
需要指出的是,对于存放路径的名称后续操作与文件名类似,这里不再累述。
在本发明的一些实施例中,参见图4,当所述待迁移文件的文件名最大字符数量大于所述目标系统的文件名最大字符数量时,步骤300中的修改所述待迁移文件的文件名,包括:
步骤301:由末位向前位截取所述待迁移文件的文件名,以使得截取的待迁移文件的文件名的字符数量小于所述目标系统的文件名最大字符数量;
步骤302:在所述截取的待迁移文件的相同的文件名中添加数字戳;其中,所述数字戳与所述截取的待迁移文件的文件名一一对应。
例如,对文件名截取前10个字符串之后,存在多个相同文件名(相同字符串)的待迁移文件名,则依次在多个相同文件名后面依次加1、2、3…,并确保加完数字戳之后的待迁移文件名不相同。
在本发明的一些实施例中,参见图5,当所述待迁移文件的容量大于所述目标系统的文件容量最大值时,所述修改所述待迁移文件的容量,包括:
步骤303:对所述待迁移文件进行分包压缩。
具体地,根据文件大小和需要分成的包数,设置每个分包的大小。接着,以二进制方式读取原始文件内容到内存或缓冲区中。按照设置的分包大小,将文件内容切片成多个分片。如果最后一个分片大小小于分包大小,可以补齐。使用压缩算法如ZIP或RAR等对每个分片单独进行压缩。为每个压缩后的分片生成一个压缩包文件。文件名可以添加序号等信息标识包序。记录原始文件信息和每个分包的MD5校验信息、位置等元数据,生成索引文件。最后,将所有压缩包文件和索引文件打包成一个可分发的文件。当需要解压缩时,根据索引信息,依次解压缩每个分包文件,并还原成原始文件。
在本发明的一些实施例中,参见图6,在一种跨操作系统的文件迁移方法中的步骤300之前,还包括:
步骤800:删除所述原系统的存放路径中重复的待迁移文件,以仅保留一个所述待迁移文件;
接着,参见图7,步骤800包括:
步骤801:对待迁移文件中文件名字符数量小于第一预设数值的文件名进行填充,以使所有待迁移文件的文件名字符数量为所述第一预设数值;
对待迁移文件中文件名字符数量进行填充,使其长度满足一定的要求,优选地的,第一预设数值为64的倍数。
步骤802:将所述所有待迁移文件的文件名分为大小为第二预设数据的多个数据块;
首先设置初始状态,一般是一个长度为128位的固定值。将填充后的数据分割成64字节的数据块,每个数据块进行一系列的操作。
步骤803:对于每个数据块依次进行依次操作的至少之一:循环左移、按位取反、按位与、按位或以及按位异或;
循环左移(Circular Left Shift):将一个二进制数向左循环移动指定的位数。移出左侧的位将会重新出现在右侧。例如,对于二进制数1100,循环左移2位后变为0011。
按位取反(Bitwise NOT):将一个二进制数的每个位取反(0变为1,1变为0)。例如,对于二进制数1010,按位取反后变为0101。
按位与(Bitwise AND):对两个二进制数的每个对应位进行逻辑与运算。只有当两个位都为1时,结果位才为1。例如,对于二进制数1010和1100,按位与运算后得到1000。
按位或(Bitwise OR):对两个二进制数的每个对应位进行逻辑或运算。只要至少一个位为1,结果位就为1。例如,对于二进制数1010和1100,按位或运算后得到1110。
按位异或(Bitwise XOR):对两个二进制数的每个对应位进行逻辑异或运算。当两个位不同时,结果位为1;当两个位相同时,结果位为0。例如,对于二进制数1010和1100,按位异或运算后得到0110。
步骤804:对操作完的多个数据块进行拼接,以确定所述待迁移文件在所述原系统的存放路径中的消息摘要;
将最后一个数据块处理完毕后得到的结果拼接在一起,得到最终的128位消息摘要。
步骤805:根据所述消息摘要删除所述原系统的存放路径中重复的待迁移文件。
可以理解的是,通过步骤801至步骤805,可以实现对待迁移文件进行瘦身,以及对待迁移文件进行文件校验,自动清理重复文件,减少待迁移文件数据量。
在本发明的一些实施例中,参见图8,在一种跨操作系统的文件迁移方法中的步骤300之后,还包括:
步骤900:验证对所述待迁移文件进行迁移前后的所述待迁移文件的数量;
步骤1000:根据所述分包压缩的压缩比验证所述待迁移文件进行迁移前后的所有待迁移文件的容量。
通过本发明用户可以方便地选择待迁移文件并指定目标操作系统文件存放路径,以获取目标操作系统特征信息,进行“数据瘦身”、合法性判断和超大文件自动分包压缩,并自动验证迁移结果。同时,会生成详细的日志文件,方便用户追踪和分析文件迁移过程中的操作和结果。这将大大提高文件迁移的效率和准确性,减少人工操作和错误。
为了进一步说明本申请所欲保护的方案,本发明还以Windows操作系统至Linux操作系统例,提供一种跨操作系统的文件迁移方法的具体应用实例,参见图9,该方法包括以下步骤:
S1:获取目标操作系统特征信息。
具体地,选择待迁移文件所在原系统的物理盘符或物理路径,及目标操作系统文件存放路径,以获取目标操作系统特征信息。
S2:对用户指定位置进行遍历搜索。
对用户指定的待迁移文件所在原系统的物理盘符或物理路径进行秒级快速遍历搜索,具体地,扫描计算机中的文件和文件夹,建立一个索引数据库。这个索引数据库包含了文件和文件夹的名称、路径和其他相关信息。当用户输入搜索关键词时,对关键词进行处理,包括分词、大小写处理和其他预处理操作。分词是将搜索关键词分割成独立的词项,以便对每个词项进行搜索。并使用前缀树数据结构,来存储和匹配词项。它会在索引数据库中查找与搜索关键词匹配的词项,并得到一组候选结果。接着,根据匹配程度和其他相关性指标,对搜索结果进行排序。它通常会将与搜索关键词更相关的结果排在前面,以提供更准确的搜索结果。最后,将排序后的搜索结果呈现给用户。优选地,显示文件名、路径、大小和其他相关信息,以帮助用户准确找到所需的内容。
S3:获取目标系统所支持的文件命名限制、文件名及路径名长度限制、单文件容量限制、文件存储位置等策略信息。
S4:判断待迁移文件在目标系统中是否合法。
根据不合法文件的特征,消除文件不合法特征、超大文件自动分包压缩等动作,并将处理结果记录到日志文件:
(1)文件命名限制:查询目标操作系统中文件名不能包含的特殊字符数量与windows系统限制策略进行对比,将文件名中包含的限制字符删除。将该文件名及路径名记录到日志文件中,该记录包含目标系统名称、原文件名及路径名、字符数量以及修改后的文件名及路径名、字符数量、修改时间。
(2)文件名及路径长度限制:获取文件名及路径名的编码方式,查找文件名及路径名长度大于目标操作系统限制字符数量的文件。对文件名进行修改,从文件名末位向前进行截取,文件名末尾保留唯一的数字戳。将该文件名及路径名记录到日志文件中,该记录包含目标系统名称、原文件名及路径名、字符数量以及修改后的文件名及路径名、字符数量、修改时间。
(3)单文件容量限制:查询目标操作系统迁移文件存放位置的文件系统,查找单文件容量超过限制的文件,对其进行分包压缩。
(4)文件存储位置容量对比:如迁移文件总容量大于目标系统文件存储位置容量时,向用户发出提示。
S5:对迁移结果进行文件数量及容量验证。
S6:生成日志文件以及迁移报表(用于显示迁移数据统计信息),并存放于指定位置。
从上述描述可知,本发明所具体应用实例提供的一种跨操作系统的文件迁移方法,适用于Windows系统,且可以拥有GUI界面,可以扫描指定硬盘分区下的所有文件,查找路径及文件名长度大于等于255字符的文件,生成日志文件,记录文件存放路径、文件名字符数量,并支持修改路径和文件名。
综上所述,伴随着多种操作系统的普及,大量用户将某一操作系统迁移至另一种操作系统,正是基于此,本申请提出了一种跨操作系统的文件迁移方法,该方法解决了两种操作系统整体目录迁移过程中,因这两种操作系统底层逻辑策略的区别、文件名内容、文件名及路径长度、单文件容量限制等策略的不同,造成整盘或整体目录迁移过程中出现报错并终止拷贝的问题。本发明解决了跨系统文件迁移过程中的痛点,应用前景非常广阔。
基于同一发明构思,本申请实施例还提供了一种跨操作系统的文件迁移装置,可以用于实现上述实施例所描述的方法,如下面的实施例。由于跨操作系统的文件迁移装置解决问题的原理与跨操作系统的文件迁移方法相似,因此跨操作系统的文件迁移装置的实施可以参见跨操作系统的文件迁移方法实施,重复之处不再赘述。以下所使用的,术语“单元”或者“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的系统较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
本发明的实施例提供一种能够实现跨操作系统的文件迁移方法的跨操作系统的文件迁移装置的具体实施方式,跨操作系统的文件迁移装置包括:跨操作系统的文件迁移装置以及跨操作系统的文件迁移装置,其中,参见图10,一种跨操作系统的文件迁移装置包括:
存放路径获取模块10,用于获取待迁移文件所在原系统的存放路径以及目标系统的存放路径;
特征信息确定模块20,用于根据所述目标系统的存放路径对应的物理盘符确定所述目标系统的特征信息;
文件迁移模块30,用于根据所述目标系统的特征信息对所述待迁移文件进行迁移操作,所述迁移操作包括:将所述待迁移文件拷贝至所述目标系统的存放路径、修改所述待迁移文件的文件名及/或修改所述待迁移文件的容量。
在本发明的一些实施例中,参见图11,一种跨操作系统的文件迁移装置,还包括:
编码方式确定模块40,用于根据所述目标系统的特征信息确定所述目标系统的文件名编码方式;
最大字符数确定模块50,用于根据所述文件名编码方式确定所述目标系统的文件名最大字符数量。
在本发明的一些实施例中,参见图12,当所述待迁移文件的文件名最大字符数量大于所述目标系统的文件名最大字符数量时,所述文件迁移模块30包括:
文件名截取单元30a,用于由末位向前位截取所述待迁移文件的文件名,以使得截取的待迁移文件的文件名的字符数量小于所述目标系统的文件名最大字符数量;
数字戳添加单元30b,用于在所述截取的待迁移文件的相同的文件名中添加数字戳;其中,所述数字戳与所述截取的待迁移文件的文件名一一对应。
在本发明的一些实施例中,参见图13,当所述待迁移文件的容量大于所述目标系统的文件容量最大值时,所述文件迁移模块30还包括:
文件分包压缩单元30c,用于对所述待迁移文件进行分包压缩。
在本发明的一些实施例中,参见图14,所述跨操作系统的文件迁移装置,还包括:
重复文件删除模块60,用于删除所述原系统的存放路径中重复的待迁移文件,以仅保留一个所述待迁移文件;
参见图15,所述重复文件删除模块60包括:
文件名填充单元60a,用于对待迁移文件中文件名字符数量小于第一预设数值的文件名进行填充,以使所有待迁移文件的文件名字符数量为所述第一预设数值;
文件名切分单元60b,用于将所述所有待迁移文件的文件名分为大小为第二预设数据的多个数据块;
数据库操作单元60c,用于对于每个数据块依次进行依次操作的至少之一:循环左移、按位取反、按位与、按位或以及按位异或;
数据库拼接单元60d,用于对操作完的多个数据块进行拼接,以确定所述待迁移文件在所述原系统的存放路径中的消息摘要;
重复文件删除单元60e,用于根据所述消息摘要删除所述原系统的存放路径中重复的待迁移文件。
在本发明的一些实施例中,参见图16,所述跨操作系统的文件迁移装置,还包括:
文件数量验证模块60,用于验证对所述待迁移文件进行迁移前后的所述待迁移文件的数量;
文件容量验证模块70,用于根据所述分包压缩的压缩比验证所述待迁移文件进行迁移前后的所有待迁移文件的容量。
从上述描述可知,本发明实施例提供一种跨操作系统的文件迁移装置,包括:存放路径获取模块,用于获取待迁移文件所在原系统的存放路径以及目标系统的存放路径;特征信息确定模块,用于根据目标系统的存放路径对应的物理盘符确定目标系统的特征信息;文件迁移模块,用于根据目标系统的特征信息对待迁移文件进行迁移操作,迁移操作包括:将待迁移文件拷贝至目标系统的存放路径、修改待迁移文件的文件名及/或修改待迁移文件的容量。
本发明通过选择待迁移文件所在的物理盘符或物理路径,并指定目标操作系统文件存放路径,以获取目标操作系统特征信息并完成文件迁移,实现高效、自动化、安全的文件迁移过程。同时,还提供了可选的文件瘦身功能,对待迁移文件进行文件校验,清理重复文件,减少迁移文件数据量,提高迁移效率。
本申请的实施例还提供能够实现上述实施例中的跨操作系统的文件迁移方法中全部步骤的一种电子设备的具体实施方式,参见图17,电子设备具体包括如下内容:
处理器(processor)1201、存储器(memory)1202、通信接口(CommunicationsInterface)1203和总线1204;
其中,处理器1201、存储器1202、通信接口1203通过总线1204完成相互间的通信;通信接口1203用于实现服务器端设备以及客户端设备等相关设备之间的信息传输;
处理器1201用于调用存储器1202中的计算机程序,处理器执行计算机程序时实现上述实施例中的跨操作系统的文件迁移方法中的全部步骤,例如,处理器执行计算机程序时实现下述步骤:
步骤100:获取待迁移文件所在原系统的存放路径以及目标系统的存放路径;
步骤200:根据所述目标系统的存放路径对应的物理盘符确定所述目标系统的特征信息;
步骤300:根据所述目标系统的特征信息对所述待迁移文件进行迁移操作,所述迁移操作包括:将所述待迁移文件拷贝至所述目标系统的存放路径、修改所述待迁移文件的文件名及/或修改所述待迁移文件的容量。
本申请的实施例还提供能够实现上述实施例中的跨操作系统的文件迁移方法中全部步骤的一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述实施例中的跨操作系统的文件迁移方法的全部步骤,例如,处理器执行计算机程序时实现下述步骤:
步骤100:获取待迁移文件所在原系统的存放路径以及目标系统的存放路径;
步骤200:根据所述目标系统的存放路径对应的物理盘符确定所述目标系统的特征信息;
步骤300:根据所述目标系统的特征信息对所述待迁移文件进行迁移操作,所述迁移操作包括:将所述待迁移文件拷贝至所述目标系统的存放路径、修改所述待迁移文件的文件名及/或修改所述待迁移文件的容量。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于硬件+程序类实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
虽然本申请提供了如实施例或流程图的方法操作步骤,但基于常规或者无创造性的劳动可以包括更多或者更少的操作步骤。实施例中列举的步骤顺序仅仅为众多步骤执行顺序中的一种方式,不代表唯一的执行顺序。在实际中的装置或客户端产品执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行(例如并行处理器或者多线程处理的环境)。
为了描述的方便,描述以上装置时以功能分为各种模块分别描述。当然,在实施本说明书实施例时可以把各模块的功能在同一个或多个软件和/或硬件中实现,也可以将实现同一功能的模块由多个子模块或子单元的组合实现等。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内部包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本说明书实施例的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
以上所述仅为本说明书实施例的实施例而已,并不用于限制本说明书实施例。对于本领域技术人员来说,本说明书实施例可以有各种更改和变化。凡在本说明书实施例的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本说明书实施例的权利要求范围之内。
Claims (15)
1.一种跨操作系统的文件迁移方法,其特征在于,包括:
获取待迁移文件所在原系统的存放路径以及目标系统的存放路径;
根据所述目标系统的存放路径对应的物理盘符确定所述目标系统的特征信息;
根据所述目标系统的特征信息对所述待迁移文件进行迁移操作,所述迁移操作包括:将所述待迁移文件拷贝至所述目标系统的存放路径、修改所述待迁移文件的文件名及/或修改所述待迁移文件的容量。
2.根据权利要求1所述的跨操作系统的文件迁移方法,其特征在于,还包括:
根据所述目标系统的特征信息确定所述目标系统的文件名编码方式;
根据所述文件名编码方式确定所述目标系统的文件名最大字符数量。
3.根据权利要求2所述的跨操作系统的文件迁移方法,其特征在于,当所述待迁移文件的文件名最大字符数量大于所述目标系统的文件名最大字符数量时,所述修改所述待迁移文件的文件名,包括:
由末位向前位截取所述待迁移文件的文件名,以使得截取的待迁移文件的文件名的字符数量小于所述目标系统的文件名最大字符数量;
在所述截取的待迁移文件的相同的文件名中添加数字戳;其中,所述数字戳与所述截取的待迁移文件的文件名一一对应。
4.根据权利要求1至3任一项所述的跨操作系统的文件迁移方法,其特征在于,当所述待迁移文件的容量大于所述目标系统的文件容量最大值时,所述修改所述待迁移文件的容量,包括:
对所述待迁移文件进行分包压缩。
5.根据权利要求1所述的跨操作系统的文件迁移方法,其特征在于,在根据所述目标系统的特征信息对所述待迁移文件进行迁移操作之前,还包括:
删除所述原系统的存放路径中重复的待迁移文件,以仅保留一个所述待迁移文件;
所述删除所述原系统的存放路径中重复的待迁移文件,包括:
对待迁移文件中文件名字符数量小于第一预设数值的文件名进行填充,以使所有待迁移文件的文件名字符数量为所述第一预设数值;
将所述所有待迁移文件的文件名分为大小为第二预设数据的多个数据块;
对于每个数据块依次进行依次操作的至少之一:循环左移、按位取反、按位与、按位或以及按位异或;
对操作完的多个数据块进行拼接,以确定所述待迁移文件在所述原系统的存放路径中的消息摘要;
根据所述消息摘要删除所述原系统的存放路径中重复的待迁移文件。
6.根据权利要求4所述的跨操作系统的文件迁移方法,其特征在于,根据所述目标系统的特征信息对所述待迁移文件进行迁移操作之后,还包括:
验证对所述待迁移文件进行迁移前后的所述待迁移文件的数量;
根据所述分包压缩的压缩比验证所述待迁移文件进行迁移前后的所有待迁移文件的容量。
7.一种跨操作系统的文件迁移装置,其特征在于,包括:
存放路径获取模块,用于获取待迁移文件所在原系统的存放路径以及目标系统的存放路径;
特征信息确定模块,用于根据所述目标系统的存放路径对应的物理盘符确定所述目标系统的特征信息;
文件迁移模块,用于根据所述目标系统的特征信息对所述待迁移文件进行迁移操作,所述迁移操作包括:将所述待迁移文件拷贝至所述目标系统的存放路径、修改所述待迁移文件的文件名及/或修改所述待迁移文件的容量。
8.根据权利要求7所述的跨操作系统的文件迁移装置,其特征在于,还包括:
编码方式确定模块,用于根据所述目标系统的特征信息确定所述目标系统的文件名编码方式;
最大字符数确定模块,用于根据所述文件名编码方式确定所述目标系统的文件名最大字符数量。
9.根据权利要求8所述的跨操作系统的文件迁移装置,其特征在于,当所述待迁移文件的文件名最大字符数量大于所述目标系统的文件名最大字符数量时,所述文件迁移模块包括:
文件名截取单元,用于由末位向前位截取所述待迁移文件的文件名,以使得截取的待迁移文件的文件名的字符数量小于所述目标系统的文件名最大字符数量;
数字戳添加单元,用于在所述截取的待迁移文件的相同的文件名中添加数字戳;其中,所述数字戳与所述截取的待迁移文件的文件名一一对应。
10.根据权利要求7至9任一项所述的跨操作系统的文件迁移装置,其特征在于,当所述待迁移文件的容量大于所述目标系统的文件容量最大值时,所述文件迁移模块还包括:
文件分包压缩单元,用于对所述待迁移文件进行分包压缩。
11.根据权利要求7所述的跨操作系统的文件迁移装置,其特征在于,所述跨操作系统的文件迁移装置,还包括:
重复文件删除模块,用于删除所述原系统的存放路径中重复的待迁移文件,以仅保留一个所述待迁移文件;
所述重复文件删除模块包括:
文件名填充单元,用于对待迁移文件中文件名字符数量小于第一预设数值的文件名进行填充,以使所有待迁移文件的文件名字符数量为所述第一预设数值;
文件名切分单元,用于将所述所有待迁移文件的文件名分为大小为第二预设数据的多个数据块;
数据库操作单元,用于对于每个数据块依次进行依次操作的至少之一:循环左移、按位取反、按位与、按位或以及按位异或;
数据库拼接单元,用于对操作完的多个数据块进行拼接,以确定所述待迁移文件在所述原系统的存放路径中的消息摘要;
重复文件删除单元,用于根据所述消息摘要删除所述原系统的存放路径中重复的待迁移文件。
12.根据权利要求10所述的跨操作系统的文件迁移装置,其特征在于,所述跨操作系统的文件迁移装置,还包括:
文件数量验证模块,用于验证对所述待迁移文件进行迁移前后的所述待迁移文件的数量;
文件容量验证模块,用于根据所述分包压缩的压缩比验证所述待迁移文件进行迁移前后的所有待迁移文件的容量。
13.一种计算机程序产品,包括计算机程序/指令,其特征在于,该计算机程序/指令被处理器执行时实现权利要求1至6任一项所述的跨操作系统的文件迁移方法的步骤。
14.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现权利要求1至6任一项所述的跨操作系统的文件迁移方法的步骤。
15.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1至6任一项所述的跨操作系统的文件迁移方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410023923.2A CN117951082A (zh) | 2024-01-05 | 2024-01-05 | 一种跨操作系统的文件迁移方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410023923.2A CN117951082A (zh) | 2024-01-05 | 2024-01-05 | 一种跨操作系统的文件迁移方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117951082A true CN117951082A (zh) | 2024-04-30 |
Family
ID=90795675
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410023923.2A Pending CN117951082A (zh) | 2024-01-05 | 2024-01-05 | 一种跨操作系统的文件迁移方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117951082A (zh) |
-
2024
- 2024-01-05 CN CN202410023923.2A patent/CN117951082A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Tridgell | Efficient algorithms for sorting and synchronization | |
US8892531B2 (en) | Scalable file management for a shared file system | |
Adler et al. | A stochastic process on the hypercube with applications to peer-to-peer networks | |
US7478113B1 (en) | Boundaries | |
US5990810A (en) | Method for partitioning a block of data into subblocks and for storing and communcating such subblocks | |
US20170038978A1 (en) | Delta Compression Engine for Similarity Based Data Deduplication | |
US7739288B2 (en) | Systems and methods of directory entry encodings | |
US7539685B2 (en) | Index key normalization | |
US6470345B1 (en) | Replacement of substrings in file/directory pathnames with numeric tokens | |
CN106021256A (zh) | 使用基于云的对象存储的消除重复分布式文件系统 | |
US20230342403A1 (en) | Method and system for document similarity analysis | |
US20050210054A1 (en) | Information management system | |
US20130212136A1 (en) | File list generation method, system, and program, and file list generation device | |
EP2631805A1 (en) | Storage-service-provision device, system, service-provision method, and service-provision program | |
US11281623B2 (en) | Method, device and computer program product for data migration | |
Zhai et al. | Hadoop perfect file: A fast and memory-efficient metadata access archive file to face small files problem in hdfs | |
Changtong | An improved HDFS for small file | |
Zhou et al. | Efficient sequential access pattern mining for web recommendations | |
US20200250232A1 (en) | Partial file system instances | |
WO2010041028A1 (en) | Dictionary-based data compression and subsequent data transmission in a server / client architecture | |
Li et al. | Accurate Counting Bloom Filters for Large‐Scale Data Processing | |
Mathew et al. | Efficient information retrieval using Lucene, LIndex and HIndex in Hadoop | |
CN117951082A (zh) | 一种跨操作系统的文件迁移方法及装置 | |
ABUSAIMEH et al. | HYBRID DATA DEDUPLICATION TECHNIQUE IN CLOUD COMPUTING FOR CLOUD STORAGE. | |
US20230138113A1 (en) | System for retrieval of large datasets in cloud environments |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |