发明内容
本发明要解决的技术问题是提供一种SNMP代理上管理信息库的升级方法和系统,能够实现对Agent上MIB的远程在线升级。
为解决上述技术问题,本发明提供了一种SNMP代理上管理信息库(MIB)升级方法,包括:
当管理者(Manager)启动升级后,Manager遍历操作本地MIB所有节点,向代理(Agent)发送请求,Agent根据接收到的请求判断出Manager上的MIB与本地MIB有差别,则将所述差别上报给所述Manager,所述Manager根据上报的差别确定需要同步的节点,构造相应补丁并将所述补丁下发到Agent,Agent根据接收到的补丁同步本地MIB。
进一步地,所述Manager和Agent的MIB中各包含一作为补丁控制节点的节点,两节点的对象标识符(OID)相同;所述方法还包括:预设所述补丁控制节点对应的操作用于指示Agent执行的动作,一个预设操作对应以下一个或多个动作:判断Manager上的MIB与本地MIB的差别、获取补丁、解析补丁,以及根据接收到的补丁同步本地MIB。
进一步地,所述Manager遍历操作本地MIB所有节点,向Agent发送请求的步骤包括:所述Manager向Agent发送一个或多个SNMP消息请求,以将Manager本地MIB中每个节点的OID及其对应的操作类型标识发送给Agent。
进一步地,所述Agent根据接收到的请求判断出Manager上的MIB与本地MIB有差别的步骤包括:Agent收到所述SNMP消息请求后,读取该消息请求中携带的OID及操作类型标识,所述操作类型标识所标识的操作触发Agent以节点为单位,判断并记录所述第一MIB与第二MIB的差别。
进一步地,所述Manage根据上报的差别确定需要同步的节点,构造相应补丁的步骤包括:
Manage根据上报的差别确定需要同步的节点包括新增的节点和删除的节点时,所述Manager构造的补丁包括注册表和与所述注册表关联的操作代码目标文件,所述注册表中包括多个待同步节点的OID及其对应的n个操作的地址,n≥0且n为整数;对于待删除的节点,该节点的OID对应的操作的地址个数n=0,即其对应的操作地址为空;对于待增加的节点,该节点的OID对应的操作的地址个数n>0,且所述操作的地址指向所述操作代码目标文件中的一块区域,其中保存有更新的操作的内容;或者
Manage根据上报的差别确定需要同步的节点仅包括新增的节点时,所述Manager构造的补丁包括注册表和与所述注册表关联的操作代码目标文件,所述注册表中包括多个待同步节点的OID及其对应的m个操作的地址,m>0且m为整数,所述操作的地址指向所述操作代码目标文件中的一块区域,其中保存有更新的操作的内容;或者
Manage根据上报的差别确定需要同步的节点仅包括删除的节点时,所述Manager构造的补丁包括注册表,所述注册表中包括多个待删除节点的OID,其对应的操作地址为空。
进一步地,所述Manager将补丁下发到Agent,Agent根据接收到的补丁同步本地MIB的步骤包括:Manager通过操作所述补丁控制节点指示所述Agent获取补丁、解析补丁,以及根据接收到的补丁同步本地MIB。
进一步地,所述Manager通过操作所述补丁控制节点指示所述Agent获取补丁、解析补丁,以及根据接收到的补丁同步本地MIB的步骤包括:所述Manager向Agent发送一个或多个SNMP消息请求,所述SNMP消息请求中包括所述补丁控制节点的OID以及预设操作的操作类型标识,所述Agent收到所述SNMP协议消息后,根据其中携带的操作类型标识执行相应的动作,完成获取补丁、解析补丁,以及根据接收到的补丁同步本地MIB的动作。
进一步地,所述Agent根据所述补丁同步本地MIB的步骤包括:1)Agent从补丁中的注册表中选取一OID作为当前同步的OID;2)判断注册表中该OID对应操作地址是否为空,如果为空,则将本地MIB中的具有相同OID的节点删除,如果不为空,则进一步判断本地MIB中是否有相同OID的节点,如果有,则按照该OID对应的操作地址读取操作代码目标文件,获取更新内容,同步本地MIB中的具有相同OID的节点,如果没有,则以该OID在本地MIB中注册一新节点,根据从操作代码目标文件中读取的更新内容,同步新节点对应的操作;3)从补丁中的注册表中再选取一未同步过的OID作为当前同步的OID,执行上述步骤2);重复执行上述步骤2)和步骤3)直到注册表中的OID全部同步完毕。
进一步地,所述预设补丁控制节点对应的操作用于指示Agent执行的动作的步骤包括:预设所述补丁控制节点对应的第一操作用于指示Agent获取补丁,第二操作用于指示Agent解析补丁,第三操作用于指示Agent根据补丁同步本地MIB;所述Manager通过操作所述补丁控制节点指示所述Agent获取补丁、解析补丁,以及根据接收到的补丁同步本地MIB的步骤包括:
当所述Manager指示Agent获取补丁时,所述Manager向Agent发送的SNMP消息请求中包括所述补丁控制节点的OID、第一操作的操作类型标识以及补丁内容;当所述Manager指示Agent解析补丁时,所述Manager向Agent发送的SNMP消息请求中包括所述补丁控制节点的OID以及第二操作的操作类型标识;当所述Manager指示Agent根据接收到的补丁同步本地MIB时,所述Manager向Agent发送的SNMP消息请求中包括所述补丁控制节点的OID以及第三操作的操作类型标识;所述Agent根据接收到的SNMP消息请求携带的内容执行相应的动作;或者
当所述Manager指示Agent获取补丁时,所述Manager向Agent发送的SNMP消息请求中包括所述补丁控制节点的OID、第一操作的操作类型标识以及补丁内容;当所述Manager指示Agent解析补丁和根据接收到的补丁同步本地MIB时,所述Manager向Agent发送的SNMP消息请求中包括所述补丁控制节点的OID以及第二操作的操作类型标识;所述Agent根据接收到的SNMP消息请求携带的内容执行相应的动作。
为解决上述技术问题,本发明提供了一种SNMP代理上管理信息库(MIB)升级系统,包括管理者(Manager)和代理(Agent),其中:
所述Manager,用于在启动升级后,Manager遍历操作本地MIB所有节点,向Agent发送请求;以及用于根据Agent上报的差别确定需要同步的节点,构造相应补丁并将所述补丁下发到Agent;
所述Agent,用于根据接收到的请求判断出Manager上的MIB与本地MIB有差别,则将所述差别上报给所述Manager;以及用于根据接收到的补丁同步本地MIB。
进一步地,所述Manager进一步包括:第一MIB、发送单元、补丁构造单元,其中:
所述第一MIB中至少包括一作为补丁控制节点的节点,所述节点对应多个操作,预设所述操作用于指示Agent执行以下一个或多个动作:判断Manager上的MIB与本地MIB的差别、获取补丁、解析补丁,以及根据接收到的补丁同步本地第二MIB;
所述发送单元,用于在启动升级后,遍历操作所述第一MIB所有节点,向Agent发送请求;以及用于基于所述补丁构造单元的触发将所述补丁下发到Agent;
所述补丁构造单元,用于在接收到Agent上报的MIB差别后,根据所述差别确定需要同步的节点,构造相应补丁,并触发所述发送单元;
所述Agent进一步包括第二MIB、差别判断单元、上报单元、同步单元,其中:
所述第二MIB中至少包括一作为补丁控制节点的节点,该补丁控制节点的对象标识符(OID)与第一MIB中的补丁控制节点的OID相同,所述节点对应多个操作,预设所述操作用于执行以下一个或多个动作:判断Manager上的MIB与本地MIB的差别、获取补丁、解析补丁,以及根据接收到的补丁同步本地第二MIB;
所述差别判断单元,用于在接收到所述Manager的发送单元发送的请求后,根据所述请求判断出Manager上的第一MIB与本地第二MIB有差别,则收集差别并触发上报单元;
所述上报单元,用于基于所述差别判断单元的触发,将所述差别上报给所述Manager;
所述同步单元,用于在接收到所述Manager的发送单元发送的补丁后,根据所述补丁同步本地第二MIB。
进一步地,所述发送单元,向Agent发送的请求包括一个或多个SNMP消息请求,以将Manager本地第一MIB中每个节点的OID及其对应的操作类型标识发送给Agent;所述差别判断单元,进一步用于基于该消息请求中携带的操作类型标识对应的操作的触发,以节点为单位,判断并记录所述第一MIB与第二MIB的差别。
进一步地,所述补丁构造单元在确定需要同步的节点包括新增的节点和删除的节点时,构造的补丁包括注册表和与所述注册表关联的操作代码目标文件,所述注册表中包括多个待同步节点的OID及其对应的n个操作的地址,n≥0且n为整数;对于待删除的节点,该节点的OID对应的操作的地址个数n=0,即其对应的操作地址为空;对于待增加的节点,该节点的OID对应的操作的地址个数n>0,且所述操作的地址指向所述操作代码目标文件中的一块区域,其中保存有更新的操作的内容;或者
所述补丁构造单元在确定需要同步的节点仅包括新增的节点时,构造的补丁包括注册表和与所述注册表关联的操作代码目标文件,所述注册表中包括多个待同步节点的OID及其对应的m个操作的地址,m>0且m为整数,所述操作的地址指向所述操作代码目标文件中的一块区域,其中保存有更新的操作的内容;或者
所述补丁构造单元在确定需要同步的节点仅包括删除的节点时,构造的补丁包括注册表,所述注册表中包括多个待删除节点的OID,其对应的操作地址为空。
进一步地,所述发送单元,进一步用于向Agent发送一个或多个SNMP消息请求,所述SNMP消息请求中包括所述补丁控制节点的OID以及预设操作的操作类型标识;所述同步单元,进一步用于收到所述SNMP协议消息后,根据其中携带的操作类型标识执行以下动作,获取补丁、解析补丁,以及根据接收到的补丁同步本地第二MIB。
本发明通过“补丁”方式实现Agent上MIB的升级有以下优点:
1)“补丁”的制作可以借用其他平台(如PC机),不需要Agent参与;
2)通过制作不同的“补丁”可以实现对MIB的灵活扩展;
3)可以实现对Agent上MIB的远程在线升级,较现有方法更为简洁、灵活。
具体实施方式
由于MIB从组织结构上呈“树状”结构,对MIB的升级也就是向MIB中添加若干节点及其对应的操作,或者从其中删除若干节点及其对应的操作。因此,本发明考虑将扩展部分的节点及其操作制作成“补丁”,Manager通过控制Agent动态地启用或删除该补丁,以实现对Agent上MIB的升级。
本发明的发明构思是:当Manager启动升级后,Manager遍历操作本地MIB所有节点,向Agent发送请求,Agent根据接收到的请求判断Manager上的MIB与本地MIB是否有差别,如果有差别,则将所述差别上报给所述Manager,所述Manager根据上报的差别确定需要同步的节点,构造相应补丁并将所述补丁下发到Agent,Agent根据接收到的补丁同步本地MIB。如果没有差别,则本次升级过程结束。
优选地,在设计MIB(包括Manager的MIB和Agent的MIB)时,任意选择其中一节点作为补丁控制节点,即所述Manager和Agent的MIB中各包含一个作为补丁控制节点的节点,该节点在Manager中的OID和在Agent中的OID相同;预设所述补丁控制节点对应的操作用于指示Agent执行的动作,一个预设操作对应以下一个或多个动作:判断Manager上的MIB与本地MIB是否有差别、获取补丁、解析补丁,以及根据接收到的补丁同步本地MIB。
所述Manager将补丁下发到Agent,Agent根据接收到的补丁同步本地MIB的步骤包括:Manager通过操作所述补丁控制节点指示所述Agent获取补丁、解析补丁,以及根据接收到的补丁同步本地MIB。进一步地,所述Manager向Agent发送一个或多个SNMP消息请求,所述SNMP消息请求中包括所述补丁控制节点的OID以及预设操作的操作类型标识,所述Agent收到所述SNMP协议消息后,根据其中携带的操作类型标识执行相应的动作,完成获取补丁、解析补丁,以及根据接收到的补丁同步本地MIB的动作。
具体地,所述补丁控制节点对应若干操作,预设所述补丁控制节点对应的第一操作用于指示Agent获取补丁,第二操作用于指示Agent解析补丁,第三操作用于指示Agent根据补丁同步本地MIB;当所述Manager指示Agent获取补丁时,所述Manager向Agent发送的SNMP消息请求中包括所述补丁控制节点的OID(Object Identifiers,对象标识符)、第一操作的操作类型标识以及补丁内容;当所述Manager指示Agent解析补丁时,所述Manager向Agent发送的SNMP消息请求中包括所述补丁控制节点的OID以及第二操作的操作类型标识;当所述Manager指示Agent根据接收到的补丁同步本地MIB时,所述Manager向Agent发送的SNMP协议消息中包括所述补丁控制节点的OID以及第三操作的操作类型标识。Agent收到所述SNMP消息请求后,根据接收到的SNMP消息请求携带的内容执行相应的动作。
上述第一操作、第二操作和第三操作可以相同也可以不同,可在Agent的流程中规定何时在收到哪种操作类型标识时执行怎样的动作,但需要与Manager统一设定。
优选地,Manger可根据一操作类型标识指示Agent执行两步以上的动作,例如,Manager发送补丁控制节点的OID以及第二操作的操作类型标识,通过该第二操作的操作类型标识指示Agent解析补丁及同步本地MIB,此时可认为第二操作与第三操作相同。
所述Manager遍历操作本地MIB所有节点,向Agent发送请求的步骤包括:所述Manager向Agent发送一个或多个SNMP消息请求,以将Manager本地MIB中每个节点的OID及其对应的某一操作x的操作类型标识发送给Agent。优选地,Manager本地MIB中有m个节点时,Manager向Agent发送m条SNMP消息请求,每条消息请求中携带一个节点的OID及其对应的操作x的操作类型标识。
预设所述补丁控制节点对应的操作x用于指示Agent判断Manager上的MIB与本地MIB是否有差别;所述Agent根据接收到的请求判断Manager上的MIB与本地MIB是否有差别的步骤包括:Agent收到该消息请求后,读取该消息请求中携带的OID及操作类型标识,所述操作类型标识所标识的操作x触发Agent以节点为单位,判断并记录所述第一MIB与第二MIB的差别,具体包括:Agent判断本地MIB中是否有与消息请求中的OID相同的OID,如果有,则判断该本地节点与Manager上的节点无差别,如果没有,则判断该本地节点与Manager上的节点有差别,并记录所述差别;当判断完所有消息请求中的OID后,判断本地MIB中是否还有未进行过比较的节点,如果有,则判断该节点与Manager上的节点有差别,并记录该差别,如果没有,判断操作结束。优选地,Agent记录的差别包括节点OID。
优选地,可分类记录差别:包括Manager上存在而本地不存在的MIB节点,以及本地存在而Manager上不存在的MIB节点。
对应不同的情况所述Manager构造的补丁包括的内容不同,有以下几种:
1)所述同步操作包括新增节点和删除节点时,即Manage根据上报的差别确定需要同步的节点包括新增的节点和删除的节点时,所述补丁包括注册表和与所述注册表关联的操作代码目标文件,所述注册表中包括多个待同步节点的OID及其对应的n个操作的地址(n≥0,且n为整数),对于待删除的节点,该节点的OID对应的操作的地址个数n=0时,即其对应的操作地址为空;对于待增加的节点,该节点的OID对应的操作的地址个数n>0,且所述操作的地址指向所述操作代码目标文件中的一块区域,其中保存有更新的操作的内容(所述内容以目标代码形式给出),该OID表示的节点对应的操作需被更新或该节点需被增加。
2)所述同步操作仅包括新增节点时,即Manage根据上报的差别确定需要同步的节点仅包括新增的节点时,所述补丁包括注册表和与所述注册表关联的操作代码目标文件,所述注册表中包括多个待同步节点的OID及其对应的m个操作的地址(m>0,且n为整数),所述操作的地址指向所述操作代码目标文件中的一块区域,其中保存有更新的操作的内容(所述内容以目标代码形式给出)。
如果OID相同但对应的操作不同时,可按照新增节点的流程进行更新。
3)所述同步操作仅包括删除节点时,即Manage根据上报的差别确定需要同步的节点仅包括删除的节点时,所述补丁包括注册表,所述注册表中包括多个待删除节点的OID,其对应的操作地址为空。
所述根据补丁同步Agent本地MIB的步骤包括:1)Agent从补丁中的注册表中选取一OID作为当前同步的OID;2)判断注册表中该OID对应操作地址是否为空,如果为空,则将本地MIB中的具有相同OID的节点删除,如果不为空,则进一步判断本地MIB中是否有相同OID的节点,如果有,则按照该OID对应的操作地址读取操作代码目标文件,获取更新内容,同步本地MIB中的具有相同OID的节点,如果没有,则以该OID在本地MIB中注册一新节点,根据从操作代码目标文件中读取的更新内容,同步新节点对应的操作;3)从补丁中的注册表中再选取一未同步过的OID作为当前同步的OID,执行上述步骤2);重复执行上述步骤2)和步骤3)直到注册表中的OID全部同步完毕。
注册表的设计是为了实现动态扩展节点的灵活配置,补丁控制节点每次按照注册表中的MIB节点进行扩展,注册表中不存在的MIB节点,即使操作代码目标文件中存在该MIB的操作代码,也不会进行扩展。
实现上述升级方法的系统,包括Manager和Agent,其中:
所述Manager,用于在启动升级后,Manager遍历操作本地MIB所有节点,向Agent发送请求;以及用于根据Agent上报的差别确定需要同步的节点,构造相应补丁并将所述补丁下发到Agent;
所述Agent,用于根据接收到的请求判断Manager上的MIB与本地MIB是否有差别,如果有差别,则将所述差别上报给所述Manager;以及用于根据接收到的补丁同步本地MIB。
优选地:所述Manager进一步包括:第一MIB、发送单元、补丁构造单元,其中:
所述第一MIB中至少包括一作为补丁控制节点的节点,所述节点对应多个操作,预设所述操作用于指示Agent执行以下一个或多个动作:判断Manager上的MIB与本地MIB是否有差别、获取补丁、解析补丁,以及根据接收到的补丁同步本地第二MIB;
所述发送单元,用于在启动升级后,遍历操作所述第一MIB所有节点,向Agent发送请求;以及用于基于所述补丁构造单元的触发将所述补丁下发到Agent;
所述补丁构造单元,用于在接收到Agent上报的MIB差别后,根据所述差别确定需要同步的节点,构造相应补丁,并触发所述发送单元;
优选地:所述Agent进一步包括第二MIB、差别判断单元、上报单元、同步单元,其中:
所述第二MIB中至少包括一作为补丁控制节点的节点,该补丁控制节点的OID与第一MIB中的补丁控制节点的OID相同,所述节点对应多个操作,预设所述操作用于执行以下一个或多个动作:判断Manager上的MIB与本地MIB是否有差别、获取补丁、解析补丁,以及根据接收到的补丁同步本地第二MIB;
所述差别判断单元,用于在接收到所述Manager的发送单元发送的请求后,根据所述请求判断Manager上的第一MIB与本地第二MIB是否有差别,如果有差别,则收集差别并触发上报单元;
所述上报单元,用于基于所述差别判断单元的触发,将所述差别上报给所述Manager;
所述同步单元,用于在接收到所述Manager的发送单元发送的补丁后,根据所述补丁同步本地第二MIB。
优选地,所述发送单元,向Agent发送的请求包括一个或多个SNMP消息请求,以将Manager本地第一MIB中每个节点的OID及其对应的操作类型标识发送给Agent;
所述差别判断单元,进一步用于基于该消息请求中携带的操作类型标识对应的操作的触发,以节点为单位,判断并记录所述第一MIB与第二MIB的差别;所述差别包括:Manager上存在而本地不存在的MIB节点,以及本地存在而Manager上不存在的MIB节点。判断操作的一种形式是:判断本地第二MIB中是否有与消息请求中的OID相同的OID,如果有,则判断该本地节点与Manager上的节点无差别,如果没有,则判断该本地节点与Manager上的节点有差别,并记录所述差别;当判断完所有消息请求中的OID后,判断本地MIB中是否还有节点未进行过比较,如果有则判断该节点与Manager上的节点有差别,并记录该差别,如果没有,判断操作结束。
优选地,所述补丁构造单元在确定需要同步的节点包括新增的节点和删除的节点时,构造的补丁包括注册表和与所述注册表关联的操作代码目标文件,所述注册表中包括多个待同步节点的OID及其对应的n个操作的地址,n≥0且n为整数;对于待删除的节点,该节点的OID对应的操作的地址个数n=0,即其对应的操作地址为空;对于待增加的节点,该节点的OID对应的操作的地址个数n>0,且所述操作的地址指向所述操作代码目标文件中的一块区域,其中保存有更新的操作的内容;或者
所述补丁构造单元在确定需要同步的节点仅包括新增的节点时,构造的补丁包括注册表和与所述注册表关联的操作代码目标文件,所述注册表中包括多个待同步节点的OID及其对应的m个操作的地址,m>0且m为整数,所述操作的地址指向所述操作代码目标文件中的一块区域,其中保存有更新的操作的内容;或者
所述补丁构造单元在确定需要同步的节点仅包括删除的节点时,构造的补丁包括注册表,所述注册表中包括多个待删除节点的OID,其对应的操作地址为空。
优选地,所述发送单元,进一步用于向Agent发送一个或多个SNMP消息请求,所述SNMP消息请求中包括所述补丁控制节点的OID以及预设操作的操作类型标识;
所述同步单元,进一步用于收到所述SNMP协议消息后,根据其中携带的操作类型标识执行以下动作,获取补丁、解析补丁,以及根据接收到的补丁同步本地第二MIB。
下面结合附图和具体实施例对本发明做进一步的阐述。
如图3所示,预先在MIB设计时,预设一个补丁控制节点;该节点除了具有一般MIB节点具有的操作外,还具有控制Agent上MIB升级过程的功能,包括Agent和Manager各自MIB差异的传输,补丁的传输,以及通知Agent根据补丁进行同步操作;实现MIB升级的方法包括:
步骤1:Manager激活Agent上补丁流程,即Agent发送进入补丁流程的通知;
步骤2:Agent向Manager发送已进入补丁流程的响应;
步骤3:Manager遍历操作本地MIB,向Agent发送SNMP请求,其中包括节点OID以及对应的操作类型标识;
步骤4:Agent接收到Manager发送的请求后,由该操作类型标识所标识的操作触发Agent进行比较Agent本地MIB与Manager上MIB差别的操作,Agent收集该差别后上报给Manager,所述差别包括Manager上存在而本地不存在的MIB节点,以及本地存在而Manager上不存在的MIB节点;
步骤5:Manager根据Agent上报的Agent本地MIB与Manager上MIB的差别,制作对应的补丁,并通过操作补丁控制节点,将补丁发送给Agent;
该补丁结构如图4所示,包含:待同步MIB节点的操作代码目标文件,以及待同步MIB节点的OID与对应操作的注册表。该注册表每一个表项为OID与其多种操作的对应。如前所述,OID对应的操作地址为空时,则表示需要Agent删除该节点,如果OID对应的操作地址不为空,则表示需要Agent更新该节点。本实施例所给出的图4仅为示例。
步骤6:Agent成功接收补丁后,以Trap形式,即主动发送Trap报文的方式,通知Manager接收成功;
步骤7:Manager操作补丁控制节点,启动Agent解析该“补丁”的操作;
步骤8:Agent解析补丁,并根据补丁同步本地MIB;
具体地,读取补丁中的注册表(结构如图4),遍历该注册表,提取出每一个节点的OID和相关操作的目标代码信息。
以补丁中仅包括新增节点为例,Agent将解析得到的节点OID注册到现有MIB中相应的分支,按照本地MIB中节点的数据结构,构造一个节点结构用来挂接该OID的若干中操作代码。如果Agent解析到的节点OID在本地MIB中存在,则采用覆盖的方式更新本地节点。
步骤9:同步完成后,Agent以Trap形式通知Manager本次新增的节点OID完成;
步骤10:Manager操作补丁控制节点,通知Agent补丁流程结束。
上文描述了一种利用“补丁”技术对Agent中MIB进行远程在线升级的方法实例,其中可以看出本发明所提出的方法不需要在近端逐一对网络内被管理设备Agent的MIB进行重新制作并更换,只需在Agent上增加“补丁”方式的少量支撑机制就可以实现MIB的灵活升级,有很强的实用性。
本领域普通技术人员可以理解上述方法中的全部或部分步骤可通过程序来指令相关硬件完成,所述程序可以存储于计算机可读存储介质中,如只读存储器、磁盘或光盘等。可选地,上述实施例的全部或部分步骤也可以使用一个或多个集成电路来实现。相应地,上述实施例中的各单元可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。本发明不限制于任何特定形式的硬件和软件的结合。
当然,本发明还可有其他多种实例,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员可对本发明做出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。
此外,本发明还可以有其它改进方法,如对“补丁”程序制作方法的修改,对获取补丁方法的修改等等,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。