工作空间自适应渲染方法、装置、设备及可读存储介质转让专利

申请号 : CN202310400354.4

文献号 : CN116149866B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 温桂龙

申请人 : 深圳市明源云科技有限公司

摘要 :

本申请公开了一种工作空间自适应渲染方法、装置、设备及可读存储介质,该方法包括:获取当前已渲染工作空间的内存占比,其中,内存占比为用于渲染工作空间的渲染数据占用系统内存的比例;若内存占比大于预设占比阈值,则基于各已渲染工作空间的保活度销毁系统内存中的低频渲染数据,其中,保活度基于对应工作空间的使用频率以及对应工作空间与其他工作空间之间的关联度确定。本即保证用户在切换工作空间时的流程性的同时也确保了平台网站的整体性能,从而全面提高用户使用体验。

权利要求 :

1.一种工作空间自适应渲染方法,其特征在于,所述工作空间自适应渲染方法包括以下步骤:获取当前已渲染工作空间的内存占比,其中,所述内存占比为用于渲染工作空间的渲染数据占用系统内存的比例;

若所述内存占比大于预设占比阈值,则基于各所述已渲染工作空间的保活度销毁所述系统内存中的低频渲染数据,其中,所述保活度基于对应工作空间的使用频率以及所述对应工作空间与其他工作空间之间的关联度确定。

2.如权利要求1所述的工作空间自适应渲染方法,其特征在于,在所述基于各所述已渲染工作空间的保活度销毁所述系统内存中的低频渲染数据的步骤之前,所述方法包括:在活跃工作空间发生变更后,基于所述活跃工作空间对各所述已渲染工作空间的保活度进行更新,其中,所述活跃工作空间为当前进行展示的工作空间。

3.如权利要求2所述的工作空间自适应渲染方法,其特征在于,所述基于所述活跃工作空间对各所述已渲染工作空间的保活度进行更新的步骤包括:基于所述活跃工作空间对所述活跃工作空间发生变更前的历史渲染队列进行去重处理得到基础工作空间队列;

基于所述活跃工作空间、所述基础工作空间队列、关联工作空间列表以及预设高频工作空间列表生成新的渲染队列,其中,所述关联工作空间列表记录的工作空间与所述活跃工作空间存在关联的已渲染工作空间,所述已渲染工作空间的保活度与所述已渲染工作空间在所述渲染队列中的位置对应。

4.如权利要求3所述的工作空间自适应渲染方法,其特征在于,所述基于所述活跃工作空间、所述基础工作空间队列、关联工作空间列表以及预设高频工作空间列表生成新的渲染队列的步骤包括:基于所述基础工作空间队列中与关联工作空间列表中相同的已渲染工作空间生成第一级工作空间队列;

基于二次去重基础工作空间队列中与预设高频工作列表中相同的已渲染工作空间生成第二级工作空间队列,其中,所述二次去重基础工作空间队列为将所述基础工作空间队列中与所述关联工作空间列表中相同的工作空间去除后生成;

基于所述基础工作空间队列中不存在于所述第一级工作空间队列且不存在于所述第二级工作空间队列的已渲染工作空间生成第三级工作空间队列;

其中,所述第一级工作空间队列、所述第二级工作空间队列和所述第三级工作空间队列中已渲染工作空间的排列位置基于所述基础工作空间队列确定;

基于所述活跃工作空间、所述第一级工作空间队列、所述第二级工作空间队列和所述第三级工作空间队列生成所述新的渲染队列。

5.如权利要求4所述的工作空间自适应渲染方法,其特征在于,所述基于所述活跃工作空间、所述第一级工作空间队列、所述第二级工作空间队列和所述第三级工作空间队列生成所述新的渲染队列的步骤包括:将所述活跃工作空间、所述第一级工作空间队列、所述第二级工作空间队列和所述第三级工作空间队列依次组合得到所述新的渲染队列,所述活跃工作空间处于所述新的渲染队列中的首位且具有最高保活度。

6.如权利要求5所述的工作空间自适应渲染方法,其特征在于,所述基于各所述已渲染工作空间的保活度销毁所述系统内存中的低频渲染数据的步骤包括:基于保活度小于预设保活度的已渲染工作空间生成低频渲染数据,并将述系统内存中的所述低频渲染数据销毁。

7.如权利要求6所述的工作空间自适应渲染方法,其特征在于,所述获取当前已渲染工作空间的内存占比时包括第一获取频率和第二获取频率,所述第一获取频率大于所述第二获取频率,所述预设占比阈值包括第一占比阈值和第二占比阈值,所述第一占比阈值小于所述第二占比阈值,所述基于保活度小于预设保活度的已渲染工作空间生成低频渲染数据,并将述系统内存中的所述低频渲染数据销毁的步骤包括:若以所述第一获取频率获取的内存占比大于所述第一占比阈值,则将渲染队列中保活度小于所述预设保活度的已渲染工作空间转移至待销毁渲染列表,其中,所述待销毁渲染列表中记录的已渲染工作空间在所述系统内存中对应的渲染数据为所述低频渲染数据;

若以所述第二获取频率获取的内存占比大于所述第二占比阈值,则将系统内存中的所述低频渲染数据销毁,并清空所述待销毁渲染列表。

8.一种工作空间自适应渲染装置,其特征在于,所述工作空间自适应渲染装置包括:

获取模块,获取当前已渲染工作空间的内存占比,其中,所述内存占比为用于渲染工作空间的渲染数据占用系统内存的比例;

销毁模块,若所述内存占比大于预设占比阈值,则基于各所述已渲染工作空间的保活度销毁所述系统内存中的低频渲染数据,其中,所述保活度基于对应工作空间的使用频率以及所述对应工作空间与其他工作空间之间的关联度确定。

9.一种工作空间自适应渲染设备,其特征在于,所述工作空间自适应渲染设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的工作空间自适应渲染程序,所述工作空间自适应渲染程序被所述处理器执行时实现如权利要求1至7中任一项所述的工作空间自适应渲染方法的步骤。

10.一种可读存储介质,其特征在于,所述可读存储介质上存储有工作空间自适应渲染程序,所述工作空间自适应渲染程序被处理器执行时实现如权利要求1至7中任一项所述的工作空间自适应渲染方法的步骤。

说明书 :

工作空间自适应渲染方法、装置、设备及可读存储介质

技术领域

[0001] 本申请涉及计算机技术领域,尤其涉及一种工作空间自适应渲染方法、装置、设备及可读存储介质。

背景技术

[0002] 工作空间为用户进行编辑操作或设计内容的子页面或操作台,它被广泛用于管理平台、设计平台、在线代码编写平台等各种工具类网站中。在使用时,用户通常会打开多个工作空间进行操作,且可能需要经常切换不同的工作空间,为了保证用户的在切换空间时使用体验,通常会将所有的工作空间都加载到内存中,即将对工作空间进行渲染的渲染数据储存在系统内存中,用户切换时直接展示内存中已经加载的页面即可。但由于每个工作空间的页面内容、数据、状态均不尽相同,随着打开的工作空间数量的上升,内存占用也会急剧上升,影响到平台网站的整体性能,甚至造成页面卡死,从而使得用户的体验下降。
[0003] 上述内容仅用于辅助理解本申请的技术方案,并不代表承认上述内容是现有技术。

发明内容

[0004] 本申请的主要目的在于提供一种工作空间自适应渲染方法、装置、设备及可读存储介质,旨在解决目前各在线平台随着打开的工作空间数量增多会影响到平台网站的整体性能的技术问题。
[0005] 为实现上述目的,本申请提供一种工作空间自适应渲染方法,所述工作空间自适应渲染方法包括以下步骤:
[0006] 获取当前已渲染工作空间的内存占比,其中,所述内存占比为用于渲染工作空间的渲染数据占用系统内存的比例;
[0007] 若所述内存占比大于预设占比阈值,则基于各所述已渲染工作空间的保活度销毁所述系统内存中的低频渲染数据,其中,所述保活度基于对应工作空间的使用频率以及所述对应工作空间与其他工作空间之间的关联度确定。
[0008] 进一步的,在所述基于各所述已渲染工作空间的保活度销毁所述系统内存中的低频渲染数据的步骤之前,所述方法包括:
[0009] 在活跃工作空间发生变更后,基于所述活跃工作空间对各所述已渲染工作空间的保活度进行更新,其中,所述活跃工作空间为当前进行展示的工作空间。
[0010] 进一步的,所述基于所述活跃工作空间对各所述已渲染工作空间的保活度进行更新的步骤包括:
[0011] 基于所述活跃工作空间对所述活跃工作空间发生变更前的历史渲染队列进行去重处理得到基础工作空间队列;
[0012] 基于所述活跃工作空间、所述基础工作空间队列、关联工作空间列表以及预设高频工作空间列表生成新的渲染队列,其中,所述关联工作空间列表记录的工作空间与所述活跃工作空间存在关联的已渲染工作空间,所述已渲染工作空间的保活度与所述已渲染工作空间在所述渲染队列中的位置对应。
[0013] 进一步的,所述基于所述活跃工作空间、所述基础工作空间队列、关联工作空间列表以及预设高频工作空间列表生成新的渲染队列的步骤包括:
[0014] 基于所述基础工作空间队列中与关联工作空间列表中相同的已渲染工作空间生成第一级工作空间队列;
[0015] 基于二次去重基础工作空间队列中与预设高频工作列表中相同的已渲染工作空间生成第二级工作空间队列,其中,所述二次去重基础工作空间队列为将所述基础工作空间队列中与所述关联工作空间列表中相同的工作空间去除后生成;
[0016] 基于所述基础工作空间队列中不存在于所述第一级工作空间队列且不存在于所述第二级工作空间队列的已渲染工作空间生成第三级工作空间队列;
[0017] 其中,所述第一级工作空间队列、所述第二级工作空间队列和所述第三级工作空间队列中已渲染工作空间的排列位置基于所述基础工作空间队列确定;
[0018] 基于所述活跃工作空间、所述第一级工作空间队列、所述第二级工作空间队列和所述第三级工作空间队列生成所述新的渲染队列。
[0019] 进一步的,所述基于所述活跃工作空间、所述第一级工作空间队列、所述第二级工作空间队列和所述第三级工作空间队列生成所述新的渲染队列的步骤包括:
[0020] 将所述活跃工作空间、所述第一级工作空间队列、所述第二级工作空间队列和所述第三级工作空间队列依次组合得到所述新的渲染队列,所述活跃工作空间处于所述新的渲染队列中的首位且具有最高保活度。
[0021] 进一步的,所述基于各所述已渲染工作空间的保活度销毁所述系统内存中的低频渲染数据的步骤包括:
[0022] 基于保活度小于预设保活度的已渲染工作空间生成低频渲染数据,并将述系统内存中的所述低频渲染数据销毁。
[0023] 进一步的,所述获取当前已渲染工作空间的内存占比时包括第一获取频率和第二获取频率,所述第一获取频率大于所述第二获取频率,所述预设占比阈值包括第一占比阈值和第二占比阈值,所述第一占比阈值小于所述第二占比阈值,所述基于保活度小于预设保活度的已渲染工作空间生成低频渲染数据,并将述系统内存中的所述低频渲染数据销毁的步骤包括:
[0024] 若以所述第一获取频率获取的内存占比大于所述第一占比阈值,则将渲染队列中保活度小于所述预设保活度的已渲染工作空间转移至待销毁渲染列表,其中,所述待销毁渲染列表中记录的已渲染工作空间在所述系统内存中对应的渲染数据为所述低频渲染数据;
[0025] 若以所述第二获取频率获取的内存占比大于所述第二占比阈值,则将系统内存中的所述低频渲染数据销毁,并清空所述待销毁渲染列表。
[0026] 此外,为实现上述目的,本申请还提供一种工作空间自适应渲染装置,所述工作空间自适应渲染装置包括:
[0027] 获取模块,获取当前已渲染工作空间的内存占比,其中,所述内存占比为用于渲染工作空间的渲染数据占用系统内存的比例;
[0028] 销毁模块,若所述内存占比大于预设占比阈值,则基于各所述已渲染工作空间的保活度销毁所述系统内存中的低频渲染数据,其中,所述保活度基于对应工作空间的使用频率以及所述对应工作空间与其他工作空间之间的关联度确定。
[0029] 此外,为实现上述目的,本申请还提供一种工作空间自适应渲染设备,所述工作空间自适应渲染设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的工作空间自适应渲染程序,所述工作空间自适应渲染程序被所述处理器执行时实现上述的工作空间自适应渲染方法的步骤。
[0030] 此外,为实现上述目的,本申请还提供一种可读存储介质,所述可读存储介质上存储有工作空间自适应渲染程序,所述工作空间自适应渲染程序被处理器执行时实现如上述的工作空间自适应渲染方法的步骤。
[0031] 本申请实施例提出的一种工作空间自适应渲染方法、装置、设备及可读存储介质。将获取当前已渲染工作空间的内存占比,其中,所述内存占比为用于渲染工作空间的渲染数据占用系统内存的比例;若所述内存占比大于预设占比阈值,则基于各所述已渲染工作空间的保活度销毁所述系统内存中的低频渲染数据,其中,所述保活度基于对应工作空间的使用频率以及所述对应工作空间与其他工作空间之间的关联度确定。即本申请,将基于工作空间的使用频率及该工作空间与他工作空间之间的关联度确定该工作空间的保活度。
当前已渲染工作空间的内存占比大于预设占比阈值时,再将基于保活度对系统内存中低频渲染数据进行销毁,从而保留用户可能会频繁切换进行展示的工作空间在系统内存中的渲染数据,即保证用户在切换工作空间时的流程性的同时也确保了网站的整体性能,从而全面提高用户使用体验。

附图说明

[0032] 图1是本申请实施例方案涉及的硬件运行环境的设备结构示意图;
[0033] 图2为本申请工作空间自适应渲染方法的第一实施例的流程示意图;
[0034] 图3为本申请工作空间自适应渲染方法的第二实施例的流程示意图;
[0035] 图4为本申请工作空间自适应渲染方法的第三实施例的流程示意图;
[0036] 图5为本申请工作空间自适应渲染方法的整体框架示意图;
[0037] 图6为本申请工作空间自适应渲染方法中工作空间自适应渲染装置示意图。
[0038] 本申请目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。

具体实施方式

[0039] 应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
[0040] 如图1所示,图1是本申请实施例方案涉及的硬件运行环境的设备结构示意图。
[0041] 本申请实施例设备可以是服务器,也可以是智能手机、PC、平板电脑、便携计算机等电子终端设备。
[0042] 如图1所示,该设备可以包括:处理器1001,例如CPU,网络接口1004,用户接口1003,存储器1005,通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。
用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选用户接口
1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如WI‑FI接口)。存储器1005可以是高速RAM存储器,也可以是稳定的存储器(non‑volatile memory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器
1001的存储装置。
[0043] 可选地,设备还可以包括摄像头、RF(Radio Frequency,射频)电路,传感器、音频电路、WiFi模块等等。其中,传感器比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示屏的亮度,接近传感器可在移动终端移动到耳边时,关闭显示屏和/或背光。作为运动传感器的一种,重力加速度传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别移动终端姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;当然,移动终端还可配置陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。
[0044] 本领域技术人员可以理解,图1中示出的设备结构并不构成对终端的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
[0045] 如图1所示,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及工作空间自适应渲染程序。
[0046] 在图1所示的设备中,网络接口1004主要用于连接后台服务器,与后台服务器进行数据通信;用户接口1003主要用于连接客户端(用户端),与客户端进行数据通信;而处理器1001可以用于调用存储器1005中存储的工作空间自适应渲染程序,并执行以下操作:
[0047] 获取当前已渲染工作空间的内存占比,其中,所述内存占比为用于渲染工作空间的渲染数据占用系统内存的比例;
[0048] 若所述内存占比大于预设占比阈值,则基于各所述已渲染工作空间的保活度销毁所述系统内存中的低频渲染数据,其中,所述保活度基于对应工作空间的使用频率以及所述对应工作空间与其他工作空间之间的关联度确定。
[0049] 进一步地,处理器1001可以调用存储器1005中存储的工作空间自适应渲染程序,还执行以下操作:
[0050] 在所述基于各所述已渲染工作空间的保活度销毁所述系统内存中的低频渲染数据的步骤之前,所述方法包括:
[0051] 在活跃工作空间发生变更后,基于所述活跃工作空间对各所述已渲染工作空间的保活度进行更新,其中,所述活跃工作空间为当前进行展示的工作空间。
[0052] 进一步地,处理器1001可以调用存储器1005中存储的工作空间自适应渲染程序,还执行以下操作:
[0053] 所述基于所述活跃工作空间对各所述已渲染工作空间的保活度进行更新的步骤包括:
[0054] 基于所述活跃工作空间对所述活跃工作空间发生变更前的历史渲染队列进行去重处理得到基础工作空间队列;
[0055] 基于所述活跃工作空间、所述基础工作空间队列、关联工作空间列表以及预设高频工作空间列表生成新的渲染队列,其中,所述关联工作空间列表记录的工作空间与所述活跃工作空间存在关联的已渲染工作空间,所述已渲染工作空间的保活度与所述已渲染工作空间在所述渲染队列中的位置对应。进一步地,处理器1001可以调用存储器1005中存储的工作空间自适应渲染程序,还执行以下操作:
[0056] 述基于所述活跃工作空间、所述基础工作空间队列、关联工作空间列表以及预设高频工作空间列表生成新的渲染队列的步骤包括:
[0057] 基于所述基础工作空间队列中与关联工作空间列表中相同的已渲染工作空间生成第一级工作空间队列;
[0058] 基于二次去重基础工作空间队列中与预设高频工作列表中相同的已渲染工作空间生成第二级工作空间队列,其中,所述二次去重基础工作空间队列为将所述基础工作空间队列中与所述关联工作空间列表中相同的工作空间去除后生成;
[0059] 基于所述基础工作空间队列中不存在于所述第一级工作空间队列且不存在于所述第二级工作空间队列的已渲染工作空间生成第三级工作空间队列;
[0060] 其中,所述第一级工作空间队列、所述第二级工作空间队列和所述第三级工作空间队列中已渲染工作空间的排列位置基于所述基础工作空间队列确定;
[0061] 基于所述活跃工作空间、所述第一级工作空间队列、所述第二级工作空间队列和所述第三级工作空间队列生成所述新的渲染队列。
[0062] 进一步地,处理器1001可以调用存储器1005中存储的工作空间自适应渲染程序,还执行以下操作:
[0063] 所述基于所述活跃工作空间、所述第一级工作空间队列、所述第二级工作空间队列和所述第三级工作空间队列生成所述新的渲染队列的步骤包括:
[0064] 将所述活跃工作空间、所述第一级工作空间队列、所述第二级工作空间队列和所述第三级工作空间队列依次组合得到所述新的渲染队列,所述活跃工作空间处于所述新的渲染队列中的首位且具有最高保活度。
[0065] 进一步地,处理器1001可以调用存储器1005中存储的工作空间自适应渲染程序,还执行以下操作:
[0066] 所述基于各所述已渲染工作空间的保活度销毁所述系统内存中的低频渲染数据的步骤包括:
[0067] 基于保活度小于预设保活度的已渲染工作空间生成低频渲染数据,并将述系统内存中的所述低频渲染数据销毁。
[0068] 进一步地,处理器1001可以调用存储器1005中存储的工作空间自适应渲染程序,还执行以下操作:
[0069] 所述获取当前已渲染工作空间的内存占比时包括第一获取频率和第二获取频率,所述第一获取频率大于所述第二获取频率,所述预设占比阈值包括第一占比阈值和第二占比阈值,所述第一占比阈值小于所述第二占比阈值,所述基于保活度小于预设保活度的已渲染工作空间生成低频渲染数据,并将述系统内存中的所述低频渲染数据销毁的步骤包括:
[0070] 若以所述第一获取频率获取的内存占比大于所述第一占比阈值,则将渲染队列中保活度小于所述预设保活度的已渲染工作空间转移至待销毁渲染列表,其中,所述待销毁渲染列表中记录的已渲染工作空间在所述系统内存中对应的渲染数据为所述低频渲染数据;
[0071] 若以所述第二获取频率获取的内存占比大于所述第二占比阈值,则将系统内存中的所述低频渲染数据销毁,并清空所述待销毁渲染列表。
[0072] 参照图2,本申请工作空间自适应渲染方法的第一实施例,所述工作空间自适应渲染方法包括:
[0073] 步骤S10,获取当前已渲染工作空间的内存占比,其中,所述内存占比为用于渲染工作空间的渲染数据占用系统内存的比例;
[0074] 需要说明的是,在本实施例中,上述已渲染工作空间是指已经经过渲染且产生的渲染数据被存储在系统内存中的工作空间。当用户新建一个工作空间进行编辑或者打开已经保存过的工作空间时,用于对该工作空间进行渲染的渲染数据将会被存储到系统内存中,以便于提高用户再次切换至该工作空间进行展示时的速度。因此,随着用户打开工作空间的数量增多,系统内存中存储的渲染数据也会增多,若渲染数据占据过多的系统内存,则会影响到网站整体性能。
[0075] 示例性的,为避免渲染数据占据过多的系统内存,在本实施例中,将对前已渲染工作空间的内存占比进行监测,通过系统的API(Application Programming Interface,应用程序编程接口)获取用于渲染工作空间的渲染数据占用系统内存的比例即内存占比。
[0076] 步骤S20,若所述内存占比大于预设占比阈值,则基于各所述已渲染工作空间的保活度销毁所述系统内存中的低频渲染数据,其中,所述保活度基于对应工作空间的使用频率以及所述对应工作空间与其他工作空间之间的关联度确定。
[0077] 在一可行实施方式中,所述基于各所述已渲染工作空间的保活度销毁所述系统内存中的低频渲染数据的步骤包括:
[0078] 步骤S210,基于保活度小于预设保活度的已渲染工作空间生成低频渲染数据,并将述系统内存中的所述低频渲染数据销毁。
[0079] 示例性的,当内存占比大于预设占比阈值时,则表示系统内存存储的渲染数据较多,有较大风险会影响网站的整体性能。具体的预设占比阈值可由技术人员根据实际对网站整体性能的要求进行设置。再根据保活度销毁所述系统内存中的低频渲染数据,如将保活度低于预设保活度的已渲染工作空间在系统内存中对应的渲染数据作为低频渲染数据,低频渲染数据也可认为是切换频率较低的工作空间的渲染数据,并将低频渲染数据销毁。其中,已渲染工作空间的保活度是指该已渲染工作空间保持其可灵活展示的必要程度,即对于用户而言是否会高频次的切换至该工作空间进行展示。保活度可以基于该工作空间的使用频率以及该工作空间与其他工作空间之间的关联度进行确定。对于关联度可判断该工作空间是否与当前进行展示的工作空间存在关联,或者在各已渲染工作空间中与该工作空间存在关联的工作空间的数量。其中,是否关联是指,若工作空间A中存在按钮可直接跳转工作空间B,则B为A的关联空间,或者工作空间A中存在超链接可直接跳转工作空间B,则B为A的关联空,即工作空间A和工作空间B之间存在关联性。
[0080] 可以理解的是,若工作空间的保活度越高,则表示用户可能会频繁的切换至该工作空间进行展示,相应的为保证用户切换体验,需保留系统内存汇总高保活度工作空间的渲染数据。反之,对于保活度较低的工作空间,其在系统内存中渲染数据被使用到的频率相对较低,故可将低频渲染数据销毁。从而均衡工作空间切换时的流畅度和网站的整体性能,提高用户的整体使用体验。
[0081] 在本实施例中,将获取当前已渲染工作空间的内存占比,其中,所述内存占比为用于渲染工作空间的渲染数据占用系统内存的比例;若所述内存占比大于预设占比阈值,则基于各所述已渲染工作空间的保活度销毁所述系统内存中的低频渲染数据,其中,所述保活度基于对应工作空间的使用频率以及所述对应工作空间与其他工作空间之间的关联度确定。即本申请,将基于工作空间的使用频率及该工作空间与他工作空间之间的关联度确定该工作空间的保活度。当前已渲染工作空间的内存占比大于预设占比阈值时,再将基于保活度对系统内存中低频渲染数据进行销毁,从而保留用户可能会频繁切换进行展示的工作空间在系统内存中的渲染数据,即保证用户在切换工作空间时的流程性的同时也确保了网站的整体性能,从而全面提高用户使用体验。
[0082] 参照图3,基于本申请工作空间自适应渲染方法的第一实施例提出本申请工作空间自适应渲染方法的的第二实施例,本申请实施例中与上述实施例相同部分可参考上文内容,此处不再赘述。所述获取当前已渲染工作空间的内存占比时包括第一获取频率和第二获取频率,所述第一获取频率大于所述第二获取频率,所述预设占比阈值包括第一占比阈值和第二占比阈值,所述第一占比阈值小于所述第二占比阈值,所述步骤S210基于保活度小于预设保活度的已渲染工作空间生成低频渲染数据,并将述系统内存中的所述低频渲染数据销毁包括步骤S211‑步骤S212:
[0083] 步骤S211,若以所述第一获取频率获取的内存占比大于所述第一占比阈值,则将渲染队列中保活度小于所述预设保活度的已渲染工作空间转移至待销毁渲染列表,其中,所述待销毁渲染列表中记录的已渲染工作空间在所述系统内存中对应的渲染数据为所述低频渲染数据;
[0084] 步骤S212,若以所述第二获取频率获取的内存占比大于所述第二占比阈值,则将系统内存中的所述低频渲染数据销毁,并清空所述待销毁渲染列表。
[0085] 需要说明的是,在本实施例中,步骤S211和步骤S212之前,步骤S10中获取当前已渲染工作空间的内存占比时可包括第一获取频率和第二获取频率,且第一获取频率大于所述第二获取频率,所述预设占比阈值包括第一占比阈值和第二占比阈值,所述第一占比阈值小于所述第二占比阈值。
[0086] 示例性的,当以所述第一获取频率获取的内存占比大于所述第一占比阈值时,将渲染队列中保活度小于所述预设保活度的已渲染工作空间转移至待销毁渲染列表,其中,以第二获取频率获取的内存占比大于第二占比阈值,则将系统内存中的低频渲染数据销毁,并清空待销毁渲染列表。
[0087] 可以理解的是,设置第一获取频率用于触发将较低保活度的已渲染工作空间转移至待销毁渲染列表和设置第二获取频率用于触发销毁低频渲染数据。且第一获取频率大于第二获取频率,可在确保取准获低频确渲染数据的同时,避免过于频繁的进行销毁渲染数据。此外,第一获取频率和第二获取频率也均不易过高。因为,在实际应用中用户在短时间内可能会对多个工作空间进行频繁的切换,故若第一获取频率和第二获取频率过高,也可能会频繁的销毁渲染数据,从而造成系统性能资源的浪费。
[0088] 参照图4,基于本申请工作空间自适应渲染方法的第二实施例提出本申请工作空间自适应渲染方法的的第三实施例,本申请实施例中与上述实施例相同部分可参考上文内容,此处不再赘述。所述在所述基于各所述已渲染工作空间的保活度销毁所述系统内存中的低频渲染数据的步骤之前,所述方法包括:
[0089] 步骤A10,在活跃工作空间发生变更后,基于所述活跃工作空间对各所述已渲染工作空间的保活度进行更新,其中,所述活跃工作空间为当前进行展示的工作空间。
[0090] 需要说明的是,上述活跃工作空间是指当前正在进行展示的工作空间,或者用户当前正在进行操作的工作空间。在实际用于中用户会根据自身需求切换不同的工作空间,相应的活跃工作空间也将随之发生变更,在本实施例中,将基于动态的活跃工作空间来调整各已渲染工作空间的保活度,从而确保系统内存中存储的渲染数据可与用户的工作需求适配。
[0091] 在一可行的实施方式中,所述基于所述活跃工作空间对各所述已渲染工作空间的保活度进行更新的步骤包括:
[0092] 步骤A110,基于所述活跃工作空间对所述活跃工作空间发生变更前的历史渲染队列进行去重处理得到基础工作空间队列;
[0093] 步骤A120,基于所述活跃工作空间、所述基础工作空间队列、关联工作空间列表以及预设高频工作空间列表生成新的渲染队列,其中,所述关联工作空间列表记录的工作空间与所述活跃工作空间存在关联,工作空间的保活度与所述工作空间在所述渲染队列中的位置对应。
[0094] 示例性的,基于活跃工作空间对活跃工作空间发生变更前的历史渲染队列进行去重处理得到基础工作空间队列,即若上述历史渲染队列中存在有活跃工作空间,则将历史渲染队列中与活跃工作空间相同的工作空间去除得到基础工作空间队列。其中,历史渲染队列是指活跃工作空间发生变更前的渲染队列,初始的渲染队列为空。
[0095] 需要说明的是,工作空间在渲染队列中位置与该工作空间的保活度存在有对应关系。例如,位置越处于队列前方的工作空间其保活度越高,反之,越处于队列后方的工作空间其保活度越低。再基于活跃工作空间、基础工作空间队列、关联工作空间列表以及预设高频工作空间列表生成新的渲染队列,其中,关联工作空间列表记录的工作空间与所述活跃工作空间存在关联。其中,存在关联是指两个工作空间存在有跳转关系。如工作空间A中存在按钮可直接跳转工作空间B,则认为工作空间A和工作空间B存在关联。而预设高频工作空间列表则可以记录用户在近段预设时长内打开次数超过预设次数的工作空间。
[0096] 在一可行的实施方式中,所述步骤A120基于所述活跃工作空间、所述基础工作空间队列、关联工作空间列表以及预设高频工作空间列表生成新的渲染队列包括步骤A121‑步骤A124:
[0097] 步骤A121,基于所述基础工作空间队列中与关联工作空间列表中相同的工作空间生成第一级工作空间队列;
[0098] 步骤A122,基于二次去重基础工作空间队列中与预设高频工作列表中相同的工作空间生成第二级工作空间队列,其中,所述二次去重基础工作空间队列为将所述基础工作空间队列中与所述关联工作空间列表中相同的工作空间去除后生成;
[0099] 步骤A123,基于所述基础工作空间队列中不存在于所述第一级工作空间队列且不存在于所述第二级工作空间队列的工作空间生成第三级工作空间队列;
[0100] 其中,所述第一级工作空间队列、所述第二级工作空间队列和所述第三级工作空间队列中工作空间的排列位置基于所述基础工作空间队列确定;
[0101] 步骤A124,基于所述活跃工作空间、所述第一级工作空间队列、所述第二级工作空间队列和所述第三级工作空间队列生成所述新的渲染队列;
[0102] 示例性的,确定基础工作空间队列中与关联工作空间列表中相同的工作空间并生成第一级工作空间队列,其中,第一级工作空间队列中各工作空间排列位置与上述基础工作空间队列保持一致。
[0103] 将基础工作空间队列中与第一级工作空间队列中相同的工作空间去除,得到二次去重基础工作空间队列。确定二次去重基础工作空间队列中与预设高频工作列表中相同的工作空间并生成第二级工作空间队列,其中,第二级工作空间队列中各工作空间的排列位置与上述基础工作空间队列保持一致。
[0104] 确定基础工作空间队列中不存在于所述第一级工作空间队列也不存在于所述第二级工作空间队列的工作空间并生成第三级工作空间队列,其中,第三级工作空间队列中各工作空间的排列位置与上述基础工作空间队列保持一致。
[0105] 在一可行的实施方式中,所述基于所述活跃工作空间、所述第一级工作空间队列、所述第二级工作空间队列和所述第三级工作空间队列生成新的渲染队列的步骤包括:
[0106] 步骤A01,将所述活跃工作空间、所述第一级工作空间队列、所述第二级工作空间队列和所述第三级工作空间队列依次组合得到所述新的渲染队列,所述活跃工作空间处于所述新的渲染队列中的首位且具有最高保活度。
[0107] 示例性的,本实施例中将活跃工作空间作为具有最高保活度的工作空间放置在新的渲染队列中的首位,再依次为第一级工作空间队列、第二级工作空间队列和第三级工作空间队列,从而组合为新的渲染队列。
[0108] 此外,本实施例还提出一种保活度的更新方法,保活度与保活值成反比,即保活值越高则保活度越低。重置各已渲染工作空间的保活值为零。赋值活跃工作空间的保活值为小于零的数(如保活值f=‑1)。计算第一级工作空间队列中各工作空间的保活值。计算公式如下:
[0109] f=(i+1)2
[0110] 式中,f为各工作空间的保活值,i为工作空间在第一级工作空间队列中的位置标号,所述位置标号取值为:0、1、2、3、......、n,其中,第一级工作空间队列中首个工作空间的位置标号取值为0。
[0111] 计算第二级工作空间队列中各工作空间的保活值。计算公式如下:
[0112] f=fn+(i+1)2
[0113] 式中,f为各工作空间的保活值,i为工作空间在第二级工作空间队列中的位置标号,所述位置标号取值为:0、1、2、3、......、m,其中,第二级工作空间队列中首个工作空间的位置标号取值为0,fn为同计算阶段的第一级工作空间队列中最后一个工作空间的保活值。
[0114] 计算第三级工作空间队列中各工作空间的保活值。计算公式如下:
[0115] f=fm+(i+1)2
[0116] 式中,f为各工作空间的保活值,i为工作空间在第三级工作空间队列中的位置标号,所述位置标号取值为:0、1、2、3、......、s,其中,第三级工作空间队列中首个工作空间的位置标号取值为0,fm为同计算阶段的第二级工作空间队列中最后一个工作空间的保活值。
[0117] 最后再按保活度对各工作空间进行排序得到所述新的渲染队列。
[0118] 可以理解的是,在本实施例中,可基于动态的活跃工作空间来调整各已渲染工作空间的保活度,从而确保系统内存中存储的渲染数据可与用户的工作需求适配。
[0119] 此外,为清楚的说明本申请方案的整个实施过程可参照图5,为本申请工作空间自适应渲染方法的整体框架示意图。用户在在线工作平台上进行工作时,有两种方式均可导致活跃工作空间发生变更,一种是用户切换工作空间,另外一种是用户关闭活跃工作空间,当用户关闭活跃工作空间后,销毁该活跃工作空间对应的渲染数据,同时在线平台会自行差查找临近工作空间(被关闭的活跃工作空间的上一个工作空间或者下一个工作空间)。而活跃工作空间的变更会引起渲染队列的更新。首先,活跃工作空间变更后,判断当前工作空间是否进行了渲染,若已经进行了渲染则直接基于渲染列表更新策略进行更新,若为进行渲染,则通过渲染组件进行渲染后再基于渲染列表更新策略进行更新,渲染列表更新策略可参照上述步骤A120和步骤S211,此处不再赘述。同时,活跃工作空间发生变更后,则需要基于新的活跃空间重新查找关联空间,生成关联工作空间列表。关联工作空间列表和高频工作空间列表均为基于渲染队列更新策略更新渲染队列的更新依据。其中,高频工作空间列表则是基于用户使用习惯生成。上述过程为渲染队列的更新过程,而工作空间在渲染队列中的位置实际上也是代表了该工作空间的报活度,即被用户频繁打开的可能性。而工作空间的保活度则是销毁渲染数据的依据。销毁过程包括,检测内存占用变化(内存占比的变化),确定当前内存占比,若该内存占比大于阈值1(即第一占比阈值),则基于渲染队列更新策略更新渲染队列,将渲染队列中保活度较低的工作空间转移至待销毁工作空间列表中。若该内存占比大于阈值2(即第二占比阈值),则直接销毁待销毁工作空间列表中对应渲染数据,从而释放资源确保平台网站整体性能。
[0120] 此外,为实现上述目的,参照图6,本申请还提供一种工作空间自适应渲染装置100,所述工作空间自适应渲染装置100包括:
[0121] 获取模块10,获取当前已渲染工作空间的内存占比,其中,所述内存占比为用于渲染工作空间的渲染数据占用系统内存的比例;
[0122] 销毁模块20,若所述内存占比大于预设占比阈值,则基于各所述已渲染工作空间的保活度销毁所述系统内存中的低频渲染数据,其中,所述保活度基于对应工作空间的使用频率以及所述对应工作空间与其他工作空间之间的关联度确定。
[0123] 可选地,所述工作空间自适应渲染装置还包括更新模块,所述更新模块30用于:
[0124] 在活跃工作空间发生变更后,基于所述活跃工作空间对各所述已渲染工作空间的保活度进行更新,其中,所述活跃工作空间为当前进行展示的工作空间。
[0125] 可选地,所述更新模块30还用于:
[0126] 基于所述活跃工作空间对所述活跃工作空间发生变更前的历史渲染队列进行去重处理得到基础工作空间队列;
[0127] 基于所述活跃工作空间、所述基础工作空间队列、关联工作空间列表以及预设高频工作空间列表生成新的渲染队列,其中,所述关联工作空间列表记录的工作空间与所述活跃工作空间存在关联的已渲染工作空间,所述已渲染工作空间的保活度与所述已渲染工作空间在所述渲染队列中的位置对应。
[0128] 可选地,所述更新模块30还用于:
[0129] 基于所述基础工作空间队列中与关联工作空间列表中相同的已渲染工作空间生成第一级工作空间队列;
[0130] 基于二次去重基础工作空间队列中与预设高频工作列表中相同的已渲染工作空间生成第二级工作空间队列,其中,所述二次去重基础工作空间队列为将所述基础工作空间队列中与所述关联工作空间列表中相同的工作空间去除后生成;
[0131] 基于所述基础工作空间队列中不存在于所述第一级工作空间队列且不存在于所述第二级工作空间队列的已渲染工作空间生成第三级工作空间队列;
[0132] 其中,所述第一级工作空间队列、所述第二级工作空间队列和所述第三级工作空间队列中已渲染工作空间的排列位置基于所述基础工作空间队列确定;
[0133] 基于所述活跃工作空间、所述第一级工作空间队列、所述第二级工作空间队列和所述第三级工作空间队列生成所述新的渲染队列。
[0134] 可选地,所述更新模块30还用于:
[0135] 将所述活跃工作空间、所述第一级工作空间队列、所述第二级工作空间队列和所述第三级工作空间队列依次组合得到所述新的渲染队列,所述活跃工作空间处于所述新的渲染队列中的首位且具有最高保活度。
[0136] 可选地,所述销毁模块20还用于:
[0137] 基于保活度小于预设保活度的已渲染工作空间生成低频渲染数据,并将述系统内存中的所述低频渲染数据销毁。
[0138] 可选地,所述获取当前已渲染工作空间的内存占比时包括第一获取频率和第二获取频率,所述第一获取频率大于所述第二获取频率,所述预设占比阈值包括第一占比阈值和第二占比阈值,所述第一占比阈值小于所述第二占比阈值,所述销毁模块20还用于:
[0139] 若以所述第一获取频率获取的内存占比大于所述第一占比阈值,则将渲染队列中保活度小于所述预设保活度的已渲染工作空间转移至待销毁渲染列表,其中,所述待销毁渲染列表中记录的已渲染工作空间在所述系统内存中对应的渲染数据为所述低频渲染数据;
[0140] 若以所述第二获取频率获取的内存占比大于所述第二占比阈值,则将系统内存中的所述低频渲染数据销毁,并清空所述待销毁渲染列表。
[0141] 本申请提供的工作空间自适应渲染装置,采用上述实施例中的工作空间自适应渲染方法,旨在解决目前各在线平台随着打开的工作空间数量增多会影响到平台网站的整体性能的技术问题。与现有技术相比,本申请实施例提供的工作空间自适应渲染装置的有益效果与上述实施例提供的工作空间自适应渲染方法的有益效果相同,且该工作空间自适应渲染装置中的其他技术特征与上述实施例方法公开的特征相同,在此不做赘述。
[0142] 此外,为实现上述目的,本申请还提供一种工作空间自适应渲染设备,所述工作空间自适应渲染设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的工作空间自适应渲染程序,所述工作空间自适应渲染程序被所述处理器执行时实现如上述的工作空间自适应渲染方法的步骤。
[0143] 本申请工作空间自适应渲染设备的具体实施方式与上述工作空间自适应渲染方法各实施例基本相同,在此不再赘述。
[0144] 此外,为实现上述目的,本申请还提供一种可读存储介质,所述可读存储介质上存储有工作空间自适应渲染程序,所述工作空间自适应渲染程序被处理器执行时实现如上述的工作空间自适应渲染方法的步骤。
[0145] 本申请计算机介质具体实施方式与上述工作空间自适应渲染方法各实施例基本相同,在此不再赘述。
[0146] 需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
[0147] 上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
[0148] 通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是计算机,服务器,或者网络设备等)执行本申请各个实施例所述的方法。
[0149] 以上仅为本申请的优选实施例,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。