一种用于确定软件版本升级文件下载地址的方法、装置及系统的制作方法

文档序号:7798636阅读:104来源:国知局
一种用于确定软件版本升级文件下载地址的方法、装置及系统的制作方法
【专利摘要】本发明公开了一种用于确定软件版本升级文件下载地址的方法、装置和系统。本发明在原有C/S中加入软件版本升级控制服务器,构成软件版本升级系统,可根据用户IP选择合适的软件升级服务器提供文件下载,起到网络分流的作用,优化负载均衡。
【专利说明】一种用于确定软件版本升级文件下载地址的方法、装置及系统
【技术领域】
[0001]本发明涉及网络数据【技术领域】,具体涉及一种用于确定软件版本升级文件下载地址的方法、装置及系统。
【背景技术】
[0002]软件版本升级可实现软件的性能优化和功能升级,软件版本升级有在线升级和非在线升级两种方式。在互联网尚未普及时,软件供应商一般使用的是非在线方式,将新版本的软件存储在移动存储介质上,通过邮寄与零售商销售的方式来达到软件版本升级与功能扩展。采用上述方式软件供应商需要花费很大的财力和人力来推广所属公司的最新版本软件,软件用户为了能使用到最新功能的软件也得增加开销,这样的软件升级是缓慢、低效率的。互联网的普及加快了软件版本升级功能扩展的步伐,软件供应商充分利用计算机的软硬件资源、提升软件的功能与性能,用户能够及时使用到最新版本的功能。
[0003]现有软件供应商普遍采用在线软件版本升级方式,系统架构普遍采用客户端服务器(client/server,C/S)的系统模式,软件更新方式主要包括两种方式:软件版本升级全量包方式(full amount release package, FARP)与软件版本升级增量包方式(incremental release package, IRP)。
[0004]对于软件版本升级全量包方式FARP,软件供应商发布软件最新版本全量包的下载地址,用户从某个服务器下载软件,这种方式对于新用户来说非常方便,但对于老用户来说并不是一个好的选择,因为,通常新版本软件的大部分功能与旧版本软件相同,升级改动只涉及一小部分;软件版本初期可能体积不大,但随着软件版本升级,功能不断扩张,软件体积不断增大,更新软件版本不仅增加了软件供应商的开支,增加网络供应商的网络供应压力,而且用户下载软件需要花费较长的时间,且有时用户在旧版本软件下产生的用户数据无法在新版本软件上使用。因此,这种软件版本升级方式不但浪费用户时间(有时候更新的内容可能非常少),加大服务器的压力和网络的压力,而且由于网络原因造成的更新失败可能导致软件无法使用,影响用户体验。
[0005]对于软件版本升级增量包方式IRP,软件供应商提供软件最新版本增量包的下载地址,用户本地升级引擎下载后对本地旧版本软件的文件进行替换式升级,仅针对增量包中涉及的内容进行更新,减少了软件供应商的人力与财力成本,可降低网络供应商的负载压力,节约软件用户的升级耗时。
[0006]但是,无论是软件版本升级的全量包方式FARP还是增量包方式IRP,对于提供增量包下载的软件升级服务器,目前大多采用单个服务器或集中于某一地区服务器的方式,服务器普遍访问压力大,网络资源消耗多,也导致用户下载耗时较长,用户体验较差。

【发明内容】

[0007]有鉴于此,本发明提供一种用于确定软件版本升级文件下载地址的方法、装置及系统,可有针对性地为客户端分配软件升级服务器,可削减下载资源的耗时,优化网络负载均衡。
[0008]本发明的一种用于确定软件版本升级文件下载地址的方法,包括:信息接收步骤,接收来自客户端的软件版本升级请求和用户信息,所述用户信息包含用户软件版本信息和IP地址;信息判断步骤,根据用户软件版本信息判断用户软件是否为最新版本,当不是最新版本时,根据用户软件版本信息确定用户软件版本与该软件最新版本的差异;第一信息处理步骤,基于所述IP地址得到客户端的位置;第二信息处理步骤,基于第一对应关系,根据客户端的位置确定客户端的区域;第三信息处理步骤,基于第二对应关系,根据客户端的区域确定客户端对应的服务器;下载地址确定步骤,根据客户端对应的服务器以及用户软件版本与该软件最新版本的差异,确定软件版本升级文件的下载地址;信息发送步骤,将确定好的下载地址发送给所述客户端。
[0009]优选地,所述第一对应关系为第一区域对应于至少第一位置,所述至少第一位置位于所述第一区域内;所述第二对应关系为第一区域对应于至少一个服务器,所述至少一个服务器位于所述第一区域内,用于提供软件版本升级文件下载服务。
[0010]优选地,在所述第二信息处理步骤之后,所述方法还包括区域信息记录步骤,记录本次确定的客户端的区域信息,所述区域包括以下各项中的至少一项:华东、华北、华南、华中、西南、西北和东北。
[0011 ] 优选地,在所述第三信息处理步骤中,在确定客户端对应的服务器时,从所述至少一个服务器中随机选取一个服务器;当所述客户端与当前服务器连接失败时,从所述至少一个服务器中随机选取另一个服务器。
[0012]优选地,当所述客户端与所述至少一个服务器中的每一个服务器均连接失败时,选取位于所述第一区域外部的服务器,且在所有位于所述第一区域外部的服务器中,选中的服务器到所述第一区域的几何中心的距离最短。
[0013]本发明的一种软件版本升级文件下载地址确定装置,包括:信息接收模块,用于接收来自客户端的软件版本升级请求和用户信息,所述用户信息包含用户软件版本信息和IP地址;信息判断模块,用于根据用户软件版本信息判断用户软件是否为最新版本,当不是最新版本时,根据用户软件版本信息确定用户软件版本与该软件最新版本的差异;第一信息处理模块,用于基于所述IP地址得到客户端的位置;第二信息处理模块,用于基于第一对应关系,根据客户端的位置确定客户端的区域;第三信息处理模块,用于基于第二对应关系,根据客户端的区域确定客户端对应的服务器;下载地址确定模块,用于根据客户端对应的服务器以及用户软件版本与该软件最新版本的差异,确定软件版本升级文件的下载地址;信息发送模块,用于将确定好的下载地址发送给所述客户端。
[0014]本发明的一种软件版本升级系统,包括如前所述的软件版本升级文件下载地址确定装置以及多台软件升级服务器;所述多台软件升级服务器中的至少一台位于第一区域,用于提供软件版本升级文件下载服务。
[0015]优选地,所述多台软件升级服务器存储有软件版本升级文件,所述软件版本升级文件包含资源升级文件和数据库升级文件,以压缩包的形式存储,不同的用户软件版本与该软件最新版本的差异对应于不同的压缩包。
[0016]优选地,客户端的用户数据保存在本地derby数据库中,所述数据库升级文件使用的数据库操作语言为SQL语言。
[0017]本发明的有益效果:利用本发明可有针对性地为属于不同区域的客户端分配适合的软件升级服务器,提供软件版本升级文件下载服务,相对单个服务器或集中于某一地区服务器的方式,本发明的动态分布式分配方案可起到分流作用,降低软件升级服务器访问压力,使服务器负载趋于均衡。
【专利附图】

【附图说明】
[0018]图1是本发明实施例的用于确定软件版本升级文件下载地址的方法流程图。
[0019]图2是本发明实施例的软件版本升级系统结构示意图。
[0020]图3是本发明实施例的位置-区域对应关系列表。
[0021]图4是本发明实施例的区域-服务器对应关系列表。
[0022]图5是本发明实施例的软件版本升级系统处理流程图。
[0023]图6是本发明实施例的软件版本升级控制服务器的结构框图。
【具体实施方式】
[0024]以下结合附图以及具体实施例,对本发明的技术方案进行详细描述。
[0025]图1示出了本发明的用于确定软件版本升级文件下载地址的方法流程图,包括:
[0026]Sll信息接收步骤,接收来自客户端的软件版本升级请求和用户信息,用户信息包含用户软件版本信息和IP地址。
[0027]S12信息判断步骤,根据用户软件版本信息判断用户软件是否为最新版本,如果不是最新版本,根据用户软件版本信息确定用户软件版本与该软件最新版本的差异;如果是最新版本,则不需要升级,软件直接启动。
[0028]S13第一信息处理步骤,基于客户端的IP地址得到客户端的位置。
[0029]S14第二信息处理步骤,基于预设的第一对应关系,根据客户端的位置确定客户端的区域。
[0030]S15第三信息处理步骤,基于预设的第二对应关系,根据客户端的区域确定对应的服务器。
[0031]S16下载地址确定步骤,根据客户端对应的服务器以及用户软件版本与该软件最新版本的差异,确定软件版本升级文件的下载地址。
[0032]S17信息发送步骤,将确定好的下载地址发送给客户端。
[0033]在实际应用场景中,上述步骤流程可基于如图2所示的软件版本升级系统来实施。假设若干客户端上搭载有同一款软件,软件供应商定期或不定期对软件进行性能优化和功能升级,相应地,供应商提供软件版本升级文件供用户下载。客户端向“软件版本升级控制服务器”(software version update control server, SVUCS)提出软件升级请求,SVUCS服务器通过执行S11-17可获得软件版本升级文件的下载地址,然后,客户端从下载地址指向的软件升级服务器(software update server, SUS)下载升级文件,进行本地软件版本升级更新。
[0034]具体来看,参考图2,客户端a、b和c上安装有目标软件,以客户端a的软件版本升级流程为例,首先,客户端a中的本地升级引擎(local update engine, LUE)在软件启动时驱动,向SVUCS服务器发出升级请求,LUE需收集本地用户信息,例如客户端a的IP地址、软件版本信息和软件用户注册ID等,将用户信息发送给SVUCS服务器。另外,如果此时客户端a不能进行网络访问,跳过软件版本升级的环节,软件正常启动。
[0035]在SVUCS服务器收到客户端a的用户信息之后,根据IP地址定位客户端a的位置,然后再根据预先设定的“位置-区域”对应关系,可得到客户端a的位置所属的区域,例如我国主要有华北、华南、华中、西南、西北、东北等地区,在本发明的一个实施例中,可按照图3形式的列表,例如定位出客户端a位置为广东,所属区域为华南,如果位置为上海,所属区域为华东,等等。
[0036]在确定客户端a所属区域之后,SVUCS服务器按照预先设置的SUS服务器的分配情况,为客户端a选择合适的SUS服务器。在本发明的一个实施例中,可按照图4形式的列表设置“区域-服务器”对应关系,其中,各个SUS服务器位于其所对应的区域内。以客户端a位于华南区域为例,可知对应的SUS服务器A,则选择SUS服务器A为客户端a提供下载,然后SVUCS服务器将软件版本升级文件在SUS服务器A的下载地址发送给客户端a。
[0037]这样处理的好处是按照就近原则,将位于华南地区的SUS服务器A分配给客户端a,有利于提高下载速度,削减下载耗时,在众多客户端同时请求版本升级的情况下,可明显分流下载任务,提闻网络负载均衡。
[0038]优选地,在每一次确定客户端的位置或区域之后,可记录该位置或区域信息,通过对位置或区域信息的数量统计,可掌握相关的用户量分布等软件使用情况。
[0039]在本发明的一个实施例中,对于活动客户端较多的区域,可分配多个SUS服务器提供升级文件下载服务,例如对于华东地区,对应SUS服务器C和C’,两者都适合作为华东地区客户端C的SUS服务器,SVUCS服务器可随机地选取服务器C (或服务器C’ )的下载地址下发给客户端C。在本发明中,SVUCS服务器可从多个符合条件的服务器中随机选取一个服务器作为提供升级文件下载的服务器;如果客户端连接当前服务器失败,SVUCS服务器可在剩余的符合条件的服务器中再随机选取一个服务器反馈给客户端。
[0040]在本发明的一个实施例中,如果客户端c与所有符合条件的SUS服务器(C和C’ )均连接失败,SVUCS服务器还可选取华东地区以外的区域对应的SUS服务器,选取原则是在所有位于华东地区以外的SUS服务器中,选取那个到华东地区的几何中心距离最近的SUS服务器,作为提供升级文件下载的服务器,以尽量缩短用户下载时间。
[0041]对于本发明中的SUS服务器,是为客户端提供软件版本升级文件下载的服务器,由于客户端软件的功能运作需要资源文件和用户本地数据库的支持,软件版本升级涉及资源文件的升级和本地数据库的升级。因此,软件版本升级文件包含资源升级文件和数据库升级文件,形成不同的软件更新增量包,对应于不同的用户软件版本与软件最新版本的差异。利用这些增量包可将不同的用户软件版本升级到最新版本。
[0042]此处,由于客户端存在不同的软件版本,对于不同的版本要更新到最新版本所需要的增量包一般不同,因此需要提供不同的软件更新增量包。提供多个软件更新增量包下载地址的方式也起到一定的网络分流作用,避免所有客户端向同一台服务器发出软件版本升级请求。根据公司的业务需求,可提供的软件版本升级包数量是可配的,例如可提供最近5个版本的软件升级包供软件用户升级使用。
[0043]在本发明的一个实施例中,由于软件更新包中的资源文件和数据库文件的执行语句可能含有重合的部分,在SUS服务器中利用软件打包程序分别勾选需要的资源文件和数据库文件进行打包,也即仅对新增功能的代码进行打包,形成不同的压缩包,供不同软件版本的用户下载,可保证软件更新增量包的最小化,对旧版本软件功能的高度复用,减少用户下载数据量,采用高压制的方式保证网络传输时间的较小化。
[0044]需要注意,本发明需要在多个区域布置多台SUS服务器,多台SUS服务器之间应定时同步数据,例如在凌晨网络空闲时进行数据同步。
[0045]对于客户端一侧,客户端接收到SVUCS服务器下发的下载地址之后,向相应的SUS服务器发出下载请求,下载成功后对压缩包解压得到升级文件,执行软件版本的升级。
[0046]升级时,对于软件资源文件,进行简单的添加、删除和替换等操作即可完成资源文件升级;还可以增加对需要替换文件的备份,在文件覆盖失败时LUE对文件及时还原,确保版本升级失败时软件仍可用,提高软件版本升级的安全性。
[0047]对于用户本地数据库的升级,由于本地数据库保存的是用户使用软件的历史数据,这些数据信息都是独有的,因此不能使用粗暴的资源文件替换方式进行升级,本发明采用以下方式实现:客户端软件将本地数据保存在本地derby数据库中,相应地,从SUS服务器上下载到的软件数据库升级文件以SQL语言作为数据库操作语言,则升级时只能通过执行SQL语句对本地数据库进行更新,并且当数据库更新失败时,可通过回滚数据库历史数据还原先前的数据库数据,保证用户数据不丢失,提高软件版本升级的安全性。
[0048]优选地,在实际应用场景中,可按如图5的软件版本升级系统处理流程图进行客户端软件版本升级,对该流程图中的具体步骤作如下说明:
[0049]a.首先,客户端软件启动时LUE驱动,LUE收集客户端的IP地址信息、软件版本、软件用户注册ID等信息,然后向软件版本升级控制服务器SVUCS发出升级请求;当客户端不能进行网络访问时跳过软件版本升级,正常启动。
[0050]此处,软件版本升级流程由LUE驱动,由于众多用户启动软件的时间一般情况下是不相同的,这种在启动时进行软件版本检查与升级的方式可起到分时作用,避免同一时间对服务器发起大量访问。
[0051]b.在SVUCS服务器上的远程版本控制引擎(remote version controlengine, RVCE)对客户端信息进行监听,获取来自客户端的请求信息,获取其中的客户端版本号,然后与软件最新的版本进行比对。
[0052]c.若来自客户端的软件版本与软件最新的版本一致,即客户端的软件无需升级,则返回给客户端,告知客户端软件无需升级,客户端软件自动正常启动。
[0053]d.若本地软件版本与最新软件版本不一致时,需要进行升级;
[0054]e.利用设置的“软件版本升级配置文件”,选择合适的软件更新增量包下载地址;在本发明的一个实施例中,软件版本升级配置文件的结构框架可参考表I的设置:
[0055]关于表I的软件版本升级配置文件的说明:
[0056]首先,根据客户端的IP地址判断客户端所在区域,如西南地区;
[0057]其次,根据客户端版本信息计算与最新版本客户端的版本差异,如与最新版本的差异为2 ;
[0058]再次,读取该配置文件,找到configuration根节点,然后根据IP找到name为southwest的location节点,接着根据版本差异2找到two节点,然后读取里边的address节点,得到SUS服务器更新包下载地址。
[0059]
〈configuration〉
<localion name=,,south\vcst”>
<onc>

〈address id=,T,> remote addrcss</acldrcss>

<addrcss id=”2”> remote addrcss</addrcss>
</onc>
<two>

<addrcss id=”l”> remote addrcss</addrcss>

<addrcss id=”2”> remote addrcss</addrcss>
</two>`
<lhrcc>

<address id=”l”> remote address</addrcss>

</lhrcc>
<four>

〈address id=” l”> remote addrcss</addrcss>
</Tour>
<llvc>

<addrcss id=”l”> remote addrcss</addrcss>

</Tivc>
〈/location〉
〈location name=”southwcst”>......〈/location〉
〈location namc=,,norlh,,>......〈/location〉
〈location namc=”south”>......〈/location〉
〈location namc=’’middle”>......〈/location〉
<location name=5,northeast5,>......</location>
〈/configuration〉
[0060]表1
[0061]此处,使用软件版本升级配置文件,其中的服务器地址可以人工改动,可避免程序写死,当发现服务器地址不可用时,可通过修改配置文件对服务器地址进行替换,无需修改RVCE,方便日后的升级与兼容。相比将软件升级服务器地址写死在本地升级引擎,这种动态选择升级服务器的方式可避免一旦升级服务器地址改变软件无法正常升级的风险,提高软件版本升级系统可扩展性与稳健性。
[0062]f.客户端接收下载地址,该下载地址经SVUCS服务器采用加密算法加密,LUE可进行解密操作。在本发明的一个实施例中,可使用对称加密算法,将服务器真实地址(称为明文)使用特定密钥key值进行加密,得到加密后的服务器地址(称为密文),写死在本地升级引擎中的是加密后的SVUCS地址,本地升级引擎更具加密后的SVUCS地址和密钥采用特定的解密算法得到真实的服务器访问地址,这样在一定程度上可以保证服务器地址的安全性,避免不良用户使用破解工具对本地升级引擎进行破解直接获取到服务器的访问地址,然后进行恶意攻击。同样,若本地客户软件需要进行版本升级,SVUCS返回的软件增量包的地址也是经过加密后的软件升级服务器地址,需要本地解密后进行下载访问。本发明使用特定的加密算法,能够较好地保证服务器的安全性。
[0063]g.下载地址解密后,客户端向SUS服务器发出下载请求。
[0064]h.客户端判断请求连接是否超时。在本发明的一个实施例中,客户端启动两个定时器:一个是http连接定时器,用户控制客户端访问服务器的超时,及时释放网络连接;另一个是下载超时定时器,用于控制软件下载超时,在连续三次下载超时后提示软件用户当前的网络状况欠佳,这种状况会给软件用户两个选择继续进行软件版本升级和下一次更新,保证软件友好的交互性。
[0065]1.在SUS服务器端,通过访问连接数限制和每个连接的最大流量来控制,SUS服务器判断单位时间内接收到的请求是否超过阈值,这样可以较好地保护SUS服务器。客户端和SUS服务器较好地交互保证软件增量包的顺利下载、网络资源的及时释放。
[0066]j.客户端下载完毕后,断开与SUS服务器的连接。
[0067]k.客户端解压下载的软件更新增量包。在本发明的一个实施例中,客户端并不是直接将软件升级文件一一下载然后进行软件升级操作,而是由本地软件升级引擎自动解压,抽取其中的资源升级文件和数据库升级文件。使用压缩包既节约了服务器的存储空间,也保证了软件版本升级在进行更新包下载时下载速度最短化,保证下载的成功率,将软件版本升级的大部分责任转交给本地软件升级引擎去完成,减少了服务器的压力和网络负载,保证升级时间的最短化。
[0068]在本发明的一个实施例中,为较好地获取用户体验,在进行资源升级时,还可显示下载进度条、下载速度和版本升级的进度,带给软件用户较好地软件升级体验。软件版本升级完后做善后处理,删除临时文件等操作。
[0069]1.替换客户端资料文件,更新本地数据库。软件将用户产生的历史数据保存在本地derby数据库中,其中derby数据库是java虚拟机自带的一种轻量级数据库,使用的数据库操作语言是SQL。如前所述,通过执行配置文件中的SQL语句对需要升级的数据库内容进行升级。当数据库更新失败时,可回滚数据库历史数据,还原先前的数据库数据;另外,资源文件升级时,对待替换的文件进行备份,在文件覆盖失败时及时还原,保证用户数据的安全性。
[0070]另一方面,本发明的SVUCS服务器的结构框图如图6,其用于确定软件版本升级文件的下载地址,包括:
[0071]信息接收模块101,用于接收来自客户端的软件版本升级请求和用户信息,用户信息包含用户软件版本信息和IP地址。
[0072]信息判断模块102,用于根据用户软件版本信息判断用户软件是否为最新版本,当不是最新版本时,根据用户软件版本信息确定用户软件版本与该软件最新版本的差异。
[0073]第一信息处理模块103,用于基于所述IP地址得到客户端的位置。
[0074]第二信息处理模块104,用于基于第一对应关系,根据客户端的位置确定客户端的区域。
[0075]第三信息处理模块105,用于基于第二对应关系,根据客户端的区域确定客户端对应的服务器。
[0076]下载地址确定模块106,用于根据客户端对应的服务器以及用户软件版本与该软件最新版本的差异,确定软件版本升级文件的下载地址。
[0077]信息发送模块107,用于将确定好的下载地址发送给客户端。
[0078]不同于与常见的C/S模式,本发明充分利用服务器资源,在原有C/S中加入SVUCS服务器,构成软件版本升级系统,SVUCS服务器可根据用户IP选择较近的软件升级服务器提供文件下载,在整个系统中起到网络分流的作用,优化负载均衡。更重要地,由于SVUCS服务器根据区域分配下载地址,可记录不同区域软件用户的相关数据,这些用户数据能够帮助软件供应商分析用户区域分布和使用量情况,有利于制定发展决策。
[0079]以上,结合具体实施例对本发明的技术方案进行了详细介绍,所描述的具体实施例用于帮助理解本发明的思想。本领域技术人员在本发明具体实施例的基础上做出的推导和变型也属于本发明保护范围之内。
【权利要求】
1.一种用于确定软件版本升级文件下载地址的方法,其特征在于,包括: 信息接收步骤,接收来自客户端的软件版本升级请求和用户信息,所述用户信息包含用户软件版本信息和IP地址; 信息判断步骤,根据用户软件版本信息判断用户软件是否为最新版本,当不是最新版本时,根据用户软件版本信息确定用户软件版本与该软件最新版本的差异; 第一信息处理步骤,基于所述IP地址得到客户端的位置; 第二信息处理步骤,基于第一对应关系,根据客户端的位置确定客户端的区域; 第三信息处理步骤,基于第二对应关系,根据客户端的区域确定客户端对应的服务器; 下载地址确定步骤,根据客户端对应的服务器以及用户软件版本与该软件最新版本的差异,确定软件版本升级文件的下载地址; 信息发送步骤,将确定好的下载地址发送给所述客户端。
2.如权利要求1所述的用于确定软件版本升级文件下载地址的方法,其特征在于,其中: 所述第一对应关系为第一区域对应于至少第一位置,所述至少第一位置位于所述第一区域内; 所述第二对应关系为第一区域`对应于至少一个服务器,所述至少一个服务器位于所述第一区域内,用于提供软件版本升级文件下载服务。
3.如权利要求2所述的用于确定软件版本升级文件下载地址的方法,其特征在于,在所述第二信息处理步骤之后,所述方法还包括: 区域信息记录步骤,记录本次确定的客户端的区域信息,所述区域包括以下各项中的至少一项:华东、华北、华南、华中、西南、西北和东北。
4.如权利要求2所述的用于确定软件版本升级文件下载地址的方法,其特征在于,在所述第三信息处理步骤中,在确定客户端对应的服务器时,从所述至少一个服务器中随机选取一个服务器; 当所述客户端与当前服务器连接失败时,从所述至少一个服务器中随机选取另一个服务器。
5.如权利要求4所述的用于确定软件版本升级文件下载地址的方法,其特征在于,当所述客户端与所述至少一个服务器中的每一个服务器均连接失败时,选取位于所述第一区域外部的服务器,且在所有位于所述第一区域外部的服务器中,选中的服务器到所述第一区域的几何中心的距离最短。
6.一种软件版本升级文件下载地址确定装置,其特征在于,包括: 信息接收模块,用于接收来自客户端的软件版本升级请求和用户信息,所述用户信息包含用户软件版本信息和IP地址; 信息判断模块,用于根据用户软件版本信息判断用户软件是否为最新版本,当不是最新版本时,根据用户软件版本信息确定用户软件版本与该软件最新版本的差异; 第一信息处理模块,用于基于所述IP地址得到客户端的位置; 第二信息处理模块,用于基于第一对应关系,根据客户端的位置确定客户端的区域; 第三信息处理模块,用于基于第二对应关系,根据客户端的区域确定客户端对应的服务器; 下载地址确定模块,用于根据客户端对应的服务器以及用户软件版本与该软件最新版本的差异,确定软件版本升级文件的下载地址; 信息发送模块,用于将确定好的下载地址发送给所述客户端。
7.如权利要求6所述的软件版本升级文件下载地址确定装置,其特征在于,其中: 所述第一对应关系为第一区域对应于至少第一位置,所述至少第一位置位于所述第一区域内; 所述第二对应关系为第一区域对应于至少一个服务器,所述至少一个服务器位于所述第一区域内,用于提供软件版本升级文件下载服务。
8.如权利要求7所述的软件版本升级文件下载地址确定装置,其特征在于,还包括区域信息记录模块,用于记录本次确定的客户端的区域信息,所述区域包括以下各项中的至少一项:华东、华北、华南、华中、西南、西北和东北。
9.如权利要求7所述的软件版本升级文件下载地址确定装置,其特征在于,在所述第三信息处理模块确定客户端对应的服务器时,从所述至少一个服务器中随机选取一个服务器; 当所述客户端与当前服务器连接失败时,所述第三信息处理模块从所述至少一个服务器中随机选取另一个服务器。
10.如权利要求9所述的软件版本升级文件下载地址确定装置,其特征在于,当所述客户端与所述至少一个服务器中 的每一个服务器均连接失败时,所述第三信息处理模块选取位于所述第一区域外部的服务器,且在所有位于所述第一区域外部的服务器中,所述第三信息处理模块选中的服务器到所述第一区域的几何中心的距离最短。
11.一种软件版本升级系统,其特征在于,包括如权利要求6-10中任一项所述的软件版本升级文件下载地址确定装置以及多台软件升级服务器;其中,所述多台软件升级服务器中的至少一台位于第一区域,用于提供软件版本升级文件下载服务。
12.如权利要求11的软件版本升级系统,其特征在于,所述多台软件升级服务器存储有软件版本升级文件,所述软件版本升级文件包含资源升级文件和数据库升级文件,以压缩包的形式存储,不同的用户软件版本与该软件最新版本的差异对应于不同的压缩包。
13.如权利要求12的软件版本升级系统,其特征在于,客户端的用户数据保存在本地derby数据库中,所述数据库升级文件使用的数据库操作语言为SQL语言。
【文档编号】H04L29/08GK103888523SQ201410088302
【公开日】2014年6月25日 申请日期:2014年3月11日 优先权日:2014年3月11日
【发明者】王勇 申请人:北京京东尚科信息技术有限公司, 北京京东世纪贸易有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1