CN112835638A - 一种基于嵌入式应用程序的配置信息管理方法及装置 - Google Patents

一种基于嵌入式应用程序的配置信息管理方法及装置 Download PDF

Info

Publication number
CN112835638A
CN112835638A CN202110121835.2A CN202110121835A CN112835638A CN 112835638 A CN112835638 A CN 112835638A CN 202110121835 A CN202110121835 A CN 202110121835A CN 112835638 A CN112835638 A CN 112835638A
Authority
CN
China
Prior art keywords
file
node
data
interface
base class
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
CN202110121835.2A
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.)
Guangzhou Zhiyuan Electronics Co Ltd
Original Assignee
Guangzhou Zhiyuan Electronics 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 Guangzhou Zhiyuan Electronics Co Ltd filed Critical Guangzhou Zhiyuan Electronics Co Ltd
Priority to CN202110121835.2A priority Critical patent/CN112835638A/zh
Publication of CN112835638A publication Critical patent/CN112835638A/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/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/16File or folder operations, e.g. details of user interfaces specifically adapted to file systems
    • G06F16/162Delete operations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/172Caching, prefetching or hoarding of files

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Human Computer Interaction (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请实施例公开了一种基于嵌入式应用程序的配置信息管理方法及装置。本申请实施例提供的技术方案包括生成用于指示文件索引路径信息的文件名基类,并分配给所述文件名基类配置接口,以通过所述配置接口调取文件,并形成该文件的配置信息。通过提供树状结构的文件名基类,树状结构中每一个节点作为数据索引路径,将调取到的文件按照文件名基类的格式进行配置,实现统一的数据操作接口,通过树状结构的文件名基类实现整个文件数据信息的索引,便于用户对文件配置信息的操作,后续文件的维护和管理更加便利。

Description

一种基于嵌入式应用程序的配置信息管理方法及装置
技术领域
本申请实施例涉及计算机运维技术领域,尤其涉及一种基于嵌入式应用程序的配置信息管理方法、装置、设备及存储介质。
背景技术
在嵌入式应用程序开发中,通常存在一些配置信息需要保持在非易失性存储器(如EEPROM、NAND FLASH、NOR FLASH、SD卡、硬盘……)中,以确保这些配置数据掉电不丢失。针对例如温度控制这种配置数据量较少的应用(比如简单的温度控制器,可能只存在三个配置项:设定的目标温度值、温度上限值和温度下限值),通常直接将数据以存储器(如EEPROM)的偏移地址作为索引进行保存,如图1所示。根据图1可知,用户需要获取配置信息时,直接读取相应偏移地址的信息即可。这种方式相当于直接操作具体的硬件设备(在指定地址存放特定的数据),不需要额外的软件来对配置数据进行管理,资源消耗极低。但是,在嵌入式开发中,随着应用程序复杂度提升,需要配置的数据量也随之增加。显然,大量数据通过存储器的偏移地址进行保存时,用户需要记录大量数据信息和数据存储的地址,无法直观的获取,不易管理。此外,地址和信息的对应关系在开发初期就应确定(地址与存储信息的对应关系是静态的),如果配置项需要动态增删,就十分繁琐。
为了管理大量的配置信息,常见的技术主要有两种。一种是基于文件系统,将配置信息存储在文件中。以文件的形式管理配置信息是应用得最为广泛的,针对配置信息的不同结构,还提出了不同的文件格式,比如:ini、json、xml等等。
使用文件系统,可以直接把数据名称和数据信息都存储在文件中,用户直接读取文件进行解析即可。不同于以偏移地址存储,文件存储直观的表示数据和数据名称的对应关系,非常方便管理。例如,使用JSON文件存储配置信息:
Figure BDA0002922373690000021
使用文件系统存储数据确实带来了极大的便利,但其也存在两个主要的缺点:一是文件系统种类较多(比如FAT、LFFS、NTFS、YaFFS……),在使用文件系统前,需要选用合适的文件系统进行适配;二是存储数据时需要选用一种特定的格式(比如JSON、INI、XML……),要添加相应格式的解析代码。这无疑增加了开发难度。此外,文件系统本身以及文件格式的解析,都需要耗费一定的资源,限制了其并不能应用于资源极小的嵌入式平台。
对于一些更复杂的应用,还可以使用数据库对配置信息进行管理。数据库统一了数据访问接口,按照统一的数据结构来组织、存储和管理数据。每个数据库都有一个或多个不同的API用于创建、访问、管理、搜索和复制所保存的数据。目前,常用的数据库有MySQL、SQL Server、SQLite、Access、Qracle等。但是,由于数据库运行时,大量数据保存在内存中,会占用大量的硬件资源。即使是适用于嵌入式应用的轻量级数据库SQLite,也会占用上百KB的内存。此外,使用数据库API必须熟悉其特定的语法规则(如SQL),增加了用户上手的难度,有较高的学习成本。
因此,上述两种配置信息的管理方式资源消耗都比较大,只适用于高资源平台,对于一些低资源平台(如Cortex-M0@48MHz,8KRAM 32K FLASH))并不适合。
发明内容
本申请实施例提供一种基于嵌入式应用程序的配置信息管理方法、装置、计算机设备及存储介质,以实现统一接口的树形结构管理应用程序配置信息,占用内长小、易于维护。
在第一方面,本申请实施例提供了一种基于嵌入式应用程序的配置信息管理方法,包括:
生成用于指示文件索引路径信息的文件名基类,所述文件名基类为包含一个主节点以及至少一级子节点的树状结构,所述树状结构的主节点和全部子节点构成每一份文件的数据信息,且每一个子节点用于指示当前子节点对应的数据索引路径;树状结构中的全部数据索引路径构成所述文件索引路径信息;
分配给所述文件名基类配置接口,以通过所述配置接口调取文件,并形成该文件的配置信息;所述配置接口用于提供保存或读取配置信息所对应的文件的接口,该配置接口包括读取接口和保存接口。
进一步的,所述文件名基类的树状结构由多个节点基类构成,一个节点基类对应一个节点,每一个所述节点基类包括当前节点名称、当前节点的值、上一个节点的节点信息和下一个节点的节点信息,所述节点为主节点或子节点。
进一步的,所述数据信息包含不同的数据属性和数据类型,基于所述数据属性和数据类型分别生成不同的关键字,不同的关键字之间具有不同的层级;
其中,构成每一个所述文件名基类的树状结构中的子节点分别由数据信息中不同的关键字形成,且当前子节点的关键字的层级高于下一级子节点的关键字的层级。
进一步的,分配给所述文件名基类配置接口,以通过所述配置接口调取文件,并形成该文件的配置信息,包括:
分配给所述文件名基类配置接口;
通过所述配置接口调取文件,并解析文件以获得文件的数据信息;
获取数据信息对应的关键字,依据关键字的层级将关键字以及该关键字对应的值配置在文件名基类的不同子节点,形成该文件的配置信息,所述配置信息包含有统一操作接口。
进一步的,依据关键字的层级将关键字以及该关键字对应的值配置在文件名基类的不同子节点,包括:
依据关键字的层级,选定当前的关键字所对应的文件名基类中的子节点;
获取当前的关键字所对应的上一个层级的全部关键字;
将上一个层级的全部关键字和当前的关键字配置在文件名基类的选定的子节点上;
当当前的关键字包含有值时,将该关键字的值配置在选定的子节点上。
进一步的,同一个子节点上所配置的不同关键字之间,根据关键字的层级的高低顺序排列,且相邻的两个不同层级的关键字之间通过标识符划分。
进一步的,还包括:
接收用户基于所述配置信息以及配置信息的统一操作接口对文件的操作,所述操作包括查询、设置和删除,所述统一操作接口包括统一查询接口、统一设置接口和统一删除接口。
在第二方面,本申请实施例提供了一种基于嵌入式应用程序的配置信息管理装置,包括:
基类生成模块:用于生成用于指示文件索引路径信息的文件名基类,所述文件名基类为包含一个主节点以及至少一级子节点的树状结构,所述树状结构的主节点和全部子节点构成每一份文件的数据信息,且每一个子节点用于指示当前子节点对应的数据索引路径;树状结构中的全部数据索引路径构成所述文件索引路径信息;
信息配置模块:用于分配给所述文件名基类配置接口,以通过所述配置接口调取文件,并形成该文件的配置信息;所述配置接口用于提供保存或读取配置信息所对应的文件的接口,该配置接口包括读取接口和保存接口。
进一步的,所述文件名基类的树状结构由多个节点基类构成,一个节点基类对应一个节点,每一个所述节点基类包括当前节点名称、当前节点的值、上一个节点的节点信息和下一个节点的节点信息,所述节点为主节点或子节点。
进一步的,所述数据信息包含不同的数据属性和数据类型,基于所述数据属性和数据类型分别生成不同的关键字,不同的关键字之间具有不同的层级;
其中,构成每一个所述文件名基类的树状结构中的子节点分别由数据信息中不同的关键字形成,且当前子节点的关键字的层级高于下一级子节点的关键字的层级。
进一步的,分配给所述文件名基类配置接口,以通过所述配置接口调取文件,并形成该文件的配置信息,包括:
分配给所述文件名基类配置接口;
通过所述配置接口调取文件,并解析文件以获得文件的数据信息;
获取数据信息对应的关键字,依据关键字的层级将关键字以及该关键字对应的值配置在文件名基类的不同子节点,形成该文件的配置信息,所述配置信息包含有统一操作接口。
进一步的,依据关键字的层级将关键字以及该关键字对应的值配置在文件名基类的不同子节点,包括:
依据关键字的层级,选定当前的关键字所对应的文件名基类中的子节点;
获取当前的关键字所对应的上一个层级的全部关键字;
将上一个层级的全部关键字和当前的关键字配置在文件名基类的选定的子节点上;
当当前的关键字包含有值时,将该关键字的值配置在选定的子节点上。
进一步的,同一个子节点上所配置的不同关键字之间,根据关键字的层级的高低顺序排列,且相邻的两个不同层级的关键字之间通过标识符划分。
进一步的,还包括:
用户操作模块:用于接收用户基于所述配置信息以及配置信息的统一操作接口对文件的操作,所述操作包括查询、设置和删除,所述统一操作接口包括统一查询接口、统一设置接口和统一删除接口。
在第三方面,本申请实施例提供了一种计算机设备,包括:存储器以及一个或多个处理器;
所述存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如第一方面所述的基于嵌入式应用程序的配置信息管理方法。
在第四方面,本申请实施例提供了一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行如第一方面所述的基于嵌入式应用程序的配置信息管理方法。
本申请实施例通过提供树状结构的文件名基类,树状结构中每一个节点作为数据索引路径,将调取到的文件按照文件名基类的格式进行配置,实现统一的数据操作接口,通过树状结构的文件名基类实现整个文件数据信息的索引,便于用户对文件配置信息的操作,后续文件的维护和管理更加便利。
附图说明
图1是本申请实施例提供的一种基于嵌入式应用程序的配置信息管理方法的流程图;
图2是本申请实施例提供的另一种基于嵌入式应用程序的配置信息管理方法的流程图;
图3是本申请实施例提供的另一种基于嵌入式应用程序的配置信息管理方法的流程图;
图4是本申请实施例提供的一种基于嵌入式应用程序的配置信息管理装置的结构示意图;
图5是本申请实施例提供的另一种基于嵌入式应用程序的配置信息管理装置的结构示意图;
图6是本申请实施例提供的一种计算机设备的结构示意图。
具体实施方式
为了使本申请的目的、技术方案和优点更加清楚,下面结合附图对本申请具体实施例作进一步的详细描述。可以理解的是,此处所描述的具体实施例仅仅用于解释本申请,而非对本申请的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本申请相关的部分而非全部内容。在更加详细地讨论示例性实施例之前应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各项操作(或步骤)描述成顺序的处理,但是其中的许多操作可以被并行地、并发地或者同时实施。此外,各项操作的顺序可以被重新安排。当其操作完成时所述处理可以被终止,但是还可以具有未包括在附图中的附加步骤。所述处理可以对应于方法、函数、规程、子例程、子程序等等。
本申请实施例提供了一种基于嵌入式应用程序的配置信息管理方法、装置、计算机设备及存储介质。本申请实施例通过提供树状结构的文件名基类,树状结构中每一个节点作为数据索引路径,将调取到的文件按照文件名基类的格式进行配置,实现统一的数据操作接口,通过树状结构的文件名基类实现整个文件数据信息的索引,便于用户对文件配置信息的操作,后续文件的维护和管理更加便利。
下面分别进行详细说明。
图1给出了本申请实施例提供的一种基于嵌入式应用程序的配置信息管理方法的流程图,本申请实施例提供的基于嵌入式应用程序的配置信息管理方法可以由基于嵌入式应用程序的配置信息管理装置来执行,该基于嵌入式应用程序的配置信息管理装置可以通过硬件和/或软件的方式实现,并集成在计算机设备中。
下述以基于嵌入式应用程序的配置信息管理装置执行基于嵌入式应用程序的配置信息管理方法为例进行描述。参考图1,该基于嵌入式应用程序的配置信息管理方法包括:
101:生成用于指示文件索引路径信息的文件名基类。
文件名基类在本申请实施例中是用于提供给文件形成配置信息的模板框架,通常采用固定的结构形式。通过该文件名基类,可以获知到文件中数据信息的索引路径,通过索引路径可以容易的获取到数据信息以及其对应的值。
由于目前数据以存储器中的偏移地址读写数据时,用户需要记录数据的偏移地址和数据的长度。在管理数据过多时,数据的偏移地址和长度信息的记录过于繁琐,难以维护。需要一个统一的接口,使得用户不用关心次要信息(数据长度和数据偏移地址)来完成对数据的管理。同时,针对文件系统和文件格式种类多样性,需要统一的读写数据接口,方便应用程序在不同的平台上进行扩展,使得用户无需关心存储信息的格式和存储介质。基于此,本实施例通过使数据信息和文件名称直接映射,统一数据的访问接口。
本实施例中,文件名基类为树状结构。树状结构包括多个节点,其中包含一个主节点以及至少一级子节点。主节点也即是根节点,每一级子节点只是包括一个子节点。每一个节点都保存了上一级节点和其下一级节点的相关信息。例如一个文件名基类的树状结构包括根节点R和两级子节点,第一级子节点包括子节点A和子节点B,子节点A和子节点B的父节点都是根节点。其中,子节点A的下一级子节点包括子节点a1和子节点a2,子节点B的下一级子节点包括子节点b1,那么子节点a1、子节点a2和子节点b1都属于第二级子节点。例如在子节点A上,则包含了根节点以及子节点a1和子节点a2的相关信息,在子节点B上,则包含了根节点以及子节点b1的相关信息。
其中,树状结构的主节点和全部子节点构成每一份文件的数据信息,且每一个子节点用于指示当前子节点对应的数据索引路径;树状结构中的全部数据索引路径构成所述文件索引路径信息。
结合上述举例,树状结构中的根节点R、子节点A、子节点B、子节点a1、子节点a2和子节点b1中,每一个节点分别对应不同的数据信息,而这些节点组合的树状结构对应于整份文件,因此这些节点的数据信息全部一起则构成了一份文件的数据信息。又例如文件的数据信息包括用户数据、系统数据,其中用户数据又包括目标温度,系统数据包括时间,那么在树状结构中则包含了上述数据信息,用户数据和系统数据为同级数据,目标温度为用户数据的下属数据,表示目标温度在用户数据这一类,时间为系统数据的下属数据。则形成树状结构包括根节点、第一级子节点用户数据和系统数据,用户数据的第二级子节点目标温度,系统数据的第二级子节点时间。当用户要找寻目标温度时,根据“目标温度”则可以定位待该对应的子节点,也即是可以获知到目标温度的数据索引路径为“根节点-用户数据-目标数据”。文件的数据信息包括用户数据、系统数据,其中用户数据又包括目标温度,系统数据包括时间这种情况为例,则整文件索引路径信息包括“根节点-用户数据-目标数据”、“根节点-系统数据-时间”这两条数据索引路径。
作为优选的实施方式,本申请实施例中所述文件名基类的树状结构由多个节点基类构成,一个节点基类对应一个节点,每一个所述节点基类包括当前节点名称、当前节点的值、上一个节点的节点信息和下一个节点的节点信息,所述节点为主节点或子节点。
本申请中,节点基类代码为conf_node_t,节点基类包括“+next,+parent,-name,-value”,其中,next定义为当前节点的下一个节点的节点信息,parent定义了当前节点的上一个节点的节点信息,next和parent都可以用于在查询文件的数据信息时提供同级节点的路径信息。name定义了当前节点的路径想信息,name也是该节点数据名称的一部分,value表示当前节点存储的值。例如目标温度为30摄氏度,则30摄氏度为对应节点的值。通过查找用户数据节点的子节点信息匹配到目标数据时,最终获取位于目标数据节点存储的数据。
通过节点基类建立完整的文件树,也即是文件名基类。该文件名基类代码为conf_doc_t,文件名基类中,包含“+root和-node_index”,其中root为根节点指针,用于提供整个文件树的节点信息,node_index记录当前节点在树中的位置,通过索引和根节点指针可得出对应节点的数据。只要在接口中提供文件名基类conf_doc_t,就可以获取所有节点的相关信息。
102:分配给所述文件名基类配置接口,以通过所述配置接口调取文件,并形成该文件的配置信息;所述配置接口用于提供保存或读取配置信息所对应的文件的接口,该配置接口包括读取接口和保存接口。
当设置好文件名基类,还需要读取和保存位于存储器中的数据信息,需要在文件名基类conf_doc_t添加数据的读取和保存配置的接口。定义为conf_obj_t,该conf_obj_t包括“-doc,-save(),-load()”,其中doc继承于conf_doc_t类,用于提供整个文件树的信息,save()抽象方法提供保存文件接口,load()抽象方法提供读取文件接口。根据文件格式和存储器介质的不同,save()和load()可由用户自行实现。
分配给文件名基类配置接口之后,则可以通过该配置接口从存储器中调取文件和解析文件,并按照文件名基类的格式将文件的数据信息形成文件的配置信息,该配置信息也即是树状结构,包括多个节点,便于后续数据索引。形成配置信息以及后续针对配置进行操作之后,通过统一的配置接口可以将配置信息保存在存储器中。
作为进一步优选的实施方式,本申请中,所述数据信息包含不同的数据属性和数据类型,基于所述数据属性和数据类型分别生成不同的关键字,不同的关键字之间具有不同的层级。
例如文件的数据信息包括如下:
Figure BDA0002922373690000091
Figure BDA0002922373690000101
也即是,该数据信息包括有目标温度,上限温度,下限温度和日期,其中目标温度,上限温度,下限温度对应用户数据“user”,日期对应系统数据“system”,用户数据和系统数据属于不同的数据类型,目标温度、上限温度等在本实施例中定义为不同的数据属性,对应于不同情况、不同功能等的数据值。在上述举例中,基于用户数据、系统数据、目标温度,上限温度,下限温度和日期分别生成关键字,本实施例中采用数据名称作为关键字,也即是关键字为“用户数据”、“系统数据”、“目标温度”、“上限温度”、“下限温度”和“日期”。不同的关键字之间对应有不同的层级,例如用户数据和系统数据的层级相同,在树状结构中对应同一级子节点。又如目标数据、上限数据、下限数据和日子都是层级相同,在树状结构中对应同一级子节点,而系统数据和日期则层级不同,系统数据的层级高于日期的层级,两者位于树状结构中不同级的子节点,并且系统数据的子节点是日期的上一级子节点。
在本申请实施例中,构成每一个所述文件名基类的树状结构中的子节点分别由数据信息中不同的关键字形成,且当前子节点的关键字的层级高于下一级子节点的关键字的层级。也即是,例如用户数据对应的子节点通过关键字“用户数据”构成,而目标温度对应的子节点通过关键字“用户数据、目标温度”构成。针对每一个子节点的关键字,则很容易匹配到数据的索引路径,从根节点开始,首先匹配用户数据或者系统数据,匹配到用户数据之后匹配目标数据,则可以获取目标数据的值。
本实施例中,同一个子节点上所配置的不同关键字之间,根据关键字的层级的高低顺序排列,且相邻的两个不同层级的关键字之间通过标识符划分。
也即是例如目标数据对应的子节点中,其关键字为既包括了用户数据,也包括了目标数据,未进行划分之前,形成的关键字为“用户数据目标数据”,这种情况下关键字并不明朗,给用户在索引数据信息时造成一定障碍,因此在用户数据和目标数据这两个关键字之间通过标识符进行划分,使得多个关键字之间有分隔标识,使得更加清楚数据索引路径走向。标识符例如是固定的某一个数字、空格符、固定的某一个字母、符号等,例如标识符可以为圆点“.”,则目标数据对应的子节点的关键字为“用户数据.目标数据”。
如图2所示,本申请实施例提供另外一种基于嵌入式应用程序的配置信息管理方法,包括:
201:生成用于指示文件索引路径信息的文件名基类。同样的,所述文件名基类为包含一个主节点以及至少一级子节点的树状结构,所述树状结构的主节点和全部子节点构成每一份文件的数据信息,且每一个子节点用于指示当前子节点对应的数据索引路径;树状结构中的全部数据索引路径构成所述文件索引路径信息。
本实施例中,文件名基类代码为conf_doc_t,树状结构中每一个节点具体节点基类,节点基类代码为conf_node_t。
202:分配给所述文件名基类配置接口。
通过提供给文件名基类配置接口,可以从存储文件的存储器中调取文件,从而获取文件信息,形成文件的配置信息。
为了使得用户不用关注存储格式和介质,本申请支持各种文件或者存储格式,如json、ubjson、ini、nvram等。在文件名基类conf_doc_t上添加接口后定义为conf_obj_t,其中根据不同的文件格式,-save()具体可以包括不同的形式,例如对于与json格式,则为-conf_json_save(),而对应于ini格式,则为-conf_ini_save()。在conf_obj_t文件中,实现了各种格式的save()和load()抽象方法。其中load()主要作用是读取文件信息,根据数据格式不同进行数据解析,生成对应的节点和树,存储在doc对象中,提供给用户直接从内存中获取。save()方法在用户调用接口需要改变配置信息时,把发生变动的节点信息从doc对象中解析后导入文件或存储器中。在应用程序管理数据过程中,用户不用关心具体文件格式或存储介质的解析,只需要调用相应的抽象方法即可。
203:通过所述配置接口调取文件,并解析文件以获得文件的数据信息。
204:获取数据信息对应的关键字,依据关键字的层级将关键字以及该关键字对应的值配置在文件名基类的不同子节点,形成该文件的配置信息,所述配置信息包含有统一操作接口。
解析完数据信息之后,通过数据信息对应的关键字形成该文件在文件名基类的配置信息。
在本步骤中,进一步的,依据关键字的层级将关键字以及该关键字对应的值配置在文件名基类的不同子节点,包括:依据关键字的层级,选定当前的关键字所对应的文件名基类中的子节点;获取当前的关键字所对应的上一个层级的全部关键字;将上一个层级的全部关键字和当前的关键字配置在文件名基类的选定的子节点上;当当前的关键字包含有值时,将该关键字的值配置在选定的子节点上。
例如数据信息包括用户数据、系统数据,其中用户数据又包括目标温度,系统数据包括时间,目标温度的层级低于用户数据的层级,则目标温度的子节点是用户数据的下一级子节点,同样的,时间的层级低于系统数据的层级,时间的子节点是系统数据的下一级子节点。对应于该数据信息形成的文件树包括根节点、第一级子节点和第二级子节点,第一级子节点为用户数据和系统数据,第二级子节点为目标温度和时间。要形成目标温度对应的第二级子节点的关键字时,获取目标温度的上一级子节点的关键字,也即是用户数据,因此目标温度对应的关键字为“用户数据、目标温度”。
如图3所示,本申请实施例还另外一种基于嵌入式应用程序的配置信息管理方法,包括:
301:生成用于指示文件索引路径信息的文件名基类。同样的,所述文件名基类为包含一个主节点以及至少一级子节点的树状结构,所述树状结构的主节点和全部子节点构成每一份文件的数据信息,且每一个子节点用于指示当前子节点对应的数据索引路径;树状结构中的全部数据索引路径构成所述文件索引路径信息。
302:分配给所述文件名基类配置接口,以通过所述配置接口调取文件,并形成该文件的配置信息;所述配置接口用于提供保存或读取配置信息所对应的文件的接口,该配置接口包括读取接口和保存接口。
303:接收用户基于所述配置信息以及配置信息的统一操作接口对文件的操作,所述操作包括查询、设置和删除,所述统一操作接口包括统一查询接口、统一设置接口和统一删除接口。
在本申请实施例中,通过设置了文件名基类,并且基于文件名基类形成文件的配置信息之后,用户需要对文件进行操作时,通过配置信息的统一接口直接进行相关读写操作即可。操作完成后,也通过统一配置接口将操作后的配置信息存储到存储器中。例如设置统一查询接口的代码为app_conf_get(key,value),其中,key为关键字,也即是节点在文件树中的路径,value为待设置或者获取的值。又如设置统一设置接口代码为app_conf_set(key,value);设置在本实施例中是包括增加、修改。再如设置统一删除接口代码为app_conf_remove(key)。用户需要对配置信息进行读写操作时,分别输入上述预先设置的代码即可。例如用户需要对某一个文件增加新的配置信息时,通过设置指定路径名称,树形结构中创建增加节点信息,并通过save()保存到存储器中。又如要删除配置信息时,根据树状结构的特征,删除节点时通过上一个子节点断开与下一个子节点之间的连接,并销毁响应子节点即可。而对应于修改配置信息时,当查找到指定节点信息时,把传入参数设置到节点的value参数上。查询配置信息与修改配置信息同理,也是在文件树中查找到指定节点信息。
本申请通过简化数据查询接口,使得文件易于维护,并且占用内存小,节省硬件资源。通过统一接口,使用户不用关注存储格式和存储介质,支持多种文件格式。
如图4所示,本申请实施例提供一种基于嵌入式应用程序的配置信息管理装置,包括基类生成模块401和信息配置模块402。基类生成模块401用于生成用于指示文件索引路径信息的文件名基类,所述文件名基类为包含一个主节点以及至少一级子节点的树状结构,所述树状结构的主节点和全部子节点构成每一份文件的数据信息,且每一个子节点用于指示当前子节点对应的数据索引路径;树状结构中的全部数据索引路径构成所述文件索引路径信息。信息配置模块402用于分配给所述文件名基类配置接口,以通过所述配置接口调取文件,并形成该文件的配置信息;所述配置接口用于提供保存或读取配置信息所对应的文件的接口,该配置接口包括读取接口和保存接口。
本实施例中,所述文件名基类的树状结构由多个节点基类构成,一个节点基类对应一个节点,每一个所述节点基类包括当前节点名称、当前节点的值、上一个节点的节点信息和下一个节点的节点信息,所述节点为主节点或子节点。
进一步优选的,所述数据信息包含不同的数据属性和数据类型,基于所述数据属性和数据类型分别生成不同的关键字,不同的关键字之间具有不同的层级;
其中,构成每一个所述文件名基类的树状结构中的子节点分别由数据信息中不同的关键字形成,且当前子节点的关键字的层级高于下一级子节点的关键字的层级。
在信息配置模块402中,分配给所述文件名基类配置接口,以通过所述配置接口调取文件,并形成该文件的配置信息,包括:分配给所述文件名基类配置接口;通过所述配置接口调取文件,并解析文件以获得文件的数据信息;获取数据信息对应的关键字,依据关键字的层级将关键字以及该关键字对应的值配置在文件名基类的不同子节点,形成该文件的配置信息,所述配置信息包含有统一操作接口。
作为进一步优选的实施方式,依据关键字的层级将关键字以及该关键字对应的值配置在文件名基类的不同子节点,包括:依据关键字的层级,选定当前的关键字所对应的文件名基类中的子节点;获取当前的关键字所对应的上一个层级的全部关键字;将上一个层级的全部关键字和当前的关键字配置在文件名基类的选定的子节点上;当当前的关键字包含有值时,将该关键字的值配置在选定的子节点上。
本申请实施例中,同一个子节点上所配置的不同关键字之间,根据关键字的层级的高低顺序排列,且相邻的两个不同层级的关键字之间通过标识符划分。
如图5所示,本申请实施例还提供另一种基于嵌入式应用程序的配置信息管理装置,包括基类生成模块501、信息配置模块502和用户操作模块503。基类生成模块501用于生成用于指示文件索引路径信息的文件名基类,所述文件名基类为包含一个主节点以及至少一级子节点的树状结构,所述树状结构的主节点和全部子节点构成每一份文件的数据信息,且每一个子节点用于指示当前子节点对应的数据索引路径;树状结构中的全部数据索引路径构成所述文件索引路径信息。信息配置模块502用于分配给所述文件名基类配置接口,以通过所述配置接口调取文件,并形成该文件的配置信息;所述配置接口用于提供保存或读取配置信息所对应的文件的接口,该配置接口包括读取接口和保存接口。用户操作模块503用于接收用户基于所述配置信息以及配置信息的统一操作接口对文件的操作,所述操作包括查询、设置和删除,所述统一操作接口包括统一查询接口、统一设置接口和统一删除接口。
如图6所示,本申请实施例还提供一种计算机设备,包括:存储器601以及一个或多个处理器602;所述存储器601,用于存储一个或多个程序;当所述一个或多个程序被所述一个或多个处理器602执行,使得所述一个或多个处理器实现如本申请所述的基于嵌入式应用程序的配置信息管理方法。
本申请实施例还提供一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行如上述实施例提供的基于嵌入式应用程序的配置信息管理方法,该基于嵌入式应用程序的配置信息管理方法包括:生成用于指示文件索引路径信息的文件名基类,所述文件名基类为包含一个主节点以及至少一级子节点的树状结构,所述树状结构的主节点和全部子节点构成每一份文件的数据信息,且每一个子节点用于指示当前子节点对应的数据索引路径;树状结构中的全部数据索引路径构成所述文件索引路径信息;分配给所述文件名基类配置接口,以通过所述配置接口调取文件,并形成该文件的配置信息;所述配置接口用于提供保存或读取配置信息所对应的文件的接口,该配置接口包括读取接口和保存接口。
存储介质——任何的各种类型的存储器设备或存储设备。术语“存储介质”旨在包括:安装介质,例如CD-ROM、软盘或磁带装置;计算机系统存储器或随机存取存储器,诸如DRAM、DDR RAM、SRAM、EDO RAM,兰巴斯(Rambus)RAM等;非易失性存储器,诸如闪存、磁介质(例如硬盘或光存储);寄存器或其它相似类型的存储器元件等。存储介质可以还包括其它类型的存储器或其组合。另外,存储介质可以位于程序在其中被执行的第一计算机系统中,或者可以位于不同的第二计算机系统中,第二计算机系统通过网络(诸如因特网)连接到第一计算机系统。第二计算机系统可以提供程序指令给第一计算机用于执行。术语“存储介质”可以包括可以驻留在不同位置中(例如在通过网络连接的不同计算机系统中)的两个或更多存储介质。存储介质可以存储可由一个或多个处理器执行的程序指令(例如具体实现为计算机程序)。
当然,本申请实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上所述的基于嵌入式应用程序的配置信息管理方法,还可以执行本申请任意实施例所提供的基于嵌入式应用程序的配置信息管理方法中的相关操作。
上述实施例中提供的基于嵌入式应用程序的配置信息管理装置、设备及存储介质可执行本申请任意实施例所提供的基于嵌入式应用程序的配置信息管理方法,未在上述实施例中详尽描述的技术细节,可参见本申请任意实施例所提供的基于嵌入式应用程序的配置信息管理方法。
上述仅为本申请的较佳实施例及所运用的技术原理。本申请不限于这里所述的特定实施例,对本领域技术人员来说能够进行的各种明显变化、重新调整及替代均不会脱离本申请的保护范围。因此,虽然通过以上实施例对本申请进行了较为详细的说明,但是本申请不仅仅限于以上实施例,在不脱离本申请构思的情况下,还可以包括更多其他等效实施例,而本申请的范围由权利要求的范围决定。

Claims (10)

1.一种基于嵌入式应用程序的配置信息管理方法,其特征在于,包括:
生成用于指示文件索引路径信息的文件名基类,所述文件名基类为包含一个主节点以及至少一级子节点的树状结构,所述树状结构的主节点和全部子节点构成每一份文件的数据信息,且每一个子节点用于指示当前子节点对应的数据索引路径;树状结构中的全部数据索引路径构成所述文件索引路径信息;
分配给所述文件名基类配置接口,以通过所述配置接口调取文件,并形成该文件的配置信息;所述配置接口用于提供保存或读取配置信息所对应的文件的接口,该配置接口包括读取接口和保存接口。
2.根据权利要求1所述的配置信息管理方法,其特征在于,所述文件名基类的树状结构由多个节点基类构成,一个节点基类对应一个节点,每一个所述节点基类包括当前节点名称、当前节点的值、上一个节点的节点信息和下一个节点的节点信息,所述节点为主节点或子节点。
3.根据权利要求1所述的配置信息管理方法,其特征在于,所述数据信息包含不同的数据属性和数据类型,基于所述数据属性和数据类型分别生成不同的关键字,不同的关键字之间具有不同的层级;
其中,构成每一个所述文件名基类的树状结构中的子节点分别由数据信息中不同的关键字形成,且当前子节点的关键字的层级高于下一级子节点的关键字的层级。
4.根据权利要求3所述的配置信息管理方法,其特征在于,分配给所述文件名基类配置接口,以通过所述配置接口调取文件,并形成该文件的配置信息,包括:
分配给所述文件名基类配置接口;
通过所述配置接口调取文件,并解析文件以获得文件的数据信息;
获取数据信息对应的关键字,依据关键字的层级将关键字以及该关键字对应的值配置在文件名基类的不同子节点,形成该文件的配置信息,所述配置信息包含有统一操作接口。
5.根据权利要求4所述的配置信息管理方法,其特征在于,依据关键字的层级将关键字以及该关键字对应的值配置在文件名基类的不同子节点,包括:
依据关键字的层级,选定当前的关键字所对应的文件名基类中的子节点;
获取当前的关键字所对应的上一个层级的全部关键字;
将上一个层级的全部关键字和当前的关键字配置在文件名基类的选定的子节点上;
当当前的关键字包含有值时,将该关键字的值配置在选定的子节点上。
6.根据权利要求5所述的配置信息管理方法,其特征在于,同一个子节点上所配置的不同关键字之间,根据关键字的层级的高低顺序排列,且相邻的两个不同层级的关键字之间通过标识符划分。
7.根据权利要求4所述的配置信息管理方法,其特征在于,还包括:
接收用户基于所述配置信息以及配置信息的统一操作接口对文件的操作,所述操作包括查询、设置和删除,所述统一操作接口包括统一查询接口、统一设置接口和统一删除接口。
8.一种基于嵌入式应用程序的配置信息管理装置,其特征在于,包括:
基类生成模块:用于生成用于指示文件索引路径信息的文件名基类,所述文件名基类为包含一个主节点以及至少一级子节点的树状结构,所述树状结构的主节点和全部子节点构成每一份文件的数据信息,且每一个子节点用于指示当前子节点对应的数据索引路径;树状结构中的全部数据索引路径构成所述文件索引路径信息;
信息配置模块:用于分配给所述文件名基类配置接口,以通过所述配置接口调取文件,并形成该文件的配置信息;所述配置接口用于提供保存或读取配置信息所对应的文件的接口,该配置接口包括读取接口和保存接口。
9.一种计算机设备,其特征在于,包括:存储器以及一个或多个处理器;
所述存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-7任一所述的基于嵌入式应用程序的基于嵌入式应用程序的配置信息管理方法。
10.一种包含计算机可执行指令的存储介质,其特征在于,所述计算机可执行指令在由计算机处理器执行时用于执行如权利要求1-7任一所述的基于嵌入式应用程序的配置信息管理方法。
CN202110121835.2A 2021-01-28 2021-01-28 一种基于嵌入式应用程序的配置信息管理方法及装置 Pending CN112835638A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110121835.2A CN112835638A (zh) 2021-01-28 2021-01-28 一种基于嵌入式应用程序的配置信息管理方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110121835.2A CN112835638A (zh) 2021-01-28 2021-01-28 一种基于嵌入式应用程序的配置信息管理方法及装置

Publications (1)

Publication Number Publication Date
CN112835638A true CN112835638A (zh) 2021-05-25

Family

ID=75932319

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110121835.2A Pending CN112835638A (zh) 2021-01-28 2021-01-28 一种基于嵌入式应用程序的配置信息管理方法及装置

Country Status (1)

Country Link
CN (1) CN112835638A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113656438A (zh) * 2021-08-06 2021-11-16 北京数码大方科技股份有限公司 数据树的数据查询方法及装置
CN114528337A (zh) * 2022-01-12 2022-05-24 南湖实验室 面向多源异构数据源的接口系统、通用接口及其实现方法

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113656438A (zh) * 2021-08-06 2021-11-16 北京数码大方科技股份有限公司 数据树的数据查询方法及装置
CN113656438B (zh) * 2021-08-06 2023-12-12 北京数码大方科技股份有限公司 数据树的数据查询方法及装置
CN114528337A (zh) * 2022-01-12 2022-05-24 南湖实验室 面向多源异构数据源的接口系统、通用接口及其实现方法
CN114528337B (zh) * 2022-01-12 2024-03-15 南湖实验室 面向多源异构数据源的接口系统、通用接口及其实现方法

Similar Documents

Publication Publication Date Title
US10324909B2 (en) Omega names: name generation and derivation utilizing nested three or more attributes
US8438190B2 (en) Generating web services from business intelligence queries
RU2400803C2 (ru) Долговременное хранилище типов и экземпляров данных .net
US7730099B2 (en) Storage and retrieval of richly typed hierarchical network models
EP1875456A2 (en) System and method for managing complex relationships over distributed heterogeneous data sources
JPH10154095A (ja) 多数ディレクトリサービスに一様にアクセスするための方法及びシステム
JPH10501086A (ja) 記憶プレーン編成及びそれに基づく記憶システム
US9864794B2 (en) Method and system for managing faceted data
KR101355273B1 (ko) 컴퓨팅 시스템 및 그 실행 제어 방법과, 그 실행 제어 프로그램을 기록한 기록 매체
US9483508B1 (en) Omega names: name generation and derivation
CN113326264A (zh) 数据处理方法、服务器及存储介质
CN112835638A (zh) 一种基于嵌入式应用程序的配置信息管理方法及装置
CN110597827A (zh) 一种接口控制文件数据的存储方法及系统
CN116414935A (zh) 一种基于Elastic Search的分布式搜索空间矢量数据的方法
CN113779068B (zh) 数据查询方法、装置、设备及存储介质
CN115629763A (zh) 目标代码的生成方法、npu指令的显示方法及装置
CN115617338A (zh) 一种业务页面快速生成方法、装置及可读存储介质
US11580128B2 (en) Preventing DBMS deadlock by eliminating shared locking
CN112347794A (zh) 数据翻译方法、装置、设备及计算机存储介质
CN112988278A (zh) 资源文件的meta文件修改方法、装置、电子设备及存储介质
CN111722881A (zh) 一种容器云平台的资源扩展方法、系统及装置
CN112000447B (zh) 双芯智能电表中的硬件设备管理方法、装置和计算机设备
WO2024016789A1 (zh) 日志数据查询方法、装置、设备和介质
CN117251500B (zh) 一种数据库动态读写分离的方法
CN112905564B (zh) 基于Atlas管理Oracle数据库元数据的方法及装置

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