掌桥专利:专业的专利平台
掌桥专利
首页

HLOD树的动态前端驱动生成

文献发布时间:2023-06-19 12:16:29


HLOD树的动态前端驱动生成

背景。

技术领域

本公开总地涉及基础设施建模,并且更具体地涉及利用图块显示基础设施模型的视图。

背景技术

贯穿基础设施(例如,建筑、工厂、道路、铁路、桥梁、电力和通信网络等)的设计、构造和操作,使用基础设施建模应用来建模基础设施经常是合期望的。基础设施建模应用传统上已经使用了多种不同的技术和数据格式来维护项目不同阶段的基础设施描述。在过去,根据这样的格式维护的基础设施模型已经脱节,并且已经包括大量的数据冗余和其他低效源。模型可能已经针对特定的用例进行了优化和适配,而没有太多考虑基础设施项目的其他阶段,这导致了不同的产品/规程(discipline)/阶段数据孤岛(silos)。

最近,已经开发了如下系统,所述系统可以打破这样的现有的产品/规程/阶段数据孤岛,并且使得能够生成现实世界基础设施的真正“数字双胞胎(digital twin)”,所述“数字双胞胎”以统一的方式描述基础设施的各方面。这种“数字双胞胎”的生成已经解决了传统基础设施建模技术的许多限制。然而,它也导致了技术挑战。

这些挑战之一涉及如何在客户端设备上高效地显示基础设施模型的视图。由于客户端设备本身可能缺乏用于生成视图的处理和存储能力,因此它们可能取而代之依赖云计算设备来“发布”模型。在传统模型“发布”中,云计算设备可以分析基础设施模型以创建定义空间(例如,面积或体积)及其细节层次(levels-of-detail,LOD)的单一的、穷举的HLOD树。云计算设备然后可以生成所有可能的图块(例如,二维(2D)或三维(3D)图块)的集合,所述图块表示基础设施模型在不同LOD的部分。当需要时,可以从图块高速缓存向客户端设备供应图块,客户端设备仅显示所供应的图块。

在解决一些问题的同时,传统的发布技术遭受许多缺点。例如,分析整个基础设施模型以创建单一的、穷举的HLOD树,并产生由HLOD树定义的所有可能的图块的集合可能需要云计算设备的大量处理资源(即,处理器周期)。此外,存储所有可能的图块可能消耗大量存储资源(即,驱动空间)。有时该处理和存储资源消耗是浪费的。例如,HLOD树的一些部分及与其对应的图块可能从未被任何客户端设备实际使用。虽然理论上,客户端设备可以请求以特定LOD显示基础设施模型的特定部分的特定图块的显示,但是实际上可能永远不这样做。同样,在请求显示一些图块之前,可以修改基础设施模型。在这样的情况下,可以创建新的单一的、穷举的HLOD树,并且产生所有可能的图块的新集合。现有的未利用的图块可以简单地丢弃。

除了处理和存储资源的这种低效利用之外,传统的发布技术还可能对客户端设备上可以显示的视图强加功能限制。例如,由于产生了单一的、穷举的HLOD树,所以可以施加最大LOD来提供终止点。然而,一些客户端设备的用户可能期望将基础设施模型放大到任意的LOD,超过任何强加的最大值。

因此,存在对于用于利用HLOD树和图块来显示基础设施模型的改进技术的需要。

发明内容

提供了用于前端驱动、增量式HLOD子树创建和图块动态生成的技术。前端应用的基础设施建模前端模块(例如,iModel.js 前端模块)可以从后端应用的基础设施建模后端模块(例如,iModel.js后端模块)递增地创建本地HLOD子树,该本地HLOD子树以基于未提供有图块内容的初始元数据的初始HLOD子树开始,并且基于提供有图块内容的元数据来细化。每个基础设施建模前端模块的本地HLOD子树可能基于所请求的个体图块和所采用的图块细化策略而不同。基础设施建模后端模块可能不维护HLOD树,并且仅依据请求生成图块,供应它们并将它们存储在图块高速缓存中,以防再次需要它们。因为图块是依据请求生成的,所以不存储未使用的图块,从而节省了处理和存储资源。此外,由于图块是依据请求生成的,因此不需要强加人为的最大LOD。

应当理解,除了本发明内容中讨论的那些之外,可以实现多种附加特征和替代实施例。本发明内容旨在简单地作为对读者的简要介绍,并且不指示或暗示本文提及的示例覆盖本公开的所有方面,或者是本公开的必需或必要方面。

附图说明

下面的描述参考了示例实施例的附图,其中:

图1是示例基础设施建模软件架构的高级框图;

图2是可以作为客户端设备上的前端应用的部分来执行的基础设施建模前端模块的示例软件类的框图;

图3是可以作为客户端设备或云计算设备上的后端应用的部分来执行的基础设施建模后端模块的示例软件类的框图;

图4A是用于前端驱动、增量式HLOD子树创建和显示基础设施模型(例如,iModel®模型)视图的图块动态生成的示例步骤序列的流程图;

图4B是用于编码图块内容的示例格式;

图5是示例基础设施模型的图形描绘;

图6是图5的整个基础设施模型的视图的示例根图块的图形描绘;

图7是图示由基础设施建模前端模块生成的示例本地HLOD子树的初始状态的图解;

图8是将根图块细分为四个子图块的示例的图形描绘,每个子图块占用根图块的一部分空间(这里是子面积);

图9A是图示了在基础设施建模前端模块已经加载子图块之后,表示甚至更晚的状态的第三本地HLOD子树的图解;

图9B是图示了在基础设施建模前端模块已经加载子图块之后,表示替代的甚至更晚的状态的替代第三本地HLOD子树的图解;

图10是将至少一些子图块细分为第二层次子图块的示例的图形描绘;

图11是图示了在基础设施建模前端模块已经加载第二层次子图块之后,表示仍然更晚状态的第四本地HLOD子树的图解;以及

图12是图示了单图块细化策略的应用的本地HLOD子树。

具体实施方式

图1是示例基础设施建模软件架构100的高级框图。该架构可以划分为在终端用户本地提供的一个或多个计算设备(统称为“客户端设备”)上执行的客户端软件110和在远离终端用户提供的一个或多个计算设备(统称为“云计算设备”)上执行的基于云的软件112,基于云的软件112可经由网络(例如,因特网)访问。客户端软件110可以包括在由web浏览器124(例如,Chrome®web浏览器)提供的虚拟环境(例如,“浏览器沙箱”)内操作的web前端应用120、和直接在操作系统下操作的桌面前端应用122以及与之交互的后端应用132。基于云的软件112可以包括基础设施建模中枢服务(例如,iModelHub

基于云的软件112的核心可以是基础设施建模中枢服务(例如,iModelHub

基础设施建模中枢服务(例如,iModelHub

储存库144-146中的公文包152可以作为空的“基线”公文包开始,该“基线”公文包由基础设施建模中枢服务(例如,iModelHub

在储存库144-146的公文包152中维护的基础设施模型(例如,iModel®模型)可以利用概念模式(例如,构建基础设施模式(BIS))定义,并使用底层数据库模式(例如,DgnDb)进行存储。概念模式定义了用于对基础设施建模的语义、数据结构和概念。物理信息可以充当“数字双胞胎”的“骨干(backbone)”,并且非物理信息(例如,分析信息、功能信息、信息性信息等)可以相对于(例如,扩充)“骨干”而被维护。元素、模型、元素方面和关系可以充当概念模式的构建块。在该上下文中,可以单独标识和锁定的最细粒度的记录是元素,它表示(即,在该术语的通俗意义上,建模)现实世界中的实体。紧密相关的元素集合可以表示完整的对象。基于被建模对象的性质,一个元素可以是“前导”元素。其他元素通常相关回前导元素。当元素使用底层数据库模式时,它们可能包括几何形状信息,诸如空间位置、空间范围和几何形状图元(诸如曲线、b样条、圆锥体等)列表。模型是元素集合的容器,其中元素集合共同表示(即,在该术语的通俗意义上,建模)现实世界中的实体。模型拥有它包含的元素,并为元素提供上下文。每个元素被包含在单个模型中。除了储存库模型的例外,每个模型“建模”类似于内容表操作的某个元素(其不包含在该模型中)。模型可以根据模型分级进行布置,以支持从多个角度进行建模。单个储存库模型可以充当模型分级的根。关系是将两个或更多个元素、元素方面或模型进行相关的连接。关系的示例包括暗示所有权的父子关系和定义组或互连的对等关系。在一个实施例中,可以提供两种类型的关系,其中抽象关系禁止实例化但准许从其继承,并且封闭的关系禁止继承。同样,元素方面描述了属于特定元素但可能具有独立生命周期(例如,可能在元素的生命期中来来去去)的属性集合。元素方面通常是不可单独标识的,并且除了来自拥有它的元素之外,缺少传入的关系。

基础设施建模中枢服务(例如,iModelHub

为了准许访问在储存库144-146的公文包152中维护的基础设施模型(例如,iModel®模型),可以提供后端应用130、132。如上面提及的,一些后端应用130可以作为基于云的软件112的一部分位于云中,而其他后端应用可以作为客户端软件110的一部分位于客户端设备上。后端应用130、132可以维护公文包138的本地副本以及将它们变换成储存库144-146的期望版本的公文包所需的变更集。后端应用130、132可以订阅由基础设施建模中枢服务(例如,iModelHub

后端应用130、132可以包括用于服务来自前端应用120、122的请求的功能,所述请求包括对用于计算HLOD子树的初始元数据的请求以及对包括用于增长HLOD子树的元数据的图块的请求。这样的功能可以由基础设施建模后端模块(例如,iModel.js后端模块)134来实现。基础设施建模后端模块(例如,iModel.js后端模块)134可以依赖于基础设施建模本机模块(例如,iModel.js本机模块)136来执行需要访问公文包138的多个不同操作。

前端应用120、122主要关注提供用于显示和使能实现与基础设施模型(例如,iModel®模型)的用户交互的用户接口。一些前端应用可以是在由客户端设备上的web浏览器(例如,Chrome®web浏览器)124提供的虚拟环境(例如,“浏览器沙箱”)内操作的web前端应用120,而其他前端应用可以是作为独立应用执行的桌面前端应用122,从而与客户端设备的操作系统直接交互。桌面前端应用122可以包括嵌入式web浏览器代码(例如,Chromium®代码)126,以准许它们以类似于web前端应用120的方式(具有少数例外)与后端应用132交互。

前端应用120、122可以提供用于计算初始HLOD子树、请求和显示HLOD子树的特定图块、以及使用图块的元数据来确定应该如何细化图块以生长初始HLOD子树的功能,以及多种其他功能。这样的功能可以由基础设施建模前端模块(例如,iModel.js前端模块)128实现,基础设施建模前端模块(例如,iModel.js前端模块)128向后端应用130、132的基础设施建模后端模块(例如,iModel.js后端模块)134发送请求。取决于前端应用120、122是web前端应用120还是桌面前端应用122,请求可以例如经由web协议(例如,超文本传输协议(HTTP))或经由进程间通信(IPC))被不同地发送。

上述基础设施建模软件架构100可以与用于前端驱动、增量式HLOD子树创建和图块动态生成的技术一起使用。前端应用120、122的基础设施建模前端模块(例如,iModel.js前端模块)128基于未提供有图块内容的初始元数据来递增地创建本地HLOD子树(例如,八叉树、四叉树或具有对应于图块的节点的另一种类型的树),并且基于来自后端应用130、132的后端应用134的基础设施建模后端模块(例如,iModel.js后端模块)的提供有图块内容的元数据来细化。每个基础设施建模前端模块128的本地HLOD子树可以基于所请求的个体图块和/或不同图块细化策略的使用而不同。基础设施建模后端模块134可以不维护HLOD树,而是简单地依据请求生成图块,从而供应它们,并在再次需要它们的情况下将它们存储在图块高速缓存中。以算法方式生成的内容ID可以用于将基础设施建模前端模块128和基础设施建模后端模块134之间的努力进行关联。

因为图块是依据请求生成的,所以不存储未使用的图块,从而节省了处理和存储资源。此外,由于图块是依据生成的,因此不需要强加人为的最大LOD。为了进一步节省存储资源,可以基于各种准则(例如,最近最少使用、最高分辨率等)从图块高速缓存周期性地清洗图块,并且当基础设施建模前端模块128下一次请求时,由基础设施建模后端模块134重新生成所述图块。

图2是可以作为客户端设备上的前端应用120、122的一部分来执行的基础设施建模前端模块(例如,iModel.js前端模块)128的示例软件类的框图。基础设施模型连接对象210可以包括应用程序接口(API),用于与由基础设施建模后端模块134管理的公文包138进行连接,并从其请求信息。基础设施模型连接对象210可以具有一个或多个模型状态对象220,该模型状态对象220维护基础设施模型的前端表示,并且包含用于获得图形以便在客户端设备的显示屏上渲染其内容的API。每个模型状态对象220可以具有零个或一个前端图块树对象230,其作为本地HLOD子树的容器来操作。

前端图块树对象230可以提供用于获得将在客户端设备的显示屏上渲染的基础设施模型的一部分的图形对象的API。这可以涉及确定哪些图块在期望的LOD处相交,按照需要在HLOD子树上生成节点,以及从基础设施建模后端模块134请求那些图块的内容——如果还未在本地可用的话。为此目的,前端图块树对象230可以维护位置信息、HLOD子树的空间(例如,体积)和图块屏幕大小(例如,作为像素数量)。

图块对象240可以表示在本地HLOD子树中的节点。图块对象240可以具有零个或一个图块内容对象250,图块内容对象250具有图形对象260,图形对象260可以被提交给客户端设备上的渲染系统以在显示屏上绘制图块内容。它可能没有图块内容对象250,直到从基础设施建模后端模块134请求图块内容,这一般在第一次需要渲染图块时发生。图块对象240可以维护图块体积。此外,图块对象240可以维护指示图块内容可用性的内容状态。例如,“未加载”的内容状态可以指示还没有对图块的内容做出请求,“入队”的内容状态可以指示已经做出请求但是仍然在等待响应,“加载”的内容状态可以指示已经接收到响应并且正在处理,并且“就绪”的内容状态可以指示已经接收到图块的内容并且将其存储在要渲染的图块内容对象250中。此外,图块对象240可以维护确定何时以及如何细化图块的细化策略的指示。

图3是可以作为客户端设备或云计算设备上的后端应用130、132的部分来执行的基础设施建模后端模块(例如,iModel.js后端模块)134的示例软件类的框图。基础设施建模数据库对象310可以提供对(例如,保持打开)包含一个或多个模型320的公文包138的访问。如上面讨论的,模型拥有一个或多个元素,包含上下文并为它们提供上下文。每个模型320可以具有零个或一个后端图块树对象330,其提供用于获得元数据和图块内容的API。为此目的,后端图块树对象330可以维护对于基础设施模型后端模块134而言已知的HLOD树部分的位置信息和空间(例如,体积)。

当图块的内容被请求时,后端图块树对象330可以使用一个或多个图块加载器对象来异步地获得由以算法方式生成的内容ID索引的图块内容。后端图块树对象330可以维护活动图块加载器对象集合330,并且对相同图块内容的多个请求可以由相同图块树对象330来满足。每个图块加载器对象330可以根据内容ID管理占用图块空间(例如,体积)的图块内容的存储。图块内容可以被构造为二进制阵列。在操作中,图块加载器对象340可以通过查询图块高速缓存数据库对象350来确定图块内容是否已经存在于后端模块134的图块高速缓存中。如果已经存在,则加载器对象340可以返回图块内容连同与其相关的元数据。如果尚未存在,则图块加载器对象340可以查询基础设施建模数据库对象310以获得图块空间(例如,体积)内的几何形状,生成图块内容,返回图块内容和与其相关的元数据,并且还调用图块高速缓存数据库对象350来将内容添加到图块高速缓存。

图4A是用于前端驱动、增量式HLOD子树创建和图块(例如,2D或3D图块)动态生成来显示基础设施模型(例如,iModel®模型)的视图的示例步骤序列400的流程图。步骤400可以由基础设施建模前端模块(例如,iModel.js前端模块)128和基础设施建模后端模块(例如,iModel.js后端模块)134的上面讨论的对象来实现,然而这里已经抽象了个体对象以促进总体过程流的理解。在步骤405,客户端设备上的基础设施建模前端模块128请求基础设施模型的元数据,该基础设施模型的视图将被显示在显示屏上。在步骤410,基础设施建模后端模块计算并返回初始元数据,包括视图中基础设施模型所占用的空间(例如,体积),以及包含的几何形状量的度量。基础设施建模前端模块128然后开始生成本地HLOD子树。

在步骤415,基础设施建模前端模块128将所选图块设置为根图块并且将所选空间(例如,体积)设置为基础设施模型所占用的整个空间(例如,体积)。在步骤420,基础设施建模前端模块128确定是否以及如何在没有图块内容的情况下细分所选图块。在子步骤421,如果所选图块不包括几何形状,则所选图块被视为终止节点,并且不做任何进一步。在子步骤422,如果所选图块包括大于预定阈值的几何形状度量(例如,处理的元素的数量指示“大量”的几何形状),则不请求图块内容,并且使用多个子图块细化策略来细化所选图块,其中图块被细分为多个(例如,8个、4个等)子图块,每个子图块占用图块的空间的一部分(例如,体积的子体积),并且本地HLOD子树被更新以添加附加的子图块。然后,执行循环回到步骤420,将每个新创建的子图块替换为所选图块。否则,在步骤423,执行继续进行到将请求图块内容的地方。

在步骤425,基础设施建模前端模块128请求在上面步骤中生成的所选图块的图块内容。为了请求所选图块,基础设施建模前端模块128以算法方式计算内容ID,该内容ID指示图块在本地HLOD子树和期望LOD中的位置。内容ID充当基础设施建模前端模块128和基础设施建模后端模块134用以协调它们的动作的机制,并且是HLOD子树的上下文内的唯一标识符。给定HLOD子树的全部空间(例如,体积),指定图块的空间(例如,体积)可以使用包含在内容ID中的信息来计算。

在说明性实施例中(假设使用八叉树并且空间是体积),内容ID包括5个部分(

在步骤430,基础设施建模后端模块134基于所供应的内容ID计算所选图块的空间(例如,体积)。例如,继续上面的说明性实施例,可以提取

在步骤440,累积的几何形状集合和元数据(例如,使用GL传输格式(gITF)的变体)被编码成图块内容并被添加到基础设施建模后端模块134处的图块高速缓存。图4B是用于编码图块内容的示例格式460。这样的示例格式可以与上面讨论的说明性实施例一起使用。报头462包括格式ID 464、格式版本466、将几何形状紧密封装在图块内的体积468(其可能比图块体积更紧密拟合)、弦长公差470、处理的元素(即,至少包含足够大以进行贡献的某种几何形状的所包括元素)的数量472、跳过的元素(即,不包含足够大以进行贡献的几何形状的所排除元素)的数量474、提供弯曲几何形状的指示符和由于大小而排除某种几何形状的指示符的标志476以及报头长度478。还包括的是:特征表480,其作为图块内容内的特征集合的查找表操作;场景482(例如,JSON字符串),其描述材料、纹理、几何形状图元等;以及数据缓冲区482(例如,二进制数据),其提供由包括在场景482中的指针引用的连续数据块。数据缓冲区可以包括图像以及网格和折线的表示。

在步骤445,图块内容被传输到基础设施建模前端模块128。在步骤450,基础设施建模前端模块128确定是否以及如何在给定期望LOD的情况下细化所选图块。在子步骤451,如果图块特定元数据中的几何形状度量指示不包括几何形状,则可以丢弃该图块。在子步骤452,如果图块特定元数据中的几何形状度量指示包括所有几何形状,则得出结论:所选图块已经处于最大分辨率,该图块被标记为本地HLOD子树中的终止节点,并且不执行细化。在子步骤453,如果图块特定元数据中的几何形状度量指示某种几何形状被从图块内容中排除,或者弯曲几何形状的指示符指示弯曲几何形状的存在,则基础设施建模前端模块128得出结论:所选图块可以以更高的分辨率显示,并且可以应用图块细化策略。图块细化策略可以是多子图块细化策略,其中图块被细分为多个(例如,8个、4个等)子图块,每个子图块占用图块的空间的一部分(例如,体积的子体积),并且本地HLOD子树被更新以添加多个子图块,类似于上面的步骤422中那样。替代地,图块细化策略可以是单图块细化策略,其中生成与图块占用相同空间(例如,体积)但是具有比图块更高的分辨率(例如,更高的像素数量)的单个子图块,并且本地HLOD子树被更新以添加单个子图块。然后,执行可以循环回到步骤425,根据需要用不同的图块替换所选图块,以获得用于在客户端设备的显示屏上正在示出的基础设施模型的视图的期望LOD的细化图块。

上面的技术可以通过参考如在图5-11中所示的说明示例来说明。图5是示例基础设施模型500的图形描绘,该示例基础设施模型500包括具有弯曲几何形状的元素(诸如圆形)以及没有弯曲几何形状的元素(诸如正方形)。应当理解,典型的基础设施模型一般将具有大得多的复杂度水平,并且这里包括的简单形状仅仅是为了说明的目的。此外,虽然该基础设施模型500以2D示出,但是应当理解,基础设施模型经常将是三维的。

图6是图5的整个基础设施模型500的视图的示例根图块600的图形描绘。可以选择根图块作为上面图4A的步骤415的部分。如可以看到的,在根图块的LOD上,圆形的弯曲几何形状可能看起来是“块状的”,这里有6个线性刻面。

图7是图示了由基础设施建模前端模块(例如,iModel.js Frontend模块)128生成的示例本地HLOD子树的初始状态的图解。第一本地HLOD子树710表示初始状态,其中尚未加载来自图6的根图块600。第二本地HLOD子树720表示:在所选图块是根图块500的情况下通过执行上面的步骤425-450,在基础设施建模前端模块128已经加载根图块600并且通过应用多子图块细化策略将根图块细分为子图块之后的更晚状态。

图8是将根图块600细分成四个子图块810-840的示例的图形描绘,每个子图块占用根图块600的空间(这里是面积)的一部分。如可以看出的,在子图块810的LOD上,圆形的弯曲几何形状可能仍然看起来是“块状的”,但是比图6中的稍微不太看起来是“块状的”(这里有12个线性刻面,而不是6个)。

图9A是图示了表示在基础设施建模前端模块128已经加载子图块810-840之后的甚至更晚状态的第三本地HLOD子树900的图解。在所选图块是每个子图块的情况下通过重复执行图4A的步骤425-450,可以确定一些子图块需要通过应用多子图块细化策略的进一步细化,这是由于存在弯曲几何形状或者排除某种几何形状,而其他的被标记为终止节点——已经处于最大分辨率或者因为不包括几何形状而被丢弃。

图9B是图示了表示在基础设施建模前端模块128已经加载子图块810-840之后的替代的甚至更晚的状态的替代第三本地HLOD子树910的图解。这样的替代第三本地HLOD子树910可以由与图9A中不同的前端应用的基础设施建模前端模块128来达到。例如,通过选择更大的图块屏幕大小,导致更高分辨率的图块,不包含弯曲几何形状的一些图块可能已经处于最大分辨率,并且被标记为终止节点,而不是被指定用于进一步细化。因此,HLOD子树910可以不同于HLOD子树900。

图10是将子图块810、830(现在称为第一层次子图块)中的至少一些细分为第二层次子图块1010-1060的示例的图形描绘,每个子图块占用相应的第一层次子图块的空间的一部分(这里是子面积)。如可以看出的,在第二层次子图块1010、1030的LOD上,圆形的弯曲几何形状开始看起来平滑。

图11是图示了表示在基础设施建模前端模块128已经加载第二层次子图块1010-1060之后的仍然更晚状态的第四本地HLOD子树1100的图解。在所选区块是每个第二层次子区块的情况下通过再次重复执行图4A的步骤425-450,可以确定进一步的细化。

图5-11的说明性示例针对每个细化利用了多子图块细化策略。应当理解,对于一些(或全部)细化,该策略可以由单图块细化策略来代替,对于给定的父图块,该单图块细化策略生成占用与父图块相同空间(例如,体积)但是具有比父图块更高的分辨率(例如,更高的像素数量)的单个子图块。图12是图示了单图块细化策略的应用的本地HLOD子树1200。这样的HLOD子树1200可以是通过对图6的示例根图块600重复执行步骤425-450、在每个层次上应用单图块细化策略而生成的。如可以看出的,HLOD子树1200是线性的,其中每个节点表示与根图块占用相同空间(这里是面积)但是具有更高分辨率的图块,使得当圆形进展到更低层次的子图块时,圆形的弯曲几何形状可能看起来不太是块状的(即,较少刻面化的)。

总之,上面描述了用于前端驱动、增量式HLOD子树创建和图块动态生成的技术。应当理解,可以对所述技术进行多种多样的适配和修改。此外,一般而言,功能可以用软件、硬件或其各种组合来实现。软件实现方式可以包括存储在非暂时性电子设备可读介质(例如,非暂时性计算机可读介质)、诸如易失性存储器、持久性存储设备或其他有形介质中的电子设备可执行指令(例如,计算机可执行指令)。硬件实现方式可以包括逻辑电路、专用集成电路和/或其他类型的硬件组件。此外,组合的软件/硬件实现方式可以包括存储在非暂时性电子设备可读介质中的电子设备可执行指令以及一个或多个硬件组件两者。最重要的是,应当理解,上面的描述仅意味着作为举例来考虑。

相关技术
  • HLOD树的动态前端驱动生成
  • 基于生成树的域内动态多路径生成方法
技术分类

06120113236129