一种处理更新请求的方法和服务器系统的制作方法_2

文档序号:9491873阅读:来源:国知局
一计算模块的计算结果和所述第二计算模块的计算结果是否相等;
[0053]发送模块,用于向所述客户端发送更新信息。
[0054]具体地,所述第一计算模块具体用于从所述更新请求中获取所述客户端的IP地址,根据所述IP地址获取所述IP地址对应的整数,并用所述整数对所述更新包中的更新模值进行取模计算。
[0055]具体地,所述第二计算模块具体用于计算所述客户端发送更新请求的时间与所述更新包的发布时间之间的间隔,用所述间隔对所述更新模值进行取模计算。
[0056]具体地,所述发送模块具体用于根据第二判断模块得出的结果向所述客户端发送更新、不更新或选择更新的更新信息。
[0057]本发明提供了一种处理更新请求的服务器系统,所述服务器系统还可以包括:
[0058]第一接收模块,用于接收来自客户端的更新请求,并根据所述更新请求获取地区码;
[0059]第一判断模块,用于根据所述地区码判断该地区未更新的客户端的数量是否超过阈值;
[0060]计算模块,用于根据所述未更新的客户端的总数量、所述阈值和所述更新请求进行计算;
[0061]第二判断模块,用于判断所述计算模块计算出来的结果是否为0 ;
[0062]发送模块,用于向所述客户端发送更新信息;
[0063]第二接收模块,用于接收客户端返回的更新后客户端的信息;
[0064]更新模块,用于根据所述接收模块接收的所述更新后客户端的信息对所述服务器内部的信息进行更新;
[0065]本发明提供还一种处理更新请求的服务器系统,所述服务器系统还可以包括:
[0066]第一接收模块,用于接收来自客户端的更新请求;
[0067]计算模块,用于计算客户端的白名单;
[0068]判断模块,用于根据所述更新请求,判断所述客户端是否在所述客户端的白名单中;
[0069]发送模块,用于根据所述判断模块判断的结果,向所述客户端发送更新信息;
[0070]第二接收模块,用于接收更新后客户端的信息;
[0071]更新模块,用于根据所述接收模块接收到的更新后客户端的信息更新到所述服务器内部信息中。
[0072]本方法的有益效果在于:可以有效缓解软件在新版本刚发布时一段时间内,客户端集中更新造成服务器压力过大的问题,并且减少了服务器端资源消耗,增强了客户端用户体验。
【附图说明】
[0073]为了更清楚的说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图做简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他附图。
[0074]图1为本发明实施例1中提供的一种服务器处理更新请求的方法的流程图;
[0075]图2为本发明实施例2中提供的一种服务器处理更新请求的方法的流程图;
[0076]图3和图4为本发明实施例3中提供的一种服务器处理更新请求的方法的流程图。
[0077]图5为本发明实施例4中提供的一种处理更新请求的服务器系统的方框图。
[0078]图6为本发明实施例5中提供的另外一种处理更新请求的服务器系统的方框图。
[0079]图7为本发明实施例6中提供的另外一种处理更新请求的服务器系统的方框图。
【具体实施方式】
[0080]下面结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整的描述,显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0081]实施例1
[0082]本发明实施例1提供了一种服务器处理更新请求的方法,参见图1,所述方法具体流程包括:
[0083]步骤101:服务器接收来自客户端的IP地址和所述客户端的当前版本号;
[0084]其中,步骤101之前,客户端先向服务器发送软件更新的请求。
[0085]步骤102:所述服务器从数据库中读取当前预设的更新包的更新模值、模值生效周期以及更新标志;
[0086]具体地,所述服务器包括管理平台和服务平台;所述服务平台利用sql语句,按主版本、小版本、修订号以及编译号的顺序进行倒排序,然后从数据库中检索出最新发布的版本,读取最新发布版本的版本号、更新标志、更新模值、模值生效周期。
[0087]其中,所述管理平台获取管理员录入的更新包的版本信息,将该版本信息储存到数据库中,所述服务平台读取所述更新包的版本信息。所述管理平台与所述服务平台通过数据库完成信息共享。
[0088]其中,所述更新包的版本信息包括:新版本压缩包、新版本的版本号、管理员设置的更新标志、更新包更新模值,以及模值生效周期。新版本压缩包可以为ZIP格式的压缩包;新版本的版本号用于判断当前访问的客户端是否需要更新。
[0089]步骤103:所述服务器判断所述更新模值是否在所述模值生效周期之内,如果是,执行步骤104 ;否则,执行步骤108 ;
[0090]其中,所述更新模值和模值生效周期为预先设置的两个正整数,更新模值为根据未下载新版本的客户端的数量设置的常数;模值生效周期为当前日期和新版本的发布日期的相隔天数;管理员发布新版本时,更新包的更新模值和模值生效周期会改变。
[0091]步骤104:所述服务器获取所述客户端的IP地址,并根据所述客户端的IP地址计算IP对应的整数。
[0092]具体地,所述根据所述客户端的IP地址计算IP对应的整数的方法为:客户端的IP地址的第一字段*256*256*256+客户端的IP地址第二字段*256*256+客户端的IP地址的第三字段*256+客户端IP的第四字段。
[0093]例如,客户端的IP地址为10.1.0.129,则根据所述客户端的IP地址做如下计算:10*256*256*256+1*256*256+0*256+129,得到的整数为 167837825。
[0094]步骤105:所述服务器用所述根据客户端的IP地址计算得到的整数对所述更新包中更新模值进行取模运算获得第一运算结果;
[0095]例如,客户端的IP地址为10.1.0.129,更新包的更新模值为5时,所述服务器用所述客户端的IP地址进行计算:10*256*256*256+1*256*256+0*256+129,得到整数167837852,所述服务器用所述整数对所述更新模值5进行取模运算获得第一运算结果;具体地,第一运算结果为0。
[0096]步骤106:所述服务器用所述模值生效周期对所述更新包中更新模值进行取模运算获得第二运算结果。
[0097]例如,当前日期为2015年4月29日,发布日期为2015年4月16日,所述模值生效周期为13天,更新包的更新模值为5时,则所述服务器用模值生效周期对所述更新包更新模值5进行取模运算,获得第二运算结果;具体地,第二运算结果为3。
[0098]步骤107:所述服务器判断第一运算结果是否等于所述第二运算结果,如果是,执行步骤108;否则,拒绝更新。
[0099]步骤108:所述服务器向所述客户端返回更新包的更新标志。
[0100]具体地,所述服务器根据管理员设置的更新标志配置向所述客户端返回更新标志;
[0101]其中,如果更新标志配置是不更新,则返回第一预设标志;如果更新标志配置是立即更新,则返回第二预设标志;如果更新标志配置为可选更新,则返回第三预设标志;
[0102]当所述客户端接收到所述更新标志时,还包括:所述客户端判断所述更新标志,如果返回的更新标志为所述第一预设标志时,则所述客户端不进行更新,流程结束;如果更新标志为所述第二预设标志时,所述客户端立即进行更新,具体的,客户端从所述服务器下载更新包后直接安装,安装完成后,所述客户端向所述服务器端返回机器码(客户机唯一标识)、版本号及其它环境信息;如果更新标志为所述第三更新标志时,所述客户端选
当前第2页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1