[go: up one dir, main page]

WO2024138785A1 - Thing object digitization method for metaverse system development - Google Patents

Thing object digitization method for metaverse system development Download PDF

Info

Publication number
WO2024138785A1
WO2024138785A1 PCT/CN2023/070604 CN2023070604W WO2024138785A1 WO 2024138785 A1 WO2024138785 A1 WO 2024138785A1 CN 2023070604 W CN2023070604 W CN 2023070604W WO 2024138785 A1 WO2024138785 A1 WO 2024138785A1
Authority
WO
WIPO (PCT)
Prior art keywords
mos
muo
access
data
primitive
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.)
Ceased
Application number
PCT/CN2023/070604
Other languages
French (fr)
Chinese (zh)
Inventor
齐德昱
姚凤民
朱子江
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guangzhou Future Information Technology Research Institute
Guangdong University of Foreign Studies
Original Assignee
Guangzhou Future Information Technology Research Institute
Guangdong University of Foreign Studies
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Guangzhou Future Information Technology Research Institute, Guangdong University of Foreign Studies filed Critical Guangzhou Future Information Technology Research Institute
Publication of WO2024138785A1 publication Critical patent/WO2024138785A1/en
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/35Creation or generation of source code model driven
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication

Definitions

  • the metaverse encompasses all aspects of economy, politics, culture, science and technology, and is an advanced version of the digital society. Under the metaverse technology, all things and affairs in the real world exist and are carried out based on digital space. Everything is virtual, everything is real, and the virtual and the real are fully integrated. It can be understood as an upgrade of the current network-based transaction processing system, and its goal is to make the operation of the real world highly automated, intelligent, and scientific.
  • the metaverse expands the human survival state from the real world to the digital world, and is a new form of human survival. Therefore, the development of metaverse technology and applications is to develop the latest information technology, which is to enable scientific empowerment for life and production.
  • the MOS (Meta Object Sochet) method is a system construction method based on the networked fusion of objects, which regards a system as formed by the assembled fusion of objects based on the object base.
  • Objects here refer to the elements that constitute the system, such as people, objects, equipment, tools, computer software, and data in the physical world, also known as ubiquitous objects.
  • the basic software component is the MOS object MUO (MOS Ubiquitous Object)
  • the basic operation of the software component is MUO fusion
  • the fusion mode is a multi-bipartite graph
  • the fusion control is based on the assembly of MUO.
  • MOS is the driver of MUO, supporting the operation of MUO, that is, the runtime; in terms of structure, MOS is the assembly platform of MUO, equivalent to the motherboard, supporting the interaction of various components on the board, so MOS is also called object template, object socket, object base, etc.
  • MOS has the following functions.
  • ⁇ Software architecture A new software architecture is proposed, which takes network nodes representing subsystem service functions as software components and the fusion of nodes based on bipartite multigraph mode as the interaction between software components. It is a network as software (NaaS, Netware as a Software) architecture.
  • NaaS Netware as a Software
  • MOS supports attaching the user’s own smart contract code to MOS, which is executed in an event-driven manner to perform established functions on behalf of the user, including blockchain operations, distributed intelligent control, etc.
  • MOS is an information system construction method that supports users to construct information systems based on this method.
  • MOS is a support environment and tool for software development and operation, including development support and operation support (runtime).
  • the pane access instructions have three operations: read, write, and read-then-write. Buttons only have write (key press) instructions, file tables only have read instructions, command ports only have write instructions, and pipes and queues have all three operations.
  • the pane access instruction modes are as follows:
  • EIRP Extract, Injection and Respond Protocol
  • a bipartite multigraph is essentially a number of "adjacent" bipartite graphs.
  • the two vertices associated with each edge in each bipartite graph belong to two different vertex sets.
  • the transceiver mechanism is responsible for communication and interaction with external objects, and is divided into a receiver and a transmitter.
  • the receiver monitors the messages in the window, and if it is a legitimate message, it receives the message and stores it in the message queue for the message scheduler to schedule and execute.
  • the transmitter is called by the message scheduler to send messages to external objects;
  • the injection data guide in the table indicates the storage location of the input data required for the processor execution
  • the extraction data guide indicates the storage location of the output data generated by the processor execution
  • the next call object (window, sash, pane) indicates the table entry of the next configuration table that needs to be executed after the processor of the corresponding table entry is executed.
  • FIG1 is a diagram of the architecture of the MOS base and the MUO network system
  • the complete MOS implementation includes the MOS base (the key to the implementation of the assembled port MOS) and the implementation of the interactive interface.
  • MOS Servlet-based MOS
  • AjaxMOS AJAX-based implementation
  • Internal data structures are data structures that are only used for internal work within MOS and are not accessible to MOS users. This type of data structure mainly includes the following types.
  • ⁇ Message queue stores various pending messages of the system, and allows the message scheduler to retrieve messages from the message queue and execute corresponding message processing modules.
  • Messages include network data arrival messages, network data sending messages, user data arrival (generation) messages, event occurrence messages, etc.
  • ⁇ Output queue stores the service request results (messages) required for message processing.
  • the "sender” takes out the message through the queue interface and sends it out.
  • External data structures refer to data structures that support MOS users to access operations. This type of data structure is mainly used to configure MOS work, mainly including the following types.
  • Event mapping An event is a logical expression based on the system state variables. When the expression is true, it means that the event has occurred and an event is generated.
  • the event mapping table is used to define the event occurrence conditions and the subroutine required for event processing - the message processor, that is, event mapping.
  • ⁇ State variable definition table defines the correspondence between state variables and the PIPs that maintain their values.
  • the basic data item format in the state variable definition table is "variable name, current value, PIP”. It defines the PIP corresponding to the state variable named “variable name” and indicates that the current value is "current value”. The value of the state variable is determined by the execution of the corresponding PIP.
  • ⁇ Access Control Table Stores MOS access control information, including the account information of the root user and other registered users (account name, access password hash value, permissions, validity period, priority, etc.).
  • the root user is automatically generated when the system is generated, and the user is required to change the password immediately after use.
  • the root user only has the authority to manage other users (that is, only the authority to use the account setting command or MOS Manager), and no other permissions. Other users can be set by the root user through the MOS Manager or through the account setting command.
  • ⁇ Configuration logic defines the behavior and access control information of MOS, including the state collection strategy. Among them, the MOS assembly logic of the description of MOS behavior.
  • ⁇ Event detector Detects the occurrence of events based on the state table. Once an event occurs, an event occurrence message is generated and stored in the message queue.
  • ⁇ Thread Factory The main function is to create a thread for a specified PIP and start execution. It can be run in thread mode for situations with high performance requirements.
  • Garbage collector Its main function is to handle thread execution exceptions (timeout, overstorage, and other thread exceptions) and other resource usage exceptions. It can be run in thread mode for situations with high performance requirements.
  • ⁇ Data structure operation the implementation code of the access and operation interface of each data structure, in the form of objects.
  • ⁇ Sender The basic function is to implement network data sending. It is an API. When called, it takes out the current output data from the network output queue and sends it out through the network.
  • MOS Metal-oxide-semiconductor
  • startReceiver() //If you add the MOS window function, start the receiver thread
  • msgBus recervMsg(); //Receive data to the message buffer indicated by msgBus;
  • msg parserMOSMsg (msgBus); // parse the message and store it in the area indicated by msg;
  • msgBus msgQueue.getItem(scheduling policy); //Select a message from the message queue according to the specified scheduling policy;
  • PIPThreadMng //Detect the PIP thread and start the corresponding processing thread to handle it if an exception is found
  • MOS works in service mode. Logically, it listens to access requests from users and calls (scheduling, message distribution) the corresponding message processor PIP for processing. After processing, it generates (produces) the feedback result and calls the data sending PIP to send (echo) the produced data.
  • MOS's message monitoring, message sending and receiving, and message distribution are all implemented by MOS's basic functions, which are the same for all types of interfaces.
  • MOS's basic functions which are the same for all types of interfaces.
  • the interpretation of messages is different, and the corresponding data production and consumption are also different, so the corresponding message processors PIP are different. Therefore, the implementation of MOS's interface mainly requires the interface provider to implement the corresponding message processor PIP according to the specification.
  • A) Message Processor and Method Library A software module that prepares a corresponding message processor and its required method library for each interface; wherein the method library is a set of subprograms that support the work of the message processor;
  • Interface message configuration file Provides an interface message configuration file for MUO. This file indicates the name and location of the message handler corresponding to each interface.
  • the MOS interface support software is mainly the MOS message processor PIP.
  • some utility programs are set up for the message processor PIP to call.
  • the specifications of these subroutines are given here.
  • the model of the message processor PIP is not restricted here.
  • pipRes_interface identifier (message requester UO, message content, 7)
  • MOS plugin PIP
  • the message processor generally implements specific message processing by calling methods in the MOS method library. For UOM-based communication, it is also necessary to read and write UOM through the UOM-API in the method library;
  • the PIP name starts with "pipRes_” followed by a user-defined interface identifier.
  • the message content is in JSON format. Different interfaces have different structures. For details, see MOS interface definition.
  • the utility program is used to assist the implementation of the message processor and is called by the message processor or other modules to facilitate program implementation.
  • pipReq_interface identifier sending strategy
  • the sending strategy mainly includes the sending target, sender, number of retransmissions, and the location of the data to be sent;
  • the program For native MOS, the program prepares to send data, generates a send message, and stores it in the output queue.
  • the program For Servlet-MOS, the program directly calls the Servlet's send function to send the message.
  • this module When this module is running, it sends a request message to the corresponding UO according to the specified polling strategy to stimulate the message communication between the UO and the host MOS. Sending a request message to the UO is achieved by calling pipReq_interface identifier(). For native MOS, this program is not required.
  • This module is a member of the method library. Each time it is called, a round of polling is executed. This module is mainly called by the "polling controller".
  • the main contents of the polling strategy include:
  • Polling object scope Indicate the objects that need to be polled
  • This module is a member of the method library and is generally started by the system initialization module or other system modules. After starting, it will continue to run according to the set cycle until the termination condition in the polling control strategy is met.
  • the polling strategy describes the working mode of the controller, which mainly includes the following aspects:
  • Polling frequency supports calling the poller at a certain interval

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

The present invention relates to a provided MOS being a system construction method based on thing object digitization. The method supports creating, by means of dynamic assembly based on an MOS object base, twins in a data space for physical objects in a physical world that are related to a digital system, wherein said physical objects include people, things, instruments and equipment, data, and software and are called thing objects or ubiquitous objects, and performing, by means of network modeling, fusion oriented towards integration, value addition, inter-operation and crowd cooperation, and thus forming twins representing a physical system in the data space. The MOS object base is a software development and operation supporting environment, and can replace the new generation of software supporting environments of the present OS and realizes a lightweight and distributed supporting environment for an application system. The software architecture of MOS is a software-as-a-coverage network (SaaN) system and an object-as-a-system (OaaS) system, and is a natural micro-service modeling collaboration system.

Description

面向元宇宙系统开发的物对象数字化方法Object digitization method for metaverse system development 技术领域Technical Field

本发明涉及计算机支撑软件领域,尤其是数字化系统的构造的方法与支撑环境与工具以及数字孪生系统与元宇宙系统。The present invention relates to the field of computer support software, and in particular to methods for constructing digital systems, supporting environments and tools, as well as digital twin systems and metaverse systems.

背景技术Background technique

信息化技术是在计算机技术推动下发展起来的用电子信息描述与处理现实世界的事务的技术。初级的信息化技术处理的主要管理信息(Management Information),以至于许多计算机应用系统都是MIS。近年来兴起的数字化的概念,被认为是信息化的升级版。数字化与信息化的最大区别是信息化的范围与程度问题。数字化对事物的信息化从简单的管理信息扩展到全面的数字与数据描述。在数据化中,对象的各个方面都需要数字化--全息数字化,并基于数据进行操作访问。就目前情况而言,元宇宙是信息化或者数字化的最高境界。Information technology is a technology developed under the promotion of computer technology that uses electronic information to describe and process real-world affairs. Primary information technology mainly processes management information (Management Information), so many computer application systems are MIS. The concept of digitization that has emerged in recent years is considered to be an upgraded version of informatization. The biggest difference between digitization and informatization is the scope and degree of informatization. Digitalization extends the informatization of things from simple management information to comprehensive digital and data descriptions. In dataization, all aspects of the object need to be digitized-holographic digitization, and operations and access are based on data. As far as the current situation is concerned, the metaverse is the highest level of informatization or digitization.

元宇宙囊括了经济、政治、文化、科技等各个方面的内容,是进阶版的数字社会。在元宇宙技术下,现实世界中所有事物与事务都基于数字空间存在与进行,无物不虚拟,无虚不现实,虚实全融合,可以理解为目前的基于网络的事务处理系统的升级,其目标是使现实世界的运行高度自动化、智能化、科学化。元宇宙使人类的生存状态由现实世界扩展到数字世界,是人类的一种新的生存形态。因此,发展元宇宙技术与应用,就是发展最新的信息化技术,就是为生活生产实现科学赋能。The metaverse encompasses all aspects of economy, politics, culture, science and technology, and is an advanced version of the digital society. Under the metaverse technology, all things and affairs in the real world exist and are carried out based on digital space. Everything is virtual, everything is real, and the virtual and the real are fully integrated. It can be understood as an upgrade of the current network-based transaction processing system, and its goal is to make the operation of the real world highly automated, intelligent, and scientific. The metaverse expands the human survival state from the real world to the digital world, and is a new form of human survival. Therefore, the development of metaverse technology and applications is to develop the latest information technology, which is to enable scientific empowerment for life and production.

元宇宙概念从游戏被扩展到信息化领域后,在科学技术界引发了 一场风暴,背景被学术界、工业界推崇,而且得到许多国家的政府的高度重视。在国内,一些发达地区的政府纷纷出台规划或者政策来支持元宇宙技术的研究与应用。After the concept of the metaverse was expanded from games to the field of information technology, it caused a storm in the scientific and technological community. It was highly praised by the academic and industrial circles and received great attention from the governments of many countries. In China, governments in some developed regions have introduced plans or policies to support the research and application of metaverse technology.

数字孪生与元宇宙系统尽管都是计算机应用系统,但由于它们都是对物理世界的映射,所以,物理对象的数字化就成为关键的基础问题。另一方面,一个物理世界的系统,其本质上就是构成系统的各个物理对象之间的互操作与协同,因此,数字化了的物理对象的互操作与系统模式与支撑方法,就成为另一个关键问题。对这些新问题的解决,传统的软件开发方法及工具在效率与完备性等方面已经不能适应,亟待发展新的方法与工具。Although both digital twins and metaverse systems are computer application systems, since they are both mappings of the physical world, the digitization of physical objects becomes a key basic issue. On the other hand, a system in the physical world is essentially the interoperability and collaboration between the various physical objects that constitute the system. Therefore, the interoperability of digitized physical objects and the system model and support methods become another key issue. Traditional software development methods and tools are no longer able to adapt to the solution of these new problems in terms of efficiency and completeness, and new methods and tools are urgently needed.

发明内容Summary of the invention

一、发明目的1. Purpose of the Invention

本发明的主要目的是给出一种面向数字化领域的新的软件体系结构与软件构造方法,特别是面向数字孪生系统与元宇宙系统的高效高质量构造。重点获得下列问题的解决:The main purpose of this invention is to provide a new software architecture and software construction method for the digital field, especially for the efficient and high-quality construction of digital twin systems and metaverse systems. The focus is on solving the following problems:

1)解决传统的软件体系结构不能适应新的数字化系统的问题;1) Solve the problem that traditional software architecture cannot adapt to new digital systems;

2)解决传统的软件开发方法不适应新的数字化系统开发的问题2) Solve the problem that traditional software development methods are not suitable for the development of new digital systems

3)解决缺乏对构成现实世界系统的基于物对象建模方法;3) Address the lack of object-based modeling methods for real-world systems;

4)实现低代码软件开发;4) Enable low-code software development;

5)实现描述型与过程性型结合的软件描述问题。5) Implement software description problem that combines descriptive and procedural types.

6)解决应用软件与操作系统分离的问题。6) Solve the problem of separation of application software and operating system.

二、发明内容概述II. Summary of the Invention

MOS(Meta Object Sochet)方法是一种基于物对象的网络化融合的系统构造方法,将一个系统视为由物对象的基于对象基座的装配式的融合形成的。这里的物对象是指物理世界中的人、物、设备、工具、计算机软件、数据等构成系统的要素,也称泛在对象。The MOS (Meta Object Sochet) method is a system construction method based on the networked fusion of objects, which regards a system as formed by the assembled fusion of objects based on the object base. Objects here refer to the elements that constitute the system, such as people, objects, equipment, tools, computer software, and data in the physical world, also known as ubiquitous objects.

在该方法中,基本的软件成分是MOS对象MUO(MOS Ubiquitous Object),软件成分的基本操作为MUO融合,融合的模式是多重二部图,融合的控制基于MUO的装配。从效果上讲,MOS是MUO的驱动器,支撑MUO的运行,即运行时;从结构上讲,MOS是MUO的装配平台,相当于母版,支撑板子上的各个部件的交互,因此,MOS也称对象模板、对象插座、对象基座等。In this method, the basic software component is the MOS object MUO (MOS Ubiquitous Object), the basic operation of the software component is MUO fusion, the fusion mode is a multi-bipartite graph, and the fusion control is based on the assembly of MUO. In terms of effect, MOS is the driver of MUO, supporting the operation of MUO, that is, the runtime; in terms of structure, MOS is the assembly platform of MUO, equivalent to the motherboard, supporting the interaction of various components on the board, so MOS is also called object template, object socket, object base, etc.

归纳起来,MOS具有下列功用。In summary, MOS has the following functions.

■软件体系结构:给出一种新的软件体系结构,以代表子系统服务功能的网络节点为软件成分,以节点的基于二部多重图模式的融合为软件成分之间的交互,是一种网络即软件(NaaS,Netware as a Software)的体系结构。系统构造方式有两种:A)基本系统节点采用装配模式,属于我们的“格件”技术的横向融合技术;B)系统节点的基于二部多重图的纵向扩展,属于“格件”的纵向融合。■Software architecture: A new software architecture is proposed, which takes network nodes representing subsystem service functions as software components and the fusion of nodes based on bipartite multigraph mode as the interaction between software components. It is a network as software (NaaS, Netware as a Software) architecture. There are two ways to construct the system: A) The basic system nodes adopt the assembly mode, which belongs to the horizontal fusion technology of our "lattice" technology; B) The vertical expansion of system nodes based on bipartite multigraph belongs to the vertical fusion of "lattice".

■容器视角:MOS是泛在对象容器,将泛在对象进行标准化封装,形成MOS泛在对象,支撑泛在对象的服务化运行,支持用户以对象接口窗户、管道、库表、端口和按钮的形式访问泛在对象。因为MOS上的MUO是服务模式的软件模块,所以,MOS也是(微)服务容器。特 别是,如果泛在对象为数据,则MOS为数据对象容器■Container perspective: MOS is a ubiquitous object container, which encapsulates ubiquitous objects in a standardized manner to form MOS ubiquitous objects, supports the service-oriented operation of ubiquitous objects, and supports users to access ubiquitous objects in the form of object interface windows, pipes, library tables, ports, and buttons. Because MUO on MOS is a software module in service mode, MOS is also a (micro) service container. In particular, if the ubiquitous object is data, MOS is a data object container.

■智能合约引擎:MOS支持将用户自己的智能合约代码挂接到MOS上,通过事件驱动方式执行,代表用户执行既定功能,包括区块链操作、分布式智能控制等。■Smart Contract Engine: MOS supports attaching the user’s own smart contract code to MOS, which is executed in an event-driven manner to perform established functions on behalf of the user, including blockchain operations, distributed intelligent control, etc.

■代理视角:MOS是泛在对象的代理,支持用户通过它操作访问泛在对象。这里,泛在对象(UO,Ubiquitous Objects)是指各种可以通过连接接口连接到MOS的对象,包括仪器设备、计算机系统、数据、设施与物品、人员等。■Agent perspective: MOS is the agent of ubiquitous objects, supporting users to access ubiquitous objects through its operations. Here, ubiquitous objects (UO) refer to various objects that can be connected to MOS through connection interfaces, including instruments and equipment, computer systems, data, facilities and objects, personnel, etc.

■方法视角:MOS是一种信息化系统构造方法,支持用户基于该方法构造信息系统。■Method perspective: MOS is an information system construction method that supports users to construct information systems based on this method.

■支撑环境视角:MOS是一种软件开发与运行的支撑环境与工具,包括开发支撑与运行支撑(运行时)。■Support environment perspective: MOS is a support environment and tool for software development and operation, including development support and operation support (runtime).

■组件视角:MOS是一种软件组件,可做为软件成分来构造软件;工作机制是事件和消息驱动的事务处理,访问机制是标准化的软件界面访问。■Component perspective: MOS is a software component that can be used as a software component to construct software; the working mechanism is event and message-driven transaction processing, and the access mechanism is standardized software interface access.

■交互网关视角:MOS是一种对象交互支撑设施,支持泛在对象之间进行协议化的交互。■Interaction gateway perspective: MOS is an object interaction support facility that supports protocolized interaction between ubiquitous objects.

■边缘计算视角:MOS可用于实现边缘计算,支持用户将MOS所连接的泛在对象做为用户的边缘计算节点,实现数存储和业务逻辑。■Edge computing perspective: MOS can be used to implement edge computing, supporting users to use ubiquitous objects connected to MOS as their edge computing nodes to implement data storage and business logic.

■虚拟机视角:MUO的连接对象可以是基础计算设施中的独立可访问对象,如CPU、存储、IO接口等,讲这些对象的操作访问抽象为 MUO,就成为一种新的基础计算设施。■ From the perspective of virtual machines: MUO’s connection objects can be independent accessible objects in the basic computing facilities, such as CPU, storage, IO interface, etc. By abstracting the operation access of these objects as MUO, it becomes a new basic computing facility.

■运行支撑环境:MOS是一种应用软件的轻量级支撑环境,属于运行时,可直接在裸机上运行,无需专门的操作系统支撑,所以,也可以看做的操作系统OS的替代物。■Operation support environment: MOS is a lightweight support environment for application software. It belongs to the runtime and can be run directly on the bare metal without the need for special operating system support. Therefore, it can also be regarded as a substitute for the operating system OS.

三、物对象数字化基础设施—插座式装配器MOS3. Object Digital Infrastructure - Socket Assembler MOS

物对象(泛在对象)数字化主要内容是实现物对象的基于数字信息的展现、操作访问与交互,或者说是基本物对象的数字孪生。基本物对象的数字孪生的实现基于MOS基础设施。The main content of the digitization of objects (ubiquitous objects) is to realize the display, operation access and interaction of objects based on digital information, or the digital twin of basic objects. The realization of the digital twin of basic objects is based on the MOS infrastructure.

MOS是一个装配式软插座规范,支持用户将自己的物对象的数字化所需的成分接入插座,并通过灌入装配逻辑,形成物对象的在数字空间的数字孪生体,即MOS对象MUO,支持用户对物对象的数字化操作访问与网络化互操作。MOS is an assembled soft socket specification that supports users to connect the components required for the digitization of their own objects to the socket, and by injecting assembly logic, form a digital twin of the object in the digital space, namely the MOS object MUO, which supports users' digital operation access and networked interoperability of the object.

四、MUO的结构与访问接口4. MUO Structure and Access Interface

基于MOS形成的MUO是物对象在数字空间中的代理,它的与用户的交互界面称为MUO窗户。窗户由多个窗扇组成,而一个窗扇由一个窗口和多个窗扇组成,窗扇是由一个窗口和多个不同窗格复合而成。窗口的组成结构模式为“窗户(窗扇*(窗口,窗格*))”,这里,“*”表示它前面的元素可以多次重复出现。窗格是窗户的最小访问单位,用户对MOS窗户的访问都归结到对窗扇的窗格的访问。窗口是窗扇的与外界的交互通道,由同一窗扇下的各个窗格共用。每个窗扇称为一个MUO对象。MUO formed based on MOS is the agent of physical objects in digital space, and its interactive interface with users is called MUO window. A window is composed of multiple sashes, and a sash is composed of a window and multiple sashes, and a sash is composed of a window and multiple different panes. The composition structure pattern of a window is "window (sash*(window, pane*))", where "*" means that the element in front of it can be repeated multiple times. The pane is the smallest access unit of the window, and the user's access to the MOS window is attributed to the access to the pane of the sash. The window is the interaction channel between the sash and the outside world, and is shared by all the panes under the same sash. Each sash is called a MUO object.

窗格是MUO的最小访问单位,分为按钮、端口、管道、文件表、控制口五种。每一种都是对所属MUO对象的一种访问模式。A pane is the smallest access unit of MUO, which is divided into five types: button, port, pipe, file table, and control port. Each type is an access mode to the MUO object.

按钮代表触动访问,访问种类为按钮的点击或者长按。Button represents touch access, and the access type is a click or a long press of the button.

端口代表单数据访问,访问种类有读与写,端口中任何时刻每次都只有一条数据可被读取,也每次只有一条数据可注入,下次读取的数据由端口自身的生产逻辑确定。A port represents single data access. The access types are read and write. At any time, only one piece of data can be read from the port at a time, and only one piece of data can be injected at a time. The next data to be read is determined by the port's own production logic.

管道代表队列,访问种类有摘取与添加,它是一个按照既定逻辑生成的先进先出数据序列,摘取队列相当于从队列头部取出一个元素,添加队列相当于给队列尾部增加一个元素。The pipe represents a queue. The access types are extraction and addition. It is a first-in-first-out data sequence generated according to a given logic. Extracting a queue is equivalent to taking an element from the head of the queue, and adding a queue is equivalent to adding an element to the tail of the queue.

文件表代表命名的文件索引表,支持通过索引项访问文件视图的数据,即用户通过索引表调出的数据,形式为OS文件,而实际的数据的存储位置、格式等属性,由索引表定义,它的形成是文件表提供者通过提供文件生成器实现。不论具体是什么数据,通过索引表后即被系统自动转化为文件视图。索引表的结构如下:The file table represents a named file index table, which supports access to the data of the file view through index items, that is, the data called out by the user through the index table in the form of an OS file, and the storage location, format and other attributes of the actual data are defined by the index table, which is formed by the file table provider by providing a file generator. No matter what the specific data is, it will be automatically converted into a file view by the system after passing through the index table. The structure of the index table is as follows:

(文件ID,文件结构ID,文件生成器)(File ID, File Structure ID, File Generator)

这里,文件生成器是一个软件模块,由窗格提供者提供,用于按照既定的方法获取数据,并以文件形式提供个窗格的访问者。窗格访问者访问索引表,只需提供文件ID即可通过文件提供器获得一个文件形式的数据集以及它的结构信息。Here, the file generator is a software module provided by the pane provider, which is used to obtain data according to the established method and provide it to the visitors of each pane in the form of a file. The pane visitor accesses the index table and can obtain a data set in the form of a file and its structure information through the file provider by simply providing the file ID.

控制口支持外界对象向所属窗扇输入描述性控制指令序列与功能模块,实现对窗扇的功能进行动态配置。The control port supports external objects to input descriptive control instruction sequences and functional modules to the window sashes, thereby realizing dynamic configuration of the functions of the window sashes.

窗扇所属的窗口,是窗扇的与外界进行交互的通道。该通道分为操作通道与交互通道两种,外部对象通过窗格对应的窗口发送窗格访问指令实现对窗格的访问。操作通道用于传达外界到窗格的操作动作,即窗格操作指令,是窗格的操作接口;交互通道支持外界与窗扇的自定义的交互。窗口是通过支持外界与窗扇传递操作指令交互指令来实现操作与交互的。The window to which the sash belongs is the channel for the sash to interact with the outside world. This channel is divided into two types: operation channel and interaction channel. External objects access the pane by sending pane access instructions through the window corresponding to the pane. The operation channel is used to convey the operation actions from the outside world to the pane, that is, the pane operation instructions, which is the operation interface of the pane; the interaction channel supports the customized interaction between the outside world and the sash. The window realizes operation and interaction by supporting the outside world to transmit operation instructions and interaction instructions to the sash.

窗格访问指令有读、写和读后写三种操作。按钮只有写(按键)指令,文件表只有读指令,命令口只有写指令,管道和队列具备全部三种操作。窗格访问指令模式如下:The pane access instructions have three operations: read, write, and read-then-write. Buttons only have write (key press) instructions, file tables only have read instructions, command ports only have write instructions, and pipes and queues have all three operations. The pane access instruction modes are as follows:

<按钮访问指令>::="ButtonAccess"<ButtonOperID><PanelID><SashID><MosID><dataBuf>[operStat]<Button Access Command>::="ButtonAccess"<ButtonOperID><PanelID><SashID><MosID><dataBuf>[operStat]

<端口访问指令>::="PortAccess"<PortOperID><PanelID><SashID><MosID><dataBuf>[operStat]<Port Access Command>::="PortAccess"<PortOperID><PanelID><SashID><MosID><dataBuf>[operStat]

<管道访问指令>::="PipleAccess"<PipleOperID><PanelID><SashID><MosID><dataBuf>[operStat]<Pipeline Access Command>::="PipleAccess"<PipleOperID><PanelID><SashID><MosID><dataBuf>[operStat]

<文件表访问指令>::="FileindexAccess"<FileindexOperID><PanelID><SashID><MosID><dataBuf>[operStat]<File table access command>::="FileindexAccess"<FileindexOperID><PanelID><SashID><MosID><dataBuf>[operStat]

<控制口访问指令>::="ControlAccess"<ControlOperID><PanelID><SashID><MosID><dataBuf>[operStat]<Control port access command>::="ControlAccess"<ControlOperID><PanelID><SashID><MosID><dataBuf>[operStat]

ButtonOperID::="Write"ButtonOperID::="Write"

PortOperID::="Read"|"Write"|"RW"PortOperID::="Read"|"Write"|"RW"

<PipleOperID>::=PortOperID<PipleOperID>::=PortOperID

<FileindexOperID>::="Read"<FileindexOperID>::="Read"

<ControlOperID>::="Write"<ControlOperID>::="Write"

<PanelID><SashID><MosID>::=所访问的端口定位,三个部分分别是窗格、窗扇与窗户的标识;<PanelID><SashID><MosID>::=The port location being accessed, the three parts are the identification of the pane, sash and window respectively;

[operStat]::=指令的操作状态,缺省时表示不需要回送操作结果,值为0及正数表示成功,负数为不成功,具体数值表示成功或者不成功的原因或者其他信息,由用户自定义。[operStat]::=The operation status of the instruction. By default, it means that no operation result needs to be returned. A value of 0 or a positive number indicates success, and a negative number indicates failure. The specific value indicates the reason for success or failure or other information, which is defined by the user.

<dataBuf>::=数据存储区。对读操作是存储读出来的数据,对写操作是存放待写入的数据;对于先读后写指令,读出的数据存放在dataBuf尾部;对于按钮,其数值0不是普通点击,数值1表示长按3秒。<dataBuf>::=data storage area. For read operation, it stores the read data, and for write operation, it stores the data to be written. For read-before-write instructions, the read data is stored at the end of dataBuf. For buttons, a value of 0 is not a normal click, and a value of 1 means a long press for 3 seconds.

五、MOS交互协议5. MOS Interaction Protocol

装配式的软件插座MOS与外部对象(含MUO类型的对象以及其他类型的对象,下同)的交互基于抽注协议EIRP(Extract,Injection and Respond Protocol)来进行。外部对象对MUO窗格的操作指令的传递就基于EIRP。EIRP做为操作与交互的命令的描述与传递原语,框定了交互与操作命令的格式与传递规程。The interaction between the assembled software socket MOS and external objects (including MUO type objects and other types of objects, the same below) is based on the Extract, Injection and Respond Protocol (EIRP). The transmission of operation instructions from external objects to MUO panes is based on EIRP. As the description and transmission primitive of operation and interaction commands, EIRP defines the format and transmission procedures of interaction and operation commands.

EIRP以电报模式交互,由抽取原语Extract、注入原语Inject和响应原语Respond三种组成。Extract和Inject可以由任何对象发出,但Respond只能由MOS对象接受。EIRP原语的结构如下:EIRP interacts in telegram mode and consists of three primitives: Extract, Inject, and Respond. Extract and Inject can be sent by any object, but Respond can only be received by MOS objects. The structure of the EIRP primitive is as follows:

抽取原语::="Extract"<operID><fromID><toID><permit>[retryTimes][resMode][parameters]Extract primitive::="Extract"<operID><fromID><toID><permit>[retryTimes][resMode][parameters]

注入原语::="Inject"<operID><fromID><toID><permit>[RetryTimes][resMode][parameters]Injection primitive::="Inject"<operID><fromID><toID><permit>[RetryTimes][resMode][parameters]

响应原语::="Respond"<operID><fromID><toID><permit>[resMode][RetryTime][parameters]Response primitive::="Respond"<operID><fromID><toID><permit>[resMode][RetryTime][parameters]

这里operID为副指令符,进一步细分原语的种类,由用户自定义;fromID为发出该原语的对象的ID,该对象或者是另外一个MOS或者是支持ERIP协议的其他对象;toID为接受该原语的MOS的标识;同一个命名域内的不同MOS的标识不能重复;fromID和toID的模式为“<PanelID>.<SashID>.<MosID>”,分别表示窗格、窗扇和窗户的标识。Permit为访问的通行证,指出访问者的ID(用户账户)与账户与HASH加密的密码,MOS收到permit后,验证其访问权限,符合的才准予访问;retryTimes为重试次数;表示由于原语执行异常的情况下的原语的最大重执行次数;resMode指出是否需要回送响应数据,如果需要,则该指令成功接受后,系统自动回送一条Respond;Parameters为原语执行需要传递的参数,为JSON格式,具体内容由用户自行确定,在响应原语Respond中,<operID>、<fromID><toID>分别对应于所响应的Extract或者Inject原语中的<operID>、<toID>、<fromID>。Here, operID is a sub-instructor, which further subdivides the type of primitive and is customized by the user; fromID is the ID of the object that issues the primitive, which is either another MOS or other object that supports the ERIP protocol; toID is the identifier of the MOS that receives the primitive; the identifiers of different MOSs in the same naming domain cannot be repeated; the pattern of fromID and toID is "<PanelID>.<SashID>.<MosID>", which represent the identifiers of panes, sashes and windows respectively. Permit is the access pass, indicating the visitor's ID (user account) and the account and HASH-encrypted password. After receiving permit, MOS verifies the access rights and grants access only if they meet the requirements. retryTimes is the number of retries, which indicates the maximum number of re-executions of the primitive due to primitive execution exceptions. resMode indicates whether response data needs to be sent back. If so, the system automatically sends back a Respond after the instruction is successfully accepted. Parameters are the parameters that need to be passed for primitive execution, in JSON format. The specific content is determined by the user. In the response primitive Respond, <operID>, <fromID> and <toID> correspond to the <operID>, <toID> and <fromID> in the responded Extract or Inject primitive, respectively.

对窗格访问指令,读与读写类型的用Extract原语封装(描述)与传递,写类型的用Inject原语封装(描述)与传递。封装的方法 是,用ERIP的副指令符表示窗格指令的指令字,用ERIP的toID表示窗格指令的<PanelID>、<SashID>、<MosID>,三个ID中间用点号“.”分隔。For pane access instructions, read and read-write types are encapsulated (described) and transferred using the Extract primitive, and write types are encapsulated (described) and transferred using the Inject primitive. The encapsulation method is to use the ERIP sub-instruction symbol to represent the instruction word of the pane instruction, and to use ERIP toID to represent the <PanelID>, <SashID>, <MosID> of the pane instruction, and the three IDs are separated by a period ".".

六、MUO的扩展与融合6. Expansion and Integration of MUO

这里通过引入MUO网实现物对象的规范化的扩展与融合。MUO网支持由现有的MUO生成具有新功效的MUO。这种方法提供了一种规范化的创建分布式泛在对象协同方法,以支持泛在对象的分布自治、分布管理与分布交互以及虚拟化。参见附图2.Here, the standardized extension and integration of objects is realized by introducing MUO network. MUO network supports the generation of MUO with new functions from existing MUO. This method provides a standardized method for creating distributed ubiquitous object collaboration to support the distributed autonomy, distributed management, distributed interaction and virtualization of ubiquitous objects. See Figure 2.

MUO网是一种覆盖网,将多个泛在对象互联起来,形成MUO协同连接,支持泛在对象互操作。下面给出MUO网的定义与规范。MUO network is an overlay network that interconnects multiple ubiquitous objects to form MUO collaborative connections and support ubiquitous object interoperability. The following is the definition and specification of MUO network.

定义1(基本MUO,基座)设MOSb是一个MOS,如果其每个窗扇都不存在对其他MOS的窗扇的访问,则称该窗扇为基本MUO,称MOSb为该MUO的基座。Definition 1 (Basic MUO, Base) Let MOSb be a MOS. If each of its sashes does not have access to the sashes of other MOSs, then the sash is called a basic MUO and MOSb is called the base of the MUO.

定义2(MUO合成,MUO单流图)设MUO1,MUO2,…,MUOn是n个不同的基本MUO,它们的基座可以分布在网络上不同位置,MOSk是一个新的MOS或者已存在的MOS,为其设置一个基于对MUO1,MUO2,…,MUOn的操作访问所形成窗扇,则称该窗扇为MUO1,MUO2,…,MUOn的一个合成MUO或者虚拟泛在对象。这种合成关系记为<(MUO1,MUO2,…,MUOn),MUO>,称MOSk为该MUO的基座。称MUO1,MUO2,…,MUOn为所形成的MUO的下联对象。按照上述规则生成的MUO连同它的生成成分一起所成的结构,我们称为MUO单流图。Definition 2 (MUO synthesis, MUO single-flow graph) Let MUO1, MUO2, …, MUOn be n different basic MUOs, whose bases can be distributed in different locations on the network, and MOSk be a new MOS or an existing MOS. Set a window sash for it based on the operation access to MUO1, MUO2, …, MUOn. The window sash is called a synthetic MUO or virtual ubiquitous object of MUO1, MUO2, …, MUOn. This synthetic relationship is recorded as <(MUO1, MUO2, …, MUOn), MUO>, and MOSk is called the base of the MUO. MUO1, MUO2, …, MUOn are called the lower-link objects of the formed MUO. The structure formed by the MUO generated according to the above rules together with its generated components is called the MUO single-flow graph.

定义3(扇段,共享)设<(u1,u2,…,un),u>为一个合成关系, 且不存在ui对u的访问请求,1≤i≥n,则称<(u1,u2,…,un),u>为一个MUO扇。称<u,ui>为一个扇段,称(u1,u2,…,un)为被u扇入的对象,u为扇出对象,u的扇出数为n。如果ui被m个对象扇入,称ui的扇入数为m。扇入数大于1的MUO称为共享MUO。Definition 3 (sector, sharing) Let <(u1,u2,…,un),u> be a composite relation, and there is no access request from ui to u, 1≤i≥n, then <(u1,u2,…,un),u> is called a MUO fan. <u,ui> is called a sector, (u1,u2,…,un) is called the object fanned in by u, u is the fan-out object, and the fan-out number of u is n. If ui is fanned in by m objects, the fan-in number of ui is m. A MUO with a fan-in number greater than 1 is called a shared MUO.

定义4(MUO网)一个MUO网是一个扩展的二部多重图G=(V,E),它满足下列条件:G是一个图,V是MUO集合,E是“MUO扇段”集合。如果顶点V可划分为n个互不相交的子集序列<V1,V2,…,Vn>,并且,对u∈Vi,v∈Vi,则不存在<u,v>∈E,对任意的u∈Vi,不存在j>i与r∈Vj使<u,r>∈E,也不存在j>i+1与r∈Vj使<r,u>∈E,定义该MUO网的层数为n,定义Vi及其节点的层号为n-i+1.这里i=1,2,…n。Definition 4 (MUO network) A MUO network is an extended bipartite multigraph G = (V, E) that satisfies the following conditions: G is a graph, V is a MUO set, and E is a set of "MUO sectors". If the vertex V can be divided into a sequence of n mutually disjoint subsets <V1, V2, ..., Vn>, and for u∈Vi, v∈Vi, there does not exist <u, v>∈E, and for any u∈Vi, there does not exist j>i and r∈Vj such that <u, r>∈E, nor does there exist j>i+1 and r∈Vj such that <r, u>∈E, then the number of layers of the MUO network is defined as n, and the layer number of Vi and its nodes is defined as n-i+1. Here i = 1, 2, ...n.

二部多重图实质上是多个“相邻”的二部图(Bipartite Graph)。每个二部图中的每条边所关联的两个顶点分别属于这两个不同的顶点集。A bipartite multigraph is essentially a number of "adjacent" bipartite graphs. The two vertices associated with each edge in each bipartite graph belong to two different vertex sets.

由于MUO网中的MUO一般都是单流图,流图中任意节点都可以作为MUO网的节点,所以,MUO描述了复杂的共享关系。Since the MUOs in a MUO network are generally single-flow graphs, any node in the flow graph can be used as a node of the MUO network, so MUO describes a complex sharing relationship.

定义MUO网的目的是为MOS以及MUO的互联进行规范化限定。二部图描述能力介于无限制的网络与树之间。之所以选择二部多重图为MUO网体系,是我们理论分析获知,将共享关系限制在二部图关系下,大多数共享关系描述不受影响,但资源共享引起的冲突与死锁的概率可大幅度降低,共享性能总体上升。The purpose of defining MUO network is to standardize the interconnection of MOS and MUO. The description capability of bipartite graph is between that of unrestricted network and tree. The reason why we choose bipartite multigraph as MUO network system is that we know from theoretical analysis that if the sharing relationship is restricted to bipartite graph relationship, most of the sharing relationship description will not be affected, but the probability of conflict and deadlock caused by resource sharing can be greatly reduced, and the overall sharing performance will be improved.

七、MUO网构造方法7. MUO network construction method

一个MUO网,可以在一个MUO单流图集合OS上,通过逐步增加 新的单流图形成。增加新的单流图按照下列两种操作进行:A MUO network can be formed by gradually adding new single-flow graphs on a MUO single-flow graph set OS. Adding a new single-flow graph is done by the following two operations:

1)分层(初始化):将单流图集合OS中的每个单流图,按照既定的策略统一分层,形成一个单流图的分层图;在该图中,每个单流图中每个节点的层号都可能统一位移一个整数值;1) Layering (initialization): Each single-flow graph in the single-flow graph set OS is uniformly layered according to the established strategy to form a layered graph of single-flow graphs; in this graph, the layer number of each node in each single-flow graph may be uniformly shifted by an integer value;

2)扩层:按照既定策略,在选定某一层i,在该层中按照权利要求7的规则,在i层新定义一个OUO,以(i-1)层中的OUO节点为成员;2) Layer expansion: According to the established strategy, a layer i is selected, and in the layer i, according to the rules of claim 7, a new OUO is defined, with the OUO nodes in the (i-1) layer as members;

3)增层:按照既定策略,在分层图的当前最高一层(设为h)上面增加新的1层,在新层中按照权利要求7的规则,新定义一个OUO,以h层中的OUO节点为成员;3) Adding a layer: According to the established strategy, a new layer is added above the current highest layer (set as h) of the hierarchical graph. In the new layer, according to the rules of claim 7, a new OUO is defined, with the OUO nodes in the h layer as members;

八、MOS基座组成与工作机制8. MOS base composition and working mechanism

MOS基座是一种运行支撑环境,负责支撑定义在它上面的MUO的运行。The MOS base is an operation support environment responsible for supporting the operation of the MUO defined on it.

MOS基座主要由收发机构、装配机构与运行支撑机构组成。The MOS base is mainly composed of a transceiver mechanism, an assembly mechanism and an operation support mechanism.

运行支撑机构由消息队列、输入队列、输出队列、状态表、事件表、装配表等数据结构以及功能引擎组成,用于支撑其他机构的运行。The operation support mechanism is composed of data structures such as message queue, input queue, output queue, state table, event table, assembly table and function engine, which is used to support the operation of other mechanisms.

收发机构负责与外部对象的通信交互,分为接收器与发送器。接收器监听窗口的消息,如果是合法消息则接收消息,存入消息队列,供消息调度器调度执行。发送器则受消息调度器的调用而向外部对象发送消息;The transceiver mechanism is responsible for communication and interaction with external objects, and is divided into a receiver and a transmitter. The receiver monitors the messages in the window, and if it is a legitimate message, it receives the message and stores it in the message queue for the message scheduler to schedule and execute. The transmitter is called by the message scheduler to send messages to external objects;

装配机构主要由消息调度器、状态采集器组成。消息调度器负责 解释消息队列中的消息,并基于装配表为其选择相应的执行模块,并挂接到功能引擎进行运行。The assembly mechanism is mainly composed of a message scheduler and a state collector. The message scheduler is responsible for interpreting the messages in the message queue, selecting the corresponding execution module for it based on the assembly table, and hooking it up to the function engine for operation.

装配表用做EIRP原语与窗格指令的处理入口表,结构为(窗户,窗扇、窗格,指令处理器,注入数据指引,抽取数据指引,下一调用对象(窗户,窗扇、窗格))。对ERIP,窗户、窗扇、窗格联合定义了副指令符。每个表项代表一条指令/原语的处理入口。“下一调用对象(窗户,窗扇、窗格)”用于支持多处理入口,即一条指令或者原语,可以通过多个处理入口一次处理。表中的注入数据指引指出处理器执行所需的输入数据的存放位置,抽取数据指引指出处理器执行产生的输出数据的存放位置,下一调用对象(窗户,窗扇、窗格)指出对应的表项的处理器执行完成后需要执行的下一个配置表的表项。The assembly table is used as the processing entry table for EIRP primitives and pane instructions, and its structure is (window, sash, pane, instruction processor, injection data guide, extraction data guide, next call object (window, sash, pane)). For ERIP, windows, sashes, and panes jointly define sub-instruction symbols. Each table entry represents the processing entry of an instruction/primitive. "Next call object (window, sash, pane)" is used to support multiple processing entries, that is, an instruction or primitive can be processed at one time through multiple processing entries. The injection data guide in the table indicates the storage location of the input data required for the processor execution, the extraction data guide indicates the storage location of the output data generated by the processor execution, and the next call object (window, sash, pane) indicates the table entry of the next configuration table that needs to be executed after the processor of the corresponding table entry is executed.

附图说明BRIEF DESCRIPTION OF THE DRAWINGS

图1是MOS基座的体系结构说明和MUO网体系说明;FIG1 is a diagram of the architecture of the MOS base and the MUO network system;

具体实施方案Specific implementation plan

下面结合实施例对本发明内容及实施方法作进一步的描述,但本发明的实施方式不限于此。The content and implementation methods of the present invention are further described below in conjunction with embodiments, but the implementation methods of the present invention are not limited thereto.

MOS方法中,完整的MOS实现,包括MOS基座(装配式端口MOS的实现式关键)以及交互接口的实现。In the MOS method, the complete MOS implementation includes the MOS base (the key to the implementation of the assembled port MOS) and the implementation of the interactive interface.

MOS的实现,方法可以由多种,如基于Servlet的MOS(称为ServletMOS)、基于AJAX的实现(称为AjaxMOS),等等。这里给出的实现方法,是MOS的原生态实现,其服务器功能不依赖其他功能。There are many ways to implement MOS, such as Servlet-based MOS (called ServletMOS), AJAX-based implementation (called AjaxMOS), etc. The implementation method given here is the original ecological implementation of MOS, and its server function does not depend on other functions.

一、实现所需的主要数据结构1. Implement the main data structures required

这里阐述实现MOS基座所需的主要数据结构。Here we explain the main data structures required to implement the MOS base.

(1)内部数据结构(1) Internal data structure

内部数据结构是指只供MOS内部工作使用的数据结构,不支持MOS用户访问。这类数据结构主要包括下列几种。Internal data structures are data structures that are only used for internal work within MOS and are not accessible to MOS users. This type of data structure mainly includes the following types.

■消息队列:存放系统的各种待处理的消息,供消息调度器从消息队列中取出消息执行相应的消息处理模块。消息包括网络数据达到消息,网络数据发送消息,用户数据到达(生成)消息,事件发生消息,等等。■Message queue: stores various pending messages of the system, and allows the message scheduler to retrieve messages from the message queue and execute corresponding message processing modules. Messages include network data arrival messages, network data sending messages, user data arrival (generation) messages, event occurrence messages, etc.

■输入队列:存储从网络接收到的服务请求消息,由“接收器”通过输入队列接口访问。■Input queue: stores service request messages received from the network and is accessed by the "receiver" through the input queue interface.

■输出队列:存储消息处理需要发出的服务请求结果(消息),由“发送器”通过队列的接口取出消息,发送出去。■Output queue: stores the service request results (messages) required for message processing. The "sender" takes out the message through the queue interface and sends it out.

■消息映射:用于描述各类消息与对应的“消息处理器PIP”的对应关系。消息是指已经发生的事件,消息处理器是一种PIP,用于处理对应的消息。■Message mapping: used to describe the correspondence between various messages and the corresponding "message processor PIP". A message refers to an event that has occurred, and a message processor is a PIP used to process the corresponding message.

■数据队列:用于暂存各个未处理的消息的大块数据,包括消息接收到的数据、待发送的数据,等等。■Data queue: used to temporarily store large blocks of data for each unprocessed message, including data received by the message, data to be sent, and so on.

(2)外部数据结构(2) External data structure

外部数据结构是指支持MOS用户进行操作访问的数据结构。这类数据结构主要用于对MOS的工作进行配置,主要包括下列几种。External data structures refer to data structures that support MOS users to access operations. This type of data structure is mainly used to configure MOS work, mainly including the following types.

■事件映射:事件是基于系统状态变量的逻辑表达式,该表达式为真时,表示该事件已发生,产生一条事件。事件映射表用于定义事件的发生条件与事件的处理所需的子程序—消息处理器,即事件映射。■Event mapping: An event is a logical expression based on the system state variables. When the expression is true, it means that the event has occurred and an event is generated. The event mapping table is used to define the event occurrence conditions and the subroutine required for event processing - the message processor, that is, event mapping.

■状态变量定义表:定义状态变量与维护它的值的PIP的对应关系。状态变量定义表中基本数据项格式是“变量名,当前值,PIP”,定义了名称为“变量名”的状态变量所对应PIP,并指出当前值为“当前值”。状态变量的值由对应的PIP的执行所确定。■State variable definition table: defines the correspondence between state variables and the PIPs that maintain their values. The basic data item format in the state variable definition table is "variable name, current value, PIP". It defines the PIP corresponding to the state variable named "variable name" and indicates that the current value is "current value". The value of the state variable is determined by the execution of the corresponding PIP.

■访问控制表:存放MOS的访问控制信息,包括根用户及其他已注册的用户的账户信息(账户名称,访问口令的Hash值,权限,有效期,优先级,等等)。根用户系统生成时自动生成,要求用户使用后立即更改口令。根用户只有管理其他用户权限(亦即只有使用账户设置指令或者MOS管理器的权限),无其他权限。其他用户可以由根用户通过MOS管理器设置,或者通过账户设置指令设置。■Access Control Table: Stores MOS access control information, including the account information of the root user and other registered users (account name, access password hash value, permissions, validity period, priority, etc.). The root user is automatically generated when the system is generated, and the user is required to change the password immediately after use. The root user only has the authority to manage other users (that is, only the authority to use the account setting command or MOS Manager), and no other permissions. Other users can be set by the root user through the MOS Manager or through the account setting command.

■配置逻辑:定义MOS的行为与访问控制信息,也包括状态采集策略。其中,MOS行为的描述的MOS的装配逻辑。■Configuration logic: defines the behavior and access control information of MOS, including the state collection strategy. Among them, the MOS assembly logic of the description of MOS behavior.

所有的数据结构,都设置专门的访问接口,供使用者透明访问。All data structures have dedicated access interfaces for transparent access by users.

二、主要代码库2. Main code base

MOS的实现所需的主要代码阐述如下。The main codes required for the implementation of MOS are described below.

■事件检测器:基于状态表检测事件的发生,一旦发生,则生成一条事件发生消息,存入消息队列。■Event detector: Detects the occurrence of events based on the state table. Once an event occurs, an event occurrence message is generated and stored in the message queue.

■线程工厂:主要职能是为指定的PIP创建一个线程并启动执行。 对性能要求较高的场合可以是以线程方式运行。■Thread Factory: The main function is to create a thread for a specified PIP and start execution. It can be run in thread mode for situations with high performance requirements.

■垃圾回收器:主要职能是处理线程执行异常(超时、超存储和线程其他异常)以及其他资源占用异常的情况。对性能要求较高的场合可以是以线程方式运行。■ Garbage collector: Its main function is to handle thread execution exceptions (timeout, overstorage, and other thread exceptions) and other resource usage exceptions. It can be run in thread mode for situations with high performance requirements.

■数据结构操作:各个数据结构的访问与操作接口的实现代码,形式为对象。■Data structure operation: the implementation code of the access and operation interface of each data structure, in the form of objects.

上述的均为MOS基所需,下面的发送器为MOS窗户所需。The above are all required for MOS base, and the transmitter below is required for MOS window.

■发送器:基本功能是具体实现网络数据发送,为API,被调用时,从网络输出队列取出当前输出数据,通过网络发送出去。■Sender: The basic function is to implement network data sending. It is an API. When called, it takes out the current output data from the network output queue and sends it out through the network.

三、MOS主要模块实现方法3. MOS main module implementation method

(1)MOS主程序(1) MOS main program

MOS启动后进入主程序控制。该程序首先进行必要的初始化工作,然后启动各个MOS运行时线程。After MOS is started, it enters the main program control. The program first performs necessary initialization work and then starts each MOS runtime thread.

MOS()MOS()

{{

init();//初始化各种数据结构init(); //Initialize various data structures

startReceiver();//如果添加MOS窗户功能,则启动接收器线程startReceiver(); //If you add the MOS window function, start the receiver thread

startMessageDispatch();//启动消息调度器线程startMessageDispatch(); //Start the message dispatcher thread

startStatusDetecting();//启动状态采集器线程startStatusDetecting(); //Start the status collector thread

}}

(2)接收器(2) Receiver

receiverMOS()receiverMOS()

{{

while()while()

{{

msgBus=recervMsg();//接收数据到msgBus指示的消息缓冲区;msgBus = recervMsg(); //Receive data to the message buffer indicated by msgBus;

msg=parserMOSMsg(msgBus);//解析消息,存放在msg指示的区域;msg = parserMOSMsg (msgBus); // parse the message and store it in the area indicated by msg;

flag=firewallMOS(msg);//验证消息是否在“黑名单”中flag = firewallMOS(msg); //Verify whether the message is in the "blacklist"

if(!flag)if(!flag)

{//消息不在“黑名单”中{//The message is not in the "blacklist"

msgQueue.pushMsg(msg);//将消息存入消息队列msgQueuemsgQueue.pushMsg(msg); //Store the message in the message queue msgQueue

}}

}//while}//while

}//receiverMOS()}//receiverMOS()

(C)消息调度器(C) Message Scheduler

messageDispatch()messageDispatch()

{{

while()while()

{{

msgBus=msgQueue.getItem(调度策略);//按照指定的调度策略从消息队列中选择一条消息;msgBus = msgQueue.getItem(scheduling policy); //Select a message from the message queue according to the specified scheduling policy;

flag=startPIP(msgBus,msgDef);//基于当前消息msgBus和消息映射表msgDef,确定消息对应的消息处理器PIP,然后生成一个新线程执行该PIP;flag=startPIP(msgBus,msgDef); //Based on the current message msgBus and the message mapping table msgDef, determine the message processor PIP corresponding to the message, and then generate a new thread to execute the PIP;

flag=eventDef.eventDetect(msgDef);//基于事件映射表eventDef检测是否有新事件发生,如有发生,则处理之,以生成事件消息,加入消息队列。flag = eventDef.eventDetect (msgDef); //Based on the event mapping table eventDef, detect whether a new event occurs. If so, process it to generate an event message and add it to the message queue.

PIPThreadMng();//检测PIP线程,发现异常后启动相应的处理线程进行处理;PIPThreadMng(); //Detect the PIP thread and start the corresponding processing thread to handle it if an exception is found;

}//while}//while

}//messageDispatch()}//messageDispatch()

四、MOS界面的实现4. Implementation of MOS interface

(1)基本实现方式(1) Basic implementation method

OOA的界面的实现,就是支撑MOS界面的工作。将支撑MOS界面工作的软件称为界面支撑软件。对于基于MOS的泛在对象MUO,MOS界面的支撑软件也是MUO界面的支撑软件。The realization of OOA interface is to support the work of MOS interface. The software that supports the work of MOS interface is called interface support software. For MOS-based ubiquitous object MUO, the support software of MOS interface is also the support software of MUO interface.

MOS以服务模式工作,在逻辑上,工作时监听来自用户的访问请求,并调用(调度,消息分发)相应消息处理器PIP进行处理,处理 后,生成(生产)回送结果,调用数据发送PIP将所;生产的数据发送(回送)。MOS works in service mode. Logically, it listens to access requests from users and calls (scheduling, message distribution) the corresponding message processor PIP for processing. After processing, it generates (produces) the feedback result and calls the data sending PIP to send (echo) the produced data.

MOS的消息监听、消息收发以及消息分发等工作,都是由MOS的基本功能实现的,对所有种类的界面都是一样的。但对不同的界面,消息的解释是不同的,相应的数据的生产与消费也是不同的,从而相应的消息处理器PIP是不同的,因此,MOS的界面的实现,主要工作是由界面提供者按照规范实现对应的消息处理器PIP。MOS's message monitoring, message sending and receiving, and message distribution are all implemented by MOS's basic functions, which are the same for all types of interfaces. However, for different interfaces, the interpretation of messages is different, and the corresponding data production and consumption are also different, so the corresponding message processors PIP are different. Therefore, the implementation of MOS's interface mainly requires the interface provider to implement the corresponding message processor PIP according to the specification.

归纳起来,要使MOS界面工作,需要进行下列两个方面的准备工作:In summary, to make the MOS interface work, the following two aspects of preparation are required:

A)消息处理器与方法库:为每个界面准备对应的消息处理器及其所需的方法库的软件模块;其中方法库是支撑消息处理器工作的子程序集;A) Message Processor and Method Library: A software module that prepares a corresponding message processor and its required method library for each interface; wherein the method library is a set of subprograms that support the work of the message processor;

B)界面消息配置文件:为MUO提供界面消息配置文件。该文件指示每个界面对应的消息处理器的名称与位置。B) Interface message configuration file: Provides an interface message configuration file for MUO. This file indicates the name and location of the message handler corresponding to each interface.

MOS的配置器将根据上述信息为MOS界面加载相应的消息处理器,以支持MOS界面的工作。The MOS configurator will load the corresponding message processor for the MOS interface according to the above information to support the work of the MOS interface.

(2)MOS界面支撑实用软件(2) MOS interface support utility software

MOS界面支撑软件主要是MOS的消息处理器PIP,此外还设置一些实用程序,供消息处理器PIP调用。这里给出这些子程序的规范。对于直接使用MOS窗户通信的情况,消息处理器PIP的模型不受这里限制。The MOS interface support software is mainly the MOS message processor PIP. In addition, some utility programs are set up for the message processor PIP to call. The specifications of these subroutines are given here. For the case of directly using MOS window communication, the model of the message processor PIP is not restricted here.

至于这些软件的具体的实现,随着MOS的实现的不同而不同,例如,原生态的MOS下的实现与Servlet-MOS就有较大区别。As for the specific implementation of these software, it varies with the implementation of MOS. For example, the implementation under the original MOS is quite different from that under Servlet-MOS.

1)消息处理器PIP1) Message Processor PIP

格式:pipRes_界面标识(消息请求者UO,消息内容,…)Format: pipRes_interface identifier (message requester UO, message content, ...)

功能:为MOS挂件(PIP),作为支撑MOS界面的消息处理器。消息处理器一般通过调用MOS方法库中的方法实现具体的消息处理。对于基于UOM的通信,还需要通过方法库中的UOM-API读写UOM;Function: It is a MOS plugin (PIP) that serves as a message processor supporting the MOS interface. The message processor generally implements specific message processing by calling methods in the MOS method library. For UOM-based communication, it is also necessary to read and write UOM through the UOM-API in the method library;

PIP名字以”pipRes_”打头,后接用户自定义的界面标识符。消息内容为JSON格式,不同的界面,具有不同的结构,具体阐述见MOS界面定义。The PIP name starts with "pipRes_" followed by a user-defined interface identifier. The message content is in JSON format. Different interfaces have different structures. For details, see MOS interface definition.

2)常用实用程序2) Common Utilities

实用程序用于辅助消息处理器的实现,供消息处理器或者其他模块调用,便于程序实现。The utility program is used to assist the implementation of the message processor and is called by the message processor or other modules to facilitate program implementation.

(A)消息发送器(A) Message sender

格式:pipReq_界面标识(发送策略)Format: pipReq_interface identifier (sending strategy)

功能:为方法库成员。该模块被调用时,按照指定的发送策略发送消息。Function: It is a member of the method library. When this module is called, it sends messages according to the specified sending strategy.

说明:发送策略主要包括发送目标、发送者、重发次数、待发送数据的位置;Note: The sending strategy mainly includes the sending target, sender, number of retransmissions, and the location of the data to be sent;

对于原生态MOS,该程序所做的工作是准备发送数据,生成一条发送消息,存入输出队列。对于Servlet-MOS,该程序直接调用 Servlet的发送功能发送消息。For native MOS, the program prepares to send data, generates a send message, and stores it in the output queue. For Servlet-MOS, the program directly calls the Servlet's send function to send the message.

(B)消息轮询器(B) Message Poller

格式:dispatchReq_界面标识(轮询策略)Format: dispatchReq_interface identifier (polling strategy)

功能:该模块运行时,按照指定的轮询策略给相应的UO发送请求消息,以激发UO与宿主MOS的消息通信。给UO发送请求消息是通过对pipReq_界面标识()的调用实现的。对于原生态MOS,该程序不需要。Function: When this module is running, it sends a request message to the corresponding UO according to the specified polling strategy to stimulate the message communication between the UO and the host MOS. Sending a request message to the UO is achieved by calling pipReq_interface identifier(). For native MOS, this program is not required.

说明:该模块为方法库成员,每调用一次,则执行一次回合的轮询。该模块主要供“轮询控制器”调用。轮询策略的主要内容包括:Description: This module is a member of the method library. Each time it is called, a round of polling is executed. This module is mainly called by the "polling controller". The main contents of the polling strategy include:

轮询对象范围:指出需要轮询的对象;Polling object scope: Indicate the objects that need to be polled;

优先级:指出轮询UO的优先级;Priority: indicates the priority of polling UO;

(C)轮询控制器(C) Polling Controller

格式:ctrlDispatch(轮询控制策略)Format: ctrlDispatch (polling control strategy)

功能:该模块运行时,一直按照指定的轮询控制策略周期性地调用各个dispatchReq(),直到终止条件成立。Function: When this module is running, it will periodically call each dispatchReq() according to the specified polling control strategy until the termination condition is met.

说明:该模块为方法库成员,一般由系统初始化模块或者其他系统模块启动。启动后一直按照设定的周期循环运行,直到轮询控制策略中的终止条件成立。Description: This module is a member of the method library and is generally started by the system initialization module or other system modules. After starting, it will continue to run according to the set cycle until the termination condition in the polling control strategy is met.

轮询策略描述控制器的工作模式,主要包括下列几个方面内容:The polling strategy describes the working mode of the controller, which mainly includes the following aspects:

消息轮询器列表:指出需要调用的“消息轮询器”及其参数;Message poller list: indicates the "message poller" that needs to be called and its parameters;

轮询的频率:支持每隔多少时间进行一消息次轮询器的调用;Polling frequency: supports calling the poller at a certain interval;

优先级:指出消息轮询器被调用的优先级;Priority: indicates the priority at which the message poller is called;

对于Servlet-MOS,该模块由Servlet的消息监听器代替;对于原生态MOS,是通过MOS的事件处理器实现,即设置响应的时间处理器与时间发送条件。因此,改模块无需独立提供。For Servlet-MOS, this module is replaced by the Servlet message listener; for native MOS, it is implemented through the MOS event handler, that is, setting the response time handler and time sending conditions. Therefore, this module does not need to be provided independently.

Claims (8)

一种数字化系统的体系结构与低代码构造方法,其特征在于,以物对象在数字空间中的孪生体为基本软件构造成分,以孪生体的基于扩展的多重二部图模式的融合为基本成分的操作。物对象的在数据空间的孪生体通过装配式的软件插座MOS创建与支撑。物对象是指物理世界中的人、物、设备、工具、计算机软件、数据等构成系统的要素,也称泛在对象。孪生体的基于扩展二部多重图的融合,形成MOS对象融合网,实现基于协同的对象扩展,做为物理世界中的系统的在数字空间的孪生体。An architecture and low-code construction method for a digital system, characterized in that the twin of an object in digital space is used as the basic software construction component, and the fusion of the twin based on an extended multi-bipartite graph pattern is used as the basic component operation. The twin of the object in data space is created and supported by an assembled software socket MOS. Objects refer to the elements of a system such as people, objects, equipment, tools, computer software, and data in the physical world, also known as ubiquitous objects. The fusion of twins based on an extended bipartite multi-graph forms a MOS object fusion network, realizing collaborative object expansion as the twin of the system in the physical world in digital space. 如权利要求1所述的在装配式软件插座MOS上创建的数字空间孪生体,称其为MOS窗户。MOS窗户的访问界面称为窗扇。一个MOS窗户中可以创建多个不同的窗扇,每个窗扇由一个窗口和若干窗格组成,即结构模式为“窗户(窗扇*(窗口,窗格*))”,这里,“*”表示它标记的元素可以多次重复出现。窗格是窗户的最小访问单位,用户对MOS窗户的访问都归结到对窗扇的窗格的访问。窗口是窗扇的与外界的交互通道,由同一窗扇下的各个窗格共用。每个窗扇称为一个MUO对象。The digital space twin created on the assembled software socket MOS as described in claim 1 is called a MOS window. The access interface of a MOS window is called a sash. Multiple different sashes can be created in a MOS window, and each sash consists of a window and several panes, that is, the structural pattern is "window (sash*(window, pane*))", where "*" means that the element it marks can be repeated multiple times. The pane is the smallest access unit of the window, and the user's access to the MOS window is attributed to the access to the pane of the sash. The window is the interaction channel between the sash and the outside world, and is shared by the panes under the same sash. Each sash is called a MUO object. 如权利要求2所述的窗扇的窗口与窗格,其中窗格是MUO的最小访问单位,分为按钮、端口、管道、文件表、控制口五种。每一种都是对所属MUO对象的一种访问模式。按钮代表触动访问,访问种类为按钮的点击或者长按;端口代表单数据访问,访问种类有读与写,端口中任何时刻每次都只有一条数据可被读取,也每次只有一条数据可注入,下次读取的数据由端口自身的生产逻辑确定;管道代表队列,访问种类有摘取与添加,它是一个按照既定逻辑生成的先进先出数据序列,摘取队列相当于从队列头部取出一个元素,添加队列相当于给队列尾部增加一个元素;文件表代表命名的文件索引表。索引表的结构为(文件ID,文件结构ID,文件生成器),索引表的每一项代表一个文件形式的数据集,它的形成是文件表提供者通过提供文件生成器实现;控制口支持外界对象向所属窗扇输入描述性控制指令序列与功能模块,对窗扇的功能进行动态配置。The window and pane of the sash as described in claim 2, wherein the pane is the smallest access unit of MUO, which is divided into five types: button, port, pipe, file table, and control port. Each type is an access mode to the MUO object to which it belongs. Button represents touch access, and the access type is a click or long press of the button; port represents single data access, and the access types are read and write. At any time, only one piece of data can be read in the port at a time, and only one piece of data can be injected at a time. The data to be read next time is determined by the production logic of the port itself; pipe represents queue, and the access types are extraction and addition. It is a first-in-first-out data sequence generated according to a given logic. Extracting a queue is equivalent to taking an element from the head of the queue, and adding a queue is equivalent to adding an element to the tail of the queue; file table represents a named file index table. The structure of the index table is (file ID, file structure ID, file generator), and each item in the index table represents a data set in the form of a file, and its formation is realized by the file table provider by providing a file generator; the control port supports external objects to input descriptive control instruction sequences and functional modules to the sash to which it belongs, and dynamically configure the functions of the sash. 如权利要求3所述的窗格,外部对象对其访问,是通过窗格访问指令进行。窗格访问指令有读、写和读后写三种操作。按钮只有写(按键)指令,文件表只有读指令,命令口只有写指令,管道和队列具备全部三种操作。窗格访问指令模式如下:The pane as claimed in claim 3, is accessed by external objects through pane access instructions. The pane access instructions include three operations: read, write, and read-then-write. The button has only write (key) instructions, the file table has only read instructions, the command port has only write instructions, and the pipe and queue have all three operations. The pane access instruction mode is as follows: <按钮访问指令>::="ButtonAccess"<ButtonOperID><PanelID><SashID><MosID><dataBuf>[operStat]<Button Access Command>::="ButtonAccess"<ButtonOperID><PanelID><SashID><MosID><dataBuf>[operStat] <端口访问指令>::="PortAccess"<PortOperID><PanelID><SashID><MosID><dataBuf>[operStat]<Port Access Command>::="PortAccess"<PortOperID><PanelID><SashID><MosID><dataBuf>[operStat] <管道访问指令>::="PipleAccess"<PipleOperID><PanelID><SashID><MosID><dataBuf>[operStat]<Pipeline Access Command>::="PipleAccess"<PipleOperID><PanelID><SashID><MosID><dataBuf>[operStat] <文件表访问指令>::="FileindexAccess"<FileindexOperID><PanelID><SashID><MosID><dataBuf>[operStat]<File table access command>::="FileindexAccess"<FileindexOperID><PanelID><SashID><MosID><dataBuf>[operStat] <控制口访问指令>::="ControlAccess"<ControlOperID><PanelID><SashID><MosID><dataBuf>[operStat]<Control port access command>::="ControlAccess"<ControlOperID><PanelID><SashID><MosID><dataBuf>[operStat] ButtonOperID::="Write"ButtonOperID::="Write" PortOperID::="Read"|"Write"|"RW"PortOperID::="Read"|"Write"|"RW" <PipleOperID>::=PortOperID<PipleOperID>::=PortOperID <FileindexOperID>::="Read"<FileindexOperID>::="Read" <ControlOperID>::="Write"<ControlOperID>::="Write" <PanelID><SashID><MosID>::=所访问的端口定位,三个部分分别是窗格、窗扇与窗户的标识;<PanelID><SashID><MosID>::=The port location being accessed, the three parts are the identification of the pane, sash and window respectively; [operStat]::=指令的操作状态,缺省时表示不需要回送操作结果,值为0及正数表示成功,负数为不成功,具体数值表示成功或者不成功的原因或者其他信息,由用户自定义。[operStat]::=The operation status of the instruction. By default, it means that no operation result needs to be returned. A value of 0 or a positive number indicates success, and a negative number indicates failure. The specific value indicates the reason for success or failure or other information, which is defined by the user. <dataBuf>::=数据存储区。对读操作是存储读出来的数据,对写操作是存放待写入的数据;对于先读后写指令,读出的数据存放在dataBuf尾部;对于按钮,其数值0不是普通点击,数值1表示长按3秒。<dataBuf>::=data storage area. For read operation, it stores the read data, and for write operation, it stores the data to be written. For read-before-write instructions, the read data is stored at the end of dataBuf. For buttons, a value of 0 is not a normal click, and a value of 1 means a long press for 3 seconds. 如权利要求1所述的装配式的软件插座MOS的与外部对象的交互以及如权利要求4所述窗格访问指令的传递,均基于抽注协议EIRP(Extract,Injection and Respond Protocol)进行。EIRP做为操作与交互的命令的描述与传递原语,框定了交互与操作命令的格式与传递规程。EIRP以电报模式交互,由抽取原语Extract、注入原语Inject和响应原语Respond三种组成。Extract和Inject可以由任何对象发出,但Respond只能由MOS对象接受。EIRP原语的结构如下:The interaction between the assembled software socket MOS and external objects as described in claim 1 and the transmission of the pane access instructions as described in claim 4 are all based on the extraction and injection protocol EIRP (Extract, Injection and Respond Protocol). As a description and transmission primitive of operation and interaction commands, EIRP defines the format and transmission procedures of interaction and operation commands. EIRP interacts in telegram mode and consists of three primitives: extraction primitive Extract, injection primitive Inject and response primitive Respond. Extract and Inject can be issued by any object, but Respond can only be accepted by MOS objects. The structure of the EIRP primitive is as follows: 抽取原语::="Extract"<operID><fromID><toID><permit>[retryTimes][resMode][parameters]Extract primitive::="Extract"<operID><fromID><toID><permit>[retryTimes][resMode][parameters] 注入原语::="Inject"<operID><fromID><toID><permit>[RetryTimes][resMode][parameters]Injection primitive::="Inject"<operID><fromID><toID><permit>[RetryTimes][resMode][parameters] 响应原语::="Respond"<operID><fromID><toID><permit>[resMode][RetryTime][parameters]Response primitive::="Respond"<operID><fromID><toID><permit>[resMode][RetryTime][parameters] 这里operID为副指令符,进一步细分原语的种类,由用户自定义;fromID为发出该原语的对象的ID,该对象或者是另外一个MOS或者是支持ERIP协议的其他对象;toID为接受该原语的MOS的标识;同一个命名域内的不同MOS的标识不能重复;fromID和toID的模式为“<PanelID>.<SashID>.<MosID>”,分别表示窗格、窗扇和窗户的标识。Permit为访问的通行证,指出访问者的ID(用户账户)与账户与HASH加密的密码,MOS收到permit后,验证其访问权限,符合的才准予访问;retryTimes为重试次数;表示由于原语执行异常的情况下的原语的最大重执行次数;resMode指出是否需要回送响应数据,如果需要,则该指令成功接受后,系统自动回送一条Respond;Parameters为原语执行需要传递的参数,为JSON格式,具体内容由用户自行确定,在响应原语Respond中,<operID>、<fromID><toID>分别对应于所响应的Extract或者Inject原语中的<operID>、<toID>、<fromID>。对窗格访问指令,读与读写类型的用Extract原语封装(描述)与传递,写类型的用Inject原语封装(描述)与传递。封装的方法是,用ERIP的副指令符表示窗格指令的指令字,用ERIP的toID表示窗格指令的<PanelID>、<SashID>、<MosID>,三个ID中间用点号“.”分隔。。Here, operID is a sub-instructor, which further subdivides the type of primitive and is customized by the user; fromID is the ID of the object that issues the primitive, which is either another MOS or other object that supports the ERIP protocol; toID is the identifier of the MOS that receives the primitive; the identifiers of different MOSs in the same naming domain cannot be repeated; the pattern of fromID and toID is "<PanelID>.<SashID>.<MosID>", which represent the identifiers of panes, sashes and windows respectively. Permit is the access pass, indicating the visitor's ID (user account) and the account and HASH-encrypted password. After receiving permit, MOS verifies the access rights and grants access only if they meet the requirements. retryTimes is the number of retries, indicating the maximum number of re-executions of the primitive due to abnormal primitive execution. resMode indicates whether response data needs to be sent back. If so, the system automatically sends back a Respond after the instruction is successfully accepted. Parameters is the parameters that need to be passed for primitive execution, in JSON format. The specific content is determined by the user. In the response primitive Respond, <operID>, <fromID>, <toID> correspond to <operID>, <toID>, <fromID> in the responded Extract or Inject primitive, respectively. For pane access instructions, read and read-write types are encapsulated (described) and transmitted with the Extract primitive, and write types are encapsulated (described) and transmitted with the Inject primitive. The encapsulation method is to use the ERIP sub-instruction symbol to represent the instruction word of the pane instruction, and use the ERIP toID to represent the <PanelID>, <SashID>, and <MosID> of the pane instruction, and the three IDs are separated by a period ".". 如权利要求1所述的装配式软件插座MOS,其功能由MOS基座负责实现。MOS基座是一种运行支撑环境,负责支撑定义在它上面的MUO的运行。MOS基座主要由收发机构、装配机构与运行支撑机构组成。运行支撑机构由消息队列、输入队列、输出队列、状态表、事件表、装配表等数据结构以及功能引擎组成;收发机构负责与外部对象的通信交互,分为接收器与发送器。接收器监听窗口的消息,如果是合法消息则接收消息,存入消息队列,供消息调度器调度执行。发送器则受消息调度器的调用而向外部对象发送消息;装配机构主要由消息调度器、状态采集器组成。消息调度器负责解释消息队列中的消息,并基于装配表为其选择相应的执行模块,并挂接 到功能引擎进行运行。装配表用做EIRP原语与窗格指令的处理入口表,结构为(窗户,窗扇、窗格,指令处理器,注入数据指引,抽取数据指引,下一调用对象(窗户,窗扇、窗格))。对ERIP,窗户、窗扇、窗格联合定义了副指令符。每个表项代表一条指令/原语的处理入口。“下一调用对象(窗户,窗扇、窗格)”用于支持多处理入口,即一条指令或者原语,可以通过多个处理入口一次处理。表中的注入数据指引指出处理器执行所需的输入数据的存放位置,抽取数据指引指出处理器执行产生的输出数据的存放位置,下一调用对象(窗户,窗扇、窗格)指出对应的表项的处理器执行完成后需要执行的下一个配置表的表项。The function of the assembled software socket MOS as described in claim 1 is implemented by the MOS base. The MOS base is an operation support environment responsible for supporting the operation of the MUO defined on it. The MOS base is mainly composed of a transceiver mechanism, an assembly mechanism and an operation support mechanism. The operation support mechanism is composed of data structures such as a message queue, an input queue, an output queue, a state table, an event table, an assembly table, and a function engine; the transceiver mechanism is responsible for communication and interaction with external objects, and is divided into a receiver and a transmitter. The receiver monitors the message of the window, and if it is a legal message, it receives the message and stores it in the message queue for the message scheduler to schedule and execute. The transmitter is called by the message scheduler to send messages to external objects; the assembly mechanism is mainly composed of a message scheduler and a state collector. The message scheduler is responsible for interpreting the messages in the message queue, and selects the corresponding execution module for it based on the assembly table, and hangs it on the function engine for operation. The assembly table is used as the processing entry table of the EIRP primitive and the pane instruction, and the structure is (window, sash, pane, instruction processor, injection data guide, extraction data guide, next call object (window, sash, pane)). For ERIP, windows, sashes, and panes jointly define sub-instruction symbols. Each table entry represents the processing entry of an instruction/primitive. "Next call object (window, sash, pane)" is used to support multiple processing entries, that is, an instruction or primitive can be processed at one time through multiple processing entries. The injection data guide in the table indicates the storage location of the input data required for the processor execution, the extraction data guide indicates the storage location of the output data generated by the processor execution, and the next call object (window, sash, pane) indicates the table entry of the next configuration table that needs to be executed after the processor execution of the corresponding table entry is completed. 如权利要求1所述的MOS对象融合网,称为MUO网,其结构与规则如下:The MOS object fusion network as claimed in claim 1 is called a MUO network, and its structure and rules are as follows: 1)设MOSb是一个MOS,如果其每个窗扇都不存在对其他MOS的窗扇的访问,则称该窗扇为基本MUO,称MOSb为该MUO的基座。1) Let MOSb be a MOS. If each of its sashes does not have access to the sashes of other MOSs, then the sash is called a basic MUO and MOSb is called the base of the MUO. 2)设MUO1,MUO2,…,MUOn是n个不同的基本MUO,它们的基座可以分布在网络上不同位置,MOSk是一个新的MOS或者已存在的MOS,为其设置一个基于对MUO1,MUO2,…,MUOn的操作访问所形成窗扇,则称该窗扇为MUO1,MUO2,…,MUOn的一个合成MUO或者虚拟泛在对象。这种合成关系记为<(MUO1,MUO2,…,MUOn),MUO>,称MOSk为该MUO的基座。称MUO1,MUO2,…,MUOn为所形成的MUO的下联对象。按照上述规则生成的MUO连同它的生成成分一起所成的结构,我们称为MUO单流图。2) Let MUO1, MUO2, …, MUOn be n different basic MUOs, whose bases can be distributed in different locations on the network, and MOSk be a new MOS or an existing MOS. Set a window sash for it based on the operation access to MUO1, MUO2, …, MUOn. The window sash is called a synthetic MUO or virtual ubiquitous object of MUO1, MUO2, …, MUOn. This synthetic relationship is recorded as <(MUO1, MUO2, …, MUOn), MUO>, and MOSk is called the base of the MUO. MUO1, MUO2, …, MUOn are called the lower-link objects of the formed MUO. The structure formed by the MUO generated according to the above rules together with its generated components is called the MUO single-flow graph. 3)设<(u1,u2,…,un),u>为一个合成关系,且不存在ui对u的访问请求,1≤i≥n,则称<(u1,u2,…,un),u>为一个MUO扇。称<u,ui>为一个扇段,称(u1,u2,…,un)为被u扇入的对象,u为扇出对象,u的扇出数为n。如果ui被m个对象扇入,称ui的扇入数为m。扇入数大于1的MUO称为共享MUO。3) Let <(u1,u2,…,un),u> be a composite relation, and there is no access request from ui to u, 1≤i≥n, then <(u1,u2,…,un),u> is called a MUO fan. <u,ui> is called a sector, (u1,u2,…,un) is called the object fanned in by u, u is the fan-out object, and the fan-out number of u is n. If ui is fanned in by m objects, the fan-in number of ui is m. A MUO with a fan-in number greater than 1 is called a shared MUO. 4)一个MUO网是一个扩展的二部多重图G=(V,E),它满足下列条件:G是一个图,V是MUO集合,E是“MUO扇段”集合。如果顶点V可划分为n个互不相交的子集序列<V1,V2,…,Vn>,并且,对u∈Vi,v∈Vi,则不存在<u,v>∈E,对任意的u∈Vi,不存在j>i与r∈Vj使<u,r>∈E,也不存在j>i+1与r∈Vj使<r,u>∈E,定义该MUO网的层数为n,定义Vi及其节点的层号为n-i+1.这里i=1,2,…n。4) A MUO network is an extended bipartite multigraph G = (V, E) that satisfies the following conditions: G is a graph, V is a MUO set, and E is a set of "MUO sectors". If the vertex V can be divided into a sequence of n mutually disjoint subsets <V1, V2, ..., Vn>, and for u∈Vi, v∈Vi, there does not exist <u, v>∈E, and for any u∈Vi, there does not exist j>i and r∈Vj such that <u, r>∈E, nor does there exist j>i+1 and r∈Vj such that <r, u>∈E, then the number of layers of the MUO network is defined as n, and the layer number of Vi and its nodes is defined as n-i+1. Here i = 1, 2, ...n. 如权利要求7所述的MUO对象融合网,其构造是在一个OUO单流图集合OSThe MUO object fusion network as claimed in claim 7 is constructed in a OUO single flow graph set OS 上通过逐步增加新的单流图进行。增加新的单流图按照下列操作进行:The above is done by gradually adding new single-flow graphs. To add a new single-flow graph, follow the steps below: 1)分层(初始化):将单流图集合OS中的每个单流图,按照既定的策略统一分层,形成一个单流图的分层图;在该图中,每个单流图中每个节点的层号都可能统一位移一个整数值;1) Layering (initialization): Each single-flow graph in the single-flow graph set OS is uniformly layered according to the established strategy to form a layered graph of single-flow graphs; in this graph, the layer number of each node in each single-flow graph may be uniformly shifted by an integer value; 2)扩层:按照既定策略,在选定某一层i,在该层中按照权利要求7的规则,在i层新定义一个OUO,以(i-1)层中的OUO节点为成员;2) Layer expansion: According to the established strategy, a layer i is selected, and in the layer i, according to the rules of claim 7, a new OUO is defined, with the OUO nodes in the (i-1) layer as members; 3)增层:按照既定策略,在分层图的当前最高一层(设为h)上面增加新的1层,在新层中按照权利要求7的规则,新定义一个OUO,以h层中的OUO节点为成员3) Adding a layer: According to the established strategy, add a new layer above the current highest layer of the hierarchical graph (set as h), and in the new layer, define a new OUO according to the rules of claim 7, with the OUO nodes in the h layer as members.
PCT/CN2023/070604 2022-12-28 2023-01-05 Thing object digitization method for metaverse system development Ceased WO2024138785A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202211700522.3 2022-12-28
CN202211700522.3A CN115857915B (en) 2022-12-28 2022-12-28 Object digitizing method for meta-universe system development

Publications (1)

Publication Number Publication Date
WO2024138785A1 true WO2024138785A1 (en) 2024-07-04

Family

ID=85655658

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2023/070604 Ceased WO2024138785A1 (en) 2022-12-28 2023-01-05 Thing object digitization method for metaverse system development

Country Status (2)

Country Link
CN (1) CN115857915B (en)
WO (1) WO2024138785A1 (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6212566B1 (en) * 1996-01-26 2001-04-03 Imec Interprocess communication protocol system modem
CN109116751A (en) * 2018-07-24 2019-01-01 西安西电电气研究院有限责任公司 Digitization system and its construction method based on the twin technology of number
CN114610311A (en) * 2022-01-20 2022-06-10 杭州超乎智能科技有限公司 Virtualization method facing to physical programming and related equipment
CN114722565A (en) * 2022-03-02 2022-07-08 北京玖零时代影视传媒有限公司 Meta-universe digital twin system
CN115309264A (en) * 2022-07-15 2022-11-08 西安电子科技大学广州研究院 Virtual and physical world connection oriented construction system

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9116706B2 (en) * 2012-10-09 2015-08-25 Tamer Yunten Yunten's web application methodology and web programming language (YWAM and WPL)
KR20160087276A (en) * 2015-01-13 2016-07-21 한국전자통신연구원 Exhibition guide apparatus, exhibition media display apparatus, mobile terminal and method for guiding exhibition
CN105183487B (en) * 2015-09-30 2018-09-14 华南理工大学 Software development methodology based on pumping service and its device
CN108415689A (en) * 2018-03-04 2018-08-17 齐德昱 Software sharing method based on the assembly of ubiquitous object three-stage
GB201906813D0 (en) * 2019-05-16 2019-06-26 Roboraca Ltd Metaverse
CN110209383B (en) * 2019-06-12 2025-05-13 广东外语外贸大学南国商学院 Ubiquitous object interaction interface method for pan-manufacturing and edge computing
US11778022B2 (en) * 2019-08-14 2023-10-03 Salesforce, Inc. Dynamically generated context pane within a group-based communication interface
KR102546065B1 (en) * 2020-10-30 2023-06-22 주식회사 플럭시티 Realization of digital twin using xml parsing of building information modeling and energy visualization system using thereof
CN114707640A (en) * 2022-03-04 2022-07-05 深圳市笈简科技有限公司 Digital twin linkage method and system applied to metauniverse
CN114692802A (en) * 2022-03-16 2022-07-01 北京上方传媒科技股份有限公司 Method and system for using two-dimension code label as meta-space ecological entry
CN115033368A (en) * 2022-07-04 2022-09-09 江苏赞奇科技股份有限公司 Cloud service scheduling management method and storage medium for Metaverse applications
CN115328909B (en) * 2022-08-05 2025-09-26 广东外语外贸大学南国商学院 Big data processing methods and models for data asset value-added

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6212566B1 (en) * 1996-01-26 2001-04-03 Imec Interprocess communication protocol system modem
CN109116751A (en) * 2018-07-24 2019-01-01 西安西电电气研究院有限责任公司 Digitization system and its construction method based on the twin technology of number
CN114610311A (en) * 2022-01-20 2022-06-10 杭州超乎智能科技有限公司 Virtualization method facing to physical programming and related equipment
CN114722565A (en) * 2022-03-02 2022-07-08 北京玖零时代影视传媒有限公司 Meta-universe digital twin system
CN115309264A (en) * 2022-07-15 2022-11-08 西安电子科技大学广州研究院 Virtual and physical world connection oriented construction system

Also Published As

Publication number Publication date
CN115857915B (en) 2024-03-15
CN115857915A (en) 2023-03-28

Similar Documents

Publication Publication Date Title
US5327559A (en) Remote and batch processing in an object oriented programming system
CN102375731B (en) Coding-free integrated application platform system
CN108809972B (en) Internet of things comprehensive experiment and application development platform based on open source ecosystem
AU649455B2 (en) Distributed computing system
CN104573115A (en) Method and system for achieving integration interface supporting operation of multi-type databases
CN102932431B (en) Message-routing-based state monitoring data interface configuration method
CN110716748A (en) Business processing method, apparatus, computer readable medium and electronic device
EP1428115A2 (en) General and reusable components for defining net-centric application program architectures
US7100167B2 (en) Method and apparatus for creating templates
CN102156642A (en) Implementation method and system for universal business process management interfaces
CN114115998B (en) Abstract instruction conversion method and system for heterogeneous cloud network devices
CN108415689A (en) Software sharing method based on the assembly of ubiquitous object three-stage
CN112114785A (en) Digital twin body construction method and system based on micro-service
CN111679911B (en) Management method, device, equipment and medium of GPU card in cloud environment
WO2024012221A1 (en) Method for creating virtual service shared pool on basis of formatted data stream file base template
CN114826869B (en) Device management method and device management system
CN115712670A (en) Data source management system
US7206843B1 (en) Thread-safe portable management interface
CN115857915B (en) Object digitizing method for meta-universe system development
CN120223750A (en) A cloud resource management method, device, medium and equipment
CN119149633A (en) Real-time data acquisition system of heterogeneous data source
CN118819725A (en) Method, device, equipment and medium for confirming container isolation resources
CN111400300B (en) Edge equipment management method and device and management equipment
CN120301931B (en) A method and system for unifying topological data structures and operations across services in a network range
CN114297168A (en) Log management method and device of business system, computer equipment and storage medium

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 23908745

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE