CN116774927B - 光盘数据的管理方法、装置、电子设备及可读存储介质 - Google Patents
光盘数据的管理方法、装置、电子设备及可读存储介质 Download PDFInfo
- Publication number
- CN116774927B CN116774927B CN202310615540.XA CN202310615540A CN116774927B CN 116774927 B CN116774927 B CN 116774927B CN 202310615540 A CN202310615540 A CN 202310615540A CN 116774927 B CN116774927 B CN 116774927B
- Authority
- CN
- China
- Prior art keywords
- file
- data object
- optical disc
- data
- node
- 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
Links
- 230000003287 optical effect Effects 0.000 title claims abstract description 182
- 238000000034 method Methods 0.000 title claims abstract description 73
- 238000013523 data management Methods 0.000 title description 4
- 230000004044 response Effects 0.000 claims abstract description 19
- 230000006870 function Effects 0.000 claims description 56
- 238000003780 insertion Methods 0.000 claims description 23
- 230000037431 insertion Effects 0.000 claims description 23
- 238000010276 construction Methods 0.000 claims description 12
- 230000004048 modification Effects 0.000 claims description 9
- 238000012986 modification Methods 0.000 claims description 9
- 230000009191 jumping Effects 0.000 claims description 3
- 238000007726 management method Methods 0.000 description 16
- 230000008569 process Effects 0.000 description 16
- 238000010586 diagram Methods 0.000 description 14
- 238000012545 processing Methods 0.000 description 13
- 238000004891 communication Methods 0.000 description 11
- 238000004590 computer program Methods 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 6
- 238000012217 deletion Methods 0.000 description 5
- 230000037430 deletion Effects 0.000 description 5
- 230000005236 sound signal Effects 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 230000001133 acceleration Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 230000010365 information processing Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
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/0604—Improving or facilitating administration, e.g. storage management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/16—File or folder operations, e.g. details of user interfaces specifically adapted to file systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/16—File or folder operations, e.g. details of user interfaces specifically adapted to file systems
- G06F16/162—Delete operations
-
- 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/0652—Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket
-
- 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)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请提供了一种光盘数据的管理方法、装置、电子设备及计算机可读存储介质,包括:从光盘中读取光盘目录保存的数据对象的文件标志描述符;针对每个数据对象,通过递归的方式,根据数据对象的文件标志描述符,构建树形结构中节点;遍历完毕光盘的所有数据对象后,获得由节点构成的文件系统树并展示;响应于对文件系统树的控制操作,对读取到本地的数据对象进行管理。本申请实现了在Linux系统的电子设备中既对Windows系统刻录的光盘的数据进行读取,又对读取的数据进行基于文件系统的文件管理的目的。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种光盘数据的管理方法、装置、电子设备及计算机可读存储介质。
背景技术
光盘是数据存储及使用过程的重要承载介质,计算机设备可以通过光驱对光盘进行数据读取。
目前,Windows操作系统(视窗操作系统)的设备对光盘进行刻录后,光盘是通过统一光盘格式(UDF,Universal Disc Format)文件系统对光盘数据进行的管理,而在Windows操作系统的设备刻录过的光盘插入Linux操作系统(一种开源操作系统)的设备中时,由于Linux操作系统的设备对UDF文件系统的不完全兼容,导致Linux操作系统的设备只能读取光盘的数据,而无法进一步对读取的数据进行基于文件系统的管理。
从而,目前的方案中,Linux操作系统的设备对从上述光盘读取的数据的操作受限,难以实现对读取数据的进一步管理。
发明内容
本申请实施例提供一种光盘数据的管理方法及装置,以解决现有技术中Linux操作系统的设备对从上述光盘读取的数据的操作受限,难以实现对读取数据的进一步管理的问题。
第一方面,本申请实施例提供了一种光盘数据的管理方法,所述方法包括:
从光盘中读取光盘目录保存的数据对象的文件标志描述符;
针对每个所述数据对象,通过递归的方式,根据所述数据对象的文件标志描述符,构建树形结构中节点;一个节点用于表征一个数据对象;所述节点与所述文件标志描述符一一对应;
遍历完毕所述光盘的所有数据对象后,获得由所述节点构成的文件系统树并展示;
响应于对所述文件系统树的控制操作,对读取到本地的所述数据对象进行管理。
第二方面,本申请实施例提供了一种光盘数据的管理装置,所述装置包括:
读取模块,用于从光盘中读取光盘目录保存的数据对象的文件标志描述符;
构建模块,用于针对每个所述数据对象,通过递归的方式,根据所述数据对象的文件标志描述符,构建树形结构中节点;一个节点用于表征一个数据对象;所述节点与所述文件标志描述符一一对应;
生成模块,用于遍历完毕所述光盘的所有数据对象后,获得由所述节点构成的文件系统树并展示;
管理模块,用于响应于对所述文件系统树的控制操作,对读取到本地的所述数据对象进行管理。
第三方面,本申请实施例还提供了一种电子设备,包括处理器;
用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为执行所述指令,以实现所述第一方面的方法。
第四方面,本申请实施例还提供了一种计算机可读存储介质,当所述计算机可读存储介质中的指令由电子设备的处理器执行时,使得所述电子设备能够执行所述第一方面的方法。
本申请实施例的电子设备可以通过从Windows系统刻录的光盘上读取的各个光盘目录下的文件标志描述符信息,以递归的方式构建一个文件系统树,从而在Linux系统的电子设备中,实现对从光盘读取到本地的数据对象进行管理的文件系统,并通过对文件系统树的控制操作,对从光盘读取到本地的数据对象进行管理,从而实现了在Linux系统的电子设备中既对Windows系统刻录的光盘的数据进行读取,又对读取的数据进行基于文件系统的文件管理的目的。
上述说明仅是本申请技术方案的概述,为了能够更清楚了解本申请的技术手段,而可依照说明书的内容予以实施,并且为了让本申请的上述和其它目的、特征和优点能够更明显易懂,以下特举本申请的具体实施方式。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见的,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种实施场景图;
图2是本申请实施例提供的一种光盘数据的管理方法的步骤流程图;
图3是本申请实施例提供的一种根目录下数据对象的示意图;
图4是本申请实施例提供的一种文件系统树的示意图;
图5是本申请实施例提供的一种光盘数据的管理方法的具体步骤流程图;
图6是本申请实施例提供的另一种目录下数据对象的示意图;
图7是本申请实施例提供的一种光盘数据的管理装置框图;
图8是本申请的一种装置的框图;
图9是本申请的一些实施例中服务器的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请的说明书和权利要求书中的术语“第一”、“第二”等是用于区别类似的对象,而不用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施,且“第一”、“第二”等所区分的对象通常为一类,并不限定对象的个数,例如第一对象可以是一个,也可以是多个。此外,说明书以及权利要求中的术语“和/或”用于描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。本申请实施例中术语“多个”是指两个或两个以上,其它量词与之类似。
参照图1,图1是本申请实施例提供的一种实施场景图,电子设备可以包括:电子设备10和光盘20,其中,电子设备10中可以运行有第一操作系统,光盘20是由第二操作系统的设备刻录后得到的光盘。优选的,第一操作系统为Linux操作系统,第二操作系统为Windows操作系统。
其中,由于Windows操作系统的设备对光盘20进行刻录后,光盘20是通过UDF文件系统对光盘数据进行的管理,而在光盘20插入Linux操作系统的电子设备10中时,由于Linux操作系统UDF文件系统的不完全兼容,导致电子设备10只能读取光盘20的数据,而无法进一步对读取的数据进行基于文件系统的管理,这就导致在电子设备10上难以展开对光盘20的追加刻录。
为了解决上述问题,本申请实施例的电子设备可以通过从Windows系统刻录的光盘上读取的各个光盘目录下的文件标志描述符信息,以递归的方式构建一个文件系统树,从而在Linux系统的电子设备中,实现对从光盘读取到本地的数据对象进行管理的文件系统,并通过对文件系统树的控制操作,对从光盘读取到本地的数据对象进行管理,从而实现了在Linux系统的电子设备中既对Windows系统刻录的光盘的数据进行读取,又对读取的数据进行基于文件系统的文件管理的目的。
图2,是本申请实施例提供的一种光盘数据的管理方法的步骤流程图,应用于Linux操作系统的电子设备,如图2所示,该方法可以包括:
步骤101、从光盘中读取光盘目录保存的数据对象的文件标志描述符。
在实际应用中,电子设备可以对插入光驱的光盘进行数据读取,但是,在linux系统的电子设备读取Windows系统刻录的光盘时,由于Linux操作系统的电子设备对Windows系统的UDF文件系统的不完全兼容,导致Linux操作系统的电子设备只能读取光盘的数据,而无法进一步对读取的数据进行基于文件系统的管理。本申请实施例可以通过从光盘中读取光盘目录保存的数据对象的文件标志描述符,来构建一个可以在Linux操作系统的电子设备上对从光盘上读取的数据对象进行管理的文件系统树,从而解决上述问题。
具体的,光盘中的数据对象包括文件和文件夹,文件即是单一数据对象,而文件夹是包含多个数据对象的集合,光盘中的一个文件夹也可以视作一个光盘目录;对于光盘目录,电子设备可以从光盘目录中读取到光盘目录保存的数据对象的文件标志描述符(fid,File Identifier Descriptor),数据对象和文件标志描述符一一对应。文件标志描述符是操作系统对数据对象的抽象标记,操作系统内核可以通过文件标志描述符来访问对应数据对象,打开现存数据对象或新建数据对象时,内核会返回一个文件描述符,读写数据对象也需要使用文件标志描述符来指定待读写的数据对象。文件标志描述符可以通过包含的各个字段,定义对应数据对象的各种属性信息。
在本申请实施例中,光盘目录下各个数据对象的文件标志描述符,记录了光盘目录与其中各个数据对象的层级关系,因此后续可以利用光盘目录保存的各个数据对象的文件标志描述符所表征的层级关系,来构建文件系统树。
步骤102、针对每个所述数据对象,通过递归的方式,根据所述数据对象的文件标志描述符,构建树形结构中的节点。
其中,一个节点用于表征一个数据对象;所述节点与所述文件标志描述符一一对应。
在本申请实施例中,电子设备读取光盘中的数据时,是按照一定顺序进行数据对象的读取的,针对读取到的数据对象,也可通过读取顺序保存在电子设备的本地。基于读取到的数据对象,本申请实施例可以采用递归的方式,根据数据对象的文件标志描述符,构建树形结构中的节点。
具体的,一个文件标志描述符可以对应建立一个树形结构的节点,使得该节点可以表征该文件标志描述符对应的数据对象。递归是指一种通过重复将问题分解为同类的子问题而解决问题的方法,递归可以应用在本申请实施例的文件系统树构建场景中解决自动化构建文件系统树的问题。
在本申请实施例中,简单来说递归是指在按照顺序建立每个数据对象对应的节点的过程中,每遇到一个文件夹,则进入该文件夹的目录,开始进行针对该文件夹目录中的数据对象的节点建立,直至该文件夹目录下所有数据对象(包含文件夹目录下包含的其他文件夹的目录)对应的节点构建完毕后,再回归该文件夹的层级,开始该文件夹的下一个数据对象的节点构建,直至从光盘读取的所有数据对象都构建了对应节点,从而获得文件系统树。
步骤103、遍历完毕所述光盘的所有数据对象后,获得由所述节点构成的文件系统树并展示。
在电子设备从光盘中读取的所有数据对象都遍历完毕并分别建立了对应的节点后,则得到文件系统树。文件系统树可以表征根目录文件夹下所有数据对象的关系,对文件系统树进行渲染,可以获得对从光盘读取的数据对象进行操作的文件系统的界面,即将文件系统树可视化展示。
接下来通过一个示例进行文件系统树构建过程的描述,参照图3,其示出了一种根目录下数据对象的示意图,其中电子设备从光盘的根目录文件夹读取了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各自的文件标志描述符。
参照图4,其示出了一种文件系统树的示意图,则按照递归方式构建用于表征根目录下所有数据对象的文件系统树的过程包括:先将根目录文件夹构建为树形结构的根节点;再构建文件夹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的文件系统树。
按照图3中文件夹与包含文件的对应关系,图4的文件系统树中节点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的子节点。
步骤104,响应于对所述文件系统树的控制操作,对读取到本地的所述数据对象进行管理。
在本申请实施例中,由于文件系统树表征了从光盘读取的数据对象的关系,则文件系统树可以作为文件管理系统,接收输入的控制操作,从而通过控制操作在改变文件系统树的同时,实现改变从光盘读取到本地的数据对象的目的,进而改变后的数据对象可以封装为镜像文件再次刻录到光盘中,从而实现了linux操作系统的电子设备中对光盘的追加刻录。
例如,响应于对文件系统树中某一节点的删除操作,则从光盘读取到本地的数据对象中,也会删除与该节点对应的数据对象。需要说明的是,控制操作不仅包含删除节点的操作,也可以包含增加新节点、替换已有节点等操作,从而实现新增数据对象、替换已有数据对象的目的。
需要说明的是,本申请实施例适用于使用linux内核的硬件设备,该硬件设备能够正常运行linux操作系统。
综上,本申请实施例的电子设备可以通过从Windows系统刻录的光盘上读取的各个光盘目录下的文件标志描述符信息,以递归的方式构建一个文件系统树,从而在Linux系统的电子设备中,实现对从光盘读取到本地的数据对象进行管理的文件系统,并通过对文件系统树的控制操作,对从光盘读取到本地的数据对象进行管理,从而实现了在Linux系统的电子设备中既对Windows系统刻录的光盘的数据进行读取,又对读取的数据进行基于文件系统的文件管理的目的。
图5是本申请实施例提供的一种光盘数据的管理方法的具体步骤流程图,如图5所示,该方法可以包括:
步骤201、从所述光盘中读取光盘根目录的文件入口记录。
在本申请实施例中,构建文件系统树的过程,可以从光盘读取的光盘根目录开始,首先构建光盘根目录对应的根节点,之后开始构建光盘根目录下数据对象的节点。
具体的,构建光盘根目录下数据对象的节点之前,首先要从光盘中读取光盘根目录的文件入口记录(fe,File Entry)信息,文件入口记录是Linux操作系统的ECMA-167文档所定义的数据结构,文件入口记录具有对应的跳转指针,从而可以跳转至光盘根目录下,读取根目录的文件的文件标志描述符。
步骤202、根据所述光盘根目录的文件入口记录,跳转至所述光盘根目录并获取所述光盘根目录中数据对象的文件标志描述符。
在本申请实施例中,根据所述光盘根目录的文件入口记录中的跳转指针,可以跳转至光盘根目录,并获取光盘根目录中数据对象的文件标志描述符,以供后续根据光盘根目录中数据对象的文件标志描述符,开始文件系统树的构建。
步骤203、构建所述树形结构中与所述光盘根目录对应的根节点。
构建文件系统树的过程中,首先可以构建与光盘根目录对应的根节点,以使得文件系统树可以表征光盘根目录下各个数据对象之间的关联。
步骤204、从所述光盘根目录开始,依次确定所述光盘目录中每个数据对象的类型。
在本申请实施例中,光盘中的数据对象具有两种数据类型:文件和文件夹,文件即是单一数据对象,而文件夹是包含多个数据对象的集合。本申请实施例可以从光盘根目录开始,依次确定光盘目录中每个数据对象的类型,以供后续依据数据对象的类型建立文件系统树。
可选的,步骤204具体可以包括子步骤2041-2042:
子步骤2041、提取所述数据对象的文件标志描述符中的文件类型字段。
子步骤2042、根据所述文件类型字段,确定所述数据对象的类型为文件或文件夹。
在本申请实施例中,数据对象的文件标志描述符中具有文件类型字段fileCharacteristics,读取该文件类型字段fileCharacteristics后,可以判断数据对象是否是文件夹属性FID_FILE_CHAR_DIRECTORY;若数据对象是文件夹属性,则该数据对象的类型为文件夹;若数据对象不是文件夹属性,则该数据对象的类型为文件。从而本申请实施例可以通过数据对象的文件标志描述符中的文件类型字段,来确定数据对象的类型为文件或文件夹。
步骤205、根据所述数据对象的类型和所述数据对象的文件标志描述符,通过递归的方式构建树形结构中的节点。
在该步骤中,通过递归的方式,依据数据对象的类型和数据对象的文件标志描述符构建树形结构中的节点,是指在按照顺序建立每个数据对象对应的节点的过程中:每遇到一个文件,则建立该文件对应的节点;每遇到一个文件夹,则进入该文件夹的目录,开始进行针对该文件夹目录中的数据对象的节点建立,直至该文件夹目录下所有数据对象(包含文件夹目录下包含的其他文件夹的目录)对应的节点构建完毕后,再回归该文件夹的层级,开始该文件夹的下一个数据对象的节点构建;直至从光盘读取的所有数据对象都构建了对应节点,从而获得文件系统树。
可选的,步骤205具体可以包括子步骤2051:
子步骤2051、在所述数据对象的类型为文件的情况下,构建所述树形结构中与所述文件对应的节点,并针对所述文件的下一个数据对象,进入依次确定所述光盘目录中每个数据对象的类型的步骤。
在本申请实施例中,遍历从光盘读取到的数据对象的文件标志描述符的过程中,在确定遍历到的数据对象的类型为文件的情况下,则可以直接构建该文件对应的节点,该节点可以是该文件所属文件夹对应节点的子节点。构建了文件对应的节点后,可以继续遍历下一个数据对象,依据下一个数据对象的类型进行节点的构建。文件对应的节点的具体构建过程可以参照上述图3、4中文件2、文件4、文件1-1、文件1-3、文件1-2-1、文件1-2-2、文件1-2-3、文件3-1、文件3-2的节点构建过程的相关描述。
可选的,步骤205具体可以包括子步骤2052-2054:
子步骤2052、在所述数据对象的类型为文件夹的情况下,构建所述树形结构中与所述文件夹对应的节点。
子步骤2053、根据所述文件夹的目录中数据对象的文件标志描述符,通过递归的方式构建树形结构中与所述文件夹的目录中数据对象对应的节点。
子步骤2054、在构建完毕与所述文件夹的目录中数据对象对应的节点后,针对所述文件夹的下一个数据对象,进入所述依次确定所述光盘目录中每个数据对象的类型的步骤。
在本申请实施例中,针对子步骤2052-2054,在遍历到的数据对象的类型为文件夹的情况下,则需要通过递归的思想进行对应节点的构建。
具体是指,先针对文件夹建立对应的节点,该节点是文件夹所属的上层文件夹的节点的子节点;之后再获取该文件夹的目录中存储的数据对象的文件标志符(文件标志符属于系统描述符的一种),并调用递归函数,将该文件夹对应的节点和文件夹的目录中存储的数据对象的文件标志符传入递归函数,开始递归操作;即开始进行针对该文件夹目录中的数据对象的节点建立过程,直至该文件夹目录下所有数据对象(包含文件夹目录下包含的其他文件夹的目录)对应的节点构建完毕后,再回归该文件夹的层级,开始该文件夹的下一个数据对象的节点构建。其中,在创建一个文件夹对应的节点时,可以将文件夹节点内第一个文件节点的指针(stfd)链接指向该文件夹对应的节点。
文件夹对应的节点,以及文件夹中数据对象对应的节点的具体构建过程可以参照上述图3、4中根目录文件夹、文件夹1、文件夹3、文件夹1-2的节点构建过程的相关描述。
可选的,步骤205还可以包括子步骤2055:
子步骤2055、在所述数据对象的类型为文件夹的情况下,将所述文件夹的目录中数据对象的文件标志描述符,添加至与所述文件夹对应的节点中。
在本申请实施例中,文件系统树中的节点记录了对应数据对象的重要属性信息,在一个节点对应的数据对象为文件夹时,该文件夹的目录中数据对象的文件标志描述符也是该节点需要存储的重要属性信息,文件夹的目录中数据对象的文件标志描述符用于表征文件夹包含有哪些文件。因此,在数据对象的类型为文件夹的情况下,可以将文件夹的目录中数据对象的文件标志描述符,添加至与文件夹对应的节点的data字段(用于存储文件夹节点的数据内容)中进行存储。
可选的,步骤205具体可以包括子步骤2056-2059:
子步骤2056、将所述数据对象的数据内容添加至与所述数据对象对应的节点中。
在本申请实施例中,构建数据对象对应的节点的同时,可以将数据对象的数据内容添加至与数据对象对应的节点的data字段中,从而使得文件系统树的节点可以保存数据对象的数据内容。
子步骤2057、提取所述文件标志描述符中的文件入口记录指引字段,并在根据所述文件入口记录指引字段从所述光盘提取所述数据对象的文件入口记录后,将所述文件入口记录添加至与所述数据对象对应的节点中。
在本申请实施例中,提取文件入口记录指引字段的系统描述符,是指每个数据对象所各自对应的系统描述符。
数据对象的文件标志描述符中具有文件入口记录指引字段(icb.extLocation.logicalBlockNum),文件入口记录指引字段是用于指引数据对象的文件入口记录的位置的字段。具体根据文件入口记录指引字段可以获取到数据对象的文件入口记录在光盘上的物理位置,这样就可以按照物理位置读取到数据对象的文件入口记录并将其添加至与数据对象对应的节点中。
子步骤2058、提取所述文件标志描述符中的文件类型字段,并在根据所述文件类型字段确定所述数据对象的类型后,将所述数据对象的类型添加至与所述数据对象对应的节点中。
在本申请实施例中,数据对象的文件标志描述符中具有文件类型字段(fileCharacteristics),在根据文件类型字段确定所述数据对象的类型后,将数据对象的类型添加至与数据对象对应的节点中。其中文件类型字段可以用于确定数据对象是否是文件夹属性FID_FILE_CHAR_DIRECTORY,若数据对象是文件夹属性,则该数据对象的类型为文件夹;若数据对象不是文件夹属性,则该数据对象的类型为文件。因此,本申请实施例可以将根据文件类型字段确定的数据对象的类型,添加至与数据对象对应的节点的isDir(记录数据对象是否是文件夹的标志位)字段中。
子步骤2059、提取所述文件标志描述符中的文件名字段,并在将所述文件名字段解析为当前操作系统的格式后,将所述文件名字段添加至与所述数据对象对应的节点中。
在本申请实施例中,数据对象的文件标志描述符中具有文件名字段(impUseAndFileIdent),获取了文件名字段后,可以将其解析为当前Linux操作系统可以读取的格式后,将文件名字段添加至与所述数据对象对应的节点的name字段(用于表征数据对象的文件名的字段)中。
例如,一种情况下,Windows操作系统的设备刻录的光盘中的数据对象的文件名是UTF(统一码转换格式,Unicode Transformation Format)16格式,而Linux操作系统的电子设备则使用UTF8格式的文件名,则本申请实施例可以将UTF16格式的文件名字段转换为UTF8格式的文件名字段后,再将UTF8格式的文件名字段添加至与数据对象对应的节点的name字段中。
步骤206、遍历完毕所述光盘的所有数据对象后,获得由所述节点构成的文件系统树并展示。
该步骤具体可以参照上述步骤103,此处不做赘述。
步骤207、响应于对所述文件系统树的控制操作,对读取到本地的所述数据对象进行管理。
该步骤具体可以参照上述步骤104,此处不做赘述。
可选的,步骤207具体可以包括子步骤2071:
子步骤2071、响应于对所述文件系统树的控制操作,按照针对所述文件系统树预设的遍历方式,对所述文件系统树的节点进行遍历操作,获得针对读取到本地的所述数据对象的遍历结果。
在本申请实施例中,构建了文件系统树之后,可以将文件系统树作为控制读取到本地的光盘数据的文件管理系统工具进行使用,本申请实施例可以提供针对文件系统树的遍历接口,以响应于对文件系统树的控制操作,按照针对文件系统树预设的遍历接口对应的遍历方式,对文件系统树的节点进行遍历操作,获得针对读取到本地的数据对象的遍历结果,从而实现对本地数据对象的管理。
可选的,子步骤2071具体可以包括子步骤20711-20713:
子步骤20711、确定所述遍历操作的起始节点。
子步骤20712、响应于对与所述文件系统树预设的遍历方式对应的遍历函数的自定义操作,为所述遍历函数添加关联的自定义函数。
子步骤20713、按照所述遍历函数和关联的自定义函数,从所述起始节点开始,通过递归的方式对所述文件系统树的节点进行遍历操作,获得针对读取到本地的所述数据对象的遍历结果。
在本申请实施例中,针对子步骤20711-20713,通过定义的与遍历方式对应的遍历函数,在基于文件系统树对数据对象进行管理时,可以先接收传入的遍历操作的起始节点,之后允许对遍历函数进行自定义操作,为遍历函数添加关联的自定义函数,最后按照遍历函数和关联的自定义函数,从起始节点开始,通过递归的方式对文件系统树的节点进行遍历操作,获得针对读取到本地的所述数据对象的遍历结果。
遍历函数可以通过指针指向自定义函数,从而实现遍历函数与自定义函数的关联,且每个遍历的节点都可以在遍历过程中作为用户自定义函数的传入参数供操作使用,从而实现自定义函数的功能。
例如,自定义函数可以包括:实现在文件夹中增加文件的函数,实现改变文件夹参数的函数、实现计算文件夹的总占用空间的函数等。
具体的,遍历函数的实现过程包括:将遍历操作的起始节点以及自定义函数作为传入遍历函数的参数;在检测这些参数正常可读后,进入遍历循环,并在遍历过程中执行自定义函数,实现对读取到本地的数据对象的改变。另外,在遍历到一个节点时,可以检测该节点是否是文件夹节点;若是文件夹节点,则需要按照递归方式进入对文件夹节点包含的子节点的遍历,直至该文件夹节点下所有子孙节点遍历完毕后,再回归该文件夹节点,开始该文件夹节点的下一个节点的遍历。
可选的,所述遍历方式包括先序遍历方式或后序遍历方式;所述遍历函数包括先序遍历函数或后序遍历函数。
在本申请实施例中,具体的遍历方式可以提供先序遍历方式或后序遍历方式,为了清楚表达两种遍历方式的不同,以下通过一个示例进行说明:
参照图6,其示出了另一种目录下数据对象的示意图,其中文件夹0包含文件1、文件夹2和文件3,文件夹2包含文件2-1。
按照先序遍历方式,从文件系统树中以文件夹0对应节点为起始节点进行遍历,则先处理文件夹0对应的节点,再处理文件1对应的节点,再处理文件夹2对应的节点,再处理文件2-1对应的节点,最后处理文件3对应的节点。
按照后序遍历方式,从文件系统树中以文件夹0对应节点为起始节点进行遍历,则先处理文件1对应的节点,再处理文件2-1对应的节点,再处理文件夹2对应的节点,再处理文件3对应的节点,最后处理文件夹0对应的节点。
可选的,子步骤2071具体可以包括子步骤20714-20715:
子步骤20714、响应于对所述文件系统树的内容插入操作,获得插入数据对象的插入路径。
子步骤20715、在确定所述插入数据对象为常规文件,且所述插入数据对象的存储空间占用量小于或等于预设阈值的情况下,在所述文件系统树中与所述插入路径对应的位置新建与所述插入数据对象对应的节点。
具体的,针对子步骤20714-20715,本申请实施例可以提供基于文件系统树,在从光盘读取到本地的数据对象中新增数据对象。具体的,电子设备可以响应于对文件系统树的内容插入操作,获得插入数据对象(插入数据对象可以利用插入数据对象的文件绝对路径获得),以及插入数据对象的插入路径(文件系统树的相对路径),插入路径表征要在文件系统树中的具体哪个位置新增数据对象;之后可以将插入数据对象和插入路径作为参数传入数据插入函数,并具体使用内置函数S_ISREG检查插入数据对象是否是常规文件;确认插入数据对象是常规文件后,使用内置函数stat获取插入数据对象的存储空间占用量;判断插入数据对象的存储空间占用量是否超过限制,在插入数据对象的存储空间占用量小于或等于预设阈值的情况下,确认插入数据对象的文件大小正常;最后则可以通过数据插入函数,在文件系统树中与插入路径对应的位置新建与插入数据对象对应的节点。
进一步的,插入过程中可以读取文件系统树的插入路径,按照从文件系统树的上层开始寻找插入路径对应的相对目录的方法,将插入路径分割成每一个目录一层,直到找到插入路径对应的相对目录。之后可以检查本层目录的每一个节点的文件名,按照内置函数strcmp的文件名对比大小功能,找到要插入文件的位置,并判断是否存在重名文件,存在重名文件则退出操作,不存在同名文件则继续操作。新建文件节点后,可以修改name字段改成插入数据对象的文件名,并新建文件入口记录,新建文件标志描述符,从而将插入数据对象加入文件系统树。
可选的,子步骤2071具体可以包括子步骤20716-20717:
子步骤20716、响应于对所述文件系统树的内容删除操作,获得要删除的目标数据对象对应的目标节点。
子步骤20717、在所述文件系统树中删除所述目标节点,并在本地删除所述目标数据对象。
具体的,针对子步骤20716-20717,本申请实施例可以提供基于文件系统树,在从光盘读取到本地的数据对象中删除已有数据对象。具体的,电子设备可以响应于对所述文件系统树的内容删除操作,获得要删除的目标数据对象对应的目标节点,之后在文件系统树中删除目标节点,并在本地删除目标数据对象。
进一步的,删除过程具体可以将要删除的目标节点的路径传入删除功能函数,按照从上层开始寻找目标节点对应的相对目录的方法,分割相对路径成每一个目录一层,直到找到目标节点。将目标节点在内存中的地址和节点删除函数作为自定义函数传入后序递归函数,由递归操作删除掉目标节点。如果目标节点是文件夹节点,则递归操作删除文件夹的全部内容,节点删除函数负责将成员占用的内存空间全部释放。
可选的,所述方法还可以包括步骤208-209:
步骤208、响应于自定义输入操作,获取针对所述数据对象的自定义类型数据,并将所述自定义类型数据添加至与所述数据对象对应的节点中。
在本申请实施例中,针对实现文件管理系统功能的文件系统树,还可以提供通过自定义输入操作在数据对象的节点中增加自定义类型数据的功能,例如,可以在节点中新增数据内容、参数(创建时间、修改时间、文件长度)等。
步骤209、响应于自定义修改操作,对与所述数据对象对应的节点中的信息进行修改。
在本申请实施例中,针对实现文件管理系统功能的文件系统树,还可以提供通过自定义修改操作修改数据对象的节点中的信息,例如,可以修改节点中的数据内容、参数(创建时间、修改时间、文件长度)等。
综上,本申请实施例的电子设备可以通过从Windows系统刻录的光盘上读取的各个光盘目录下的文件标志描述符信息,以递归的方式构建一个文件系统树,从而在Linux系统的电子设备中,实现对从光盘读取到本地的数据对象进行管理的文件系统,并通过对文件系统树的控制操作,对从光盘读取到本地的数据对象进行管理,从而实现了在Linux系统的电子设备中既对Windows系统刻录的光盘的数据进行读取,又对读取的数据进行基于文件系统的文件管理的目的。
图7是本申请实施例提供的一种光盘数据的管理装置的框图,该装置包括:
读取模块301,用于从光盘中读取光盘目录保存的数据对象的文件标志描述符;
构建模块302,用于针对每个所述数据对象,通过递归的方式,根据所述数据对象的文件标志描述符,构建树形结构中节点;一个节点用于表征一个数据对象;所述节点与所述文件标志描述符一一对应;
生成模块303,用于遍历完毕所述光盘的所有数据对象后,获得由所述节点构成的文件系统树并展示;
管理模块304,用于响应于对所述文件系统树的控制操作,对读取到本地的所述数据对象进行管理。
可选的,所述读取模块301,包括:
入口记录获取子模块,用于从所述光盘中读取光盘根目录的文件入口记录;
跳转子模块,用于根据所述光盘根目录的文件入口记录,跳转至所述光盘根目录并获取所述光盘根目录中数据对象的文件标志描述符。
可选的,所述构建模块302,包括:
根节点子模块,用于构建所述树形结构中与所述光盘根目录对应的根节点;
类型确定子模块,用于从所述光盘根目录开始,依次确定每个所述光盘目录中数据对象的类型;
递归子模块,用于根据所述数据对象的类型和所述数据对象的文件标志描述符,通过递归的方式构建树形结构中节点。
可选的,所述递归子模块,包括:
文件处理单元,用于在所述数据对象的类型为文件的情况下,构建所述树形结构中与所述文件对应的节点,并针对所述文件的下一个数据对象,进入所述依次确定每个所述光盘目录中数据对象的类型的步骤。
可选的,所述递归子模块,包括:
文件夹处理单元,用于在所述数据对象的类型为文件夹的情况下,构建所述树形结构中与所述文件夹对应的节点;
描述符读取单元,用于从所述光盘中读取所述文件夹的目录中数据对象的文件标志描述符;
递归单元,用于根据所述文件夹的目录中数据对象的文件标志描述符,通过递归的方式构建树形结构中与所述文件夹的目录中数据对象对应的节点;
循环单元,用于在构建完毕与所述文件夹的目录中数据对象对应的节点后,针对所述文件夹的下一个数据对象,进入所述依次确定每个所述光盘目录中数据对象的类型的步骤。
可选的,所述装置还包括:
添加模块,用于在所述数据对象的类型为文件夹的情况下,将所述文件夹的目录中数据对象的文件标志描述符,添加至与所述文件夹对应的节点中。
可选的,所述类型确定子模块,包括:
提取单元,用于提取所述数据对象的文件标志描述符中的文件类型字段;
类型确定单元,用于根据所述文件类型字段,确定所述数据对象的类型为文件或文件夹。
可选的,所述构建模块302,包括:
第一添加子模块,用于将所述数据对象的数据内容添加至与所述数据对象对应的节点中;
第二添加子模块,用于提取所述文件标志描述符中的文件入口记录指引字段,并在根据所述文件入口记录指引字段从所述光盘提取所述数据对象的文件入口记录后,将所述文件入口记录添加至与所述数据对象对应的节点中;
第三添加子模块,用于提取所述文件标志描述符中的文件类型字段,并在根据所述文件类型字段确定所述数据对象的类型后,将所述数据对象的类型添加至与所述数据对象对应的节点中;
第四添加子模块,用于提取所述文件标志描述符中的文件名字段,并在将所述文件名字段解析为当前操作系统的格式后,将所述文件名字段添加至与所述数据对象对应的节点中。
可选的,所述装置还包括:
自定义数据模块,用于响应于自定义输入操作,获取针对所述数据对象的自定义类型数据,并将所述自定义类型数据添加至与所述数据对象对应的节点中。
自定义修改模块,用于响应于自定义修改操作,对与所述数据对象对应的节点中的信息进行修改。
可选的,所述管理模块304,包括:
遍历子模块,用于响应于对所述文件系统树的控制操作,按照针对所述文件系统树预设的遍历方式,对所述文件系统树的节点进行遍历操作,获得针对读取到本地的所述数据对象的遍历结果。
可选的,所述遍历子模块包括:
起始节点单元,用于确定所述遍历操作的起始节点;
自定义函数单元,用于响应于对与所述遍历方式对应的遍历函数的自定义操作,为所述遍历函数添加关联的自定义函数;
执行单元,用于按照所述遍历函数和关联的自定义函数,从所述起始节点开始,通过递归的方式对所述文件系统树的节点进行遍历操作,获得针对读取到本地的所述数据对象的遍历结果。
可选的,所述遍历方式包括先序遍历方式或后序遍历方式;所述遍历函数包括先序遍历函数或后序遍历函数。
可选的,所述管理模块304,包括:
插入操作子模块,用于响应于对所述文件系统树的内容插入操作,获得插入数据对象的插入路径;
插入执行子模块,用于在确定所述插入数据对象为常规文件,且所述插入数据对象的存储空间占用量小于或等于预设阈值的情况下,在所述文件系统树中与所述插入路径对应的位置新建与所述插入数据对象对应的节点。
可选的,所述管理模块304,包括:
删除操作子模块,用于响应于对所述文件系统树的内容删除操作,获得要删除的目标数据对象对应的目标节点;
删除执行子模块,用于在所述文件系统树中删除所述目标节点,并在本地删除所述目标数据对象。
综上,本申请实施例的电子设备可以通过从Windows系统刻录的光盘上读取的各个光盘目录下的文件标志描述符信息,以递归的方式构建一个文件系统树,从而在Linux系统的电子设备中,实现对从光盘读取到本地的数据对象进行管理的文件系统,并通过对文件系统树的控制操作,对从光盘读取到本地的数据对象进行管理,从而实现了在Linux系统的电子设备中既对Windows系统刻录的光盘的数据进行读取,又对读取的数据进行基于文件系统的文件管理的目的。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
本申请实施例提供了一种光盘数据的管理装置,包括有存储器,以及一个以上的程序,其中一个以上程序存储于存储器中,且经配置以由一个以上处理器执行所述一个以上程序包含用于进行上述一个或多个实施例中所述的方法。
图8是根据一示例性实施例示出的一种光盘数据的管理装置800的框图。例如,装置800可以是移动电话,计算机,数字广播终端,消息收发设备,游戏控制台,平板设备,医疗设备,健身设备,个人数字助理等。
参照图8,装置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、磁带、软盘和光数据存储设备等。
图9是本申请的一些实施例中服务器的结构示意图。该服务器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 (16)
1.一种光盘数据的管理方法,其特征在于,所述方法包括:
从光盘中读取光盘目录保存的数据对象的文件标志描述符;
针对每个所述数据对象,通过递归的方式,根据所述数据对象的文件标志描述符,构建树形结构中的节点;一个节点用于表征一个数据对象;所述节点与所述文件标志描述符一一对应;
遍历完毕所述光盘的所有数据对象后,获得由所述节点构成的文件系统树并展示;
响应于对所述文件系统树的控制操作,对读取到本地的所述数据对象进行管理;
其中,所述文件标志描述符,用于表征与所述文件标志描述符对应的数据对象在所述光盘目录中的层级关系,所述数据对象用于根据对应的所述层级关系,被构建为所述文件系统树中的节点。
2.根据权利要求1所述的光盘数据的管理方法,其特征在于,所述从光盘中读取光盘目录保存的数据对象的文件标志描述符,包括:
从所述光盘中读取光盘根目录的文件入口记录;
根据所述光盘根目录的文件入口记录,跳转至所述光盘根目录并获取所述光盘根目录中数据对象的文件标志描述符。
3.根据权利要求2所述的光盘数据的管理方法,其特征在于,所述针对每个所述数据对象,通过递归的方式,根据所述数据对象的文件标志描述符,构建树形结构中的节点,包括:
构建所述树形结构中与所述光盘根目录对应的根节点;
从所述光盘根目录开始,依次确定所述光盘目录中每个数据对象的类型;
根据所述数据对象的类型和所述数据对象的文件标志描述符,通过递归的方式构建树形结构中节点。
4.根据权利要求3所述的光盘数据的管理方法,其特征在于,所述根据所述数据对象的类型和所述数据对象的文件标志描述符,通过递归的方式构建树形结构中节点,包括:
在所述数据对象的类型为文件的情况下,构建所述树形结构中与所述文件对应的节点,并针对所述文件的下一个数据对象,进入所述依次确定所述光盘目录中每个数据对象的类型的步骤。
5.根据权利要求3所述的光盘数据的管理方法,其特征在于,所述根据所述数据对象的类型和所述数据对象的文件标志描述符,通过递归的方式构建树形结构中节点,包括:
在所述数据对象的类型为文件夹的情况下,构建所述树形结构中与所述文件夹对应的节点;
从所述光盘中读取所述文件夹的目录中数据对象的文件标志描述符;
根据所述文件夹的目录中数据对象的文件标志描述符,通过递归的方式构建树形结构中与所述文件夹的目录中数据对象对应的节点;
在构建完毕与所述文件夹的目录中数据对象对应的节点后,针对所述文件夹的下一个数据对象,进入所述依次确定所述光盘目录中每个数据对象的类型的步骤。
6.根据权利要求5所述的光盘数据的管理方法,其特征在于,所述方法还包括:
在所述数据对象的类型为文件夹的情况下,将所述文件夹的目录中数据对象的文件标志描述符,添加至与所述文件夹对应的节点中。
7.根据权利要求3所述的光盘数据的管理方法,其特征在于,所述依次确定所述光盘目录中每个数据对象的类型,包括:
提取所述数据对象的文件标志描述符中的文件类型字段;
根据所述文件类型字段,确定所述数据对象的类型为文件或文件夹。
8.根据权利要求1所述的光盘数据的管理方法,其特征在于,所述根据所述数据对象的文件标志描述符,构建树形结构中的节点,包括:
将所述数据对象的数据内容添加至与所述数据对象对应的节点中;
提取所述文件标志描述符中的文件入口记录指引字段,并在根据所述文件入口记录指引字段从所述光盘提取所述数据对象的文件入口记录后,将所述文件入口记录添加至与所述数据对象对应的节点中;
提取所述文件标志描述符中的文件类型字段,并在根据所述文件类型字段确定所述数据对象的类型后,将所述数据对象的类型添加至与所述数据对象对应的节点中;
提取所述文件标志描述符中的文件名字段,并在将所述文件名字段解析为当前操作系统可以读取的格式后,将所述文件名字段添加至与所述数据对象对应的节点中。
9.根据权利要求1所述的光盘数据的管理方法,其特征在于,所述方法还包括:
响应于自定义输入操作,获取针对所述数据对象的自定义类型数据,并将所述自定义类型数据添加至与所述数据对象对应的节点中;
响应于自定义修改操作,对与所述数据对象对应的节点中的信息进行修改。
10.根据权利要求1所述的光盘数据的管理方法,其特征在于,所述响应于对所述文件系统树的控制操作,对读取到本地的所述数据对象进行管理,包括:
响应于对所述文件系统树的控制操作,按照针对所述文件系统树预设的遍历方式,对所述文件系统树的节点进行遍历操作,获得针对读取到本地的所述数据对象的遍历结果。
11.根据权利要求10所述的光盘数据的管理方法,其特征在于,所述按照针对所述文件系统树预设的遍历方式,对所述文件系统树的节点进行遍历操作,获得针对读取到本地的所述数据对象的遍历结果,包括:
确定所述遍历操作的起始节点;
响应于对与所述遍历方式对应的遍历函数的自定义操作,为所述遍历函数添加关联的自定义函数;
按照所述遍历函数和关联的自定义函数,从所述起始节点开始,通过递归的方式对所述文件系统树的节点进行遍历操作,获得针对读取到本地的所述数据对象的遍历结果。
12.根据权利要求1所述的光盘数据的管理方法,其特征在于,所述响应于对所述文件系统树的控制操作,对读取到本地的所述数据对象进行管理,包括:
响应于对所述文件系统树的内容插入操作,获得插入数据对象的插入路径;
在确定所述插入数据对象为常规文件,且所述插入数据对象的存储空间占用量小于或等于预设阈值的情况下,在所述文件系统树中与所述插入路径对应的位置新建与所述插入数据对象对应的节点。
13.根据权利要求1所述的光盘数据的管理方法,其特征在于,所述响应于对所述文件系统树的控制操作,对读取到本地的所述数据对象进行管理,包括:
响应于对所述文件系统树的内容删除操作,获得要删除的目标数据对象对应的目标节点;
在所述文件系统树中删除所述目标节点,并在本地删除所述目标数据对象。
14.一种光盘数据的管理装置,其特征在于,所述装置包括:
读取模块,用于从光盘中读取光盘目录保存的数据对象的文件标志描述符;所述文件标志描述符,用于表征与所述文件标志描述符对应的数据对象在所述光盘目录中的层级关系,所述数据对象用于根据对应的所述层级关系,被构建为文件系统树中的节点;
构建模块,用于针对每个所述数据对象,通过递归的方式,根据所述数据对象的文件标志描述符,构建树形结构中节点;一个节点用于表征一个数据对象;所述节点与所述文件标志描述符一一对应;
生成模块,用于遍历完毕所述光盘的所有数据对象后,获得由所述节点构成的文件系统树并展示;
管理模块,用于响应于对所述文件系统树的控制操作,对读取到本地的所述数据对象进行管理。
15.一种电子设备,其特征在于,包括:处理器;
用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为执行所述指令,以实现如权利要求1至13中任一项所述的方法。
16.一种计算机可读存储介质,其特征在于,当所述计算机可读存储介质中的指令由电子设备的处理器执行时,使得所述电子设备能够执行如权利要求1至13中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310615540.XA CN116774927B (zh) | 2023-05-29 | 2023-05-29 | 光盘数据的管理方法、装置、电子设备及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310615540.XA CN116774927B (zh) | 2023-05-29 | 2023-05-29 | 光盘数据的管理方法、装置、电子设备及可读存储介质 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410307507.5A Division CN118259832A (zh) | 2023-05-29 | 光盘数据的管理方法、装置、电子设备及可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116774927A CN116774927A (zh) | 2023-09-19 |
CN116774927B true CN116774927B (zh) | 2024-02-23 |
Family
ID=87992112
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310615540.XA Active CN116774927B (zh) | 2023-05-29 | 2023-05-29 | 光盘数据的管理方法、装置、电子设备及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116774927B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006107685A (ja) * | 2004-10-08 | 2006-04-20 | Ricoh Co Ltd | 光ディスク書き込み方式、光ディスク読み取り方式及びそれらのプログラム、並びに該プログラムを記録した記録媒体 |
KR20120136593A (ko) * | 2011-06-09 | 2012-12-20 | 도시바삼성스토리지테크놀러지코리아 주식회사 | 광디스크, 광기기 장치, 에러 검출 장치 및 에러 검출 방법 |
CN107045530A (zh) * | 2017-01-20 | 2017-08-15 | 华中科技大学 | 一种将对象存储系统实现为本地文件系统的方法 |
CN113823331A (zh) * | 2021-10-12 | 2021-12-21 | 成都统信软件技术有限公司 | 一种光盘追加刻录方法、装置及计算设备 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8874517B2 (en) * | 2007-01-31 | 2014-10-28 | Hewlett-Packard Development Company, L.P. | Summarizing file system operations with a file system journal |
-
2023
- 2023-05-29 CN CN202310615540.XA patent/CN116774927B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006107685A (ja) * | 2004-10-08 | 2006-04-20 | Ricoh Co Ltd | 光ディスク書き込み方式、光ディスク読み取り方式及びそれらのプログラム、並びに該プログラムを記録した記録媒体 |
KR20120136593A (ko) * | 2011-06-09 | 2012-12-20 | 도시바삼성스토리지테크놀러지코리아 주식회사 | 광디스크, 광기기 장치, 에러 검출 장치 및 에러 검출 방법 |
CN107045530A (zh) * | 2017-01-20 | 2017-08-15 | 华中科技大学 | 一种将对象存储系统实现为本地文件系统的方法 |
CN113823331A (zh) * | 2021-10-12 | 2021-12-21 | 成都统信软件技术有限公司 | 一种光盘追加刻录方法、装置及计算设备 |
Also Published As
Publication number | Publication date |
---|---|
CN116774927A (zh) | 2023-09-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20190379942A1 (en) | Method and apparatus for processing multimedia resources | |
CN110391966B (zh) | 一种消息处理方法、装置和用于消息处理的装置 | |
EP2950486A1 (en) | Method and device for managing instant message | |
CN112581104A (zh) | 信息处理方法、装置、电子设备、存储介质和程序产品 | |
CN113010698A (zh) | 多媒体的交互方法、信息交互方法、装置、设备及介质 | |
CN110569329B (zh) | 数据处理方法及装置、电子设备和存储介质 | |
CN104951445B (zh) | 一种网页处理方法及装置 | |
CN110020361A (zh) | 一种网页处理方法、装置、存储介质和电子设备 | |
CN105468606B (zh) | 网页保存的方法及装置 | |
CN111382161B (zh) | 状态数据处理方法、装置、电子设备及存储介质 | |
CN116774927B (zh) | 光盘数据的管理方法、装置、电子设备及可读存储介质 | |
CN110928854A (zh) | 数据导入方法、装置及电子设备 | |
CN116225565A (zh) | 路由配置文件的生成方法及装置 | |
CN114466204B (zh) | 一种视频弹幕的显示方法、装置、电子设备及存储介质 | |
CN118259832A (zh) | 光盘数据的管理方法、装置、电子设备及可读存储介质 | |
CN111290882B (zh) | 数据文件备份方法、数据文件备份装置及电子设备 | |
CN109683906A (zh) | 处理html代码片段的方法及装置 | |
CN112860625B (zh) | 数据获取方法、数据存储方法、装置、设备及存储介质 | |
CN116778975B (zh) | 光盘追加刻录的方法、装置、电子设备及可读存储介质 | |
CN116489247A (zh) | 运行时可编程的任意网络协议报文编辑装置及方法 | |
CN112988822A (zh) | 数据查询方法、装置、设备、可读存储介质以及产品 | |
CN113378022A (zh) | 一种站内搜索平台、搜索方法和相关装置 | |
CN112905023A (zh) | 一种输入纠错方法、装置和用于输入纠错的装置 | |
CN111274210B (zh) | 元数据处理方法、装置及电子设备 | |
CN110795444B (zh) | Dom数据更新方法、页面更新方法及装置 |
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 |