掌桥专利:专业的专利平台
掌桥专利
首页

数据通信方法、设备、通信系统及存储介质

文献发布时间:2023-06-19 16:04:54



技术领域

本发明涉及通信技术领域,具体涉及一种数据通信方法、设备、通信系统及存储介质。

背景技术

目前,分布式基站系统中,DU-RU之间远程调用使用的是NETCONF(NetworkConfiguration Protocol)协议,其一共分为4层:安全传输层(Secure Transport Layer),消息层(Message Layer),操作层(Operations)和内容(Content)层,除开安全传输层,其它三层均是NETCONF协议的消息部分,是远程调用消息的载体,消息使用XML(ExtensibleMarkup Language,可扩展标记语言)格式,典型的消息如下:

现有技术中由NETCONF协议所定义的消息在传输中存在以下技术问题:

1.从消息内容来讲,XML消息具备很强的表达能力,基本适用于任何场景,但由于XML消息格式本身的原因(标记需要成对出现),该消息中必然存在大量的冗余字符,导致报文较长,从而增大上述消息传递所消耗的网络资源。

2.从传输模式来讲,发送端需要把XML消息全部组装完整后才可以进行发送,同样的,接收端需要接收到完整的报文后才可以进行解析,造成接收端不得不等待一段时间(因为XML消息无法在收到第一个标记后立刻做解析,这是由于XML消息本身的性质导致的),从而导致接收端计算能力的闲置。

3.从实现上来讲,由于需要保障XML消息的完整性,故需要在XML消息的起始或末尾增加额外的标识信息,在一些比较重要的场合,还会使用到校验码,这一方面会再次增加XML报文的冗余,另一方面,如果使用检验码,还会额外消耗发送端和接收端的计算能力。

4.从报文检错的实时性上讲,接收端从收到发送端的第一个标记开始,无法在第一时间开展检错行为(同样是由于XML消息本身的性质导致的),检错延后的结果也会导致消耗不必要的网络资源。

因此,需要对上述现有技术中存在的技术问题提出改进。

发明内容

针对以上现有技术的缺陷,本发明提供了一种数据通信方法、设备、通信系统及存储介质,用以提升源端设备和目的端设备之间远程调用效率以及提升源端设备和目的端设备之间报文传输的检错效率。

为实现上述目的,本发明的实施例提供了一种数据通信方法,所述方法包括:源端设备根据预设的第一消息节点表构造目标报文,并将所述目标报文发送至目的端设备;所述目的端设备基于预设的第二消息节点表解析所述目标报文并执行所述目标报文所指示的动作;其中,所述第一消息节点表和所述第二消息节点表定义至少一个消息节点,每个消息节点是具有标识及参数信息的数据结构,并且所述目标报文由连续字符串构成,所述连续字符串携载至少一个消息节点对应的标识及参数信息。

本发明的实施例还提供了一种通信源端设备,包括:报文构造单元,用于根据预设的消息节点表构造目标报文,其中,所述消息节点表定义至少一个消息节点,每个消息节点是具有标识及参数信息的数据结构,并且所述目标报文由连续字符串构成,所述连续字符串携载至少一个消息节点对应的标识及参数信息;报文发送单元,用于将所述目标报文发送至目的端设备,以触发所述目的端设备执行所述目标报文所指示的动作。

本发明的实施例还提供了一种通信目的端设备,包括:报文接收及解析单元,用于接收来自源端设备的连续字符串形式的目标报文,并基于预设的消息节点表解析所述目标报文携载的所述消息节点表中的至少一个消息节点对应的标识及参数信息,以执行所述至少一个消息节点所指示的动作;响应发送单元,用于在处理完成所述目标报文之后基于所述消息节点表生成响应报文,并将所述响应报文传送回所述源端设备。

本发明的实施例还提供了一种通信系统,所述通信系统包括任一实施例所述的通信源端设备和任一实施例所述的通信目的端设备。

本发明的实施例还提供了一种数据通信方法,用于通信源端设备,所述方法包括:根据预设的消息节点表构造目标报文,其中,所述消息节点表定义至少一个消息节点,每个消息节点是具有标识及参数信息的数据结构,并且所述目标报文由连续字符串构成,所述连续字符串携载至少一个消息节点对应的标识及参数信息;将所述目标报文发送至目的端设备,以触发所述目的端设备执行所述目标报文所指示的动作。

本发明的实施例还提供了一种数据通信方法,用于通信目的端设备,所述方法包括:接收来自源端设备的连续字符串形式的目标报文,并基于预设的消息节点表解析所述目标报文携载的所述消息节点表中的至少一个消息节点对应的标识及参数信息,以执行所述至少一个消息节点所指示的动作;在处理完成所述目标报文之后基于所述消息节点表生成响应报文,并将所述响应报文传送回所述源端设备。

在本发明提供的数据通信方法、设备、通信系统及存储介质,其中,所述方法包括:源端设备根据预设的第一消息节点表构造目标报文,并将所述目标报文发送至目的端设备,所述目的端设备基于预设的第二消息节点表解析所述目标报文并执行所述目标报文所指示的动作。能够提高远程调用传输消息中的冗余字符,以及减少接收端的等待时间并提高了接收端对消息处理的效率,另外,可以减少远程调用传输消息的过程中用于保障消息完整性的冗余信息,提升传输消息及报文的检错效率;同时能够支持碎片化发送,使得在消息层面精准的控制通信流量。

附图说明

下面结合附图,通过对本发明的具体实施方式详细描述,将使本发明的技术方案及其它有益效果显而易见。

图1示出了根据本发明实施例所提供的通信系统的示意图。

图2示出了根据本发明的实施例所提供的数据通信方法的流程示意图。

图3示出了根据本发明的又一实施例所提供的数据通信方法的流程示意图。

图4示出了根据本发明实施例提供的一种通信源端设备的结构框图。

图5示出了根据本发明实施例提供的一种通信目的端设备的结构框图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明的说明书和权利要求书以及附图中的术语“第一”“第二”“第三”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应当理解,这样描述的对象在适当情况下可以互换。在本发明的描述中,“多个”的含义是两个或两个以上,除非另有明确具体地限定。此外,术语“包括”和“具有”以及它们的任何变形,意图在于覆盖不排它的包含。附图中所示的一些方框图是功能实体,不一定必须与物理或逻辑上独立的实体相对应。可以采用软件形式来实现这些功能实体,或在一个或多个硬件电路或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微指示器装置中实现这些功能实体。

在本发明的描述中,需要说明的是,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接或可以相互通讯;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通或两个元件的相互作用关系。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。

为使本发明的目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。

NETCONF:NETCONF协议是互联网工程任务组IETF NETCONF工作组于2006年正式推出的全新的网络配置协议,在IETF请求意见稿(Request for comments)RFC6241中做了定义。该协议提供一套网络设备的管理机制,网络管理系统可以使用这套机制查询、增加、修改或删除网络设备的配置,获取网络设备的配置数据和状态信息。

图1示出了本发明实施例提供的一种通信系统的架构图。

参考图1,本发明实施例提供的通信系统可以包括源端设备10和目的端设备11,源端设备10和目的端设备11通信。

示例性地,在本发明的实施例中,所述源端设备10为客户端设备,所述目的端设备11为服务端设备,客户端设备和服务端设备通信。其中,在本发明的实施例中,所述源端设备是所述分布式基站系统中部署了支持NETCONF协议的主机单元(BBU/DU),所述目的端设备是分布式基站系统中部署了支持NETCONF协议的远端单元(RU)。当然,所述源端设备和所述目的端设备也可是支持同样的其他一种互连网协议(internet protocol,IP)网络设备。本发明实施例在此不做具体限定。

图2示出了根据本发明的实施例所提供的数据通信方法的流程示意图。本发明实施例提供的数据通信方法可以适用于分布式基站。

参考图2,本发明的实施例所提供的数据通信方法包括以下步骤:

步骤201,源端设备根据预设的第一消息节点表构造目标报文,并将所述目标报文发送至目的端设备;

步骤202,所述目的端设备基于预设的第二消息节点表解析所述目标报文并执行所述目标报文所指示的动作;

其中,所述第一消息节点表和所述第二消息节点表定义至少一个消息节点,每个消息节点是具有标识及参数信息的数据结构,并且所述目标报文由连续字符串构成,所述连续字符串携载至少一个消息节点对应的标识及参数信息。

可选地,所述第一消息节点表与所述第二消息节点表相同,或者所述第一消息节点表是所述第二消息节点表的子集。

以下对本申请涉及的术语进行解释:

1.消息节点

每个所述消息节点包括下列项:

序号,所述序号是用于唯一标识该消息节点的数字编号;

名称,所述名称是用于唯一标识该消息节点的字符串;

参数标识,所述参数标识用于指示该消息节点是否包含参数;

参数规则,所述参数规则是用于约束参数格式的正则表达式;

起始点标识,所述起始点标识用于指示该消息节点是否是所属报文的起始节点;

终结点标识,所述终结点标识用于指示该消息节点是否是所属报文的结束节点;

期待节点,所述期待节点用于指示该消息节点所期待的下面一个或者多个消息节点的序号;

调用方法,所述调用方法用于指示该消息节点调用的函数或者方法。

示例性地,上述消息节点是具备如下属性的数据结构,具体如下表1所示。

表1

2.消息节点表

消息节点表由若干消息节点组成的表格。具体如下表2所示。

表2

3.目标报文

目标报文是由一个或多个消息节点的【名称】,以及对应的参数(若消息节点中含有参数)组成的连续字符串,所述连续字符串所携载的至少一个消息节点对应的标识信息是所述至少一个消息节点各自的名称。

根据预设的第一消息节点表构造的目标报文符合以下规则:

S1、以一个第一字符开始;

S2、将与所述目标报文相关联的消息节点集合中的各个消息节点名称以一个第一字符来分隔;

S3、针对含有参数的消息节点,将所述参数紧跟在对应的消息节点的名称之后,并以一个第一字符来分隔;

S4、针对消息节点的名称或者消息节点的参数本身含有第一字符的消息节点,将该消息节点的名称或者参数置于第二字符和第三字符之间,其中,所述第二字符和所述第三字符构成字符对;

S5、针对消息节点中存在位于一对所述第二字符和所述第三字符之间的另一对所述第二字符和所述第三字符,使用第四符号进行转义。

示例性地,所述第一字符例如为空格符(SAPCE),所述第二字符和所述第三字符构成字符对例如为双引号(””),所述第四符号例如为转义符号(\)。关于上述第一字符~第四字符的符号,本申请在此不做具体限制,具体可以根据实际应用场景进行相应的调整。

需要说明的是,当目标报文是由多个消息节点组成时,多个消息节点中的各个消息节点是相互独立的,并且所述多个消息节点通过各个消息节点的【期待节点】参数对应串联。因此,上述目标报文支持碎片发送(碎片发送是指有多少消息节点就可以发多少,无需等待一个完整的消息,例如,一条消息由3个消息节点组成,发送时可以先发送一个消息节点,然后再发送剩下两个消息节点,而不是一次性就必须把3个消息节点都发送出来),而且接收端设备从接到第一个消息节点开始即可开展解析操作(解析的规则由消息节点表定义)。

同时,上述目标报文还包括用于指示上下文状态的消息模式参数、消息状态参数以及消息节点状态参数;其中,所述消息模式参数的值指示{引号}模式和{正常}模式之一;所述消息状态参数的值指示{残消息}状态和{新消息}状态之一;所述消息节点状态参数的值指示{参数}状态和{节点}状态之一。

进一步地,所述目的端设备基于所述预设的第二消息节点表解析所述目标报文并执行所述目标报文所指示的动作包括:所述目的端设备基于所述预设的第二消息节点表解析所述目标报文,以得到与所述目标报文相关联的所有消息节点的调用方法项所指示的函数或者方法以及与所述函数或者方法相关联的参数;使用所述参数调用所述函数或者方法以执行所述函数或者方法对应的动作。

应理解,{引号}模式是指示该目标报文当前的分隔符是引号,而{正常}模式是指示该目标报文当前的分隔符是空格。{残消息}状态是指示该目标报文当前尚未结束,接下来获取的消息节点仍然是属于当前目标报文的,而{新消息}是指示接下来获取的消息节点属于一条新的消息。{参数}状态是指示接下来获取的报文作为参数处理,需要使用参数规则验证其合法性,而{节点}状态是指示接下来获取的目标报文作为消息节点处理。

采用本发明所公开的技术方案能够提高远程调用传输消息中的冗余字符,以及减少接收端的等待时间并提高了接收端对消息处理的效率,另外,可以减少远程调用传输消息的过程中用于保障消息完整性的冗余信息,提升传输消息及报文的检错效率;同时能够支持碎片化发送,使得在消息层面精准的控制通信流量。

具体地,在本申请的实施例中,所述目的端设备基于所述预设的第二消息节点表解析所述目标报文并执行所述目标报文所指示的动作进一步包括:

所述目的端设备从接收到的所述目标报文中的第一个字符后开始以如下方式进行解析:

步骤1,设置消息模式为{引号},若是其它步骤跳转过来的,则返回原步骤;

步骤2,设置消息模式为{正常},若是其它步骤跳转过来的,则返回原步骤;

步骤3,设置消息状态为{残消息},若是其它步骤跳转过来的,则返回原步骤;

步骤4,设置消息状态为{新消息},若是其它步骤跳转过来的,则返回原步骤;

步骤5,设置消息节点状态为{参数},若是其它步骤跳转过来的,则返回原步骤;

步骤6,设置消息节点状态为{节点},若是其它步骤跳转过来的,则返回原步骤;

步骤7,查看接收消息节点的消息模式:

1)若消息模式为{正常},则遇到第一字符后,查看第一字符后的一个字符:

a.若是引号,设置消息模式为{引号},返回步骤7;

b.若不是引号,继续接收消息直到再次遇见第一字符;

2)若消息模式为{引号},则遇到引号后,查看引号前一个字符:

c.若是第四字符,忽略此引号,返回步骤7;

d.若不是第四字符,设置消息模式为{正常};

待消息接收完毕后,去掉第一字符或者引号,并把消息内容记为{MSG},然后跳转到步骤8;

步骤8,查看消息节点状态:

1)若为{节点},则跳转到步骤9;

2)若为{参数},则跳转到步骤14;

步骤9,在第二消息节点表中寻找【名称】与{MSG}相同的消息节点:

1)若找到,则记为{NODE},并记录{NODE}的序号,随后跳转到步骤10;

2)若未找到,则跳转到步骤99,然后跳转到步骤7;

步骤10,查看消息状态:

1)若为{新消息},则跳转到步骤11;

2)若为{残消息},则跳转到步骤12;

步骤11,查看{NODE}的【起始点标识】的值:

1)若为1,则跳转到步骤3,然后跳转到步骤13;

2)若为0,则跳转到步骤99,然后跳转到步骤7;

步骤12,查看{NODE}的【起始点标识】的值:

1)若为1,则跳转到步骤16,再跳转到步骤3,然后跳转到步骤7;

2)若为0,则跳转到步骤17;

步骤13,查看{NODE}的【参数标识】的值:

1)若为0,则跳转到步骤7;

2)若为1,则跳转到步骤5,然后跳转到步骤7;

步骤14,根据{NODE}的【参数规则】检查{MSG}:

1)若是有效参数,则跳转到步骤15;

2)若是无效参数,则跳转到步骤99,再跳转到步骤4,然后跳转到步骤7;

步骤15,查看{NODE}的【终结点标识】的值:

1)若为0,则跳转到步骤6,然后跳转到步骤7

2)若为1,则调用{NODE}的调用方法中指示的函数或方法,清空已经记录的消息节点序号,再跳转到步骤4,然后跳转到步骤7;

3)若为2,则跳转到步骤7;

步骤16,查看前一个消息节点的【终结点标识】的值:

1)若为2,则调用前一个消息节点的调用方法中指示的函数或方法,并清空已经记录的除该{NODE}自身的序号以外的其它消息节点序号,再跳转到步骤4,然后返回原步骤;

2)若为0,则跳转到步骤99,然后返回原步骤;

步骤17,查看{NODE}的【序号】:

1)若与上一个消息节点的期望节点序号相同,则跳转到步骤13;

2)若与上一个消息节点的期望节点序号不同,则先跳转到步骤99,再跳转到步骤4,然后跳转到步骤7;

步骤99,若剩余有尚未处理的消息节点,则丢弃尚未处理的消息节点,若有已经记录的消息节点序号,则清空已经记录的消息节点序号,然后返回原步骤。

示例性地,所述第一字符例如为空格符(SAPCE),所述第四符号例如为转义符号(\)。关于上述第一字符、第四字符的符号,本申请在此不做具体限制,具体可以根据实际应用场景进行相应的调整。

进一步地,如图3所述,目的端设备在处理完成一条所述目标报文之后,所述目的端设备生成响应报文,所述目的端设备向所述源端设备发送响应报文,其中,所述响应报文包括与所述第二消息节点表中的至少一个消息节点对应的标识及参数信息,所述源端设备接收该响应报文。

应理解,上述目的端设备返回响应报文的过程为上述发送消息、接收消息的逆过程,在此不再赘述。

具体地,关于基于上述第一消息节点表、第二消息节点表,发送、接收以及处理所述目标报文的方法及步骤具体包括以下示例:

示例一

预设的第一消息节点表定义如下:

在本实施例中,示例出的第一消息节点表仅含有一个消息节点,根据流体消息的定义,本例仅能生成1个流体消息,即:

[SPACE]show_eth_info

上述流体消息中的[SPACE]指代一个空格符,下同。

目的端设备在接收到上述1个流体消息后的处理流程如下:

1)设置消息状态为{新消息};

2)设置消息节点状态为{节点};

3)接收消息直到第一个空格符出现,去掉前后空格符后,得到消息内容是show_eth_info;

4)消息节点当前状态为{节点},因此查该消息节点表的【名称】列,寻找show_eth_info字符串,在本例中显然是可以查询到的,记为{show_eth_info};

5)查看上述消息节点表的【参数标识】,得知{show_eth_info}是不含参数的;

6)查看上述消息节点表的【起始点标识】,得知{show_eth_info}是起始节点;

7)查看上述消息节点表的【终结点标识】,得知{show_eth_info}是终结节点;

8)查看上述消息节点表的【调用方法】,调用do_show_eth_info方法;

9)目的端设备处理上述1个流体消息结束。

示例二

预设的第一消息节点表定义如下:

在本实施例中,示例出的第一消息节点表包含两个消息节点,并且【名称】为set的消息节点通过其【期待节点】指向了【名称】为ip_addr的消息节点,它们组成了一个消息节点集合,根据流体消息的定义,本实施例仅能生成1种流体消息,即:

[SPACE]set[SPACE]ip_addr[SPACE]192.168.0.100

需要说明的是,在本实施例的1条流体消息中,192.168.0.100是【名称】为ip_addr的参数,它需要满足正则表达式:

^((2(5[0-5]|[0-4]\d))|[0-1]?\d{1,2})(\.((2(5[0-5]|[0-4]\d))|[0-1]?\d{1,2})){3}$

其中,该正则表达式的含义是:从0.0.0.0到255.255.255.255(含两端)之间的任意IPv4地址。

目的端设备在接收到上述1个流体消息后的处理流程如下:

1)设置消息状态为{新消息};

2)设置消息节点状态为{节点};

3)接收消息直到第二个空格符出现,去掉前面的空格符后,得到消息内容是set;

4)消息节点当前状态为{节点},因此查消息表的【名称】列,寻找set字符串,在本实施例中显然是可以查询到的,记为{set};

5)查看上述消息节点表的【参数标识】,得知{set}是不含参数的;

6)查看上述消息节点表的【起始点标识】,得知{set}是起始节点;

7)查看上述消息节点表的【终结点标识】,得知{set}不是终结节点,设置消息状态为{残消息};

8)查看上述消息节点表的【期待节点】,得知{set}的期待节点是102,

9)接收消息直到第二个空格符出现,去掉前面的空格符后,得到消息内容是ip_addr;

10)由于该消息节点当前状态为{节点},因此查看上述消息节点表的【名称】列,寻找ip_addr字符串,在本实施例中显然是可以查询到的,记为{ip_addr};

11)查看上述消息节点表的【序号】,得知{ip_addr}序号是102,符合{set}的期待节点;

12)查看上述消息节点表的【参数标识】,得知{ip_addr}是含参数的,故设置该消息节点状态为{参数};

13)接收消息直到第一个空格符出现,去掉前后空格符后,得到消息内容是192.168.0.100;

14)由于该消息节点当前状态为{参数},因此查看上述消息节点表的【参数规则】列,得知{ip_addr}的参数规则是^((2(5[0-5]|[0-4]\d))|[0-1]?\d{1,2})(\.((2(5[0-5]|[0-4]\d))|[0-1]?\d{1,2})){3}$;

15)使用{ip_addr}的参数规则检查参数192.168.0.100是否是合理,在本实施例中显然是合理的;

16)查看上述消息节点表的【终结点标识】,得知{ip_addr}是终结节点;

17)查看上述消息节点表的【调用方法】,然后调用do_set_ip_addr方法;

18)目的端设备处理上述1个流体消息结束。

示例三

预设的第一消息节点表定义如下:

在本实施例中,示例出的第一消息节点表包含五个消息节点,并且【名称】为set的消息节点通过其【期待节点】指向了【名称】为ip_addr和user_name节点,它们组成了两个消息节点集合,根据流体消息的定义,本例可生成4种流体消息,即:

[SPACE]set[SPACE]ip_addr[SPACE]192.168.0.100

[SPACE]set[SPACE]ip_addr[SPACE]192.168.0.100[SPACE]route[SPACE]192.168.0.1

[SPACE]set[SPACE]user_name[SPACE]user1

[SPACE]set[SPACE]user_name[SPACE]user1[SPACE]password[SPACE]password1

需要说明的是,在这4条流体消息中,192.168.0.100是【名称】为ip_addr的参数,192.168.0.1是【名称】为route的参数,user1是【名称】为user_name的参数,password1是password的参数,他们都需要满足各自的参数规则。本实施例中的解析流体消息的处理过程与之前的示例完全相同,故,在此不再赘述。

其中,上表中的正则表达式

“^((2(5[0-5]|[0-4]\d))|[0-1]?\d{1,2})(\.((2(5[0-5]|[0-4]\d))|[0-1]?\d{1,2})){3}$”的含义是:从0.0.0.0到255.255.255.255(含两端)之间的任意IPv4地址。正则表达式“^[a-zA-Z0-9_]{1,}$”的含义是:由大小写字符、数字、下划线组成的最小长度为1个字符的字符串。正则表达式“^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)[\s\S]{8,16}$”的含义是由任意字符组成的最小长度为8个字符,最大长度为16个字符的字符串,且字符串内至少含有1位小写字母、1位大写字母和1位数字,应理解,下表中涉及相同的正则表达式的含义相同。

示例四

预设的第一消息节点表定义如下:

在本实施例中,示例出的第一消息节点表也包含五个消息节点,与示例三基本相同,不同之处仅在于在本实施例中的消息节点表中在每个消息节点【名称】的定义中还出现了空格符,根据消息节点表的定义,在消息中需要使用成对的双引号(””)将每个消息节点的名称包裹起来,例如,如下示例:

[SPACE]set[SPACE]”ip addr”[SPACE]192.168.0.100

[SPACE]set[SPACE]”ipaddr”[SPACE]192.168.0.100[SPACE]route[SPACE]192.168.0.1

[SPACE]set[SPACE]”username”[SPACE]user1

[SPACE]set[SPACE]”username”[SPACE]user1[SPACE]password[SPACE]password1

应理解,本实施例中的参数规则与示例三的参数规则完全相同,本实施例中的解析流体消息的处理过程除了对每个消息节点【名称】的引号做特殊处理以外,其余解析流体消息的处理过程均与之前的示例三完全相同,故,在此不再赘述。

示例五

预设的第一消息节点表定义如下:

在本实施例中,示例出的第一消息节点表包含三个消息节点,并且【名称】为get的消息节点通过其【期待节点】指向了source节点,source节点通过其【期待节点】指向了【名称】为filter节点,根据流体消息的定义,本实施例可生成2种流体消息,即

[SPACE]get[SPACE]source[SPACE]running

[SPACE]get[SPACE]source[SPACE]running[SPACE]filter[SPACE]/a/b/c

在本实施例中,示例出的第一消息节点表包含三个消息节点,running是【名称】为source消息节点的参数,/a/b/c是【名称】为filter消息节点的参数,他们都满足各自的参数规则。

本实施例中的解析流体消息的处理过程与之前的示例完全相同,故,在此不再赘述。本实施例可应用于获取目的端设备(例如,分布式基站系统的远端单元)的各项参数。

其中,上表中的正则表达式“(running)|(candidate)”的含义是只能在“running”字符串和“candidate”字符串二选一。正则表达式“^\/(\w+\/?)+$”的含义是表示形如/root/parent/children的路径字符串。

示例六

预设的第一消息节点表定义如下:

在本实施例中,示例出的第一消息节点表包含三个消息节点,并且【名称】为software_update的消息节点通过其【期待节点】指向了【名称】为remote_file_path的消息节点,而【名称】为remote_file_path的消息节点通过其【期待节点】指向了【名称】为file_name的消息节点,同时,【名称】为file_name的消息节点通过其【期待节点】指向了其本身,根据流体消息的定义,本实施例可生成1种流体消息(其中【名称】为file_name的消息节点可以循环出现),即:

[SPACE]software_update[SPACE]remote_file_path[SPACE]/a/b/c[SPACE]file_name[SPACE]f1[SPACE]file_name[SPACE]f2…[SPACE]file_name[SPACE]fn

需要说明的是,在这条消息中,/a/b/c是【名称】为remote_file_path的消息节点的参数,f1,f2,…,fn是n个【名称】为file_name分别对应的参数,他们都满足各自的参数规则。本实施例中的解析流体消息的处理过程与之前的示例完全相同,故,在此不再赘述。本实施例可应用于升级目的端设备(例如,分布式基站系统的远端单元)的软件及参数。

示例七

预设的第一消息节点表定义如下:

在本实施例中,示例出的第一消息节点表包含三个消息节点,并且【名称】为create_subscription的消息节点通过其【期待节点】指向了【名称】为stream的消息节点,而【名称】为stream的消息节点通过其【期待节点】指向了【名称】为filter的消息节点,根据流体消息的定义,本实施例可生成1种流体消息,即:

[SPACE]create_subscription[SPACE]stream[SPACE]netconf[SPACE]filter[SPA CE]/a/b/c

需要说明的是,在这条消息中,netconf是【名称】为stream的消息节点的参数,/a/b/c是【名称】为filter的参数,他们都满足各自的参数规则。本实施例中的解析流体消息的处理过程与之前的示例完全相同,故,在此不再赘述。本实施例可应用于订阅目的端设备(例如,分布式基站系统的远端单元)的告警。

其中,上表中的正则表达式“^\w+$”的含义是由任意单词字符(使用Unicode字符集)组成的最小长度为1个单词字符的字符串。正则表达式“^\/(\w+\/?)+$”表示形如/root/parent/children的路径字符串。

根据本发明的又一方面,本发明实施例提供一种通信源端设备。

图4示出了根据本发明实施例提供的一种通信源端设备的结构框图。

如图4所示,该通信源端设备400包括报文构造单元401以及报文发送单元402;

报文构造单元401用于根据预设的消息节点表构造目标报文,其中,所述消息节点表定义至少一个消息节点,每个消息节点是具有标识及参数信息的数据结构,并且所述目标报文由连续字符串构成,所述连续字符串携载至少一个消息节点对应的标识及参数信息;

报文发送单元402用于将所述目标报文发送至目的端设备,以触发所述目的端设备执行所述目标报文所指示的动作。

应当理解,所述通信源端设备的各个单元的执行原理、其他方面以及效果可参见前述实施例的内容,此处不再赘述。

根据本发明的又一方面,本发明实施例提供一种通信目的端设备。

图5示出了根据本发明实施例提供的一种通信目的端设备的结构框图。

如图5所示,该通信目的端设备500包括报文接收及解析单元501以及响应发送单元502;

报文接收及解析单元501,用于接收来自源端设备的连续字符串形式的目标报文,并基于预设的消息节点表解析所述目标报文携载的所述消息节点表中的至少一个消息节点对应的标识及参数信息,以执行所述至少一个消息节点所指示的动作;

响应发送单元502,用于在处理完成所述目标报文之后基于所述消息节点表生成响应报文,并将所述响应报文传送回所述源端设备。

应当理解,所述通信目的端设备的各个单元的执行原理、其他方面以及效果可参见前述实施例的内容,此处不再赘述。

根据本发明的又一方面,本发明实施例提供一种通信系统,所述通信系统包括上述实施例中的通信源端设备和上述实施例中的通信目的端设备。

根据本发明的又一方面,本发明实施例提供一种数据通信方法,用于通信源端设备,所述方法包括:根据预设的消息节点表构造目标报文,其中,所述消息节点表定义至少一个消息节点,每个消息节点是具有标识及参数信息的数据结构,并且所述目标报文由连续字符串构成,所述连续字符串携载至少一个消息节点对应的标识及参数信息;将所述目标报文发送至目的端设备,以触发所述目的端设备执行所述目标报文所指示的动作。

应当理解,所述数据通信方法的具体步骤、其他方面以及效果可参见前述实施例的内容,此处不再赘述。

根据本发明的又一方面,本发明实施例提供一种数据通信方法,用于通信目的端设备,所述方法包括:接收来自源端设备的连续字符串形式的目标报文,并基于预设的消息节点表解析所述目标报文携载的所述消息节点表中的至少一个消息节点对应的标识及参数信息,以执行所述至少一个消息节点所指示的动作;在处理完成所述目标报文之后基于所述消息节点表生成响应报文,并将所述响应报文传送回所述源端设备。

应当理解,所述数据通信方法的具体步骤、其他方面以及效果可参见前述实施例的内容,此处不再赘述。

在另一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现如前面所描述的任一所述的数据通信方法。

对上述步骤的具体限定和实现方式可以参看数据通信方法的实施例,在此不再赘述。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。

以上对本发明实施例所提供的数据通信方法、设备、通信系统及存储介质进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的技术方案及其核心思想;本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例的技术方案的范围。

相关技术
  • 数据通信方法、数据通信系统及计算机可读存储介质
  • 数据通信方法、数据通信系统及计算机可读存储介质
技术分类

06120114693709