一种进度条的显示方法和装置与流程

    专利2022-07-08  84


    本发明涉及计算机技术领域,尤其涉及一种进度条的显示方法和装置。



    背景技术:

    在基于浏览器进行页面加载的过程中,常会因页面加载资源较大、加载时间较长而产生较长时间的白屏,导致用户体验差,因而需要在加载页面资源时,提供页面资源的加载进度条以提升用户体验。

    目前常用的进度条的显示方法主要以下两种:基于浏览器的底层实时监控页面资源的下载进度,并将进度数据通过进度条的方式进行展示;程序脚本预估一个页面资源加载完成时间,以使进度条滚动随着时间线性增加,并在快结束时减慢进度条滚动速度,以保证在资源加载完成前进度条的显示不完全。

    在实现本发明过程中,发明人发现现有技术中至少存在如下问题:基于浏览器或应用的底层实时监控页面资源的下载进度,虽可以真实体现页面资源的加载进度,需要依赖浏览器源码级的功能支持,在更为广泛具体的应用系统层级是无法实现的,因而缺乏普适性;而基于程序员脚本预估页面资源加载完成时间以线性更新进度条的方式,未考虑页面资源的真实加载进度,缺乏准确性,且在网络慢的情况下进度条会出现视觉上的“卡死”假象,而在网络快的情况下进度条又会出现瞬间显示加载完成的不正常现象。



    技术实现要素:

    有鉴于此,本发明实施例提供了一种进度条的显示方法和装置,既能够通过进度条真实地反映资源对象的加载进度,又可以不依赖于浏览器底层的实时监控功能,具有通用性。

    为实现上述目的,根据本发明实施例的一个方面,提供了一种进度条的显示方法,包括:

    根据一个或多个最新加载资源对象的大小及所述资源对象的实际加载时间,确定当前网络速度;

    根据所述当前网络速度,确定完成所有资源对象加载所需的总加载时间;

    根据所述总加载时间,更新显示了资源对象加载进度的进度条,所述进度条指示了已加载资源对象的实际加载时间与所述总加载时间的比值。

    可选地,所述根据所述当前网络速度,确定完成所有资源对象加载所需的总加载时间,包括:

    根据所述当前网络速度及尚未加载资源对象的大小,确定尚未加载资源对象所需的预估加载时间;

    根据已加载资源对象的实际加载时间、尚未加载资源对象所需的预估加载时间,确定完成所有资源对象加载所需的总加载时间,所述总加载时间指示了所述实际加载时间与所述预估加载时间之和。

    可选地,还包括:

    基于head请求,在不加载所述资源对象的情况下,获取所述资源对象的大小。

    可选地,所述基于head请求,在不加载所述资源对象的情况下,获取所述资源对象的大小,包括:

    向存储有所述资源对象的服务器发送head请求,并接收所述服务器根据所述head请求返回的对象信息;

    解析所述对象信息中的content-length属性,以获取所述对象资源的大小。

    可选地,还包括:从所有待加载资源对象中识别出需要显示加载进度的所述资源对象。

    可选地,所述从所有待加载资源对象中识别出需要显示加载进度的所述资源对象,包括:

    将需要显示加载进度的所述资源对象存储至预设目录下;

    基于待加载资源对象的资源定位符,识别需要显示加载进度的所述资源对象,所述资源对象的资源定位符指示了所述预设目录。

    可选地,在所述待加载资源对象为virtualreality系统对应的资源对象的情况下,需要显示加载进度的所述资源对象为virtualreality系统中的全景图。

    可选地,在所述待加载资源对象为web页面对应的资源对象的情况下,需要显示加载进度的所述资源对象为所述web页面对应的背景图。

    可选地,根据加载所述资源对象的线程数量,确定用于计算所述当前网络速度的最新加载资源对象的数量。

    可选地,所述最新加载资源对象的数量指示了所述线程数量。

    可选地,所述当前网络速度指示了最新加载资源对象的大小与所述资源对象实际加载时间的比值。

    可选地,所述预估加载时间指示了尚未加载资源对象的大小与所述当前网络速度的比值。

    为实现上述目的,根据本发明实施例的另一个方面,提供了一种进度条的显示装置,包括:网络速度确定模块、加载时间确定模块、进度条显示模块;其中,

    所述网络速度确定模块,用于根据一个或多个最新加载资源对象的大小及所述资源对象的实际加载时间,确定当前网络速度;

    所述加载时间确定模块,用于根据所述当前网络速度,确定完成所有资源对象加载所需的总加载时间;

    所述进度条显示模块,用于根据所述总加载时间,更新显示了资源对象加载进度的进度条,所述进度条指示了已加载资源对象的实际加载时间与所述总加载时间的比值。

    可选地,还包括:资源对象大小获取模块;其中,

    所述资源对象大小获取模块,用于基于head请求,在不加载所述资源对象的情况下,获取所述资源对象的大小。

    可选地,还包括:资源对象识别模块;其中,

    所述资源对象识别模块,用于从所有待加载资源对象中识别出需要显示加载进度的所述资源对象。

    为实现上述目的,根据本发明实施例的又一个方面,提供了一种用于显示进度条的电子设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如上所述的进度条的显示方法中任一所述的方法。

    为实现上述目的,根据本发明实施例的再一个方面,提供了一种计算机可读介质,其上存储有计算机程序,所述程序被处理器执行时实现如上所述的进度条的显示方法中任一所述的方法。

    上述发明中的一个实施例具有如下优点或有益效果:通过根据一个或多个最新加载资源对象的大小及所述资源对象的实际加载时间确定当前网络速度的方式,确保了所得到的当前网络速度的准确性及真实性。在此基础上,根据所述当前网络速度,确定完成所有资源对象加载所需的总加载时间,并根据所述总加载时间,更新显示了资源对象加载进度的进度条,所述进度条指示了已加载资源对象的实际加载时间与所述总加载时间的比值。如此,通过已加载资源对象的实际加载时间与所需的总加载时间的比值真实、准确地反应了资源对象的加载进度。

    上述的非惯用的可选方式所具有的进一步效果将在下文中结合具体实施方式加以说明。

    附图说明

    附图用于更好地理解本发明,不构成对本发明的不当限定。其中:

    图1是根据本发明实施例的进度条的显示方法的主要流程的示意图;

    图2是根据本发明实施例的另一进度条的显示方法的主要流程的示意图;

    图3是根据本发明实施例的进度条的显示装置的主要模块的示意图;

    图4是本发明实施例可以应用于其中的示例性系统架构图;

    图5是适于用来实现本发明实施例的终端设备或服务器的计算机系统的结构示意图。

    具体实施方式

    以下结合附图对本发明的示范性实施例做出说明,其中包括本发明实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本发明的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。

    图1是根据本发明实施例的进度条的显示方法的主要流程的示意图,如图1所示,该进度条的显示方法具体可以包括的步骤如下:

    步骤s101,根据一个或多个最新加载资源对象的大小及所述资源对象的实际加载时间,确定当前网络速度。

    具体地,以当前时刻已加载资源对象为10个为例进行说明,按照加载完成的先后顺序该10个已加载资源对象依次为url1、url2、url3、url4、url5、url6、url7、url8、url9、url10,对应的资源对象大小为分别为s1、s2、s3、s4、s5、s6、s7、s8、s9、s10,且对应的实际加载时间分别为t1、t2、t3、t4、t5、t6、t7、t8、t9、t10。为准确、真实地反映当前网络速度,则可以从当前10个已加载资源对象中选择最新下载的一个或多个资源对象以计算当前网络速度,若选择两个最新下载的资源对象,则对应的两个最新下载的资源对象为url9、url10,当网络速度(sd)则可以由下述公式计算得到。

    sd=(s9 s10)/(t9 t10)

    若选择三个最新下载的资源对象,则对应的三个最新下载的资源对象为url8、url9、url10,当前网络速度可以由下述公式计算得到。

    sd=(s8 s9 s10)/(t8 t9 t10)

    也即是说,当前网络速度指示了最新加载资源对象的大小与所述资源对象实际加载时间的比值。此外,还可以根据实际情况,避免因采用单一当前网络速度出现的误差,可以通过多个网络速度的平均值计算当前网络速度,具体如下:

    sd=1/2*[(s8 s9 s10)/(t8 t9 t10) (s9 s10)/(t9 t10)]

    更具体地,在实际的资源对象加载过程中,可根据加载所述资源对象的线程数量(n),确定用于计算所述当前网络速度的最新加载资源对象的数量。其中,加载资源对象的线程数量(n)根据浏览器的不同而变化,如线程数量(n)为1、2、3、5等。

    基于此,为更准确地计算多线程加载资源对象时的当前网络速度,可选用线程数量(n)整数倍的最新加载资源对象以计算当前网络速度,具体地,以线程数量(n)为2为例,则可选用2个、4个或者8个等多个最新加载资源对象以计算当前网络速度。在本实施例中优先选取线程数量个最新加载资源对象以计算当前网络速度。

    此外,可以理解的是,在计算当前网络速度之前,还需要获取资源对象的大小以计算当前网络速度。可选地,基于head请求,在不加载所述资源对象的情况下,获取所述资源对象的大小。

    更进一步地,所述基于head请求,在不加载所述资源对象的情况下,获取所述资源对象的大小,包括:向存储有所述资源对象的服务器发送head请求,并接收所述服务器根据所述head请求返回的对象信息;解析所述对象信息中的content-length属性,以获取所述对象资源的大小。也即是说,对于需要加载的资源对象,可以通过head请求模式来处理,该请求模式会返回具体的资源对象文件的信息,包括文件大小等,并封装在xmlhttprequest对象中,进而可以通过解析xmlhttprequest对象的content-length的属性得到当前文件的大小,从而避免了下载实际资源对象文件。具体地,基于head请求获取资源对象大小所采用的代码示例如下:

    步骤s102,根据所述当前网络速度,确定完成所有资源对象加载所需的总加载时间。

    在一种可选的实施方式中,所述根据所述当前网络速度,确定完成所有资源对象加载所需的总加载时间,包括:根据所述当前网络速度及尚未加载资源对象的大小,确定尚未加载资源对象所需的预估加载时间;根据已加载资源对象的实际加载时间、尚未加载资源对象所需的预估加载时间,确定完成所有资源对象加载所需的总加载时间,所述总加载时间指示了所述实际加载时间与所述预估加载时间之和。

    其中,所述预估加载时间指示了尚未加载资源对象的大小与所述当前网络速度的比值。也即是说,根据最新得到的当前网络速度及尚未加载资源对象的大小计算预估加载时间,进而计算得到总加载时间,以根据已加载资源对象的实际的加载时间与总加载时间的占比更新显示进度,如此可以实时准确地使用进度条反映资源对象的加载进度。

    具体地,以需要加载的资源对象共有100个为例进行说明,该100个资源对象分别为url1、url2、url3、url4、url5、……、url99、url100,对应的资源对象大小分别为s1、s2、s3、s4、s5、……、s99、s100,且当前时刻已加载的资源对象有10个,即url1、url2、url3、……、url9、url10,对应的实际加载时间分别为t1、t2、t3、t4、t5、t6、t7、t8、t9、t10。若根据其中最新下载的一个或多个计算得到的当前网络速度为sd,则尚未加载资源对象所需的预估加载时间可由下述公式计算得到:

    预估加载时间=(s11 s12 s13 …… s99 s100)/sd

    在此基础上,可根据下述公式计算完成所有资源对象加载所需要的总加载时间,即预估加载时间与已加载资源对象实际加载时间之和:

    总加载时间=预估加载时间 (t1 t2 …… t9 t10)

    步骤s103,根据所述总加载时间,更新显示了资源对象加载进度的进度条,所述进度条指示了已加载资源对象的实际加载时间与所述总加载时间的比值。

    具体地,以已加载资源对象的实际加载时间为10min,而所有资源对象完成加载所需的总加载时间为50min为例进行说明,则更新后的进度条所显示的资源对象的加载进度为20%。如此,通过已加载资源对象的实际的加载时间与总加载时间的占比的方式,准确地通过进度条反映了资源对象的加载进度。

    可以理解的是,在实际的资源对象加载过程中,网络速度也会因服务器、网络连接状态等出现波动,因而随着资源对象加载的进行,可根据当前最新下载的资源对象不断更新当前网络速度,进而根据当前网络速度计算预估加载时间及总加载时间以不断更新进度条,进而可实时准确地通过进度条反映了资源对象的加载进度。

    一般而言,对于需要加载的资源对象,需要同步下载完成以后进行渲染操作,即所有待加载的资源对象加载完成才算最终完成此次加载。但从用户感官体验而言,在需要加载的资源对象内容较大的情况下,等待资源加载的用户视觉重点无法在短时间内消化全部待加载资源对象,但对应的进度条滚动缓慢,等待时间长,影响用户体验。因此,为进一步提升用户体验,可以仅针对用户视觉第一时间需要消化的视觉要素对应的资源对象,使用进度条显示其加载进度,而不是使用进度条显示所有待加载资源对象的加载进度。如此,既可以满足用户视觉需求,又可以真实反映资源对象的加载进度,以提升用户体验。

    基于此,还包括:从所有待加载资源对象中识别出需要显示加载进度的所述资源对象。

    具体地,在所述待加载资源对象为virtualreality系统对应的资源对象的情况下,由于用户视觉第一时间消化的视觉要素为全景图,因而需要显示加载进度的所述资源对象为virtualreality系统中的全景图。即需要从待加载资源对象中识别出全景图对应的一个或多个源对象,并使用进度条展示全景图对应的一个或多个资源对象的加载进度,而不需要使用进度条展示所有待加载资源对象的加载进度。

    而在所述待加载资源对象为web页面对应的资源对象的情况下,用户视觉第一时间消化的视觉要素为页面背景图,因而需要显示加载进度的所述资源对象为所述web页面对应的背景图。即需要从待加载资源对象中识别出页面背景图对应的一个或多个资源对象,并使用进度条展示背景图对应的一个或多个资源对象的加载进度,而不需要使用进度条展示所有待加载资源对象的加载进度。

    更具体地,所述从所有待加载资源对象中识别出需要显示加载进度的所述资源对象,包括:将需要显示加载进度的所述资源对象存储至预设目录下;基于待加载资源对象的资源定位符,识别需要显示加载进度的所述资源对象,所述资源对象的资源定位符指示了所述预设目录。如以待加载资源对象为virtualreality系统对应的资源对象为例进行说明,则可以将全景图对应的一个或多个资源对象统一存放至预设目录下,该预设目录是根据实际情况设定的一个或多个固定目录。如此,全景图对应的一个或多个资源对象的资源定位符(url)必然都会包含该固定目录,因而可以在进行资源对象加载的过程中,根据待加载资源对象的url是否包含该固定目录,识别出待加载资源对象中需要显示加载进度的一个或多个资源对象,即全景图对应的一个或多个资源对象,并使用进度条显示所识别出的全景图对应的一个或多个资源对象的加载进度。

    基于上述实施例,通过根据一个或多个最新加载资源对象的大小及所述资源对象的实际加载时间确定当前网络速度的方式,确保了所得到的当前网络速度的准确性及真实性。在此基础上,根据所述当前网络速度,确定完成所有资源对象加载所需的总加载时间,并根据所述总加载时间,更新显示了资源对象加载进度的进度条,所述进度条指示了已加载资源对象的实际加载时间与所述总加载时间的比值。如此,通过已加载资源对象的实际加载时间与所需的总加载时间的比值真实、准确地反应了资源对象的加载进度。

    参见图2,在上述实施例的基础上,本发明实施例提供了另一种进度条的显示方法,该方法具体可以包括的步骤如下:

    步骤s201,从所有待加载资源对象中识别出需要显示加载进度的所述资源对象。

    也即是说,仅针对用户视觉第一时间需要消化的视觉要素对应的资源对象,使用进度条显示其加载进度,而不需使用进度条显示所有待加载资源对象的加载进度。如此,既可以满足用户视觉需求,又可以真实反映资源对象的加载进度,以提升用户体验。

    步骤s202,基于head请求,在不加载所述资源对象的情况下,获取所述资源对象的大小。

    具体地,对于需要加载的资源对象,可以通过head请求模式来处理,该请求模式会返回具体的资源对象文件的信息,包括文件大小等,并封装在xmlhttprequest对象中,进而可以通过解析xmlhttprequest对象的content-length的属性得到当前文件的大小,从而避免了下载实际资源对象文件。如此,简化了确定资源对象大小的流程,确保了该进度条显示方法的可行性。

    步骤s203,根据一个或多个最新加载资源对象的大小及所述资源对象的实际加载时间,确定当前网络速度。其中,当前网络速度指示了一个或多个最新加载资源对象的大小与资源对象实际加载时间的比值。

    步骤s204,根据所述当前网络速度,确定完成所有资源对象加载所需的总加载时间。其中,总加载时间指示了已加载资源对象的实际加载时间与未加载资源对象所需的预估加载时间的和,而预估加载时间则可以由未加载资源对象的大小与当前网络速度的比值得到。

    步骤s205,根据所述总加载时间,更新显示了资源对象加载进度的进度条,所述进度条指示了已加载资源对象的实际加载时间与所述总加载时间的比值。

    基于上述实施例,通过从所有待加载资源对象中识别出用户视觉第一时间消化的视觉要素对应的一个或多个资源对象,以使用进度条展示其加载进度,既可以满足用户视觉需求,又可以减少进度条的整体滚动时间,提升了用户体验。进一步地,通过head请求模式来获取资源对象的大小,避免了资源对象的下载,简化了确定资源对象大小的流程,确保了该进度条显示方法的可行性。基于此,通过根据一个或多个最新加载资源对象的大小及所述资源对象的实际加载时间确定当前网络速度的方式,确保了所得到的当前网络速度的准确性及真实性。在此基础上,根据所述当前网络速度,确定完成所有资源对象加载所需的总加载时间,并根据所述总加载时间,更新显示了资源对象加载进度的进度条,所述进度条指示了已加载资源对象的实际加载时间与所述总加载时间的比值。如此,通过已加载资源对象的实际加载时间与所需的总加载时间的比值真实、准确地反应了资源对象的加载进度。

    参见图3,在上述实施例的基础上,本发明实施例提供了一种进度条的显示装置300,包括:网络速度确定模块303、加载时间确定模块304、进度条显示模块305;其中,

    所述网络速度确定模块303,用于根据一个或多个最新加载资源对象的大小及所述资源对象的实际加载时间,确定当前网络速度;

    所述加载时间确定模块304,用于根据所述当前网络速度,确定完成所有资源对象加载所需的总加载时间;

    所述进度条显示模块305,用于根据所述总加载时间,更新显示了资源对象加载进度的进度条,所述进度条指示了已加载资源对象的实际加载时间与所述总加载时间的比值。

    在一种可选的实施方式中,所述根据所述当前网络速度,确定完成所有资源对象加载所需的总加载时间,包括:

    根据所述当前网络速度及尚未加载资源对象的大小,确定尚未加载资源对象所需的预估加载时间;

    根据已加载资源对象的实际加载时间、尚未加载资源对象所需的预估加载时间,确定完成所有资源对象加载所需的总加载时间,所述总加载时间指示了所述实际加载时间与所述预估加载时间之和。

    在一种可选的实施方式中,还包括:资源对象大小获取模块302;其中,

    所述资源对象大小获取模块302,用于基于head请求,在不加载所述资源对象的情况下,获取所述资源对象的大小。

    在一种可选的实施方式中,所述基于head请求,在不加载所述资源对象的情况下,获取所述资源对象的大小,包括:向存储有所述资源对象的服务器发送head请求,并接收所述服务器根据所述head请求返回的对象信息;解析所述对象信息中的content-length属性,以获取所述对象资源的大小。

    在一种可选的实施方式中,还包括:资源对象识别模块301;其中,

    所述资源对象识别模块301,用于从所有待加载资源对象中识别出需要显示加载进度的所述资源对象。

    在一种可选的实施方式中,所述从所有待加载资源对象中识别出需要显示加载进度的所述资源对象,包括:将需要显示加载进度的所述资源对象存储至预设目录下;基于待加载资源对象的资源定位符,识别需要显示加载进度的所述资源对象,所述资源对象的资源定位符指示了所述预设目录。

    在一种可选的实施方式中,在所述待加载资源对象为virtualreality系统对应的资源对象的情况下,需要显示加载进度的所述资源对象为virtualreality系统中的全景图。

    在一种可选的实施方式中,在所述待加载资源对象为web页面对应的资源对象的情况下,需要显示加载进度的所述资源对象为所述web页面对应的背景图。

    在一种可选的实施方式中,根据加载所述资源对象的线程数量,确定用于计算所述当前网络速度的最新加载资源对象的数量。

    在一种可选的实施方式中,所述最新加载资源对象的数量指示了所述线程数量。

    在一种可选的实施方式中,所述当前网络速度指示了最新加载资源对象的大小与所述资源对象实际加载时间的比值。

    在一种可选的实施方式中,所述预估加载时间指示了尚未加载资源对象的大小与所述当前网络速度的比值。

    图4示出了可以应用本发明实施例的进度条的显示方法或进度条的显示装置的示例性系统架构400。

    如图4所示,系统架构400可以包括终端设备401、402、403,网络404和服务器405。网络404用以在终端设备401、402、403和服务器405之间提供通信链路的介质。网络404可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。

    用户可以使用终端设备401、402、403通过网络404与服务器405交互,以接收或发送消息等。终端设备401、402、403上可以安装有各种网页浏览器应用、搜索类应用等。

    终端设备401、402、403可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。

    服务器405可以是提供各种服务的服务器,例如对用户利用终端设备401、402、403所浏览的页面网站提供支持的后台管理服务器。后台管理服务器可以对接收到的资源对象加载请求等进行处理,并将对应的资源对象发送给反馈给页面前端,以使用用户通过终端设备上的浏览器等浏览页面。

    需要说明的是,本发明实施例所提供的进度条的显示方法一般由服务器405执行,相应地,进度条的显示装置一般设置于服务器405中。

    应该理解,图4中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。

    下面参考图5,其示出了适于用来实现本发明实施例的终端设备的计算机系统500的结构示意图。图5示出的终端设备仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。

    如图5所示,计算机系统500包括中央处理单元(cpu)501,其可以根据存储在只读存储器(rom)502中的程序或者从存储部分508加载到随机访问存储器(ram)503中的程序而执行各种适当的动作和处理。在ram503中,还存储有系统500操作所需的各种程序和数据。cpu501、rom502以及ram503通过总线504彼此相连。输入/输出(i/o)接口505也连接至总线504。

    以下部件连接至i/o接口505:包括键盘、鼠标等的输入部分506;包括诸如阴极射线管(crt)、液晶显示器(lcd)等以及扬声器等的输出部分507;包括硬盘等的存储部分508;以及包括诸如lan卡、调制解调器等的网络接口卡的通信部分509。通信部分509经由诸如因特网的网络执行通信处理。驱动器510也根据需要连接至i/o接口505。可拆卸介质511,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器510上,以便于从其上读出的计算机程序根据需要被安装入存储部分508。

    特别地,根据本发明公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本发明公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分509从网络上被下载和安装,和/或从可拆卸介质511被安装。在该计算机程序被中央处理单元(cpu)501执行时,执行本发明的系统中限定的上述功能。

    需要说明的是,本发明所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本发明中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本发明中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、rf等等,或者上述的任意合适的组合。

    附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

    描述于本发明实施例中所涉及到的模块可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的模块也可以设置在处理器中,例如,可以描述为:一种处理器包括网络速度确定模块、加载时间确定模块、进度条显示模块。其中,这些模块的名称在某种情况下并不构成对该模块本身的限定,例如,网络速度确定模块还可以被描述为“用于根据一个或多个最新加载资源对象的大小及所述资源对象的实际加载时间,确定当前网络速度的模块”。

    作为另一方面,本发明还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的设备中所包含的;也可以是单独存在,而未装配入该设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该设备执行时,使得该设备包括:根据一个或多个最新加载资源对象的大小及所述资源对象的实际加载时间,确定当前网络速度;根据所述当前网络速度,确定完成所有资源对象加载所需的总加载时间;根据所述总加载时间,更新显示了资源对象加载进度的进度条,所述进度条指示了已加载资源对象的实际加载时间与所述总加载时间的比值。

    根据本发明实施例的技术方案,通过根据一个或多个最新加载资源对象的大小及所述资源对象的实际加载时间确定当前网络速度的方式,确保了所得到的当前网络速度的准确性及真实性。在此基础上,根据所述当前网络速度,确定完成所有资源对象加载所需的总加载时间,并根据所述总加载时间,更新显示了资源对象加载进度的进度条,所述进度条指示了已加载资源对象的实际加载时间与所述总加载时间的比值。如此,通过已加载资源对象的实际加载时间与所需的总加载时间的比值真实、准确地反应了资源对象的加载进度。

    上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,取决于设计要求和其他因素,可以发生各种各样的修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。


    技术特征:

    1.一种进度条的显示方法,其特征在于,包括:

    根据一个或多个最新加载资源对象的大小及所述资源对象的实际加载时间,确定当前网络速度;

    根据所述当前网络速度,确定完成所有资源对象加载所需的总加载时间;

    根据所述总加载时间,更新显示了资源对象加载进度的进度条,所述进度条指示了已加载资源对象的实际加载时间与所述总加载时间的比值。

    2.根据权利要求1所述的进度条的显示方法,其特征在于,所述根据所述当前网络速度,确定完成所有资源对象加载所需的总加载时间,包括:

    根据所述当前网络速度及尚未加载资源对象的大小,确定尚未加载资源对象所需的预估加载时间;

    根据已加载资源对象的实际加载时间、尚未加载资源对象所需的预估加载时间,确定完成所有资源对象加载所需的总加载时间,所述总加载时间指示了所述实际加载时间与所述预估加载时间之和。

    3.根据权利要求2所述的进度条的显示方法,其特征在于,还包括:

    基于head请求,在不加载所述资源对象的情况下,获取所述资源对象的大小。

    4.根据权利要求3所述的进度条的显示方法,其特征在于,所述基于head请求,在不加载所述资源对象的情况下,获取所述资源对象的大小,包括:

    向存储有所述资源对象的服务器发送head请求,并接收所述服务器根据所述head请求返回的对象信息;

    解析所述对象信息中的content-length属性,以获取所述对象资源的大小。

    5.根据权利要求1所述的进度条的显示方法,其特征在于,还包括:

    从所有待加载资源对象中识别出需要显示加载进度的所述资源对象。

    6.根据权利要求5所述的进度条的显示方法,其特征在于,所述从所有待加载资源对象中识别出需要显示加载进度的所述资源对象,包括:

    将需要显示加载进度的所述资源对象存储至预设目录下;

    基于待加载资源对象的资源定位符,识别需要显示加载进度的所述资源对象,所述资源对象的资源定位符指示了所述预设目录。

    7.根据权利要求5或6所述的进度条的显示方法,其特征在于,

    在所述待加载资源对象为virtualreality系统对应的资源对象的情况下,需要显示加载进度的所述资源对象为virtualreality系统中的全景图。

    8.根据权利要求5或6所述的进度条的显示方法,其特征在于,

    在所述待加载资源对象为web页面对应的资源对象的情况下,需要显示加载进度的所述资源对象为所述web页面对应的背景图。

    9.根据权利要求1所述的进度条的显示方法,其特征在于,

    根据加载所述资源对象的线程数量,确定用于计算所述当前网络速度的最新加载资源对象的数量。

    10.根据权利要求9所述的进度条的显示方法,其特征在于,

    所述最新加载资源对象的数量指示了所述线程数量。

    11.根据权利要求1所述的进度条的显示方法,其特征在于,

    所述当前网络速度指示了最新加载资源对象的大小与所述资源对象实际加载时间的比值。

    12.根据权利要求2所述的进度条的显示方法,其特征在于,

    所述预估加载时间指示了尚未加载资源对象的大小与所述当前网络速度的比值。

    13.一种进度条的显示装置,其特征在于,包括:网络速度确定模块、加载时间确定模块、进度条显示模块;其中,

    所述网络速度确定模块,用于根据一个或多个最新加载资源对象的大小及所述资源对象的实际加载时间,确定当前网络速度;

    所述加载时间确定模块,用于根据所述当前网络速度,确定完成所有资源对象加载所需的总加载时间;

    所述进度条显示模块,用于根据所述总加载时间,更新显示了资源对象加载进度的进度条,所述进度条指示了已加载资源对象的实际加载时间与所述总加载时间的比值。

    14.根据权利要求13所述的进度条的显示装置,其特征在于,还包括:资源对象大小获取模块;其中,

    所述资源对象大小获取模块,用于基于head请求,在不加载所述资源对象的情况下,获取所述资源对象的大小。

    15.根据权利要求13所述的进度条的显示装置,其特征在于,还包括:资源对象识别模块;其中,

    所述资源对象识别模块,用于从所有待加载资源对象中识别出需要显示加载进度的所述资源对象。

    16.一种用于显示进度条的电子设备,其特征在于,包括:

    一个或多个处理器;

    存储装置,用于存储一个或多个程序,

    当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-12中任一所述的方法。

    17.一种计算机可读介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求1-12中任一所述的方法。

    技术总结
    本发明公开了一种进度条的显示方法和装置,涉及计算机技术领域。该方法的一具体实施方式包括:根据一个或多个最新加载资源对象的大小及所述资源对象的实际加载时间,确定当前网络速度;根据所述当前网络速度,确定完成所有资源对象加载所需的总加载时间;根据所述总加载时间,更新显示了资源对象加载进度的进度条,所述进度条指示了已加载资源对象的实际加载时间与所述总加载时间的比值。该实施方式既能够通过进度条真实地反映资源对象的加载进度,又可以不依赖于浏览器底层的实时监控功能,具有通用性。

    技术研发人员:章梦;杨杰;邹伟力;钟博;李尚真;丘群业;郑少贤;黄日升;张莹
    受保护的技术使用者:建信金融科技有限责任公司
    技术研发日:2020.11.25
    技术公布日:2021.03.12

    转载请注明原文地址:https://wp.8miu.com/read-22680.html

    最新回复(0)