CN107798016B - 用于机器人操作系统的数据传输方法和装置 - Google Patents
用于机器人操作系统的数据传输方法和装置 Download PDFInfo
- Publication number
- CN107798016B CN107798016B CN201610805758.1A CN201610805758A CN107798016B CN 107798016 B CN107798016 B CN 107798016B CN 201610805758 A CN201610805758 A CN 201610805758A CN 107798016 B CN107798016 B CN 107798016B
- Authority
- CN
- China
- Prior art keywords
- data template
- data
- template
- currently
- written
- 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/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/546—Message passing systems or structures, e.g. queues
-
- 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/52—Program synchronisation; Mutual exclusion, e.g. by means of semaphores
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/3024—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a central processing unit [CPU]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3055—Monitoring arrangements for monitoring the status of the computing system or of the computing system component, e.g. monitoring if the computing system is on, off, available, not available
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S901/00—Robots
- Y10S901/50—Miscellaneous
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Quality & Reliability (AREA)
- Databases & Information Systems (AREA)
- Mathematical Physics (AREA)
- Data Mining & Analysis (AREA)
- Manipulator (AREA)
- Numerical Control (AREA)
Abstract
本申请公开了用于机器人操作系统的数据传输方法和装置。所述机器人操作系统包括发送节点、接收节点和作为所述发送节点与所述接收节点间传输介质的共享内存,所述方法的一具体实施方式包括:所述发送节点遍历预先存储在所述共享内存中的数据模板序列,确定所述数据模板序列中的各个数据模板当前是否被写入或被读取;将所述数据模板序列中当前未被写入且未被读取的数据模板作为目标数据模板,获取所述目标数据模板的信息;根据所述目标数据模板的信息,在所述目标数据模板中写入数据。该实施方式实现了在占用更少的内存资源的情况下,提高数据传输的传输性能。
Description
技术领域
本申请涉及计算机技术领域,具体涉及计算机操作系统技术领域,尤其涉及用于机器人操作系统的数据传输方法和装置。
背景技术
机器人操作系统(ROS,Robot Operating System)可以由很多节点和话题构成,每个节点都可以是一个独立的进程。节点可以分为两种:发送节点和接收节点,其中,发送节点可以用于发送采集的数据,接收节点可以用于接收发送节点发出的数据(有时一个节点既可以是发送节点,又可以是接收节点)。而话题是节点之间建立连接的依据。当节点之间建立连接后,发送节点和接收节点可以通过共享内存进行数据传输。此外,传输不同话题的数据时,可以使用不同的共享内存。
目前,比较常见的节点间传输数据的技术是流式数据传输技术。该技术通常采用如下方案:发送节点先将原始数据按照一定的编码规则进行序列化,得到流式数据;然后,通过套接字或共享内存的方式对序列化的流式数据进行传输;最后,接收节点按照同样的编码规则对接收到的流式数据进行反序列化,得到原始数据,从而使用发送节点发送的原始数据。
现有技术虽然可行,但存在两个明显的缺点:一是,对数据进行序列化和反序列化需要消耗大量时间,直接影响数据传输性能;二是,传输过程中需要对数据进行多次复制操作,这样会占用大量的内存空间。
发明内容
本申请的目的在于提出一种改进的用于机器人操作系统的数据传输方法和装置,来解决以上背景技术部分提到的技术问题。
第一方面,本申请提供了一种用于机器人操作系统的数据传输方法,所述方法包括:所述发送节点遍历预先存储在所述共享内存中的数据模板序列,确定所述数据模板序列中的各个数据模板当前是否被写入或被读取;将所述数据模板序列中当前未被写入且未被读取的数据模板作为目标数据模板,获取所述目标数据模板的信息;根据所述目标数据模板的信息,在所述目标数据模板中写入数据。
在一些实施例中,所述遍历预先存储在所述共享内存中的数据模板序列,确定所述数据模板序列中的各个数据模板当前是否被写入或被读取,包括:获取所述数据模板序列中当前被写入的数据模板的序号,其中,所述数据模板序列中的各个数据模板的序号是所述机器人操作系统设置的;从比所获取的序号的值大的序号开始,按照所述数据模板序列中的各个数据模板的序号由小到大的顺序,依次监测所述数据模板序列中当前未被写入的数据模板当前是否被读取。
在一些实施例中,所述将所述数据模板序列中当前未被写入且未被读取的数据模板作为目标数据模板,获取所述目标数据模板的信息,包括:响应于监测到所述数据模板序列中当前未被写入的数据模板中当前存在未被读取的数据模板,则将当前未被写入且未被读取的数据模板作为目标数据模板;响应于监测到所述数据模板序列中当前未被写入的数据模板中当前不存在未被读取的数据模板,则按照所述数据模板序列中的各个数据模板的序号顺序循环监测,直至监测到当前存在未被读取的数据模板,将当前未被写入且未被读取的数据模板作为目标数据模板;获取所述目标数据模板的信息。
在一些实施例中,所述数据模板包括数据表。
在一些实施例中,所述数据包括结构化数据和半结构化数据,其中,所述结构化数据和所述半结构化数据为用二维表结构来逻辑表达实现的数据。
第二方面,本申请提供了一种用于机器人操作系统的数据传输方法,所述方法包括:所述接收节点遍历预先存储在所述共享内存中的数据模板序列,确定所述数据模板序列中的各个数据模板当前是否被写入;将所述数据模板序列中当前未被写入的数据模板作为目标数据模板,获取所述目标数据模板的信息;根据所述目标数据模板的信息,在所述目标数据模板中读取数据。
在一些实施例中,所述遍历预先存储在共享内存中的数据模板序列,确定所述数据模板序列中的各个数据模板当前是否被写入,包括:按照所述数据模板序列中的各个数据模板的序号由小到大的顺序,依次监测所述数据模板序列中的各个数据模板当前是否被写入,其中,所述数据模板序列中的各个数据模板的序号是所述机器人操作系统设置的。
在一些实施例中,所述将所述数据模板序列中当前未被写入的数据模板作为目标数据模板,获取所述目标数据模板的信息,还包括:响应于监测到所述数据模板序列中的数据模板当前未被写入,则将当前未被写入的数据模板作为目标数据模板;响应于监测到所述数据模板序列中的数据模板当前被写入,则进入等待状态,直至监测到数据模板被写入完成,将被写入完成的数据模板作为目标数据模板;获取所述目标数据模板的信息。
在一些实施例中,所述数据模板包括数据表。
在一些实施例中,所述数据包括结构化数据和半结构化数据,其中,所述结构化数据和所述半结构化数据为用二维表结构来逻辑表达实现的数据。
第三方面,本申请提供了一种用于机器人操作系统的数据传输装置,所述装置包括:确定单元,配置用于遍历预先存储在所述共享内存中的数据模板序列,确定所述数据模板序列中的各个数据模板当前是否被写入或被读取;获取单元,配置用于将所述数据模板序列中当前未被写入且未被读取的数据模板作为目标数据模板,获取所述目标数据模板的信息;写入单元,配置用于根据所述目标数据模板的信息,在所述目标数据模板中写入数据。
在一些实施例中,所述确定单元包括:序号获取模块,配置用于获取所述数据模板序列中当前被写入的数据模板的序号,其中,所述数据模板序列中的各个数据模板的序号是所述机器人操作系统设置的;监测模块,配置用于从比所获取的序号的值大的序号开始,按照所述数据模板序列中的各个数据模板的序号由小到大的顺序,依次监测所述数据模板序列中当前未被写入的数据模板当前是否被读取。
在一些实施例中,所述获取单元包括:第一模板确定模块,配置用于响应于监测到所述数据模板序列中当前未被写入的数据模板中当前存在未被读取的数据模板,则将当前未被写入且未被读取的数据模板作为目标数据模板;第二模板确定模块,配置用于响应于监测到所述数据模板序列中当前未被写入的数据模板中当前不存在未被读取的数据模板,则按照所述数据模板序列中的各个数据模板的序号顺序循环监测,直至监测到当前存在未被读取的数据模板,将当前未被写入且未被读取的数据模板作为目标数据模板;信息获取模块,配置用于获取所述目标数据模板的信息。
第四方面,本申请提供了一种用于机器人操作系统的数据传输装置,所述装置包括:确定单元,配置用于遍历预先存储在所述共享内存中的数据模板序列,确定所述数据模板序列中的各个数据模板当前是否被写入;获取单元,配置用于将所述数据模板序列中当前未被写入的数据模板作为目标数据模板,获取所述目标数据模板的信息;读取单元,配置用于根据所述目标数据模板的信息,在所述目标数据模板中读取数据。
在一些实施例中,所述确定单元进一步配置用于:按照所述数据模板序列中的各个数据模板的序号由小到大的顺序,依次监测所述数据模板序列中的各个数据模板当前是否被写入,其中,所述数据模板序列中的各个数据模板的序号是所述机器人操作系统设置的。
在一些实施例中,所述获取单元包括:第一模板确定模块,配置用于响应于监测到所述数据模板序列中的数据模板当前未被写入,则将当前未被写入的数据模板作为目标数据模板;第二模板确定模块,配置用于响应于监测到所述数据模板序列中的数据模板当前被写入,则进入等待状态,直至监测到数据模板被写入完成,将被写入完成的数据模板作为目标数据模板;信息获取模块,配置用于获取所述目标数据模板的信息。
本申请提供的用于机器人操作系统的数据传输方法和装置,通过使用预先存储在共享内存中的数据模板序列中的数据模板,消除了数据的序列化和反序列化过程,同时,也避免了数据的多次复制操作,从而可以实现在占用更少的内存资源的情况下,提高数据传输的传输性能。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
图1是本申请可以应用于其中的示例性系统架构图;
图2是根据本申请的用于机器人操作系统的数据传输方法的一个实施例的流程图;
图3是根据本申请的用于机器人操作系统的数据传输方法的一个实施例的流程图;
图4是根据图2和图3所示的用于机器人操作系统的数据传输方法的一个应用场景的示意图;
图5是图2所示的用于机器人操作系统的数据传输方法的又一个实施例的流程图;
图6是图3所示的用于机器人操作系统的数据传输方法的又一个实施例的流程图;
图7是根据本申请的用于机器人操作系统的数据传输装置的一个实施例的结构示意图;
图8是根据本申请的用于机器人操作系统的数据传输装置的一个实施例的结构示意图;
图9是适于用来实现本申请实施例的终端设备的计算机系统的结构示意图。
具体实施方式
下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与有关发明相关的部分。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
图1示出了可以应用本申请的用于机器人操作系统的数据传输方法或用于机器人操作系统的数据传输装置的实施例的示例性系统架构100。
如图1所示,系统架构100可以包括车载终端101、采集设备106和网络105。网络105用以在车载终端101和采集设备106之间提供通信链路的介质。网络105可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
采集设备106可以是采集周围环境信息的各种电子设备,包括但不限于摄像头、雷达、温度传感器、录音设备等等。
车载终端101上可以安装改进的机器人操作系统,并且机器人操作系统中可以包含发送节点102、接收节点103和共享内存104。车载终端101上的机器人操作系统通过将采集设备106采集的数据存储到共享内存104中,实现发送节点102和接收节点103的数据传输。
需要说明的是,本申请实施例所提供的用于机器人操作系统的数据传输方法一般由车载终端101执行,相应地,用于机器人操作系统的数据传输装置一般设置于车载终端101中。
应该理解,图1中的车载终端和采集设备的数目仅仅是示意性的。根据实现需要,可以具有任意数目的车载终端和采集设备。
继续参考图2,示出了根据本申请的用于机器人操作系统的数据传输方法的一个实施例的流程200。所述的用于机器人操作系统的数据传输方法,包括以下步骤:
步骤201,发送节点遍历预先存储在共享内存中的数据模板序列,确定数据模板序列中的各个数据模板当前是否被写入或被读取。
在本实施例中,用于机器人操作系统的数据传输方法运行于其上的电子设备(例如图1所示的车载终端101)使用共享内存作为传输介质进行数据传输。共享内存可以为在多节点的机器人操作系统中,被不同节点访问的内存。共享内存中可以预先存储数据模板序列。数据模板序列中可以包括一个或多个数据模板,并且每个数据模板都可以有一个序号。其中,数据模板可以是数据存储在其中且具有一定结构形式的模板,如XML(ExtensibleMarkup Language,可扩展标记语言)文件。
在本实施例中,发送节点在写入数据前,可以按照各种顺序遍历共享内存中的数据模板序列,如数据模板的序号由小到大或由大到小的顺序。其中,发送节点可以是发送采集的数据的节点。同时,发送节点可以通过各种方式来确定数据模板序列中的每一个数据模板当前是否被写入或被读取。例如,根据机器人操作系统为每个数据模板设置的状态标识,可以确定每个数据模板当前是否被写入或被读取。比如:当数据模板的状态标识为10时,则可以认为该数据模板当前被写入;当数据模板的状态标识为01时,则可以认为该数据模板当前被读取;当数据模板的状态标识为00时,则可以认为该数据模板当前既未被写入也未被读取,即发送节点可以向该数据模板写入数据。作为示例,还可以根据数据模板是否被锁定,来确定每个数据模板当前是否被写入或被读取。当数据模板被锁定,说明此数据模板当前被写入或被读取。当数据模板没有被锁定,说明可以向此数据模板写入数据。
可选地,上述共享内存可以是上述电子设备上安装的机器人操作系统预先为节点间的数据传输自动分配的;也可以是通过人为设置而预先统一分配的;还可以是在需要传输数据时,发送节点向上述电子设备上安装的机器人操作系统申请获得的。
可选地,上述数据模板序列中的数据模板可以是在上述电子设备上预先创建并存储的;也可以是发送节点根据已有的数据模板和需要传输的数据的数量而创建的。例如:发送节点需要传输3个数据,而在遍历数据模板序列时,发现只有1个数据模板。此时,发送节点可以根据已存在的数据模板创建2个新的数据模板。此外,数据模板序列中数据模板的数量,可以由上述电子设备根据共享内存的大小和使用情况自动计算,也可以由人为设置阈值(一个共享内存所包含的数据模板个数的最大值)。
在本实施例的一些可选实现方式中,上述数据模板可以包括数据表。
步骤202,将数据模板序列中当前未被写入且未被读取的数据模板作为目标数据模板,获取目标数据模板的信息。
在本实施例中,发送节点可以根据步骤201确定的数据模板序列中当前未被写入且未被读取的数据模板,将该数据模板作为为目标数据模板。例如,发送节点可以对该数据模板进行标记,或者还可以将该数据模板的序号存储到特定位置,以确定目标数据模板。并可以通过有线或无线的方式获取目标数据模板的信息。作为示例,数据模板的信息可以包括但不限于以下至少一项:字段名称、字段类型、必要条件。其中,字段名称可以包括各种自定义的名称和通用名称,字段类型可以包括定长字符型、可变长字符型、数据字符型、日期型等,必要条件可以包括字段可以或不可以为Null(空值),还可以包括字段可以或不可以重复。
可选地,发送节点在将当前未被写入且未被读取的数据模板作为目标数据模板的同时,还可以将该目标数据模板锁定,使得其他发送节点或接收节点不能访问该目标数据模板。
步骤203,根据目标数据模板的信息,在目标数据模板中写入数据。
在本实施例中,发送节点可以根据步骤202获取到目标数据模板的信息,按照目标数据模板的结构形式,在目标数据模板中写入数据。例如:一件商品的信息可以包括:商品名(上衣)、材质(纯棉)、尺码(165/L)、价格/元(100)等数据,在数据模板的字段名称中可以分别写入商品名、材质、尺码和价格/元,这些字段名称的字段类型可以均为字符型;再在与各字段名称对应的字段中可以分别写入上衣、纯棉、165/L和100,这些字段的字段类型可以分别为字符型、字符型、数字字符型和数字型。
在本实施例的一些可选实现方式中,上述数据可以是机器人操作系统中各种节点间可传输的结构化数据或半结构化数据。例如可以是激光雷达采集的点云数据,该点云数据可以包含height(高度)和width(宽度)等字段。其中,结构化数据为可以用二维表结构来实现逻辑表达的数据,如:数字、符号;半结构化数据可以为和普通纯文本相比,具有一定的结构性的数据,例如OEM(Object Exchange Model,对象交换模型)中存储的数据。
可选地,发送节点在写入数据后,还可以通过有线或无线的方式通知接收节点共享内存中的数据模板的数据有更新。
继续参考图3,示出了根据本申请的用于机器人操作系统的数据传输方法的一个实施例的流程300。所述的用于机器人操作系统的数据传输方法,包括以下步骤:
步骤301,接收节点遍历预先存储在共享内存中的数据模板序列,确定数据模板序列中的各个数据模板当前是否被写入。
在本实施例中,用于机器人操作系统的数据传输方法运行于其上的电子设备(例如图1所示的车载终端101)使用共享内存作为传输介质进行数据传输。共享内存可以为在多节点的机器人操作系统中,被不同节点访问的内存。共享内存中可以预先存储数据模板序列。数据模板序列中的每个数据模板都可以有一个序号。其中,数据模板可以是数据存储在其中且具有一定结构形式的模板,如XML文件。
在本实施例中,接收节点在读取数据前,可以按照各种顺序遍历共享内存中的数据模板序列,如数据模板的序号由小到大或由大到小的顺序。其中,接收节点可以是接收发送节点发送的数据的节点。同时,接收节点可以通过各种方式来确定数据模板序列中的每一个数据模板当前是否被写入。例如,根据机器人操作系统为每个数据模板设置的写入标识,可以确定每个数据模板当前是否被写入。比如:当数据模板的写入标识为1时,则可以认为该数据模板当前被写入。当数据模板的写入标识为0时,则可以认为该数据模板当前未被写入,即接收节点可以从该数据模板中读取数据。作为示例,还可以根据数据模板是否被锁定,来确定每个数据模板当前是否被写入。当数据模板被锁定时,说明该数据模板当前被写入。当该数据模板没有被锁定时,说明可以从该数据模板读取数据。
作为示例,接收节点可以在接收到发送节点发送的共享内存中的数据模板的数据有更新的通知后,再遍历预先存储在共享内存中的数据模板序列。
可选地,上述共享内存可以是上述电子设备上安装的机器人操作系统预先为节点间的数据传输自动分配的;也可以是通过人为设置而预先统一分配的;还可以是在需要传输数据时,发送节点向上述电子设备上安装的机器人操作系统申请获得的。
可选地,上述数据模板序列中的数据模板可以是在上述电子设备上预先创建并存储的;也可以是发送节点根据已有的数据模板和需要传输的数据的数量而创建的。此外,数据模板序列中数据模板的数量,可以由上述电子设备根据共享内存的大小和使用情况自动计算,也可以由人为设置阈值(一个共享内存所包含的数据模板个数的最大值)。
在本实施例的一些可选实现方式中,上述数据模板还可以包括数据表。
步骤302,将数据模板序列中当前未被写入的数据模板作为目标数据模板,获取目标数据模板的信息。
在本实施例中,接收节点可以根据步骤301确定的数据模板序列中当前未被写入的数据模板,将该数据模板作为为目标数据模板。例如,接收节点可以对该数据模板进行标记,或者还可以将该数据模板的序号存储到特定位置,以确定目标数据模板。并可以通过有线或无线的方式获取目标数据模板的信息。作为示例,数据模板的信息可以包括但不限于以下至少一项:字段名称、字段类型、必要条件。其中,字段名称可以包括各种自定义的名称和通用名称,字段类型可以包括定长字符型、可变长字符型、数据字符型、日期型等,必要条件可以包括字段可以或不可以为Null,还可以包括字段可以或不可以重复。
可选地,接收节点在将当前未被写入的数据模板作为目标数据模板的同时,还可以将该目标数据模板锁定,使得其他发送节点不能向该目标数据模板写入数据。
步骤303,根据目标数据模板的信息,在目标数据模板中读取数据。
在本实施例中,接收节点根据步骤302获取到目标数据模板的信息,按照目标数据模板的结构形式,从目标数据模板中读取数据。例如:数据模板可以是XML文件,其中存储一件商品的数据为“<product name>coat</product name><material>cotton</material><price/RMB>100</price/RMB><size>165/L</size>”,接收节点可以通过“<>”中包含的数据,读取到该商品的商品名、材质、价格/元和尺码,同时读取到相应的具体内容数据分别为coat、cotton、100和165/L。
在本实施例的一些可选实现方式中,上述数据可以是机器人操作系统中各种节点间可传输的结构化数据或半结构化数据。例如可以是激光雷达采集的点云数据,该点云数据可以包含height和width等字段。其中,结构化数据为可以用二维表结构来实现逻辑表达的数据,如:数字、符号;半结构化数据可以为和普通纯文本相比,具有一定的结构性的数据,例如OEM中存储的数据。
可选地,接收节点在完成数据读取后,还可以通过有线或无线的方式通知发送节点。
继续参见图4,图4是根据图2和图3实施例的用于机器人操作系统的数据传输方法的应用场景的一个示意图。在图4的应用场景中,安装有上述电子设备(例如图1所示的车载终端101)的无人驾驶汽车通常包含传感器节点、感知节点、定位节点、决策和控制节点等等。这些节点可以是发送节点,也可以是接收节点。通过各个节点之间传输数据(通常为结构化数据),可以实现无人驾驶汽车的功能。当无人驾驶汽车中各个节点需要传输数据时,这些节点中的发送节点可以遍历预存在共享内存中的数据模板序列(如附图标记401所示)。其中,数据模板序列中包含数据模板1、数据模板2、数据模板3、数据模板4······数据模板N,N可以是数据模板的序号,N为正整数。将当前未被写入且未被读取的数据模板(比如数据模板4)确定为目标数据模板(如附图标记402所示)。并获取目标数据模板(数据模板4)的信息(如附图标记403所示)。在数据模板4中写入待传输数据(如附图标记404所示)。发送节点在访问共享内存中的数据模板的同时,接收节点也可以访问共享内存中的其他数据模板。各个节点中的接收节点可以遍历数据模板序列(如附图标记405所示),并将当前未被写入的数据模板(比如数据模板1)确定为目标数据模板(如附图标记406所示)。此外,接收节点可以获取目标数据模板(数据模板1)的信息(如附图标记407所示)。并在数据模板1中读取发送节点写入的数据(如附图标记408所示)。
本申请的上述实施例提供的方法通过在共享内存中的数据模板序列中的数据模板中写入或读取结构化数据或半结构化数据,消除了数据传输过程中的序列化和返序列化,从而提升了发送节点和接收节点间的数据传输性能。
进一步参考图5,其示出了图2所示的用于传输数据的方法的又一个实施例的流程500。该方法的流程500,包括以下步骤:
步骤501,发送节点遍历预先存储在共享内存中的数据模板序列。
在本实施例中,该步骤与步骤201基本相同,在此不再赘述。
步骤502,获取当前被写入的数据模板的序号。
在本实施例中,发送节点可以根据机器人操作系统为各个数据模板设置的状态标识,或者还可以根据各个数据模板是否被锁定,来确定数据模板序列中的各个数据模板当前是否被写入。在确定了当前被写入的数据模板后,则发送节点可以获取当前被写入的数据模板的序号,其中,数据模板序列中的各个数据模板的序号可以是机器人操作系统设置的。
步骤503,依次监测未被写入的数据模板当前是否被读取。
在本实施例中,发送节点可以从比所获取的当前被写入的数据模板的序号的值大M(M为正整数)的序号开始,按照各个数据模板的序号由小到大的顺序遍历数据模板序列,并监测未被写入的各个数据模板中当前是否存在未被读取的数据模板。例如,如果有一个数据模板当前被写入,则发送节点可以从比该数据模板的序号的值大1的序号开始遍历。如果有多个数据模板当前被写入,则发送节点可以从多个数据模板的序号中选取出值最大的序号,然后从比该序号的值大1的序号开始遍历。比如,当前被写入的数据模板的序号为2和3,那么选取出值最大的序号为3,发送节点可以从未被写入的数据模板4开始遍历,并依次监测未被写入的数据模板4、数据模板5至数据模板N当前是否被读取。
在本实施例中,如果监测到当前未被写入的数据模板中当前不存在未被读取的数据模板,则执行步骤504;如果监测到当前未被写入的数据模板中当前存在未被读取的数据模板,则执行步骤505。
步骤504,按照数据模板的序号顺序循环监测,直至监测到当前存在未被读取的数据模板。
在本实施例中,发送节点可以按照数据模板序列中各个数据模板的序号由小到大或由大到小的顺序循环监测,直至监测到当前存在未被读取的数据模板。例如,数据模板序列中共有5个数据模板,当前被写入的数据模板的序号为2和3,于是,发送节点可以依次监测未被写入的数据模板4、5和1,但发现这些数据模板都在被读取,于是,发送节点可以从未被写入的数据模板1开始循环监测数据模板1、4和5。
步骤505,将当前被未被写入且未被读取的数据模板作为目标数据模板,获取目标数据模板的信息。
在本实施例中,该步骤与步骤202基本相同,在此不再赘述。
步骤506,根据目标数据模板的信息,在目标数据模板中写入数据。
在本实施例中,该步骤与步骤203基本相同,在此不再赘述。
从图5中可以看出,与图2对应的实施例相比,本实施例中的用于机器人操作系统的数据传输方法的流程500突出了对当前未被写入且未被读取的数据模板的确定步骤。由此,本实施例描述的方案可以防止多个节点同时写入和读取时发生混乱,从而保证整个数据传输方法的正确性。
进一步参考图6,其示出了图3所示的用于传输数据的方法的又一个实施例的流程600。该方法的流程600,包括以下步骤:
步骤601,接收节点遍历预先存储在共享内存中的数据模板序列。
在本实施例中,该步骤与步骤301基本相同,在此不再赘述。
步骤602,依次监测数据模板当前是否被写入。
在本实施例中,接收节点按照数据模板序列中的各个数据模板的序号由小到大的顺序,依次监测各个数据模板当前是否被写入,参见步骤301。其中,各个数据模板的序号可以是机器人操作系统设置的。如果数据模板当前被写入,则执行步骤603;如果数据模板当前未被写入,则执行步骤604。
步骤603,进入等待状态,直至监测到数据模板被写入完成。
在本实施例中,接收节点监测到数据模板当前被写入,则可以进入等待状态,直至监测到该被写入的数据模板被写入完成,即该数据模板当前已成为未被写入的数据模板。
步骤604,将当前未被写入的数据模板作为目标数据模板,获取目标数据模板的信息。
在本实施例中,该步骤与步骤302基本相同,在此不再赘述。
步骤605,根据目标数据模板的信息,在目标数据模板中读取数据。
在本实施例中,该步骤与步骤303基本相同,在此不再赘述。
从图6中可以看出,与图3对应的实施例相比,本实施例中的用于机器人操作系统的数据传输方法的流程600突出了对当前未被写入的数据模板的确定步骤。由此,本实施例描述的方案可以防止多个节点同时写入和读取时发生混乱,从而保证整个数据传输方法的正确性。
进一步参考图7,作为对上述各图所示方法的实现,本申请提供了一种用于传输数据的装置的一个实施例,该装置实施例与图2所示的方法实施例相对应。
如图7所示,本实施例所述的用于机器人操作系统的数据传输装置700包括:确定单元701、获取单元702和写入单元703。其中,确定单元701配置用于遍历预先存储在共享内存中的数据模板序列,确定数据模板序列中的各个数据模板当前是否被写入或被读取;获取单元702配置用于将数据模板序列中当前未被写入且未被读取的数据模板作为目标数据模板,获取目标数据模板的信息;写入单元703配置用于根据目标数据模板的信息,在目标数据模板中写入数据。
在本实施例的一些可选的实现方式中,上述确定单元701包括:序号获取模块,配置用于获取数据模板序列中当前被写入的数据模板的序号,其中,数据模板序列中的各个数据模板的序号是机器人操作系统设置的;监测模块,配置用于从比所获取的序号的值大的序号开始,按照数据模板序列中的各个数据模板的序号由小到大的顺序,依次监测数据模板序列中当前未被写入的数据模板当前是否被读取。
在本实施例的一些可选的实现方式中,上述获取单元702包括:第一模板确定模块,配置用于响应于监测到数据模板序列中当前未被写入的数据模板中当前存在未被读取的数据模板,则将当前未被写入且未被读取的数据模板作为目标数据模板;第二模板确定模块,配置用于响应于监测到数据模板序列中当前未被写入的数据模板中当前不存在未被读取的数据模板,则按照数据模板序列中的各个数据模板的序号顺序循环监测,直至监测到当前存在未被读取的数据模板,将当前未被写入且未被读取的数据模板作为目标数据模板;信息获取模块,配置用于获取目标数据模板的信息。
可选地,上述数据模板可以包括但不限于数据表和XML文件。上述数据可以包括结构化数据和半结构化数据。
进一步参考图8,作为对上述各图所示方法的实现,本申请提供了一种用于传输数据的装置的一个实施例,该装置实施例与图3所示的方法实施例相对应。
如图8所示,本实施例所述的用于机器人操作系统的数据传输装置800包括:确定单元801、获取单元802和读取单元803。其中,确定单元801配置用于遍历预先存储在共享内存中的数据模板序列,确定数据模板序列中的各个数据模板当前是否被写入;获取单元802配置用于将数据模板序列中当前未被写入的数据模板作为目标数据模板,获取目标数据模板的信息;读取单元803配置用于根据目标数据模板的信息,在目标数据模板中读取数据。
在本实施例的一些可选的实现方式中,上述确定单元801进一步配置用于:按照数据模板序列中的各个数据模板的序号由小到大的顺序,依次监测数据模板序列中的各个数据模板当前是否被写入,其中,数据模板序列中的各个数据模板的序号是机器人操作系统设置的。
在本实施例的一些可选的实现方式中,上述获取单元802包括:第一模板确定模块,配置用于响应于监测到数据模板序列中的数据模板当前未被写入,则将当前未被写入的数据模板作为目标数据模板;第二模板确定模块,配置用于响应于监测到数据模板序列中的数据模板当前被写入,则进入等待状态,直至监测到数据模板被写入完成,将被写入完成的数据模板作为目标数据模板;信息获取模块,配置用于获取目标数据模板的信息。
可选地,上述数据模板可以包括但不限于数据表和XML文件。上述数据可以包括结构化数据和半结构化数据。
下面参考图9,其示出了适于用来实现本申请实施例的终端设备的计算机系统900的结构示意图。
如图9所示,计算机系统900包括中央处理单元(CPU)901,其可以根据存储在只读存储器(ROM)902中的程序或者从存储部分908加载到随机访问存储器(RAM)903中的程序而执行各种适当的动作和处理。在RAM 903中,还存储有系统900操作所需的各种程序和数据。CPU 901、ROM 902以及RAM 903通过总线904彼此相连。输入/输出(I/O)接口905也连接至总线904。
以下部件连接至I/O接口905:包括键盘、鼠标等的输入部分906;包括诸如液晶显示器(LCD)等以及扬声器等的输出部分907;包括硬盘等的存储部分908;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分909。通信部分909经由诸如因特网的网络执行通信处理。驱动器910也根据需要连接至I/O接口905。可拆卸介质911,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器910上,以便于从其上读出的计算机程序根据需要被安装入存储部分908。
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括有形地包含在机器可读介质上的计算机程序,所述计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分909从网络上被下载和安装,和/或从可拆卸介质911被安装。在该计算机程序被中央处理单元(CPU)901执行时,执行本申请的方法中限定的上述功能。
附图中的流程图和框图,图示了按照本申请各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,所述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本申请实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元也可以设置在处理器中,例如,可以描述为:一种处理器包括确定单元、获取单元和写入单元。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定,例如,写入单元还可以被描述为“在目标数据模板中写入数据的单元”。
作为另一方面,本申请还提供了一种非易失性计算机存储介质,该非易失性计算机存储介质可以是上述实施例中所述装置中所包含的非易失性计算机存储介质;也可以是单独存在,未装配入终端中的非易失性计算机存储介质。上述非易失性计算机存储介质存储有一个或者多个程序,当所述一个或者多个程序被一个设备执行时,使得所述设备:发送节点遍历预先存储在共享内存中的数据模板序列,确定上述数据模板序列中的各个数据模板当前是否被写入或被读取;将上述数据模板序列中当前未被写入且未被读取的数据模板作为目标数据模板,获取上述目标数据模板的信息;根据上述目标数据模板的信息,在上述目标数据模板中写入数据。
以上描述仅为本申请的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本申请中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离所述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本申请中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
Claims (16)
1.一种用于机器人操作系统的数据传输方法,其特征在于,所述机器人操作系统包括发送节点、接收节点和作为所述发送节点与所述接收节点间传输介质的共享内存,所述方法包括:
所述发送节点遍历预先存储在所述共享内存中的数据模板序列,确定所述数据模板序列中的各个数据模板当前是否被写入或被读取;
将所述数据模板序列中当前未被写入且未被读取的数据模板作为目标数据模板,获取所述目标数据模板的信息;
根据所述目标数据模板的信息,在所述目标数据模板中写入数据;
所述发送节点遍历预先存储在所述共享内存中的数据模板序列,确定所述数据模板序列中的各个数据模板当前是否被写入或被读取,包括:
获取所述数据模板序列中当前被写入的数据模板的序号;
从比所获取的序号的值大的序号开始,按照所述数据模板序列中的各个数据模板的序号由小到大的顺序,依次监测所述数据模板序列中当前未被写入的数据模板当前是否被读取;
将所述数据模板序列中当前未被写入且未被读取的数据模板作为目标数据模板,获取所述目标数据模板的信息,包括:
响应于监测到所述数据模板序列中当前未被写入的数据模板中当前不存在未被读取的数据模板,则按照所述数据模板序列中的各个数据模板的序号顺序循环监测,直至监测到当前存在未被读取的数据模板,将当前未被写入且未被读取的数据模板作为目标数据模板。
2.根据权利要求1所述的方法,其特征在于,所述数据模板序列中的各个数据模板的序号是所述机器人操作系统设置的。
3.根据权利要求2所述的方法,其特征在于,将所述数据模板序列中当前未被写入且未被读取的数据模板作为目标数据模板,获取所述目标数据模板的信息,还包括:
响应于监测到所述数据模板序列中当前未被写入的数据模板中当前存在未被读取的数据模板,则将当前未被写入且未被读取的数据模板作为目标数据模板;
获取所述目标数据模板的信息。
4.根据权利要求1所述的方法,其特征在于,所述数据模板包括数据表。
5.根据权利要求1所述的方法,其特征在于,所述数据包括结构化数据和半结构化数据,其中,所述结构化数据和所述半结构化数据为用二维表结构来逻辑表达实现的数据。
6.一种用于机器人操作系统的数据传输方法,其特征在于,所述机器人操作系统包括发送节点、接收节点和作为所述发送节点与所述接收节点间传输介质的共享内存,所述方法包括:
所述接收节点遍历预先存储在所述共享内存中的数据模板序列,确定所述数据模板序列中的各个数据模板当前是否被写入;
将所述数据模板序列中当前未被写入的数据模板作为目标数据模板,获取所述目标数据模板的信息;
根据所述目标数据模板的信息,在所述目标数据模板中读取数据;
所述接收节点遍历预先存储在所述共享内存中的数据模板序列,确定所述数据模板序列中的各个数据模板当前是否被写入,包括:
按照所述数据模板序列中的各个数据模板的序号由小到大的顺序,依次监测所述数据模板序列中的各个数据模板当前是否被写入;
将所述数据模板序列中当前未被写入的数据模板作为目标数据模板,获取所述目标数据模板的信息,包括:
响应于监测到所述数据模板序列中的数据模板当前被写入,则进入等待状态,直至监测到数据模板被写入完成,将被写入完成的数据模板作为目标数据模板。
7.根据权利要求6所述的方法,其特征在于,所述数据模板序列中的各个数据模板的序号是所述机器人操作系统设置的。
8.根据权利要求7所述的方法,其特征在于,将所述数据模板序列中当前未被写入的数据模板作为目标数据模板,获取所述目标数据模板的信息,还包括:
响应于监测到所述数据模板序列中的数据模板当前未被写入,则将当前未被写入的数据模板作为目标数据模板;
获取所述目标数据模板的信息。
9.根据权利要求6所述的方法,其特征在于,所述数据模板包括数据表。
10.根据权利要求6所述的方法,其特征在于,所述数据包括结构化数据和半结构化数据,其中,所述结构化数据和所述半结构化数据为用二维表结构来逻辑表达实现的数据。
11.一种用于机器人操作系统的数据传输装置,其特征在于,所述机器人操作系统包括发送节点、接收节点和作为所述发送节点与所述接收节点间传输介质的共享内存,所述装置包括:
确定单元,配置用于遍历预先存储在所述共享内存中的数据模板序列,确定所述数据模板序列中的各个数据模板当前是否被写入或被读取;
获取单元,配置用于将所述数据模板序列中当前未被写入且未被读取的数据模板作为目标数据模板,获取所述目标数据模板的信息;
写入单元,配置用于根据所述目标数据模板的信息,在所述目标数据模板中写入数据;
所述确定单元包括:
序号获取模块,配置用于获取所述数据模板序列中当前被写入的数据模板的序号;
监测模块,配置用于从比所获取的序号的值大的序号开始,按照所述数据模板序列中的各个数据模板的序号由小到大的顺序,依次监测所述数据模板序列中当前未被写入的数据模板当前是否被读取;
所述获取单元包括:
第二模板确定模块,配置用于响应于监测到所述数据模板序列中当前未被写入的数据模板中当前不存在未被读取的数据模板,则按照所述数据模板序列中的各个数据模板的序号顺序循环监测,直至监测到当前存在未被读取的数据模板,将当前未被写入且未被读取的数据模板作为目标数据模板。
12.根据权利要求11所述的装置,其特征在于,所述数据模板序列中的各个数据模板的序号是所述机器人操作系统设置的。
13.根据权利要求12所述的装置,其特征在于,所述获取单元还包括:
第一模板确定模块,配置用于响应于监测到所述数据模板序列中当前未被写入的数据模板中当前存在未被读取的数据模板,则将当前未被写入且未被读取的数据模板作为目标数据模板;
信息获取模块,配置用于获取所述目标数据模板的信息。
14.一种用于机器人操作系统的数据传输装置,其特征在于,所述机器人操作系统包括发送节点、接收节点和作为所述发送节点与所述接收节点间传输介质的共享内存,所述装置包括:
确定单元,配置用于遍历预先存储在所述共享内存中的数据模板序列,确定所述数据模板序列中的各个数据模板当前是否被写入;
获取单元,配置用于将所述数据模板序列中当前未被写入的数据模板作为目标数据模板,获取所述目标数据模板的信息;
读取单元,配置用于根据所述目标数据模板的信息,在所述目标数据模板中读取数据;
所述确定单元进一步配置用于:
按照所述数据模板序列中的各个数据模板的序号由小到大的顺序,依次监测所述数据模板序列中的各个数据模板当前是否被写入;
所述获取单元包括:
第二模板确定模块,配置用于响应于监测到所述数据模板序列中的数据模板当前被写入,则进入等待状态,直至监测到数据模板被写入完成,将被写入完成的数据模板作为目标数据模板。
15.根据权利要求14所述的装置,其特征在于,所述数据模板序列中的各个数据模板的序号是所述机器人操作系统设置的。
16.根据权利要求15所述的装置,其特征在于,所述获取单元还包括:
第一模板确定模块,配置用于响应于监测到所述数据模板序列中的数据模板当前未被写入,则将当前未被写入的数据模板作为目标数据模板;
信息获取模块,配置用于获取所述目标数据模板的信息。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610805758.1A CN107798016B (zh) | 2016-09-06 | 2016-09-06 | 用于机器人操作系统的数据传输方法和装置 |
US15/409,946 US9965344B2 (en) | 2016-09-06 | 2017-01-19 | Method and apparatus for transmitting data in a robot operating system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610805758.1A CN107798016B (zh) | 2016-09-06 | 2016-09-06 | 用于机器人操作系统的数据传输方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107798016A CN107798016A (zh) | 2018-03-13 |
CN107798016B true CN107798016B (zh) | 2019-06-07 |
Family
ID=61280504
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610805758.1A Active CN107798016B (zh) | 2016-09-06 | 2016-09-06 | 用于机器人操作系统的数据传输方法和装置 |
Country Status (2)
Country | Link |
---|---|
US (1) | US9965344B2 (zh) |
CN (1) | CN107798016B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108566316B (zh) * | 2018-04-18 | 2019-10-22 | 百度在线网络技术(北京)有限公司 | 无人车时延统计方法、装置、设备及计算机可读介质 |
CN111614741A (zh) * | 2020-05-11 | 2020-09-01 | 西北工业大学 | 一种基于ros系统的多机器人通讯方法及装置 |
CN112035281A (zh) * | 2020-08-31 | 2020-12-04 | 安徽江淮汽车集团股份有限公司 | 多激光雷达数据输出方法、装置、设备及存储介质 |
CN113518094B (zh) * | 2021-09-14 | 2021-12-28 | 深圳市普渡科技有限公司 | 数据处理方法、装置、机器人和存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101477511A (zh) * | 2008-12-31 | 2009-07-08 | 杭州华三通信技术有限公司 | 一种实现多操作系统共享存储介质的方法和装置 |
CN103227778A (zh) * | 2013-03-26 | 2013-07-31 | 华为技术有限公司 | 内存访问方法、设备和系统 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020129274A1 (en) * | 2001-03-08 | 2002-09-12 | International Business Machines Corporation | Inter-partition message passing method, system and program product for a security server in a partitioned processing environment |
US7685319B2 (en) * | 2004-09-28 | 2010-03-23 | Cray Canada Corporation | Low latency communication via memory windows |
CN102495891B (zh) * | 2011-12-09 | 2014-12-03 | 国网冀北电力有限公司管理培训中心 | 一种用于微型电网智能终端的实时数据库实现方法 |
CN106055417B (zh) * | 2016-06-02 | 2018-09-11 | 北京百度网讯科技有限公司 | 用于机器人操作系统的消息传输方法和装置 |
CN106021000B (zh) * | 2016-06-02 | 2018-06-01 | 北京百度网讯科技有限公司 | 用于机器人操作系统的共享内存管理方法和装置 |
-
2016
- 2016-09-06 CN CN201610805758.1A patent/CN107798016B/zh active Active
-
2017
- 2017-01-19 US US15/409,946 patent/US9965344B2/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101477511A (zh) * | 2008-12-31 | 2009-07-08 | 杭州华三通信技术有限公司 | 一种实现多操作系统共享存储介质的方法和装置 |
CN103227778A (zh) * | 2013-03-26 | 2013-07-31 | 华为技术有限公司 | 内存访问方法、设备和系统 |
Also Published As
Publication number | Publication date |
---|---|
US20180067787A1 (en) | 2018-03-08 |
CN107798016A (zh) | 2018-03-13 |
US9965344B2 (en) | 2018-05-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107798016B (zh) | 用于机器人操作系统的数据传输方法和装置 | |
CN105071976B (zh) | 数据传输方法和装置 | |
CN107818118B (zh) | 数据存储方法和装置 | |
EP2943859B1 (en) | System, method, and computer-readable medium for managing edge devices | |
CN106202006B (zh) | 文件生成方法和装置 | |
US10127093B1 (en) | Method and apparatus for monitoring a message transmission frequency in a robot operating system | |
CN102415052B (zh) | 用于管理设备的配置的系统和方法 | |
US20120191831A1 (en) | System and method for cataloging assets in a network | |
KR101948961B1 (ko) | 항공기 정보 관리 시스템 | |
CN109639791A (zh) | 一种容器环境下云工作流调度方法及系统 | |
KR20180004182A (ko) | 선박 데이터 통합 관리 방법 및 장치 | |
CN110084567A (zh) | 电子印章使用方法、装置、设备及计算机可读存储介质 | |
CN108733614A (zh) | 数据传输系统、方法和装置 | |
JP2010128597A (ja) | 情報処理装置及び情報処理装置の運用方法 | |
CN105490835B (zh) | 信息监控方法和装置 | |
KR102545045B1 (ko) | 정보 생성 방법 및 장치 | |
CN108540439A (zh) | 数据解析方法及系统、设备和存储介质 | |
CN110798498B (zh) | 管理边缘-核心分布式分析系统的数据流的方法 | |
CN107818019B (zh) | 用于机器人操作系统的数据同步方法和装置 | |
CN110309028A (zh) | 监控信息获取方法、服务监控方法、装置及系统 | |
CN111488928B (zh) | 用于获取样本的方法及装置 | |
CN105592143B (zh) | 一种文件加载方法及装置 | |
CN111259213B (zh) | 数据可视化的处理方法及装置 | |
US20130074096A1 (en) | Hierarchical Contexts to Drive Live Sensor Applications | |
Zehnder et al. | Using virtual events for edge-based data stream reduction in distributed publish/subscribe systems |
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 |