CN117544609B - 一种基于kvm控制的串口透传系统的数据透传方法 - Google Patents

一种基于kvm控制的串口透传系统的数据透传方法 Download PDF

Info

Publication number
CN117544609B
CN117544609B CN202410027326.7A CN202410027326A CN117544609B CN 117544609 B CN117544609 B CN 117544609B CN 202410027326 A CN202410027326 A CN 202410027326A CN 117544609 B CN117544609 B CN 117544609B
Authority
CN
China
Prior art keywords
data
serial port
node
serial
controlled
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
Application number
CN202410027326.7A
Other languages
English (en)
Other versions
CN117544609A (zh
Inventor
杨天龙
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guangzhou Mediacomm Information Technology Co ltd
Original Assignee
Guangzhou Mediacomm Information Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Guangzhou Mediacomm Information Technology Co ltd filed Critical Guangzhou Mediacomm Information Technology Co ltd
Priority to CN202410027326.7A priority Critical patent/CN117544609B/zh
Publication of CN117544609A publication Critical patent/CN117544609A/zh
Application granted granted Critical
Publication of CN117544609B publication Critical patent/CN117544609B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4022Coupling between buses using switching circuits, e.g. switching matrix, connection or expansion network
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/02Input arrangements using manually operated switches, e.g. using keyboards or dials
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/033Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
    • G06F3/038Control and interface arrangements therefor, e.g. drivers or device-embedded control circuitry
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0435Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply symmetric encryption, i.e. same key used for encryption and decryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/141Setup of application sessions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/161Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields
    • H04L69/162Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields involving adaptations of sockets based mechanisms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/0002Serial port, e.g. RS232C

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Signal Processing (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Human Computer Interaction (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Small-Scale Networks (AREA)
  • Computer And Data Communications (AREA)

Abstract

本申请公开了一种基于KVM控制的串口透传系统的数据透传方法,方法包括:主控节点将要控制的各被控节点加入到控制列表中,形成一对多的主从关系串口控制组数据,并根据串口控制组数据中的IP向被控节点发送通讯连接请求;被控节点接收通讯连接请求后,主控节点将收到被控节点传来的第一数据进行处理,并将处理后的第一数据透传给第一串口设备,同时,主控节点接收第一串口设备传来的第二数据,将第二数据通过网络向被控节点发送;被控节点将接收到的第二数据进行解析,并将解析后的第二数据透传给第二串口设备;同时,被控节点接收第二串口设备传送的第三数据,将第三数据发送给主控节点。本申请实现了多个串口对多个串口进行数据透传。

Description

一种基于KVM控制的串口透传系统的数据透传方法
技术领域
本申请涉及数据通信技术领域,尤其涉及一种基于KVM控制的串口透传系统的数据透传方法。
背景技术
在KVM远程控制领域,目前市场上的KVM设备没有针对智慧工厂和工业控制实现串口透传设计,传统的串口透传服务主要依赖于中控系统去配合实现,依赖于中控系统去配合实现且存在以下缺点:需要购买专门的中控系统和铺设专门的串口数据传输线路;中控主句控制串口设备数量限制;只能一对多台串口设备。因此如何实现多个串口与多个串口之间数据透传,即多对多控制是亟需解决的问题。
发明内容
本申请的主要目的在于克服现有技术的缺点与不足,提供一种基于KVM控制的串口透传系统的数据透传方法,实现多个串口对多个串口进行数据透传。
为了达到上述目的,本申请采用以下技术方案:
第一方面,本申请提供了一种基于KVM控制的串口透传系统的数据透传方法,所述系统包括主控节点、被控节点、第一串口设备和第二串口设备;其中,所述主控节点的第一端通过第一串口与第一串口设备进行通讯连接,所述主控节点的第二端通过网络与被控节点的第一端进行通讯连接,所述被控节点第二端通过第二串口与第二串口设备进行通讯连接;
所述方法包括下述步骤:
所述主控节点将要控制的各被控节点加入到控制列表中,形成一对多的主从关系串口控制组数据,所述串口控制组数据包括被控节点的IP;
所述主控节点根据所述串口控制组数据中的IP向被控节点发送通讯连接请求,所述被控节点接收所述通讯连接请求;
所述被控节点接收所述通讯连接请求后,所述主控节点将收到被控节点传来的第一数据,所述主控节点对所述第一数据进行处理,得到处理后的第一数据;主控节点将处理后的第一数据通过第一串口透传给第一串口设备;同时,所述主控节点会通过第一串口接收第一串口设备传来的第二数据,并将第二数据通过网络向所述被控节点发送;
所述被控节点将接收到的第二数据进行解析,得到解析后的第二数据,所述被控节点将所述解析后的第二数据通过第二串口透传给第二串口设备;同时,所述被控节点通过第二串口接收第二串口设备传送的第三数据,并将第三数据通过网络发送给主控节点。
作为优选的技术方案,所述第二串口设备包括多个。
作为优选的技术方案,所述主控节点通过第一Web后端服务接收第一用户配置数据;所述第一用户配置数据包括配置串口控制组的IP地址、加密方式、第一串口设备的参数;所述被控节点通过第二Web后端服务接收第二用户配置数据;所述第二用户配置数据包括配置第二串口设备的参数。
作为优选的技术方案,所述主控节点根据所述串口控制组数据中的IP向被控节点发送通讯连接请求之前,还包括:
所述主控节点初始化TCP客户端,并创建TCP客户端套接字句柄用于向被控节点发起通讯连接请求和数据传输;所述被控节点初始化TCP服务端,并创建TCP服务端套接字句柄用于接收TCP客户端的通讯连接请求和数据传输。
作为优选的技术方案,所述主控节点根据所述串口控制组数据中的IP向被控节点发送通讯连接请求,所述被控节点接收所述通讯连接请求,具体的:
主控节点根据串口控制组的IP地址,通过TCP客户端向被控节点的TCP服务端发送通讯连接请求;被控节点接收所述通讯连接请求后,主控节点获得TCP服务端套接字通讯句柄,并将TCP服务端套接字句柄存储于被控套接字句柄内核链表中并进行监控。
作为优选的技术方案,所述被控节点接收所述通讯连接请求,具体的:
所述被控节点通过预先创建的TCPaccept监控线程等待并接收主控节点通讯连接请求,在接收主控节点通讯连接请求后,把主控节点通讯连接的TCP客户端套接字通讯句柄加入主控节点套接字句柄内核链表中进行管理。
作为优选的技术方案,所述主控节点将收到被控节点传来的第一数据,所述主控节点对所述第一数据进行处理,得到处理后的第一数据;主控节点将处理后的第一数据通过第一串口透传给第一串口设备;具体的:
监控主控节点中获得的TCP服务端套接字通讯句柄,若主控节点中获得的TCP服务端套接字通讯句柄接收到被控节点发送过来的第一数据,主控节点会对所述第一数据进行加密判断,若第一数据进行了加密,则将第一数据进行解密,得到解密后的第一数据;
根据主控节点设置的设备,将解密后的第一数据通过第一串口透传给第一串口设备或回调。
作为优选的技术方案,所述根据主控节点的第一串口设置的设备,将解密后的第一数据通过第一串口透传给第一串口设备或回调,具体的:
若主控节点设置的设备为物理设备盒子,则将解密后的第一数据通过第一串口透传给第一串口设备;
若主控节点设置的设备为虚拟串口软件,则将解密后的第一数据以回调方式返回给用户的虚拟串口软件中。
作为优选的技术方案,所述主控节点通过第一串口接收第一串口设备传来的第二数据后,还包括监控第一串口的通讯句柄接收根据用户的需求,将第一数据进行加密。
作为优选的技术方案,所述被控节点将接收到的第二数据进行解析,得到解析后的第二数据,所述被控节点将所述解析后的第二数据通过第二串口透传给第二串口设备;具体的:
被控节点通过预先创建的TCP客户端套接字句柄通讯监控线程监控第二数据,若TCP客户端的套接字通讯句柄有接收到第二数据,则对第二数据进行解析判断,根据解析判断结果将第二数据进行处理后通过第二串口透传给第二串口设备;
所述解析判断是指根据第二数据的头部Type字段,判断出第二数据的Type字段是设置加密方式,还是数据透传;若判断出第二数据的Type字段为设置加密方式,则将第二数据进行加密后从第二串口透传给第二串口设备;若判断出第二数据的Type字段为数据透传,先判断第二数据是否进行了加密,若进行了加密,则将第二数据解密后从第二串口透传给第二串口设备。
综上所述,与现有技术相比,本申请提供的技术方案带来的有效效果至少包括:
本申请提出了一种基于KVM控制的串口透传系统的数据透传方法,包括:主控节点将要控制的各被控节点加入到控制列表中,形成一对多的主从关系串口控制组数据,串口控制组数据包括被控节点的IP;主控节点根据所述串口控制组数据中的IP向被控节点发送通讯连接请求,被控节点接收所述通讯连接请求;被控节点接收通讯连接请求后,主控节点将收到被控节点传来的第一数据,主控节点对所述第一数据进行处理,得到处理后的第一数据;主控节点将处理后的第一数据通过第一串口透传给第一串口设备,同时,主控节点会通过第一串口接收第一串口设备传来的第二数据,将第二数据通过网络向所述被控节点发送;被控节点将接收到的第二数据进行解析,得到解析后的第二数据,被控节点将所述解析后的第二数据通过第二串口透传给第二串口设备;同时,被控节点通过第二串口接收第二串口设备传送的第三数据,将第三数据发送给主控节点。本申请实现了控制多个串口或多个虚拟串口软件和多个串口之间进行数据透传,串口设备可高达1024个;同时利用KVM现成的环境即可实现串口数据的透传,无需购买中控系统,无需另外铺设串口控制线路,减少成本。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请一个实施例提供的一种基于KVM控制的串口透传系统的数据透传方法的流程图;
图2为本申请一个实施例提供的一种基于KVM控制的串口透传系统的网络拓扑示意图;
图3为本申请一个实施例提供的串口设备配置流程示意图;
图4为本申请一个实施例提供的加解密流程示意图;
图5为本申请一个实施例提供的主控节点与被控节点通讯过程示意图;
图6为本申请一个实施例提供的主控节点的数据通过第一串口透传的流程示意图;
图7为本申请一个实施例提供的主控节点的数据透传给被控节点的流程示意图;
图8为本申请一个实施例提供的主控节点的工作流程示意图;
图9为本申请一个实施例提供的被控节点的数据通过第二串口透传的流程示意图;
图10为本申请一个实施例提供的被控节点数据透传给主控节点的流程示意图;
图11为本申请一个实施例提供的被控节点的工作流程示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
在本申请中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本申请所描述的实施例可以与其它实施例相结合。
请参阅图1、图2,在本申请的一个实施例中提供了一种基于KVM控制的串口透传系统的数据透传方法,所述系统包括主控节点、被控节点、第一串口设备和第二串口设备;其中,所述主控节点的第一端通过第一串口与第一串口设备进行通讯连接,所述主控节点的第二端通过网络与被控节点的第一端进行通讯连接,所述被控节点第二端通过第二串口与第二串口设备进行通讯连接。所述方法包括以下步骤:
S1、所述主控节点将要控制的各被控节点加入到控制列表中,形成一对多的主从关系串口控制组数据,所述串口控制组数据包括被控节点的IP;
在本实施例中,主控节点的正常工作需要配套的第一Web后端服务页面配置成对应的主控节点工作模式;把想要控制的被控节点加入到控制列表中,形成主控节点与环境中若干个被控节点组成一个一对多的主从关系串口控制组,这样便可以针对实际需求的去控制网络中期望的被控节点;此外,所述第一Web后端服务接收第一用户配置数据,包括配置串口控制组的IP地址、加密方式、第一串口设备的配置参数;所述被控节点的正常工作会通过第二Web后端服务页面配置成对应的被控节点工作模式;此外,第二Web后端服务接收第二用户配置数据;所述第二用户配置数据包括配置第二串口设备的参数。
在本实施例中,主控节点会打开第一串口设备,获取第一串口通讯句柄fd1,并对第一串口设备初始化,所述第一串口设备初始化是根据用户预设的第一串口设备参数(串口波特率、校验位、数据位、停止位和流控制等),通过RS232接口或RS485接口连接第一串口设备,以打通和第一串口设备的通讯,参阅图3。被控节点也会打开第二串口设备,获取第二串口通讯句柄fd2,并对第二串口设备初始化,所述第二串口设备初始化是用户预设的第二串口设备参数(串口波特率、校验位、数据位、停止位和流控制等),同样也通过RS232接口或RS485接口连接第二串口设备,以打通和第二串口设备的通讯。
所述主控节点根据所述串口控制组数据中的IP向被控节点发送通讯连接请求之前,还包括主控节点初始化TCP客户端,并创建TCP客户端套接字句柄向被控节点发起通讯连接请求和数据传输;被控节点初始化TCP服务端,并创建TCP服务端套接字句柄用于接收TCP客户端的通讯连接请求和数据传输;被控节点创建TCP服务端套接字句柄时还包括设置TCP服务端套接字通讯句柄的基本参数,如地址复用、keepalive和探测等参数,从而增加TCP服务端的健壮性和可靠性,然后绑定通讯8002/8006(RS232:8002/RS485:8006)端口。
本实施例中的加密方式采用AES128加密技术,避免明文,以提高数据传输安全性;其加密过程为:首先使用aes_init函数初始化AES密钥和偏移量;其次使用aes_encrypt加密原始数据;将加密后的原始数据拷贝到缓存中;最后使用aes_exit函数进行资源释放;进行加密后,数据进行透传时需要解密,其解密过程为:使用aes_init函数初始化AES密钥和偏移量;其次使用aes_decrypt函数解密数据,得到原始的数据;将解密后的原始数据拷贝到缓存中;最后使用aes_exit函数进行资源释放。本实施例中的加解密流程可参阅图4。
S2、所述主控节点根据所述串口控制组数据中的IP向被控节点发送通讯连接请求,所述被控节点接收所述通讯连接请求;
本实施例中,主控节点的后端会收到对应的被控节点列表,向被控列表中的设备发起建立通讯链接请求,具体的:主根据串口控制组的IP地址,向被控节点的TCP服务端发送通讯连接请求,被控节点接收所述通讯连接请求后,主控节点获得TCP服务端套接字通讯句柄,并将TCP服务端套接字句柄存储于被控套接字句柄内核链表中并进行监控。
进一步的,被控节点接收通讯连接请求时,步骤包括:
被控节点通过预先创建的TCPaccept监控线程等待并接收主控节点申请的通讯链接,同时把主控节点的通讯链接的TCP客户端的套接字通讯句柄加入主控节点套接字句柄内核链表中进行管理,用于后续和主控节点进行数据通讯。
在本实施例中,主控节点和被控节点使用的是TCP/IP技术,TCP socket具备有连接状态的属性,且TCP连接状态是实时响应的,所以TCP连接上即通讯连接成功,TCP断开即通讯连接断开;本实施例中,使用TCP/IP 网络技术作为数据的传输方式,提高数据的安全性和距离。
本实施例中,主控节点向被控节点发起通讯连接请求,通讯连接一旦连接上,主控节点和被控节点则可进行双向的数据透传,请参阅图5。
S3、所述被控节点接收所述通讯连接请求后,所述主控节点将收到被控节点传来的第一数据,所述主控节点对所述第一数据进行处理,得到处理后的第一数据;主控节点将处理后的第一数据通过第一串口透传给第一串口设备,同时,所述主控节点会通过第一串口接收第一串口设备传来的第二数据,将第二数据通过网络向所述被控节点发送;具体的:
S31、主控节点将收到的第一数据通过第一串口透传给第一串口设备,请参阅图6,具体的步骤包括:
S31.1、监控主控节点管理链表中获得的TCP服务端套接字通讯句柄sfd1~sfdn;
S31.2、使用select函数监听TCP服务端套接字通讯句柄sfd1~sfdn;若异常断开,则执行重连操作;
S31.3、若主控节点中获得的TCP服务端套接字通讯句柄接收到被控节点发送过来的第一数据;
S31.4、判断第一数据是否进行了加密,若第一数据采用了AES加密,则对第一数据进行AES解密,得到解密后的第一数据;
S31.5、根据主控节点设置的设备,将解密后的第一数据通过第一串口透传给第一串口设备或回调;
进一步的,若主控节点设置的设备为物理设备盒子,则将解密后的第一数据通过第一串口透传给第一串口设备;若主控节点设置为虚拟串口软件,则将解密后的第一数据以回调方式返回给用户的虚拟串口软件中。
S32、所述主控节点会通过第一串口接收第一串口设备传来的第二数据,将第二数据通过网络向所述被控节点发送,请参阅图7,具体的:
S32.1、通过预先创建的第一串口输入端口数据监控线程,使用select函数监听第一串口的通讯句柄fd1;
S32.2、每当第一串口的通讯句柄接收到第二数据,开始遍历串口控制组中的IP,提取相对应的TCP服务端套接字通讯句柄sfd1~sfdn;
S32.3、根据用户的需求,可将第二数据进行加密或不加密,并将其第二数据从网络透传给所有的被控节点。
本实施例中,主控节点作为串口控制和透传链路中占主导地位,可以控制环境内的任意被控节点,与被控节点通讯连接成功即可进行数据透传,作为主控节点可以同时控制若干个被控节点实现一对多的控制;主控节点的工作模式下包括物理设备盒子和虚拟串口软件两种方式,对于主控节点的物理串口或虚拟串口软件收到的数据会群发到连接的所有被控节点;主控节点的工作模式的整体流程可参阅图8。
S4、被控节点将接收到的第二数据进行解析,得到解析后的第二数据,所述被控节点将所述解析后的第二数据通过第二串口透传给第二串口设备;同时,所述被控节点通过第二串口接收第二串口设备传送的第三数据,将第三数据发送给主控节点。
S41、被控节点将所述第二数据通过第二串口透传给第二串口设备,请参阅图9,步骤包括:
S41.1、被控节点通过预先创建的TCP客户端套接字句柄通讯监控线程监控第二数据,使用selecet函数监听主控节点的中TCP服务端套接字通讯句柄cfd1~cfdn;若该TCP服务端套接字通讯句柄异常断开,则把对应断开的TCP服务端套接字通讯句柄结构体踢出主控节点套接字通讯句柄内核链表;否则,执行下述步骤;
S41.2、TCP客户端的套接字通讯句柄有接收到第二数据,匹配对应的TCP服务端套接字通讯句柄结构体,并从该结构体中读取发送来的第二数据;
S41.3、对第二数据进行解析判断,根据判断结果将第二数据进行处理后通过第二串口透传出去;
进一步的,所述第二数据进行解析是根据第二数据中头部的Type字段,判断出该第二数据是设置加密方式还是数据透传,然后执行对应的Type操作;
若判断到Type字段为数据透传时,根据结构体client_encrymode字段判断数据是否加密;当结构体client_encrymode字段的取值为0时表示不加密,将第二数据直接通过第二串口透传给第二串口设备;当取值为1时表示使用AES加密,则需要将第二数据进行解密后再从第二串口透传给第二串口设备;当取值为2~n表示待扩展的加密方式。
若判断到Type字段为设置加密方式时,则将第二数据进行加密后从第二串口透传给第二串口设备。
S42、所述被控节点通过第二串口通讯句柄接收第二串口设备传送的第三数据,将第三数据发送给主控节点,请参阅图10,具体步骤包括:
S42.1、通过第二串口输入端口数据监控线程,监听第二串口的通讯句柄fd2;
S42.2、当第二串口通讯句柄接收到第二串口设备传送的第三数据,遍历管理主控节点内核链表,提取出相对应的TCP客户端套接字通讯句柄cfd1~cfdn;
S42.3、根据用户的需求,可将第三数据进行加密或不加密,并将其第三数据从TCP客户端套接字通讯句柄cfd1~cfdn读取出;
S42.4、将第三数据通过网络发送给的主控节点。
本实施例中,被控节点对接需要串口数据透传的第二串口设备,通过使用RS232或RS485接口连接到第二串口设备上,以便第二串口设备的数据达到一对多的控制和透传数据的目的,所有主控节点都可以对该被控节点设备进行控制或数据透传;被控节点的工作模式的整体流程可参阅图11。
需要说明的是,对于前述的各方法实施例,为了简便描述,将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其它顺序或者同时进行。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一非易失性计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM (DRAM)、同步DRAM (SDRAM)、双数据率SDRAM (DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
上述实施例为本申请较佳的实施方式,但本申请的实施方式并不受上述实施例的限制,其他的任何未背离本申请的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本申请的保护范围之内。

Claims (7)

1.一种基于KVM控制的串口透传系统的数据透传方法,其特征在于,所述系统包括主控节点、被控节点、第一串口设备和第二串口设备;其中,所述主控节点的第一端通过第一串口与第一串口设备进行通讯连接,所述主控节点的第二端通过网络与被控节点的第一端进行通讯连接,所述被控节点第二端通过第二串口与第二串口设备进行通讯连接;
所述方法包括下述步骤:
所述主控节点将要控制的各被控节点加入到控制列表中,形成一对多的主从关系串口控制组数据,所述串口控制组数据包括被控节点的IP;
所述主控节点根据所述串口控制组数据中的IP向被控节点发送通讯连接请求,所述被控节点接收所述通讯连接请求;所述主控节点根据所述串口控制组数据中的IP向被控节点发送通讯连接请求之前,还包括:
所述主控节点初始化TCP客户端,并创建TCP客户端套接字句柄用于向被控节点发起通讯连接请求和数据传输;所述被控节点初始化TCP服务端,并创建TCP服务端套接字句柄用于接收TCP客户端的通讯连接请求和数据传输;
所述主控节点根据所述串口控制组数据中的IP向被控节点发送通讯连接请求,所述被控节点接收所述通讯连接请求,具体的:
主控节点根据串口控制组的IP地址,通过TCP客户端向被控节点的TCP服务端发送通讯连接请求;被控节点接收所述通讯连接请求后,主控节点获得TCP服务端套接字通讯句柄,并将TCP服务端套接字句柄存储于被控套接字句柄内核链表中并进行监控;
所述被控节点接收所述通讯连接请求后,所述主控节点将收到被控节点传来的第一数据,所述主控节点对所述第一数据进行处理,得到处理后的第一数据;主控节点将处理后的第一数据通过第一串口透传给第一串口设备,具体的:
监控主控节点中获得的TCP服务端套接字通讯句柄,若主控节点中获得的TCP服务端套接字通讯句柄接收到被控节点发送过来的第一数据,主控节点会对所述第一数据进行加密判断,若第一数据进行了加密,则将第一数据进行解密,得到解密后的第一数据;
根据主控节点设置的设备,将解密后的第一数据通过第一串口透传给第一串口设备或回调;
同时,所述主控节点会通过第一串口接收第一串口设备传来的第二数据,并将第二数据通过网络向所述被控节点发送;
所述被控节点将接收到的第二数据进行解析,得到解析后的第二数据,所述被控节点将所述解析后的第二数据通过第二串口透传给第二串口设备;同时,所述被控节点通过第二串口接收第二串口设备传送的第三数据,并将第三数据通过网络发送给主控节点。
2.根据权利要求1所述一种基于KVM控制的串口透传系统的数据透传方法,其特征在于,所述第二串口设备包括多个。
3.根据权利要求1所述一种基于KVM控制的串口透传系统的数据透传方法,其特征在于,所述主控节点通过第一Web后端服务接收第一用户配置数据;所述第一用户配置数据包括配置串口控制组的IP地址、加密方式、第一串口设备的参数;
所述被控节点通过第二Web后端服务接收第二用户配置数据;所述第二用户配置数据包括配置第二串口设备的参数。
4.根据权利要求1所述一种基于KVM控制的串口透传系统的数据透传方法,其特征在于,所述被控节点接收所述通讯连接请求,具体的:
所述被控节点通过预先创建的TCPaccept监控线程等待并接收主控节点通讯连接请求,在接收主控节点通讯连接请求后,把主控节点通讯连接的TCP客户端套接字通讯句柄加入主控节点套接字句柄内核链表中进行管理。
5.根据权利要求1所述一种基于KVM控制的串口透传系统的数据透传方法,其特征在于,所述根据主控节点设置的设备,将解密后的第一数据通过第一串口透传给第一串口设备或回调,具体的:
若主控节点设置的设备为物理设备盒子,则将解密后的第一数据通过第一串口透传给第一串口设备;
若主控节点设置的设备为虚拟串口软件,则将解密后的第一数据以回调方式返回给用户的虚拟串口软件中。
6.根据权利要求1所述一种基于KVM控制的串口透传系统的数据透传方法,其特征在于,所述主控节点通过第一串口接收第一串口设备传来的第二数据后,还包括根据用户的需求,对第二数据进行加密。
7.根据权利要求1所述一种基于KVM控制的串口透传系统的数据透传方法,其特征在于,所述被控节点将接收到的第二数据进行解析,得到解析后的第二数据,所述被控节点将所述解析后的第二数据通过第二串口透传给第二串口设备;具体的:
被控节点通过预先创建的TCP客户端套接字句柄通讯监控线程监控第二数据,若TCP客户端的套接字通讯句柄有接收到第二数据,则对第二数据进行解析判断,根据解析判断结果将第二数据进行处理后通过第二串口透传给第二串口设备;
所述解析判断是指根据第二数据的头部Type字段,判断出第二数据的Type字段是设置加密方式,还是数据透传;若判断出第二数据的Type字段为设置加密方式,则将第二数据进行加密后从第二串口透传给第二串口设备;若判断出第二数据的Type字段为数据透传,先判断第二数据是否进行了加密,若进行了加密,则将第二数据解密后从第二串口透传给第二串口设备。
CN202410027326.7A 2024-01-09 2024-01-09 一种基于kvm控制的串口透传系统的数据透传方法 Active CN117544609B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202410027326.7A CN117544609B (zh) 2024-01-09 2024-01-09 一种基于kvm控制的串口透传系统的数据透传方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202410027326.7A CN117544609B (zh) 2024-01-09 2024-01-09 一种基于kvm控制的串口透传系统的数据透传方法

Publications (2)

Publication Number Publication Date
CN117544609A CN117544609A (zh) 2024-02-09
CN117544609B true CN117544609B (zh) 2024-04-02

Family

ID=89790339

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202410027326.7A Active CN117544609B (zh) 2024-01-09 2024-01-09 一种基于kvm控制的串口透传系统的数据透传方法

Country Status (1)

Country Link
CN (1) CN117544609B (zh)

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103200195A (zh) * 2013-03-29 2013-07-10 核工业理化工程研究院 一种多串行协议转以太网通讯的转换装置及转换方法
CN104618338A (zh) * 2014-12-31 2015-05-13 北京航天测控技术有限公司 一种工业以太网通信数据加密透传模块
CN106713351A (zh) * 2017-01-20 2017-05-24 北京东土军悦科技有限公司 一种基于串口服务器的安全通讯方法及装置
CN108600309A (zh) * 2018-03-21 2018-09-28 浙江佳乐科仪股份有限公司 一种基于dtu透传的plc设备运维系统
CN110620783A (zh) * 2019-09-26 2019-12-27 成都博高信息技术股份有限公司 一种基于nat内网穿透的互联网络串口透传通信方法
CN111404739A (zh) * 2020-03-11 2020-07-10 山东超越数控电子股份有限公司 一种串口网络化属性配置的系统
CN116055534A (zh) * 2022-11-29 2023-05-02 武汉迈威通信股份有限公司 一种多串口设备数据转发系统及方法
CN116112536A (zh) * 2022-12-30 2023-05-12 广州通康创智软件有限公司 一种tcp-串口通信透传的方法及装置

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103200195A (zh) * 2013-03-29 2013-07-10 核工业理化工程研究院 一种多串行协议转以太网通讯的转换装置及转换方法
CN104618338A (zh) * 2014-12-31 2015-05-13 北京航天测控技术有限公司 一种工业以太网通信数据加密透传模块
CN106713351A (zh) * 2017-01-20 2017-05-24 北京东土军悦科技有限公司 一种基于串口服务器的安全通讯方法及装置
CN108600309A (zh) * 2018-03-21 2018-09-28 浙江佳乐科仪股份有限公司 一种基于dtu透传的plc设备运维系统
CN110620783A (zh) * 2019-09-26 2019-12-27 成都博高信息技术股份有限公司 一种基于nat内网穿透的互联网络串口透传通信方法
CN111404739A (zh) * 2020-03-11 2020-07-10 山东超越数控电子股份有限公司 一种串口网络化属性配置的系统
CN116055534A (zh) * 2022-11-29 2023-05-02 武汉迈威通信股份有限公司 一种多串口设备数据转发系统及方法
CN116112536A (zh) * 2022-12-30 2023-05-12 广州通康创智软件有限公司 一种tcp-串口通信透传的方法及装置

Also Published As

Publication number Publication date
CN117544609A (zh) 2024-02-09

Similar Documents

Publication Publication Date Title
US20220321543A1 (en) Systems and methods for secure communication over a network using a linking address
CN109347835B (zh) 信息传输方法、客户端、服务器以及计算机可读存储介质
CN106301769B (zh) 量子密钥输出方法、存储一致性验证方法、装置及系统
DE202017100417U1 (de) Sichere Verbindungen für Niedrigenergie-Geräte
CN111428225A (zh) 数据交互方法、装置、计算机设备及存储介质
JP2016510196A (ja) 安全なネットワーク通信
US20180351737A1 (en) Communication apparatus, communication system, key sharing method, and computer program product
CN111741268B (zh) 视频的传输方法、装置、服务器、设备和介质
KR101952329B1 (ko) 블록체인 기반 암호화폐의 트랜잭션에 이용되는 주소 정보 생성 방법, 전자 장치 및 컴퓨터 판독 가능한 기록 매체
CN113992427B (zh) 基于相邻节点的数据加密发送方法及装置
Pinto et al. Hash-chain-based authentication for IoT
GB2581096A (en) Altering cipher and key within an established session
CN111953716B (zh) 消息通讯方法、系统、计算机设备及存储介质
CN117544609B (zh) 一种基于kvm控制的串口透传系统的数据透传方法
CN104270346B (zh) 双向认证的方法、装置和系统
US9288116B2 (en) System and method for NAS server test load generation
WO2023226478A1 (zh) 用于数据传输的方法及装置、路由器、物联网设备
CN109714337B (zh) 一种数据加密传输方法及设备
CN114186213B (zh) 基于联邦学习的数据传输方法及装置、设备和介质
KR102265611B1 (ko) 네트워크 시스템 및 그것의 메시지 보안 방법
WO2018028359A1 (zh) 业务处理方法、装置、存储介质及电子装置
CN114650188A (zh) 一种基于代理节点的数据安全传输方法及装置
CN113132320A (zh) 一种加密传输方法、装置及电子设备
US11025728B2 (en) Methods for facilitating secure connections for an operating system kernel and devices thereof
CN114500007B (zh) M-LAG系统中的MACsec的实现方法、装置、介质及设备

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