CN108628551A - 一种数据处理方法及装置 - Google Patents
一种数据处理方法及装置 Download PDFInfo
- Publication number
- CN108628551A CN108628551A CN201810421758.0A CN201810421758A CN108628551A CN 108628551 A CN108628551 A CN 108628551A CN 201810421758 A CN201810421758 A CN 201810421758A CN 108628551 A CN108628551 A CN 108628551A
- Authority
- CN
- China
- Prior art keywords
- queue
- data
- average value
- disk
- server
- 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.)
- Granted
Links
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
- 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/0656—Data buffering arrangements
-
- 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/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
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)
- Memory System Of A Hierarchy Structure (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种数据处理方法及装置,应用于控制服务器,所述控制服务器设置第一队列和第二队列,所述第一队列用于存储从数据磁盘服务器读取数据的时间差值,所述第二队列用于存储从缓存磁盘服务器读取数据的时间差值,所述时间差值用于表示磁盘用户发起请求读取数据到磁盘读取完毕回复给所述磁盘用户的时间差,通过本发明提供的数据处理方法及装置,达到缓存磁盘服务器的输出数据的能力和数据磁盘服务器的输出数据的能力均衡,实现对缓存磁盘服务器进行削峰,达到整个服务器集群的最大数据输出能力。
Description
技术领域
本发明涉及数据处理技术领域,特别是涉及一种数据处理方法及装置。
背景技术
随着3G和宽带接入的高速发展,移动和固网用户的数量及带宽都有很快的增长。如此庞大的用户需求强烈刺激着各类信息业务的发展,对IP网络的结构和容量都提出了很高的挑战。
在数据输出的时候,一般缓存磁盘服务器缓存的都是用户的热点数据,大量的热点数据缓存在磁盘服务器的磁盘上,但是缓存磁盘服务器也存在一定的限制:第一,由于缓存磁盘服务器的输出能力是有限的,通常一个服务器集群无法部署大量的缓冲磁盘服务器,所以,缓存磁盘服务器个数比较少;第二,每一个缓存磁盘服务器的输出带宽是有限制的,不可能输出很大的数据量来维持用户的需求。当所有数据从缓存磁盘服务器中读取的时候,磁盘输出的带宽以及对应服务器的输出带宽限制了整个服务器集群的数据输出能力。
发明内容
本发明的目的在于提出一种数据处理方法及装置,以达到缓存磁盘服务器的输出数据的能力和数据磁盘服务器的输出数据的能力均衡,实现对缓存磁盘服务器进行削峰,达到整个服务器集群的最大数据输出能力。
为达到上述目的,本发明提供了以下技术方案:
一种数据处理方法,应用于控制服务器,所述控制服务器设置第一队列和第二队列,所述第一队列用于存储从数据磁盘服务器读取数据的时间差值,所述第二队列用于存储从缓存磁盘服务器读取数据的时间差值,所述时间差值用于表示磁盘用户发起请求读取数据到磁盘读取完毕回复给所述磁盘用户的时间差,该方法包括:
接收所述磁盘用户发送的读取数据请求;
根据所述第一队列中的所有的时间差值和所述第一队列的长度计算第一平均值;
根据所述第二队列中的所有的时间差值和所述第二队列的长度计算第二平均值;
当再次接收所述磁盘用户发送的读取数据请求时,根据所述第一平均值和所述第二平均值确定目标磁盘服务器。
具体的,根据所述第一队列中的所有的时间差值和所述第一队列的长度计算第一平均值的步骤,包括:
确定从所述数据磁盘服务器请求数据所花费的时间差值,并将所述时间差值存储至所述第一队列;
将所述第一队列中的所有的时间差值求和,除以所述第一队列的长度得到所述第一平均值。
具体的,根据所述第二队列中的所有的时间差值和所述第二队列的长度计算第二平均值的步骤,包括:
确定从所述缓存磁盘服务器请求数据所花费的时间差值,并将所述时间差值存储至所述第二队列;
将所述第二队列中的所有的时间差值求和,除以所述第二队列的长度得到所述第二平均值。
具体的,当再次接收所述磁盘用户发送的读取数据请求时,根据所述第一平均值和所述第二平均值确定目标磁盘服务器的步骤,包括:
比较所述第一平均值和所述第二平均值的大小;
当所述第一平均值大于或等于所述第二平均值时,则确定所述目标磁盘服务器为所述缓存磁盘服务器,将读取所花费的时间差值更新至所述缓存磁盘服务器对应的所述第二队列中,并计算新的第二平均值;
当所述第一平均值小于所述第二平均值时,则确定所述目标磁盘服务器为所述数据磁盘服务器,将读取所花费的时间差值更新至所述数据磁盘服务器对应的所述第一队列中,并计算新的第一平均值。
一种数据处理装置,包括:
接收模块,用于接收所述磁盘用户发送的读取数据请求;
第一计算模块,用于根据所述第一队列中的所有的时间差值和所述第一队列的长度计算第一平均值;
第二计算模块,用于根据所述第二队列中的所有的时间差值和所述第二队列的长度计算第二平均值;
确定模块,用于当再次接收所述磁盘用户发送的读取数据请求时,根据所述第一平均值和所述第二平均值确定目标磁盘服务器。
具体的,所述第一计算模块包括:
第一存储单元,用于确定从所述数据磁盘服务器请求数据所花费的时间差值,并将所述时间差值存储至所述第一队列;
第一计算单元,用于将所述第一队列中的所有的时间差值求和,除以所述第一队列的长度得到所述第一平均值。
具体的,所述第二计算模块包括:
第二存储单元,用于确定从所述缓存磁盘服务器请求数据所花费的时间差值,并将所述时间差值存储至所述第二队列;
第二计算单元,用于将所述第二队列中的所有的时间差值求和,除以所述第二队列的长度得到所述第二平均值。
具体的,所述确定模块包括:
比较单元,用于比较所述第一平均值和所述第二平均值的大小;
第一确定单元,用于当所述第一平均值大于或等于所述第二平均值时,则确定所述目标磁盘服务器为所述缓存磁盘服务器,将读取所花费的时间差值更新至所述缓存磁盘服务器对应的所述第二队列中,并计算新的第二平均值;
第二确定单元,用于当所述第一平均值小于所述第二平均值时,则确定所述目标磁盘服务器为所述数据磁盘服务器,将读取所花费的时间差值更新至所述数据磁盘服务器对应的所述第一队列中,并计算新的第一平均值。
一种存储介质,所述存储介质包括存储的程序,
其中,在所述程序运行时控制所述存储介质所在的设备执行上述所述的数据处理方法。
一种处理器,所述处理器用于运行程序,
其中,所述程序运行时执行上述所述的数据处理方法。
经由上述的技术方案可知,与现有技术相比,本发明公开了一种数据处理方法及装置,应用于控制服务器,所述控制服务器设置第一队列和第二队列,所述第一队列用于存储从数据磁盘服务器读取数据的时间差值,所述第二队列用于存储从缓存磁盘服务器读取数据的时间差值,所述时间差值用于表示磁盘用户发起请求读取数据到磁盘读取完毕回复给所述磁盘用户的时间差,该方法包括:接收所述磁盘用户发送的读取数据请求;根据所述第一队列中的所有的时间差值和所述第一队列的长度计算第一平均值;根据所述第二队列中的所有的时间差值和所述第二队列的长度计算第二平均值;当再次接收所述磁盘用户发送的读取数据请求时,根据所述第一平均值和所述第二平均值确定目标磁盘服务器。
通过本发明提供的数据处理方法及装置,当缓存磁盘服务器的输出达到一定的输出能力时,从缓存磁盘服务器读取的数据会增大延迟,通过缓存服务器的延迟来推断缓存服务器比较忙碌,则后续需要从数据磁盘服务器中读取;同样当数据磁盘服务器读取的速度达到了一定的输出延迟,说明数据服务器比较忙碌,下次读取数据的时候需要从缓存磁盘服务器中读取,从而达到缓存磁盘服务器的输出数据的能力和数据磁盘服务器的输出数据的能力均衡,实现对缓存磁盘服务器进行削峰,达到整个服务器集群的最大数据输出能力。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明实施例示出的一种数据处理方法流程示意图;
图2为本发明实施例示出的图1中的步骤S102的流程示意图;
图3为本发明实施例示出的图1中的步骤S103的流程示意图;
图4为本发明实施例示出的图1中的步骤S104的流程示意图;
图5为本发明实施例示出的一种数据处理装置结构示意图;
图6为本发明实施例示出的一种数据处理装置具体结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参阅图1,本实施例公开了一种数据处理方法,应用于控制服务器,该方法具体包括如下步骤:
S101、接收所述磁盘用户发送的读取数据请求。
具体的,上述涉及的磁盘用户为需要读取数据的用户,在需要从数据磁盘服务器或缓存磁盘服务器中读取数据时,需要先设置为磁盘用户才能从数据磁盘服务器或缓存磁盘服务器中读取数据。上述涉及的上述所述控制服务器设置有两个队列,第一队列和第二队列,且第一队列和第二队列不需要太大,只要满足能够保存最近几十次的时间差值即可。
具体的,上述所述第一队列用于存储从数据磁盘服务器读取数据的时间差值,所述第二队列用于存储从缓存磁盘服务器读取数据的时间差值,所述时间差值用于表示磁盘用户发起请求读取数据到磁盘读取完毕回复给所述磁盘用户的时间差,即:时间差值是指磁盘用户发起请求读取数据的时候,到磁盘读取完毕回复给磁盘用户的时间差,为数据磁盘服务器以及缓存磁盘服务器中所请求的发生的时间差值。
在第一队列和第二队列中是将最新的时间差值存入队列中,最老的时间差值需要从队列尾中淘汰掉,同时,需要保证队列的大小不变,且两个队列初始化为全0。
需要说明的是,控制服务器为用来控制用户请求的数据从数据磁盘服务器中读取还是从缓存磁盘服务器中读取。在一个磁盘服务器集群中,一般会部署大量的价格低廉的服务器以及磁盘陈列作为数据磁盘服务器,一台数据磁盘服务器会插入多个磁盘作为磁盘阵列,多台数据磁盘服务器组成一个集群,对用户提供大量的数据存储,用户可以将用户数据存储到数据磁盘服务器的某个或某些磁盘中,并进行管理,且每个用户数据都可以从数据磁盘服务器中读取。缓存磁盘服务器中存储大量当前热点数据,且随着时间的推移热点数据会进行更新,其中热点数据来源于数据磁盘服务器,缓存磁盘服务器一般使用的磁盘性能都比较高,读写速度比较快,较多使用固态硬盘或更高效的磁盘,且也可能使用内存模拟实现硬盘的读写方法作为缓存磁盘服务器中的磁盘块,缓存磁盘服务器也使用磁盘陈列的方式提供服务,且磁盘阵列的输出带宽(磁盘的iops)的总和一定要大于缓存磁盘服务器的输出带宽的能力。
S102、根据所述第一队列中的所有的时间差值和所述第一队列的长度计算第一平均值。
如图2所示,步骤S102的一种具体实现方式可以为:
S201、确定从所述数据磁盘服务器请求数据所花费的时间差值,并将所述时间差值存储至所述第一队列;
S202、将所述第一队列中的所有的时间差值求和,除以所述第一队列的长度得到所述第一平均值。
具体的,当磁盘用户向控制服务器发送请求数据时,控制服务器从数据磁盘服务器获取请求数据所花费的时间差值,并存储到数据磁盘服务器对应的第一队列中,同时淘汰最老的时间差值,然后将第一队列中的所有差值的和除以第一队列的长度,得出第一平均值。
S103、根据所述第二队列中的所有的时间差值和所述第二队列的长度计算第二平均值。
如图3所示,步骤S103的一种具体实现方式可以为:
S301、确定从所述缓存磁盘服务器请求数据所花费的时间差值,并将所述时间差值存储至所述第二队列;
S302、将所述第二队列中的所有的时间差值求和,除以所述第二队列的长度得到所述第二平均值。
具体的,当磁盘用户向控制服务器发送请求数据时,控制服务器从缓存磁盘服务器获取请求数据所花费的时间差值,并存储到缓存磁盘服务器对应的第二队列中,同时淘汰最老的时间差值,然后将第二队列中的所有差值的和除以第二队列的长度,得出第二平均值。
S104、当再次接收所述磁盘用户发送的读取数据请求时,根据所述第一平均值和所述第二平均值确定目标磁盘服务器。
如图4所示,步骤S104的一种具体实现方式可以为:
S401、比较所述第一平均值和所述第二平均值的大小;
S402、当所述第一平均值大于或等于所述第二平均值时,则确定所述目标磁盘服务器为所述缓存磁盘服务器,将读取所花费的时间差值更新至所述缓存磁盘服务器对应的所述第二队列中,并计算新的第二平均值;
S403、当所述第一平均值小于所述第二平均值时,则确定所述目标磁盘服务器为所述数据磁盘服务器,将读取所花费的时间差值更新至所述数据磁盘服务器对应的所述第一队列中,并计算新的第一平均值。
需要说明的是,第一队列和第二队列可能发生以下三种情况:1、用户长时间没有请求;2、用户每次都是从缓存磁盘服务器请求;3、用户每次都是从数据磁盘服务器请求。
为了避免上面三种情况的出现,在存储用户端设置一个定时器,定时器需要按照一定的时间检查两个队列,比如每5秒钟检查一次。在每次检查队列是否在超时时间范围内存在磁盘请求并更新对应的队列,若超时发现没有更新对应磁盘的队列,系统将设置一个当前队列平均值小得多的值(必须要大于等于0)设置到队列中,同时淘汰一个最久的平均值。然后重新计算出新的平均值。如此反复,时间越久,队列所计算出来的平均值就越小,最后趋近于0或等于0。这样处理的好处在于,当时间的流逝,说明以前比较拥挤或繁忙的磁盘服务器(数据磁盘服务器或缓存磁盘服务器)在此时可能比较空闲,新的数据请求需要从相对应的磁盘服务器中请求。通过本实施例可以正常的将缓存磁盘服务器以及数据磁盘服务器的压力进行分担,使得整个磁盘服务器集群的磁盘处于比较均衡的状态。
以上三种情况的出现处理如下:
第一,若用户长时间没有请求数据,则定时器定时将两个队列中的最新差值进行更新,更新方法参见上面所述,最后将两个队列中的平均值计算出趋近于0或等于0,为新的用户请求做准备。
第二,若用户每次都从缓存磁盘请求数据,则说明数据磁盘服务器存在一段时间很忙了,每次从数据磁盘服务器读取的数据都需要花费较长的时间,那么本次需要从缓存服务器中读取数据。但也不能无休止的从缓存磁盘服务器中读取数据,因此,不能等待缓存磁盘服务器读取的时间计算出来的平均值大于从数据磁盘服务器所对应的平均值大的时候才能从数据磁盘服务器读取数据。通过设定的定时器,定时检查数据磁盘服务器对应的队列,若在超时时间范围内没有更新时间差值,则需要将最新的时间差值设置为一个新的值,并计算新的平均值,当新的平均值比缓存磁盘服务器对应的平均值小的时候,下次的数据请求就会转到从数据磁盘服务器中读取。
第三,若用户每次都从数据磁盘请求数据,则说明存在一段时间从缓存服务器读取的数据量比较大,且缓存磁盘服务器处于忙碌状态。这种情况和第二种情况处理方法一样。在超时时间范围内没有更新缓存磁盘服务器对应的队列,则需要通过定时器重新设定新的时间差值,并计算新的平均值。
如此通过上述的调整,磁盘用户就可以实现比较均匀的从缓存磁盘服务器或数据磁盘服务器中读取数据,且不会导致缓存磁盘服务器到达一个比较大的峰值而拥挤,也不会因为数据磁盘服务器的吞吐量的问题导致整个磁盘服务器集群变慢。
本发明实施例提供一种数据处理方法,应用于控制服务器,所述控制服务器设置第一队列和第二队列,所述第一队列用于存储从数据磁盘服务器读取数据的时间差值,所述第二队列用于存储从缓存磁盘服务器读取数据的时间差值,所述时间差值用于表示磁盘用户发起请求读取数据到磁盘读取完毕回复给所述磁盘用户的时间差,通过本发明提供的数据处理方法,当缓存磁盘服务器的输出达到一定的输出能力时,从缓存磁盘服务器读取的数据会增大延迟,通过缓存服务器的延迟来推断缓存服务器比较忙碌,则后续需要从数据磁盘服务器中读取;同样当数据磁盘服务器读取的速度达到了一定的输出延迟,说明数据服务器比较忙碌,下次读取数据的时候需要从缓存磁盘服务器中读取,从而达到缓存磁盘服务器的输出数据的能力和数据磁盘服务器的输出数据的能力均衡,实现对缓存磁盘服务器进行削峰,达到整个服务器集群的最大数据输出能力。
请参阅图5,基于上述实施例公开的一种数据处理方法,本实施例对应公开了一种数据处理装置,具体包括:接收模块501、第一计算模块502、第二计算模块503和确定模块504,其中:
接收模块501,用于接收所述磁盘用户发送的读取数据请求;
第一计算模块502,用于根据所述第一队列中的所有的时间差值和所述第一队列的长度计算第一平均值;
第二计算模块503,用于根据所述第二队列中的所有的时间差值和所述第二队列的长度计算第二平均值;
确定模块504,用于当再次接收所述磁盘用户发送的读取数据请求时,根据所述第一平均值和所述第二平均值确定目标磁盘服务器。
具体的,如图6所示,上述所述第一计算模块502包括:第一存储单元601和第一计算单元602,其中:
第一存储单元601,用于确定从所述数据磁盘服务器请求数据所花费的时间差值,并将所述时间差值存储至所述第一队列;
第一计算单元602,用于将所述第一队列中的所有的时间差值求和,除以所述第一队列的长度得到所述第一平均值。
具体的,如图6所示,所述第二计算模块503包括:第二存储单元603和第二计算单元604,其中:
第二存储单元603,用于确定从所述缓存磁盘服务器请求数据所花费的时间差值,并将所述时间差值存储至所述第二队列;
第二计算单元604,用于将所述第二队列中的所有的时间差值求和,除以所述第二队列的长度得到所述第二平均值。
具体的,如图6所示,所述确定模块504包括:比较单元605、第一确定单元606和第二确定单元607,其中:
比较单元605,用于比较所述第一平均值和所述第二平均值的大小;
第一确定单元606,用于当所述第一平均值大于或等于所述第二平均值时,则确定所述目标磁盘服务器为所述缓存磁盘服务器,将读取所花费的时间差值更新至所述缓存磁盘服务器对应的所述第二队列中,并计算新的第二平均值;
第二确定单元607,用于当所述第一平均值小于所述第二平均值时,则确定所述目标磁盘服务器为所述数据磁盘服务器,将读取所花费的时间差值更新至所述数据磁盘服务器对应的所述第一队列中,并计算新的第一平均值。
本发明实施例提供一种数据处理装置,通过本发明提供的数据处理装置,当缓存磁盘服务器的输出达到一定的输出能力时,从缓存磁盘服务器读取的数据会增大延迟,通过缓存服务器的延迟来推断缓存服务器比较忙碌,则后续需要从数据磁盘服务器中读取;同样当数据磁盘服务器读取的速度达到了一定的输出延迟,说明数据服务器比较忙碌,下次读取数据的时候需要从缓存磁盘服务器中读取,从而达到缓存磁盘服务器的输出数据的能力和数据磁盘服务器的输出数据的能力均衡,实现对缓存磁盘服务器进行削峰,达到整个服务器集群的最大数据输出能力。
所述基于浏览器的数据处理装置包括处理器和存储器,上述接收模块、第一计算模块、第二计算模块和确定模块,等均作为程序模块存储在存储器中,由处理器执行存储在存储器中的上述程序模块来实现相应的功能。
处理器中包含内核,由内核去存储器中调取相应的程序模块。内核可以设置一个或以上,通过均衡缓存磁盘服务器的输出数据的能力和数据磁盘服务器的输出数据的能力,实现对缓存磁盘服务器进行削峰,达到整个服务器集群的最大数据输出能力。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM),存储器包括至少一个存储芯片。
本发明实施例提供了一种存储介质,其上存储有程序,该程序被处理器执行时实现所述数据处理方法。
本发明实施例提供了一种处理器,所述处理器用于运行程序,其中,所述程序运行时执行所述数据处理方法。
本发明实施例提供了一种设备,设备包括处理器、存储器及存储在存储器上并可在处理器上运行的程序,处理器执行程序时实现以下步骤:
接收所述磁盘用户发送的读取数据请求;
根据所述第一队列中的所有的时间差值和所述第一队列的长度计算第一平均值;
根据所述第二队列中的所有的时间差值和所述第二队列的长度计算第二平均值;
当再次接收所述磁盘用户发送的读取数据请求时,根据所述第一平均值和所述第二平均值确定目标磁盘服务器。
进一步的,根据所述第一队列中的所有的时间差值和所述第一队列的长度计算第一平均值的步骤,包括:
确定从所述数据磁盘服务器请求数据所花费的时间差值,并将所述时间差值存储至所述第一队列;
将所述第一队列中的所有的时间差值求和,除以所述第一队列的长度得到所述第一平均值。
进一步的,根据所述第二队列中的所有的时间差值和所述第二队列的长度计算第二平均值的步骤,包括:
确定从所述缓存磁盘服务器请求数据所花费的时间差值,并将所述时间差值存储至所述第二队列;
将所述第二队列中的所有的时间差值求和,除以所述第二队列的长度得到所述第二平均值。
进一步的,当再次接收所述磁盘用户发送的读取数据请求时,根据所述第一平均值和所述第二平均值确定目标磁盘服务器的步骤,包括:
比较所述第一平均值和所述第二平均值的大小;
当所述第一平均值大于或等于所述第二平均值时,则确定所述目标磁盘服务器为所述缓存磁盘服务器,将读取所花费的时间差值更新至所述缓存磁盘服务器对应的所述第二队列中,并计算新的第二平均值;
当所述第一平均值小于所述第二平均值时,则确定所述目标磁盘服务器为所述数据磁盘服务器,将读取所花费的时间差值更新至所述数据磁盘服务器对应的所述第一队列中,并计算新的第一平均值。
本文中的设备可以是服务器、PC、PAD、手机等。
本申请还提供了一种计算机程序产品,当在数据处理设备上执行时,适于执行初始化有如下方法步骤的程序:
接收所述磁盘用户发送的读取数据请求;
根据所述第一队列中的所有的时间差值和所述第一队列的长度计算第一平均值;
根据所述第二队列中的所有的时间差值和所述第二队列的长度计算第二平均值;
当再次接收所述磁盘用户发送的读取数据请求时,根据所述第一平均值和所述第二平均值确定目标磁盘服务器。
进一步的,根据所述第一队列中的所有的时间差值和所述第一队列的长度计算第一平均值的步骤,包括:
确定从所述数据磁盘服务器请求数据所花费的时间差值,并将所述时间差值存储至所述第一队列;
将所述第一队列中的所有的时间差值求和,除以所述第一队列的长度得到所述第一平均值。
进一步的,根据所述第二队列中的所有的时间差值和所述第二队列的长度计算第二平均值的步骤,包括:
确定从所述缓存磁盘服务器请求数据所花费的时间差值,并将所述时间差值存储至所述第二队列;
将所述第二队列中的所有的时间差值求和,除以所述第二队列的长度得到所述第二平均值。
进一步的,当再次接收所述磁盘用户发送的读取数据请求时,根据所述第一平均值和所述第二平均值确定目标磁盘服务器的步骤,包括:
比较所述第一平均值和所述第二平均值的大小;
当所述第一平均值大于或等于所述第二平均值时,则确定所述目标磁盘服务器为所述缓存磁盘服务器,将读取所花费的时间差值更新至所述缓存磁盘服务器对应的所述第二队列中,并计算新的第二平均值;
当所述第一平均值小于所述第二平均值时,则确定所述目标磁盘服务器为所述数据磁盘服务器,将读取所花费的时间差值更新至所述数据磁盘服务器对应的所述第一队列中,并计算新的第一平均值。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。存储器是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
以上仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
Claims (10)
1.一种数据处理方法,其特征在于,应用于控制服务器,所述控制服务器设置第一队列和第二队列,所述第一队列用于存储从数据磁盘服务器读取数据的时间差值,所述第二队列用于存储从缓存磁盘服务器读取数据的时间差值,所述时间差值用于表示磁盘用户发起请求读取数据到磁盘读取完毕回复给所述磁盘用户的时间差,该方法包括:
接收所述磁盘用户发送的读取数据请求;
根据所述第一队列中的所有的时间差值和所述第一队列的长度计算第一平均值;
根据所述第二队列中的所有的时间差值和所述第二队列的长度计算第二平均值;
当再次接收所述磁盘用户发送的读取数据请求时,根据所述第一平均值和所述第二平均值确定目标磁盘服务器。
2.根据权利要求1所述的方法,其特征在于,根据所述第一队列中的所有的时间差值和所述第一队列的长度计算第一平均值的步骤,包括:
确定从所述数据磁盘服务器请求数据所花费的时间差值,并将所述时间差值存储至所述第一队列;
将所述第一队列中的所有的时间差值求和,除以所述第一队列的长度得到所述第一平均值。
3.根据权利要求1所述的方法,其特征在于,根据所述第二队列中的所有的时间差值和所述第二队列的长度计算第二平均值的步骤,包括:
确定从所述缓存磁盘服务器请求数据所花费的时间差值,并将所述时间差值存储至所述第二队列;
将所述第二队列中的所有的时间差值求和,除以所述第二队列的长度得到所述第二平均值。
4.根据权利要求1所述的方法,其特征在于,当再次接收所述磁盘用户发送的读取数据请求时,根据所述第一平均值和所述第二平均值确定目标磁盘服务器的步骤,包括:
比较所述第一平均值和所述第二平均值的大小;
当所述第一平均值大于或等于所述第二平均值时,则确定所述目标磁盘服务器为所述缓存磁盘服务器,将读取所花费的时间差值更新至所述缓存磁盘服务器对应的所述第二队列中,并计算新的第二平均值;
当所述第一平均值小于所述第二平均值时,则确定所述目标磁盘服务器为所述数据磁盘服务器,将读取所花费的时间差值更新至所述数据磁盘服务器对应的所述第一队列中,并计算新的第一平均值。
5.一种数据处理装置,其特征在于,包括:
接收模块,用于接收所述磁盘用户发送的读取数据请求;
第一计算模块,用于根据所述第一队列中的所有的时间差值和所述第一队列的长度计算第一平均值;
第二计算模块,用于根据所述第二队列中的所有的时间差值和所述第二队列的长度计算第二平均值;
确定模块,用于当再次接收所述磁盘用户发送的读取数据请求时,根据所述第一平均值和所述第二平均值确定目标磁盘服务器。
6.根据权利要求5所述的装置,其特征在于,所述第一计算模块包括:
第一存储单元,用于确定从所述数据磁盘服务器请求数据所花费的时间差值,并将所述时间差值存储至所述第一队列;
第一计算单元,用于将所述第一队列中的所有的时间差值求和,除以所述第一队列的长度得到所述第一平均值。
7.根据权利要求5所述的装置,其特征在于,所述第二计算模块包括:
第二存储单元,用于确定从所述缓存磁盘服务器请求数据所花费的时间差值,并将所述时间差值存储至所述第二队列;
第二计算单元,用于将所述第二队列中的所有的时间差值求和,除以所述第二队列的长度得到所述第二平均值。
8.根据权利要求5所述的装置,其特征在于,所述确定模块包括:
比较单元,用于比较所述第一平均值和所述第二平均值的大小;
第一确定单元,用于当所述第一平均值大于或等于所述第二平均值时,则确定所述目标磁盘服务器为所述缓存磁盘服务器,将读取所花费的时间差值更新至所述缓存磁盘服务器对应的所述第二队列中,并计算新的第二平均值;
第二确定单元,用于当所述第一平均值小于所述第二平均值时,则确定所述目标磁盘服务器为所述数据磁盘服务器,将读取所花费的时间差值更新至所述数据磁盘服务器对应的所述第一队列中,并计算新的第一平均值。
9.一种存储介质,其特征在于,所述存储介质包括存储的程序,
其中,在所述程序运行时控制所述存储介质所在的设备执行如权利要求1-4中任一项所述的数据处理方法。
10.一种处理器,其特征在于,所述处理器用于运行程序,
其中,所述程序运行时执行如权利要求1-4中任一项所述的数据处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810421758.0A CN108628551B (zh) | 2018-05-04 | 2018-05-04 | 一种数据处理方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810421758.0A CN108628551B (zh) | 2018-05-04 | 2018-05-04 | 一种数据处理方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108628551A true CN108628551A (zh) | 2018-10-09 |
CN108628551B CN108628551B (zh) | 2021-06-15 |
Family
ID=63695473
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810421758.0A Active CN108628551B (zh) | 2018-05-04 | 2018-05-04 | 一种数据处理方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108628551B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111506254A (zh) * | 2019-01-31 | 2020-08-07 | 阿里巴巴集团控股有限公司 | 分布式存储系统及其管理方法、装置 |
CN111737298A (zh) * | 2020-06-19 | 2020-10-02 | 中国工商银行股份有限公司 | 基于分布式存储的缓存数据管控方法及装置 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102053800A (zh) * | 2010-11-26 | 2011-05-11 | 华为技术有限公司 | 数据存取的方法、消息接收解析器及系统 |
US8239589B1 (en) * | 2010-03-31 | 2012-08-07 | Amazon Technologies, Inc. | Balancing latency and throughput for shared resources |
CN105204785A (zh) * | 2015-10-15 | 2015-12-30 | 中国科学技术大学 | 一种基于磁盘i/o队列的磁盘阵列写方式选择方法 |
US20160291868A1 (en) * | 2015-03-31 | 2016-10-06 | Kabushiki Kaisha Toshiba | Out of order sgl read sorting in a mixed system with prp read or system that supports only sgl reads |
CN106909312A (zh) * | 2015-12-23 | 2017-06-30 | 伊姆西公司 | 用于控制从存储系统读取数据的方法和装置 |
CN107615254A (zh) * | 2015-05-21 | 2018-01-19 | 新加坡科技研究局 | 混合对象存储设备的高速缓存架构和算法 |
-
2018
- 2018-05-04 CN CN201810421758.0A patent/CN108628551B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8239589B1 (en) * | 2010-03-31 | 2012-08-07 | Amazon Technologies, Inc. | Balancing latency and throughput for shared resources |
CN102053800A (zh) * | 2010-11-26 | 2011-05-11 | 华为技术有限公司 | 数据存取的方法、消息接收解析器及系统 |
US20160291868A1 (en) * | 2015-03-31 | 2016-10-06 | Kabushiki Kaisha Toshiba | Out of order sgl read sorting in a mixed system with prp read or system that supports only sgl reads |
CN107615254A (zh) * | 2015-05-21 | 2018-01-19 | 新加坡科技研究局 | 混合对象存储设备的高速缓存架构和算法 |
CN105204785A (zh) * | 2015-10-15 | 2015-12-30 | 中国科学技术大学 | 一种基于磁盘i/o队列的磁盘阵列写方式选择方法 |
CN106909312A (zh) * | 2015-12-23 | 2017-06-30 | 伊姆西公司 | 用于控制从存储系统读取数据的方法和装置 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111506254A (zh) * | 2019-01-31 | 2020-08-07 | 阿里巴巴集团控股有限公司 | 分布式存储系统及其管理方法、装置 |
CN111506254B (zh) * | 2019-01-31 | 2023-04-14 | 阿里巴巴集团控股有限公司 | 分布式存储系统及其管理方法、装置 |
CN111737298A (zh) * | 2020-06-19 | 2020-10-02 | 中国工商银行股份有限公司 | 基于分布式存储的缓存数据管控方法及装置 |
CN111737298B (zh) * | 2020-06-19 | 2024-04-26 | 中国工商银行股份有限公司 | 基于分布式存储的缓存数据管控方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN108628551B (zh) | 2021-06-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11221975B2 (en) | Management of shared resources in a software-defined storage environment | |
US10534542B2 (en) | Dynamic core allocation for consistent performance in a non-preemptive scheduling environment | |
US10078533B2 (en) | Coordinated admission control for network-accessible block storage | |
EP2758877B1 (en) | Bandwidth throttling of virtual disks | |
EP3132355B1 (en) | Fine-grained bandwidth provisioning in a memory controller | |
Koller et al. | Centaur: Host-side ssd caching for storage performance control | |
US10250673B1 (en) | Storage workload management using redirected messages | |
US11662910B2 (en) | Workload and interface cognizant heat-tiered storage | |
Gill et al. | Dynamic cost-aware re-replication and rebalancing strategy in cloud system | |
CN111737168A (zh) | 一种缓存系统、缓存处理方法、装置、设备及介质 | |
CN115543938A (zh) | 数据处理方法、装置、电子设备及存储介质 | |
Hsieh et al. | The incremental load balance cloud algorithm by using dynamic data deployment | |
CN108628551A (zh) | 一种数据处理方法及装置 | |
CN110018879A (zh) | 应用于分布式系统的延迟加载方法及装置 | |
US10587527B1 (en) | Systems and methods for apportioning bandwidth in storage systems | |
US10606478B2 (en) | High performance hadoop with new generation instances | |
Fazul et al. | Automation and prioritization of replica balancing in HDFS | |
CN109840051A (zh) | 一种存储系统的数据存储方法及装置 | |
CN116820324A (zh) | 存储扩容方法及装置、存储介质和电子设备 | |
CN116932156A (zh) | 一种任务处理方法、装置及系统 | |
CN109032965B (zh) | 一种数据读取方法、主机及存储设备 | |
CN114968073A (zh) | 数据预取的方法、设备及系统 | |
CN114760327B (zh) | 云盘资源配置的调整方法及装置 | |
US10721181B1 (en) | Network locality-based throttling for automated resource migration | |
US12014061B2 (en) | Capacity and performance optimization in non-homogeneous storage |
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 |