CN115051904B - 一种基于标记语言的单盘状态管理的方法和装置 - Google Patents
一种基于标记语言的单盘状态管理的方法和装置 Download PDFInfo
- Publication number
- CN115051904B CN115051904B CN202210286883.1A CN202210286883A CN115051904B CN 115051904 B CN115051904 B CN 115051904B CN 202210286883 A CN202210286883 A CN 202210286883A CN 115051904 B CN115051904 B CN 115051904B
- Authority
- CN
- China
- Prior art keywords
- state
- control
- data
- disk
- markup language
- 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
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/02—Standardisation; Integration
- H04L41/0246—Exchanging or transporting network management information using the Internet; Embedding network management web servers in network elements; Web-services-based protocols
- H04L41/0266—Exchanging or transporting network management information using the Internet; Embedding network management web servers in network elements; Web-services-based protocols using meta-data, objects or commands for formatting management information, e.g. using eXtensible markup language [XML]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/22—Parsing or analysis of headers
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及网络管理领域,特别是涉及一种基于标记语言的单盘状态管理的方法和装置。主要包括:将单盘的状态数据分为至少一个状态块,将每个状态块中的状态数据根据业务模型的类型定义为一个或多个基于标记语言的控件;依照标记语言的通用文件格式的定义,将单盘的状态数据对应的所有控件写入状态文件中;通过统一接口读取状态文件中的控件,根据控件对应的业务模型的类型,对每个控件中的状态块内容进行解析。本发明可以对单盘管理后台和显示的数据表达方式进行统一,并利用标记语言和通用文件格式对单盘状态的管理接口和显示接口进行统一,使得显示方式更友好,提高了开发效率、可扩展性和可移植性。
Description
【技术领域】
本发明涉及网络管理领域,特别是涉及一种基于标记语言的单盘状态管理的方法和装置。
【背景技术】
在电信网管维护管理过程中,需要经常查看单盘状态,如:交叉数据状态、保护组状态、接口状态、设备运维状态等等。
随着设备上的功能越来越多,客户对运维的要求越来越高,目前普通的状态显示不能满足当前单盘功能对应的状态数量增加的需求,且无法满足客户要求各类状态的显示方式统一且易于查找定位的要求。同时,在后台开发相关功能的时候也需要经常读取单盘状态,如判断业务当前工作路径时需要读取保护倒换状态,查询单盘的端口基本状态等,都需要后台读取单盘状态。目前单盘状态都是开发硬编码,根据每个单盘的功能直接将状态值进行固定数据结构的读写,后台没有统一方式读取当盘状态,开发效率低,容易出错问题,由于每个块的内容逻辑不一致,需要大量编写硬代码,开发效率低,容易出错。
由于目前网管网元上单盘状态表达和显示不统一,当新增加单盘状态时,各个单盘按照自己需求理解定义单盘状态,单盘状态设计逻辑不统一,导致单盘状态的定义和显示不统一,且不同节点之间无法进行快速定位。这也会导致网管后台计算单盘状态逻辑复杂,逻辑复用度低,单盘状态计算逻辑不统一,逻辑复用度较低,可扩展性较差。
鉴于此,如何克服现有技术所存在的缺陷,解决目前单盘状态表达不统一的现象,是本技术领域待解决的问题。
【发明内容】
针对现有技术的以上缺陷或改进需求,本发明解决了当前单盘状态管理使用硬编码导致的状态表达不统一、管理复杂的问题。
本发明实施例采用如下技术方案:
第一方面,本发明提供了一种基于标记语言的单盘状态管理的方法,具体为:将单盘的状态数据分为至少一个状态块,将每个状态块中的状态数据根据业务模型的类型定义为一个或多个基于标记语言的控件;依照标记语言的通用文件格式的定义,将单盘的状态数据对应的所有控件写入状态文件中;通过统一接口读取状态文件中的控件,根据控件对应的业务模型的类型,对每个控件中的状态块内容进行解析。
优选的,将每个状态块中的状态数据根据业务模型的类型定义为一个或多个基于标记语言的标准控件,具体包括:获取状态块中每种业务模型类型需要使用的控件类型,将每个业务模型类型的单盘状态数据根据相应控件的预设格式写入控件中。
优选的,将每个状态块中的状态数据根据业务模型的类型定义为一个或多个基于标记语言的标准控件,还包括:当控件对应的状态块内容与其它状态块关联时,在控件中使用跳转链接写入关联状态块的访问地址。
优选的,还包括:解析单盘状态数据流中的业务模型类型内容,获取每个业务模型类型对应的控件;按照控件的预设格式对单盘状态块的数据进行解析。
优选的,获取每个业务模型类型对应的控件,还包括:根据业务模型类型获取每个控件对应的唯一属性名称,根据唯一属性名称对应的空间访问路径和数据偏移查找对应的控件。
优选的,对每个控件中的状态块内容进行解析,当控件为表格控件时,具体包括:解析表格控件中的表头数据内容,按照行号列号完成表头填充;获取每个单元格对应的数据类型,按照每个单元格对应的数据类型,获取单盘状态数据流中每个单元格对应的状态数据。
优选的,对每个控件中的状态块内容进行解析,当控件为文本控件时,具体包括:根据文本控件中的文本数据偏移和文本数据长度,读取单盘状态数据流中从文本数据偏移开始的数据流,读取长度为文本数据长度的数据;根据读取的数据生成普通字符串文本。
优选的,对每个控件中的状态块内容进行解析,当控件为枚举控件时,具体包括:根据枚举控件中的枚举数据长度和枚举数据偏移,从单盘状态数据流的枚举数据偏移开始依次读取每个枚举数据长度的字节,获取所有枚举值;根据枚举解释,查找每个枚举值对应的内容。
优选的,对每个控件中的状态块内容进行解析,当控件为BOOL控件时,具体包括:根据BOOL控件中的BOOL数据偏移读取单盘状态数据流中的一个字节数据;在BOOL解释中查找读取的字节值对应的内容。
另一方面,本发明提供了一种基于标记语言的单盘状态管理的装置,具体为:包括至少一个处理器和存储器,至少一个处理器和存储器之间通过数据总线连接,存储器存储能被至少一个处理器执行的指令,指令在被处理器执行后,用于完成第一方面中的基于标记语言的单盘状态管理的方法。
与现有技术相比,本发明实施例的有益效果在于:通过使用标记语言的控件对不同单盘中的状态块进行统一管理,并通过通用文件格式的状态文件完成单盘状态值的传递和显示,对单盘管理后台和显示的数据表达方式进行统一,并利用标记语言和通用文件格式对单盘状态的管理接口和显示接口进行统一,使得显示方式更友好,提高了开发效率、可扩展性和可移植性。
【附图说明】
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例中所需要使用的附图作简单地介绍。显而易见地,下面所描述的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种基于标记语言的单盘状态管理的方法流程图;
图2为本发明实施例提供的单盘状态文件结构的示例;
图3为本发明状态值显示的系统架构示意图;
图4为本发明中提供的控件实例所使用的状态值内容示例;
图5为本发明中提供的控件缓存索引的参数示例;
图6为本发明中提供的表格控件的主要参数示例;
图7为本发明中提供的表格控件的主要参数的数据类型示例;
图8为本发明中提供的表格控件的解析流程示意图;
图9为本发明中提供的枚举控件的主要参数示例;
图10为本发明中提供的枚举控件的解析流程示意图;
图11为本发明中提供的文本控件的主要参数示例;
图12为本发明中提供的文本控件的解析流程示意图;
图13为本发明中提供的BOOL控件的主要参数示例;
图14为本发明中提供的BOOL控件的解析流程示意图;
图15为本发明实施例提供的一种基于标记语言的单盘状态管理的装置结构示意图;
其中,附图标记如下:
11:处理器;12:存储器。
【具体实施方式】
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
本发明是一种特定功能系统的体系结构,因此在具体实施例中主要说明各结构模组的功能逻辑关系,并不对具体软件和硬件实施方式做限定。
此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。下面就参考附图和实施例结合来详细说明本发明。
实施例1:
标记语言,是一种将文本以及文本相关的其他信息结合起来,展现出关于文档结构和数据处理细节的电脑文字编码。标记语言与普通文本描述语言相比,既可以包含原本的文本信息,也可以通过标记将文本相关的其他信息如文本的结构和表示信息等与原来的文本结合在一起,以实现对电子文档的语义、结构、及格式的定义。标记语言的标记通常很容易和内容区分,并且易于识别。常见的标记语言包括超文本标记语言(Hyper TextMarkup Language,简写为HTML)、可扩展标记语言(Extensible Markup Language,简写为XML)、资源描述框架(Resource Description Framework,简写为RDF)等。标记语言通常有相应的文件格式,如HTML语言对应.html格式文件,XML语言对应.xml格式文件,RDF语言对应.rdf格式文件。每种语言和对应的文件格式都可以根据语言和文件格式的标准定义进行读写和其它处理。对于某些特定标签,可以添加相应的实体内容,在浏览器中呈现文字,图形、动画、声音、表格、链接等不同的显示内容,或保存非显示的数据内容,如HTML语言中的按钮<button>、文本显示<label>、超链接<html>等,这些标签被称为控件。
如图1所示,本发明实施例提供的基于标记语言的单盘状态管理的方法具体步骤如下。
步骤101:将单盘的状态数据分为至少一个状态块,将每个状态块中的状态数据根据业务模型的类型定义为一个或多个基于标记语言的控件。
本实施例中,为了将各种不同业务模型类型的单盘状态进行统一,使用标记语言来描述单盘的状态。控件是单盘状态解析的最小处理单元,控件根据传输网元单盘的业务模型来定义,不区分具体的设备类型,所有单盘的状态可通过控件统一定义成标签语言对应格式的状态文件,以实现统一表达方法、统一显示方法、统一计算方法和后台统一读取方法。在具体实施中,单盘的每个状态块中可能包含多个不同业务模型的状态数据,例如描述文本、可选状态列表、转发表、开关状态等。对于每种不同的业务模型,可以根据数据的组织特征使用标记语言中不同类型的控件进行呈现,获取状态块中每种业务模型类型需要使用的控件类型,将每个业务模型类型的单盘状态数据根据相应控件的预设格式写入控件中。例如,单盘基础状态块通过枚举、文本、BOOL控件定义;保护组状态、交叉状态、转发表这种矩阵式变长的状态通过表格控件定义;端口状态,器件信息状态等固定条目的数据通过固定条目的表格控件定义。为了适应不同的使用场景和用户需求,也可以在通用控件的基础上使用自定义控件,或对现有控件进行调整,以适应某些特殊场景的需要,提升本实施例提供的方法的使用范围。控件中使用的数据结构,可以为标记语言自身包含的基础数据类型,也可以根据需要使用自定义数据类型。
步骤102:依照标记语言的通用文件格式的定义,将单盘的状态数据对应的所有控件写入状态文件中。
为了对单盘状态进行保存和数据交换,使用控件对状态块进行定义后,需要使用标签语言对应的文件格式对控件内容进行组织和保存。为了便于进行管理和查找,每个单盘中的所有状态块对应的所有控件都写入同一个状态文件中。
为了提高不同平台的通用性,文件格式使用该标记语言对应的通用文件格式,例如HTML语言使用.html文件格式。由于某个状态块中可能包含多个标签,每个单盘中可能包含多个状态块,为了将业务模型和控件进行对应,可以将所有的业务模型类型和控件类型定义在整体单盘的状态文件中,一种业务模型对应一种控件类型。如图2所示,为状态文件结构的一个典型示例,状态文件中包含每个单盘的总体显示内容和格式的文件,包括业务模型类型、控件链接信息、格式控件链接信息等。由于标记语言可以支持标签的多层嵌套,因此每一个控件标签下可包含该业务模型的各种业务属性信息,在图2所示的实例中,每个控件中包含了该控件的业务模型类型、控件链接和数据起始位这些属性信息,也可以根据需要增加其它描述和格式化内容。当控件对应的状态块内容与其它状态块关联时,在控件中使用跳转链接写入关联状态块的访问地址。跳转链接中包含了关联状态块对应控件所在的状态文件访问路径和状态文件名称,还可以包含唯一属性名称或文件内偏移量等状态文件内的定位信息,以便于快速跳转查找。为了适应不同的使用场景并增加状态文件的可读性,还可以增加额外格式定义、文件描述等内容。
状态文件的可以使用新建和写入两种模式。对于还未生成状态文件的单盘,使用新建模式,直接将所有需要写入文件的控件按照文件格式进行组织,生成新的状态文件。对于已存在状态文件的单盘,在状态值变化后,使用写入模式,可以查找到对应的控件,根据最新的状态数据对其中的内容进行更新,把更新后的控件放入原控件所在位置或者通过参数指定的新位置,尽可能避免了对其它控件读写的影响和显示界面的变化。在具体实施中,状态文件中各控件的值可以通过读取单盘状态数据流获取,从而获取到单盘的当前状态;也可以直接通过统一接口进行写入,作为单盘的配置文件进行使用,使用文件中的最新状态数据对控件对应的状态块进行重新配置。
步骤103:通过统一接口读取状态文件中的控件,根据控件对应的业务模型的类型,对每个控件中的状态块内容进行解析。
对于单盘的状态文件,可以使用图3所示的系统架构,直接通过通用浏览器进行状态值显示,也可以作为单盘控制的中间数据进行使用,状态数据上传、业务模块管理、状态数据显示等外部模块利用统一的单盘状态管理接口对转头文件中的数据进行处理。当状态文件作为中间数据使用时,可以根据需要读取文件中的一个或多个控件,并通过解析获取其中保存的状态数据。
为了获取业务模型对应的状态数据,首先需要解析单盘状态数据流中的业务模型类型内容,读取状态文件中的业务模型类型和控件类型信息,获取每个业务模型类型对应的控件,再按照控件的预设格式对单盘状态块的数据进行解析,并根据需要返回相应的状态数据,再通过状态数据对单盘的状态进行判定,或根据状态文件中更新后的内容对单盘的状态进行重新设置。进一步的,为了便于识别和解析,单盘状态数据流中的,获取单盘状态数据流头部中携带的业务模型类型内容可以使用固定格式,包括每个业务模型类型、业务模型起始位置、业务模型整个数据的长度内容等,通过这些解析参数,可以直接获取每个控件在状态文件中的存储位置和存储空间大小,便于使用文件读写指令进行定位和读写。
由于本实施例中使用了标准格式的文件和统一的控件对业务模型相同的状态块进行定义,因此在进行控件解析时无需区分单盘类型,仅需针对业务模型使用统一的读取接口和解析算法获取数据,避免了现有接口按照单盘特性编写特化接口调用方式不统一且数量较多的问题。在具体使用中,根据实际需要,状态获取接口可以包括:获取单盘整体状态数据的接口、获取单盘中某个业务模型的状态数据的接口、获取单盘某个业务模型下具体属性的状态数据的接口等。还可以根据需要提供某一组业务模式的接口,或用户定制化接口。对状态块进行解析后,接口会返回状态块所在的单盘ID、业务模型类型、以及状态块本身的属性和数据内容。如图4所示,以常用的表格控件、枚举控件、文本控件和BOOL控件为例,提供了解析后返回状态值的具体内容,其它控件可以根据控件特性和业务特性选择相应的返回值内容。
经过本实施例中提供的步骤101-步骤103后,通过基于标记语言的统一控件和标准文件格式,完成了单盘状态数据保存、显示、获取的统一,解决了单盘状态的统一表达和处理,实现了不同应用场景下的友好显示,并提高了开发效率。在实际实施过程中,步骤102和步骤103可以择一使用、同时使用或依次使用,以满足状态数据存储、显示、获取、更新等不同的使用需求。
在本实施例中,使用的标记语言优选为HTML语言。HTML的全称为超文本标记语言,是一种标记语言,目前最新的版本为HTML5,具体使用中可以根据稳定性、兼容性和后续的升级需要选择合适的语言版本。在实际使用中,HTML语言对应的.html格式文件能够直接被通用浏览器解析和显示,如直接使用选择控件<select>的选中状态显示开关状态,无需使用额外的显示接口或安装额外的客户端,简化了开发和用户使用的复杂度,并提升了程序响应速度。另一方面,由于HTML语言为网络传输环境中常用的语言,相应的.html格式文件能够高效通过网络进行传输,因此也便于对网络设备中的单盘通过网络进行远程状态读写和管理。
为了加快文件的读写速度,可以先为每个业务模型类型的单盘建立模板文件,将模板文件导入到缓存中。在进行读写时,仅需根据业务模型类型在缓存中相应控件的存储位置中填入状态数值,再将填入数据的模板文件整体写入文件中。
在本实施例中,使用控件作为单盘状态管理的组织单元,由于控件是根据业务模型定义的,因此不同配置块定义方式各有不同,为了便于对控件进行管理和查找,可以使用唯一属性名称对每个状态块对应的控件进行区分,并在缓存中对业务模型和控件的对应关系建立控件索引,方便的通过业务模型的类型查找到相应控件。唯一属性名称在每个配置块内不重复,可以根据控件交叉状态、端口状态、软件版本号等特征统一命名或编号。具体的,控件索引中可以包括:单盘ID、业务模型类型、控件的唯一属性名称、控件类型等。为了根据具体需求对控件内容进行后续操作,还可以保存控件的属性参数,使得读写接口可以直接使用相应参数进行内容的解析和写入。在具体实施中,可以使用如图5所示的参数为每个控件建立缓存索引。
另一方面,在进行状态文件的更新时,也需要对控件进行解析,以获取需要进行内容替换的控件和最新状态数据的写入位置。根据单盘id获取单盘对应的状态文件,解析单盘状态数据流中固定头部格式中的业务模型类型内容,根据业务模型类型找到对应的控件,通过相应控件的解析算法解析出状态数据中的具体内容。在具体,根据业务模型类型获取每个控件对应的唯一属性名称,根据唯一属性名称对应的空间访问路径和数据偏移查找对应的控件。
本实施例提供的基于标记语言的单盘状态管理的方法,通过为每个业务模型类型定义统一的控件,再通过控件定义某一类单盘的单盘状态文件,实现了单盘状态数据结构管理和读写解析接口的统一,解决了目前单盘状态管理时使用硬编码,导致读写接口复杂且数量多导致的使用及二次开发不便。使用本实施例提供的方法,能够通过后台统一数据解析算法计算生成最终的单盘状态数据,并基于控件中的统一格式内容提供统一调用的后台访问接口,从而保证单盘状态的统一定义,统一计算和统一读取。通过该方法,开发人可快速定义表达格式、显示格式统一的新单盘的状态,并基于标记语言的特性方便的对控件进行自定义扩展,以及通过跳转链接对内容进行关联,提高数据可阅读性。基于该方法后台业务模块通过统一接口读取想要的内容,提高业务模块开发效率,降低模块耦合度;同时基于该方法可以快速定义统一的控件、单盘的状态内容及后台访问接口,极大的缩短新单盘状态开发周期。
实施例2:
对于实施例1提供的基于标记语言的单盘状态管理的方法,本实施例中提供了一些常用的控件实例。在具体实施中,可以根据需要直接使用本实施例提供的实例,也可以参考这些实例使用标记语言中的其它基础控件,或自定义控件。
(1)表格控件。
主要用于定义复杂的、矩阵式、表格式等多个条目的内容,可以使用HTML语言中的<table>、<tbody>、<td>等控件和标签作为具体实现方式,也可以使用其它语言中相应功能的控件和标签,或使用自定义标签作为具体实现方式。
表格控件的主要参数如图6所示,包括表头数据、表格数据类型、表格数据内容、内容条目数起始位置等。其中,行号和列号表示后续解析内容的具体格式位置关系,部分逻辑中用作行列对应逻辑关系;内容条目数起始位置和条目长度用于读取时对每个单元格中的内容进行定位。
在实际使用中,针对不同需求,可以使用固定条目的表格空间或非固定条目的表格空间。固定条目的表格控件需要在表格数据类型、表格数据内容、表头数据中定义所有单元格的参数,使用时通过参数直接定位至需要读写的单元格;非固定条目的表格控件只需要定义一行表格的表格数据类型,来表示每一样的解析参数、表格数据内容、表头数据等参数。表格具体数据类型的主要参数可参考图7所示,包括数据类型、数据内容的表示类型、数据长度、显示格式、解释内容等。
对表格控件进行解析时,首先解析表格控件中的表头数据内容,按照行号列号完成表头填充。再获取每个单元格对应的数据类型,按照每个单元格对应的数据类型,获取单盘状态数据流中每个单元格对应的状态数据。
具体的,如图8所示,可以使用以下步骤完成解析。
步骤201:解析出表格控件中的表头数据内容,按照行号列号完成表格填充。
步骤202:读取表格控件中的数据类型数据内容的参数,根据行号列号生成对应关系,将行号和列号相同的内容进行对应。
步骤203:根据条目数起始位置判断是否为固定条目表格控件。若否,转步骤204;若是,转步骤205。
步骤204:根据条目、条目长度、第一行起始位置获取单盘状态数据流中所有参数相关数据,转步骤205。
步骤205:根据每个条目的数据类型确定数据类型相关参数。
步骤206:根据数据类型的类型、长度和数据内容中的数据偏移,读取单盘状态数据流中的数据偏移开始的每个条目对应长度的内容。
步骤207:根据数据类型获取条目对应的状态内容。具体的,如果是int类型,则直接转换成int类型数据,根据显示类型参数指定的进制进行显示;如果是string类型数据,则当做普通文本直接读取显示;如果是枚举类型或BOOL类型,则需要在枚举解释内容中查找对应的解释文本得出最终显示文本。
(2)枚举控件
主要用于定义单盘中全局的时钟源、工作模式状态等具有多个并列选项的内容,可以使用HTML语言中的<fieldset><ul><ol>等控件和标签作为具体实现方式,也可以使用其它语言中相应功能的控件和标签,或使用自定义标签作为具体实现方式。
枚举控件的主要参数如图9所示,包括:枚举默认内容、内容长度、内容偏移、枚举解释等。其中,内容偏移表示每个枚举内容项相对于控件起始地址的偏移,枚举解释对每个枚举项前端展示内容进行定义。
对枚举控件进行解析时,首先根据枚举控件中的枚举数据长度和枚举数据偏移,从单盘状态数据流的枚举数据偏移开始依次读取每个枚举数据长度的字节,获取所有枚举值。再根据枚举解释,查找每个枚举值对应的内容。
具体的,如图10所示,可以使用以下步骤完成解析。
步骤301:读取枚举控件中的数据长度、偏移、默认内容、枚举解释等参数。
步骤302:根据数据长度,数据偏移读取单盘状态数据流中的数据,从单盘状态数据流的数据偏移开始读取数据长度的字节,完成枚举值的读取。
步骤303:按照枚举值在枚举解释列表中遍历查找对应的枚举解释。
步骤304:根据枚举解释获取状态内容。具体的,若找到对应的枚举解释,直接使用解释文本里内容;若未找到对应的枚举解释,直接显示默认文本内容。在无需显示的场景中可以省略此步骤。
(3)文本控件。
主要用于定义单盘中时间、版本等文字内容,可以使用HTML语言中的<label><textarea><ins>等控件和标签作为具体实现方式,也可以使用其它语言中相应功能的控件和标签,或使用自定义标签作为具体实现方式。
文本控件的主要参数如图11所示,包括:文本类型、数据长度、数据偏移。其中,文本类型表示文本中文字所代表的数据类型,如普通文本、时间文本等。
对文本控件进行解析时,首先根据枚举控件中的文本数据偏移和文本数据长度,读取单盘状态数据流中从文本数据偏移开始的数据流,读取长度为文本数据长度的数据;再根据读取的数据生成普通字符串文本。
具体的,如图12所示,可以使用以下步骤完成解析。
步骤401:读取文本控件中数据解析类型、数据长度和数据偏移。
步骤402:读取单盘状态数据流中从数据偏移开始的数据流,读取内容的长度为数据长度。
步骤403:根据文本控件中数据解析类型参数进行解析。具体的,判断是否是时间格式内容,如果是时间格式内容,把数据格式化为时间格式内容;如果不是时间格式内容,直接生成普通字符串文本。
(4)BOOL控件。
主要用于定义单盘中全局的开关、激活状态等可以使用是否逻辑表示的内容,可以使用HTML语言中的<select>等控件和标签作为具体实现方式,通过选中状态显示是否状态,也可以使用其它语言中相应功能的控件和标签,或使用自定义标签作为具体实现方式。
BOOL控件的主要如图13所示,包括:BOOL解释和数据偏移。由于BOOL值的数据长度为固定1bit,因此无需额外使用数据长度参数。其中,BOOL解释表示BOOL值0,1分别对应的解释文本。
对BOOL控件进行解析时,首先根据BOOL控件中的BOOL数据偏移读取单盘状态数据流中的一个字节数据。再在BOOL解释中查找读取的字节值对应的内容。
具体的,如图14所示,可以使用以下步骤完成解析。
步骤501:读取BOOL控件中的数据偏移和BOOL解释参数。
步骤502:根据数据偏移读取单盘状态数据流中的一个字节数据。
步骤503:通过读出的BOOL数值在BOOL解释中找对应的显示内容。例如,0显示成未激活/不是能/off,1显示成激活/使能/on等。
对于上述所有类型的控件,以及其它类型的控件,在具体实施中,一个业务模型可能在状态文件中会使用多个相同或相关类型的控件进行保存,对于这些类型的业务模型,在进行解析前,需要先查找所有相关控件,再统一进行解析。
另一方面,在完成解析后,可以把解析得到的数据填充到控件缓存对应的位置用于显示或供其它模块调用,也可以在所有数据处理完之后把内容填回控件在状态文件中原来所在位置中进行保存。
通过本实施例中的具体实例可以看出,无论单盘自身的配置类型如何变化,单盘状态都可以根据业务类型组织为状态块,并通过统一的接口使用相应的控件进行存储,并在存储后通过控件参数和统一的接口进行方便的解析,进而完成实施例1中提供的基于标记语言的单盘状态管理的方法。
实施例3:
在上述实施例1至实施例2提供的基于标记语言的单盘状态管理的方法的基础上,本发明还提供了一种可用于实现上述方法的基于标记语言的单盘状态管理的装置,如图基于标记语言的单盘状态管理所示,是本发明实施例的装置架构示意图。本实施例的基于标记语言的单盘状态管理的装置包括一个或多个处理器11以及存储器12。其中,图15中以一个处理器11为例。
处理器11和存储器12可以通过总线或者其他方式连接,图15中以通过总线连接为例。
存储器12作为一种基于标记语言的单盘状态管理方法非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块,如实施例1至实施例2中的基于标记语言的单盘状态管理方法。处理器11通过运行存储在存储器12中的非易失性软件程序、指令以及模块,从而执行基于标记语言的单盘状态管理的装置的各种功能应用以及数据处理,即实现实施例1至实施例2的基于标记语言的单盘状态管理的方法。
存储器12可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实施例中,存储器12可选包括相对于处理器11远程设置的存储器,这些远程存储器可以通过网络连接至处理器11。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
程序指令/模块存储在存储器12中,当被一个或者多个处理器11执行时,执行上述实施例1至实施例2中的基于标记语言的单盘状态管理的方法,例如,执行以上描述的图1、图8等所示的各个步骤。
本领域普通技术人员可以理解实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:只读存储器(Read Only Memory,简写为:ROM)、随机存取存储器(Random AccessMemory,简写为:RAM)、磁盘或光盘等。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (9)
1.一种基于标记语言的单盘状态管理的方法,其特征在于:
将单盘的状态数据分为至少一个状态块,获取状态块中每种业务模型类型需要使用的控件类型,将每个业务模型类型的单盘状态数据根据相应控件的预设格式写入一个或多个基于标记语言的控件中;
依照标记语言的通用文件格式的定义,将单盘的状态数据对应的所有控件写入状态文件中;
通过统一接口读取状态文件中的控件,根据控件对应的业务模型的类型,对每个控件中的状态块内容进行解析。
2.根据权利要求1所述的基于标记语言的单盘状态管理的方法,其特征在于,所述将每个状态块中的状态数据根据业务模型的类型定义为一个或多个基于标记语言的标准控件,还包括:
当控件对应的状态块内容与其它状态块关联时,在控件中使用跳转链接写入关联状态块的访问地址。
3.根据权利要求1所述的基于标记语言的单盘状态管理的方法,其特征在于,还包括:
解析单盘状态数据流中的业务模型类型内容,获取每个业务模型类型对应的控件;
按照控件的预设格式对单盘状态块的数据进行解析。
4.根据权利要求3所述的基于标记语言的单盘状态管理的方法,其特征在于,所述获取每个业务模型类型对应的控件,还包括:
根据业务模型类型获取每个控件对应的唯一属性名称,根据唯一属性名称对应的空间访问路径和数据偏移查找对应的控件。
5.根据权利要求1所述的基于标记语言的单盘状态管理的方法,其特征在于,所述对每个控件中的状态块内容进行解析,当控件为表格控件时,具体包括:
解析表格控件中的表头数据内容,按照行号列号完成表头填充;
获取每个单元格对应的数据类型,按照每个单元格对应的数据类型,获取单盘状态数据流中每个单元格对应的状态数据。
6.根据权利要求1所述的基于标记语言的单盘状态管理的方法,其特征在于,所述对每个控件中的状态块内容进行解析,当控件为文本控件时,具体包括:
根据文本控件中的文本数据偏移和文本数据长度,读取单盘状态数据流中从文本数据偏移开始的数据流,读取长度为文本数据长度的数据;
根据读取的数据生成普通字符串文本。
7.根据权利要求1所述的基于标记语言的单盘状态管理的方法,其特征在于,所述对每个控件中的状态块内容进行解析,当控件为枚举控件时,具体包括:
根据枚举控件中的枚举数据长度和枚举数据偏移,从单盘状态数据流的枚举数据偏移开始依次读取每个枚举数据长度的字节,获取所有枚举值;
根据枚举解释,查找每个枚举值对应的内容。
8.根据权利要求1所述的基于标记语言的单盘状态管理的方法,其特征在于,所述对每个控件中的状态块内容进行解析,当控件为BOOL控件时,具体包括:
根据BOOL控件中的BOOL数据偏移读取单盘状态数据流中的一个字节数据;
在BOOL解释中查找读取的字节值对应的内容。
9.一种基于标记语言的单盘状态管理的装置,其特征在于:
包括至少一个处理器和存储器,所述至少一个处理器和存储器之间通过数据总线连接,所述存储器存储能被所述至少一个处理器执行的指令,所述指令在被所述处理器执行后,用于完成权利要求1-8中任一项所述的基于标记语言的单盘状态管理的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210286883.1A CN115051904B (zh) | 2022-03-23 | 2022-03-23 | 一种基于标记语言的单盘状态管理的方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210286883.1A CN115051904B (zh) | 2022-03-23 | 2022-03-23 | 一种基于标记语言的单盘状态管理的方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115051904A CN115051904A (zh) | 2022-09-13 |
CN115051904B true CN115051904B (zh) | 2023-09-12 |
Family
ID=83157208
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210286883.1A Active CN115051904B (zh) | 2022-03-23 | 2022-03-23 | 一种基于标记语言的单盘状态管理的方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115051904B (zh) |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6112235A (en) * | 1995-06-07 | 2000-08-29 | Spofford; Jason J. | Method and apparatus for remotely managing a network hardware device having an embedded server with a client computer across a network |
WO2005098666A1 (en) * | 2004-04-08 | 2005-10-20 | Justsystems Corporation | Processing data and documents that use a markup language |
CN101217406A (zh) * | 2008-01-15 | 2008-07-09 | 中兴通讯股份有限公司 | 配置数据备份和恢复方法 |
CN101876901A (zh) * | 2009-12-02 | 2010-11-03 | 烽火通信科技股份有限公司 | 一种用xml实现网管单盘分块状态的方法 |
CN104268163A (zh) * | 2014-09-05 | 2015-01-07 | 烽火通信科技股份有限公司 | 一种网管网元配置界面的实现方法及系统 |
CN109510728A (zh) * | 2018-12-24 | 2019-03-22 | 成都天奥电子股份有限公司 | 一种网管信息库mib文件自动转换成xml文件的方法 |
CN111488145A (zh) * | 2020-04-30 | 2020-08-04 | 国网河北省电力有限公司信息通信分公司 | 一种基于业务域数据模型库的微服务代码生成系统及方法 |
CN111711695A (zh) * | 2020-06-17 | 2020-09-25 | 池州市新晟电子科技有限公司 | 一种基于云平台式的分布式设备管理系统 |
CN112612535A (zh) * | 2020-12-07 | 2021-04-06 | 河南方达空间信息技术有限公司 | 基于xml和json的卫星接收系统网络通信编解码引擎方法 |
CN112764831A (zh) * | 2021-01-19 | 2021-05-07 | 中盈优创资讯科技有限公司 | 基于自定义可扩展标记语言的配置文件解析方法及装置 |
CN113609820A (zh) * | 2021-07-30 | 2021-11-05 | 中国平安财产保险股份有限公司 | 基于可扩展标记语言文件生成word文件的方法、装置及设备 |
CN113761082A (zh) * | 2021-09-10 | 2021-12-07 | 中国工商银行股份有限公司 | 一种数据可视化方法、装置和系统 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040034833A1 (en) * | 1999-11-12 | 2004-02-19 | Panagiotis Kougiouris | Dynamic interaction manager for markup language graphical user interface |
US7096422B2 (en) * | 2003-02-28 | 2006-08-22 | Microsoft Corporation | Markup language visual mapping |
JP4553599B2 (ja) * | 2003-08-29 | 2010-09-29 | コニカミノルタビジネステクノロジーズ株式会社 | データ表示システム、データ出力装置、画像形成装置、データ表示装置およびデータ表示プログラム |
CA2597752C (en) * | 2005-02-22 | 2012-07-10 | Nextair Corporation | Determining operational status of a mobile device capable of executing server-side applications |
US8700682B2 (en) * | 2009-12-24 | 2014-04-15 | Vertafore, Inc. | Systems, methods and articles for template based generation of markup documents to access back office systems |
-
2022
- 2022-03-23 CN CN202210286883.1A patent/CN115051904B/zh active Active
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6112235A (en) * | 1995-06-07 | 2000-08-29 | Spofford; Jason J. | Method and apparatus for remotely managing a network hardware device having an embedded server with a client computer across a network |
WO2005098666A1 (en) * | 2004-04-08 | 2005-10-20 | Justsystems Corporation | Processing data and documents that use a markup language |
CN101217406A (zh) * | 2008-01-15 | 2008-07-09 | 中兴通讯股份有限公司 | 配置数据备份和恢复方法 |
CN101876901A (zh) * | 2009-12-02 | 2010-11-03 | 烽火通信科技股份有限公司 | 一种用xml实现网管单盘分块状态的方法 |
CN104268163A (zh) * | 2014-09-05 | 2015-01-07 | 烽火通信科技股份有限公司 | 一种网管网元配置界面的实现方法及系统 |
CN109510728A (zh) * | 2018-12-24 | 2019-03-22 | 成都天奥电子股份有限公司 | 一种网管信息库mib文件自动转换成xml文件的方法 |
CN111488145A (zh) * | 2020-04-30 | 2020-08-04 | 国网河北省电力有限公司信息通信分公司 | 一种基于业务域数据模型库的微服务代码生成系统及方法 |
CN111711695A (zh) * | 2020-06-17 | 2020-09-25 | 池州市新晟电子科技有限公司 | 一种基于云平台式的分布式设备管理系统 |
CN112612535A (zh) * | 2020-12-07 | 2021-04-06 | 河南方达空间信息技术有限公司 | 基于xml和json的卫星接收系统网络通信编解码引擎方法 |
CN112764831A (zh) * | 2021-01-19 | 2021-05-07 | 中盈优创资讯科技有限公司 | 基于自定义可扩展标记语言的配置文件解析方法及装置 |
CN113609820A (zh) * | 2021-07-30 | 2021-11-05 | 中国平安财产保险股份有限公司 | 基于可扩展标记语言文件生成word文件的方法、装置及设备 |
CN113761082A (zh) * | 2021-09-10 | 2021-12-07 | 中国工商银行股份有限公司 | 一种数据可视化方法、装置和系统 |
Non-Patent Citations (1)
Title |
---|
数据网设备配置下发接口及应用;冯瑞军;魏丽红;刘涛;张晨;周文安;;北京邮电大学学报(S1);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN115051904A (zh) | 2022-09-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111241454B (zh) | 一种生成网页代码的方法、系统和装置 | |
CN106598612B (zh) | 一种数据库中数据表的操作方法及系统 | |
US8346803B2 (en) | Dynamic generation of target files from template files and tracking of the processing of target files | |
US8683324B2 (en) | Dynamic generation of target files from template files and tracking of the processing of target files | |
CN108762743B (zh) | 一种数据表操作代码生成方法及装置 | |
US20070208769A1 (en) | System and method for generating an XPath expression | |
US20120192151A1 (en) | Software development tool | |
CN106354483B (zh) | 一种数据处理方法、装置及电子设备 | |
CN116011400A (zh) | 一种项目标准测试文档自动化生成方法及装置 | |
CN112799718A (zh) | 一种枚举文档的生成方法、装置、电子设备及存储介质 | |
CN103905231A (zh) | 对设备类型统一管理的方法和装置 | |
CN108664546B (zh) | Xml数据结构转换方法和装置 | |
WO2007081017A1 (ja) | 文書処理装置 | |
CN110308907B (zh) | 数据转换方法、装置、存储介质及电子设备 | |
EP1909170B1 (en) | Method and system for automatically generating a communication interface | |
CN112698819A (zh) | 面向树化对象编程程序设计方法、装置及存储介质 | |
TW201324347A (zh) | 功能模組命令管理系統及方法 | |
CN115051904B (zh) | 一种基于标记语言的单盘状态管理的方法和装置 | |
WO2007052680A1 (ja) | 文書処理装置及び文書処理方法 | |
US20090228678A1 (en) | Mapping definition creation system and mapping definition creation program | |
US20090083300A1 (en) | Document processing device and document processing method | |
CN117453713A (zh) | 多类型数据库的sql语句生成方法、设备和存储介质 | |
CN111625728A (zh) | 一种网页文档生成检索目录的方法、装置、设备和介质 | |
EP1830274A1 (en) | Server device and name space issuing method | |
CN115629763A (zh) | 目标代码的生成方法、npu指令的显示方法及装置 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |