一种光盘数据修复方法、光盘数据检查方法及计算设备技术

技术编号:32831638 阅读:12 留言:0更新日期:2022-03-26 20:45
本发明专利技术公开了一种光盘数据修复方法、光盘数据检查方法及计算设备。光盘数据修复方法包括步骤:获取光盘最后一个会话中所写入的第一数据;获取最近一次刻录的完整数据包作为第二数据;从第二数据的起始位置开始,读取长度为第一数据长度的数据作为第三数据;将第一数据与第三数据进行比对;若比对结果一致,则将第一数据的结束位置作为修复起始位置;将第二数据中从修复起始位置开始的数据写入到光盘中。本发明专利技术的技术方案保障了光盘数据的完整性。本发明专利技术的技术方案保障了光盘数据的完整性。本发明专利技术的技术方案保障了光盘数据的完整性。

【技术实现步骤摘要】
一种光盘数据修复方法、光盘数据检查方法及计算设备


[0001]本专利技术涉及光盘刻录
,特别涉及一种光盘数据修复方法、光盘数据检查方法、计算设备及可读存储介质。

技术介绍

[0002]目前,许多有保密要求的企业仍然在使用光盘作为数据存储的介质,ISO9660及UDF文件系统为通用的光盘格式,在当今的操作系统中均有良好的支持,因此凭借优良的兼容性,使用ISO9660或者是UDF文件系统的光盘,可以在几乎所有的计算机操作系统中被读取加载。而且,DVD+R/DVD

R/CD

R类型的光盘凭借其不可擦除的特性,在数据写入后就保持恒定,在数据备份领域有很好的使用场景。
[0003]在光盘刻录时,当意外情况发生(例如刻录主机断电、外置光驱断电等)导致光盘刻录失败的时候,数据仅刻录了一部分,没有完整的文件系统,会导致光盘在系统中不可被识别,以致系统中不能正常挂载光盘,造成光盘数据不可读取,数据丢失,进而导致用户备份数据的目的无法完成。若要提取出光盘中的数据,需要复杂的技术手段才能实现,如果盘内数据比较敏感,交由第三方来修复光盘无疑造成了数据泄漏的安全风险,对于企业及个人而言存在重大风险;而对于拿到光盘的普通用户,由于光盘不能正常挂载,文件列表显示为空白,很容易让人误认为是空盘,进而往其中追加刻录,光盘仍完全无法识别。
[0004]目前,对于不可擦除类型的光盘,市面上所使用光盘刻录软件基于Brasero和K3B进行修改发布,功能均基于原有应用的基础功能,Brasero和K3B分别基于xorriso/mkisofs&cdrecord开源库实现光盘刻录的流程,数据可以刻录到光盘,但如果发生刻录失败的情况,没有后续的数据恢复流程。
[0005]基于此,需要一种光盘数据检查方法和针对不可擦除类型光盘刻录失败后的数据修复方法,以解决上述技术方案中存在的问题。

技术实现思路

[0006]为此,本专利技术提供一种光盘数据修复方法,以力图解决或者至少缓解上面存在的问题。
[0007]根据本专利技术的一个方面,提供了一种光盘数据修复方法,在计算设备中执行,该方法包括步骤:获取光盘最后一个会话中所写入的第一数据;获取最近一次刻录的完整数据包作为第二数据;从第二数据的起始位置开始,读取长度为第一数据长度的数据作为第三数据;将第一数据与第三数据进行比对;若比对结果一致,则将第一数据的结束位置作为修复起始位置;将第二数据中从修复起始位置开始的数据写入到光盘中。
[0008]可选地,在根据本专利技术的光盘数据修复方法中,将第一数据与第三数据进行比对的步骤,包括:将第一数据拆分为第一预定大小的至少一个第一数据块,并获取每个第一数据块对应的第一特征码;按照第一预定大小将第三数据拆分为至少一个第二数据块,并获取每个第二数据块对应的第二特征码;将第一特征码与第二特征码进行比对。
[0009]可选地,在根据本专利技术的光盘数据修复方法中,将第一特征码与第二特征码进行比对的步骤,包括:将每个第一数据块对应的第一特征码和与该第一数据块所在位置相同的第二数据块对应的第二特征码进行比对。
[0010]可选地,在根据本专利技术的光盘数据修复方法中,在将第一特征码与第二特征码进行比对的步骤之后,还包括:若比对结果不一致,则对光盘不进行数据修复处理。
[0011]可选地,在根据本专利技术的光盘数据修复方法中,在将第二数据中从修复起始位置开始的数据写入到光盘中的步骤之后,还包括:将第二数据写入到光盘所对应的会话进行封闭。
[0012]根据本专利技术的另一个方面,提供了一种光盘数据检查方法,在计算设备中执行,该方法包括步骤:获取最后一个会话结构的位置信息,位置信息包括会话结构的起始地址、下一个可写地址;判断会话结构的起始地址与下一个可写地址是否相同,如果会话结构的起始地址与下一个可写地址不同,则确定最后一个会话结构不完整;执行上述光盘数据修复方法。
[0013]可选地,在根据本专利技术的光盘数据检查方法中,将第二数据中从修复起始位置开始的数据写入到光盘中的步骤,包括:从修复起始位置开始,每次读取第二数据中第二预定大小的数据到缓存中;通过系统调用,将缓存中的数据传入第一光驱指令;通过第一光驱指令,从光盘的下一个可写地址开始,将缓存中的数据写入到光盘中。
[0014]可选地,在根据本专利技术的光盘数据检查方法中,其中,第一预定大小为4096字节,第二预定大小为32个数据块,数据块的大小为2048字节。
[0015]根据本专利技术的另一个方面,提供了一种计算设备,包括:至少一个处理器;以及存储器,存储有程序指令,其中,所述程序指令被配置为适于由所述至少一个处理器执行,所述程序指令包括用于执行如上所述方法的指令。
[0016]根据本专利技术的还有一个方面,提供了一种存储有程序指令的可读存储介质,当所述程序指令被计算设备读取并执行时,使得所述计算设备执行如上所述的方法。
[0017]通过本专利技术提供的一种光盘数据修复方法,一旦光盘刻录失败,用户可以立即在本机中,以刻录前的完整数据包,将光盘内容补充完整,达到光盘可以被系统挂载识别的目的。不仅能在短时间内解决光盘内容不可读取的问题,提升了光盘数据修复的效率,避免了用户认为数据丢失、光盘不可用而造成数据丢失,而且,还杜绝了在第三方提取修复光盘内数据时,可能造成的数据泄漏的风险,提升了数据安全性,也保障了数据完整性。
[0018]并且,本专利技术通过使用原先刻录使用的完整数据包,校验光盘上不完整数据与完整包数据的一致性,对损坏的光盘进行数据补全,保护数据完整性,提高了数据修复的成功率,通过增加校验,避免了盲目修复可能导致光盘数据污染的风险。
[0019]另外,根据本专利技术提供的一种光盘数据检查方法,通过获取光盘最后一个会话结构的位置信息,可以确定最后一个会话结构是否完整,便可得知光盘是否需要进行数据的修复。
附图说明
[0020]为了实现上述以及相关目的,本文结合下面的描述和附图来描述某些说明性方面,这些方面指示了可以实践本文所公开的原理的各种方式,并且所有方面及其等效方面
旨在落入所要求保护的主题的范围内。通过结合附图阅读下面的详细描述,本公开的上述以及其它目的、特征和优势将变得更加明显。遍及本公开,相同的附图标记通常指代相同的部件或元素。
[0021]图1示出了根据本专利技术一个实施例的计算设备100的示意图;
[0022]图2示出了根据本专利技术一个实施例的光盘中的数据存储结构示意图;以及
[0023]图3示出了根据本专利技术一个实施例的光盘数据修复方法300的流程图。
具体实施方式
[0024]下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
[0025]针对现有技本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种光盘数据修复方法,在计算设备中执行,所述方法包括步骤:获取光盘最后一个会话中所写入的第一数据;获取最近一次刻录的完整数据包作为第二数据;从所述第二数据的起始位置开始,读取长度为第一数据长度的数据作为第三数据;将第一数据与第三数据进行比对;若比对结果一致,则将第一数据的结束位置作为修复起始位置;将第二数据中从所述修复起始位置开始的数据写入到所述光盘中。2.根据权利要求1所述的方法,所述将第一数据与第三数据进行比对的步骤,包括:将所述第一数据拆分为第一预定大小的至少一个第一数据块,并获取每个第一数据块对应的第一特征码;按照第一预定大小将所述第三数据拆分为至少一个第二数据块,并获取每个第二数据块对应的第二特征码;将第一特征码与第二特征码进行比对。3.根据权利要求2所述的方法,其中,所述将第一特征码与第二特征码进行比对的步骤,包括:将每个第一数据块对应的第一特征码和与该第一数据块所在位置相同的第二数据块对应的第二特征码进行比对。4.根据权利要求1至3中任一项所述的方法,其中,在所述将第一特征码与第二特征码进行比对的步骤之后,还包括:若比对结果不一致,则对所述光盘不进行数据修复处理。5.根据权利要求1至4中任一项所述的方法,在所述将第二数据中从所述修复起始位置开始的数据写入到所述光盘中的步骤之后,还包括:将第二数据写入到光盘...

【专利技术属性】
技术研发人员:徐诗筒张升吕伍军
申请(专利权)人:统信软件技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1