CN107423095A - 适配硬件的数据处理方法、装置、存储介质和计算机设备 - Google Patents
适配硬件的数据处理方法、装置、存储介质和计算机设备 Download PDFInfo
- Publication number
- CN107423095A CN107423095A CN201710607686.4A CN201710607686A CN107423095A CN 107423095 A CN107423095 A CN 107423095A CN 201710607686 A CN201710607686 A CN 201710607686A CN 107423095 A CN107423095 A CN 107423095A
- Authority
- CN
- China
- Prior art keywords
- hardware
- flags
- data
- driving
- file system
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44505—Configuring for program initiating, e.g. using registry, configuration files
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
- G06F8/656—Updates while running
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/545—Interprogram communication where tasks reside in different layers, e.g. user- and kernel-space
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Stored Programmes (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明涉及一种适配硬件的数据处理方法、装置、计算机可读存储介质和计算机设备。上述适配硬件的数据处理方法,通过在调用驱动中的探测函数探测到能够适配驱动的硬件后,将探测成功的硬件相应的硬件标志记录至虚拟文件系统,由于虚拟文件系统建立在内核层,而在内核层写入数据的效率会比较高。在接收到控制硬件运行的指令时,再从虚拟文件系统读取硬件标志至硬件抽象层,使得在硬件抽象层中根据硬件标志,获取硬件运行时所需的数据,从而可以避免直接将硬件标志写入硬件抽象层而导致硬件抽象层中的数据量过多,提高硬件抽象层获取数据的效率。
Description
技术领域
本发明涉及计算机技术领域,特别是涉及一种适配硬件的数据处理方法、装置、计算机可读存储介质和计算机设备。
背景技术
目前,硬件随着升级换代,硬件的规格和标准也会逐渐变化,从而导致不同规格和标准的硬件互不兼容。而且硬件的生产厂商繁多,各个厂商的生产标准和生产工艺不一致,也会导致生产出来的硬件互不兼容。因此,在更换硬件后,需要更新系统的内核层中驱动的数据以及更新系统的硬件抽象层中的数据,以保证更新数据后的驱动能够适配硬件。
目前,更新系统的数据主要是更新内核层中的数据,因此数据写入内核层中更为快捷。而为了适配硬件,将数据全部写入硬件抽象层中的过程会显得繁琐,效率很低。
发明内容
基于此,有必要针对为了适配硬件,将数据全部写入硬件抽象层中的过程会显得繁琐,效率很低的问题,提供一种适配设备的数据处理方法、装置、计算机可读存储介质和计算机设备。
一种适配硬件的数据处理方法,包括:
调用驱动中的探测函数以探测适配所述驱动的硬件;
将探测到的硬件相应的硬件标志记录至内核层中的虚拟文件系统;
当接收到控制所述硬件运行的指令时,从所述虚拟文件系统读取所述硬件标志至硬件抽象层;
根据读取的所述硬件标志,从内核层获取所述硬件运行时所需的数据;
将所述硬件运行时所需的数据注册至业务逻辑层。
在一个实施例中,所述将探测到的硬件相应的硬件标志记录至内核层中的虚拟文件系统,包括:
在虚拟文件系统中创建硬件标志目录;
获取适配的所述硬件相应的硬件标志;
将获取的所述硬件标志写入所述硬件标志目录。
在一个实施例中,所述根据读取的所述硬件标志,从内核层获取所述硬件运行时所需的数据,包括:
在所述硬件标志写入所述硬件抽象层后,调用硬件数据获取函数;
通过调用的所述硬件数据获取函数,并根据所述硬件标志,从内核层获取所述硬件运行时所需的数据。
在一个实施例中,所述方法还包括:
当接收到硬件数据注销指令时,从所述业务逻辑层注销所述硬件运行时所需的数据;
在所述硬件运行时所需的数据从所述业务逻辑层注销后,发送硬件注销指令至所述硬件抽象层,以将所述硬件抽象层中的所述硬件标志删除。
在一个实施例中,所述调用驱动中的探测函数以探测适配所述驱动的硬件之前,所述方法还包括:
检测所述虚拟文件系统中是否保存有能够适配所述驱动的硬件相应的硬件标志;
若是,则取消执行所述调用驱动中的探测函数以探测适配所述驱动的硬件的步骤;
若否,则继续执行所述调用驱动中的探测函数以探测适配所述驱动的硬件的步骤。
一种适配硬件的数据处理装置,所述装置包括:
硬件探测模块,用于调用驱动中的探测函数以探测适配所述驱动的硬件;
标志记录模块,用于将探测到的硬件相应的硬件标志记录至内核层中的虚拟文件系统;
标志读取模块,用于当接收到控制所述硬件运行的指令时,从所述虚拟文件系统读取所述硬件标志至硬件抽象层;
数据获取模块,用于根据读取的所述硬件标志,从内核层获取所述硬件运行时所需的数据;
数据注册模块,用于将所述硬件运行时所需的数据注册至业务逻辑层。
在一个实施例中,所述装置还包括:
目录创建模块,用于在虚拟文件系统中创建硬件标志目录;
标志获取模块,用于获取适配的所述硬件相应的硬件标志;
所述标志记录模块,还用于将获取的所述硬件标志写入所述硬件标志目录。
在一个实施例中,所述数据获取模块,还用于在所述硬件标志写入所述硬件抽象层后,调用硬件数据获取函数;通过调用的所述硬件数据获取函数,并根据所述硬件标志,从内核层获取所述硬件运行时所需的数据。
一种计算机可读存储介质,存储有计算机可读指令,所述计算机可读指令被处理器执行时,使得所述处理器执行以下步骤:
调用驱动中的探测函数以探测适配所述驱动的硬件;
将探测到的硬件相应的硬件标志记录至内核层中的虚拟文件系统;
当接收到控制所述硬件运行的指令时,从所述虚拟文件系统读取所述硬件标志至硬件抽象层;
根据读取的所述硬件标志,从内核层获取所述硬件运行时所需的数据;
将所述硬件运行时所需的数据注册至业务逻辑层。
在一个实施例中,所述计算机可读指令被所述处理器执行时,所述将探测到的硬件相应的硬件标志记录至内核层中的虚拟文件系统,包括所述处理器执行的以下步骤:
在虚拟文件系统中创建硬件标志目录;
获取适配的所述硬件相应的硬件标志;
将获取的所述硬件标志写入所述硬件标志目录。
在一个实施例中,所述计算机可读指令被所述处理器执行时,所述根据读取的所述硬件标志,从内核层获取所述硬件运行时所需的数据,包括所述处理器执行的以下步骤:
在所述硬件标志写入所述硬件抽象层后,调用硬件数据获取函数;
通过调用的所述硬件数据获取函数,并根据所述硬件标志,从内核层获取所述硬件运行时所需的数据。
在一个实施例中,所述计算机可读指令被处理器执行时,还使得所述处理器执行以下步骤:
当接收到硬件数据注销指令时,从所述业务逻辑层注销所述硬件运行时所需的数据;
在所述硬件运行时所需的数据从所述业务逻辑层注销后,发送硬件注销指令至所述硬件抽象层,以将所述硬件抽象层中的所述硬件标志删除。
在一个实施例中,所述计算机可读指令被所述处理器执行时,所述调用驱动中的探测函数以探测适配所述驱动的硬件之前,还包括所述处理器执行的以下步骤:
检测所述虚拟文件系统中是否保存有能够适配所述驱动的硬件相应的硬件标志;
若是,则取消执行所述调用驱动中的探测函数以探测适配所述驱动的硬件的步骤;
若否,则继续执行所述调用驱动中的探测函数以探测适配所述驱动的硬件的步骤。
一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机可读指令,所述计算机可读指令被所述处理器执行时,使得所述处理器执行以下步骤:
调用驱动中的探测函数以探测适配所述驱动的硬件;
将探测到的硬件相应的硬件标志记录至内核层中的虚拟文件系统;
当接收到控制所述硬件运行的指令时,从所述虚拟文件系统读取所述硬件标志至硬件抽象层;
根据读取的所述硬件标志,从内核层获取所述硬件运行时所需的数据;
将所述硬件运行时所需的数据注册至业务逻辑层。
在一个实施例中,所述计算机可读指令被所述处理器执行时,所述将探测到的硬件相应的硬件标志记录至内核层中的虚拟文件系统,包括所述处理器执行的以下步骤:
在虚拟文件系统中创建硬件标志目录;
获取适配的所述硬件相应的硬件标志;
将获取的所述硬件标志写入所述硬件标志目录。
在一个实施例中,所述计算机可读指令被所述处理器执行时,所述根据读取的所述硬件标志,从内核层获取所述硬件运行时所需的数据,包括所述处理器执行的以下步骤:
在所述硬件标志写入所述硬件抽象层后,调用硬件数据获取函数;
通过调用的所述硬件数据获取函数,并根据所述硬件标志,从内核层获取所述硬件运行时所需的数据。
在一个实施例中,所述计算机可读指令被所述处理器执行时,还使得所述处理器执行以下步骤:
当接收到硬件数据注销指令时,从所述业务逻辑层注销所述硬件运行时所需的数据;
在所述硬件运行时所需的数据从所述业务逻辑层注销后,发送硬件注销指令至所述硬件抽象层,以将所述硬件抽象层中的所述硬件标志删除。
在一个实施例中,所述计算机可读指令被所述处理器执行时,所述调用驱动中的探测函数以探测适配所述驱动的硬件之前,还包括所述处理器执行的以下步骤:
检测所述虚拟文件系统中是否保存有能够适配所述驱动的硬件相应的硬件标志;
若是,则取消执行所述调用驱动中的探测函数以探测适配所述驱动的硬件的步骤;
若否,则继续执行所述调用驱动中的探测函数以探测适配所述驱动的硬件的步骤。
上述适配硬件的数据处理方法、装置、计算机可读存储介质和计算机设备,通过在调用驱动中的探测函数探测到能够适配驱动的硬件后,将探测成功的硬件相应的硬件标志记录至虚拟文件系统,由于虚拟文件系统建立在内核层,而在内核层写入数据的效率会比较高。在接收到控制硬件运行的指令时,再从虚拟文件系统读取硬件标志至硬件抽象层,使得在硬件抽象层中根据硬件标志,获取硬件运行时所需的数据,从而可以避免直接将硬件标志写入硬件抽象层而导致硬件抽象层中的数据量过多,提高硬件抽象层获取数据的效率。
附图说明
图1为一个实施例中应用一种适配硬件的数据处理方法的计算机设备的内部结构示意图;
图2为一个实施例中一种适配硬件的数据处理方法的流程示意图;
图3为另一个实施例中一种适配硬件的数据处理方法的流程示意图;
图4为一个实施例中一种适配硬件的数据处理装置的结构框图;
图5为另一个实施例中一种适配硬件的数据处理装置的结构框图;
图6为一个实施例中一种适配硬件的数据处理装置的结构框图;
图7为另一个实施例中一种适配硬件的数据处理装置的结构框图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
图1为一个实施例中,应用一种适配硬件的数据处理方法的计算机设备的内部结构示意图。如图1所示,该计算机设备包括通过系统总线连接的处理器、非易失性存储介质、内存储器和硬件等。其中,该计算机设备的非易失性存储介质存储有操作系统和计算机可读指令,该计算机可读指令用于实现适用于计算机设备的一种适配硬件的数据处理方法。该计算机设备的处理器用于提供计算和控制能力,支撑整个计算机设备的运行。该计算机设备的内存储器为非易失性存储介质中的计算机可读指令的运行提供环境,该内存储器中可储存有计算机可读指令,该计算机可读指令被上述处理器执行时,可使得上述处理器执行一种适配硬件的数据处理方法。该计算机设备的硬件是能够运行以支撑计算机设备的物理元件,如传感器元件、触摸屏、麦克风和按键等。该计算机设备可以是基于安卓系统或Linux系统的POS(point of sale,销售终端)机。本领域技术人员可以理解,图1中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
如图2所示,在一个实施例中,提供了一种适配硬件的数据处理方法。本实施例中主要以该方法应用于上述图1中的计算机设备来举例说明。参照图2,该适配硬件的数据处理方法具体包括如下步骤:
S202,调用驱动中的探测函数以探测适配驱动的硬件。
其中,驱动是包含有关硬件的信息的代码,计算机设备的操作系统通过驱动中有关硬件的信息来控制相关硬件。探测函数是用于探测硬件的函数,函数可以是一种计算过程,也可以是一种算法集合,它执行一个指定的运算或操作。调用可以是获取函数,并根据函数来运算的操作。调用驱动中的探测函数,是获取驱动中的探测函数,并根据探测函数来运算。
硬件是实体装置。硬件可以是重力传感器或陀螺仪等传感器元件,也可以是摄像头、麦克风或按键等输入设备元件,还可以是耳机、内存卡或数据线等外置硬件元件。适配驱动的硬件是能够适配被调用探测函数的驱动的硬件,其中,在同一计算机设备的当前时间点,一个驱动可以适配多个硬件,而一个硬件可仅适配一个驱动。
在一个实施例中,当业务逻辑层通过网络接口接收到使用硬件的指令时,或者当业务逻辑层中预置的使用硬件的指令被定时器触发时,或者当业务逻辑层通过计算机设备上的指令输入设备获取使用硬件的指令时,通过系统总线调用驱动中的探测函数以探测适配驱动的硬件。
S204,将探测到的硬件相应的硬件标志记录至内核层中的虚拟文件系统。
其中,硬件标志是能够区分不同硬件的标志,如硬件的类型、硬件的生产日期、硬件的型号或硬件的编号等的至少一项。虚拟文件系统是一种虚拟的文件系统,是内核层和硬件之间的封装的一层共通访问接口,通过这层接口,内核层可以以相同的方式访问各种硬件。内核层是与计算机设备的安全性、内存管理、进程管理、网络协议栈和驱动等相关的计算机可读指令。其中,安卓(Android)系统的内核层是基于Linux系统的内核层建立的。记录可以是临时写入数据,也可以是长期写入数据,取决于写入数据的存储介质是否是非易失性存储介质,以及缓存淘汰机制等。
在一个实施例中,将探测到的硬件相应的硬件标志记录至内核层中的虚拟文件系统,根据预置的缓存淘汰机制,判断是否长期保存该硬件标志,若是则长期保存,若否则短期保存该硬件标志。长期和短期是相对而言的。
在一个实施例中,将探测到的硬件相应的硬件类型和硬件型号记录至内核层中的虚拟文件系统,并根据硬件相应的硬件类型和硬件型号,判断驱动与适配的硬件之间的兼容程度是否最高。当兼容程度最高时,则不更新驱动。当兼容程度不是最高时,则更新驱动。
S206,当接收到控制硬件运行的指令时,从虚拟文件系统读取硬件标志至硬件抽象层。
其中,控制硬件运行的指令,是该指令使得计算机设备控制硬件按照指令所指定的操作运行。硬件运行是硬件根据接收到的控制指令,实施硬件本身的功能,如硬件运行可以是传感器元件获取计算机设备的运动速度、方向或旋转角速度等,也可以是摄像头元件获取周围景物的图像或影像等,还可以是耳机根据存储介质中存储的音频文件,播放该音频文件相应的声音。硬件抽象层是内核层与硬件之间的接口层,其目的在于将硬件抽象化,提供虚拟硬件,使得系统调用硬件时更加方便。
在一个实施例中,当接收到控制摄像头拍照的指令时,从虚拟文件系统读取摄像头的硬件标志至硬件抽象层。当接收到控制耳机播放声音的指令时,从虚拟文件系统读取耳机的硬件标志至硬件抽象层。当接收到控制传感器元件获取计算机设备的运动速度的指令时,从虚拟文件系统读取传感器元件的硬件标志至硬件抽象层。
S208,根据读取的硬件标志,从内核层获取硬件运行时所需的数据。
其中,硬件运行时所需的数据,是硬件运行时所需的软件环境、系统框架、驱动代码和数据库等中的至少一种所包含的数据。
在一个实施例中,可根据读取的硬件标志,从内核层的软件环境、系统框架、驱动代码和数据库中至少一种获取硬件运行时所需的数据。
S210,将硬件运行时所需的数据注册至业务逻辑层。
其中,业务逻辑层是负责系统领域业务的处理,负责逻辑性数据的生成、处理及转换的系统层次。计算机设备还可以将硬件运行时所需的数据注册至表示层和/或数据访问层等。
本实施例中,通过在调用驱动中的探测函数探测到能够适配驱动的硬件后,将探测成功的硬件相应的硬件标志记录至虚拟文件系统,由于虚拟文件系统建立在内核层,而在内核层写入数据的效率会比较高。在接收到控制硬件运行的指令时,再从虚拟文件系统读取硬件标志至硬件抽象层,使得在硬件抽象层中根据硬件标志,获取硬件运行时所需的数据,从而可以避免直接将硬件标志写入硬件抽象层而导致硬件抽象层中的数据量过多,提高硬件抽象层获取数据的效率。
在一个实施例中,将探测到的硬件相应的硬件标志记录至内核层中的虚拟文件系统,包括:在虚拟文件系统中创建硬件标志目录;获取适配的硬件相应的硬件标志;将获取的硬件标志写入硬件标志目录。
其中,硬件标志目录可以包括节点文件,节点文件可以用于检索硬件,硬件标志目录还可以包括节点目录表,节点目录表可以用于记录已写入硬件标志的节点文件。获取适配的硬件相应的硬件标志,可以是从硬件中的存储介质中获取该硬件相应的硬件标志,也可以是根据适配结果从计算机设备本地数据库或网络中获取该硬件相应的硬件标志。
在一个实施例中,在虚拟文件系统中创建硬件标志目录后,根据探测函数返回的参数,从数据库中获取适配的硬件相应的硬件标志,将获取的硬件标志写入硬件标志目录。
在一个实施例中,在虚拟文件系统中创建硬件标志目录后,根据探测函数从硬件中的存储介质获取硬件标志,将获取的硬件标志写入硬件标志目录。
本实施例中,通过在虚拟文件系统中创建硬件标志目录,以及在获取硬件标志后将硬件标志写入硬件标志目录,由于虚拟文件系统建立在内核层,而在内核层写入数据的效率会比较高,因此将硬件标志写入硬件标志目录能够提高效率。
在一个实施例中,根据读取的硬件标志,从内核层获取硬件运行时所需的数据,包括:在硬件标志写入硬件抽象层后,调用硬件数据获取函数;通过调用的硬件数据获取函数,并根据硬件标志,从内核层获取硬件运行时所需的数据。
其中,硬件数据获取函数是用于获取硬件数据的函数。从内核层获取硬件运行时所需的数据,可以是从内核层的文件系统中获取硬件运行时所需的数据,也可以是从内核层的驱动中获取硬件运行时所需的数据。
在一个实施例中,在硬件标志写入硬件抽象层后,调用硬件数据获取函数,根据硬件标志,从内核层的文件系统中获取硬件运行时所需的数据。
在一个实施例中,在硬件标志写入硬件抽象层后,调用硬件数据获取函数,根据硬件标志,从内核层的驱动中获取硬件运行时所需的数据。
本实施例中,通过在硬件标志写入硬件抽象层后,调用硬件数据获取函数,并根据硬件标志,从内核层获取硬件运行时所需的数据。使得写入硬件抽象层的数据减少,提高将数据写入硬件抽象层的效率。
在一个实施例中,上述方法还包括:当接收到硬件数据注销指令时,从业务逻辑层注销硬件运行时所需的数据;在硬件运行时所需的数据从业务逻辑层注销后,发送硬件注销指令至硬件抽象层,以将硬件抽象层中的硬件标志删除。
其中,硬件数据注销指令是控制处理器将硬件运行时所需的数据从业务逻辑层注销的指令。硬件数据注销指令可以是基于缓存淘汰机制生成的指令,也可以是被定时器触发的预置指令,还可以是用户手动触发的指令。硬件注销指令是控制处理器将硬件抽象层中的硬件标志删除的指令。其中,硬件抽象层中的硬件标志删除并不能说明虚拟文件系统中的硬件标志被删除。
在一个实施例中,根据淘汰缓存机制,生成硬件数据注销指令,根据硬件数据注销指令从业务逻辑层注销硬件运行时所需的数据,且在硬件运行时所需的数据从业务逻辑层注销后,发送硬件注销指令至硬件抽象层,以将硬件抽象层中的硬件标志删除。
在一个实施例中,接收用户手动触发的硬件数据注销指令,根据硬件数据注销指令从业务逻辑层注销硬件运行时所需的数据,且在硬件运行时所需的数据从业务逻辑层注销后,发送硬件注销指令至硬件抽象层,以将硬件抽象层中的硬件标志删除。
在一个实施例中,当定时器被触发时,根据预置硬件数据注销指令从业务逻辑层注销硬件运行时所需的数据,且在硬件运行时所需的数据从业务逻辑层注销后,发送硬件注销指令至硬件抽象层,以将硬件抽象层中的硬件标志删除。
本实施例中,在业务逻辑层中的硬件运行时所需的数据注销后,将将硬件抽象层中的硬件标志删除,以减少硬件抽象层中的数据,减少硬件抽象层的负荷,以提高硬件抽象层的稳定性。
在一个实施例中,调用驱动中的探测函数以探测适配驱动的硬件之前,方法还包括:检测虚拟文件系统中是否保存有能够适配驱动的硬件相应的硬件标志;若是,则取消执行调用驱动中的探测函数以探测适配驱动的硬件的步骤;若否,则继续执行调用驱动中的探测函数以探测适配驱动的硬件的步骤。
其中,检测虚拟文件系统中是否保存有能够适配驱动的硬件相应的硬件标志,可以是检测硬件标志目录中的节点文件中是否已写入能够适配驱动的硬件相应的硬件标志,还可以是检测硬件标志目录中的节点目录表中是否已记录硬件标志相应的节点文件。
在一个实施例中,检测节点文件中是否保存有能够适配驱动的硬件相应的硬件标志;若是,则取消执行调用驱动中的探测函数以探测适配驱动的硬件的步骤;若否,则继续执行调用驱动中的探测函数以探测适配驱动的硬件的步骤。
本实施例中,通过中探测适配驱动的硬件之前,检测虚拟文件系统中是否保存有能够适配驱动的硬件相应的硬件标志,可以在已保存有硬件标志的情况下,取消探测硬件,减少适配硬件的过程,提高将数据写入硬件抽象层的效率。
如图3所示,在一个实施例中,还提供了一种适配硬件的数据处理方法。本实施例中主要以该方法应用于上述图1中的计算机设备来举例说明。参照图3,该适配硬件的数据处理方法具体包括如下步骤:
S302,检测虚拟文件系统中是否保存有能够适配驱动的硬件相应的硬件标志。
若是,则取消执行步骤S304,执行结束流程S320。若否,则继续执行步骤S304。
S304,调用驱动中的探测函数以探测适配驱动的硬件。
S306,在虚拟文件系统中创建硬件标志目录。
S308,获取适配的硬件相应的硬件标志。
S310,将获取的硬件标志写入硬件标志目录。
S312,当接收到控制硬件运行的指令时,从硬件标志目录读取硬件标志至硬件抽象层。
S314,在硬件标志写入硬件抽象层后,调用硬件数据获取函数。
S316,通过调用的硬件数据获取函数,并根据硬件标志,从内核层获取硬件运行时所需的数据。
S318,将硬件运行时所需的数据注册至业务逻辑层。
S320,结束流程。
上述适配硬件的数据处理方法,通过在调用驱动中的探测函数探测到能够适配驱动的硬件后,将探测成功的硬件相应的硬件标志记录至虚拟文件系统,由于虚拟文件系统建立在内核层,而在内核层写入数据的效率会比较高。在接收到控制硬件运行的指令时,再从虚拟文件系统读取硬件标志至硬件抽象层,使得在硬件抽象层中根据硬件标志,获取硬件运行时所需的数据,从而可以避免直接将硬件标志写入硬件抽象层而导致硬件抽象层中的数据量过多,提高硬件抽象层获取数据的效率。
一种适配硬件的数据处理装置400,该装置400包括:硬件探测模块402、标志记录模块404、标志读取模块406、数据获取模块408和数据注册模块410。
硬件探测模块402,用于调用驱动中的探测函数以探测适配驱动的硬件。
标志记录模块404,用于将探测到的硬件相应的硬件标志记录至内核层中的虚拟文件系统。
标志读取模块406,用于当接收到控制硬件运行的指令时,从虚拟文件系统读取硬件标志至硬件抽象层。
数据获取模块408,用于根据读取的硬件标志,从内核层获取硬件运行时所需的数据。
数据注册模块410,用于将硬件运行时所需的数据注册至业务逻辑层。
上述适配硬件的数据处理装置400,通过在调用驱动中的探测函数探测到能够适配驱动的硬件后,将探测成功的硬件相应的硬件标志记录至虚拟文件系统,由于虚拟文件系统建立在内核层,而在内核层写入数据的效率会比较高。在接收到控制硬件运行的指令时,再从虚拟文件系统读取硬件标志至硬件抽象层,使得在硬件抽象层中根据硬件标志,获取硬件运行时所需的数据,从而可以避免直接将硬件标志写入硬件抽象层而导致硬件抽象层中的数据量过多,提高硬件抽象层获取数据的效率。
在一个实施例中,适配硬件的数据处理装置400还包括:目录创建模块412,用于在虚拟文件系统中创建硬件标志目录;标志获取模块414,用于获取适配的硬件相应的硬件标志;标志记录模块404,还用于将获取的硬件标志写入硬件标志目录。
在一个实施例中,数据获取模块408,还用于在硬件标志写入硬件抽象层后,调用硬件数据获取函数;通过调用的硬件数据获取函数,并根据硬件标志,从内核层获取硬件运行时所需的数据。
在一个实施例中,适配硬件的数据处理装置400还包括:数据注销模块416,用于当接收到硬件数据注销指令时,从业务逻辑层注销硬件运行时所需的数据;硬件标志删除模块418,用于在硬件运行时所需的数据从业务逻辑层注销后,发送硬件注销指令至硬件抽象层,以将硬件抽象层中的硬件标志删除。
在一个实施例中,适配硬件的数据处理装置400还包括:硬件标志检测模块420,用于检测虚拟文件系统中是否保存有能够适配驱动的硬件相应的硬件标志;若是,则取消执行调用驱动中的探测函数以探测适配驱动的硬件的步骤;若否,则继续执行调用驱动中的探测函数以探测适配驱动的硬件的步骤。
一种计算机可读存储介质,存储有计算机可读指令,计算机可读指令被处理器执行时,使得处理器执行以下步骤:调用驱动中的探测函数以探测适配驱动的硬件;将探测到的硬件相应的硬件标志记录至内核层中的虚拟文件系统;当接收到控制硬件运行的指令时,从虚拟文件系统读取硬件标志至硬件抽象层;根据读取的硬件标志,从内核层获取硬件运行时所需的数据;将硬件运行时所需的数据注册至业务逻辑层。
上述计算机可读存储介质,通过在调用驱动中的探测函数探测到能够适配驱动的硬件后,将探测成功的硬件相应的硬件标志记录至虚拟文件系统,由于虚拟文件系统建立在内核层,而在内核层写入数据的效率会比较高。在接收到控制硬件运行的指令时,再从虚拟文件系统读取硬件标志至硬件抽象层,使得在硬件抽象层中根据硬件标志,获取硬件运行时所需的数据,从而可以避免直接将硬件标志写入硬件抽象层而导致硬件抽象层中的数据量过多,提高硬件抽象层获取数据的效率。
在一个实施例中,计算机可读指令被处理器执行时,将探测到的硬件相应的硬件标志记录至内核层中的虚拟文件系统,包括处理器执行的以下步骤:在虚拟文件系统中创建硬件标志目录;获取适配的硬件相应的硬件标志;将获取的硬件标志写入硬件标志目录。
在一个实施例中,计算机可读指令被处理器执行时,根据读取的硬件标志,从内核层获取硬件运行时所需的数据,包括处理器执行的以下步骤:在硬件标志写入硬件抽象层后,调用硬件数据获取函数;通过调用的硬件数据获取函数,并根据硬件标志,从内核层获取硬件运行时所需的数据。
在一个实施例中,计算机可读指令被处理器执行时,还使得处理器执行以下步骤:当接收到硬件数据注销指令时,从业务逻辑层注销硬件运行时所需的数据;在硬件运行时所需的数据从业务逻辑层注销后,发送硬件注销指令至硬件抽象层,以将硬件抽象层中的硬件标志删除。
在一个实施例中,计算机可读指令被处理器执行时,调用驱动中的探测函数以探测适配驱动的硬件之前,还包括处理器执行的以下步骤:检测虚拟文件系统中是否保存有能够适配驱动的硬件相应的硬件标志;若是,则取消执行调用驱动中的探测函数以探测适配驱动的硬件的步骤;若否,则继续执行调用驱动中的探测函数以探测适配驱动的硬件的步骤。
一种计算机设备,包括存储器和处理器,存储器中存储有计算机可读指令,计算机可读指令被处理器执行时,使得处理器执行以下步骤:调用驱动中的探测函数以探测适配驱动的硬件;将探测到的硬件相应的硬件标志记录至内核层中的虚拟文件系统;当接收到控制硬件运行的指令时,从虚拟文件系统读取硬件标志至硬件抽象层;根据读取的硬件标志,从内核层获取硬件运行时所需的数据;将硬件运行时所需的数据注册至业务逻辑层。
上述计算机设备,通过在调用驱动中的探测函数探测到能够适配驱动的硬件后,将探测成功的硬件相应的硬件标志记录至虚拟文件系统,由于虚拟文件系统建立在内核层,而在内核层写入数据的效率会比较高。在接收到控制硬件运行的指令时,再从虚拟文件系统读取硬件标志至硬件抽象层,使得在硬件抽象层中根据硬件标志,获取硬件运行时所需的数据,从而可以避免直接将硬件标志写入硬件抽象层而导致硬件抽象层中的数据量过多,提高硬件抽象层获取数据的效率。
在一个实施例中,计算机可读指令被处理器执行时,将探测到的硬件相应的硬件标志记录至内核层中的虚拟文件系统,包括处理器执行的以下步骤:在虚拟文件系统中创建硬件标志目录;获取适配的硬件相应的硬件标志;将获取的硬件标志写入硬件标志目录。
在一个实施例中,计算机可读指令被处理器执行时,根据读取的硬件标志,从内核层获取硬件运行时所需的数据,包括处理器执行的以下步骤:在硬件标志写入硬件抽象层后,调用硬件数据获取函数;通过调用的硬件数据获取函数,并根据硬件标志,从内核层获取硬件运行时所需的数据。
在一个实施例中,计算机可读指令被处理器执行时,还使得处理器执行以下步骤:当接收到硬件数据注销指令时,从业务逻辑层注销硬件运行时所需的数据;在硬件运行时所需的数据从业务逻辑层注销后,发送硬件注销指令至硬件抽象层,以将硬件抽象层中的硬件标志删除。
在一个实施例中,计算机可读指令被处理器执行时,调用驱动中的探测函数以探测适配驱动的硬件之前,还包括处理器执行的以下步骤:检测虚拟文件系统中是否保存有能够适配驱动的硬件相应的硬件标志;若是,则取消执行调用驱动中的探测函数以探测适配驱动的硬件的步骤;若否,则继续执行调用驱动中的探测函数以探测适配驱动的硬件的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一非易失性计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)等。
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种适配硬件的数据处理方法,包括:
调用驱动中的探测函数以探测适配所述驱动的硬件;
将探测到的硬件相应的硬件标志记录至内核层中的虚拟文件系统;
当接收到控制所述硬件运行的指令时,从所述虚拟文件系统读取所述硬件标志至硬件抽象层;
根据读取的所述硬件标志,从内核层获取所述硬件运行时所需的数据;
将所述硬件运行时所需的数据注册至业务逻辑层。
2.根据权利要求1所述的方法,其特征在于,所述将探测到的硬件相应的硬件标志记录至内核层中的虚拟文件系统,包括:
在虚拟文件系统中创建硬件标志目录;
获取适配的所述硬件相应的硬件标志;
将获取的所述硬件标志写入所述硬件标志目录。
3.根据权利要求1所述的方法,其特征在于,所述根据读取的所述硬件标志,从内核层获取所述硬件运行时所需的数据,包括:
在所述硬件标志写入所述硬件抽象层后,调用硬件数据获取函数;
通过调用的所述硬件数据获取函数,并根据所述硬件标志,从内核层获取所述硬件运行时所需的数据。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
当接收到硬件数据注销指令时,从所述业务逻辑层注销所述硬件运行时所需的数据;
在所述硬件运行时所需的数据从所述业务逻辑层注销后,发送硬件注销指令至所述硬件抽象层,以将所述硬件抽象层中的所述硬件标志删除。
5.根据权利要求1所述的方法,其特征在于,所述调用驱动中的探测函数以探测适配所述驱动的硬件之前,所述方法还包括:
检测所述虚拟文件系统中是否保存有能够适配所述驱动的硬件相应的硬件标志;
若是,则取消执行所述调用驱动中的探测函数以探测适配所述驱动的硬件的步骤;
若否,则继续执行所述调用驱动中的探测函数以探测适配所述驱动的硬件的步骤。
6.一种适配硬件的数据处理装置,其特征在于,所述装置包括:
硬件探测模块,用于调用驱动中的探测函数以探测适配所述驱动的硬件;
标志记录模块,用于将探测到的硬件相应的硬件标志记录至内核层中的虚拟文件系统;
标志读取模块,用于当接收到控制所述硬件运行的指令时,从所述虚拟文件系统读取所述硬件标志至硬件抽象层;
数据获取模块,用于根据读取的所述硬件标志,从内核层获取所述硬件运行时所需的数据;
数据注册模块,用于将所述硬件运行时所需的数据注册至业务逻辑层。
7.根据权利要求6所述的装置,其特征在于,所述装置还包括:
目录创建模块,用于在虚拟文件系统中创建硬件标志目录;
标志获取模块,用于获取适配的所述硬件相应的硬件标志;
所述标志记录模块,还用于将获取的所述硬件标志写入所述硬件标志目录。
8.根据权利要求6所述的装置,其特征在于,所述数据获取模块,还用于在所述硬件标志写入所述硬件抽象层后,调用硬件数据获取函数;通过调用的所述硬件数据获取函数,并根据所述硬件标志,从内核层获取所述硬件运行时所需的数据。
9.一种存储介质,其特征在于,存储有计算机可读指令,所述计算机可读指令被处理器执行时,使得所述处理器执行权利要求1至5中任意一项所述方法的步骤。
10.一种计算机设备,其特征在于,包括存储器和处理器,所述存储器中存储有计算机可读指令,所述计算机可读指令被所述处理器执行时,使得所述处理器执行权利要求1至5中任意一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710607686.4A CN107423095B (zh) | 2017-07-24 | 2017-07-24 | 适配硬件的数据处理方法、装置、存储介质和计算机设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710607686.4A CN107423095B (zh) | 2017-07-24 | 2017-07-24 | 适配硬件的数据处理方法、装置、存储介质和计算机设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107423095A true CN107423095A (zh) | 2017-12-01 |
CN107423095B CN107423095B (zh) | 2020-10-02 |
Family
ID=60430162
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710607686.4A Active CN107423095B (zh) | 2017-07-24 | 2017-07-24 | 适配硬件的数据处理方法、装置、存储介质和计算机设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107423095B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111414202A (zh) * | 2020-01-02 | 2020-07-14 | 杭州迦智科技有限公司 | 硬件运行管理方法、系统、管理子系统、电子设备和存储介质 |
WO2020248885A1 (zh) * | 2019-06-13 | 2020-12-17 | 中兴通讯股份有限公司 | 服务配置管理方法和装置、终端和计算机可读存储介质 |
CN112732544A (zh) * | 2021-01-14 | 2021-04-30 | 东莞理工学院 | 一种计算机硬件适配智能分析系统 |
CN113535266A (zh) * | 2021-07-15 | 2021-10-22 | 上海高仙自动化科技发展有限公司 | 硬件设备适配方法、装置、芯片及电子设备 |
Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1345118A2 (en) * | 2002-02-20 | 2003-09-17 | Gateway, Inc. | System and method for creating and downloading a backup drive image onto a hard disk via network |
CN1993676A (zh) * | 2004-08-05 | 2007-07-04 | 国际商业机器公司 | 发现数据处理系统内的硬件的方法和设备 |
US20080201727A1 (en) * | 2004-01-30 | 2008-08-21 | Jeff Byers | Driver Configuration |
CN103067911A (zh) * | 2012-12-17 | 2013-04-24 | 中国联合网络通信集团有限公司 | 控制硬件模块使用的方法和设备 |
CN103257865A (zh) * | 2013-05-15 | 2013-08-21 | 山东超越数控电子有限公司 | 基于Wince7下实现应用程序控制底层硬件的方法 |
CN103425557A (zh) * | 2013-07-30 | 2013-12-04 | 福建升腾资讯有限公司 | 基于设备的应用层配置底层硬件的方法 |
CN103458444A (zh) * | 2012-05-29 | 2013-12-18 | 中国联合网络通信集团有限公司 | 设备配置自适应方法、装置及系统 |
US20140165079A1 (en) * | 2008-12-30 | 2014-06-12 | Stmicroelectronics R&D (Shanghai) Co., Ltd. | Unified driving method and unified driver apparatus |
CN104021173A (zh) * | 2014-05-30 | 2014-09-03 | 贝壳网际(北京)安全技术有限公司 | 硬件驱动程序的提供方法及装置 |
CN104133671A (zh) * | 2014-06-30 | 2014-11-05 | 汉柏科技有限公司 | 一种数字处理设备的硬件接口屏蔽装置及方法 |
WO2014199586A1 (en) * | 2013-06-12 | 2014-12-18 | International Business Machines Corporation | Implementing capacity and user-based resource allocation for a shared adapter in a virtualized system |
CN104267956A (zh) * | 2014-09-28 | 2015-01-07 | 深圳光启创新技术有限公司 | 一种操作系统中控制硬件设备的方法和模块 |
CN104375832A (zh) * | 2014-11-12 | 2015-02-25 | 南阳理工学院 | 一种计算机底层硬件屏蔽设备及方法 |
US9703569B1 (en) * | 2007-01-11 | 2017-07-11 | Altrinsic Solutions, Llc | Hardware independent imaging method |
-
2017
- 2017-07-24 CN CN201710607686.4A patent/CN107423095B/zh active Active
Patent Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1345118A2 (en) * | 2002-02-20 | 2003-09-17 | Gateway, Inc. | System and method for creating and downloading a backup drive image onto a hard disk via network |
US20080201727A1 (en) * | 2004-01-30 | 2008-08-21 | Jeff Byers | Driver Configuration |
CN1993676A (zh) * | 2004-08-05 | 2007-07-04 | 国际商业机器公司 | 发现数据处理系统内的硬件的方法和设备 |
US9703569B1 (en) * | 2007-01-11 | 2017-07-11 | Altrinsic Solutions, Llc | Hardware independent imaging method |
US20140165079A1 (en) * | 2008-12-30 | 2014-06-12 | Stmicroelectronics R&D (Shanghai) Co., Ltd. | Unified driving method and unified driver apparatus |
CN103458444A (zh) * | 2012-05-29 | 2013-12-18 | 中国联合网络通信集团有限公司 | 设备配置自适应方法、装置及系统 |
CN103067911A (zh) * | 2012-12-17 | 2013-04-24 | 中国联合网络通信集团有限公司 | 控制硬件模块使用的方法和设备 |
CN103257865A (zh) * | 2013-05-15 | 2013-08-21 | 山东超越数控电子有限公司 | 基于Wince7下实现应用程序控制底层硬件的方法 |
WO2014199586A1 (en) * | 2013-06-12 | 2014-12-18 | International Business Machines Corporation | Implementing capacity and user-based resource allocation for a shared adapter in a virtualized system |
CN103425557A (zh) * | 2013-07-30 | 2013-12-04 | 福建升腾资讯有限公司 | 基于设备的应用层配置底层硬件的方法 |
CN104021173A (zh) * | 2014-05-30 | 2014-09-03 | 贝壳网际(北京)安全技术有限公司 | 硬件驱动程序的提供方法及装置 |
CN104133671A (zh) * | 2014-06-30 | 2014-11-05 | 汉柏科技有限公司 | 一种数字处理设备的硬件接口屏蔽装置及方法 |
CN104267956A (zh) * | 2014-09-28 | 2015-01-07 | 深圳光启创新技术有限公司 | 一种操作系统中控制硬件设备的方法和模块 |
CN104375832A (zh) * | 2014-11-12 | 2015-02-25 | 南阳理工学院 | 一种计算机底层硬件屏蔽设备及方法 |
Non-Patent Citations (1)
Title |
---|
杨海民;张涛;赵敏;尤峻;董民: "基于Android的BSP移植自动适配技术", 《计算机工程》 * |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020248885A1 (zh) * | 2019-06-13 | 2020-12-17 | 中兴通讯股份有限公司 | 服务配置管理方法和装置、终端和计算机可读存储介质 |
CN111414202A (zh) * | 2020-01-02 | 2020-07-14 | 杭州迦智科技有限公司 | 硬件运行管理方法、系统、管理子系统、电子设备和存储介质 |
CN112732544A (zh) * | 2021-01-14 | 2021-04-30 | 东莞理工学院 | 一种计算机硬件适配智能分析系统 |
CN112732544B (zh) * | 2021-01-14 | 2022-08-02 | 东莞理工学院 | 一种计算机硬件适配智能分析系统 |
CN113535266A (zh) * | 2021-07-15 | 2021-10-22 | 上海高仙自动化科技发展有限公司 | 硬件设备适配方法、装置、芯片及电子设备 |
CN113535266B (zh) * | 2021-07-15 | 2023-03-14 | 上海高仙自动化科技发展有限公司 | 硬件设备适配方法、装置、芯片及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN107423095B (zh) | 2020-10-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107423095A (zh) | 适配硬件的数据处理方法、装置、存储介质和计算机设备 | |
CN103415848B (zh) | 使用元数据进行应用程序的无缝备份和恢复的方法和系统 | |
CN109189682A (zh) | 一种脚本录制方法和装置 | |
CN108536463A (zh) | 获取资源包的方法、装置、设备及计算机可读存储介质 | |
CN106484862A (zh) | 页面控制方法及装置 | |
CN107734353B (zh) | 录制弹幕视频的方法、装置、可读存储介质及设备 | |
KR20130138635A (ko) | 단일 백업 블록 기록을 이용하는 결함 내성 포타 업데이트를 위한 방법 및 장치 | |
WO2019109900A1 (zh) | 视频编辑方法、装置及智能移动终端 | |
CN108073346A (zh) | 一种录屏方法、终端及计算机可读存储介质 | |
CN108021590A (zh) | 一种目标对象属性确定方法、属性更新方法及装置 | |
CN107480001A (zh) | 系统恢复方法及装置 | |
CN102693674A (zh) | 图像输出装置及图像输出控制方法 | |
CN105045588A (zh) | 一种切换输入法皮肤的方法和装置 | |
CN109246467A (zh) | 标记待分享视频的方法、装置、摄像机和智能手机 | |
CN110046509A (zh) | 一种对写入块链的交易进行隐匿的方法及装置 | |
CN108984339A (zh) | 数据恢复方法及相关产品 | |
CN110362371B (zh) | 视图层级的控制方法、装置及系统、计算机设备及介质 | |
CN111813465A (zh) | 一种信息获取方法、装置、介质和设备 | |
CN108399038A (zh) | 一种图片合成方法及移动终端 | |
CN113312008A (zh) | 一种文件读写业务的处理方法、系统、设备以及介质 | |
WO2019062615A1 (zh) | 一种用户界面渲染方法及装置 | |
CN106328174A (zh) | 一种录音数据的处理方法及装置 | |
CN108536343B (zh) | 控件展示方法、装置、终端及存储介质 | |
JP2004129067A5 (zh) | ||
CN106844228B (zh) | 轻量级sd卡分区管理实现方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |