WO2021238691A1 - 用于管理存储设备的用户界面显示的方法和装置 - Google Patents
用于管理存储设备的用户界面显示的方法和装置 Download PDFInfo
- Publication number
- WO2021238691A1 WO2021238691A1 PCT/CN2021/094029 CN2021094029W WO2021238691A1 WO 2021238691 A1 WO2021238691 A1 WO 2021238691A1 CN 2021094029 W CN2021094029 W CN 2021094029W WO 2021238691 A1 WO2021238691 A1 WO 2021238691A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- user
- lun
- configuration
- statistical information
- name
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 102
- 238000010276 construction Methods 0.000 claims description 35
- 238000004590 computer program Methods 0.000 claims description 13
- 238000007726 management method Methods 0.000 description 119
- 238000012545 processing Methods 0.000 description 70
- 238000007781 pre-processing Methods 0.000 description 37
- 238000010586 diagram Methods 0.000 description 14
- 230000011218 segmentation Effects 0.000 description 13
- 238000012986 modification Methods 0.000 description 10
- 230000004048 modification Effects 0.000 description 10
- 238000012217 deletion Methods 0.000 description 7
- 230000037430 deletion Effects 0.000 description 7
- 230000006870 function Effects 0.000 description 5
- 238000004364 calculation method Methods 0.000 description 3
- 238000013500 data storage Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 239000013589 supplement Substances 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000003203 everyday effect Effects 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 230000000670 limiting effect Effects 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 239000000047 product Substances 0.000 description 1
- 230000003252 repetitive effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/22—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks comprising specially adapted graphical user interfaces [GUI]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0484—Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
- G06F3/0605—Improving or facilitating administration, e.g. storage management by facilitating the interaction with a user or administrator
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
- G06F3/0632—Configuration or reconfiguration of storage systems by initialisation or re-initialisation of storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/067—Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44505—Configuring for program initiating, e.g. using registry, configuration files
- G06F9/4451—User profiles; Roaming
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
- G06N20/20—Ensemble learning
Definitions
- This application relates to the field of storage technology, and in particular to a method and device for managing the display of a user interface of a storage device.
- management software In the era of cloud computing, it is necessary to store massive amounts of data through single or multiple storage devices.
- users log in to management software to use or manage storage devices.
- management software becomes more and more complex, and the learning and time costs for users to use management software gradually increase.
- the management software usually fixes all the configuration items involved in the menu bar when designing, and the input box in it defaults to empty or fixed default values. Every time a user logs in to the management software, he needs to find the menu he needs in the multiple menus. The user needs to manually enter the cumbersome naming mark every time he creates a resource instance. In addition, the user needs to check the resource instance every time. When configuring parameters for multiple configuration items of, you need to manually enter parameter values. Therefore, there is a need for a more effective solution for displaying the user interface in the storage device management software.
- the embodiments of the present application aim to provide a more effective method for managing the display of a user interface of a storage device, so as to solve the deficiencies in the prior art.
- the present application provides a method for managing the display of a user interface of a storage device, which is executed by a management device that manages the storage device, and is characterized in that the method includes: a configuration displayed through a first user interface The content obtains the configuration data of the storage device configured for the first user; when the first user logs in to the management device, a second user interface corresponding to the first user is displayed, and the second user interface displays according to the The display content determined by the configuration data.
- the user interface is displayed based on the user's historical configuration data, and a customized user interface is provided for the user.
- the user's common menu is displayed in the user interface so that the user does not Find the menu you need in the multiple menus, or the user interface, for example, displays the recommended instance name or recommended parameter value, so that the user does not need to manually enter the name or parameter value, thereby reducing the number of user operations and improving User efficiency of the storage system.
- the configuration content is used to configure the first object
- the obtaining configuration data of the storage device configured for the first user through the configuration content displayed on the first user interface includes: obtaining the first user interface And storing the configuration content to the historical configuration data of the first object; the method further includes: performing statistics on the first object according to the historical configuration data to generate the first object The statistical information; the display content displayed on the second user interface is determined according to the statistical information of the first object.
- the configuration content is the name of an object configured by the configuration content
- the display content is a default name or a recommended name of the object determined according to the configuration content.
- the obtaining configuration data of the storage device configured for the first user through the configuration content displayed on the first user interface includes: obtaining the name of the object configured by the configuration content, and storing the information of the object Name to historical configuration data; the method further includes: collecting statistics on the names of the objects configured by the configuration content, and generating statistical information of the names of the objects configured by the configuration content; and objects configured according to the configuration content
- the statistical information of the name determines the default name or recommended name of the object.
- the recommended name is determined based on the statistical information of the multiple names input by the user history, the calculation amount is small, and the recommendation effect is better, and it is especially suitable for running the management system locally on the storage device, so that the computing resources are limited. Scenes.
- determining the default name or recommended name of the object according to the statistical information of the name of the object configured by the configuration content includes: the statistical information of the name of the object configured according to the configuration content and the The user's current input information determines the default name or recommended name of the object.
- the current input information is, for example, information associated with the object entered by the user, and the information may be, for example, the name of an upper-level object of the object.
- the configuration content is a parameter value of an object configured by the configuration content
- the display content is a default parameter value or a recommended parameter value of the object determined according to the configuration content.
- the obtaining configuration data of the storage device configured for the first user through the configuration content displayed on the first user interface includes: obtaining the parameter value of the object configured by the configuration content, and storing the object
- the method further includes: collecting statistics on the parameter values of the objects configured by the configuration content to generate statistical information of the parameter values of the objects configured by the configuration content; according to the configuration content
- the statistical information of the parameter value of the configured object determines the default parameter value or the recommended parameter value of the object.
- the recommended parameter value is determined based on the statistical information of the multiple parameter values input by the user history, the calculation amount is small, and the recommendation effect is better. It is especially suitable for running the management system locally on the storage device with limited computing resources. Scene.
- the default parameter value or recommended parameter value of the object is determined according to the statistical information of the parameter value of the object configured by the configuration content, and the statistical information of the parameter value of the object configured according to the configuration content Determine the default parameter value or recommended parameter value of the object with the current input information of the user.
- the current input information is, for example, information associated with the object input by the user.
- the information may be, for example, the name of an upper-level object of the object, or the name of an object that may be associated with the object.
- the configuration content is a first menu displayed on the first user interface
- the display content is a second menu displayed on the second user interface determined according to the configuration content .
- the obtaining configuration data of the storage device configured for the first user through the configuration content displayed on the first user interface includes: obtaining access information of the first menu, and storing the access information in the history Configuration data; the method further includes: performing statistics on the historical access frequency of the first menu to generate statistical information of the historical access frequency of the first menu; determining according to the statistical information of the historical access frequency of the first menu A second menu displayed on the second user interface.
- the at least one menu displayed on the system homepage is determined based on the frequency of each of the multiple menus accessed by the user history. The amount of calculation is small, and the recommendation effect is better. It is especially suitable for running the management system locally on the storage device. , So the scenario with limited computing resources.
- the method further includes, after generating the statistical information of the first object, constructing a statistical information tree of the first user based on the statistical information, the statistical information tree including the The node corresponding to the first object, and the statistical information of the first object is stored in the node.
- determining the user interface based on the user's configuration item tree memory storage space can be saved, and the query speed can be accelerated.
- Another aspect of the present application provides a device for managing a user interface display of a storage device.
- the device is deployed on a management device that manages the storage device.
- the configuration content displayed on the interface acquires the configuration data of the storage device configured for the first user; the display unit is configured to display the second user interface corresponding to the first user after the first user logs in to the management device, so The second user interface displays the display content determined according to the configuration data.
- the configuration content is used to configure a first object
- the obtaining unit is further used to: obtain the configuration content of the first user interface, and store the configuration content in the first object.
- Historical configuration data of the object the device further includes: a first generating unit configured to perform statistics on the first object according to the historical configuration data to generate statistical information of the first object; the first determining unit uses For determining the display content displayed on the second user interface according to the statistical information of the first object.
- the configuration content is the name of an object configured by the configuration content
- the display content is a default name or a recommended name of the object determined according to the configuration content.
- the acquiring unit is further configured to: acquire the name of the object configured by the configuration content, and store the name of the object in historical configuration data; the device further includes: a second generating unit, Used to count the names of the objects configured by the configuration content to generate statistical information about the names of the objects configured by the configuration content; the second determining unit, statistics information about the names of the objects configured according to the configuration content Determine the default name or recommended name of the object.
- the configuration content is a parameter value of an object configured by the configuration content
- the display content is a default parameter value or a recommended parameter value of the object determined according to the configuration content.
- the obtaining unit is further configured to: obtain the parameter value of the object configured by the configuration content, and store the parameter value of the object in historical configuration data; the device further includes: a third generation Unit, configured to count the parameter values of the objects configured by the configuration content, and generate statistical information of the parameter values of the objects configured by the configuration content; the third determining unit, configured according to the configuration content The statistical information of the parameter value of the object determines the default parameter value or the recommended parameter value of the object.
- the configuration content is a first menu displayed on the first user interface
- the display content is a second menu displayed on the second user interface determined according to the configuration content .
- the acquiring unit is further configured to: acquire access information of the first menu, and store the access information in historical configuration data;
- the device further includes: a fourth generating unit, configured to The historical access frequency of the first menu is counted, and statistical information of the historical access frequency of the first menu is generated;
- the fourth determining unit is configured to determine and display the historical access frequency of the first menu according to the statistical information of the first menu. Describe the second menu of the second user interface.
- the device further includes a construction unit configured to construct a statistical information tree of the first user based on the statistical information after the statistical information of the first object is generated, and the statistical information
- the tree includes a node corresponding to the first object, and the statistical information of the first object is stored in the node.
- Another aspect of the present application provides a computer-readable storage medium on which a computer program or instruction is stored.
- the computer program or instruction is executed in a computer, the computer is caused to execute any of the above-mentioned methods.
- FIG. 1 is a schematic diagram of a storage system 100 provided by an embodiment of the application.
- FIG. 2 is a schematic diagram of the architecture of the management device 12 provided by an embodiment of the application.
- FIG. 3 is a flowchart of a method for displaying a user interface provided by an embodiment of the application
- FIG. 4 is a schematic diagram of a user interface displayed in the user terminal 11;
- Figure 5 shows the user interface when user 1 creates the Lun group
- Fig. 6 is a flowchart of a method for constructing a Trie tree provided by an embodiment of the application
- FIG. 7 shows the Trie tree of user 1 constructed by the tree construction unit 1213;
- Figure 8 is a flowchart of a method for determining a user interface through a menu recommendation model
- FIG. 9 is a schematic diagram of the home page of the storage device management software in the prior art.
- FIG. 10 is a schematic diagram of the home page of the storage device management software provided by an embodiment of the application.
- Figure 11 is a flowchart of a method for determining a user interface through a name recommendation model
- Figure 12 is a schematic diagram of a user interface including recommended instance names
- Figure 13 is a flowchart of a method for determining a user interface through a parameter recommendation model
- Figure 14 is a flowchart of another method for determining a user interface through a parameter recommendation model
- Figure 15 is a schematic diagram of a user interface including recommended parameter values
- Figure 16 is a flowchart of another method for determining a user interface through a name recommendation model
- Figure 17 is a flowchart of another method for determining a user interface through a parameter recommendation model
- FIG. 18 is a display device 1800 for a user interface for managing storage devices according to an embodiment of the application.
- FIG. 1 is a schematic diagram of a storage system 100 provided by an embodiment of the application.
- the system 100 includes multiple user terminals (three user terminals are schematically shown in FIG. 1, including the user terminal 11), a management device 12, and a storage device 13.
- the storage device 13 is schematically shown in FIG.
- the output is a cluster of three devices.
- each user terminal is connected to the management device 12, and the management device 12 is connected to the storage device 13.
- the connection is usually a local area network connection.
- the connection may also be an Internet connection, which is not limited.
- Storage device management software runs in the management device 12 to manage the storage device.
- Each user terminal communicates with the management device 12 through the client of the management software installed therein.
- the user terminal 11 corresponds to the user 1.
- the user 1 wants to use a storage device
- the user 1 connects to the management device 12 in the user terminal 11 through a client installed on the user terminal, and enters the account of the user 1 through the client Password, the entered account password is transmitted to the management device 12 for authentication.
- the user logs in to the management device 12 to perform management operations on the storage device 13.
- the user terminal 11 sends the operation data of the user 1 to the management device 12, and the management device 12 Process operating data to manage or use storage devices.
- the user interface provided by the management device 12 will be displayed in the user terminal 11 through the client, and the user 1 can manage the storage device 13 through the user interface displayed in the user terminal 11.
- the user interface first displays a menu bar for configuring different resource instances of the storage device.
- the menu bar includes, for example, multiple menus (ie, menu buttons) for configuring multiple resource instances, the menu refers to options displayed in the user interface, and the menu is linked to the configuration page of the corresponding resource instance, so that, After the user clicks the menu, the configuration page will be displayed in the user interface.
- the resource instances include, for example, logical unit number (Logical Unit Number, LUN) instances, logical unit number group (Logical Unit Number Group, LUN Group) instances, disk domain (Disk Domain) instances, host (Host) instances, and so on.
- User 1 can configure multiple resource instances through any one of the menus.
- the logical unit number is the number used to mark the logical unit in the storage device, and one logical unit number may correspond to one redundant array of independent disks (RAID), one or more disk partitions, and
- the logical unit number group is used to mark a logical unit group composed of a group of logical units.
- the user terminal 11 will display multiple input boxes for configuring the Lun instance in the user interface, including, for example, the name of the newly created Lun instance Input box, capacity input box, etc.
- the management device 12 provides a customized user interface for the user 1 based on the historical configuration data operated by the user 1. Specifically, taking the first user interface (hereinafter referred to as the "home page") displayed by the user logging in to the management device 12 as an example, the management device 12 may determine that the user interface is relative to the user based on the historical click frequency of each menu on the home page of the user 1. 1 displays at least one menu in the menu bar of the home page, so that when the user 1 opens the home page, he can find the menu he needs conveniently and quickly.
- the home page the first user interface
- the management device 12 may determine that the user interface is relative to the user based on the historical click frequency of each menu on the home page of the user 1. 1 displays at least one menu in the menu bar of the home page, so that when the user 1 opens the home page, he can find the menu he needs conveniently and quickly.
- the management device 12 may determine the recommended instance name of the object based on the instance name of the object (for example, the Lun object) input by the user 1 to the input box in the configuration page corresponding to the menu.
- the recommended instance name can be automatically displayed in the user interface, so that the user 1 does not need to manually input the instance name multiple times, which improves the use efficiency and improves the user experience.
- the management device 12 can also determine the recommended parameter value of the parameter based on the instance parameter value of the object entered in the history of the user 1.
- the recommended parameter value can be automatically displayed in the user interface, so that the user 1 does not need Manual input of parameter values multiple times improves the efficiency of use and improves the user experience.
- the structure of the system 100 shown in FIG. 1 is only illustrative and not restrictive.
- the system 100 may include only one storage device, and multiple user terminals are connected to the storage device through a local area network.
- the management software can be directly run in the storage device without using the management device 12 to manage the storage device.
- the user terminal 11 will directly connect to the storage device to configure the storage device, and the above-mentioned management process performed by the management device 12 will be performed by the storage device, that is, the storage device is also used as Management equipment.
- FIG. 2 is a schematic diagram of the architecture of the management device 12 provided by an embodiment of the application.
- the management device 12 includes a processor 121, a storage medium 122 and a memory 123.
- the storage medium 122 is a persistent storage medium, such as a hard disk drive (HDD) or a solid-state drive (SSD), etc.
- the storage medium 122 stores computer executable program code (not shown), and the program code includes, for example, code modules such as a data acquisition module, a data preprocessing module, a tree construction module, and a model processing module.
- the processor 121 can run the data acquisition module, data preprocessing module, tree construction module, and model processing module, so that the processor 121 includes a data acquisition unit 1211, a data preprocessing unit 1212, a tree construction unit 1213, and a model processing module.
- the processing unit 1214 wherein the model processing unit 1214 includes a menu recommendation model, a name recommendation model, and a parameter recommendation model for recommending users.
- the data acquisition unit 1211, the data preprocessing unit 1212, the tree construction unit 1213, and the model processing unit 1214 can be implemented, for example, by executing corresponding program modules in different processes, or by executing corresponding program modules in the same process sequence. .
- the data acquisition unit 1211 acquires the configuration data of the resource instance by the user 1 (that is, the configuration data submitted by the user on the user interface) Displayed configuration content), and store the configuration data in the historical configuration data pool in the configuration data pool of the user 1, and the historical configuration data pool records the historical configuration data of the user 1 on the storage device 13. Then, the data preprocessing unit 1212 updates the statistical configuration data pool of user 1 in the configuration data pool of user 1 based on the latest historical configuration data of user 1, and the statistical configuration data pool records the statistics based on user 1 on storage device 13 Statistical configuration data generated from historical configuration data.
- the tree construction unit 1213 obtains the statistical configuration data of user 1 from the statistical configuration data pool of user 1, constructs a configuration item tree (for example, a dictionary tree (Trie tree)) of user 1, and stores the configuration item tree in the memory 123
- the configuration item tree includes multiple nodes corresponding to the respective configuration items, and each of the nodes includes statistical information of the corresponding configuration item.
- the model processing unit 1214 can read the configuration item tree of user 1 from the memory 123, based on The statistical information in the node corresponding to the menu configuration item in the configuration item tree is used to obtain the recommended menu relative to user 1 through the menu recommendation model, or based on the statistics in the node corresponding to the instance name configuration item in the configuration item tree Information, obtain the recommended instance name relative to user 1 through the name recommendation model, or obtain the recommended instance parameter relative to user 1 through the parameter recommendation model based on the statistical information in the node corresponding to the instance parameter configuration item in the configuration item tree Value, as the model recommendation result.
- the management device 12 may generate a user interface to be displayed to the user 1 based on the model recommendation result.
- the user interface includes the model recommendation result as display content, and combines
- the user interface generated as described above is sent to the user terminal 11 for display in the user terminal 11.
- the model processing unit 1214 may periodically obtain multiple recommended menus relative to the user 1 based on the information in the configuration item tree through the menu recommendation model, and store the multiple recommended menus in the memory 123 of the recommendation results of the user 1 Therefore, after the user 1 logs in to the management device 12, the management device 12 can directly read the multiple recommended menus from the memory, thereby reducing the response time of the management device 12 to the user terminal 11.
- the management device 12 may restart or shut down due to system failures and other reasons.
- the data acquisition unit 1211 acquires the user’s configuration data and stores it in the historical configuration data pool, the process is more complicated than storing the user’s configuration operation in the operation log. For example, the data acquisition unit 1211 first needs to obtain The configuration operation is determined in multiple operations of the user.
- the data acquisition unit 1211 may not have stored the configuration data of the resource instance of the user 1 before the restart in the historical configuration data pool, and the management device 12
- the configuration data of user 1 on the resource instance before the restart has been stored in the storage medium 122 as an operation log. Therefore, the data acquisition unit 1211 can periodically read the operation log in the storage medium 122 to supplement the historical configuration data of the user 1 that cannot be stored in the historical configuration data pool in the configuration data pool of the user 1.
- the operation log is used to record all historical operation data of each user.
- the historical operation data also includes other operation data.
- the data acquisition unit 1211 may search the operation log for the creation, modification, and deletion operations of the resource instance by the user 1 by using the user 1 identification, resource instance, and request type as keywords in the user operation log, for example. After reading the operation log of the user 1 each time, the data obtaining unit 1211 supplements the historical configuration data in the configuration data pool of the user 1 based on the read operation log data.
- the data acquisition unit 1211 can acquire the delete operation, and delete the resource instance deleted by user 1 from the historical configuration data pool in the configuration data pool of user 1
- the data preprocessing unit 1212 updates the statistical configuration data pool of the user 1 based on the deletion
- the tree construction unit 1213 updates the configuration item tree of the user 1 accordingly.
- the data acquisition unit 1211 deletes the aforementioned data in the historical configuration data pool of the user 1 to ensure that the data in the historical configuration data pool of the user 1 is the configuration data with newer time, so that a more accurate recommendation result can be provided to the user 1.
- the data acquisition unit 1211 when the data acquisition unit 1211 periodically reads the operation log of user 1, it can also read the deletion operation of user 1 on the resource instance, and determine whether the data of the resource instance has been deleted in the historical configuration data pool of user 1 , If not, delete it.
- the management device 12 is connected to multiple user terminals, that is, the management The device 12 will receive operation data of multiple users. Therefore, the storage medium 122 of the management device 12 is also provided with configuration data pools of other users (for example, user 2).
- the management device 12 receives the configuration data of user 2, for example, in the management device 12, the configuration data pool of user 2 will be updated through the processor 121, and the configuration item tree of user 2 will be updated in the memory 123 accordingly.
- the processor 121 can use the tree construction unit 1213 to quickly construct the configuration item tree of user 1 based on the statistical configuration data pool of user 1 in the configuration data pool of user 1 , And store the configuration item tree in the memory 123.
- the processor 121 may not include the tree construction unit 1213.
- the data preprocessing unit 1212 can store the statistical configuration data of the user 1 in the memory 123 for the model processing unit 1214 The recommendation result relative to user 1 is determined based on the statistical configuration data.
- FIG. 3 is a flowchart of a method for displaying a user interface provided by an embodiment of the application, and the method is executed by the management device 12. As shown in Fig. 3, the method includes the following steps S302-S304.
- step S302 after the user 1 configures the storage device 13 on the user interface, the historical configuration data of the user 1 to the storage device 13 is acquired.
- FIG. 4 shows a schematic diagram of a user interface displayed in the user terminal 11, which includes interface 1-interface 3.
- the interface 1 is, for example, the home page displayed on the user terminal after the user 1 logs in to the management device 12 through the client.
- the interface 1 shows the menu bar of the management software.
- the menu bar includes multiple menus (schematically shown as four in Figure 4): Lun, Lun group, disk domain, and host. Multiple menus are the configuration content used to configure the storage device. Each menu corresponds to a resource object preset in the storage device 13, and the user 1 can configure the resource instance of the corresponding resource object through the corresponding menu.
- interface 2 in Figure 4 is displayed in user terminal 11.
- three options are opened below the Lun menu: create, modify, delete, User 1 can thus manage the Lun resource instance through the three options.
- user 1 clicks the option "Create” in interface 2 so that user terminal 11 displays interface 3 in FIG. 4, and interface 3 shows input boxes that require user input, including name input boxes and capacity input boxes .
- the interface 3 is only illustrative and not restrictive. In practice, when creating a Lun instance, in addition to requiring the user to input the instance name and instance capacity, the user may also need to input many other parameters. Such as encryption passwords, etc., therefore, more input boxes will be displayed in the corresponding configuration interface.
- the user terminal 11 communicates with the management device 12 through, for example, a Representational State Transfer (REST) interface. Specifically, the user terminal 11 sends corresponding instructions and parameters to the management device 12 by invoking a corresponding operation instruction of the REST interface in a specific button of the user interface.
- the REST interface includes the following common operation instructions: POST (create resource instance), PATCH (update resource instance), DELETE (delete resource instance).
- POST create resource instance
- PATCH update resource instance
- DELETE delete resource instance
- the user 1 first clicks the option "Create” in the interface 2, as shown in FIG. 4, the user terminal 11 displays the name input box and the capacity input box in the interface 3.
- the user terminal 11 sends to the management device 12, for example, a creation request including the following structured data: POST/Lun/Lun_A_01/20GB/Session.
- the creation request has, for example, a Json format.
- the interface 3 is an interface for managing the storage device, and the content "Lun_A_01" and "20GB” displayed in the interface 3 is the configuration content for configuring the storage device.
- the management device 12 After receiving the creation request, the management device 12 analyzes the creation request based on a predetermined structure. Among them, “Session” is the HyperText Transfer Protocol (Http) session between the user terminal 11 and the management device 12 when performing this operation, and the management device 12 can determine that the creation request is made by the user 1 based on the session. The user terminal 11 sends out. Therefore, the management device 12 can instruct the storage device 13 to create a Lun instance named Lun_A_01 and a capacity of 20 GB for the user 1 based on the request from the user terminal 11. After the Lun instance is created, the user 1 can use the user terminal 11 to perform operations such as storing data in the Lun instance, reading data from the Lun instance, and so on.
- Http HyperText Transfer Protocol
- Lun_A_01 instance After creating the aforementioned Lun_A_01 instance, for example, user 1 wants to modify the capacity of the instance. Therefore, user 1 clicks on the option "modify" in interface 2, and the user terminal 11 will respond to the click to display a number of Lun instances that have been created. Respectively corresponding options, including, for example, the options corresponding to the created "Lun_A_01" instance. When the user clicks on this option, the user terminal 11 displays, for example, a capacity input box, so that the user 1 can modify the capacity of the "Lun_A_01” instance .
- the user terminal 11 sends to the management device 12 a modification request including, for example, the following structured data: PATCH/Lun/Lun_A_01/30GB/Session.
- the management device 12 instructs the storage device 13 to modify the capacity of the Lun instance named "Lun_A_01" to 30GB.
- the user terminal 11 displays the options corresponding to several created Lun instances based on the click, including, for example, the created Lun instance The option corresponding to the "Lun_A_01" instance.
- the user terminal 11 sends to the management device 12 a delete request including the following structured data, for example: DELETE/Lun/Lun_A_01/Session.
- the management device 12 instructs the storage device 13 to delete the Lun instance named "Lun_A_01".
- the management device 12 when the management device 12 receives each operation data of each user, it numbers each operation data according to the time sequence of the reception. At the same time, the data acquisition unit 1211 determines whether the operation data is one of the above three types of requests. For example, by determining whether the user's operation data includes the keywords "POST", "PATCH” or "DELETE", it can be determined whether the operation data is one of the above three types of requests. In a case where the data obtaining unit 1211 determines that the operation of the user 1 is one of the above three types of requests, the data obtaining unit 1211 updates the historical configuration data pool of the user 1 based on the requested operation.
- the data acquisition unit 1211 stores the instance name, parameters, and the number of the management device for the request included in the request into the historical configuration data of the user 1 In the pool, the number reflects the time sequence in which the management device 12 receives the request.
- the request is the above-mentioned creation request including POST/Lun/Lun_A_01/20GB/Session, and the number of the request is 1, then the data acquisition unit 1211 will add "Lun_A_01" and "20GB” and the request number "1" ”Is stored in user 1’s historical configuration data pool.
- the historical configuration data pool includes, for example, a data table 1 for recording data of Lun instances. As shown in the data table 1, the data acquisition unit 1211 can record "Lun_A_01", “20GB” and the number "1" in the data table. In each field in a row in 1 (for example, row 1).
- the data acquisition unit 1211 stores the modified parameters included in the request and the number of the request into the historical configuration data pool of the user 1. For example, if the request is the above-mentioned modification request including PATCH/Lun/Lun_A_01/30GB/Session, and the request number is 5, the data acquisition unit 1211 will add "30GB" and "5" as shown in the following data table 1. Stored in the second row of the data sheet 1.
- the data acquisition unit 1211 deletes the historical configuration data of the corresponding resource instance in the historical configuration data pool of the user 1. For example, if the request is the aforementioned deletion request including DELETE/Lun/Lun_A_01/Session, the data acquisition unit 1211 may delete the first row and the second row in the data table 1.
- the management device 12 when the management device 12 receives various operation data of each user, it also stores the operation data in the user operation log in the storage medium 122, that is, in the user operation log Various operation data of multiple users are recorded. For example, when the user 1 sends, for example, a creation request including POST/Lun/Lun_A_01/20GB/Session to the management device 12 through the user terminal 11, the management device 12 uses, for example, POST/Lun/Lun_A_01/20GB/UID1/1 as an operation log Stored in the user operation log, where "UID1" is the identification of user 1, and "1" is the request number corresponding to the operation log.
- the management device stores PATCH/Lun/Lun_A_01/30GB/UID1/5 as an operation log in the user, for example. Operation log.
- the management device 12 stores DELETE/Lun/Lun_A_01/UID1/6 as an operation log in the user operation log. .
- the data acquisition unit 1211 may not have stored the request data of the user 1 before the restart in the historical configuration data pool of the user 1. Therefore, the data acquisition unit 1211 except
- the user operation log can also be read regularly to complement the historical configuration data pool of user 1.
- the data acquisition unit 1211 can search the user operation log of user 1 and the above three types in the user operation log of the predetermined time period using "POST and UID1", "PATCH and UID1” and "DELETE and UID1" as keywords. Operation log corresponding to the request type.
- the predetermined time period is, for example, the time period between the last search time and the current search time.
- the searched operation log of user 1 includes POST/Lun/Lun_B_02/30GB/UID1/3, and the data acquisition unit 1211 determines whether the operation is included in the historical configuration data pool of user 1
- the record of the data corresponding to the log that is, it is determined whether the row numbered 3 is included in the aforementioned data table 1. If it exists, it means that the relevant data in the operation log has been recorded in the historical configuration data pool of user 1. If it does not exist, the data acquisition unit 1211 also determines whether the searched user’s request type operation includes a pair name " If the deletion request of the Lun instance of Lun_B_02” is not included, it means that the relevant data in the operation log has been omitted.
- the data acquisition unit 1211 can insert the relevant data of the operation log into the data table 1 according to the number "3" in the operation log POST/Lun/Lun_B_02/30GB/UID1/3.
- the relevant data of the operation log can be inserted between the first row and the second row in the data table 1.
- the searched operation log of user 1 includes POST/Lun/Lun_A_02/30GB/UID1/6, and the data acquisition unit 1211 determines whether related data in the operation log is omitted from user 1 similarly to the above.
- the data acquisition unit 1211 adds a row corresponding to the operation log in the data table 1 similarly to the above. The following shows the data table 1 after inserting the row with the request number 3 and the row with the request number 6.
- the searched operation log of user 1 corresponding to the above three request types includes PATCH/Lun/Lun_A_01/40GB/UID1/7, and the data acquisition unit 1211 determines this operation similarly to the above operation log. Whether the relevant data in the log is missed into the historical configuration data pool of the user 1, if it is determined to be missed, the data acquisition unit 1211 adds a row corresponding to the operation log in the data table 1 similarly to the above. The following shows the data table 1 after inserting a row.
- the searched operation log of user 1 corresponding to the above three request types includes DELETE/Lun/Lun_A_01/UID1/8, and the data acquisition unit 1211 determines that the number in the data table 1 is in the row before 8. Whether to include the row with the object name Lun and the instance name "Lun_A_01", if it exists, the row is omitted to be deleted, therefore, the row is supplementally deleted.
- the above example describes the process of obtaining data by the data obtaining unit 1211 and the content and form of the data stored in the historical configuration data pool by taking the three request operations of the user 1 to the Lun instance as an example, as shown in the interface 1 in Figure 4
- the user can click any menu in the interface 1 to realize the three types of request operations for the corresponding resource instance.
- user 1 creates a Lun group instance by clicking the create option in the menu "Lun Group" in interface 1.
- Figure 5 shows the user interface when user 1 creates a Lun group.
- the interface includes the following input items: Lun group name, Lun number, Lun name, and capacity.
- the number of Lun is the number of Lun instances included in the Lun group.
- user 1 enters 3 in the Lun number input box, and then three groups of Lun name input boxes and capacity input boxes will be displayed on the interface.
- user 1 enters LG_A_01, LG_A_02, and LG_A_03 in the three Lun name input boxes, and enters 30GB in the three capacity input boxes, then the user terminal 11 of user 1 sends to the management device 12, for example, structured data including the following Create request: POST/LG/LG_A_01/3/Lun_A_01/30GB//Lun_A_02/30GB//Lun_A_03/30GB/Session.
- the management device 12 After receiving the creation request, the management device 12 similarly numbers the request. At the same time, the data acquisition unit 1211 updates the historical configuration data pool of the user 1 based on the creation request.
- the historical configuration data pool includes, for example, a data table 2 for recording data of the Lun group instance, so that the data acquisition unit 1211 can record the relevant data of the creation request into a row of the data table 2.
- the data acquisition unit 1211 stores the instance name (ie LG_A_01) included in the modification request, the modified parameters, and the request number. Data sheet 2.
- the data acquisition unit 1211 deletes the data of the LG_A_01 instance in the data table 2.
- the above description of the data content and its recording form recorded in the historical configuration data pool, as well as the data content and its recording form recorded in the user operation log are illustrative and not restrictive.
- user 1’s POST, PATCH, and DELETE request related data and its receiving number (or receiving time) can be recorded, and then user 1’s data in a predetermined period of time can be read regularly.
- User operation log and match the number of each user operation log with the number of each row of data in the predetermined time period in the historical configuration data pool to determine whether there is any missing data in the historical configuration data pool .
- the older records in the historical configuration data pool can be deleted periodically, so that the data in the historical configuration data pool is newer data.
- step S304 the statistical configuration data of the user 1 is generated.
- the statistical configuration data of the user 1 can be generated by the data preprocessing unit 1212 based on the historical configuration data of the user 1.
- the data preprocessing unit 1212 is preset to perform the following three statistical processing: counting the click frequency of the Lun menu as the statistical information of the Lun menu configuration item (the identification of the configuration item is, for example, Lun); The name prefix of the instance name of the instance, its frequency and its latest suffix are used as the statistical information of the name configuration item (the identifier of this configuration item is Lun_nm, for example); the parameter value and frequency of the statistical parameter are used as the parameter configuration item (for example, the identifier is Lun_sz capacity configuration item) statistics.
- the data preprocessing unit 1212 records the statistical results in the statistical configuration data pool in the configuration data pool of the user 1 in FIG. 2 after performing the statistics.
- the statistical configuration data pool is recorded through the data table 3, for example, and the data table 3 includes the statistical information of each configuration item. The following shows some of the configuration items in data table 3 and their statistical information.
- the configuration item Lun corresponds to the Lun menu in the interface 1 shown in FIG. 4, and the statistical information "4" of the configuration item is the access frequency of the Lun menu (that is, the frequency of clicks).
- the data preprocessing unit 1212 can count the number of rows in the data table 1. Each row in the data table 1 corresponds to a creation request or a modification request to the Lun instance, and the user terminal 11 responds to these two The sending of the request corresponds to the user clicking on the Lun menu in the interface 1 in FIG. 4. Therefore, the frequency of clicking the Lun menu can be obtained by counting the number of rows in the data table 1.
- the configuration item Lun_nm corresponds to the name input item in interface 3 in Figure 4.
- each prefix included in the multiple instance names of the Lun instance, its input frequency, and its latest suffix are recorded.
- Lun_A 2
- "Lun_A” is the prefix in the Lun instance name entered by user 1
- "2” is the input frequency of the prefix "Lun_A” in the Lun instance name entered by user 1
- "02” is the prefix " Lun_A” corresponds to the latest suffix.
- the data preprocessing unit 1212 first obtains multiple instance names included in the instance name column of the data table 1, so as to obtain three instance names of Lun, "Lun_A_01", “Lun_A_02” and “Lun_B_02” . Then, the data preprocessing unit 1212 can split each instance name into a prefix and a suffix respectively through a preset word segmentation unit. The splitting is performed based on a word segmentation dictionary preset in the data preprocessing unit 1212, and the word segmentation dictionary may be an open source word segmentation database (such as a jieba word segmentation database) or a custom word segmentation dictionary.
- the word segmentation dictionary may be an open source word segmentation database (such as a jieba word segmentation database) or a custom word segmentation dictionary.
- the management device 12 may update the custom word segmentation dictionary based on the instance name used by the user within a predetermined time period. Specifically, for example, if the word segmentation dictionary includes the participles "Lun_A” and "Lun_B", the data preprocessing unit 1212 can split the "Lun_A_01” into the prefix “Lun_A” and the suffix "01” based on the two participles, and then the "Lun_A_02” “Is split into the prefix “Lun_A” and the suffix "02", and the "Lun_B_02" is split into the prefix "Lun_B” and the suffix "02".
- each prefix and the frequency of each prefix For example, the prefixes "Lun_A” and “Lun_B” can be obtained, and the input frequency of the prefix “Lun_A” is 2, and the prefix “Lun_B” The input frequency of "is 1; finally, the latest suffix corresponding to each prefix is obtained (that is, the suffix of the instance name prefixed with "Lun_A” that user 1 recently entered), that is, the latest suffix of the prefix "Lun_A” can be obtained as "02", The latest suffix of the prefix "Lun_B” is "02".
- the configuration item Lun_sz corresponds to the capacity input item in interface 3 in Figure 4.
- each capacity and input frequency of multiple Lun instances are recorded.
- "20,1" means that the user has configured a Lun instance with a capacity of 20GB.
- the data preprocessing unit 1212 first obtains each capacity value in the capacity column of the data table 1, for example, 20GB, 30GB, 30GB, 30GB can be obtained; One capacity value and respective input frequency, so that two non-repetitive capacity values and respective input frequencies can be obtained: 20,1; 30,3.
- the data acquisition unit 1211 may notify the data preprocessing unit 1212 of the update of the historical configuration data pool after each update of the historical configuration data pool, so that the data preprocessing unit 1212 can perform statistics and update the statistical configuration data pool accordingly. For example, when the data acquisition unit 1211 inserts the fifth row in the data table 1 as described above, the data acquisition unit 1211 will notify the data preprocessing unit 1211 of the insertion of the fifth row, and the data preprocessing unit 1211 will insert the fifth row according to the inserted row 5. The specific content of the data sheet 3 is updated.
- the data preprocessing unit 1212 adds 1 to the frequency of Lun in the data table 3; due to the capacity of the fifth row of the data table 1 It is 40GB, that is, a capacity value is added to the capacity column. Therefore, the data preprocessing unit 1212 adds "40,1" to the statistical information of Lun_sz in the data table 3.
- the following shows some of the configuration items and their statistical information in the data table 3 after the above update.
- This data table 3 is different from the previous data table 3 in that the statistical information of the Lun_nm configuration item also includes "Lun_A,02", and the Lun_sz configuration item also includes "40", where "Lun_A” is the most recent input by user 1.
- the prefix of the Lun instance name, "02" is the suffix of the instance name recently entered by user 1
- "40” is the capacity of the Lun instance recently entered by user 1.
- Relevant information can be used to recommend the Lun instance name in the future.
- By including the latest capacity of the Lun instance in the statistical information of the Lun_sz configuration item it can be used to recommend the capacity of the Lun instance in the future.
- the data preprocessing unit 1212 is preset to perform the following statistical processing: count the click frequency of the Lun group menu as the statistical information of the Lun group menu configuration item (its identification is for example Lun_g);
- the multiple instance names of the Lun group instance are divided into words, and the name prefix of the multiple instance names of the Lun group instance, its frequency and its latest suffix, the prefix and suffix of the latest instance name are counted as the Lun group instance name configuration item (its identification For example, it is the statistical information of Lun_g_nm); for the Lun number configuration item of the Lun group instance (the identifier is for example Lun_g_num), count the number of each Lun corresponding to the name prefix of each Lun group instance and its frequency; for the Lun group instance at least The Lun instance name configuration items of two Lun instances (the identifier is for example Lun_g_Lunnm), which counts each Lun name prefix, its frequency, and the latest suffix corresponding to each Lun
- the data preprocessing unit 1212 can determine the click of the Lun group menu by counting the number of rows in the data table 3. frequency.
- the configuration item Lun_g_nm corresponds to the Lun group name input item in Figure 5.
- Its statistical information includes: each prefix included in the name of each Lun group instance, its frequency and latest suffix, and the prefix and suffix of the latest Lun group instance name, for example, for Among them, LG_A, 3, 03, where LG_A is a prefix included in the name of each Lun group instance, “3” is the frequency at which the prefix LG_A is entered, and “03” is the latest suffix corresponding to the prefix LG_A, and the last “ LG_B,01” is the prefix and suffix of the Lun group instance name recently entered by user 1.
- the configuration item Lun_g_num corresponds to the Lun number input item in Figure 5, and its statistical information includes the statistics respectively relative to the prefix of each Lun group name.
- the statistical information for the prefix LG_A is LG_A, 3, 2; 2, 1, where , "3,2" means that the value 3 has been entered twice, and "2,1" means that the data 2 has been entered once.
- the configuration item Lun_g_Lunnm corresponds to the Lun name input item in Figure 5, and its statistical information also includes the statistics respectively relative to the prefix of each Lun group name.
- the statistical information for the prefix LG_A is LG_A, Lun_A, 6, 06; Lun_B ,2,02, where "Lun_A,6,06" means that in the Lun instance with the prefix LG_A, the Lun instance with the prefix Lun_A has appeared 6 times, and the latest suffix corresponding to the prefix Lun_A is 06.
- the configuration item Lun_g_Lunsz corresponds to the Lun capacity input item in Figure 5, and its statistical information also includes the statistics respectively relative to the prefix of each Lun group name.
- the statistical information for the prefix LG_A is LG_A,30,6;20,2 ; 40,1, where "30,6” means that the capacity value 30 has been entered 6 times, “20,2” means that the capacity value 20 has been entered twice, and “40,1" means that the capacity value 40 has been entered 1 Second-rate.
- the statistical configuration data of user 1 as shown in data table 3 is acquired by the data preprocessing unit 1212 above.
- the embodiment of the present application is not limited to this.
- the data The preprocessing unit 1212 obtains each instance name of the Lun instance from the data table 1, and records it in the statistical information corresponding to Lun_nm in the data table 3 in the order of the request number in the data table 1.
- the data preprocessing unit 1212 obtains each capacity value of the Lun instance from the data table 1, and records it in the statistical information corresponding to Lun_sz in the data table 3 in the order of the request number of the data table 1. That is to say, in this embodiment, only the name of each instance and the value of each capacity are recorded sequentially, without further processing, such as word segmentation, statistical frequency, etc., which can be subsequently performed in the recommendation model.
- step S306 a configuration item tree of user 1 is constructed.
- the tree construction unit 1213 can construct the configuration item tree of user 1 based on the statistical configuration data of user 1.
- the data preprocessing unit 1212 may notify the tree construction unit 1213 to update the configuration item tree (for example, Trie tree) after each update of the statistical configuration data pool (for example, data table 3).
- the data preprocessing unit 1212 can send the data updated in the data table 3 to the tree construction unit 1213, so that the tree construction unit 1213 can perform corresponding updates in the existing Trie tree.
- the Trie tree is also called a word search tree. Its root node does not contain characters, and each node except the root node contains at least one character. The splicing characters of the characters of each node on the path from the root node to a node correspond to the node.
- the Trie tree organizes multiple strings through a tree structure, so that each string with a common prefix is located in a subtree of the Trie tree. In this way, the amount of data storage is reduced, and the data query time is also reduced. .
- Fig. 6 is a flowchart of a method for constructing a Trie tree provided by an embodiment of the application.
- the tree construction unit 1213 may start to execute the method shown in FIG. 6 after receiving the notification from the data preprocessing unit 1212.
- the tree construction unit 1213 is not limited to start executing the method shown in FIG. 6 after receiving the notification of the data preprocessing unit 1212.
- the tree construction unit 1213 may be activated or executed on the management device 12 After restarting, or after the Trie tree of user 1 in the memory is lost, the method shown in FIG. 6 is executed.
- step S61 it is determined whether this construction is an initial construction.
- the tree construction unit 1213 may determine whether this construction is the initial construction by determining whether the Trie tree of the user 1 is stored in the memory.
- the tree construction unit 1213 constructs a Trie tree based on the data table 3 in the configuration data pool of the user 1. For example, when initially constructing the Trie tree, the tree construction unit 1213 constructs a Lun node as a child node under the root node of the Trie tree based on the data table 3. The Lun node corresponds to the Lun configuration item in the data table 3, and Build sub-nodes under the Lun node: _nm node and _sz node, which correspond to the Lun_nm configuration items and Lun_sz configuration items in the data table 3 respectively, and then record the statistical information of its configuration items in each sub-node.
- step S63 in the case where it is determined that this build is not the initial build, that is, when it is determined that the Trie tree of user 1 has been stored in the memory, the tree construction unit 1213 is based on the update of the data table 3 by the data preprocessing unit 1212 Data to determine whether a new configuration item is added to the updated data.
- step S64 the tree construction unit 1213 updates the node information in the Trie tree, that is, updates the deposit information of the Lun node and the _sz node therein.
- this construction is performed after the data preprocessing unit 1212 adds multiple new configuration items to the data table 3. Therefore, in step S65, the tree construction unit 1213 inserts a new node corresponding to the added multiple new configuration items into the Trie tree, and stores the statistical information of the corresponding configuration items in the new node.
- FIG. 7 shows the Trie tree of user 1 constructed by the tree construction unit 1213.
- the Trie tree shown in Figure 7 corresponds to Data Table 3.
- three root nodes are schematically shown under the root node, namely, the DD node, the Ho node, and the Lun node.
- the DD node corresponds to the disk domain menu configuration item
- the Ho node corresponds to the host menu configuration item.
- the subtrees under the DD node and the Ho node are not shown in FIG. 7.
- the Lun node corresponds to the configuration item Lun in data table 3, and the Lun node includes 3 sub-nodes, _g node, _nm node, and _sz node, which correspond to the configuration items Lun_g, Lun_nm, and Lun_sz in data table 3, respectively .
- the _g node includes 3 sub-nodes, _Lun node, _nm node and _num node.
- the _nm node and _num node under the _g node correspond to the configuration items Lun_g_nm and Lun_g_num in the data table 3 respectively
- the _Lun under the _g node The node includes two sub-nodes, nm node and sz node, which correspond to the configuration items Lun_g_Lunnm and Lun_g_Lunsz in data table 3 respectively.
- the statistical information of the corresponding configuration items is stored in the nodes corresponding to the configuration items in the data table 3.
- the dashed box schematically shows the Lun node, the _nm node, and the _nm node.
- the statistical information of the three nodes of the sz node is the statistical information of the Lun configuration item in the data table 3
- the statistical information of the _nm node is the statistical information of the Lun_nm configuration item in the data table 3
- the statistics of the _sz node The statistical information is the statistical information of the Lun_sz configuration item in the data table 3.
- the total amount of data can be greatly reduced compared to the data record form in tabular form.
- the Trie tree arranges the sub-nodes in alphabetical order, it is easy to find and speed up the data query.
- the tree construction unit 1213 stores the Trie tree in the memory 123 after constructing or updating the Trie tree of user 1, so that the subsequent model processing unit 1214 can read the Trie tree more quickly Data, thereby further speeding up the processing speed.
- configuration item tree in the form of the Trie tree shown in FIG. 7 is only illustrative and not restrictive.
- the configuration item tree in the embodiment of the present application may have other tree structures, as long as the tree structure can function. To reduce the amount of data storage and speed up data query speed.
- step S308 the user interface of user 1 is determined.
- the model processing unit 1214 can perform model processing based on the configuration statistical data in the configuration item tree obtained in step S306 to determine the user interface of the user 1.
- the model processing unit 1214 includes a menu recommendation model, a name recommendation model, and a parameter recommendation model.
- the home page includes a menu corresponding to the menu configuration item, and other configuration interfaces include a name input box corresponding to the name configuration item And the parameter input box corresponding to the parameter configuration item (for example, the capacity configuration item).
- the management device 12 can use the menu recommendation model in the model processing unit 1214 to determine the multiple menus displayed on the home page based on the Trie tree of the user 1 in the memory, and the user terminal 11 can use the menu recommendation model
- the determined homepage is displayed, and the process will be described below with reference to Figs. 8-10.
- the management device 12 can use the name recommendation model in the model processing unit 1214 to determine at least one name recommended to the user based on the Trie tree of the user 1 in the memory, and the user terminal 11 can At least one recommended name is displayed for the user to select. This process will be described below with reference to 11 and FIG. 12.
- the management device 12 can determine at least one parameter value recommended to the user based on the Trie tree of the user 1 in the memory through the parameter recommendation model in the model processing unit 1214, and the user terminal can use the parameter recommendation model in the model processing unit 1214 to determine at least one parameter value recommended to the user. At least one recommended parameter value is displayed for the user to select.
- the model processing unit 1214 may also determine at least one recommended parameter value corresponding to the parameter input box based on the instance name currently input by the user and the information in the Trie tree of the user 1. This process will be described below with reference to the figure 14 and Figure 15 are described in detail.
- the model processing unit 1214 may determine the recommended name and recommended parameters of the lower instance based on the name of the upper instance currently input by the user and the information in the Trie tree of user 1 Value, the process will be described in detail below with reference to Figs. 16 and 17 respectively.
- the foregoing process of determining the user interface is only exemplary, and not restrictive.
- the process of determining the user interface provided in the embodiment of the present application is not limited to the foregoing process.
- the user interface may not be
- the historical configuration data of user 1 can be preprocessed, and the historical configuration data of user 1 can be directly input into a pre-trained or preset recommendation model to determine the user interface, and so on. That is to say, in the method for determining the user interface provided by the embodiment of the present application, after obtaining the historical configuration data pool of user 1, the user characteristics of user 1 are obtained based on the historical configuration data of user 1, so that the user characteristics of user 1 can be obtained based on user 1.
- the feature determines the user interface corresponding to user 1, that is, provides a customized user interface for user 1.
- Fig. 8 is a flowchart of a method for determining a user interface through a menu recommendation model.
- the menus included in the home page displayed for user 1 are determined based on the Trie tree of user 1 through the menu recommendation model, that is, common menus are recommended for user 1 through the menu recommendation model. It can be understood that when user 1 logs in to the management device 12 for the first time, the historical configuration data of user 1 has not been recorded in the management device 12, and the Trie tree of user 1 is not stored in the memory. Therefore, the menu recommendation model cannot be used to User 1 recommends frequently used menus, and in this case, it is displayed in a default manner on the home page.
- the method includes the following steps S81-S82.
- step S81 the access frequency information of each menu configuration item is read from the Trie tree of the user 1.
- This step is performed by, for example, the model processing unit 1214 in FIG. 2.
- the model processing unit 1214 may execute the step S81 and the subsequent step S82 at predetermined time intervals, so as to periodically determine the home page displayed to the user 1 and store it in the memory, so that the management device 12 can respond to the user 1
- the login directly obtains the home page used for displaying to the user 1 from the memory, and sends the determined home page to the user terminal 11 so that the user terminal 11 can display the home page to the user 1.
- the model processing unit 1214 may execute step S81 and step S82 at a predetermined time every day to determine the home page to be displayed to the user 1 on the next day.
- the model processing unit 1214 may predetermine the home page displayed to the user 1 through the menu recommendation model every time the tree construction unit 1213 constructs or updates the Trie tree of the user 1, and stores it in the memory, thereby managing
- the device 12 may directly obtain the home page for displaying to the user 1 from the memory when the user 1 logs in, and send the determined home page to the user terminal 11 for the user terminal 11 to display the home page to the user 1.
- the user is recommended through the menu recommendation model in the model processing unit 1214.
- the model processing unit 1214 in the management device 12 starts to run to determine the home page to be displayed to the user 1 through the menu recommendation model.
- the management device 12 sends the determined home page to the user terminal 11 so that the user terminal 11 can display the home page to the user 1.
- the leaf nodes correspond to the instance name configuration items or the instance parameter configuration items
- the menu configuration items (such as the Lun menu, the Lun group menu) are usually the same as those of non-leaf nodes.
- the model processing unit 1214 reads each non-leaf node in the Trie tree, so that the node corresponding to the menu configuration item included therein can be read, and the access frequency of the corresponding menu configuration item can be read from the node.
- the menu recommendation model has, for example, the respective identifications of multiple menu configuration items in the management device 12 preset, and the user 1’s Trie tree is queried based on the identification of each menu configuration item.
- the node corresponding to the menu configuration item can be found in the tree, so that the statistical information of the node location can be read, that is, access frequency information. If the node corresponding to the menu configuration item cannot be found in the Trie tree, it means that user 1 is not Have visited this menu configuration item.
- the node corresponding to a specific character string is searched in the Trie tree through the following steps: searching for the first node that includes at least one character before the character string from the child nodes of the root node, and then from the child nodes of the first node
- the node searches for the second node including at least one subsequent character in the character string, and repeats the process until the nth node n including the last character of the character string is found, the first node, the second node 2, ... the nth node
- the characters included in each are joined together to form the character string, and thus, the nth node is the node corresponding to the character string.
- the Lun menu configuration item when querying the Lun menu configuration item, assuming that the Lun menu configuration item is identified as Lun, the letter "l" can be searched under the root node first, because the child nodes under the root node are sorted in alphabetical order Therefore, the Lun node under the root node can be easily and quickly found as the node corresponding to the Lun menu configuration item, so that the information "10" in the node can be read as the access frequency of the Lun menu configuration item.
- Lun group menu configuration item When querying the Lun group menu configuration item, suppose the identifier of the Lun group menu configuration item is Lun_g, so that the character "_" can be found under the above Lun node, so that the Lun group menu configuration item can be read at the _g node Frequency of visits.
- step S82 based on the access frequency information of each menu configuration item, multiple configuration items displayed on the home page are determined.
- the number of preset multiple menu configuration items in the management device 12 may reach thousands, and only a few of the multiple menu configuration items may be menu configuration items frequently accessed by the user 1. Therefore, after obtaining user 1 access frequency information for various menu configuration items, the menu configuration items with higher access frequency can be displayed on the home page as common menus, and the menu configuration items with lower access frequency can be displayed as hidden menus instead of on the home page. To display in.
- the tanh function can be used in the menu recommendation model to normalize each access frequency, thereby converting each access frequency to a value between 0 and 1. value.
- the menu recommendation model determines whether the normalized value of the access frequency of each menu configuration item is greater than ⁇ , and if it is greater than ⁇ , the menu configuration item It is determined as a common menu displayed on the home page. If it is less than or equal to ⁇ , the menu configuration item is determined as a hidden menu that is not displayed on the home page.
- a predetermined number for example, 20 frequently used menus may be displayed on the home page in the menu recommendation model. Therefore, after obtaining the access frequency of each menu configuration item, the menu recommendation model is used to sort the menu configuration items based on the access frequency of each menu configuration item, and the top 20 menu configuration items with access frequency are determined as Commonly used menu configuration items displayed on the home page, the menu configuration items that are accessed after the 20th place are determined as hidden menus that are not displayed on the home page.
- a percentage (for example, 50%) can be preset in the menu recommendation model. Therefore, after obtaining the access frequency of each menu configuration item, the menu recommendation model is used to sort the menu configuration items based on the access frequency of each menu configuration item, and the menu configuration items ranked in the top 50% of the access frequency are determined as For common menu configuration items displayed on the home page, the menu configuration items with the lower 50% access frequency are determined as hidden menus that are not displayed on the home page.
- FIG. 9 is a schematic diagram of the home page of the storage device management software in the prior art.
- the home page shown in Figure 9 becomes a user configuration interface for configuring the storage device after being clicked and submitted by the user.
- the management device can obtain the configuration data of the storage device configured for the user based on the configuration content shown in FIG. 9 and the user's click on the menu therein, and the configuration object of the configuration data is the The menu configuration item corresponding to the clicked menu.
- FIG. 10 is a schematic diagram of the home page of the storage device management software provided by an embodiment of the application.
- the home page shown in FIG. 10 is a user interface determined based on the configuration data obtained through the user interface shown in FIG.
- the menu of is determined based on the access frequency of each menu, that is, the menu shown in FIG. 10 is the display content determined based on the configuration data obtained through the configuration content shown in FIG. 9 to display frequently used menus to the user.
- the home page in the prior art shown in FIG. 9 includes a large number of menu bars and menus, and it is difficult for the user 1 to quickly find the menu that he wants to access among so many menus.
- the homepage provided by the embodiment of the application shown in FIG. 10 only the frequently used menus of user 1 are displayed, and the menus that are not frequently used by user 1 are not displayed, and these infrequently used menus are moved into the hidden menu corresponding to the "more" button. In this way, the user 1 can quickly find the menu that he wants to access on the homepage, which greatly saves operation time and improves the user experience.
- Fig. 11 is a flowchart of a method for determining a user interface through a name recommendation model. The method is executed by the management device 12. In the process of the method, at least one recommended instance name corresponding to the specific instance name configuration item displayed to the user 1 is determined based on the Trie tree of the user 1 through the name recommendation model.
- the method includes the following steps S111-S112.
- step S111 the statistical information of the specific instance name configuration item is read from the Trie tree of the user 1.
- the user terminal 11 sends a request to the management device 12 to display an interface for configuring the Lun instance.
- the model processing unit 1214 in the management device 12 starts to operate to determine the recommended instance name for the Lun instance shown to the user 1 in the name input box through the name recommendation model.
- the name input box corresponds to the configuration item Lun_nm.
- the model processing unit 1214 can query the node corresponding to the configuration item Lun_nm in the Trie tree of the user 1 (that is, the child node of the Lun node, the _nm node ), and read the statistical information of the configuration item Lun_nm stored in the node.
- step S112 at least one recommended instance name is determined based on the statistical information of the specific instance name configuration item.
- the model processing unit 1214 obtains the statistical information of the configuration item Lun_nm "Lun_B,4,05; Lun_A,3,03; Lun_C,1,01/Lun_C,01" from the Trie tree in FIG.
- the data structure analyzes the statistical information, and it can be learned that the meaning of the statistical information is: among the multiple Lun instance names that user 1 has entered, including 4 uses of the prefix Lun_B, including 3 uses of the prefix Lun_A, and The latest suffix of the prefix Lun_A is 03, the latest suffix of the prefix Lun_B is 05, and the Lun instance name that user 1 recently entered has the prefix Lun_C and the suffix 01.
- the model processing unit 1214 is preset to determine three recommended instance names, and the model processing unit 1214 can sort each prefix based on the frequency of each prefix, and obtain the two prefixes ranked in the first two digits to form the prefix of the recommended instance name For example, the two prefixes ranked in the first two digits are Lun_B, Lun_A, and Lun_B is ranked before Lun_A. Then, the model processing unit 1214 determines the suffix in the recommended instance name based on the latest suffix of each prefix.
- the latest suffix of the prefix Lun_B is "05", so that it can be determined that the suffix of the recommended instance name prefixed by Lun_B is the pair "05" Add 1 to the number, which is "06", so that the recommended instance name can be determined as Lun_B_06.
- the recommended instance name can be determined to be Lun_A_04.
- the recommended instance name may also be determined based on the prefix and suffix of the Lun instance name recently input by the user 1. For example, if the prefix of the Lun instance name input by user 1 is Lun_C and the suffix is 01, it can be determined that the Lun instance name of the recommended instance name is Lun_C_02.
- the three names can be sorted based on predetermined rules. For example, it can be considered that the Lun instance name entered by the user most recently has the greatest influence on the Lun instance name that the user wishes to enter the next time the user creates the Lun instance. It is hoped that the input Lun instance name has more influence. Therefore, the above three Lun instance names can be sorted as: Lun_C_02>Lun_B_06>Lun_A_04.
- the model processing unit 1214 may send the three recommended Lun instance names in the above order to the user terminal 11, so that the user terminal 11 may sequentially display the three Lun instance names in the position of the Lun instance name input box in the user interface. Recommend the name of the Lun instance to make recommendations to user 1.
- the statistical information of the Lun_nm configuration items obtained by the data preprocessing unit 1212 is the name of each Lun instance arranged in the order of the request number, that is, the name of each Lun instance is compared with the one in the Trie tree of user 1
- the statistical information corresponding to the Lun_nm node is the name of each Lun instance arranged in the above order.
- a word segmentation dictionary is also preset in the name recommendation model. After reading the statistical information of the Lun_nm configuration item from the Tire tree, the model processing unit 1214 separates each instance name based on the word segmentation dictionary through the name recommendation model.
- each prefix the frequency of each prefix, the latest suffix corresponding to each prefix, and the prefix and suffix of the latest instance name, so as to obtain the statistical information of the Lun_nm configuration item in the data table 3.
- at least one recommended instance name of the Lun instance can be determined based on the newly acquired statistical information of the Lun_nm configuration item as described above.
- Figure 12 is a schematic diagram of the user interface including the recommended instance name. As shown in Figure 12, when the user terminal 11 displays the user interface including the Lun instance name input box to the user 1, the recommended name Lun_C_02 is automatically filled in the Lun instance name input box position in the interface, and the input box The recommended names Lun_B_06 and Lun_A_04 are sequentially displayed in the drop-down menu of.
- the "Lun_C_02", “Lun_B_06” and “Lun_A_04" in the user interface shown in Figure 12 are determined based on the statistical information of the objects they configure (namely the configuration items in the interface 3), that is, “Lun_C_02", “Lun_C_02” and “Lun_A_04" "Lun_B_06” and “Lun_A_04” are display content determined based on the configuration content in the interface 3 in FIG. 4, and are used to recommend instance names to users. Therefore, the user 1 can complete the input of the name input box by clicking one of the three recommended names. Compared with the manual input of the instance name by the user 1, the user operation time is saved and the user experience is improved.
- Fig. 13 is a flowchart of a method for determining a user interface through a parameter recommendation model. The method is executed by the management device 12. In the process of the method, at least one recommended parameter value corresponding to the specific instance parameter configuration item displayed to the user 1 is determined based on the Trie tree of the user 1 through the parameter recommendation model.
- the method includes the following steps S131-S132.
- step S131 the statistical information of the specific instance parameter configuration item is read from the Trie tree of the user 1.
- the user terminal 11 sends a request to the management device 12 to display an interface for configuring the Lun instance.
- the model processing unit 1214 in the management device 12 starts to operate to determine the recommended capacity value for the Lun instance shown to the user 1 in the capacity input box through the parameter recommendation model.
- the capacity input box corresponds to the configuration item Lun_sz.
- the model processing unit 1214 can query the node corresponding to the configuration item Lun_sz (that is, the _sz node) in the Trie tree of the user 1, and read Statistics information of the configuration item Lun_sz stored in this node.
- step S132 at least one recommended parameter value is determined based on the statistical information of the specific instance parameter configuration item.
- the model processing unit 1214 analyzes the statistical information based on a predetermined data structure .
- the meaning of the statistical information can be known as: among the multiple Lun instance capacities that user 1 has input, including 5 inputs for 30GB, 3 inputs for 20GB, 2 inputs for 40GB, and user 1’s latest input
- the capacity of the Lun instance is 40GB.
- the model processing unit 1214 is preset to determine three recommended capacity values, and the model processing unit 1214 can sort each capacity value based on the frequency of each capacity value, and obtain the two capacity values ranked in the first two digits as the recommended capacity value. That is, 30GB, 20GB, where the input frequency of 30GB is higher than the input frequency of 20GB.
- the model processing unit 1214 may also determine the recommended capacity value based on the Lun instance capacity value recently input by the user 1, that is, 40 GB. Then, similar to the above recommended instance names, the model processing unit 1214 may sort the determined three recommended capacity values based on a predetermined rule, for example, they may be sorted as 40GB>30GB>20GB. After determining the ranked three recommended capacity values, the management device 12 may send the ranked three recommended capacity values to the user terminal 11.
- the statistical information of the Lun_sz configuration item obtained by the data preprocessing unit 1212 is the capacity value of each Lun instance arranged in the order of the request number, that is, in the Trie tree of user 1
- the statistical information corresponding to the _sz node is the capacity value of each Lun instance arranged in the above order.
- the model processing unit 1214 reads the statistical information of the Lun_sz configuration item from the Tire tree, it uses the parameter recommendation model to count the non-repeated capacity values and their frequencies in the capacity values of each Lun instance, thereby obtaining data table 3.
- the model processing unit 1214 can send the three recommended Lun instance capacity values sorted above to the user terminal 11, so that the user terminal 11 can sequentially display the three Lun instance capacity values in the Lun instance capacity input box position in the user interface.
- a recommended capacity value to recommend to user 1. As shown in Figure 12, when the user terminal 11 displays the interface, it automatically enters "40GB" in the capacity input box according to the above determination result. When the user 1 points the mouse to the input box, enter the name in the interface Similar to the box, 30GB and 20GB will be displayed sequentially in the drop-down menu of the input box for the user to choose.
- the "40GB” displayed in Figure 12 or the "30GB” and "20GB” displayed in the drop-down menu are determined based on the statistical information of the objects they are configured (ie the capacity configuration items in Figure 12), which is based on Figure 4
- the display content determined by the configuration content "20GB" in the interface 3 is used to recommend the capacity value to the user.
- user 1 can complete the input of the capacity input box by clicking one of the three recommended capacity values, compared to user 1. Manually fill in the capacity value, which saves the user's operating time and improves the user's experience.
- Fig. 14 is a flowchart of another method for determining a user interface through a parameter recommendation model. The method is executed by the management device 12. In the process of the method, the parameter recommendation model determines the recommended parameter value displayed to the user 1 in the parameter input box based on the Trie tree of the user 1 and the instance name corresponding to the parameter input box.
- the method includes the following steps S141-S143.
- step S141 the instance name corresponding to the parameter input box is obtained.
- the parameter input box is, for example, the Lun number input box in the user interface for creating the Lun group instance as shown in FIG. 5.
- the user 1 After the user terminal 11 displays the user interface, the user 1 first enters the Lun group name Enter the instance name in the input box (or select the instance name from at least one of the recommended instance names). After the user 1 inputs the instance name, the user terminal 11 sends the instance name to the management device 12 so that the management device 12 can obtain the instance name input by the user 1.
- the parameter input box is, for example, the Lun number input box in the interface for modifying the parameters of the Lun group instance.
- the management device 12 can download the parameter Obtain the instance name corresponding to the Lun number input box in the request.
- step S142 the statistical information of the parameter configuration item is read from the Trie tree of the user 1.
- the model processing unit 1214 in the management device 12 starts to run to determine the parameter recommendation model for displaying to the user 1 in the Lun number input box.
- the Lun number input box corresponds to the configuration item Lun_g_num.
- the model processing unit 1214 can query the node corresponding to the configuration item Lun_g_num (ie _num node) in the Trie tree of the user 1, and read Get the statistical information of the configuration item Lun_g_num stored in the node.
- the statistical information is LG_A,3,2;2,1/LG_B,3,1 as shown in data table 3, for example.
- step S143 the recommended parameter value is determined based on the instance name corresponding to the parameter input box and the statistical information of the parameter configuration item.
- the model processing unit 1214 obtains the statistical information "LG_A, 3, 2; 2, 1/LG_B, 3, 1" of the configuration item Lun_g_num from the Trie tree in FIG.
- the meaning of the statistical information can be known as: among the multiple lun numbers included in the multiple lun group instance whose name prefix is LG_A that user 1 has entered, including two inputs for "3", and two inputs for "2"
- the statistical information for the configuration item Lun_g_num includes statistical information for different Lun group instance name prefixes.
- the model processing unit 1214 may recommend the Lun number relative to the prefix included in the Lun group instance name corresponding to the Lun number input box. For example, user 1 has entered the Lun group name LG_A_01 in the interface shown in FIG. 5.
- the model processing unit 1214 determines that the prefix included in the name is "LG_A”, and then the model processing unit 1214 Find the statistical information corresponding to "LG_A” in the statistical information of Lun_g_num, that is, "LG_A, 3, 2; 2, 1", so that the number of Luns with the highest frequency (that is, 3) can be determined as the recommended number of Luns.
- Figure 15 is a schematic diagram of a user interface including recommended parameter values.
- the management device can determine the recommended Lun number based on the instance name input by user 1 and the statistical information of the Lun number configuration item as described above, so that the user interface is in "3" is automatically displayed in the Lun number input box to make recommendations to users. It can be understood that, here, the management device can also determine at least one recommended lun number as described above, and display it in the drop-down menu of the lun number input box.
- Fig. 16 is a flowchart of another method for determining a user interface through a name recommendation model. The method is executed by the management device 12. In the process of the method, the name recommendation model is based on the instance name of the upper instance corresponding to the Trie tree of user 1 and the lower instance name input box, and the lower instance name input box is determined to be displayed to user 1 The recommended instance name of.
- the method includes the following steps S161-S163.
- step S161 the instance name of the upper instance corresponding to the lower instance name input box is obtained.
- the lower-level instance name input box is, for example, the Lun name input box in the interface for creating a Lun group instance as shown in FIG. 5.
- the user 1 After the interface is displayed on the user terminal 11, the user 1 first enters the Lun group name Enter the instance name of the Lun group in the input box (or select the instance name from at least one of the recommended instance names).
- the user terminal 11 sends the Lun group instance name to the management device 12, so that the management device 12 can obtain the Lun group instance name input by the user 1.
- the lower-level instance name input box is, for example, the Lun name input box in the interface for modifying the parameters of the Lun group instance (for example, the number of Luns), and the user terminal 1 sends a request to modify the parameters of the Lun group instance.
- the management device 12 may obtain the Lun group instance name corresponding to the Lun name input box from the request.
- step S162 the statistical information of the configuration item of the lower-level instance name is read from the Trie tree of the user 1.
- the model processing unit 1214 in the management device 12 The name recommendation model is used to determine the recommended instance name for the Lun instance shown to the user 1 in the Lun name input box.
- the Lun name input box corresponds to the configuration item Lun_g_Lunnm.
- the model processing unit 1214 can query the node (ie nm node) corresponding to the configuration item Lun_g_Lunnm in the Trie tree of the user 1, and read Statistics information of the configuration item Lun_g_Lunnm stored in this node.
- the statistical information is, for example, LG_A, Lun_A, 6, 06; Lun_B, 2, 02/LG_B, Lun_B, 3, 03 as shown in the data table 3.
- step S163 based on the statistical information of the upper-layer instance name and the lower-layer instance name configuration items corresponding to the lower-layer instance name input box, the recommended instance name of the lower-layer instance is determined.
- the model processing unit 1214 obtains the statistical information "LG_A, Lun_A, 6, 06; Lun_B, 2, 02/LG_B, Lun_B, 3, 03" of the configuration item Lun_g_Lunnm obtained from the Trie tree in FIG.
- the data structure analyzes the statistical information, and it can be learned that the meaning of the statistical information is: among the multiple Lun instance names included in the Lun group instance whose name prefix is LG_A that user 1 has entered, including 6 uses of the prefix Lun_A, Including two uses of the prefix Lun_B, and the latest suffix of the prefix Lun_A is 06, and the latest suffix of the prefix Lun_B is 02; the Lun group instance whose name prefix is LG_B has been entered by user 1 and contains multiple Lun instance names of the Lun instance , Including 3 uses of the prefix Lun_B, and the latest suffix of the prefix Lun_B is 03.
- the statistical information for the configuration item Lun_g_Lunnm includes statistical information for different upper-layer instance name prefixes.
- the model processing unit 1214 can recommend the Lun name of the lower layer with respect to the prefix included in the Lun group name that the user 1 has input. For example, user 1 has entered the Lun group name LG_A_01 in the interface shown in FIG. 5.
- the model processing unit 1214 determines that the prefix included in the name is "LG_A”, and then the model processing unit 1214 Find the statistical information corresponding to "LG_A” in the statistical information of Lun_g_Lunnm, that is, "Lun_A,6,06; Lun_B,2,02", so that the prefix with the highest frequency can be determined as the prefix of the recommended name of the Lun name (ie Lun_A), and based on the latest suffix of the prefix to determine the suffix of the recommended name (ie 07), so that the recommended name for the Lun name input box at the top in Figure 5 can be determined: Lun_A_07, for the one in Figure 5 in the middle With the Lun name input box below, the recommended names can be determined to be Lun_A_08 and Lun_A_09 by incrementing the suffix of the above recommended name.
- the user interface in FIG. 15 also shows that the recommended lower-level instance names are displayed to the user.
- the model processing unit 1214 in the management device determines that the number of recommended Luns is 3, and determines that the recommended 3 Lun names are Lun_A_07, Lun_A_08, and Lun_A_09, thus It is displayed in the user interface in FIG. 15 to make recommendations to the user.
- Fig. 17 is a flowchart of another method for determining a user interface through a parameter recommendation model. The method is executed by the management device 12. In the process of the method, the parameter recommendation model is based on the instance name of the upper instance corresponding to the Trie tree of the user 1 and the lower instance parameter input box to determine the pair shown in the lower instance parameter input box. Recommended parameter value displayed by user 1.
- the method includes the following steps S171-S173.
- step S171 the instance name of the upper instance corresponding to the lower instance parameter input box is obtained.
- the lower-level instance parameter input box is, for example, the capacity input box in the interface for creating a Lun group instance as shown in FIG. 5.
- the user 1 After the user terminal 11 displays this interface, the user 1 first enters the name of the Lun group Enter the instance name of the Lun group in the box (or select the instance name from at least one of the recommended instance names). After the user 1 inputs the Lun group instance name, the user terminal 11 sends the Lun group instance name to the management device 12, so that the management device 12 can obtain the Lun group instance name input by the user 1.
- the lower-level instance parameter input box is, for example, the capacity input box in the interface for modifying the parameters of the Lun group instance (for example, the number of Luns), after the user terminal 11 sends a modification request for the parameters of the Lun group instance ,
- the management device 12 can obtain the Lun group instance name corresponding to the Lun name input box from the request.
- step S172 the statistical information of the parameter configuration items of the lower-level instance is read from the Trie tree of the user 1.
- the capacity input box corresponds to the configuration item Lun_g_Lunsz.
- user 1 enters the Lun group name input box in the interface in FIG. 5, and determines the recommendation of the Lun number input box through the model processing unit 1214 as described above
- the model processing unit 1214 can query the node corresponding to the configuration item Lun_g_Lunsz (ie, the sz node) in the Trie tree of the user 1, and read the statistical information of the configuration item Lun_g_Lunsz stored in the node.
- the statistical information is LG_A, 30, 6; 20, 2; 40, 1/LG_B, 20, 2; 30, 1 as shown in the data table 3, for example.
- step S173 based on the instance name of the upper instance corresponding to the lower instance parameter input box and the statistical information of the lower instance parameter configuration item, the recommended parameter value of the lower instance is determined.
- the model processing unit 1214 obtains the statistical information "LG_A, 30, 6; 20, 2; 40, 1/LG_B, 20, 2; 30, 1" of the configuration item Lun_g_Lunsz from the Trie tree in FIG.
- the statistical information is analyzed based on the predetermined data structure, and the meaning of the statistical information can be learned: among the multiple Lun instance capacity values included in the Lun group instance whose name prefix is LG_A that user 1 has entered, including 6 times for 30GB Input, 2 inputs for 20GB, 1 input for 40GB; among the multiple capacity values of the Lun instance included in the Lun instance with the name prefix LG_B that user 1 has entered, including 2 inputs for 20GB and 1 input for 30GB 1 input.
- the statistical information for the configuration item Lun_g_Lunsz includes statistical information for different upper-layer instance name prefixes.
- the model processing unit 1214 can recommend the capacity value of the Lun instance of the lower layer with respect to the prefix included in the Lun group name that the user 1 has input. For example, user 1 has entered the Lun group name LG_A_01 in the interface shown in FIG. 5.
- the model processing unit 1214 determines that the prefix included in the name is "LG_A”, and then the model processing unit 1214 Find the statistical information corresponding to "LG_A” in the statistical information of Lun_g_Lunsz, that is, "30,6; 20,2; 40,1", so that the capacity value with the highest frequency can be determined as the three Lun instances in Figure 5.
- Recommended capacity value ie 30GB.
- FIG. 18 is an apparatus 1800 for managing a user interface display of a storage device according to an embodiment of the application.
- the apparatus is deployed on a management device that manages a storage device.
- the apparatus 1800 is characterized in that the apparatus 1800 includes:
- the obtaining unit 1801 is configured to obtain configuration data of the storage device configured for the first user through the configuration content displayed on the first user interface;
- the display unit 1802 is configured to display a second user interface corresponding to the first user after the first user logs in to the management device, and the second user interface displays display content determined according to the configuration data.
- the configuration content is used to configure the first object
- the obtaining unit 1801 is further configured to: obtain the configuration content of the first user interface, and store the configuration content to the first object.
- Historical configuration data of an object the device 1800 further includes: a first generating unit 1803, configured to perform statistics on the first object according to the historical configuration data to generate statistical information of the first object; first determination The unit 1804 is configured to determine the display content displayed on the second user interface according to the statistical information of the first object.
- the configuration content is the name of an object configured by the configuration content
- the display content is a default name or a recommended name of the object determined according to the configuration content.
- the obtaining unit 1801 is further configured to obtain the name of the object configured by the configuration content, and store the name of the object in historical configuration data; the apparatus 1800 further includes: a second generation The unit 1805 is configured to count the names of the objects configured by the configuration content to generate statistical information about the names of the objects configured by the configuration content; the second determining unit 1806 is configured to perform statistics on the names of the objects configured according to the configuration content. The statistical information of the name determines the default or recommended name of the object.
- the configuration content is a parameter value of an object configured by the configuration content
- the display content is a default parameter value or a recommended parameter value of the object determined according to the configuration content.
- the obtaining unit 1801 is further configured to obtain the parameter value of the object configured by the configuration content, and store the parameter value of the object in historical configuration data; the device 1800 further includes: The third generating unit 1807 is configured to perform statistics on the parameter values of the objects configured by the configuration content, and generate statistical information of the parameter values of the objects configured by the configuration content; the third determining unit 1808 is configured to perform statistics according to the configuration content.
- the statistical information of the parameter value of the object configured by the content determines the default parameter value or the recommended parameter value of the object.
- the configuration content is a first menu displayed on the first user interface
- the display content is a second menu displayed on the second user interface determined according to the configuration content .
- the acquiring unit 1801 is further configured to: acquire access information of the first menu, and store the access information in historical configuration data; the device further includes: a fourth generating unit 1809, To perform statistics on the historical access frequency of the first menu to generate statistical information of the historical access frequency of the first menu; the fourth determining unit 1810 is configured to determine according to the statistical information of the historical access frequency of the first menu A second menu displayed on the second user interface.
- the device 1800 further includes a construction unit 1811, configured to construct a statistical information tree of the first user based on the statistical information after generating the statistical information of the first object, and
- the statistical information tree includes a node corresponding to the first object, and the statistical information of the first object is stored in the node.
- Another aspect of the present application provides a computer-readable storage medium on which a computer program or instruction is stored.
- the computer program or instruction is executed in a computer, the computer is caused to execute any of the above-mentioned methods.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Evolutionary Computation (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Medical Informatics (AREA)
- Data Mining & Analysis (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Artificial Intelligence (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
一种用于管理存储设备的用户界面显示的方法,由管理存储设备的管理设备执行,其特征在于,所述方法包括:通过第一用户界面显示的配置内容获取为第一用户配置的存储设备的配置数据;当所述第一用户登录所述管理设备后,显示所述第一用户对应的第二用户界面,所述第二用户界面显示根据所述配置数据确定的显示内容。通过本方法,基于用户的历史配置数据显示用户界面,为用户提供了定制化的用户界面,降低了用户操作数,提升了用户对该存储系统的使用效率。
Description
本申请涉及存储技术领域,具体涉及一种用于管理存储设备的用户界面显示的方法和装置。
在云计算时代,需要通过单个或多个存储设备来进行对海量数据的存储。通常,用户通过登录管理软件来使用或管理存储设备。随着存储产品特性的增多,管理软件越来越复杂,用户使用管理软件的学习和时间成本也逐渐增加。具体是,管理软件在设计时通常将涉及到的配置项全部固定置于菜单栏中,并且其中的输入框默认为空或固定的默认值。用户每次在登录管理软件之后,都需要在繁杂的多个菜单中寻找自己需要的菜单,用户每次在创建资源实例时都需要手动输入繁琐的命名标识,另外,用户每次在对资源实例的多个配置项进行参数配置时都需要手动输入参数值。因此,需要一种更有效的在存储设备管理软件中显示用户界面的方案。
发明内容
本申请实施例旨在提供一种更有效的一种用于管理存储设备的用户界面显示的方法,以解决现有技术中的不足。
为实现上述目的,本申请一方面提供一种用于管理存储设备的用户界面显示的方法,由管理存储设备的管理设备执行,其特征在于,所述方法包括:通过第一用户界面显示的配置内容获取为第一用户配置的存储设备的配置数据;当所述第一用户登录所述管理设备后,显示所述第一用户对应的第二用户界面,所述第二用户界面显示根据所述配置数据确定的显示内容。
通过本申请实施例提供的显示用户界面的方法,基于用户的历史配置数据显示用户界面,为用户提供了定制化的用户界面,所述用户界面中例如显示了用户的常用菜单,使得用户不需要在繁杂的多个菜单中寻找自己需要的菜单,或者所述用户界面中例如显示了推荐实例名称或推荐参数值,使得用户不需要手动输入名称或参数值,从而降低了用户操作数,提升了用户对该存储系统的使用效率。
在一种实施方式中,所述配置内容用于配置第一对象,所述通过第一用户界面显示的配置内容获取为第一用户配置的存储设备的配置数据包括:获取所述第一用户界面的所述配置内容,并存储所述配置内容至所述第一对象的历史配置数据;所述方法还包括:针对所述第一对象根据所述历史配置数据进行统计,生成所述第一对象的统计信息;根据所述第一对象的统计信息确定在所述第二用户界面显示的显示内容。在该实施方式中,通过预先对用户的历史配置数据进行预处理,以获取多个配置项的统计信息,当响应于用户操作确定用户界面时,可减少系统处理时间,加快了系统响应速度。
在一种实施方式中,所述配置内容为所述配置内容所配置的对象的名称,所述显示内容 为根据所述配置内容确定的所述对象的默认名称或推荐名称。
在一种实施方式中,所述通过第一用户界面显示的配置内容获取为第一用户配置的存储设备的配置数据包括:获取所述配置内容所配置的对象的名称,并存储所述对象的名称至历史配置数据;所述方法还包括:对所述配置内容所配置的对象的名称进行统计,生成所述配置内容所配置的对象的名称的统计信息;根据所述配置内容所配置的对象的名称的统计信息确定所述对象的默认名称或推荐名称。在该实施方式中,基于用户历史输入的多个名称的统计信息确定推荐名称,计算量较小,而推荐效果较优,尤其适用于在存储设备本地运行所述管理系统、从而计算资源有限的场景。
在一种实施方式中,根据所述配置内容所配置的对象的名称的统计信息确定所述对象的默认名称或推荐名称包括,根据所述配置内容所配置的对象的名称的统计信息和所述用户的当前输入信息确定所述对象的默认名称或推荐名称。所述当前输入信息例如为用户输入的与该对象关联的信息,该信息例如可以为该对象的上层对象的名称。
在一种实施方式中,所述配置内容为所述配置内容所配置对象的参数值,所述显示内容为根据所述配置内容确定的所述对象的默认参数值或推荐参数值。
在一种实施方式中,所述通过第一用户界面显示的配置内容获取为第一用户配置的存储设备的配置数据包括:获取所述配置内容所配置的对象的参数值,并存储所述对象的参数值至历史配置数据;所述方法还包括:对所述配置内容所配置的对象的参数值进行统计,生成所述配置内容所配置的对象的参数值的统计信息;根据所述配置内容所配置的对象的参数值的统计信息确定所述对象的默认参数值或推荐参数值。在该实施方式中,基于用户历史输入的多个参数值的统计信息确定推荐参数值,计算量较小,而推荐效果较优,尤其适用于在存储设备本地运行所述管理系统、计算资源有限的场景。
在一种实施方式中,根据所述配置内容所配置的对象的参数值的统计信息确定所述对象的默认参数值或推荐参数值,根据所述配置内容所配置的对象的参数值的统计信息和所述用户的当前输入信息确定所述对象的默认参数值或推荐参数值。所述当前输入信息例如为用户输入的与该对象关联的信息,例如,该信息例如可以为该对象的上层对象的名称,或者可以与该对象关联的对象名称。
在一种实施方式中,所述配置内容为所述第一用户界面所显示的第一菜单,所述显示内容为根据所述配置内容确定的在所述第二用户界面所显示的第二菜单。
在一种实施方式中,所述通过第一用户界面显示的配置内容获取为第一用户配置的存储设备的配置数据包括:获取所述第一菜单的访问信息,并存储所述访问信息至历史配置数据;所述方法还包括:对所述第一菜单的历史访问频次进行统计,生成所述第一菜单的历史访问频次的统计信息;根据所述第一菜单的历史访问频次的统计信息确定显示于所述第二用户界面的第二菜单。在该实施方式中,基于用户历史访问的多个菜单各自的频次确定在系统首页显示的至少一个菜单,计算量较小,而推荐效果较优,尤其适用于在存储设备本地运行所述管理系统、从而计算资源有限的场景。
在一种实施方式中,所述方法还包括,在生成所述第一对象的统计信息之后,基于所述统计信息构建所述第一用户的统计信息树,所述统计信息树中包括与所述第一对象对应的节点,所述节点中存储有所述第一对象的统计信息。在该实施方式中,通过基于用户的配置项树确定用户界面,可以节省内存存储空间,并且可加快查询速度。
本申请另一方面提供一种用于管理存储设备的用户界面显示的装置,所述装置部署于管理存储设备的管理设备,其特征在于,所述装置包括:获取单元,用于通过第一用户界面显 示的配置内容获取为第一用户配置的存储设备的配置数据;显示单元,用于当所述第一用户登录所述管理设备后,显示所述第一用户对应的第二用户界面,所述第二用户界面显示根据所述配置数据确定的显示内容。
在一种实施方式中,所述配置内容用于配置第一对象,所述获取单元还用于:获取所述第一用户界面的所述配置内容,并存储所述配置内容至所述第一对象的历史配置数据;所述装置还包括:第一生成单元,用于针对所述第一对象根据所述历史配置数据进行统计,生成所述第一对象的统计信息;第一确定单元,用于根据所述第一对象的统计信息确定在所述第二用户界面显示的显示内容。
在一种实施方式中,所述配置内容为所述配置内容所配置的对象的名称,所述显示内容为根据所述配置内容确定的所述对象的默认名称或推荐名称。
在一种实施方式中,所述获取单元还用于:获取所述配置内容所配置的对象的名称,并存储所述对象的名称至历史配置数据;所述装置还包括:第二生成单元,用于对所述配置内容所配置的对象的名称进行统计,生成所述配置内容所配置的对象的名称的统计信息;第二确定单元,根据所述配置内容所配置的对象的名称的统计信息确定所述对象的默认名称或推荐名称。
在一种实施方式中,所述配置内容为所述配置内容所配置对象的参数值,所述显示内容为根据所述配置内容确定的所述对象的默认参数值或推荐参数值。
在一种实施方式中,所述获取单元还用于:获取所述配置内容所配置的对象的参数值,并存储所述对象的参数值至历史配置数据;所述装置还包括:第三生成单元,用于对所述配置内容所配置的对象的参数值进行统计,生成所述配置内容所配置的对象的参数值的统计信息;第三确定单元,用于根据所述配置内容所配置的对象的参数值的统计信息确定所述对象的默认参数值或推荐参数值。
在一种实施方式中,所述配置内容为所述第一用户界面所显示的第一菜单,所述显示内容为根据所述配置内容确定的在所述第二用户界面所显示的第二菜单。
在一种实施方式中,所述获取单元还用于:获取所述第一菜单的访问信息,并存储所述访问信息至历史配置数据;所述装置还包括:第四生成单元,用于对所述第一菜单的历史访问频次进行统计,生成所述第一菜单的历史访问频次的统计信息;第四确定单元,用于根据所述第一菜单的历史访问频次的统计信息确定显示于所述第二用户界面的第二菜单。
在一种实施方式中,所述装置还包括,构建单元,用于在生成所述第一对象的统计信息之后,基于所述统计信息构建所述第一用户的统计信息树,所述统计信息树中包括与所述第一对象对应的节点,所述节点中存储有所述第一对象的统计信息。
本申请另一方面提供一种计算机可读存储介质,其上存储有计算机程序或指令,当所述计算机程序或指令在计算机中执行时,令计算机执行上述任一项方法。
本申请另一方面提供一种计算设备,包括存储器和处理器,所述存储器中存储有计算机程序或指令,所述处理器用于在执行所述计算机程序或指令时,实现上述任一项方法。
通过结合附图描述本申请实施例,可以使得本申请实施例更加清楚:
图1为本申请实施例提供的一种存储系统100的示意图;
图2为本申请实施例提供的管理设备12的架构示意图;
图3为本申请实施例提供的一种显示用户界面的方法流程图;
图4为用户终端11中显示的用户界面示意图;
图5为在用户1创建Lun组时的用户界面;
图6为本申请实施例提供的构建Trie树的方法流程图;
图7示出通过树构建单元1213构建的用户1的Trie树;
图8为通过菜单推荐模型确定用户界面的方法流程图;
图9为现有技术中的存储设备管理软件的首页示意图;
图10为本申请实施例提供的存储设备管理软件的首页示意图;
图11为通过名称推荐模型确定用户界面的方法流程图;
图12为包括推荐实例名称的用户界面示意图;
图13为通过参数推荐模型确定用户界面的方法流程图;
图14为另一种通过参数推荐模型确定用户界面的方法流程图;
图15为包括推荐参数值的用户界面示意图;
图16为另一种通过名称推荐模型确定用户界面的方法流程图;
图17为另一种通过参数推荐模型确定用户界面的方法流程图;
图18为本申请实施例提供的一种用于管理存储设备的用户界面的显示装置1800。
下面将结合附图,对本申请实施例中的技术方案进行描述。
图1为本申请实施例提供的一种存储系统100的示意图。如图1所示,系统100中包括多个用户终端(图1中示意示出三个用户终端,其中包括用户终端11)、管理设备12和存储设备13,图1中将存储设备13示意示出为包括三台设备的集群。其中,各个用户终端与管理设备12连接,管理设备12与所述存储设备13连接。为了保证存储设备中的数据隐私性,所述连接通常为局域网连接,在通过其它技术手段保障数据隐私性的情况中,所述连接也可以为互联网连接,对此不作限定。管理设备12中运行有存储设备管理软件,以用于对存储设备进行管理。各个用户终端通过其中安装的所述管理软件的客户端与管理设备12进行通信。例如,用户终端11与用户1相对应,当用户1希望使用存储设备时,用户1在用户终端11中通过安装在用户终端的客户端连接至管理设备12,并通过客户端输入用户1的账号密码,输入的账号密码被传输至管理设备12进行认证,认证通过后,用户登录管理设备12进行对存储设备13的管理操作,用户终端11将用户1的操作数据发送给管理设备12,管理设备12对操作数据进行处理,从而对存储设备进行管理或使用。
用户1在登录管理设备12之后,管理设备12提供的用户界面会通过客户端在用户终端11中显示,用户1可通过所述用户终端11中显示的用户界面对存储设备13进行管理操作。在用户登录管理设备12之后,所述用户界面首先显示用于对存储设备的不同资源实例进行配置的菜单栏。所述菜单栏中例如包括用于配置多种资源实例的多个菜单(即菜单按钮),所述菜单是指在用户界面中显示的选项,该菜单与相应资源实例的配置页面链接,从而,用户在点击该菜单之后,在用户界面中将显示所述配置页面。所述资源实例例如包括逻辑单元号(Logical Unit Number,LUN)实例、逻辑单元号组(Logical Unit Number Group,Lun Group)实例、磁盘域(Disk Domain)实例、主机(Host)实例等等。用户1可通过所述任一个菜单配置多个资源实例。其中,所述逻辑单元号为存储设备中用于标记逻辑单元的编号,一个逻 辑单元号可以对应于一个独立冗余磁盘(Redundant Array of Independent Disks,RAID)、一个或多个磁盘分区,所述逻辑单元号组用于标记由一组逻辑单元组成的逻辑单元组。例如,当用户1点击菜单栏中的用于创建Lun实例的菜单时,用户终端11将在用户界面中显示用于配置Lun实例的多个输入框,其中例如包括该新创建的Lun实例的名称输入框、容量输入框等等。
在本申请实施例中,在管理设备12中基于用户1所操作的历史配置数据对用户1提供定制化的用户界面。具体是,以用户登录管理设备12所显示的第一个用户界面(以下称为“首页”)为例,管理设备12可基于用户1对首页中各个菜单的历史点击频次,确定在相对于用户1显示的首页菜单栏中的至少一个菜单,从而当用户1打开该首页时,可方便快捷地找到自己需要的菜单。当用户1点击菜单后,管理设备12可以基于用户1对所述菜单对应的配置页面中的输入框历史输入的对象(例如Lun对象)的实例名称,确定该对象的推荐实例名称。当用户1配置该对象的实例名称时,在用户界面中可自动显示推荐实例名称,从而使得用户1不需要多次手动输入实例名称,提高了使用效率,改善了用户体验。管理设备12还可以基于用户1历史输入的对象的实例参数值,确定该参数的推荐参数值,当用户1配置该参数时,在用户界面中可自动显示推荐参数值,从而使得用户1不需要多次手动输入参数值,提高了使用效率,改善了用户体验。
可以理解,图1所示的系统100的结构只是示意性的,而不是限制性的,例如,系统100中可以仅包括一台存储设备,多个用户终端通过局域网与该台存储设备连接,在该情况下,由于需要管理的存储设备较少,可以直接在该存储设备中直接运行管理软件,而不需要另外使用管理设备12来进行对存储设备的管理。在该情况中,用户终端11将直接与该台存储设备连接以进行对存储设备的配置,并且,上述由管理设备12执行的管理过程将由该台存储设备进行,即该台存储设备也用作为管理设备。
图2为本申请实施例提供的管理设备12的架构示意图。如图2中所示,管理设备12中包括处理器121、存储介质122和内存123。其中,所述存储介质122为持久性存储介质,如硬盘(hard disk drive,HDD)或固态硬盘(solid-state drive,SSD)等等。存储介质122中存储有计算机可执行程序代码(未示出),该程序代码中例如包括数据获取模块、数据预处理模块、树构建模块、模型处理模块等代码模块。处理器121可通过运行所述数据获取模块、数据预处理模块、树构建模块和模型处理模块,从而使所述处理器121包括数据获取单元1211、数据预处理单元1212、树构建单元1213、模型处理单元1214,其中模型处理单元1214中包括用于对用户进行推荐的菜单推荐模型、名称推荐模型和参数推荐模型。所述数据获取单元1211、数据预处理单元1212、树构建单元1213、模型处理单元1214例如可通过不同的进程分别执行相应的程序模块而实现,或者通过相同的进程顺序执行相应的程序模块而实现。
当某个用户(例如用户1)对存储设备13进行创建资源实例或修改资源实例的操作时,数据获取单元1211获取用户1对所述资源实例的配置数据(即由用户提交的在用户界面上显示的配置内容),并将该配置数据存入用户1的配置数据池中的历史配置数据池中,所述历史配置数据池中记录了所述用户1对存储设备13的历史配置数据。然后,数据预处理单元1212基于用户1的最新的历史配置数据更新用户1的配置数据池中的用户1的统计配置数据池,所述统计配置数据池中记录了基于用户1对存储设备13的历史配置数据生成的统计配置数据。之后,树构建单元1213从用户1的统计配置数据池中获取用户1的统计配置数据,构建用户1的配置项树(例如字典树(Trie树)),并将该配置项树存入内存123中,所述配置项 树中包括与所述各个配置项分别对应的多个节点,每个所述节点中包括相应配置项的统计信息。
当用户1在用户终端11进行预定操作(例如登录管理设备、配置资源实例名称、配置资源实例的参数等操作)时,模型处理单元1214可从内存123中读取用户1的配置项树,基于该配置项树中的与菜单配置项对应的节点中的统计信息,通过菜单推荐模型获取相对于用户1的推荐菜单,或者基于该配置项树中的与实例名称配置项对应的节点中的统计信息,通过名称推荐模型获取相对于用户1的推荐实例名称,或者基于该配置项树中的与实例参数配置项对应的节点中的统计信息,通过参数推荐模型获取相对于用户1的推荐实例参数值,作为模型推荐结果。在模型处理单元1214获取上述模型推荐结果之后,管理设备12可基于所述模型推荐结果生成将对用户1显示的用户界面,所述用户界面中包括所述模型推荐结果作为显示内容,并将所述生成的用户界面发送给用户终端11以在用户终端11中进行显示。
或者,模型处理单元1214可定期通过菜单推荐模型基于所述配置项树中的信息获取相对于用户1的多个推荐菜单,并将该多个推荐菜单存储到内存123中的用户1的推荐结果中,从而当用户1登录管理设备12之后,管理设备12可直接从内存读取所述多个推荐菜单,从而减少了管理设备12对用户终端11的响应时间。
在一些情况中,当某个用户(例如用户1)对存储设备进行创建资源实例或修改资源实例的操作时,管理设备12可能由于系统故障等原因发生重启、停机。在这种情况下,由于数据获取单元1211获取用户的配置数据并存入历史配置数据池的过程相比于将用户的配置操作存入操作日志更为复杂,例如,数据获取单元1211首先需要从用户的多个操作中确定配置操作,因此,在管理设备12发生重启时,数据获取单元1211可能还未将用户1在重启之前对资源实例的配置数据存入历史配置数据池中,而管理设备12已经将重启之前的用户1对资源实例的配置数据作为操作日志存储到存储介质122中。从而,数据获取单元1211可通过定期读取存储介质122中的操作日志,从而在用户1的配置数据池中补全未能存入历史配置数据池的用户1的历史配置数据。所述操作日志用于记录各个用户的所有的历史操作数据,该历史操作数据中除了包括用户对资源实例的配置操作数据之外,还包括其它操作数据。数据获取单元1211例如可通过在用户操作日志中以用户1标识、资源实例、请求类型为关键词从操作日志中搜索用户1对资源实例的创建、修改和删除操作。数据获取单元1211在每次读取用户1的操作日志之后,基于读取的操作日志数据对用户1配置数据池中的历史配置数据进行补全。
当用户1对存储设备中的已有资源实例进行删除操作时,数据获取单元1211可获取该删除操作,并从用户1的配置数据池中的历史配置数据池中删除与用户1删除的资源实例相关的历史配置数据,相应地,数据预处理单元1212基于该删除更新用户1的统计配置数据池,树构建单元1213相应地更新用户1配置项树。通过数据获取单元1211对用户1的历史配置数据池的上述数据删除,保证了用户1的历史配置数据池中的数据为时间较新的配置数据,从而可对用户1提供较准确的推荐结果。
相应地,数据获取单元1211在定期读取用户1的操作日志时,也可以读取用户1对资源实例的删除操作,并确定在用户1的历史配置数据池中是否已删除该资源实例的数据,如果没有,则进行补删除。
可以理解,上文中虽然以用户1为示例描述了管理设备12相对于用户1的操作的处理过程,显然,如图1中所示,管理设备12与多个用户终端连接,也就是说,管理设备12将接收到多个用户的操作数据,因此,在管理设备12的存储介质122中还设置有其他用户(例如 用户2)的配置数据池。在管理设备12接收到例如用户2的配置数据时,同样地,在管理设备12中,将通过处理器121更新用户2的配置数据池,并相应地在内存123中更新用户2的配置项树。
当管理设备12启动、重启、或者线程掉线时,在处理器121中可通过树构建单元1213基于用户1的配置数据池中的用户1的统计配置数据池快速地构建用户1的配置项树,并将该配置项树存入内存123中。
可以理解,上述参考图2对管理设备12的描述仅仅是示意性的,而不是限制性的。例如,处理器121中也可以不包括树构建单元1213,数据预处理单元1212在获取用户1的统计配置数据之后,可将用户1的统计配置数据存入内存123中,以供模型处理单元1214基于该统计配置数据确定相对于用户1的推荐结果。
下面将以实施例的形式具体描述本申请实施例提供的显示用户界面的方法过程。
图3为本申请实施例提供的一种显示用户界面的方法流程图,该方法由管理设备12执行。如图3所示,该方法包括以下步骤S302-步骤S304。
首先,在步骤S302,当用户1在用户界面进行对存储设备13的配置之后,获取用户1对存储设备13的历史配置数据。
如上文所述,管理设备12可与用户终端11进行通信以获取用户1输入的配置数据。图4示出用户终端11中显示的用户界面示意图,其中包括界面1-界面3。所述界面1例如为用户1通过客户端登录管理设备12之后在用户终端显示的首页。如图4中所示,界面1中示出管理软件的菜单栏,该菜单栏中包括多个菜单(图4中示意示出为4个):Lun、Lun组、磁盘域、主机,所述多个菜单即用于对存储设备进行配置的配置内容。每个菜单与存储设备13中预设的资源对象相对应,用户1可通过相应的菜单配置相应资源对象的资源实例。例如,用户1在界面1中点击了菜单“Lun”之后,用户终端11中显示图4中的界面2,在界面2中,在Lun菜单下方打开了例如三个选项:创建、修改、删除,用户1从而可通过该三个选项进行对Lun资源实例的管理。例如,用户1在界面2中点击了选项“创建”,从而用户终端11显示图4中的界面3,在界面3中示出了需要用户输入的输入框,其中包括名称输入框和容量输入框。可以理解,所述界面3仅仅是示意性的而不是限制性的,在实际中,在创建Lun实例时,除了需要用户输入实例名称和实例容量之外,可能还需要用户输入其它多个参数,如加密密码等等,因此,在对应的配置界面中将相应地显示更多个输入框。
用户终端11例如通过表述性状态传递(Representational State Transfer,REST)接口与管理设备12进行通信。具体是,用户终端11通过在用户界面的特定按钮中调用REST接口的相应操作指令,以对管理设备12发送相应的指示和参数。REST接口包括以下常用操作指令:POST(创建资源实例)、PATCH(更新资源实例)、DELETE(删除资源实例)。例如,可在用户终端11中进行如下设置:将界面2中的“创建”选项设置为调用REST接口的POST指令,将“修改”选项设置为调用REST接口的PATCH指令,将“删除”选项设置为调用REST接口的DELETE指令。
在该情况中,用户1例如首先在界面2中点击选项“创建”,如图4所示,用户终端11在界面3中显示名称输入框和容量输入框,当用户1如图4中所示输入了这两个输入框并提交之后,用户终端11向管理设备12发送例如包括如下结构化数据的创建请求:POST/Lun/Lun_A_01/20GB/Session,该创建请求例如具有Json格式。所述界面3即为用于对存储设备进行管理的界面,所述界面3中显示的内容“Lun_A_01”和“20GB”即为用于对存储设备进行配置的配置内容。管理设备12在接收到该创建请求之后,通过基于预定结构解析 该创建请求。其中,“Session”为用户终端11在执行本次操作时与管理设备12之间的超文本传输协议(HyperText Transfer Protocol,Http)会话,管理设备12基于该会话可确定该创建请求由用户1的用户终端11发出。从而,管理设备12可基于来自用户终端11的请求,指示存储设备13为用户1创建名称为Lun_A_01、容量为20GB的Lun实例。在创建该Lun实例之后,用户1可通过用户终端11进行向该Lun实例中存入数据、从该Lun实例读取数据等操作。
在创建上述Lun_A_01实例之后,用户1例如希望对该实例的容量进行修改,从而,用户1在界面2中点击选项“修改”,用户终端11将响应于该点击显示与若干个已创建的Lun实例分别对应的选项,其中例如包括与已创建的“Lun_A_01”实例对应的选项,当用户点击该选项之后,用户终端11显示例如容量输入框,以便于用户1进行对“Lun_A_01”实例的容量的修改。例如,用户1在容量输入框中输入“30GB”并提交之后,用户终端11向管理设备12发送例如包括如下结构化数据的修改请求:PATCH/Lun/Lun_A_01/30GB/Session。管理设备12在接收到该修改请求之后,指示存储设备13将名称为“Lun_A_01”的Lun实例的容量修改为30GB。
当用户1不再需要Lun实例时,用户1例如在界面2中点击选项“删除”,用户终端11基于该点击显示与若干个已创建的Lun实例分别对应的选项,其中例如包括与已创建的“Lun_A_01”实例对应的选项,当用户点击该选项之后,用户终端11向管理设备12发送例如包括如下结构化数据的删除请求:DELETE/Lun/Lun_A_01/Session。管理设备12在接收到该删除请求之后,指示存储设备13将其中的名称为“Lun_A_01”的Lun实例删除。
另外,管理设备12在接收到各个用户的各个操作数据时,根据接收的时间先后顺序,对各个操作数据进行编号。同时,由数据获取单元1211确定该操作数据是否为上述三种请求中的一种。例如,可通过确定用户的操作数据中是否包括关键词“POST”、“PATCH”或“DELETE”,从而确定该操作数据是否为上述三种请求中的一种。在数据获取单元1211确定用户1的操作为上述三种请求中的一种的情况下,数据获取单元1211基于该请求操作对用户1的历史配置数据池进行更新。
具体是,当来自用户1的用户终端11的请求中包括指令POST,则数据获取单元1211将该请求中包括的实例名称、参数、以及管理设备对该请求的编号存入用户1的历史配置数据池中,其中,所述编号体现了管理设备12接收该请求的时间先后顺序。例如,所述请求为上述包括POST/Lun/Lun_A_01/20GB/Session的创建请求,该请求的编号为1,则数据获取单元1211将其中的“Lun_A_01”和“20GB”以及该请求的编号“1”存入用户1的历史配置数据池中。所述历史配置数据池中例如包括用于记录Lun实例的数据的数据表1,如数据表1所示,数据获取单元1211可将“Lun_A_01”、“20GB”和编号“1”记录到数据表1中的一行(例如第1行)中的各个字段中。
行号 | 实例名称 | 容量 | 请求编号 |
1 | Lun_A_01 | 20GB | 1 |
数据表1
当来自用户1的用户终端11的请求中包括指令PATCH,则数据获取单元1211将该请求中包括的修改的参数和该请求的编号存入用户1的历史配置数据池中。例如,所述请求为上述包括PATCH/Lun/Lun_A_01/30GB/Session的修改请求,并且该请求的编号为5,则数据获取单元1211如下面的数据表1所示将“30GB”和“5”存入所述数据表1中的第2行中。
行号 | 实例名称 | 容量 | 请求编号 |
1 | Lun_A_01 | 20GB | 1 |
2 | 30GB | 5 |
数据表1
当来自用户1的用户终端11的请求中包括指令DELETE,则数据获取单元1211在用户1的历史配置数据池中删除相应资源实例的历史配置数据。例如,所述请求为上述包括DELETE/Lun/Lun_A_01/Session的删除请求,则数据获取单元1211可在数据表1中删除第1行和第2行。
另外,如上文参考图2所述,管理设备12在接收到各个用户的各个操作数据时,还将该操作数据存入到存储介质122中的用户操作日志中,也就是说,用户操作日志中记录了多个用户的各种操作数据。例如,当用户1通过用户终端11向管理设备12发送例如包括POST/Lun/Lun_A_01/20GB/Session的创建请求时,管理设备12例如将POST/Lun/Lun_A_01/20GB/UID1/1作为一条操作日志存入用户操作日志中,其中,“UID1”为用户1的标识,“1”为该操作日志对应的请求编号。当用户1通过用户终端11向管理设备12发送例如包括PATCH/Lun/Lun_A_01/30GB/Session的修改请求时,管理设备例如将PATCH/Lun/Lun_A_01/30GB/UID1/5作为一条操作日志存入用户操作日志中。当用户1通过用户终端11向管理设备12发送例如包括DELETE/Lun/Lun_A_01/Session的删除请求时,管理设备12例如将DELETE/Lun/Lun_A_01/UID1/6作为一条操作日志存入用户操作日志中。
在一些情况中,例如管理设备12断电、发生故障重启等,数据获取单元1211可能还未将用户1在重启之前的请求数据存入用户1的历史配置数据池,因此,数据获取单元1211除了通过在用户进行配置时获取用户1的请求数据之外,还可以定期读取用户操作日志,以对用户1的历史配置数据池进行补全。具体是,数据获取单元1211可每隔预定时段分别以“POST与UID1”、“PATCH与UID1”和“DELETE与UID1”为关键词在预定时段的用户操作日志中搜索用户1的与上述三种请求类型对应的操作日志。所述预定时段例如为上一次搜索时间到本次搜索时间之间的时段。
在完成上述搜索之后,例如,所述搜索出的用户1的操作日志中包括POST/Lun/Lun_B_02/30GB/UID1/3,数据获取单元1211确定用户1的历史配置数据池中是否包括对该操作日志对应的数据的记录,也即,在上述数据表1中确定是否包括编号为3的行。如果存在,则说明该操作日志中的相关数据已记录到用户1的历史配置数据池中,如果不存在,数据获取单元1211还确定在搜索出的用户的请求类型操作中是否包括对名称为“Lun_B_02”的Lun实例的删除请求,如果不包括,则说明该操作日志中的相关数据被漏记了。从而数据获取单元1211可根据操作日志POST/Lun/Lun_B_02/30GB/UID1/3中的编号“3”将该操作日志的相关数据插入到所述数据表1中。例如,可将该操作日志的相关数据插入到数据表1中的第1行和第2行之间。例如,所述搜索出的用户1的操作日志中包括POST/Lun/Lun_A_02/30GB/UID1/6,数据获取单元1211与上述类似地确定该条操作日志中的相关数据是否被漏记到用户1的历史配置数据池中,如果确定被漏记,数据获取单元1211与上述类似地在数据表1中添加与该操作日志对应的行。下面示出插入请求编号为3的行和请求编号为6的行之后的数据表1。
行号 | 实例名称 | 容量 | 请求编号 |
1 | Lun_A_01 | 20GB | 1 |
2 | Lun_B_02 | 30GB | 3 |
3 | 30GB | 5 | |
4 | Lun_A_02 | 30GB | 6 |
数据表1
例如,所述搜索出的用户1的与上述三种请求类型对应的操作日志中包括PATCH/Lun/Lun_A_01/40GB/UID1/7,数据获取单元1211与上述针对上述操作日志类似地确定该条操作日志中的相关数据是否被漏记到用户1的历史配置数据池中,如果确定被漏记,数据获取单元1211与上文类似地在数据表1中添加与该操作日志对应的行。下面示出插入一行之后的数据表1。
行号 | 实例名称 | 容量 | 请求编号 |
1 | Lun_A_01 | 20GB | 1 |
2 | Lun_B_02 | 30GB | 3 |
3 | 30GB | 5 | |
4 | Lun_A_02 | 30GB | 6 |
5 | 40GB | 7 |
数据表1
例如,所述搜索出的用户1的与上述三种请求类型对应的操作日志中包括DELETE/Lun/Lun_A_01/UID1/8,数据获取单元1211确定在数据表1中的编号在8之前的行中是否包括对象名称为Lun、实例名称为“Lun_A_01”的行,如果存在,则该行被漏删除,因此,对该行进行补删除。
上文中以用户1对Lun实例的三种请求操作为例描述了数据获取单元1211获取数据的过程以及在历史配置数据池中存入的数据内容和形式的示例,如图4中的界面1所示,用户可通过点击界面1中的任一菜单,从而实现对对应的资源实例的所述三种请求操作。例如,用户1通过点击界面1中的菜单“Lun组”中的创建选项来创建Lun组实例。图5示出在用户1创建Lun组时的用户界面。如图5中所示,该界面中包括以下输入项:Lun组名称、Lun数、Lun名称和容量。其中,Lun数为该Lun组中包括的Lun实例数。用户1例如在Lun数输入框中输入3,之后,在该界面中将显示三组Lun名称输入框和容量输入框。用户1例如在该三个Lun名称输入框中分别输入LG_A_01、LG_A_02和LG_A_03,并在三个容量输入框中都输入30GB,则用户1的用户终端11向管理设备12发送例如包括如下结构化数据的创建请求:POST/LG/LG_A_01/3/Lun_A_01/30GB//Lun_A_02/30GB//Lun_A_03/30GB/Session。
管理设备12在接收到该创建请求之后,同样地对该请求进行编号。同时,由数据获取单元1211基于该创建请求更新用户1的历史配置数据池。该历史配置数据池中例如包括用于记录Lun组实例的数据的数据表2,从而,数据获取单元1211可将该创建请求的相关数据记录到数据表2的一行中。
当用户1通过用户终端11向管理设备12发送对上述LG_A_01实例的修改请求时,数据获取单元1211将该修改请求中包括的实例名称(即LG_A_01)、修改的参数、和该请求的编号存入数据表2中。当用户1通过用户终端11向管理设备12发送对上述LG_A_01实例的删除请求时,与上文类似地,数据获取单元1211在数据表2中删除LG_A_01实例的数据。
下面示出数据表2。
数据表2
可以理解,上文中对历史配置数据池中记录的数据内容及其记录形式、以及在用户操作日志中记录的数据内容及其记录形式都是示意性的,而不是限制性的。例如,在历史配置数据池中,可将用户1的POST、PATCH、和DELETE类型请求的相关数据及其接收编号(或接收时间)都记录下来,然后可定期读取用户1在预定时段内的用户操作日志,并将各条用户操作日志的编号与历史配置数据池中的在所述预定时段内的各行数据的编号进行匹配,以确定在所述历史配置数据池中是否有漏记录的数据。在该种记录方式中,可定期将历史配置数据池中的时间较久的记录删除,以使得历史配置数据池中的数据是较新的数据。
在步骤S304,生成用户1的统计配置数据。
参考图2,可通过数据预处理单元1212基于用户1的历史配置数据生成用户1的统计配置数据。
对于上述数据表1,数据预处理单元1212被预设为进行以下三种统计处理:统计Lun菜单的点击频次,作为Lun菜单配置项(该配置项的标识例如为Lun)的统计信息;统计Lun实例的实例名称的名称前缀、其频次及其最新后缀,作为名称配置项(该配置项的标识例如为Lun_nm)的统计信息;统计参数的参数值及其频次,作为参数配置项(例如标识为Lun_sz的容量配置项)的统计信息。数据预处理单元1212在进行统计之后将统计结果记录到图2中的用户1的配置数据池中的统计配置数据池中。该统计配置数据池例如通过数据表3进行记录,在数据表3中包括各个配置项的统计信息。下面示出数据表3中的部分配置项及其统计信息。
Lun | 4 |
Lun_nm | Lun_A,2,02;Lun_B,1,02 |
Lun_sz | 30,3;20,1 |
数据表3
在数据表3中,配置项Lun与图4所示的界面1中的Lun菜单相对应,该配置项的统计信息“4”为Lun菜单的访问频次(即点击频次)。为了获取该统计信息,数据预处理单元1212可对数据表1中的行数进行计数,数据表1中的每一行对应于对Lun实例的一个创建请求或修改请求,用户终端11对这两种请求的发送对应于用户对图4中的界面1中的Lun菜单的点击,因此,通过对数据表1中的行数进行计数可获取Lun菜单的点击频次。
配置项Lun_nm与图4中界面3中的名称输入项相对应。在该配置项的统计信息中,记录Lun实例的多个实例名称中包括的各个前缀、其输入频次、其最新后缀。例如对于Lun_A,2,02,“Lun_A”为用户1输入的Lun实例名称中的前缀,“2”为用户1输入的Lun实例名称中前缀“Lun_A”的输入频次,“02”为与前缀“Lun_A”对应的最新后缀。为了获取该统计信息,数据预处理单元1212首先获取数据表1中实例名称一栏中包括的多个实例名称,从而可获取Lun的三个实例名称,“Lun_A_01”、“Lun_A_02”和“Lun_B_02”。然后,数据预处理单元1212可通过预先设置的分词单元将各个实例名称分别拆分成前缀和后缀。该拆分基于数据预处理单元1212中预设的分词词典进行,该分词词典可以是开源分词库(如jieba分词库),或者可以是自定义分词词典。在该分词词典为自定义分词词典的情况中,管理设备12可基于预定时段内用户使用的实例名称更新该自定义分词词典。具体是,例如,分词词典中包括分词“Lun_A”和“Lun_B”,则数据预处理单元1212基于该两个分词可将“Lun_A_01”拆分成前缀“Lun_A”和后缀“01”,将“Lun_A_02”拆分成前缀“Lun_A”和后缀“02”,将“Lun_B_02”拆分成前缀“Lun_B”和后缀“02”。在将各个实例名称都拆分成前缀和后缀之后,获取各个前缀及各个前缀的频次,例如,可获取前缀“Lun_A”和“Lun_B”,并且前缀“Lun_A”的输入频次为2,前缀“Lun_B”的输入频次为1;最后,获取各个前缀对应的最新后缀(即用户1最近输入的前缀为“Lun_A”实例名称的后缀),即,可获取前缀“Lun_A”的最新后缀为“02”,前缀“Lun_B”的最新后缀为“02”。
配置项Lun_sz与图4中界面3中的容量输入项相对应。在该配置项的统计信息中,记录有多个Lun实例的各个容量、其输入频次。例如对于其中的“20,1”,表示用户曾配置过1个容量为20GB的Lun实例。为了获取该统计信息,数据预处理单元1212首先获取数据表1中容量栏中的各个容量值,例如可获取20GB、30GB、30GB、30GB;获取所获取的多个容量值中的非重复的至少一个容量值及各自的输入频次,从而可获取两个非重复的容量值及各自的输入频次:20,1;30,3。
数据获取单元1211可在每次更新历史配置数据池之后将对历史配置数据池进行的更新通知数据预处理单元1212,以供数据预处理单元1212相应地进行统计并更新统计配置数据池。例如,当数据获取单元1211如上文所述在数据表1插入第5行之后,数据获取单元1211将对第5行的插入通知数据预处理单元1211,数据预处理单元1211根据插入的第5行的具体内容,对数据表3进行更新。具体是,由于数据表1中增加了一行,即对菜单Lun的点击增加1次,因此,数据预处理单元1212对数据表3中的Lun的频次加1;由于数据表1第5行的容量为40GB,即在容量栏增加了一个容量值,因此,数据预处理单元1212在数据表3的Lun_sz的统计信息中增加“40,1”。下面示出在上述更新之后的数据表3中的部分配置项及其统计信息。
Lun | 5 |
Lun_nm | Lun_A,2,02;Lun_B,1,02 |
Lun_sz | 30,3;20,1;40,1 |
数据表3
下面示出另一形式的数据表3中的部分配置项及其统计信息。
Lun | 5 |
Lun_nm | Lun_A,2,02;Lun_B,1,02/Lun_A,02 |
Lun_sz | 30,3;20,1;40,1/40 |
数据表3
该数据表3与前一数据表3不同在于,在Lun_nm配置项的统计信息中还包括“Lun_A,02”,在Lun_sz配置项中还包括“40”,其中,“Lun_A”为用户1最近输入的Lun实例名称的前缀,“02”为用户1最近输入的实例名称的后缀,“40”为用户1最近输入的Lun实例的容量,通过在Lun_nm配置项的统计信息中包括最新Lun实例名称的相关信息,可后续用于对Lun实例名称的推荐,通过在Lun_sz配置项的统计信息中包括Lun实例的最新容量,可后续用于对Lun实例容量的推荐。
对于上述数据表2,数据预处理单元1212被预设为进行以下统计处理:统计Lun组菜单的点击频次,作为Lun组菜单配置项(其标识例如为Lun_g)的统计信息;如上文所述对Lun组实例的多个实例名称进行分词,并统计Lun组实例的多个实例名称的名称前缀、其频次及其最新后缀、最新实例名称的前缀和后缀,作为Lun组实例名称配置项(其标识例如为Lun_g_nm)的统计信息;对于Lun组实例的Lun数配置项(其标识例如为Lun_g_num),统计每个Lun组实例名称前缀对应的各个Lun数及其频次;对于Lun组实例中包括的至少两个Lun实例的Lun实例名称配置项(其标识例如为Lun_g_Lunnm),统计每个Lun组实例名称前缀对应的各个Lun名称前缀、其频次及最新后缀;对于Lun组实例中包括的至少两个Lun实例的Lun实例容量配置项(其标识例如为Lun_g_Lunsz),统计每个Lun组实例名称前缀对应的各个Lun实例容量及其频次。下面示出基于数据表1和数据表2生成的数据表3中的部分配置项及其统计信息。
Lun | 10 |
Lun_nm | Lun_B,4,05;Lun_A,3,03;Lun_C,1,01/Lun_C,01 |
Lun_sz | 30,5;20,3;40,2/40 |
Lun_g | 5 |
Lun_g_nm | LG_A,3,03;LG_B,1,01/LG_B,01 |
Lun_g_num | LG_A,3,2;2,1/LG_B,3,1 |
Lun_g_Lunnm | LG_A,Lun_A,6,06;Lun_B,2,02/LG_B,Lun_B,3,03 |
Lun_g_Lunsz | LG_A,30,6;20,2;40,1/LG_B,20,2;30,1 |
数据表3
参考该数据表3,其中的配置项Lun_g的统计信息为Lun组菜单的点击频次,与上文类似地,数据预处理单元1212可通过统计数据表3中的行数来确定Lun组菜单的点击频次。配置项Lun_g_nm与图5中的Lun组名称输入项对应,其统计信息包括:各个Lun组实例名称包 括的各个前缀、其频次及最新后缀、以及最新Lun组实例名称的前缀和后缀,例如,对于其中的LG_A,3,03,其中的LG_A为各个Lun组实例名称中包括的一个前缀,其中的“3”为前缀LG_A被输入的频次,“03”为前缀LG_A对应的最新后缀,末尾的“LG_B,01”为用户1最近输入的Lun组实例名称的前缀和后缀。配置项Lun_g_num与图5中的Lun数输入项对应,其统计信息包括相对于各个Lun组名称前缀分别统计的信息,例如,对于前缀LG_A的统计信息为LG_A,3,2;2,1,其中,“3,2”表示数值3被输入了2次,“2,1”表示数据2被输入了1次。配置项Lun_g_Lunnm与图5中的Lun名称输入项对应,其统计信息同样地包括相对于各个Lun组名称前缀分别统计的信息,例如,对于前缀LG_A的统计信息为LG_A,Lun_A,6,06;Lun_B,2,02,其中,“Lun_A,6,06”表示在前缀为LG_A的Lun组实例中,前缀为Lun_A的Lun实例出现过6次,并且前缀Lun_A对应的最新后缀为06。配置项Lun_g_Lunsz与图5中的Lun容量输入项对应,其统计信息同样地包括相对于各个Lun组名称前缀分别统计的信息,例如,对于前缀LG_A的统计信息为LG_A,30,6;20,2;40,1,其中,“30,6”表示容量值30被输入了6次,“20,2”表示容量值20被输入了2次,“40,1”表示容量值40被输入了1次。
可以理解,在上文中通过数据预处理单元1212获取用户1的如数据表3所示的统计配置数据,本申请实施例不限于此,例如,在一种实施方式中,对于Lun_nm配置项,数据预处理单元1212从数据表1中获取Lun实例的各个实例名称,并将其以数据表1中的请求编号的顺序记录到数据表3中的与Lun_nm对应的统计信息中,对于Lun_sz配置项,数据预处理单元1212从数据表1中获取Lun实例的各个容量值,并将其以数据表1的请求编号的顺序记录到数据表3中的与Lun_sz对应的统计信息中。也就是说,在这种实施方式中,仅顺序记录各个实例名称、各个容量值,而不对其进行进一步的处理,例如分词、统计频次等,这些处理可后续在推荐模型中进行。
在步骤S306,构建用户1的配置项树。
参考图2,可通过树构建单元1213基于用户1的统计配置数据构建用户1的配置项树。
数据预处理单元1212在每次更新统计配置数据池(例如数据表3)之后可通知树构建单元1213更新配置项树(例如Trie树)。数据预处理单元1212可将其在数据表3中更新的数据发送给树构建单元1213,从而树构建单元1213可在已有的Trie树中进行相应的更新。
所述Trie树又称为单词查找树,其根节点不包含字符,除根节点外的每个节点包括至少一个字符,从根节点到某节点的路径上各节点的字符的拼接字符为该节点对应的字符串,Trie树通过树形结构组织多个字符串,从而使得具有公共前缀的各个字符串位于Trie树的一个子树中,通过这种方式减少了数据存储量,也减少了数据查询时间。
图6为本申请实施例提供的构建Trie树的方法流程图。所述树构建单元1213可在接收到所述数据预处理单元1212的通知之后开始执行图6所示的方法。如前文所述,所述树构建单元1213不限于在接收到所述数据预处理单元1212的通知之后开始执行图6所示的方法,例如,所述树构建单元1213可在管理设备12启动或重启之后、或者在内存中的用户1的Trie树丢失之后开始执行图6所示方法。
参考图6,首先在步骤S61,确定该次构建是否为初始构建。树构建单元1213可通过确定内存中是否存储有用户1的Trie树,从而确定该次构建是否为初始构建。
在步骤S62,在确定该次构建是初始构建的情况中,树构建单元1213基于用户1的配置数据池中的数据表3构建Trie树。例如,在初始构建Trie树时,树构建单元1213基于数据表3,在Trie树的根节点下构建作为子节点的Lun节点,该Lun节点与数据表3中的Lun配 置项相对应,并在Lun节点下构建子节点:_nm节点和_sz节点,该两个节点与数据表3中的Lun_nm配置项和Lun_sz配置项分别对应,然后在各个子节点中分别记录其配置项的统计信息。
在步骤S63,在确定该次构建不是初始构建的情况中,也即,当确定内存中已经存储了用户1的Trie树时,树构建单元1213基于由数据预处理单元1212对数据表3的更新数据,确定该更新数据中是否增添了新的配置项。
例如,该次构建在数据预处理单元1212在数据表3中更新了Lun配置项和Lun_sz配置项的统计信息。从而,在步骤S64,树构建单元1213更新Trie树中的节点信息,即更新其中的Lun节点和_sz节点的存入信息。
例如,该次构建在数据预处理单元1212在数据表3中增添多个新配置项之后进行。从而,在步骤S65,树构建单元1213在Trie树中插入与增添的多个新配置项分别对应新节点,并在新节点中存入相应配置项的统计信息。
图7示出通过树构建单元1213构建的用户1的Trie树。图7所示Trie树与数据表3相对应。在图7所示的Trie树中,在根节点下示意示出了3个根节点,DD节点、Ho节点和Lun节点。其中,DD节点与磁盘域菜单配置项对应、Ho节点与主机菜单配置项对应,图7中未示出在DD节点和Ho节点下的子树。其中的Lun节点与数据表3中的配置项Lun对应,并且,该Lun节点包括3个子节点,_g节点、_nm节点、_sz节点,其与数据表3中的配置项Lun_g、Lun_nm和Lun_sz分别对应。_g节点包括3个子节点,_Lun节点、_nm节点和_num节点,其中,_g节点下的_nm节点和_num节点与数据表3中的配置项Lun_g_nm和Lun_g_num分别对应,_g节点下的_Lun节点包括2个子节点,nm节点和sz节点,其与数据表3中的配置项Lun_g_Lunnm和Lun_g_Lunsz分别对应。
在图7所示的树结构中,在与数据表3中的各个配置项对应的节点中存储有相应配置项的统计信息,图7中以虚线方框示意示出Lun节点、_nm节点和_sz节点三个节点的统计信息,其中,Lun节点的统计信息为数据表3中的Lun配置项的统计信息,_nm节点的统计信息为数据表3中的Lun_nm配置项的统计信息,_sz节点的统计信息为数据表3中的Lun_sz配置项的统计信息。
通过基于数据表3构建用户1的Trie树,相比于表格形式的数据记载形式,可大大减少数据总量,例如,对于Lun_g、Lun_nm、Lun_sz三个配置项,通过在Trie树中将其设置为Lun节点的三个子节点,省去了该三个配置项名称中的“Lun”,从而减少了数据存储量。同时,由于该Trie树以字母顺序排列各个子节点,从而便于查找,加快了数据查询速度。如图2中所示,树构建单元1213在构建或更新完成用户1的Trie树之后,将该Trie树存入内存123中,从而使得后续模型处理单元1214可更加快速地读取该Trie树中的数据,从而进一步加快了处理速度。
可以理解,图7所示的Trie树形式的配置项树仅仅是示意性的,而不是限定性的,本申请实施例中的配置项树可以具有其它树形结构,只要该树形结构能起到减少数据存储量、加快数据查询速度的作用即可。
在步骤S308,确定用户1的用户界面。
参考图2,可通过通过模型处理单元1214基于在步骤S306获取的配置项树中的配置统计数据进行模型处理,从而确定用户1的用户界面。
参考图2,模型处理单元1214中包括菜单推荐模型、名称推荐模型和参数推荐模型。而如图4和图5所示,在用户终端11向用户1显示的各个用户界面中,在首页包括与菜单配置 项对应的菜单、在其它配置界面中包括与名称配置项对应的名称输入框和与参数配置项(例如容量配置项)对应的参数输入框。因此,当用户终端11将要显示首页时,管理设备12可通过模型处理单元1214中的菜单推荐模型基于内存中的用户1的Trie树确定在首页显示的多个菜单,并由用户终端11对该确定的首页进行显示,该过程将在下文参考图8-图10进行描述。当用户终端11将要显示名称输入框时,管理设备12可通过模型处理单元1214中的名称推荐模型基于内存中的用户1的Trie树确定向用户推荐的至少一个名称,并由用户终端11对该推荐的至少一个名称进行显示,以供用户选择,该过程将在下文参考11和图12进行描述。当用户终端11将要显示参数输入框时,管理设备12可通过模型处理单元1214中的参数推荐模型基于内存中的用户1的Trie树确定向用户推荐的至少一个参数值,并由用户终端对该推荐的至少一个参数值进行显示,以供用户选择,该过程将在下文参考图13进行描述。在另一种实施方式中,模型处理单元1214还可以基于用户当前输入的实例名称和用户1的Trie树中的信息确定与参数输入框对应的至少一个推荐参数值,该过程将在下文参考图14和图15进行详细描述。在用户界面中将要显示上层实例包含的下层实例的名称和参数时,模型处理单元1214可以基于用户当前输入的上层实例的名称和用户1的Trie树中的信息确定下层实例的推荐名称和推荐参数值,该过程将在下文中参考图16和17分别进行详细描述。
可以理解,上述确定用户界面的过程仅仅是示例性的,而不是限制性的,本申请实施例提供的确定用户界面的过程不限于上述过程,例如,在一种实施方式中,可以不对用户1的历史配置数据进行预处理,而可以直接将用户1的历史配置数据输入预训练或预设定的推荐模型,从而确定用户界面,等等。也就是说,在本申请实施例提供的确定用户界面的方法中,在获取用户1的历史配置数据池之后,基于用户1的历史配置数据获取用户1的用户特征,从而可基于用户1的用户特征确定与用户1对应的用户界面,也即对用户1提供了定制化的用户界面。
图8为通过菜单推荐模型确定用户界面的方法流程图。在该方法流程中,通过菜单推荐模型基于用户1的Trie树确定对用户1显示的首页中包括的菜单,即通过菜单推荐模型对用户1进行常用菜单推荐。可以理解,当用户1首次登录管理设备12时,在管理设备12中还未记录过用户1的历史配置数据,在内存中也未存储用户1的Trie树,因此,也不能通过菜单推荐模型对用户1进行常用菜单推荐,在该情况中,在首页中以默认方式进行显示。
如图8所示,该方法包括以下步骤S81-步骤S82。
首先,在步骤S81,从用户1的Trie树中读取各个菜单配置项的访问频次信息。
该步骤例如通过图2中的模型处理单元1214中进行。
在一种实施方式中,模型处理单元1214可以预定时间间隔执行该步骤S81及后续的步骤S82,从而定期确定对用户1显示的首页,并存入内存中,从而管理设备12可响应于用户1的登录直接从内存中获取用于对用户1显示的首页,并将该确定的首页发送给用户终端11,以供用户终端11向用户1显示该首页。例如,模型处理单元1214可以在每天预定时刻执行步骤S81和步骤S82,以确定下一天对用户1显示的首页。
在一种实施方式中,模型处理单元1214可在每次树构建单元1213构建或更新用户1的Trie树之后,通过菜单推荐模型预先确定对用户1显示的首页,并存入内存中,从而管理设备12可在用户1登录时直接从内存中获取用于对用户1显示的首页,并将该确定的首页发送给用户终端11,以供用户终端11向用户1显示首页。
在一种实施方式中,通过模型处理单元1214中的菜单推荐模型对用户进行推荐。例如,当用户1登录管理设备12之后,管理设备12中的模型处理单元1214开始运行,以通过菜单 推荐模型确定用于向用户1显示的首页。在确定之后,由管理设备12将该确定的首页发送给用户终端11,以供用户终端11向用户1显示首页。
在一种实施方式中,如图7所示,在Trie树中,叶子节点与实例名称配置项或实例参数配置项相对应,菜单配置项(如Lun菜单、Lun组菜单)通常与非叶子节点相对应。因此,模型处理单元1214读取Trie树中的每个非叶子节点,从而可读取其中包括的与菜单配置项对应的节点,并从该节点读取相应菜单配置项的访问频次。
在一种实施方式中,菜单推荐模型中例如预设了管理设备12中的多个菜单配置项各自的标识,通过基于各个菜单配置项的标识在用户1的Trie树中进行查询,如果在Trie树中可找到与该菜单配置项对应的节点,从而可读取该节点位置的统计信息,即访问频次信息,如果在Trie树中不能找到与该菜单配置项对应的节点,则说明用户1未访问过该菜单配置项。
通常,通过以下步骤在Trie树中对与特定字符串对应的节点进行查询:从根节点的子节点中搜索包括该字符串的前至少一个字符的第一节点,然后,从第一节点的子节点中搜索包括该字符串中的后续至少一个字符的第二节点,重复该过程,直到找到包括该字符串最后一个字符的第n节点n,第一节点、第二节点2、…第n节点各自包括的字符拼接起来即为所述字符串,从而,第n节点即为与该字符串对应的节点。
例如,参考图7,当对Lun菜单配置项进行查询时,假设Lun菜单配置项的标识为Lun,可在根节点下首先寻找字母“l”,由于根节点下的子节点以字母顺序进行排序,因此,可以方便快速地找到根节点下的Lun节点为Lun菜单配置项对应的节点,从而可读取该节点中的信息“10”为Lun菜单配置项的访问频次。当对Lun组菜单配置项进行查询时,假设Lun组菜单配置项的标识为Lun_g,从而可在上述Lun节点下寻找字符“_”,从而可在_g节点处读取Lun组菜单配置项的访问频次。
在步骤S82,基于各个菜单配置项的访问频次信息,确定在首页中显示的多个配置项。
管理设备12中预设的多个菜单配置项的数目可能达到成千个,该多个菜单配置项中可能仅有很少一部分菜单配置项是用户1经常访问的菜单配置项。因此,在获取用户1对各个菜单配置项的访问频次信息之后,可将访问频次较高的菜单配置项作为常用菜单在首页中显示,将访问频次较低的菜单配置项作为隐藏菜单而不在首页中进行显示。
在一种实施方式中,在获取各个菜单配置项的访问频次之后,可在菜单推荐模型中通过tanh函数对各个访问频次进行归一化转换,从而将各个访问频次转换为0到1之间的值。并且,在菜单推荐模型中预设了阈值α(例如,α=0.9),菜单推荐模型确定各个菜单配置项的访问频次的归一化值是否大于α,如果大于α,则将该菜单配置项确定为在首页显示的常用菜单,如果小于等于α,则将该菜单配置项确定为不在首页显示的隐藏菜单。通过对各个菜单配置项的访问频次进行归一化转换,并基于各个归一化值进行常用菜单的确定,使得可以更准确地确定用户的常用菜单。
在另一种实施方式中,可在菜单推荐模型中预设在首页中显示预定数目(例如20)个常用菜单。从而,在获取各个菜单配置项的访问频次之后,通过菜单推荐模型基于各个菜单配置项的访问频次的多少对各个菜单配置项进行排序,并将访问频次排在前20位的菜单配置项确定为在首页显示的常用菜单配置项,将访问频次排在20位之后的菜单配置项确定为不在首页显示的隐藏菜单。
在另一种实施方式中,可在菜单推荐模型中预设百分比数(例如50%)。从而,在获取各个菜单配置项的访问频次之后,通过菜单推荐模型基于各个菜单配置项的访问频次的多少对各个菜单配置项进行排序,并将访问频次排在前50%的菜单配置项确定为在首页显示的常用 菜单配置项,将访问频次排在后50%的菜单配置项确定为不在首页显示的隐藏菜单。
图9为现有技术中的存储设备管理软件的首页示意图,图9所示首页在由用户进行点击并提交之后成为用于对存储设备进行配置的用户配置界面,其中显示的多个菜单为用于对存储设备进行配置的配置内容,管理设备可基于图9所示配置内容和用户对其中的菜单的点击获取为该用户配置的存储设备的配置数据,该配置数据的配置对象即为所述点击的菜单对应的菜单配置项。图10为本申请实施例提供的存储设备管理软件的首页示意图,图10所示首页为基于通过图9所示的用户界面获取的配置数据所确定的用户界面,其中,图10所示首页中的菜单基于各个菜单的访问频次所确定,即,图10所示的菜单为基于通过图9所示的配置内容所获取的配置数据而确定的显示内容,以向用户显示常用菜单。其中,在图9中示出的现有技术中的首页中,包括的菜单栏、菜单繁多,用户1很难在这么多的菜单中快速地找到自己希望访问的菜单。在图10示出的本申请实施例提供的首页中,仅显示用户1的常用菜单,而不显示用户1不常用的菜单,并将这些不常用的菜单移入“更多”按钮对应的隐藏菜单栏中,从而用户1可在该首页快捷地找到自己希望访问的菜单,大大节省了操作时间,提高了用户体验。
图11为通过名称推荐模型确定用户界面的方法流程图。该方法由管理设备12执行,在该方法流程中,通过名称推荐模型基于用户1的Trie树确定对用户1显示的与特定实例名称配置项对应的至少一个推荐实例名称。
如图11所示,该方法包括以下步骤S111-S112。
首先,在步骤S111,从用户1的Trie树中读取特定实例名称配置项的统计信息。
例如,当用户1如图4中界面2所示点击Lun菜单中的创建选项之后,用户终端11向管理设备12发送显示配置Lun实例的界面的请求。从而,管理设备12中的模型处理单元1214开始运行,以通过名称推荐模型确定用于在名称输入框中向用户1示出的Lun实例的推荐实例名称。如上文所述,该名称输入框与配置项Lun_nm相对应,参考图7,模型处理单元1214可在用户1的Trie树中查询与配置项Lun_nm对应的节点(即Lun节点的子节点,_nm节点),并读取该节点中存储的配置项Lun_nm的统计信息。
在步骤S112,基于特定实例名称配置项的统计信息确定至少一个推荐实例名称。
例如,模型处理单元1214在从图7中的Trie树获取的配置项Lun_nm的统计信息“Lun_B,4,05;Lun_A,3,03;Lun_C,1,01/Lun_C,01”之后,通过基于预定数据结构对该统计信息进行解析,可获知该统计信息的含义为:在用户1已输入的多个Lun实例名称中,包括对前缀Lun_B的4次使用,包括对前缀Lun_A的3次使用,并且前缀Lun_A的最新后缀为03,前缀Lun_B的最新后缀为05,用户1最近输入的Lun实例名称的前缀为Lun_C、后缀为01。
模型处理单元1214例如预设为确定3个推荐实例名称,模型处理单元1214可基于各个前缀的频次对各个前缀进行排序,并获取排序在前两位的两个前缀用于构成推荐实例名称的前缀,例如,排序在前两位的两个前缀为Lun_B,Lun_A,其中Lun_B排在Lun_A之前。然后,模型处理单元1214基于各个前缀的最新后缀确定推荐实例名称中的后缀,例如,前缀Lun_B的最新后缀为“05”,从而可确定以Lun_B为前缀的推荐实例名称的后缀为对“05”加1的数字,即“06”,从而可确定推荐实例名称为Lun_B_06。类似地对于前缀Lun_A,可确定推荐实例名称为Lun_A_04。
除了如上所述基于前缀的频次和前缀最新后缀确定推荐实例名称以外,还可以基于用户1最近输入的Lun实例名称的前缀和后缀来确定推荐实例名称。例如,用户1最近输入的Lun实例名称的前缀为Lun_C、后缀为01,则可确定推荐实例名称为的Lun实例名称为Lun_C_02。
在确定上述三个Lun实例名称之后,可基于预定规则对该三个名称进行排序。例如,可认为用户最近输入的Lun实例名称对用户下一次创建Lun实例时希望输入的Lun实例名称的影响力最大,用户输入的Lun实例名称中频次越高的前缀对用户下一次创建Lun实例时希望输入的Lun实例名称的影响力越大。因此可将上述三个Lun实例名称排序为:Lun_C_02>Lun_B_06>Lun_A_04。
在完成上述确定过程之后,模型处理单元1214可将上述排序的三个推荐Lun实例名称发送给用户终端11,从而用户终端11可在用户界面中的Lun实例名称输入框位置处顺序显示这三个推荐Lun实例名称,以向用户1进行推荐。
在一种实施方式中,如上文所述,通过数据预处理单元1212获取的Lun_nm配置项的统计信息为以请求编号顺序排列的各个Lun实例名称,也就是说,在用户1的Trie树中与Lun_nm节点对应的统计信息为上述顺序排列的各个Lun实例名称。在该情况中,在名称推荐模型中还预设有分词词典,模型处理单元1214在从Tire树读取Lun_nm配置项的统计信息之后,通过名称推荐模型基于所述分词词典将各个实例名称分别拆分为前缀和后缀;然后获取各个前缀、各个前缀的频次、各个前缀对应的最新后缀以及最新实例名称的前缀和后缀,从而可获取数据表3中的Lun_nm配置项的统计信息。之后,可如上文所述基于该新获取的Lun_nm配置项的统计信息确定Lun实例的至少一个推荐实例名称。
图12为包括推荐实例名称的用户界面示意图。如图12所示,当用户终端11向用户1显示包括Lun实例名称输入框的用户界面时,在该界面中的Lun实例名称输入框位置内自动填入了推荐名称Lun_C_02,并在该输入框的下拉菜单中顺序显示推荐名称Lun_B_06和Lun_A_04。其中,图12所示的用户界面中的“Lun_C_02”、“Lun_B_06”和“Lun_A_04”基于其所配置的对象(即界面3中的名称配置项)的统计信息确定,即,“Lun_C_02”、“Lun_B_06”和“Lun_A_04”为基于图4中的界面3中的配置内容确定的显示内容,以用于对用户进行实例名称的推荐。从而,用户1可通过点击该三个推荐名称中的一个而完成对该名称输入框的输入,相比于用户1手动填入实例名称,节省了用户操作时间,提高了用户的使用体验。
图13为通过参数推荐模型确定用户界面的方法流程图。该方法由管理设备12执行,在该方法流程中,通过参数推荐模型基于用户1的Trie树确定对用户1显示的与特定实例参数配置项对应的至少一个推荐参数值。
如图13所示,该方法包括以下步骤S131-S132。
首先,在步骤S131,从用户1的Trie树中读取特定实例参数配置项的统计信息。
例如,当用户1如图4中界面2所示点击Lun菜单中的创建选项之后,用户终端11向管理设备12发送显示配置Lun实例的界面的请求。从而,管理设备12中的模型处理单元1214开始运行,以通过参数推荐模型确定用于在容量输入框中向用户1示出的Lun实例的推荐容量值。如上文所述,该容量输入框与配置项Lun_sz相对应,参考图7,模型处理单元1214可在用户1的Trie树中查询与配置项Lun_sz对应的节点(即_sz节点),并读取该节点中存储的配置项Lun_sz的统计信息。
在步骤S132,基于特定实例参数配置项的统计信息确定至少一个推荐参数值。
例如,模型处理单元1214在从图7中的Trie树获取的配置项Lun_sz的统计信息“30,5;20,3;40,2/40”之后,通过基于预定数据结构对该统计信息进行解析,可获知该统计信息的含义为:在用户1已输入的多个Lun实例容量中,包括对30GB的5次输入、对20GB的3次输入,对40GB的2次输入,并且用户1最新输入的Lun实例容量为40GB。
模型处理单元1214例如预设为确定3个推荐容量值,模型处理单元1214可基于各个容 量值的频次对各个容量值进行排序,并获取排序在前两位的两个容量值作为推荐容量值,即30GB,20GB,其中30GB的输入频次高于20GB的输入频次。此外,模型处理单元1214还可以基于用户1最近输入的Lun实例容量值确定推荐容量值,即40GB。然后,与上文推荐实例名称类似地,模型处理单元1214可基于预定规则对确定的三个推荐容量值进行排序,例如,可将其排序为40GB>30GB>20GB。在确定该排序的三个推荐容量值之后,管理设备12可将该排序的三个推荐容量值发送给用户终端11。
在一种实施方式中,如上文所述,通过数据预处理单元1212获取的Lun_sz配置项的统计信息为以请求编号顺序排列的各个Lun实例容量值,也就是说,在用户1的Trie树中与_sz节点对应的统计信息为上述顺序排列的各个Lun实例容量值。在该情况中,模型处理单元1214在从Tire树读取Lun_sz配置项的统计信息之后,通过参数推荐模型统计各个Lun实例容量值中的不重复的容量值及其频次,从而可获取数据表3中的Lun_sz配置项的统计信息。之后,可如上文所述基于该新获取的Lun_sz配置项的统计信息确定Lun实例的至少一个推荐容量值。
在完成上述确定过程之后,模型处理单元1214可将上述排序的三个推荐Lun实例容量值发送给用户终端11,从而用户终端11可在用户界面中的Lun实例容量输入框位置处顺序显示这三个推荐容量值,以向用户1进行推荐。如图12所示,用户终端11在显示该界面时,在其中的容量输入框中根据上述确定结果自动输入“40GB”,当用户1将鼠标指向该输入框之后,与该界面中的名称输入框类似地,将在该输入框的下拉菜单中顺序显示30GB和20GB,以供用户选择。其中,图12中显示的“40GB”或者下拉菜单中显示的“30GB”和“20GB”基于其所配置的对象(即图12中的容量配置项)的统计信息确定,也即为基于图4界面3中的配置内容“20GB”所确定的显示内容,以用于对用户进行容量值的推荐。通过由用户终端11在Lun实例容量输入框位置处自动显示三个推荐容量值,用户1可通过点击该三个推荐容量值中的一个而完成对该容量输入框的输入,相比于用户1手动填入容量值,节省了用户操作时间,提高了用户的使用体验。
图14为另一种通过参数推荐模型确定用户界面的方法流程图。该方法由管理设备12执行,在该方法流程中,通过参数推荐模型基于用户1的Trie树和参数输入框对应的实例名称确定在参数输入框中对用户1显示的推荐参数值。
如图14所示,该方法包括以下步骤S141-S143。
首先,在步骤S141,获取参数输入框对应的实例名称。
在一种情况中,所述参数输入框例如为如图5所示的创建Lun组实例的用户界面中的Lun数输入框,在用户终端11显示该用户界面之后,用户1首先在Lun组名称输入框中输入实例名称(或者在推荐的至少一个实例名称中选择实例名称)。在用户1输入了实例名称之后,用户终端11将该实例名称发送给管理设备12,从而管理设备12可获取用户1输入的实例名称。
在另一种情况中,所述参数输入框例如为修改Lun组实例参数的界面中的Lun数输入框,在用户终端11发送对该Lun实例的参数的修改请求之后,管理设备12可从该请求中获取Lun数输入框对应的实例名称。
在步骤S142,从用户1的Trie树中读取参数配置项的统计信息。
例如,当管理设备获取Lun数输入框对应的实例名称(即LG_A_01)之后,管理设备12中的模型处理单元1214开始运行,以通过参数推荐模型确定用于在Lun数输入框中向用户1示出的Lun组实例的推荐Lun数。如上文所述,该Lun数输入框与配置项Lun_g_num相对应,参考图7,模型处理单元1214可在用户1的Trie树中查询与配置项Lun_g_num对应的节点 (即_num节点),并读取该节点中存储的配置项Lun_g_num的统计信息。该统计信息例如如数据表3中所示为LG_A,3,2;2,1/LG_B,3,1。
在步骤S143,基于参数输入框对应的实例名称和参数配置项的统计信息,确定推荐参数值。
例如,模型处理单元1214在从图7中的Trie树获取的配置项Lun_g_num的统计信息“LG_A,3,2;2,1/LG_B,3,1”之后,通过基于预定数据结构对该统计信息进行解析,可获知该统计信息的含义为:在用户1已输入的名称前缀为LG_A的多Lun组实例包含的多个Lun数中,包括对“3”的2次输入,对“2”的1次输入,在用户1已输入的名称前缀为LG_B的多个Lun组实例包含的多个Lun数中,包括对“3”的1次输入。
也就是说,在对配置项Lun_g_num的统计信息中,包括针对不同的Lun组实例名称前缀的统计信息。基于该统计信息,模型处理单元1214可相对于该Lun数输入框对应的Lun组实例名称中包括的前缀来进行Lun数的推荐。例如,用户1在图5所示的界面中已经输入了Lun组名称LG_A_01,模型处理单元1214在对该名称进行分词之后,确定该名称中包括的前缀为“LG_A”,然后,模型处理单元1214在Lun_g_num的统计信息中找到与“LG_A”对应的统计信息,即“LG_A,3,2;2,1”,从而可将其中频次最高的Lun数(即3)确定为推荐Lun数。
图15为包括推荐参数值的用户界面示意图。如图15所示,当用户1在输入了Lun组名称输入框之后,管理设备可如上所述基于用户1输入的实例名称和Lun数配置项的统计信息确定推荐Lun数,从而使得用户界面在Lun数输入框中自动显示“3”,以向用户进行推荐。可以理解,这里,管理设备也可以如上文所述确定至少一个推荐Lun数,并在Lun数输入框的下拉菜单中进行显示。
图16为另一种通过名称推荐模型确定用户界面的方法流程图。该方法由管理设备12执行,在该方法流程中,通过名称推荐模型基于用户1的Trie树和下层实例名称输入框对应的上层实例的实例名称,确定在下层实例名称输入框中对用户1显示的推荐实例名称。
如图16所示,该方法包括以下步骤S161-S163。
首先,在步骤S161,获取下层实例名称输入框对应的上层实例的实例名称。
在一种情况中,所述下层实例名称输入框例如为如图5所示的创建Lun组实例的界面中的Lun名称输入框,在用户终端11显示该界面之后,用户1首先在Lun组名称输入框中输入Lun组实例名称(或者在推荐的至少一个实例名称中选择实例名称)。在用户1输入了Lun组实例名称之后,用户终端11将该Lun组实例名称发送给管理设备12,从而管理设备12可获取用户1输入的Lun组实例名称。
在另一种情况中,所述下层实例名称输入框例如为修改Lun组实例参数(例如Lun数)的界面中的Lun名称输入框,在用户终端1发送对该Lun组实例的参数的修改请求之后,管理设备12可从该请求中获取Lun名称输入框对应的Lun组实例名称。
在步骤S162,从用户1的Trie树中读取下层实例名称配置项的统计信息。
例如,在用户1在图5中的用户界面中输入了Lun组名称输入框,且如图14通过模型处理单元1214确定Lun数输入框的推荐Lun数之后,管理设备12中的模型处理单元1214通过名称推荐模型开始确定用于在Lun名称输入框中向用户1示出的Lun实例的推荐实例名称。如上文所述,该Lun名称输入框与配置项Lun_g_Lunnm相对应,参考图7,模型处理单元1214可在用户1的Trie树中查询与配置项Lun_g_Lunnm对应的节点(即nm节点),并读取该节点中存储的配置项Lun_g_Lunnm的统计信息。该统计信息例如如数据表3中所示为LG_A,Lun_A,6,06;Lun_B,2,02/LG_B,Lun_B,3,03。
在步骤S163,基于下层实例名称输入框对应的上层实例的实例名称和下层实例名称配置项的统计信息,确定下层实例的推荐实例名称。
例如,模型处理单元1214在从图7中的Trie树获取的配置项Lun_g_Lunnm的统计信息“LG_A,Lun_A,6,06;Lun_B,2,02/LG_B,Lun_B,3,03”之后,通过基于预定数据结构对该统计信息进行解析,可获知该统计信息的含义为:在用户1已输入的名称前缀为LG_A的Lun组实例包含的多个Lun实例名称中,包括对前缀Lun_A的6次使用,包括对前缀Lun_B的2次使用,并且前缀Lun_A的最新后缀为06,前缀Lun_B的最新后缀为02;在用户1已输入的名称前缀为LG_B的Lun组实例包含的Lun实例的多个Lun实例名称中,包括对前缀Lun_B的3次使用,并且前缀Lun_B的最新后缀为03。
也就是说,在对配置项Lun_g_Lunnm的统计信息中,包括针对不同的上层实例名称前缀的统计信息。基于该统计信息,模型处理单元1214可相对于用户1已经输入的Lun组名称中包括的前缀来进行对下层的Lun名称的推荐。例如,用户1在图5所示的界面中已经输入了Lun组名称LG_A_01,模型处理单元1214在对该名称进行分词之后,确定该名称中包括的前缀为“LG_A”,然后,模型处理单元1214在Lun_g_Lunnm的统计信息中找到与“LG_A”对应的统计信息,即“Lun_A,6,06;Lun_B,2,02”,从而可将其中频次最高的前缀确定为Lun名称的推荐名称的前缀(即Lun_A),并基于该前缀的最新后缀确定推荐名称的后缀(即07),从而可确定对图5中排在最上面的Lun名称输入框的推荐名称:Lun_A_07,对于图5中的排在中间和下面的Lun名称输入框,可通过递增上述推荐名称的后缀而确定其的推荐名称分别为Lun_A_08和Lun_A_09。图15中的用户界面也示出了向用户显示推荐的下层实例名称。如图15所示,当用户1输入了Lun组名称输入框之后,管理设备中的模型处理单元1214确定推荐Lun数为3,并确定推荐的3个Lun名称为Lun_A_07、Lun_A_08和Lun_A_09,从而在图15中的用户界面中进行显示,以对用户进行推荐。
图17为另一种通过参数推荐模型确定用户界面的方法流程图。该方法由管理设备12执行,在该方法流程中,通过参数推荐模型基于用户1的Trie树和下层实例参数输入框对应的上层实例的实例名称,确定在下层实例参数输入框中示出的对用户1显示的推荐参数值。
如图17所示,该方法包括以下步骤S171-S173。
首先,在步骤S171,获取下层实例参数输入框对应的上层实例的实例名称。
在一种情况中,所述下层实例参数输入框例如为如图5所示的创建Lun组实例的界面中的容量输入框,在用户终端11显示该界面之后,用户1首先在Lun组名称输入框中输入Lun组实例名称(或者在推荐的至少一个实例名称中选择实例名称)。在用户1输入了Lun组实例名称之后,用户终端11将该Lun组实例名称发送给管理设备12,从而管理设备12可获取用户1输入的Lun组实例名称。
在另一种情况中,所述下层实例参数输入框例如为修改Lun组实例参数(例如Lun数)的界面中的容量输入框,在用户终端11发送对该Lun组实例的参数的修改请求之后,管理设备12可从该请求中获取Lun名称输入框对应的Lun组实例名称。
在步骤S172,从用户1的Trie树中读取下层实例参数配置项的统计信息。
例如,所述容量输入框与配置项Lun_g_Lunsz相对应,例如,用户1在图5中的界面中输入了Lun组名称输入框,且如上文所述通过模型处理单元1214确定Lun数输入框的推荐Lun数之后,参考图7,模型处理单元1214可在用户1的Trie树中查询与配置项Lun_g_Lunsz对应的节点(即sz节点),并读取该节点中存储的配置项Lun_g_Lunsz的统计信息。该统计信息例如如数据表3中所示为LG_A,30,6;20,2;40,1/LG_B,20,2;30,1。
在步骤S173,基于下层实例参数输入框对应的上层实例的实例名称和下层实例参数配置项的统计信息,确定下层实例的推荐参数值。
例如,模型处理单元1214在从图7中的Trie树获取的配置项Lun_g_Lunsz的统计信息“LG_A,30,6;20,2;40,1/LG_B,20,2;30,1”之后,通过基于预定数据结构对该统计信息进行解析,可获知该统计信息的含义为:在用户1已输入的名称前缀为LG_A的Lun组实例包含的多个Lun实例容量值中,包括对30GB的6次输入、对20GB的2次输入、40GB的1次输入;在用户1已输入的名称前缀为LG_B的Lun组实例包含的Lun实例的多个容量值中,包括对20GB的2次输入、对30GB的1次输入。
也就是说,在对配置项Lun_g_Lunsz的统计信息中,包括针对不同的上层实例名称前缀的统计信息。基于该统计信息,模型处理单元1214可相对于用户1已经输入的Lun组名称中包括的前缀来进行对下层的Lun实例的容量值的推荐。例如,用户1在图5所示的界面中已经输入了Lun组名称LG_A_01,模型处理单元1214在对该名称进行分词之后,确定该名称中包括的前缀为“LG_A”,然后,模型处理单元1214在Lun_g_Lunsz的统计信息中找到与“LG_A”对应的统计信息,即“30,6;20,2;40,1”,从而可将其中频次最高的容量值确定为图5中3个Lun实例的推荐容量值(即30GB)。
图18为本申请实施例提供的一种用于管理存储设备的用户界面显示的装置1800,所述装置部署于管理存储设备的管理设备,其特征在于,所述装置1800包括:
获取单元1801,用于通过第一用户界面显示的配置内容获取为第一用户配置的存储设备的配置数据;
显示单元1802,用于当所述第一用户登录所述管理设备后,显示所述第一用户对应的第二用户界面,所述第二用户界面显示根据所述配置数据确定的显示内容。
在一种实施方式中,所述配置内容用于配置第一对象,所述获取单元1801还用于:获取所述第一用户界面的所述配置内容,并存储所述配置内容至所述第一对象的历史配置数据;所述装置1800还包括:第一生成单元1803,用于针对所述第一对象根据所述历史配置数据进行统计,生成所述第一对象的统计信息;第一确定单元1804,用于根据所述第一对象的统计信息确定在所述第二用户界面显示的显示内容。
在一种实施方式中,所述配置内容为所述配置内容所配置的对象的名称,所述显示内容为根据所述配置内容确定的所述对象的默认名称或推荐名称。
在一种实施方式中,所述获取单元1801还用于:获取所述配置内容所配置的对象的名称,并存储所述对象的名称至历史配置数据;所述装置1800还包括:第二生成单元1805,用于对所述配置内容所配置的对象的名称进行统计,生成所述配置内容所配置的对象的名称的统计信息;第二确定单元1806,根据所述配置内容所配置的对象的名称的统计信息确定所述对象的默认名称或推荐名称。
在一种实施方式中,所述配置内容为所述配置内容所配置对象的参数值,所述显示内容为根据所述配置内容确定的所述对象的默认参数值或推荐参数值。
在一种实施方式中,所述获取单元1801还用于:获取所述配置内容所配置的对象的参数值,并存储所述对象的参数值至历史配置数据;所述装置1800还包括:第三生成单元1807,用于对所述配置内容所配置的对象的参数值进行统计,生成所述配置内容所配置的对象的参数值的统计信息;第三确定单元1808,用于根据所述配置内容所配置的对象的参数值的统计信息确定所述对象的默认参数值或推荐参数值。
在一种实施方式中,所述配置内容为所述第一用户界面所显示的第一菜单,所述显示内 容为根据所述配置内容确定的在所述第二用户界面所显示的第二菜单。
在一种实施方式中,所述获取单元1801还用于:获取所述第一菜单的访问信息,并存储所述访问信息至历史配置数据;所述装置还包括:第四生成单元1809,用于对所述第一菜单的历史访问频次进行统计,生成所述第一菜单的历史访问频次的统计信息;第四确定单元1810,用于根据所述第一菜单的历史访问频次的统计信息确定显示于所述第二用户界面的第二菜单。
在一种实施方式中,所述装置1800还包括,构建单元1811,用于在生成所述第一对象的统计信息之后,基于所述统计信息构建所述第一用户的统计信息树,所述统计信息树中包括与所述第一对象对应的节点,所述节点中存储有所述第一对象的统计信息。
本申请另一方面提供一种计算机可读存储介质,其上存储有计算机程序或指令,当所述计算机程序或指令在计算机中执行时,令计算机执行上述任一项方法。
本申请另一方面提供一种计算设备,包括存储器和处理器,所述存储器中存储有计算机程序或指令,所述处理器用于在执行所述计算机程序或指令时,实现上述任一项方法。
需要理解,本文中的“第一”,“第二”等描述,仅仅为了描述的简单而对相似概念进行区分,并不具有其他限定作用。
本领域普通技术人员应该还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。
Claims (20)
- 一种用于管理存储设备的用户界面显示的方法,由管理存储设备的管理设备执行,其特征在于,所述方法包括:通过第一用户界面显示的配置内容获取为第一用户配置的存储设备的配置数据;当所述第一用户登录所述管理设备后,显示所述第一用户对应的第二用户界面,所述第二用户界面显示根据所述配置数据确定的显示内容。
- 根据权利要求1所述的方法,其特征在于,所述配置内容用于配置第一对象,所述通过第一用户界面显示的配置内容获取为第一用户配置的存储设备的配置数据包括:获取所述第一用户界面的所述配置内容,并存储所述配置内容至所述第一对象的历史配置数据;所述方法还包括:针对所述第一对象根据所述历史配置数据进行统计,生成所述第一对象的统计信息;根据所述第一对象的统计信息确定在所述第二用户界面显示的显示内容。
- 根据权利要求1所述的方法,其特征在于,所述配置内容为所述配置内容所配置的对象的名称,所述显示内容为根据所述配置内容确定的所述对象的默认名称或推荐名称。
- 根据权利要求3所述的方法,其特征在于,所述通过第一用户界面显示的配置内容获取为第一用户配置的存储设备的配置数据包括:获取所述配置内容所配置的对象的名称,并存储所述对象的名称至历史配置数据;所述方法还包括:对所述配置内容所配置的对象的名称进行统计,生成所述配置内容所配置的对象的名称的统计信息;根据所述配置内容所配置的对象的名称的统计信息确定所述对象的默认名称或推荐名称。
- 根据权利要求1所述的方法,其特征在于,所述配置内容为所述配置内容所配置对象的参数值,所述显示内容为根据所述配置内容确定的所述对象的默认参数值或推荐参数值。
- 根据权利要求5所述的方法,其特征在于,所述通过第一用户界面显示的配置内容获取为第一用户配置的存储设备的配置数据包括:获取所述配置内容所配置的对象的参数值,并存储所述对象的参数值至历史配置数据;所述方法还包括:对所述配置内容所配置的对象的参数值进行统计,生成所述配置内容所配置的对象的参数值的统计信息;根据所述配置内容所配置的对象的参数值的统计信息确定所述对象的默认参数值或推荐参数值。
- 根据权利要求1所述的方法,其特征在于,所述配置内容为所述第一用户界面所显示的第一菜单,所述显示内容为根据所述配置内容确定的在所述第二用户界面所显示的第二菜单。
- 根据权利要求7所述的方法,其特征在于,所述通过第一用户界面显示的配置内容获取为第一用户配置的存储设备的配置数据包括:获取所述第一菜单的访问信息,并存储所述访问信息至历史配置数据;所述方法还包括:对所述第一菜单的历史访问频次进行统计,生成所述第一菜单的历史访问频次的统计信息;根据所述第一菜单的历史访问频次的统计信息确定显示于所述第二用户界面的第二菜单。
- 根据权利要求2所述的方法,其特征在于,还包括,在生成所述第一对象的统计信息之后,基于所述统计信息构建所述第一用户的统计信息树,所述统计信息树中包括与所述第一对象对应的节点,所述节点中存储有所述第一对象的统计信息。
- 一种用于管理存储设备的用户界面显示的装置,所述装置部署于管理存储设备的管理设备,其特征在于,所述装置包括:获取单元,用于通过第一用户界面显示的配置内容获取为第一用户配置的存储设备的配置数据;显示单元,用于当所述第一用户登录所述管理设备后,显示所述第一用户对应的第二用户界面,所述第二用户界面显示根据所述配置数据确定的显示内容。
- 根据权利要求10所述的装置,其特征在于,所述配置内容用于配置第一对象,所述获取单元还用于:获取所述第一用户界面的所述配置内容,并存储所述配置内容至所述第一对象的历史配置数据;所述装置还包括:第一生成单元,用于针对所述第一对象根据所述历史配置数据进行统计,生成所述第一对象的统计信息;第一确定单元,用于根据所述第一对象的统计信息确定在所述第二用户界面显示的显示内容。
- 根据权利要求10所述的装置,其特征在于,所述配置内容为所述配置内容所配置的对象的名称,所述显示内容为根据所述配置内容确定的所述对象的默认名称或推荐名称。
- 根据权利要求12所述的装置,其特征在于,所述获取单元还用于:获取所述配置内容所配置的对象的名称,并存储所述对象的名称至历史配置数据;所述装置还包括:第二生成单元,用于对所述配置内容所配置的对象的名称进行统计,生成所述配置内容所配置的对象的名称的统计信息;第二确定单元,根据所述配置内容所配置的对象的名称的统计信息确定所述对象的默认名称或推荐名称。
- 根据权利要求10所述的装置,其特征在于,所述配置内容为所述配置内容所配置对象的参数值,所述显示内容为根据所述配置内容确定的所述对象的默认参数值或推荐参数值。
- 根据权利要求14所述的装置,其特征在于,所述获取单元还用于:获取所述配置内容所配置的对象的参数值,并存储所述对象的参数值至历史配置数据;所述装置还包括:第三生成单元,用于对所述配置内容所配置的对象的参数值进行统计,生成所述配置内容所配置的对象的参数值的统计信息;第三确定单元,用于根据所述配置内容所配置的对象的参数值的统计信息确定所述对象的默认参数值或推荐参数值。
- 根据权利要求10所述的装置,其特征在于,所述配置内容为所述第一用户界面所显示的第一菜单,所述显示内容为根据所述配置内容确定的在所述第二用户界面所显示的第二菜单。
- 根据权利要求16所述的装置,其特征在于,所述获取单元还用于:获取所述第一菜单的访问信息,并存储所述访问信息至历史配置数据;所述装置还包括:第四生成单元,用于对所述第一菜单的历史访问频次进行统计,生成所述第一菜单的历史访问频次的统计信息;第四确定单元,用于根据所述第一菜单的历史访问频次的统计信息确定显示于所述第二用户界面的第二菜单。
- 根据权利要求11所述的装置,其特征在于,还包括,构建单元,用于在生成所述第一对象的统计信息之后,基于所述统计信息构建所述第一用户的统计信息树,所述统计信息树中包括与所述第一对象对应的节点,所述节点中存储有所述第一对象的统计信息。
- 一种计算机可读存储介质,其上存储有计算机程序或指令,当所述计算机程序或指令在计算机中执行时,令计算机执行权利要求1-9中任一项的所述的方法。
- 一种计算设备,包括存储器和处理器,所述存储器中存储有计算机程序或指令,所述处理器用于在执行所述计算机程序或指令时,实现权利要求1-9中任一项所述的方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP21811933.7A EP4148566A4 (en) | 2020-05-25 | 2021-05-17 | METHOD AND DEVICE FOR DISPLAYING A USER INTERFACE FOR MANAGING A STORAGE DEVICE |
US17/993,356 US20230078482A1 (en) | 2020-05-25 | 2022-11-23 | Method and Apparatus for Displaying User Interface Used to Manage Storage Device |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010450306.2 | 2020-05-25 | ||
CN202010450306.2A CN113722024A (zh) | 2020-05-25 | 2020-05-25 | 用于管理存储设备的用户界面显示的方法和装置 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US17/993,356 Continuation US20230078482A1 (en) | 2020-05-25 | 2022-11-23 | Method and Apparatus for Displaying User Interface Used to Manage Storage Device |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2021238691A1 true WO2021238691A1 (zh) | 2021-12-02 |
Family
ID=78671705
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/CN2021/094029 WO2021238691A1 (zh) | 2020-05-25 | 2021-05-17 | 用于管理存储设备的用户界面显示的方法和装置 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20230078482A1 (zh) |
EP (1) | EP4148566A4 (zh) |
CN (1) | CN113722024A (zh) |
WO (1) | WO2021238691A1 (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102143401A (zh) * | 2011-01-13 | 2011-08-03 | 博视联(苏州)信息科技有限公司 | 互联网电视功能菜单个性化定制的方法 |
CN102662666A (zh) * | 2012-03-30 | 2012-09-12 | 奇智软件(北京)有限公司 | 一种界面菜单的创建方法及装置 |
CN105786324A (zh) * | 2014-12-19 | 2016-07-20 | 大陆汽车投资(上海)有限公司 | 基于用户习惯的用户界面显示方法 |
CN107256155A (zh) * | 2017-06-02 | 2017-10-17 | 深圳天珑无线科技有限公司 | 后台管理系统的菜单适配方法、服务器及可读存储介质 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7366784B2 (en) * | 2001-11-27 | 2008-04-29 | Hitachi, Ltd. | System and method for providing and using a VLAN-aware storage device |
US9891780B2 (en) * | 2013-08-30 | 2018-02-13 | Verizon Patent And Licensing Inc. | User-based customization of a user interface |
WO2016101166A1 (en) * | 2014-12-24 | 2016-06-30 | Thomson Licensing | Usb storage device with configurable cloud spaces |
US10936163B2 (en) * | 2018-07-17 | 2021-03-02 | Methodical Mind, Llc. | Graphical user interface system |
-
2020
- 2020-05-25 CN CN202010450306.2A patent/CN113722024A/zh active Pending
-
2021
- 2021-05-17 WO PCT/CN2021/094029 patent/WO2021238691A1/zh unknown
- 2021-05-17 EP EP21811933.7A patent/EP4148566A4/en active Pending
-
2022
- 2022-11-23 US US17/993,356 patent/US20230078482A1/en active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102143401A (zh) * | 2011-01-13 | 2011-08-03 | 博视联(苏州)信息科技有限公司 | 互联网电视功能菜单个性化定制的方法 |
CN102662666A (zh) * | 2012-03-30 | 2012-09-12 | 奇智软件(北京)有限公司 | 一种界面菜单的创建方法及装置 |
CN105786324A (zh) * | 2014-12-19 | 2016-07-20 | 大陆汽车投资(上海)有限公司 | 基于用户习惯的用户界面显示方法 |
CN107256155A (zh) * | 2017-06-02 | 2017-10-17 | 深圳天珑无线科技有限公司 | 后台管理系统的菜单适配方法、服务器及可读存储介质 |
Non-Patent Citations (1)
Title |
---|
See also references of EP4148566A4 * |
Also Published As
Publication number | Publication date |
---|---|
EP4148566A4 (en) | 2023-10-25 |
CN113722024A (zh) | 2021-11-30 |
US20230078482A1 (en) | 2023-03-16 |
EP4148566A1 (en) | 2023-03-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10102253B2 (en) | Minimizing index maintenance costs for database storage regions using hybrid zone maps and indices | |
US8352396B2 (en) | Systems and methods for improving web site user experience | |
US20150234927A1 (en) | Application search method, apparatus, and terminal | |
JP2021530818A (ja) | 自律型エージェントおよびシソーラスを用いるデータベースのための自然言語インターフェイス | |
US9722879B1 (en) | Method and apparatus of an intuitive web based command line interface | |
KR100672277B1 (ko) | 개인화 검색 방법 및 검색 서버 | |
US20110060717A1 (en) | Systems and methods for improving web site user experience | |
EP1934703A2 (en) | Networked information indexing and search apparatus and method | |
JP2012528406A (ja) | 検索結果のマージ | |
US11494559B2 (en) | Hybrid in-domain and out-of-domain document processing for non-vocabulary tokens of electronic documents | |
KR20160124744A (ko) | 인-메모리 데이터베이스를 호스팅하는 시스템 및 방법 | |
US11017167B1 (en) | Misspelling correction based on deep learning architecture | |
US11803510B2 (en) | Labeling software applications running on nodes of a data center | |
US9916360B2 (en) | Joining operations in document oriented databases | |
US20210158210A1 (en) | Hybrid in-domain and out-of-domain document processing for non-vocabulary tokens of electronic documents | |
WO2021024080A1 (en) | Active learning for data matching | |
US9619458B2 (en) | System and method for phrase matching with arbitrary text | |
US20190026295A1 (en) | System and method for obtaining application insights through search | |
US10419582B2 (en) | Processing command line templates for database queries | |
WO2021238691A1 (zh) | 用于管理存储设备的用户界面显示的方法和装置 | |
US20220360513A1 (en) | Key performance indicator recommendations based on relevancy ranking | |
US11615064B2 (en) | Data management configuration tuning through link preference detection | |
US11256679B2 (en) | Systems and methods for storing object state on hash chains | |
CN110941706A (zh) | 答案确定方法及系统 | |
US11874840B2 (en) | Table discovery service |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 21811933 Country of ref document: EP Kind code of ref document: A1 |
|
ENP | Entry into the national phase |
Ref document number: 2021811933 Country of ref document: EP Effective date: 20221208 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |