CN111488184B - 应用程序传输方法、装置、服务器及可读存储介质 - Google Patents

应用程序传输方法、装置、服务器及可读存储介质 Download PDF

Info

Publication number
CN111488184B
CN111488184B CN202010293425.1A CN202010293425A CN111488184B CN 111488184 B CN111488184 B CN 111488184B CN 202010293425 A CN202010293425 A CN 202010293425A CN 111488184 B CN111488184 B CN 111488184B
Authority
CN
China
Prior art keywords
plug
application program
ins
user terminal
downloading
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.)
Active
Application number
CN202010293425.1A
Other languages
English (en)
Other versions
CN111488184A (zh
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.)
Jiangsu Manyun Software Technology Co Ltd
Original Assignee
Jiangsu Manyun Software Technology 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 Jiangsu Manyun Software Technology Co Ltd filed Critical Jiangsu Manyun Software Technology Co Ltd
Priority to CN202010293425.1A priority Critical patent/CN111488184B/zh
Publication of CN111488184A publication Critical patent/CN111488184A/zh
Application granted granted Critical
Publication of CN111488184B publication Critical patent/CN111488184B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/445Program loading or initiating
    • G06F9/44521Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
    • G06F9/44526Plug-ins; Add-ons

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

本申请提供一种应用程序传输方法、装置、服务器及可读存储介质。方法包括:在接收到用户终端发送的用于下载指定应用程序的下载请求时,确定下载请求的下载类型,指定应用程序与多个插件关联;根据下载类型对应的下载策略,从多个插件中确定至少一个插件为用于安装于指定应用程序的目标插件;将包括目标插件的指定应用程序作为目标应用程序发送至用户终端,用于用户终端安装目标应用程序。在本方案中,通过从应用程序关联的多个插件中确定需要安装的目标插件,无需将所有插件均植入应用程序中,能够减小应用程序的大小,降低应用程序所占用的内存硬件资源,缩短加载应用程序的加载时长。

Description

应用程序传输方法、装置、服务器及可读存储介质
技术领域
本发明涉及计算机软件工程技术领域,具体而言,涉及一种应用程序传输方法、装置、服务器及可读存储介质。
背景技术
一个应用程序(Application)通常具有多种功能,不同功能通常对应有相应的插件。随着对应用程序的功能需求增大,对功能种类要求越来越多,导致应用程序的插件数量越来越多,应用程序占用的设备的内存空间也不断增加。应用程序占用的内存越大,占用的设备的硬件资源越多,在应用程序启动时,容易延长加载时间,影响用户的使用。
发明内容
本申请提供一种应用程序传输方法、装置、服务器及可读存储介质,能够改善应用程序占用的硬件资源多、加载时间长的问题。
为了实现上述目的,本申请实施例所提供的技术方案如下所示:
第一方面,本申请实施例提供一种应用程序传输方法,所述方法包括:
在接收到用户终端发送的用于下载指定应用程序的下载请求时,确定所述下载请求的下载类型,所述指定应用程序与多个插件关联;
根据所述下载类型对应的下载策略,从所述多个插件中确定至少一个插件为用于安装于所述指定应用程序的目标插件;
将包括所述目标插件的所述指定应用程序作为目标应用程序发送至所述用户终端,用于所述用户终端安装所述目标应用程序。
在上述的实施方式中,通过从应用程序关联的多个插件中确定需要安装的目标插件,无需将所有插件均植入应用程序中,能够减小应用程序的大小,降低应用程序所占用的内存硬件资源,缩短加载应用程序的加载时长。
结合第一方面,在一些可选的实施方式中,根据所述下载类型对应的下载策略,从所述多个插件中确定至少一个插件为用于安装于所述指定应用程序的目标插件,包括:
当所述下载类型为表征首次下载所述指定应用程序的第一类型时,获取所有所述指定应用程序在当前之前的第一预设时段内的运行参数,所述运行参数包括所述指定应用程序的各插件在相应的用户终端上的启动次数、插件的运行时长、下载的相应插件的类型、所下载的插件的次数中的至少一种;
将所述运行参数输入经过训练的机器学习模型,得到所述机器学习模型从所述多个插件中确定的所述目标插件。
在上述的实施方式中,通过机器学习模型可以根据大数据快速确定首次安装应用程序的目标插件,有利于提高所确定的目标插件的效率及可靠性。
结合第一方面,在一些可选的实施方式中,根据所述下载类型对应的下载策略,从所述多个插件中确定至少一个插件为用于安装于所述指定应用程序的目标插件,包括:
当所述下载类型为表征非首次下载所述指定应用程序的第二类型时,根据所述下载请求确定用于下载所述指定应用程序的用户身份;
获取与所述用户身份对应的所述指定应用程序在当前之前的第一预设时段内的运行参数,所述运行参数包括与所述用户身份对应的所述指定应用程序的各插件在相应用户终端上的启动次数、插件的运行时长、下载的相应插件的类型、所下载的插件的次数中的至少一种;
将所述运行参数输入经过训练的机器学习模型,得到所述机器学习模型从所述多个插件中确定的所述目标插件。
在上述的实施方式中,通过机器学习模型,可以根据用户身份对应的应用程序的运行参数,为用户确定适合用户的插件,无需安装不必要的插件,从而减少所安装的应用程序的大小。
结合第一方面,在一些可选的实施方式中,在根据所述下载类型对应的下载策略,从所述多个插件中确定至少一个插件为用于安装于所述指定应用程序的目标插件之前,所述方法还包括:
获取训练数据集及测试数据集,所述训练数据集包括应用程序的多个第一类运行参数及对应的标签,所述测试数据集包括所述应用程序的多个第二类运行参数及对应的标签;
通过所述训练数据集训练机器学习模型;
通过所述测试数据集对完成训练的所述机器学习模型进行测试,得到所述经过训练的机器学习模型。
在上述的实施方式中,通过对机器学习模型进行训练及测试,使得经过训练的机器学习模型可以准确快速地基于运行参数确定相应的目标插件。
结合第一方面,在一些可选的实施方式中,所述方法还包括:
根据所述用户终端发送的操作指令,从所述多个插件中确定与所述操作指令对应的插件为新的目标插件;
当所述用户终端的所述指定应用程序中未安装所述新的目标插件时,向所述用户终端发送所述新的目标插件,用于所述应用程序安装所述新的目标插件。
在上述的实施方式中,用户可以根据实际需求,基于操作指令选择安装相应的插件,在减少应用程序大小的同时,提高安装插件的灵活性。
结合第一方面,在一些可选的实施方式中,所述方法还包括:
获取安装在所述用户终端的所述指定应用程序所安装的所有插件的运行参数;
根据所述所有插件的运行参数确定所述指定应用程序是否存在闲置插件,所述闲置插件包括所述所有插件中在当前之前的第二预设时段内启动次数小于或等于预设次数的插件;
当存在所述闲置插件时,向所述用户终端发送更新指令,用于所述用户终端根据所述更新指令删除所述指定应用程序中的所述闲置插件。
在上述的实施方式中,通过删除闲置插件,有利于缩小应用程序的大小,降低应用程序所占的内存空间。
结合第一方面,在一些可选的实施方式中,在接收到用户终端发送的用于下载指定应用程序的下载请求时,确定所述下载请求的下载类型,包括:
判断所述下载请求中是否包含指定信息,所述指定信息用于表征下载所述指定应用程序的用户身份;
当所述下载请求中不包含所述指定信息时,确定所述下载类型为表征首次下载所述指定应用程序的第一类型;
当所述下载请求中包含所述指定信息时,确定所述下载类型为表征非首次下载所述指定应用程序的第二类型。
在上述的实施方式中,通过指定信息,有利于快速判断下载请求的下载类型,以便于利用下载类型确定相应的目标插件。
第二方面,本申请实施例还提供一种应用程序传输装置,所述装置包括:
请求确定单元,在接收到用户终端发送的用于下载指定应用程序的下载请求时,确定所述下载请求的下载类型,所述指定应用程序与多个插件关联;
插件确定单元,根据所述下载类型对应的下载策略,从所述多个插件中确定至少一个插件为用于安装于所述指定应用程序的目标插件;
传输单元,用于将包括所述目标插件的所述指定应用程序作为目标应用程序发送至所述用户终端,用于所述用户终端安装所述目标应用程序。
第三方面,本申请实施例还提供一种服务器,所述服务器包括相互耦合的存储器、处理器,所述存储器内存储计算机程序,当所述计算机程序被所述处理器执行时,使得所述服务器执行上述的方法。
第四方面,本申请实施例还提供一种计算机可读存储介质,所述可读存储介质中存储有计算机程序,当所述计算机程序在计算机上运行时,使得所述计算机执行上述的方法。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍。应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请实施例提供的用户终端与服务器的通信连接示意图。
图2为本申请实施例提供的应用程序传输方法的流程示意图。
图3为本申请实施例提供的指定应用程序与多个插件的关联示意图。
图4为本申请实施例提供的应用程序传输装置的功能框图。
图标:10-服务器;20-用户终端;100-应用程序传输装置;110-请求确定单元;120-插件确定单元;130-传输单元。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。需要说明的是,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
下面结合附图,对本申请实施例作详细说明。在不冲突的情况下,下述的实施例及实施例中的特征可以相互组合。
请参照图1,本申请实施例提供一种服务器10,可以与用户终端20建立通信连接,可以用于向用户终端20发送应用程序安装包。在本实施例中,服务器10可以包括相互耦合的存储模块、处理模块存储模块器内存储计算机程序,当计算机程序被处理模块执行时,可以使得服务器10执行如下述实施所述的应用程序传输方法中的各步骤。
在本实施例中,服务器10可以根据下载类型,为用户推送相应的应用程序,用户在用户终端20上所安装的应用程序无需包含应用程序的所有插件,从而降低所安装的应用程序的大小。
可理解地,用户终端20可以通过网络与服务器10进行数据交互,例如,用户终端20可以通过网络从服务器10获取到服务器10所推送的应用程序。其中,服务器10向用户终端20传输的应用程序可理解为应用程序的安装包文件。用户终端20可以是,但不限于,智能手机、个人电脑(PersonalComputer,PC)、平板电脑等。网络可以是,但不限于,有线网络或无线网络。
请参照图2,本申请实施例还提供一种应用程序传输方法,可以应用于上述的电子设备中,由电子设备执行或实现方法中的各步骤,能够减小发送至用户终端20的应用程序的所占的存储空间。其中,方法可以包括步骤S210至步骤S230,如下:
步骤S210,在接收到用户终端20发送的用于下载指定应用程序的下载请求时,确定所述下载请求的下载类型,所述指定应用程序与多个插件关联;
步骤S220,根据所述下载类型对应的下载策略,从所述多个插件中确定至少一个插件为用于安装于所述指定应用程序的目标插件;
步骤S230,将包括所述目标插件的所述指定应用程序作为目标应用程序发送至所述用户终端20,用于所述用户终端20安装所述目标应用程序。
在上述的实施方式中,通过从应用程序关联的多个插件中确定需要安装的目标插件,无需将应用程序的所有插件均植入应用程序中,从而能够减小应用程序的大小,降低应用程序所占用的内存硬件资源,缩短加载应用程序的加载时长,有利于提高用户使用应用程序的体验感。
下面将对图2所示的应用程序传输方法中的各步骤进行详细阐述:
步骤S210,在接收到用户终端20发送的用于下载指定应用程序的下载请求时,确定所述下载请求的下载类型,所述指定应用程序与多个插件关联。
在本实施例中,服务器10可以根据下载请求所携带的内容,判断当前的下载请求的类型。其中,指定应用程序可以根据实际情况进行选择,这里不作具体限定。下载类型可以包括表征首次下载指定应用程序的第一类型、非首次下载指定应用程序的第二类型。
例如,当用户需要使用智能手机下载相应的应用程序时,用户可以通过智能手机中的“应用商店”搜索到相应的指定应用程序。在搜索到指定应用程序后,若用户需要下载该指定应用程序,用户可以通过操作智能手机,以使智能手机向服务器10发送下载请求。服务器10在接收到下载请求后,便可以根据下载请求携带的内容,判断下载类型。其中,“应用商店”为智能手机上的用于搜索应用程序的APP。
请参照图3,在本实施例中,服务器10中的指定应用程序通常可以与多个插件关联。其中,与指定应用程序关联的插件可以理解为可以安装在该指定应用程序中的插件。插件可以理解为用于实现应用程序的一个或多个功能对应的子文件,可以安装或植入在应用程序中。例如,与指定应用程序关联的应用程序可以包括如图3所示的插件A、插件B、插件C、插件D等插件。在用户终端20安装指定应用程序时,可以根据实际的功能需求安装相应的插件,而无需将与指定应用程序关联的所有插件均安装在指定应用程序中。
在本实施例中,用户终端20可以记录并存储登录或使用指定应用程序的用户身份。该用户身份可以根据实际情况进行设置,可以为数字、字符等。在用户终端20向服务器10发送下载请求时,若不是首次下载该指定应用程序,用户终端20可以将存储记录中的指定应用程序的用户身份添加在下载请求中,以供服务器10根据用户身份进行分析处理。若用户终端20为首次下载该指定应用程序,用户终端20可以直接向服务器10发送下载请求,此时下载请求中通常不包括用户身份。
需要说明的是,下载请求中还可以包括其他信息,例如,下载请求中还可以包括指定应用程序的标识信息,以供服务器10根据标识信息确定所要下载的应用程序为指定的应用程序。
作为一种可选的实施方式,步骤S210可以包括:判断所述下载请求中是否包含指定信息,所述指定信息用于表征下载所述指定应用程序的用户身份;当所述下载请求中不包含所述指定信息时,确定所述下载类型为表征首次下载所述指定应用程序的第一类型;当所述下载请求中包含所述指定信息时,确定所述下载类型为表征非首次下载所述指定应用程序的第二类型。
可理解地,用户终端20可以判断当前的下载操作是否为首次下载指定应用程序。其判断的原理可以为:用户终端20从存储记录中查找是否存在历史下载记录,历史下载记录为表征存在登录或使用指定应用程序的用户身份的记录。当存在历史下载记录时,用户终端20便确定当前下载的指定应用程序并非是首次下载,此时,在向服务器10发送下载请求时,可以在下载请求中添加用户身份以作为指定信息。若不存在历史下载记录时,用户终端20便确定当前所要下载的指定应用程序为首次下载,此时,在向服务器10发送下载请求时,可以直接发送不携带用户身份的下载请求。
服务器10在接收到下载请求后,通过对下载请求中携带的内容进行分析判断,若存在用户身份,则表示下载请求的类型为第二类型,不是首次下载指定应用程序。若下载请求中不包括用户身份,则表示下载请求的类型为第一类型,为首次下载指定应用程序。基于此,有利于服务器10根据下载请求所携带的信息,快速判断下载类型。
步骤S220,根据所述下载类型对应的下载策略,从所述多个插件中确定至少一个插件为用于安装于所述指定应用程序的目标插件。
在本实施例中,不同下载类型对应的下载策略可以不相同,以便于针对老用户个性化地下载相应的目标插件,以减少安装不必要的插件。
另外,服务器10可以记录存储各个用户使用应用程序中的各插件的运行情况。例如,针对每个用户身份而言,服务器10可以记录该用户身份对应的指定应用程序中各个插件的运行参数。运行参数包括指定应用程序的各插件在相应的用户终端20上的启动次数、插件的运行时长、下载的相应插件的类型、所下载的插件的次数中的一种或多种。
作为一种可选的实施方式,步骤S220可以包括:当所述下载类型为表征首次下载所述指定应用程序的第一类型时,获取所有所述指定应用程序在当前之前的第一预设时段内的运行参数,所述运行参数包括所述指定应用程序的各插件在相应的用户终端20上的启动次数、插件的运行时长、下载的相应插件的类型、所下载的插件的次数中的至少一种;将所述运行参数输入经过训练的机器学习模型,得到所述机器学习模型从所述多个插件中确定的所述目标插件。
当服务器10识别出用户终端20为首次下载指定应用程序时,服务器10可以获取第一预设时段内指定应用程序在各用户终端20上的运行参数。运行参数可是但不限于指定应用程序的各插件在相应的用户终端20上的启动次数、插件的运行时长、下载的相应插件的类型、所下载的插件的次数中的一种或多种。然后,利用预先存储于服务器10中的经过训练的机器学习模型,对运行参数进行识别分析,以确定目标插件。其中,第一预设时段可以根据实际情况进行设置,例如,可以为24小时、一周、一个月等时长。目标插件可理解为指定应用程序的多个插件中,被使用的频次较高,或者被使用的时长较长的插件。目标插件可以作为普通用户的常用插件。
可理解地,机器学习模型可以为基于python语言的K-means聚类算法、DBSCAN(Density-Based Spatial Clustering of Applications with Noise,具有噪声的基于密度的聚类)算法的结合所形成的模型。当然,机器学习模型还可以为其他聚类算法的结合,这里不做具体限定。其中,K-means聚类算法为一种无监督的机器学习算法,可以用于实现数据的聚类。DBSCAN算法是一种基于密度的空间聚类算法,该算法将具有足够密度的区域划分为簇,并在具有噪声的空间数据库中发现任意形状的簇,可以将簇定义为密度相连的点的最大集合。
机器学习模型在数据处理过程中,可以先通过K-means算法对大量的运行参数进行初步的聚类,将每个输入的数据(运行参数)看作一类,计算两两之间的最小距离,接着将距离最小的两个类作为一个新的类,计算此新类与其他类之间的距离,重复上述步骤,直到距离相近的类合并为一类。接着可通过DBSCAN算法,设置一个阈值(该阈值可以根据实际情况进行设置),选定初步聚类结果中的任一点,以阈值为半径,划定一个区域,区域内的点可视为与此点为一类,对于区域外的点,重复此步骤,从而可以将所有数据分成多类。可理解地,K-means聚类算法、DBSCAN算法的具体实现过程为本领域技术人员所熟知,这里不再赘述。通过两种算法的结合进行模型的训练,能够较好地判断用户和插件之前的关系。机器学习模型可以基于当前各用户对指定应用程序的各插件的使用情况,快速分析得到指定应用程序的常用插件以作为目标插件。基于此,有利于提高所确定的目标插件的效率及可靠性。
作为一种可选的实施方式,步骤S220可以包括:当所述下载类型为表征非首次下载所述指定应用程序的第二类型时,根据所述下载请求确定用于下载所述指定应用程序的用户身份;获取与所述用户身份对应的所述指定应用程序在当前之前的第一预设时段内的运行参数,所述运行参数包括与所述用户身份对应的所述指定应用程序的各插件在相应用户终端20上的启动次数、插件的运行时长、下载的相应插件的类型、所下载的插件的次数中的至少一种;将所述运行参数输入经过训练的机器学习模型,得到所述机器学习模型从所述多个插件中确定的所述目标插件。
当服务器10识别出用户终端20不是首次下载指定应用程序时,即,用户终端20之前有下载过该指定应用程序。此时,服务器10可以基于从下载请求中解析得到的用户身份,获取该用户身份下的指定应用程序中各个插件的运行参数。例如,该用户身份下,指定应用程序所安装的插件种类、所运行的插件种类、运行的插件的时长、启动相应插件的启动次数等。基于运行参数,机器学习模型可以分析得到用户的使用习惯,从而确定适合该用户的插件以作为目标插件。此时,所确定的目标插件可理解为基于用户身份对应的使用习惯而确定的插件。基于此,可以针对用户进行个性化地推送目标插件,避免安装对该用户而言属于无用的插件而增大所安装的应用程序的大小。
在步骤S220之前,方法还可以包括训练机器学习模型的步骤。例如,方法还可以包括:获取训练数据集及测试数据集,所述训练数据集包括应用程序的多个第一类运行参数及对应的标签,所述测试数据集包括所述应用程序的多个第二类运行参数及对应的标签;通过所述训练数据集训练机器学习模型;通过所述测试数据集对完成训练的所述机器学习模型进行测试,得到所述经过训练的机器学习模型。
在本实施例中,针对每个应用程序,服务器10可以预先获取到不同用户身份下的大量的运行参数。大量的运行参数可以被划分为用于模型训练的训练数据集和用于模型测试的测试数据集。对每个应用程序而言,针对该应用程序的每个用户身份下的运行参数,均可以设置相应的标签,以表示该用户所选择的目标插件。基于此,便可以得到目标插件与运行参数的对应关系。深度学习模型可以通过对大量的运行参数进行学习训练,得到相应的特征向量。然后结合测试数据集,对训练的模型进行校准。
例如,在利用训练数据集训练机器学习模型后,将测试数据集中的运行参数输入机器学习模型中,然后判断机器学习模型所输出的目标插件与测试数据集中该运行参数实际对应的目标插件是否对应(或一致),若输出的目标插件与实际的目标插件不对应(或不一致),则对深度学习模型进行调整,以使输出的目标插件与实际的目标插件相对应,以提高对运行参数识别的准确性,提高得到的目标插件的准确性及可靠性。
步骤S230,将包括所述目标插件的所述指定应用程序作为目标应用程序发送至所述用户终端20,用于所述用户终端20安装所述目标应用程序。
可理解地,当服务器10确定目标插件后,可以将目标插件植入或安装在指定应用程序中以作为目标应用程序,并将目标应用程序发送至用户终端20。需要说明的是,用户终端20所接收的目标应用程序可理解为指定应用程序的安装包文件,可以供用户终端20进行安装,在完成目标应用程序的安装后,用户便可以使用该指定应用程序。
基于上述设计,服务器10向用户终端20发送的指定应用程序无需包含该指定应用程序的所有插件,从而有利于减少指定应用程序的字节大小。用户终端20在下载该目标应用程序时,可以缩短下载时长。另外,在安装目标应用程序时,由于目标应用程序无需包含所有插件,进而有利于缩小安装该指定应用程序所占的内存空间,降低指定应用程序在用户终端20上所占用硬件资源。另外,用户在使用应用程序时,由于所占的内存空间得到缩小,将有利于缩短加载该指定应用程序的加载时长,从而提升用户使用应用程序的体验感。
例如,在物流运输行业,目标客户需要从货主购买相应的货源时,可以通过货运司机来运输货源。此时,目标客户、货主及货运司机可以分别代表三类用户,均可以安装用于物流运输的APP。该APP可以供货主发布货源,可以供目标客户查找货源、货运司机等,可以供货运司机查找货源、目标客户、货主等。对目标客户、货主及货运司机而言,对该APP的功能需求便有所不同,所要用到的插件也有所区别。此时,服务器10可以根据目标客户、货主及货运司机的实际需求,分别确定相应的目标插件,使得目标客户、货主及货运司机各自终端所安装的APP无需包含所有插件,从而降低所安装的APP的大小。
作为一种可选的实施方式,方法还可以包括:根据所述用户终端20发送的操作指令,从所述多个插件中确定与所述操作指令对应的插件为新的目标插件;当所述用户终端20的所述指定应用程序中未安装所述新的目标插件时,向所述用户终端20发送所述新的目标插件,用于所述应用程序安装所述新的目标插件。
可理解地,当用户终端20上安装有目标应用程序后,用户在后期使用过程中,可能需要使用未安装的插件以执行相应的功能时,用户终端20便可以生成用于请求下载该插件的操作指令,并向服务器10发送该操作指令。服务器10在接收到该操作指令后,便可以基于操作指令中携带的标识信息,从多个插件中确定用户终端20需要下载的插件种类以作为新的目标插件。其中,新的目标插件种类或数量可以为一个或多个,可以根据实际情况进行确定。
服务器10在确定新的目标插件后,便可以将新的目标插件发送至用户终端20。用户终端20在下载完新的目标插件后,便可以自动安装在指定应用程序中。
需要说明的是,在下载过程中,若新的目标插件因用户终端20与服务器10之间存在网络故障而无法持续下载时,服务器10/用户终端20可以记录新的目标插件的下载进度,并在网络恢复后,接着之前的下载进度继续下载该新的目标插件的剩余文件。基于此,用户终端20无需在网络异常时,重新下载整个新的目标插件,从而有利于缩短下载时长。
在本实施例中,服务器10可以获取用户终端20所安装的指定应用程序中各个插件的版本。当服务器10存在新版本的插件时,可以向用户终端20推送更新提示。用户可以根据更新提示选择是否更新相应的插件。若用户选择更新插件,服务器10便可以向用户终端20发送所选择需要进行更新的插件以进行更新。在插件更新后,旧版本的插件便会被删除,以减小应用程序所占的内存空间。
作为一种可选的实施方式,方法还可以包括:获取安装在所述用户终端20的所述指定应用程序所安装的所有插件的运行参数;根据所述所有插件的运行参数确定所述指定应用程序是否存在闲置插件,所述闲置插件包括所述所有插件中在当前之前的第二预设时段内启动次数小于或等于预设次数的插件;当存在所述闲置插件时,向所述用户终端20发送更新指令,用于所述用户终端20根据所述更新指令删除所述指定应用程序中的所述闲置插件。
可理解地,用户在安装完指定应用程序后,经过一段时间的使用后,若用户并未使用指定应用程序中相应插件的功能,或者使用的频次较低。此时,服务器10可以基于获取的运行参数得到用户对指定应用程序中各插件的使用情况,然后确定是否存在闲置插件。若存在闲置插件,便向存在闲置插件的用户终端20发送更新指令,用户可以根据该更新指令决定是否删除相应的闲置插件,或者,用户终端20在接收到更新指令后直接删除相应的闲置插件。其中,第二预设时段的时长可以根据实际情况进行确定。例如,第二预设时长可以为一周、一个月、一季度等时长。预设次数可以根据实际情况进行设置,可以为三次、五次等表示使用次数较少的次数。
需要说明的是,在其他实施方式中,用户也可以通过用户终端20选择安装指定应用程序相应的插件或删除指定应用程序中的相应插件。所安装的插件及所删除的插件可以根据用户的实际需求进行选择,这里不作具体限定。基于上述设计,有利于用户灵活选择指定应用程序需要安装的插件,方便用户终端20删除指定应用程序中的闲置插件,避免闲置插件占用用户终端20的硬件资源。
请参照图4,本申请实施例还提供一种应用程序传输装置100,可以应用于上述的电子设备中,可以用于执行或实现上述的应用程序传输方法中的各步骤。应用程序传输装置100包括至少一个可以软件或固件(firmware)的形式存储于存储模块中或固化在服务器10操作系统(Operating System,OS)中的软件功能模块。例如,应用程序传输装置100可以包括请求确定单元110、插件确定单元120及传输单元130。
请求确定单元110,在接收到用户终端20发送的用于下载指定应用程序的下载请求时,确定所述下载请求的下载类型,所述指定应用程序与多个插件关联。
插件确定单元120,根据所述下载类型对应的下载策略,从所述多个插件中确定至少一个插件为用于安装于所述指定应用程序的目标插件。
传输单元130,用于将包括所述目标插件的所述指定应用程序作为目标应用程序发送至所述用户终端20,用于所述用户终端20安装所述目标应用程序。
可选地,插件确定单元120还可以用于:当所述下载类型为表征首次下载所述指定应用程序的第一类型时,获取所有所述指定应用程序在当前之前的第一预设时段内的运行参数,所述运行参数包括所述指定应用程序的各插件在相应的用户终端20上的启动次数、插件的运行时长、下载的相应插件的类型、所下载的插件的次数中的至少一种;将所述运行参数输入经过训练的机器学习模型,得到所述机器学习模型从所述多个插件中确定的所述目标插件。
可选地,插件确定单元120还可以用于:当所述下载类型为表征非首次下载所述指定应用程序的第二类型时,根据所述下载请求确定用于下载所述指定应用程序的用户身份;获取与所述用户身份对应的所述指定应用程序在当前之前的第一预设时段内的运行参数,所述运行参数包括与所述用户身份对应的所述指定应用程序的各插件在相应用户终端20上的启动次数、插件的运行时长、下载的相应插件的类型、所下载的插件的次数中的至少一种;将所述运行参数输入经过训练的机器学习模型,得到所述机器学习模型从所述多个插件中确定的所述目标插件。
可选地,应用程序传输装置100还可以包括数据获取单元、训练单元及测试单元。在插件确定单元120根据所述下载类型对应的下载策略,从所述多个插件中确定至少一个插件为用于安装于所述指定应用程序的目标插件之前,数据获取单元用于获取训练数据集及测试数据集,所述训练数据集包括应用程序的多个第一类运行参数及对应的标签,所述测试数据集包括所述应用程序的多个第二类运行参数及对应的标签;训练单元,用于通过所述训练数据集训练机器学习模型;测试单元,用于通过所述测试数据集对完成训练的所述机器学习模型进行测试,得到所述经过训练的机器学习模型。
可选地,插件确定单元120还可以用于:根据所述用户终端20发送的操作指令,从所述多个插件中确定与所述操作指令对应的插件为新的目标插件;传输单元130还可以用于:当所述用户终端20的所述指定应用程序中未安装所述新的目标插件时,向所述用户终端20发送所述新的目标插件,用于所述应用程序安装所述新的目标插件。
可选地,应用程序传输装置100还可以包括数据获取单元及更新单元。数据获取单元用于:获取安装在所述用户终端20的所述指定应用程序所安装的所有插件的运行参数;插件确定单元120还可以用于:根据所述所有插件的运行参数确定所述指定应用程序是否存在闲置插件,所述闲置插件包括所述所有插件中在当前之前的第二预设时段内启动次数小于或等于预设次数的插件;更新单元用于:当存在所述闲置插件时,向所述用户终端20发送更新指令,用于所述用户终端20根据所述更新指令删除所述指定应用程序中的所述闲置插件。
可选地,请求确定单元110还可以用于:判断所述下载请求中是否包含指定信息,所述指定信息用于表征下载所述指定应用程序的用户身份;当所述下载请求中不包含所述指定信息时,确定所述下载类型为表征首次下载所述指定应用程序的第一类型;当所述下载请求中包含所述指定信息时,确定所述下载类型为表征非首次下载所述指定应用程序的第二类型。
在本实施例中,服务器10还可以包括用于与用户终端20建立通信连接的通信模块。处理模块、通信模块、存储模块各个元件之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通讯总线或信号线实现电性连接。
处理模块可以是一种集成电路芯片,具有信号的处理能力。上述处理模块可以是通用处理器。例如,该处理器可以是中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital SignalProcessing,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件,可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。
通信模块用于通过网络建立服务器10与用户终端20的通信连接,并通过网络收发数据。
存储模块可以是,但不限于,随机存取存储器,只读存储器,可编程只读存储器,可擦除可编程只读存储器,电可擦除可编程只读存储器等。在本实施例中,存储模块可以用于存储插件、机器学习模型等。当然,存储模块还可以用于存储其他程序或数据,处理模块在接收到执行指令后,执行相应的程序。
需要说明的是,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的服务器10、应用程序传输装置100的具体工作过程,可以参考前述方法中的各步骤对应过程,在此不再过多赘述。
本申请实施例还提供一种计算机可读存储介质。可读存储介质中存储有计算机程序,当计算机程序在计算机上运行时,使得计算机执行如上述实施例中所述的应用程序传输方法。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本申请可以通过硬件实现,也可以借助软件加必要的通用硬件平台的方式来实现,基于这样的理解,本申请的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施场景所述的方法。
综上所述,本申请提供一种应用程序传输方法、装置、服务器及可读存储介质。方法包括:在接收到用户终端发送的用于下载指定应用程序的下载请求时,确定下载请求的下载类型,指定应用程序与多个插件关联;根据下载类型对应的下载策略,从多个插件中确定至少一个插件为用于安装于指定应用程序的目标插件;将包括目标插件的指定应用程序作为目标应用程序发送至用户终端,用于用户终端安装目标应用程序。在本方案中,通过从应用程序关联的多个插件中确定需要安装的目标插件,无需将所有插件均植入应用程序中,能够减小应用程序的大小,降低应用程序所占用的内存硬件资源,缩短加载应用程序的加载时长。
在本申请所提供的实施例中,应该理解到,所揭露的装置、系统和方法,也可以通过其它的方式实现。以上所描述的装置、系统和方法实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本申请的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。另外,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

Claims (9)

1.一种应用程序传输方法,其特征在于,所述方法包括:
在接收到用户终端发送的用于下载指定应用程序的下载请求时,确定所述下载请求的下载类型,所述指定应用程序与多个插件关联;
根据所述下载类型对应的下载策略,从所述多个插件中确定至少一个插件为用于安装于所述指定应用程序的目标插件;
将包括所述目标插件的所述指定应用程序作为目标应用程序发送至所述用户终端,用于所述用户终端安装所述目标应用程序;
其中,所述根据所述下载类型对应的下载策略,从所述多个插件中确定至少一个插件为用于安装于所述指定应用程序的目标插件,包括:
当所述下载类型为表征首次下载所述指定应用程序的第一类型时,获取所有所述指定应用程序在当前之前的第一预设时段内的运行参数,所述运行参数包括所述指定应用程序的各插件在相应的用户终端上的启动次数、插件的运行时长、下载的相应插件的类型、所下载的插件的次数中的至少一种;将所述运行参数输入经过训练的机器学习模型,得到所述机器学习模型从所述多个插件中确定的所述目标插件。
2.根据权利要求1所述的方法,其特征在于,根据所述下载类型对应的下载策略,从所述多个插件中确定至少一个插件为用于安装于所述指定应用程序的目标插件,包括:
当所述下载类型为表征非首次下载所述指定应用程序的第二类型时,根据所述下载请求确定用于下载所述指定应用程序的用户身份;
获取与所述用户身份对应的所述指定应用程序在当前之前的第一预设时段内的运行参数,所述运行参数包括与所述用户身份对应的所述指定应用程序的各插件在相应用户终端上的启动次数、插件的运行时长、下载的相应插件的类型、所下载的插件的次数中的至少一种;
将所述运行参数输入经过训练的机器学习模型,得到所述机器学习模型从所述多个插件中确定的所述目标插件。
3.根据权利要求2所述的方法,其特征在于,在根据所述下载类型对应的下载策略,从所述多个插件中确定至少一个插件为用于安装于所述指定应用程序的目标插件之前,所述方法还包括:
获取训练数据集及测试数据集,所述训练数据集包括应用程序的多个第一类运行参数及对应的标签,所述测试数据集包括所述应用程序的多个第二类运行参数及对应的标签;
通过所述训练数据集训练机器学习模型;
通过所述测试数据集对完成训练的所述机器学习模型进行测试,得到所述经过训练的机器学习模型。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
根据所述用户终端发送的操作指令,从所述多个插件中确定与所述操作指令对应的插件为新的目标插件;
当所述用户终端的所述指定应用程序中未安装所述新的目标插件时,向所述用户终端发送所述新的目标插件,用于所述应用程序安装所述新的目标插件。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
获取安装在所述用户终端的所述指定应用程序所安装的所有插件的运行参数;
根据所述所有插件的运行参数确定所述指定应用程序是否存在闲置插件,所述闲置插件包括所述所有插件中在当前之前的第二预设时段内启动次数小于或等于预设次数的插件;
当存在所述闲置插件时,向所述用户终端发送更新指令,用于所述用户终端根据所述更新指令删除所述指定应用程序中的所述闲置插件。
6.根据权利要求1所述的方法,其特征在于,在接收到用户终端发送的用于下载指定应用程序的下载请求时,确定所述下载请求的下载类型,包括:
判断所述下载请求中是否包含指定信息,所述指定信息用于表征下载所述指定应用程序的用户身份;
当所述下载请求中不包含所述指定信息时,确定所述下载类型为表征首次下载所述指定应用程序的第一类型;
当所述下载请求中包含所述指定信息时,确定所述下载类型为表征非首次下载所述指定应用程序的第二类型。
7.一种应用程序传输装置,其特征在于,所述装置包括:
请求确定单元,在接收到用户终端发送的用于下载指定应用程序的下载请求时,确定所述下载请求的下载类型,所述指定应用程序与多个插件关联;
插件确定单元,根据所述下载类型对应的下载策略,从所述多个插件中确定至少一个插件为用于安装于所述指定应用程序的目标插件;
传输单元,用于将包括所述目标插件的所述指定应用程序作为目标应用程序发送至所述用户终端,用于所述用户终端安装所述目标应用程序;
其中,所述插件确定单元,还用于当所述下载类型为表征首次下载所述指定应用程序的第一类型时,获取所有所述指定应用程序在当前之前的第一预设时段内的运行参数,所述运行参数包括所述指定应用程序的各插件在相应的用户终端上的启动次数、插件的运行时长、下载的相应插件的类型、所下载的插件的次数中的至少一种;将所述运行参数输入经过训练的机器学习模型,得到所述机器学习模型从所述多个插件中确定的所述目标插件。
8.一种服务器,其特征在于,所述服务器包括相互耦合的存储器、处理器,所述存储器内存储计算机程序,当所述计算机程序被所述处理器执行时,使得所述服务器执行如权利要求1-6中任一项所述的方法。
9.一种计算机可读存储介质,其特征在于,所述可读存储介质中存储有计算机程序,当所述计算机程序在计算机上运行时,使得所述计算机执行如权利要求1-6中任意一项所述的方法。
CN202010293425.1A 2020-04-14 2020-04-14 应用程序传输方法、装置、服务器及可读存储介质 Active CN111488184B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010293425.1A CN111488184B (zh) 2020-04-14 2020-04-14 应用程序传输方法、装置、服务器及可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010293425.1A CN111488184B (zh) 2020-04-14 2020-04-14 应用程序传输方法、装置、服务器及可读存储介质

Publications (2)

Publication Number Publication Date
CN111488184A CN111488184A (zh) 2020-08-04
CN111488184B true CN111488184B (zh) 2022-09-02

Family

ID=71797955

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010293425.1A Active CN111488184B (zh) 2020-04-14 2020-04-14 应用程序传输方法、装置、服务器及可读存储介质

Country Status (1)

Country Link
CN (1) CN111488184B (zh)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105094889A (zh) * 2012-03-29 2015-11-25 北京奇虎科技有限公司 一种应用程序插件加载方法及装置
CN109901881A (zh) * 2018-11-27 2019-06-18 阿里巴巴集团控股有限公司 应用程序的插件加载方法、装置、计算机设备及存储介质

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105094889A (zh) * 2012-03-29 2015-11-25 北京奇虎科技有限公司 一种应用程序插件加载方法及装置
CN109901881A (zh) * 2018-11-27 2019-06-18 阿里巴巴集团控股有限公司 应用程序的插件加载方法、装置、计算机设备及存储介质

Also Published As

Publication number Publication date
CN111488184A (zh) 2020-08-04

Similar Documents

Publication Publication Date Title
CN111381858B (zh) 一种应用程序升级方法、服务器及终端设备
CN106874180B (zh) 检测系统及其方法
US9092286B2 (en) System to automatically process components on a device
CN107797817B (zh) 应用更新方法和装置
US8291402B2 (en) Using system fingerprints to accelerate package dependency resolution
CN111045933B (zh) 一种回归策略更新方法、装置、存储介质及终端设备
CN112214617B (zh) 一种基于区块链技术的数字档案管理方法及系统
CN106843947B (zh) 代码缺陷的处理方法和装置
CN111988429A (zh) 算法调度方法以及系统
CN110543324A (zh) 一种应用程序的插件增量更新方法及装置
CN113157315A (zh) 一种软件不同版本的差异信息识别方法、装置、设备及介质
CN113885959A (zh) 基于接口配置的数据处理方法、装置、设备及介质
CN113282327A (zh) 应用程序配置项的配置方法、装置、设备及存储介质
CN112954040A (zh) 嵌入应用发布服务器的方法、系统、设备及存储介质
WO2019148657A1 (zh) 关联环境测试方法、电子装置及计算机可读存储介质
CN111859139A (zh) 应用程序推荐方法、装置、计算设备和介质
CN111488184B (zh) 应用程序传输方法、装置、服务器及可读存储介质
CN110442455A (zh) 一种数据处理方法及装置
CN113741939A (zh) 汽车软件的离线升级方法、服务器和车机
CN113721944A (zh) 算法软件的启动方法及装置、存储介质、电子装置
CN111427603B (zh) 应用程序的升级方法及装置
CN113746932A (zh) 网络请求合并方法、装置及电子装置、计算机程序产品
CN114064068A (zh) 用于对分布式软件的不同版本进行更新管理的方法和设备
CN110825406A (zh) 一种软件升级的方法及相关设备
CN116107603B (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
GR01 Patent grant
GR01 Patent grant
EE01 Entry into force of recordation of patent licensing contract

Application publication date: 20200804

Assignee: Nanjing Manyun Cold Chain Technology Co.,Ltd.

Assignor: JIANGSU MANYUN SOFTWARE TECHNOLOGY Co.,Ltd.

Contract record no.: X2023980038397

Denomination of invention: Application transmission method, device, server, and readable storage medium

Granted publication date: 20220902

License type: Common License

Record date: 20230724

EE01 Entry into force of recordation of patent licensing contract