CN108377232A - 一种多协议通信方法及装置 - Google Patents
一种多协议通信方法及装置 Download PDFInfo
- Publication number
- CN108377232A CN108377232A CN201810084223.9A CN201810084223A CN108377232A CN 108377232 A CN108377232 A CN 108377232A CN 201810084223 A CN201810084223 A CN 201810084223A CN 108377232 A CN108377232 A CN 108377232A
- Authority
- CN
- China
- Prior art keywords
- protocol
- trigger event
- data
- target
- equipment trigger
- 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.)
- Granted
Links
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/18—Multiprotocol handlers, e.g. single devices capable of handling multiple protocols
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明提供一种多协议通信方法及装置,所述方法包括:获取设备触发事件;基于所述设备触发事件,获取目标协议数据,并发送所述目标协议数据。本发明提供的多协议通信方法及装置,通过伪终端技术将一路物理串口根据支持的不同协议虚拟出相同数量的虚拟串口,不同的协议进程通过虚拟串口进行读写操作,就像操作真实的物理串口一样,无需额外提供接口,避免不必要的依赖,并且提高了进程代码的可移植性。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种多协议通信方法及装置。
背景技术
行驶记录仪按照国标的要求提供一路对外的物理串口,串口通讯协议采用GB19056-2012标准协议,随着产品集成越来越多的其他标准的功能,要求该对外的物理串口能自适应支持不同标准的串口协议,从而避免为每种协议增加一路物理串口,同时根据模块化的软件设计原则设计,可能会将不同协议的处理划分为不同的进程,但多进程不能同时操作一个串口设备。
现有技术中的做法是采用一个串口通信代理服务,负责消息的转发,来实现多个进程同时操作一个串口设备。
现有技术中的方法会构成依赖,且不利于移植。
发明内容
(一)要解决的技术问题
本发明的目的是提供一种多协议通信方法,解决了现有技术中的通信方法依赖性强,进程代码可移植性差的技术问题。
(二)技术方案
为了解决上述技术问题,一方面,本发明提供一种多协议通信方法,包括:
获取设备触发事件;
基于所述设备触发事件,获取目标协议数据,并发送所述目标协议数据。
进一步地,所述获取设备触发事件之前,还包括:
获取多个协议解析插件;
创建每个协议解析插件对应的虚拟串口。
进一步地,所述基于所述设备触发事件,获取目标协议数据,并发送所述目标协议数据,具体为:
若判断获知所述设备触发事件是由物理串口触发,则通过所述物理串口获取目标协议数据;
遍历获取到的每个协议解析插件;
根据遍历到的协议解析插件X对所述目标协议数据进行解析;
将解析后的目标协议数据发送到所述协议解析插件X对应的虚拟串口。
进一步地,所述基于所述设备触发事件,获取目标协议数据,并发送所述目标协议数据,具体为:
若判断获知所述设备触发事件是由虚拟串口触发,则通过所述虚拟串口获取目标协议数据;
将所述目标协议数据发送到物理串口。
另一方面,本发明提供一种多协议通信装置,包括:
获取模块,用于获取设备触发事件;
数据处理模块,用于基于所述设备触发事件,获取目标协议数据,并发送所述目标协议数据。
再一方面,本发明提供一种用于多协议通信的电子设备,包括:
存储器和处理器,所述处理器和所述存储器通过总线完成相互间的通信;所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令能够执行上述的方法。
又一方面,本发明提供一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,使所述计算机执行上述的方法。
又一方面,本发明提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述的方法。
(三)有益效果
本发明提供的多协议通信方法及装置,通过伪终端技术将一路物理串口根据支持的不同协议虚拟出相同数量的虚拟串口,不同的协议进程通过虚拟串口进行读写操作,就像操作真实的物理串口一样,无需额外提供接口,避免不必要的依赖,并且对虚拟串口操作进程屏蔽了硬件细节,只需要通过系统接口操作系统设备,无需关心操作的串口是虚拟串口的还是物理串口,以及根本不知道系统中存在一个串口多路复用服务进程,如果将来新版硬件专门为操作进程增加一个物理串口,也无需修改进程代码,提高了进程代码的可移植性。
附图说明
图1为依照本发明实施例的多协议通信方法示意图;
图2为依照本发明实施例的多协议通信方法的逻辑流程图;
图3为依照本发明实施例的多协议通信装置示意图;
图4为本发明实施例提供的用于多协议通信的电子设备的结构示意图。
具体实施方式
为了使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例1:
图1为依照本发明实施例的多协议通信方法示意图,如图1所示,本发明实施例提供一种多协议通信方法,包括:
步骤S10、获取设备触发事件;
步骤S20、基于所述设备触发事件,获取目标协议数据,并发送所述目标协议数据。
进一步地,所述获取设备触发事件之前,还包括:
获取多个协议解析插件;
创建每个协议解析插件对应的虚拟串口。
进一步地,所述基于所述设备触发事件,获取目标协议数据,并发送所述标协议数据,具体为:
若判断获知所述设备触发事件是由物理串口触发,则通过所述物理串口获取目标协议数据;
遍历获取到的每个协议解析插件;
根据遍历到的协议解析插件X对所述目标协议数据进行解析;
将解析后的目标协议数据发送到所述协议解析插件X对应的虚拟串口。
进一步地,所述基于所述设备触发事件,获取目标协议数据,并发送所述目标协议数据,具体为:
若判断获知所述设备触发事件是由虚拟串口触发,则通过所述虚拟串口获取目标协议数据;
将所述目标协议数据发送到物理串口。
具体的,图2为依照本发明实施例的多协议通信方法的逻辑流程图,如图2所示,首先,启动服务进程,该服务进程为ttyMuxd进程,是一种后台服务进程,是唯一操作物理串口的进程,负责物理串口数据到虚拟串口的数据路由,以及收集虚拟串口数据转发到物理串口。
虚拟串口是系统提供的逻辑设备,无实际物理串口关联,由master和slave两部分组成,创建后在系统设备目录会出现一对master、slave设备,对master进行的写操作,数据会进入slave的输入队列,反之亦然。
协议解析插件,是一个针对特定协议进行解析的组件,被服务进程加载和适时调用,用于识别串口数据属于何种协议。
启动服务进程后,以读写方式打开物理串口,例如/dev/ttyS1。
根据配置加载协议解析插件,并创建与协议解析插件数量等同的虚拟串口,并打开虚拟串口,例如/dev/ttyM1~/dev/ttMn。确保所有预设的协议解析插件全部加载完毕。
同时监听物理串口和指定数量的虚拟串口的输入事件,等待获取设备触发事件。
基于设备触发事件,获取目标协议数据,并发送目标协议数据。具体分为以下两种情况。
第一种情况:
设备外程序产生目标协议数据,并通过物理串口输入事件。
若判断获知设备触发事件是由物理串口触发,则通过物理串口获取目标协议数据。
然后,遍历获取到的每个协议解析插件。
若遍历到协议解析插件X能够解析目标协议数据,则根据遍历到的协议解析插件X对目标协议数据进行解析。
将解析后的目标协议数据发送到协议解析插件X对应的虚拟串口。
最后,通过虚拟串口将目标协议数据发送到对应的应用程序。
第二种情况:
应用程序产生目标协议数据,并通过虚拟串口输入事件。
若判断获知设备触发事件是由虚拟串口触发,则通过虚拟串口获取解析后的目标协议数据;
将所述解析后的目标协议数据发送到物理串口。
最后,通过物理串口将目标协议数据发送到对应的设备外程序。
本发明提供的多协议通信方法,通过伪终端技术将一路物理串口根据支持的不同协议虚拟出相同数量的虚拟串口,不同的协议进程通过虚拟串口进行读写操作,就像操作真实的物理串口一样,无需额外提供接口,避免不必要的依赖,并且对虚拟串口操作进程屏蔽了硬件细节,只需要通过系统接口操作系统设备,无需关心操作的串口是虚拟串口的还是物理串口,以及根本不知道系统中存在一个串口多路复用服务进程,如果将来新版硬件专门为操作进程增加一个物理串口,也无需修改进程代码,提高了进程代码的可移植性。
实施例2:
图3为依照本发明实施例的多协议通信装置示意图,如图3所示,本发明实施例提供一种多协议通信装置,用于完成上述实施例中所述的方法,具体包括获取模块10和数据处理模块20,其中,
获取模块10用于获取设备触发事件;
数据处理模块20用于基于所述设备触发事件,获取目标协议数据,并发送所述目标协议数据。
本发明实施例提供一种多协议通信装置,用于完成上述实施例中所述的方法,通过本实施例提供的多协议通信装置完成上述实施例中所述的方法的具体步骤与上述实施例相同,此处不再赘述。
本发明提供的多协议通信装置,通过伪终端技术将一路物理串口根据支持的不同协议虚拟出相同数量的虚拟串口,不同的协议进程通过虚拟串口进行读写操作,就像操作真实的物理串口一样,无需额外提供接口,避免不必要的依赖,并且对虚拟串口操作进程屏蔽了硬件细节,只需要通过系统接口操作系统设备,无需关心操作的串口是虚拟串口的还是物理串口,以及根本不知道系统中存在一个串口多路复用服务进程,如果将来新版硬件专门为操作进程增加一个物理串口,也无需修改进程代码,提高了进程代码的可移植性。
实施例3:
图4为本发明实施例提供的用于多协议通信的电子设备的结构示意图,如图4所示,所述设备包括:处理器801、存储器802和总线803;
其中,处理器801和存储器802通过所述总线803完成相互间的通信;
处理器801用于调用存储器802中的程序指令,以执行上述各方法实施例所提供的方法,例如包括:
获取设备触发事件;
基于所述设备触发事件,获取解析后的目标协议数据,并将所述解析后的目标协议数据发送到物理串口。
实施例4:
本发明实施例公开一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法实施例所提供的方法,例如包括:
获取设备触发事件;
基于所述设备触发事件,获取解析后的目标协议数据,并将所述解析后的目标协议数据发送到物理串口。
实施例5:
本发明实施例提供一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行上述各方法实施例所提供的方法,例如包括:
获取设备触发事件;
基于所述设备触发事件,获取解析后的目标协议数据,并将所述解析后的目标协议数据发送到物理串口。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
以上所描述的装置及设备等实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (7)
1.一种多协议通信方法,其特征在于,包括:
获取设备触发事件;
基于所述设备触发事件,获取目标协议数据,并发送所述目标协议数据。
2.根据权利要求1所述的方法,其特征在于,所述获取设备触发事件之前,还包括:
获取多个协议解析插件;
创建每个协议解析插件对应的虚拟串口。
3.根据权利要求2所述的方法,其特征在于,所述基于所述设备触发事件,获取目标协议数据,并发送所述目标协议数据,具体为:
若判断获知所述设备触发事件是由物理串口触发,则通过所述物理串口获取目标协议数据;
遍历获取到的每个协议解析插件;
根据遍历到的协议解析插件X对所述目标协议数据进行解析;
将解析后的目标协议数据发送到所述协议解析插件X对应的虚拟串口。
4.根据权利要求2所述的方法,其特征在于,所述基于所述设备触发事件,获取目标协议数据,并发送所述目标协议数据,具体为:
若判断获知所述设备触发事件是由虚拟串口触发,则通过所述虚拟串口获取目标协议数据;
将所述目标协议数据发送到物理串口。
5.一种多协议通信装置,其特征在于,包括:
获取模块,用于获取设备触发事件;
数据处理模块,用于基于所述设备触发事件,获取目标协议数据,并发送所述目标协议数据。
6.一种用于多协议通信的电子设备,其特征在于,包括:
存储器和处理器,所述处理器和所述存储器通过总线完成相互间的通信;所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令能够执行如权利要求1至4任一所述的方法。
7.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至4任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810084223.9A CN108377232B (zh) | 2018-01-29 | 2018-01-29 | 一种多协议通信方法、装置、电子设备及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810084223.9A CN108377232B (zh) | 2018-01-29 | 2018-01-29 | 一种多协议通信方法、装置、电子设备及可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108377232A true CN108377232A (zh) | 2018-08-07 |
CN108377232B CN108377232B (zh) | 2020-11-27 |
Family
ID=63016892
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810084223.9A Active CN108377232B (zh) | 2018-01-29 | 2018-01-29 | 一种多协议通信方法、装置、电子设备及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108377232B (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111061670A (zh) * | 2019-11-20 | 2020-04-24 | 福建北峰通信科技股份有限公司 | 一种通过虚拟串口协议转换优化终端程序空间的方法 |
CN111315036A (zh) * | 2020-02-12 | 2020-06-19 | 杭州涂鸦信息技术有限公司 | 一种mcu与2g模块的通用对接方法及系统和设备 |
CN111327625A (zh) * | 2020-03-02 | 2020-06-23 | 武汉中旗生物医疗电子有限公司 | 一种参数监测方法、装置、多参数监护仪以及存储介质 |
CN112866182A (zh) * | 2019-11-28 | 2021-05-28 | 浙江宇视科技有限公司 | 数据对接方法、装置和计算机可读存储介质 |
CN113034873A (zh) * | 2019-12-25 | 2021-06-25 | 西安诺瓦星云科技股份有限公司 | 传感器通信方法、装置和系统 |
CN114553753A (zh) * | 2022-01-07 | 2022-05-27 | 中信科移动通信技术股份有限公司 | 调测带串行通信接口的通信模块的方法、装置及系统 |
CN114595183A (zh) * | 2020-12-07 | 2022-06-07 | 深圳Tcl新技术有限公司 | 串口数据处理方法、装置、终端及计算机可读存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100302095A1 (en) * | 2009-06-02 | 2010-12-02 | Mitac Technology Corp. | System for sharing gps protocol data and method thereof |
CN102129395A (zh) * | 2011-03-02 | 2011-07-20 | 智比特信息技术(镇江)有限公司 | 通过单一硬件串口实现多进程控制的通讯方法 |
CN102571689A (zh) * | 2010-12-10 | 2012-07-11 | 中兴通讯股份有限公司 | 一种数据传输方法及装置 |
CN102594833A (zh) * | 2012-03-09 | 2012-07-18 | 北京神州数码思特奇信息技术股份有限公司 | 一种通信协议适配方法和系统 |
CN103347033A (zh) * | 2012-12-11 | 2013-10-09 | 深圳市合正汽车电子有限公司 | 车载通信方法及系统 |
-
2018
- 2018-01-29 CN CN201810084223.9A patent/CN108377232B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100302095A1 (en) * | 2009-06-02 | 2010-12-02 | Mitac Technology Corp. | System for sharing gps protocol data and method thereof |
CN102571689A (zh) * | 2010-12-10 | 2012-07-11 | 中兴通讯股份有限公司 | 一种数据传输方法及装置 |
CN102129395A (zh) * | 2011-03-02 | 2011-07-20 | 智比特信息技术(镇江)有限公司 | 通过单一硬件串口实现多进程控制的通讯方法 |
CN102594833A (zh) * | 2012-03-09 | 2012-07-18 | 北京神州数码思特奇信息技术股份有限公司 | 一种通信协议适配方法和系统 |
CN103347033A (zh) * | 2012-12-11 | 2013-10-09 | 深圳市合正汽车电子有限公司 | 车载通信方法及系统 |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111061670A (zh) * | 2019-11-20 | 2020-04-24 | 福建北峰通信科技股份有限公司 | 一种通过虚拟串口协议转换优化终端程序空间的方法 |
CN112866182A (zh) * | 2019-11-28 | 2021-05-28 | 浙江宇视科技有限公司 | 数据对接方法、装置和计算机可读存储介质 |
CN112866182B (zh) * | 2019-11-28 | 2023-05-23 | 浙江宇视科技有限公司 | 数据对接方法、装置和计算机可读存储介质 |
CN113034873A (zh) * | 2019-12-25 | 2021-06-25 | 西安诺瓦星云科技股份有限公司 | 传感器通信方法、装置和系统 |
CN111315036A (zh) * | 2020-02-12 | 2020-06-19 | 杭州涂鸦信息技术有限公司 | 一种mcu与2g模块的通用对接方法及系统和设备 |
CN111327625A (zh) * | 2020-03-02 | 2020-06-23 | 武汉中旗生物医疗电子有限公司 | 一种参数监测方法、装置、多参数监护仪以及存储介质 |
CN114595183A (zh) * | 2020-12-07 | 2022-06-07 | 深圳Tcl新技术有限公司 | 串口数据处理方法、装置、终端及计算机可读存储介质 |
CN114553753A (zh) * | 2022-01-07 | 2022-05-27 | 中信科移动通信技术股份有限公司 | 调测带串行通信接口的通信模块的方法、装置及系统 |
CN114553753B (zh) * | 2022-01-07 | 2024-03-15 | 中信科移动通信技术股份有限公司 | 调测带串行通信接口的通信模块的方法、装置及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN108377232B (zh) | 2020-11-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108377232A (zh) | 一种多协议通信方法及装置 | |
CN105530273B (zh) | 用于数据迁移的方法和装置 | |
CN104718723B (zh) | 用于虚拟网络中的联网和安全服务的框架 | |
CN103856350B (zh) | 面向对象的网络 | |
CN106487869A (zh) | 用于对标签化数据进行控制和标准化的多云网络代理 | |
CN104734993B (zh) | 数据分流方法及分流器 | |
CN105337750B (zh) | 光纤通道存储区域网络配置方法和装置 | |
CN107924293A (zh) | 写时拷贝重定向 | |
EP3618352A1 (en) | Virtual machine management | |
CN108183868A (zh) | 使用外部部件的动态网络设备处理 | |
CN105095103B (zh) | 用于云环境下的存储设备管理方法和装置 | |
US11496352B2 (en) | Heterogeneous and/or hosted physical layer management system | |
CN108650295A (zh) | 协议报文跨层通信方法装置及电子设备 | |
CN109327557A (zh) | 一种虚拟机ip地址的管理方法及装置 | |
CN103701653B (zh) | 一种接口热插拔配置数据的处理方法及网络配置服务器 | |
WO2016074412A1 (zh) | 基于网络配置协议进行兼容管理的方法、存储介质及设备 | |
CN109804365A (zh) | 弹性地理数据库复制方法 | |
CN110247976A (zh) | 医学影像互动方法及装置 | |
CN109683989A (zh) | 一种配置项之间关联关系的自动采集方法及装置 | |
CN114157639B (zh) | 服务器智能网卡信息采集的方法、装置、设备及可读介质 | |
CN1922819A (zh) | 在网络管理系统中对管理信息库进行管理的方法 | |
CN107528724A (zh) | 一种节点集群的优化处理方法及装置 | |
CN103414768B (zh) | 数据处理方法、系统和网关 | |
WO2020034309A1 (zh) | 一种主机的监控方法及设备 | |
TWI607337B (zh) | Firewall command rule optimization system and method |
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 |