CN111694628B - 基于应用程序的线程的页面展示方法及相关设备 - Google Patents

基于应用程序的线程的页面展示方法及相关设备 Download PDF

Info

Publication number
CN111694628B
CN111694628B CN202010470742.6A CN202010470742A CN111694628B CN 111694628 B CN111694628 B CN 111694628B CN 202010470742 A CN202010470742 A CN 202010470742A CN 111694628 B CN111694628 B CN 111694628B
Authority
CN
China
Prior art keywords
app
request
duration
server
page
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
CN202010470742.6A
Other languages
English (en)
Other versions
CN111694628A (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.)
Jiangwei Culture And Technology Group Co ltd
Shenzhen Lian Intellectual Property Service Center
Original Assignee
Jiangwei Culture And Technology Group 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 Jiangwei Culture And Technology Group Co ltd filed Critical Jiangwei Culture And Technology Group Co ltd
Priority to CN202010470742.6A priority Critical patent/CN111694628B/zh
Publication of CN111694628A publication Critical patent/CN111694628A/zh
Application granted granted Critical
Publication of CN111694628B publication Critical patent/CN111694628B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/451Execution arrangements for user interfaces
    • 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/448Execution paradigms, e.g. implementations of programming paradigms
    • G06F9/4482Procedural
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources

Abstract

一种基于应用程序的线程的页面展示方法,所述基于应用程序的线程的页面展示方法包括:在应用程序APP启动时,通过所述APP对应的子线程向服务器发送网络请求;使用runloop对所述APP对应的主线程进行阻塞;判断在所述runloop的阻塞时长内是否接收到所述服务器针对所述网络请求发送的回调事件;若在所述runloop的阻塞时长内接收到所述服务器针对所述网络请求发送的回调事件,通过所述主线程分流展示所述APP的新版本页面或旧版本页面。本发明还提供一种相关设备。本发明动态智能地调整runloop对主线程是否执行阻塞,使得APP能够获得最佳的等待时长,从而可以避免APP处于一直等待不可用的状态,提升用户体验。

Description

基于应用程序的线程的页面展示方法及相关设备
技术领域
本发明涉及智能终端技术领域,尤其涉及一种基于应用程序的线程的页面展示方法及相关设备。
背景技术
目前,在新版本的APP发布之前,需要采用ABTest进行新旧版本的分流方案,比如A设备/用户访问APP时展示旧版本,B设备/用户访问APP时展示新版本。通常,APP在启动时,需要先向服务器发送网络请求后才能进行页面展示。由于网络请求是在非主线程异步请求的,必须阻塞主线程直到网络请求返回,才会继续执行后续的页面展示逻辑。然而,网络请求的时间是不定的,如果一直未返回回调,将会导致APP一直被阻塞,一直处于不可用状态,严重影响用户体验。
发明内容
鉴于以上内容,有必要提供一种基于应用程序的线程的页面展示方法及相关设备,能够动态智能地调整runloop对主线程是否执行阻塞,使得APP能够获得最佳的等待时长,从而可以避免APP处于一直等待不可用的状态,提升用户体验。
本发明的第一方面提供一种基于应用程序的线程的页面展示方法,所述基于应用程序的线程的页面展示方法包括:
在应用程序APP启动时,通过所述APP对应的子线程向服务器发送网络请求;
使用runloop对所述APP对应的主线程进行阻塞;
判断在所述runloop的阻塞时长内是否接收到所述服务器针对所述网络请求发送的回调事件;
若在所述runloop的阻塞时长内接收到所述服务器针对所述网络请求发送的回调事件,通过所述主线程分流展示所述APP的新版本页面或旧版本页面。
在一种可能的实现方式中,所述在应用程序APP启动时,通过所述APP对应的子线程向服务器发送网络请求之前,所述基于应用程序的线程的页面展示方法还包括:
获取云监测平台监测到服务器的接口请求的多个时长;
根据所述多个时长,计算平均时长;
根据预设的网络请求成功的概率值,确定时长变量;
根据所述平均时长以及所述时长变量,确定超时时长。
在一种可能的实现方式中,所述通过所述主线程分流展示所述APP的新版本页面或旧版本页面包括:
获取所述APP被启动的设备的设备标识;
根据所述设备标识,判断所述设备是否具备分流展示所述APP的新旧版本页面的权限;
若所述设备具备分流展示所述APP的新旧版本页面的权限,通过所述主线程展示所述APP的新版本页面;或
若所述设备不具备分流展示所述APP的新旧版本页面的权限,通过所述主线程展示所述APP的旧版本页面。
在一种可能的实现方式中,所述通过所述主线程分流展示所述APP的新版本页面或旧版本页面包括:
获取所述APP的登录用户的用户标识;
根据所述用户标识,判断所述登录用户是否具备分流展示所述APP的新旧版本页面的权限;
若所述登录用户具备分流展示所述APP的新旧版本页面的权限,通过所述主线程展示所述APP的新版本页面;或
若所述登录用户不具备分流展示所述APP的新旧版本页面的权限,通过所述主线程展示所述APP的旧版本页面。
在一种可能的实现方式中,所述基于应用程序的线程的页面展示方法还包括:
向服务器发送请求相关信息,所述请求相关信息包括请求成功信息、请求耗时时长以及配置的超时时长。
在一种可能的实现方式中,所述基于应用程序的线程的页面展示方法还包括:
若在所述runloop的阻塞时长内未接收到所述服务器针对所述网络请求发送的回调事件,使用所述runloop对所述APP对应的主线程进行阻塞,并统计请求时长;
判断所述请求时长是否到达预设的超时时长;
若所述请求时长到达预设的超时时长,且在所述超时时长内未接收到所述服务器针对所述网络请求发送的回调事件,退出所述runloop对所述APP对应的主线程的阻塞;
通过所述主线程展示所述APP的旧版本页面。
在一种可能的实现方式中,所述基于应用程序的线程的页面展示方法还包括:
获取当前所述用户终端的网络信号强度;
向服务器发送请求相关信息,所述请求相关信息包括请求失败信息、网络信号强度以及配置的超时时长。
本发明的第二方面提供一种页面展示装置,所述装置包括:
发送模块,用于在应用程序APP启动时,通过所述APP对应的子线程向服务器发送网络请求;
阻塞模块,用于使用runloop对所述APP对应的主线程进行阻塞;
判断模块,用于判断在所述runloop的阻塞时长内是否接收到所述服务器针对所述网络请求发送的回调事件;
展示模块,用于若在所述runloop的阻塞时长内接收到所述服务器针对所述网络请求发送的回调事件,通过所述主线程分流展示所述APP的新版本页面或旧版本页面。
本发明的第三方面提供一种电子设备,所述电子设备包括处理器和存储器,所述处理器用于执行所述存储器中存储的计算机程序时实现所述的基于应用程序的线程的页面展示方法。
本发明的第四方面提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现所述的基于应用程序的线程的页面展示方法。
由以上技术方案,本发明中,采用大数据分析,根据runloop对所述APP对应的主线程进行阻塞,并根据请求回调的状态来动态智能地调整runloop对主线程是否执行阻塞,使得APP能够获得最佳的等待时长,从而可以避免APP处于一直等待不可用的状态,提升用户体验。
附图说明
图1是本发明公开的一种基于应用程序的线程的页面展示方法的较佳实施例的流程图。
图2是本发明公开的一种页面展示装置的较佳实施例的功能模块图。
图3是本发明实现基于应用程序的线程的页面展示方法的较佳实施例的电子设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”是用于区别类似的对象,而不必用于描述特定的顺序或先后次序,也不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。
此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本发明要求的保护范围之内。
所述电子设备是一种能够按照事先设定或存储的指令,自动进行数值计算和/或信息处理的设备,其硬件包括但不限于微处理器、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、数字处理器(DSP)、嵌入式设备等。所述电子设备还可包括网络设备和/或用户设备。其中,所述网络设备包括但不限于单个网络服务器、多个网络服务器组成的服务器组或基于云计算(Cloud Computing)的由大量主机或网络服务器构成的云。所述用户设备包括但不限于任何一种可与用户通过键盘、鼠标、遥控器、触摸板或声控设备等方式进行人机交互的电子产品,例如,个人计算机、平板电脑、智能手机、个人数字助理PDA等。
图1是本发明公开的一种基于应用程序的线程的页面展示方法的较佳实施例的流程图。其中,根据不同的需求,该流程图中步骤的顺序可以改变,某些步骤可以省略。
S11、在应用程序APP启动时,通过所述APP对应的子线程向服务器发送网络请求。
其中,该APP的版本存在变更,即存在新版本和旧版本,通常,在新版本的APP发布之前,需要采用ABTest进行新旧版本的分流方案。
通常,APP在启动时,需要先向服务器发送网络请求后才能进行页面展示。由于网络请求是在非主线程异步请求的(即网络请求是在子线程请求的),必须阻塞主线程直到网络请求返回,才会继续执行后续的页面展示逻辑。
可选的,步骤S11之前,所述基于应用程序的线程的页面展示方法还包括:
获取云监测平台监测到服务器的接口请求的多个时长;
根据所述多个时长,计算平均时长;
根据预设的网络请求成功的概率值,确定时长变量;
根据所述平均时长以及所述时长变量,确定超时时长。
其中,可以预设一个网络请求成功的概率值,比如99%,根据该概率值,查询该概率值对应的时长变量,比如0.5。
在本地DC中配置超时时长T1=T+ΔT,其中,T为平均时长,ΔT为时长变量,其中,T1不得超过2.5s。通过配置超时时长,可以使得网络请求的成功的概率值达到99%。
S12、使用runloop对所述APP对应的主线程进行阻塞。
其中,runloop属于一个运行循环,在发起网络请求的同时,可以使用runloop对所述APP对应的主线程进行阻塞,主线程被阻塞后,就无法执行任何任务。
S13、判断在所述runloop的阻塞时长内是否接收到所述服务器针对所述网络请求发送的回调事件。
其中,可以预先设置runloop的阻塞时长,比如0.1s。
S14、若在所述runloop的阻塞时长内接收到所述服务器针对所述网络请求发送的回调事件,通过所述主线程分流展示所述APP的新版本页面或旧版本页面。
其中,由于APP既保留旧版本代码,也存在新版本APP代码,因此,APP在启动时需要进行AB分流,展示不同的新旧版本的页面。
其中,如果在所述runloop的阻塞时长内接收到所述服务器针对所述网络请求发送的回调事件,可以通过所述主线程分流展示所述APP的新版本页面或旧版本页面。具体的,可以根据设备或用户来选择展示新版本页面或旧版本页面。
具体的,所述通过所述主线程分流展示所述APP的新版本页面或旧版本页面包括:
获取所述APP被启动的设备的设备标识;
根据所述设备标识,判断所述设备是否具备分流展示所述APP的新旧版本页面的权限;
若所述设备具备分流展示所述APP的新旧版本页面的权限,通过所述主线程展示所述APP的新版本页面;或
若所述设备不具备分流展示所述APP的新旧版本页面的权限,通过所述主线程展示所述APP的旧版本页面。
在该实施方式中,通过所述设备标识来判断所述设备是否具备分流展示所述APP的新旧版本页面的权限,进而来选择是展示所述APP的新版本页面还是展示所述APP的旧版本页面。
具体的,所述通过所述主线程分流展示所述APP的新版本页面或旧版本页面包括:
获取所述APP的登录用户的用户标识;
根据所述用户标识,判断所述登录用户是否具备分流展示所述APP的新旧版本页面的权限;
若所述登录用户具备分流展示所述APP的新旧版本页面的权限,通过所述主线程展示所述APP的新版本页面;或
若所述登录用户不具备分流展示所述APP的新旧版本页面的权限,通过所述主线程展示所述APP的旧版本页面。
在该实施方式中,通过所述登录用户的用户标识来判断所述登录用户是否具备分流展示所述APP的新旧版本页面的权限,进而来选择是展示所述APP的新版本页面还是展示所述APP的旧版本页面。
可选的,所述基于应用程序的线程的页面展示方法还包括:
向服务器发送请求相关信息,所述请求相关信息包括请求成功信息、请求耗时时长以及配置的超时时长。
其中,如果在所述runloop的阻塞时长内接收到所述服务器针对所述网络请求发送的回调事件,则可以在请求回调中埋点向服务器发送请求相关信息,所述请求相关信息包括请求成功信息、请求耗时时长以及配置的超时时长。
可选的,所述基于应用程序的线程的页面展示方法还包括:
若在所述runloop的阻塞时长内未接收到所述服务器针对所述网络请求发送的回调事件,使用所述runloop对所述APP对应的主线程进行阻塞,并统计请求时长;
判断所述请求时长是否到达预设的超时时长;
若所述请求时长到达预设的超时时长,且在所述超时时长内未接收到所述服务器针对所述网络请求发送的回调事件,退出所述runloop对所述APP对应的主线程的阻塞;
通过所述主线程展示所述APP的旧版本页面。
其中,如果在所述runloop的阻塞时长内未接收到所述服务器针对所述网络请求发送的回调事件,则需要继续使用所述runloop对所述APP对应的主线程进行循环阻塞,并统计请求时长,如果在所述请求时长到达预设的超时时长,且在所述超时时长内一直未接收到所述服务器针对所述网络请求发送的回调事件,则可以退出所述runloop对所述APP对应的主线程的阻塞,此时,该主线程不需要继续等待,即可直接展示所述APP的旧版本页面。
可选的,所述基于应用程序的线程的页面展示方法还包括:
获取当前所述用户终端的网络信号强度;
向服务器发送请求相关信息,所述请求相关信息包括请求失败信息、网络信号强度以及配置的超时时长。
其中,网络请求不成功有可能是网络信号强度导致的,因此,还需要获取当前所述用户终端的网络信号强度,向服务器发送请求相关信息,所述请求相关信息包括请求失败信息、网络信号强度以及配置的超时时长。
其中,服务器接收到请求相关信息之后,可以剔除网络信号强度值较低的网络请求的相关数据,并通过大数据分析统计超时时长T1配置下的请求成功、失败超时的比例。
如果请求失败超时的比例超过0.1%,则需对超时时长T1进行分析调整,以0.3秒为单位对超时时长T1进行增加调整,并统计超时比例,直至最后的请求失败超时的比例小于0.1%,且超时时长T1不超过2.5秒。如果超时时长T1达到2.5秒,且超时比例依旧超过0.1%,则服务器端需要进行优化,比如增加服务器端的硬件配置,检测服务器端的代码是否存在问题,检测服务器端的接口是否存在问题等。
在图1所描述的方法流程中,采用大数据分析,根据runloop对所述APP对应的主线程进行阻塞,并根据请求回调的状态来动态智能地调整runloop对主线程是否执行阻塞,使得APP能够获得最佳的等待时长,从而可以避免APP处于一直等待不可用的状态,提升用户体验。
以上所述,仅是本发明的具体实施方式,但本发明的保护范围并不局限于此,对于本领域的普通技术人员来说,在不脱离本发明创造构思的前提下,还可以做出改进,但这些均属于本发明的保护范围。
图2是本发明公开的一种页面展示装置的较佳实施例的功能模块图。
在一些实施例中,所述页面展示装置运行于电子设备中。所述页面展示装置可以包括多个由程序代码段所组成的功能模块。所述页面展示装置中的各个程序段的程序代码可以存储于存储器中,并由至少一个处理器所执行,以执行图1所描述的基于应用程序的线程的页面展示方法中的部分或全部步骤。
本实施例中,所述页面展示装置根据其所执行的功能,可以被划分为多个功能模块。所述功能模块可以包括:发送模块201、阻塞模块202、判断模块203、及展示模块204。本发明所称的模块是指一种能够被至少一个处理器所执行并且能够完成固定功能的一系列计算机程序段,其存储在存储器中。
发送模块201,用于在应用程序APP启动时,通过所述APP对应的子线程向服务器发送网络请求。
其中,该APP的版本存在变更,即存在新版本和旧版本,通常,在新版本的APP发布之前,需要采用ABTest进行新旧版本的分流方案。
通常,APP在启动时,需要先向服务器发送网络请求后才能进行页面展示。由于网络请求是在非主线程异步请求的(即网络请求是在子线程请求的),必须阻塞主线程直到网络请求返回,才会继续执行后续的页面展示逻辑。
可选的,所述页面展示装置还包括:
获取模块,用于获取云监测平台监测到服务器的接口请求的多个时长;
计算模块,用于根据所述多个时长,计算平均时长;
确定模块,用于根据预设的网络请求成功的概率值,确定时长变量;
所述确定模块,还用于根据所述平均时长以及所述时长变量,确定超时时长。
其中,可以预设一个网络请求成功的概率值,比如99%,根据该概率值,查询该概率值对应的时长变量,比如0.5。
在本地DC中配置超时时长T1=T+ΔT,其中,T为平均时长,ΔT为时长变量,其中,T1不得超过2.5s。通过配置超时时长,可以使得网络请求的成功的概率值达到99%。
阻塞模块202,用于使用runloop对所述APP对应的主线程进行阻塞。
其中,runloop属于一个运行循环,在发起网络请求的同时,可以使用runloop对所述APP对应的主线程进行阻塞,主线程被阻塞后,就无法执行任何任务。
判断模块203,用于判断在所述runloop的阻塞时长内是否接收到所述服务器针对所述网络请求发送的回调事件。
其中,可以预先设置runloop的阻塞时长,比如0.1s。
展示模块204,用于若在所述runloop的阻塞时长内接收到所述服务器针对所述网络请求发送的回调事件,通过所述主线程分流展示所述APP的新版本页面或旧版本页面。
其中,由于APP既保留旧版本代码,也存在新版本APP代码,因此,APP在启动时需要进行AB分流,展示不同的新旧版本的页面。
其中,如果在所述runloop的阻塞时长内接收到所述服务器针对所述网络请求发送的回调事件,可以通过所述主线程分流展示所述APP的新版本页面或旧版本页面。具体的,可以根据设备或用户来选择展示新版本页面或旧版本页面。
具体的,所述通过所述主线程分流展示所述APP的新版本页面或旧版本页面包括:
获取所述APP被启动的设备的设备标识;
根据所述设备标识,判断所述设备是否具备分流展示所述APP的新旧版本页面的权限;
若所述设备具备分流展示所述APP的新旧版本页面的权限,通过所述主线程展示所述APP的新版本页面;或
若所述设备不具备分流展示所述APP的新旧版本页面的权限,通过所述主线程展示所述APP的旧版本页面。
在该实施方式中,通过所述设备标识来判断所述设备是否具备分流展示所述APP的新旧版本页面的权限,进而来选择是展示所述APP的新版本页面还是展示所述APP的旧版本页面。
具体的,所述通过所述主线程分流展示所述APP的新版本页面或旧版本页面包括:
获取所述APP的登录用户的用户标识;
根据所述用户标识,判断所述登录用户是否具备分流展示所述APP的新旧版本页面的权限;
若所述登录用户具备分流展示所述APP的新旧版本页面的权限,通过所述主线程展示所述APP的新版本页面;或
若所述登录用户不具备分流展示所述APP的新旧版本页面的权限,通过所述主线程展示所述APP的旧版本页面。
在该实施方式中,通过所述登录用户的用户标识来判断所述登录用户是否具备分流展示所述APP的新旧版本页面的权限,进而来选择是展示所述APP的新版本页面还是展示所述APP的旧版本页面。
可选的,所述发送模块201,还用于向服务器发送请求相关信息,所述请求相关信息包括请求成功信息、请求耗时时长以及配置的超时时长。
其中,如果在所述runloop的阻塞时长内接收到所述服务器针对所述网络请求发送的回调事件,则可以在请求回调中埋点向服务器发送请求相关信息,所述请求相关信息包括请求成功信息、请求耗时时长以及配置的超时时长。
可选的,所述阻塞模块202,还用于若在所述runloop的阻塞时长内未接收到所述服务器针对所述网络请求发送的回调事件,使用所述runloop对所述APP对应的主线程进行阻塞,并统计请求时长;
所述判断模块203,还用于判断所述请求时长是否到达预设的超时时长;
退出模块,用于若所述请求时长到达预设的超时时长,且在所述超时时长内未接收到所述服务器针对所述网络请求发送的回调事件,退出所述runloop对所述APP对应的主线程的阻塞;
所述展示模块204,还用于通过所述主线程展示所述APP的旧版本页面。
其中,如果在所述runloop的阻塞时长内未接收到所述服务器针对所述网络请求发送的回调事件,则需要继续使用所述runloop对所述APP对应的主线程进行循环阻塞,并统计请求时长,如果在所述请求时长到达预设的超时时长,且在所述超时时长内一直未接收到所述服务器针对所述网络请求发送的回调事件,则可以退出所述runloop对所述APP对应的主线程的阻塞,此时,该主线程不需要继续等待,即可直接展示所述APP的旧版本页面。
可选的,所述获取模块,还用于获取当前所述用户终端的网络信号强度;
所述发送模块201,还用于向服务器发送请求相关信息,所述请求相关信息包括请求失败信息、网络信号强度以及配置的超时时长。
其中,网络请求不成功有可能是网络信号强度导致的,因此,还需要获取当前所述用户终端的网络信号强度,向服务器发送请求相关信息,所述请求相关信息包括请求失败信息、网络信号强度以及配置的超时时长。
其中,服务器接收到请求相关信息之后,可以剔除网络信号强度值较低的网络请求的相关数据,并通过大数据分析统计超时时长T1配置下的请求成功、失败超时的比例。
如果请求失败超时的比例超过0.1%,则需对超时时长T1进行分析调整,以0.3秒为单位对超时时长T1进行增加调整,并统计超时比例,直至最后的请求失败超时的比例小于0.1%,且超时时长T1不超过2.5秒。如果超时时长T1达到2.5秒,且超时比例依旧超过0.1%,则服务器端需要进行优化,比如增加服务器端的硬件配置,检测服务器端的代码是否存在问题,检测服务器端的接口是否存在问题等。
在图2所描述的页面展示装置中,采用大数据分析,根据runloop对所述APP对应的主线程进行阻塞,并根据请求回调的状态来动态智能地调整runloop对主线程是否执行阻塞,使得APP能够获得最佳的等待时长,从而可以避免APP处于一直等待不可用的状态,提升用户体验。
图3是本发明实现基于应用程序的线程的页面展示方法的较佳实施例的电子设备的结构示意图。所述电子设备3包括存储器31、至少一个处理器32、存储在所述存储器31中并可在所述至少一个处理器32上运行的计算机程序33及至少一条通讯总线34。
本领域技术人员可以理解,图3所示的示意图仅仅是所述电子设备3的示例,并不构成对所述电子设备3的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述电子设备3还可以包括输入输出设备、网络接入设备等。
所述至少一个处理器32可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。该处理器32可以是微处理器或者该处理器32也可以是任何常规的处理器等,所述处理器32是所述电子设备3的控制中心,利用各种接口和线路连接整个电子设备3的各个部分。
所述存储器31可用于存储所述计算机程序33和/或模块/单元,所述处理器32通过运行或执行存储在所述存储器31内的计算机程序和/或模块/单元,以及调用存储在存储器31内的数据,实现所述电子设备3的各种功能。所述存储器31可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据电子设备3的使用所创建的数据(比如音频数据)等。此外,存储器31可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)、至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。
结合图1,所述电子设备3中的所述存储器31存储多个指令以实现一种基于应用程序的线程的页面展示方法,所述处理器32可执行所述多个指令从而实现:
在应用程序APP启动时,通过所述APP对应的子线程向服务器发送网络请求;
使用runloop对所述APP对应的主线程进行阻塞;
判断在所述runloop的阻塞时长内是否接收到所述服务器针对所述网络请求发送的回调事件;
若在所述runloop的阻塞时长内接收到所述服务器针对所述网络请求发送的回调事件,通过所述主线程分流展示所述APP的新版本页面或旧版本页面。
具体地,所述处理器32对上述指令的具体实现方法可参考图1对应实施例中相关步骤的描述,在此不赘述。
在图3所描述的电子设备3中,采用大数据分析,根据runloop对所述APP对应的主线程进行阻塞,并根据请求回调的状态来动态智能地调整runloop对主线程是否执行阻塞,使得APP能够获得最佳的等待时长,从而可以避免APP处于一直等待不可用的状态,提升用户体验。
所述电子设备3集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器以及只读存储器(ROM,Read-Only Memory)。
在本发明所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能模块的形式实现。
对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本发明内。不应将权利要求中的任何附关联图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。系统权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。
最后应说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或等同替换,而不脱离本发明技术方案的精神和范围。

Claims (9)

1.一种基于应用程序的线程的页面展示方法,其特征在于,所述基于应用程序的线程的页面展示方法包括:
在应用程序APP启动时,通过所述APP对应的子线程向服务器发送网络请求;
使用runloop对所述APP对应的主线程进行阻塞;
判断在所述runloop的阻塞时长内是否接收到所述服务器针对所述网络请求发送的回调事件;
若在所述runloop的阻塞时长内接收到所述服务器针对所述网络请求发送的回调事件,通过所述主线程分流展示所述APP的新版本页面或旧版本页面;
若在所述runloop的阻塞时长内未接收到所述服务器针对所述网络请求发送的回调事件,使用所述runloop对所述APP对应的主线程进行阻塞,并统计请求时长;判断所述请求时长是否到达预设的超时时长,其中,所述超时时长使得网络请求的成功的概率值达到预设的概率值;若所述请求时长到达所述超时时长,且在所述超时时长内未接收到所述服务器针对所述网络请求发送的回调事件,退出所述runloop对所述APP对应的主线程的阻塞;
获取当前用户终端的网络信号强度;
向所述服务器发送请求相关信息,所述请求相关信息包括请求失败信息、所述网络信号强度以及所述超时时长,使得所述服务器在接收到所述请求相关信息之后,剔除所述网络信号强度值低的网络请求的相关数据,并通过大数据分析统计所述超时时长配置下的请求失败超时的比例,在所述请求失败超时的比例超过阈值时,对所述超时时长进行分析调整。
2.根据权利要求1所述的基于应用程序的线程的页面展示方法,其特征在于,所述在应用程序APP启动时,通过所述APP对应的子线程向服务器发送网络请求之前,所述基于应用程序的线程的页面展示方法还包括:
获取云监测平台监测到服务器的接口请求的多个时长;
根据所述多个时长,计算平均时长;
根据预设的网络请求成功的概率值,确定时长变量;
根据所述平均时长以及所述时长变量,确定所述超时时长。
3.根据权利要求1所述的基于应用程序的线程的页面展示方法,其特征在于,所述通过所述主线程分流展示所述APP的新版本页面或旧版本页面包括:
获取所述APP被启动的设备的设备标识;
根据所述设备标识,判断所述设备是否具备分流展示所述APP的新旧版本页面的权限;
若所述设备具备分流展示所述APP的新旧版本页面的权限,通过所述主线程展示所述APP的新版本页面;或
若所述设备不具备分流展示所述APP的新旧版本页面的权限,通过所述主线程展示所述APP的旧版本页面。
4.根据权利要求1所述的基于应用程序的线程的页面展示方法,其特征在于,所述通过所述主线程分流展示所述APP的新版本页面或旧版本页面包括:
获取所述APP的登录用户的用户标识;
根据所述用户标识,判断所述登录用户是否具备分流展示所述APP的新旧版本页面的权限;
若所述登录用户具备分流展示所述APP的新旧版本页面的权限,通过所述主线程展示所述APP的新版本页面;或
若所述登录用户不具备分流展示所述APP的新旧版本页面的权限,通过所述主线程展示所述APP的旧版本页面。
5.根据权利要求1所述的基于应用程序的线程的页面展示方法,其特征在于,所述基于应用程序的线程的页面展示方法还包括:
向服务器发送请求相关信息,所述请求相关信息包括请求成功信息、请求耗时时长以及所述超时时长。
6.根据权利要求1所述的基于应用程序的线程的页面展示方法,其特征在于,在所述退出所述runloop对所述APP对应的主线程的阻塞之后,所述基于应用程序的线程的页面展示方法还包括:
通过所述主线程展示所述APP的旧版本页面。
7.一种页面展示装置,其特征在于,所述页面展示装置包括:
发送模块,用于在应用程序APP启动时,通过所述APP对应的子线程向服务器发送网络请求;
阻塞模块,用于使用runloop对所述APP对应的主线程进行阻塞;
判断模块,用于判断在所述runloop的阻塞时长内是否接收到所述服务器针对所述网络请求发送的回调事件;
展示模块,用于若在所述runloop的阻塞时长内接收到所述服务器针对所述网络请求发送的回调事件,通过所述主线程分流展示所述APP的新版本页面或旧版本页面;
所述阻塞模块,还用于若在所述runloop的阻塞时长内未接收到所述服务器针对所述网络请求发送的回调事件,使用所述runloop对所述APP对应的主线程进行阻塞,并统计请求时长;
所述判断模块,还用于判断所述请求时长是否到达预设的超时时长,其中,所述超时时长使得网络请求的成功的概率值达到预设的概率值;
退出模块,用于若所述请求时长到达所述超时时长,且在所述超时时长内未接收到所述服务器针对所述网络请求发送的回调事件,退出所述runloop对所述APP对应的主线程的阻塞;
获取模块,用于获取当前用户终端的网络信号强度;
所述发送模块,还用于向所述服务器发送请求相关信息,所述请求相关信息包括请求失败信息、所述网络信号强度以及所述超时时长,使得所述服务器在接收到所述请求相关信息之后,剔除所述网络信号强度值低的网络请求的相关数据,并通过大数据分析统计所述超时时长配置下的请求失败超时的比例,在所述请求失败超时的比例超过阈值时,对所述超时时长进行分析调整。
8.一种电子设备,其特征在于,所述电子设备包括处理器和存储器,所述处理器用于执行存储器中存储的计算机程序以实现如权利要求1至6中任意一项所述的基于应用程序的线程的页面展示方法。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至6任意一项所述的基于应用程序的线程的页面展示方法。
CN202010470742.6A 2020-05-28 2020-05-28 基于应用程序的线程的页面展示方法及相关设备 Active CN111694628B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010470742.6A CN111694628B (zh) 2020-05-28 2020-05-28 基于应用程序的线程的页面展示方法及相关设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010470742.6A CN111694628B (zh) 2020-05-28 2020-05-28 基于应用程序的线程的页面展示方法及相关设备

Publications (2)

Publication Number Publication Date
CN111694628A CN111694628A (zh) 2020-09-22
CN111694628B true CN111694628B (zh) 2024-02-09

Family

ID=72478550

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010470742.6A Active CN111694628B (zh) 2020-05-28 2020-05-28 基于应用程序的线程的页面展示方法及相关设备

Country Status (1)

Country Link
CN (1) CN111694628B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112465652A (zh) * 2020-11-26 2021-03-09 泰康保险集团股份有限公司 一种权益数据处理方法、装置、电子设备及可读存储介质

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6832239B1 (en) * 2000-07-07 2004-12-14 International Business Machines Corporation Systems for managing network resources
CN103577321A (zh) * 2012-08-07 2014-02-12 阿里巴巴集团控股有限公司 一种网站页面的多版本并行测试方法和服务器
CN107453937A (zh) * 2016-06-01 2017-12-08 广州市动景计算机科技有限公司 网络连接池的管理方法及设备
CN110058897A (zh) * 2019-03-15 2019-07-26 平安普惠企业管理有限公司 页面操作控制方法、装置、计算机设备及存储介质
CN110347952A (zh) * 2019-07-18 2019-10-18 武汉斗鱼网络科技有限公司 一种打开直播间页面的方法、装置及计算机设备
CN110569121A (zh) * 2019-09-12 2019-12-13 华润万家有限公司 基于应用机器人的多线程并发处理方法和装置
WO2020043011A1 (zh) * 2018-08-27 2020-03-05 Oppo广东移动通信有限公司 一种ui显示方法、终端设备及装置

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6832239B1 (en) * 2000-07-07 2004-12-14 International Business Machines Corporation Systems for managing network resources
CN103577321A (zh) * 2012-08-07 2014-02-12 阿里巴巴集团控股有限公司 一种网站页面的多版本并行测试方法和服务器
CN107453937A (zh) * 2016-06-01 2017-12-08 广州市动景计算机科技有限公司 网络连接池的管理方法及设备
WO2020043011A1 (zh) * 2018-08-27 2020-03-05 Oppo广东移动通信有限公司 一种ui显示方法、终端设备及装置
CN110058897A (zh) * 2019-03-15 2019-07-26 平安普惠企业管理有限公司 页面操作控制方法、装置、计算机设备及存储介质
CN110347952A (zh) * 2019-07-18 2019-10-18 武汉斗鱼网络科技有限公司 一种打开直播间页面的方法、装置及计算机设备
CN110569121A (zh) * 2019-09-12 2019-12-13 华润万家有限公司 基于应用机器人的多线程并发处理方法和装置

Non-Patent Citations (6)

* Cited by examiner, † Cited by third party
Title
RunLoop原理和核心机制;挽弓挽长;《https://www.cnblogs.com/zy1987/p/4582466.html》;20150630;第1-8页 *
RunLoop的理解与使用;进击的小杰;《http://events.jianshu.io/p/b29b3ebc4343》;20160530;第1-15页 *
关于Runloop的问题;Shelby_yao;《https://www.jianshu.com/p/229448267ad9》;20200331;第1-7页 *
携程机票的ABTest实践;佚名;《http://www.javashuo.com/article/p-golezonh-ho.html》;20191111;第1-4页 *
携程机票的ABTest实践;佚名;《https://www.itdaan.com/blog/2017/11/28/daa6e9dd2e9ec28c8a9579370c1d7630.html》;20171129;第1-5页 *
携程机票的ABTest实践;佚名;《https://zhuanlan.zhihu.com/p/25685006》;20170310;第1-8页 *

Also Published As

Publication number Publication date
CN111694628A (zh) 2020-09-22

Similar Documents

Publication Publication Date Title
CN108845910B (zh) 大规模微服务系统的监控方法、装置及存储介质
US20140013332A1 (en) Method and apparatus for configuring resource
CN110471749B (zh) 任务处理方法、装置、计算机可读存储介质和计算机设备
CN111131058A (zh) 访问量控制方法和装置
CN111858055B (zh) 任务处理方法、服务器及存储介质
US11210127B2 (en) Method and apparatus for processing request
CN109359027B (zh) Monkey测试方法、装置、电子设备及计算机可读存储介质
US20200004785A1 (en) Automatic grouping based on user behavior
CN111694628B (zh) 基于应用程序的线程的页面展示方法及相关设备
CN110764965A (zh) 进程守护方法、装置、电子设备及存储介质
CN109634986B (zh) 系统监测方法、装置、计算机及计算机可读存储介质
CN108415765B (zh) 任务调度方法、装置及智能终端
CN110275785B (zh) 数据处理方法、装置、客户端和服务器
CN111376255B (zh) 机器人数据采集方法、装置及终端设备
CN111611124B (zh) 监控设备分析方法、装置、计算机装置及存储介质
CN111949512A (zh) 应用程序的卡顿检测方法、装置、终端及介质
CN108762684B (zh) 热点数据迁移流控方法、装置、电子设备及存储介质
CN108536512B (zh) 界面切换方法、装置及终端设备
CN115334001A (zh) 基于优先关系的数据资源调度方法及装置
CN109885442B (zh) 性能分析方法、装置、设备及存储介质
CN110827108A (zh) 信息搜索方法、搜索请求控制方法及系统
CN109766238B (zh) 基于session数的运维平台性能监控方法、装置及相关设备
CN110069340B (zh) 线程数评估方法及装置
CN110597682B (zh) 一种应用部署方法、装置、计算机设备及存储介质
CN110231896B (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
TA01 Transfer of patent application right

Effective date of registration: 20240112

Address after: Room 402, 4th Floor, No. 6086 Second Ring South Road, Shizhong District, Jinan City, Shandong Province, 250002

Applicant after: Jiangwei Culture and Technology Group Co.,Ltd.

Address before: 518000 Room 202, block B, aerospace micromotor building, No.7, Langshan No.2 Road, Xili street, Nanshan District, Shenzhen City, Guangdong Province

Applicant before: Shenzhen LIAN intellectual property service center

Effective date of registration: 20240112

Address after: 518000 Room 202, block B, aerospace micromotor building, No.7, Langshan No.2 Road, Xili street, Nanshan District, Shenzhen City, Guangdong Province

Applicant after: Shenzhen LIAN intellectual property service center

Address before: 518000 Room 201, building A, No. 1, Qian Wan Road, Qianhai Shenzhen Hong Kong cooperation zone, Shenzhen, Guangdong (Shenzhen Qianhai business secretary Co., Ltd.)

Applicant before: PING AN PUHUI ENTERPRISE MANAGEMENT Co.,Ltd.

TA01 Transfer of patent application right
GR01 Patent grant
GR01 Patent grant