CN111756688B - 一种实现表计协议与应用解耦的方法及系统 - Google Patents
一种实现表计协议与应用解耦的方法及系统 Download PDFInfo
- Publication number
- CN111756688B CN111756688B CN202010418374.0A CN202010418374A CN111756688B CN 111756688 B CN111756688 B CN 111756688B CN 202010418374 A CN202010418374 A CN 202010418374A CN 111756688 B CN111756688 B CN 111756688B
- Authority
- CN
- China
- Prior art keywords
- meter
- protocol
- unified
- data
- converting
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/08—Protocols for interworking; Protocol conversion
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/12—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/565—Conversion or adaptation of application format or content
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/26—Special purpose or proprietary protocols or architectures
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- Computer Security & Cryptography (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明涉及一种实现表计协议与应用解耦的方法及系统,所述方法包括:协议转换步骤:将表计上报数据的协议根据预设的映射关系转换为表计所属的表计类别的统一协议,并将其协议转换成所述统一协议后的所述表计上报数据上传至应用层;命令字转换步骤:将所述应用层下发的统一命令字根据预设的映射规则转换为所述表计的特定命令字,并下发给所述表计;所述表计类别的统一协议和所述统一命令字引用编码字典的编码。本发明实现了不同类别或同一类别不同厂家不同型号表计协议与上层应用的解耦,从而使得同一应用可以接入不同厂家不同型号表计,提高了上层物联网应用的通用性,节省了项目实施成本,加快了项目实施进度。
Description
技术领域
本发明涉及物联网领域,具体地涉及一种实现表计协议与应用解耦的方法及系统。
背景技术
在物联网领域中,其中一个关键的问题就是需要接受边缘端设备或者前端数据采集模块通过网络上报上来的数据,并将这部分数据存储后供上层业务应用进行分析使用或者直接转发给其他的软件模块进行分析处理,同时也将上层业务应用下发下来的控制命令通过网络转发到边缘端设备或者控制模块上。在实际的应用中,边缘端设备往往来自不同的厂家,对于缺乏行业统一协议的设备来说,例如智能水表行业,来自不同厂家表计所提供的协议往往是各不相同的,其下发控制命令也是各不相同的,甚至同一个厂家不同型号的表计,其协议也各不相同。
由于表计本身硬件特性以及制造工艺、技术等的不同,表计之间的差异实际上可以分成两个不同层面的问题,一个不同类型表计之间的差异,这种差异更多会体现在根本性的能力上面,由这种根本性能力上的差异就会导致协议上所支持能力的不同,另一个层面的差异则是针对同一个类型表计,不同型号表计以及不同厂家之间表计之间的差异,对于这两个层面的差异,如果能够存在一个完全统一的协议,使得能够针对不同类型的表计,同一类型不同型号、不同厂家制造的产品都完全适用,则就可以从根本上解决这个问题。但现实的问题是,由于表计制造技术、工艺等方面的差异,要完全统一不同类型之间表计的协议几乎是不可能的;而在同一类型表计中,要让所有的厂家都遵循同样的标准和协议,也是非常困难的。
在现有的物联网项目实施中,基于物联网平台的应用往往都是与特定厂家的特定表计绑定在一起的,一旦换了表计,上层的应用就得重新开发;如果同时使用了几个厂家的表计,就需要使用几个针对不同厂家表计的应用。由于应用需要与厂家的特定型号表计绑定,故而导致了上层应用的维护成本太高,一旦换了其他厂家的表计,整个应用就得重新开发,甚至如果用了几个厂家的表计,就得同时使用并维护几套应用,即便用了同一个厂家的几个不同型号表计,也有可能需要使用几套不同的应用,因此,在现有的技术方案下,应用的使用效率较低,维护成本较高。
发明内容
本发明提供旨在解决现有技术中至少一种缺陷(不足),提供一种实现表计协议与应用解耦的方法,实现了不同类别或同一类别不同厂家不同型号表计协议与上层应用的解耦,从而使得同一应用可以接入不同厂家不同型号表计。
本发明采取的技术方案是:
一方面,提供一种实现表计协议与应用解耦的方法,包括:
协议转换步骤:将表计上报数据的协议根据预设的映射关系转换为表计所属的表计类别的统一协议,并将其协议转换成所述统一协议后的所述表计上报数据上传至应用层;
命令字转换步骤:将所述应用层下发的统一命令字根据预设的映射规则转换为所述表计的特定命令字,并下发给所述表计;
所述表计类别的统一协议和所述统一命令字引用编码字典的编码。
通过将表计上报数据的协议转换成表计所属的表计类别的统一协议,和将上层应用下发的统一命令字转换成表计的特定命令字,所述统一协议和统一命令字引用编码字典中的编码,实现了对于应用层面,不同表计类别协议的一致性,实现了同一类别不同厂家不同型号表计协议与上层应用的解耦,从而使得同一应用可以接入不同厂家不同型号设备,提高了上层物联网应用的通用性,节省了项目实施成本,加快了项目实施进度。
进一步地,所述协议转换步骤具体包括:
将表计上报数据的协议中表计的自有属性字段根据预设的映射关系转换为所述表计所属的表计类别的统一协议中的统一属性;
将表计上报数据的协议中表计的度量指标字段根据预设的映射关系转换为所述表计所属的表计类别的统一协议中的度量指标;
将其协议中表计的自有属性字段转换为所述统一协议中的统一属性、其协议中表计的度量指标字段转换为所述统一协议中的度量指标后的所述表计上报数据上传至应用层;
所述统一属性和所述度量指标引用编码字典的编码。
通过将表计上报数据协议中的自由属性字段和度量指标字段转换为表计所属的表计类别的统一协议中的统一属性和度量指标,统一属性和度量指标引用编码字典的编码,从而确保了对于同一含义的属性或者度量指标,在不同表计类别中,其表示是一致的。
进一步地,所述协议转换步骤还包括:判断所述表计上报数据的协议中的计量单位字段是否与所述表计所属的表计类别的统一协议中的计量单位字段相同,若否则根据预设的协议字段计算表达式将表计上报数据的协议中的计量单位字段转换成所述统一协议中的计量单位字段。
通过将表计上报数据的协议中的计量单位字段转换成所述统一协议中的计量单位字段,从而使得上层应用能分析出表计上报的正确数据。
进一步地,所述协议转换步骤之前,还包括:判断所述表计上报数据的协议的格式是否为JSON数据格式,若否则根据所述表计的型号从预设的插件中选择对应的转换插件将所述上报数据的协议转换成JSON数据格式。
通过将不同的数据格式的表计上报数据转换成统一格式的数据,从而使得同一应用可以接入上报数据格式不同的表计。
进一步地,所述统一命令字和所述特定命令字的格式为JSON数据格式,当所述表计上报数据的协议的格式不为JSON数据格式时,所述命令字转换步骤还包括:将从预设的插件中选择对应的转换插件将JSON数据格式的特定命令字转换成与所述表计上报数据的协议的格式相同的特定命令字。
通过将统一数据格式的特定命令字转换成与所述表计上报数据的协议的格式相同的特定命令字,从而使得同一应用可以接入不同上报数据格式的表计。
进一步地,所述命令字转换步骤还包括:判断所述应用层下发的统一命令字中参数的类型和/或个数是否与表计的特定命令字中参数的类型和/或个数相同,若否则采用预设的命令字参数转换方法将统一命令字的参数的类型和/或个数转换成表计的特定命令字的参数的类型和/或个数。
通过将统一命令字中参数的类型或个数转换成表计接收的特定命令字中参数的类型或个数,从而使得同一应用可以接入不同的协议的表计。
另一方面,提供一种实现表计协议与应用解耦的系统,包括:
数据接收模块,用于接收表计上报数据和应用层下发的统一命令字;
转换模块,用于将表计上报数据的协议根据预设的映射关系转换为所述表计所属的表计类别的统一协议,或者将应用层下发的统一命令字根据预设的映射规则转换为表计的特定命令字,所述表计类别的统一协议和所述统一命令字引用编码字典的编码;
信息发送模块,用于将所述表计上报数据的协议转换成所述统一协议后的所述表计上报数据上传至应用层,或者将所述表计的特定命令字发送给所述表计。
通过将表计上报数据的协议转换成表计所属的表计类别的统一协议,和将上层应用下发的统一命令字转换成表计的特定命令字,所述统一协议和统一命令字引用编码字典中的编码,实现了对于应用层面,不同表计类别协议的一致性,实现了同一类别不同厂家不同型号表计协议与上层应用的解耦,从而使得同一应用可以接入不同厂家不同型号设备,提高了上层物联网应用的通用性,节省了项目实施成本,加快了项目实施进度。
进一步地,所述将表计上报数据的协议根据预设的映射关系转换为所述表计所属的表计类别的统一协议具体包括:将表计上报数据的协议中表计的自有属性字段和度量指标字段根据预设的映射关系转换为所述表计所属的表计类别的统一协议中的统一属性和度量指标。
通过将表计上报数据协议中表计的自由属性字段和度量指标字段转换为表计所属的表计类别的统一协议中的统一属性和度量指标,统一属性和度量指标引用编码字典的编码,从而确保了对于同一含义的属性或者度量指标,在不同表计类别中,其表示是一致的。
进一步地,所述系统还包括:
判断模块,用于判断所述表计上报数据的协议中的计量单位字段是否与所述表计所述的表计类别的统一协议中的计量单位字段相同,或者,判断所述应用层下发的统一命令字中参数的类型和/或个数是否与表计的特定命令字中参数的类型和/或个数相同;
所述转换模块还用于当判断模块判断所述表计上报数据的协议中的计量单位字段与所述表计所属的表计类别的统一协议中的计量单位字段不相同时,根据预设的协议字段计算表达式将表计上报数据的协议中的计量单位字段转换成所述统一协议中的计量单位字段,或者,当判断模块判断所述应用层下发的统一命令字中参数的类型和/或个数与表计的特定命令字中参数的类型和/或个数不相同时,采用预设的命令字参数转换方法将统一命令字的参数的类型和/或个数转换成表计的特定命令字的参数的类型和/或个数。
通过将表计上报数据的协议中的计量单位字段转换成所述统一协议中的计量单位字段,从而使得上层应用能分析出表计上报的正确数据;通过将统一命令字中参数的类型或个数转换成表计接收的特定命令字中参数的类型或个数,从而使得同一应用可以接入不同的协议的表计。
进一步地,所述系统还包括:
数据格式转换模块,用于当表计上报的数据的格式不为JSON数据格式时,根据所述表计的型号从预设的插件中选择对应的转换插件将所述表计上报数据的协议转换成JSON数据格式。
通过将JSON数据格式的特定命令字转换成与所述表计上报数据的协议的格式相同的特定命令字,从而使得同一应用可以接入不同上报数据格式的表计。
与现有技术相比,本发明的有益效果为:
1、实现了同一类别不同厂家不同型号设备协议与上层应用的解耦,从而使得同一应用可以接入不同厂家不同型号设备,提高了上层物联网应用的通用性,节省了项目实施成本,加快了项目实施进度。
2、当底层表计发生更改时,本发明只需要通过产品配置或者开发新的插件即可更换新的设备,无法改动上层应用,架构灵活,通用性好。
附图说明
图1为实施例1提供的一种实现表计协议与应用解耦的方法流程图;
图2为实施例1提供的一种实现表计协议与应用解耦的协议映射图;
图3为实施例2提供的一种实现表计协议与应用解耦的系统模块图。
具体实施方式
本发明附图仅用于示例性说明,不能理解为对本发明的限制。为了更好说明以下实施例,附图某些部件会有省略、放大或缩小,并不代表实际产品的尺寸;对于本领域技术人员来说,附图中某些公知结构及其说明可能省略是可以理解的。
实施例1
本实施例提供一种实现设备协议与应用解耦的方法,如图1所示为所述方法的具体流程图,包括:
协议转换步骤:将表计上报数据的协议根据预设的映射关系转换为表计所属的表计类别的统一协议,并将其协议转换成所述统一协议后的所述表计上报数据上传至应用层;
命令字转换步骤:将所述应用层下发的统一命令字根据预设的映射规则转换为所述表计的特定命令字,并下发给所述表计;
所述表计类别的统一协议和所述统一命令字引用编码字典的编码。
具体的,所述表计类别指的是一个类别的表计产品,例如小口径超声波水表为一个类别的表计产品,表计产品指的是特定厂家具体型号的表计产品,表计是指一个具体的物理表计;所述编码字典是关于属性、度量指标、命令字和命令参数的公共定义,如表1所示为其中一个编码字典表,所述统一协议和统一命令字是通过应用字典表ID来对编码字典的编码进行引用。首先引用编码字典中的编码对同一类别的表计的协议进行定义形成该表计类别的统一协议,再通过协议映射的方式建立特定型号表计协议与表计类别的统一协议之间的映射关系,并将特定型号表计协议与表计类别的统一协议之间的映射关系进行存储,具体的如图2所示为特定型号表计协议与表计统一协议的协议映射图;在接收到表计上报的数据后,先将表计上报数据的协议根据所述特定型号表计协议与表计类别的统一协议之间的映射关系转换为表计所述的表计类别的统一协议,并将其协议转换成所述统一协议后的所述表计上报数据上传至应用层,从而应用层对所述表计上报数据进行分析使用或者直接转发给其他的软件模块进行分析处理;同时,将所述应用层下发的统一命令字根据预设的映射规则转换为所述表计的特定命令字,并将其下发给所述表计,所述统一命令字是预先引用编码字典中的编码并存储在数据库中的。以水表为例,在应用层,所有的应用可以都使用dailyFlow这个编码来代表所有水表用户的每日累积用水量,则在定义表计类别的统一协议时,引用dailyFlow来表示水表用户的每日累积用水量;用GetFlow这个编码来代表从设备中获取某一天某个水表的累积用水量这个命令,而对于GetFlow这个命令则用dataDate代表要获取的日期变量,用deviceId代表要获取的水表编码,这两个称之为GetFlow命令的参数,当某一表计使用flow来表示水表用户的累积用水量,预先建立所述表计与其所属表计类别的统一协议的映射关系,即“flow:dailyFlow”,在接收到所述表计上报数据后,将所述表计上报数据的协议中的“flow”根据“flow:dailyFlow”这个映射关系将“flow”转换成“dailyFlow”。
表1
通过将表计上报数据的协议转换成表计所属的表计类别的统一协议,和将上层应用下发的统一命令字转换成表计的特定命令字,所述统一协议和统一命令字引用编码字典中的编码,实现了对于应用层面,不同表计类别协议的一致性,实现了同一类别不同厂家不同型号表计协议与上层应用的解耦,从而使得同一应用可以接入不同厂家不同型号设备,提高了上层物联网应用的通用性,节省了项目实施成本,加快了项目实施进度。
在本实施例中,所述协议转换步骤具体包括:
将表计上报数据的协议中的自有属性字段根据预设的映射关系转换为所述表计所属的表计类别的统一协议中的统一属性;
将表计上报数据的协议中表计的度量指标字段根据预设的映射关系转换为所述表计所属的表计类别的统一协议中的度量指标;
将其协议中表计的自有属性字段转换为所述统一协议中的统一属性、其协议中表计的度量指标字段转换为所述统一协议中的度量指标后的所述表计上报数据上传至应用层;
所述统一属性和所述度量指标引用编码字典的编码。
通过将表计上报数据协议中的自由属性字段和度量指标字段转换为表计所属的表计类别的统一协议中的统一属性和度量指标,统一属性和度量指标引用编码字典的编码,从而确保了对于同一含义的属性或者度量指标,在不同表计类别中,其表示是一致的。
在本实施例中,所述协议转换步骤还包括:判断所述表计上报数据的协议中的计量单位字段是否与所述表计所属的表计类别的统一协议中的计量单位字段相同,若否则根据预设的协议字段计算表达式将表计上报数据的协议中的计量单位字段转换成所述统一协议中的计量单位字段。
具体的,在将所述表计上报数据的协议转换成所述统一协议后,判断所述表计上报数据的协议中的计量单位字段是否与所述表计所述的表计类别的统一协议中的计量单位字段相同,如果不相同则根据预设的协议字段计算表达式将表计上报数据的协议中的计量单位字段转换成所述统一协议中的计量单位字段,同样以水表为例,当所述表计上报数据的协议中的计量单位字段为立方米,而所述统一协议中的计量单位字段为升,则根据预设的协议字段计算表达式:dailyFlow=dailyFlow*1000将所述表计上报数据协议中水表用户的累积用水量的计量单位字段立方米转换成所述统一协议中的计量单位字段升。
通过将表计上报数据的协议中的计量单位字段转换成所述统一协议中的计量单位字段,从而使得上层应用能分析出表计上报的正确数据。
在本实施例中,所述协议转换步骤之前,还包括:判断所述表计上报数据的协议的格式是否为JSON数据格式,若否则根据所述表计的型号从预设的插件中选择对应的转换插件将所述上报数据的协议转换成JSON数据格式。
在本实施例具体实施过程中,所述表计上报数据的协议的格式为json格式,在进行协议转换之前,还包括判断所述表计上报数据的协议的格式是否为json格式,如果不为json格式则根据所述表计的型号从预设的插件中选择对应的转换插件将所述表计上报数据的协议转换成json格式;例如,当所述表计上报数据的协议的格式为二进制时,根据所述表计的型号从预设的插件中选择二进制转换插件将二进制格式的协议转换成json格式的协议。
通过将不同的数据格式的表计上报数据转换成统一格式的数据,从而使得同一应用可以接入上报数据格式不同的表计。
在本实施例中,所述统一命令字和所述特定命令字的格式为JSON数据格式,当所述表计上报数据的协议的格式不为JSON数据格式时,所述命令字转换步骤还包括:将从预设的插件中选择对应的转换插件将JSON数据格式的特定命令字转换成与所述表计上报数据的协议的格式相同的特定命令字。
在本实施例具体实施过程中,当所述表计上报数据的协议的格式不为json格式时,例如,所述表计上报数据的协议的格式为二进制格式时,在将所述统一命令字转换成特定命令字后从预设的插件中选择二进制转换插件将json格式的特定命令字转换成二进制格式的特定命令字。
通过将JSON数据格式的特定命令字转换成与所述表计上报数据的协议的格式相同的特定命令字,从而使得同一应用可以接入不同上报数据格式的表计。
在本实施例中,所述命令字转换步骤还包括:判断所述应用层下发的统一命令字中参数的类型和/或个数是否与表计的特定命令字中参数的类型和/或个数相同,若否则采用预设的命令字参数转换方法将统一命令字的参数的类型和/或个数转换成表计的特定命令字的参数的类型和/或个数。
具体的,所述预设的命令字参数转换方法为预先编写好并存储在数据库的各种不同的转换逻辑的转换脚本,当判断所述应用层下发的统一命令字中参数的类型与所述表计的特定命令字中参数的类型不同时,从数据库中根据选取与所述统一命令字中参数的类型转换成所述特定命令字的参数的类型的转换逻辑相同的转换脚本,所述转换脚本通过读取所述统一命令字中参数的值,创建一个新的符合所述特定命令字的参数类型的参数,然后将所述统一命令字中参数的值进行转换;当所述应用层下发的统一命令字中参数的个数与所述表计的特定命令字中参数的个数不同时,从数据库中根据选取与所述统一命令字中参数的个数转换成所述特定命令字的参数的个数的转换逻辑相同的转换脚本,所述转换脚本通过所述统一命令字中所有参数的值,创建新的特定命令字中的参数列表,将所读取的所有参数的值逐个进行转换并赋值从而完成参数个数的转换。
通过将统一命令字中参数的类型或个数转换成表计接收的特定命令字中参数的类型或个数,从而使得同一应用可以接入不同的协议的表计。
实施例2
在本实施例中,提供一种实现表计协议与应用解耦的系统,如图3所示为系统的模块图,所述系统包括:
数据接收模块,用于接收表计上报数据和应用层下发的统一命令字;
转换模块,用于将表计上报数据的协议根据预设的映射关系转换为所述表计所属的表计类别的统一协议,或者将应用层下发的统一命令字根据预设的映射规则转换为表计的特定命令字,所述表计类别的统一协议和所述统一命令字引用编码字典的编码;
信息发送模块,用于将所述表计上报数据的协议转换成所述统一协议后的所述表计上报数据上传至应用层,或者将所述表计的特定命令字发送给所述表计。
具体的,在表计上报数据过程中,数据接收模块接收表计上报数据后交由转换模块将所述表计上报数据的协议根据预设的映射关系转换为所述表计所述的表计类别的统一协议,再由消息发送模块将所述表计上报数据的协议转换成所述统一协议后的所述表计上报数据上传至应用层;在所述应用层下发统一命令字的过程中,数据接收模块接收所述应用层下发的统一命令字后交由转换模块将所述统一命令字根据预设的映射规则转换为表计的特定命令字,最后由消息发送模块将所述表计的特定命令字发送给所述表计。以水表为例,在应用层,所有的应用可以都使用dailyFlow这个编码来代表所有水表用户的累计用水量,则在定义表计类别的统一协议时,引用dailyFlow来表示水表用户的每日累积用水量;用GetFlow这个编码来代表从设备中获取某一天某个水表的累积用水量这个命令,而对于GetFlow这个命令则用dataDate代表要获取的日期变量,用deviceId代表要获取的水表编码,这两个称之为GetFlow命令的参数,当某一表计使用flow来表示水表用户的每日累积用水量,预先建立所述表计与其所属表计类别的统一协议的映射关系,即“flow:dailyFlow”,在数据接收模块接收到所述表计上报数据后,转换模块将所述表计上报数据的协议中的“flow”根据“flow:dailyFlow”这个映射关系将“flow”转换成“dailyFlow”。
在本实施例中,所述将表计上报数据的协议根据预设的映射关系转换为所述表计所属的表计类别的统一协议具体包括:将表计上报数据的协议中表计的自有属性字段和度量指标字段根据预设的映射关系转换为所述表计所属的表计类别的统一协议中的统一属性和度量指标。
在本实施例中,所述系统还包括:
判断模块,用于判断所述表计上报数据的协议中的计量单位字段是否与所述表计所述的表计类别的统一协议中的计量单位字段相同,或者,判断所述应用层下发的统一命令字中参数的类型和/或个数是否与表计的特定命令字中参数的类型和/或个数相同;
所述转换模块还用于当判断模块判断所述表计上报数据的协议中的计量单位字段与所述表计所属的表计类别的统一协议中的计量单位字段不相同时,根据预设的协议字段计算表达式将表计上报数据的协议中的计量单位字段转换成所述统一协议中的计量单位字段,或者,当判断模块判断所述应用层下发的统一命令字中参数的类型和/或个数与表计的特定命令字中参数的类型和/或个数不相同时,采用预设的命令字参数转换方法将统一命令字的参数的类型和/或个数转换成表计的特定命令字的参数的类型和/或个数。
具体的,在转换模块将所述表计上报数据的协议转换成所述统一协议后,判断模块判断所述表计上报数据的协议中的计量单位字段是否与所述表计所述的表计类别的统一协议中的计量单位字段相同,如果不相同则交由转换模块根据预设的协议字段计算表达式将表计上报数据的协议中的计量单位字段转换成所述统一协议中的计量单位字段,同样以水表为例,当判断模块判断所述表计上报数据的协议中水表用户的累积用水量的计量单位字段为立方米,而所述统一协议中的计量单位字段为升,转换模块则根据预设的协议字段计算表达式:dailyFlow=dailyFlow*1000将所述表计上报数据协议中的计量单位字段立方米转换成所述统一协议中的计量单位字段升。
具体的,所述预设的命令字参数转换方法为预先编写好并存储在数据库的各种不同的转换逻辑的转换脚本,当判断模块判断所述应用层下发的统一命令字中参数的类型与所述表计的特定命令字中参数的类型不同时,由转换模块从数据库中根据选取与所述统一命令字中参数的类型转换成所述特定命令字的参数的类型的转换逻辑相同的转换脚本,所述转换脚本通过读取所述统一命令字中参数的值,创建一个新的符合所述特定命令字的参数类型的参数,然后将所述统一命令字中参数的值进行转换;当判断模块判断所述应用层下发的统一命令字中参数的个数与所述表计的特定命令字中参数的个数不同时,由转换模块从数据库中根据选取与所述统一命令字中参数的个数转换成所述特定命令字的参数的个数的转换逻辑相同的转换脚本,所述转换脚本通过所述统一命令字中所有参数的值,创建新的特定命令字中的参数列表,将所读取的所有参数的值逐个进行转换并赋值从而完成参数个数的转换。
在本实施例中,所述系统还包括:
数据格式转换模块,用于当表计上报的数据的格式不为JSON数据格式时,根据所述表计的型号从预设的插件中选择对应的转换插件将所述表计上报数据的协议转换成JSON数据格式。
在本实施例具体实施过程中,所述表计上报数据的协议的格式为json格式,在进行协议转换之前,当所述表计上报数据的协议的格式不为json格式时,数据格式转换模块则根据所述表计的型号从预设的插件中选择对应的转换插件将所述表计上报数据的协议转换成json格式;例如,当所述表计上报数据的协议的格式为二进制时,数据格式转换模块根据所述表计的型号从预设的插件中选择二进制转换插件将二进制格式的协议转换成json格式的协议。
显然,本发明的上述实施例仅仅是为清楚地说明本发明技术方案所作的举例,而并非是对本发明的具体实施方式的限定。凡在本发明权利要求书的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明权利要求的保护范围之内。
Claims (9)
1.一种实现表计协议与应用解耦的方法,其特征在于,包括:
协议转换步骤:将表计上报数据的协议根据预设的映射关系转换为表计所属的表计类别的统一协议,并将其协议转换成所述统一协议后的所述表计上报数据上传至应用层;
命令字转换步骤:将所述应用层下发的统一命令字根据预设的映射规则转换为所述表计的特定命令字,并下发给所述表计;
判断所述应用层下发的统一命令字中参数的类型和/或个数是否与表计的特定命令字中参数的类型和/或个数相同,若否则采用预设的命令字参数转换方法将统一命令字的参数的类型和/或个数转换成表计的特定命令字的参数的类型和/或个数;
所述表计类别的统一协议和所述统一命令字引用编码字典的编码。
2.根据权利要求1所述的一种实现表计协议与应用解耦的方法,其特征在于,所述协议转换步骤具体包括:
将表计上报数据的协议中表计的自有属性字段根据预设的映射关系转换为所述表计所属的表计类别的统一协议中的统一属性;
将表计上报数据的协议中的度量指标字段根据预设的映射关系转换为所述表计所属的表计类别的统一协议中的度量指标;
将其协议中表计的自有属性字段转换为所述统一协议中的统一属性、其协议中的度量指标字段转换为所述统一协议中的度量指标后的所述表计上报数据上传至应用层;
所述统一属性和所述度量指标引用编码字典的编码。
3.根据权利要求2所述的一种实现表计协议与应用解耦的方法,其特征在于,所述协议转换步骤还包括:判断所述表计上报数据的协议中的计量单位字段是否与所述表计所属的表计类别的统一协议中的计量单位字段相同,若否则根据预设的协议字段计算表达式将表计上报数据的协议中的计量单位字段转换成所述统一协议中的计量单位字段。
4.根据权利要求1所述的一种实现表计协议与应用解耦的方法,其特征在于,所述协议转换步骤之前,还包括:判断所述表计上报数据的协议的格式是否为JSON数据格式,若否则根据所述表计的型号从预设的插件中选择对应的转换插件将所述上报数据的协议转换成JSON数据格式。
5.根据权利要求4所述的一种实现表计协议与应用解耦的方法,其特征在于,所述统一命令字和所述特定命令字的格式为JSON数据格式,当所述表计上报数据的协议的格式不为JSON数据格式时,所述命令字转换步骤还包括:将从预设的插件中选择对应的转换插件将JSON数据格式的特定命令字转换成与所述表计上报数据的协议的格式相同的特定命令字。
6.一种实现表计协议与应用解耦的系统,其特征在于,包括:
数据接收模块,用于接收表计上报数据和应用层下发的统一命令字;
转换模块,用于将表计上报数据的协议根据预设的映射关系转换为所述表计所属的表计类别的统一协议,或者将应用层下发的统一命令字根据预设的映射规则转换为表计的特定命令字,所述表计类别的统一协议和所述统一命令字引用编码字典的编码;
信息发送模块,用于将所述表计上报数据的协议转换成所述统一协议后的所述表计上报数据上传至应用层,或者将所述表计的特定命令字发送给所述表计;
判断模块,用于判断所述应用层下发的统一命令字中参数的类型和/或个数是否与表计的特定命令字中参数的类型和/或个数相同;
所述转换模块还用于当判断模块判断所述应用层下发的统一命令字中参数的类型和/或个数与表计的特定命令字中参数的类型和/或个数不相同时,采用预设的命令字参数转换方法将统一命令字的参数的类型和/或个数转换成表计的特定命令字的参数的类型和/或个数。
7.根据权利要求6所述的一种实现表计协议与应用解耦的系统,其特征在于,所述将表计上报数据的协议根据预设的映射关系转换为所述表计所属的表计类别的统一协议具体包括:将表计上报数据的协议中表计的自有属性字段和度量指标字段根据预设的映射关系转换为所述表计所属的表计类别的统一协议中的统一属性和度量指标。
8.根据权利要求6所述的一种实现表计协议与应用解耦的系统,其特征在于,所述判断模块,还用于判断所述表计上报数据的协议中的计量单位字段是否与所述表计所述的表计类别的统一协议中的计量单位字段相同;
所述转换模块还用于当判断模块判断所述表计上报数据的协议中的计量单位字段与所述表计所属的表计类别的统一协议中的计量单位字段不相同时,根据预设的协议字段计算表达式将表计上报数据的协议中的计量单位字段转换成所述统一协议中的计量单位字段。
9.根据权利要求6所述的一种实现表计协议与应用解耦的系统,其特征在于,所述系统还包括:
数据格式转换模块,用于当表计上报的数据的格式不为JSON数据格式时,根据所述表计的型号从预设的插件中选择对应的转换插件将所述表计上报数据的协议转换成JSON数据格式。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010418374.0A CN111756688B (zh) | 2020-05-18 | 2020-05-18 | 一种实现表计协议与应用解耦的方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010418374.0A CN111756688B (zh) | 2020-05-18 | 2020-05-18 | 一种实现表计协议与应用解耦的方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111756688A CN111756688A (zh) | 2020-10-09 |
CN111756688B true CN111756688B (zh) | 2021-03-16 |
Family
ID=72673234
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010418374.0A Active CN111756688B (zh) | 2020-05-18 | 2020-05-18 | 一种实现表计协议与应用解耦的方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111756688B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113783831B (zh) * | 2021-01-19 | 2024-01-16 | 北京沃东天骏信息技术有限公司 | 一种物联网信息处理方法、装置和系统 |
CN113381974A (zh) * | 2021-05-06 | 2021-09-10 | 北京工业大学 | 一种应用于专用通信的现场总线与Modbus-TCP之间的协议转换方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103326936A (zh) * | 2012-03-21 | 2013-09-25 | 刘广勤 | 多种异构感知层网络统一接入的多协议物联网网关 |
CN105337421A (zh) * | 2015-12-09 | 2016-02-17 | 梅照付 | 一种智能电网系统中的协议转换及其相互通讯方法 |
CN106205105A (zh) * | 2016-08-05 | 2016-12-07 | 武汉丰天鼎业信息网络有限公司 | 多种数据格式的数据集中器 |
CN106997657A (zh) * | 2016-01-25 | 2017-08-01 | 北京智芯微电子科技有限公司 | 用于多类计量表数据合一采集的协议转换器及其工作方法 |
CN110049014A (zh) * | 2019-03-18 | 2019-07-23 | 武汉虹信技术服务有限责任公司 | 一种基于多Modbus总线协议的OpenAPI转换系统及方法 |
CN110222008A (zh) * | 2019-05-06 | 2019-09-10 | 平安国际智慧城市科技股份有限公司 | 一种数据格式的转换方法、系统、介质及电子设备 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140244001A1 (en) * | 2013-02-25 | 2014-08-28 | Qualcomm Incorporated | Controlling many different devices from a smart controller |
-
2020
- 2020-05-18 CN CN202010418374.0A patent/CN111756688B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103326936A (zh) * | 2012-03-21 | 2013-09-25 | 刘广勤 | 多种异构感知层网络统一接入的多协议物联网网关 |
CN105337421A (zh) * | 2015-12-09 | 2016-02-17 | 梅照付 | 一种智能电网系统中的协议转换及其相互通讯方法 |
CN106997657A (zh) * | 2016-01-25 | 2017-08-01 | 北京智芯微电子科技有限公司 | 用于多类计量表数据合一采集的协议转换器及其工作方法 |
CN106205105A (zh) * | 2016-08-05 | 2016-12-07 | 武汉丰天鼎业信息网络有限公司 | 多种数据格式的数据集中器 |
CN110049014A (zh) * | 2019-03-18 | 2019-07-23 | 武汉虹信技术服务有限责任公司 | 一种基于多Modbus总线协议的OpenAPI转换系统及方法 |
CN110222008A (zh) * | 2019-05-06 | 2019-09-10 | 平安国际智慧城市科技股份有限公司 | 一种数据格式的转换方法、系统、介质及电子设备 |
Non-Patent Citations (1)
Title |
---|
"智能水表抄表系统的研究与设计";姜启;《中国优秀硕士学位论文全文数据库-信息科技辑》;20111215;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN111756688A (zh) | 2020-10-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111756688B (zh) | 一种实现表计协议与应用解耦的方法及系统 | |
CN112187632A (zh) | 工业设备一体化模型及构建方法、边缘网关装置、工业设备一体化系统 | |
CN112488558A (zh) | 一种基于工业互联网的能耗监控及分析系统 | |
CN109582588A (zh) | 测试用例生成方法、装置及电子设备 | |
EP2352269A1 (en) | Service access method and system | |
CN112347047A (zh) | 一种车辆数据文件生成方法及装置 | |
CN110837496A (zh) | 一种基于动态sql实现的数据质量管理方法及系统 | |
CN112235159A (zh) | 网关质量画像生成方法、系统、网络设备和存储介质 | |
CN114581210A (zh) | 一种基于rpa的企业财务的数字化管理方法及系统 | |
CN104698962B (zh) | Plc人机通讯方法及系统 | |
CN113360353B (zh) | 一种测试服务器和云平台 | |
CN118017564A (zh) | 一种基于开源鸿蒙系统的储能方法 | |
CN117291576A (zh) | 一种基于工业场景数据趋势预测的方法、系统、计算机设备及存储介质 | |
CN112311862A (zh) | 一种多功能互联通讯协议系统及其数据状态维护流程 | |
CN115034347B (zh) | 用于二维码数据溯源的工业物联网及其控制方法 | |
CN112257347B (zh) | 一种变电设备的仿真系统 | |
CN110708351A (zh) | 数据传输方法 | |
CN112817988B (zh) | 一种企业业务的同步加速方法 | |
CN118400443B (zh) | 电能表数据转换方法、装置、计算机设备及存储介质 | |
CN115473343B (zh) | 一种智能网关多主站并行接入测试方法 | |
CN118466423B (zh) | 工业设备维护闭环管理系统 | |
CN118394725B (zh) | 一种基于vmf的数据报文压缩方法及系统 | |
CN114281841B (zh) | 一种基于业务需求生成配置sql语句的方法 | |
CN115243301B (zh) | 一种软件模拟5g移动网络环境的装置 | |
CN110556032A (zh) | 基于互联网的3d模型教学系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |