掌桥专利:专业的专利平台
掌桥专利
首页

请求处理方法、装置、电子设备及计算机存储介质

文献发布时间:2023-06-19 11:19:16


请求处理方法、装置、电子设备及计算机存储介质

技术领域

本发明实施例涉及数据处理技术领域,尤其涉及一种请求处理方法、装置、电子设备及计算机存储介质。

背景技术

目前,各种服务提供商大多通过一个云盘服务器集群来向用户提供服务,云盘的所有用户共同使用一个云盘服务器集群的存储系统。然而,现有的云盘存储系统中的存储策略大多是基于云盘服务器集群中的所有数据被访问的规律统一设置的。

然而,不同的用户在通过业务端访问云盘时,存储访问模式存在差异,且随着用户的需求发生变化。其中,存储访问模式可以为随机访问云盘中存储的内容,或者为对云盘中存储的部分内容进行针对性访问等。

当存在大量并发的存储访问时,由于业务端的存储访问模式多样化而现有的云盘服务器集群的存储策略较为单一,导致云盘服务器集群处理并发存储访问的耗时较长,极容易引发局部长尾效应,进而导致云盘的整体性能降低。

发明内容

有鉴于此,本发明实施例提供一种请求处理方法、装置、电子设备及计算机存储介质,以至少解决上述部分问题。

根据本发明实施例的第一方面,提供了一种请求处理方法,其包括:根据接收的读写请求确定对应的云盘存储策略,根据确定的所述云盘存储策略执行所述读写请求对应的云盘操作;根据所述云盘操作的结果,采集影响业务端的读写性能的样本数据,通过所述样本数据调整所述云盘存储策略。

根据本发明实施例的第二方面,提供了一种请求处理装置,其包括:确定模块,用于根据接收的读写请求确定对应的云盘存储策略,根据确定的所述云盘存储策略执行所述读写请求对应的云盘操作;调整模块,用于根据所述云盘操作的结果,采集影响所述读写性能的样本数据,通过所述样本数据调整所述云盘存储策略。

根据本发明实施例的第三方面,提供了一种电子设备,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行如上所述的请求处理方法对应的操作。

根据本发明实施例的第四方面,提供了一种计算机存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上所述的请求处理方法。

根据本发明实施例提供的方案,通过根据接收的读写请求确定对应的云盘存储策略,根据确定的所述云盘存储策略执行所述读写请求对应的云盘操作;根据所述云盘操作的结果,采集影响业务端的读写性能的样本数据,通过所述样本数据调整所述云盘存储策略,从而可以基于闭环反馈机制调整云盘存储策略,使得云盘存储策略根据其对应的读写请求的变化而动态变化,即云盘存储策略与其对应的读写请求动态适配,尤其当业务端的存储访问模式多样化导致云盘接收的读写请求的变化规律多样化时,通过与业务端的读写请求动态适配的云盘存储策略,可以提高云盘存储资源的调度效率,进而可以减少长尾效应的产生,提高了云盘存储的性能。

附图说明

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

图1a为本发明实施例一的一种请求处理方法的步骤流程图;

图1b为本发明实施例一的一种使用场景示意图;

图1c为本发明实施例一的一种数据处理流程图;

图2为本发明实施例二的一种请求处理方法的步骤流程图;

图3为本发明实施例二的一种处理查询请求的方法的步骤流程图;

图4为本发明实施例三的一种请求处理装置的结构框图;

图5为本发明实施例四的一种电子设备的结构示意图。

具体实施方式

为了使本领域的人员更好地理解本发明实施例中的技术方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明实施例一部分实施例,而不是全部的实施例。基于本发明实施例中的实施例,本领域普通技术人员所获得的所有其他实施例,都应当属于本发明实施例保护的范围。

下面结合本发明实施例附图进一步说明本发明实施例具体实现。

实施例一

参照图1a,示出了根据本发明实施例一的一种请求处理方法的步骤流程图。

本实施例的请求处理方法包括以下步骤:

S102、根据接收的读写请求确定对应的云盘存储策略,根据确定的所述云盘存储策略执行所述读写请求对应的云盘操作。

本实施例中,读写请求可以为业务端发送至云盘的读写请求。业务端为云盘服务器集群对应的业务端,用于访问云盘。该业务端包括但不限于:访问云盘的用户客户端,或者,云盘服务器集群中请求进行数据读写的某一服务器。云盘可作为多个业务端的存储单元,用来分别存储多个业务端的数据。

业务端可以先根据访问需求生成读写请求,然后将读写请求发送至云盘,读写请求具体可以包括但不限于:读取云盘中的数据的请求、或者向云盘中写入数据的请求。

如图1b所示,业务端的数量可以为多个,例如图1b中示出的业务端1、业务端2、业务端3等,多个业务端均将读写请求发送至云盘,云盘返回处理结果至对应的业务端,返回的处理结果可以包括:读写请求对应的云盘操作执行成功或失败、云盘操作执行后返回的数据等。例如,业务端1可以发送读写请求1至云盘,云盘执行读写请求1对应的云盘操作后确定操作结果1,并将操作结果1返回至业务端1;业务端2和业务端3对应的流程与业务端1的流程类似,在此不再赘述。

本实施例中,云盘接收到读写请求后,可以根据读写请求确定对应的云盘存储策略。云盘存储策略用于调度处理所述读写请求所需的云盘存储资源,以执行所述读写请求对应的云盘操作。

具体地,云盘中可以预先存储有多组云盘存储策略,一组云盘存储策略中可以包括多个不同的云盘存储策略,来自同一个业务端的云盘读写请求可以共用一组云盘存储策略;当接收到读写请求时,云盘可以根据发送读写请求的业务端确定读写请求对应的云盘存储策略;当然,多个业务端的读写请求也可以共用一组云盘存储策略,本实施例对此不进行限定。

具体地,云盘存储策略可以用于确定是否执行读写请求对应的云盘操作、为云盘操作分配的资源具体为哪些等,从而可以根据云盘存储策略调度处理读写请求所需云盘存储资源。

本实施例中,读写请求具体可以包括:查询请求、写入请求、修改请求、删除请求等,不同的读写请求对应的云盘操作存在差异。例如,若所述读写请求为查询请求,则云盘操作可以为将查询请求所请求的数据从数据库读取出来,并写入云盘存储中,通过云盘存储将数据返回至业务端;若所述读写请求为写入请求,则所述云盘操作可以为将所述写入请求对应的数据写入云盘存储中,通过云盘存储将数据写入数据库中。

S104、根据所述云盘操作的结果,采集影响业务端的读写性能的样本数据,通过所述样本数据调整所述云盘存储策略。

本实施例中,所述云盘操作的结果会影响业务端的读写性能。例如,云盘操作完成后,完成时间会影响业务端的读写请求对应的响应时间等。

本实施例中,由于云盘一般同时向多个业务端提供云盘服务,因此,云盘接收的读写请求来自多个业务端,则根据云盘操作的结果采集的样本数据可以为:影响多个业务端的读写性能的样本数据。

样本数据可以例如为预设时长内的样本数据、预设数量的样本数据等。样本数据可以包括但不限于:读写请求的处理时长、读写请求为查询请求时,查询请求在云盘存储中的命中率等。

本实施例中,由于样本数据是影响业务端的读写性能的数据,因此,通过采集的样本数据可以评估业务端的读写性能,以及可以根据样本数据确定哪些参数对读写性能产生了较大影响,从而可以根据样本数据调整云盘存储策略,来调整对读写性能产生较大影响的参数(例如上述命中率等),进而调整业务端的读写性能。

来自不同的业务端的读写请求也可以对应不同的云盘存储策略,则根据样本数据调整云盘存储策略时,可以根据某一业务端对应的样本数据调整与该业务端对应的云盘存储策略,也可以综合考虑多个业务端对应的样本数据同时调整多个云盘存储策略。

另外,在本次调整云盘存储策略后,可以根据后续接收到的读写请求确定调整后的云盘存储策略,从而可以根据调整后的云盘存储策略执行云盘操作,并可以通过步骤S104再次对云盘存储策略进行调整,从而形成使用云盘存储策略-根据结果进行调整-继续使用调整后的云盘存储策略的循环,即形成了闭环反馈机制。

例如图1c,示出了本实施例的一种数据处理流程图,如图1c所示,读写请求被接收后,可以根据云盘存储策略执行读写请求对应的云盘操作,确定云盘操作结果,云盘操作结果可以用于确定向业务端返回的操作结果。对云盘操作结果进行采样得到样本数据,并根据样本数据返回调整云盘存储策略,以形成闭环反馈机制所需的反馈回路,反馈回路可以如图1c中的虚线所示。

通过闭环反馈机制调整云盘存储策略,使得云盘存储策略根据其对应的读写请求的变化而动态变化,尤其当业务端的存储访问模式多样化导致云盘接收的读写请求的规律多样化时,通过控制云盘存储策略与多个业务端的读写请求动态适配,可以提高云盘存储资源的调度效率,进而可以减少长尾效应的产生,提高了云盘的性能。

本实施例提供的方案,通过根据接收的读写请求确定对应的云盘存储策略,根据确定的所述云盘存储策略执行所述读写请求对应的云盘操作;根据所述云盘操作的结果,采集影响业务端的读写性能的样本数据,通过所述样本数据调整所述云盘存储策略,从而可以基于闭环反馈机制调整云盘存储策略,使得云盘存储策略根据其对应的读写请求的变化而动态变化,即云盘存储策略与其对应的读写请求动态适配,尤其当业务端的存储访问模式多样化,导致云盘接收的读写请求的变化规律多样化时,通过与业务端的读写请求动态适配的云盘存储策略,可以提高云盘存储资源的调度效率,进而可以减少长尾效应的产生,提高了云盘存储的性能。

本实施例的请求处理方法可以由任意适当的具有数据处理能力的电子设备执行,包括但不限于:服务器等。

实施例二

参照图2,示出了根据本发明实施例二的一种请求处理方法的步骤流程图。

本实施例的请求处理方法包括以下步骤:

S202、为来自业务端的读写请求确定对应的云盘存储策略。

本实施例中,云盘存储策略可以包括云盘写入策略S1和/或存储删除策略S2。本实施例中以包括云盘写入策略S1和存储删除策略S2进行举例说明;在具体实现时,云盘存储策略可以仅包括云盘写入策略S1或者仅包括存储删除策略S2,本实施例对此不进行限定。

本实施例中,每个业务端均可以对应一个云盘写入策略S1,当接收到读写请求后,根据发送读写请求的业务端来确定读写请求对应的云盘写入策略S1。

本实施例中,部分或全部业务端可以共用一个存储删除策略S2。若部分业务端共用一个存储删除策略S2,则接收到读写请求后,根据发送读写请求的业务端来确定对应的存储删除策略S2;若全部业务端共用一个存储删除策略S2,则可以直接将存储删除策略S2设置为云盘存储的默认执行策略。

S204、根据云盘存储策略中的云盘写入策略,确定是否将所述读写请求所请求的数据写入云盘存储。

如写入,执行步骤S206;如不写入,则直接拒绝读写请求,并结束本次读写请求处理流程,此时,云盘向业务端返回的操作结果可以为处理失败。

本实施例中,云盘写入策略S1用于评估是否将读写请求所请求的数据写入云盘存储。

具体地,若读写请求为查询请求,则云盘接收到查询请求后,可以先确定查询请求在云盘存储中是否存在命中数据;若存在,直接将命中数据作为操作结果返回至业务端;若不存在,则通过云盘写入策略S1确定是否将查询请求所请求的数据写入云盘存储;若确定写入,则通过步骤S206-S210将查询请求所请求的数据写入云盘存储,以通过云盘存储将写入的数据作为操作结果返回至业务端;若确定不写入,则直接拒绝处理查询请求,并可以将处理失败作为操作结果返回至业务端。

本实施例中,由于云盘写入策略S1可以与业务端一一对应,可以使得每个云盘写入策略S1与业务端的存储访问模式动态适配,进而使得云盘中的所有的云盘存储策略可以同时兼容多个不同的存储访问模式,而不同的存储访问模式可以适用于不同的数据处理场景中,因此,通过兼容不同的存储访问模式,可以扩展云盘的使用场景。

具体地,本实施例中,步骤S202具体包括:根据云盘写入策略S1中的写入概率以及随机生成数,确定是否将所述读写请求所请求的数据写入云盘存储。

本实施例中,由于云盘写入策略S1可以与业务端一一对应,因此,通过写入概率以及随机生成数确定是否将所述读写请求所请求的数据写入云盘存储,可以在接收到来自业务端的读写请求后,随机将读写请求所请求的数据写入云盘存储,并可以在大数据层面保证成功将请求数据写入云盘存储所对应的读写请求在对应业务端所有读写请求中所占的比例与写入概率对应。并且,设置的写入概率可以直接影响业务端的读写性能,例如,写入概率越高,表示读写请求被拒绝的数量越少,使得业务端的读写性能越高。

本实施例中,每次调整写入概率后,可以将调整后的写入概率作为后续读写请求对应的写入概率使用,调整写入概率的目的是为了使得业务端的读写性能与预期性能更加接近;若还未调整过写入概率,则写入概率的值可以为预先设定的初始值,预先设定的初始值可以通过分析云盘历史接收到的读写请求后执行的云盘操作确定,或者可以为随机生成的初始值,多个写入概率可以共用同一个预先设定的初始值;随机生成数可以通过预先设置的随机数生成算法或装置生成。

S206、判断云盘存储是否已满。

如云盘存储已满,则执行步骤S208;如云盘存储未满,则执行步骤S212。

本实施例中,云盘存储作为业务端与数据库的中间层,可以作为数据库的缓冲。读写操作的目的为读取数据库中的数据,或者向数据库中写入数据;读取数据时,先将数据读入至云盘存储,再通过云盘存储将数据返回至业务端,以完成数据的读取;写入数据时,先将数据写入至云盘存储,再通过云盘存储将数据写入数据库中。例如,若读写请求中具体可以包括(time,w/r,device,block),其中,time为读写时间,w/r为读或者写,读写请求中仅包括w、r两者其一,device为业务端对应的云盘,block为所请求的数据在业务端对应的云盘中的存储地址。

当请求到达时,若为w/r具体为w(即写入),则确定需要将数据写入block,具体写入时,先将数据写入云盘存储,再通过云盘存储将数据写入block所指示的地址中;若w/r具体为r(即读取),则先确定云盘存储中是否有命中的数据,若没有,则将block所指示的地址中的数据写入云盘存储,再通过云盘存储返回业务端。

因此,在确定将读写请求所请求的数据写入云盘存储后,需要先通过步骤S206确定云盘存储中是否有可以存储所请求的数据的空余位置;若云盘存储已满,表示没有存储所请求的数据的空余位置,则执行步骤S208,若云盘存储未满,表示存在存储所请求的数据的空余位置,则执行步骤S212。

S208、根据所述存储删除策略确定云盘中存储的待删除数据。

本实施例中,存储删除策略S2用于评估云盘存储中的多个数据中哪个数据可以优先被删除。

本实施例中,当读写请求为查询请求时,如图3所示,在处理查询请求时会先判断云盘存储中是否有查询请求命中的数据,即查询请求是否命中。若命中,则将命中的数据作为查询数据返回;若未命中,且通过云盘写入策略S1确定将查询请求所查询数据写入云盘存储中,则可以通过存储删除策略S2确定云盘存储中的待删除数据,替换查询数据与待删除数据,从而将查询数据写入云盘存储中,并通过云盘存储返回查询数据。通过存储删除策略S2,可以将云盘存储中被命中概率较低的数据确定为待删除数据,从而提高查询请求在云盘存储中的命中率,进而提高业务端的读写性能。

可选地,本实施例中,所述存储删除策略S2包括多个基本删除策略,对应的步骤,S208具体包括:根据所述多个基本删除策略及其对应的权重,确定所述云盘存储中的待删除数据。通过设置多个基本删除策略,并通过权重混合多个基本删除策略,通过调整基本删除策略的权重,即可得到新的存储删除策略S2,从而使得得到的存储删除策略S2更加多样化,并使得存储删除策略S2的调整更加灵活。

本实施例中,基本删除策略可以包括以下两个或两个以上:最不经常使用算法(LFU)、最近最少使用算法(LRU)、自适应缓存替换算法(ARC)、先进先出算法(FIFO)等。

具体地,调整基本删除策略的权重的目的是为使得云盘性能更好。在实际使用时,若已经调整过权重,则可以将调整后的基本删除策略的权重作为后续读写请求对应的存储删除策略S2使用;若还未调整过权重,则多个基本删除策略的权重可以为预先设定的初始值,或者随机生成的初始值。多个基本删除策略可以共用一个相同的初始值,例如均为100等。第一次调整权重时的权重调整方式也可以随机生成。

S210、使用所述读写请求所请求的数据替换确定的待删除数据。

确定待删除数据后,直接将读写请求所请求的数据替换待删除数据,从而将所请求的数据写入云盘存储中。

S212、将所述读写请求所请求的数据写入云盘存储。

本实施例中,若云盘存储未满,则说明云盘存储中有可以存储本次所请求的数据的空余位置,则直接通过步骤S212将数据写入云盘存储的空余位置中即可。

S214、根据所述云盘操作的结果,采集影响所述业务端的读写性能的样本数据,通过所述样本数据调整所述云盘存储策略。

本实施例中,上述步骤中的使用所请求的数据替换待删除数据、将所请求的数据写入云盘存储中的空余位置等,均属于云盘操作;另外,当读写请求为查询请求时,确定云盘存储中是否有查询请求对应的命中数据同样可以属于云盘操作。

本实施例中,根据云盘操作的结果采集的样本数据可以包括:读写请求的响应结果、读写请求的响应时间、查询请求在云盘存储中的命中率等。

本实施例中,当云盘存储策略中包括写入概率时,根据样本数据调整云盘写入策略S1包括:通过所述样本数据确定所述业务端的读写性能,并比较所述业务端的读写性能与预期性能;若所述业务端的读写性能低于预期性能,则通过所述样本数据调整所述云盘写入策略S1,以增加所述读写请求对应的写入概率;或者,若所述业务端的读写性能高于预期性能,则通过所述样本数据调整所述云盘写入策略S1,以降低所述读写请求对应的写入概率,以使业务端的实际读写性能与预期读写性能尽量接近,从而可以通过控制云盘的所有业务端的预期性能,使得云盘资源的利用率最大化。

本实施例中,通过调整写入概率的值,可以使得写入概率与对应的业务端的读写请求更加适配;并且,当业务端的存储访问模式发生变化时,其发送的读写请求也会发生变化,若继续按照原写入概率执行读写请求对应的云盘操作,得到的业务端的读写性能与预期性能的偏差会发生变化,此时,可以继续调整写入概率,以使写入概率跟随业务端的存储访问模式的变化而变化。

具体地,由于采集的样本数据为影响业务端读写性能的数据,因此,可以通过样本数据确定业务端的读写性能,例如,根据样本数据中的读写请求被拒绝的数量、读写请求的响应时长等,确定业务端的读写性能。

本实施例中,业务端的预期性能可以根据云盘中预先设定的业务端性能期望标准确定。例如,预先设定的业务端性能期望标准为云盘的多个业务端负载均衡,则可以直接确定业务端负载均衡时的性能标准作为业务端的预期性能,并根据其调整云盘写入策略S1。

本实施例中,写入概率与业务端的读写性能正相关,通过增加写入概率,可以提高业务端的读写性能,反之则可以降低业务端的读写性能。

但是,除了写入概率外还有其他因素会影响读写性能,例如,若业务端的读写请求中查询请求占较大比例,则查询请求在云盘存储中的命中率同样会影响业务端的读写性能,命中率越高,读写性能越好。因此,在实际使用时,不能保证每次调整后业务端的读写性能均会接近预期性能,亦有可能远离预期性能。

另外,当云盘存储策略包括存储删除策略S2时,所述通过所述样本数据调整所述云盘存储策略还包括:根据所述样本数据确定影响所述业务端的读写性能的当前云盘参数数据;根据当前云盘参数数据以及历史云盘参数数据,确定云盘性能变化趋势;若所述趋势指示云盘性能提高,则使用前次权重调整方式再次调整所述多个基本删除策略对应的权重;若所述趋势指示云盘性能降低,则使用与前次权重调整方式不同的方式调整所述多个基本删除策略对应的权重,以使云盘性能最大化。

本实施例中,根据样本数据确定的当前云盘参数数据可以包括:当前云盘存储的命中率、当前阶段云盘删除的数据量、当前阶段中删除后再次被写入云盘的数据量等;对应的,确定的云盘性能变化趋势可以包括云盘存储的命中率变高或变低等,云盘存储的命中率变高,可以使得当读写请求为查询请求时,直接在云盘存储中命中查询请求所请求的数据的概率变高,从而减小了需要写入云盘存储的数据量,有助于整体提升云盘的业务端的读写性能;并且,与从基本删除策略中选择一个作为云盘固定的存储删除策略相比,本实施例中通过调整多个基本删除策略的权重,可以得到与云盘最适配的存储删除策略,从而较大限度地提高了云盘性能。

本实施例中,当云盘性能提高时,说明前次权重调整方式有助于云盘性能的提高,则可以继续沿用,即继续使用前次权重调整方式再次调整所述多个基本删除策略对应的权重;反之,则需要重新确定与前次权重调整方式不同的方式来调整所述多个基本删除策略对应的权重。假设包括三个基本淘汰策略,则权重调整方式可以例如:将第一基本淘汰策略的权重增加0.1,将第二基本淘汰策略的权重增加0.2,将第三基本淘汰策略的权重减少0.3。

具体地,当确定与前次权重调整方式不同的方式时,可以随机生成一个与前次权重调整方式不同的新方式,也可以在前次调整方式的基础上进行修改,从而得到新方式,本实施例对此不进行限定。

另外,根据上述可以,部分或全部业务端可以对应一个存储删除策略。若部分业务端对应一个存储删除策略,则云盘中包括多个存储删除策略S2,进行调整时,可以根据这部分业务端的样本数据来调整这部分业务端对应的存储删除策略S2;若全部业务端对应一个存储删除策略,则可以根据所有的样本数据调整存储删除策略S2。

可选地,当业务端与云盘存储策略一一对应时,步骤S214还可以包括:根据所述云盘操作的结果,分别采集影响多个业务端的读写性能的样本数据,以根据所述样本数据以及可用云盘资源信息,调整多个业务端各自对应的所述云盘存储策略。通过根据多个业务端对应的样本数据以及可用云盘资源信息等调整云盘资源策略,可以使得调整后的云盘资源策略与云盘以及多个业务端更加适配。

本实施例中,可用云盘资源信息可以包括可用的云盘存储大小等。具体调整时,可以根据可用云盘资源信息以及多个业务端的样本数据,为多个业务端分配云盘资源,并根据分配结果确定业务端的预期性能以及云盘的预期性能,从而根据业务端和云盘的预期性能调整业务端各自对应的云盘存储策略。

可选地,本实施例中,所述云盘包括多级,对应的,每一级存储对应一组所述云盘存储策略,一组所述云盘存储策略中包括云盘写入策略和\或存储删除策略。

具体地,多级存储可以并行设置,也可以串行设置,或者串并行混合设置;当多级存储并行设置时,可以直接从多级存储中确定读写请求对应的一级存储,并从该级存储对应的一组云盘存储策略中确定读写请求对应的云盘存储策略;当多级存储串行设置时,读写请求需要经过多级串行设置的云盘存储才能执行完成云盘操作,针对其经过的每一级存储,均可以从该级存储对应的一组云盘存储策略中确定读写请求对应的云盘存储策略。与多级云盘共用同一组云盘存储策略相比,通过为每一级的存储均设置一组可适应调整的云盘存储策略,可以提高云盘存储的利用率,进而提高云盘的性能。

进一步地,当云盘包括多级时,所述为来自业务端的读写请求确定对应的云盘存储策略,根据确定的所述云盘存储策略执行所述读写请求对应的云盘操作包括:确定所述业务端的读写请求对应的存储级数,并从该级存储对应的一组所述云盘存储策略中为所述读写请求确定对应的云盘存储策略;根据确定的云盘存储策略确定是否将所述读写请求所请求的数据写入该级存储;如确定写入且该级存储已满,则根据确定的云盘存储策略从该级存储中确定待删除数据,并使用所述读写请求所请求的数据替换确定的待删除数据。

通过根据确定的云盘存储策略确定是否将所述读写请求所请求的数据写入该级存储,使得通过调整云盘存储策略,可以控制读写请求所在业务端的性能;通过根据确定的云盘存储策略从该级存储中确定待删除数据,可以通过调整云盘存储策略来调整待删除数据,进而提高云盘存储的命中率;通过两者结合,可以实现多级存储的性能的提高以及实现多级存储均与多个业务端的适配,进一步提高了云盘的整体性能。

本实施例提供的方案,通过调整写入概率的值,使得写入概率与对应的业务端的读写请求更加适配,还可以使得云盘中的所有的云盘存储策略可以同时兼容多个业务端的不同的读写行为模式,扩展了云盘的使用场景;并且,当业务端的读写请求发生变化时,继续按照写入概率执行读写请求对应的云盘操作,得到的业务端的读写性能与预期性能的偏差会发生变化,此时,可以继续调整写入概率,以使写入概率跟随业务端的读写请求的变化而变化;另外,通过权重混合多个基本删除策略,使得混合得到的存储删除策略更加多样化,且存储删除策略的调整更加灵活,并且通过调整多个基本删除策略的权重,可以得到与云盘最适配的存储删除策略,从而较大限度地提高了云盘性能。

本实施例的请求处理方法可以由任意适当的具有数据处理能力的电子设备执行,包括但不限于:服务器等。

实施例三

参照图4,示出了根据本发明实施例三的一种请求处理装置的结构框图。

如图4所示,本发明实施例的请求处理装置包括:确定模块302、调整模块304。

其中,确定模块302,用于根据接收的读写请求确定对应的云盘存储策略,根据确定的所述云盘存储策略执行所述读写请求对应的云盘操作。

调整模块304,用于根据所述云盘操作的结果,采集影响业务端的读写性能的样本数据,通过所述样本数据调整所述云盘存储策略。

在一种可选的实施方式中,所述云盘存储策略包括云盘写入策略,对应的,所述确定模块302包括:写入确定模块,根据所述云盘写入策略,确定是否将所述读写请求所请求的数据写入云盘存储。

在一种可选的实施方式中,所述写入确定模块包括:随机确定模块,用于根据所述云盘写入策略中的写入概率以及随机生成数,确定是否将所述读写请求所请求的数据写入云盘存储。

在一种可选的实施方式中,所述调整模块304包括:比较模块,用于通过所述样本数据确定所述业务端的读写性能,并比较所述业务端的读写性能与预期性能;所述装置还包括:增加模块或者降低模块,其中,增加模块,用于若所述业务端的读写性能低于预期性能,则通过所述样本数据调整所述云盘写入策略,以增加所述读写请求对应的写入概率;降低模块,用于若所述业务端的读写性能高于预期性能,则通过所述样本数据调整所述云盘写入策略,以降低所述读写请求对应的写入概率。

在一种可选的实施方式中,所述云盘存储策略包括存储删除策略,对应的,所述确定模块302包括:待删除数据确定模块,用于根据所述存储删除策略确定云盘存储的待删除数据;替换模块,用于使用所述读写请求所请求的数据替换确定的待删除数据。

在一种可选的实施方式中,所述存储删除策略包括多个基本删除策略,对应的,所述待删除数据确定模块具体用于:根据所述多个基本删除策略及其对应的权重,确定所述云盘存储的待删除数据。

在一种可选的实施方式中,所述调整模块304包括:当前参数确定模块,用于根据所述样本数据确定影响所述业务端的读写性能的当前云盘参数数据;趋势确定模块,用于根据当前云盘参数数据以及历史云盘参数数据,确定云盘性能变化趋势;权重调整模块,用于若所述趋势指示云盘性能提高,则使用前次权重调整方式再次调整所述多个基本删除策略对应的权重;或者用于若所述趋势指示云盘性能降低,则使用与前次权重调整方式不同的方式调整所述多个基本删除策略对应的权重。

在一种可选的实施方式中,所述云盘包括多级存储,对应的,每一级存储对应一组所述云盘存储策略,一组所述云盘存储策略中包括云盘写入策略和\或存储删除策略。

在一种可选的实施方式中,所述确定模块302包括:级数确定模块,用于确定所述读写请求对应的存储级数,并从该级存储对应的一组所述云盘存储策略中为所述读写请求确定对应的云盘存储策略;写入确定模块,用于根据确定的云盘存储策略中的云盘读入策略,确定是否将所述读写请求所请求的数据写入该级存储;如确定写入且该级存储已满,则所述装置还包括待删除数据确定模块,用于根据确定的云盘存储策略中的存储淘汰策略从该级存储中确定待删除数据;替换模块,用于使用所述读写请求所请求的数据替换确定的待删除数据。

在一种可选的实施方式中,所述调整模块304具体用于:根据所述云盘操作的结果,分别采集影响多个业务端的读写性能的样本数据,以根据所述样本数据以及可用云盘资源信息,调整多个业务端各自对应的所述云盘存储策略。

本实施例提供的请求处理方案,通过根据接收的读写请求确定对应的云盘存储策略,根据确定的所述云盘存储策略执行所述读写请求对应的云盘操作;根据所述云盘操作的结果,采集影响业务端的读写性能的样本数据,通过所述样本数据调整所述云盘存储策略,从而可以基于闭环反馈机制调整云盘存储策略,使得云盘存储策略根据其对应的读写请求的变化而动态变化,即云盘存储策略与其对应的读写请求动态适配,尤其当业务端的存储访问模式多样化导致云盘接收的读写请求的变化规律多样化时,通过与业务端的读写请求动态适配的云盘存储策略,可以提高云盘存储资源的调度效率,进而可以减少长尾效应的产生,提高了云盘存储的性能。

实施例四

一种电子设备,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行如上所述的请求处理方法对应的操作。

具体地,参照图5,示出了根据本发明实施例四的一种电子设备的结构示意图,本发明具体实施例并不对电子设备的具体实现做限定。

如图5所示,该电子设备可以包括:处理器(processor)402、通信接口(Communications Interface)404、存储器(memory)406、以及通信总线408。

其中:

处理器402、通信接口404、以及存储器406通过通信总线408完成相互间的通信。

通信接口404,用于与其它电子设备或服务器进行通信。

处理器402,用于执行程序410,具体可以执行上述请求处理方法实施例中的相关步骤。

具体地,程序410可以包括程序代码,该程序代码包括计算机操作指令。

处理器402可能是中央处理器CPU,或者是特定集成电路ASIC(ApplicationSpecific Integrated Circuit),或者是被配置成实施本发明实施例的一个或多个集成电路;处理器还可能是可编程门阵列(Field Programmable Gate Array,FPGA),图形处理器GPU,嵌入式神经网络处理器NPU等。电子设备包括的一个或多个处理器,可以是同一类型的处理器,如一个或多个CPU;也可以是不同类型的处理器,如一个或多个CPU以及一个或多个ASIC。

存储器406,用于存放程序410。存储器406可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。

程序410具体可以用于使得处理器402执行以下操作:根据接收的读写请求确定对应的云盘存储策略,根据确定的所述云盘存储策略执行所述读写请求对应的云盘操作;根据所述云盘操作的结果,采集影响业务端的读写性能的样本数据,通过所述样本数据调整所述云盘存储策略。

在一种可选的实施方式中,所述云盘存储策略包括云盘写入策略,对应的,所述根据确定的所述云盘存储策略执行所述读写请求对应的云盘操作包括:根据所述云盘写入策略,确定是否将所述读写请求所请求的数据写入云盘存储。

在一种可选的实施方式中,所述根据所述云盘写入策略,确定是否将所述读写请求所请求的数据写入云盘存储包括:根据所述云盘写入策略中的写入概率以及随机生成数,确定是否将所述读写请求所请求的数据写入云盘存储。

在一种可选的实施方式中,所述通过所述样本数据调整所述云盘存储策略包括:通过所述样本数据确定所述业务端的读写性能,并比较所述业务端的读写性能与预期性能;若所述业务端的读写性能低于预期性能,则通过所述样本数据调整所述云盘写入策略,以增加所述读写请求对应的写入概率;或者,若所述业务端的读写性能高于预期性能,则通过所述样本数据调整所述云盘写入策略,以降低所述读写请求对应的写入概率。

在一种可选的实施方式中,所述云盘存储策略包括存储删除策略,对应的,所述根据确定的所述云盘存储策略执行所述读写请求对应的云盘操作还包括:根据所述存储删除策略确定云盘存储的待删除数据;使用所述读写请求所请求的数据替换确定的待删除数据。

在一种可选的实施方式中,所述存储删除策略包括多个基本删除策略,对应的,所述根据所述存储删除策略确定云盘存储的待删除数据包括:根据所述多个基本删除策略及其对应的权重,确定所述云盘存储的待删除数据。

在一种可选的实施方式中,所述通过所述样本数据调整所述云盘存储策略还包括:根据所述样本数据确定影响所述业务端的读写性能的当前云盘参数数据;根据当前云盘参数数据以及历史云盘参数数据,确定云盘性能变化趋势;若所述趋势指示云盘性能提高,则使用前次权重调整方式再次调整所述多个基本删除策略对应的权重;若所述趋势指示云盘性能降低,则使用与前次权重调整方式不同的方式调整所述多个基本删除策略对应的权重。

在一种可选的实施方式中,所述云盘包括多级存储,对应的,每一级存储对应一组所述云盘存储策略,一组所述云盘存储策略中包括云盘写入策略和\或存储删除策略。

在一种可选的实施方式中,所述根据接收的读写请求确定对应的云盘存储策略,根据确定的所述云盘存储策略执行所述读写请求对应的云盘操作包括:确定所述读写请求对应的存储级数,并从该级存储对应的一组所述云盘存储策略中为所述读写请求确定对应的云盘存储策略;根据确定的云盘存储策略中的云盘读入策略,确定是否将所述读写请求所请求的数据写入该级存储;如确定写入且该级存储已满,则根据确定的云盘存储策略中的存储淘汰策略从该级存储中确定待删除数据,并使用所述读写请求所请求的数据替换确定的待删除数据。

在一种可选的实施方式中,所述根据所述云盘操作的结果,采集影响业务端的读写性能的样本数据,通过所述样本数据调整所述云盘存储策略包括:根据所述云盘操作的结果,分别采集影响多个业务端的读写性能的样本数据,以根据所述样本数据以及可用云盘资源信息,调整多个业务端各自对应的所述云盘存储策略。

程序410中各步骤的具体实现可以参见上述请求处理方法实施例中的相应步骤和单元中对应的描述,在此不赘述。所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的设备和模块的具体工作过程,可以参考前述方法实施例中的对应过程描述,在此不再赘述。

本实施例的电子设备,通过根据接收的读写请求确定对应的云盘存储策略,根据确定的所述云盘存储策略执行所述读写请求对应的云盘操作;根据所述云盘操作的结果,采集影响业务端的读写性能的样本数据,通过所述样本数据调整所述云盘存储策略,从而可以基于闭环反馈机制调整云盘存储策略,使得云盘存储策略根据其对应的读写请求的变化而动态变化,即云盘存储策略与其对应的读写请求动态适配,尤其当业务端的存储访问模式多样化导致云盘接收的读写请求的变化规律多样化时,通过与业务端的读写请求动态适配的云盘存储策略,可以提高云盘存储资源的调度效率,进而可以减少长尾效应的产生,提高了云盘存储的性能。

需要指出,根据实施的需要,可将本发明实施例中描述的各个部件/步骤拆分为更多部件/步骤,也可将两个或多个部件/步骤或者部件/步骤的部分操作组合成新的部件/步骤,以实现本发明实施例的目的。

上述根据本发明实施例的方法可在硬件、固件中实现,或者被实现为可存储在记录介质(诸如CD ROM、RAM、软盘、硬盘或磁光盘)中的软件或计算机代码,或者被实现通过网络下载的原始存储在远程记录介质或非暂时机器可读介质中并将被存储在本地记录介质中的计算机代码,从而在此描述的方法可被存储在使用通用计算机、专用处理器或者可编程或专用硬件(诸如ASIC或FPGA)的记录介质上的这样的软件处理。可以理解,计算机、处理器、微处理器控制器或可编程硬件包括可存储或接收软件或计算机代码的存储组件(例如,RAM、ROM、闪存等),当所述软件或计算机代码被计算机、处理器或硬件访问且执行时,实现在此描述的请求处理方法。此外,当通用计算机访问用于实现在此示出的请求处理方法的代码时,代码的执行将通用计算机转换为用于执行在此示出的请求处理方法的专用计算机。

本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及方法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明实施例的范围。

以上实施方式仅用于说明本发明实施例,而并非对本发明实施例的限制,有关技术领域的普通技术人员,在不脱离本发明实施例的精神和范围的情况下,还可以做出各种变化和变型,因此所有等同的技术方案也属于本发明实施例的范畴,本发明实施例的专利保护范围应由权利要求限定。

相关技术
  • 请求处理方法和装置、电子设备、计算机可读存储介质
  • 请求处理方法、装置、计算机可读存储介质及电子设备
技术分类

06120112881198