CN106021136B - 一种基于Linux或Unix内核操作系统的串口映射方法及装置 - Google Patents

一种基于Linux或Unix内核操作系统的串口映射方法及装置 Download PDF

Info

Publication number
CN106021136B
CN106021136B CN201610304975.2A CN201610304975A CN106021136B CN 106021136 B CN106021136 B CN 106021136B CN 201610304975 A CN201610304975 A CN 201610304975A CN 106021136 B CN106021136 B CN 106021136B
Authority
CN
China
Prior art keywords
serial
list
pointer
logic
physical
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
CN201610304975.2A
Other languages
English (en)
Other versions
CN106021136A (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.)
Guangdian Yuntong Financial Electronic Co Ltd
Original Assignee
Guangdian Yuntong Financial Electronic 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 Guangdian Yuntong Financial Electronic Co Ltd filed Critical Guangdian Yuntong Financial Electronic Co Ltd
Priority to CN201610304975.2A priority Critical patent/CN106021136B/zh
Publication of CN106021136A publication Critical patent/CN106021136A/zh
Priority to PCT/CN2017/083531 priority patent/WO2017193898A1/zh
Application granted granted Critical
Publication of CN106021136B publication Critical patent/CN106021136B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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/10Program control for peripheral devices

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Systems (AREA)

Abstract

本发明公开了一种基于Linux或Unix内核操作系统的串口映射方法,包括如下步骤:从基本输入输出系统(BIOS)获取第一串口列表;其中,所述第一串口列表存储了面板的至少一个物理串口的串口信息;从操作系统获取第二串口列表;其中,所述第二串口列表存储了所述操作系统的至少一个逻辑串口的串口信息;根据所述串口信息对所述第一串口列表的物理串口和第二串口列表中的逻辑串口进行匹配,生成所述第一串口列表与所述第二串口列表的串口映射文件。本发明还提供一种基于Linux或Unix内核操作系统的串口映射装置,可在不需要人为干涉的情况下自动生成描述物理串口与逻辑串口映射关系的串口映射文件,提高了识别匹配的效率和准确率。

Description

一种基于Linux或Unix内核操作系统的串口映射方法及装置
技术领域
本发明涉及串口识别领域,尤其涉及一种基于Linux或Unix内核操作系统的串口映射方法及装置。
背景技术
Linux系统是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统,它能运行主要的UNIX工具软件、应用程序和网络协议,继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。在Linux系统下接入外部设备时,需要通过串口进行通信,然而Linux系统下的逻辑串口的顺序可能与面板的物理串口的顺序可能不一致,导致无法正常通信。
现有的解决方案主要是利用人工进行匹配。例如,一种方法是将硬件设备固定接入到面板上的某个物理串口,然后在应用软件中根据硬件设备特有的通信指令特性穷举每个串口进行识别;另一种方法是在应用软件固定打开某个串口的端口链接,通过人为方式切换每个物理串口,从而找到对应的物理串口。但人工匹配的方法由于需要人为的参与,容易导致效率低下、错误率高的问题,且由于需要固定的硬件设备和特定的识别辅助软件的支持,也会额外增加成本。
发明内容
针对上述问题,本发明的目的在于提供一种串口映射方法、装置及终端,可实现物理串口与逻辑串口的自动映射。
本发明提供了一种串口映射方法,包括如下步骤:
从基本输入输出系统(BIOS)获取第一串口列表;其中,所述第一串口列表存储了面板的至少一个物理串口的串口信息;
从基于Linux或Unix内核的操作系统获取第二串口列表;其中,所述第二串口列表存储了所述操作系统的至少一个逻辑串口的串口信息;
根据所述串口信息对所述第一串口列表的物理串口和第二串口列表中的逻辑串口进行匹配,生成所述第一串口列表与所述第二串口列表的串口映射文件,以使所述操作系统在检测到外部设备接入时,根据所述串口映射文件及所述外部设备当前接入的物理串口获取映射的逻辑串口,并根据与所述逻辑串口对应的程序与所述外部设备进行通信。
优选地,所述从基本输入输出系统获取第一串口列表具体为:通过在用户层调用中断指令,从基本输入输出系统获取第一串口列表;所述串口信息包括收发器类型、中断号及端口地址。
优选地,所述根据所述串口信息对所述第一串口列表的物理串口和第二串口列表中的逻辑串口进行匹配,生成所述第一串口列表与所述第二串口列表的串口映射文件,具体包括:
获取为所述第一串口列表配置的第一指针当前指向的物理串口的串口信息;
获取为所述第二串口列表配置的第二指针当前指向的逻辑串口的串口信息;
根据所述第一指针当前指向的物理串口的串口信息及所述第二指针当前指向的逻辑串口的串口信息,判断所述物理串口与所述逻辑串口是否匹配;
若不匹配,则在确定所述第二指针当前指向的逻辑串口不位于所述第二串口列表的列表末尾时,控制所述第二指针移动到位于当前指向的所述逻辑串口之后的下一个逻辑串口;
若匹配,则记录所述物理串口与所述逻辑串口的映射关系,并判断所述第一指针当前指向的物理串口是否位于所述第一串口列表的列表末尾;
若否,则控制所述第一指针移动到位于当前指向的所述物理串口之后的下一个物理串口,并在所述第二串口列表中删除所述第二指针当前指向的逻辑串口后,控制所述第二指针指向所述第二串口列表内的第一个逻辑串口;
若是,则根据所有已记录的映射关系,生成所述第一串口列表与所述第二串口列表的串口映射文件。
优选地,所述根据所述第一指针当前指向的物理串口的串口信息及所述第二指针当前指向的逻辑串口的串口信息,判断所述物理串口与所述逻辑串口是否匹配,具体包括:
根据哈希算法及所述第一指针当前指向的物理串口的串口信息生成第一哈希值;
根据哈希算法及所述第二指针当前指向的逻辑串口的串口信息生成第二哈希值;
根据所述第一哈希值及所述第二哈希值判断所述物理串口与所述逻辑串口是否匹配。
优选地,还包括:
在确定所述第二指针当前指向的逻辑串口位于所述第二串口列表的列表末尾时,控制所述第一指针移动到位于当前指向的所述物理串口之后的下一个物理串口,并控制所述第二指针指向所述第二串口列表内的第一个逻辑串口。
本发明还提供一种基于Linux或Unix内核操作系统的串口映射装置,包括:
第一列表获取单元,用于从基本输入输出系统获取第一串口列表;其中,所述第一串口列表存储了面板的至少一个物理串口的串口信息;
第二列表获取单元,用于从基于Linux或Unix内核的操作系统获取第二串口列表;其中,所述第二串口列表存储了所述操作系统的至少一个逻辑串口的串口信息;
匹配单元,用于根据所述串口信息对所述第一串口列表的物理串口和第二串口列表中的逻辑串口进行匹配,生成所述第一串口列表与所述第二串口列表的串口映射文件,以使所述操作系统在检测到外部设备接入时,根据所述串口映射文件及所述外部设备当前接入的物理串口获取映射的逻辑串口,并根据与所述逻辑串口对应的程序与所述外部设备进行通信。
优选地,所述第一列表获取单元具体用于,通过在用户层调用中断指令,从基本输入输出系统获取第一串口列表;所述串口信息包括收发器类型、中断号及端口地址。
优选地,所述匹配单元具体包括第一指针模块、第二指针模块、串口匹配模块,指针处理模块、映射关系记录模块及映射文件生成模块,其中:
所述第一指针模块,用于获取为所述第一串口列表配置的第一指针当前指向的物理串口的串口信息;
所述第二指针模块,用于获取为所述第二串口列表配置的第二指针当前指向的逻辑串口的串口信息;
所述串口匹配模块,用于根据所述第一指针当前指向的物理串口的串口信息及所述第二指针当前指向的逻辑串口的串口信息,判断所述物理串口与所述逻辑串口是否匹配;若不匹配,则通知所述指针处理模块,若匹配,则通知所述映射关系记录模块;
所述指针处理模块,用于在确定所述第二指针当前指向的逻辑串口不位于所述第二串口列表的列表末尾时,控制所述第二指针移动到位于当前指向的所述逻辑串口之后的下一个逻辑串口;
所述映射关系记录模块,用于记录所述物理串口与所述逻辑串口的映射关系,并判断所述第一指针当前指向的物理串口是否位于所述第一串口列表的列表末尾;若否,则通知所述指针处理模块,若是,则通知所述映射文件生成模块;
所述指针处理模块,还用于控制所述第一指针移动到位于当前指向的所述物理串口之后的下一个物理串口,并在所述第二串口列表中删除所述第二指针当前指向的逻辑串口后,控制所述第二指针指向所述第二串口列表内的第一个逻辑串口;
所述映射文件生成模块,用于根据所述映射关系记录模块记录的映射关系,生成所述第一串口列表与所述第二串口列表的串口映射文件。
优选地,所述串口匹配模块具体包括:
第一哈希值计算子模块,用于根据哈希算法及所述第一指针当前指向的物理串口的串口信息生成第一哈希值;
第二哈希值计算子模块,用于根据哈希算法及所述第二指针当前指向的逻辑串口的串口信息生成第二哈希值;
哈希值匹配子模块,用于根据所述第一哈希值及第二哈希值判断所述物理串口与所述逻辑串口是否匹配。
优选地,所述指针处理模块,还用于在确定所述第二指针当前指向的逻辑串口位于所述第二串口列表的列表末尾时,控制所述第一指针移动到位于当前指向的所述物理串口之后的下一个物理串口,并控制所述第二指针指向所述第二串口列表内的第一个逻辑串口。
本发明提供的基于Linux或Unix内核操作系统的串口映射方法及装置,通过对从基本输入输出系统获取的第一串口列表内的物理串口和从操作系统下获取的第二串联列表内的逻辑串口进行自动匹配,从而在不需要人为干涉的情况下自动生成描述物理串口与逻辑串口映射关系的串口映射文件,提高了识别匹配的效率和准确率。此外,由于不需要专门的外部设备和辅助软件,还同时减低了成本。
附图说明
为了更清楚地说明本发明的技术方案,下面将对实施方式中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的基于Linux或Unix内核操作系统的串口映射方法的流程示意图。
图2是本发明实施例提供的第一串口列表的数据结构图。
图3是本发明实施例提供的第二串口列表的数据结构图。
图4是本发明实施例提供的生成串口映射文件的流程示意图。
图5是本发明实施例提供的基于Linux或Unix内核操作系统的串口映射装置的结构示意图。
图6是图5所示的第一列表单元获取第一串口列表的示意图。
图7是图5所示的匹配单元的结构示意图。
图8是图7所示的串口匹配模块的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明提供了一种基于Linux或Unix内核操作系统的串口映射方法及装置,用于自动生成物理串口与逻辑串口的映射关系,实现串口的自动识别和匹配,以下分别进行详细描述。
请参阅图1,图1是本发明实施例提供的基于Linux或Unix内核操作系统的串口映射方法的流程示意图。所述串口映射方法可由基于Linux或Unix内核操作系统的串口映射装置(以下称为串口映射装置)来执行,并至少包括如下步骤:
S101,从基本输入输出系统(BIOS)获取第一串口列表;其中,所述第一串口列表存储了面板的至少一个物理串口的串口信息。
请一并参阅图2,具体的,在本发明实施例中,所述串口映射装置可通过在用户层调用中断指令,并将所述中断指令发送给所述基本输入输出系统(Basic Input OutputSystem,BIOS),所述BIOS在接收到所述中断指令后,向所述串口映射装置返回第一串口列表,其中,所述第一串口列表内按顺序存储了面板的所有物理串口及每个物理串口的串口信息,所述物理串口的串口信息可包括收发器类型、中断号及端口地址。
S102,从基于Linux或Unix内核的操作系统获取第二串口列表;其中,所述第二串口列表存储了所述操作系统的至少一个逻辑串口的串口信息。
请一并参阅图3,具体地,在本发明实施例中,所述串口映射装置在操作系统的用户层输入特定指令读取第二串口列表,其中,所述第二串口列表存储了所述操作系统的所有逻辑串口的串口信息,同样的,所述逻辑串口的串口信息可包括收发器类型、中断号及端口地址。
在本发明实施例中,所述操作系统可为Linux系统,则一般地,所述特定指令可为/proc/tty/driver/serial。然而应当理解的是,在本发明的其他实施例中,所述操作系统还可为其他操作系统,如UNIX系统等,具体的指令也可根据实际的系统配置进行指定,本发明不做具体限定。
S103,根据所述串口信息对所述第一串口列表的物理串口和第二串口列表中的逻辑串口进行匹配,生成所述第一串口列表与所述第二串口列表的串口映射文件,以使所述操作系统在检测到外部设备接入时,根据所述串口映射文件及所述外部设备当前接入的物理串口获取映射的逻辑串口,并根据与所述逻辑串口对应的程序与所述外部设备进行通信。
在本发明实施例中,所述串口映射装置在获得所述第一串口列表和第二串口列表后,根据所述串口信息对所述第一串口列表的物理串口和第二串口列表中的逻辑串口进行匹配,并根据匹配的结果生成所述第一串口列表与所述第二串口列表的串口映射文件。
请一并参阅图4,具体地,可包括如下步骤:
S1031,获取为所述第一串口列表配置的第一指针当前指向的物理串口的串口信息。
在本发明实施例中,所述串口映射装置可定义一个第一指针,所述第一指针用于指向所述第一串口列表内的物理串口,并可在所述第一串口列表内移动,以指向不同的物理串口,其中,所述第一指针指向一个物理串口时,所述串口映射装置将获取该物理串口的串口信息。
S1032,获取为所述第二串口列表配置的第二指针当前指向的逻辑串口的串口信息。
在本发明实施例中,同样的,所述串口映射装置还可定义一个第二指针,所述第二指针用于指向所述第二串口列表内的逻辑串口,并可在所述第二串口列表内移动,以指向不同的逻辑串口,其中,所述第二指针指向一个逻辑串口时,所述串口映射装置将获取该逻辑串口的串口信息。
S1033,根据所述第一指针当前指向的物理串口的串口信息及所述第二指针当前指向的逻辑串口的串口信息,判断所述物理串口与所述逻辑串口是否匹配。
在一个实施例中,所述串口映射装置可判断第一指针当前指向的物理串口的串口信息及所述第二指针当前指向的逻辑串口的串口信息是否完成一致,例如,依次判断所述物理串口的收发器类型、中断号及端口地址是否与所述逻辑串口的收发器类型、中断号及端口地址一致,若全部一致,则所述物理串口与所述逻辑串口匹配,而只要有一个串口信息不一致,则所述物理串口与所述逻辑串口不匹配。
在另一个实施例中,也可先根据哈希算法和所述串口信息生成一个哈希值,再判断哈希值是否一致来判断所述物理串口与所述逻辑串口是否匹配,由于哈希算法的特性,只有当收发器类型、中断号及端口地址完全一致,得出的哈希值才一致。具体地:
首先,根据哈希算法及所述第一指针当前指向的物理串口的串口信息生成第一哈希值。
然后,根据哈希算法及所述第二指针当前指向的逻辑串口的串口信息生成第二哈希值。
最后,根据所述第一哈希值及所述第二哈希值判断所述物理串口与所述逻辑串口是否匹配。
如此,相比于直接对串口信息进行匹配,简化了匹配的过程,并提高了匹配的可靠性
S1034,若否,则在确定所述第二指针当前指向的逻辑串口不位于所述第二串口列表的列表末尾时,控制所述第二指针移动到位于当前指向的所述逻辑串口之后的下一个逻辑串口。
在本发明实施例中,若所述物理串口与所述逻辑串口不匹配,则所述串口映射装置先确定所述第二指针当前指向的逻辑串口是否位于所述第二串口列表的列表末尾(当所述第二指针向后移动一步后指向NULL时,则代表已经到了所述第二串口列表的列表末尾),如果是,则控制所述第一指针移动到位于当前指向的所述物理串口之后的下一个物理串口,并控制所述第二指针指向所述第二串口列表内的第一个逻辑串口。若否,则所述串口映射装置控制所述第二指针移动到位于当前指向的所述逻辑串口之后的下一个逻辑串口。
S1035,若是,则记录所述物理串口与所述逻辑串口的映射关系,并判断所述第一指针当前指向的物理串口是否位于所述第一串口列表的列表末尾。
在本发明实施例中,若所述物理串口与所述逻辑串口匹配,则所述串口映射装置记录所述物理串口与所述逻辑串口的映射关系,如记录所述物理串口的序号及所述逻辑串口的路径形成的映射关系,例如,映射关系可记录为:物理串口1映射为/dev/COM1,其表示面板上的序号为1的物理串口与操作系统的/dev/COM1的逻辑串口匹配。
在本发明实施例中,在记录所述映射关系后,所述串口映射装置还判断所述第一指针当前指向的物理串口是否位于所述第一串口列表的列表末尾(当所述第一指针向后移动一步后指向NULL时,则代表已经到了所述第一串口列表的列表末尾)。
S1036,若否,则控制所述第一指针移动到位于当前指向的所述物理串口之后的下一个物理串口,并在所述第二串口列表中删除所述第二指针当前指向的逻辑串口后,控制所述第二指针指向所述第二串口列表内的第一个逻辑串口。
在本发明实施例中,若所述串口映射装置判断所述第一指针当前指向的物理串口不是位于所述第一串口列表的列表末尾,则说明所述第一串口列表内尚有物理串口未经过匹配,此时,所述串口映射装置控制所述第一指针移动到位于当前指向的所述物理串口之后的下一个物理串口,并在所述第二串口列表中删除所述第二指针当前指向的逻辑串口后,控制所述第二指针指向所述第二串口列表内的第一个逻辑串口。
S1037,若是,则根据所有已记录的映射关系,生成所述第一串口列表与所述第二串口列表的串口映射文件。
在本发明实施例中,若所述串口映射装置判断所述第一指针当前指向的物理串口位于所述第一串口列表的列表末尾,则说明所述第一串口列表内的所有物理串口均经过匹配,此时,所述串口映射装置根据所有已记录的映射关系,生成所述第一串口列表与所述第二串口列表的串口映射文件。所述串口映射文件为所有物理串口与逻辑串口的映射关系的汇总文件,如此,当有外部设备接入面板上的物理串口时,即可根据所述串口映射文件找到对应的逻辑串口,再根据所述逻辑串口找到对应的程序来实现与所述外部设备进行通信。
综上所述,本发明实施例提供的串口映射方法,通过对从BIOS获取的第一串口列表内的物理串口和从操作系统下获取的第二串联列表内的逻辑串口进行自动匹配,从而在不需要人为干涉的情况下自动生成描述物理串口与逻辑串口映射关系的串口映射文件,提高了识别匹配的效率和准确率。此外,由于不需要专门的外部设备和辅助软件,还同时减低了成本。
下面将对上述提及的基于Linux或Unix内核操作系统的串口映射装置进行详细描述。
请参阅图5,图5是本发明实施例提供的基于Linux或Unix内核操作系统的串口映射装置的结构示意图。所述串口映射装置100包括第一列表获取单元10、第二列表获取单元20及匹配单元30,其中:
所述第一列表获取单元10,用于从基本输入输出系统获取第一串口列表;其中,所述第一串口列表存储了面板的至少一个物理串口的串口信息。
如图6所示,在本发明实施例中,所述第一列表获取单元10可通过在用户层调用中断指令,并将所述中断指令发送给所述基本输入输出系统(Basic Input Output System,BIOS),所述BIOS在接收到所述中断指令后,向所述第一列表获取单元10返回第一串口列表。
在本发明实施例中,所述串口信息包括收发器类型、中断号及端口地址。
所述第二列表获取单元20,用于从基于Linux或Unix内核操作系统的操作系统获取第二串口列表;其中,所述第二串口列表存储了所述操作系统的至少一个逻辑串口的串口信息。
所述匹配单元30,用于根据所述串口信息对所述第一串口列表的物理串口和第二串口列表中的逻辑串口进行匹配,生成所述第一串口列表与所述第二串口列表的串口映射文件,以使所述操作系统在检测到外部设备接入时,根据所述串口映射文件及外部设备当前接入的物理串口获取映射的逻辑串口,并根据与所述逻辑串口对应的程序与所述外部设备进行通信。
请一并参阅图7,具体地,所述匹配单元30具体包括第一指针模块31、第二指针模块32、串口匹配模块33,指针处理模块34、映射关系记录模块35及映射文件生成模块36,其中:
所述第一指针模块31,用于获取为所述第一串口列表配置的第一指针当前指向的物理串口的串口信息。
所述第二指针模块32,用于获取为所述第二串口列表配置的第二指针当前指向的逻辑串口的串口信息。
所述串口匹配模块33,用于根据所述第一指针当前指向的物理串口的串口信息及所述第二指针当前指向的逻辑串口的串口信息,判断所述物理串口与所述逻辑串口是否匹配;若不匹配,则通知所述指针处理模块34,若匹配,则通知所述映射关系记录模块35。
所述指针处理模块34,用于在确定所述第二指针当前指向的逻辑串口不位于所述第二串口列表的列表末尾时,控制所述第二指针移动到位于当前指向的所述逻辑串口之后的下一个逻辑串口。
所述映射关系记录模块35,用于记录所述物理串口与所述逻辑串口的映射关系,并判断所述第一指针当前指向的物理串口是否位于所述第一串口列表的列表末尾;若否,则通知所述指针处理模块34,若是,则通知所述映射文件生成模块36。
所述指针处理模块34,还用于控制所述第一指针移动到位于当前指向的所述物理串口之后的下一个物理串口,并在所述第二串口列表中删除所述第二指针当前指向的逻辑串口后,控制所述第二指针指向所述第二串口列表内的第一个逻辑串口。
所述映射文件生成模块36,用于根据所述映射关系记录模块记录的映射关系,生成所述第一串口列表与所述第二串口列表的串口映射文件。
请一并参阅图8,优选地,所述串口匹配模块33具体包括:
第一哈希值计算子模块331,用于根据哈希算法及所述第一指针当前指向的物理串口的串口信息生成第一哈希值;
第二哈希值计算子模块332,用于根据哈希算法及所述第二指针当前指向的逻辑串口的串口信息生成第二哈希值;
哈希值匹配子模块333,用于根据所述第一哈希值及第二哈希值判断所述物理串口与所述逻辑串口是否匹配。
本优选实施例中,通过串口信息生成哈希值,再对哈希值进行匹配,简化了匹配的过程,提高了匹配的可靠性。
优选地,所述指针处理模块34,还用于在确定所述第二指针当前指向的逻辑串口位于所述第二串口列表的列表末尾时,控制所述第一指针移动到位于当前指向的所述物理串口之后的下一个物理串口,并控制所述第二指针指向所述第二串口列表内的第一个逻辑串口。
综上所述,本发明实施例提供的串口映射装置100,所述匹配单元30通过对所述第一列表获取单元10从BIOS获取的第一串口列表内的物理串口和所述第二列表获取单元20从操作系统下获取的第二串联列表内的逻辑串口进行自动匹配,从而在不需要人为干涉的情况下自动生成描述物理串口与逻辑串口映射关系的串口映射文件,提高了识别匹配的效率和准确率。此外,由于不需要专门的外部设备和辅助软件,还同时减低了成本。
本发明实施例还提供一种终端,所述终端具有BIOS和操作系统(如Linux系统或UNIX系统),其中,所述终端还包括上述任一实施例所述的串口映射装置100。
本发明实施例提供的终端,所述匹配单元30通过对所述第一列表获取单元10从BIOS获取的第一串口列表内的物理串口和所述第二列表获取单元20从操作系统下获取的第二串联列表内的逻辑串口进行自动匹配,从而在不需要人为干涉的情况下自动生成描述物理串口与逻辑串口映射关系的串口映射文件,提高了识别匹配的效率和准确率。此外,由于不需要专门的外部设备和辅助软件,还同时减低了成本。
以上所揭露的仅为本发明一种较佳实施例而已,当然不能以此来限定本发明之权利范围,本领域普通技术人员可以理解实现上述实施例的全部或部分流程,并依本发明权利要求所作的等同变化,仍属于发明所涵盖的范围。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可获取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random AccessMemory,RAM)等。

Claims (10)

1.一种基于Linux或Unix内核操作系统的串口映射方法,其特征在于,包括如下步骤:
从基本输入输出系统(BIOS)获取第一串口列表;其中,所述第一串口列表存储了面板的至少一个物理串口的串口信息;
从基于Linux或Unix内核的操作系统获取第二串口列表;其中,所述第二串口列表存储了所述操作系统的至少一个逻辑串口的串口信息;
根据所述串口信息对所述第一串口列表的物理串口和第二串口列表中的逻辑串口进行匹配,生成所述第一串口列表与所述第二串口列表的串口映射文件,以使所述操作系统在检测到外部设备接入时,根据所述串口映射文件及所述外部设备当前接入的物理串口获取映射的逻辑串口,并根据与所述逻辑串口对应的程序与所述外部设备进行通信。
2.根据权利要求1所述的串口映射方法,其特征在于,所述从基本输入输出系统获取第一串口列表具体为:通过在用户层调用中断指令,从基本输入输出系统获取第一串口列表;所述串口信息包括收发器类型、中断号及端口地址。
3.根据权利要求1或2所述的串口映射方法,其特征在于,所述根据所述串口信息对所述第一串口列表的物理串口和第二串口列表中的逻辑串口进行匹配,生成所述第一串口列表与所述第二串口列表的串口映射文件,具体包括:
获取为所述第一串口列表配置的第一指针当前指向的物理串口的串口信息;
获取为所述第二串口列表配置的第二指针当前指向的逻辑串口的串口信息;
根据所述第一指针当前指向的物理串口的串口信息及所述第二指针当前指向的逻辑串口的串口信息,判断所述物理串口与所述逻辑串口是否匹配;
若不匹配,则在确定所述第二指针当前指向的逻辑串口不位于所述第二串口列表的列表末尾时,控制所述第二指针移动到位于当前指向的所述逻辑串口之后的下一个逻辑串口;
若匹配,则记录所述物理串口与所述逻辑串口的映射关系,并判断所述第一指针当前指向的物理串口是否位于所述第一串口列表的列表末尾;
若否,则控制所述第一指针移动到位于当前指向的所述物理串口之后的下一个物理串口,并在所述第二串口列表中删除所述第二指针当前指向的逻辑串口后,控制所述第二指针指向所述第二串口列表内的第一个逻辑串口;
若是,则根据所有已记录的映射关系,生成所述第一串口列表与所述第二串口列表的串口映射文件。
4.根据权利要求3所述的串口映射方法,其特征在于,所述根据所述第一指针当前指向的物理串口的串口信息及所述第二指针当前指向的逻辑串口的串口信息,判断所述物理串口与所述逻辑串口是否匹配,具体包括:
根据哈希算法及所述第一指针当前指向的物理串口的串口信息生成第一哈希值;
根据哈希算法及所述第二指针当前指向的逻辑串口的串口信息生成第二哈希值;
根据所述第一哈希值及所述第二哈希值判断所述物理串口与所述逻辑串口是否匹配。
5.根据权利要求3所述的串口映射方法,其特征在于,还包括:
在确定所述第二指针当前指向的逻辑串口位于所述第二串口列表的列表末尾时,控制所述第一指针移动到位于当前指向的所述物理串口之后的下一个物理串口,并控制所述第二指针指向所述第二串口列表内的第一个逻辑串口。
6.一种基于Linux或Unix内核操作系统的串口映射装置,其特征在于,包括:
第一列表获取单元,用于从基本输入输出系统获取第一串口列表;其中,所述第一串口列表存储了面板的至少一个物理串口的串口信息;
第二列表获取单元,用于从基于Linux或Unix内核的操作系统获取第二串口列表;其中,所述第二串口列表存储了所述操作系统的至少一个逻辑串口的串口信息;
匹配单元,用于根据所述串口信息对所述第一串口列表的物理串口和第二串口列表中的逻辑串口进行匹配,生成所述第一串口列表与所述第二串口列表的串口映射文件,以使所述操作系统在检测到外部设备接入时,根据所述串口映射文件及所述外部设备当前接入的物理串口获取映射的逻辑串口,并根据与所述逻辑串口对应的程序与所述外部设备进行通信。
7.根据权利要求6所述的串口映射装置,其特征在于,所述第一列表获取单元具体用于,通过在用户层调用中断指令,从基本输入输出系统获取第一串口列表;所述串口信息包括收发器类型、中断号及端口地址。
8.根据权利要求6或7所述的串口映射装置,其特征在于,所述匹配单元具体包括第一指针模块、第二指针模块、串口匹配模块,指针处理模块、映射关系记录模块及映射文件生成模块,其中:
所述第一指针模块,用于获取为所述第一串口列表配置的第一指针当前指向的物理串口的串口信息;
所述第二指针模块,用于获取为所述第二串口列表配置的第二指针当前指向的逻辑串口的串口信息;
所述串口匹配模块,用于根据所述第一指针当前指向的物理串口的串口信息及所述第二指针当前指向的逻辑串口的串口信息,判断所述物理串口与所述逻辑串口是否匹配;若不匹配,则通知所述指针处理模块,若匹配,则通知所述映射关系记录模块;
所述指针处理模块,用于在确定所述第二指针当前指向的逻辑串口不位于所述第二串口列表的列表末尾时,控制所述第二指针移动到位于当前指向的所述逻辑串口之后的下一个逻辑串口;
所述映射关系记录模块,用于记录所述物理串口与所述逻辑串口的映射关系,并判断所述第一指针当前指向的物理串口是否位于所述第一串口列表的列表末尾;若否,则通知所述指针处理模块,若是,则通知所述映射文件生成模块;
所述指针处理模块,还用于控制所述第一指针移动到位于当前指向的所述物理串口之后的下一个物理串口,并在所述第二串口列表中删除所述第二指针当前指向的逻辑串口后,控制所述第二指针指向所述第二串口列表内的第一个逻辑串口;
所述映射文件生成模块,用于根据所述映射关系记录模块记录的映射关系,生成所述第一串口列表与所述第二串口列表的串口映射文件。
9.根据权利要求8所述的串口映射装置,其特征在于,所述串口匹配模块具体包括:
第一哈希值计算子模块,用于根据哈希算法及所述第一指针当前指向的物理串口的串口信息生成第一哈希值;
第二哈希值计算子模块,用于根据哈希算法及所述第二指针当前指向的逻辑串口的串口信息生成第二哈希值;
哈希值匹配子模块,用于根据所述第一哈希值及第二哈希值判断所述物理串口与所述逻辑串口是否匹配。
10.根据权利要求8所述的串口映射装置,其特征在于,所述指针处理模块,还用于在确定所述第二指针当前指向的逻辑串口位于所述第二串口列表的列表末尾时,控制所述第一指针移动到位于当前指向的所述物理串口之后的下一个物理串口,并控制所述第二指针指向所述第二串口列表内的第一个逻辑串口。
CN201610304975.2A 2016-05-09 2016-05-09 一种基于Linux或Unix内核操作系统的串口映射方法及装置 Active CN106021136B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201610304975.2A CN106021136B (zh) 2016-05-09 2016-05-09 一种基于Linux或Unix内核操作系统的串口映射方法及装置
PCT/CN2017/083531 WO2017193898A1 (zh) 2016-05-09 2017-05-09 一种基于Linux或Unix内核操作系统的串口映射方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610304975.2A CN106021136B (zh) 2016-05-09 2016-05-09 一种基于Linux或Unix内核操作系统的串口映射方法及装置

Publications (2)

Publication Number Publication Date
CN106021136A CN106021136A (zh) 2016-10-12
CN106021136B true CN106021136B (zh) 2019-01-01

Family

ID=57098958

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610304975.2A Active CN106021136B (zh) 2016-05-09 2016-05-09 一种基于Linux或Unix内核操作系统的串口映射方法及装置

Country Status (2)

Country Link
CN (1) CN106021136B (zh)
WO (1) WO2017193898A1 (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106021136B (zh) * 2016-05-09 2019-01-01 广州广电运通金融电子股份有限公司 一种基于Linux或Unix内核操作系统的串口映射方法及装置
CN109634884A (zh) * 2018-10-19 2019-04-16 珠海格力电器股份有限公司 通讯端口连接方法和装置
CN112256513B (zh) * 2020-10-29 2023-10-20 成都菁蓉联创科技有限公司 一种调试串口和数据串口复用的方法、装置和控制器
CN113347025A (zh) * 2021-05-20 2021-09-03 上海上讯信息技术股份有限公司 一种用于运维串口设备的方法与设备
CN113740781B (zh) * 2021-08-30 2022-05-24 广州文远知行科技有限公司 一种接口松动检测方法、装置、交通工具及存储介质
CN114201442A (zh) * 2021-12-14 2022-03-18 广州通则康威智能科技有限公司 串口远程双向通信方法、装置、计算机设备及存储介质
CN116483751A (zh) * 2023-04-06 2023-07-25 河南翔宇医疗设备股份有限公司 一种串口号识别方法、装置及介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103049401A (zh) * 2011-10-17 2013-04-17 康佳集团股份有限公司 一种控制外围串口设备的方法、系统及控制设备
CN103294630A (zh) * 2013-05-07 2013-09-11 福建鑫诺通讯技术有限公司 一种嵌入式linux系统中实现串口多路复用的方法
CN103414597A (zh) * 2013-08-30 2013-11-27 上海寰创通信科技股份有限公司 一种逻辑端口的状态更新系统和方法

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7974202B2 (en) * 2005-05-06 2011-07-05 Corrigent Systems, Ltd. Tunnel provisioning with link aggregation
US8700811B2 (en) * 2010-05-25 2014-04-15 Microsoft Corporation Virtual machine I/O multipath configuration
CN103150190B (zh) * 2013-03-26 2016-04-27 汉柏科技有限公司 Linux系统下用户态网卡自动探测及驱动加载的方法
CN103793651B (zh) * 2014-02-22 2016-05-25 西安电子科技大学 基于Xen虚拟化的内核完整性检测方法
CN103853683B (zh) * 2014-03-07 2017-09-15 山东超越数控电子有限公司 一种多串口数据通讯实现方法
CN106021136B (zh) * 2016-05-09 2019-01-01 广州广电运通金融电子股份有限公司 一种基于Linux或Unix内核操作系统的串口映射方法及装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103049401A (zh) * 2011-10-17 2013-04-17 康佳集团股份有限公司 一种控制外围串口设备的方法、系统及控制设备
CN103294630A (zh) * 2013-05-07 2013-09-11 福建鑫诺通讯技术有限公司 一种嵌入式linux系统中实现串口多路复用的方法
CN103414597A (zh) * 2013-08-30 2013-11-27 上海寰创通信科技股份有限公司 一种逻辑端口的状态更新系统和方法

Also Published As

Publication number Publication date
CN106021136A (zh) 2016-10-12
WO2017193898A1 (zh) 2017-11-16

Similar Documents

Publication Publication Date Title
CN106021136B (zh) 一种基于Linux或Unix内核操作系统的串口映射方法及装置
US11704490B2 (en) Log sourcetype inference model training for a data intake and query system
TWI477106B (zh) 用於在交換器asic中整合線路速率應用識別的系統和方法
CN104572167B (zh) 启动和管理无人参与的应用程序的方法和计算机系统
CN110363076A (zh) 人员信息关联方法、装置及终端设备
CN109492128A (zh) 用于生成模型的方法和装置
CN109344153A (zh) 业务数据的处理方法及终端设备
CN105468161B (zh) 指令执行方法和装置
CN100504882C (zh) 实现采集数据共享的方法、系统
CN109634819A (zh) 告警根因定位方法和装置、电子设备
CN110442752A (zh) 组织架构图生成方法、装置、计算机设备和存储介质
US20190182332A1 (en) Action processing associated with a cloud device
CN109360290A (zh) 电力巡检系统
CN107133231A (zh) 一种数据获取方法和装置
CN110458681A (zh) 一种数据对账决策的方法、装置、服务器和存储介质
CN110247796A (zh) 监控告警方法、装置及相关设备
CN110096444A (zh) 一种基于excel生成测试用例的管理系统、使用方法及设备
CN108172221A (zh) 基于智能终端的操控飞行器的方法和装置
CN108197203A (zh) 一种门脸头图挑选方法、装置、服务器和存储介质
CN111464513A (zh) 数据检测方法、装置、服务器及存储介质
CN110221960A (zh) 生成测试用例的方法及装置、计算机设备、存储介质
CN109905292A (zh) 一种终端设备识别方法、系统及存储介质
CN109324959A (zh) 一种自动转移数据的方法、服务器及计算机可读存储介质
CN106997313A (zh) 一种应用程序的信号处理方法、系统及终端设备
CN109413001A (zh) 对云计算系统内的交互数据进行安全保护的方法及装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant