The embodiment of the invention provides a method and a device for processing distributed block stored IO requests. Including the processing method, the distributed block storage IO request: the client receives a IO request; the IO request to visit the data volume and carry on the data volume of the operating instructions; obtaining the data volume of at least two nodes; the at least two nodes, choose a a node, as the volume controller node; at least two available CPU to obtain the volume controller of corresponding nodes; the at least two available in CPU, select one of the CPU; the CPU sends the IO request to choose, so that the IO request is added to the CPU selection task in the queue, waiting for CPU to choose the treatment according to the IO request. The invention can improve the processing efficiency of the system.
【技术实现步骤摘要】
分布式块存储的IO请求的处理方法和装置
本专利技术涉及分布式块存储领域,尤其涉及一种分布式块存储的IO请求的处理方法和装置。
技术介绍
在并发程序设计中,如何进行共享资源的同步访问是个关键的设计问题,影响到最终系统的架构、可靠性和性能。在高性能网络服务器中,有各种同步机制,如信号量、读写锁、自旋锁,但是都严重地影响到程序的并发处理能力。因为都可以处理并发IO操作,但是当并发触发锁时,存在IO在排队但是CPU资源没有发挥到最大的情况,导致资源浪费、性能不优。例如,在并发IO发起时候,先做同步机制,如卷锁,让每个IO做排队。然后,顺序每一个IO来随机选择CPU核来处理,待CPU核处理完毕,释放下一个IO的锁来处理下一个IO。这样,在上一个IO处理完,下一个IO释放锁之前的间隔,CPU核就存在空闲情况。因此,存在资源浪费,CPU核不能发挥最大处理能力,导致性能不优。
技术实现思路
本专利技术的实施例提供了一种分布式块存储的IO请求的处理方法和装置,能够提高系统处理效率。为了实现上述目的,本专利技术采取了如下技术方案。一种分布式块存储的IO请求的处理方法,包括:接收到客户端的IO请求;所述IO请求携带待访问的数据卷以及对所述数据卷的操作指令;获取所述数据卷所在的至少两个节点;在所述至少两个节点中,选择一个节点,作为卷控制器节点;获取所述卷控制器节点对应的至少两个可用CPU;在所述至少两个可用CPU中,选择一个CPU;将所述IO请求发送给选择的所述CPU,使得所述IO请求加入到选择的所述CPU的任务队列中,等待选择的所述CPU根据所述IO请求进行处理。一种分布式块存储的 ...
【技术保护点】
一种分布式块存储的IO请求的处理方法,其特征在于,包括:接收到客户端的IO请求;所述IO请求携带待访问的数据卷以及对所述数据卷的操作指令;获取所述数据卷所在的至少两个节点;在所述至少两个节点中,选择一个节点,作为卷控制器节点;获取所述卷控制器节点对应的至少两个可用CPU;在所述至少两个可用CPU中,选择一个CPU;将所述IO请求发送给选择的所述CPU,使得所述IO请求加入到选择的所述CPU的任务队列中,等待选择的所述CPU根据所述IO请求进行处理。
【技术特征摘要】
1.一种分布式块存储的IO请求的处理方法,其特征在于,包括:接收到客户端的IO请求;所述IO请求携带待访问的数据卷以及对所述数据卷的操作指令;获取所述数据卷所在的至少两个节点;在所述至少两个节点中,选择一个节点,作为卷控制器节点;获取所述卷控制器节点对应的至少两个可用CPU;在所述至少两个可用CPU中,选择一个CPU;将所述IO请求发送给选择的所述CPU,使得所述IO请求加入到选择的所述CPU的任务队列中,等待选择的所述CPU根据所述IO请求进行处理。2.根据权利要求1所述的方法,其特征在于,所述在所述至少两个可用CPU中,选择一个CPU的步骤包括:通过HASH算法,在所述至少两个可用CPU中,选择一个CPU。3.根据权利要求2所述的方法,其特征在于,所述通过HASH算法,在所述至少两个可用CPU中,选择一个CPU的步骤包括:core_hash(volume):=volume.id%cpuset_usable其中,core_hash(volume)为选择出的所述CPU的ID;volume.id为所述数据卷的ID;%表示取模运算;cpuset_usable表示卷控制器节点对应的可用CPU的总数量。4.根据权利要求1所述的方法,其特征在于,所述在所述至少两个节点中,选择一个节点,作为卷控制器节点的步骤包括:采用租约leases算法,在所述至少两个节点中,选择一个节点,作为卷控制器节点。5.根据权利要求4所述的方法,其特征在于,所述在所述至少两个节点中,选择一个节点,作为卷控制器节点的步骤包括:...
【专利技术属性】
技术研发人员:董冠军,游峰,王劲凯,姜金瑞,
申请(专利权)人:北京华云网际科技有限公司,
类型:发明
国别省市:北京,11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。