软件更新方法及更新服务器的制造方法

文档序号:7782716阅读:203来源:国知局
软件更新方法及更新服务器的制造方法
【专利摘要】本发明实施例提供的软件更新方法及更新服务器中,更新服务器可以接收组合软件中的至少一个子软件的服务器提交的更新信息,更新服务器是除了组合软件的消息服务器之外的服务器;更新服务器将更新信息发送给终端设备,使终端设备根据更新信息,从子软件的服务器下载更新包,并根据更新包更新子软件。由于本发明使用了除组合软件的消息服务器外的更新服务器对更新信息进行发送,从而使得各子软件的更新不再受制于组合软件的消息服务器,避免了更新信息发送不及时的问题,提高了组合软件中子软件的更新速率。
【专利说明】软件更新方法及更新服务器
【技术领域】
[0001]本发明涉及软件更新【技术领域】,特别是涉及软件更新方法及更新服务器。
【背景技术】
[0002]随着科技的发展,终端设备中出现了大量的组合软件,组合软件中包括有多个子软件,不同的子软件可以为不同公司的产品,由各自的服务器进行维护和更新。
[0003]现有技术中,当组合软件中的子软件需要进行更新时,该子软件的服务器就需要将更新信息发送到主软件的消息服务器中(也即组合软件的消息服务器),由主软件的管理方决定何时将该更新信息发送到终端设备中以对该子软件进行更新。例如浏览器中的某插件的更新信息需要通过浏览器的消息服务器进行发送。随着软件功能的日益繁多及维护团队的全球化趋势,主软件一般也由多个具有不同功能的子软件构成,每个上述子软件可以由不同的团队进行维护。因此,上述不同的团队仍需要通过各自团队所使用的服务器将更新信息发送到主软件的消息服务器中,由主软件的管理方决定何时将该更新信息发送到终端设备中以对该团队负责维护的子软件进行更新。
[0004]这就导致了组合软件中子软件的更新不及时,影响了用户的使用。

【发明内容】

[0005]本发明实施例的目的在于提供一种软件更新方法及更新服务器,以实现子软件的快速更新。
[0006]为达到上述目的,本发明实施例公开了一种软件更新方法,所述方法包括:
[0007]更新服务器接收组合软件中的至少一个子软件的服务器提交的更新信息,所述更新信息中至少包括:子软件的更新包下载地址;其中,所述更新服务器是除了所述组合软件的消息服务器之外的服务器;
[0008]所述更新服务器将所述更新信息发送给终端设备,使所述终端设备根据所述更新信息,从所述子软件的服务器下载更新包,并根据所述更新包更新所述子软件。
[0009]可选的,所述更新信息中还包括特征码,在所述更新服务器接收组合软件中的至少一个子软件的服务器提交的更新信息后,在将所述更新信息发送给终端设备前,所述方法还包括:
[0010]所述更新服务器对所述更新信息中的特征码进行认证。
[0011]可选的,在将所述更新信息发送给终端设备之后,还包括:
[0012]接收所述终端设备返回的所述特征码,对所述特征码进行认证,如果认证通过,则向所述终端设备发送认证通过报告,以使所述终端设备在获得所述认证通过报告后,使用所述更新包下载地址,从所述子软件的服务器下载更新包,并更新所述子软件。
[0013]可选的,所述更新服务器将所述更新信息发送给终端设备,包括:
[0014]根据保存在所述更新服务器中的安装了所述子软件的终端设备的列表,将所述更新信息发送到安装了所述子软件的终端设备;或者[0015]基于终端设备发送的更新信息获取请求,向所述终端设备发送所述更新信息。
[0016]可选的,所述子软件的更新包包括:升级脚本;或者
[0017]所述子软件的更新包包括:升级脚本和资源文件;或者
[0018]所述子软件的更新包包括:恢复脚本;或者
[0019]所述子软件的更新包包括:恢复脚本和资源文件。
[0020]一种更新服务器,所述更新服务器为组合软件的消息服务器外的服务器,所述更新服务器分别与终端设备及所述组合软件中子软件的服务器相连接,所述更新服务器包括:
[0021]接收单元,用于接收组合软件中的至少一个子软件的服务器提交的更新信息,所述更新信息中至少包括:子软件的更新包下载地址;
[0022]发送单元,用于将所述接收单元接收到的所述更新信息发送给终端设备,使所述终端设备根据所述更新信息,从所述子软件的服务器下载更新包,并根据所述更新包更新所述子软件。
[0023]可选的,所述更新服务器还包括:
[0024]第一认证单元,用于在所述接收单元接收到所述更新信息后,对所述更新信息中的特征码进行认证,如果认证通过,触发所述发送单元。
[0025]可选的,所述更新服务器还包括第二认证单元;
[0026]所述接收单元接收到所述更新信息后,用于直接触发所述发送单元;然后接收终端设备返回的特征码;将所述终端设备返回的特征码发送给所述第二认证单元;
[0027]所述第二认证单元,用于对所述特征码进行认证,认证通过后,向所述终端设备发送认证通过报告。
[0028]可选的,所述接收单元还用于接收终端设备向所述更新服务器发出的更新信息获取请求;所述发送单元,用于向发出所述更新信息获取请求的终端设备发送所述更新信息。
[0029]可选的,所述更新服务器还包括存储单元,用于存储安装了所述子软件的终端设备的列表;
[0030]所述发送单元,用于根据所述存储单元存储的列表,将所述更新信息发送给安装了所述子软件的终端设备。
[0031]本发明实施例提供的软件更新方法及更新服务器,使用了除组合软件的消息服务器外的更新服务器对更新信息进行发送,从而使得各子软件的更新不再受制于组合软件的消息服务器,避免了更新信息发送不及时的问题,提高了组合软件中子软件的更新速率。
【专利附图】

【附图说明】
[0032]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0033]图1为本发明实施例提供的一种软件更新方法的流程图;
[0034]图2为本发明实施例提供的另一种软件更新方法的流程图;
[0035]图3为本发明实施例提供的一种更新服务器的结构示意图;[0036]图4为本发明实施例提供的另一种更新服务器的结构示意图;
[0037]图5为本发明实施例提供的另一种更新服务器的结构示意图;
[0038]图6为本发明实施例提供的另一种更新服务器的结构示意图;
[0039]图7为本发明实施例提供的另一种软件更新方法的流程图;
[0040]图8为本发明实施例提供的另一种软件更新方法的流程图;
[0041]图9为本发明实施例提供的另一种软件更新方法的流程图;
[0042]图10为本发明实施例提供的一种终端设备的结构示意图;
[0043]图11为本发明实施例提供的另一种终端设备的结构示意图。
【具体实施方式】
[0044]下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0045]图1为本发明实施例提供的一种软件更新方法的流程示意图,如图1所示,该方法可以包括:
[0046]S100、更新服务器接收组合软件中的至少一个子软件的服务器提交的更新信息,所述更新信息中至少包括:子软件的更新包下载地址;其中,所述更新服务器是除了所述组合软件的消息服务器之外的服务器;
[0047]组合软件中可以包括一个主软件和至少一个子软件,在组合软件中,子软件作为主软件的一个组成部分或作为主软件的附属软件,对主软件的功能进行添加和增强。一般情况下,主软件的消息服务器即为组合软件的消息服务器,例如:主软件为浏览器,子软件为Flash插件,则组合软件的消息服务器为浏览器的消息服务器。
[0048]具体的,子软件可以有扩展(Extensions)和插件(Plugin)两种形式。
[0049]扩展是指基于主软件现有能力的开放接口,结合扩展的开发机制,为主软件扩展出新功能的组件包,扩展属于主软件的一部分。而插件是独立安装运行的外部软件,为原有的软件插入了完全不同的能力。举例来说:增强标签页顔色标定的扩展,利用浏览器原本就有的标签控制接口,为浏览器扩展出了对用户更加友好的功能,此能力是浏览器原本具备的。而Flash插件为浏览器插入了运行Flash的能力,这种能力是浏览器原本不具备的。
[0050]组合软件中的各子软件可以由不同的软件开发商或团队进行组织、维护,软件开发商或团队在制作好更新包后,就会将该更新包上传到该子软件的服务器中,以方便各终端设备从该子软件的服务器中下载该更新包。可以理解的是,不同的子软件的服务器可以为同一服务器,也可以为不同服务器。子软件的服务器可以将更新信息发送到更新服务器中以告知更新服务器该子软件出现更新。
[0051]具体的,该子软件的更新包中可以包括有升级脚本,或包括有升级脚本和资源文件,或包括有恢复脚本,或包括有恢复脚本和资源文件。
[0052]在本发明的实施例中,资源文件是软件升级/恢复所需要的升级/恢复数据,例如,如果浏览器进行界面升级,那么就需要与新界面有关的一些图文数据,例如新界面中的元素图形等。又例如:如果浏览器要将界面恢复到之前的旧界面,则更新包中包括有恢复脚本和与旧界面有关的资源文件,通过执行恢复脚本,可以将浏览器的界面恢复到旧界面。
[0053]S200、更新服务器将所述更新信息发送给终端设备,使所述终端设备根据所述更新信息,从所述子软件的服务器下载更新包,并根据更新包更新所述子软件。
[0054]在接收到子软件的服务器提交的更新信息后,更新服务器即可确定该子软件出现更新。因此更新服务器可以将该更新信息发送给终端设备以告知终端设备。可选的,更新服务器将更新信息发送给终端设备可以有主动发送和被动发送两种方式:
[0055]主动发送:更新服务器中保存有安装了该子软件的终端设备的列表,更新服务器可以根据该列表,将该更新信息发送到安装了该子软件的终端设备中。
[0056]被动发送:该终端设备向更新服务器发送更新信息获取请求,更新服务器向发出请求的终端设备发送更新信息。
[0057]可选的,更新服务器中可以保存有各子软件的最新版本号,安装了该子软件的终端设备获得更新服务器中该子软件的最新版本号并与自己所安装的该子软件的版本号进行对比,如果不同,则该终端设备向更新服务器发送更新信息获取请求以使子软件的服务器发送更新信息给该终端设备。更新服务器的更新信息发送到终端设备后,终端设备可以使用所述更新信息中的更新包下载地址,从所述子软件的服务器下载更新包,并根据所述更新包更新所述子软件。
[0058]可选的,终端设备也可以在收到更新信息后,以预设的形式(例如,弹框等)通知用户,根据用户的指令,进行相应的操作。例如,用户可以选择不下载该更新包;也可以选择下载但是不安装该更新包;或者也可以选择下载并安装该更新包。
[0059]本发明实施例提供的一种软件更新方法使用了除组合软件的消息服务器外的更新服务器对更新信息进行发送,从而使得各子软件的更新不再受制于组合软件的消息服务器,避免了更新信息发送不及时的问题,提高了组合软件中子软件的更新速率。
[0060]可选的,上述更新信息中还可以包括特征码;其中,该特征码可以为更新服务器预先分配给子软件的验证信息,或者,也可以为更新服务器预先分配给子软件的开发者的验证信息。
[0061]例如:更新服务器预先为Flash插件的开发者分配了特征码011,当Flash插件的开发者向更新服务器提交更新信息时,便将特征码011放入更新信息中,更新服务器收到Flash插件的服务器发送的更新信息后,对特征码011进行认证,确认是预先分配给Flash插件的特征码,也就确认了该更新信息的可靠性。
[0062]优选的,为了进一步提高安全性,特征码可以在加密后进行传输。
[0063]如图2所示,在本发明的一种可选实施方式中,上述方法在SlOO之后,还可以包括:
[0064]S200’、更新服务器对所述更新信息中的特征码进行认证。
[0065]可以理解的是,更新服务器对特征码进行认证可以提高信息的安全性
[0066]可选的,在本发明的实施例中,更新服务器可以是一个物理实体,也可以包括两个或更多的物理实体。例如,更新服务器可以包括广播实体和认证实体,广播实体和认证实体负责不同的工作,当一个物理实体出现问题的时候,不会影响另一个物理实体的正常工作,因此安全性更好。[0067]在本发明的另一个可选实施方式中,更新服务器可以接收到更新信息后先进行特征码认证,认证通过后,再将更新信息发送给终端设备。也可以是先将接收到的更新信息发送到所述终端设备,接收所述终端设备返回的所述特征码,然后再进行认证,如果认证通过,向所述终端设备发送认证通过报告,以使所述终端设备使用所述更新包下载地址,从所述子软件的服务器下载更新包,并更新所述子软件。方便起见,图2仅示出了首先进行认证再进行更新信息发送的方案。
[0068]本发明使用更新服务器对特征码进行自动验证,提高了子软件更新的安全性。
[0069]本发明还提供了一种更新服务器,上述更新服务器为组合软件的消息服务器外的服务器,所述更新服务器分别与终端设备及所述组合软件中子软件的服务器相连接,如图3所示,该更新服务器可以包括:接收单元100和发送单元200,
[0070]接收单元100,用于接收组合软件中的至少一个子软件的服务器提交的更新信息,所述更新信息中至少包括:子软件的更新包下载地址;
[0071]发送单元200,用于将接收单元100接收到的所述更新信息发送给终端设备,使所述终端设备根据所述更新信息,从所述子软件的服务器下载更新包,并根据更新包更新所述子软件。
[0072]本发明实施例提供的一种更新服务器为除组合软件的消息服务器外的更新服务器,由该更新服务器对更新信息进行发送,从而使得各子软件的更新不再受制于组合软件的消息服务器,避免了更新信息发送不及时的问题,提高了组合软件中子软件的更新速率。
[0073]可选的,上述接收单元100还用于接收终端设备向更新服务器发出的更新信息获取请求;发送单元200,用于向发出所述更新信息获取请求的终端设备发送所述更新信息。
[0074]可选的,如图4所示,本发明的另一种可选实施方式中,更新服务器还可以包括:
[0075]存储单元900,用于存储安装了所述子软件的终端设备的列表;
[0076]发送单元200,用于根据所述存储单元900存储的列表,将该更新信息发送给安装了该子软件的终端设备。
[0077]可选的,上述更新信息中还可以包括特征码;其中,该特征码可以为更新服务器预先分配给子软件的验证信息,或者,也可以为更新服务器预先分配给子软件的开发者的验证信息。
[0078]如图5所示,在本发明的一种可选实施方式中,更新服务器还可以包括:
[0079]第一认证单元300,用于在接收单元100接收到所述更新信息后,对所述更新信息中的特征码进行认证,如果认证通过,触发发送单元200。
[0080]如图6所示,在本发明的另一种可选实施方式中,更新服务器还可以包括第二认证单元400 ;
[0081]接收单元100接收到所述更新信息后,直接触发发送单元200 ;然后接收终端设备返回的特征码;将所述终端设备返回的特征码发送给第二认证单元400 ;
[0082]第二认证单元400,用于对所述特征码进行认证,认证通过后,向所述终端设备发送认证通过报告。
[0083]本发明使用更新服务器对特征码进行自动验证,提高了子软件更新的安全性。
[0084]上述各单元的具体执行过程请参见图1及图2方法实施例部分。
[0085]如图7所示,本发明实施例提供又一种软件更新方法,该方法可以包括:[0086]S010、终端设备接收所述更新服务器发送的更新信息,其中,所述更新服务器是除了所述组合软件的消息服务器之外的服务器,所述更新信息中至少包括有:所述子软件的更新包下载地址,所述更新信息由所述子软件的服务器发送至所述更新服务器;
[0087]S011、终端设备使用所述更新包下载地址从所述子软件的服务器下载更新包;
[0088]S012、终端设备通过所下载的更新包更新所述子软件。
[0089]本发明实施例提供的一种软件更新方法使用了除所述组合软件的消息服务器外的更新服务器,从而使得终端设备可以不再通过组合软件的消息服务器来接收更新信息,避免了更新信息发送不及时的问题。
[0090]可选的,上述更新信息中还可以包括特征码;其中,该特征码可以为更新服务器预先分配给子软件的验证信息,或者,也可以为更新服务器预先分配给子软件的开发者的验证信息。
[0091]如图8所示,在本发明的一种可选实施方式中,上述方法在SOlO之后,还可以包括:
[0092]SOlOc、获得所述更新信息中的特征码,将所述特征码发送到所述更新服务器中进行认证;
[0093]S010d、判断是否接收到所述更新服务器发送的认证通过报告,如果是,再执行
SOllo
[0094]本发明可以自动将特征码发送到更新服务器进行验证,相比于现有由主软件的管理方进行人工审核的方案,审核效率更高,也更加准确。
[0095]在图8所示实施例的基础上,如图9所示,在本发明的另一种可选实施方式中,上述方法在S010之前,还可以包括:
[0096]SOlOa,向所述更新服务器发送所述子软件最新版本的获取请求;
[0097]S010b、接收所述更新服务器返回的所述子软件最新版本并与所述终端设备中已安装的所述子软件的当前版本号进行对比,如果不同,再执行S010。
[0098]其中,由所述子软件的服务器发送至所述更新服务器的更新信息中还包括有该子软件更新后的版本号。这样,更新服务器中就会保存有该子软件的最新版本号,终端设备从更新服务器中获取最新版本号并与自身已安装的该子软件的版本号进行对比,如果一致,则说明已进行更新,不需要再获得该子软件的更新信息以下载更新包。如果不一致,再获得该子软件的更新信息。
[0099]图9所示实施例可以避免不必要的下载和更新过程,同时也可以防止他人绕过更新服务器发送恶意更新信息带来的损害。
[0100]本发明实施例提供了一种终端设备,如图10所示,该终端设备可以包括:第一接收模块010、下载模块011和更新模块012,
[0101]第一接收模块010,用于接收所述更新服务器发送的更新信息,所述更新信息中至少包括有:所述子软件的更新包下载地址,所述更新信息由所述子软件的服务器发送至所述更新服务器;所述更新服务器是除了组合软件的消息服务器之外的服务器;
[0102]下载模块011,用于使用所述更新包下载地址从所述子软件的服务器下载更新包;
[0103]更新模块012,用于通过所下载的更新包更新所述子软件。[0104]本发明实施例提供的一种终端设备可以接收除所述组合软件的消息服务器外的更新服务器发送的更新信息并对子软件进行更新,从而使得终端设备可以不再通过组合软件的消息服务器来接收更新信息,避免了更新信息发送不及时的问题。
[0105]如图11所示,在本发明的一种可选实施方式中,更新信息中还包括有特征码,上述终端设备还可以包括:
[0106]认证模块010c,用于获得所述更新信息中的特征码,将所述特征码发送到所述更新服务器中进行认证,判断是否接收到所述更新服务器发送的认证通过报告,如果是,再触发下载模块011使用所述更新包下载地址从所述子软件的服务器下载更新包;
[0107]在图11所示实施例的基础上,在本发明的另一种可选实施方式中,上述终端设备还可以包括:
[0108]版本获取模块,用于向所述更新服务器发送所述子软件最新版本的获取请求;
[0109]版本判断模块,用于接收所述更新服务器返回的所述子软件最新版本并与所述终端设备中已安装的所述子软件的当前版本号进行对比,如果不同,再触发所述第一接收模块010接收所述更新服务器发送的更新信息。
[0110]本发明还提供了一种软件更新系统,包括上述的更新服务器及终端设备。
[0111]需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
[0112]本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
[0113]以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
【权利要求】
1.一种软件更新方法,其特征在于,所述方法包括: 更新服务器接收组合软件中的至少一个子软件的服务器提交的更新信息,所述更新信息中至少包括:子软件的更新包下载地址;其中,所述更新服务器是除了所述组合软件的消息服务器之外的服务器; 所述更新服务器将所述更新信息发送给终端设备,使所述终端设备根据所述更新信息,从所述子软件的服务器下载更新包,并根据所述更新包更新所述子软件。
2.根据权利要求1所述的方法,其特征在于,所述更新信息中还包括特征码,在所述更新服务器接收组合软件中的至少一个子软件的服务器提交的更新信息后,在将所述更新信息发送给终端设备前,所述方法还包括: 所述更新服务器对所述更新信息中的特征码进行认证。
3.根据权利要求1所述的方法,其特征在于,在将所述更新信息发送给终端设备之后,还包括: 接收所述终端设备返回的所述特征码,对所述特征码进行认证,如果认证通过,则向所述终端设备发送认证通过报告,以使所述终端设备在获得所述认证通过报告后,使用所述更新包下载地址,从所述子软件的服务器下载更新包,并更新所述子软件。
4.根据权利要求1-3中 任一项所述的方法,其特征在于,所述更新服务器将所述更新信息发送给终端设备,包括: 根据保存在所述更新服务器中的安装了所述子软件的终端设备的列表,将所述更新信息发送到安装了所述子软件的终端设备;或者 基于终端设备发送的更新信息获取请求,向所述终端设备发送所述更新信息。
5.根据权利要求1-4中任一项所述的方法,其特征在于,所述子软件的更新包包括:升级脚本;或者 所述子软件的更新包包括:升级脚本和资源文件;或者 所述子软件的更新包包括:恢复脚本;或者 所述子软件的更新包包括:恢复脚本和资源文件。
6.一种更新服务器,其特征在于,所述更新服务器为组合软件的消息服务器外的服务器,所述更新服务器分别与终端设备及所述组合软件中子软件的服务器相连接,所述更新服务器包括: 接收单元,用于接收组合软件中的至少一个子软件的服务器提交的更新信息,所述更新信息中至少包括:子软件的更新包下载地址; 发送单元,用于将所述接收单元接收到的所述更新信息发送给终端设备,使所述终端设备根据所述更新信息,从所述子软件的服务器下载更新包,并根据所述更新包更新所述子软件。
7.根据权利要求6所述的更新服务器,其特征在于,所述更新服务器还包括: 第一认证单元,用于在所述接收单元接收到所述更新信息后,对所述更新信息中的特征码进行认证,如果认证通过,触发所述发送单元。
8.根据权利要求6所述的更新服务器,其特征在于,所述更新服务器还包括第二认证单元; 所述接收单元接收到所述更新信息后,用于直接触发所述发送单元;然后接收终端设备返回的特征码;将所述终端设备返回的特征码发送给所述第二认证单元; 所述第二认证单元,用于对所述特征码进行认证,认证通过后,向所述终端设备发送认证通过报告。
9.根据权利要求6-8中任一项所述的更新服务器,其特征在于,所述接收单元还用于接收终端设备向所述更新服务器发出的更新信息获取请求;所述发送单元,用于向发出所述更新信息获取请求的终端设备发送所述更新信息。
10.根据权利要求6-8中任一项所述的更新服务器,其特征在于,所述更新服务器还包括存储单元,用于存储安装了所述子软件的终端设备的列表; 所述发送单元,用于根据所述存储单元存储的列表,将所述更新信息发送给安装了所述子软件的终端设备。`
【文档编号】H04L29/08GK103716395SQ201310740979
【公开日】2014年4月9日 申请日期:2013年12月26日 优先权日:2013年12月26日
【发明者】范路, 周琦, 王玮 申请人:贝壳网际(北京)安全技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1