一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

基于加权知识图的视频分段的制作方法

2022-07-14 02:51:37 来源:中国专利 TAG:

基于加权知识图的视频分段


背景技术:

1.本公开涉及视频分段,并且更具体地,涉及基于在视频中识别的实体之间的关系来将视频分段。
2.视频包括时间相关的图像数据(例如,视频帧中的图形图像),通常伴随有音频数据(例如,语音、音乐和其他噪声)。文本可以以诸如字幕、副标题、经由语音到文本引擎从语音数据中提取的文本、脚本、转录等的形式伴随该数据。视频可以基于从图像、音频和/或文本数据中提取的诸如实体(例如,特定的人、动物、无生命对象等)和其他特征(例如,讨论的主题、位置/设置、语言、音乐等)之类的内容而被分段成多组帧。例如,可以基于电影中的位置的内容特性(例如,语言、风景等)来检测该位置。描绘这种设置的视频帧可以被分组以形成段。这通常由视频镜头检测分段来执行。然而,这没有考虑视频中的在多于一个镜头中出现的场景或者包括多于一个场景的镜头。


技术实现要素:

3.本发明提供了根据权利要求1所述的方法,以及根据权利要求8和9所述的相应的系统和计算机程序产品。
附图说明
4.图1是示出根据本公开的一些实施例的视频分段环境的框图;
5.图2是示出根据本公开的一些实施例的将视频分段的过程的流程图;
6.图3a是示出根据本公开的一些实施例的识别视频中的实体关系的过程的示意图;
7.图3b是示出根据本公开的一些实施例的生成文本知识图和图像知识图的过程的示意图;
8.图3c是示出根据本公开的一些实施例的生成加权知识图的过程的示意图;
9.图4是示出根据本公开的一些实施例的计算机系统的框图;
10.图5是示出根据本公开的一些实施例的云计算环境的框图;
11.图6是示出根据本公开的一些实施例的由云计算环境提供的一组功能抽象模型层的框图。
具体实施方式
12.视频分段是将视频帧分组成相关段的过程。这允许定位视频的特定部分(例如,响应于用户查询)。可以基于镜头过渡检测来对视频进行时间分段。视频镜头是相互关联并且表示连续动作的一系列连续帧。可以基于视觉或音乐不连续性、相机动作等来检测镜头过渡。然而,当涉及定位视频内的特定场景/故事时,基于镜头过渡的视频分段经常是不准确的。
13.例如,当场景包括多个镜头或当镜头包括多个场景时,镜头过渡技术经常失败。例如,费用系统训练视频可包括描述如何注册用户、如何附加票、以及如何输入费用的场景。
用户可能希望通过搜索包括该场景的段来定位用于如何输入费用的指令。然而,如果段仅包括连续帧和/或单个镜头,则当前自动分段技术会排除视频的与该场景相关的部分。例如,视频中可以存在与场景之一相关的多于一个的非连续帧集合。因此,当用户采用现有技术来搜索与例如在费用系统中附加票有关的场景时,视频的与该场景有关的帧会被从针对该场景生成的段中省略。
14.本文公开了用于将视频分段成场景的技术。所公开的技术包括使用加权知识图来识别以规则间隔(例如,每集合十个帧)划分的连续帧集合内的相关实体对。这些帧集合在本文中被称为“图片”。然后,包含相关实体的帧被分组成段。例如,视频可以存在100个帧,帧51-53和61-70中的每一个可以包括一对相关实体,即,人a和人b。该对相关实体在本文中被称为“实体关系”。在该示例中,实体关系在加权知识图上具有大于阈值关系权重的关系权重。权重大于阈值关系权重的实体关系在本文中被称为“顶部关系(top relation)”。因为帧51-53和61-70包括顶部关系,所以这些帧可以被分组到一个视频段中。包括其它顶部关系的帧可以被分组到附加段中。包括不是顶部关系的实体关系的帧可以被链接到具有最近链接帧的段。例如,如果除顶部关系之外的实体关系被包括在帧51-60中,则这些帧可以被链接到上述段以形成包括帧51-70的段。
15.图1是示出根据本公开的一些实施例的视频分段环境100的框图。视频分段环境100包括视频110和用于将视频110分段的分段模块120。分段模块120包括提取组件140、绘图组件150以及分组组件160。
16.视频110可以根据任何适当的文件格式标准来编码,例如音频视频交织(avi)、波形音频(wav)、动画(ani)、音频交换文件格式(aiff)、图形交换格式(gif)、运动图像专家组(mpeg,例如mpeg-4)、8位采样语音(8svx)等。视频110包括帧,其中的一个或多个帧描绘诸如人、动物和/或无生命对象之类的实体。视频110还包括字幕、副标题、转录、计算机可读语音数据等形式的文本数据。视频110包括至少一组连续帧,每个组在文本中被称为“图片”。这将在下面更详细地讨论。
17.提取组件140从视频110的图像数据中提取实体和实体关系。实体可以包括特定的人、动物、无生命对象等。实体关系被分配给从同一个图片中提取的每对实体。提取组件140可以使用各种图像识别技术来识别实体,诸如基于区域的卷积神经网络(r-cnn)、尺度不变特征变换(sift)、实时对象检测技术、模式检测、边缘/轮廓/脊检测、直方图分析等。还可以存在不包括实体的一个或多个图片。例如,可以基于面部识别来识别实体。在这些情况下,在仅包括诸如风景的特征的图片中将没有识别出的实体。
18.提取组件140将实体映射到这些实体从中被提取的图片。例如,提取组件140可以确定第一图片(“图片1”)描绘第一人和鸟,第二图片(“图片2”)描绘第二人和鸟,而第三图片(“图片3”)包括第一人、第二人和鸟。然后,可以基于图像数据建立以下实体关系:第一人/鸟(图1和3)、第二人/鸟(图2和3)、以及第一人/第二人(图3)。
19.提取组件140还识别来自视频110的文本和/或音频(例如,语音)数据中的实体和实体关系。所提取的文本可以包括与视频相关联的字幕或其他文本(例如,副标题、转录等)。来自所提取的音频内容的语音数据可由至少一个语音到文本引擎(例如,使用诸如人工神经网络、卷积神经网络、统计建模、隐马尔可夫模型(hmm)、基于格的分析、基于熵的语音分段算法、cmusphinx之类的技术)转换成机器编码的文本。提取组件140还可以从通过使
用诸如光学字符识别(ocr)或智能字符识别(icr)之类的技术将在视频110帧中检测到的字符(例如,字母、数字、标点符号等)转换成机器编码的文本而获得的文本中提取特征。例如,提取组件140可以识别印制在诸如建筑物标志、书籍封面之类的对象上的文本。
20.实体可以在文本中以各种方式被识别。例如,提取组件140可以识别诸如角色姓名之类的关键词。此外,诸如字幕、脚本之类的文本可以识别哪个角色(实体)正在说出文本的每个部分。在一些实施例中,还可以使用文本无关和/或文本相关的说话者识别技术(例如,频率估计、线性预测编码(lpc)、hmm、高斯混合模型、模式匹配算法、神经网络、矩阵表示、矢量量化、决策树等)在语音音频数据中识别实体。
21.此外,提取组件140将实体映射到与这些实体从中被提取的文本相关联的视频帧。这些帧可以与向特定实体所讲的、由特定实体所讲的或关于特定实体所讲的文本相关联。回到涉及视频110的图片1-3的先前示例,视频110可以以10帧间隔被划分成图片,并且图片3可以包括帧21-30。在该图片中,帧21-24可以包括由第一人向第二人说出的文本(例如,“hello”),而帧27-29可以包括由第二人向第一人说出的关于鸟的句子(例如,“看那只鸟”)。基于实体和相关联的帧,提取组件140可以识别以下实体关系:第一人/第二人(帧21-24和27-29)、第一人/鸟(帧27-29)、以及第二人/鸟(帧27-29)。
22.绘图组件150基于在所提取的图像和文本数据中识别的实体和实体关系来生成图像知识图和文本知识图。绘图组件150还基于图像知识图和文本知识图来生成加权知识图。加权知识图包括针对文本和图像数据中的实体的每个实体关系。实体关系基于每个关系的出现频率而被加权。再次参考前面的示例,第一人/鸟的实体关系的权重可以相对于其它两个关系被增大,因为它出现在两个图片(图片1和3)中。第一人/鸟的实体关系的权重可以进一步被增大,因为它在图3中出现两次(帧21-24和27-29)。图3a-3c示出了知识图的示例。
23.分组组件160基于加权知识图中的加权实体关系,将视频帧分组成段。为此,分组组件160识别顶部实体关系。顶部实体关系是加权知识图中具有高于阈值关系权重值的权重的实体关系。阈值可以是预设值或用户输入值。在一些实施例中,可以基于期望段大小和/或选择性来调整阈值。与关系权重高于阈值的每个实体关系相对应的帧被一起分组成段。仅对应于剩余实体关系(其具有在阈值以下的关系权重)的帧被与最近时间链接帧分组在一起。如果存在多于一个的段与具有剩余实体关系的帧的距离相同,则该帧可以与具有最高权重值的顶部实体关系的段被分组在一起。参考图3c更详细地讨论了关系权重值和分组段的示例。
24.图2是示出根据本公开的一些实施例的将视频进行分段的过程200的流程图。为了说明过程200,但不限制实施例,在图1的视频分段环境100的上下文中描述图2,其中图2中所示的元件与图1中所示的元件相同,在两个图中使用相同的参考标号。
25.当接收到视频110时,过程200开始。这在步骤210中示出。参考图1更详细地讨论视频格式。视频110的至少一个帧描绘了两个或更多个实体(例如,人、动物、动画人物等)。此外,至少一个帧与涉及至少两个实体的文本数据相关联。在一些实施例中,文本数据来自字幕、副标题、脚本等。文本也可以来自音频数据,诸如所录制的对话或解说。视频110以规则的间隔被划分以形成在本文中被称为“图片”的帧集合。每个图片中的帧的数量可以由用户预先设置和/或选择。在一些实施例中,每个图片有10个帧,但是图片间隔可以包括任何数量的连续帧(例如,24个帧、30个帧、100个帧、120个帧、240个帧、300个帧、500个帧、1,000个
帧等)。
26.基于在视频110中识别的实体和实体关系,生成文本知识图和图像知识图。这在步骤220中示出。实体和实体关系是在由提取组件140从视频110中提取的文本和图像数据中识别的。参考图1更详细地讨论数据的提取以及实体和实体关系的识别。基于实体关系,绘图组件150生成链接出现在相同图片中的实体的图像知识图。可向每个图片分配图片编号n,其可为大于零的整数(例如,图片1、图片2、图片3等)。每个所链接的实体对在此被称为“实体关系”。图像知识图还可以指示其中出现每个实体关系的图片的数目。参考图1和3a更详细地讨论图像知识图的生成。
27.文本知识图包括在由提取组件140提取的文本数据中识别的实体和实体关系。例如,当从视频110中提取了包括两个实体之间的对话的文本时,可以在文本知识图中建立实体关系。文本知识图还可以指示在文本数据中识别的每个实体关系的出现次数,以及哪些帧与这些出现相关联。参考图1和3b更详细地讨论文本知识图的生成。
28.然后,生成加权知识图。这在步骤230中示出。加权知识图由绘图组件150生成,并且包括来自图像知识图和文本知识图两者的实体关系。绘图组件150基于实体关系出现在其中的图片的数目和/或实体关系在文本数据中出现的数目来对每个实体关系进行加权。参考图1和3c更详细地讨论加权知识图。
29.包括来自加权知识图的顶部关系的帧被分组成视频段。这在步骤240中示出。分组组件160识别加权知识图中的顶部关系。顶部关系是关系权重大于阈值关系权重的实体关系。在步骤240形成的每个视频段包括其中已经识别出至少一个顶部关系的帧。在参考图1讨论的示例中,其中视频110具有图片1、2和3,顶部关系可以是第一人/鸟。因此,可以针对帧21-24和27-29生成段,因为这些帧包括第一人/鸟实体关系。参考图1和3c更详细地讨论基于关系权重进行分组的示例。
30.当已经针对顶部关系生成了视频段时,确定是否仍然存在尚未被分组到段中的帧。这在步骤250中示出。如果确定没有剩余帧,则过程200可以结束。然而,如果存在剩余帧,则剩余帧被添加到在步骤240形成的具有最近帧的段。这在步骤260中示出。剩余帧是包括具有比关系权重阈值低的关系权重的实体关系的帧。剩余帧不包括顶部关系。在包括帧1-90的视频110的示例中,在步骤240,可以针对顶部关系而生成包括帧20-35和帧45-90的段。在步骤250,可以确定帧36-44是剩余帧。然后,在步骤260,这些帧可以被添加到具有帧20-35和45-90的段,因为该段包括最近帧。如果存在具有与一个或多个剩余帧距离相同的帧的段,则剩余帧可以与具有较大关系权重的实体关系的段被分组在一起。当剩余帧中的每一个已经被添加到视频段时,过程200结束。
31.图3a-3c是示出根据本公开的一些实施例的针对视频分段而生成知识图的过程300、301和302的示意图。为了说明过程300-302,但不限制实施例,在图1的视频分段环境100和图2的过程200的上下文中描述图3a-3c。其中图3a-3c中所示的元件与图1和2中所示的元件相同,在每个图中使用相同的参考标号。
32.图3a是示出根据本公开的一些实施例的识别视频110中的实体关系的过程300的示意图。提取组件140(图1)从视频110中提取文本数据310,以及识别数据310中的实体和实体关系。从文本数据310中提取的实体在表320中示出,其包括列322、324和326。列322包括数字(1-8),每个数字指示文本数据310中至少一个实体关系的出现。文本310的包括出现的
部分均与一个或多个视频帧相关联。与列322中的出现相对应的视频帧由列324中的帧号来标识。列326包括在每次出现时被包括在实体关系中的实体的名称。基于表320,从文本数据310中提取的实体关系包括sarah/geoff(出现1)、thuy/geoff(出现2、4和5)、thuy/sarah(出现3)、thuy/cheryl(出现4和5)、cheryl/geoff(出现4和5)、barbara/hannah(出现6)、以及daniele/william(出现7和8)。
33.提取组件140还从视频110中提取图像数据330。从图像数据330中提取的实体和实体关系在表340中示出,其包括列342、344和346。列342包括图片编号1-10,每个图片编号对应于视频110的一组十个连续帧。列344包括每个图片中所包括的帧的数目。列346包括在每个图片中被识别的实体的名称。基于表340,在图像数据330中识别的实体关系包括sarah/geoff(图片1和3)、sarah/kim(图片1)、geoff/kim(图片1)、thuy/kim(图片2)、thuy/cheryl(图片4和5)、barbara/ned(图片6)、barbara/hannah(图片7)、barbara/rita(图片7)、rita/hannah(图片7)、daniele/william(图片8)、daniele/ellen(图片8和9)、以及william/ellen(图片8和10)。
34.图3b是示出根据本公开的一些实施例的生成文本知识图350和图像知识图360的过程301的示意图。参考过程200的步骤220更详细地讨论可以用于执行过程301的技术。图像知识图和文本知识图350和360分别由绘图组件150(图1)基于来自表320和340(图3a)的数据而生成。每个知识图350和360中的节点表示实体,并且节点中的字母分别是表320(列326)和表340(列346)中列出的实体的第一首字母。
35.每个知识图350和360中的线表示实体关系。来自表320的信息(例如,出现次数和相应的帧)可以与文本知识图350中的线相关联。例如,表示sarah/geoff(s/g)实体关系的线可以被链接到指示存在s/g实体关系的一个出现并且该出现在帧1-3中的信息。此外,表340中的图片编号(列342)和相应的帧(列344)可以与图像知识图360中的线相关联。例如,s/g实体关系可以被链接到指示sarah和geoff都出现在对应于帧1-10和21-30的图片1和3中的信息。参考过程200的步骤210和220更详细地讨论可以用于执行过程300和301的技术。
36.图3c是示出根据本公开的一些实施例的生成加权知识图370的过程302的示意图。加权知识图370包括表示顶部关系的实线和表示剩余实体关系的虚线。参考过程200的步骤230至260更详细地讨论可以用于执行过程302的技术。加权知识图370由绘图组件150生成,绘图组件150计算文本知识图350和图像知识图360(图3b)中的实体和实体关系的集合的并集。这可以由以下等式表示:
37.{entities
weighted kg
}={entities
text kg
}∪{entities
image kg
}
38.{relations
weighted kg
}={relations
text kg
}∪{relations
image kg
}其中“kg”代表“知识图”。
39.绘图组件150基于实体关系在文本知识图和图像知识图350和360中出现的次数来确定每个实体关系的关系权重。例如,用于实体关系的关系权重可以使用以下等式来计算:
[0040][0041]
其中,weightr为关系权重,iweightr为实体关系在图像知识图360中的出现计数,tweightr为实体关系在文本知识图350中的出现计数,以及σ
p
为图像知识图360对加权知识图350的影响因子。表380包括针对加权知识图370中的实体关系(列384)而计算的顶部关系
权重(列382),以及包含每个实体关系的视频帧(列386)。具有低于阈值的weightr值(例如,weightr=0.05)的剩余实体关系未在表380中示出。
[0042]
与表380中的顶部关系相对应的帧(列386)由分组组件160(图1)分组成视频段。在图3c所示的示例中,视频110(图1和3a)可以被分成三个段。第一段可以包括帧1-10和21-50,其包括顶部关系实体thuy、cheryl、geoff和sarah(节点t、c、s和g)。第二段可以包括帧51-53和61-70,其包括顶部关系实体barbara和hannah(节点b和h)。第三视频段可包括帧71-100,其包括顶部关系实体daniele、william和ellen(节点d、w和e)。
[0043]
当具有顶部关系的帧被分组在一起时,分组组件160可确定帧11-20和51-60剩余并且尚未被链接到段。然后,剩余帧被链接到具有最近帧的段。帧11-20最接近帧1-10和21-50,因此可以被链接到第一段。此外,帧51-60最接近帧51-53和61-70,因此被链接到第二段。当每个帧已被分组时,第一段包括帧1-50,第二段包括帧51-70,以及第三段包括帧71-100。
[0044]
图4是示出了可以用于实现本文描述的方法、工具、组件和任何相关功能中的一个或多个(例如,使用计算机的一个或多个处理器电路或计算机处理器)的示例性计算机系统400的框图。在一些实施例中,计算机系统400的主要组件包括一个或多个处理器402、存储器子系统404、终端接口412、存储接口416、输入/输出设备接口414、以及网络接口418,所有这些组件可以直接或间接地被通信耦接,以便经由存储器总线403、输入/输出总线408、总线接口单元407、以及输入/输出总线接口单元410进行组件间通信。
[0045]
计算机系统400包含一个或多个通用可编程中央处理单元(cpu)402-1、402-2和402-n,在此统称为cpu 402。在一些实施例中,计算机系统400包含相对大型系统的典型的多个处理器;然而,在其它实施例中,计算机系统400可以替代地是单cpu系统。每个cpu 402可以执行存储在存储器子系统404中的指令,并且可以包括一级或多级板载高速缓存。
[0046]
存储器404可以包括用于存储或编码数据和程序的随机存取半导体存储器、存储设备或存储介质(易失性或非易失性)。在一些实施例中,存储器404表示计算机系统400的整个虚拟存储器,并且还可以包括耦接到计算机系统400或经由网络连接的其他计算机系统的虚拟存储器。存储器404在概念上是单个单片实体,但是在其他实施例中,存储器404是更复杂的布置,诸如高速缓存和其他存储设备的分层结构。例如,存储器可存在于多级高速缓存中,并且这些高速缓存可进一步按功能划分,以使得一个高速缓存保存指令,而另一个高速缓存保存由一个或多个处理器使用的非指令数据。存储器还可以是分布式的并且与不同的cpu或cpu组相关联,如在各种所谓的非均匀存储器存取(numa)计算机体系结构中的任何一种中所公知的。
[0047]
这些组件被示为被包括在计算机系统400中的存储器404内。然而,在其他实施例中,这些组件中的一些或全部可以在不同的计算机系统上,并且可以例如经由网络被远程访问。计算机系统400可以使用虚拟寻址机制,该机制允许计算机系统400的程序表现为好像它们仅访问大型单个存储实体而不是访问多个较小的存储实体。因此,虽然分段模块120被图示为被包括在存储器404内,但是存储器404的组件不必同时全部完全包含在同一个存储设备中。此外,尽管这些组件被示为单独的实体,但在其他实施例中,这些组件中的一些组件、这些组件中的一些组件的多个部分、或所有这些组件可被封装在一起。
[0048]
在实施例中,分段模块120包括在处理器402上执行的指令或由在处理器402上执
行的指令解释的指令以执行如在本公开中进一步描述的功能。在另一个实施例中,替代基于处理器的系统或除了基于处理器的系统之外,分段模块120经由半导体器件、芯片、逻辑门、电路、电路卡和/或其它物理硬件设备在硬件中实现。在另一个实施例中,除了指令之外,分段模块120还包括数据。
[0049]
尽管存储器总线403在图4中被示为在cpu 402、存储器子系统404、显示系统406、总线接口407和输入/输出总线接口410之间提供直接通信路径的单个总线结构,但是在一些实施例中,存储器总线403可以包括多个不同的总线或通信路径,其可以以各种形式中的任何形式来布置,诸如分层的、星形或网状配置中的点对点链路、多个分层总线、并行和冗余路径、或任何其他适当类型的配置。此外,虽然输入/输出总线接口410和输入/输出总线408被示为单个相应单元,但是在一些实施例中,计算机系统400可包含多个输入/输出总线接口单元410、多个输入/输出总线408或两者。此外,虽然示出了将输入/输出总线408与延伸到各个输入/输出设备的各个通信路径分开的多个输入/输出接口单元,但是在其他实施例中,输入/输出设备中的一些或全部可以直接连接到一个或多个系统输入/输出总线。
[0050]
计算机系统400可以包括总线接口单元407以处理在处理器402、存储器404、显示系统406和输入/输出总线接口单元410之间的通信。输入/输出总线接口单元410可以与输入/输出总线408耦接以用于向和从各种输入/输出单元传送数据。输入/输出总线接口单元410通过输入/输出总线408与多个输入/输出接口单元412、414、416和418通信,这些输入/输出接口单元也被称为输入/输出处理器(iop)或输入/输出适配器(ioa)。显示系统406可以包括显示控制器。显示控制器可以向显示设备405提供视觉、音频或这两种类型的数据。显示系统406可以与显示设备405(诸如独立显示屏、计算机监视器、电视机、或者平板或手持设备显示器)耦接。在替代实施例中,由显示系统406提供的功能中的一个或多个可以在处理器402集成电路板上。另外,由总线接口单元407提供的功能中的一个或多个可以在处理器402集成电路板上。
[0051]
在一些实施例中,计算机系统400是多用户大型计算机系统、单用户系统、或服务器计算机或具有很少或没有直接用户接口但从其它计算机系统(客户端)接收请求的类似设备。此外,在一些实施例中,计算机系统400被实现为台式计算机、便携式计算机、膝上型或笔记本计算机、平板计算机、袖珍计算机、电话、智能电话、网络交换机或路由器、或任何其他适当类型的电子设备。
[0052]
注意,图4旨在描绘示例性计算机系统400的代表性主要组件。然而,在一些实施例中,各个组件可以具有比图4中所表示的更大或更小的复杂度。可以存在不同于图4中所示的组件或除其之外的组件,并且这些组件的数量、类型和配置可以变化。
[0053]
在一些实施例中,本文描述的数据存储和取得过程可以在云计算环境中实现,这将在下面参考图4和5描述。将理解,尽管本公开包括有关云计算的详细描述,但是本文叙述的教导的实现不限于云计算环境。相反,本发明的实施例能够结合现在已知或以后开发的任何其它类型的计算环境来实现。
[0054]
云计算是一种服务交付模式,用于对共享的可配置计算资源池进行方便、按需的网络访问。可配置计算资源是能够以最小的管理成本或与服务提供者进行最少的交互就能快速部署和释放的资源,例如可以是网络、网络带宽、服务器、处理、内存、存储、应用、虚拟机和服务。这种云模式可以包括至少五个特征、至少三个服务模型和至少四个部署模型。
[0055]
特征包括:
[0056]
按需自助式服务:云的消费者在无需与服务提供者进行人为交互的情况下能够单方面自动地按需部署诸如服务器时间和网络存储等的计算能力。
[0057]
广泛的网络接入:计算能力可以通过标准机制在网络上获取,这种标准机制促进了通过不同种类的瘦客户机平台或厚客户机平台(例如移动电话、膝上型电脑、个人数字助理pda)对云的使用。
[0058]
资源池:提供者的计算资源被归入资源池并通过多租户(multi-tenant)模式服务于多重消费者,其中按需将不同的实体资源和虚拟资源动态地分配和再分配。一般情况下,消费者不能控制或甚至并不知晓所提供的资源的确切位置,但可以在较高抽象程度上指定位置(例如国家、州或数据中心),因此具有位置无关性。
[0059]
迅速弹性:能够迅速、有弹性地(有时是自动地)部署计算能力,以实现快速扩展,并且能迅速释放来快速缩小。在消费者看来,用于部署的可用计算能力往往显得是无限的,并能在任意时候都能获取任意数量的计算能力。
[0060]
可测量的服务:云系统通过利用适于服务类型(例如存储、处理、带宽和活跃用户帐号)的某种抽象程度的计量能力,自动地控制和优化资源效用。可以监测、控制和报告资源使用情况,为服务提供者和消费者双方提供透明度。
[0061]
服务模型如下:
[0062]
软件即服务(saas):向消费者提供的能力是使用提供者在云基础架构上运行的应用。可以通过诸如网络浏览器的瘦客户机接口(例如基于网络的电子邮件)从各种客户机设备访问应用。除了有限的特定于用户的应用配置设置外,消费者既不管理也不控制包括网络、服务器、操作系统、存储、乃至单个应用能力等的底层云基础架构。
[0063]
平台即服务(paas):向消费者提供的能力是在云基础架构上部署消费者创建或获得的应用,这些应用利用提供者支持的程序设计语言和工具创建。消费者既不管理也不控制包括网络、服务器、操作系统或存储的底层云基础架构,但对其部署的应用具有控制权,对应用托管环境配置可能也具有控制权。
[0064]
基础架构即服务(iaas):向消费者提供的能力是消费者能够在其中部署并运行包括操作系统和应用的任意软件的处理、存储、网络和其他基础计算资源。消费者既不管理也不控制底层的云基础架构,但是对操作系统、存储和其部署的应用具有控制权,对选择的网络组件(例如主机防火墙)可能具有有限的控制权。
[0065]
部署模型如下:
[0066]
私有云:云基础架构单独为某个组织运行。云基础架构可以由该组织或第三方管理并且可以存在于该组织内部或外部。
[0067]
共同体云:云基础架构被若干组织共享并支持有共同利害关系(例如任务使命、安全要求、政策和合规考虑)的特定共同体。共同体云可以由共同体内的多个组织或第三方管理并且可以存在于该共同体内部或外部。
[0068]
公共云:云基础架构向公众或大型产业群提供并由出售云服务的组织拥有。
[0069]
混合云:云基础架构由两个或更多部署模型的云(私有云、共同体云或公共云)组成,这些云依然是独特的实体,但是通过使数据和应用能够移植的标准化技术或私有技术(例如用于云之间的负载平衡的云突发流量分担技术)绑定在一起。
[0070]
云计算环境是面向服务的,特点集中在无状态性、低耦合性、模块性和语意的互操作性。云计算的核心是包含互连节点网络的基础架构。
[0071]
图5是示出根据本公开的一些实施例的云计算环境500的框图。如图所示,云计算环境500包括云消费者使用的本地计算设备可以与其通信的一个或多个云计算节点510,本地计算设备例如个人数字助理(pda)或蜂窝电话520-1、台式计算机520-2、膝上型计算机520-3和/或汽车计算机系统520-4。节点510之间可以相互通信。可以诸如如上所述的私有云、共同体云、公共云或混合云或者它们的组合的一个或者多个网络中将节点510进行物理或虚拟分组(图中未显示)。这样,云的消费者无需在本地计算设备上维护资源就能请求云计算环境500提供的基础架构即服务、平台即服务和/或软件即服务。应当理解,图6中所示的计算设备520-1至520-4的类型仅旨在说明,并且计算节点10以及云计算环境500可以与任意类型网络上和/或网络可寻址连接的任意类型的计算设备(例如使用网络浏览器)通信。
[0072]
图6是示出根据本公开的一些实施例的由云计算环境500提供的一组功能抽象模型层600的框图。首先应当理解,图6所示的组件、层以及功能都仅仅是示意性的,本发明的实施例不限于此。如图6所示,提供下列层和对应功能:
[0073]
硬件和软件层610包括硬件和软件组件。硬件组件的示例包括:主机611;基于risc(精简指令集计算机)架构的服务器612;服务器613;刀片服务器614;存储设备615;以及网络和联网组件616。在一些实施例中,软件组件包括网络应用服务器软件617和数据库软件618。
[0074]
虚拟化层620提供抽象层,从该抽象层可以提供虚拟实体的以下示例:虚拟服务器621;虚拟存储622;虚拟网络623,包括虚拟专用网络;虚拟应用和操作系统624;以及虚拟客户端625。
[0075]
在一个示例中,管理层630提供以下描述的功能。资源供应631提供用于在云计算环境中执行任务的计算资源和其它资源的动态获取。计量和定价632提供了在云计算环境内对资源的使用进行成本跟踪,并为此提供帐单和发票。在一个例子中,该资源可以包括应用软件许可。安全性为云的消费者和任务提供身份认证,为数据和其它资源提供保护。用户门户633为消费者和系统管理员提供对云计算环境的访问。服务水平管理634提供云计算资源分配和管理,以满足必需的服务水平。服务水平协议(sla)计划和履行635为根据sla预测的对云计算资源的未来需求提供预先安排和供应。
[0076]
工作负载层640提供了可以利用云计算环境的功能的示例。在该层中,可提供的工作负载或功能的示例包括:地图绘制和导航641;软件开发和生命周期管理652;虚拟教室的教学提供643;数据分析处理644;交易处理645;以及基于加权的知识图来将视频分段646。
[0077]
本公开可以是系统、方法和/或计算机程序产品。计算机程序产品可以包括其上具有计算机可读程序指令的计算机可读存储介质(或多个介质),计算机可读程序指令用于使处理器执行本公开的方面。
[0078]
计算机可读存储介质是可以保留和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质的示例可以包括电子存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或前述的任何合适的组合。计算机可读存储介质的更具体示例的非穷举列表包括以下项:便携式计算机磁盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可
擦除可编程只读存储器(eprom或闪存)、静态随机存取存储器(sram)、便携式光盘只读存储器(cd-rom)、数字多功能盘(dvd)、记忆棒、软盘、诸如上面记录有指令的打孔卡或凹槽中的凸起结构的机械编码装置,以及上述的任何适当组合。如本文所使用的计算机可读存储介质不应被解释为暂时性信号本身,诸如无线电波或其他自由传播的电磁波、通过波导或其他传输介质传播的电磁波(例如,通过光缆的光脉冲)、或通过导线传输的电信号。
[0079]
本文描述的计算机可读程序指令可以从计算机可读存储介质下载到相应的计算/处理设备,或者经由网络(例如因特网、局域网、广域网和/或无线网络)下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光传输光纤、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或网络接口从网络接收计算机可读程序指令,并转发计算机可读程序指令以存储在相应计算/处理设备内的计算机可读存储介质中。
[0080]
用于执行本公开的操作的计算机可读程序指令可以是汇编指令、指令集架构(isa)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,编程语言包括面向对象的编程语言(例如smalltalk、c 等)以及常规的过程式编程语言(例如“c”编程语言或类似的编程语言)。计算机可读程序指令可以完全在用户的计算机上执行,部分在用户的计算机上执行,作为独立的软件包执行,部分在用户的计算机上并且部分在远程计算机上执行,或者完全在远程计算机或服务器上执行。在后一种情况下,远程计算机可以通过任何类型的网络(包括局域网(lan)或广域网(wan))连接到用户的计算机,或者可以连接到外部计算机(例如,使用因特网服务提供商通过因特网)。在一些实施例中,包括例如可编程逻辑电路、现场可编程门阵列(fpga)或可编程逻辑阵列(pla)的电子电路可以通过利用计算机可读程序指令的状态信息来执行计算机可读程序指令以使电子电路个性化,以便执行本公开的各方面。
[0081]
本文参考根据本公开的实施例的方法、装置(系统)和计算机程序产品的流程图图示和/或框图来描述本公开的方面。将理解,流程图和/或框图的每个框以及流程图和/或框图中的框的组合可以由计算机可读程序指令来实现。
[0082]
这些计算机可读程序指令可以被提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器以产生机器,以使得经由计算机或其他可编程数据处理装置的处理器执行的指令创建用于实现流程图和/或框图的一个或多个框中指定的功能/动作的装置。这些计算机可读程序指令还可以存储在计算机可读存储介质中,其可以引导计算机、可编程数据处理装置和/或其他设备以特定方式工作,使得其中存储有指令的计算机可读存储介质包括制品,该制品包括实现流程图和/或框图的一个或多个框中指定的功能/动作的各方面的指令。
[0083]
计算机可读程序指令还可以被加载到计算机、其他可编程数据处理装置或其他设备上,以使得在计算机、其他可编程装置或其他设备上执行一系列操作步骤,以产生计算机实现的过程,使得在计算机、其他可编程装置或其他设备上执行的指令实现流程图和/或框图的一个或多个框中指定的功能/动作。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献