CN111708634B - 一种端口分配方法、装置、设备及可读存储介质 - Google Patents
一种端口分配方法、装置、设备及可读存储介质 Download PDFInfo
- Publication number
- CN111708634B CN111708634B CN202010471519.3A CN202010471519A CN111708634B CN 111708634 B CN111708634 B CN 111708634B CN 202010471519 A CN202010471519 A CN 202010471519A CN 111708634 B CN111708634 B CN 111708634B
- Authority
- CN
- China
- Prior art keywords
- data
- port
- target
- vector
- candidate
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种端口分配方法,包括:获取多个数据和与多个数据对应的端口匹配信息;利用端口匹配信息构建匹配矩阵;在匹配矩阵中确定目标向量;其中,目标向量为数据向量或端口向量;根据目标向量为目标数据分配目标数据端口,并更新匹配矩阵,重新确定目标向量,直至所有的数据均被分配有对应的数据端口;该方法可以对匹配能力较差的数据和端口优先匹配,通过更新匹配矩阵并确定目标向量的方式对其他的数据和端口进行匹配,直至所有数据均分配到满足需求的数据端口;由于无需进行回溯,因此提高了确定最终分配方案的速度;此外,本发明还提供了一种装置、设备及计算机可读存储介质,也具有上述有益效果。
Description
技术领域
本发明涉及数据通信技术领域,特别涉及一种端口分配方法、端口分配装置、端口分配设备及计算机可读存储介质。
背景技术
硬件电路设计实现中,常会出现多个数据向多个端口申请访问的情况,例如,在海量数据的存储压缩及恢复中的应用场景中,在完成特征提取后,会产生多个数据,每个数据有基于哈希数据得到的多个存储位置可以进行选择存储,此时在硬件实现中,涉及对多数据面向多端口的仲裁实现问题。
此时需要利用仲裁算法,实现多个数据不同的访问需求,对数据进行端口的有效仲裁分配。成功的仲裁需要避免数据的“饿死”问题,即保证每一个数据均可以分配到不同且符合需求的端口,不会出现有数据无法获得符合需求的端口而无法被传输的情况。相关技术通常采用回溯的方式确定最终的仲裁方案,即先进行正向仲裁,在正向仲裁过程中,每当发现无法解决的“饿死”问题时,反向回溯前一步并重新进行仲裁,直到找到正确的仲裁方式。但是,由于需要不断回溯并判断,在最差情况下,需要进行遍历每种所有可能的选择,因此确定最终分配方案的速度较慢,在硬件电路实现中,会导致电路工作速度较慢,端口分配的效率较低。
因此,如何解决相关技术存在的电路工作速度较慢,端口分配效率较低的问题,是本领域技术人员需要解决的技术问题。
发明内容
有鉴于此,本发明的目的在于提供一种端口分配方法、端口分配装置、端口分配设备及计算机可读存储介质,解决了相关技术存在的电路工作速度较慢,端口分配效率较低的问题。
为解决上述技术问题,本发明提供了一种端口分配方法,包括:
获取多个数据和与多个所述数据对应的端口匹配信息;
利用所述端口匹配信息构建匹配矩阵;
在所述匹配矩阵中确定目标向量;其中,所述目标向量为数据向量或端口向量;
根据所述目标向量为目标数据分配目标数据端口,并更新所述匹配矩阵,重新确定所述目标向量,直至所有的所述数据均被分配有对应的数据端口。
可选地,所述利用所述端口匹配信息构建匹配矩阵,包括:
确定数据端口数量,并利用各个所述端口匹配信息和所述数据端口数量生成各个所述数据对应的所述数据向量;
利用各个所述数据向量组成所述匹配矩阵。
可选地,所述在所述匹配矩阵中确定目标向量,包括:
在所述匹配矩阵中确定候选数据向量,并判断所述候选数据向量的数量是否小于待分配数据数量;
若所述候选数据向量的数量小于所述待分配数据数量,则在所述候选数据向量中确定所述目标向量;
若所述候选数据向量的数量不小于所述待分配数据数量,则在所述匹配矩阵中确定候选端口向量,并判断所述候选端口向量的数量是否小于待分配端口数量;
若所述候选端口向量的数量小于所述待分配端口数量,则在所述候选端口向量中确定所述目标向量;
若所述候选端口向量的数量不小于所述待分配端口数量,则随机选择所述目标向量。
可选地,在所述候选数据向量中确定所述目标向量之后,所述根据所述目标向量为目标数据分配目标数据端口,包括:
利用所述目标向量确定候选数据端口,并在所述候选数据端口中确定所述目标数据端口;
为所述目标向量对应的所述目标数据分配所述目标数据端口。
可选地,在所述候选端口向量中确定所述目标向量之后,所述根据所述目标向量为目标数据分配目标数据端口,并更新所述匹配矩阵,包括:
利用所述目标向量确定候选数据,并在所述候选数据中确定所述目标数据;
为所述目标数据分配所述目标向量对应的所述目标数据端口。
可选地,所述更新所述匹配矩阵,包括:
在所述匹配矩阵中删除所述目标数据对应的目标数据向量和所述目标数据端口对应的目标端口向量;
可选地,还包括:
利用所述数据端口发送对应的所述数据。
本发明还提供了一种端口分配装置,包括:
获取模块,用于获取多个数据和与多个所述数据对应的端口匹配信息;
匹配矩阵构建模块,用于利用所述端口匹配信息构建匹配矩阵;
目标向量确定模块,用于在所述匹配矩阵中确定目标向量;其中,所述目标向量为数据向量或端口向量;
数据端口分配模块,用于根据所述目标向量为目标数据分配目标数据端口,并更新所述匹配矩阵,重新确定所述目标向量,直至所有的所述数据均被分配有对应的数据端口。
本发明还提供了一种端口分配设备,包括存储器和处理器,其中:
所述存储器,用于保存计算机程序;
所述处理器,用于执行所述计算机程序,以实现上述的端口分配方法。
本发明还提供了一种计算机可读存储介质,用于保存计算机程序,其中,所述计算机程序被处理器执行时实现上述的端口分配方法。
本发明提供的端口分配方法,获取多个数据和与数据对应的端口匹配信息;利用端口匹配信息构建匹配矩阵;在匹配矩阵中确定目标向量;其中,目标向量为数据向量或端口向量;根据目标向量为目标数据分配目标数据端口,并更新匹配矩阵,重新确定目标向量,直至所有的数据均被分配有对应的数据端口。
可见,该方法利用端口匹配信息构建匹配矩阵,利用匹配矩阵表示所有数据的端口匹配情况,并从中选择目标向量。目标向量为数据向量时,其对应于所有数据中可匹配的端口数量最少的数据;目标向量为端口向量时,其对应于所有数据端口中可匹配的数据数量最少的数据端口。利用目标向量可以对匹配能力较差的数据和端口优先匹配,并在本次匹配结束后更新匹配矩阵以便对其他的数据和端口进行匹配,直至所有数据均分配到满足需求的数据端口,完成端口分配工作。由于只需一次正向仲裁即可为所有的数据分配合适的数据端口,无需进行回溯,因此提高了确定最终分配方案的速度,在硬件实现时可以减少时钟周期,提高了硬件电路的工作速度和端口分配的效率,解决了相关技术存在的电路工作速度较慢,端口分配效率较低的问题。
此外,本发明还提供了一种端口分配装置、端口分配设备及计算机可读存储介质,同样具有上述有益效果。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明实施例提供的一种端口分配方法流程图;
图2为本发明实施例提供的一种具体的目标向量确定方法流程图;
图3为本发明实施例提供的一种具体的匹配矩阵示意图;
图4为本发明实施例提供的另一种具体的匹配矩阵示意图;
图5为本发明实施例提供的另一种具体的匹配矩阵示意图;
图6为本发明实施例提供的一种数据-端口对应关系示意图;
图7为本发明实施例提供的一种端口分配装置的结构示意图;
图8为本发明实施例提供的一种端口分配设备的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在一种可能的实施方式中,请参考图1,图1为本发明实施例提供的一种端口分配方法流程图。该方法包括:
S101:获取多个数据和与多个数据对应的端口匹配信息。
数据为待分配的数据,其具体数量本实施例不做限定,数据可以具有同一需求,或者可以具有不同需求。具体的,各个数据可以分别具有对应的端口匹配信息,其中记录了该数据可以使用哪个类别或哪些类别的端口进行传输,或者可以记录了该数据可以使用哪个端口或哪些端口进行传输;或者所有的数据可以均对应于一个端口匹配信息,其中记录了所有数据的端口匹配情况。端口也可以被称为数据端口,用于传输具有其对应需求的数据,因此在获取到多个数据后,为了使各个数据的需求均可以得到满足,需要根据各个数据的端口匹配信息对数据进行端口分配。
需要说明的是,当数据的数量为N个,数据端口的数量为M个时,其需要满足如下情况才能够得到满足各个数据的需求,避免数据的“饿死”问题:
1、M≥N;
2、对于具有相同需求的n个数据,能满足该需求的端口数量m应当满足m≥n。
本实施例中的端口分配方法的各个步骤均可以在上述情况满足时执行。本实施例并不限定端口匹配信息的具体形式,例如可以为向量形式,或者可以为文件形式。
S102:利用端口匹配信息构建匹配矩阵。
在获取端口匹配信息后,可以利用其构建匹配矩阵。匹配矩阵用于表示各个数据与各个数据端口之间的匹配情况,其具体形式与数据的数量和数据端口的数量相关。对于某一个数据端口来说,其能否满足某一数据的需求只有两种可能,即能满足和不能满足,因此匹配矩阵中的元素仅有两种。
具体的,在构建匹配矩阵时,需要确定数据端口的数量,因此S102步骤可以包括:
S1021:确定数据端口数量,并利用各个端口匹配信息和数据端口数量生成各个数据对应的数据向量。
数据端口数量即为数据端口的数量,其用于限定数据向量的长度。在确定数据端口的数量后,可以利用端口匹配信息和数据端口数量确定端口匹配信息对应的数据和各个数据端口之间的匹配情况,并根据该匹配情况生成对应的数据向量。数据向量可以为行向量,也可以为列向量,其长度,即元素数量,与数据端口数量相同,元素的具体内容可以为0或1,可以用0表示不匹配,即不能满足该数据的需求,用1表示匹配,即可以满足该数据的需求。
S1022:利用各个数据向量组成匹配矩阵。
在得到所有数据的数据向量后,利用各个数据向量共同构成匹配矩阵,即将各个数据向量中同一数据端口对应的元素相对,组成匹配矩阵。例如,数据的个数为N,数据端口的个数为M,当数据向量为行向量时,则匹配矩阵为N行M列的矩阵;当数据向量为列向量时,则匹配矩阵M行N列的矩阵。
S103:在匹配矩阵中确定目标向量。
需要说明的是,目标向量可以为数据向量,或者可以为端口向量。数据向量与端口向量为正交关系,即当数据向量为行向量时,端口向量即为列向量,当数据向量为列向量时,端口向量即为行向量。由于匹配矩阵中同一行或同一列的元素对应于同一数据或同一数据端口,因此当对应于同一数据时,这些元素组成的向量即为数据向量,当对应于同一数据端口时,这些元素组成的向量即为端口向量。
目标向量对应于所有数据中端口匹配能力最差的数据,或者对应于所有数据端口中数据匹配能力最差的数据。例如,当目标向量为数据向量时,其对应的数据即为所有待分配数据中可用的数据端口最少的数据之一;当目标向量为端口向量时,其对应的数据端口即为所有待分配端口中可匹配的数据最少的数据端口之一。待分配数据即为未被分配数据端口的数据,待分配端口即为未被分配数据的数据端口。
S104:根据目标向量为目标数据分配目标数据端口,并更新匹配矩阵,重新确定目标向量,直至所有的数据均被分配有对应的数据端口。
在匹配矩阵中确定目标向量后,可以根据目标向量为对应的数据或数据端口进行分配,以便得到对应的数据端口或数据。在分配完毕后,可以更新匹配矩阵,避免已分配的数据和已分配的数据端口对其他数据和数据端口的分配过程造成影响,在更新匹配矩阵后重新确定目标向量,直至所有的矩阵均为分配有对应的数据端口,完成数据的仲裁过程。
进一步,在S104步骤过后,即在为所有的数据分配了对应的数据端口后,还可以执行后续操作,例如可以利用分配好的数据端口发送对应的数据,完成数据的传输。
由于在仲裁过程中先满足匹配能力较差的数据和数据端口的需求,因此在满足S101步骤描述的前提情况下,即M≥N且m≥n时,可以仅需一次正向仲裁即可为所有数据分配满足需求的数据端口,在解决“饿死”问题的基础上减少了仲裁所需的时间,提高了分配效率。在硬件实现上,可以将硬件电路的时钟周期设置的较短,提高硬件电路的工作速度。
应用本发明实施例提供的端口分配方法,利用端口匹配信息构建匹配矩阵,利用匹配矩阵表示所有数据的端口匹配情况,并从中选择目标向量。目标向量为数据向量时,其对应于所有数据中可匹配的端口数量最少的数据;目标向量为端口向量时,其对应于所有数据端口中可匹配的数据数量最少的数据端口。利用目标向量可以对匹配能力较差的数据和端口优先匹配,并在本次匹配结束后更新匹配矩阵以便对其他的数据和端口进行匹配,直至所有数据均分配到满足需求的数据端口,完成端口分配工作。由于只需一次正向仲裁即可为所有的数据分配合适的数据端口,无需进行回溯,因此提高了确定最终分配方案的速度,在硬件实现时可以减少时钟周期,提高了硬件电路的工作速度和端口分配的效率,解决了相关技术存在的电路工作速度较慢,端口分配效率较低的问题。
基于上述实施例,本实施例将说明一种具体的目标向量确定方法,以便在任意形式的匹配矩阵中快速确定目标向量。具体请参考图2,图2为本发明实施例提供的一种具体的目标向量确定方法流程图,包括:
S201:在匹配矩阵中确定候选数据向量。
在确定匹配矩阵后,现在匹配矩阵中确定候选数据向量。候选数据向量为候选数据对应的数据向量,候选数据为所有待分配数据中可用的数据端口最少的数据,即能够满足其需求的数据端口最少的数据。本实施例并不限定候选数据向量的数量,其可以为一个或多个。
S202:判断候选数据向量的数量是否小于待分配数据数量。
在确定候选数据向量后,统计候选数据向量的数量,并判断候选数据向量的数量是否小于待分配数据数量,即判断是不是所有的待分配数据对应的数据向量均为候选数据向量。若候选数据向量的数量小于待分配数据数量,可以进入S203步骤,若候选数据向量的数量不小于待分配数据数量,可以进入S204步骤。
S203:在候选数据向量中确定目标向量;
若候选数据向量的数量小于待分配数据数量,说明并不是所有的待分配数据对应的向量均为候选数据向量,因此可以在候选数据向量中确定目标向量,以便优先为其分配满足需求的数据端口。具体的,当候选数据向量仅有一个时,可以直接将其确定为目标向量;当候选数据向量的数量为多个时,可以按照预设确定规则确定目标向量,预设确定规则可以为随机确定规则,或者可以为其他规则,本实施例对此不做限定。
S204:在匹配矩阵中确定候选端口向量。
若候选数据向量的数量不小于待分配数据数量,说明候选数据向量的数量等于待分配数据的数量,所有的待分配数据对应的数据端口的数量均相同,在这种情况下,可以优先考虑数据端口的情况,即可以对对应的数据的数量较少的数据端口进行优先匹配,即为其优先分配数据。因此,在匹配矩阵中确定候选端口向量,候选端口向量对应于候选端口,候选端口为所有待分配端口中可匹配的数据最少的数据端口,即能够传输的数据最少的数据端口。本实施例并不限定候选端口向量的数量,其可以为一个或多个。
S205:判断候选端口向量的数量是否小于待分配端口数量。
在确定候选端口向量后,统计候选端口向量的数量,并判断候选端口向量的数量是否小于待分配端口数量,即判断是不是所有的待分配端口对应的端口向量均为候选端口向量。若候选端口向量的数量小于待分配端口数量,可以进入S206步骤,若候选端口向量的数量不小于待分配端口数量,可以进入S207步骤。
S206:在候选端口向量中确定目标向量。
若候选端口向量的数量小于待分配端口数量,说明并不是所有的待分配端口对应的向量均为候选端口向量,因此可以在候选端口向量中确定目标向量,以便优先为其分配可以满足需求的数据。具体的,当候选端口向量仅有一个时,可以直接将其确定为目标向量;当候选端口向量的数量为多个时,可以按照预设确定规则确定目标向量,预设确定规则可以为随机确定规则,或者可以为其他规则,本实施例对此不做限定。
S207:随机选择目标向量。
当候选端口向量的数量不小于待分配端口数量时,可以确定所有的待分配端口对应的向量均为候选端口向量。此时,各个数据之间以及各个数据端口之间并不存在匹配能力较差的数据和数据端口,因此可以在匹配矩阵中随机选择目标向量,即随机选择任一数据向量或任意端口向量作为目标向量。
基于上述方法,可以在任意的匹配矩阵中快速确定目标向量。由于目标向量可能为数据向量也可能为端口向量,因此在一种可能的实施方式中,在候选数据向量中确定目标向量之后,根据目标向量为目标数据分配目标数据端口的步骤,包括:
步骤11:利用目标向量确定候选数据端口,并在候选数据端口中确定目标数据端口。
在确定目标向量后,由于目标向量为数据向量,因此其记录了满足其对应的目标数据的需求的数据端口,即候选数据端口。在确定候选数据端口后,可以在候选数据端口中确定目标数据端口,具体的,当候选数据端口的数量为一个时,可以直接将其确定为目标数据端口,当候选数据端口的数量为多个时,可以在其中随机选择一个作为目标数据端口。
步骤12:为目标向量对应的目标数据分配目标数据端口。
本实施例并不限定分配的目标数据端口的具体方法,例如可以建立对应关系,利用该对应关系记录数据和端口之间的分配关系。
在另一种实施方式中,目标向量为端口向量,因此在候选端口向量中确定目标向量之后,根据目标向量为目标数据分配目标数据端口,并更新匹配矩阵的步骤,包括:
步骤13:利用目标向量确定候选数据,并在候选数据中确定目标数据;
当目标向量为端口向量时,其记录了满足其对应的目标数据端口可以传输的数据,即候选数据。在确定候选数据后,可以在候选数据中确定目标数据,具体的,当候选数据的数量为一个时,可以直接将其确定为目标数据,当候选数据的数量为多个时,可以在其中随机选择一个作为目标数据。
步骤14:为目标数据分配目标向量对应的目标数据端口。
在分配完毕后,需要对匹配矩阵进行更新,避免已分配的数据和数据端口对后续分配过程造成影响,具体的,匹配矩阵的更新过程,可以包括:
步骤21:在匹配矩阵中删除目标数据对应的目标数据向量和目标数据端口对应的目标端口向量。
本实施例中,通过直接删除匹配矩阵中的目标数据向量和目标端口向量完成对匹配矩阵的更新。相应的,在一种实施方式中,在检测所有数据均被分配有对应的数据端口的步骤,可以包括:
步骤22:判断匹配矩阵中是否包括元素。
本实施例中,可以在匹配矩阵更新完毕后判断匹配是否包括元素的方式进行是否全部分配的判断。当匹配矩阵中存在元素,说明还有数据没有被分配对应的数据端口。
步骤23:若匹配矩阵中不包括元素,则确定已为所有的数据分配数据端口。
在另一种实施方式中,可以统计已分配数据数量,通过对比已分配数据数量和获得的数据的数量是否相同的方式判断是否全部分配完毕。
基于上述实施例,本实施例将说明一种具体的端口分配过程。在本实施例中,有数据1、数据2、数据3、数据4和数据5共五个数据,同时有端口1、端口2、端口3、端口4、端口5、端口6共六个端口。具体的,数据1可对应于端口1、端口6;数据2可对应于端口2、端口3、端口4;数据3可对应于端口3、端口4、端口6;数据4可对应于端口2、端口3、端口5;数据5可对应于端口2、端口3、端口6。根据上述端口匹配信息,可以构建匹配矩阵,请参考图3,图3为本发明实施例提供的一种具体的匹配矩阵示意图。其中,数据向量为行向量,端口向量为列向量。其中,匹配的情况可以用1表示,不匹配的情况可以用0表示。
在得到匹配矩阵后,在匹配矩阵中确定目标向量,具体的,先确定候选数据向量。基于图3中的匹配矩阵,统计各个行向量中元素1的数量,并判断是否存在元素1的数量为1的数据向量。在确定不存在后,可以判断是否存在元素1的数量为2的数据向量,此时可以确定数据1对应的数据向量为候选数据向量,由于候选数据向量的数量仅有一个,因此直接将候选数据向量确定为目标向量,目标向量即为[1,0,0,0,0,1]。在确定目标向量后,在其中确定候选数据端口,即端口1和端口6,并在其中随机选择端口1作为目标数据端口,通过建立数据-端口对应关系的方式将端口1分配给数据1。
在完成数据1的分配后,更新匹配矩阵,得到图4所示的匹配矩阵,请参考图4,图4为本发明实施例提供的另一种具体的匹配矩阵示意图。可以看到,更新过程将数据1对应的数据向量和端口1对应的端口向量删除,即将第一个行向量与第一个列向量删除,完成更新。在更新后,重新确定目标向量,基于图4中的匹配矩阵,可以确定各个数据对应数据端口的数量相同,需要确定候选端口向量,端口2对应的1的数量为3,端口3对应的1的熟练为4,端口4对应的1的数量为2,端口5对应的1的数量为1,端口6对应的1的数量为2。因此将端口5对应的端口向量确定为候选端口向量,并确定为目标向量。由于目标向量表明,只有数据4与端口5匹配,因此可以将端口5分配给数据4。在分配完毕后更新匹配矩阵,得到图5所示的匹配矩阵,请参考图5,图5为本发明实施例提供的另一种具体的匹配矩阵示意图。在图4的匹配矩阵的基础上,删除了数据4对应的数据向量和端口5对应的端口向量。
以此类推,后续分配过程在此不再赘述,在所有数据均分配完毕后,可以得到所有数据与数据端口之间的对应关系。请参考图6,图6为本发明实施例提供的一种数据-端口对应关系示意图。
下面对本发明实施例提供的端口分配装置进行介绍,下文描述的端口分配装置与上文描述的端口分配方法可相互对应参照。
请参考图7,图7为本发明实施例提供的一种端口分配装置的结构示意图,包括:
获取模块710,用于获取多个数据和与多个数据对应的端口匹配信息;
匹配矩阵构建模块720,用于利用端口匹配信息构建匹配矩阵;
目标向量确定模块730,用于在匹配矩阵中确定目标向量;其中,目标向量为数据向量或端口向量;
数据端口分配模块740,用于根据目标向量为目标数据分配目标数据端口,并更新匹配矩阵,重新确定目标向量,直至所有的数据均被分配有对应的数据端口。
可选地,匹配矩阵构建模块720,包括:
数据向量生成单元,用于确定数据端口数量,并利用各个端口匹配信息和数据端口数量生成各个数据对应的数据向量;
构建单元,用于利用各个数据向量组成匹配矩阵。
可选地,目标向量确定模块730,包括:
第一判断单元,用于在匹配矩阵中确定候选数据向量,并判断候选数据向量的数量是否小于待分配数据数量;
第一确定单元,用于若候选数据向量的数量小于待分配数据数量,则在候选数据向量中确定目标向量;
第二判断单元,用于若候选数据向量的数量不小于待分配数据数量,则在匹配矩阵中确定候选端口向量,并判断候选端口向量的数量是否小于待分配端口数量;
第二确定单元,用于若候选端口向量的数量小于待分配端口数量,则在候选端口向量中确定目标向量;
第三确定单元,用于若候选端口向量的数量不小于待分配端口数量,则随机选择目标向量。
可选地,数据端口分配模块740,包括:
目标端口确定单元,用于利用目标向量确定候选数据端口,并在候选数据端口中确定目标数据端口;
第一分配单元,用于为目标向量对应的目标数据分配目标数据端口。
可选地,数据端口分配模块740,,包括:
目标数据确定单元,用于利用目标向量确定候选数据,并在候选数据中确定目标数据;
第二分配单元,用于为目标数据分配目标向量对应的目标数据端口。
可选地,数据端口分配模块740,包括:
向量删除单元,用于在匹配矩阵中删除目标数据对应的目标数据向量和目标数据端口对应的目标端口向量。
可选地,还包括:
发送模块,用于利用数据端口发送对应的数据。
下面对本发明实施例提供的端口分配设备进行介绍,下文描述的端口分配设备与上文描述的端口分配方法可相互对应参照。
请参考图8,图8为本发明实施例提供的一种端口分配设备的结构示意图。其中端口分配设备500可以包括处理器801和存储器802,还可以进一步包括多媒体组件803、信息输入/信息输出(I/O)接口804以及通信组件805中的一种或多种。
其中,处理器801用于控制端口分配设备500的整体操作,以完成上述的端口分配方法中的全部或部分步骤;存储器802用于存储各种类型的数据以支持在端口分配设备500的操作,这些数据例如可以包括用于在该端口分配设备500上操作的任何应用程序或方法的指令,以及应用程序相关的数据。该存储器802可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,例如静态随机存取存储器(Static Random Access Memory,SRAM)、电可擦除可编程只读存储器(Electrically Erasable Programmable Read-OnlyMemory,EEPROM)、可擦除可编程只读存储器(Erasable Programmable Read-Only Memory,EPROM)、可编程只读存储器(Programmable Read-Only Memory,PROM)、只读存储器(Read-Only Memory,ROM)、磁存储器、快闪存储器、磁盘或光盘中的一种或多种。
多媒体组件803可以包括屏幕和音频组件。其中屏幕例如可以是触摸屏,音频组件用于输出和/或输入音频信号。例如,音频组件可以包括一个麦克风,麦克风用于接收外部音频信号。所接收的音频信号可以被进一步存储在存储器802或通过通信组件805发送。音频组件还包括至少一个扬声器,用于输出音频信号。I/O接口804为处理器801和其他接口模块之间提供接口,上述其他接口模块可以是键盘,鼠标,按钮等。这些按钮可以是虚拟按钮或者实体按钮。通信组件805用于端口分配设备500与其他设备之间进行有线或无线通信。无线通信,例如Wi-Fi,蓝牙,近场通信(Near Field Communication,简称NFC),2G、3G或4G,或它们中的一种或几种的组合,因此相应的该通信组件805可以包括:Wi-Fi部件,蓝牙部件,NFC部件。
端口分配设备500可以被一个或多个应用专用集成电路(Application SpecificIntegrated Circuit,简称ASIC)、数字信号处理器(Digital Signal Processor,简称DSP)、数字信号处理设备(Digital Signal Processing Device,简称DSPD)、可编程逻辑器件(Programmable Logic Device,简称PLD)、现场可编程门阵列(Field ProgrammableGate Array,简称FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述实施例给出的端口分配方法。
下面对本发明实施例提供的计算机可读存储介质进行介绍,下文描述的计算机可读存储介质与上文描述的端口分配方法可相互对应参照。
本发明还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现上述的端口分配方法的步骤。
该计算机可读存储介质可以包括:U盘、移动硬盘、只读存储器(Read-OnlyMemory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应该认为超出本发明的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系属于仅仅用来将一个实体或者操作与另一个实体或者操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语包括、包含或者其他任何变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。
以上对本发明所提供的端口分配方法、端口分配装置、端口分配设备和计算机可读存储介质进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (5)
1.一种端口分配方法,其特征在于,包括:
获取多个数据和与多个所述数据对应的端口匹配信息;
利用所述端口匹配信息构建匹配矩阵;
在所述匹配矩阵中确定目标向量;其中,所述目标向量为数据向量或端口向量;
根据所述目标向量为目标数据分配目标数据端口,并更新所述匹配矩阵,重新确定所述目标向量,直至所有的所述数据均被分配有对应的数据端口;
所述利用所述端口匹配信息构建匹配矩阵,包括:
确定数据端口数量,并利用各个所述端口匹配信息和所述数据端口数量生成各个所述数据对应的所述数据向量;
利用各个所述数据向量组成所述匹配矩阵;
所述在所述匹配矩阵中确定目标向量,包括:
在所述匹配矩阵中确定候选数据向量,并判断所述候选数据向量的数量是否小于待分配数据数量;
若所述候选数据向量的数量小于所述待分配数据数量,则在所述候选数据向量中确定所述目标向量;
若所述候选数据向量的数量不小于所述待分配数据数量,则在所述匹配矩阵中确定候选端口向量,并判断所述候选端口向量的数量是否小于待分配端口数量;
若所述候选端口向量的数量小于所述待分配端口数量,则在所述候选端口向量中确定所述目标向量;
若所述候选端口向量的数量不小于所述待分配端口数量,则随机选择所述目标向量;
在所述候选数据向量中确定所述目标向量之后,所述根据所述目标向量为目标数据分配目标数据端口,包括:
利用所述目标向量确定候选数据端口,并在所述候选数据端口中确定所述目标数据端口;
为所述目标向量对应的所述目标数据分配所述目标数据端口;
或,在所述候选端口向量中确定所述目标向量之后,所述根据所述目标向量为目标数据分配目标数据端口,并更新所述匹配矩阵,包括:
利用所述目标向量确定候选数据,并在所述候选数据中确定所述目标数据;
为所述目标数据分配所述目标向量对应的所述目标数据端口;
所述更新所述匹配矩阵,包括:
在所述匹配矩阵中删除所述目标数据对应的目标数据向量和所述目标数据端口对应的目标端口向量。
2.根据权利要求1所述的端口分配方法,其特征在于,还包括:
利用所述数据端口发送对应的所述数据。
3.一种端口分配装置,其特征在于,包括:
获取模块,用于获取多个数据和与多个所述数据对应的端口匹配信息;
匹配矩阵构建模块,用于利用所述端口匹配信息构建匹配矩阵;
目标向量确定模块,用于在所述匹配矩阵中确定目标向量;其中,所述目标向量为数据向量或端口向量;
数据端口分配模块,用于根据所述目标向量为目标数据分配目标数据端口,并更新所述匹配矩阵,重新确定所述目标向量,直至所有的所述数据均被分配有对应的数据端口;
所述匹配矩阵构建模块具体用于确定数据端口数量,并利用各个所述端口匹配信息和所述数据端口数量生成各个所述数据对应的所述数据向量;利用各个所述数据向量组成所述匹配矩阵;
所述目标向量确定模块具体用于在所述匹配矩阵中确定候选数据向量,并判断所述候选数据向量的数量是否小于待分配数据数量;若所述候选数据向量的数量小于所述待分配数据数量,则在所述候选数据向量中确定所述目标向量;若所述候选数据向量的数量不小于所述待分配数据数量,则在所述匹配矩阵中确定候选端口向量,并判断所述候选端口向量的数量是否小于待分配端口数量;若所述候选端口向量的数量小于所述待分配端口数量,则在所述候选端口向量中确定所述目标向量;若所述候选端口向量的数量不小于所述待分配端口数量,则随机选择所述目标向量;
在所述候选数据向量中确定所述目标向量之后,所述数据端口分配模块具体用于利用所述目标向量确定候选数据端口,并在所述候选数据端口中确定所述目标数据端口;为所述目标向量对应的所述目标数据分配所述目标数据端口,并更新所述匹配矩阵,重新确定所述目标向量,直至所有的所述数据均被分配有对应的数据端口;
或,在所述候选端口向量中确定所述目标向量之后,所述数据端口分配模块具体用于利用所述目标向量确定候选数据,并在所述候选数据中确定所述目标数据;为所述目标数据分配所述目标向量对应的所述目标数据端口,重新确定所述目标向量,直至所有的所述数据均被分配有对应的数据端口;
所述更新所述匹配矩阵,包括:
在所述匹配矩阵中删除所述目标数据对应的目标数据向量和所述目标数据端口对应的目标端口向量。
4.一种端口分配设备,其特征在于,包括存储器和处理器,其中:
所述存储器,用于保存计算机程序;
所述处理器,用于执行所述计算机程序,以实现如权利要求1至2任一项所述的端口分配方法。
5.一种计算机可读存储介质,其特征在于,用于保存计算机程序,其中,所述计算机程序被处理器执行时实现如权利要求1至2任一项所述的端口分配方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010471519.3A CN111708634B (zh) | 2020-05-29 | 2020-05-29 | 一种端口分配方法、装置、设备及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010471519.3A CN111708634B (zh) | 2020-05-29 | 2020-05-29 | 一种端口分配方法、装置、设备及可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111708634A CN111708634A (zh) | 2020-09-25 |
CN111708634B true CN111708634B (zh) | 2022-07-05 |
Family
ID=72538760
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010471519.3A Active CN111708634B (zh) | 2020-05-29 | 2020-05-29 | 一种端口分配方法、装置、设备及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111708634B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112306922B (zh) * | 2020-11-12 | 2023-09-22 | 山东云海国创云计算装备产业创新中心有限公司 | 一种多数据对多端口的仲裁方法及相关装置 |
CN112995988B (zh) * | 2021-04-15 | 2021-08-03 | 深圳市乙辰科技股份有限公司 | 一种基于无线网络设备多网口的网口分配方法及装置 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9680552B2 (en) * | 2013-04-16 | 2017-06-13 | Lg Electronics Inc. | Method and apparatus for reporting channel state information in wireless communication system |
US9384168B2 (en) * | 2013-06-11 | 2016-07-05 | Analog Devices Global | Vector matrix product accelerator for microprocessor integration |
CN108762939A (zh) * | 2018-06-29 | 2018-11-06 | 郑州云海信息技术有限公司 | 一种PCIe端口资源分配方法、系统及设备和存储介质 |
CN110380925B (zh) * | 2019-06-28 | 2021-02-02 | 中国科学院信息工程研究所 | 一种网络设备探测中端口选择方法及系统 |
CN110737613A (zh) * | 2019-10-18 | 2020-01-31 | 苏州浪潮智能科技有限公司 | 一种存储控制器节点通信方法、装置、设备及存储介质 |
-
2020
- 2020-05-29 CN CN202010471519.3A patent/CN111708634B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN111708634A (zh) | 2020-09-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111708634B (zh) | 一种端口分配方法、装置、设备及可读存储介质 | |
KR102376713B1 (ko) | 복합 파티션 함수 제공 기법 | |
CN112783640B (zh) | 预先分配内存的方法与设备、电路、电子设备及介质 | |
CN112468596B (zh) | 一种集群仲裁方法、装置、电子设备及可读存储介质 | |
CN110458875B (zh) | 异常点对的检测方法、图像拼接方法、相应装置及设备 | |
CN110888797A (zh) | 测试数据生成方法、装置、计算机设备及存储介质 | |
CN112445729A (zh) | 操作地址确定方法、PCIe系统、电子设备及存储介质 | |
CN112052954A (zh) | 梯度提升树建模方法、装置以及终端 | |
CN110750307A (zh) | 一种微服务架构构建方法及装置 | |
WO2021057811A1 (zh) | 网络节点处理方法、装置、存储介质及电子设备 | |
CN113419672A (zh) | 一种存储容量管理方法、系统及存储介质 | |
CN112527416A (zh) | 任务处理方法、装置、计算机设备和存储介质 | |
CN111338607A (zh) | 一种用于测试的业务数据的选择方法、装置及电子设备 | |
US20210382872A1 (en) | Blockchain-based Data Storage Method, Related Device and Storage Medium | |
CN108256647B (zh) | 规则执行请求处理方法、装置、存储介质和电子设备 | |
CN109101191B (zh) | 数据存储方法、装置和存储介质以及电子设备 | |
CN113708983B (zh) | 一种分布式节点id生成方法、装置、设备及存储介质 | |
CN111026615B (zh) | 一种逻辑卷列表获取方法、装置及电子设备和存储介质 | |
CN110737533B (zh) | 一种任务调度方法、装置及电子设备和存储介质 | |
CN113608847A (zh) | 任务处理方法、装置、设备及存储介质 | |
CN106156169B (zh) | 离散数据的处理方法和装置 | |
CN114328619A (zh) | 多要素数据匹配方法及装置 | |
CN109462543B (zh) | 邮件下载方法、装置、计算机设备和存储介质 | |
CN111858630B (zh) | 一种数据处理方法、装置、设备及可读存储介质 | |
CN111240762B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |