在系统日志中建立信任链转让专利

申请号 : CN201610146483.5

文献号 : CN105988911B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : J·C·达伊卡M·A·尼尔森K·H·彼得斯

申请人 : 国际商业机器公司

摘要 :

本发明涉及在系统日志中建立信任链。各实施例包括用于获取数据存储库的方法、系统和计算机程序产品,所述数据存储库与被配置为接收元数据的日志相关联。然后,通过添加所述元数据的第一元数据,修改所述日志的与所述数据存储库的至少一个操纵有关的内容。进而,通过将所述元数据的第二元数据添加到所述日志内来收集签名,所述签名标识被配置为管理所述数据存储库的所述至少一个操纵的控制语句。

权利要求 :

1.一种用于处理数据存储库的方法,包括:

由处理器获取数据存储库,所述数据存储库与被配置为接收元数据的日志相关联;

由所述处理器通过添加所述元数据的第一元数据来修改所述日志的与所述数据存储库的至少一个操纵有关的内容,其中所述数据存储库的所述至少一个操纵包括添加、删除或合并所述数据存储库的组件;以及由所述处理器收集签名,所述签名标识被配置为管理所述数据存储库的所述至少一个操纵的控制语句,所述收集签名包括:将所述元数据的第二元数据添加到所述日志内,封装修改后的数据存储库,所述修改后的数据存储库包括所述至少一个操纵更改的数据存储库以及具有所述元数据的所述日志,跟踪由所述处理器执行的程序所产生的所述控制语句,以及,基于对所述控制语句的跟踪生成所述签名,

其中所述签名保存所述数据存储库的每个操纵的源和变更信息。

2.根据权利要求1所述的方法,其中所述第一元数据包括有关所述日志的源的信息。

3.根据权利要求1所述的方法,其中所述第二元数据包括有关被用于修改所述日志的内容的修改程序的信息。

4.根据权利要求1所述的方法,其中所述元数据包括第三元数据,所述第三元数据包括用于合并、删除或修改所述数据存储库或所述日志的规则。

5.一种用于处理数据存储库的系统,包括:

存储器,其具有计算机可读指令;以及

处理器,其用于执行所述计算机可读指令,所述计算机可读指令包括:获取数据存储库,所述数据存储库与被配置为接收元数据的日志相关联;

通过添加所述元数据的第一元数据来修改所述日志的与所述数据存储库的至少一个操纵有关的内容,其中所述数据存储库的所述至少一个操纵包括添加、删除或合并所述数据存储库的组件;以及收集签名,所述签名标识被配置为管理所述数据存储库的所述至少一个操纵的控制语句,所述收集签名包括:将所述元数据的第二元数据添加到所述日志内,封装修改后的数据存储库,所述修改后的数据存储库包括所述至少一个操纵更改的数据存储库以及具有所述元数据的所述日志,跟踪由所述处理器执行的程序所产生的所述控制语句,以及,基于对所述控制语句的跟踪生成所述签名,

其中所述签名保存所述数据存储库的每个操纵的源和变更信息。

6.根据权利要求5所述的系统,其中所述第一元数据包括有关所述日志的源的信息。

7.根据权利要求5所述的系统,其中所述第二元数据包括有关被用于修改所述日志的内容的修改程序的信息。

8.根据权利要求5所述的系统,其中所述元数据包括第三元数据,所述第三元数据包括用于合并、删除或修改所述数据存储库或所述日志的规则。

说明书 :

在系统日志中建立信任链

技术领域

[0001] 本发明一般地涉及在系统日志中建立信任链。更具体地说,本发明涉及合并多个数据流,将源和变更信息记录到合并后的数据流的日志中,以及通过后续处理迭代保存该信息。

背景技术

[0002] 一般而言,计算机系统通常将有关其操作的信息记录到系统日志内。这些系统日志被用于多种用途,例如问题诊断、拒付/计费以及安全性。用户需要可用于确保系统日志未被修改的机制。具体而言,用户需要了解日志记录未被修改、添加或删除。
[0003] 目前实现此类保证的技术包括将系统日志写入诸如紧凑盘只读存储器之类的“一次写入,多次读取”介质(WORM)中,然后对系统日志的内容进行数字签名。但这些技术尚未解决的问题是需要保证记录在经历系统日志合并、过滤和/或修改的一个或多个步骤之后未被变更。也就是说,由于系统日志的合并、过滤和/或修改以最终系统的最终用户无法察觉的方式修改其内容,所以如果不频繁审查以及将可信版本的源(例如,WORM)与最终系统日志进行核对,最终用户无法立即确定系统日志变更(即,确定哪些记录已经被合并、过滤和/或修改)。

发明内容

[0004] 各实施例包括用于获取数据存储库的方法、系统和计算机程序产品,所述数据存储库与被配置为接收元数据的日志相关联。然后,通过添加所述元数据的第一元数据,修改所述日志的与所述数据存储库的至少一个操纵有关的内容。进而,通过将所述元数据的第二元数据添加到所述日志内来收集签名,所述签名标识被配置为管理所述数据存储库的所述至少一个操纵的控制语句。
[0005] 通过本发明的技术实现其它特征和优点。在本文中详细地描述了本发明的其它实施例和方面。为了更好地理解本发明的优点和特征,请参阅说明书和附图。

附图说明

[0006] 在说明书结尾处的权利要求中具体指出并明确要求保护被视为本发明的主题。当结合附图阅读下面的详细说明时,本发明的上述以及其它特征和优点将变得显而易见,其中:
[0007] 图1示出根据一个实施例的在系统日志中建立信任链的方法的处理流程;
[0008] 图2示出根据一个实施例的在系统日志中建立信任链的方法的另一处理流程;
[0009] 图3示出根据本发明的一个实施例的云计算节点;
[0010] 图4示出根据本发明的一个实施例的云计算环境;以及
[0011] 图5示出根据本发明的一个实施例的抽象模型层。

具体实施方式

[0012] 如上所述,如果不频繁审查以及将可信版本的源(例如,WORM)与最终系统日志进行核对,最终用户无法立即确定系统日志变更。因此,此处描述的实施例涉及合并多个数据流,将源和变更信息记录到合并后的数据流的日志中,以及通过后续处理迭代保存该信息。
[0013] 现在参考图1,总体示出根据一实施例的处理流程100。处理流程100从方框105开始,其中处理器(如下面参考图3所述)获取数据存储库。数据存储库可以是任何数据集、文件、数据流以及上述各项中的多个和/或它们的组合等等。数据存储库还与存储描述该数据存储库的元数据的日志相关联。
[0014] 然后,在方框110,处理器合并和/或删除数据存储库的项目。例如,处理器执行操纵数据存储库的程序(例如,下面描述的程序指令),操纵方式例如包括添加新对象、提取数据、合并项目或者它们的组合。日志被配置为在程序处理数据存储库时接收附加信息或元数据(例如,第一元数据),该程序还修改日志的与对数据存储库的操纵有关的内容。第一元数据可以包括有关被输入到程序的日志的源(输入)的信息,例如用于记录数据、文件名、文件系统容器名称、有关文件容器的卷信息,以及与标识日志的源相关的其它任何位置信息的系统选项。
[0015] 接着,在方框115,处理器收集被合并到数据存储库内和/或从数据存储库删除的项目的签名。例如,对于数据存储库的每个处理迭代,收集进入/离开数据存储库的组件(例如,对象、数据等)(包括引导/管理项目的合并和/或删除的控制语句)的签名作为该数据存储库的附加元数据(例如,第二元数据)的一部分。第二元数据是作为执行处理(合并、选择、变更)的程序的输入而被提供的信息。第二元数据可以包括有关修改程序的信息(例如,源和变更信息),修改程序被用于修改日志,它可以独立于操纵数据存储库的程序,也可以作为操纵数据存储库的程序的一部分。例如,有关修改程序(例如,上述程序)的信息可以包括执行修改程序的系统、修改程序本身的数字签名、修改稿程序的服务水平、运行程序的用户的身份(数字证书)、以及执行程序的日期和时间。通过此方式,签名可以通过后续处理迭代保存源和变更信息。
[0016] 进一步地,日志可以接收第三元数据,该第三元数据可以包括有关对日志记录做出的修改的信息,例如用于合并、删除和/或修改日志记录的规则。也就是说,第三元数据可以包括被添加到第一和/或第二元数据的签名信息的添加。需要指出,在处理流程100期间被日志接收的附加信息或元数据被分组成第一、第二和第三元数据以便于解释。
[0017] 另外,尽管处理流程100总体涉及系统日志,但是可以在数据被聚合或处理的任意时间应用处理流程100。例如,当从“物联网”接收传感器数据,或者当接收“众包”数据时,聚合操作可以包括根据处理流程100处理传感器数据。
[0018] 现在参考图2,总体示出根据一实施例的处理流程200。处理流程200与处理流程100的对应之处在于,图2包括虚框115,该框示出如何针对被合并到数据存储库内和/或从数据存储库删除的项目执行签名收集的一个实例。此外,方框205与方框150对应,方框210与方框110对应。
[0019] 处理流程200从方框205开始,其中处理器从至少一个系统获取至少一个数据集。例如,针对多个时段,处理器可以接收一个时段的一个时间范围内的一个数据集。也就是说,如果每个时间范围的数据集是至少一个数据流,并且该时间范围是二十四小时(例如,一天)、时段是120小时(例如,一个工作周),则处理器将针对该工作周内的五天中的每一天获取五个数据集。需要指出,时间只是合并的一个实例,根据程序的要求,可以实现其它合并情况。然后,在方框210,处理器执行操纵至少一个数据集的程序。如上所述,处理器可以添加、合并和/或删除数据存储库的项目。
[0020] 接着,在方框215,处理器跟踪程序所产生的控制语句。控制语句管理对至少一个数据集的操纵。然后,在方框220,处理器生成签名(例如,执行签名的计算、创建和插入)。签名基于对控制语句的跟踪。
[0021] 然后,在方框225,处理器将所述程序操纵的至少一个数据集与所述签名封装在一起。通过此方式,处理器输出封装后的数据集,该封装后的数据集包括被操纵的数据集加上签名。签名标识被合并或变更的内容,并且被存储在封装后的数据集的元数据内。
[0022] 现在根据处理流程100、200描述系统环境的一个实例。在系统环境中,日志之一可以是系统管理工具(SMF)日志,其中操作系统、子系统、资源管理器,以及系统环境的用户将记录写入SMF日志。SMF日志可用于针对用户的资源消耗向用户计费,记录用户在安全管理员和外部安全管理器(例如,资源访问控制工具)的引导下对资源执行的动作,以及用于诊断。需要指出,尽管提供了该系统环境实例,但是系统环境可在任何日志样式的数据存储库上应用,以便执行签名块的验证。
[0023] 所有这些记录被写入SMF日志,用户可选择将SMF日志放入数据集还是放入一个或多个系统环境日志流。例如,用户可以通过以下方式管理SMF数据:即,将“实时的”系统SMF数据写入日文件,将日文件写入周文件,将周文件写入月文件,将月文件写入季度文件和/或年文件;聚合来自多个系统的SMF数据;以及复制SMF数据并将其划分成多个操作种类(例如,拒付/计费以及安全性)。用户也可以通过诊断管理SMF数据。在处理的每个步骤,记录被合并、添加和/或删除。通过利用处理流程100、200,用户可以确定如何操纵SMF数据。
[0024] 例如,被用于处理SMF数据的程序可以是SMF数据集实用工具(SMFDP)和SMF日志流实用工具(SMFDL)。系统环境可以在写入原始SMF数据集时创建有关信息源的信息块。该信息块可以包括上述第一元数据,并且可以是被写入原始SMF数据集并由SMF自身签名的数据的一部分。
[0025] 然后,当用户运行SMFDx(例如,SMFDP和/或SMFDL)以将SMF数据从实时日志移动到非实时数据集时,SMFDx将创建有关信息源和正在移动数据的SMFDx实例的信息块。该信息源可以包括上述第二元数据和SMFDx的签名。需要指出,SMFDP的任何后续运行都会执行相同的处理,而SMFDx的每次迭代都会添加被添加到输出流的新处理块和新签名。
[0026] 进一步地,可使用系统密钥对SMF创建的SMF记录进行签名。被用于对SMFDx的输出进行签名的密钥取决于与SMFDP的执行关联的用户标识。密钥签名和用户标识的运用不仅提供有关如何处理SMF记录的保证,而且还能保证由谁来处理。另外,可以修改SMFDx以在处理的每个步骤处提供签名验证工具。
[0027] 本发明可以是系统(例如,在云计算环境上实现的系统)、方法和/或计算机程序产品。进一步地,首先应当理解,尽管本公开包括关于云计算的详细描述,但其中记载的技术方案的实现却不限于云计算环境,而是本发明的实施例能够结合现在已知或以后开发的任何其它类型的计算环境而实现。
[0028] 计算机程序产品可以包括计算机可读存储介质,该计算机可读存储介质上包含使处理器执行本发明的各方面和/或实施例的计算机可读程序指令。计算机可读存储介质可以是能够保持和存储由指令执行设备使用的指令的有形设备。
[0029] 计算机可读存储介质例如可以是—但不限于—电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子的非穷举的列表包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式紧凑盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其它自由传播的电磁波、通过波导或其它传输介质传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。
[0030] 这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
[0031] 用于执行本发明操作的计算机可读程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如Smalltalk、C++等,以及常规的过程式编程语言—诸如“C”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化电子电路,包括例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA)的电子电路可以执行计算机可读程序指令,从而实现本发明的各个方面。
[0032] 这里参照根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本发明的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
[0033] 这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其它设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
[0034] 也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
[0035] 附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
[0036] 就在云计算环境上实现本发明的方面和/或实施例而言,云计算一般是一种服务交付模式,用于对共享的可配置计算资源池进行方便、按需的网络访问。可配置计算资源是能够以最小的管理成本或与服务提供者进行最少的交互就能快速部署和释放的资源,例如可以是网络、网络带宽、服务器、处理、内存、存储、应用、虚拟机和服务。这种云模式可以包括至少五个特征、至少三个服务模型和至少四个部署模型。特征可以是按需自助式服务;广泛的网络接入;资源池;迅速弹性;以及可测量的服务。
[0037] 按需自助式服务:云的消费者在无需与服务提供者进行人为交互的情况下能够单方面自动地按需部署诸如服务器时间和网络存储等的计算能力。
[0038] 广泛的网络接入:计算能力可以通过标准机制在网络上获取,这种标准机制促进了通过不同种类的瘦客户机平台或厚客户机平台(例如移动电话、膝上型电脑、个人数字助理PDA)对云的使用。
[0039] 资源池:提供者的计算资源被归入资源池并通过多租户(multi-tenant)模式服务于多重消费者,其中按需将不同的实体资源和虚拟资源动态地分配和再分配。一般情况下,消费者不能控制或甚至并不知晓所提供的资源的确切位置,但可以在较高抽象程度上指定位置(例如国家、州或数据中心),因此具有位置无关性。
[0040] 迅速弹性:能够迅速、有弹性地(有时是自动地)部署计算能力,以实现快速扩展,并且能迅速释放来快速缩小。在消费者看来,用于部署的可用计算能力往往显得是无限的,并能在任意时候都能获取任意数量的计算能力。
[0041] 可测量的服务:云系统通过利用适于服务类型(例如存储、处理、带宽和活跃用户帐号)的某种抽象程度的计量能力,自动地控制和优化资源效用。可以监测、控制和报告资源使用情况,为服务提供者和消费者双方提供透明度。
[0042] 三种服务模型可以包括软件即服务(SaaS);平台即服务(PaaS)以及基础架构即服务(IaaS)。
[0043] SaaS:向消费者提供的能力是使用提供者在云基础架构上运行的应用。可以通过诸如网络浏览器的瘦客户机接口(例如基于网络的电子邮件)从各种客户机设备访问应用。除了有限的特定于用户的应用配置设置外,消费者既不管理也不控制包括网络、服务器、操作系统、存储、乃至单个应用能力等的底层云基础架构。
[0044] PaaS:向消费者提供的能力是在云基础架构上部署消费者创建或获得的应用,这些应用利用提供者支持的程序设计语言和工具创建。消费者既不管理也不控制包括网络、服务器、操作系统或存储的底层云基础架构,但对其部署的应用具有控制权,对应用托管环境配置可能也具有控制权。
[0045] IaaS:向消费者提供的能力是消费者能够在其中部署并运行包括操作系统和应用的任意软件的处理、存储、网络和其他基础计算资源。消费者既不管理也不控制底层的云基础架构,但是对操作系统、存储和其部署的应用具有控制权,对选择的网络组件(例如主机防火墙)可能具有有限的控制权。
[0046] 部署模型可以包括私有云,共同体云,公共云及混合云。
[0047] 私有云:云基础架构单独为某个组织运行。云基础架构可以由该组织或第三方管理并且可以存在于该组织内部或外部。
[0048] 共同体云:云基础架构被若干组织共享并支持有共同利害关系(例如任务使命、安全要求、政策和合规考虑)的特定共同体。共同体云可以由共同体内的多个组织或第三方管理并且可以存在于该共同体内部或外部。
[0049] 公共云:云基础架构向公众或大型产业群提供并由出售云服务的组织拥有。
[0050] 混合云:云基础架构由两个或更多部署模型的云(私有云、共同体云或公共云)组成,这些云依然是独特的实体,但是通过使数据和应用能够移植的标准化技术或私有技术(例如用于云之间的负载平衡的云突发流量分担技术)绑定在一起。
[0051] 云计算环境是面向服务的,特点集中在无状态性、低耦合性、模块性和语意的互操作性。云计算的核心是包含互连节点网络的基础架构。
[0052] 现在参考图3,其中显示了云计算节点的一个例子。云计算节点310仅仅是适合的云计算节点的一个示例,不应对本发明实施例的功能和使用范围带来任何限制。总之,云计算节点310能够被用来实现和/或执行以上所述的任何功能。
[0053] 云计算节点310具有计算机系统/服务器312,其可与众多其它通用或专用计算系统环境或配置一起操作。众所周知,适于与计算机系统/服务器312一起操作的计算系统、环境和/或配置的例子包括但不限于:个人计算机系统、服务器计算机系统、瘦客户机、厚客户机、手持或膝上设备、基于微处理器的系统、机顶盒、可编程消费电子产品、网络个人电脑、小型计算机系统﹑大型计算机系统和包括上述任意系统的分布式云计算技术环境,等等。
[0054] 计算机系统/服务器312可以在由计算机系统执行的计算机系统可执行指令(诸如程序模块)的一般语境下描述。通常,程序模块可以包括执行特定的任务或者实现特定的抽象数据类型的例程、程序、目标程序、组件、逻辑、数据结构等。计算机系统/服务器312可以在通过通信网络链接的远程处理设备执行任务的分布式云计算环境中实施。在分布式云计算环境中,程序模块可以位于包括存储设备的本地或远程计算系统存储介质上。
[0055] 如图3所示,云计算节点310中的计算机系统/服务器312以通用计算设备的形式表现。计算机系统/服务器312的组件可以包括但不限于:一个或者多个处理器或者处理单元(如处理器314),系统存储器316,连接不同系统组件(包括系统存储器316和处理单元314)的总线318。
[0056] 总线318表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(ISA)总线,微通道体系结构(MAC)总线,增强型ISA总线、视频电子标准协会(VESA)局域总线以及外围组件互连(PCI)总线。
[0057] 计算机系统/服务器312典型地包括多种计算机系统可读介质。这些介质可以是能够被计算机系统/服务器312访问的任意可获得的介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
[0058] 系统存储器316可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(RAM)320和/或高速缓冲存储器322。计算机系统/服务器312可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统324可以用于读写不可移动的、非易失性磁介质(图1未显示,通常称为“硬盘驱动器”)。尽管图1中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如CD-ROM,DVD-ROM或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线318相连。存储器316可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本发明各实施例的功能。
[0059] 例如,具有一组(至少一个)程序模块(如程序模块328)的程序/实用工具326,可以存储在存储器316中,这样的程序模块包括但不限于操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块326通常执行本发明所描述的实施例中的功能和/或方法。
[0060] 计算机系统/服务器312也可以与一个或多个外部设备(例如键盘340、指向设备、显示器342等)通信(比如通过输入/输出(I/O)接口,如输入/输出(I/O)接口330),还可与一个或者多个使得用户能与该计算机系统/服务器312交互的设备通信,和/或与使得该计算机系统/服务器312能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。并且,计算机系统/服务器312还可以通过网络适配器344与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器344通过总线318与计算机系统/服务器312的其它模块通信。应当明白,尽管图中未示出,其它硬件和/或软件模块可以与计算机系统/服务器312一起操作,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
[0061] 现在参考图4,其中显示了示例性的云计算环境450。如图所示,云计算环境450包括云计算消费者使用的本地计算设备可以与其相通信的一个或者多个云计算节点310,本地计算设备例如可以是个人数字助理(PDA)或移动电话454A,台式电脑454B、笔记本电脑454C和/或汽车计算机系统454N。云计算节点310之间可以相互通信。可以在包括但不限于如上所述的私有云、共同体云、公共云或混合云或者它们的组合的一个或者多个网络中将云计算节点310进行物理或虚拟分组(图中未显示)。这样,云的消费者无需在本地计算设备上维护资源就能请求云计算环境450提供的基础架构即服务(IaaS)、平台即服务(PaaS)和/或软件即服务(SaaS)。应当理解,图4显示的各类计算设备454A-N仅仅是示意性的,云计算节点310以及云计算环境450可以与任意类型网络上和/或网络可寻址连接的任意类型的计算设备(例如使用网络浏览器)通信。
[0062] 现在参考图5,其中显示了云计算环境450(图4)提供的一组功能抽象层。首先应当理解,图3所示的组件、层以及功能都仅仅是示意性的,本发明的实施例不限于此。如图5所示,提供下列层和对应功能:
[0063] 硬件和软件层560包括硬件和软件组件。硬件组件的例子包括:主机;基于RISC(精简指令集计算机)体系结构的服务器;存储设备;网络和网络组件。在某些实施例中,软件组件包括网络应用服务器软件。
[0064] 虚拟层562提供一个抽象层,该层可以提供下列虚拟实体的例子:虚拟服务器、虚拟存储、虚拟网络(包括虚拟私有网络)、虚拟应用和操作系统,以及虚拟客户端。
[0065] 在一个示例中,管理层564可以提供下述功能:资源供应功能:提供用于在云计算环境中执行任务的计算资源和其它资源的动态获取;计量和定价功能:在云计算环境内对资源的使用进行成本跟踪,并为此提供帐单和发票。在一个例子中,该资源可以包括应用软件许可。安全功能:为云的消费者和任务提供身份认证,为数据和其它资源提供保护。用户门户功能:为消费者和系统管理员提供对云计算环境的访问。
[0066] 服务水平管理功能:提供云计算资源的分配和管理,以满足必需的服务水平。服务水平协议(SLA)计划和履行功能:为根据SLA预测的对云计算资源未来需求提供预先安排和供应。
[0067] 工作负载层566提供云计算环境可能实现的功能的示例。在该层中,可提供的工作负载或功能的示例包括:地图绘制与导航;软件开发及生命周期管理;虚拟教室的教学提供;数据分析处理;交易处理;以及语境处理。
[0068] 此处描述的技术效果和有益实施例涉及通过数据流的后续处理迭代(即,后续过滤、合并和修改)将源和变更信息保存到日志中。
[0069] 此处使用的术语只是为了描述特定的实施例并且并非旨在作为本发明的限制。如此处所使用的,单数形式“一”、“一个”和“该”旨在同样包括复数形式,除非上下文明确地另有所指。还将理解,当在此说明书中使用时,术语“包括”和/或“包含”指定了声明的特征、整数、步骤、操作、元素和/或组件的存在,但是并不排除一个或多个其它特征、整数、步骤、操作、元素、组件和/或其组合的存在或增加。
[0070] 以下的权利要求中的对应结构、材料、操作以及所有功能性限定的装置(means)或步骤的等同替换,旨在包括任何用于与在权利要求中具体指出的其它单元相组合地执行该功能的结构、材料或操作。所给出的对本发明的描述其目的在于示意和描述,并非是穷尽性的,也并非是要把本发明限定到所表述的形式。对于所属技术领域的普通技术人员来说,在不偏离本发明范围和精神的情况下,显然可以作出许多修改和变型。对实施例的选择和说明,是为了最好地解释本发明的原理和实际应用,使所属技术领域的普通技术人员能够明了,本发明可以有适合所要的特定用途的具有各种改变的各种实施方式。