CN110209975A - 用于提供对象的方法、装置、设备和存储介质 - Google Patents

用于提供对象的方法、装置、设备和存储介质 Download PDF

Info

Publication number
CN110209975A
CN110209975A CN201910461527.7A CN201910461527A CN110209975A CN 110209975 A CN110209975 A CN 110209975A CN 201910461527 A CN201910461527 A CN 201910461527A CN 110209975 A CN110209975 A CN 110209975A
Authority
CN
China
Prior art keywords
target object
parameter
predicted value
value
starting
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.)
Granted
Application number
CN201910461527.7A
Other languages
English (en)
Other versions
CN110209975B (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.)
Baidu Online Network Technology Beijing Co Ltd
Beijing Baidu Netcom Science and Technology Co Ltd
Original Assignee
Beijing Baidu Netcom Science and 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 Beijing Baidu Netcom Science and Technology Co Ltd filed Critical Beijing Baidu Netcom Science and Technology Co Ltd
Priority to CN201910461527.7A priority Critical patent/CN110209975B/zh
Publication of CN110209975A publication Critical patent/CN110209975A/zh
Application granted granted Critical
Publication of CN110209975B publication Critical patent/CN110209975B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/957Browsing optimisation, e.g. caching or content distillation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/957Browsing optimisation, e.g. caching or content distillation
    • G06F16/9574Browsing optimisation, e.g. caching or content distillation of access to content, e.g. by caching

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • User Interface Of Digital Computer (AREA)
  • Information Transfer Between Computers (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

根据本公开的示例实施例,提供了用于提供对象的方法、装置、设备和计算机可读存储介质。用于提供对象的方法包括获取与目标对象的启动相关联的启动参数和针对目标对象的启动时间的初始值。该方法还包括基于启动参数和初始值,确定针对启动时间的第一预测值。该方法进一步包括基于第一预测值,执行用于加速目标对象的启动的操作。以此方式,能够实现目标对象的灵活预启动,从而平衡用户体验和资源消耗。

Description

用于提供对象的方法、装置、设备和存储介质
技术领域
本公开的实施例主要涉及计算机领域,并且更具体地,涉及用于提供对象的方法、装置、设备和计算机可读存储介质。
背景技术
随着互联网的发展和普及,人们越来越习惯于通过诸如手机、平板等计算设备来获得资讯、浏览图片、观看视频等。例如,在许多手机应用场景中存在视频。当视频存在被播放的可能性时,通常在播放视频前采取一些预先操作,以便减少用户在点击视频后的等待时间,从而提高用户体验。
发明内容
根据本公开的示例实施例,提供了一种用于提供对象的方案。
在本公开的第一方面中,提供了一种提供对象的方法。该方法包括获取与目标对象的启动相关联的启动参数和针对目标对象的启动时间的初始值。该方法还包括基于启动参数和初始值,确定针对启动时间的第一预测值。该方法进一步包括基于第一预测值,执行用于加速目标对象的启动的操作。
在本公开的第二方面中,提供了一种用于提供对象的装置。该装置包括参数和初始值获取模块,被配置为获取与目标对象的启动相关联的启动参数和针对目标对象的启动时间的初始值。该装置还包括第一预测值确定模块,被配置为基于启动参数和初始值,确定针对启动时间的第一预测值。该装置进一步包括操作执行模块,被配置为基于第一预测值,执行用于加速目标对象的启动的操作。
在本公开的第三方面中,提供了一种电子设备,包括一个或多个处理器;以及存储装置,用于存储一个或多个程序,当一个或多个程序被一个或多个处理器执行,使得一个或多个处理器实现根据本公开的第一方面的方法。
在本公开的第四方面中,提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现根据本公开的第一方面的方法。
应当理解,发明内容部分中所描述的内容并非旨在限定本公开的实施例的关键或重要特征,亦非用于限制本公开的范围。本公开的其它特征将通过以下的描述变得容易理解。
附图说明
结合附图并参考以下详细说明,本公开各实施例的上述和其他特征、优点及方面将变得更加明显。在附图中,相同或相似的附图标注表示相同或相似的元素,其中:
图1示出了本公开的多个实施例能够在其中实现的示例环境的示意图;
图2示出了根据本公开的一些实施例的提供对象的过程的流程图;
图3示出了图示根据本公开的一些实施例中的对象预启动的示意图;
图4示出了根据本公开的一些实施例的执行预启动操作的过程的流程图;
图5示出了根据本公开的一些实施例的线性回归模型的示意图;
图6示出了根据本公开的一些实施例的有效效果的示意图;
图7示出了根据本公开的一些实施例的用于提供对象的装置的示意性框图;以及
图8示出了能够实施本公开的多个实施例的计算设备的框图。
具体实施方式
下面将参照附图更详细地描述本公开的实施例。虽然附图中显示了本公开的某些实施例,然而应当理解的是,本公开可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例,相反提供这些实施例是为了更加透彻和完整地理解本公开。应当理解的是,本公开的附图及实施例仅用于示例性作用,并非用于限制本公开的保护范围。
在本公开的实施例的描述中,术语“包括”及其类似用语应当理解为开放性包含,即“包括但不限于”。术语“基于”应当理解为“至少部分地基于”。术语“一个实施例”或“该实施例”应当理解为“至少一个实施例”。术语“第一”、“第二”等等可以指代不同的或相同的对象。下文还可能包括其他明确的和隐含的定义。
在本文的实施例中,术语“预启动”或“预启动操作”是指在对象被呈现前执行的用于加速对象的潜在启动的操作。例如,在对象为视频的情况下,“预启动”或“预启动操作”可以包括下文所描述的预取、预链接、预初始化等。
如前文所提及的,在诸如视频等对象存在被呈现的可能时,通常采用提前动作来减少实际呈现给用户时用户的等待时间或对象的启动时间,即对对象进行预启动。在没有预启动的情况下,当视频被点击之后,正常的播放流程包括进行播放器初始化、链接到存储有视频的服务器、下载并播放视频。
在各种应用场景中,在产生视频播放先兆时(例如,对于诸如Feed流的信息流,当用户停止滑动界面时),将触发一系列的播放视频提前行为,包括视频预取、预链接和预初始化等。其中,预取是指在产生视频播放先兆时,对先兆对应的视频进行定向预取,提前下载例如3秒-4秒的视频片段;预链接是指提前与存储有视频的服务器建立连接并保持所建立的连接,以便提前完成与服务器建立连接的请求和响应过程;预初始化是指在视频被启动前播放器本身进行初始化。
传统上,不考虑具体情况,而对所有用户设备执行相同的预启动操作。例如,为了提升用户的观看体验,通常对视频进行预取。然而,这种静态的方式带来一些问题。
例如,在用户设备性能、网络、运行状态均较好的情况下,视频从点击到首帧播放的时间(称为起播速度)能够到达例如100-200ms,这样的性能是极佳的。然而,面向用户的体验感知,通过信息流内的视频点展比、视频分发量等数据分析,当起播速度小于一定值(例如,600ms)时继续优化,已经无法看出数据的显著变化。因而可以认为起播速度带来的用户体验收益已经较低。换言之,用户不会因为起播速度的继续降低而进一步提升体验。
由此可见,对于处于优质环境中的用户而言,通过诸如视频预取来预启动视频已经无法显著提升用户体验。然而,视频预取导致用户端和服务器端的带宽流量均显著上升,这造成流量支出大于回报。尽管以视频作为对象的一个示例来描述传统方案的问题,但是应当理解,这样的问题对于诸如音频、图片、网页等其他对象同样存在。
根据本公开的实施例,提出了一种提供对象的方案。在该方案中,首先获取与目标对象的启动相关联的启动参数和针对启动时间的初始值,然后基于启动参数和初始值确定当前状态下预测的启动时间,基于该预测的启动时间来对目标对象执行预启动操作。以此方式,综合考虑网络、设备等诸多因素来动态地对目标对象进行预启动,而不是静态地执行某一种预启动操作。因此,本公开的方案能够实现目标对象的灵活预启动,从而平衡用户体验和资源消耗。
以下将参照附图来具体描述本公开的实施例。
图1示出了本公开的多个实施例能够在其中实现的示例环境100的示意图。在示例环境100中,计算设备102与用户101交互。计算设备102可以向用户101呈现各种信息,用户101可以通过诸如点击操作来浏览计算设备102所提供的感兴趣的内容。例如,用户101可能潜在地浏览或查看目标对象104(本文中也称为启动目标对象104)。目标对象104的相关数据驻留在例如服务器103中,例如存储在服务器103的存储设备中。尽管未示出,但是计算设备102可以通过各种适当的网络来与服务器103通信。这样的网络包括但不限于局域网、广域网、互联网、蜂窝网络等。
在一些实施例中,目标对象104可以包括视频、音频、图像和文字中的至少一项。例如,目标对象104可以是单独的视频或音频,也可以是诸如被包括在网页中的视频或音频。目标对象104可以包括一个或多个静态图片或者动态图片。目标对象104还可以是诸如电子书。举例而言,计算设备102上可以运行流式资讯应用,用户101可以通过该资讯应用浏览感兴趣或被推荐的信息,诸如新闻、文章或视频。服务器103可以属于该资讯应用的提供商。在不同的场景下,目标对象104可以是视频、音频、静态图片、动态图片、网页或其组合。
计算设备102可以在确定用户101对目标对象104感兴趣或有可能启动目标对象104时,为用户101预启动目标对象104。计算设备102(例如,其上运行的应用)也可以基于其他因素来自主地为用户101预启动目标对象104。
计算设备102可以是任何具有计算和通信能力的设备。作为非限制性示例,计算设备102可以是任意类型的固定计算设备、移动计算设备或便携式计算设备,包括但不限于台式计算机、膝上型计算机、笔记本计算机、上网本计算机、平板计算机、多媒体计算机、移动电话等。计算设备102可以包括用于实现本公开提供的方案的组件或模块,这样的组件或模块可以例如是计算设备102上运行的应用程序的一部分。
为了更清楚地理解本公开的实施例所提供的预启动目标对象的方案,将参照图2来进一步描述本公开的实施例。图2示出了根据本公开的实施例的提供对象的过程200的流程图。过程200可以由图1的计算设备102实现。为便于讨论,将结合图1来描述过程200。
在框210,计算设备102获取与目标对象104的启动相关联的启动参数和针对目标对象104的启动时间的初始值。这里的启动时间是指从目标对象104的启动被触发到向用户101呈现目标对象104的起始部分所经过的时间。例如,在目标对象104是视频的情况下,启动时间可以是指如上文提及的起播时间,即,从点击视频到呈现视频的首帧的时间。可以根据目标对象104的具体类型来定义启动时间。
在一些实施例中,计算设备102可以响应于先兆信号而执行框210的动作。例如,当用户101使用计算设备102上部署的流式资讯应用时,如果检测到用户101停止滑动屏幕,则计算设备102可以用户101可能对当前屏幕中的出现的一条或多条新闻感兴趣。这样的新闻中可能包含有视频、音频、动图等对象,计算设备102可以将这些对象作为目标对象104。在一些实施例中,计算设备102可以不考虑这样的先兆信号而考虑其他因素。例如,计算设备102可以认为应用中一定数目的最热门视频具有被用户101点击的可能,因此将这些热门视频作为目标对象104。
在一些实施例中,启动参数包括以下中的至少一项:与目标对象104有关的参数;与触发目标对象104的启动的事件有关的参数;与用于获取目标对象104的网络有关的参数;与用于启动目标对象104的计算设备102的硬件配置有关的参数;以及与计算设备102的资源使用有关的参数。
下面参考图3,图3示出了图示根据本公开的一些实施例中的对象预启动的示意图300。在图3的示例中,可以将启动参数310划分为三种类型,即场景信息311、网络信息312和设备信息313。
场景信息311可以包括与目标对象104有关的参数(例如,地址)和与触发目标对象104的启动的事件有关的参数,例如出现目标对象104的启动先兆的应用场景或业务场景。网络信息312可以包括与用于获取目标对象104的网络有关的参数(例如,网速)和与目标对象104相同类型的对象的历史启动时间。设备信息313可以包括计算设备102的硬件配置(例如,CPU、内存)有关的参数和与计算设备102的资源使用有关的参数(例如,CPU的当前使用率)。
仅作为示例,在目标对象104为视频的情况下,场景信息311(又可以称为先兆参数)可以包括事件类型标识(ID)(以指示例如流式新闻场景或短视频场景等应用场景)、预测的事件类型的标志位,主要组成包括所属业务信息、在应用内的场景信息。场景信息311还可以包括可能被播放的视频的信息,主要包括:视频名称、视频链接地址、视频ID以及其他相关信息。网络信息312可以包括计算设备102通过其与服务器103进行通信的网络的当前情况,诸如当前网速、或者当前网络状态的评级(诸如,优/良/中/差)。网络信息312还可以包括计算设备102最近一段时间播放视频的起播时间以及与这些视频相关的事件类型ID。设备信息313可以分为静态参数和动态参数。静态参数可以包括针对计算设备102的硬件配置的综合打分,例如基于计算设备102的处理器、内存、综合表现等得到的分数。动态参数可以包括处理器的当前使用率、内存的当前使用率、计算设备102的当前负载等,或者综合这些因素而得到的分数。
场景信息311、网络信息312和设备信息313可以由计算设备102的不同组件或模块获取。例如,场景信息311可以来自正在运行的应用场景,网络信息312可以缓存的,设备信息313可以基于计算设备102的基础能力。
在一些实施例中,针对启动时间的初始值可以是针对启动时间的平均值。例如,计算设备102可以从云端或服务器103获得这样的平均值,其可以是各种不同计算设备102启动相同类型的对象(例如,视频)所花费的平均时间。
在一些实施例中,计算设备102可以基于本地存储的历史启动记录来获得该初始值。例如,计算设备102可以基于启动参数,确定触发目标对象104的启动的事件;确定被事件触发的另一对象的历史启动时间;以及基于历史启动时间来确定初始值。
历史启动时间的选择可以基于时间准则、数目准则或两者的结合。例如,网络信息312可以包括最近预定时间段已播放的预定数目的视频的实际启动时间。计算设备102可以基于网络信息312确定最近播放的一定数目的具有相同事件类型ID的视频的历史启动时间,例如,确定最近播放的具有相同事件类型ID的5段视频的历史启动时间,然后基于(一个或多个)历史启动时间来确定针对启动时间的初始值。例如,可以基于多个历史启动时间的平均来确定该初始值。
在一些实施例中,计算设备102可以附加地对启动参数310进行启动检测301,以确定所获取的启动参数310是否满足后续分析使用。例如,确定是否获取后续分析所需要的所有参数以及这些参数的格式是否满足格式要求。计算设备102还可以检测由云端控制的针对预启动策略的开关配置。在确定预启动策略开启的情况下,进行后续分析。
继续参考图2,在框220,计算设备102基于启动参数310和初始值,确定针对启动时间的第一预测值。该第一预测值可以认为是鉴于当前的场景、网络和设备情况而预测的启动时间,例如预测的视频的起播时间。
参考图3,计算设备102可以将评分模型302应用于启动参数310和针对启动时间的初始值,从而得到第一预测值314。在一些实施例中,计算设备102可以例如从云端320获得评分模型302。在一些实施例中,评分模型302可以是预定存储在计算设备102处的。
在一些实施例中,综合考虑评分模型302得到的第一预测值和下文讨论的不同预启动操作对预测值的影响,可以选择线性回归模型作为评分模型302。例如,可以利用针对不同计算设备的对象的启动情况来训练线性回归模型,来拟定线性函数作为评分模型302。例如,评分模型302可以表示为下式:
Y(1)=b1X1+b2X2+b3X3+…+bpXp (1)
其中Y(1)表示第一预测值,X1-Xp表示针对启动时间的初始值和启动参数310中的一个或多个,b1-bp与X1-Xp相对应的权重或转换系统。b1-bp的具体取值可以基于实验在云端320处确定,例如经过机器学习而得到。
因此,在这样的实施例中,计算设备102可以获取与启动参数310相对应的第一权重和与初始值相对应的第二权重,然后将第一权重和第二权重分别应用于启动参数310和预定启动时间来确定第一预测值。应当理解,启动参数310可以包括多个参数,因而对应的第一权重可以包括多个权重或系数。例如,启动参数可以是指式(1)中的X1-X(p-1),从而第一权重可以包括b1-b(p-1)。
在另一些实施例中,评分模型302可以是除了线性回归模型之外的其他模型,例如可以是高斯回归模型、神经网络等。这样的模型可以是基于计算设备102的针对同类型对象的历史启动时间而训练的,或者可以是云端320利用多个不同计算设备的针对同类型对象的历史启动时间而训练的。
继续参考图2,在框230,计算设备102基于第一预测值,执行用于加速目标对象104的启动的操作。计算设备102可以首先由例如预启动策略模块或组件来基于第一预测值确定要执行的预启动操作,然后由相应的主体来执行对应的操作。
在一些实施例中,计算设备102可以基于第一预测值与一个或多个预定阈值的比较来确定要执行的预启动操作。举例而言,在目标对象104为视频的情况下,当第一预测值小于预定阈值时,可以认为当前环境较好,计算设备102可以确定执行预链接操作;当第一预测值大于预定阈值时,计算设备102可以确定执行预取操作。这仅是一个示例,应当理解,当存在多于两种的预启动操作时,可以设置多于一个的阈值来与第一预测值进行比较,从而确定要执行的预启动操作。
在一些实施例中,可以考虑不同预启动操作对启动时间的调整来选择要执行的预启动操作。参考图4,图4示出了根据本公开的一些实施例的执行预启动操作的过程400的流程图。过程400可以认为是图2中框230的一个具体实现。下面将参考图1和图3来描述过程400。
在框410,计算设备102基于第一预测值314和与用于获取目标对象104的至少一部分的第一预定操作相对应的第一调整值,确定针对启动时间的第二预测值。在框420,计算设备102基于第一预测值314和与用于建立与目标对象104的存储设备之间连接的第二预定操作相对应的第二调整值,确定针对启动时间的第三预测值。
在目标对象104为视频或音频的情况下,第一预定操作可以是针对视频或音频的预取,例如,预先下载预定持续时间(诸如,3秒)的视频或音频;第二预定操作可以是预链接,例如预先链接到存储有目标对象104的服务器103或服务器103的存储装置,并且可选地下载预定大小(诸如1Kb)的视频或音频。在目标对象104为图像或网页的情况下,第一预定操作可以是预先下载预定大小的图像或者页面,例如将最先被用户101看到的部分;第二预定操作可以是与视频的情况类似的预链接,例如预先建立与图像或页面的存储设备的连接。以上关于所提及的预定持续时间和大小仅是示例性的,而无意限制本公开的范围。
第一调整值和第二调整值可以分别指示第一预定操作和第二预定操作的执行对目标对象104的启动时间的调整。第二预测值可以指示在第一预定操作影响下针对目标对象104的启动时间的预测,第三预测值可以指示在第二预定操作影响下针对目标对象104的启动时间的预测。
计算设备103可以例如从云端320来获取第一调整值和第二调整值。基于不同的操作选择模型303,第一调整值和第二调整值可以以不同的方式应用于第一预测值。在一些实施例中,第一调整值和第二调整值可以是比例系数,其分别与第一预测值相乘而得到第二预测值和第三预测值。
在一些实施例中,第一调整值和第二调整值可以是所调整的时间值,仅作为示例,第一调整值可以是-100ms,第二调整值可以是-70ms。在这种情况下,第一调整值和第二调整值可以分别与第一预测值相加而得到第二预测值和第三预测值。
为了便于讨论,用b0(1)和b0(2)来表示第一调整值和第二调整值。在这样的实施例中,b0(1)和b0(2)可以是与式(1)中的权重一起通过机器学习而确定的。参考图5,其示出了根据本公开的一些实施例中的线性回归模型的示意图500,该模型可以表示为例如,
Yi=b0(t)+b1X1(i)+b2X2(i)+b3X3(i)+…+bpXp(i)+e (2)
其中i表示机器学习中所使用的数据个体,如图5中示出的黑色圆点;Yi表示第i数据个体针对启动时间的真实值;b0(t)表示第t预启动操作对启动时间的调整值,例如,b0(1)和b0(2);X1(i)-Xp(i)表示第i数据个体针对启动时间的初始值和启动参数310中的一个或多个,b1-bp与X1(i)-Xp(i)相对应的权重或转换系统,e表示误差项502。由于预测无法涵盖所有影响启动时间的因素,因此引入误差项来计入未考虑因素的影响。机器学习的目的是得到式(2)中的b0(t)和b1-bp,线501示意性地表示了经过机器学习而得到的拟合结果。
应当理解,在此描述的线性回归模型仅是示例性的,本公开的实施例还可以利用其他模型而得到调整值和参数权重。
继续参考图4,在框430,计算设备102基于第二预测值和第三预测值,执行第一预定操作和第二预定操作中的一个。计算设备102可以首先由例如预启动策略模块或组件来基于第二预测值和第三预测值确定要执行的预启动操作,然后由相应的主体来执行对应的操作。
在一些实施例中,计算设备102可以简单地基于针对启动时间的公共值来选择预启动操作。例如,选择使得调整后的预测值与公共值更接近的预启动操作。
在一些实施例中,计算设备102可以针对当前的用户101和当前的应用场景来选择预启动操作。计算设备102可以获取针对目标对象104的启动时间的预期值。例如,计算设备102可以从云端320来获得该预期值。该预期值可以指示用户101在相同应用场景或事件类型下对启动时间的预期或容忍度。例如,如果当前应用场景为短视频业务,则计算设备102可以从云端320获取或者从本地存储装置检索用户101对短视频起播时间的预期值。应当理解,不同的应用或业务场景下,不同用户对启动时间的期望可能是不同的。
如果计算设备102确定第二预测值比第三预测值接近该预期值,则计算设备102可以确定要执行的预启动操作为第一预定操作,并且调度该第一预定操作的执行。如果计算设备102确定第三预测值比第二预测值接近该预期值,计算设备102可以确定要执行的预启动操作为第二预定操作,并且调度该第二预定操作的执行。
仅作为一个示例,在目标对象104为视频的情况下,假设预期值为400ms。如果第一预测值为380ms并且第二预测值为450ms,则计算设备102可以确定要执行的预启动操作为预取。如果第一预测值为340ms并且第二预测值为410ms,则计算设备102可以确定要执行的预启动操作为预链接。
应当理解,以上所提及的预期值和预测值的具体取值仅是示意性的,而无意限制本公开的范围。尽管以上描述了两种预启动操作,但是应当理解,当存在多于两种的预启动操作时,可以选择调整后的预测值与预期值最接近的预启动操作来执行。
在这样的实施例中,通过将调整后的启动时间的预测值与预期值的比较,以特定于用户、场景的方式来采取预启动策略。以此方式,可以更有针对性来平衡用户体验和资源使用。
在一些实施例中,除了上述第一预定操作和第二预定操作之外,计算设备102还可以确定是否执行附加的操作,例如初始化操作。计算设备102可以基于启动参数310,确定用于启动目标对象104的可用计算资源是否大于阈值资源。如果确定可用计算资源大于阈值资源,则计算设备102可以初始化用于启动目标对象104的组件。
计算设备102可以基于启动参数310中的设备信息313来确定可用计算资源。例如,计算设备102可以基于处理单元、内存等的当前使用率来确定可用计算资源或者计算设备102的当前负载情况。在目标对象104为视频的情况下,该附加操作可以包括视频播放器的初始化。
在这样的实施例中,计算设备102执行的预启动操作可以包括预启动操作的组合。以此方式,可以更高效合理地利用计算设备102的资源。仅作为说明性示例,在目标对象104为视频的情况下,计算设备102将执行的预启动操作例如可以是:预取;预链接;预取和预初始化;预链接和预初始化,等等。
继续参考图3,在一些实施例中,如果目标对象104的启动被触发,即,在目标对象104被启动304后,则计算设备102可以确定针对启动时间的实际值,并且存储该实际值,例如以作为网络信息312的一部分供后续使用。作为示例,在目标对象104为视频的情况下,如果该视频被点击,则计算设备104可以确定从视频被点击到视频首帧呈现之间的实际起播时间,并且记录该实际起播时间。可以是与该视频的呈现被触发的场景或事件类型一起存储该实际起播时间。计算设备102所记录的实际启动时间(诸如,实际起播时间)还可以提供给云端320,以使得云端320基于该实际启动时间更新评分模型302,诸如更新式(2)所示的线性回归模型。
以上描述了根据本公开的实施例的提供对象的方案。以此方式,可以在保证用户体验并且减少流量消耗的情况下实现对象的智能、灵活预启动。因此,本公开的实施例能够实现用户体验和资源使用的平衡。图6示意性地描述了根据本公开的一些实施例的有益效果。
A用户的环境(网络或设备状态)差于B用户,在不进行预启动的情况下,A用户所花费的启动时间(例如,1200ms)大于B用户所花费的启动时间(例如,600ms)。如果如传统方案那样,对A用户和B用户而言均执行预取,则如线601和603所示,A用户和B用户的启动时间得到较大幅度的减少。然而,由于启动时间降低在一定时间后,由于感知原因等用户体验并不能进一步降低,同时耗费了流量。在执行本公开的实施例后,如线602和线604所示,对于环境较差的A用户仍保持预取,用户体验被保证;同时对于环境较好的B用户将执行预链接,在用户体验仍被保证的情况下减少了流量消耗。线605和线606示出了本公开的实施例相对于默认模式对启动时间的改善。
图7示出了根据本公开的实施例的用于提供对象的装置700的示意性框图。装置700可以被包括在图1的计算设备102中或者被实现为计算设备102。如图7所示,装置700包括参数和初始值获取模块710,被配置为获取与目标对象的启动相关联的启动参数和针对目标对象的启动时间的初始值。装置700还包括第一预测值确定模块720,被配置为基于启动参数和初始值,确定针对启动时间的第一预测值。装置700进一步包括操作执行模块730,被配置为基于第一预测值,执行用于加速目标对象的启动的操作。
在一些实施例中,操作执行模块730包括:第二预测值确定模块,被配置为基于第一预测值和与用于获取目标对象的至少一部分的第一预定操作相对应的第一调整值,确定针对启动时间的第二预测值;第三预测值确定模块,被配置为基于第一预测值和与用于建立与目标对象的存储设备之间连接的第二预定操作相对应的第二调整值,确定针对启动时间的第三预测值;以及预定操作执行模块,被配置为基于第二预测值和第三预测值,执行第一预定操作和第二预定操作中的一个。
在一些实施例中,预定操作执行模块参考:预期值获取模块,被配置为获取针对目标对象的启动时间的预期值;第一预定操作执行模块,被配置为响应于第二预测值比第三预测值接近预期值,执行第一预定操作;以及第二预定操作执行模块,被配置为响应于第三预测值比第二预测值接近预期值,执行第二预定操作。
在一些实施例中,目标对象包括视频,并且第一预定操作包括针对视频的预取,并且第二预定操作包括针对视频的预链接。
在一些实施例中,装置700还包括:计算资源确定模块,被配置为基于启动参数,确定用于启动目标对象的可用计算资源是否大于阈值资源;以及初始化模块,被配置为响应于确定可用计算资源大于阈值资源,初始化用于启动目标对象的组件。
在一些实施例中,第一预测值确定模块720包括:权重获取模块,被配置为获取与启动参数相对应的第一权重和与初始值相对应的第二权重;以及权重应用模块,被配置为将第一权重和第二权重分别应用于启动参数和初始值来确定第一预测值。
在一些实施例中,参数和初始值获取模块710包括:事件确定模块,被配置为基于启动参数,确定触发目标对象的启动的事件;历史启动时间确定模块,被配置为确定被事件触发的另一对象的历史启动时间;以及初始值确定模块,被配置为基于历史启动时间来确定初始值。
在一些实施例中,参数和初始值获取模块710包括以下中的至少一项:对象参数获取模块,被配置为获取与目标对象有关的参数;事件参数获取模块,被配置为获取与触发目标对象的启动的事件有关的参数;网络参数获取模块,被配置为获取与用于获取目标对象的网络有关的参数;硬件配置参数获取模块,被配置为获取与用于启动目标对象的计算设备的硬件配置有关的参数;以及资源使用参数获取模块,被配置为获取与计算设备的资源使用有关的参数。
在一些实施例中,目标对象包括视频、音频、图像和文字中的至少一项。
图8示出了可以用来实施本公开的实施例的示例设备800的示意性框图。设备800可以用于实现图1的计算设备102。如图所示,设备800包括中央处理单元(CPU)801,其可以根据存储在只读存储器(ROM)802中的计算机程序指令或者从存储单元808加载到随机访问存储器(RAM)803中的计算机程序指令,来执行各种适当的动作和处理。在RAM 803中,还可存储设备800操作所需的各种程序和数据。CPU 801、ROM 802以及RAM 803通过总线804彼此相连。输入/输出(I/O)接口805也连接至总线804。
设备800中的多个部件连接至I/O接口805,包括:输入单元806,例如键盘、鼠标等;输出单元807,例如各种类型的显示器、扬声器等;存储单元808,例如磁盘、光盘等;以及通信单元809,例如网卡、调制解调器、无线通信收发机等。通信单元809允许设备800通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
处理单元801执行上文所描述的各个方法和处理,例如过程200或400。例如,在一些实施例中,过程200或400可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元808。在一些实施例中,计算机程序的部分或者全部可以经由ROM 802和/或通信单元809而被载入和/或安装到设备800上。当计算机程序加载到RAM 803并由CPU 801执行时,可以执行上文描述的过程200或400的一个或多个步骤。备选地,在其他实施例中,CPU801可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行过程200或400。
本文中以上描述的功能可以至少部分地由一个或多个硬件逻辑部件来执行。例如,非限制性地,可以使用的示范类型的硬件逻辑部件包括:场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、负载可编程逻辑设备(CPLD)等等。
用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
此外,虽然采用特定次序描绘了各操作,但是这应当理解为要求这样操作以所示出的特定次序或以顺序次序执行,或者要求所有图示的操作应被执行以取得期望的结果。在一定环境下,多任务和并行处理可能是有利的。同样地,虽然在上面论述中包含了若干具体实现细节,但是这些不应当被解释为对本公开的范围的限制。在单独的实施例的上下文中描述的某些特征还可以组合地实现在单个实现中。相反地,在单个实现的上下文中描述的各种特征也可以单独地或以任何合适的子组合的方式实现在多个实现中。
尽管已经采用特定于结构特征和/或方法逻辑动作的语言描述了本主题,但是应当理解所附权利要求书中所限定的主题未必局限于上面描述的特定特征或动作。相反,上面所描述的特定特征和动作仅仅是实现权利要求书的示例形式。

Claims (20)

1.一种提供对象的方法,包括:
获取与目标对象的启动相关联的启动参数和针对所述目标对象的启动时间的初始值;
基于所述启动参数和所述初始值,确定针对所述启动时间的第一预测值;以及
基于所述第一预测值,执行用于加速所述目标对象的所述启动的操作。
2.根据权利要求1所述的方法,其中执行所述操作包括:
基于所述第一预测值和与用于获取所述目标对象的至少一部分的第一预定操作相对应的第一调整值,确定针对所述启动时间的第二预测值;
基于所述第一预测值和与用于建立与所述目标对象的存储设备之间连接的第二预定操作相对应的第二调整值,确定针对所述启动时间的第三预测值;以及
基于所述第二预测值和所述第三预测值,执行所述第一预定操作和所述第二预定操作中的一个。
3.根据权利要求2所述的方法,其中执行所述第一预定操作和所述第二预定操作中的一个包括:
获取针对所述目标对象的所述启动时间的预期值;
响应于所述第二预测值比所述第三预测值接近所述预期值,执行所述第一预定操作;以及
响应于所述第三预测值比所述第二预测值接近所述预期值,执行所述第二预定操作。
4.根据权利要求2所述的方法,其中所述目标对象包括视频,并且所述第一预定操作包括针对所述视频的预取,并且所述第二预定操作包括针对所述视频的预链接。
5.根据权利要求1所述的方法,还包括:
基于所述启动参数,确定用于启动所述目标对象的可用计算资源是否大于阈值资源;以及
响应于确定所述可用计算资源大于阈值资源,初始化用于启动所述目标对象的组件。
6.根据权利要求1所述的方法,其中确定所述第一预测值包括:
获取与所述启动参数相对应的第一权重和与所述初始值相对应的第二权重;以及
将所述第一权重和所述第二权重分别应用于所述启动参数和所述初始值来确定所述第一预测值。
7.根据权利要求1所述的方法,其中获取所述初始值包括:
基于所述启动参数,确定触发所述目标对象的所述启动的事件;
确定被所述事件触发的另一对象的历史启动时间;以及
基于所述历史启动时间来确定所述初始值。
8.根据权利要求1所述的方法,其中获取所述启动参数包括以下中的至少一项:
获取与所述目标对象有关的参数;
获取与触发所述目标对象的所述启动的事件有关的参数;
获取与用于获取所述目标对象的网络有关的参数;
获取与用于启动所述目标对象的计算设备的硬件配置有关的参数;以及
获取与所述计算设备的资源使用有关的参数。
9.根据权利要求1所述的方法,其中所述目标对象包括视频、音频、图像和文字中的至少一项。
10.一种用于提供对象的装置,包括:
参数和初始值获取模块,被配置为获取与目标对象的启动相关联的启动参数和针对所述目标对象的启动时间的初始值;
第一预测值确定模块,被配置为基于所述启动参数和所述初始值,确定针对所述启动时间的第一预测值;以及
操作执行模块,被配置为基于所述第一预测值,执行用于加速所述目标对象的所述启动的操作。
11.根据权利要求10所述的装置,其中所述操作执行模块包括:
第二预测值确定模块,被配置为基于所述第一预测值和与用于获取所述目标对象的至少一部分的第一预定操作相对应的第一调整值,确定针对所述启动时间的第二预测值;
第三预测值确定模块,被配置为基于所述第一预测值和与用于建立与所述目标对象的存储设备之间连接的第二预定操作相对应的第二调整值,确定针对所述启动时间的第三预测值;以及
预定操作执行模块,被配置为基于所述第二预测值和所述第三预测值,执行所述第一预定操作和所述第二预定操作中的一个。
12.根据权利要求11所述的装置,其中所述预定操作执行模块包括:
预期值获取模块,被配置为获取针对所述目标对象的所述启动时间的预期值;
第一预定操作执行模块,被配置为响应于所述第二预测值比所述第三预测值接近所述预期值,执行所述第一预定操作;以及
第二预定操作执行模块,被配置为响应于所述第三预测值比所述第二预测值接近所述预期值,执行所述第二预定操作。
13.根据权利要求11所述的装置,其中所述目标对象包括视频,并且所述第一预定操作包括针对所述视频的预取,并且所述第二预定操作包括针对所述视频的预链接。
14.根据权利要求10所述的装置,还包括:
计算资源确定模块,被配置为基于所述启动参数,确定用于启动所述目标对象的可用计算资源是否大于阈值资源;以及
初始化模块,被配置为响应于确定所述可用计算资源大于阈值资源,初始化用于启动所述目标对象的组件。
15.根据权利要求10所述的装置,其中所述第一预测值确定模块包括:
权重获取模块,被配置为获取与所述启动参数相对应的第一权重和与所述初始值相对应的第二权重;以及
权重应用模块,被配置为将所述第一权重和所述第二权重分别应用于所述启动参数和所述初始值来确定所述第一预测值。
16.根据权利要求10所述的装置,其中所述参数和初始值获取模块包括:
事件确定模块,被配置为基于所述启动参数,确定触发所述目标对象的所述启动的事件;
历史启动时间确定模块,被配置为确定被所述事件触发的另一对象的历史启动时间;以及
初始值确定模块,被配置为基于所述历史启动时间来确定所述初始值。
17.根据权利要求10所述的装置,其中所述参数和初始值获取模块包括以下中的至少一项:
对象参数获取模块,被配置为获取与所述目标对象有关的参数;
事件参数获取模块,被配置为获取与触发所述目标对象的所述启动的事件有关的参数;
网络参数获取模块,被配置为获取与用于获取所述目标对象的网络有关的参数;
硬件配置参数获取模块,被配置为获取与用于启动所述目标对象的计算设备的硬件配置有关的参数;以及
资源使用参数获取模块,被配置为获取与所述计算设备的资源使用有关的参数。
18.根据权利要求9所述的装置,其中所述目标对象包括视频、音频、图像和文字中的至少一项。
19.一种电子设备,所述设备包括:
一个或多个处理器;以及
存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-9中任一项所述的方法。
20.一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现如权利要求1-9中任一项所述的方法。
CN201910461527.7A 2019-05-30 2019-05-30 用于提供对象的方法、装置、设备和存储介质 Active CN110209975B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910461527.7A CN110209975B (zh) 2019-05-30 2019-05-30 用于提供对象的方法、装置、设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910461527.7A CN110209975B (zh) 2019-05-30 2019-05-30 用于提供对象的方法、装置、设备和存储介质

Publications (2)

Publication Number Publication Date
CN110209975A true CN110209975A (zh) 2019-09-06
CN110209975B CN110209975B (zh) 2021-11-02

Family

ID=67789482

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910461527.7A Active CN110209975B (zh) 2019-05-30 2019-05-30 用于提供对象的方法、装置、设备和存储介质

Country Status (1)

Country Link
CN (1) CN110209975B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112260961A (zh) * 2020-09-23 2021-01-22 北京金山云网络技术有限公司 一种网络流量调度方法、装置、电子设备及存储介质
CN112714215A (zh) * 2021-01-22 2021-04-27 惠州Tcl移动通信有限公司 一种移动终端声音设置处理方法、装置、终端设备及存储介质
CN112752148A (zh) * 2020-12-28 2021-05-04 北京百度网讯科技有限公司 视频起播的优化方法、装置、设备以及存储介质
CN113110887A (zh) * 2021-03-31 2021-07-13 联想(北京)有限公司 一种信息处理方法、装置、电子设备和存储介质

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110054878A1 (en) * 2009-08-26 2011-03-03 Microsoft Corporation Automated performance prediction for cloud services
US20150212655A1 (en) * 2014-01-30 2015-07-30 Apple Inc. Adaptive Image Loading
CN104850595A (zh) * 2015-04-27 2015-08-19 小米科技有限责任公司 优化网页打开时间的方法和装置
CN105431822A (zh) * 2013-06-12 2016-03-23 微软技术许可有限责任公司 应用的预测预启动
CN105759938A (zh) * 2016-02-18 2016-07-13 西安三星电子研究有限公司 移动终端的节能方法和设备
CN106168959A (zh) * 2016-06-29 2016-11-30 合网络技术(北京)有限公司 网页布局方法及装置
CN108595227A (zh) * 2018-05-10 2018-09-28 Oppo广东移动通信有限公司 应用程序预加载方法、装置、存储介质及移动终端
CN109690534A (zh) * 2016-07-15 2019-04-26 微软技术许可有限责任公司 使用动态用户模型进行预取以减少等待时间

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110054878A1 (en) * 2009-08-26 2011-03-03 Microsoft Corporation Automated performance prediction for cloud services
CN105431822A (zh) * 2013-06-12 2016-03-23 微软技术许可有限责任公司 应用的预测预启动
US20150212655A1 (en) * 2014-01-30 2015-07-30 Apple Inc. Adaptive Image Loading
CN104850595A (zh) * 2015-04-27 2015-08-19 小米科技有限责任公司 优化网页打开时间的方法和装置
CN105759938A (zh) * 2016-02-18 2016-07-13 西安三星电子研究有限公司 移动终端的节能方法和设备
CN106168959A (zh) * 2016-06-29 2016-11-30 合网络技术(北京)有限公司 网页布局方法及装置
CN109690534A (zh) * 2016-07-15 2019-04-26 微软技术许可有限责任公司 使用动态用户模型进行预取以减少等待时间
CN108595227A (zh) * 2018-05-10 2018-09-28 Oppo广东移动通信有限公司 应用程序预加载方法、装置、存储介质及移动终端

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112260961A (zh) * 2020-09-23 2021-01-22 北京金山云网络技术有限公司 一种网络流量调度方法、装置、电子设备及存储介质
CN112752148A (zh) * 2020-12-28 2021-05-04 北京百度网讯科技有限公司 视频起播的优化方法、装置、设备以及存储介质
CN112714215A (zh) * 2021-01-22 2021-04-27 惠州Tcl移动通信有限公司 一种移动终端声音设置处理方法、装置、终端设备及存储介质
CN113110887A (zh) * 2021-03-31 2021-07-13 联想(北京)有限公司 一种信息处理方法、装置、电子设备和存储介质
CN113110887B (zh) * 2021-03-31 2023-07-21 联想(北京)有限公司 一种信息处理方法、装置、电子设备和存储介质

Also Published As

Publication number Publication date
CN110209975B (zh) 2021-11-02

Similar Documents

Publication Publication Date Title
CN110209975A (zh) 用于提供对象的方法、装置、设备和存储介质
WO2019062413A1 (zh) 应用程序管控方法、装置、存储介质及电子设备
CN105117491B (zh) 页面推送方法和装置
CN107943583B (zh) 应用程序的处理方法、装置、存储介质及电子设备
CN109919087A (zh) 一种视频分类的方法、模型训练的方法及装置
CN109074359B (zh) 使用模型优化内容分发
CN109154943A (zh) 自动播放内容到点击播放内容的基于服务器的转换
CN112764871B (zh) 数据处理方法、装置、计算机设备以及可读存储介质
CN107748690A (zh) 应用跳转方法、装置和计算机存储介质
CN107733769A (zh) 展示用户信息的方法和装置
CN113468374A (zh) 目标展示方法、装置、电子设备及存储介质
CN112182281B (zh) 一种音频推荐方法、装置及存储介质
CN111538852A (zh) 多媒体资源处理方法、装置、存储介质及设备
CN109240556A (zh) 自定义终端状态栏的方法、装置及电子设备
CN113962965A (zh) 图像质量评价方法、装置、设备以及存储介质
US20180192121A1 (en) System and methods thereof for displaying video content
WO2018036493A1 (zh) 信息处理方法及装置、显示终端和存储介质
WO2022183940A1 (zh) 推荐内容资源的获取方法、装置、设备、介质及程序产品
CN113419798B (zh) 内容的展示方法、装置、设备和存储介质
US9414081B1 (en) Adaptation of digital image transcoding based on estimated mean opinion scores of digital images
CN114640876A (zh) 多媒体业务视频显示方法、装置、计算机设备及存储介质
CN113947418A (zh) 反馈信息的获取方法、装置、电子设备及存储介质
CN107682733B (zh) 一种提高用户观看视频体验度的控制方法及系统
CN110516043A (zh) 用于问答系统的答案生成方法和装置
US11477145B1 (en) Dynamically controlling messaging platform client-side and server-side behavior

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