CN114756291B - Hardware self-adaption method and device - Google Patents

Hardware self-adaption method and device Download PDF

Info

Publication number
CN114756291B
CN114756291B CN202210659514.2A CN202210659514A CN114756291B CN 114756291 B CN114756291 B CN 114756291B CN 202210659514 A CN202210659514 A CN 202210659514A CN 114756291 B CN114756291 B CN 114756291B
Authority
CN
China
Prior art keywords
hardware
target
code
information
function
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.)
Active
Application number
CN202210659514.2A
Other languages
Chinese (zh)
Other versions
CN114756291A (en
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.)
Uniontech Software Technology Co Ltd
Original Assignee
Uniontech Software 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 Uniontech Software Technology Co Ltd filed Critical Uniontech Software Technology Co Ltd
Priority to CN202210659514.2A priority Critical patent/CN114756291B/en
Priority to CN202210892500.5A priority patent/CN115145644A/en
Publication of CN114756291A publication Critical patent/CN114756291A/en
Application granted granted Critical
Publication of CN114756291B publication Critical patent/CN114756291B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4411Configuring for operating with peripheral devices; Loading of device drivers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • G06F8/64Retargetable

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Stored Programmes (AREA)

Abstract

The embodiment of the invention discloses a hardware self-adapting method and a device, aiming at solving the technical problem that unconventional configuration is difficult to be compatible with the configuration of conventional equipment, the method comprises the following steps: responding to the operation of triggering and acquiring the hardware adaptation file interface, and acquiring a hardware adaptation file from a network server; determining a target hardware adaptation file from the acquired hardware adaptation files; determining hardware to be adaptive corresponding to the target hardware adaptation file, and acquiring equipment information of the hardware to be adaptive; matching the acquired equipment information with the equipment information of the hardware in the target hardware adaptation file; and if the matching is successful, acquiring a driver corresponding to the hardware to be self-adapted from the installation package, and installing the driver in an operating system of the computing equipment. Therefore, for hardware equipment with special models, after the hardware equipment is matched with the hardware, the hardware adaptation file corresponding to the hardware equipment is obtained, and special operation and configuration are carried out on the hardware according to the hardware adaptation file, so that the problem of conflict between unconventional configuration and a main line is solved.

Description

Hardware self-adaption method and device
Technical Field
The present invention relates to the field of operating system security technologies, and in particular, to a method and an apparatus for forcibly closing an application, a computing device, and a readable storage medium.
Background
A driver of a hardware device, also called a driver, is a special program that enables communication between a computer and the hardware device, and corresponds to a hardware interface through which an operating system needs to control the hardware device. The hardware is adaptive, so that the computing device can normally use the hardware device, but the computing device can normally use the hardware device by installing a driver corresponding to the hardware device on the operating system.
Drivers for operating systems (e.g., linux operating systems) are not manually installed, and are compiled directly into the kernel if they are important functions (e.g., linux operating systems), or are compiled into kernel modules if they are non-important functions (e.g., linux operating systems) and are called by the kernel if necessary. For the kernel module, the current operating system stores a large number of unused kernel modules in order to meet the compatibility of hardware, and since the memory occupied by the kernel is not swapped out, the kernel module linked into the kernel brings certain performance and memory utilization losses to the whole system. And due to the diversity of models and types of hardware equipment, some special hardware equipment can normally work only by special configuration and operation, such as the configuration of a Bumblebee display card. However, such non-conventional configurations tend to be incompatible with conventional devices (for example).
Therefore, it is desirable to provide a hardware adaptive method to solve the problems that the unconventional configuration is difficult to be compatible with the configuration of the conventional device, and excessive kernel modules in the kernel cause memory waste.
Disclosure of Invention
To this end, embodiments of the present invention provide a hardware adaptation method and apparatus in an effort to solve or at least alleviate the above-identified problems.
According to an aspect of an embodiment of the present invention, there is provided a hardware adaptation method, executed in a computing device, where the computing device is in communication connection with a network server, the computing device stores an installation package including a driver of part of hardware in the computing device, the network server stores a plurality of hardware adaptation files, the hardware adaptation files correspond to hardware to be adapted one to one, and the hardware adaptation files include device information of part of hardware in the computing device, the method including: responding to the operation of triggering and acquiring the hardware adaptation file interface, and acquiring a hardware adaptation file from a network server; determining a target hardware adaptation file from the acquired hardware adaptation files; determining hardware to be adaptive corresponding to the target hardware adaptation file, and acquiring equipment information of the hardware to be adaptive; matching the acquired equipment information with the equipment information of the hardware in the target hardware adaptation file; and if the matching is successful, acquiring a driver corresponding to the hardware to be self-adapted from the installation package, and installing the driver in an operating system of the computing equipment.
Optionally, the hardware adaptation file further includes a plurality of operations to be performed by the hardware, and the hardware adaptation method provided by the present invention further includes the steps of: and controlling the hardware to be adaptive to execute a plurality of operations of the target hardware adaptation file.
Optionally, each hardware to be executed corresponds to an objective function, a code template is stored in the computing device, and the step of controlling the hardware to be adapted to execute the operations of the objective hardware adaptation file includes: analyzing keywords of the code template; determining keywords corresponding to each operation in the target hardware adaptation file; inserting a target function of each operation of the file adapted to the target hardware into a position of a keyword corresponding to the target function to generate a scheme code; and executing the scheme codes to realize the control of the hardware to be self-adapted to execute a plurality of operations of the target hardware adaptation file.
Optionally, the target function includes a first function for verifying the validity of the scheme code, a second function for executing the target operation, a third function for verifying whether the target operation is normally executed, and a fourth function having a rollback function.
Optionally, the step of executing the plan code comprises: executing a first function of the scheme code to obtain a first return value; judging whether the scheme code is legal or not according to the first return value; when the scheme code is legal, executing a second function of the scheme code to obtain a second return value; judging whether the target operation is executed or not according to the second return value; when the target operation is finished, executing a third function of the scheme code to obtain a third return value; detecting whether the target operation is normally executed according to the third return value; when the generated code is not normally executed, determining an error code segment; executing a fourth function of the scheme code against the corrupted code fragment to rollback the corrupted code fragment.
Optionally, the hardware adaptive method provided by the present invention further includes the steps of: the solution code is converted to a dynamic link library such that source code for the solution code is not present in an operating system of the computing device.
Optionally, the computing device further stores a part of the hardware adaptation file in the network server, and the hardware adaptation method provided by the present invention further includes the steps of: acquiring network information; judging whether to be in communication connection with a network server according to the network information; and when the communication connection with the network server is not realized, the hardware adaptation file is acquired from the local.
Optionally, the hardware adaptive method provided by the present invention further includes the steps of: and if the acquired equipment information is not successfully matched with the equipment information of the hardware in each hardware adaptation file, not installing a driving program corresponding to the hardware to be adapted.
Optionally, the step of determining the target hardware adaptation file from the acquired hardware adaptation files includes: displaying the acquired hardware adaptation file on a user graphical interface of the computing device; and determining a target hardware adaptation file in response to the operation of selecting the hardware adaptation file by the user.
Optionally, the device information includes one or more of operating system information, desktop management interface information, CPU information, memory information, disk information, sound card information, display card information, network information, camera information, power supply information, bluetooth information, external device interconnection standard information, and USB information.
According to another aspect of the embodiments of the present invention, there is provided a hardware adaptive apparatus, executed in a computing device, where the computing device is in communication connection with a network server, the computing device stores an installation package including a driver of part of hardware in the computing device, the network server stores a plurality of hardware adaptation files, the hardware adaptation files correspond to hardware to be adapted one to one, and the hardware adaptation files include device information of part of hardware in the computing device, the apparatus including: the acquisition module is suitable for responding to the operation of triggering the acquisition of the hardware adaptation file interface and acquiring the hardware adaptation file from the network server; the control module is suitable for determining a target hardware adaptation file from the acquired hardware adaptation files, determining to-be-adapted hardware corresponding to the target hardware adaptation file and acquiring equipment information of the to-be-adapted hardware; and the installation driving module is suitable for matching the acquired equipment information with the equipment information of the hardware in the target hardware adaptation file, and if the matching is successful, acquiring a driving program corresponding to the hardware to be adapted from the installation package and installing the driving program in an operating system of the computing equipment.
According to yet another aspect of the present invention, there is provided a computing device comprising: at least one processor; and a memory storing program instructions, wherein the program instructions are configured to be executed by the at least one processor, the program instructions comprising instructions for performing the method as described above.
According to another aspect of the present invention, there is provided a readable storage medium storing program instructions which, when read and executed by a computing device, cause the computing device to perform the method as described above.
According to the hardware self-adaptive scheme provided by the embodiment of the invention, the kernel modules corresponding to unnecessary drivers are compiled into the installation package, and the kernel modules corresponding to the corresponding drivers are installed only when the hardware is successfully matched. Because only the kernel module corresponding to the necessary driver exists in the operating system, and other kernel modules are selectively installed according to actual hardware, the number of the kernel modules in the operating system is greatly reduced, so that the memory occupied by the kernel is reduced, and the utilization rate of memory resources is improved.
And for hardware equipment with special models, acquiring a hardware adaptation file corresponding to the hardware equipment after matching the hardware equipment with the special models, and performing special operation and configuration on the hardware according to the hardware adaptation file, so that the problem of conflict between unconventional configuration and a main line is solved.
The foregoing description is only an overview of the technical solutions of the embodiments of the present invention, and the embodiments of the present invention can be implemented according to the content of the description in order to make the technical means of the embodiments of the present invention more clearly understood, and the detailed description of the embodiments of the present invention is provided below in order to make the foregoing and other objects, features, and advantages of the embodiments of the present invention more clearly understandable.
Drawings
To the accomplishment of the foregoing and related ends, certain illustrative aspects are described herein in connection with the following description and the annexed drawings, which are indicative of various ways in which the principles disclosed herein may be practiced, and all aspects and equivalents thereof are intended to be within the scope of the claimed subject matter. The above and other objects, features and advantages of the present disclosure will become more apparent from the following detailed description read in conjunction with the accompanying drawings. Throughout this disclosure, like reference numerals generally refer to like parts or elements.
FIG. 1 shows a block diagram of a computing device 100, according to one embodiment of the invention;
FIG. 2 shows a flow diagram of a hardware adaptation method 200 according to one embodiment of the invention;
FIG. 3 shows a flow diagram of a hardware adaptation method 300 according to another embodiment of the invention;
FIG. 4 shows a flow diagram of execution scheme code, according to one embodiment of the invention;
fig. 5 shows a schematic diagram of a hardware adaptation apparatus 500 according to an embodiment of the invention.
Detailed Description
Exemplary embodiments of the present disclosure will be described in more detail below with reference to the accompanying drawings. While exemplary embodiments of the present disclosure are shown in the drawings, it should be understood that the present disclosure may be embodied in various forms and should not be limited to the embodiments set forth herein. Rather, these embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the scope of the disclosure to those skilled in the art.
To solve the problem that the unconventional configuration is difficult to be compatible with the configuration of the conventional device and the excessive kernel modules in the kernel cause memory waste, the present invention provides a hardware adaptive method, which can be implemented as an application program installed in the operating system of the computing device 100, and can also be implemented as a plug-in integrated in the operating system of the computing device 100. Then, the installation package may be integrated into an installation package of an application or a plug-in corresponding to the hardware adaptation method.
The computing device 100 described above may be implemented as a server, such as an application server, a Web server, or the like; but may also be implemented as a desktop computer, a notebook computer, a processor chip, a tablet computer, etc., without limitation. FIG. 1 shows a block diagram of the physical components (i.e., hardware) of a computing device 100. In a basic configuration, computing device 100 includes at least one processing unit 102 and system memory 104. According to one aspect, depending on the configuration and type of computing device, the system memory 104 includes, but is not limited to, volatile storage (e.g., random access memory), non-volatile storage (e.g., read-only memory), flash memory, or any combination of such memories. According to one aspect, system memory 104 includes an operating system 105, and operating system 105 incorporates applications or plug-ins for the hardware adaptation functions provided by the present invention.
According to one aspect, the operating system 105, for example, is adapted to control the operation of the computing device 100. Further, the examples are practiced in conjunction with a graphics library, other operating systems, or any other application program, and are not limited to any particular application or system. This basic configuration is illustrated in fig. 2 by those components within dashed line 108. According to one aspect, the computing device 100 has additional features or functionality. For example, according to one aspect, computing device 100 includes additional data storage devices (removable and/or non-removable) such as, for example, magnetic disks, optical disks, or tape. Such additional storage is illustrated in FIG. 1 by removable storage device 109 and non-removable storage device 110.
As stated hereinabove, according to one aspect, a number of program modules and data files are stored in system memory 104. When executed on processing unit 102, includes, but is not limited to, one or more of the stages of method 200 shown in fig. 2 and method 300 shown in fig. 3. According to one aspect, the type of application is not limited, e.g., the application further includes: email and contacts applications, word processing applications, spreadsheet applications, database applications, slide show applications, drawing or computer-aided applications, web browser applications, and the like.
According to one aspect, examples may be practiced in a circuit comprising discrete electronic elements, a packaged or integrated electronic chip containing logic gates, a circuit utilizing a microprocessor, or on a single chip containing electronic elements or microprocessors. For example, an example may be practiced via a system on a chip (SOC) in which each or many of the components shown in fig. 1 may be integrated on a single integrated circuit. According to one aspect, such SOC devices may include one or more processing units, graphics units, communication units, system virtualization units, and various application functions, all integrated (or "burned") onto a chip substrate as a single integrated circuit. When operating via an SOC, the functions described herein may be operated via application-specific logic integrated with other components of the computing device 100 on a single integrated circuit (chip). Embodiments of the invention may also be practiced using other technologies capable of performing logical operations (e.g., AND, OR, AND NOT), including but NOT limited to mechanical, optical, fluidic, AND quantum technologies. In addition, embodiments of the invention may be practiced within a general purpose computer or in any other circuits or systems.
According to one aspect, computing device 100 may also have one or more input devices 112, such as a keyboard, mouse, pen, voice input device, touch input device, or the like. Output device(s) 114 such as a display, speakers, printer, etc. may also be included. The foregoing devices are examples and other devices may also be used. Computing device 100 may include one or more communication connections 116 that allow communication with other computing devices 118, such as a network server 118-1. Examples of suitable communication connections 116 include, but are not limited to: RF transmitter, receiver and/or transceiver circuitry; universal Serial Bus (USB), parallel, and/or serial ports.
The term computer readable media as used herein includes computer storage media. Computer storage media may include volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information, such as computer readable instructions, data structures, or program modules. System memory 104, removable storage 109, and non-removable storage 110 are all examples of computer storage media (i.e., memory storage). Computer storage media may include Random Access Memory (RAM), Read Only Memory (ROM), electrically erasable read-only memory (EEPROM), flash memory or other memory technology, CD-ROM, Digital Versatile Disks (DVD) or other optical storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other article of manufacture that can be used to store information and that can be accessed by the computer device 100. In accordance with one aspect, any such computer storage media may be part of computing device 100. Computer storage media does not include a carrier wave or other propagated data signal.
According to one aspect, communication media is embodied by computer readable instructions, data structures, program modules, or other data in a modulated data signal (e.g., a carrier wave or other transport mechanism) and includes any information delivery media. According to one aspect, the term "modulated data signal" describes a signal that has one or more feature sets or that has been altered in such a manner as to encode information in the signal. By way of example, and not limitation, communication media includes wired media such as a wired network or direct-wired connection, and wireless media such as acoustic, Radio Frequency (RF), infrared, and other wireless media.
In some embodiments, in order to reduce the number of drivers corresponding to the non-important functions installed in the kernel, and thus reduce the memory occupied by the kernel, in the present invention, a kernel module corresponding to a driver of a non-important function is compiled into an installation package in advance, and the installation package is stored in the computing device 100.
The network server 118-1 stores a plurality of hardware adaptation files, the hardware adaptation files are pre-configured by related personnel, and the hardware adaptation files correspond to hardware to be adapted one to one. In some embodiments, the format of the hardware adaptation file is a json format, and the hardware adaptation file is described in the json format and is easier to maintain than directly in a programming language.
Each hardware adaptation file includes device information, a plurality of operations and a solution name of a part of hardware in the computing device. The problem to be solved by the adaptation file can be determined based on the solution name, the device to be adapted for solving the problem can be determined according to the device information, and a plurality of operations, namely the operations to be executed by the device to be adapted, can be determined. An example of an adaptation file is given below:
{
"name": "ui_test_1",
"match": {
"os": {
"kernel_version": "5.7.1<=this<=5.10.3",
"system_name": "UnionTech OS Desktop",
"product_type": "Desktop",
"major_version": "this>=30",
"minor_version": "this<=1040"
},
"dmi": {
"bios_vendor": "HUAWEI",
"bios_version": "1.06",
"bios_date": "09/29/2020",
"board_name": "NBLL-WXX9-PCB",
"board_serial": "PM13T020BS006366",
"board_vendor": "HUAWEI",
"product_name": "NBLL-WXX9",
"product_family": "MagicBook",
"product_serial": "FPBPM20B26001130",
"product_uuid": "7b730e3c-720c-461e-a491-ca2b8deed0c8",
"product_version": "M1010"
},
"cpu":{
"name": "AMD Ryzen 5 4500U with Radeon Graphics",
"vendor" : "Advanced Micro Devices [AMD]",
"width" : "64"
},
"memory": {
"manufacturer": " ",
"capacity": "15811144"
},
"disk": {
"name": "nvme0n1",
"serial": "202713463002",
"model": "WDC PC SN730 SDBPNTY-512G-1027",
"size": "512110190592",
"root_mount": "true"
},
"sound": {
"name": "Advanced Micro Devices, Inc. [AMD/ATI] Device 1637",
"vendor_id": "1002",
"product_id": "1637",
"slot": "pci"
},
"graphic": {
"product": "Renoir",
"vendor": "Advanced Micro Devices, Inc. [AMD/ATI]",
"driver": "amdgpu"
},
"network": {
"product": "RTL8822CE 802.11ac PCIe Wireless Network Adapter",
"vendor": "Realtek Semiconductor Co., Ltd.",
"serial": "80:30:49:c8:79:dd"
},
"camera": {
"name": "",
"vendor_id": "0408",
"product_id": "1040",
"slot": "usb"
},
"battery": {
"name": "BAT1",
"model": "HB4692Z9ECW-22T",
"manufacturer": "Desay",
"capacity_design": "7230000"
},
"bluetooth": {
"name": "",
"vendor_id": "1358",
"product_id": "0000",
"slot": "usb"
},
"peripheral": {
"name": "Power Button",
"vendor_id": "0000",
"product_id": "0001"
},
"pci": {
"pci_class": "60000",
"pci_id": "1022:144D",
"pci_subsys_id": "0000:0000",
"pci_slot_name": "0000:00:18.5"
},
"usb": {
"dev_type": "usb_interface",
"driver": "hub",
"product": "1d6b/2/507",
"type": "9/0/1",
"interface": "9/0/0"
}
},
"action": {
"apply": [{
{
"type": "cmdline",
"cmd": command to be executed "
},
{
"type": "grub",
"arg": parameter ",
"mode": "add|delete|query|modify"
},
{
"type": "service",
"server _ name": service name ",
"enable": false,
"mode": "add|delete|query|modify"
},
{
"type": "config",
"path" configuration file absolute path ",
"mode": "add|delete|query|modify",
"config _ key": configuration item ",
"config _ value": configuration value "
}
],
"check": [
{
"type": "cmdline",
"cmd": command to be executed "
},
{
"type": "grub",
"arg": parameter ",
"mode": "add|delete|query|modify"
},
{
"type": "service",
"server _ name": service name ",
"enable": false,
"mode": "add|delete|query|modify"
},
{
"type": "config",
"path" configuration file absolute path ",
"mode": "add|delete|query|modify",
"config _ key": configuration item ",
"config _ value": configuration value "
}
],
"rollback": [
{
"type": "cmdline",
"cmd": command to be executed "
},
{
"type": "grub",
"arg": parameter ",
"mode": "add|delete|query|modify"
},
{
"type": "service",
"server _ name": service name ",
"enable": false,
"mode": "add|delete|query|modify"
},
{
"type": "config",
"path" configuration file absolute path ",
"mode": "add|delete|query|modify",
"config _ key": configuration item ",
"config _ value": configuration value "
}
]
}
}
The "match" field in the example of the hardware adaptation file is part of hardware information in the hardware adaptation file, and the hardware information may be configured according to an actual application scenario, which is not limited in the present invention. For example, the hardware information includes one or more of operating system information (i.e., os field content), desktop management interface information (i.e., dmi field content), CPU information (i.e., CPU field content), memory information (i.e., memory field content), disk information (i.e., disk field content), sound card information (i.e., sound field content), video card information (i.e., graphic field content), network information (i.e., network field content), camera information (i.e., camera field content), power information (i.e., battery field content), bluetooth information (i.e., bluetooth field content), external device information (i.e., peripheral field content), external device interconnection standard information (i.e., pci field content), and USB information (i.e., USB field content). The hardware information corresponding to each hardware may be the same or different, and the hardware information in the adaptation file of each hardware includes one or more of the hardware information described above. For example, the "match" field includes only CPU information, indicating that CPU adaptation is required.
The "name" field in the adaptation file example is the name of the adaptation file, and the value of the "name" field is "ui _ test _ 1", which indicates that the current adaptation file is for the test interface.
The "action" field in the adaptation file example is a plurality of operations to be executed by the hardware, and the plurality of operations may be set according to an actual application scenario. For example, the plurality of operations may include verify (), application (), check () and rolback (), and if the CPU is adapted, the CPU needs to execute four functions of verify (), application (), check () and rolback ().
The code under each operation is the objective function corresponding to the operation. For example, the code under the application (shown below), the code shown below, is the objective function of the application operation.
[{
{
"type": "cmdline",
"cmd": command to be executed "
},
{
"type": "grub",
"arg": parameter ",
"mode": "add|delete|query|modify"
},
{
"type": "service",
"server _ name": service name ",
"enable": false,
"mode": "add|delete|query|modify"
},
{
"type": "config",
"path" configuration file absolute path ",
"mode": "add|delete|query|modify",
"config _ key": configuration item ",
"config _ value": configuration value "
}
]
The target function of each operation is specified with an operation type, i.e. a type field in the target function of each operation, and the value of the type field is the specific operation type. The operation type may be set according to an actual application scenario, which is not limited in the present invention. For example, the operation types include cmdlene (execution command), service (creation, deletion, self-start, etc. of service), config (addition, deletion, change, and check of configuration), file (addition, deletion, change, and check of configuration file), and the like.
When the computing device 100 is wirelessly connected to the network server 118-1 and wirelessly connected through the network, the network signal is prone to be unstable, and in this case, the computing device 100 cannot timely obtain the hardware adaptation file from the network server 118-1, which may affect the hardware adaptation. In order to alleviate this, a small amount of necessary hardware adaptation files may be stored in the computing device in advance, so that the hardware adaptation files matching the hardware are timely acquired in the hardware adaptation process. The necessary hardware adaptation file here may be understood as a hardware adaptation file with high use frequency, but of course, the necessary hardware adaptation file is not limited thereto, and may be defined according to the actual situation of hardware adaptation in the computing device. For example, the necessary hardware adaptation file may be a hardware adaptation file driven by a network card.
It should be noted that the hardware adaptation includes two aspects. In one aspect, a driver corresponding to the hardware device is installed on the operating system, so that the computing device can normally use the hardware device. On the other hand, on the premise of installing the driver, the hardware device needs to perform a specific operation, and then the computing device can normally use the device.
FIG. 2 shows a flow diagram of a hardware adaptation method 200 according to one embodiment of the invention. The method 200 is suitable for execution in the computing device 100, and the method 200 is a hardware adaptation method corresponding to the first aspect (i.e., installing a driver corresponding to a hardware device on an operating system so that the computing device can normally use the hardware device). The method 200 includes steps S201 to S209.
Firstly, a hardware self-adaptive user graphical interface is started, wherein the user graphical interface comprises an interface for acquiring a hardware adaptation file, and when a user triggers the interface, the operation is responded, and the step S201 is executed to acquire network information. After the network information is acquired, step S202 is executed to determine whether to communicatively connect with the network server according to the network information. Judging whether to communicate with the network server according to the network information is the prior art, and the details are not described herein, but the invention is within the protection scope of the invention.
When the network is not connected, step S203 is executed to obtain the hardware adaptation file from the local. If the installation package is integrated in the installation package of the application program or the plug-in corresponding to the hardware adaptive method, the obtaining of the hardware adaptation file from the local place can be understood as obtaining the hardware adaptation file from the installation package of the application program or the plug-in corresponding to the hardware adaptive method.
When the network is connected, step S204 is executed to obtain the hardware adaptation file from the network server. Specifically, a request to obtain a hardware adaptation file is first generated and sent to web server 118-1 communicatively coupled to computing device 100, and in one embodiment, the request to obtain the hardware adaptation file is sent to web server 118-1 by invoking a RESTful interface of web server 118-1. In response to the request for obtaining the hardware adaptation file, the web server 118-1 obtains all the hardware adaptation files, and also sends all the obtained hardware adaptation files to the computing device 100 through the RESTful interface.
Therefore, when the network is abnormal, the hardware adaptation file can still be obtained, and effective execution of the hardware adaptation process is guaranteed. And moreover, a RESTful interface is adopted to obtain a hardware adaptation file, the interfaces are uniform, and management and use are facilitated.
After the computing device 100 receives the hardware adaptation file sent by the network server 118-1, or after the computing device 100 acquires all the stored hardware adaptation files locally, step S205 is executed to determine a target hardware adaptation file from the acquired hardware adaptation files.
In one embodiment, step S205 includes: and displaying the acquired hardware adaptation file on a user graphical interface of the computing equipment, responding to the operation of selecting the hardware adaptation file by the user, and taking the hardware adaptation file selected by the user as a target hardware adaptation file.
For example, a list of names of the acquired hardware adaptation files is displayed on a graphical user interface of the computing device, and the hardware adaptation file corresponding to the selected name is used as the target hardware adaptation file in response to an operation of selecting one or more data items in the list by a user.
In another embodiment, step S205 includes: and taking all the acquired hardware adaptation files as target hardware adaptation files. At this point, all solutions for hardware adaptation files are applied.
After the target hardware adaptation file is determined, step S206 is executed to determine the hardware to be adapted corresponding to the target hardware adaptation file, and acquire the device information of the hardware to be adapted. In some embodiments, device information is obtained via a device file in/sys/class, an lspci command, an lshw command, a dmidrecode command, and the like.
Since the target hardware adaptation file may be one or more, the acquired hardware to be adapted is also one or more, so that the device information of the hardware to be adapted is also one or more groups, and each group of device information corresponds to one hardware to be adapted.
After the device information of the adaptive hardware is acquired, step S207 is executed to match the acquired device information with the device information of the hardware in the target hardware adaptation file, step S208 is executed to determine whether the acquired device information matches the device information of the hardware in the target hardware adaptation file (i.e., the data of the match portion in the target hardware adaptation file), if yes, step S209 is executed to acquire a driver corresponding to the hardware to be adapted from the installation package, and install the driver in the operating system of the computing device. And if the hardware is not matched with the hardware to be self-adapted, not installing a driving program corresponding to the hardware to be self-adapted, and ending the execution of the program. Thereby ensuring that only the device matched with the target hardware adaptation file can install the driver.
According to the scheme, the kernel modules corresponding to the unnecessary drivers are compiled into the installation package, and the corresponding drivers are installed only when the hardware is successfully matched, namely the kernel modules corresponding to the drivers are installed. Because only necessary kernel modules exist in the operating system, and other kernel modules are selectively installed according to hardware, the number of kernel modules in the operating system is greatly reduced, so that the memory occupied by the kernel is reduced, and the performance of the computing equipment and the utilization rate of memory resources are improved.
Thus, hardware adaptation is achieved by installing drivers. Step S201 to step S209 are executed whenever hardware adaptation by installing a driver is required.
Fig. 3 shows a flow diagram of a hardware adaptation method 300 according to another embodiment of the invention. The method 300 is also suitable for execution in the computing device 100, and the method 300 is a hardware adaptive method corresponding to the second aspect (i.e., the hardware device needs to perform a specific operation before the computing device can normally use the device if the driver is installed). The method 300 includes steps S301 to S310. Steps S301 to S309 are the same as steps S201 to S209 of the method 200, and are not described herein again.
Before the method 300 is described, it should be noted that the computing device further stores a code template, which is created and stored in advance, and is adapted to generate a scheme code according to the hardware adaptation file, so that the hardware to be adapted performs an operation in the hardware adaptation file according to the scheme code. An example of a code template is given below:
#include "ActionUtil.h"
#include "ISolution.h"
class HardwareName_SolutionImpl : public ISolution
{
bool verify(QString &str) override
{
bool ret = false;
//Verify the validity of the plug-in
return ret;
}
bool apply() override
{
bool ret = false;
//Apply module replacement area
return ret;
}
bool check() override
{
bool ret = false;
//Check module replacement area
return ret;
}
bool rollback() override
{
bool ret = false;
//Rollback module replacement area
return ret;
}
};
#ifdef __cplusplus
extern "C"{
#endif
ISolution* getInstance()
{
return new HardwareName_SolutionImpl();
}
#ifdef __cplusplus
}
#endif
after the driver is installed in step S309, step S310 is executed to control the hardware to be adapted to execute a plurality of operations of the target hardware adaptation file according to the code template.
In one embodiment, step S310 specifically includes: firstly, analyzing keywords of a code template, determining keywords corresponding to each operation in a target hardware adaptation file, inserting a target function of each operation of the target hardware adaptation file into the position of the keyword corresponding to the target function, thereby generating a scheme code, and executing the scheme code to control the hardware to be self-adapted to execute a plurality of operations of the target hardware adaptation file. I.e. to implement the specific operations performed by the hardware to be adapted.
It should be noted that the programming language of the generated scenario code may be selected according to the actual application scenario, which is not limited by the present invention. For example, the programming language of the generated plan code is C + +.
The target function comprises a first function for verifying the legality of the scheme code, a second function for executing the target operation, a third function for verifying whether the target operation is normally executed or not and a fourth function with a rollback function. The first function, the second function, the third function and the fourth function may be selected according to an actual application scenario, which is not limited in the present invention. For example, the target function may include a first function of verifying the legitimacy of the scheme code may be verify (), a second function of executing the target operation may be apply (), a third function of verifying whether the target operation is normally executed may be check (), and a fourth function having a rollback function may be rollback ().
Taking the code template and the programming language shown above as C + + format, and the target function including verify (), apply (), check (), and rollback () as examples, the following example of the scheme code is obtained:
#include "ActionUtil.h"
#include "ISolution.h"
class NETWORK_PCIE_R0IN117W_SolutionImpl : public ISolution
{
bool verify(QString &str) override
{
bool ret = false;
ret = str == "f68d27da17d9fd49440b0b8dac130f4f98a2d4c6aca3c9221cdbc8b264b2c8be";
if (!ret) {
m_lastError = "plugin verify failed";
return false;
}
return ret;
}
bool apply() override
{
bool ret = false;
ret = Action::execCmdLine("echo \"blacklist acer_wmi\" | tee -a /etc/modprobe.d/xiaomi_disable_acer_wmi.conf | update-initramfs -u -k all");
if (!ret) {
m_lastError = "execCmdLine failed";
return false;
}
return ret;
}
bool check() override
{
bool ret = false;
ret = File::compareFile("/etc/modprobe.d/xiaomi_disable_acer_wmi.conf", "blacklist acer_wmi");
if (!ret) {
m_lastError = "Invalid check:/etc/modprobe.d/xiaomi_disable_acer_wmi.conf does not exist";
return false;
}
return ret;
}
bool rollback() override
{
bool ret = false;
ret = Action::execCmdLine("rm -f /etc/modprobe.d/xiaomi_disable_acer_wmi.conf | update-initramfs -u -k all");
if (!ret) {
m_lastError = "execCmdLine failed";
return false;
}
return ret;
}
};
#ifdef __cplusplus
extern "C"{
#endif
ISolution* getInstance()
{
return new NETWORK_PCIE_R0IN117W_SolutionImpl();
}
#ifdef __cplusplus
}
#endif
in one implementation, FIG. 4 shows a flowchart of executing scenario code, including steps S401 through S407, according to one embodiment of the invention.
First, in step S401, a first function of the scheme code for verifying the validity of the scheme code is executed to obtain a first return value. The first return value includes two different values, a first value and a second value, the first value is different from the second value, the first value indicates that the scheme code is legal, and the second value indicates that the scheme code is illegal. For example, the first value may be 1 and the second value may be 0.
And executing step S402 to judge whether the scheme code is legal according to the first return value. Specifically, when the first return value is the first value, which indicates that the scheme code is legal, step S403 is executed to execute a second function for determining whether the scheme code is executed completely, so as to obtain a second return value. And if the scheme code is illegal when the first return value is the second value, ending the execution of the program.
The second return value includes two different values, which are a third value and a fourth value, respectively, where the third value is different from the fourth value, the third value indicates that the target function of the target operation is executed, and the fourth value indicates that the target function of the target operation is not executed. For example, the third value may be 1 and the fourth value may be 0.
Then, step S404 is executed to determine whether the target operation is completed according to the second return value. Specifically, when the second return value is the third value, which indicates that the target operation is completed, step S405 is continuously executed to execute a third function in the scheme code, which verifies whether the target operation is normally executed, so as to obtain a third return value. If the second return value is the fourth value, which indicates that the target operation is not completed, step S404 is executed continuously.
The third return value also includes two different values, which are a fifth value and a sixth value, respectively, where the fifth value is different from the sixth value, the fifth value indicates that the target function of the target operation is normally executed, and the sixth value indicates that the target function of the target operation is not normally executed, that is, there is an exception during the execution. Likewise, for example, the fifth value may be 1 and the sixth value may be 0.
Subsequently, S406 is executed, and it is determined whether the target operation is normally executed according to the third return value. Specifically, when the third return value is the fifth value, the target function indicating the target operation is normally executed, and then the execution of the program is ended. If the third return value is the sixth value, which indicates that the target function of the target operation has an exception in the execution process and is not normally executed, S407 is continuously executed to obtain the error code segment, and a fourth function with a rollback function in the scheme code is executed for the error code segment to rollback the error code segment.
Therefore, whether the scheme code is legal is judged through the first function, whether the scheme code is executed completely is judged through the second function, whether the target operation is executed normally is verified through the third function, and when the execution is wrong, the error code segment is rolled back through the fourth function, so that the execution reliability of the scheme code is ensured, and the error code is corrected when the execution is wrong, so that the scheme code is effectively executed.
In order to cause a security risk due to malicious modification of a source file of a scheme code, in one embodiment, the scheme code is generated into a dynamic link library, so that it can be ensured that the source file of the scheme code does not exist in an operating system of a computing device, thereby preventing the scheme code source file from being maliciously modified and ensuring the security of the scheme code source file.
Up to this point, hardware adaptation is achieved by performing specific operations after the driver is installed. The steps S301 to S310 are performed whenever hardware adaptation by performing a specific operation is required.
Fig. 5 shows a block diagram of a hardware adaptation apparatus 500 according to an embodiment of the present invention. The hardware adaptation apparatus 500 includes an acquisition module 510, a control module 520, and an installation driver sequence module 530, which are coupled in sequence.
The obtaining module 510 is adapted to obtain the hardware adaptation file from the network server in response to an operation of triggering the obtaining of the hardware adaptation file interface.
The control module 520 is adapted to determine a target hardware adaptation file from the acquired hardware adaptation files, determine to-be-adapted hardware corresponding to the target hardware adaptation file, and acquire device information of the to-be-adapted hardware.
And the installation driving module 530 is adapted to match the acquired device information with the device information of the hardware in the target hardware adaptation file, and if the matching is successful, acquire a driving program corresponding to the hardware to be adapted from the installation package and install the driving program in the operating system of the computing device.
It should be noted that the operation principle of the hardware adaptation apparatus 500 is similar to that of the hardware adaptation method 200, and reference may be made to the description of the hardware adaptation method 200 for relevant points, which is not described herein again.
As can be seen from the above, in the hardware adaptive scheme provided by the present invention, the kernel modules corresponding to unnecessary drivers are compiled into the installation package, and the kernel modules corresponding to the corresponding drivers are installed only when the hardware is successfully matched. Because only the kernel module corresponding to the necessary driver exists in the operating system, and other kernel modules are selectively installed according to actual hardware, the number of the kernel modules in the operating system is greatly reduced, the memory occupied by the kernel is further reduced, and the utilization rate of memory resources is improved.
And for hardware equipment with special models, acquiring a hardware adaptation file corresponding to the hardware equipment after matching the hardware equipment with the special models, and performing special operation and configuration on the hardware according to the hardware adaptation file, so that the problem of conflict between unconventional configuration and a main line is solved.
The various techniques described herein may be implemented in connection with hardware or software or, alternatively, with a combination of both. Thus, the methods and apparatus of the present invention, or certain aspects or portions thereof, may take the form of program code (i.e., instructions) embodied in tangible media, such as removable hard drives, U.S. disks, floppy disks, CD-ROMs, or any other machine-readable storage medium, wherein, when the program is loaded into and executed by a machine, such as a computer, the machine becomes an apparatus for practicing the invention.
In the case of program code execution on programmable computers, the computing device will generally include a processor, a storage medium readable by the processor (including volatile and non-volatile memory and/or storage elements), at least one input device, and at least one output device. Wherein the memory is configured to store program code; the processor is configured to perform the hardware adaptation method of the present invention according to instructions in said program code stored in the memory.
By way of example, and not limitation, readable media may comprise readable storage media and communication media. Readable storage media store information such as computer readable instructions, data structures, program modules or other data. Communication media typically embodies computer readable instructions, data structures, program modules or other data in a modulated data signal such as a carrier wave or other transport mechanism and includes any information delivery media. Combinations of any of the above are also included within the scope of readable media.
In the description provided herein, algorithms and displays are not inherently related to any particular computer, virtual system, or other apparatus. Various general purpose systems may also be used with examples of this invention. The required structure for constructing such a system will be apparent from the description above. Moreover, the present invention is not directed to any particular programming language. It is appreciated that a variety of programming languages may be used to implement the teachings of the present invention as described herein, and any descriptions of specific languages are provided above to disclose the best mode of the invention.
In the description provided herein, numerous specific details are set forth. It is understood, however, that embodiments of the invention may be practiced without these specific details. In some instances, well-known methods, structures and techniques have not been shown in detail in order not to obscure an understanding of this description.
Similarly, it should be appreciated that in the foregoing description of exemplary embodiments of the invention, various features of the invention are sometimes grouped together in a single embodiment, figure, or description thereof for the purpose of streamlining the disclosure and aiding in the understanding of one or more of the various inventive aspects. However, the disclosed method should not be interpreted as reflecting an intention that: that the invention as claimed requires more features than are expressly recited in each claim.
Those skilled in the art will appreciate that the modules or units or components of the devices in the examples disclosed herein may be arranged in a device as described in this embodiment or alternatively may be located in one or more devices different from the devices in this example. The modules in the foregoing examples may be combined into one module or may be further divided into multiple sub-modules.
Those skilled in the art will appreciate that the modules in the device in an embodiment may be adaptively changed and disposed in one or more devices different from the embodiment. The modules or units or components of the embodiments may be combined into one module or unit or component, and furthermore they may be divided into a plurality of sub-modules or sub-units or sub-components. All of the features disclosed in this specification (including any accompanying claims, abstract and drawings), and all of the processes or elements of any method or apparatus so disclosed, may be combined in any combination, except combinations where at least some of such features and/or processes or elements are mutually exclusive. Each feature disclosed in this specification (including any accompanying claims, abstract and drawings) may be replaced by alternative features serving the same, equivalent or similar purpose, unless expressly stated otherwise.
Furthermore, those skilled in the art will appreciate that while some embodiments described herein include some features included in other embodiments, rather than other features, combinations of features of different embodiments are meant to be within the scope of the invention and form different embodiments.
Furthermore, some of the described embodiments are described herein as a method or combination of method elements that can be performed by a processor of a computer system or by other means of performing the described functions. A processor having the necessary instructions for carrying out the method or method elements thus forms a means for carrying out the method or method elements. Further, the elements of the apparatus embodiments described herein are examples of the following apparatus: the apparatus is used to implement the functions performed by the elements for the purpose of carrying out the invention.
As used herein, unless otherwise specified the use of the ordinal adjectives "first", "second", "third", etc., to describe a common object, merely indicate that different instances of like objects are being referred to, and are not intended to imply that the objects so described must be in a given sequence, either temporally, spatially, in ranking, or in any other manner.
While the invention has been described with respect to a limited number of embodiments, those skilled in the art, having benefit of this description, will appreciate that other embodiments can be devised which do not depart from the scope of the invention as described herein. Furthermore, it should be noted that the language used in the specification has been principally selected for readability and instructional purposes, and may not have been selected to delineate or circumscribe the inventive subject matter. Accordingly, many modifications and variations will be apparent to those of ordinary skill in the art without departing from the scope and spirit of the appended claims. The present invention has been disclosed in an illustrative rather than a restrictive sense, and the scope of the present invention is defined by the appended claims.

Claims (9)

1. A hardware adaptation method executed in a computing device that is communicatively connected to a network server, the computing device storing an installation package and a code template including a driver of a part of hardware in the computing device, the network server storing a plurality of hardware adaptation files, the hardware adaptation files corresponding to hardware to be adapted one to one, the hardware adaptation files including device information of the part of hardware in the computing device and a plurality of operations to be performed by the hardware, the method comprising:
responding to an operation of triggering an interface for acquiring a hardware adaptation file, and acquiring the hardware adaptation file from the network server;
determining a target hardware adaptation file from the acquired hardware adaptation files;
determining hardware to be adaptive corresponding to the target hardware adaptation file, and acquiring equipment information of the hardware to be adaptive;
matching the acquired equipment information with the equipment information of the hardware in the target hardware adaptation file;
if the matching is successful, acquiring a driver corresponding to the hardware to be self-adapted from the installation package, and installing the driver in an operating system of the computing equipment;
controlling the hardware to be adaptive to execute a plurality of operations of the target hardware adaptation file;
wherein the step of controlling the hardware to be adapted to execute the plurality of operations of the target hardware adaptation file comprises:
analyzing the keywords of the code template;
determining the keywords corresponding to each operation in the target hardware adaptation file;
inserting a target function of each operation of the target hardware adaptation file into a position where the keyword corresponding to the target function is located, and generating a scheme code, wherein the target function comprises a first function for verifying the legality of the scheme code, a second function for executing the target operation, a third function for verifying whether the target operation is normally executed, and a fourth function with a rollback function;
executing the scheme code to realize a plurality of operations for controlling the hardware to be self-adapted to execute the target hardware adaptation file;
wherein the step of executing the plan code comprises:
executing a first function of the scheme code to obtain a first return value;
judging whether the scheme code is legal or not according to the first return value;
when the scheme code is legal, executing a second function of the scheme code to obtain a second return value;
judging whether the target operation is executed or not according to a second return value;
when the target operation is executed, executing the third function of the scheme code to obtain a third return value;
detecting whether the target operation is normally executed or not according to the third return value;
when the scheme code is not normally executed, determining an error code segment;
executing the fourth function of the scheme code against the faulting code fragment to rollback the faulting code fragment.
2. The method of claim 1, further comprising the steps of:
converting the schema code to a dynamic link library such that source code of the schema code is absent from an operating system of the computing device.
3. The method of claim 1 or 2, wherein the computing device further stores a partial hardware adaptation file in the network server, the method further comprising the steps of:
acquiring network information;
judging whether to be in communication connection with the network server according to the network information;
and when the communication connection with the network server is not realized, the hardware adaptation file is acquired from the local.
4. The method of claim 1, further comprising the steps of:
and if the obtained equipment information is not successfully matched with the equipment information of the hardware in each hardware adaptation file, not installing a driving program corresponding to the hardware to be adapted.
5. The method of claim 1, wherein determining a target hardware adaptation file from the acquired hardware adaptation files comprises:
displaying the acquired hardware adaptation file on a user graphical interface of the computing device;
and responding to the operation of selecting the hardware adaptation file by the user, and determining the target hardware adaptation file.
6. The method of claim 1, wherein the device information comprises one or more of operating system information, desktop management interface information, CPU information, memory information, disk information, sound card information, graphics card information, network information, camera information, power information, bluetooth information, external device interconnection standard information, USB information.
7. A hardware adaptation apparatus, executed in a computing device, the computing device being communicatively connected to a network server, the computing device storing an installation package including a driver of part of hardware in the computing device, the network server storing a plurality of hardware adaptation files, the hardware adaptation files corresponding to hardware to be adapted one to one, the hardware adaptation files including device information of part of hardware in the computing device, the apparatus comprising:
the acquisition module is suitable for responding to the operation of triggering and acquiring the hardware adaptation file interface and acquiring the hardware adaptation file from the network server;
the control module is suitable for determining a target hardware adaptation file from the acquired hardware adaptation files, is also suitable for determining to-be-adapted hardware corresponding to the target hardware adaptation file, and acquires equipment information of the to-be-adapted hardware;
the installation driving module is suitable for matching the acquired equipment information with the equipment information of the hardware in the target hardware adaptation file, and if the matching is successful, a driving program corresponding to the hardware to be adapted is acquired from the installation package and is installed in an operating system of the computing equipment;
the execution module is suitable for controlling the hardware to be self-adapted to execute a plurality of operations of the target hardware adaptation file;
wherein the step of the execution module controlling the hardware to be adapted to execute the plurality of operations of the target hardware adaptation file comprises:
analyzing keywords of the code template;
determining the keywords corresponding to each operation in the target hardware adaptation file;
inserting a target function of each operation of the target hardware adaptation file into a position where the keyword corresponding to the target function is located, and generating a scheme code, wherein the target function comprises a first function for verifying the legality of the scheme code, a second function for executing the target operation, a third function for verifying whether the target operation is normally executed, and a fourth function with a rollback function;
executing the scheme code to realize a plurality of operations for controlling the hardware to be self-adapted to execute the target hardware adaptation file;
wherein the step of executing the plan code by the execution module comprises:
executing a first function of the scheme code to obtain a first return value;
judging whether the scheme code is legal or not according to the first return value;
when the scheme code is legal, executing a second function of the scheme code to obtain a second return value;
judging whether the target operation is executed or not according to a second return value;
when the target operation is executed, executing the third function of the scheme code to obtain a third return value;
detecting whether the target operation is normally executed or not according to the third return value;
when the scheme code is not normally executed, determining an error code segment;
executing the fourth function of the scheme code against the faulting code fragment to rollback the faulting code fragment.
8. A computing device, comprising:
at least one processor; and
a memory storing program instructions, wherein the program instructions are configured to be adapted to be executed by the at least one processor, the program instructions comprising instructions for performing the method of any of claims 1-6.
9. A readable storage medium storing program instructions that, when read and executed by a computing device, cause the computing device to perform the method of any of claims 1 to 6.
CN202210659514.2A 2022-06-13 2022-06-13 Hardware self-adaption method and device Active CN114756291B (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202210659514.2A CN114756291B (en) 2022-06-13 2022-06-13 Hardware self-adaption method and device
CN202210892500.5A CN115145644A (en) 2022-06-13 2022-06-13 Hardware self-adaption method and device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210659514.2A CN114756291B (en) 2022-06-13 2022-06-13 Hardware self-adaption method and device

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN202210892500.5A Division CN115145644A (en) 2022-06-13 2022-06-13 Hardware self-adaption method and device

Publications (2)

Publication Number Publication Date
CN114756291A CN114756291A (en) 2022-07-15
CN114756291B true CN114756291B (en) 2022-09-06

Family

ID=82336926

Family Applications (2)

Application Number Title Priority Date Filing Date
CN202210659514.2A Active CN114756291B (en) 2022-06-13 2022-06-13 Hardware self-adaption method and device
CN202210892500.5A Pending CN115145644A (en) 2022-06-13 2022-06-13 Hardware self-adaption method and device

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN202210892500.5A Pending CN115145644A (en) 2022-06-13 2022-06-13 Hardware self-adaption method and device

Country Status (1)

Country Link
CN (2) CN114756291B (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104572235A (en) * 2014-12-31 2015-04-29 北京奇虎科技有限公司 Compiling method and device for loadable kernel module
CN109766105A (en) * 2018-12-24 2019-05-17 新华三技术有限公司 Drive programe installation method, device, server and computer readable storage medium
CN111897585A (en) * 2020-09-30 2020-11-06 延锋伟世通电子科技(南京)有限公司 Linux-based multi-hardware adaptation method
CN112783516A (en) * 2021-01-07 2021-05-11 广东天波信息技术股份有限公司 Hardware adaptation method, electronic device and computer-readable storage medium

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8335764B2 (en) * 2010-03-19 2012-12-18 International Business Machines Corporation Multicast address search including multiple search modes

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104572235A (en) * 2014-12-31 2015-04-29 北京奇虎科技有限公司 Compiling method and device for loadable kernel module
CN109766105A (en) * 2018-12-24 2019-05-17 新华三技术有限公司 Drive programe installation method, device, server and computer readable storage medium
CN111897585A (en) * 2020-09-30 2020-11-06 延锋伟世通电子科技(南京)有限公司 Linux-based multi-hardware adaptation method
CN112783516A (en) * 2021-01-07 2021-05-11 广东天波信息技术股份有限公司 Hardware adaptation method, electronic device and computer-readable storage medium

Also Published As

Publication number Publication date
CN114756291A (en) 2022-07-15
CN115145644A (en) 2022-10-04

Similar Documents

Publication Publication Date Title
US8863109B2 (en) Updating secure pre-boot firmware in a computing system in real-time
US10606677B2 (en) Method of retrieving debugging data in UEFI and computer system thereof
US8539213B2 (en) Manageability extension mechanism for system firmware
US11409518B2 (en) Remote access controller device update system
US11429298B2 (en) System and method for tying non-volatile dual inline memory modules to a particular information handling system
CN109828774B (en) Server system and starting method thereof
CN107135462B (en) Bluetooth pairing method of UEFI firmware and computing system thereof
CN113946854B (en) File access control method and device and computer readable storage medium
US20230105413A1 (en) Secondary processor device ownership system
US10616944B2 (en) Computer system and method thereof for sharing of wireless connection information between UEFI firmware and OS
US20230342472A1 (en) Computer System, Trusted Function Component, and Running Method
CN114756291B (en) Hardware self-adaption method and device
US11941127B2 (en) Firmware password management
CN114816772B (en) Debugging method, debugging system and computing device for application running based on compatible layer
CN115202830B (en) Root file system preparation method, system, computing device and readable storage medium
US11989304B2 (en) Secure multi-BIOS-image system
US11995452B2 (en) Firmware memory map namespace for concurrent containers
CN115964075B (en) Application export import method and device, computer equipment and storage medium
US11853803B2 (en) Workload compliance governor system
US20230146526A1 (en) Firmware memory map namespace for concurrent containers
US20240103837A1 (en) Seamless and secure motherboard replacement system and method
CN112541756B (en) Block chain contract upgrading method and device, computer equipment and readable storage medium
CN116738380A (en) Application authorization method, device, computing equipment and storage medium
CN116318952A (en) Cloud desktop-based authorization method and device, computing equipment and storage medium
CN115586853A (en) Window display method, computing device and 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
GR01 Patent grant
GR01 Patent grant