掌桥专利:专业的专利平台
掌桥专利
首页

一种端口管理层构建方法、系统、终端及存储介质

文献发布时间:2023-06-19 10:35:20


一种端口管理层构建方法、系统、终端及存储介质

技术领域

本发明涉及软件开发辅助技术领域,具体涉及一种端口管理层构建方法、系统、终端及存储介质。

背景技术

在软件开发领域,在控制方面常用嵌入式MCU,在开发大型软件时,需要用到大量的信息接口,各种信息接口功能和特性都不相同,因此容易造成接口调用混乱的问题,严重影响产品质量。

发明内容

针对现有技术的上述不足,本发明提供一种端口管理层构建方法、系统、终端及存储介质,以解决上述技术问题。

第一方面,本发明提供一种端口管理层构建方法,包括:

根据端口的功能需求设置端口类别;

设置端口编号规则,并根据所述编号规则为端口分配编号;

根据端口类别和编号设计端口结构。

进一步的,所述根据端口的功能需求设置端口类别,包括:

将端口分为输入端口和输出端口;

将输入端口分为保留输入端口、物理输入端口和虚拟输入端口,将输出端口分为保留输出端口、物理输出端口和虚拟输出端口;

将物理输入端口分为模拟量输入端口和数字量输入端口;将虚拟输入端口分为网络输入端口、时间端口和映射端口;将物理输出端口分为模拟量输出端口、数字量输出端口和总线输出端口;将虚拟输出端口分为网络输出端口。

进一步的,所述设置端口编号规则,并根据所述编号规则为端口分配编号,包括:

设置分段有序编号原则,每类端口均占用一段连续性的编号片段,所述编号片段的首部编号为起始编号,尾部编号为结束编号,且编号片段按照端口类型进行有序化的排列;

根据所述分段有序编号原则对端口层的所有端口进行编号,并根据端口编号对端口进行绑定和追踪。

进一步的,所述根据端口类别和编号设计端口结构,包括:

根据端口类别和端口编号生成具有唯一性的端口结构要素,所述端口结构要素包括端口类、端口名、端口量、端口链接指针和端口编号数组。

第二方面,本发明提供一种端口管理层构建系统,包括:

类别设置单元,配置用于根据端口的功能需求设置端口类别;

编号分配单元,配置用于设置端口编号规则,并根据所述编号规则为端口分配编号;

结构设计单元,配置用于根据端口类别和编号设计端口结构。

进一步的,所述类别设置单元包括:

一级分类模块,配置用于将端口分为输入端口和输出端口;

二级分类模块,配置用于将输入端口分为保留输入端口、物理输入端口和虚拟输入端口,将输出端口分为保留输出端口、物理输出端口和虚拟输出端口;

三级分类模块,配置用于将物理输入端口分为模拟量输入端口和数字量输入端口;将虚拟输入端口分为网络输入端口、时间端口和映射端口;将物理输出端口分为模拟量输出端口、数字量输出端口和总线输出端口;将虚拟输出端口分为网络输出端口。

进一步的,所述编号分配单元包括:

原则设置模块,配置用于设置分段有序编号原则,每类端口均占用一段连续性的编号片段,所述编号片段的首部编号为起始编号,尾部编号为结束编号,且编号片段按照端口类型进行有序化的排列;

编号生成模块,配置用于根据所述分段有序编号原则对端口层的所有端口进行编号,并根据端口编号对端口进行绑定和追踪。

进一步的,所述结构设计单元包括:

要素生成模块,配置用于根据端口类别和端口编号生成具有唯一性的端口结构要素,所述端口结构要素包括端口类、端口名、端口量、端口链接指针和端口编号数组。

第三方面,提供一种终端,包括:

处理器、存储器,其中,

该存储器用于存储计算机程序,

该处理器用于从存储器中调用并运行该计算机程序,使得终端执行上述的终端的方法。

第四方面,提供了一种计算机存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述各方面所述的方法。

本发明的有益效果在于,

本发明提供的端口管理层构建方法、系统、终端及存储介质,通过构建有序的端口管理层,实现对端口的有序管理,大大提高了数据传输效率,提高了产品性能。

此外,本发明设计原理可靠,结构简单,具有非常广泛的应用前景。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本发明一个实施例的方法的示意性流程图。

图2是本发明一个实施例的系统的示意性框图。

图3为本发明实施例提供的一种终端的结构示意图。

具体实施方式

为了使本技术领域的人员更好地理解本发明中的技术方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。

图1是本发明一个实施例的方法的示意性流程图。其中,图1执行主体可以为一种端口管理层构建系统。

如图1所示,该方法包括:

步骤110,根据端口的功能需求设置端口类别;

步骤120,设置端口编号规则,并根据所述编号规则为端口分配编号;

步骤130,根据端口类别和编号设计端口结构。

具体的,所述端口管理层构建方法包括:

S1、根据端口的功能需求设置端口类别。

将端口分为输入端口和输出端口;

将输入端口分为保留输入端口、物理输入端口和虚拟输入端口,将输出端口分为保留输出端口、物理输出端口和虚拟输出端口;

将物理输入端口分为模拟量输入端口和数字量输入端口;将虚拟输入端口分为网络输入端口、时间端口和映射端口;将物理输出端口分为模拟量输出端口、数字量输出端口和总线输出端口;将虚拟输出端口分为网络输出端口。

其中,保留端口是一种通用型空闲裕量端口。保留端口分为保留输入(RI)端口与保留输出(RO)端口,保留端口默认情况下无具体含义,其设计目的在于为某些高优先级、非通用化端口进行私有化设计与定制。物理端口与狭义上的MCU I/O口相对应,其主要起采集外界传感器信息以及控制输出设备的作用。物理端口子类为物理量输入(PI)端口与物理量输出(PO)端口,其中,PI端口又分为模拟量输入(AI)端口、数字量输入(DI)端口,PO端口则分为模拟量输出(AO)端口、数字量输出(DO)端口以及总线输出(BUSO)端口,BUSO端口可看做一种工程中输出类的通信端口,其常用的通信形式有通用异步收发器UART,I2C,串行外设接口SPI以及RS485等。虚拟端口是端口系统的重要组成部分。端口系统中,虚拟端口是独立于嵌入式MCU硬件输入输出之外的广义I/O部分。虚拟端口由三个子类组成,分别为网络端口、时间(TI)端口以及映射(MPI)端口。

网络端口:网络端口按照输入输出形式可分为网络输入(NETI)端口以及网络输出(NETO)端口,对网络信息的收发处理为此两类端口的核心作用。NETI类型的信息主要来源为从机MCU以及主机服务器,其数据形式主要为通知、信号以及协调化的数据信息。NETO类型的网络信息通常为MCU对服务器的警报信息与指示信息。网络端口的实现,极大程度增强了整个解释控制系统的灵活性,各类型的网络信息可以被正确捕获、处理、分析,并将其用于控制。本地化控制的局限性也不再是解释控制系统的一大制约,多控制器的协调功能得以实现,物联网应用也得到相应的接口支持。

时间(TI)端口:TI端口是一种非标准化的输入类型端口,其不存在输出形式。TI端口在设计上服务于时序逻辑的实现。由于时间信息是嵌入式MCU对于自己内部时钟信号的一种采集,因此该类信息也能够以端口的形式进行表达。基于嵌入式MCU内部振荡器精度的考虑,“绝对时间”的长久定时方式容易产生累积误差,笔者在TI端口的设计上采用了“相对时间”的概念。理论上讲,“相对时间”至少需要一个“时间参照物”进行参考设计,因此TI端口在应用时不能单独存在,其必须与某个已知的、状态可获取的量进行绑定处理,称之为前置触发条件。

映射(MPI)端口:MPI端口是一种辅助类输入端口。MPI端口的核心作用是对各类输出的映射化处理,即通过对MPI值的访问,可以简单获取到比如AO、DO、NETO各类端口的具体状态,这为输出的“叠乘处理”以及不同类型输出表达的统一化提供了保证(无论输入以何种方式控制输出,该类输出结果可以作为任一种其它类输出控制方式的输入量)。

网络端口对对网络信息的调用过程、TI端口对前置触发条件的绑定过程以及MPI端口对输出端口的拷贝过程是虚拟端口在设计与功能上的高度概括,也是端口系统相较于传统I/O结构最大的进步。

S2、设置端口编号规则,并根据所述编号规则为端口分配编号。

为了防止单一编号过长,输入与输出两类端口的编号具有独立性以及无关性。因此,通过编号进行信息获取以及来源追踪时需要正确分析该编号的输入输出归属。端口编号的设计要点在于分段化以及有序化设计。

1.分段化编号设计

端口编号是分段进行的,每一类端口(如AI、DI)都占用一段连续性的编号片段。该片段的首部编号称之为起始编号,尾部编号称之为结束编号。相邻片段的前个尾部编号与后个首部编号之差为1,故编号端口是一种无断点与冗余的线性化方式。

2.有序化的编号设计

分段后的编号片段按照端口类型进行有序化的排列过程称之为端口的有序化编号。以输入而言,其默认的升序排列顺序为RI、AI、DI、NETI、TI、MPI,输出的默认排列顺序为RO、AO、DO、BUSO、NETO。

按照上述编号原则对端口进行编号,已编号的端口根据占用情况分为两类:未绑定端口与已绑定端口。对于未绑定端口,其绑定名默认为空,当将端口进行物理量连接或虚拟化赋值后,未绑定端口会变成绑定端口,该过程称之为端口捆绑。通过查询得到绑定端口的信息来源的过程,称之为端口追踪。

端口编号具有两方面的重要意义:其一,当嵌入式MCU获取信息类型与数量过多时,端口编号可以较好地对其进行协调与过滤,防止信息混乱的发生;其二,当嵌入式MCU的物理量连接发生变化时,此设计无需于程序内部更改硬件I/O信息的来源,只需通过服务器进行端口再绑定过程,这种方式提升了产品的灵活性。

S3、根据端口类别和编号设计端口结构。

对端口进行分类与编号后,后续工作便是针对这两类要素进行通用化的结构设计,这种结构称为通用端口结构。

端口结构设计本质上是一种驱动类设计。由于端口定义拓展为广义类,所以通用端口设计应对信息获取与操纵过程进行兼容。经实际需求分析,端口设计主要包括以下五个要素:端口类、端口名、端口量、端口链接指针、端口编号数组。

(1)端口类:端口类在结构上采用类型码表示。不同种类的端口类型码不同,如RI端口的类型码为0,AI端口的类型码为1……,类型码在解释控制系统中起端口类的查询功能,在程序结构上,所有同一类型的端口共享同一类型码,且输入与输出端口进行统一化编码。

(2)端口名:端口绑定后可能存在端口追踪过程,因此需要该端口的绑定量进行命名。考虑到端口结构的精简化,在程序设计时,端口名使用无符号两字节表示。端口名与绑定量有一个一一对应的关系。这种对应关系以表格的形式存储于服务器数据库内,通过查询这种对应关系,解释控制系统便能完成端口追踪功能。默认未绑定端口占用0x0000端口名,已绑定端口数量上限为65535个。

(3)端口量:端口量可定义为已绑定端口其绑定量的实际值。程序设计中,不同的端口类型,端口量的数据字节长度不尽相同,其换算方式也大相径庭。

数字量端口:字节长度为1,端口量包含0x00与0x01两类。

模拟量端口:字节长度为2,端口的实际电平值保留三位小数(向下取整)后乘以1000,再转换为十六进制。以已绑定的AI端口为例,若其采集电压为6.3587伏,存入其绑定的AI端口后,其端口量应为6358的十六进制,即0x18D6。

总线端口:端口量字节长度与内容与其协议帧相关。

网络端口:端口量字节长度为4的有符号型。

TI端口:端口量为字节长度2的无符号型,数据内容为时间片数。

映射端口:与其对应的输出类型相关。

(4)端口链接指针:端口结构的设计最终实现需要依托MCU的存储功能。考虑到结构的灵活性以及通用性,笔者采用了链表的形式进行端口系统设计。端口链接指针是一个索引指针,每个端口结构都为其分配唯一地址,其作用为将所有端口以双向链表的形式进行链接,并为其本身所在的端口提供入口地址的偏移。

(5)端口编号数组:为了更方便的访问某一个编号端口其对应的端口结构,规避链表必须按照表头顺序访问的缺点,为此设计了端口编号数组。端口编号数组为一指针数组,数组索引代表其端口编号,数组值代表该端口结构的入口地址。输入与输出的端口编号数组定义如下。

其中,IO_SYSTEM代表端口系统的端口结构体,INPUT_NUMBER_TOTAL与OUTPUT_NUMBER_TOTAL为预估的输入输出编号端口的总数量宏定义,其值应该大于等于真实的输入输出编号数量。

每个端口的结构要素均赋值完成之后,即构建完成端口层,实现了对端口的有效管理。

如图2所示,该系统200包括:

类别设置单元210,配置用于根据端口的功能需求设置端口类别;

编号分配单元220,配置用于设置端口编号规则,并根据所述编号规则为端口分配编号;

结构设计单元230,配置用于根据端口类别和编号设计端口结构。

可选地,作为本发明一个实施例,所述类别设置单元包括:

一级分类模块,配置用于将端口分为输入端口和输出端口;

二级分类模块,配置用于将输入端口分为保留输入端口、物理输入端口和虚拟输入端口,将输出端口分为保留输出端口、物理输出端口和虚拟输出端口;

三级分类模块,配置用于将物理输入端口分为模拟量输入端口和数字量输入端口;将虚拟输入端口分为网络输入端口、时间端口和映射端口;将物理输出端口分为模拟量输出端口、数字量输出端口和总线输出端口;将虚拟输出端口分为网络输出端口。

可选地,作为本发明一个实施例,所述编号分配单元包括:

原则设置模块,配置用于设置分段有序编号原则,每类端口均占用一段连续性的编号片段,所述编号片段的首部编号为起始编号,尾部编号为结束编号,且编号片段按照端口类型进行有序化的排列;

编号生成模块,配置用于根据所述分段有序编号原则对端口层的所有端口进行编号,并根据端口编号对端口进行绑定和追踪。

可选地,作为本发明一个实施例,所述结构设计单元包括:

要素生成模块,配置用于根据端口类别和端口编号生成具有唯一性的端口结构要素,所述端口结构要素包括端口类、端口名、端口量、端口链接指针和端口编号数组。

图3为本发明实施例提供的一种终端300的结构示意图,该终端300可以用于执行本发明实施例提供的端口管理层构建方法。

其中,该终端300可以包括:处理器310、存储器320及通信单元330。这些组件通过一条或多条总线进行通信,本领域技术人员可以理解,图中示出的服务器的结构并不构成对本发明的限定,它既可以是总线形结构,也可以是星型结构,还可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。

其中,该存储器320可以用于存储处理器310的执行指令,存储器320可以由任何类型的易失性或非易失性存储终端或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。当存储器320中的执行指令由处理器310执行时,使得终端300能够执行以下上述方法实施例中的部分或全部步骤。

处理器310为存储终端的控制中心,利用各种接口和线路连接整个电子终端的各个部分,通过运行或执行存储在存储器320内的软件程序和/或模块,以及调用存储在存储器内的数据,以执行电子终端的各种功能和/或处理数据。所述处理器可以由集成电路(Integrated Circuit,简称IC)组成,例如可以由单颗封装的IC所组成,也可以由连接多颗相同功能或不同功能的封装IC而组成。举例来说,处理器310可以仅包括中央处理器(Central Processing Unit,简称CPU)。在本发明实施方式中,CPU可以是单运算核心,也可以包括多运算核心。

通信单元330,用于建立通信信道,从而使所述存储终端可以与其它终端进行通信。接收其他终端发送的用户数据或者向其他终端发送用户数据。

本发明还提供一种计算机存储介质,其中,该计算机存储介质可存储有程序,该程序执行时可包括本发明提供的各实施例中的部分或全部步骤。所述的存储介质可为磁碟、光盘、只读存储记忆体(英文:read-only memory,简称:ROM)或随机存储记忆体(英文:random access memory,简称:RAM)等。

因此,本发明通过构建有序的端口管理层,实现对端口的有序管理,大大提高了数据传输效率,提高了产品性能,本实施例所能达到的技术效果可以参见上文中的描述,此处不再赘述。

本领域的技术人员可以清楚地了解到本发明实施例中的技术可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明实施例中的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中如U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质,包括若干指令用以使得一台计算机终端(可以是个人计算机,服务器,或者第二终端、网络终端等)执行本发明各个实施例所述方法的全部或部分步骤。

本说明书中各个实施例之间相同相似的部分互相参见即可。尤其,对于终端实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例中的说明即可。

在本发明所提供的几个实施例中,应该理解到,所揭露的系统和方法,可以通过其它的方式实现。例如,以上所描述的系统实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,系统或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。

尽管通过参考附图并结合优选实施例的方式对本发明进行了详细描述,但本发明并不限于此。在不脱离本发明的精神和实质的前提下,本领域普通技术人员可以对本发明的实施例进行各种等效的修改或替换,而这些修改或替换都应在本发明的涵盖范围内/任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。

相关技术
  • 一种端口管理层构建方法、系统、终端及存储介质
  • 一种基于物理位置的企业大数据系统的构建方法、系统、应用方法、终端设备及存储介质
技术分类

06120112608375