I/o请求的处理方法和装置的制造方法_4

文档序号:9750645阅读:来源:国知局
[0084]第二分组模块12,用于根据所述系统中的逻辑单元号LUN个数和所述业务处理组中的CPU核的个数,对所述业务处理组中的CPU核进行分组,每个CPU分组包含至少一个CPU核;
[0085]建立模块13,用于建立LUN与CPU分组的映射关系;
[0086]第一确定模块14,用于当接收到应用发送的业务I/O请求时,根据所述业务I/O请求中包括的访问地址确定所述业务I/o请求要访问的目标LUN;
[0087]第二确定模块15,用于根据所述目标LUN以及LUN与CPU分组的映射关系,确定执行所述业务I/O请求的目标CPU分组;
[0088]发送模块16,用于将所述业务I/O请求发送给所述目标CPU分组执行。
[0089]本实施例的I/O请求的处理装置,可用于执行实施例一的方法,具体实现方式和技术效果类似,这里不再赘述。
[0090]本发明实施例六提供一种I/O请求的处理装置,本实施例的I/O请求的处理装置与图7所示的I/O请求的处理装置的结构相同,请参照图7,本实施例的I/O请求的处理装置在实施例五的基础上,所述第二分组模块12具体用于:
[0091 ]当所述系统中的LUN个数小于所述业务处理组中的CPU核的个数时,确定CPU分组个数为所述系统中的LUN个数,为所述业务处理组中的CPU分组分配分组标识,将所述业务处理组中的CPU核分配给所述业务处理组中的CPU分组,将所述系统中的LUN平均分配给所述业务处理组中的每个CPU分组。
[0092]所述建立模块13具体用于:记录所述业务处理组中的每个CPU分组的分组标识和LUN的标识的对应关系。
[0093]本实施例的I/O请求的处理装置,可用于执行实施例二的方法,具体实现方式和技术效果类似,这里不再赘述。
[0094]本发明实施例七提供一种I/O请求的处理装置,本实施例的I/O请求的处理装置与图7所示的I/O请求的处理装置的结构相同,请参照图7,本实施例的I/O请求的处理装置在实施例五的基础上,所述第二分组模块12具体用于:
[0095]当所述系统中的LUN个数大于所述业务处理组中的CPU核的个数时,确定CPU分组个数为所述业务处理组中的CPU核的个数,为所述业务处理组中的CPU分组分配分组标识,将所述业务处理组中的CPU核平均分配给所述业务处理组中的每个CPU分组;将所述系统中的LUN分配给所述业务处理组中的每个CPU分组。
[0096]所述建立模块13具体用于:记录所述业务处理组中的每个CPU分组的分组标识和LUN的标识的对应关系。
[0097]本实施例的I/O请求的处理装置,可用于执行实施例三的方法,具体实现方式和技术效果类似,这里不再赘述。
[0098]本发明实施例八提供一种I/O请求的处理装置,图8为本发明实施例八提供的I/O请求的处理装置的结构示意图,如图8所示,本实施例的I/O请求的处理装置在图7所示装置的基础上还包括:第三分组模块17、统计模块18、调整模块19和更新模块20。
[0099]第三分组模块17,用于根据中断的属性对所述中断处理组中的CPU核进行分组,所述中断处理组中的每个CPU分组用于对一种中断进行处理。
[0100]统计模块18,用于统计所述业务处理组中的每个CPU分组的CPU利用率以及所述中断处理组中的每个CPU分组的CPU利用率。
[0101]调整模块19,用于根据所述系统中的CPU分组的CPU利用率,对所述系统中的CPU分组包括的CPU核个数进行调整,所述系统中的CPU分组包括所述业务处理组中的CPU分组和所述中断处理组中的(PU分组。
[0102]更新模块20,用于更新所述LUN与CPU分组的映射关系。
[0103]可选的,所述调整模块19具体用于:
[0104]判断所述系统中的CPU分组的CPU利用率是否满足条件一和条件一中的任意一个,其中,所述条件一为:所述系统中的每个CHJ分组的CPU利用率均大于第一阈值,所述条件二为:所述系统中的每个CPU分组的CPU利用率均小于第二阈值,所述第二阈值小于所述第一阈值。如果所述系统中的CPU分组的CPU利用率满足所述条件一和所述条件二中的任意一个,则确定不对所述系统中的CPU分组包括的CPU核个数进行调整。如果所述系统中的CPU分组的CPU利用率不满足所述条件一和所述条件二中的任意一个,则判断所述系统的CPU分组中CPU利用率最大的CPU分组和CPU利用率最小的CPU分组的CPU利用率的差值是否大于第三阈值,所述第三阈值大于所述第二阈值,且小于所述第一阈值。
[0105]如果所述CPU利用率的差值大于所述第三阈值,则确定对所述业务处理组中的CPU分组包括的CPU核个数进行调整,将所述CPU利用率最小的CPU分组中的一个CPU核分配给所述CPU利用率最大的CPU分组。如果所述CPU利用率的差值不大于所述第三阈值,则确定不对所述业务处理组中的(PU分组包括的CPU核个数进行调整。
[0106]可选的,所述更新模块20具体用于:判断所述CPU利用率最小的CPU分组中CPU核的个数是否为零,如果所述CPU利用率最小的CPU分组中CPU核的个数为零,则删除所述CPU利用率最小的CPU分组,并更新所述CPU利用率最大的CPU分组和LUN的对应关系。如果所述CPU利用率最小的CPU分组中CPU核的个数不为零,则分别更新所述CPU利用率最大的CPU分组和LUN的对应关系,以及所述CPU利用率最小的CPU分组和LUN的对应关系。
[0107]本实施例的I/O请求的处理装置,可用于执行实施例四的方法,具体实现方式和技术效果类似,这里不再赘述。
[0108]图9为本发明实施例九提供的I/O请求的处理装置的实体结构的示意图,如图9所示,I/O请求的处理装置300包括通信接口31、处理器32、存储器33和总线34,其中,通信接口31、处理器32、存储器33通过总线34相互连接。总线34可以是外设部件互连标准(peripheral component interconnect,简称PCI)总线或扩展工业标准结构(extendedindustry standard architecture,简称EISA)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图9中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。通信接口 31用于实现数据库访问装置与其他设备(例如客户端、读写库和只读库)之间的通信。存储器33可能包含随机存取存储器(random access memory,简称RAM),也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
[0109]处理器32执行存储器33所存放的程序代码,实现实施例一至实施例四的方法。[0??0] 上述的处理器32可以是通用处理器,包括中央处理器(Central ProcessingUnit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
[0111]本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:R0M、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
[0112]最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
【主权项】
1.一种I/O请求的处理方法,其特征在于,包括: 对系统中的N个中央处理单元CPU核进行划分,将M个CPU核划分到中断处理组,所述中断处理组中的CPU核用于处理中断输入/输出1/0,将N-M个CPU核划分到业务处理组,所述业务处理组中的CPU核用于处理业务1/0,其中,M和N均为正整数,且M小于N; 根据所述系统中的逻辑单元号LUN个数和所述业务处理组中的CPU核的个数,对所述业务处理组中的CPU核进行分组,每个CPU分组包含至少一个CPU核; 建立LUN与CRJ分组的映射关系; 当接收到应用发送的业务I/O请求时,根据所述业务I/O请求中包括的访问地址确定所述业务I/O请求要访问的目标LUN; 根据所述目标LUN以及LUN与CPU分组的映射关系,确定执行所述业务I/O请求的目标CPU分组; 将所述业务I/O请求发送给所述目标CPU分组执行。2.根据权利要求1所述的方法,其特征在于,所述根据所述系统中的LUN个数和所述业务处理组中的CPU核的个数,对所述业务处理组中的CPU核进行分组,包括: 当所述系统中的LUN个数小于所述业务处理组中的CPU核的个
当前第4页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1