技术领域
[0001] 本申请涉及设备通讯领域,特别是涉及一种协议转换框架、设备通讯方法、装置和计算机存储介质。
相关背景技术
[0002] 随着互联网以及计算机科学与技术的不断发展,在人们日益增长的需求下,物联网应运而生。物联网是指通过信息传感设备,按约定的协议,将任何物体与网络相连接,物体通过信息传播媒介进行信息交换和通信,以实现智能化识别、定位、跟踪、监管等功能。物联网通过智能感知以及识别技术等通信感知技术,广泛应用于网络的融合中,也因此被称为继计算机、互联网之后世界信息产业发展的第三次浪潮。
[0003] 在一应用场景中,物联网硬件设备与外部程序进行通讯交互时,需要基于自身的设备通讯协议将用户发送的指令数据转换为设备可识别的字节数据,而由于物联网硬件设备可能来自多个厂商生产,拥有着不同的操作系统,因此物联网硬件设备使用的设备通讯协议不同,导致物联网云平台需要同时配置所有与云平台相连接的物联网设备的设备通讯协议,才能实现物联网设备与云平台的正常通信。然而,在现有技术中,对于出现新的设备通讯协议需要配置时,需要用户重新开发相应的代码以保证云平台能够实现设备与用户之间的通讯编解码功能。
具体实施方式
[0026] 下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请的一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
[0027] 目前的设备通讯装置通常在出现新增设备协议时,需要用户重新进行代码开发以实现对应的设备通讯功能,因此导致云平台中出现新的物联网设备需要进行通讯时,需要耗费大量时间以及用户精力成本才能实现新设备的通讯。基于此,本申请提供了一种协议转换框架,下面对本申请所采用的技术方案进行详细说明。
[0028] 本申请提供的协议转换框架主要应用于物联网设备与云平台进行通讯时,每个来自不同厂商和系统的物联网设备所使用的设备通讯协议均不同,从而导致云平台需要对每个设备通讯协议进行配置后才能正常实现物联网设备与云平台之间的相互通信。而本申请提供的协议转换框架可以根据用户输入的可视化转换配置需求直接生成对应的通讯协议,从而使得协议转换描述文件的生成过程更加简便。
[0029] 设备通讯装置和协议转换框架均可以作为为本申请实施例中提供的设备通讯方法的执行主体,协议转换框架模型可以搭载在设备通讯装置上,为其中的核心部分。
[0030] 参阅图1,图1是本申请提供的协议转换框架一实施例的结构示意图。
[0031] 具体地,协议转换框架包括协议编辑器和协议转换引擎,协议转换框架应用于物联网设备与云平台的数据通讯中。
[0032] 具体地,协议编辑器提供可视化编辑功能,用于获取用户的协议配置指令中输入的协议字段规则或用户在编辑页面自行选择的规则字段组合,并基于规则配置需求生成一份描述物联网设备的设备通讯协议与云平台的物模型协议之间的转换规则的协议转换描述文件。
[0033] 例如,用户可以在与协议编辑器相连接的显示屏幕上通过勾选或者列表中选择的方式,选择云平台与物联网设备之间的通讯协议转换规则,在一些实施例中,用户也可以通过直接在输入框内输入通讯协议的转换规则,以供协议编辑器获取,用户输入协议规则的规则字段的方法可以根据用户需求自行设定,在此不做限定。
[0034] 在本申请一实施例中,如图2所示,图2是本申请提供的协议转换框架中协议编辑器的结构示意图,协议编辑器包括编辑页面、物模型加载器、映射器和协议转换管理器。映射器可以包括字典表映射器和地址寻址映射器。
[0035] 具体地,协议转换描述文件使用JSON格式的协议转换语言来定义物联网设备的通讯协议(包括但不限于plain text,TLV,JSON等格式)如何抽取并转换为云平台的物模型协议的特定语法结构。
[0036] 具体地,编辑页面用于获取用户的协议配置指令,。物模型加载器用于基于云平台描述文件记载云平台的物模型,并基于物模型生成物模型协议字段表,并在显示界面展示给用户;映射器用于基于物联网设备的设备类型和协议映射规则将物联网设备的设备协议字段映射至云平台的物模型协议的协议字段中得到映射关系;协议转换管理器用于将映射关系转换为协议语言,并生成协议转换描述文件。
[0037] 在本申请一实施例中,协议编辑器生成协议转换描述文件的步骤可以如图3所示,协议编辑器根据物联网设备协议的文本格式不同,使用不同的映射器进行协议转换描述文件生成。参阅图3,图3是本申请提供的协议转换框架中协议编辑器的工作流程图。
[0038] 具体地,协议编辑器根据设备协议不同的格式类型选择不同的映射器。当设备协议为二进制类型TLV时,协议编辑器使用地址寻址映射器,当设备协议为如plain text、字典表JSON等的文本类型协议时,协议编辑器使用 映射器。其中,TLV是基于二进制编码的,将数据以(T‑L‑V)的形式编码为字节数组,即TLV是字节流的数据传输协议。文本类型协议为使用可读的文本格式来表示数据,通常使用ASCII或Unicode编码。文本类型协议更加易于用户阅读和理解。
[0039] 具体地,请继续参阅图3,当物联网设备协议为二进制设备协议时,编辑页面将当前云平台的物模型协议导入物模型加载器中,物模型加载器加载用于存储物联网设备协议与云平台物模型协议之间的对应转换关系的物模型协议字段表,以供协议编辑器中的其他部分能够执行后续操作。编辑页面将二进制设备协议字段导入地址寻址映射器中,地址寻址映射器基于字节偏移或预设长度的序列将相应数值映射到云平台的物模型协议中。协议转换管理器对地址寻址映射器得到的映射关系转译为协议转换语言,并对其进行序列化处理,生成协议转换描述文件。
[0040] 当物联网设备协议为文本设备协议时,编辑页面将当前云平台的物模型协议导入物模型加载器中,物模型加载器加载用于存储物联网设备协议与云平台物模型协议之间的对应转换关系的物模型协议字段表,以供协议编辑器中的其他部分能够执行后续操作。编辑页面将文本协议设备协议字段导入字典表映射器中,字典表映射器基于字段名将相应数值映射到云平台的物模型协议中。协议转换管理器对字典表映射器得到的映射关系转译为协议转换语言,并对其进行序列化处理,生成协议转换描述文件。
[0041] 通过协议编辑器生成的协议转换描述文件描述了物联网设备协议的数据格式和数据结构以及与云平台物模型协议的映射关系,且使用JSON文件格式进行定义,使得协议转换描述文件具有自解释性、可读性和传输性,降低了在物联网设备和云平台之间的协议转换的转换耗时。
[0042] 使用本申请提供的协议编辑器进行协议转换描述文件的生成,用户只需提供新的物联网设备协议与云平台物模型协议之间转换对应的规则字段即可生成,降低了协议转换描述文件的编写门槛。
[0043] 具体地,协议转换引擎包括协议转换解释器、协议解码器和协议编码器。协议转换解释器用于解析协议转换描述文件,基于业务需求将解析结果发送给协议解码器和/或协议编码器;协议解码器用于基于解析结果将物联网设备的通讯协议解码为云平台的物模型协议;协议编码器用于基于解析结果将云平台的物模型协议转换为物联网设备的通讯协议。
[0044] 具体地,协议转换引擎可以支持多种编程语言,包括C语言、Java语言和Go语言等,由于与云平台无关,因此协议转换引擎可以灵活的集成在设备端、边缘设备端、边缘服务器、中央服务器等任意的物联网网络节点中。因此可以在各个中断中灵活分配算力,提高协议转换的效率。
[0045] 具体地,协议转换引擎基于实际应用场景搭载在云平台和/或物联网设备中。例如,在传统云计算场景(中央计算)下,协议转换引擎可以集成在云平台,提供中央计算的协议转换能力。在边缘计算场景下,协议转换引擎集成在边缘网络设备(如网关、本地网络连接点等),提供边缘计算的协议转换能力,这样在边缘网络与核心网络之间传输的数据格式即为物模型协议数据,大大减轻了云平台对海量物联网设备数据的处理效率压力。
[0046] 在本申请一实施例中,通过上述的协议转换框架可以实现一种设备通讯方法,如图4所示,参阅图4,图4是本申请提供的设备通讯方法一实施例的流程示意图。
[0047] 步骤41:物联网设备发送设备协议格式的通讯数据上述的协议转换框架。
[0048] 在本申请一实施例中,物联网设备和物联网平台使用协议转换框架进行设备通讯方法可以如图5所示,参阅图5,图5是本申请提供的设备通讯装置中应用协议转换框架实现设备通讯方法的实际业务场景一实施例的流程示意图。
[0049] 具体地,在数据发送流程中,物联网设备向协议转换框架发送当前物联网设备协议格式的数据,协议转换框架中的协议解码器根据生成的协议转换描述文件将数据转换为云平台的物模型协议格式数据,并发送给物联网云平台。
[0050] 步骤42:协议转换框架基于协议转换描述文件将设备协议格式的通讯数据转换为物模型协议格式的通讯数据并发送给云平台。
[0051] 具体地,在数据接受流程中,物联网云平台在接收到协议转换框架发送的数据后,对数据进行处理后发送物模型协议格式的指令数据返回给协议转换框架,协议转换框架中的协议编码器根据生成的协议转换描述文件将数据转换为物联网设备协议格式的指令数据,并将指令数据发送给物联网设备,物联网设备执行对应的指令,实现了物联网设备与物联网云平台之间的通讯交互。
[0052] 区别于现有技术的情况,本发明提供的协议转换框架用于实现设备通讯方法,协议转换框架包括协议编辑器和协议转换引擎,协议转换框架应用于物联网设备与云平台的数据通讯中;协议编辑器用于基于获取用户的协议配置指令,基于协议配置指令中的协议规则字段映射规则生成协议转换描述文件;协议转换引擎用于基于协议转换描述文件实现物联网设备的通讯协议与云平台的物模型协议的互相转换。通过上述用于实现设备通讯方法的协议转换框架,与常规的设备通讯方法相比,本申请提供的协议转换框架可以使用协议编辑器对用户想要配置的设备通讯协议中的协议字段进行转换,生成可以用于云平台与物联网设备之间进行通讯协议转换的协议描述文件,从而降低了在云平台中配置不同设备通讯协议的门槛,无需用户自行进行代码的编辑操作,提高了协议转换描述文件的编辑效率,减少了设备通讯时的协议转换时间。
[0053] 上述实施例的方法,可以利用一设备通讯装置来实现,下面结合图6进行描述,图6是本申请提供的设备通讯装置第一实施例的结构示意图。
[0054] 如图6所示,本申请实施例的设备通讯装置60包括发送模块61和转换模块62。
[0055] 其中,发送模块61,物联网设备发送设备协议格式的通讯数据至如上述的协议转换框架,其中,发送的协议转换框架为上述图1所描述的协议转换框架。
[0056] 转换模块62,用于协议转换框架基于协议转换描述文件将设备协议格式的通讯数据转换为物模型协议格式的通讯数据并发送给云平台。
[0057] 上述实施例的方法,可以利用一设备通讯装置来实现,下面结合图7,图7是本申请提供的设备通讯装置第二实施例的结构示意图,该设备通讯装置70包括存储器71和处理器72,存储器71用于存储程序数据,处理器72用于执行程序数据以实现如下的方法:
[0058] 物联网设备发送设备协议格式的通讯数据至上述的协议转换框架;协议转换框架基于协议转换描述文件将设备协议格式的通讯数据转换为物模型协议格式的通讯数据并发送给云平台。
[0059] 参阅图8,图8是本申请提供的计算机可读存储介质一实施例的结构示意图,该计算机可读存储介质80存储有程序数据81,程序数据81在被处理器执行时,用于实现如下的方法:
[0060] 物联网设备发送设备协议格式的通讯数据至上述的协议转换框架;协议转换框架基于协议转换描述文件将设备协议格式的通讯数据转换为物模型协议格式的通讯数据并发送给云平台。
[0061] 本申请的实施例以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本申请各个实施方式所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read‑Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
[0062] 以上所述仅为本申请的实施方式,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。