基于双系统终端的系统切换方法、装置、设备及存储介质与流程
未命名
09-23
阅读:49
评论:0
1.本技术涉及电子通信技术领域,尤其涉及一种基于双系统终端的系统切换方法、装置、设备及存储介质。
背景技术:
2.随着终端技术的快速发展,用户越来越喜欢在一个终端设备中安装两个系统,在用户对其中一种系统的界面或者是操作方式产生疲惫时,可以进行系统切换,从而满足不同的操作体验或界面效果,提高了终端设备的多元化程度。
3.目前,系统切换主要是终端设备获取用户输入的系统切换指令,释放当前前台系统中的多个预设模块占用的资源,在所有预设模块占用的资源全部释放完毕后,进行系统切换,并为切换后的前台系统的多个预设模块申请资源,从而达到目的。
4.然而,上述方法中,系统切换需要的时长主要依赖于多个预设模块的资源释放时长,存在系统切换速度较慢,效率较低的问题。
技术实现要素:
5.本技术提供一种基于双系统终端的系统切换方法、装置、设备及存储介质,以解决现有技术中系统切换速度较慢,效率较低的问题。
6.第一方面,本技术实施例提供一种基于双系统终端的系统切换方法,包括:
7.响应于用户输入的第一操作,生成系统切换指令;
8.根据所述系统切换指令,将终端设备的前台系统从第一操作系统切换至第二操作系统;
9.生成资源释放指令;
10.响应于所述资源释放指令,通过域间通信模块释放所述第一操作系统中的多个第一模块分别占用的资源,生成释放结果,所述第一操作系统中的每个第一模块与所述第二操作系统中对应的第二模块公用一份资源,所述释放结果为释放成功或释放失败,所述域间通信模块用于在所述第一操作系统与所述第二操作系统之间进行信息传输;
11.在所述释放结果为释放成功时,为所述第二操作系统中的多个第二模块进行资源申请,生成申请结果,所述申请结果包括申请成功或申请失败。
12.在第一方面的一种可能设计中,在所述根据所述系统切换指令,将终端设备的前台系统从第一操作系统切换至第二操作系统之后,所述方法还包括:
13.在检测到释放资源的时长大于第一预设时长时,生成第一超时消息,所述第一超时消息用于指示重新释放所述第一操作系统中的多个第一模块分别占用的资源;
14.根据所述第一超时消息,重新释放所述第一操作系统中的多个第一模块分别占用的资源;
15.相应的,在所述响应于资源释放指令,释放所述第一操作系统中的多个第一模块分别占用的资源,生成释放结果之后,所述方法还包括:
16.在检测到申请资源的时长大于第二预设时长时,生成第二超时消息,所述第二超时消息用于指示重新为所述第二操作系统中的多个第二模块进行资源申请;
17.根据所述第二超时消息,重新为所述第二操作系统中的多个第二模块进行资源申请。
18.在第一方面的一种可能设计中,在所述响应于资源释放指令,释放所述第一操作系统中的多个第一模块分别占用的资源,生成释放结果之后,所述方法还包括:
19.在所述释放结果为释放失败时,重新释放所述第一操作系统中的多个第一模块分别占用的资源;
20.相应的,所述在所述释放结果为释放成功时,为所述第二操作系统中的多个第二模块进行资源申请,生成申请结果之后,所述方法还包括:
21.在所述申请结果为申请失败时,重新为所述第二操作系统中的多个第二模块进行资源申请。
22.在第一方面的一种可能设计中,所述生成资源释放指令,包括:
23.响应于所述用户输入的第二操作,生成所述资源释放指令;
24.或者,
25.在系统切换完成后开始计时,在计时得到的累计时长大于第三预设时长时,生成所述资源释放指令。
26.在第一方面的一种可能设计中,所述根据所述系统切换指令,将终端设备的前台系统从第一操作系统切换至第二操作系统,包括:
27.根据所述系统切换指令,获取所述第一操作系统以及所述第二操作系统的前后台状态;
28.在所述第二操作系统的前后台状态为后台时,将所述第二操作系统的消息队列中存储的上一时刻的资源释放指令和/或上一时刻的超时消息进行删除;
29.根据所述系统切换指令,将所述终端设备的前台系统从所述第一操作系统切换至所述第二操作系统。
30.可选的,在所述响应于资源释放指令,释放所述第一操作系统中的多个第一模块分别占用的资源,生成释放结果方法之后,所述方法还包括:
31.删除所述第一操作系统的所述消息队列中存储的与所述资源释放指令携带的标识不一致的释放结果。
32.第二方面,本技术实施例提供一种基于双系统终端的系统切换装置,包括:
33.生成模块,用于响应于用户输入的第一操作,生成系统切换指令;
34.切换模块,用于根据所述系统切换指令,将终端设备的前台系统从第一操作系统切换至第二操作系统;
35.所述生成模块,还用于生成资源释放指令;
36.所述生成模块,还用于响应于所述资源释放指令,通过域间通信模块释放所述第一操作系统中的多个第一模块分别占用的资源,生成释放结果,所述第一操作系统中的每个第一模块与所述第二操作系统中对应的第二模块公用一份资源,所述释放结果为释放成功或释放失败,所述域间通信模块用于在所述第一操作系统与所述第二操作系统之间进行信息传输;
37.所述生成模块,还用于在所述释放结果为释放成功时,为所述第二操作系统中的多个第二模块进行资源申请,生成申请结果,所述申请结果包括申请成功或申请失败。
38.在第二方面的一种可能设计中,在所述根据所述系统切换指令,将终端设备的前台系统从第一操作系统切换至第二操作系统之后,所述装置还包括:
39.所述生成模块,还用于在检测到释放资源的时长大于第一预设时长时,生成第一超时消息,所述第一超时消息用于指示重新释放所述第一操作系统中的多个第一模块分别占用的资源;
40.释放模块,用于根据所述第一超时消息,重新释放所述第一操作系统中的多个第一模块分别占用的资源;
41.相应的,在所述响应于资源释放指令,释放所述第一操作系统中的多个第一模块分别占用的资源,生成释放结果之后,所述装置还包括:
42.所述生成模块,还用于在检测到申请资源的时长大于第二预设时长时,生成第二超时消息,所述第二超时消息用于指示重新为所述第二操作系统中的多个第二模块进行资源申请;
43.申请模块,用于根据所述第二超时消息,重新为所述第二操作系统中的多个第二模块进行资源申请。
44.在第二方面的一种可能设计中,在所述响应于资源释放指令,释放所述第一操作系统中的多个第一模块分别占用的资源,生成释放结果之后,所述释放模块,还用于在所述释放结果为释放失败时,重新释放所述第一操作系统中的多个第一模块分别占用的资源;
45.相应的,所述在所述释放结果为释放成功时,为所述第二操作系统中的多个第二模块进行资源申请,生成申请结果之后,所述申请模块,还用于在所述申请结果为申请失败时,重新为所述第二操作系统中的多个第二模块进行资源申请。
46.在第二方面的一种可能设计中,所述生成模块,具体用于:
47.响应于所述用户输入的第二操作,生成所述资源释放指令;
48.或者,
49.在系统切换完成后开始计时,在计时得到的累计时长大于第三预设时长时,生成所述资源释放指令。
50.在第二方面的一种可能设计中,所述切换模块,具体用于:
51.根据所述系统切换指令,获取所述第一操作系统以及所述第二操作系统的前后台状态;
52.在所述第二操作系统的前后台状态为后台时,将所述第二操作系统的消息队列中存储的上一时刻的资源释放指令和/或上一时刻的超时消息进行删除;
53.根据所述系统切换指令,将所述终端设备的前台系统从所述第一操作系统切换至所述第二操作系统。
54.可选的,在所述响应于资源释放指令,释放所述第一操作系统中的多个第一模块分别占用的资源,生成释放结果装置之后,所述装置还包括:
55.删除模块,用于删除所述第一操作系统的所述消息队列中存储的与所述资源释放指令携带的标识不一致的释放结果。
56.第三方面,本技术实施例提供一种终端设备,包括:处理器、存储器及存储在所述
存储器上并可在处理器上运行的计算机程序指令,所述处理器执行所述计算机程序指令时用于实现第一方面以及各可能设计提供的方法。
57.第四方面,本技术实施例可提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现第一方面以及各可能设计提供的方法。
58.第五方面,本技术实施例提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时用于实现第一方面以及各可能设计提供的方法。
59.本技术实施例提供的基于双系统终端的系统切换方法、装置、设备及存储介质,在该方法中,通过响应于用户输入的第一操作,生成系统切换指令,根据系统切换指令,将终端设备的前台系统从第一操作系统切换至第二操作系统,生成资源释放指令,响应于资源释放指令,通过域间通信模块释放第一操作系统中的多个第一模块分别占用的资源,生成释放结果,在释放结果为释放成功时,为第二操作系统中的多个第二模块进行资源申请,生成申请结果。在本方案中,终端设备在生成系统切换指令后直接进行系统切换,在系统切换后再进行资源释放以及资源申请,提高了系统的稳定性以及系统切换的速度和效率,缩短了系统切换时长。
附图说明
60.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本技术的实施例,并与说明书一起用于解释本技术的原理。
61.图1为本技术实施例提供的基于双系统终端的系统切换方法的一种原理示意图;
62.图2为本技术实施例提供的基于双系统终端的系统切换方法实施例一的流程示意图;
63.图3为本技术实施例提供的基于双系统终端的系统切换方法实施例二的流程示意图;
64.图4为本技术实施例提供的基于双系统终端的系统切换方法实施例三的流程示意图;
65.图5为本技术实施例提供的基于双系统终端的系统切换方法实施例四的流程示意图;
66.图6为本技术实施例提供的基于双系统终端的系统切换方法实施例五的流程示意图;
67.图7为本技术实施例提供的基于双系统终端的系统切换装置的结构示意图;
68.图8为本技术实施例提供的终端设备的结构示意图。
69.通过上述附图,已示出本公开明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本公开构思的范围,而是通过参考特定实施例为本领域技术人员说明本公开的概念。
具体实施方式
70.为使本技术实施例的目的、技术方案和优点更加清楚,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是
本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
71.在介绍本技术的实施例之前,首先对本技术实施例的应用背景进行解释:
72.双系统是一个高端的安全技术,是基于同一套硬件和同一个驱动建立的两套完整系统,两个系统可以通过特定的方式进行切换,同时保证两个系统相互之间不影响,数据不互通,即第一操作系统不能获取第二操作系统的信息,第二操作系统不能获取第一操作系统的信息。
73.进一步的,为了保证两个系统的正常运作,针对依赖于硬件和驱动的模块,在进行系统切换时需要做一定的处理。示例性的,以上述模块为无线局域网(wireless local area networks,wlan)模块为例进行举例说明。由于切换后的前台系统后续使用wlan的需求及可能性更高,所以切换后的前台系统需要获取wlan的资源(涉及驱动以及硬件的一些操作)。然而,由于终端设备中只存在一份wlan资源,所以切换前的前台系统需要进行wlan资源的释放。因此,目前在进行系统切换时需要释放切换前的前台系统的wlan资源,释放成功后,对系统进行切换;之后针对切换后的前台系统进行wlan资源申请,以使用户能够使用切换后的前台系统使用wlan进行上网等操作。
74.也就是说,现有技术在进行系统切换的时候,需要等待所有需要释放资源的模块把资源都释放完成后,才可以进行系统切换,否则会出现资源竞争的问题。即使现有技术对系统切换流程中做了兼容性处理以及异步处理,但双系统切换所需要的时间依然依赖于释放资源最慢的模块所需的时间,一般为2~4秒,存在系统切换速度较慢,效率较低的问题。
75.同时,如果用户频繁进行切换系统的操作,由于前台系统获取硬件资源需要耗费大量时间,因此系统切换所需的时间会更长,效率更低。
76.除此以外,在一些极端情况下,某些模块释放资源需要花费比较长的时间,甚至超过了切换系统时设置的超时时间,导致终端设备会在模块没有完全释放完或释放失败时就进行系统切换,切换后的前台系统会在获取资源时与切换后的后台系统产生竞争而无法获取资源,存在系统稳定性较差的问题。
77.针对上述问题,本技术的发明构思如下:由于在切换系统过程中,模块释放资源所需的时长较长,而现有技术在所有模块资源释放完成后才可以进行系统切换,因此无法保证系统切换的速度。基于此,发明人发现,如果能在终端设备中预先设置一个域间通信模块,该域间通信模块可以用于在第一操作系统与第二操作系统之间进行信息传输,那么就可以在获取用户输入的第一操作后,直接进行系统切换,并通过域间通信模块在后台系统中执行资源释放指令释放模块的资源,并在后台系统资源释放完成后为前台系统申请资源,就能解决现有技术中系统切换速度较慢、效率较低的问题,从而缩短系统切换所需的时长。
78.示例性的,本技术实施例提供的基于双系统终端的系统切换方法可以应用于图1所示的一种原理示意图中。图1为本技术实施例提供的基于双系统终端的系统切换方法的一种原理示意图,用以解决上述技术问题。
79.如图1所示,该原理示意图包括第一操作系统、第二操作系统以及域间通信模块,在本实施例中,在第一操作系统为前台系统时,第二操作系统为后台系统时,终端设备响应于用户输入的第一操作,生成系统切换指令,并根据该系统切换指令,对第一操作系统以及
第二操作系统执行系统切换操作。其中,第一操作可以为用户对终端设备的显示屏幕的操作,也可以为用户对终端设备的物理按钮的操作,还可以为用户对终端设备的语音输入操作。
80.进一步的,终端设备通过域间通信模块在第一操作系统中执行生成的资源释放指令,生成释放结果,以使在释放结果为释放成功时,为第二操作系统中的多个第二模块进行资源申请。
81.可以理解的是,本技术实施例的执行主体可以为运行有双系统的手机,也可以是运行有双系统的平板电脑。因而,本实施例将手机和平板电脑统称为终端设备进行解释说明,关于终端设备具体手机,还是平板电脑,其可以实际情况确定。
82.下面,通过具体实施例对本技术的技术方案进行详细说明。
83.需要说明的是,下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。
84.图2为本技术实施例提供的基于双系统终端的系统切换方法实施例一的流程示意图。如图2所示,该基于双系统终端的系统切换方法可以包括如下步骤:
85.s21、响应于用户输入的第一操作,生成系统切换指令。
86.其中,系统切换指令用于将终端设备的前台系统从第一操作系统切换至第二操作系统。
87.其中,可以通过至少以下三种方式生成系统切换指令;
88.(1)、响应于用户对终端设备的显示屏幕的触控操作,生成系统切换指令。
89.示例性的,终端设备可以预先设置有预设控件,并将该预设控件在显示屏幕中进行显示。用户可以对终端设备的显示屏幕中显示的预设控件进行点击操作,终端设备响应于上述点击操作,生成系统切换指令。
90.示例性的,终端设备还可以预先存储有预设触点移动路径,用户可以点击终端设备的显示屏幕,并控制与显示屏幕接触的手指在显示屏幕上移动,输入触点移动路径。在上述触点移动路径为预设触点移动路径时,终端设备生成系统切换指令。
91.示例性的,终端设备中的第一操作系统以及第二操作系统可以分别对应于不同的解锁密码,在终端设备处于加锁状态时,需要根据解锁密码对第一终端设备进行解锁后才可以正常使用。当用户输入的解锁密码对应的操作系统与前台系统不一致时,则生成系统切换指令。
92.(2)、响应于用户对终端设备的物理按钮的按压操作,生成系统切换指令。
93.其中,上述物理按钮可以为电源键、音量增加键、音量减少键,还可以是系统切换指令生成按键。
94.(3)、响应于用户对终端设备的语音输入操作,生成系统切换指令。
95.示例性的,终端设备中设置有语音装置,该语音装置可以采集并识别用户的声音信息,用户可以通过终端设备的语音助手输入语音指令,如“切换系统”,终端设备通过语音装置接收到用户输入的语音指令后,将该语音指令进行文字转换,根据转换后的文字生成系统切换指令。
96.s22、根据系统切换指令,将终端设备的前台系统从第一操作系统切换至第二操作系统。
97.其中,可以在加锁状态下根据系统切换指令,将终端设备的前台系统从第一操作系统切换至第二操作系统,还可以在非加锁状态下根据系统切换指令,将终端设备的前台系统从第一操作系统切换至第二操作系统,本技术不对终端设备所处的状态进行限定。
98.应理解,切换后的前台系统为第二操作系统,切换后的后台系统为第一操作系统。前台系统为用户可见的系统,后台系统为用户不可见的系统。
99.可选的,本步骤的具体实现方式可以参照图5所示的实施例,在此不再赘述。
100.s23、生成资源释放指令。
101.其中,该资源释放指令用于释放第一操作系统中的多个第一模块分别占用的资源,并生成释放结果。
102.其中,终端设备在切换后的前台系统中生成资源释放指令,也就是说在第二操作系统中生成资源释放指令。
103.在一种具体的实现方式中,可以响应于用户输入的第二操作,生成资源释放指令。
104.在该方式下,可以响应于用户对终端设备的显示屏幕的触控操作,生成资源释放指令;还可以响应于用户对终端设备的物理按钮的按压操作,生成资源释放指令;还可以响应于用户对终端设备的语音输入操作,生成释放结果。其中,具体的实现方式以及实现原理可以参照s21中的生成系统切换指令的相关内容,在此不再赘述。
105.在另一种具体的实现方式中,在系统切换完成后开始计时,在计时得到的累计时长大于第三预设时长时,生成资源释放指令。
106.示例性的,第三预设时长可以为1秒、2秒、3秒等,可以根据实际情况进行预先确定,本技术实施例对此不进行具体限制。
107.示例性的,假设第三预设时长为2秒时,则在系统切换完成后开始计时,在计时得到的累计时长达到2秒时,生成资源释放指令。
108.s24、响应于资源释放指令,通过域间通信模块释放第一操作系统中的多个第一模块分别占用的资源,生成释放结果。
109.其中,第一操作系统中的每个第一模块与第二操作系统中对应的第二模块公用一份资源。
110.示例性的,在实际应用中,第一模块以及第二模块可以为wlan模块,还可以为近场通信(near field communication,nfc)模块,还可以为蓝牙技术(bluetooth,bt)模块,还可以为其他现有技术存在的或根据用户实际需求开发的模块。作为一种优选的方案,可以预先通过实验以及自验工具记录系统切换时各模块释放资源需要花费的时间,在不影响最终效果的情况下,确定多个第一模块以及每个第一模块对应的第二模块。
111.示例性的,以第一模块为第一wlan模块为例进行说明,则第二操作系统中与该第一模块对应的第二模块为第二wlan模块。其中,第一wlan模块以及第二wlan模块公用一份资源,且实现的功能以及执行的操作相同。
112.其中,域间通信模块用于在第一操作系统与第二操作系统之间进行信息传输。由于终端设备切换后的前台系统为第二操作系统,终端设备在第一操作系统中生成资源释放指令,因此需要通过上述域间通信模块在第二操作系统中执行上述资源释放指令,以使释放第一操作系统中的多个第一模块分别占用的资源,并生成释放结果,该释放结果为释放成功或释放失败。
113.可选的,释放模块占用的资源的方式可以参照现有技术实现,还可以根据实际需求对现有技术进行调整,本技术实施例对此不进行具体限制。
114.其中,可以通过以下几种方式生成释放结果:
115.(1)、在第一操作系统中每个第一模块全都释放资源成功时,生成释放结果,该释放结果为释放成功;
116.(2)、在第一操作系统中任一第一模块释放资源失败时,生成释放结果,该释放结果为释放失败。
117.其中,该释放结果中还可以包括每个第一模块的标识以及对应的子释放结果,该子释放结果为释放失败或释放成功。
118.示例性的,该释放结果可以为表1进行表示:
119.表1
120.编号第一模块的标识子释放结果1第一模块1释放成功2第一模块2释放成功3第一模块3释放失败
121.示例性的,如表1所示,在上述释放结果中,说明第一模块1以及第一模块2成功释放了占用的资源,第一模块3没有成功释放占用的资源。
122.s25、在释放结果为释放成功时,为第二操作系统中的多个第二模块进行资源申请,生成申请结果。
123.可选的,资源申请的方式可以参照现有技术实现,还可以根据实际需求对现有技术进行调整,本技术实施例对此不进行具体限制。
124.其中,申请结果包括申请成功或申请失败,可以通过以下几种方式生成申请结果:
125.(1)、在第二操作系统中的每个第二模块资源申请成功时,生成申请结果,该申请结果为申请成功;
126.(2)、在第二操作系统中的任一第二模块资源申请失败时,生成申请结果,该申请结果为申请失败;
127.其中,该申请结果中还可以包括每个第二模块的标识以及对应的子申请结果,该子申请结果为申请失败或申请成功。
128.其中,该方式的实现原理以及具体示例可以参照s23的相应部分,在此不再赘述。
129.在本技术实施例中,通过响应于用户输入的第一操作,生成系统切换指令,根据系统切换指令,将终端设备的前台系统从第一操作系统切换至第二操作系统,生成资源释放指令,响应于资源释放指令,通过域间通信模块释放第一操作系统中的多个第一模块分别占用的资源,生成释放结果,在释放结果为释放成功时,为第二操作系统中的多个第二模块进行资源申请,生成申请结果。在本方案中,终端设备在生成系统切换指令后直接进行系统切换,在系统切换后再进行资源释放以及资源申请,提高了系统的稳定性以及系统切换的速度和效率,缩短了系统切换时长。
130.可选的,图3为本技术实施例提供的基于双系统终端的系统切换方法实施例二的流程示意图。如图3所示,基于上述任一实施例,在根据系统切换指令,将终端设备的前台系统从第一操作系统切换至第二操作系统之后,该基于双系统终端的系统切换方法还可以包
括如下步骤:
131.s31、在检测到释放资源的时长大于第一预设时长时,生成第一超时消息。
132.示例性的,第一预设时长可以为1秒、2秒、3秒等,可以根据实际情况进行确定,本技术实施例对此不进行具体限制。
133.应理解,第一预设时长可以与第三预设时长相等,还可以与第三预设时长不相等。
134.其中,第一超时消息用于指示重新释放第一操作系统中的多个第一模块分别占用的资源。
135.s32、根据第一超时消息,重新释放第一操作系统中的多个第一模块分别占用的资源;
136.其中,本步骤中重新释放第一操作系统中的多个第一模块分别占用的资源,可以参照s24中的释放第一操作系统中的多个第一模块分别占用的资源的具体实现过程以及实现原理,在此不再赘述。
137.在上述实施例中,在检测到释放资源的时长大于第一预设时长时,生成第一超时消息,根据第一超时消息,重新释放第一操作系统中的多个第一模块分别占用的资源。在本技术方案中,在第一预设时长内未成功生成释放结果时,说明释放过程发生了暂停或卡顿,则重新释放第一操作系统中的多个第一模块分别占用的资源,直到生成释放结果,提高了系统的稳定性。
138.可选的,图4为本技术实施例提供的基于双系统终端的系统切换方法实施例三的流程示意图。如图4所示,基于上述任一实施例,在响应于资源释放指令,释放第一操作系统中的多个第一模块分别占用的资源,生成释放结果之后,该基于双系统终端的系统切换方法还可以包括如下步骤:
139.s41、在检测到申请资源的时长大于第二预设时长时,生成第二超时消息。
140.示例性的,第二预设时长可以为1秒、2秒、3秒等,可以根据实际情况进行确定,本技术实施例对此不进行具体限制。
141.应理解,第二预设时长可以与第一预设时长、第三预设时长相等,可以与第一预设时长、第三预设时长不相等,还可以与第一预设时长、第三预设时长中的任一时长相等,与另一个时长不相等,如,第二预设时长可以与第一预设时长相等,与第三预设时长不相等;或,第二预设时长可以与第一预设时长不相等,与第三预设时长相等。
142.其中,第二超时消息用于指示重新为第二操作系统中的多个第二模块进行资源申请。
143.s42、根据第二超时消息,重新为第二操作系统中的多个第二模块进行资源申请。
144.其中,本步骤中重新为第二操作系统中的多个第二模块进行资源申请,可以参照s25中的为第二操作系统中的多个第二模块进行资源申请的具体实现过程以及实现原理,在此不再赘述。
145.在上述实施例中,在检测到申请资源的时长大于第二预设时长时,生成第二超时消息,根据第二超时消息,重新为第二操作系统中的多个第二模块进行资源申请。在本技术方案中,在第二预设时长内未成功申请资源时,重新为第二操作系统中的多个第二模块进行资源申请,直到生成申请结果,提高了系统的稳定性。
146.可选的,在一些实施例中,在响应于资源释放指令,释放第一操作系统中的多个第
一模块分别占用的资源,生成释放结果之后,该基于双系统终端的系统切换方法还可以包括如下步骤:在释放结果为释放失败时,重新释放第一操作系统中的多个第一模块分别占用的资源,保证了能够成功释放每个第一模块占用的资源,以使对应的第二模块能够正常进行资源申请,避免影响用户的使用。
147.相应的,在一些实施例中,在释放结果为释放成功时,为第二操作系统中的多个第二模块进行资源申请,生成申请结果之后,方法还包括:在申请结果为申请失败时,重新为第二操作系统中的多个第二模块进行资源申请,以使能够成功为每个第二模块申请到资源,保证了用户能够正常使用终端设备,提高了系统的稳定性。
148.在现有技术中,无论第一模块的资源是否释放完成,只要达到超时时间就会进行系统切换,而一旦某个第一模块释放资源超时时,第一模块以及对应的第二模块的功能都会受到影响。而在上述实施例中,在生成超时消息、释放失败的释放结果、申请失败的申请结果时进行重试,从而保证第一模块以及第二模块的功能正常,提高了系统的稳定性。
149.可选的,图5为本技术实施例提供的基于双系统终端的系统切换方法实施例四的流程示意图。如图5所示,基于上述任一实施例,根据系统切换指令,将终端设备的前台系统从第一操作系统切换至第二操作系统,可以通过如下步骤实现:
150.s51、根据系统切换指令,获取第一操作系统以及第二操作系统的前后台状态。
151.其中,前后台状态为前台或者后台。
152.在一种可能的实现方式中,可以分别获取第一操作系统以及第二操作系统的前后台属性,根据第一操作系统以及第二操作系统的前后台属性获取第一操作系统以及第二操作系统的前后台状态。
153.s52、在第二操作系统的前后台状态为后台时,将第二操作系统的消息队列中存储的上一时刻的资源释放指令和/或上一时刻的超时消息进行删除。
154.应理解,每个操作系统对应有一个消息队列,也就是说第一操作系统对应的消息队列与第二操作系统对应的消息队列不同。
155.s53、根据系统切换指令,将终端设备的前台系统从第一操作系统切换至第二操作系统。
156.在本技术实施例中,将第二操作系统的消息队列中存储的上一时刻的资源释放指令和/或上一时刻的超时消息进行删除,减少了第二操作系统的消息队列中的冗余信息,避免了上一时刻的资源释放指令和/或超时消息对本次系统切换处理造成影响,提高了系统切换的准确度。
157.可选的,在一些实施例中,在响应于资源释放指令,释放第一操作系统中的多个第一模块分别占用的资源,生成释放结果方法之后,该基于双系统终端的系统切换方法还可以包括如下步骤:删除第一操作系统的消息队列中存储的与资源释放指令携带的标识不一致的释放结果,其中,上述标识可以为校验序列号,本技术实施例能够删除冗余数据,为后续根据上述释放结果为第二模块申请资源奠定基础。
158.结合上述各个实施例中的基于双系统终端的系统切换方案,下面通过一种具体的实例对该方案进行举例说明。
159.图6为本技术实施例提供的基于双系统终端的系统切换方法实施例五的流程示意图。如图6所示,应理解,在本实施例中,终端设备的前台系统为第二操作系统,后台系统为
第一操作系统。终端设备响应于用户输入的第一操作,生成系统切换指令,并根据该系统切换指令,获取第一操作系统以及第二操作系统的前后台状态,也就是说获取到第一操作系统的前后台状态为后台,第二操作系统的前后台状态为前台。进一步的,终端设备监听到系统切换指令后,将第二操作系统的消息队列中存储的上一时刻的资源释放指令和/或上一时刻的超时消息进行清除,然后进行系统切换。应理解,切换后的前台系统为第一操作系统,切换后的后台系统为第二操作系统。
160.进一步的,终端设备在第一操作系统中生成携带有校验序列号的资源释放指令,并通过第一操作系统的消息队列将该资源释放指令发送至域间通信模块,以使域间通信模块将该资源释放指令传输至第二操作系统中。之后,第二操作系统通过第一接收模块获取该资源释放指令,判断第二操作系统的前后台状态(主要是兼容性的处理,处理暴力、快速不停切换场景下的资源释放,避免在还未对资源释放指令进行处理时,又需要根据生成的系统切换指进行频繁的系统切换的情况),在第二操作系统的前后台状态依旧为后台时,则执行则资源释放指令,通过资源释放模块释放第一操作系统中的多个第一模块分别占用的资源,并生成携带有校验序列号的释放结果,经过域间通信模块传输给第一操作系统。同时,将第一操作系统的消息队列中与校验序列号不一致的释放结果进行丢弃。
161.进一步的,第一操作系统通过第二接收模块接收释放结果。终端设备判断第一操作系统的前后台状态(同样也是为了兼容性的处理,因为消息的传递可能会有延迟,甚至还会因为暴力、多次切换系统是产生多个消息,而真正在处理这个消息的时候已经处于后台了),在第一操作系统的前后台状态依旧为前台时,则通过资源申请模块为第一操作系统的对应的模块申请资源。同样,在接收到的释放结果携带的校验序列号与资源释放指令不一致时,则丢弃该释放结果。
162.同时,在资源释放和申请资源的过程中,可能存在未响应或者失败的情况,在未响应或者失败的情况则触发超时机制和重试机制进行重新处理,并在处理成功后再进行后续操作。
163.下述为本技术装置实施例,可以用于执行本技术方法实施例。对于本技术装置实施例中未披露的细节,请参照本技术方法实施例。
164.图7为本技术实施例提供的基于双系统终端的系统切换装置的结构示意图。如图7所示,该基于双系统终端的系统切换装置包括:
165.生成模块61,用于响应于用户输入的第一操作,生成系统切换指令;
166.切换模块62,用于根据系统切换指令,将终端设备的前台系统从第一操作系统切换至第二操作系统;
167.生成模块61,还用于生成资源释放指令;
168.生成模块61,还用于响应于资源释放指令,通过域间通信模块释放第一操作系统中的多个第一模块分别占用的资源,生成释放结果,第一操作系统中的每个第一模块与第二操作系统中对应的第二模块公用一份资源,释放结果为释放成功或释放失败,域间通信模块用于在第一操作系统与第二操作系统之间进行信息传输;
169.生成模块61,还用于在释放结果为释放成功时,为第二操作系统中的多个第二模块进行资源申请,生成申请结果,申请结果包括申请成功或申请失败。
170.在本技术实施例的一种可能设计中,在根据系统切换指令,将终端设备的前台系
统从第一操作系统切换至第二操作系统之后,该装置还包括:
171.生成模块61,还用于在检测到释放资源的时长大于第一预设时长时,生成第一超时消息,第一超时消息用于指示重新释放第一操作系统中的多个第一模块分别占用的资源;
172.释放模块,用于根据第一超时消息,重新释放第一操作系统中的多个第一模块分别占用的资源;
173.相应的,在响应于资源释放指令,释放第一操作系统中的多个第一模块分别占用的资源,生成释放结果之后,该装置还包括:
174.生成模块61,还用于在检测到申请资源的时长大于第二预设时长时,生成第二超时消息,第二超时消息用于指示重新为第二操作系统中的多个第二模块进行资源申请;
175.申请模块,用于根据第二超时消息,重新为第二操作系统中的多个第二模块进行资源申请。
176.在本技术实施例的一种可能设计中,在响应于资源释放指令,释放第一操作系统中的多个第一模块分别占用的资源,生成释放结果之后,释放模块还用于在释放结果为释放失败时,重新释放第一操作系统中的多个第一模块分别占用的资源;
177.相应的,在释放结果为释放成功时,为第二操作系统中的多个第二模块进行资源申请,生成申请结果之后,申请模块还用于在申请结果为申请失败时,重新为第二操作系统中的多个第二模块进行资源申请。
178.在本技术实施例的一种可能设计中,生成模块61,具体用于:
179.响应于用户输入的第二操作,生成资源释放指令;
180.或者,
181.在系统切换完成后开始计时,在计时得到的累计时长大于第三预设时长时,生成资源释放指令。
182.在本技术实施例的一种可能设计中,切换模块62,具体用于:
183.根据系统切换指令,获取第一操作系统以及第二操作系统的前后台状态;
184.在第二操作系统的前后台状态为后台时,将第二操作系统的消息队列中存储的上一时刻的资源释放指令和/或上一时刻的超时消息进行删除;
185.根据系统切换指令,将终端设备的前台系统从第一操作系统切换至第二操作系统。
186.可选的,在响应于资源释放指令,释放第一操作系统中的多个第一模块分别占用的资源,生成释放结果装置之后,装置还包括:
187.删除模块,用于删除第一操作系统的消息队列中存储的与资源释放指令携带的标识不一致的释放结果。
188.本技术实施例提供的基于双系统终端的系统切换装置,可用于执行上述任一实施例中的基于双系统终端的系统切换方法,其实现原理和技术效果类似,在此不再赘述。
189.需要说明的是,应理解以上装置的各个模块的划分仅仅是一种逻辑功能的划分,实际实现时可以全部或部分集成到一个物理实体上,也可以物理上分开。且这些模块可以全部以软件通过处理元件调用的形式实现;也可以全部以硬件的形式实现;还可以部分模块通过处理元件调用软件的形式实现,部分模块通过硬件的形式实现。此外,这些模块全部
circuits,asic)中。当然,处理器和可读存储介质也可以作为分立组件存在于设备中。
201.本技术实施例还提供一种计算机程序产品,该计算机程序产品包括计算机程序,该计算机程序存储在计算机可读存储介质中,至少一个处理器可以从该计算机可读存储介质中读取该计算机程序,至少一个处理器执行计算机程序时可实现上述基于双系统终端的系统切换方法。
202.应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求书来限制。
技术特征:
1.一种基于双系统终端的系统切换方法,其特征在于,包括:响应于用户输入的第一操作,生成系统切换指令;根据所述系统切换指令,将终端设备的前台系统从第一操作系统切换至第二操作系统;生成资源释放指令;响应于所述资源释放指令,通过域间通信模块释放所述第一操作系统中的多个第一模块分别占用的资源,生成释放结果,所述第一操作系统中的每个第一模块与所述第二操作系统中对应的第二模块公用一份资源,所述释放结果为释放成功或释放失败,所述域间通信模块用于在所述第一操作系统与所述第二操作系统之间进行信息传输;在所述释放结果为释放成功时,为所述第二操作系统中的多个第二模块进行资源申请,生成申请结果,所述申请结果包括申请成功或申请失败。2.根据权利要求1所述的方法,其特征在于,在所述根据所述系统切换指令,将终端设备的前台系统从第一操作系统切换至第二操作系统之后,所述方法还包括:在检测到释放资源的时长大于第一预设时长时,生成第一超时消息,所述第一超时消息用于指示重新释放所述第一操作系统中的多个第一模块分别占用的资源;根据所述第一超时消息,重新释放所述第一操作系统中的多个第一模块分别占用的资源;相应的,在所述响应于资源释放指令,释放所述第一操作系统中的多个第一模块分别占用的资源,生成释放结果之后,所述方法还包括:在检测到申请资源的时长大于第二预设时长时,生成第二超时消息,所述第二超时消息用于指示重新为所述第二操作系统中的多个第二模块进行资源申请;根据所述第二超时消息,重新为所述第二操作系统中的多个第二模块进行资源申请。3.根据权利要求1所述的方法,其特征在于,在所述响应于资源释放指令,释放所述第一操作系统中的多个第一模块分别占用的资源,生成释放结果之后,所述方法还包括:在所述释放结果为释放失败时,重新释放所述第一操作系统中的多个第一模块分别占用的资源;相应的,所述在所述释放结果为释放成功时,为所述第二操作系统中的多个第二模块进行资源申请,生成申请结果之后,所述方法还包括:在所述申请结果为申请失败时,重新为所述第二操作系统中的多个第二模块进行资源申请。4.根据权利要求1至3任一项所述的方法,其特征在于,所述生成资源释放指令,包括:响应于所述用户输入的第二操作,生成所述资源释放指令;或者,在系统切换完成后开始计时,在计时得到的累计时长大于第三预设时长时,生成所述资源释放指令。5.根据权利要求1所述的方法,其特征在于,所述根据所述系统切换指令,将终端设备的前台系统从第一操作系统切换至第二操作系统,包括:根据所述系统切换指令,获取所述第一操作系统以及所述第二操作系统的前后台状态;
在所述第二操作系统的前后台状态为后台时,将所述第二操作系统的消息队列中存储的上一时刻的资源释放指令和/或上一时刻的超时消息进行删除;根据所述系统切换指令,将所述终端设备的前台系统从所述第一操作系统切换至所述第二操作系统。6.根据权利要求5所述的方法,其特征在于,在所述响应于资源释放指令,释放所述第一操作系统中的多个第一模块分别占用的资源,生成释放结果方法之后,所述方法还包括:删除所述第一操作系统的所述消息队列中存储的与所述资源释放指令携带的标识不一致的释放结果。7.一种基于双系统终端的系统切换装置,其特征在于,包括:生成模块,用于响应于用户输入的第一操作,生成系统切换指令;切换模块,用于根据所述系统切换指令,将终端设备的前台系统从第一操作系统切换至第二操作系统;所述生成模块,还用于生成资源释放指令;所述生成模块,还用于响应于所述资源释放指令,通过域间通信模块释放所述第一操作系统中的多个第一模块分别占用的资源,生成释放结果,所述第一操作系统中的每个第一模块与所述第二操作系统中对应的第二模块公用一份资源,所述释放结果为释放成功或释放失败,所述域间通信模块用于在所述第一操作系统与所述第二操作系统之间进行信息传输;所述生成模块,还用于在所述释放结果为释放成功时,为所述第二操作系统中的多个第二模块进行资源申请,生成申请结果,所述申请结果包括申请成功或申请失败。8.根据权利要求7所述的装置,其特征在于,在所述根据所述系统切换指令,将终端设备的前台系统从第一操作系统切换至第二操作系统之后,所述装置还包括:所述生成模块,还用于在检测到释放资源的时长大于第一预设时长时,生成第一超时消息,所述第一超时消息用于指示重新释放所述第一操作系统中的多个第一模块分别占用的资源;释放模块,用于根据所述第一超时消息,重新释放所述第一操作系统中的多个第一模块分别占用的资源;相应的,在所述响应于资源释放指令,释放所述第一操作系统中的多个第一模块分别占用的资源,生成释放结果之后,所述装置还包括:所述生成模块,还用于在检测到申请资源的时长大于第二预设时长时,生成第二超时消息,所述第二超时消息用于指示重新为所述第二操作系统中的多个第二模块进行资源申请;申请模块,用于根据所述第二超时消息,重新为所述第二操作系统中的多个第二模块进行资源申请。9.根据权利要求7所述的装置,其特征在于,在所述响应于资源释放指令,释放所述第一操作系统中的多个第一模块分别占用的资源,生成释放结果之后,所述释放模块,还用于在所述释放结果为释放失败时,重新释放所述第一操作系统中的多个第一模块分别占用的资源;相应的,所述在所述释放结果为释放成功时,为所述第二操作系统中的多个第二模块
进行资源申请,生成申请结果之后,所述申请模块,还用于在所述申请结果为申请失败时,重新为所述第二操作系统中的多个第二模块进行资源申请。10.根据权利要求7至9任一项所述的装置,其特征在于,所述生成模块,具体用于:响应于所述用户输入的第二操作,生成所述资源释放指令;或者,在系统切换完成后开始计时,在计时得到的累计时长大于第三预设时长时,生成所述资源释放指令。11.根据权利要求7所述的装置,其特征在于,所述切换模块,具体用于:根据所述系统切换指令,获取所述第一操作系统以及所述第二操作系统的前后台状态;在所述第二操作系统的前后台状态为后台时,将所述第二操作系统的消息队列中存储的上一时刻的资源释放指令和/或上一时刻的超时消息进行删除;根据所述系统切换指令,将所述终端设备的前台系统从所述第一操作系统切换至所述第二操作系统。12.根据权利要求11所述的装置,其特征在于,在所述响应于资源释放指令,释放所述第一操作系统中的多个第一模块分别占用的资源,生成释放结果装置之后,所述装置还包括:删除模块,用于删除所述第一操作系统的所述消息队列中存储的与所述资源释放指令携带的标识不一致的释放结果。13.一种终端设备,包括:处理器、存储器及存储在所述存储器上并可在处理器上运行的计算机程序指令,其特征在于,所述处理器执行所述计算机程序指令时用于实现如权利要求1至6任一项所述的基于双系统终端的系统切换方法。14.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如权利要求1至6任一项所述的基于双系统终端的系统切换方法。15.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被处理器执行时用于实现如权利要求1至6任一项所述的基于双系统终端的系统切换方法。
技术总结
本申请提供一种基于双系统终端的系统切换方法、装置、设备及存储介质,该方法包括:通过响应于用户输入的第一操作,生成系统切换指令,根据系统切换指令,将终端设备的前台系统从第一操作系统切换至第二操作系统,生成资源释放指令,响应于资源释放指令,通过域间通信模块释放第一操作系统中的多个第一模块分别占用的资源,生成释放结果,在释放结果为释放成功时,为第二操作系统中的多个第二模块进行资源申请,生成申请结果。在本方案中,终端设备在生成系统切换指令后直接进行系统切换,在系统切换后再进行资源释放以及资源申请,提高了系统的稳定性以及系统切换的速度和效率,缩短了系统切换时长。了系统切换时长。了系统切换时长。
技术研发人员:魏永成 曾维
受保护的技术使用者:成都鼎桥通信技术有限公司
技术研发日:2022.03.17
技术公布日:2023/9/22
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
航空商城 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/