CN117055978A - 平台应用的页面生成方法及服务器 - Google Patents

平台应用的页面生成方法及服务器 Download PDF

Info

Publication number
CN117055978A
CN117055978A CN202310913182.0A CN202310913182A CN117055978A CN 117055978 A CN117055978 A CN 117055978A CN 202310913182 A CN202310913182 A CN 202310913182A CN 117055978 A CN117055978 A CN 117055978A
Authority
CN
China
Prior art keywords
sub
application
api
historical
access frequency
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
CN202310913182.0A
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.)
XFusion Digital Technologies Co Ltd
Original Assignee
XFusion Digital 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 XFusion Digital Technologies Co Ltd filed Critical XFusion Digital Technologies Co Ltd
Priority to CN202310913182.0A priority Critical patent/CN117055978A/zh
Publication of CN117055978A publication Critical patent/CN117055978A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/448Execution paradigms, e.g. implementations of programming paradigms
    • G06F9/4488Object-oriented
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/18Complex mathematical operations for evaluating statistical data, e.g. average values, frequency distributions, probability functions, regression analysis
    • 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/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/04817Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance using icons
    • 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/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/0482Interaction with lists of selectable items, e.g. menus

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Computational Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Mathematical Physics (AREA)
  • Mathematical Analysis (AREA)
  • Probability & Statistics with Applications (AREA)
  • Operations Research (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Algebra (AREA)
  • Evolutionary Biology (AREA)
  • Databases & Information Systems (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

本申请实施例提供了一种平台应用的页面生成方法及服务器,该平台应用包括一个或多个子应用,每个子应用包括一个或多个API,基于每个子应用的API的历史调用次数,确定每个子应用的历史访问频次;基于每个子应用的历史访问频次,从一个或多个子应用中确定目标子应用,目标子应用的历史访问频次满足预设条件;生成平台应用的页面,平台应用的页面包括目标子应用的入口,有助于缩短目标子应用的寻找路径,降低访问目标子应用的难度,也减少用户的点击次数,降低操作复杂度。

Description

平台应用的页面生成方法及服务器
技术领域
本申请涉及服务器技术领域,具体涉及一种平台应用的页面生成方法及服务器。
背景技术
目前,很多软件按照功能对子应用进行分类,基于子应用的类型将子应用的入口设置于对应层级的菜单中。如果用户需要访问软件中某一个子应用的页面,用户需要按照子应用的类型,依次点击一级菜单、二级菜单和三级菜单,才能访问子应用的页面,导致子应用的入口层次深,存在用户寻找路径长,点击次数过多的问题。
发明内容
本申请实施例提供了一种平台应用的页面生成方法及服务器,有助于减少子应用的寻找路径,减少访问子应用所需的点击次数。该技术方案如下。
第一方面,提供了一种平台应用的页面生成方法,该平台应用包括一个或多个子应用,每个该子应用包括一个或多个API,该方法包括:基于每个该子应用的API的历史调用次数,确定每个该子应用的历史访问频次;基于每个该子应用的历史访问频次,从一个或多个该子应用中确定目标子应用,该目标子应用的历史访问频次满足预设条件;生成该平台应用的页面,该平台应用的页面包括该目标子应用的入口。
基于第一方面提供的方法,通过基于API历史调用次数确定历史访问频次,由于一个子应用的页面上支持的每种类型的操作通常通过调用对应的API执行,API和操作是一一对应的,因此基于API统计子应用的历史访问频次,有助于将一个子应用的页面上触发的各种类型的操作均纳入至该子应用历史访问频次的统计范围内,利用该历史访问频次确定出的目标子应用较大概率是用户经常使用的子应用,而平台应用的页面中由于包含目标子应用的入口,那么用户从平台应用的页面中即可寻找到目标子应用,从而缩短目标子应用的寻找路径,降低访问目标子应用的难度,也减少用户的点击次数,降低操作复杂度。
在一种可能的实现方式中,该预设条件包括历史访问频次排在前设定位数,该基于每个该子应用的历史访问频次,从一个或多个该子应用中确定目标子应用,包括:对每个该子应用按照历史访问频次进行排序;选择历史访问频次排在前设定位数的子应用,作为该目标子应用。
由于将子应用按照历史访问频次进行排序,使得历史越高频访问的子应用排在越前面,使得页面中包含历史高频访问的子应用的入口,便于用户在页面中快速找到高频访问的子应用,减少搜索高频访问的子应用的时间,提高操作效率。
在一种可能的实现方式中,该预设条件包括历史访问频次大于或等于频次阈值,该基于每个该子应用的历史访问频次,从每个该子应用中确定目标子应用,包括:对每个该子应用的历史访问频次分别与频次阈值进行比较;从每个该子应用中,选择历史访问频次大于或等于频次阈值的子应用,作为该目标子应用。
由于筛选出历史访问频次大于或等于频次阈值的子应用,使页面中包含历史高频访问的子应用的入口,从而便于用户快速找到并进入历史高频访问的子应用,缩短了用户寻找路径,减少了用户的点击次数。
在一种可能的实现方式中,该基于每个该子应用的API的历史调用次数,确定每个该子应用的历史访问频次,包括:基于每个该子应用的API的历史调用次数以及每个该API的权重,确定每个该子应用的历史访问频次。
由于结合子应用的API的历史调用次数以及API的权重确定子应用的历史访问频次,相当于不同的API在历史访问频次统计过程中起到的作用大小可以灵活调整,从而减少推荐误差。
在一种可能的实现方式中,该API的权重是基于历史数据确定的。
通过基于历史数据确定API的权重,使API的权重更有依据,能够更准确地反映用户历史的行为习惯。
在一种可能的实现方式中,该API的权重是基于配置操作确定的。
通过支持配置API的权重,使得API的权重更符合用户的偏好,进而有助于快捷入口的推荐更加个性化。
在一种可能的实现方式中,该基于每个该子应用的API的历史调用次数,获得每个该子应用的历史访问频次,包括:基于每个该子应用的API在统计时间区间内的历史调用次数,获得每个该子应用的历史访问频次。
由于基于统计时间区间内的历史调用次数确定子应用的历史访问频次,从而减少同一用户的角色改变之后造成的历史过多残留脏数据,也减少采用时间就近原则推荐入口时引起的推荐结果与用户的主要使用场景之间的偏差。
在一种可能的实现方式中,该基于每个该子应用的API的历史调用次数,获得每个该子应用的历史访问频次之前,该方法还包括:基于API的历史调用时间点,从多个日志记录中选择目标日志记录,该日志记录用于指示历史调用时间点、API的标识以及子应用的标识之间的对应关系,该目标日志记录中的历史调用时间点包含在该统计时间区间内;基于该目标日志记录,获取每个该子应用的API的历史调用次数。
由于确定子应用的历史访问频次时无需考虑统计时间区间之外的日志记录,从而降低统计时间区间之外的日志记录对确定历史访问频次造成的影响,使得历史访问频次更能准确地描述用户的主要使用情况,降低偶然突发操作造成的影响。
在一种可能的实现方式中,该基于API的历史调用时间点,从多个日志记录中选择目标日志记录之前,该方法还包括:捕获来自终端的调用请求,该调用请求用于指示调用该一个或多个API中第一API,该调用请求包括该第一API的标识以及该第一API的历史调用时间点;基于该第一API的标识以及对应关系,从该一个或多个子应用的标识中获取第一子应用的标识,该对应关系包括该第一API的标识以及该第一子应用的标识;将该第一API的历史调用时间点、该第一API的标识以及该第一子应用的标识保存至日志记录。
由于捕获针对API的调用请求,将API的历史调用时间点、API的标识以及API关联的子应用的标识保存至日志记录,从而能够在后续页面生成的过程中,利用日志记录更准确地确定出子应用的历史访问频次。
在一种可能的实现方式中,该基于每个该子应用的API的历史调用次数,获得每个该子应用的历史访问频次,包括:基于登录该平台应用的用户账号对应的每个该子应用的API的历史调用次数,获得每个该子应用的历史访问频次。
由于将统计的粒度细化到以用户账号为粒度统计子应用的历史访问频次,针对特定用户账号确定子应用入口的展示方式。例如,分别统计每个用户账号对平台应用中每个子应用的历史访问频次,从而确定出一个特定用户账号最常访问的目标子应用,响应于该用户账号登录平台应用,显示该用户账号对应的目标子应用的快捷入口,使得针对不同用户展示的快捷入口符合用户的操作习惯,快捷入口的展示具有个性化差异。
在一种可能的实现方式中,该目标子应用包括多个目标子应用,该多个目标子应用的入口在该平台应用的页面中按照历史访问频次的顺序依次排列。
由于历史访问频次越大的子应用的入口在页面中的位置越靠前,使得越经常使用的子应用的入口越优先展示,进一步提高访问子应用入口的便捷性,同时也减少了用户在页面上的浏览和搜索常用子应用的时间。
在一种可能的实现方式中,该平台应用的页面为该平台应用的首页。
首页例如是应用程序的起始页面,是用户进入软件后首先看到的页面。由于在首页展示目标子应用的入口,使得目标子应用的入口层次减少至1,用户可以从首页进入目标子应用的页面,而无需经过其他层级的菜单或页面,从而进一步减少目标子应用的寻找路径,访问目标子应用所需的点击次数。
在一种可能的实现方式中,该生成该平台应用的页面,包括:将该目标子应用的图标、该目标子应用的描述文本以及该目标子应用的页面路径添加至该平台应用的页面,该目标子应用的页面路径用于访问该目标子应用的页面。
由于平台应用的页面中包含目标子应用的描述文本和图标,从而能够更直观、更快速地识别和区分不同子应用的入口。也便于访问目标子应用的页面。由于平台应用的页面中包含目标子应用的页面路径,因此用户单击子应用的入口时,能够基于页面路径跳转到目标子应用的页面,从而便于快速访问目标子应用。
第二方面,提供了一种平台应用的页面生成装置,该平台应用包括一个或多个子应用,每个该子应用包括一个或多个API,该装置包括:
获取单元,用于基于每个该子应用的API的历史调用次数,获得每个该子应用的历史访问频次;
确定单元,用于基于每个该子应用的历史访问频次,从一个或多个该子应用中确定目标子应用,该目标子应用的历史访问频次满足预设条件;
生成单元,用于生成该平台应用的页面,该平台应用的页面包括该目标子应用的入口。
在一种可能的实现方式中,该预设条件包括历史访问频次排在前设定位数,该确定单元,用于对每个该子应用按照历史访问频次进行排序;选择历史访问频次排在前设定位数的子应用,作为该目标子应用。
在一种可能的实现方式中,该预设条件包括历史访问频次大于或等于频次阈值,该确定单元,用于对每个该子应用的历史访问频次分别与频次阈值进行比较;从每个该子应用中,选择历史访问频次大于或等于频次阈值的子应用,作为该目标子应用。
在一种可能的实现方式中,该获取单元,用于基于每个该子应用的API的历史调用次数以及每个该API的权重,获得每个该子应用的历史访问频次。
在一种可能的实现方式中,该API的权重是基于历史数据确定的;或者,该API的权重是基于配置操作确定的。
在一种可能的实现方式中,该获取单元,用于基于每个该子应用的API在统计时间区间内的历史调用次数,获得每个该子应用的历史访问频次。
在一种可能的实现方式中,该获取单元,还用于基于API的历史调用时间点,从多个日志记录中选择目标日志记录,该日志记录用于指示历史调用时间点、API的标识以及子应用的标识之间的对应关系,该目标日志记录中的历史调用时间点包含在该统计时间区间内;基于该目标日志记录,获取每个该子应用的API的历史调用次数。
在一种可能的实现方式中,该获取单元,还用于捕获来自终端的调用请求,该调用请求用于指示调用该一个或多个API中第一API,该调用请求包括该第一API的标识以及该第一API的历史调用时间点;基于该第一API的标识以及对应关系,从该一个或多个子应用的标识中获取第一子应用的标识,该对应关系包括该第一API的标识以及该第一子应用的标识;
该装置还包括:保存单元,用于将该第一API的历史调用时间点、该第一API的标识以及该第一子应用的标识保存至日志记录。
在一种可能的实现方式中,该获取单元,用于基于登录该平台应用的用户账号对应的每个该子应用的API的历史调用次数,获得每个该子应用的历史访问频次。
在一种可能的实现方式中,该目标子应用包括多个目标子应用,该多个目标子应用的入口在该平台应用的页面中按照历史访问频次的顺序依次排列。
在一种可能的实现方式中,该平台应用的页面为该平台应用的首页。
第三方面,提供了一种服务器,该服务器包括处理器,该处理器与存储器耦合,该存储器中存储有至少一条计算机程序指令,该至少一条计算机程序指令由该处理器加载并执行,以使该服务器实现上述第一方面或第一方面任一种可选方式所提供的方法。第三方面提供的服务器的具体细节可参见上述第一方面或第一方面任一种可选方式,此处不再赘述。
第四方面,提供了一种计算机可读存储介质,该存储介质中存储有至少一条指令,该指令在计算机上运行时,使得计算机执行上述第一方面或第一方面任一种可选方式所提供的方法。
第五方面,提供了一种计算机程序产品,该计算机程序产品包括一个或多个计算机程序指令,当该计算机程序指令被计算机加载并运行时,使得该计算机执行上述第一方面或第一方面任一种可选方式所提供的方法。
第六方面,提供了一种芯片,包括存储器和处理器,存储器用于存储计算机指令,处理器用于从存储器中调用并运行该计算机指令,以执行上述第一方面及其第一方面任意可能的实现方式中的方法。
附图说明
图1是本申请实施例提供的一种平台应用的页面示意图;
图2是本申请实施例提供的一种平台应用的页面示意图;
图3是本申请实施例提供的一种平台应用的页面示意图;
图4是本申请实施例提供的一种系统运行环境的示意图;
图5是本申请实施例提供的一种日志记录获取方法的流程图;
图6是本申请实施例提供的一种平台应用的页面生成方法的流程图;
图7是本申请实施例提供的平台应用的页面示意图;
图8是本申请实施例提供的平台应用的页面示意图;
图9是本申请实施例提供的一种平台应用的页面生成装置的示意图;
图10是本申请实施例提供的一种服务器的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
下面对本申请实施例涉及的一些术语概念做解释说明。
(1)应用程序接口(application programInterface,API)
API是一种应用程序接口。API例如是协议、函数、类、对象、数据结构、变量或者工具集等编程元素中至少一项的组合。在编程中,API可以通过库、子应用或类的形式提供给开发者,开发者可以通过调用API中的函数或方法来实现特定的功能,这些函数或方法被封装在API中,并提供了一些参数和返回值,以便其他应用程序可以调用和使用。API定义了不同软件组件之间的通信协议和交互规范。通过API,不同的软件组件(如不同应用程序或者应用程序与操作系统)可以相互访问和调用对方的功能,实现各种复杂的任务,提高系统的效率和可靠性,此外提高软件的可扩展性和可维护性,减少开发工作的工作量和时间。
(2)快捷入口
快捷入口也称为快捷方式。快捷入口是一种计算机中方便用户快速调用程序的技术。例如,快捷入口是在软件页面上提供一些功能子应用的快速访问方式,以便用户能够更快地找到所需的功能子应用。例如,在平台应用的首页、桌面、菜单、导航栏、任务栏或者页面中的其他位置,设置图标、按钮或者指向子应用的链接,用户可以通过针对这些图标、按钮或链接触发操作(如点击)访问对应的子应用,而无需经过多层操作路径,从而能够提高打开子应用的速度。快捷入口对应的按钮、图标或者链接通常设置于页面的顶部、底部或侧边栏等位置,以便用户可以在页面中方便地找到快捷入口。通过设置快捷入口,可以让用户更方便地访问常用的子应用,提高用户体验,并提高应用程序的易用性和效率。对于信息量较大的应用程序,设置快捷入口也可以提高用户的工作效率,减少用户的学习成本。
(3)针对企业(to business,to B)软件
To B软件也称为企业级软件或平台应用,是指针对企业(business)或组织机构的软件服务。To B领域的平台应用通常是针对企业内部管理、协作和业务流程等方面的需求,提供一系列功能子应用和工具,以帮助企业提高工作效率和管理水平。To B软件通常具有以下特点:1、功能较为复杂,一个子应用通常需要调用多个API实现,以便满足企业各个方面的需求;2,用户数量相对较少,但每个用户需要使用的功能和数据量较大;3,面向企业客户,通常需要满足企业特定的管理和业务流程需求。
(4)统一资源定位符(uniform resource locator,URL)
URL是一种用于标识资源在网络中位置的字符串。URL包括绝对URL和相对URL。绝对URL是指包含了完整资源路径和协议类型的URL地址。具体来说,绝对URL通常以协议类型作为开头,然后跟上主机名、端口号和资源路径等信息,用于标识一个网络资源。协议类型用于表示URL使用的网络协议,常见的协议类型包括超文本传输协议(Hypertext TransferProtocol,HTTP)、加密超文本传输协议(Hypertext Transfer Protocol Secure,HTTPS)、文件传输协议(File Transfer Protocol,FTP)等。主机名指示该资源所在的服务器,主机名可以是域名或IP地址。路径用于指示服务器上资源的存储位置,例如路径包括文件夹路径及文件名。例如,https://www.example.com/index.html就是一个典型的绝对URL地址。
相对URL是指相对于当前页面或当前资源所在位置的URL,相对URL用于定位同一网站内的其他资源。相对URL通常不包含协议类型、主机名和端口号等信息,包含资源路径和文件名等信息。相对路径的写法根据文件之间的位置关系进行标示,可以使用“.”或者“..”符号来表示当前目录和上级目录。例如,如果当前页面的URL是https://www.example.com/page1.html,那么相对URL../page2.html就表示跳转到下一级目录下的page2.html文件。
一个Web应用程序可以包括一个或多个子应用,每个子应用通常都有一个对应的URL,URL用于标识该子应用的位置和地址。当用户点击快捷入口时,程序会根据该子应用的URL导航到对应的子应用,同时更新浏览器的URL地址。
(5)页面
页面是指Web应用程序的网页。页面相当于Web应用程序与用户交互的载体。页面用于显示Web应用程序中特定的信息、功能或操作。每个页面通常都有一个唯一的URL地址,用户可以通过在浏览器中输入URL地址访问对应的页面,并与页面上的内容进行交互。一个页面通常包括一个或多个组件、元素和布局,例如文本、图片、表格、按钮等。一个页面可以通过超文本标记语言(Hypertext Markup Language,HTML)、层叠样式表(cascading stylesheets,CSS)、Javascript等文件生成,这些文件用于渲染页面结构、样式和交互行为。
(6)API路径
API路径指示API对应的资源以及针对该资源的操作方式。API路径也称为API请求路径或者API访问路径。例如,API路径包括资源标识以及操作标识。在Restful风格的API中,API的路径通常采用类似于“/resource/{id}/action”的格式,其中“resource”表示资源类型,“{id}”表示资源的标识符,“action”表示进行操作。通过API路径可以清晰地表达API的资源和操作信息,方便用户进行API调用和使用。作为一个具体示例,API的路径例如是resource/virtual-machine/power-on,resource/virtual-machine/power-on是一个RESTful URL,该URL表示对虚拟机进行开机操作。具体来说,该URL中包含了三个部分:resource:表示资源的类型,这里指的是虚拟机资源。virtual-machine:表示虚拟机的标识符。power-on表示进行的操作,这里指的是开机操作。因此,resource/virtual-machine/power-on表示对虚拟机资源进行开机操作的API。使用这个API,可以向后端发送开机请求,并对虚拟机资源进行相应的操作。在HTTP报文中,可以从请求行(Request Line)获取API路径。
(7)RESTful URL
RESTful URL用于定义Web API的访问路径和参数等信息。RESTful URL采用URL格式来表示资源和操作,使得API接口更加易于理解和使用。在RESTful架构中,URL是资源的唯一标识符,API是对资源的一种操作。API定义了一个或一组动词来执行这些操作,因此RESTful URL也是链接资源和API之间的枢纽。
(8)超链接(hyperlink)
超链接是指在一个页面元素(例如文本、图像、按钮甚至可以是声音或视频等多媒体数据)中设置的可点击的链接。超链接通常以蓝色字体呈现。超链接主要用于从当前页面跳转到其他页面。超链接通常需要指定一个URL地址作为跳转目标,用户可以通过单击超链接来访问URL地址指向的页面。在HTML文件中,可以使用<a>标签来创建超链接,并使用href属性指定要跳转的URL地址。
(9)<a>标签
<a>标签是一种用于创建超链接的HTML标签。<a>标签可以将页面的一个内容区域链接到另一个页面或者同一页面的其他部分。一个<a>标签通常包含一个或多个文本和/或图像的页面元素和一个超文本引用(Hypertext Reference,href)属性。一个<a>标签的具体示例为
<a href="https://www.example.com">Visit Example Website</a>
如上<a>标签创建了一个超链接,其中文本"Visit Example Website"表示超链接的可见部分,而href属性指定了链接目标的URL地址。href属性用于指定超链接的目标URL地址,可以是一个Web页面、文件、电子邮件、电话号码等。href属性的值可以使用绝对或相对路径,如下例所示:
<a href="https://www.example.com">Visit Example Website</a>
<a href="./about.html">About Us</a>
第一个<a>标签的href属性值是一个绝对路径,指向一个Web页面。第二个<a>标签的href属性值是相对路径,指向同一目录下的另一个文件。<a>标签和href属性的作用是创建HTML页面中的超链接,使得用户可以直接从页面中点击跳转到其他页面或者访问其他资源。
下面对本申请实施例的应用场景举例说明。
本申请实施例应用于展示平台应用的页面时推荐子应用的入口的场景。下面结合该场景进一步举例说明。
平台应用也称基础应用,是指构建计算机平台或操作系统之上的软件应用程序,平台应用可以利用平台提供的功能和资源来实现业务需求。例如,平台应用可以包括云计算平台应用、社交媒体平台应用或电商平台应用。
当前To B领域的平台应用基于对外提供的使用功能,将功能按照类别进行层层划分。当需要进入平台应用中目标子应用的页面,需按照分类层级,从一级菜单->二级菜单->三级菜单等等,层层点击直至到达该子应用的页面,导致常用子应用的入口层次深,存在用户寻找路径长,点击次数多的问题。
入口层次深是指需要经过多个层级的菜单或中间页面才能到达目标子应用的页面,这增加了用户获得目标子应用的页面的时间和难度。例如,在一个三级菜单结构中,如果用户需要从一级菜单开始,依次点击二级菜单和三级菜单,才能进入到一个子应用的页面,那么该子应用的入口层次就是3,即需要经过三级菜单才能进入。入口层次深通常会导致寻找路径变得更长,因为用户需要在更多的菜单中寻找目标子应用的入口,平均点击次数也随着入口层次深度的增加而增加。
寻找路径是指用户在平台应用中查找某一应用所需经过的步骤。例如,在三级菜单结构中,如果用户需要进入到目标子应用的页面,那么用户需要按照一定的路径,依次点击一级菜单、二级菜单和三级菜单,才能到达目标子应用的页面。这个路径就是用户的寻找路径。
例如,请参考附图1,附图1是平台应用的首页100的示意图,虚拟机子应用是目标子应用的具体示例,资源菜单110是一级菜单的具体示例,计算菜单120是二级菜单的具体示例,虚拟机菜单130是三级菜单的具体示例,首页100中子页面140是目标子应用的页面的具体示例。在没有针对虚拟机子应用引入快捷入口的情况下,首页100的资源菜单110处于折叠状态,计算菜单120和虚拟机菜单130隐藏。当用户需要访问虚拟机子应用时,用户需要先点击资源菜单110,平台应用响应于点击操作,将资源菜单110切换为展开状态,显示资源菜单110下级联的计算菜单120;用户点击计算菜单120后,平台应用将计算菜单120切换为展开状态,显示计算菜单120下级联的虚拟机菜单130。用户点击虚拟机菜单130,平台应用响应于点击操作,显示虚拟机子应用的页面,例如子页面140,在子页面140中展示各个虚拟机的信息。通过上述示例可见,针对虚拟机子应用用户需要执行三次点击操作才能进入虚拟机子应用的页面。
基于此,在本申请的一种可能实现方式中,从平台应用的平台包括的一个或多个子应用中确定出用户常用的子应用(下面称为目标子应用),将目标子应用的入口设置于平台应用的首页,从而缩短目标子应用的寻找路径,降低访问目标子应用的难度,也减少用户的点击次数,降低操作复杂度。
目标子应用例如是平台应用中历史访问频次满足预设条件的子应用。目标子应用也可以称为高频访问的子应用。一个子应用的历史访问频次是指该子应用在一定时间内被访问的次数。历史访问频次可以用于衡量子应用被使用情况。一个子应用的历史访问频次越高,表示该子应用越常用。
在确定目标子应用的一种可能实现方式中,确定平台应用中每个子应用的历史访问频次;对于平台应用中的一个子应用,判断子应用的历史访问频次是否满足预设条件,若该子应用的历史访问频次满足预设条件,则将该子应用确定为目标子应用。例如,将平台应用中各个子应用按照历史访问频次的大小进行排序,将历史访问频次排在前第一位数的子应用作为目标子应用,第一位数例如是入口槽位数。又如,从平台应用的各个子应用中选取历史访问频次大于频次阈值的子应用,作为目标子应用。
目标子应用的入口用于访问目标子应用的页面。当用户对目标子应用的入口触发点击或滑动等操作时,终端响应于对目标子应用触发的操作,显示目标子应用的页面,从而能够更加快捷地访问目标子应用的页面。目标子应用的入口可以称为目标子应用的快捷入口。目标子应用的入口的形态可以是图标、按钮、菜单、菜单项、标签页、链接或者其他页面元素。页面中目标子应用的入口周围可以显示有目标子应用的标识。
例如,统计用户对平台应用中各个子应用的历史访问频次,确定出平台应用中用户最常使用的子应用是虚拟机子应用,如图2所示,在平台应用的首页200上设置虚拟机子应用的快捷入口211,用户在首页200上点击一次快捷入口211,则平台应用的首页200切换为图1示出的首页100,在首页100中显示图1示出的虚拟机子应用的页面140,因此,用户在首页上执行一次点击操作,即可进入虚拟机子应用的页面,而不需要经过三个菜单的跳转,从而减少访问虚拟机子应用的操作路径,方便用户快速进入虚拟机子应用。
目标子应用的入口在页面的位置包括多种情况。例如,目标子应用的入口设于平台应用的首页、顶部工具栏或者其他位置。在一种可能的实现中,页面包括快捷入口槽位,快捷入口槽位是指页面中用于设置快捷入口的区域。目标子应用的入口设于页面的快捷入口槽位。快捷入口槽位可以是固定的位置,也可以是可拖拽的区域。
考虑到如果统计一个子应用的页面浏览(Page View,PV)量,将子应用的PV量作为子应用的历史访问频次,由于一个子应用的页面中通常可以触发多种类型的操作,基于页面的PV量统计,会导致难以将子应用的每种类型的操作均纳入至该子应用历史访问频次的统计范围内,导致得到的历史访问频次的精确性不足。此外,如果用户只是浏览了子应用的页面,而没有使用子应用来执行操作,这种纯浏览、不使用的行为也会被纳入历史访问频次的统计范围内,导致得到的历史访问频次的精确性不足。
基于此,本申请的一种可能实现方式中,基于一个子应用中API的历史调用次数统计该子应用的历史访问频次。
API历史调用次数是指某个特定API被调用的次数。在一种可能的实现中,API历史调用次数基于API请求次数确定。API的请求次数是指终端向服务器发送了针对该API的调用请求的次数。调用请求指示执行API对应的操作。例如,对于一个API,将终端发送的针对该API的调用请求的次数作为API历史调用次数。在另一种可能的实现中,API历史调用次数基于API响应次数确定,API响应次数是指执行API对应操作的服务器发送的针对该API的调用响应的次数。
通过基于API历史调用次数确定历史访问频次,由于一个子应用的页面上支持的每种类型的操作通常通过调用对应的API执行,API和操作大概率是一一对应的,因此基于API统计子应用的历史访问频次,有助于将一个子应用的页面上触发的各种类型的操作均纳入至该子应用历史访问频次的统计范围内,从而提升历史访问频次的精确性。
此外,由于API的调用是基于操作触发的,如果用户只是浏览了子应用的页面,而没有通过页面触发对子应用的操作,这种纯浏览、不使用的行为不会触发API调用,也就不会被纳入API的历史调用次数的统计范围,进而不会被纳入子应用的历史访问频次的统计范围内,从而降低浏览行为对统计历史访问频次造成的影响,提升历史访问频次的精确性。
总结来看,基于API的历史调用次数确定出的子应用的历史访问频次能更加准确地反映子应用实际的使用情况,因此子应用的历史访问频次更加精确。进一步地,由于利用统计出的历史访问频次确定设置为快捷入口的目标子应用,使得设置为快捷入口的目标子应用更大概率是用户实际最常使用的子应用,因此使得设置为快捷入口的目标子应用与用户的实际使用习惯更加匹配。
作为一个具体示例,虚拟机子应用的页面中可以触发创建虚拟机的操作、开机操作、关机操作以及导出虚拟机操作这四种操作,创建虚拟机的操作通过调用API 1实现,开机操作通过调用API 2实现,关机操作通过调用API 3实现,导出虚拟机操作通过调用API 4实现,通过统计API 1的历史调用次数、API 2的历史调用次数、API 3的历史调用次数以及API 4的历史调用次数,将四个API的历史调用次数累加到虚拟机子应用的历史访问频次,基于虚拟机子应用的历史访问频次判断虚拟机子应用是否是目标子应用,进而判断是否将虚拟机子应用的入口设于首页展示。
如果需要,本申请实施例可选择支持结合API的权重确定子应用的历史访问频次,从而减少推荐的入口误差。具体地,在一个子应用包含API的数量很多的场景下,如果直接将子应用中所有API的历史调用次数总和作为该子应用的历史访问频次,可能导致统计得到的历史访问频次偏大,进而造成子应用被设为快捷入口的概率偏大,引起推荐误差。反之,在一个子应用中仅包括一个API或者子应用包含的API的数量过少的场景下,如果直接将子应用中所有API的历史调用次数总和作为该子应用的历史访问频次,可能导致统计的历史访问频次偏小,进而造成该子应用被设为快捷入口的概率偏小,引起推荐误差。
举例来说,子应用A对应一个操作,子应用A对应的一个操作通过调用一个API实现,子应用A包括1个API,子应用B对应10个操作,子应用B对应的10个操作中每个操作通过调用一个对应的API实现,子应用B包括10个API。子应用A的1个API的历史调用次数可能不如子应用B中10个API的总历史调用次数那么多,因此在不引入权重的情况下,在基于子应用的总历史调用次数,从子应用A和子应用B中选择目标子应用时,子应用A大概率会被子应用B比下去,子应用A不会被选中,也不会被设置为快捷入口。那么,如果子应用A是一个对于用户很重要的子应用,重要子应用无法被设置为快捷入口,会导致重要子应用寻找路径过长的问题。
基于此,本申请的一种可能的实现中,结合API的权重以及API的历史调用次数统计子应用的历史访问频次。通过考虑API的权重,相当于API在历史访问频次统计过程中起到的作用大小可以灵活调整,从而减少推荐误差。
在结合API的权重以及API的历史调用次数统计子应用的历史访问频次的一种可能实现方式中,基于API的权重与API的历史调用次数的乘积确定包括该API的子应用的历史访问频次。例如,如果一个API的权重为1,则每调用该API一次,向该API所属的子应用的历史访问频次加1;如果一个API的权重为0.5,则每调用该API一次,向该API所属的子应用的历史访问频次加0.5。在一个子应用包括多个API的情况下,可以对API的历史调用次数与对应的API的权重进行相乘后进行累加,从而得到子应用的历史访问频次。例如,一个子应用包括2个API,分别是API 1和API 2,该子应用在时间周期a内的历史访问频次=API 1的权重*API 1在时间周期a内的历史调用次数+API 2的权重*API 2在时间周期a内的历史调用次数,依次类推,在子应用包括2个以上的API的情况下,采用类似的方式基于更多API的历史调用次数确定该子应用的历史访问频次。
在一种可能的实现方式中,该API的权重是基于历史数据确定的。举例说明,可以通过自适应权重算法基于历史数据确定该API的权重。具体地,根据用户的行为和反馈来动态调整API的权重,从而更好地满足用户需求。例如,使用历史操作数据、历史访问频次、用户反馈等信息来评估API的重要性,并据此调整该API的权重。通过持续收集和分析数据,该算法可以不断迭代和优化,以适应用户的操作习惯和需求的变化。举例来说,确定API的权重的过程包括如下步骤1至步骤3。
步骤1,收集历史数据:记录与API相关的历史数据,如API调用频次、用户反馈、响应时间、业务需求或操作行为等。
步骤2,基于历史数据,确定API的初始权重。
步骤3,迭代优化:根据用户的操作习惯和调用模式,实时更新API的权重。例如,如果某个API的调用频次下降,则相应降低其权重;如果某个API的调用频次增加,则增加其权重。
通过基于用户的操作习惯进行迭代优化,可以使API的权重更符合用户的需求和行为。这种确定API的权重的效果包括以下几个方面。
第一,个性化适配:根据不同用户的操作习惯和调用模式,动态调整API的权重,更加符合用户的需求和偏好。
第二,数据驱动决策:基于历史数据的统计分析和迭代优化,使API的权重更有依据,能够更准确地反映用户的需求和行为。
第三,可以根据用户的操作习惯和调用模式进行迭代优化,更加个性化和高效地满足用户的需求。由于权重不是一个固定的数字,而是一个动态的调整的参数,从而可以不断优化和适应用户的需求变化。
如果需要,本申请实施例可选择支持API的权重可配置,使得API的权重更符合用户的实际需求和偏好,进而有助于快捷入口的推荐更加个性化。
如果需要,本申请实施例可选择支持基于特定的统计时间区间确定子应用的历史访问频次,从而减少同一用户的角色改变之后造成的历史过多残留脏数据,也减少采用时间就近原则推荐快捷入口时引起的推荐结果与用户的主要使用场景之间的偏差。
具体地,考虑到不同角色的用户侧重使用的子应用有所区别,当同一用户的角色发生切换时,该用户对子应用的使用习惯随之变化,导致不同子应用的历史访问频次发生改变。例如,当用户的角色为虚拟机子应用的管理员时,该用户侧重执行虚拟机子应用页面的操作;当该用户的角色从虚拟机子应用的管理员切换至磁盘管理子应用的管理员后,该用户侧重执行磁盘管理子应用的页面的操作。如果基于用户自创建用户账号时刻起记录的所有数据来确定子应用的历史访问频次,相当于历史角色的访问数据和当前角色的访问数据会共同参与至历史访问频次的统计过程,那么历史角色的访问数据相当于残留的脏数据,会干扰当前角色的访问数据,造成统计的历史访问频次出现偏差。而如果采用时间就近原则的快捷入口推荐方法,例如推荐用户上一次或者最近几次操作的子应用,导致近期偶然访问的子应用被推荐的概率较高,容易偏离用户的主要使用场景,引起推荐误差。例如,运维人员通常集中访问运维子应用下的子页面,偶尔才会访问非运维子应用下的页面。如果运维人员在某天偶然访问了一个平时不经常访问的子应用A,如果按时间就近的推荐原则推荐子应用入口,则会首先推荐子应用A的入口,导致偏离了运维人员的主要使用场景,导致运维人员需要额外的操作才能找到主要使用的运维子应用。
基于此,本申请的一种可能实现方式中,限定了推荐子应用所基于的日志记录所落入的时间范围,基于特定的统计时间区间内每个API的日志记录确定子应用的历史访问频次,进而基于确定出的历史访问频次推荐子应用入口。统计时间区间的单位例如是月、季度、周或年等。由于确定子应用的历史访问频次时无需考虑统计时间区间之外的日志记录,从而降低统计时间区间之外的日志记录对确定历史访问频次造成的影响。例如,当一个用户的角色改变后,可以将新角色启用的时间点配置为统计时间区间的开始时间点,使得确定子应用的历史访问频次时无需考虑历史角色的日志记录,从而降低历史角色的日志记录对推荐子应用入口造成的影响。
此外,可以对统计时间区间内API的调用频次进行累加,从而得到历史访问频次,因此能利用更长时间范围内汇总的日志记录来推荐子应用入口,比如基于最近一个月内的日志记录推荐子应用入口,而非仅考虑最近一次或者最近几次的日志记录来推荐子应用入口,使得历史访问频次更能准确地描述用户的主要使用情况,降低偶然突发操作造成的影响。
如果需要,本申请实施例可选择支持统计时间区间可配置。通过这种方式,能够根据用户的使用习惯和需求,调整统计时间区间,以适应不同用户的使用情况,进而使得推荐的快捷入口更符合用户的主要使用场景。
在基于特定统计时间区间推荐子应用入口的一种可能的实现方式中,当触发对API的调用时,在日志记录中保存调用API的时间点。当需要推荐子应用入口时,判断日志记录中的时间点是否落入统计时间区间;如果日志记录中的时间点落入统计时间区间的范围内,则筛选出该日志记录;如果日志记录中的时间点不在统计时间区间的范围内,则无需考虑该日志记录。通过这种方式,相当于对推荐子应用入口时基于的日志记录进行了过滤。例如,将统计时间区间配置为最近t天,则选取最近t天的日志记录,而忽略最近t天的日志记录之前的历史数据。
如果需要,本申请实施例可选择支持多种配置统计时间区间的方式。例如,采用指定统计时间区间的长度的方式来配置统计时间区间。比如说,指定最近t天为统计时间区间,则将从当前时间往前推算t天的时间段作为统计时间区间。又如,指定一个起始时间点和结束时间点来配置统计时间区间,例如指定从2023年6月1日到2023年6月30日为统计时间区间。可选地,支持通过页面配置统计时间区间。例如,在平台应用的页面中显示时间选择控件。时间选择控件也可以称为日期选择器或时间选择器,用户可以通过时间选择控件配置统计时间区间。例如,时间选择控件是下拉框或者单选框,时间选择控件的选项包括至少一种候选统计时间区间,例如时间选择控件的选项包括最近一周、最近一月以及最近半年,用户可以对至少一种候选统计时间区间中的一种候选统计时间区间触发选择操作,系统可以将选择操作针对的候选统计时间区间确定为统计时间区间。又如,时间选择控件是时间范围选择框,时间范围选择框用于选择统计时间区间的开始时间以及统计时间区间的结束时间。用户可以从时间范围选择框中选择统计时间区间的开始时间以及统计时间区间的结束时间,系统可以将选中的开始时间至选中的结束时间作为统计时间区间。再如,时间选择控件是文字输入框,用户可以在文字输入框中输入统计时间区间的开始时间和统计时间区间的结束时间。
如果需要,可以将目标子应用的入口设于平台应用的首页上。首页是指整个Web应用程序的起始页面,是用户进入软件后首先看到的页面。由于在首页展示目标子应用的入口,使得目标子应用的入口层次减少至1,用户可以从首页进入目标子应用的页面,而无需经过其他层级的菜单或页面,从而进一步减少目标子应用的寻找路径,访问目标子应用所需的点击次数。
如果需要,本申请实施例可选择支持针对特定用户推荐子应用入口。具体地,考虑到不同用户对软件中不同子应用的操作频率不一定相同,例如运维人员更高频使用维护功能如日志收集、告警查看等,而管理员更高频使用业务功能等。基于此,本申请的一种可能实现中,将统计的粒度细化到以用户账号为粒度统计子应用的历史访问频次,针对特定用户账号确定子应用入口的展示方式。例如,分别统计每个用户账号对平台应用中每个子应用的历史访问频次,从而确定出一个特定用户账号最常访问的目标子应用,响应于该用户账号登录平台应用,显示该用户账号对应的目标子应用的快捷入口,使得针对不同用户展示的快捷入口符合用户的操作习惯,快捷入口的展示具有个性化差异。
确定子应用历史访问频次所基于的数据源可以是基于调用请求生成的日志记录。日志记录用于记录调用API的事件。例如,日志记录指示用户账号、API、子应用以及历史调用时间之间的对应关系。例如,日志记录包括用户账号、API的标识、子应用的页面路径以及历史调用时间。通过记录用户账号,便于统计特定用户对子应用的历史访问频次。通过记录API的标识以及子应用的页面路径,便于将每个API的调用分别统计至对应子应用的历史访问频次。通过记录历史调用时间,便于统计特定时间周期的历史访问频次。
用户账号用于标识用户,用户账号例如是用户账号、邮箱地址、手机号码、第三方平台的用户账号(如社交用户账号)或IP地址等。
日志记录中API的标识的形式可以是相对URL,相对URL的概念可参考前文描述。例如,API的标识包括API对应的操作的标识以及操作针对的资源的标识。相对URL格式的APIURL也可以称为API请求路径。例如,API的标识采用类似于“/resource/{id}/action”的格式,其中“resource”表示资源类型,“{id}”表示资源的标识符,“action”表示进行操作。例如,一个用于对虚拟机进行开机操作的API的标识是resource/virtual-machine/power-on,该URL中包含了三个部分:resource:表示资源的类型,这里指的是虚拟机资源。virtual-machine:表示虚拟机的标识符。power-on表示进行的操作,这里指的是开机操作。通过API的标识,表示API的功能是实现对虚拟机资源进行开机操作。或者,日志记录中API的标识也可以是绝对URL。例如,一条日志记录中API对应的字段包括该API的完整URL,不仅包含路径部分,也包含协议类型、域名和端口号。
日志记录中子应用的页面路径可以是相对的URL。子应用的页面路径用于指示服务器上保存页面的位置,例如,子应用的页面路径通过服务器的文件目录表示。子应用的页面路径也可以是绝对的URL。
在生成日志记录的一种可能实现方式中,当接收到一个API的调用请求后,从调用请求获得API的标识,例如在HTTP报文中,可以从请求行(Request Line)获取API的标识;查询API的标识与子应用的页面路径之间的对应关系,得到子应用的页面的URL;获得调用请求中携带的时间戳作为历史调用时间,或者记录接收到调用请求的时间点作为历史调用时间;保存API的标识、子应用的页面的URL、历史调用时间以及用户账号之间的对应关系,得到一条日志记录。
确定子应用历史访问频次所基于的数据源也可以是操作日志。操作日志是记录系统或应用程序中用户执行的操作行为的一种记录方式。它可以用来追踪和审计用户的操作,以便于系统管理员、开发人员或安全团队进行故障排查、安全监控、数据分析等工作。例如,操作日志可以包括用户账号、访问的API以及执行API对应的操作的时间。通过基于操作日志确定子应用历史访问频次,从而无需单独维护日志记录,因此减少了维护日志记录造成的开销。
如果需要,本申请实施例可选择支持配置通过快捷入口展示的目标子应用的数量。例如,将快捷入口的数量设置为6个,则在平台应用的首页中显示6个子应用的快捷入口;又如,将快捷入口的数量设置为3个,则在平台应用的首页中显示3个子应用的快捷入口;由于快捷入口的数量是可配置的,可以使平台应用更加灵活和便捷。用户可以根据自身的需求和使用习惯,自主选择需要作为快捷入口显示的子应用的数量,这样可以快速地进入常用的子应用,提高用户的使用体验和操作效率。
此外,考虑到如果采用固定功能入口的方式,例如将平台应用中哪些子应用的入口放在首页中展示设置为固定值,又如将平台应用的首页中展示的快捷入口的数量设定为固定值,会导致快捷入口的展示方式适配的用户数量较少,快捷入口的展示方式无法跟随用户个人的使用习惯而动态变化,无法针对特定用户定制快捷入口,导致访问快捷入口的效率较低。基于此,在本申请的一种可能实现方式中,通过统计用户对每个子应用中每个API触发的请求次数,基于用户配置的每个API的权重以及每个API触发的请求次数,确定用户对每个子应用的历史访问频次,基于用户对每个子应用的历史访问频次,从平台应用的每个子应用中选择历史访问频次排在前k位的k个目标子应用,在首页中设置该k个目标子应用的入口,从而实现针对用户定制化展示快捷入口。
目标子应用的数量可以仅是一个,目标子应用的数量也可以是多个。在目标子应用的数量为多个的情况下,不同目标子应用的入口可以按照历史访问频次从大到小的顺序在页面中依次排列。例如,目标子应用包括第一目标子应用和第二目标子应用,第一目标子应用的历史访问频次大于第二目标子应用,在平台应用的页面中第一目标子应用的入口设于第二目标子应用的入口的上方。又如,第一目标子应用对应的槽位号小于第二目标子应用对应的槽位号。槽位号用于标识快捷入口槽位。例如,目标子应用一共有k个,k个目标子应用中历史访问频次最大的目标子应用的入口设于页面中第一个快捷入口槽位,k个子应用中历史访问频次最小的子应用的入口设于页面中第k个快捷入口槽位。通过这种方式,由于历史访问频次越大的子应用的入口在页面中的位置越靠前,使得越经常使用的子应用的入口越优先展示,进一步提高访问子应用入口的便捷性,同时也减少了用户在页面上的浏览和搜索常用子应用的时间。
在一个示例性实施例中,针对一个页面有多个操作的平台应用,通过统计特定时间周期内每个页面的子应用下每个API的历史调用次数,基于每个API的权重将每个API的历史调用次数累加到该子应用的历史访问频次,从平台应用的所有子应用中选择历史访问频次排在前k位的子应用,将历史访问频次排在前k位的子应用以快捷入口的方式提供给用户。基于这种方式,准确地识别高频操作项(高频操作项例如是历史访问频次排在前k位的子应用)并定制化展示到页面,方便用户快速进入自己高频使用的子应用,减少用户操作路径。
可替代地,将一个子应用中每个API历史调用次数之和作为该子应用的历史访问频次。
下面结合三种更具体的应用场景举例说明。
用户成功登录平台应用后,在平台应用的首页展示的快捷入口列表中,展示用户最近最常用到的子应用的快捷入口,具体分为以下三种场景。
场景一,尚未对平台应用的子应用触发操作的用户(例如新用户)访问平台应用的首页,系统响应于未查找到用户账号对应的日志记录,系统在平台应用的首页中展示平台应用中默认子应用的入口,从而推荐默认子应用。
在一个示例性场景中,请参考图3,平台应用中默认推荐的子应用包括虚拟机子应用、集群子应用、主机子应用、日志收集子应用、数据存储资源子应用以及分布式交换机子应用这6个子应用。当一个新用户访问平台应用的首页时,系统基于该用户的用户账号查找日志记录。由于新用户尚未针对子应用触发操作,系统中没有保存包含该用户的用户账号的日志记录。响应于未查找到日志记录,系统在平台应用的首页300中展示默认的虚拟机子应用的入口301、集群子应用的入口302、主机子应用的入口303、日志收集子应用的入口304、数据存储资源子应用的入口305以及分布式交换机子应用的入口306。
场景二,历史访问的子应用的数量小于快捷入口槽位数量的用户访问平台应用的首页,系统响应于日志记录指示历史访问的子应用的数量小于快捷入口槽位数量,将平台应用的常用子应用和默认子应用设置于首页中的快捷入口槽位。
在一个示例性场景中,平台应用的首页中包括m个快捷入口的槽位,用户在历史时间段访问了平台应用的k个子应用,k小于m,k和m均为正整数。系统基于用户账号查找日志记录,得到k个子应用的日志记录。由于k个子应用无法填满首页中所有快捷入口的槽位,系统将k个子应用设置于平台应用的首页中的k个快捷入口槽位,k个快捷入口槽位中每个快捷入口槽位设有历史时间段访问过的一个子应用的入口。此外,将(m-k)个默认子应用的入口设置于平台应用的首页中(m-k)个快捷入口槽位,(m-k)个快捷入口槽位中每个快捷入口槽位中设有一个默认子应用的入口。
在一种可能的实现中,用户历史时间段访问的k个子应用的入口与(m-k)个默认子应用的入口在首页中按照特定的顺序依次排列。例如,在m个快捷入口槽位中,第1个快捷入口槽位至第k个快捷入口槽位设置有历史时间段访问过的k个子应用的入口,第(k+1)个快捷入口槽位至第m个快捷入口槽位设置有(m-k)个默认子应用的入口。由于使用更靠前的快捷入口槽位展示历史时间段访问过的子应用的入口,从而在历史访问子应用以及默认子应用之中为用户更优先推荐历史使用的子应用。
在一个示例性场景中,请参考图2,平台应用的首页中快捷入口的槽位数量为6个,用户在历史时间段访问了虚拟机子应用、集群子应用、磁盘管理子应用以及日志收集子应用这4个子应用。当该用户访问平台应用的首页时,系统响应于在用户的日志记录中查找到虚拟机子应用、集群子应用、磁盘管理子应用以及日志收集子应用这4个子应用,将虚拟机子应用、集群子应用、磁盘管理子应用以及日志收集子应用这4个子应用的入口设于首页中前4个快捷入口槽位。
其中,针对虚拟机子应用、集群子应用、磁盘管理子应用以及日志收集子应用这四个子应用的入口的展示顺序,系统对虚拟机子应用、集群子应用、磁盘管理子应用以及日志收集子应用这四个子应用按照历史访问频次从大到小的顺序进行排序,系统确定虚拟机子应用、集群子应用、磁盘管理子应用以及日志收集子应用这四个子应用中历史访问频次最大的子应用是虚拟机子应用,历史访问频次其次大的子应用是集群子应用,之后是磁盘管理子应用,历史访问频次最小的子应用是日志收集子应用,因此将虚拟机子应用的入口设置于首页中第一个快捷入口槽位201,将集群子应用的入口设置于首页中第二个快捷入口槽位202,将磁盘管理子应用的入口设置于首页中第三个快捷入口槽位213,将日志收集子应用的入口设置于首页中第四个快捷入口槽位214。
此外,针对剩余的2个快捷入口槽位,系统从预先设定的最近使用(most recentlyused,mRU)子应用中确定排在前2位的子应用,得到审计日记子应用以及任务中心子应用,将审计日记子应用设于第五个快捷入口槽位215,将任务中心子应用设于第六个快捷入口槽位216,得到如图2所示的页面。
场景三,历史访问的子应用的数量大于或等于快捷入口槽位数量的用户访问平台应用的首页。
系统响应于历史访问的子应用的数量大于或等于快捷入口槽位数量,从平台应用的各个子应用中,确定最近的统计时间区间内用户最常用的k个子应用,将最近的统计时间区间内用户最常用的k个子应用的入口设置于首页中的快捷入口槽位。
在一个示例性场景中,请参考图3,平台应用的首页中快捷入口的槽位数量为6个,用户在历史时间段访问了虚拟机子应用、集群子应用、主机子应用、日志收集子应用、数据存储子应用以及分布式交换机子应用这6个子应用。
当用户访问平台应用的首页时,系统响应于在用户的日志记录中查找到虚拟机子应用、集群子应用、主机子应用、日志收集子应用、数据存储子应用以及分布式交换机子应用,系统对虚拟机子应用、集群子应用、主机子应用、日志收集子应用、数据存储子应用以及分布式交换机子应用按照历史访问频次从大到小的顺序进行排序,得到虚拟机子应用、集群子应用、主机子应用、日志收集子应用、数据存储子应用以及分布式交换机子应用。系统将虚拟机子应用的入口设置于首页中第一个快捷入口槽位301,将集群子应用的入口设置于首页中第二个快捷入口槽位302,将主机子应用的入口设置于首页中第三个快捷入口槽位303,将日志收集子应用的入口设置于首页中第四个快捷入口槽位304,将数据存储子应用的入口设置于首页中第五个快捷入口槽位305,将分布式交换机子应用的入口设置于首页中第六个快捷入口槽位306。
下面对本申请实施例的系统架构举例说明。
附图4是本申请实施例提供的一种系统运行环境的示意图,附图4所示环境包括终端410和服务器420。终端410通过通信网络与服务器420网络连接。
终端410(terminal)是指具有显示屏、支持人机交互功能、拥有接入网络的能力、通常搭载有操作系统的设备。终端410包括而不限于个人计算机、笔记本电脑、智能手机、平板电脑、物联网设备和便携式可穿戴设备,物联网设备可为智能音箱、智能电视、智能空调、智能车载设备等。便携式可穿戴设备可为智能手表、智能手环、头戴设备等。终端410上可以运行浏览器软件。
服务器420可以为独立的服务器或者是多个服务器组成的服务器集群。服务器420可以安装和运行数据库440。数据库440为管理和访问数据而设计的软件。数据库440例如是数据库管理系统(Database Management System,简称DBMS)、MySQL、Oracle或者MongoDB等。数据库440允许通过定义表、字段和关系来组织数据,并提供了一套接口和命令来访问和操作数据库。
附图5是本申请实施例提供的一种日志记录获取方法的流程图。附图5所示方法包括如下步骤。
S610,终端410响应于针对平台应用中第一子应用中第一API触发的指令,生成调用请求。终端410向服务器420发送调用请求。
该平台应用包括多个子应用,每个该子应用包括一个或多个API。调用请求用于指示调用第一API。调用请求包括第一API的标识以及该第一API的历史调用时间点。
API的标识是指用于唯一标识和识别一个API的字符串。API的标识例如为API的URL,又如为API的唯一标识符(Universally Unique Identifier,UUID),再如为API的函数或方法的名称,再如为API的标签或命名空间。
以第一子应用为虚拟机子应用,第一API为上电虚拟机的操作对应的API为例,例如,请参考附图7,终端410显示虚拟机子应用的页面140,当用户在虚拟机子应用的页面140上点击上电按钮141时,终端410响应于对上电按钮141的点击操作,向API服务器发送上电虚拟机请求,上电虚拟机请求包括API的标识resource/virtual-machine/power-on,上电虚拟机请求用于指示执行上电虚拟机的操作。
以第一子应用为虚拟机子应用,第一API为下电虚拟机的操作对应的API为例,又如,请参考图7,当用户在虚拟机子应用的页面140上点击下电按钮142时,终端410响应于对下电按钮142的点击操作,向API服务器发送下电请求,下电请求包括API的标识resource/virtual-machine/power-off,下电请求用于指示执行下电虚拟机的操作。
以第一子应用为虚拟机子应用,第一API为克隆虚拟机的操作对应的API为例,例如,请参考图7,当用户在虚拟机子应用的页面140上点击克隆按钮143时,终端410响应于对克隆按钮143的点击操作,向API服务器发送克隆请求,克隆请求包括API的标识resource/virtual-machine/clone,克隆请求用于指示执行克隆虚拟机的操作。
以第一子应用为虚拟机子应用,第一API为创建虚拟机的操作对应的API为例,例如,请参考图7,当用户在虚拟机子应用的页面140上点击创建按钮144时,终端410响应于对创建按钮144的点击操作,向API服务器发送创建请求,创建请求包括API的标识resource/virtual-machine/create,创建请求用于指示执行创建虚拟机的操作。
以第一子应用为虚拟机子应用,第一API为重启虚拟机的操作对应的API为例,例如,请参考图7,当用户在虚拟机子应用的页面140上点击更多按钮145时,Web前端显示更多按钮145对应的下拉菜单146,下拉菜单146包括重启按钮1461,当用户点击重启按钮1461时,终端410响应于对重启按钮1461的点击操作,向API服务器发送重启请求,重启请求包括resource/virtual-machine/restart,重启请求用于指示执行重启虚拟机的操作。
以第一子应用为磁盘管理子应用为例,终端410显示磁盘管理子应用的页面。用户对磁盘管理子应用的页面进行操作。终端410响应于用户的操作,基于操作对应的磁盘管理子应用的API,向API服务器403发送调用请求。
以第一子应用为磁盘管理子应用,第一API为创建磁盘操作对应的API为例,例如,请参考图8,当用户在磁盘管理子应用的页面150上点击创建磁盘按钮151时,Web前端响应于对创建磁盘按钮151的点击操作,向API服务器发送创建磁盘请求,创建磁盘请求包括resource/disk/create,创建磁盘请求用于指示执行创建磁盘操作。
以第一子应用为磁盘管理子应用,第一API为编辑磁盘操作对应的API为例,例如,请参考图8,当用户在磁盘管理子应用的页面150上点击编辑磁盘按钮152时,Web前端响应于对编辑磁盘按钮152的点击操作,向API服务器发送编辑磁盘请求,编辑磁盘请求包括resource/disk/edit,编辑磁盘请求用于指示执行编辑磁盘操作。
以第一子应用为磁盘管理子应用,第一API为删除磁盘的操作对应的API为例,例如,请参考图8,当用户在磁盘管理子应用的页面150上点击更多按钮153时,Web前端显示更多按钮153对应的下拉菜单154,下拉菜单154包括删除按钮1541和安全删除按钮1542,当用户点击删除按钮1541时,Web前端响应于对删除按钮1541的点击操作,向API服务器发送删除请求,删除请求包括resource/disk/del,删除请求用于指示执行删除磁盘操作。
以第一子应用为磁盘管理子应用,第一API为安全删除磁盘的操作对应的API为例,例如,请参考图8,当用户点击安全删除按钮1542时,终端410响应于对安全删除按钮1542的点击操作,向API服务器发送安全删除请求,安全删除请求包括resource/disk/security-del,安全删除请求用于指示执行安全删除磁盘操作。
S620,服务器420接收来自终端410的调用请求,基于第一API的标识,查找数据库中保存的第一对应关系,从该多个子应用的标识中确定第一子应用的标识。
第一对应关系包括API的标识以及子应用的标识。子应用的标识是用于标识一个子应用的字符串。子应用的标识例如为子应用的页面路径,又如为子应用的名称,再如为子应用的UUID。
通过第一对应关系,有助于明确每个API所属的子应用是哪个子应用,从而在统计历史访问频次时,能够准确地确定出每个API的调用频次应该归入至哪个子应用的历史访问频次,这样可以在日志记录和后续的分析过程中,将API调用与具体子应用进行关联,进行更具体和细粒度的分析和统计。
例如,第一对应关系如下表1所示。
表1
virtual-machine/是虚拟机子应用的标识。
resource/virtual-machine/power-on是虚拟机子应用内上电操作对应的API的标识。
resource/virtual-machine/power-off是虚拟机子应用内的下电操作对应的API的标识。
resource/virtual-machine/clone是虚拟机子应用内的克隆虚拟机操作对应的API的标识。
resource/virtual-machine/create是虚拟机子应用内的创建虚拟机操作对应的API的标识。
resource/virtual-machine/restart是虚拟机子应用内的重启虚拟机操作对应的API的标识。
disk是磁盘管理子应用的标识。
resource/disk/create是磁盘管理子应用内的创建磁盘操作对应的API的标识。
resource/disk/edit是磁盘管理子应用内的编辑磁盘操作对应的API的标识。resource/disk/del是磁盘管理子应用内的删除磁盘操作对应的API的标识。
resource/disk/security-del是磁盘管理子应用内的安全删除磁盘操作对应的API的标识。
举例说明,实现第一对应关系的程序代码如下。
以上代码中,consoleMruValue为一个数组,该数组用于保存平台应用中不同子应用的映射关系。
S630,服务器420将第一API的历史调用时间点、第一API的标识以及第一子应用的标识保存至日志记录,将日志记录保存至数据库440。
日志记录用于记录用户账号、API的标识、子应用的标识以及API的历史调用时间点。
用户账号用于标识用户。用户账号可以从调用请求中获得。或者,在用户登录时,服务器420生成一个会话标识(Session ID),并将会话标识(Session ID)保存在浏览器的Cookie中。当用户进行操作时,终端410会自动将会话标识(Session ID)携带在调用请求中发送给服务器420,服务器420可以基于调用请求中携带的会话标识(Session ID)以及会话标识与用户账号之间的对应关系获得用户账号。
API的标识可以从调用请求中获得。例如,服务器420从调用请求中的请求行获得API的标识。
历史调用时间指示触发调用请求的时间点。历史调用时间可以是调用请求中携带的时间戳,也可以是服务器420接收到调用请求的时间点。
例如,服务器420从来自终端410的上电虚拟机请求获得API的标识resource/virtual-machine/power-on、历史调用时间点为2023-03-17 00:31:26、用户账号为Name1,基于API的标识查询表1,得到子应用的标识为virtual-machine,将API的标识resource/virtual-machine/power-on、子应用的标识virtual-machine、历史调用时间点2023-03-1700:31:26和用户账号Name1作为一条日志记录(表2中除了表头之外的第一条表项)写入至数据库440,数据库440保存日志记录。
又如,服务器420从来自终端410的创建磁盘请求获得API的标识resource/disk/create、历史调用时间点为2023-03-16 22:31:20,用户账号为Name1,基于API的标识查询表1,得到子应用的标识为disk,将API的标识resource/disk/create、子应用的标识disk、API的历史调用时间点2023-03-16 22:31:20和用户账号Name1作为一条日志记录(表2中除了表头之外的第五条表项)写入至数据库440,数据库440保存日志记录。
日志记录表2
通过将历史API调用相关的信息保存至日志记录,包括历史调用时间点、API标识和子应用标识,从而实现对这些信息进行持久化存储,以便后续的查询和分析。
本实施例提供的方法,通过后台获取日志记录的过程,服务器可以获取到用户账号、API的标识、子应用的标识以及API的历史调用时间点等信息。这些日志记录提供了历史操作数据,从而为后续基于结合用户历史行为习惯推荐模块入口提供准确的依据。
附图6是本申请实施例提供的一种平台应用的页面生成方法的流程图。附图6所示方法可以利用附图5所示方法中获取的日志记录来确定平台应用的页面中子应用标识的顺序。该平台应用包括多个子应用,每个该子应用包括一个或多个API。
S640,终端410向服务器420发送获取请求。获取请求指示获取平台应用的页面。获取请求可以是基于HTTP协议的请求报文。获取请求可以是HTTP请求或者HTTPS请求。获取请求也可以是基于文件传输协议的请求报文。例如,获取请求为FTP请求。
在一种可能的实现中,获取请求包括用户账号、统计时间区间以及槽位数。由于获取请求携带用户账号、统计时间区间以及槽位数,从而指明页面中需要包含指定用户账号在指定统计时间区间内指定数量的目标子应用的入口。
在一个示例性实施例中,当终端410需要展示快捷入口,例如用户对平台应用的首页触发访问指令时,终端410向服务器420发送获取请求。
例如,在加载平台应用的首页的过程中,终端410基于当前登录用户的用户账号(例如Name1)、统计时间区间(例如最近3天)以及槽位数(例如6),向服务器420发送获取请求。例如,获取请求为HTTPS请求报文,HTTPS请求报文的请求行包括如下内容:https:// host/api/console/MRU?TopM=6&UserName=Name1&day=3,该请求指示获取的页面中包括当前用户在统计时间区间T中历史访问频次排在前m位的子应用的入口,TopM=6表示历史访问频次排在前6位的子应用。UserName=Name1表示查询的用户账号为Name1;day=3代表统计时间区间是最近3天,即查询最近3天的日志记录中高频访问的子应用。S650,服务器420响应于获取请求,基于每个子应用的历史API的历史调用次数,确定每个子应用的历史访问频次。
在一种可能的实现中,基于每个该子应用的API的历史调用次数以及每个该API的权重,确定每个该子应用的历史访问频次。例如,基于日志记录确定一个子应用中每个API的历史调用次数,从数据库440获得每个API的权重,将每个API的历史调用次数和每个API的权重对应相乘再进行累加,得到子应用的历史访问频次。平台应用的一个子应用的历史访问频次为该子应用中每个API的历史调用次数与该API对应的权重的乘积的和值。由于根据每个API的历史调用次数和权重的乘积累加得到子应用的历史访问频次,能够更准确地反映用户对子应用的实际使用情况,可以更准确地计算子应用的历史访问频次,减少误差,使得历史访问频次的统计结果更可靠。
在一种可能的实现中,该API的权重是基于历史数据确定的。基于历史数据确定API的权重的过程请参考上文,此处不做赘述。
在一种可能的实现中,该API的权重是基于配置操作确定的。作为一种配置API权重的可能实现方式,在平台应用的界面中显示多个数字输入框,每个数字输入框用于配置一个API的权重,每个数字输入框的名称为API对应的操作类型,用户可以通过数字输入框触发输入操作,系统可以将数字输入框中输入的数字作为API权重。
在一种可能的实现中,基于每个该子应用的API在统计时间区间内的历史调用次数,确定每个该子应用的历史访问频次。
在一种可能的实现中,基于API的历史调用时间点,从多个日志记录中选择目标日志记录,该日志记录用于指示历史调用时间点、API以及子应用之间的对应关系,该目标日志记录中的历史调用时间点属于该统计时间区间的范围之内;基于该目标日志记录,获取每个该子应用的API的历史调用次数。
举例说明,遍历数据库440保存的每条日志记录,对日志记录中的历史调用时间点与统计时间区间进行比较,如果一条日志记录中的历史调用时间包含在统计时间区间的范围之内,则将该日志记录选中为目标日志记录。
子应用的历史访问频次时无需考虑统计时间区间之外的日志记录,从而降低统计时间区间之外的日志记录对确定历史访问频次造成的影响。例如,当一个用户的角色改变后,可以将新角色启用的时间点配置为统计时间区间的开始时间点,使得确定子应用的历史访问频次时无需考虑历史角色的日志记录,从而降低历史角色的日志记录对推荐子应用入口造成的影响。
在一种可能的实现中,基于登录至该平台应用的用户账号对应的每个该子应用的API的历史调用次数,获得每个该子应用的历史访问频次。
举例说明,遍历数据库440保存的每条日志记录,对日志记录中的用户账号登录至该平台应用的用户账号进行比较,如果一条日志记录中日志记录中的用户账号与登录至该平台应用的用户账号相同,则将该日志记录选中为目标日志记录。通过结合当前登录的用户的日志记录统计历史访问频次,支持针对特定用户推荐应用入口,使得针对不同用户展示的快捷入口符合用户的操作习惯,快捷入口的展示具有个性化差异。
在一种可能的实现中,基于登录至该平台应用的用户账号对应的每个该子应用的API在统计时间区间内的历史调用次数,获得每个该子应用的历史访问频次。
举例说明,遍历数据库440保存的每条日志记录,对日志记录中的用户账号登录至该平台应用的用户账号进行比较,对日志记录中的历史调用时间点与统计时间区间进行比较,如果一条日志记录中日志记录中的用户账号与登录至该平台应用的用户账号相同且历史调用时间包含在统计时间区间内,则将该日志记录选中为目标日志记录。
示例性地,登录至平台应用的用户账号为Name1,统计时间区间T(最近3天)。服务器420遍历表2中的每条日志记录,判断每条日志记录中的用户账号是否为用户账号Name1,并判断表2中每条日志记录中的Time是否属于最近3天;如果日志记录中的用户账号为用户账号Name1且日志记录中的Time属于最近3天,则筛选出该日志记录。
示例性地,数据库440中保存第二对应关系,第二对应关系包括API的标识以及API的权重,第二对应关系例如表3所示。可以基于API的标识查询表3,得到API的权重。
表3
API的标识 权重
resource/virtual-machine/power-on 1
resource/virtual-machine/power-off 1
resource/virtual-machine/clone 0.5
resource/virtual-machine/create 1
resource/hard-disk/create 1
resource/hard-disk/edit 1
resource/hard-disk/del 0.5
resource/hard-disk/security-del 0.5
例如,针对确定虚拟机子应用的历史访问频次的过程,对于表2中第一条日志记录,服务器420以API的标识resource/virtual-machine/power-on为索引,查找表3,得到API的标识resource/virtual-machine/power-on对应的权重是1。
服务器420以API的标识resource/virtual-machine/power-off为索引,查找表3,得到API的标识resource/virtual-machine/power-off的权重是1。
服务器420以API的标识resource/virtual-machine/clone为索引,查找表3,得到API的标识resource/virtual-machine/clone的权重是0.5。
服务器420以API的标识resource/virtual-machine/create为索引,查找表3,得到API的标识resource/virtual-machine/create的权重是1。
服务器420对查找得到的各个API的历史调用次数(例如API的标识在表2中的出现次数)与API的权重进行相乘再累加,得到虚拟机子应用的历史访问频次=1*1+1*1+1*0.5+1*1=3.5。由于本例中虚拟机子应用的4个API中每个API的历史调用次数刚好是1,所以最终得到的虚拟机子应用的历史访问频次相当于四种API的权重之和。
例如,针对确定磁盘管理子应用的历史访问频次的过程,服务器420以API的标识resource/disk/create为索引,查找表3,得API的标识resource/disk/create对应的权重是1。服务器420以API的标识resource/disk/edit为索引,查找表3,得到API的标识resource/disk/edit对应的权重是1。服务器420以API的标识resource/hard-disk/del为索引,查找表3,得到API的标识resource/hard-disk/del对应的权重是0.5;服务器420以API的标识resource/hard-disk/security-del为索引,查找表3,得到API的标识resource/hard-disk/security-del对应的权重是0.5。服务器420对查找得到的各个API的历史调用次数与API的权重进行相乘再累加,得到磁盘管理子应用的历史访问频次=1*1+1*1+1*0.5+1*0.5=3。
S660,服务器420基于平台应用中一个或多个子应用的历史访问频次,从一个或多个子应用中确定目标子应用,目标子应用的历史访问频次满足预设条件。
在一种可能的实现中,该预设条件包括历史访问频次排在前设定位数,该基于每个该子应用的历史访问频次,从每个该子应用中确定目标子应用,包括:对每个该子应用按照历史访问频次进行排序;从排序后的每个该子应用中,选择历史访问频次排在前设定位数的子应用,作为该目标子应用。
通过对子应用按照历史访问频次进行排序,达到的效果包括下述几个方面。
第一,简化操作流程:通过对子应用按照历史访问频次进行排序,可以将常用的子应用排在前面,用户可以更快速地找到并访问自己经常使用的功能。相比于无序排列的子应用列表,有序排列的子应用列表能够提供更直观、更高效的导航体验。
第二,减少搜索时间:对子应用按照历史访问频次进行排序后,用户可以通过快速浏览排在前面的子应用找到目标子应用,无需在大量的选项中进行搜索。这样能够节省用户的时间和精力,提高用户的操作效率。
第三,提高命中率:通过选择历史访问频次排在前设定位数的子应用作为目标子应用,可以更准确地推荐用户可能感兴趣的子应用。根据用户的行为模式和历史访问频次,使得推荐的目标子应用更符合用户的偏好,提高命中率和用户的满意度。
在一种可能的实现中,该目标子应用包括第一目标子应用和第二目标子应用,该第一目标子应用的入口和该第二目标子应用的入口在该平台应用的页面中按照历史访问频次的顺序依次排列。由于历史访问频次越大的子应用的入口在页面中的位置越靠前,使得越经常使用的子应用的入口越优先展示,进一步提高访问子应用入口的便捷性,同时也减少了用户在页面上的浏览和搜索常用子应用的时间。
例如,请参考图3,第一目标子应用例如为虚拟机子应用,第二目标子应用例如为磁盘管理子应用,虚拟机子应用的历史访问频次为3.5,磁盘管理子应用的历史访问频次3,虚拟机子应用的历史访问频次大于磁盘管理子应用的历史访问频次,因此虚拟机子应用的入口位于磁盘管理子应用的入口之前。依次类推,对虚拟机子应用、集群子应用、主机子应用、日志收集子应用、数据存储子应用以及分布式交换机子应用按照历史访问频次从大到小的顺序进行排序,得到虚拟机子应用、集群子应用、主机子应用、日志收集子应用、数据存储子应用以及分布式交换机子应用。系统将虚拟机子应用的入口设置于首页中第一个快捷入口槽位201,将集群子应用的入口设置于首页中第二个快捷入口槽位202,将主机子应用的入口设置于首页中第三个快捷入口槽位203,将日志收集子应用的入口设置于首页中第四个快捷入口槽位204,将数据存储子应用的入口设置于首页中第五个快捷入口槽位205,将分布式交换机子应用的入口设置于首页中第六个快捷入口槽位206,得到图2所示的页面。
在一种可能的实现中,服务器420从管理平台的所有子应用中选择历史访问频次排在前k位的子应用。k为槽位数量。如果k等于0(没有子应用被访问,对应上文中的场景一),则服务器420将固定的m个默认常用子应用的入口设置于平台应用的页面中。如果k小于m(对应上文中的场景二),则服务器420将k个历史访问子应用的页面路径以及(m-k)个默认常用子应用的入口设置于平台应用的页面中。k个历史访问子应用的快捷入口是按照筛选出来的日志记录中的API的历史访问频次排序的。如果k等于m(对应上文中的场景三),则服务器420将k个历史访问子应用的入口设置于平台应用的页面中。
在另一种可能的实现中,该历史访问频次满足预设条件包括历史访问频次大于或等于频次阈值,该基于每个该子应用的历史访问频次,从每个该子应用中确定目标子应用,包括:对每个该子应用的历史访问频次分别与频次阈值进行比较;从每个该子应用中,选择历史访问频次大于或等于频次阈值的子应用,作为该目标子应用。由于基于每个子应用的API历史调用次数获取历史访问频次,并与频次阈值进行比较,有助于提高历史访问频次的准确性。通过对每个子应用的实际API历史调用次数进行统计,可以更有依据地判断每个子应用的实际使用情况,降低基于估算或假设得出的历史访问频次数据可能引入的误差。此外,可以根据需求和业务规则来灵活地设置阈值。这样可以根据具体情况判断哪些子应用的历史访问频次达到或超过了设定的阈值,从而作为目标子应用。灵活设置频次阈值有助于适应不同应用场景和用户行为模式。
在一种可能的实现中,服务器420确定对应用户和对应统计时间区间内平台应用的k个子应用的历史访问频次。服务器420进行如下处理:
如果k等于0,则服务器420将固定的m个默认常用子应用的入口设置于平台应用的页面中。如果k小于m,则服务器420将k个历史访问子应用的页面路径以及(m-k)个默认常用子应用的入口设置于平台应用的页面中。k个历史访问子应用的快捷入口是按照筛选出来的日志记录中的API的历史访问频次排序的。如果k等于m,则服务器420将k个历史访问子应用的入口设置于平台应用的页面中。
S670,服务器420生成该平台应用的页面,该平台应用的页面包括该目标子应用的入口。
例如,服务器420将该目标子应用的图标、该目标子应用的描述文本以及该目标子应用的页面路径添加至该平台应用的页面,该目标子应用的页面路径用于访问该目标子应用的页面。例如,描述文本为子应用的名称。图标为表示目标子应用的图像,图标帮助用户更快速地识别子应用的入口和区分不同子应用的入口。
例如,服务器420在平台应用的页面的HTML文件中添加目标子应用对应的<a>标签。将目标子应用的名称以及目标子应用的图标设置为<a>标签的值,以便显示目标子应用的名称以及目标子应用的图标。此外,将目标子应用的页面路径设置为<a>标签的href属性的值,以便用户单击子应用名称或者子应用图标时,就会跳转到子应用的页面。
在一种可能的实现中,服务器420保存第三对应关系,第三对应关系包括子应用的标识、子应用的图标、子应用的描述文本以及所子应用的页面路径,服务器420基于目标子应用的标识查找第三对应关系,获得目标子应用的图标、该目标子应用的描述文本以及该目标子应用的页面路径。
例如,基于第三对应关系的处理逻辑样例如下:
以上代码使用了switch语句,该switch语句用于根据参数res的值来选择不同的分支,并分别进行相应的操作。
参数res是一个变量,Web前端会将服务器420返回的子应用的URL赋值给参数res。
quickAccess快捷入口按钮,该快捷入口按钮包括文本和图标。
quickAccess.label表示快捷入口按钮的标签文本,该标签文本例如为页面上显示的快捷入口对应的文字,快捷入口对应的文字例如是子应用的名称。
quickAccess.imageUrl表示快捷入口按钮的图标路径,该图标路径例如是页面上显示的快捷入口对应的图标的路径,该图标例如是表示子应用的图像。
this.translate.instant()是一个用于翻译的函数,用于将给定的字符串进行翻译,并返回翻译后的结果。
assets/icon/home/qiuck-access-virtual-machine.svg是名称为qiuck-access-virtual-machine、格式为SVG的图标的地址,图标qiuck-access-virtual-machine为虚拟机子应用的图标,用于展示虚拟机子应用的快捷入口。
assets/icon/home/qiuck-access-hard-disk.svg是名称为qiuck-access-hard-disk、格式为SVG的图标的地址,图标qiuck-access-hard-disk为磁盘管理子应用的图片,用于展示磁盘管理子应用的快捷入口。
assets/icon/home/qiuck-access-container.svg是名称为qiuck-access-container-group、格式为SVG的图标的地址,图标qiuck-access-container-group为容器组子应用的图标,用于展示容器组子应用的快捷入口。
assets/icon/home/qiuck-access-storage-pool.svg是名称为qiuck-access-storage-pool、格式为SVG的图标的地址,图标qiuck-access-storage-pool为存储池子应用的图片,用于展示存储池子应用的快捷入口。
assets/icon/home/iuck-access-storage-node.svg是名称为qiuck-access-storage-node、格式为SVG的图标的地址,图标qiuck-access-storage-node为存储节点子应用的图片,用于展示存储节点子应用的快捷入口。
assets/icon/home/qiuck-access-persistent-volume.svg是名称为qiuck-access-persistent-volume、格式为SVG的图标的地址,图标qiuck-access-persistent-volume为PVC子应用的图片,用于展示PVC子应用的快捷入口。
SVG(Scalable Vector Graphics)的中文表述为可缩放矢量图形。它是一种基于XML语法的标准矢量图形格式,可以在Web上直接显示。
break表示结束该case分支,避免执行其他分支。
例如,当子应用的标识包括virtual-machine,则将作为快捷入口的快捷入口按钮的标签文本设置为翻译后的“VIRTUAL-MACHINE”字符串,如“虚拟机”,并且将作为快捷入口的快捷入口按钮的图标设置为图标qiuck-access-virtual-machine。
当子应用的标识包括hard-disk,则将作为快捷入口的快捷入口按钮的标签文本设置为翻译后的“STORAGE_HARD_DISK”字符串,如“存储-硬盘”,并且将作为快捷入口的快捷入口按钮的图标设置为图标qiuck-access-hard-disk。
当子应用的标识包括container-group,则将作为快捷入口的快捷入口按钮的标签文本设置为翻译后的“'PODS_TITLE”字符串,如“容器组”,并且将作为快捷入口的快捷入口按钮的图标设置为图标resource/qiuck-access-container-group。
当子应用的标识包括storage-node,则将作为快捷入口的快捷入口按钮的标签文本设置为翻译后的“STORAGE_NODE”字符串,如“存储节点”,并且将作为快捷入口的快捷入口按钮的图标设置为图标qiuck-access-storage-node。
当子应用的标识包括persistent-volume,则将作为快捷入口的快捷入口按钮的标签文本设置为翻译后的“STORAGE_PERSISTENT_VOLUME”字符串,如“存储-PVC”,并且将作为快捷入口的快捷入口按钮的图标设置为图标qiuck-access-persistent-volume。
例如,服务器420在平台应用的首页的CSS文件设置k个子应用的快捷入口的布局。例如,设置k个子应用的快捷入口的对齐方式以及间距,设置k个子应用中每个子应用的子应用名称的字体大小、子应用名称的字体颜色、子应用名称与子应用图标之间的间隔、子应用图标的宽度以及子应用图标的高度。
S680,服务器420向终端410发送平台应用的页面。
例如,服务器420向终端410发送页面的HTML文件以及CSS文件。HTML文件包括目标子应用对应的<a>标签,<a>标签包括目标子应用的标识,<a>标签的href属性包括第二页面的URL。CSS文件包括目标子应用的入口的样式。例如,CSS文件包括鼠标hover于目标子应用的入口时目标子应用的入口的背景颜色以及手型指针。
S690,终端410显示平台应用的页面。
本实施例提供的方法,由于基于API的历史调用次数,确定模块的历史访问频次,基于历史访问频次确定出目标模块(高频操作的子应用),将目标模块的入口设于页面上,从而便于用户快速找到,并进入高频操作的子应用,缩短了用户寻找路径,减少了用户的点击次数。
在一种可能的实现中,终端在页面中渲染快捷入口的样式。可选地,终端针对快捷入口渲染鼠标hover效果。鼠标hover效果指鼠标悬停在页面元素上时,该页面元素的外观和样式发生变化。通过渲染鼠标hover效果,从而提示用户通过快捷入口能够跳转至子应用的页面。例如,当鼠标悬停在快捷入口上时,快捷入口的背景颜色从灰色变为浅灰色,同时鼠标指针变成手型指针,提示用户该快捷入口可以点击。在一种可能的实现中,在CSS文件中定义快捷入口的样式时,为每个快捷入口定义两组CSS类,一组是正常状态的样式,另一组则是鼠标hover状态的样式,鼠标hover时会自动触发第二组样式,这样可以通过简单的CSS属性变化来实现鼠标hover效果,从而明显区分出每个快捷入口的位置和状态。
图9是本实施例提供的一种平台应用的页面生成装置的示意图,该装置包括:
获取单元921,用于基于每个该子应用的API的历史调用次数,获得每个该子应用的历史访问频次;
确定单元922,用于基于每个该子应用的历史访问频次,从一个或多个该子应用中确定目标子应用,该目标子应用的历史访问频次满足预设条件;
生成单元923,用于生成该平台应用的页面,该平台应用的页面包括该目标子应用的入口。
在一种可能的实现方式中,该预设条件包括历史访问频次排在前设定位数,该确定单元922,用于对每个该子应用按照历史访问频次进行排序;选择历史访问频次排在前设定位数的子应用,作为该目标子应用。
在一种可能的实现方式中,该预设条件包括历史访问频次大于或等于频次阈值,该确定单元922,用于对每个该子应用的历史访问频次分别与频次阈值进行比较;从每个该子应用中,选择历史访问频次大于或等于频次阈值的子应用,作为该目标子应用。
在一种可能的实现方式中,该获取单元921,用于基于每个该子应用的API的历史调用次数以及每个该API的权重,获得每个该子应用的历史访问频次。
在一种可能的实现方式中,该API的权重是基于历史数据确定的;或者,该API的权重是基于配置操作确定的。
在一种可能的实现方式中,该获取单元921,用于基于每个该子应用的API在统计时间区间内的历史调用次数,获得每个该子应用的历史访问频次。
在一种可能的实现方式中,该获取单元921,还用于基于API的历史调用时间点,从多个日志记录中选择目标日志记录,该日志记录用于指示历史调用时间点、API的标识以及子应用的标识之间的对应关系,该目标日志记录中的历史调用时间点包含在该统计时间区间内;基于该目标日志记录,获取每个该子应用的API的历史调用次数。
在一种可能的实现方式中,该获取单元921,还用于捕获来自终端的调用请求,该调用请求用于指示调用该一个或多个API中第一API,该调用请求包括该第一API的标识以及该第一API的历史调用时间点;基于该第一API的标识以及对应关系,从该一个或多个子应用的标识中获取第一子应用的标识,该对应关系包括该第一API的标识以及该第一子应用的标识;
该装置还包括:保存单元,用于将该第一API的历史调用时间点、该第一API的标识以及该第一子应用的标识保存至日志记录。
在一种可能的实现方式中,该获取单元921,用于基于登录该平台应用的用户账号对应的每个该子应用的API的历史调用次数,获得每个该子应用的历史访问频次。
在一种可能的实现方式中,该目标子应用包括多个目标子应用,该多个目标子应用的入口在该平台应用的页面中按照历史访问频次的顺序依次排列。
在一种可能的实现方式中,该平台应用的页面为该平台应用的首页。
图9所描述的装置实施例仅仅是示意性的,例如,上述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。例如,上述获取单元921、确定单元922和生成单元923是由附图10中的一个或多个处理器901读取存储器902中存储的程序代码后,生成的软件功能单元来实现。
附图10是本申请实施例提供的一种服务器900的结构示意图。服务器900包括一个或多个处理器901、存储器902以及一个或多个网络接口903。
处理器901例如是通用中央处理器(central processing unit,CPU)、网络处理器(network processer,NP)、图形处理器(graphics processing unit,GPU)、神经网络处理器(neural-network processing units,NPU)、数据处理单元(data processing unit,DPU)、微处理器或者一个或多个用于实现本申请方案的集成电路。例如,处理器901包括专用集成电路(application-specific integrated circuit,ASIC),可编程逻辑器件(programmable logic device,PLD)或其组合。PLD例如是复杂可编程逻辑器件(complexprogrammable logic device,CPLD)、现场可编程逻辑门阵列(field-programmable gatearray,FPGA)、通用阵列逻辑(generic array logic,GAL)或其任意组合。
存储器902例如是只读存储器(read-only memory,ROM)或可存储静态信息和指令的其它类型的静态存储设备,又如是随机存取存储器(random access memory,RAM)或者可存储信息和指令的其它类型的动态存储设备,又如是电可擦可编程只读存储器(electrically erasable programmable read-only Memory,EEPROM)、只读光盘(compactdisc read-only memory,CD-ROM)或其它光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其它磁存储设备,或者是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其它介质,但不限于此。可选地,存储器902独立存在,并通过内部连接904与处理器901相连接。或者,可选地存储器902和处理器901集成在一起。
网络接口903使用任何收发器一类的装置,用于与其它设备或通信网络通信。网络接口903例如包括有线网络接口或者无线网络接口中的至少一项。其中,有线网络接口例如为以太网接口。以太网接口例如是光接口,电接口或其组合。无线网络接口例如为无线局域网(wireless local area networks,WLAN)接口,蜂窝网络接口或其组合等。
在一些实施例中,处理器901包括一个或多个CPU,如附图10中所示的CPU0和CPU1。
在一些实施例中,服务器900可选地包括多个处理器,如附图10中所示的处理器901和处理器905。这些处理器中的每一个例如是一个单核处理器(single-CPU),又如是一个多核处理器(multi-CPU)。这里的处理器可选地指一个或多个设备、电路、和/或用于处理数据(如计算机程序指令)的处理核。
在一些实施例中,服务器900还包括内部连接904。处理器901、存储器902以及一个或多个网络接口903通过内部连接904连接。内部连接904包括通路,在上述组件之间传送信息。可选地,内部连接904是单板或总线。可选地,内部连接904分为地址总线、数据总线、控制总线等。
在一些实施例中,服务器900还包括输入输出接口906。输入输出接口906连接到内部连接904上。
可选地,处理器901通过读取存储器902中保存的程序代码实现上述实施例中的方法,或者,处理器901通过内部存储的程序代码实现上述实施例中的方法。在处理器901通过读取存储器902中保存的程序代码实现上述实施例中的方法的情况下,存储器902中保存实现本申请实施例提供的方法的程序代码910。
处理器901实现上述功能的更多细节请参考前面各个方法实施例中的描述,在这里不再重复。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分可互相参考,每个实施例重点说明的都是与其他实施例的不同之处。
上述实施例可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。该计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行该计算机程序指令时,全部或部分地产生按照本申请实施例描述的流程或功能。该计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。该计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,该计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。该计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。该可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。

Claims (10)

1.一种平台应用的页面生成方法,其特征在于,所述平台应用包括一个或多个子应用,每个所述子应用包括一个或多个API,所述方法包括:
基于每个所述子应用的API的历史调用次数,确定每个所述子应用的历史访问频次;
基于每个所述子应用的历史访问频次,从一个或多个所述子应用中确定目标子应用,所述目标子应用的历史访问频次满足预设条件;
生成所述平台应用的页面,所述平台应用的页面包括所述目标子应用的入口。
2.根据权利要求1所述的方法,其特征在于,所述预设条件包括历史访问频次排在前设定位数,所述基于每个所述子应用的历史访问频次,从一个或多个所述子应用中确定目标子应用,包括:
对每个所述子应用按照历史访问频次进行排序;
选择历史访问频次排在前设定位数的子应用,作为所述目标子应用。
3.根据权利要求1所述的方法,其特征在于,所述预设条件包括历史访问频次大于或等于频次阈值,所述基于每个所述子应用的历史访问频次,从每个所述子应用中确定目标子应用,包括:
对每个所述子应用的历史访问频次分别与频次阈值进行比较;
从每个所述子应用中,选择历史访问频次大于或等于频次阈值的子应用,作为所述目标子应用。
4.根据权利要求1所述的方法,其特征在于,所述基于每个所述子应用的API的历史调用次数,确定每个所述子应用的历史访问频次,包括:
基于每个所述子应用的API的历史调用次数以及每个所述API的权重,确定每个所述子应用的历史访问频次。
5.根据权利要求4所述的方法,其特征在于,所述API的权重是基于历史数据确定的;或者,
所述API的权重是基于配置操作确定的。
6.根据权利要求1所述的方法,其特征在于,所述基于每个所述子应用的API的历史调用次数,获得每个所述子应用的历史访问频次,包括:
基于每个所述子应用的API在统计时间区间内的历史调用次数,获得每个所述子应用的历史访问频次。
7.根据权利要求6所述的方法,其特征在于,所述基于每个所述子应用的API的历史调用次数,获得每个所述子应用的历史访问频次之前,所述方法还包括:
基于API的历史调用时间点,从多个日志记录中选择目标日志记录,所述日志记录用于指示历史调用时间点、API的标识以及子应用的标识之间的对应关系,所述目标日志记录中的历史调用时间点包含在所述统计时间区间内;
基于所述目标日志记录,获取每个所述子应用的API的历史调用次数。
8.根据权利要求7所述的方法,其特征在于,所述基于API的历史调用时间点,从多个日志记录中选择目标日志记录之前,所述方法还包括:
捕获来自终端的调用请求,所述调用请求用于指示调用所述一个或多个API中第一API,所述调用请求包括所述第一API的标识以及所述第一API的历史调用时间点;
基于所述第一API的标识以及对应关系,从所述一个或多个子应用的标识中获取第一子应用的标识,所述对应关系包括所述第一API的标识以及所述第一子应用的标识;
将所述第一API的历史调用时间点、所述第一API的标识以及所述第一子应用的标识保存至日志记录。
9.根据权利要求1所述的方法,其特征在于,所述基于每个所述子应用的API的历史调用次数,获得每个所述子应用的历史访问频次,包括:
基于登录所述平台应用的用户账号对应的每个所述子应用的API的历史调用次数,获得每个所述子应用的历史访问频次。
10.一种服务器,其特征在于,所述服务器包括:处理器,所述处理器与存储器耦合,所述存储器中存储有至少一条计算机程序指令,所述至少一条计算机程序指令由所述处理器加载并执行,以使所述服务器实现权利要求1-10中任一项所述的方法。
CN202310913182.0A 2023-07-20 2023-07-20 平台应用的页面生成方法及服务器 Pending CN117055978A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310913182.0A CN117055978A (zh) 2023-07-20 2023-07-20 平台应用的页面生成方法及服务器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310913182.0A CN117055978A (zh) 2023-07-20 2023-07-20 平台应用的页面生成方法及服务器

Publications (1)

Publication Number Publication Date
CN117055978A true CN117055978A (zh) 2023-11-14

Family

ID=88659929

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310913182.0A Pending CN117055978A (zh) 2023-07-20 2023-07-20 平台应用的页面生成方法及服务器

Country Status (1)

Country Link
CN (1) CN117055978A (zh)

Similar Documents

Publication Publication Date Title
US11893703B1 (en) Precise manipulation of virtual object position in an extended reality environment
US11366686B1 (en) Managing user data in a multitenant deployment
US11429627B2 (en) System monitoring driven by automatically determined operational parameters of dependency graph model with user interface
US10997190B2 (en) Context-adaptive selection options in a modular visualization framework
US9195372B2 (en) Methods, systems, and computer program products for grouping tabbed portion of a display object based on content relationships and user interaction levels
US11410403B1 (en) Precise scaling of virtual objects in an extended reality environment
US11886430B1 (en) Intent-based natural language processing system
US20200104401A1 (en) Real-Time Measurement And System Monitoring Based On Generated Dependency Graph Models Of System Components
US20210027458A1 (en) Geofence-based object identification in an extended reality environment
US8521732B2 (en) Presentation of an extracted artifact based on an indexing technique
US11790623B1 (en) Manipulation of virtual object position within a plane of an extended reality environment
US9065827B1 (en) Browser-based provisioning of quality metadata
US11526575B2 (en) Web browser with enhanced history classification
US20170193059A1 (en) Searching For Applications Based On Application Usage
US11574429B1 (en) Automated generation of display layouts
US11544282B1 (en) Three-dimensional drill-down data visualization in extended reality environment
US11699268B1 (en) Techniques for placement of extended reality objects relative to physical objects in an extended reality environment
US12112010B1 (en) Data visualization in an extended reality environment
JP2024524462A (ja) 目標推薦方法、装置及び記憶媒体
CN102446094A (zh) 用于有效地实现系统和桌面配置增强的装置和方法
US11048760B1 (en) Techniques for placing content in and applying layers in an extended reality environment
US10157210B2 (en) Searching and accessing software application functionality using application connections
US20170192978A1 (en) Searching For Applications Based On Application Usage
CN114519153B (zh) 一种网页历史记录显示方法、装置、设备及存储介质
CN117055978A (zh) 平台应用的页面生成方法及服务器

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