基于多类型io接口统一管理的数据传输方法、装置及系统
技术领域
1.本发明属于智能装备技术领域,具体涉及一种基于多类型io接口统一管理的数据传输方法、装置及系统。
背景技术:
2.智能装备,指具有感知、分析、推理、决策、控制功能的工业装备,它是先进制造技术、信息技术和智能技术的集成和深度融合。
3.无人智能装备是指随着自主控制和人工智能技术的大量运用,赋予工业装备具备一定程度的智能化决策和自主化行动能力,从而产生能够自主和协同完成特定任务的装备技术,主要包括水下机器人、水面机器人、地面机器人、无人飞行器等。
4.无人智能装备控制主板通常集成多种低速、高速数据io设备,每种io设备具有单独的设备驱动以及应用算法,传统消息范式需要开发者直接基于驱动api进行开发,设计的api过多,导致开发者需要对数据总线使用细节充分了解,开发周期过长,不利于软件层次的划分、软件复用和多应用软件的集成。
技术实现要素:
5.鉴于上述的分析,本发明旨在公开了一基于多类型io接口统一管理的数据传输方法、装置及系统,以解决目前开发者需要对io设备使用细节充分了解导致开发周期过长,不利于软件层次划分、软件复用和多应用软件集成问题。
6.本发明公开了一种基于多类型io接口统一管理的数据传输方法,包括:
7.数据发布步骤:初始化发布的主题以及相对应的io设备;使用发布的主题向文件池中的文件写入发布数据,解析文件中写入发布数据并存到对应的io设备的数据池;根据数据池中数据,使用相应的io设备发送发布数据;
8.数据订阅步骤:初始化订阅的主题以及相对应的io设备;所述io设备接收订阅数据后,写入对应的数据池,解析数据池中的数据写入文件池中与主题对应的文件中,周期性通过主题找到对应的文件,并从文件读取订阅数据。
9.进一步地,所述数据发布步骤包括:
10.1)初始化发布的主题以及相应的io设备,创建发布的主题时,在对应的路径下在文件池中创建并打开一个文件,所述文件与所述io设备相对应;
11.2)数据发布时,通过所述发布的主题采用指针的方式链接到所述文件的描述符,根据所述描述符在文件池中找到所述文件,并向所述文件写入包括io设备信息的发布数据;
12.3)解析所述文件中的发布数据,根据io设备信息找到对应的io设备,将解析的数据并存到对应的io设备的数据池;
13.4)根据数据池中数据,使用相应的io设备发送发布数据;
14.5)在发送发布数据后,销毁io设备资源以及发布的主题。
15.进一步地,所述数据订阅步骤包括:
16.1)初始化订阅的主题以及相应的io设备,使打开订阅的主题时,自动以指针的方式链接到对应的文件描述符,并通过文件描述符在文件池中找到并打开所述文件,从文件中读取数据;
17.2)数据订阅时,当从io设备中获取接收的订阅数据后,写入与io设备对应的数据池中;
18.3)解析数据池中的数据写入文件池中的文件中;所述写入数据包括io设备信息;
19.4)周期性的,通过所述订阅的主题链接到与主题对应的文件的描述符,根据所述描述符在文件池中找到并打开对应的文件,从文件中读取写入的订阅数据;
20.5)在读取订阅数据后,关闭io设备资源以及订阅的主题。
21.进一步地,在初始化主题以及相应的io设备时,进行主题和io设备资源自定义;
22.其中,主题的自定义包括用户对包括滚动、航向、俯仰在内的相关数据格式进行自定义;io设备资源的自定义对包括设备名以及对应该设备包括波特率、数据位数和模式进行自定义。
23.本发明还公开了一种基于多类型io接口统一管理的数据传输装置,包括:应用层、io设备层和核心架构层;
24.所述应用层,用于控制数据的发布或订阅需求,初始化主题以及相对应的io设备;向核心架构层发送发布数据或从核心架构层读取订阅数据;
25.所述io设备层,用于连接多个类型的io设备;向io设备发送发布数据或从io设备接收订阅数据;
26.所述核心架构层中包括文件池和io设备服务端;所述io设备服务端中设置有与io设备对应的数据池;
27.在数据发布时,所述应用层通过发布的主题向文件池中的文件写入发布数据;io设备服务端解析文件池中的文件中写入的发布数据,并将所述发布数据存到与io设备对应的数据池;io设备层从所述数据池中获取发布数据向对应的io设备输出;
28.在数据订阅时,io设备服务端获取io设备层接收的订阅数据,并写入与io设备对应的数据池中;io设备服务端解析数据池中的数据写入文件池中与订阅的主题对应的文件中;所述应用层周期性的通过订阅的主题找到文件池中对应的文件,并从文件读取订阅数据。
29.进一步地,发布数据时,所述应用层通过发布的主题,使用指针的方式链接到文件池中对应的文件的描述符,根据所述描述符在文件池中找到对应的文件,并向文件写入包含io设备信息的发布数据。
30.进一步地,订阅数据时,所述应用层周期性的通过打开订阅的主题,使用指针的方式链接到文件池中对应的文件的描述符,根据所述描述符在文件池中找到对应的文件,从文件读取订阅数据。
31.进一步地,所述io设备层连接的io设备包括rs422、1553b、srio、can和canfd。
32.进一步地,所述io设备层支持包括rs422、1553b、srio、can、canfd和开关量的包括打开、关闭、读数据和写数据在内的操作。
33.本发明还公开了一种基于多类型io接口统一管理的数据传输系统,其特征在于,
包括数据发布终端和数据订阅终端;
34.包括数据发布终端和数据订阅终端均为如上所述的数据传输装置;
35.所述数据发布终端采用如上所述的数据传输方法中的数据发布步骤,向数据订阅终端发送数据;
36.所述数据订阅终端采用如上所述的数据传输方法中的数据订阅步骤,从数据发布终端接收数据。
37.本发明至少可实现以下有益效果:
38.本发明的实现了多类型io接口统一管理的数据传输,并且利于软件层次划分、软件复用和多应用软件集成,使开发者在开发过程中无需对多种io设备使用细节充分了解,缩短了开发的周期。
附图说明
39.附图仅用于示出具体实施例的目的,而并不认为是对本发明的限制,在整个附图中,相同的参考符号表示相同的部件。
40.图1为本发明实施例中的基于多类型io接口统一管理的数据传输方法流程图;
41.图2为本发明实施例中的数据发布的流程图;
42.图3为本发明实施例中的数据订阅的流程图;
43.图4为本发明实施例中的基于多类型io接口统一管理的数据传输装置的框图;
44.图5为本发明实施例中的基于多类型io接口统一管理的数据传输系统的框图。
具体实施方式
45.下面结合附图来具体描述本发明的优选实施例,其中,附图构成本技术一部分,并与本发明的实施例一起用于阐释本发明的原理。
46.本发明的一个实施例公开了一种基于多类型io接口统一管理的数据传输方法,如图1所示,包括:
47.数据发布步骤:初始化发布的主题以及相对应的io设备;使用发布的主题向文件池中的文件写入发布数据,解析文件中写入发布数据并存到对应的io设备的数据池;根据数据池中数据,使用相应的io设备发送发布数据;
48.数据订阅步骤:初始化订阅的主题以及相对应的io设备;所述io设备接收订阅数据后,写入对应的数据池,解析数据池中的数据写入文件池中与主题对应的文件中,周期性通过主题找到对应的文件,并从文件读取订阅数据。
49.通过上述方法对于多种不同类型的io接口进行统一的管理,实现数据传输。并且,本实施例的方法可以采用软件框架实现,利于软件层次划分、软件复用和多应用软件集成,使开发者在开发过程中无需对多种io设备使用细节充分了解,缩短了开发的周期。
50.具体的,如图2所示,所述数据发布步骤包括:
51.1)初始化发布的主题以及相应的io设备,创建发布的主题时,在对应的路径下在文件池中创建并打开一个文件,所述文件与所述io设备相对应;
52.2)通过所述发布的主题采用指针的方式链接到所述文件的描述符,根据所述描述符在文件池中找到所述文件,并向所述文件写入包括io设备信息的发布数据;
53.3)解析所述文件中的发布数据,根据io设备信息找到对应的io设备,将解析的数据并存到对应的io设备的数据池;
54.4)根据数据池中数据,使用相应的io设备发送发布数据;
55.5)在发送发布数据后,销毁io设备资源以及发布的主题。
56.具体的,如图3所示,所述数据订阅步骤包括:
57.1)初始化订阅的主题以及相应的io设备,使打开订阅的主题时,自动以指针的方式链接到对应的文件描述符,并通过文件描述符在文件池中找到并打开所述文件,从文件中读取数据;
58.2)当从io设备中获取接收的订阅数据后,写入与io设备对应的数据池;
59.3)解析数据池中的数据写入文件池中的文件中;所述写入数据包括io设备信息;
60.4)周期性的,通过所述订阅的主题,链接到与主题对应的文件的描述符,根据所述描述符在文件池中找到并打开对应的文件,从文件中读取写入的订阅数据;
61.5)在读取订阅数据后,关闭io设备资源以及订阅的主题。
62.具体的,在初始化主题以及相应的io设备时,进行主题和io设备资源自定义;以实现主题和io设备资源的对应和匹配。并通过自定义发布的主题和订阅的主题,来实现数据的发布和订阅。
63.优选的,在实现无人智能装备io设备的统一管理时,主题的自定义包括用户对包括滚动、航向、俯仰在内的相关数据格式进行自定义;io设备资源的自定义对包括设备名以及对应该设备包括波特率、数据位数和模式进行自定义。
64.对应的io设备包括rs422、1553b、srio、can和canfd等现有通用的io设备。由于,本方法可以通过软件实现,具有很好的扩展性,其对应的io设备可以根据后续的要求进行扩展和添加。
65.本实施例还公开了一种基于多类型io接口统一管理的数据传输装置,在所述数据传输装置中通过软件框架实现无人智能装备io设备的统一管理。
66.如图4所示,数据传输装置包括:应用层、io设备层和核心架构层;
67.所述应用层,用于控制数据的发布或订阅需求,初始化主题以及相对应的io设备;向核心架构层发送发布数据或从核心架构层读取订阅数据;
68.所述核心架构层中包括文件池和io设备服务端;所述io设备服务端中设置有与io设备对应的数据池;
69.在数据发布时,所述应用层通过发布的主题向文件池中的文件写入发布数据;io设备服务端解析文件池中的文件中写入的发布数据,并将所述发布数据存到与io设备对应的数据池;io设备层从所述数据池中获取发布数据向对应的io设备输出;
70.在数据订阅时,io设备服务端获取io设备层接收的订阅数据,并写入与io设备对应的数据池中;io设备服务端解析数据池中的数据写入文件池中与订阅的主题对应的文件中;所述应用层周期性的通过订阅的主题找到文件池中对应的文件,并从文件读取订阅数据。
71.具体的,发布数据时,所述应用层通过发布的主题,使用指针的方式链接到文件池中对应的文件的描述符,根据所述描述符在文件池中找到对应的文件,并向文件写入包含io设备信息的发布数据。
72.具体的,订阅数据时,io设备服务端使用rs422、1553b、srio、can、canfd等相关接口从io设备层接收到订阅数据,并写入与io设备对应的数据池中。io设备服务端解析数据池中的数据写入文件池中与订阅的主题对应的文件中。所述应用层周期性的通过打开订阅的主题,使用指针的方式链接到文件池中对应的文件的描述符,根据所述描述符在文件池中找到对应的文件,从文件读取订阅数据。
73.所述io设备层,用于连接多个类型的io设备;向io设备发送发布数据或从io设备接收订阅数据;
74.具体的,io设备层连接io设备包括rs422、1553b、srio、can和canfd。
75.并且,所述io设备层支持包括rs422、1553b、srio、can、canfd和开关量的包括打开、关闭、读数据和写数据在内的操作。
76.本实施例还公开了一种基于多类型io接口统一管理的数据传输系统,如图5所示,包括数据发布终端和数据订阅终端;
77.包括的数据发布终端和数据订阅终端均为如上所述的数据传输装置;
78.所述数据发布终端采用如上所述的数据传输方法中的数据发布步骤,执行发布的主题,向数据订阅终端发送数据;
79.所述数据订阅终端采用如上所述的数据传输方法中的数据订阅步骤,执行订阅的主题,从数据发布终端接收数据。
80.通过数据发布终端和数据订阅终端的配合,可以实现多类型io接口统一管理,实现多种io接口类型的数据的传输。且在实现该系统时,开发者在开发过程中无需对多种io设备使用细节充分了解,缩短了开发的周期。数据发布终端和数据订阅终端均可以采用软件框架实现,利于软件层次划分、软件复用和多应用软件集成。
81.以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。
技术特征:
1.一种基于多类型io接口统一管理的数据传输方法,其特征在于,包括:数据发布步骤:初始化发布的主题以及相对应的io设备;使用发布的主题向文件池中的文件写入发布数据,解析文件中写入发布数据并存到对应的io设备的数据池;根据数据池中数据,使用相应的io设备发送发布数据;数据订阅步骤:初始化订阅的主题以及相对应的io设备;所述io设备接收订阅数据后,写入对应的数据池,解析数据池中的数据写入文件池中与主题对应的文件中,周期性通过主题找到对应的文件,并从文件读取订阅数据。2.根据权利要求1所述的数据传输方法,其特征在于,所述数据发布步骤包括:1)初始化发布的主题以及相应的io设备,创建发布的主题时,在对应的路径下在文件池中创建并打开一个文件,所述文件与所述io设备相对应;2)数据发布时,通过所述发布的主题采用指针的方式链接到所述文件的描述符,根据所述描述符在文件池中找到所述文件,并向所述文件写入包括io设备信息的发布数据;3)解析所述文件中的发布数据,根据io设备信息找到对应的io设备,将解析的数据并存到对应的io设备的数据池;4)根据数据池中数据,使用相应的io设备发送发布数据;5)在发送发布数据后,销毁io设备资源以及发布的主题。3.根据权利要求1所述的数据传输方法,其特征在于,所述数据订阅步骤包括:1)初始化订阅的主题以及相应的io设备,使打开订阅的主题时,自动以指针的方式链接到对应的文件描述符,并通过文件描述符在文件池中找到并打开所述文件,从文件中读取数据;2)数据订阅时,当从io设备中获取接收的订阅数据后,写入与io设备对应的数据池中;3)解析数据池中的数据写入文件池中的文件中;所述写入数据包括io设备信息;4)周期性的,通过所述订阅的主题链接到与主题对应的文件的描述符,根据所述描述符在文件池中找到并打开对应的文件,从文件中读取写入的订阅数据;5)在读取订阅数据后,关闭io设备资源以及订阅的主题。4.根据权利要求2或3所述的数据传输方法,其特征在于,在初始化主题以及相应的io设备时,进行主题和io设备资源自定义;其中,主题的自定义包括用户对包括滚动、航向、俯仰在内的相关数据格式进行自定义;io设备资源的自定义对包括设备名以及对应该设备包括波特率、数据位数和模式进行自定义。5.一种基于多类型io接口统一管理的数据传输装置,其特征在于,包括:应用层、io设备层和核心架构层;所述应用层,用于控制数据的发布或订阅需求,初始化主题以及相对应的io设备;向核心架构层发送发布数据或从核心架构层读取订阅数据;所述io设备层,用于连接多个类型的io设备;向io设备发送发布数据或从io设备接收订阅数据;所述核心架构层中包括文件池和io设备服务端;所述io设备服务端中设置有与io设备对应的数据池;在数据发布时,所述应用层通过发布的主题向文件池中的文件写入发布数据;io设备
服务端解析文件池中的文件中写入的发布数据,并将所述发布数据存到与io设备对应的数据池;io设备层从所述数据池中获取发布数据向对应的io设备输出;在数据订阅时,io设备服务端获取io设备层接收的订阅数据,并写入与io设备对应的数据池中;io设备服务端解析数据池中的数据写入文件池中与订阅的主题对应的文件中;所述应用层周期性的通过订阅的主题找到文件池中对应的文件,并从文件读取订阅数据。6.根据权利要求5所述的数据传输装置,其特征在于,发布数据时,所述应用层通过发布的主题,使用指针的方式链接到文件池中对应的文件的描述符,根据所述描述符在文件池中找到对应的文件,并向文件写入包含io设备信息的发布数据。7.根据权利要求5所述的数据传输装置,其特征在于,订阅数据时,所述应用层周期性的通过打开订阅的主题,使用指针的方式链接到文件池中对应的文件的描述符,根据所述描述符在文件池中找到对应的文件,从文件读取订阅数据。8.根据权利要求5所述的数据传输方法,其特征在于,所述io设备层连接的io设备包括rs422、1553b、srio、can和canfd。9.根据权利要求8所述的数据传输装置,其特征在于,所述io设备层支持包括rs422、1553b、srio、can、canfd和开关量的包括打开、关闭、读数据和写数据在内的操作。10.一种基于多类型io接口统一管理的数据传输系统,其特征在于,包括数据发布终端和数据订阅终端;包括数据发布终端和数据订阅终端均为如权利要求5所述的数据传输装置;所述数据发布终端采用如权利要求1-4中任一项所述的数据传输方法中的数据发布步骤,向数据订阅终端发送数据;所述数据订阅终端采用如权利要求1-4中任一项所述的数据传输方法中的数据订阅步骤,从数据发布终端接收数据。
技术总结
本发明涉及一种基于多类型IO接口统一管理的数据传输方法、装置及系统;其中,方法包括:初始化发布的主题以及相对应的IO设备;使用发布的主题向文件池中的文件写入发布数据,解析文件中写入发布数据并存到对应的IO设备的数据池;根据数据池中数据,使用相应的IO设备发送发布数据;初始化订阅的主题以及相对应的IO设备;IO设备接收订阅数据后,写入对应的数据池,解析数据池中的数据写入文件池中与主题对应的文件中,周期性通过主题找到对应的文件,并从文件读取订阅数据。本发明实现了多类型IO接口统一管理的数据传输,利于软件层次划分、软件复用和多应用软件集成,使开发者在开发过程中无需对多种IO设备使用细节充分了解,缩短了开发的周期。缩短了开发的周期。缩短了开发的周期。
技术研发人员:周广蕴 王旭
受保护的技术使用者:北京机电工程研究所
技术研发日:2021.12.09
技术公布日:2022/3/8