CN111316297A - 用于协调用于基础设施建模的代码的技术 - Google Patents
用于协调用于基础设施建模的代码的技术 Download PDFInfo
- Publication number
- CN111316297A CN111316297A CN201880058897.XA CN201880058897A CN111316297A CN 111316297 A CN111316297 A CN 111316297A CN 201880058897 A CN201880058897 A CN 201880058897A CN 111316297 A CN111316297 A CN 111316297A
- Authority
- CN
- China
- Prior art keywords
- code
- authority
- infrastructure
- client
- range
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 31
- 230000001360 synchronised effect Effects 0.000 claims description 5
- 238000010586 diagram Methods 0.000 description 9
- 238000007726 management method Methods 0.000 description 9
- 238000013459 approach Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000013499 data model Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000002349 favourable effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 238000010200 validation analysis Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/40—Network security protocols
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q50/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/10—Services
- G06Q50/16—Real estate
- G06Q50/163—Real estate management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
- G06F21/6245—Protecting personal data, e.g. for financial or medical purposes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1202—Dedicated interfaces to print systems specifically adapted to achieve a particular effect
- G06F3/1203—Improving or facilitating administration, e.g. print management
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/51—Discovery or management thereof, e.g. service location protocol [SLP] or web services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/535—Tracking the activity of the user
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3247—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/70—Services for machine-to-machine communication [M2M] or machine type communication [MTC]
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Theoretical Computer Science (AREA)
- Tourism & Hospitality (AREA)
- Economics (AREA)
- Human Resources & Organizations (AREA)
- Strategic Management (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- General Business, Economics & Management (AREA)
- Entrepreneurship & Innovation (AREA)
- Marketing (AREA)
- Development Economics (AREA)
- Primary Health Care (AREA)
- Quality & Reliability (AREA)
- Educational Administration (AREA)
- Game Theory and Decision Science (AREA)
- Operations Research (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
在各种实施例中,提供了用于在基础设施建模软件架构中协调对基础设施元件分配代码的技术。提供从客户端本地的代码管理机构到基于云的代码管理机构服务的管理机构链。另外,代码以三部分构成,包括代码规范部分、代码范围部分和代码值部分,代码规范部分标识代码规范,所述代码规范指示什么信息被编码到代码中以及其是如何被编码的,代码范围部分基于代码管理机构保证代码唯一的边界,代码值部分具有唯一值。
Description
技术领域
本公开一般涉及基础设施的基于计算机的建模,并且更特别地涉及一种用于协调对基础设施元件分配代码的技术。
背景技术
贯穿基础设施(例如,建筑、工厂、道路、铁路、桥梁等)的设计、建立和操作,通常期望使用表示各个单元的基础设施元件的集合来对基础设施进行建模,从而有效地创建现实世界的一些部分的“数字孪生”。许多现实世界的基础设施单元具有诸如制造商的序列号、门牌号、资产或工程标签、建筑编号等之类的标识符。通过将表示该现实世界标识符的代码与模型的基础设施元件相关联,代码可以有效地在“数字世界”和“现实世界”之间创建“桥梁”。
然而,在传统的基于计算机的建模架构中,一般不存在用于生成和管理代码的单个“已知地点”或“已知系统”。先前的尝试一般陷入两个种类:未管理的或过度管理的。在未管理的方法中,代码结合基础设施元件仅仅作为分配值存储。虽然该方法实现起来是简单的,但是其不能提供任何给定代码的有效性的保证。在进行改变时,代码可能被不同的软件系统无意地复制或改变,并且可能丢失完整性。在过度管理的方法中,多个软件实体独立地负责生成和管理代码。每个软件实体可以试图操作为代码的“真实源”。然而,“多个真实源”通常意味着存在可以实际上依赖作为最终的仲裁者的零源。
所需要的是一种用于高效地协调对基础设施元件分配代码的技术。
发明内容
在各种实施例中,提供了用于在基础设施建模软件架构中高效地协调对基础设施元件分配代码的技术。提供了从客户端本地的代码管理机构(authority)到基于云的代码管理机构服务的管理机构链。另外,代码以三部分构成,其包括:代码规范部分,所述代码规范部分包括对代码规范的引用,所述代码规范定义了什么信息被编码到代码中以及其是如何被编码的;代码范围部分,其基于代码管理机构保证代码唯一的边界;和具有唯一值的代码值部分。
在一个特定实施例中,在客户端本地的计算设备上执行的代码管理机构访问在远离客户端的一个或多个计算设备上执行的代码管理机构服务,以建立从本地代码管理机构到远程代码管理机构服务的管理机构链。代码管理机构向代码管理机构服务提供期望的代码范围。代码管理机构服务生成在代码范围内唯一的一个或多个代码,并且向客户端本地的代码管理机构提供所述一个或多个代码。代码管理机构在代码高速缓存中缓存代码,并且最终可以将来自代码高速缓存的代码分配给基础设施元件。当被分配时,代码存储在客户端可访问的一个或多个文件中,并且可以在客户端的用户接口中向用户显示。任何未使用的代码从代码管理机构重新调整到代码管理机构服务。
在另一特定的实施例中,通过确定指示对代码规范的引用的代码规范部分、确定基于代码管理机构保证代码唯一的边界的代码范围部分、确定具有唯一值的代码值部分并且然后将代码规范部分、代码范围部分以及代码值部分连结来创建代码来构建代码,所述代码规范定义了什么信息被编码到代码中以及其是如何被编码。代码管理机构向客户端可访问的一个或多个文件中的基础设施元件分配代码,并且可以在客户端的用户接口中向用户显示该代码。
应当理解的是,除了在本发明内容中讨论的那些之外,可以实现各种附加的特征和替代的实施例。该发明内容仅仅意图作为对读者的简要介绍,并且不指示或暗示本文中所提到的示例覆盖本公开的所有方面,或者是本公开的必需或必要方面。
附图说明
下面的描述指的是附图,其中:
图1是示例基础设施建模软件架构的至少一部分的高级框图;
图2是聚焦于图1的示例基础设施建模软件架构的代码生成和分配方面的更详细的框图;
图3是可以在图1和2的基础设施建模软件架构中使用的示例三部分代码的图;
图4是用于使用图1和2的基础设施建模软件架构来向基础设施元件分配代码的步骤的示例简化序列的流程图,其特别聚焦于远程缓存代码管理机构的使用;以及
图5是用于使用图1和2的基础设施建模软件架构来向基础设施元件分配代码的步骤的示例简化序列的流程图,其特别聚焦于三部分代码的生成。
具体实施方式
定义
如本文中所使用的,术语“基础设施”指的是现实世界中已经被构建的或计划要被构建的物理结构或物体。基础设施的示例包括建筑、工厂、道路、铁路、桥梁等。
如本文中所使用的,术语“代码”指的是表示基础设施的各个单元的现实世界标识符的记录。“代码”的示例包括表示制造商的序列号、门牌号、资产或工程标签、建筑编号等的记录。
如本文中所使用的,术语“构建的基础设施模式”或“BIS”指的是描述数据的语义的概念模式(即概念数据模型),所述数据描述基础设施。BIS可以使用许多底层数据库系统(例如,SQLite数据库系统)来实现,其中BIS中的结构映射到数据库模式(例如,DgnDb模式)。
如本文中所使用的,术语“存储库”指的是诸如数据库之类的用于基础设施数据的电子存储位置。存储库可以符合BIS。
如本文中所使用的,术语“公文包(briefcase)”指的是存储库的至少一部分的副本。公文包可以包括根据数据库模式(例如,DgnDb模式)构成的一个或多个文件(例如,SQLite文件)。公文包通常(尽管不一定)与存储库保持同步。
如本文中所使用的,术语“元件”指的是表示(即充当代理)现实世界中的实体(诸如基础设施的各个单元)的在存储库或公文包中维护的记录。表示现实世界中的基础设施的元件在本文中称为“基础设施元件”。
如本文中所使用的,术语“企业”指的是公司或组织。
如本文中所使用的,术语“资产”指的是属于企业(例如,被企业拥有、管理、工作等)的基础设施(例如,设施、工厂、建筑、校园、桥梁、运输系统等)的集合。
示例实施例
图1是示例基础设施建模软件架构的至少一部分的高级框图。该架构可以划分成客户端侧软件110和基于云的服务软件120,所述客户端软件110在内部本地布置或托管以供企业的使用的一个或多个计算设备上执行,所述基于云的服务软件120在企业以及其它企业可通过互联网访问的一个或多个远程计算设备上执行。
在基于云的服务软件120的核心处是提供集中管理和同步支持的基础设施建模组件服务130(例如,iModelTM 中枢服务)。基础设施建模组件服务130管理存储库132、133、134。存储库130可以采取体现为一个或多个文件(例如,DgnDb文件)的数据库(例如,iModelTM数据库)的形式。可以根据数据库模式(例如,DgnDb模式)使用数据库系统(例如,SQLite数据库系统)来构造文件,其中BIS中的结构映射到数据库模式中的结构。每个存储库132、133、134可以在云中复制,以具有可以独立操作的多个副本(例如,具有最终的一致性)。另外,可以联合许多存储库来共享基于云的服务软件120的公共服务。存储库132、133、134可以集成来自许多源的信息,并且基础设施建模组件服务130可以在锁数据库135中(例如,根据悲观锁定方法)维护锁。另外,基础设施建模组件服务130可以维护存储库和修订元数据数据库136,其存储用于存储库132、133、134的创建和修订历史信息。
为了允许分布式的、潜在未连接的操作,基础设施建模组件服务130与公文包服务140(例如,iModelTM公文包服务)一起操作,以向作为客户端150操作的某些从业者应用提供来自存储库132、133、134的数据的至少一部分的副本。客户端150可以在企业的桌面或移动计算设备上本地执行,或者被托管以供企业的使用。提供给客户端150的来自每个存储库132、133、134的数据的一部分被构造为公文包(例如,iModelTM公文包)152,其体现为根据数据库模式(例如,DgnDb模式)的一个或多个文件(例如,SQLite文件)。每个公文包152通常通过修订推送(push)/拉取(pull)操作来与其对应的存储库132、133、134保持同步。另外,每个客户端150可以利用基于超文本传送协议(HTTP)的表示状态传送(REST)应用程序接口(API)来与公文包服务140通信。公文包服务140可以为公文包152提供冲突检测、验证、成本核算、发布、分析以及其它服务。
与基础设施建模组件服务130同步的网络(Web)访问服务142可以与公文包服务140一起操作,以向作为门户客户端154操作的某些从业者应用提供存储库132、133、134的视图。门户客户端154可以是基于网络的、在桌面或移动计算设备上本地执行的或托管的。它们从网络访问服务142接收实时或已经发布的视图。另外,它们经由基于HTTP的REST API与公文包服务140通信。这样的门户客户端154一般不维护本地公文包,而是依赖于到基于云的服务软件120的连接性。
某些传统从业者应用可能依赖于较旧的技术和数据格式。为了支持作为传统客户端154操作的这样的传统从业者应用,组件服务130可以与桥服务(例如,iModelTM桥服务)170一起工作。云文档管理系统172可以实现针对许多传统文件格式(例如,DGN、DWG、RCT、IFC等)的文档签入-签出系统。当传统客户端156对文件进行改变时,桥服务170将来自由云文档管理系统172维护的传统文件格式的文件的数据增量地转换成存储库132、133、134中的数据。
基础设施建模组件服务130可以进一步与执行信息管理和支持功能的许多基于云的服务交互。信息服务180管理资产数据、项目数据、现实数据、物联网(IoT)数据、代码和其它特征。企业系统182管理存储企业特定数据的现场或托管企业数据库183。另外,应用即服务平台184提供见解、可交付物管理、包管理以及各种其它服务。
图2是聚焦于图1的示例基础设施建模软件架构的代码生成和分配方面的更详细的框图。代码管理机构210可以在客户端150和公文包152本地(即在与客户端150和公文包152相同的计算设备上,或者在与客户端150和公文包152相同的局域网(LAN)上)执行。代码管理机构210负责根据请求向由客户端150使用的基础设施元件分配代码。在一些特殊情况下,可以由代码管理机构210本地生成代码。然而,在大多数情况下,代码由作为信息管理服务180的一部分的一个或多个代码管理机构服务220生成,所述信息管理服务180在云中执行,远离(即可通过互联网访问)客户端150和公文包152。代码管理机构服务220充当关于代码的集中管理机构,例如,跨联合存储库对它们进行统一。
代码管理机构服务220可以采取代码管理机构服务类的许多实例的形式(例如,对应于由面向对象编程类定义的对象的运行实例)。代码管理机构服务220的每个实例可以与不同的URL相关联,并且可以专用于为不同类型的基础设施元件生成代码。代码管理机构服务220的实例管理一个或多个代码注册表(registry)222。
代码注册表222是保证它们自身之间唯一的代码集,并且是代码范围224的具体表现。代码范围224定义了保证代码(例如,跨企业、资产、项目等)唯一的边界。代码范围224的边界可以基于许多因素,并且不一定与存储库132、133、134的边界一致,所述存储库132、133、134的基础设施元件被分配了代码(例如,为了代码的目的,存储库可以与其它存储库联合)。代码范围可以通过通用唯一标识符(UUID)和附加文本限定符来标识。
代码管理机构服务220的实例可以进一步利用一个或多个编码系统225(例如,主编码系统和替代的编码系统)(和保存关于一个或多个编码系统225的信息),每个编码系统225由代码规范226的集合组成,该代码规范226指定什么信息被编码到代码中以及其是如何被编码的。代码规范226包括用于生成和验证代码的规则(即模式)的集合。该规则可以包括描述如何确定已经在代码中使用的各个值(例如,数字)以及如何基于现有值确定序列中的下一个值(例如,数字)的排序指令。除其它可能性之外,排序指令可以指示是否填充序列“间隙”、可除约定(例如,所有的值应该可被10或100整除)、和/或要跳过的值(例如,跳过诸如“13”之类的不吉利的值)。每个代码规范226可以由URL来标识。
另外,代码管理机构210可以采取许多代码管理机构类的实例的形式(例如,对应于由面向对象编程类定义的对象的运行实例)。代码管理机构210的实例被配置有与之形成对的代码管理机构服务220的实例的标识符(例如,URL),使得其可以例如通过基于HTTP的REST API与之通信。
空(null)代码管理机构212的实例本地生成空代码,并将空代码分配给没有有意义的现实世界标识符的基础设施元件。当不存在到适当的代码管理机构服务220的连接性并且不存在可用的预分配代码时,临时代码管理机构214的实例本地生成临时可用的代码,并将其分配给基础设施元件。这样的代码可能缺少期望的属性,并且当连接性被恢复或者预分配代码以其他方式变得可用时,可以被替换。远程缓存代码管理机构216的实例分配由代码管理机构服务220的实例提供并且存储在公文包152的本地代码高速缓存218中的预分配代码,但是不在本地生成任何代码。利用经由基于HTTP的REST API的预定义的无状态操作集,远程缓存代码管理机构216的实例获得在代码管理机构服务220的对应实例处生成的代码,并且将其结合(例如,未使用的、保留的、已使用的或弃用的)代码状态存储在代码高速缓存218中,所述代码状态标识代码是否可用于分配给基础设施元件。有时,远程缓存代码管理机构216可以将代码(例如,未使用的代码)返回给代码管理机构服务220的对应实例。一般而言,客户端150将能够至少周期性地连接到基于云的服务,使得远程缓存代码管理机构216可以从代码管理机构服务220获得代码。然而,在一些实施方式中,客户端可能永远不会具有这样的连接性。为了使“永不连接的”分布式操作能够实现,在公文包152的初始创建时,可以将基本代码集预填充到代码高速缓存218中。
存储库132、133、134中的每个基础设施元件230,以及由此公文包152中的基础设施元件230的每个副本,包括(例如,在代码值字符串中的)代码232和(如下面进一步解释的,可以被代码232的一部分引用的)代码管理机构记录234。代码管理机构记录234(例如,经由其URL)标识用于分配代码的代码管理机构210的实例。在远程缓存代码管理机构216的情况下,代码管理机构记录234可以进一步指示代码管理机构服务220的实例(例如,经由其URL)以及要由代码管理机构服务220使用的代码范围224(例如,经由其UUID)和代码规范226。以这样的方式,基础设施元件与代码范围224和代码规范226有关系。
代码232可以被划分成多个部分,例如三个部分,所述部分形成存储库132、133、134中的每个基础设施元件的三部分唯一密钥(即没有两个元件对于所有三个部分具有相同的非空值)。图3是可以在图1和2的软件架构中使用的示例三部分代码的图。三部分代码包括代码规范部分310、代码范围部分320和代码值部分330。代码规范部分310可以识别代码规范226。代码范围部分320可以是字符串,其除了代码范围224之外还指示范围界定层。代码值部分330可以是存储唯一值(即数字)的字符串,该唯一值可以基于代码规范226的排序指令。
可以利用当前由ICANN管理的互联网域名称空间。如上面所提到的,代码管理机构210的每个实例可以与URL相关联以标识负责该代码的代码管理机构。可以通过以host[/] path(主机[/]路径)格式(通常的scheme:[//](模式:[//])可以省略)构造该URL来提供全球唯一的名称,诸如:
bentley.com/CodeAuthority/NullCodeAuthority 或者
bentley.com/CodeAuthority/RemoteCachedCodeAuthority。
在这样的格式中,主机可以指定由授权代码管理机构服务类的公司(例如,Bentley Systems有限公司)拥有的互联网域中的域名(例如,bentley.com)。路径可以指定记录和类名(例如,CodeAuthority/NullCodeAuthority、CodeAuthority/ RemoteCachedCodeAuthority)。
同样,如上面所提到的,代码管理机构服务220的每个实例也可以与URL相关联,并且在远程缓存代码管理机构216的情况下,该URL可以包括在代码管理机构记录234中,以识别负责该代码的代码管理机构服务220。可以通过以(模式:[//]主机[查询])格式构造该URL来提供全球唯一的名称,诸如:
在这样的格式中,主机可以指定由授权代码管理机构服务类的公司(例如,Bentley Systems, 有限公司)拥有的域名(例如,codes.bentley.com),并且查询可以指定代码范围224(例如,scope={CodingScope})。
上面所讨论的基础设施建模软件架构的操作可以通过示例来说明。图4是用于使用图1和2的基础设施建模软件架构来向基础设施元件分配代码的示例简化步骤序列400的流程图,特别聚焦于远程缓存代码管理机构216的使用。在步骤410处,远离客户端150执行的代码管理机构服务220的实例生成在代码范围224内唯一的代码集。如上面所讨论的,代码范围224可以由UUID定义。例如,在企业范围的范围的情况下,UUID可以指示代码在企业上是唯一的。同样,在资产特定范围的情况下,UUID可以指示代码在资产上是唯一的。在步骤420处,代码管理机构服务220的实例向代码管理机构210的实例或者具体地向在客户端150本地执行的远程缓存代码管理机构216提供代码集。在步骤430处,远程缓存代码管理机构216的实例在其代码高速缓存218中缓存该代码集连同“未使用的”代码状态。随后,在步骤440处,远程缓存代码管理机构216的实例向基础设施元件分配代码高速缓存218中的至少一些代码,从而将它们的状态更新为“已使用的”。在步骤450处,客户端150输出一个或多个基础设施元件的代码,例如,根据需要向用户显示它们,或者将它们提供给另一个应用。在步骤460处,将代码高速缓存218中(例如,在给定时间段或其它事件之后)其状态仍为“未使用的”的代码返回给代码管理机构服务220的实例。
图5是用于使用图1和2的基础设施建模软件架构来向基础设施元件分配代码的示例简化步骤序列500的流程图,特别聚焦于三部分代码的生成。在步骤510处,代码管理机构服务220的实例确定代码的代码规范部分310。代码管理机构部分可以是对代码规范226的引用。在步骤520处,代码管理机构服务220确定代码范围部分320,该代码范围部分320指示代码管理机构保证代码是唯一的范围界定的附加层。在步骤530处,代码管理机构服务220确定代码值部分330,其可以是基于代码范围226的排序指令的序列值。在步骤540处,代码管理机构服务220的实例将代码规范部分310、代码范围部分320和代码值部分330连结,以创建用作代码232的字符串。在步骤550处,代码管理机构210的实例,特别是远程缓存代码管理机构216,向基础设施元件分配代码232。在步骤560处,客户端输出代码,例如根据需要将其显示给用户,或者将其提供给另一应用。
总之,以上描述详细描述了用于在基础设施建模软件架构中高效地协调对基础设施元件分配代码的技术。应当理解的是,可以对所述技术进行各种各样的适配和修改。一般而言,可以以软件、硬件或其各种组合的形式来实现功能。软件实施方式可以包括存储在非暂时性电子设备可读介质(例如,非暂时性计算机可读介质)中的电子设备可执行指令(例如,计算机可执行指令),所述非暂时性电子设备可读介质诸如易失性存储器、持久性存储设备或其它有形介质。硬件实施方式可以包括逻辑电路、专用集成电路和/或其它类型的硬件组件。另外,组合的软件/硬件实施方式可以包括存储在非暂时性电子设备可读介质中的电子设备可执行指令以及一个或多个硬件组件二者。最重要的是,应当理解的是,进行以上描述旨在仅作为示例。
Claims (26)
1.一种用于向基础设施元件分配代码的方法,所述基础设施元件描述基础设施建模软件架构中的基础设施的各个单元,所述方法包括:
通过在客户端本地的计算设备上执行的代码管理机构,访问在远离客户端的一个或多个计算设备上执行的代码管理机构服务,所述访问建立从客户端本地的计算设备上的代码管理机构到远程计算设备上的代码管理机构服务的管理机构链;
由代码管理机构向代码管理机构服务提供期望代码范围;
在代码管理机构处从代码管理机构服务接收在代码范围内唯一的一个或多个代码;
通过代码管理机构,向基础设施元件分配来自一个或多个代码的代码;
在客户端可访问的一个或多个文件中存储代码;以及
根据请求,在客户端的用户接口中向用户显示基础设施元件的所分配的代码。
2.根据权利要求1所述的方法,其中所述一个或多个代码是多个代码,并且所述方法进一步包括:
在代码管理机构的代码高速缓存中缓存一个或多个代码;以及
将一个或多个未使用的代码从代码管理机构返回到代码管理机构服务。
3.根据权利要求1所述的方法,进一步包括:
用一个或多个文件中的代码管理机构记录来标识代码管理机构,代码管理机构记录包括具有主机部分和路径部分的统一资源定位符(URL),所述主机部分包括授权代码管理机构的公司的互联网域中的域名,所述路径部分包括代码管理机构的类名。
4.根据权利要求1所述的方法,进一步包括:
用一个或多个文件中的代码管理机构记录来标识代码管理机构服务,代码管理机构记录包括统一资源定位符(URL),统一资源定位符(URL)包括主机部分和查询部分,所述主机部分包括授权代码管理机构服务的公司的互联网域中的域名,所述查询部分指示代码范围。
5.根据权利要求1所述的方法,其中代码范围是定义了代码在企业上唯一的企业范围的范围。
6.根据权利要求1所述的方法,其中代码范围是定义了代码在企业的资产上唯一的资产特定范围。
7.根据权利要求1所述的方法,其中一个或多个文件维护来自在远离客户端的一个或多个计算设备上维护的存储库的数据的至少一部分的同步副本。
8.根据权利要求1所述的方法,其中每个代码包括代码规范部分、代码范围部分和代码值部分,所述代码规范部分指示什么信息被编码到代码中以及其是如何被编码的,所述代码范围部分基于代码管理机构保证代码是唯一的边界,所述代码值部分具有唯一值。
9.根据权利要求1所述的方法,其中代码管理机构由统一资源定位符(URL)标识,统一资源定位符(URL)包括在公司的互联网域中授权代码管理机构的公司的域名以及代码管理机构的类名。
10.根据权利要求1所述的方法,其中代码范围部分包括指示范围界定层的字符串,以及代码值部分包括基于代码规范的排序指令的字符串。
11.一种用于向基础设施元件分配代码的方法,所述基础设施元件描述基础设施建模软件架构中的基础设施的各个单元,所述方法包括:
基于用于定义什么信息被编码到代码中以及其是如何被编码的代码规范来确定代码规范部分;
基于在计算设备上执行的代码管理机构保证代码唯一的边界来确定代码范围部分;
确定具有唯一值的代码值部分;
将代码规范部分、代码范围部分和代码值部分连结以创建代码;
通过在计算设备上执行的代码管理机构,向客户端可访问的一个或多个文件中的基础设施元件分配代码;以及
在客户端的用户接口中向用户显示基础设施元件的所分配的代码。
12.根据权利要求11所述的方法,其中代码管理机构用具有主机部分和路径部分的统一资源定位符(URL)来标识,主机部分包括授权代码管理机构的公司的互联网域中的域名,路径部分包括代码管理机构的类名。
13.根据权利要求11所述的方法,其中代码管理机构是远程缓存代码管理机构,并且代码管理机构服务在远离负责代码的计算设备的一个或多个计算设备上执行。
14.根据权利要求13所述的方法,其中代码管理机构服务用具有主机部分和查询部分的统一资源定位符(URL)来标识,主机部分包括授权代码管理机构服务的公司的互联网域中的域名,查询部分指示被代码管理机构服务利用的代码范围。
15.根据权利要求14所述的方法,其中代码范围是代码在其上唯一的企业的企业范围的范围。
16.根据权利要求14所述的方法,其中代码范围是代码在其上唯一的企业的资产的资产特定范围。
17.根据权利要求11所述的方法,其中代码范围部分包括指示范围界定层的字符串。
18.根据权利要求11所述的方法,其中代码值部分包括基于代码规范的排序指令的字符串。
19.根据权利要求11所述的方法,其中执行代码管理机构的计算设备在客户端本地,并且由在远离客户端的一个或多个计算设备上执行的代码管理机构服务来执行确定代码规范部分、确定代码范围部分、确定代码值部分以及连结。
20.一种基础设施建模软件架构,用于向描述基础设施的各个单元的基础设施元件分配代码,包括:
客户端,其维护包括向其分配代码的基础设施元件的一个或多个文件,所述客户端具有向用户显示基础设施元件的代码的用户接口;
代码管理机构,其在客户端本地的计算设备上执行,所述代码管理机构包括可分配给基础设施元件的代码的代码高速缓存;
代码管理机构服务,其在远离客户端的一个或多个计算设备上执行,所述代码管理机构服务向客户端本地的计算设备上的代码管理机构提供管理机构链,所述代码管理机构服务被配置为:
从代码管理机构接收期望代码范围,
生成在代码范围内唯一的一个或多个代码,
向代码管理机构提供在代码范围内唯一的一个或多个代码;以及
其中所述代码管理机构被配置为:
向基础设施元件分配来自一个或多个代码的代码;
在客户端可访问的一个或多个文件中存储代码;
根据请求,在客户端的用户接口中向用户显示基础设施元件的所分配的代码。
21.根据权利要求20所述的基础设施建模软件架构,其中所述一个或多个代码是多个代码,并且代码管理机构进一步被配置为:
在代码高速缓存中缓存多个代码;以及
将来自代码高速缓存的一个或多个未使用的代码返回到代码管理机构服务。
22.根据权利要求20所述的基础设施建模软件架构,其中一个或多个文件包括代码管理机构记录,所述代码管理机构记录用URL来标识代码管理机构,所述URL包括授权代码管理机构的公司的互联网域中的域名和代码管理机构的类名。
23.根据权利要求20所述的基础设施建模软件架构,其中一个或多个文件包括代码管理机构记录,所述代码管理机构记录用包括主机部分和查询部分的URL来标识代码管理机构服务,主机部分包括授权代码管理机构服务的公司的互联网域中的域名,查询部分指示由代码管理机构服务利用的代码范围。
24.根据权利要求20所述的基础设施建模软件架构,其中一个或多个文件维护来自远离客户端的一个或多个计算设备上维护的存储库的数据的至少一部分的同步副本,并且一个或多个文件中的基础设施元件是存储库中的基础设施元件的副本。
25.根据权利要求20所述的基础设施建模软件架构,其中每个代码包括代码规范部分、代码范围部分和代码值部分,代码规范部分标识代码规范,代码规范指示什么信息被编码到代码中以及其是如何被编码的,代码范围部分基于代码管理机构保证代码唯一的边界,代码值部分具有唯一值。
26.一种用于向基础设施元件分配代码的基础设施建模软件架构,所述基础设施元件描述基础设施的各个单元,其包括:
客户端,其维护包括向其分配代码的基础设施元件的一个或多个文件,所述客户端具有向用户显示基础设施元件的代码的用户接口;
代码管理机构,其在客户端本地的计算设备上执行,所述代码管理机构包括可分配给基础设施元件的代码的代码高速缓存;以及
代码管理机构服务,其在远离客户端的一个或多个计算设备上执行,所述代码管理机构服务被配置为:
确定标识代码规范的代码规范部分,所述代码规范指示什么信息被编码到代码中以及其是如何被编码的,
确定基于代码管理机构保证代码唯一的边界的代码范围部分,
确定具有唯一值的代码值部分,
将代码规范部分、代码范围部分和代码值部分连结以创建代码,以及
向代码管理机构提供代码,以向一个或多个文件中的基础设施元件分配。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/700506 | 2017-09-11 | ||
US15/700,506 US11138529B2 (en) | 2017-09-11 | 2017-09-11 | Techniques for coordinating codes for infrastructure modeling |
PCT/US2018/038748 WO2019050599A1 (en) | 2017-09-11 | 2018-06-21 | CODING COORDINATION TECHNIQUES FOR INFRASTRUCTURE MODELING |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111316297A true CN111316297A (zh) | 2020-06-19 |
CN111316297B CN111316297B (zh) | 2024-04-23 |
Family
ID=63077936
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201880058897.XA Active CN111316297B (zh) | 2017-09-11 | 2018-06-21 | 用于协调用于基础设施建模的代码的技术 |
Country Status (4)
Country | Link |
---|---|
US (1) | US11138529B2 (zh) |
EP (1) | EP3682390B1 (zh) |
CN (1) | CN111316297B (zh) |
WO (1) | WO2019050599A1 (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11392559B2 (en) | 2017-10-10 | 2022-07-19 | Bentley Systems, Incorporated | Techniques for alignment of source infrastructure data with a BIS conceptual schema |
US11144309B2 (en) | 2018-10-12 | 2021-10-12 | Bentley Systems, Incorporated | Changeset conflict rebasing |
US11727173B2 (en) | 2020-12-16 | 2023-08-15 | Lendlease Digital IP Pty Limited | System and method for automatically generating an optimized building floor plate layout |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020052792A1 (en) * | 2000-06-14 | 2002-05-02 | Johnson Kevin C. | Sales tax assessment, remittance and collection system |
US20070294711A1 (en) * | 2006-06-15 | 2007-12-20 | Microsoft Corporation | Locating services using compiled scopes |
US8655757B1 (en) * | 2005-06-30 | 2014-02-18 | Oracle International Corporation | System and method for assigning a unique asset identity |
WO2014042687A1 (en) * | 2012-09-14 | 2014-03-20 | Brophy Kevin M | A global identification number and portal platform technology |
US20140122897A1 (en) * | 2011-12-31 | 2014-05-01 | Rakesh Dodeja | Securing device environment for trust provisioning |
US20140181274A1 (en) * | 2012-12-10 | 2014-06-26 | Guillaume Yves Bernard BAZIN | System and method for ip network semantic label storage and management |
US8856540B1 (en) * | 2010-12-29 | 2014-10-07 | Amazon Technologies, Inc. | Customized ID generation |
US20150222517A1 (en) * | 2014-02-05 | 2015-08-06 | Apple Inc. | Uniform communication protocols for communication between controllers and accessories |
US20150269488A1 (en) * | 2014-03-18 | 2015-09-24 | Outbrain Inc. | Provisioning personalized content recommendations |
US20160277530A1 (en) * | 2015-03-17 | 2016-09-22 | Pulzze Systems, Inc. | System, non-transitory computer readable medium storing a computer readable program for executing a method for an interaction logic through the system, and iot interaction system |
US20170171201A1 (en) * | 2015-12-09 | 2017-06-15 | Canon Kabushiki Kaisha | Authorization delegation system, information processing apparatus, authorization server, control method, and storage medium |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5220674A (en) * | 1987-07-17 | 1993-06-15 | Digital Equipment Corporation | Local area print server for requesting and storing required resource data and forwarding printer status message to selected destination |
US7890390B2 (en) | 2006-10-12 | 2011-02-15 | International Business Machines Corporation | Managing part number preferredness |
DE102006051186A1 (de) | 2006-10-30 | 2008-05-08 | Siemens Ag | Infrastruktur-Servicearchitektur für Applikationen |
US10733057B2 (en) | 2015-10-30 | 2020-08-04 | Bently Systems, Incorporated | Techniques for application undo and redo using SQL patchsets or changesets |
-
2017
- 2017-09-11 US US15/700,506 patent/US11138529B2/en active Active
-
2018
- 2018-06-21 WO PCT/US2018/038748 patent/WO2019050599A1/en unknown
- 2018-06-21 CN CN201880058897.XA patent/CN111316297B/zh active Active
- 2018-06-21 EP EP18749193.1A patent/EP3682390B1/en active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020052792A1 (en) * | 2000-06-14 | 2002-05-02 | Johnson Kevin C. | Sales tax assessment, remittance and collection system |
US8655757B1 (en) * | 2005-06-30 | 2014-02-18 | Oracle International Corporation | System and method for assigning a unique asset identity |
US20070294711A1 (en) * | 2006-06-15 | 2007-12-20 | Microsoft Corporation | Locating services using compiled scopes |
US8856540B1 (en) * | 2010-12-29 | 2014-10-07 | Amazon Technologies, Inc. | Customized ID generation |
US20140122897A1 (en) * | 2011-12-31 | 2014-05-01 | Rakesh Dodeja | Securing device environment for trust provisioning |
WO2014042687A1 (en) * | 2012-09-14 | 2014-03-20 | Brophy Kevin M | A global identification number and portal platform technology |
US20140181274A1 (en) * | 2012-12-10 | 2014-06-26 | Guillaume Yves Bernard BAZIN | System and method for ip network semantic label storage and management |
US20150222517A1 (en) * | 2014-02-05 | 2015-08-06 | Apple Inc. | Uniform communication protocols for communication between controllers and accessories |
US20150269488A1 (en) * | 2014-03-18 | 2015-09-24 | Outbrain Inc. | Provisioning personalized content recommendations |
US20160277530A1 (en) * | 2015-03-17 | 2016-09-22 | Pulzze Systems, Inc. | System, non-transitory computer readable medium storing a computer readable program for executing a method for an interaction logic through the system, and iot interaction system |
US20170171201A1 (en) * | 2015-12-09 | 2017-06-15 | Canon Kabushiki Kaisha | Authorization delegation system, information processing apparatus, authorization server, control method, and storage medium |
Also Published As
Publication number | Publication date |
---|---|
US11138529B2 (en) | 2021-10-05 |
EP3682390B1 (en) | 2023-06-07 |
US20190081847A1 (en) | 2019-03-14 |
EP3682390A1 (en) | 2020-07-22 |
CN111316297B (zh) | 2024-04-23 |
WO2019050599A1 (en) | 2019-03-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11875400B2 (en) | Systems, methods, and apparatuses for dynamically assigning nodes to a group within blockchains based on transaction type and node intelligence using distributed ledger technology (DLT) | |
US10853354B2 (en) | Method of generating globally verifiable unique identifiers using a scalable interlinked blockchain structure | |
US11971865B2 (en) | Intelligent model hierarchy for infrastructure modeling | |
US11159331B2 (en) | Traceability of a multi-actor job string by block chain, allowing at least two levels of confidence in the information stored | |
US20130338972A1 (en) | Building information management (bim) enablement platform of bim data model, data management services apis, restful apis for bim content and meta data hosting, format exchange, and workflow enablement | |
US8886590B2 (en) | Master data management in a data warehouse/data mart | |
Heinze et al. | Architecture of a consent management suite and integration into IHE-based regional health information networks | |
WO2020076395A1 (en) | Data collection and pattern analysis in a decentralized network | |
US20090234880A1 (en) | Remote storage and management of binary object data | |
CN111316297B (zh) | 用于协调用于基础设施建模的代码的技术 | |
Platenius-Mohr et al. | Interoperable digital twins in IIoT systems by transformation of information models: A case study with asset administration shell | |
CN111858615A (zh) | 数据库表生成方法、系统、计算机系统和可读存储介质 | |
WO2022035613A1 (en) | Data exchange availability, listing visibility, and listing fulfillment | |
CN113220633B (zh) | 统一文件编码管理方法及系统 | |
Stockhause et al. | Quality assessment concept of the World Data Center for Climate and its application to CMIP5 data | |
US20100251207A1 (en) | Framework for variation oriented analysis for service-oriented architecture | |
CN115114372A (zh) | 基于区块链的数据处理方法、装置、设备及可读存储介质 | |
Kim | Design pattern based model transformation with tool support | |
Lange et al. | Defining and delimitating distributed ledger technology: results of a structured literature analysis | |
CN114817395A (zh) | 数字资产的关联处理方法、装置、计算机可读介质及电子设备 | |
CN115017185A (zh) | 一种数据处理方法、装置及存储介质 | |
Varadharajulu et al. | Spatial data supply chains | |
US20150019451A1 (en) | Decision basis for benefits program | |
US8805883B1 (en) | Systems and methods for publishing profiled content | |
Ozcelik | Blockchain-oriented geospatial architecture model for real-time land registration |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |