一种终端设备和对象排序方法
技术领域
本申请涉及计算机
技术领域
,具体涉及一种终端设备和对象排序方法。背景技术
目前的文件管理类应用通常采用直接通过接口读取文件的属性,并根据文件的属性来判断文件的先后顺序的排序方法,然而该排序方法每次判断都需要读取文件的属性,例如文件大小,文件时间等;假设有100个文件,则每次排序都需要进行100×1到100×100次的比对,比对次数是平方增长,当文件较多时,如果此时文件系统比较慢,则会导致排序速度异常的慢,进而会导致文件系统由于压力增大而出现排序卡顿等问题。
发明内容
为解决现有存在的技术问题,本申请实施例提供一种终端设备和对象排序方法,可以提高排序速度,降低对文件系统的压力。
为达到上述目的,本申请实施例的技术方案是这样实现的:
第一方面,本申请实施例提供一种终端设备,包括:
接收组件,用于接收对目标属性信息的排序指令;
存储器,用于存储程序代码和所述终端设备运行时所产生的数据信息;
处理器,用于执行所述程序代码,以实现如下过程:响应对目标属性信息的排序指令,确定所述排序指令对应目录下的对象;所述排序指令用于指示按照所述目标属性信息对所述对象进行排序;根据确定的所述对象对应的对象路径,从数据信息表包括的对象的属性信息中查找所述排序指令对应的目标属性信息,其中所述数据信息表中存储有对象对应的至少一个属性信息和对象路径;所述至少一个属性信息是在进行对象操作时存储至所述数据信息表中的;基于所述目标属性信息对确定的所述对象进行排序。
本申请实施例提供的终端设备,响应对目标属性信息的排序指令,可以确定排序指令对应目录下的对象,并根据确定的对象对应的对象路径,从数据信息表包括的对象的属性信息中查找排序指令对应的目标属性信息,其中数据信息表中存储有对象对应的至少一个属性信息和对象路径,至少一个属性信息是在进行对象操作时存储至数据信息表中的,最后基于目标属性信息对确定的对象进行排序。由于在根据目标属性信息对对象进行排序时,是通过从数据信息表中查找到目标属性信息,而不是直接通过接口读取对象对应的目标属性信息的,从而可以提高对对象进行排序的排序速度。
在一种可能的实现方式中,所述处理器具体用于:
根据确定的所述对象对应的对象路径,在数据信息表中查找与所述对象路径具有绑定关系的属性信息;
在查找到的所述属性信息中确定出目标属性信息,其中所述目标属性信息的属性类型是所述排序指令指示的属性类型。
上述终端设备,可以根据确定的对象对应的对象路径,在数据信息表中查找与对象路径具有绑定关系的属性信息,并在查找到的属性信息中确定出目标属性信息,其中目标属性信息的属性类型是排序指令指示的属性类型。从而可以使得查找到的目标属性信息的属性类型是排序指令指示的属性类型,保证查找的准确性。
在一种可能的实现方式中,所述基于所述目标属性信息对确定的所述对象进行排序之前,所述处理器还用于:
若从所述数据信息表中无法查找到所述目标属性信息,则通过封装接口对所述目录下的对象进行访问,读取所述对象对应的至少一个属性信息,并将所述至少一个属性信息和所述对象对应的对象路径存储至所述数据信息表中;以及
根据所述排序指令,确定所述对象对应的目标属性信息。
上述终端设备,在基于目标属性信息对确定的对象进行排序之前,如果从数据信息表中无法查找到目标属性信息,则可以通过封装接口对目录下的对象进行访问,读取对象对应的至少一个属性信息,并将至少一个属性信息和对象对应的对象路径存储至数据信息表中,以及可以根据排序指令,确定对象对应的目标属性信息。从而可以提高对对象进行排序的排序效率,降低排序时间。
在一种可能的实现方式中,所述对象为子目录和文件中的一种。
上述终端设备,可以仅对目录下的子目录进行排序,也可以仅对目录下的文件进行排序,还可以对目录下的子目录和文件一起进行排序。
在一种可能的实现方式中,所述进行对象操作为,包括:
对所述对象进行查看操作、对所述对象进行排序操作和对所述对象进行编辑操作中的一种。
上述终端设备,可以在对目录下的对象进行查看操作时将对象对应的至少一个属性信息存储至数据信息表中,也可以在对目录下的对象进行排序操作时将对象对应的至少一个属性信息存储至数据信息表中,还可以在对目录下的对象进行编辑操作时将对象对应的至少一个属性信息存储至数据信息表中。
第二方面,本申请实施例提供一种对象排序方法,包括:
响应对目标属性信息的排序指令,确定所述排序指令对应目录下的对象;所述排序指令用于指示按照所述目标属性信息对所述对象进行排序;
根据确定的所述对象对应的对象路径,从数据信息表包括的对象的属性信息中查找所述排序指令对应的目标属性信息,其中所述数据信息表中存储有对象对应的至少一个属性信息和对象路径;所述至少一个属性信息是在进行对象操作时存储至所述数据信息表中的;
基于所述目标属性信息对确定的所述对象进行排序。
在一种可能的实现方式中,所述根据确定的所述对象对应的对象路径,从数据信息表包括的对象的属性信息中查找所述排序指令对应的目标属性信息,包括:
根据确定的所述对象对应的对象路径,在数据信息表中查找与所述对象路径具有绑定关系的属性信息;
在查找到的所述属性信息中确定出目标属性信息,其中所述目标属性信息的属性类型是所述排序指令指示的属性类型。
在一种可能的实现方式中,所述基于所述目标属性信息对确定的所述对象进行排序之前,所述方法还包括:
若从所述数据信息表中无法查找到所述目标属性信息,则通过封装接口对所述目录下的对象进行访问,读取所述对象对应的至少一个属性信息,并将所述至少一个属性信息和所述对象对应的对象路径存储至所述数据信息表中;以及
根据所述排序指令,确定所述对象对应的目标属性信息。
在一种可能的实现方式中,所述对象为子目录和文件中的一种。
在一种可能的实现方式中,所述进行对象操作,包括:
对所述对象进行查看操作、对所述对象进行排序操作和对所述对象进行编辑操作中的一种。
第三方面,本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时,实现上述第二方面的对象排序方法。
第四方面,本申请实施例还提供了一种对象排序装置,所述装置包括:
对象确定单元,用于响应对目标属性信息的排序指令,确定所述排序指令对应目录下的对象;所述排序指令用于指示按照所述目标属性信息对所述对象进行排序;
属性查找单元,用于根据确定的所述对象对应的对象路径,从数据信息表包括的对象的属性信息中查找所述排序指令对应的目标属性信息,其中所述数据信息表中存储有对象对应的至少一个属性信息和对象路径;所述至少一个属性信息是在进行对象操作时存储至所述数据信息表中的;
对象排序单元,用于基于所述目标属性信息对确定的所述对象进行排序。
在一种可能的实现方式中,所述属性查找单元,具体用于:
根据确定的所述对象对应的对象路径,在数据信息表中查找与所述对象路径具有绑定关系的属性信息;
在查找到的所述属性信息中确定出目标属性信息,其中所述目标属性信息的属性类型是所述排序指令指示的属性类型。
在一种可能的实现方式中,所述属性查找单元,还用于:
若从所述数据信息表中无法查找到所述目标属性信息,则通过封装接口对所述目录下的对象进行访问,读取所述对象对应的至少一个属性信息,并将所述至少一个属性信息和所述对象对应的对象路径存储至所述数据信息表中;以及
根据所述排序指令,确定所述对象对应的目标属性信息。
在一种可能的实现方式中,所述对象为子目录和文件中的一种。
在一种可能的实现方式中,所述进行对象操作,包括:
对所述对象进行查看操作、对所述对象进行排序操作和对所述对象进行编辑操作中的一种。
第二方面、第三方面或第四方面中任意一种实现方式所带来的技术效果可参见第一方面的实现方式所带来的技术效果,此处不再赘述。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种终端设备的结构示意图;
图2为本申请实施例提供的另一种终端设备的结构示意图;
图3为本申请实施例提供的一种对象排序方法的流程示意图;
图4为本申请实施例提供的另一种对象排序方法的流程示意图;
图5为本申请实施例提供的一种终端设备的界面示意图;
图6为本申请实施例提供的一种对象排序装置的结构示意图。
具体实施方式
为了使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请作进一步地详细描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。
图1中示例性示出了本申请实施例提供的一种终端设备的结构示意图。如图1所示,本申请实施例提供的终端设备,包括处理器103、存储器102和接收组件101。
接收组件101,用于接收对目标属性信息的排序指令。
存储器102,用于存储终端设备运行时所产生的数据信息和处理器103运行时所使用的程序代码,如本申请实施例提供的对象排序方法的程序代码等,其中,程序代码可以由处理器103执行。
处理器103,可以包括一个或多个中央处理单元(central processing unit,CPU),或者数字处理单元等等。处理器103,用于调用存储器102中存储的程序代码以实现如下过程:响应对目标属性信息的排序指令,确定排序指令对应目录下的对象;排序指令用于指示按照目标属性信息对对象进行排序;根据确定的对象对应的对象路径,从数据信息表包括的对象的属性信息中查找排序指令对应的目标属性信息,其中数据信息表中存储有对象对应的至少一个属性信息和对象路径;至少一个属性信息是在进行对象操作时存储至数据信息表中的;基于目标属性信息对确定的对象进行排序。
本申请实施例中不限定上述接收组件101、存储器102和处理器103之间的具体连接介质。本申请实施例在图1中,接收组件101、存储器102和处理器103之间通过总线104连接,其它部件之间的连接方式,仅是进行示意性说明,并不引以为限。所述总线104可以分为地址总线、数据总线、控制总线等。为便于表示,图1中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
在一种实施例中,终端设备可以是智能设备,如手机、平板电脑、笔记本电脑等。如图2所示,该终端设备包括:射频(Radio Frequency,RF)电路210、存储器220、输入单元230、显示单元240、传感器250、音频电路260、无线保真(wireless fidelity,WiFi)模块270、处理器280等部件。本领域技术人员可以理解,图2中示出的终端设备结构并不构成对终端设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
下面结合图2对终端设备的各个构成部件进行具体的介绍:
RF电路210可用于收发信息或通话过程中,信号的接收和发送,特别地,将基站的下行信息接收后,给处理器280处理;另外,将设计上行的数据发送给基站。
存储器220可用于存储软件程序以及模块,如本申请实施例中的对象排序方法对应的程序指令,处理器280通过运行存储在存储器220的软件程序,从而执行终端设备的各种功能应用以及数据处理,如本申请实施例提供的对象排序方法。存储器220可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个应用的应用程序等;存储数据区可存储根据终端设备的使用所创建的数据等。此外,存储器220可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
输入单元230可用于接收用户输入的数字或字符信息,以及产生与终端的用户设置以及功能控制有关的键信号输入。
可选的,输入单元230可包括触控面板231以及其他输入设备232。
其中,触控面板231,也称为触摸屏,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板231上或在触控面板231附近的操作),并根据预先设定的程式实现相应的操作,如用户点击功能模块的快捷标识的操作等。可选的,触控面板231可以包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器280,并能接收处理器280发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触控面板231。
可选的,其他输入设备232可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。
显示单元240可用于显示由用户输入的信息或展示给用户的界面信息以及终端设备的各种菜单。显示单元240即为终端设备的显示系统,用于呈现界面,如显示桌面、应用的操作界面或直播应用的操作界面等。
显示单元240可以包括显示面板241。可选的,显示面板241可以采用液晶显示屏(Liquid Crystal Display,LCD)、有机发光二极管(Organic Light-Emitting Diode,OLED)等形式来配置。
进一步的,触控面板231可覆盖显示面板241,当触控面板231检测到在其上或附近的触摸操作后,传送给处理器280以确定触摸事件的类型,随后处理器280根据触摸事件的类型在显示面板241上提供相应的界面输出。
虽然在图2中,触控面板231与显示面板241是作为两个独立的部件来实现终端设备的输入和输入功能,但是在某些实施例中,可以将触控面板231与显示面板241集成而实现终端的输入和输出功能。
终端设备还可包括至少一种传感器250,比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板241的亮度,接近传感器可在终端设备移动到耳边时,关闭显示面板241的背光。作为运动传感器的一种,加速计传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别电子设备姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;至于终端设备还可配置的陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。
音频电路260、扬声器261,传声器262可提供用户与终端设备之间的音频接口。音频电路260可将接收到的音频数据转换后的电信号,传输到扬声器261,由扬声器261转换为声音信号输出;另一方面,传声器262将收集的声音信号转换为电信号,由音频电路260接收后转换为音频数据,再将音频数据输出处理器280处理后,经RF电路210以发送给比如另一终端设备,或者将音频数据输出至存储器220以便进一步处理。
WiFi属于短距离无线传输技术,终端设备通过WiFi模块270可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图2示出了WiFi模块270,但是可以理解的是,其并不属于终端设备的必须构成,完全可以根据需要在不改变发明的本质的范围内而省略。
处理器280是终端设备的控制中心,利用各种接口和线路连接整个终端设备的各个部分,通过运行或执行存储在存储器220内的软件程序和/或模块,以及调用存储在存储器220内的数据,执行终端设备的各种功能和处理数据,从而对终端设备进行整体监控。可选的,处理器280可包括一个或多个处理单元;可选的,处理器280可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、应用及应用内部的功能模块等软件程序,如本申请实施例提供的对象排序方法等。调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器280中。
可以理解,图2所示的结构仅为示意,终端设备还可包括比图2中所示更多或者更少的组件,或者具有与图2所示不同的配置。图2中所示的各组件可以采用硬件、软件或其组合实现。
目前的文件管理类应用通常使用的排序方法,是通过判断两个文件的属性来判断哪个文件在前,哪个文件在后,每次判断都需要读取文件的属性,例如是否是文件,文件大小,文件时间等;假设有100个文件,每次排序需要进行100×1到100×100次的比对,比对次数是平方增长,当文件较多时,如果此时文件系统比较慢,会导致排序速度异常的慢,非常影响用户体验。
为了提高排序速度,本申请实施例提供了一种对象排序方法,可以确定排序指令对应目录下的对象,并根据确定的对象对应的对象路径,从数据信息表包括的对象的属性信息中查找排序指令对应的目标属性信息,然后基于目标属性信息对确定的对象进行排序。
在一些实施例中,上述终端设备执行的对象排序方法的流程图可以参见图3所示,包括以下步骤:
步骤S301,响应对目标属性信息的排序指令,确定排序指令对应目录下的对象。
其中,该排序指令用于指示按照目标属性信息对对象进行排序。这里的对象可以是该目录下的子目录,也可以是该目录下的文件。例如,该目录可以是文件夹,则该文件夹下可以只包括文件,也可以只包括子文件夹,还可以包括子文件夹和文件。
步骤S302,根据确定的对象对应的对象路径,从数据信息表包括的对象的属性信息中查找排序指令对应的目标属性信息。
其中,数据信息表中可以存储有对象对应的至少一个属性信息和对象路径,至少一个属性信息是在进行对象操作时存储至数据信息表中的。该对象操作可以为对对象进行查看操作、对对象进行排序操作和对对象进行编辑操作中的一种。
对象的属性信息可以是对象的名称、对象的大小、对象的类型、对象的时间等,本申请实施例对此不作限定。
则可以根据确定的对象对应的对象路径,在数据信息表中查找与对象路径具有绑定关系的属性信息,并在查找到的属性信息中确定出目标属性信息。其中目标属性信息的属性类型是排序指令指示的属性类型。
步骤S303,基于目标属性信息对确定的对象进行排序。
在查找到目录下的对象对应的目标属性信息后,可以根据目标属性信息对确定的对象进行排序。
在对确定的对象进行排序时,可以根据对象对应的目标属性信息,对对象两两比较,判断出哪个对象在前,哪个对象在后。例如,一个目录下包含有5个对象,分别为对象A、对象B、对象C、对象D和对象E,需要按照对象的大小由大到小对对象进行排序。假设对象A的大小为2.1M,对象B的大小为1.3M,对象C的大小为3.2M,对象D的大小为2.3M,对象E的大小为1.5M,则可以先将对象A与对象B进行比较,由于2.1M大于1.3M,则对象A应该排在对象B的前面,此时的排序为ABCDE。接着可以将对象A与对象C进行比较,由于2.1M小于3.2M,则对象C应该排在对象A的前面,此时的排序为CABDE。然后可以将对象D与对象C进行比较,由于2.3M小于3.2M,则对象C应该排在对象D的前面,接着还需要将对象D与对象A进行比较,由于2.3M大于2.1M,则对象D应该排在对象A的前面,此时的排序为CDABE。再然后可以将对象E与对象C进行比较,由于1.5M小于3.2M,则对象C应该排在对象E的前面,接着还需要将对象E与对象D进行比较,由于1.5M小于2.3M,则对象D应该排在对象E的前面,接着还需要将对象E与对象A进行比较,由于1.5M小于2.1M,则对象A应该排在对象E的前面,接着还需要将对象E与对象B进行比较,由于1.5M大于1.3M,则对象E应该排在对象B的前面,此时的排序为CDAEB。从而可以完成按照对象的大小由大到小对对象A、对象B、对象C、对象D和对象E进行排序的排序过程,并且得到的最终排序为CDAEB。
在一种实施例中,在基于目标属性信息对确定的对象进行排序之前,如果从数据信息表中无法查找到目标属性信息,则可以通过封装接口对目录下的对象进行访问,读取对象对应的至少一个属性信息,并将至少一个属性信息和对象对应的对象路径存储至数据信息表中,以及根据排序指令,确定对象对应的目标属性信息。
本申请实施例提供的对象排序方法,响应对目标属性信息的排序指令,可以确定排序指令对应目录下的对象,并根据确定的对象对应的对象路径,从数据信息表包括的对象的属性信息中查找排序指令对应的目标属性信息,其中数据信息表中存储有对象对应的至少一个属性信息和对象路径,至少一个属性信息是在进行对象操作时存储至数据信息表中的,最后基于目标属性信息对确定的对象进行排序。由于在根据目标属性信息对对象进行排序时,是通过从数据信息表中查找到目标属性信息,而不是直接通过接口读取对象对应的目标属性信息的,从而可以提高对对象进行排序的排序速度。
在另一些实施例中,上述终端设备执行的对象排序方法的流程图可以参见图4所示,包括以下步骤:
步骤S401,响应对目标属性信息的排序指令,确定排序指令对应目录下的对象。
其中,该排序指令用于指示按照目标属性信息对对象进行排序。
步骤S402,根据确定的对象对应的对象路径,从数据信息表包括的对象的属性信息中查找排序指令对应的目标属性信息。
其中,数据信息表中可以存储有对象对应的至少一个属性信息和对象路径,至少一个属性信息是在进行对象操作时存储至数据信息表中的。
数据信息表可以是哈希表(HashMap),也可以是数据库,本申请实施例对此不作限定。
HashMap是一种根据关键码去寻找值的数据映射结构,该结构通过关键码映射的位置去寻找存放值的地方,即通过把关键码值映射到表中一个位置来访问记录,以加快查找的速度。
可以根据确定的对象对应的对象路径,在数据信息表中查找与对象路径具有绑定关系的属性信息,并在查找到的属性信息中确定出目标属性信息。其中目标属性信息的属性类型是排序指令指示的属性类型。
步骤S403,确定从数据信息表中是否查找到目标属性信息;如果否,执行步骤S404;如果是,执行步骤S5405。
步骤S404,通过封装接口对目录下的对象进行访问,读取对象对应的至少一个属性信息,并将至少一个属性信息和对象对应的对象路径存储至数据信息表中,以及根据排序指令,确定对象对应的目标属性信息。
步骤S405,基于目标属性信息对确定的对象进行排序。
可以判断从数据信息表中是否能够查找到目标属性信息,如果无法查找到目标属性信息,可以通过封装接口对目录下的对象进行访问,读取对象对应的至少一个属性信息,并将至少一个属性信息和对象对应的对象路径存储至数据信息表中,以及根据排序指令,确定对象对应的目标属性信息。在确定出对象对应的目标属性信息后,可以根据该目标属性信息对目录下的所有对象进行排序。
如果可以查找到目标属性信息,则可以直接该目标属性信息对目录下的所有对象进行排序。
例如,一个文件夹下包含有100个文件,排序指令为对该文件夹下的100个文件按从大到小顺序进行排序,则可以根据100个文件分别对应的路径,从HashMap中包括的所有文件属性中查找文件的大小信息,假设无法从HashMap中查找到第50个文件的大小信息,则可以通过封装接口对该文件夹下的第50个文件进行访问,读取第50个文件对应的所有文件属性,并将第50个文件对应的所有文件属性和第50个文件对应的路径都存储至HashMap中,以及确定出第50个文件对应的文件大小信息。在查找到该文件夹下的100个文件对应的文件大小信息后,可以按从大到小顺序对该100个文件进行排序。
在一种实施例中,可以基于HashMap或数据库封装一套新的File接口,例如:HmctFastFile.isFile()、HmctFastFile.lastModifyTime()等,当用户对文件进行查看、编辑等操作时,可以通过该封装接口对文件进行访问,读取该文件对应的所有文件属性信息,并将该文件对应的所有文件属性信息和该文件对应的路径存储至HashMap或数据库中。
当用户点击终端设备中的文件管理类应用,进入文件夹时,终端设备可以通过ListFile方式列出该文件夹下的所有文件。例如,用户在点击终端设备中的文件管理类应用后,可以展示如图5所示的终端设备界面,由图5可知,该应用中可以包括ABC文件夹,当用户点击进入ABC文件夹后,终端设备可以展示出该文件夹下的所有文件。终端设备可以接收用户发出的对该文件夹下的所有文件的目标文件属性信息进行排序的排序指令。例如,如图5所示,用户可以选择对文件进行排序的排序方式,包括有按名称、按类型、从小到大,从大到小,从旧到新和从新到旧等。
响应该排序指令,终端设备可以根据该文件夹下的所有文件对应的路径,在HashMap或数据库中查找与该路径具有绑定关系的文件属性,并在该文件属性中确定出目标文件属性信息。如果无法在HashMap或数据库中查找到目标文件属性信息,则可以通过平台标准的File接口,对该文件夹下的无法查找到目标文件属性信息对应的文件进行访问,读取该文件对应的所有文件属性信息,并将该文件对应的所有文件属性信息和该文件对应的路径存储至HashMap或数据库中,以及根据排序指令取得出该文件对应的目标文件属性信息。最后根据确定出的目标文件属性信息,对该文件夹下的所有文件进行排序。
该封装接口可以作为平台通用的服务,对于存储在其中的数据,其他应用也可以使用该封装接口读取文件属性信息,终端设备中的多个应用可以不断地维护此套HashMap或者数据库,如此读取文件属性信息的速度会随着数据的充实,而变得越来越快,并且HashMap和数据库的完整性和准确性也可以保证。同时,本申请实施例是通过全新封装的接口对文件的文件属性信息进行查询,修改移植可操作性强,只需将原有的File批量替换成HmctFastFile就可实现,可以更加地快速适配。
本申请实施例提供的对象排序方法,由于在根据目标属性信息对对象进行排序时,是通过从数据信息表中查找到目标属性信息,而不是直接通过接口读取对象对应的目标属性信息的,从而可以解决在对性能较差平台中的对象进行排序时,由于文件系统慢而导致的文件管理类应用排序卡顿的问题,并且,可以大大提高排序效率,降低排序时间。例如,性能较差平台未采用该排序方法对1000个文件进行排序时,需要耗费50s左右的时间,而采用该排序方法时,仅需要耗费3-5s的时间,大大提高了排序效率。
与图3所示的对象排序方法基于同一发明构思,本申请实施例中还提供了一种对象排序装置,该对象排序装置可以布设在终端设备中。由于该装置是本申请对象排序方法对应的装置,并且该装置解决问题的原理与该方法相似,因此该装置的实施可以参见上述方法的实施,重复之处不再赘述。
图6示出了本申请实施例提供的一种对象排序装置的结构示意图,如图6所示,该对象排序装置包括对象确定单元601、属性查找单元602和对象排序单元603。
其中,对象确定单元601,用于响应对目标属性信息的排序指令,确定排序指令对应目录下的对象;排序指令用于指示按照目标属性信息对对象进行排序;
属性查找单元602,用于根据确定的对象对应的对象路径,从数据信息表包括的对象的属性信息中查找排序指令对应的目标属性信息,其中数据信息表中存储有对象对应的至少一个属性信息和对象路径;至少一个属性信息是在进行对象操作时存储至数据信息表中的;
对象排序单元603,用于基于目标属性信息对确定的对象进行排序。
在一种可能的实现方式中,属性查找单元602,具体用于:
根据确定的对象对应的对象路径,在数据信息表中查找与对象路径具有绑定关系的属性信息;
在查找到的属性信息中确定出目标属性信息,其中目标属性信息的属性类型是排序指令指示的属性类型。
在一种可能的实现方式中,属性查找单元602,还用于:
若从数据信息表中无法查找到目标属性信息,则通过封装接口对目录下的对象进行访问,读取对象对应的至少一个属性信息,并将至少一个属性信息和对象对应的对象路径存储至数据信息表中;以及
根据排序指令,确定对象对应的目标属性信息。
在一种可能的实现方式中,对象为子目录和文件中的一种。
在一种可能的实现方式中,进行对象操作,包括:
对对象进行查看操作、对对象进行排序操作和对对象进行编辑操作中的一种。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
- 上一篇:石墨接头机器人自动装卡簧、装栓机
- 下一篇:一种数据处理方法、装置和系统