CN106648747B - 进程预加载处理方法及装置 - Google Patents

进程预加载处理方法及装置 Download PDF

Info

Publication number
CN106648747B
CN106648747B CN201611002856.8A CN201611002856A CN106648747B CN 106648747 B CN106648747 B CN 106648747B CN 201611002856 A CN201611002856 A CN 201611002856A CN 106648747 B CN106648747 B CN 106648747B
Authority
CN
China
Prior art keywords
loading
preloading
behaviors
determining
behavior data
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
CN201611002856.8A
Other languages
English (en)
Other versions
CN106648747A (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.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen 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 Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN201611002856.8A priority Critical patent/CN106648747B/zh
Publication of CN106648747A publication Critical patent/CN106648747A/zh
Application granted granted Critical
Publication of CN106648747B publication Critical patent/CN106648747B/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/44568Immediately runnable code
    • G06F9/44578Preparing or optimising for loading

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • User Interface Of Digital Computer (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本发明实施例公开了一种进程预加载处理方法及装置,所述方法包括:获取与第一进程关联的用户行为数据;根据所述用户行为数据,确定是否满足预加载条件;确定所述客户端的当前可用内存容量是否大于内存阈值;当所述当前可用内存容量大于内存阈值且所述用户行为数据满足所述预加载条件时,预加载所述第一进程。

Description

进程预加载处理方法及装置
技术领域
本发明涉及信息技术领域,尤其涉及一种进程预加载方法及装置。
背景技术
为了提升用户体验,减少某些进程的启动时延,在一些场景下会进行进程的预加载。这里的预加载为:在采集到用户的启动指令的之前,预先在设备后台自动加载某些进程,这样当采集到加载指令时,将直接弹出加载后的界面或将后台加载的进程调到前台运行即可,这样的话,对于用户而言设备的加载进程的速度就非常快,就减少了响应启动指令的时延。
在现有技术中预启动的条件都是静态设置,例如,当设备启动之后,判断当前设备的可用内存是否大于预先设定的内存阈值,若大于,则启动预先设定的一些进程。这种进程预加载可能导致加载了用户压根就不想要加载的进程,导致内存被占用,从而影响了设备响应其他操作的速率。
发明内容
有鉴于此,本发明实施例期望提供一种进程预加载方法及装置,以期望实现更加精准的进行预加载。
为达到上述目的,本发明的技术方案是这样实现的:
本发明实施例第一方面提供一种进程预加载处理方法,包括:
获取与第一进程关联的用户行为数据;
根据所述用户行为数据,确定是否满足预加载条件;
确定所述客户端的当前可用内存容量是否大于内存阈值;
当所述当前可用内存容量大于内存阈值且所述用户行为数据满足所述预加载条件时,预加载所述第一进程。
本发明实施例第二方面提供一种进程预加载处理装置,包括:
获取单元,用于获取与第一进程关联的用户行为数据;
第一确定单元,用于根据所述用户行为数据,确定是否满足预加载条件;
第二确定单元,用于确定所述客户端的当前可用内存容量是否大于内存阈值;
加载单元,用于当所述当前可用内存容量大于内存阈值且所述用户行为数据满足所述预加载条件时,预加载所述第一进程。
本发明实施例提供的进程预加载方法及装置,在确定是否预加载一个进程之前,会获取与该进程关联的用户行为数据,根据用户行为数据判断是否满足预加载条件,在设备的当前可用内存容量大于内存阈值时,且该进程满足预加载条件时,才加载该进程。显然在确定是否预加载一个进程时,引入了用户行为数据,用户行为数据可用于表征在当前时刻的某一个时间段内用户将指示加载的进程的可能性,在本发明实施李忠若满足预加载条件,可认为用户将会指示加载该进程的可能性很大,为了提升后续响应加载指令的响应速率,将预加载该进程,从而实现了预加载进程的精确化,减少了因预加载进程的不够精确,导致预加载了无需加载的进程占用了设备资源,导致的资源浪费以及拖慢了其他进程的运行速率的现象。
附图说明
图1为本发明实施例提供的一种进程预加载处理方法的流程示意图;
图2A为本发明实施例提供的第一种诱导信息的显示效果示意图;
图2B为本发明实施例提供的第二种诱导信息的显示效果示意图;
图2C为本发明实施例提供的第三种诱导信息的显示效果示意图;
图2D为本发明实施例提供的一种第一进程的显示效果示意图;
图3为本发明实施例提供的一种进程预加载处理装置的结构示意图;
图4为本发明实施例提供的另一种进程预加载处理方法的流程示意图;
图5为本发明实施例提供的另一种进程预加载处理装置的结构示意图。
具体实施方式
以下结合说明书附图及具体实施例对本发明的技术方案做进一步的详细阐述。
如图1所示,本实施例提供一种进程预加载处理方法,包括:
步骤S110:获取与第一进程关联的用户行为数据;
步骤S120:根据所述用户行为数据,确定是否满足预加载条件;
步骤S130:确定所述客户端的当前可用内存容量是否大于内存阈值;
步骤S140:当所述当前可用内存容量大于内存阈值且所述用户行为数据满足所述预加载条件时,预加载所述第一进程。
本实施例提供一种进程预加载方法,可应用于各种客户端中,例如,手机、平板电脑、笔记本电脑、台式电脑或可穿戴式设备等终端设备或服务器中。所述终端设备又可包括移动终端和/或固定终端。
不同的进程可用于完成客户端中的不同应用或业务。
在步骤S110中可包括获取与第一进程关联的用户行为数据,所述用户行为数据为检测用户行为产生的数据,可包括:通过人机交互接口加载或使用某一个进程的数据。所述用户行为具体可包括用户点击启动按钮,用户通过手势、语音或眼神示意使用对应进程界面中的某些控件,控制客户端使用该进程完成某些操作的用户行为产生的用户行为数据。所述历史行为数据可为当前时刻以前的用户行为数据,所述当前行为数据可为当前时刻产生的用户行为数据。
在本实施例中所述加载可包括启动该进程。启动该进程包括为该进程运行分配资源,利用分配的资源运行该进程。这里的用户行为数据可为历史行为数据或当前行为数据。与所述第一进程关联的用户行为数据,可为加载或使用所述第一进程的用户行为数据。当然与所述第一进程关联的用户行为数据还可包括加载或使用第二进程的用户行为数据,当然此时要求所述第二进程与所述第一进程满足预设关联关系。例如,所述第一进程可为所述第二进程的子进程,或所述第一进程为所述第二进程的二级业务进程。
例如,所述第二进程包括多个子进程,客户端在运行第二进程时,可能仅运行其中部分进程,但是一旦运行了其中的部分进程,则用户想要加载使用剩余进程的对应的业务的可能性就很大,故在本实施例中所述与第一进程关联的用户行为数据还包括加载或使用所述第二进程的用户行为数据。
在步骤S120中将根据所述用户行为数据,确定是否满足预加载条件。在具体的实现过程中,所述步骤S120可包括:按照解析规则解析所述用户行为数据,分析得到与所述预加载条件关联的判断参量,基于判断参量是否满足所述预加载条件。
在步骤S130中还会判断所述客户端的当前可用内存容量是否大于内存阈值。此处所述当前可用内存容量可为所述客户端的总内存量与已分配或已占用的内存容量的差值。即所述当前可用内存容量为当前闲置的内存量。在本实施例中只有所述当前内存量足够多时,预加载所述第一进程,才不会导致用户指示加载的其他进程的资源被挤占,拖慢其他进程的执行的问题。
故在本实施例的步骤S140中,只有同时满足当前可用内存容量大于内存阈值,且所述用户行为数据满足所述预加载条件时,预加载所述第一进程。
在本实施例中所述第一进程中的“第一”为泛指,没有特指某一个或某些进程的意思。当所述用户行为数据满足所述预加载条件,表明在当前时刻以后的预定时间段内用户会指示加载所述第一进程的概率较大,例如,计算出所述概率大于预设值。
在本实施例中在预加载某一个进程时,会基于用户行为数据进行确定,这样的话,一方面实现了进程的预加载,减少了响应加载指令的响应时延,另一方那么实现了预加载的进程的动态确定,实现了预加载进程的精准化,减少了不必要进程的预加载,进一步减少了不必要进程预加载占其他进程的资源,导致的响应其他进程的速度慢的问题。
根据所述用户行为数据,确定是否预第一进程的实现方式有多种,例如,们可以统计出预加载所述第一进程的历史频次,若历史频次大于某个频次阈值就预加载所述第一进程。当然在本实施例中会从多个维度考虑是否满足预加载条件,以提升预加载的进程的精准度,在本实施例中引入了预加载权值的计算。具体如,所述步骤S110可包括:检测针对第一进程的历史用户行为,获得历史行为数据;所述步骤S120可包括:解析所述历史行为数据,确定预加载所述第一进程的预加载权值;确定所述预加载权值是否位于预设范围内。所述步骤S140可包括:当所述当前可用内存容量大于所述内存阈值,且所述预加载权值位于所述预设范围内,则预加载所述第一进程。
这里的历史行为数据可为当前时刻以前某一段时间内的历史行为数据。解析历史行为数据可包括与所述预加载权值的确定相关的行为数据的筛选、统计和拆分等操作。例如,统计用户指示加载所述第一进程的频次、统计每一次用户指示加载、所述第一进程加载后维持加载状态的加载时长、计算平均加载时长。当然值得注意的是,为了减少数据筛选的步骤,在步骤S110中可直接仅获取与确定所述预加载权值相关的用户行为数据。
所述预加载权值可用于反映预加载所述第一进程的优先程度。若,所述预加载权值越大,表示预加载所述第一进程的优先程度越高,则所述频次和平均加载时长与所述预加载权值呈正比,否则呈反比。
在本实施例中所述预加载权值位于预设范围内,则用户会在接下来的一定时间内指示加载所述第一进程的概率很高,故在当前可用内存容量大于内存阈值时,则会启动所述第一进程,以提升响应加载第一进程的指令的速率。
确定所述预加载权值的方式有多种,以下提供几种可选方式:
可选方式一:
所述解析所述历史行为数据,确定预加载所述第一进程的预加载权值,包括:解析所述历史行为数据,确定使用所述第一进程的使用频次;根据所述使用频次确定所述预加载权值。
例如,在解析规则中确定使用频次与预加载权值的对应关系,此时,可以以当前计算得到的使用频次查询所述对应关系,从而确定出所述预加载权值。当然也可以是预先设定有计算所述预加载权值的函数关系,以所述使用频次为因变量,通过函数计算得到所述预加载权值。
可选方式二:
所述解析所述历史行为数据,确定预加载所述第一进程的预加载权值,包括:
解析所述历史行为数据,确定相邻两次使用所述第一进程的时间间隔;
根据所述时间间隔确定所述预加载权值。
在本实施例中所述时间间隔可为前两次使用所述第一进程的时间间隔,通常时间间隔越短,使得所述预加载权值位于所述预设范围内的可能性越大。当然,所述时间间隔也可以为多个相邻两次的使用第一进程的时间间隔的均值或中间值。根据所述均值或中间值确定所述预加载权值。同样的,可以通过查询对应关系或函数计算,得到基于所述时间间隔的预加载权值。
可选方式三:
所述解析所述历史行为数据,确定预加载所述第一进程的预加载权值,包括:利用机器学习算法对所述第一进程的历史加载行为数据进行聚类,获得聚类结果;根据所述聚类结果,确定在一个时间窗内预加载因子;根据当前预加载因子,计算当前时间的所述预加载权值。
所述机器学习算法可包括向量机学习算法或神经网络学习算法等各种设备能够自动学习的算法。所述机器学习算法可为聚类算法。例如,k-means聚类算法,K-nearby聚类算法或最大区域法等。k-means聚类算法,K-nearby聚类算法都是将每一次加载行为的时刻点视为一个点进行聚类。不同的是,k-means聚类算法中会预设聚类簇心,计算的是点与聚类簇心之间的距离;而k-nearby是计算任意两个点之间的距离。所述最大区域法同样将每一次加载行为的时刻点,通过距离计算实现聚类,为了确保在聚集度最高(对应于最大区域)的时间窗内,能够触发预加载,会将最大区域对应的预加载因子设置对应的值,该值能够使预加载权值有最大概率位于所述预设范围内。
所述时间窗可为预先设定的时间长度,在本实施例中所述时间窗的时长可为10分钟、20分钟、30分钟、1小时或2小时等。相邻两个所述时间窗对应的时间段不重叠,优选为连续且不重叠。
例如,第一时间窗的预加载因子为A,第二时间窗的预加载因子为B,若当前时间位于所述第一时间窗内,则当前时间的预加载权值是基于A计算的,具体如,所述当前时间的预加载权值等于A。
例如,以一天为时间周期,以一个小时为一个时间窗。通过所述历史行为数据的聚类,事先确定出一个时间周期内,各个时间窗的加载因子,当前时间位于第n时间窗,则采用第n时间窗的预加载因子计算所述预加载权值,或将第n时间窗的预加载因子直接作为当前时间的预加载权值。
在本实施例中同时为了减少计算量,在本实施例中仅对加载行为数据进行聚类,将一个加载行为视为聚类的一个点,聚类结果中任意两个点的距离,表示的两次加载行为的时间间隔。
所述利用机器学习算法对所述第一进程的历史加载行为数据进行聚类,获得聚类结果,包括:
统计第一时间窗内的加载行为;其中,所述第一时间窗包括m次所述加载行为;
算n个代表加载行为与聚类簇心的第一距离;其中,所述n个代表行为是m次所述加载行为中的n次加载行为,所述n为小于m的整数;
根据所述第一距离,确定所述第一时间窗内m次所述加载行为与聚类簇心的第二距离;
根据所述第二距离,形成所述聚类结果。
在本实施例中为了进一步减少计算量,减少客户端计算预加载权值所消耗的资源。在本实施例中统计第一时间窗内的加载行为。这里的第一时间窗泛指任意一个时间窗。然后随机或按照预设规则挑选n次加载行为作为所述代表加载行为,计算代表加载行为与预设的聚类簇心之间的欧式距离,再根据这n个欧式距离,确定出第一时间窗内m个加载行为与聚类簇心的第二距离,最后根据第二距离,形成聚类簇。
所述n可为1、2或3等小于m的数。在本实施例中优选为1。当所述n为1时,可以随机或按照预设规则,挑选一次加载行为进行与聚类簇心的欧式计算,并将这次计算得到的距离作为第一时间窗内所有加载行为的欧式距离,然后根据所有加载行为的欧式距离,形成聚类结果。这样就可以统计出哪一个聚类簇包括的加载行为次数多,加载行为之间的时间间隔短等信息。所述预设规则可包括:选择最靠近第一时间窗内最靠近中间时刻点的加载行为进行所述欧式距离的计算,也可以选择第一时间窗内的首次加载行为或最后一次加载行为进行所述欧式距离的计算。当所述n等于或大于2时,所述第二距离可为n个第一距离的均值或中值。
总之,在本实施例中通过代表加载行为与聚类簇心的欧式距离的计算,实现一个时间窗内所有加载行为与聚类粗心之间的欧式距离的获得,简化了聚类操作,提升了聚类速率,减少了聚类所占用的时间。
在一些实施例中,所述方法还包括:
加载第二进程;其中,所述第二进程为与所述第一进程满足预设关联关系的进程;
所述步骤S130可包括:
在加载所述第二进程之后,根据所述用户行为数据,确定是否满足预加载条件。
在本实施例中若客户端加载了第二进程,才触发确定第一进程是否满足预加载条件的步骤S130,这样一方面相对任何情况都进行确定的确定操作多的问题,同时在本实施例中第一进程和第二进程是满足预设关联关系的。例如,第二进程为第一进程的母进程,即所述第一进程是第二进程的子进程。再比如,所述第二进程和第一进程属于同一个应用。例如,手机上运行的QQ,包括QQ主页面进程、QQ钱包进程、QQ空间进程。这些进程都是属于同一个应用的集成。若QQ主页面进程启动了(即加载了),则用户指示客户端启动QQ钱包进程、QQ空间进程的概率就加大了。在本实施例中根据这一特点,所述步骤S120是在加载了与第一进程满足预设关联关系的第二进程之后执行的。
在有些情况下:所述方法还包括:
确定所述第二进程的显示界面是否有诱导加载所述第一进程的诱导信息;
所述步骤S120可包括:
结合所述用户行为数据及所述诱导信息,确定是否满足预加载条件。
例如,在所述第二进程的显示界面,显示有引诱用户指示启动第一进程的显示控件或显示信息等诱导信息。例如,在QQ主页面,显示有QQ钱包的广告,当用户点击了该广告之后,会触发客户端加载QQ钱包进程。再比如,在QQ主页面显示有指示加载第一进程的控件,或用于用户指示加载所述第一进程的控件突出显示。这些都可认为:在第二进程的显示界面的特定区域显示有诱导加载第一进程的诱导信息。所述特定区域可为根据历史数据,最能吸引用户目光的显示区域。例如,QQ聊天信息显示对话框的中间区域。所述突出显示包括颜色诱导和显示面积诱导。所述颜色诱导为诱导信息的显示颜色与诱导信息的显示环境之间的差异满足预定差异度。所述显示面积诱导,诱导信息的显示面积明显大于其他信息的显示面积。例如,一个触发加载所述第一进程的控件的显示面积,明显大于加载其他进程的控件的显示面积,则表明第二进程的显示界面,显示有第一进程的突出显示诱导信息。
总之,所述诱导信息可包括广告诱导信息、控件诱导信息及突出显示诱导信息等。
图2A为广告诱导信息的一个显示效果图;图2B为控件诱导信息的一个显示效果图;图2C为突出显示诱导信息的一个显示效果示意图。图2D为从图2A至图2C的诱导信息进入的第一进程的显示效果示意图。
在图2A至图2D中都以QQ钱包为第一进程。图2A显示的为QQ看点的显示界面,QQ看点为所述第一进程;在QQ看点的显示界面上叠加显示了进入QQ钱包的广告。
在图2B中显示的QQ的聊天界面,在聊天界面显示了QQ钱包的控件。QQ的聊天界面即为所述第二进程的显示界面。
在图2C中显示的QQ的聊天界面,在该聊天界面中显示了多个进入其他进程的控件。在图2C中显示有进入QQ钱包、QQ空间和QQ邮箱的控件,以上仅为举例,在具体实现时不局限于上述举例。通过比对QQ钱包、QQ空间及QQ邮箱可知,QQ钱包的控件被突出显示了。
图2D为QQ钱包的显示界面。
本实施例中所述诱导信息也可以用于参与前述预加载权值的计算,根据诱导信息有无和/或诱导程度,结合用户行为数据,一起计算所述预加载权值,再根据预加载权值是否位于预设范围内,确定是否预加载第一进程。
在确定所述预加载权值时,可以前述的可选方式一至可选方式三,以及本实施例中诱导信息和用户行为数据的结合计算,一起使用;然后计算各种方式得到的预加载权值的均值或和,根据该均值或和最终确定是否预加载第一进程。
如图3所示,本实施例提供一种进程预加载处理装置,包括:
获取单元110,用于获取与第一进程关联的用户行为数据;
第一确定单元120,用于根据所述用户行为数据,确定是否满足预加载条件;
第二确定单元130,用于确定所述客户端的当前可用内存容量是否大于内存阈值;
加载单元140,用于当所述当前可用内存容量大于内存阈值且所述用户行为数据满足所述预加载条件时,预加载所述第一进程。
本实施例所述进程预加载处理装置为位于客户端中的信息处理结构,能够用于确定是否预加载一个进程。
在本实施例中所述获取单元110、第一确定单元120、第二确定单元130及加载单元140都可以对应于处理器或处理电路。所述处理器可为中央处理器CPU、数字信号处理器DSP、应用处理器AP、微处理器MCU或可编程阵列PLC等。所述处理电路可包括专用集成电路ASIC等。
所述处理器或处理电路,可通过执行可执行代码,实现上述各个单元的操作。所述获取单元110、第一确定单元120、第二确定单元130及加载单元140中的任意多个单元可以共同对应于同一个处理器或处理电路,也可以分别对应于不同的处理器或处理电路。
总之,本实施例提供了一种进程预加载装置,可为实现前述进程预加载方法的硬件结构,同样具有能够精确预加载进程,一方面提升加载指令的响应速率,另一方面尽可能减少预加载不必要的进程导致的占用设备资源,拖慢其他进程的现象。
在一些实施例中,所述获取单元110,具体用于检测针对第一进程的历史用户行为,获得历史行为数据;所述第一确定单元120,具体用于解析所述历史行为数据,确定预加载所述第一进程的预加载权值;确定所述预加载权值是否位于预设范围内。
在本实施例中所述获取单元110可对应于存储介质和处理器,处理器将第一进程的历史行为记录在所述存储介质中,这样可以方便所述第一确定单元120根据历史行为数据,确定所述预加载权值。在本实施例中所述第一确定单元120可对应于计算器或具有计算功能的处理器,通过历史行为数据的解析,计算出所述预加载权值。所述第一确定单元120还可包括比较器或具有比较功能的处理器,将所述预加载权值与预设范围进行比较,以确定出的所述第一进程的预加载权值是否位于预设范围内。
在一些实施例中,所述第一确定单元120,具体用于解析所述历史行为数据,确定使用所述第一进程的使用频次;根据所述使用频次确定所述预加载权值;所述加载单元150,具体用于当所述当前可用内存容量大于所述内存阈值,且所述预加载权值位于所述预设范围内,则预加载所述第一进程。
在另一些实施例中,所述第一确定单元120,具体用于解析所述历史行为数据,确定相邻两次使用所述第一进程的时间间隔;根据所述时间间隔确定所述预加载权值。
在还有一些实施例中,所述第一确定单元120,具体用于利用机器学习算法对所述第一进程的历史加载行为数据进行聚类,获得聚类结果;根据所述聚类结果,确定在一个时间窗内预加载因子;根据当前预加载因子,计算当前时间的所述预加载权值。具体地如,所述第一确定单元120,具体用于统计第一时间窗内的加载行为;其中,所述第一时间窗包括m次所述加载行为;算n个代表加载行为与聚类簇心的第一距离;其中,所述n个代表行为是m次所述加载行为中的n次加载行为,所述n为小于m的整数;根据所述第一距离,确定所述第一时间窗内m次所述加载行为与聚类簇心的第二距离;根据所述第二距离,形成所述聚类结果。
在具体实现时,所述第一确定单元120,可为同时能够根据使用频次、时间间隔和/或聚类结果,进行预加载权值计算的结构,可以使用不同的计算方式得到预加载权值,然后根据不同计算方式得到的预加载权值,计算得到最终的预加载权值,并利用最终的预加载权值与预设范围的比较,确定是否预加载或预启动第一进程。
在一些实施例中,所述加载单元140,还用于加载第二进程;其中,所述第二进程为与所述第一进程满足预设关联关系的进程;所述第一确定单元120,还用于在加载所述第二进程之后,根据所述用户行为数据,确定是否满足预加载条件。
在本实施例中所述装置还包括:第三确定单元,具体用于确定所述第二进程的显示界面是否有诱导加载所述第一进程的诱导信息;所述第一确定单元120,具体用于结合所述用户行为数据及所述诱导信息,确定是否满足预加载条件。
在本实施例中所述装置还引入了第三确定单元,这里的第三确定单元与前述的第一确定单元120和/或第二确定单元剧130的结构类似,但是在本实施例中所述第三确定单元为用于确定第二进程的显示界面是否有诱导用户加载第一进程的第一进程的诱导信息,在本实施例中通过诱导信息的引入,更加精确的计算出决定是否预加载第一进程的加载参数,以实现第一进程的精确预加载。
以下结合上述实施例提供几个具体示例:
示例一:
本示例提供一种进程预加载处理方法,包括以下几个阶段:
第一阶段:进入动态页面,例如,进前述的第二进程的显示页面。这里的动态页面可理解为动态加载的页面。
第二阶段:设备性能判断,例如,判断客户端的当前可用内存量是否大于内存阈值。
第三阶段:当设备性能满足预定要求,进行用户行为判断。当用户行为判断可包括:判断用户在接下来的某个时间段内启动(即加载)某一目前未启动进程的概率很高(例如,预加载权值位于预设范围内)。
第四阶段:根据第三阶段的判断结果,确定是否预加载,这里的预加载为预先加载某一个进程。
示例二:
如图4所示,本示例提供一种进程预加载方法包括:
步骤S1:判断是否有需要预加载进程的是否存在,若是进入步骤S2,若否则流程结束。
步骤S2:判断设备是否允许预加载,若是进入步骤S3,若否则流程结束;
步骤S3:判断系统内存是否足够,若是进入步骤S4,若否则流程结束。这里的系统内存是否足够相当于判断当前可用内存是否足够大,
步骤S4:根据用户行为数据判断是否需要预加载,若是进入步骤S5,若否则流程结束;
步骤S5:判断预加载进程对应的插件是否安装,若是进入步骤S7,若否进入步骤S6;
步骤S6:判断是否建立指定类型网络连接,若是进入步骤S8,若否,则流程结束。步骤S6中可包括判断是否建立了WiFi连接等,避免使用数据流量进行插件下载和安装。
步骤S7:执行预加载。
步骤S8:执行下载安装,并进入步骤S7。
示例三:
本示例是在前述任意一个实施例或一个示例基础上的进一步改建,本示例主要提供几种技术预加载权值的方法。所述预加载权值的缩写为PPV,是Process Preload Value的首字母组合,在本示例中只有计算出的PPV大于预加载阀值时才进行预加载。
主要包括4个主要检测计算过程:用户诱导检测计算、低频阀值检测计算、使用时差检测计算机、聚类时段检测计算。
一、用户诱导检测计算:
检测当前是否有诱导用户的行为,比如红点诱导,广告诱导等。诱导行为会增加PPV,不同诱导行为其增加值不同,若无诱导行为则不增加诱导权值。出现诱导因素后用户打开业务的可能性会更大,此时可以考虑开启预加载。
二、低频阀值检测计算:
低频阀值指用户使用业务的频次,对于低频使用的用户屏蔽预加载操作,所以会减少PPV。
三、使用时差检测计算:
使用时差指用户在两次使用业务之间的时间距离,时差越短意味着用户使用的可能性更高。依据用户使用时差表,在极短时间内(小于30s)PPV增加值最高;当时差在中短时间内(小于24h)PPV增加值较小;当时差时间过长(大于24h)会减少PPV。
四、聚类算法时段检测计算:
所述聚类算法可为k-means算法,所述k-means算法是机器学习算法中的一种,通过聚类的方式归纳用户使用行为,实现用户使用行为的判断。为减少k-means的计算量,从计算精度与预加载成功率上做了折中处理。简化用户行为学习过程,只记录不同时间段上用户的启动行为,通过减少数据量的方式减少计算量。利用时间段内一次或多次欧式距离,代替该时间段内所有欧氏距离计算方式,以达到减少计算量,优化优化k-means距离计算的效果。当使用k-means算法检测用户所落在预加载时段,不同时段会为PPV赋予不同值,当落在聚类结果为使用最频繁时段时会增加PPV;当落在聚类结果为低使用时段时会减少PPV。
在本示例中,增加用户诱导检测计算。,可通过加入诱导行为检测能提升判断的准确率,并能有效提高用户的使用体验。此外,在终端引入机器学习算法k-means等聚类算法,动态改变检测条件。现有终端用户行为检测一般都为点击检测与使用时长检测,这些检测方式都过于简单,且判断条件都是静态条件,比如使用次数不低于“某值”,而这个“某值”都是静态的,不会根据用户使用时间推移而改变,不能准确匹配用户使用习惯。引入k-means算法后可以动态的的检测用户使用行为,随着用户使用时间推移,对判断条件不断做出调整,慢慢的接近用户的真实使用习惯。所述k-means算法可由k-nearby算法替代。
示例四:
如图5所示,本示例提供一种进程预加载处理装置的一个可选的硬件结构示意图,包括处理器11、输入/输出接口13(例如显示屏、触摸屏、扬声器),存储介质14以及网络接口12,组件可以经系统总线15连接通信。相应地,存储介质14中均存储有用于执行本发明实施例记载的服务处理方法的可执行指令。图3中示出的各硬件模块可根据需要部分实施、全部实施或实施其他的硬件模块,各类型硬件模块的数量可以为一个或多个,各硬件模块可以在同一地理位置实施,或者分布在不同的地理位置实施,可以用于执行上述图1及图4所示的进程预加载方法中的一个或多个。
在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。
上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元,即可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。
另外,在本发明各实施例中的各功能单元可以全部集成在一个处理模块中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。

Claims (8)

1.一种进程预加载处理方法,其特征在于,包括:
加载客户端的即时通信应用中的第二进程;其中,所述第二进程为主页面进程,所述第二进程包括多个用于完成所述即时通信应用中不同业务的子进程;
检测针对第一进程的历史用户行为,得到历史行为数据;其中,所述历史行为数据包括使用所述第一进程的使用频次以及相邻两次使用所述第一进程的时间间隔;所述第一进程为所述第二进程包括的多个子进程中的任意一个;
当所述第二进程的显示界面中所述第一进程的加载控件的显示面积大于所述第二进程包括的其他子进程的加载控件的显示面积时,确定所述第二进程的显示界面中显示有诱导加载所述第一进程的诱导信息;
当所述客户端的当前可用内存容量大于内存阈值时,利用机器学习算法对所述历史行为数据进行聚类得到聚类结果,根据所述聚类结果确定多个时间窗的预加载因子,并
将当前时间所在的时间窗的预加载因子,确定为当前预加载因子;
结合所述诱导信息、所述使用频次、所述时间间隔和所述当前预加载因子,确定预加载权值;所述预加载权值表示预加载所述第一进程的优先程度;
当所述预加载权值大于预加载阈值时,预加载所述第一进程。
2.根据权利要求1所述的方法,其特征在于,
所述利用机器学习算法对所述历史行为数据进行聚类得到聚类结果,包括:
统计第一时间窗内的加载行为;其中,所述第一时间窗包括m次所述加载行为;
计算n个代表加载行为与聚类簇心的第一距离;其中,所述n个代表加载行为是m次所述加载行为中的n次加载行为,所述n为小于m的整数;
根据所述第一距离,确定所述第一时间窗内m次所述加载行为与聚类簇心的第二距离;
根据所述第二距离,形成所述聚类结果。
3.根据权利要求1所述的方法,其特征在于,还包括:
确定所述第二进程的显示界面是否有诱导加载所述第一进程的诱导信息。
4.一种进程预加载处理装置,其特征在于,包括:
加载单元,用于加载客户端的即时通信应用中的第二进程;其中,所述第二进程为主页面进程,所述第二进程包括多个用于完成所述即时通信应用中不同业务的子进程;
获取单元,用于检测针对第一进程的历史用户行为,得到历史行为数据;其中,所述历史行为数据包括使用所述第一进程的使用频次以及相邻两次使用所述第一进程的时间间隔;所述第一进程为所述第二进程包括的多个子进程中的任意一个;
第一确定单元,用于当所述第二进程的显示界面中所述第一进程的加载控件的显示面积大于所述第二进程包括的其他子进程的加载控件的显示面积时,确定所述第二进程的显示界面中显示有诱导加载所述第一进程的诱导信息;
第一确定单元,还用于当所述客户端的当前可用内存容量大于内存阈值时,利用机器学习算法对所述历史行为数据进行聚类得到聚类结果,根据所述聚类结果确定多个时间窗的预加载因子,并
将当前时间所在的时间窗的预加载因子,确定为当前预加载因子;
结合所述诱导信息、所述使用频次、所述时间间隔和所述当前预加载因子,确定预加载权值;所述预加载权值表示预加载所述第一进程的优先程度;
所述加载单元,还用于当所述预加载权值大于预加载阈值时,预加载所述第一进程。
5.根据权利要求4所述的装置,其特征在于,
所述第一确定单元,还用于统计第一时间窗内的加载行为;其中,所述第一时间窗包括m次所述加载行为;计算n个代表加载行为与聚类簇心的第一距离;其中,所述n个代表加载行为是m次所述加载行为中的n次加载行为,所述n为小于m的整数;根据所述第一距离,确定所述第一时间窗内m次所述加载行为与聚类簇心的第二距离;根据所述第二距离,形成所述聚类结果。
6.根据权利要求4所述的装置,其特征在于,
所述装置还包括:
第三确定单元,还用于确定所述第二进程的显示界面是否有诱导加载所述第一进程的诱导信息。
7.一种电子设备,其特征在于,包括:
计算机可读存储介质,用于存储可执行指令;
处理器,用于执行所述计算机可读存储介质中存储的可执行指令时,实现权利要求1至3任一项所述的进程预加载处理方法。
8.一种计算机可读存储介质,其特征在于,存储有可执行指令,用于引起处理器执行时,实现权利要求1至3任一项所述的进程预加载处理方法。
CN201611002856.8A 2016-11-14 2016-11-14 进程预加载处理方法及装置 Active CN106648747B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201611002856.8A CN106648747B (zh) 2016-11-14 2016-11-14 进程预加载处理方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201611002856.8A CN106648747B (zh) 2016-11-14 2016-11-14 进程预加载处理方法及装置

Publications (2)

Publication Number Publication Date
CN106648747A CN106648747A (zh) 2017-05-10
CN106648747B true CN106648747B (zh) 2021-01-05

Family

ID=58806725

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201611002856.8A Active CN106648747B (zh) 2016-11-14 2016-11-14 进程预加载处理方法及装置

Country Status (1)

Country Link
CN (1) CN106648747B (zh)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109814937A (zh) 2017-11-20 2019-05-28 广东欧珀移动通信有限公司 应用程序预测模型建立、预加载方法、装置、介质及终端
CN109960507B (zh) * 2017-12-14 2021-06-08 Oppo广东移动通信有限公司 编译优化方法、装置、存储介质、智能终端及服务器
CN108647052B (zh) * 2018-04-28 2020-12-01 Oppo广东移动通信有限公司 应用程序预加载方法、装置、存储介质及终端
CN108595228B (zh) 2018-05-10 2021-03-12 Oppo广东移动通信有限公司 应用程序预测模型建立方法、装置、存储介质及移动终端
CN108595227A (zh) 2018-05-10 2018-09-28 Oppo广东移动通信有限公司 应用程序预加载方法、装置、存储介质及移动终端
CN108710513B (zh) 2018-05-15 2020-07-21 Oppo广东移动通信有限公司 应用程序启动方法、装置、存储介质及终端
JP7186541B2 (ja) * 2018-05-17 2022-12-09 キヤノン株式会社 画像処理装置、その制御方法、及びプログラム
US10992834B2 (en) 2018-05-17 2021-04-27 Canon Kabushiki Kaisha Image processing apparatus, method for controlling the same, and computer-readable storage medium
CN108762838B (zh) * 2018-05-21 2022-01-28 Oppo广东移动通信有限公司 应用程序预加载方法、装置、存储介质及终端
CN108804157A (zh) 2018-06-05 2018-11-13 Oppo广东移动通信有限公司 应用程序预加载方法、装置、存储介质及终端
CN111290803B (zh) * 2020-02-19 2023-06-09 上海达梦数据库有限公司 数据预加载方法、装置、设备及存储介质
CN112162796A (zh) * 2020-10-10 2021-01-01 Oppo广东移动通信有限公司 应用启动的方法、装置、终端设备以及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4257097A (en) * 1978-12-11 1981-03-17 Bell Telephone Laboratories, Incorporated Multiprocessor system with demand assignable program paging stores
CN102663012A (zh) * 2012-03-20 2012-09-12 北京搜狗信息服务有限公司 一种网页预加载方法及系统
CN102999368A (zh) * 2012-12-14 2013-03-27 广东欧珀移动通信有限公司 移动终端中程序预先启动方法、装置及移动终端
CN104753922A (zh) * 2015-03-10 2015-07-01 百度在线网络技术(北京)有限公司 用于预加载的方法、服务端、客户端及系统

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101335723B (zh) * 2008-08-04 2010-12-08 腾讯科技(深圳)有限公司 一种即时通讯系统及其窗口的创建方法和系统
US20130174096A1 (en) * 2011-12-30 2013-07-04 Research In Motion Limited Method and apparatus pertaining to the presentation of icons
CN103019703B (zh) * 2012-11-28 2016-06-22 北京奇虎科技有限公司 用于浏览器的工具类窗口加载方法和装置
US10643263B2 (en) * 2013-02-13 2020-05-05 Rentpath, Llc Method and apparatus for apartment listings
US9588897B2 (en) * 2013-07-19 2017-03-07 Samsung Electronics Co., Ltd. Adaptive application caching for mobile devices
CN105474523B (zh) * 2013-08-30 2018-06-15 埃森哲环球服务有限公司 用于配电网络重配置的系统、方法和装置及有形计算机可读介质
CN105975545A (zh) * 2016-04-29 2016-09-28 努比亚技术有限公司 一种终端控制方法及终端

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4257097A (en) * 1978-12-11 1981-03-17 Bell Telephone Laboratories, Incorporated Multiprocessor system with demand assignable program paging stores
CN102663012A (zh) * 2012-03-20 2012-09-12 北京搜狗信息服务有限公司 一种网页预加载方法及系统
CN102999368A (zh) * 2012-12-14 2013-03-27 广东欧珀移动通信有限公司 移动终端中程序预先启动方法、装置及移动终端
CN104753922A (zh) * 2015-03-10 2015-07-01 百度在线网络技术(北京)有限公司 用于预加载的方法、服务端、客户端及系统

Also Published As

Publication number Publication date
CN106648747A (zh) 2017-05-10

Similar Documents

Publication Publication Date Title
CN106648747B (zh) 进程预加载处理方法及装置
US9588642B2 (en) Information processing apparatus and application controlling method
WO2019086043A1 (en) M ethods and systems for preloading applications and generating prediction models
CN107911798B (zh) 消息推送方法、装置及终端
CN107222315B (zh) 基于语音通信平台的用户信息展示方法和系统
CN106951057B (zh) 应用的控制方法及移动终端
US20200226433A1 (en) Method and Device for Controlling Application, Storage Medium, and Electronic Device
CN106326137B (zh) 一种内存优化方法、装置及用户设备
KR20170097888A (ko) 복수의 디바이스들로부터 수집된 데이터 통합 및 제공 방법 및 이를 구현한 전자 장치
CN106155789B (zh) 一种应用冻结方法及移动终端
CN107479953B (zh) 进程管理方法、装置、存储介质及电子设备
CN108958828B (zh) 应用程序预加载方法、装置、存储介质及终端
CN108762844B (zh) 应用程序预加载方法、装置、存储介质及终端
CN112997134A (zh) 应用图标显示方法、装置、存储介质及电子设备
EP4167541A1 (en) Method and apparatus of configuring a cloud server resource, electronic device and medium
CN106502833B (zh) 数据备份方法及装置
CN110889062A (zh) 页面加载方法及装置、终端和计算机可读存储介质
CN107943570B (zh) 应用管理方法、装置、存储介质及电子设备
CN107247539A (zh) 一种信息展示方法及装置、计算机装置和可读存储介质
CN107608778B (zh) 应用程序管控方法、装置、存储介质及电子设备
CN113271360B (zh) 应用程序的推荐方法、装置、电子设备及介质
CN108762838B (zh) 应用程序预加载方法、装置、存储介质及终端
CN112187624B (zh) 消息回复方法、装置及电子设备
CN113050782B (zh) 画像构建方法、装置、终端及存储介质
CN106648916B (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