CN115657932A - Service processing method and related equipment - Google Patents

Service processing method and related equipment Download PDF

Info

Publication number
CN115657932A
CN115657932A CN202211103257.0A CN202211103257A CN115657932A CN 115657932 A CN115657932 A CN 115657932A CN 202211103257 A CN202211103257 A CN 202211103257A CN 115657932 A CN115657932 A CN 115657932A
Authority
CN
China
Prior art keywords
hard disk
array card
service command
service
information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202211103257.0A
Other languages
Chinese (zh)
Inventor
李超
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Suzhou Inspur Intelligent Technology Co Ltd
Original Assignee
Suzhou Inspur Intelligent Technology Co Ltd
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 Suzhou Inspur Intelligent Technology Co Ltd filed Critical Suzhou Inspur Intelligent Technology Co Ltd
Priority to CN202211103257.0A priority Critical patent/CN115657932A/en
Publication of CN115657932A publication Critical patent/CN115657932A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Stored Programmes (AREA)

Abstract

The application discloses a business processing method, which is applied to an array card firmware and comprises the steps of analyzing a business command to obtain header information when the business command is obtained; determining hard disk equipment corresponding to the service command according to hard disk information in the header information; if the hard disk device is a preset acceleration hard disk, a binding identifier is added in the service command, so that the array card driver binds the array card where the preset acceleration hard disk is located and the CPU core corresponding to the array card according to the binding identifier, and the CPU core is utilized to execute the service command. By applying the technical scheme provided by the application, the maximum performance of the hard disk can be exerted under different application scenes, and the usability of the array card where the hard disk is located is improved. The application also discloses another service processing method, a service processing device, an electronic device and a computer readable storage medium, which have the beneficial effects.

Description

Service processing method and related equipment
Technical Field
The present application relates to the field of hardware development technologies, and in particular, to a service processing method and related devices.
Background
With the rapid development and upgrading of hard disk technology, the performance of a single hard disk is continuously improved, and the demand of customers for high-performance disks is also continuously increased. However, with the improvement of the performance of a single hard disk, it is a new difficulty how to exert the maximum performance of each hard disk on the premise of considering data security.
For example, NVMe (Non-Volatile Memory host controller interface specification) SSD (Solid State Drive) can be used by PCIe (Peripheral Component Interconnect express) adapter card directly on-board CPU (central processing unit); SATA (Serial Advanced Technology Attachment) SSD can be connected to CPU through SATA and SATA interfaces (extended SATA interfaces) onboard the motherboard, and can be configured as a soft RAID array. NVMe, SAS (Serial Attached SCSI), SATA, etc. can be used by a RAID card/SAS card supporting a Tri-mode function, and can implement a redundant data protection function by a hard RAID. However, when the number of disks is small, the NVMe SSD can exert the maximum performance of a single disk by being mounted on board through the PCIe adapter card, but as the number of disks increases, the performance may decrease and fluctuate greatly, and in addition, the on-board NVMe does not have a data protection function; the SATA SSD is used on board, the performance of the SATA SSD has a lower bottleneck (2G) and does not meet the current mainstream requirements, in addition, the soft RAID occupies larger CPU resources, and the performance is seriously reduced under the condition of higher CPU utilization rate; when a plurality of high-performance NVMe SSDs or SAS SSDs are supported, performance degradation and large fluctuation occur in the RAID card/SAS card using the Tri-mode function, and performance distribution of each disk is uneven.
Therefore, how to exert the maximum performance of the hard disk in different application scenarios and improve the usability of the array card where the hard disk is located is a problem to be solved urgently by those skilled in the art.
Disclosure of Invention
The application aims to provide a service processing method, which can exert the maximum performance of a hard disk under different application scenes and improve the usability of an array card where the hard disk is located; another object of the present application is to provide another service processing method, a service processing apparatus, an electronic device, and a computer-readable storage medium, all of which have the above beneficial effects.
In a first aspect, the present application provides a service processing method applied to an array card firmware, including:
when a service command is acquired, analyzing the service command to acquire header information;
determining the hard disk equipment corresponding to the service command according to the hard disk information in the header information;
if the hard disk device is a preset acceleration hard disk, a binding identifier is added in the service command, so that the array card driver binds the array card where the preset acceleration hard disk is located and the CPU core corresponding to the array card according to the binding identifier, and the CPU core is utilized to execute the service command.
Optionally, when the service command is obtained, before analyzing the service command and obtaining the header information, the method further includes:
when an array card loading instruction is received, acquiring a topological structure of the array card;
obtaining configuration information about the topology;
and determining the preset acceleration hard disk according to the configuration information.
Optionally, after determining the preset acceleration hard disk according to the configuration information, the method further includes:
when the topological structure is an Expander configuration structure or a Switch configuration structure, determining the ratio of the number of the hard disks of the preset acceleration hard disk to the number of the uplink;
and when the ratio is lower than a preset threshold value, performing uplink binding on the preset acceleration hard disk.
Optionally, the preset acceleration hard disk is an NVMe hard disk and/or an SAS hard disk;
when the preset accelerated hard disk is the NVMe hard disk, the hard disk information is a hard disk equipment number;
and when the preset acceleration hard disk is the SAS hard disk, the hard disk information is a hard disk address.
In a second aspect, the present application provides another service processing method, applied to an array card driver, including:
acquiring a service command;
judging whether the service command contains a binding identifier;
if yes, determining the hard disk equipment corresponding to the service command, and binding the array card where the hard disk equipment is located and the CPU core corresponding to the array card according to the binding identifier;
and executing the service command by utilizing the CPU inner core.
Optionally, before the obtaining the service command, the method further includes:
acquiring PCIe information corresponding to the array card;
extracting NUMA information from the PCIe information;
inquiring CPU kernel information corresponding to the NUMA information in a CPU kernel list;
and determining the CPU core corresponding to the array card according to the CPU core information.
In a third aspect, the present application further discloses a service processing apparatus applied to an array card firmware, including:
the analysis module is used for analyzing the service command to obtain header information when the service command is obtained;
the determining module is used for determining the hard disk equipment corresponding to the service command according to the hard disk information in the header information;
and the setting module is used for adding a binding identifier in the service command if the hard disk device is a preset acceleration hard disk, so that the array card driver binds an array card where the preset acceleration hard disk is located with a CPU (central processing unit) kernel corresponding to the array card according to the binding identifier, and executes the service command by utilizing the CPU kernel.
In a fourth aspect, the present application further discloses another service processing apparatus, which is applied to an array card driver, and includes:
the acquisition module is used for acquiring the service command;
the judging module is used for judging whether the service command contains a binding identifier;
the binding module is used for determining the hard disk equipment corresponding to the service command if the service command comprises the binding identifier, and binding the array card where the hard disk equipment is located and the CPU core corresponding to the array card according to the binding identifier;
and the execution module is used for executing the service command by utilizing the CPU inner core.
In a fifth aspect, the present application further discloses an electronic device, including:
a memory for storing a computer program;
a processor for implementing the steps of any of the above-described service processing methods when executing the computer program.
In a sixth aspect, the present application further discloses a computer-readable storage medium, on which a computer program is stored, which, when executed by a processor, implements the steps of any of the service processing methods described above.
By applying the technical scheme provided by the application, the binding identifier is added to the service command corresponding to the hard disk (namely the preset acceleration hard disk) needing acceleration in the array card through the array card fixing piece, and then when the service command provided with the binding identifier is obtained through the array card drive, the array card and the corresponding CPU core can be bound firstly, and then the bound CPU core is utilized to execute the service command, so that service processing is realized.
Drawings
In order to more clearly illustrate the technical solutions in the prior art and the embodiments of the present application, the drawings used in the description of the prior art and the embodiments of the present application will be briefly described below. Of course, the following description of the drawings related to the embodiments of the present application is only a part of the embodiments of the present application, and it will be obvious to those skilled in the art that other drawings can be obtained from the provided drawings without any creative effort, and the obtained other drawings also belong to the protection scope of the present application.
Fig. 1 is a schematic flow chart of a service processing method provided in the present application;
fig. 2 is a schematic flow chart of another service processing method provided in the present application;
fig. 3 is a schematic structural diagram of a service processing apparatus provided in the present application;
fig. 4 is a schematic structural diagram of another service processing apparatus provided in the present application;
fig. 5 is a schematic structural diagram of an electronic device provided in the present application.
Detailed Description
The core of the application is to provide a service processing method, which can exert the maximum performance of a hard disk under different application scenes and improve the usability of an array card where the hard disk is located; another core of the present application is to provide another service processing method, a service processing apparatus, an electronic device, and a computer-readable storage medium, which all have the above beneficial effects.
In order to more clearly and completely describe the technical solutions in the embodiments of the present application, the technical solutions in the embodiments of the present application will be described below with reference to the drawings in the embodiments of the present application. It should be apparent that the described embodiments are only a few embodiments of the present application, and not all embodiments. All other embodiments, which can be derived by a person skilled in the art from the embodiments given herein without making any creative effort, shall fall within the protection scope of the present application.
The embodiment of the application provides a service processing method.
Referring to fig. 1, fig. 1 is a schematic flow chart of a service processing method provided in the present application, where the service processing method may include the following steps S101 to S103.
First, it should be noted that the service processing method provided in the embodiment of the present application is applied to the array card firmware, that is, the implementation flows of S101 and S103 are executed by the array card firmware.
S101: when the service command is acquired, analyzing the service command to acquire header information;
the step aims to realize the acquisition and analysis of the business command, wherein the business command is the received business command needing to be executed and is used for realizing corresponding business processing. When the service command is acquired, the command can be analyzed to obtain Header information, that is, header information, where the Header information includes hard disk information of a hard disk corresponding to the service command, and is used to implement hard disk identification, that is, to identify a hard disk device corresponding to the service command. The obtaining mode of the service command is not unique, and may be directly input by a user, or automatically triggered in response to a preset condition, which is not described in detail in this application.
S102: determining hard disk equipment corresponding to the service command according to hard disk information in the header information;
the step aims to realize the hard disk equipment corresponding to the service command based on the header information. After the header information is obtained by parsing the service command, the hard disk information can be extracted from the header information, where the hard disk information refers to related information of the hard disk device corresponding to the service command, and includes, but is not limited to, a device number, a function number, a bus number, address information, and the like.
S103: if the hard disk device is a preset acceleration hard disk, adding a binding identifier in the service command, so that the array card driver binds the array card where the preset acceleration hard disk is located and the CPU core corresponding to the array card according to the binding identifier, and executing the service command by utilizing the CPU core.
The step aims to realize the binding of the service command of the preset acceleration hard disk. After identifying and determining the hard disk device corresponding to the service command, first determining whether the hard disk device is a preset acceleration hard disk, where the preset acceleration hard disk is a hard disk device that is pre-specified in an array card and needs to exert the maximum performance, it can be understood that the array card is a hard disk array that is composed of a plurality of hard disk devices, and the array card may include various types of hard disk devices, such as a high-performance hard disk and a common hard disk.
Further, when the hard disk device corresponding to the service command is a preset acceleration hard disk, a binding identifier can be added in the service command, so that when the service command is sent to the array card to be determined to be executed, the array card driver inevitably reads the binding identifier in the process of reading the service command, and at the moment, the current array card (i.e. the array card where the hard disk device is located) can be bound with the corresponding CPU core according to the binding identifier, so that the service command can be executed by using the CPU core, and service processing is realized. Obviously, for the hard disk device which needs performance acceleration in the array card, the binding between the array card and the corresponding CPU core can be realized by adding the binding identifier to the service command corresponding to the hard disk device, so that the service command can be directly executed by the CPU core corresponding to the array card, the service command is prevented from being distributed to other CPU cores to be processed, and then unnecessary link transmission is avoided, so that the hard disk acceleration is realized, and the maximum performance of the hard disk is exerted.
On the contrary, when the hard disk device corresponding to the service command is not the preset acceleration hard disk, it is indicated that the hard disk device does not need performance acceleration, and at this time, the service command is executed according to a conventional processing flow. It is to be understood that, in this case, the CPU core that executes the service command may be any one of the CPU cores in the main apparatus.
Therefore, the service processing method provided in the embodiment of the present application increases the binding identifier to the service command corresponding to the hard disk to be accelerated in the array card (i.e., the preset acceleration hard disk) through the array card firmware, and further, when the service command provided with the binding identifier is obtained through the array card driver, the array card and the CPU core corresponding to the array card may be bound first, and then the service command is executed by using the bound CPU core, thereby implementing service processing.
In an embodiment of the application, before the analyzing the service command and obtaining the header information when the service command is obtained, the method may further include the following steps:
when an array card loading instruction is received, acquiring a topological structure of the array card;
acquiring configuration information about a topological structure;
and determining a preset acceleration hard disk according to the configuration information.
The embodiment of the application provides a method for determining a preset acceleration hard disk. Specifically, after the main device is started up and operated, the array card is normally loaded, and at this time, a loading instruction about the array card is acquired; further, when an array card loading instruction is received, a topological structure of the array card can be acquired, wherein the topological structure comprises topological information of disk equipment, backboard equipment and the like under the corresponding array card, so that the topological structure can be output to a visual interface, a user can select hard disk equipment needing performance acceleration in the array card according to actual requirements, and corresponding configuration information is generated, and certainly, the configuration information comprises relevant information of the hard disk equipment needing performance acceleration and specified by the user and is used for specifying the corresponding hard disk equipment as a preset acceleration hard disk; finally, after the configuration information about the topological structure input by the user is obtained, the preset acceleration hard disk can be determined according to the configuration information.
In an embodiment of the application, after determining the preset acceleration hard disk according to the configuration information, the method may further include the following steps:
when the topological structure is an Expander configuration structure or a Switch configuration structure, determining the ratio of the number of the hard disks of the preset acceleration hard disk to the number of the uplink;
and when the occupation ratio is lower than a preset threshold value, carrying out uplink binding on a preset acceleration hard disk.
The service processing method provided by the embodiment of the application can further realize the binding operation of the uplink. Specifically, after determining that the acceleration function of the specified hard disk device is currently started, the topology structure of the array card may be obtained first, and it can be understood that the topology structure of the array card may include a direct connection configuration structure, an Expander configuration structure, a Switch configuration structure, and the like, where for the direct connection configuration structure, uplink binding processing is not required; for the Expander configuration or the Switch configuration, whether to perform the uplink binding process may be determined according to actual conditions.
Therefore, when the topology structure is determined to be the Expander configuration structure or the Switch configuration structure, the number of the preset accelerated hard disks in the array card may be determined first, and then the ratio between the number and the uplink number is calculated to obtain the ratio between the number of the preset accelerated hard disks and the uplink number; further, if the ratio is lower than the preset threshold, the uplink binding operation may be performed on the preset acceleration hard disk, that is, the bound uplink only transmits the service command of the preset acceleration hard disk, otherwise, if the ratio is not lower than the preset threshold, the uplink binding operation is not required to be performed in order to ensure the overall performance of the link. The specific value of the preset threshold does not affect the implementation of the technical scheme, and the setting is performed by a technician according to the actual situation, which is not limited by the application.
In an embodiment of the present application, the preset acceleration hard disk may be an NVMe hard disk and/or an SAS hard disk;
when the preset accelerated hard disk is an NVMe hard disk, the hard disk information is a hard disk equipment number;
and when the preset acceleration hard disk is an SAS hard disk, the hard disk information is a hard disk address.
The embodiment of the application provides a specific type of preset acceleration hard disk, such as the NVMe hard disk and/or the SAS hard disk, that is, performance acceleration of the NVMe hard disk and/or the SAS hard disk in the array card can be specified.
It should be noted that, when the preset acceleration hard disk is an NVMe hard disk, the hard disk information is a hard disk device number, that is, the hard disk device can be identified according to the hard disk device number of the header information in the service command, so as to determine whether the hard disk device belongs to the NVMe hard disk whose performance needs to be accelerated; when the preset acceleration hard disk is an SAS hard disk, the hard disk information is a hard disk address, that is, the hard disk device can be implemented according to the hard disk address of the header information in the service command, so as to determine whether the SAS hard disk needs to be performance-accelerated.
The embodiment of the application provides another service processing method.
Referring to fig. 2, fig. 2 is a schematic flow chart of another service processing method provided in the present application, where the service processing method may include the following steps S201 and S204.
First, it should be noted that the service processing method provided in the embodiment of the present application is applied to the array card driver, that is, the implementation flows of S201 and S204 are executed by the array card driver.
S201: acquiring a service command;
the step aims to realize the acquisition of the service command, which is the received service command to be executed, so as to realize corresponding service processing. It should be noted that the service command is a service command that has been processed by the array card firmware in advance (the processing here refers to setting the binding identifier or not setting the binding identifier), so that in the process of executing the service command, whether to execute the CPU core binding operation may be determined according to whether the binding identifier is included therein.
S202: judging whether the service command contains a binding identifier;
the step aims to realize the judgment of the binding identifier, namely, whether the service command contains the binding identifier is judged. After the service command is obtained, field analysis is performed on the service command to determine whether the service command contains a binding identifier, wherein the binding identifier is set by the array card firmware. Further, if the service command contains the binding identifier, it indicates that performance acceleration processing needs to be performed on the hard disk device corresponding to the service command at present, that is, CPU core binding operation needs to be performed; if the service command does not include the binding identifier, it indicates that performance acceleration processing is not required to be performed on the hard disk device corresponding to the service command currently, that is, the CPU core binding operation is not required.
S203: if yes, determining the hard disk equipment corresponding to the service command, and binding the array card where the hard disk equipment is located with the CPU core corresponding to the array card according to the binding identifier;
this step is intended to implement the CPU core binding operation. When it is determined that the service command includes the binding identifier, the hard disk device corresponding to the service command may be determined first, and at this time, it is described that the hard disk device is a hard disk device that needs performance acceleration in a pre-specified array card, that is, the preset acceleration hard disk in the previous embodiment; further, an array card where the hard disk device is located is determined, and the array card is bound with a corresponding CPU core, so that the CPU core binding operation is realized. Therefore, for the hard disk device which needs performance acceleration in the array card, the binding between the array card and the corresponding CPU core is realized through the binding identifier set in the corresponding service command. Of course, if the service command does not include the binding identifier, the CPU core binding operation does not need to be executed.
S204: the business command is executed using the CPU core.
The method aims to realize the execution of the business command, and after the array card where the hard disk device corresponding to the business command is located is bound with the corresponding CPU core, the bound CPU core can be directly utilized to execute the business command. Obviously, due to the binding operation of the CPU cores, the service command can be directly executed by the CPU core corresponding to the array card, and the service command is prevented from being distributed to other CPU cores for processing, thereby avoiding unnecessary link transmission, so as to accelerate the hard disk and exert the maximum performance of the hard disk.
Of course, for the service command without the binding identifier, the service command may be executed according to a conventional processing flow. It is to be understood that, in this case, the CPU core that executes the service command may be any one of the CPU cores in the main apparatus.
Therefore, the service processing method provided in the embodiment of the present application increases the binding identifier to the service command corresponding to the hard disk to be accelerated in the array card (i.e., the preset acceleration hard disk) through the array card firmware, and further, when the service command provided with the binding identifier is obtained through the array card driver, the array card and the CPU core corresponding to the array card may be bound first, and then the service command is executed by using the bound CPU core, thereby implementing service processing.
In an embodiment of the present application, before the obtaining the service command, the method may further include the following steps:
acquiring PCIe information corresponding to the array card;
extracting NUMA information from PCIe information;
inquiring CPU kernel information corresponding to the NUMA information in the CPU kernel list;
and determining the CPU core corresponding to the array card according to the CPU core information.
The embodiment of the application provides an implementation method for determining a CPU (central processing unit) core corresponding to an array card, so that the array card and the corresponding CPU core can be bound when the CPU core binding operation needs to be executed. Specifically, after the device is started to perform a system, the system kernel loads an array card driver, the array card driver acquires PCIe related information allocated to the array card under the system, and may extract NUMA (Non Uniform Memory Access) information from the PCIe related information; then, comparing the NUMA information with the CPU core table, the CPU core information corresponding to the NUMA information can be determined, and the CPU core is determined. The CPU core table includes the relevant information of all CPU cores in the current device main body.
Furthermore, the queried CPU core information corresponding to the array card may be stored, so that when the CPU core binding operation needs to be executed, the CPU core binding operation may be directly executed according to the CPU core information.
The embodiment of the application provides another service processing method.
The service processing method provided by the embodiment of the application can comprise the following steps:
(1) After the device main body is normally started and operated, the array card is normally loaded, and topological structure information such as a disk and a back plate mounted below the array card can be simultaneously acquired. And, the array card firmware is provided with a selectable item for selecting whether to perform acceleration processing on the hard disk device, and here, the function may be opened for the NVMe SSD and the SAS SSD by default.
(2) After the high-performance disk acceleration function is started, the array card fixing piece preferentially judges and expands the flapping structure of the array card, and if the array card fixing piece is in direct connection configuration, special processing on a link is not carried out; if the configuration is the Expander configuration or the Switch configuration, further judging whether the number of the high-performance disks is more than half of the maximum number of the uplink (a preset threshold), and if the number of the high-performance disks is less than half, performing link binding on the high-performance disks, namely binding the uplink and only transmitting the service command of the high-performance disks; if the link performance is more than half, the link is not bound considering the overall link performance.
(3) After the system normally enters, the system kernel loads the array card driver, the array card driver acquires PCIe related information distributed by the array card under the system, extracts NUMA of the array card from the PCIe related information, compares the NUMA with CPU kernel information of a CPU list (CPU kernel table) in the system, and stores the compared CPU kernel information of the array card into the array card driver for later use.
(4) For NVMe SSDs, each NVMe SSD would use the same Bus Number (Bus Number) as the array card, and then be provided with a separate Device Number (Device Number) and Function Number (Function Number). Then, the array card firmware adds a specific prefix (the prefix is the binding identifier) to the transaction layer data message pointing to the Device Number of the NVMe SSD in all the transaction layer data messages (that is, the service command). Therefore, when the array card driver transmits the message, once the specific prefix is read, the operation of binding the CPU core where the array card is located is added. In this case, all the service commands for the NVMe SSD are bound to the CPU core, and the link between the CPU and the memory is not taken away, thereby ensuring that the performance of the NVMe SSD is exerted to the maximum extent without being affected by the CPU and the memory resource.
(5) For the SAS SSD, the array card firmware may collect and summarize SAS addresses of the SAS SSD that need acceleration, and then add a special prefix to a command pointing to these SAS addresses in the Header of all service commands. Therefore, when the array card driver transmits the service command, once the special prefix (the prefix is the binding identifier) is read, the operation of the CPU core where the binding array card is located is added. In this case, all the service commands for the SAS SSD are bound to the CPU core, and the link between the CPU and the memory farther away is not taken, thereby ensuring that the performance of the SAS SSD is exerted to the maximum extent without being affected by the CPU and the memory resources.
Therefore, the service processing method provided in the embodiment of the present application increases the binding identifier to the service command corresponding to the hard disk to be accelerated in the array card (i.e., the preset acceleration hard disk) through the array card firmware, and further, when the service command provided with the binding identifier is obtained through the array card driver, the array card and the CPU core corresponding to the array card may be bound first, and then the service command is executed by using the bound CPU core, thereby implementing service processing.
The embodiment of the application provides a service processing device.
Referring to fig. 3, fig. 3 is a schematic structural diagram of a service processing apparatus provided in the present application, where the service processing apparatus is applicable to an array card firmware, and includes:
the analysis module 1 is used for analyzing the service command to obtain header information when the service command is obtained;
the determining module 2 is used for determining the hard disk device corresponding to the service command according to the hard disk information in the header information;
and the setting module 3 is used for adding a binding identifier in the service command if the hard disk device is a preset acceleration hard disk, so that the array card driver binds the array card where the preset acceleration hard disk is located and the CPU kernel corresponding to the array card according to the binding identifier, and executes the service command by utilizing the CPU kernel.
It can be seen that, in the service processing apparatus provided in this embodiment of the application, the binding identifier is added to the service command corresponding to the hard disk that needs to be accelerated in the array card (i.e., the preset acceleration hard disk) through the array card firmware, and then when the service command provided with the binding identifier is obtained through the array card driver, the array card and the CPU core corresponding to the array card may be bound first, and then the bound CPU core is utilized to execute the service command, thereby implementing service processing.
In an embodiment of the present application, the service processing apparatus may further include a preset acceleration hard disk determining module, configured to, before the service command is obtained, analyze the service command and obtain header information, and when an array card loading instruction is received, obtain a topology structure of the array card; acquiring configuration information about a topological structure; and determining a preset acceleration hard disk according to the configuration information.
In an embodiment of the present application, the service processing apparatus may further include an uplink binding module, configured to, after determining the preset acceleration hard disk according to the configuration information, when the topology structure is an Expander configuration structure or a Switch configuration structure, determine a ratio between the number of hard disks of the preset acceleration hard disk and the number of uplinks; and when the occupation ratio is lower than a preset threshold value, performing uplink binding on the preset acceleration hard disk.
In an embodiment of the application, the preset acceleration hard disk may be an NVMe hard disk and/or an SAS hard disk; when the preset accelerated hard disk is an NVMe hard disk, the hard disk information is a hard disk equipment number; and when the preset acceleration hard disk is an SAS hard disk, the hard disk information is a hard disk address.
For the introduction of the apparatus provided in the embodiment of the present application, please refer to the method embodiment described above, which is not described herein again.
The embodiment of the application provides another service processing device.
Referring to fig. 4, fig. 4 is a schematic structural diagram of another service processing apparatus provided in the present application, where the service processing apparatus is applicable to an array card driver, and the service processing apparatus includes:
the acquisition module 4 is used for acquiring a service command;
the judging module 5 is used for judging whether the service command contains the binding identifier;
the binding module 6 is used for determining the hard disk device corresponding to the service command if the service command contains the binding identifier, and binding the array card where the hard disk device is located with the CPU core corresponding to the array card according to the binding identifier;
and the execution module 7 is used for executing the service command by utilizing the CPU kernel.
Therefore, the service processing apparatus provided in the embodiment of the present application increases the binding identifier to the service command corresponding to the hard disk to be accelerated in the array card (i.e., the preset acceleration hard disk) through the array card firmware, and then when the array card driver obtains the service command with the binding identifier, the array card may first bind the array card with the CPU core corresponding to the array card, and then execute the service command by using the bound CPU core, thereby implementing service processing.
In an embodiment of the present application, the service processing apparatus may further include a CPU core determining module, configured to obtain PCIe information corresponding to the array card before the service command is obtained; extracting NUMA information from PCIe information; inquiring CPU kernel information corresponding to the NUMA information in the CPU kernel list; and determining the CPU core corresponding to the array card according to the CPU core information.
For the introduction of the apparatus provided in the embodiment of the present application, please refer to the method embodiment described above, which is not described herein again.
The embodiment of the application provides electronic equipment.
Referring to fig. 5, fig. 5 is a schematic structural diagram of an electronic device provided in the present application, where the electronic device may include:
a memory for storing a computer program;
a processor, configured to implement the steps of any of the service processing methods when executing the computer program.
As shown in fig. 5, which is a schematic view of a composition structure of an electronic device, the electronic device may include: a processor 10, a memory 11, a communication interface 12 and a communication bus 13. The processor 10, the memory 11 and the communication interface 12 all communicate with each other through a communication bus 13.
In the embodiment of the present application, the processor 10 may be a Central Processing Unit (CPU), an application specific integrated circuit, a digital signal processor, a field programmable gate array or other programmable logic device, etc.
The processor 10 may call a program stored in the memory 11, and in particular, the processor 10 may perform operations in embodiments of the business process method.
The memory 11 is used for storing one or more programs, the program may include program codes, the program codes include computer operation instructions, in this embodiment, the memory 11 stores at least the program for implementing the following functions:
when a service command is acquired, analyzing the service command to acquire header information;
determining hard disk equipment corresponding to the service command according to hard disk information in the header information;
if the hard disk device is a preset acceleration hard disk, adding a binding identifier in the service command, so that the array card driver binds the array card where the preset acceleration hard disk is located and a CPU (central processing unit) kernel corresponding to the array card according to the binding identifier, and executing the service command by utilizing the CPU kernel;
alternatively, the first and second electrodes may be,
acquiring a service command;
judging whether the service command contains a binding identifier;
if yes, determining the hard disk equipment corresponding to the service command, and binding the array card where the hard disk equipment is located with the CPU core corresponding to the array card according to the binding identifier;
and executing the service command by utilizing the CPU kernel.
In one possible implementation, the memory 11 may include a program storage area and a data storage area, wherein the program storage area may store an operating system, an application program required for at least one function, and the like; the storage data area may store data created during use.
Further, the memory 11 may include high speed random access memory, and may also include non-volatile memory, such as at least one magnetic disk storage device or other volatile solid state storage device.
The communication interface 12 may be an interface of a communication module for connecting with other devices or systems.
Of course, it should be noted that the structure shown in fig. 5 does not constitute a limitation to the electronic device in the embodiment of the present application, and the electronic device may include more or less components than those shown in fig. 5 in practical applications, or some components may be combined.
The embodiment of the application provides a computer readable storage medium.
The computer-readable storage medium provided in the embodiments of the present application stores a computer program, and when the computer program is executed by a processor, the steps of any of the service processing methods described above may be implemented.
The computer-readable storage medium may include: various media capable of storing program codes, such as a usb disk, a removable hard disk, a Read-Only Memory (ROM), a Random Access Memory (RAM), a magnetic disk, or an optical disk.
For introduction of the computer-readable storage medium provided in the embodiment of the present application, please refer to the above method embodiment, which is not described herein again.
The embodiments are described in a progressive mode in the specification, the emphasis of each embodiment is on the difference from the other embodiments, and the same and similar parts among the embodiments can be referred to each other. The device disclosed in the embodiment corresponds to the method disclosed in the embodiment, so that the description is simple, and the relevant points can be referred to the description of the method part.
Those of skill would further appreciate that the various illustrative elements and algorithm steps described in connection with the embodiments disclosed herein may be implemented as electronic hardware, computer software, or combinations of both, and that the various illustrative components and steps have been described above generally in terms of their functionality in order to clearly illustrate this interchangeability of hardware and software. Whether such functionality is implemented as hardware or software depends upon the particular application and design constraints imposed on the technical solution. Skilled artisans may implement the described functionality in varying ways for each particular application, but such implementation decisions should not be interpreted as causing a departure from the scope of the present application.
The steps of a method or algorithm described in connection with the embodiments disclosed herein may be embodied directly in hardware, in a software module executed by a processor, or in a combination of the two. A software module may reside in Random Access Memory (RAM), memory, read-only memory (ROM), electrically programmable ROM, electrically erasable programmable ROM, registers, hard disk, a removable disk, a CD-ROM, or any other form of storage medium known in the art.
The technical solutions provided by the present application are described in detail above. The principles and embodiments of the present application are explained herein using specific examples, which are provided only to help understand the method and the core idea of the present application. It should be noted that, for those skilled in the art, without departing from the principle of the present application, several improvements and modifications can be made to the present application, and these improvements and modifications also fall into the protection scope of the present application.

Claims (10)

1. A service processing method is applied to an array card firmware, and comprises the following steps:
when a service command is acquired, analyzing the service command to acquire header information;
determining the hard disk equipment corresponding to the service command according to the hard disk information in the header information;
if the hard disk device is a preset acceleration hard disk, a binding identifier is added in the service command, so that the array card driver binds the array card where the preset acceleration hard disk is located and a CPU (central processing unit) kernel corresponding to the array card according to the binding identifier, and the CPU kernel is utilized to execute the service command.
2. The service processing method according to claim 1, wherein before the analyzing the service command and obtaining the header information when the service command is obtained, the method further comprises:
when an array card loading instruction is received, acquiring a topological structure of the array card;
obtaining configuration information about the topology;
and determining the preset acceleration hard disk according to the configuration information.
3. The service processing method of claim 2, wherein after determining the preset acceleration hard disk according to the configuration information, the method further comprises:
when the topological structure is an Expander configuration structure or a Switch configuration structure, determining the ratio of the number of the hard disks of the preset acceleration hard disk to the number of the uplink;
and when the ratio is lower than a preset threshold value, performing uplink binding on the preset acceleration hard disk.
4. The service processing method according to claim 1, wherein the preset acceleration hard disk is an NVMe hard disk and/or an SAS hard disk;
when the preset accelerated hard disk is the NVMe hard disk, the hard disk information is a hard disk equipment number;
and when the preset acceleration hard disk is the SAS hard disk, the hard disk information is a hard disk address.
5. A service processing method is applied to an array card driver, and comprises the following steps:
acquiring a service command;
judging whether the service command contains a binding identifier;
if yes, determining the hard disk equipment corresponding to the service command, and binding the array card where the hard disk equipment is located and the CPU core corresponding to the array card according to the binding identifier;
and executing the service command by utilizing the CPU inner core.
6. The service processing method according to claim 5, wherein before the obtaining the service command, further comprising:
acquiring PCIe information corresponding to the array card;
extracting NUMA information from the PCIe information;
inquiring CPU kernel information corresponding to the NUMA information in a CPU kernel list;
and determining the CPU core corresponding to the array card according to the CPU core information.
7. A service processing device is applied to an array card firmware, and comprises:
the analysis module is used for analyzing the service command to obtain header information when the service command is obtained;
the determining module is used for determining the hard disk equipment corresponding to the service command according to the hard disk information in the header information;
and the setting module is used for adding a binding identifier in the service command if the hard disk device is a preset acceleration hard disk, so that the array card driver binds the array card where the preset acceleration hard disk is located and the CPU core corresponding to the array card according to the binding identifier, and executes the service command by utilizing the CPU core.
8. A service processing device, which is applied to an array card driver, includes:
the acquisition module is used for acquiring the service command;
the judging module is used for judging whether the service command contains a binding identifier;
the binding module is used for determining the hard disk equipment corresponding to the service command if the service command contains the binding identifier, and binding the array card where the hard disk equipment is located and the CPU core corresponding to the array card according to the binding identifier;
and the execution module is used for executing the service command by utilizing the CPU inner core.
9. An electronic device, comprising:
a memory for storing a computer program;
a processor for implementing the steps of the traffic processing method according to any of claims 1 to 6 when executing said computer program.
10. A computer-readable storage medium, characterized in that the computer-readable storage medium has stored thereon a computer program which, when being executed by a processor, carries out the steps of the traffic processing method according to any one of claims 1 to 6.
CN202211103257.0A 2022-09-09 2022-09-09 Service processing method and related equipment Pending CN115657932A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211103257.0A CN115657932A (en) 2022-09-09 2022-09-09 Service processing method and related equipment

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211103257.0A CN115657932A (en) 2022-09-09 2022-09-09 Service processing method and related equipment

Publications (1)

Publication Number Publication Date
CN115657932A true CN115657932A (en) 2023-01-31

Family

ID=84983248

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211103257.0A Pending CN115657932A (en) 2022-09-09 2022-09-09 Service processing method and related equipment

Country Status (1)

Country Link
CN (1) CN115657932A (en)

Similar Documents

Publication Publication Date Title
US9614931B2 (en) Identifying a resource set require for a requested application and launching the resource set in a container for execution in a host operating system
CN108874324B (en) Access request processing method, device, equipment and readable storage medium
CN107506145B (en) Physical storage scheduling method and cloud host creation method
CN110209605B (en) Register read-write method of PCIE bus network card and computing equipment
US20150082014A1 (en) Virtual Storage Devices Formed by Selected Partitions of a Physical Storage Device
CN112015352B (en) Storage block device identification device, system and storage block device reading and writing method
CN110399168A (en) Majority according to disk storage server system start method, device and equipment
CN113626882A (en) Method, device and medium for generating equipment identifier
CN104969167A (en) Control device and control method
CN110569157B (en) Storage testing method, device, server and storage medium
CN106330595B (en) Heartbeat detection method and device for distributed platform
CN115657932A (en) Service processing method and related equipment
CN113127258A (en) Data backup method, device, equipment and medium
CN115185874B (en) PCIE resource allocation method and related device
CN116633766A (en) Fault processing method and device, electronic equipment and storage medium
CN116680104A (en) Hard disk management method and computing device
CN109710187A (en) Read command accelerated method, device, computer equipment and the storage medium of NVMe SSD main control chip
CN115048255A (en) Automatic test method, device, host and storage medium
CN114296909A (en) Automatic node capacity expansion and reduction method and system according to kubernets event
CN110058866B (en) Cluster component installation method and device
CN109309588B (en) Method and device for ensuring consistency of dynamic configuration data
CN115061632A (en) Method, system, terminal and storage medium for optimizing performance of storage area network
CN113076273B (en) Component access method, device, electronic equipment, storage medium and program product
CN111124882B (en) Method and device for realizing application test, computer storage medium and terminal
CN116991542B (en) Virtual machine snapshot method, system, electronic equipment and computer storage medium

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination