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

文档序号:6656981阅读:205来源:国知局
专利名称:以模块化方式更新执行中应用软件的系统及其方法
技术领域
本发明是提供一种更新执行中的应用软件的系统及其方法,特别是,一种以模块化方式更新执行中的应用软件的系统及其方法。
在现有技术的系统中,当系统需要对应用软件进行更新时,必须先终止该应用软件的执行,才能够以新的应用软件取代旧的应用软件,然后再启动新的应用软件以进行执行。
在主从网络系统结构中,新的应用软件是存放在网络的服务器中,使得客户端计算机可以下载新的应用软件以进行应用软件的更新。因此,当服务器中的应用软件有所更新与改变时,服务器必须通知客户端计算机的使用者目前有新版本的应用软件。当使用者决定进行应用服务器的版本更新,如果客户端计算机正在执行旧版本的应用软件,使用者必须先终止旧版应用软件的执行,用户端计算机才会连接到网络上的一个特定存储装置,以下载新版本应用软件,并且将新版本应用软件存放在客户端计算机中存放旧版本应用软件的位置,以取代旧版本应用软件。然后,使用者必须重新启动新版本应用软件。
因此,当客户端计算机正在执行旧版本应用软件而使用者想要更新应用软件时,使用者必须先中断应用软件的执行,待应用软件更新之后,再重新启动新的应用软件,以重新执行应用软件。所以,在现有技术的系统中,应用软件的执行会被迫中断以进行更新。
此外,在现有技术中,用户端计算机是下载完整的新版本应用软件以完全取代旧版本应用软件。然而,应用软件包含多个功能模块,在一个新版本应用软件中,并不是所有的功能模块都有所更新。因此,在下载应用软件的过程中,无论功能模块是否有所更新而全部下载,会下载一些未经更新而无须下载的功能模块,因而无法达到有效率的应用软件更新。
因此,本发明的目的是提供一种以模块化方式更新执行中的应用软件的系统及其方法。使用者无须终止旧版本应用软件的执行,而可直接对执行中的应用软件进行更新。在应用软件更新后,客户端计算机会继续执行新版本应用软件,因此应用软件的执行不会被迫中断。也就是说,在应用软件的更新过程中,使用者无须终止旧版应用软件,也无须开启新版本应用软件以重新执行应用软件。此外,在应用软件的更新过程中,客户端计算机只下载新版应用软件中经过更新的(updated)功能模块,而不下载未经更新的功能模块,因而提高更新应用软件的效率。


图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是否为一个经过更新(updated)的功能模块。当第二功能模块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,因而提高了更新应用软件的效率。
以上所述仅是本发明的优选实施例,凡按照本发明的权利要求书所限定的范围所作出的等同变化或修改,都将属本发明专利的涵盖范围之内。
权利要求
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的系统,其中当该第二版本识别码不同于该第一版本识别码时,该客户端计算机会以该第二型态文件取代该第一型态文件。
全文摘要
本发明是提供一种以模块化方式更新执行中的应用软件的系统及其方法。客户端计算机执行第一应用软件,并对服务器提出更新要求,服务器接收该要求,根据该要求传输第二型态文件到客户端计算机。第一应用软件对第二形态文件的识别码进行判断,通过判断如果该第二功能模块是经更新的,则下载该第二功能模块。否则不下载该第二功能模块。
文档编号G06F9/445GK1374589SQ0111146
公开日2002年10月16日 申请日期2001年3月14日 优先权日2001年3月14日
发明者颜向村 申请人:开碁数位科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1