CN114327738B - 用户界面的刷新方法、装置、电子设备及可读存储介质 - Google Patents
用户界面的刷新方法、装置、电子设备及可读存储介质 Download PDFInfo
- Publication number
- CN114327738B CN114327738B CN202210244141.2A CN202210244141A CN114327738B CN 114327738 B CN114327738 B CN 114327738B CN 202210244141 A CN202210244141 A CN 202210244141A CN 114327738 B CN114327738 B CN 114327738B
- Authority
- CN
- China
- Prior art keywords
- refreshing
- interface
- time
- processor
- current
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 68
- 230000008859 change Effects 0.000 claims description 22
- 238000004590 computer program Methods 0.000 claims description 9
- 238000004806 packaging method and process Methods 0.000 claims description 2
- 230000008569 process Effects 0.000 abstract description 19
- 238000012545 processing Methods 0.000 description 13
- 238000010586 diagram Methods 0.000 description 11
- 230000006870 function Effects 0.000 description 7
- 238000004891 communication Methods 0.000 description 5
- 230000009471 action Effects 0.000 description 3
- 230000000903 blocking effect Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 230000007547 defect Effects 0.000 description 2
- 230000010365 information processing Effects 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
Images
Landscapes
- Read Only Memory (AREA)
Abstract
本发明实施例提供的一种用户界面的刷新方法、装置、电子设备及可读存储介质,方法包括:获取处理器的当前负载、上一次界面刷新的历史时间信息以及当前时间信息;根据处理器的当前负载、上一次界面刷新的历史时间信息以及当前时间信息确定是否进行界面刷新;若是,则获取待刷新数据,并根据所述待刷新数据对用户界面进行刷新。本发明实施例在进行界面刷新的过程中,不仅考虑了设备的硬件条件即处理器的负载,避免在界面刷新过程中由于负载过高导致界面刷新出现卡顿问题,并且本发明实施例并不是一有待刷新数据就进行界面刷新,而是确定需要刷新的时候才进行界面刷新,既可以及时将数据更新到界面,又保证时效性。
Description
技术领域
本发明涉及计算机技术领域,具体而言,涉及一种用户界面的刷新方法、装置、电子设备及可读存储介质。
背景技术
随着互联网技术的发展,互联网的业务不断增加,用户可以使用不同的业务***获得各种各样的服务,例如金融服务、购物服务,大大提升互联网使用体验。
为了及时获得服务执行情况,用户可以通过终端订阅业务***的消息中心,当业务***发生数据状态变化之后,业务***立即通知终端,终端接收到通知之后即可进行界面刷新。
然而,在高频率消息场景下,终端很容易出现消息积压问题,进而阻塞用户操作,使终端处于无响应状态,因此,相关技术提供了一种定时刷新的方式,但这种定时刷新方式没有考虑处理器负载情况,仍然会造成消息的积压进而导致界面卡顿无响应,而且,定时间隔如果设置不当,很容易导致用户界面无法及时更新,损害了数据的及时性。
发明内容
本发明的目的之一在于提供一种用户界面的刷新方法、装置、电子设备及可读存储介质,用以解决上述技术问题。
本发明的实施例可以这样实现:
第一方面,本发明提供一种用户界面的刷新方法,所述方法包括:获取处理器的当前负载、上一次界面刷新的历史时间信息以及当前时间信息;根据处理器的当前负载、上一次界面刷新的历史时间信息以及当前时间信息确定是否进行界面刷新;若是,则获取待刷新数据,并根据所述待刷新数据对用户界面进行刷新。
第二方面,本发明提供一种用户界面的刷新装置,包括:获取模块,用于获取处理器的当前负载、上一次界面刷新的历史时间信息以及当前时间信息;确定模块,用于根据处理器的当前负载、上一次界面刷新的历史时间信息以及当前时间信息确定是否进行界面刷新;刷新模块,用于若是,获取待刷新数据,并根据所述待刷新数据对用户界面进行刷新。
第三方面,本发明提供一种电子设备,包括处理器和存储器,所述存储器存储有能够被所述处理器执行的计算机程序,所述处理器可执行所述计算机程序以实现第一方面所述的方法。
第四方面,本发明提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现第一方面所述的方法。
本发明提供的一种用户界面的刷新方法、装置、电子设备及可读存储介质,首先获取处理器的当前负载、上一次界面刷新的历史时间信息以及当前时间信息;根据处理器的当前负载、上一次界面刷新的历史时间信息以及当前时间信息确定是否进行界面刷新;若是,则获取待刷新数据,并根据所述待刷新数据对用户界面进行刷新。本发明实施例在进行界面刷新的过程中,不仅考虑了设备的硬件条件即处理器的负载,避免在界面刷新过程中由于负载过高导致界面刷新卡顿,并且本发明实施例并不是一有待刷新数据就进行界面刷新,而是确定需要刷新的时候才进行界面刷新,既可以及时将数据更新到界面,又保证时效性。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本发明实施例提供的一种用户界面的刷新方法的应用场景图;
图2为本发明实施例提供的电子设备的结构示意图;
图3为本发明实施例提供的用户界面的刷新方法的示意性流程图;
图4为本发明实施例提供的步骤S302的示意性流程图;
图5为本发明实施例提供的步骤S302-2的示意性流程图;
图6为本发明实施例提供的用户界面的刷新装置的功能模块图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。
因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
在本发明的描述中,需要说明的是,若出现术语“上”、“下”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,或者是该发明产品使用时惯常摆放的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。
此外,若出现术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
需要说明的是,在不冲突的情况下,本发明的实施例中的特征可以相互结合。
如图1所示,图1为本发明实施例提供的一种用户界面的刷新方法的应用场景图,其中包括终端102,网络104和服务端106。
其中,终端102可以但不限于是个人计算机(Personal Computer,简称PC),例如台式机、一体机、笔记本电脑、平板电脑等,终端102中可以安装有与业务有关的应用,服务端106可以但不限于是服务器或者服务器集群。
服务端106可以为终端102提供各种业务,例如,金融服务业务、购物业务等,用户可以通过终端102订阅服务端106的数据监控消息,如果后台数据状态发生变化,服务端106发送消息给终端102。终端102接收到消息后,立即将其封装成为用户界面更新事件,进而对用户界面进行刷新,方便用户时了解业务进度。
例如,以金融业务为例,用户可以通过终端102向服务端106发送一笔订单数据,服务端106在处理该订单数据的过程中,针对每个处理节点,生成数据状态变化消息,例如,当该笔订单数据当前处于柜台处理节点,则服务端106将状态数据发送给终端102,终端102进行界面刷新之后,用户即可在用户界面上直观地看到该笔订单所处节点,方便用户直观掌握订单动向。
为了及时对用户界面进行刷新,终端102的消息循环调度机制会按顺序从消息队列中获取消息,并获取需要展示在用户界面的数据,进而根据对应的界面更新操作进行界面刷新。然而,目前,终端102对界面更新的操作,并未考虑终端102的硬件条件限制,例如终端102每收到一条消息就进行一次界面刷新,未考虑处理器当前负载,如果服务端106频繁给终端102发送数据状态变更的消息,就会导致终端102在短时间内积压大量的消息而无法及时处理,进而阻塞用户操作,使终端处于无响应状态。
因此,相关技术提出了一种用户界面刷新方式,包括如下几个步骤:
S1,设置一个触发器,并将触发器设置一个固定的触发时间间隔,在触发器的触发回调函数中包含用户界面更新操作;
S2,若达到触发时间间隔,则执行触发器的触发回调函数中的用户界面更新操作。
S3,重复S2操作,直到不存在界面更新需求。
经过仔细分析和研究,上述提供的用户界面刷新方式存在如下缺陷:
a.触发时间间隔在定义触发器时就已经确定,无法在运行时修改,灵活性不足。
b.如果触发时间间隔设置值过小,在处理器负载较高的情况下,触发器的回调函数仍然会出现来不及处理处理消息的情况,依然会造成消息的积压进而导致界面卡顿无响应。
c.如果触发时间间隔设置过大,则会导致用户界面无法及时更新,损害了数据的及时性。
d.无法判断是否需要进行用户界面更新,导致每次轮询都会发送用户界面更新消息。
为了解决上述技术缺陷,本发明实施例提供了一种用户界面的刷新方法,可以在高频率消息场景下,实现终端对用户界面更新事件的触发进行自动频率控制,避免消息队列阻塞造成程序无响应。
首先参见图2,图2为本发明实施例提供的电子设备的结构示意图,可以理解的是,该电子设备可以用来执行本发明实施例提供的用户界面的刷新方法,例如,该电子设备可以是图1中的终端102。
如图2所示,电子设备200包括存储器201、处理器202和通信接口203,该存储器201、处理器202和通信接口203相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通讯总线或信号线实现电性连接。
存储器201可用于存储软件程序及模块,如本发明实施例提供排用户界面的刷新装置400对应的程序指令/模块,可以软件或固件(firmware)的形式存储于存储器201中或固化在电子设备200的操作***(operating system,OS)中,处理器202通过执行存储在存储器201内的软件程序及模块,从而执行各种功能应用以及数据处理。该通信接口203可用于与其他节点设备进行信令或数据的通信。
其中,存储器201可以是但不限于,随机存取存储器(Random Access Memory,RAM),只读存储器(Read Only Memory,ROM),可编程只读存储器(Programmable Read-OnlyMemory,PROM),可擦除只读存储器(Erasable Programmable Read-Only Memory,EPROM),电可擦除只读存储器(Electric Erasable Programmable Read-Only Memory,EEPROM)等。
处理器202可以是一种集成电路芯片,具有信号处理能力。该处理器202可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(NetworkProcessor,NP)等;还可以是数字信号处理器(Digital Signal Processing,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
可以理解,图2所示的结构仅为示意,电子设备200还可以包括比图2中所示更多或者更少的组件,或者具有与图2所示不同的配置。图2中所示的各组件可以采用硬件、软件或其组合实现。
下面以上述电子设备200执行本发明实施例提供的为例,介绍本发明实施例提供的文件写入方法,请参见图3,图3为本发明实施例提供的用户界面的刷新方法的示意性流程图,该方法可以包括:
S301,获得处理器的当前负载、上一次界面刷新的历史时间信息以及当前时间信息。
S302,根据处理器的当前负载、上一次界面刷新的历史时间信息以及当前时间信息确定是否进行界面刷新。
S303,若是,则获取待刷新数据,并根据待刷新数据对用户界面进行刷新。
根据本发明实施例提供的用户界面的刷新方法,首先获得处理器的当前负载、上一次界面刷新的历史时间信息以及当前时间信息,然后根据处理器的当前负载、上一次界面刷新的历史时间信息以及当前时间信息确定是否进行界面刷新,在确定需要进行界面刷新的时候才据待刷新数据对用户界面进行刷新,则获取待刷新数据,并根据待刷新数据对用户界面进行刷新,本发明实施例在进行界面刷新的过程中,不仅考虑了设备的硬件条件即处理器的负载,避免在界面刷新过程中由于负载过高导致界面刷新卡顿,并且本发明实施例并不是一有待刷新数据就进行界面刷新,而是确定需要刷新的时候才进行界面刷新,既可以及时将数据更新到界面,又保证时效性。
下面将结合附图和具体实施例对上述步骤S301至步骤S303进行详细介绍。
在步骤S301中,首先获得处理器的当前负载、上一次界面刷新的历史时间信息以及当前时间信息。
在本发明实施例中,处理器的当前负载可以直接由电子设备中获得,例如电子设备可以实时监听处理器的负载情况,或者电子设备从硬件运行数据中读取出来的负载。
可以认为的是,如果当前负载较高,还去进行界面刷新,必然会出现处理器资源占用情况,导致***无法响应,所以本发明实施例结合处理器的当前负载、以及上一次界面刷新的历史时间信息,确定当前进行界面刷新的时机,即可以确定本次刷新和上次刷新之间的时间间隔,从而可以避免由于负载过高导致界面刷新卡顿。
在步骤S302中,根据处理器的当前负载、上一次界面刷新的历史时间信息以及当前时间信息确定是否进行界面刷新。
在本发明实施例中,上一次界面刷新的历史时间信息可以包括但不限于上一次界面刷新的耗时、结束上一次界面刷新的时间戳,这些历史时间信息可以反映处理器界面处理能力的强弱,用来确定界面刷新时机可以避免卡顿。当前时间信息可以包括但不限于当前***时间以及当前接收到消息的时间信息,结合上一次界面刷新的历史时间信息以及当前时间信息来确定当前刷新时机,即可以确定本次刷新和上次刷新之间的时间间隔,既可以及时将数据更新到界面,保证时效性,又可以做消息的批量处理,降低处理器负载。
在可能的实施方式中,为了快速获得历史时间信息。在每次进行界面刷新之后,可以将历史时间信息进行存储,例如,将上一次界面刷新的耗时、结束上一次界面刷新的时间戳分别单独存储在一个存储区中,每次结束界面刷新之后,对存储区中的历史时间信息进行更新,即可在下一次更新时快速获得历史时间信息。
在可能的实施方式中,上述步骤S302的实施方式可以如图4所示,图4为本发明实施例提供的步骤S302的示意性流程图:
S302-1,获得上一次界面刷新的历史时间信息中的历史刷新耗时、历史刷新时间戳,以及当前时间信息中的当前***时间戳、接收到的最后一条数据状态变化消息的时间戳。
S302-2,根据处理器的当前负载以及历史刷新耗时,确定第一阈值。
S302-3,若当前***时间戳与历史刷新时间戳的时间差大于第一阈值,则确定进行界面更新;
S302-4,若当前***时间戳与接收到的最后一条数据状态变化消息的时间戳的时间差大于预设的第二阈值,则确定进行界面刷新。
在本发明实施例中,第一阈值是一个用来确定界面更新时机的阈值,它是根据处理器的当前负载以及历史刷新耗时来确定,可以反映处理器的负载能力,处理器越差,更新过程中的负载能力越差,第一阈值也就越大,处理器越好,更新过程中的负载能力越好,第一阈值也就越小,通过第一阈值动态调节界面更新的时间间隔,充分利用硬件性能,可以避免界面刷新时卡顿。
可以理解的是,若当前***时间戳与历史刷新时间戳的时间差小于或等于第一阈值,则确定进行界面更新,且当前***时间戳与接收到的最后一条数据状态变化消息的时间戳的时间差小于或等于预设的第二阈值,则确定不进行界面刷新。
在一种可能的实施方式中,上述步骤S302-2的实施方式可以如图5所示,图5为本发明实施例提供的步骤S302-2的示意性流程图:
S302-2-1,将处理器的当前负载与预设的多个负载范围进行匹配,并获取匹配成功的负载范围对应的处理器权重;
S302-2-2,将历史刷新耗时与预设的多个刷新耗时范围进行匹配,并获取匹配成功的刷新耗时范围对应的刷新耗时权重;
S302-2-3,根据处理器权重、刷新耗时权重和历史刷新耗时,确定第一阈值。
在本发明实施例中,预设的多个负载范围、多个刷新耗时范围以及处理器权重和刷新耗时权重可以如表1所示。
表1
负载范围 | 0~20% | 20%~40% | 40%~60% | 60%以上 |
处理器权重 | 1 | 1.2 | 1.5 | 2 |
刷新耗时范围 | <100ms | 100~500ms | 500~1000ms | 1000ms以上 |
刷新耗时权重 | 1 | 1.2 | 1.5 | 2 |
结合表1,那么步骤S302-2-3中的第一阈值的确定方式可以形如:第一阈值=处理器权重*刷新耗时权重*上一次界面刷新耗时。
例如,假设处理器的当前负载为54%,上一次界面刷新耗时为134ms,那么将54%与表1中的多个负载范围进行匹配,即看54%位于哪一个负载范围之内,匹配获得54%位于40%~60%之间,那么获得40%~60%对应的处理器权重为1.5,将134ms与表1中的多个刷新耗时范围进行匹配,即看134ms位于哪一个刷新耗时范围之内,匹配获得134ms位于100~500ms之间,那么获得100~500ms对应的刷新耗时权重为1.2,所以第二阈值为1.5*1.2*134=241.2ms,也就是说,若当前***时间戳与接收到的最后一条数据状态变化消息的时间戳的时间差大于241.2ms之后,才开始进行界面刷新,小于或等于241.2ms的过程中不进行界面刷新,在这个过程中可以处理批量消息。
在本发明实施例中,第二阈值可以根据消息特点自定义,可以理解的是,业务***向终端发送的消息数量以及时间都是不确定的,有可能一次发送批量消息,也可能一次只发送单条消息,对于这两种情况,如果都等待相同时长(比如都等待5秒钟)进行界面刷新,效果并不好,影响消息的及时性,那么第二阈值,可以短暂知道短期内没有消息推送过来,就立马更新,若有大批量消息过来,则等到确定界面刷新的时候再更新,可以及时将数据更新到界面,保证时效性,又可以做消息的批量处理。
可以理解的是,本发明实施例通过第一阈值可以动态调整本次刷新和上次刷新之间的时间间隔,避免处理器长时间处于负载较高的情况,影响刷新效率,同时还可以通过第二阈值动态调整不同类型以及不同数量的消息时间的刷新时间间隔,从而在实现批量消息处理的同时,还可以保证及时性。
在步骤S303,若是,则获取待刷新数据,并根据待刷新数据对用户界面进行刷新。
在本发明实施例中,待刷新数据是需要展示在用户界面上的信息,以使用户可以直观掌握业务动向。
可以理解的是,待刷新数据是从数据状态变更消息中提取的,其中,数据状态变更消息是业务***在监测到业务状态发生变化时生成的消息,例如,以金融业务为例,业务***在监测到一笔订单的处理节点发生变化之后,即可生成数据状态变更消息,也就是说,在获得待刷新数据之前,可以先接收数据状态变更消息,进而从数据状态变更消息中,提取待刷新数据,并将待刷新数据进行缓存。
为了快速获得待刷新数据,可以先将全部待刷新数据以堆栈的方式存储在存储区中,可以理解的是,业务***可以一次性向终端推送批量的消息,因此可以获得多条待刷新数据,由于本发明实施例是在确定需要进行界面刷新的时候才进行界面刷新,因此,在进行界面刷新之前,可以将多条待刷新数据进行存储,以方便后续可以快速获得待刷新数据用于界面刷新。
可以理解的是,若是,即表明当前进行界面刷新,造成界面卡顿的风险较小,则可以根据已经唤醒的界面刷新线程,对用户界面进行刷新,以使用户界面上直接展示待刷新数据。
在一种可能的实施方式中,步骤S303可以这样执行:将待刷新数据封装成用户界面刷新消息,根据用户界面刷新消息,对用户界面进行刷新,方便用户及时直观的了解业务动态。
可选地,为了降低无效更新,降低对处理器的资源占用,本发明实施例还给出一种可能的实施方式,即本发明实施例还可以包括如下步骤:
当确定不存在待刷新数据,控制界面更新线程处于休眠状态,并降低处理器的负载值,直到存在待刷新数据,控制界面更新线程运行;或者,
当确定不进行界面刷新,则控制界面更新线程处于休眠状态,并降低处理器的负载值,直到界面更新线程的休眠时长达到预设时长,控制界面更新线程运行。
其中,预设时长可以为5ms,或者根据实际情况自定义,此处不作限定。也就是说,在不存在待刷新数据的时候,或者,在当前不进行界面刷新时候,可以控制界面更新线程休眠,从而实现降低对处理器的资源占用的效果。
可选地,为了快速确定下一次界面更新时用来判断更新时机的第二阈值,本发明实施例还给出一种可能的实施方式,即在步骤S303之后,本发明实施例还可以包括以下步骤:
b1,获得用户界面的当前刷新耗时、以及完成刷新时的当前时间戳;
b2,根据当前刷新耗时和完成刷新时的当前时间戳,更新上一次界面刷新的历史时间信息。
通过上述实施方式可以及时存储当前界面刷新的时间信息,在下一次进行界面更新时,可以快速获得该时间信息进行第二阈值的确定,提高了处理效率。
综合上述实施例可以看出,本发明实施例提供的用户界面的刷新方法获得待刷新数据之后,并非立即进行界面刷新,而是可以根据历史刷新时间信息以及当前时间信息和处理器的负载情况来判定当前是否进行界面刷新,既可以批量处理待刷新数据,又兼顾时效性,避免界面频繁更新导致的卡顿。
为了更加简单理解上述用户界面的刷新方法的实施过程,本发明实施例继续以图1为例进行阐述,在一次界面刷新过程中,上述用户界面的刷新方法可以这样执行:
S1.服务端106发送数据状态变更消息给终端102。
S2.终端102将数据状态变化消息中需要展示在用户界面的待刷新数据缓存在第一存储区,并将接收到最后一条数据状态变化消息的时间戳缓存在第二存储区。
S4.终端102唤醒界面更新刷新线程:确定第一存储区内是否存在待刷新数据;如果不存在则执行S5;如果存在则执行S6。
S5.终端102控制界面更新线程处于休眠状态,直到存在待刷新数据后执行S6。
S6.终端102确定当前***时间戳与历史刷新时间戳的时间差大于第一阈值,或者,确定当前***时间戳与接收到的最后一条数据状态变化消息的时间戳的时间差大于预设的第二阈值;如果不是则执行S7;如果是则执行S8;
S7.终端102控制界面更新线程处于休眠状态,直到界面更新线程的休眠时长达到预设时长,控制界面更新线程运行;
S8.终端102获得第一存储区中的待刷新数据,将待刷新数据封装成用户界面更新消息。
S9.终端102发送用户界面更新消息,触发用户界面刷新,获得用户界面的当前刷新耗时、以及完成刷新时的当前时间戳,并将当前刷新耗时、完成刷新时的当前时间戳存储到第三存储区。
S10.终端102进入下一轮执行周期。
上述整个过程不仅可以知用户界面是否需要更新,避免发送无效的用户界面更新消息,在高频消息的场景下,能够实现批量消息处理,提升消息处理效率,避免对处理器资源产生争用,降低处理器的瞬时负载。
为了实现上述实施例中的各个步骤以实现相应的技术效果,本发明实施例提供的用户界面的刷新方法可以在硬件设备或者以软件模块的形式实现中执行,当用户界面的刷新方法以软件模块的形式实现时,本发明实施例还提供一种用户界面的刷新装置,请参见图6,图6为本发明实施例提供的用户界面的刷新装置的功能模块图,该用户界面的刷新装置400可以包括:
获取模块410,用于获取处理器的当前负载、上一次界面刷新的历史时间信息以及当前时间信息。
确定模块420,用于根据处理器的当前负载、上一次界面刷新的历史时间信息以及当前时间信息确定是否进行界面刷新;
刷新模块430,用于若是,则获取待刷新数据,并根据待刷新数据对用户界面进行刷新。
在可选的实施方式中,确定模块420,具体用于获得上一次界面刷新的历史时间信息中的历史刷新耗时、历史刷新时间戳,以及当前时间信息中的当前***时间戳、接收到的最后一条数据状态变化消息的时间戳;根据处理器的当前负载以及历史刷新耗时,确定第一阈值;若当前***时间戳与历史刷新时间戳的时间差大于第一阈值,则确定进行界面更新;或者,若当前***时间戳与接收到的最后一条数据状态变化消息的时间戳的时间差大于预设的第二阈值,则确定进行界面刷新。
在可选的实施方式中,确定模块420,还具体用于将处理器的当前负载与预设的多个负载范围进行匹配,并获取匹配成功的负载范围对应的处理器权重;将历史刷新耗时与预设的多个刷新耗时范围进行匹配,并获取匹配成功的刷新耗时范围对应的刷新耗时权重;根据处理器权重、刷新耗时权重和历史刷新耗时,确定第一阈值。
在可选的实施方式中,还可以包括存储模块,用于获得用户界面的当前刷新耗时、以及完成刷新时的当前时间戳;根据当前刷新耗时和完成刷新时的当前时间戳,更新上一次界面刷新的历史时间信息。
在可选的实施方式中,还可以包括控制模块,用于当确定不存在待刷新数据,控制界面更新线程处于休眠状态,直到存在待刷新数据,控制界面更新线程运行;或者,当确定不进行界面刷新,则控制界面更新线程处于休眠状态,直到界面更新线程的休眠时长达到预设时长,控制界面更新线程运行。
在可选的实施方式中,刷新模块430,具体用于将待刷新数据封装成用户界面刷新消息;根据用户界面刷新消息,对用户界面进行刷新。
在可选的实施方式中,还可以包括提取模块,用于接收数据状态变更消息;从数据状态变更消息中,提取待刷新数据,并将待刷新数据进行缓存。
本发明实施例还提供一种可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如前述实施方式中任一项的用户界面的刷新方法。该计算机可读存储介质可以是,但不限于,U盘、移动硬盘、ROM、RAM、PROM、EPROM、EEPROM、磁碟或者光盘等各种可以存储程序代码的介质。
应该理解到,在本发明所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本发明的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的***来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本发明各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
Claims (10)
1.一种用户界面的刷新方法,其特征在于,所述方法包括:
获取处理器的当前负载、上一次界面刷新的历史时间信息以及当前时间信息;
根据处理器的当前负载、上一次界面刷新的历史时间信息以及当前时间信息、第一阈值和第二阈值确定是否进行界面刷新;所述第一阈值是根据处理器的当前负载和历史刷新耗时确定的;所述第一阈值用于调整本次刷新和上次刷新之间的时间间隔;所述第二阈值用于调整不同类型以及不同数量的消息时间的刷新时间间隔;
若是,则获取待刷新数据,并根据所述待刷新数据对用户界面进行刷新。
2.根据权利要求1所述的方法,其特征在于,根据处理器的当前负载、上一次界面刷新的历史时间信息以及当前时间信息、第一阈值和第二阈值确定是否进行界面刷新,包括:
获得上一次界面刷新的历史时间信息中的历史刷新耗时、历史刷新时间戳,以及所述当前时间信息中的当前***时间戳、接收到的最后一条数据状态变化消息的时间戳;
根据所述处理器的当前负载以及所述历史刷新耗时,确定所述第一阈值;
若所述当前***时间戳与所述历史刷新时间戳的时间差大于所述第一阈值,则确定进行界面更新;或者,
若所述当前***时间戳与接收到的最后一条数据状态变化消息的时间戳的时间差大于所述第二阈值,则确定进行界面刷新。
3.根据权利要求2所述的方法,其特征在于,根据所述处理器的当前负载以及所述历史刷新耗时,确定所述第一阈值,所述方法还包括:
将所述处理器的当前负载与预设的多个负载范围进行匹配,并获取匹配成功的负载范围对应的处理器权重;
将所述历史刷新耗时与预设的多个刷新耗时范围进行匹配,并获取匹配成功的刷新耗时范围对应的刷新耗时权重;
根据所述处理器权重、所述刷新耗时权重和所述历史刷新耗时,确定所述第一阈值。
4.根据权利要求1所述的方法,其特征在于,在若是,则获取待刷新数据,并根据所述待刷新数据对用户界面进行刷新之后,所述方法还包括:
获得所述用户界面的当前刷新耗时、以及完成刷新时的当前时间戳;
根据所述当前刷新耗时和所述完成刷新时的当前时间戳,更新所述上一次界面刷新的历史时间信息。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
当确定不存在所述待刷新数据,控制界面更新线程处于休眠状态,直到存在所述待刷新数据,控制所述界面更新线程运行;或者,
当确定不进行界面刷新,则控制所述界面更新线程处于休眠状态,直到所述界面更新线程的休眠时长达到预设时长,控制所述界面更新线程运行。
6.根据权利要求1所述的方法,其特征在于,若是,则获取待刷新数据,并根据所述待刷新数据对用户界面进行刷新,包括:
将所述待刷新数据封装成用户界面刷新消息;
根据所述用户界面刷新消息,对所述用户界面进行刷新。
7.根据权利要求1所述的方法,其特征在于,在获取处理器的当前负载、上一次界面刷新的历史时间信息以及当前时间信息之前,所述方法还包括:
接收数据状态变更消息;
从所述数据状态变更消息中,提取所述待刷新数据,并将所述待刷新数据进行缓存。
8.一种用户界面的刷新装置,其特征在于,包括:
获取模块,用于获取处理器的当前负载、上一次界面刷新的历史时间信息以及当前时间信息;确定模块,用于根据处理器的当前负载、上一次界面刷新的历史时间信息以及当前时间信息、第一阈值和第二阈值确定是否进行界面刷新;所述第一阈值是根据处理器的当前负载和历史刷新耗时确定的;所述第一阈值用于调整本次刷新和上次刷新之间的时间间隔;所述第二阈值用于调整不同类型以及不同数量的消息时间的刷新时间间隔;
刷新模块,用于若是,获取待刷新数据,并根据所述待刷新数据对用户界面进行刷新。
9.一种电子设备,其特征在于,包括处理器和存储器,所述存储器存储有能够被所述处理器执行的计算机程序,所述处理器可执行所述计算机程序以实现权利要求1-7任一项所述的方法。
10.一种可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-7任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210244141.2A CN114327738B (zh) | 2022-03-14 | 2022-03-14 | 用户界面的刷新方法、装置、电子设备及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210244141.2A CN114327738B (zh) | 2022-03-14 | 2022-03-14 | 用户界面的刷新方法、装置、电子设备及可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114327738A CN114327738A (zh) | 2022-04-12 |
CN114327738B true CN114327738B (zh) | 2022-06-14 |
Family
ID=81034012
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210244141.2A Active CN114327738B (zh) | 2022-03-14 | 2022-03-14 | 用户界面的刷新方法、装置、电子设备及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114327738B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115525667A (zh) * | 2022-10-12 | 2022-12-27 | 赫中企云(北京)信息服务有限公司 | 一种程序运行时规则热更新方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103825922A (zh) * | 2012-11-19 | 2014-05-28 | 华为技术有限公司 | 一种数据更新方法及web服务器 |
WO2014201882A1 (zh) * | 2013-06-18 | 2014-12-24 | 苏州阔地网络科技有限公司 | 一种网页访问控制方法及*** |
CN106201549A (zh) * | 2016-07-22 | 2016-12-07 | 北京金山安全软件有限公司 | 应用程序中信息的控制方法、装置以及终端设备 |
CN108170500A (zh) * | 2017-11-28 | 2018-06-15 | 深圳市金立通信设备有限公司 | 下载进度刷新方法、终端设备及计算机可读存储介质 |
CN113190777A (zh) * | 2021-03-31 | 2021-07-30 | 北京达佳互联信息技术有限公司 | 数据更新方法、装置、电子设备、存储介质及产品 |
CN113805983A (zh) * | 2020-09-08 | 2021-12-17 | 荣耀终端有限公司 | 调整窗口刷新率的方法及电子设备 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11093518B1 (en) * | 2017-09-23 | 2021-08-17 | Splunk Inc. | Information technology networked entity monitoring with dynamic metric and threshold selection |
CN113132526B (zh) * | 2019-12-31 | 2022-07-22 | 华为技术有限公司 | 一种页面绘制方法及相关装置 |
-
2022
- 2022-03-14 CN CN202210244141.2A patent/CN114327738B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103825922A (zh) * | 2012-11-19 | 2014-05-28 | 华为技术有限公司 | 一种数据更新方法及web服务器 |
WO2014201882A1 (zh) * | 2013-06-18 | 2014-12-24 | 苏州阔地网络科技有限公司 | 一种网页访问控制方法及*** |
CN106201549A (zh) * | 2016-07-22 | 2016-12-07 | 北京金山安全软件有限公司 | 应用程序中信息的控制方法、装置以及终端设备 |
CN108170500A (zh) * | 2017-11-28 | 2018-06-15 | 深圳市金立通信设备有限公司 | 下载进度刷新方法、终端设备及计算机可读存储介质 |
CN113805983A (zh) * | 2020-09-08 | 2021-12-17 | 荣耀终端有限公司 | 调整窗口刷新率的方法及电子设备 |
CN113190777A (zh) * | 2021-03-31 | 2021-07-30 | 北京达佳互联信息技术有限公司 | 数据更新方法、装置、电子设备、存储介质及产品 |
Non-Patent Citations (2)
Title |
---|
Optical Flow Switching with Time Deadlines for High-Performance Applications;Vincent W. S. Chan;《IEEE》;20091231;全文 * |
调度图形混合数据刷新模式研究;张志学;《电工技术》;20170731;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN114327738A (zh) | 2022-04-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107111632B (zh) | 用于调节移动通信设备处的通信的方法和*** | |
CN105208125B (zh) | 消息传输方法、装置及*** | |
CN111163159B (zh) | 消息订阅方法、装置、服务器及计算机可读存储介质 | |
CN109800204B (zh) | 数据分配方法及相关产品 | |
CN109117280B (zh) | 电子装置及其限制进程间通信的方法、存储介质 | |
US20170329655A1 (en) | Method and apparatus of unloading out of memory processing flow to user space | |
CN114327738B (zh) | 用户界面的刷新方法、装置、电子设备及可读存储介质 | |
US20220197690A1 (en) | Application control method and apparatus, terminal, and computer-readable storage medium | |
CN112073293A (zh) | 一种即时消息的提醒方法及相关装置 | |
CN112463254A (zh) | 网页加载时长的获取方法、装置、设备及存储介质 | |
CN112653736B (zh) | 一种并行回源方法、装置及电子设备 | |
CN111177513A (zh) | 异常访问地址的确定方法、装置、电子设备及存储介质 | |
CN112838980B (zh) | 一种消息处理方法、***、装置、电子设备及存储介质 | |
CN106550021B (zh) | 推送消息的推送方法及装置 | |
CN114510299A (zh) | 处理人工智能业务的方法、装置以及存储介质 | |
CN109032814B (zh) | 一种移动终端及其进程间通信的监控方法、存储介质 | |
CN111857995A (zh) | 进程调度方法和装置、存储介质及电子装置 | |
CN111191134B (zh) | 一种智能推送方法及终端 | |
CN111427878B (zh) | 数据监控告警方法、装置、服务器和存储介质 | |
EP3910911B1 (en) | Method for service decision distribution among multiple terminal devices and system | |
CN113225698A (zh) | 状态信息通知方法、相关设备、***和介质 | |
CN111988403A (zh) | 电子设备的请求处理方法、***、存储介质和电子设备 | |
CN111625742A (zh) | 一种大屏***的网络请求调度方法、装置、***及介质 | |
CN116233236B (zh) | 基于消息队列的信息推送方法、装置、设备及介质 | |
CN111698132B (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 |