一种串口数据的传输控制方法和装置的制作方法

文档序号:7927434阅读:158来源:国知局

专利名称::一种串口数据的传输控制方法和装置的制作方法
技术领域
:本发明涉及网络通信技术,特别涉及一种串口数据的传输控制方法和装置。
背景技术
:当两个终端设备之间存在一定距离又需要通过串口进行通信时,往往不能够通过终端设备的本地串口来实现数据通信,而需要在两个终端设备之间设置串口服务器,并在终端设备上安装串口驱动程序,通过串口服务器与串口驱动程序之间的通信来模拟终端设备的本地串口。图1为现有技术中通过串口服务器来模拟本地串口的示意图,PC与远程的其它设备之间需要进行串口通信时,需要在PC中安装串口驱动程序,该串口驱动程序通过与串口服务器之间的通信来实现从串口读数据、将数据写入串口以及串口的参数配置等,从而将串口服务器的远程串口模拟为PC的本地串口,如图l所示,PC需要对串口l进行操作时,通过串口驱动程序向串口服务器发送携带串口l标识的打开指令,串口服务器将串口l设置为打开状态;PC再通过串口驱动程序向串口服务器发送携带串口1标识且包含相应操作信息的指令,例如,读指令、写指令或者参数设置指令,串口驱动程序接收到该指令后,根据指令中包含的操作信息对串口1执行相应的操作,例如,接收到携带串口l标识的读指令后,从串口l读取数据并发送给PC,接收到携带串口l标识写指令后,将PC发送来的写指令中携带数据写入串口1。由于在现有技术的上述方法中,串口服务器仅被动地根据接收到的指令执行相应的操作,因此,在由多个终端和同一个串口服务器连接所构成的网络中,当其中一个终端对串口数据进行读操作或写操作时,其它终端则无法获知这一行为,然而在实际情况中,往往需要对该网络中所有的读操作或写操作进行监视,例如,当PC1和PC2与串口服务器连接来实现对同一台摄像机的控制时,PC1和PC2仅能够通过对串口数据的读操作或写操作单独实现对摄像机的控制,而相互之间不能够监视到对摄像机进行了哪些控制,也就无法实现PC1和PC2之间控制的协同工作。因此,实现终端能够监视其它终端对串口数据的操作在许多情况下是十分必要的。
发明内容有鉴于此,本发明提供了一种串口数据的传输控制方法和装置,以便于实现终端能够监视其它终端对串口数据的操作。一种串口数据的传输控制方法,为串口服务器的每个串口创建数据发送列表,串口服务器启动后,将所有串口设置为打开状态,并对所有数据操作进行侦听;该方法包括预先在第一串口的数据发送列表中创建终端的发送项;或者,串口服务器接收到所述终端发送来的包含第一串口标识的订阅指令后,在所述第一串口标识所对应的第一串口的数据发送列表中创建所述终端的发送项;一旦侦听到对所述第一串口进行数据搡作,则将操作的数据送入所述第一串口的数据发送列表中的所有发送项中,将各发送项中的数据和该数据对应的操作信息发送给各发送项对应的终端。一种串口数据的传输控制装置,该传输控制装置设置于串口服务器中,该装置包括列表存储单元、主控制单元和套接口;所述列表存储单元,用于存储每个串口的数据发送列表;所述主控制单元,用于在所述串口服务器启动后,将所有串口设置为打开状态,并对所有数据操作进行侦听;预先在第一串口的数据发送列表中创建终端的发送项,或者,通过所述套接口接收到所述终端发送来的包含第一串口标识的订阅指令后,在所述第一串口标识所对应的第一串口的数据发送列表中创建所述终端的发送项;一旦侦听到对所述第一串口进行数据操作,则将操作的数据送入所述第一串口的数据发送列表中的所有发送项中,将各发送项中的数据和该数据对应的搡作信息通过所述套接口发送给各发送项对应的终端。由以上技术方案可以看出,本发明提供的方法和装置中,串口服务器不再仅仅被动地根据接收到的指令执行相应的串口操作,而是通过为每个串口创建数据发送列表,预先在串口的数据发送列表中创建终端的发送项,或者,在接收到终端发送来的包含串口标识的订阅指令后,在该串口标识所对应的串口数据发送列表中创建该终端的发送项;一旦侦听到对该串口进行数据操作,则将操作的数据送入该串口的数据发送列表中的所有发送项中,将各发送项中的数据和该数据对应的操作信息发送给各发送项对应的终端。使得订阅了该串口操作的终端都能够监听到对该串口进行的数据操作。图1为现有技术中通过串口服务器来模拟本地串口的示意图;图2为本发明实施例提供的一个网络连接图示意图;图3为本发明实施例提供的实现串口数据合并的网络连接示意图;图4为本发明实施例提供的串口数据的传输控制装置的结构图;图5为本发明实施例提供的实现远程数据传输的网络连接示意图。具体实施例方式为了使本发明的目的、技术方案和优点更加清楚,下面结合附图和具体实施例对本发明进行详细描述。本发明所提供的方法主要包括为每个串口创建数据发送列表,串口服务器启动后,将所有串口设置为打开状态,并对所有数据操作进行侦听;预先在串口的数据发送列表中创建终端的发送项;或者,串口服务器接收到终端发送来的包含串口标识的订阅指令后,在该串口标识所对应串口的数据发7送列表中创建该终端的发送项;一旦侦听到对该串口进行数据操作,则将操作的数据送入该串口的数据发送列表中的所有发送项中,将各发送项中的数据和该数据对应的操作信息发送给各发送项对应的终端。其中,上述方法可以应用于对串口的读操作或写操作,对应创建的数据发送列表可以分别为读数据发送列表和写数据发送列表,下面分别以读操作和写操作为例对该方法进行详细描述。首先描述读操作过程,以图2所示的连接关系为例,假设要实现PC1和PC2对串口1读取操作的监视,其实现过程可以如下为串口1和串口2分别创建读数据列表。串口服务器启动后,将所有串口设置为打开状态,并对所有串口l和串口2上的数据操作进行侦听。在串口服务器启动之后,PC1和PC2分别向串口服务器发送包含串口1标识的读数据订阅指令,串口服务器接收到PC1和PC2分別发送来的读数据订阅指令后,在串口1的读数据列表中分别为PC1和PC2创建发送项,创建的该发送项可以分别对应采用PC1和PC2进行标识,其创建的发送项格式可以如表1所示。表1<table>tableseeoriginaldocumentpage8</column></row><table>一旦从串口l读取到数据,将该数据送入串口1中所有已创建的发送项,即PC1的发送项和PC2的发送项,然后将读数据发送列表中所有发送项中的数据分别发送给对应的终端PC1和PC2,并且随着所述数据发送的还有读操作信息,表明对串口1进行的数据操作为读操作。通过以上过程,则可以实现PC1和PC2对从串口1读取凄t据的监一见。如果PCl不再需要对串口l读取数据进行监视,则可以向串口服务器发送携带串口1标识的读数据取消指令,则串口服务器将串口1中PC1的发送项删除。下面描述写操作过程,仍以图2所示的连接关系为例,假设要实现PC1和PC2对串口1写入数据的监碎见,其实现过程可以如下为串口1和串口2分別创建写数据列表。串口服务器启动后,将所有串口设置为打开状态,并对所有串口1和串口2上的数据操作进行侦听。在串口服务器启动之后,PC1和PC2分别向串口服务器发送包含串口1标识的写数据订阅指令,串口服务器接收到PC1和PC2分别发送来的写数据订阅指令后,在串口1的写数据列表中分别为PC1和PC2创建发送项,创建的该发送项可以分别对应采用PC1和PC2进4亍标识,串口1和串口2中创建的发送项格式可以如表2所示。表2订阅该串口写操作的终端标识写操作的数据PC1PC2串口服务器接收到PC3发送来的携带串口l标识的写指令后,将该写指令包含的数据写入串口l,并将该数据送入串口1中所有已创建的发送项,即PC1的发送项和PC2的发送项,然后将写数据发送列表中所有发送项中的数据分别发送给对应的终端PC1和PC2,并且,随着该数据一起发送的还有写操作信息,表明对串口l进行的搡作为写操作。通过以上过程,则可以实现PC1和PC2对串口1写入数据的监视。如果PC1不需要再对串口1的数据进行写入操作的监视,则可以向串口服务器发送携带串口l标识的写数据取消指令,则串口服务器将串口1中PC1的发送项删除。在上述读操作过程中,还可以利用读数据发送列表来实现串口之间的数据转发功能。仍以图2所示结构为例,例如,可以预先在串口1的读数据发送列表中创建第二串口的发送项。当从串口l读入数据时,将该数据送入串口1的读数据发送列表的所有发送项中,在后续发送串口1的读数据发送列表的所有发送项的数据时,将该数据也会被发送给串口2,即实现从串口读取数据后写入串口2。并且,订阅串口1读操作和串口2写操作的PC能够监视到上述对串口的操作,例如,在上述过程中,PC1和PC2能够监视从串口l读取的数据,同时也监视到对串口2写入数据。采用该方法可以实现串口数据的合并,如图3所示,预先在串口1的读数据发送列表和串口2的读数据发送列表中配置了串口3的发送项后,从串口1和串口2读取的数据都能够写入串口3。还可以实现串口数据的分发,例如,预先在串口1的读数据发送列表中配置串口2和串口3的发送项,则从串口1读取数据的同时会将读取的数据送入串口1的读数据发送列表中串口2和串口3的发送项,并将该发送项中的数据分别写入串口2和串口3,从而实现从串口1读取数据分发到串口2和串口3。另外,在上述读操作和写操作过程中,可以将读数据列表或写数据列表中的发送项类型进行区分,即可以设置为动态类型和静态类型。串口服务器重启后,动态类型的发送项将不存在,而静态类型的发送项被保留。例如,可以将IP地址固定的终端创建的发送项设置为静态类型,则串口服务器在重启后,可以继续发送静态类型的发送项中的数据,以此保证该终端对串口数据操作的监视功能,也可以将预先配置在读数据列表或写数据列表中的发送项设置为静态类型;可以将IP地址不固定的终端创建的发送项设置为动态类型,动态类型的发送项需要依靠终端发送的心跳报文来维持,即终端以固定的时间间隔向串口服务器发送心跳报文,如果串口服务器在预设的时间间隔内没有接收到该终端发送的心跳报文,则将该终端的动态发送项删除,这样可以在终端发生故障或者IP地址动荡时,停止该终端的发送项中数据的继续发送,从而减少网络中的垃圾数据和不可回收的发送项。对于串口的参数配置和查询等操作仍可以采用现有技术中的方式,即终端向串口服务器发送包含参数配置信息的指令,串口服务器利用该指令中的参数配置信息对串口进行配置,其中,配置信息可以是串口的波特率信息、校验类型信息、数据位信息或停止位信息等;终端向串口发送包含查询信息的指令,串口服务器利用该指令中的查询信息对串口状态进行查询,并返回给终端。以上是对本发明所提供方法进行的描述,下面对本发明所提供的装置进行详细描述。图4为本发明实施例提供的串口数据的传输控制装置的结构图,该装置设置于串口服务器中,如图4所示,该装置可以包括列表存储单元401、套接口402和主控制单元403。列表存储单元401,用于存储每个串口的数据发送列表。主控制单元403,用于在串口服务器启动后,将所有串口设置为打开状态,并对所有数据操作进行侦听;预先在第一串口的数据发送列表中创建终端的发送项,或者,通过套接口402接收到终端发送来的包含第一串口标识的订阅指令后,在第一串口标识所对应的第一串口的数据发送列表中创建该终端的发送项;一旦侦听到对第一串口进行数据操作,则将操作的数据送入第一串口的数据发送列表中的所有发送项中,将各发送项中的数据和该数据对应的操作信息通过套接口402发送给各发送项对应的终端。根据终端的读操作需求和写操作需求的不同,可以存在以下两种情况或者其组合其一、列表存储单元401存储的数据发送列表为读数据发送列表。主控制单元403,通过套接口402接收到终端发送来的包含第一串口标识的读数据订阅指令后,在第一串口的读数据发送列表中创建终端的发送项;一旦侦听到从第一串口读取到数据,则将从第一串口读取的数据送入第一串口的读数据发送列表中的所有发送项中,通过套接口402将第一串口的读数据发送列表中各发送项中的数据和读操作信息发送给各发送项对应的终端。其二、列表存储单元401存储的数据发送列表为写数据发送列表。主控制单元403,通过套接口402接收到终端发送来的包含第一串口标识的写数据订阅指令后,在第一串口的写数据发送列表中创建终端的发送项;一旦侦听到对第一串口写入数据,则将述第一串口写入的数据送入第一串口的写数据发送列表中的所有发送项中,通过套接口402将第一串口的写数据发送列表中各发送项中的数据和写操作信息发送给各发送项对应的终端。在以上两种情况的基础上,主控制单元403,还可以用于在串口服务器重启后保留列表存储单元401中所有静态类型的发送项,不保留列表存储单元401中所有动态类型的发送项。另外,该装置还可以包括超时4全测单元404,用于4全测当前距离主控制单元403最近一次接收到该终端的心跳报文的时间。主控制单元403,还用于在超时检测单元4044全测到的时间超过预设的时间阈值时,删除列表存储单元401中所有该终端的动态类型的发送项。主控制单元403,还可以用于在对第一串口写入数据之前,将要写入第一串口的数据转换为该数据的目的设备所支持的协议类型数据。通常终端在向串口写入数据时,可以根据目的设备所使用的协议类型在数据中携带该协议类型的命令字,串口服务器的主控单元503可以根据该数据中携带的命令字将要写入串口的数据转换为该数据的目的设备所支持的协议类型数据。由以上描述可以看出,本发明实施例提供的方法和装置可以具有以下优点1)本发明提供的方法和装置中,串口服务器不再仅仅被动地根据接收到的指令执行相应的串口操作,而是通过为每个串口创建数据发送列表,预先在串口的数据发送列表中创建终端的发送项,或者,在接收到终端发送来的包含串口标识的订阅指令后,在该串口标识所对应的串口数据发送列表中创建该终端的发送项;一旦侦听到对该串口进行数据操作,则将操作的数据送入该串口的数据发送列表中的所有发送项中,将各发送项中的数据和该数据对应的搡作信息发送给各发送项对应的终端。使得订阅了该串口操作的终端都能够监听到对该串口进行的数据操作。2)本发明实施例中提供的方法中可以通过在一个串口的读数据发送列12式,实现不同串口之间的数据分发和合并。3)通过对发送项类型进行的区分,即可以保证静态类型发送项对应终少网络中的垃圾数据和不可回收的发送项。4)在对串口写入数据之前增加了协议转换功能,使得终端能够对使用不同协议类型的其它设备进行控制,具有码转换器的功能。5)在进行远程数据传输时,能够实现透明的数据传输通道。如图5所示,控制设备和被控设备需要进行远程数据传输时,可以采用图5所示的连接架构,在串口服务器1的串口1的读数据发送列表中预先创建串口服务器2的端口l的发送项,并在串口服务器2上配置从端口l接收到的数据写入串口2。控制设备向被控设备发送数据时,串口服务器1将从串口1读取到的数据送入串口服务器2的端口1的发送项中,然后将该数据从发送项发送到串口服务器2的端口1,串口服务器2再根据配置将该数据写入串口2,便可以实现将该数据发送至被控设备;从被控设备发送至控制设备的过程类似,从而实现了控制设备和被控设备之间的透明数据传输通道,例如,上述的控制设备可以为键盘,被控设备可以为摄像机。以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。1权利要求1、一种串口数据的传输控制方法,其特征在于,为串口服务器的每个串口创建数据发送列表,串口服务器启动后,将所有串口设置为打开状态,并对所有数据操作进行侦听;该方法包括预先在第一串口的数据发送列表中创建终端的发送项;或者,串口服务器接收到所述终端发送来的包含第一串口标识的订阅指令后,在所述第一串口标识所对应的第一串口的数据发送列表中创建所述终端的发送项;一旦侦听到对所述第一串口进行数据操作,则将操作的数据送入所述第一串口的数据发送列表中的所有发送项中,将各发送项中的数据和该数据对应的操作信息发送给各发送项对应的终端。2、根据权利要求1所述的方法,其特征在于,所述数据发送列表为读数据发送列表,所述订阅指令为读数据订阅指令;或者,所述数据发送列表为写数据发送列表,所述订阅指令为写数据订阅指令。3、根据权利要求2所述的方法,其特征在于,一旦侦听到从所述第一串口读取到数据,则将从所述第一串口读取的数据送入所述第一串口的读数据发送列表中的所有发送项中,将所述第一串口的读数据发送列表中各发送项中的数据和读操作信息发送给各发送项对应的终端;一旦侦听到对所述第一串口写入数据,则将对所述第一串口写入的数据送入所述第一串口的写数据发送列表中的所有发送项中,将所述第一串口的写数据发送列表中各发送项中的数据和写操作信息发送给各发送项对应的终端。4、根据权利要求2所述的方法,其特征在于,该方法还包括预先在第一串口的读数据发送列表中创建第二串口的发送项;一旦侦听到从所述第一串口读取到数据,则在所述将操作的数据送入所述第一串口的数据发送列表中的所有发送项中之后,还包括将所述第一串口的读数据发送列表中第二串口的发送项中的数据写入所述第二串口。5、根据权利要求1至4任一权项所述的方法,其特征在于,所述发送项的类型为动态类型或静态类型;其中,动态类型的发送项在所述串口服务器重启后不存在,静态类型的发送项在所述串口服务器重启后仍保留。6、根据权利要求5所述的方法,其特征在于,该方法还包括所述终端以固定的时间间隔向所述串口服务器发送心跳报文,所述串口服务器在预设的时间间隔内没有接收到所述心跳报文,则删除所有所述终端的动态类型的发送项。7、根据权利要求3所述的方法,其特征在于,在对所述第一串口写入数据之前,所述串口服务器将要写入所述第一串口的数据转换为该数据的目的设备所支持的协议类型数据。8、一种串口数据的传输控制装置,其特征在于,该传输控制装置设置于串口服务器中,该装置包括列表存储单元、主控制单元和套接口;所述列表存储单元,用于存储每个串口的数据发送列表;所述主控制单元,用于在所述串口服务器启动后,将所有串口设置为打开状态,并对所有数据操作进行侦听;预先在第一串口的数据发送列表中创建终端的发送项,或者,通过所述套接口接收到所述终端发送来的包含第一串口标识的订阅指令后,在所述第一串口标识所对应的第一串口的数据发送列表中创建所述终端的发送项;一旦侦听到对所述第一串口进行数据操作,则将操作的数据送入所述第一串口的数据发送列表中的所有发送项中,将各发送项中的数据和该数据对应的操作信息通过所述套接口发送给各发送项对应的终端。9、根据权利要求8所述的装置,其特征在于,所述列表存储单元存储的数据发送列表为读数据发送列表;所述主控制单元,通过所述套接口接收到终端发送来的包含第一串口标识的读数据订阅指令后,在所述第一串口的读数据发送列表中创建所述终端的发送项;一旦侦听到从所述第一串口读取到数据,则将从所述第一串口读取的数据送入所述第一串口的读数据发送列表中的所有发送项中,通过所述套接口将所述第一串口的读数据发送列表中各发送项中的数据和读操作信息发送给各发送项对应的终端。10、根据权利要求8所述的装置,其特征在于,所述列表存储单元存储的数据发送列表为写数据发送列表;所述主控制单元,通过所述套接口接收到终端发送来的包含第一串口标识的写数据订阅指令后,在所述第一串口的写数据发送列表中创建所述终端的发送项;一旦侦听到对所述第一串口写入数据,则将对所述第一串口写入的数据送入所述第一串口的写数据发送列表中的所有发送项中,通过所述套接口将所述第一串口的写数据发送列表中各发送项中的数据和写操作信息发送给各发送项》于应的纟冬端。11、根据权利要求8、9或10所述的装置,其特征在于,所述主控制单元,还用于在所述串口服务器重启后保留所述列表存储单元中所有静态类型的发送项,不保留所述列表存储单元中所有动态类型的发送项。12、根据权利要求11所述的装置,其特征在于,该装置还包括超时检测单元,用于检测当前距离所述主控制单元最近一次接收到所述终端的心跳报文的时间;所述主控制单元,还用于在所述超时检测单元检测到的时间超过预设的时间阔值时,删除所述列表存储单元中所有所述终端的动态类型的发送项。13、根据权利要求8、9或10所述的装置,其特征在于,所述主控制单元,还用于在对所述第一串口写入数据之前,将要写入所述第一串口的数据转换为该数据的目的设备所支持的协议类型数据。全文摘要本发明提供了一种串口数据的传输控制方法和装置,为每个串口创建数据发送列表,串口服务器启动后,将所有串口设置为打开状态,并对所有数据操作进行侦听;该方法包括预先在串口的数据发送列表中创建终端的发送项;或者,串口服务器接收到终端发送来的包含串口标识的订阅指令后,在所述串口标识所对应的串口的数据发送列表中创建所述终端的发送项;一旦侦听到对所述串口进行数据操作,则将操作的数据送入所述串口的数据发送列表中的所有发送项中,将各发送项中的数据和该数据对应的操作信息发送给各发送项对应的终端。使得订阅了该串口操作的终端都能够监听到对该串口进行的数据操作。文档编号H04L29/02GK101465839SQ200810225039公开日2009年6月24日申请日期2008年10月24日优先权日2008年10月24日发明者姚志宏,健申,肖可伟申请人:北京蛙视通信技术有限责任公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1