CN107748749A - 一种内存数据的更新方法、终端、设备以及可读存储介质 - Google Patents
一种内存数据的更新方法、终端、设备以及可读存储介质 Download PDFInfo
- Publication number
- CN107748749A CN107748749A CN201710714568.3A CN201710714568A CN107748749A CN 107748749 A CN107748749 A CN 107748749A CN 201710714568 A CN201710714568 A CN 201710714568A CN 107748749 A CN107748749 A CN 107748749A
- Authority
- CN
- China
- Prior art keywords
- data
- updated
- internal memory
- initial data
- separate class
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
- G06F16/2379—Updates performed during online database operations; commit processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45583—Memory management, e.g. access or allocation
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明实施例公开了一种内存数据的更新方法、终端、设备以及可读存储介质,其中所述方法包括:将VCenter中各组件抽象成独立类;获取各独立类中的原始数据并缓存至内存中;判断各独立类中的原始数据是否已更新;若各独立类中的原始数据已更新,获取各独立类中已更新的数据;将各独立类中已更新的数据与内存中的原始数据进行比较;若已更新的数据与内存中的原始数据不相同,根据已更新的数据对内存中的原始数据进行更新。本发明可以清楚的记录VCenter中数据变化的情况,并根据所变化的数据对内存中的原始数据进行更新,能够减少运维人员运维工作的工作量,降低运维人员排查故障的难度,并提高处理运维问题的效率。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种内存数据的更新方法、终端、设备以及可读存储介质。
背景技术
随着使用云服务的人越来越多,虚拟机的数量也越来越多,运维的成本和难度都随着不断的增加,特别是发生故障的时候,对于普通的运维人员来说,有些问题无法做到快速定位并制定解决方案,这不仅会对用户的应用造成严重的影响,也是对运维人员的专业技能的一个挑战。然而,使用VSphere客户端或者VSphere网页端分析故障通常都不足以满足需求,也看不出故障的问题,这时我们通常都会求助一些专业人士或者有经验的人寻求解决方法,但是这过程耗时太长,而且经常会被一些无用的信息困扰,影响效率。
发明内容
本发明实施例提供一种内存数据的更新方法、终端、设备以及可读存储介质,可以清楚的记录Center中数据变化的情况,并根据所变化的数据对内存中的原始数据进行更新,能够降低运维人员排查故障的难度,并提高处理运维问题的效率。
一方面,本发明实施例提供了一种内存数据的更新方法,该方法包括:
将VCenter中各组件抽象成独立类;
获取所述各独立类中的原始数据并缓存至内存中;
判断所述各独立类中的原始数据是否已更新;
若所述各独立类中的原始数据已更新,获取所述各独立类中已更新的数据;
将所述各独立类中已更新的数据与所述内存中的原始数据进行比较;
若所述已更新的数据与所述内存中的原始数据不相同,根据所述已更新的数据对所述内存中的原始数据进行更新。
进一步地,所述获取所述各独立类中的原始数据并缓存至内存中,包括:
接收原始数据缓存请求;
判断所述内存中是否存在已缓存的数据;
若所述内存中存在已缓存的数据,判断所述已缓存的数据与所请求的原始数据是否相同;
若所述已缓存的数据与所请求的原始数据不相同,将所述原始数据缓存至内存中。
进一步地,所述将所述各独立类中已更新的数据与所述内存中的原始数据进行比较,包括:
获取所述内存中已缓存的原始数据;
根据预设的比较机制对所述已更新的数据与所述原始数据进行比较。
进一步地,所述若所述已更新的数据与所述原始数据不相同,根据所述已更新的数据对所述内存中的原始数据进行更新,包括:
若所述已更新的数据与所述原始数据不相同,调用预设的数据接口;
根据预设的数据接口将所述已更新的数据写入所述内存中。
进一步地,所述方法还包括:
若所述已更新的数据与所述原始数据不相同,获取所述已更新的数据与所述原始数据之间的差异数据;
将所述差异数据保存至预设数据库中。
另一方面,本发明实施例还提供了一种内存数据的更新终端,该终端包括:
抽象单元,用于将VCenter中各组件抽象成独立类;
第一获取单元,用于获取所述各独立类中的原始数据并缓存至内存中;
第一判断单元,用于判断所述各独立类中的原始数据是否已更新;
第二获取单元,用于若所述各独立类中的原始数据已更新,获取所述各独立类中已更新的数据;
比较单元,用于将所述各独立类中已更新的数据与所述内存中的原始数据进行比较;
更新单元,用于若所述已更新的数据与所述内存中的原始数据不相同,根据所述已更新的数据对所述内存中的原始数据进行更新。
进一步地,所述第一获取单元,包括:
接收单元,用于接收原始数据缓存请求;
第二判断单元,用于判断所述内存中是否存在已缓存的数据;
第三判断单元,用于若所述内存中存在已缓存的数据,判断所述已缓存的数据与所请求的原始数据是否相同;
缓存单元,用于若所述已缓存的数据与所请求的原始数据不相同,将所述原始数据缓存至内存中。
进一步地,所述比较单元,包括:
第三获取单元,用于获取所述内存中已缓存的原始数据;
比较子单元,用于根据预设的比较机制对所述已更新的数据与所述原始数据进行比较。
进一步地,所述更新单元,包括:
调用单元,用于若所述已更新的数据与所述原始数据不相同,调用预设的数据接口;
写入单元,用于根据预设的数据接口将所述已更新的数据写入所述内存中;
所述终端,还包括:
第四获取单元,用于若所述已更新的数据与所述原始数据不相同,获取所述已更新的数据与所述原始数据之间的差异数据;
保存单元,用于将所述差异数据保存至预设数据库中。
又一方面,本发明实施例还提供了一种内存数据的更新设备,包括:
存储器,用于存储实现内存数据的更新的程序;以及
处理器,用于运行所述存储器中存储的实现内存数据的更新的程序,以执行如上所述方法。
再一方面,本发明实施例还提供了一种计算机可读存储介质,计算机可读存储介质存储有一个或者一个以上程序,所述一个或者一个以上程序可被一个或者一个以上的处理器执行,以实现如上所述方法。
综上所述,本发明具有以下有益效果:本发明实施例通过将VCenter中各组件抽象成独立类,获取所述各独立类中的原始数据并缓存至内存中,判断所述各独立类中的原始数据是否已更新,若所述各独立类中的原始数据已更新,获取所述各独立类中已更新的数据,将所述各独立类中已更新的数据与所述内存中的原始数据进行比较,若所述已更新的数据与所述原始数据不相同,根据所述已更新的数据对所述内存中的原始数据进行更新,可以清楚的记录VCenter中数据变化的情况,并根据所变化的数据对内存中的原始数据进行更新,进一步地可以减少运维人员运维工作的工作量,降低运维人员排查故障的难度,并提高处理运维问题的效率。
附图说明
为了更清楚地说明本发明实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种内存数据的更新方法的示意流程图。
图2是本发明实施例提供的一种内存数据的更新方法的另一示意流程图。
图3是本发明实施例提供的一种内存数据的更新方法的另一示意流程图。
图4是本发明实施例提供的一种内存数据的更新方法的另一示意流程图。
图5是本发明另一实施例提供的一种内存数据的更新方法的示意流程图。
图6是本发明实施例提供的一种内存数据的更新终端的示意性框图。
图7是本发明实施例提供的一种内存数据的更新终端的另一示意性框图。
图8是本发明实施例提供的一种内存数据的更新终端的另一示意性框图。
图9是本发明实施例提供的一种内存数据的更新终端的另一示意性框图。
图10是本发明实施例提供的一种内存数据的更新终端的另一示意性框图。
图11是本发明实施例提供的一种内存数据的更新设备结构组成示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在此本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
请参阅图1,图1是本发明实施例提供的一种内存数据的更新方法的示意流程图。该方法可以运行在智能手机(如Android手机、IOS手机等)、平板电脑、笔记本电脑以及智能设备等终端中。该方法主要是,可以。如图1所示,该方法的步骤包括S101~S106。
S101,将VCenter中各组件抽象成独立类。
在本发明实施例中,所述VCenter(VMware VCenter Server,虚拟化管理服务器平台)中的各组件包括数据中心、主机、虚拟机、网络、存储等,将这些组件抽象成独立类,例如将数据中心抽象成DataCenterMO独立类、主机抽象成HostMO独立类、虚拟机抽象成VmMO独立类、网络抽象成NetworkMO独立类、存储抽象成DataStoreMO独立类等。
S102,获取所述各独立类中的原始数据并缓存至内存中。
在本发明实施例中,在VCenter中,各独立类的原始数据存储在特定的管理器中,例如,DataCenterMO独立类存储在数据中心管理器中、HostMO独立类存储在主机管理器中、VmMO独立类存储在虚拟机管理器中;以获取DataCenterMO独立类中的原始数据为例进一步说明,可以通过向数据中心管理器中传入获取指令,根据所传入的获取指令获取相对应的原始数据。将所述各独立类中的原始数据缓存至内存中,具体包括但不限于以下方式:(1)采用高高低低原则将所述原始数据缓存至内存中,所谓高高低低原则指的是内存中的高位存放数据的高位,内存中的低位存放数据的低位,例如,原始数据为0xA5A1,其中,A5是高位,A1是低位,缓存到内存中的时候,A1缓存在0x4000这个位置,而A5缓存在0x4001这个位置,高位缓存在内存的高地址中,低位缓存在低地址中;(2)高低低高原则将所述原始数据缓存至内存中,所谓高低低高原则指的是内存中的高位存放数据的低位,内存中的低位存放数据的高位,例如,原始数据为0xA5A1,其中,A5是高位,A1是低位,缓存到内存中的时候,A1缓存在0x4001这个位置,而A5缓存在0x4000这个位置,高位缓存在内存的低地址中,低位缓存在高地址中。
进一步地,如图2所示,步骤S102包括步骤S201~S204。
S201,接收原始数据缓存请求。
S202,判断所述内存中是否存在已缓存的数据。
S203,若所述内存中存在已缓存的数据,判断所述已缓存的数据与所请求的原始数据是否相同。
S204,若所述已缓存的数据与所请求的原始数据不相同,将所述原始数据缓存至内存中。
S103,判断所述各独立类中的原始数据是否已更新。
在本发明实施例中,需要检测所述各独立类中的原始数据是否已更新,可以通过WEBUI中的预设检测机制检测所述各独立类中的原始数据是否发生更新,具体地,该预设检测机制可以是VSphere本身的waitforupdate机制,该waitforupdate机制可以实时检测所述各独立类中的原始数据是否发生更新。
S104,若所述各独立类中的原始数据已更新,获取所述各独立类中已更新的数据。
在本发明实施例中,在VCenter中,各独立类中已更新的原始数据存储在特定的管理器中,例如,DataCenterMO独立类存储在数据中心管理器中、HostMO独立类存储在主机管理器中、VmMO独立类存储在虚拟机管理器中;以获取DataCenterMO独立类中已更新的原始数据为例进一步说明,可以通过向数据中心管理器中传入获取指令,根据所传入的获取指令获取相对应的已更新的原始数据。
S105,将所述各独立类中已更新的数据与所述内存中的原始数据进行比较。
进一步地,如图3所示,步骤S105包括步骤S301~S302。
S301,获取所述内存中已缓存的原始数据。
S302,根据预设的比较机制对所述已更新的数据与所述原始数据进行比较。
在本发明实施例中,所述预设的比较机制可以是将所述已更新的数据或者所述原始数据构建map,将数据中的基本类型、String类型等数据类型,或者属性名作为所构建的map的key,并以这种规律构建出一个多层的map;所述对所述已更新的数据与所述原始数据进行比较,即,将所述已更新的数据构建的map和所述原始数据构建的map进行比较。
S106,若所述已更新的数据与所述内存中的原始数据不相同,根据所述已更新的数据对所述内存中的原始数据进行更新。
在本发明实施例中,若所述已更新的数据构建的map与所述内存中的原始数据构建的map不相同,在VCenter中,通过waitforupdate机制将已更新的数据更新到内存中,其中,将已更新的数据更新到内存中的方法包括但不限于以下方式:以更新的数据、更新数据的时间作为对象创建insert sql语句,通过执行所创建的insert sql语句将已更新的数据更新到内存中,例如,{“powerState”:{“newValue”:“POWERED_OFF”,“oldValue”:“POWERED_ON”}},该insertsql语句表示将主机的状态从“关机”更新为“开机”;在更新的过程中,若内存中的部分原始数据与所述各独立类中已更新的数据相同,只更新不相同的部分数据;若内存中的原始数据与所述各独立类中的已更新的数据完全不相同,自动将所述各独立类中已更新的数据全部写入内存中以更新内存中的数据。具体地,由于数据的复杂度以及数据大小不同,所述内存的更新时间也会不相同。
进一步地,如图4所示,步骤S106包括步骤S401~S402。
S401,若所述已更新的数据与所述原始数据不相同,调用预设的数据接口。
S402,根据预设的数据接口将所述已更新的数据写入所述内存中。
由以上可见,本发明实施例通过将VCenter中各组件抽象成独立类,获取所述各独立类中的原始数据并缓存至内存中,判断所述各独立类中的原始数据是否已更新,若所述各独立类中的原始数据已更新,获取所述各独立类中已更新的数据,将所述各独立类中已更新的数据与所述内存中的原始数据进行比较,若所述已更新的数据与所述原始数据不相同,根据所述已更新的数据对所述内存中的原始数据进行更新,可以清楚的记录VCenter中数据变化的情况,并根据所变化的数据对内存中的原始数据进行更新,进一步地可以减少运维人员运维工作的工作量,降低运维人员排查故障的难度,并提高处理运维问题的效率。
请参阅图5,图5是本发明实施例提供的一种内存数据的更新方法的示意流程图。该方法可以运行在智能手机(如Android手机、IOS手机等)、平板电脑、笔记本电脑以及智能设备等终端中。该方法主要是,可以。如图5所示,该方法的步骤包括S501~S508。
S501,将VCenter中各组件抽象成独立类。
在本发明实施例中,所述VCenter(VMware VCenter Server,虚拟化管理服务器平台)中的各组件包括数据中心、主机、虚拟机、网络、存储等,将这些组件抽象成独立类,例如将数据中心抽象成DataCenterMO独立类、主机抽象成HostMO独立类、虚拟机抽象成VmMO独立类、网络抽象成NetworkMO独立类、存储抽象成DataStoreMO独立类等。
S502,获取所述各独立类中的原始数据并缓存至内存中。
在本发明实施例中,在VCenter中,各独立类的原始数据存储在特定的管理器中,例如,DataCenterMO独立类存储在数据中心管理器中、HostMO独立类存储在主机管理器中、VmMO独立类存储在虚拟机管理器中;以获取DataCenterMO独立类中的原始数据为例进一步说明,可以通过向数据中心管理器中传入获取指令,根据所传入的获取指令获取相对应的原始数据。将所述各独立类中的原始数据缓存至内存中,具体包括但不限于以下方式:(1)采用高高低低原则将所述原始数据缓存至内存中,所谓高高低低原则指的是内存中的高位存放数据的高位,内存中的低位存放数据的低位,例如,原始数据为0xA5A1,其中,A5是高位,A1是低位,缓存到内存中的时候,A1缓存在0x4000这个位置,而A5缓存在0x4001这个位置,高位缓存在内存的高地址中,低位缓存在低地址中;(2)高低低高原则将所述原始数据缓存至内存中,所谓高低低高原则指的是内存中的高位存放数据的低位,内存中的低位存放数据的高位,例如,原始数据为0xA5A1,其中,A5是高位,A1是低位,缓存到内存中的时候,A1缓存在0x4001这个位置,而A5缓存在0x4000这个位置,高位缓存在内存的低地址中,低位缓存在高地址中。
S503,判断所述各独立类中的原始数据是否已更新。
在本发明实施例中,需要检测所述各独立类中的原始数据是否已更新,可以通过WEBUI中的预设检测机制检测所述各独立类中的原始数据是否发生更新,具体地,该预设检测机制可以是VSphere本身的waitforupdate机制,该waitforupdate机制可以实时检测所述各独立类中的原始数据是否发生更新。
S504,若所述各独立类中的原始数据已更新,获取所述各独立类中已更新的数据。
在本发明实施例中,在VCenter中,各独立类的原始数据存储在特定的管理器中,例如,DataCenterMO独立类存储在数据中心管理器中、HostMO独立类存储在主机管理器中、VmMO独立类存储在虚拟机管理器中;以获取DataCenterMO独立类中的原始数据为例进一步说明,可以通过向数据中心管理器中传入获取指令,根据所传入的获取指令获取相对应的原始数据。
S505,将所述各独立类中已更新的数据与所述内存中的原始数据进行比较。
S506,若所述已更新的数据与所述内存中的原始数据不相同,根据所述已更新的数据对所述内存中的原始数据进行更新。
在本发明实施例中,若所述已更新的数据构建的map与所述内存中的原始数据构建的map不相同,在VCenter中,通过waitforupdate机制将已更新的数据更新到内存中,其中,将已更新的数据更新到内存中的方法包括但不限于以下方式:以更新的数据、更新数据的时间作为对象创建insert sql语句,通过执行所创建的insert sql语句将已更新的数据更新到内存中,例如,{“powerState”:{“newValue”:“POWERED_OFF”,“oldValue”:“POWERED_ON”}},该insertsql语句表示将主机的状态从“关机”更新为“开机”;在更新的过程中,若内存中的部分原始数据与所述各独立类中已更新的数据相同,只更新不相同的部分数据;若内存中的原始数据与所述各独立类中的已更新的数据完全不相同,自动将所述各独立类中已更新的数据全部写入内存中以更新内存中的数据。具体地,由于数据的复杂度以及数据大小不同,所述内存的更新时间也会不相同。
S507,若所述已更新的数据与所述原始数据不相同,获取所述已更新的数据与所述原始数据之间的差异数据。
S508,将所述差异数据保存至预设数据库中。
本领域普通技术员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random AccessMemory,RAM)等。
请参阅图6,对应上述一种内存数据的更新方法,本发明实施例还提出一种内存数据的更新终端,该终端100包括:抽象单元101、第一获取单元102、第一判断单元103、第二获取单元104、比较单元105、更新单元106。
其中,所述抽象单元101,用于将VCenter中各组件抽象成独立类。
第一获取单元102,用于获取所述各独立类中的原始数据并缓存至内存中。
第一判断单元103,用于判断所述各独立类中的原始数据是否已更新。
第二获取单元104,用于若所述各独立类中的原始数据已更新,获取所述各独立类中已更新的数据。
比较单元105,用于将所述各独立类中已更新的数据与所述内存中的原始数据进行比较。
更新单元106,用于若所述已更新的数据与所述内存中的原始数据不相同,根据所述已更新的数据对所述内存中的原始数据进行更新。
如图7所示,所述第一获取单元102,包括:
接收单元1021,用于接收原始数据缓存请求。
第二判断单元1022,用于判断所述内存中是否存在已缓存的数据。
第三判断单元1023,用于若所述内存中存在已缓存的数据,判断所述已缓存的数据与所请求的原始数据是否相同。
缓存单元1024,用于若所述已缓存的数据与所请求的原始数据不相同,将所述原始数据缓存至内存中。
如图8所示,所述比较单元105,包括:
第三获取单元1051,用于获取所述内存中已缓存的原始数据。
比较子单元1052,用于根据预设的比较机制对所述已更新的数据与所述原始数据进行比较。
如图9所示,所述更新单元106,包括:
调用单元1061,用于若所述已更新的数据与所述原始数据不相同,调用预设的数据接口。
写入单元1062,用于根据预设的数据接口将所述已更新的数据写入所述内存中。
请参阅图10,对应上述一种内存数据的更新方法,本发明实施例还提出一种内存数据的更新终端,该终端200包括:抽象单元201、第一获取单元202、第一判断单元203、第二获取单元204、比较单元205、更新单元206、第四获取单元207、保存单元208。
其中,所述抽象单元201,用于将VCenter中各组件抽象成独立类。
第一获取单元202,用于获取所述各独立类中的原始数据并缓存至内存中。
第一判断单元203,用于判断所述各独立类中的原始数据是否已更新。
第二获取单元204,用于若所述各独立类中的原始数据已更新,获取所述各独立类中已更新的数据。
比较单元205,用于将所述各独立类中已更新的数据与所述内存中的原始数据进行比较。
更新单元206,用于若所述已更新的数据与所述内存中的原始数据不相同,根据所述已更新的数据对所述内存中的原始数据进行更新。
第四获取单元207,用于若所述已更新的数据与所述原始数据不相同,获取所述已更新的数据与所述原始数据之间的差异数据。
保存单元208,用于将所述差异数据保存至预设数据库中。
在硬件实现上,以上抽象单元101、第一获取单元102、第一判断单元103、第二获取单元104、比较单元105、更新单元106等可以以硬件形式内嵌于或独立于数据处理的装置中,也可以以软件形式存储于数据处理装置的存储器中,以便处理器调用执行以上各个单元对应的操作。该处理器可以为中央处理单元(CPU)、微处理器、单片机等。
图11为本发明一种内存数据的更新设备的结构组成示意图。如图11所示,该设备500可包括:输入装置501、输出装置502、收发装置503、存储器504以及处理器505,其中:
所述输入装置501,用于接收外部访问控制设备的输入数据。具体实现中,本发明实施例所述的输入装置501可包括键盘、鼠标、光电输入装置、声音输入装置、触摸式输入装置、扫描仪等。
所述输出装置502,用于对外输出访问控制设备的输出数据。具体实现中,本发明实施例所述的输出装置502可包括显示器、扬声器、打印机等。
所述收发装置503,用于通过通信链路向其他设备发送数据或者从其他设备接收数据。具体实现中,本发明实施例的收发装置503可包括射频天线等收发器件。
所述存储器504,用于存储实现内存数据的更新程序。本发明实施例的存储器504可以是系统存储器,比如,挥发性的(诸如RAM),非易失性的(诸如ROM,闪存等),或者两者的结合。具体实现中,本发明实施例的存储器504还可以是系统之外的外部存储器,比如,磁盘、光盘、磁带等。
所述处理器505,用于运行所述存储器504中存储的实现内存数据的更新程序,并执行如下操作:
将VCenter中各组件抽象成独立类;
获取所述各独立类中的原始数据并缓存至内存中;
判断所述各独立类中的原始数据是否已更新;
若所述各独立类中的原始数据已更新,获取所述各独立类中已更新的数据;
将所述各独立类中已更新的数据与所述内存中的原始数据进行比较;
若所述已更新的数据与所述内存中的原始数据不相同,根据所述已更新的数据对所述内存中的原始数据进行更新。
进一步地,所述获取所述各独立类中的原始数据并缓存至内存中,包括:
接收原始数据缓存请求;
判断所述内存中是否存在已缓存的数据;
若所述内存中存在已缓存的数据,判断所述已缓存的数据与所请求的原始数据是否相同;
若所述已缓存的数据与所请求的原始数据不相同,将所述原始数据缓存至内存中。
进一步地,所述将所述各独立类中已更新的数据与所述内存中的原始数据进行比较,包括:
获取所述内存中已缓存的原始数据;
根据预设的比较机制对所述已更新的数据与所述原始数据进行比较。
进一步地,所述若所述已更新的数据与所述原始数据不相同,根据所述已更新的数据对所述内存中的原始数据进行更新,包括:
若所述已更新的数据与所述原始数据不相同,调用预设的数据接口;
根据预设的数据接口将所述已更新的数据写入所述内存中。
进一步地,所述处理器505还执行如下操作:
若所述已更新的数据与所述原始数据不相同,获取所述已更新的数据与所述原始数据之间的差异数据;
将所述差异数据保存至预设数据库中。
本领域技术人员可以理解,图11中示出的内存数据的更新设备的实施例并不构成对内存数据的更新设备具体构成的限定,在其他实施例中,内存数据的更新设备可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。例如,在一些实施例中,内存数据的更新设备可以仅包括存储器及处理器,在这样的实施例中,存储器及处理器的结构及功能与图11所示实施例一致,在此不再赘述。
本发明提供了一种计算机可读存储介质,计算机可读存储介质存储有一个或者一个以上程序,所述一个或者一个以上程序可被一个或者一个以上的处理器执行,以实现以下步骤:
将VCenter中各组件抽象成独立类;
获取所述各独立类中的原始数据并缓存至内存中;
判断所述各独立类中的原始数据是否已更新;
若所述各独立类中的原始数据已更新,获取所述各独立类中已更新的数据;
将所述各独立类中已更新的数据与所述内存中的原始数据进行比较;
若所述已更新的数据与所述内存中的原始数据不相同,根据所述已更新的数据对所述内存中的原始数据进行更新。
进一步地,所述获取所述各独立类中的原始数据并缓存至内存中,包括:
接收原始数据缓存请求;
判断所述内存中是否存在已缓存的数据;
若所述内存中存在已缓存的数据,判断所述已缓存的数据与所请求的原始数据是否相同;
若所述已缓存的数据与所请求的原始数据不相同,将所述原始数据缓存至内存中。
进一步地,所述将所述各独立类中已更新的数据与所述内存中的原始数据进行比较,包括:
获取所述内存中已缓存的原始数据;
根据预设的比较机制对所述已更新的数据与所述原始数据进行比较。
进一步地,所述若所述已更新的数据与所述原始数据不相同,根据所述已更新的数据对所述内存中的原始数据进行更新,包括:
若所述已更新的数据与所述原始数据不相同,调用预设的数据接口;
根据预设的数据接口将所述已更新的数据写入所述内存中。
进一步地,所述步骤还包括:
若所述已更新的数据与所述原始数据不相同,获取所述已更新的数据与所述原始数据之间的差异数据;
将所述差异数据保存至预设数据库中。
本发明前述的存储介质包括:磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random Access Memory,RAM)等各种可以存储程序代码的介质。
本发明所有实施例中的单元可以通过通用集成电路,例如CPU(CentralProcessing Unit,中央处理器),或通过ASIC(Application Specific IntegratedCircuit,专用集成电路)来实现。
本发明实施例内存数据的更新方法中的步骤可以根据实际需要进行顺序调整、合并和删减。
本发明实施例内存数据的更新终端中的单元可以根据实际需要进行合并、划分和删减。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
Claims (10)
1.一种内存数据的更新方法,其特征在于,所述方法包括:
将VCenter中各组件抽象成独立类;
获取所述各独立类中的原始数据并缓存至内存中;
判断所述各独立类中的原始数据是否已更新;
若所述各独立类中的原始数据已更新,获取所述各独立类中已更新的数据;
将所述各独立类中已更新的数据与所述内存中的原始数据进行比较;
若所述已更新的数据与所述内存中的原始数据不相同,根据所述已更新的数据对所述内存中的原始数据进行更新。
2.如权利要求1所述的方法,其特征在于,所述获取所述各独立类中的原始数据并缓存至内存中,包括:
接收原始数据缓存请求;
判断所述内存中是否存在已缓存的数据;
若所述内存中存在已缓存的数据,判断所述已缓存的数据与所请求的原始数据是否相同;
若所述已缓存的数据与所请求的原始数据不相同,将所述原始数据缓存至内存中。
3.如权利要求1所述的方法,其特征在于,所述将所述各独立类中已更新的数据与所述内存中的原始数据进行比较,包括:
获取所述内存中已缓存的原始数据;
根据预设的比较机制对所述已更新的数据与所述原始数据进行比较。
4.如权利要求1所述的方法,其特征在于,所述若所述已更新的数据与所述原始数据不相同,根据所述已更新的数据对所述内存中的原始数据进行更新,包括:
若所述已更新的数据与所述原始数据不相同,调用预设的数据接口;
根据预设的数据接口将所述已更新的数据写入所述内存中。
5.如权利要求1所述的方法,其特征在于,所述方法还包括:
若所述已更新的数据与所述原始数据不相同,获取所述已更新的数据与所述原始数据之间的差异数据;
将所述差异数据保存至预设数据库中。
6.一种内存数据的更新终端,其特征在于,所述终端包括:
抽象单元,用于将VCenter中各组件抽象成独立类;
第一获取单元,用于获取所述各独立类中的原始数据并缓存至内存中;
第一判断单元,用于判断所述各独立类中的原始数据是否已更新;
第二获取单元,用于若所述各独立类中的原始数据已更新,获取所述各独立类中已更新的数据;
比较单元,用于将所述各独立类中已更新的数据与所述内存中的原始数据进行比较;
更新单元,用于若所述已更新的数据与所述内存中的原始数据不相同,根据所述已更新的数据对所述内存中的原始数据进行更新。
7.如权利要求6所述的终端,其特征在于,所述第一获取单元,包括:
接收单元,用于接收原始数据缓存请求;
第二判断单元,用于判断所述内存中是否存在已缓存的数据;
第三判断单元,用于若所述内存中存在已缓存的数据,判断所述已缓存的数据与所请求的原始数据是否相同;
缓存单元,用于若所述已缓存的数据与所请求的原始数据不相同,将所述原始数据缓存至内存中。
8.如权利要求6所述的终端,其特征在于,
所述比较单元,包括:
第三获取单元,用于获取所述内存中已缓存的原始数据;
比较子单元,用于根据预设的比较机制对所述已更新的数据与所述原始数据进行比较;
所述更新单元,包括:
调用单元,用于若所述已更新的数据与所述原始数据不相同,调用预设的数据接口;
写入单元,用于根据预设的数据接口将所述已更新的数据写入所述内存中;
所述终端,还包括:
第四获取单元,用于若所述已更新的数据与所述原始数据不相同,获取所述已更新的数据与所述原始数据之间的差异数据;
保存单元,用于将所述差异数据保存至预设数据库中。
9.一种内存数据的更新设备,其特征在于,包括:
存储器,用于存储实现内存数据的更新的程序;以及
处理器,用于运行所述存储器中存储的实现内存数据的更新的程序,以执行如权利要求1-5任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,计算机可读存储介质存储有一个或者一个以上程序,所述一个或者一个以上程序可被一个或者一个以上的处理器执行,以实现如权利要求1-5任一项所述的方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710714568.3A CN107748749A (zh) | 2017-08-18 | 2017-08-18 | 一种内存数据的更新方法、终端、设备以及可读存储介质 |
PCT/CN2018/077127 WO2019033740A1 (zh) | 2017-08-18 | 2018-02-24 | 一种内存数据的更新方法、终端、设备以及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710714568.3A CN107748749A (zh) | 2017-08-18 | 2017-08-18 | 一种内存数据的更新方法、终端、设备以及可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107748749A true CN107748749A (zh) | 2018-03-02 |
Family
ID=61255400
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710714568.3A Pending CN107748749A (zh) | 2017-08-18 | 2017-08-18 | 一种内存数据的更新方法、终端、设备以及可读存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN107748749A (zh) |
WO (1) | WO2019033740A1 (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7761862B2 (en) * | 2003-01-16 | 2010-07-20 | International Business Machines Corporation | Externalized classloader information for application servers |
CN103607418A (zh) * | 2013-07-25 | 2014-02-26 | 上海和辰信息技术有限公司 | 基于云服务数据特征的大规模数据分割系统及分割方法 |
CN104537119A (zh) * | 2015-01-26 | 2015-04-22 | 浪潮通信信息系统有限公司 | 一种缓存数据的更新方法、数据使用端和系统 |
CN106663023A (zh) * | 2014-05-27 | 2017-05-10 | 威睿公司 | 对云应用中的虚拟机进行分组 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7168063B2 (en) * | 2003-06-10 | 2007-01-23 | Microsoft Corporation | Systems and methods for employing tagged types in a dynamic runtime environment |
CN103888420A (zh) * | 2012-12-20 | 2014-06-25 | 中国农业银行股份有限公司广东省分行 | 一种虚拟服务器系统 |
-
2017
- 2017-08-18 CN CN201710714568.3A patent/CN107748749A/zh active Pending
-
2018
- 2018-02-24 WO PCT/CN2018/077127 patent/WO2019033740A1/zh active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7761862B2 (en) * | 2003-01-16 | 2010-07-20 | International Business Machines Corporation | Externalized classloader information for application servers |
CN103607418A (zh) * | 2013-07-25 | 2014-02-26 | 上海和辰信息技术有限公司 | 基于云服务数据特征的大规模数据分割系统及分割方法 |
CN106663023A (zh) * | 2014-05-27 | 2017-05-10 | 威睿公司 | 对云应用中的虚拟机进行分组 |
CN104537119A (zh) * | 2015-01-26 | 2015-04-22 | 浪潮通信信息系统有限公司 | 一种缓存数据的更新方法、数据使用端和系统 |
Non-Patent Citations (4)
Title |
---|
何剑: "《大小端存储模式对编程的影响及对策》", 《扬州职业大学学报》 * |
孙娟: "基于服务质量的任务调度算法设计与实现", 《中国优秀硕士学位论文全文数据库信息科技辑》 * |
张文雯: "《SQL Server 更新数据》", 《信息工程》 * |
许波等: "《云计算中虚拟机管理系统的研究与开发》", 《南京师大学报( 自然科学版)》 * |
Also Published As
Publication number | Publication date |
---|---|
WO2019033740A1 (zh) | 2019-02-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2725764B1 (en) | Data storage method and data storage device | |
CN104040516B (zh) | 用于数据去重的方法、设备和系统 | |
US20210342354A1 (en) | Stream browser for data streams | |
CN109062512A (zh) | 一种分布式存储集群、数据读写方法、系统及相关装置 | |
CN104699423B (zh) | Linux系统中绑定盘符的方法和装置 | |
CN107329741A (zh) | 一种基于指纹识别的软件分布式升级方法与装置 | |
EP3451193A1 (en) | Electronic device and file data journaling method of electronic device | |
US9128848B2 (en) | General storage cache functionality extension | |
CN109740083A (zh) | 一种页面跳转的方法及装置 | |
US11947820B2 (en) | Zone segment drive management | |
US11934660B1 (en) | Tiered data storage with ephemeral and persistent tiers | |
CN111767270A (zh) | 数据迁移方法、装置、服务器及存储介质 | |
CN108304142B (zh) | 一种数据管理方法和装置 | |
CN102843369B (zh) | Ui界面的网络访问方法和系统 | |
CN109597707A (zh) | 克隆卷数据拷贝方法、装置及计算机可读存储介质 | |
US11853284B2 (en) | In-place updates with concurrent reads in a decomposed state | |
CN108108126A (zh) | 一种数据处理方法、装置及设备 | |
KR20150139017A (ko) | 메모리 제어 장치 및 방법 | |
CN107748749A (zh) | 一种内存数据的更新方法、终端、设备以及可读存储介质 | |
CN106020616A (zh) | 桌面快链图标的更新方法和装置 | |
CN109241110A (zh) | 订单管理方法及系统、电子设备、存储介质 | |
KR102214697B1 (ko) | 데이터베이스 관리 시스템에서 데이터 저장을 위한 공간 관리를 제공하는 컴퓨터 프로그램 | |
US6625614B1 (en) | Implementation for efficient access of extended attribute data | |
CN107908629A (zh) | 一种信息查询方法、终端以及设备 | |
CN109739812A (zh) | 一种显示资源文件的方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20180302 |
|
RJ01 | Rejection of invention patent application after publication |