CN111562952B - 双芯智能电表管理单元的动态装载方法、动态装载装置 - Google Patents

双芯智能电表管理单元的动态装载方法、动态装载装置 Download PDF

Info

Publication number
CN111562952B
CN111562952B CN202010683392.1A CN202010683392A CN111562952B CN 111562952 B CN111562952 B CN 111562952B CN 202010683392 A CN202010683392 A CN 202010683392A CN 111562952 B CN111562952 B CN 111562952B
Authority
CN
China
Prior art keywords
application
electric meter
file
starting
main thread
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
CN202010683392.1A
Other languages
English (en)
Other versions
CN111562952A (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 CN202010683392.1A priority Critical patent/CN111562952B/zh
Publication of CN111562952A publication Critical patent/CN111562952A/zh
Application granted granted Critical
Publication of CN111562952B publication Critical patent/CN111562952B/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
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/604Tools and structures for managing or administering access control systems
    • 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/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • G06F9/5016Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Stored Programmes (AREA)

Abstract

本申请涉及双芯智能电表技术领域,提供了一种双芯智能电表管理单元的动态装载方法、装置、双芯智能电表和存储介质;上述方法包括:获取启动参数文件的地址,根据所述地址获取启动参数文件;解析启动参数文件,得到电表应用的应用镜像路径、内存资源配置参数、应用权限参数和主线程描述信息;基于应用镜像路径,加载电表应用的应用镜像文件,为电表应用分配与应用权限参数对应的权限控制和与内存资源配置参数对应的内存资源;根据主线程描述信息创建电表应用的主线程,以使主线程创建后实现相应子线程的创建,实现自行启动双芯智能电表的各个电表应用。

Description

双芯智能电表管理单元的动态装载方法、动态装载装置
技术领域
本申请涉及双芯智能电表技术领域,特别是涉及一种双芯智能电表管理单元的动态装载方法、动态装载装置、双芯智能电表和存储介质。
背景技术
目前,电能表为一体式设计,即计量部分和非计量部分不做独立工作要求。这种电能表软件***比较固化,一个应用独占软、硬件资源,电表一上电就启动运行这一个应用,不存在多个应用的动态装载需求。按照IR46标准的要求,双芯电能表的管理芯和计量芯应相互分离,管理芯软件可以实现多个应用的在线升级,以满足双芯智能电表灵活扩展高级应用的现实需求。智能电表数以亿计,且每块电能表都存在多个不同的应用,不可能人工干预每一块智能电表应用软件的启动过程,必须通过动态装载的方法,在获取应用升级信息后或***异常情况下重启***完成各个应用自动顺序启动运行,实现高级应用的灵活扩展,保障智能电表应用软件的稳定可靠运行。
在电能表技术领域中,管理单元软件***需要支持对多样化的高级应用灵活扩展和软件的在线升级。电能表数以亿计,如何实现自行启动双芯智能电表管理单元应用软件是亟待解决的问题。
发明内容
基于此,为实现自行启动双芯智能电表管理单元升级扩展的各个电表应用,本申请提供一种双芯智能电表管理单元的动态装载方法、装置、双芯智能电表和存储介质。
一种双芯智能电表管理单元的动态装载方法,应用于双芯智能电表的动态装载器中,包括:
获取启动参数文件的地址,根据所述地址获取启动参数文件;
解析所述启动参数文件,得到电表应用的应用镜像路径、内存资源配置参数、应用权限参数和主线程描述信息;
基于所述应用镜像路径,加载所述电表应用的应用镜像文件,为所述电表应用分配与所述应用权限参数对应的权限控制和与所述内存资源配置参数对应的内存资源;
根据所述主线程描述信息创建所述电表应用的主线程,以使所述主线程创建后实现相应子线程的创建。
在其中一个实施例中,所述获取启动参数文件的地址,根据所述地址获取启动参数文件,包括:
调用预设的文件地址获取函数获取启动参数文件的地址;
根据所述地址访问所述启动参数文件。
在其中一个实施例中,所述启动参数文件由应用升级交互模块写入所述地址。
在其中一个实施例中,
所述解析所述启动参数文件,得到电表应用的应用镜像路径、内存资源配置参数、应用权限参数和主线程描述信息,还包括:
解析所述启动参数文件得到第一校验码;
所述加载所述电表应用的应用镜像文件之后,所述方法还包括:
将所述应用镜像文件输入至镜像文件校验函数,触发所述镜像文件校验函数对所述应用镜像文件进行校验并反馈第二校验码;
所述第一校验码与所述第二校验码不一致时,禁止所述电表应用的启动。
在其中一个实施例中,所述启动参数文件包括多个待启动的电表应用的应用镜像路径、内存资源配置参数、应用权限参数和主线程描述信息。
在其中一个实施例中,所述主线程描述信息包括堆栈、优先级、时间片和进程通信参数。
一种双芯智能电表管理单元的动态装载装置,应用于双芯智能电表的动态装载器中,包括:
启动参数文件获取模块,用于获取启动参数文件的地址,根据所述地址获取启动参数文件;
启动参数解析模块,用于解析所述启动参数文件,得到电表应用的应用镜像路径、内存资源配置参数、应用权限参数和主线程描述信息;
应用文件处理模块,用于基于所述应用镜像路径,加载所述电表应用的应用镜像文件,为所述电表应用分配与所述应用权限参数对应的权限控制和与所述内存资源配置参数对应的内存资源;
进程创建模块,用于根据所述主线程描述信息创建所述电表应用的主线程,以使所述主线程创建后实现相应子线程的创建。
在其中一个实施例中,所述应用文件处理模块,包括:
应用镜像加载模块,用于基于所述应用镜像路径,加载所述电表应用的应用镜像文件;
应用权限管理模块,用于为所述电表应用分配与所述应用权限参数对应的权限控制;
内存资源分配模块,用于为所述电表应用分配与所述内存资源配置参数对应的内存资源。
一种双芯智能电表,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:获取启动参数文件的地址,根据所述地址获取启动参数文件;解析所述启动参数文件,得到电表应用的应用镜像路径、内存资源配置参数、应用权限参数和主线程描述信息;基于所述应用镜像路径,加载所述电表应用的应用镜像文件,为所述电表应用分配与所述应用权限参数对应的权限控制和与所述内存资源配置参数对应的内存资源;根据所述主线程描述信息创建所述电表应用的主线程,以使所述主线程创建后实现相应子线程的创建。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:获取启动参数文件的地址,根据所述地址获取启动参数文件;解析所述启动参数文件,得到电表应用的应用镜像路径、内存资源配置参数、应用权限参数和主线程描述信息;基于所述应用镜像路径,加载所述电表应用的应用镜像文件,为所述电表应用分配与所述应用权限参数对应的权限控制和与所述内存资源配置参数对应的内存资源;根据所述主线程描述信息创建所述电表应用的主线程,以使所述主线程创建后实现相应子线程的创建。
上述双芯智能电表管理单元的动态装载方法、装置、双芯智能电表和存储介质,动态装载器获取启动参数文件的地址,根据上述地址获取启动参数文件,动态装载器解析启动参数文件,得到电表应用的应用镜像路径、内存资源配置参数、应用权限参数和主线程描述信息;动态装载器基于应用镜像路径,加载电表应用的应用镜像文件,为电表应用分配与应用权限参数对应的权限控制和与内存资源配置参数对应的内存资源;动态装载器根据主线程描述信息创建电表应用的主线程,以使主线程创建后实现相应子线程的创建。在电能表管理单元软件***启动时,动态装载器可以根据电表应用的相关信息配置对应的资源,根据应用镜像路径获取电表应用的应用镜像文件,以及创建对应的主线程以实现对应子线程的创建,可以自动装载启动电表应用的进程(进程包括主线程和对应的子线程),以使完成电能表管理单元软件***对电表应用的动态装载,可以支持电能表管理单元软件***对待更新电表应用的自行启动,不需要人工干预,便于电表应用的在线升级,进一步还可以便于对电表应用进行在线卸载和运维管理等操作。
附图说明
图1为一个实施例中双芯智能电表管理单元的动态装载方法的应用环境图;
图2为一个实施例中双芯智能电表管理单元的动态装载方法的流程示意图;
图3为一个实施例中双芯智能电表管理单元的动态装载步骤的流程示意图;
图4为另一个实施例中双芯智能电表管理单元的动态装载方法的流程示意图;
图5为一个实施例中双芯智能电表管理单元的动态装载装置的结构框图;
图6为另一个实施例中双芯智能电表的动态装载装置的结构框图;
图7为一个实施例中双芯智能电表的内部结构示意图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
在本申请中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本申请所描述的实施例可以与其它实施例相结合。
本申请提供的双芯智能电表管理单元的动态装载方法,可以应用于图1所示的应用环境中,其中:应用升级交互模块可以是安装在双芯智能电表(以下简称电表)中,且对电表应用(电表应用可以是安装在电表中、且运行在电表软件管理***上的应用程序)进行更新升级等管理的模块,可以运行在电能表管理单元软件***上;动态装载器可以是属于电能表管理单元软件***的内核层组件。上述方法可以包括以下内容:动态装载器获取启动参数文件的地址,根据上述地址获取启动参数文件,并解析启动参数文件,得到电表应用的应用镜像路径、内存资源配置参数、应用权限参数和主线程描述信息;动态装载器基于应用镜像路径,加载电表应用的应用镜像文件,为电表应用分配与应用权限参数对应的权限控制和与内存资源配置参数对应的内存资源;动态装载器根据主线程描述信息创建电表应用的主线程,以使主线程创建后实现相应子线程的创建。
在一个实施例中,如图2所示,提供了一种双芯智能电表管理单元的动态装载方法,以该方法应用于双芯智能电表的动态装载器中为例进行说明,包括以下步骤:
步骤S201,动态装载器获取启动参数文件的地址,根据地址获取启动参数文件。
其中,启动参数文件可以是主站可以将待更新电表应用的更新参数写入对应的文件中形成的,主站在形成将携带有更新参数的启动参数文件后,将上述启动参数文件和上述待更电表应用的应用镜像文件下发至电表的应用升级交互模块,应用升级交互模块将启动参数文件和应用镜像文件存储至对应的地址中,动态装载器获取启动参数文件的地址(地址可以理解为启动参数文件在电表中的存储路径),根据上述地址获取启动参数文件。
其中,动态装载器获取启动参数文件的步骤可以进一步包括:应用升级交互模块在接收到主站下发的启动参数文件后,将启动参数文件的地址(存储路径)传递至动态装载器的文件地址获取函数,文件地址获取函数根据上述地址,获取启动参数文件,动态装载器进一步还可以调用启动参数解析模块对启动参数文件进行解析。
其中,文件地址获取函数可以是ms_err_t ms_apps_start(const char * boot_param_file)。
步骤S202,动态装载器解析启动参数文件,得到电表应用的应用镜像路径、内存资源配置参数、应用权限参数和主线程描述信息。
在本步骤中,动态装载器得到启动参数文件后,可以调用启动参数解析模块(如FDT启动参数解析模块)对启动参数文件进行解析,得到电表应用的应用镜像路径、内存资源配置参数、应用权限参数和主线程描述信息。其中,本步骤所说的电表应用可以是步骤S201的待更新电表应用,对应地,电表在执行本实施例的方法后,可以启动待更新电表应用。
其中,动态装载器可以调用启动参数解析模块(如FDT启动参数解析模块)实现本步骤的解析过程。
步骤S203,动态装载器基于应用镜像路径,加载电表应用的应用镜像文件,为电表应用分配与应用权限参数对应的权限控制和与内存资源配置参数对应的内存资源。
步骤S204,动态装载器根据主线程描述信息创建电表应用的主线程,以使主线程创建后实现相应子线程的创建。
以电表应用为步骤S201的待更新电表应用为例介绍本步骤:动态装载器根据从启动参数文件中解析得到的主线程描述信息,创建与待更新电表应用对应的主线程,以使主线程自动创建待更新电表应用的子线程。可以理解的是,在主线程和子线程创建的过程中,动态装载器还可以实现电表应用的共享内存和管道的创建。
其中,主线程描述参数可以包括:包括堆栈、优先级、时间片或进程通信参数的至少一种。
上述双芯智能电表管理单元的动态装载方法中,动态装载器获取启动参数文件的地址,根据上述地址获取启动参数文件;动态装载器解析启动参数文件,得到电表应用的应用镜像路径、内存资源配置参数、应用权限参数和主线程描述信息;动态装载器基于应用镜像路径,加载电表应用的应用镜像文件,为电表应用分配与应用权限参数对应的权限控制和与内存资源配置参数对应的内存资源;动态装载器根据主线程描述信息创建电表应用的主线程,以使主线程创建后实现相应子线程的创建。在电能表管理单元软件***启动时,动态装载器可以根据电表应用的相关信息配置对应的资源,根据应用镜像路径获取电表应用的应用镜像文件,以及创建对应的主线程以实现对应子线程的创建,可以自动装载启动电表应用的进程(进程包括主线程和对应的子线程),以完成电能表管理单元软件***对电表应用的动态装载,可以支持电能表管理单元软件***对待更新电表应用的自行启动,不需要人工干预,便于电表应用的在线升级,进一步还可以便于对电表应用进行在线卸载和运维管理等操作。
在一个实施例中,为实现电能表管理单元软件***对多个电表应用的自行启动,应用启动参数文件包含了多个待启动电表应用的应用镜像路径、内存资源配置参数、应用权限参数和主线程描述信息。
其中,各个待启动的电表应用可以对应不同的应用节点,每个应用节点下存在对应的电表应用信息(如应用镜像路径、内存资源配置参数、应用权限参数和主线程描述信息)。启动参数解析模块可以遍历启动参数文件的各个应用节点,进而确定启动参数文件包括的电表应用的个数和电表应用的名称。
以第一电表应用和第二电表应用为例介绍,电表在按照上述实施例的步骤完成第一电表应用的启动后,动态装载器遍历启动参数文件的应用节点(如 “ms-app”),确定在第一电表应用的节点之后是第二电表应用的节点,进而执行上述实施例的步骤S202-S204,完成第二电表应用的启动。
在一个实施例中,若电表应用的应用镜像文件出错,并根据出错的应用镜像文件对电表应用进行启动,可能会导致电表应用无法实现对应的应用服务;基于此,动态装载器还可以执行如图3所示的步骤,具体包括:
步骤S301,动态装载器获取启动参数文件的地址,根据上述地址获取启动参数文件;
步骤S302,动态装载器解析启动参数文件,得到电表应用的第一校验码和应用镜像路径;
步骤S303,动态装载器根据应用镜像路径,加载得到电表应用的应用镜像文件;
步骤S304,动态装载器将应用镜像文件输入至镜像文件校验函数,触发镜像文件校验函数对应用镜像文件进行校验并反馈第二校验码;
其中,镜像文件校验函数可以是CRC32校验函数,对应地,第一校验码和第二校验码均是CRC32格式的校验码。
步骤S305,若动态装载器判定第一校验码与第二校验码不一致时,则禁止电表应用的启动。
若第一校验码和第二校验码一致,则说明上述电表应用的应用镜像文件完整,可以根据上述应用镜像文件,完成对上述电表应用的启动。
为了更好地理解上述方法,以下详细阐述一个本申请双芯智能电表管理单元的动态装载方法的应用实例。
应用升级交互模块完成更新参数的写入后,形成包括所有电表应用的启动参数文件,运行于操作***(相当于电能表管理单元软件***)之上的每个应用顺序执行一个动态加载过程以完成每个电表应用的启动;结合图4介绍本实例的步骤:
(1)动态装载器获取启动参数文件的地址,访问启动参数文件;
(2)顺序查找每个“ms-app”应用节点,若查找不到应用节点,则说明启动参数文件中没有待启动的电表应用,进而结束加载过程;
(3)若查找到某个应用节点,则获取该应用节点的名称(相当于电表应用的名称),并作为与电表应用对应的待启动的进程名称。
(4)读取“img_base”属性,获得待启动电表应用的代码执行位置;
(5)读取“img_size”属性,获得待启动电表应用的应用镜像文件的大小;
(6)读取“img_crc32”属性,获得待启动电表应用的应用镜像文件的CRC32校验码,以完成应用镜像文件完整性的校对。
(7)读取主线程描述参数,包括堆栈、优先级、时间片、可创建的进程通信参数等。
(8)调用进程创建模块,根据主线程描述参数创建主线程。主线程创建后,可自动实现子线程的创建,最终完成整个进程的创建过程。
本实施例,动态装载器组件在操作***在启动时,解析应用升级交互模块更新后的启动参数文件,根据待启动的电表应用的相关信息,调用进程创建模块的进程创建功能,自动装载启动电表应用的进程,进而实现自行启动双芯智能电表管理单元升级扩展的各电表应用,满足电表在线升级和运维需要。相较于传统的电表管理单元软件***为一体式设计,电表应用独占软、硬件资源,不支持对多个电表应用进行参数配置和权限管理而言,本申请的动态装载器与应用升级交互模块、进程创建模块交互,完成多个电表应用的动态装载启动,通过对启动参数文件进行解析,以及启动参数的配置,可以支持新电表应用的自行启动,不需要人工干预,便于电表应用在线升级/卸载和运维管理
应该理解的是,虽然图2-图4的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2-图4中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图5所示,提供了一种双芯智能电表管理单元的动态装载装置,包括:
启动参数文件获取模块501,用于获取启动参数文件的地址,根据地址获取启动参数文件;
启动参数解析模块502,用于解析启动参数文件,得到电表应用的应用镜像路径、内存资源配置参数、应用权限参数和主线程描述信息;
应用文件处理模块503,用于基于应用镜像路径,加载电表应用的应用镜像文件,为电表应用分配与应用权限参数对应的权限控制和与内存资源配置参数对应的内存资源;
进程创建模块504,用于根据主线程描述信息创建电表应用的主线程,以使主线程创建后实现相应子线程的创建。
在一个实施例中,应用文件处理模块503,包括:
应用镜像加载模块,用于基于应用镜像路径,加载电表应用的应用镜像文件;
应用权限管理模块,用于为电表应用分配与应用权限参数对应的权限控制;
内存资源分配模块,用于为电表应用分配与内存资源配置参数对应的内存资源。
在一个实施例中,启动参数文件获取模块501,还用于调用预设的文件地址获取函数获取启动参数文件的地址;根据地址访问启动参数文件。
在一个实施例中,启动参数文件由应用升级交互模块写入地址。
在一个实施例中,启动参数解析模块502,还用于解析启动参数文件得到第一校验码;上述装置还包括镜像文件校验模块,用于将应用镜像文件输入至镜像文件校验函数,触发镜像文件校验函数对应用镜像文件进行校验并反馈第二校验码;第一校验码与第二校验码不一致时,禁止电表应用的启动。
在一个实施例中,启动参数文件包括多个待启动的电表应用的应用镜像路径、内存资源配置参数、应用权限参数和主线程描述信息。
在一个实施例中,主线程描述信息包括堆栈、优先级、时间片和进程通信参数。
在一个实施例中,如图6所示,动态装载器可以包括FDT启动参数解析模块、应用镜像加载模块、应用权限管理模块、内存资源分配模块、进程创建模块;其中,各个模块执行的步骤具体介绍如下:
应用镜像加载模块,用于基于应用镜像路径,加载电表应用的应用镜像文件;
应用权限管理模块,用于为电表应用分配与应用权限参数对应的权限控制;
内存资源分配模块,用于为电表应用分配与内存资源配置参数对应的内存资源。
进程创建模块用于根据主线程描述信息(如堆栈、优先级、时间片、可创建的进程通信参数)创建主线程,在主线程创建完成后,自动实现子线程的创建。
关于双芯智能电表管理单元的动态装载装置的具体限定可以参见上文中对于双芯智能电表管理单元的动态装载方法的限定,在此不再赘述。上述双芯智能电表管理单元的动态装载装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于双芯智能电表中的处理器中,也可以以软件形式存储于双芯智能电表中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
本申请提供的双芯智能电表管理单元的动态装载方法,可以应用于如图1所示的双芯智能电表的动态装载器中,其内部结构图可以如图7所示。该双芯智能电表包括通过***总线连接的处理器、存储器、通信接口、显示屏和输入装置。其中,该双芯智能电表的处理器用于提供计算和控制能力。该双芯智能电表的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作***和计算机程序。该内存储器为非易失性存储介质中的操作***和计算机程序的运行提供环境。该双芯智能电表的通信接口用于与外部的设备进行有线或无线方式的通信,无线方式可通过WIFI、运营商网络、NFC(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现一种双芯智能电表管理单元的动态装载方法。该双芯智能电表的显示屏可以是液晶显示屏或者电子墨水显示屏,该双芯智能电表的输入装置可以是显示屏上覆盖的触摸层,也可以是双芯智能电表外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图7中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的双芯智能电表的限定,具体的双芯智能电表可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种双芯智能电表,包括存储器和处理器,存储器存储有计算机程序,处理器执行计算机程序时实现上述各个方法实施例中的步骤。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述各个方法实施例中的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-OnlyMemory,ROM)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic Random Access Memory,DRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

Claims (8)

1.一种双芯智能电表管理单元的动态装载方法,其特征在于,双芯智能电表的动态装载器是电能表管理单元软件***的内核层组件;所述双芯智能电表安装有应用升级交互模块,所述应用升级交互模块是对电表应用进行更新升级管理的模块且运行在所述电能表管理单元软件***上;
所述方法包括:
在所述应用升级交互模块接收到主站形成的携带有待更新电表应用的更新参数的启动参数文件和应用镜像文件后,所述应用升级交互模块将所述启动参数文件和所述应用镜像文件存储至对应的地址中,所述应用升级交互模块将所述地址传递至所述动态装载器的文件地址获取函数,所述文件地址获取函数根据所述地址获取启动参数文件;其中,所述地址为所述启动参数文件在所述双芯智能电表中的存储路径;所述动态装载器调用FDT启动参数解析模块解析所述启动参数文件,得到所述待更新电表应用的应用镜像路径、内存资源配置参数、应用权限参数和主线程描述信息;
所述动态装载器基于所述应用镜像路径,加载所述待更新电表应用的应用镜像文件,并为所述待更新电表应用分配与所述应用权限参数对应的权限控制和与所述内存资源配置参数对应的内存资源;
所述动态装载器根据所述主线程描述信息创建所述待更新电表应用的主线程,以使所述主线程创建后实现相应子线程的创建,完成所述电能表管理单元软件***对所述待更新电表应用的动态装载,实现所述电能表管理单元软件***启动时对所述待更新电表应用的自行启动;
所述方法还包括:
在所述启动参数文件还包含多个待启动电表应用的应用镜像路径、内存资源配置参数、应用权限参数和主线程描述信息的情况下,所述动态装载器调用所述FDT启动参数解析模块遍历所述启动参数文件中各个待启动电表应用的应用节点,确定所述启动参数文件包括的电表应用的个数和电表应用的名称,并完成所述多个待启动电表应用的启动;
其中,在对所述多个待启动电表应用中其中一个待启动电表应用的启动过程中,所述动态装载器还执行如下步骤:将对应的应用节点名称作为所述其中一个待启动电表应用对应的待启动的进程名称,并读取“img_base”属性,获得所述其中一个待启动电表应用的代码执行位置;读取“img_size”属性,获得所述其中一个待启动电表应用的应用镜像文件的大小;读取“img_crc32”属性,获得所述其中一个待启动电表应用的应用镜像文件的校验码,以完成所述其中一个待启动电表应用的应用镜像文件的完整性校对;读取所述其中一个待启动电表应用的主线程描述参数,并根据所述主线程描述参数创建所述其中一个待启动电表应用的主线程,在所述其中一个待启动电表应用的主线程完成创建后,自动实现对应的子线程创建,完成所述其中一个待启动电表应用的创建过程。
2.根据权利要求1所述的方法,其特征在于,
所述方法还包括:
所述动态装载器调用所述FDT启动参数解析模块解析所述启动参数文件得到第一校验码;
所述加载所述待更新电表应用的应用镜像文件之后,所述方法还包括:
所述动态装载器将所述应用镜像文件输入至镜像文件校验函数,触发所述镜像文件校验函数对所述应用镜像文件进行校验并反馈第二校验码;
所述第一校验码与所述第二校验码不一致时,禁止所述电表应用的启动;
其中,所述镜像文件校验函数为CRC32校验函数。
3.根据权利要求1至2任一项所述的方法,其特征在于,所述主线程描述信息包括堆栈、优先级、时间片和进程通信参数。
4.一种双芯智能电表管理单元的动态装载装置,其特征在于,双芯智能电表的动态装载器是电能表管理单元软件***的内核层组件;所述双芯智能电表安装有应用升级交互模块,所述应用升级交互模块是对电表应用进行更新升级管理的模块且运行在所述电能表管理单元软件***上;
所述装置包括:
启动参数文件获取模块,用于在所述应用升级交互模块接收到主站形成的携带有待更新电表应用的更新参数的启动参数文件和应用镜像文件后,所述应用升级交互模块将所述启动参数文件和所述应用镜像文件存储至对应的地址中,所述应用升级交互模块将所述地址传递至所述动态装载器的文件地址获取函数,所述文件地址获取函数根据所述地址获取启动参数文件;其中,所述地址为所述启动参数文件在所述双芯智能电表中的存储路径;
FDT启动参数解析模块,被所述动态装载器调用以用于解析模块解析所述启动参数文件,得到所述待更新电表应用的应用镜像路径、内存资源配置参数、应用权限参数和主线程描述信息;
应用文件处理模块,用于所述动态装载器基于所述应用镜像路径,加载所述待更新电表应用的应用镜像文件,并为所述待更新电表应用分配与所述应用权限参数对应的权限控制和与所述内存资源配置参数对应的内存资源;
进程创建模块,用于所述动态装载器根据所述主线程描述信息创建所述待更新电表应用的主线程,以使所述主线程创建后实现相应子线程的创建,完成所述电能表管理单元软件***对所述待更新电表应用的动态装载,实现所述电能表管理单元软件***启动时对所述待更新电表应用的自行启动;
在所述启动参数文件还包含多个待启动电表应用的应用镜像路径、内存资源配置参数、应用权限参数和主线程描述信息的情况下,所述动态装载器调用所述FDT启动参数解析模块遍历所述启动参数文件中各个待启动电表应用的应用节点,确定所述启动参数文件包括的电表应用的个数和电表应用的名称,并完成所述多个待启动电表应用的启动;
其中,在对所述多个待启动电表应用中其中一个待启动电表应用的启动过程中,所述动态装载器还执行如下步骤:将对应的应用节点名称作为所述其中一个待启动电表应用对应的待启动的进程名称,并读取“img_base”属性,获得所述其中一个待启动电表应用的代码执行位置;读取“img_size”属性,获得所述其中一个待启动电表应用的应用镜像文件的大小;读取“img_crc32”属性,获得所述其中一个待启动电表应用的应用镜像文件的校验码,以完成所述其中一个待启动电表应用的应用镜像文件的完整性校对;读取所述其中一个待启动电表应用的主线程描述参数,并根据所述主线程描述参数创建所述其中一个待启动电表应用的主线程,在所述其中一个待启动电表应用的主线程完成创建后,自动实现对应的子线程创建,完成所述其中一个待启动电表应用的创建过程。
5.根据权利要求4所述的装置,其特征在于,所述FDT启动参数解析模块还用于解析所述启动参数文件得到第一校验码;
所述装置还包括镜像文件校验模块,用于将所述应用镜像文件输入至镜像文件校验函数,触发所述镜像文件校验函数对所述应用镜像文件进行校验并反馈第二校验码;所述第一校验码与所述第二校验码不一致时,禁止所述电表应用的启动;其中,所述镜像文件校验函数为CRC32校验函数。
6.根据权利要求4至5任一项所述的装置,其特征在于,所述主线程描述信息包括堆栈、优先级、时间片和进程通信参数。
7.一种双芯智能电表,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至3中任一项所述方法的步骤。
8.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至3中任一项所述的方法的步骤。
CN202010683392.1A 2020-07-16 2020-07-16 双芯智能电表管理单元的动态装载方法、动态装载装置 Active CN111562952B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010683392.1A CN111562952B (zh) 2020-07-16 2020-07-16 双芯智能电表管理单元的动态装载方法、动态装载装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010683392.1A CN111562952B (zh) 2020-07-16 2020-07-16 双芯智能电表管理单元的动态装载方法、动态装载装置

Publications (2)

Publication Number Publication Date
CN111562952A CN111562952A (zh) 2020-08-21
CN111562952B true CN111562952B (zh) 2021-03-16

Family

ID=72072859

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010683392.1A Active CN111562952B (zh) 2020-07-16 2020-07-16 双芯智能电表管理单元的动态装载方法、动态装载装置

Country Status (1)

Country Link
CN (1) CN111562952B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112346904A (zh) * 2020-10-20 2021-02-09 威胜集团有限公司 智能电表校验方法、装置、智能电表及存储介质
CN112988120B (zh) * 2021-03-12 2022-11-29 上海卫星工程研究所 Ada语言用卫星遥测下行调度参数动态在线装订方法及***

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102243593A (zh) * 2011-07-18 2011-11-16 深圳市科陆电子科技股份有限公司 一种基于VxWorks操作***下RTP应用程序启动的方法
CN102339254A (zh) * 2011-06-17 2012-02-01 杭州炬华科技股份有限公司 用于智能电能表的flash数据存储方法
CN103150189A (zh) * 2013-03-19 2013-06-12 青岛乾程电子科技有限公司 一种智能电能表参数的设置方法
CN104850439A (zh) * 2015-05-22 2015-08-19 上海斐讯数据通信技术有限公司 配置应用程序的方法及所适用的嵌入式设备
CN107346255A (zh) * 2017-05-18 2017-11-14 国网浙江省电力公司电力科学研究院 一种电能表***升级方法及电能表***
CN107368343A (zh) * 2017-08-21 2017-11-21 广州创维平面显示科技有限公司 一种基于安卓***的终端开机方法、终端及存储介质

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170039372A1 (en) * 2013-03-15 2017-02-09 Electro Industries/Gauge Tech Devices, systems and methods for upgrading firmware in intelligent electronic devices
CN108920868A (zh) * 2018-07-23 2018-11-30 国网江西省电力有限公司电力科学研究院 基于智能电表数据的负荷辨识模型参数修正方法
CN111343199B (zh) * 2020-04-28 2020-11-17 南方电网数字电网研究院有限公司 双芯智能电表的通信方法和***

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102339254A (zh) * 2011-06-17 2012-02-01 杭州炬华科技股份有限公司 用于智能电能表的flash数据存储方法
CN102243593A (zh) * 2011-07-18 2011-11-16 深圳市科陆电子科技股份有限公司 一种基于VxWorks操作***下RTP应用程序启动的方法
CN103150189A (zh) * 2013-03-19 2013-06-12 青岛乾程电子科技有限公司 一种智能电能表参数的设置方法
CN104850439A (zh) * 2015-05-22 2015-08-19 上海斐讯数据通信技术有限公司 配置应用程序的方法及所适用的嵌入式设备
CN107346255A (zh) * 2017-05-18 2017-11-14 国网浙江省电力公司电力科学研究院 一种电能表***升级方法及电能表***
CN107368343A (zh) * 2017-08-21 2017-11-21 广州创维平面显示科技有限公司 一种基于安卓***的终端开机方法、终端及存储介质

Also Published As

Publication number Publication date
CN111562952A (zh) 2020-08-21

Similar Documents

Publication Publication Date Title
US20160092248A1 (en) Hook framework
JP2021002317A (ja) アプリケーションをアップグレードするための方法、装置、デバイスならびに記憶媒体
CN110427258B (zh) 基于云平台的资源调度控制方法及装置
CN111562952B (zh) 双芯智能电表管理单元的动态装载方法、动态装载装置
CN111897570A (zh) 一种基于Maven插件的多依赖项文件提取方法及装置
CN110673923A (zh) Xwiki***配置方法、***及计算机设备
CN110569250B (zh) 一种物联网网元的解析库的管理方法及装置
CN112486459B (zh) 活动页面生成方法、装置、计算机设备和可读存储介质
CN110928777B (zh) 测试用例的处理方法、装置、设备及存储介质
CN107247665B (zh) 一种c接口函数的测试方法及***
CN111857777A (zh) 基于双芯智能电表的***更新方法、装置和计算机设备
CN115422063A (zh) 一种低代码接口自动化***、电子设备及存储介质
CN111831567B (zh) 应用的测试环境配置方法、装置、***和介质
CN115632944B (zh) 一种节点配置方法、装置、设备、可读存储介质及服务器
US20150186059A1 (en) Memory management program, memory management method, and memory management device
CN111290740B (zh) 应用程序的开发方法、装置、计算机设备和存储介质
CN116841885A (zh) 一种基于测试用例库的测试方法、装置及电子设备
CN113986539A (zh) 实现pod固定IP的方法、装置、电子设备和可读存储介质
CN113986679A (zh) 基于配置信息热加载的性能分析方法及装置
CN108073453B (zh) 分布式集群中cpu资源的调度方法以及装置
CN113031984B (zh) 双芯智能电表管理单元应用程序远程在线升级方法和装置
CN115794384A (zh) 代码编译任务分配方法、装置、设备及存储介质
CN112214213B (zh) Linux内核的开发和管理方法、装置、计算机设备和存储介质
CN114756293A (zh) 业务处理方法、装置、计算机设备和存储介质
CN115168840A (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
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: Room 1301, Chengtou building, No. 106, Fengze East Road, Nansha District, Guangzhou City, Guangdong Province

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

GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20230412

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.