图形数据库的制作方法

文档序号:14033775阅读:421来源:国知局
图形数据库的制作方法



背景技术:

图形数据库把实体表示为顶点并且把实体之间的关系表示为连接两个顶点的边。

附图说明

现在将参考附图以非限定性示例的方式来描述示例,其中:

图1示出了装置的示例;

图2示出了非暂时性机器可读存储介质的示例;

图3是用于表示图形数据库中的查询结果的方法的示例的流程图;

图4图示出了扩展图形数据库的示例;

图5是用于表示图形数据库中的另外的查询结果的方法的示例的流程图;

图6图示出了扩展图形数据库的示例;

图7是在更新扩展图形数据库时使用的方法的示例的流程图;

图8图示出了扩展图形数据库的示例;

图9是在更新扩展图形数据库时使用的方法的示例的流程图;

图10是用于扩展图形数据库的方法的示例的流程图;并且

图11图示出了扩展图形数据库的示例。

具体实施方式

使用数据库的域的原始数据项来实现对图形数据库的查询的解析。查询处理牵涉遍历图形数据库中的顶点和边,以及检验那些顶点和边的属性。边和顶点的属性确定图如何被遍历并且哪些项被选择为包括在给定查询的结果集合中。

示例性图形数据库包括多个顶点,该多个顶点中的每个顶点表示相同类型的实体(在该示例中,员工)。每个顶点可以具有相关联的属性,其中属性是与通过该顶点所表示的实体相关的信息项。属性可以包括实体的属性的值。例如,图形数据库中的实体安(ann)具有女性的性别属性,因此表示安的顶点可以具有“女性”属性。通过边来表示雇员之间的友谊关系。在该示例中,安与约翰(john)和苏(sue)是朋友,约翰与安和瑞克(rick)是朋友,瑞克与约翰和戴夫(dave)是朋友,戴夫与瑞克是朋友,并且苏与安是朋友。因此,图形数据库包括连接安顶点和约翰顶点的边、连接安顶点和苏顶点的边、连接瑞克顶点和安顶点的边、连接瑞克顶点和约翰顶点的边、连接瑞克顶点和约翰顶点的边、以及连接瑞克顶点和戴夫顶点的边。

能够通过图形引擎来执行查询图形数据库(诸如在以上描述的示例性图形数据库)的处理。图形引擎包括处理模块以针对图形数据库中所包括的数据集来运行计算处理。

许多图形引擎把至少最新运行的查询的结果作为结果集合存储在与图形数据库完全地分离的缓存中。未被缓存的,或者已经被缓存一定量时间的结果集合被删除。

从缓存中提取结果例如用于输入到随后的查询可以牵涉检验所有缓存的元素,并且因此是计算密集的。

此外,当图形数据库中的实体发生改变时,在缓存中维持的结果集合不被更新,意味着希望重新使用那些结果集合以解析随后的查询时,那些结果集合可能不再有效。确定哪些缓存的结果集合会受图形数据库中的实体的任何给定改变的影响是困难的,这是因为在缓存的结果集合之间或者在原始数据项和特定结果集合之间没有维持的链接。而且,任何给定实体可以被包括在缓存中若干次(这是因为其可以属于若干结果集合),意味着保持跟踪实体和查询结果之间的“属于”关系可能牵涉执行缓存的完整扫描。

关于结果集合的缓存,技术挑战可能存在,这是因为缓存的结果集合它们自己不能使用图形引擎被查询。这意味着,用户不能容易地执行诸如确定结果集合之间的关系,或者细化结果集合之类的操作。代之以,在图形引擎的外部将此类操作执行为通过不同的处理模块实现的后处理操作。

本文公开的示例提供针对这些技术挑战的技术方案。在图1中图示出示例性装置20,例如,用于通过图形数据库的子图来表示对图形数据库的查询的结果集合。装置20包括处理器21和耦合到该处理器的存储器22。存储器22能够通过有线或无线通信链路23被耦合到处理器21。存储器22存储包括第一级顶点和第一级边的图形数据库。每个第一级边链接两个第一级顶点。每个第一级顶点表示实体,并且每个第一级边表示两个实体之间的关系。装置进一步包括由处理器21可执行的指令的指令集(未示出)。当指令集由处理器执行时,将:响应于生成对图形数据库的查询的结果集合,将第二级顶点添加到图形数据库,并且将第二级边(或多个第二级边)添加到图形数据库。第二级顶点表示查询的结果集合,并且每个第二级边将第二级顶点连接到第一级顶点。在一些示例中,通过存储器22来存储指令集。在一些示例中,通过存储器22以外的存储器来存储指令集。在一些示例中,装置20包括图形引擎。

图2图示出了编码有由处理器可执行的指令的非暂时性机器可读存储介质30的示例。非暂时性机器可读存储介质包括图形数据库。图形数据库包括第一级顶点和第一级边。每个第一级边链接两个第一级顶点。每个第一级顶点表示实体,并且每个第一级边表示两个实体之间的关系。在一些示例中,第一级顶点中的至少一个第一级顶点具有至少一个相关联的属性。在一些示例中,每个第一级顶点与类型相关联。在一些此类示例中,图形数据库是多分割的图形数据库,使得第一级顶点基于第一级顶点的类型能分割为两个或更多个独立的集合。

由机器可读存储介质30编码的指令包括当由处理器执行时使处理器进行以下项的指令:响应于生成对图形数据库的查询的结果集合,将第二级顶点添加到图形数据库;并且将第二级边(或多个第二级边)添加到图形数据库。第二级顶点表示查询的结果集合,并且每个第二级边将第二级顶点连接到第一级顶点。在一些示例中,非暂时性机器可读存储介质30包括图1中示出的装置20的存储器22。

图3图示出了方法的示例,在该方法中通过图形数据库的子图来表示对图形数据库的查询的结果集合。对包括第一级顶点和第一级边的图形数据库来执行该方法,每个第一级边链接两个第一级顶点,其中,每个第一级顶点表示实体,并且每个第一级边表示两个实体之间的关系。在一些示例中,第一级顶点中的至少一个第一级顶点具有至少一个相关联的属性。在一些示例中,每个第一级顶点与类型相关联。在一些此类示例中,图形数据库是多分割的图形数据库,使得第一级顶点基于第一级顶点的类型能分割为两个或更多个独立的集合。在一些示例中,当指令(例如,由非暂时性机器可读存储介质30编码的指令或者装置20的指令集中所包括的指令)由处理器执行时,使处理器实施图3的方法。

在第一框401中,例如通过将用查询语言公式化的查询递交到图形数据库的图形引擎来查询图形数据库,以生成结果集合。任何适当的查询语言能够用于公式化查询。

在第二框402中,响应于生成结果集合,例如通过图形数据库的图形引擎将第二级顶点和第二级边(或多个第二级边)添加到图形数据库。在一些示例中,当指令(例如,由非暂时性机器可读存储介质30编码的指令或者装置20的指令集中所包括的指令)由处理器执行时,使处理器将第二级顶点和第二级边添加到图形数据库。添加的第二级顶点表示查询的结果集合。每个第二级边将添加的第二级顶点连接到第一级顶点。在一些示例中,命名方案用于识别图形数据库中的第二级顶点。在一些此类示例中,每个第二级顶点与名称相关联,该名称包括查询(该查询生成通过命名的第二级顶点表示的结果集合)的查询参数和运算符的哈希编码(hashencoding)。

图4关于在段落15中的以上描述的示例性图形数据库图示出了该过程。基础图形数据库10的顶点(表示实体)包括第一级顶点11。连接第一级顶点对的基础图形数据库10中的边包括第一级边12(通过图4中的实线示出)。在该示例中,查询寻找通过友谊关系连接的并且具有小于40的年龄属性值的实体,并且结果集合包括安、约翰和瑞克。在该示例中,以数据流查询语言将查询公式化为:朋友.过滤器(年龄>40)。然而,在其他的示例中,能够以诸如密码之类的不同的基于非数据流的查询语言来公式化查询。

能够从图4看出,通过(例如,通过图形数据库的图形引擎)添加表示查询的结果的子图50,基础图10垂直地生长以创建扩展图。在一些示例中,当指令(例如,由非暂时性机器可读存储介质30编码的指令或者装置20的指令集中所包括的指令)由处理器执行时,使处理器添加子图。子图50包括第二级顶点51,其表示查询的结果集合。子图50还包括第二级边52(通过图4中的短划线示出),其把表示查询的结果集合中所包括的实体的第一级顶点连接到第二级顶点。换句话说,第二级顶点51表示结果集合中的实体的聚合。第二级边52表示包含关系,即,第一级顶点11(该第一级顶点11通过第二级边52连接到第二级顶点51)所表示的实体被包含于通过第二级顶点表示的结果集合中。在一些示例中,第二级边52表示双向包含关系,其在第一方向上包括“被包含在…中的”关系并且在第二方向上包括“包含”关系。

因此,在该示例中,把查询的结果集合添加到图形数据库本身而不是把其存储在分立的缓存中。这使得先前的结果集合能够被图形引擎容易地重新使用为针对另外的查询的输入。

图5图示出了查询扩展图——例如,通过图3的示例方法所创建的扩展图的方法的示例。在一些示例中,当以上关于图1和2提出的指令(例如,由非暂时性机器可读存储介质30编码的指令或者装置20的指令集中所包括的指令)由处理器执行时,使处理器实施图5的方法。

如上所述关于图3的框401和402执行框601和602,结果得到扩展图的创建,至少一个第二级顶点和至少一个第二级边。

在框603中,再次查询图形数据库(即,另外的查询被递交到图形数据库的图形引擎),导致生成另外的结果集合。在一些示例中,使用相同的查询语言来公式化另外的查询作为第一查询。任何适当的查询语言能够用于公式化另外的查询。在一些示例中,以与框601相同的方式执行框603。

在框604中,响应于生成另外的结果集合,例如,通过图形引擎把另外的第二级顶点和另外的第二级边(或多个另外的第二级边)添加到图形数据库。所添加的另外的第二级顶点表示另外的查询的结果集合。每个另外的第二级边将所添加的另外的第二级顶点连接到第一级顶点。在一些示例中,以与框602相同的方式执行框604。

然后,在框605中,将第三级边(或多个第三级边)添加到图形数据库。每个第三级边将所添加的另外的第二级顶点连接到已经存在于图形数据库中的第二级顶点。

图6关于示例性扩展图图4而图示出该过程。在该示例中,另外的查询寻求以性别来过滤先前的查询的结果(即,通过友谊关系连接的并且具有小于40的年龄属性值的实体)。因而,先前的查询的结果集合(即,朋友.过滤器(年龄>40))被用作另外的查询的输入(即,另外的查询的输入包括第一级顶点11和第二级顶点51)。在该示例中,以数据流查询语言将查询公式化为:朋友.过滤器(年龄>40).以(性别)分组。然而,在其他的示例中,能够以诸如密码之类的不同的基于非数据流的查询语言来公式化查询。

通过另外的查询生成两个结果集合:包括约翰和瑞克的男性结果集合,以及包括安的女性结果集合。两个另外的第二级顶点71已经被添加到子图50以创建扩展子图70。另外的第二级顶点71表示男性结果集合和女性结果集合。如同表示先前的查询的第二级顶点51,每个另外的第二级顶点71通过另外的第二级边72连接到表示该另外的第二级顶点所表示的结果集合中所包括的实体的第一级顶点。另外的第二级边72表示包含关系。在一些示例中,另外的第二级边72表示双向包含关系。

另外的第二级顶点71还通过父母身份关系链接到第二级顶点51。这在图70中借助于把每个另外的第二级顶点71连接到第二级顶点51的第三级边73表示。在一些示例中,当指令(例如,由非暂时性机器可读存储介质30编码的指令或者装置20的指令集中所包括的指令)由处理器执行时使处理器把第三级边连接到第二级顶点。通过图6中的虚线示出第三级边73。在该示例中,第三级边表示父子关系。在一些示例中,第三级边能够包括关联关系,其中表示关联关系的第三级边把高度地关联的两个结果集合链接。

在一些示例中,关于与图形数据库相关的所有另外的查询来执行由图5的框603-605所表示的过程。结果得到的扩展图包括包含所有原始数据项(即,其表示被分析的实体)的平坦的基础图(例如,图10),其已经通过添加表示已经对图形数据库执行的所有查询的结果集合的垂直分支而被垂直地扩展。

可以预期的是,在许多情形中,用户将以类似的方式探索图形数据库。例如,来自特定地理区域的用户可以常常应用过滤器,使得它们看见来自该区域的结果并且不看见来自其他区域的结果。在这样的情形中,常常可能的是,重新使用在图形数据库中已经通过第二级顶点表示的查询结果。因此,在示例中,对查询进行解析不牵涉重新创建先前计算的结果集合,也不牵涉关于缓存(其包含n个元素)中的所有结果执行o(n)比较来了解给定结果是否被保持在该缓存中。代之以,在示例中,图形引擎通过分析扩展图来检查可以用作新近接收的查询的输入的在先的计算是否存在。与重新计算先前的结果集合和/或搜索先前的结果集合的缓存相比,分析扩展图明显是计算较不密集的。

如通过示例所进行的以第二级顶点和第二级边的形式将查询结果集合添加到图形数据库的另外的效果是:与现有技术缓存更新处理相比较,更新存储的结果集合以考虑以图形数据库表示的实体的改变的过程有所简化。

图7图示出了在更新后的扩展图——例如,通过图3的示例方法或通过图5的示例方法所创建的扩展图时使用的示例性方法。在一些示例中,当以上关于图1和2提出的指令(例如,由非暂时性机器可读存储介质30编码的指令或者装置20的指令集中所包括的指令)由处理器执行时,使处理器实施图7的方法。

如上所述关于图3的框401和402执行框801和802,结果得到扩展图的创建,包含至少一个第二级顶点和至少一个第二级边。

在框803中,例如,通过图形引擎检测到通过第一级顶点表示的实体的改变。在一些示例中,当指令(例如,由非暂时性机器可读存储介质30编码的指令或者装置20的指令集中所包括的指令)由处理器执行时,使处理器检测改变。在一些示例中,改变包括将实体添加到图形数据库(以及因此将图添加到表示实体的第一级顶点)。在一些示例中,改变包括从图形数据库中移除实体(以及因此,从图中删除表示实体的第一级顶点)。在一些示例中,改变包括实体的属性的值的改变(以及因此表示实体的第一级顶点的属性的值的改变)。

在一些示例中,检测实体的改变包括图形引擎检测到新的信息已经被添加到图形数据库。在一些此类示例中,新的信息包括关于对于图形数据库中的实体所发生的改变、添加,和/或删除的信息。在一些示例中,检测实体的改变包括图形引擎执行图形数据库的完整扫描并且将结果与先前执行的扫描的结果相比较。在特定示例中,图形引擎包括数据摄取组件,其负责使用通过每个给定顶点所表示的实体的属性来创建和更新图中的顶点。摄取组件将实体的当前属性与图中的对应的顶点相比较,并且检测改变(是否发现至少一个属性不同)。以类似方式,摄取组件可以检测到顶点不再与实体相对应,或者已经创建了在图中不具有对应的顶点的新的实体。

在一些示例中,图形引擎包括规则以用于定义第一集合的属性(如果那些属性之一的值改变,则该第一集合的属性被认为造成实体的改变(为了图7的方法的目的)),以及第二集合的属性(如果那些属性之一的值改变,则该第二集合的属性被认为不造成实体的改变(为了图7的目的))。在此类示例中,包括在第一集合中的属性的改变能够使图中的顶点和边(例如,通过改变指示的关联)被标记为脏(dirty)和/或被重新计算,而包括在第二集合中的属性的改变不能使图中的顶点和边被标记为脏和/或重新计算。在一些示例中,包括在第一集合和第二集合中的特定属性取决于查询的上下文背景。例如,表示虚拟机(vm)的实体可以包含反映当前cpu利用的属性。该属性的值将非常频繁地改变,这意味着响应于vm实体的cpu利用属性的每个改变重新计算图将牵涉显著的计算资源。表示测量的度量的属性(例如,cpu利用属性)将不与特定类型的查询相关,并且对于这些查询类型,cpu利用属性和其他表示测量的度量的属性能够被包括在第二集合的属性中。对于其他查询类型,表示测量的度量的属性可以被包括在第一集合的属性中。提供定义哪些属性被认为造成实体的改变的规则能够避免大量的重新计算。

响应于通过第一级顶点表示的实体的改变,使改变指示与表示改变的实体的第一级顶点相关联(框804)。在一些示例中,当指令(例如,由非暂时性机器可读存储介质30编码的指令或者装置20的指令集中所包括的指令)由处理器执行时,使处理器使改变指示与第一级顶点(或其他顶点)相关联。改变指示还与连接到表示改变的实体的第一级顶点的每个第二级顶点相关联,并且与连接到表示改变的实体的第一级顶点的每个第二级边相关联(框805)。然后,在框806中,改变指示与连接到在框805中改变指示已经被相关联到其的第二级顶点的每个第二级顶点相关联。在一些示例中,(即,其中已经具有与它们相关联的改变指示的至少一对第二级顶点通过第三级边被连接的示例),执行另外的框807,其中改变指示还与将两个第二级顶点连接的每个第三级边相关联,该两个第二级顶点中的每个第二级顶点在804框或框805中均已经具有与它们相关联的改变指示。在一些示例中,改变指示包括标志。

图8关于图6的示例性扩展图而图示出图7的过程。在该示例中,实体“安”的属性改变,并且如上关于图7的框803所述检测到该改变。响应于该改变,(例如,通过图形引擎)跟随连接到表示安的第一级顶点11的第二级边72。通过跟随连接到安的第二级边72而找出的第二级顶点71然后被标记为“脏”(即,改变指示与通过第二级边连接到安的第二级顶点相关联)。在图8中,脏边和顶点(即,具有相关联的改变指示的那些定点)通过星标来标记。在图8中示出的特定示例的一些示例中,连接到脏第一级顶点的第二级边72也被标记为脏。然后,跟随连接到脏第二级顶点71的第三级边73,并且连接到被跟随的第三级边的第二级顶点被标记为脏。在图8中示出的特定示例的一些示例中,连接到两个脏第二级顶点71的第三级边73也被标记为脏。因而,“脏部分”沿着与改变的实体和其中涉及改变的实体的询问相关联的包含和父母身份关系扩散。结果,“脏部分”被限定为包括直接地受安实体的改变影响的顶点和边的子图。用这样的方式限定脏部分的范围能够加速脏边和顶点的随后的重新计算。

图9图示出了在更新扩展图(例如,通过图3的示例方法或通过图5的示例方法所创建的扩展图)时使用的方法的示例。在一些示例中,当以上关于图1和2提出的指令(例如,由非暂时性机器可读存储介质30编码的指令或者装置20的指令集中所包括的指令)由处理器实施时使处理器实施图9的方法。

如上所述关于图5的框601到604执行框1001到1004,结果得到扩展图的创建,包含至少一个第二级顶点和至少一个第二级边。在框1005中,例如通过图形数据库的图形引擎确定连接到另外的第二级顶点的第一级顶点是否具有相关联的改变指示。关于另外的第二级顶点所连接到的每个第一级顶点执行该确定。

如果在框1005中确定连接到另外的第二级顶点的第一级顶点具有相关联的改变指示,然后(例如,通过图形引擎)重新计算连接到被确定为具有相关联的改变指示的第一级顶点的第二级边以及它们自己具有相关联的改变指示的所有第二级边。在一些示例中,(即,其中图形数据库包括至少一个第三级边的示例),执行另外的框1007。在框1007中,如果已经(即,在框1005中)确定连接到另外的第二级顶点的第一级顶点具有相关联的改变指示,然后重新计算具有相关联的改变指示的第三级边以及连接到本身连接到被确定为具有相关联的改变指示的第一级顶点的第二级顶点的所有第三级边。

因此,在图8的示例中,如果在直接地受安实体的改变影响的顶点和边已经被标记为脏之后接收另外的查询,则以在以上关于图5和6所描述的方式将通过图形引擎生成的结果集合作为新的第二级顶点和相关联的第二级边而添加到图形。然后,图形引擎将确定连接到新的第二级顶点的任何第一级顶点是否被标记为脏。在图8的示例中,如果新的第二级顶点连接到“安”第一级顶点,则将作出正面确定。

在新的第二级顶点连接到脏安第一级顶点的情况下,这触发图形引擎重新计算涉及安实体的改变的图的全部“脏部分”。图可以包含由多个不同的实体的改变引起的若干独立的“脏部分”。然而,尽管重新计算从新近接收的查询的结果集合中所包括的实体扩散的脏部分,但不重新计算其他脏部分,直到生成包括给定脏部分中的实体的结果集合的查询被生成。

在新的第二级顶点没有连接到脏安第一级顶点(即,其连接到不具有相关联的改变指示的“清洁”第一级顶点,在该示例中,其为与安分开的并且没有连接到任何“脏”第一级顶点的任何第一级顶点)的情况下,不执行重新计算。

图9的过程因此能够被看作更新存储的结果集合的“懒惰的”方法,这是因为没有图元素是无效的或被重新计算,直到需要那些元素来解析特定查询为止。“急切的”方法也是可能的,其中一但检测到实体的改变就执行脏部分的重新计算并且作为结果得到的脏部分被识别。急切的方法能够最小化客户端与交互所经历的等待时间。

如通过示例所进行的以第二级顶点和第二级边的形式将查询结果集合添加到图形数据库的另外的效果是:能够通过在图形上导航而容易地识别结果集合之间的关系。在该示例中,确定两个结果集合是否相关牵涉:经由第一级顶点的基础图从第一个第二级顶点导航到第二个第二级顶点。

图10图示出了方法的示例,例如,用于确定表示为扩展图的第一结果集合是否与扩展图中的第二结果集合相关。扩展图可以是例如通过图3的示例方法或通过图5的示例方法所创建的扩展图。在一些示例中,当以上关于图1和2提出的指令(例如,由非暂时性机器可读存储介质30编码的指令或者装置20的指令集中所包括的指令)由处理器执行时使处理器实施图10的方法。

关于图3的框401和402如上所述执行框1101和1102。可以多次重复框1101和1102。关于其执行图10的示例方法的图形数据库包括多个第二级顶点,该多个第二级顶点中的每个第二级顶点均通过第二级边连接到至少一个第一级顶点。在框1103中,(例如,通过图形数据库的图形引擎)确定多个第二级顶点中的第一个第二级顶点是否与多个第二级顶点中的第二个第二级顶点相关。通过使用任何适当的路径确定技术确定在第一个第二级顶点和第二个第二级顶点之间路径是否存在来执行框1103的确定。在一些示例中,框1103的确定牵涉找出第一个第二级顶点和第二级顶点之间的最短路径。在一些示例中,确定在第一个第二级顶点和第二个第二级顶点之间路径是否存在包括:确定在第一个第二级顶点和连接到第二个第二级顶点的第一级顶点之间路径是否存在。

图11对包括基础图1200和查询结果集合的子图1210的示例性扩展图形数据库图示出了图7的过程。示例性扩展图包括第一类型的四个第一级顶点(约翰、戴夫、苏、安),每个均表示员工,以及第二类型的两个第一级顶点(hr、设计),每个均表示部门。(通过细实线示出的)第一级边表示包含关系。因此,能够从图形数据库10看出,安和约翰属于hr部门,并且苏和戴夫属于设计部门。

子图1210包括四个第二级顶点,表示第一查询(查询1)的结果集合、查询(m和f)的细化、以及另外的查询(查询3)。结果集合查询1包括所有雇员、结果集合m包括所有男性雇员、结果集合f包括所有女性雇员,并且结果集合查询3包括所有部门。如果用户希望确定在m和查询3之间是否存在关系(即,设计科是否包含任何男性雇员),则能够通过确定在m顶点和查询3顶点之间路径是否存在来做出该确定。实际上,这可以包括确定在m顶点和查询3顶点所连接到的第一级顶点之间的路径是否存在。

能够从图11看出,m顶点经由戴夫和设计顶点而间接地连接到查询3顶点,因此路径确实存在。在图11的示例中,一个此类路径存在,但是在其他的示例中,能够存在多个路径。因此真实的是,设计科包含男性员工。通过粗实线1214在图11中示出结果集合m和结果集合查询3之间的该关系。还以相同的方式示出子图1210中的结果集合之间的其他关系。能够看出,在每个情况下,表示关系的粗线是通过第一级边和第二级边形成的间接路径的直接版本。

能够把在本公开中的示例作为方法、系统或机器可读指令来提供。此类机器可读指令可以被包括在在其中或在其上具有计算机可读的程序代码的计算机可读存储介质(包括但是不局限于磁盘存储器、cd-rom、光存储器,等等)上。

参考根据本公开的示例的方法、设备和系统的流程图和/或框图来描述本公开。尽管在以上描述的流程图示出了执行的特定次序,但执行的次序可以不同于所描绘的次序。关于一个流程图所描述的框可以与另一个流程图的那些框组合。应当理解的是,能够通过机器可读指令来实现流程图和/或框图中的每个流程和/或框,以及流程图和/或框图中的流程和/或图的组合。

例如可以通过通用计算机、专用计算机、嵌入式处理器或其他可编程数据处理设备的处理器来执行机器可读指令以实现图和描述中所描述的功能。具体地,处理器或处理装置可以执行机器可读指令。因此,可以通过执行存储在存储器中的机器可读指令的处理器,或者根据嵌入在逻辑电路中的指令进行操作的处理器来实施装置和设备的功能模块或引擎。术语‘处理器’将被宽泛地解释为包括cpu、处理单元、asic,或者可编程门阵列等等。方法和功能模块可以全部被单个处理器执行或者在若干处理器之间被划分。

此类机器可读指令也可以被存储在能够引导计算机或其他可编程数据处理设备以特定模式进行操作的计算机可读的存储器中。

此类机器可读指令也可以被加载到计算机上或加载到其他可编程数据处理设备上,使得计算机或其他可编程数据处理设备执行一系列操作步骤以产生计算机实施的处理,因此在计算机或其他可编程设备上执行的指令提供用于实现通过流程图中的流程和/或框图中的框所指定的功能的步骤。

尽管已经参考特定示例描述了方法、装置和相关方面,但能够在不背离本公开的精神的情况下做出各种修改、改变、省略,以及置换。因此,方法、装置和相关方面仅仅旨在受限于所附权利要求和它们的等同物的范围。应当注意到,以上提及的示例是说明性的,而不限定在本文描述的内容,并且那些本领域技术人员将能够在不背离所附权利要求的范围的情况下设计许多替换实施方式。

措词“包括”不排除存在除了权利要求中列出的那些之外的元素,“一”不排除复数,并且单个处理器或其他的单元可以实现在权利要求中叙述的若干单元的功能。

任何从属权利要求的特征可以与独立权利要求或者其他从属权利要求的任何的特征组合。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1