[發明專利]一種串口虛擬化的方法、系統、設備和存儲介質在審
| 申請號: | 202211617548.1 | 申請日: | 2022-12-15 |
| 公開(公告)號: | CN115964124A | 公開(公告)日: | 2023-04-14 |
| 發明(設計)人: | 任愛蓮;李鐵軍;馬曉光;王朝暉 | 申請(專利權)人: | 西安超越申泰信息科技有限公司 |
| 主分類號: | G06F9/455 | 分類號: | G06F9/455;G06F13/38 |
| 代理公司: | 北京連和連知識產權代理有限公司 11278 | 代理人: | 朝魯蒙;趙翠清 |
| 地址: | 710000 陜西省西安市國家民用*** | 國省代碼: | 陜西;61 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 串口 虛擬 方法 系統 設備 存儲 介質 | ||
本發明提供一種串口虛擬化的方法、系統、設備和存儲介質,方法包括:通過虛擬串口客戶端程序創建Inotify句柄,并通過調用Inotify監聽函數添加要進行監聽的文件或目錄;通過虛擬串口客戶端程序的讀取函數從Inotify的文件描述符中讀取事件;響應于接收到遠程訪問,根據文件打開標志確定是否接收數據;將所述虛擬串口客戶端程序部署到客戶端,將TCP/IP網口虛擬成串口設備,通過串口線與遠程串口連接以實現數據通信。本發明采用Inotify機制的防數回顯的串口虛擬方式,實現串口設備信息的網絡傳輸,解決了串口終端設備的遠程訪問問題。
技術領域
本發明涉及虛擬化領域,更具體地,特別是指一種串口虛擬化的方法、系統、設備和存儲介質。
背景技術
虛擬串口(虛擬COM端口),是用操作系統的虛擬驅動技術產生的串口(COM口),是一種模擬物理串行接口的軟件,虛擬串口具有真實硬件串口的功能,并且被操作系統和串行應用程序識別為真實串口。
虛擬串口的應用比較廣泛。以前的電腦,基本標配都包含一個串口。但現在的電腦,基本都沒有配置串口了。如果要使用串口的功能,基本上增加一個USB轉串口的硬件模塊即可。但如果在不改變硬件的情況下,還需要增加一個或多個串口設備,就需要虛擬出一個或多個串口,實際使用時和真實的硬件串口是相同的。另外,當調試程序的時候,可以使用虛擬串口檢測串行輸入數據,多個應用程序之間也可以使用虛擬串口進行通信。但是目前的虛擬串口會導致數據回顯,并可能影響正常串口通信。
發明內容
有鑒于此,本發明實施例的目的在于提出一種串口虛擬化的方法、系統、計算機設備及計算機可讀存儲介質,本發明在虛擬串口的客戶端程序中增加Inotify機制監控目錄或者文件狀態變更情況,及時接收或者丟棄串口數據,實現串口設備信息的網絡傳輸,解決了串口終端設備的遠程訪問問題。
基于上述目的,本發明實施例的一方面提供了一種串口虛擬化的方法,包括如下步驟:通過虛擬串口客戶端程序創建Inotify句柄,并通過調用Inotify監聽函數添加要進行監聽的文件或目錄;通過虛擬串口客戶端程序的讀取函數從Inotify的文件描述符中讀取事件;響應于接收到遠程訪問,根據文件打開標志確定是否接收數據;將所述虛擬串口客戶端程序部署到客戶端,將TCP/IP網口虛擬成串口設備,通過串口線與遠程串口連接以實現數據通信。
在一些實施方式中,所述方法還包括:通過為選擇函數調用設置文件/套接字以監視文件描述符的變化情況,并等待來自套接字、設備或遠程連接的數據。
在一些實施方式中,所述通過虛擬串口客戶端程序的讀取函數從Inotify的文件描述符中讀取事件包括:響應于讀取函數未讀取到事件,則讀取函數被阻塞直至有事件產生;以及響應于讀取函數讀取到事件,則每次調用讀取函數時返回一個包含一個或多個事件結構體的緩存區。
在一些實施方式中,方法還包括:將所述事件結構體的位掩碼設置成唯一指代監控項的描述符,并根據描述符的狀態確定文件打開標志。
本發明實施例的另一方面,提供了一種串口虛擬化的系統,包括:創建模塊,配置用于通過虛擬串口客戶端程序創建Inotify句柄,并通過調用Inotify監聽函數添加要進行監聽的文件或目錄;讀取模塊,配置用于通過虛擬串口客戶端程序的讀取函數從Inotify的文件描述符中讀取事件;判斷模塊,配置用于響應于接收到遠程訪問,根據文件打開標志確定是否接收數據;執行模塊,配置用于將所述虛擬串口客戶端程序部署到客戶端,將TCP/IP網口虛擬成串口設備,通過串口線與遠程串口連接以實現數據通信。
在一些實施方式中,所述系統還包括監聽模塊,配置用于:通過為選擇函數調用設置文件/套接字以監視文件描述符的變化情況,并等待來自套接字、設備或遠程連接的數據。
在一些實施方式中,所述讀取模塊配置用于:響應于讀取函數未讀取到事件,則讀取函數被阻塞直至有事件產生;以及響應于讀取函數讀取到事件,則每次調用讀取函數時返回一個包含一個或多個事件結構體的緩存區。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于西安超越申泰信息科技有限公司,未經西安超越申泰信息科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202211617548.1/2.html,轉載請聲明來源鉆瓜專利網。





