边缘网关通信方法、装置、计算机设备和存储介质
文献发布时间:2023-06-19 09:58:59
技术领域
本申请涉及通信技术领域,特别是涉及一种边缘网关通信方法、装置、计算机设备和存储介质。
背景技术
随着无线通信技术的发展,万物互联的物联网也日益发展起来。不同通信协议标准的设备通过物联网网关进行通信协议转换后,即可实现通信。
目前,设备厂商都会有独自的通信协议标准,使用不同厂商之间的设备进行通信,需要对各种各样的通信协议进行转换。但是,目前大部分物联网网关产品基本上都是仅支持一到两种标准通信协议转换,如有特殊需求,则需要额外定制开发,因此传统方法过于局限,适用性不高。
发明内容
基于此,有必要针对上述技术问题,提供一种能够提高适用性的边缘网关通信方法、装置、计算机设备和存储介质。
一种边缘网关通信方法,所述方法包括:
边缘网关获取协议配置端所配置的目标协议配置数据;所述目标协议配置数据,是所述协议配置端预先针对待通信的目标设备的设备类型对应配置的协议配置数据;
读取所述目标协议配置数据中配置的通信流程;
针对所述通信流程中的当前待执行流程,根据所述目标协议配置数据中配置的协议数据结构进行数据协议封包,得到所述当前待执行流程对应的通信数据包;
所述边缘网关向所述目标设备下发所述通信数据包;
所述边缘网关接收所述目标设备针对所述通信数据包返回的回复数据包,并根据所述协议数据结构对所述回复数据包进行解包,得到回复数据。
在其中一个实施例中,所述边缘网关获取协议配置端所配置的目标协议配置数据,包括:
所述边缘网关在启动后,检测本地是否存在与目标设备的设备类型对应配置的目标协议配置数据;
当存在时,所述边缘网关从本地读取所述目标协议配置数据;
当不存在时,所述边缘网关从协议配置端,获取目标协议配置数据。
在其中一个实施例中,所述当不存在时,所述边缘网关从协议配置端,获取目标协议配置数据,包括:
当不存在时,则发出告警信息;接收所述协议配置端针对所述告警信息配置并下发的所述目标协议配置数据;或,
当不存在时,所述边缘网关向所述协议配置端发送协议配置下载请求;接收所述协议配置端针对所述协议配置下载请求返回的所述目标协议配置数据。
在其中一个实施例中,在所述边缘网关获取协议配置端所配置的目标协议配置数据之前,所述方法还包括:
在部署所述边缘网关时,接收从所述协议配置端下发的目标协议配置数据并进行本地存储;
所述边缘网关获取协议配置端所配置的目标协议配置数据,包括:
所述边缘网关获取本地存储的所述目标协议配置数据。
在其中一个实施例中,所述针对所述通信流程中的当前待执行流程,根据所述目标协议配置数据中配置的协议数据结构进行数据协议封包,得到所述当前待执行流程对应的通信数据包,包括:
针对所述通信流程中的当前待执行流程,根据所述协议配置数据中配置的协议数据结构,针对定义的协议字段,填充所述协议字段所绑定的数据源所对应的数据,或者,填充所述协议字段所绑定的数据;
将填充后得到的数据转换为目标数据格式,得到与所述当前待执行流程对应的通信数据包。
在其中一个实施例中,所述方法还包括:
在所述边缘网关向所述目标设备下发所述通信数据包之后,当与所述目标设备通信正常时,则执行所述边缘网关接收所述目标设备针对所述通信数据包返回的回复数据包的步骤;
当与所述目标设备通信异常时,则重新执行所述边缘网关向所述目标设备下发所述通信数据包;
当重新下发的次数达到预设次数阈值、且与所述目标设备仍通信异常时,则发出协议配置错误告警信息。
在其中一个实施例中,所述目标协议配置数据是所述协议配置端通过执行协议配置步骤进行配置得到;
所述协议配置步骤,包括:
配置在目标协议下所述边缘网关与所述目标设备之间的通信流程;
配置所述目标协议中各协议字段的含义及字段长度,并绑定各所述协议字段相应填充的数据或数据源;
在针对配置的所述通信流程的完整性检测通过后,将针对所述目标协议配置的信息进行保存,得到目标协议配置数据。
一种边缘网关通信装置,所述装置包括:
获取模块,用于获取协议配置端所配置的目标协议配置数据;所述目标协议配置数据,是所述协议配置端预先针对待通信的目标设备的设备类型对应配置的协议配置数据;
读取模块,用于读取所述目标协议配置数据中配置的通信流程;
封包模块,用于针对所述通信流程中的当前待执行流程,根据所述目标协议配置数据中配置的协议数据结构进行数据协议封包,得到所述当前待执行流程对应的通信数据包;
下发模块,用于向所述目标设备下发所述通信数据包;
解包模块,用于接收所述目标设备针对所述通信数据包返回的回复数据包,并根据所述协议数据结构对所述回复数据包进行解包,得到回复数据。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
获取协议配置端所配置的目标协议配置数据;所述目标协议配置数据,是所述协议配置端预先针对待通信的目标设备的设备类型对应配置的协议配置数据;
读取所述目标协议配置数据中配置的通信流程;
针对所述通信流程中的当前待执行流程,根据所述目标协议配置数据中配置的协议数据结构进行数据协议封包,得到所述当前待执行流程对应的通信数据包;
向所述目标设备下发所述通信数据包;
接收所述目标设备针对所述通信数据包返回的回复数据包,并根据所述协议数据结构对所述回复数据包进行解包,得到回复数据。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
获取协议配置端所配置的目标协议配置数据;所述目标协议配置数据,是所述协议配置端预先针对待通信的目标设备的设备类型对应配置的协议配置数据;
读取所述目标协议配置数据中配置的通信流程;
针对所述通信流程中的当前待执行流程,根据所述目标协议配置数据中配置的协议数据结构进行数据协议封包,得到所述当前待执行流程对应的通信数据包;
向所述目标设备下发所述通信数据包;
接收所述目标设备针对所述通信数据包返回的回复数据包,并根据所述协议数据结构对所述回复数据包进行解包,得到回复数据。
上述边缘网关通信方法、装置、计算机设备和存储介质,边缘网关直接从协议配置端,获取针对待通信的目标设备的设备类型对应配置的目标协议配置数据,无需固定开发协议到边缘网关中。基于目标协议配置数据中配置的通信流程,边缘网关便能知晓当前待执行流程,并根据所述目标协议配置数据中配置的协议数据结构进行数据协议封包,得到所述当前待执行流程对应的通信数据包。所述边缘网关向所述目标设备下发所述通信数据包。由于,是基于针对目标设备的设备类型对应配置的协议数据结构进行封包,所以,下发的通信数据包能够被目标设备识别,进而,所述边缘网关接收所述目标设备针对所述通信数据包返回的回复数据包,并根据所述协议数据结构对所述回复数据包进行解包,得到回复数据。从而,通过灵活的协议配置就能够实现边缘网关与支持各种协议的设备之间的通信,解决了边缘网关协议转换问题,进而,有效地提高了边缘网关的适用性。
一种边缘网关通信方法,所述方法包括:
配置在目标协议下所述边缘网关与所述目标设备之间的通信流程;
配置所述目标协议中各协议字段的含义及字段长度,并绑定各所述协议字段相应填充的数据或数据源,得到协议数据结构;
在针对配置的所述通信流程的完整性检测通过后,将针对所述目标协议配置的所述通信流程和所述协议数据结构进行保存,得到与所述目标设备的设备类型对应配置的目标协议配置数据;
下发所述目标协议配置数据至边缘网关;其中,所述目标协议配置数据,用于指示边缘网关根据所述目标协议配置数据,与所述目标设备进行通信。
一种边缘网关通信装置,所述装置包括:
配置模块,用于配置在目标协议下所述边缘网关与所述目标设备之间的通信流程;配置所述目标协议中各协议字段的含义及字段长度,并绑定各所述协议字段相应填充的数据或数据源,得到协议数据结构;在针对配置的所述通信流程的完整性检测通过后,将针对所述目标协议配置的所述通信流程和所述协议数据结构进行保存,得到与所述目标设备的设备类型对应配置的目标协议配置数据;
下发模块,用于下发所述目标协议配置数据至边缘网关;其中,所述目标协议配置数据,用于指示边缘网关根据所述目标协议配置数据,与所述目标设备进行通信。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
配置在目标协议下所述边缘网关与所述目标设备之间的通信流程;
配置所述目标协议中各协议字段的含义及字段长度,并绑定各所述协议字段相应填充的数据或数据源,得到协议数据结构;
在针对配置的所述通信流程的完整性检测通过后,将针对所述目标协议配置的所述通信流程和所述协议数据结构进行保存,得到与所述目标设备的设备类型对应配置的目标协议配置数据;
下发所述目标协议配置数据至边缘网关;其中,所述目标协议配置数据,用于指示边缘网关根据所述目标协议配置数据,与所述目标设备进行通信。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
配置在目标协议下所述边缘网关与所述目标设备之间的通信流程;
配置所述目标协议中各协议字段的含义及字段长度,并绑定各所述协议字段相应填充的数据或数据源,得到协议数据结构;
在针对配置的所述通信流程的完整性检测通过后,将针对所述目标协议配置的所述通信流程和所述协议数据结构进行保存,得到与所述目标设备的设备类型对应配置的目标协议配置数据;
下发所述目标协议配置数据至边缘网关;其中,所述目标协议配置数据,用于指示边缘网关根据所述目标协议配置数据,与所述目标设备进行通信。
上述边缘网关通信方法、装置、计算机设备和存储介质,首先,配置在目标协议下所述边缘网关与所述目标设备之间的通信流程。然后,配置所述目标协议中各协议字段的含义及字段长度,并绑定各所述协议字段相应填充的数据或数据源,得到协议数据结构。进一步,在针对配置的所述通信流程的完整性检测通过后,将针对所述目标协议配置的所述通信流程和所述协议数据结构进行保存,得到与所述目标设备的设备类型对应配置的目标协议配置数据。经过前面的三个步骤,此时得到的目标协议配置数据是经过协议配置端检测过的通信流程完整,并且能够与所述目标设备适配的目标协议配置数据。边缘网关即可以根据与目标设备适配的目标协议配置数据,直接与目标设备进行通信。即,通过灵活的协议配置就能够实现边缘网关与支持各种协议的设备之间的通信,解决了边缘网关协议转换问题,进而,有效地提高了边缘网关的适用性。
附图说明
图1为一个实施例中边缘网关通信方法的应用环境图;
图2为一个实施例中边缘网关通信方法的流程示意图;
图3为一个实施例中边缘网关通信方法的系统架构图;
图4为另一个实施例中边缘网关通信方法步骤的流程示意图;
图5为另一个实施例中边缘网关通信方法的流程示意图;
图6为一个实施例中边缘网关通信装置的结构框图;
图7为一个实施例中边缘网关通信装置的结构框图;
图8为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请提供的边缘网关通信方法,可以应用于如图1所示的应用环境中。其中,边缘网关104通过网络与协议配置端102以及设备106进行通信。其中,
边缘网关104可以用具有网关功能的智能路由器来实现或者用专门的网关产品来实现。协议配置端102可以是云平台或者是协议配置软件。设备106可以是具有计算能力的智能设备。设备106可以是物联网设备。设备106包括但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑、便携式可穿戴设备、智能电视、智能音箱、智能空调以及智能打印机等。
在一个实施例中,如图2所示,提供了一种边缘网关通信方法,该方法可以通过边缘网关来实现,也可以通过边缘网关和协议配置端的交互来实现。现以该方法应用于图1中的边缘网关为例进行说明,包括以下步骤:
步骤202,边缘网关获取协议配置端所配置的目标协议配置数据;目标协议配置数据,是协议配置端预先针对待通信的目标设备的设备类型对应配置的协议配置数据。
其中,边缘网关,是部署在网络边缘侧的、且具有边缘计算能力的网关。边缘网关可以通过网络连接协议配置端,以及通过网络和协议转换功能连接设备端。可以理解,边缘网关能够通过与协议配置端的通信连接,获取协议配置端所配置的目标协议配置数据。可以理解,边缘网关的边缘计算能力,能够用于实时分析设备等相关的数据并提供轻量化的连接管理。
协议,即网络协议的简称,是边缘网关与设备进行通信时,双方必须共同遵从的事先约定的规则。可以理解,通信双方按照约定的协议规则进行数据封包或解包,才能实现相互间的通信。
协议配置端,用于针对设备类型配置相应的协议配置数据。
在一个实施例中,协议配置端,可以是安装有协议配置软件的设备,也可以是云平台等。协议配置软件,是用于进行协议配置的软件(即具备协议配置功能的软件)。
目标设备,是指边缘网关的待通信的设备,即,边缘网关将要与之通信的设备。
目标协议配置数据,是协议配置端预先针对待通信的目标设备的设备类型对应配置的协议配置数据。协议配置数据,是配置的协议数据。即,将目标设备与边缘网关之间所要使用的协议数据预先在协议配置端中进行配置,即得到目标协议配置数据。
在一个实施例中,目标协议配置数据中包括配置的通信流程和配置的协议数据结构。
具体地,技术人员可以预先在协议配置端针对目标设备的设备类型,对应配置协议配置数据。当边缘网关需要与目标设备进行通信时,则可以获取协议配置端所配置的目标协议配置数据,以准备好与目标设备进行通信。
可以理解,当边缘网关想要与目标设备进行通信时,边缘网关可以请求从协议配置端下载所配置的目标协议配置数据,也可以从边缘网关的本地中直接获取已经存储的协议配置端所配置的目标协议配置数据。
步骤204,读取目标协议配置数据中配置的通信流程。
其中,通信流程,是指边缘网关与用户设备约定的进行通信的流程。可以理解,边缘网关与用户设备进行通信时,需要按照目标协议配置数据中配置的通信流程进行通信。
可以理解,通信流程,可以包括约定的通信方式、总共需要的通信步骤、每个通信步骤所代表的含义、以及各通信步骤之间的顺序等信息。
需要说明的是,不同协议所定义的通信流程有差异,即,使用不同协议的设备,所对应的通信流程不同。因此,边缘网关可以从协议配置端中获取使用不同的协议的设备的协议配置数据,根据协议配置数据中所配置的通信流程,与各个设备进行通信。
例如:三菱系列设备(即使用三菱通信协议的设备)所对应的通信流程为“网关读取,设备回复数据,网关回复确认信息”,但是Modbus-RTU设备(即使用modbus通信协议的设备),通信流程只需“网关读取,设备回复数据”。
具体地,边缘网关对已获取到的目标协议配置数据进行读取,得到目标协议配置数据中配置的对应于目标设备定义好的通信流程。
步骤206,针对通信流程中的当前待执行流程,根据目标协议配置数据中配置的协议数据结构进行数据协议封包,得到当前待执行流程对应的通信数据包。
其中,当前待执行流程,是指通信流程中的边缘网关当前将要执行的流程。
协议数据结构,是定义的数据通信格式。
在一个实施例中,配置的协议数据结构,可以包括定义的每个字段的含义及字段长度,以及绑定该字段的数据源,或者直接绑定该字段的数据。
例如:三菱系列协议首字节为起始符,第二字节为设备站号,起始符固定为指定字符,设备站号绑定网关配置里挂载的设备单元号等等。
数据协议封包,是将需要发送的数据按照协议数据结构进行对应填充后,并转换成目标数据形式的过程。
通信数据包,是数据协议封包后得到的用于发送给设备的数据包。
具体地,边缘网关从读取的目标协议配置数据中配置的对应于设备厂商定义好的通信流程中,进一步获知当前待执行流程。边缘网关可以根据目标协议配置数据中配置的协议数据结构进行数据协议封包,即可得到当前待执行流程对应的通信数据包。
步骤208,边缘网关向目标设备下发通信数据包。
其中,下发,是指以边缘网关侧向设备发送通信数据包的动作。
具体地,边缘网关确认网络连接到设备端为正常的状态,并不存在断网情况,便向设备下发当前待执行流程对应的通信数据包。
步骤210边缘网关接收目标设备针对通信数据包返回的回复数据包,并根据协议数据结构对回复数据包进行解包,得到回复数据。
其中,回复数据包,是设备端根据厂家预先配置好的协议数据结构针对边缘网关请求返回的数据进行数据协议封包后,返回给边缘网关的数据包,里面包含着设备端的实时的信息。
解包,是边缘网关或者设备端对接收到的数据包根据协议配置的协议的数据结构,依次从回复数据包中提出有用数据。
回复数据,即设备回复的代表着设备端实时信息的数据。
具体地,与边缘网关进行通信的设备,在接收到边缘网关下发的通信数据包后,解包提取出实质的数据,获知边缘网关需要的数据,然后,根据厂家预先配置好的协议数据结构针对边缘网关请求返回的数据进行数据协议封包后,返回给边缘网关。边缘网关接收目标设备针对通信数据包返回的回复数据包后,根据协议数据结构对回复数据包进行解包,得到回复数据,从而实现边缘网关与设备之间的通信。
在一个实施例中,在一个具体的实施例中,参考图3边缘网关通信方法的系统架构图。协议配置端,即“协议配置软件”或“云平台”,进行协议下发。边缘网关接收协议配置端下发的目标协议配置数据,根据目标协议配置数据进行数据协议封包/协议解包,实现与目标设备的通信。
上述边缘网关通信方法、装置、计算机设备和存储介质,边缘网关直接从协议配置端,获取针对待通信的目标设备的设备类型对应配置的目标协议配置数据,无需固定开发协议到边缘网关中。基于目标协议配置数据中配置的通信流程,边缘网关便能知晓当前待执行流程,并根据目标协议配置数据中配置的协议数据结构进行数据协议封包,得到当前待执行流程对应的通信数据包。边缘网关向目标设备下发通信数据包。由于,是基于针对目标设备的设备类型对应配置的协议数据结构进行封包,所以,下发的通信数据包能够被目标设备识别,进而,边缘网关接收目标设备针对通信数据包返回的回复数据包,并根据协议数据结构对回复数据包进行解包,得到回复数据。从而,通过灵活的协议配置就能够实现边缘网关与支持各种协议的设备之间的通信,解决了边缘网关协议转换问题,进而,有效地提高了边缘网关的适用性。
在一个实施例中,边缘网关获取协议配置端所配置的目标协议配置数据,包括:边缘网关在启动后,检测本地是否存在与目标设备的设备类型对应配置的目标协议配置数据;当存在时,边缘网关从本地读取目标协议配置数据;当不存在时,边缘网关从协议配置端,获取目标协议配置数据。
具体地,边缘网关在启动后,边缘网关会先在自己的本地存储文件夹中检测是否存在与目标设备的设备类型对应配置的目标协议配置数据。如果本地存储文件夹存储了目标协议配置数据,边缘网关便直接从本地文件夹读取目标协议配置数据。如果本地存储文件夹没有存储目标协议配置数据,则边缘网关需要从协议配置端获取目标协议配置数据。
在一个具体的实施例中,参考图4边缘网关通信方法步骤的流程示意图,示出了边缘网关在启动后,会检测本地是否存在与目标设备的设备类型对应配置的目标协议配置数据,即“检查是否存在对应协议配置数据”。当存在目标协议配置数据时,边缘网关从本地读取目标协议配置数据,即“读取配置”。
本实施例中,通过边缘网关检测本地存储文件夹是否有存储与目标设备的设备类型对应配置的目标协议配置数据,能够减少后台工作人员自行检测的工作量。
在一个实施例中,当不存在时,边缘网关从协议配置端,获取目标协议配置数据,包括:当不存在时,则发出告警信息;接收协议配置端针对告警信息配置并下发的目标协议配置数据。
其中,告警信息是边缘网关发出的,用于告知工作人员边缘网关的本地存储文件夹中没有存储目标协议配置数据。
具体地,当边缘网关检测到本地存储文件夹没有存储目标协议配置数据,就发出告警信息,告知工作人员边缘网关不能正常使用,缺少该有的协议配置数据。工作人员到协议配置端针对告警信息对目标协议配置数据进行配置。协议配置端再下发的目标协议配置数据到边缘网关。
在一个实施例中,当不存在时,边缘网关从协议配置端,获取目标协议配置数据,包括:当不存在时,边缘网关向协议配置端发送协议配置下载请求;接收协议配置端针对协议配置下载请求返回的目标协议配置数据。
在一个具体的实施例中,当边缘网关检测到本地存储文件夹没有存储目标协议配置数据,向协议配置端发送协议配置下载请求。如果能够成功接收协议配置端针对协议配置下载请求返回的目标协议配置数据,则不用向工作人员发出告警信息。
本实施例中,边缘网关自行检查本地存储文件夹不存目标协议配置数据,便自动去请求协议配置端下发,能够接收到目标协议配置数据就不再向相关工作人员发出告警,如果协议配置端不能够下发目标协议配置数据,再发出告警信息,告知工作人员到协议配置端去配置好目标协议配置数据。由此,可帮助工作人员判断发出告警信息是协议配置端没有配置好目标协议配数据。
在一个实施例中,在边缘网关获取协议配置端所配置的目标协议配置数据之前,该方法还包括:在部署边缘网关时,接收从协议配置端下发的目标协议配置数据并进行本地存储;边缘网关获取协议配置端所配置的目标协议配置数据,包括:边缘网关获取本地存储的目标协议配置数据。
具体地,在边缘网关获取协议配置端所配置的目标协议配置数据之前,会先部署边缘网关,在部署边缘网关时,技术人员可以先在协议配置端进行协议数据结构定义编辑,以适配该目标设备所使用的协议,编辑完成后,得到目标协议配置数据,并通过有线/无线将目标协议配置数据下发到边缘网关。边缘网关则可以将从协议配置端下发的目标协议配置数据进行本地存储。当边缘网关部署完成启动后,则可从本地获取所存储的目标协议配置数据。
本实施例中,在边缘网关部署时就接收目标协议配置数据并进行本地存储,工作人员无需在完成边缘网关部署之后,触发部署完成控件,边缘网关再进行目标协议配置数据的接收,可以减少工作人员的等待时间,如果下载顺利,也能进一步减少后续工作人员对边缘网关部署的工作的检查,由此能够减少工作人员的工作量,可以加快项目的进展。
在一个实施例中,针对通信流程中的当前待执行流程,根据协议配置数据中配置的协议数据结构进行数据协议封包,得到当前待执行流程对应的通信数据包,包括:针对通信流程中的当前待执行流程,根据协议配置数据中配置的协议数据结构,针对定义的协议字段,填充协议字段所绑定的数据源所对应的数据,或者,填充协议字段所绑定的数据;将填充后得到的数据转换为目标数据格式,得到与当前待执行流程对应的通信数据包。
其中,设备协议其实本质上就是一串数据,要实现与设备通信,我们需要根据设备厂家制定的协议数据结构,在对应协议字段写入对应的数据,才能实现通信。
可以理解,对于不同协议来说,对应于协议字段所写入的数据的数据类型不同。比如,三菱系列协议的数据类型为ASCII码流,Modbus-RTU协议的数据类型则为十六进制。
数据源,是指实质性的数据的来源。
可以理解,当协议字段所绑定的是数据而不是数据源,则无需通过数据源进行相应数据的取数,而是直接将绑定的对应数据填充到协议字段中。
具体地,边缘网关针对通信流程中的当前待执行流程,根据协议配置数据中配置的协议数据结构,针对定义的协议字段,根据该协议字段所绑定的数据源,取出实质性的数据以填充到该协议字段中,将填充后得到的数据转换为目标数据格式,得到与当前待执行流程对应的通信数据包。
在一个具体的实施例中,当协议字段所绑定的是数据而不是数据源时,则直接填充协议字段所绑定的数据,将填充后得到的数据转换为目标数据格式,得到与当前待执行流程对应的通信数据包。
在一个具体的实施例中,参考图4边缘网关通信方法步骤的流程示意图,示出了边缘网关进行数据协议封包的过程。针对通信流程中的当前待执行流程,根据协议配置数据中配置的协议数据结构进行数据协议封包,即对应于图4中“根据协议配置执行通信流程”以及“根据协议字段信息填充数据”的步骤。
本实施例中,边缘网关获取协议配置端所配置的目标协议配置数据,根据目标协议配置数据中配置的协议数据结构,针对定义的协议字段,填充协议字段所对应的数据,或者,填充协议字段所绑定的数据。然后,将填充后得到的数据转换为目标数据格式,得到与当前待执行流程对应的通信数据包。整个协议配置流程,不需要人工预先固定设置边缘网关的协议配置而是通过协议配置端获取,不需要人工来进行协议数据的填充而是自行填充,因此能够让边缘网关适配不同厂家的设备,提高了边缘网关的适配性。
在一个实施例中,该方法还包括:在边缘网关向目标设备下发通信数据包之后,当与目标设备通信正常时,则执行边缘网关接收目标设备针对通信数据包返回的回复数据包的步骤;当与目标设备通信异常时,则重新执行边缘网关向目标设备下发通信数据包;当重新下发的次数达到预设次数阈值、且与目标设备仍通信异常时,则发出协议配置错误告警信息。
具体地,在边缘网关向目标设备下发通信数据包之后,若与目标设备能够通信正常,设备便能接收到边缘网关下发的通信数据包。设备根据协议数据结构对边缘网关下发的通信数据包进行解包,提取需要的实质的数据,获知边缘网关所需要回复的实质的数据。设备将边缘网关所需要回复的实质数据根据数据协议结构进行封包,发送回复数据包到边缘网关。
当边缘网关没有获取到设备上传的回复数据包,超过预设时长阈值,判断与目标设备通信异常,则重新执行边缘网关向目标设备下发通信数据包。
当重新下发的次数达到预设次数阈值、且与目标设备仍通信异常时,则发出协议配置错误告警信息。
在一个具体的实施例中,参考图4边缘网关通信方法步骤的流程示意图,示出了边缘网关与设备进行通信时,会“判断设备是否正常通信”。设备接收到网关下发的通信数据包,即“接收数据”,会进行判断协议是否正确,协议正确,会根据协议数据结构进行数据协议封包后,上传回复数据包到边缘网关。如果能够接收到设备上传的回复数据包,则为正常通信,会对设备上传的回复数据包进行解包,即“根据协议配置,提取数据”。如果超过预设时长阈值还没有收到设备上传的回复数据包,则先判断是否下发通信数据包的过程出现问题,即边缘网关会再次进行下发通信数据包。在此实时例中,当重新下发的次数预设阈值为3次。重新下发通信数据包到达三次后,如果超过预设时长阈值还没有收到设备上传的回复数据包,发出协议配置错误告警信息。
本实施例中,通过获取设备上传的回复数据包,边缘网关对回复数据包进行解包提取实质数据,并上传到云平台。运维人员在云平台通过查看边缘网关上传的实时数据,能够对设备的状态进行实时监控。
在一个实施例中,目标协议配置数据是协议配置端通过执行协议配置步骤进行配置得到;协议配置步骤,包括:配置在目标协议下边缘网关与目标设备之间的通信流程;配置目标协议中各协议字段的含义及字段长度,并绑定各协议字段相应填充的数据或数据源;在针对配置的通信流程的完整性检测通过后,将针对目标协议配置的信息进行保存,得到目标协议配置数据。
其中,针对目标协议配置的信息,包括配置的通信流程、以及配置的目标协议的协议数据结构的相关信息。目标协议的协议数据结构的相关信息,包括目标协议中各协议字段的含义及字段长度,并绑定各协议字段相应填充的数据或数据源。
具体地,在协议配置端,配置在目标协议下边缘网关与目标设备之间的通信流程,然后,配置目标协议中各协议字段的含义及字段长度,并绑定各协议字段相应填充的数据或数据源,完成针对目标协议的配置流程。
在下发协议配置数据到边缘网关之前,先针对配置的通信流程的完整性进行检测,检测没有问题后,再将目标协议配置数据下发到边缘网关。检测有问题,则重新对目标协议进行配置,直到配置好再向边缘网关下发目标协议配置数据。边缘网关将目标协议配置数据保存到本地存储文件夹中。
在一个具体的实施例中,参考图4边缘网关通信方法步骤的流程示意图,示出了协议配置端对协议流程配置的过程。配置在目标协议下边缘网关与目标设备之间的通信流程,即“配置设备的通信流程”。配置目标协议中各协议字段的含义及字段长度,即“定义协议各字段的含义以及字节长度”。
本实施例中,在不同的项目中,针对不同的厂家设备,去针对性下载与设备对应的协议配置数据,需要什么样的协议配置数据就下载什么样的协议配置数据,无需在边缘网关固定存储一到两种协议配置数据,解决了传统网关与很多设备都无法进行通讯,适用性很差的问题,提高了边缘网关的适用性。
在一个实施例中,如图5所示,提供了一种边缘网关通信方法,该方法可以通过协议配置端来实现。现以该方法应用于图1中的协议配置端为例进行说明,包括以下步骤:
步骤502,配置在目标协议下所述边缘网关与所述目标设备之间的通信流程。
步骤504,配置所述目标协议中各协议字段的含义及字段长度,并绑定各所述协议字段相应填充的数据或数据源,得到协议数据结构。
步骤506,在针对配置的所述通信流程的完整性检测通过后,将针对所述目标协议配置的所述通信流程和所述协议数据结构进行保存,得到与所述目标设备的设备类型对应配置的目标协议配置数据。
步骤508,下发所述目标协议配置数据至边缘网关;其中,所述目标协议配置数据,用于指示边缘网关根据所述目标协议配置数据,与所述目标设备进行通信。
上述边缘网关通信方法,首先,配置在目标协议下所述边缘网关与所述目标设备之间的通信流程。然后,配置所述目标协议中各协议字段的含义及字段长度,并绑定各所述协议字段相应填充的数据或数据源,得到协议数据结构。进一步,在针对配置的所述通信流程的完整性检测通过后,将针对所述目标协议配置的所述通信流程和所述协议数据结构进行保存,得到与所述目标设备的设备类型对应配置的目标协议配置数据。经过前面的三个步骤,此时得到的目标协议配置数据是经过协议配置端检测过的通信流程完整,并且能够与所述目标设备适配的目标协议配置数据。边缘网关即可以根据与目标设备适配的目标协议配置数据,直接与目标设备进行通信。即,通过灵活的协议配置就能够实现边缘网关与支持各种协议的设备之间的通信,解决了边缘网关协议转换问题,进而,有效地提高了边缘网关的适用性。
应该理解的是,虽然本申请各实施例中的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,本申请各实施例中的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图6所示,提供了一种边缘网关通信装置500,设置于边缘网关中,该装置600包括:获取模块602、读取模块604、封包模块606、下发模块608和解包模块610,其中:
获取模块602,用于获取协议配置端所配置的目标协议配置数据;目标协议配置数据,是协议配置端预先针对待通信的目标设备的设备类型对应配置的协议配置数据。
读取模块604,用于读取目标协议配置数据中配置的通信流程。
封包模块606,用于针对通信流程中的当前待执行流程,根据目标协议配置数据中配置的协议数据结构进行数据协议封包,得到当前待执行流程对应的通信数据包。
下发模块608,用于向目标设备下发通信数据包。
解包模块610,用于接收目标设备针对通信数据包返回的回复数据包,并根据协议数据结构对回复数据包进行解包,得到回复数据。
在一个实施例中,获取模块602还用于在边缘网关启动后,检测本地是否存在与目标设备的设备类型对应配置的目标协议配置数据;当存在时,从本地读取目标协议配置数据;当不存在时,从协议配置端,获取目标协议配置数据。
在一个实施例中,获取模块602还用于当不存在时,则发出告警信息;接收协议配置端针对告警信息配置并下发的目标协议配置数据。
在一个实施例中,获取模块602还用于当不存在时,向协议配置端发送协议配置下载请求;接收协议配置端针对协议配置下载请求返回的目标协议配置数据。
在一个实施例中,获取模块602还用于在部署边缘网关时,接收从协议配置端下发的目标协议配置数据并进行本地存储;获取本地存储的目标协议配置数据。
在一个实施例中,封包模块606还用于针对通信流程中的当前待执行流程,根据协议配置数据中配置的协议数据结构,针对定义的协议字段,填充协议字段所绑定的数据源所对应的数据,或者,填充协议字段所绑定的数据;将填充后得到的数据转换为目标数据格式,得到与当前待执行流程对应的通信数据包。
在一个实施例中,下发模块608还用于向目标设备下发通信数据包之后,当与目标设备通信正常时,则通知解包模块610执行接收目标设备针对通信数据包返回的回复数据包的步骤;当与目标设备通信异常时,则重新向目标设备下发通信数据包;当重新下发的次数达到预设次数阈值、且与目标设备仍通信异常时,则发出协议配置错误告警信息。
在一个实施例中,该装置还包括:
配置模块(图中未示出),用于配置在目标协议下边缘网关与目标设备之间的通信流程;配置目标协议中各协议字段的含义及字段长度,并绑定各协议字段相应填充的数据或数据源;在针对配置的通信流程的完整性检测通过后,将针对目标协议配置的信息进行保存,得到目标协议配置数据。可以理解,配置模块可以是设置于协议配置端中的模块。本实施例中,边缘网关通信装置则是由边缘网关和协议配置端中的模块共同组成的装置。
在一个实施例中,如图7所示,提供了一种边缘网关通信装置700,设置于协议配置端中,该装置700包括:配置模块702、下发模块704,其中:
配置模块702,用于配置在目标协议下所述边缘网关与所述目标设备之间的通信流程;还用于配置所述目标协议中各协议字段的含义及字段长度,并绑定各所述协议字段相应填充的数据或数据源,得到协议数据结构;还用于在针对配置的所述通信流程的完整性检测通过后,将针对所述目标协议配置的所述通信流程和所述协议数据结构进行保存,得到与所述目标设备的设备类型对应配置的目标协议配置数据;
下发模块704,用于下发所述目标协议配置数据至边缘网关;其中,所述目标协议配置数据,用于指示边缘网关根据所述目标协议配置数据,与所述目标设备进行通信。
关于边缘网关通信装置的具体限定可以参见上文中对于边缘网关通信方法的限定,在此不再赘述。上述边缘网关通信装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是协议配置端或者边缘网关,其内部结构图可以如图8所示。该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种边缘网关通信方法。
本领域技术人员可以理解,图8中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各种实施例的边缘网关通信方法。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述各种实施例的边缘网关通信方法。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-Only Memory,ROM)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic Random Access Memory,DRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
- 边缘网关通信方法、装置、计算机设备和存储介质
- 边缘设备管理方法、装置、边缘网关设备和存储介质