一种提高效率的光盘刻录的方法及系统与流程
- 国知局
- 2024-07-31 19:34:07
本发明属于光盘数据处理,具体涉及一种提高效率的光盘刻录的方法及系统。
背景技术:
1、本部分的陈述仅仅是提供了与本发明相关的背景技术信息,不必然构成在先技术。
2、随着信息技术的快速发展,数据存储的需求日益增加。光盘刻录作为一种重要的数据存储方式,广泛应用于个人和商业领域。然而,传统的光盘刻录技术存在一些问题,如数据兼容性差、文件系统单一、刻录速度慢等,这些问题在一定成都上限制了光盘刻录技术的发展和应用。因此,开发一种新型的光盘刻录技术,提高刻录质量和效率,是当前技术发展的迫切需求。
3、udf,全称为通用磁盘格式(universal disk format),是iso9660的一个扩展。udf(universal disk format,通用磁盘格式)光盘刻录技术是由iso组织下属的osta光学存储技术协会与1996年指定的通用光盘文件系统,它被设计出来主要是为了解决iso标准的缺点,比如在处理大数据量时的不便。
4、udf文件系统采用包刻录方式(packet writing),早期应用于cd刻录,允许在cd-r/rw光盘上任意追加数据,这样刻录机就拥有了类似于硬盘的随机读写特性。它实现了对所有主要平台的通用兼容性,包括所有的cd-dvd应用程序。udf还可以使cd的可刻录和可重写磁盘的写入过程更加有效,通过巧妙的分组写入机制,可以释放更多的磁盘空间,减少写入时间。
5、然而,由于udf的文件系统较为复杂,也造成了一些不便,如技术复杂性、成本问题以及刻录速度等。如图1所示,现有的光盘文件系统写入方案包括:刻录引擎根据用户提交的待刻录文件,逐个遍历,形成光盘的文件目录树结构并根据文件目录树生成udf文件目录树结构,共同组成文件系统结构后将文件系统以文件的形式存储在本地;而后通过scsi消息总线以文件写入的方式将创建后的文件系统结构写入至光盘中。如图2所示,在usb2.0的协议中受限于usb2.0的半双工通信模式上述光盘文件系统写入方案是没有问题的,但是随着usb3.0协议的普及,这种串行的刻录模式在等待上一帧响应与频繁的文件读写操作上极大地延长了用户等待刻录的时间,效率上存在很大的提升空间。
技术实现思路
1、本发明为了解决上述问题,提出了一种提高效率的光盘刻录的方法及系统,本发明利用环形缓冲读写方式,优化光盘文件系统写入过程,减少等待刻录响应的时间,在文件系统创建阶段通过内存映射的方式不必等待文件系统完全创建完成即可进行刻录,提升了整体速度。
2、根据一些实施例,本发明采用如下技术方案:
3、一种提高效率的光盘刻录的方法,包括以下步骤:
4、响应于刻录请求,逐个遍历待刻录文件;
5、创建通用光盘文件系统,构建环形缓冲区域,在环形缓冲区域上进行文件数据存储空间的分配;
6、根据分配的数据存储空间位置,循环写入待刻录文件的数据;
7、根据环形缓冲区域的写指针位置确定通用光盘文件系统的创建阶段,当创建完成后,将写入的内容映射到内存的待刻录区域中;
8、根据内存映射区域判断是否存在完整的待刻录数据块,如果是,则读取内存映射区域的数据块,以将其刻录至光盘中,并更新读指针位置。
9、上述方案省去了等待刻录相应的时间,同时,不必等待文件系统完全创建完成,可以实现边写边读边刻录的效果,大大降低了实现消耗,提高了刻录效率。
10、作为可选择的实施方式,逐个遍历待刻录文件后,形成光盘的文件目录树结构。
11、作为可选择的实施方式,创建通用光盘文件系统的具体过程包括构造通用光盘文件系统结构头,在环形缓冲区域上分配通用光盘文件系统结构存储空间,包括卷识别序列和卷描述符序列以及分区信息;
12、根据文件目录树生成通用光盘文件系统的文件目录树结构。
13、作为可选择的实施方式,在环形缓冲区域上进行文件数据存储空间的分配的具体过程包括确定起始扇区和总扇区数,确定初始读写指针的位置。
14、作为可选择的实施方式,所述环形缓冲区域包含多个数据块,每个数据块的大小相同。
15、作为可选择的实施方式,所述写指针被配置为随着可写空间的数量增加而朝第一方向依次移动一数据块;所述读指针被配置为随着可读空间的数量减少,而朝第一方向依次一数据块,读、写线程双线工作。
16、作为进一步的,写线程用于循环读取待刻录文件的内容,插入到环形缓冲区域中,读线程用于循环从环形缓存区域中读取已经插入、未刻录的数据,并调用scsi命令写到光驱中。
17、作为进一步的,若文件系统创建完成一个完整的数据块,通过mmap的方式将内容映射到内存的环形缓冲区域的待刻录区域中。
18、作为可选择的实施方式,创建scsi响应接收线程,根据响应接收线程的结果判断对应数据块位置是否刻录成功,若成功则将响应的数据块内的数据进行释放,若响应失败或超时未收到响应结果则从该数据块位置上重新发送对应数据块内的数据至光盘驱动器进行刻录。
19、一种提高效率的光盘刻录的系统,包括:
20、遍历模块,被配置为响应于刻录请求,逐个遍历待刻录文件;
21、文件系统创建模块,被配置为创建通用光盘文件系统,构建环形缓冲区域,在环形缓冲区域上进行文件数据存储空间的分配;
22、写入模块,被配置为根据分配的数据存储空间位置,循环写入待刻录文件的数据;根据环形缓冲区域的写指针位置确定通用光盘文件系统的创建阶段,当创建完成后,将写入的内容映射到内存的待刻录区域中;
23、读取模块,被配置为根据内存映射区域判断是否存在完整的待刻录数据块,如果是,则读取内存映射区域的数据块,以将读取的内存映射区域的数据块的内容刻录至光盘中,并更新读指针位置。
24、一种计算机可读存储介质,用于存储计算机指令,所述计算机指令被处理器执行时,完成上述方法中的步骤。
25、一种电子设备,包括存储器和处理器以及存储在存储器上并在处理器上运行的计算机指令,所述计算机指令被处理器运行时,完成上述方法中的步骤。
26、与现有技术相比,本发明的有益效果为:
27、本发明对比现有技术方案减少了等待刻录响应的时间,同时在文件系统创建阶段通过内存映射的方式不必等待文件系统完全创建完成即可进行刻录,大大降低了时间消耗。
28、本发明同时支持多线程的环形缓冲区读写技术,写线程负责循环读取文件内容插入到缓存中,读线程负责循环从环形缓存中读取未刻录数据,双线程同时工作,实现文件高速写入,也保证程序读取性能,提高数据刻录效率。
29、为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
技术特征:1.一种提高效率的光盘刻录的方法,其特征是,包括以下步骤:
2.如权利要求1所述的一种提高效率的光盘刻录的方法,其特征是,逐个遍历待刻录文件后,形成光盘的文件目录树结构。
3.如权利要求1所述的一种提高效率的光盘刻录的方法,其特征是,创建通用光盘文件系统的具体过程包括构造通用光盘文件系统结构头,在环形缓冲区域上分配通用光盘文件系统结构存储空间,包括卷识别序列和卷描述符序列以及分区信息;
4.如权利要求1所述的一种提高效率的光盘刻录的方法,其特征是,在环形缓冲区域上进行文件数据存储空间的分配的具体过程包括确定起始扇区和总扇区数,确定初始读写指针的位置。
5.如权利要求1所述的一种提高效率的光盘刻录的方法,其特征是,所述环形缓冲区域包含多个数据块,每个数据块的大小相同。
6.如权利要求1所述的一种提高效率的光盘刻录的方法,其特征是,所述写指针被配置为随着可写空间的数量增加而朝第一方向依次移动一数据块;所述读指针被配置为随着可读空间的数量减少,而朝第一方向依次一数据块,读、写线程双线工作。
7.如权利要求6所述的一种提高效率的光盘刻录的方法,其特征是,写线程用于循环读取待刻录文件的内容,插入到环形缓冲区域中,读线程用于循环从环形缓存区域中读取已经插入、未刻录的数据,并调用scsi命令写到光驱中。
8.如权利要求6所述的一种提高效率的光盘刻录的方法,其特征是,若文件系统创建完成一个完整的数据块,通过mmap的方式将内容映射到内存的环形缓冲区域的待刻录区域中。
9.如权利要求1所述的一种提高效率的光盘刻录的方法,其特征是,创建scsi响应接收线程,根据响应接收线程的结果判断对应数据块位置是否刻录成功,若成功则将响应的数据块内的数据进行释放,若响应失败或超时未收到响应结果则从该数据块位置上重新发送对应数据块内的数据至光盘驱动器进行刻录。
10.一种提高效率的光盘刻录的系统,其特征是,包括:
技术总结本发明提供了一种提高效率的光盘刻录的方法及系统,响应于刻录请求,逐个遍历待刻录文件;创建通用光盘文件系统,构建环形缓冲区域,在环形缓冲区域上进行文件数据存储空间的分配;根据分配的数据存储空间位置,循环写入待刻录文件的数据;根据环形缓冲区域的写指针位置确定通用光盘文件系统的创建阶段,当创建完成后,将写入的内容映射到内存的待刻录区域中;根据内存映射区域判断是否存在完整的待刻录数据块,如果是,则读取内存映射区域的数据块,以将其刻录至光盘中,并更新读指针位置。本发明减少等待刻录响应的时间,不必等待文件系统完全创建完成即可进行刻录,提升了整体速度。技术研发人员:刘学忠,李本学受保护的技术使用者:中孚信息股份有限公司技术研发日:技术公布日:2024/1/22本文地址:https://www.jishuxx.com/zhuanli/20240731/183102.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。
下一篇
返回列表