CN103631640B - 一种数据访问请求响应方法及装置 - Google Patents
一种数据访问请求响应方法及装置 Download PDFInfo
- Publication number
- CN103631640B CN103631640B CN201310554346.1A CN201310554346A CN103631640B CN 103631640 B CN103631640 B CN 103631640B CN 201310554346 A CN201310554346 A CN 201310554346A CN 103631640 B CN103631640 B CN 103631640B
- Authority
- CN
- China
- Prior art keywords
- data
- virtual machine
- request
- access request
- data access
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 46
- 230000004044 response Effects 0.000 title claims abstract description 40
- 230000001960 triggered effect Effects 0.000 claims description 11
- 239000007787 solid Substances 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
Landscapes
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本发明实施例提供了一种数据访问请求响应方法及装置,在虚拟化系统中,第一虚拟机挂载服务器的缓冲存储装置,第一虚拟机接收第二虚拟机发出的数据访问请求,并对所述数据访问请求进行响应,第一虚拟机挂载服务器的缓冲存储装置,并用于响应第一虚拟机数据访问请求,为第一虚拟机提供了充分的计算资源处理虚拟机的数据访问请求。
Description
技术领域
本发明涉及通信领域,尤其涉及一种数据访问请求处理方法及装置。
背景技术
使用高速缓冲存储器(Cache)来缓解处理器和主存储器间处理速度不匹配的矛盾,在虚拟化的场景下,Cache驱动通常设置在虚拟机监视器(Virtual Machine Monitor)中,因为虚拟机监视器负责各个虚拟机的管理,虚拟机监视器将运行虚拟机的服务器中的缓冲存储器资源配置给虚拟机监视器管理的虚拟机,从而实现服务器缓冲存储器资源的虚拟机。虚拟机监视器将服务器缓冲存储器资源分配给虚拟机会消耗服务器的计算资源,从而导致没有充分的计算资源处理虚拟机的数据访问请求。
发明内容
有鉴于此,本发明实施例提供了一种数据访问请求响应方法及装置,目的在于解决现有的虚拟化场景下,没有充分的计算资源处理虚拟机的数据访问请求问题。
本发明实施例的第一方面提供了一种数据访问请求响应方法,所述方法应用于虚拟化系统,所述虚拟化系统包括服务器和外部存储装置,所述服务器上运行至少两台虚拟机,所述服务器包括缓冲存储装置,用于缓存运行在所述服务器上的虚拟机访问所述外部存储装置时的数据访问请求,其中,第一虚拟机挂载所述缓冲存储装置;所述方法包括:
所述第一虚拟机接收第二虚拟机的数据访问请求,所述数据访问请求用于所述第二虚拟机向所述外部存储装置进行数据访问;
所述第一虚拟机响应所述第二虚拟机的数据访问请求。
在本发明实施例的第一方面的第一种实现方式中,当所述数据访问请求为数据读取请求时,所述第一虚拟机响应所述第二虚拟机的数据访问请求,具体包括:
当所述数据读取请求在所述缓冲存储装置中命中读取请求的数据时,所述第一虚拟机将所述读取请求的数据发送给所述第二虚拟机。
在本发明实施例的第一方面的第二种实现方式中,当所述数据访问请求为数据读取请求时,所述第一虚拟机响应所述第二虚拟机的数据访问请求,包括:
当所述数据读取请求在所述缓冲存储装置中没有命中读取请求的数据时,所述第一虚拟机从所述缓冲存储装置中查询是否存在第一数据写入请求,所述第一数据写入请求写入的地址与所述数据访问请求读取的地址相同;
如果存在所述第一数据写入请求,所述第一虚拟机将所述第一数据写入请求写入的数据发送给所述第二虚拟机,其中,所述写入的地址是指写入所述外部存储装置的地址;
如果不存在所述第一数据写入请求,所述第一虚拟机从所述外部存储装置读取所述数据访问请求读取的数据并且将从所述外部存储装置读取的数据返回给所述第二虚拟机。
在本发明实施例的第一方面的第三种实现方式中,如果所述第一数据写入请求存在多个,则所述第一虚拟机将所述第一数据写入请求写入的数据发送给所述第二虚拟机包括:
根据接收到所述第一数据写入请求的时间,向所述第二虚拟机发送最晚接收到的第一数据写入请求写入的数据。
在本发明实施例的第一方面的第四种实现方式中,当所述数据访问请求为数据写入请求时,所述第一虚拟机响应所述第二虚拟机的数据访问请求,具体包括:
所述第一虚拟机将所述数据访问请求写入的数据缓存至所述缓冲存储装置;
所述第一虚拟机向所述第二虚拟机返回第一数据写入响应;所述第一数据写入响应用于指示完成所述数据访问请求触发的操作;
或者,
所述第一虚拟机将所述数据访问请求写入的数据写入所述外部存储装置;
所述第一虚拟机向所述第二虚拟机返回第二数据写入响应;所述第二数据写入响应用于指示完成所述数据访问请求触发的操作。
在本发明实施例的第一方面的第五种实现方式中,在所述第一虚拟机将所述数据访问请求写入的数据写入所述外部存储装置之前,还包括:
所述第一虚拟机查询所述缓冲存储装置中是否存在第二数据写入请求,所述第二数据写入请求写入的地址与所述数据访问请求写入的地址相同,且接收到所述第二数据写入请求的时间早于接收到所述数据访问请求的时间,并且接收到所述第二数据请求和所述数据访问请求之间的时间范围内不存在对所述数据访问请求写入的地址的数据读取请求;
如果存在所述第二数据写入请求,则将所述第二数据写入请求从所述缓冲存储装置中删除。
在本发明实施例的第一方面的第六种实现方式中,所述缓冲存储装置为固态硬盘或者PCIe闪存卡。
本发明实施例的第二方面提供了一种服务器,所述服务器上包括缓冲存储单元和虚拟机运行单元,所述虚拟机运行单元至少运行两台虚拟机,并且第一虚拟机挂载所述缓冲存储单元,所述虚拟机运行单元中的所述第一虚拟机接收第二虚拟机的数据访问请求,所述数据访问请求用于所述第二虚拟机向所述外部存储装置进行数据访问;所述第一虚拟机响应所述第二虚拟机的数据访问请求。
在本发明实施例的第二方面的第一种实现方式中,当所述数据访问请求为数据读取请求时,所述第一虚拟机响应所述第二虚拟机的数据访问请求,具体包括:
当所述数据读取请求在所述缓冲存储单元中命中读取请求的数据时,所述第一虚拟机将所述读取请求的数据发送给所述第二虚拟机。
在本发明实施例的第二方面的第二种实现方式中,当所述数据访问请求为数据读取请求时,所述第一虚拟机响应所述第二虚拟机的数据访问请求,具体包括:
当所述数据读取请求在所述缓冲存储单元中没有命中读取请求的数据时,所述第一虚拟机从所述缓冲存储单元中查询是否存在第一数据写入请求,所述第一数据写入请求写入的地址与所述数据访问请求读取的地址相同;
如果存在所述第一数据写入请求,所述第一虚拟机将所述第一数据写入请求写入的数据发送给所述第二虚拟机,其中,所述写入的地址是指写入所述外部存储装置的地址;
如果不存在所述第一数据写入请求,所述第一虚拟机从所述外部存储装置读取所述数据访问请求读取的数据并且将从所述外部存储装置读取的数据返回给所述第二虚拟机。
在本发明实施例的第二方面的第三种实现方式中,如果第一数据写入请求存在多个,则所述第一虚拟机将所述第一数据写入请求写入的数据发送给所述第二虚拟机包括:
根据接收到所述第一数据写入请求的时间,向所述第二虚拟机发送最晚接收到的第一数据写入请求写入的数据。
在本发明实施例的第二方面的第四种实现方式中,当所述数据访问请求为数据写入请求时,所述第一虚拟机响应所述第二虚拟机的数据访问请求,具体包括:
所述第一虚拟机将所述数据访问请求写入的数据缓存至所述缓冲存储单元;
所述第一虚拟机向所述第二虚拟机返回第一数据写入响应;所述第一数据写入响应用于指示完成所述数据访问请求触发的操作;
或者,
所述第一虚拟机将所述数据访问请求写入的数据写入所述外部存储装置;
所述第一虚拟机向所述第二虚拟机返回第二数据写入响应;所述第二数据写入响应用于指示完成所述数据访问请求触发的操作。
在本发明实施例的第二方面的第五种实现方式中,在所述第一虚拟机将所述数据访问请求写入的数据写入所述外部存储装置之前,还包括:
所述第一虚拟机查询所述缓冲存储单元中是否存在第二数据写入请求,所述第二数据写入请求写入的地址与所述数据访问请求写入的地址相同,且接收到所述第二数据写入请求的时间早于接收到所述数据访问请求的时间,并且接收到所述第二数据请求和所述数据访问请求之间的时间范围内不存在对所述数据访问请求写入的地址的数据读取请求;
如果存在所述第二数据写入请求,则将所述第二数据写入请求从所述缓冲存储单元中删除。
本发明实施例提供的数据访问请求响应方法及装置,在虚拟化系统中,第一虚拟机挂载服务器的缓冲存储装置,第一虚拟机接收第二虚拟机发出的数据访问请求,并对所述数据访问请求进行响应,第一虚拟机挂载服务器的缓冲存储装置,并用于响应第一虚拟机数据访问请求,为第一虚拟机提供了充分的计算资源处理虚拟机的数据访问请求。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为一种虚拟化场景的示意图;
图2为本发明实施例公开的一种数据访问请求方法的流程图;
图3为本发明实施例公开的又一种数据访问请求方法的流程图;
图4为本发明实施例公开的又一种数据访问请求方法的流程图;
图5为本发明实施例公开的又一种数据访问请求方法的流程图;
图6为本发明实施例公开的一种服务器的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明的实施例可以应用于虚拟化系统,如图1所示,所述虚拟化系统包括服务器和外部存储装置,所述服务器上运行至少两台虚拟机,所述服务器包括缓冲存储装置(例如Cache),可选地,所述缓冲存储装置可以为固态硬盘或者PCIe闪存卡,其中,第一虚拟机挂载所述服务器的缓冲存储装置。外部存储装置可以为存储阵列,具体可以为存储区域网络SAN或者网络附加存储NAS等,本发明实施例对此不作具体限定。
实际中,可以有多个第二虚拟机。通常,第一虚拟机和第二虚拟机的计算资源可以为所述服务器的现有计算资源,各个虚拟机的计算资源和存储资源的大小可以在配置虚拟机时进行配置,也可以在虚拟机配置好后进行调整。
如图2所示,本发明实施例公开的一种数据访问请求响应方法包括:
S201:第一虚拟机接收第二虚拟机的数据访问请求,所述数据访问请求用于所述第二虚拟机向所述外部存储装置进行数据访问;
S202:所述第一虚拟机响应所述第二虚拟机的数据访问请求。
而本实施例所述的数据访问请求响应方法,由第一虚拟机接收第二虚拟机发出的数据访问请求并对所述数据访问请求进行响应,因而,由挂载服务器缓冲存储装置的第一虚拟机对第二虚拟机发出的数据访问请求进行响应,为处理虚拟机数据访问请求的第一虚拟机提供了充分的计算资源。
并且,本实施例中,因为第一虚拟机挂载所述缓冲存储装置,所以,第一虚拟机可以对缓冲存储装置的存储空间进行统一管理,而不必再为各个第二虚拟机分配固定的缓冲存储空间,从而实现缓冲存储空间的动态使用,提升缓冲存储装置的利用率。
进一步地,本实施例所述的方法,为了解决对数据访问请求的响应速度不高的问题,没有采用重新分配服务器的计算资源的方法,而是特定虚拟机响应数据访问请求,即,原来将通过虚拟机监视器将服务器的缓冲存储资源虚拟化为每台虚拟机分配缓冲存储资源,本发明实施例中,将服务器缓冲存储资源分配给特定一台虚拟机(即第一虚拟机),由该特定虚拟机处理服务器上运行的虚拟机的数据访问请求,为该特定虚拟机提供了充分的计算资源,提高了数据访问请求的处理能力。
本发明实施例公开的又一种数据访问请求响应方法,如图3所示,包括:
S301:第一虚拟机接收第二虚拟机发出的数据访问请求,本实施例中,数据访问请求为数据读取请求;
本实施例中,数据访问请求可以由缓冲存储装置的驱动进行转发。
S302:所述第一虚拟机查询数据读取请求在所述缓冲存储装置(Cache)中是否命中,如果是,执行S303,如果否,执行S304;
第一数据读取请求读取的地址与所述数据访问请求读取的地址相同。
S303:当数据读取请求在所述缓冲存储装置中命中读取请求的数据时,所述第一虚拟机将所述读取请求读取的数据发送给所述第二虚拟机;
S304:当数据读取请求在所述缓冲存储装置中没有命中读取请求的数据时,所述第一虚拟机从所述缓冲存储装置中查询是否存在第一数据写入请求,如果是,执行S305,如果否,执行S306;
所述第一数据写入请求写入的地址与所述数据访问请求读取的地址相同。其中,所述写入的地址是指写入所述外部存储装置的地址。
S305:如果Cache中缓存第一数据写入请求,所述第一虚拟机从Cache中读取所述第一数据写入请求写入的数据,并将所述第一数据写入请求写入的数据发送给第二虚拟机;
如果第一数据写入请求存在多个,则根据所述第一数据写入请求的时间,向所述第二虚拟机发送最晚接收到的第一数据写入请求写入的数据,具体地,可以依据第一数据写入请求的时间戳,返回时间戳最晚的数据写入请求写入的数据。
S306:如果Cache中没有缓存第一数据写入请求,所述第一虚拟机从所述外部存储装置读取所述数据访问请求读取的数据并且将从所述外部存储装置读取所述数据访问请求读取的数据返回给所述第二虚拟机。
本实施例中,第一虚拟机可以将数据读取请求读取的数据发送给Cache的驱动,由Cache的驱动将其转发给第二虚拟机。
本实施例所述的数据访问请求响应方法,由第一虚拟机在Cache中查询数据读取请求是否命中,因此使得有充分的计算资源的第一虚拟机处理数据读取请求,能够提高查询速度,从而提升对数据读取请求的响应速度。
在Cache不命中的情况下,将写入地址与数据访问请求读取的地址相同的数据写入请求写入的数据发给第二虚拟机,所以,在Cache不命中的情况下,也无需访问外部存储装置,使得有充分的计算资源的第一虚拟机处理数据读取请求,从而能够提高数据读取请求的性能。并且,本实施例所述的方法,无需等待将数据写入后再进行数据读取操作,所以能够减小数据读取操作的时延。
本发明实施例公开的又一种数据访问请求响应方法,如图4所示,包括:
S401:第一虚拟机接收第二虚拟机发出的数据访问请求,所述数据访问请求为数据写入请求;
S402:所述第一虚拟机将所述数据访问请求写入的数据缓存至所述缓冲存储装置;
S403:所述第一虚拟机向所述第二虚拟机返回第一数据写入响应,所述第一数据写入响应用于指示完成所述数据访问请求触发的操作。
本实施例所述的方法,第一虚拟机将第二虚拟机请求写入的数据写入Cache后即可返回响应,指示完成写入过程,使得有充分的计算资源的第一虚拟机处理数据写入请求,能够缩短写操作的响应时间。
本发明实施例公开的又一种数据访问请求响应方法,如图5所示,包括:
S501:第一虚拟机接收第二虚拟机发出的数据访问请求,所述数据访问请求为数据写入请求;
S502:所述第一虚拟机查询所述缓冲存储装置中是否存在第二数据写入请求;
本实施例中,第二数据请求满足以下限定:所述第二数据写入请求写入的地址与所述数据访问请求写入的地址相同,且所述第二数据写入请求的第一时间戳早于所述数据访问请求的第二时间戳,以及,所述第一时间戳和所述第二时间戳间隔的时间范围内不存在数据读取请求。
S503:如果存在所述第二数据写入请求,则将所述第二数据写入请求从Cache中删除;
S504:依据Cache中缓存的数据写入请求,将Cache中剩余数据写入请求写入的数据写入外部存储装置。
本实施例所述的方法,在响应数据写入请求时,第一虚拟机先确定Cache中是否存在无用的写请求,如果是,删除无用的写请求,所以,在向外部存储装置写数据时,能够减少写的次数,从而提升磁盘写的性能。
本发明实施例还公开了一种服务器,如图6所示,所述服务器上包括缓冲存储单元601和虚拟机运行单元602,所述虚拟机运行单元至少运行两台虚拟机,并且第一虚拟机挂载所述缓冲存储单元,所述虚拟机运行单元中的第一虚拟机接收第二虚拟机数据访问请求,所述数据访问请求用于所述第二虚拟机向所述外部存储装置进行数据访问,所述第一虚拟机响应所述第二虚拟机的数据访问请求。
可选地,当所述数据访问请求为数据读取请求时,所述第一虚拟机响应所述第二虚拟机的数据访问请求,具体包括:当所述数据读取请求在所述缓冲存储单元中命中读取请求的数据时,所述第一虚拟机将所述读取请求的数据发送给所述第二虚拟机。
可选地,当所述数据访问请求为数据读取请求时,所述第一虚拟机响应所述第二虚拟机的数据访问请求,具体包括:
当所述数据读取请求在所述缓冲存储单元中没有命中读取请求的数据时,所述第一虚拟机从所述缓冲存储单元中查询是否存在第一数据写入请求,所述第一数据写入请求写入的地址与所述数据访问请求读取的地址相同;
如果存在所述第一数据写入请求,所述第一虚拟机将所述第一数据写入请求写入的数据发送给所述第二虚拟机,其中,所述写入的地址是指写入所述外部存储装置的地址;
如果不存在所述第一数据写入请求,所述第一虚拟机从所述外部存储装置读取所述数据访问请求读取的数据并且将从所述外部存储装置读取的数据返回给所述第二虚拟机。
可选地,如果第一数据写入请求存在多个,则所述第一虚拟机将所述第一数据写入请求写入的数据发送给所述第二虚拟机包括:
根据接收到所述第一数据写入请求的时间,向所述第二虚拟机发送最晚接收到的第一数据写入请求写入的数据。
可选地,当所述数据访问请求为数据写入请求时,所述第一虚拟机响应所述第二虚拟机的数据访问请求,具体包括:
所述第一虚拟机将所述数据访问请求写入的数据缓存至所述缓冲存储单元;
所述第一虚拟机向所述第二虚拟机返回第一数据写入响应;所述第一数据写入响应用于指示完成所述数据访问请求触发的操作;
或者,
所述第一虚拟机将所述数据访问请求写入的数据写入所述外部存储装置;
所述第一虚拟机向所述第二虚拟机返回第二数据写入响应;所述第二数据写入响应用于指示完成所述数据访问请求触发的操作。
可选地,在所述第一虚拟机将所述数据访问请求写入的数据写入所述外部存储装置之前,还包括:
所述第一虚拟机查询所述缓冲存储单元中是否存在第二数据写入请求,所述第二数据写入请求写入的地址与所述数据访问请求写入的地址相同,且接收到所述第二数据写入请求的时间早于接收到所述数据访问请求的时间,并且接收到所述第二数据请求和所述数据访问请求之间的时间范围内不存在对所述数据访问请求写入的地址的数据读取请求;
如果存在所述第二数据写入请求,则将所述第二数据写入请求从所述缓冲存储单元中删除。
本实施例所述的服务器,在运行虚拟机时,由第一虚拟机响应数据访问请求,使得第一虚拟机有充分的计算资源处理数据读取请求,能够提升对数据访问请求的响应速度。
本实施例方法所述的功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算设备可读取存储介质中。基于这样的理解,本发明实施例对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该软件产品存储在一个存储介质中,包括若干指令用以使得一台计算设备(可以是个人计算机,服务器,移动计算设备或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (9)
1.一种数据访问请求响应方法,其特征在于,所述方法应用于虚拟化系统,所述虚拟化系统包括服务器和外部存储装置,所述服务器上运行至少两台虚拟机,所述服务器包括缓冲存储装置,用于缓存运行在所述服务器上的虚拟机访问所述外部存储装置时的数据访问请求,其中,第一虚拟机挂载所述缓冲存储装置;所述方法包括:
所述第一虚拟机接收第二虚拟机的数据访问请求,所述数据访问请求用于所述第二虚拟机向所述外部存储装置进行数据访问;
所述第一虚拟机响应所述第二虚拟机的数据访问请求;
其中,当所述数据访问请求为数据读取请求时,所述第一虚拟机响应所述第二虚拟机的数据访问请求,具体包括:
当所述数据读取请求在所述缓冲存储装置中命中读取请求的数据时,所述第一虚拟机将所述读取请求的数据发送给所述第二虚拟机;
当所述数据读取请求在所述缓冲存储装置中没有命中读取请求的数据时,所述第一虚拟机从所述缓冲存储装置中查询是否存在第一数据写入请求,所述第一数据写入请求写入的地址与所述数据访问请求读取的地址相同;
如果存在所述第一数据写入请求,所述第一虚拟机将所述第一数据写入请求写入的数据发送给所述第二虚拟机,其中,所述写入的地址是指写入所述外部存储装置的地址;
如果不存在所述第一数据写入请求,所述第一虚拟机从所述外部存储装置读取所述数据访问请求读取的数据并且将从所述外部存储装置读取的数据返回给所述第二虚拟机。
2.如权利要求1所述的方法,其特征在于,如果所述第一数据写入请求存在多个,则所述第一虚拟机将所述第一数据写入请求写入的数据发送给所述第二虚拟机包括:
根据接收到所述第一数据写入请求的时间,向所述第二虚拟机发送最晚接收到的第一数据写入请求写入的数据。
3.根据权利要求1所述的方法,其特征在于,当所述数据访问请求为数据写入请求时,所述第一虚拟机响应所述第二虚拟机的数据访问请求,具体包括:
所述第一虚拟机将所述数据访问请求写入的数据缓存至所述缓冲存储装置;
所述第一虚拟机向所述第二虚拟机返回第一数据写入响应;所述第一数据写入响应用于指示完成所述数据访问请求触发的操作;
或者,
所述第一虚拟机将所述数据访问请求写入的数据写入所述外部存储装置;
所述第一虚拟机向所述第二虚拟机返回第二数据写入响应;所述第二数据写入响应用于指示完成所述数据访问请求触发的操作。
4.根据权利要求3所述的方法,其特征在于,在所述第一虚拟机将所述数据访问请求写入的数据写入所述外部存储装置之前,还包括:
所述第一虚拟机查询所述缓冲存储装置中是否存在第二数据写入请求,所述第二数据写入请求写入的地址与所述数据访问请求写入的地址相同,且接收到所述第二数据写入请求的时间早于接收到所述数据访问请求的时间,并且接收到所述第二数据请求和所述数据访问请求之间的时间范围内不存在对所述数据访问请求写入的地址的数据读取请求;
如果存在所述第二数据写入请求,则将所述第二数据写入请求从所述缓冲存储装置中删除。
5.根据权利要求1至4任一所述的方法,其特征在于,所述缓冲存储装置为固态硬盘或者PCIe闪存卡。
6.一种服务器,其特征在于,所述服务器上包括缓冲存储单元和虚拟机运行单元,所述虚拟机运行单元至少运行两台虚拟机,并且第一虚拟机挂载所述缓冲存储单元,所述虚拟机运行单元中的所述第一虚拟机接收第二虚拟机的数据访问请求,所述数据访问请求用于所述第二虚拟机向外部存储装置进行数据访问;所述第一虚拟机响应所述第二虚拟机的数据访问请求;
其中,当所述数据访问请求为数据读取请求时,所述第一虚拟机响应所述第二虚拟机的数据访问请求,具体包括:
当所述数据读取请求在所述缓冲存储单元中命中读取请求的数据时,所述第一虚拟机将所述读取请求的数据发送给所述第二虚拟机;
当所述数据读取请求在所述缓冲存储单元中没有命中读取请求的数据时,所述第一虚拟机从所述缓冲存储单元中查询是否存在第一数据写入请求,所述第一数据写入请求写入的地址与所述数据访问请求读取的地址相同;
如果存在所述第一数据写入请求,所述第一虚拟机将所述第一数据写入请求写入的数据发送给所述第二虚拟机,其中,所述写入的地址是指写入所述外部存储装置的地址;
如果不存在所述第一数据写入请求,所述第一虚拟机从所述外部存储装置读取所述数据访问请求读取的数据并且将从所述外部存储装置读取的数据返回给所述第二虚拟机。
7.根据权利要求6所述的服务器,其特征在于,如果第一数据写入请求存在多个,则所述第一虚拟机将所述第一数据写入请求写入的数据发送给所述第二虚拟机包括:
根据接收到所述第一数据写入请求的时间,向所述第二虚拟机发送最晚接收到的第一数据写入请求写入的数据。
8.根据权利要求6所述的服务器,其特征在于,当所述数据访问请求为数据写入请求时,所述第一虚拟机响应所述第二虚拟机的数据访问请求,具体包括:
所述第一虚拟机将所述数据访问请求写入的数据缓存至所述缓冲存储单元;
所述第一虚拟机向所述第二虚拟机返回第一数据写入响应;所述第一数据写入响应用于指示完成所述数据访问请求触发的操作;
或者,
所述第一虚拟机将所述数据访问请求写入的数据写入所述外部存储装置;
所述第一虚拟机向所述第二虚拟机返回第二数据写入响应;所述第二数据写入响应用于指示完成所述数据访问请求触发的操作。
9.根据权利要求8所述的服务器,其特征在于,在所述第一虚拟机将所述数据访问请求写入的数据写入所述外部存储装置之前,还包括:
所述第一虚拟机查询所述缓冲存储单元中是否存在第二数据写入请求,所述第二数据写入请求写入的地址与所述数据访问请求写入的地址相同,且接收到所述第二数据写入请求的时间早于接收到所述数据访问请求的时间,并且接收到所述第二数据请求和所述数据访问请求之间的时间范围内不存在对所述数据访问请求写入的地址的数据读取请求;
如果存在所述第二数据写入请求,则将所述第二数据写入请求从所述缓冲存储单元中删除。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310554346.1A CN103631640B (zh) | 2013-11-08 | 2013-11-08 | 一种数据访问请求响应方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310554346.1A CN103631640B (zh) | 2013-11-08 | 2013-11-08 | 一种数据访问请求响应方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103631640A CN103631640A (zh) | 2014-03-12 |
CN103631640B true CN103631640B (zh) | 2017-06-09 |
Family
ID=50212733
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310554346.1A Active CN103631640B (zh) | 2013-11-08 | 2013-11-08 | 一种数据访问请求响应方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103631640B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104571960B (zh) * | 2014-12-30 | 2018-01-16 | 华为技术有限公司 | Io请求分发装置及方法、主机、存储阵列和计算机系统 |
CN112799790B (zh) * | 2021-04-15 | 2022-03-11 | 北京首都在线科技股份有限公司 | 调度方法、装置、电子设备和计算机存储介质 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102047237A (zh) * | 2008-05-28 | 2011-05-04 | 惠普开发有限公司 | 在虚拟机之间提供对象级输入/输出请求以存取存储子系统 |
-
2013
- 2013-11-08 CN CN201310554346.1A patent/CN103631640B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102047237A (zh) * | 2008-05-28 | 2011-05-04 | 惠普开发有限公司 | 在虚拟机之间提供对象级输入/输出请求以存取存储子系统 |
Also Published As
Publication number | Publication date |
---|---|
CN103631640A (zh) | 2014-03-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11531625B2 (en) | Memory management method and apparatus | |
CN107526546B (zh) | 一种Spark分布式计算数据处理方法及系统 | |
US11397690B2 (en) | Virtualized cache implementation method and physical machine | |
CN105740164B (zh) | 支持缓存一致性的多核处理器、读写方法、装置及设备 | |
US9229751B2 (en) | Apparatus and method for managing virtual memory | |
US11093410B2 (en) | Cache management method, storage system and computer program product | |
EP2857952A1 (en) | Method for processing input/output request, host, server, and virtual machine | |
CN105518631B (zh) | 内存管理方法、装置和系统、以及片上网络 | |
US20190037043A1 (en) | Data Prefetching Method and Apparatus | |
CN112214420A (zh) | 数据缓存方法、存储控制装置、及存储设备 | |
CN110187832B (zh) | 一种数据操作的方法、设备和系统 | |
EP3115904B1 (en) | Method for managing a distributed cache | |
WO2022050998A1 (en) | Pooled memory controller for thin-provisioning disaggregated memory | |
EP4439312A1 (en) | Data storage method and system, storage access configuration method and related device | |
EP4369191A1 (en) | Memory scanning method and apparatus | |
EP3249539B1 (en) | Method and device for accessing data visitor directory in multi-core system | |
KR102680596B1 (ko) | 캐시 엔트리 전송을 위한 캐시 위치 정보를 저장하기 위한 시스템 및 방법 | |
CN103631640B (zh) | 一种数据访问请求响应方法及装置 | |
WO2016201998A1 (zh) | 一种缓存分配、数据访问、数据发送方法、处理器及系统 | |
CN115904795A (zh) | 存储系统中的数据存储方法及装置 | |
CN107615259B (zh) | 一种数据处理方法及系统 | |
CN109408412B (zh) | 内存预取控制方法、装置及设备 | |
CN109032965B (zh) | 一种数据读取方法、主机及存储设备 | |
CN114528123A (zh) | 数据访问方法、装置、设备及计算机可读存储介质 | |
US20150177987A1 (en) | Augmenting memory capacity for key value cache |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20211228 Address after: 450046 Floor 9, building 1, Zhengshang Boya Plaza, Longzihu wisdom Island, Zhengdong New Area, Zhengzhou City, Henan Province Patentee after: xFusion Digital Technologies Co., Ltd. Address before: 518129 Bantian HUAWEI headquarters office building, Longgang District, Guangdong, Shenzhen Patentee before: HUAWEI TECHNOLOGIES Co.,Ltd. |