Business software installation method and device, computer equipment and storage medium
By filtering and verifying the security of storage devices in the storage system, ensuring that the business software is installed on the secure system disk, the business security problems caused by the use of illegal system disks are solved, and the efficient and secure installation process of business data is achieved.
Patent Information
- Application Number
- CN202412000280.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-12-31
- Publication Date
- 2025-04-11
AI Technical Summary
In storage systems, using illegal system disks to install business software may cause business security issues.
By obtaining topological relationship information of the storage system, filter out the storage device of the target storage type, and determine whether there is a secure system disk based on the hardware identification information and address. If present, use the corresponding target driver to drive the security system disk and install the business software.
Ensure that business software is installed on a verified security system disk, thereby ensuring the security of business data and avoiding unauthorized or malicious tampered storage devices accessing the storage system.
Smart Images

Figure CN119806564A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of storage technology, and in particular to a method, device, computer equipment and storage medium for installing business software. Background Art
[0002] In the field of storage technology, the business software installed on the storage system is used to perform various read and write tasks and record business data on the storage device included in it. Therefore, before executing the business, the storage system needs to install the operating system on the system disk first, and then install the business software after starting the operating system.
[0003] However, if you use an illegal system disk to install business software, it will cause business security problems when you execute business later. Summary of the invention
[0004] In view of this, the present invention provides a business software installation method, device, computer equipment, storage medium and program product to solve the business security problem.
[0005] In a first aspect, the present invention provides a method for installing service software, which is applied to a storage system, the storage system comprising at least one controller and at least one storage device, the method being executed by a target controller in the at least one controller, and comprising:
[0006] Obtain topological relationship information of the storage system;
[0007] According to the topological relationship information, acquiring the address and attribute information corresponding to each storage device, wherein the attribute information includes the device type and hardware identification information;
[0008] When it is determined to drive a storage device of a target storage type according to a preset driving order, a storage device of the target storage type is screened out from at least one storage device;
[0009] Determining whether there is a storage device in the target storage type that is a secure system disk according to hardware identification information and addresses corresponding to the storage device of the target storage type;
[0010] When it is determined that the storage device of the target storage type is a security system disk, a target driver corresponding to the target storage type is used to drive the security system disk, and business software is installed on the security system disk.
[0011] The business software installation method provided by the present invention has the following advantages:
[0012] When obtaining the topological relationship information of the storage system, this solution first obtains the address and attribute information corresponding to each storage device based on the topological relationship information. During the driving process, when starting to drive the storage device of the target storage type, the target controller will first screen out the storage device of the target storage type, and then determine whether there is a storage device of the target storage type that is a security system disk based on the hardware identification information and address of the storage device of the target storage type. If there is a security system disk, the target driver can be used to drive the security system disk, and the business software can be installed on the security system disk. In this way, installing business software on a verified security system disk can ensure business security.
[0013] In an optional implementation, determining whether a storage device of the target storage type is a secure system disk according to hardware identification information and an address corresponding to the storage device of the target storage type includes:
[0014] Filtering out a target storage device having an address of a preset target address from storage devices of a target storage type;
[0015] According to the hardware identification information corresponding to the target storage device and a preset white list, it is determined whether the target storage device is a secure system disk.
[0016] Specifically, since the system disk generally needs to be installed in a fixed slot of the storage system, the system disk (i.e., the target storage device) can be screened out according to the address, and then the hardware identification information of the system disk is compared with the preset white list to determine whether the system disk is a system disk that has passed the security verification. In this way, the safe system disk can be accurately determined, so that the business software can be installed on the safe system disk later to ensure business security.
[0017] In an optional implementation, the preset whitelist includes hardware identification information corresponding to at least one security system disk;
[0018] Determining whether the target storage device is a secure system disk according to the hardware identification information corresponding to the target storage device and a preset white list includes:
[0019] Determine whether the hardware identification information of the target storage device is the hardware identification information of any security system disk in the preset white list;
[0020] When it is determined that the hardware identification information of the target storage device is the hardware identification information of any type of secure system disk in the preset white list, the target storage device is determined as a secure system disk.
[0021] Specifically, through the hardware identification information, it can be ensured that only authenticated and authorized storage devices can be identified as security system disks, thereby preventing unauthorized or maliciously tampered storage devices from accessing the storage system and avoiding security issues of business data. In addition, the hardware identification information is usually unique, which makes it difficult for attackers to copy all the properties of a legitimate security system disk, so it can effectively resist attacks based on storage device cloning. In the field of security verification, the verification operation is generally implemented based on the key, that is, the legitimacy of the digital signature of the system disk is verified during verification. However, the key verification operation occupies more computing resources and has low efficiency, which will delay the startup time of the operating system and business software. However, this solution uses a whitelist mechanism, which usually only requires simple string matching operations during the verification process, has low demand for computing resources, high efficiency, and can complete the startup operation of the operating system and business software as soon as possible. In addition, under the key scheme, special hardware devices are required, such as hardware security modules (HSM) to manage keys, which are costly, and the key update operation is complex and inconvenient to manage. However, this solution only needs to simply update the whitelist, does not require additional hardware devices, has low costs, and is easy to manage.
[0022] In an optional embodiment, the method further includes:
[0023] When it is determined that the hardware identification information of the target storage device is not the hardware identification information of any secure system disk in the preset white list, the target storage device is determined as a non-secure system disk.
[0024] Specifically, when it is determined that the hardware identification information of the target storage device is not the hardware identification information of any security system disk in the preset whitelist, it can be determined that the target storage device is not a security system disk. The system disk will not be used to install business software subsequently, which can avoid security issues of business data.
[0025] In an optional implementation, the topological relationship information includes at least one topological position of the storage system, where the topological position is used to indicate a position of the storage device in the storage system;
[0026] According to the topology information, the address and attribute information corresponding to each storage device is obtained, including:
[0027] Scan each topological location separately;
[0028] When a storage device is scanned at any topological location, attribute information is read from the scanned storage device;
[0029] And, according to the topological position corresponding to the scanned storage device and the preset address allocation rule, an address is allocated to the scanned storage device.
[0030] Specifically, the solution can automatically scan and identify all connected storage devices without manual intervention, greatly improving efficiency.
[0031] In an optional implementation, allocating an address to the scanned storage device according to a topological position corresponding to the scanned storage device and a preset address allocation rule includes:
[0032] Determine whether the topological position corresponding to the scanned storage device is a preset target topological position, wherein the target topological position is used to indicate the topological position of the system disk;
[0033] When it is determined that the topological position corresponding to the scanned storage device is the target topological position, a preset target address is allocated to the scanned storage device;
[0034] or,
[0035] When it is determined that the topological position corresponding to the scanned storage device is not the target topological position, the number of the scanned storage devices in the target bus and the identification information of the target bus are obtained, wherein the target bus is the bus to which the currently scanned storage device is connected;
[0036] According to the identification information of the target bus and the number of the storage devices that have been scanned in the target bus, the address corresponding to the scanned storage device is determined.
[0037] Specifically, since the system disk generally needs to be installed in a fixed slot of the storage system, and other slots may or may not have devices inserted, if the address is assigned in the conventional manner, the address assigned to the system disk on the fixed slot will change each time the address is assigned, and the specific location of the system disk cannot be determined later, and the security verification operation cannot be performed. Therefore, when determining whether the topological position corresponding to the scanned storage device is the preset target topological position, this solution can determine that the scanned storage device is a system disk. At this time, a fixed address can be assigned to the target storage device, which is convenient for subsequent security verification operations. For other storage devices, addresses can be assigned based on the identification information of the bus and the number of storage devices that have been scanned in the bus, which is convenient for technicians to manage storage devices and understand the hierarchical results of the storage system.
[0038] In an optional implementation, the hardware identification information includes product identification information and manufacturer identification information, and determining whether the hardware identification information of the target storage device is the hardware identification information of any security system disk in a preset whitelist includes:
[0039] Traversing the hardware identification information of each type of security system disk included in the preset whitelist;
[0040] Each time a piece of hardware identification information is traversed, determining whether the product identification information included in the traversed hardware identification information is consistent with the product identification information included in the hardware identification information of the target storage device;
[0041] and, determining whether the vendor identification information included in the traversed hardware identification information is consistent with the vendor identification information included in the hardware identification information of the target storage device;
[0042] When it is determined that the product identification information included in the traversed hardware identification information is consistent with the product identification information included in the hardware identification information of the target storage device, and when it is determined that the manufacturer identification information included in the traversed hardware identification information is consistent with the manufacturer identification information included in the hardware identification information of the target storage device, the target storage device is determined to be a secure system disk.
[0043] Specifically, by double-verifying the product identification information and the manufacturer identification information, the possibility of counterfeiting or cloning legitimate devices is greatly reduced, ensuring that only authenticated devices can be identified as secure system disks. In addition, the problem of identification conflicts between different devices that may result from relying on only a single identification can be avoided.
[0044] In a second aspect, the present invention provides a business software installation device, the device comprising:
[0045] The acquisition module is used to acquire the topological relationship information of the storage system; according to the topological relationship information, the address and attribute information corresponding to each storage device are acquired, wherein the attribute information includes the device type and hardware identification information;
[0046] A screening module, configured to screen out a storage device of the target storage type from at least one storage device when determining to drive the storage device of the target storage type according to a preset driving order;
[0047] A determination module, used to determine whether there is a storage device in the storage device of the target storage type that is a security system disk according to the hardware identification information and address corresponding to the storage device of the target storage type;
[0048] The installation module is used to drive the security system disk using a target driver corresponding to the target storage type and install business software on the security system disk when it is determined that the storage device of the target storage type is a security system disk.
[0049] In a third aspect, the present invention provides a computer device comprising: a memory and a processor, the memory and the processor being communicatively connected to each other, the memory storing computer instructions, and the processor executing the business software installation method of the first aspect or any corresponding embodiment thereof by executing the computer instructions.
[0050] In a fourth aspect, the present invention provides a computer-readable storage medium having computer instructions stored thereon, the computer instructions being used to enable a computer to execute the business software installation method of the first aspect or any corresponding embodiment thereof.
[0051] In a fifth aspect, the present invention provides a computer program product, including computer instructions, which are used to enable a computer to execute the business software installation method of the first aspect or any corresponding embodiment thereof. BRIEF DESCRIPTION OF THE DRAWINGS
[0052] In order to more clearly illustrate the specific embodiments of the present invention or the technical solutions in the related technologies, the drawings required for use in the specific embodiments or the related technical descriptions will be briefly introduced below. Obviously, the drawings described below are some embodiments of the present invention. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying creative work.
[0053] Figure 1 is a schematic diagram of the architecture of a storage system according to an embodiment of the present invention;
[0054] Figure 2 is a flowchart of a method for installing business software according to an embodiment of the present invention;
[0055] Figure 3 is a flowchart of a method for installing business software according to an embodiment of the present invention;
[0056] Figure 4 is a structural block diagram of a service software installation device according to an embodiment of the present invention;
[0057] Figure 5 It is a schematic diagram of the hardware structure of a computer device according to an embodiment of the present invention. DETAILED DESCRIPTION
[0058] In order to make the purpose, technical solution and advantages of the embodiments of the present invention clearer, the technical solution in the embodiments of the present invention will be clearly and completely described below in conjunction with the drawings in the embodiments of the present invention. Obviously, the described embodiments are part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative work are within the scope of protection of the present invention.
[0059] The present invention can be applied to a storage system, which may include at least one controller and a storage device. The controller may include a central processing unit (CPU) and a memory, in which a basic input / output system (BI / O) firmware or a boot loader is stored. Each controller may be installed on a motherboard, and a plurality of slots may be provided on the motherboard, and the slots may be used to connect an expander or a storage device. When there are multiple controllers, the storage system is a multi-controller storage system (MCS). Figure 1 As shown, the slot can be a Peripheral Component Interconnect Express (PCIE) slot, and the bandwidth of the slot can be PCIEx16 or PCIEx4. The PCIEx4 slot can be directly connected to the system disk. The PCIEx16 slot can be connected to a PCIE switch, and the PCIE switch can be connected to a data disk, so that the 25 PCIE3.0x2 channels extended by the PCIE switch each provide half of the standard x4 bandwidth. Among them, both the system disk and the data disk can be non-volatile memory host controller interface specification (Non-Volatile Memory Express, NVME) hard disks. Specifically, the system disk can be a hard disk that uses an M.2 physical form factor and communicates with the central processing unit using the NVME protocol through the PCIE bus. The central processing unit can read the BIOS firmware or boot loader from the memory through the platform controller hub serial peripheral interface (Platform Controller Hub Serial Peripheral Interface, PCH_SPI), and use the BIOS firmware or boot loader to start the hardware in the storage system. The central processing unit can read and write data to each storage device through the PCIE bus.
[0060] The embodiment of the present invention provides a method for installing business software, which performs verification through the address and attribute information of a storage device and only installs the business software on a secure system disk, thereby ensuring the security of business data.
[0061] According to an embodiment of the present invention, an embodiment of a business software installation method is provided. It should be noted that the steps shown in the flowchart of the accompanying drawings can be executed in a computer system such as a set of computer executable instructions, and although a logical order is shown in the flowchart, in some cases, the steps shown or described can be executed in an order different from that shown here.
[0062] In this embodiment, a service software installation method is provided, which can be executed by a target controller. Figure 2 is a flow chart of a method for installing business software according to an embodiment of the present invention. Figure 2 As shown, the process includes the following steps:
[0063] Step S201, obtaining topological relationship information of the storage system.
[0064] The topological relationship information may include at least one topological position of the storage system, and the topological position is used to indicate the position of the storage device in the storage system, for example, the topological position is used to indicate information such as the bus, slot and slot position to which the storage device is connected.
[0065] Step S202: Acquire address and attribute information corresponding to each storage device according to the topology relationship information.
[0066] The attribute information includes the device type and hardware identification information. The address may be a Bus Device Function (BDF) address. The device type may be used to indicate the communication protocol type of the storage device.
[0067] Specifically, step S202 may include the following steps:
[0068] Step 1: Scan each topological location separately.
[0069] Step 2: When a storage device is scanned at any topological location, attribute information is read from the scanned storage device.
[0070] Step three: assigning addresses to the scanned storage devices according to the topological positions corresponding to the scanned storage devices and preset address assignment rules.
[0071] Specifically, in Figure 1 In the storage system shown, during the PCIE enumeration process of the BIOS firmware, the target controller can first read the preset topological relationship information of the storage system from the memory, and use the BIOS firmware to scan from the bus connected to the root complex (for example, it can be a PCIE bus) according to the topological relationship information and the preset scanning order, starting from the primary bus to the secondary bus. For each bus, all the slots connected to the bus can be traversed, and then, each slot on the slot can be scanned to see if a storage device has been inserted. If so, the corresponding attribute information can be read from the storage device. If not, the next topological position (the next slot on the same slot, or the next slot, or the next bus) can be scanned.
[0072] In addition, when a storage device is scanned, the target controller may allocate an address to the scanned storage device according to the topological location of the scanned storage device and a preset address allocation rule, so that the allocated address can be used to access and configure the storage device later. For example, the specific process of allocating addresses may be as follows:
[0073] Determine whether the topological position corresponding to the scanned storage device is a preset target topological position, wherein the target topological position is used to indicate the topological position of the system disk. When it is determined that the topological position corresponding to the scanned storage device is the target topological position, assign a preset target address to the scanned storage device. Alternatively, when it is determined that the topological position corresponding to the scanned storage device is not the target topological position, obtain the number of storage devices that have been scanned in the target bus and the identification information of the target bus, wherein the target bus is the bus to which the currently scanned storage device is connected. Determine the address corresponding to the scanned storage device based on the identification information of the target bus and the number of storage devices that have been scanned in the target bus.
[0074] Specifically, the target controller can determine whether the topological position of the scanned storage device is the target topological position. If so, it can be considered that the system disk is scanned. At this time, the preset target address can be assigned to the scanned storage device. If not, the number of storage devices that have been scanned by the target bus to which it is connected can be determined. Then, the target controller can form a target number based on the identification information of the target bus and the number of storage devices that have been scanned by the target bus. For example, the address can be 1-2, where 1 represents the identification information of the target bus and 2 represents the number of storage devices that have been scanned by the target bus. Finally, the target controller can record the attribute information, address and topological position of the scanned storage device as the scan information of the storage device for subsequent verification operations.
[0075] Step S203: when it is determined to drive a storage device of a target storage type according to a preset driving sequence, a storage device of the target storage type is screened out from at least one storage device.
[0076] The target storage type may be an NVME type.
[0077] Specifically, after completing the address allocation operation, the driving phase begins. Figure 3As shown, in the driving stage, the target controller can use the target drive function in the operating system (for example, the Linux system) to drive each storage type of device according to the preset drive order. When determining to drive the storage device of the target storage type, it can be determined whether the type of each storage device is the target storage type. If so, it can be determined as a storage device of the target storage type. In this way, the storage device of the target storage type can be screened out from the storage devices included in the storage system. For example, the target drive function can be the drive_match_device() function.
[0078] Step S204: Determine whether there is a secure system disk in the storage device of the target storage type according to the hardware identification information and address corresponding to the storage device of the target storage type.
[0079] The preset whitelist may include hardware identification information corresponding to at least one security system disk. The hardware identification information may include product identification information (Product ID) and / or vendor identification information (Vendor ID). The preset whitelist may be in array form, or in multi-level index table form, etc.
[0080] The target controller can verify whether there is a storage device in the target storage type that is a secure system disk through two levels of verification operations:
[0081] First, a target storage device having an address that is a preset target address is selected from storage devices of the target storage type.
[0082] Specifically, the target controller can obtain the scanning information corresponding to each storage device generated in the PCIE enumeration phase, and perform a traversal operation. When traversing to any scanning information, it can be determined whether the address included in the scanning information is the target address. If so, it can be determined that the storage device corresponding to the scanning information of the storage system is the system disk, and the traversal is stopped. If not, the next scanning information can be traversed. And so on, until the scanning information including the target address is determined, the traversal is stopped. In some optional embodiments, when it is determined that all scanning information does not include the target address, an alarm message can be sent to the client to instruct the technician to check whether the storage system is connected to the system disk, so as to complete the installation operation of the business software as soon as possible and provide business services to users.
[0083] Because some data disks and system disks have the same storage type but different functions, the system disk and data disk of the storage system can be isolated at the kernel level of the operating system through the target address to protect the data in the data disk from being used as the system disk and avoid unexpected data being written during the operation of the storage system, which may cause damage to user data.
[0084] Second, determine whether the target storage device is a secure system disk based on the hardware identification information corresponding to the target storage device and a preset white list.
[0085] Specifically, when a system disk (i.e., a target storage device) is determined, the target controller may extract the hardware identification information of the target storage device from the scanning information corresponding to the target storage device. Then, the target controller may determine whether the hardware identification information of the target storage device is the hardware identification information of any secure system disk in a preset whitelist. When it is determined that the hardware identification information of the target storage device is the hardware identification information of any secure system disk in a preset whitelist, the target storage device is determined to be a secure system disk. Alternatively, when it is determined that the hardware identification information of the target storage device is not the hardware identification information of any secure system disk in a preset whitelist, the target storage device is determined to be a non-secure system disk.
[0086] After the target storage device is determined to be a non-secure system disk, the return result of the target drive function corresponding to the target storage device is set to a first preset value (for example, it may be 1), and the return result of the target drive function corresponding to the target storage device is set to a second preset value (for example, it may be 0).
[0087] When the hardware identification information includes the above-mentioned manufacturer identification information and product identification information, the following methods may be used to determine whether the hardware identification information of the target storage device is the hardware identification information of any security system disk in the preset whitelist:
[0088] Method 1: The preset whitelist is in array form. The name of the preset whitelist may be "nvme_id_table", including multiple entries, each of which defines a set of hardware identification information.
[0089] The target controller can traverse the hardware identification information of each type of security system disk included in the preset white list. Each time a piece of hardware identification information is traversed, it is determined whether the product identification information included in the traversed hardware identification information is consistent with the product identification information included in the hardware identification information of the target storage device. And, it is determined whether the manufacturer identification information included in the traversed hardware identification information is consistent with the manufacturer identification information included in the hardware identification information of the target storage device. When it is determined that the product identification information included in the traversed hardware identification information is consistent with the product identification information included in the hardware identification information of the target storage device, and it is determined that the manufacturer identification information included in the traversed hardware identification information is consistent with the manufacturer identification information included in the hardware identification information of the target storage device, it is determined that the target storage device is a security system disk. When it is determined that the product identification information included in the traversed hardware identification information is inconsistent with the product identification information included in the hardware identification information of the target storage device, or when it is determined that the manufacturer identification information included in the traversed hardware identification information is inconsistent with the manufacturer identification information included in the hardware identification information of the target storage device, the next piece of hardware identification information in the preset white list is traversed, and so on. After traversing all the hardware identification information in the preset whitelist, if the hardware identification information corresponding to the hardware identification information of the target storage device is still not found, the target storage device is determined to be a non-secure system disk.
[0090] Method 2: The preset whitelist is in the form of a multi-level index table. The multi-level index table may include multiple at least one first-level index, and each first-level index may include multiple entries. Each first-level index may correspond to a manufacturer identification information. Each entry corresponds to a product identification information.
[0091] The target controller can first traverse the first-level index in the preset whitelist to determine whether there is a target first-level index that matches the manufacturer identification information of the target storage device. If there is a target first-level index, it can be determined whether the manufacturer identification information of the target storage device is any entry under the target first-level index. If so, it can be determined that the target storage device is a secure system disk. If there is no target first-level index, it can be determined that the target storage device is a non-secure system disk. In this way, by constructing a whitelist through a hierarchical data structure, the amount of traversed data can be reduced, the verification process can be accelerated, and the business software can be run earlier.
[0092] In some optional implementations, each time the target storage device is determined to be a secure system disk, the target controller may add a target mark to the scanning information corresponding to the target storage device to indicate that the target storage device has passed the current security verification operation. In the current verification operation, the target controller may determine whether there is target historical scanning information including the hardware identification information in the previous scanning information, and whether the target historical scanning information includes the target mark, based on the hardware identification information of the target storage device. If there is target historical scanning information including the hardware identification information and the target historical scanning information includes the target mark, the target storage device may be determined to be a secure system disk. If there is no target historical scanning information including the hardware identification information, or the target historical scanning information does not include the target mark, the operation of determining whether the target storage device is a secure system disk according to the hardware identification information corresponding to the target storage device and the preset white list in the second level may be performed again. In this way, marking is performed during each verification operation. In the next verification operation, as long as it is determined that the target storage device has passed the verification operation before, there is no need to compare the preset white list. Since the number of historical scanning information is much smaller than the number of hardware identification information in the preset white list, the verification efficiency can be improved by comparing the historical scanning information.
[0093] Step S205: when it is determined that the storage device of the target storage type is a security system disk, a target driver corresponding to the target storage type is used to drive the security system disk, and business software is installed on the security system disk.
[0094] Specifically, when it is determined that the storage device of the target storage type is a secure system disk, that is, when it is determined that the target storage device is a secure system disk, a target driver corresponding to the target storage type can be used to drive the secure system disk, and a target file corresponding to the target storage device can be created in the operating system, and the business software can be installed in the target file. For example, it can be a / dev / nvme device file to indicate that the business software can be installed on the target storage device.
[0095] For example, the target controller may determine whether the return result of the target driver function corresponding to the storage device of the target storage type is a first preset value, and if so, a target file may be generated for the target storage device.
[0096] like Figure 4As shown, a specific example is used to illustrate that in the driving stage, the target controller can first determine whether the current drive is an NVME drive. If so, it can determine whether the BDF address of the storage device currently driven is a preset BDF address. If so, it can determine whether the hardware identification information of the storage device currently driven is any hardware identification information in the preset whitelist. If yes, it can return 0, if not, it can return 1. In this way, when the target controller determines that there is a storage device with a return result of 0, it can generate a / dev / nvme device file for the storage device, drive the storage device, and install business software.
[0097] The business software installation method provided in this embodiment, when obtaining the topological relationship information of the storage system, first obtains the address and attribute information corresponding to each storage device according to the topological relationship information. During the driving process, when starting to drive the storage device of the target storage type, the target controller will first screen out the storage device of the target storage type, and then determine whether there is a storage device of the target storage type that is a security system disk according to the hardware identification information and address of the storage device of the target storage type. If there is a security system disk, the target driver can be used to drive the security system disk, and the business software can be installed on the security system disk. In this way, installing the business software on the verified security system disk can ensure business security.
[0098] In this embodiment, a business software installation device is also provided, which is used to implement the above-mentioned embodiments and preferred implementation modes, and the descriptions that have been made will not be repeated. As used below, the term "module" can implement a combination of software and / or hardware of a predetermined function. Although the devices described in the following embodiments are preferably implemented in software, the implementation of hardware, or a combination of software and hardware, is also possible and conceivable.
[0099] This embodiment provides a business software installation device, such as Figure 4 As shown, including:
[0100] The acquisition module 401 is used to acquire the topological relationship information of the storage system; according to the topological relationship information, the address and attribute information corresponding to each storage device are acquired, wherein the attribute information includes the device type and hardware identification information;
[0101] A screening module 402, configured to screen out a storage device of a target storage type from at least one storage device when determining to drive a storage device of a target storage type according to a preset driving order;
[0102] A determination module 403, configured to determine whether a storage device of the target storage type is a secure system disk according to hardware identification information and addresses corresponding to the storage device of the target storage type;
[0103] The installation module 404 is used to drive the security system disk using a target driver corresponding to the target storage type and install business software on the security system disk when it is determined that the storage device of the target storage type is a security system disk.
[0104] In some optional implementations, the determination module 403 is specifically configured to:
[0105] Filtering out a target storage device having an address of a preset target address from storage devices of a target storage type;
[0106] According to the hardware identification information corresponding to the target storage device and a preset white list, it is determined whether the target storage device is a secure system disk.
[0107] In some optional implementations, the preset whitelist includes hardware identification information corresponding to at least one security system disk;
[0108] The determination module 403 is specifically used for:
[0109] Determine whether the hardware identification information of the target storage device is the hardware identification information of any security system disk in the preset white list;
[0110] When it is determined that the hardware identification information of the target storage device is the hardware identification information of any type of secure system disk in the preset white list, the target storage device is determined as a secure system disk.
[0111] In some optional implementations, the determination module 404 is further configured to:
[0112] When it is determined that the hardware identification information of the target storage device is not the hardware identification information of any secure system disk in the preset white list, the target storage device is determined as a non-secure system disk.
[0113] In some optional implementations, the topological relationship information includes at least one topological position of the storage system, where the topological position is used to indicate a position of the storage device in the storage system;
[0114] The acquisition module 401 is specifically used for:
[0115] Scan each topological location separately;
[0116] When a storage device is scanned at any topological location, attribute information is read from the scanned storage device;
[0117] And, according to the topological position corresponding to the scanned storage device and the preset address allocation rule, an address is allocated to the scanned storage device.
[0118] In some optional implementations, the acquisition module 401 is specifically configured to:
[0119] Determine whether the topological position corresponding to the scanned storage device is a preset target topological position, wherein the target topological position is used to indicate the topological position of the system disk;
[0120] When it is determined that the topological position corresponding to the scanned storage device is the target topological position, a preset target address is allocated to the scanned storage device;
[0121] or,
[0122] When it is determined that the topological position corresponding to the scanned storage device is not the target topological position, the number of the scanned storage devices in the target bus and the identification information of the target bus are obtained, wherein the target bus is the bus to which the currently scanned storage device is connected;
[0123] According to the identification information of the target bus and the number of the storage devices that have been scanned in the target bus, the address corresponding to the scanned storage device is determined.
[0124] In some optional implementations, the hardware identification information includes product identification information and manufacturer identification information, and the determination module 403 is specifically used to:
[0125] Traversing the hardware identification information of each type of security system disk included in the preset whitelist;
[0126] Each time a piece of hardware identification information is traversed, determining whether the product identification information included in the traversed hardware identification information is consistent with the product identification information included in the hardware identification information of the target storage device;
[0127] and, determining whether the vendor identification information included in the traversed hardware identification information is consistent with the vendor identification information included in the hardware identification information of the target storage device;
[0128] When it is determined that the product identification information included in the traversed hardware identification information is consistent with the product identification information included in the hardware identification information of the target storage device, and when it is determined that the manufacturer identification information included in the traversed hardware identification information is consistent with the manufacturer identification information included in the hardware identification information of the target storage device, the target storage device is determined to be a secure system disk.
[0129] The further functional description of each of the above modules and units is the same as that of the above corresponding embodiments and will not be repeated here.
[0130] The business software installation device in this embodiment is presented in the form of a functional unit, where the unit refers to an ASIC (Application Specific Integrated Circuit) circuit, a processor and memory that executes one or more software or fixed programs, and / or other devices that can provide the above functions.
[0131] The embodiment of the present invention also provides a computer device having the above Figure 4 The business software installation device shown.
[0132] See also Figure 5 , Figure 5 is a schematic diagram of the structure of a computer device provided by an optional embodiment of the present invention, such as Figure 5 As shown, the computer device includes: one or more processors 10, a memory 20, and interfaces for connecting various components, including high-speed interfaces and low-speed interfaces. Various components are connected to each other using different buses for communication, and can be installed on a common mainboard or installed in other ways as needed. The processor can process the instructions executed in the computer device, including instructions stored in or on the memory to display the graphical information of the GUI on an external input / output device (such as, a display device coupled to the interface). In some optional embodiments, if necessary, multiple processors and / or multiple buses can be used together with multiple memories and multiple memories. Similarly, multiple computer devices can be connected, and each device provides some necessary operations (for example, as a server array, a group of blade servers, or a multi-processor system). Figure 5 A processor 10 is taken as an example.
[0133] The processor 10 may be a central processing unit, a network processor or a combination thereof. The processor 10 may further include a hardware integrated circuit. The hardware integrated circuit may be a dedicated integrated circuit, a programmable logic device or a combination thereof. The programmable logic device may be a complex programmable logic device, a field programmable logic gate array, a general purpose array logic or any combination thereof.
[0134] The memory 20 stores instructions executable by at least one processor 10, so that the at least one processor 10 executes the method shown in the above embodiment.
[0135] The memory 20 may include a program storage area and a data storage area, wherein the program storage area may store an operating system, an application required for at least one function; the data storage area may store data created according to the use of the computer device, etc. In addition, the memory 20 may include a high-speed random access memory, and may also include a non-transient memory, such as at least one disk storage device, a flash memory device, or other non-transient solid-state storage device. In some optional embodiments, the memory 20 may optionally include a memory remotely arranged relative to the processor 10, and these remote memories may be connected to the computer device via a network. Examples of the above-mentioned network include, but are not limited to, the Internet, an intranet, a local area network, a mobile communication network, and combinations thereof.
[0136] The memory 20 may include a volatile memory, such as a random access memory; the memory may also include a non-volatile memory, such as a flash memory, a hard disk or a solid state drive; the memory 20 may also include a combination of the above types of memory.
[0137] The computer device further comprises a communication interface 30 for the computer device to communicate with other devices or a communication network.
[0138] The embodiment of the present invention also provides a computer-readable storage medium. The method according to the embodiment of the present invention can be implemented in hardware, firmware, or can be implemented as a computer code that can be recorded in a storage medium, or can be implemented as a computer code that is originally stored in a remote storage medium or a non-temporary machine-readable storage medium and will be stored in a local storage medium through a network download, so that the method described herein can be stored in such software processing on a storage medium using a general-purpose computer, a dedicated processor, or programmable or dedicated hardware. Among them, the storage medium can be a magnetic disk, an optical disk, a read-only storage memory, a random access memory, a flash memory, a hard disk or a solid-state hard disk, etc.; further, the storage medium can also include a combination of the above types of memories. It can be understood that a computer, a processor, a microprocessor controller, or programmable hardware includes a storage component that can store or receive software or computer code. When the software or computer code is accessed and executed by a computer, a processor, or hardware, the method shown in the above embodiment is implemented.
[0139] A part of the present invention may be applied as a computer program product, such as a computer program instruction, which, when executed by a computer, can call or provide the method and / or technical solution according to the present invention through the operation of the computer. Those skilled in the art should understand that the existence of the computer program instruction in a computer-readable medium includes, but is not limited to, a source file, an executable file, an installation package file, etc., and accordingly, the way in which the computer program instruction is executed by the computer includes, but is not limited to: the computer directly executes the instruction, or the computer compiles the instruction and then executes the corresponding compiled program, or the computer reads and executes the instruction, or the computer reads and installs the instruction and then executes the corresponding installed program. Here, the computer-readable medium may be any available computer-readable storage medium or communication medium accessible to the computer.
[0140] Although the embodiments of the present invention have been described in conjunction with the accompanying drawings, those skilled in the art may make various modifications and variations without departing from the spirit and scope of the present invention, and such modifications and variations are all within the scope defined by the appended claims.
Claims
1. A method for installing business software, characterized in that: The method is applied to a storage system, the storage system includes at least one controller and at least one storage device, the method is executed by a target controller in at least one of the controllers, and the method includes: Acquire topological relationship information of the storage system; According to the topological relationship information, acquiring the address and attribute information corresponding to each of the storage devices, wherein the attribute information includes the device type and hardware identification information; When it is determined to drive a storage device of a target storage type according to a preset driving order, a storage device of the target storage type is selected from at least one of the storage devices; Determining whether there is a storage device that is a secure system disk in the storage device of the target storage type according to the hardware identification information and the address corresponding to the storage device of the target storage type; When it is determined that the storage device of the target storage type exists as the security system disk, a target driver corresponding to the target storage type is used to drive the security system disk, and business software is installed on the security system disk.
2. The method according to claim 1, characterized in that The determining, based on the hardware identification information and the address corresponding to the storage device of the target storage type, whether a storage device in the storage device of the target storage type is a secure system disk comprises: Filtering out a target storage device whose address is a preset target address from the storage devices of the target storage type; According to the hardware identification information corresponding to the target storage device and a preset white list, it is determined whether the target storage device is the secure system disk.
3. The method according to claim 2, characterized in that The preset whitelist includes hardware identification information corresponding to at least one security system disk; The determining whether the target storage device is the secure system disk according to the hardware identification information corresponding to the target storage device and a preset white list includes: Determine whether the hardware identification information of the target storage device is the hardware identification information of any security system disk in the preset whitelist; When it is determined that the hardware identification information of the target storage device is the hardware identification information of any security system disk in the preset white list, the target storage device is determined to be the security system disk.
4. The method according to claim 3, characterized in that The method further comprises: When it is determined that the hardware identification information of the target storage device is not the hardware identification information of any secure system disk in the preset whitelist, the target storage device is determined as a non-secure system disk.
5. The method according to any one of claims 1 to 4, characterized in that: The topological relationship information includes at least one topological position of the storage system, where the topological position is used to indicate the position of the storage device in the storage system; The acquiring, according to the topological relationship information, address and attribute information corresponding to each of the storage devices includes: Scanning each of the topological locations respectively; When a storage device is scanned at any topological position, the attribute information is read from the scanned storage device; And, according to the topological position corresponding to the scanned storage device and the preset address allocation rule, an address is allocated to the scanned storage device.
6. The method according to claim 5, characterized in that The allocating addresses to the scanned storage devices according to the topological positions corresponding to the scanned storage devices and the preset address allocation rules includes: Determine whether the topological position corresponding to the scanned storage device is a preset target topological position, wherein the target topological position is used to indicate the topological position of the system disk; When it is determined that the topological position corresponding to the scanned storage device is the target topological position, assigning a preset target address to the scanned storage device; or, When it is determined that the topological position corresponding to the scanned storage device is not the target topological position, obtaining the number of storage devices that have been scanned in the target bus and identification information of the target bus, wherein the target bus is a bus to which the currently scanned storage device is connected; The address corresponding to the scanned storage device is determined according to the identification information of the target bus and the number of the scanned storage devices in the target bus.
7. The method according to claim 3, characterized in that The hardware identification information includes product identification information and manufacturer identification information, and the step of determining whether the hardware identification information of the target storage device is the hardware identification information of any security system disk in the preset whitelist includes: Traversing the hardware identification information of each type of security system disk included in the preset whitelist; Each time a piece of the hardware identification information is traversed, determining whether the product identification information included in the traversed hardware identification information is consistent with the product identification information included in the hardware identification information of the target storage device; and determining whether the vendor identification information included in the traversed hardware identification information is consistent with the vendor identification information included in the hardware identification information of the target storage device; When it is determined that the product identification information included in the traversed hardware identification information is consistent with the product identification information included in the hardware identification information of the target storage device, and when it is determined that the manufacturer identification information included in the traversed hardware identification information is consistent with the manufacturer identification information included in the hardware identification information of the target storage device, the target storage device is determined to be the security system disk.
8. A business software installation device, characterized in that: The device comprises: An acquisition module, used to acquire topological relationship information of a storage system; and acquire address and attribute information corresponding to at least one storage device according to the topological relationship information, wherein the attribute information includes device type and hardware identification information; A screening module, configured to screen out a storage device of the target storage type from at least one of the storage devices when determining to drive the storage device of the target storage type according to a preset driving order; a determination module, configured to determine whether a storage device in the target storage type is a secure system disk according to the hardware identification information and the address corresponding to the storage device of the target storage type; The installation module is used to drive the security system disk using a target driver corresponding to the target storage type and install business software on the security system disk when it is determined that the storage device of the target storage type is the security system disk.
9. A computer device, characterized in that: include: A memory and a processor, wherein the memory and the processor are communicatively connected to each other, the memory stores computer instructions, and the processor executes the business software installation method according to any one of claims 1 to 7 by executing the computer instructions.
10. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores computer instructions, and the computer instructions are used to enable a computer to execute the business software installation method according to any one of claims 1 to 7.