一种虚拟设备状态数据的更新方法及装置制造方法及图纸

技术编号:8323308 阅读:156 留言:0更新日期:2013-02-14 00:25
本发明专利技术公开了一种虚拟设备状态数据的更新方法及装置,所述方法包括:在当前时刻,按照预置的以树形结构描述的快照模型,生成第一快照;按照树的深度优先遍历原则,比较所述第一快照与第二快照得到状态数据增量集合,所述状态数据增量集合包括状态数据发生变化的虚拟设备在所述树形结构描述的快照模型中对应的节点及其更新类型;根据所述更新类型,依次对所述状态数据发生变化的虚拟设备的状态数据进行更新。本发明专利技术中,可以快速的确定状态数据发生变化的虚拟设备及其更新类型,只需要对状态数据发生变化的虚拟设备对应的状态数据进行更新即可,所以在虚拟设备的数量增加时同样可以快速实现虚拟设备状态数据的更新。

【技术实现步骤摘要】

本专利技术涉及计算机
,特别是涉及一种虚拟设备状态数据的更新方法及装置
技术介绍
在对虚拟化环境中的虚拟设备进行日常维护过程中,虚拟设备的状态会根据不同管理平台或同一管理平台不同控制方式(自动、手动)动态变化,由于虚拟化平台(虚拟化环境)大多未提供主动通知机制,将虚拟化平台中虚拟设备的状态变化来告知第三方监控平台,目前,常用的监控技术手段是第三方监控平台需要主动定时轮询虚拟化平台,将虚拟化平台上所有虚拟设备状态数据一次性读入一个高速缓存,监控系统中所需监控信息从所述高速缓存中读取。如果虚拟设备的状态数据发生变化,则需要在缓存中进行虚拟设备对应状态数据的更新,现有虚拟化环境中虚拟设备状态数据更新方式采用全量更新,即将本次轮询得到的虚拟化平台中所有虚拟设备的状态数据全部替换上一次轮询得到的虚拟化平台中所有虚拟设备的状态数据。在虚拟设备数量较少的情况下,采用全量更新的方式可快速更新缓存中的数据,但是,当虚拟化环境中虚拟设备量逐渐增大时,由于在进行虚拟设备状态数据读入高速缓存时,需要将虚拟化环境中虚拟设备模型结构转换为统一的缓存模型结构,在实际应用环境中存在不同的虚拟化环境,而不同的虚拟化环境的虚拟设备模型不同,导致采用全量更新方式进行的缓存数据的更新速度会逐渐降低,直接限制了监控平台的监控能力。
技术实现思路
本专利技术所要解决的技术问题是实现虚拟设备的状态数据快速更新的方法,提供一种虚拟设备状态数据的更新方法及装置,以解决现有技术中因虚拟设备的数量的增加,对虚拟设备的状态数据进行全量更新速度较慢的技术问题。为解决上述技术问题,本专利技术提供一种虚拟设备状态数据的更新方法及装置,本专利技术提供如下技术方案一种虚拟设备状态数据的更新方法,该方法包括在当前时刻,按照预置的以树形结构描述的快照模型,生成第一快照;按照树的深度优先遍历原则,比较所述第一快照与第二快照得到状态数据增量集合,所述第二快照为在当前时刻的上一时刻,按照预置的以树形结构描述的快照模型,生成的快照,所述状态数据增量集合包括状态数据发生变化的虚拟设备在所述树形结构描述的快照模型中对应的节点及其更新类型;根据所述更新类型,依次对所述状态数据发生变化的虚拟设备的状态数据进行更新,所述更新类型包括替换、新增和删除。优选的,在当前时刻,按照预置的以树形结构描述的快照模型,生成第一快照,具5体包括创建当前虚拟化环境对应的根节点,将所述根节点存储到待生成的第一快照,所述根节点的ID设为所述当前虚拟化环境的链接地址,所述根节点的状态检验位根据当前虚拟环境对应的二进制数进行设置;按照虚拟设备之间的依赖关系,获取当前虚拟化环境中第一个虚拟设备作为当前虚拟设备,创建所述当前虚拟设备对应的当前子节点,并将所述当前子节点存储到待生成的第一快照,所述当前子节点中存储当前虚拟设备ID、当前虚拟设备的状态校验位和当前子节点的位置校验位,所述当前虚拟设备的状态检验位根据所述当前虚拟设备对应的二进制数进行设置,将当前子节点的ID存入其所属上级节点的位置校验位,将上级节点的ID存入所述当前子节点的位置校验位;判断所述当前虚拟化环境中的虚拟设备是否都已经创建子节点,若否,则按照虚拟设备之间的依赖关系,将未创建子节点的下一虚拟设备作为当前虚拟设备,并执行所述创建当前虚拟设备对应的当前子节点的步骤,直到所述当前虚拟化环境中的虚拟设备都已创建子节点。优选的,所述当前虚拟环境的状态校验位的设置方式如下若所述当前虚拟环境对应的二进制数中I的个数为奇数,则当前虚拟环境的状态校验位设为第一状态;若所述当前虚拟环境对应的二进制数中I的个数为偶数,则当前虚拟环境的状态校验位设为第二状态。优选的,所述虚拟设备的状态校验位的设置方式如下若所述当前虚拟设备对应的二进制数中I的个数为奇数,则当前虚拟设备的状态校验位设为第三状态;若所述当前虚拟设备对应的二进制数中I的个数为偶数,则当前虚拟设备的状态校验位设为第四状态。优选的,根据所述更新类型,依次对所述状态数据发生变化的虚拟设备的状态数据进行更新,包括读取所述状态数据增量集合中任一节点作为当前节点,触发当前节点对应虚拟设备的状态数据更新流程,所述更新流程包括读取当前节点对应的虚拟设备的当前状态数据;判断所述当前节点对应的虚拟设备的更新类型是否是替换,若是替换,则根据所述当前节点对应的虚拟设备的位置校验位,将所述当前状态数据替换缓存中指定位置的初始状态数据;若不是替换,则判断所述当前节点对应的虚拟设备的更新类型是否是增加,若是增加,则根据所述当前节点对应的虚拟设备的位置校验位,将所述当前状态数据存储到缓存中指定位置;若不是增加,则判断所述当前节点对应的虚拟设备的更新类型是否是删除,若是删除,则根据所述当前节点对应的虚拟设备的当前位置校验位,将缓存中指定位置的当前状态数据删除;判断所述状态数据增量集合中的节点是否都已经被读取,若否,则将未读取的节点中任一节点作为当前节点,并执行所述更新流程,直到所述状态数据增量集合中的节点都已被读取。6一种虚拟设备状态数据的更新装置,所述装置包括快照生成模块,用于在当前时刻,按照预置的以树形结构描述的快照模型,生成第一,决照;比较模块,用于按照树的深度优先遍历原则,比较所述第一快照与第二快照得到状态数据增量集合,所述第二快照为在当前时刻的上一时刻,按照预置的以树形结构描述的快照模型,生成的快照,所述状态数据增量集合包括状态数据发生变化的虚拟设备在所述树形结构描述的快照模型中对应的节点及其更新类型;更新模块,用于根据所述更新类型,依次对所述状态数据发生变化的虚拟设备的状态数据进行更新,所述更新类型包括替换、新增和删除。优选的,所述快照生成模块包括第一创建子模块,用于创建当前虚拟化环境对应的根节点,将所述根节点存储到待生成的第一快照,所述根节点的ID设为所述当前虚拟化环境的链接地址,所述根节点的状态检验位根据当前虚拟环境对应的二进制数进行设置;第一获取子模块,用于按照虚拟设备之间的依赖关系,获取当前虚拟化环境中第一个虚拟设备作为当前虚拟设备;第二创建子模块,用于创建所述当前虚拟设备对应的当前子节点,并将所述当前子节点存储到待生成的第一快照,所述当前子节点中存储当前虚拟设备ID、当前虚拟设备的状态校验位和当前子节点的位置校验位,所述当前虚拟设备的状态检验位根据所述当前虚拟设备对应的二进制数进行设置,将当前子节点的ID存入其所属上级节点的位置校验位,将上级节点的ID存入所述当前子节点的位置校验位;第一判断子模块,用于判断所述当前虚拟化环境中的虚拟设备是否都已经创建子节点,第二获取子模块,用于在所述判断子模块结果为否时,按照虚拟设备之间的依赖关系,将未创建子节点的下一虚拟设备作为当前虚拟设备;第一触发子模块,用于触发所述第二创建子模块,直到所述当前虚拟化环境中的虚拟设备都已创建子节点。优选的,所述当前虚拟环境的状态校验位的设置方式如下若所述当前虚拟环境对应的二进制数中I的个数为奇数,则当前虚拟环境的状态校验位设为第一状态;若所述当前虚拟环境对应的二进制数中I的个数为偶数,则当前虚拟环境的状态校验位设为第二状态。优选的,所述虚拟设备的状态校验位的设置方式如下若所述当前虚拟设备对应的二进制数中I的个数为奇数,则当前虚拟设备的状态校验位设为第本文档来自技高网...

【技术保护点】
一种虚拟设备状态数据的更新方法,其特征在于,包括:在当前时刻,按照预置的以树形结构描述的快照模型,生成第一快照;按照树的深度优先遍历原则,比较所述第一快照与第二快照得到状态数据增量集合,所述第二快照为在当前时刻的上一时刻,按照预置的以树形结构描述的快照模型,生成的快照,所述状态数据增量集合包括状态数据发生变化的虚拟设备在所述树形结构描述的快照模型中对应的节点及其更新类型;根据所述更新类型,依次对所述状态数据发生变化的虚拟设备的状态数据进行更新,所述更新类型包括替换、新增和删除。

【技术特征摘要】
1.一种虚拟设备状态数据的更新方法,其特征在于,包括在当前时刻,按照预置的以树形结构描述的快照模型,生成第一快照;按照树的深度优先遍历原则,比较所述第一快照与第二快照得到状态数据增量集合, 所述第二快照为在当前时刻的上一时刻,按照预置的以树形结构描述的快照模型,生成的快照,所述状态数据增量集合包括状态数据发生变化的虚拟设备在所述树形结构描述的快照模型中对应的节点及其更新类型;根据所述更新类型,依次对所述状态数据发生变化的虚拟设备的状态数据进行更新, 所述更新类型包括替换、新增和删除。2.根据权利要求I所述的方法,其特征在于,在当前时刻,按照预置的以树形结构描述的快照模型,生成第一快照,具体包括创建当前虚拟化环境对应的根节点,将所述根节点存储到待生成的第一快照,所述根节点的ID设为所述当前虚拟化环境的链接地址,所述根节点的状态检验位根据当前虚拟环境对应的二进制数进行设置;按照虚拟设备之间的依赖关系,获取当前虚拟化环境中第一个虚拟设备作为当前虚拟设备,创建所述当前虚拟设备对应的当前子节点,并将所述当前子节点存储到待生成的第一快照,所述当前子节点中存储当前虚拟设备I D、当前虚拟设备的状态校验位和当前子节点的位置校验位,所述当前虚拟设备的状态检验位根据所述当前虚拟设备对应的二进制数进行设置,将当前子节点的ID存入其所属上级节点的位置校验位,将上级节点的ID存入所述当前子节点的位置校验位;判断所述当前虚拟化环境中的虚拟设备是否都已经创建子节点,若否,则按照虚拟设备之间的依赖关系,将未创建子节点的下一虚拟设备作为当前虚拟设备,并执行所述创建当前虚拟设备对应的当前子节点的步骤,直到所述当前虚拟化环境中的虚拟设备都已创建子节点。3.根据权利要求2所述的方法,其特征在于,所述当前虚拟环境的状态校验位的设置方式如下若所述当前虚拟环境对应的二进制数中I的个数为奇数,则当前虚拟环境的状态校验位设为第一状态;若所述当前虚拟环境对应的二进制数中I的个数为偶数,则当前虚拟环境的状态校验位设为第二状态。4.根据权利要求2所述的方法,其特征在于,所述虚拟设备的状态校验位的设置方式如下若所述当前虚拟设备对应的二进制数中I的个数为奇数,则当前虚拟设备的状态校验位设为第三状态;若所述当前虚拟设备对应的二进制数中I的个数为偶数,则当前虚拟设备的状态校验位设为第四状态。5.根据权利要求I所述的方法,其特征在于,根据所述更新类型,依次对所述状态数据发生变化的虚拟设备的状态数据进行更新,包括读取所述状态数据增量集合中任一节点作为当前节点,触发当前节点对应虚拟设备的状态数据更新流程,所述更新流程包括读取当前节点对应的虚拟设备的当前状态数据;判断所述当前节点对应的虚拟设备的更新类型是否是替换,若是替换,则根据所述当前节点对应的虚拟设备的位置校验位,将所述当前状态数据替换缓存中指定位置的初始状态数据;若不是替换,则判断所述当前节点对应的虚拟设备的更新类型是否是增加,若是增加,则根据所述当前节点对应的虚拟设备的位置校验位,将所述当前状态数据存储到缓存中指定位置;若不是增加,则判断所述当前节点对应的虚拟设备的更新类型是否是删除,若是删除,则根据所述当前节点对应的虚拟设备的当前位置校验位,将缓存中指定位置的当前状态数据删除;判断所述状态数据增量集合中的节点是否都已经被读取,若否,则将未读取的节点中任一节点作为当前节点,并执行所述更新流程,直到所述状态数据增量集合中的节点都已被读取。6.一种虚拟设备状态数据的更新装置,其特征在于,包括快照生成模块,用于在当前时刻,按照...

【专利技术属性】
技术研发人员:许力张霞
申请(专利权)人:东软集团股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1