CN112000447B - 双芯智能电表中的硬件设备管理方法、装置和计算机设备 - Google Patents

双芯智能电表中的硬件设备管理方法、装置和计算机设备 Download PDF

Info

Publication number
CN112000447B
CN112000447B CN202010684577.4A CN202010684577A CN112000447B CN 112000447 B CN112000447 B CN 112000447B CN 202010684577 A CN202010684577 A CN 202010684577A CN 112000447 B CN112000447 B CN 112000447B
Authority
CN
China
Prior art keywords
file
drive
identifier
equipment
information
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
CN202010684577.4A
Other languages
English (en)
Other versions
CN112000447A (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.)
China Southern Power Grid Digital Grid Technology Guangdong Co ltd
Original Assignee
Southern Power Grid Digital Grid Research Institute 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 Southern Power Grid Digital Grid Research Institute Co Ltd filed Critical Southern Power Grid Digital Grid Research Institute Co Ltd
Priority to CN202010684577.4A priority Critical patent/CN112000447B/zh
Publication of CN112000447A publication Critical patent/CN112000447A/zh
Application granted granted Critical
Publication of CN112000447B publication Critical patent/CN112000447B/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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

本申请涉及一种双芯智能电表中的硬件设备管理方法、装置、计算机设备和存储介质。通过接收双芯智能电表中的应用程序发送的针对双芯智能电表中的硬件设备的设备调用请求,根据设备调用请求中的文件标识,通过文件结构表、设备表以及驱动表获取与文件标识关联的驱动信息和设备信息,还可以根据上述驱动信息,对上述设备信息对应的硬件设备执行上述设备调用请求中的调用事项。相较于传统的设计固化,应用程序与硬件耦合严重的电表,本方案利用文件标识、文件结构表、设备表以及驱动表,实现对双芯智能电表中的硬件设备的灵活调用管理,提高了双芯智能电表中硬件设备的管理灵活度。

Description

双芯智能电表中的硬件设备管理方法、装置和计算机设备
技术领域
本申请涉及计算机软件技术领域,特别是涉及一种双芯智能电表中的硬件设备管理方法、装置、计算机设备和存储介质。
背景技术
电力是保障人们日常生活和国民经济正常运行的一种重要能源,电力通过电网的输电、变电、配电、用电环节传导至终端电力用户,电能表安装在电网的用电环节上,作为至关重要的电能消费贸易结算工具。目前,我国电能表软件为一体化设计,即计量部分和非计量部分不做独立工作要求,软件系统较为固化,且和硬件平台强耦合,当面临软硬件升级需要时,只能通过更换整块电表的方式实现,并且,按照IR46标准的要求,电能表的管理芯和计量芯相互分离,管理单元软件需要满足高级应用的灵活升级扩展需求,而高级应用的灵活扩展要求电能表的系统实现多样化硬件的兼容,然而,管理单元使用的输入输出设备和硬件平台存在多样化和差异化的特点,目前的电能表难以实现根据需要对输入输出设备进行灵活裁剪或扩展,不支持高级应用与硬件设备的解耦,不能满足应用程序对硬件的灵活扩展需求。
因此,目前电能表中的硬件设备管理存在不够灵活的缺陷。
发明内容
基于此,有必要针对上述技术问题,提供一种能够提高电能表中硬件设备的管理灵活度的双芯智能电表中的硬件设备管理方法、装置、计算机设备和存储介质。
一种双芯智能电表中的硬件设备管理方法,所述方法包括:
接收所述双芯智能电表中的应用程序发送的针对所述双芯智能电表中的硬件设备的设备调用请求;所述设备调用请求中包括文件标识以及调用事项;所述文件标识用于指示所述应用程序需要调用的硬件设备对应的驱动信息;
根据所述文件标识,通过文件结构表、设备表以及驱动表获取与所述文件标识关联的驱动信息和设备信息;所述文件结构表中包含多个文件结构,每个文件结构中记录有各自对应的文件标识,还记录有所述文件标识所关联的所述设备表中的设备节点的节点标识;所述设备表中包括多个设备节点,每个设备节点中记录有各自对应的节点标识和设备信息,还记录有所述设备信息所关联的所述驱动表中的驱动信息的驱动标识;所述驱动表中记录有所述双芯智能电表中的硬件驱动程序注册的驱动信息及其对应的驱动标识;
根据所述驱动信息,对所述设备信息对应的硬件设备执行所述调用事项。
在其中一个实施例中,所述方法还包括:
获取待关联的硬件设备的设备信息以及待关联的硬件驱动程序的驱动信息;
将所述待关联的硬件设备的设备信息存储至所述设备表的节点中,得到所述待关联的硬件设备的设备信息对应的节点标识;
将所述待关联的硬件驱动程序的驱动信息存储至所述驱动表中,得到所述待关联的硬件驱动程序的驱动信息对应的驱动标识;
将所述节点标识与所述驱动标识按照所述待关联的硬件驱动程序的驱动信息以及所述待关联的设备信息对应的功能进行关联,存储至所述设备表中。
在其中一个实施例中,所述方法还包括:
获取所述应用程序需要调用的目标硬件设备对应的目标设备信息中的目标设备名称;
在所述文件结构表中搜索包括所述目标设备名称对应的节点标识的文件结构;
获取所述节点标识对应的设备表中的设备信息;
获取与所述设备表中的设备信息关联的驱动表中的驱动标识;
生成所述文件标识,将所述文件标识通过所述文件结构表、所述设备表以及所述驱动表与所述驱动标识进行关联。
在其中一个实施例中,所述设备节点对应一个或多个所述文件结构;
和/或,
所述驱动标识对应一个或多个所述设备节点。
在其中一个实施例中,所述文件标识为文件描述符;
所述文件描述符与所述文件结构一一对应;
和/或,
所述文件结构对应多个所述文件描述符。
在其中一个实施例中,还包括:
当接收到所述应用程序的文件结构创建或打开请求时,获取所述应用程序所在的进程中已经与其他文件结构关联的文件描述符;所述文件描述符包括从小到大的整数;
将所述已经与其他文件结构关联的文件描述符从待选文件描述符中去除;
在去除所述已经与其他文件结构关联的文件描述符的待选文件描述符中,获取数值最小的待选文件描述符,作为与新的文件结构关联的文件描述符。
在其中一个实施例中,所述硬件设备包括:输入输出设备、闪存、电可擦除可编程只读存储器和网卡中的至少一种。
一种双芯智能电表中的硬件设备管理装置,所述装置包括:
接收模块,用于接收所述双芯智能电表中的应用程序发送的针对所述双芯智能电表中的硬件设备的设备调用请求;所述设备调用请求中包括文件标识以及调用事项;所述文件标识用于指示所述应用程序需要调用的硬件设备对应的驱动信息;
获取模块,用于根据所述文件标识,通过文件结构表、设备表以及驱动表获取与所述文件标识关联的驱动信息和设备信息;所述文件结构表中包含多个文件结构,每个文件结构中记录有各自对应的文件标识,还记录有所述文件标识所关联的所述设备表中的设备节点的节点标识;所述设备表中包括多个设备节点,每个设备节点中记录有各自对应的节点标识和设备信息,还记录有所述设备信息所关联的所述驱动表中的驱动信息的驱动标识;所述驱动表中记录有所述双芯智能电表中的硬件驱动程序注册的驱动信息及其对应的驱动标识;
处理模块,用于根据所述驱动信息,对所述设备信息对应的硬件设备执行所述调用事项。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述的方法的步骤。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述的方法的步骤。
上述双芯智能电表中的硬件设备管理方法、装置、计算机设备和存储介质,通过接收双芯智能电表中的应用程序发送的针对双芯智能电表中的硬件设备的设备调用请求,根据设备调用请求中的文件标识,通过文件结构表、设备表以及驱动表获取与文件标识关联的驱动信息和设备信息,还可以根据上述驱动信息,对上述设备信息对应的硬件设备执行上述设备调用请求中的调用事项。相较于传统的设计固化,应用程序与硬件耦合严重的电表,本方案利用文件标识、文件结构表、设备表以及驱动表,实现对双芯智能电表中的硬件设备的灵活调用管理,提高了双芯智能电表中硬件设备的管理灵活度。
附图说明
图1为一个实施例中双芯智能电表中的硬件设备管理方法的应用环境图;
图2为一个实施例中双芯智能电表中的硬件设备管理方法的流程示意图;
图3为一个实施例中驱动表和设备表的结构示意图;
图4为一个实施例中双芯智能电表中的硬件设备管理方法的关联结构示意图;
图5为另一个实施例中双芯智能电表中的硬件设备管理方法的流程示意图;
图6为一个实施例中双芯智能电表中的硬件设备管理装置的结构框图;
图7为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请提供的双芯智能电表中的硬件设备管理方法,可以应用于如图1所示的应用环境中。其中,双芯智能电表中的内核102可以与应用程序100以及IO系统104进行通信。内核102可以接收双芯智能电表中的应用程序发送的针对上述双芯智能电表中的硬件的设备调用请求,并且可以利用调用请求中的文件标识,通过在IO系统中的文件结构表、设备表以及驱动表获取与文件标识关联的驱动信息和设备信息,根据驱动信息,对设备信息对应的硬件设备执行调用请求中的调用事项。IO系统将输入输出设备抽象为设备文件,内核102可以通过IO系统提供的同意的文件操作接口来调用和控制对应的设备。其中,内核102可以处理器、存储器、外部接口、时钟等组成,IO系统104中可以包括有多种文件和驱动信息,具体地,可以包括普通文件、目录文件、设备文件、映射关系管理、littlefs文件系统、外部NorFlash驱动、GPIO驱动、UART驱动以及裸扇区驱动等。其中普通文件可以表示一般文件,目录文件可以表示其他文件和设备的存储路径,设备文件可以表示双芯智能电表中的设备相关信息,littlefs文件系统可以用于管理IO系统中的各个文件。
在一个实施例中,如图2所示,提供了一种双芯智能电表中的硬件设备管理方法,以该方法应用于图1中的内核为例进行说明,包括以下步骤:
步骤S202,接收双芯智能电表中的应用程序100发送的针对双芯智能电表中的硬件设备的设备调用请求;设备调用请求中包括文件标识以及调用事项;文件标识用于指示应用程序需要调用的硬件设备对应的驱动信息。
其中,双芯智能电表可以是包括两种芯的智能电表,其中可以包括有多个硬件设备,例如多个输入输出设备、操作系统以及相关应用程序。应用程序100可以包括多种应用程序,应用程序100可以对双芯智能电表中的相关设备进行调用。具体地,内核102可以接收应用程序100发送的对于硬件设备的设备调用请求,以对双芯智能电表中的硬件设备进行调用。其中设备调用请求中包括文件标识以及调用事项,文件标识可以是用于标识应用程序100需要调用的硬件设备对应的驱动信息的标识,调用事项可以用于表示应用程序100要对硬件设备进行的相关处理和调用。在一个实施例中,硬件设备可以包括输入输出设备、闪存、电可擦除可编程只读存储器和网卡中的至少一种。
步骤S204,根据文件标识,通过文件结构表、设备表以及驱动表获取与文件标识关联的驱动信息和设备信息;文件结构表中包含多个文件结构,每个文件结构中记录有各自对应的文件标识,还记录有文件标识所关联的设备表中的设备节点的节点标识;设备表中包括多个设备节点,每个设备节点中记录有各自对应的节点标识和设备信息,还记录有设备信息所关联的驱动表中的驱动信息的驱动标识;驱动表中记录有双芯智能电表中的硬件驱动程序注册的驱动信息及其对应的驱动标识。
其中,文件标识可以是上述应用程序100发送的设备调用请求中包括的文件标识;文件结构表可以是用于存储文件标识和设备相关标识的结构表,其中可以包括多个文件结构,每个文件结构中可以记录有各自对应的文件标识,还可以记录有文件标识关联的设备表中的设备节点的节点标识,例如,可以包括设备头指针,该指针指向了设备节点、文件名、文件属性标志(读、写等)。设备节点可以是设备表中的节点,设备表中可以包括有多个设备节点,每个设备节点中可以记录有各自对应的节点标识和设备信息,还可以记录有设备信息关联的驱动表中的驱动信息的驱动标识,设备表可以以链表形式呈现,设备信息可以是双芯智能电表中的硬件设备的设备信息,驱动标识可以是驱动信息对应的标识,该标识可以存储于驱动表中,驱动表中可以存储有多个驱动标识。每个驱动标识可以与相应的设备信息关联,每个节点标识可以与相应的文件标识关联,即文件标识可以与文件结构表中的文件结构项联、文件结构项可以与设备表中的设备节点关联、设备节点可以与驱动表中的驱动信息关联。内核102可以根据上述文件标识,利用文件结构表、设备表和驱动表的关系,获取与文件标识关联的驱动信息和设备信息。
步骤S206,根据驱动信息,对设备信息对应的硬件设备执行调用事项。
其中,驱动信息可以是双芯智能电表中的硬件设备对应的驱动信息,设备信息可以是上述硬件设备的相关信息,设备信息可以与驱动信息进行对应。硬件设备需要驱动程序执行其功能,因此内核102可以利用驱动信息,对设备信息对应的硬件设备执行上述调用事项。其中调用事项可以是上述设备调用请求中的调用事项,例如可以是读写等操作。
上述双芯智能电表中的硬件设备管理方法中,通过接收双芯智能电表中的应用程序发送的针对双芯智能电表中的硬件设备的设备调用请求,根据设备调用请求中的文件标识,通过文件结构表、设备表以及驱动表获取与文件标识关联的驱动信息和设备信息,还可以根据上述驱动信息,对上述设备信息对应的硬件设备执行上述设备调用请求中的调用事项。相较于传统的设计固化,应用程序与硬件耦合严重的电表,本方案利用文件标识、文件结构表、设备表以及驱动表,实现对双芯智能电表中的硬件设备的灵活调用管理,提高了双芯智能电表中硬件设备的管理灵活度。
在一个实施例中,如图3所示,图3为一个实施例中驱动表和设备表的结构示意图。上述方法还包括:获取待关联的硬件设备的设备信息以及待关联的硬件驱动程序的驱动信息;将待关联的硬件设备的设备信息存储至设备表的节点中,得到待关联的硬件设备的设备信息对应的节点标识;将待关联的硬件驱动程序的驱动信息存储至驱动表中,得到待关联的硬件驱动程序的驱动信息对应的驱动标识;将节点标识与驱动标识按照待关联的硬件驱动程序的驱动信息以及待关联的设备信息对应的功能进行关联,存储至设备表中。
本实施例中,待关联的硬件设备可以是尚未与驱动信息进行关联的硬件设备,例如可以是新注册的硬件设备,待关联的硬件驱动程序可以是尚未与硬件设备关联的驱动程序,例如可以是新注册的驱动程序。内核102可以将待关联的硬件设备的设备信息,以及待关联的硬件驱动程序存储至上述设备表的设备节点中,得到待关联的硬件设备的设备信息对应的节点标识,从而对硬件设备进行注册;还可以将待关联的硬件驱动程序存储到驱动表中,得到待关联的硬件驱动程序的驱动信息对应的驱动标识。具体地,可以在系统上电后首先运行BSP启动代码,实现设备驱动注册,完成设备添加,并将设备信息插入到设备节点链表,记录设备名称。
内核102还可以将设备节点链表中的节点标识和驱动表中的驱动标识按照待关联的硬件驱动程序的驱动信息以及待关联的设备信息对应的功能进行关联,并存储到设备表中,例如可以将设备信息对应的硬件设备的功能以及驱动信息对应的功能相同的两者进行关联。具体地,如图3所示,设备节点链表中可以包括多个设备节点,每个设备节点中可以包括有多个设备信息,例如设备名、硬件寄存器基址、缓冲区大小等。驱动表中可以包括多个驱动标识,每个驱动标识中可以包括有多个驱动信息,例如驱动名称、操作函数集等信息。
通过本实施例,内核102可以将设备信息以及驱动信息分别存储到设备节点和驱动表中,并且还可以进行设备节点与驱动标识的关联,从而可以提高双芯智能电表中的硬件设备调用的灵活度。
在一个实施例中,如图4所示,图4为一个实施例中双芯智能电表中的硬件设备管理方法的关联结构示意图。上述方法还包括:获取应用程序100需要调用的目标硬件设备对应的目标设备信息中的目标设备名称;在文件结构表中搜索包括目标设备名称对应的节点标识的文件结构;获取节点标识对应的设备表中的设备信息;获取与设备表中的设备信息关联的驱动表中的驱动标识;生成文件标识,将文件标识通过文件结构表、设备表以及驱动表与驱动标识进行关联。
本实施例中,目标硬件设备可以是应用程序100需要调用的硬件设备,目标硬件设备可以包括有对应的目标设备信息,目标设备信息中可以包括目标设备名称,文件结构表可以用于存储多个文件结构项,文件结构项中可以存储有文件标识,文件标识可以通过特定方式生成并与相应的文件结构项关联,例如可以通过文件标识表生成,文件结构项还可以存储有文件标识关联的设备表中设备节点的节点标识。内核102可以根据应用程序100需要调用的目标硬件设备的设备名称,在文件结构表中搜索包括目标设备名称对应的节点标识的文件结构,还可以获取节点标识对应的设备表中的设备信息,在设备表中获取与上述设备信息关联的驱动表中的驱动标识,然后可以通过预设的文件标识表生成一文件标识,将文件标识通过文件结构表、设备表以及驱动表与驱动标识关联。如图4所示,文件结构表中的文件结构可以与设备表中的设备节点关联,设备节点可以与驱动表中的驱动标识关联,驱动标识可以与一个或多个物理设备关联,而文件标识表中的文件标识可以通过上述文件结构表、设备表和驱动表,上述驱动标识关联。
通过本实施例,内核102可以通过建立文件标识与驱动标识之间的关联,从而使应用程序需要可以根据文件标识调用需要使用的驱动标识对应的驱动信息,提高了双芯智能电表中硬件设备的调用灵活度。
在一个实施例中,设备节点对应一个或多个文件结构;和/或,驱动标识对应一个或多个设备节点。
本实施例中,设备节点可以是上述设备表中的节点,文件结构可以是上述文件结构表中的每个节点中的文件结构,驱动标识可以是驱动表中的标识。再如图4所示,不同的应用程序100可以存在于不同的进程中,文件结构表中的每个文件结构中可以包括有关联的设备节点中的节点标识,内核102可以将一个文件结构与一个设备节点关联,而设备节点可以与一个或多个文件结构对应,即不同的文件结构可以指向同一个设备节点。
另外,每个设备节点中可以包括有关联的驱动表中的驱动标识,即设备节点可以和一个驱动标识相关的驱动信息对应,不同的驱动标识可以对应一个或多个设备节点,即不同的设备节点中的设备信息对应的硬件设备可以使用同一个驱动信息对应的驱动程序,实现相应的功能,即不同的设备节点也可以对应同一个驱动程序。
通过本实施例,内核102可以建立文件结构、设备节点以及驱动标识之间的关联,使得应用程序能更方便地调用相应的驱动程序,从而实现硬件设备的调用,实现双芯智能电表中硬件设备管理的灵活度。
在一个实施例中,文件标识为文件描述符;文件描述符与文件结构一一对应;和/或,文件结构对应多个文件描述符。
本实施例中,又如图4所示,文件标识可以是文件描述符,文件描述符可以用于访问文件,文件描述符可以被称为fd。文件描述符fd可以是非负整数,每个进程中可以维护自己的文件描述符表,每个文件描述符占其中一项,与每个文件描述符相关联的是:指向文件结构的指针、文件引用计数、文件描述符标志,即FD_CLOEXEC。打开现存文件或新建文件时,内核102会返回一个文件描述符。读写文件也需要使用文件描述符来指定待读写的文件,当读、写一个文件时,可以使用open函数或者creat函数返回的文件描述符标识该文件,可将此文件描述符作为参数传递给read函数或write函数。根据习惯,0号文件描述符代表标准输入,1号文件描述符为标准输出,2号文件描述符为标准错误。每个进程拥有自己的文件描述符表,各个进程间互不冲突。如果子进程存在父进程,则继承父进程所有文件描述符;如果子进程是孤儿进程,将只继承系统的3个标准文件描述符。一个进程内的所有线程共享进程文件描述符。每个文件描述符可以在文件结构被创建或首次打开时,分配至相应的文件结构中,每个文件描述符可以对应一个文件结构,文件描述符可以存在于文件描述符表中,而由于不同进程中可以存在各自的文件描述符表,因此一个文件结构可以与不同进程中的文件描述符对应,即文件结构可以对应多个文件描述符,当对应同一个文件结构的所有文件描述符被关闭时,操作系统会释放对应的文件结构,同时调用相应的驱动程序。
通过本实施例,内核102可以将文件描述符与文件结构相对应,从而使得应用程序100可以根据文件描述符找到相应的驱动程序,从而实现硬件设备的调用,提高了双芯智能电表中硬件设备的管理灵活度。
在一个实施例中,还包括:当接收到应用程序100的文件结构创建或打开请求时,获取应用程序所在的进程中已经与其他文件结构关联的文件描述符;文件描述符包括从小到大的整数;将已经与其他文件结构关联的文件描述符从待选文件描述符中去除;在去除已经与其他文件结构关联的文件描述符的待选文件描述符中,获取数值最小的待选文件描述符,作为与新的文件结构关联的文件描述符。
本实施例中,文件描述符可以是用于访问文件的标识。当内核102接收到应用程序对于文件的打开或创建或打开请求时,内核102可以为该文件结构分配一文件标识,即文件描述符,内核102可以获取应用程序100所在的进程中已经与其他文件结构关联的文件描述符,具体地,输入输出系统对外提供的操作接口兼容POSIX标准,文件描述符可以是从0开始一直到一个最大值的整型数字,最大值的整型数字可以是_POSIX_OPEN_MAX,文件描述符可以存储于文件描述符表中,内核102还可以将表中已经与其他文件结构关联的文件描述符从待选文件描述符中去除,在去除了已经被关联的文件描述符后,可以在剩下的文件描述符中,获取数值最小的待选文件描述符,作为该被创建或打开的文件结构关联的文件描述符,即内核102在打开或创建文件时总是使用一个最小的且未使用的文件描述符作为新分配的文件描述符。
通过本实施例,内核102可以将文件描述符表中的文件描述符按照从小到大的顺序分配至文件结构中,提高了文件描述符的管理和分配效率。
在一个实施例中,如图5所示,图5为另一个实施例中双芯智能电表中的硬件设备管理方法的流程示意图。当双芯智能电表中的系统上电时,内核102可以首先运行BSP启动代码,实现设备驱动的注册,并将设备信息插入IO系统中的设备表中的设备节点中,记录设备名,将驱动信息插入至驱动表中,将设备节点与驱动信息按照功能相关性进行关联;系统完成启动后,可以再进行文件标识,即文件描述符,与驱动信息的关联,应用程序100可以通过系统调用API接口,根据文件名查找设备节点链表,即设备表,找到同名设备节点后,获取该节点对应的驱动标识,从而在驱动表中找到对应的驱动信息,内核102可以获取一新的文件描述符,通过上述文件结构表以及设备表,和驱动表中的该驱动信息关联,具体地,可以调用驱动注册时提供的open函数可获取文件描述符fd,并将该描述符和驱动进行关联,系统调用结束。应用程序100还可以在关联后,在进行读、写或关闭文件等调用时,利用文件描述符fd找到相应驱动,从而完成对硬件设备的调用。
通过本实施例,内核102可以利用启动代码和IO系统,实现应用程序100对硬件设备的调用,并且应用程序100无需关心设备硬件设备细节,只需通过统一接口实现调用,并且在有新的硬件设备注册时,也能在硬件设备与文件描述符关联后,实现方便的调用,从而提高了智能双芯电表中硬件设备管理的灵活度。
应该理解的是,虽然图2与图5的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2与图5中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图6所示,提供了一种双芯智能电表中的硬件设备管理装置,包括:接收模块500、获取模块502和处理模块504,其中:
接收模块500,用于接收双芯智能电表中的应用程序发送的针对双芯智能电表中的硬件设备的设备调用请求;设备调用请求中包括文件标识以及调用事项;文件标识用于指示应用程序需要调用的硬件设备对应的驱动信息。
获取模块502,用于根据文件标识,通过文件结构表、设备表以及驱动表获取与文件标识关联的驱动信息和设备信息;文件结构表中包含多个文件结构,每个文件结构中记录有各自对应的文件标识,还记录有文件标识所关联的设备表中的设备节点的节点标识;设备表中包括多个设备节点,每个设备节点中记录有各自对应的节点标识和设备信息,还记录有设备信息所关联的所述驱动表中的驱动信息的驱动标识;驱动表中记录有双芯智能电表中的硬件驱动程序注册的驱动信息及其对应的驱动标识。
处理模块504,用于根据驱动信息,对设备信息对应的硬件设备执行调用事项。
在一个实施例中,上述装置还包括:第一关联模块,用于获取待关联的硬件设备的设备信息以及待关联的硬件驱动程序的驱动信息;将待关联的硬件设备的设备信息存储至所述设备表的节点中,得到待关联的硬件设备的设备信息对应的节点标识;将待关联的硬件驱动程序的驱动信息存储至驱动表中,得到待关联的硬件驱动程序的驱动信息对应的驱动标识;将节点标识与驱动标识按照待关联的硬件驱动程序的驱动信息以及待关联的设备信息对应的功能进行关联,存储至设备表中。
在一个实施例中,上述装置还包括:第二关联模块,用于获取应用程序需要调用的目标硬件设备对应的目标设备信息中的目标设备名称;在文件结构表中搜索包括目标设备名称对应的节点标识的文件结构;获取节点标识对应的设备表中的设备信息;获取与设备表中的设备信息关联的驱动表中的驱动标识;生成文件标识,将文件标识通过文件结构表、设备表以及驱动表与驱动标识进行关联。
在一个实施例中,上述装置还包括:第三关联模块,用于当接收到应用程序的文件结构创建或打开请求时,获取应用程序所在的进程中已经与其他文件结构关联的文件描述符;文件描述符包括从小到大的整数;将已经与其他文件结构关联的文件描述符从待选文件描述符中去除;在去除已经与其他文件结构关联的文件描述符的待选文件描述符中,获取数值最小的待选文件描述符,作为与新的文件结构关联的文件描述符。
关于双芯智能电表中的硬件设备管理装置的具体限定可以参见上文中对于双芯智能电表中的硬件设备管理方法的限定,在此不再赘述。上述双芯智能电表中的硬件设备管理装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是双芯智能电表,其内部结构图可以如图7所示。该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储设备信息和驱动信息等数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种双芯智能电表中的硬件设备管理方法。
本领域技术人员可以理解,图7中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现如上述的双芯智能电表中的硬件设备管理方法。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现如上述的双芯智能电表中的硬件设备管理方法。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-Only Memory,ROM)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic Random Access Memory,DRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

Claims (10)

1.一种双芯智能电表中的硬件设备管理方法,其特征在于,所述方法包括:
接收所述双芯智能电表中的应用程序发送的针对所述双芯智能电表中的硬件设备的设备调用请求;所述设备调用请求中包括文件标识以及调用事项;所述文件标识用于指示所述应用程序需要调用的硬件设备对应的驱动信息;
根据所述文件标识,通过文件结构表、设备表以及驱动表获取与所述文件标识关联的驱动信息和设备信息;所述文件结构表中包含多个文件结构,每个文件结构中记录有各自对应的文件标识,还记录有所述文件标识所关联的所述设备表中的设备节点的节点标识;所述设备表中包括多个设备节点,每个设备节点中记录有各自对应的节点标识和设备信息,还记录有所述设备信息所关联的所述驱动表中的驱动信息的驱动标识;所述驱动表中记录有所述双芯智能电表中的硬件驱动程序注册的驱动信息及其对应的驱动标识;
根据所述驱动信息,对所述设备信息对应的硬件设备执行所述调用事项。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
获取待关联的硬件设备的设备信息以及待关联的硬件驱动程序的驱动信息;
将所述待关联的硬件设备的设备信息存储至所述设备表的节点中,得到所述待关联的硬件设备的设备信息对应的节点标识;
将所述待关联的硬件驱动程序的驱动信息存储至所述驱动表中,得到所述待关联的硬件驱动程序的驱动信息对应的驱动标识;
将所述节点标识与所述驱动标识按照所述待关联的硬件驱动程序的驱动信息以及所述待关联的设备信息对应的功能进行关联,存储至所述设备表中。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
获取所述应用程序需要调用的目标硬件设备对应的目标设备信息中的目标设备名称;
在所述文件结构表中搜索包括所述目标设备名称对应的节点标识的文件结构;
获取所述节点标识对应的设备表中的设备信息;
获取与所述设备表中的设备信息关联的驱动表中的驱动标识;
生成所述文件标识,将所述文件标识通过所述文件结构表、所述设备表以及所述驱动表与所述驱动标识进行关联。
4.根据权利要求1所述的方法,其特征在于,所述设备节点对应一个或多个所述文件结构;
和/或,
所述驱动标识对应一个或多个所述设备节点。
5.根据权利要求4所述的方法,其特征在于,所述文件标识为文件描述符;
所述文件描述符与所述文件结构一一对应;
和/或,
所述文件结构对应多个所述文件描述符。
6.根据权利要求4所述的方法,其特征在于,还包括:
当接收到所述应用程序的文件结构创建或打开请求时,获取所述应用程序所在的进程中已经与其他文件结构关联的文件描述符;所述文件描述符包括从小到大的整数;
将所述已经与其他文件结构关联的文件描述符从待选文件描述符中去除;
在去除所述已经与其他文件结构关联的文件描述符的待选文件描述符中,获取数值最小的待选文件描述符,作为与新的文件结构关联的文件描述符。
7.根据权利要求1至6任意一项所述的方法,其特征在于,所述硬件设备包括:输入输出设备、闪存、电可擦除可编程只读存储器和网卡中的至少一种。
8.一种双芯智能电表中的硬件设备管理装置,其特征在于,所述装置包括:
接收模块,用于接收所述双芯智能电表中的应用程序发送的针对所述双芯智能电表中的硬件设备的设备调用请求;所述设备调用请求中包括文件标识以及调用事项;所述文件标识用于指示所述应用程序需要调用的硬件设备对应的驱动信息;
获取模块,用于根据所述文件标识,通过文件结构表、设备表以及驱动表获取与所述文件标识关联的驱动信息和设备信息;所述文件结构表中包含多个文件结构,每个文件结构中记录有各自对应的文件标识,还记录有所述文件标识所关联的所述设备表中的设备节点的节点标识;所述设备表中包括多个设备节点,每个设备节点中记录有各自对应的节点标识和设备信息,还记录有所述设备信息所关联的所述驱动表中的驱动信息的驱动标识;所述驱动表中记录有所述双芯智能电表中的硬件驱动程序注册的驱动信息及其对应的驱动标识;
处理模块,用于根据所述驱动信息,对所述设备信息对应的硬件设备执行所述调用事项。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述的方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。
CN202010684577.4A 2020-07-16 2020-07-16 双芯智能电表中的硬件设备管理方法、装置和计算机设备 Active CN112000447B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010684577.4A CN112000447B (zh) 2020-07-16 2020-07-16 双芯智能电表中的硬件设备管理方法、装置和计算机设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010684577.4A CN112000447B (zh) 2020-07-16 2020-07-16 双芯智能电表中的硬件设备管理方法、装置和计算机设备

Publications (2)

Publication Number Publication Date
CN112000447A CN112000447A (zh) 2020-11-27
CN112000447B true CN112000447B (zh) 2022-11-25

Family

ID=73468183

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010684577.4A Active CN112000447B (zh) 2020-07-16 2020-07-16 双芯智能电表中的硬件设备管理方法、装置和计算机设备

Country Status (1)

Country Link
CN (1) CN112000447B (zh)

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110837446A (zh) * 2018-08-16 2020-02-25 北京嘉楠捷思信息技术有限公司 应用于嵌入式系统的设备管理方法及装置、介质以及嵌入式设备
CN109491759B (zh) * 2018-10-26 2020-11-03 深圳康佳电子科技有限公司 基于虚拟文件系统的进程调试方法、装置和计算机设备
CN111241040B (zh) * 2020-01-10 2023-04-18 阿里巴巴集团控股有限公司 信息获取方法、装置、电子设备及计算机存储介质

Also Published As

Publication number Publication date
CN112000447A (zh) 2020-11-27

Similar Documents

Publication Publication Date Title
WO2022257390A1 (zh) 数据处理方法、服务器及存储介质
CN111177113B (zh) 数据迁移方法、装置、计算机设备和存储介质
CN110968509B (zh) 一种批量化自定义变量的方法和系统
CN112612523B (zh) 一种嵌入式设备驱动系统及方法
CN107277120B (zh) 配置文件管理方法、装置以及服务配置方法与系统
CN104679500A (zh) 实体类自动生成实现方法及装置
CN111061802B (zh) 一种电力数据管理处理方法、装置及存储介质
CN112835638A (zh) 一种基于嵌入式应用程序的配置信息管理方法及装置
CN112785248B (zh) 人力资源数据跨组织交互方法、装置、设备和存储介质
CN107609870B (zh) 用于pos的多应用密钥管理方法、系统及pos终端
CN112000447B (zh) 双芯智能电表中的硬件设备管理方法、装置和计算机设备
CN111338638A (zh) 实现自动生成嵌入式软件部件之间通信的系统及其方法
CN111752941B (zh) 一种数据存储、访问方法、装置、服务器及存储介质
CN116560629A (zh) 一种数据传输对象的序列化方法、装置、介质和设备
CN113568603B (zh) 组件对象创建及接口方法调用方法、终端及存储装置
CN110597827A (zh) 一种接口控制文件数据的存储方法及系统
CN109800273A (zh) 一种数据处理的方法、装置、计算机存储介质及终端
CN116048481A (zh) 业务信息处理系统及方法
CN116107691A (zh) 一种嵌入式操作系统资源隔离实现方法
CN112035380B (zh) 一种数据处理方法、装置、设备及可读存储介质
CN117312420A (zh) 一种数据共享方法及相关系统
CN111881220B (zh) 列表存储下的数据操作方法、装置、电子设备和存储介质
US10606822B2 (en) Dynamically updating metadata
CN112632266B (zh) 数据写入方法、装置、计算机设备及可读存储介质
CN110471708B (zh) 基于可重用组件的配置项获取的方法及装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
CB02 Change of applicant information
CB02 Change of applicant information

Address after: Room 86, room 406, No.1, Yichuang street, Zhongxin Guangzhou Knowledge City, Huangpu District, Guangzhou City, Guangdong Province

Applicant after: Southern Power Grid Digital Grid Research Institute Co.,Ltd.

Address before: 511458 Room 1301, Chengtou Building, 106 Fengze East Road, Nansha District, Guangzhou City, Guangdong Province (self-compiled 1301-12159)

Applicant before: Southern Power Grid Digital Grid Research Institute Co.,Ltd.

SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20230410

Address after: Full Floor 14, Unit 3, Building 2, No. 11, Middle Spectra Road, Huangpu District, Guangzhou, Guangdong 510700

Patentee after: China Southern Power Grid Digital Grid Technology (Guangdong) Co.,Ltd.

Address before: Room 86, room 406, No.1, Yichuang street, Zhongxin Guangzhou Knowledge City, Huangpu District, Guangzhou City, Guangdong Province

Patentee before: Southern Power Grid Digital Grid Research Institute Co.,Ltd.