CN111859139A - 应用程序推荐方法、装置、计算设备和介质 - Google Patents
应用程序推荐方法、装置、计算设备和介质 Download PDFInfo
- Publication number
- CN111859139A CN111859139A CN202010734025.XA CN202010734025A CN111859139A CN 111859139 A CN111859139 A CN 111859139A CN 202010734025 A CN202010734025 A CN 202010734025A CN 111859139 A CN111859139 A CN 111859139A
- Authority
- CN
- China
- Prior art keywords
- application program
- target application
- category
- historical users
- current user
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9535—Search customisation based on user profiles and personalisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/906—Clustering; Classification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/61—Installation
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Stored Programmes (AREA)
Abstract
本公开提供了一种应用程序推荐方法,包括:获取多个历史用户的日志数据,所述日志数据包括历史用户所使用的应用程序信息;基于所述应用程序信息,将所述多个历史用户划分为多个类别;针对每个类别,确定属于所述类别的历史用户所使用的至少一个应用程序作为与所述类别相关联的目标应用程序;确定所述目标应用程序的运行条件,并基于所述运行条件处理所述目标应用程序以得到处理后的目标应用程序;以及将与至少一个类别相关联的处理后的目标应用程序推荐给当前用户,以便所述当前用户在所述运行条件下运行所述目标应用程序。本公开还提供了一种应用程序推荐装置、一种计算设备以及一种计算机可读存储介质。
Description
技术领域
本公开涉及计算机技术领域,特别是涉及一种应用程序推荐方法、一种应用程序推荐装置、一种计算设备以及一种计算机可读存储介质。
背景技术
目前日常办公、生产运营等众多场景均需要依赖于计算机进行。计算机办公的前提是办公人员所需要的应用程序均正确安装、参数均完成调试、环境配置均正常等准备工作均已完成,应用程序可以包括办公软件。相关技术中,办公人员需要投入大量的时间在前期准备工作中,例如安装应用程序、调试应用程序等等,不仅消耗人力和时间,而且重复工作繁多导致工作效率较低。例如,由于每个应用程序的安装包是独立的,不仅需要办公人员一个一个手动打开安装包,而且还需要进行安装、设置参数、调试等一系列工作。当需要安装的应用程序数量较多时,需要不断重复,效率较低。并且安装包本身占用本地大量存储空间,在众多应用程序安装包中查找所需要的安装包耗费时间和精力,导致办公人员的工作难度较大。
发明内容
有鉴于此,本公开提供了一种优化的应用程序推荐方法、应用程序推荐装置、计算设备和计算机可读存储介质。
本公开的一个方面提供了一种应用程序推荐方法,包括:获取多个历史用户的日志数据,所述日志数据包括历史用户所使用的应用程序信息,基于所述应用程序信息,将所述多个历史用户划分为多个类别,针对每个类别,确定属于所述类别的历史用户所使用的至少一个应用程序作为与所述类别相关联的目标应用程序,确定所述目标应用程序的运行条件,并基于所述运行条件处理所述目标应用程序以得到处理后的目标应用程序,将与至少一个类别相关联的处理后的目标应用程序推荐给当前用户,以便所述当前用户在所述运行条件下运行所述目标应用程序。
根据本公开实施例,上述基于所述运行条件处理所述目标应用程序包括:去除所述目标应用程序中不满足所述运行条件的信息以得到待运行的目标应用程序,基于所述运行条件,运行所述待运行的目标应用程序,在运行所述待运行的目标应用程序的过程中出现错误信息的情况下,配置所述目标应用程序,确定配置后的目标应用程序作为处理后的目标应用程序。
根据本公开实施例,上述配置所述目标应用程序包括以下至少一种:修改所述目标应用程序的参数值,将满足所述运行条件的信息添加至所述目标应用程序中。
根据本公开实施例,上述将与至少一个类别相关联的处理后的目标应用程序推荐给当前用户包括:获取所述当前用户的日志数据,基于所述当前用户的日志数据,从所述多个类别中确定出目标类别,所述当前用户的日志数据与属于所述目标类别的历史用户的日志数据之间的相似度满足预设相似度条件,将与所述目标类别相关联的处理后的目标应用程序推荐给所述当前用户。
根据本公开实施例,上述基于所述应用程序信息,将所述多个历史用户划分为多个类别包括:确定所述多个历史用户的应用程序信息之间的相似度,基于所述相似度,将所述多个历史用户划分为多个类别。
根据本公开实施例,上述针对每个类别,确定属于所述类别的历史用户所使用的至少一个应用程序作为与所述类别相关联的目标应用程序包括:针对每个类别,确定属于所述类别的历史用户所使用的多个应用程序,从所述多个应用程序中确定出至少一个应用程序作为与所述类别相关联的目标应用程序,其中,所述类别中使用所述目标应用程序的历史用户的数量大于使用其他应用程序的历史用户的数量,所述其他应用程序包括除了所述目标应用程序之外的应用程序。
根据本公开实施例,在将与至少一个类别相关联的处理后的目标应用程序推荐给当前用户之后,所述方法还包括:接收所述当前用户的安装指令,响应于所述安装指令安装所述目标应用程序。
根据本公开实施例,上述应用程序包括以下至少一种:应用软件、安装所述应用软件所需的配置脚本、运行所述应用软件所需的运行环境信息。
本公开的另一个方面提供了一种应用程序推荐装置,包括:获取模块、划分模块、第一确定模块、第二确定模块以及推荐模块。其中,获取模块,用于获取多个历史用户的日志数据,所述日志数据包括历史用户所使用的应用程序信息。划分模块,用于基于所述应用程序信息,将所述多个历史用户划分为多个类别。第一确定模块,用于针对每个类别,确定属于所述类别的历史用户所使用的至少一个应用程序作为与所述类别相关联的目标应用程序。第二确定模块,用于确定所述目标应用程序的运行条件,并基于所述运行条件处理所述目标应用程序以得到处理后的目标应用程序。推荐模块,用于将与至少一个类别相关联的处理后的目标应用程序推荐给当前用户,以便所述当前用户在所述运行条件下运行所述目标应用程序。
根据本公开实施例,上述基于所述运行条件处理所述目标应用程序包括:去除所述目标应用程序中不满足所述运行条件的信息以得到待运行的目标应用程序,基于所述运行条件,运行所述待运行的目标应用程序,在运行所述待运行的目标应用程序的过程中出现错误信息的情况下,配置所述目标应用程序,确定配置后的目标应用程序作为处理后的目标应用程序。
根据本公开实施例,上述配置所述目标应用程序包括以下至少一种:修改所述目标应用程序的参数值,将满足所述运行条件的信息添加至所述目标应用程序中。
根据本公开实施例,上述将与至少一个类别相关联的处理后的目标应用程序推荐给当前用户包括:获取所述当前用户的日志数据,基于所述当前用户的日志数据,从所述多个类别中确定出目标类别,所述当前用户的日志数据与属于所述目标类别的历史用户的日志数据之间的相似度满足预设相似度条件,将与所述目标类别相关联的处理后的目标应用程序推荐给所述当前用户。
根据本公开实施例,上述基于所述应用程序信息,将所述多个历史用户划分为多个类别包括:确定所述多个历史用户的应用程序信息之间的相似度,基于所述相似度,将所述多个历史用户划分为多个类别。
根据本公开实施例,上述针对每个类别,确定属于所述类别的历史用户所使用的至少一个应用程序作为与所述类别相关联的目标应用程序包括:针对每个类别,确定属于所述类别的历史用户所使用的多个应用程序,从所述多个应用程序中确定出至少一个应用程序作为与所述类别相关联的目标应用程序,其中,所述类别中使用所述目标应用程序的历史用户的数量大于使用其他应用程序的历史用户的数量,所述其他应用程序包括除了所述目标应用程序之外的应用程序。
根据本公开实施例,在将与至少一个类别相关联的处理后的目标应用程序推荐给当前用户之后,所述装置还包括:接收模块和安装模块。其中,接收模块,用于接收所述当前用户的安装指令,安装模块,用于响应于所述安装指令安装所述目标应用程序。
根据本公开实施例,上述应用程序包括以下至少一种:应用软件、安装所述应用软件所需的配置脚本、运行所述应用软件所需的运行环境信息。
本公开的另一方面提供了一种计算设备,包括:一个或多个处理器;存储器,用于存储一个或多个程序,其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如上所述的方法。
本公开的另一方面提供了一种非易失性可读存储介质,存储有计算机可执行指令,所述指令在被执行时用于实现如上所述的方法。
本公开的另一方面提供了一种计算机程序,所述计算机程序包括计算机可执行指令,所述指令在被执行时用于实现如上所述的方法。
根据本公开的实施例,利用如上所述的应用程序推荐方法,可以至少部分地解决相关技术中由于每个应用程序的安装包是独立的,不仅需要用户一个一个手动打开安装包,而且还需要进行安装、设置参数、调试等一系列工作,当需要安装的应用程序数量较多时,需要不断重复,导致效率较低的技术问题。因此可以实现提高应用程序安装效率,提高用户的办公效率的技术效果。
附图说明
为了更完整地理解本公开及其优势,现在将参考结合附图的以下描述,其中:
图1示意性示出了根据本公开实施例的应用程序推荐方法和应用程序推荐装置的应用场景;
图2示意性示出了根据本公开实施例的应用程序推荐方法的流程图;
图3示意性示出了根据本公开另一实施例的应用程序推荐方法的流程图;
图4示意性示出了根据本公开实施例的处理目标应用程序的流程图;
图5示意性示出了根据本公开实施例的推荐目标应用程序的流程图;
图6示意性示出了根据本公开实施例的应用程序推荐装置的框图;以及
图7示意性示出了根据本公开实施例的用于实现应用程序推荐的计算机系统的方框图。
具体实施方式
以下,将参照附图来描述本公开的实施例。但是应该理解,这些描述只是示例性的,而并非要限制本公开的范围。在下面的详细描述中,为便于解释,阐述了许多具体的细节以提供对本公开实施例的全面理解。然而,明显地,一个或多个实施例在没有这些具体细节的情况下也可以被实施。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本公开的概念。
在此使用的术语仅仅是为了描述具体实施例,而并非意在限制本公开。在此使用的术语“包括”、“包含”等表明了所述特征、步骤、操作和/或部件的存在,但是并不排除存在或添加一个或多个其他特征、步骤、操作或部件。
在此使用的所有术语(包括技术和科学术语)具有本领域技术人员通常所理解的含义,除非另外定义。应注意,这里使用的术语应解释为具有与本说明书的上下文相一致的含义,而不应以理想化或过于刻板的方式来解释。
在使用类似于“A、B和C等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有A、B和C中至少一个的系统”应包括但不限于单独具有A、单独具有B、单独具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B、C的系统等)。
附图中示出了一些方框图和/或流程图。应理解,方框图和/或流程图中的一些方框或其组合可以由计算机程序指令来实现。这些计算机程序指令可以提供给通用计算机、专用计算机或其他可编程控制装置的处理器,从而这些指令在由该处理器执行时可以创建用于实现这些方框图和/或流程图中所说明的功能/操作的装置。
因此,本公开的技术可以硬件和/或软件(包括固件、微代码等)的形式来实现。另外,本公开的技术可以采取存储有指令的计算机可读存储介质上的计算机程序产品的形式,该计算机程序产品可供指令执行系统使用或者结合指令执行系统使用。在本公开的上下文中,计算机可读存储介质可以是能够包含、存储、传送、传播或传输指令的任意介质。例如,计算机可读存储介质可以包括但不限于电、磁、光、电磁、红外或半导体系统、装置、器件或传播介质。计算机可读存储介质的具体示例包括:磁存储装置,如磁带或硬盘(HDD);光存储装置,如光盘(CD-ROM);存储器,如随机存取存储器(RAM)或闪存;和/或有线/无线通信链路。
本公开的实施例提供了一种应用程序推荐方法,包括:获取多个历史用户的日志数据,日志数据包括历史用户所使用的应用程序信息,基于应用程序信息,将多个历史用户划分为多个类别,针对每个类别,确定属于类别的历史用户所使用的至少一个应用程序作为与类别相关联的目标应用程序。然后,确定目标应用程序的运行条件,并基于运行条件处理目标应用程序以得到处理后的目标应用程序。接下来,将与至少一个类别相关联的处理后的目标应用程序推荐给当前用户,以便当前用户在运行条件下运行目标应用程序。
图1示意性示出了根据本公开实施例的应用程序推荐方法和应用程序推荐装置的应用场景。需要注意的是,图1所示仅为可以应用本公开实施例的应用场景的示例,以帮助本领域技术人员理解本公开的技术内容,但并不意味着本公开实施例不可以用于其他设备、系统、环境或场景。
如图1所示,根据该实施例的应用场景100可以包括终端设备101、和服务器102。在终端设备101和服务器102之间提供有通信链路。例如,通信链路可以包括各种连接类型,如有线和/或无线通信链路。
用户可以使用终端设备101通过通信链路与服务器102交互,以接收或发送消息等。终端设备101可以是计算机等其他电子设备。
根据本公开的实施例,服务器102上可以安装有应用程序推荐安装工具、应用程序更新工具等(仅为示例)。其中,服务器102可以是云端服务器。
根据本公开的实施例,可以将应用程序推荐安装工具部署在服务器102之外的其他服务器上。
根据本公开的实施例,本公开实施例所提供的应用程序推荐方法可以由服务器102执行,或者也可以由不同于服务器102的其他服务器执行。相应地,本公开实施例所提供的应用程序推荐装置可以设置于服务器102中,或设置于不同于服务器102的其他服务器102中。
或者,需要说明的是,本公开实施例所提供的应用程序推荐方法一般可以由服务器102执行。相应地,本公开实施例所提供的应用程序推荐装置一般可以设置于服务器102中。本公开实施例所提供的应用程序推荐方法也可以由不同于服务器102且能够与终端设备101和/或服务器102通信的服务器或服务器集群执行。相应地,本公开实施例所提供的应用程序推荐装置也可以设置于不同于服务器102且能够与终端设备101和/或服务器102通信的服务器或服务器集群中。
应该理解,图1中的终端设备和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备和服务器。
下面结合图1的应用场景,参考图2~图5来描述根据本公开示例性实施方式的应用程序推荐方法。需要注意的是,上述应用场景仅是为了便于理解本公开的精神和原理而示出,本公开的实施方式在此方面不受任何限制。
图2示意性示出了根据本公开实施例的应用程序推荐方法的流程图。
如图2所示,本公开实施例的应用程序推荐方法例如可以包括操作S210~操作S250。
在操作S210,获取多个历史用户的日志数据,日志数据包括历史用户所使用的应用程序信息。
根据本公开实施例,应用程序可以包括应用软件、安装应用软件所需的配置脚本、运行应用软件所需的运行环境信息等。
在操作S220,基于应用程序信息,将多个历史用户划分为多个类别。
例如,将使用应用程序类别相似的历史用户划分到一个类别,使得每个类别中的历史用户所使用的应用程序相似。例如,一个类别中的历史用户主要使用办公类软件,另一个类别中的历史用户主要使用测试类软件,再另一类别中的历史用户主要使用技术类软件。
在操作S230,针对每个类别,确定属于类别的历史用户所使用的至少一个应用程序作为与类别相关联的目标应用程序。
例如,以一个类别为例,该类别的历史用户例如主要使用办公类软件,该类别的历史用户例如包括50个用户,该50个历史用户例如总共使用20个应用程序,可以确定20个应用程序中的至少一个应用程序作为与该类别相关联的目标应用程序。例如,可以确定20个应用程序中的8个应用程序作为与该类别相关联的目标应用程序。
在操作S240,确定目标应用程序的运行条件,并基于运行条件处理目标应用程序以得到处理后的目标应用程序。
根据本公开实施例,例如基于企业内部的配置环境确定运行条件,并基于运行条件来处理目标应用程序,以便处理后的目标应用程序与企业内部的配置环境之间不冲突,使得处理后的目标应用程序适应于在企业内部环境中运行。
接下来,在操作S250,将与至少一个类别相关联的处理后的目标应用程序推荐给当前用户,以便当前用户在运行条件下运行目标应用程序。
例如,可以分析当前用户的需求,将当前用户所需的至少一个类别对应的目标应用程序推荐给当前用户。其中,该当前用户例如为企业内部的新用户,该当前用户在接收到推荐的目标应用程序之后,可以在与企业内部的配置环境不冲突的运行条件下运行目标应用程序。
可以理解,本公开实施例通过根据历史用户所使用的应用程序信息将历史用户划分为多个类别,并确定每个类别的历史用户所使用的应用程序作为与每个类别相关联的目标应用程序。然后,对每个类别的目标应用程序进行处理,使其与企业内部的配置环境之间不冲突,以便于将处理后的目标应用程序推荐给当前用户,从而提高了当前用户的应用程序安装效率,提高当前用户的办公效率。
图3示意性示出了根据本公开另一实施例的应用程序推荐方法的流程图。
如图3所示,本公开实施例的应用程序推荐方法例如可以包括操作S210~操作S250以及操作S310~操作S320。其中,操作S310~操作S320可以在操作S250之后执行。操作S210~操作S250与图2中描述的操作相同或类似,在此不再赘述。
在操作S310,接收当前用户的安装指令。
在操作S320,响应于安装指令安装目标应用程序。
根据本公开实施例,在将与至少一个类别相关联的处理后的目标应用程序推荐给当前用户之后,当前用户可以根据自己的需求确定是否接收所推荐的目标应用程序。如果当前用户接收所推荐的目标应用程序,则当前用户可以针对目标应用程序发送安装指令来确定将所推荐的目标应用程序安装在当前用户的本地客户端中。
图4示意性示出了根据本公开实施例的处理目标应用程序的流程图。
如图4所示,操作S240中关于基于运行条件处理目标应用程序可以包括操作S241~操作S244。
在操作S241,去除目标应用程序中不满足运行条件的信息以得到待运行的目标应用程序。
例如,删除目标应用程序中与企业内部的配置环境相互冲突的内容,删除后得到待运行的目标应用程序。
在操作S242,基于运行条件,运行待运行的目标应用程序。
例如,基于运行条件运行待运行的目标应用程序可以包括在虚拟机中安装待运行的目标应用程序,以便确定目标应用程序在安装过程中是否存在安装冲突或产生错误信息。
在操作S243,在运行待运行的目标应用程序的过程中出现错误信息的情况下,配置目标应用程序。
在操作S244,确定配置后的目标应用程序作为处理后的目标应用程序。
当在虚拟机中安装待运行的目标应用程序产生错误信息时,可以通过对待运行的目标应用程序进行配置调试。其中,可以通过预设的调试程序和脚本进行自动配置调试。当通过预设的调试程序和脚本无法解决冲突时,可以通过发送调试请求,以便通知用户通过输入调试代码进行配置调试。
根据本公开实施例,配置目标应用程序例如可以包括:修改目标应用程序的参数值,或者将满足运行条件的信息添加至目标应用程序中。
其中,修改目标应用程序的参数值,使得修改后的参数值符合企业内部的配置环境。或者,将与操作S241中去除的信息相对应的信息添加至目标应用程序中。例如,操作S241中去除的信息是不满足运行条件的信息,可以对去除的信息进行修改得到满足运行条件的信息,并将满足运行条件的信息添加到目标应用程序中。
可见,在操作S241中去除的信息可能是导致运行待运行的目标应用程序的过程中出现错误信息的原因,因此,可以对去除的信息进行修改得到满足运行条件的信息,以便将满足运行条件的信息添加到目标应用程序使得目标应用程序可以成功安装。
根据本公开实施例,操作S220中关于基于应用程序信息,将多个历史用户划分为多个类别可以包括:确定多个历史用户的应用程序信息之间的相似度,并基于相似度将多个历史用户划分为多个类别。
例如,以多个历史用户包括用户1、用户2、用户3、用户4为例。用户1所使用的应用程序例如包括应用程序a、应用程序b、应用程序c。用户2所使用的应用程序例如包括应用程序a、应用程序b、应用程序d。用户3所使用的应用程序例如包括应用程序e、应用程序f、应用程序g。用户3所使用的应用程序例如包括应用程序e、应用程序f、应用程序h。由于用户1和用户2所使用的应用程序较相似,用户3和用户4所使用的应用程序较相似,因此可以将用户1和用户2划分到第一类别,将用户3和用户4划分到第二类别。
根据本公开实施例,操作S230中关于针对每个类别,确定属于类别的历史用户所使用的至少一个应用程序作为与类别相关联的目标应用程序可以包括:
针对每个类别,确定属于类别的历史用户所使用的多个应用程序。然后,从多个应用程序中确定出至少一个应用程序作为与类别相关联的目标应用程序,其中,类别中使用目标应用程序的历史用户的数量大于使用其他应用程序的历史用户的数量,其他应用程序包括除了目标应用程序之外的应用程序。
例如,以一个类别为例,该类别的历史用户例如主要使用办公类软件,该类别的历史用户例如包括50个用户,该50个历史用户例如总共使用20个应用程序。可以按照使用应用程序的用户数量来对该20个应用程序进行排序。例如,排序后的第一个应用程序被50个历史用户中的40个用户使用,第二个应用程序被50个历史用户中的35个用户使用,第三个应用程序被50个历史用户中的30个用户使用,以此类推。然后,可以从排序后的20个应用程序中确定出的预设数量个应用程序作为与该类别相关联的目标应用程序。例如,可以确定20个应用程序中的8个应用程序作为与该类别相关联的目标应用程序。使用该8个应用程序中每个应用程序的用户数量均大于使用剩余12个应用程序中每个应用程序的用户数量。可见,针对每个类别,该类别的目标应用程序是该类别中用户需求程度较高的应用程序。
图5示意性示出了根据本公开实施例的推荐目标应用程序的流程图。
如图5所示,操作S250中关于将与至少一个类别相关联的处理后的目标应用程序推荐给当前用户可以包括操作S251~操作S253。
在操作S251,获取当前用户的日志数据。
在操作S252,基于当前用户的日志数据,从多个类别中确定出目标类别,当前用户的日志数据与属于目标类别的历史用户的日志数据之间的相似度满足预设相似度条件。
在操作S253,将与目标类别相关联的处理后的目标应用程序推荐给当前用户。
例如,以多个类别包括第一类别、第二类别和第三类别为例。第一类别中的历史用户例如主要使用办公类软件,第二类别中的历史用户例如主要使用测试类软件,第三类别中的历史用户例如主要使用技术类软件。在当前用户的日志数据与第一类别的历史用户的日志数据之间的相似度满足预设相似度条件时,即可以表征当前用户的日志数据与第一类别的历史用户日志数据之间的相似度较高,可以得知当前用户使用办公类软件的概率较大。然后,可以确定第一类别作为目标类别,并将与第一类别相关联的目标应用程序推荐给当前用户进行安装。
在本公开实施例中,除了为当前用户推荐目标应用程序进行安装之外,还可以在目标应用程序出现更新版本时,将更新版本推荐给用户进行更新。
本公开实施例可以利用应用程序安装推荐工具来为当前用户推荐目标应用程序。应用程序安装推荐工具可以是办公用户用于安装应用程序的软件或平台。例如可以是大数据分析软件、人工智能软件、统计分析软件等。其中,应用程序安装推荐工具可以安装在云端服务器中。
在一实施中,可以通过本地客户端将当前用户的日志数据发送至云端服务器中,云端服务器存储有多个历史用户的日志数据以及与每个类别相关联的目标应用程序。
云端服务器接收到来自本地客户端的当前用户的日志数据之后,可以根据当前用户的日志数据确定出与当前用户最相近的类别,并将最相近的类别返回本地客户端。
本地客户端接收到与当前用户最相近的类别之后,可以向云端服务器发送获取与该类别相关联的目标应用程序,然后将接收到的目标应用程序安装在本地客户端中。
本地客户端还可以将当前用户的与安装结果相关的日志发送到云端服务器中进行存储。
本公开实施例通过大数据分析和用户行为分析,快速学习用户常用软件的习惯,精准为用户推荐常用软件。其中,常用软件可以包括测试工具、开发工具、办公软件等。本公开实施例的软件推荐方法操作简单、易用性强。通过提供统一的推荐操作平台,提供自动安装、自动调试和自动更新的功能,大大降低了用户安装软件的操作难度。另外,通过本公开实施例的技术方案,能够较大地减少用户安装软件的时间,提高用户的工作效率。
图6示意性示出了根据本公开实施例的应用程序推荐装置的框图。
如图6所示,应用程序推荐装置600例如可以包括获取模块610、划分模块620、第一确定模块630、第二确定模块640以及推荐模块650。
获取模块610可以用于获取多个历史用户的日志数据,日志数据包括历史用户所使用的应用程序信息。根据本公开实施例,获取模块610例如可以执行上文参考图2描述的操作S210,在此不再赘述。
划分模块620可以用于基于应用程序信息,将多个历史用户划分为多个类别。根据本公开实施例,划分模块620例如可以执行上文参考图2描述的操作S220,在此不再赘述。
第一确定模块630可以用于针对每个类别,确定属于类别的历史用户所使用的至少一个应用程序作为与类别相关联的目标应用程序。根据本公开实施例,第一确定模块630例如可以执行上文参考图2描述的操作S230,在此不再赘述。
第二确定模块640可以用于确定目标应用程序的运行条件,并基于运行条件处理目标应用程序以得到处理后的目标应用程序。根据本公开实施例,第二确定模块640例如可以执行上文参考图2描述的操作S240,在此不再赘述。
推荐模块650可以用于将与至少一个类别相关联的处理后的目标应用程序推荐给当前用户,以便当前用户在运行条件下运行目标应用程序。根据本公开实施例,推荐模块650例如可以执行上文参考图2描述的操作S250,在此不再赘述。
根据本公开实施例,基于运行条件处理目标应用程序包括:去除目标应用程序中不满足运行条件的信息以得到待运行的目标应用程序,基于运行条件,运行待运行的目标应用程序,在运行待运行的目标应用程序的过程中出现错误信息的情况下,配置目标应用程序,确定配置后的目标应用程序作为处理后的目标应用程序。
根据本公开实施例,配置目标应用程序包括以下至少一种:修改目标应用程序的参数值,将满足运行条件的信息添加至目标应用程序中。
根据本公开实施例,将与至少一个类别相关联的处理后的目标应用程序推荐给当前用户包括:获取当前用户的日志数据,基于当前用户的日志数据,从多个类别中确定出目标类别,当前用户的日志数据与属于目标类别的历史用户的日志数据之间的相似度满足预设相似度条件,将与目标类别相关联的处理后的目标应用程序推荐给当前用户。
根据本公开实施例,基于应用程序信息,将多个历史用户划分为多个类别包括:确定多个历史用户的应用程序信息之间的相似度,基于相似度,将多个历史用户划分为多个类别。
根据本公开实施例,针对每个类别,确定属于类别的历史用户所使用的至少一个应用程序作为与类别相关联的目标应用程序包括:针对每个类别,确定属于类别的历史用户所使用的多个应用程序,从多个应用程序中确定出至少一个应用程序作为与类别相关联的目标应用程序,其中,类别中使用目标应用程序的历史用户的数量大于使用其他应用程序的历史用户的数量,其他应用程序包括除了目标应用程序之外的应用程序。
根据本公开实施例,在将与至少一个类别相关联的处理后的目标应用程序推荐给当前用户之后,装置600还可以包括:接收模块和安装模块。其中,接收模块,用于接收当前用户的安装指令,安装模块,用于响应于安装指令安装目标应用程序。
根据本公开实施例,上述应用程序包括以下至少一种:应用软件、安装应用软件所需的配置脚本、运行应用软件所需的运行环境信息。
本公开还提供了一种计算设备,该计算设备可以包括:一个或多个处理器和存储装置。该存储装置可以用于存储一个或多个程序。其中,当一个或多个程序被一个或多个处理器执行时,使得一个或多个处理器可以执行上文提及的方法。
本公开的另一方面提供了一种非易失性可读存储介质,该非易失性可读存储介质存储有计算机可执行指令,该指令在被执行时可以用于实现上文提及的方法。
本公开的另一方面提供了一种计算机程序,该计算机程序包括计算机可执行指令,该指令在被执行时可以用于实现上文提及的方法。
根据本公开的实施例的模块、子模块、单元、子单元中的任意多个、或其中任意多个的至少部分功能可以在一个模块中实现。根据本公开实施例的模块、子模块、单元、子单元中的任意一个或多个可以被拆分成多个模块来实现。根据本公开实施例的模块、子模块、单元、子单元中的任意一个或多个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上系统、基板上的系统、封装上的系统、专用集成电路(ASIC),或可以通过对电路进行集成或封装的任何其他的合理方式的硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,根据本公开实施例的模块、子模块、单元、子单元中的一个或多个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。
例如,获取模块610、划分模块620、第一确定模块630、第二确定模块640以及推荐模块650中的任意多个可以合并在一个模块中实现,或者其中的任意一个模块可以被拆分成多个模块。或者,这些模块中的一个或多个模块的至少部分功能可以与其他模块的至少部分功能相结合,并在一个模块中实现。根据本公开的实施例,获取模块610、划分模块620、第一确定模块630、第二确定模块640以及推荐模块650中的至少一个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上系统、基板上的系统、封装上的系统、专用集成电路(ASIC),或可以通过对电路进行集成或封装的任何其他的合理方式等硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,获取模块610、划分模块620、第一确定模块630、第二确定模块640以及推荐模块650中的至少一个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。
图7示意性示出了根据本公开实施例的用于实现应用程序推荐的计算机系统的方框图。图7示出的计算机系统仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图7所示,计算机系统700包括处理器701、计算机可读存储介质702。该系统700可以执行根据本公开实施例的方法。
具体地,处理器701例如可以包括通用微处理器、指令集处理器和/或相关芯片组和/或专用微处理器(例如,专用集成电路(ASIC)),等等。处理器701还可以包括用于缓存用途的板载存储器。处理器701可以是用于执行根据本公开实施例的方法流程的不同动作的单一处理单元或者是多个处理单元。
计算机可读存储介质702,例如可以是能够包含、存储、传送、传播或传输指令的任意介质。例如,可读存储介质可以包括但不限于电、磁、光、电磁、红外或半导体系统、装置、器件或传播介质。可读存储介质的具体示例包括:磁存储装置,如磁带或硬盘(HDD);光存储装置,如光盘(CD-ROM);存储器,如随机存取存储器(RAM)或闪存;和/或有线/无线通信链路。
计算机可读存储介质702可以包括计算机程序703,该计算机程序703可以包括代码/计算机可执行指令,其在由处理器701执行时使得处理器701执行根据本公开实施例的方法或其任何变形。
计算机程序703可被配置为具有例如包括计算机程序模块的计算机程序代码。例如,在示例实施例中,计算机程序703中的代码可以包括一个或多个程序模块,例如包括703A、模块703B、……。应当注意,模块的划分方式和个数并不是固定的,本领域技术人员可以根据实际情况使用合适的程序模块或程序模块组合,当这些程序模块组合被处理器701执行时,使得处理器701可以执行根据本公开实施例的方法或其任何变形。
根据本公开的实施例,获取模块610、划分模块620、第一确定模块630、第二确定模块640以及推荐模块650中的至少一个可以实现为参考图7描述的计算机程序模块,其在被处理器701执行时,可以实现上面描述的相应操作。
本公开还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中描述的设备/装置/系统中所包含的;也可以是单独存在,而未装配入该设备/装置/系统中。上述计算机可读存储介质承载有一个或者多个程序,当上述一个或者多个程序被执行时,实现上述方法。
根据本公开的实施例,计算机可读存储介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读存储介质,该计算机可读存储介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读存储介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、有线、光缆、射频信号等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
本领域技术人员可以理解,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合,即使这样的组合或结合没有明确记载于本公开中。特别地,在不脱离本公开精神和教导的情况下,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合。所有这些组合和/或结合均落入本公开的范围。
尽管已经参照本公开的特定示例性实施例示出并描述了本公开,但是本领域技术人员应该理解,在不背离所附权利要求及其等同物限定的本公开的精神和范围的情况下,可以对本公开进行形式和细节上的多种改变。因此,本公开的范围不应该限于上述实施例,而是应该不仅由所附权利要求来进行确定,还由所附权利要求的等同物来进行限定。
Claims (11)
1.一种应用程序推荐方法,包括:
获取多个历史用户的日志数据,所述日志数据包括历史用户所使用的应用程序信息;
基于所述应用程序信息,将所述多个历史用户划分为多个类别;
针对每个类别,确定属于所述类别的历史用户所使用的至少一个应用程序作为与所述类别相关联的目标应用程序;
确定所述目标应用程序的运行条件,并基于所述运行条件处理所述目标应用程序以得到处理后的目标应用程序;以及
将与至少一个类别相关联的处理后的目标应用程序推荐给当前用户,以便所述当前用户在所述运行条件下运行所述目标应用程序。
2.根据权利要求1所述的方法,其中,所述基于所述运行条件处理所述目标应用程序包括:
去除所述目标应用程序中不满足所述运行条件的信息以得到待运行的目标应用程序;
基于所述运行条件,运行所述待运行的目标应用程序;
在运行所述待运行的目标应用程序的过程中出现错误信息的情况下,配置所述目标应用程序;以及
确定配置后的目标应用程序作为处理后的目标应用程序。
3.根据权利要求2所述的方法,其中,所述配置所述目标应用程序包括以下至少一种:
修改所述目标应用程序的参数值;以及
将满足所述运行条件的信息添加至所述目标应用程序中。
4.根据权利要求1所述的方法,其中,所述将与至少一个类别相关联的处理后的目标应用程序推荐给当前用户包括:
获取所述当前用户的日志数据;
基于所述当前用户的日志数据,从所述多个类别中确定出目标类别,所述当前用户的日志数据与属于所述目标类别的历史用户的日志数据之间的相似度满足预设相似度条件;以及
将与所述目标类别相关联的处理后的目标应用程序推荐给所述当前用户。
5.根据权利要求1所述的方法,其中,所述基于所述应用程序信息,将所述多个历史用户划分为多个类别包括:
确定所述多个历史用户的应用程序信息之间的相似度;以及
基于所述相似度,将所述多个历史用户划分为多个类别。
6.根据权利要求1所述的方法,其中,所述针对每个类别,确定属于所述类别的历史用户所使用的至少一个应用程序作为与所述类别相关联的目标应用程序包括:
针对每个类别,确定属于所述类别的历史用户所使用的多个应用程序;
从所述多个应用程序中确定出至少一个应用程序作为与所述类别相关联的目标应用程序,
其中,所述类别中使用所述目标应用程序的历史用户的数量大于使用其他应用程序的历史用户的数量,所述其他应用程序包括除了所述目标应用程序之外的应用程序。
7.根据权利要求1所述的方法,在将与至少一个类别相关联的处理后的目标应用程序推荐给当前用户之后,所述方法还包括:
接收所述当前用户的安装指令;以及
响应于所述安装指令安装所述目标应用程序。
8.根据权利要求1至7中任一项所述的方法,其中,所述应用程序包括以下至少一种:
应用软件、安装所述应用软件所需的配置脚本、运行所述应用软件所需的运行环境信息。
9.一种应用程序推荐装置,包括:
获取模块,用于获取多个历史用户的日志数据,所述日志数据包括历史用户所使用的应用程序信息;
划分模块,用于基于所述应用程序信息,将所述多个历史用户划分为多个类别;
第一确定模块,用于针对每个类别,确定属于所述类别的历史用户所使用的至少一个应用程序作为与所述类别相关联的目标应用程序;
第二确定模块,用于确定所述目标应用程序的运行条件,并基于所述运行条件处理所述目标应用程序以得到处理后的目标应用程序;以及
推荐模块,用于将与至少一个类别相关联的处理后的目标应用程序推荐给当前用户,以便所述当前用户在所述运行条件下运行所述目标应用程序。
10.一种计算设备,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器执行根据权利要求1至8中任一项所述的方法。
11.一种计算机可读存储介质,其上存储有可执行指令,该指令被处理器执行时使处理器执行根据权利要求1至8中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010734025.XA CN111859139A (zh) | 2020-07-27 | 2020-07-27 | 应用程序推荐方法、装置、计算设备和介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010734025.XA CN111859139A (zh) | 2020-07-27 | 2020-07-27 | 应用程序推荐方法、装置、计算设备和介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111859139A true CN111859139A (zh) | 2020-10-30 |
Family
ID=72947459
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010734025.XA Pending CN111859139A (zh) | 2020-07-27 | 2020-07-27 | 应用程序推荐方法、装置、计算设备和介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111859139A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112348594A (zh) * | 2020-11-25 | 2021-02-09 | 北京沃东天骏信息技术有限公司 | 物品需求的处理方法、装置、计算设备和介质 |
CN112632384A (zh) * | 2020-12-25 | 2021-04-09 | 北京百度网讯科技有限公司 | 针对应用程序的数据处理方法、装置、电子设备和介质 |
US20220103574A1 (en) * | 2020-09-25 | 2022-03-31 | International Business Machines Corporation | Generating and mutually maturing a knowledge corpus |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105912353A (zh) * | 2015-12-23 | 2016-08-31 | 北京奇虎科技有限公司 | 应用程序封装方法及装置 |
CN106664323A (zh) * | 2014-09-24 | 2017-05-10 | 甲骨文国际公司 | 企业系统中的设备上的应用的统一供应 |
CN107872535A (zh) * | 2017-12-04 | 2018-04-03 | 广东欧珀移动通信有限公司 | 应用程序推送方法、装置、服务器以及存储介质 |
US20200081421A1 (en) * | 2018-09-11 | 2020-03-12 | International Business Machines Corporation | Identifying equipment operating control settings using historical information |
-
2020
- 2020-07-27 CN CN202010734025.XA patent/CN111859139A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106664323A (zh) * | 2014-09-24 | 2017-05-10 | 甲骨文国际公司 | 企业系统中的设备上的应用的统一供应 |
CN105912353A (zh) * | 2015-12-23 | 2016-08-31 | 北京奇虎科技有限公司 | 应用程序封装方法及装置 |
CN107872535A (zh) * | 2017-12-04 | 2018-04-03 | 广东欧珀移动通信有限公司 | 应用程序推送方法、装置、服务器以及存储介质 |
US20200081421A1 (en) * | 2018-09-11 | 2020-03-12 | International Business Machines Corporation | Identifying equipment operating control settings using historical information |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20220103574A1 (en) * | 2020-09-25 | 2022-03-31 | International Business Machines Corporation | Generating and mutually maturing a knowledge corpus |
US11552966B2 (en) * | 2020-09-25 | 2023-01-10 | International Business Machines Corporation | Generating and mutually maturing a knowledge corpus |
CN112348594A (zh) * | 2020-11-25 | 2021-02-09 | 北京沃东天骏信息技术有限公司 | 物品需求的处理方法、装置、计算设备和介质 |
CN112632384A (zh) * | 2020-12-25 | 2021-04-09 | 北京百度网讯科技有限公司 | 针对应用程序的数据处理方法、装置、电子设备和介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3447642B1 (en) | System and method for predicting application performance for large data size on big data cluster | |
CN111124850A (zh) | Mqtt服务器性能测试方法、系统、计算机设备及存储介质 | |
CN111859139A (zh) | 应用程序推荐方法、装置、计算设备和介质 | |
AU2019202251A1 (en) | Automated program code analysis and reporting | |
US9444717B1 (en) | Test generation service | |
US10949765B2 (en) | Automated inference of evidence from log information | |
US20230403215A1 (en) | Systems and methods of monitoring and controlling remote assets | |
US11656977B2 (en) | Automated code checking | |
US10769153B2 (en) | Computer system and method for setting a stream data processing system | |
US11442936B2 (en) | Automatic control loop searching | |
CN110866031B (zh) | 数据库访问路径的优化方法、装置、计算设备以及介质 | |
US9524204B2 (en) | Methods and apparatus for customizing and using a reusable database framework for fault processing applications | |
US11726443B2 (en) | Efficient controller data generation and extraction | |
CN115904852A (zh) | 一种用于数据处理器的自动化测试方法、设备及介质 | |
CN113435489B (zh) | 部署系统的方法、装置、计算机可读存储介质及处理器 | |
CN116149978A (zh) | 服务接口测试方法、装置、电子设备及存储介质 | |
CN114153427A (zh) | 持续集成流水线的优化方法及系统 | |
CN113377610A (zh) | 性能监测方法、装置、计算机设备及存储介质 | |
CN113138807B (zh) | 一种多节点业务任务的执行方法、装置和电子设备 | |
US11953972B2 (en) | Selective privileged container augmentation | |
CN115981857B (zh) | 故障分析系统 | |
CN114063879B (zh) | 用于处理操作命令的方法、电子设备和存储介质 | |
US20220414101A1 (en) | Shifting left database degradation detection | |
US20240012744A1 (en) | Dynamic test case execution scheduling mechanism | |
US20230222049A1 (en) | AI Bug-Fix Positioning by LSTM |
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 |