CN112882765B - 数字孪生模型调度方法和装置 - Google Patents
数字孪生模型调度方法和装置 Download PDFInfo
- Publication number
- CN112882765B CN112882765B CN202110123378.0A CN202110123378A CN112882765B CN 112882765 B CN112882765 B CN 112882765B CN 202110123378 A CN202110123378 A CN 202110123378A CN 112882765 B CN112882765 B CN 112882765B
- Authority
- CN
- China
- Prior art keywords
- digital twin
- scheduled
- twin model
- starting
- user
- 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.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44505—Configuring for program initiating, e.g. using registry, configuration files
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45562—Creating, deleting, cloning virtual machine instances
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45575—Starting, stopping, suspending or resuming virtual machine instances
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供了数字孪生模型调度方法和装置,该方法包括:接收用户发送的对待调度数字孪生模型的调度请求;根据所述调度请求,获取所述待调度数字孪生模型;确定用于启动所述待调度数字孪生模型的启动参数;利用所确定的所述启动参数启动所述待调度数字孪生模型,并获取所述待调度数字孪生模型的运行状态参数;判断所述运行状态参数是否符合预设的运行规则;如果是,则确定完成所述待调度数字孪生模型的调度。本方案能够提高数字孪生模型的调度效率。
Description
技术领域
本发明涉及数字孪生模型管理技术领域,特别涉及数字孪生模型调度方 法和装置。
背景技术
数字孪生技术目前在工业生产、仿真预测、航空航天等领域得到了一定 程度的落地应用,对业务***建立数字孪生模型,可以实现对该业务***的 实时监控,也可以根据输入的时间源推演得到在该业务***下的发展结果, 实现对该业务***的预测。
目前,针对包含多个数字孪生模型的业务***,例如,城市孪生模型, 其中所包括交通数字孪生模型、车辆数字孪生模型和天气数字孪生模型等, 对该城市孪生模型进行管理调度时,由于涉及的数字孪生模型较多,对应不 同的业务甚至需要依赖不同的管理员频繁地进行调度操作,且易受人为因素 影响,从而导致针对数字孪生模型的调度效率较低。
发明内容
本发明实施例提供了数字孪生模型调度方法和装置,能够提高数字孪生 模型的调度效率。
第一方面,本发明提供了数字孪生模型调度方法,包括:
可选地,接收用户发送的对待调度数字孪生模型的调度请求;
根据所述调度请求,获取所述待调度数字孪生模型;
确定用于启动所述待调度数字孪生模型的启动参数;
利用所确定的所述启动参数启动所述待调度数字孪生模型,并获取所述 待调度数字孪生模型的运行状态参数;
判断所述运行状态参数是否符合预设的运行规则;
如果是,则确定完成所述待调度数字孪生模型的调度。
可选地,所述判断所述运行状态参数是否符合预设的运行规则,包括:
判断所述运行状态参数是否小于第一预设参数阈值;
如果是,则确定完成对所述待调度数字孪生模型的调度;
如果否,则判断所述运行状态参数是否小于第二预设参数阈值;其中, 所述第二预设参数阈值大于所述第一预设参数阈值;
如果所述运行状态参数小于所述第二预设参数阈值,则根据预设规则增 加所述待调度数字孪生模型的运行实例的数量;其中,所述调度请求中包括 所述待调度数字孪生模型的运行实例的初始数量;
如果所述运行状态参数不小于所述第二预设参数阈值,则确定所述待调 度数字孪生模型运行异常,并向所述用户发送提醒信息;其中,所述提醒信 息用于提醒用户所述待调度数字孪生模型运行异常。
可选地,在所述确定完成所述待调度数字孪生模型的调度之后,进一步 包括:
接收用户发送的对当前正在运行的所述待调度数字孪生模型的管理请 求;其中,所述管理请求包括对所述待调度数字孪生模型的运行实例的数量 的增加或删减;
根据所述管理请求,对当前正在运行的所述待调度数字孪生模型进行管 理。
可选地,在所述确定完成所述待调度数字孪生模型的调度之后,进一步 包括:
接收用户发送的对所述待调度数字孪生模型的更新请求;
获取所述更新请求中所包括的用户参数和待更新文件;其中,所述用户 参数用于表征用户的更新权限信息;
根据所述用户参数判断所述用户是否具有更新权限;
如果所述用户具有更新权限,则将所述待更新文件进行加密存储,并利 用所述待更新文件对所述待调度数字孪生模型进行更新。
可选地,在所述获取所述待调度数字孪生模型之后,在所述利用所确定 的所述启动参数启动所述待调度数字孪生模型之前,进一步包括:
将所获取的所述待调度数字孪生模型封装为docker镜像;
确定用于启动所述待调度数字孪生模型的启动参数;
将所述启动参数转化为对应所述docker镜像的第一启动参数;其中,所 述第一启动参数用于对封装为所述docker镜像的所述待调度数字孪生模型进 行启动。
可选地,
所述待调度数字孪生模型由实体、至少一个组件和至少一个***构建获 得;其中,所述实体由所述待调度数字孪生模型中的物理实体信息所确定; 所述至少一个组件实体根据所述实体所包括的至少一类属性信息而生成,且 组件中包括该类属性信息的属性数据,且不同组件中包括不同类属性信息; 所述至少一个***用于对所述至少一个组件所包括的属性数据进行处理。
第二方面,本发明提供了数字孪生模型调度装置,包括:
接收模块,用于接收用户发送的对待调度数字孪生模型的调度请求;
获取模块,用于根据由所述接收模块所接收的所述调度请求,获取所述 待调度数字孪生模型;并确定用于启动所述待调度数字孪生模型的启动参数;
运行模块,用于利用由所述获取模块所确定的所述启动参数启动所述待 调度数字孪生模型,并获取所述待调度数字孪生模型的运行状态参数;
判断模块,用于判断由所述运行模块所获取的所述运行状态参数是否符 合预设的运行规则;
确定模块,用于在所述判断模块的判断结果为是时,确定完成所述待调 度数字孪生模型的调度。
可选地,
所述判断模块,还用于执行如下操作:
判断所述运行状态参数是否小于第一预设参数阈值;
如果是,则确定完成对所述待调度数字孪生模型的调度;
如果否,则判断所述运行状态参数是否小于第二预设参数阈值;其中, 所述第二预设参数阈值大于所述第一预设参数阈值;
如果所述运行状态参数小于所述第二预设参数阈值,则根据预设规则增 加所述待调度数字孪生模型的运行实例的数量;其中,所述调度请求中包括 所述待调度数字孪生模型的运行实例的初始数量;
如果所述运行状态参数不小于所述第二预设参数阈值,则确定所述待调 度数字孪生模型运行异常,并向所述用户发送提醒信息;其中,所述提醒信 息用于提醒用户所述待调度数字孪生模型运行异常。
第三方面,本发明实施例提供了一种数字孪生模型调度装置,其特征在 于,包括:至少一个存储器和至少一个处理器;
所述至少一个存储器,用于存储机器可读程序;
所述至少一个处理器,用于调用所述机器可读程序,执行上述第一方面 或第一方面的任一可能的实现方式所提供的方法。
第四方面,本发明实施例提供了计算机可读介质,所述计算机可读介质 上存储有计算机指令,所述计算机指令在被处理器执行时,使所述处理器执 行上述第一方面或第一方面的任一可能的实现方式所提供的方法。
本发明提供了数字孪生模型调度方法和装置,该方法通过接收用户发送 的对待调度数字孪生模型的调度请求,获取该待调度数字孪生模型,并确定 用于启动该待调度数字孪生模型的启动参数,以利用该启动参数启动待调度 数字孪生模型,同时获取启动后待调度数字孪生模型的运行状态参数,当判断该运行状态参数符合预设的运行规则时,则确定完成了对该待调度数字孪 生模型的调度。由此可见,基于该数字孪生模型调度方法,用户通过发送调 度请求便可以完成对数字孪生模型的调度,而无需依赖管理员进行频繁地调 度操作,只需要通过服务调用的方式即实现对待调度数字孪生模型进行调度, 因此提高了对数字孪生模型的调度效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实 施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面 描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不 付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一个实施例提供的一种数字孪生模型调度方法的流程图;
图2是本发明一个实施例提供的一种数字孪生模型调度装置所在设备的示 意图;
图3是本发明一实施例提供的一种数字孪生模型调度装置的示意图;
图4是本发明一实施例提供的另一种数字孪生模型调度方法的流程图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发 明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述, 显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例,基于 本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所 获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,本发明实施例提供了数字孪生模型调度方法,该方法可以 包括以下步骤:
步骤101:接收用户发送的对待调度数字孪生模型的调度请求;
步骤102:根据调度请求,获取待调度数字孪生模型;
步骤103:确定用于启动待调度数字孪生模型的启动参数;
步骤104:利用所确定的启动参数启动待调度数字孪生模型,并获取待 调度数字孪生模型的运行状态参数;
步骤105:判断运行状态参数是否符合预设的运行规则;
步骤106:如果是,则确定完成待调度数字孪生模型的调度。
本发明实施例提供了数字孪生模型调度方法,通过接收用户发送的对待 调度数字孪生模型的调度请求,获取该待调度数字孪生模型,并确定用于启 动该待调度数字孪生模型的启动参数,以利用该启动参数启动待调度数字孪 生模型,同时获取启动后待调度数字孪生模型的运行状态参数,当判断该运 行状态参数符合预设的运行规则时,则确定完成了对该待调度数字孪生模型的调度。由此可见,基于该数字孪生模型调度方法,用户通过发送调度请求 便可以完成对数字孪生模型的调度,而无需依赖管理员进行频繁地调度操作,只需要通过服务调用的方式即实现对待调度数字孪生模型进行调度,因此提 高了对数字孪生模型的调度效率。
需要说明的是,用户可以是用户端、客户端或移动终端设备等。
在本发明实施例中,根据所述调度请求,可以确定用于运行所述待调度 数字孪生模型的主机或虚拟机,并获取所述待调度数字孪生模型。具体地, 可以运行一个或同时运行多个该待调度数字孪生模型,确定至少一个主机, 在一个主机上部署并运行一个该待调度数字孪生模型或多个该待调度数字孪 生模型。具体地,根据调度请求,从预先存储的数字孪生模型库中获取已构建好的待调度数字孪生模型。
在本发明实施例中,数字孪生模型本身为Java的可执行程序,并不是 web服务,运行和计算并不占用服务器端口资源,而且该数字孪生模型的数 据交互依赖于定义模型的数据总线服务,模型运行仅依赖本身所申请的内存 资源和CPU资源。因此基于可执行程序,该数字孪生模型可以调度部署在任一计算机或虚拟机中运行,使得调度更加方便,其中部署在一个计算机中运 行的该数字孪生模型即为该数字孪生模型的一个运行实例。
在本发明实施例中,确定用于启动所述待调度数字孪生模型的启动参数。 具体地,由于数字孪生模型本身为Java的可执行程序,因此对应每一个数字 孪生模型均存在用于启动该数字孪生模型的运行脚本(即启动参数),利用 该运行脚本可以启动对应的数字孪生模型。具体地,在获取到启动参数之后, 还需要获取该数字孪生模型运行时需要进行交互的数据总线服务地址、运行 频率和运行环境参数等,以完成对该数字孪生模型的运行环境的部署,在该 运行环境的基础上利用启动参数启动该数字孪生模型。
可选地,在图1所示数字孪生模型调度方法中,步骤105中判断运行状 态参数是否符合预设的运行规则,包括:
判断运行状态参数是否小于第一预设参数阈值;
如果是,则确定完成对待调度数字孪生模型的调度;
如果否,则判断运行状态参数是否小于第二预设参数阈值;其中,第二 预设参数阈值大于第一预设参数阈值;
如果运行状态参数小于第二预设参数阈值,则根据预设规则增加待调度 数字孪生模型的运行实例的数量;其中,调度请求中包括待调度数字孪生模 型的运行实例的初始数量;
如果运行状态参数不小于第二预设参数阈值,则确定待调度数字孪生模 型运行异常,并向用户发送提醒信息;其中,提醒信息用于提醒用户待调度 数字孪生模型运行异常。
在本发明实施例中,当判断结果为运行状态参数小于第一预设参数阈值 时(即符合预设的运行规则),则确定完成对待调度数字孪生模型的调度。 当判断结果为运行状态参数不小于第一预设参数阈值且小于第二预设参数阈 值时,则根据预设规则增加待调度数字孪生模型的运行实例的数量;当判断 结果为判断结果为运行状态参数不小于第一预设参数阈值且不小于第二预设 参数阈值时,则确定待调度数字孪生模型运行异常,并向用户发送提醒信息; 其中,提醒信息用于提醒用户待调度数字孪生模型运行异常。其中,每一个 正在运行的该待调度数字孪生模型为一个运行实例,每一个运行实例均标记有不同的编号,以便用户区分和查找。
在本发明实施例中,可以周期性地获取待调度数字孪生模型的每一个运 行实例的当前运行状态参数,以便实时确定该数字孪生模型的运行是否正常, 从而便于用户及时作出调整和响应,提高用户的使用体验。其中。运行状态 参数包括每一个该数字孪生模型运行时占据主机资源的性能参数(比如,主机CPU使用率、内存使用率、存储空间的使用量)以及每一个该数字孪生模 型的运行参数(比如,当前是否在运行、运行时长、数据获取的频率/周期)。
在本发明实施例中,具体地,根据预设规则增加待调度数字孪生模型的 运行实例的数量,该预设规则中预先存有包括运行状态参数、第一预设参数 阈值和运行实例的增加数量的对应关系。例如,调度请求中包括待调度公交 车数字孪生模型的运行实例的初始数量为1,当该公交车数字孪生模型运行时所占用主机资源的性能参数为80%,大于第一预设参数阈值(70%)且小 于第二预设参数阈值(90%),则确定当前主机的负载偏高,可以对应增加 2个运行实例并部署在其他主机中,其中,预设规则为运行状态参数比第一 预设参数每多出5%,则对应增加初始数量个运行实例。如此,通过增加数 字孪生模型的运行实例,可以实现多个数字孪生模型的并行处理,在完成用 户的调度请求的基础上,同时实现了对应该数字孪生模型的业务需求的高效 处理。
具体地,当一个该数字孪生模型的数据获取的频率/周期大于预设频率/ 周期时,同样可以确定待调度数字孪生模型运行异常,并向用户发送提醒信 息。
在本发明实施例中,具体地,确定待调度数字孪生模型运行异常,则向 用户发送提醒信息,该提醒信息中包括运行异常的运行实例的编号,用户在 接收到提醒信息后,会根据编号将该运行异常的运行实例进行关闭,再重新 启动一个新的运行实例以保证完成用户的调度请求。
可选地,在图1所示数字孪生模型调度方法中,在步骤106确定完成待 调度数字孪生模型的调度之后,进一步包括:
接收用户发送的对当前正在运行的待调度数字孪生模型的管理请求;其 中,管理请求包括对待调度数字孪生模型的运行实例的数量的增加或删减;
根据管理请求,对当前正在运行的待调度数字孪生模型进行管理。
在本发明实施例中,在完成待调度数字孪生模型的调度之后,当接收到 用户发送的对当前正在运行的待调度数字孪生模型的管理请求,可以根据管 理请求,对待调度数字孪生模型的运行实例的数量的增加或删减。
在本发明实施例中,用户通过发生管理请求便可以实现对当前正在运行 的数字孪生模型的管理,而无需依赖专业的管理人员进行操作,从而基于该 微服务化的方式实现了对数值孪生模型的灵活调度与管理,进一步提高了提 高数字孪生模型的调度效率。
可选地,在图1所示数字孪生模型调度方法中,在步骤106确定完成待 调度数字孪生模型的调度之后,进一步包括:
接收用户发送的对待调度数字孪生模型的更新请求;
获取更新请求中所包括的用户参数和待更新文件;其中,用户参数用于 表征用户的更新权限信息;
根据用户参数判断用户是否具有更新权限;
如果用户具有更新权限,则将待更新文件进行加密存储,并利用待更新 文件对待调度数字孪生模型进行更新。
在本发明实施例中,在完成待调度数字孪生模型的调度之后,当接收到 用户发送的对待调度数字孪生模型的更新请求时,首先获取更新请求中所包 括的用户参数和待更新文件,用户参数可以为用户证书等用于表征用户的更 新权限信息,更新权限信息为有更新权限和无更新全新。如果用户有更新权 限,则将待更新文件进行加密存储至数据库中,同时对该数据库进行更新,以便后续调用使用该待更新文件,提高了该待更新文件的复用性。而且对该 待更新文件进行加密存储,可以防止其他用户对该待更新文件进行篡改或非法获取,同时又不影响调用和使用,保证了该待更新文件的安全性和可靠性。
需要说明的是,该待更新文件为新版本的待调度数字孪生模型,即新版 本的Java可执行程序,利用待更新文件对待调度数字孪生模型进行更新,则 可以实现新版本的待调度数字孪生模型的运行。
可选地,在图1所示数字孪生模型调度方法中,在步骤102获取待调度 数字孪生模型之后,在步骤104利用所确定的启动参数启动待调度数字孪生 模型之前,进一步包括:
将所获取的待调度数字孪生模型封装为docker镜像;
确定用于启动待调度数字孪生模型的启动参数;
将启动参数转化为对应docker镜像的第一启动参数;其中,第一启动参 数用于对封装为docker镜像的待调度数字孪生模型进行启动。
在本发明实施例中,在获取待调度数字孪生模型之后,还可以将所获取 的待调度数字孪生模型封装为docker镜像,再确定用于启动待调度数字孪生 模型的启动参数,并将启动参数转化为对应docker镜像的第一启动参数,以 利用第一启动参数对封装为docker镜像的待调度数字孪生模型进行启动。
在本发明实施例中,docker为一个开源的应用容器引擎,用于提供一种 应用的自动化部署,能够将应用(本身为java可执行程序的数字孪生模型) 及依赖包(包括应用的运行环境)打包到轻量级虚拟机中,以使运行数字孪生模型时不用再考虑其运行环境,实现快速部署和运行。docker镜像就是一 种轻量级、可执行的包括应用和运行环境的独立软件程序包,由此,利用 docker镜像便无需再对运行频率和运行环境参数等进行提前部署。
在本发明实施例中,基于一个docker镜像可以启动多个docker容器,将 数字孪生模型部署在docker容器上可以实现该数字孪生模型的快速启动,而 且对资源的利用率更高,能够更好的节省主机空间以支撑更多的数字孪生模 型运行,从而进一步提高了数字孪生模型的调度效率。
具体地,在步骤104中可以获取待调度数字孪生模型在docker容器的运 行状态参数,如此基于docker容器的运行状态参数可以确定是否需要增加待 调度数字孪生模型的运行实例的数量以及待调度数字孪生模型运行是否异 常。
可选地,在图1所示数字孪生模型调度方法中,
待调度数字孪生模型由实体、至少一个组件和至少一个***构建获得; 其中,实体由待调度数字孪生模型中的物理实体信息所确定;至少一个组件 实体根据实体所包括的至少一类属性信息而生成,且组件中包括该类属性信 息的属性数据,且不同组件中包括不同类属性信息;至少一个***用于对至 少一个组件所包括的属性数据进行处理。
在本发明实施例中,待调度数字孪生模型的构建方法包括:
根据该待调度数字孪生模型所对应的物理实体信息确定实体;
确定实体所包括的至少一类属性信息;
针对每一类属性信息,均执行:根据所确定的该类属性信息,生成包括 该类属性信息的组件;其中,组件中包括该类属性信息的属性数据,且不同 组件中包括不同类属性信息;
根据业务需求和至少一个组件,从预先构建的***库中确定至少一个系 统;其中,至少一个***用于对至少一个组件所包括的属性数据进行处理;
根据实体、至少一个组件和至少一个***,生成源代码,以根据源代码 生成对应业务需求的数字孪生模型。
在本发明实施例中,对于组件中该类属性信息的属性数据的获得,首先 从预先构建的***库中确定数据传输***,通过数据传输***从物理实体中 周期性地获取至少一类属性数据,针对每一类属性数据,均执行:确定该类 属性数据的属性信息,并确定包括该属性信息的组件,以及将该类属性数据 对应存储在该组件中,获得包括有属性数据的组件。
在本发明实施例中,实体为一个普通的对象,包含了用于标记对应业务 需求中的物理实体信息的ID值,实例本身不包含数据。实体用于索引表示 该实体的不同类属性数据的集合,即实体包括多个组件,数据均来自组件。
在本发明实施例中,组件中仅包括数据,并不包括逻辑或方法。而是通 过***来实现对应组件的逻辑或方法,***通常用于操作包含有一类属性信 息的组件,***定义了如何对该组件中包括的属性数据进行处理。如此,通 过组件和***将实体中的数据和逻辑分离,并将实体中所涉及的复杂操作拆分开来,由多个***实现,实现各***之间的隔离,实现低耦合的高效并行 运行;同时由于开发人员只需要关心自己负责的***,能够及时对该***进 行维护,从而降低了维护难度和成本。
如图2、图3所示,本发明实施例提供了数字孪生模型调度装置。装置 实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。从 硬件层面而言,如图2所示,为本发明实施例提供的数字孪生模型调度装置 所在设备的一种硬件结构图,除了图2所示的处理器、内存、网络接口、以 及非易失性存储器之外,实施例中装置所在的设备通常还可以包括其他硬件, 如负责处理报文的转发芯片等等。以软件实现为例,如图3所示,作为一个逻辑意义上的装置,是通过其所在设备的CPU将非易失性存储器中对应的计 算机程序指令读取到内存中运行形成的。本实施例提供的数字孪生模型调度 装置,包括:
接收模块301,用于接收用户发送的对待调度数字孪生模型的调度请求;
获取模块302,用于根据由接收模块301所接收的调度请求,获取待调 度数字孪生模型;并确定用于启动待调度数字孪生模型的启动参数;
运行模块303,用于利用由获取模块302所确定的启动参数启动待调度 数字孪生模型,并获取待调度数字孪生模型的运行状态参数;
判断模块304,用于判断由运行模块303所获取的运行状态参数是否符 合预设的运行规则;
确定模块305,用于在判断模块304的判断结果为是时,确定完成待调 度数字孪生模型的调度。
可选地,在图3所示数字孪生模型调度装置的基础上,判断模块304还 用于执行如下操作:
判断运行状态参数是否小于第一预设参数阈值;
如果是,则确定完成对待调度数字孪生模型的调度;
如果否,则判断运行状态参数是否小于第二预设参数阈值;其中,第二 预设参数阈值大于第一预设参数阈值;
如果运行状态参数小于第二预设参数阈值,则根据预设规则增加待调度 数字孪生模型的运行实例的数量;其中,调度请求中包括待调度数字孪生模 型的运行实例的初始数量;
如果运行状态参数不小于第二预设参数阈值,则确定待调度数字孪生模 型运行异常,并向用户发送提醒信息;其中,提醒信息用于提醒用户待调度 数字孪生模型运行异常。
可选地,在图3所示数字孪生模型调度装置的基础上,该装置进一步包 括:管理模块,该管理模块用于执行如下操作:
接收用户发送的对当前正在运行的待调度数字孪生模型的管理请求;其 中,管理请求包括对待调度数字孪生模型的运行实例的数量的增加或删减;
根据管理请求,对当前正在运行的待调度数字孪生模型进行管理。
可选地,在图3所示数字孪生模型调度装置的基础上,该装置进一步包 括更新模块,该更新模块用于执行如下操作:
接收用户发送的对待调度数字孪生模型的更新请求;
获取更新请求中所包括的用户参数和待更新文件;其中,用户参数用于 表征用户的更新权限信息;
根据用户参数判断用户是否具有更新权限;
如果用户具有更新权限,则将待更新文件进行加密存储,并利用待更新 文件对待调度数字孪生模型进行更新。
可选地,在图3所示数字孪生模型调度装置的基础上,该装置进一步包 括docker模块,该docker模块用于执行如下操作:
将所获取的待调度数字孪生模型封装为docker镜像;
确定用于启动待调度数字孪生模型的启动参数;
将启动参数转化为对应docker镜像的第一启动参数;其中,第一启动参 数用于对封装为docker镜像的待调度数字孪生模型进行启动。
在本发明实施例中,数字孪生模型调度装置可以是用于调度数字孪生模 型的平台。该数字孪生模型调度装置中还包括模型管理模块、主机管理模块、 更换模块、核心模块、通信模块、监控模块以及自定义模块,如此基于该数 字孪生模型调度装置可以进一步能够提高数字孪生模型的调度效率。
具体地,模型管理模块用于存储各种构建好的数字孪生模型,即该模型 管理模块中包括数字孪生模型库,获取模块302从模型管理模块中获取待调 度数字孪生模型,同时由更新模块所获取的待更新文件也将加密存储在该模 型管理模块中,用户可以查看和在该装置中使用所有构建好的数字孪生模型。主机管理模块,用于为用户提供用于运行待调度数字孪生模型的主机或虚拟 机,用户可以通过该主机管理模块选择将要部署待调度数字孪生模型的主机 或虚拟机。更换模块,用于对正在运行的数字孪生模型进行注销、更换等管 理操作。核心模块,用于对数字孪生模块进行启动或停止运行操作。通信模 块,用于待调度数字孪生模型从与之对应的物理实体所包括的物联网设备中 周期性获取实时数据。监控模块,用于监控每一个数字孪生模型的运行状态,主要通过判断模块304对周期性获取的运行状态参数的判断结果确定各数字 孪生模型的运行状态。自定义模块,用于用户自定义该数字孪生模型调度装 置的功能,以按照用户需求对数字孪生模型进行调度管理,如此用户可灵活 地定义相应的功能,提高了用户的使用体验,同时提高了该数字孪生模型调 度装置的可扩展性和灵活性。
上述装置内的各模块之间的信息交互、执行过程等内容,由于与本发明 方法实施例基于同一构思,具体内容可参见本发明方法实施例中的叙述,此 处不再赘述。
为了更加清楚地说明本发明的技术方案及优点,如图4所示,下面对本 发明实施例提供的数字孪生模型调度方法进行详细的说明,具体包括:
步骤401:接收调度请求,获取待调度数字孪生模型。
具体地,数字孪生模型调度装置接收用户发送的对待调度数字孪生模型 的调度请求,根据调度请求,从模型管理模块中获取待调度数字孪生模型。 其中,调度请求中包括待调度数字孪生模型的运行实例的初始数量。
例如,调度请求为调度公交车数字孪生模型分别应用于A市的20辆相 同型号的公交车上,即待调度数字孪生模型为公交车数字孪生模型,运行实 例的初始数量为20。根据该调度请求,从模型管理模块中获取该公交车数字 孪生模型,并通过docker模块确定20个用于运行该公交车数字孪生模型的 docker容器。
步骤402:启动待调度数字孪生模型,并获取待调度数字孪生模型的运 行状态参数。
具体地,将所获取的待调度数字孪生模型封装为docker镜像;确定用于 启动待调度数字孪生模型的启动参数;将启动参数转化为对应docker镜像的 第一启动参数;利用第一启动参数对封装为docker镜像的待调度数字孪生模 型进行启动,并获取待调度数字孪生模型的运行状态参数。
例如,接前例所述,利用docker模块将从模型管理模块中获取的公交车 数字孪生模型及其运行环境参数等封装为docker镜像,同时获取该公交车数 字孪生模型的运行脚本(即启动参数),将该运行脚本根据映射关系转化为 对应该docker镜像的第一运行脚本(即第一启动参数),利用该第一运行脚 本在docker容器中启动该docker镜像。具体地,在每一个docker容器中, 分别进行docker镜像复制,再利用第一运行脚本在该docker容器中启动复制 的docker镜像,使公交车数字孪生模型在该docker容器中运行(即一个运行 实例),并周期性地获取该公交车数字模型在该docker容器中的运行状态参 数。然后,通过通信模块将20个docker容器中运行的运行实例分别与20辆 公交车建立通信连接,由此,可以将对应连接的公交车的编号发送给运行实例,以对每一个运行实例进行编号对应现实世界中行驶的公交车,从而实现 了公交车数字孪生模型与现实世界中公交车的快速匹配。
步骤403:判断运行状态参数是否符合预设的运行规则。
具体地,判断运行状态参数是否小于第一预设参数阈值;如果是,则执 行步骤404,确定完成对待调度数字孪生模型的调度;如果否,则判断运行 状态参数是否小于第二预设参数阈值;如果运行状态参数小于第二预设参数 阈值,则根据预设规则增加待调度数字孪生模型的运行实例的数量;如果运 行状态参数不小于第二预设参数阈值,则确定待调度数字孪生模型运行异常, 并向用户发送提醒信息;其中,提醒信息用于提醒用户待调度数字孪生模型运行异常;第二预设参数阈值大于第一预设参数阈值;调度请求中包括待调度数字孪生模型的运行实例的初始数量。
例如,接前例所述,针对获取的每一个docker容器中运行实例的当前运 行状态参数,如果均存在运行状态参数不小于第一预设参数阈值,且大于第 二预设参数阈值时,则确定当前各docker容器中的公交车数字孪生模型的负载偏高,需要按照预设规则对应增加运行实例的数量,以实现多个公交车孪 生模型的高效并行运行。
步骤404:确定完成待调度数字孪生模型的调度。
具体地,当判断模块304的判断结果为运行状态参数符合预设的运行规 则,即运行状态参数小于第一预设参数阈值时,则确定完成了对待调度数字 孪生模型的调度。同时,监控模块还用于通过判断模块304的判断结果实现对各待调度数字孪生模型的周期性监控。
步骤405:对待调度数字孪生模型进行更新。
具体地,数字孪生模型调度装置接收用户发送的对待调度数字孪生模型 的更新请求,获取更新请求中所包括的用户参数和待更新文件;根据用户参 数判断用户是否具有更新权限;如果用户具有更新权限,则将待更新文件进 行加密存储,并利用待更新文件对待调度数字孪生模型进行更新;其中,用 户参数用于表征用户的更新权限信息。
例如,接前例所述,开发人员对A市的20辆公交车的数字孪生模型进 行了更新,对原有的数字孪生模型进行了完善。开发人员要采用更新的公交 车数字孪生模型(比如,2.0版公交车数字孪生模型)进行运行,则首先需 要将2.0版公交车数字孪生模型存储在模型管理模块中。具体地,用户向数 字孪生模型调度装置发送针对公交车的更新请求,该装置根据更新请求获取该用户的用户参数和2.0版公交车数字孪生模型(即待更新文件),在确认 该用户为具有更新权限的开发人员时,则将该2.0版公交车数字孪生模型进 行加密存储至模型管理模块中,如此也方便所有用户对2.0版公交车数字孪 生模型进行调度,利用该2.0版公交车数字孪生模型进行更新后,A市的20 辆公交车所对应的运行实例均为该2.0版公交车数字孪生模型。
本发明实施例还提供了一种数字孪生模型调度装置,包括:至少一个存 储器和至少一个处理器;
所述至少一个存储器,用于存储机器可读程序;
所述至少一个处理器,用于调用所述机器可读程序,执行本发明任一实 施例所述的方法。
本发明实施例还提供了数字孪生模型调度装置,所述计算机可读介质上 存储有计算机指令,所述计算机指令在被处理器执行时,使所述处理器执行本发明任一实施例所述的方法。
可以理解的是,本发明实施例示意的结构并不构成对数据引用查询装置 的具体限定。在本发明的另一些实施例中,数据引用查询装置可以包括比图 示更多或者更少的部件,或者组合某些部件,或者拆分某些部件,或者不同 的部件布置。图示的部件可以以硬件、软件或者软件和硬件的组合来实现。
具体地,可以提供配有存储介质的***或者装置,在该存储介质上存储 着实现上述实施例中任一实施例的功能的软件程序代码,且使该***或者装 置的计算机(或CPU或MPU)读出并执行存储在存储介质中的程序代码。
在这种情况下,从存储介质读取的程序代码本身可实现上述实施例中任 何一项实施例的功能,因此程序代码和存储程序代码的存储介质构成了本发 明的一部分。
用于提供程序代码的存储介质实施例包括软盘、硬盘、磁光盘、光盘(如 CD-ROM、CD-R、CD-RW、DVD-ROM、DVD-RAM、DVD-RW、DVD+RW)、 磁带、非易失性存储卡和ROM。可选择地,可以由通信网络从服务器计算机 上下载程序代码。
此外,应该清楚的是,不仅可以通过执行计算机所读出的程序代码,而 且可以通过基于程序代码的指令使计算机上操作的操作***等来完成部分或 者全部的实际操作,从而实现上述实施例中任意一项实施例的功能。
此外,可以理解的是,将由存储介质读出的程序代码写到***计算机内 的扩展板中所设置的存储器中或者写到与计算机相连接的扩展单元中设置的 存储器中,随后基于程序代码的指令使安装在扩展板或者扩展单元上的CPU 等来执行部分和全部实际操作,从而实现上述实施例中任一实施例的功能。
需要说明的是,在本文中,诸如第一和第二之类的关系术语仅仅用来将 一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这 些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、 “包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系 列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有 的要素。在没有更多限制的情况下,由语句“包括一个〃····〃”限定 的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另 外的相同因素。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤 可以通过程序指令相关的硬件来完成,前述的程序可以存储在计算机可读取 的存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述 的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介 质中。
最后需要说明的是:以上所述仅为本发明的较佳实施例,仅用于说明本 发明的技术方案,并非用于限定本发明的保护范围。凡在本发明的精神和原 则之内所做的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
Claims (9)
1.数字孪生模型调度方法,其特征在于,包括:
接收用户发送的对待调度数字孪生模型的调度请求;
根据所述调度请求,获取所述待调度数字孪生模型;
确定用于启动所述待调度数字孪生模型的启动参数;
利用所确定的所述启动参数启动所述待调度数字孪生模型,并获取所述待调度数字孪生模型的运行状态参数;
判断所述运行状态参数是否符合预设的运行规则;
如果是,则确定完成所述待调度数字孪生模型的调度;
在所述获取所述待调度数字孪生模型之后,在所述利用所确定的所述启动参数启动所述待调度数字孪生模型之前,进一步包括:
将所获取的所述待调度数字孪生模型封装为docker镜像;
确定用于启动所述待调度数字孪生模型的启动参数;
将所述启动参数转化为对应所述docker镜像的第一启动参数;其中,所述第一启动参数用于对封装为所述docker镜像的所述待调度数字孪生模型进行启动。
2.根据权利要求1所述的方法,其特征在于,所述判断所述运行状态参数是否符合预设的运行规则,包括:
判断所述运行状态参数是否小于第一预设参数阈值;
如果是,则确定完成对所述待调度数字孪生模型的调度;
如果否,则判断所述运行状态参数是否小于第二预设参数阈值;其中,所述第二预设参数阈值大于所述第一预设参数阈值;
如果所述运行状态参数小于所述第二预设参数阈值,则根据预设规则增加所述待调度数字孪生模型的运行实例的数量;其中,所述调度请求中包括所述待调度数字孪生模型的运行实例的初始数量;
如果所述运行状态参数不小于所述第二预设参数阈值,则确定所述待调度数字孪生模型运行异常,并向所述用户发送提醒信息;其中,所述提醒信息用于提醒用户所述待调度数字孪生模型运行异常。
3.根据权利要求1所述的方法,其特征在于,在所述确定完成所述待调度数字孪生模型的调度之后,进一步包括:
接收用户发送的对当前正在运行的所述待调度数字孪生模型的管理请求;其中,所述管理请求包括对所述待调度数字孪生模型的运行实例的数量的增加或删减;
根据所述管理请求,对当前正在运行的所述待调度数字孪生模型进行管理。
4.根据权利要求1所述的方法,其特征在于,在所述确定完成所述待调度数字孪生模型的调度之后,进一步包括:
接收用户发送的对所述待调度数字孪生模型的更新请求;
获取所述更新请求中所包括的用户参数和待更新文件;其中,所述用户参数用于表征用户的更新权限信息;
根据所述用户参数判断所述用户是否具有更新权限;
如果所述用户具有更新权限,则将所述待更新文件进行加密存储,并利用所述待更新文件对所述待调度数字孪生模型进行更新。
5.根据权利要求1-4中任一所述的方法,其特征在于,
所述待调度数字孪生模型由实体、至少一个组件和至少一个***构建获得;其中,所述实体由所述待调度数字孪生模型中的物理实体信息所确定;所述至少一个组件实体根据所述实体所包括的至少一类属性信息而生成,且组件中包括该类属性信息的属性数据,且不同组件中包括不同类属性信息;所述至少一个***用于对所述至少一个组件所包括的属性数据进行处理。
6.数字孪生模型调度装置,其特征在于,包括:
接收模块,用于接收用户发送的对待调度数字孪生模型的调度请求;
获取模块,用于根据由所述接收模块所接收的所述调度请求,获取所述待调度数字孪生模型;并确定用于启动所述待调度数字孪生模型的启动参数;
运行模块,用于利用由所述获取模块所确定的所述启动参数启动所述待调度数字孪生模型,并获取所述待调度数字孪生模型的运行状态参数;
判断模块,用于判断由所述运行模块所获取的所述运行状态参数是否符合预设的运行规则;
确定模块,用于在所述判断模块的判断结果为是时,确定完成所述待调度数字孪生模型的调度;
所述装置进一步包括docker模块,该docker模块用于执行如下操作:
将所获取的待调度数字孪生模型封装为docker镜像;
确定用于启动待调度数字孪生模型的启动参数;
将启动参数转化为对应docker镜像的第一启动参数;其中,第一启动参数用于对封装为docker镜像的待调度数字孪生模型进行启动。
7.根据权利要求6所述的装置,其特征在于,
所述判断模块,还用于执行如下操作:
判断所述运行状态参数是否小于第一预设参数阈值;
如果是,则确定完成对所述待调度数字孪生模型的调度;
如果否,则判断所述运行状态参数是否小于第二预设参数阈值;其中,所述第二预设参数阈值大于所述第一预设参数阈值;
如果所述运行状态参数小于所述第二预设参数阈值,则根据预设规则增加所述待调度数字孪生模型的运行实例的数量;其中,所述调度请求中包括所述待调度数字孪生模型的运行实例的初始数量;
如果所述运行状态参数不小于所述第二预设参数阈值,则确定所述待调度数字孪生模型运行异常,并向所述用户发送提醒信息;其中,所述提醒信息用于提醒用户所述待调度数字孪生模型运行异常。
8.数字孪生模型调度装置,其特征在于,包括:至少一个存储器和至少一个处理器;
所述至少一个存储器,用于存储机器可读程序;
所述至少一个处理器,用于调用所述机器可读程序,执行权利要求1至5中任一所述的方法。
9.计算机可读介质,其特征在于,所述计算机可读介质上存储有计算机指令,所述计算机指令在被处理器执行时,使所述处理器执行权利要求1至5中任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110123378.0A CN112882765B (zh) | 2021-01-29 | 2021-01-29 | 数字孪生模型调度方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110123378.0A CN112882765B (zh) | 2021-01-29 | 2021-01-29 | 数字孪生模型调度方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112882765A CN112882765A (zh) | 2021-06-01 |
CN112882765B true CN112882765B (zh) | 2023-10-20 |
Family
ID=76053465
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110123378.0A Active CN112882765B (zh) | 2021-01-29 | 2021-01-29 | 数字孪生模型调度方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112882765B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113111545B (zh) * | 2021-06-16 | 2021-09-10 | 中铁第一勘察设计院集团有限公司 | 高原铁路用氧环境及制氧设备的数字孪生*** |
CN115484032A (zh) * | 2022-09-13 | 2022-12-16 | 中国联合网络通信集团有限公司 | 数字孪生数据安全存储方法、装置、电子设备及存储介质 |
CN115826935B (zh) * | 2023-02-14 | 2023-04-28 | 中国航空油料集团有限公司 | 基于统一语言中间件的数字孪生模型集成***及方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110347131A (zh) * | 2019-07-18 | 2019-10-18 | 中国电子科技集团公司第三十八研究所 | 面向生产的数字孪生*** |
CN112001079A (zh) * | 2020-08-24 | 2020-11-27 | 当家移动绿色互联网技术集团有限公司 | 适用于港口的集装箱模型渲染方法和装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10564993B2 (en) * | 2017-11-07 | 2020-02-18 | General Electric Company | Contextual digital twin runtime environment |
-
2021
- 2021-01-29 CN CN202110123378.0A patent/CN112882765B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110347131A (zh) * | 2019-07-18 | 2019-10-18 | 中国电子科技集团公司第三十八研究所 | 面向生产的数字孪生*** |
CN112001079A (zh) * | 2020-08-24 | 2020-11-27 | 当家移动绿色互联网技术集团有限公司 | 适用于港口的集装箱模型渲染方法和装置 |
Non-Patent Citations (2)
Title |
---|
关于武器***数字孪生的若干思考;周军华 等;***仿真学报(04);全文 * |
机加零件的数字孪生模型构建方法;邹琦 等;航空制造技术(03);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN112882765A (zh) | 2021-06-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112882765B (zh) | 数字孪生模型调度方法和装置 | |
CN109558748B (zh) | 数据处理方法、装置、电子设备及存储介质 | |
CN107317730B (zh) | 用于监控区块链节点状态的方法、设备和*** | |
CN103380423B (zh) | 用于私人云计算的***和方法 | |
US20070005320A1 (en) | Model-based configuration management | |
US9438645B2 (en) | Correlating computing network events | |
KR101610830B1 (ko) | 어플리케이션 실행 장치 및 방법 | |
US8838777B2 (en) | Web service management | |
US20050223101A1 (en) | Computer-implemented method, system and program product for resolving prerequisites for native applications utilizing an open service gateway initiative ( OSGi) framework | |
US20110296393A1 (en) | Systems and methods for generating an encoded package profile based on executing host processes | |
CN105827428A (zh) | 资产信息的管理方法及装置 | |
CN105765533A (zh) | 用于固件虚拟化的方法和装置 | |
US11769067B2 (en) | Topology-based migration assessment | |
CN112906206B (zh) | 数字孪生模型构建方法和装置 | |
CN114706690A (zh) | 一种Kubernetes容器共享GPU方法及*** | |
CN111124591B (zh) | 一种镜像传输方法、装置、电子设备及存储介质 | |
KR20150133902A (ko) | 소프트웨어 제품 라인에 기반한 서비스 개발 시스템 및 방법 | |
JP5891969B2 (ja) | 排他制御プログラム、該装置、及び該方法 | |
CN111131474A (zh) | 一种基于区块链管理用户协议的方法、设备及介质 | |
US11841760B2 (en) | Operating system for collecting and transferring usage data | |
US20230409710A1 (en) | Allow list of container images based on deployment configuration at a container orchestration service | |
CN109218259B (zh) | 许可管理方法及装置、applm功能实体及计算机可读存储介质 | |
CN112882892B (zh) | 数据处理方法和装置、电子设备及存储介质 | |
CN109947435A (zh) | 服务器集群软件环境的部署方法及*** | |
CN113835889A (zh) | 获取输入事件的方法和相关装置 |
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 |