CN113722024A - 用于管理存储设备的用户界面显示的方法和装置 - Google Patents

用于管理存储设备的用户界面显示的方法和装置 Download PDF

Info

Publication number
CN113722024A
CN113722024A CN202010450306.2A CN202010450306A CN113722024A CN 113722024 A CN113722024 A CN 113722024A CN 202010450306 A CN202010450306 A CN 202010450306A CN 113722024 A CN113722024 A CN 113722024A
Authority
CN
China
Prior art keywords
user
lun
configuration
statistical information
name
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202010450306.2A
Other languages
English (en)
Inventor
宁尚明
李臣波
田晨旭
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN202010450306.2A priority Critical patent/CN113722024A/zh
Priority to PCT/CN2021/094029 priority patent/WO2021238691A1/zh
Priority to EP21811933.7A priority patent/EP4148566A4/en
Publication of CN113722024A publication Critical patent/CN113722024A/zh
Priority to US17/993,356 priority patent/US20230078482A1/en
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/22Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks comprising specially adapted graphical user interfaces [GUI]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • G06F3/0605Improving or facilitating administration, e.g. storage management by facilitating the interaction with a user or administrator
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0632Configuration or reconfiguration of storage systems by initialisation or re-initialisation of storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files
    • G06F9/4451User profiles; Roaming

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (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 IndependentDisks,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。
Figure BDA0002507455810000111
数据表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.一种用于管理存储设备的用户界面显示的方法,由管理存储设备的管理设备执行,其特征在于,所述方法包括:
通过第一用户界面显示的配置内容获取为第一用户配置的存储设备的配置数据;
当所述第一用户登录所述管理设备后,显示所述第一用户对应的第二用户界面,所述第二用户界面显示根据所述配置数据确定的显示内容。
2.根据权利要求1所述的方法,其特征在于,所述配置内容用于配置第一对象,所述通过第一用户界面显示的配置内容获取为第一用户配置的存储设备的配置数据包括:
获取所述第一用户界面的所述配置内容,并存储所述配置内容至所述第一对象的历史配置数据;
所述方法还包括:
针对所述第一对象根据所述历史配置数据进行统计,生成所述第一对象的统计信息;
根据所述第一对象的统计信息确定在所述第二用户界面显示的显示内容。
3.根据权利要求1所述的方法,其特征在于,所述配置内容为所述配置内容所配置的对象的名称,所述显示内容为根据所述配置内容确定的所述对象的默认名称或推荐名称。
4.根据权利要求3所述的方法,其特征在于,所述通过第一用户界面显示的配置内容获取为第一用户配置的存储设备的配置数据包括:
获取所述配置内容所配置的对象的名称,并存储所述对象的名称至历史配置数据;
所述方法还包括:
对所述配置内容所配置的对象的名称进行统计,生成所述配置内容所配置的对象的名称的统计信息;
根据所述配置内容所配置的对象的名称的统计信息确定所述对象的默认名称或推荐名称。
5.根据权利要求1所述的方法,其特征在于,所述配置内容为所述配置内容所配置对象的参数值,所述显示内容为根据所述配置内容确定的所述对象的默认参数值或推荐参数值。
6.根据权利要求5所述的方法,其特征在于,所述通过第一用户界面显示的配置内容获取为第一用户配置的存储设备的配置数据包括:
获取所述配置内容所配置的对象的参数值,并存储所述对象的参数值至历史配置数据;
所述方法还包括:
对所述配置内容所配置的对象的参数值进行统计,生成所述配置内容所配置的对象的参数值的统计信息;
根据所述配置内容所配置的对象的参数值的统计信息确定所述对象的默认参数值或推荐参数值。
7.根据权利要求1所述的方法,其特征在于,所述配置内容为所述第一用户界面所显示的第一菜单,所述显示内容为根据所述配置内容确定的在所述第二用户界面所显示的第二菜单。
8.根据权利要求7所述的方法,其特征在于,所述通过第一用户界面显示的配置内容获取为第一用户配置的存储设备的配置数据包括:
获取所述第一菜单的访问信息,并存储所述访问信息至历史配置数据;
所述方法还包括:
对所述第一菜单的历史访问频次进行统计,生成所述第一菜单的历史访问频次的统计信息;
根据所述第一菜单的历史访问频次的统计信息确定显示于所述第二用户界面的第二菜单。
9.根据权利要求2所述的方法,其特征在于,还包括,在生成所述第一对象的统计信息之后,基于所述统计信息构建所述第一用户的统计信息树,所述统计信息树中包括与所述第一对象对应的节点,所述节点中存储有所述第一对象的统计信息。
10.一种用于管理存储设备的用户界面显示的装置,所述装置部署于管理存储设备的管理设备,其特征在于,所述装置包括:
获取单元,用于通过第一用户界面显示的配置内容获取为第一用户配置的存储设备的配置数据;
显示单元,用于当所述第一用户登录所述管理设备后,显示所述第一用户对应的第二用户界面,所述第二用户界面显示根据所述配置数据确定的显示内容。
11.根据权利要求10所述的装置,其特征在于,所述配置内容用于配置第一对象,所述获取单元还用于:
获取所述第一用户界面的所述配置内容,并存储所述配置内容至所述第一对象的历史配置数据;
所述装置还包括:
第一生成单元,用于针对所述第一对象根据所述历史配置数据进行统计,生成所述第一对象的统计信息;
第一确定单元,用于根据所述第一对象的统计信息确定在所述第二用户界面显示的显示内容。
12.根据权利要求10所述的装置,其特征在于,所述配置内容为所述配置内容所配置的对象的名称,所述显示内容为根据所述配置内容确定的所述对象的默认名称或推荐名称。
13.根据权利要求12所述的装置,其特征在于,所述获取单元还用于:
获取所述配置内容所配置的对象的名称,并存储所述对象的名称至历史配置数据;
所述装置还包括:
第二生成单元,用于对所述配置内容所配置的对象的名称进行统计,生成所述配置内容所配置的对象的名称的统计信息;
第二确定单元,根据所述配置内容所配置的对象的名称的统计信息确定所述对象的默认名称或推荐名称。
14.根据权利要求10所述的装置,其特征在于,所述配置内容为所述配置内容所配置对象的参数值,所述显示内容为根据所述配置内容确定的所述对象的默认参数值或推荐参数值。
15.根据权利要求14所述的装置,其特征在于,所述获取单元还用于:
获取所述配置内容所配置的对象的参数值,并存储所述对象的参数值至历史配置数据;
所述装置还包括:
第三生成单元,用于对所述配置内容所配置的对象的参数值进行统计,生成所述配置内容所配置的对象的参数值的统计信息;
第三确定单元,用于根据所述配置内容所配置的对象的参数值的统计信息确定所述对象的默认参数值或推荐参数值。
16.根据权利要求10所述的装置,其特征在于,所述配置内容为所述第一用户界面所显示的第一菜单,所述显示内容为根据所述配置内容确定的在所述第二用户界面所显示的第二菜单。
17.根据权利要求16所述的装置,其特征在于,所述获取单元还用于:
获取所述第一菜单的访问信息,并存储所述访问信息至历史配置数据;
所述装置还包括:
第四生成单元,用于对所述第一菜单的历史访问频次进行统计,生成所述第一菜单的历史访问频次的统计信息;
第四确定单元,用于根据所述第一菜单的历史访问频次的统计信息确定显示于所述第二用户界面的第二菜单。
18.根据权利要求11所述的装置,其特征在于,还包括,构建单元,用于在生成所述第一对象的统计信息之后,基于所述统计信息构建所述第一用户的统计信息树,所述统计信息树中包括与所述第一对象对应的节点,所述节点中存储有所述第一对象的统计信息。
19.一种计算机可读存储介质,其上存储有计算机程序或指令,当所述计算机程序或指令在计算机中执行时,令计算机执行权利要求1-9中任一项的所述的方法。
20.一种计算设备,包括存储器和处理器,所述存储器中存储有计算机程序或指令,所述处理器用于在执行所述计算机程序或指令时,实现权利要求1-9中任一项所述的方法。
CN202010450306.2A 2020-05-25 2020-05-25 用于管理存储设备的用户界面显示的方法和装置 Pending CN113722024A (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN202010450306.2A CN113722024A (zh) 2020-05-25 2020-05-25 用于管理存储设备的用户界面显示的方法和装置
PCT/CN2021/094029 WO2021238691A1 (zh) 2020-05-25 2021-05-17 用于管理存储设备的用户界面显示的方法和装置
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 (1)

Application Number Priority Date Filing Date Title
CN202010450306.2A CN113722024A (zh) 2020-05-25 2020-05-25 用于管理存储设备的用户界面显示的方法和装置

Publications (1)

Publication Number Publication Date
CN113722024A true CN113722024A (zh) 2021-11-30

Family

ID=78671705

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010450306.2A Pending CN113722024A (zh) 2020-05-25 2020-05-25 用于管理存储设备的用户界面显示的方法和装置

Country Status (4)

Country Link
US (1) US20230078482A1 (zh)
EP (1) EP4148566A4 (zh)
CN (1) CN113722024A (zh)
WO (1) WO2021238691A1 (zh)

Family Cites Families (8)

* Cited by examiner, † Cited by third party
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
CN102143401A (zh) * 2011-01-13 2011-08-03 博视联(苏州)信息科技有限公司 互联网电视功能菜单个性化定制的方法
CN102662666B (zh) * 2012-03-30 2015-09-16 北京奇虎科技有限公司 一种界面菜单的创建方法及装置
US9891780B2 (en) * 2013-08-30 2018-02-13 Verizon Patent And Licensing Inc. User-based customization of a user interface
CN105786324A (zh) * 2014-12-19 2016-07-20 大陆汽车投资(上海)有限公司 基于用户习惯的用户界面显示方法
WO2016101166A1 (en) * 2014-12-24 2016-06-30 Thomson Licensing Usb storage device with configurable cloud spaces
CN107256155A (zh) * 2017-06-02 2017-10-17 深圳天珑无线科技有限公司 后台管理***的菜单适配方法、服务器及可读存储介质
WO2020018592A1 (en) * 2018-07-17 2020-01-23 Methodical Mind, Llc. Graphical user interface system

Also Published As

Publication number Publication date
EP4148566A4 (en) 2023-10-25
EP4148566A1 (en) 2023-03-15
US20230078482A1 (en) 2023-03-16
WO2021238691A1 (zh) 2021-12-02

Similar Documents

Publication Publication Date Title
US11544080B2 (en) Adaptive user interface based on device context as well as user context
US20150234927A1 (en) Application search method, apparatus, and terminal
US9552393B2 (en) Adaptive record linking in a distributed computing system
CN107590214B (zh) 搜索关键词的推荐方法、装置及电子设备
US9722879B1 (en) Method and apparatus of an intuitive web based command line interface
US11494559B2 (en) Hybrid in-domain and out-of-domain document processing for non-vocabulary tokens of electronic documents
JP2012528406A (ja) 検索結果のマージ
KR20160124744A (ko) 인-메모리 데이터베이스를 호스팅하는 시스템 및 방법
US20130185330A1 (en) Rule-driven runtime customization of keyword search engines
US11481554B2 (en) Systems and methods for training and evaluating machine learning models using generalized vocabulary tokens for document processing
US11803510B2 (en) Labeling software applications running on nodes of a data center
CN112262380A (zh) 提供查询推荐
US20210158210A1 (en) Hybrid in-domain and out-of-domain document processing for non-vocabulary tokens of electronic documents
US20160103865A1 (en) Technology for providing content of a publish-subscribe topic tree
US20200159780A1 (en) Categorically filtering search results
US10938956B2 (en) Processing command line templates for database queries
US20190129961A1 (en) System and method for ranking search results
EP3861433B1 (en) Upgrades based on analytics from multiple sources
CN115705313A (zh) 一种数据处理方法、装置、设备及计算机可读存储介质
US20190026295A1 (en) System and method for obtaining application insights through search
WO2021238691A1 (zh) 用于管理存储设备的用户界面显示的方法和装置
US20220360513A1 (en) Key performance indicator recommendations based on relevancy ranking
CN106844553A (zh) 基于样本数据的数据探测和扩充方法及装置
JP4675986B2 (ja) 情報共有装置及び情報共有プログラム
JP6123372B2 (ja) 情報処理システム、名寄せ判定方法及びプログラム

Legal Events

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