数据业务数据发送方法、对讲机、系统及存储介质
文献发布时间:2023-06-19 16:11:11
技术领域
本公开涉及通信领域,尤其涉及一种数据业务数据发送方法、对讲机、系统及存储介质。
背景技术
对讲机直通模式下,仅需要多个对讲机就能实现自组网、自恢复、多跳转发、紧急请求转发等业务功能的实现,无需基站及中转台设备。
当前对讲机在自组网中转发位置信息等数据业务时,需要当前节点设备在控制信道中转发请求信令,当当前节点设备的信号覆盖范围内的其它节点设备收到该转发请求信令后,确认自身是否能够转发数据业务,当确认能够转发数据业务时,向当前节点设备返回应答响应,以此方式逐步建立数据业务的转发路径,以便在转发路径转发数据业务。
发明内容
发明人发现,等待通过应答响应机制建立转发路径再转发数据业务,会导致数据业务的转发出现较大延时,无法保障数据业务发送过的及时性,并且多级的请求应答的过程中也会因射频信号被干扰而引入诸多不稳定因素,大大降低了链路建立的成功率。
本公开提供了一种数据业务数据发送方法、对讲机、系统及存储介质,用以解决等待通过应答响应机制建立转发路径再转发数据业务,会导致数据业务的转发出现较大延时,无法保障数据业务发送过的及时性的问题,且去除了链路中某节点因接收不到转发请求或应答导致的链路建立失败的不稳定因素,大大提高了链路建立的成功率。
第一方面,提供一种数据业务数据发送方法,应用于转发节点设备,包括:
接收同一组网内其他节点设备发送的数据业务相关的目标数据;所述目标数据包括源地址字段、路由路径字段以及与起始节点设备相关的数据业务数据字段;其中,所述源地址字段用于标识发送所述目标数据的节点设备的地址,所述路由路径字段用于标识所述起始节点设备到目标节点设备的路由路径;
获取所述目标数据中所述路由路径字段中的路由路径;
当基于所述路由路径确定所述转发节点设备满足转发条件时,将所述目标数据中的源地址字段中的地址设置为所述转发节点设备的地址,得到更新后的目标数据;
在控制信道上发送所述更新后的目标数据。
可选地,所述基于所述路由路径确定所述转发节点设备满足转发条件,包括:
当基于所述路由路径确定所述目标数据来自于所述转发节点设备的上一跳节点设备时,确定所述转发节点设备满足转发条件。
可选地,所述基于所述路由路径确定所述目标数据来自于所述转发节点设备的上一跳节点设备,包括:
当确定所述目标数据中所述源地址字段中的地址与所述转发节点设备的地址在所述路由路径中相邻时,确定所述目标数据来自于所述转发节点设备的上一跳节点设备。
可选地,确定所述目标数据中所述源地址字段中的地址与所述转发节点设备的地址在所述路由路径中相邻,包括:
判断所述路由路径中是否存在所述目标数据中所述源地址字段中的地址对应的转发次序;
若存在,当确定所述转发节点设备的转发次序比所述目标数据中所述源地址字段中的地址对应的转发次序相差最小次序转发间隔时,确定所述目标数据中所述源地址字段中的地址与所述转发节点设备的地址在所述路由路径中相邻;
若不存在,当确定所述目标数据中所述源地址字段中的地址与所述路由路径中的起始节点设备的地址相同,且所述转发节点设备在所述路由路径中的转发次序为第一时,确定所述目标数据中所述源地址字段中的地址与所述转发节点设备的地址在所述路由路径中相邻。
可选地,所述获取所述目标数据中所述路由路径字段中的路由路径,包括:
获取所述转发节点设备的工作状态;
基于所述工作状态,确定所述目标数据中路由路径字段所在帧的帧类型;
从所述目标数据对应帧类型的帧的路由路径字段中获取所述路由路径。
可选地,所述帧类型包括控制帧或数据帧。
可选地,所述数据业务为位置信息业务、短消息业务或短数据业务。
可选地,所述路由路径为所述起始节点设备从本地路由表中获取。
第二方面,提供一种数据业务数据发送方法,应用于起始节点设备,包括:
在获取需要向同一组网内的目标节点设备发送的数据业务相关的数据时,从本地路由表中获取所述起始节点设备到目标节点设备的路由路径;所述数据业务相关的数据包括与起始节点设备相关的数据业务数据;
将所述起始节点设备的地址、所述数据业务相关的数据及所述路由路径分别填充到源地址字段、数据业务数据字段及路由路径字段中,得到目标数据;所述源地址字段用于标识发送所述目标数据的节点设备的地址;
在控制信道上发送所述目标数据,以使转发节点设备在基于所述路由路径确定所述转发节点设备满足转发条件时,更新所述目标数据中源地址字段中的地址为所述转发节点设备的地址并发送更新后的目标数据。
可选地,在所述将所述起始节点设备的地址、所述数据业务相关的数据及所述路由路径分别填充到源地址字段、数据业务数据字段及路由路径字段中,得到目标数据之前,还包括:
获取所述起始节点设备的工作状态;
基于所述工作状态,确定所述路由路径字段所在帧的帧类型;
所述将所述路由路径填充到路由路径字段中,具体为:在对应帧类型的帧中的路由路径字段填充所述路由路径。
可选地,所述帧类型包括控制帧或数据帧。
可选地,所述路由路径字段包括起始节点设备地址字段及至少一个转发节点地址字段;
所述将所述路由路径填充到路由路径字段中,包括:
获取所述路由路径中各转发节点设备的节点地址、各所述转发节点的转发次序和所述起始节点设备的地址;
将所述起始节点设备的地址填充至所述起始节点设备地址字段中,并按照所述转发次序,将各所述转发节点设备的地址填充至所述转发节点地址字段中。
可选地,所述数据业务为位置信息业务、短消息业务或短数据业务。
可选地,在所述从本地路由表中获取所述起始节点设备到目标节点设备的路由路径之前,还包括:
在组网阶段接收同一组网内其他节点设备广播的第一广播信令帧,所述广播信令帧包括所述其他节点设备到目标节点的路径信息;
将所述其他节点设备增加到所述路径信息中,形成所述本地路由表;
生成并广播第二广播信令帧,所述第二广播信令帧包括所述本地路由表信息。
第三方面,提供一种第一对讲机,所述第一对讲机为转发节点设备,包括:
第一接收模块,用于接收同一组网内其他节点设备发送的数据业务相关的目标数据;所述目标数据包括源地址字段、路由路径字段以及与起始节点设备相关的数据业务数据字段;其中,所述源地址字段用于标识发送所述目标数据的节点设备的地址,所述路由路径字段用于标识所述起始节点设备到目标节点设备的路由路径;
第一获取模块,用于获取所述目标数据中所述路由路径字段中的路由路径;
更新模块,用于当基于所述路由路径确定所述转发节点设备满足转发所述目标数据的条件时,将所述目标数据中的源地址字段中的地址设置为所述转发节点设备的地址,得到更新后的目标数据;
转发模块,用于在所述转发节点设备的控制信道发送所述更新后的目标数据。
可选地,所述更新模块包括:
第一确定子模块,用于当基于所述路由路径确定所述目标数据来自于所述转发节点设备的上一跳节点设备时,确定所述转发节点设备满足转发条件。
可选地,所述第一确定子模块包括:
第一确定单元,用于当确定所述目标数据中所述源地址字段中的地址与所述转发节点设备的地址在所述路由路径中相邻时,确定所述目标数据来自于所述转发节点设备的上一跳节点设备。
可选地,所述第一确定单元包括:
判断子单元,用于判断所述路由路径中是否存在所述目标数据中所述源地址字段中的地址对应的转发次序;
第一确定子单元,用于若所述判断子单元确定所述路由路径中存在所述目标数据中所述源地址字段中的地址对应的转发次序,当确定所述转发节点设备的转发次序比所述目标数据中所述源地址字段中的地址对应的转发次序相差最小次序转发间隔时,确定所述目标数据中所述源地址字段中的地址与所述转发节点设备的地址在所述路由路径中相邻;
第二确定子单元,用于若所述判断子单元确定所述路由路径中不存在所述目标数据中所述源地址字段中的地址对应的转发次序,当确定所述目标数据中所述源地址字段中的地址与所述路由路径中的起始节点设备的地址相同,且所述转发节点设备在所述路由路径中的转发次序为第一时,确定所述目标数据中所述源地址字段中的地址与所述转发节点设备的地址在所述路由路径中相邻。
可选地,所述第一获取模块包括:
第一获取子模块,用于获取所述转发节点设备的工作状态;
第二确定子模块,用于基于所述工作状态,确定所述目标数据中路由路径字段所在帧的帧类型;
第二获取子模块,用于从所述目标数据对应帧类型的帧的路由路径字段中获取所述路由路径。
可选地,所述帧类型包括控制帧或数据帧。
可选地,所述数据业务为位置信息业务、短消息业务或短数据业务。
可选地,所述路由路径为所述起始节点设备从本地路由表中获取。
第四方面,提供一种第二对讲机,所述第二对讲机为起始节点设备,包括:
第二获取模块,用于在获取需要向同一组网内的目标节点设备发送的数据业务相关的数据时,从本地路由表中获取所述起始节点设备到目标节点设备的路由路径;所述数据业务相关的数据包括与起始节点设备相关的数据业务数据;
填充模块,用于将所述起始节点设备的地址、所述数据业务相关的数据及所述路由路径分别填充到源地址字段、数据业务数据字段及路由路径字段中,得到目标数据;所述源地址字段用于标识发送所述目标数据的节点设备的地址;
发送模块,用于在所述起始节点设备的控制信道发送所述目标数据,以使转发节点设备在基于所述路由路径确定所述转发节点设备满足转发所述目标数据的条件时,更新所述目标数据中源地址字段中的地址为所述转发节点设备的地址并发送更新后的目标数据。
可选地,所述第二对讲机还包括:
第三获取模块,用于在所述将所述起始节点设备的地址、所述数据业务相关的数据及所述路由路径分别填充到源地址字段、数据业务数据字段及路由路径字段中,得到目标数据之前,获取所述起始节点设备的工作状态;
确定模块,基于所述工作状态,确定所述路由路径字段所在帧的帧类型;
所述填充模块包括:
填充子模块,用于在对应帧类型的帧中的路由路径字段填充所述路由路径。
可选地,所述帧类型包括控制帧或数据帧。
可选地,所述路由路径字段包括起始节点设备地址字段及至少一个转发节点地址字段;
所述填充子模块包括:
获取单元,用于获取所述路由路径中各转发节点设备的节点地址、各所述转发节点的转发次序和所述起始节点设备的地址;
填充单元,用于将所述起始节点设备的地址填充至所述起始节点设备地址字段中,并按照所述转发次序,将各所述转发节点设备的地址填充至所述转发节点地址字段中。
可选地,所述数据业务为位置信息业务、短消息业务或短数据业务。
可选地,所述第二对讲机还包括:
第二接收模块,用于在所述从本地路由表中获取所述起始节点设备到目标节点设备的路由路径之前,在组网阶段接收同一组网内其他节点设备广播的第一广播信令帧,所述广播信令帧包括所述其他节点设备到目标节点的路径信息;
形成模块,用于将所述其他节点设备增加到所述路径信息中,形成所述本地路由表;
处理模块,用于生成并广播第二广播信令帧,所述第二广播信令帧包括所述本地路由表信息。
第五方面,提供一种数据业务数据发送系统,包括:
第一对讲机和第二对讲机;其中,所述第一对讲机为转发节点设备,所述第二对讲机为起始节点设备;所述转发节点设备执行如上第一方面所述的方法,所述起始节点设备执行如上第二方面所述的方法。
第六方面,提供一种对讲机,包括:处理器、存储器和通信总线,其中,处理器和存储器通过通信总线完成相互间的通信;
所述存储器,用于存储计算机程序;
所述处理器,用于执行所述存储器中所存储的程序,实现第一方面或第二方面所述的方法。
第七方面,提供一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时实现第一方面或第二方面所述的方法。
本公开实施例提供的上述技术方案与现有技术相比具有如下优点:本公开实施例提供的该方法,接收同一组网内其他节点设备发送的数据业务相关的目标数据;获取目标数据中路由路径字段中的路由路径;当基于路由路径确定转发节点设备满足转发条件时,将目标数据中的源地址字段中的地址设置为转发节点设备的地址,得到更新后的目标数据;在控制信道上发送更新后的目标数据。由于目标数据中携带起始节点设备到目标节点设备的路由路径,即转发路径,因此各节点设备在收到目标数据后,便可根据目标数据中的路由路径判断是否需要转发数据,数据转发按照起始节点设备到目标节点设备的路由路径进行传输,无需返回应答响应,从而大大降低了转发数据业务出现的延时,并且省去了请求应答流程,去除了链路中某节点因接收不到转发请求或应答导致的链路建立失败的不稳定因素,大大提高了链路建立的成功率。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本公开实施例中数据业务数据发送方法的一种流程示意图;
图2为本公开实施例中数据业务数据发送方法的又一种流程示意图;
图3为本公开实施例中所示的数据业务多跳转发的示意图;
图4为本公开实施例中第一对讲机的结构示意图;
图5为本公开实施例中第二对讲机的结构示意图;
图6为本公开实施例中数据业务数据发送系统的结构示意图;
图7为本公开实施例中对讲机的结构示意图。
具体实施方式
为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本公开的一部分实施例,而不是全部的实施例。基于本公开中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本公开保护的范围。
需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
本公开中所指的组网包括但不限于自组网,自组网包括但不限于窄带通信自组网,该窄带自组网的组网方式包括但不限于在直通模式下实现组网。
本公开实施例第一方面提供一种数据业务数据发送方法,该方法可应用于自组网中的转发节点设备,该转发节点设备可以为自组网中能够实现数据转发的任一节点设备;应用中,节点设备包括但不限于对讲机。
如图1所示,该方法可以包括以下步骤:
步骤101、接收同一组网内其他节点设备发送的数据业务相关的目标数据;目标数据包括源地址字段、路由路径字段以及与起始节点设备相关的数据业务数据字段;其中,源地址字段用于标识发送目标数据的节点设备的地址,路由路径字段用于标识起始节点设备到目标节点设备的路由路径。
本实施例中,数据业务包括但不限于位置信息业务、短消息业务或短数据业务等协议规定的业务。所指的协议包括但不限于DMR(Digital Mobile Radio,数字移动无线电)协议、PDT(Police Digital Trunking,警用数字集群)协议。这里的目标数据可以为短数据。比如,可以设置小于一定字符的数据为目标数据。更具体的,目标数据的数据为包括源地址字段、路由路径字段的Defined短消息,Undefined短消息,Raw短消息,状态短消息,短数据,UDT(统一数据传输,Unified Data Transport)或IP短消息等DMR协议规定的多种数据类型。其他节点设备可以为起始节点设备,也可以为路由路径中某一转发节点设备。
步骤102、获取目标数据中路由路径字段中的路由路径。
本实施例中,路由路径指示数据业务相关的数据的转发路径。应理解,路由路径可以由起始节点设备从本地路由表中获取。
本实施例中,基于节点设备的工作状态不同,设置携带路由路径的帧的帧类型不同。比如,当节点设备处于低功耗状态或扫描状态时,设置由数据中的控制帧携带路由路径;当节点设备处于非低功耗状态且非扫描状态时,设置由数据中的数据帧或控制帧携带路由路径,具体实现时,可设定节点设备处于非低功耗状态且非扫描状态时,设置由数据中的控制帧携带路由路径,在另一种实施方式中,可设定节点设备处于非低功耗状态且非扫描状态时,设置由数据中的数据帧携带路由路径,即具体实现时,在不同工作状态下,携带路由路径的帧类型是预先设定的,是确定的。因此转发节点设备可以基于自身的工作状态获取目标数据中的路由路径字段中的路由路径。需要说明的是,转发节点设备与其他节点设备的工作状态是相同的,因而转发节点设备可以通过检测自身的工作状态去判断其他节点设备的工作状态,以获知由其他节点设备发送的目标数据中的路由路径所在的帧。
一个可选实施例中,获取转发节点的工作状态;基于工作状态,确定目标数据中携带路由路径的帧类型;基于帧类型从目标数据中获取路由路径。
本实施例中,帧类型包括控制帧或数据帧等,因此可以从控制帧中获取路由路径,或,从数据帧中获取路由路径。
在具体应用中,在传输目标数据为GPS短消息时,控制帧可以为PRE_CSBK等,数据帧可以为DATA_HEADER、DATA_BLOCK或DATA_LASTBLOCK等。
在一种可选的实施方式中,基于工作状态,确定目标数据中路由路径字段所在帧的帧类型,包括:在处于低功耗状态或扫描状态时,确定目标数据中路由路径字段所在帧的帧类型为控制帧;在处于非低功耗状态且非扫描状态时,确定目标数据中路由路径字段所在帧的帧类型为数据帧或控制帧。
步骤103、当基于路由路径确定转发节点设备满足转发条件时,将目标数据中的源地址字段中的地址设置为转发节点设备的地址,得到更新后的目标数据。
应当理解的是,当基于路由路径确定转发节点设备不满足转发条件时,转发节点设备不对目标数据进行处理。
转发节点设备将目标数据中的源地址字段中的地址更新为转发节点设备的地址后得到更新后的目标数,更新后的目标数据中的源地址字段标识发送目标数据的节点设备为该转发节点设备,以便下一节点设备在接收到目标数据后能判断该转发节点设备是否为其上一跳节点设备。
应用中,各节点设备按照路由路径依次转发数据,因此基于路由路径确定目标数据来自于转发节点的上一跳节点设备时,确定转发节点设备满足转发条件。
本实施例中,根据路由路径的实现形式不同,给出以下判定目标数据是否来自转发节点设备的上一跳节点设备。
一个可选实施例中,目标数据中包括源地址字段,因此当确定目标数据中源地址字段中的地址与转发节点设备的地址在路由路径中相邻时,确定目标数据来自于转发节点设备的上一跳节点设备。
应理解,上一跳节点设备可以是其他转发节点设备也可以是起始节点设备,基于上一跳节点设备具体实现的不同,本实施例提供以下判定目标数据中的源地址字段中的地址与转发节点设备的地址在路由路径中是否相邻的方式。
一个可选实施例中,判断路由路径中是否存在目标数据中源地址字段中的地址对应的转发次序;若存在,当确定转发节点设备的转发次序比目标数据中源地址字段中的地址对应的转发次序相差最小次序转发间隔时,确定目标数据中源地址字段中的地址与转发节点设备的地址在路由路径中相邻;若不存在,当确定目标数据中源地址字段中的地址与路由路径中的起始节点设备的地址相同,且转发节点设备在路由路径中的转发次序为第一时,确定目标数据中源地址字段中的地址与转发节点设备的地址在路由路径中相邻。应当理解的是,当路由路径字段中仅包括各节点设备的地址时,可以通过自定义各地址在路由路径字段中的位置以指示对应地址的转发次序,如定义在路由路径字段中第一个出现的地址为第一跳节点,第二个出现的地址为第二跳节点,依次类推,因而可以通过判断某地址在路由路径字段中出现的位置确定对应的转发次序。
应用中,最小次序转发间隔可以人为预先设置,比如设置最小次序转发间隔为1,本实施例对此不作具体限定。
步骤104、在控制信道上发送更新后的目标数据。
本实施例提供的技术方案中,接收同一组网内其他节点设备发送的数据业务相关的目标数据;获取目标数据中路由路径字段中的路由路径;当基于路由路径确定转发节点设备满足转发条件时,将目标数据中的源地址字段中的地址设置为转发节点设备的地址,得到更新后的目标数据;在控制信道上发送更新后的目标数据。由于目标数据中携带起始节点设备到目标节点设备的路由路径,即转发路径,因此各节点设备在收到目标数据后,便可根据目标数据中的路由路径判断是否需要转发数据,数据转发按照起始节点设备到目标节点设备的路由路径进行传输,无需返回应答响应,从而大大降低了转发数据业务出现的延时,并且省去了请求应答流程,去除了链路中某节点因接收不到转发请求或应答导致的链路建立失败的不稳定因素,大大提高了链路建立的成功率。
基于相同的发明构思,本公开实施例第二方面提供一种数据业务数据发送方法,该方法可应用于起始节点设备;如图2所示,该方法可包括以下步骤:
步骤201、在获取需要向同一组网内的目标节点设备发送的数据业务相关的数据时,从本地路由表中获取起始节点设备到目标节点设备的路由路径;数据业务相关的数据包括与起始节点设备相关的数据业务数据。
应用中,数据业务包括但不限于位置信息业务、短消息业务或短数据业务等协议规定的业务。所指的协议包括但不限于DMR(Digital Mobile Radio,数字移动无线电)协议、PDT(Police Digital Trunking,警用数字集群)协议。
这里的目标数据可以为短数据。比如,可以设置小于一定量字符的数据为目标数据。更具体的,目标数据的数据为包括源地址字段、路由路径字段的Defined短消息,Undefined短消息,Raw短消息,状态短消息,短数据,UDT(统一数据传输,Unified DataTransport)或IP短消息等DMR协议规定的多种数据类型。
本实施例中,本地路由表中的路由路径可以从建立自组网阶段的组网结果中获取。
一个可选实施例中,起始节点设备在组网阶段接收同一组网内其他节点设备广播的第一广播信令帧,广播信令帧包括其他节点设备到目标节点的路径信息;将其他节点设备增加到路径信息中,形成本地路由表;生成并广播第二广播信令帧,第二广播信令帧包括本地路由表信息。优选的,广播信令帧中的路径信息为节点设备到目标节点设备跳数最短、信号最强、状态最稳定的路径。
步骤202、将起始节点设备的地址、数据业务相关的数据及路由路径分别填充到源地址字段、数据业务数据字段及路由路径字段中,得到目标数据;源地址字段用于标识发送目标数据的节点设备的地址。
本实施例中,基于起始节点设备的工作状态的不同,填充路由路径、业务数据以及源地址的帧类型不同。
一个可选实施例中,获取起始节点设备的工作状态;基于工作状态,确定路由路径字段所在帧的帧类型。
相应地,将路由路径填充到路由路径字段中,具体为:在对应帧类型的帧中的路由路径字段填充路由路径。
应用中,帧类型可以包括控制帧或数据帧等。在一种具体的实施方式中,当起始节点设备处于低功耗状态或扫描状态时,确定目标数据中路由路径字段所在帧的帧类型可设置为控制帧;在处于非低功耗状态或非扫描状态时,确定目标数据中路由路径字段所在帧的帧类型可设置为数据帧或为控制帧。需要说明的是,起始节点设备与其他节点设备的工作状态是相同的,以便其他节点设备可以通过检测自身的工作状态去判断其他节点设备的工作状态,以获知由其他节点设备发送的目标数据中的路由路径所在的帧。
本实施例中,为了减少信令碰撞,路由路径中包括各转发节点设备的节点地址和各转发节点的转发次序;同时,为了使目标节点设备明确发送数据的起始节点设备,路由路径中还包括起始节点设备的地址,因此在向路由路径字段中填充路由路径时,将起始节点设备的地址填充至起始节点设备地址字段中,并按照转发次序,将各转发节点设备的地址填充至转发节点地址字段中。
一个可选实施例中,路由路径字段包括起始节点设备地址字段及至少一个转发节点地址字段;获取路由路径中各转发节点设备的节点地址、各转发节点的转发次序和起始节点设备的地址;将起始节点设备的地址填充至起始节点设备地址字段中,并按照转发次序,将各转发节点设备的地址填充至转发节点地址字段中。
本实施例中,为了使接收到目标数据的节点设备明确接收的目标数据来自哪个节点设备,还在目标数据中设置源地址字段,源地址字段用于标识发送控制信令的节点设备的地址。可以理解的是,目标数据中的源地址字段为起始节点设备的地址,当其他节点设备接收到目标数据时,可以通过源地址字段获知发送目标数据的节点设备为起始节点设备。
步骤203、在控制信道上发送目标数据,以使转发节点设备在基于路由路径确定转发节点设备满足转发目标数据的条件时,更新目标数据中源地址字段中的地址为转发节点设备的地址并发送更新后的目标数据。
应当理解的是,转发节点设备在基于路由路径确定转发节点设备不满足转发目标数据的条件时,不对目标数据进行处理。
一个例子中,以图3所示的数据业务多跳转发的示意图为例,参见图3中各节点设备的位置,以组网节点设备在直通模式下广播广播信令帧的次序为A→E→F→G→H→I为例对组网过程进行具体说明,其中A为主控节点设备。节点设备A到F在直通模式下组网,通过按序发送广播信令帧的方式实现组网,其中广播信令帧中包括路由表字段,路由表字段包括源地址字段、第一跳到第四跳节点设备地址字段以及目的地址字段,具体见表一。
表一
A发送的广播信令帧中源地址为A,第一跳到第四跳节点设备地址字段中均没有地址,目的地址为A;
E收到A的广播信令帧后,知道A是主控节点(方案中默认主控节点是第一个发起广播的节点,所有非主控节点发送的信息默认都是发送至主控节点),则E为第一跳,并形成E的本地路由表(目的地址为A);则E广播的广播信令帧中,源地址为E,第一跳到第四跳节点设备地址字段中均没有地址,目的地址为A;
F接收到E发送的广播信令帧后,知道第一跳节点设备为E,目的地址(主控节点)为A,则F为第二跳,并形成F的本地路由表(目的地址为A,第一跳节点设备为E);则F广播的广播信令帧中,源地址为F,第一跳地址为E,第二跳到第四跳节点设备地址字段中均没有地址,目的地址为A;G接收F发送的广播信令帧后,按照以上方法处理,形成G的本地路由表(目的地址为A,第一跳节点设备为E,第二跳节点设备为F),依此方法进行下去,可以得知I的本地路由表为目的地址为A,第一跳节点设备为E,第二跳节点设备为F,第三跳节点设备为G,第四跳节点设备为H。
因此,E知道自己到达A的路径为E→A;F知道自己到达A的路径为:F→E→A;G知道自己到达A的路径为:G→F→E→A;H知道自己到达A的路径为:H→G→F→E→A;I知道自己到达A的路径为:I→H→G→F→E→A。
通过以上方式,当所有节点设备在各自的广播时间上发送广播信令帧后,节点设备通过接收其他节点设备发送的广播信令帧能获知该节点设备到达主控节点设备的路径,完成组网。需要说明的是,可以在间隔一定时间后所有节点设备再次进行组网,以实现周期性地更新组网,提高节点设备中的本地路由表的有效性,当节点设备位置发生变化时及时更新各节点设备的本地路由表。
为了方便理解,以图3所示的数据业务多跳转发的示意图为例,其中,数据业务具体为GPS短消息业务,具体为利用GPS短消息帧中的控制帧PRE_CSBK传输路由信息。图3中,A/C/D/E/F/G/H/I节点代表多个对讲机某一时刻下的相对位置,A/C/D/E/F/G/H/I节点的位置随着用户的移动不断变化。此时刻下,A/C/D/E/F/G/H/I节点已通过广播广播信令帧的方式已成功构建自组网网络拓扑,也就是组网成功,并具有了路由信息。
在图3中,发送数据业务数据的起始节点设备为节点I,根据节点I的本地路由表,转发节点设备依次为H/G/F/E,目标节点设备为节点A,即路由路径为I→H→G→F→E→A。
由节点I发送的目标数据(GPS短消息中的PRE_CSBK帧)包括如表二所示的内容。
表二
其中,Start Address为起始节点设备I的地址,Source为当前发送目标数据的节点设备(即起始节点设备I)的地址,Jump one为路由路径字段中第一跳节点设备的地址,Jump two为路由路径字段中第二跳节点设备的地址,Jump three为路由路径字段中第三跳节点设备的地址,Jump four为路由路径字段中第四跳节点设备的地址。
这里的第一跳、第二跳、第三跳以及第四跳即为各转发节点设备的转发次序。
基于图3所示的示例图,以目标数据为GPS短消息为例,节点I/H/G/F/E/A之间的信令交互如下所示。
1、I要向A发送GPS短消息时,查找本地路由表是要经过四转五跳到节点A,生成并发送一帧PRE_CSBK,该PRE_CSBK帧包括表二中的内容,后续依次发送DATAHEADER+DATABLOCK;
2、H收全I发送的PRE_CSBK+DATAHEADER+DATABLOCK之后,根据PRE_CSBK的路由信息,查询本节点在路由表中,并且是第一跳,起始节点是I,则判定为满足转发条件,对PRE_CSBK进行重新编帧,源地址记为H,其它不变,得到更新后的目标数据(PRE_CSBK+DATAHEADER+DATABLOCK)。在控制信道上依次发送PRE_CSBK、DATAHEADER和DATABLOCK;
3、G收到H的GPS短消息之后查询本节点在路由表中,并且是第二跳,第一跳是E,也就是本节点和上一节点在路由表中是紧挨着的,则判定为满足转发条件,则D进行GPS短消息的转发。将PRE_CSBK的源地址改为D,其它不变。后续节点F和E依次转发GPS短消息。
4、A收到E转发的GPS短消息,判断上一节点为最终转发节点,则进行接收。并从Start Address中解出源地址I,进行源地址位置的显示。
可以理解的是,上述具体实施方案中示例的是采用控制帧PRE_CSBK携带路由路径信息,在不同的工作状态下,也可以根据设定采用DATAHEADER、DATABLOCK等数据帧携带路由路径信息。
基于同一构思,本公开实施例第三方面提供了一种第一对讲机,该第一对讲机为转发节点设备,该第一对讲机的具体实施可参见方法实施例部分的描述,重复之处不再赘述,如图4所示,该第一对讲机主要包括:
第一接收模块401,用于接收同一组网内其他节点设备发送的数据业务相关的目标数据;目标数据包括源地址字段、路由路径字段以及与起始节点设备相关的数据业务数据字段;其中,源地址字段用于标识发送目标数据的节点设备的地址,路由路径字段用于标识起始节点设备到目标节点设备的路由路径;
第一获取模块402,用于获取目标数据中路由路径字段中的路由路径;
更新模块403,用于当基于路由路径确定转发节点设备满足转发目标数据的条件时,将目标数据中的源地址字段中的地址设置为转发节点设备的地址,得到更新后的目标数据;
转发模块404,用于在转发节点设备的控制信道发送更新后的目标数据。
在一种可选的实施方式中,更新模块包括:
第一确定子模块,用于当基于路由路径确定目标数据来自于转发节点设备的上一跳节点设备时,确定转发节点设备满足转发条件。
即基于路由路径确定转发节点设备满足转发条件,包括:
当基于路由路径确定目标数据来自于转发节点设备的上一跳节点设备时,确定转发节点设备满足转发条件。
在一种可选的实施方式中,第一确定子模块包括:
第一确定单元,用于当确定目标数据中源地址字段中的地址与转发节点设备的地址在路由路径中相邻时,确定目标数据来自于转发节点设备的上一跳节点设备。
即基于路由路径确定目标数据来自于转发节点设备的上一跳节点设备,包括:
当确定目标数据中源地址字段中的地址与转发节点设备的地址在路由路径中相邻时,确定目标数据来自于转发节点设备的上一跳节点设备。
在一种可选的实施方式中,第一确定单元包括:
判断子单元,用于判断路由路径中是否存在目标数据中源地址字段中的地址对应的转发次序;
第一确定子单元,用于若判断子单元确定路由路径中存在目标数据中源地址字段中的地址对应的转发次序,当确定转发节点设备的转发次序比目标数据中源地址字段中的地址对应的转发次序相差最小次序转发间隔时,确定目标数据中源地址字段中的地址与转发节点设备的地址在路由路径中相邻;
第二确定子单元,用于若判断子单元确定路由路径中不存在目标数据中源地址字段中的地址对应的转发次序,当确定目标数据中源地址字段中的地址与路由路径中的起始节点设备的地址相同,且转发节点设备在路由路径中的转发次序为第一时,确定目标数据中源地址字段中的地址与转发节点设备的地址在路由路径中相邻。
即确定目标数据中源地址字段中的地址与转发节点设备的地址在路由路径中相邻,包括:
判断路由路径中是否存在目标数据中源地址字段中的地址对应的转发次序;
若存在,当确定转发节点设备的转发次序比目标数据中源地址字段中的地址对应的转发次序相差最小次序转发间隔时,确定目标数据中源地址字段中的地址与转发节点设备的地址在路由路径中相邻;
若不存在,当确定目标数据中源地址字段中的地址与路由路径中的起始节点设备的地址相同,且转发节点设备在路由路径中的转发次序为第一时,确定目标数据中源地址字段中的地址与转发节点设备的地址在路由路径中相邻。
在一种可选的实施方式中,第一获取模块包括:
第一获取子模块,用于获取转发节点设备的工作状态;
第二确定子模块,用于基于工作状态,确定目标数据中路由路径字段所在帧的帧类型;
第二获取子模块,用于从目标数据对应帧类型的帧的路由路径字段中获取路由路径。
即获取目标数据中路由路径字段中的路由路径,包括:
获取转发节点设备的工作状态;
基于工作状态,确定目标数据中路由路径字段所在帧的帧类型;
从目标数据对应帧类型的帧的路由路径字段中获取路由路径。
在一种可选的实施方式中,帧类型包括控制帧或数据帧等。
在一种可选的实施方式中,第二确定子模块包括:
第二确定单元,用于在处于低功耗状态或扫描状态时,确定目标数据中路由路径字段所在帧的帧类型可设置为控制帧;
第三确定单元,用于在处于非低功耗状态且非扫描状态时,确定目标数据中路由路径字段所在帧的帧类型可设置为数据帧或为控制帧。
在一种可选的实施方式中,数据业务为位置信息业务、短消息业务或短数据业务等协议规定的业务。所指的协议包括但不限于DMR(Digital Mobile Radio,数字移动无线电)协议、PDT(Police Digital Trunking,警用数字集群)协议。
在一种可选的实施方式中,路由路径为起始节点设备从本地路由表中获取。
基于同一构思,本公开实施例第四方面提供了一种第二对讲机,该第二对讲机为起始节点设备,该第二对讲机的具体实施可参见方法实施例部分的描述,重复之处不再赘述,如图5所示,该第二对讲机主要包括:
第二获取模块501,用于在获取需要向同一组网内的目标节点设备发送的数据业务相关的数据时,从本地路由表中获取起始节点设备到目标节点设备的路由路径;数据业务相关的数据包括与起始节点设备相关的数据业务数据;
填充模块502,用于将起始节点设备的地址、数据业务相关的数据及路由路径分别填充到源地址字段、数据业务数据字段及路由路径字段中,得到目标数据;源地址字段用于标识发送目标数据的节点设备的地址;
发送模块503,用于在起始节点设备的控制信道发送目标数据,以使转发节点设备在基于路由路径确定转发节点设备满足转发目标数据的条件时,更新目标数据中源地址字段中的地址为转发节点设备的地址并发送更新后的目标数据。
在一种可选的实施方式中,第二对讲机还包括:
第三获取模块504,用于在将起始节点设备的地址、数据业务相关的数据及路由路径分别填充到源地址字段、数据业务数据字段及路由路径字段中,得到目标数据之前,获取起始节点设备的工作状态;
确定模块505,基于工作状态,确定路由路径字段所在帧的帧类型;
填充模块502包括:
填充子模块,用于在对应帧类型的帧中的路由路径字段填充路由路径。
即在将起始节点设备的地址、数据业务相关的数据及路由路径分别填充到源地址字段、数据业务数据字段及路由路径字段中,得到目标数据之前,还包括:
获取起始节点设备的工作状态;
基于工作状态,确定路由路径字段所在帧的帧类型;
将路由路径填充到路由路径字段中,具体为:在对应帧类型的帧中的路由路径字段填充路由路径。
在一种可选的实施方式中,帧类型包括控制帧或数据帧等。
在一种可选的实施方式中,确定模块505包括:
第三确定子模块,用于在处于低功耗状态或扫描状态时,确定目标数据中路由路径字段所在帧的帧类型可设置为控制帧;
第四确定子模块,用于在处于非低功耗状态且非扫描状态时,确定目标数据中路由路径字段所在帧的帧类型可设置为数据帧或为控制帧。
在一种可选的实施方式中,路由路径字段包括起始节点设备地址字段及至少一个转发节点地址字段;
填充子模块包括:
获取单元,用于获取路由路径中各转发节点设备的节点地址、各转发节点的转发次序和起始节点设备的地址;
填充单元,用于将起始节点设备的地址填充至起始节点设备地址字段中,并按照转发次序,将各转发节点设备的地址填充至转发节点地址字段中。
即路由路径字段包括起始节点设备地址字段及至少一个转发节点地址字段;
将路由路径填充到路由路径字段中,包括:
获取路由路径中各转发节点设备的节点地址、各转发节点的转发次序和起始节点设备的地址;
将起始节点设备的地址填充至起始节点设备地址字段中,并按照转发次序,将各转发节点设备的地址填充至转发节点地址字段中。
在一种可选的实施方式中,数据业务为位置信息业务、短消息业务或短数据业务等协议规定的业务。所指的协议包括但不限于DMR(Digital Mobile Radio,数字移动无线电)协议、PDT(Police Digital Trunking,警用数字集群)协议。
在一种可选的实施方式中,第二对讲机还包括:
第二接收模块506,用于在从本地路由表中获取起始节点设备到目标节点设备的路由路径之前,在组网阶段接收同一组网内其他节点设备广播的第一广播信令帧,广播信令帧包括其他节点设备到目标节点的路径信息;
形成模块507,用于将其他节点设备增加到路径信息中,形成本地路由表;
处理模块508,用于生成并广播第二广播信令帧,第二广播信令帧包括本地路由表信息。
基于同一构思,本公开实施例第五方面提供了一种数据业务数据发送系统,如图6所示,该系统主要包括:
第一对讲机601和第二对讲机602;其中,第一对讲机为转发节点设备,第二对讲机为起始节点设备;转发节点设备执行如上第一方面的方法,起始节点设备执行如上第二方面的方法。
基于同一构思,本公开实施例第六方面提供了一种对讲机,如图7所示,该对讲机主要包括:处理器701、存储器702和通信总线703,其中,处理器701和存储器702通过通信总线703完成相互间的通信。其中,存储器702中存储有可被处理器701执行的程序,处理器701执行存储器702中存储的程序,实现如下步骤:
接收同一组网内其他节点设备发送的数据业务相关的目标数据;目标数据包括源地址字段、路由路径字段以及与起始节点设备相关的数据业务数据字段;其中,源地址字段用于标识发送目标数据的节点设备的地址,路由路径字段用于标识起始节点设备到目标节点设备的路由路径;获取目标数据中路由路径字段中的路由路径;当基于路由路径确定转发节点设备满足转发条件时,将目标数据中的源地址字段中的地址设置为转发节点设备的地址,得到更新后的目标数据;在控制信道上发送更新后的目标数据;
或,
在获取需要向同一组网内的目标节点设备发送的数据业务相关的数据时,从本地路由表中获取起始节点设备到目标节点设备的路由路径;数据业务相关的数据包括与起始节点设备相关的数据业务数据;将起始节点设备的地址、数据业务相关的数据及路由路径分别填充到源地址字段、数据业务数据字段及路由路径字段中,得到目标数据;源地址字段用于标识发送目标数据的节点设备的地址;在控制信道上发送目标数据,以使转发节点设备在基于路由路径确定转发节点设备满足转发条件时,更新目标数据中源地址字段中的地址为转发节点设备的地址并发送更新后的目标数据。
上述对讲机中提到的通信总线703可以是外设部件互连标准(PeripheralComponent Interconnect,简称PCI)总线或扩展工业标准结构(Extended IndustryStandard Architecture,简称EISA)总线等。该通信总线703可以分为地址总线、数据总线、控制总线等。为便于表示,图7中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
存储器702可以包括随机存取存储器(Random Access Memory,简称RAM),也可以包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。可选地,存储器还可以是至少一个位于远离前述处理器701的存储装置。
上述的处理器701可以是通用处理器,包括中央处理器(Central ProcessingUnit,简称CPU)、网络处理器(Network Processor,简称NP)等,还可以是数字信号处理器(Digital Signal Processing,简称DSP)、专用集成电路(Application SpecificIntegrated Circuit,简称ASIC)、现场可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
第七方面,在本公开的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,当该计算机程序在计算机上运行时,使得计算机执行上述实施例中所描述的数据业务数据发送方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。该计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行该计算机指令时,全部或部分地产生按照本公开实施例所述的流程或功能。该计算机可以时通用计算机、专用计算机、计算机网络或者其他可编程装置。该计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,计算机指令从一个网站站点、计算机、服务器或者数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、微波等)方式向另外一个网站站点、计算机、服务器或数据中心进行传输。该计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。该可用介质可以是磁性介质(例如软盘、硬盘、磁带等)、光介质(例如DVD)或者半导体介质(例如固态硬盘)等。
需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅是本发明的具体实施方式,使本领域技术人员能够理解或实现本发明。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
- 数据业务数据发送方法、对讲机、系统及存储介质
- 数据业务的解析、发送方法、电子设备以及存储介质