本发明专利技术公开了一种光盘可读性修复方法,包括步骤:对光盘进行挂载,在挂载失败时,检查光盘中是否存在不完整的会话结构,其中包括:获取最后一个会话结构的位置信息,位置信息包括所述会话结构的起始地址、下一个可写地址;判断会话结构的起始地址与下一个可写地址是否相同,如果不同,则确定所述最后一个会话结构不完整;基于所述最后一个会话结构的位置信息,对光盘中的最后一个会话结构对应的区段数据进行擦除处理;以及重新挂载擦除处理后的光盘,以便读取光盘中的文件数据。本发明专利技术还一并公开了相应的计算设备。根据本发明专利技术的光盘可读性修复方法,在光盘刻录失败后依然能正常读取光盘中现存的完整的文件系统数据。光盘中现存的完整的文件系统数据。光盘中现存的完整的文件系统数据。
【技术实现步骤摘要】
一种光盘可读性修复方法及计算设备
[0001]本专利技术涉及光盘刻录
,特别涉及一种光盘可读性修复方法及计算设备。
技术介绍
[0002]光盘是曾经最常用的数据存储介质之一,至今仍然在数据存储领域中发挥着不可替代的作用。根据光盘是否具备可擦除、可持续记录的特性,可以分为ROM、RW、R类型后缀的几类光盘,ROM类型的光盘中的数据在出厂时被压制进去,对于用户已经不具备可记录特性;RW类型的光盘同时具备可持续读写特性和可擦除特性,是一种可重复使用的光盘;R类型的光盘只具备持续读写特性,在容量使用完之后不能进行擦除再写入。
[0003]根据现有的操作系统,存储介质中数据的组织和访问都需要通过文件系统,光盘介质中的文件系统包括ISO9660和UDF两种。区别于数据硬盘中的文件系统,每次将文件刻录到光盘中时,都会在光盘中创建一个叫做session(会话)的数据结构,在每个session中,都具备一个完整的光盘数据文件系统(ISO9660或者UDF)。每一次刻录的一系列文件,都存放在每一次刻录的session中,执行多次刻录,便会在光盘中创建相应的多个session。
[0004]计算机系统在识别存储介质中的数据文件时,首先会通过内核识别文件系统,这一过程必须保证文件系统的完整性,否则,内核将不能识别到正确的文件系统,也就不能将存储介质中的文件通过文件系统提供给用户层访问。基于此,当光盘因主机断电、外置光驱断电等外部因素而导致在刻录过程中断时,会导致写入到光盘中的文件系统或者说session不完整,这样,会造成计算机不能读取光盘中的文件的后果。如何及时在计算机上对刻录中断的光盘进行修复弥补,亟待解决。
[0005]目前,对于可擦除类型的光盘,市面上所使用的擦除功能均是对全盘进行擦除,全盘擦除将导致光盘中原有的完整的session同时被擦除,从而导致数据全部丢失。如果光盘中存在比较重要的文件,全盘擦除显然不是较好的解决方案。
[0006]基于此,需要一种针对可擦除类型光盘的可读性修复方法,以解决上述技术方案中存在的问题。
技术实现思路
[0007]为此,本专利技术提供一种光盘可读性修复方法,以力图解决或者至少缓解上面存在的问题。
[0008]根据本专利技术的一个方面,提供了一种光盘可读性修复方法,在计算设备的操作系统中执行,包括步骤:对光盘进行挂载,在挂载失败时,检查所述光盘中是否存在不完整的会话结构,其中包括:获取最后一个会话结构的位置信息,所述位置信息包括所述会话结构的起始地址、下一个可写地址;判断所述会话结构的起始地址与下一个可写地址是否相同,如果所述会话结构的起始地址与下一个可写地址不同,则确定所述最后一个会话结构不完整。基于所述最后一个会话结构的位置信息,对光盘中的最后一个会话结构对应的区段数据进行擦除处理;以及重新挂载擦除处理后的光盘,以便读取光盘中的文件数据。
[0009]可选地,在根据本专利技术的光盘可读性修复方法中,获取最后一个会话结构的位置信息的步骤包括:确定所述光盘中的会话结构的数量;根据所述会话结构的数量,获取最后一个会话结构的位置信息。
[0010]可选地,在根据本专利技术的光盘可读性修复方法中,如果所述会话结构的数量为1,则直接对光盘进行全盘擦除处理;如果所述会话结构的数量大于1,则根据所述会话结构的数量,获取最后一个会话结构的位置信息。
[0011]可选地,在根据本专利技术的光盘可读性修复方法中,对光盘中的最后一个会话结构对应的区段数据进行擦除处理的步骤包括:获取通过系统调用发送的BLANK指令以及相应的参数结构;基于所述参数结构对相应的区段数据进行擦除处理。
[0012]可选地,在根据本专利技术的光盘可读性修复方法中,在对光盘中的最后一个会话结构对应的区段数据进行擦除处理之前,还包括步骤:对光盘中位于最后一个会话结构之前的一个或多个会话结构进行摘要计算,得到第一摘要值,并存储所述第一摘要值;在对光盘中的最后一个会话结构对应的区段数据进行擦除处理之后,还包括步骤:对光盘中的一个或多个会话结构进行摘要计算,得到第二摘要值;将所述第二摘要值与所述第一摘要值进行比对,以便校验处理后的光盘中的一个或多个会话结构是否完整。
[0013]可选地,在根据本专利技术的光盘可读性修复方法中,所述摘要值是所述一个或多个会话结构的摘要值之和;存储所述第一摘要值包括:将第一摘要值存储在临时变量中。
[0014]可选地,在根据本专利技术的光盘可读性修复方法中,检查所述光盘中是否存在不完整的会话结构的步骤包括:基于光盘后缀确定所述光盘的类型;如果确定光盘的类型为可擦除光盘,则检查所述光盘中是否存在不完整的会话结构。
[0015]可选地,在根据本专利技术的光盘可读性修复方法中,在确定光盘的类型为可擦除光盘之后,还包括步骤:确定是否对所述光盘进行区段擦除处理,如果是,则检查光盘中是否存在不完整的会话结构。
[0016]可选地,在根据本专利技术的光盘可读性修复方法中,在对光盘进行挂载之前,包括步骤:在每次将一个或多个文件刻录到光盘时,分别在光盘中构建一个相应的会话结构,以便将每次刻录的一个或多个文件存放在相应的会话结构中,形成与所述会话结构相对应的文件系统。
[0017]可选地,在根据本专利技术的光盘可读性修复方法中,所述会话结构中包含相应的一个或多个前置会话结构的文件信息,所述前置会话结构的文件信息包括前置会话结构中的文件地址和文件名称。
[0018]根据本专利技术的一个方面,提供了一种计算设备,包括:至少一个处理器;以及存储器,存储有程序指令,其中,所述程序指令被配置为适于由所述至少一个处理器执行,所述程序指令包括用于执行如上所述的光盘可读性修复方法的指令。
[0019]根据本专利技术的一个方面,提供了一种存储有程序指令的可读存储介质,当所述程序指令被计算设备读取并执行时,使得所述计算设备执行如上所述方法。
[0020]根据本专利技术的技术方案,提供了一种光盘可读性修复方法,在光盘挂载失败时,通过检查光盘中的最后一个会话结构的完整性,来确定光盘中是否存在不完整的会话结构,当确定最后一个会话结构不完整时,只对光盘中的最后一个会话结构对应的区段数据进行擦除。基于区段擦除方案,仅将光盘中不完整的区段数据擦除,并保留了原有的完整的会话
结构中的数据。这样,擦除后的光盘中的每个会话结构中均包含完整的文件系统,从而能够成功挂载光盘,并可以继续向光盘写入新的文件。从而,根据本专利技术的光盘可读性修复方案,使计算设备始终能够读取光盘中现存的完整的文件系统数据,在光盘刻录失败后依然能正常读取光盘中现存的完整的文件系统数据。
附图说明
[0021]为了实现上述以及相关目的,本文结合下面的描述和附图来描述某些说明性方面,这些方面指示了可以实践本文所公开的原理的各种方式,并且所有方面及其等效方面旨在落入所要求保护的主题的范围内。通过结合附图阅读下面的详细描述,本公开的上述以及其它目的、特征和优势将变得更加明显。遍及本公开,相同的附图标记通常指代相同的部件或元素。
...
【技术保护点】
【技术特征摘要】
1.一种光盘可读性修复方法,在计算设备的操作系统中执行,包括步骤:对光盘进行挂载,在挂载失败时,检查所述光盘中是否存在不完整的会话结构,其中包括:获取最后一个会话结构的位置信息,所述位置信息包括所述会话结构的起始地址、下一个可写地址;判断所述会话结构的起始地址与下一个可写地址是否相同,如果所述会话结构的起始地址与下一个可写地址不同,则确定所述最后一个会话结构不完整;基于所述最后一个会话结构的位置信息,对光盘中的最后一个会话结构对应的区段数据进行擦除处理;以及重新挂载擦除处理后的光盘,以便读取光盘中的文件数据。2.如权利要求1所述的方法,其中,获取最后一个会话结构的位置信息的步骤包括:确定所述光盘中的会话结构的数量;根据所述会话结构的数量,获取最后一个会话结构的位置信息。3.如权利要求2所述的方法,其中,如果所述会话结构的数量为1,则直接对光盘进行全盘擦除处理;如果所述会话结构的数量大于1,则根据所述会话结构的数量,获取最后一个会话结构的位置信息。4.如权利要求1
‑
3中任一项所述的方法,其中,对光盘中的最后一个会话结构对应的区段数据进行擦除处理的步骤包括:获取通过系统调用发送的BLANK指令以及相应的参数结构;基于所述参数结构对相应的区段数据进行擦除处理。5.如权利要求1
‑
4中任一项所述的方法,其中,在对光盘中的最后一个会话结构对应的区段数据进行擦除处理之前,还包括步骤:对光盘中...
【专利技术属性】
技术研发人员:徐诗筒,张升,吕伍军,
申请(专利权)人:成都统信软件技术有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。