CN110727405A - 数据处理方法、装置、电子设备及计算机可读介质 - Google Patents
数据处理方法、装置、电子设备及计算机可读介质 Download PDFInfo
- Publication number
- CN110727405A CN110727405A CN201910959707.8A CN201910959707A CN110727405A CN 110727405 A CN110727405 A CN 110727405A CN 201910959707 A CN201910959707 A CN 201910959707A CN 110727405 A CN110727405 A CN 110727405A
- Authority
- CN
- China
- Prior art keywords
- data
- read
- target object
- write
- memory
- 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.)
- Pending
Links
Images
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/061—Improving I/O performance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
-
- 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/0614—Improving the reliability of storage systems
- G06F3/0616—Improving the reliability of storage systems in relation to life time, e.g. increasing Mean Time Between Failures [MTBF]
-
- 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/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0658—Controller construction arrangements
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开了一种数据处理方法、装置、电子设备及计算机可读介质,涉及数据存储领域。该方法包括:获取目标对象的数据;获取预设时间段内所述目标对象的读写次数;将所述读写次数输入预先训练的分类器,以获得分类结果;若所述分类结果满足指定条件,则将所述目标对象的数据存储至存储类存储器。因此,对存储至存储类存储器内的数据进行了筛选,即只有满足指定条件的对象对应的数据才能够存储至存储类存储器中,并且该分类结果与对象的读写次数有关,即能够根据对象的读写次数确定是否要将数据存储至存储类存储器中,从而能够减少对存储类存储器的写入操作。
Description
技术领域
本申请涉及数据存储领域,更具体地,涉及一种数据处理方法、装置、电子设备及计算机可读介质。
背景技术
存储类存储器(storage class memory,SCM)作为一种新型存储设备可以像随机访问存储器(random access memory,RAM)一样接入内存总线,CPU通过store与load指令直接访问SCM。但是,SCM存在写磨损,过多的写入操作会造成SCM损坏。
发明内容
本申请提出了一种数据处理方法、装置、电子设备及计算机可读介质,以改善上述缺陷。
第一方面,本申请实施例提供了一种数据处理方法,包括:获取目标对象的数据;获取预设时间段内所述目标对象的读写次数;将所述读写次数输入预先训练的分类器,以获得分类结果;若所述分类结果满足指定条件,则将所述目标对象的数据存储至存储类存储器。
第二方面,本申请实施例还提供了数据处理装置,包括:获取单元、确定单元、分类单元和处理单元。获取单元,用于获取目标对象的数据。确定单元,用于获取预设时间段内所述目标对象的读写次数。分类单元,用于将所述读写次数输入预先训练的分类器,以获得分类结果。处理单元,用于若所述分类结果满足指定条件,则将所述目标对象的数据存储至存储类存储器。
第三方面,本申请实施例还提供了一种电子设备,包括:一个或多个处理器;存储器;一个或多个应用程序,其中所述一个或多个应用程序被存储在所述存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个程序配置用于执行上述方法。
第四方面,本申请实施例还提供了一种计算机可读介质,所述可读存储介质存储有处理器可执行的程序代码,所述程序代码中的多条指令被所述处理器执行时使所述处理器执行上述方法。
本申请提供的数据处理方法、装置、电子设备及计算机可读介质,电子设备获取目标对象的数据,并且获取预设时间段内所述目标对象的读写次数;将所述读写次数输入预先训练的分类器,以获得分类结果。判断分类结果是否满足指定条件,如果满足指定条件,则将所述目标对象的数据存储至存储类存储器。因此,于本申请中,对存储至存储类存储器内的数据进行了筛选,即只有满足指定条件的对象对应的数据才能够存储至存储类存储器中,并且该分类结果与对象的读写次数有关,即能够根据对象的读写次数确定是否要将数据存储至存储类存储器中,从而能够减少对存储类存储器的写入操作。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出了本申请实施例提供的一种内存架构的示意图;
图2示出了本申请实施例提供的另一种内存架构的示意图;
图3示出了本申请一实施例提供的一种数据处理方法的方法流程图;
图4示出了本申请另一实施例提供的一种数据处理方法的方法流程图;
图5示出了本申请一实施例提供的一种数据分离器的示意图;
图6示出了本申请又一实施例提供的一种数据处理方法的方法流程图;
图7示出了本申请再一实施例提供的一种数据处理方法的方法流程图;
图8示出了本申请另一实施例提供的一种数据分离器的示意图;
图9示出了本申请一实施例提供的图7中S740的方法流程图;
图10示出了本申请另一实施例提供的图7中S740的方法流程图;
图11示出了本申请一实施例提供的数据处理装置的模块框图;
图12示出了本申请实施例提供的电子设备的结构框图;
图13示出了本申请实施例的用于保存或者携带实现根据本申请实施例的数据处理方法的程序代码的存储单元。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。
请参阅图1,示出了一种内存架构,如图1所示,该架构包括中央处理器(CentralProcessing Unit,CPU)、缓存(cache memory)和内存(RAM-main memory)。
其中,图1仅示出了一个CPU,当设备是多核的时候,可以包括多个CPU,则每个CPU通过自己的缓存与内存连接。每个CUP执行一个线程,并且多个CPU可以同时执行任务,即并发执行。
每个CPU都有自己的寄存器,CPU在寄存器上执行一些操作,并且在寄存器上执行操作的速度,远远大于在主内存中。
通常情况下,当CPU需要读取内存的时候,会将部分数据读到,并放入CPU的缓存中,甚至可以将CPU缓存中的部分数据读到寄存器中,然后在寄存器中操作,操作完成后,需要将数据写入主存中的时候,先将数据刷新至CPU缓存中,然后在某个时间点将数据刷新到内存中。
当CPU需要在缓存层存放一些东西的时候,存放在缓存中的内容通常会被刷新回内存。CPU缓存可以在某一时刻将数据局部写到它的内存中,也可以在某一时刻局部刷新它的内存。
请参阅图2,图2示出了另一种内存架构。如图2所示,CPU通过内存控制器(memorycontroller)与主内存(memory)连接,其中,主内存包括由动态随机存取存储器(dynamicrandom Access Memory)和存储类存储器组成的混合内存和存储类存储器,具体地,混合内存和存储类存储器分别通过内存控制器与CPU连接。CPU通过I/O接口控制器(I/Ocontroller)与存储器(storage)连接,具体地,存储器包括存储类存储器、固态硬盘(solidstate disk,SSD)、SAS(serial attached SCSI)接口固态硬盘和硬盘驱动器(hard diskdrive,HDD)。
CPU通过I/O接口控制器分别与存储类存储器和固态硬盘连接,I/O接口控制器还与存储控制器(storage controller)连接,存储控制器分别与SAS接口固态硬盘和硬盘驱动器连接。
其中,SCM作为一种新型存储设备可以像随机访问存储器一样接入内存总线,CPU通过store与load指令直接访问SCM。因此SCM的I/O单位一般为一个cache line大小,即64B。SCM具有跟内存相同的读取速度,写延迟要比直接写内存高4-5倍左右。最为令人振奋的特性是,跟RAM相比,SCM在断电以后数据不丢失。但是,SCM具有一个作为NVM设备的致命缺陷,即写次数有限,写几百万次时会写穿造成永久失效的问题。
目前存储系统开发人员积极拥抱新型存储设备SCM出现,纷纷采用这项新技术提升系统性能。开发人员一般将SCM当做磁盘使用,如图2所示,在存储器内还包括SCM,CPU通过I/O访问SCM内的数据,也即内存与SCM的数据交换单位为512B的倍数,不改变上层系统的软件架构,通过SCM的读写速度相应提升系统性能。这种方法的优点是所需工程量最小,而且有一定的效果。不足之处是没有充分利用SCM的优点缩短读写I/O的软件栈,需要通过文件接口访问SCM。
另外一种方案是利用SCM的非易失特性以及高效写性能,作为记录日志的存储介质。在大内存时代下,记录日志引起的I/O通常是系统瓶颈所在,这方法对于改善系统性能也是有明显的效果,但是需要重构系统的日志模块。该方法的明显不足之处是没有考虑到SCM设备频繁写的情况会对设备造成磨损,缩短设备使用寿命。
因此,为了克服上述缺陷,为了减少对SCM的写入而造成对SCM的损耗,本申请实施例提供了一种数据处理方法,具体地,该方法一个用于电子设备内,具体的,该方法的执行主体可以是CPU。如图3所示,该方法包括:S301至S304。
S301:获取目标对象的数据。
其中,目标对象为电子设备执行数据操作的对象,其中,数据操作包括数据的读取和更新,作为一种实施方式,该目标对象可以是数据项。其中,数据项用于组成数据元素,具体地,数据是描述客观事物的符号,是计算机中可以操作的对象,是能被计算机识别,并输入给计算机处理的符号集合。数据不仅仅包括整形、实型等数值类型,还包括字符及声音、图像、视频等非数值类型。一个数据元素可以由多个数据项组成。
例如,数据元素data的数据项包括:数据项a、数据项b、数据项c、数据项d、数据项e和数据项f。例如,该数据元素data为人员表,则数据项a、数据项b、数据项c、数据项d、数据项e和数据项f分别为姓名、性别、身高、体重、联系方式、部门等,则数据项a的数据为张三、李四、王五等姓名信息。当然,还可以将数据元素整体作为目标对象,即将数据项a、数据项b、数据项c、数据项d、数据项e和数据项f整体作为目标对象,则此时该目标对象对应的数据为姓名、性别、身高、体重、联系方式、部门等具体内容数据。
作为一种实施方式,某个数据项被执行数据操作的时候,该数据项作为目标对象。其中,该数据操作可以包括数据查询操作或者数据更新操作等。
作为又一种实施方式,还可以是电子设备在确定要执行数据存储操作的时候,对电子设备内的各个对象的数据执行本数据处理方法,以确定是否要将该对象的数据存储至存储类存储器内。其中,电子设备在确定要执行数据存储操作的时候可以是电子设备获取到存储请求的时候,例如,可以是电子设备在一定触发条件下判断电子设备的还未存储至存储类存储器或者未被设定为需要存储至存储类存储器内的对象的数据是否需要存储至存储类存储器,即执行本方法。其中,触发条件可以是电子设备按照一定的时间间隔,在时间间隔到的时候,就判定获取到触发条件,还可以是获取到其他终端或者应用程序发送的存储请求,该存储请求内包括对象的名称,则CPU解析该存储请求,以得到对象的名称,将该对象的名称作为目标对象。
S302:获取预设时间段内所述目标对象的读写次数。
其中,读写次数包括读取的次数和更新的次数的至少一个,于本申请实施例中,该读写次数可以包括读取的次数和更新的次数。
作为一种实施方式,目标对象对应有访问记录,该访问记录记录了读取的次数和更新的次数以及其他信息,其中,其他信息可以包括被访问的时间、访问的用户的用户名称或者访问端的标识,其中,标识可以是IP地址或者设备ID等。
具体地,该目标对象的访问记录存储在电子设备内。例如,可以是存储在电子设备内的硬盘等存储器内,通过查询该访问记录能够获取到预设时间段内所述目标对象的读写次数。其中,预设时间段可以是根据需求而设定的时间段。例如,可以是近一周或者近一天或者近一个月等。
S303:将所述读写次数输入预先训练的分类器,以获得分类结果。
其中,分类器为预先训练好的人工智能模型,具体地,可以将样本集内的各个对象的读写次数作为该分类器的输入,预先标记的各个对象的分类结果作为样本集内的各个对象的标签,以对分类器进行训练,使得分类器能够根据目标对象的读写次数给出一个分类结果,该分类结果能够表征该目标对象的数据是否应当存储至存储类存储器。具体地,该分类器的训练以及具体的分类实施方式在后续实施例中介绍,在此不再赘述。
S304:若所述分类结果满足指定条件,则将所述目标对象的数据存储至存储类存储器。
其中,指定条件为预先根据需求而设定的条件,该指定条件用于作为根据分类结果确定该目标对象是否应当被存储至存储类存储器的判定依据,即若所述分类结果满足指定条件,则将所述目标对象的数据存储至存储类存储器。作为一种实施方式,该指定条件是用于筛选频繁被读取而被更新的频率不高的对象,将该对象的数据存储至存储类存储器。具体地,在后续实施例中说明。
作为一种实施方式,在CPU操作目标对象的时候,该目标对象的数据会被加载至内存中,CPU在内存中对该对象的数据进行操作,在操作结束的时候,再存储至电子设备内的存储器内。则如果判定该对象对应的分类结果满足指定条件,则将该对象的数据存储至存储类存储器,如果判定该对象对应的分类结果不满足指定条件,则将该对象的数据保留在内存中,具体地,在后续实施例中说明。
因此,于本申请实施例中,对存储至存储类存储器内的数据进行了筛选,即只有满足指定条件的对象对应的数据才能够存储至存储类存储器中,并且该分类结果与对象的读写次数有关,即能够根据对象的读写次数确定是否要将数据存储至存储类存储器中,从而能够减少对存储类存储器的写入操作。
请参阅图4,本申请实施例提供了一种数据处理方法,该方法包括:S401至S407。
S401:获取目标对象的数据。
S402:获取预设时间段内所述目标对象的被读取的次数和被更新的次数。
S403:将所述被读取的次数和被更新的次数输入所述分类器。
具体地,该目标对象的特征向量可以表示为[A,B],其中,A为预设时间段内所述目标对象的被读取的次数,B为预设时间段内所述目标对象的被更新的次数。
S404:获取所述分类器根据所述被读取的次数和被更新的次数输出的读写比值。
其中,分类器能够根据输入的特征向量确定分类结果,其中,分类结果为读写比值,所述读写比值用于表示所述数据被存储至所述存储类存储器的适宜程度。作为一种实施方式,该读写比值根据预设时间段内所述目标对象的被读取的次数和被更新的次数而确定,具体地,该读写比值可以是根据时间段内所述目标对象的被读取的次数和被更新的次数而确定的比值。作为一种实施方式,分类器根据下式确定读写比值:
P=(readCount)/(readCount+writeCount);
其中,readCount为被读取的次数,writeCount为被更新的次数,P为所述读写比值。
可以看出,在被读取的次数一定的情况下,被更新的次数越大,则读写比值越小,被更新的次数越小,则读写比值越大。另外,在被更新的次数一定的情况下,被读取的次数越大,则读写比值越大,被读取的次数越小,则读写比值越大,从而,如果被读取的次数越多而更新的次数越少,则读写比值越大。从而该读写比值能够反应目标对象在一定时间内的被读取的次数和被更新的次数,如果该读写比值较大,则表示该对象在该时间段内,经常被读取而被更新(即写入)的次数较少,或者读取的次数多于更新的次数,则表示该对象的读取需求比写入需求更大。相反,如果该读写比值较小,则表示该对象在该时间段内,被读取次数较少而被更新的次数较多,或者更新的次数多于读取的次数,则表示该对象的写入需求比读取需求更大。
S405:判断所述读写比值是否大于或等于指定数值。
作为一种实施方式,指定数值为预先设定的数值,可以是根据电子设备的内存和存储器的参数而设定。作为一种实施方式,如果SCM的存储空间比较丰富,则可以将指定数值设定为一个较小的数值,而如果SCM的存储空间比较少,则可以将指定数值设定为一个较答的数值。具体地,指定数值大于第一数值且小于第二数值的数值,其中,第一数值小于第二数值,具体地,该第一数值可以是70%,第二数值可以是95%,指定数值可以是90%。
作为另一种实施方式,指定数值可以是动态更新的,即可变的。
具体地,指定数值根据历史数据训练得到。获取数据项对应的历史操作记录,在该历史操作记录内记录有数据项被读取的次数和被更新的次数,以及每次更新和读取的时间点。获取历史数据,然后,根据历史数据确定指定数值。作为一种实施方式,获取本次在执行判断所述读写比值是否大于或等于指定数值的时间点之前的预设历史时间长度内的数据项的被读取的次数和被更新的次数,记为历史被访问次数。根据该历史被访问次数获取指定数值。具体地,可以根据上述计算读写比值的方式,确定该指定数值。例如,本次获取到数据项的读写次数并执行判断读写比值是否大于或等于指定数值的时间点为t,而预设历史事件长度为1小时,则可以根据t之前的1小时内的数据项的被读取的次数和被更新的次数,设置指定数值,然后,再将指定数值用于本次判断读写比值是否大于或等于指定数值的操作中。
例如,在数据项a的历史数据中,被读取的次数为1,被更新的次数为1,则确定的指定数值为50%,则之后再根据数据a的读写次数确定是否要存储至存SCM的时候,判断依据为读写比值大于指定数值50%,然后,随着数据项a的读写次数的改变,数据项a对应的指定数值也会改变,从而能够根据历史数据预测未来的指定数值。
另外,需要说明的时候,如果不存在历史数据,则可以先不执行判断读写比值是否大于或等于指定数值的操作,例如,先暂时放在内存的候选区内,然后,等待预设时间长度之后,统计该时间长度内的读写次数,根据该读写次数确定指定数值。其中,该预设时间长度可以与上述预设历史时间长度的时长相同,例如,可以是1小时。
判断所述读写比值是否大于或等于指定数值,如果大于或等于指定数值,则执行S406,即将所述数据存储至存储类存储器,如果小于指定数值,则执行S407,即将数据存储至内存缓冲区。
S406:将所述数据存储至存储类存储器。
例如,对象有6个,即6个数据项,每个数据项的特征向量如下表所示:
表1
数据项 | a | b | c | d | e | f |
特征向量 | [2,1] | [3,4] | [4,3] | [5,0] | [6,1] | [7,0] |
其中,数据项a、数据项b、数据项c、数据项d、数据项e和数据项f对应的读写比值分别为66.7%、42.9%、57.1%、100%、85.7%和100%,而假设指定数值为90%,则只有数据项d和f对应的读写比值满足大于或等于90%的条件,即数据项d和f是适合在SCM上存储。
S407:将数据存储至内存缓冲区。
具体地,内存缓冲区一方面用于分类器挑选适合在SCM上存储的数据;另一方面用来存储不适合在SCM存储的数据。具体地,如图5所示的数据分离器,在内存内设置有数据缓冲区和分类器,其中,该内存可以是DRAM。获取到目标对象的数据之后,将数据存储至DRAM内的数据缓冲区,然后,分类器根据被读取的次数和被更新的次数确定该目标对象的读写比值,判断所述读写比值是否大于或等于指定数值,如果大于或等于指定数值,则将目标对象的数据存储至SCM内,如果小于指定数值,则保持该目标对象的数据存储在数据缓冲区。
再者,需要说明的是,在将所述读写次数输入预先训练的分类器,以获得分类结果之前,所述方法还包括对分类器的训练。具体地,该分类器的训练方法包括:设定分类器的初始模型;按照一定采样规则获取样本数据;根据所获取的样本数据对该分类器的初始模型训练,以得到训练好的分类器。具体地,如图6所示,本申请实施例提供了一种数据处理方法,该方法包括:S601至S607。
S601:设定分类器的初始模型。
分类器的初始模型可以是基于支持向量机、决策树、Fisher线性判定或者线性判别分析等算法而设置,具体地,分类器可以是一个二元分类器,也可以是一个多元分类器。
S602:获取样本数据。
具体地,可以设置一个样本集,该样本集内包括多个样本,每个样本对应有被读取的次数和被更新的次数,以及被设定的标签,具体地,该标签可以是有两个参数值,分别为第一参数值和第二参数值,其中,第一参数值表示该样本应当被存储在SCM,第二参数值表示该样本不应当被存储在SCM。
S603:根据所获取的样本数据对该分类器的初始模型训练,以得到训练好的分类器。
将样本以及该样本对应的标签输入该分类器内,对该分离器训练,以得到训练好的分类器,则训练好的分类器能够根据对象的被读取的数据和被更新的数据确定该对象的数据被存储至所述存储类存储器的适宜程度。
为了能够如实地生成一个均衡的分类器,本申请实施例对采样的数据按照一定规则调整以便能对样本进行均匀地采样,具体地,分类器不会在每次访问都更新样本的特征向量,具体地,根据样本的被访问的次数更新该样本的特征向量。作为一种实施方式,样本的特征向量的更新概率为1/n,其中n为过去一段时间该对象被访问的次数(被读取的次数+被更新的次数)。
例如,假定对象A被第一读取,则它的特征向量为[1,0],也即是说,过去一段时间该对象A被读取的次数为1,而被更新的次数为0。因为过去一段时间,对象A被读取以及被更新的次数之和为1,因此用该特征向量来训练的概率为1。如果在未来某个时间对象A被更新,则特征向量被更新为[1,1]。后续对该特征向量修改的概率为1/2,因为访问次数为2。
也就是说,分类器第一次读取该样本的时候,不更新该特征向量,而在第二次读取的时候,更新该样本的特征向量,或者,第一次读取的时候,更新该特征向量,而在第二次读取的时候,不更新该样本的特征向量,从而能够增加样本的多样性,保证对某个访问的样本的采样概率为1/n。
另外,在训练分类器的时候,还可以获取分类器的输出精度,根据该数据精度优化分类器的训练参数。其中,该训练参数为用于训练分类器的参数,作为一种实施方式,该训练参数可以是训练时长,则输出精度与训练时长成正比关系,即输出精度越高,则训练时长越长,输出精度越低,则训练时长越短。
具体地,可以根据一下评分函数确定输出精确度:
score=(tp+tn)/(tp+fp+tn+fn);
其中,tp为True Positive的缩写,表示被分类器预测为正的正样本,即分类器输出的分类结果为真且结果属实的样本,也可以称作为判断为真的正确率;tn为TrueNegative的缩写,表示被分类器预测为负的正样本,即分类器输出的分类结果为假且结果属实的样本,要可以称作为判断为假的正确率;fp为False Positive的缩写,表示被分类器预测为正的负样本,即分类器输出的分类结果为真且结果不属实的样本,也可以称作为误报率;fn为False Negative的缩写,表示被分类器预测为负的负样本,即分类器输出的分类结果为假且结果不属实的样本,也可以称作为漏报率。
则该评分函数的值越高,表示精确度越高,而评分函数的值越低,表示精确度越低,而如果评分函数的值过低,即精确度过低的时候,则可以根据该评分函数优化分类器的训练参数。具体地,获取评分函数的结果,判断该评分函数的结果是否满足预设调整条件,如果满足,则根据该评分函数优化分类器的训练参数,其中,训练参数可以是分类器的训练时长或者分类器模型的数学参数等。则满足预设调整条件为评分函数的结果小于预设评分值,其中,预设评分值为根据需求而设定的数值。
作为一种实施方式,该训练参数可以是分类器的训练时长,由于评分函数的结果与训练时长t成正相关,即随着训练时长的增加,评分函数的结果会相应的提高,分类器的精确度也会提高,因此,在评分函数的结果过低的情况下,增加训练时长能够提高分类器的精确度。
则在分类器训练完成之后,就能够通过分类器确定对象的数据是否适宜被存储在SCM内。
S604:获取目标对象的数据。
S605:获取预设时间段内所述目标对象的读写次数。
S606:将所述读写次数输入预先训练的分类器,以获得分类结果。
S607:若所述分类结果满足指定条件,则将所述目标对象的数据存储至存储类存储器。
作为一种实施方式,在判定目标对象的读写比值大于或等于指定数值,将该目标对象的数据存储至候选区内,则满足一定条件之后,则将该数据存储至SCM内,具体地,请参阅图7,本申请实施例提供了一种数据处理方法,该方法包括:S710至S740。
S710:获取目标对象的数据。
S720:获取预设时间段内所述目标对象的读写次数。
S730:将所述读写次数输入预先训练的分类器,以获得分类结果。
S740:若所述分类结果满足指定条件,等待指定时间长度后,将所述目标对象的数据存储至存储类存储器。
作为一种实施方式,可以在确定读写比值是否大于或等于指定数值,先暂时不将目标对象的数据存储至SCM内,如图8所示,在图5的数据分离器的基础上,还可以在内存内设置候选区,在判定目标对象的读写比值大于或等于指定数值,将该目标对象的数据存储至候选区内,则满足预设条件之后,则将该数据存储至SCM内。
具体地,该预设条件可以是等待指定时间长度,也可以是其他的根据实际需求而设定的条件,在此不再赘述。
于本申请实施例中,该预设条件可以是等待指定时间长度,即若所述分类结果满足指定条件,等待指定时间长度后,将所述目标对象的数据存储至存储类存储器,以上述实施例中的分类结果为被读取的次数和被更新的次数输出的读写比值为例,在确定目标对象的读写比值大于或等于指定数值的时候,将数据从数据缓冲区移入候选区内,然后,定时指定时间长度,即等待指定时间长度后,将所述目标对象的数据存储至存储类存储器。
因此,查询请求访问内存索引定位所需的数据。首先查找内存位置,如果没有找到,再定位到SCM。经过一段时间的系统运行之后,如果数据项不再适合在SCM上存储了(根据一段时间内的更新次数简单地判断是否适合在SCM上存储),那么系统需要将他们重新写回内存。
通过等待指定时间长度,一方面能够对候选区内的数据批量处理,以发送至SCM内存储,从而能够减少频繁的往SCM内写数据,另外一方面,还可以在指定时间长度内对对象的读写次数再次检测,如果确定该对象不再适合存储至SCM内,则可以将对象的数据重新写回内存的数据缓冲区内。
具体地,步骤S740可以包括S741至S744。
S741:在所述指定时间长度内,若所述目标对象的读写次数有更新,则获取更新后的所述目标对象的读写次数。
其中,指定时间长度是根据实际需求而设定的,当然,也可以根据内存的内存参数来设定。例如,内存的剩余存储空间较大的时候,或者内存内的候选区的剩余存储空间
在指定时间长度内,继续采集目标对象的读写次数,具体地,继续采集目标对象的被读取的次数和被更新的次数,从而能够获取到更新后的目标对象的读写次数。
作为一种实施方式,可以是在每次目标对象被读取或者被更新的时候,CPU会将更新后的目标对象的读写次数发送至分类器。作为另一种实施方式,还可以是分类器按照指定采样间隔,检测目标对象是否被读取或被更新,从而获取更新后的读写次数。
S742:当所述指定时间长度结束时,确定更新后的所述目标对象的读写次数是否满足指定条件。
S743:将所述目标对象的数据存储至存储类存储器。
S744:将所述目标对象的数据存储至内存缓冲区。
具体地,若满足指定条件,则将所述目标对象的数据从候选区存储至存储类存储器,若不满足指定条件,则将目标对象的数据从候选区移回内存的数据缓冲区。
在统计得到指定时间长度内的更新后的所述目标对象的读写次数,根据更新后的所述目标对象的读写次数再次执行判断读写次数是否满足指定条件。具体地,假设在将数据项a的数据存储至候选区的时候,数据项a的特征向量是[6,0],则对应的被读取的次数为6,被更新次数为0,而被读取的次数和被更新的次数输出的读写比值为100%。
假设,上述执行判断所述读写比值是否大于或等于指定数值中的指定数值为90%,则数据项a的读写比值大于90%,则将数据项a的数据移入候选区内,然后等待指定时间长度,则该指定时间长度内,获取更新后的所述数据项a的读写次数。则假设在指定时间长度内,该数据项a被更新了2次,则数据项a的被更新次数被更新为2,则特征向量被更新为[6,2],则被读取的次数和被更新的次数输出的读写比值变为75%,则更新后的数据项a的读写比值小于90%,则将数据项a的数据从候选区移回内存,从而能够避免将该数据写入SCM内。
另外,需要说明的是,确定更新后的所述目标对象的读写次数是否满足指定条件的时机可以是当所述指定时间长度结束的时刻,也可以是,在指定时间长度内,检测到目标对象的读写次数被更新的时候,也就是说,在每次更新的时候,都执行确定更新后的所述目标对象的读写次数是否满足指定条件。
因此,上述S741至S744可以被替换为:S741、S745至S748。
具体地,步骤S740可以包括:
S741:在所述指定时间长度内,若所述目标对象的读写次数有更新,则获取更新后的所述目标对象的读写次数。
S745:确定更新后的所述目标对象的读写次数是否满足指定条件。
具体地,在确定目标对象被更新,并且获取到更新后的目标对象的读写次数之后,即使指定时间长度没有结束,也可以执行确定更新后的所述目标对象的读写次数是否满足指定条件。
S746:判断指定时间长度是否结束。
S747:将所述目标对象的数据存储至存储类存储器。
S748:将所述目标对象的数据存储至内存缓冲区。
具体地,在执行S745的时候,确定更新后的所述目标对象的读写次数不满足指定条件,则执行将所述目标对象的数据存储至内存缓冲区的操作,而不必等到指定时间长度结束,如果更新后的所述目标对象的读写次数满足指定条件,则判断指定时间长度是否结束,如果结束,则将所述目标对象的数据存储至存储类存储器,如果未结束,则返回执行S741,即继续在指定时间长度内检测目标对象的读写次数的更新,直至指定时间长度结束为止。
因此,如果在指定时间长度内,目标对象的读写次数不满足指定条件就直接将目标对象的数据存储至内存缓冲区。
同理,假设目标对象是数据项a,在将数据项a的数据存储至候选区的时候,数据项a的特征向量是[6,0],则对应的被读取的次数为6,被更新次数为0,而被读取的次数和被更新的次数输出的读写比值为100%。
假设,上述执行判断所述读写比值是否大于或等于指定数值中的指定数值为90%,指定时间长度为1分钟,则在20秒的时候,数据项a被更新1次,则被读取的次数和被更新的次数输出的读写比值变为85.7%,则小于90%,被移回内存缓冲区。
因此,相比较第一种延时策略和第二种延时策略,其中,第一延时策略为S741至S744,即在指定时间长度等待结束之后,确定在该指定时间长度内的更新后的总的读写次数,根据该读写次数确定更新后的目标对象的读写比值是否大于或等于指定数值若满足指定条件,则若大于或等于,则将所述目标对象的数据从候选区存储至存储类存储器,若小于,则将目标对象的数据从候选区移回内存的数据缓冲区。第二延时策略为S741、S745至S748,即在指定时间长度内,只要检测到目标对象的读写次数被更新,就确定更新后的目标对象的读写比值是否大于或等于指定数值若满足指定条件,若小于,则将目标对象的数据从候选区移回内存的数据缓冲区,若大于或等于,则如果时间还没结束,则返回再次获取更新后的读写次数,如果结束,则将所述目标对象的数据从候选区存储至存储类存储器。
比对第一延时策略和第二延时策略,第一延时策略是在指定时间长度结束之后,再确定是否将数据移回内存,而第二延时策略是在指定时间长度内,只要读写次数不满足指定条件,就将数据移回内存,第一延时策略考虑的更全面,而第二延时策略突出时效性。
请参阅图11,其示出了本申请实施例提供的一种数据处理装置1100的结构框图该装置可以包括:获取单元、确定单元、分类单元和处理单元。
获取单元,用于获取目标对象的数据。
确定单元,用于获取预设时间段内所述目标对象的读写次数。
分类单元,用于将所述读写次数输入预先训练的分类器,以获得分类结果。
进一步的,所述读写次数包括被读取的次数和被更新的次数,分类单元具体用于将所述被读取的次数和被更新的次数输入所述分类器;获取所述分类器根据所述被读取的次数和被更新的次数输出的读写比值,将所述读写比值作为所述分类结果,所述读写比值用于表示所述数据被存储至所述存储类存储器的适宜程度。
具体地,分类单元还用于获取所述分类器根据下式确定的读写比值:
P=(readCount)/(readCount+writeCount);
其中,readCount为被读取的次数,writeCount为被更新的次数,P为所述读写比值。
处理单元,用于若所述分类结果满足指定条件,则将所述目标对象的数据存储至存储类存储器。
进一步地,处理单元还用于判断所述读写比值是否大于或等于指定数值;若大于指定数值,则判定所述分类结果满足指定条件,将所述数据存储至存储类存储器。
进一步地,处理单元还用于若所述分类结果满足指定条件,等待指定时间长度后,将所述目标对象的数据存储至存储类存储器。
具体地,处理单元具体用于在所述指定时间长度内,若所述目标对象的读写次数有更新,则获取更新后的所述目标对象的读写次数;当所述指定时间长度结束时,确定更新后的所述目标对象的读写次数是否满足指定条件;若满足指定条件,则将所述目标对象的数据存储至存储类存储器。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述装置和模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,模块相互之间的耦合可以是电性,机械或其它形式的耦合。
另外,在本申请各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
请参考图12,其示出了本申请实施例提供的一种电子设备的结构框图。该电子设备100可以是智能手机、平板电脑、电子书等能够运行应用程序的电子设备。本申请中的电子设备100可以包括一个或多个如下部件:处理器110、存储器120、以及一个或多个应用程序,其中一个或多个应用程序可以被存储在存储器120中并被配置为由一个或多个处理器110执行,一个或多个程序配置用于执行如前述方法实施例所描述的方法。
处理器110可以包括一个或者多个处理核。处理器110利用各种接口和线路连接整个电子设备100内的各个部分,通过运行或执行存储在存储器120内的指令、程序、代码集或指令集,以及调用存储在存储器120内的数据,执行电子设备100的各种功能和处理数据。可选地,处理器110可以采用数字信号处理(Digital Signal Processing,DSP)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)、可编程逻辑阵列(Programmable LogicArray,PLA)中的至少一种硬件形式来实现。处理器110可集成中央处理器(CentralProcessing Unit,CPU)、图像处理器(Graphics Processing Unit,GPU)和调制解调器等中的一种或几种的组合。其中,CPU主要处理操作系统、用户界面和应用程序等;GPU用于负责显示内容的渲染和绘制;调制解调器用于处理无线通信。可以理解的是,上述调制解调器也可以不集成到处理器110中,单独通过一块通信芯片进行实现。
存储器120可以包括随机存储器(Random Access Memory,RAM),也可以包括只读存储器(Read-Only Memory)。存储器120可用于存储指令、程序、代码、代码集或指令集。存储器120可包括存储程序区和存储数据区,其中,存储程序区可存储用于实现操作系统的指令、用于实现至少一个功能的指令(比如触控功能、声音播放功能、图像播放功能等)、用于实现下述各个方法实施例的指令等。存储数据区还可以存储电子设备100在使用中所创建的数据(比如电话本、音视频数据、聊天记录数据)等。
请参考图13,其示出了本申请实施例提供的一种计算机可读存储介质的结构框图。该计算机可读介质800中存储有程序代码,所述程序代码可被处理器调用执行上述方法实施例中所描述的方法。
计算机可读存储介质800可以是诸如闪存、EEPROM(电可擦除可编程只读存储器)、EPROM、硬盘或者ROM之类的电子存储器。可选地,计算机可读存储介质800包括非易失性计算机可读介质(non-transitory computer-readable storage medium)。计算机可读存储介质800具有执行上述方法中的任何方法步骤的程序代码810的存储空间。这些程序代码可以从一个或者多个计算机程序产品中读出或者写入到这一个或者多个计算机程序产品中。程序代码810可以例如以适当形式进行压缩。
综上所述,本申请提供的数据处理方法、装置、电子设备及计算机可读介质,电子设备获取目标对象的数据,并且获取预设时间段内所述目标对象的读写次数;将所述读写次数输入预先训练的分类器,以获得分类结果。判断分类结果是否满足指定条件,如果满足指定条件,则将所述目标对象的数据存储至存储类存储器。因此,于本申请中,对存储至存储类存储器内的数据进行了筛选,即只有满足指定条件的对象对应的数据才能够存储至存储类存储器中,并且该分类结果与对象的读写次数有关,即能够根据对象的读写次数确定是否要将数据存储至存储类存储器中,从而能够减少对存储类存储器的写入操作。
因此,可以将适合SCM存储的数据移动到相应的位置,这个挑选的方法是从SCM的特性出发,有利于整体系统性能延迟设备的使用寿命。另一方面,将一部分适合SCM使用的数据移动到SCM,本发明可以起到节约内存使用。
最后应说明的是:以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不驱使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。
Claims (10)
1.一种数据处理方法,其特征在于,包括:
获取目标对象的数据;
获取预设时间段内所述目标对象的读写次数;
将所述读写次数输入预先训练的分类器,以获得分类结果;
若所述分类结果满足指定条件,则将所述目标对象的数据存储至存储类存储器。
2.根据权利要求1所述的方法,其特征在于,所述读写次数包括被读取的次数和被更新的次数。
3.根据权利要求2所述的方法,其特征在于,所述将所述读写次数输入预先训练的分类器,以获得分类结果,包括:
将所述被读取的次数和被更新的次数输入所述分类器;
获取所述分类器根据所述被读取的次数和被更新的次数输出的读写比值,将所述读写比值作为所述分类结果,所述读写比值用于表示所述数据被存储至所述存储类存储器的适宜程度。
4.根据权利要求3所述的方法,其特征在于,所述获取所述分类器根据所述特征向量输出的读写比值,包括:
获取所述分类器根据下式确定的读写比值:
P=(readCount)/(readCount+writeCount);
其中,readCount为被读取的次数,writeCount为被更新的次数,P为所述读写比值。
5.根据权利要求3所述的方法,其特征在于,所述若所述分类结果满足指定条件,则将所述目标对象的数据存储至存储类存储器,包括:
判断所述读写比值是否大于或等于指定数值;
若大于指定数值,则判定所述分类结果满足指定条件,将所述数据存储至存储类存储器。
6.根据权利要求1所述的方法,其特征在于,所述若所述分类结果满足指定条件,则将所述目标对象的数据存储至存储类存储器,包括:
若所述分类结果满足指定条件,等待指定时间长度后,将所述目标对象的数据存储至存储类存储器。
7.根据权利要求6所述的方法,其特征在于,所述等待指定时间长度后,将所述目标对象的数据存储至存储类存储器,包括:
在所述指定时间长度内,若所述目标对象的读写次数有更新,则获取更新后的所述目标对象的读写次数;
当所述指定时间长度结束时,确定更新后的所述目标对象的读写次数是否满足指定条件;
若满足指定条件,则将所述目标对象的数据存储至存储类存储器。
8.一种数据处理装置,其特征在于,包括:
获取单元,用于获取目标对象的数据;
确定单元,用于获取预设时间段内所述目标对象的读写次数;
分类单元,用于将所述读写次数输入预先训练的分类器,以获得分类结果;
处理单元,用于若所述分类结果满足指定条件,则将所述目标对象的数据存储至存储类存储器。
9.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储器;
一个或多个应用程序,其中所述一个或多个应用程序被存储在所述存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个程序配置用于执行如权利要求1-7任一项所述的方法。
10.一种计算机可读介质,其特征在于,所述可读存储介质存储有处理器可执行的程序代码,所述程序代码中的多条指令被所述处理器执行时使所述处理器执行权利要求1-7任一项所述方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910959707.8A CN110727405A (zh) | 2019-10-10 | 2019-10-10 | 数据处理方法、装置、电子设备及计算机可读介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910959707.8A CN110727405A (zh) | 2019-10-10 | 2019-10-10 | 数据处理方法、装置、电子设备及计算机可读介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110727405A true CN110727405A (zh) | 2020-01-24 |
Family
ID=69219890
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910959707.8A Pending CN110727405A (zh) | 2019-10-10 | 2019-10-10 | 数据处理方法、装置、电子设备及计算机可读介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110727405A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114489492A (zh) * | 2021-12-31 | 2022-05-13 | 华能烟台八角热电有限公司 | 一种数据存储方法及安全装置、数据存储系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102831087A (zh) * | 2012-07-27 | 2012-12-19 | 国家超级计算深圳中心(深圳云计算中心) | 基于混合存储器的数据读写处理方法和装置 |
CN107193646A (zh) * | 2017-05-24 | 2017-09-22 | 中国人民解放军理工大学 | 一种基于混合主存架构的高效动态页面调度方法 |
US20180034708A1 (en) * | 2015-09-30 | 2018-02-01 | Hitachi, Ltd. | Storage operational management service providing apparatus, storage operational management service providing method, and storage operational management system |
US10126981B1 (en) * | 2015-12-14 | 2018-11-13 | Western Digital Technologies, Inc. | Tiered storage using storage class memory |
-
2019
- 2019-10-10 CN CN201910959707.8A patent/CN110727405A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102831087A (zh) * | 2012-07-27 | 2012-12-19 | 国家超级计算深圳中心(深圳云计算中心) | 基于混合存储器的数据读写处理方法和装置 |
US20180034708A1 (en) * | 2015-09-30 | 2018-02-01 | Hitachi, Ltd. | Storage operational management service providing apparatus, storage operational management service providing method, and storage operational management system |
US10126981B1 (en) * | 2015-12-14 | 2018-11-13 | Western Digital Technologies, Inc. | Tiered storage using storage class memory |
CN107193646A (zh) * | 2017-05-24 | 2017-09-22 | 中国人民解放军理工大学 | 一种基于混合主存架构的高效动态页面调度方法 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114489492A (zh) * | 2021-12-31 | 2022-05-13 | 华能烟台八角热电有限公司 | 一种数据存储方法及安全装置、数据存储系统 |
CN114489492B (zh) * | 2021-12-31 | 2024-01-30 | 华能烟台八角热电有限公司 | 一种数据存储方法及安全装置、数据存储系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10445211B2 (en) | Logging trace data for program code execution at an instruction level | |
CN108268219B (zh) | 一种处理io请求的方法及装置 | |
RU2671049C2 (ru) | Выгрузка в файловой системе | |
US10558569B2 (en) | Cache controller for non-volatile memory | |
CN111324427B (zh) | 一种基于dsp的任务调度方法及装置 | |
US11960396B2 (en) | Method and computer program product for performing data writes into a flash memory | |
US10713162B1 (en) | System and method for computer data garbage collection acceleration using peer to peer data transfers | |
CN110990439A (zh) | 基于缓存的快速查询方法、装置、计算机设备及存储介质 | |
CN108292162A (zh) | 用于多线程访问的软件定义fifo缓冲器 | |
WO2022035511A1 (en) | Distributed streaming system supporting real-time sliding windows | |
CN111324303A (zh) | Ssd垃圾回收方法、装置、计算机设备及存储介质 | |
CN111399750A (zh) | 闪存数据写入方法及计算机可读取存储介质 | |
CN105917303A (zh) | 一种控制器、识别数据块稳定性的方法和存储系统 | |
CN115048142A (zh) | 缓存访问命令处理系统、方法、装置、设备和存储介质 | |
CN116400852A (zh) | 固态硬盘写性能的优化方法、装置、计算机设备及存储介质 | |
CN114416178A (zh) | 数据访问方法、装置及非临时性计算机可读存储介质 | |
CN106649143B (zh) | 一种访问缓存的方法、装置及电子设备 | |
CN110727405A (zh) | 数据处理方法、装置、电子设备及计算机可读介质 | |
CN115617255A (zh) | 缓存文件的管理方法和管理装置 | |
CN115840654B (zh) | 消息的处理方法、系统、计算设备及可读存储介质 | |
JP2009521054A (ja) | ダイナミックキャッシュ管理装置及び方法 | |
CN111459402A (zh) | 磁盘可控缓冲写方法、控制器、混合io调度方法及调度器 | |
CN108846141B (zh) | 一种离线缓存加载方法及装置 | |
CN113806389A (zh) | 一种数据处理方法、装置、计算设备与存储介质 | |
CN110658999A (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 | ||
EE01 | Entry into force of recordation of patent licensing contract | ||
EE01 | Entry into force of recordation of patent licensing contract |
Application publication date: 20200124 Assignee: GUANGZHOU CUBESILI INFORMATION TECHNOLOGY Co.,Ltd. Assignor: GUANGZHOU HUADUO NETWORK TECHNOLOGY Co.,Ltd. Contract record no.: X2021440000031 Denomination of invention: Data processing method, device, electronic equipment and computer readable medium License type: Common License Record date: 20210125 |