CN103365658A - 一种资源访问方法和计算机设备 - Google Patents
一种资源访问方法和计算机设备 Download PDFInfo
- Publication number
- CN103365658A CN103365658A CN2013102697699A CN201310269769A CN103365658A CN 103365658 A CN103365658 A CN 103365658A CN 2013102697699 A CN2013102697699 A CN 2013102697699A CN 201310269769 A CN201310269769 A CN 201310269769A CN 103365658 A CN103365658 A CN 103365658A
- Authority
- CN
- China
- Prior art keywords
- resource
- group
- core group
- kernel
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 125
- 238000013507 mapping Methods 0.000 claims abstract description 153
- 230000008569 process Effects 0.000 claims abstract description 75
- 238000002360 preparation method Methods 0.000 claims description 4
- 238000012545 processing Methods 0.000 description 28
- 238000010586 diagram Methods 0.000 description 19
- 230000006870 function Effects 0.000 description 18
- 230000006854 communication Effects 0.000 description 11
- 238000005516 engineering process Methods 0.000 description 11
- 238000004891 communication Methods 0.000 description 10
- 230000008901 benefit Effects 0.000 description 9
- 238000003860 storage Methods 0.000 description 8
- 230000007246 mechanism Effects 0.000 description 7
- 238000005457 optimization Methods 0.000 description 6
- 230000008447 perception Effects 0.000 description 6
- 238000010168 coupling process Methods 0.000 description 5
- 238000005859 coupling reaction Methods 0.000 description 5
- 230000008521 reorganization Effects 0.000 description 5
- 230000008878 coupling Effects 0.000 description 4
- 230000033001 locomotion Effects 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 230000007774 longterm Effects 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 238000010295 mobile communication Methods 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000001105 regulatory effect Effects 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 230000000712 assembly Effects 0.000 description 1
- 238000000429 assembly Methods 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000005314 correlation function Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000005484 gravity Effects 0.000 description 1
- 238000012905 input function Methods 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000010897 surface acoustic wave method Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/507—Low-level
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明实施例公开了资源访问方法和相关设备。其中,资源访问方法可包括接收第一资源访问请求;调用第一内核组中的内核处理第一资源,第一资源归属于第一资源组,第一资源为第一资源访问请求所请求访问的资源,第一内核组包括至少一个内核,第一资源组和第一内核组之间具有映射关系。本发明实施例提供技术方案有利于提高资源命中率进而提升性能。
Description
技术领域
本发明涉及计算机技术领域,具体涉及一种资源访问方法和计算机设备。
背景技术
由于受芯片功率和热效应的制约,单纯的通过提高主频来提高处理器运行速度的做法已经不再可行,因此,出现了在一个处理器中集成多个计算引擎(内核)的多核技术,例如,通常说的双核处理器,就是集成了两个内核的处理器。其中,多核技术快速发展使得个计算机的并行处理性能大幅提高,能够高性能的处理大量请求,可以取代一定规模的集群。同时,随着中央处理器(CPU,Central Processing Unit)制造工艺的提升,CPU内核的缓存容量大幅提升,能够缓存更多的数据与指令,使得数据访问的速度更好的适应CPU的处理速度,可以充分利用CPU性能。
然而,在例如数据库领域,传统数据库管理***并未适应主机多核技术的发展,未充分利用现有多核架构来提升性能。传统的数据库管理***基于客户端/服务器(C/S,Client/Server)模式,对于每个用户的访问请求,服务器端会建立相对应的用户处理会话,其中,每个用户处理会话可对应一个操作***用户态线程。其中,这些用户态线程会***作***随机调度到不同的CPU内核去执行。CPU内核会根据用户的请求去,访问整个数据库***的数据资源或程序指令。整个数据库***完全不感知多核的存在,完全依赖操作***调度。现有其它多核架构下的资源访问场景与之类似。
对现有技术的研究和实践发现,传统的应用层(如数据库管理***)通常不感知主机的处理器存在多核,处理请求依赖操作***内部调度,由主机的多核处理器分发到各个CPU内核。每个CPU内核访问资源是全局资源,高速缓存中缓存的信息在不断换进换出,资源命中率低,无法充分利用高速缓存。缓存同步效率相对较低,当缓存资源失效时,需要通知所有相关的CPU内核淘汰缓存资源。
发明内容
本发明实施例提供一种资源访问方法和计算机设备,以期提高资源命中率进而提升性能。
本发明第一方面提供一种资源访问方法,可包括:
接收第一资源访问请求;
调用第一内核组中的内核处理第一资源,其中,所述第一资源归属于第一资源组,所述第一资源为所述第一资源访问请求所请求访问的资源,所述第一内核组包括至少一个内核,其中,所述第一资源组和所述第一内核组之间具有映射关系。
结合第一方面,在第一种可能的实施方式中,所述第一资源访问请求中携带有第一资源的标识和第一会话标识;
在所述调用第一内核组中的内核处理第一资源之前,所述方法还包括:查询与所述第一会话标识所表示的第一会话具有映射关系的内核组,其中,查询到的内核组为第一内核组。
结合第一方面,在第二种可能的实施方式中,所述调用第一内核组中的内核处理第一资源,包括:若所述第一资源访问请求中携带有第一资源的标识和第一资源组的标识,且查询到与所述第一资源组的标识所表示的第一资源组具有映射关系的内核组为第一内核组,则调用所述第一内核组中的内核处理第一资源。
结合第一方面或第一方面的第一种可能的实施方式或第一方面的第二种可能的实施方式,在第三种可能的实施方式中,所述方法还包括:
接收第二资源访问请求,其中,所述第二资源访问请求中携带有第一会话标识和第二资源的标识,查询与所述第一会话标识所表示的第一会话具有映射关系的内核组为第一内核组,若所述第二资源的标识所表示的第二资源不归属于所述第一资源组,则查询与所述第二资源归属的第二资源组具有映射关系的内核组,若所述查询到的与第二资源组具有映射关系的内核组为第二内核组,调用所述第二内核组中的内核处理所述第二资源,其中,所述第二内核组包括至少一个内核。
结合第一方面的第三种可能的实施方式,在第四种可能的实施方式中,所述第一内核组中的任意一个内核均不属于第二内核组。
结合第一方面或第一方面的第一种可能的实施方式或第一方面的第二种可能的实施方式或第一方面的第三种可能的实施方式或第一方面的第四种可能的实施方式,在第五种可能的实施方式中,所述第一资源组包括至少一个表和/或至少一个表的分区。
结合第一方面或第一方面的第一种可能的实施方式或第一方面的第二种可能的实施方式或第一方面的第三种可能的实施方式或第一方面的第四种可能的实施方式或第一方面的第五种可能的实施方式,在第六种可能的实施方式中,所述第一资源组中的所有资源对应的业务类型相同,或者,所述第一资源组中的所有资源为同一个业务流程中相关联的资源。
结合第一方面或第一方面的第一种可能的实施方式或第一方面的第二种可能的实施方式或第一方面的第三种可能的实施方式或第一方面的第四种可能的实施方式或第一方面的第五种可能的实施方式或第一方面的第六种可能的实施方式,在第七种可能的实施方式中,所述方法还包括:将第一内核从所述第一内核组中剔除,和/或,在将第二内核从所述第二内核组中剔除后,将第二内核添加到所述第一内核组之中。
本发明第二方面提供一种计算机设备,可包括:
接收单元,用于接收第一资源访问请求;
调用单元,用于调用第一内核组中的内核处理第一资源,其中,所述第一资源归属于第一资源组,所述第一资源为所述第一资源访问请求所请求访问的资源,所述第一内核组包括至少一个内核,所述第一资源组和所述第一内核组之间具有映射关系。
结合第二方面,在第一种可能的实施方式中,
所述第一资源访问请求中携带有第一资源的标识和第一会话标识;
其中,所述调用单元具体用于,查询与所述第一会话标识所表示的第一会话具有映射关系的内核组,其中,查询到的内核组为第一内核组,调用所述第一内核组中的内核处理第一资源。
结合第二方面,在第二种可能的实施方式中,
所述调用单元具体用于,若所述第一资源访问请求中携带有第一资源的标识和第一资源组的标识,且查询到与所述第一资源组的标识所表示的第一资源组具有映射关系的内核组为第一内核组,则调用所述第一内核组中的内核处理第一资源。
结合第二方面或第二方面的第一种可能的实施方式或第二方面的第二种可能的实施方式,在第三种可能的实施方式中,
所述接收单元还用于,接收第二资源访问请求,其中,所述第二资源访问请求中携带有第一会话标识和第二资源的标识;
所述调用单元还用于,查询与所述第一会话标识所表示的第一会话具有映射关系的内核组为第一内核组,若所述第二资源的标识所表示的第二资源不归属于所述第一资源组,则查询与所述第二资源归属的第二资源组具有映射关系的内核组,若所述查询到的与第二资源组具有映射关系的内核组为第二内核组,调用所述第二内核组中的内核处理所述第二资源,其中,所述第二内核组包括至少一个内核。
结合第二方面或第二方面的第一种可能的实施方式或第二方面的第二种可能的实施方式或第二方面的第三种可能的实施方式,在第四种可能的实施方式中,所述计算机设备还包括:
内核管理单元,用于将第一内核从所述第一内核组中剔除,和/或,在将第二内核从所述第二内核组中剔除后,将第二内核添加到所述第一内核组之中。
本发明第三方面提供一种计算机设备,可包括:网络接口、总线和处理器,所述网络接口和所述处理器通过所述总线连接,所述处理器包含多个内核,所述多个内核被分为至少两个内核组,其中:
所述网络接口,用于接收第一资源访问请求;
所述处理器,用于调用第一内核组中的内核处理第一资源,其中,所述第一资源归属于第一资源组,所述第一资源为所述第一资源访问请求所请求访问的资源,所述第一内核组包括所述多个内核中的至少一个内核,所述第一资源组和所述第一内核组之间具有映射关系。
结合第三方面,在第一种可能的实施方式中,所述第一资源访问请求中携带有第一资源的标识和第一会话标识;其中,所述处理器具体用于,查询与所述第一会话标识所表示的第一会话具有映射关系的内核组,其中,查询到的内核组为第一内核组,调用所述第一内核组中的内核处理第一资源。
结合第三方面,在第二种可能的实施方式中,所述处理器具体用于,若所述第一资源访问请求中携带有第一资源的标识和第一资源组的标识,且查询到与所述第一资源组的标识所表示的第一资源组具有映射关系的内核组为第一内核组,则调用所述第一内核组中的内核处理第一资源。
结合第三方面或第三方面的第一种可能的实施方式或第三方面的第二种可能的实施方式,在第三种可能的实施方式中,所述处理器还用于,将第一内核从所述第一内核组中剔除,和/或,在将第二内核从所述第二内核组中剔除后,将所述第二内核添加到所述第一内核组之中。
可以看出,本发明实施例通过以上技术方案,在接收第一资源访问请求之后;调用第一内核组中的内核处理第一资源,其中,第一资源归属于第一资源组,第一资源为第一资源访问请求所请求访问的资源,第一内核组包括至少一个内核,第一资源组和第一内核组之间具有映射关系。由于对资源和内核进行分组,并且建立了资源组和内核组的映射关系,某内核组可以主要专门处理与之具有映射关系的资源组中的资源,因此,这一机制有利于提高资源访问的命中率,进而有利于提升性能。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种资源访问方法的流程示意图;
图2是本发明实施例提供的另一种资源访问方法的流程示意图;
图3-a是本发明实施例提供的资源分组的示意图;
图3-b是本发明实施例提供的内核分组的示意图;
图3-c是本发明实施例提供的资源组和内核组映射的示意图;
图3-d是本发明实施例提供的资源分组调整的示意图;
图3-e是本发明实施例提供的内核分组调整的示意图;
图3-f是本发明实施例提供的调整后的资源组和内核组映射的示意图;
图4-a是本发明实施例提供的基于普通硬件体系的资源组和内核组映射的示意图;
图4-b是本发明实施例提供的基于非均匀访存模型硬件体系的资源组和内核组映射的示意图;
图5-a是本发明实施例提供的一种计算机设备的流程示意图;
图5-b是本发明实施例提供的另一种计算机设备的示意图;
图5-c是本发明实施例提供的另一种计算机设备的示意图;
图6是本发明实施例提供的另一种计算机设备的示意图;
图7是本发明实施例提供的另一种计算机设备的示意图;
图8是本发明实施例提供的另一种计算机设备的示意图;
图9是本发明实施例提供的一种多核手机的示意图。
具体实施方式
本发明实施例提供资源访问方法和相关设备,以期提高资源命中率进而提升性能。
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
以下分别进行详细说明。
本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例例如能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法或***、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
本发明实施例方案可应用在部署有数据库***的多核服务器中,当然也可以应用在通用的多核计算机中。
本发明资源访问方法的一实施例,其中,一种资源访问方法可包括:接收第一资源访问请求;调用第一内核组中的内核处理第一资源,其中,第一资源归属于第一资源组,第一资源为第一资源访问请求所请求访问的资源,第一内核组包括至少一个内核,第一资源组和第一内核组之间具有映射关系。
参见图1,图1为本发明的一个实施例提供的一种资源访问方法的流程示意图。如图1所示,本发明的一个实施例提供的一种资源访问方法可以包括以下内容:
101、接收第一资源访问请求。
例如,服务器可接收来自客户端的第一资源访问请求,或者,某通用的计算机可来自其它计算机的第一资源访问请求。其中,资源访问请求可触发相应的资源处理流程。举例来说,资源访问请求可能是请求查询、计算和/或存储某资源,当然也可能是请求其它处理。
102、调用第一内核组中的内核处理第一资源。
其中,第一资源归属于第一资源组,第一资源为第一资源访问请求所请求访问的资源,第一内核组包括至少一个内核,第一资源组和第一内核组之间具有映射关系。
在本发明的一些实施例中,第一资源访问请求中可携带有第一资源的标识和第一会话标识(当然,第一资源访问请求中同时还可携带第一资源的标识和/或第一资源组的标识等),其中,在上述调用第一内核组中的内核处理第一资源之前,方法还包括:查询与第一会话标识所表示的第一会话具有映射关系的内核组,其中,查询到的内核组为第一内核组。例如,可以调用第一内核组中的一个或多个内核来处理第一资源。
可以理解,会话标识(如第一会话标识)可表示资源访问请求发送方和资源访问请求接收方之间建立起的某个会话(会话可能由资源访问请求发送方发送资源访问请求来触发建立,也可通过其它方式机建立),会话的类型可能是多种多样的逻辑会话,其中,各会话参与方还可记录会话对方例如一些状态信息等。会话标识可能是由多个字符组成或为其它形式。
在本发明另一些实施例中,调用第一内核组中的内核处理第一资源,具体可包括:若第一资源访问请求中携带有第一资源组的标识(当然,第一资源访问请求中同时还可携带第一资源的标识和/或会话标识等),且查询到与第一资源组的标识所表示的第一资源组具有映射关系的内核组为第一内核组,则可调用第一内核组中的内核处理第一资源。举例来说,可调用第一内核组中的一个或者多个内核来处理第一资源。
在本发明的另一些实施例中,调用第一内核组中的内核处理第一资源,具体可包括:若第一资源访问请求中携带有第一资源的标识(当然,第一资源访问请求中同时还可携带第一资源的标识和/或会话标识等),且查询到第一资源的标识所表示的第一资源归属于第一资源组,并且查询到与第一资源组具有映射关系的内核组为第一内核组,则调用第一内核组中的内核处理第一资源。例如,可调用第一内核组中的一个或多个内核来处理第一资源。
可以理解,当某内核组和某资源组之间具有映射关系,则针对该某资源组的资源访问请求主要由该某内核组负责处理。
在本发明的一些实施例中,还可将第一资源从第一资源组中剔除,和/或将第五资源添加到一资源组之中。例如可能根据用户指令将第一资源从第一资源组中剔除,和/或将第五资源添加到一资源组之中,或者,可能根据第一资源组的访问情况将第一资源从第一资源组中剔除,和/或将第五资源添加到一资源组之中。
在本发明的一些实施例中,可通过多种方式来记录资源组和内核组之间的映射关系,举例来说,可通过表来记录第一资源组和第一内核组之间的映射关系,其它情况以此类推。
在本发明的一些实施例中,可通过多种方式来记录会话和内核组之间的映射关系,例如可通过表来记录第一会话和第一内核组之间的映射关系(表中可记录第一会话的标识和第一内核组的标识等等),其它情况以此类推。
在本发明的一些实施例中,还可接收第二资源访问请求;若第二资源访问请求中携带有第一会话标识和第二资源的标识,可查询与第一会话标识所表示的第一会话具有映射关系的内核组为第一内核组,若第二资源的标识所表示的第二资源不归属于第一资源组而归属于第二资源组,则查询与第二资源组具有映射关系的内核组,若查询到的与第二资源组具有映射关系的内核组为第二内核组,则可调用第二内核组中的内核处理第二资源,其中,第二内核组可包括至少一个内核。举例来说,可调用第二内核组中的一个或多个内核来处理第二资源。
在本发明的一些实施例中,第一内核组中的任意一个内核均不属于第二内核组,其中,第二内核组为不同于第一内核组的内核组,即,不同内核组包含不同的内核,没有重叠。当然,特殊情况下第一内核组的某些内核可能同时属于第二内核组和/或其它内合租。
例如可调用第一内核组中的第一内核来处理第一资源,其中,第一内核可包括一个或多个内核。可调用第二内核组中的第二内核来处理第二资源,其中第二内核可包括一个或多个内核。
在本发明的一些实施例中,还可将第一内核从第一内核组中剔除,和/或将第二内核添加到第一内核组之中(例如,可在将第二内核从第二内核组中剔除之后,将第二内核添加到所述第一内核组之中)。例如可能根据用户指令将第一内核从第一内核组中剔除,和/或将第二内核添加到第一内核组之中,或者,可能根据第一资源组的访问情况将第一内核从第一内核组中剔除,和/或将第二内核添加到第一内核组之中,如当第一资源组的访问频率降低到某阈值时,可将第一内核从第一内核组中剔除;当第一资源组的访问频率高于某阈值时,可将第二内核添加到第一内核组之中,其它场景以此类推。
在本发明的一些实施例中,同一内核组中的所有内核可属于相同或不同非均匀访存模型节点。
在本发明的一些实施例中,还可接收第三资源访问请求;若第三资源访问请求中携带有第一会话标识和第三资源的标识,可根据第三资源的标识查询第三资源的标识所表示的第三资源所属资源组,若根据第三资源的标识查询第三资源的标识所表示的第三资源所属资源组为第三资源组,则可查询与第三资源组具有映射关系的内核组,若查询到到与第三资源组具有映射关系的内核组为第三内核组,则调用第三内核组中的内核处理第三资源,其中,第三内核组包括至少一个内核。例如,可调用第三内核组中的一个或多个内核来处理第三资源。
在本发明的一些实施例中,还可进一步接收第四资源访问请求;若第三资源访问请求中携带有第一会话标识、第四资源组的标识和第四资源的标识,其中,第四资源的标识所表示的第四资源归属于第四资源组的标识所表示的第四资源组,则可查询与第四资源组具有映射关系的内核组,其中,若查询到与第四资源组具有映射关系的内核组为第四内核组,则可调用第四内核组中的内核处理第四资源,其中,第四内核组包括至少一个内核。举例来说,可以调用第三内核组中的一个或者多个内核来处理第三资源。
在本发明的一些实施例中,可根据需要来选择不同的分组策略来对资源和内核进行分组,不同场景下的分组策略可能不尽相同。
例如,资源的分组策略可包括如下策略a1、策略a2、策略a3、策略a4和策略a5中的一种或多种的结合:a1、尽量将业务类型相同的资源划分到同一资源组中(可以理解,业务类型可能是相对概念,例如业务类型可包括通话业务和流量业务,其中,通话业务又可分为固话业务和移动通话业务,移动通话业务又可分为漫游通话业务和本地通话业务,其中,漫游通话业务又可分为省际漫游通话业务和国际漫游通话业务等,其它情况以此类推);a2、尽量将同一业务流程中强关联的资源可划分到一个资源组;a3、业务关联的热点资源尽量划分到不同的资源组;a4、数据量较大的某资源可以根据表的分区处理,拆分成多个资源组。a5、业务重组时可删除旧资源组或重新规划资源组等。
又举例来说,内核的分组策略可包括如下策略b1、策略b2和策略b3中的一种或多种的结合:b1、内核组和资源组可为一一对应的关系。b2、内核组的大小尽量适应于与该内核组具有映射关系的资源组,例如对于上层关键业务对性能要求较高的资源组,尽量与之映射内核数相对较多的内核组。b3、业务变化时,可动态调整相应内核组的内核数(举例来说,增加或者剔除相应内核组的内核),例如电信计费业务,在春节阶段通话激增,在该时间段可增大相应内核组的内核数。
在本发明的一些实施例中,第一资源组、第二资源组、第三资源组或第四资源组可包括至少一个表和/或至少一个表的分区。
在本发明的一些实施例中,第一资源组、第二资源组、第三资源组或第四资源组中的所有资源对应的业务类型相同。
在本发明的一些实施例中,第一资源组、第二资源组、第三资源组或第四资源组中的所有资源为同一个业务流程中相关联的资源。
可以看出,本实施例在接收第一资源访问请求之后;调用第一内核组中的内核处理第一资源,其中,第一资源归属于第一资源组,第一资源为第一资源访问请求所请求访问的资源,第一内核组包括至少一个内核,其中,第一资源组和第一内核组之间具有映射关系。由于对资源和内核进行分组,并且建立了资源组和内核组的映射关系,某内核组可主要专门处理与之具有映射关系的资源组中的资源,因此有利于提高资源的命中率,进而有利于提升性能。
进一步的,由于对资源也进行分组管理,因此,可根据需要将关键业务和普通业务对应的资源进行区别分组,关键业务对应的资源组可与处理能力更强的内核组进行映射,这样有利于更合理的分配和管理内核,进而有利于提升硬件层管理的协调统一性,有利于有效的提高关键业务性能,也有利于没有充分利用当前流行的多核技术,提高并行性,有利于更充分的利用例如非均匀访存模型(NUMA,Non-Uniform Memory Access)等并行体系架构。
进一步的,基于分组管理机制,使得数据库感知业务变得可能。在较大业务压力时,可动态调整业务相关的内核组中的内核数或调整资源组和内核组的映射关系,尽量保证关键业务的性能不会快速降低,如此,可使得数据库***适应性更强,业务优化能力更强。
为便于更好的理解和实施本发明实施例的上述方案,下面举例一些上述实施例方案可能涉及到的应用场景,例如划分资源组的应用场景、划分内核组的应用场景、映射资源组和内核组的场景等。
请参见图2,图2示出了本发明另一实施例提供的一种资源访问方法,可包括以下内容:
201、基于预定的资源分组策略将资源划分为多个资源组;
例如,资源的分组策略可包括如下策略a1、策略a2、策略a3、策略a4和策略a5中的一种或多种的结合:a1、尽量将业务类型相同的资源划分到同一资源组中;a2、尽量将同一业务流程中强关联的资源可划分到一个资源组;a3、业务关联的热点资源尽量划分到不同的资源组;a4、数据量较大的某资源可以根据表的分区处理,拆分成多个资源组。a5、业务重组时可删除旧资源组或重新规划资源组等。
在本发明的一些实施例中,资源组中的资源的基本单元可以是表、表分区等等。其中,每个资源组对应有唯一的资源组标识,可根据资源组标识来访问资源组中资源。
例如参见图3-a所示,假设存在业务表1、业务表2和业务表3,其中,业务表1和业务表2的关联比较强,因此可将业务表1和业务表2划分到1个资源组(资源组s1),业务表3所包含的数据量较大,对性能要求比较高,可以基于业务表3的某些字段将业务表3划分为多个表分区(图3-a以将业务表3划分为两个表分区为例),将业务表3的每个表分区分别划分到不同的资源组,其中,图3-a中举例示出将业务表3的表分区a1划分到资源组s2,将业务表3的表分区a2划分到资源组s3。
202、基于预定的内核分组策略将内核划分为多个内核组;
举例来说,内核的分组策略可包括如下策略b1、策略b2和策略b3中的一种或多种的结合:b1、内核组和资源组可为一一对应的关系。b2、内核组的大小尽量适应于与该内核组具有映射关系的资源组,例如对于上层关键业务对性能要求较高的资源组,尽量与之映射内核数相对较多的内核组。b3、业务变化时,可动态调整相应内核组的内核数(例如,增加或者剔除相应内核组的内核),例如电信计费业务,在春节阶段通话激增,在该时间段可增大相应内核组的内核数。
在本发明的一些实施例中,可通过***调用或查看***文件获取CPU的内核拓扑情况,并预定的内核分组策略在逻辑上将其划分到不同的内核组,由于是逻辑划分内核组,故而不会影响现有架构。每个内核组可以动态调整组内的内核数量。例如,对于重要业务热点数据,可以增加内核数保证相应资源组所对应内核组的业务处理性能。对于某些业务量较少的数据,可以适量减少其所对应的内核组的内核数,以便充分利用硬件资源。
其中,内核组亦可称之为虚拟框(VCR,Virtual Core Rack)。
例如图3-b所示,假设存在内核1~8,可将内核1~4划分到内核组c1,将内核5~6划分到内核组c2,将内核7~8划分到内核组c3。
203、建立资源组和内核组的映射关系。
在本发明的一些实施例中,例如可依据用户访问量确定热点资源,将不同热点资源组映射到不同内核组,进而有利于在数据库管理***这种较为底层的软件进行对业务的性能优化。例如图3-a~图3-c所示,可建立资源组s1和内核组c1的映射关系,可建立资源组s2和内核组c2的映射关系,可建立资源组s3和内核组c3的映射关系。
举例来说,假设用户对业务表3访问量增加,为增加并行性,可重新对业务表3进行分区,将业务表3划分成更多的资源组,也可调整对应的内核的划分布局来应对业务变化。
例如图3-d所示,由于业务表3访问量增加,重新对业务表3分区,将业务表3划分成更多的资源组(资源组s2~s4)。例如图3-e所示,为应对业务变化特调整了内核的划分布局,将内核3~4剔除了内核组c1,将内核3~4重新划分到了内核组c4。例如图3-f所示,可建立资源组s1和内核组c1的映射关系,可建立资源组s2和内核组c2的映射关系,可建立资源组s3和内核组c3的映射关系,可建立资源组s4和内核组c4的映射关系。
204、接收资源访问请求,其中,假设接收到的资源访问请求携带有所请求访问资源ss1的资源标识。
在本发明的一些实施例中,可根据资源访问请求携带的资源标识查询到该资源标识所表示的资源ss1所属的资源组s1,并可根据资源组s1查询到与资源组s1具有映射关系的内核组c1。
在本发明的一些实施例中,当首次接收到对应某用户或业务的资源访问请求之后(资源访问请求可能由某业务程序发出),可创建映射到某内核组的服务处理会话(类似于创建到某内核组的连接),其中,该服务处理会话对应有会话标识,该服务处理会话服务于整个用户或业务请求周期。若建立了服务处理会话和内核组的映射关系,则当资源访问请求携带会话标识时,亦可根据会话标识查询到与之具有映射关系的内核组。其中,会话标识可用于表示对应的会话。
205、调用内核组c1中的内核处理资源ss1。
在本发明的一些实施例中,由于内核组c1的内核指令执行只访问映射的资源组中的资源,因此对应缓存(cache)命中率会大幅提高;而资源组的改变只有与之映射的内核组中内核cache会受到影响,因此,内核执行效率能得到很大改善。
下面举例在两种硬件体系中实施本实施例方案的场景。
请参见图4-a,图4-a示出在普通硬件体系中实施本实施例方案,假设硬件层具有6个内核,将其划分为两个内核组,两个内核组分别与不同的资源组映射关联。
请参见图4-b,图4-b示出在NUMA硬件体系中实施本实施例方案。
其中,NUMA硬件体系中具有多个CPU模块(每个CPU模块可看做1个NUMA节点),其中,每个CPU模块由多个CPU(如4个)组成,并且具有独立的本地内存、I/O槽口等,由于其节点之间可以通过互联模块进行连接和信息交互,因此,每个CPU可以访问整个***内存。显然,访问本地内存的速度将远远高于访问远地内存(即***内其它节点的内存)的速度,为了更好地发挥***性能,需尽量减少不同CPU模块之间的信息交互。
结合本发明实施例方案可充分发挥NUMA架构优点,将内核组与NUMA节点建立映射关系,资源组与内核组之间建立了映射关系,因此资源的访问会被导向具体NUMA节点,使其尽量不访问跨NUMA节点内存,整个NUMA硬件体系的性能将得到很大的提高,可见实施例方案具有很强的应用扩展性。
可以看出,本实施例的技术方案由于对资源和内核进行分组,并且建立了资源组和内核组的映射关系,某内核组可主要专门处理与之具有映射关系的资源组中的资源,在接收到资源访问请求之后,则调用与之关联映射的内核组中的内核处理相应的资源,因此,方案有利于提高资源的命中率,进而有利于提升性能。
并且,有利于利用多核处理器的并行特性以及各CPU的cache,通过将会话与被访问资源和CPU内核映射,有利于能够提高内核cache命中率,进而极大提升每个CPU内核IO处理性能,从而提高数据库业务处理速度。不同的资源组与不同CPU内核映射,有利于减少CPU内核cache失效同步的消耗,提升CPU的并行性。
进一步的,由于对资源也进行分组管理,因此,可根据需要将关键业务和普通业务对应的资源进行区别分组,关键业务对应的资源组可与处理能力更强的内核组进行映射,这样有利于更合理的分配和管理内核,进而有利于提升硬件层管理的协调统一性,有利于有效的提高关键业务性能,也有利于没有充分利用当前的多核技术,提高并行性,有利于更充分的利用非均匀访存模型等并行体系架构。
进一步的,基于分组管理机制,使得数据库感知业务变得可能。在较大业务压力时,可动态调整业务相关的内核组中的内核数或调整资源组和内核组的映射关系,尽量保证关键业务的性能不会快速降低,如此,可使得数据库***适应性更强,业务优化能力更强。
为便于更好的实施本发明实施例的上述方案,下面还提供用于实施上述方案的相关装置。
参见图5-a,图5-a为本发明实施例提供的计算机设备500的示意图,计算机设备500可包括:接收单元510和调用单元520。
其中,接收单元510,用于接收第一资源访问请求。
例如,接收单元510可接收来自客户端的第一资源访问请求,资源访问请求可触发相应的资源处理流程。其中,资源访问请求可能是请求查询、计算和/或存储某资源,当然也可能是请求其它处理。
在本发明的一些实施例中,接收单元510可基于网卡等器件来实现。
调用单元520,用于调用第一内核组中的内核处理第一资源,第一资源归属于第一资源组,第一资源为第一资源访问请求所请求访问的资源,第一内核组包括至少一个内核,第一资源组和第一内核组之间具有映射关系。
在本发明的一些实施例中,第一资源访问请求中可携带有第一资源的标识和第一会话标识(当然,第一资源访问请求中同时还可携带第一资源的标识和/或第一资源组的标识等),调用单元520可具体用于,查询与第一会话标识所表示的第一会话具有映射关系的内核组,查询到的内核组为第一内核组,调用第一内核组中的内核处理第一资源。
在本发明的另一些实施例中,调用单元520可具体用于,若第一资源访问请求中携带有第一资源组的标识(当然,第一资源访问请求中同时还可携带第一资源的标识和/或会话标识等),且查询到与第一资源组的标识所表示的第一资源组具有映射关系的内核组为第一内核组,则可调用第一内核组中的内核处理第一资源。举例来说,可调用第一内核组中的一个或多个内核来处理第一资源。
在本发明的一些实施例中,接收单元510还可以用于,接收第二资源访问请求,其中,第二资源访问请求中携带有第一会话标识和第二资源的标识。
其中,调用单元520还可用于,查询与第一会话标识所表示的第一会话具有映射关系的内核组为第一内核组,若第二资源的标识所表示的第二资源不归属于第一资源组而归属于第二资源组,则查询与第二资源组具有映射关系的内核组,若查询到的与第二资源组具有映射关系的内核组为第二内核组,调用第二内核组中的内核处理第二资源,其中第二内核组包括至少一个内核。举例来说可调用第二内核组中的一个或多个内核来处理第二资源。
参见图5-b,在本发明的一些实施例中,计算机设备500还可包括:
内核管理单元530,用于将第一内核从第一内核组中剔除,和/或,将第二内核添加到第一内核组之中(例如,可以在将第二内核从第二内核组中剔除之后,将第二内核添加到所述第一内核组之中)。例如可能根据用户指令将第一内核从第一内核组中剔除,和/或将第二内核添加到第一内核组之中,或者可能根据第一资源组的访问情况将第一内核从第一内核组中剔除,和/或将第二内核添加到第一内核组之中,如当第一资源组的访问频率降低到某阈值时,可将第一内核从第一内核组中剔除;当第一资源组的访问频率高于某阈值时,可将第二内核添加到第一内核组之中,其它场景以此类推。
参见图5-c,在本发明的一些实施例中,计算机设备500还可包括:
资源管理单元540,用于将第一资源从第一资源组中剔除,和/或,将第五资源添加到一资源组之中。例如可能根据用户指令将第一资源从第一资源组中剔除,和/或将第五资源添加到一资源组之中,或者,可能根据第一资源组的访问情况将第一资源从第一资源组中剔除,和/或将第五资源添加到一资源组之中。
在本发明的一些实施例中,可通过多种方式来记录资源组和内核组之间的映射关系,举例来说,可通过表来记录第一资源组和第一内核组之间的映射关系,其它情况以此类推。
在本发明的一些实施例中,可通过多种方式来记录会话和内核组之间的映射关系,例如,可通过表来记录第一会话和第一内核组之间的映射关系(表中可记录第一会话的标识和第一内核组的标识等等),其它情况以此类推。
在本发明的一些实施例中,第一内核组中的任意一个内核均不属于第二内核组,其中,第二内核组为不同于第一内核组的内核组,即,不同内核组包含不同的内核,没有重叠。当然,特殊情况下第一内核组的某些内核可能同时属于第二内核组和/或其它内合租。
在本发明的一些实施例中,接收单元510还可用于,接收第三资源访问请求;
其中,调用单元520还可用于,若第三资源访问请求中携带有第一会话标识和第三资源的标识,可根据第三资源的标识查询第三资源的标识所表示的第三资源所属资源组,若根据第三资源的标识查询第三资源所属资源组为第三资源组,则可查询与第三资源组具有映射关系的内核组,若查询到到与第三资源组具有映射关系的内核组为第三内核组,则调用第三内核组中的内核处理第三资源,其中,第三内核组包括至少一个内核。例如,可调用第三内核组中的一个或多个内核来处理第三资源。
在本发明的一些实施例中,接收单元510还可用于,接收第四资源访问请求;
其中,调用单元520还可用于,若第三资源访问请求中携带有第一会话标识、第四资源组的标识和第四资源的标识,其中,第四资源的标识所表示的第四资源归属于第四资源组的标识所表示的第四资源组,则可查询与第四资源组具有映射关系的内核组,其中,若查询到与第四资源组具有映射关系的内核组为第四内核组,则可调用第四内核组中的内核处理第四资源,其中,第四内核组包括至少一个内核。举例来说,可以调用第三内核组中的一个或者多个内核来处理第三资源。
在本发明的一些实施例中,内核管理单元530和资源管理单元540可根据需要来选择不同的分组策略来对资源和内核进行分组,不同场景下的分组策略可能不尽相同。
例如资源管理单元540的资源分组策略可包括如下策略a1、策略a2、策略a3、策略a4和策略a5中的一种或多种的结合:a1、尽量将业务类型相同的资源划分到同一资源组中;a2、尽量将同一业务流程中强关联的资源可划分到一个资源组;a3、业务关联的热点资源尽量划分到不同的资源组;a4、数据量较大的某资源可以根据表的分区处理,拆分成多个资源组。a5、业务重组时可删除旧资源组或重新规划资源组等。
又举例来说,内核管理单元530的内核分组策略可包括如下策略b1、策略b2和策略b3中的一种或多种的结合:
b1、内核组和资源组可为一一对应的关系。b2、内核组的大小尽量适应于与该内核组具有映射关系的资源组,例如对于上层关键业务对性能要求较高的资源组,尽量与之映射内核数相对较多的内核组。b3、业务变化时,可动态调整相应内核组的内核数(例如,增加或者剔除相应内核组的内核),
举例来说,电信计费业务,在春节阶段通话激增,在该时间段可增大相应内核组的内核数。
在本发明的一些实施例中,第一资源组、第二资源组、第三资源组或第四资源组可包括至少一个表和/或至少一个表的分区。
在本发明的一些实施例中,第一资源组、第二资源组、第三资源组或第四资源组中的所有资源对应的业务类型相同。
在本发明的一些实施例中,第一资源组、第二资源组、第三资源组或第四资源组中的所有资源为同一个业务流程中强关联的资源。
可以理解的是,本实施例的计算机设备500的各功能模块的功能可根据上述方法实施例中的方法具体实现,其具体实现过程可以参照上述方法实施例的相关描述,此处不再赘述,另外,计算机设备500的各功能模块可以为软件实现的功能模块,在不计成本的情况下,也可以用硬件电路来实现,比如接收单元510可以为网卡、射频模块、Wi-Fi芯片等具有收发功能的硬件单元,调用单元520可以为中央处理器(Central Processing Unit,简称为CPU),或者是特定集成电路(Application Specific Integrated Circuit,简称为ASIC),或者是被配置成实施本发明实施例的调用单元的功能一个或多个集成电路。
可以看出,本实施例中计算机设备500在接收第一资源访问请求之后;调用第一内核组中的内核处理第一资源,其中,第一资源归属于第一资源组,第一资源为第一资源访问请求所请求访问的资源,第一内核组包括至少一个内核,其中,第一资源组和第一内核组之间具有对应的映射关系。由于对资源和内核进行分组,并且建立了资源组和内核组的映射关系,某内核组可主要专门处理与之具有映射关系的资源组中的资源,因此有利于提高资源的命中率,进而有利于提升性能。
进一步的,由于对资源也进行分组管理,因此,可根据需要将关键业务和普通业务对应的资源进行区别分组,关键业务对应的资源组可与处理能力更强的内核组进行映射,这样有利于更合理的分配和管理内核,进而有利于提升硬件层管理的协调统一性,有利于有效的提高关键业务性能,也有利于没有充分利用当前的多核技术,提高并行性,有利于更充分的利用非均匀访存模型等并行体系架构。
进一步的,基于分组管理机制,使得数据库感知业务变得可能。在较大业务压力时,可动态调整业务相关的内核组中的内核数或调整资源组和内核组的映射关系,尽量保证关键业务的性能不会快速降低,如此,可使得数据库***适应性更强,业务优化能力更强。
参见图6,图6为本发明实施例提供的计算机设备600的示意图,计算机设备600可包括:映射控制器610、资源管理器620、内核管理器630、线程映射器640和映射监视器650。
其中,映射控制器610可用于管理资源组与内核组的映射关系,并且根据资源访问请求查询到对应的内核组,创建映射线程。
资源管理器620,可用于根据业务的需要对已有资源进行分组,如可以组织几个表分区或是表创建资源组。并且可以动态调整。
内核管理器630可以动态划分新的内核组,并调整内核组内核数量,还可负责内核组内各内核的负载均衡。
线程映射器640,可用于建立基于内核框的线程映射,管理用户态的线程与内核态线程的映射关系,可映射内核线程,还可释放内核线程,管理操作***资源。在NUMA体系的硬件时建立内核组与NUMA节点的映射关系。
映射监视器650,用于监控各模块运行状态,并提供统计和告警等功能。
可以理解的是,本实施例的计算机设备600的各功能模块的功能可根据上述方法实施例中的方法具体实现,其具体实现过程可以参照上述方法实施例的相关描述,此处不再赘述。
图7为本发明提供的一种计算机设备的结构示意图,如图7所示,本实施例的计算机设备700包括至少一个总线701、与总线701相连的至少一个处理器702以及与总线701相连的网络接口703,处理器702包含有多个内核,且该多个内核被划分为至少两个内核组。
其中,网络接口703用于接收第一资源访问请求;处理器702用于调用第一内核组中的内核处理第一资源,其中,第一资源归属于第一资源组,第一资源为第一资源访问请求所请求访问的资源,第一内核组包括上述多个内核中的至少一个内核,第一资源组和第一内核组之间具有映射关系。
例如,处理器702可根据网络接口703接收到的来自客户端的第一资源访问请求,触发相应的资源处理流程。其中,资源访问请求可能是请求查询、计算和/或存储某资源,当然也可能是请求其它处理。
在本发明的一些实施例中,第一资源访问请求中可携带有第一资源的标识和第一会话标识(当然,第一资源访问请求中同时还可携带第一资源的标识和/或第一资源组的标识等),其中,处理器702在调用第一内核组中的内核处理第一资源之前,还可查询与第一会话标识所表示的第一会话具有映射关系的内核组,其中,查询到的内核组为第一内核组。例如,可以调用第一内核组中的一个或多个内核来处理第一资源。
在本发明另一些实施例中,处理器702调用第一内核组中的内核处理第一资源可包括:若第一资源访问请求中携带有第一资源组的标识(当然,第一资源访问请求中同时还可携带第一资源的标识和/或会话标识等),且查询到与第一资源组的标识所表示的第一资源组具有映射关系的内核组为第一内核组,则可调用第一内核组中的内核处理第一资源。举例来说,可调用第一内核组中的一个或者多个内核来处理第一资源。
处理器702可调用第一内核组中的第一内核来处理第一资源,其中,第一内核可包括一个或多个内核。可调用第二内核组中的第二内核来处理第二资源,其中第二内核可包括一个或多个内核。
在本发明的一些实施例中,处理器702还可将第一内核从第一内核组中剔除,和/或将第二内核添加到第一内核组之中(例如,可在将第二内核从第二内核组中剔除之后,将第二内核添加到所述第一内核组之中)。例如可能根据用户指令将第一内核从第一内核组中剔除,和/或将第二内核添加到第一内核组之中,或者可能根据第一资源组的访问情况将第一内核从第一内核组中剔除,和/或将第二内核添加到第一内核组之中,如当第一资源组的访问频率降低到某阈值时,可将第一内核从第一内核组中剔除;当第一资源组的访问频率高于某阈值时,可将第二内核添加到第一内核组之中,其它场景以此类推。
在本发明的一些实施例中,处理器702还可将第一资源从第一资源组中剔除,和/或将第五资源添加到一资源组之中。例如可能根据用户指令将第一资源从第一资源组中剔除,和/或将第五资源添加到一资源组之中,或者,可能根据第一资源组的访问情况将第一资源从第一资源组中剔除,和/或将第五资源添加到一资源组之中。
在本发明的一些实施例中,处理器702可通过多种方式来记录资源组和内核组之间的映射关系,例如,可通过表来记录第一资源组和第一内核组之间的映射关系,其它情况以此类推。
在本发明的一些实施例中,处理器702可通过多种方式来记录会话和内核组之间的映射关系,例如,可通过表来记录第一会话和第一内核组之间的映射关系(表中可记录第一会话的标识和第一内核组的标识等等),其它情况以此类推。
在本发明的一些实施例中,网络接口703还可接收第二资源访问请求;若第二资源访问请求中携带有第一会话标识和第二资源的标识,且处理器702查询到与第一会话标识所表示的第一会话具有映射关系的内核组为第一内核组,则确定第二资源是否归属于第一资源组,若确定出第二资源的标识所表示的第二资源不归属于第一资源组而归属于第二资源组,则查询与第二资源组具有映射关系的内核组,若查询到与第二资源组具有映射关系的内核组为第二内核组,则调用第二内核组中的内核处理第二资源,其中,第二内核组包括至少一个内核。举例来说,可调用第二内核组中的一个或多个内核来处理第二资源。
在本发明的一些实施例中,第一内核组中的任意一个内核均不属于第二内核组,其中,第二内核组为不同于第一内核组的内核组,即,不同内核组包含不同的内核,没有重叠。当然,特殊情况下第一内核组的某些内核可能同时属于第二内核组和/或其它内合租。
在本发明的一些实施例中,网络接口703还可接收第三资源访问请求;若第三资源访问请求中携带有第一会话标识和第三资源的标识,则处理器702可根据第三资源的标识查询第三资源所属资源组,若根据第三资源的标识查询第三资源的标识所表示的第三资源所属资源组为第三资源组,则可查询与第三资源组具有映射关系的内核组,若查询到到与第三资源组具有映射关系的内核组为第三内核组,则调用第三内核组中的内核处理第三资源,其中,第三内核组包括至少一个内核。例如,可调用第三内核组中的一个或多个内核来处理第三资源。
在本发明的一些实施例中,网络接口703还可接收第四资源访问请求;若第三资源访问请求中携带有第一会话标识、第四资源组的标识和第四资源的标识,其中,第四资源的标识所表示的第四资源归属于第四资源组的标识所表示的第四资源组,则处理器702可查询与第四资源组具有映射关系的内核组,其中,若查询到与第四资源组具有映射关系的内核组为第四内核组,则可调用第四内核组中的内核处理第四资源,其中,第四内核组包括至少一个内核。举例来说,可以调用第三内核组中的一个或者多个内核来处理第三资源。
在本发明的一些实施例中,处理器702可根据需要来选择不同的分组策略来对资源和内核进行分组,不同场景下的分组策略可能不尽相同。
例如,资源的分组策略可包括如下策略a1、策略a2、策略a3、策略a4和策略a5中的一种或多种的结合:a1、尽量将业务类型相同的资源划分到同一资源组中;a2、尽量将同一业务流程中强关联的资源可划分到一个资源组;a3、业务关联的热点资源尽量划分到不同的资源组;a4、数据量较大的某资源可以根据表的分区处理,拆分成多个资源组。a5、业务重组时可删除旧资源组或重新规划资源组等。
又举例来说,内核的分组策略可包括如下策略b1、策略b2和策略b3中的一种或多种的结合:b1、内核组和资源组可为一一对应的关系。b2、内核组的大小尽量适应于与该内核组具有映射关系的资源组,例如对于上层关键业务对性能要求较高的资源组,尽量与之映射内核数相对较多的内核组。b3、业务变化时,可动态调整相应内核组的内核数(例如,增加或者剔除相应内核组的内核),例如电信计费业务,在春节阶段通话激增,在该时间段可增大相应内核组的内核数。
在本发明的一些实施例中,第一资源组、第二资源组、第三资源组或第四资源组可包括至少一个表和/或至少一个表的分区。
在本发明的一些实施例中,第一资源组、第二资源组、第三资源组或第四资源组中的所有资源对应的业务类型相同。
在本发明的一些实施例中,第一资源组、第二资源组、第三资源组或第四资源组中的所有资源为同一个业务流程中强关联的资源。
可以理解的是,本实施例的计算机设备700的各功能模块的功能可根据上述方法实施例中的方法具体实现,其具体实现过程可以参照上述方法实施例的相关描述,此处不再赘述。
可以看出,本实施例在网络接口703接收到第一资源访问请求之后,处理器702调用第一内核组中的内核处理第一资源,其中,第一资源归属于第一资源组,第一资源为第一资源访问请求所请求访问的资源,第一内核组包括至少一个内核,其中,第一资源组和第一内核组之间具有对应的映射关系。由于对资源和内核进行分组,并且建立了资源组和内核组的映射关系,某内核组可主要专门处理与之具有映射关系的资源组中的资源,因此有利于提高资源的命中率,进而有利于提升性能。
进一步的,由于对资源也进行分组管理,因此,可根据需要将关键业务和普通业务对应的资源进行区别分组,关键业务对应的资源组可与处理能力更强的内核组进行映射,这样有利于更合理的分配和管理内核,进而有利于提升硬件层管理的协调统一性,有利于有效的提高关键业务性能,也有利于没有充分利用当前的多核技术,提高并行性,有利于更充分的利用非均匀访存模型等并行体系架构。
进一步的,基于分组管理机制,使得数据库感知业务变得可能。在较大业务压力时,可动态调整业务相关的内核组中的内核数或调整资源组和内核组的映射关系,尽量保证关键业务的性能不会快速降低,如此,可使得数据库***适应性更强,业务优化能力更强。
图8描述了本发明实施例提供的一种计算机设备800的结构,该计算机设备800包括:至少一个处理器801,例如CPU,至少一个网络接口804,存储器805,至少一个通信总线802。通信总线802用于实现这些组件之间的连接通信。该通信终端800可选的包含用户接口803,用于连接显示器,键盘或者点击设备(例如鼠标,轨迹球(trackball),触感板或者触感显示屏)。
存储器805可能包含高速RAM存储器,也可能还包括非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。存储器805可选的可以包含至少一个位于远离前述处理器801的存储装置。
在一些实施方式中,存储器805存储了如下的元素,可执行模块或者数据结构,或者他们的子集,或者他们的扩展集:
操作***8051,包含各种***程序,用于实现各种基础业务以及处理基于硬件的任务;
应用程序模块8052,包含各种应用程序,用于实现各种应用业务。
应用程序模块8052中包括但不限于接收单元510和调用单元520。
进一步的,应用程序模块8052中还可包括但不限于资源管理单元540和内核管理单元530。
应用程序模块8052中各模块的具体实现参见图5-a~5-c所示实施例中的相应模块,在此不赘述。
在本发明实施例中,通过调用存储器808存储的程序或指令,处理器801用于:通过网络接口804接收第一资源访问请求;调用第一内核组中的内核处理第一资源,其中,第一资源归属于第一资源组,第一资源为第一资源访问请求所请求访问的资源,第一内核组包括至少一个内核,第一资源组和第一内核组之间具有绑定映射关系。
举例来说,处理器801可通过网络接口804接收来自客户端的第一资源访问请求,资源访问请求可触发相应的资源处理流程。其中,资源访问请求可能是请求查询、计算和/或存储某资源,当然也可能是请求其它处理。
在本发明的一些实施例中,第一资源访问请求中可携带有第一资源的标识和第一会话标识(当然,第一资源访问请求中同时还可携带第一资源的标识和/或第一资源组的标识等),其中,处理器801在调用第一内核组中的内核处理第一资源之前,还可查询与第一会话标识所表示的第一会话具有映射关系的内核组,其中,查询到的内核组为第一内核组。例如,可以调用第一内核组中的一个或多个内核来处理第一资源。
在本发明另一些实施例中,处理器801调用第一内核组中的内核处理第一资源可包括:若第一资源访问请求中携带有第一资源组的标识(当然,第一资源访问请求中同时还可携带第一资源的标识和/或会话标识等),且查询到与第一资源组的标识所表示的第一资源组具有映射关系的内核组为第一内核组,则可调用第一内核组中的内核处理第一资源。举例来说,可调用第一内核组中的一个或者多个内核来处理第一资源。
处理器801可调用第一内核组中的第一内核来处理第一资源,其中,第一内核可包括一个或多个内核。可调用第二内核组中的第二内核来处理第二资源,其中第二内核可包括一个或多个内核。
在本发明的一些实施例中,处理器801还可将第一内核从第一内核组中剔除,和/或将第二内核添加到第一内核组之中(例如,可在将第二内核从第二内核组中剔除之后,将第二内核添加到所述第一内核组之中)。例如可能根据用户指令将第一内核从第一内核组中剔除,和/或将第二内核添加到第一内核组之中,或者可能根据第一资源组的访问情况将第一内核从第一内核组中剔除,和/或将第二内核添加到第一内核组之中,如当第一资源组的访问频率降低到某阈值时,可将第一内核从第一内核组中剔除;当第一资源组的访问频率高于某阈值时,可将第二内核添加到第一内核组之中,其它场景以此类推。
在本发明的一些实施例中,处理器801还可将第一资源从第一资源组中剔除,和/或将第五资源添加到一资源组之中。例如可能根据用户指令将第一资源从第一资源组中剔除,和/或将第五资源添加到一资源组之中,或者,可能根据第一资源组的访问情况将第一资源从第一资源组中剔除,和/或将第五资源添加到一资源组之中。
在本发明的一些实施例中,处理器801可通过多种方式来记录资源组和内核组之间的映射关系,例如,可通过表来记录第一资源组和第一内核组之间的映射关系,其它情况以此类推。
在本发明的一些实施例中,处理器801可通过多种方式来记录会话和内核组之间的映射关系,例如,可通过表来记录第一会话和第一内核组之间的映射关系(表中可记录第一会话的标识和第一内核组的标识等等),其它情况以此类推。
在本发明的一些实施例中,处理器801还可通过网络接口804接收第二资源访问请求;其中,若第二资源访问请求中携带有第一会话标识和第二资源的标识,且查询到与第一会话标识所表示的第一会话具有映射关系的内核组为第一内核组,则确定第二资源是否归属于第一资源组,若确定出第二资源的标识所表示的第二资源不归属于第一资源组而归属于第二资源组,则查询与第二资源组具有映射关系的内核组,若查询到与第二资源组具有映射关系的内核组为第二内核组,则调用第二内核组中的内核处理第二资源,其中,第二内核组包括至少一个内核。举例来说,可调用第二内核组中的一个或多个内核来处理第二资源。
在本发明的一些实施例中,第一内核组中的任意一个内核均不属于第二内核组,其中,第二内核组为不同于第一内核组的内核组,即,不同内核组包含不同的内核,没有重叠。当然,特殊情况下第一内核组的某些内核可能同时属于第二内核组和/或其它内合租。
在本发明的一些实施例中,处理器801还可通过网络接口804接收第三资源访问请求;若第三资源访问请求中携带有第一会话标识和第三资源的标识,可根据第三资源的标识查询第三资源所属资源组,若根据第三资源的标识查询第三资源的标识所表示的第三资源所属资源组为第三资源组,则可查询与第三资源组具有映射关系的内核组,若查询到到与第三资源组具有映射关系的内核组为第三内核组,则调用第三内核组中的内核处理第三资源,其中,第三内核组包括至少一个内核。例如,可调用第三内核组中的一个或多个内核来处理第三资源。
在本发明的一些实施例中,处理器801还可通过网络接口804接收第四资源访问请求;若第三资源访问请求中携带有第一会话标识、第四资源组的标识和第四资源的标识,其中,第四资源的标识所表示的第四资源归属于第四资源组的标识所表示的第四资源组,则可查询与第四资源组具有映射关系的内核组,其中,若查询到与第四资源组具有映射关系的内核组为第四内核组,则可调用第四内核组中的内核处理第四资源,其中,第四内核组包括至少一个内核。举例来说,可以调用第三内核组中的一个或者多个内核来处理第三资源。
在本发明的一些实施例中,处理器801可根据需要来选择不同的分组策略来对资源和内核进行分组,不同场景下的分组策略可能不尽相同。
例如,资源的分组策略可包括如下策略a1、策略a2、策略a3、策略a4和策略a5中的一种或多种的结合:a1、尽量将业务类型相同的资源划分到同一资源组中;a2、尽量将同一业务流程中强关联的资源可划分到一个资源组;a3、业务关联的热点资源尽量划分到不同的资源组;a4、数据量较大的某资源可以根据表的分区处理,拆分成多个资源组。a5、业务重组时可删除旧资源组或重新规划资源组等。
又举例来说,内核的分组策略可包括如下策略b1、策略b2和策略b3中的一种或多种的结合:b1、内核组和资源组可为一一对应的关系。b2、内核组的大小尽量适应于与该内核组具有映射关系的资源组,例如对于上层关键业务对性能要求较高的资源组,尽量与之映射内核数相对较多的内核组。b3、业务变化时,可动态调整相应内核组的内核数(例如,增加或者剔除相应内核组的内核),例如电信计费业务,在春节阶段通话激增,在该时间段可增大相应内核组的内核数。
在本发明的一些实施例中,第一资源组、第二资源组、第三资源组或第四资源组可包括至少一个表和/或至少一个表的分区。
在本发明的一些实施例中,第一资源组、第二资源组、第三资源组或第四资源组中的所有资源对应的业务类型相同。
在本发明的一些实施例中,第一资源组、第二资源组、第三资源组或第四资源组中的所有资源为同一个业务流程中强关联的资源。
可以理解的是,本实施例的计算机设备800的各功能模块的功能可根据上述方法实施例中的方法具体实现,其具体实现过程可以参照上述方法实施例的相关描述,此处不再赘述。
可见,采用上述方案后,处理器801接收到第一资源访问请求之后;调用第一内核组中的内核处理第一资源,其中,第一资源归属于第一资源组,第一资源为第一资源访问请求所请求访问的资源,第一内核组包括至少一个内核,其中,第一资源组和第一内核组之间具有对应的映射关系。由于对资源和内核进行分组,并且建立了资源组和内核组的映射关系,某内核组可主要专门处理与之具有映射关系的资源组中的资源,因此有利于提高资源的命中率,进而有利于提升性能。
进一步的,由于对资源也进行分组管理,因此,可根据需要将关键业务和普通业务对应的资源进行区别分组,关键业务对应的资源组可与处理能力更强的内核组进行映射,这样有利于更合理的分配和管理内核,进而有利于提升硬件层管理的协调统一性,有利于有效的提高关键业务性能,也有利于没有充分利用当前的多核技术,提高并行性,有利于更充分的利用非均匀访存模型等并行体系架构。
进一步的,基于分组管理机制,使得数据库感知业务变得可能。在较大业务压力时,可动态调整业务相关的内核组中的内核数或调整资源组和内核组的映射关系,尽量保证关键业务的性能不会快速降低,如此,可使得数据库***适应性更强,业务优化能力更强。
本发明实施例还提供一种多核手机900的示意图,其中,多核手机900可以用于实现上述实施例中计算机设备500、计算机设备600、计算机设备700或计算机设备800的部分或全部功能。
如图9所示,为了便于说明,仅示出了一些可能与本发明实施例相关的部分,部分具体技术细节未揭示的,请参照本发明实施例方法部分。
参考图9,多核手机包括射频(Radio Frequency,RF)电路910、存储器920、输入单元930、无线保真(wireless fidelity,WiFi)模块970、显示单元940、传感器950、音频电路960、处理器980、以及电源990等部件。
其中,本领域技术人员可以理解,图9中示出的多核手机结构并不构成对多核手机的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
RF电路910可用于在收发信息或通话过程中,信号的接收和发送,特别地,将基站的下行信息接收后,给处理器980处理;另外,将设计上行的数据发送给基站。通常,RF电路包括但不限于天线、至少一个放大器、收发信机、耦合器、低噪声放大器(Low Noise Amplifier,LNA)、双工器等。此外,RF电路910还可以通过无线通信与网络和其他设备通信。上述无线通信可以使用任一通信标准或协议,包括但不限于全球移动通讯***(Global System ofMobile communication,GSM)、通用分组无线服务(General Packet RadioService,GPRS)、码分多址(Code Division Multiple Access,CDMA)、宽带码分多址(Wideband Code Division Multiple Access,WCDMA)、长期演进(LongTerm Evolution,LTE))、电子邮件、短消息服务(Short Messaging Service,SMS)等。
其中,存储器920可用于存储软件程序以及模块,处理器980通过运行存储在存储器920的软件程序以及模块,从而执行多核手机的各种功能应用以及数据处理。存储器920可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作***、至少一个功能所需的应用程序(如声音播放功能、图像播放功能等)等;存储数据区可存储根据多核手机的使用所创建的数据(如音频数据、电话本等)等。此外,存储器920可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
输入单元930可用于接收输入的数字或字符信息,以及产生与多核手机900的用户设置以及功能控制有关的键信号输入。具体地,输入单元930可包括触控面板931以及其他输入设备932。触控面板931,也称为触摸屏,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板931上或在触控面板931附近的操作),并根据预先设定的程式驱动相应的连接装置。可选的,触控面板931可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器980,并能接收处理器980发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触控面板931。除了触控面板931,输入单元930还可以包括其他输入设备932。具体地,其他输入设备932可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。
其中,显示单元940可用于显示由用户输入的信息或提供给用户的信息以及多核手机的各种菜单。显示单元940可包括显示面板941,可选的,可以采用液晶显示器(Liquid Crystal Display,LCD)、有机发光二极管(OrganicLight-Emitting Diode,OLED)等形式来配置显示面板941。进一步的,触控面板931可覆盖显示面板941,当触控面板931检测到在其上或附近的触摸操作后,传送给处理器980以确定触摸事件的类型,随后处理器980根据触摸事件的类型在显示面板941上提供相应的视觉输出。虽然在图9中,触控面板931与显示面板941是作为两个独立的部件来实现多核手机的输入和输入功能,但是在某些实施例中,可以将触控面板931与显示面板941集成而实现多核手机的输入和输出功能。
其中,多核手机900还可包括至少一种传感器950,比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板941的亮度,接近传感器可在多核手机移动到耳边时,关闭显示面板941和/或背光。作为运动传感器的一种,加速计传感器可检测各方向上(一般为三轴)加速度大小,静止时可检测出重力的大小及方向,可用于识别多核手机姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;至于多核手机还可配置的陀螺仪、气压计、湿度计、温度计和红外线传感器等其他传感器,在此不再赘述。
音频电路960、扬声器961,传声器962可提供用户与多核手机之间的音频接口。音频电路960可将接收到的音频数据转换后的电信号,传输到扬声器961,由扬声器961转换为声音信号输出;另一方面,传声器962将收集的声音信号转换为电信号,由音频电路960接收后转换为音频数据,再将音频数据输出处理器980处理后,经RF电路910以发送给比如另一多核手机,或者将音频数据输出至存储器920以便进一步处理。
WiFi属于短距离无线传输技术,多核手机通过WiFi模块970可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图9示出了WiFi模块970,但是可以理解的是,其并不属于多核手机900的必须构成,完全可以根据需要在不改变发明的本质的范围内而省略。
处理器980是多核手机的控制中心,利用各种接口和线路连接整个多核手机的各个部分,通过运行或执行存储在存储器920内的软件程序和/或模块,以及调用存储在存储器920内的数据,执行多核手机的各种功能和处理数据,从而对多核手机进行整体监控。可选的,处理器980可包括一个或多个处理单元;优选的,处理器980可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作***、用户界面和应用程序等,调制解调处理器主要处理无线通信。
可以理解的是,上述调制解调处理器也可以不集成到处理器980中。
多核手机900还包括给各个部件供电的电源990(比如电池)。
优选的,电源可以通过电源管理***与处理器980逻辑相连,从而通过电源管理***实现管理充电、放电、以及功耗管理等功能。尽管未示出,多核手机900还可以包括摄像头、蓝牙模块等,在此不再赘述。
在本发明的一些实施例中,处理器980可用于接收第一资源访问请求;调用第一内核组中的内核处理第一资源,其中,第一资源归属于第一资源组,第一资源为第一资源访问请求所请求访问的资源,第一内核组包括至少一个内核,第一资源组和第一内核组之间具有映射关系。
本发明实施例还提供一种计算机存储介质,其中,该计算机存储介质可存储有程序,该程序执行时包括上述方法实施例中记载的资源访问方法的部分或全部步骤。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置,可通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (18)
1.一种资源访问方法,其特征在于,包括:
接收第一资源访问请求;
调用第一内核组中的内核处理第一资源,其中,所述第一资源归属于第一资源组,所述第一资源为所述第一资源访问请求所请求访问的资源,所述第一内核组包括至少一个内核,其中,所述第一资源组和所述第一内核组之间具有映射关系。
2.根据权利要求1所述的方法,其特征在于,所述第一资源访问请求中携带有第一资源的标识和第一会话标识;
在所述调用第一内核组中的内核处理第一资源之前,所述方法还包括:查询与所述第一会话标识所表示的第一会话具有映射关系的内核组,其中,查询到的内核组为第一内核组。
3.根据权利要求1所述的方法,其特征在于,所述调用第一内核组中的内核处理第一资源,包括:若所述第一资源访问请求中携带有第一资源的标识和第一资源组的标识,且查询到与所述第一资源组的标识所表示的第一资源组具有映射关系的内核组为第一内核组,则调用所述第一内核组中的内核处理第一资源。
4.根据权利要求1至3任一项所述的方法,其特征在于,
所述方法还包括:
接收第二资源访问请求,其中,所述第二资源访问请求中携带有第一会话标识和第二资源的标识,查询与所述第一会话标识所表示的第一会话具有映射关系的内核组为第一内核组,若所述第二资源的标识所表示的第二资源不归属于所述第一资源组,则查询与所述第二资源归属的第二资源组具有映射关系的内核组,若所述查询到的与第二资源组具有映射关系的内核组为第二内核组,调用所述第二内核组中的内核处理所述第二资源,其中,所述第二内核组包括至少一个内核。
5.根据权利要求4所述的方法,其特征在于,
所述方法还包括:
将第一内核从所述第一内核组中剔除,和/或,在将第二内核从所述第二内核组中剔除后,将所述第二内核添加到所述第一内核组之中。
6.根据权利要求5所述的方法,其特征在于,所述第一内核组中的任意一个内核均不属于第二内核组。
7.根据权利要求1至6任一项所述的方法,其特征在于,所述第一资源组包括至少一个表和/或至少一个表的分区。
8.根据权利要求1至7任一项所述的方法,其特征在于,所述第一资源组中的所有资源对应的业务类型相同,或者,所述第一资源组中的所有资源为同一个业务流程中相关联的资源。
9.一种计算机设备,其特征在于,包括:
接收单元,用于接收第一资源访问请求;
调用单元,用于调用第一内核组中的内核处理第一资源,其中,所述第一资源归属于第一资源组,所述第一资源为所述第一资源访问请求所请求访问的资源,所述第一内核组包括至少一个内核,所述第一资源组和所述第一内核组之间具有映射关系。
10.根据权利要求9所述的计算机设备,其特征在于,
所述第一资源访问请求中携带有第一资源的标识和第一会话标识;
其中,所述调用单元具体用于,查询与所述第一会话标识所表示的第一会话具有映射关系的内核组,其中,查询到的内核组为第一内核组,调用所述第一内核组中的内核处理第一资源。
11.根据权利要求9所述的计算机设备,其特征在于,
所述调用单元具体用于,若所述第一资源访问请求中携带有第一资源的标识和第一资源组的标识,且查询到与所述第一资源组的标识所表示的第一资源组具有映射关系的内核组为第一内核组,则调用所述第一内核组中的内核处理第一资源。
12.根据权利要求9至11任一项所述的计算机设备,其特征在于,
所述接收单元还用于,接收第二资源访问请求,其中,所述第二资源访问请求中携带有第一会话标识和第二资源的标识;
所述调用单元还用于,查询与所述第一会话标识所表示的第一会话具有映射关系的内核组为第一内核组,若所述第二资源的标识所表示的第二资源不归属于所述第一资源组,则查询与所述第二资源归属的第二资源组具有映射关系的内核组,若所述查询到的与第二资源组具有映射关系的内核组为第二内核组,调用所述第二内核组中的内核处理所述第二资源,其中,所述第二内核组包括至少一个内核。
13.根据权利要求12任一项所述的计算机设备,其特征在于,
所述计算机设备还包括:
内核管理单元,用于将第一内核从所述第一内核组中剔除,和/或,在将第二内核从所述第二内核组中剔除后,将所述第二内核添加到所述第一内核组之中。
14.一种计算机设备,其特征在于,包括:网络接口、总线和处理器,所述网络接口和所述处理器通过所述总线连接,所述处理器包含多个内核,所述多个内核被分为至少两个内核组,其中:
所述网络接口,用于接收第一资源访问请求;
所述处理器,用于调用第一内核组中的内核处理第一资源,其中,所述第一资源归属于第一资源组,所述第一资源为所述第一资源访问请求所请求访问的资源,所述第一内核组包括所述多个内核中的至少一个内核,所述第一资源组和所述第一内核组之间具有映射关系。
15.根据权利要求14所述的计算机设备,其特征在于,
所述第一资源访问请求中携带有第一资源的标识和第一会话标识;
其中,所述处理器具体用于,查询与所述第一会话标识所表示的第一会话具有映射关系的内核组,其中,查询到的内核组为第一内核组,调用所述第一内核组中的内核处理第一资源。
16.根据权利要求14所述的计算机设备,其特征在于,
所述处理器具体用于,若所述第一资源访问请求中携带有第一资源的标识和第一资源组的标识,且查询到与所述第一资源组的标识所表示的第一资源组具有映射关系的内核组为第一内核组,则调用所述第一内核组中的内核处理第一资源。
17.根据权利要求14至16任一项所述的计算机设备,其特征在于,
所述网络接口还用于,接收第二资源访问请求,其中,所述第二资源访问请求中携带有第一会话标识和第二资源的标识;
其中,所述处理器还用于,查询与所述第一会话标识所表示的第一会话具有映射关系的内核组为第一内核组,若所述第二资源的标识所表示的第二资源不归属于所述第一资源组,则查询与所述第二资源归属的第二资源组具有映射关系的内核组,若所述查询到的与第二资源组具有映射关系的内核组为第二内核组,调用所述第二内核组中的内核处理所述第二资源,其中,所述第二内核组包括至少一个内核。
18.根据权利要求17任一项所述的计算机设备,其特征在于,
所述处理器还用于,将第一内核从所述第一内核组中剔除,和/或,在将第二内核从所述第二内核组中剔除后,将所述第二内核添加到所述第一内核组之中。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310269769.9A CN103365658B (zh) | 2013-06-28 | 2013-06-28 | 一种资源访问方法和计算机设备 |
PCT/CN2014/080923 WO2014206331A1 (zh) | 2013-06-28 | 2014-06-27 | 一种资源访问方法和计算机设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310269769.9A CN103365658B (zh) | 2013-06-28 | 2013-06-28 | 一种资源访问方法和计算机设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103365658A true CN103365658A (zh) | 2013-10-23 |
CN103365658B CN103365658B (zh) | 2016-09-07 |
Family
ID=49367093
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310269769.9A Active CN103365658B (zh) | 2013-06-28 | 2013-06-28 | 一种资源访问方法和计算机设备 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN103365658B (zh) |
WO (1) | WO2014206331A1 (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104182534A (zh) * | 2014-08-28 | 2014-12-03 | 无锡天脉聚源传媒科技有限公司 | 一种数据搜索的方法及装置 |
WO2014206331A1 (zh) * | 2013-06-28 | 2014-12-31 | 华为技术有限公司 | 一种资源访问方法和计算机设备 |
CN104714781A (zh) * | 2013-12-17 | 2015-06-17 | ***通信集团公司 | 一种多模态信号数据处理方法、装置及终端设备 |
CN107846367A (zh) * | 2016-09-20 | 2018-03-27 | 华为技术有限公司 | 一种数据传输方法及装置 |
CN108319598A (zh) * | 2017-01-16 | 2018-07-24 | 腾讯科技(北京)有限公司 | 数据缓存方法、装置和*** |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107608717B (zh) * | 2016-07-12 | 2021-02-12 | 迈普通信技术股份有限公司 | 用户态信息收集方法、装置和*** |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060230246A1 (en) * | 2005-04-08 | 2006-10-12 | Mather Clifford J | Memory allocation technique using memory resource groups |
CN101110043A (zh) * | 2007-09-04 | 2008-01-23 | 杭州华三通信技术有限公司 | 一种多核***的资源管理方法和控制核 |
CN101131652A (zh) * | 2006-08-21 | 2008-02-27 | 英业达股份有限公司 | 多核多中央处理器的执行线程分配方法 |
CN101896886A (zh) * | 2007-10-31 | 2010-11-24 | 艾科立方公司 | 单个计算机***上运行的多个内核之间的一致同步 |
CN101968746A (zh) * | 2010-09-02 | 2011-02-09 | 北京航空航天大学 | 一种内核虚拟机组织架构模式的实现方法 |
CN102831015A (zh) * | 2012-08-01 | 2012-12-19 | 华为技术有限公司 | 多核处理器的调度方法和设备 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103365658B (zh) * | 2013-06-28 | 2016-09-07 | 华为技术有限公司 | 一种资源访问方法和计算机设备 |
-
2013
- 2013-06-28 CN CN201310269769.9A patent/CN103365658B/zh active Active
-
2014
- 2014-06-27 WO PCT/CN2014/080923 patent/WO2014206331A1/zh active Application Filing
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060230246A1 (en) * | 2005-04-08 | 2006-10-12 | Mather Clifford J | Memory allocation technique using memory resource groups |
CN101131652A (zh) * | 2006-08-21 | 2008-02-27 | 英业达股份有限公司 | 多核多中央处理器的执行线程分配方法 |
CN101110043A (zh) * | 2007-09-04 | 2008-01-23 | 杭州华三通信技术有限公司 | 一种多核***的资源管理方法和控制核 |
CN101896886A (zh) * | 2007-10-31 | 2010-11-24 | 艾科立方公司 | 单个计算机***上运行的多个内核之间的一致同步 |
CN101968746A (zh) * | 2010-09-02 | 2011-02-09 | 北京航空航天大学 | 一种内核虚拟机组织架构模式的实现方法 |
CN102831015A (zh) * | 2012-08-01 | 2012-12-19 | 华为技术有限公司 | 多核处理器的调度方法和设备 |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2014206331A1 (zh) * | 2013-06-28 | 2014-12-31 | 华为技术有限公司 | 一种资源访问方法和计算机设备 |
CN104714781A (zh) * | 2013-12-17 | 2015-06-17 | ***通信集团公司 | 一种多模态信号数据处理方法、装置及终端设备 |
CN104714781B (zh) * | 2013-12-17 | 2017-11-03 | ***通信集团公司 | 一种多模态信号数据处理方法、装置及终端设备 |
CN104182534A (zh) * | 2014-08-28 | 2014-12-03 | 无锡天脉聚源传媒科技有限公司 | 一种数据搜索的方法及装置 |
CN107846367A (zh) * | 2016-09-20 | 2018-03-27 | 华为技术有限公司 | 一种数据传输方法及装置 |
WO2018054271A1 (zh) * | 2016-09-20 | 2018-03-29 | 华为技术有限公司 | 一种数据传输方法及装置 |
US11023373B2 (en) | 2016-09-20 | 2021-06-01 | Huawei Technologies Co., Ltd. | Data transmission method and apparatus using resources in a resource pool of a same NUMA mode |
CN107846367B (zh) * | 2016-09-20 | 2021-09-21 | 华为技术有限公司 | 一种数据传输方法及装置 |
CN114024962A (zh) * | 2016-09-20 | 2022-02-08 | 华为技术有限公司 | 一种数据传输方法及装置 |
CN114024962B (zh) * | 2016-09-20 | 2023-04-18 | 华为技术有限公司 | 一种数据传输方法及装置 |
US11734172B2 (en) | 2016-09-20 | 2023-08-22 | Huawei Technologies Co., Ltd. | Data transmission method and apparatus using resources in a resource pool of a same NUMA node |
CN108319598A (zh) * | 2017-01-16 | 2018-07-24 | 腾讯科技(北京)有限公司 | 数据缓存方法、装置和*** |
Also Published As
Publication number | Publication date |
---|---|
WO2014206331A1 (zh) | 2014-12-31 |
CN103365658B (zh) | 2016-09-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103458305B (zh) | 视频播放方法、装置、终端设备和服务器 | |
CN103365658A (zh) | 一种资源访问方法和计算机设备 | |
CN104123120B (zh) | 一种浏览器页面数据过滤方法、装置和*** | |
CN104618440A (zh) | 智能设备控制方法及装置 | |
CN104518953A (zh) | 删除消息的方法、即时通信终端及*** | |
CN103475914B (zh) | 视频播放方法、装置、终端设备和服务器 | |
CN104618217A (zh) | 分享资源的方法、终端、服务器及*** | |
CN103546766A (zh) | 视频处理方法和相关设备及通信*** | |
CN104142862A (zh) | 服务器的过载保护方法及装置 | |
CN104992342A (zh) | 推广信息投放有效性确定方法、监测服务器及终端 | |
CN104142868A (zh) | 建立连接的方法及装置 | |
CN104460934A (zh) | 多cpu调度方法及装置 | |
CN104363988B (zh) | 一种多核处理器的管理方法及装置 | |
CN104426962A (zh) | 多终端绑定的方法、绑定服务器、终端及*** | |
CN104065693A (zh) | 一种网页应用中网络数据的访问方法、装置和*** | |
CN104301315A (zh) | 一种限制信息访问的方法和装置 | |
CN103870339A (zh) | 一种集群资源分配方法及装置 | |
CN106708554A (zh) | 程序运行方法及装置 | |
CN103346921A (zh) | 用户管理方法和相关设备及通信*** | |
CN103945241A (zh) | 一种流媒体数据的统计方法、***及相关装置 | |
CN104424211A (zh) | 一种基于微博的业务数据的发布方法、装置和*** | |
CN103312907A (zh) | 语音通道分配管理方法和相关设备及通信*** | |
CN104092657A (zh) | 信息传输的方法、设备及*** | |
CN103501373A (zh) | 发起呼叫的方法、装置及终端 | |
CN104123210A (zh) | 测试浏览器性能的方法、设备和*** |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20220215 Address after: 550025 Huawei cloud data center, jiaoxinggong Road, Qianzhong Avenue, Gui'an New District, Guiyang City, Guizhou Province Patentee after: Huawei Cloud Computing Technologies Co.,Ltd. Address before: 518129 Bantian HUAWEI headquarters office building, Longgang District, Guangdong, Shenzhen Patentee before: HUAWEI TECHNOLOGIES Co.,Ltd. |