一种数据迁移方法及装置

文档序号:1755023 发布日期:2019-11-29 浏览:1次 >En<

阅读说明:本技术 一种数据迁移方法及装置 (A kind of data migration method and device ) 是由 苏楠 于 2019-08-16 设计创作,主要内容包括:本发明提供一种数据迁移方法及装置,通过动态随机存取存储器DRAM将数据写入固态驱动器SSD,若在固态驱动器SSD中全部数据占用的存储容量大于或等于预设存储容量,将部分数据从固态驱动器SSD中迁移至硬盘驱动器HDD,在预设时间内,若被执行写操作的数据的次数大于预设写次数,则将数据迁移到非易失存储器NVM,或若被执行读操作的数据的次数大于预设读次数,则存储在固态驱动器SSD中的数据,不执行迁移操作。提高各个存储介质的利用率,解决了不能充分发挥各个存储介质的性能的问题。(The present invention provides a kind of data migration method and device, solid state drive SSD is write data by dynamic random access memory DRAM, if the memory capacity that total data occupies in solid state drive SSD is greater than or equal to default memory capacity, partial data is migrated from solid state drive SSD to hard disk drive HDD, within a preset time, if the number for being performed the data of write operation, which is greater than to preset, writes number, then by Data Migration to nonvolatile storage NVM, if or being performed the numbers of the data of read operation and being greater than and default read number, the data being then stored in solid state drive SSD, do not execute migration operation.The utilization rate for improving each storage medium solves the problems, such as that the performance of each storage medium cannot be given full play to.)

一种数据迁移方法及装置

技术领域

本发明属于存储技术领域,具体为涉及一种数据迁移方法及装置。

背景技术

随着科学技术的进步,数据信息时代的到来,近几年来信息量快速发展,例如:各行各业都在疯狂的产生数据,海量数据的获取、挖掘及整合,源源不断的海量数据推进了信息***的时代。因此,需要容量更大的存储介质和先进的存储技术,来解决当下的问题。例如:在传统存储的方法上,增加高速缓冲存储器。

但是,内存存储器和外存存储器频繁的交换数据,使得该内存存储器和外存存储器的使用寿命缩短,在后期会降低交换数据的速度,而且频繁更换存储器会产生较大的开销。

发明内容

有鉴于此,本发明的目的在于提供一种数据迁移方法及装置,用于提高各个存储介质的利用率,解决了不能充分发挥各个存储介质的性能的问题。技术方案如下:

本发明提供一种数据迁移方法,适用于存储系统,所述存储系统包括固态驱动器SSD、硬盘驱动器HDD、动态随机存取存储器DRAM和非易失存储器NVM,所述方法包括:

通过所述动态随机存取存储器DRAM将数据写入所述固态驱动器SSD;

若在所述固态驱动器SSD中全部数据占用的存储容量大于或等于预设存储容量,将部分数据从所述固态驱动器SSD中迁移至所述硬盘驱动器HDD;

在预设时间内,若被执行写操作的数据的次数大于预设写次数,则将所述数据迁移到所述非易失存储器NVM,或若被执行读操作的数据的次数大于预设读次数,则存储在所述固态驱动器SSD中的数据,不执行迁移操作。

优选的,所述方法还包括:

若数据被执行写操作的次数小于预设写次数,且被执行读操作的次数小于预设读次数,则将所述数据迁移至所述硬盘驱动器HDD。

优选的,通过所述动态随机存取存储器DRAM将数据写入所述固态驱动器SSD之后,还包括:

记录所述数据的热度值和所述数据的存储位置,其中,所述热度值为所述数据被执行读操作和写操作的频繁度,所述数据被执行读操作和写操作的频繁度越高,热度值越大。

优选的,所述若被执行写操作的数据的次数大于预设写次数,则将所述数据迁移到所述非易失存储器NVM之后,还包括:

若在当前预设时间内,存储在所述非易失存储器NVM中的数据被执行写操作的次数比前一预设时间内被执行写操作的次数少,则将所述数据迁移到所述固态驱动器SSD。

优选的,所述方法还包括:

若当前预设时间内,存储在所述固态驱动器SSD中的数据被执行读或写操作的次数比前一预设时间内的少,则将所述数据迁移到所述硬盘驱动器HDD。

本发明还提供一种数据迁移装置,适用于存储系统,所述存储系统包括固态驱动器SSD、硬盘驱动器HDD、动态随机存取存储器DRAM和非易失存储器NVM,所述装置包括:

写入模块,用于通过所述动态随机存取存储器DRAM将数据写入所述固态驱动器SSD;

第一迁移模块,用于若在所述固态驱动器SSD中全部数据占用的存储容量大于或等于预设存储容量,将部分数据从所述固态驱动器SSD中迁移至所述硬盘驱动器HDD;

第二迁移模块,用于在预设时间内,若被执行写操作的数据的次数大于预设写次数,则将所述数据迁移到所述非易失存储器NVM,或若被执行读操作的数据的次数大于预设读次数,则存储在所述固态驱动器SSD中的数据,不执行迁移操作。

优选的,所述装置还包括:

第三迁移模块,用于若数据被执行写操作的次数小于预设写次数,且被执行读操作的次数小于预设读次数,则将所述数据迁移至所述硬盘驱动器HDD。

优选的,所述装置还包括:

记录模块,用于记录所述数据的热度值和所述数据的存储位置,其中,所述热度值为所述数据被执行读操作和写操作的频繁度,所述数据被执行读操作和写操作的频繁度越高,热度值越大。

优选的,所述装置还包括:

第四迁移模块,用于若在当前预设时间内,存储在所述非易失存储器NVM中的数据被执行写操作的次数比前一预设时间内被执行写操作的次数少,则将所述数据迁移到所述固态驱动器SSD。

优选的,所述装置还包括:

第五迁移模块,用于若当前预设时间内,存储在所述固态驱动器SSD中的数据被执行读或写操作的次数比前一预设时间内的少,则将所述数据迁移到所述硬盘驱动器HDD。

与现有技术相比,本发明提供的上述技术方案具有如下优点:

通过动态随机存取存储器DRAM将数据写入固态驱动器SSD,若在固态驱动器SSD中全部数据占用的存储容量大于或等于预设存储容量,将部分数据从固态驱动器SSD中迁移至硬盘驱动器HDD,在预设时间内,若被执行写操作的数据的次数大于预设写次数,则将数据迁移到非易失存储器NVM,或若被执行读操作的数据的次数大于预设读次数,则存储在固态驱动器SSD中的数据,不执行迁移操作。提高各个存储介质的利用率,解决了不能充分发挥各个存储介质的性能的问题。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本发明实施例提供的一种数据迁移方法的流程图;

图2是本发明实施例提供的另一种数据迁移方法的流程图;

图3是本发明实施例提供的另一种数据迁移方法的流程图;

图4是本发明实施例提供的另一种数据迁移方法的流程图;

图5是本发明实施例提供的再另一种数据迁移方法的流程图;

图6是本发明实施例提供的一种数据迁移装置的结构示意图。

具体实施方式

本发明提供了一种数据迁移方法及装置,用于提高各个存储介质的利用率,解决了不能充分发挥各个存储介质的性能的问题。

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

如图1所示,示出了本发明实施例提供的一种数据迁移方法的流程图,该方法包括以下步骤:

S101:通过动态随机存取存储器DRAM将数据写入固态驱动器SSD。

在S101中,DRAM(Dynamic RandomAccess Memory,动态随机存取存储器),最为常见的系统内存。DRAM只能将数据保存很短的时间。为了保存数据,DRAM使用电容存储,所以必须隔一段时间刷新(refresh)一次,如果存储单元没有被刷新,存储的信息就会丢失。例如:在计算机进行关机时,电源断开就会丢失数据。

固态驱动器(Solid State Disk或Solid State Drive,SSD),俗称固态硬盘,固态硬盘是用固态电子存储芯片阵列而制成的硬盘。SSD由控制单元和存储单元(FLASH芯片、DRAM芯片)组成。固态硬盘在接口的规范和定义、功能及使用方法上与普通硬盘的完全相同,在产品外形和尺寸上也完全与普通硬盘一致。被广泛应用于军事、车载、工控、视频监控、网络监控、网络终端、电力、医疗、航空、导航设备等诸多领域。

在执行S101的过程中,当数据被执行写操作时,系统通过DRAM将数据写入到SSD中。即将系统中的数据保存到硬盘中,进行存储。

例如:在计算机中,存储系统可分内存和外存,硬盘就是外存,所有的数据都存储在硬盘上。计算机计算数据时,中央处理器CPU命令将硬盘中的数据读入内存,好提供给自己处理计算,然后获得结果发送给内存,通过内存将数据再写到硬盘中。需要说明的是,硬盘是机械磁存储读写速度太慢,不能匹配CPU处理数据速度,而内存是电存储,它可以匹配CPU,相当于一个中转,内存提前读入硬盘中的数据,再供给CPU使用。

需要说明的是,包括但不限于通过DRAM将数据写入至固态驱动器SSD,可根据实际情况选择硬盘,对数据进行存储。

S102:判断固态驱动器SSD中全部数据占用的存储容量是否大于或等于预设存储容量,若是,执行S103,若否,执行S104。

在执行S102的过程中,系统一直监控着固态驱动器SSD的存储状态,该存储状态指的是数据在该SSD中,占用的存储容量。为了保护固态驱动器SSD,减少该固态驱动器SSD的使用损耗,因此设置一个预设存储容量,用来监控固态驱动器SSD的存储状态,当监控到固态驱动器SSD已使用的存储容量大于或等于预设存储容量,则执行相应的操作,缓解固态驱动器SSD的存储压力。

例如:固态驱动器SSD的存储容量为100GB,当该固态驱动器SSD用来存储数据的容量达到70GB的时候,则不能在用来存储数据了,需要将部分数据迁移出来。

需要说明的是,用来监控固态驱动器SSD的预设存储容量,可根据实际情况进行设定,这里不再进行赘述。

S103:将部分数据从固态驱动器SSD中迁移至硬盘驱动器HDD。

在S103中,HDD(Hard Disk Drive,硬盘驱动器),是最基本的电脑存储器。例如:电脑硬盘C盘、D盘等磁盘分区都属于硬盘驱动器。目前硬盘一般常见的磁盘容量为80G、128G、160G、256G、320G、500G、750G、1TB和2TB等等。硬盘按体积大小可分为3.5寸、2.5寸、1.8寸等;按转数可分为5400rpm/7200rpm/10000rpm等;按接口可分为PATA、SATA、SCSI等。PATA、SATA一般为桌面级应用,容量大,价格相对较低,适合家用;而SCSI一般为服务器、工作站等高端应用,容量相对较小,价格较贵,但是性能较好,稳定性也较高。

在执行S103的过程中,因为固态驱动器SSD的存储容量有限,如果写入数据的总容量达到固态驱动器SSD的预设存储容量,那么需要将该固态驱动器SSD中的部分数据迁移到硬盘驱动器HDD中,直到固态驱动器SSD中的数据占用的容量小于预设存储容量。

例如:如果固态驱动器SSD存储容量为100GB,数据在固态驱动器SSD中的占用存储容量大于70%,即70GB,则需要将部分数据迁移到硬盘驱动器HDD中,如可将20GB的数据迁移至硬盘驱动器HDD中,这样使得固态驱动器SSD中数据的占用存储容量减少到50GB,大大缓解了固态驱动器SSD的存储压力。

需要说明的是,可按照固态驱动器SSD中被执行读、写次数较少的数据,按顺序将这些数据从固态驱动器SSD迁移至硬盘驱动器HDD。

S104:不执行迁移操作。

在执行S104的过程中,如果固态驱动器SSD中数据的占用容量,未达到预设存储容量,那么不执行迁移操作,继续将数据写入到固态驱动器SSD。

S105:在预设时间内,判断被执行写操作和读操作的数据的次数是否大于预设写次数和预设读次数,若被执行写操作的数据的次数大于预设写次数,则执行S106,若被执行读操作的次数大于预设读次数,则执行S104。

在执行S105的过程中,设置一个预设时间段、预设写次数和预设读次数。在该预设时间段内,对每个数据的写操作和读操作进行记录,然后判断被执行写操作的数据是否大于预设写次数,如果大于,说明该数据经常使用,需将该数据存储在一个数据不易丢失的存储器中。

S106:将数据迁移到非易失存储器NVM。

在S106中,NVM(Non-volatile memory,非易失存储器)具有非易失、按字节存取、存储密度高、低能耗、读写性能接近DRAM,但读写速度不对称。当电流关掉后,所存储的数据不会消失的一种计算机存储器。

在执行S106的过程中,在预设时间段内,若数据被执行写操作的次数大于预设写次数,则将该数据迁移至非易失存储器NVM中。

例如,在一个小时内,一种数据被执行写操作的次数为8,而预设写次数为6,那么该数据就需要迁移至非易失存储器NVM中。

需要说明的是,预设时间和预设写次数可根据实际情况进行设定,这里不再进行赘述。

根据上述本发明实施例公开的数据迁移方法可知,通过动态随机存取存储器DRAM将数据写入固态驱动器SSD,若在固态驱动器SSD中全部数据占用的存储容量大于或等于预设存储容量,将部分数据从固态驱动器SSD中迁移至硬盘驱动器HDD,在预设时间内,若被执行写操作的数据的次数大于预设写次数,则将数据迁移到非易失存储器NVM,或若被执行读操作的数据的次数大于预设读次数,则存储在固态驱动器SSD中的数据,不执行迁移操作。提高各个存储介质的利用率,解决了不能充分发挥各个存储介质的性能的问题。

基于上述本发明实施例公开的数据迁移方法,如图2所示,为本发明实施例提供的另一种数据迁移方法的流程图,主要包括:

S201:通过动态随机存取存储器DRAM将数据写入固态驱动器SSD。

S202:判断固态驱动器SSD中全部数据占用的存储容量是否大于或等于预设存储容量,若是,执行S203,若否,执行S204。

S203:将部分数据从固态驱动器SSD中迁移至硬盘驱动器HDD。

S204:不执行迁移操作。

S201至S204的执行原理和上述S101至S104的一致,这里不再进行赘述。

S205:在预设时间内,判断被执行写操作和读操作的数据的次数是否大于预设写次数和预设读次数,若数据被执行写操作的次数小于预设写次数,且被执行读操作的次数小于预设读次数,则执行S206。

S206:将数据迁移至硬盘驱动器HDD。

在执行S206的过程中,如果在预设时间内,数据被执行写操作的次数小于预设写次数且被执行读操作的次数小于预设读次数,则将数据从SDD迁移至硬盘驱动器HDD中。

例如:在一个小时内,数据被执行写操作为3次,读次数为0次,而预设写次数为8次,预设读次数为1次,该数据被执行写次数和被执行读次数都小于预设写次数和预设读次数,所以需要将该数据从SDD中迁移至硬盘驱动器HDD。

根据上述本发明实施例公开的数据迁移方法可知,通过动态随机存取存储器DRAM将数据写入固态驱动器SSD,若在固态驱动器SSD中全部数据占用的存储容量大于或等于预设存储容量,将部分数据从固态驱动器SSD中迁移至硬盘驱动器HDD,在预设时间内,若被执行写操作的数据的次数大于预设写次数,则将数据迁移到非易失存储器NVM,或若被执行读操作的数据的次数大于预设读次数,则存储在固态驱动器SSD中的数据,不执行迁移操作。提高各个存储介质的利用率,解决了不能充分发挥各个存储介质的性能的问题。

基于上述本发明实施例公开的数据迁移方法,如图3所示,为本发明实施例提供的另一种数据迁移方法的流程图,该方法包括以下步骤:

S301:通过动态随机存取存储器DRAM将数据写入固态驱动器SSD。

S301的执行原理和上述S101的一致,这里不再进行赘述。

S302:记录数据的热度值和数据的存储位置。

在S302中,数据的热度值指的是数据被执行读操作和写操作的频繁度,即数据被执行读操作和写操作的频繁度越高,热度值越大。

存储位置指的是:被写入的数据存储在哪个存储器中。

在执行S302的过程中,对写入固态驱动器SSD的数据,进行热度值的记录以及存储位置的记录,通过记录的方式,能够清楚的了解数据的各方面的信息。

需要说明的是,因为在本发明实施例中,存在多个存储介质,所以需要将这些存储介质分为一级存储介质、二级存储介质依次类推。所以除了记录上述数据热度值和存储位置外,还需要标记存储在了第几级存储介质中。

根据上述本发明实施例公开的数据迁移方法可知,通过动态随机存取存储器DRAM将数据写入固态驱动器SSD,然后记录数据的热度值和数据的存储位置,能够清楚的了解数据的各方面的信息。

基于上述本发明实施例公开的数据迁移方法,如图4所示,为本发明实施例提供的另一种数据迁移方法的流程图,该方法包括以下步骤:

S401:判断当前预设时间内,存储在非易失存储器NVM中的数据被执行写操作的次数是否比前一预设时间内被执行写操作的次数少,若是,执行S402,若否,执行S403。

S402:将数据迁移到固态驱动器SSD。

S403:不进行迁移操作。

根据上述本发明实施例公开的数据迁移方法可知,通过动态随机存取存储器DRAM将数据写入固态驱动器SSD,若在固态驱动器SSD中全部数据占用的存储容量大于或等于预设存储容量,将部分数据从固态驱动器SSD中迁移至硬盘驱动器HDD,在预设时间内,若被执行写操作的数据的次数大于预设写次数,则将数据迁移到非易失存储器NVM,或若被执行读操作的数据的次数大于预设读次数,则存储在固态驱动器SSD中的数据,不执行迁移操作。提高各个存储介质的利用率,解决了不能充分发挥各个存储介质的性能的问题。

基于上述本发明实施例公开的数据迁移方法,如图5所示,为本发明实施例提供的再另一种数据迁移方法的流程图,该方法包括以下步骤:

S501:判断当前预设时间内,存储在非易失存储器NVM中的数据被执行写操作的次数是否比前一预设时间内被执行写操作的次数少,若是,执行S502,若否,执行S503。

S502:将数据迁移到固态驱动器SSD。

S503:不进行迁移操作。

S501至S503的执行原理和上述S401至S402的一致,这里不再进行赘述。

S504:判断当前预设时间内,存储在固态驱动器SSD中的数据被执行读或写操作的次数是否比前一预设时间内被执行读操作或写操作的次数少,若是,执行S505,若否,执行S503。

S505:将数据迁移到硬盘驱动器HDD。

根据上述本发明实施例公开的数据迁移方法可知,通过动态随机存取存储器DRAM将数据写入固态驱动器SSD,若在固态驱动器SSD中全部数据占用的存储容量大于或等于预设存储容量,将部分数据从固态驱动器SSD中迁移至硬盘驱动器HDD,在预设时间内,若被执行写操作的数据的次数大于预设写次数,则将数据迁移到非易失存储器NVM,或若被执行读操作的数据的次数大于预设读次数,则存储在固态驱动器SSD中的数据,不执行迁移操作。提高各个存储介质的利用率,解决了不能充分发挥各个存储介质的性能的问题。

基于上述本发明实施例公开的数据迁移方法,本发明实施例还相应的公开一种数据迁移装置,如图6所示,为本发明实施例提供的一种数据迁移装置的结构示意图,主要包括:写入模块60、第一迁移模块61和第二迁移模块62。

写入模块60,用于通过动态随机存取存储器DRAM将数据写入固态驱动器SSD。

第一迁移模块61,用于若在固态驱动器SSD中全部数据占用的存储容量大于或等于预设存储容量,将部分数据从固态驱动器SSD中迁移至硬盘驱动器HDD。

第二迁移模块62,用于在预设时间内,若被执行写操作的数据的次数大于预设写次数,则将数据迁移到非易失存储器NVM,或若被执行读操作的数据的次数大于预设读次数,则存储在固态驱动器SSD中的数据,不执行迁移操作。

根据上述本发明实施例公开的数据迁移装置可知,通过动态随机存取存储器DRAM将数据写入固态驱动器SSD,若在固态驱动器SSD中全部数据占用的存储容量大于或等于预设存储容量,将部分数据从固态驱动器SSD中迁移至硬盘驱动器HDD,在预设时间内,若被执行写操作的数据的次数大于预设写次数,则将数据迁移到非易失存储器NVM,或若被执行读操作的数据的次数大于预设读次数,则存储在固态驱动器SSD中的数据,不执行迁移操作。提高各个存储介质的利用率,解决了不能充分发挥各个存储介质的性能的问题。

基于上述本发明装置实施例公开的数据迁移装置,该数据迁移装置还包括:第三迁移模块。

第三迁移模块,用于若数据被执行写操作的次数小于预设写次数,且被执行读操作的次数小于预设读次数,则将数据迁移至硬盘驱动器HDD。

基于上述本发明装置实施例公开的数据迁移装置,该数据迁移装置还包括:记录模块。

记录模块,用于记录数据的热度值和数据的存储位置,其中,热度值为数据被执行读操作和写操作的频繁度,即数据被执行读操作和写操作的频繁度越高,热度值越大。

根据上述本发明实施例公开的数据迁移装置可知,通过动态随机存取存储器DRAM将数据写入固态驱动器SSD,然后记录数据的热度值和数据的存储位置,能够清楚的了解数据的各方面的信息。

基于上述本发明装置实施例公开的数据迁移装置,该数据迁移装置还包括:第四迁移模块。

第四迁移模块,用于若在当前预设时间内,存储在非易失存储器NVM中的数据被执行写操作的次数比前一预设时间内被执行写操作的次数少,则将数据迁移到固态驱动器SSD。

基于上述本发明装置实施例公开的数据迁移装置,该数据迁移装置还包括:第五迁移模块。

第五迁移模块,用于若当前预设时间内,存储在固态驱动器SSD中的数据被执行读或写操作的次数比前一预设时间内的少,则将数据迁移到硬盘驱动器HDD。

根据上述本发明实施例公开的数据迁移装置可知,通过动态随机存取存储器DRAM将数据写入固态驱动器SSD,若在固态驱动器SSD中全部数据占用的存储容量大于或等于预设存储容量,将部分数据从固态驱动器SSD中迁移至硬盘驱动器HDD,在预设时间内,若被执行写操作的数据的次数大于预设写次数,则将数据迁移到非易失存储器NVM,或若被执行读操作的数据的次数大于预设读次数,则存储在固态驱动器SSD中的数据,不执行迁移操作。提高各个存储介质的利用率,解决了不能充分发挥各个存储介质的性能的问题。

需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于装置类实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

对所公开的实施例的上述说明,使本领域技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

15页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:一种SATA固态硬盘冷热数据分离的方法及其装置

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!

技术分类