发明名称 面向大规模网络的高效、可靠的软件分发方法
摘要 本发明提供了面向大规模网络的高效、可靠的软件分发方法,包括通过软件安装打包程序生成软件包;构建树结构;发送端向接收端发送文件验证信息;发送文件块并进行带宽控制;处理分发过程中异常及断点续传;接收端合成软件包并安装软件;发送端确认发送结果。本发明通过将接收端进行分组形成树状结构,对树状结构中的节点以并行方式进行软件分发,实现了提高分发效率、可控带宽、断点续传、自动安装、实时结果反馈,满足了大规模网络中高效、可靠的进行软件分发和无人干预的自动安装的需求,解决了现有方法软件分发效率低、网络带宽占用不可控、软件安装的过程需要终端用户参与的问题。
申请公布号 CN102546839A 申请公布日期 2012.07.04
申请号 CN201210079919.5 申请日期 2012.03.25
申请人 沈阳通用软件有限公司 发明人 宋非;金魁;孔祥焱
分类号 H04L29/08(2006.01)I;H04L12/28(2006.01)I;G06F9/445(2006.01)I 主分类号 H04L29/08(2006.01)I
代理机构 代理人
主权项 面向大规模网络的高效、可靠的软件分发方法,其特征是:包括以下步骤:a.在发送端启动软件安装打包程序,运行要给接收端发送并安装的软件的安装文件,开始在发送端安装该软件,在安装过程中,已运行的软件安装打包程序监视发送端计算机操作系统的注册表和文件的变化,即新增、删除、修改的文件和注册表信息,并且依据注册表和文件的变化内容生成软件包;b.发送端把步骤a生成的软件包切成N个文件块;在发送端设置软件传输的带宽占用范围; c.在发送端选择需要接收并安装软件的接收端,发送端获取接收端唯一性标识信息,包括IP地址、MAC地址、子网掩码、所在VLAN;d.发送端根据获取的接收端唯一性标识信息将选择的接收端作为节点构建树结构,发送端作为树的根节点,接收端为节点,生成树结构信息;基于通用定义,直接位于一个节点之上的节点是该节点的父节点,直接位于一个节点之下的节点是该节点的子节点,发送端即根节点发送树结构信息到其子节点,该子节点收到树结构信息后,判断自己是否还存在子节点,如果存在则将树结构信息发送给自己的子节点,依此类推,直至将树结构信息发送到所有的节点,以使每个节点获取自己在树结构中的位置;如果发送端是首次构建树结构,则继续执行步骤e,如果非首次构建树结构,则跳到步骤f;e.发送端建立结果确认列表,所述结果确认列表包括接收端的唯一性标识信息和接收端的结束状态项,初始设置结束状态项为“未完成”; f.发送端建立文件验证信息,所述文件验证信息包括文件大小和文件MD5码,发送端即根节点发送文件验证信息到其子节点,该子节点收到文件验证信息后,判断自己是否还存在子节点,如果存在则将文件验证信息发送给自己的子节点,依此类推,直至将文件验证信息发送到所有的节点;g.发送端即根节点按照树结构依次发送每个文件块到其子节点;发送端控制发送到网卡数据的数量,从而控制带宽占用范围;根节点判断自己是否存在异常子节点,如子节点通信失败、超时、关机情况,如果根节点不存在异常子节点,则根节点的子节点收到所述文件块后,判断自己是否还存在子节点,如果存在则发送文件块到自己的子节点,根节点的子节点在向自己的子节点发送文件块的过程中,控制带宽并判断自己是否存在异常子节点,如果根节点的子节点不存在异常子节点,则继续向下层子节点发送所述文件块,依此类推,直至将所有N个文件块发送到所有正常的节点,跳到步骤i;如果任一节点存在异常子节点则继续执行步骤h;h.发送端即根节点刨除异常节点,由该异常节点的父节点接管该异常节点的子节点;发送端即根节点记录异常节点中断的相关信息,所述异常节点中断的相关信息,包括IP地址、MAC地址、子网掩码、所在VLAN、中断时已接收的文件块信息,跳到步骤d;i.每个接收端根据从发送端接收到的文件验证信息判断自己是否接收到所有N个文件块,如果接收端接收到所有N个文件块,则将该所有N个文件块在接收端合成与步骤a生成的软件包同样的软件包,该合成后的软件包自动解开,该接收端根据该合成后的软件包中记录的计算机操作系统的注册表和文件的变化信息,写入接收端操作系统对应的注册表信息和对应目录中的文件信息,通过跳过软件用户操作界面,将信息直接写入磁盘的方式达到安装软件的目的;该接收端发送结束标志给自己的父节点,并按照树结构依次逆向传递到发送端即根节点;如果接收端未接收到所有N个文件块,则继续接收文件块,重新执行步骤i;j.发送端更新步骤e创建的结果确认列表,每收到一个接收端的结束标志,设置列表中该接收端的结束状态为“已完成”,当发送端收到所有正常接收端的结束标志后,继续执行步骤k;k.发送端判断是否存在异常节点中断的相关信息,如果不存在,则整个软件分发过程结束;如果存在,则继续执行步骤l;l.发送端判断异常节点网络是否恢复正常,如果未恢复正常,则跳到步骤k;如果恢复正常,继续执行步骤m;m.步骤l中恢复正常的节点自动连接到根节点即发送端,并从根节点获取记录的异常节点中断的相关信息;n.发送端即根节点从断点开始继续向已恢复正常的节点分发未接收的文件块;发送端控制发送到网卡数据的数量,从而控制带宽占用范围;在根节点发送文件块的过程中,根节点判断恢复正常的节点是否存在异常,如果该节点不存在异常,则跳到步骤i;如果该节点存在异常,则继续执行步骤o;o.发送端即根节点记录异常节点中断的相关信息,跳到步骤k。
地址 110002 辽宁省沈阳市和平区安图街8-1号2层