一种软件升级的方法和软件升级装置的制作方法

文档序号:6464609阅读:154来源:国知局
专利名称:一种软件升级的方法和软件升级装置的制作方法
技术领域
本发明涉及计算机技术领域,特别涉及一种软件升级的方法和软件升级装置。
背景技术
目前,新的软件系统提供使用后,会出现一些错误;或者软件发布商为了 让自己的软件实现更多的功能,还会在已经发布的软件的基础上添加一些新的 功能,这时就必须对软件进行升级,实现消除软件系统的错误,以及对软件系 统添加新的功能。也就是说,软件升级是一个软件在使用过程中不可缺少的部分,是每一个 软件都要进行的。现有的软件升级方法1) 在软件运行过程中连接服务器,查看是否有新版本;2) 在有新版本后,下载新版本的功能模块;3) 停止软件运行,用新版本的功能模块替换旧版本的功能模块;4) 重新启动升级后的软件。由于目前软件升级的方法需要暂时停止正在运行的软件,对于个人使用的 软件还不会造成太大的影响,但对于像电子商务、通讯设备等需要不间断运行 的软件,系统由于软件暂时停止会降低软件运行效率以及用户满意度,更会造 成巨大的经济损失。综上所述,目前在软件升级过程中,必须先停止正在运行的软件,才能进 行升级,从而会降低软件运行效率以及用户满意度。发明内容本发明实施例提供一种软件升级的方法和软件升级装置,用以解决现有才支 术中存在的在软件升级过程中,必须先停止正在运行的软件,才能进行升级, 从而会降低软件运行效率以及用户满意度的问题。本发明实施例提供的一种软件升级的方法包括 在功能模块需要升级时,下载对应的新版本功能模块; 将下载的所述新版本功能模块加载到进程空间中,并将所述功能模块中的 数据复制到所述新版本功能模块中;在所述功能模块不运行时,删除所述功能模块。 本发明实施例提供的一种软件升级装置包括管理模块,用于在功能模块需要升级时,下载对应的新版本功能模块,将 下载的所述新版本功能模块加载到进程空间中;数据处理模块,用于将所述功能模块中的数据复制到所述新版本功能模块中;功能删除模块,用于在所述功能模块不运行时,删除所述功能模块。 在功能模块需要升级时,下载对应的新版本功能模块;将下载的所述新版 本功能模块加载到进程空间中,并将所述功能模块中的数据复制到所述新版本 功能模块中;在所述功能模块不运行时,删除所述功能模块,由于一个功能模 块执行一个功能,将每个功能独立,这样在一个功能模块运行时,下载该功能 模块的新版功能模块,在旧的功能模块不运行时,进行替换,从而在软件升级 时不需要暂停运行的软件,在不断升级软件系统,以修改错误、添加新功能、 提高系统性能的同时,保证软件系统的可靠性和长时间运行,减少了因软件停 止运行带来的经济损失,并提高了软件运行效率和用户满意度。


图1为本发明实施例软件升级的方法流程示意图;图2为本发明实施例软件升级装置结构示意图; 图3为本发明实施例软件系统框架示意图。
具体实施方式
本发明实施例在检测到有功能模块需要升级时,将新版本的功能模块加载 到进行空间中,并将旧版本的功能模块的数据复制到新版本的功能模块中,在 旧版本的功能模块不运行时,删除旧版本的功能模块,这样不会影响其他功能 模块的运行,从而实现了不需要停止软件运行就可以升级软件,保证软件系统 的可靠性和长时间运行。下面结合说明书附图对本发明实施例作进一步详细描述。 如图l所示,本发明实施例软件升级的方法包括下列步骤 步骤IOO、在功能模块需要升级时,下载对应的新版本功能模块。 在具体实施过程中,根据设定的时间,周期从升级服务器上查看是否有需 要升级的功能模块,具体的时间可以根据需要进行设定。需要说明的是,本实施例并不局限于上述设定的时间的方式,其他触发升 级的方式同样适用本实施例,比如在每次软件运行后查看是否需要升级的功 能模块;在收到升级服务器发送的升级消息后,确定由需要升级的功能模块等 等。步骤IOI、将下载的新版本功能模块加载到进程空间中,并将功能模块中 的数据复制到新版本功能模块中。功能模块中的数据可以是功能模块全部的数据,也可以是功能模块的私有 数据(即只属于该功能模块的数据)。其中,步骤101中,将下载的新版本功能模块加载到进程空间中之后还可 以进一步包括将新版本功能模块的接口函数地址添加到接口函数地址表中。 在具体实施过程中,从操作系统提供的接口中获得新版本功能模块的接函数地址。功能模块之间的交互,需要通过接口函数地址表查找对应的功能模块的地 址,这样功能模块之间不会相互连接,在有的功能模块由于升级后被删除时, 也不影响其他功能模块运行。步骤102、在功能模块不运行时,删除该功能模块。其中,步骤102中,在功能模块不运行时,从接口函数地址表中删除该功能模块的接口函数地址。在具体实施过程中,删除该功能模块还可以进一步包括从进程空间中删除该功能模块后,从存储空间中删除该功能模块。如图2所示,本发明实施例软件升级装置包括管理模块IO、数据处理模块20和功能删除模块30。管理模块10,与数据处理模块20和功能删除模块30连接,用于在功能模块需要升级时,下载对应的新版本功能模块,将下载的新版本功能模块加载到进程空间中。在具体实施过程中,管理模块IO根据设定的时间,周期从升级服务器上 查看是否有需要升级的功能模块,具体的时间可以根据需要进行设定。需要说明的是,本实施例并不局限于上述设定的时间的方式,其他触发升 级的方式同样适用本实施例,比如在每次软件运行后查看是否需要升级的功 能模块;在收到升级服务器发送的升级消息后,确定由需要升级的功能模块等 等。数据处理模块20,与管理模块10连接,用于将功能模块中的数据复制到 管理模块10下载的新版本功能模块中。其中,功能模块中的数据可以是功能模块全部的数据,也可以是功能模块 的私有数据(即只属于该功能模块的数据)。功能删除模块30,与管理模块10连接,用于在管理模块10完成新版本功 能模块的下载后,在功能模块不运行(既不工作)时,删除该功能模块。其中,功能删除模块30还可以进一步包括进程空间删除模块300和存 储空间删除模块301。进程空间删除模块300,用于在管理模块10完成新版本功能模块的下载 后,在功能模块不运行时,从进程空间中删除该功能模块。存储空间删除模块301,用于在进程空间删除模块300从进程空间中删除 该功能模块后,从存储空间中删除该功能模块。其中,本发明实施例软件升级装置还可以进一步包括接口模块40和添 加模块50。接口模块40,与管理模块IO、数据处理模块20、功能删除模块30和添加 模块50连接,用于存储接口函数地址表。添加模块50,与管理模块10和接口模块40连接,用于在管理模块10将 下载的新版本功能模块加载到进程空间中之后,将新版本功能模块的接口函数 地址添加到接口模块40的接口函数地址表中。在具体实施过程中,添加模块50从操作系统提供的接口中获得新版本功 能模块的接口函数地址。功能模块之间的交互,需要通过接口函数地址表查找对应的功能模块的地 址,并通过接口模块40进行交互,这样功能模块之间不会相互连接,在有的 功能模块由于升级后被删除时,也不影响其他功能模块运行。其中,本发明实施例软件升级装置还可以进一步包括函数地址删除模块60。函数地址删除模块60,与管理模块10和接口模块40连接,用于在管理模 块10完成新版本功能模块的下载后,在功能模块不运行时,从接口模块40的 接口函数地址表中删除该功能模块的接口函数地址。如图3所示,本发明实施例软件系统框架示意图中,功能模块A和功能模 块B之间通过接口模块40进行交互。管理模块IO检测到功能模块A需要升级,则下载对应的功能模块C,并通过接口模块40将下载的功能模块C加载到进程空间中。数据处理模块20根据接口函数地址表,通过接口模块40将功能模块A中 的数据复制到功能模块C中。添加模块50将功能模块C的接口函数地址添加到接口模块40的接口函数 地址表中。以上操作不会影响功能模块A和功能模块B之间的交互。 功能删除模块30在管理模块IO完成新版本功能模块的下载后,在功能模 块A不运行时,根据接口函数地址表通过接口模块40从进行空间中删除该功 能模块A,然后根据接口函数地址表通过接口模块40从存储空间中删除该功 能模块A。函数地址删除模块60在管理模块10完成新版本功能模块的下载后,在功 能模块A不运行时,从接口模块40的接口函数地址表中删除该功能模块的接 口函IO也址。这时功能模块C就完全替代了功能模块A,如果功能模块B需要与功能模 块A有交互,则功能模块B根据接口函数地址表可以找到对应的替代模块(即 功能模块C ),然后通过接口模块40就可以与功能模块C进行交互了 。由于功能模块升级时,不会影响其它功能模块运行,所以不用停止将整个 软件的运行,就可以升级。显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以 用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多 个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码 来实现,从而,可以将它们存储在存储装置中由计算装置来执行。这样,本发 明不限制于任何特定的硬件和软件结合。应该明白,这些具体实施中的变化对 于本领域的技术人员来说是显而易见的,不脱离本发明的精神保护范围。从上述实施例中可以看出本发明实施例在功能模块需要升级时,下载对 应的新版本功能模块;将下载的所述新版本功能模块加载到进程空间中,并将所述功能模块中的数据复制到所述新版本功能模块中;在所述功能模块不运行 时,删除所述功能模块,由于一个功能模块执行一个功能,将每个功能独立, 这样在一个功能模块运行时,下载该功能模块的新版功能模块,在旧的功能模 块不运行时,进行替换,从而在软件升级时不需要暂停运行的软件,在不断升 级软件系统,以修 支错误、添加新功能、提高系统性能的同时,保证软件系统 的可靠性和长时间运行,减少了因软件停止运行带来的经济损失,并提高了软 件运行效率和用户满意度。显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发 明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及 其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
权利要求
1、一种软件升级的方法,其特征在于,该方法包括在功能模块需要升级时,下载对应的新版本功能模块;将下载的所述新版本功能模块加载到进程空间中,并将所述功能模块中的数据复制到所述新版本功能模块中;在所述功能模块不运行时,删除所述功能模块。
2、 如权利要求1所述的方法,其特征在于,所述将下载的所述新版本功 能模块加载到进程空间中之后还包括将所述新版本功能模块的接口函数地址添加到接口函数地址表中。
3、 如权利要求2所述的方法,其特征在于,该方法还包括 在所述功能模块不运行时,从所述接口函数地址表中删除所述功能模块的接口函数地址。
4、 如权利要求l-3任一权利要求所述的方法,其特征在于,所述删除所 述功能模块包括从所述进程空间中删除所述功能模块后,从存储空间中删除所述功能模块。
5、 如权利要求2所述的方法,其特征在于,该方法还包括 根据设定的时间,周期查看是否有需要升级的功能模块。
6、 一种软件升级装置,其特征在于,该装置包括管理模块,用于在功能模块需要升级时,下载对应的新版本功能模块,将 下载的所述新版本功能模块加载到进程空间中;数据处理模块,用于将所述功能模块中的数据复制到所述新版本功能模块中;功能删除模块,用于在所述管理模块完成所述新版本功能模块的下载后, 在所述功能模块不运行时,删除所述功能模块。
7、 如权利要求6所述的装置,其特征在于,所述软件升级装置还包括接口模块,用于存储接口函数地址表;添加模块,用于在所述管理模块将下载的所述新版本功能模块加载到进程 空间中之后,将所述新版本功能模块的接口函数地址添加到所述接口函数地址 表中。
8、 如权利要求7所述的装置,其特征在于,所述软件升级装置还包括 函数地址删除模块,用于在所述管理模块完成所述新版本功能模块的下载后,在所述功能模块不运行时,从所述接口函数地址表中删除所述功能模块的 接口函数地址。
9、 如权利要求6-8任一权利要求所述的装置,其特征在于,所述功能删 除模块包括进程空间删除模块,用于在所述管理模块完成所述新版本功能模块的下载 后,在所述功能模块不运行时,从所述进程空间中删除所述功能模块;存储空间删除模块,用于在所述进程空间删除模块从所述进程空间中删除 所述功能模块后,从存储空间中删除所述功能模块。
10、 如权利要求6所述的装置,其特征在于,所述管理模块还用于 根据设定的时间,周期查看是否有需要升级的功能模块。
全文摘要
本发明涉及计算机技术领域,特别涉及一种软件升级的方法和软件升级装置,用以解决现有技术中存在的在软件升级过程中,必须先停止正在运行的软件,才能进行升级,从而会降低软件运行效率以及用户满意度的问题。本发明实施例的方法包括在功能模块需要升级时,下载对应的新版本功能模块;将下载的所述新版本功能模块加载到进程空间中,并将所述功能模块中的数据复制到所述新版本功能模块中;在所述功能模块不运行时,删除所述功能模块。采用本发明实施例的方法能够提高了软件运行效率和用户满意度。
文档编号G06F9/445GK101329633SQ20081011724
公开日2008年12月24日 申请日期2008年7月25日 优先权日2008年7月25日
发明者磊 张, 郑志辉 申请人:北大方正集团有限公司;北京北大方正电子有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1