CN113741817A - 自动校验方法及装置、光盘刻录方法及装置与计算设备 - Google Patents
自动校验方法及装置、光盘刻录方法及装置与计算设备 Download PDFInfo
- Publication number
- CN113741817A CN113741817A CN202111031696.0A CN202111031696A CN113741817A CN 113741817 A CN113741817 A CN 113741817A CN 202111031696 A CN202111031696 A CN 202111031696A CN 113741817 A CN113741817 A CN 113741817A
- Authority
- CN
- China
- Prior art keywords
- recording
- optical disc
- version
- iso9660
- file system
- 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
- 230000003287 optical effect Effects 0.000 title claims abstract description 284
- 238000012795 verification Methods 0.000 title claims abstract description 94
- 238000000034 method Methods 0.000 title claims abstract description 93
- 238000012545 processing Methods 0.000 claims description 60
- 238000003860 storage Methods 0.000 claims description 11
- 230000004044 response Effects 0.000 abstract description 3
- 230000006870 function Effects 0.000 description 16
- 238000004891 communication Methods 0.000 description 15
- 230000002159 abnormal effect Effects 0.000 description 14
- 238000005516 engineering process Methods 0.000 description 10
- 230000008569 process Effects 0.000 description 10
- 238000010586 diagram Methods 0.000 description 9
- 230000009191 jumping Effects 0.000 description 4
- 230000005856 abnormality Effects 0.000 description 3
- 238000005111 flow chemistry technique Methods 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 230000002093 peripheral effect Effects 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 241001025261 Neoraja caerulea Species 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 210000004556 brain Anatomy 0.000 description 1
- 239000013078 crystal Substances 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 238000007667 floating Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012827 research and development Methods 0.000 description 1
- 230000002194 synthesizing effect Effects 0.000 description 1
- 230000007723 transport mechanism Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/0643—Management of files
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/065—Replication mechanisms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0674—Disk device
- G06F3/0677—Optical disk device, e.g. CD-ROM, DVD
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Quality & Reliability (AREA)
- Optical Recording Or Reproduction (AREA)
Abstract
本发明公开了一种自动校验方法及装置、光盘刻录方法及装置与计算设备。上述自动校验方法包括步骤:响应于用户的刻录请求,在操作系统同时支持ISO9660追加刻录与UDF追加刻录的情况下,获取操作系统版本,并获取光盘记录的最后一次刻录对应的光盘文件系统及其版本或扩展协议,以基于光盘文件系统及其版本或扩展协议确定支持的对应刻录方式并标记,生成刻录校验结果。光盘刻录方法包含上述自动校验方法的步骤,并根据刻录校验结果进行刻录操作。本发明一并公开了相应的计算设备和装置。
Description
技术领域
本发明涉及光盘刻录技术领域,尤其是一种自动校验方法及装置、光盘刻录方法及装置与计算设备。
背景技术
光盘的数据存储需要有一个文件系统,常用的光盘文件系统有ISO 9660(参见https://zh.wikipedia.org/wiki/ISO_9660)和统一光盘格式(UDF,Universal DiscFormat)文件系统(参见https://en.wikipedia.org/wiki/Universal_Disk_Format)。
作为光盘文件系统的元老,ISO9660文件系统最初由High Sierra文件系统的标准派生出来,已有三十多年的历史,是目前使用最广泛的光盘文件系统,也是各Linux衍生发行版使用的技术。ISO9660文件系统的优点是几乎受到所有操作系统的支持,具有极其优秀的兼容性。
作为另一标准,UDF采用标准的封装写入技术(PW,Packet Writing)将可擦写光盘当作硬盘来使,用户可以在光盘上修改和删除文件。
在光盘互相刻录的相关功能方面,各主流操作系统的情况如下(参见https://blog.csdn.net/crystal0011/article/details/9464387):Windows是当下最主流的桌面操作系统,支持UDF系列文件系统光盘刻录,支持ISO9660文件系统光盘刻录,在信创行业中使用比较广泛,尤其是Windows的UDF CD/DVD刻录方式,简单实用。但是Windows在ISO9660文件系统支持较弱,不支持ISO9660标准文件系统、ISO9660+RockRidge扩展协议光盘刻录,使用此文件系统及扩展协议的光盘在Windows上再次追加刻录会出现中文名乱码,文件后缀名;1_1的问题,造成应用程序无法打开光盘文件,文件不可读等质量事故问题。此外,苹果个人电脑的桌面操作系统MacOS主要用于苹果系列硬件的桌面操作系统,相对Windows来说应用面较窄。在光盘刻录方面,MacOS主要适配UDF 1.5版本,只支持UDF单次刻录,不兼容ISO9660文件系统及扩展协议刻录,更不能与Windows、Linux及国产操作系统进行互相追加刻录。国产操作系统主要是基于Linux衍生而来,Linux对标准ISO9660文件系统支持较好,常用代表工具主要有K3b、brasero等刻录工具。由于Linux大多支持ISO 9660文件系统光盘刻录,很少兼容UDF文件系统光盘刻录,因此对于ISO 9660与UDF混合刻录更无法兼容、识别了。因此在Linux交叉刻录Windows已刻录光盘,会造成文件系统紊乱,光盘文件系统损坏,光盘数据不可见、不可读等质量事故问题。
综上,上述现有的光盘刻录技术均不能针对用户插入的光盘进行自动刻录校验,容易导致文件系统紊乱、损坏以及数据乱码、损坏等问题。
发明内容
为此,本发明提供了一种自动校验方法及装置、光盘刻录方法及装置与计算设备,以力图解决或者至少缓解上面存在的至少一个问题。
根据本发明的一个方面,提供了一种用于光盘刻录前的自动校验方法,包括步骤:响应于用户的刻录请求,在操作系统同时支持ISO9660追加刻录与UDF追加刻录的情况下,获取操作系统版本,并获取光盘记录的最后一次刻录对应的光盘文件系统及其版本或扩展协议;若当前光盘空间小于缓冲区待刻录文件大小,判定光盘空间不足并标记;若光盘空间充足且为空白光盘,根据操作系统版本,确定支持的对应刻录方式并标记;若光盘空间充足且不为空白光盘,则根据所述光盘文件系统的扩展协议以及操作系统版本,判断是否支持对应的光盘文件系统刻录方式并标记;以及基于所标记的至少部分数据,生成刻录校验结果。
可选地,在根据本发明的自动校验方法中,若光盘空间充足且最后一次刻录对应的光盘文件系统为ISO9660,根据光盘文件系统的扩展协议以及操作系统版本,确定支持的对应ISO9660刻录方式并标记,而当扩展协议非Joliet、RockRidge或空时,判定为不支持ISO9660刻录并标记;若光盘空间充足且最后一次刻录对应的光盘文件系统为UDF,根据光盘文件系统版本以及操作系统版本,确定支持的对应UDF刻录方式并标记,而当光盘文件系统版本非1.02、2.01或2.5时,判定为不支持UDF刻录并标记;
可选地,在根据本发明的自动校验方法中,当光盘为空白光盘时根据操作系统版本确定支持的对应刻录方式并标记的步骤包括:若操作系统版本不低于UOS 1030版本,判定并标记为支持ISO9660标准文件系统刻录、ISO9660+RockRidge扩展协议刻录及ISO9660+Joliet扩展协议刻录。
可选地,在根据本发明的自动校验方法中,当光盘为空白光盘时根据操作系统版本确定支持的对应刻录方式并标记的步骤包括:若操作系统版本不低于UOS 1040版本,判定并标记为支持UDF精通格式(UDF Mastered Format)刻录,以表示支持Windows CD/DVD光盘刻录模式。
可选地,在根据本发明的自动校验方法中,根据光盘文件系统的扩展协议以及操作系统版本确定支持的对应ISO9660刻录方式并标记的步骤包括:若光盘文件系统的扩展协议为Joliet,且操作系统版本不低于UOS 1030,判定为支持ISO9660+Joliet扩展协议刻录并标记;若光盘文件系统的扩展协议为RockRidge,且操作系统版本不低于UOS 1030,判定为支持ISO9660+RockRidge扩展协议刻录并标记;以及若光盘文件系统的扩展协议为空,判定为支持标准ISO9660刻录并标记。
可选地,在根据本发明的自动校验方法中,根据光盘文件系统版本以及操作系统版本确定支持的对应UDF刻录方式并标记的步骤包括:若光盘文件系统版本为1.02,且操作系统版本不低于UOS 1040,标记为udf 1.02版本刻录,以表示支持Windows CD/DVD模式追加刻录;若光盘文件系统版本为2.01,且操作系统版本不低于UOS 1040,标记为udf 2.01版本刻录,以表示支持Windows光盘U盘模式追加刻录;若光盘文件系统版本为2.5,且操作系统版本不低于UOS 1040,标记为udf 2.5版本刻录,以表示支持蓝光光盘刻录。
可选地,在根据本发明的自动校验方法中,生成刻录校验结果的步骤包括:当光盘空间不足、不支持ISO9660刻录或不支持UDF刻录时,刻录校验结果为第一预设值,以表示刻录异常,输出导致禁止刻录发生的刻录错误信息;以及当判定支持ISO9660刻录或UDF刻录时,刻录校验结果第二预设值,以表示支持ISO9660刻录或UDF刻录,其中,第二预设值与第一预设值不同。
可选地,根据本发明的自动校验方法还包括步骤:将生成的刻录校验结果通过UI展示给用户,根据标记的数据设置默认的刻录选项,以供用户使用;其中,当光盘为空白光盘时,默认提供ISO9660+Joliet扩展协议刻录,支持ISO9660以及UDF已标记刻录选项;当确定支持ISO9660刻录时,默认提供已标记的对应刻录选项,隐藏UDF刻录选项;当确定支持UDF刻录时,默认提供已标记的对应刻录选项,隐藏ISO9660刻录选项。
可选地,在根据本发明的自动校验方法中,若获取的光盘文件系统为空,且获取的文件系统版本或扩展协议为空,判定当前光盘为空白光盘。
根据本发明的另一方面,提供了一种光盘刻录方法,包括如上的用于光盘刻录前的自动校验方法,光盘刻录方法还包括:当判定光盘空间不足、判定不支持ISO9660刻录或判定不支持UDF刻录时,禁止刻录,并提示用户刻录失败;当光盘为空白光盘时,根据默认刻录选项或用户在预定范围中的选择来进行刻录,当前默认刻录选项为ISO9660+Joliet扩展协议方式,预定范围包括ISO9660以及UDF已标记刻录方式;以及当确定支持ISO9660刻录或UDF刻录时,根据默认刻录选项进行刻录,当前默认刻录选项为已标记的刻录方式。
根据本发明的另一方面,还提供了一种用于光盘刻录前的自动校验装置,包括:信息获取单元,适于响应于用户的刻录请求,在操作系统同时支持ISO9660追加刻录与UDF追加刻录的情况下,获取操作系统版本,并获取光盘记录的最后一次刻录对应的光盘文件系统及其版本或扩展协议;空间判定单元,适于判定光盘空间是否充足,并当判定光盘空间不足时进行相应标记;第一处理单元,适于当光盘空间充足且为空白光盘时,根据操作系统版本,确定支持的对应刻录方式并标记;第二处理单元,适于当光盘空间充足且不为空白光盘时,根据所述光盘文件系统的扩展协议以及操作系统版本,判断是否支持对应的光盘文件系统刻录方式并标记;以及校验结果生成单元,适于基于所标记的至少部分数据,生成刻录校验结果。
可选地,在根据本发明的自动校验装置中,第二处理单元包括:ISO9660处理单元,适于当光盘空间充足且最后一次刻录对应的光盘文件系统为ISO9660时,根据光盘文件系统的扩展协议以及操作系统版本,确定支持的对应ISO9660刻录方式并标记,而当扩展协议非Joliet、RockRidge或空时,判定为不支持ISO9660刻录并标记;UDF处理单元,适于当光盘空间充足且最后一次刻录对应的光盘文件系统为UDF时,根据光盘文件系统版本以及操作系统版本,确定支持的对应UDF刻录方式并标记,而当光盘文件系统版本非1.02、2.01或2.5时,判定为不支持UDF刻录并标记。
可选地,在根据本发明的自动校验装置中,第一处理单元适于执行如下处理:若操作系统版本不低于UOS 1030版本,判定并标记为支持ISO9660标准文件系统刻录、ISO9660+RockRidge扩展协议刻录及ISO9660+Joliet扩展协议刻录;以及若操作系统版本不低于UOS1040版本,判定并标记为支持UDF精通格式刻录,以表示支持Windows CD/DVD光盘刻录模式。
可选地,在根据本发明的自动校验装置中,ISO9660处理单元适于执行如下处理:若光盘文件系统的扩展协议为Joliet,且操作系统版本不低于UOS1030,判定为支持ISO9660+Joliet扩展协议刻录并标记;若光盘文件系统的扩展协议为RockRidge,且操作系统版本不低于UOS 1030,判定为支持ISO9660+RockRidge扩展协议刻录并标记;以及若光盘文件系统的扩展协议为空,判定为支持标准ISO9660刻录并标记。
可选地,在根据本发明的自动校验装置中,UDF处理单元适于执行如下处理:若光盘文件系统版本为1.02,且操作系统版本不低于UOS 1040,标记为udf 1.02版本刻录,以表示支持Windows CD/DVD模式追加刻录;若光盘文件系统版本为2.01,且操作系统版本不低于UOS 1040,标记为udf 2.01版本刻录,以表示支持Windows光盘U盘模式追加刻录;若光盘文件系统版本为2.5,且操作系统版本不低于UOS 1040,标记为udf 2.5版本刻录,以表示支持蓝光光盘刻录。
可选地,在根据本发明的自动校验装置中,校验结果生成单元适于执行如下处理:当光盘空间不足、不支持ISO9660刻录或不支持UDF刻录时,刻录校验结果为第一预设值,以表示刻录异常,输出导致禁止刻录发生的刻录错误信息;以及当判定支持ISO9660刻录或UDF刻录时,刻录校验结果第二预设值,以表示支持ISO9660刻录或UDF刻录,其中,第二预设值与第一预设值不同。
可选地,根据本发明的自动校验装置还包括:输出单元,适于将生成的刻录校验结果通过UI展示给用户,根据标记的数据设置默认的刻录选项,以供用户使用;其中,当光盘为空白光盘时,默认提供ISO9660+Joliet扩展协议刻录,支持ISO9660以及UDF已标记刻录选项;当确定支持ISO9660刻录时,默认提供已标记的对应刻录选项,隐藏UDF刻录选项;当确定支持UDF刻录时,默认提供已标记的对应刻录选项,隐藏ISO9660刻录选项。
可选地,在根据本发明的自动校验装置中,第一处理单元适于执行如下处理:若获取的光盘文件系统为空,且获取的文件系统版本或扩展协议为空,判定当前光盘为空白光盘。
根据本发明的又一方面,还提供了一种光盘刻录装置,包括如上的用于光盘刻录前的自动校验装置,还包括刻录处理单元,刻录处理单元适于执行如下处理:当判定光盘空间不足、判定不支持ISO9660刻录或判定不支持UDF刻录时,禁止刻录,并提示用户刻录失败;当光盘为空白光盘时,根据默认刻录选项或用户在预定范围中的选择来进行刻录,当前默认刻录选项为ISO9660+Joliet扩展协议方式,预定范围包括ISO9660以及UDF已标记刻录方式;以及当确定支持ISO9660刻录或UDF刻录时,根据默认刻录选项进行刻录,当前默认刻录选项为已标记的刻录方式。
根据本发明的另一方面,还提供了一种计算设备,包括:至少一个处理器和存储有程序指令的存储器;当程序指令被处理器读取并执行时,使得计算设备执行如上的自动校验方法或光盘刻录方法。
根据本发明的再一方面,还提供了一种存储有程序指令的可读存储介质,当程序指令被计算设备读取并执行时,使得计算设备执行如上的自动校验方法或光盘刻录方法。
根据本发明的自动校验方法及装置、光盘刻录方法及装置与计算设备,能够实现以下有益效果中的至少一种:支持识别已刻录光盘UDF文件系统及UDF文件系统版本,并能够支持识别已刻录光盘ISO9660文件系统及扩展子系统(即:ISO9660标准文件系统、ISO9660+RockRidge扩展协议、ISO9660+Joliet扩展协议);能够对已刻录光盘追加刻录文件系统自动标记,标记UDF追加刻录业务,标记ISO9660文件系统追加刻录业务,禁止已知业务外的非法刻录,避免文件系统混合刻录,导致文件系统损坏造成光盘不可读的问题;对于空白光盘,可以支持其多种文件系统选择刻录,即可选择UDF文件系统、ISO9660文件系统及扩展协议进行光盘刻录。
目前,国内信创行业中数据交互基本通过光盘刻录进行,光盘文件相关损坏行为则会严重影响数据的交互,从而导致质量事故。通过根据本发明实施例的上述技术方案则可以提供刻录预设追加条件,标记预设条件,异常处理预案,有效解决因磁盘不足,文件系统不支持导致的光盘文件系统损坏造成光盘文件不可读的问题。
附图说明
为了实现上述以及相关目的,本文结合下面的描述和附图来描述某些说明性方面,这些方面指示了可以实践本文所公开的原理的各种方式,并且所有方面及其等效方面旨在落入所要求保护的主题的范围内。通过结合附图阅读下面的详细描述,本公开的上述以及其它目的、特征和优势将变得更加明显。遍及本公开,相同的附图标记通常指代相同的部件或元素。
图1示出了根据本发明一个实施例的计算设备100的示意图;
图2示出了根据本发明一个实施例的用于光盘刻录前的自动校验方法200的流程图;
图3示出了根据本发明一个实施例的用于光盘刻录前的自动校验装置300的结构示意图;
图4示出了根据本发明一个实施例的光盘刻录装置400的结构示意图;
图5示出了Brasero刻录工具界面的示意图;
图6示出了根据本发明一个实施例的应用场景的示意图;
图7示出了根据本发明一个优选实施例的自动校验方法的流程图;
图8示出了图7中的空白光盘业务的子流程的流程图;
图9示出了图7中的ISO9660业务的子流程的流程图;以及
图10示出了图7中的UDF业务的子流程的流程图。
具体实施方式
针对现有光盘刻录技术不能针对用户插入的光盘进行自动刻录校验而容易导致文件系统紊乱、损坏以及数据乱码、损坏等的问题,本发明提供了一种用于光盘刻录前的自动校验方法,能够对用户插入的光盘进行自动刻录校验,使得后续刻录不易发生乱码、损坏等问题。
本发明的用于光盘刻录前的自动校验方法在计算设备中执行。计算设备可以是任意具有存储和计算能力的设备,其例如可以实现为服务器、工作站等,也可以实现为桌面计算机、笔记本计算机等个人配置的计算机,或者实现为手机、平板电脑、智能可穿戴设备、物联网设备等终端设备,但不限于此。
图1示出了根据本发明一个实施例的计算设备100的示意图。需要说明的是,图1所示的计算设备100仅为一个示例,在实践中,用于实施本发明的自动校验方法的计算设备可以是任意型号的设备,其硬件配置情况可以与图1所示的计算设备100相同,也可以与图1所示的计算设备100不同。实践中用于实施本发明的自动校验方法的计算设备可以对图1所示的计算设备100的硬件组件进行增加或删减,本发明对计算设备的具体硬件配置情况不做限制。
如图1所示,在基本的配置102中,计算设备100典型地包括系统存储器106和一个或者多个处理器104。存储器总线108可以用于在处理器104和系统存储器106之间的通信。
取决于期望的配置,处理器104可以是任何类型的处理,包括但不限于:微处理器(μP)、微控制器(μC)、数字信息处理器(DSP)或者它们的任何组合。处理器104可以包括诸如一级高速缓存110和二级高速缓存112之类的一个或者多个级别的高速缓存、处理器核心114和寄存器116。示例的处理器核心114可以包括运算逻辑单元(ALU)、浮点数单元(FPU)、数字信号处理核心(DSP核心)或者它们的任何组合。示例的存储器控制器118可以与处理器104一起使用,或者在一些实现中,存储器控制器118可以是处理器104的一个内部部分。
取决于期望的配置,系统存储器106可以是任意类型的存储器,包括但不限于:易失性存储器(诸如RAM)、非易失性存储器(诸如ROM、闪存等)或者它们的任何组合。计算设备中的物理内存通常指的是易失性存储器RAM,磁盘中的数据需要加载至物理内存中才能够被处理器104读取。系统存储器106可以包括操作系统120、一个或者多个应用122以及程序数据124。在一些实施方式中,应用122可以布置为在操作系统上由一个或多个处理器104利用程序数据124执行指令。操作系统120例如可以是Linux、Windows等,其包括用于处理基本系统服务以及执行依赖于硬件的任务的程序指令。应用122包括用于实现各种用户期望的功能的程序指令,应用122例如可以是浏览器、即时通讯软件、软件开发工具(例如集成开发环境IDE、编译器等)等,但不限于此。当应用122被安装到计算设备100中时,可以向操作系统120添加驱动模块。
在计算设备100启动运行时,处理器104会从存储器106中读取操作系统120的程序指令并执行。应用122运行在操作系统120之上,利用操作系统120以及底层硬件提供的接口来实现各种用户期望的功能。当用户启动应用122时,应用122会加载至存储器106中,处理器104从存储器106中读取并执行应用122的程序指令。
计算设备100还包括储存设备132,储存设备132包括可移除储存器136和不可移除储存器138,可移除储存器136和不可移除储存器138均与储存接口总线134连接。
计算设备100还可以包括有助于从各种接口设备(例如,输出设备142、外设接口144和通信设备146)到基本配置102经由总线/接口控制器130的通信的接口总线140。示例的输出设备142包括图形处理单元148和音频处理单元150。它们可以被配置为有助于经由一个或者多个A/V端口152与诸如显示器或者扬声器之类的各种外部设备进行通信。示例外设接口144可以包括串行接口控制器154和并行接口控制器156,它们可以被配置为有助于经由一个或者多个I/O端口158和诸如输入设备(例如,键盘、鼠标、笔、语音输入设备、触摸输入设备)或者其他外设(例如打印机、扫描仪等)之类的外部设备进行通信。示例的通信设备146可以包括网络控制器160,其可以被布置为便于经由一个或者多个通信端口164与一个或者多个其他计算设备162通过网络通信链路的通信。
网络通信链路可以是通信介质的一个示例。通信介质通常可以体现为在诸如载波或者其他传输机制之类的调制数据信号中的计算机可读指令、数据结构、程序模块,并且可以包括任何信息递送介质。“调制数据信号”可以这样的信号,它的数据集中的一个或者多个或者它的改变可以在信号中编码信息的方式进行。作为非限制性的示例,通信介质可以包括诸如有线网络或者专线网络之类的有线介质,以及诸如声音、射频(RF)、微波、红外(IR)或者其它无线介质在内的各种无线介质。这里使用的术语计算机可读介质可以包括存储介质和通信介质二者。
在根据本发明的计算设备100中,应用122包括用于执行本发明的用于光盘刻录前的自动校验方法200的指令,该指令可以指示处理器104执行本发明的自动校验方法200,以通过自动刻录检验而避免文件系统的紊乱、数据损坏和乱码等。
根据本发明实施例的一种用于光盘刻录前的自动校验方法200包括步骤:响应于用户的刻录请求,在操作系统同时支持ISO9660追加刻录与UDF追加刻录的情况下,获取操作系统版本,并获取光盘记录的最后一次刻录对应的光盘文件系统及其版本或扩展协议;若当前光盘空间小于第一处理单元缓冲区待刻录文件大小,判定光盘空间不足并标记;若光盘空间充足且为空白光盘,根据操作系统版本,确定支持的对应刻录方式并标记;若光盘空间充足且不为空白光盘,则根据第一处理单元光盘文件系统的扩展协议以及操作系统版本,判断是否支持对应的光盘文件系统刻录方式并标记;以及基于所标记的至少部分数据,生成刻录校验结果。
图2示出了根据本发明一个实施例的用于光盘刻录前的自动校验方法200的流程图。方法200在计算设备(例如前述计算设备100)中执行,用于在光盘刻录前自动完成刻录校验,以避免文件系统紊乱、损坏以及数据乱码、损坏等。如图2所示,方法200始于步骤S210。
根据本发明的实施例,操作系统能够同时支持ISO9660追加刻录技术与UDF追加刻录技术。例如,操作系统可以是统信操作系统(一种国内研发的Linux发行版),诸如UOS(Uniontech Operating System)1020、UOS 1030以及UOS 1040等。
在步骤S210中,响应于用户的刻录请求,获取操作系统版本,并获取光盘记录的最后一次刻录对应的光盘文件系统及其版本或扩展协议。
例如,操作系统版本例如分为UOS 1020、UOS 1030以及UOS 1040等版本。
若获取到的光盘记录的最后一次刻录对应的光盘文件系统为ISO9660系统文件,则进一步判定其为ISO9660标准文件系统、ISO9660+RockRidge扩展协议或ISO9660+Joliet扩展协议中的哪一种。
若获取到的光盘记录的最后一次刻录对应的光盘文件系统为UDF文件系统,则进一步判定其为UDF 1.02、UDF 2.01或UDF 2.5中的哪个版本。
在步骤S220中,通过比较当前光盘空间大小M1与缓冲区待刻录文件大小M2,来判断光盘空间是否充足:若M1大于或等于M2,则判定光盘空间是充足的;而若M1小于M2,则判定光盘空间不足。
当判定光盘空间不足时,执行步骤S230。在步骤S230中,进行标记,然后执行步骤S270(或者也可以结束处理)。例如,可以标记为空间不足和/或刻录异常等,此时是禁止后续刻录的。
而当判定光盘空间充足时,执行步骤S240。
在步骤S240中,判定光盘是否为空白光盘:若是,则执行步骤S250;否则,执行步骤S260。
例如,可以通过如下方式来判断光盘是否为空白光盘:若获取的光盘文件系统为空,且获取的文件系统版本或扩展协议为空,判定当前光盘为空白光盘。
在步骤S250中,当前光盘空间充足且为空白光盘,可以根据操作系统版本来确定支持的对应刻录方式并标记。然后,执行步骤S270。
根据一种实现方式,若当前的操作系统版本不低于UOS 1030版本(即>=1030),则判定支持ISO9660标准文件系统、ISO9660+RockRidge扩展协议以及ISO9660+Joliet扩展协议这三种方式刻录,同时标记。
根据另一种实现方式,若当前的操作系统版本不低于UOS 1040版本(即>=1040),则判定并标记为支持UDF精通格式(UDF Mastered Format)刻录,以表示支持Windows CD/DVD光盘刻录模式。
此外,需要说明的是,当操作系统版本>=UOS 1040版本时,其既满足“当前的操作系统版本不低于UOS 1030版本(即>=1030)”的条件,也满足“当前的操作系统版本不低于UOS 1040版本(即>=1040)”的条件,在这种情况下,则既支持ISO9660标准文件系统、ISO9660+RockRidge扩展协议以及ISO9660+Joliet扩展协议这三种方式刻录,也可支持UDF精通格式(UDF Mastered Format)刻录。在该情况下,可以由用户选择一种方式刻录,也可以根据默认刻录选项(预先设置为其中一种)来刻录。
还需要说明的是,当操作系统版本>=1030且<UOS 1040版本时,仅支持上述ISO9660标准文件系统、ISO9660+RockRidge扩展协议以及ISO9660+Joliet扩展协议这三种刻录方式。
在步骤S260中,当前光盘空间充足且光盘非空白光盘,则根据光盘文件系统的扩展协议以及操作系统版本,来判断是否支持对应的光盘文件系统刻录方式并标记。然后,执行步骤S270。
作为示例,步骤S260中的处理例如可以通过如下将要描述的步骤S261~步骤S263来实现(图中未示出)。
在步骤S261中,判断光盘最后一次刻录对应的光盘文件系统为ISO9660还是UDF:若是ISO9660,则执行步骤S262;否则,若是UDF,则执行步骤S263。
这样,在步骤S262中,即最后一次刻录对应的光盘文件系统为ISO9660,根据光盘文件系统的扩展协议以及操作系统版本,确定支持的对应ISO9660刻录方式并标记。
根据一种实现方式,在步骤S262中,若光盘文件系统的扩展协议为Joliet,且操作系统版本不低于UOS 1030,判定为支持ISO9660+Joliet扩展协议刻录并标记。
若光盘文件系统的扩展协议为RockRidge,且操作系统版本不低于UOS1030,判定为支持ISO9660+RockRidge扩展协议刻录并标记。
此外,若光盘文件系统的扩展协议为空,判定为支持标准ISO9660刻录并标记,也即,仅支持8+3格式刻录。
除此之外,在步骤S262中,若光盘文件系统的扩展协议是Joliet、RockRidge或空标记这三种情况以外的情况,则判定不支持ISO9660刻录并标记。执行完步骤S262后,执行步骤S270。
在步骤S263中,即最后一次刻录对应的光盘文件系统为UDF,可以根据光盘文件系统版本以及操作系统版本,确定支持的对应UDF刻录方式并标记。
根据一种实现方式,在步骤S263中,若光盘文件系统版本为1.02,且操作系统版本不低于UOS 1040,标记为udf 1.02版本刻录,以表示支持Windows CD/DVD模式追加刻录。
若光盘文件系统版本为2.01,且操作系统版本不低于UOS 1040,标记为udf 2.01版本刻录,以表示支持Windows光盘U盘模式追加刻录。
此外,若光盘文件系统版本为2.5,且操作系统版本不低于UOS 1040,标记为udf2.5版本刻录,以表示支持蓝光光盘刻录。
除此之外,在步骤S263中,若光盘文件系统版本是除了1.02、2.01和2.5这三个版本之外的其他版本,则判定不支持UDF刻录并标记。
这样,在执行完步骤S263后,执行步骤S270。
如图2所示,在步骤S270中,基于所标记的至少部分数据,生成刻录校验结果;若光盘空间不足,则刻录校验结果是异常。
根据一种实现方式,当发生步骤S230中的光盘空间不足的情况、或者不支持ISO9660刻录的情况(如在上述例子的步骤S262中判定不支持ISO9660刻录时)、又或者不支持UDF刻录的情况(如在上述例子的步骤S263中判定不支持UDF刻录时)时,将刻录校验结果设为第一预设值,以表示刻录异常,输出导致禁止刻录发生的刻录错误信息。
而当在步骤S262中判定支持ISO9660刻录,或者在步骤S263中判定支持UDF刻录时,则将刻录校验结果设为第二预设值,以表示支持ISO9660刻录或UDF刻录,其中,第二预设值与第一预设值不同。
例如,第一预设值可以是1,第二预设值可以是0,这样,当刻录校验结果为0时,表示刻录发生异常,可能是由以下三种原因中的其中一种导致的:1)光盘空间不足;2)虽然最后一次刻录对应的光盘文件系统为ISO9660,但却不是Joliet,不是RockRidge,也不是空标记;3)虽然最后一次刻录对应的光盘文件系统为UDF,但其版本却不是1.02、2.01和2.5中的任一个。
此外,根据本发明的实施例,上述自动校验方法还可以包括如下步骤:将生成的刻录校验结果通过UI展示给用户,根据标记的数据设置默认的刻录选项,以供用户使用。
当光盘为空白光盘时,例如可以默认提供ISO9660+Joliet扩展协议刻录,支持ISO9660以及UDF已标记刻录选项。
当判定支持ISO9660刻录时,默认提供已标记的对应刻录选项,隐藏UDF刻录选项。
而当确定支持UDF刻录时,默认提供已标记的对应刻录选项,隐藏ISO9660刻录选项。
应当理解的是,在本发明的其他实施例中,执行各步骤或各步骤中子步骤的顺序可以按照本发明实施例中所述顺序来执行,也可以按照其他顺序来执行。例如,上文举例所述的某个在先的步骤也可以在其他某个在后的步骤之后执行,或者,二者可以并行处理(同时处理,先后均可);又如,某个步骤中的子步骤也可调整执行顺序,如放在其他步骤中执行,又或者分别在某些其他步骤中各自执行,比如,文中所述的某个步骤中执行的判断光盘空间是否充足的子步骤,既可以在文中所述的步骤中执行,也可以在下文描述的优选实施例中的多个步骤中(如空白光盘业务、ISO9660业务及UDF业务中)各执行一次,等等。因此,在不影响本发明目的的前提下,本发明的具体实现方式不限于上述示例中的执行顺序,其他能够完成以上各步骤处理、实现其功能的顺序也可以使用。
本发明的实施例还提供了一种光盘刻录方法,该光盘刻录方法通过上文所述的用于光盘刻录前的自动校验方法来对插入的光盘进行自动校验,然后根据校验的结果进行后续处理。
在自动校验完成后,当判定光盘空间不足、判定不支持ISO9660刻录或判定不支持UDF刻录时,禁止刻录,并提示用户刻录失败。在一种实现方式中,例如也可以提示用户由于光盘空间不足而刻录失败,待用户整理完光盘空间后再次检查,以判断是否可以刻录。
而当判定光盘空间充足的情况下,若光盘为空白光盘,则可以根据默认刻录选项或用户在预定范围中的选择来进行刻录。当前默认刻录选项为ISO9660+Joliet扩展协议方式,预定范围包括ISO9660以及UDF已标记刻录方式。
此外,在判定光盘空间充足的情况下,若支持ISO9660刻录或UDF刻录,则可以根据默认刻录选项进行刻录,当前默认刻录选项为已标记的刻录方式。
本发明的实施例还提供了一种用于光盘刻录前的自动校验装置300,该装置能够执行如上文所描述的自动校验方法200的各步骤处理。下面,结合图3来描述上述自动校验装置300。
如图3所示,自动校验装置300包括信息获取单元310、空间判定单元320、第一处理单元330、第二处理单元340及校验结果生成单元350。
信息获取单元310适于响应于用户的刻录请求,在操作系统同时支持ISO9660追加刻录与UDF追加刻录的情况下,获取操作系统版本,并获取光盘记录的最后一次刻录对应的光盘文件系统及其版本或扩展协议。
空间判定单元320适于判定光盘空间是否充足,并当判定光盘空间不足时进行相应标记。
第一处理单元330适于当光盘空间充足且为空白光盘时,根据操作系统版本,确定支持的对应刻录方式并标记。
例如,第一处理单元330可通过执行如下处理来判定光盘是否为空盘:若获取的光盘文件系统为空,且获取的文件系统版本或扩展协议为空,判定当前光盘为空白光盘。
根据本发明的一个实现方式,第一处理单元330例如可以执行如下处理:若操作系统版本不低于UOS 1030版本,判定并标记为支持ISO9660标准文件系统刻录、ISO9660+RockRidge扩展协议刻录及ISO9660+Joliet扩展协议刻录。以及若操作系统版本不低于UOS1040版本,判定并标记为支持UDF精通格式刻录,以表示支持Windows CD/DVD光盘刻录模式。
根据本发明的一个实现方式,第二处理单元340例如可以包括ISO9660处理单元341和UDF处理单元342(图中未示出)。
在该实现方式中,ISO9660处理单元341可适于当光盘空间充足且最后一次刻录对应的光盘文件系统为ISO9660时,根据光盘文件系统的扩展协议以及操作系统版本,确定支持的对应ISO9660刻录方式并标记,而当扩展协议非Joliet、RockRidge或空时,判定为不支持ISO9660刻录并标记。
例如,ISO9660处理单元341例如可以执行如下处理:若光盘文件系统的扩展协议为Joliet,且操作系统版本不低于UOS 1030,判定为支持ISO9660+Joliet扩展协议刻录并标记。若光盘文件系统的扩展协议为RockRidge,且操作系统版本不低于UOS 1030,判定为支持ISO9660+RockRidge扩展协议刻录并标记。以及若光盘文件系统的扩展协议为空,判定为支持标准ISO9660刻录并标记。
UDF处理单元342可适于当光盘空间充足且最后一次刻录对应的光盘文件系统为UDF时,根据光盘文件系统版本以及操作系统版本,确定支持的对应UDF刻录方式并标记,而当光盘文件系统版本非1.02、2.01或2.5时,判定为不支持UDF刻录并标记。
例如,UDF处理单元342例如可以执行如下处理:若光盘文件系统版本为1.02,且操作系统版本不低于UOS 1040,标记为udf 1.02版本刻录,以表示支持Windows CD/DVD模式追加刻录。若光盘文件系统版本为2.01,且操作系统版本不低于UOS 1040,标记为udf 2.01版本刻录,以表示支持Windows光盘U盘模式追加刻录。若光盘文件系统版本为2.5,且操作系统版本不低于UOS 1040,标记为udf 2.5版本刻录,以表示支持蓝光光盘刻录。
此外,校验结果生成单元350适于基于所标记的至少部分数据,生成刻录校验结果。
根据本发明的一个实现方式,校验结果生成单元350例如可以执行如下处理:当光盘空间不足、不支持ISO9660刻录或不支持UDF刻录时,刻录校验结果为第一预设值,以表示刻录异常,输出导致禁止刻录发生的刻录错误信息。以及当判定支持ISO9660刻录或UDF刻录时,刻录校验结果第二预设值,以表示支持ISO9660刻录或UDF刻录,其中,第二预设值与第一预设值不同。
此外,根据本发明的一个实现方式,自动校验装置300还可以包括输出单元(图中未示出)。输出单元能够将生成的刻录校验结果通过UI展示给用户,根据标记的数据设置默认的刻录选项,以供用户使用。其中,当光盘为空白光盘时,默认提供ISO9660+Joliet扩展协议刻录,支持ISO9660以及UDF已标记刻录选项。当确定支持ISO9660刻录时,默认提供已标记的对应刻录选项,隐藏UDF刻录选项。当确定支持UDF刻录时,默认提供已标记的对应刻录选项,隐藏ISO9660刻录选项。
本发明的实施例还提供了一种光盘刻录装置。
该光盘刻录装置400如图4所示,其除了包括上述自动校验装置300之外,还包括刻录处理单元410。
如图4所示,刻录处理单元410可执行如下处理:当判定光盘空间不足、判定不支持ISO9660刻录或判定不支持UDF刻录时,禁止刻录,并提示用户刻录失败;当光盘为空白光盘时,根据默认刻录选项或用户在预定范围中的选择来进行刻录,当前默认刻录选项为ISO9660+Joliet扩展协议方式,预定范围包括ISO9660以及UDF已标记刻录方式;以及当确定支持ISO9660刻录或UDF刻录时,根据默认刻录选项进行刻录,当前默认刻录选项为已标记的刻录方式。
下面结合图7-图10描述根据本发明的实施例的用于光盘刻录前的自动校验方法/装置(以及光盘刻录方法/装置)的一个优选实施例。
目前,在现有Linux桌面环境下,很多类似麒麟等国产操作系统都使用Linux下通用刻录工具Brasero进行光驱刻录。
图5示出了Brasero刻录工具界面的示意图。Brasero使用GNU通用公共许可证,是一个自由软件,被集成进GNOME,其版本号随着GNOME桌面版本号变化。Brasero自从2008年开始,增加了很多刻录功能和一些特性,因此在Linux被大量使用,甚至一些Linux发行商,包括麒麟,Ubuntu等操作系统平台直接使用了Brasero进行光驱刻录,这样可以省下大量研发费用。
Brasero虽然功能强大,但不能与Windows进行光盘互相追加刻录,在互相追加刻录的过程中,由于缺少刻录流程标记、校验功能,导致文件名不可识别或ISO9660、UDF文件系统互相叠加覆盖,造成UDF文件系统光盘文件系统损坏,相比之下,本发明的实施例能够克服这些缺陷。
由此,本实施例提供了一种利于光盘识别、兼容性追加刻录的技术,其基于UOS系统架构ISO9660底层库libisofs、libisoburn,UDF底层库libudfburn、libudfgenimage,(即:ISO9660追加刻录技术、UDF追加刻录技术)。本核心模块提供独立的光盘识别、兼容性解决方案,例如可命名为dfmburn,该模块相当于上文所描述的自动校验装置,用于执行该装置的处理(或执行上文所述的自动校验方法的各步骤)。
如图6所示,在当前刻录业务中,dfmburn主要用于UOS文件管理器(dde-file-manager),dde-file-manager负责与用户的UI交互逻辑,然后通过dfmburn模块处理光盘识别、兼容性业务,帮助用户及早发现并修正光盘刻录兼容性参数,避免业务异常。
dfmburn模块被光盘业务触发后,即可开始执行处理。
首先,用户在应用程序dde-file-manager双击光驱图标并进入光盘信息目录。
接着,用户对已准备好待刻录的文件数据,点击刻录按钮。
这样,应用程序dde-file-manager调用dfmburn内部的ready_to_burn函数。其中,ready_to_burn函数接收三个参数:a)输入参数dev,char*类型,表示光驱设备的名称;b)输入参数path,char*类型,表示待刻录的缓冲区路径;c)输出参数resultinfo,自定义结构体burn_result_t类型,为当前光盘刻录校验结果。
其中,函数ready_to_burn的返回值类型为int,正确工作时返回0,异常工作时返回非0值。
这样,ready_to_burn函数获取到参数后,需要验证参数dev所记录的设备的文件系统是否满足如图7所示的各业务需求。
图7给出了本优选实施例的用于光盘刻录前的自动校验方法/装置的整体处理流程。如图7所示,首先根据参数dev,调用org.freedesktop.UDisks2.Block接口IdType获取光盘记录的文件系统,并调用org.freedesktop.UDisks2.Block接口IdVersion获取光盘记录的文件系统版本或扩展协议,并记录之。
应当说明的是,这里调用的光盘记录的文件系统以及文件系统版本或扩展协议均是最后一次刻录所记录的。在光盘追加刻录时,可以基于上一次刻录的记录(也就是最近一次发生的刻录事件的记录)来确定支持的刻录方式。
这样,根据前文所述,若IdType及IdVersion为空,则可判断其为空白光盘,从而进入空白光盘业务,例如可命名为blank_burn_check。
此外,若IdType为空,IdVersion不为空,也可以将其判定为空白光盘而进入空白光盘业务,这种情况比较少。
图8给出了图7中的空白光盘业务的子流程处理示例。在该优选实施例中,blank_burn_check与ready_to_burn函数的参数及返回值是一致的。
如图8所示,调用libisoburn接口Xorriso_sieve_get_result获取当前光盘空间大小,并获取缓冲区待刻录文件大小,两者相比能够判断处光盘空间是否足够。
若光盘空间不足,标记磁盘空间不足,终止该子流程,如图8所示,可进入图7所示的后续异常处理子流程;若光盘空间充足,则继续获取系统版本信息。当前通信操作系统分为UOS 1020、1030、1040,但本实施例适用的情况不限于此,也适用于对将来更高版本的处理。
如果系统版本>=1030,标记支持ISO9660标准文件系统、ISO9660+RockRidge扩展协议、ISO9660+Joliet扩展协议3种刻录方式,跳出该子流程,进入后续的异常处理子流程。
如果系统版本>=1040,标记支持UDF Mastered Format刻录方式,即支持WindowsCD/DVD光盘刻录模式,跳出该子流程,进入后续的异常处理子流程。
由此,通过本实施例能够支持空白光盘多种文件系统选择刻录,即可选择UDF文件系统,ISO9660文件系统及扩展协议中的一种来进行刻录。
这样,按照图8所示流程可以完成图7所示的空白光盘业务的处理。
参考图7,在完成空白光盘业务后,可执行异常处理步骤,稍后将在下文中描述该步骤的具体处理过程。
参见图7,当IdType及IdVersion不是全部为空时,则光盘的上一次刻录的文件系统可能是ISO9660,也可能是UDF。下面,继续通过读取的数据来判断是否支持ISO9660业务(即图中所示的ISO-9660)或UDF业务。
如图7所示,当读取到的IdType为“iso9660”,则判定进入ISO9660业务,例如可命名为iso9660_burn_check。
图9给出了图7中的ISO9660业务的子流程处理示例。在该优选实施例中,iso9660_burn_check与ready_to_burn函数的参数及返回值是一致的。
如图9所示,调用libisoburn接口Xorriso_sieve_get_result获取当前光盘空间大小,并获取缓冲区待刻录文件大小,两者相比判断光盘空间是否足够。
若光盘空间不足,标记磁盘空间不足(或如图所示的标记磁盘空间错误等),终止流程,如图9所示,可进入图7所示的后续异常处理子流程;若光盘空间充足,则继续获取系统版本信息。
如果IdVersion为Joliet Extension且当前系统版本>=1030,标记为ISO9660+Joliet扩展协议,跳出当前子流程,进入后续的异常处理子流程。
如果IdVersion为RockRidge Extension且当前系统版本>=1030,标记为ISO9660+RockRidge扩展协议,跳出当前子流程,进入后续的异常处理子流程。
如果IdVersion为空标记为标准ISO9660刻录,则仅支持8+3格式,跳出当前子流程,进入后续的异常处理子流程。
如果IdVersion非以上三种情况(下文简称“错误ISO9660扩展模式”),即,IdVersion不是Joliet Extension、且不是RockRidge Extension、也不是空标记,则标记为错误的ISO9660扩展模式,不进行支持,即不支持ISO9660刻录,跳出当前子流程,进入后续的异常处理子流程。
这样,按照图9所示流程可以完成图7所示的ISO9660业务的处理。
如图7所示,当读取到的IdType为“udf”,则判定进入UDF业务,例如可命名为udf_burn_check。
图10给出了图7中的UDF业务的子流程处理示例。在该优选实施例中,udf_burn_check与ready_to_burn函数的参数及返回值是一致的。
如图10所示,调用libisoburn接口Xorriso_sieve_get_result获取当前光盘空间大小,并获取缓冲区待刻录文件大小,两者相比判断光盘空间是否足够。
若光盘空间不足,标记磁盘空间不足(或如图所示的标记磁盘空间错误等),终止流程,如图10所示,可进入图7所示的后续异常处理子流程;若光盘空间充足,则继续获取系统版本信息。
如果IdVersion为1.02且当前系统版本>=1040,标记为udf 1.02版本刻录,其支持Windows CD/DVD模式追加刻录,跳出当前子流程,进入后续的异常处理子流程。
如果IdVersion为2.01且当前系统版本>=1040,标记为udf 2.01版本刻录,其支持Windows光盘U盘模式追加刻录,跳出当前子流程,进入后续的异常处理子流程。
如果IdVersion为2.5且当前系统版本>=1040,标记为udf 2.5版本刻录,其支持蓝光光盘刻录,跳出当前子流程,进入后续的异常处理子流程。
如果IdVersion非以上三种情况(下文简称“错误UDF版本”),即,IdVersion不是1.02、且不是2.01、也不是2.5,则标记为udf版本错误,不支持UDF刻录,跳出当前子流程,进入后续的异常处理子流程。
这样,按照图9所示流程可以完成图7所示的UDF业务的处理。
如图7所示,在“异常处理”子流程中,对blank_burn_check、iso9660_burn_check、udf_burn_check进行综合处理,并记录至resultinfo中。
其中,在异常处理子流程中:若blank_burn_check、iso9660_burn_check、udf_burn_check这三个子流程中确定磁盘空间不足,则标记为异常,禁止刻录;若在iso9660_burn_check子流程中确定为错误ISO9660扩展模式,则标记为ISO9660刻录异常,禁止刻录;若在udf_burn_check子流程中确定错误UDF版本,则标记为UDF刻录异常,禁止刻录。
这样,通过在异常处理子流程中综合blank_burn_check、iso9660_burn_check、udf_burn_check各正确流程返回值,分别标记空白光盘刻录、ISO9660光盘追加刻录或UDF光盘追加刻录业务。值得一提的是,blank_burn_check、iso9660_burn_check及udf_burn_check为互斥关系,因此只能标记为空白光盘刻录、ISO9660光盘追加刻录或UDF光盘追加刻录业务中任一种。
由此,可以将异常处理子流程中前述处理的信息记录至resultinfo。
这样,若是异常情况(禁止刻录)则返回1,正常情况(能够刻录)则返回0,并将该值返回至resultinfo中。
上层应用程序dde-file-manager根据ready_to_burn的返回值,在非0情况禁止刻录,并根据resultinfo抛出刻录错误信息。
此外,上层应用程序dde-file-manager通过解析resultinfo,还可将变量的数据使用UI界面展示给用户,并将标记业务设置为默认选项,提供给用户使用。
例如,若blank_burn_check标记业务中确定为空白光盘,则可默认ISO9660+Joliet扩展协议,其支持ISO9660、UDF已标记刻录业务选择;若iso9660_burn_check标记业务中确定支持ISO9660刻录,则可默认提供已经标记业务选择,隐藏UDF业务选择;而若udf_burn_check标记业务中确定支持UDF刻录,则可默认提供已标记业务选择,隐藏ISO9660业务选择。
本实施例能够基于UOS ISO9660、UDF文件系统追加刻录技术之上,将解决光盘在Windows(使用CD/DVD光盘刻录方式)与Linux追加刻录过程中,ISO9660、UDF光盘文件系统自动识别标记校验、刻录方式选择、禁止刻录的问题,来保证生产过程中刻录业务的正确性,防止因光盘文件系统损坏造成文件丢失或文件不可读等质量事故。
本实施例支持识别已刻录光盘UDF文件系统及UDF文件系统版本;支持识别已刻录光盘ISO9660文件系统及扩展子系统,即:ISO9660标准文件系统、ISO9660+RockRidge扩展协议、ISO9660+Joliet扩展协议;支持已刻录光盘追加刻录文件系统自动标记,标记UDF追加刻录业务,标记ISO9660文件系统追加刻录业务,禁止已知业务外的非法刻录,避免文件系统混刻录,导致文件系统损坏造成光盘不可读的问题;支持空白光盘多种文件系统选择刻录,即可选择UDF文件系统,ISO9660文件系统及扩展协议进行光盘刻录。
Claims (10)
1.一种用于光盘刻录前的自动校验方法,所述自动校验方法包括步骤:
响应于用户的刻录请求,在操作系统同时支持ISO9660追加刻录与UDF追加刻录的情况下,获取操作系统版本,并获取光盘记录的最后一次刻录对应的光盘文件系统及其版本或扩展协议;
若当前光盘空间小于所述缓冲区待刻录文件大小,判定光盘空间不足并标记;
若光盘空间充足且为空白光盘,根据操作系统版本,确定支持的对应刻录方式并标记;
若光盘空间充足且不为空白光盘,则根据所述光盘文件系统的扩展协议以及操作系统版本,判断是否支持对应的光盘文件系统刻录方式并标记;以及
基于所标记的至少部分数据,生成刻录校验结果。
2.如权利要求1所述的自动校验方法,其中,所述根据所述光盘文件系统的扩展协议以及操作系统版本的判断是否支持对应的光盘文件系统刻录方式并标记的步骤包括:
若光盘空间充足且最后一次刻录对应的光盘文件系统为ISO9660,根据光盘文件系统的扩展协议以及操作系统版本,确定支持的对应ISO9660刻录方式并标记,而当所述扩展协议非Joliet、RockRidge或空时,判定为不支持ISO9660刻录并标记;以及
若光盘空间充足且最后一次刻录对应的光盘文件系统为UDF,根据光盘文件系统版本以及操作系统版本,确定支持的对应UDF刻录方式并标记,而当光盘文件系统版本非1.02、2.01或2.5时,判定为不支持UDF刻录并标记。
3.如权利要求1或2所述的自动校验方法,其中,所述当光盘为空白光盘时根据操作系统版本确定支持的对应刻录方式并标记的步骤包括:
若所述操作系统版本不低于UOS 1030版本,判定并标记为支持ISO9660标准文件系统刻录、ISO9660+RockRidge扩展协议刻录及ISO9660+Joliet扩展协议刻录。
4.如权利要求1或2所述的自动校验方法,其中,所述当光盘为空白光盘时根据操作系统版本确定支持的对应刻录方式并标记的步骤包括:
若所述操作系统版本不低于UOS 1040版本,判定并标记为支持UDF精通格式刻录,以表示支持Windows CD/DVD光盘刻录模式。
5.如权利要求2所述的自动校验方法,其中,所述根据光盘文件系统的扩展协议以及操作系统版本确定支持的对应ISO9660刻录方式并标记的步骤包括:
若光盘文件系统的扩展协议为Joliet,且操作系统版本不低于UOS 1030,判定为支持ISO9660+Joliet扩展协议刻录并标记;
若光盘文件系统的扩展协议为RockRidge,且操作系统版本不低于UOS1030,判定为支持ISO9660+RockRidge扩展协议刻录并标记;以及
若光盘文件系统的扩展协议为空,判定为支持标准ISO9660刻录并标记。
6.一种光盘刻录方法,包括如权利要求1-5中任一项所述的用于光盘刻录前的自动校验方法,所述光盘刻录方法还包括:
当判定光盘空间不足、判定不支持ISO9660刻录或判定不支持UDF刻录时,禁止刻录,并提示用户刻录失败;
当光盘为空白光盘时,根据默认刻录选项或用户在预定范围中的选择来进行刻录,当前默认刻录选项为ISO9660+Joliet扩展协议方式,所述预定范围包括ISO9660以及UDF已标记刻录方式;以及
当确定支持ISO9660刻录或UDF刻录时,根据默认刻录选项进行刻录,当前默认刻录选项为已标记的刻录方式。
7.一种用于光盘刻录前的自动校验装置,包括:
信息获取单元,适于响应于用户的刻录请求,在操作系统同时支持ISO9660追加刻录与UDF追加刻录的情况下,获取操作系统版本,并获取光盘记录的最后一次刻录对应的光盘文件系统及其版本或扩展协议;
空间判定单元,适于判定光盘空间是否充足,并当判定光盘空间不足时进行相应标记;
第一处理单元,适于当光盘空间充足且为空白光盘时,根据操作系统版本,确定支持的对应刻录方式并标记;
第二处理单元,适于当光盘空间充足且不为空白光盘时,根据所述光盘文件系统的扩展协议以及操作系统版本,判断是否支持对应的光盘文件系统刻录方式并标记;以及
校验结果生成单元,适于基于所标记的至少部分数据,生成刻录校验结果。
8.一种光盘刻录装置,包括如权利要求7所述的用于光盘刻录前的自动校验装置,还包括刻录处理单元,所述刻录处理单元适于执行如下处理:当判定光盘空间不足、判定不支持ISO9660刻录或判定不支持UDF刻录时,禁止刻录,并提示用户刻录失败;当光盘为空白光盘时,根据默认刻录选项或用户在预定范围中的选择来进行刻录,当前默认刻录选项为ISO9660+Joliet扩展协议方式,所述预定范围包括ISO9660以及UDF已标记刻录方式;以及当确定支持ISO9660刻录或UDF刻录时,根据默认刻录选项进行刻录,当前默认刻录选项为已标记的刻录方式。
9.一种计算设备,包括:
至少一个处理器和存储有程序指令的存储器;
当所述程序指令被所述处理器读取并执行时,使得所述计算设备执行如权利要求1-5中任一项所述的自动校验方法或如权利要求6所述的光盘刻录方法。
10.一种存储有程序指令的可读存储介质,当所述程序指令被计算设备读取并执行时,使得所述计算设备执行如权利要求1-5中任一项所述的自动校验方法或如权利要求6所述的光盘刻录方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111031696.0A CN113741817A (zh) | 2021-09-03 | 2021-09-03 | 自动校验方法及装置、光盘刻录方法及装置与计算设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111031696.0A CN113741817A (zh) | 2021-09-03 | 2021-09-03 | 自动校验方法及装置、光盘刻录方法及装置与计算设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113741817A true CN113741817A (zh) | 2021-12-03 |
Family
ID=78735256
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111031696.0A Pending CN113741817A (zh) | 2021-09-03 | 2021-09-03 | 自动校验方法及装置、光盘刻录方法及装置与计算设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113741817A (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006351153A (ja) * | 2005-06-20 | 2006-12-28 | Funai Electric Co Ltd | 光ディスク装置 |
US20080192595A1 (en) * | 2004-05-10 | 2008-08-14 | Ghotge Vishal V | Data Recording/Reproduction for Write-Once Discs |
WO2012079781A1 (en) * | 2010-12-17 | 2012-06-21 | Telefonaktiebolaget L M Ericsson (Publ) | Differential flash archive installation |
CN113066515A (zh) * | 2021-04-14 | 2021-07-02 | 统信软件技术有限公司 | 一种光盘刻录方法、计算设备及可读存储介质 |
-
2021
- 2021-09-03 CN CN202111031696.0A patent/CN113741817A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080192595A1 (en) * | 2004-05-10 | 2008-08-14 | Ghotge Vishal V | Data Recording/Reproduction for Write-Once Discs |
JP2006351153A (ja) * | 2005-06-20 | 2006-12-28 | Funai Electric Co Ltd | 光ディスク装置 |
WO2012079781A1 (en) * | 2010-12-17 | 2012-06-21 | Telefonaktiebolaget L M Ericsson (Publ) | Differential flash archive installation |
CN113066515A (zh) * | 2021-04-14 | 2021-07-02 | 统信软件技术有限公司 | 一种光盘刻录方法、计算设备及可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6002869A (en) | System and method for automatically testing software programs | |
CN110673924B (zh) | 一种多架构容器云镜像选择方法、装置、设备及存储介质 | |
US11231916B2 (en) | Method and apparatus for data compilation using intermediate class files, electronic device and non-transitory computer readable storage medium | |
CN107357732B (zh) | 用户终端及软件开发工具包接入状态检测装置与方法 | |
CN107832059A (zh) | 一种基于Makefile的代码静态分析方法和装置 | |
CN109710286B (zh) | 系统升级方法、装置、设备和存储介质 | |
CN104091616A (zh) | 机顶盒内置flash芯片数据一致性检测方法 | |
CN108920159B (zh) | 一种安全升级方法、装置及电子设备 | |
US20050216469A1 (en) | Document managing system, document managing method, and program for implementing the method | |
CN111615688A (zh) | 一种断言验证代码绑定方法及装置 | |
CN110990274A (zh) | 一种生成测试案例的数据处理方法、装置及系统 | |
CN106484779B (zh) | 文件操作方法及装置 | |
CN103365772B (zh) | 软件测试自动评价装置以及方法 | |
US20080313472A1 (en) | Method and apparatus for changing and adding activation keys for functions of digital content without having to change and recompile the digital content | |
CN112631763A (zh) | 一种主机程序的程序变更方法及装置 | |
CN113741817A (zh) | 自动校验方法及装置、光盘刻录方法及装置与计算设备 | |
CN109739756B (zh) | 移动终端应用测试的方法及设备 | |
CN110688320A (zh) | 全局变量的检测方法、装置及终端设备 | |
CN110134602A (zh) | 网页自动化回归测试方法、系统、介质和电子设备 | |
CN111242731B (zh) | 一种业务执行的方法及装置 | |
KR101534493B1 (ko) | 구조 변환에 기초한 소스코드 보안 약점 탐지 장치 및 방법 | |
CN112446191B (zh) | 一种文本处理方法、装置、设备及存储介质 | |
CN112052112A (zh) | 基于NOR Flash存储的位翻转错误检测方法、装置及存储介质 | |
CN111475346A (zh) | Usbif认证触发方法、被测试设备及车辆 | |
CN118093448B (zh) | 基于信创操作系统核心功能的全量测试方法、设备及介质 |
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 |