CN115061732A - 一种操作系统识别方法、装置、设备和存储介质 - Google Patents

一种操作系统识别方法、装置、设备和存储介质 Download PDF

Info

Publication number
CN115061732A
CN115061732A CN202210483768.3A CN202210483768A CN115061732A CN 115061732 A CN115061732 A CN 115061732A CN 202210483768 A CN202210483768 A CN 202210483768A CN 115061732 A CN115061732 A CN 115061732A
Authority
CN
China
Prior art keywords
operating system
host
target
information
slave
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.)
Pending
Application number
CN202210483768.3A
Other languages
English (en)
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.)
iFlytek Co Ltd
Original Assignee
iFlytek 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 iFlytek Co Ltd filed Critical iFlytek Co Ltd
Priority to CN202210483768.3A priority Critical patent/CN115061732A/zh
Publication of CN115061732A publication Critical patent/CN115061732A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4406Loading of operating system
    • G06F9/4408Boot device selection

Landscapes

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

Abstract

本申请公开了一种操作系统识别方法、装置、设备和存储介质,用于在从机通过目标通信接口与主机的连接建立阶段,该方法包括:通过该目标通信接口接收主机发送的请求指令,请求指令用于请求获取从机的若干个设备信息;记录请求指令关于目标设备信息的请求顺序,作为目标请求顺序其中,目标设备信息为若干个设备信息中至少部分设备信息;根据目标请求顺序,确定主机的操作系统信息。通过上述方式,本申请能够实现从机对主机操作系统的识别。

Description

一种操作系统识别方法、装置、设备和存储介质
技术领域
本申请涉及数据通信领域,特别是涉及一种操作系统识别方法、装置、设备和存储介质。
背景技术
USB(Universal Serial Bus,通用串行总线)接口是计算机和智能设备的标准扩展接口,可以连接键盘、鼠标、大容量存储设备等多种外设。USB协议设定为与上层操作系统无关的通用传输协议,截至目前尚未有合适的协议来实现USB从机识别主机的操作系统,但在USB从机的实际应用过程中,往往需要根据主机的操作系统来做一些定制化处理以更好的发挥和实现USB从机的功能。
因此,如何实现USB从机识别主机操作系统,意义重大。
发明内容
本申请主要解决的技术问题是提供一种操作系统识别方法、装置、设备和存储介质,能够实现从机对主机操作类型的识别。
为解决上述技术问题,本申请采用的一个技术方案是:提供一种操作系统识别方法,用于从机通过目标通信接口与主机的连接建立阶段,该方法包括:通过该目标通信接口接收主机发送的请求指令,请求指令用于请求获取从机的若干个设备信息;记录请求指令关于目标设备信息的请求顺序,作为目标请求顺序,其中,目标设备信息为若干个设备信息中至少部分设备信息;根据目标请求顺序,确定主机的操作系统信息。
其中,请求指令是在从机与主机的连接建立阶段的枚举过程中发送的。
其中,若干个设备信息包括从机的若干个描述符,若干个描述符包括字符串描述符和语言标识描述符,目标设备信息包括目标字符串描述符和语言标识描述符中的至少一个描述符,目标字符串描述符包括厂商的字符串描述符、产品的字符串描述符、产品序列号描述符、配置字符串描述符、以及接口字符串描述符中的至少一个字符串描述符。
其中,根据目标请求顺序,确定主机的操作系统信息,包括:从预存关联信息中,查找出与目标请求顺序关联的操作系统信息,作为主机的操作系统信息。
其中,记录请求指令关于目标设备信息的请求顺序,作为目标请求顺序,包括:获取每个目标设备信息的表征标识;按照请求指令中对每个目标设备信息的请求顺序,对各目标设备信息的表征标识进行排序,得到标识序列,其中,标识序列中各表征标识的排序顺序用于表示目标请求顺序;其中,从预存关联信息中,查找出与目标请求顺序关联的操作系统信息,作为主机的操作系统信息,包括:从预存关联信息中,查找出与标识序列关联的操作系统信息,作为主机的操作系统信息。
其中,在根据目标请求顺序,确定主机的操作系统信息之后,该方法还包括:基于主机发送的请求,执行与主机的操作系统信息匹配的响应。
其中,从机为麦克风,基于主机发送的请求,执行与主机的操作系统信息匹配的响应,包括:接收主机发送的请求指令,并检测到从机无法支持该请求指令;响应于主机的操作系统为第一操作系统,向主机回复无法支持该请求指令的第一响应;响应于主机的操作系统为第二操作系统,向主机回复表征支持该请求指令的第二响应,或不向主机进行回复。其中,操作系统信息包括操作系统类型和操作系统的版本中的至少一者;和/或,目标通信接口为USB接口。
为解决上述技术问题,本申请采用的另一个技术方案是:提供一种操作系统识别装置,用于从机通过目标通信接口与主机的连接建立阶段,该装置包括:接收模块,用于通过目标通信接口接收主机发送的请求指令,请求指令用于请求获取从机的若干个设备信息;记录模块,用于记录请求指令关于目标设备信息的请求顺序,目标设备信息为若干个设备信息中至少部分设备信息;确定模块,用于根据请求顺序,确定主机的操作系统信息。
为解决上述技术问题,本申请采用的又一个技术方案是:提供一种电子设备,该电子设备包括:处理电路,该处理电路用于实现上述操作系统识别方法。
为解决上述技术问题,本申请采用的再一个技术方案是:提供一种计算机可读存储介质,该计算机可读存储介质用于存储程序指令,程序指令能够被执行以实现上述操作系统识别方法。
上述方案,从机通过主机向从机获取关于从机部分设备信息的请求顺序,确定主机的操作系统信息,故实现了从机对主机的操作系统的识别。而且,主机通过目标通信接口和从机的连接建立阶段,主机请求获取从机的部分设备信息,是该目标通信接口的通信协议中存在的步骤,故直接借助协议原有的步骤内容实现主机操作系统的识别,无需修改目标通信接口的协议,简化了主机操作系统识别的流程。
可选地,该请求指令是在枚举阶段发送的,故从机在枚举阶段即可实现对主机操作系统的快速识别,提高识别效率。
另外,从机确定主机操作系统之后,可针对性进行与主机操作系统匹配的处理,使得从机和主机能进行配合操作或能够被主机识别。
附图说明
图1是本申请提供的操作系统识别方法一实施方式的流程示意图;
图2是本申请提供的操作系统识别方法另一实施方式的流程示意图;
图3是本申请提供的操作系统识别装置一实施例的框架示意图;
图4是本申请提供的电子设备一实施例的框架示意图;
图5是本申请提供的计算机可读存储介质的框架示意图。
具体实施方式
为使本申请的目的、技术方案及效果更加清楚、明确,以下参照附图并举实施例对本申请进一步详细说明。
需要说明的是,若本申请实施例中有涉及“第一”、“第二”等的描述,则该“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本申请要求的保护范围之内。
需要说明的是,本申请描述的主机和从机是相对而言的,例如,主机可以是笔记本电脑、台式电脑主机、手机等设备,从机可以是与主机连接的鼠标、键盘、麦克风等设备,主机和从机之间是可以进行数据传输的。
在从机和主机连接建立阶段,主机为了解从机是什么设备,该设备如何进行通信等信息,会下发请求指令以获取从机的相关信息,从机在接收到主机的请求指令后,会针对接收到的主机的请求指令反馈相应的内容以描述自己,整个过程叫做枚举。整个枚举过程均是主机发送请求,从机对主机发送请求的内容做出响应,因此,通过枚举过程,主机知晓从机的信息,但从机并不知道主机的操作系统,在一些情况下则使主机和从机性能的发挥和实现受到限制。
参阅图1,图1是本申请提供的操作系统识别方法一实施方式的流程示意图。需注意的是,若有实质上相同的结果,本实施例并不以图1所示的流程顺序为限。
本实施例中,从机通过主机发送的用于获取关于从机若干个设备信息的请求顺序,能确定主机的操作系统信息。如图1所示,本实施例方法包括:
S110:接收主机发送的请求指令,该请求指令用于请求获取从机的若干个设备信息。
从机与主机之间的通信信息是通过目标通信接口进行的,在从机通过目标通信接口与主机的连接建立阶段,从机则通过该目标通信接口接收主机发送的请求指令,该请求指令用于请求获取从机的若干个设备信息。该目标通信接口可以为USB接口等任意能够实现两个设备进行数据交互,且该两个设备能够形成主从设备关系的有线连接接口,在一些实施例中,从机为USB设备,目标通信接口为USB接口,该USB接口可以为有线连接接口,也可为无线连接接口。
在一些实施例中,从机为USB设备,目标通信接口为USB接口,从机和主机间的连接建立阶段包括:从机通过该USB接口插入主机时,主机知道有新设备(从机)插入,主机为了解从机的设备、配置等信息,会给从机发送相关的请求指令,从机接收到主机发送的请求指令,则向主机返回被请求的内容,当主机获知从机的设备、配置等信息后,主机便开始为从机安装驱动程序,然后主机发送请求为该从机选择合适的配置,则从机枚举过程结束,从机和主机间的连接建立。需要说明的是,无论该USB接口为有线连接接口还是无线连接接口,主机和从机通过该USB接口的连接建立阶段相似,不同的是,有线连接接口需要从机通过USB数据线缆插入主机,通过枚举过程后,与主机建立连接,而无线连接接口则需要从机的无线接收器插入主机,在枚举过程中,主机发送的请求和从机回复的被请求的内容,均通过无线接收器进行接收和发送,完成枚举后,从机与主机建立连接。
其中,该请求指令是在从机与主机的连接建立阶段的枚举过程中发送的,在枚举过程中,主机为了解从机是什么设备、该设备如何进行通信等信息,会给从机发送请求指令。其中,主机发送给从机的请求指令可以是依序下发的用于请求从机设备信息的多个指令,也可以是用于请求从机设备信息的一个请求指令。
在一些实施例中,主机请求的若干个设备信息为若干个描述符,即该请求指令用于请求获取该从机的若干个描述符,该每个描述符用于表示从机的设备信息。其中,该若干个描述符可以包括字符串描述符和语言标识描述符等等,字符串描述符用于描述从机的设备信息,语言标识描述符表示采用何种语言进行描述。
S120:记录请求指令关于目标设备信息的请求顺序,作为目标请求顺序,目标设备信息为若干个设备信息中至少部分设备信息。
其中,目标设备信息为其请求顺序与主机的操作系统有关的设备信息。至少部分设备信息表示,该目标设备信息可以是主机请求的若干个设备信息中的部分设备信息或者全部设备信息。在一些实施例中,请求获取的该若干个设备信息为若干个描述符,其中,描述符是从机用来描述设备信息的一组数据或数据结构,例如,用于描述设备的属性信息或设备的用途信息等,该目标设备信息为该若干个描述符中的部分描述符或者全部描述符。在一具体应用中,该目标设备信息可以包括目标字符串描述符和语言标识描述符中的至少一个描述符,其中,目标字符串描述符包括厂商的字符串描述符、产品的字符串描述符、产品序列号、配置(CONFIGURATION)字符串描述符、以及接口(INTERFACE)字符串描述符中的至少一个字符串描述符。
其中,目标请求顺序表示主机请求关于目标设备信息的先后顺序。例如,目标设备信息为厂商的字符串描述符、产品的字符串描述符,则主机通过请求指令确定关于目标设备信息的请求顺序为依序请求获取厂商的字符串描述符、产品的字符串描述符,将上述请求顺序作为目标请求顺序。
在一些实施例中,从机需记录顺序的目标设备信息已预先配置好,当从机接收到主机发送的关于请求从机若干个设备信息的请求指令时,则根据预先配置信息,从该请求指令中查找出关于目标设备信息的请求内容,以确定该请求指令中关于该目标设备信息请求的先后顺序,并记录作为目标请求顺序,然后执行步骤S130。
S130:根据目标请求顺序,确定主机的操作系统信息。
在一些实施例中,从机预存有与目标请求顺序关联的操作系统信息,当从机接收到主机发送的关于请求从机若干个设备信息的请求指令时,则记录该请求中关于目标设备信息的目标请求顺序,然后从预存的关联信息中,查找出与该目标请求顺序关联的操作系统信息,并把该关联的操作系统信息作为主机的操作系统信息。
本实施例中,从机通过主机向从机获取关于从机部分设备信息的请求顺序,确定主机的操作系统信息,故实现了从机对主机的操作系统的识别。而且,在主机和从机的连接建立阶段的枚举过程中,主机请求获取从机的部分设备信息,是该目标通信接口的通信协议中存在的步骤,故直接借助协议原有的步骤内容实现主机操作系统的识别,无需修改目标通信接口的协议,简化了主机操作系统识别的流程。
请参阅图2,图2是本申请提供的操作系统识别方法另一实施方式的流程示意图。如图2所示,本实施例方法包括:
S210:接收主机发送的请求指令,该请求指令用于请求获取从机的若干个设备信息。
其中,关于步骤S210的具体描述可参阅上述步骤S110的相关说明。
S220:获取每个目标设备信息的表征标识。
在一些实施例中,由于设备信息一般比较复杂,例如为字符串描述符、语言标识描述符等描述符,因此,为了方便从机记录目标请求顺序,可预先为每个设备信息,或者为其请求顺序与主机的操作系统有关的部分设备信息设定表征标识。在从机基于请求指令确定请求获取的目标设备信息后,查找出各目标设备信息的表征标识,以便于从机通过该表征标识的顺序确定其对应的目标设备信息的请求顺序。其中,每个设备信息的表征标识可以但不限于是单独的阿拉伯数字、英文字母、图形标识等,也可以是阿拉伯数字、英文字母、图形标识等的任意结合形式,具体采用的表征标识可根据实际情况等进行提前设定,此处不做具体限定。在另一些实施例中,主机给从机发送的请求指令中直接包括有每个设备信息的表征标识,从机在主机发送的请求指令中可直接获取到设备信息的表征标识,并可根据该表征标识获知主机要请求获取的设备信息。
如表1所示,表1为目标设备信息与其对应的表征标识,其中,请求顺序与主机操作系统相关的设备信息包括语言标识描述符(LANGID)、厂商的字符串描述符(IManufacturer)、产品的字符串描述符(I Manufacturer)、产品序列号描述符(I SerialNumber)。预先为每个上述设备信息设定表征标识,例如,把语言标识描述符编号为00、将厂商的字符串描述符编号为01、产品的字符串描述符编号为02、产品序列号描述符编号为03。从机基于本次主机发送的请求指令,确定主机请求获取的设备信息中包括上述的语言标识描述符、厂商的字符串描述符、产品的字符串描述符和产品序列号描述符,故该四个设备信息均作为目标设备信息,并基于表1获得各目标设备信息的表征标识。
表1
类型 描述 表征标识
LANGID 十六位语言ID 00
I Manufacturer 描述厂商的字符串 01
I Product 描述产品的字符串 02
I Serial Number 描述产品序列号的字符串 03
S230:按照请求指令中对每个目标设备信息的请求顺序,对各目标设备信息的表征标识进行排序,得到标识序列。
其中,该标识序列中各表征标识的排序顺序用于表示目标请求顺序。例如,从机确定主机请求获取的目标设备信息,并确定请求获取的各目标设备信息的请求顺序依序为产品序列号描述符、语言标识描述符、和产品的字符串描述符,故先按照上述表格1得到各目标设备信息的表征标识,并按照上述请求顺序,对各目标设备信息的表征标识进行排序得到03 00 02。又例如,各目标设备信息的请求顺序依序为语言标识描述符、产品的字符串描述符、厂商的字符串描述符、产品序列号描述符,则得到标识序列为00 02 01 03。
S240:从预存关联信息中,查找出与标识序列关联的操作系统信息,作为主机的操作系统信息。
本实施例中,从机预存有与各标识序列与操作系统信息之间的关联信息,当获得标识序列后,从预存的关联信息中,查找出与本次得到的标识序列关联的操作系统信息,并把该关联的操作系统信息作为主机的操作系统信息,其中,主机的操作系统信息包括操作系统类型和操作系统版本中的至少一者。
例如,从机预存各标识序列与操作系统信息之间的关联信息如下面表2,若从机本次得到的标识序列为03 00 02,则确定该主机的操作系统为Windows系统的Windows xp、Windows 8、Windows 10;若从机本次得到的标识序列为00 02 03,则确定该主机的操作系统为Windows系统的Windows 7;若从机本次得到的标识序列为00 02 01 03,则确定该主机的操作系统为Linux、Android。其中,Windows系统、Linux系统与Android系统为不同的操作系统类型,Windows xp、Windows 8、Windows 10与Windows 7为Windows操作系统的不同版本。
需要说明的是,如表2所示,当从机得到的标识序列为03 00 02时,则从机确定该主机的操作系统为Windows xp、Windows 8、Windows 10三个版本中的其中一个,但并不确定主机操作系统类型具体的版本,即不能确定主机的操作类型是Windows xp版本,或Windows 8版本或Windows 10版本;同样,当从机得到的标识序列为00 02 01 03时,则从机确定该主机的操作系统为Linux和Android系统中的其中一个,但区分不出该主机的操作系统信息具体是Linux系统或Android系统。
因此,通过语言标识描述符、厂商的字符串描述符、产品的字符串描述符和产品序列号描述符的请求顺序,并不能区分出Windows xp、Windows 8与Windows 10三个系统版本,以及Linux与Android,可以理解的是,为了进一步区分Windows xp、Windows 8与Windows 10,Linux与Android,可将更多的设备信息作为其请求顺序与操作系统有关的设备信息。例如,除表1提及的设备信息以外,其请求顺序与操作系统有关的设备信息还可包括配置字符串描述符和接口字符串描述符等,通过结合更多设备信息的请求顺序,来对主机的操作系统进行更细的区分。
表2
标识序列 操作系统信息
03 00 02 Windows xp、Windows 8、Windows 10
00 02 03 Windows 7
00 02 01 03 Linux、Android
本实施例中,从机可通过主机发送的请求中关于目标设备信息中每个设备信息的表征标识的出现顺序,确定主机的操作系统信息,其中,确定主机的操作系统信息包括操作系统类型和/或操作系统的版本。
需要说明的是,USB协议为通用传输协议,与主机的操作系统无关,因此,在USB从机不能识别主机操作系统信息的情况下,在枚举过程及后续与不同操作系统主机的通信过程中,均采用的是默认操作。
而在一些USB从机的应用过程中发现,相同的USB从机和不同操作系统的主机在连接建立阶段的枚举过程中,虽然从机采用的是相同的默认操作,但因主机的操作系统不同,会得到枚举成功或枚举失败的不同枚举结果,究其原因是不同操作系统的主机对于USB从机的不支持请求的响应会存在不同的处理方式。在枚举过程中,USB从机会接收到主机给从机发送的请求指令,从机在接收到主机的请求指令后,会做出相应的响应,而对于从机做出的关于不支持主机请求的响应,会得到不同操作系统信息主机做出的不同处理结果。例如,从机在给操作系统为A的主机做出关于不支持主机请求的响应时,操作系统为A的主机会对从机继续下发请求命令,直至枚举成功;但从机在给操作系统为B的主机做出关于不支持主机请求的响应时,主机则不再下发请求指令,从机会接收到主机给出的不能识别从机的结果。
此外,不同操作系统主机间的性能参数不同,而USB从机在不能识别主机操作系统信息的情况下,则对不同操作系统的主机,均采用的是默认操作,在一些情况下,从机采用的默认操作会使从机和主机的一些性能的发挥和实现均受到限制。
针对上述问题,在一些实施例中,在确定主机的操作系统信息之后,从机则基于主机发送的请求,执行与主机的操作系统信息匹配的响应,以使从机和主机间能进行配合操作,和/或,使得从机得到识别后,与主机进行后续的配合操作。其中,这里的请求不同于上述实施例所述的请求指令,上述实施例所述的请求指令为从机能够识别主机操作系统信息的请求指令,而这里描述的请求为从机识别出主机操作系统信息之后,主机后续发送的请求。
在一些实施例中,从机在确定主机的操作系统信息后,可以获取与主机的操作系统信息匹配的性能参数,并为从机配置性能参数对应的性能,以用于与对应的主机进行配合操作,即对主机实现与主机的操作系统信息匹配的响应。例如,对于不同操作系统的主机,从机可采用不同的数据传输速率,以使从机和主机进行配合操作。在一具体应用场景中,该从机为鼠标,当鼠标确定主机的操作系统为A系统时,则鼠标采用第一传输速率与A系统的主机进行数据传输,而当鼠标确定主机的操作系统为B系统时,则鼠标采用第二传输速率与B系统的主机进行数据传输,其中,第一传输速率高于第二传输速,即在从机确定主机的操作系统信息后,可根据主机支持的性能和从机具备的性能等,为从机配置的性能参数与主机相对应,以用于与对应的操作系统的主机进行配合操作。
在另外一些实施例中,从机在确定主机的操作系统信息后,可以基于主机的操作系统信息对主机发送的后续的请求进行响应,以使得主机确定能够识别该从机。例如,对于上述操作系统为B的主机,在从机未确定主机操作系统的情况下,对于某些不支持主机的请求,从机则按照默认操作,做出关于不支持主机请求的响应,最终,从机会得到主机给出的不能识别从机的结果;但当从机确定主机操作系统的情况下,对于某些不支持主机的请求则相应的做出不会触发主机不能识别从机的响应,例如,从机可回复相关支持主机请求的数据或不回复任何数据给主机,然后,从机则能继续获取到主机下发的后续的请求指令,直至完成枚举,使从机能够被主机识别,以进行后续与主机的配合操作。需要说明的是,对于相同的从机和主机,在从机不能识别主机操作系统和能够识别主机操作系统的不同情况下,虽然使从机得到不同的识别结果,但由不能识别主机操作系统到能够识别主机操作系统造成的由不能得到主机识别到能够得到主机识别的转变,并不影响后续从机和主机间的配合操作。换句话说,在从机不能识别主机操作系统的情况下,从机做出的默认操作会使从机不能被主机识别,致使从机不能被主机驱动;而在从机识别出主机的操作系统之后,可进行与主机操作系统信息匹配的响应,使主机能够识别从机,然后从机和主机间能进行后续的配合操作。因此,在从机识别出主机操作系统之后,从机可进行与主机操作系统信息匹配的响应,使从机能得到主机的识别,以进行后续的配合操作。
在一些实施例中,从机为麦克风,当麦克风识别出主机的操作系统信息后,则会对主机进行与主机的操作系统信息匹配的响应。具体地,当麦克风接收主机发送的请求时,会对主机所发送的请求进行响应,若检测到对于主机发送的该请求,麦克风本身是无法支持的,并已识别出主机的操作系统为第一操作系统,则麦克风响应于主机的操作系统为第一操作系统,向主机回复无法支持该请求的第一响应,若识别出主机的操作系统为第二操作系统,则麦克风响应于主机的操作系统为第二操作系统,向主机回复表征支持该请求的第二响应,或不向主机进行回复。
在一具体实施例中,该从机为麦克风,主机的第一操作系统为Windows系统、第二操作系统为Linux系统,主机发送的请求为Audio Class Requests,在麦克风接收到Linux系统主机发送的Audio Class Requests时,麦克风回复表征支持主机发送的Audio ClassRequests的第二响应或不回复任何数据,在麦克风接收到Windows系统主机发送的AudioClass Requests时,则向Windows系统主机回复无法支持该请求的第一响应,以使从机能得到Windows系统和Linux系统主机的识别,以进行后续的配合操作。
因此,当从机确定主机操作系统之后,可针对性进行与主机操作系统匹配的处理,使得从机和主机能进行配合操作或能够被主机识别。
请参阅图3,图3是本申请提供的操作系统识别装置一实施例的框架示意图。本实施方式中,操作系统识别装置30包括:接收模块31、记录模块32和确定模块33,接收模块31用于通过目标通信接口接收主机发送的请求指令,其中,请求指令用于请求获取从机的若干个设备信息;记录模块32用于记录该请求指令关于目标设备信息的请求顺序,作为目标请求顺序,其中,目标设备信息为若干个设备信息中至少部分设备信息;确定模块33用于根据目标请求顺序,确定主机的操作系统信息。
在一些实施例中,接收模块31用于通过目标通信接口接收主机发送的请求指令,是在从机与主机的连接建立阶段的枚举过程中发送的。
在一些实施例中,接收模块31用于通过目标通信接口接收主机发送的请求指令,请求获取的若干个设备信息为从机的若干个描述符。
在一些实施例中,接收模块31用于通过目标通信接口接收主机发送的请求指令,请求获取的若干个设备信息的若干个描述符包括字符串描述符和语言标识描述符;其中,目标设备信息为若干个设备信息中至少部分设备信息,目标设备信息包括目标字符串描述符和语言标识描述符中的至少一个描述符,目标字符串描述符包括厂商的字符串描述符、产品的字符串描述符、产品序列号描述符、配置字符串描述符、以及接口字符串描述符中的至少一个字符串描述符。
在一些实施例中,确定模块33用于根据目标请求顺序,确定主机的操作系统信息。其中,根据目标请求顺序,确定主机的操作系统信息,包括:从预存关联信息中,查找出与目标请求顺序关联的操作系统信息,作为主机的操作系统信息。
在一些实施例中,记录模块32用于记录该请求指令关于目标设备信息的请求顺序,作为目标请求顺序,包括:获取每个目标设备信息的表征标识;按照请求指令中对每个目标设备信息的请求顺序,对各目标设备信息的表征标识进行排序,得到标识序列,其中,标识序列中各表征标识的排序顺序用于表示目标请求顺序;从预存关联信息中,查找出与目标请求顺序关联的操作系统信息,作为主机的操作系统信息,包括:从预存关联信息中,查找出与标识序列关联的操作系统信息,作为主机的操作系统信息。
在一些实施例中,确定模块33用于根据目标请求顺序,确定主机的操作系统信息之后,对主机进行与主机的操作系统信息匹配的响应。
在一些实施例中,确定模块33用于根据目标请求顺序,确定主机的操作系统信息,其中,操作系统信息包括操作系统类型和操作系统的版本中的至少一者;
在一些实施例中,接收模块31用于从机通过目标通信接口在与主机的连接建立阶段,通过目标通信接口接收主机发送的请求指令,其中,目标通信接口为USB接口。
请参阅图4,图4是本申请提供的电子设备一实施例的框架示意图。本实施方式中,电子设备40包括处理电路41,处理电路41用于实现上述本申请操作系统识别方法中任一实施例及任意不冲突的组合所提供的方法。
请参阅图5,图5是本申请提供的计算机可读存储介质的框架示意图。本申请实施例的计算机可读存储介质50存储有程序指令51,该程序指令51被执行时实现本申请操作系统识别方法中任一实施例以及任意不冲突的组合所提供的方法。其中,该程序指令51可以形成程序文件以软件产品的形式存储在上述计算机可读存储介质50中,以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施方式方法的全部或部分步骤。而前述的计算机可读存储介质50包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质,或者是计算机、服务器、手机、平板等终端设备。
以上方案,从机通过主机向从机获取关于从机部分设备信息的请求顺序,确定主机的操作系统信息,故实现了从机对主机的操作系统的识别。而且,主机和从机通过目标通信接口的连接建立阶段,主机请求获取从机的部分设备信息,是该目标通信接口的通信协议中存在的步骤,故直接借助协议原有的步骤内容实现主机操作系统的识别,无需修改目标通信接口的协议,简化了主机操作系统识别的流程。
可选地,该请求指令是在枚举阶段发送的,故从机在枚举阶段即可实现对主机操作系统的快速识别,提高识别效率。
另外,从机确定主机操作系统之后,可针对性进行与主机操作系统匹配的处理,使得从机和主机能进行配合操作或能够被主机识别。
需要说明的是,任何类型的USB从机均可通过上述实施例方法识别主机的操作系统信息,即USB从机可以但不限于是USB音频类,HID设备、PDC设备等,均可以通过主机发送的关于目标设备信息的请求顺序,确定主机的操作系统信息。
在一些实施例中,本公开实施例提供的装置具有的功能或包含的模块可以用于执行上文方法实施例描述的方法,其具体实现可以参照上文方法实施例的描述,为了简洁,这里不再赘述。
上文对各个实施例的描述倾向于强调各个实施例之间的不同之处,其相同或相似之处可以互相参考,为了简洁,本文不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的方法和装置,可以通过其它的方式实现。例如,以上所描述的装置实施方式仅仅是示意性的,例如,模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性、机械或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施方式方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本申请各个实施方式方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅为本申请的实施方式,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。

Claims (11)

1.一种操作系统识别方法,用于从机通过目标通信接口与主机的连接建立阶段,其特征在于,所述方法包括:
通过所述目标通信接口接收所述主机发送的请求指令,所述请求指令用于请求获取所述从机的若干个设备信息;
记录所述请求指令关于目标设备信息的请求顺序,作为目标请求顺序,所述目标设备信息为所述若干个设备信息中至少部分设备信息;
根据所述目标请求顺序,确定所述主机的操作系统信息。
2.根据权利要求1所述的方法,其特征在于,所述请求指令是在所述从机与所述主机的连接建立阶段的枚举过程中发送的。
3.根据权利要求1所述的方法,其特征在于,所述若干个设备信息包括所述从机的若干个描述符,所述若干个描述符包括字符串描述符和语言标识描述符,所述目标设备信息包括目标字符串描述符和语言标识描述符中的至少一个描述符,所述目标字符串描述符包括厂商的字符串描述符、产品的字符串描述符、产品序列号描述符、配置字符串描述符、以及接口字符串描述符中的至少一个字符串描述符。
4.根据权利要求1所述的方法,其特征在于,所述根据所述目标请求顺序,确定所述主机的操作系统信息,包括:
从预存关联信息中,查找出与所述目标请求顺序关联的操作系统信息,作为所述主机的操作系统信息。
5.根据权利要求4所述的方法,其特征在于,所述记录所述请求指令关于目标设备信息的请求顺序,作为目标请求顺序,包括:
获取每个所述目标设备信息的表征标识;
按照所述请求指令中对每个所述目标设备信息的请求顺序,对各所述目标设备信息的表征标识进行排序,得到标识序列,其中,所述标识序列中各所述表征标识的排序顺序用于表示所述目标请求顺序;
所述从预存关联信息中,查找出与所述目标请求顺序关联的操作系统信息,作为所述主机的操作系统信息,包括:
从预存关联信息中,查找出与所述标识序列关联的操作系统信息,作为所述主机的操作系统信息。
6.根据权利要求1所述的方法,其特征在于,在所述根据所述目标请求顺序,确定所述主机的操作系统信息之后,所述方法还包括:
基于所述主机发送的请求,执行与所述主机的操作系统信息匹配的响应。
7.根据权利要求6所述的方法,其特征在于,所述从机为麦克风,所述基于所述主机发送的请求,执行与所述主机的操作系统信息匹配的响应,包括:
接收所述主机发送的请求,并检测到所述从机无法支持所述请求指令;
响应于所述主机的操作系统为第一操作系统,向所述主机回复无法支持所述请求指令的第一响应;
响应于所述主机的操作系统为第二操作系统,向所述主机回复表征支持所述请求指令的第二响应,或不向所述主机进行回复。
8.根据权利要求1所述的方法,其特征在于,所述操作系统信息包括操作系统类型和操作系统的版本中的至少一者;
和/或,所述目标通信接口为USB接口。
9.一种操作系统识别装置,其特征在于,所述装置应用于从机通过目标通信接口与主机的连接建立阶段,所述装置包括:
接收模块,用于通过所述目标通信接口接收主机发送的请求指令,所述请求指令用于请求获取所述从机的若干个设备信息;
记录模块,用于记录所述请求指令关于目标设备信息的请求顺序,作为目标请求顺序,所述目标设备信息为所述若干个设备信息中至少部分设备信息;
确定模块,用于根据所述目标请求顺序,确定所述主机的操作系统信息。
10.一种电子设备,其特征在于,所述电子设备包括处理电路,所述处理电路用于实现权利要求1-8中任一项所述的方法。
11.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质用于存储程序指令,所述程序指令能够被执行以实现权利要求1-8任一项所述的方法。
CN202210483768.3A 2022-05-05 2022-05-05 一种操作系统识别方法、装置、设备和存储介质 Pending CN115061732A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210483768.3A CN115061732A (zh) 2022-05-05 2022-05-05 一种操作系统识别方法、装置、设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210483768.3A CN115061732A (zh) 2022-05-05 2022-05-05 一种操作系统识别方法、装置、设备和存储介质

Publications (1)

Publication Number Publication Date
CN115061732A true CN115061732A (zh) 2022-09-16

Family

ID=83197161

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210483768.3A Pending CN115061732A (zh) 2022-05-05 2022-05-05 一种操作系统识别方法、装置、设备和存储介质

Country Status (1)

Country Link
CN (1) CN115061732A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116028427A (zh) * 2023-03-23 2023-04-28 摩尔线程智能科技(北京)有限责任公司 参数的配置系统、方法及存储介质

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116028427A (zh) * 2023-03-23 2023-04-28 摩尔线程智能科技(北京)有限责任公司 参数的配置系统、方法及存储介质
CN116028427B (zh) * 2023-03-23 2023-06-06 摩尔线程智能科技(北京)有限责任公司 参数的配置系统、方法及存储介质

Similar Documents

Publication Publication Date Title
US7685322B2 (en) Port number emulation for wireless USB connections
CN103412769B (zh) 外接卡参数配置方法、设备以及系统
US5974474A (en) System for automatic hardware identification and configuration where instance values are unique within the computer system and resource requirement conflicts are resolved by modifying resource settings
CN101453367B (zh) 软件部署方法和系统及软件部署服务器和用户服务器
CN110442366B (zh) 一种传屏处理方法、装置、设备和存储介质
WO2019140656A1 (zh) 一种固件升级方法、装置、电子设备及控制设备
JP2003527654A (ja) 自動的デバイスドライバコンフィギュレーション用方法、システム及びコンピュータ読取可能格納媒体
CN109960678B (zh) 一种命名处理方法及计算机处理装置
CN108205504B (zh) 终端usb映射方法、虚拟机usb映射方法及系统
JP2007066296A (ja) 情報処理装置、データ処理方法およびプログラム
CN106484719B (zh) 一种扩展手机存储的方法及终端
US20190278537A1 (en) Information processing apparatus, information processing system, and non-transitory computer readable medium
CN115061732A (zh) 一种操作系统识别方法、装置、设备和存储介质
US20070294430A1 (en) Generating a device address persistent across different instantiations of an electronic device
CN108255434B (zh) 标签管理方法、管理装置及计算机可读存储介质
CN108241515B (zh) 应用快捷方式建立方法及终端
WO2021169811A1 (zh) 特效生成方法、装置、系统、设备和存储介质
CN113301203A (zh) 基于通讯录对历史信息数据进行更新的方法及装置
WO2015196844A1 (zh) 任务分配方法、装置、系统和服务器
CN115858535A (zh) 一种数据处理方法、装置、存储介质及终端
CN111092765B (zh) 智能驱动方法、系统、电子设备及可读存储介质
CN107168768B (zh) 设备与虚拟机的映射方法和装置
CN114968386A (zh) 一种电子设备的设备信息管理方法、装置及设备
CN112506574A (zh) ARM服务器中基于CentOS带内修改BIOS配置选项的方法
CN110109707B (zh) 终端启动方法、装置及终端

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