发明内容
本申请的主要目的在于提供一种可见窗口的合成方法、合成装置、计算机可读存储介质、处理器和多屏系统,以解决现有技术中第一可见窗口的合成方法易出现卡顿的问题。
根据本发明实施例的一个方面,提供了一种可见窗口的合成方法,包括:在至少两个显示屏幕上分别显示有多个第一可见窗口的情况下,确定多个目标可见窗口,所有的所述显示屏幕上的所述目标可见窗口的总数小于所有的所述显示屏幕的所述第一可见窗口的总数;对处于一个所述显示屏幕的多个所述目标可见窗口进行合成,形成至少一个第二可见窗口。
可选地,在至少两个显示屏幕上分别显示有多个第一可见窗口的情况下,确定多个目标可见窗口,包括:监测各所述显示屏幕的所述第一可见窗口的窗口信息,所述窗口信息用于确定所述第一可见窗口关闭是否影响用户体验;根据所述窗口信息确定可裁剪窗口,所述可裁剪窗口为关闭不影响用户体验的所述第一可见窗口;将所述可裁剪窗口以外的所述第一可见窗口确定为所述目标可见窗口。
可选地,对处于一个所述显示屏幕的多个所述目标可见窗口进行合成,形成至少一个第二可见窗口,包括:关闭所述目标可见窗口以外的所述第一可见窗口;对处于一个所述显示屏幕的开启的所述第一可见窗口进行合成,形成至少一个所述第二可见窗口。
可选地,根据所述窗口信息确定可裁剪窗口,包括:在所述显示屏幕的所述第一可见窗口的数量小于预定值的情况下,确定所述显示屏幕的所有所述第一可见窗口均不是所述可裁剪窗口;在所述显示屏幕的所述第一可见窗口的数量大于或者等于所述预定值的情况下,确定所述窗口信息满足预定条件的所述第一可见窗口为所述目标可见窗口。
可选地,所述第一可见窗口为活动窗口,所述窗口信息包括所述活动窗口对应应用的使用时长和使用频率的信息、窗口状态信息和后台运行时间信息,确定所述窗口信息满足预定条件的所述第一可见窗口为所述目标可见窗口,包括:在满足第一预定条件、第二预定条件和第三预定条件中的任意一个或者多个的情况下,确定所述活动窗口为所述目标可见窗口,所述第一预定条件为根据活动窗口对应应用的使用时长大于设定时长和/或使用频率大于设定频率,所述第二预定条件为所述窗口状态信息为用户没有正在使用,所述第三预定条件为所述后台运行时间信息对应的后台运行时间超过预定运行时间。
可选地,所述第一可见窗口为非活动窗口,所述窗口信息包括应用信息、窗口类型信息和打开时间信息,确定所述窗口信息满足预定条件的所述第一可见窗口为所述目标可见窗口,包括:在满足第四预定条件的情况下,确定所述非活动窗口为所述目标可见窗口,所述第四预定条件为目标非活动窗口的所述打开时间信息不是最晚,所述目标非活动窗口为应用信息相同且所述窗口类型相同的所述非活动窗口。
可选地,在至少两个显示屏幕上分别显示有多个第一可见窗口的情况下,确定多个目标可见窗口,包括:监测各所述显示屏幕的所述第一可见窗口的绘制信息;根据所述绘制信息确定目标显示屏幕,所述目标显示屏幕为出现绘制变化的所述第一可见窗口对应的所述显示屏幕;将所述目标显示屏幕的所述第一可见窗口确定为所述目标可见窗口。
根据本发明实施例的另一方面,还提供了一种可见窗口的合成装置,包括:确定单元,用于在至少两个显示屏幕上分别显示有多个第一可见窗口的情况下,确定多个目标可见窗口,所有的所述显示屏幕上的所述目标可见窗口的总数小于所有的所述显示屏幕的所述第一可见窗口的总数;处理单元,用于对处于一个所述显示屏幕的多个所述目标可见窗口进行合成,形成至少一个第二可见窗口。
根据本发明实施例的再一方面,还提供了一种计算机可读存储介质,所述计算机可读存储介质包括存储的程序,其中,所述程序执行任意一种所述的方法。
根据本发明实施例的又一方面,还提供了一种处理器,所述处理器用于运行程序,其中,所述程序运行时执行任意一种所述的方法。
根据本发明实施例的再一方面,还提供了一种多屏系统,包括多屏设备和可见窗口的合成装置,所述第一可见窗口的合成装置用于执行任意一种所述的方法。
在本发明实施例中,上述可见窗口的合成方法中,首先,在至少两个显示屏幕上分别显示有多个第一可见窗口的情况下,确定多个目标可见窗口,所有的上述显示屏幕上的上述目标可见窗口的总数小于所有的上述显示屏幕的上述第一可见窗口的总数;然后,对处于一个上述显示屏幕的多个上述目标可见窗口进行合成,形成至少一个第二可见窗口。该可见窗口的合成方法仅对部分第一可见窗口进行合成,减少了用于窗口合成的CPU和GPU的资源消耗,减少了合成图层的消耗时间,缓解了显示屏幕对应的设备的操作系统卡顿现象,解决了现有技术中第一可见窗口的合成方法易出现卡顿的问题。
具体实施方式
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
应该理解的是,当元件(诸如层、膜、区域、或衬底)描述为在另一元件“上”时,该元件可直接在该另一元件上,或者也可存在中间元件。而且,在说明书以及权利要求书中,当描述有元件“连接”至另一元件时,该元件可“直接连接”至该另一元件,或者通过第三元件“连接”至该另一元件。
为了便于描述,以下对本申请实施例涉及的部分名词或术语进行说明:
Surfaceflinger进程:用于将窗口内容刷新至屏幕上的进程;
Activity:android系统的一个组件,用于界面显示;
View:以Activity作为载体的界面显示组件,是android系统一切UI组件的基类。
正如背景技术中所说的,现有技术中第一可见窗口的合成方法易出现卡顿,为了解决上述问题,本申请的一种典型的实施方式中,提供了一种可见窗口的合成方法、合成装置、计算机可读存储介质、处理器和多屏系统。
根据本申请的实施例,提供了一种可见窗口的合成方法。
图1是根据本申请实施例的可见窗口的合成方法的流程图。如图1所示,该方法包括以下步骤:
步骤S101,在至少两个显示屏幕上分别显示有多个第一可见窗口的情况下,确定多个目标可见窗口,所有的上述显示屏幕上的上述目标可见窗口的总数小于所有的上述显示屏幕的上述第一可见窗口的总数;
步骤S102,对处于一个上述显示屏幕的多个上述目标可见窗口进行合成,形成至少一个第二可见窗口。
上述可见窗口的合成方法中,首先,在至少两个显示屏幕上分别显示有多个第一可见窗口的情况下,确定多个目标可见窗口,所有的上述显示屏幕上的上述目标可见窗口的总数小于所有的上述显示屏幕的上述第一可见窗口的总数;然后,对处于一个上述显示屏幕的多个上述目标可见窗口进行合成,形成至少一个第二可见窗口。该可见窗口的合成方法仅对部分第一可见窗口进行合成,减少了用于窗口合成的CPU和GPU的资源消耗,减少了合成图层的消耗时间,缓解了显示屏幕对应的设备的操作系统卡顿现象,解决了现有技术中第一可见窗口的合成方法易出现卡顿的问题。
需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
本申请的一种实施例中,在至少两个显示屏幕上分别显示有多个第一可见窗口的情况下,确定多个目标可见窗口,包括:监测各上述显示屏幕的上述第一可见窗口的窗口信息,上述窗口信息用于确定上述第一可见窗口关闭是否影响用户体验;根据上述窗口信息确定可裁剪窗口,上述可裁剪窗口为关闭不影响用户体验的上述第一可见窗口;将上述可裁剪窗口以外的上述第一可见窗口确定为上述目标可见窗口。具体地,根据上述窗口信息确定上述第一可见窗口中关闭不影响用户体验的第一可见窗口,得到可裁剪窗口,可裁剪窗口无需进行合成,即可减少进行合成的第一可见窗口的数量,进一步缓解显示屏幕对应的设备的操作系统卡顿现象。
本申请的一种实施例中,对处于一个上述显示屏幕的多个上述目标可见窗口进行合成,形成至少一个第二可见窗口,包括:关闭上述目标可见窗口以外的上述第一可见窗口;对处于一个上述显示屏幕的开启的上述第一可见窗口进行合成,形成至少一个上述第二可见窗口。具体地,关闭上述目标可见窗口以外的第一可见窗口,只需对剩余的开启的上述第一可见窗口进行合成即可,即对上述目标可见窗口进行合成即可,进一步提高窗口合成的效率,进一步缓解显示屏幕对应的设备的操作系统卡顿现象。
本申请的一种实施例中,根据上述窗口信息确定可裁剪窗口,包括:在上述显示屏幕的上述第一可见窗口的数量小于预定值的情况下,确定上述显示屏幕的所有上述第一可见窗口均不是上述可裁剪窗口;在上述显示屏幕的上述第一可见窗口的数量大于或者等于上述预定值的情况下,确定上述窗口信息满足预定条件的上述第一可见窗口为上述目标可见窗口。
具体地,上述显示屏幕对应的设备还包括场景中心和策略中心,场景中心和策略中心例如同软件实现,场景中心的监测第一可见窗口的增加、删除以及在不同的显示屏幕之间的迁移操作,以实现监测显示屏幕的活动窗口和非活动窗口的数量,每个显示屏幕的主要显示功能制定不同的活动窗口数量限制和不同的非活动窗口数量限制,防止重复增加非活动窗口,例如,主屏对应的预定值可以适当定的大一些,允许更多活动窗口存在,娱乐屏次之,仪表屏只允许一个,主屏由于有状态栏,导航栏,壁纸等存在,非活动窗口的预定值可以定义为20个,娱乐屏次之为10个,仪表屏为1个,场景中心统计每一个显示屏幕的活动窗口和非活动窗口数量,当达到该显示屏幕的活动窗口和非活动窗口数量的预定值时,发送裁剪请求至策略中心,触发策略中心对该屏的非活动窗口进行裁剪。
本申请的一种实施例中,上述第一可见窗口为活动窗口,上述窗口信息包括上述活动窗口对应应用的使用时长和使用频率的信息、窗口状态信息和后台运行时间信息,确定上述窗口信息满足预定条件的上述第一可见窗口为上述目标可见窗口,包括:在满足第一预定条件、第二预定条件和第三预定条件中的任意一个或者多个的情况下,确定上述活动窗口为上述目标可见窗口,上述第一预定条件为根据活动窗口对应应用的使用时长大于设定时长和/或使用频率大于设定频率,上述第二预定条件为上述窗口状态信息为用户没有正在使用,上述第三预定条件为上述后台运行时间信息对应的后台运行时间超过预定运行时间。
具体地,策略中心收到某一显示屏幕的裁剪活动窗口的请求后,根据上述活动窗口对应应用的使用时长和使用频率的信息、窗口状态信息和后台运行时间信息选择出可裁剪窗口,第一种可裁剪窗口满足第一预定条件,场景中心根据上述活动窗口对应应用的使用时长和使用频率的信息识别出的用户常用应用,即根据活动窗口对应应用的使用时长和使用频率的信息对活动窗口对应的应用进行排序,这里用户的常用top3应用打开的第一可见窗口不做裁剪,第二种可裁剪窗口满足第二预定条件,根据窗口状态信息确定正在使用的第一可见窗口,例如,正在导航,正在播放音乐的第一可见窗口不做裁剪,第二种可裁剪窗口满足第二预定条件,根据后台运行时间信息确定第一可见窗口是否可裁剪,根据设备特点将应用分级,根据不同应用级别设置不同的可裁剪时间,例如,级别1应用在后台30分钟后可裁剪,级别2应用在后台10分钟可裁剪,级别3应用在后台5分钟可裁剪,其他在后台一分钟可裁剪。
需要说明的是,上述活动窗口是指应用通过activity启动的窗口,android系统中通过Activity提供窗口供应用在其中绘制界面应用,大部分应用是通过activity增加窗口。
本申请的一种实施例中,上述第一可见窗口为非活动窗口,上述窗口信息包括应用信息、窗口类型信息和打开时间信息,确定上述窗口信息满足预定条件的上述第一可见窗口为上述目标可见窗口,包括:在满足第四预定条件的情况下,确定上述非活动窗口为上述目标可见窗口,上述第四预定条件为目标非活动窗口的上述打开时间信息不是最晚,上述目标非活动窗口为应用信息相同且上述窗口类型相同的上述非活动窗口。具体地,策略中心统计每一个显示屏幕的非活动窗口的裁剪请求,根据应用信息和窗口类型判断出是否是重复添加的非活动窗口,如果是只保留该应用的最新的一个该窗口类型的非活动窗口,上述目标非活动窗口中最新打开的第一可见窗口,其他的第一可见窗口裁剪掉,其中,窗口类型是指android系统定义的一系列非活动窗口类型,例如,输入法窗口对应的窗口类型为TYPE_INPUT_METHOD。
需要说明的是,非活动窗口是指不通过activity提供窗口,直接通过view增加的窗口,非活动窗口主要是用来在应用的显示窗口上再显示一层窗口,比如状态栏,导航栏等。
本申请的一种实施例中,在至少两个显示屏幕上分别显示有多个第一可见窗口的情况下,确定多个目标可见窗口,包括:监测各上述显示屏幕的上述第一可见窗口的绘制信息;根据上述绘制信息确定目标显示屏幕,上述目标显示屏幕为出现绘制变化的上述第一可见窗口对应的上述显示屏幕;将上述目标显示屏幕的上述第一可见窗口确定为上述目标可见窗口。具体地,在surfaceflinger进程中监控可见窗口发起的申请绘制buffer操作,即监控可见窗口申请一块图形缓冲区进行绘制的操作,上报可见窗口绘制信息到场景中心。包括可见窗口的所有者,可见窗口所属于的屏等信息,surfaceflinger在一个同步信号vsync触发的周期内开始进行所有的显示屏幕的第一可见窗口合成操作,surfaceflinger通过场景提供的接口获取到有哪些显示屏幕的第一可见窗口在进行绘制操作,确定上述目标显示屏幕,针对目标显示屏幕,surfaceflinger在做图层合成操作时,忽略没有变化的显示屏幕,即更新图层对象列表以及图层属性时忽略没有变化的显示屏幕,surfaceflinger在做合成图层操作时,忽略没有变化的显示屏幕,surfaceflinger在该同步周期触发的合成操作结束后,调用场景中心的接口,重置场景中心保存的第一可见窗口绘制信息。
本申请实施例还提供了一种可见窗口的合成装置,需要说明的是,本申请实施例的可见窗口的合成装置可以用于执行本申请实施例所提供的用于可见窗口的合成方法。以下对本申请实施例提供的可见窗口的合成装置进行介绍。
图2是根据本申请实施例的可见窗口的合成装置的示意图。如图2所示,该装置包括:
确定单元10,用于在至少两个显示屏幕上分别显示有多个第一可见窗口的情况下,确定多个目标可见窗口,所有的上述显示屏幕上的上述目标可见窗口的总数小于所有的上述显示屏幕的上述第一可见窗口的总数;
处理单元20,用于对处于一个上述显示屏幕的多个上述目标可见窗口进行合成,形成至少一个第二可见窗口。
上述可见窗口的合成装置中,确定单元在至少两个显示屏幕上分别显示有多个第一可见窗口的情况下,确定多个目标可见窗口,所有的上述显示屏幕上的上述目标可见窗口的总数小于所有的上述显示屏幕的上述第一可见窗口的总数;处理单元对处于一个上述显示屏幕的多个上述目标可见窗口进行合成,形成至少一个第二可见窗口。该可见窗口的合成装置仅对部分第一可见窗口进行合成,减少了用于窗口合成的CPU和GPU的资源消耗,减少了合成图层的消耗时间,缓解了显示屏幕对应的设备的操作系统卡顿现象,解决了现有技术中第一可见窗口的合成方法易出现卡顿的问题。
本申请的一种实施例中,上述确定单元包括第一监测子单元、第一确定子单元和第二确定子单元,其中,上述第一监测子单元用于监测各上述显示屏幕的上述第一可见窗口的窗口信息,上述窗口信息用于确定上述第一可见窗口关闭是否影响用户体验;上述第一确定子单元用于根据上述窗口信息确定可裁剪窗口,上述可裁剪窗口为关闭不影响用户体验的上述第一可见窗口;上述第二确定子单元用于将上述可裁剪窗口以外的上述第一可见窗口确定为上述目标可见窗口。具体地,根据上述窗口信息确定上述第一可见窗口中关闭不影响用户体验的第一可见窗口,得到可裁剪窗口,可裁剪窗口无需进行合成,即可减少进行合成的第一可见窗口的数量,进一步缓解显示屏幕对应的设备的操作系统卡顿现象。
本申请的一种实施例中,上述处理单元包括第一处理子单元和第二处理子单元,其中,上述第一处理子单元用于关闭上述目标可见窗口以外的上述第一可见窗口;上述第二处理子单元用于对处于一个上述显示屏幕的开启的上述第一可见窗口进行合成,形成至少一个上述第二可见窗口。具体地,关闭上述目标可见窗口以外的上述第一可见窗口后,只需对剩余的开启的上述第一可见窗口进行合成即可,即对上述目标可见窗口进行合成即可,进一步提高窗口合成的效率,进一步缓解显示屏幕对应的设备的操作系统卡顿现象。
本申请的一种实施例中,上述第一确定子单元包括第一确定模块和第二确定模块,其中,上述第一确定子模块用于在上述显示屏幕的上述第一可见窗口的数量小于预定值的情况下,确定上述显示屏幕的所有上述第一可见窗口均不是上述可裁剪窗口;上述第二确定子模块用于在上述显示屏幕的上述第一可见窗口的数量大于或者等于上述预定值的情况下,确定上述窗口信息满足预定条件的上述第一可见窗口为上述目标可见窗口。
本申请的一种实施例中,上述第一可见窗口为活动窗口,上述窗口信息包括上述活动窗口对应应用的使用时长和使用频率的信息、窗口状态信息和后台运行时间信息,上述第二确定模块还用于在满足第一预定条件、第二预定条件和第三预定条件中的任意一个或者多个的情况下,确定上述活动窗口为上述目标可见窗口,上述第一预定条件为根据活动窗口对应应用的使用时长大于设定时长和/或使用频率大于设定频率,上述第二预定条件为上述窗口状态信息为用户没有正在使用,上述第三预定条件为上述后台运行时间信息对应的后台运行时间超过预定运行时间。
本申请的一种实施例中,上述第一可见窗口为非活动窗口,上述窗口信息包括应用信息、窗口类型信息和打开时间信息,上述第二确定模块还用于在满足第四预定条件的情况下,确定上述非活动窗口为上述目标可见窗口,上述第四预定条件为目标非活动窗口的上述打开时间信息不是最晚,上述目标非活动窗口为应用信息相同且上述窗口类型相同的上述非活动窗口。
本申请的一种实施例中,上述确定单元包括第二监测子单元、第三确定子单元和第四确定子单元,其中,上述第二监测子单元用于监测各上述显示屏幕的上述第一可见窗口的绘制信息;上述第三确定子单元用于根据上述绘制信息确定目标显示屏幕,上述目标显示屏幕为出现绘制变化的上述第一可见窗口对应的上述显示屏幕;上述第四确定子单元用于将上述目标显示屏幕的上述第一可见窗口确定为上述目标可见窗口。
本申请实施例还提供了一种多屏系统,包括多屏设备和可见窗口的合成装置,上述第一可见窗口的合成装置用于执行任意一种上述的方法。
上述多屏系统中,包括多屏设备和可见窗口的合成装置,确定单元在至少两个显示屏幕上分别显示有多个第一可见窗口的情况下,确定多个目标可见窗口,所有的上述显示屏幕上的上述目标可见窗口的总数小于所有的上述显示屏幕的上述第一可见窗口的总数;处理单元对处于一个上述显示屏幕的多个上述目标可见窗口进行合成,形成至少一个第二可见窗口。该多屏系统仅对部分第一可见窗口进行合成,减少了用于窗口合成的CPU和GPU的资源消耗,减少了合成图层的消耗时间,缓解了显示屏幕对应的设备的操作系统卡顿现象,解决了现有技术中第一可见窗口的合成方法易出现卡顿的问题。
上述可见窗口的合成装置包括处理器和存储器,上述确定单元和处理单元等均作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序单元来实现相应的功能。
处理器中包含内核,由内核去存储器中调取相应的程序单元。内核可以设置一个或以上,通过调整内核参数来解决现有技术中第一可见窗口的合成方法易出现卡顿的问题。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM),存储器包括至少一个存储芯片。
本发明实施例提供了一种计算机可读存储介质,其上存储有程序,该程序被处理器执行时实现上述方法。
本发明实施例提供了一种处理器,上述处理器用于运行程序,其中,上述程序运行时执行上述方法。
本发明实施例提供了一种设备,设备包括处理器、存储器及存储在存储器上并可在处理器上运行的程序,处理器执行程序时实现至少以下步骤:
步骤S101,在至少两个显示屏幕上分别显示有多个第一可见窗口的情况下,确定多个目标可见窗口,所有的上述显示屏幕上的上述目标可见窗口的总数小于所有的上述显示屏幕的上述第一可见窗口的总数;
步骤S102,对处于一个上述显示屏幕的多个上述目标可见窗口进行合成,形成至少一个第二可见窗口。
本文中的设备可以是服务器、PC、PAD、手机等。
本申请还提供了一种计算机程序产品,当在数据处理设备上执行时,适于执行初始化有至少如下方法步骤的程序:
步骤S101,在至少两个显示屏幕上分别显示有多个第一可见窗口的情况下,确定多个目标可见窗口,所有的上述显示屏幕上的上述目标可见窗口的总数小于所有的上述显示屏幕的上述第一可见窗口的总数;
步骤S102,对处于一个上述显示屏幕的多个上述目标可见窗口进行合成,形成至少一个第二可见窗口。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如上述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
上述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
上述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取计算机可读存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个计算机可读存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例上述方法的全部或部分步骤。而前述的计算机可读存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。