书签 分享 收藏 举报 版权申诉 / 22

一种处理更新请求的方法和服务器系统.pdf

  • 上传人:大师****2
  • 文档编号:6347666
  • 上传时间:2019-06-03
  • 格式:PDF
  • 页数:22
  • 大小:1.49MB
  • 摘要
    申请专利号:

    CN201510541890.1

    申请日:

    2015.08.28

    公开号:

    CN105245567A

    公开日:

    2016.01.13

    当前法律状态:

    授权

    有效性:

    有权

    法律详情:

    授权|||著录事项变更IPC(主分类):H04L 29/08变更事项:申请人变更前:北京坚石诚信科技有限公司变更后:北京坚石诚信科技有限公司变更事项:地址变更前:100085 北京市海淀区学清路9号汇智大厦B楼17层变更后:100085 北京市海淀区学清路9号汇智大厦B楼205室|||实质审查的生效IPC(主分类):H04L 29/08申请日:20150828|||公开

    IPC分类号:

    H04L29/08; G06F9/445

    主分类号:

    H04L29/08

    申请人:

    北京坚石诚信科技有限公司

    发明人:

    陆舟; 于华章

    地址:

    100085北京市海淀区学清路9号汇智大厦B楼17层

    优先权:

    专利代理机构:

    代理人:

    PDF完整版下载: PDF下载
    内容摘要

    本发明公开了一种处理更新请求的方法和服务器系统,属于计算机应用技术领域。所述方法包括:服务器接收来自客户端的更新请求,服务器根据所述更新请求进行计算,判断所述客户端是否可以更新,如果是,所述服务器向所述客户端发送更新信息,否则,向所述客户端发送不允许更新的通知。通过本发明的技术方案,能够实现客户端的分批次进行更新,当更新的软件体积较大时,可以缓解服务器的压力,避免由于网络拥堵造成的服务器预警或者瘫痪的问题。

    权利要求书

    权利要求书
    1.  一种处理更新请求的方法,其特征在于,所述方法包括:
    步骤A1:服务器接收到来自客户端的更新请求,读取所述服务器中更新包中的更新模值和模值的有效周期;
    步骤A2:所述服务器判断所述客户端发送更新请求的时间是否在所述模值的有效周期之内,如果是,执行步骤A3;否则,执行步骤A6;
    步骤A3:所述服务器根据所述更新请求中的信息对所述更新包中的更新模值进行计算,获得第一运算结果;
    步骤A4:所述服务器计算所述客户端发送更新请求的时间和所述更新包的发布时间的间隔,根据所述间隔和所述更新模值进行计算获得第二运算结果;
    步骤A5:所述服务器对所述第一运算结果和所述第二运算结果进行比较,如果相等,执行步骤A6;否则,向所述客户端发送不允许更新的信息,结束;
    步骤A6:所述服务器向所述客户端发送更新信息。

    2.  如权利要求1所述的方法,其特征在于,所述来自客户端的更新请求中包括:客户端的IP地址。

    3.  如权利要求2所述的方法,其特征在于,所述服务器根据所述更新请求中的信息对所述更新包中的更新模值进行计算具体为:所述服务器从所述更新请求中获取所述客户端的IP地址,根据所述客户端的IP地址对应的整数,对所述更新模值进行取模运算。

    4.  如权利要求1所述的方法,其特征在于,所述步骤A4具体为:所述服务器用所述客户端发送更新请求的时间和所述更新包的发布时间的间隔对所述 更新模值进行取模运算得到第二运算结果。

    5.  如权利要求1所述的方法,其特征在于,所述服务器向所述客户端发送更新信息之后,还包括:所述客户端接收所述更新信息,并根据所述更新信息进行操作。

    6.  如权利要求5所述的方法,其特征在于,所述客户端根据所述更新信息进行操作,具体为:如果所述客户端接收到的更新信息为不更新,所述客户端不进行更新;如果所述客户端接收到的更新信息为直接更新,所述客户端下载更新包后直接安装;如果所述客户端接收到的更新信息为可选更新,根据用户选择判断是否选择立即更新,如果是,所述客户端立即更新;否则,所述客户端不更新。

    7.  一种处理更新请求的方法,其特征在于,包括:
    步骤B1:服务器接收来自客户端的更新请求;
    步骤B2:所述服务器根据所述更新请求获取地区码,根据所述地区码读取该地区未更新的客户端的总数量;
    步骤B3:所述服务器判断所述未更新的客户端的总数量是否超过阈值,如果是,执行步骤B4;否则,所述服务器通知所述客户端直接更新;
    步骤B4:所述服务器根据所述未更新的客户端的总数量、所述阈值和所述更新请求进行计算获得计算结果;
    步骤B5:所述服务器判断所述计算结果是否为0,如果是,执行步骤B6;否则,所述服务器发送不允许更新的通知给所述客户端,结束;
    步骤B6:所述服务器向所述客户端发送更新信息;
    步骤B7:所述服务器接收所述客户端返回的更新后客户端信息,并根据所述更新后的客户端信息对所述服务器内部信息进行更新。

    8.  如权利要求7所述的方法,其特征在于,所述更新请求中包括:客户端的IP地址。

    9.  如权利要求7所述的方法,其特征在于,所述阈值具体为:所述服务器允许同时更新的客户端数量的最大值。

    10.  如权利要求8所述的方法,其特征在于,所述步骤B4具体包括:所述服务器计算所述未更新的客户端的总数量和所述阈值的整数倍,根据所述更新请求中的客户端的IP地址计算所述IP地址对应的整数,用所述IP地址对应的整数对所述整数倍进行取模计算得到计算结果。

    11.  如权利要求7所述的方法,其特征在于,所述服务器内部信息具体为:服务器中装机量表中的内容。

    12.  如权利要求7所述的方法,其特征在于,所述服务器向所述客户端发送更新信息之后,还包括:所述客户端接收所述更新信息,并根据所述更新信息进行操作。

    13.  如权利要求12所述的方法,其特征在于,所述客户端根据所述更新信息进行操作,具体为:如果所述客户端接收到的更新信息为不更新,所述客户端不进行更新;如果所述客户端接收到的更新信息为直接更新,所述客户端下载更新包后直接安装;如果所述客户端接收到的更新信息为可选更新,根据用户选择判断是否选择立即更新,如果是,所述客户端立即更新;否则,所述客户端不更新。

    14.  一种处理更新请求的方法,其特征在于,包括:
    步骤C1:服务器接收来自客户端的更新请求;
    步骤C2:所述服务器根据当前的白名单判断所述客户端是否在所述白名单中,如果是,执行步骤C3;否则,所述服务器向所述客户端发送不允许更新的通知,结束;
    步骤C3:所述服务器向所述客户端发送更新信息;
    步骤C4:所述服务器接收所述客户端返回的信息并将所述返回的信息更新到所述服务器内部信息中。

    15.  如权利要求14所述的方法,其特征在于,所述将所述返回的信息更新到服务器内部信息中具体为:所述服务器更新装机量表中的内容,并根据装机量表中的内容更新所述白名单;
    所述方法还包括:所述服务器根据允许被更新的客户端确定当前的白名单,具体包括:
    步骤C11:所述服务器获取最新版本的版本号和阈值;
    步骤C12:所述服务器根据所述最新版本的版本号获取未更新客户端的数量;
    步骤C13:所述服务器判断所述未更新客户端的数量是否超过所述阈值,如果是,执行步骤C14;否则,所有客户端直接升级;
    步骤C14:所述服务器计算所述未更新客户端的数量和所述阈值的整数倍;
    步骤C15:所述服务器根据所述更新请求和所述整数倍,计算所述白名单;
    所述服务器根据所述最新版本的版本号获取未更新客户端的数量,具体为:所述服务器根据装机量表内小于当前最新版本的版本号的记录的条数确定所述未更新客户端的数量。

    16.  如权利要求15所述的方法,其特征在于,所述阈值具体为:所述服务器允许同时更新的客户端数量的最大值。

    17.  如权利要求14所述的方法,其特征在于,所述更新请求包括:客户端的IP地址。

    18.  如权利要求14所述的方法,其特征在于,所述服务器向所述客户端发送更新信息之后,还包括:所述客户端接收所述更新信息,并根据所述更新信息进行操作。

    19.  如权利要求18所述的方法,其特征在于,所述根据所述更新信息进行操作,具体为:如果所述客户端接收到的更新信息为不更新,所述客户端不进行更新;如果所述客户端接收到的更新信息为直接更新,所述客户端下载更新包后直接安装;如果所述客户端接收到的更新信息为可选更新,根据用户选择判断是否选择立即更新,如果是,所述客户端立即更新;否则,所述客户端不更新。

    20.  一种处理更新请求的服务器系统,其特征在于,包括:
    接收模块,用于接收来自客户端的更新请求,并读取所述服务器中更新包中的更新模值和模值的有效周期;
    第一判断模块,用于判断所述客户端发送更新请求的时间是否在所述模值的有效周期之内;
    第一计算模块,用于根据所述来自客户端的更新请求中的信息对所述更新包中的更新模值进行计算;
    第二计算模块,用于计算所述客户端发送更新请求的时间与所述更新包的发布时间之间的间隔,并根据所述时间间隔和所述更新包中的更新模值进行计算;
    第二判断模块,用于判断所述第一计算模块的计算结果和所述第二计算模块的计算结果是否相等;
    发送模块,用于向所述客户端发送更新信息。

    21.  如权利要求20所述的服务器系统,其特征在于,所述第一计算模块具体用于从所述更新请求中获取所述客户端的IP地址,根据所述IP地址获取所述IP地址对应的整数,并用所述整数对所述更新包中的更新模值进行取模计算。

    22.  如权利要求20所述的服务器系统,其特征在于,所述第二计算模块具体用于计算所述客户端发送更新请求的时间与所述更新包的发布时间之间的间隔,并用所述间隔对所述更新模值进行取模计算。

    23.  如权利要求20所述的服务器系统,其特征在于,所述发送模块具体用于根据所述第二判断模块得出的结果向所述客户端发送更新、不更新或选择更新的更新信息。

    24.  一种处理更新请求的服务器系统,其特征在于,包括:
    第一接收模块,用于接收来自客户端的更新请求,并根据所述更新请求获取地区码;
    第一判断模块,用于根据所述地区码判断该地区未更新的客户端的数量是 否超过阈值;
    计算模块,用于根据所述未更新的客户端的总数量、所述阈值和所述更新请求进行计算;
    第二判断模块,用于判断所述计算模块计算出来的结果是否为0;
    发送模块,用于向所述客户端发送更新信息;
    第二接收模块,用于接收客户端返回的更新后客户端的信息;
    更新模块,用于根据所述接收模块接收的所述更新后客户端的信息对所述服务器内部的信息进行更新。

    25.  如权利要求24所述的服务器系统,其特征在于,所述计算模块具体用于计算所述未更新的客户端的总数量和所述阈值的整数倍,根据所述更新请求中的客户端的IP地址计算所述IP地址对应的整数,用所述IP地址对应的整数对所述整数倍进行取模计算。

    26.  如权利要求24所述的服务器系统,其特征在于,所述发送模块具体用于根据所述第二判断模块判断的得到的结果向所述客户端发送更新、不更新或者选择更新的更新信息。

    27.  如权利要求24所述的服务器系统,其特征在于,所述更新模块具体用于根据接收到的更新后客户端信息,对所述服务器中装机量表中的内容进行更新。

    28.  一种处理更新请求的服务器系统,其特征在于,包括:
    第一接收模块,用于接收来自客户端的更新请求;
    计算模块,用于计算客户端的白名单;
    判断模块,用于根据所述更新请求,判断所述客户端是否在所述客户端的白名单中;
    发送模块,用于根据所述判断模块判断的结果,向所述客户端发送更新信息;
    第二接收模块,用于接收客户端返回的信息;
    更新模块,用于根据所述接收模块接收到的更新后客户端的信息更新到所述服务器内部信息中。

    29.  如权利要求28所述的服务器系统,其特征在于,所述更新模块具体用于更新服务器内部装机量表的内容;
    所述计算模块具体用于获取更新包的最新版本的版本号和阈值,获取未更新客户端的数量,计算未更新客户端的数量和所述阈值的整数倍,并根据所述更新请求和所述整数倍计算所述白名单;
    所述计算模块还具体用于根据装机量表内小于当前最新版本的版本号的记录的条数计算所述未更新客户端的数量。

    说明书

    说明书一种处理更新请求的方法和服务器系统
    技术领域
    本发明涉及一种处理更新请求的方法和服务器系统,属于计算机应用技术领域。
    背景技术
    随着计算机应用技术的不断发展,计算机软件的数量越来越多,新版本也不断的出现,当一种软件的新版本出现的时候,就存在着大批量软件更新的需求,软件更新的目的是修复低版本中的部分BUG使其得到优化的效果。在现有的软件更新的技术中,无论全量更新或是增量更新的处理方式,当软件体积增大到一定程度,或者服务器带宽受到限制,都将面临着网络拥堵的情况,导致服务器预警或者瘫痪,客户端就无法更新。
    发明内容
    本发明的目的是为了克服现有技术的缺陷,提供一种处理更新请求的方法和服务器系统。
    本发明提供了一种处理更新请求的方法,所述方法包括:
    步骤A1:服务器接收到来自客户端的更新请求,读取所述服务器中更新包中的更新模值和模值的有效周期;
    步骤A2:所述服务器判断所述客户端发送更新请求的时间是否在所述模值的有效周期之内,如果是,执行步骤A3;否则,执行步骤A6;
    步骤A3,所述服务器根据所述更新请求中的信息对所述更新包中的更新模 值进行计算,获得第一运算结果;
    步骤A4:所述服务器计算所述客户端发送更新请求的时间和所述更新包的发布时间的间隔,根据所述间隔和所述更新模值进行计算获得第二运算结果;
    步骤A5:所述服务器对所述第一运算结果和所述第二运算结果进行比较,如果相等,执行步骤A6;否则,向所述客户端发送不允许更新的信息,结束;
    步骤A6:所述服务器向所述客户端发送更新信息。
    具体地,所述来自客户端的更新请求中包括:客户端的IP地址。
    具体地,所述服务器根据所述更新请求中的信息对所述更新包中的更新模值进行计算具体为:所述服务器从所述更新请求中获取所述客户端的IP地址,根据所述客户端的IP地址对应的整数,对所述更新模值进行取模运算。
    具体地,所述步骤A4具体为:所述服务器用所述客户端发送更新请求的时间和所述更新包的发布时间的间隔对所述更新模值进行取模运算得到第二运算结果。
    具体地,所述服务器向客户端发送更新信息之后,还包括:所述客户端接收所述更新信息,并根据所述更新信息进行操作。
    具体地,所述客户端根据所述更新信息进行操作,具体为:如果所述客户端接收到的更新信息为不更新,所述客户端不进行更新;如果所述客户端接收到的更新信息为直接更新,所述客户端下载更新包后直接安装;如果所述客户端接收到的更新信息为可选更新,根据用户选择判断是否选择立即更新,如果是,所述客户端立即更新;否则,所述客户端不更新。
    本发明提供了一种服务器处理更新请求的方法,所述方法还可以包括:
    步骤B1:服务器接收来自客户端的更新请求;
    步骤B2:所述服务器根据所述更新请求获取地区码,根据所述地区码读取该地区未更新的客户端的总数量;
    步骤B3:所述服务器判断所述未更新的客户端的总数量是否超过阈值,如果是,执行步骤B4;否则,所述服务器通知所述客户端直接更新;
    步骤B4:所述服务器根据所述未更新的客户端的总数量、所述阈值和所述更新请求进行计算获得计算结果;
    步骤B5:所述服务器判断所述计算结果是否为0,如果是,执行步骤B6;否则,所述服务器发送不允许更新的通知给所述客户端,结束;
    步骤B6:所述服务器向所述客户端发送更新信息;
    步骤B7:所述服务器接收所述客户端返回的更新后客户端信息,并根据所述更新后的客户端信息对所述服务器内部信息进行更新。
    具体地,所述更新请求中包括:客户端的IP地址。
    具体地,所述阈值为:所述服务器允许同时更新的客户端数量的最大值。
    具体地,所述步骤B4包括:所述服务器计算所述未更新的客户端的总数量和所述阈值的整数倍,根据所述更新请求中的客户端的IP地址计算所述IP地址对应的整数,用所述IP地址对应的整数对所述整数倍进行取模计算得到计算结果。
    具体地,所述服务器内部信息为:服务器中装机量表中的内容。
    具体地,所述服务器向所述客户端发送更新信息之后,还包括:所述客户 端接收所述更新信息,并根据所述更新信息进行操作。
    具体地,所述客户端根据所述更新信息进行操作,包括:如果所述客户端接收到的更新信息为不更新,所述客户端不进行更新;如果所述客户端接收到的更新信息为直接更新,所述客户端下载更新包后直接安装;如果所述客户端接收到的更新信息为可选更新,根据用户选择判断是否选择立即更新,如果是,所述客户端立即更新;否则,所述客户端不更新。
    本发明提供了一种处理更新请求的方法,所述方法还可以包括:
    步骤C1:服务器接收来自客户端的更新请求;
    步骤C2:所述服务器根据当前的白名单判断所述客户端是否在所述白名单中,如果是,执行步骤C3;否则,所述服务器向所述客户端发送不允许更新的通知,结束;
    步骤C3:所述服务器向所述客户端发送更新信息;
    步骤C4:所述服务器接收所述客户端返回的信息并将所述返回的信息更新到所述服务器内部信息中。
    具体地,所述返回的信息更新到服务器内部信息为:所述服务器更新装机量表中的内容,并根据装机量表中的内容更新白名单。
    相应地,所述服务器根据允许被更新的客户端确定当前的白名单,具体包括:
    步骤C11:所述服务器获取最新版本的版本号和阈值;
    步骤C12:所述服务器根据所述最新版本的版本号获取未更新客户端的数 量;
    步骤C13:所述服务器判断所述未更新客户端的数量是否超过所述阈值,如果是,执行步骤C14;否则,所有客户端直接升级;
    步骤C14:所述服务器计算所述未更新客户端的数量和所述阈值的整数倍;
    步骤C15:所述服务器根据所述更新请求和所述整数倍,计算所述白名单。
    相应地,所述服务器根据所述最新版本的版本号获取未更新客户端的数量,具体为:所述服务器根据装机量表内小于当前最新版本的版本号的记录的条数确定所述未更新客户端的数量。
    具体地,所述阈值为:所述服务器允许同时更新的客户端数量的最大值。
    具体地,所述更新请求包括:客户端的IP地址。
    具体地,所述服务器向所述客户端发送更新信息之后,还包括:所述客户端接收所述更新信息,并根据所述更新信息进行操作。
    具体地,所述根据更新信息进行操作,包括:如果所述客户端接收到的更新信息为不更新,所述客户端不进行更新;如果所述客户端接收到的更新信息为直接更新,所述客户端下载更新包后直接安装;如果所述客户端接收到的更新信息为可选更新,根据用户选择判断是否选择立即更新,如果是,所述客户端立即更新;否则,所述客户端不更新。
    本发明还提供了一种处理更新请求的服务器系统,所述服务器系统包括:
    接收模块,用于接收来自客户端的更新请求,并读取所述服务器中更新包中的更新模值和模值的有效周期;
    第一判断模块,用于判断所述客户端发送更新请求的时间是否在所述模值的有效周期之内;
    第一计算模块,用于根据所述来自客户端的更新请求中的信息对所述更新包中的更新模值进行计算;
    第二计算模块,用于计算所述客户端发送更新请求的时间与所述更新包的发布时间之间的间隔,并根据所述间隔和所述更新包中的更新模值进行计算;
    第二判断模块,用于判断第一计算模块的计算结果和所述第二计算模块的计算结果是否相等;
    发送模块,用于向所述客户端发送更新信息。
    具体地,所述第一计算模块具体用于从所述更新请求中获取所述客户端的IP地址,根据所述IP地址获取所述IP地址对应的整数,并用所述整数对所述更新包中的更新模值进行取模计算。
    具体地,所述第二计算模块具体用于计算所述客户端发送更新请求的时间与所述更新包的发布时间之间的间隔,用所述间隔对所述更新模值进行取模计算。
    具体地,所述发送模块具体用于根据第二判断模块得出的结果向所述客户端发送更新、不更新或选择更新的更新信息。
    本发明提供了一种处理更新请求的服务器系统,所述服务器系统还可以包括:
    第一接收模块,用于接收来自客户端的更新请求,并根据所述更新请求获取地区码;
    第一判断模块,用于根据所述地区码判断该地区未更新的客户端的数量是否超过阈值;
    计算模块,用于根据所述未更新的客户端的总数量、所述阈值和所述更新请求进行计算;
    第二判断模块,用于判断所述计算模块计算出来的结果是否为0;
    发送模块,用于向所述客户端发送更新信息;
    第二接收模块,用于接收客户端返回的更新后客户端的信息;
    更新模块,用于根据所述接收模块接收的所述更新后客户端的信息对所述服务器内部的信息进行更新;
    本发明提供还一种处理更新请求的服务器系统,所述服务器系统还可以包括:
    第一接收模块,用于接收来自客户端的更新请求;
    计算模块,用于计算客户端的白名单;
    判断模块,用于根据所述更新请求,判断所述客户端是否在所述客户端的白名单中;
    发送模块,用于根据所述判断模块判断的结果,向所述客户端发送更新信息;
    第二接收模块,用于接收更新后客户端的信息;
    更新模块,用于根据所述接收模块接收到的更新后客户端的信息更新到所述服务器内部信息中。
    本方法的有益效果在于:可以有效缓解软件在新版本刚发布时一段时间内,客户端集中更新造成服务器压力过大的问题,并且减少了服务器端资源消耗,增强了客户端用户体验。
    附图说明
    为了更清楚的说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图做简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他附图。
    图1为本发明实施例1中提供的一种服务器处理更新请求的方法的流程图;
    图2为本发明实施例2中提供的一种服务器处理更新请求的方法的流程图;
    图3和图4为本发明实施例3中提供的一种服务器处理更新请求的方法的流程图。
    图5为本发明实施例4中提供的一种处理更新请求的服务器系统的方框图。
    图6为本发明实施例5中提供的另外一种处理更新请求的服务器系统的方框图。
    图7为本发明实施例6中提供的另外一种处理更新请求的服务器系统的方框图。
    具体实施方式
    下面结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整的描述,显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全 部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
    实施例1
    本发明实施例1提供了一种服务器处理更新请求的方法,参见图1,所述方法具体流程包括:
    步骤101:服务器接收来自客户端的IP地址和所述客户端的当前版本号;
    其中,步骤101之前,客户端先向服务器发送软件更新的请求。
    步骤102:所述服务器从数据库中读取当前预设的更新包的更新模值、模值生效周期以及更新标志;
    具体地,所述服务器包括管理平台和服务平台;所述服务平台利用sql语句,按主版本、小版本、修订号以及编译号的顺序进行倒排序,然后从数据库中检索出最新发布的版本,读取最新发布版本的版本号、更新标志、更新模值、模值生效周期。
    其中,所述管理平台获取管理员录入的更新包的版本信息,将该版本信息储存到数据库中,所述服务平台读取所述更新包的版本信息。所述管理平台与所述服务平台通过数据库完成信息共享。
    其中,所述更新包的版本信息包括:新版本压缩包、新版本的版本号、管理员设置的更新标志、更新包更新模值,以及模值生效周期。新版本压缩包可以为ZIP格式的压缩包;新版本的版本号用于判断当前访问的客户端是否需要更新。
    步骤103:所述服务器判断所述更新模值是否在所述模值生效周期之内,如 果是,执行步骤104;否则,执行步骤108;
    其中,所述更新模值和模值生效周期为预先设置的两个正整数,更新模值为根据未下载新版本的客户端的数量设置的常数;模值生效周期为当前日期和新版本的发布日期的相隔天数;管理员发布新版本时,更新包的更新模值和模值生效周期会改变。
    步骤104:所述服务器获取所述客户端的IP地址,并根据所述客户端的IP地址计算IP对应的整数。
    具体地,所述根据所述客户端的IP地址计算IP对应的整数的方法为:客户端的IP地址的第一字段*256*256*256+客户端的IP地址第二字段*256*256+客户端的IP地址的第三字段*256+客户端IP的第四字段。
    例如,客户端的IP地址为10.1.0.129,则根据所述客户端的IP地址做如下计算:10*256*256*256+1*256*256+0*256+129,得到的整数为167837825。
    步骤105:所述服务器用所述根据客户端的IP地址计算得到的整数对所述更新包中更新模值进行取模运算获得第一运算结果;
    例如,客户端的IP地址为10.1.0.129,更新包的更新模值为5时,所述服务器用所述客户端的IP地址进行计算:10*256*256*256+1*256*256+0*256+129,得到整数167837852,所述服务器用所述整数对所述更新模值5进行取模运算获得第一运算结果;具体地,第一运算结果为0。
    步骤106:所述服务器用所述模值生效周期对所述更新包中更新模值进行取模运算获得第二运算结果。
    例如,当前日期为2015年4月29日,发布日期为2015年4月16日,所 述模值生效周期为13天,更新包的更新模值为5时,则所述服务器用模值生效周期对所述更新包更新模值5进行取模运算,获得第二运算结果;具体地,第二运算结果为3。
    步骤107:所述服务器判断第一运算结果是否等于所述第二运算结果,如果是,执行步骤108;否则,拒绝更新。
    步骤108:所述服务器向所述客户端返回更新包的更新标志。
    具体地,所述服务器根据管理员设置的更新标志配置向所述客户端返回更新标志;
    其中,如果更新标志配置是不更新,则返回第一预设标志;如果更新标志配置是立即更新,则返回第二预设标志;如果更新标志配置为可选更新,则返回第三预设标志;
    当所述客户端接收到所述更新标志时,还包括:所述客户端判断所述更新标志,如果返回的更新标志为所述第一预设标志时,则所述客户端不进行更新,流程结束;如果更新标志为所述第二预设标志时,所述客户端立即进行更新,具体的,客户端从所述服务器下载更新包后直接安装,安装完成后,所述客户端向所述服务器端返回机器码(客户机唯一标识)、版本号及其它环境信息;如果更新标志为所述第三更新标志时,所述客户端选择是否立即更新,如果是,所述客户端立即更新,并向服务器返回机器码(客户机唯一标识)、版本号及其它环境信息;否则,流程结束。
    其中,所述第一预设标志可以为0;所述第二预设标志可以为1;所述第三预设标志可以为2。
    当所述更新标志为第一预设标志时,客户端不进行更新;需要说明的是,客户端可以自行登录更新网站,进行下载。
    当所述更新标志为第二预设标志时,客户端安装完成首次启动时会上送机器码(唯一标识)以及版本号和相关环境信息。
    所述更新标志为所述第三更新标志时,客户端在系统托盘中显示“有新的更新包是否决定更新”,根据用户选择,判断是否立即更新。
    步骤109:所述服务器接收所述客户端返回的信息。
    具体地,所述客户端返回的信息包括:客户端的机器码(唯一标识)和客户端当前的版本号。
    进一步的还包括,所述服务器根据所述客户端返回的信息,更新客户端环境记录数据。
    实施例2
    本发明实施例2提供了一种服务器处理更新请求的方法,参见图2,所述方法具体流程包括:
    步骤201:服务器接收来自客户端的所述客户端的IP地址和所述客户端的当前版本号。
    步骤202:所述服务器读取更新包的最新版本。
    具体地,所述服务器包括服务平台和管理平台,所述服务平台利用sql语句,按主版本、小版本、修订号以及编译号的顺序进行倒排序,从数据库中检索出最新发布的版本。
    其中,所述管理平台获取管理员录入的更新包的版本信息,将该版本信息储存到数据库中,所述服务平台读取所述更新包的版本信息。所述管理平台与所述服务平台通过数据库完成信息共享。
    其中,所述更新包的版本信息包括:新版本压缩包、新版本的版本号、管理员设置的更新标志、更新包更新模值,以及模值生效周期。新版本压缩包可以为ZIP格式的压缩包;新版本的版本号用于判断当前访问的客户端是否需要更新。
    步骤203:所述服务器根据所述客户端的IP地址获取地区码,根据地区码读取该地区的未更新客户端总数。
    具体地,地区码对应该地区的未更新的客户端总数,所述服务器根据地区码通过sql语句获取该地区未更新的客户端的总数。
    步骤204:服务器判断未更新客户端总数是否超过阈值,如果是,则执行步骤205;否则,所述客户端直接更新。
    其中,所述阈值是管理员维护更新包时设定的,也就是允许同时下载的用户数量的最大值。
    步骤205:所述服务器获取所述客户端的IP地址,并根据所述客户端的IP地址计算IP对应的整数。
    具体地,根据所述客户端的IP地址计算IP对应的整数具体为:客户端的IP地址的第一字段*256*256*256+客户端的IP地址的第二字段*256*256+客户端的IP地址的第三字段*256+客户端的IP地址的第四字段。
    例如,客户端的IP地址为10.1.0.129,则根据所述客户端的IP地址计算 的IP对应的整数为10*256*256*256+1*256*256+0*256+129得到的整数为167837825。
    步骤206:所述服务器计算未更新客户端的数量和阈值的整数倍获得第一整数倍,用根据所述客户端的IP地址计算所得的IP对应的整数对所述第一整数倍求模。
    例如:未更新客户端数量为1000,阈值设置为100,则第一整数倍为10;假设客户端IP的地址为10.1.0.129,则根据IP地址计算所得IP对应的整数为167837825,那么根据所述整数167837825对所述第一整数倍10求模的结果为5。
    步骤207:所述服务器判断根据所述客户端的IP地址计算所得的IP对应的整数对所述第一整数倍求模所得的结果是否为0,如果是,执行步骤208;否则,结束。
    步骤208:所述服务器向所述客户端返回更新标志;
    具体地,当所述服务器向客户端返回所述更新标志时,所述客户端判断所述更新标志,如果更新标志为第四预设标志,客户端判断是否选择立即更新;如果为第五预设标志,所述客户端立即更新,并将最新版本环境信息上送给所述服务器;其中所述第四预设标志为用于标识用户选择是否更新的标志;所述第五预设标志为用于标识强制更新的标志;
    具体地,当更新标志为所述第五预设标志时,还包括:所述客户端安装更新包,并将最新版本环境信息上送给所述服务器;
    当所述客户端判断是否选择更新时,还包括:当用户选择立即更新时,则所述客户端安装更新包,并将最新版本环境信息上送给所述服务器;否则,流 程结束;
    具体地,客户端在系统托盘中显示“有新的更新包是否决定更新”,根据用户选择,判断是否立即更新。
    具体地,所述客户端安装更新包还包括:客户端从服务器下载更新包完成后直接安装。
    步骤209:所述服务器接收所述客户端返回的更新后的客户端的信息。
    具体地,所述服务器接收所述客户端返回的客户端机器码和客户端当前的版本号。
    其中,所述服务器接收到所述客户端返回的机器码和当前版本号后,还包括:将返回的机器码和当前版本号及其他环境数据储存到服务器中储存的装机量表中;所述装机量表是服务器根据客户端上送的客户端机器码和最新版本的版本号统计出的一个总表;所述装机量表中包括:客户端的机器码、地区码、版本安装量记录的版本号字段、以及客户端当前版本号等信息。
    步骤210:所述服务器根据所述客户端返回的更新后的客户端的信息进行服务器内部信息更新。
    具体地,服务器接收客户端返回的机器码以及所述客户端当前版本号后,变更装机量表中版本安装量的记录的版本号字段。
    实施例3
    本发明实施例3提供了一种服务器处理更新请求的方法,包括:
    服务器计算出IP白名单,通过判断客户端上送的IP地址是否在所述IP白 名单中,判断所述客户端是否可以更新。
    其中,所述服务器计算所述IP白名单,如图3所示具体包括:
    步骤301:服务器读取更新包,获取预先设置的阈值。
    其中,阈值为允许同时下载的客户端数量的最大值。
    步骤302:所述服务器读取所述更新包中最新版本的版本号。
    具体地,所述服务器包括管理平台和服务平台;所述服务平台利用sql语句,按主版本、小版本、修订号以及编译号的顺序进行倒排序,然后从数据库中检索出最新发布的版本,服务器读取最新版本的版本号。
    步骤303:所述服务器根据装机量表内小于当前最新版本的版本号的记录的条数,判断未更新客户端的数量。
    具体地,所述服务器根据所述装机量表中的客户端的版本号与当前最新版本的版本号对比,判断未更新为最新版本的客户端的数量。
    其中,所述装机量表是服务器根据客户端上送的客户端机器码和最新版本的版本号统计出的一个总表;所述装机量表中包括:客户端的机器码、地区码、装机量表中版本安装量的记录的版本号字段、以及客户端当前版本号等信息。其中,机器码是由客户端通过CPU、硬盘及网卡的唯一标识码组合而成。
    步骤304:所述服务器判断未更新客户端的数量是否超过所述阈值,如果是,执行步骤305;否则,所有客户端直接更新,结束。
    其中,如果客户端数量超过阈值,说明所有未更新的客户端一起更新时,给服务器造成压力过大;如果未更新客户端数量没有超过阈值,服务器可以承 载所有客户端一起更新。
    步骤305:所述服务器计算未更新客户端的数量与所述阈值的整数倍得到第二整数倍。
    步骤306:所述服务器根据所述客户端的IP地址和第二整数倍,计算IP白名单。
    具体地,所述客户端的IP地址的最后一位除以所述第二整数倍得到分段数,用0到所述分段数间的随机数作为决定IP白名单的依据;
    其中,所述用0到所述分段数间的随机数作为决定IP白名单的依据,具体为:0到所述分段数间的随机数通过Math.random函数得到其中的任一个数字x,通过x来决定可更新的段落,然后根据所述段落的开始数字和截止数字来圈定可以更新的IP,所述被圈定的IP地址为IP白名单。
    其中,IP地址的最后一位最大为255。
    所述服务器计算完IP白名单之后,还包括,每过预定的时间,就返回步骤304;本实施例中,设置每隔五小时,返回步骤304.
    通过判断客户端上送的IP地址是否符合IP段落的规则,判断所述客户端是否可以更新,如图4所示,具体包括:
    步骤401:所述服务器接收所述客户端的IP地址。
    步骤402:所述服务器根据所述IP白名单进行过滤,判断所述客户端的IP地址是否在IP白名单中,如果是,所述服务器向所述客户端发送更新标志,然后执行步骤403;否则,流程结束。
    其中,客户端更新完成之后,还包括:所述客户端向服务器返回更新后的客户端的信息。
    步骤403:所述服务器接收所述客户端返回的更新后的客户端的信息。
    其中,所述更新后的客户端的信息具体包括:客户端的机器码和当前版本的版本号。
    步骤404:所述服务器将接收到的所述客户端返回的更新后的客户端的信息更新到装机量表中。
    实施例4
    本发明实施例4提供了一种处理更新请求的服务器系统,如图5所示,包括:
    接收模块,用于接收来自客户端的更新请求,并读取所述服务器中更新包中的更新模值和模值的有效周期;
    第一判断模块,用于判断所述客户端发送更新请求的时间是否在模值的有效周期之内;
    第一计算模块,用于根据所述来自客户端的更新请求中的信息对更新包中的更新模值进行计算;
    具体地,第一计算模块用于从所述更新请求中获取所述客户端的IP地址,根据所述IP地址获取IP地址对应的整数,并用所述整数对更新包中的更新模值进行取模计算。
    第二计算模块,用于计算客户端发送更新请求的时间与更新包发布时间之 间的间隔,并根据所述间隔和更新模值进行计算;
    具体地,用于计算所述客户端发送更新请求的时间与所述更新包发布时间的间隔,用所述间隔对所述更新模值进行取模计算。
    第二判断模块,用于判断第一计算模块计算结果和第二计算模块计算结果是否相等;
    发送模块,用于向所述客户端发送更新信息,具体地,根据所述第二判断模块得出的结果向所述客户端发送更新、不更新或者选择更新的更新信息。
    实施例5
    本实施例5提供了一种处理更新请求的服务器系统,如图6所示,包括:
    第一接收模块,用于接收来自客户端的更新请求;
    第一判断模块,用于根据所述客户端的更新请求获取地区码,根据所述地区码判断该地区未更新的客户端的数量是否超过阈值;
    计算模块,用于根据未更新的客户端的数量、阈值和所述更新请求进行计算;具体地,计算未更新的客户端的数量和阈值的整数倍,根据所述更新请求中的客户端的IP地址计算所述IP地址对应的整数,用所述IP地址对应的整数对所述整数倍进行取模计算。
    第二判断模块,用于判断所述计算模块计算出来的结果是否为0;
    发送模块,用于向所述客户端发送更新信息;具体地,根据所述第二判断模块判断的结果向所述客户端发送更新、不更新或者选择更新的更新信息。
    第二接收模块,用于接收更新后客户端的信息。
    更新模块,用于根据所述接收模块接收的所述客户端更新后的信息对所述服务器内部的信息进行更新;具体地,根据接收到的客户端更新后的信息,对所述服务器中装机量表中的内容进行更新。
    实施例6
    本实施例6提供了一种处理更新请求的服务器系统,如图7所示,包括:
    第一接收模块,用于接收来自客户端的更新请求。
    计算模块,用于根据所述更新请求,判断所述客户端是否在客户端白名单中。
    判断模块,用于根据所述更新请求,判断所述客户端是否在所述客户端的白名单中。
    发送模块,用于根据所述判断模块判断的结果,向所述客户端发送更新信息。
    第二接收模块,用于接收更新后的客户端的信息。
    更新模块,用于根据接收模块接收到的更新后的客户端的信息,将更新后的客户端的信息更新到所述服务器内部信息中;具体地,更新服务器内部装机量表的内容;
    相应地,计算模块具体用于获取更新包的最新版本的版本号和阈值,获取未更新的客户端的数量,计算未更新的客户端的数量和所述阈值的整数倍,并根据所述更新请求和所述整数倍计算可以升级的客户端的白名单;
    相应地,计算模块还具体用于根据装机量表内小于当前最新版本的版本号 的记录的条数计算未更新的客户端的数量。
    以上所述的实施例只是本发明较优选的具体实施方式,本领域的技术人员在本发明技术方案范围内进行的通常变化和替换都应包含在本发明的保护范围内。

    关 键  词:
    一种 处理 更新 请求 方法 服务器 系统
      专利查询网所有文档均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    0条评论

    还可以输入200字符

    暂无评论,赶快抢占沙发吧。

    关于本文
    本文标题:一种处理更新请求的方法和服务器系统.pdf
    链接地址:https://www.zhuanlichaxun.net/p-6347666.html
    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2017-2018 zhuanlichaxun.net网站版权所有
    经营许可证编号:粤ICP备2021068784号-1