CN1178131C - 以模块化方式更新执行中应用软件的系统及其方法 - Google Patents

以模块化方式更新执行中应用软件的系统及其方法 Download PDF

Info

Publication number
CN1178131C
CN1178131C CNB011114673A CN01111467A CN1178131C CN 1178131 C CN1178131 C CN 1178131C CN B011114673 A CNB011114673 A CN B011114673A CN 01111467 A CN01111467 A CN 01111467A CN 1178131 C CN1178131 C CN 1178131C
Authority
CN
China
Prior art keywords
functional module
application software
memory location
file
kenel
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.)
Expired - Fee Related
Application number
CNB011114673A
Other languages
English (en)
Other versions
CN1374589A (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.)
BenQ Corp
Original Assignee
BenQ Corp
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 BenQ Corp filed Critical BenQ Corp
Priority to CNB011114673A priority Critical patent/CN1178131C/zh
Publication of CN1374589A publication Critical patent/CN1374589A/zh
Application granted granted Critical
Publication of CN1178131C publication Critical patent/CN1178131C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Information Transfer Between Computers (AREA)

Abstract

本发明是提供一种以模块化方式更新执行中的应用软件的系统及其方法。客户端计算机执行第一应用软件,并对服务器提出更新要求,服务器接收该要求,根据该要求传输第二型态文件到客户端计算机。第一应用软件对第二形态文件的识别码进行判断,通过判断如果该第二功能模块是经更新的,则下载该第二功能模块。否则不下载该第二功能模块。

Description

以模块化方式更新执行中应用 软件的系统及其方法
技术领域
本发明是提供一种更新执行中的应用软件的系统及其方法,特别是,一种以模块化方式更新执行中的应用软件的系统及其方法。
背景技术
在现有技术的系统中,当系统需要对应用软件进行更新时,必须先终止该应用软件的执行,才能够以新的应用软件取代旧的应用软件,然后再启动新的应用软件以进行执行。
在主从网络系统结构中,新的应用软件是存放在网络的服务器中,使得客户端计算机可以下载新的应用软件以进行应用软件的更新。因此,当服务器中的应用软件有所更新与改变时,服务器必须通知客户端计算机的使用者目前有新版本的应用软件。当使用者决定进行应用服务器的版本更新,如果客户端计算机正在执行旧版本的应用软件,使用者必须先终止旧版应用软件的执行,用户端计算机才会连接到网络上的一个特定存储装置,以下载新版本应用软件,并且将新版本应用软件存放在客户端计算机中存放旧版本应用软件的位置,以取代旧版本应用软件。然后,使用者必须重新启动新版本应用软件。
因此,当客户端计算机正在执行旧版本应用软件而使用者想要更新应用软件时,使用者必须先中断应用软件的执行,待应用软件更新之后,再重新启动新的应用软件,以重新执行应用软件。所以,在现有技术的系统中,应用软件的执行会被迫中断以进行更新。
此外,在现有技术中,用户端计算机是下载完整的新版本应用软件以完全取代旧版本应用软件。然而,应用软件包含多个功能模块,在一个新版本应用软件中,并不是所有的功能模块都有所更新。因此,在下载应用软件的过程中,无论功能模块是否有所更新而全部下载,会下载一些未经更新而无须下载的功能模块,因而无法达到有效率的应用软件更新。
发明内容
因此,本发明的目的是提供一种以模块化方式更新执行中的应用软件的系统及其方法。使用者无须终止旧版本应用软件的执行,而可直接对执行中的应用软件进行更新。在应用软件更新后,客户端计算机会继续执行新版本应用软件,因此应用软件的执行不会被迫中断。也就是说,在应用软件的更新过程中,使用者无须终止旧版应用软件,也无须开启新版本应用软件以重新执行应用软件。此外,在应用软件的更新过程中,客户端计算机只下载新版应用软件中经过更新的(updated)功能模块,而不下载未经更新的功能模块,因而提高更新应用软件的效率。
本发明提供一种利用模块化方式更新执行中的应用软件的方法,该方法包括以下步骤:客户端计算机执行第一应用软件,并且提出软件版本更新要求,其中第一应用软件包含多个第一功能模块,而客户端计算机存储有第一型态文件,该文件包含对应于该第一应用软件的第一应用软件版本识别码,以及多个第一功能模块版本识别码,每个第一功能模块版本识别码对应于一个第一功能模块,其中该客户端计算机包含一个第一存储位置以及一第二存储位置,该多个第一功能模块可分为第一群组以及第二群组,该第一群组所包含的第一功能模块存放在该第一存储位置,而该第二群组所包含的第一功能模块存放在该第二存储位置;服务器接收客户端计算机的要求,并且根据该要求传输第二型态文件到客户端计算机,该第二型态文件包含应用软件名称,文件地址,第二应用软件版本识别码,以及多个第二功能模块版本识别码,该文件地址对应于一个存储装置,而该存储装置存储有对应于该应用软件名称的第二应用软件,该第二版本识别码对应于该第二应用软件,而该第二应用软件包含多个第二功能模块,每个第二功能模块版本识别码对应于第二功能模块,而每个第一功能模块对应于一个第二功能模块;该客户端计算机执行下列步骤:(a)该第一应用软件接收该第二型态文件;(b)该第一应用软件判断该第二应用软件版本识别码是否相同于该第一应用软件版本识别码,如果是,则继续执行该第一应用软件,如果不是,则执行步骤(c);(c)该第一应用软件判断该第二功能模块版本识别码是否相同于其所对应的第一功能模块版本识别码,如果是,则执行步骤(d),如果不是,则执行步骤(e);(d)该第一应用软件判断是否还有尚未进行判断的第二功能模块版本识别码,如果有,则执行步骤(c)以判断下一个第二功能模块版本识别码,如果没有,则执行步骤(f);(e)该第一应用软件根据该第二型态文件中的文件地址,连接到该文件地址所对应的存储单元,以下载并且存储该第二功能模块版本识别码所对应的第二功能模块,接着,执行步骤(d);(f)存放在该第一存储位置的第一功能模块将对应于存放在该第二存储位置的第一功能模块的第二功能模块复制到该第二存储位置,以取代其所对应的第一功能模块;(g)存放在该第一存储位置的第一功能模块启动存放在该第二存储位置的第一功能模块;(h)结束存放在该第一存储位置的第一功能模块;(i)存放在该第二存储位置的第一功能模块将对应于存放在该第一存储位置的第一功能模块的第二功能模块复制到该第一存储位置,以取代其所对应的第一功能模块。
本发明提供一种以模块化方式更新执行中的应用软件的系统,其包含:服务器,该服务器包含:多个第二型态文件,每个第二型态文件包含应用软件名称,文件地址,第二应用软件版本识别码,以及多个第二功能模块版本识别码,该文件地址对应于一个存储装置,而该存储装置存有对应于该应用软件名称的一个第二应用软件,该第二版本识别码是对应于该第二应用软件,:而该第二应用软件包含多个第二功能模块,每个第二功能模块版本识别码对应于一个第二功能模块;以及客户端计算机,该计算机包含:第一型态文件,存储在该客户端存储装置中,其包含第一应用软件版本识别码,以及多个第一功能模块版本识别码;第一应用软件,其中该第一应用软件版本识别码对应于该第一应用软件,而该第一应用软件包含多个第一功能模块,每个第一功能模块是对应于一个第一功能模块版本识别码,而每个第一功能模块对应于一个第二功能模块,以及;客户端存储装置,包含第一存储位置以及第二存储位置,该多个第一功能模块可分为第一群组以及第二群组,该第一群组所包含的第一功能模块存放在该第一存储位置,而该第二群组所包含的第一功能模块存放在该第二存储位置。
附图说明
图1是本发明系统的示意图;
图2是本发明方法的流程图;
图3是本发明系统的第一型态文件的示意图;
图4是本发明系统的第二型态文件的示意图;
图5是本发明系统的第一应用软件的示意图;
图6是本发明系统的第二应用软件的示意图。
附图中标号的说明
10系统
12服务器
14客户端计算机
16外部服务器
18第二型态文件
20、24存储装置
26第一型态文件
34第一应用软件
50第二应用软件
具体实施方式
请参考图1至图6。图1是本发明系统10的示意图。图2是本发明方法11的流程图。图3是系统10的第一型态文件26的示意图。图4是系统10的第二型态文件18的示意图。图5是系统10的第一应用软件34的示意图。图6是系统10的第二应用软件50的示意图。系统10包含服务器12,客户端计算机14,以及多个外部服务器16。服务器12包含多个第二型态文件18,以及存储装置20。客户端计算机14包含客户端存储装置22,第一型态文件26,以及第一应用软件34。每个外部服务器16包含存储装置24。
第一型态文件26可以是一个独立文件存放在客户端计算机14中,也可存在于操作系统的注册文件中。
如图3所示,每个第一型态文件26包含第一应用软件版本识别码36,以及多个第一功能模块版本识别码38。
如图5所示,第一应用软件34包含多个第一功能模块40。第一应用软件版本识别码36对应于第一应用软件34,而每个第一功能模版本识别码38对应于第一功能模块40。
此外,客户端存储装置22包含第一存储装置30以及第二存储位置32。多个第一功能模块40可分为第一群组以及第二群组,而第一群组所包含的第一功能模块40是存放在第一存储位置30,而该二群组所包含的第一功能模块40是存放在第二存储位置32。
如图4所示,第二型态文件18包含应用软件名称42,文件地址44,第二应用软件版本识别码46,以及多个第二功能模块版本识别码48。文件地址44对应于存储装置20或24,而存储装置20或24存有对应于应用软件名称42的第二应用软件50。如图6所示,第二应用软件50包含多个第二功能模块52。第二应用软件版本识别码46对应于第二应用软件50,而每个第二功能模块版本识别码48对应于第二功能模块52。
此外,每个第一功能模块40对应于第二功能模块52。而版本识别码可以是一个版本号码,也可以是应用软件的更新时间,更新时间愈晚,应用软件的版本越新。
如图2所示,在步骤201中,客户端计算机14执行第一应用软件34,并且对服务器12提出一个要求。
在步骤202中,服务器12接收该要求,并且根据该要求传输一个第二型态文件18到客户端计算机14。
在步骤203中,客户端计算机14的第一应用软件34接收该第二型态文件18。
在步骤204中,第一应用软件34判断第二应用软件版本识别码46是否相同于第一应用软件版本识别码36。如果是,则继续执行第一应用软件34,如果不是,则执行步骤205。
在步骤205中,第一应用软件34判断第二功能模块版本识别码48是否相同于其所对应的第一功能模块版本识别码38,如果是,则执行步骤206,如果不是,则执行步骤207。
在步骤206中,第一应用软件34判断是否还有尚未进行判断的第二功能模块版本识别码48,如果有,则执行步骤205以判断下一个第二功能模块版本识别码48,如果没有,则执行步骤208。
在步骤207中,第一应用软件34根据第二型态文件18中的文件地址44,连接到文件地址44所对应的存储装置20或24,以下载第二功能模块版本识别码48所对应的第二功能模块52,并且将第二功能模块52存放在客户端存储装置22,接着,执行步骤206。
在步骤205至207中,第一应用软件34会利用第二功能模块版本识别码48来判断,相对于其所对应的第一功能模块40,每个第二功能模块52是否为一个经过更新(upda ted)的功能模块。当第二功能模块52为一个经过更新的功能模块时,第一应用软件34才会下载该第二功能模块52。因此,客户端计算机14仅下载经过更新的第二功能模块52,而不下载所有的第二功能模块52。
在步骤206中,当第一应用软件34的判断结果为没有任何尚未进行判断的第二功能模块版本识别码48时,即表示第一应用软件34已经完成下载经过更新的第二功能模块52的工作,也就是第二应用软件50中所有经过更新的第二功能模块52已经存放在客户端存储装置22。
在步骤208中,存放在第一存储位置30的第一功能模块40将对应于存放在第二存储位置32的第一功能模块40的第二功能模块52复制到第二存储位置32,以取代其所对应的第一功能模块40。
在步骤209中,存放在第一存储位置30的第一功能模块40启动存放在第二存储位置32的第一功能模块40。
在步骤210中,存放在第二存储位置32的第一功能模块40结束存放在第一存储位置30的第一功能模块40。
步骤210也可以是存放在第一存储位置30的第一功能模块40自行结束。
在步骤211中,存放在第二存储位置32的第一功能模块40将对应于存放在第一存储位置30的第一功能模块40的第二功能模块52复制到第一存储位置30,以取代其所对应的第一功能模块40。
由以上描述可以看出,当系统130正在执行第一应用软件34时,系统10可以将第一应用软件34更新为第二应用软件50,并且继续执行更新后的第二应用软件50,以完成执行工作。系统10可以在使用者没有察觉的情况之下,自动进行应用软件版本的更新,以达到更佳的执行效果。
与现有技术比较,本发明系统10可以更新一个执行中的应用软件。当服务器中的应用软件有所更新与改变时,使用者无须终止旧版本应用软件的执行,而可以直接对执行中的应用软件进行版本更新。当应用软件不是很大,或者处在宽带网络环境时,本发明系统将会有最好的效果。
因此,在本发明系统10中,对于使用者而言,使用者可以总是拥有更新版本的应用软件,而无须担心功能升级的问题。而对应用软件的提供者而言,可以通过自动更新应用软件来确保目前所有使用者所使用的都是最新版本的应用软件。此外,当提供者发现该应用软件出现错误(bugs)时,在对应用软件进行除错(debug)之后,提供者可以利用本发明的方法来即时更新使用者所使用的应用软件,以进行应用软件的更正。
此外,本发明系统10是以模块化的方式来更新一个执行中的应用软件。在下载第二功能模块之前,系统10会先判断该第二功能模块52是否是一个经过更新的功能模块。当第二功能模块52是一个经过更新的功能模块时,客户端计算机14才会下载该第二功能模块52。因此,客户端计算机14仅下载第二应用软件50中经过更新的第二功能模块52,而不下载第二应用软件50的所有第二功能模块52,因而提高了更新应用软件的效率。
以上所述仅是本发明的优选实施例,凡按照本发明的权利要求书所限定的范围所作出的等同变化或修改,都将属本发明专利的涵盖范围之内。

Claims (10)

1.一种利用模块化方式更新执行中的应用软件的方法,该方法包括以下步骤:
客户端计算机执行第一应用软件,并且提出软件版本更新要求,其中第一应用软件包含多个第一功能模块,而客户端计算机存储有第一型态文件,该文件包含对应于该第一应用软件的第一应用软件版本识别码,以及多个第一功能模块版本识别码,每个第一功能模块版本识别码对应于一个第一功能模块,其中该客户端计算机包含一个第一存储位置以及一第二存储位置,该多个第一功能模块可分为第一群组以及第二群组,该第一群组所包含的第一功能模块存放在该第一存储位置,而该第二群组所包含的第一功能模块存放在该第二存储位置;
服务器接收客户端计算机的要求,并且根据该要求传输第二型态文件到客户端计算机,该第二型态文件包含应用软件名称,文件地址,第二应用软件版本识别码,以及多个第二功能模块版本识别码,该文件地址对应于一个存储装置,而该存储装置存储有对应于该应用软件名称的第二应用软件,该第二版本识别码对应于该第二应用软件,而该第二应用软件包含多个第二功能模块,每个第二功能模块版本识别码对应于第二功能模块,而每个第一功能模块对应于一个第二功能模块;
该客户端计算机执行下列步骤:
(a)该第一应用软件接收该第二型态文件;
(b)该第一应用软件判断该第二应用软件版本识别码是否相同于该第一应用软件版本识别码,如果是,则继续执行该第一应用软件,如果不是,则执行步骤(c);
(c)该第一应用软件判断该第二功能模块版本识别码是否相同于其所对应的第一功能模块版本识别码,如果是,则执行步骤(d),如果不是,则执行步骤(e);
(d)该第一应用软件判断是否还有尚未进行判断的第二功能模块版本识别码,如果有,则执行步骤(c)以判断下一个第二功能模块版本识别码,如果没有,则执行步骤(f);
(e)该第一应用软件根据该第二型态文件中的文件地址,连接到该文件地址所对应的存储单元,以下载并且存储该第二功能模块版本识别码所对应的第二功能模块,接着,执行步骤(d);
(f)存放在该第一存储位置的第一功能模块将对应于存放在该第二存储位置的第一功能模块的第二功能模块复制到该第二存储位置,以取代其所对应的第一功能模块;
(g)存放在该第一存储位置的第一功能模块启动存放在该第二存储位置的第一功能模块;
(h)结束存放在该第一存储位置的第一功能模块;
(i)存放在该第二存储位置的第一功能模块将对应于存放在该第一存储位置的第一功能模块的第二功能模块复制到该第一存储位置,以取代其所对应的第一功能模块。
2.如权利要求1的方法,其中在步骤(h)中,存放在该第一存储位置的第一功能模块自行结束。
3.如权利要求1的方法,其中在步骤(h)中,存放在该第二存储位置的第一功能模块结束存放在该第一存储位置的第一功能模块。
4.如权利要求1的方法,其中该存储单元为一个外部服务器。
5.如权利要求1的方法,其中该服务器包含该存储装置。
6.如权利要求1的方法,其中当该第二应用软件版本识别码不同于该第一应用软件版本识别码时,该客户端计算机会以该第二型态文件取代该第一型态文件。
7.一种以模块化方式更新执行中的应用软件的系统,其包含:
服务器,该服务器包含:
多个第二型态文件,每个第二型态文件包含应用软件名称,文件地址,第二应用软件版本识别码,以及多个第二功能模块版本识别码,该文件地址对应于一个存储装置,而该存储装置存有对应于该应用软件名称的一个第二应用软件,该第二版本识别码是对应于该第二应用软件,而该第二应用软件包含多个第二功能模块,每个第二功能模块版本识别码对应于一个第二功能模块;以及
客户端计算机,该计算机包含:
第一型态文件,存储在该客户端存储装置中,其包含第一应用软件版本识别码,以及多个第一功能模块版本识别码;
第一应用软件,其中该第一应用软件版本识别码对应于该第一应用软件,而该第一应用软件包含多个第一功能模块,每个第一功能模块是对应于一个第一功能模块版本识别码,而每个第一功能模块对应于一个第二功能模块,以及;
客户端存储装置,包含第一存储位置以及第二存储位置,该多个第一功能模块可分为第一群组以及第二群组,该第一群组所包含的第一功能模块存放在该第一存储位置,而该第二群组所包含的第一功能模块存放在该第二存储位置。
8.如权利要求7的系统,其中该存储装置一个外部服务器。
9.如权利要求7的系统,其中该服务器包含该存储装置。
10.如权利要求7的系统,其中当该第二版本识别码不同于该第一版本识别码时,该客户端计算机会以该第二型态文件取代该第一型态文件。
CNB011114673A 2001-03-14 2001-03-14 以模块化方式更新执行中应用软件的系统及其方法 Expired - Fee Related CN1178131C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNB011114673A CN1178131C (zh) 2001-03-14 2001-03-14 以模块化方式更新执行中应用软件的系统及其方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB011114673A CN1178131C (zh) 2001-03-14 2001-03-14 以模块化方式更新执行中应用软件的系统及其方法

Publications (2)

Publication Number Publication Date
CN1374589A CN1374589A (zh) 2002-10-16
CN1178131C true CN1178131C (zh) 2004-12-01

Family

ID=4659069

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB011114673A Expired - Fee Related CN1178131C (zh) 2001-03-14 2001-03-14 以模块化方式更新执行中应用软件的系统及其方法

Country Status (1)

Country Link
CN (1) CN1178131C (zh)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1297891C (zh) * 2003-06-16 2007-01-31 纬创资通股份有限公司 交叉式固件升级方法和系统
CN1333339C (zh) * 2005-04-06 2007-08-22 清华大学 基于透明计算的计算设备和方法
US7716660B2 (en) * 2004-12-14 2010-05-11 Microsoft Corporation Method and system for downloading updates
CN100561921C (zh) * 2005-04-22 2009-11-18 鸿富锦精密工业(深圳)有限公司 客户端与服务器快速交换资料的系统及方法
JP4196969B2 (ja) * 2005-06-07 2008-12-17 コニカミノルタビジネステクノロジーズ株式会社 画像処理装置、画像処理装置におけるソフトウェアの更新方法、およびソフトウェア更新プログラム
US8271969B2 (en) 2007-08-09 2012-09-18 Research In Motion Limited Method and apparatus for determining the state of a computing device
CN101374147B (zh) * 2008-09-10 2011-08-10 华为终端有限公司 一种软件升级检测的方法、装置及系统
CN102156638A (zh) * 2010-02-11 2011-08-17 崴联科技股份有限公司 客制化软件源码的更新方法
CN102236562A (zh) * 2010-04-23 2011-11-09 英业达集团(天津)电子技术有限公司 计算机的文件的更新方法
CN107479911B (zh) * 2012-07-27 2021-07-16 华为终端有限公司 下载应用程序的方法、用户设备和应用服务器
CN105786542A (zh) * 2014-12-26 2016-07-20 乐视致新电子科技(天津)有限公司 智能设备及其系统升级方法
CN106227541A (zh) * 2016-07-27 2016-12-14 乐视控股(北京)有限公司 一种程序更新下载处理方法及移动终端
CN106886410B (zh) * 2017-01-06 2018-06-19 深圳云天励飞技术有限公司 一种软件版本管理系统
WO2019169587A1 (zh) * 2018-03-07 2019-09-12 华为技术有限公司 一种分功能模块安装应用程序的方法

Also Published As

Publication number Publication date
CN1374589A (zh) 2002-10-16

Similar Documents

Publication Publication Date Title
CN1178131C (zh) 以模块化方式更新执行中应用软件的系统及其方法
CN1222873C (zh) 模块化的bios更新机制
CN1197004C (zh) 用于管理嵌入设备中的应用程序的方法
US10348804B2 (en) System to automatically process components on a device
CN101110788B (zh) 升级客户端软件的方法及系统
CN1790266A (zh) 用于下载更新的方法和系统
US7174544B2 (en) JAVA compile-on-demand service system for accelerating processing speed of JAVA program in data processing system and method thereof
US20040230971A1 (en) Method and apparatus for packaging and streaming installation software
CN100345415C (zh) 在存储区域网络上执行启动、维护和安装操作的方法和设备
US20020144250A1 (en) System and method for updating an executing application software in a module manner
CN1477500A (zh) 一种Client/Server架构下软件自动升级更新的方法
CN1379956A (zh) 用于下载和管理编码对象列表的执行的方法和系统
CN1991757A (zh) 实现软件升级的方法
CN1918932A (zh) 在用户身份模块/可移动用户身份模块卡中的优选漫游列表更新
CN1552022A (zh) 文件归档
CN1295601C (zh) 进行软件应用的时间优化的替换
CN1545363A (zh) 一种分布式系统中客户端从服务器端下载软件的方法
US20040188510A1 (en) System for registry-based automatic installation and component handling on a device
CN1924802A (zh) 升级程序自身升级方法
CN1470985A (zh) 应用于外围装置的错误回报及修正方法
CN1755625A (zh) 便携式信息终端及其操作系统的启动方法
CN1812336A (zh) 一种用户终端管理方法
CN1842079A (zh) 对目标系统进行远程管理的方法和装置
CN115061707A (zh) 一种跨网段应用部署方法及终端
CN1740971A (zh) 基本输入输出系统程序和主机程序的升级方法

Legal Events

Date Code Title Description
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
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
C17 Cessation of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20041201