CN117176633A - 一种总线跨设备通信方法、装置、设备及存储介质 - Google Patents
一种总线跨设备通信方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN117176633A CN117176633A CN202311132996.7A CN202311132996A CN117176633A CN 117176633 A CN117176633 A CN 117176633A CN 202311132996 A CN202311132996 A CN 202311132996A CN 117176633 A CN117176633 A CN 117176633A
- Authority
- CN
- China
- Prior art keywords
- ubus
- coap
- message
- routing table
- message information
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 84
- 238000004891 communication Methods 0.000 title claims abstract description 58
- 230000003993 interaction Effects 0.000 claims description 28
- 238000006243 chemical reaction Methods 0.000 claims description 26
- 238000013507 mapping Methods 0.000 claims description 8
- 238000004590 computer program Methods 0.000 claims description 5
- 230000008569 process Effects 0.000 abstract description 12
- 238000011161 development Methods 0.000 abstract description 9
- 238000010586 diagram Methods 0.000 description 14
- 230000006855 networking Effects 0.000 description 10
- 238000012545 processing Methods 0.000 description 8
- 230000004044 response Effects 0.000 description 7
- 230000005540 biological transmission Effects 0.000 description 5
- 239000013307 optical fiber Substances 0.000 description 5
- 230000006870 function Effects 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 238000012790 confirmation Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000006798 recombination Effects 0.000 description 1
- 238000005215 recombination Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
Abstract
本发明公开了一种总线跨设备通信方法、装置、设备及存储介质,其中该方法包括步骤:基于各个设备的IP地址和设备的端口号port,生成CoAP路由表;当主设备与子设备之间发送Ubus消息进行跨设备交互时,生成Ubus路由表,并将所述Ubus路由表与所述CoAP路由表关联,映射Ubus消息和CoAP消息;基于所述Ubus路由表与所述CoAP路由表的关联关系,接收端接收发送端发送的CoAP报文信息,并将接收到的所述CoAP报文信息转换成Ubus报文信息,发送给发送端,进行总线跨设备通信。本申请能够通过Ubus总线进行跨设备交互,并且有效减少协议和功能差异所产生的二次开发成本和兼容性开发所产生得到开发难度,有效的兼容了原单个设备进程建通信和多设备间的进程通信。
Description
技术领域
本发明涉及通信技术领域,尤其涉及一种总线跨设备通信方法、装置、设备及存储介质。
背景技术
Ubus是一个系统总线,实现是基于unix socket,即本地socket,它是进程间通信的一个通用框架,让进程间通信的实现变得非常简单。
目前Ubus有大量的应用场景,如移动ahsapd、电信ctapd,分别是移动和电信通过定义Ubus交互规范接口,厂商实现能力集,实现运营商插件与设备能力集解耦合。但是随着mesh组网普及,Ubus只能实现单个设备进程通信,在跨设备间存在局限性。Mesh组网分主设备和子设备两个角色,一般都是通过主设备对子设备进行管理。而由于主设备和子设备之间Ubus总线不互通,目前主要分为两个方向解决互动问题。1、主设备和子设备都接入平台,但多个主设备和子设备同时对接平台不仅消耗平台资源,而且组网设备之间的关联还需要通过大量算法实现,大量耗费平台资源;2、主设备接入平台,主设备和子设备之间通过私有通信,实现对子设备管理。但是这种方式,子设备上的Ubus框架接口能力集无法直接复用,还需要大量定义私有协议,耗费人力。
因此,如何利用Ubus总线进行跨设备通信,是目前亟需解决的技术问题。
发明内容
本发明主要目的在于提供一种总线跨设备通信方法、装置、设备及存储介质,能够通过Ubus总线进行跨设备交互,并且有效减少协议和功能差异所产生的二次开发成本和兼容性开发所产生得到开发难度,有效的兼容了原单个设备进程建通信和多设备间的进程通信。
第一方面,本申请提供了一种总线跨设备通信方法,其中该方法包括步骤:
基于各个设备的IP地址和设备的端口号port,生成CoAP路由表;
当主设备与子设备之间发送Ubus消息进行跨设备交互时,生成Ubus路由表,并将所述Ubus路由表与所述CoAP路由表关联,映射Ubus消息和CoAP消息;
基于所述Ubus路由表与所述CoAP路由表的关联关系,接收端接收发送端发送的CoAP报文信息,并将接收到的所述CoAP报文信息转换成Ubus报文信息,发送给发送端,进行总线跨设备通信。
结合上述第一方面,作为一种可选的实现方式,将所述Ubus路由表中的消息对象标识peer和Ubus报文编号seq,与所述CoAP路由表中的报文编号Message ID进行关联,以映射CoAP消息和Ubus消息。
结合上述第一方面,作为一种可选的实现方式,基于系统总线Ubus,抽象出Ubus的方法method;
将CoAP协议的路径path与抽象出Ubus的方法Method进行关联,以完成Ubus的端对端方式通信、订阅方式通信和广播事件方式通信。
结合上述第一方面,作为一种可选的实现方式,发送端发送Ubus报文信息时,将所述Ubus报文信息转换成CoAP报文信息,并将转换后的CoAP报文信息发送给接收端;
所述接收端接收到所述发送端发送的CoAP报文信息后,将发送端发送的CoAP报文信息转换成Ubus报文信息,并记录源IP和路径,并基于所述Ubus路由表与所述CoAP路由表的关联关系,查找源IP和路径,在Ubus总线转发给发送端,进行总线跨设备通信。
结合上述第一方面,作为一种可选的实现方式,基于Ubus的数据载荷和CoAP的数据载荷的加密和解密,完成数据域的转换;
将Ubus的包头和CoAP的包头与数据域组成完整的Ubus包和CoAP包,并对所述Ubus包和CoAP包进行格式转换;
将所述Ubus包和CoAP包的格式转换和业务内容的跨设备交互结合,完成Ubus和CoAP协议转发组包。
结合上述第一方面,作为一种可选的实现方式,根据各个设备的IP地址和设备的端口号port建立跨设备交互网络通道。
结合上述第一方面,作为一种可选的实现方式,根据发送的Ubus报文消息中的消息对象标识peer和报文编号seq,生成Ubus路由表。
第二方面,本申请提供了一种总线跨设备通信装置,该装置包括:
生成单元,其用于基于各个设备的IP地址和设备的端口号port,生成CoAP路由表;
关联单元,其用于当主设备与子设备之间发送Ubus消息进行跨设备交互时,生成Ubus路由表,并将所述Ubus路由表与所述CoAP路由表关联,映射Ubus消息和CoAP消息;
转换单元,其用于基于所述Ubus路由表与所述CoAP路由表的关联关系,接收端接收发送端发送的CoAP报文信息,并将接收到的所述CoAP报文信息转换成Ubus报文信息,发送给发送端,进行总线跨设备通信。
第三方面,本申请还提供了一种电子设备,所述电子设备包括:处理器;存储器,所述存储器上存储有计算机可读指令,所述计算机可读指令被所述处理器执行时,实现第一方面任一项所述的方法。
第四方面,本申请还提供了一种计算机可读存储介质,其存储有计算机程序指令,当所述计算机程序指令被计算机执行时,使计算机执行第一方面任一项所述的方法。
本申请提供的一种总线跨设备通信方法、装置、设备及存储介质,其中该方法包括步骤:基于各个设备的IP地址和设备的端口号port,生成CoAP路由表;当主设备与子设备之间发送Ubus消息进行跨设备交互时,生成Ubus路由表,并将所述Ubus路由表与所述CoAP路由表关联,映射Ubus消息和CoAP消息;基于所述Ubus路由表与所述CoAP路由表的关联关系,接收端接收发送端发送的CoAP报文信息,并将接收到的所述CoAP报文信息转换成Ubus报文信息,发送给发送端,进行总线跨设备通信。本申请能够通过Ubus总线进行跨设备交互,并且有效减少协议和功能差异所产生的二次开发成本和兼容性开发所产生得到开发难度,有效的兼容了原单个设备进程建通信和多设备间的进程通信。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本发明。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并于说明书一起用于解释本发明的原理。
图1为本申请实施例中提供的一种总线跨设备通信方法流程图;
图2为本申请实施例中提供的一种总线跨设备通信装置示意图;
图3为本申请实施例中提供的组网示意图;
图4为本申请实施例中提供的跨设备交互流程图;
图5为本申请实施例中提供的跨设备交互示意图;
图6为本申请实施例中提供的一种电子设备示意图;
图7为本申请实施例中提供的一种计算机可读程序介质示意图。
具体实施方式
这里将详细地对示例性实施例执行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。
此外,附图仅为本公开的示意性图解,并非一定是按比例绘制。附图所示的一些方框图是功能实体,不一定必须与物理或逻辑上独立的实体相对应。
以下结合附图对本申请的实施例作进一步详细说明。
参照图1,图1所示为本发明提供的一种总线跨设备通信方法流程图,如图1所示,该方法包括步骤:
步骤S101:基于各个设备的IP地址和设备的端口号port,生成CoAP路由表。
具体而言,获取各个设备的IP地址和端口号port,生成CoAP路由表,需要说明的是各个设备包括主设备和子设备,CoAP路由表包括:Ubus的方法名Ubusname、设备的IP地址、设备的端口号port和CoAP消息的报文编号Message ID。
一实施例中,根据各个设备的IP地址和设备的端口号port建立跨设备交互网络通道,可以理解的是建立建立跨设备的socket通道是设备与设备之间的交互通道。
方便理解举例说明,CoAP是基于UDP传输的应用层协议,需要获取ip后建立socket通信通道,详细规范定义在RFC 7252。
FTTR的全称为Fiber to the Room,是一种宽带接入技术。FTTR设备是一种光纤调制解调器,其功能是将光纤信号转换为电信号,实现光纤和用户设备之间的转换。FTTR包括特有的OMCI(光网络单元管理控制接口,即ONU Management and Control Interface)是GPON标准中定义的一种OLT与ONT之间信息交互的协议。OMCI可以给子设备分配ip,通过配置GEM业务流端口ID,可给CoAP建立FTTR特有的专用管理通道,和业务分离,更安全可靠。
非FTTR设备,mesh组网或有线连接,通过dhcp动态ip、静态ip、PPPoE拨号等方式获取ip,实现主设备和子设备间的管理通道。
子设备获取ip后,向主设备注册,上报子设备的ip、port、Ubus方法信息;主设备将子设备的ip、port、Ubus方法信息发送其他子设备。
步骤S102:当主设备与子设备之间发送Ubus消息进行跨设备交互时,生成Ubus路由表,并将所述Ubus路由表与所述CoAP路由表关联,映射Ubus消息和CoAP消息。
具体而言,先生成CoAP路由表,当主设备与子设备之间发送Ubus消息进行跨设备交互时,根据发送的Ubus报文消息中的消息对象标识peer和报文编号seq,生成Ubus路由表,并将Ubus路由表中的消息对象标识peer和Ubus报文编号seq,与CoAP路由表中的报文编号Message ID进行关联,以映射CoAP消息和Ubus消息。需要说明的是,Ubus路由表包括消息对象标识peer和报文编号seq。
可以理解的是,当发送具体跨设备Ubus消息时,记录CoAP包头中message ID信息和Ubus包头中peer和seq信息,通过这些信息,可以映射出CoAP和Ubus消息的对应关系。
将Ubus和CoAP消息进行关联,消息分为发送和接收;关联后才能将Ubus的收发和CoAP的收发对应起来,其中关联的是CoAP和Ubus消息的唯一标识,通过唯一标识,可以将消息一一关联(CoAP的message ID和Ubus的peer和seq)。
一实施例中,先生成<Ubusname>:<ip:port>,Ubusname是Ubus的方法名;ip是设备的ip地址;port是设备的端口号。
当发送具体跨设备Ubus消息时,记录CoAP包头中message ID信息和Ubus包头中peer和seq信息。
message ID是CoAP消息的报文编号,同一收发报文报文编号相同;peer是Ubus消息对象标识;seq是Ubus报文编号,同一收发报文编号相同。
CoAP路由表用来实现跨设备交互,可以理解的是,如设备a发消息到设备b,记录设备b的ip、port和message ID;当设备b发送消息到设备a时,通过比较设备b发消息的ip、port、message ID,就能将设备a和设备b的收发消息关联起来,实现跨设备间的请求应答交互。
Ubus路由表用来关联映射CoAP消息和Ubus消息,可以理解的是,Ubus消息和CoAP消息关联,主要是实现Ubus跨设备的收和发对应,多条Ubus消息和CoAP消息的交互,通过路由表关联进行每个交互的收发的。
关联映射:<Ubusname>:<ip:port>:<message ID>;<peer>:<seq>。
一实施例中,基于系统总线Ubus,抽象出Ubus的方法method;
将CoAP协议的路径path与抽象出Ubus的方法Method进行关联,以完成Ubus的端对端方式通信、订阅方式通信和广播事件方式通信。可以理解的是,通过CoAP的registermethod注册回调,完成Ubus的invoke、notify和event3种通信方式。
方便理解举例说明,Ubus抽象出了“对象”和“方法”(method)的概念,其中“方法”可以理解为程序中的最小执行单元。CoAP根据Ubus的method,进行register method注册回调方法,CoAP的路径对应Ubus的method。此过程将Ubus的方法和CoAP的方法进行转发关联,取名Dfhapd(Distributed FiberHome Capability Ubusd),如Ubus的getBasicInfo方法,对应的CoAP的path/getBasicInfo注册的回调,完成Ubus的端对端方式通信、订阅方式通信和广播事件方式通信。
invoke端对端中,跨设备是CoAP ip:port端对端的交互,CoAP消息类型为CON,需要确认。
Notify订阅消息,和invoke类似,也是通过CoAP ip:port端对端的交互,不过CoAP消息类型为NON,不需要确认。
event广播事件,跨设备是广播ip:port,通过UDP广播各个设备。
可以理解的是,Ubus的getBasicInfo对应CoAP的/getBasicInfo。注册回调后,Ubus发送getBasicInfo,CoAP就通过getBasicInfo路径发送。其他设备监听CoAPgetBasicInfo,收到后就转成Ubus的getBasicInfo再发出来。
步骤S103:基于所述Ubus路由表与所述CoAP路由表的关联关系,接收端接收发送端发送的CoAP报文信息,并将接收到的所述CoAP报文信息转换成Ubus报文信息,发送给发送端,进行总线跨设备通信。
具体而言,Ubus路由表中的消息对象标识peer和Ubus报文编号seq,与CoAP路由表中的报文编号Message ID进行关联,发送端发送Ubus报文信息时,将Ubus报文信息转换成CoAP报文信息,并将转换后的CoAP报文信息发送给接收端;接收端接收到所述主设备发送的CoAP报文信息后,将发送端发送的CoAP报文信息转换成Ubus报文信息,并记录源IP和路径,并基于所述Ubus路由表与所述CoAP路由表的关联关系,查找源IP和路径,在Ubus总线转发给发送端,进行总线跨设备通信。
可以理解的是,主设备Ubus发了个消息,转为CoAP发送到子设备,子设备接收到CoAP后转换为Ubus发出来,子设备Ubus应答返回Ubus后,子设备把Ubus转换为CoAP,返回主设备,主设备接收到子设备的CoAP后,转换为Ubus应答。
跨设备可以理解为a设备Ubus发消息,将消息转换为CoAP,发到b设备;b设备接收到CoAP消息后,转换为Ubus消息发出来。b设备回Ubus消息,将Ubus转换为CoAP,返回a设备,a设备接收到返回的CoAP,转换为Ubus,发出来,跨设备的消息发和收,就是通过CoAP路由表和Ubus路由表来关联原本消息的收发的。
一实施例中,基于Ubus的数据载荷和CoAP的数据载荷的加密和解密,完成数据域的转换;将Ubus的包头和CoAP的包头与数据域组成完整的Ubus包和CoAP包,并对Ubus包和CoAP包进行格式转换;将Ubus包和CoAP包的格式转换和业务内容的跨设备交互结合,完成Ubus和CoAP协议转发组包。
可以理解的是,通过CoAP中ip:port和Ubus包头中peer,CoAP包头中message ID和Ubus包头中的seq,可以将CoAP消息的请求应答和Ubus的发送回复关联,从而实现分布式交互。
CoAP options中的path部分和Ubus的method有映射关系,通过包头信息和该信息后,映射CoAP消息和Ubus消息转换。实现包头的转换。
Ubus data和CoAP的payload都是数据载荷,CoAP payload将Ubus data数据负载(为了安全,可能会数据加密),到达远端后,卸载数据(对应的解密数据),实现数据域的转换,可以理解的是将数据分成包头和载荷两部分。通过包头能唯一识别交互,每次的Ubus收发、CoAP收发,包头中的唯一识别信息是固定不变的。
将包头和数据域组成完整的包,完成CoAP和Ubus包的格式转换。将包的格式转换和数据的跨设备交互结合起来,完成Ubus与CoAP协议转发组包,其中数据可以理解为具体的业务内容,转发组包,可以理解为Ubus转换为CoAP,CoAP转换为Ubus,数据会进行转发和重组。
需要说明的是本申请在原有的Ubus框架基础上,增加一个Ubus router,即在Ubus总线上,增加一个跨总线交互的路由,解决Ubus总线无法跨设备的限制,能适配mesh组网等跨设备交互的更多场景。Ubus router基于Ubus和CoAP协议实现。CoAP协议是受限制的应用协议(Constrained Application Protocol),是一种轻量级协议。
选择CoAP的原因是udp用户数据报协议(UDP,User Datagram Protocol)、tcp传输控制协议(TCP,Transmission Control Protocol)报文没有包头和载荷的特殊定义。https超文本传输安全协议(HTTPS,Hypertext Transfer Protocol Secure)、mqtt消息队列遥测传输协议过于臃肿;私有协议不便于标准化和通用化;CoAP协议和Ubus协议包头和载荷定义比较类似,便于协议数据转换通信,所以Ubus router跨总线交互协议选择基于CoAP实现。该方案在mesh组网、FTTR组网等跨设备组网上均适用。同时dbus也可以按照这个方案实现类似dbus router。
参照图2,图2所示为本发明提供的一种总线跨设备通信装置示意图,如图2所示,该装置包括:
生成单元201:其用于基于各个设备的IP地址和设备的端口号port,生成CoAP路由表。
关联单元202:其用于当主设备与子设备之间发送Ubus消息进行跨设备交互时,生成Ubus路由表,并将所述Ubus路由表与所述CoAP路由表关联,映射Ubus消息和CoAP消息。
转换单元203:其用于基于所述Ubus路由表与所述CoAP路由表的关联关系,接收端接收发送端发送的CoAP报文信息,并将接收到的所述CoAP报文信息转换成Ubus报文信息,发送给发送端,进行总线跨设备通信。
进一步地,一种可能的实施方式中,关联单元,还用于将所述Ubus路由表中的消息对象标识peer和Ubus报文编号seq,与所述CoAP路由表中的报文编号Message ID进行关联,以映射CoAP消息和Ubus消息。
进一步地,一种可能的实施方式中,关联单元,还用于基于系统总线Ubus,抽象出Ubus的方法method;
将CoAP协议的路径path与抽象出Ubus的方法Method进行关联,以完成Ubus的端对端方式通信、订阅方式通信和广播事件方式通信。
进一步地,一种可能的实施方式中,转换单元,还用于发送端发送Ubus报文信息时,将所述Ubus报文信息转换成CoAP报文信息,并将转换后的CoAP报文信息发送给接收端;
所述接收端接收到所述发送端发送的CoAP报文信息后,将发送端发送的CoAP报文信息转换成Ubus报文信息,并记录源IP和路径,并基于所述Ubus路由表与所述CoAP路由表的关联关系,查找源IP和路径,在Ubus总线转发给发送端,进行总线跨设备通信。
进一步地,一种可能的实施方式中,转换单元,还用于基于Ubus的数据载荷和CoAP的数据载荷的加密和解密,完成数据域的转换;
将Ubus的包头和CoAP的包头与数据域组成完整的Ubus包和CoAP包,并对所述Ubus包和CoAP包进行格式转换;
将所述Ubus包和CoAP包的格式转换和业务内容的跨设备交互结合,完成Ubus和CoAP协议转发组包。
进一步地,一种可能的实施方式中,还包括建立单元,其用于根据各个设备的IP地址和设备的端口号port建立跨设备交互网络通道。
进一步地,一种可能的实施方式中,生成单元,还用于根据发送的Ubus报文消息中的消息对象标识peer和报文编号seq,生成Ubus路由表。
参照图3,图3所示为本发明提供的组网示意图,如图3所示:
在原有的Ubus框架基础上,增加一个Ubus router,即在Ubus总线上,增加一个跨总线交互的路由,解决Ubus总线无法跨设备的限制,能适配mesh组网等跨设备交互的更多场景。
可以理解的是,主设备在于子设备交互时,利用Ubus router进行交互,方便理解举例说明,根据获取各个设备的IP和端口号,生成CoAP路由表,该路由表中包括Ubusname是Ubus的方法名;ip是设备的ip地址、port是设备的端口号。
当发送具体跨设备Ubus消息时,记录CoAP包头中message ID信息和Ubus包头中peer和seq信息。message ID是CoAP消息的报文编号,同一收发报文报文编号相同;peer是Ubus消息对象标识;seq是Ubus报文编号,同一收发报文编号相同。
将消息对象标识peer和Ubus报文编号seq,与报文编号Message ID进行关联,即,将一个Ubus消息和CoAP消息进行关联,将Ubus转为CoAP消息,然后当发送CoAP跨设备交互时,根据Ubus路由表和CoAP路由表,将CoAP消息转为Ubus消息。
可以理解的是,主设备Ubus发消息,将消息转换为CoAP,发到子设备;子设备接收到CoAP消息后,转换为Ubus消息发出来。
子设备回Ubus消息,将Ubus转换为CoAP,返回主设备。主设备接收到返回的CoAP,转换为Ubus,发出来。
需要说明的是,invoke端对端中,跨设备是CoAP ip:port端对端的交互,CoAP消息类型为CON,需要确认。
Notify订阅消息,和invoke类似,也是通过CoAP ip:port端对端的交互,不过CoAP消息类型为NON,不需要确认。
event广播事件,跨设备是广播ip:port,通过UDP广播各个设备。
Ubus抽象出了“对象”和“方法”(method)的概念。
CoAP根据Ubus的method,进行register_method注册回调方法,即CoAP的路径对应Ubus的method。注册回调是CoAP完成Ubus的方法。Ubus和CoAP都有注册回调机制,Ubus是方法的注册回调,CoAP是path路径的注册回调。
其中,CoAP的包格式包括:Token、Options和payload,Ubus包格式包括:peer和data。通过CoAP url中ip:port和Ubus包头中peer,CoAP包头中message ID和Ubus包头中的seq,可以将CoAP消息的请求应答和Ubus的发送回复关联,从而实现分布式交互。
参照图4,图4所示为本发明提供的跨设备交互流程图,如图4所示:
方便理解举例说明,通过<peer>:<seq>关联具体一条Ubus,<Ubusname>:<ip:port>:<message ID>关联具体跨设备的一条CoAP,将这些信息关联在一起,就是一条具体的跨设备Ubus与CoAP。
分别是获取本设备信息和获取跨设备基本信息,主设备Ubus call ahsapd.basicgetBasicInfo(Ubus的一个具体命令,其中ahsapd可以理解为Ubus交互的对象)获取本设备基本信息,主设备Ubus call dfhapd<Ubusname>getBasicInfo获取跨设备基本信息,主设备dfhapd(即跨设备时,Ubus的命令格式,对应本设备Ubus的命令格式)根据Ubusname,识别设备ip,记录Ubus的seq和peer,主设备CoAP://<ip:port>/getBasicInfo发送,关联记录message ID和path,子设备接收到getBasicInfo CoAP消息后,记录源ip和path,组建Ubuscall ahsapd.basic getBasicInfo,关联记录Ubus的peer、seq和method,子设备获取到设备基本信息后,通过Ubus的peer、seq和method查找源ip和path,应答CoAP://<ip:port>/getBasicInfo,发送主设备,主设备接收到CoAP://<ip:port>/getBasicInfo应答后,通过查找message ID和path对应的Ubus peer、seq和method返回Ubus call dfhapd<Ubusname>getBasicInfo,Ubus call ahsapd.basic getBasicInfo获取主设备的基本信息,Ubuscall dfhapd<Ubusname>getBasicInfo获取跨设备子设备的基本信息。
可以理解的是,主设备Ubus发了个消息,转为CoAP发送到子设备,子设备接收到CoAP后转换为Ubus发出来,子设备Ubus应答返回Ubus后,子设备把Ubus转换为CoAP,返回主设备,主设备接收到子设备的CoAP后,转换为Ubus应答。
Ubus三个方式,单对单的收发交互、发送广播、监听事件。也就是包括收发,只发不收,只收不发三种,把跨设备的收发描述了,也就包含只发不收和只收不发的场景了。
参照图5,图5所示为本发明提供的跨设备交互示意图,如图5所示:
通过Ubus转换CoAP,CoAP跨设备交互,CoAP转Ubus,可以实现Ubus总线的跨设备交互。而对Ubus的使用,和在单个设备上使用方法相同。
下面参照图6来描述根据本发明的这种实施方式的电子设备600。图6显示的电子设备600仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图6所示,电子设备600以通用计算设备的形式表现。电子设备600的组件可以包括但不限于:上述至少一个处理单元610、上述至少一个存储单元620、连接不同系统组件(包括存储单元620和处理单元610)的总线630。
其中,所述存储单元存储有程序代码,所述程序代码可以被所述处理单元610执行,使得所述处理单元610执行本说明书上述“实施例方法”部分中描述的根据本发明各种示例性实施方式的步骤。
存储单元620可以包括易失性存储单元形式的可读介质,例如随机存取存储单元(RAM)621和/或高速缓存存储单元622,还可以进一步包括只读存储单元(ROM)623。
存储单元620还可以包括具有一组(至少一个)程序模块625的程序/实用工具624,这样的程序模块625包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
总线630可以为表示几类总线结构中的一种或多种,包括存储单元总线或者存储单元控制器、外围总线、图形加速端口、处理单元或者使用多种总线结构中的任意总线结构的局域总线。
电子设备600也可以与一个或多个外部设备(例如键盘、指向设备、蓝牙设备等)通信,还可与一个或者多个使得用户能与该电子设备600交互的设备通信,和/或与使得该电子设备600能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口650进行。并且,电子设备600还可以通过网络适配器660与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器660通过总线630与电子设备600的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备600使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本公开实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、终端装置、或者网络设备等)执行根据本公开实施方式的方法。
根据本公开的方案,还提供了一种计算机可读存储介质,其上存储有能够实现本说明书上述方法的程序产品。在一些可能的实施方式中,本发明的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当所述程序产品在终端设备上运行时,所述程序代码用于使所述终端设备执行本说明书上述“示例性方法”部分中描述的根据本发明各种示例性实施方式的步骤。
参考图7所示,描述了根据本发明的实施方式的用于实现上述方法的程序产品700,其可以采用便携式紧凑盘只读存储器(CD-ROM)并包括程序代码,并可以在终端设备,例如个人电脑上运行。然而,本发明的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
所述程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
此外,上述附图仅是根据本发明示例性实施例的方法所包括的处理的示意性说明,而不是限制目的。易于理解,上述附图所示的处理并不表明或限制这些处理的时间顺序。另外,也易于理解,这些处理可以是例如在多个模块中同步或异步执行的。
以上所述仅是本申请的具体实施方式,使本领域技术人员能够理解或实现本申请。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所申请的原理和新颖特点相一致的最宽的范围。
本发明是参照根据本发明实施例的方法、设备(系统)和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
Claims (10)
1.一种总线跨设备通信方法,其特征在于,包括:
基于各个设备的IP地址和设备的端口号port,生成CoAP路由表;
当主设备与子设备之间发送Ubus消息进行跨设备交互时,生成Ubus路由表,并将所述Ubus路由表与所述CoAP路由表关联,映射Ubus消息和CoAP消息;
基于所述Ubus路由表与所述CoAP路由表的关联关系,接收端接收发送端发送的CoAP报文信息,并将接收到的所述CoAP报文信息转换成Ubus报文信息,发送给发送端,进行总线跨设备通信。
2.根据权利要求1所述的方法,其特征在于,所述将所述Ubus路由表与所述CoAP路由表关联,映射CoAP消息和Ubus消息,包括:
将所述Ubus路由表中的消息对象标识peer和Ubus报文编号seq,与所述CoAP路由表中的报文编号Mes sage ID进行关联,以映射CoAP消息和Ubus消息。
3.根据权利要求1所述的方法,其特征在于,还包括:
基于系统总线Ubus,抽象出Ubus的方法method;
将CoAP协议的路径path与抽象出Ubus的方法Method进行关联,以完成Ubus的端对端方式通信、订阅方式通信和广播事件方式通信。
4.根据权利要求1所述的方法,其特征在于,所述基于所述Ubus路由表与所述CoAP路由表的关联关系,接收端接收发送端发送的CoAP报文信息,并将接收到的所述CoAP报文信息转换成Ubus报文信息,发送给发送端,进行总线跨设备通信,包括:
发送端发送Ubus报文信息时,将所述Ubus报文信息转换成CoAP报文信息,并将转换后的CoAP报文信息发送给接收端;
所述接收端接收到所述发送端发送的CoAP报文信息后,将发送端发送的CoAP报文信息转换成Ubus报文信息,并记录源IP和路径,并基于所述Ubus路由表与所述CoAP路由表的关联关系,查找源IP和路径,在Ubus总线转发给发送端,进行总线跨设备通信。
5.根据权利要求1所述的方法,其特征在于,还包括:
基于Ubus的数据载荷和CoAP的数据载荷的加密和解密,完成数据域的转换;
将Ubus的包头和CoAP的包头与数据域组成完整的Ubus包和CoAP包,并对所述Ubus包和CoAP包进行格式转换;
将所述Ubus包和CoAP包的格式转换和业务内容的跨设备交互结合,完成Ubus和CoAP协议转发组包。
6.根据权利要求1所述的方法,其特征在于,还包括:
根据各个设备的IP地址和设备的端口号port建立跨设备交互网络通道。
7.根据权利要求1所述的方法,其特征在于,所述当主设备与子设备之间发送Ubus消息进行跨设备交互时,生成Ubus路由表,包括:
根据发送的Ubus报文消息中的消息对象标识peer和报文编号seq,生成Ubus路由表。
8.一种总线跨设备通信装置,其特征在于,包括:
生成单元,其用于基于各个设备的IP地址和设备的端口号port,生成CoAP路由表;
关联单元,其用于当主设备与子设备之间发送Ubus消息进行跨设备交互时,生成Ubus路由表,并将所述Ubus路由表与所述CoAP路由表关联,映射Ubus消息和CoAP消息;
转换单元,其用于基于所述Ubus路由表与所述CoAP路由表的关联关系,接收端接收发送端发送的CoAP报文信息,并将接收到的所述CoAP报文信息转换成Ubus报文信息,发送给发送端,进行总线跨设备通信。
9.一种电子设备,其特征在于,所述电子设备,包括:
处理器;
存储器,所述存储器上存储有计算机可读指令,所述计算机可读指令被所述处理器执行时,实现如权利要求1至7任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,其存储有计算机程序指令,当所述计算机程序指令被计算机执行时,使计算机执行根据权利要求1至7中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311132996.7A CN117176633A (zh) | 2023-09-01 | 2023-09-01 | 一种总线跨设备通信方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311132996.7A CN117176633A (zh) | 2023-09-01 | 2023-09-01 | 一种总线跨设备通信方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117176633A true CN117176633A (zh) | 2023-12-05 |
Family
ID=88944395
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311132996.7A Pending CN117176633A (zh) | 2023-09-01 | 2023-09-01 | 一种总线跨设备通信方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117176633A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117729249A (zh) * | 2024-02-18 | 2024-03-19 | 四川天邑康和通信股份有限公司 | 一种基于fttr的网关管理方法、装置、设备、系统及介质 |
-
2023
- 2023-09-01 CN CN202311132996.7A patent/CN117176633A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117729249A (zh) * | 2024-02-18 | 2024-03-19 | 四川天邑康和通信股份有限公司 | 一种基于fttr的网关管理方法、装置、设备、系统及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102571550B (zh) | 一种通用的信息交互平台和方法 | |
US20080235358A1 (en) | Proxy Device, Network System, and Communication Method | |
CN101262478A (zh) | 穿越网络地址转换nat的方法和设备 | |
US20060234730A1 (en) | System and method for accessing multiple data sources by mobile applications | |
CN101227470B (zh) | 一种业务管理系统及业务管理方法 | |
CN117176633A (zh) | 一种总线跨设备通信方法、装置、设备及存储介质 | |
WO2010127531A1 (zh) | 基于web service的装置、web service组件及方法 | |
WO2012088906A1 (zh) | 物联网终端互通的方法及系统 | |
CN111711705B (zh) | 基于代理节点作双向nat实现网络连接的方法和装置 | |
JP2016535945A (ja) | マルチメディア共有方法、登録方法、サーバー及びプロキシサーバー | |
CN113609059B (zh) | 一种通信系统及通信方法 | |
KR102094041B1 (ko) | IoT 단말 간 실시간으로 자율적인 상호작용을 위한 RDF 그래프 기반의 Semantic 엔진을 구비한 시스템 | |
CN107231275B (zh) | 用于用户设备与家居设备连接配置的方法 | |
CN111901384B (zh) | 处理报文的系统、方法、电子设备以及可读存储介质 | |
JP2002196931A (ja) | サービス・ゲートウェイのための提供機構 | |
CN101465783B (zh) | 异构家庭网络设备之间的连接方法、装置及连接网桥 | |
CN113794715B (zh) | 一种虚拟点对点网络数据发送方法及其系统 | |
CN114650197A (zh) | 通信方法、装置及用户面网元和存储介质 | |
CN103475506A (zh) | 多设备管理控制方法和系统 | |
CN110266715B (zh) | 异地访问方法、装置、设备与计算机可读存储介质 | |
CN102325187A (zh) | 一种整合多种功能服务的系统及方法 | |
CN111756569B (zh) | 一种EoC网络中用户终端的管理方法及系统 | |
JP2006025457A (ja) | ネットワーク管理システム | |
JP2002055892A (ja) | ネットワーク管理方法及び仮想ネットワーク機器システム | |
CN111131425B (zh) | 分布式系统以及分布式系统的通信方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |