CN107423095B - 适配硬件的数据处理方法、装置、存储介质和计算机设备 - Google Patents

适配硬件的数据处理方法、装置、存储介质和计算机设备 Download PDF

Info

Publication number
CN107423095B
CN107423095B CN201710607686.4A CN201710607686A CN107423095B CN 107423095 B CN107423095 B CN 107423095B CN 201710607686 A CN201710607686 A CN 201710607686A CN 107423095 B CN107423095 B CN 107423095B
Authority
CN
China
Prior art keywords
hardware
mark
driver
data
layer
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
CN201710607686.4A
Other languages
English (en)
Other versions
CN107423095A (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.)
PAX Computer Technology Shenzhen Co Ltd
Original Assignee
PAX Computer Technology Shenzhen 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 PAX Computer Technology Shenzhen Co Ltd filed Critical PAX Computer Technology Shenzhen Co Ltd
Priority to CN201710607686.4A priority Critical patent/CN107423095B/zh
Publication of CN107423095A publication Critical patent/CN107423095A/zh
Application granted granted Critical
Publication of CN107423095B publication Critical patent/CN107423095B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/656Updates while running
    • 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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/545Interprogram 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)
  • Debugging And Monitoring (AREA)
  • Stored Programmes (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.一种适配硬件的数据处理装置,其特征在于,所述装置包括:
硬件探测模块,用于调用驱动中的探测函数以探测适配所述驱动的硬件;
标志记录模块,用于将探测到的硬件相应的硬件标志记录至内核层中的虚拟文件***,并根据预置的缓存淘汰机制对所述硬件标志进行存储;
标志读取模块,用于当接收到控制所述硬件运行的指令时,从所述虚拟文件***读取所述硬件标志至硬件抽象层;
数据获取模块,用于根据读取的所述硬件标志,从内核层获取所述硬件运行时所需的数据;
数据注册模块,用于将所述硬件运行时所需的数据注册至业务逻辑层;
还包括:
目录创建模块,用于在虚拟文件***中创建硬件标志目录;
标志获取模块,用于获取适配的所述硬件相应的硬件标志;
所述标志记录模块,还用于将获取的所述硬件标志写入所述硬件标志目录。
6.根据权利要求5所述的装置,其特征在于,所述数据获取模块,还用于在所述硬件标志写入所述硬件抽象层后,调用硬件数据获取函数;通过调用的所述硬件数据获取函数,并根据所述硬件标志,从内核层获取所述硬件运行时所需的数据。
7.根据权利要求5所述的装置,其特征在于,所述装置还包括:
数据注销模块,用于当接收到硬件数据注销指令时,从所述业务逻辑层注销所述硬件运行时所需的数据;
硬件标志删除模块,用于在所述硬件运行时所需的数据从所述业务逻辑层注销后,发送硬件注销指令至所述硬件抽象层,以将所述硬件抽象层中的所述硬件标志删除。
8.根据权利要求5所述的装置,其特征在于,所述装置还包括:
硬件标志检测模块,用于检测所述虚拟文件***中是否保存有能够适配所述驱动的硬件相应的硬件标志;若是,则取消执行所述调用驱动中的探测函数以探测适配所述驱动的硬件的步骤;若否,则继续执行所述调用驱动中的探测函数以探测适配所述驱动的硬件的步骤。
9.一种存储介质,其特征在于,存储有计算机可读指令,所述计算机可读指令被处理器执行时,使得所述处理器执行权利要求1至4中任意一项所述方法的步骤。
10.一种计算机设备,其特征在于,包括存储器和处理器,所述存储器中存储有计算机可读指令,所述计算机可读指令被所述处理器执行时,使得所述处理器执行权利要求1至4中任意一项所述方法的步骤。
CN201710607686.4A 2017-07-24 2017-07-24 适配硬件的数据处理方法、装置、存储介质和计算机设备 Active CN107423095B (zh)

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 CN107423095A (zh) 2017-12-01
CN107423095B true 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)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112083959A (zh) * 2019-06-13 2020-12-15 中兴通讯股份有限公司 服务配置管理方法、装置、终端和计算机可读存储介质
CN111414202B (zh) * 2020-01-02 2022-11-22 杭州迦智科技有限公司 硬件运行管理方法、***、管理子***、电子设备和存储介质
CN112732544B (zh) * 2021-01-14 2022-08-02 东莞理工学院 一种计算机硬件适配智能分析***
CN113535266B (zh) * 2021-07-15 2023-03-14 上海高仙自动化科技发展有限公司 硬件设备适配方法、装置、芯片及电子设备

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030158926A1 (en) * 2002-02-20 2003-08-21 Gateway, Inc. Network master hard disk drive duplicator
US7461141B2 (en) * 2004-01-30 2008-12-02 Applied Micro Circuits Corporation System and method for performing driver configuration operations without a system reboot
US7536539B2 (en) * 2004-08-05 2009-05-19 International Business Machines Corporation Method and apparatus for discovering hardware in a data processing system
US8181186B1 (en) * 2007-01-11 2012-05-15 Altrinsic Solutions, LLC. Hardware independent imaging method
CN101770433B (zh) * 2008-12-30 2012-01-11 意法半导体研发(上海)有限公司 通用驱动方法和通用驱动设备
CN103458444A (zh) * 2012-05-29 2013-12-18 中国联合网络通信集团有限公司 设备配置自适应方法、装置及***
CN103067911B (zh) * 2012-12-17 2016-03-23 中国联合网络通信集团有限公司 控制硬件模块使用的方法和设备
CN103257865A (zh) * 2013-05-15 2013-08-21 山东超越数控电子有限公司 基于Wince7下实现应用程序控制底层硬件的方法
US9111046B2 (en) * 2013-06-12 2015-08-18 International Business Machines Corporation Implementing capacity and user-based resource allocation for a shared adapter in a virtualized system
CN103425557B (zh) * 2013-07-30 2016-03-02 福建升腾资讯有限公司 基于设备的应用层配置底层硬件的方法
CN104021173B (zh) * 2014-05-30 2019-03-12 珠海豹好玩科技有限公司 硬件驱动程序的提供方法及装置
CN104133671B (zh) * 2014-06-30 2017-10-27 汉柏科技有限公司 一种数字处理设备的硬件接口屏蔽装置及方法
CN104267956B (zh) * 2014-09-28 2016-05-11 深圳光启智能光子技术有限公司 一种操作***中控制硬件设备的方法和装置
CN104375832A (zh) * 2014-11-12 2015-02-25 南阳理工学院 一种计算机底层硬件屏蔽设备及方法

Also Published As

Publication number Publication date
CN107423095A (zh) 2017-12-01

Similar Documents

Publication Publication Date Title
CN107423095B (zh) 适配硬件的数据处理方法、装置、存储介质和计算机设备
KR100844058B1 (ko) 파일 삭제 방법, 파일·오픈 방법, 파일 삭제 프로그램, 및파일·오픈·프로그램
US20060253620A1 (en) Data structure of flash memory having system area with variable size in which data can be updated, USB memory device having the flash memory, and method of controlling the system area
CN107734353B (zh) 录制弹幕视频的方法、装置、可读存储介质及设备
CN109726067B (zh) 一种进程监控方法以及客户端设备
CN105138376A (zh) 混合模式应用、其网页资源升级方法、移动终端以及***
TW200525358A (en) Method and apparatus for smart memory pass-through communication
CN110362371B (zh) 视图层级的控制方法、装置及***、计算机设备及介质
CN105094811A (zh) 一种事件处理的方法和装置
CN111813465A (zh) 一种信息获取方法、装置、介质和设备
KR20160086754A (ko) 펌웨어 리프레시 방법, 장치, 프로그램 및 기록매체
US20140304285A1 (en) Terminal and method for managing files associated with an application
CN114461691A (zh) 状态机的控制方法、装置、电子设备及存储介质
JP2009265877A (ja) 電子機器
US10970332B2 (en) Electronic device and digital content managing method
CN110008733B (zh) 一种对写入块链的交易进行隐匿的方法及装置
CN108882041B (zh) 播放器状态获取方法及装置
US10761892B2 (en) Method and electronic device for executing data reading/writing in volume migration
KR20190098516A (ko) 어플리케이션과 관련된 데이터를 관리하기 위한 방법 및 그 전자 장치
CN106328174A (zh) 一种录音数据的处理方法及装置
CN113992876A (zh) 一种录制文档播放视频的方法、存储介质和终端
US8977814B1 (en) Information lifecycle management for binding content
JP2003150321A (ja) 仮想記憶デバイス管理装置、仮想記憶デバイス管理方法、仮想記憶デバイス管理プログラム及び仮想記憶デバイスが記録されたコンピュータ読み取り可能な記録媒体
US20160078897A1 (en) Recording and playback device
US11809550B2 (en) Electronic device and control method therefor

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