一种基于DDS协议的通信方法、装置、设备及介质与流程
未命名
10-18
阅读:169
评论:0
一种基于dds协议的通信方法、装置、设备及介质
技术领域
1.本发明涉及车辆通信技术领域,尤其涉及一种基于dds协议的通信方法、装置、设备及介质。
背景技术:
2.随着电子控制和通信系统的快速发展,智能网联汽车上的智能控制(自动驾驶)技术变得越来越复杂,车上ecu的数量和代码行数与日俱增,整个汽车系统的复杂性也越来越高,软件代码行数与日俱增,对于硬件资源的消耗变得越来越大,如何在上述情况下实现车辆的控制器之间的通信,是本领域技术人员需要考虑的问题。
3.目前,主要的技术方案是对各控制器上的应用基于自适应autosar的规范进行开发,各应用以dds(data distribution service,数据分发服务)通信协议进行通信。然而,由于dds通信协议是以数据为中心进行数据分发和接收的,在进行通信时对总线及系统资源存在消耗较大的问题。
技术实现要素:
4.本发明提供了一种基于dds协议的通信方法、装置、设备及介质,能够在各控制器的应用之间基于dds进行通信时,降低对总线及系统资源的消耗。
5.根据本发明的一方面,提供了一种基于dds协议的通信方法,由服务执行方执行,所述服务执行方与服务发起方之间基于dds协议进行通信,所述服务发起方为针对目标服务的服务发起方,所述方法包括:
6.若接收到服务发起方发送的目标提供服务报文,则根据预先标记的服务的主题与事件的对应关系,确定目标服务的主题对应的目标事件;所述目标提供服务报文包括目标服务的主题;
7.在目标服务的状态为存活状态下,请求服务发起方确定所述目标事件中的待订阅事件,接收所述待订阅事件并对所述待订阅事件进行订阅后,同服务发起方进行关于订阅事件的事件数据通信;所述存活状态反映服务发起方和服务执行方之间为可通信状态。
8.根据本发明的另一方面,提供了一种基于dds协议的通信方法,由服务发起方执行,所述服务发起方为针对目标服务的服务发起方,所述服务发起方与服务执行方之间基于dds协议进行通信,所述方法包括:
9.向服务执行方发送目标提供服务报文,以使服务执行方根据预先标记的服务的主题与事件的对应关系,确定目标服务的主题对应的目标事件;所述目标提供服务报文包括目标服务的主题;
10.在以预设频率向服务执行方发送目标提供服务报文期间,若接收到服务执行方请求确定所述目标事件中的待订阅事件,则在所述目标事件中确定待订阅事件,并将所述待订阅事件反馈至服务执行方,以使服务执行方对待订阅事件进行订阅;
11.在以预设频率向服务执行方发送目标提供服务报文期间,若确定服务执行方已对
待订阅事件进行订阅,则和服务执行方进行关于订阅事件的事件数据传输。
12.根据本发明的一方面,提供了一种基于dds协议的通信装置,所述装置配置于服务执行方,所述服务执行方与服务发起方之间基于dds协议进行通信,所述服务发起方为针对目标服务的服务发起方,所述装置包括:
13.目标事件确定模块,用于若接收到服务发起方发送的目标提供服务报文,则根据预先标记的服务的主题与事件的对应关系,确定目标服务的主题对应的目标事件;所述目标提供服务报文包括目标服务的主题;
14.事件订阅模块,用于在目标服务的状态为存活状态下,请求服务发起方确定所述目标事件中的待订阅事件,接收所述待订阅事件并对所述待订阅事件进行订阅后,同服务发起方进行关于订阅事件的事件数据通信;所述存活状态反映服务发起方和服务执行方之间为可通信状态。
15.根据本发明的一方面,提供了一种基于dds协议的通信装置,所述装置配置于服务发起方,所述服务发起方为针对目标服务的服务发起方,所述服务发起方与服务执行方之间基于dds协议进行通信,所述装置包括:
16.目标提供服务报文发送模块,用于向服务执行方发送目标提供服务报文,以使服务执行方根据预先标记的服务的主题与事件的对应关系,确定目标服务的主题对应的目标事件;所述目标提供服务报文包括目标服务的主题;
17.待订阅事件确定模块,用于在以预设频率向服务执行方发送目标提供服务报文期间,若接收到服务执行方请求确定所述目标事件中的待订阅事件,则在所述目标事件中确定待订阅事件,并将所述待订阅事件反馈至服务执行方,以使服务执行方对待订阅事件进行订阅;
18.事件数据通信模块,用于在以预设频率向服务执行方发送目标提供服务报文期间,若确定服务执行方已对待订阅事件进行订阅,则和服务执行方进行关于订阅事件的事件数据传输。
19.根据本发明的另一方面,提供了一种电子设备,所述电子设备包括:
20.至少一个处理器;以及
21.与所述至少一个处理器通信连接的存储器;其中,
22.所述存储器存储有可被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行本发明任一实施例由所述服务执行方执行的基于dds协议的通信方法,或者,执行本发明任一实施例由所述服务发起方执行的基于dds协议的通信方法。
23.根据本发明的另一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使处理器执行时实现本发明任一实施例由所述服务执行方执行的基于dds协议的通信方法,或者,实现本发明任一实施例由所述服务发起方执行的基于dds协议的通信方法。
24.本技术实施例的技术方案,由服务执行方执行,所述方法包括:若接收到服务发起方发送的目标提供服务报文,则根据预先标记的服务的主题与事件的对应关系,确定目标服务的主题对应的目标事件;所述目标提供服务报文包括目标服务的主题;在目标服务的状态为存活状态下,请求服务发起方确定所述目标事件中的待订阅事件,接收所述待订阅
事件并对所述待订阅事件进行订阅后,同服务发起方进行关于订阅事件的事件数据通信;所述存活状态反映服务发起方和服务执行方之间为可通信状态。本技术方案通过在目标服务的状态为存活状态下,进行事件的订阅以及事件数据的通信,使得各端在非存活状态下不会占用网络资源,进而降低了对总线及系统资源的消耗。
25.应当理解,本部分所描述的内容并非旨在标识本发明的实施例的关键或重要特征,也不用于限制本发明的范围。本发明的其它特征将通过以下的说明书而变得容易理解。
附图说明
26.为了更清楚地说明本技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
27.图1是根据本技术实施例一提供的一种基于dds协议的通信方法的流程图;
28.图2是根据本技术实施例二提供的一种基于dds协议的通信方法的流程图;
29.图3是根据本技术实施例三提供的一种基于dds协议的通信方法的流程图;
30.图4是根据本技术实施例四提供的一种基于dds协议的通信方法的具体示例流程图;
31.图5是根据本技术实施例四提供的一种基于dds协议的通信方法的信令图;
32.图6是根据本技术实施例五提供的一种基于dds协议的通信装置的结构示意图;
33.图7是根据本技术实施例六提供的一种基于dds协议的通信装置的结构示意图;
34.图8是实现本技术实施例的一种基于dds协议的通信方法的电子设备的结构示意图。
具体实施方式
35.为了使本技术领域的人员更好地理解本发明方案,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
36.需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”“目标”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
37.实施例一
38.图1为本技术实施例一提供了一种基于dds协议的通信方法的流程图,本技术实施例可适用于车辆中的各控制器之间进行数据通信的情况,该方法可以由基于dds协议的通
信装置来执行,该基于dds协议的通信装置可以采用硬件和/或软件的形式实现,该基于dds协议的通信装置可配置于具有数据处理能力的电子设备中。
39.该方法由服务执行方执行,所述服务执行方与服务发起方之间基于dds协议进行通信,所述服务发起方为针对目标服务的服务发起方。
40.本技术实施例中,服务发起方和服务执行方通过车载以太网进行通信,其通信协议可以为dds通信协议,服务发起方和服务执行方可以是控制器、域控制器、微控制器(mpu)等,需要说明的是,服务发起方与服务执行方上的应用程序,可以是基于相同的规范开发的,以使服务发起方和服务执行方之间可以进行数据通信,示例性的,mpu上的应用基于自适应autosar(autotmotive open system architecture,汽车开放系统架构)规范进行开发。
41.服务发起方可以是目标服务的发起方,显然,针对于其它服务,服务发起方和服务执行方之间的角色可能互换,也可能不再是服务发起方和服务执行方。针对目标服务,服务发起方的数量可以是1个,服务执行方的数量可以是1个或多个,且服务发起方和服务执行方位于同一网段下。
42.本技术实施例中,如图1所示,基于dds协议的通信方法包括:
43.s110,若接收到服务发起方发送的目标提供服务报文,则根据预先标记的服务的主题与事件的对应关系,确定目标服务的主题对应的目标事件;所述目标提供服务报文包括目标服务的主题。
44.其中,提供服务报文是由服务发起方发送的,反映需要服务执行方执行服务的报文,目标提供服务报文为针对目标服务的提供服务报文。目标提供服务报文可以包括目标服务的主题。
45.具体的,可以预先存储服务的主题与事件的对应关系,例如提前设置好各项服务与事件的对应关系表。进一步的,若接收到服务发起方发送的目标提供服务报文,则从该目标提供服务报文中提取到目标服务的主题,读取该目标服务的主题对应的各事件,将所述各事件确定为目标事件。
46.s120,在目标服务的状态为存活状态下,请求服务发起方确定所述目标事件中的待订阅事件,接收所述待订阅事件并对所述待订阅事件进行订阅后,同服务发起方进行关于订阅事件的事件数据通信;所述存活状态反映服务发起方和服务执行方之间为可通信状态。
47.其中,目标服务的状态为存活状态表示服务执行方和服务发起方在此状态下可以进行关于目标服务的通信。待订阅事件是指由服务发起方从目标事件中确定的,需要由服务执行方订阅的事件。
48.具体的,可以同服务发起方进行各种形式的通信,以确定目标服务的状态,若该状态为存活状态,则向服务发起方发送请求,该请求反映需要服务发起方在目标事件中确定待订阅事件,若接收到服务发起方发送的待订阅事件的主题,则根据待订阅事件的主题,确定待订阅事件,并对待订阅事件进行订阅,进而待订阅事件变为订阅事件,可以在服务发起方确定订阅事件后,同服务发起方进行关于订阅事件的事件数据通信。
49.本技术实施例的技术方案,由服务执行方执行,所述方法包括:若接收到服务发起方发送的目标提供服务报文,则根据预先标记的服务的主题与事件的对应关系,确定目标
服务的主题对应的目标事件;所述目标提供服务报文包括目标服务的主题;在目标服务的状态为存活状态下,请求服务发起方确定所述目标事件中的待订阅事件,接收所述待订阅事件并对所述待订阅事件进行订阅后,同服务发起方进行关于订阅事件的事件数据通信;所述存活状态反映服务发起方和服务执行方之间为可通信状态。本技术方案通过在目标服务的状态为存活状态下,进行事件的订阅以及事件数据的通信,使得各端在非存活状态下不会占用网络资源,进而降低了对总线及系统资源的消耗。
50.实施例二
51.图2为本技术实施例二提供的一种基于dds协议的通信方法的流程图,本技术实施例以上述实施例为基础进行优化。所述方法由服务执行方执行,所述服务执行方与服务发起方之间基于dds协议进行通信,所述服务发起方为针对目标服务的服务发起方。
52.如图2所示,本技术实施例的方法具体包括如下步骤:
53.s210,若接收到服务发起方发送的目标提供服务报文,则判断目标服务的主题是否为预设期望主题,若是,则执行s220。
54.其中,预设期望主题为预先设置的,预设期望主题为服务执行方可以执行的服务的主题。本技术实施例中,在接收到服务发起方发送的目标提供服务报文后,从中读取目标服务的主题,判断目标服务的主题是否为预设期望主题,若是,则执行后续步骤,否则可以不执行后续步骤。
55.本方案这样设置,使得服务执行方可以直接判断目标服务能否执行,在不能执行时,不再进行后续处理,进而避免了和服务发起方关于能否执行目标服务而进行的一些数据通信,避免了对总线以及系统资源的不必要的占用。
56.s220,若目标服务的主题存在对应的事件,则执行s230;若目标服务的主题存在对应的方法,则执行s260。
57.本技术实施例中,服务包括事件和/或方法,显然,针对目标服务,若目标服务包括事件和方法,则从目标提供服务报文中提取到目标服务的主题后,可以确定存在与目标服务的主题对应的事件以及方法,进而执行s230以及s260。在另一种情况下,若目标服务只包括事件,则从目标提供服务报文中提取到目标服务的主题后,进而可以确定存在与目标服务的主题对应的事件,然后执行s230。在又一种情况下,若目标服务只包括方法,则从目标提供服务报文中提取到目标服务的主题后,进而可以确定存在与目标服务的主题对应的方法,然后执行s260。需要说明的是,一个服务可以包括多个方法和事件。
58.s230,根据预先标记的服务的主题与事件的对应关系,确定目标服务的主题对应的目标事件。
59.本技术实施例中,可选的,根据预先标记的服务的主题与事件的对应关系,确定目标服务的主题对应的目标事件之后,所述方法还包括:将所述目标事件的状态设置为未订阅状态。
60.示例性的,在接收到目标提供服务报文后,可以确定与目标服务的主题对应的目标事件,该目标事件的订阅状态为未订阅状态(notsubscribed)。
61.s240,在目标服务的状态为存活状态下,将所述目标事件的主题以及事件存活时间发送至服务发起方,以使服务发起方根据所述目标事件的主题确定所述目标事件,并在所述目标事件中确定待订阅事件,在事件存活时间内将待订阅事件的主题发送至服务执行
方。
62.其中,事件存活时间可以根据实际情况确定,本技术实施例对此不做限定。
63.本技术实施例中,服务发起方发送的目标提供服务报文包括目标服务以及服务存活时间,所述服务存活时间用于判断目标服务是否存活。本技术实施例中,可选的,确定目标服务的状态是否为存活状态,包括:若接收到服务发起方发送的目标提供服务报文后,在服务存活时间内再次接收到目标提供服务报文,则确定目标服务的状态为存活状态。
64.本技术实施例中,服务发起方为了告知服务执行方目标服务的状态为存活状态,服务发起方会向服务执行方持续发送目标提供服务报文,并且连续两个目标提供服务报文的时间间隔小于服务存活时间,这样,服务执行方可以在接收到目标提供服务报文后,若在服务存活时间内再次接收到目标提供服务报文,则确定目标服务为存活状态,进而重复这一过程,直至在存活时间内未接收到目标提供服务报文,则认为服务发起方已掉线,可以不做任何处理。
65.本方案这样设置,使得服务执行方可以得知目标服务的存活状态,并在不需要目标服务时,可以及时断开连接,减少了对于通信资源的占用,并且,在对通信资源的占用减少后,可以在硬件上适当减少通信资源,达到降低整车成本的效果。
66.本技术实施例中,可选的,将所述目标事件的主题以及事件存活时间发送至服务发起方之后,所述方法还包括:将目标事件的状态设置为未确定状态。
67.示例性的,将所述目标事件的主题以及事件存活时间发送至服务发起方之后,目标事件的订阅状态由notsubscribed变更为pending。
68.s250,根据在事件存活时间内接收到的待订阅事件的主题,确定所述待订阅事件,并对所述待订阅事件进行订阅后,同服务发起方进行关于订阅事件的事件数据通信。
69.具体的,若在事件存活时间内接收到的待订阅事件的主题,则根据待订阅事件的主题确定所述待订阅事件,并对所述待订阅事件进行订阅,将所述待订阅事件的状态设置为订阅状态,并将目标事件中,除待订阅事件以外的事件的状态设置为未订阅状态。
70.示例性的,若在事件存活时间内接收到的待订阅事件的主题,则根据待订阅事件的主题确定所述待订阅事件,并对所述待订阅事件进行订阅,将所述待订阅事件的订阅状态设置为subscribed。若在事件存活时间内未接收到服务发起方的反馈,则将目标事件的订阅状态切换回notsubscribed。
71.本技术实施例中,事件存活时间用于使服务发起方在事件存活时间内进行待订阅事件的确定以及反馈,这样设置,使得服务发起方和服务执行方之间,可以事件存活时间内确定待订阅事件,并进行后续的订阅以及事件数据通信等过程,并且,若目标事件均不需要订阅,则服务发起方可以不进行反馈,若服务执行方在事件存活时间内未接收到反馈,则确定目标事件不需要订阅,这样设置可以灵活地对需要订阅的事件进行订阅,对于不需要订阅的事件则不订阅,可以进一步降低对于通信资源(总线及系统资源)的消耗。
72.s260,根据预先标记的服务的主题与方法的对应关系,确定目标服务的主题对应的目标方法。
73.具体的,可以预先存储不同服务的主题所对应的方法,在得到目标服务的主题后,根据预先标记的服务的主题与方法的对应关系,确定目标服务的主题对应的目标方法。
74.s270,向服务发起方发送所述目标方法的输入数据,以及与所述输入数据对应的
目标方法的主题,以使服务发起方根据所述目标方法的主题确定目标方法,并基于所述目标方法对所述输入数据进行处理,得到处理结果,并将所述处理结果发送至服务执行方。
75.具体的,确定目标方法后,获取目标方法的输入数据,将输入数据以及目标方法的主题发送至服务发起方,以使服务发起方基于目标方法对输入数据进行处理,服务发起方还可以将处理结果反馈至服务执行方。
76.需要说明的是,由于一些事件是在部分时刻是需要订阅的,其它时刻又是不需要订阅的,在接收到目标提供服务报文后,可以周期性地请求服务发起方确定待订阅事件,并进行后续的对待订阅事件进行订阅以及进行订阅事件的事件数据通信的步骤,即针对目标服务的主题存在对应的事件的情况,可以周期性地执行s240和s250。
77.本技术实施例中,关于服务的主题与服务的对应关系、事件的主题与事件的对应关系以及方法的主题与方法的对应关系,可以适当的选取可能使用到的部分,预先存储至服务发起方与服务执行方,所以服务发起方和服务执行方之间,仅传输相应的主题,便可使双方得知对应于主题的具体内容。
78.需要说明的是,对于服务执行方,怎么获取针对目标方法的输入数据等具体操作可以由服务执行方上所安装的应用执行,本技术实施例对此不多赘述。同理,对于服务发起方,如何确定哪项服务是目标服务,以及如何确定目标事件中的待订阅事件等,可以由具体的应用执行,本技术实施例对此不多赘述。
79.本技术实施例的技术方案,通过设置事件存活时间,使得服务执行方和服务发起方可以针对有通信需求的事件进行通信,对于无通信需求的事件,可以不通信,进而达到了降低通信资源的消耗的效果,并且,服务执行方可以向服务发起方周期性地确定目标事件中哪些是待订阅事件,使得服务发起方和服务执行方之间可以灵活地对事件进行订阅以及取消订阅,避免了一些不需要通信的事件占用通信资源的情况。
80.实施例三
81.图3为本技术实施例三提供了一种基于dds协议的通信方法的流程图,本技术实施例可适用于车辆中的各控制器之间进行数据通信的情况,该方法可以由基于dds协议的通信装置来执行,该基于dds协议的通信装置可以采用硬件和/或软件的形式实现,该基于dds协议的通信装置可配置于具有数据处理能力的电子设备中。
82.本实施例所述方法由服务发起方执行,所述服务发起方为针对目标服务的服务发起方,所述服务发起方与服务执行方之间基于dds协议进行通信。
83.如图3所示,所述方法包括:
84.s310,向服务执行方发送目标提供服务报文,以使服务执行方根据预先标记的服务的主题与事件的对应关系,确定目标服务的主题对应的目标事件;所述目标提供服务报文包括目标服务的主题。
85.具体的,服务发起方上的应用确定目标服务后,可以根据目标服务生成目标提供服务报文,并将所述目标提供服务报文发送至服务执行方。
86.s320,在以预设频率向服务执行方发送目标提供服务报文期间,若接收到服务执行方请求确定所述目标事件中的待订阅事件,则在所述目标事件中确定待订阅事件,并将所述待订阅事件反馈至服务执行方,以使服务执行方对待订阅事件进行订阅。
87.具体的,目标提供服务报文中,还包括服务存活时间,在以预设频率向服务执行方
发送目标提供服务报文时,相邻两个报文的时间间隔需要小于服务存活时间。示例性的,每五秒向服务执行方发送一次目标提供服务报文,目标提供服务报文中的服务存活时间大于五秒。
88.进一步的,若服务发起方上的应用确定目标服务是需要执行的,则以预设频率向服务执行方发送目标提供服务报文,否则,不再发送目标提供服务报文。
89.本技术实施例中,可选的,所述方法还包括:若接收到服务执行方发送的所述目标事件的主题以及事件存活时间,则根据所述目标事件的主题确定所述目标事件,并在目标事件中确定待订阅事件,在事件存活时间内将待订阅事件的主题发送至服务执行方,以使服务执行方根据在事件存活时间内接收到的待订阅事件的主题,确定所述待订阅事件。
90.具体的,若接收到服务执行方发送的所述目标事件的主题以及事件存活时间,则根据所述目标事件的主题确定所述目标事件,由服务发起方上的应用确定需要订阅的待订阅事件,然后在事件存活时间内将待订阅事件的主题发送至服务执行方。对于目标事件中,不需要订阅的事件,则不做处理,这样服务执行方在事件存活时间结束后,也会对没有反馈的事件不做处理。
91.s330,在以预设频率向服务执行方发送目标提供服务报文期间,若确定服务执行方已对待订阅事件进行订阅,则和服务执行方进行关于订阅事件的事件数据传输。
92.具体的,在以预设频率向服务执行方发送目标提供服务报文期间,若服务执行方向服务发起方反馈:已对待订阅事件进行订阅,则可以同服务执行方进行关于订阅事件的事件数据传输。
93.本技术实施例中,可选的,向服务执行方发送目标提供服务报文之后,所述方法还包括:若接收到服务执行方发送的目标方法的输入数据,以及与所述输入数据对应的目标方法的主题,则根据所述目标方法的主题确定目标方法,并基于所述目标方法对所述输入数据进行处理,得到处理结果,并将所述处理结果发送至服务执行方。
94.具体的,由于一个服务中,可能存在与服务对应的事件和/或方法,所以,若目标服务还与目标方法相对应,则会进行关于目标方法的处理,具体过程为:若接收到服务执行方发送的目标方法的输入数据和目标方法的主题,则通过目标方法的主题确定目标方法,然后基于目标方法,对输入数据进行处理,得到输出结果,同时,还可以向服务执行方发送一个处理结果,以告知服务执行方目标方法已处理结束或者还需要继续采集输入数据等。
95.本技术实施例的技术方案,包括:向服务执行方发送目标提供服务报文,以使服务执行方根据预先标记的服务的主题与事件的对应关系,确定目标服务的主题对应的目标事件;所述目标提供服务报文包括目标服务的主题;在以预设频率向服务执行方发送目标提供服务报文期间,若接收到服务执行方请求确定所述目标事件中的待订阅事件,则在所述目标事件中确定待订阅事件,并将所述待订阅事件反馈至服务执行方,以使服务执行方对待订阅事件进行订阅;在以预设频率向服务执行方发送目标提供服务报文期间,若确定服务执行方已对待订阅事件进行订阅,则和服务执行方进行关于订阅事件的事件数据传输。本技术方案通过对目标服务是否存活进行灵活的控制,使得在不需要目标服务存活时,服务发起方和服务执行方之间不进行通信,进而达到了降低对总线及系统资源的消耗的效果,并且,对于目标事件,从中确定出待订阅事件后,再进行相应的通信,避免了对各目标事件都进行通信连接的情况,也达到了降低对总线及系统资源的消耗的效果。
96.实施例四
97.图4为一种基于dds协议的通信方法的具体示例的流程图,可参考图5所示的一种基于dds协议的通信方法的信令图,本技术实施例所述方法包括:
98.s410,服务发起方向服务执行方发送目标提供服务报文。
99.s420,服务执行方从目标提供服务报文中,确定与目标服务对应的目标事件和/或目标方法。
100.s430,服务发起方在以预设频率向服务执行方发送目标提供服务报文期间,服务执行方向服务发起方发送目标事件的主题以及事件存活时间。
101.s440,服务发起方在以预设频率向服务执行方发送目标提供服务报文期间,若服务发起方接收到服务执行方发送的目标事件的主题以及事件存活时间,则在目标事件中确定待订阅事件,并在事件存活时间内将待订阅事件反馈至服务执行方。
102.s450,服务发起方在以预设频率向服务执行方发送目标提供服务报文期间,服务执行方对待订阅事件进行订阅,进而服务发起方和服务执行方进行关于订阅事件的事件数据传输。
103.s460,服务发起方在以预设频率向服务执行方发送目标提供服务报文期间,服务执行方向服务发起方发送的目标方法的输入数据,以及目标方法的主题。
104.s470,服务发起方在以预设频率向服务执行方发送目标提供服务报文期间,服务发起方根据所述目标方法的主题确定目标方法,并基于所述目标方法对所述输入数据进行处理,得到处理结果,并将所述处理结果发送至服务执行方。
105.本技术实施例的技术方案,对服务中的事件和方法进行基于dds的主题特性配置,在服务发现后,在有需求时再建立事件以及方法的业务层通信链路,降低了对于总线及系统资源的消耗。
106.实施例五
107.图6为本技术实施例五提供的一种基于dds协议的通信装置的结构示意图,该装置可执行本发明任意实施例所提供的由服务执行方执行的基于dds协议的通信方法,具备执行方法相应的功能模块和有益效果。所述装置配置于服务执行方,所述服务执行方与服务发起方之间基于dds协议进行通信,所述服务发起方为针对目标服务的服务发起方,如图6所示,该装置包括:
108.目标事件确定模块510,用于若接收到服务发起方发送的目标提供服务报文,则根据预先标记的服务的主题与事件的对应关系,确定目标服务的主题对应的目标事件;所述目标提供服务报文包括目标服务的主题;
109.事件订阅模块520,用于在目标服务的状态为存活状态下,请求服务发起方确定所述目标事件中的待订阅事件,接收所述待订阅事件并对所述待订阅事件进行订阅后,同服务发起方进行关于订阅事件的事件数据通信;所述存活状态反映服务发起方和服务执行方之间为可通信状态。
110.可选的,所述装置还包括存活状态确定模块,该存活状态确定模块具体用于:
111.若接收到服务发起方发送的目标提供服务报文后,在服务存活时间内再次接收到目标提供服务报文,则确定目标服务的状态为存活状态。
112.可选的,事件订阅模块520,包括:
113.目标事件的主题发送单元,用于将所述目标事件的主题以及事件存活时间发送至服务发起方,以使服务发起方根据所述目标事件的主题确定所述目标事件,并在所述目标事件中确定待订阅事件,在事件存活时间内将待订阅事件的主题发送至服务执行方;
114.待订阅事件确定单元,用于根据在事件存活时间内接收到的待订阅事件的主题,确定所述待订阅事件。
115.可选的,所述装置还包括:第一状态设置单元,用于根据预先标记的服务的主题与事件的对应关系,确定目标服务的主题对应的目标事件之后,将所述目标事件的状态设置为未订阅状态;
116.第二状态设置单元,用于将所述目标事件的主题以及事件存活时间发送至服务发起方之后,将目标事件的状态设置为未确定状态;
117.第三状态设置单元,用于在事件存活时间内接收到的待订阅事件的主题后,将所述待订阅事件的状态设置为订阅状态,并将目标事件中,除待订阅事件以外的事件的状态设置为未订阅状态。
118.可选的,所述装置还包括:
119.目标方法确定模块,用于根据预先标记的服务的主题与方法的对应关系,确定目标服务的主题对应的目标方法;
120.输入数据发送模块,用于向服务发起方发送所述目标方法的输入数据,以及与所述输入数据对应的目标方法的主题,以使服务发起方根据所述目标方法的主题确定目标方法,并基于所述目标方法对所述输入数据进行处理,得到处理结果,并将所述处理结果发送至服务执行方。
121.可选的,所述装置还包括:
122.主题判断模块,用于若目标服务的主题为预设期望主题,则执行根据预先标记的服务的主题与事件的对应关系,确定目标服务的主题对应的目标事件的步骤,和/或,执行根据预先标记的服务的主题与方法的对应关系,确定目标服务的主题对应的目标方法的步骤。
123.本技术实施例所提供的一种基于dds协议的通信装置可执行本发明任意实施例所提供的由服务执行方执行的一种基于dds协议的通信方法,具备执行方法相应的功能模块和有益效果。
124.实施例六
125.图7为本技术实施例六提供的一种基于dds协议的通信装置的结构示意图,该装置可执行本发明任意实施例所提供的由服务发起方执行的基于dds协议的通信方法,具备执行方法相应的功能模块和有益效果。所述装置配置于服务发起方,所述服务发起方为针对目标服务的服务发起方,所述服务发起方与服务执行方之间基于dds协议进行通信,如图7所示,该装置包括:
126.目标提供服务报文发送模块610,用于向服务执行方发送目标提供服务报文,以使服务执行方根据预先标记的服务的主题与事件的对应关系,确定目标服务的主题对应的目标事件;所述目标提供服务报文包括目标服务的主题;
127.待订阅事件确定模块620,用于在以预设频率向服务执行方发送目标提供服务报文期间,若接收到服务执行方请求确定所述目标事件中的待订阅事件,则在所述目标事件
中确定待订阅事件,并将所述待订阅事件反馈至服务执行方,以使服务执行方对待订阅事件进行订阅;
128.事件数据通信模块630,用于在以预设频率向服务执行方发送目标提供服务报文期间,若确定服务执行方已对待订阅事件进行订阅,则和服务执行方进行关于订阅事件的事件数据传输。
129.可选的,所述装置还包括:
130.待订阅事件确定模块,用于若接收到服务执行方发送的所述目标事件的主题以及事件存活时间,则根据所述目标事件的主题确定所述目标事件,并在目标事件中确定待订阅事件,在事件存活时间内将待订阅事件的主题发送至服务执行方,以使服务执行方根据在事件存活时间内接收到的待订阅事件的主题,确定所述待订阅事件。
131.可选的,所述装置还包括:
132.输入数据处理模块,用于若接收到服务执行方发送的目标方法的输入数据,以及与所述输入数据对应的目标方法的主题,则根据所述目标方法的主题确定目标方法,并基于所述目标方法对所述输入数据进行处理,得到处理结果,并将所述处理结果发送至服务执行方。
133.本技术实施例所提供的一种基于dds协议的通信装置可执行本发明任意实施例所提供的由服务发起方执行的一种基于dds协议的通信方法,具备执行方法相应的功能模块和有益效果。
134.实施例七
135.图8示出了可以用来实施本发明的实施例的电子设备10的结构示意图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备(如头盔、眼镜、手表等)和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本发明的实现。
136.如图8所示,电子设备10包括至少一个处理器11,以及与至少一个处理器11通信连接的存储器,如只读存储器(rom)12、随机访问存储器(ram)13等,其中,存储器存储有可被至少一个处理器执行的计算机程序,处理器11可以根据存储在只读存储器(rom)12中的计算机程序或者从存储单元18加载到随机访问存储器(ram)13中的计算机程序,来执行各种适当的动作和处理。在ram 13中,还可存储电子设备10操作所需的各种程序和数据。处理器11、rom 12以及ram 13通过总线14彼此相连。输入/输出(i/o)接口15也连接至总线14。
137.电子设备10中的多个部件连接至i/o接口15,包括:输入单元16,例如键盘、鼠标等;输出单元17,例如各种类型的显示器、扬声器等;存储单元18,例如磁盘、光盘等;以及通信单元19,例如网卡、调制解调器、无线通信收发机等。通信单元19允许电子设备10通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
138.处理器11可以是各种具有处理和计算能力的通用和/或专用处理组件。处理器11的一些示例包括但不限于中央处理单元(cpu)、图形处理单元(gpu)、各种专用的人工智能(ai)计算芯片、各种运行机器学习模型算法的处理器、数字信号处理器(dsp)、以及任何适当的处理器、控制器、微控制器等。处理器11执行上文所描述的各个方法和处理,例如基于
dds协议的通信方法。
139.在一些实施例中,基于dds协议的通信方法可被实现为计算机程序,其被有形地包含于计算机可读存储介质,例如存储单元18。在一些实施例中,计算机程序的部分或者全部可以经由rom 12和/或通信单元19而被载入和/或安装到电子设备10上。当计算机程序加载到ram 13并由处理器11执行时,可以执行上文描述的基于dds协议的通信方法的一个或多个步骤。备选地,在其他实施例中,处理器11可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行基于dds协议的通信方法。
140.本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(fpga)、专用集成电路(asic)、专用标准产品(assp)、芯片上系统的系统(soc)、复杂可编程逻辑设备(cpld)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
141.用于实施本发明的方法的计算机程序可以采用一个或多个编程语言的任何组合来编写。这些计算机程序可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器,使得计算机程序当由处理器执行时使流程图和/或框图中所规定的功能/操作被实施。计算机程序可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
142.在本发明的上下文中,计算机可读存储介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的计算机程序。计算机可读存储介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。备选地,计算机可读存储介质可以是机器可读信号介质。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或快闪存储器)、光纤、便捷式紧凑盘只读存储器(cd-rom)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
143.为了提供与用户的交互,可以在电子设备上实施此处描述的系统和技术,该电子设备具有:用于向用户显示信息的显示装置(例如,crt(阴极射线管)或者lcd(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给电子设备。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
144.可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数
字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(lan)、广域网(wan)、区块链网络和互联网。
145.计算系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决了传统物理主机与vps服务中,存在的管理难度大,业务扩展性弱的缺陷。
146.应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发明中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本发明的技术方案所期望的结果,本文在此不进行限制。
147.上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。
技术特征:
1.一种基于dds协议的通信方法,其特征在于,由服务执行方执行,所述服务执行方与服务发起方之间基于dds协议进行通信,所述服务发起方为针对目标服务的服务发起方,所述方法包括:若接收到服务发起方发送的目标提供服务报文,则根据预先标记的服务的主题与事件的对应关系,确定目标服务的主题对应的目标事件;所述目标提供服务报文包括目标服务的主题;在目标服务的状态为存活状态下,请求服务发起方确定所述目标事件中的待订阅事件,接收所述待订阅事件并对所述待订阅事件进行订阅后,同服务发起方进行关于订阅事件的事件数据通信;所述存活状态反映服务发起方和服务执行方之间为可通信状态。2.根据权利要求1所述的方法,其特征在于,确定目标服务的状态为存活状态,包括:若接收到服务发起方发送的目标提供服务报文后,在服务存活时间内再次接收到目标提供服务报文,则确定目标服务的状态为存活状态。3.根据权利要求1所述的方法,其特征在于,请求服务发起方确定所述目标事件中的待订阅事件,包括:将所述目标事件的主题以及事件存活时间发送至服务发起方,以使服务发起方根据所述目标事件的主题确定所述目标事件,并在所述目标事件中确定待订阅事件,在事件存活时间内将待订阅事件的主题发送至服务执行方;根据在事件存活时间内接收到的待订阅事件的主题,确定所述待订阅事件。4.根据权利要求3所述的方法,其特征在于,根据预先标记的服务的主题与事件的对应关系,确定目标服务的主题对应的目标事件之后,所述方法还包括:将所述目标事件的状态设置为未订阅状态;将所述目标事件的主题以及事件存活时间发送至服务发起方之后,所述方法还包括:将目标事件的状态设置为未确定状态;在事件存活时间内接收到的待订阅事件的主题后,所述方法还包括:将所述待订阅事件的状态设置为订阅状态,并将目标事件中,除待订阅事件以外的事件的状态设置为未订阅状态。5.根据权利要求1所述的方法,其特征在于,接收到服务发起方发送的目标提供服务报文后,所述方法还包括:根据预先标记的服务的主题与方法的对应关系,确定目标服务的主题对应的目标方法;向服务发起方发送所述目标方法的输入数据,以及与所述输入数据对应的目标方法的主题,以使服务发起方根据所述目标方法的主题确定目标方法,并基于所述目标方法对所述输入数据进行处理,得到处理结果,并将所述处理结果发送至服务执行方。6.根据权利要求1或5所述的方法,其特征在于,接收到服务发起方发送的目标提供服务报文之后,所述方法还包括:若目标服务的主题为预设期望主题,则执行根据预先标记的服务的主题与事件的对应关系,确定目标服务的主题对应的目标事件的步骤,和/或,执行根据预先标记的服务的主题与方法的对应关系,确定目标服务的主题对应的目标方法的步骤。7.一种基于dds协议的通信方法,其特征在于,由服务发起方执行,所述服务发起方为
针对目标服务的服务发起方,所述服务发起方与服务执行方之间基于dds协议进行通信,所述方法包括:向服务执行方发送目标提供服务报文,以使服务执行方根据预先标记的服务的主题与事件的对应关系,确定目标服务的主题对应的目标事件;所述目标提供服务报文包括目标服务的主题;在以预设频率向服务执行方发送目标提供服务报文期间,若接收到服务执行方请求确定所述目标事件中的待订阅事件,则在所述目标事件中确定待订阅事件,并将所述待订阅事件反馈至服务执行方,以使服务执行方对待订阅事件进行订阅;在以预设频率向服务执行方发送目标提供服务报文期间,若确定服务执行方已对待订阅事件进行订阅,则和服务执行方进行关于订阅事件的事件数据传输。8.根据权利要求7所述的方法,其特征在于,所述方法还包括:若接收到服务执行方发送的所述目标事件的主题以及事件存活时间,则根据所述目标事件的主题确定所述目标事件,并在目标事件中确定待订阅事件,在事件存活时间内将待订阅事件的主题发送至服务执行方,以使服务执行方根据在事件存活时间内接收到的待订阅事件的主题,确定所述待订阅事件。9.根据权利要求7所述的方法,其特征在于,向服务执行方发送目标提供服务报文之后,所述方法还包括:若接收到服务执行方发送的目标方法的输入数据,以及与所述输入数据对应的目标方法的主题,则根据所述目标方法的主题确定目标方法,并基于所述目标方法对所述输入数据进行处理,得到处理结果,并将所述处理结果发送至服务执行方。10.一种基于dds协议的通信装置,其特征在于,所述装置配置于服务执行方,所述服务执行方与服务发起方之间基于dds协议进行通信,所述服务发起方为针对目标服务的服务发起方,所述装置包括:目标事件确定模块,用于若接收到服务发起方发送的目标提供服务报文,则根据预先标记的服务的主题与事件的对应关系,确定目标服务的主题对应的目标事件;所述目标提供服务报文包括目标服务的主题;事件订阅模块,用于在目标服务的状态为存活状态下,请求服务发起方确定所述目标事件中的待订阅事件,接收所述待订阅事件并对所述待订阅事件进行订阅后,同服务发起方进行关于订阅事件的事件数据通信;所述存活状态反映服务发起方和服务执行方之间为可通信状态。11.一种基于dds协议的通信装置,其特征在于,所述装置配置于服务发起方,所述服务发起方为针对目标服务的服务发起方,所述服务发起方与服务执行方之间基于dds协议进行通信,所述装置包括:目标提供服务报文发送模块,用于向服务执行方发送目标提供服务报文,以使服务执行方根据预先标记的服务的主题与事件的对应关系,确定目标服务的主题对应的目标事件;所述目标提供服务报文包括目标服务的主题;待订阅事件确定模块,用于在以预设频率向服务执行方发送目标提供服务报文期间,若接收到服务执行方请求确定所述目标事件中的待订阅事件,则在所述目标事件中确定待订阅事件,并将所述待订阅事件反馈至服务执行方,以使服务执行方对待订阅事件进行订
阅;事件数据通信模块,用于在以预设频率向服务执行方发送目标提供服务报文期间,若确定服务执行方已对待订阅事件进行订阅,则和服务执行方进行关于订阅事件的事件数据传输。12.一种电子设备,其特征在于,所述电子设备包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-6中任一项由所述服务执行方执行的基于dds协议的通信方法,或者,执行权利要求7-9中任一项由所述服务发起方执行的基于dds协议的通信方法。13.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使处理器执行时实现权利要求1-6中任一项由所述服务执行方执行的基于dds协议的通信方法,或者,实现权利要求7-9中任一项由所述服务发起方执行的基于dds协议的通信方法。
技术总结
本申请实施例公开了一种基于DDS协议的通信方法、装置、设备及介质。该方法由服务执行方执行,该方法包括:若接收到服务发起方发送的目标提供服务报文,则根据预先标记的服务的主题与事件的对应关系,确定目标服务的主题对应的目标事件;在目标服务的状态为存活状态下,请求服务发起方确定所述目标事件中的待订阅事件,接收待订阅事件并对待订阅事件进行订阅后,同服务发起方进行关于订阅事件的事件数据通信;所述存活状态反映服务发起方和服务执行方之间为可通信状态。本技术方案通过在目标服务的状态为存活状态下,进行事件的订阅以及事件数据的通信,使得各端在非存活状态下不会占用通信资源,进而降低了对总线及系统资源的消耗。耗。耗。
技术研发人员:孙荫权 张晓谦 李岩 周宇禄
受保护的技术使用者:中国第一汽车股份有限公司
技术研发日:2023.06.30
技术公布日:2023/10/11
版权声明
本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
飞行汽车 https://www.autovtol.com/
上一篇:自吸背门锁装置及机动车的制作方法 下一篇:一种消泡方法与流程
