CN108848098B - 一种嵌入式终端设备的通信通道管理方法及系统 - Google Patents
一种嵌入式终端设备的通信通道管理方法及系统 Download PDFInfo
- Publication number
- CN108848098B CN108848098B CN201810665675.6A CN201810665675A CN108848098B CN 108848098 B CN108848098 B CN 108848098B CN 201810665675 A CN201810665675 A CN 201810665675A CN 108848098 B CN108848098 B CN 108848098B
- Authority
- CN
- China
- Prior art keywords
- message
- virtual channel
- channel
- physical channel
- manager
- 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
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/12—Discovery or management of network topologies
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4063—Device-to-bus coupling
-
- 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/22—Parsing or analysis of headers
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
一种嵌入式终端设备的通信通道管理方法及系统。本发明在物理通道接口和各进程的报文接口之间加设虚通道管理器、和协议解析器管理器,对报文的收、发和物理通道状态进行统一的管理:为终端设备内每一个进程所需的每一种物理通道接口设计相应的虚通道对象,结合物理通道状态表内的信息,通过各虚通道对象,实现进程与物理通道接口间的通信。由于所有通信均由虚通道管理器进行统一的调度与控制,本发明可对进程隐藏其通信过程中对物理通道的具体操作,简化通信操作流程,同时可有效解决物理通道被独占的问题,还可实现多通道并发通信。本发明所提供的通信信道管理系统,在并发性、实时性、可扩展性等方面满足均能满足用电信息采集平台化的要求。
Description
技术领域
本发明涉及用电信息采集终端技术,尤其涉及一种针对嵌入式终端设备的通信通道管理方法及系统。
背景技术
用电信息采集终端通常配置多个上下行通道,并同时支持多种通信方式。上行通道通常配置以太网、无线公网、无线专网、红外等物理通道,与主站或手持设备通信。下行通道通常配置RS485、RS232、载波、ModBus等物理通道,与下级采集设备、智能电能表等设备通信。
传统的通道管理方法,通常是由各个应用自行维护管理这些物理通道,上下文报文由各应用自行处理。各个应用之间如果出现物理通道竞争的情况,通常需采用加锁、信号量等策略进行处理。尽管,目前的管理策略可以解决设备竞争的问题,但,由于通信策略管理模式的缘故,不可避免地会带来如下的缺陷:
(1)由于物理通道由各应用自行维护管理,那么对于总线型的通道,例如RS485,该通道在被某个应用打开之后,直到时被该应用关闭前,在整个周期内,均由该应用独占通信资源。因而该总线型通道无法支持各应用之间并发的通信需求。事实上,这是个相当严重的缺陷,因为这将导致使用该物理通道的某些应用要么处于饥饿状态,要么不得不频繁打开/关闭该物理通道,从而拖累系统的整体效率和响应速度;
(2)对于下级设备发起的报文,例如状态通报,如果该报文无法由当前打开该通道的应用处理,现有技术下,该报文会被当前的应用丢弃。即使设计相应的管理机制对该报文进行转发,也必将涉及到构建应用间通信。这无疑会对嵌入式系统的设计带来更高要求,并且使用中也需要占据较多的系统资源,处理效率不高。
(3)现有的策略难以支持广播。尤其,在对所有下级设备校时,需要维护全部物理通道的所有应用同时执行同样的操作,而实时的应用间通信技术实现难度较大,如何通知这些应用执行同样的操作,这实际上是相对复杂的事情。
为了解决上述的问题,目前有些终端使用一个独立的应用管理和维护这些物理通道。其具体做法是为每个通道分配一个ID,其他的应用以该ID为关键字向该管理应用请求报文转发等服务。然而,这个方案虽然解决了如上所述的总线类型设备的并发等缺陷,但是,却产生了服务器模式下每个通道只维持一个有效通信连接,等,新的问题。下级设备发起的报文,例如,状态通报报文如何递交至相应目标应用进行处理的问题,仍然没有得到解决。
因此,如何在嵌入式Linux操作系统中有效地对通信通道进行管理和维护,在并发性、实时性、可扩展性等方面满足用电信息采集平台化的要求,成为了本领域迫切需要解决的技术问题。
发明内容
为了解决现有技术存在的不足,本发明的目的在于提供一种嵌入式终端设备的通信通道管理方法及系统。
首先,为实现上述目的,提出一种嵌入式终端设备的通信通道管理方法,包括以下步骤:
第一步,读取嵌入式终端设备的配置文档信息,并根据所述配置文档信息创建虚通道管理器、物理通道状态表、协议解析器管理器;
第二步,根据所述虚通道管理器内的信息以及当前通信状态创建相应的虚通道对象;根据所述协议解析器管理器内的信息以及所述虚通道对象的状态(包括所述虚通道对象是否需要发送报文,是否需要接收报文,等)动态创建协议解析器对象;更新所述虚通道管理器、物理通道状态表、协议解析器管理器内的信息;
第三步,根据所述嵌入式终端设备内各进程的通信模式通过对应的虚通道对象调用相应的协议解析器对象,接收或发送报文信息;更新所述物理通道状态表;
第四步,当所述嵌入式终端设备内的进程发起撤销请求时,撤销对应的虚通道对象,更新所述物理通道状态表;监测并关闭所述物理通道状态表内记录为空闲状态的物理通道。
进一步,上述的方法中,所述第二步中,所述当前通信状态包括:侦听到新物理通道连接,或,侦听到所述嵌入式终端设备内的进程请求登记;
其中,在侦听到新物理通道连接,创建相应的虚通道对象后,还包括通知嵌入式终端设备内相应进程的步骤。
具体的,上述的方法中,所述第三步中,所述嵌入式终端设备内各进程的所述通信模式包括:接收模式、发送模式和广播模式:
所述接收模式下,先通过对应的虚通道对象读取对应物理通道内的报文,然后根据所述报文预判断协议类型,根据所述协议类型调用相应的协议解析器对象接收并解析所述报文,根据所述虚通道管理器确定该报文所对应的目标进程,向对应的目标进程转发所述报文,更新所述物理通道状态表;
所述发送模式下,先通过对应的虚通道对象开启所述进程所请求的物理通道,通过对应的虚通道对象根据报文特征生成待发送报文信息,在所述物理通道空闲时依次发送所述待发送报文信息;
所述广播模式下,查找该进程对应的全部虚通道对象及其所对应的物理通道,开启所述物理通道,通过对应的虚通道对象根据报文特征生成待发送报文信息,在所述物理通道未被占用时依次发送所述待发送报文信息。
上述方法中,所述接收模式和所述发送模式之间按照如下规则切换:
S1,设置接收时限;
S2,若物理通道未被占用,则更新所述物理通道状态表,切换至发送模式;否则,在接收时限内切换至接收模式,在接收时限结束时切换至发送模式,并在每次切换时更新所述物理通道状态表;
S3,若在接收时限内无法读取该物理通道内的报文,则判断所述物理通道关闭,更新所述物理通道状态表。
更进一步,上述方法中,所述虚通道管理器内还记录有所述嵌入式终端设备内各进程的缺省处理进程信息;
所述缺省处理进程信息用于:在所述接收模式下,根据所述虚通道管理器确定该报文所对应的目标进程时,将开启所述缺省处理进程的全部进程均列为目标进程,向全部所述目标进程转发所述报文。
同时,上述方法中,所述虚通道管理器内还记录有所述嵌入式终端设备内各进程的启动信息;
所述启动信息用于,所述第二步中,根据所述虚通道管理器内的信息以及当前通信状态创建相应的虚通道对象时,若所述虚通道对象所对应的目标进程未开启,则通过虚通道管理器查询所述目标进程的启动信息,根据所述启动信息开启所述目标进程;
若所述目标进程的启动信息标记为不允许虚通道管理器启动,则,不予处理。
其次,为实现上述目的,还提出一种嵌入式终端设备的通信通道管理系统,包括:包括物理通道接口和各进程的报文接口,其特征在于,所述物理通道接口和各进程的报文接口之间连接有虚通道管理器、物理通道状态表和协议解析器管理器;
所述虚通道管理器用于根据所述嵌入式终端设备的配置文档信息以及当前通信状态,在所述各进程的报文接口与相应的物理通道接口之间连接相应的虚通道对象;所述虚通道对象用于在所述进程的报文接口与相应的物理通道接口之间发送或转发报文;
所述协议解析器管理器用于根据所述各虚通道对象的状态动态创建协议解析器对象,在发送或转发所述报文时,解析或生成所述报文;
所述物理通道状态表用于根据所述各虚通道对象的状态记录所述各物理通道接口的状态。
进一步,上述的系统中,针对同一物理通道接口的所述各个虚通道对象与该物理通道接口之间还设有报文收发缓存;所述报文收发缓存用于缓存并逐一发送所述各虚通道对象需要发送的报文;所述报文收发缓存还用于在需要发送的报文数目为0时向所述虚通道管理器和所述物理通道状态表汇报所述物理通道接口的状态为未被占用。
更进一步,上述的系统中,所述虚通道管理器内还设有接收时限定时器,所述接收时限定时器在接收到所述物理通道接口的状态为未被占用的汇报时启动;
此时,所述虚通道管理器控制所述虚通道对象在所述接收时限内接收所述物理通道接口内的报文,并在所述接收时限结束时控制所述虚通道对象发送报文;每次控制所述虚通道对象接收或发送报文时,所述虚通道管理器还同步更新所述物理通道状态表。
有益效果
本发明在物理通道接口和各进程的报文接口之间加设虚通道管理器、和协议解析器管理器,对报文的收、发和物理通道状态进行统一的管理:为终端设备内每一个进程所需的每一种物理通道接口设计相应的虚通道对象,结合物理通道状态表内的信息,通过各虚通道对象,实现进程与物理通道接口间的通信。由于所有通信均由虚通道管理器进行统一的调度与控制,本发明可对进程隐藏其通信过程中对物理通道的具体操作,简化通信操作流程,同时可有效解决物理通道被独占的问题。
具体的,本发明可通过侦听IPC信息,以检测到新物理通道连接,以及侦听到所述嵌入式终端设备内的进程登记请求,两种方式并行地实现对虚通道对象的创建,从而实现对虚通道对象的实时动态管理。配合虚通道管理器内记录的各个(业务)进程的启动信息,在报文目标进程关闭时能够及时唤醒相应进程,从而能够实时将业务进程、物理通道之间的操作动态映射为对虚通道对象的操作。通过提取报文特征,查询虚通道管理器内相关信息,决定由哪个虚通道对象携带报文,再交由抽象的虚通道对象,综合考虑通道状态、协议、报文、报文上下文、报文中的控制码、帧序、传输方向、启动/响应标志、分帧标志、目标地址等数据和属性,实现对报文的发送和接收。这样可的设计可在进程关闭状态下及时处理其敏感报文,处理效率更高。由于无需同时维持无关进程,对系统资源的占用也更少。
具体的,本发明中虚通道管理器内还记录有缺省处理进程信息,在查询虚通道管理器内相关信息,决定由哪个虚通道对象携带报文时,本发明可同时将一个报文,通过不同的虚通道对象转发至不同的进程,提升通信效率。尤其,在目标进程实际为关闭状态时,本发明还可通过缺省处理进程信息,将其列为目标进程,通过进程的启动信息将其唤醒,从而进行相应报文的转发。从而,在尽可能少的资源消耗下保证对报文的响应。
再进一步,由于本发明针对同一物理通道接口的所述各个虚通道对象与该物理通道接口之间还设有报文收发缓存。区别于现有服务器模式下每个通道只维持一个有效通信连接,本发明的系统中,每个物理接口其报文的收发均可通过与之对应的一个报文收发缓存按照时序实现接收或转发。继而,本发明可通过缓存同时带动若干个虚通道对象同时维持与若干个不同进程之间的通信。其原因在于,本发明通过缓存按照时序存储各个虚通道对象的报文信息,并在适当时候输出至物理通道或通过虚通道对象转发至相应进程,实现报文转发与接收。这种方式,可以动态、灵活地管理物理通道,解决并发、多连接、广播、多协议、报文路由等技术问题,从而实现广播模式下,多个物理通道的并发的、实时的通信。
本发明所提供的通信信道管理系统,在并发性、实时性、可扩展性等方面满足均能满足用电信息采集平台化的要求。本发明可有效解决进程竞争物理通道的仲裁、连接管理、报文由谁处理的仲裁等问题,实现对物理通道的抽象化。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。
附图说明
附图用来提供对本发明的进一步理解,并且构成说明书的一部分,并与本发明的实施例一起,用于解释本发明,并不构成对本发明的限制。在附图中:
图1为根据本发明的嵌入式终端设备的通信通道管理方法的流程图;
图2为根据本发明的嵌入式终端设备的通信通道管理系统的架构图;
图3为应用本发明的嵌入式用电信息采集终端设备的物理通道管理示意图;
图4为嵌入式用电信息采集终端设备应用本发明所述方法执行服务器模式的流程示意图;
如5为嵌入式用电信息采集终端设备应用本发明所述方法执行发送、接收模式的流程示意图。
具体实施方式
以下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。
图1为根据本发明的一种嵌入式终端设备的通信通道管理方法的流程图,通过统一的物理通道管理服务进程(T进程)统一实现对嵌入式终端设备通信通道(即,物理通道)的维护和操作。该管理服务进程按照以下步骤实现:
第一步,读取嵌入式终端设备的配置文档信息(具体包括物理通道配置参数等;允许被虚通道管理器启动的进程的路径、参数、协议等),并根据所述配置文档信息创建虚通道管理器、物理通道状态表、协议解析器管理器;
第二步,根据所述虚通道管理器内的信息以及当前通信状态(当前通信状态可通过侦听IPC消息获知)创建相应的虚通道对象(所述虚通道对象内包含有对象id、引用计数、物理通道状态副本、协议、缓冲区及属性、协议、IP端口、报文、帧序、报文上下文信息等信息);根据所述协议解析器管理器内的信息以及所述虚通道对象的状态(包括所述虚通道对象是否需要发送报文,是否需要接收报文,等)动态创建相应的协议解析器对象;更新所述虚通道管理器、物理通道状态表、协议解析器管理器内的信息;
第三步,根据所述嵌入式终端设备内各(业务)进程的通信模式通过对应的虚通道对象调用相应的协议解析器对象,(按照报文的控制码、帧序、传输方向、启动/响应标志、分帧标志、目标地址等特征)接收或发送报文信息;更新所述物理通道状态表;
第四步,当所述嵌入式终端设备内的进程发起撤销请求时,撤销对应的虚通道对象,更新所述物理通道状态表;监测并关闭所述物理通道状态表内记录为空闲状态的物理通道。
本实施例在Linux操作系统下的IPC机制中,通过设置虚通道管理器,将业务进程对物理通道的操作动态映射为对虚通道对象的操作。通过提取报文特征,决定由哪个虚通道对象携带报文,再交由抽象的虚通道对象,综合考虑通道状态、协议、报文、报文上下文、报文中的控制码、帧序、传输方向、启动/响应标志、分帧标志、目标地址等数据和属性,实现对报文的发送和接收。这种方式下,可以动态、灵活地管理物理通道,解决并发、多连接、广播、多协议、报文路由等技术问题。
具体的,上述的方法中,所述第二步中,所述当前通信状态包括:侦听到新物理通道连接,或,侦听到所述嵌入式终端设备内的进程请求登记;
其中,在侦听到新物理通道连接,创建相应的虚通道对象后,还包括通知嵌入式终端设备内相应进程的步骤。
具体的,上述的方法中,所述第三步中,所述嵌入式终端设备内各进程的所述通信模式包括:接收模式、发送模式和广播模式:
所述接收模式下,先通过对应的虚通道对象读取对应物理通道内的报文,然后根据所述报文预判断协议类型,根据所述协议类型调用相应的协议解析器对象接收并解析所述报文,根据所述虚通道管理器确定该报文所对应的目标进程,向对应的目标进程转发所述报文,更新所述物理通道状态表;
所述发送模式下,先通过对应的虚通道对象开启所述进程所请求的物理通道,通过对应的虚通道对象根据报文特征生成待发送报文信息,在所述物理通道空闲时依次发送所述待发送报文信息;
所述广播模式下,查找该进程对应的全部虚通道对象及其所对应的物理通道,开启所述物理通道,通过对应的虚通道对象根据报文特征生成待发送报文信息,在所述物理通道未被占用时依次发送所述待发送报文信息。
上述方法中,所述接收模式和所述发送模式之间按照如下规则切换:
S1,设置接收时限;
S2,若物理通道未被占用,则更新所述物理通道状态表,切换至发送模式;否则,在接收时限内切换至接收模式,在接收时限结束时切换至发送模式,并在每次切换时更新所述物理通道状态表;
S3,若在接收时限内无法读取该物理通道内的报文,则判断所述物理通道关闭,更新所述物理通道状态表。
更进一步,上述方法中,所述虚通道管理器内还记录有所述嵌入式终端设备内各进程的缺省处理进程信息;
所述缺省处理进程信息用于:在所述接收模式下,根据所述虚通道管理器确定该报文所对应的目标进程时,将开启所述缺省处理进程的全部进程均列为目标进程,向全部所述目标进程转发所述报文。如此,对于下级设备发起的报文,例如状态通报,不同于现有技术,本发明能够通过虚通道管理器中注册的信息判断是否有进程(业务进程)对该信息感兴趣,一旦接收到该类信息,且管理器发现对应进程未启动,则可以启动该进程进行处理。
同时,上述方法中,所述虚通道管理器内还记录有所述嵌入式终端设备内各进程的启动信息;
所述启动信息用于,所述第二步中,根据所述虚通道管理器内的信息以及当前通信状态创建相应的虚通道对象时,若所述虚通道对象所对应的目标进程未开启,则通过虚通道管理器查询所述目标进程的启动信息,根据所述启动信息开启所述目标进程;
若所述目标进程的启动信息标记为不允许虚通道管理器启动,则,不予处理。
其次,参考图2,为实现上述目的,还提出一种嵌入式终端设备的通信通道管理系统,包括:包括物理通道接口和各进程的报文接口,其特征在于,所述物理通道接口和各进程的报文接口之间连接有虚通道管理器、物理通道状态表和协议解析器管理器;
所述虚通道管理器用于根据所述嵌入式终端设备的配置文档信息以及当前通信状态,在所述各进程的报文接口与相应的物理通道接口之间连接相应的虚通道对象;所述虚通道对象用于在所述进程的报文接口与相应的物理通道接口之间发送或转发报文;
所述协议解析器管理器用于根据所述各虚通道对象的状态动态创建协议解析器对象,在发送或转发所述报文时,解析或生成所述报文;
所述物理通道状态表用于根据所述各虚通道对象的状态记录所述各物理通道接口的状态。
这里,协议解析器管理器中,各协议解析器以动态链接库的形式存储并管理。动态创建协议解析器对象是指:根据所述各虚通道对象的状态,在需要解析器的时候动态加载,引用计数加1;在与该解析器关联的所有虚通道对象销毁后引用计数减一;若引用计数为零则动态卸载。其中的协议包括有:101规约、104规约、62056规约、modebus规约和698.45规约等。
进一步,上述的系统中,针对同一物理通道接口的所述各个虚通道对象与该物理通道接口之间还设有报文收发缓存;所述报文收发缓存用于缓存并逐一发送所述各虚通道对象需要发送的报文;所述报文收发缓存还用于在需要发送的报文数目为0时向所述虚通道管理器和所述物理通道状态表汇报所述物理通道接口的状态为未被占用。
由此,本发明能够克服现有服务器模式下每个通道只维持一个有效通信连接,的问题。其原因在于,本发明的系统中,每个物理接口可通过若干个虚通道对象同时维持与若干个不同进程之间的通信,其报文的收发通过统一的报文收发缓存按照时序进行接收或转发处理。
更进一步,上述的系统中,所述虚通道管理器内还设有接收时限定时器,所述接收时限定时器在接收到所述物理通道接口的状态为未被占用的汇报时启动;
此时,所述虚通道管理器控制所述虚通道对象在所述接收时限内接收所述物理通道接口内的报文,并在所述接收时限结束时控制所述虚通道对象发送报文;每次控制所述虚通道对象接收或发送报文时,所述虚通道管理器还同步更新所述物理通道状态表。
上述系统的工作过程可参考如下的作业流程:
作业W1,初始化:
步骤S1,Linux操作系统启动物理通道管理服务进程(表示为T进程);
步骤S2,T进程初始化:打开响应的物理设备,加载注册信息(物理通道配置参数等;允许被虚通道管理器启动的进程的路径、参数、协议等);创建虚通道管理器、物理通道状态表、协议解析器管理器等
步骤S3,T进程侦听IPC消息,准备接收其他进程(表示为A进程、B进程、…)的登记等请求。
作业W2,登记:
步骤S4,A进程(B进程、…)填写申请的物理通道、协议、进程号、IPC消息侦听ID、缓冲区属性、是否允许被虚通道管理器启动、是否缺省处理进程等信息,请求登记;
步骤S5,T进程根据登记信息中请求的物理通道、协议、属性等内容,创建虚通道对象(对象id、引用计数、物理通道状态副本、协议、缓冲区及属性、协议、IP端口、报文、帧序、报文上下文信息等),响应登记;
步骤S6,T进程根据登记信息中请求的协议,动态创建协议解析器对象:根据登记的协议动态加载,引用计数加1;登出/撤销时引用计数减一;若引用计数为零,撤除。
与上述作业W2并列,还可通过下述的作业W5服务器模式,实现对当前通信状态的响应,从而创建相应的虚通道对象:
作业W3,服务器模式:
步骤S24,T进程侦听;
步骤S25,T进程accept客户端(主站、手持设备、或下级设备),检索虚通道对象表,找到请求该侦听的进程(假定G进程);
步骤S26,T进程创建虚通道对象,通知G进程;
步骤S27,步骤S25~步骤S26,循环。
作业W4,发送和接收:
步骤S7,A进程(B进程、…)请求发送报文;
步骤S8,T进程检查物理通道状态表,如果物理通道状态表中,A进程请求的物理通道未打开,打开登记的物理通道,维护与该物理通道相关的虚通道对象中的物理通道状态;
步骤S9,T进程提取该待发送报文的控制码、帧序、传输方向、启动/响应标志、分帧标志、目标地址等特征,加入该物理通道的待发送报文队列;
步骤S10,T进程的工作线程检测物理通道状态,如果物理通道空闲且待发送队列非空,发送报文,否则,步骤S12;
步骤S11,步骤S10循环,直至发送队列为空;
步骤S12,等待物理通道读事件或超时事件;
步骤S13,如果超时,步骤S10~步骤S12,循环;
步骤S14,T进程从物理通道读出N个字节;
步骤S15,T进程调用协议解析器对象表,按虚通道对象中的协议,调用相应的协议解析器预判断报文的协议类型;
步骤S16,如果该报文是上/下级设备的响应报文,检索虚通道对象表,匹配请求报文的特征(如其控制码、帧号、传输方向、启动/响应标志、分帧标志、目标地址等)若特征符合B进程,则转发给B进程;若无匹配,丢弃;
步骤S17,如果该报文非上/下级设备的响应报文,以预判断的协议类型、是否缺省处理进程等条件检索虚通道对象表,找到所有关心该上报报文的进程(假定E进程、G进程),转发给E进程、G进程;若无进程关心该报文,丢弃;
步骤S18,步骤S12~步骤S17,循环直至物理通道被关闭或读出0个字节;
步骤S19,若物理通道被关闭,T进程检索物理通道状态表,变更物理通道状态,然后,T进程检索虚通道对象表,变更虚拟通道对象中的物理通道状态,通知相关进程;
步骤S20,步骤S10~步骤S19,循环。
作业W5,广播:
步骤S21,T进程从G进程接收到广播指令和报文;
步骤S22,T进程检索虚通道对象表,找到所有关心该广播报文的虚通道对象所映射的物理通道(假定RS485、TCP的第X个连接);
步骤S23,T进程将该广播报文加入该物理通道(RS485、TCP的第X个连接)的待发送报文队列。
作业W6,登出/撤销:
步骤S28,A进程发起撤销请求;
步骤S29,T进程检查物理通道状态表,将通道引用计数减1,然后,如果引用计数<=0,则:若该物理通道已打开,则关闭该物理通道,引用计数等状态清零;
步骤S30,T进程销毁A进程请求撤销的虚通道对象;
步骤S31,步骤S28~步骤S30,循环。
下面结合3种具体的通信实例说明本发明技术方案优点:
图3为应用本发明技术的嵌入式用电信息采集终端设备的通道管理示意图。以一个嵌入式终端设备内的进程为例,图3左侧表示本发明典型的物理通道与虚通道对象之间的关系,其右侧表示该业务处理进程。
实施过程中,所有物理通道的操作维护作业,如开启、通讯、关闭等,都由通道管理服务进程按照第一步至第四步的顺序进行。右侧嵌入式终端设备的某个(业务处理)进程希望操作某个物理通道,则需要向通道管理服务进程申请相应的虚通道对象(这个申请动态地通过上述W2登录作业完成),由相应的虚通道对象实现报文的传输。其过程为:
操作系统上电自动启动通道管理维护服务进程。然后,该进程从配置文档中读出注册信息,其中包含物理通道的配置信息、可以被虚通道管理器主动启动的进程的路径、参数、协议等内容。然后,该进程创建虚通道管理器、物理通道状态表、协议解析器管理器等。
如图3所示,一个物理通道可以有多个虚通道对象。通道管理服务进程与业务处理进程所对应的虚通道对象之间,通过IPC方式完成。
这些虚通道对象可以在登录作业时创建、在对端连接时创建、在接收到报文而业务进程未登录时被创建,详述如下:
情形之一,通过登录作业创建。多个业务进程通过登录作业申请操作某个总线类型的物理设备,如RS485、RS232、CAN、MODBUS、短信网关等,这时,每个业务进程持有一个虚通道对象,每个虚通道对象指向同一个物理通道设备;
多个业务进程通过登录作业申请操作某个TCP类型的物理设备,如以太网、GPRS、CDMA、3G、4G等,这时,这时,有两种工作模式:
以客户端模式工作时,每个业务进程持有一个虚通道对象,每个虚通道对象持有该物理通道设备建立的与远端设备的TCP连接;
以服务器模式工作时,每个业务进程首先持有一个虚通道对象,与客户端模式不同,这是一个侦听型的虚通道对象。
情形之二,对端连接,管理维护服务进程,通知业务进程。以服务器模式工作时,每收到一个远端设备建立的与该物理设备的TCP连接,通道管理维护服务进程创建一个上述的虚通道侦听对象的副本,填写TCP连接的参数,将这个新的虚通道对象以通知的形式传送给业务进程处理。
情形之三,某总线类型的物理通道接收到报文,通道管理服务进程初始化时读出的注册信息标记为应当由某业务进程缺省处理,并且,该业务进程已被注册表为可以被虚通道管理器主动启动。这时,通道管理维护服务进程首先启动该业务进程,然后,创建虚通道对象,填写物理通道状态、报文相关信息等内容,最后,将这个新的虚通道对象以报文转发的形式传送给业务进程处理。
图4为应用本发明的面向对象协议的用电信息采集终端的W2登录作业、W6登出作业、W3服务器模式作业的简要流程。图4中的登录作业、服务器模式表示了情形之一、情形之二中所述的虚通道对象的创建过程。
图5为应用本发明所述方法的W4发送作业、接收作业的简要流程图。图5中接收到报文之后,判断业务进程B是否启动的部分表示了情形之三所述的虚通道对象的创建过程:
应当注意的是,虚通道对象的创建有上述三种情形,但是,其撤销操作只有通过W6登出/撤销作业这一种方式。撤销操作完成,通知相应的业务进程:
实施例中,端对端的通信过程中读/写操作可以检测到TCP连接是否被对端关闭。若TCP连接被对端关闭,此时,通道管理服务进程向相关的业务处理进程发送通知,业务进程之后可以开始登出作业撤销虚通道对象。
实施例中,物理通道的生命周期具体可采用引用计数的方式来管理:当创建虚通道对象时,物理通道的引用计数加1;业务进程通过登出作业撤销虚通道对象时,物理通道引用计数减1;登出作业过程中,若发现物理通道的引用计数为0,关闭该物理通道。
如图5,业务进程请求发送报文时,首先将报文封装在虚通道对象中,然后,通过IPC消息发出请求。通道管理服务进程收到该请求之后,按虚通道对象中的属性,将待发送报文加入到物理通道的待发送队列中。若业务进程需要广播发送某报文,则将该待发送报文加入到相关的物理通道的待发送队列中。
实施例中,发送和接收通道管理服务进程专门起一个工作线程循环处理。循环起始,首先检查物理通道是否空闲,若不空闲转接收流程,若空闲,检查待发送队列是否有需要发送的报文,如果有报文则逐条发送。然后,等待物理通道的读事件发生,若超时则跳转到循环头;若读事件发生则从物理通道读数据,然后,试判断报文类型、提取报文特征,按报文特征检索相应的虚通道对象,找到相应的业务处理进程处理;读操作中可以检测到TCP连接是否已被对端关闭,若已被对端关闭如上述撤销步骤处理。
本发明通过上述的方式,可实现:无论总线类型物理通道、或者以太类型的物理通道或连接,嵌入式终端设备内的业务进程都可以统一通过虚通道对象实现。通过对虚通道发出标准化的open/read/write/close指令,执行相应作业流程,实现对不同物理通道的通信。本发明屏蔽了物理通道操作的复杂性,简化了业务模型,较好地解决了总线型物理通道被某个进程独占、上/下级设备发起状态通报处理、向多个物理通道广播报文等问题。
本领域普通技术人员可以理解:以上所述仅为本发明的优选实施例而已,并不用于限制本发明,尽管参照前述实施例对本发明进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述各实施例记载的技术方案进行修改,或者对其中部分技术特征进行等同替换。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (9)
1.一种嵌入式终端设备的通信通道管理方法,其特征在于,步骤包括:
第一步,读取嵌入式终端设备的配置文档信息,并根据所述配置文档信息创建虚通道管理器、物理通道状态表、协议解析器管理器;
第二步,根据所述虚通道管理器内的信息以及当前通信状态创建相应的虚通道对象;根据所述协议解析器管理器内的信息以及所述虚通道对象的状态动态创建协议解析器对象;更新所述虚通道管理器、物理通道状态表、协议解析器管理器内的信息;
第三步,根据所述嵌入式终端设备内各进程的通信模式通过对应的虚通道对象调用相应的协议解析器对象,接收或发送报文信息;更新所述物理通道状态表;
第四步,当所述嵌入式终端设备内的进程发起撤销请求时,撤销对应的虚通道对象,更新所述物理通道状态表;监测并关闭所述物理通道状态表内记录为空闲状态的物理通道。
2.如权利要求1所述的嵌入式终端设备的通信通道管理方法,其特征在于,所述第二步中,所述当前通信状态包括:侦听到新物理通道连接,或,侦听到所述嵌入式终端设备内的进程请求登记;
其中,在侦听到新物理通道连接,创建相应的虚通道对象后,还包括通知嵌入式终端设备内相应进程的步骤。
3.如权利要求1所述的嵌入式终端设备的通信通道管理方法,其特征在于,所述第三步中,所述嵌入式终端设备内各进程的所述通信模式包括:接收模式、发送模式和广播模式;
所述接收模式下,先通过对应的虚通道对象读取对应物理通道内的报文,然后根据所述报文预判断协议类型,根据所述协议类型调用相应的协议解析器对象接收并解析所述报文,根据所述虚通道管理器确定该报文所对应的目标进程,向对应的目标进程转发所述报文,更新所述物理通道状态表;
所述发送模式下,先通过对应的虚通道对象开启所述进程所请求的物理通道,通过对应的虚通道对象根据报文特征生成待发送报文信息,在所述物理通道空闲时依次发送所述待发送报文信息;
所述广播模式下,查找该进程对应的全部虚通道对象及其所对应的物理通道,开启所述物理通道,通过对应的虚通道对象根据报文特征生成待发送报文信息,在所述物理通道未被占用时依次发送所述待发送报文信息。
4.如权利要求3所述的嵌入式终端设备的通信通道管理方法,其特征在于,所述接收模式和所述发送模式之间按照如下规则切换:
设置接收时限;
若物理通道未被占用,则更新所述物理通道状态表,切换至发送模式;否则,在接收时限内切换至接收模式,在接收时限结束时切换至发送模式,并在每次切换时更新所述物理通道状态表;
若在接收时限内无法读取该物理通道内的报文,则判断所述物理通道关闭,更新所述物理通道状态表。
5.如权利要求3所述的嵌入式终端设备的通信通道管理方法,其特征在于,所述虚通道管理器内还记录有所述嵌入式终端设备内各进程的缺省处理进程信息;
在所述接收模式下,根据所述虚通道管理器确定该报文所对应的目标进程时,将开启所述缺省处理进程的全部进程均列为目标进程,向全部所述目标进程转发所述报文。
6.如权利要求5所述的嵌入式终端设备的通信通道管理方法,其特征在于,所述虚通道管理器内还记录有所述嵌入式终端设备内各进程的启动信息;
所述第二步中,根据所述虚通道管理器内的信息以及当前通信状态创建相应的虚通道对象时,若所述虚通道对象所对应的目标进程未开启,则通过虚通道管理器查询所述目标进程的启动信息,根据所述启动信息开启所述目标进程;
若所述目标进程的启动信息标记为不允许虚通道管理器启动,则,不予处理。
7.一种嵌入式终端设备的通信通道管理系统,包括物理通道接口和各进程的报文接口,其特征在于,所述物理通道接口和各进程的报文接口之间连接有虚通道管理器、物理通道状态表和协议解析器管理器;
所述虚通道管理器用于根据所述嵌入式终端设备的配置文档信息以及当前通信状态,在所述各进程的报文接口与相应的物理通道接口之间连接相应的虚通道对象;所述虚通道对象用于在所述进程的报文接口与相应的物理通道接口之间发送或转发报文;
所述协议解析器管理器用于根据所述虚通道对象的状态动态创建协议解析器对象,在发送或转发所述报文时,解析或生成所述报文;所述物理通道状态表用于根据所述虚通道对象的状态记录所述物理通道接口的状态。
8.如权利要求7所述的嵌入式终端设备的通信通道管理系统,其特征在于,针对同一物理通道接口的所述虚通道对象与该物理通道接口之间还设有报文收发缓存;所述报文收发缓存用于缓存并逐一发送所述虚通道对象需要发送的报文;所述报文收发缓存还用于在需要发送的报文数目为0时向所述虚通道管理器和所述物理通道状态表汇报所述物理通道接口的状态为未被占用。
9.如权利要求8所述的嵌入式终端设备的通信通道管理系统,其特征在于,所述虚通道管理器内还设有接收时限定时器,所述接收时限定时器在接收到所述物理通道接口的状态为未被占用的汇报时启动;此时,所述虚通道管理器控制所述虚通道对象在所述接收时限内接收所述物理通道接口内的报文,并在所述接收时限结束时控制所述虚通道对象发送报文;每次控制所述虚通道对象接收或发送报文时,所述虚通道管理器还同步更新所述物理通道状态表。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810665675.6A CN108848098B (zh) | 2018-06-26 | 2018-06-26 | 一种嵌入式终端设备的通信通道管理方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810665675.6A CN108848098B (zh) | 2018-06-26 | 2018-06-26 | 一种嵌入式终端设备的通信通道管理方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108848098A CN108848098A (zh) | 2018-11-20 |
CN108848098B true CN108848098B (zh) | 2021-02-23 |
Family
ID=64203736
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810665675.6A Active CN108848098B (zh) | 2018-06-26 | 2018-06-26 | 一种嵌入式终端设备的通信通道管理方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108848098B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109840084B (zh) * | 2019-01-23 | 2022-06-14 | 河南翔宇医疗设备股份有限公司 | 一种通信方法、系统及电子设备和存储介质 |
CN110532109B (zh) * | 2019-08-16 | 2023-06-30 | 东南大学 | 一种共享多通道进程通信内存结构和方法 |
CN114465952B (zh) * | 2022-01-20 | 2023-12-01 | 绿盟科技集团股份有限公司 | 一种配置参数的管理方法、装置及电子设备 |
CN114422100B (zh) * | 2022-03-30 | 2022-07-12 | 武汉中科通达高新技术股份有限公司 | 国标信令服务端的上下联处理系统、计算机设备及介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN200979706Y (zh) * | 2006-11-30 | 2007-11-21 | 浙江大学 | 一种具有虚拟通道和流程图显示模式的无纸记录仪 |
CN101859263A (zh) * | 2010-06-12 | 2010-10-13 | 中国人民解放军国防科学技术大学 | 一种支持在线迁移的虚拟机间快速通信方法 |
CN102185751A (zh) * | 2010-12-13 | 2011-09-14 | 中国人民解放军国防科学技术大学 | 一种基于快速通道技术的单周期片上路由器 |
CN104734893A (zh) * | 2015-04-02 | 2015-06-24 | 重庆邮电大学 | 一种面向wia-pa网络的tr069协议管理方法 |
CN107657797A (zh) * | 2017-08-21 | 2018-02-02 | 胡书恺 | 一种多表集抄系统 |
CN108112011A (zh) * | 2016-11-24 | 2018-06-01 | 中国电信股份有限公司 | 远程管理嵌入式通用集成电路卡的方法、装置和系统 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100414905C (zh) * | 2004-12-30 | 2008-08-27 | 华为技术有限公司 | 保证业务QoS的宽带接入网络及其方法 |
US20170162235A1 (en) * | 2015-12-02 | 2017-06-08 | Qualcomm Incorporated | System and method for memory management using dynamic partial channel interleaving |
-
2018
- 2018-06-26 CN CN201810665675.6A patent/CN108848098B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN200979706Y (zh) * | 2006-11-30 | 2007-11-21 | 浙江大学 | 一种具有虚拟通道和流程图显示模式的无纸记录仪 |
CN101859263A (zh) * | 2010-06-12 | 2010-10-13 | 中国人民解放军国防科学技术大学 | 一种支持在线迁移的虚拟机间快速通信方法 |
CN102185751A (zh) * | 2010-12-13 | 2011-09-14 | 中国人民解放军国防科学技术大学 | 一种基于快速通道技术的单周期片上路由器 |
CN104734893A (zh) * | 2015-04-02 | 2015-06-24 | 重庆邮电大学 | 一种面向wia-pa网络的tr069协议管理方法 |
CN108112011A (zh) * | 2016-11-24 | 2018-06-01 | 中国电信股份有限公司 | 远程管理嵌入式通用集成电路卡的方法、装置和系统 |
CN107657797A (zh) * | 2017-08-21 | 2018-02-02 | 胡书恺 | 一种多表集抄系统 |
Non-Patent Citations (1)
Title |
---|
基于ARM11的多通道数据采集记录仪软件系统设计与实现;林凯;《中国优秀硕士学位论文全文数据库 信息科技辑》;20131215;第1-137页 * |
Also Published As
Publication number | Publication date |
---|---|
CN108848098A (zh) | 2018-11-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108848098B (zh) | 一种嵌入式终端设备的通信通道管理方法及系统 | |
US11974350B2 (en) | System and methods for session management | |
EP1615378B1 (en) | NMS with multi-server events processing | |
US9787593B2 (en) | Performing path-oriented systems management | |
CN102780613B (zh) | 一种分布式设备板间通信的方法与装置 | |
CN102769603A (zh) | 一种数据传输的方法、系统及设备 | |
CN102202104A (zh) | 管理网络设备内的分布式地址池 | |
US11929882B2 (en) | Migration to indirect communication mode in a service-based architecture | |
US9052951B2 (en) | Software bus | |
CN107645386B (zh) | 一种获取数据资源的方法和装置 | |
CN110830282A (zh) | 一种用户面功能配置的方法、装置及设备 | |
CN102158406A (zh) | 面向计算机网络链路的智能选路方法 | |
EP4305834A1 (en) | Improvements in and relating to multi-access edge computing | |
CN104639379A (zh) | 测试代理方法及其装置 | |
US10333792B2 (en) | Modular controller in software-defined networking environment and operating method thereof | |
CN114500341A (zh) | 广域网下的终端实时管控方法及管控服务端 | |
CN113660178A (zh) | 一种cdn内容管理系统 | |
CN102693434A (zh) | 射频识别设备接口层的通信装置及方法 | |
CN110336708A (zh) | 一种面向虚拟跨域通信的弹性保活系统及方法 | |
EP4161207A1 (en) | Base station device and method for operating base station device | |
CN110209136B (zh) | 一种控制系统中硬件资源统一调度方法 | |
CN114401214A (zh) | 一种实现容器组播通信的网络及方法 | |
KR100442599B1 (ko) | 교환 시스템에서 워크스테이션의 분산 객체를 이용한메시지 처리 장치 및 방법 | |
KR20050001123A (ko) | 망 관리에서의 장애 관리 시스템 및 그 방법 | |
Wang | Design and Implementation of TCPHA |
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 |