CN103473081A - 终端进行***升级后生效的方法及该终端 - Google Patents

终端进行***升级后生效的方法及该终端 Download PDF

Info

Publication number
CN103473081A
CN103473081A CN2012101885200A CN201210188520A CN103473081A CN 103473081 A CN103473081 A CN 103473081A CN 2012101885200 A CN2012101885200 A CN 2012101885200A CN 201210188520 A CN201210188520 A CN 201210188520A CN 103473081 A CN103473081 A CN 103473081A
Authority
CN
China
Prior art keywords
initialize
service processes
unit
notice
terminal
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.)
Granted
Application number
CN2012101885200A
Other languages
English (en)
Other versions
CN103473081B (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.)
Tencent Technology Shenzhen Co Ltd
Tencent Cloud Computing Beijing Co Ltd
Original Assignee
Tencent Technology Shenzhen 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 Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN201210188520.0A priority Critical patent/CN103473081B/zh
Publication of CN103473081A publication Critical patent/CN103473081A/zh
Application granted granted Critical
Publication of CN103473081B publication Critical patent/CN103473081B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Stored Programmes (AREA)

Abstract

本发明提供了终端进行***升级后生效的方法及该终端,其中,该方法包括:升级进程进行***升级,升级成功后向初始化进程发送用于指示重新加载的重载指令;初始化进程接收重载指令后通知关闭应用层进程中的底层进程和服务进程,底层进程和服务进程保存数据并退出;初始化进程加载升级后的底层进程和服务进程。本发明方案能使终端进行***升级后快速生效。

Description

终端进行***升级后生效的方法及该终端
技术领域
本发明涉及***升级领域,尤其涉及终端进行***升级后生效的方法及该终端。
背景技术
在终端使用过程中,用户会根据自身需求对***进行升级,升级后需要重启***。
参见图1,为现有技术终端进行***启动的方法流程图,其包括以下步骤:
步骤101,启动硬件初始化加载程序。
基于android***的终端越来越多,这里具体以升级android***进行说明;具体地,本步骤启动加载引导器(bootloader),加载引导器主要功能是在开机进入***之前,加载某些硬件初始化程序。
步骤102,运行***内核(kernel)进程。
***内核是指大多数操作***的核心部分,用于管理存储器、文件、***设备和***资源等。
步骤103,加载应用层进程。
至此,完成了***启动,当需要进行***升级时,应用层进程中的升级进程进行***升级,升级在应用层完成;升级android***也就是升级只读存储器(ROM,Read Only Memory)。升级成功后,需关闭***,进行重启,再次执行图1的流程,而后才能显示新***。
升级ROM需要花费不少时间,升级ROM后重新启动***,也需要花费较长的时间,这导致用户的体验较差。
图1的流程中,步骤102运行***内核进程和步骤103加载应用层进程所花费的时间差不多;每次升级ROM后,都需要重新启动硬件初始化加载程序、运行***内核进程,并加载应用层进程,花费了较长的时间。
发明内容
本发明提供了一种终端进行***升级后生效的方法,该方法能够使终端进行***升级后快速生效。
本发明还提供了一种终端,该终端使***升级后快速生效。
一种终端进行***升级后生效的方法,该方法包括:
升级进程进行***升级,升级成功后向初始化进程发送用于指示重新加载的重载指令;
初始化进程接收重载指令后通知关闭应用层进程中的底层进程和服务进程,底层进程和服务进程保存数据并退出;
初始化进程加载升级后的底层进程和服务进程。
一种终端,该终端包括升级进程单元、初始化进程单元、底层进程单元和服务进程单元;
所述升级进程单元,用于进行***升级,升级成功后向初始化进程单元发送用于指示重新加载的重载指令;
所述初始化进程单元,用于接收来自升级进程单元的重载指令,通知底层进程单元和服务进程单元关闭进程;而后加载升级后的底层进程和服务进程;
所述底层进程单元,用于根据初始化进程单元的通知保存数据后退出底层进程;
所述服务进程单元,用于根据初始化进程单元的通知保存数据后退出服务进程。
从上述方案可以看出,本发明中,在升级成功后,升级进程向初始化进程发送重载指令,初始化进程通知关闭应用层进程中的底层进程和服务进程,而后,初始化进程重新加载升级后的底层进程和服务进程。采用本发明方案,在***升级完成后无需进行重启,缩短了***生效的时间。
附图说明
图1为现有技术终端进行***启动的流程图;
图2为加载***应用层进程的流程图;
图3为本发明终端进行***升级后生效的方法示意性流程图;
图4为本发明终端进行***升级后生效的方法流程图实例;
图5为本发明终端的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,下面结合实施例和附图,对本发明进一步详细说明。
发明人在进行本发明的过程中发现,***升级是针对应用层的升级,而对硬件、内核没有改变;具体地,***升级只涉及应用层进程中底层进程和服务进程的重新加载,因而,本发明在升级完成后,只重新加载应用层进程中升级后的底层进程和服务进程。
终端在进行***启动的过程中,会加载应用层进程。加载应用层进程的流程具体包括:启动应用层进程中的初始化(init)进程,初始化进程为父进程,而后再由初始化进程加载其所有子进程。
参见图2,为初始化进程加载其子进程的流程,其包括以下步骤:
步骤201,初始化所有设备文件,加载分区***。
步骤202,设置设备及内核参数,设置***权限及环境。
步骤203,加载底层进程。
底层进程主要包括:SystemServer、servicemanager、vold、netd、drmserver、mediaserver、adbd、dhcpcd、rild、dbus、sdptool、mtpd、gator等进程。
步骤204,加载服务进程。
具体地,启动zygote进程,zygote进程是所有服务进程中的父进程,所有的服务进程都是由zygote孵化。Zygote启动android应用层的一些关键服务,包括:setting、mail、wallpaper、surfaceflinger、audioflinger等
参见图3,为本发明终端进行***升级后生效的方法示意性流程图,其包括以下步骤:
步骤301,升级进程进行***升级,升级成功后向初始化进程发送用于指示重新加载的重载指令。
重载指令为本发明中定义的用于指示升级进程进行重新加载的指令。
由于本发明仅针对应用层进行升级,因此,优选地,本步骤可在完成应用层升级后向初始化进程发送重载指令。
步骤302,初始化进程接收重载指令后通知关闭应用层进程中的底层进程和服务进程,底层进程和服务进程保存数据并退出。
初始化进程与底层进程和服务进程之间使用linux的signal消息机制进行交互,signal为函数名,用于设置某一消息的对应动作;本发明在linux中自定义一类消息,即预关闭指令,用该指令来标识进行程序关闭,具体地,将对应底层进程的预关闭指令表示为SIG_LINUX_PREKILL,将对应服务器进程的预关闭指令表示为SIG_APP_PREKILL。相应地,底层进程和服务器进程接收预关闭指令后,保存数据并退出。
进一步地,初始化进程通知关闭应用层进程中的底层进程和服务进程时,还可设置等待时间,判断底层进程和服务进程是否在等待时间内关闭,如果不是,则通知未关闭的底层进程和服务进程强制关闭;如果是,则执行步骤303。所述等待时间例如为2秒。
所述初始化进程通知未关闭的底层进程和服务进程强制关闭具体包括:初始化进程向未关闭的底层进程和服务进程发送关闭(kill)指令。关闭指令为signal消息机制中用于通知进程进行强行关闭的指令。底层进程和服务进程接收关闭指令后不进行数据保存而强行退出。
判断底层进程和服务进程是否在等待时间内关闭可具体包括:在等待时间内每隔设定时间遍历底层进程和服务进程是否关闭,以确定底层进程和服务进程在等待时间内是否关闭。所述设定时间例如为100ms。
终端***的进程列表中记录了***当前运行的各进程的信息,包括各进程的标识(ID)、名字、占用CPU的比例等。如果底层进程和服务进程都已关闭,则进程列表中只包含关于初始化进程的记录;如果还有未关闭的底层进程和服务进程,则进程列表中包含关于初始化进程、未关闭的底层进程和未关闭的服务进程的记录。初始化进程可通过***提供的用于调用进程列表的接口,调用进程列表,以获知当前还有哪些底层进程和服务进程没有关闭。
每隔设定时间遍历底层进程和服务进程是否关闭可结合进程列表实现,具体地,包括:初始化进程每隔设定时间判断进程列表中是否只有关于初始化进程的记录,如果是,则确定底层进程和服务进程都已关闭。
步骤303,初始化进程加载升级后的底层进程和服务进程。
初始化进程加载升级后的底层进程和服务进程的过程,与现有方式相同。
下面同样以升级android***为例,通过图4的流程对本发明升级后生效的方法进行举例说明,图4流程包括以下步骤:
步骤401,启动硬件初始化加载程序。
步骤402,运行***内核(kernel)进程。
步骤403,加载应用层进程。
本步骤具体包括:
初始化所有设备文件,加载分区***;
设置设备及内核参数,设置***权限及环境;
加载底层进程;
加载服务进程。
步骤404,升级进程进行***升级,升级成功后向初始化进程发送重载指令。
步骤405,初始化进程接收重载指令后向应用层进程中的底层进程和服务进程发送预关闭指令,并设置等待时间和设定时间,底层进程和服务进程接收预关闭指令后保存数据并退出。
本实例中,假设等待时间为2s,设定时间为100ms;关于等待时间的定时器和关于设定时间的定时器都在发送预关闭指令时开启。
步骤406,在设定时间到来时,初始化进程判断进程列表中是否只有关于初始化进程的记录,如果是,则确定底层进程和服务进程都已关闭,执行步骤407,否则,执行步骤408。
设定时间到来时,即关于设定时间的定时器计时结束时;关于设定时间的定时器计时结束时,重新启动计时。
步骤408,初始化进程判断下一个设定时间是否到达,如果到达,则执行步骤409,如果没有到达,则继续等待,返回步骤406。
步骤409,初始化进程向未关闭的底层进程和服务进程发送关闭指令,底层进程和服务进程接收关闭指令后不进行数据保存而强行退出。
初始化进程在2s内,每个100ms检查一次,看是否底层进程和服务进程都已关闭。
步骤407,初始化进程加载升级后的底层进程和服务进程。
至此,升级后的***生效。
图4的实例中,***升级完成后,向初始化进程发送重载指令,由初始化进程关闭android应用层进程中的底层进程和服务进程,待关闭后,再发送重启事件,以重新加载新的底层进程和服务进程。该过程中,只重新加载了Android应用层进程中的底层进程和服务进程,无需加载启动bootloader,也无需运行kernel进程;并且,由于加载应用层进程的时间主要花在加载升级后的底层进程和服务进程上,而加载应用层仅和运行kernel进程的时间差不多,从而,相比现有技术升级***后重新启动的方式,本发明方案节省了至少一半的时间。
参见图5,为本发明终端的结构示意图,其包括升级进程单元、初始化进程单元、底层进程单元和服务进程单元;
所述升级进程单元,用于进行***升级,升级成功后向初始化进程单元发送用于指示重新加载的重载指令;
所述初始化进程单元,用于接收来自升级进程单元的重载指令,通知底层进程单元和服务进程单元关闭进程;而后加载升级后的底层进程和服务进程;
所述底层进程单元,用于根据初始化进程单元的通知保存数据后退出底层进程;
所述服务进程单元,用于根据初始化进程单元的通知保存数据后退出服务进程。
可选地,所述初始化进程单元包括判断子单元,用于在通知关闭应用层进程中的底层进程和服务进程时,设置等待时间,判断底层进程和服务进程是否在等待时间内关闭,如果不是,则通知未关闭的底层进程和服务进程强制关闭;
所述底层进程单元,还用于根据初始化进程单元的通知强制退出底层进程;
所述服务进程单元,用于根据初始化进程单元的通知强制退出服务进程。
可选地,所述判断子单元包括进程关闭判断模块,用于在等待时间内每隔设定时间判断进程列表中是否只有关于初始化进程的记录,如果是,则确定底层进程和服务进程都已关闭。
本发明所述终端可以是基于android***的终端。
本发明实施例所描述的终端可以在硬件、软件、固件或这三者的任意组合来实现。如果在软件中实现,这些功能可以存储与计算机可读的媒介上,或以一个或多个指令或代码形式传输于计算机可读的媒介上。计算机可读媒介包括电脑存储媒介和便于使得让计算机程序从一个地方转移到其它地方的通信媒介。存储媒介可以是任何通用或特殊电脑可以接入访问的可用媒体。例如,这样的计算机可读媒体可以包括但不限于RAM、ROM、EEPROM、CD-ROM或其它光盘存储、磁盘存储或其它磁性存储装置,或其它任何可以用于承载或存储以指令或数据结构和其它可被通用或特殊计算机、或通用或特殊处理器读取形式的程序代码的媒介。此外,任何链接都可以被适当地定义为计算机可读媒介,所述的碟片(disk)和磁盘(disc)包括压缩磁盘、镭射盘、光盘、DVD、软盘和蓝光光盘,磁盘通常以磁性复制数据,而碟片通常以激光进行光学复制数据。上述的组合也可以包含在计算机可读媒介中。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。

Claims (10)

1.一种终端进行***升级后生效的方法,其特征在于,该方法包括:
升级进程进行***升级,升级成功后向初始化进程发送用于指示重新加载的重载指令;
初始化进程接收重载指令后通知关闭应用层进程中的底层进程和服务进程,底层进程和服务进程保存数据并退出;
初始化进程加载升级后的底层进程和服务进程。
2.如权利要求1所述的方法,其特征在于,所述初始化进程通知关闭应用层进程中的底层进程和服务进程时,还设置等待时间,判断底层进程和服务进程是否在等待时间内关闭,如果不是,则通知未关闭的底层进程和服务进程强制关闭。
3.如权利要求2所述的方法,其特征在于,所述判断底层进程和服务进程是否在等待时间内关闭包括:
初始化进程在等待时间内每隔设定时间判断进程列表中是否只有关于初始化进程的记录,如果是,则确定底层进程和服务进程都已关闭。
4.如权利要求2所述的方法,其特征在于,所述初始化进程通知关闭应用层进程中的底层进程和服务进程包括:初始化进程向应用层进程中的底层进程和服务进程发送预关闭指令;
所述初始化进程通知未关闭的底层进程和服务进程强制关闭包括:初始化进程向未关闭的底层进程和服务进程发送关闭指令。
5.如权利要求1、2、3或4所述的方法,其特征在于,所述升级进程进行***升级之前,该方法还包括:
启动硬件初始化加载程序;
运行***内核进程;
加载应用层进程。
6.如权利要求5所述的方法,其特征在于,所述加载应用层进程包括:
启动应用层进程中的初始化进程;
初始化所有设备文件,加载分区***;
设置设备及内核参数,设置***权限及环境;
初始化进程加载底层进程;
初始化进程加载服务进程。
7.一种终端,其特征在于,该终端包括升级进程单元、初始化进程单元、底层进程单元和服务进程单元;
所述升级进程单元,用于进行***升级,升级成功后向初始化进程单元发送用于指示重新加载的重载指令;
所述初始化进程单元,用于接收来自升级进程单元的重载指令,通知底层进程单元和服务进程单元关闭进程;而后加载升级后的底层进程和服务进程;
所述底层进程单元,用于根据初始化进程单元的通知保存数据后退出底层进程;
所述服务进程单元,用于根据初始化进程单元的通知保存数据后退出服务进程。
8.如权利要求7所述的终端,其特征在于,所述初始化进程单元包括判断子单元,用于在通知关闭应用层进程中的底层进程和服务进程时,设置等待时间,判断底层进程和服务进程是否在等待时间内关闭,如果不是,则通知未关闭的底层进程和服务进程强制关闭;
所述底层进程单元,还用于根据初始化进程单元的通知强制退出底层进程;
所述服务进程单元,用于根据初始化进程单元的通知强制退出服务进程。
9.如权利要求7所述的终端,其特征在于,所述判断子单元包括进程关闭判断模块,用于在等待时间内每隔设定时间判断进程列表中是否只有关于初始化进程的记录,如果是,则确定底层进程和服务进程都已关闭。
10.如权利要求7、8或9所述的终端,其特征在于,所述终端为基于android***的终端。
CN201210188520.0A 2012-06-08 2012-06-08 终端进行***升级后生效的方法及该终端 Active CN103473081B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210188520.0A CN103473081B (zh) 2012-06-08 2012-06-08 终端进行***升级后生效的方法及该终端

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210188520.0A CN103473081B (zh) 2012-06-08 2012-06-08 终端进行***升级后生效的方法及该终端

Publications (2)

Publication Number Publication Date
CN103473081A true CN103473081A (zh) 2013-12-25
CN103473081B CN103473081B (zh) 2016-10-12

Family

ID=49797952

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210188520.0A Active CN103473081B (zh) 2012-06-08 2012-06-08 终端进行***升级后生效的方法及该终端

Country Status (1)

Country Link
CN (1) CN103473081B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104503803A (zh) * 2014-12-26 2015-04-08 上海斐讯数据通信技术有限公司 一种Linux内核及文件***的升级方法
CN105808218A (zh) * 2014-12-30 2016-07-27 乐视致新电子科技(天津)有限公司 一种针对用户界面ui控件效果的绘制方法和装置
CN105912352A (zh) * 2015-12-15 2016-08-31 乐视网信息技术(北京)股份有限公司 一种移动终端升级的方法和终端

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005029325A1 (en) * 2003-08-21 2005-03-31 Ti Technologies Limited (A New Zealand Company) Method and apparatus for booting a computer system
CN1652080A (zh) * 2004-02-07 2005-08-10 Lg电子株式会社 用于更新固件的装置和方法
CN1825283A (zh) * 2006-03-31 2006-08-30 浙江大学 嵌入式操作***硬件镜像启动优化的实现方法
CN101546281A (zh) * 2008-03-28 2009-09-30 华为技术有限公司 提高嵌入式***可靠性的方法和装置
CN101782859A (zh) * 2010-03-18 2010-07-21 上海乐毅信息科技有限公司 一种嵌入式***在应用中的升级方法
CN101807156A (zh) * 2010-03-04 2010-08-18 广东宝莱特医用科技股份有限公司 一种通过接口媒介进行***维护更新的设备及方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005029325A1 (en) * 2003-08-21 2005-03-31 Ti Technologies Limited (A New Zealand Company) Method and apparatus for booting a computer system
CN1652080A (zh) * 2004-02-07 2005-08-10 Lg电子株式会社 用于更新固件的装置和方法
CN1825283A (zh) * 2006-03-31 2006-08-30 浙江大学 嵌入式操作***硬件镜像启动优化的实现方法
CN101546281A (zh) * 2008-03-28 2009-09-30 华为技术有限公司 提高嵌入式***可靠性的方法和装置
CN101807156A (zh) * 2010-03-04 2010-08-18 广东宝莱特医用科技股份有限公司 一种通过接口媒介进行***维护更新的设备及方法
CN101782859A (zh) * 2010-03-18 2010-07-21 上海乐毅信息科技有限公司 一种嵌入式***在应用中的升级方法

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104503803A (zh) * 2014-12-26 2015-04-08 上海斐讯数据通信技术有限公司 一种Linux内核及文件***的升级方法
CN104503803B (zh) * 2014-12-26 2019-07-09 上海斐讯数据通信技术有限公司 一种Linux内核及文件***的升级方法
CN105808218A (zh) * 2014-12-30 2016-07-27 乐视致新电子科技(天津)有限公司 一种针对用户界面ui控件效果的绘制方法和装置
CN105912352A (zh) * 2015-12-15 2016-08-31 乐视网信息技术(北京)股份有限公司 一种移动终端升级的方法和终端

Also Published As

Publication number Publication date
CN103473081B (zh) 2016-10-12

Similar Documents

Publication Publication Date Title
US10002054B2 (en) Method and system for performing automatic system recovery
CN104185836A (zh) 用于在***改变之后验证计算设备的适当操作的方法和***
US20160364297A1 (en) System and Method for Hosting Multiple Recovery Operating Systems in Memory
US8234486B2 (en) Managing reboot operations
US20130227565A1 (en) Apparatus and method for managing application for guest operating system
WO2011095074A1 (zh) 一种终端设备***升级方法及终端设备
JP2017506774A (ja) インテリジェント端末のハードウェアが異常動作しているかどうかをチェックするための方法およびインテリジェント端末
WO2021036917A1 (zh) 物联网设备中的***升级方法、装置、设备及存储介质
CN108563472B (zh) 基于多开应用的服务插件加载方法及装置
CN111158945B (zh) 内核故障处理方法、装置、网络安全设备和可读存储介质
CN103473081A (zh) 终端进行***升级后生效的方法及该终端
CN113032183A (zh) ***管理方法、装置、计算机设备和存储介质
CN108920338A (zh) 一种指示文件***状态的方法及终端
CN109634782B (zh) 一种***健壮性的检测方法、装置、存储介质及终端
CN116775061A (zh) 微服务应用的部署方法、装置、设备及存储介质
CN107341026B (zh) 驱动程序的控制方法及装置
CN101242201B (zh) 一种主备***维护的方法、***和装置
KR101420026B1 (ko) 부팅 프로세스 중에 파일들을 로딩하기 위한 방법, 장치 및 컴퓨터 판독가능 저장 매체
CN111782515A (zh) web应用的状态检测方法、装置、服务器和存储介质
WO2021151514A1 (en) Network function management
CN113535238B (zh) 一种针对ddr的兼容方法、装置、存储介质及设备
US12014185B2 (en) Unified boot image for multiple operating systems
US20240020103A1 (en) Parallelizing data processing unit provisioning
CN111142915B (zh) 更新方法、装置和设备
US20240028343A1 (en) Unified boot image for multiple operating systems

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20200831

Address after: 518057 Nanshan District science and technology zone, Guangdong, Zhejiang Province, science and technology in the Tencent Building on the 1st floor of the 35 layer

Co-patentee after: TENCENT CLOUD COMPUTING (BEIJING) Co.,Ltd.

Patentee after: TENCENT TECHNOLOGY (SHENZHEN) Co.,Ltd.

Address before: Shenzhen Futian District City, Guangdong province 518044 Zhenxing Road, SEG Science Park 2 East Room 403

Patentee before: TENCENT TECHNOLOGY (SHENZHEN) Co.,Ltd.

TR01 Transfer of patent right