CN116778975B - 光盘追加刻录的方法、装置、电子设备及可读存储介质 - Google Patents

光盘追加刻录的方法、装置、电子设备及可读存储介质 Download PDF

Info

Publication number
CN116778975B
CN116778975B CN202310617930.0A CN202310617930A CN116778975B CN 116778975 B CN116778975 B CN 116778975B CN 202310617930 A CN202310617930 A CN 202310617930A CN 116778975 B CN116778975 B CN 116778975B
Authority
CN
China
Prior art keywords
data
file
optical disc
target
descriptor
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.)
Active
Application number
CN202310617930.0A
Other languages
English (en)
Other versions
CN116778975A (zh
Inventor
请求不公布姓名
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Hufang Software Co ltd
Original Assignee
Shanghai Hufang Software Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shanghai Hufang Software Co ltd filed Critical Shanghai Hufang Software Co ltd
Priority to CN202310617930.0A priority Critical patent/CN116778975B/zh
Publication of CN116778975A publication Critical patent/CN116778975A/zh
Application granted granted Critical
Publication of CN116778975B publication Critical patent/CN116778975B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B7/00Recording or reproducing by optical means, e.g. recording using a thermal beam of optical radiation by modifying optical properties or the physical structure, reproducing using an optical beam at lower power by sensing optical properties; Record carriers therefor
    • G11B7/004Recording, reproducing or erasing methods; Read, write or erase circuits therefor
    • G11B7/0045Recording
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • G06F8/63Image based installation; Cloning; Build to order
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B7/00Recording or reproducing by optical means, e.g. recording using a thermal beam of optical radiation by modifying optical properties or the physical structure, reproducing using an optical beam at lower power by sensing optical properties; Record carriers therefor
    • G11B7/002Recording, reproducing or erasing systems characterised by the shape or form of the carrier
    • G11B7/0037Recording, reproducing or erasing systems characterised by the shape or form of the carrier with discs

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Management Or Editing Of Information On Record Carriers (AREA)

Abstract

本申请提供了一种光盘追加刻录的方法、装置、电子设备及可读存储介质,包括:通过Linux操作系统的系统指令获取光盘的至少一条刻录轨道信息后,并从至少一条刻录轨道信息中,选取需要进行数据读取的目标刻录轨道信息,进而根据目标刻录轨道信息,从光盘中读取获得目标轨道数据;再根据目标轨道数据,构建生成文件系统树。随后响应于对文件系统树的管理操作,对目标轨道数据进行数据管理,获得待刻录的目标镜像文件,最后将所述目标镜像文件刻录至原光盘。从而实现了在Linux系统端实现对在Windows环境下多次追加刻录后的光盘中任一次的刻录数据进行读取与管理,在只能使用光驱的环境内,方便了Linux系统和Windows系统之间的数据拷贝和保存功能,减少了光盘的浪费。

Description

光盘追加刻录的方法、装置、电子设备及可读存储介质
技术领域
本申请涉及光盘存储技术领域,尤其涉及一种光盘追加刻录的方法、装置、电子设备及可读存储介质。
背景技术
光盘数据存储技术经过漫长的发展阶段已成为当今重要的信息承载介质,凭借对数据长时间的保存能力以及本身制造成本的低廉,使得光盘存储在信息存储领域仍保持活跃的状态。
目前,Windows操作系统(视窗操作系统)的设备对光盘进行刻录后,光盘是通过统一光盘格式(UDF,Universal Disc Format)文件系统对光盘数据进行管理的,而在Windows操作系统的设备刻录过的光盘插入Linux操作系统(一种开源操作系统)的设备中时,由于Linux操作系统的设备对UDF文件系统的不完全兼容,导致Linux操作系统仅可以读取光盘上的文件,刻录时则使用ISO9660文件系统对光盘进行追加刻录,而光盘上由Windows操作系统刻录的历史内容无法再被读取。
并且在现有方案中,Windows端在对光盘多次追加刻录时会允许删除或丢弃光盘历史刻录的链接数据,不论Linux操作系统还是Windows再次读取光盘时,仅能读取到最后一次刻录的数据,导致操作系统对光盘的数据管理效率低下。
发明内容
本申请实施例提供一种光盘追加刻录的方法及装置,以解决现有技术中在切换双操作系统对光盘进行追加刻录时,会导致历史刻录的数据内容丢失从而无法进行反复追加刻录的问题。
第一方面,本申请实施例提供了一种光盘追加刻录的方法,所述方法包括:
获取光盘的至少一条刻录轨道信息;
从至少一条所述刻录轨道信息中,确定需要进行数据读取的目标刻录轨道信息,并根据所述目标刻录轨道信息,从所述光盘中读取获得目标轨道数据;
根据所述目标轨道数据,生成文件系统树;
响应于对所述文件系统树的管理操作,对所述目标轨道数据进行数据管理,获得待刻录的目标镜像文件;
将所述目标镜像文件刻录至所述光盘。
第二方面,本申请实施例提供了一种光盘追加刻录的装置,所述装置包括:
轨道信息获取模块,用于获取光盘的至少一条刻录轨道信息;
轨道数据获取模块,用于从至少一条所述刻录轨道信息中,确定需要进行数据读取的目标刻录轨道信息,并根据所述目标刻录轨道信息,从所述光盘中读取获得目标轨道数据;
构建模块,用于根据所述目标轨道数据,生成文件系统树;
管理模块,用于响应于对所述文件系统树的管理操作,对所述目标轨道数据进行数据管理,获得待刻录的目标镜像文件;
刻录模块,用于将所述目标镜像文件刻录至所述光盘。
第三方面,本申请实施例还提供了一种电子设备,包括处理器;
用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为执行所述指令,以实现所述第一方面的方法。
第四方面,本申请实施例还提供了一种可读存储介质,当所述可读存储介质中的指令由电子设备的处理器执行时,使得所述电子设备能够执行所述第一方面的方法。
在Windows环境下存在对光盘的多次刻录时,本申请在Linux端利用从光盘读取的多次刻录分别对应的刻录轨道信息,选取目标刻录轨道信息对光盘中对应的目标轨道数据进行读取,并针对目标轨道数据进行文件系统树的构建,通过文件系统树提供了Linux端对目标轨道数据的管理,进而对目标轨道数据管理后生成镜像文件,在Linux端利用镜像文件实现对光盘的追加刻录,本申请在Linux端实现对在Windows环境下多次追加刻录后的光盘中任一次的刻录数据进行读取与管理,方便了Linux端在对光盘追加刻录时,利用光盘的任意一次刻录数据实现刻录,提高了Linux端对光盘的数据管理效率。
上述说明仅是本申请技术方案的概述,为了能够更清楚了解本申请的技术手段,而可依照说明书的内容予以实施,并且为了让本申请的上述和其它目的、特征和优点能够更明显易懂,以下特举本申请的具体实施方式。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见的,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种本申请实施例提供的一种实施场景图;
图2是本发明实施例提供的一种历史追加刻录的文件数据关系图;
图3是本申请实施例提供的一种光盘追加刻录的方法的简要步骤实施流图;
图4是本申请实施例提供的一种光盘刻录轨道的分布状态图;
图5是本申请实施例提供的一种刻录轨道目录下数据对象的关系示意图;
图6是本申请实施例提供的一种文件系统树的示意图;
图7本申请实施例提供的一种光盘文件管理用户交互界面示意图;
图8本申请实施例提供的一种光盘追加刻录的方法的详细实施步骤流图;
图9本申请实施例提供的一种光盘追加刻录装置的功能模块组成框图;
图10是本申请的一种装置的框图;
图11是本申请的一些实施例中服务器的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请的说明书和权利要求书中的术语“第一”、“第二”等是用于区别类似的对象,而不用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施,且“第一”、“第二”等所区分的对象通常为一类,并不限定对象的个数,例如第一对象可以是一个,也可以是多个。此外,说明书以及权利要求中的术语“和/或”用于描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。本申请实施例中术语“多个”是指两个或两个以上,其它量词与之类似。
参照图1,图1是本申请实施例提供的一种实施场景图,电子设备可以包括:电子设备10和光盘20,其中,电子设备10中可以运行有第一操作系统,光盘20是由第二操作系统的设备刻录后得到的光盘。优选的,第一操作系统为Linux操作系统,第二操作系统为Windows操作系统。
其中,由于Windows操作系统的设备对光盘20进行刻录后,光盘20是通过UDF文件系统对光盘数据进行管理的,而在光盘20插入Linux操作系统的电子设备10中时,由于Linux操作系统对UDF文件系统的不完全兼容,在Linux操作系统后续追加刻录(通常是ISO9660文件系统)将导致之前的UDF文件系统被丢弃,刻录完成后仅能读取最后一次的刻录数据。
同时,在Windows操作系统中进行追加刻录,即使每次刻录的数据都基于UDF文件系统,在刻录完毕后由Windows或Linux进行内容读取时,也仅能读取到最后一次刻录的内容。这是因为基于UDF文件系统的光盘刻录,在执行每一次刻录操作时会同时在光盘上录入文件的数据内容以及数据链接,在后续读取操作时,系统需要依靠数据链接在光盘上查找到内容本身。而基于UDF文件系统的追加刻录操作会在每一次新的刻录操作中,将之前刻录的文件的数据链接覆写掉,只保留最新一次刻录的数据链接。如果在后续读取时缺少之前刻录的数据链接,即使之前刻录的数据内容仍保留在光盘上,系统也无法进行访问。
参照图2,图2是本发明实施例提供的一种历史追加刻录的文件数据关系图。如图2所示,每个步骤框中的描述用于表征操作人员选择在当前需要进行刻录的内容。在光盘进行第一次刻录的过程后,刻录轨道记录了<文件a的链接和内容>,以及<文件b的链接与内容>;在进行第2次追加刻录后光盘上刻录进了<文件c的链接与内容>以及<文件d的链接与内容>,并丢弃了<文件a的访问链接>和<文件b的访问链接>;直至第3次刻录后添加了<文件e的链接与内容>,至此光盘上保留<文件e的链接与内容>,以及<文件a、文件b、文件c以及文件d的内容>,即为保留前3次所有刻录文件的内容;在执行最后一次追加刻录(第3次刻录)后,光盘上仅保留有文件e的链接,使得操作系统仅能读取到第3次刻录的内容,即只能读取到文件e,因为其他文件(文件a、b、c)的链接已经丢失,但其具体的数据内容仍保存在刻录轨道上,只要能够确定各文件所在刻录轨道的起点和长度,便可以通过读取恢复各文件的所有内容。
为了解决上述问题,本申请实施例的电子设备可以通过调用Linux操作系统的ioctl(设备驱动程序中设备控制接口函数)函数直接读取光盘上所有刻录轨道的轨道数据信息,并通过各刻录轨道目录下的系统描述符信息,以递归的方式构建一个文件系统树;从而在Linux系统的电子设备中,实现对从光盘读取到本地的数据对象进行管理的文件系统,并通过对文件系统树的控制操作,从而实现了在Linux系统的电子设备中既对Windows系统下多次追加刻录的所有光盘内容进行读取,又对读取的数据进行基于文件系统的文件管理的目的。
参照图3,图3是本申请实施例提供的一种光盘追加刻录的方法的简要步骤实施流图,应用于Linux操作系统的电子设备,如图3所示,该方法可以包括:
步骤101、获取光盘的至少一条刻录轨道信息。
在电子设备中放入需要读取的光盘,系统确认光盘已置入光驱后,使用预设的轨道信息读取命令获取光盘上的至少一条刻录轨道信息。
刻录轨道信息用于表征在单次刻录操作后,单条刻录轨道的基本属性信息,主要包括刻录轨道的起点和数据长度。由于光盘存储本身的技术特性,每一次刻录的数据都会保存在下一段新的刻录轨道上,刻录轨道的具体形态为以光盘几何中心为同心圆上的部分弧,从接近光盘几何中心沿其半径方向可划分为数条不同的刻录轨道。
参照图4,图4是本申请实施例提供的一种光盘刻录轨道的分布状态图。对于同一张光盘,由于历史刻录可能包含有多条相互独立的刻录轨道。在常规刻录操作中,默认由靠近光盘几何中心的内侧轨道开始录入数据。如图4所示,其中包括第一轨道30、第二轨道31、第三轨道32以及第四轨道33。按照刻录顺序,位于内侧的第一轨道30所刻录的时间应早于第二轨道31;同理,第二轨道31的刻录时间也应早于第三轨道32与第四轨道33。
具体的,首先系统会获取整个光盘的部分基础属性信息,例如:光盘类型、光盘数据容量、到本次读取之前所执行过的刻录次数等。在获取完毕光盘的基本信息后,首先根据光盘类型确认该光盘是在Windows操作系统下执行过刻录操作的光盘。之后可再通过系统预设命令继续读取光盘每一次刻录的起点以及刻录的数据长度,共同组成刻录轨道信息保存在电子设备的内存中。需要说明的是,若在获得光盘的基本信息后识别到该光盘的最后一次刻录操作并非在Windows操作系统下进行的则直接弹出操作告警,提示用户无法执行相关操作,请选择正确的运行环境。
步骤102、从至少一条所述刻录轨道信息中,确定需要进行数据读取的目标刻录轨道信息,并根据所述目标刻录轨道信息,从所述光盘中读取获得目标轨道数据。
承接步骤101,在读取到光盘的多条刻录轨道的刻录轨道信息后,需要根据实际的使用需求选取进行数据管理的目标轨道。
具体的,在获取到多条刻录轨道信息后在系统层面将针对每一条刻录轨道信息进行标注以便于区分,例如按照读取到每条刻录轨道信息的先后顺序标注对应的序号,用户可以在Linux操作端按照需求选择需要进行管理的刻录轨道信息的序号来选择进行数据管理的目标轨道。
在本申请实施例中,为使得在Linux操作系统环境下能够对历史Windows系统下刻录的光盘数据进行进一步管理,首先需要能够读取在Windows系统下的任一次追加刻录的具体内容。
通过确定单条刻录轨道的起点和长度,能够确保在读取目标轨道上的数据时内容的完整性,避免读入来自其他刻录轨道的不完整信息导致读取错误。
步骤103、根据所述目标轨道数据,生成文件系统树。
在本发明实施例中,在获得读取的目标轨道数据后,依据目标轨道数据所在的目标轨道的起点信息确定根节点,通过递归嵌套的方式将目标轨道数据转化为树形结构中的节点,并根据节点生成文件系统树。
值得说明的是,已读取的目标轨道数据可细分为多个连续存储的数据对象。电子设备可以从目标轨道的目录中读取到目标轨道的目录保存的数据对象的系统描述符(fid,File Identifier Descriptor),数据对象和系统描述符一一对应,系统描述符是UDF文件系统对数据对象的抽象标记,操作系统内核可以通过系统描述符来访问对应的数据对象。在本申请实施例中,目标轨道的目录下各个数据对象的系统描述符,分别记录了目标轨道的目录与其中各个数据对象的层级关系,因此后续可以利用目标轨道的目录保存的各个数据对象的系统描述符所表征的层级关系,来构建文件系统树。
具体的,一个系统描述符可以对应建立一个树形结构的节点,使得该节点可以表征该系统描述符对应的数据对象。递归是指一种通过重复将问题分解为同类的子问题而解决问题的方法,递归可以应用在本申请实施例的文件系统树构建场景中解决自动化构建文件系统树的问题。
在本申请实施例中,简单来说递归是指在按照顺序建立每个数据对象对应的节点的过程中,每遇到一个文件夹,则进入该文件夹的目录,开始进行针对该文件夹目录中的数据对象的节点建立,直至该文件夹目录下所有数据对象(包含文件夹目录下包含的其他文件夹的目录)对应的节点构建完毕后,再回归该文件夹的层级,开始该文件夹的下一个数据对象的节点构建,直至从光盘读取的所有数据对象都构建了对应节点,从而获得文件系统树。
参照图5,图5是本申请实施例提供的一种刻录轨道目录下数据对象的关系示意图。其中电子设备从刻录轨道的根目录文件夹读取了4个数据对象:文件夹1、文件2、文件夹3、文件4各自的系统描述符;文件夹1中可以继续读取3个数据对象:文件1-1、文件夹1-2、文件1-3各自的系统描述符;文件夹1-2中可以继续读取3个数据对象:文件1-2-1、文件1-2-2、文件1-2-3各自的系统描述符;文件夹3中可以继续读取2个数据对象:文件3-1、文件3-2各自的系统描述符。
继续参照图6,其示出了一种文件系统树的示意图,则按照递归方式构建用于表征根目录下所有数据对象的文件系统树的过程包括:先将根目录文件夹构建为树形结构的根节点;再构建文件夹1对应的节点1;之后构建文件夹1中文件1-1对应的节点1-1,文件夹1-2对应的节点1-2;之后构建文件夹1-2中文件1-2-1对应的节点1-2-1、文件1-2-2对应的节点1-2-2、文件1-2-3对应的节点1-2-3;之后构建文件夹1中文件1-3对应的节点1-3;之后构建根目录文件夹下的文件2对应的节点2、文件夹3对应的节点3;之后构建文件夹3下的文件3-1对应的节点3-1、文件3-2对应的节点3-2;最后构建根目录文件夹下的文件4对应的节点4,从而得到图4的文件系统树。
从目标轨道数据中读取轨道目录保存的数据对象的系统描述符;再针对每个数据对象,通过递归的方式,根据数据对象的系统描述符,构建树形结构中的节点。在遍历完毕目标轨道数据的所有数据对象后,获得由节点构成的文件系统树。
步骤104、响应于对所述文件系统树的管理操作,对所述目标轨道数据进行数据管理,获得待刻录的目标镜像文件。
在生成系统层面构建完毕文件系统树后,为方便用户进行管理操作,本申请实施例还提供一种基于Linux操作系统下具有图形界面的光盘文件管理系统。在电子设备从目标轨道中读取的所有数据对象都遍历完毕并分别建立了对应的节点后,则得到文件系统树,文件系统树可以表征根目录文件夹下所有数据对象的关系,对文件系统树进行渲染,可以获得对从目标轨道读取的数据对象进行操作的文件系统的界面,即将文件系统树可视化展示。
具体的,利用树形结构提供的先序遍历方式遍历文件系统树形图,转换成图形显示方式。将文件夹节点做成可以折叠显示的文件夹行,解除折叠后显示文件节点,将文件节点做成可以显示文件大小的文件行,在图形界面上形成可供用户操作的文件系统列表。参照图7,示出了本申请实施例提供的一种光盘文件管理用户交互界面示意图。如图7所示,当前界面中依照光盘轨道的历史刻录数据所建立的文件系统列表,根目录中包含压缩文件“月工作素材总结.7z”、音频文件“歌曲.MP3”以及表格文件“备忘录.xlsx”与1个命名为“记录”的文件夹。文件夹“记录”还包含一个子文件“基本常用信息.md”。操作界面中还对应显示了每个文件的文件大小与文件描述。
用户可在此界面中完成对文件系统树的管理交互操作,包括但不限于对各文件的内容修改、文件删除以及新文件的添加。
步骤105、将所述目标镜像文件刻录至所述光盘。
最后,对光盘20的历史刻录轨道中的数据进行一系列管理操作后,再将生成的目标镜像文件的内容追加刻录至光盘内。
在本申请实施例中,提供基于Linux操作系统下的多种刻录方法,首先需要系统开放光盘刻录机的刻录功能使用权限。之后,可使用growisofs工具直接将目标镜像文件刻录至光盘20中。
额外的,也可使用操作系统中ioctl函数内置的预设指令将目标镜像文件刻录至光盘中。根据不同的实际应用要求,出于便捷考虑开发人员可在上述方法或其他刻录方式中自由选择,本实施例此处不做限制。
综上所述,本申请实施例提供的一种光盘追加刻录的方法,通过Linux操作系统的系统指令获取光盘的至少一条刻录轨道信息后,并从至少一条刻录轨道信息中,选取需要进行数据读取的目标刻录轨道信息,进而根据目标刻录轨道信息,从光盘中读取获得目标轨道数据;再根据目标轨道数据,构建生成文件系统树。随后响应于对文件系统树的管理操作,对目标轨道数据进行数据管理,获得待刻录的目标镜像文件,最后将所述目标镜像文件刻录至原光盘,在Linux端利用镜像文件实现对光盘的追加刻录。本申请在Linux端实现对在Windows环境下多次追加刻录后的光盘中任一次的刻录数据进行读取与管理,方便了Linux端在对光盘追加刻录时,能够对光盘的任意一次刻录数据进行读取并在此基础上实现追加刻录,提高了Linux端对光盘的数据管理效率。
参照图8,示出了本申请实施例提供的一种光盘追加刻录的方法的详细实施步骤流图。如图8所示,该方法的步骤包括:
步骤201、获取光盘的至少一条刻录轨道信息。
本步骤基于Linux操作系统的操作环境,使用Linux内核中ioctl函数预设的GPCMD_READ_DISC_INFO命令查询光盘的基本信息,例如光盘的类型、到读取为止的刻录次数等。在通过基本信息中的光盘类型确定该光盘为经过Windows系统的UDF文件系统刻录的光盘后,使用ioctl中的GPCMD_READ_TRACK_RZONE_INFO命令读取光盘的每一次刻录会话(session)的信息,并将每个会话的物理区块(block)的起点信息保存在电子设备10的内存中。
步骤202、从至少一条所述刻录轨道信息中,确定需要进行数据读取的目标刻录轨道信息,并根据所述目标刻录轨道信息,从所述光盘中读取获得目标轨道数据。
在本步骤中,首先根据获取的刻录轨道信息,从电子设备内存中读取每个轨道的起点和长度数据,并选择要使用的轨道数据作为目标轨道数据。从目标轨道数据所属的轨道的目标起点开始读取光盘数据,并判断是否含有UDF文件系统的标志位。
需要说明的是,此处的UDF文件系统的标志位也是轨道数据组成的一部分,在开始获取目标轨道数据时,UDF文件系统的标志位是优先读取的,读取后进行判断,确定是UDF文件系统后才会继续读取后续的目标轨道数据,否则会直接退出读取流程,并对用户发出告警,提示缺少文件系统标志位,读取错误。
在确定光盘数据含有UDF文件系统的标志位时,分别读取主卷描述符,读取分区表描述符,读取逻辑卷描述符,读取文件组描述符,并分别判断以上每个描述符的完整性。其中,主卷描述符用于表征当前目标轨道数据中的根目录所在卷的卷标识;分区表描述符用于表征目标轨道数据在目标轨道上的分区信息;逻辑卷描述符用于表征目标轨道数据中的文件在目标轨道上所处的逻辑卷信息;文件组描述符用于记录文件组的属性信息,以供Linux内核来访问文件组。
如果上述任一描述符不完整,退出流程,提示用户光盘不适用UDF文件系统。如果判断上述每个描述符均完整,则保存以上描述符的数据到内存中。
值得说明的是,在默认状态下本指令所触发的读取默认只选择读取最后一次刻录的轨道数据。
可选的,所述步骤202具体可以包括子步骤2021-2023:
子步骤2021、获取所述目标刻录轨道信息对应的目标刻录会话。
在电子设备的系统操作过程中,会通过会话控制“session”来保存和跟踪用户信息。在本申请实施例中,每一次刻录都会生成其对应的刻录会话,用于记录本次刻录操作的执行过程信息。在步骤202中,选择目标刻录轨道信息的同时,即可同时获取与该目标刻录轨道信息对应的目标刻录会话。
值得说明的是,在此过程中,目标刻录会话还记录了目标轨道数据的起点索引信息,系统根据起点索引信息在选定的目标刻录会话中加上预设的第一区块偏移量之后,定位到数据起始位并开始读取目标轨道上的数据。在读取过程中判断是否有读取到“BEA01”、“NSR02”、“TEA01”等用来确认UDF文件系统格式的判断标志位,系统在确定是UDF文件后才会继续进行后续的操作。
子步骤2022、根据所述目标刻录会话,确定所述目标刻录轨道信息对应的目标轨道数据在光盘上的物理起点与数据长度。
在根据目标刻录会话确定目标轨道数据的物理起点后,再通过系统对于数据长度的处理字段即可获得目标轨道数据的数据长度,将所述物理起点与数据长度进行相加,即可确定目标轨道数据的终点位置。在后续进行数据读取时,以所述目标轨道数据的物理起点与终点位置作为读取目标轨道数据操作的始点与终点。
可选的,所述子步骤2022具体可以包括子步骤20221-20222:
子步骤20221、根据所述目标刻录会话确定所述目标轨道数据的数据起始位,并通过所述数据起始位与基于所述光盘预设的区块偏移量,获取所述光盘的卷描述符。
承接子步骤2022,在通过刻录会话确定数据起始位与数据长度的基础上,接下来把目标刻录会话起点信息加上预设的第二区块偏移量(一般为256)进行读取,获得光盘上的卷描述符(AVDP:Anchor Volume Descriptor Pointer)数据。
值得说明的是,卷描述符是光盘数据存储的一种通用的数据格式,是光盘用于管理数据的工具,是以真实物理形态存在于光盘刻录轨道中的。此处获取卷描述符是为了后续验证其完整性(可参照后续子步骤20231-20233所述的相关内容),只有确保卷描述符完整的情况下系统才能正常读取光盘上的所有文件内容并进行管理操作。
子步骤20222、根据所述光盘的卷描述符确定目标轨道数据在所述光盘上的物理起点与数据长度。
具体的,以ECMA-167文档中记录的卷描述符的数据记录格式作为参考。卷描述符中记载了物理起点,具体的,ECMA-167文档的卷描述符中对应的mainVolDescSeqExt字段记录了目标轨道数据在光盘上的物理位置起点。同时,卷描述符中的extLength字符则用于表征数据的长度。
子步骤2023、根据所述目标轨道数据的物理起点与数据长度,从所述光盘中读取获得所述目标轨道数据。
获取物理起点之后,再将物理起点加上extLength字符表征的数据长度就是本次读取目标轨道数据的终点位置。即将所述物理起点与数据长度进行拼接,即可确定目标轨道数据的终点位置。在后续进行数据读取时,以所述物理起点与终点位置作为读取操作的始点与终点。以该物理起点为基准点,沿原始刻录方向扫过与数据长度相等的轨道到达终点位置时,即可从目标轨道中读取其刻录的目标轨道数据。
可选的,在从所述光盘中读取所述目标轨道数据的过程中,所述子步骤2023还可以包括子步骤20231-20233:
子步骤20231、每读取到所述目标轨道数据的一个数据块的情况下,将所述数据块存入缓存片区。
目标轨道上的所有数据在物理存储上是由一个一个数据块构成的。系统对数据块进行连续读取,每读取到一个数据块就会将其存入系统缓存片区。在根据物理起点与数据长度对目标轨道进行读取的同时,一部分数据块已经组成了可被校验的系统文件(包括光盘格式标志位以及各类系统描述符等),此时需要对这些系统文件进行完整性校验,在此过程中已读取的数据内容会暂时存放于系统缓存片区中。
完整性校验需要检验各类系统文件(系统描述符)的内容,查验是否有损坏或缺失字段,若所有系统文件的校验结果均为完整则表示校验通过,随后系统会将其完整地保留至电子设备的存储媒介上。相反,在所有系统文件中只要存在一项文件的完整性出现缺失,则表明校验未通过,此时系统已无需再继续读取目标轨道数据的剩余内容,同时暂存在系统缓存片区中的已有数据也没有保留的必要了,系统会直接舍弃。
子步骤20232、若所述数据块具有统一光盘格式标志位,则获取所述数据块的系统描述符,并验证所述系统描述符的完整性,获得验证结果;所述系统描述符包括:主卷描述符、分区表描述符、逻辑卷描述符、文件组描述符。
具体的,再次从光盘上按照上述物理起点所在的位置进行连续读取,寻找分区描述符和逻辑卷描述符。根据ECMA-167文档记录的其他卷描述符数据记录格式确定系统描述符中的分区描述符和逻辑卷描述符记录的内容信息。其中记录分区描述符中的partitionStartingLocation字符作为分区起点,记录的逻辑卷描述符作为数据备用。
读取逻辑卷描述符的logicalVolContentsUse字段,其extLocation.logicalBlockNum字段保存了文件组描述符(File Set Descriptor)的逻辑区块位置。并且判断逻辑区块大小是否为2048。在满足此项判断条件的情况下利用上面保存的文件组描述符进行位置读取获得文件组在区块中的位置,参照ECMA-167文档中记录的文件组描述符的数据记录格式,其中rootDirectoryICB字段记录了根目录入口记录(根目录的文件入口)的位置,保存位置信息以备用。接下来读取logicalVolIdent字段,需要说明的是这个字段写明了光盘在操作系统中的卷标,即光盘名称,之后可以通过界面将名称展示给用户。
子步骤20233、在所述验证结果为所述系统描述符包含主卷描述符、分区表描述符、逻辑卷描述符、文件组描述符,且所述主卷描述符、所述分区表描述符、所述逻辑卷描述符、所述文件组描述符均为完整的情况下,将所述缓存片区的数据块存入内存片区。
可选的,所述方法还包括:在确定所述目标轨道的轨道数据中未含有所述标志位和/或所述验证结果中,所述主卷描述符、所述分区表描述符、所述逻辑卷描述符、所述文件组描述符中的至少一种为不完整的情况下,产生系统报错以提示用户当前光盘不适用于统一光盘格式的文件系统,并停止继续读取目标轨道数据。
根据上述校验结果,选择将要执行的下一步骤。如果任一描述符不完整,退出流程,并在显示界面提示用户光盘不适用UDF文件系统。如果判断每个描述符完整,则保存以上描述符的数据到内存中。
步骤203、根据所述目标轨道数据,生成文件系统树。
具体的,该步骤可参照上述步骤103,本实施例此处不再赘述。
可选的,所述步骤203具体可以包括子步骤2031-2033:
子步骤2031、从所述目标轨道数据中读取目标轨道数据的目录保存的数据对象的系统描述符。
在实际应用中,电子设备可以对插入光驱的光盘进行数据读取,但是,在linux系统的电子设备读取Windows系统刻录的光盘时,由于Linux操作系统的电子设备对Windows系统的UDF文件系统的不完全兼容,导致Linux操作系统的电子设备只能读取光盘的数据,而无法进一步对读取的数据进行基于文件系统的管理。本申请实施例可以通过从目标轨道数据中读取目标轨道数据的目录保存的数据对象的系统描述符,来构建一个可以在Linux操作系统的电子设备上对从目标轨道上读取的数据对象进行管理的文件系统树,从而解决上述问题。
具体的,目标轨道数据中的数据对象包括文件和文件夹,文件即是单一数据对象,而文件夹是包含多个数据对象的集合,目标轨道数据中的一个文件夹也可以视作一个目标轨道数据目录;对于目标轨道数据目录,电子设备可以从目标轨道数据的目录中读取到目录保存的数据对象的系统描述符(fid,File Identifier Descriptor),数据对象和系统描述符一一对应,系统描述符是UDF文件系统对数据对象的抽象标记,操作系统内核可以通过系统描述符来访问对应数据对象,打开现存数据对象或新建数据对象时,内核会返回一个文件描述符,读写数据对象也需要使用文件描述符来指定待读写的数据对象。系统描述符可以通过包含的各个字段,定义对应数据对象的各种属性信息。
在本申请实施例中,光盘目录下各个数据对象的系统描述符,记录了光盘目录与其中各个数据对象的层级关系,因此后续可以利用光盘目录保存的各个数据对象的系统描述符所表征的层级关系,来构建文件系统树。
子步骤2032、针对每个所述数据对象,通过递归的方式,根据所述数据对象的系统描述符,构建树形结构中的节点;一个节点用于表征一个数据对象;所述节点与所述数据对象的系统描述符一一对应。
在本申请实施例中,电子设备读取目标轨道中的数据时,是按照一定顺序进行数据对象的读取的。针对读取到的数据对象,也可通过读取顺序保存在电子设备的本地,基于读取到的数据对象,本申请实施例可以采用递归的方式,根据数据对象的系统描述符,构建树形结构中的节点。
具体的,一个系统描述符可以对应建立一个树形结构的节点,使得该节点可以表征该系统描述符对应的数据对象。递归是指一种通过重复将问题分解为同类的子问题而解决问题的方法,递归可以应用在本申请实施例的文件系统树构建场景中解决自动化构建文件系统树的问题。
在本申请实施例中,简单来说递归是指在按照顺序建立每个数据对象对应的节点的过程中,每遇到一个文件夹,则进入该文件夹的目录,开始进行针对该文件夹目录中的数据对象的节点建立,直至该文件夹目录下所有数据对象(包含文件夹目录下包含的其他文件夹的目录)对应的节点构建完毕后,再回归该文件夹的层级,开始该文件夹的下一个数据对象的节点构建,直至从光盘读取的所有数据对象都构建了对应节点,从而获得文件系统树。
可选的,子步骤2032具体可以包括子步骤20321-20327:
子步骤20321、构建所述树形结构中与所述目标轨道根目录对应的根节点。
构建文件系统树的过程中,首先可以构建与目标轨道数据的根目录对应的根节点,以使得文件系统树可以表征光盘根目录下各个数据对象之间的关联。
子步骤20322、从所述目标轨道根目录开始,依次确定所述目标轨道的目录中包括的每个数据对象的类型。
在本申请实施例中,目标轨道数据中的数据对象具有两种数据类型:文件和文件夹,文件即是单一数据对象,而文件夹是包含多个数据对象的集合。本申请实施例可以从光盘根目录开始,依次确定刻录轨道的目录中包括的每个数据对象的类型,以供后续依据该数据对象的类型建立文件系统树中的节点。
子步骤20323、根据每个所述数据对象的类型和所述数据对象的系统描述符,通过递归的方式构建树形结构中的节点。
在该步骤中,通过递归的方式,依据每个数据对象的类型和该数据对象的系统描述符构建树形结构中对应的节点,是指在按照顺序建立每个数据对象对应的节点的过程中:每遇到一个文件,则建立该文件对应的节点;每遇到一个文件夹,则进入该文件夹的目录,开始进行针对该文件夹目录中的数据对象的节点建立,直至该文件夹目录下所有数据对象(包含文件夹目录下包含的其他文件夹的目录)对应的节点构建完毕后,再回归该文件夹的层级,开始该文件夹的下一个数据对象的节点构建,直至从光盘读取的所有数据对象都构建了对应节点,从而获得文件系统树。
可选的,子步骤20323具体可以包括子步骤203231-203235:
子步骤203231、在所述数据对象的类型为文件的情况下,构建所述树形结构中与所述文件对应的节点,并针对所述文件的下一个数据对象,进入所述依次确定每个所述目标轨道的目录中包括的每个数据对象的类型的步骤。
在本申请实施例中,遍历从目标轨道读取到的数据对象的系统描述符的过程中,在确定遍历到的数据对象的类型为文件的情况下,则可以直接构建该文件对应的节点,该节点可以是该文件所属文件夹对应节点的子节点。构建了文件对应的节点后,可以继续遍历下一个数据对象,依据下一个数据对象的类型进行节点的构建。文件对应的节点的具体构建过程可以参照上述图5、6中文件2、文件4、文件1-1、文件1-3、文件1-2-1、文件1-2-2、文件1-2-3、文件3-1、文件3-2的节点构建过程的相关描述。
子步骤203232、在所述数据对象的类型为文件夹的情况下,构建所述树形结构中与所述文件夹对应的节点。
子步骤203233、从所述目标轨道的目录中读取所述文件夹的目录中包括的每个数据对象的系统描述符。
子步骤203234、根据所述文件夹的目录中包括的每个数据对象的系统描述符,通过递归的方式构建树形结构中与所述文件夹的目录中包括的每个数据对象分别对应的节点。
子步骤203235、在构建完毕与所述文件夹的目录中包括的每个数据对象对应的节点后,针对所述文件夹的下一个数据对象,进入所述依次确定每个所述目标轨道的目录中包括的每个数据对象的类型的步骤。
在本申请实施例中,针对子步骤203232-203235,在遍历到的数据对象的类型为文件夹的情况下,则需要通过递归的思想进行对应节点的构建。
具体是指,先针对文件夹建立对应的节点,该节点是该文件夹所属的上层文件夹对应节点的子节点,之后再获取该文件夹的目录中存储的数据对象的文件标志符(文件标志符属于系统描述符的一种),并调用递归函数,将该文件夹对应的节点和文件夹的目录中存储的数据对象的文件标志符传入递归函数,开始递归操作,即开始进行针对该文件夹目录中的数据对象的节点建立过程,直至该文件夹目录下所有数据对象(包含文件夹目录下包含的其他文件夹的目录)对应的节点构建完毕后,再回归该文件夹的层级,开始该文件夹的下一个数据对象的节点构建。其中,在创建一个文件夹对应的节点时,可以将文件夹节点内第一个文件节点的指针(stfd)链接指向该文件夹对应的节点。
文件夹对应的节点,以及文件夹中数据对象对应的节点的具体构建过程可以参照上述图5、6中根目录文件夹、文件夹1、文件夹3、文件夹1-2的节点构建过程的相关描述。
子步骤20324、将每个所述数据对象的数据内容分别添加至与各数据对象对应的节点中。
在本申请实施例中,构建数据对象对应的节点的同时,可以将数据对象的数据内容添加至与数据对象对应的节点的data字段中,从而使得文件系统树的节点可以保存数据对象的数据内容。
子步骤20325、提取所述系统描述符中的文件入口记录指引字段,并在根据所述文件入口记录指引字段从所述目标轨道提取所述数据对象的文件入口记录后,将所述文件入口记录添加至与所述数据对象对应的节点中。
在本申请实施例中,提取文件入口记录指引字段的系统描述符,是指每个数据对象所各自对应的系统描述符,数据对象的系统描述符中具有文件入口记录指引字段(icb.extLocation.logicalBlockNum),根据文件入口记录指引字段是用于指引数据对象的文件入口记录的位置的字段,具体可以确定数据对象的文件入口记录在刻录轨道上的物理位置,这样就可以按照物理位置读取到数据对象的文件入口记录并将其添加至与数据对象对应的节点中。
子步骤20326、提取所述系统描述符中的文件类型字段,并在根据所述文件类型字段确定所述数据对象的类型后,将所述数据对象的类型添加至与所述数据对象对应的节点中。
在本申请实施例中,数据对象的系统描述符中具有文件类型字段(fileCharacteristics),在根据文件类型字段确定所述数据对象的类型后,将数据对象的类型添加至与数据对象对应的节点中。其中文件类型字段可以用于确定数据对象是否是文件夹属性FID_FILE_CHAR_DIRECTORY,若数据对象是文件夹属性,则该数据对象的类型为文件夹;若数据对象不是文件夹属性,则该数据对象的类型为文件。因此,本申请实施例可以将根据文件类型字段确定的数据对象的类型,添加至与数据对象对应的节点的isDir(记录数据对象是否是文件夹的标志位)字段中。
子步骤20327、提取所述系统描述符中的文件名字段,并在将所述文件名字段解析为当前操作系统的格式后,将所述文件名字段添加至与所述数据对象对应的节点中。
在本申请实施例中,数据对象的系统描述符中具有文件名字段(impUseAndFileIdent),获取了文件名字段后,可以将其解析为当前Linux操作系统的格式后,将文件名字段添加至与所述数据对象对应的节点的name字段(用于表征数据对象的文件名的字段)中。
例如,一种情况下,Windows操作系统的设备刻录的光盘中的数据对象的文件名是UTF(统一码转换格式,Unicode Transformation Format)16格式,而Linux操作系统的电子设备则使用UTF8格式的文件名,则本申请实施例可以将UTF16格式的文件名字段转换为UTF8格式的文件名字段后,再将UTF8格式的文件名字段添加至与数据对象对应的节点的name字段中。
子步骤2033、遍历完毕所述目标轨道数据的所有数据对象后,获得由所述节点构成的文件系统树。
在电子设备从光盘中读取的所有数据对象都遍历完毕并分别建立了对应的节点后,则得到文件系统树,文件系统树可以表征根目录文件夹下所有数据对象的关系,对文件系统树进行渲染,可以获得对从光盘读取的数据对象进行操作的文件系统的界面,即将文件系统树可视化展示。
继续参照图5与图6。按照图5中文件夹与包含文件的对应关系,图6的文件系统树中节点1、2、3、4都是根节点的子节点,节点1-1、1-2、1-3都是节点1的子节点,节点1-2-1、1-2-2、1-2-3都是节点1-2的子节点,节点3-1、3-2都是节点3的子节点。
步骤204、创建原始镜像文件,所述原始镜像文件为基于统一光盘格式的文件。
首先需要生成待刻录的原始镜像文件,使用mkudffs命令生成udf格式镜像文件。命令中需要输入光盘卷标名称(建议与S120读取的一致),待刻录的文件大小(单位:区块),每个区块大小(限制:2048字节),UDF格式版本,镜像文件名称等信息。待刻录的文件大小由每次操作添加文件时累加文件大小确认。
步骤205、修改所述原始镜像文件的系统描述符,使得所述原始镜像文件适配光盘追加刻录模式。
创建镜像文件完成后,连续的按照区块大小读取镜像文件中,找到分区表描述符(Partition Descriptor),其中它的成员accessType需要修改成对应DVD光盘的PD_ACCESS_TYPE_READ_ONLY值,其中它的成员partitionStartingLocation则需要按照步骤202中读取的值进行设置。
步骤206、根据对所述文件系统树的管理操作与所述原始镜像文件,获得所述目标镜像文件。
继续在镜像文件中读取内容,寻找文件组描述符用于供Linux内核来访问文件组,当在系统中打开现存文件组或新建文件组时,内核会返回一个文件组描述符。同时,对文件组中的内容进行读写操作时也需要使用文件组描述符来指定待读写的文件组。进一步地,按照partitionStartingLocation字符对应的偏移量修改它的成员rootDirectoryICB的值,以确保在执行刻录操作之后,可以被操作系统按照正确的逻辑区块位置找到这些描述符。
继续读取原始镜像文件中的内容,找到根文件夹的文件入口记录,修改它的成员descTag.tagLocation等字段,以适配修改过的逻辑区块在光盘上的物理位置。最后把修改过的分区描述符,文件组描述符在文件入口记录产生的校验值进行计算,在确定计算成功后将分区描述符与文件组描述符重新写回原始镜像文件对字段修改前的进行分区描述符与文件组描述符覆盖即可。
确认文件系统树每个节点处理完成以及原始镜像文件创建完成,即可开始对即将进行新刻录操作的数据文件进行写入镜像文件的操作。从根文件夹节点开始先序遍历文件系统树节点,再对遍历的所有文件系统树节点进行偏移量设置。其中,写入原始镜像文件的偏移量设置为writeblkno,写入文件内容偏移量设为contentstartblkno。在读取到文件夹节点时,对该文件夹节点写入文件入口记录和它保存的系统描述符,遇到文件节点则写入文件入口记录和文件内容(判断为新加入的文件需要),每个节点写入完成后按照实际写入量增加writeblkno和contentstartblkno的值。遍历完成后,获得目标镜像文件并关闭修改权限,等待执行追加刻录操作,重新写入光盘。
步骤207、将所述目标镜像文件刻录至所述光盘。
具体的,该步骤可参照上述步骤105,本实施例此处不再赘述。
综上所述,本申请实施例提供的一种光盘追加刻录的方法,通过Linux操作系统的系统指令获取光盘的至少一条刻录轨道信息后,并从至少一条刻录轨道信息中,选取需要进行数据读取的目标刻录轨道信息,进而根据目标刻录轨道信息,从光盘中读取获得目标轨道数据;再根据目标轨道数据,构建生成文件系统树。随后响应于对文件系统树的管理操作,对目标轨道数据进行数据管理,获得待刻录的目标镜像文件,最后将所述目标镜像文件刻录至原光盘。在Linux端利用镜像文件实现对光盘的追加刻录,本申请在Linux端实现对在Windows环境下多次追加刻录后的光盘中任一次的刻录数据进行读取与管理,方便了Linux端在对光盘追加刻录时,能够对光盘的任意一次刻录数据进行读取并在此基础上实现追加刻录,提高了Linux端对光盘的数据管理效率。
参照图9,示出了本申请实施例提供的一种光盘追加刻录装置300的功能模块组成框图。如图9所示,该装置包括:
轨道信息获取模块301,用于获取光盘的至少一条刻录轨道信息;
轨道数据获取模块302,用于从至少一条所述刻录轨道信息中,确定需要进行数据读取的目标刻录轨道信息,并根据所述目标刻录轨道信息,从所述光盘中读取获得目标轨道数据;
构建模块303,用于根据所述目标轨道数据,生成文件系统树;
管理模块304,用于响应于对所述文件系统树的管理操作,对所述目标轨道数据进行数据管理,获得待刻录的目标镜像文件;
刻录模块305,用于将所述目标镜像文件刻录至所述光盘。
可选的,所述轨道数据获取模块302还包括:
刻录会话获取子模块,用于获取所述目标刻录轨道信息对应的目标刻录会话;
刻录信息获取子模块,用于根据所述目标刻录会话,确定所述目标刻录轨道信息对应的目标轨道数据在光盘上的物理起点与数据长度;
目标轨道数据获取子模块,用于根据所述目标轨道数据的物理起点与数据长度,从所述光盘中读取获得所述目标轨道数据。
可选的,所述刻录信息获取子模块还包括:
卷描述符获取单元,用于根据所述目标刻录会话确定所述目标轨道数据的数据起始位,并通过所述数据起始位与基于所述光盘预设的区块偏移量,获取所述光盘的卷描述符;
刻录信息获取单元,用于根据所述卷描述符确定目标轨道数据在所述光盘上的物理起点与数据长度。
可选的,所述目标轨道数据获取子模块还包括:
缓存单元,用于每读取到所述目标轨道数据的一个数据块的情况下,将所述数据块存入缓存片区;
描述符验证单元,用于在所述数据块具有统一光盘格式标志位的情况下,获取所述数据块的系统描述符,并验证所述系统描述符的完整性,获得验证结果;所述系统描述符包括:主卷描述符、分区表描述符、逻辑卷描述符、文件组描述符;
数据保存单元,用于在所述验证结果为所述系统描述符包含主卷描述符、分区表描述符、逻辑卷描述符、文件组描述符,且所述主卷描述符、所述分区表描述符、所述逻辑卷描述符、所述文件组描述符均为完整的情况下,将所述缓存片区的数据块存入内存片区。
执行警告单元,用于在确定所述目标轨道的轨道数据中未含有所述标志位和/或所述验证结果中,所述主卷描述符、所述分区表描述符、所述逻辑卷描述符、所述文件组描述符中的任一种为不完整的情况下,产生系统报错以提示用户当前光盘不适用于统一光盘格式的文件系统,并停止继续读取目标轨道数据。
可选的,所述构建模块还包括:
读取子模块,用于从所述目标轨道数据中读取目标轨道数据的目录保存的数据对象的系统描述符;
构建子模块,用于针对每个所述数据对象,通过递归的方式,根据所述数据对象的系统描述符,构建树形结构中节点;一个节点用于表征一个数据对象;所述节点与所述系统描述符一一对应;
生成子模块,用于遍历完毕所述目标轨道数据的所有数据对象后,获得由所述节点构成的文件系统树。
可选的,所述读取子模块,包括:
入口记录获取单元,用于从所述目标轨道数据中读取目标轨道根目录的文件入口记录;
跳转单元,用于根据所述目标轨道根目录的文件入口记录,跳转至所述目标轨道根目录并获取所述目标轨道根目录中数据对象的系统描述符。
可选的,所述构建子模块,包括:
根节点单元,用于构建所述树形结构中与所述目标轨道根目录对应的根节点;
类型确定单元,用于从所述目标轨道根目录开始,依次确定每个所述目标轨道目录中数据对象的类型;
递归单元,用于根据所述数据对象的类型和所述数据对象的系统描述符,通过递归的方式构建树形结构中节点。
可选的,所述递归单元,包括:
文件处理子单元,用于在所述数据对象的类型为文件的情况下,构建所述树形结构中与所述文件对应的节点,并针对所述文件的下一个数据对象,进入所述依次确定每个所述光盘目录中数据对象的类型的步骤。
可选的,所述递归单元,包括:
文件夹处理子单元,用于在所述数据对象的类型为文件夹的情况下,构建所述树形结构中与所述文件夹对应的节点;
描述符读取子单元,用于从所述光盘中读取所述文件夹的目录中数据对象的系统描述符;
递归子单元,用于根据所述文件夹的目录中数据对象的系统描述符,通过递归的方式构建树形结构中与所述文件夹的目录中数据对象对应的节点;
循环子单元,用于在构建完毕与所述文件夹的目录中数据对象对应的节点后,针对所述文件夹的下一个数据对象,进入所述依次确定每个所述目标轨道的目录中数据对象的类型的步骤。
可选的,所述装置还包括:
添加子单元,用于在所述数据对象的类型为文件夹的情况下,将所述文件夹的目录中数据对象的系统描述符,添加至与所述文件夹对应的节点中。
可选的,所述构建子模块,包括:
第一添加单元,用于将所述数据对象的数据内容添加至与所述数据对象对应的节点中;
第二添加单元,用于提取所述系统描述符中的文件入口记录指引字段,并在根据所述文件入口记录指引字段从所述光盘提取所述数据对象的文件入口记录后,将所述文件入口记录添加至与所述数据对象对应的节点中;
第三添加单元,用于提取所述系统描述符中的文件类型字段,并在根据所述文件类型字段确定所述数据对象的类型后,将所述数据对象的类型添加至与所述数据对象对应的节点中;
第四添加单元,用于提取所述系统描述符中的文件名字段,并在将所述文件名字段解析为当前操作系统的格式后,将所述文件名字段添加至与所述数据对象对应的节点中。
可选的,所述管理模块304还包括:
镜像文件创建子模块,用于创建原始镜像文件,所述原始镜像文件为基于统一光盘格式的文件;
镜像文件适配子模块,用于修改所述原始镜像文件的系统描述符,使得所述原始镜像文件适配光盘追加刻录模式;
管理子模块,用于根据对所述文件系统树的管理操作与所述原始镜像文件,获得所述目标镜像文件。
可选的,所述管理子模块还包括:
轨道位置确定单元,用于响应于对所述文件系统树的管理操作,确定管理操作后所述文件系统树中每个节点的系统描述符和文件内容位于光盘刻录轨道上的物理位置;
偏移量确定单元,用于根据所述物理位置与所述原始镜像文件,确定每个节点在所述目标轨道上的刻录偏移量;
文件内容覆写单元,用于对所述文件系统树进行遍历,将所有节点的系统描述符与文件内容写入原始镜像文件;
偏移量覆写单元,用于再次对所述文件系统树进行遍历,将所有节点的刻录偏移量写入原始镜像文件,获得所述目标镜像文件。
综上所述,本申请实施例提供的一种光盘追加刻录的装置,通过Linux操作系统的系统指令获取光盘的至少一条刻录轨道信息后,并从至少一条刻录轨道信息中,选取需要进行数据读取的目标刻录轨道信息,进而根据目标刻录轨道信息,从光盘中读取获得目标轨道数据;再根据目标轨道数据,构建生成文件系统树。随后响应于对文件系统树的管理操作,对目标轨道数据进行数据管理,获得待刻录的目标镜像文件,最后将所述目标镜像文件刻录至原光盘。在Linux端利用镜像文件实现对光盘的追加刻录,本申请在Linux端实现对在Windows环境下多次追加刻录后的光盘中任一次的刻录数据进行读取与管理,方便了Linux端在对光盘追加刻录时,能够对光盘的任意一次刻录数据进行读取并在此基础上实现追加刻录,提高了Linux端对光盘的数据管理效率。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
本申请实施例提供的一种光盘追加刻录装置,包括有存储器,以及一个以上的程序,其中一个以上程序存储于存储器中,且经配置以由一个以上处理器执行所述一个以上程序包含用于进行上述一个或多个实施例中所述的方法。
图10是根据一示例性实施例示出的一种光盘追加刻录装置800的框图。例如,装置800可以是移动电话,计算机,数字广播终端,消息收发设备,游戏控制台,平板设备,医疗设备,健身设备,个人数字助理等。
参照图10,装置800可以包括以下一个或多个组件:处理组件802,存储器804,电源组件806,多媒体组件808,音频组件810,输入/输出(I/O)的接口812,传感器组件814,以及通信组件816。
处理组件802通常控制装置800的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理元件802可以包括一个或多个处理器820来执行指令,以完成上述的方法的全部或部分步骤。此外,处理组件802可以包括一个或多个模块,便于处理组件802和其他组件之间的交互。例如,处理组件802可以包括多媒体模块,以方便多媒体组件808和处理组件802之间的交互。
存储器804被配置为存储各种类型的数据以支持在设备800的操作。这些数据的示例包括用于在装置800上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。存储器804可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
电源组件806为装置800的各种组件提供电力。电源组件806可以包括电源管理系统,一个或多个电源,及其他与为装置800生成、管理和分配电力相关联的组件。
多媒体组件808包括在所述装置800和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件808包括一个前置摄像头和/或后置摄像头。当设备800处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜系统或具有焦距和光学变焦能力。
音频组件810被配置为输出和/或输入音频信号。例如,音频组件810包括一个麦克风(MIC),当装置800处于操作模式,如呼叫模式、记录模式和语音信息处理模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器804或经由通信组件816发送。在一些实施例中,音频组件810还包括一个扬声器,用于输出音频信号。
I/O接口812为处理组件802和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。
传感器组件814包括一个或多个传感器,用于为装置800提供各个方面的状态评估。例如,传感器组件814可以检测到设备800的打开/关闭状态,组件的相对定位,例如所述组件为装置800的显示器和小键盘,传感器组件814还可以搜索装置800或装置800一个组件的位置改变,用户与装置800接触的存在或不存在,装置800方位或加速/减速和装置800的温度变化。传感器组件814可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件814还可以包括光传感器,如CMOS或CCD图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件814还可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。
通信组件816被配置为便于装置800和其他设备之间有线或无线方式的通信。装置800可以接入基于通信标准的无线网络,如WiFi,2G或3G,或它们的组合。在一个示例性实施例中,通信组件816经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件816还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频信息处理(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。
在示例性实施例中,装置800可以被一个或多个应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述方法。
在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器804,上述指令可由装置800的处理器820执行以完成上述方法。例如,所述非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
图11是本申请的一些实施例中服务器的结构示意图。该服务器1900可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(central processingunits,CPU)1922(例如,一个或一个以上处理器)和存储器1932,一个或一个以上存储应用程序1942或数据1944的存储介质1930(例如一个或一个以上海量存储设备)。其中,存储器1932和存储介质1930可以是短暂存储或持久存储。存储在存储介质1930的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对服务器中的一系列指令操作。更进一步地,中央处理器1922可以设置为与存储介质1930通信,在服务器1900上执行存储介质1930中的一系列指令操作。
服务器1900还可以包括一个或一个以上电源1926,一个或一个以上有线或无线网络接口1950,一个或一个以上输入输出接口1958,一个或一个以上键盘1956,和/或,一个或一个以上操作系统1941,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等等。
一种非临时性计算机可读存储介质,当所述存储介质中的指令由装置(服务器或者终端)的处理器执行时,使得装置能够执行上述实施例方法。
一种非临时性计算机可读存储介质,当所述存储介质中的指令由装置(服务器或者终端)的处理器执行时,使得装置能够执行上述实施例方法的描述,因此,这里将不再进行赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。对于本申请所涉及的计算机程序产品或者计算机程序实施例中未披露的技术细节,请参照本申请方法实施例的描述。
此外,需要说明的是:本申请实施例还提供了一种计算机程序产品或计算机程序,该计算机程序产品或者计算机程序可以包括计算机指令,该计算机指令可以存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器可以执行该计算机指令,使得该计算机设备执行上述实施例方法的描述,因此,这里将不再进行赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。对于本申请所涉及的计算机程序产品或者计算机程序实施例中未披露的技术细节,请参照本申请方法实施例的描述。
本领域技术人员在考虑说明书及实践这里公开的申请后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由下面的权利要求指出。
应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求来限制。
以上所述仅为本申请的较佳实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
以上对本申请所提供的一种光盘追加刻录的方法、装置、电子设备及计算机可读存储介质,进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。

Claims (15)

1.一种光盘追加刻录的方法,其特征在于,所述方法包括:
获取光盘的至少一条刻录轨道信息;
从至少一条所述刻录轨道信息中,确定需要进行数据读取的目标刻录轨道信息;
获取所述目标刻录轨道信息对应的目标刻录会话;
根据所述目标刻录会话,确定所述目标刻录轨道信息对应的目标轨道数据在光盘上的物理起点与数据长度;
根据所述目标轨道数据的物理起点与数据长度,从所述光盘中读取获得所述目标轨道数据;
根据所述目标轨道数据,生成文件系统树;
响应于对所述文件系统树的管理操作,对所述目标轨道数据进行数据管理,获得待刻录的目标镜像文件;
将所述目标镜像文件刻录至所述光盘。
2.根据权利要求1所述的光盘追加刻录的方法,其特征在于,所述根据所述目标刻录会话,确定所述目标刻录轨道信息对应的目标轨道数据在光盘上的物理起点与数据长度,包括:
根据所述目标刻录会话确定所述目标轨道数据的数据起始位,并通过所述数据起始位与基于所述光盘预设的区块偏移量,获取所述光盘的卷描述符;
根据所述卷描述符确定所述目标轨道数据在所述光盘上的物理起点与数据长度。
3.根据权利要求1所述的光盘追加刻录的方法,其特征在于,在从所述光盘中读取所述目标轨道数据的过程中,所述方法还包括:
每读取到所述目标轨道数据的一个数据块,将所述数据块存入缓存片区;
若所述数据块具有统一光盘格式标志位,则获取所述数据块的系统描述符,并验证所述系统描述符的完整性,获得验证结果;所述系统描述符包括:主卷描述符、分区表描述符、逻辑卷描述符、文件组描述符;
在所述验证结果为所述系统描述符包含主卷描述符、分区表描述符、逻辑卷描述符、文件组描述符,且所述主卷描述符、所述分区表描述符、所述逻辑卷描述符、所述文件组描述符均为完整的情况下,将所述缓存片区的数据块存入内存片区。
4.根据权利要求3所述的光盘追加刻录的方法,其特征在于,所述方法还包括:
在确定所述目标轨道的轨道数据中未含有所述标志位和/或所述验证结果中,所述主卷描述符、所述分区表描述符、所述逻辑卷描述符、所述文件组描述符中的任一种为不完整的情况下,产生系统报错以提示用户当前光盘不适用于统一光盘格式的文件系统,并停止继续读取目标轨道数据。
5.根据权利要求1所述的光盘追加刻录的方法,其特征在于,所述根据所述目标轨道数据,生成文件系统树,包括:
从所述目标轨道数据中读取目标轨道数据的目录中保存的数据对象的系统描述符;
针对每个所述数据对象,通过递归的方式,根据所述数据对象的系统描述符,构建树形结构中的节点;一个节点用于表征一个数据对象;所述节点与所述系统描述符一一对应;
遍历完毕所述目标轨道数据的所有数据对象后,获得由所述节点构成的文件系统树。
6.根据权利要求5所述的光盘追加刻录的方法,其特征在于,所述从所述目标轨道数据中读取目标轨道目录中保存的数据对象的系统描述符,包括:
从所述目标轨道数据中读取目标轨道根目录的文件入口记录;
根据所述目标轨道根目录的文件入口记录,跳转至所述目标轨道根目录并获取所述目标轨道根目录中数据对象的系统描述符。
7.根据权利要求6所述的光盘追加刻录的方法,其特征在于,所述针对每个所述数据对象,通过递归的方式,根据所述数据对象的系统描述符,构建树形结构中的节点,包括:
构建所述树形结构中与所述目标轨道根目录对应的根节点;
从所述目标轨道根目录开始,依次确定所述目标轨道目录中的每个数据对象的类型;
根据每个所述数据对象的类型和所述数据对象的系统描述符,通过递归的方式构建树形结构中的节点。
8.根据权利要求7所述的光盘追加刻录的方法,其特征在于,所述根据每个所述数据对象的类型和所述数据对象的系统描述符,通过递归的方式构建树形结构中的节点,包括:
在所述数据对象的类型为文件的情况下,构建所述树形结构中与所述文件对应的节点,并针对所述文件的下一个数据对象,进入所述依次确定所述目标轨道目录中的每个数据对象的类型的步骤。
9.根据权利要求7所述的光盘追加刻录的方法,其特征在于,所述根据每个所述数据对象的类型和所述数据对象的系统描述符,通过递归的方式构建树形结构中的节点,包括:
在所述数据对象的类型为文件夹的情况下,构建所述树形结构中与所述文件夹对应的节点;
从所述目标轨道目录中读取所述文件夹的目录中数据对象的系统描述符;
根据所述文件夹的目录中数据对象的系统描述符,通过递归的方式构建树形结构中与所述文件夹的目录中每个数据对象对应的节点;
在构建完毕与所述文件夹的目录中每个数据对象对应的节点后,针对所述文件夹的下一个数据对象,进入所述依次确定所述目标轨道目录中的每个数据对象的类型的步骤。
10.根据权利要求5所述的光盘追加刻录的方法,其特征在于,所述根据所述数据对象的系统描述符,构建树形结构中的节点,包括:
将所述数据对象的数据内容添加至与所述数据对象对应的节点中;
提取所述系统描述符中的文件入口记录指引字段,并在根据所述文件入口记录指引字段从所述目标轨道提取所述数据对象的文件入口记录后,将所述文件入口记录添加至与所述数据对象对应的节点中;
提取所述系统描述符中的文件类型字段,并在根据所述文件类型字段确定所述数据对象的类型后,将所述数据对象的类型添加至与所述数据对象对应的节点中;
提取所述系统描述符中的文件名字段,并在将所述文件名字段解析为当前操作系统的格式后,将所述文件名字段添加至与所述数据对象对应的节点中。
11.根据权利要求1所述的光盘追加刻录的方法,其特征在于,所述响应于对所述文件系统树的管理操作,对所述目标轨道数据进行数据管理,获得待刻录的目标镜像文件,包括:
创建原始镜像文件,所述原始镜像文件为基于统一光盘格式的文件;
修改所述原始镜像文件的系统描述符,使得所述原始镜像文件适配光盘追加刻录模式;
根据对所述文件系统树的管理操作与所述原始镜像文件,获得所述目标镜像文件。
12.根据权利要求11所述的光盘追加刻录的方法,其特征在于,所述对所述文件系统树的管理操作包括:对所述文件系统树中节点的数据进行增添、删除、修改中的一种或多种操作;
所述根据对所述文件系统树的管理操作与所述原始镜像文件,获得所述目标镜像文件,包括:
响应于对所述文件系统树的管理操作,确定管理操作后所述文件系统树中每个节点的系统描述符和文件内容后续在光盘上刻录的物理位置;
根据所述物理位置与所述原始镜像文件,确定管理操作后所述文件系统树中每个节点的偏移量;
对所述文件系统树进行遍历,将管理操作后所述文件系统树中所有节点的系统描述符与文件内容写入所述原始镜像文件;
再次对所述文件系统树进行遍历,将所有节点的偏移量写入所述原始镜像文件,获得所述目标镜像文件。
13.一种光盘追加刻录的装置,其特征在于,所述装置包括:
轨道信息获取模块,用于获取光盘的至少一条刻录轨道信息;
轨道数据获取模块,用于从至少一条所述刻录轨道信息中,确定需要进行数据读取的目标刻录轨道信息;
刻录会话获取子模块,用于获取所述目标刻录轨道信息对应的目标刻录会话;
刻录信息获取子模块,用于根据所述目标刻录会话,确定所述目标刻录轨道信息对应的目标轨道数据在光盘上的物理起点与数据长度;
目标轨道数据获取子模块,用于根据所述目标轨道数据的物理起点与数据长度,从所述光盘中读取获得所述目标轨道数据;
构建模块,用于根据所述目标轨道数据,生成文件系统树;
管理模块,用于响应于对所述文件系统树的管理操作,对所述目标轨道数据进行数据管理,获得待刻录的目标镜像文件;
刻录模块,用于将所述目标镜像文件刻录至所述光盘。
14.一种电子设备,其特征在于,包括:处理器;
用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为执行所述指令,以实现如权利要求1至12中任一项所述的方法。
15.一种可读存储介质,其特征在于,当所述可读存储介质中的指令由电子设备的处理器执行时,使得所述电子设备能够执行如权利要求1至12中任一项所述的方法。
CN202310617930.0A 2023-05-29 2023-05-29 光盘追加刻录的方法、装置、电子设备及可读存储介质 Active CN116778975B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310617930.0A CN116778975B (zh) 2023-05-29 2023-05-29 光盘追加刻录的方法、装置、电子设备及可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310617930.0A CN116778975B (zh) 2023-05-29 2023-05-29 光盘追加刻录的方法、装置、电子设备及可读存储介质

Publications (2)

Publication Number Publication Date
CN116778975A CN116778975A (zh) 2023-09-19
CN116778975B true CN116778975B (zh) 2024-03-12

Family

ID=87985142

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310617930.0A Active CN116778975B (zh) 2023-05-29 2023-05-29 光盘追加刻录的方法、装置、电子设备及可读存储介质

Country Status (1)

Country Link
CN (1) CN116778975B (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113066515A (zh) * 2021-04-14 2021-07-02 统信软件技术有限公司 一种光盘刻录方法、计算设备及可读存储介质
CN113553010A (zh) * 2021-07-27 2021-10-26 成都统信软件技术有限公司 一种光盘文件校验方法、光盘刻录方法及计算设备
CN113791732A (zh) * 2021-01-08 2021-12-14 统信软件技术有限公司 一种光盘信息获取方法、计算设备及可读存储介质
CN113823331A (zh) * 2021-10-12 2021-12-21 成都统信软件技术有限公司 一种光盘追加刻录方法、装置及计算设备

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005100095A (ja) * 2003-09-25 2005-04-14 Ricoh Co Ltd イメージデータ作成方法、記録方法、プログラム及び記録媒体、光ディスク、並びに情報記録システム

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113791732A (zh) * 2021-01-08 2021-12-14 统信软件技术有限公司 一种光盘信息获取方法、计算设备及可读存储介质
CN113066515A (zh) * 2021-04-14 2021-07-02 统信软件技术有限公司 一种光盘刻录方法、计算设备及可读存储介质
CN113553010A (zh) * 2021-07-27 2021-10-26 成都统信软件技术有限公司 一种光盘文件校验方法、光盘刻录方法及计算设备
CN113823331A (zh) * 2021-10-12 2021-12-21 成都统信软件技术有限公司 一种光盘追加刻录方法、装置及计算设备

Also Published As

Publication number Publication date
CN116778975A (zh) 2023-09-19

Similar Documents

Publication Publication Date Title
WO2022242351A1 (zh) 一种多媒体处理方法、装置、设备及介质
CN111654749B (zh) 视频资料制作方法及装置、电子设备、计算机可读介质
CN105204959A (zh) 恢复ext文件系统中已删除文件的方法及装置
CN103217171A (zh) 一种用户编辑地图数据的导航设备及方法
CN105446768A (zh) 系统升级方法及装置
CN105512294A (zh) 一种多媒体文件的更新提示方法和装置
EP2950486A1 (en) Method and device for managing instant message
CN113010698A (zh) 多媒体的交互方法、信息交互方法、装置、设备及介质
CN108182129A (zh) 一种基于移动终端镜像还原数据信息的数字取证系统及方法
CN115185967A (zh) 数据处理方法、装置、电子设备和存储介质
CN117170538A (zh) 一种文档处理方法、装置、设备和介质
CN111212227A (zh) 摄像头录像分辨率的配置方法、装置、设备和存储介质
CN111831815A (zh) 问卷显示的控制方法、装置、存储介质和电子设备
CN104681049B (zh) 提示信息的显示方法及装置
CN116778975B (zh) 光盘追加刻录的方法、装置、电子设备及可读存储介质
CN113010157A (zh) 一种代码生成方法及装置
CN110928854A (zh) 数据导入方法、装置及电子设备
CN111290882B (zh) 数据文件备份方法、数据文件备份装置及电子设备
CN116774927B (zh) 光盘数据的管理方法、装置、电子设备及可读存储介质
US20210397652A1 (en) Method and apparatus for producing video material, electronic device and computer readable medium
WO2015131700A1 (zh) 文件存储方法及装置
CN111638907A (zh) 第三方代码片段的替换方法、装置、终端及存储介质
CN111274210B (zh) 元数据处理方法、装置及电子设备
WO2024037598A1 (zh) 视频处理方法、装置及电子设备
CN111880696B (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
GR01 Patent grant
GR01 Patent grant