WO2014206331A1 - Resource access method and computer device - Google Patents

Resource access method and computer device Download PDF

Info

Publication number
WO2014206331A1
WO2014206331A1 PCT/CN2014/080923 CN2014080923W WO2014206331A1 WO 2014206331 A1 WO2014206331 A1 WO 2014206331A1 CN 2014080923 W CN2014080923 W CN 2014080923W WO 2014206331 A1 WO2014206331 A1 WO 2014206331A1
Authority
WO
WIPO (PCT)
Prior art keywords
resource
group
kernel
identifier
mapping relationship
Prior art date
Application number
PCT/CN2014/080923
Other languages
French (fr)
Chinese (zh)
Inventor
王寄萱
陈志标
Original Assignee
华为技术有限公司
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by 华为技术有限公司 filed Critical 华为技术有限公司
Publication of WO2014206331A1 publication Critical patent/WO2014206331A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/507Low-level

Definitions

  • the present invention relates to the field of computer technologies, and in particular, to a resource access method and a computer device. Background technique
  • the dual-core processor is usually a processor that integrates two cores.
  • the rapid development of multi-core technology has greatly improved the parallel processing performance of a computer, and can process a large number of requests with high performance, which can replace a cluster of a certain scale.
  • the cache capacity of the CPU core is greatly improved, and more data and instructions can be cached, so that the speed of data access is better adapted to the processing speed of the CPU. Take full advantage of CPU performance.
  • the traditional database management system is based on the client/server (C/S, Client/Server) mode.
  • the server For each user's access request, the server establishes a corresponding user processing session, where each user processing session can correspond to one.
  • Operating system user state thread For each user's access request, the server establishes a corresponding user processing session, where each user processing session can correspond to one.
  • Operating system user state thread are randomly scheduled by the operating system to execute to different CPU cores.
  • the CPU core accesses the data resources or program instructions of the entire database system based on the user's request.
  • the entire database system is completely unaware of the existence of multiple cores and relies entirely on operating system scheduling.
  • the resource access scenarios under other existing multi-core architectures are similar.
  • the embodiment of the invention provides a resource access method and a computer device, so as to improve the resource hit rate and improve the performance.
  • a first aspect of the present invention provides a resource access method, which may include: receiving a first resource access request;
  • the first kernel group includes at least one kernel, wherein the first resource group and the first kernel group have a mapping relationship.
  • the first resource access request carries an identifier of a first resource and a first session identifier; and the kernel in the calling first kernel group processes the first Before the resource, the method further includes: querying a kernel group having a mapping relationship with the first session indicated by the first session identifier, where the queried kernel group is a first kernel group.
  • the invoking the kernel in the first kernel group to process the first resource includes: if the first resource access request carries the identifier and the first resource An identifier of a resource group, and querying the first resource group represented by the identifier of the first resource group
  • the kernel group having the mapping relationship is the first kernel group, and the kernel in the first kernel group is called to process the first resource.
  • the method further includes:
  • the second resource access request carries an identifier of the first session identifier and the second resource, and queries a kernel group that has a mapping relationship with the first session indicated by the first session identifier a first kernel group, if the second resource indicated by the identifier of the second resource is not attributed to the first resource group, querying a kernel group having a mapping relationship with a second resource group to which the second resource belongs And if the queried kernel group having the mapping relationship with the second resource group is the second kernel group, calling the kernel in the second kernel group to process the second resource, where the second kernel group includes At least one kernel.
  • any one of the first core groups does not belong to the second kernel group.
  • the first resource group includes a partition of at least one table and/or at least one table.
  • the method further includes: The first kernel group is culled, and/or, after the second kernel is culled from the second kernel group, the second kernel is added to the first kernel group.
  • a second aspect of the present invention provides a computer device, which may include:
  • a receiving unit configured to receive a first resource access request
  • a calling unit configured to invoke a kernel in the first kernel group to process the first resource, where the first resource belongs to the first resource group, and the first resource is a resource requested by the first resource access request
  • the first kernel group includes at least one kernel, and the first resource group and the first kernel group have a mapping relationship.
  • the first resource access request carries the identifier of the first resource and the first session identifier, where the calling unit is specifically configured to query a kernel that has a mapping relationship with the first session indicated by the first session identifier. a group, wherein the queried kernel group is a first kernel group, and the kernel in the first kernel group is invoked to process the first resource.
  • the calling unit is configured to: if the first resource access request carries the identifier of the first resource and the identifier of the first resource group, and query the first resource represented by the identifier of the first resource group
  • the group having the mapping relationship is the first kernel group, and the kernel in the first kernel group is called to process the first resource.
  • the receiving unit is further configured to: receive a second resource access request, where the second resource access request carries an identifier of the first session identifier and the second resource;
  • the calling unit is further configured to: query a kernel group that has a mapping relationship with the first session indicated by the first session identifier as a first kernel group, and if the second resource indicated by the identifier of the second resource is not vested And in the first resource group, querying a kernel group that has a mapping relationship with a second resource group to which the second resource belongs, if the queried kernel group having a mapping relationship with the second resource group is a second kernel Group, calling the kernel in the second kernel group to process the second resource, where the second kernel group includes at least one kernel.
  • the computer device further includes:
  • a kernel management unit configured to cull the first kernel from the first kernel group, and/or add a second kernel to the first after culling the second kernel from the second kernel group Among the kernel groups.
  • a third aspect of the present invention provides a computer device, including: a network interface, a bus, and a processor, where the network interface and the processor are connected by using the bus, the processor includes multiple cores, and the multiple The kernel is divided into at least two kernel groups, where:
  • the network interface is configured to receive a first resource access request
  • the processor is configured to invoke a kernel in the first kernel group to process the first resource, where the first resource belongs to the first resource group, and the first resource is requested by the first resource access request
  • the first kernel group includes at least one of the plurality of cores, and the first resource group and the first kernel group have a mapping relationship.
  • the first resource access request carries an identifier of the first resource and a first session identifier, where the processor is specifically configured to: query and The first session identifier indicates that the first session has a mapping relationship of the kernel group, wherein the queried kernel group is the first kernel group, and the kernel in the first kernel group is invoked to process the first resource.
  • the processor is specifically configured to: if the first resource access request carries the identifier of the first resource and the identifier of the first resource group, The kernel group having a mapping relationship with the first resource group indicated by the identifier of the first resource group is the first kernel group, and the kernel in the first kernel group is called to process the first resource.
  • the processor is further configured to: The kernel is culled from the first set of kernels, and/or the second kernel is added to the first set of cores after the second kernel is culled from the second set of kernels.
  • the kernel in the first kernel group is called to process the first resource, where the first resource belongs to the first resource group, and the first resource belongs to the first resource group.
  • the first kernel group includes at least one kernel, and the first resource group and the first kernel group have a mapping relationship. Since the resources and the kernel are grouped, and the mapping relationship between the resource group and the kernel group is established, a kernel group can mainly deal with the resources in the resource group with which the mapping relationship is related. Therefore, this mechanism is beneficial to improve resource access. The hit rate, which in turn helps improve performance.
  • FIG. 1 is a schematic flowchart of a resource access method according to an embodiment of the present invention.
  • FIG. 2 is a schematic flowchart of another resource access method according to an embodiment of the present invention
  • FIG. 3 is a schematic diagram of resource grouping according to an embodiment of the present invention
  • FIG. 3-b is a schematic diagram of a kernel grouping according to an embodiment of the present invention.
  • FIG. 3 is a schematic diagram of resource group and kernel group mapping provided by an embodiment of the present invention.
  • FIG. 3-d is a schematic diagram of resource group adjustment according to an embodiment of the present invention.
  • FIG. 3-e is a schematic diagram of kernel group adjustment according to an embodiment of the present invention.
  • Figure 3-f is a schematic diagram of the adjusted resource group and kernel group mapping provided by the embodiment of the present invention
  • Figure 4-a is a schematic diagram of resource group and kernel group mapping based on the common hardware system provided by the embodiment of the present invention
  • 4b is a schematic diagram of resource group and kernel group mapping based on a non-uniform memory access model hardware system according to an embodiment of the present invention
  • FIG. 5-a is a schematic flowchart of a computer device according to an embodiment of the present disclosure.
  • FIG. 5-b is a schematic diagram of another computer device according to an embodiment of the present disclosure.
  • FIG. 5-c is a schematic diagram of another computer device according to an embodiment of the present invention.
  • FIG. 6 is a schematic diagram of another computer device according to an embodiment of the present invention.
  • FIG. 7 is a schematic diagram of another computer device according to an embodiment of the present invention.
  • FIG. 8 is a schematic diagram of another computer device according to an embodiment of the present invention.
  • FIG. 9 is a schematic diagram of a multi-core mobile phone according to an embodiment of the present invention.
  • the embodiment of the invention provides a resource access method and related equipment, so as to improve the resource hit rate and further l performance.
  • the solution of the embodiment of the present invention can be applied to a multi-core server deployed with a database system, and can of course be applied to a general-purpose multi-core computer.
  • An embodiment of the resource access method of the present invention wherein the resource access method may include: receiving a first resource access request; invoking a kernel in the first kernel group to process the first resource, where the first resource belongs to the first resource
  • the first resource group is a resource requested by the first resource access request, and the first kernel group includes at least one kernel, and the first resource group and the first kernel group have a mapping relationship.
  • FIG. 1 is a flowchart diagram of a resource access method according to an embodiment of the present invention. Intention.
  • a resource access method provided by an embodiment of the present invention may include the following content:
  • the server may receive a first resource access request from a client, or a general purpose computer may have a first resource access request from another computer.
  • the resource access request can trigger the corresponding resource processing flow.
  • a resource access request may be requesting a query, computing and/or storing a resource, or of course, requesting other processing.
  • the first resource belongs to the first resource group, and the first resource is the resource requested by the first resource access request, the first kernel group includes at least one kernel, and the first resource group and the first kernel group have a mapping relationship. .
  • the first resource access request may carry the identifier of the first resource and the first session identifier (of course, the first resource access request may also carry the identifier of the first resource and/or the first An identifier of a resource group, etc., wherein, before the calling the kernel in the first kernel group processes the first resource, the method further includes: querying a kernel group having a mapping relationship with the first session indicated by the first session identifier, where The kernel group that is queried is the first kernel group. For example, one or more cores in the first kernel group can be invoked to process the first resource.
  • the session identifier (such as the first session identifier) can represent a certain session established between the resource access request sender and the resource access request receiver (the session may be triggered by the resource access request sender sending a resource access request to trigger the establishment, It can also be established by other means.
  • the type of the session may be a variety of logical sessions, wherein each session participant may also record the conversation partner such as some status information and the like.
  • the session ID may be composed of multiple characters or other forms.
  • invoking the kernel in the first kernel group to process the first resource may include: if the first resource access request carries the identifier of the first resource group (of course, in the first resource access request) At the same time, the identifier of the first resource and/or the session identifier may be carried, and the kernel group having the mapping relationship with the first resource group indicated by the identifier of the first resource group is the first kernel group.
  • the kernel in a kernel group processes the first resource. For example, one or more of the first kernel groups can be invoked to process the first resource.
  • invoking the kernel in the first kernel group to process the first resource may include: if the first resource access request carries the identifier of the first resource (of course, in the first resource access request) And the first resource indicated by the identifier of the first resource belongs to the first resource group, and the mapping with the first resource group is queried.
  • the kernel group is the first kernel group, and the kernel in the first kernel group is called to process the first resource. For example, one or more cores in the first kernel group can be invoked to process the first resource.
  • the resource access request for the resource group is mainly handled by the kernel group.
  • the first resource may also be culled from the first resource group, and/or the fifth resource may be added to a resource group.
  • the first resource may be removed from the first resource group according to the user instruction, and/or the fifth resource may be added to a resource group, or the first resource may be first from the first resource group according to the access situation of the first resource group.
  • the resource group is stripped, and/or the fifth resource is added to a resource group.
  • the mapping relationship between the resource group and the kernel group may be recorded in various manners.
  • the mapping relationship between the first resource group and the first kernel group may be recorded through a table.
  • the mapping relationship between the session and the kernel group may be recorded in various manners, for example, the mapping relationship between the first session and the first kernel group may be recorded through a table (recordable in the table) The identity of the first session and the identity of the first kernel group, etc., and so on.
  • the second resource access request may also be received. If the second resource access request carries the identifier of the first session identifier and the second resource, the first indicated by the first session identifier may be queried.
  • the kernel group in which the session has a mapping relationship is the first kernel group. If the second resource indicated by the identifier of the second resource is not attributed to the first resource group and belongs to the second resource group, the query has a mapping relationship with the second resource group.
  • the kernel group if the queried kernel group having the mapping relationship with the second resource group is the second kernel group, the kernel in the second kernel group may be invoked to process the second resource, where the second kernel group may include at least one Kernel. For example, one or more cores in the second kernel group can be invoked to process the second resource.
  • any one of the first kernel groups does not belong to the second kernel group, wherein the second kernel group is a kernel group different from the first kernel group, that is, different kernel groups contain different The kernel, no overlap.
  • the second kernel group is a kernel group different from the first kernel group, that is, different kernel groups contain different The kernel, no overlap.
  • some cores of the first kernel group may belong to the second kernel group and/or other internal leases.
  • the first kernel in the first kernel group can be invoked to process the first resource, wherein the first core can include one or more cores.
  • a second kernel in the second kernel group can be invoked to process the second resource, wherein the second core can include one or more cores.
  • the first kernel may also be culled from the first kernel group, and/or the second kernel may be added to the first kernel group (eg, the second core may be removed from the second After culling in the kernel group, the second kernel is added to the first kernel group).
  • the first kernel may be culled from the first kernel group according to user instructions, and/or the second kernel may be added to the first kernel group, or The first kernel may be removed from the first kernel group according to the access situation of the first resource group, and/or the second kernel may be added to the first kernel group, for example, when the access frequency of the first resource group is lowered to When a certain threshold is used, the first kernel may be removed from the first kernel group; when the access frequency of the first resource group is higher than a certain threshold, the second kernel may be added to the first kernel group, and other scenarios are This type of push.
  • all of the cores in the same kernel group may belong to the same or different non-uniform fetch model nodes.
  • the third resource access request may be received. If the third resource access request carries the identifier of the first session identifier and the third resource, the third resource may be queried according to the identifier of the third resource.
  • the resource group to which the third resource belongs is identified by the identifier, and if the resource group to which the third resource indicated by the identifier of the third resource belongs to the third resource group is queried according to the identifier of the third resource, the mapping may be queried with the third resource group.
  • the kernel group if it is found that the kernel group having the mapping relationship with the third resource group is the third kernel group, calls the kernel in the third kernel group to process the third resource, wherein the third kernel group includes at least one kernel. For example, one or more cores in the third kernel group can be invoked to process the third resource.
  • the fourth resource access request may be further received; if the third resource access request carries the first session identifier, the identifier of the fourth resource group, and the identifier of the fourth resource, where the fourth If the fourth resource indicated by the identifier of the resource belongs to the fourth resource group indicated by the identifier of the fourth resource group, the kernel group having the mapping relationship with the fourth resource group may be queried, where if the fourth resource group is queried The kernel group having the mapping relationship is the fourth kernel group, and the kernel in the fourth kernel group can be called to process the fourth resource, wherein the fourth kernel group includes at least one kernel. For example, one or more of the cores in the third kernel group can be invoked to process the third resource.
  • different grouping strategies can be selected as needed for resources and The kernel is grouped, and the grouping strategies in different scenarios may be different.
  • the grouping policy of the resource may include a combination of one or more of the following policy a1, policy a2, policy a3, policy a4, and policy a5: al. Try to divide resources with the same service type into the same resource group (may be It is understood that the service type may be a relative concept.
  • the service type may include a call service and a traffic service, where the call service may be further divided into a fixed line service and a mobile call service, and the mobile call service may be further divided into a roaming call service and a local call service.
  • the roaming call service can be further divided into inter-provincial roaming call service and international roaming call service, etc., and so on); a2, as far as possible, the resources strongly associated in the same business process can be divided into one resource group; a3.
  • the hotspot resources associated with the service are divided into different resource groups as much as possible; a4.
  • a resource with a large amount of data can be divided into multiple resource groups according to the partition processing of the table.
  • the kernel's grouping policy may include a combination of one or more of the following policies bl, policy b2, and policy b3: bl, kernel groups, and resource groups may be - corresponding relationships.
  • B2 The size of the kernel group should be adapted to the resource group that has a mapping relationship with the kernel group. For example, for a resource group with high performance requirements for upper-level key services, try to map a kernel group with a relatively large number of cores. B3.
  • the number of cores of the corresponding kernel group can be dynamically adjusted (for example, the kernel of the corresponding kernel group is added or removed), for example, the telecom billing service, and the call surges during the Spring Festival period, and the corresponding period can be increased accordingly.
  • the number of cores in the kernel group can be dynamically adjusted (for example, the kernel of the corresponding kernel group is added or removed), for example, the telecom billing service, and the call surges during the Spring Festival period, and the corresponding period can be increased accordingly.
  • the first resource group, the second resource group, the third resource group, or the fourth resource group may include partitions of at least one table and/or at least one table.
  • all resources in the first resource group, the second resource group, the third resource group, or the fourth resource group have the same service type.
  • the first resource group, the second resource group, the third resource group, or the fourth All resources in a resource group are resources that are associated in the same business process.
  • the first resource is processed by the kernel in the first kernel group, where the first resource belongs to the first resource group, and the first resource is the first resource access request.
  • the resource to be accessed the first kernel group includes at least one kernel, wherein the first resource group and the first kernel group have a mapping relationship. Since the resources and the kernel are grouped, and the mapping relationship between the resource group and the kernel group is established, a certain kernel group can mainly process the resources in the resource group with which the mapping relationship is related, thereby facilitating the improvement of the hit rate of the resources, and thus Conducive to improving performance.
  • the resources corresponding to the key services and the common services can be differentiated and grouped according to the needs, and the resource groups corresponding to the key services can be mapped with the kernel groups with stronger processing capabilities, which is beneficial to More reasonable allocation and management of the kernel, which is conducive to improving the coordination and uniformity of hardware layer management, is conducive to effectively improve the performance of key services, and is also conducive to not fully utilizing the current popular multi-core technology, improve parallelism, and help more fully
  • a parallel architecture such as NUMA (Non-Uniform Memory Access) is used.
  • the packet management mechanism based on the packet management mechanism, database-aware services are made possible.
  • the number of cores in the service-related kernel group can be dynamically adjusted or the mapping relationship between the resource group and the kernel group can be adjusted to ensure that the performance of key services is not rapidly reduced.
  • the database system can be more adaptive. Strong, business optimization ability is stronger.
  • the application scenarios that may be involved in the foregoing embodiments such as application scenarios for dividing resource groups, application scenarios for dividing kernel groups, mapping resource groups, and kernels, are exemplified. Group of scenes, etc.
  • FIG. 2 illustrates a resource access method according to another embodiment of the present invention, which may include the following content: 201. Divide resources into multiple resource groups based on a predetermined resource grouping policy;
  • the grouping policy of the resource may include a combination of one or more of the following policy a1, policy a2, policy a3, policy a4, and policy a5: al. Try to divide resources with the same service type into the same resource group; a2 Try to divide the strongly associated resources in the same business process into one resource group; a3.
  • the hotspot resources associated with the service are divided into different resource groups as much as possible; a4.
  • a resource with a large amount of data can be processed according to the partition of the table. Divided into multiple resource groups. A5. You can delete the old resource group or re-plan the resource group when the business is reorganized.
  • the basic units of resources in a resource group may be tables, table partitions, and the like.
  • Each resource group corresponds to a unique resource group identifier, and the resources in the resource group can be accessed according to the resource group identifier.
  • service table 1 and service table 2 can be divided into 1
  • the resource group (resource group si) has a large amount of data and has high performance requirements.
  • the service table 3 can be divided into multiple table partitions based on some fields of the service table 3 (Fig. 3-a) For example, the service table 3 is divided into two table partitions, and each table partition of the service table 3 is divided into different resource groups, where the table of the service table 3 is partitioned by way of example in FIG.
  • the resource partition s2 is divided into the resource group s3, and the table partition a2 of the service table 3 is divided into the resource group s3.
  • the kernel's grouping policy may include a combination of one or more of the following policy bl, policy b2, and policy b3: bl, kernel group, and resource group may be - corresponding relationships.
  • B2 The size of the kernel group should be adapted to the resource group that has a mapping relationship with the kernel group. For example, for a resource group with higher performance requirements for upper-level key services, try to map a kernel group with a relatively large number of cores.
  • the number of cores of the corresponding kernel group can be dynamically adjusted (for example, the kernel of the corresponding kernel group is added or removed), for example, the telecom billing service, the call surges during the Spring Festival period, and the number of cores of the corresponding kernel group can be increased during the period. .
  • the kernel topology of the CPU may be obtained by a system call or by viewing a system file, and the predetermined kernel grouping strategy logically divides it into different kernel groups, because it is a logical partitioning kernel group. Therefore, it does not affect the existing architecture.
  • Each kernel group can dynamically adjust the number of cores in the group. For example, for important service hotspot data, you can increase the number of cores to ensure the service processing performance of the kernel group corresponding to the corresponding resource group. For some data with less traffic, you can reduce the number of cores of the corresponding kernel group to make full use of hardware resources.
  • the kernel group can also be called a virtual box (VCR, Virtual Core Rack).
  • kernels 1 ⁇ 8 which can divide kernels 1 ⁇ 4 into kernel group cl, divide kernels 5 ⁇ 6 into kernel group c2, and divide kernels 7 ⁇ 8 into kernel group c3. .
  • the hotspot resource may be determined according to the amount of user access, and the different hotspot resource groups may be mapped to different kernel groups, thereby facilitating performance optimization of the service in the lower layer software of the database management system.
  • the mapping relationship between the resource group si and the kernel group cl can be established, and the mapping relationship between the resource group s2 and the kernel group c2 can be established, and the mapping between the resource group s3 and the kernel group c3 can be established. relationship.
  • the service table 3 may be re-partitioned, the service table 3 may be divided into more resource groups, and the corresponding kernel partitioning layout may be adjusted. Respond to business changes.
  • the traffic table 3 is re-partitioned.
  • Table 3 is divided into more resource groups (resource groups s2 ⁇ s4).
  • the layout of the kernel is adjusted. Kernels 3 ⁇ 4 are removed from kernel group cl, and kernels 3 ⁇ 4 are re-divided into kernel group c4.
  • the mapping relationship between the resource group si and the kernel group cl can be established, and the mapping relationship between the resource group s2 and the kernel group c2 can be established, and the mapping relationship between the resource group s3 and the kernel group c3 can be established, and resources can be established.
  • the resource identifiers of the resources ss1 represented by the resource identifiers may be queried according to the resource identifiers carried in the resource access request, and may be queried according to the resource group si to have a mapping relationship with the resource group si.
  • a service processing session mapped to a kernel group may be created (similar to creating A connection to a kernel group, where the service processing session corresponds to a session identifier, and the service processing session serves the entire user or service request period. If the mapping between the service processing session and the kernel group is established, when the resource access request carries the session identifier, the kernel group having the mapping relationship may also be queried according to the session identifier. The session identifier can be used to indicate the corresponding session.
  • the kernel instruction of the kernel group cl executes access only to the resources in the mapped resource group, the corresponding cache hit rate is greatly increased; and the resource group change only has the kernel mapped thereto.
  • the kernel cache in the group is affected, so the kernel execution efficiency can be greatly improved.
  • FIG. 4-a shows the implementation of the embodiment in a common hardware architecture. It is assumed that the hardware layer has six cores and is divided into two kernel groups, and the two kernel groups are respectively different resources. Group mapping association.
  • Figure 4-b shows the implementation of this embodiment in the NUMA hardware architecture.
  • the NUMA hardware system has multiple CPU modules (each CPU module can be regarded as one NUMA node), wherein each CPU module is composed of multiple CPUs (such as 4), and has independent local memory, I /O slot, etc., because the nodes can connect and exchange information through the interconnect module, therefore, each CPU can access the entire system memory.
  • each CPU module can be regarded as one NUMA node
  • each CPU module is composed of multiple CPUs (such as 4)
  • I /O slot, etc. because the nodes can connect and exchange information through the interconnect module, therefore, each CPU can access the entire system memory.
  • the speed of accessing local memory will be much higher than the speed of accessing remote memory (that is, the memory of other nodes in the system).
  • information interaction between different CPU modules needs to be minimized.
  • the solution of the embodiment of the present invention can fully utilize the advantages of the NUMA architecture, establish a mapping relationship between the kernel group and the NUMA node, and establish a mapping relationship between the resource group and the kernel group, so the resource access is directed to the specific NUMA node, so as not to By accessing memory across NUMA nodes, the performance of the entire NUMA hardware architecture will be greatly improved. It can be seen that the embodiment scheme has strong application scalability.
  • a certain kernel group can mainly process the resources in the resource group having the mapping relationship with it. After receiving the resource access request, the kernel in the kernel group associated with the mapped group is called to process the corresponding resource. Therefore, the solution is beneficial to improve the hit rate of the resource, thereby improving performance.
  • the resources corresponding to the key services and the common services can be differentiated and grouped according to the needs, and the resource groups corresponding to the key services can be mapped with the kernel groups with stronger processing capabilities, which is beneficial to More reasonable allocation and management of the kernel, which in turn helps improve the coordination and uniformity of hardware layer management, is conducive to effectively improve the performance of key services, and is also conducive to not fully utilizing the current multi-core technology, improve parallelism, and facilitate fuller utilization.
  • Parallel architecture such as non-uniform memory access model.
  • the packet management mechanism based on the packet management mechanism, database-aware services are made possible.
  • the number of cores in the service-related kernel group can be dynamically adjusted or the mapping relationship between the resource group and the kernel group can be adjusted to ensure that the performance of key services is not rapidly reduced.
  • the database system can be more adaptive. Strong, business optimization ability is stronger.
  • FIG. 5-a is a schematic diagram of a computer device 500 according to an embodiment of the present invention.
  • the computer device 500 may include: a receiving unit 510 and a calling unit 520.
  • the receiving unit 510 is configured to receive a first resource access request.
  • receiving unit 510 can receive a first resource access request from a client, and the resource access request can trigger a corresponding resource processing flow.
  • the resource access request may be requesting to query, calculate and/or store a certain resource, and of course, may request other processing.
  • the receiving unit 510 can be implemented based on a device such as a network card.
  • the calling unit 520 is configured to invoke a kernel in the first kernel group to process the first resource, where the first resource belongs to the first resource group, the first resource is a resource requested by the first resource access request, and the first kernel group includes at least A kernel has a mapping relationship between the first resource group and the first kernel group.
  • the first resource access request may carry the identifier of the first resource and the first session identifier (of course, the first resource access request may also carry the identifier of the first resource and/or the first
  • the calling unit 520 is specifically configured to query a kernel group having a mapping relationship with the first session indicated by the first session identifier, and the queried kernel group is the first kernel group, and the first kernel is invoked.
  • the kernel in the group processes the first resource.
  • the invoking unit 520 may be specifically configured to: if the first resource access request carries the identifier of the first resource group, of course, the first resource access request may also carry the first resource.
  • a resource For example, one or more cores in the first kernel group can be invoked to process the first resource.
  • the receiving unit 510 is further configured to receive the second resource access request, where the second resource access request carries the identifier of the first session identifier and the second resource.
  • the calling unit 520 is further configured to: query a kernel group that has a mapping relationship with the first session indicated by the first session identifier as a first kernel group, and if the second resource indicated by the identifier of the second resource does not belong to the first
  • the resource group is attributed to the second resource group, and the kernel group having the mapping relationship with the second resource group is queried. If the queried kernel group having the mapping relationship with the second resource group is the second kernel group, the second kernel group is called.
  • the kernel in the process processes the second resource, wherein the second kernel group includes at least one kernel. For example, one or more kernels in the second kernel group can be invoked to process the second resource. Referring to FIG.
  • the computer device 500 may further include: a kernel management unit 530, configured to remove the first kernel from the first kernel group, and/or add the second kernel Going into the first kernel group (for example, the second kernel may be added to the first kernel group after the second kernel is culled from the second kernel group).
  • the first kernel may be culled from the first kernel group according to a user instruction, and/or the second kernel may be added to the first kernel group, or the first kernel may be first from the first resource group according to the access situation of the first resource group.
  • the first kernel may be removed from the first kernel group;
  • the second kernel may be added to the first kernel group, and so on.
  • the computer device 500 may further include: a resource management unit 540, configured to remove the first resource from the first resource group, and/or add the fifth resource Go to a resource group.
  • a resource management unit 540 configured to remove the first resource from the first resource group, and/or add the fifth resource Go to a resource group.
  • the first resource may be removed from the first resource group according to the user instruction, and/or the fifth resource may be added to a resource group, or the first resource may be first from the first resource group according to the access situation of the first resource group.
  • the resource group is stripped, and/or the fifth resource is added to a resource group.
  • the mapping relationship between the resource group and the kernel group may be recorded in various manners.
  • the mapping relationship between the first resource group and the first kernel group may be recorded through a table. Other cases and so on.
  • the mapping relationship between the session and the kernel group can be recorded in various manners.
  • the mapping relationship between the first session and the first kernel group can be recorded through a table (in the table, Record the identity of the first session and the identity of the first kernel group, etc., and so on.
  • any one of the first kernel groups does not belong to the second The core group, wherein the second kernel group is a kernel group different from the first kernel group, that is, different kernel groups contain different cores, and there is no overlap.
  • the second kernel group is a kernel group different from the first kernel group, that is, different kernel groups contain different cores, and there is no overlap.
  • some kernels of the first kernel group may belong to the second kernel group and/or other internal leases.
  • the receiving unit 510 is further configured to receive a third resource access request.
  • the invoking unit 520 is further configured to: if the third resource access request carries the identifier of the first session identifier and the third resource, query the resource of the third resource represented by the identifier of the third resource according to the identifier of the third resource If the resource group to which the third resource belongs is the third resource group, the group of the kernel group having the mapping relationship with the third resource group may be queried if the query has a mapping relationship with the third resource group.
  • the kernel group is the third kernel group, and the kernel in the third kernel group is called to process the third resource, wherein the third kernel group includes at least one kernel. For example, one or more cores in the third kernel group can be invoked to process the third resource.
  • the receiving unit 510 is further configured to receive a fourth resource access request.
  • the invoking unit 520 is further configured to: if the third resource access request carries the first session identifier, the identifier of the fourth resource group, and the identifier of the fourth resource, where the fourth resource identifier represented by the identifier of the fourth resource belongs to
  • the fourth resource group represented by the identifier of the fourth resource group may query the kernel group that has a mapping relationship with the fourth resource group, where the kernel group having the mapping relationship with the fourth resource group is the fourth kernel.
  • the group may call the kernel in the fourth kernel group to process the fourth resource, wherein the fourth kernel group includes at least one kernel. For example, one or more cores in the third kernel group can be invoked to process the third resource.
  • the kernel management unit 530 and the resource management unit 540 may be configured according to Need to choose different grouping strategies to group resources and kernels, grouping strategies may be different in different scenarios.
  • the resource grouping policy of the resource management unit 540 may include a combination of one or more of the following policy a1, policy a2, policy a3, policy a4, and policy a5: al. Try to divide resources with the same service type into the same resource group A2. Try to divide the strongly associated resources in the same business process into one resource group; a3. The hotspot resources associated with the service are divided into different resource groups as much as possible; a4. A resource with a large amount of data can be partitioned according to the table. Processing, split into multiple resource groups. A5. When the business is reorganized, you can delete the old resource group or re-plan the resource group.
  • the kernel grouping policy of kernel management unit 530 can include a combination of one or more of policy bl, policy b2, and policy b3:
  • Bl, kernel groups, and resource groups can be -- corresponding relationships.
  • the size of the kernel group should be adapted to the resource group that has a mapping relationship with the kernel group. For example, for a resource group with high performance requirements for upper-level key services, try to map a kernel group with a relatively large number of cores.
  • the number of cores of the corresponding kernel group can be dynamically adjusted (for example, adding or removing the kernel of the corresponding kernel group),
  • the first resource group, the second resource group, the third resource group, or the fourth resource group may include partitions of at least one table and/or at least one table.
  • all resources in the first resource group, the second resource group, the third resource group, or the fourth resource group have the same service type.
  • all resources in the first resource group, the second resource group, the third resource group, or the fourth resource group are resources that are strongly associated in the same service process.
  • each function module of the computer device 500 may be a software-implemented function module, and may be implemented by a hardware circuit, for example, the receiving unit 510 may be configured to receive and receive a network card, a radio frequency module, a Wi-Fi chip, etc., regardless of cost.
  • the functional hardware unit, the calling unit 520 may be a Central Processing Unit (CPU), or an Application Specific Integrated Circuit (ASIC), or configured to implement the embodiments of the present invention.
  • the function of the calling unit is one or more integrated circuits.
  • the computer device 500 after receiving the first resource access request, invokes a kernel in the first kernel group to process the first resource, where the first resource belongs to the first resource group, and the first resource is the first resource.
  • the first kernel group includes at least one kernel, and the first resource group and the first kernel group have a corresponding mapping relationship. Since the resources and the kernel are grouped, and the mapping relationship between the resource group and the kernel group is established, a certain kernel group can mainly process the resources in the resource group with which the mapping relationship is related, thereby facilitating the improvement of the hit rate of the resources, and thus Conducive to improving performance.
  • the resources corresponding to the key services and the common services can be differentiated and grouped according to the needs, and the resource groups corresponding to the key services can be mapped with the kernel groups with stronger processing capabilities, which is beneficial to More reasonable allocation and management of the kernel, which in turn helps improve the coordination and uniformity of hardware layer management, is conducive to effectively improve the performance of key services, and is also beneficial to not fully utilizing the current multi-core technology, improve parallelism, and facilitate fuller utilization.
  • Parallel architecture such as non-uniform memory access model.
  • the packet management mechanism based on the packet management mechanism, database-aware services are made possible.
  • the number of cores in the service-related kernel group can be dynamically adjusted or the mapping relationship between the resource group and the kernel group can be adjusted to ensure that the performance of the key service is not rapidly reduced.
  • the database system can be more adaptive, and the service can be improved. More optimization.
  • FIG. 6 is a schematic diagram of a computer device 600 according to an embodiment of the present invention.
  • the computer device 600 may include: a mapping controller 610, a resource manager 620, a kernel manager 630, a thread mapper 640, and a mapping monitor 650.
  • the mapping controller 610 can be used to manage the mapping relationship between the resource group and the kernel group, and query the corresponding kernel group according to the resource access request to create a mapping thread.
  • the resource manager 620 can be used to group existing resources according to the needs of the service, for example, several table partitions or table creation resource groups can be organized. And can be adjusted dynamically.
  • the kernel manager 630 can dynamically partition new kernel groups, adjust the number of kernel group cores, and be responsible for load balancing of cores within the kernel group.
  • the thread mapper 640 can be used to establish a kernel-frame-based thread mapping, manage the mapping relationship between the user-mode thread and the kernel-state thread, map the kernel thread, and release the kernel thread to manage the operating system resources.
  • the mapping relationship between the kernel group and the NUMA node is established in the hardware of the NUMA system.
  • the mapping monitor 650 is used to monitor the running status of each module and provide statistics and alarms. It is to be understood that the functions of the functional modules of the computer device 600 of the present embodiment may be specifically implemented according to the method in the foregoing method embodiments. For the specific implementation process, reference may be made to the related description of the foregoing method embodiments, and details are not described herein again.
  • FIG. 7 is a schematic structural diagram of a computer device according to the present invention.
  • the computer device 700 of this embodiment includes at least one bus 701, at least one processor 702 connected to the bus 701, and a bus 701.
  • a network interface 703 the processor 702 includes a plurality of cores, and The plurality of cores are divided into at least two kernel groups.
  • the network interface 703 is configured to receive the first resource access request.
  • the processor 702 is configured to invoke the kernel in the first kernel group to process the first resource, where the first resource belongs to the first resource group, and the first resource is the first resource.
  • the resource accessed by the resource access request, the first kernel group includes at least one of the plurality of cores, and the first resource group and the first kernel group have a mapping relationship.
  • the processor 702 can trigger a corresponding resource processing procedure according to the first resource access request received from the client by the network interface 703.
  • the resource access request may be requesting query, calculation and/or storage of a resource, and of course, other processing may be requested.
  • the first resource access request may carry the identifier of the first resource and the first session identifier (of course, the first resource access request may also carry the identifier of the first resource and/or the first An identifier of a resource group, etc., wherein the processor 702 may further query a kernel group having a mapping relationship with the first session indicated by the first session identifier before calling the kernel in the first kernel group to process the first resource, where The kernel group that is queried is the first kernel group. For example, one or more cores in the first kernel group can be invoked to process the first resource.
  • the processor 702 invoking the kernel in the first kernel group to process the first resource may include: if the first resource access request carries the identifier of the first resource group (of course, the first resource access request The identifier of the first resource and/or the session identifier may be carried in the middle, and the kernel group having the mapping relationship with the first resource group indicated by the identifier of the first resource group is the first kernel group.
  • the kernel in the first kernel group processes the first resource. For example, one or more cores in the first kernel group can be invoked to process the first resource.
  • the processor 702 can invoke a first kernel in the first kernel group to process the first resource, wherein the first core can include one or more cores.
  • the second kernel in the second kernel group can be called to process the second asset The source, where the second core can include one or more cores.
  • the processor 702 may also cull the first kernel from the first kernel group and/or add the second kernel to the first kernel group (eg, the second core may be After culling from the second kernel group, the second kernel is added to the first kernel group).
  • the first kernel may be culled from the first kernel group according to a user instruction, and/or the second kernel may be added to the first kernel group, or the first kernel may be first from the first resource group according to the access situation of the first resource group.
  • the first kernel may be removed from the first kernel group;
  • the second kernel may be added to the first kernel group, and so on.
  • processor 702 may also cull the first resource from the first resource group and/or add the fifth resource to a resource group.
  • the first resource may be removed from the first resource group according to the user instruction, and/or the fifth resource may be added to a resource group, or the first resource may be first from the first resource group according to the access situation of the first resource group.
  • the resource group is stripped, and/or the fifth resource is added to a resource group.
  • the processor 702 can record the mapping relationship between the resource group and the kernel group in various manners. For example, the mapping between the first resource group and the first kernel group can be recorded through a table. Relationship, other situations and so on.
  • the processor 702 can record the mapping relationship between the session and the kernel group in various manners.
  • the mapping relationship between the first session and the first kernel group can be recorded through a table ( The table can record the identity of the first session and the identity of the first kernel group, etc., and so on.
  • the network interface 703 may also receive a second resource access request;
  • the second resource access request carries the identifier of the first session identifier and the second resource
  • the processor 702 queries the kernel group that has the mapping relationship with the first session indicated by the first session identifier as the first kernel group, and then determines Whether the second resource belongs to the first resource group, and if the second resource indicated by the identifier of the second resource is not attributed to the first resource group but belongs to the second resource group, the query has a mapping relationship with the second resource group. If the kernel group that is mapped to the second resource group is the second kernel group, the kernel in the second kernel group is called to process the second resource, where the second kernel group includes at least one kernel. For example, one or more of the kernels in the second kernel group can be invoked to process the second resource.
  • any one of the first kernel groups does not belong to the second kernel group, wherein the second kernel group is a kernel group different from the first kernel group, that is, different kernel groups contain different The kernel, no overlap.
  • the second kernel group is a kernel group different from the first kernel group, that is, different kernel groups contain different The kernel, no overlap.
  • some cores of the first kernel group may belong to the second kernel group and/or other internal leases.
  • the network interface 703 may further receive the third resource access request. If the third resource access request carries the identifier of the first session identifier and the third resource, the processor 702 may be configured according to the third resource. The identifier of the resource group to which the third resource belongs is queried, and if the resource group to which the third resource indicated by the identifier of the third resource belongs to the third resource group is queried according to the identifier of the third resource, the mapping relationship with the third resource group may be queried. The kernel group, if it is found that the kernel group having the mapping relationship with the third resource group is the third kernel group, calls the kernel in the third kernel group to process the third resource, wherein the third kernel group includes at least one kernel. For example, one or more cores in the third kernel group can be invoked to process the third resource.
  • the network interface 703 may further receive the fourth resource access request, where the third resource access request carries the first session identifier, the identifier of the fourth resource group, and the identifier of the fourth resource, where The fourth resource indicated by the identifier of the fourth resource belongs to the identifier of the fourth resource group.
  • the fourth resource group the processor 702 can query the kernel group that has a mapping relationship with the fourth resource group, where the kernel group that has the mapping relationship with the fourth resource group is the fourth kernel group,
  • the kernel in the quad core group processes the fourth resource, wherein the fourth kernel group includes at least one kernel. For example, one or more of the cores in the third kernel group can be invoked to process the third resource.
  • processor 702 may select different grouping policies to group resources and cores as needed, and grouping strategies may vary from scenario to scenario.
  • the grouping policy of the resource may include a combination of one or more of the following policy a1, policy a2, policy a3, policy a4, and policy a5: al. Try to divide resources with the same service type into the same resource group; a2 Try to divide the strongly associated resources in the same business process into one resource group; a3.
  • the hotspot resources associated with the service are divided into different resource groups as much as possible; a4.
  • a resource with a large amount of data can be processed according to the partition of the table. Divided into multiple resource groups. A5. You can delete the old resource group or re-plan the resource group when the business is reorganized.
  • the kernel's grouping policy may include a combination of one or more of the following policies bl, policy b2, and policy b3: bl, kernel groups, and resource groups may be - corresponding relationships.
  • B2 The size of the kernel group should be adapted to the resource group that has a mapping relationship with the kernel group. For example, for a resource group with high performance requirements for upper-level key services, try to map a kernel group with a relatively large number of cores. B3.
  • the number of cores of the corresponding kernel group can be dynamically adjusted (for example, the kernel of the corresponding kernel group is added or removed), for example, the telecom billing service, and the call surges during the Chinese New Year period, and the corresponding kernel group can be increased during the time period.
  • the number of cores can be dynamically adjusted (for example, the kernel of the corresponding kernel group is added or removed), for example, the telecom billing service, and the call surges during the Chinese New Year period, and the corresponding kernel group can be increased during the time period. The number of cores.
  • the first resource group, the second resource group, the third resource group, or the fourth resource group may include partitions of at least one table and/or at least one table.
  • the first resource group, the second resource group, the third resource group, or the fourth All resources in the resource group have the same business type.
  • all resources in the first resource group, the second resource group, the third resource group, or the fourth resource group are resources that are strongly associated in the same service flow.
  • the processor 702 calls the kernel in the first kernel group to process the first resource, where the first resource belongs to the first resource group, the first The resource is the resource requested by the first resource access request, and the first kernel group includes at least one kernel, wherein the first resource group and the first kernel group have a corresponding mapping relationship. Since the resources and the kernel are grouped, and the mapping relationship between the resource group and the kernel group is established, a certain kernel group can mainly process the resources in the resource group with which the mapping relationship is related, thereby facilitating the improvement of the hit rate of the resources, and thus Conducive to improving performance.
  • the resources corresponding to the key services and the common services can be differentiated and grouped according to the needs, and the resource groups corresponding to the key services can be mapped with the kernel groups with stronger processing capabilities, which is beneficial to More reasonable allocation and management of the kernel, which in turn helps improve the coordination and uniformity of hardware layer management, is conducive to effectively improve the performance of key services, and is also conducive to not fully utilizing the current multi-core technology, improve parallelism, and facilitate fuller utilization.
  • Parallel architecture such as non-uniform memory access model.
  • database-aware services are made possible.
  • the number of cores in the service-related kernel group can be dynamically adjusted or the mapping relationship between the resource group and the kernel group can be adjusted to ensure that the performance of key services is not rapidly reduced.
  • the database system can be made. More adaptable and more business-optimized.
  • FIG. 8 illustrates a structure of a computer device 800 according to an embodiment of the present invention.
  • the computer device 800 includes: at least one processor 801, such as a CPU, at least one network interface 804, a memory 805, and at least one communication bus 802.
  • Communication bus 802 is used to implement connection communication between these components.
  • the communication terminal 800 optionally includes a user interface 803 for connecting a display, a keyboard or a pointing device (e.g., a mouse, a trackball, a touchpad, or a touch sensitive display).
  • the memory 805 may include a high speed RAM memory and may also include a non-volatile memory such as at least one disk memory.
  • the memory 805 can optionally include at least one storage device located remotely from the aforementioned processor 801.
  • memory 805 stores the following elements, executable modules or data structures, or a subset thereof, or their extension set:
  • the operating system 8051 which contains various system programs for implementing various basic services and handling hardware-based tasks;
  • Application module 8052 which contains various applications for implementing various application services.
  • the application module 8052 includes, but is not limited to, a receiving unit 510 and a calling unit 520.
  • the application module 8052 may also include, but is not limited to, a resource management unit 540 and a kernel management unit 530.
  • each module in the application module 8052 refers to the corresponding modules in the embodiment shown in Figure 5-a ⁇ 5-c, and details are not described herein.
  • the processor 801 is configured to: receive the first resource access request by using the network interface 804 by calling the program or the instruction stored in the memory 808; and calling the kernel in the first kernel group to process the first resource, where A resource belongs to the first resource group, and the first resource is the first resource access.
  • the resource requested to be accessed, the first kernel group includes at least one kernel, and the first resource group and the first kernel group have a binding mapping relationship.
  • the processor 801 can receive a first resource access request from the client through the network interface 804, and the resource access request can trigger a corresponding resource processing flow.
  • the resource access request may be requesting query, calculation and/or storage of a certain resource, and of course, other processing may be requested.
  • the first resource access request may carry the identifier of the first resource and the first session identifier (of course, the first resource access request may also carry the identifier of the first resource and/or the first An identifier of a resource group, etc., wherein the processor 801 may further query a kernel group having a mapping relationship with the first session indicated by the first session identifier before calling the kernel in the first kernel group to process the first resource, where The kernel group that is queried is the first kernel group. For example, one or more cores in the first kernel group can be invoked to process the first resource.
  • the processor 801 invoking the kernel in the first kernel group to process the first resource may include: if the first resource access request carries the identifier of the first resource group (of course, the first resource access request The identifier of the first resource and/or the session identifier may be carried in the middle, and the kernel group having the mapping relationship with the first resource group indicated by the identifier of the first resource group is the first kernel group.
  • the kernel in the first kernel group processes the first resource. For example, one or more cores in the first kernel group can be invoked to process the first resource.
  • the processor 801 can invoke a first kernel in the first set of kernels to process the first resource, wherein the first core can include one or more cores.
  • a second kernel in the second kernel group can be invoked to process the second resource, wherein the second core can include one or more cores.
  • the processor 801 may also cull the first kernel from the first kernel group, and/or add the second kernel to the first kernel group (eg, the second core may be From the second After culling in the kernel group, the second kernel is added to the first kernel group).
  • the first kernel may be culled from the first kernel group according to a user instruction, and/or the second kernel may be added to the first kernel group, or the first kernel may be first from the first resource group according to the access situation of the first resource group.
  • the first kernel may be removed from the first kernel group;
  • the second kernel may be added to the first kernel group, and so on.
  • processor 801 may also cull the first resource from the first resource group and/or add the fifth resource to a resource group.
  • the first resource may be removed from the first resource group according to the user instruction, and/or the fifth resource may be added to a resource group, or the first resource may be first from the first resource group according to the access situation of the first resource group.
  • the resource group is stripped, and/or the fifth resource is added to a resource group.
  • the processor 801 can record the mapping relationship between the resource group and the kernel group in various manners. For example, the mapping between the first resource group and the first kernel group can be recorded through a table. Relationship, other situations and so on.
  • the processor 801 can record the mapping relationship between the session and the kernel group in various manners.
  • the mapping relationship between the first session and the first kernel group can be recorded through a table ( The table can record the identity of the first session and the identity of the first kernel group, etc., and so on.
  • the processor 801 may further receive the second resource access request by using the network interface 804.
  • the second resource access request carries the identifier of the first session identifier and the second resource, and the query is
  • the kernel group having a mapping relationship with the first session indicated by the first session identifier is the first kernel group, and determining whether the second resource belongs to the first resource group, and if the identifier of the second resource is determined If the indicated second resource is not attributed to the first resource group and belongs to the second resource group, the kernel group having the mapping relationship with the second resource group is queried, and if the kernel group having the mapping relationship with the second resource group is queried,
  • the second kernel group calls the kernel in the second kernel group to process the second resource, wherein the second kernel group includes at least one kernel. For example, one or more cores in the second kernel group can be invoked to process the second resource.
  • any one of the first kernel groups does not belong to the second kernel group, wherein the second kernel group is a kernel group different from the first kernel group, that is, different kernel groups contain different The kernel, no overlap.
  • the second kernel group is a kernel group different from the first kernel group, that is, different kernel groups contain different The kernel, no overlap.
  • some cores of the first kernel group may belong to the second kernel group and/or other internal leases.
  • the processor 801 may further receive the third resource access request by using the network interface 804; if the third resource access request carries the identifier of the first session identifier and the third resource, according to the third resource
  • the identifier of the resource group to which the third resource belongs is queried, and if the resource group to which the third resource indicated by the identifier of the third resource belongs to the third resource group is queried according to the identifier of the third resource, the mapping relationship with the third resource group may be queried.
  • the kernel group if it is found that the kernel group having the mapping relationship with the third resource group is the third kernel group, calls the kernel in the third kernel group to process the third resource, wherein the third kernel group includes at least one kernel. For example, one or more cores in the third kernel group can be invoked to process the third resource.
  • the processor 801 may further receive the fourth resource access request by using the network interface 804; if the third resource access request carries the first session identifier, the identifier of the fourth resource group, and the fourth resource An identifier, where the fourth resource indicated by the identifier of the fourth resource belongs to the fourth resource group indicated by the identifier of the fourth resource group, and the kernel group having the mapping relationship with the fourth resource group may be queried, where The kernel group having a mapping relationship with the fourth resource group is the fourth kernel group, The kernel in the fourth kernel group is called to process the fourth resource, wherein the fourth kernel group includes at least one kernel. For example, one or more of the cores in the third kernel group can be invoked to process the third resource.
  • the processor 801 may select different grouping policies to group resources and cores as needed, and the grouping policies may be different in different scenarios.
  • the grouping policy of the resource may include a combination of one or more of the following policy a1, policy a2, policy a3, policy a4, and policy a5: al. Try to divide resources with the same service type into the same resource group; a2 Try to divide the strongly associated resources in the same business process into one resource group; a3.
  • the hotspot resources associated with the service are divided into different resource groups as much as possible; a4.
  • a resource with a large amount of data can be processed according to the partition of the table. Divided into multiple resource groups. A5. You can delete the old resource group or re-plan the resource group when the business is reorganized.
  • the kernel's grouping policy may include a combination of one or more of the following policies bl, policy b2, and policy b3: bl, kernel groups, and resource groups may be - corresponding relationships.
  • B2 The size of the kernel group should be adapted to the resource group that has a mapping relationship with the kernel group. For example, for a resource group with high performance requirements for upper-level key services, try to map a kernel group with a relatively large number of cores. B3.
  • the number of cores of the corresponding kernel group can be dynamically adjusted (for example, the kernel of the corresponding kernel group is added or removed), for example, the telecom billing service, and the call surges during the Chinese New Year period, and the corresponding kernel group can be increased during the time period.
  • the number of cores can be dynamically adjusted (for example, the kernel of the corresponding kernel group is added or removed), for example, the telecom billing service, and the call surges during the Chinese New Year period, and the corresponding kernel group can be increased during the time period. The number of cores.
  • the first resource group, the second resource group, the third resource group, or the fourth resource group may include partitions of at least one table and/or at least one table.
  • all resources in the first resource group, the second resource group, the third resource group, or the fourth resource group have the same service type.
  • the first resource group, the second resource group, the third resource group, or the fourth All resources in a resource group are resources that are strongly associated in the same business process.
  • the processor 801 receives the first resource access request, and invokes the kernel in the first kernel group to process the first resource, where the first resource belongs to the first resource group, and the first resource is the first resource.
  • the first kernel group includes at least one kernel, and the first resource group and the first kernel group have a corresponding mapping relationship. Since the resources and the kernel are grouped, and the mapping relationship between the resource group and the kernel group is established, a certain kernel group can mainly process the resources in the resource group with which the mapping relationship is related, thereby facilitating the improvement of the hit rate of the resources, and thus Conducive to improving performance.
  • the resources corresponding to the key services and the common services can be differentiated and grouped according to the needs, and the resource groups corresponding to the key services can be mapped with the kernel groups with stronger processing capabilities, which is beneficial to More reasonable allocation and management of the kernel, which in turn helps improve the coordination and uniformity of hardware layer management, is conducive to effectively improve the performance of key services, and is also conducive to not fully utilizing the current multi-core technology, improve parallelism, and facilitate fuller utilization.
  • Parallel architecture such as non-uniform memory access model.
  • the packet management mechanism based on the packet management mechanism, database-aware services are made possible.
  • the number of cores in the service-related kernel group can be dynamically adjusted or the mapping relationship between the resource group and the kernel group can be adjusted to ensure that the performance of key services is not rapidly reduced.
  • the database system can be more adaptive. Strong, business optimization ability is stronger.
  • the embodiment of the invention further provides a schematic diagram of a multi-core mobile phone 900, wherein the multi-core mobile phone 900 It may be used to implement some or all of the functions of computer device 500, computer device 600, computer device 700, or computer device 800 in the above-described embodiments.
  • a multi-core mobile phone includes a radio frequency (RF) circuit 910 and a memory.
  • RF radio frequency
  • WiFi wireless fidelity
  • the multi-core mobile phone structure shown in FIG. 9 does not constitute a limitation on a multi-core mobile phone, and may include more or less components than those illustrated, or combine some components, or different components. Arrangement.
  • the RF circuit 910 can be used for receiving and transmitting signals during the transmission and reception of information or during a call. Specifically, after receiving the downlink information of the base station, the processing is processed by the processor 980. In addition, the uplink data is designed to be sent to the base station.
  • RF circuits include, but are not limited to, an antenna, at least one amplifier, a transceiver, a coupler, a Low Noise Amplifier (LNA), a duplexer, and the like.
  • LNA Low Noise Amplifier
  • RF circuit 910 can also communicate with the network and other devices via wireless communication.
  • the above wireless communication may use any communication standard or protocol, including but not limited to Global System of Mobile communication (GSM), General Packet Radio Service (GPRS), and code division multiple access ( Code Division Multiple Access (CDMA), Wideband Code Division Multiple Access (WCDMA), Long Term Evolution (LTE), e-mail, Short Messaging Service (SMS), etc. .
  • GSM Global System of Mobile communication
  • GPRS General Packet Radio Service
  • CDMA Code Division Multiple Access
  • WCDMA Wideband Code Division Multiple Access
  • LTE Long Term Evolution
  • SMS Short Messaging Service
  • the memory 920 can be used to store software programs and modules, and the processor 980 can be stored by running The software programs and modules stored in the memory 920 perform various functional applications and data processing of the multi-core handset.
  • the memory 920 may mainly include a storage program area and a storage data area, wherein the storage program area may store an operating system, an application required for at least one function (such as a sound playing function, an image playing function, etc.), and the like; the storage data area may be stored according to Data created by the use of multi-core phones (such as audio data, phone books, etc.).
  • memory 920 can include high speed random access memory, and can also include non-volatile memory, such as at least one magnetic disk storage device, flash memory device, or other volatile solid state storage device.
  • the input unit 930 can be used to receive input numeric or character information, as well as to generate key signal inputs related to user settings and function control of the multi-core handset 900.
  • the input unit 930 can include a touch panel 931 and other input devices 932.
  • the touch panel 931 also referred to as a touch screen, can collect touch operations on or near the user (such as a user using a finger, a stylus, or the like on the touch panel 931 or near the touch panel 931. Operation), and drive the corresponding connecting device according to a preset program.
  • the touch panel 931 can include two parts: a touch detection device and a touch controller.
  • the touch detection device detects the touch orientation of the user, and detects a signal brought by the touch operation, and transmits the signal to the touch controller; the touch controller receives the touch information from the touch detection device, converts the touch information into contact coordinates, and sends the touch information
  • the processor 980 is provided and can receive commands from the processor 980 and execute them.
  • the touch panel 931 can be implemented in various types such as resistive, capacitive, infrared, and surface acoustic waves.
  • the input unit 930 may also include other input devices 932.
  • other input devices 932 may include, but are not limited to, one or more of a physical keyboard, function keys (such as volume control buttons, switch buttons, etc.), trackballs, mice, joysticks, and the like.
  • the display unit 940 can be used to display information input by the user or information provided to the user. And a variety of menus for multi-core phones.
  • the display unit 940 can include a display panel 941.
  • the display panel 941 can be configured in the form of a liquid crystal display (LCD), an organic light-emitting diode (OLED), or the like.
  • the touch panel 931 can cover the display panel 941. When the touch panel 931 detects a touch operation on or near the touch panel 931, it transmits to the processor 980 to determine the type of the touch event, and then the processor 980 according to the touch event. The type provides a corresponding visual output on display panel 941.
  • the touch panel 931 and the display panel 941 are two independent components to implement the input and input functions of the multi-core mobile phone, in some embodiments, the touch panel 931 can be integrated with the display panel 941. And realize the input and output functions of multi-core mobile phones.
  • the multi-core mobile phone 900 may further include at least one type of sensor 950, such as a light sensor, a motion sensor, and other sensors.
  • the light sensor may include an ambient light sensor and a proximity sensor, wherein the ambient light sensor may adjust the brightness of the display panel 941 according to the brightness of the ambient light, and the proximity sensor may close the display panel 941 when the multi-core mobile phone moves to the ear / or backlight.
  • the accelerometer sensor can detect the acceleration of all directions (usually three axes). When it is still, it can detect the magnitude and direction of gravity.
  • An audio circuit 960, a speaker 961, and a microphone 962 can provide an audio interface between the user and the multi-core handset.
  • the audio circuit 960 can transmit the converted audio signal of the received audio data to the speaker 961, and convert it into a sound signal output by the speaker 961; on the other hand, the microphone 962 converts the collected sound signal into an electrical signal, and the audio circuit 960 Convert to audio data after receiving, then audio data
  • the output processor 980 processes the RF circuit 910 for transmission to, for example, another multi-core handset, or outputs the audio data to the memory 920 for further processing.
  • WiFi is a short-range wireless transmission technology. Multi-core mobile phones can help users send and receive e-mail, browse web pages and access streaming media through the WiFi module 970. It provides users with wireless broadband Internet access.
  • FIG. 9 shows the WiFi module 970, it can be understood that it does not belong to the essential configuration of the multi-core mobile phone 900, and can be omitted as needed within the scope of not changing the essence of the invention.
  • Processor 980 is the control center for a multi-core handset that connects various portions of the entire multi-core handset using various interfaces and lines, by running or executing software programs and/or modules stored in memory 920, and recalling data stored in memory 920. , Performing various functions and processing data of multi-core mobile phones to monitor the overall operation of multi-core mobile phones.
  • the processor 980 may include one or more processing units.
  • the processor 980 may integrate an application processor and a modem processor, where the application processor mainly processes an operating system, a user interface, an application, and the like.
  • the modem processor primarily handles wireless communications.
  • the multi-core handset 900 also includes a power source 990 (such as a battery) that supplies power to various components.
  • a power source 990 such as a battery
  • the power supply can be logically coupled to the processor 980 through a power management system to manage functions such as charging, discharging, and power management through the power management system.
  • the multi-core mobile phone 900 may further include a camera, a Bluetooth module, and the like, and will not be described herein.
  • the processor 980 is configured to receive the first resource access request, and invoke the kernel in the first kernel group to process the first resource, where the first resource belongs to the first resource group, and the first resource is The resource requested by the first resource access request, the first kernel group includes at least one The core has a mapping relationship between the first resource group and the first kernel group.
  • the embodiment of the present invention further provides a computer storage medium, wherein the computer storage medium may store a program, and the program includes some or all of the steps of the resource access method described in the foregoing method embodiment.
  • the disclosed apparatus may be implemented in other manners.
  • the device embodiments described above are merely illustrative.
  • the division of the unit is only a logical function division.
  • there may be another division manner for example, multiple units or components may be combined or may be Integration into another system, or some features can be ignored, or not executed.
  • the coupling or direct coupling or communication connection shown or discussed may be an indirect coupling or communication connection through some interface, device or unit, and may be electrical or otherwise.
  • the components displayed by the unit may or may not be physical units, that is, may be located in one place, or may be distributed to multiple network units.
  • each functional unit in each embodiment of the present invention may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit.
  • the above integrated unit can be implemented in the form of hardware or in the form of a software functional unit.
  • the integrated unit if implemented in the form of a software functional unit and sold or used as a standalone product, may be stored in a computer readable storage medium.
  • the technical solution of the present invention may contribute to the prior art or all or part of the technical solution may be embodied in the form of a software product stored in a storage medium.
  • a number of instructions are included to cause a computer device (which may be a personal computer, server or network device, etc.) to perform all or part of the steps of the methods described in various embodiments of the present invention.
  • the foregoing storage medium includes: a U disk, a Read-Only Memory (ROM), a Random Access Memory (RAM), a removable hard disk, a magnetic disk, or an optical disk, and the like, which can store program code. .

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

Disclosed are a resource access method and a related device. The resource access method may comprises: receiving a first resource access request; and invoking a first resource, for kernel processing, in a first kernel group, the first resource belonging to a first resource group, the first resource being a resource whose access is requested by the first resource access request, the first kernel group comprising at least one kernel, and the first resource group and the first kernel group are in a mapping relationship. The technical solutions provided by embodiments of the present invention help improve a hit rate of a resource and further improve performance.

Description

一种资源访问方法和计算机设备  Resource access method and computer equipment
技术领域 Technical field
本发明涉及计算机技术领域, 具体涉及一种资源访问方法和计算机设备。 背景技术  The present invention relates to the field of computer technologies, and in particular, to a resource access method and a computer device. Background technique
由于受芯片功率和热效应的制约,单纯的通过提高主频来提高处理器运行 速度的做法已经不再可行,因此,出现了在一个处理器中集成多个计算引擎(内 核)的多核技术,例如,通常说的双核处理器,就是集成了两个内核的处理器。 其中, 多核技术快速发展使得个计算机的并行处理性能大幅提高, 能够高性能 的处理大量请求, 可以取代一定规模的集群。 同时, 随着中央处理器 (CPU, Central Processing Umt )制造工艺的提升 , CPU内核的緩存容量大幅提升, 能 够緩存更多的数据与指令,使得数据访问的速度更好的适应 CPU的处理速度, 可以充分利用 CPU性能。  Due to the constraints of chip power and thermal effects, it is no longer feasible to simply increase the operating speed of the processor by increasing the frequency. Therefore, multi-core technology that integrates multiple computing engines (cores) in one processor has emerged, for example. The dual-core processor is usually a processor that integrates two cores. Among them, the rapid development of multi-core technology has greatly improved the parallel processing performance of a computer, and can process a large number of requests with high performance, which can replace a cluster of a certain scale. At the same time, with the improvement of the manufacturing process of the CPU (Central Processing Umt), the cache capacity of the CPU core is greatly improved, and more data and instructions can be cached, so that the speed of data access is better adapted to the processing speed of the CPU. Take full advantage of CPU performance.
然而,在例如数据库领域,传统数据库管理***并未适应主机多核技术的 发展, 未充分利用现有多核架构来提升性能。传统的数据库管理***基于客户 端 /服务器(C/S, Client/Server )模式, 对于每个用户的访问请求, 服务器端会 建立相对应的用户处理会话, 其中,每个用户处理会话可对应一个操作***用 户态线程。 其中, 这些用户态线程会***作***随机调度到不同的 CPU内核 去执行。 CPU 内核会根据用户的请求去, 访问整个数据库***的数据资源或 程序指令。 整个数据库***完全不感知多核的存在, 完全依赖操作***调度。 现有其它多核架构下的资源访问场景与之类似。  However, in the database field, for example, traditional database management systems have not adapted to the development of host multi-core technology, and have not fully utilized existing multi-core architectures to improve performance. The traditional database management system is based on the client/server (C/S, Client/Server) mode. For each user's access request, the server establishes a corresponding user processing session, where each user processing session can correspond to one. Operating system user state thread. Among them, these user state threads are randomly scheduled by the operating system to execute to different CPU cores. The CPU core accesses the data resources or program instructions of the entire database system based on the user's request. The entire database system is completely unaware of the existence of multiple cores and relies entirely on operating system scheduling. The resource access scenarios under other existing multi-core architectures are similar.
对现有技术的研究和实践发现, 传统的应用层(如数据库管理***)通常 不感知主机的处理器存在多核, 处理请求依赖操作***内部调度, 由主机的多 核处理器分发到各个 CPU内核。 每个 CPU内核访问资源是全局资源, 高速緩 存中緩存的信息在不断换进换出, 资源命中率低, 无法充分利用高速緩存。 緩 存同步效率相对较低, 当緩存资源失效时, 需要通知所有相关的 CPU内核淘 汰緩存资源。 Research and practice on existing technologies have found that traditional application layers (such as database management systems) are usually The processor that does not perceive the host has multiple cores, and the processing request depends on the internal scheduling of the operating system, and is distributed by the host's multi-core processor to each CPU core. Each CPU core access resource is a global resource, and the cached information in the cache is constantly swapped in and out, the resource hit rate is low, and the cache cannot be fully utilized. Cache synchronization is relatively inefficient. When the cache resource fails, all relevant CPU cores need to be notified to eliminate the cache resources.
发明内容 Summary of the invention
本发明实施例提供一种资源访问方法和计算机设备,以期提高资源命中率 进而提升性能。  The embodiment of the invention provides a resource access method and a computer device, so as to improve the resource hit rate and improve the performance.
本发明第一方面提供一种资源访问方法, 可包括: 接收第一资源访问请求;  A first aspect of the present invention provides a resource access method, which may include: receiving a first resource access request;
调用第一内核组中的内核处理第一资源, 其中, 所述第一资源归属于第一 资源组, 所述第一资源为所述第一资源访问请求所请求访问的资源, 所述第一 内核组包括至少一个内核, 其中, 所述第一资源组和所述第一内核组之间具有 映射关系。 结合第一方面,在第一种可能的实施方式中, 所述第一资源访问请求中携 带有第一资源的标识和第一会话标识; 在所述调用第一内核组中的内核处理第一资源之前, 所述方法还包括: 查 询与所述第一会话标识所表示的第一会话具有映射关系的内核组, 其中, 查询 到的内核组为第一内核组。 结合第一方面,在第二种可能的实施方式中, 所述调用第一内核组中的内 核处理第一资源, 包括: 若所述第一资源访问请求中携带有第一资源的标识和 第一资源组的标识,且查询到与所述第一资源组的标识所表示的第一资源组具 有映射关系的内核组为第一内核组,则调用所述第一内核组中的内核处理第一 资源。 Calling the kernel in the first kernel group to process the first resource, where the first resource belongs to the first resource group, and the first resource is the resource requested by the first resource access request, the first The kernel group includes at least one kernel, wherein the first resource group and the first kernel group have a mapping relationship. With reference to the first aspect, in a first possible implementation, the first resource access request carries an identifier of a first resource and a first session identifier; and the kernel in the calling first kernel group processes the first Before the resource, the method further includes: querying a kernel group having a mapping relationship with the first session indicated by the first session identifier, where the queried kernel group is a first kernel group. With reference to the first aspect, in a second possible implementation, the invoking the kernel in the first kernel group to process the first resource includes: if the first resource access request carries the identifier and the first resource An identifier of a resource group, and querying the first resource group represented by the identifier of the first resource group The kernel group having the mapping relationship is the first kernel group, and the kernel in the first kernel group is called to process the first resource.
结合第一方面或第一方面的第一种可能的实施方式或第一方面的第二种 可能的实施方式, 在第三种可能的实施方式中, 所述方法还包括:  With reference to the first aspect, or the first possible implementation manner of the first aspect, or the second possible implementation manner of the first aspect, in a third possible implementation manner, the method further includes:
接收第二资源访问请求, 其中, 所述第二资源访问请求中携带有第一会话 标识和第二资源的标识,查询与所述第一会话标识所表示的第一会话具有映射 关系的内核组为第一内核组,若所述第二资源的标识所表示的第二资源不归属 于所述第一资源组,则查询与所述第二资源归属的第二资源组具有映射关系的 内核组, 若所述查询到的与第二资源组具有映射关系的内核组为第二内核组, 调用所述第二内核组中的内核处理所述第二资源, 其中, 所述第二内核组包括 至少一个内核。  Receiving a second resource access request, where the second resource access request carries an identifier of the first session identifier and the second resource, and queries a kernel group that has a mapping relationship with the first session indicated by the first session identifier a first kernel group, if the second resource indicated by the identifier of the second resource is not attributed to the first resource group, querying a kernel group having a mapping relationship with a second resource group to which the second resource belongs And if the queried kernel group having the mapping relationship with the second resource group is the second kernel group, calling the kernel in the second kernel group to process the second resource, where the second kernel group includes At least one kernel.
结合第一方面的第三种可能的实施方式,在第四种可能的实施方式中, 所 述第一内核组中的任意一个内核均不属于第二内核组。  In conjunction with the third possible implementation of the first aspect, in a fourth possible implementation, any one of the first core groups does not belong to the second kernel group.
结合第一方面或第一方面的第一种可能的实施方式或第一方面的第二种 可能的实施方式或第一方面的第三种可能的实施方式或第一方面的第四种可 能的实施方式,在第五种可能的实施方式中, 所述第一资源组包括至少一个表 和 /或至少一个表的分区。  Combining the first aspect or the first possible implementation of the first aspect or the second possible implementation of the first aspect or the third possible implementation of the first aspect or the fourth possible implementation of the first aspect In an embodiment, in a fifth possible implementation, the first resource group includes a partition of at least one table and/or at least one table.
结合第一方面或第一方面的第一种可能的实施方式或第一方面的第二种 可能的实施方式或第一方面的第三种可能的实施方式或第一方面的第四种可 能的实施方式或第一方面的第五种可能的实施方式,在第六种可能的实施方式 中, 所述第一资源组中的所有资源对应的业务类型相同, 或者, 所述第一资源 组中的所有资源为同一个业务流程中相关联的资源。 结合第一方面或第一方面的第一种可能的实施方式或第一方面的第二种 可能的实施方式或第一方面的第三种可能的实施方式或第一方面的第四种可 能的实施方式或第一方面的第五种可能的实施方式或第一方面的第六种可能 的实施方式, 在第七种可能的实施方式中, 所述方法还包括: 将第一内核从所 述第一内核组中剔除, 和 /或, 在将第二内核从所述第二内核组中剔除后, 将 第二内核添加到所述第一内核组之中。 Combining the first aspect or the first possible implementation of the first aspect or the second possible implementation of the first aspect or the third possible implementation of the first aspect or the fourth possible implementation of the first aspect The implementation manner or the fifth possible implementation manner of the first aspect, in the sixth possible implementation, the service type corresponding to all resources in the first resource group is the same, or in the first resource group All resources are resources associated with the same business process. Combining the first aspect or the first possible implementation of the first aspect or the second possible implementation of the first aspect or the third possible implementation of the first aspect or the fourth possible implementation of the first aspect The fifth possible implementation manner of the first aspect or the sixth possible implementation manner of the first aspect. In a seventh possible implementation, the method further includes: The first kernel group is culled, and/or, after the second kernel is culled from the second kernel group, the second kernel is added to the first kernel group.
本发明第二方面提供一种计算机设备, 可包括:  A second aspect of the present invention provides a computer device, which may include:
接收单元, 用于接收第一资源访问请求;  a receiving unit, configured to receive a first resource access request;
调用单元, 用于调用第一内核组中的内核处理第一资源, 其中, 所述第一 资源归属于第一资源组,所述第一资源为所述第一资源访问请求所请求访问的 资源, 所述第一内核组包括至少一个内核, 所述第一资源组和所述第一内核组 之间具有映射关系。  a calling unit, configured to invoke a kernel in the first kernel group to process the first resource, where the first resource belongs to the first resource group, and the first resource is a resource requested by the first resource access request The first kernel group includes at least one kernel, and the first resource group and the first kernel group have a mapping relationship.
结合第二方面, 在第一种可能的实施方式中,  In combination with the second aspect, in a first possible implementation manner,
所述第一资源访问请求中携带有第一资源的标识和第一会话标识; 其中, 所述调用单元具体用于, 查询与所述第一会话标识所表示的第一会 话具有映射关系的内核组, 其中, 查询到的内核组为第一内核组, 调用所述第 一内核组中的内核处理第一资源。  The first resource access request carries the identifier of the first resource and the first session identifier, where the calling unit is specifically configured to query a kernel that has a mapping relationship with the first session indicated by the first session identifier. a group, wherein the queried kernel group is a first kernel group, and the kernel in the first kernel group is invoked to process the first resource.
结合第二方面, 在第二种可能的实施方式中,  In conjunction with the second aspect, in a second possible implementation,
所述调用单元具体用于,若所述第一资源访问请求中携带有第一资源的标 识和第一资源组的标识,且查询到与所述第一资源组的标识所表示的第一资源 组具有映射关系的内核组为第一内核组,则调用所述第一内核组中的内核处理 第一资源。 结合第二方面或第二方面的第一种可能的实施方式或第二方面的第二种 可能的实施方式, 在第三种可能的实施方式中, The calling unit is configured to: if the first resource access request carries the identifier of the first resource and the identifier of the first resource group, and query the first resource represented by the identifier of the first resource group The group having the mapping relationship is the first kernel group, and the kernel in the first kernel group is called to process the first resource. With reference to the second aspect or the first possible implementation of the second aspect or the second possible implementation of the second aspect, in a third possible implementation manner,
所述接收单元还用于, 接收第二资源访问请求, 其中, 所述第二资源访问 请求中携带有第一会话标识和第二资源的标识;  The receiving unit is further configured to: receive a second resource access request, where the second resource access request carries an identifier of the first session identifier and the second resource;
所述调用单元还用于,查询与所述第一会话标识所表示的第一会话具有映 射关系的内核组为第一内核组,若所述第二资源的标识所表示的第二资源不归 属于所述第一资源组,则查询与所述第二资源归属的第二资源组具有映射关系 的内核组, 若所述查询到的与第二资源组具有映射关系的内核组为第二内核 组, 调用所述第二内核组中的内核处理所述第二资源, 其中, 所述第二内核组 包括至少一个内核。  The calling unit is further configured to: query a kernel group that has a mapping relationship with the first session indicated by the first session identifier as a first kernel group, and if the second resource indicated by the identifier of the second resource is not vested And in the first resource group, querying a kernel group that has a mapping relationship with a second resource group to which the second resource belongs, if the queried kernel group having a mapping relationship with the second resource group is a second kernel Group, calling the kernel in the second kernel group to process the second resource, where the second kernel group includes at least one kernel.
结合第二方面或第二方面的第一种可能的实施方式或第二方面的第二种 可能的实施方式或第二方面的第三种可能的实施方式,在第四种可能的实施方 式中, 所述计算机设备还包括:  With reference to the second aspect or the first possible implementation of the second aspect or the second possible implementation of the second aspect or the third possible implementation of the second aspect, in a fourth possible implementation The computer device further includes:
内核管理单元, 用于将第一内核从所述第一内核组中剔除, 和 /或, 在将 第二内核从所述第二内核组中剔除后, 将第二内核添加到所述第一内核组之 中。  a kernel management unit, configured to cull the first kernel from the first kernel group, and/or add a second kernel to the first after culling the second kernel from the second kernel group Among the kernel groups.
本发明第三方面提供一种计算机设备,可包括: 网络接口、总线和处理器, 所述网络接口和所述处理器通过所述总线连接, 所述处理器包含多个内核, 所 述多个内核被分为至少两个内核组, 其中:  A third aspect of the present invention provides a computer device, including: a network interface, a bus, and a processor, where the network interface and the processor are connected by using the bus, the processor includes multiple cores, and the multiple The kernel is divided into at least two kernel groups, where:
所述网络接口, 用于接收第一资源访问请求;  The network interface is configured to receive a first resource access request;
所述处理器, 用于调用第一内核组中的内核处理第一资源, 其中, 所述第 一资源归属于第一资源组,所述第一资源为所述第一资源访问请求所请求访问 的资源, 所述第一内核组包括所述多个内核中的至少一个内核, 所述第一资源 组和所述第一内核组之间具有映射关系。 The processor is configured to invoke a kernel in the first kernel group to process the first resource, where the first resource belongs to the first resource group, and the first resource is requested by the first resource access request The first kernel group includes at least one of the plurality of cores, and the first resource group and the first kernel group have a mapping relationship.
结合第三方面,在第一种可能的实施方式中, 所述第一资源访问请求中携 带有第一资源的标识和第一会话标识; 其中, 所述处理器具体用于, 查询与所 述第一会话标识所表示的第一会话具有映射关系的内核组, 其中, 查询到的内 核组为第一内核组, 调用所述第一内核组中的内核处理第一资源。  With reference to the third aspect, in a first possible implementation, the first resource access request carries an identifier of the first resource and a first session identifier, where the processor is specifically configured to: query and The first session identifier indicates that the first session has a mapping relationship of the kernel group, wherein the queried kernel group is the first kernel group, and the kernel in the first kernel group is invoked to process the first resource.
结合第三方面, 在第二种可能的实施方式中, 所述处理器具体用于, 若所 述第一资源访问请求中携带有第一资源的标识和第一资源组的标识,且查询到 与所述第一资源组的标识所表示的第一资源组具有映射关系的内核组为第一 内核组, 则调用所述第一内核组中的内核处理第一资源。  With reference to the third aspect, in a second possible implementation, the processor is specifically configured to: if the first resource access request carries the identifier of the first resource and the identifier of the first resource group, The kernel group having a mapping relationship with the first resource group indicated by the identifier of the first resource group is the first kernel group, and the kernel in the first kernel group is called to process the first resource.
结合第三方面或第三方面的第一种可能的实施方式或第三方面的第二种 可能的实施方式, 在第三种可能的实施方式中, 所述处理器还用于, 将第一内 核从所述第一内核组中剔除, 和 /或, 在将第二内核从所述第二内核组中剔除 后, 将所述第二内核添加到所述第一内核组之中。  With reference to the third aspect or the first possible implementation manner of the third aspect or the second possible implementation manner of the third aspect, in a third possible implementation manner, the processor is further configured to: The kernel is culled from the first set of kernels, and/or the second kernel is added to the first set of cores after the second kernel is culled from the second set of kernels.
可以看出, 本发明实施例通过以上技术方案,在接收第一资源访问请求之 后; 调用第一内核组中的内核处理第一资源, 其中, 第一资源归属于第一资源 组, 第一资源为第一资源访问请求所请求访问的资源, 第一内核组包括至少一 个内核, 第一资源组和第一内核组之间具有映射关系。 由于对资源和内核进行 分组, 并且建立了资源组和内核组的映射关系, 某内核组可以主要专门处理与 之具有映射关系的资源组中的资源, 因此, 这一机制有利于提高资源访问的命 中率, 进而有利于提升性能。 附图说明 It can be seen that, by using the foregoing technical solution, after receiving the first resource access request, the kernel in the first kernel group is called to process the first resource, where the first resource belongs to the first resource group, and the first resource belongs to the first resource group. For the resource requested by the first resource access request, the first kernel group includes at least one kernel, and the first resource group and the first kernel group have a mapping relationship. Since the resources and the kernel are grouped, and the mapping relationship between the resource group and the kernel group is established, a kernel group can mainly deal with the resources in the resource group with which the mapping relationship is related. Therefore, this mechanism is beneficial to improve resource access. The hit rate, which in turn helps improve performance. DRAWINGS
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施 例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地, 下面描述 中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲, 在不付 出创造性劳动的前提下, 还可以根据这些附图获得其他的附图。  In order to more clearly illustrate the embodiments of the present invention or the technical solutions in the prior art, the drawings used in the embodiments or the description of the prior art will be briefly described below. Obviously, the drawings in the following description are only It is a certain embodiment of the present invention, and other drawings can be obtained from those skilled in the art without any creative work.
图 1是本发明实施例提供的一种资源访问方法的流程示意图;  1 is a schematic flowchart of a resource access method according to an embodiment of the present invention;
图 2是本发明实施例提供的另一种资源访问方法的流程示意图; 图 3-a是本发明实施例提供的资源分组的示意图;  2 is a schematic flowchart of another resource access method according to an embodiment of the present invention; and FIG. 3 is a schematic diagram of resource grouping according to an embodiment of the present invention;
图 3-b是本发明实施例提供的内核分组的示意图;  FIG. 3-b is a schematic diagram of a kernel grouping according to an embodiment of the present invention;
图 3-c是本发明实施例提供的资源组和内核组映射的示意图;  FIG. 3 is a schematic diagram of resource group and kernel group mapping provided by an embodiment of the present invention;
图 3-d是本发明实施例提供的资源分组调整的示意图;  FIG. 3-d is a schematic diagram of resource group adjustment according to an embodiment of the present invention;
图 3-e是本发明实施例提供的内核分组调整的示意图;  FIG. 3-e is a schematic diagram of kernel group adjustment according to an embodiment of the present invention;
图 3-f是本发明实施例提供的调整后的资源组和内核组映射的示意图; 图 4-a是本发明实施例提供的基于普通硬件体系的资源组和内核组映射的 示意图;  Figure 3-f is a schematic diagram of the adjusted resource group and kernel group mapping provided by the embodiment of the present invention; Figure 4-a is a schematic diagram of resource group and kernel group mapping based on the common hardware system provided by the embodiment of the present invention;
图 4-b是本发明实施例提供的基于非均匀访存模型硬件体系的资源组和内 核组映射的示意图;  4b is a schematic diagram of resource group and kernel group mapping based on a non-uniform memory access model hardware system according to an embodiment of the present invention;
图 5-a是本发明实施例提供的一种计算机设备的流程示意图;  FIG. 5-a is a schematic flowchart of a computer device according to an embodiment of the present disclosure;
图 5-b是本发明实施例提供的另一种计算机设备的示意图;  FIG. 5-b is a schematic diagram of another computer device according to an embodiment of the present disclosure;
图 5-c是本发明实施例提供的另一种计算机设备的示意图;  FIG. 5-c is a schematic diagram of another computer device according to an embodiment of the present invention;
图 6是本发明实施例提供的另一种计算机设备的示意图;  6 is a schematic diagram of another computer device according to an embodiment of the present invention;
图 7是本发明实施例提供的另一种计算机设备的示意图;  FIG. 7 is a schematic diagram of another computer device according to an embodiment of the present invention; FIG.
图 8是本发明实施例提供的另一种计算机设备的示意图;  FIG. 8 is a schematic diagram of another computer device according to an embodiment of the present invention; FIG.
图 9是本发明实施例提供的一种多核手机的示意图。  FIG. 9 is a schematic diagram of a multi-core mobile phone according to an embodiment of the present invention.
具体实施方式 detailed description
本发明实施例提供资源访问方法和相关设备,以期提高资源命中率进而提 升性能。 The embodiment of the invention provides a resource access method and related equipment, so as to improve the resource hit rate and further l performance.
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施 例中的附图, 对本发明实施例中的技术方案进行清楚、 完整地描述, 显然, 所 描述的实施例仅仅是本发明一部分的实施例, 而不是全部的实施例。基于本发 明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所 有其他实施例, 都应当属于本发明保护的范围。  The technical solutions in the embodiments of the present invention will be clearly and completely described in the following with reference to the accompanying drawings in the embodiments of the present invention. It is an embodiment of the invention, but not all of the embodiments. All other embodiments obtained by a person of ordinary skill in the art based on the embodiments of the present invention without departing from the inventive scope should fall within the scope of the present invention.
以下分别进行详细说明。  The details are described below separately.
本发明的说明书和权利要求书及上述附图中的术语 "第一" 、 "第二" 、 "第三" "第四 " 等(如果存在)是用于区别类似的对象, 而不必用于描述特 定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换, 以便 这里描述的本发明的实施例例如能够以除了在这里图示或描述的那些以外的 顺序实施。 此外, 术语 "包括" 和 "具有" 以及他们的任何变形, 意图在于覆 盖不排他的包含, 例如, 包含了一系列步骤或单元的过程、 方法或***、 产品 或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的 或对于这些过程、 方法、 产品或设备固有的其它步骤或单元。  The terms "first", "second", "third", "fourth", etc. (if present) in the specification and claims of the present invention and the above figures are used to distinguish similar objects without being used for Describe a specific order or order. It is to be understood that the data so used may be interchanged as appropriate, so that the embodiments of the invention described herein can be implemented, for example, in a sequence other than those illustrated or described herein. In addition, the terms "comprises" and "comprises" and "comprises", and any variations thereof, are intended to cover a non-exclusive inclusion. For example, a process, method or system, product or device that comprises a series of steps or units is not necessarily limited to the Those steps or units may include other steps or units not explicitly listed or inherent to such processes, methods, products or devices.
本发明实施例方案可应用在部署有数据库***的多核服务器中,当然也可 以应用在通用的多核计算机中。  The solution of the embodiment of the present invention can be applied to a multi-core server deployed with a database system, and can of course be applied to a general-purpose multi-core computer.
本发明资源访问方法的一实施例, 其中, 一种资源访问方法可包括: 接收 第一资源访问请求; 调用第一内核组中的内核处理第一资源, 其中, 第一资源 归属于第一资源组, 第一资源为第一资源访问请求所请求访问的资源, 第一内 核组包括至少一个内核, 第一资源组和第一内核组之间具有映射关系。  An embodiment of the resource access method of the present invention, wherein the resource access method may include: receiving a first resource access request; invoking a kernel in the first kernel group to process the first resource, where the first resource belongs to the first resource The first resource group is a resource requested by the first resource access request, and the first kernel group includes at least one kernel, and the first resource group and the first kernel group have a mapping relationship.
参见图 1 , 图 1为本发明的一个实施例提供的一种资源访问方法的流程示 意图。如图 1所示, 本发明的一个实施例提供的一种资源访问方法可以包括以 下内容: Referring to FIG. 1, FIG. 1 is a flowchart diagram of a resource access method according to an embodiment of the present invention. Intention. As shown in FIG. 1, a resource access method provided by an embodiment of the present invention may include the following content:
101、 接收第一资源访问请求。  101. Receive a first resource access request.
例如, 服务器可接收来自客户端的第一资源访问请求, 或者, 某通用的计 算机可来自其它计算机的第一资源访问请求。其中, 资源访问请求可触发相应 的资源处理流程。 举例来说, 资源访问请求可能是请求查询、 计算和 /或存储 某资源, 当然也可能是请求其它处理。  For example, the server may receive a first resource access request from a client, or a general purpose computer may have a first resource access request from another computer. The resource access request can trigger the corresponding resource processing flow. For example, a resource access request may be requesting a query, computing and/or storing a resource, or of course, requesting other processing.
102、 调用第一内核组中的内核处理第一资源。  102. Call a kernel in the first kernel group to process the first resource.
其中, 第一资源归属于第一资源组, 第一资源为第一资源访问请求所请求 访问的资源, 第一内核组包括至少一个内核, 第一资源组和第一内核组之间具 有映射关系。  The first resource belongs to the first resource group, and the first resource is the resource requested by the first resource access request, the first kernel group includes at least one kernel, and the first resource group and the first kernel group have a mapping relationship. .
在本发明的一些实施例中,第一资源访问请求中可携带有第一资源的标识 和第一会话标识(当然, 第一资源访问请求中同时还可携带第一资源的标识和 /或第一资源组的标识等) , 其中, 在上述调用第一内核组中的内核处理第一 资源之前, 方法还包括: 查询与第一会话标识所表示的第一会话具有映射关系 的内核组, 其中, 查询到的内核组为第一内核组。 例如, 可以调用第一内核组 中的一个或多个内核来处理第一资源。  In some embodiments of the present invention, the first resource access request may carry the identifier of the first resource and the first session identifier (of course, the first resource access request may also carry the identifier of the first resource and/or the first An identifier of a resource group, etc., wherein, before the calling the kernel in the first kernel group processes the first resource, the method further includes: querying a kernel group having a mapping relationship with the first session indicated by the first session identifier, where The kernel group that is queried is the first kernel group. For example, one or more cores in the first kernel group can be invoked to process the first resource.
可以理解, 会话标识(如第一会话标识)可表示资源访问请求发送方和资 源访问请求接收方之间建立起的某个会话(会话可能由资源访问请求发送方发 送资源访问请求来触发建立, 也可通过其它方式机建立), 会话的类型可能是 多种多样的逻辑会话, 其中,各会话参与方还可记录会话对方例如一些状态信 息等。 会话标识可能是由多个字符组成或为其它形式。 在本发明另一些实施例中,调用第一内核组中的内核处理第一资源, 具体 可包括: 若第一资源访问请求中携带有第一资源组的标识(当然, 第一资源访 问请求中同时还可携带第一资源的标识和 /或会话标识等) , 且查询到与第一 资源组的标识所表示的第一资源组具有映射关系的内核组为第一内核组,则可 调用第一内核组中的内核处理第一资源。举例来说, 可调用第一内核组中的一 个或者多个内核来处理第一资源。 It can be understood that the session identifier (such as the first session identifier) can represent a certain session established between the resource access request sender and the resource access request receiver (the session may be triggered by the resource access request sender sending a resource access request to trigger the establishment, It can also be established by other means. The type of the session may be a variety of logical sessions, wherein each session participant may also record the conversation partner such as some status information and the like. The session ID may be composed of multiple characters or other forms. In another embodiment of the present invention, invoking the kernel in the first kernel group to process the first resource may include: if the first resource access request carries the identifier of the first resource group (of course, in the first resource access request) At the same time, the identifier of the first resource and/or the session identifier may be carried, and the kernel group having the mapping relationship with the first resource group indicated by the identifier of the first resource group is the first kernel group. The kernel in a kernel group processes the first resource. For example, one or more of the first kernel groups can be invoked to process the first resource.
在本发明的另一些实施例中,调用第一内核组中的内核处理第一资源, 具 体可包括: 若第一资源访问请求中携带有第一资源的标识(当然, 第一资源访 问请求中同时还可携带第一资源的标识和 /或会话标识等) , 且查询到第一资 源的标识所表示的第一资源归属于第一资源组,并且查询到与第一资源组具有 映射关系的内核组为第一内核组, 则调用第一内核组中的内核处理第一资源。 例如, 可调用第一内核组中的一个或多个内核来处理第一资源。  In another embodiment of the present invention, invoking the kernel in the first kernel group to process the first resource may include: if the first resource access request carries the identifier of the first resource (of course, in the first resource access request) And the first resource indicated by the identifier of the first resource belongs to the first resource group, and the mapping with the first resource group is queried. The kernel group is the first kernel group, and the kernel in the first kernel group is called to process the first resource. For example, one or more cores in the first kernel group can be invoked to process the first resource.
可以理解, 当某内核组和某资源组之间具有映射关系, 则针对该某资源组 的资源访问请求主要由该某内核组负责处理。  It can be understood that when a kernel group and a resource group have a mapping relationship, the resource access request for the resource group is mainly handled by the kernel group.
在本发明的一些实施例中, 还可将第一资源从第一资源组中剔除, 和 /或 将第五资源添加到一资源组之中。例如可能根据用户指令将第一资源从第一资 源组中剔除, 和 /或将第五资源添加到一资源组之中, 或者, 可能根据第一资 源组的访问情况将第一资源从第一资源组中剔除, 和 /或将第五资源添加到一 资源组之中。  In some embodiments of the invention, the first resource may also be culled from the first resource group, and/or the fifth resource may be added to a resource group. For example, the first resource may be removed from the first resource group according to the user instruction, and/or the fifth resource may be added to a resource group, or the first resource may be first from the first resource group according to the access situation of the first resource group. The resource group is stripped, and/or the fifth resource is added to a resource group.
在本发明的一些实施例中,可通过多种方式来记录资源组和内核组之间的 映射关系,举例来说, 可通过表来记录第一资源组和第一内核组之间的映射关 系, 其它情况以此类推。 在本发明的一些实施例中 ,可通过多种方式来记录会话和内核组之间的映 射关系, 例如可通过表来记录第一会话和第一内核组之间的映射关系(表中可 记录第一会话的标识和第一内核组的标识等等) , 其它情况以此类推。 In some embodiments of the present invention, the mapping relationship between the resource group and the kernel group may be recorded in various manners. For example, the mapping relationship between the first resource group and the first kernel group may be recorded through a table. Other cases and so on. In some embodiments of the present invention, the mapping relationship between the session and the kernel group may be recorded in various manners, for example, the mapping relationship between the first session and the first kernel group may be recorded through a table (recordable in the table) The identity of the first session and the identity of the first kernel group, etc., and so on.
在本发明的一些实施例中,还可接收第二资源访问请求; 若第二资源访问 请求中携带有第一会话标识和第二资源的标识,可查询与第一会话标识所表示 的第一会话具有映射关系的内核组为第一内核组,若第二资源的标识所表示的 第二资源不归属于第一资源组而归属于第二资源组,则查询与第二资源组具有 映射关系的内核组,若查询到的与第二资源组具有映射关系的内核组为第二内 核组, 则可调用第二内核组中的内核处理第二资源, 其中, 第二内核组可包括 至少一个内核。举例来说, 可调用第二内核组中的一个或多个内核来处理第二 资源。  In some embodiments of the present invention, the second resource access request may also be received. If the second resource access request carries the identifier of the first session identifier and the second resource, the first indicated by the first session identifier may be queried. The kernel group in which the session has a mapping relationship is the first kernel group. If the second resource indicated by the identifier of the second resource is not attributed to the first resource group and belongs to the second resource group, the query has a mapping relationship with the second resource group. The kernel group, if the queried kernel group having the mapping relationship with the second resource group is the second kernel group, the kernel in the second kernel group may be invoked to process the second resource, where the second kernel group may include at least one Kernel. For example, one or more cores in the second kernel group can be invoked to process the second resource.
在本发明的一些实施例中,第一内核组中的任意一个内核均不属于第二内 核组, 其中, 第二内核组为不同于第一内核组的内核组, 即, 不同内核组包含 不同的内核, 没有重叠。 当然, 特殊情况下第一内核组的某些内核可能同时属 于第二内核组和 /或其它内合租。  In some embodiments of the present invention, any one of the first kernel groups does not belong to the second kernel group, wherein the second kernel group is a kernel group different from the first kernel group, that is, different kernel groups contain different The kernel, no overlap. Of course, in some cases, some cores of the first kernel group may belong to the second kernel group and/or other internal leases.
例如可调用第一内核组中的第一内核来处理第一资源, 其中, 第一内核可 包括一个或多个内核。可调用第二内核组中的第二内核来处理第二资源, 其中 第二内核可包括一个或多个内核。  For example, the first kernel in the first kernel group can be invoked to process the first resource, wherein the first core can include one or more cores. A second kernel in the second kernel group can be invoked to process the second resource, wherein the second core can include one or more cores.
在本发明的一些实施例中, 还可将第一内核从第一内核组中剔除, 和 /或 将第二内核添加到第一内核组之中(例如, 可在将第二内核从第二内核组中剔 除之后, 将第二内核添加到所述第一内核组之中)。 例如可能根据用户指令将 第一内核从第一内核组中剔除, 和 /或将第二内核添加到第一内核组之中, 或 者, 可能根据第一资源组的访问情况将第一内核从第一内核组中剔除, 和 /或 将第二内核添加到第一内核组之中,如当第一资源组的访问频率降低到某阔值 时, 可将第一内核从第一内核组中剔除; 当第一资源组的访问频率高于某阔值 时, 可将第二内核添加到第一内核组之中, 其它场景以此类推。 In some embodiments of the present invention, the first kernel may also be culled from the first kernel group, and/or the second kernel may be added to the first kernel group (eg, the second core may be removed from the second After culling in the kernel group, the second kernel is added to the first kernel group). For example, the first kernel may be culled from the first kernel group according to user instructions, and/or the second kernel may be added to the first kernel group, or The first kernel may be removed from the first kernel group according to the access situation of the first resource group, and/or the second kernel may be added to the first kernel group, for example, when the access frequency of the first resource group is lowered to When a certain threshold is used, the first kernel may be removed from the first kernel group; when the access frequency of the first resource group is higher than a certain threshold, the second kernel may be added to the first kernel group, and other scenarios are This type of push.
在本发明的一些实施例中,同一内核组中的所有内核可属于相同或不同非 均匀访存模型节点。  In some embodiments of the invention, all of the cores in the same kernel group may belong to the same or different non-uniform fetch model nodes.
在本发明的一些实施例中,还可接收第三资源访问请求; 若第三资源访问 请求中携带有第一会话标识和第三资源的标识,可根据第三资源的标识查询第 三资源的标识所表示的第三资源所属资源组 ,若根据第三资源的标识查询第三 资源的标识所表示的第三资源所属资源组为第三资源组,则可查询与第三资源 组具有映射关系的内核组,若查询到到与第三资源组具有映射关系的内核组为 第三内核组, 则调用第三内核组中的内核处理第三资源, 其中, 第三内核组包 括至少一个内核。 例如, 可调用第三内核组中的一个或多个内核来处理第三资 源。  In some embodiments of the present invention, the third resource access request may be received. If the third resource access request carries the identifier of the first session identifier and the third resource, the third resource may be queried according to the identifier of the third resource. The resource group to which the third resource belongs is identified by the identifier, and if the resource group to which the third resource indicated by the identifier of the third resource belongs to the third resource group is queried according to the identifier of the third resource, the mapping may be queried with the third resource group. The kernel group, if it is found that the kernel group having the mapping relationship with the third resource group is the third kernel group, calls the kernel in the third kernel group to process the third resource, wherein the third kernel group includes at least one kernel. For example, one or more cores in the third kernel group can be invoked to process the third resource.
在本发明的一些实施例中,还可进一步接收第四资源访问请求; 若第三资 源访问请求中携带有第一会话标识、第四资源组的标识和第四资源的标识, 其 中,第四资源的标识所表示的第四资源归属于第四资源组的标识所表示的第四 资源组, 则可查询与第四资源组具有映射关系的内核组, 其中, 若查询到与第 四资源组具有映射关系的内核组为第四内核组,则可调用第四内核组中的内核 处理第四资源, 其中, 第四内核组包括至少一个内核。 举例来说, 可以调用第 三内核组中的一个或者多个内核来处理第三资源。  In some embodiments of the present invention, the fourth resource access request may be further received; if the third resource access request carries the first session identifier, the identifier of the fourth resource group, and the identifier of the fourth resource, where the fourth If the fourth resource indicated by the identifier of the resource belongs to the fourth resource group indicated by the identifier of the fourth resource group, the kernel group having the mapping relationship with the fourth resource group may be queried, where if the fourth resource group is queried The kernel group having the mapping relationship is the fourth kernel group, and the kernel in the fourth kernel group can be called to process the fourth resource, wherein the fourth kernel group includes at least one kernel. For example, one or more of the cores in the third kernel group can be invoked to process the third resource.
在本发明的一些实施例中 ,可根据需要来选择不同的分组策略来对资源和 内核进行分组, 不同场景下的分组策略可能不尽相同。 In some embodiments of the invention, different grouping strategies can be selected as needed for resources and The kernel is grouped, and the grouping strategies in different scenarios may be different.
例如, 资源的分组策略可包括如下策略 al、 策略 a2、 策略 a3、 策略 a4 和策略 a5 中的一种或多种的结合: al、 尽量将业务类型相同的资源划分到同 一资源组中(可以理解, 业务类型可能是相对概念, 例如业务类型可包括通话 业务和流量业务, 其中, 通话业务又可分为固话业务和移动通话业务, 移动通 话业务又可分为漫游通话业务和本地通话业务, 其中, 漫游通话业务又可分为 省际漫游通话业务和国际漫游通话业务等, 其它情况以此类推); a2、 尽量将 同一业务流程中强关联的资源可划分到一个资源组; a3、 业务关联的热点资源 尽量划分到不同的资源组; a4、 数据量较大的某资源可以根据表的分区处理, 拆分成多个资源组。 a5、 业务重组时可删除旧资源组或重新规划资源组等。  For example, the grouping policy of the resource may include a combination of one or more of the following policy a1, policy a2, policy a3, policy a4, and policy a5: al. Try to divide resources with the same service type into the same resource group (may be It is understood that the service type may be a relative concept. For example, the service type may include a call service and a traffic service, where the call service may be further divided into a fixed line service and a mobile call service, and the mobile call service may be further divided into a roaming call service and a local call service. Among them, the roaming call service can be further divided into inter-provincial roaming call service and international roaming call service, etc., and so on); a2, as far as possible, the resources strongly associated in the same business process can be divided into one resource group; a3. The hotspot resources associated with the service are divided into different resource groups as much as possible; a4. A resource with a large amount of data can be divided into multiple resource groups according to the partition processing of the table. A5. You can delete old resource groups or re-plan resource groups during business reorganization.
又举例来说, 内核的分组策略可包括如下策略 bl、 策略 b2和策略 b3中 的一种或多种的结合: bl、 内核组和资源组可为——对应的关系。 b2、 内核组 的大小尽量适应于与该内核组具有映射关系的资源组,例如对于上层关键业务 对性能要求较高的资源组, 尽量与之映射内核数相对较多的内核组。 b3、 业务 变化时, 可动态调整相应内核组的内核数(举例来说, 增加或者剔除相应内核 组的内核), 例如电信计费业务, 在春节阶段通话激增, 在该时间段可增大相 应内核组的内核数。  For another example, the kernel's grouping policy may include a combination of one or more of the following policies bl, policy b2, and policy b3: bl, kernel groups, and resource groups may be - corresponding relationships. B2. The size of the kernel group should be adapted to the resource group that has a mapping relationship with the kernel group. For example, for a resource group with high performance requirements for upper-level key services, try to map a kernel group with a relatively large number of cores. B3. When the service changes, the number of cores of the corresponding kernel group can be dynamically adjusted (for example, the kernel of the corresponding kernel group is added or removed), for example, the telecom billing service, and the call surges during the Spring Festival period, and the corresponding period can be increased accordingly. The number of cores in the kernel group.
在本发明的一些实施例中, 第一资源组、 第二资源组、 第三资源组或第四 资源组可包括至少一个表和 /或至少一个表的分区。  In some embodiments of the invention, the first resource group, the second resource group, the third resource group, or the fourth resource group may include partitions of at least one table and/or at least one table.
在本发明的一些实施例中, 第一资源组、 第二资源组、 第三资源组或第四 资源组中的所有资源对应的业务类型相同。  In some embodiments of the present invention, all resources in the first resource group, the second resource group, the third resource group, or the fourth resource group have the same service type.
在本发明的一些实施例中, 第一资源组、 第二资源组、 第三资源组或第四 资源组中的所有资源为同一个业务流程中相关联的资源。 In some embodiments of the invention, the first resource group, the second resource group, the third resource group, or the fourth All resources in a resource group are resources that are associated in the same business process.
可以看出, 本实施例在接收第一资源访问请求之后; 调用第一内核组中的 内核处理第一资源, 其中, 第一资源归属于第一资源组, 第一资源为第一资源 访问请求所请求访问的资源, 第一内核组包括至少一个内核, 其中, 第一资源 组和第一内核组之间具有映射关系。 由于对资源和内核进行分组, 并且建立了 资源组和内核组的映射关系,某内核组可主要专门处理与之具有映射关系的资 源组中的资源, 因此有利于提高资源的命中率, 进而有利于提升性能。  It can be seen that, after receiving the first resource access request, the first resource is processed by the kernel in the first kernel group, where the first resource belongs to the first resource group, and the first resource is the first resource access request. The resource to be accessed, the first kernel group includes at least one kernel, wherein the first resource group and the first kernel group have a mapping relationship. Since the resources and the kernel are grouped, and the mapping relationship between the resource group and the kernel group is established, a certain kernel group can mainly process the resources in the resource group with which the mapping relationship is related, thereby facilitating the improvement of the hit rate of the resources, and thus Conducive to improving performance.
进一步的, 由于对资源也进行分组管理, 因此, 可根据需要将关键业务和 普通业务对应的资源进行区别分组,关键业务对应的资源组可与处理能力更强 的内核组进行映射, 这样有利于更合理的分配和管理内核, 进而有利于提升硬 件层管理的协调统一性,有利于有效的提高关键业务性能,也有利于没有充分 利用当前流行的多核技术,提高并行性,有利于更充分的利用例如非均勾访存 模型 (NUMA, Non-Uniform Memory Access )等并行体系架构。  Further, since the resources are also grouped and managed, the resources corresponding to the key services and the common services can be differentiated and grouped according to the needs, and the resource groups corresponding to the key services can be mapped with the kernel groups with stronger processing capabilities, which is beneficial to More reasonable allocation and management of the kernel, which is conducive to improving the coordination and uniformity of hardware layer management, is conducive to effectively improve the performance of key services, and is also conducive to not fully utilizing the current popular multi-core technology, improve parallelism, and help more fully A parallel architecture such as NUMA (Non-Uniform Memory Access) is used.
进一步的, 基于分组管理机制, 使得数据库感知业务变得可能。 在较大业 务压力时,可动态调整业务相关的内核组中的内核数或调整资源组和内核组的 映射关系, 尽量保证关键业务的性能不会快速降低, 如此, 可使得数据库*** 适应性更强, 业务优化能力更强。  Further, based on the packet management mechanism, database-aware services are made possible. In the case of large business pressure, the number of cores in the service-related kernel group can be dynamically adjusted or the mapping relationship between the resource group and the kernel group can be adjusted to ensure that the performance of key services is not rapidly reduced. Thus, the database system can be more adaptive. Strong, business optimization ability is stronger.
为便于更好的理解和实施本发明实施例的上述方案,下面举例一些上述实 施例方案可能涉及到的应用场景, 例如划分资源组的应用场景、 划分内核组的 应用场景、 映射资源组和内核组的场景等。  In order to facilitate a better understanding and implementation of the foregoing solution of the embodiments of the present invention, the application scenarios that may be involved in the foregoing embodiments, such as application scenarios for dividing resource groups, application scenarios for dividing kernel groups, mapping resource groups, and kernels, are exemplified. Group of scenes, etc.
请参见图 2, 图 2示出了本发明另一实施例提供的一种资源访问方法, 可 包括以下内容: 201、 基于预定的资源分组策略将资源划分为多个资源组; Referring to FIG. 2, FIG. 2 illustrates a resource access method according to another embodiment of the present invention, which may include the following content: 201. Divide resources into multiple resource groups based on a predetermined resource grouping policy;
例如, 资源的分组策略可包括如下策略 al、 策略 a2、 策略 a3、 策略 a4 和策略 a5 中的一种或多种的结合: al、 尽量将业务类型相同的资源划分到同 一资源组中; a2、 尽量将同一业务流程中强关联的资源可划分到一个资源组; a3、 业务关联的热点资源尽量划分到不同的资源组; a4、 数据量较大的某资源 可以根据表的分区处理, 拆分成多个资源组。 a5、 业务重组时可删除旧资源组 或重新规划资源组等。  For example, the grouping policy of the resource may include a combination of one or more of the following policy a1, policy a2, policy a3, policy a4, and policy a5: al. Try to divide resources with the same service type into the same resource group; a2 Try to divide the strongly associated resources in the same business process into one resource group; a3. The hotspot resources associated with the service are divided into different resource groups as much as possible; a4. A resource with a large amount of data can be processed according to the partition of the table. Divided into multiple resource groups. A5. You can delete the old resource group or re-plan the resource group when the business is reorganized.
在本发明的一些实施例中, 资源组中的资源的基本单元可以是表、表分区 等等。 其中, 每个资源组对应有唯一的资源组标识, 可根据资源组标识来访问 资源组中资源。  In some embodiments of the invention, the basic units of resources in a resource group may be tables, table partitions, and the like. Each resource group corresponds to a unique resource group identifier, and the resources in the resource group can be accessed according to the resource group identifier.
例如参见图 3-a所示, 假设存在业务表 1、 业务表 2和业务表 3 , 其中, 业务表 1和业务表 2的关联比较强, 因此可将业务表 1和业务表 2划分到 1 个资源组(资源组 si ) , 业务表 3所包含的数据量较大, 对性能要求比较高, 可以基于业务表 3的某些字段将业务表 3划分为多个表分区(图 3-a以将业务 表 3划分为两个表分区为例),将业务表 3的每个表分区分别划分到不同的资 源组, 其中, 图 3-a中举例示出将业务表 3的表分区 al划分到资源组 s2, 将 业务表 3的表分区 a2划分到资源组 s3。  For example, as shown in Figure 3-a, it is assumed that there are service table 1, service table 2, and service table 3, where the association between service table 1 and service table 2 is relatively strong, so service table 1 and service table 2 can be divided into 1 The resource group (resource group si) has a large amount of data and has high performance requirements. The service table 3 can be divided into multiple table partitions based on some fields of the service table 3 (Fig. 3-a) For example, the service table 3 is divided into two table partitions, and each table partition of the service table 3 is divided into different resource groups, where the table of the service table 3 is partitioned by way of example in FIG. The resource partition s2 is divided into the resource group s3, and the table partition a2 of the service table 3 is divided into the resource group s3.
202、 基于预定的内核分组策略将内核划分为多个内核组;  202. Divide the kernel into multiple kernel groups based on a predetermined kernel grouping policy;
举例来说, 内核的分组策略可包括如下策略 bl、 策略 b2和策略 b3中的 一种或多种的结合: bl、 内核组和资源组可为——对应的关系。 b2、 内核组的 大小尽量适应于与该内核组具有映射关系的资源组,例如对于上层关键业务对 性能要求较高的资源组, 尽量与之映射内核数相对较多的内核组。 b3、 业务变 化时, 可动态调整相应内核组的内核数 (例如, 增加或者剔除相应内核组的内 核), 例如电信计费业务, 在春节阶段通话激增, 在该时间段可增大相应内核 组的内核数。 For example, the kernel's grouping policy may include a combination of one or more of the following policy bl, policy b2, and policy b3: bl, kernel group, and resource group may be - corresponding relationships. B2. The size of the kernel group should be adapted to the resource group that has a mapping relationship with the kernel group. For example, for a resource group with higher performance requirements for upper-level key services, try to map a kernel group with a relatively large number of cores. B3, business change When changing, the number of cores of the corresponding kernel group can be dynamically adjusted (for example, the kernel of the corresponding kernel group is added or removed), for example, the telecom billing service, the call surges during the Spring Festival period, and the number of cores of the corresponding kernel group can be increased during the period. .
在本发明的一些实施例中, 可通过***调用或查看***文件获取 CPU的 内核拓朴情况, 并预定的内核分组策略在逻辑上将其划分到不同的内核组, 由 于是逻辑划分内核组,故而不会影响现有架构。每个内核组可以动态调整组内 的内核数量。 例如, 对于重要业务热点数据, 可以增加内核数保证相应资源组 所对应内核组的业务处理性能。对于某些业务量较少的数据, 可以适量减少其 所对应的内核组的内核数, 以便充分利用硬件资源。  In some embodiments of the present invention, the kernel topology of the CPU may be obtained by a system call or by viewing a system file, and the predetermined kernel grouping strategy logically divides it into different kernel groups, because it is a logical partitioning kernel group. Therefore, it does not affect the existing architecture. Each kernel group can dynamically adjust the number of cores in the group. For example, for important service hotspot data, you can increase the number of cores to ensure the service processing performance of the kernel group corresponding to the corresponding resource group. For some data with less traffic, you can reduce the number of cores of the corresponding kernel group to make full use of hardware resources.
其中, 内核组亦可称之为虚拟框(VCR, Virtual Core Rack ) 。  Among them, the kernel group can also be called a virtual box (VCR, Virtual Core Rack).
例如图 3-b所示, 4叚设存在内核 1~8, 可将内核 1~4划分到内核组 cl , 将 内核 5~6划分到内核组 c2 , 将内核 7~8划分到内核组 c3。  For example, as shown in Figure 3-b, 4叚 exists in kernels 1~8, which can divide kernels 1~4 into kernel group cl, divide kernels 5~6 into kernel group c2, and divide kernels 7~8 into kernel group c3. .
203、 建立资源组和内核组的映射关系。  203. Establish a mapping relationship between the resource group and the kernel group.
在本发明的一些实施例中, 例如可依据用户访问量确定热点资源,将不同 热点资源组映射到不同内核组,进而有利于在数据库管理***这种较为底层的 软件进行对业务的性能优化。 例如图 3-a〜图 3-c所示, 可建立资源组 si和内 核组 cl的映射关系, 可建立资源组 s2和内核组 c2的映射关系, 可建立资源 组 s3和内核组 c3的映射关系。  In some embodiments of the present invention, for example, the hotspot resource may be determined according to the amount of user access, and the different hotspot resource groups may be mapped to different kernel groups, thereby facilitating performance optimization of the service in the lower layer software of the database management system. For example, as shown in Figure 3-a to Figure 3-c, the mapping relationship between the resource group si and the kernel group cl can be established, and the mapping relationship between the resource group s2 and the kernel group c2 can be established, and the mapping between the resource group s3 and the kernel group c3 can be established. relationship.
举例来说, 假设用户对业务表 3访问量增加, 为增加并行性, 可重新对业 务表 3进行分区, 将业务表 3划分成更多的资源组,也可调整对应的内核的划 分布局来应对业务变化。  For example, if the number of users accesses the service table 3 is increased, to increase the parallelism, the service table 3 may be re-partitioned, the service table 3 may be divided into more resource groups, and the corresponding kernel partitioning layout may be adjusted. Respond to business changes.
例如图 3-d所示, 由于业务表 3访问量增加, 重新对业务表 3分区, 将业 务表 3划分成更多的资源组(资源组 s2~ s4 ) 。 例如图 3-e所示, 为应对业务 变化特调整了内核的划分布局, 将内核 3~4剔除了内核组 cl , 将内核 3~4重 新划分到了内核组 c4。 例如图 3-f所示, 可建立资源组 si和内核组 cl的映射 关系, 可建立资源组 s2和内核组 c2的映射关系, 可建立资源组 s3和内核组 c3的映射关系, 可建立资源组 s4和内核组 c4的映射关系。 For example, as shown in Figure 3-d, due to the increase in traffic in the service table 3, the traffic table 3 is re-partitioned. Table 3 is divided into more resource groups (resource groups s2~s4). For example, as shown in Figure 3-e, in order to cope with business changes, the layout of the kernel is adjusted. Kernels 3~4 are removed from kernel group cl, and kernels 3~4 are re-divided into kernel group c4. For example, as shown in Figure 3-f, the mapping relationship between the resource group si and the kernel group cl can be established, and the mapping relationship between the resource group s2 and the kernel group c2 can be established, and the mapping relationship between the resource group s3 and the kernel group c3 can be established, and resources can be established. The mapping relationship between group s4 and kernel group c4.
204、 接收资源访问请求, 其中, 假设接收到的资源访问请求携带有所请 求访问资源 ssl的资源标识。  204. Receive a resource access request, where it is assumed that the received resource access request carries a resource identifier that requests access to the resource ssl.
在本发明的一些实施例中,可根据资源访问请求携带的资源标识查询到该 资源标识所表示的资源 ssl所属的资源组 si , 并可根据资源组 si查询到与资 源组 si具有映射关系的内核组 cl。  In some embodiments of the present invention, the resource identifiers of the resources ss1 represented by the resource identifiers may be queried according to the resource identifiers carried in the resource access request, and may be queried according to the resource group si to have a mapping relationship with the resource group si. Kernel group cl.
在本发明的一些实施例中,当首次接收到对应某用户或业务的资源访问请 求之后(资源访问请求可能由某业务程序发出), 可创建映射到某内核组的服 务处理会话(类似于创建到某内核组的连接), 其中, 该服务处理会话对应有 会话标识, 该服务处理会话服务于整个用户或业务请求周期。若建立了服务处 理会话和内核组的映射关系, 则当资源访问请求携带会话标识时, 亦可根据会 话标识查询到与之具有映射关系的内核组。其中,会话标识可用于表示对应的 会话。  In some embodiments of the present invention, after receiving a resource access request corresponding to a certain user or service for the first time (a resource access request may be issued by a business program), a service processing session mapped to a kernel group may be created (similar to creating A connection to a kernel group, where the service processing session corresponds to a session identifier, and the service processing session serves the entire user or service request period. If the mapping between the service processing session and the kernel group is established, when the resource access request carries the session identifier, the kernel group having the mapping relationship may also be queried according to the session identifier. The session identifier can be used to indicate the corresponding session.
205、 调用内核组 cl中的内核处理资源 ssl。  205. Call the kernel processing resource ssl in the kernel group cl.
在本发明的一些实施例中, 由于内核组 cl的内核指令执行只访问映射的 资源组中的资源, 因此对应緩存(cache )命中率会大幅提高; 而资源组的改 变只有与之映射的内核组中内核 cache会受到影响, 因此, 内核执行效率能得 到艮大改善。 下面举例在两种硬件体系中实施本实施例方案的场景。 In some embodiments of the present invention, since the kernel instruction of the kernel group cl executes access only to the resources in the mapped resource group, the corresponding cache hit rate is greatly increased; and the resource group change only has the kernel mapped thereto. The kernel cache in the group is affected, so the kernel execution efficiency can be greatly improved. The following is an example of implementing the solution of the embodiment in the two hardware systems.
请参见图 4-a, 图 4-a示出在普通硬件体系中实施本实施例方案, 假设硬 件层具有 6个内核,将其划分为两个内核组, 两个内核组分别与不同的资源组 映射关联。  Please refer to FIG. 4-a. FIG. 4-a shows the implementation of the embodiment in a common hardware architecture. It is assumed that the hardware layer has six cores and is divided into two kernel groups, and the two kernel groups are respectively different resources. Group mapping association.
请参见图 4-b, 图 4-b示出在 NUMA硬件体系中实施本实施例方案。  Referring to Figure 4-b, Figure 4-b shows the implementation of this embodiment in the NUMA hardware architecture.
其中, NUMA硬件体系中具有多个 CPU模块(每个 CPU模块可看做 1 个 NUMA节点) , 其中, 每个 CPU模块由多个 CPU (如 4个)组成, 并且 具有独立的本地内存、 I/O槽口等, 由于其节点之间可以通过互联模块进行连 接和信息交互, 因此, 每个 CPU可以访问整个***内存。 显然, 访问本地内 存的速度将远远高于访问远地内存 (即***内其它节点的内存) 的速度, 为 了更好地发挥***性能, 需尽量减少不同 CPU模块之间的信息交互。  Among them, the NUMA hardware system has multiple CPU modules (each CPU module can be regarded as one NUMA node), wherein each CPU module is composed of multiple CPUs (such as 4), and has independent local memory, I /O slot, etc., because the nodes can connect and exchange information through the interconnect module, therefore, each CPU can access the entire system memory. Obviously, the speed of accessing local memory will be much higher than the speed of accessing remote memory (that is, the memory of other nodes in the system). In order to better utilize system performance, information interaction between different CPU modules needs to be minimized.
结合本发明实施例方案可充分发挥 NUMA架构优点,将内核组与 NUMA 节点建立映射关系, 资源组与内核组之间建立了映射关系, 因此资源的访问会 被导向具体 NUMA节点, 使其尽量不访问跨 NUMA节点内存, 整个 NUMA 硬件体系的性能将得到很大的提高, 可见实施例方案具有很强的应用扩展性。  The solution of the embodiment of the present invention can fully utilize the advantages of the NUMA architecture, establish a mapping relationship between the kernel group and the NUMA node, and establish a mapping relationship between the resource group and the kernel group, so the resource access is directed to the specific NUMA node, so as not to By accessing memory across NUMA nodes, the performance of the entire NUMA hardware architecture will be greatly improved. It can be seen that the embodiment scheme has strong application scalability.
可以看出, 本实施例的技术方案由于对资源和内核进行分组, 并且建立了 资源组和内核组的映射关系,某内核组可主要专门处理与之具有映射关系的资 源组中的资源,在接收到资源访问请求之后, 则调用与之关联映射的内核组中 的内核处理相应的资源, 因此, 方案有利于提高资源的命中率, 进而有利于提 升性能。  It can be seen that, in the technical solution of the embodiment, since the resources and the kernel are grouped, and the mapping relationship between the resource group and the kernel group is established, a certain kernel group can mainly process the resources in the resource group having the mapping relationship with it. After receiving the resource access request, the kernel in the kernel group associated with the mapped group is called to process the corresponding resource. Therefore, the solution is beneficial to improve the hit rate of the resource, thereby improving performance.
并且,有利于利用多核处理器的并行特性以及各 CPU的 cache, 通过将会 话与被访问资源和 CPU内核映射, 有利于能够提高内核 cache命中率, 进而 极大提升每个 CPU内核 10处理性能,从而提高数据库业务处理速度。 不同的 资源组与不同 CPU内核映射, 有利于减少 CPU内核 cache失效同步的消耗, 提升 CPU的并行性。 Moreover, it is advantageous to utilize the parallel characteristics of the multi-core processor and the cache of each CPU, and it is advantageous to improve the kernel cache hit ratio by mapping the session with the accessed resource and the CPU core, and further Greatly improve the processing performance of each CPU core 10, thereby improving the database business processing speed. Different resource groups are mapped to different CPU cores, which helps to reduce CPU core cache failure synchronization consumption and improve CPU parallelism.
进一步的, 由于对资源也进行分组管理, 因此, 可根据需要将关键业务和 普通业务对应的资源进行区别分组,关键业务对应的资源组可与处理能力更强 的内核组进行映射, 这样有利于更合理的分配和管理内核, 进而有利于提升硬 件层管理的协调统一性,有利于有效的提高关键业务性能,也有利于没有充分 利用当前的多核技术,提高并行性,有利于更充分的利用非均匀访存模型等并 行体系架构。  Further, since the resources are also grouped and managed, the resources corresponding to the key services and the common services can be differentiated and grouped according to the needs, and the resource groups corresponding to the key services can be mapped with the kernel groups with stronger processing capabilities, which is beneficial to More reasonable allocation and management of the kernel, which in turn helps improve the coordination and uniformity of hardware layer management, is conducive to effectively improve the performance of key services, and is also conducive to not fully utilizing the current multi-core technology, improve parallelism, and facilitate fuller utilization. Parallel architecture such as non-uniform memory access model.
进一步的, 基于分组管理机制, 使得数据库感知业务变得可能。 在较大业 务压力时,可动态调整业务相关的内核组中的内核数或调整资源组和内核组的 映射关系, 尽量保证关键业务的性能不会快速降低, 如此, 可使得数据库*** 适应性更强, 业务优化能力更强。  Further, based on the packet management mechanism, database-aware services are made possible. In the case of large business pressure, the number of cores in the service-related kernel group can be dynamically adjusted or the mapping relationship between the resource group and the kernel group can be adjusted to ensure that the performance of key services is not rapidly reduced. Thus, the database system can be more adaptive. Strong, business optimization ability is stronger.
为便于更好的实施本发明实施例的上述方案,下面还提供用于实施上述方 案的相关装置。  In order to facilitate the better implementation of the above described embodiments of the embodiments of the present invention, related apparatus for implementing the above-described embodiments are also provided below.
参见图 5-a, 图 5-a为本发明实施例提供的计算机设备 500的示意图, 计 算机设备 500可包括: 接收单元 510和调用单元 520。  Referring to FIG. 5-a, FIG. 5-a is a schematic diagram of a computer device 500 according to an embodiment of the present invention. The computer device 500 may include: a receiving unit 510 and a calling unit 520.
其中, 接收单元 510 , 用于接收第一资源访问请求。  The receiving unit 510 is configured to receive a first resource access request.
例如,接收单元 510可接收来自客户端的第一资源访问请求, 资源访问请 求可触发相应的资源处理流程。 其中, 资源访问请求可能是请求查询、 计算和 /或存储某资源, 当然也可能是请求其它处理。  For example, receiving unit 510 can receive a first resource access request from a client, and the resource access request can trigger a corresponding resource processing flow. Among them, the resource access request may be requesting to query, calculate and/or store a certain resource, and of course, may request other processing.
在本发明的一些实施例中, 接收单元 510可基于网卡等器件来实现。 调用单元 520 , 用于调用第一内核组中的内核处理第一资源, 第一资源归 属于第一资源组, 第一资源为第一资源访问请求所请求访问的资源, 第一内核 组包括至少一个内核, 第一资源组和第一内核组之间具有映射关系。 In some embodiments of the present invention, the receiving unit 510 can be implemented based on a device such as a network card. The calling unit 520 is configured to invoke a kernel in the first kernel group to process the first resource, where the first resource belongs to the first resource group, the first resource is a resource requested by the first resource access request, and the first kernel group includes at least A kernel has a mapping relationship between the first resource group and the first kernel group.
在本发明的一些实施例中,第一资源访问请求中可携带有第一资源的标识 和第一会话标识(当然, 第一资源访问请求中同时还可携带第一资源的标识和 /或第一资源组的标识等) , 调用单元 520可具体用于, 查询与第一会话标识 所表示的第一会话具有映射关系的内核组, 查询到的内核组为第一内核组,调 用第一内核组中的内核处理第一资源。  In some embodiments of the present invention, the first resource access request may carry the identifier of the first resource and the first session identifier (of course, the first resource access request may also carry the identifier of the first resource and/or the first The calling unit 520 is specifically configured to query a kernel group having a mapping relationship with the first session indicated by the first session identifier, and the queried kernel group is the first kernel group, and the first kernel is invoked. The kernel in the group processes the first resource.
在本发明的另一些实施例中,调用单元 520可具体用于, 若第一资源访问 请求中携带有第一资源组的标识(当然, 第一资源访问请求中同时还可携带第 一资源的标识和 /或会话标识等) , 且查询到与第一资源组的标识所表示的第 一资源组具有映射关系的内核组为第一内核组,则可调用第一内核组中的内核 处理第一资源。举例来说, 可调用第一内核组中的一个或多个内核来处理第一 资源。  In other embodiments of the present invention, the invoking unit 520 may be specifically configured to: if the first resource access request carries the identifier of the first resource group, of course, the first resource access request may also carry the first resource. The identifier and/or the session identifier, etc., and querying the kernel group having the mapping relationship with the first resource group indicated by the identifier of the first resource group is the first kernel group, the kernel processing in the first kernel group may be invoked. A resource. For example, one or more cores in the first kernel group can be invoked to process the first resource.
在本发明的一些实施例中,接收单元 510还可以用于,接收第二资源访问 请求, 其中, 第二资源访问请求中携带有第一会话标识和第二资源的标识。  In some embodiments of the present invention, the receiving unit 510 is further configured to receive the second resource access request, where the second resource access request carries the identifier of the first session identifier and the second resource.
其中,调用单元 520还可用于, 查询与第一会话标识所表示的第一会话具 有映射关系的内核组为第一内核组,若第二资源的标识所表示的第二资源不归 属于第一资源组而归属于第二资源组,则查询与第二资源组具有映射关系的内 核组, 若查询到的与第二资源组具有映射关系的内核组为第二内核组, 调用第 二内核组中的内核处理第二资源, 其中第二内核组包括至少一个内核。举例来 说可调用第二内核组中的一个或多个内核来处理第二资源。 参见图 5-b , 在本发明的一些实施例中, 计算机设备 500还可包括: 内核管理单元 530 , 用于将第一内核从第一内核组中剔除, 和 /或, 将第二 内核添加到第一内核组之中(例如, 可以在将第二内核从第二内核组中剔除之 后, 将第二内核添加到所述第一内核组之中)。 例如可能根据用户指令将第一 内核从第一内核组中剔除, 和 /或将第二内核添加到第一内核组之中, 或者可 能根据第一资源组的访问情况将第一内核从第一内核组中剔除, 和 /或将第二 内核添加到第一内核组之中,如当第一资源组的访问频率降低到某阔值时, 可 将第一内核从第一内核组中剔除; 当第一资源组的访问频率高于某阔值时, 可 将第二内核添加到第一内核组之中, 其它场景以此类推。 The calling unit 520 is further configured to: query a kernel group that has a mapping relationship with the first session indicated by the first session identifier as a first kernel group, and if the second resource indicated by the identifier of the second resource does not belong to the first The resource group is attributed to the second resource group, and the kernel group having the mapping relationship with the second resource group is queried. If the queried kernel group having the mapping relationship with the second resource group is the second kernel group, the second kernel group is called. The kernel in the process processes the second resource, wherein the second kernel group includes at least one kernel. For example, one or more kernels in the second kernel group can be invoked to process the second resource. Referring to FIG. 5-b, in some embodiments of the present invention, the computer device 500 may further include: a kernel management unit 530, configured to remove the first kernel from the first kernel group, and/or add the second kernel Going into the first kernel group (for example, the second kernel may be added to the first kernel group after the second kernel is culled from the second kernel group). For example, the first kernel may be culled from the first kernel group according to a user instruction, and/or the second kernel may be added to the first kernel group, or the first kernel may be first from the first resource group according to the access situation of the first resource group. Removing the kernel group, and/or adding the second kernel to the first kernel group, for example, when the access frequency of the first resource group is reduced to a certain threshold, the first kernel may be removed from the first kernel group; When the access frequency of the first resource group is higher than a certain threshold, the second kernel may be added to the first kernel group, and so on.
参见图 5-c , 在本发明的一些实施例中, 计算机设备 500还可包括: 资源管理单元 540 , 用于将第一资源从第一资源组中剔除, 和 /或, 将第五 资源添加到一资源组之中。例如可能根据用户指令将第一资源从第一资源组中 剔除, 和 /或将第五资源添加到一资源组之中, 或者, 可能根据第一资源组的 访问情况将第一资源从第一资源组中剔除, 和 /或将第五资源添加到一资源组 之中。  Referring to FIG. 5-c, in some embodiments of the present invention, the computer device 500 may further include: a resource management unit 540, configured to remove the first resource from the first resource group, and/or add the fifth resource Go to a resource group. For example, the first resource may be removed from the first resource group according to the user instruction, and/or the fifth resource may be added to a resource group, or the first resource may be first from the first resource group according to the access situation of the first resource group. The resource group is stripped, and/or the fifth resource is added to a resource group.
在本发明的一些实施例中,可通过多种方式来记录资源组和内核组之间的 映射关系,举例来说, 可通过表来记录第一资源组和第一内核组之间的映射关 系, 其它情况以此类推。  In some embodiments of the present invention, the mapping relationship between the resource group and the kernel group may be recorded in various manners. For example, the mapping relationship between the first resource group and the first kernel group may be recorded through a table. Other cases and so on.
在本发明的一些实施例中 ,可通过多种方式来记录会话和内核组之间的映 射关系, 例如, 可通过表来记录第一会话和第一内核组之间的映射关系(表中 可记录第一会话的标识和第一内核组的标识等等) , 其它情况以此类推。  In some embodiments of the present invention, the mapping relationship between the session and the kernel group can be recorded in various manners. For example, the mapping relationship between the first session and the first kernel group can be recorded through a table (in the table, Record the identity of the first session and the identity of the first kernel group, etc., and so on.
在本发明的一些实施例中,第一内核组中的任意一个内核均不属于第二内 核组, 其中, 第二内核组为不同于第一内核组的内核组, 即, 不同内核组包含 不同的内核, 没有重叠。 当然, 特殊情况下第一内核组的某些内核可能同时属 于第二内核组和 /或其它内合租。 In some embodiments of the present invention, any one of the first kernel groups does not belong to the second The core group, wherein the second kernel group is a kernel group different from the first kernel group, that is, different kernel groups contain different cores, and there is no overlap. Of course, in some cases, some kernels of the first kernel group may belong to the second kernel group and/or other internal leases.
在本发明的一些实施例中,接收单元 510还可用于,接收第三资源访问请 求;  In some embodiments of the present invention, the receiving unit 510 is further configured to receive a third resource access request.
其中,调用单元 520还可用于, 若第三资源访问请求中携带有第一会话标 识和第三资源的标识,可根据第三资源的标识查询第三资源的标识所表示的第 三资源所属资源组,若根据第三资源的标识查询第三资源所属资源组为第三资 源组, 则可查询与第三资源组具有映射关系的内核组, 若查询到到与第三资源 组具有映射关系的内核组为第三内核组,则调用第三内核组中的内核处理第三 资源, 其中, 第三内核组包括至少一个内核。 例如, 可调用第三内核组中的一 个或多个内核来处理第三资源。  The invoking unit 520 is further configured to: if the third resource access request carries the identifier of the first session identifier and the third resource, query the resource of the third resource represented by the identifier of the third resource according to the identifier of the third resource If the resource group to which the third resource belongs is the third resource group, the group of the kernel group having the mapping relationship with the third resource group may be queried if the query has a mapping relationship with the third resource group. The kernel group is the third kernel group, and the kernel in the third kernel group is called to process the third resource, wherein the third kernel group includes at least one kernel. For example, one or more cores in the third kernel group can be invoked to process the third resource.
在本发明的一些实施例中,接收单元 510还可用于,接收第四资源访问请 求;  In some embodiments of the present invention, the receiving unit 510 is further configured to receive a fourth resource access request.
其中,调用单元 520还可用于, 若第三资源访问请求中携带有第一会话标 识、 第四资源组的标识和第四资源的标识, 其中, 第四资源的标识所表示的第 四资源归属于第四资源组的标识所表示的第四资源组,则可查询与第四资源组 具有映射关系的内核组, 其中, 若查询到与第四资源组具有映射关系的内核组 为第四内核组, 则可调用第四内核组中的内核处理第四资源, 其中, 第四内核 组包括至少一个内核。举例来说, 可以调用第三内核组中的一个或者多个内核 来处理第三资源。  The invoking unit 520 is further configured to: if the third resource access request carries the first session identifier, the identifier of the fourth resource group, and the identifier of the fourth resource, where the fourth resource identifier represented by the identifier of the fourth resource belongs to The fourth resource group represented by the identifier of the fourth resource group may query the kernel group that has a mapping relationship with the fourth resource group, where the kernel group having the mapping relationship with the fourth resource group is the fourth kernel. The group may call the kernel in the fourth kernel group to process the fourth resource, wherein the fourth kernel group includes at least one kernel. For example, one or more cores in the third kernel group can be invoked to process the third resource.
在本发明的一些实施例中,内核管理单元 530和资源管理单元 540可根据 需要来选择不同的分组策略来对资源和内核进行分组,不同场景下的分组策略 可能不尽相同。 In some embodiments of the present invention, the kernel management unit 530 and the resource management unit 540 may be configured according to Need to choose different grouping strategies to group resources and kernels, grouping strategies may be different in different scenarios.
例如资源管理单元 540的资源分组策略可包括如下策略 al、 策略 a2、 策 略 a3、 策略 a4和策略 a5中的一种或多种的结合: al、尽量将业务类型相同的 资源划分到同一资源组中; a2、尽量将同一业务流程中强关联的资源可划分到 一个资源组; a3、 业务关联的热点资源尽量划分到不同的资源组; a4、 数据量 较大的某资源可以根据表的分区处理, 拆分成多个资源组。 a5、 业务重组时可 删除旧资源组或重新规划资源组等。  For example, the resource grouping policy of the resource management unit 540 may include a combination of one or more of the following policy a1, policy a2, policy a3, policy a4, and policy a5: al. Try to divide resources with the same service type into the same resource group A2. Try to divide the strongly associated resources in the same business process into one resource group; a3. The hotspot resources associated with the service are divided into different resource groups as much as possible; a4. A resource with a large amount of data can be partitioned according to the table. Processing, split into multiple resource groups. A5. When the business is reorganized, you can delete the old resource group or re-plan the resource group.
又举例来说, 内核管理单元 530的内核分组策略可包括如下策略 bl、 策 略 b2和策略 b3中的一种或多种的结合:  For another example, the kernel grouping policy of kernel management unit 530 can include a combination of one or more of policy bl, policy b2, and policy b3:
bl、 内核组和资源组可为——对应的关系。 b2、 内核组的大小尽量适应于 与该内核组具有映射关系的资源组,例如对于上层关键业务对性能要求较高的 资源组, 尽量与之映射内核数相对较多的内核组。 b3、 业务变化时, 可动态调 整相应内核组的内核数 (例如, 增加或者剔除相应内核组的内核) ,  Bl, kernel groups, and resource groups can be -- corresponding relationships. B2. The size of the kernel group should be adapted to the resource group that has a mapping relationship with the kernel group. For example, for a resource group with high performance requirements for upper-level key services, try to map a kernel group with a relatively large number of cores. B3. When the business changes, the number of cores of the corresponding kernel group can be dynamically adjusted (for example, adding or removing the kernel of the corresponding kernel group),
举例来说, 电信计费业务, 在春节阶段通话激增, 在该时间段可增大相应 内核组的内核数。  For example, in the telecom billing service, the call surges during the Spring Festival period, during which the number of cores of the corresponding kernel group can be increased.
在本发明的一些实施例中, 第一资源组、 第二资源组、 第三资源组或第四 资源组可包括至少一个表和 /或至少一个表的分区。  In some embodiments of the invention, the first resource group, the second resource group, the third resource group, or the fourth resource group may include partitions of at least one table and/or at least one table.
在本发明的一些实施例中, 第一资源组、 第二资源组、 第三资源组或第四 资源组中的所有资源对应的业务类型相同。  In some embodiments of the present invention, all resources in the first resource group, the second resource group, the third resource group, or the fourth resource group have the same service type.
在本发明的一些实施例中, 第一资源组、 第二资源组、 第三资源组或第四 资源组中的所有资源为同一个业务流程中强关联的资源。 可以理解的是,本实施例的计算机设备 500的各功能模块的功能可根据上 述方法实施例中的方法具体实现,其具体实现过程可以参照上述方法实施例的 相关描述, 此处不再赘述, 另外, 计算机设备 500的各功能模块可以为软件实 现的功能模块, 在不计成本的情况下, 也可以用硬件电路来实现, 比如接收单 元 510可以为网卡、 射频模块、 Wi-Fi芯片等具有收发功能的硬件单元, 调用 单元 520可以为中央处理器( Central Processing Unit, 简称为 CPU ) , 或者是 特定集成电路(Application Specific Integrated Circuit, 简称为 ASIC ) , 或者是 被配置成实施本发明实施例的调用单元的功能一个或多个集成电路。 In some embodiments of the present invention, all resources in the first resource group, the second resource group, the third resource group, or the fourth resource group are resources that are strongly associated in the same service process. It is to be understood that the functions of the functional modules of the computer device 500 of the present embodiment may be specifically implemented according to the method in the foregoing method embodiment. For the specific implementation process, reference may be made to the related description of the foregoing method embodiments, and details are not described herein again. In addition, each function module of the computer device 500 may be a software-implemented function module, and may be implemented by a hardware circuit, for example, the receiving unit 510 may be configured to receive and receive a network card, a radio frequency module, a Wi-Fi chip, etc., regardless of cost. The functional hardware unit, the calling unit 520 may be a Central Processing Unit (CPU), or an Application Specific Integrated Circuit (ASIC), or configured to implement the embodiments of the present invention. The function of the calling unit is one or more integrated circuits.
可以看出, 本实施例中计算机设备 500在接收第一资源访问请求之后; 调 用第一内核组中的内核处理第一资源, 其中, 第一资源归属于第一资源组, 第 一资源为第一资源访问请求所请求访问的资源, 第一内核组包括至少一个内 核, 其中, 第一资源组和第一内核组之间具有对应的映射关系。 由于对资源和 内核进行分组, 并且建立了资源组和内核组的映射关系, 某内核组可主要专门 处理与之具有映射关系的资源组中的资源, 因此有利于提高资源的命中率, 进 而有利于提升性能。  It can be seen that, in the embodiment, the computer device 500, after receiving the first resource access request, invokes a kernel in the first kernel group to process the first resource, where the first resource belongs to the first resource group, and the first resource is the first resource. The first kernel group includes at least one kernel, and the first resource group and the first kernel group have a corresponding mapping relationship. Since the resources and the kernel are grouped, and the mapping relationship between the resource group and the kernel group is established, a certain kernel group can mainly process the resources in the resource group with which the mapping relationship is related, thereby facilitating the improvement of the hit rate of the resources, and thus Conducive to improving performance.
进一步的, 由于对资源也进行分组管理, 因此, 可根据需要将关键业务和 普通业务对应的资源进行区别分组,关键业务对应的资源组可与处理能力更强 的内核组进行映射, 这样有利于更合理的分配和管理内核, 进而有利于提升硬 件层管理的协调统一性,有利于有效的提高关键业务性能,也有利于没有充分 利用当前的多核技术,提高并行性,有利于更充分的利用非均匀访存模型等并 行体系架构。  Further, since the resources are also grouped and managed, the resources corresponding to the key services and the common services can be differentiated and grouped according to the needs, and the resource groups corresponding to the key services can be mapped with the kernel groups with stronger processing capabilities, which is beneficial to More reasonable allocation and management of the kernel, which in turn helps improve the coordination and uniformity of hardware layer management, is conducive to effectively improve the performance of key services, and is also beneficial to not fully utilizing the current multi-core technology, improve parallelism, and facilitate fuller utilization. Parallel architecture such as non-uniform memory access model.
进一步的, 基于分组管理机制, 使得数据库感知业务变得可能。 在较大业 务压力时,可动态调整业务相关的内核组中的内核数或调整资源组和内核组的 映射关系, 尽量保证关键业务的性能不会快速降低, 如此, 可使得数据库*** 适应性更强, 业务优化能力更强。 Further, based on the packet management mechanism, database-aware services are made possible. In a larger industry When the pressure is on, the number of cores in the service-related kernel group can be dynamically adjusted or the mapping relationship between the resource group and the kernel group can be adjusted to ensure that the performance of the key service is not rapidly reduced. Thus, the database system can be more adaptive, and the service can be improved. More optimization.
参见图 6, 图 6为本发明实施例提供的计算机设备 600的示意图, 计算机 设备 600可包括: 映射控制器 610、 资源管理器 620、 内核管理器 630、 线程 映射器 640和映射监视器 650。  Referring to FIG. 6, FIG. 6 is a schematic diagram of a computer device 600 according to an embodiment of the present invention. The computer device 600 may include: a mapping controller 610, a resource manager 620, a kernel manager 630, a thread mapper 640, and a mapping monitor 650.
其中, 映射控制器 610可用于管理资源组与内核组的映射关系, 并且根据 资源访问请求查询到对应的内核组, 创建映射线程。  The mapping controller 610 can be used to manage the mapping relationship between the resource group and the kernel group, and query the corresponding kernel group according to the resource access request to create a mapping thread.
资源管理器 620, 可用于根据业务的需要对已有资源进行分组, 如可以组 织几个表分区或是表创建资源组。 并且可以动态调整。  The resource manager 620 can be used to group existing resources according to the needs of the service, for example, several table partitions or table creation resource groups can be organized. And can be adjusted dynamically.
内核管理器 630可以动态划分新的内核组, 并调整内核组内核数量,还可 负责内核组内各内核的负载均衡。  The kernel manager 630 can dynamically partition new kernel groups, adjust the number of kernel group cores, and be responsible for load balancing of cores within the kernel group.
线程映射器 640, 可用于建立基于内核框的线程映射, 管理用户态的线程 与内核态线程的映射关系, 可映射内核线程, 还可释放内核线程, 管理操作系 统资源。 在 NUMA体系的硬件时建立内核组与 NUMA节点的映射关系。  The thread mapper 640 can be used to establish a kernel-frame-based thread mapping, manage the mapping relationship between the user-mode thread and the kernel-state thread, map the kernel thread, and release the kernel thread to manage the operating system resources. The mapping relationship between the kernel group and the NUMA node is established in the hardware of the NUMA system.
映射监视器 650, 用于监控各模块运行状态, 并提供统计和告警等功能。 可以理解的是,本实施例的计算机设备 600的各功能模块的功能可根据上 述方法实施例中的方法具体实现,其具体实现过程可以参照上述方法实施例的 相关描述, 此处不再赘述。  The mapping monitor 650 is used to monitor the running status of each module and provide statistics and alarms. It is to be understood that the functions of the functional modules of the computer device 600 of the present embodiment may be specifically implemented according to the method in the foregoing method embodiments. For the specific implementation process, reference may be made to the related description of the foregoing method embodiments, and details are not described herein again.
图 7为本发明提供的一种计算机设备的结构示意图,如图 7所示, 本实施 例的计算机设备 700包括至少一个总线 701、 与总线 701相连的至少一个处理 器 702以及与总线 701相连的网络接口 703 , 处理器 702包含有多个内核, 且 该多个内核被划分为至少两个内核组。 FIG. 7 is a schematic structural diagram of a computer device according to the present invention. As shown in FIG. 7, the computer device 700 of this embodiment includes at least one bus 701, at least one processor 702 connected to the bus 701, and a bus 701. a network interface 703, the processor 702 includes a plurality of cores, and The plurality of cores are divided into at least two kernel groups.
其中, 网络接口 703用于接收第一资源访问请求; 处理器 702用于调用第 一内核组中的内核处理第一资源, 其中, 第一资源归属于第一资源组, 第一资 源为第一资源访问请求所请求访问的资源,第一内核组包括上述多个内核中的 至少一个内核, 第一资源组和第一内核组之间具有映射关系。  The network interface 703 is configured to receive the first resource access request. The processor 702 is configured to invoke the kernel in the first kernel group to process the first resource, where the first resource belongs to the first resource group, and the first resource is the first resource. The resource accessed by the resource access request, the first kernel group includes at least one of the plurality of cores, and the first resource group and the first kernel group have a mapping relationship.
例如,处理器 702可根据网络接口 703接收到的来自客户端的第一资源访 问请求, 触发相应的资源处理流程。 其中, 资源访问请求可能是请求查询、 计 算和 /或存储某资源, 当然也可能是请求其它处理。  For example, the processor 702 can trigger a corresponding resource processing procedure according to the first resource access request received from the client by the network interface 703. Among them, the resource access request may be requesting query, calculation and/or storage of a resource, and of course, other processing may be requested.
在本发明的一些实施例中,第一资源访问请求中可携带有第一资源的标识 和第一会话标识(当然, 第一资源访问请求中同时还可携带第一资源的标识和 /或第一资源组的标识等) , 其中, 处理器 702在调用第一内核组中的内核处 理第一资源之前,还可查询与第一会话标识所表示的第一会话具有映射关系的 内核组, 其中, 查询到的内核组为第一内核组。 例如, 可以调用第一内核组中 的一个或多个内核来处理第一资源。  In some embodiments of the present invention, the first resource access request may carry the identifier of the first resource and the first session identifier (of course, the first resource access request may also carry the identifier of the first resource and/or the first An identifier of a resource group, etc., wherein the processor 702 may further query a kernel group having a mapping relationship with the first session indicated by the first session identifier before calling the kernel in the first kernel group to process the first resource, where The kernel group that is queried is the first kernel group. For example, one or more cores in the first kernel group can be invoked to process the first resource.
在本发明另一些实施例中 ,处理器 702调用第一内核组中的内核处理第一 资源可包括: 若第一资源访问请求中携带有第一资源组的标识(当然, 第一资 源访问请求中同时还可携带第一资源的标识和 /或会话标识等) , 且查询到与 第一资源组的标识所表示的第一资源组具有映射关系的内核组为第一内核组, 则可调用第一内核组中的内核处理第一资源。举例来说, 可调用第一内核组中 的一个或者多个内核来处理第一资源。  In other embodiments of the present invention, the processor 702 invoking the kernel in the first kernel group to process the first resource may include: if the first resource access request carries the identifier of the first resource group (of course, the first resource access request The identifier of the first resource and/or the session identifier may be carried in the middle, and the kernel group having the mapping relationship with the first resource group indicated by the identifier of the first resource group is the first kernel group. The kernel in the first kernel group processes the first resource. For example, one or more cores in the first kernel group can be invoked to process the first resource.
处理器 702可调用第一内核组中的第一内核来处理第一资源, 其中, 第一 内核可包括一个或多个内核。 可调用第二内核组中的第二内核来处理第二资 源, 其中第二内核可包括一个或多个内核。 The processor 702 can invoke a first kernel in the first kernel group to process the first resource, wherein the first core can include one or more cores. The second kernel in the second kernel group can be called to process the second asset The source, where the second core can include one or more cores.
在本发明的一些实施例中 ,处理器 702还可将第一内核从第一内核组中剔 除, 和 /或将第二内核添加到第一内核组之中 (例如, 可在将第二内核从第二 内核组中剔除之后, 将第二内核添加到所述第一内核组之中)。 例如可能根据 用户指令将第一内核从第一内核组中剔除, 和 /或将第二内核添加到第一内核 组之中, 或者可能根据第一资源组的访问情况将第一内核从第一内核组中剔 除, 和 /或将第二内核添加到第一内核组之中, 如当第一资源组的访问频率降 低到某阔值时, 可将第一内核从第一内核组中剔除; 当第一资源组的访问频率 高于某阔值时, 可将第二内核添加到第一内核组之中, 其它场景以此类推。  In some embodiments of the invention, the processor 702 may also cull the first kernel from the first kernel group and/or add the second kernel to the first kernel group (eg, the second core may be After culling from the second kernel group, the second kernel is added to the first kernel group). For example, the first kernel may be culled from the first kernel group according to a user instruction, and/or the second kernel may be added to the first kernel group, or the first kernel may be first from the first resource group according to the access situation of the first resource group. Removing the kernel group, and/or adding the second kernel to the first kernel group, for example, when the access frequency of the first resource group is reduced to a certain threshold, the first kernel may be removed from the first kernel group; When the access frequency of the first resource group is higher than a certain threshold, the second kernel may be added to the first kernel group, and so on.
在本发明的一些实施例中,处理器 702还可将第一资源从第一资源组中剔 除, 和 /或将第五资源添加到一资源组之中。 例如可能根据用户指令将第一资 源从第一资源组中剔除, 和 /或将第五资源添加到一资源组之中, 或者, 可能 根据第一资源组的访问情况将第一资源从第一资源组中剔除, 和 /或将第五资 源添加到一资源组之中。  In some embodiments of the invention, processor 702 may also cull the first resource from the first resource group and/or add the fifth resource to a resource group. For example, the first resource may be removed from the first resource group according to the user instruction, and/or the fifth resource may be added to a resource group, or the first resource may be first from the first resource group according to the access situation of the first resource group. The resource group is stripped, and/or the fifth resource is added to a resource group.
在本发明的一些实施例中,处理器 702可通过多种方式来记录资源组和内 核组之间的映射关系, 例如, 可通过表来记录第一资源组和第一内核组之间的 映射关系, 其它情况以此类推。  In some embodiments of the present invention, the processor 702 can record the mapping relationship between the resource group and the kernel group in various manners. For example, the mapping between the first resource group and the first kernel group can be recorded through a table. Relationship, other situations and so on.
在本发明的一些实施例中,处理器 702可通过多种方式来记录会话和内核 组之间的映射关系, 例如, 可通过表来记录第一会话和第一内核组之间的映射 关系(表中可记录第一会话的标识和第一内核组的标识等等), 其它情况以此 类推。  In some embodiments of the present invention, the processor 702 can record the mapping relationship between the session and the kernel group in various manners. For example, the mapping relationship between the first session and the first kernel group can be recorded through a table ( The table can record the identity of the first session and the identity of the first kernel group, etc., and so on.
在本发明的一些实施例中, 网络接口 703还可接收第二资源访问请求; 若 第二资源访问请求中携带有第一会话标识和第二资源的标识, 且处理器 702 查询到与第一会话标识所表示的第一会话具有映射关系的内核组为第一内核 组, 则确定第二资源是否归属于第一资源组, 若确定出第二资源的标识所表示 的第二资源不归属于第一资源组而归属于第二资源组,则查询与第二资源组具 有映射关系的内核组,若查询到与第二资源组具有映射关系的内核组为第二内 核组, 则调用第二内核组中的内核处理第二资源, 其中, 第二内核组包括至少 一个内核。举例来说 ,可调用第二内核组中的一个或多个内核来处理第二资源。 In some embodiments of the present invention, the network interface 703 may also receive a second resource access request; The second resource access request carries the identifier of the first session identifier and the second resource, and the processor 702 queries the kernel group that has the mapping relationship with the first session indicated by the first session identifier as the first kernel group, and then determines Whether the second resource belongs to the first resource group, and if the second resource indicated by the identifier of the second resource is not attributed to the first resource group but belongs to the second resource group, the query has a mapping relationship with the second resource group. If the kernel group that is mapped to the second resource group is the second kernel group, the kernel in the second kernel group is called to process the second resource, where the second kernel group includes at least one kernel. For example, one or more of the kernels in the second kernel group can be invoked to process the second resource.
在本发明的一些实施例中,第一内核组中的任意一个内核均不属于第二内 核组, 其中, 第二内核组为不同于第一内核组的内核组, 即, 不同内核组包含 不同的内核, 没有重叠。 当然, 特殊情况下第一内核组的某些内核可能同时属 于第二内核组和 /或其它内合租。  In some embodiments of the present invention, any one of the first kernel groups does not belong to the second kernel group, wherein the second kernel group is a kernel group different from the first kernel group, that is, different kernel groups contain different The kernel, no overlap. Of course, in some cases, some cores of the first kernel group may belong to the second kernel group and/or other internal leases.
在本发明的一些实施例中, 网络接口 703还可接收第三资源访问请求; 若 第三资源访问请求中携带有第一会话标识和第三资源的标识, 则处理器 702 可根据第三资源的标识查询第三资源所属资源组,若根据第三资源的标识查询 第三资源的标识所表示的第三资源所属资源组为第三资源组,则可查询与第三 资源组具有映射关系的内核组,若查询到到与第三资源组具有映射关系的内核 组为第三内核组, 则调用第三内核组中的内核处理第三资源, 其中, 第三内核 组包括至少一个内核。例如, 可调用第三内核组中的一个或多个内核来处理第 三资源。  In some embodiments of the present invention, the network interface 703 may further receive the third resource access request. If the third resource access request carries the identifier of the first session identifier and the third resource, the processor 702 may be configured according to the third resource. The identifier of the resource group to which the third resource belongs is queried, and if the resource group to which the third resource indicated by the identifier of the third resource belongs to the third resource group is queried according to the identifier of the third resource, the mapping relationship with the third resource group may be queried. The kernel group, if it is found that the kernel group having the mapping relationship with the third resource group is the third kernel group, calls the kernel in the third kernel group to process the third resource, wherein the third kernel group includes at least one kernel. For example, one or more cores in the third kernel group can be invoked to process the third resource.
在本发明的一些实施例中, 网络接口 703还可接收第四资源访问请求; 若 第三资源访问请求中携带有第一会话标识、第四资源组的标识和第四资源的标 识, 其中, 第四资源的标识所表示的第四资源归属于第四资源组的标识所表示 的第四资源组, 则处理器 702可查询与第四资源组具有映射关系的内核组, 其 中, 若查询到与第四资源组具有映射关系的内核组为第四内核组, 则可调用第 四内核组中的内核处理第四资源, 其中, 第四内核组包括至少一个内核。 举例 来说, 可以调用第三内核组中的一个或者多个内核来处理第三资源。 In some embodiments of the present invention, the network interface 703 may further receive the fourth resource access request, where the third resource access request carries the first session identifier, the identifier of the fourth resource group, and the identifier of the fourth resource, where The fourth resource indicated by the identifier of the fourth resource belongs to the identifier of the fourth resource group. The fourth resource group, the processor 702 can query the kernel group that has a mapping relationship with the fourth resource group, where the kernel group that has the mapping relationship with the fourth resource group is the fourth kernel group, The kernel in the quad core group processes the fourth resource, wherein the fourth kernel group includes at least one kernel. For example, one or more of the cores in the third kernel group can be invoked to process the third resource.
在本发明的一些实施例中,处理器 702可根据需要来选择不同的分组策略 来对资源和内核进行分组, 不同场景下的分组策略可能不尽相同。  In some embodiments of the invention, processor 702 may select different grouping policies to group resources and cores as needed, and grouping strategies may vary from scenario to scenario.
例如, 资源的分组策略可包括如下策略 al、 策略 a2、 策略 a3、 策略 a4 和策略 a5 中的一种或多种的结合: al、 尽量将业务类型相同的资源划分到同 一资源组中; a2、 尽量将同一业务流程中强关联的资源可划分到一个资源组; a3、 业务关联的热点资源尽量划分到不同的资源组; a4、 数据量较大的某资源 可以根据表的分区处理, 拆分成多个资源组。 a5、 业务重组时可删除旧资源组 或重新规划资源组等。  For example, the grouping policy of the resource may include a combination of one or more of the following policy a1, policy a2, policy a3, policy a4, and policy a5: al. Try to divide resources with the same service type into the same resource group; a2 Try to divide the strongly associated resources in the same business process into one resource group; a3. The hotspot resources associated with the service are divided into different resource groups as much as possible; a4. A resource with a large amount of data can be processed according to the partition of the table. Divided into multiple resource groups. A5. You can delete the old resource group or re-plan the resource group when the business is reorganized.
又举例来说, 内核的分组策略可包括如下策略 bl、 策略 b2和策略 b3中 的一种或多种的结合: bl、 内核组和资源组可为——对应的关系。 b2、 内核组 的大小尽量适应于与该内核组具有映射关系的资源组,例如对于上层关键业务 对性能要求较高的资源组, 尽量与之映射内核数相对较多的内核组。 b3、 业务 变化时, 可动态调整相应内核组的内核数(例如, 增加或者剔除相应内核组的 内核), 例如电信计费业务, 在春节阶段通话激增, 在该时间段可增大相应内 核组的内核数。  For another example, the kernel's grouping policy may include a combination of one or more of the following policies bl, policy b2, and policy b3: bl, kernel groups, and resource groups may be - corresponding relationships. B2. The size of the kernel group should be adapted to the resource group that has a mapping relationship with the kernel group. For example, for a resource group with high performance requirements for upper-level key services, try to map a kernel group with a relatively large number of cores. B3. When the service changes, the number of cores of the corresponding kernel group can be dynamically adjusted (for example, the kernel of the corresponding kernel group is added or removed), for example, the telecom billing service, and the call surges during the Chinese New Year period, and the corresponding kernel group can be increased during the time period. The number of cores.
在本发明的一些实施例中, 第一资源组、 第二资源组、 第三资源组或第四 资源组可包括至少一个表和 /或至少一个表的分区。  In some embodiments of the invention, the first resource group, the second resource group, the third resource group, or the fourth resource group may include partitions of at least one table and/or at least one table.
在本发明的一些实施例中, 第一资源组、 第二资源组、 第三资源组或第四 资源组中的所有资源对应的业务类型相同。 In some embodiments of the invention, the first resource group, the second resource group, the third resource group, or the fourth All resources in the resource group have the same business type.
在本发明的一些实施例中, 第一资源组、 第二资源组、 第三资源组或第四 资源组中的所有资源为同一个业务流程中强关联的资源。  In some embodiments of the present invention, all resources in the first resource group, the second resource group, the third resource group, or the fourth resource group are resources that are strongly associated in the same service flow.
可以理解的是,本实施例的计算机设备 700的各功能模块的功能可根据上 述方法实施例中的方法具体实现,其具体实现过程可以参照上述方法实施例的 相关描述, 此处不再赘述。  It is to be understood that the functions of the functional modules of the computer device 700 of the present embodiment may be specifically implemented according to the method in the foregoing method embodiment. For the specific implementation process, reference may be made to the related description of the foregoing method embodiments, and details are not described herein again.
可以看出, 本实施例在网络接口 703接收到第一资源访问请求之后, 处理 器 702调用第一内核组中的内核处理第一资源, 其中, 第一资源归属于第一资 源组, 第一资源为第一资源访问请求所请求访问的资源, 第一内核组包括至少 一个内核, 其中, 第一资源组和第一内核组之间具有对应的映射关系。 由于对 资源和内核进行分组, 并且建立了资源组和内核组的映射关系, 某内核组可主 要专门处理与之具有映射关系的资源组中的资源,因此有利于提高资源的命中 率, 进而有利于提升性能。  It can be seen that after the network interface 703 receives the first resource access request, the processor 702 calls the kernel in the first kernel group to process the first resource, where the first resource belongs to the first resource group, the first The resource is the resource requested by the first resource access request, and the first kernel group includes at least one kernel, wherein the first resource group and the first kernel group have a corresponding mapping relationship. Since the resources and the kernel are grouped, and the mapping relationship between the resource group and the kernel group is established, a certain kernel group can mainly process the resources in the resource group with which the mapping relationship is related, thereby facilitating the improvement of the hit rate of the resources, and thus Conducive to improving performance.
进一步的, 由于对资源也进行分组管理, 因此, 可根据需要将关键业务和 普通业务对应的资源进行区别分组,关键业务对应的资源组可与处理能力更强 的内核组进行映射, 这样有利于更合理的分配和管理内核, 进而有利于提升硬 件层管理的协调统一性,有利于有效的提高关键业务性能,也有利于没有充分 利用当前的多核技术,提高并行性,有利于更充分的利用非均匀访存模型等并 行体系架构。  Further, since the resources are also grouped and managed, the resources corresponding to the key services and the common services can be differentiated and grouped according to the needs, and the resource groups corresponding to the key services can be mapped with the kernel groups with stronger processing capabilities, which is beneficial to More reasonable allocation and management of the kernel, which in turn helps improve the coordination and uniformity of hardware layer management, is conducive to effectively improve the performance of key services, and is also conducive to not fully utilizing the current multi-core technology, improve parallelism, and facilitate fuller utilization. Parallel architecture such as non-uniform memory access model.
进一步的, 基于分组管理机制, 使得数据库感知业务变得可能。 在较大业 务压力时,可动态调整业务相关的内核组中的内核数或调整资源组和内核组的 映射关系, 尽量保证关键业务的性能不会快速降低, 如此, 可使得数据库*** 适应性更强, 业务优化能力更强。 Further, based on the packet management mechanism, database-aware services are made possible. In the case of large business pressure, the number of cores in the service-related kernel group can be dynamically adjusted or the mapping relationship between the resource group and the kernel group can be adjusted to ensure that the performance of key services is not rapidly reduced. Thus, the database system can be made. More adaptable and more business-optimized.
图 8描述了本发明实施例提供的一种计算机设备 800的结构,该计算机设 备 800包括: 至少一个处理器 801 , 例如 CPU, 至少一个网络接口 804, 存储 器 805 , 至少一个通信总线 802。 通信总线 802用于实现这些组件之间的连接 通信。 该通信终端 800可选的包含用户接口 803 , 用于连接显示器, 键盘或者 点击设备(例如鼠标, 轨迹球(trackball ) , 触感板或者触感显示屏) 。  FIG. 8 illustrates a structure of a computer device 800 according to an embodiment of the present invention. The computer device 800 includes: at least one processor 801, such as a CPU, at least one network interface 804, a memory 805, and at least one communication bus 802. Communication bus 802 is used to implement connection communication between these components. The communication terminal 800 optionally includes a user interface 803 for connecting a display, a keyboard or a pointing device (e.g., a mouse, a trackball, a touchpad, or a touch sensitive display).
存储器 805可能包含高速 RAM存储器, 也可能还包括非不稳定的存储器 ( non-volatile memory ) , 例如至少一个磁盘存储器。 存储器 805可选的可以 包含至少一个位于远离前述处理器 801的存储装置。  The memory 805 may include a high speed RAM memory and may also include a non-volatile memory such as at least one disk memory. The memory 805 can optionally include at least one storage device located remotely from the aforementioned processor 801.
在一些实施方式中,存储器 805存储了如下的元素, 可执行模块或者数据 结构, 或者他们的子集, 或者他们的扩展集:  In some embodiments, memory 805 stores the following elements, executable modules or data structures, or a subset thereof, or their extension set:
操作*** 8051 , 包含各种***程序, 用于实现各种基础业务以及处理基 于硬件的任务;  The operating system 8051, which contains various system programs for implementing various basic services and handling hardware-based tasks;
应用程序模块 8052, 包含各种应用程序, 用于实现各种应用业务。  Application module 8052, which contains various applications for implementing various application services.
应用程序模块 8052中包括但不限于接收单元 510和调用单元 520。  The application module 8052 includes, but is not limited to, a receiving unit 510 and a calling unit 520.
进一步的, 应用程序模块 8052中还可包括但不限于资源管理单元 540和 内核管理单元 530。  Further, the application module 8052 may also include, but is not limited to, a resource management unit 540 and a kernel management unit 530.
应用程序模块 8052中各模块的具体实现参见图 5-a~5-c所示实施例中的相 应模块, 在此不赘述。  For the specific implementation of each module in the application module 8052, refer to the corresponding modules in the embodiment shown in Figure 5-a~5-c, and details are not described herein.
在本发明实施例中, 通过调用存储器 808存储的程序或指令, 处理器 801 用于: 通过网络接口 804接收第一资源访问请求; 调用第一内核组中的内核处 理第一资源, 其中, 第一资源归属于第一资源组, 第一资源为第一资源访问请 求所请求访问的资源, 第一内核组包括至少一个内核, 第一资源组和第一内核 组之间具有绑定映射关系。 In the embodiment of the present invention, the processor 801 is configured to: receive the first resource access request by using the network interface 804 by calling the program or the instruction stored in the memory 808; and calling the kernel in the first kernel group to process the first resource, where A resource belongs to the first resource group, and the first resource is the first resource access. The resource requested to be accessed, the first kernel group includes at least one kernel, and the first resource group and the first kernel group have a binding mapping relationship.
举例来说,处理器 801可通过网络接口 804接收来自客户端的第一资源访 问请求, 资源访问请求可触发相应的资源处理流程。 其中, 资源访问请求可能 是请求查询、 计算和 /或存储某资源, 当然也可能是请求其它处理。  For example, the processor 801 can receive a first resource access request from the client through the network interface 804, and the resource access request can trigger a corresponding resource processing flow. Among them, the resource access request may be requesting query, calculation and/or storage of a certain resource, and of course, other processing may be requested.
在本发明的一些实施例中,第一资源访问请求中可携带有第一资源的标识 和第一会话标识(当然, 第一资源访问请求中同时还可携带第一资源的标识和 /或第一资源组的标识等) , 其中, 处理器 801在调用第一内核组中的内核处 理第一资源之前,还可查询与第一会话标识所表示的第一会话具有映射关系的 内核组, 其中, 查询到的内核组为第一内核组。 例如, 可以调用第一内核组中 的一个或多个内核来处理第一资源。  In some embodiments of the present invention, the first resource access request may carry the identifier of the first resource and the first session identifier (of course, the first resource access request may also carry the identifier of the first resource and/or the first An identifier of a resource group, etc., wherein the processor 801 may further query a kernel group having a mapping relationship with the first session indicated by the first session identifier before calling the kernel in the first kernel group to process the first resource, where The kernel group that is queried is the first kernel group. For example, one or more cores in the first kernel group can be invoked to process the first resource.
在本发明另一些实施例中 ,处理器 801调用第一内核组中的内核处理第一 资源可包括: 若第一资源访问请求中携带有第一资源组的标识(当然, 第一资 源访问请求中同时还可携带第一资源的标识和 /或会话标识等) , 且查询到与 第一资源组的标识所表示的第一资源组具有映射关系的内核组为第一内核组, 则可调用第一内核组中的内核处理第一资源。举例来说, 可调用第一内核组中 的一个或者多个内核来处理第一资源。  In other embodiments of the present invention, the processor 801 invoking the kernel in the first kernel group to process the first resource may include: if the first resource access request carries the identifier of the first resource group (of course, the first resource access request The identifier of the first resource and/or the session identifier may be carried in the middle, and the kernel group having the mapping relationship with the first resource group indicated by the identifier of the first resource group is the first kernel group. The kernel in the first kernel group processes the first resource. For example, one or more cores in the first kernel group can be invoked to process the first resource.
处理器 801可调用第一内核组中的第一内核来处理第一资源, 其中, 第一 内核可包括一个或多个内核。 可调用第二内核组中的第二内核来处理第二资 源, 其中第二内核可包括一个或多个内核。  The processor 801 can invoke a first kernel in the first set of kernels to process the first resource, wherein the first core can include one or more cores. A second kernel in the second kernel group can be invoked to process the second resource, wherein the second core can include one or more cores.
在本发明的一些实施例中,处理器 801还可将第一内核从第一内核组中剔 除, 和 /或将第二内核添加到第一内核组之中 (例如, 可在将第二内核从第二 内核组中剔除之后, 将第二内核添加到所述第一内核组之中)。 例如可能根据 用户指令将第一内核从第一内核组中剔除, 和 /或将第二内核添加到第一内核 组之中, 或者可能根据第一资源组的访问情况将第一内核从第一内核组中剔 除, 和 /或将第二内核添加到第一内核组之中, 如当第一资源组的访问频率降 低到某阔值时, 可将第一内核从第一内核组中剔除; 当第一资源组的访问频率 高于某阔值时, 可将第二内核添加到第一内核组之中, 其它场景以此类推。 In some embodiments of the present invention, the processor 801 may also cull the first kernel from the first kernel group, and/or add the second kernel to the first kernel group (eg, the second core may be From the second After culling in the kernel group, the second kernel is added to the first kernel group). For example, the first kernel may be culled from the first kernel group according to a user instruction, and/or the second kernel may be added to the first kernel group, or the first kernel may be first from the first resource group according to the access situation of the first resource group. Removing the kernel group, and/or adding the second kernel to the first kernel group, for example, when the access frequency of the first resource group is reduced to a certain threshold, the first kernel may be removed from the first kernel group; When the access frequency of the first resource group is higher than a certain threshold, the second kernel may be added to the first kernel group, and so on.
在本发明的一些实施例中,处理器 801还可将第一资源从第一资源组中剔 除, 和 /或将第五资源添加到一资源组之中。 例如可能根据用户指令将第一资 源从第一资源组中剔除, 和 /或将第五资源添加到一资源组之中, 或者, 可能 根据第一资源组的访问情况将第一资源从第一资源组中剔除, 和 /或将第五资 源添加到一资源组之中。  In some embodiments of the invention, processor 801 may also cull the first resource from the first resource group and/or add the fifth resource to a resource group. For example, the first resource may be removed from the first resource group according to the user instruction, and/or the fifth resource may be added to a resource group, or the first resource may be first from the first resource group according to the access situation of the first resource group. The resource group is stripped, and/or the fifth resource is added to a resource group.
在本发明的一些实施例中,处理器 801可通过多种方式来记录资源组和内 核组之间的映射关系, 例如, 可通过表来记录第一资源组和第一内核组之间的 映射关系, 其它情况以此类推。  In some embodiments of the present invention, the processor 801 can record the mapping relationship between the resource group and the kernel group in various manners. For example, the mapping between the first resource group and the first kernel group can be recorded through a table. Relationship, other situations and so on.
在本发明的一些实施例中,处理器 801可通过多种方式来记录会话和内核 组之间的映射关系, 例如, 可通过表来记录第一会话和第一内核组之间的映射 关系(表中可记录第一会话的标识和第一内核组的标识等等), 其它情况以此 类推。  In some embodiments of the present invention, the processor 801 can record the mapping relationship between the session and the kernel group in various manners. For example, the mapping relationship between the first session and the first kernel group can be recorded through a table ( The table can record the identity of the first session and the identity of the first kernel group, etc., and so on.
在本发明的一些实施例中,处理器 801还可通过网络接口 804接收第二资 源访问请求; 其中, 若第二资源访问请求中携带有第一会话标识和第二资源的 标识,且查询到与第一会话标识所表示的第一会话具有映射关系的内核组为第 一内核组, 则确定第二资源是否归属于第一资源组, 若确定出第二资源的标识 所表示的第二资源不归属于第一资源组而归属于第二资源组,则查询与第二资 源组具有映射关系的内核组,若查询到与第二资源组具有映射关系的内核组为 第二内核组, 则调用第二内核组中的内核处理第二资源, 其中, 第二内核组包 括至少一个内核。举例来说, 可调用第二内核组中的一个或多个内核来处理第 二资源。 In some embodiments of the present invention, the processor 801 may further receive the second resource access request by using the network interface 804. The second resource access request carries the identifier of the first session identifier and the second resource, and the query is The kernel group having a mapping relationship with the first session indicated by the first session identifier is the first kernel group, and determining whether the second resource belongs to the first resource group, and if the identifier of the second resource is determined If the indicated second resource is not attributed to the first resource group and belongs to the second resource group, the kernel group having the mapping relationship with the second resource group is queried, and if the kernel group having the mapping relationship with the second resource group is queried, The second kernel group calls the kernel in the second kernel group to process the second resource, wherein the second kernel group includes at least one kernel. For example, one or more cores in the second kernel group can be invoked to process the second resource.
在本发明的一些实施例中,第一内核组中的任意一个内核均不属于第二内 核组, 其中, 第二内核组为不同于第一内核组的内核组, 即, 不同内核组包含 不同的内核, 没有重叠。 当然, 特殊情况下第一内核组的某些内核可能同时属 于第二内核组和 /或其它内合租。  In some embodiments of the present invention, any one of the first kernel groups does not belong to the second kernel group, wherein the second kernel group is a kernel group different from the first kernel group, that is, different kernel groups contain different The kernel, no overlap. Of course, in some cases, some cores of the first kernel group may belong to the second kernel group and/or other internal leases.
在本发明的一些实施例中,处理器 801还可通过网络接口 804接收第三资 源访问请求; 若第三资源访问请求中携带有第一会话标识和第三资源的标识, 可根据第三资源的标识查询第三资源所属资源组,若根据第三资源的标识查询 第三资源的标识所表示的第三资源所属资源组为第三资源组,则可查询与第三 资源组具有映射关系的内核组,若查询到到与第三资源组具有映射关系的内核 组为第三内核组, 则调用第三内核组中的内核处理第三资源, 其中, 第三内核 组包括至少一个内核。例如, 可调用第三内核组中的一个或多个内核来处理第 三资源。  In some embodiments of the present invention, the processor 801 may further receive the third resource access request by using the network interface 804; if the third resource access request carries the identifier of the first session identifier and the third resource, according to the third resource The identifier of the resource group to which the third resource belongs is queried, and if the resource group to which the third resource indicated by the identifier of the third resource belongs to the third resource group is queried according to the identifier of the third resource, the mapping relationship with the third resource group may be queried. The kernel group, if it is found that the kernel group having the mapping relationship with the third resource group is the third kernel group, calls the kernel in the third kernel group to process the third resource, wherein the third kernel group includes at least one kernel. For example, one or more cores in the third kernel group can be invoked to process the third resource.
在本发明的一些实施例中,处理器 801还可通过网络接口 804接收第四资 源访问请求; 若第三资源访问请求中携带有第一会话标识、第四资源组的标识 和第四资源的标识, 其中, 第四资源的标识所表示的第四资源归属于第四资源 组的标识所表示的第四资源组, 则可查询与第四资源组具有映射关系的内核 组, 其中, 若查询到与第四资源组具有映射关系的内核组为第四内核组, 则可 调用第四内核组中的内核处理第四资源,其中,第四内核组包括至少一个内核。 举例来说, 可以调用第三内核组中的一个或者多个内核来处理第三资源。 In some embodiments of the present invention, the processor 801 may further receive the fourth resource access request by using the network interface 804; if the third resource access request carries the first session identifier, the identifier of the fourth resource group, and the fourth resource An identifier, where the fourth resource indicated by the identifier of the fourth resource belongs to the fourth resource group indicated by the identifier of the fourth resource group, and the kernel group having the mapping relationship with the fourth resource group may be queried, where The kernel group having a mapping relationship with the fourth resource group is the fourth kernel group, The kernel in the fourth kernel group is called to process the fourth resource, wherein the fourth kernel group includes at least one kernel. For example, one or more of the cores in the third kernel group can be invoked to process the third resource.
在本发明的一些实施例中,处理器 801可根据需要来选择不同的分组策略 来对资源和内核进行分组, 不同场景下的分组策略可能不尽相同。  In some embodiments of the present invention, the processor 801 may select different grouping policies to group resources and cores as needed, and the grouping policies may be different in different scenarios.
例如, 资源的分组策略可包括如下策略 al、 策略 a2、 策略 a3、 策略 a4 和策略 a5 中的一种或多种的结合: al、 尽量将业务类型相同的资源划分到同 一资源组中; a2、 尽量将同一业务流程中强关联的资源可划分到一个资源组; a3、 业务关联的热点资源尽量划分到不同的资源组; a4、 数据量较大的某资源 可以根据表的分区处理, 拆分成多个资源组。 a5、 业务重组时可删除旧资源组 或重新规划资源组等。  For example, the grouping policy of the resource may include a combination of one or more of the following policy a1, policy a2, policy a3, policy a4, and policy a5: al. Try to divide resources with the same service type into the same resource group; a2 Try to divide the strongly associated resources in the same business process into one resource group; a3. The hotspot resources associated with the service are divided into different resource groups as much as possible; a4. A resource with a large amount of data can be processed according to the partition of the table. Divided into multiple resource groups. A5. You can delete the old resource group or re-plan the resource group when the business is reorganized.
又举例来说, 内核的分组策略可包括如下策略 bl、 策略 b2和策略 b3中 的一种或多种的结合: bl、 内核组和资源组可为——对应的关系。 b2、 内核组 的大小尽量适应于与该内核组具有映射关系的资源组,例如对于上层关键业务 对性能要求较高的资源组, 尽量与之映射内核数相对较多的内核组。 b3、 业务 变化时, 可动态调整相应内核组的内核数(例如, 增加或者剔除相应内核组的 内核), 例如电信计费业务, 在春节阶段通话激增, 在该时间段可增大相应内 核组的内核数。  For another example, the kernel's grouping policy may include a combination of one or more of the following policies bl, policy b2, and policy b3: bl, kernel groups, and resource groups may be - corresponding relationships. B2. The size of the kernel group should be adapted to the resource group that has a mapping relationship with the kernel group. For example, for a resource group with high performance requirements for upper-level key services, try to map a kernel group with a relatively large number of cores. B3. When the service changes, the number of cores of the corresponding kernel group can be dynamically adjusted (for example, the kernel of the corresponding kernel group is added or removed), for example, the telecom billing service, and the call surges during the Chinese New Year period, and the corresponding kernel group can be increased during the time period. The number of cores.
在本发明的一些实施例中, 第一资源组、 第二资源组、 第三资源组或第四 资源组可包括至少一个表和 /或至少一个表的分区。  In some embodiments of the invention, the first resource group, the second resource group, the third resource group, or the fourth resource group may include partitions of at least one table and/or at least one table.
在本发明的一些实施例中, 第一资源组、 第二资源组、 第三资源组或第四 资源组中的所有资源对应的业务类型相同。  In some embodiments of the present invention, all resources in the first resource group, the second resource group, the third resource group, or the fourth resource group have the same service type.
在本发明的一些实施例中, 第一资源组、 第二资源组、 第三资源组或第四 资源组中的所有资源为同一个业务流程中强关联的资源。 In some embodiments of the invention, the first resource group, the second resource group, the third resource group, or the fourth All resources in a resource group are resources that are strongly associated in the same business process.
可以理解的是,本实施例的计算机设备 800的各功能模块的功能可根据上 述方法实施例中的方法具体实现,其具体实现过程可以参照上述方法实施例的 相关描述, 此处不再赘述。  It is to be understood that the functions of the functional modules of the computer device 800 of the present embodiment may be specifically implemented according to the method in the foregoing method embodiments. For the specific implementation process, reference may be made to the related description of the foregoing method embodiments, and details are not described herein again.
可见, 釆用上述方案后, 处理器 801接收到第一资源访问请求之后; 调用 第一内核组中的内核处理第一资源, 其中, 第一资源归属于第一资源组, 第一 资源为第一资源访问请求所请求访问的资源, 第一内核组包括至少一个内核, 其中, 第一资源组和第一内核组之间具有对应的映射关系。 由于对资源和内核 进行分组, 并且建立了资源组和内核组的映射关系, 某内核组可主要专门处理 与之具有映射关系的资源组中的资源, 因此有利于提高资源的命中率, 进而有 利于提升性能。  It can be seen that after the foregoing solution is used, the processor 801 receives the first resource access request, and invokes the kernel in the first kernel group to process the first resource, where the first resource belongs to the first resource group, and the first resource is the first resource. The first kernel group includes at least one kernel, and the first resource group and the first kernel group have a corresponding mapping relationship. Since the resources and the kernel are grouped, and the mapping relationship between the resource group and the kernel group is established, a certain kernel group can mainly process the resources in the resource group with which the mapping relationship is related, thereby facilitating the improvement of the hit rate of the resources, and thus Conducive to improving performance.
进一步的, 由于对资源也进行分组管理, 因此, 可根据需要将关键业务和 普通业务对应的资源进行区别分组,关键业务对应的资源组可与处理能力更强 的内核组进行映射, 这样有利于更合理的分配和管理内核, 进而有利于提升硬 件层管理的协调统一性,有利于有效的提高关键业务性能,也有利于没有充分 利用当前的多核技术,提高并行性,有利于更充分的利用非均匀访存模型等并 行体系架构。  Further, since the resources are also grouped and managed, the resources corresponding to the key services and the common services can be differentiated and grouped according to the needs, and the resource groups corresponding to the key services can be mapped with the kernel groups with stronger processing capabilities, which is beneficial to More reasonable allocation and management of the kernel, which in turn helps improve the coordination and uniformity of hardware layer management, is conducive to effectively improve the performance of key services, and is also conducive to not fully utilizing the current multi-core technology, improve parallelism, and facilitate fuller utilization. Parallel architecture such as non-uniform memory access model.
进一步的, 基于分组管理机制, 使得数据库感知业务变得可能。 在较大业 务压力时,可动态调整业务相关的内核组中的内核数或调整资源组和内核组的 映射关系, 尽量保证关键业务的性能不会快速降低, 如此, 可使得数据库*** 适应性更强, 业务优化能力更强。  Further, based on the packet management mechanism, database-aware services are made possible. In the case of large business pressure, the number of cores in the service-related kernel group can be dynamically adjusted or the mapping relationship between the resource group and the kernel group can be adjusted to ensure that the performance of key services is not rapidly reduced. Thus, the database system can be more adaptive. Strong, business optimization ability is stronger.
本发明实施例还提供一种多核手机 900 的示意图, 其中, 多核手机 900 可以用于实现上述实施例中计算机设备 500、计算机设备 600、计算机设备 700 或计算机设备 800的部分或全部功能。 The embodiment of the invention further provides a schematic diagram of a multi-core mobile phone 900, wherein the multi-core mobile phone 900 It may be used to implement some or all of the functions of computer device 500, computer device 600, computer device 700, or computer device 800 in the above-described embodiments.
如图 9所示, 为了便于说明,仅示出了一些可能与本发明实施例相关的部 分, 部分具体技术细节未揭示的, 请参照本发明实施例方法部分。  As shown in FIG. 9, for the convenience of description, only some of the parts that may be related to the embodiments of the present invention are shown. For some specific technical details, please refer to the method part of the embodiment of the present invention.
参考图 9, 多核手机包括射频(Radio Frequency, RF ) 电路 910、 存储器 Referring to FIG. 9, a multi-core mobile phone includes a radio frequency (RF) circuit 910 and a memory.
920、 输入单元 930、 无线保真 ( wireless fidelity, WiFi )模块 970、 显示单元 940、 传感器 950、 音频电路 960、 处理器 980、 以及电源 990等部件。 920, input unit 930, wireless fidelity (WiFi) module 970, display unit 940, sensor 950, audio circuit 960, processor 980, and power supply 990.
其中, 本领域技术人员可以理解, 图 9中示出的多核手机结构并不构成对 多核手机的限定, 可以包括比图示更多或更少的部件, 或者组合某些部件, 或 者不同的部件布置。  Among them, those skilled in the art can understand that the multi-core mobile phone structure shown in FIG. 9 does not constitute a limitation on a multi-core mobile phone, and may include more or less components than those illustrated, or combine some components, or different components. Arrangement.
RF电路 910可用于在收发信息或通话过程中, 信号的接收和发送, 特别 地, 将基站的下行信息接收后, 给处理器 980处理; 另外, 将设计上行的数据 发送给基站。 通常, RF电路包括但不限于天线、 至少一个放大器、 收发信机、 耦合器、 低噪声放大器(Low Noise Amplifier, LNA ) 、 双工器等。 此外, RF 电路 910还可以通过无线通信与网络和其他设备通信。上述无线通信可以使用 任一通信标准或协议, 包括但不限于全球移动通讯*** (Global System of Mobile communication, GSM ) 、 通用分组无线月良务 ( General Packet Radio Service, GPRS )、 码分多址( Code Division Multiple Access , CDMA ) 、 宽带 码分多址(Wideband Code Division Multiple Access, WCDMA ) 、 长期演进 ( Long Term Evolution, LTE ) )、 电子邮件、 短消息月良务 ( Short Messaging Service, SMS )等。  The RF circuit 910 can be used for receiving and transmitting signals during the transmission and reception of information or during a call. Specifically, after receiving the downlink information of the base station, the processing is processed by the processor 980. In addition, the uplink data is designed to be sent to the base station. Generally, RF circuits include, but are not limited to, an antenna, at least one amplifier, a transceiver, a coupler, a Low Noise Amplifier (LNA), a duplexer, and the like. In addition, RF circuit 910 can also communicate with the network and other devices via wireless communication. The above wireless communication may use any communication standard or protocol, including but not limited to Global System of Mobile communication (GSM), General Packet Radio Service (GPRS), and code division multiple access ( Code Division Multiple Access (CDMA), Wideband Code Division Multiple Access (WCDMA), Long Term Evolution (LTE), e-mail, Short Messaging Service (SMS), etc. .
其中,存储器 920可用于存储软件程序以及模块, 处理器 980通过运行存 储在存储器 920的软件程序以及模块,从而执行多核手机的各种功能应用以及 数据处理。 存储器 920可主要包括存储程序区和存储数据区, 其中, 存储程序 区可存储操作***、 至少一个功能所需的应用程序(如声音播放功能、 图像播 放功能等 )等; 存储数据区可存储根据多核手机的使用所创建的数据 (如音频 数据、 电话本等)等。 此外, 存储器 920可以包括高速随机存取存储器, 还可 以包括非易失性存储器, 例如至少一个磁盘存储器件、 闪存器件、 或其他易失 性固态存储器件。 The memory 920 can be used to store software programs and modules, and the processor 980 can be stored by running The software programs and modules stored in the memory 920 perform various functional applications and data processing of the multi-core handset. The memory 920 may mainly include a storage program area and a storage data area, wherein the storage program area may store an operating system, an application required for at least one function (such as a sound playing function, an image playing function, etc.), and the like; the storage data area may be stored according to Data created by the use of multi-core phones (such as audio data, phone books, etc.). Moreover, memory 920 can include high speed random access memory, and can also include non-volatile memory, such as at least one magnetic disk storage device, flash memory device, or other volatile solid state storage device.
输入单元 930 可用于接收输入的数字或字符信息, 以及产生与多核手机 900的用户设置以及功能控制有关的键信号输入。 具体地, 输入单元 930可包 括触控面板 931 以及其他输入设备 932。 触控面板 931 , 也称为触摸屏, 可收 集用户在其上或附近的触摸操作 (比如用户使用手指、触笔等任何适合的物体 或附件在触控面板 931上或在触控面板 931附近的操作), 并根据预先设定的 程式驱动相应的连接装置。可选的,触控面板 931可包括触摸检测装置和触摸 控制器两个部分。 其中, 触摸检测装置检测用户的触摸方位, 并检测触摸操作 带来的信号,将信号传送给触摸控制器; 触摸控制器从触摸检测装置上接收触 摸信息, 并将它转换成触点坐标, 再送给处理器 980 , 并能接收处理器 980发 来的命令并加以执行。 此外, 可以釆用电阻式、 电容式、 红外线以及表面声波 等多种类型实现触控面板 931。 除了触控面板 931 , 输入单元 930还可以包括 其他输入设备 932。 具体地, 其他输入设备 932可以包括但不限于物理键盘、 功能键(比如音量控制按键、 开关按键等)、 轨迹球、 鼠标、 操作杆等中的一 种或多种。  The input unit 930 can be used to receive input numeric or character information, as well as to generate key signal inputs related to user settings and function control of the multi-core handset 900. Specifically, the input unit 930 can include a touch panel 931 and other input devices 932. The touch panel 931, also referred to as a touch screen, can collect touch operations on or near the user (such as a user using a finger, a stylus, or the like on the touch panel 931 or near the touch panel 931. Operation), and drive the corresponding connecting device according to a preset program. Optionally, the touch panel 931 can include two parts: a touch detection device and a touch controller. Wherein, the touch detection device detects the touch orientation of the user, and detects a signal brought by the touch operation, and transmits the signal to the touch controller; the touch controller receives the touch information from the touch detection device, converts the touch information into contact coordinates, and sends the touch information The processor 980 is provided and can receive commands from the processor 980 and execute them. In addition, the touch panel 931 can be implemented in various types such as resistive, capacitive, infrared, and surface acoustic waves. In addition to the touch panel 931, the input unit 930 may also include other input devices 932. In particular, other input devices 932 may include, but are not limited to, one or more of a physical keyboard, function keys (such as volume control buttons, switch buttons, etc.), trackballs, mice, joysticks, and the like.
其中,显示单元 940可用于显示由用户输入的信息或提供给用户的信息以 及多核手机的各种菜单。 显示单元 940可包括显示面板 941 , 可选的, 可以釆 用液晶显示器 (Liquid Crystal Display, LCD ) 、 有机发光二极管 (Organic Light-Emitting Diode, OLED )等形式来配置显示面板 941。 进一步的, 触控面 板 931可覆盖显示面板 941 , 当触控面板 931检测到在其上或附近的触摸操作 后,传送给处理器 980以确定触摸事件的类型, 随后处理器 980根据触摸事件 的类型在显示面板 941上提供相应的视觉输出。 虽然在图 9中, 触控面板 931 与显示面板 941是作为两个独立的部件来实现多核手机的输入和输入功能,但 是在某些实施例中,可以将触控面板 931与显示面板 941集成而实现多核手机 的输入和输出功能。 Wherein, the display unit 940 can be used to display information input by the user or information provided to the user. And a variety of menus for multi-core phones. The display unit 940 can include a display panel 941. Alternatively, the display panel 941 can be configured in the form of a liquid crystal display (LCD), an organic light-emitting diode (OLED), or the like. Further, the touch panel 931 can cover the display panel 941. When the touch panel 931 detects a touch operation on or near the touch panel 931, it transmits to the processor 980 to determine the type of the touch event, and then the processor 980 according to the touch event. The type provides a corresponding visual output on display panel 941. Although in FIG. 9, the touch panel 931 and the display panel 941 are two independent components to implement the input and input functions of the multi-core mobile phone, in some embodiments, the touch panel 931 can be integrated with the display panel 941. And realize the input and output functions of multi-core mobile phones.
其中, 多核手机 900还可包括至少一种传感器 950, 比如光传感器、 运动 传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器, 其中, 环境光传感器可根据环境光线的明暗来调节显示面板 941的亮度,接近 传感器可在多核手机移动到耳边时, 关闭显示面板 941 和 /或背光。 作为运动 传感器的一种, 加速计传感器可检测各方向上(一般为三轴)加速度大小, 静 止时可检测出重力的大小及方向, 可用于识别多核手机姿态的应用(比如横竖 屏切换、 相关游戏、 磁力计姿态校准) 、 振动识别相关功能(比如计步器、 敲 击)等; 至于多核手机还可配置的陀螺仪、 气压计、 湿度计、 温度计和红外线 传感器等其他传感器, 在此不再赘述。  Among them, the multi-core mobile phone 900 may further include at least one type of sensor 950, such as a light sensor, a motion sensor, and other sensors. Specifically, the light sensor may include an ambient light sensor and a proximity sensor, wherein the ambient light sensor may adjust the brightness of the display panel 941 according to the brightness of the ambient light, and the proximity sensor may close the display panel 941 when the multi-core mobile phone moves to the ear / or backlight. As a kind of motion sensor, the accelerometer sensor can detect the acceleration of all directions (usually three axes). When it is still, it can detect the magnitude and direction of gravity. It can be used to identify the posture of multi-core mobile phones (such as horizontal and vertical screen switching, related Game, magnetometer attitude calibration), vibration recognition related functions (such as pedometer, tapping), etc.; other sensors such as gyroscopes, barometers, hygrometers, thermometers, and infrared sensors that can be configured for multi-core phones are not here. Let me repeat.
音频电路 960、 扬声器 961 , 传声器 962可提供用户与多核手机之间的音 频接口。音频电路 960可将接收到的音频数据转换后的电信号,传输到扬声器 961 , 由扬声器 961转换为声音信号输出; 另一方面, 传声器 962将收集的声 音信号转换为电信号, 由音频电路 960接收后转换为音频数据, 再将音频数据 输出处理器 980处理后, 经 RF电路 910以发送给比如另一多核手机, 或者将 音频数据输出至存储器 920以便进一步处理。 An audio circuit 960, a speaker 961, and a microphone 962 can provide an audio interface between the user and the multi-core handset. The audio circuit 960 can transmit the converted audio signal of the received audio data to the speaker 961, and convert it into a sound signal output by the speaker 961; on the other hand, the microphone 962 converts the collected sound signal into an electrical signal, and the audio circuit 960 Convert to audio data after receiving, then audio data The output processor 980 processes the RF circuit 910 for transmission to, for example, another multi-core handset, or outputs the audio data to the memory 920 for further processing.
WiFi属于短距离无线传输技术,多核手机通过 WiFi模块 970可以帮助用 户收发电子邮件、 浏览网页和访问流式媒体等, 它为用户提供了无线的宽带互 联网访问。 虽然图 9示出了 WiFi模块 970, 但是可以理解的是, 其并不属于 多核手机 900的必须构成,完全可以根据需要在不改变发明的本质的范围内而 省略。  WiFi is a short-range wireless transmission technology. Multi-core mobile phones can help users send and receive e-mail, browse web pages and access streaming media through the WiFi module 970. It provides users with wireless broadband Internet access. Although FIG. 9 shows the WiFi module 970, it can be understood that it does not belong to the essential configuration of the multi-core mobile phone 900, and can be omitted as needed within the scope of not changing the essence of the invention.
处理器 980是多核手机的控制中心,利用各种接口和线路连接整个多核手 机的各个部分, 通过运行或执行存储在存储器 920 内的软件程序和 /或模块, 以及调用存储在存储器 920内的数据, 执行多核手机的各种功能和处理数据, 从而对多核手机进行整体监控。 可选的, 处理器 980可包括一个或多个处理单 元; 优选的, 处理器 980可集成应用处理器和调制解调处理器, 其中, 应用处 理器主要处理操作***、用户界面和应用程序等, 调制解调处理器主要处理无 线通信。  Processor 980 is the control center for a multi-core handset that connects various portions of the entire multi-core handset using various interfaces and lines, by running or executing software programs and/or modules stored in memory 920, and recalling data stored in memory 920. , Performing various functions and processing data of multi-core mobile phones to monitor the overall operation of multi-core mobile phones. Optionally, the processor 980 may include one or more processing units. Preferably, the processor 980 may integrate an application processor and a modem processor, where the application processor mainly processes an operating system, a user interface, an application, and the like. The modem processor primarily handles wireless communications.
可以理解的是, 上述调制解调处理器也可以不集成到处理器 980中。 多核手机 900还包括给各个部件供电的电源 990 (比如电池) 。  It will be appreciated that the above described modem processor may also not be integrated into processor 980. The multi-core handset 900 also includes a power source 990 (such as a battery) that supplies power to various components.
优选的, 电源可以通过电源管理***与处理器 980逻辑相连,从而通过电 源管理***实现管理充电、 放电、 以及功耗管理等功能。 尽管未示出, 多核手 机 900还可以包括摄像头、 蓝牙模块等, 在此不再赘述。  Preferably, the power supply can be logically coupled to the processor 980 through a power management system to manage functions such as charging, discharging, and power management through the power management system. Although not shown, the multi-core mobile phone 900 may further include a camera, a Bluetooth module, and the like, and will not be described herein.
在本发明的一些实施例中, 处理器 980可用于接收第一资源访问请求; 调 用第一内核组中的内核处理第一资源, 其中, 第一资源归属于第一资源组, 第 一资源为第一资源访问请求所请求访问的资源, 第一内核组包括至少一个内 核, 第一资源组和第一内核组之间具有映射关系。 In some embodiments of the present invention, the processor 980 is configured to receive the first resource access request, and invoke the kernel in the first kernel group to process the first resource, where the first resource belongs to the first resource group, and the first resource is The resource requested by the first resource access request, the first kernel group includes at least one The core has a mapping relationship between the first resource group and the first kernel group.
本发明实施例还提供一种计算机存储介质, 其中, 该计算机存储介质可存 储有程序,该程序执行时包括上述方法实施例中记载的资源访问方法的部分或 全部步骤。  The embodiment of the present invention further provides a computer storage medium, wherein the computer storage medium may store a program, and the program includes some or all of the steps of the resource access method described in the foregoing method embodiment.
需要说明的是, 对于前述的各方法实施例, 为了简单描述, 故将其都表述 为一系列的动作组合,但是本领域技术人员应该知悉, 本发明并不受所描述的 动作顺序的限制,因为依据本发明,某些步骤可以釆用其他顺序或者同时进行。 其次, 本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施 例, 所涉及的动作和模块并不一定是本发明所必须的。  It should be noted that, for the foregoing method embodiments, for the sake of simple description, they are all expressed as a series of action combinations, but those skilled in the art should understand that the present invention is not limited by the described action sequence. Because certain steps may be performed in other sequences or concurrently in accordance with the present invention. In addition, those skilled in the art should also understand that the embodiments described in the specification are all preferred embodiments, and the actions and modules involved are not necessarily required by the present invention.
在上述实施例中,对各个实施例的描述都各有侧重, 某个实施例中没有详 述的部分, 可以参见其他实施例的相关描述。  In the above embodiments, the descriptions of the various embodiments are different, and the details are not described in the specific embodiments. For details, refer to related descriptions of other embodiments.
在本申请所提供的几个实施例中, 应该理解到, 所揭露的装置, 可通过其 它的方式实现。 例如, 以上所描述的装置实施例仅仅是示意性的, 例如所述单 元的划分, 仅仅为一种逻辑功能划分, 实际实现时可以有另外的划分方式, 例 如多个单元或组件可以结合或者可以集成到另一个***, 或一些特征可以忽 略, 或不执行。 另一点, 所显示或讨论的相互之间的耦合或直接耦合或通信连 接可以是通过一些接口, 装置或单元的间接耦合或通信连接, 可以是电性或其 它的形式。 单元显示的部件可以是或者也可以不是物理单元, 即可以位于一个地方, 或者 也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部 单元来实现本实施例方案的目的。 另外, 在本发明各个实施例中的各功能单元可以集成在一个处理单元中, 也可以是各个单元单独物理存在 ,也可以两个或两个以上单元集成在一个单元 中。上述集成的单元既可以釆用硬件的形式实现, 也可以釆用软件功能单元的 形式实现。 In the several embodiments provided by the present application, it should be understood that the disclosed apparatus may be implemented in other manners. For example, the device embodiments described above are merely illustrative. For example, the division of the unit is only a logical function division. In actual implementation, there may be another division manner, for example, multiple units or components may be combined or may be Integration into another system, or some features can be ignored, or not executed. In addition, the coupling or direct coupling or communication connection shown or discussed may be an indirect coupling or communication connection through some interface, device or unit, and may be electrical or otherwise. The components displayed by the unit may or may not be physical units, that is, may be located in one place, or may be distributed to multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of the embodiment. In addition, each functional unit in each embodiment of the present invention may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit. The above integrated unit can be implemented in the form of hardware or in the form of a software functional unit.
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售 或使用时, 可以存储在一个计算机可读取存储介质中。 基于这样的理解, 本发 明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全 部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储 介质中, 包括若干指令用以使得一台计算机设备(可为个人计算机、 服务器或 者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。 而前述的 存储介质包括: U盘、 只读存储器(ROM, Read-Only Memory ) 、 随机存取 存储器(RAM, Random Access Memory ) 、 移动硬盘、 磁碟或者光盘等各种 可以存储程序代码的介质。  The integrated unit, if implemented in the form of a software functional unit and sold or used as a standalone product, may be stored in a computer readable storage medium. Based on such understanding, the technical solution of the present invention may contribute to the prior art or all or part of the technical solution may be embodied in the form of a software product stored in a storage medium. A number of instructions are included to cause a computer device (which may be a personal computer, server or network device, etc.) to perform all or part of the steps of the methods described in various embodiments of the present invention. The foregoing storage medium includes: a U disk, a Read-Only Memory (ROM), a Random Access Memory (RAM), a removable hard disk, a magnetic disk, or an optical disk, and the like, which can store program code. .
以上所述, 以上实施例仅用以说明本发明的技术方案, 而非对其限制; 尽 管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理 解: 其依然可以对前述各实施例所记载的技术方案进行修改, 或者对其中部分 技术特征进行等同替换; 而这些修改或者替换, 并不使相应技术方案的本质脱 离本发明各实施例技术方案的精神和范围。  The above embodiments are only used to illustrate the technical solutions of the present invention, and are not intended to be limiting; although the present invention has been described in detail with reference to the foregoing embodiments, those skilled in the art will understand that The technical solutions described in the embodiments are modified, or the equivalents of the technical features are replaced by the equivalents; and the modifications and substitutions do not depart from the spirit and scope of the technical solutions of the embodiments of the present invention.

Claims

权 利 要 求 Rights request
1、 一种资源访问方法, 其特征在于, 包括: 1. A resource access method, characterized by including:
接收第一资源访问请求; Receive the first resource access request;
调用第一内核组中的内核处理第一资源, 其中, 所述第一资源归属于第一 资源组, 所述第一资源为所述第一资源访问请求所请求访问的资源, 所述第一 内核组包括至少一个内核, 其中, 所述第一资源组和所述第一内核组之间具有 映射关系。 Calling the kernel in the first kernel group to process the first resource, wherein the first resource belongs to the first resource group, the first resource is the resource requested by the first resource access request, and the first resource The core group includes at least one core, wherein there is a mapping relationship between the first resource group and the first core group.
2、 根据权利要求 1所述的方法, 其特征在于, 所述第一资源访问请求中 携带有第一资源的标识和第一会话标识; 2. The method according to claim 1, wherein the first resource access request carries an identifier of the first resource and a first session identifier;
在所述调用第一内核组中的内核处理第一资源之前, 所述方法还包括: 查 询与所述第一会话标识所表示的第一会话具有映射关系的内核组, 其中, 查询 到的内核组为第一内核组。 Before calling a kernel in the first kernel group to process the first resource, the method further includes: querying a kernel group that has a mapping relationship with the first session represented by the first session identifier, where, the queried kernel The group is the first kernel group.
3、 根据权利要求 1所述的方法, 其特征在于, 所述调用第一内核组中的 内核处理第一资源, 包括: 若所述第一资源访问请求中携带有第一资源的标识 和第一资源组的标识,且查询到与所述第一资源组的标识所表示的第一资源组 具有映射关系的内核组为第一内核组,则调用所述第一内核组中的内核处理第 一资源。 3. The method according to claim 1, characterized in that: calling the kernel in the first kernel group to process the first resource includes: if the first resource access request carries the identifier of the first resource and the first resource. An identifier of a resource group, and it is found that the kernel group that has a mapping relationship with the first resource group represented by the identifier of the first resource group is the first kernel group, then the kernel processing in the first kernel group is called. One resource.
4、 根据权利要求 1至 3任一项所述的方法, 其特征在于, 4. The method according to any one of claims 1 to 3, characterized in that,
所述方法还包括: The method also includes:
接收第二资源访问请求, 其中, 所述第二资源访问请求中携带有第一会话 标识和第二资源的标识,查询与所述第一会话标识所表示的第一会话具有映射 关系的内核组为第一内核组,若所述第二资源的标识所表示的第二资源不归属 于所述第一资源组,则查询与所述第二资源归属的第二资源组具有映射关系的 内核组, 若所述查询到的与第二资源组具有映射关系的内核组为第二内核组, 调用所述第二内核组中的内核处理所述第二资源, 其中, 所述第二内核组包括 至少一个内核。 Receive a second resource access request, wherein the second resource access request carries a first session identifier and an identifier of the second resource, and query the kernel group that has a mapping relationship with the first session represented by the first session identifier. is the first kernel group. If the second resource represented by the identifier of the second resource does not belong to the first resource group, query the kernel group that has a mapping relationship with the second resource group to which the second resource belongs. , if the queried kernel group that has a mapping relationship with the second resource group is the second kernel group, call the kernel in the second kernel group to process the second resource, where the second kernel group includes At least one core.
5、 根据权利要求 4所述的方法, 其特征在于, 5. The method according to claim 4, characterized in that,
所述方法还包括: 将第一内核从所述第一内核组中剔除, 和 /或, 在将第二内核从所述第二 内核组中剔除后, 将所述第二内核添加到所述第一内核组之中。 The method also includes: removing a first kernel from the first kernel group, and/or, after removing a second kernel from the second kernel group, adding the second kernel to the first kernel group .
6、 根据权利要求 5所述的方法, 其特征在于, 所述第一内核组中的任意 一个内核均不属于第二内核组。 6. The method according to claim 5, characterized in that no core in the first core group belongs to the second core group.
7、 根据权利要求 1至 6任一项所述的方法, 其特征在于, 所述第一资源 组包括至少一个表和 /或至少一个表的分区。 7. The method according to any one of claims 1 to 6, characterized in that the first resource group includes at least one table and/or at least one partition of the table.
8、 根据权利要求 1至 7任一项所述的方法, 其特征在于, 所述第一资源 组中的所有资源对应的业务类型相同, 或者, 所述第一资源组中的所有资源为 同一个业务流程中相关联的资源。 8. The method according to any one of claims 1 to 7, characterized in that: all resources in the first resource group correspond to the same service type, or all resources in the first resource group are of the same type. Resources associated with a business process.
9、 一种计算机设备, 其特征在于, 包括: 9. A computer device, characterized by including:
接收单元, 用于接收第一资源访问请求; A receiving unit, configured to receive the first resource access request;
调用单元, 用于调用第一内核组中的内核处理第一资源, 其中, 所述第一 资源归属于第一资源组,所述第一资源为所述第一资源访问请求所请求访问的 资源, 所述第一内核组包括至少一个内核, 所述第一资源组和所述第一内核组 之间具有映射关系。 The calling unit is used to call the kernel in the first kernel group to process the first resource, wherein the first resource belongs to the first resource group, and the first resource is the resource requested to be accessed by the first resource access request. , the first core group includes at least one core, and there is a mapping relationship between the first resource group and the first core group.
10、 根据权利要求 9所述的计算机设备, 其特征在于, 10. The computer equipment according to claim 9, characterized in that,
所述第一资源访问请求中携带有第一资源的标识和第一会话标识; 其中, 所述调用单元具体用于, 查询与所述第一会话标识所表示的第一会 话具有映射关系的内核组, 其中, 查询到的内核组为第一内核组, 调用所述第 一内核组中的内核处理第一资源。 The first resource access request carries the identifier of the first resource and the first session identifier; wherein, the calling unit is specifically configured to query the kernel that has a mapping relationship with the first session represented by the first session identifier. group, wherein the queried kernel group is the first kernel group, and the kernel in the first kernel group is called to process the first resource.
11、 根据权利要求 9所述的计算机设备, 其特征在于, 11. The computer equipment according to claim 9, characterized in that,
所述调用单元具体用于,若所述第一资源访问请求中携带有第一资源的标 识和第一资源组的标识,且查询到与所述第一资源组的标识所表示的第一资源 组具有映射关系的内核组为第一内核组,则调用所述第一内核组中的内核处理 第一资源。 The calling unit is specifically configured to: if the first resource access request carries the identifier of the first resource and the identifier of the first resource group, and the first resource represented by the identifier of the first resource group is queried, If the kernel group with the mapping relationship is the first kernel group, the kernel in the first kernel group is called to process the first resource.
12、 根据权利要求 9至 11任一项所述的计算机设备, 其特征在于, 所述接收单元还用于, 接收第二资源访问请求, 其中, 所述第二资源访问 请求中携带有第一会话标识和第二资源的标识; 12. The computer device according to any one of claims 9 to 11, wherein the receiving unit is further configured to receive a second resource access request, wherein the second resource access request carries the first The session identifier and the identifier of the second resource;
所述调用单元还用于,查询与所述第一会话标识所表示的第一会话具有映 射关系的内核组为第一内核组,若所述第二资源的标识所表示的第二资源不归 属于所述第一资源组,则查询与所述第二资源归属的第二资源组具有映射关系 的内核组, 若所述查询到的与第二资源组具有映射关系的内核组为第二内核 组, 调用所述第二内核组中的内核处理所述第二资源, 其中, 所述第二内核组 包括至少一个内核。 The calling unit is also configured to query the mapping between the first session represented by the first session identifier and The core group in the mapping relationship is the first core group. If the second resource represented by the identifier of the second resource does not belong to the first resource group, query the second resource group to which the second resource belongs. The kernel group of the mapping relationship, if the queried kernel group that has the mapping relationship with the second resource group is the second kernel group, call the kernel in the second kernel group to process the second resource, where, The second core group includes at least one core.
1 3、 根据权利要求 12任一项所述的计算机设备, 其特征在于, 13. The computer equipment according to any one of claims 12, characterized in that,
所述计算机设备还包括: The computer equipment also includes:
内核管理单元, 用于将第一内核从所述第一内核组中剔除, 和 /或, 在将 第二内核从所述第二内核组中剔除后 ,将所述第二内核添加到所述第一内核组 之中。 A kernel management unit, used to remove the first kernel from the first kernel group, and/or, after removing the second kernel from the second kernel group, add the second kernel to the second kernel group. Among the first kernel group.
14、 一种计算机设备, 其特征在于, 包括: 网络接口、 总线和处理器, 所 述网络接口和所述处理器通过所述总线连接, 所述处理器包含多个内核, 所述 多个内核被分为至少两个内核组, 其中: 14. A computer device, characterized in that it includes: a network interface, a bus and a processor, the network interface and the processor are connected through the bus, the processor includes multiple cores, and the multiple cores is divided into at least two core groups, where:
所述网络接口, 用于接收第一资源访问请求; The network interface is used to receive a first resource access request;
所述处理器, 用于调用第一内核组中的内核处理第一资源, 其中, 所述第 一资源归属于第一资源组,所述第一资源为所述第一资源访问请求所请求访问 的资源, 所述第一内核组包括所述多个内核中的至少一个内核, 所述第一资源 组和所述第一内核组之间具有映射关系。 The processor is configured to call a kernel in a first kernel group to process a first resource, wherein the first resource belongs to the first resource group, and the first resource is accessed as requested by the first resource access request. resources, the first core group includes at least one core among the plurality of cores, and there is a mapping relationship between the first resource group and the first core group.
15、 根据权利要求 14所述的计算机设备, 其特征在于, 15. The computer equipment according to claim 14, characterized in that,
所述第一资源访问请求中携带有第一资源的标识和第一会话标识; 其中, 所述处理器具体用于, 查询与所述第一会话标识所表示的第一会话 具有映射关系的内核组, 其中, 查询到的内核组为第一内核组, 调用所述第一 内核组中的内核处理第一资源。 The first resource access request carries the identifier of the first resource and the first session identifier; wherein, the processor is specifically configured to query the kernel that has a mapping relationship with the first session represented by the first session identifier. group, wherein the queried kernel group is the first kernel group, and the kernel in the first kernel group is called to process the first resource.
16、 根据权利要求 14所述的计算机设备, 其特征在于, 16. The computer equipment according to claim 14, characterized in that,
所述处理器具体用于,若所述第一资源访问请求中携带有第一资源的标识 和第一资源组的标识,且查询到与所述第一资源组的标识所表示的第一资源组 具有映射关系的内核组为第一内核组,则调用所述第一内核组中的内核处理第 一资源。 The processor is specifically configured to: if the first resource access request carries an identifier of a first resource and an identifier of a first resource group, and the first resource represented by the identifier of the first resource group is queried, If the kernel group with the mapping relationship is the first kernel group, the kernel in the first kernel group is called to process the first resource.
17、 根据权利要求 14至 16任一项所述的计算机设备, 其特征在于, 所述网络接口还用于, 接收第二资源访问请求, 其中, 所述第二资源访问 请求中携带有第一会话标识和第二资源的标识; 17. The computer device according to any one of claims 14 to 16, characterized in that, The network interface is further configured to receive a second resource access request, wherein the second resource access request carries a first session identifier and an identifier of the second resource;
其中, 所述处理器还用于, 查询与所述第一会话标识所表示的第一会话具 有映射关系的内核组为第一内核组,若所述第二资源的标识所表示的第二资源 不归属于所述第一资源组,则查询与所述第二资源归属的第二资源组具有映射 关系的内核组,若所述查询到的与第二资源组具有映射关系的内核组为第二内 核组, 调用所述第二内核组中的内核处理所述第二资源, 其中, 所述第二内核 组包括至少一个内核。 Wherein, the processor is further configured to query the core group that has a mapping relationship with the first session represented by the first session identifier as the first kernel group, if the second resource represented by the identifier of the second resource If the resource does not belong to the first resource group, query the kernel group that has a mapping relationship with the second resource group to which the second resource belongs. If the queried kernel group that has a mapping relationship with the second resource group is the Two kernel groups: call a kernel in the second kernel group to process the second resource, wherein the second kernel group includes at least one kernel.
18、 根据权利要求 17任一项所述的计算机设备, 其特征在于, 18. The computer equipment according to any one of claims 17, characterized in that,
所述处理器还用于, 将第一内核从所述第一内核组中剔除, 和 /或, 在将 第二内核从所述第二内核组中剔除后 ,将所述第二内核添加到所述第一内核组 之中。 The processor is further configured to remove the first core from the first core group, and/or, after removing the second core from the second core group, add the second core to among the first core group.
PCT/CN2014/080923 2013-06-28 2014-06-27 Resource access method and computer device WO2014206331A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201310269769.9A CN103365658B (en) 2013-06-28 2013-06-28 A kind of resource access method and computer equipment
CN201310269769.9 2013-06-28

Publications (1)

Publication Number Publication Date
WO2014206331A1 true WO2014206331A1 (en) 2014-12-31

Family

ID=49367093

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2014/080923 WO2014206331A1 (en) 2013-06-28 2014-06-27 Resource access method and computer device

Country Status (2)

Country Link
CN (1) CN103365658B (en)
WO (1) WO2014206331A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107608717A (en) * 2016-07-12 2018-01-19 迈普通信技术股份有限公司 User space formation gathering method, device and system

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103365658B (en) * 2013-06-28 2016-09-07 华为技术有限公司 A kind of resource access method and computer equipment
CN104714781B (en) * 2013-12-17 2017-11-03 ***通信集团公司 A kind of multi-modal signal-data processing method, device and terminal device
CN104182534A (en) * 2014-08-28 2014-12-03 无锡天脉聚源传媒科技有限公司 Data search method and device
CN114024962B (en) 2016-09-20 2023-04-18 华为技术有限公司 Data transmission method and device
CN108319598B (en) * 2017-01-16 2022-02-08 腾讯科技(北京)有限公司 Data caching method, device and system

Citations (5)

* Cited by examiner, † Cited by third party
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
CN101896886A (en) * 2007-10-31 2010-11-24 艾科立方公司 Uniform synchronization between multiple kernels running on single computer systems
CN101968746A (en) * 2010-09-02 2011-02-09 北京航空航天大学 Method for implementing organizational architecture mode of kernel-based virtual machine (KVM)
CN102831015A (en) * 2012-08-01 2012-12-19 华为技术有限公司 Method and equipment for scheduling multi-core processor
CN103365658A (en) * 2013-06-28 2013-10-23 华为技术有限公司 Resource access method and computer equipment

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100495346C (en) * 2006-08-21 2009-06-03 英业达股份有限公司 Performing thread distribution method for multi-nucleus multi-central processing unit
CN100543687C (en) * 2007-09-04 2009-09-23 杭州华三通信技术有限公司 A kind of method for managing resource of multiple nucleus system and control nuclear

Patent Citations (5)

* Cited by examiner, † Cited by third party
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
CN101896886A (en) * 2007-10-31 2010-11-24 艾科立方公司 Uniform synchronization between multiple kernels running on single computer systems
CN101968746A (en) * 2010-09-02 2011-02-09 北京航空航天大学 Method for implementing organizational architecture mode of kernel-based virtual machine (KVM)
CN102831015A (en) * 2012-08-01 2012-12-19 华为技术有限公司 Method and equipment for scheduling multi-core processor
CN103365658A (en) * 2013-06-28 2013-10-23 华为技术有限公司 Resource access method and computer equipment

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107608717A (en) * 2016-07-12 2018-01-19 迈普通信技术股份有限公司 User space formation gathering method, device and system
CN107608717B (en) * 2016-07-12 2021-02-12 迈普通信技术股份有限公司 User mode information collection method, device and system

Also Published As

Publication number Publication date
CN103365658B (en) 2016-09-07
CN103365658A (en) 2013-10-23

Similar Documents

Publication Publication Date Title
WO2018170833A1 (en) Uplink data transmission method, terminal, network side device and system
WO2014206331A1 (en) Resource access method and computer device
EP3531290B1 (en) Data backup method, apparatus, electronic device, storage medium, and system
WO2015090248A1 (en) Server overload protection method and device
US10817255B2 (en) Scene sound effect control method, and electronic device
KR101985359B1 (en) A method and apparatus for interaction between a terminal and a network device
CN104954149B (en) The method, apparatus and system of data sharing are carried out in Web conference
TWI528182B (en) Method and device for communications between processes
WO2015035870A1 (en) Multiple cpu scheduling method and device
CN111338745B (en) Deployment method and device of virtual machine and intelligent device
WO2017096909A1 (en) Data connection establishing method and apparatus
WO2014032559A1 (en) Method and device for downloading file
JP7136416B2 (en) Model file management method and terminal device
CN115617278B (en) Path device selection method and device, electronic device and readable storage medium
CN105472291A (en) Digital video recorder with multiprocessor cluster and realization method of digital video recorder
CN109951560B (en) Method, terminal and storage medium for improving concurrency and application speed of application service
US10158896B2 (en) Video channel allocation management method and related device, and communication system
CN108270839B (en) Access frequency control system and method
CN103618809A (en) Method, device and system for communication under vitualization environment
US20140344423A1 (en) Method, apparatus and system for switching function mode
CN110417861A (en) A kind of information-pushing method and relevant apparatus
WO2020088578A1 (en) Split bearer control method and related device
WO2015058537A1 (en) Video channel management method and related device, and communication system
CN113867940B (en) Memory management method and related device
WO2017206855A1 (en) Method for communication in operating system and related products

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 14817892

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 14817892

Country of ref document: EP

Kind code of ref document: A1