CN113300976A - 一种数据的传输方法、装置、存储介质及电子设备 - Google Patents
一种数据的传输方法、装置、存储介质及电子设备 Download PDFInfo
- Publication number
- CN113300976A CN113300976A CN202110552146.7A CN202110552146A CN113300976A CN 113300976 A CN113300976 A CN 113300976A CN 202110552146 A CN202110552146 A CN 202110552146A CN 113300976 A CN113300976 A CN 113300976A
- Authority
- CN
- China
- Prior art keywords
- data
- transmitted
- queue
- channel
- queue channel
- 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.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/24—Traffic characterised by specific attributes, e.g. priority or QoS
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/08—Payment architectures
- G06Q20/10—Payment architectures specially adapted for electronic funds transfer [EFT] systems; specially adapted for home banking systems
- G06Q20/102—Bill distribution or payments
Landscapes
- Business, Economics & Management (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- Engineering & Computer Science (AREA)
- Development Economics (AREA)
- Strategic Management (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Economics (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本公开提供了一种订单数据的传输方法、装置、存储介质及电子设备,该方法包括:接收待传输数据,确定待传输数据的特征值;基于特征值,在多个队列通道中确定对应于待传输数据的第一队列通道;其中,具有相同的特征值的多个待传输数据为关联数据,关联数据通过相同的队列通道传输;基于第一队列通道传输待传输数据。本公开通过对待传输的数据的特征值进行确定,即便待传输数据的类型存在差异,也可以使具有相同特征值的待传输数据从同一个通道进行传输,不需要依赖业务逻辑即可以保证数据传输的有序性,提升了数据传输的效率;同时,传输通道与业务逻辑解绑,方便进行传输通道的调整和扩展,进一步提升了传输效率。
Description
技术领域
本公开涉及数据处理技术领域,特别涉及一种数据的传输方法、装置、存储介质及电子设备。
背景技术
在数据的传输过程中,通常情况下数据的传输是无序的,一般是基于数据到达或者生成的顺序进行传输的,但是在一些特定场景下,需要保证数据的有序性。例如,在向订单中心传递订单数据时,需要保证优先传递同一订单的支付订单之后再传递相应的退款订单,现有技术通常在实现时会根据订单数据的类型将支付订单和退款订单分别使用两个通道进行传输,优先将一批支付订单数据传入对应通道,等通道处理完这批支付订单之后才能将其对应的退款订单放入退款通道中进行处理,这种方式可以实现按照先后顺序方传递,但是用于传输的通道的数量固定,强依赖业务的逻辑属性且不易扩展,并且在应对大量的订单传递时效率较低,通用性较差。
发明内容
本公开实施例的目的在于提供一种数据的传输方法、装置、存储介质及电子设备,用以解决现有技术中传输通道依赖业务逻辑设置,导致订单数据传输效率低的问题。
本公开的实施例采用如下技术方案:一种数据的传输方法,包括:接收待传输数据,确定所述待传输数据的特征值;基于所述特征值,在所有队列通道中确定对应于所述待传输数据的第一队列通道,其中,具有相同的特征值的多个待传输数据为关联数据,所述关联数据通过相同的队列通道传输;基于所述第一队列通道传输所述待传输数据。
进一步,所述确定所述待传输数据的特征值包括:计算所述待传输数据中的指定参数的哈希值,将所述哈希值确定为所述待传输数据的特征值;其中,所述关联数据中的指定参数相同。
进一步,在所述待传输数据为订单数据的情况下,所述接收待传输数据,确定所述待传输数据的特征值,包括:接收待传输的订单数据,计算所述订单数据中的订单标识的哈希值,将所述订单标识的哈希值作为所述订单数据的特征值。
进一步,所述订单标识的哈希值通过以下方式确定:将所述订单标识除以预设数值所得到的余数作为所述订单标识的哈希值。
进一步,在基于所述第一队列通道传输所述待传输数据之前,所述传输方法还包括:检测所述第一队列通道的第一容量使用率;在所述第一容量使用率超过第一阈值的情况下,在所述多个队列通道中基于所述特征值确定第二队列通道,其中,所述第二队列通道的第二容量使用率未超过第二阈值;基于所述第二队列通道传输所述待传输数据。
进一步,所述基于所述第二队列通道传输所述待传输数据之前,还包括:判断所述待传输数据是否存在已经通过所述第一队列通道传输的关联数据;在所述待传输数据存在已经通过所述第一队列通道传输的关联数据的情况下,基于所述第一队列通道传输所述待传输数据;在所述待传输数据不存在已经通过所述第一队列通道传输的关联数据的情况下,基于所述第二队列通道传输所述待传输数据。
进一步,在满足预设条件下,基于所述待传输数据调整所述多个队列通道的通道参数。
进一步,所述多个队列通道的通道参数至少包括以下之一:所述多个队列通道中队列通道的数量;所述多个队列通道中队列通道的容量;所述特征值与所述一级队列通道中所述队列通道之间的对应关系。
进一步,所述多个队列通道为一级队列通道,在基于所述第一队列通道传输所述待传输数据之前,该方法还包括:检测所述一级队列通道中的所有队列通道的容量使用率;在所述一级队列通道中每个队列通道的容量使用率均超过对应阈值的情况下,在二级队列通道中基于所述特征值确定对应于所述待传输数据的队列通道,基于所述二级队列通道中对应队列通道传输所述待传输数据,所述二级队列通道包括至少一个队列通道。
本公开的实施例还提供了一种数据的传输装置,包括:接收模块,用于接收待传输数据,确定所述待传输数据的特征值;确定模块,用于基于所述特征值,在所有队列通道中确定对应于所述待传输数据的第一队列通道;其中,具有相同的特征值的多个待传输数据为关联数据,所述关联数据通过相同的队列通道传输;传输模块,用于基于所述第一队列通道传输所述待传输数据。
本公开的实施例还提供了一种存储介质,所述存储介质上存储有计算机程序,在所述计算机程序被处理器执行时,执行上述的数据的传输方法的步骤。
本公开的实施例还提供了一种电子设备,至少包括存储器、处理器,所述存储器上存储有计算机程序,所述处理器在执行所述存储器上的计算机程序时实现上述的数据的传输方法的步骤。
本公开实施例的有益效果在于:通过对待传输的数据的特征值进行确定,即便待传输数据的类型存在差异,也可以使具有相同特征值的待传输数据从同一个通道进行传输,不需要依赖业务逻辑即可以保证数据传输的有序性,提升了数据传输的效率;同时,传输通道与业务逻辑解绑,方便进行传输通道的调整和扩展,进一步提升了传输效率。
附图说明
为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本公开中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本公开第一实施例中数据的传输方法的流程图;
图2为本公开第一实施例中一级队列通道及其子队列通道的设置示意图;
图3为本公开第一实施例中二级队列通道及其子队列通道的设置示意图;
图4为本公开第二实施例中数据的传输装置的结构示意图;
图5为本公开第二实施例中数据的传输装置的另一种结构示意图;
图6为本公开第四实施例中电子设备的结构示意图。
具体实施方式
此处参考附图描述本公开的各种方案以及特征。
应理解的是,可以对此处申请的实施例做出各种修改。因此,上述说明书不应该视为限制,而仅是作为实施例的范例。本领域的技术人员将想到在本公开的范围和精神内的其他修改。
包含在说明书中并构成说明书的一部分的附图示出了本公开的实施例,并且与上面给出的对本公开的大致描述以及下面给出的对实施例的详细描述一起用于解释本公开的原理。
通过下面参照附图对给定为非限制性实例的实施例的优选形式的描述,本公开的这些和其它特性将会变得显而易见。
还应当理解,尽管已经参照一些具体实例对本公开进行了描述,但本领域技术人员能够确定地实现本公开的很多其它等效形式,它们具有如权利要求的特征并因此都位于借此所限定的保护范围内。
当结合附图时,鉴于以下详细说明,本公开的上述和其他方面、特征和优势将变得更为显而易见。
此后参照附图描述本公开的具体实施例;然而,应当理解,所申请的实施例仅仅是本公开的实例,其可采用多种方式实施。熟知和/或重复的功能和结构并未详细描述以避免不必要或多余的细节使得本公开模糊不清。因此,本文所申请的具体的结构性和功能性细节并非意在限定,而是仅仅作为权利要求的基础和代表性基础用于教导本领域技术人员以实质上任意合适的详细结构多样地使用本公开。
本说明书可使用词组“在一种实施例中”、“在另一个实施例中”、“在又一实施例中”或“在其他实施例中”,其均可指代根据本公开的相同或不同实施例中的一个或多个。
为了解决订单数据在传输过程中存在的问题,本实施例提供了一种数据的传输方法,主要应用于各类数据传输场景,例如终端与服务器之间、终端与终端之间、服务器与服务器之间等,其中一方作为数据提供方,另一方作为数据接收方,二者之间通过队列通道实现数据传输。图1示出了本实施例中数据的传输方法的流程图,其主要包括步骤S101至S103:
S101,接收待传输数据,确定待传输数据的特征值。
本实施例中的数据可以为任意设备之间的通信传输的内容,尤其针对具有强关联特性的数据,例如在支付环境下的订单数据、在医疗环境下的诊断和药方数据等。例如,订单数据主要指需要进行传输的与订单相关的数据,例如支付订单数据、退款订单数据、换货订单数据或者查询订单数据等,同一个用户针对同一个货物所产生的支付订单数据、退款订单数据、换货订单数据之间可以称为关联数据,其中,退款订单数据和换货订单数据均是在支付订单数据的基础上所产生的,因此,在具有关联关系的多个待传输数据内均应至少包含相同的数据的特征,例如对于多个订单数据之间存在相同的订单标识、诊断数据和药方数据之间存在相同的就诊编号等。需要注意的是,本实施例所述的订单标识主要指支付订单数据的订单标识,退款订单数据或者换货订单数据均为基于支付订单生成,所以在退款订单数据或者换货订单数据中均应该包括其对应的支付订单的订单标识,以明确订单数据之间的关联性。
待传输数据的特征值主要用于进行后续传输用的队列通道的确定,每个特征值均具有对应的一个队列通道,但是一个队列通道可以传输多个特征值对应的待传输数据。本实施例中,特征值可以使用哈希值进行表示,通过特定的哈希函数对待传输数据中所包含的指定参数进行计算处理,得到的数值即作为该待传输数据的哈希值使用。具体地,通过特定的哈希函数在确定哈希值时,至少包括以下方式确定:例如,将订单数据的订单标识作为除数,设定一个预设数值作为被除数,预设数值不大于订单标识对应的数值,使用订单标识除以预设数值之后所得到的余数即可作为订单数据的哈希值使用;或者,还可以通过获取订单数据的订单标识中特定位数的数值作为订单数据的哈希值,例如取订单标识的倒数第二位;还可以通过例如折叠法或平方取中等方式确定。
应当注意的是,上述确定订单数据哈希值的方式,在计算具有关联性的多个订单数据的哈希值时,对于支付订单数据来说,可直接使用自身的订单标识进行计算,对于退款订单或者换货订单来说,其使用的是其关联的支付订单的订单标识进行哈希值计算,由于计算所使用的订单标识均相同,因此具有关联性的多个订单数据所计算出的哈希值也相同。
S102,基于特征值,在多个队列通道中确定对应于待传输数据的第一队列通道。
队列通道是主要用于传输待传输数据的通道,其输入端接收待传输的数据,输出端则为用于对待传输数据进行后续处理的程序或终端。队列通道的数量通常情况下为多个,每个队列通道分别对应至少一个特征值,用于传输具有该特征值的待传输数据;需要注意的是,不同的队列通道对应的特征值不同,而每个特征值只能对应所有队列通道中的其中一个队列通道。本实施例中,特征值与队列通道之间的对应关系可以为管理人员预先设置的,其具体可以根据特征值可能出现的数值以及队列通道的数量进行确定,并且在后续使用过程中,队列通道的数量以及各个队列通道与特征值的对应关系还可以根据数据传输情况进行调整。
在进行数据传输时,根据预先设定的特征值和队列通道之间的对应关系,在所有队列通道中选择待传输数据的特征值所对应的第一队列通道,并将待传输数据通过该第一队列通道进行传输。进一步地,对于具有关联性的两个或多个待传输数据,由于其具有相同的特征值,在传输时也会基于相同的队列通道进行传输。
在一些实施例中,队列通道可以分为具有不同优先级的队列通道,例如优先设置一级队列通道,一级队列通道为至少一个队列通道的集合,在一般的传输情况下,主要通过一级队列通道中所包含的队通道进行数据的传输。例如,在确定订单数据的特征值之后,根据预先设定的对应关系,在一级队列通道中确定对应于该订单数据的第一队列通道,即可将该订单数据通过该第一队列通道进行传输。进一步地,对于具有关联性的两个或多个订单数据,由于其在计算特征值时均使用的是支付订单数据的订单标识,因此,其对应得到的特征值相同,在传输时也会基于相同的队列通道进行传输。
图2示出了一级队列通道及其子队列通道的设置示意图,其中,一级队列通道中包括五个队列通道,分别为通道1至通道5;本实施例中以取余数的方式确定订单数据的特征值,并且设定预设数值为10,即订单数据具有的特征值共有0至9十种可能;进一步,设置一级队列通道中的通道1用于传输特征值为0和1的订单数据,通道2用于传输特征值为2和3的订单数据,以此类推,通道5则用于传输特征值为8和9的订单数据。在实际使用时,例如当前需要传输的订单数据为支付订单A,其订单标识为12345678,那么将其订单标识除以10之后得到的余数为8,即可确定支付订单A通过通道5进行传输;若当前需要传输的订单数据为支付订单B,其订单标识为98765432,那么将其订单标识除以10之后得到的余数为2,即可确定支付订单B通过通道2进行传输;若当前需要传输的订单数据为退款订单C,并且退款订单C为支付订单B对应的退款单,则退款订单C的订单标识同样为98765432,其对应的特征值同样为2,对应使用通道2进行传输即可。
需要注意的是,上述实施例仅为订单数据的特征值,以及订单数据传输通道确定的其中一种实施方式,在确定特征值的方式不同、特征值可能存在的数量不同、或者队列通道数量不同时,上述确定队列通道的方式可能存在变化,本实施例在此不进行限制。
S103,基于第一队列通道传输待传输数据。
对于多个互相之间存在关联的待传输数据来说,各个待传输数据之间一定存在生成时间上的先后顺序,例如退款订单一定是在支付订单存在的基础上生成的,药方数据一定是在诊断数据存在后进行开具的,因此,先生成的数据在传输顺序上也一定早于后生成的数据,进而保证数据之间传输的有序性。在其基础上,由于本实施例在确定传输使用的队列通道时,仅基于待传输数据的特征值进行确定,只要其具有相同的特征值,其均可以通过同一个队列通道进行传输,不需要根据待传输数据的类型使用不同通道分别传输,在保证数据传输有序性的同时提升了数据传输的效率。
进一步地,在所有队列通道中各个队列通道传输数据的过程中,还可以根据各个队列的容量使用情况对待传输数据所使用的传输队列通道进行实时调整。例如,基于当前待传输数据的特征值,确定使用第一队列通道进行传输,在传输之前,可首先检测第一队列通道的第一容量使用率,若第一容量使用率超过第一阈值(例如70%)时,可表示第一队列通道当前处于拥堵状态,此时使用第一队列通道进行订单数据的传输可能造成较长时间的等待,在这种情况下,停止通过第一队列通道传输该待传输数据,并在所有队列通道中基于该待传输数据的特征值确定一个与第一队列通道不同的第二队列通道,并使用第二队列通道传输该待传输数据,保证在第一队列通道拥堵的情况下依然可以及时进行待传输数据的传输,保证数据传输的时效性。需要注意的是,第二队列通道的第二容量使用率不应当超过一个预设的第二阈值,第二阈值可以与第一阈值相同,也可以小于第一阈值,若一级队列通道中存在多个容量使用率未超过第二阈值的队列通道,则可以选择其中容量使用率最低的通道作为第二队列通道,以进一步保证待传输数据传输的时效性。在实际使用时,在第一队列通道的第一容量使用率降低至第一阈值以下时,可恢复第一队列通道的数据输入。
结合图2所示的各个子队列通道,基于支付订单A的订单标识,其原本应当通过通道5(第一队列通道)进行传输,但是在传输之前,经检测发现通道5的容量使用率已经超过70%(第一阈值),依旧使用通道5传输支付订单A容易导致传输延时,此时,停止向通道5传输订单数据,针对原本需要通过通道5传输的支付订单A,在所有队列通道除通道5以外的其他四个通道中再选择一个通道(即第二队列通道)进行支付订单A的传输,此时可分别检测通道1至通道4的容量使用率,选择容量使用率未超过第二阈值的通道进行支付订单A的传输,第二阈值可以是50%,若在通道1至通道4中,通道1和通道3的容量使用率均小于50%,则选择容量使用率更小的通道进行传输。
在实际使用时,还可能出现以下情况:当前传输的是退款订单,在传输该退款订单时,基于其原本的订单标识应当通过第一队列通道进行传输,但是第一队列通道此时处于拥堵状况,此时应当使用处于空闲状态的第二队列通道进行传输,但是若其对应的支付订单已经通过第一队列通道进行传输,此时将退款订单通过不同的队列通道传输,可能造成退款订单先于支付订单进行传输,或者二者使用不同通道传输。因此,在一些实施例中,若当前待传输的数据原本应当使用的第一队列通道在拥堵需要切换至第二队列通道进行传输之前,可以先判断该待传输数据是否存在已经通过第一队列通道传输的关联数据,若存在已经通过第一队列通道传输的关联数据,则当前的待传输数据也需要通过第一队列通道进行传输,以保证待传输数据与其关联数据通过同一个通道传输;若不存在已经传输的关联数据,则可通过重新确定的第二队列通道进行传输待传输数据。在本发明的一个实施例中,可以判断该待传输数据是否为关联数据中的首个产生的数据,如果不是,则存在已经通过第一队列通道传输的关联数据。
在实际使用的过程中,可以根据多个队列通道中各个队列通道的实际使用情况满足预设条件的情况下,对多个队列通道的通道参数进行调整。具体地,本实施例中所设置的预设条件,可以是管理人员根据实际传输需求或历史经验对多个队列通道中各个子队列通道的使用情况进行的限制,其具体可以包括以下几种情况之一:(1)检测多个队列通道中各个队列通道的容量使用率,在存在至少一个队列通道的容量使用率超过预设阈值,证明该队列通道处于拥堵状态,并且在队列通道处于拥堵状态的持续时长或者累计时长超过一定限值时,认定满足预设条件;(2)检测多个队列通道中各个队列通道的容量使用率,在同时存在预设数量的队列通道的容量使用率超过预设阈值时,认定满足预设条件;(3)检测多个队列通道中各个队列通道传输数据的速率,若同时存在预设数量的传输速率低于速率阈值的队列通道,认定满足预设条件。应当了解的是,上述满足预设条件的几种情况只是实际使用中可能出现的几种实施方式,在实际使用时可能出现的其他表示传输拥堵的情况,也可以作为预设条件使用,本实施例不进行限制。
本实施例中多个队列通道的通道参数至少包括以下之一:多个队列通道中队列通道的数量、多个队列通道中队列通道的容量、特征值与多个队列通道中队列通道之间的对应关系。在对多个队列通道的通道参数进行调整时,可以根据其所满足的预设条件的具体情况进行调整。例如,当其所满足的预设条件为队列通道的容量使用率超过预设阈值,并且持续时间超过一定限值时,可以通过扩展该队列通道的容量实现调整,或者增加队列通道的数量,并重新调整特征值与队列通道的对应关系,例如减少处于拥堵状态的队列所对应的特征值数量,进而降低其所需要传输的数据的数量。需要注意的是,在调整队列通道的容量或者数量或者与特征值之间的对应关系时,可根据队列通道的拥堵程度对调整的幅度进行设置,也可以在满足预设条件时将拥堵情况进行上报,由管理人员进行人为调整。
在遇到突发订单量过大时,容易存在多个队列通道中的所有队列通道均处于阻塞状态,后续待传输数据无法传输时则容导致丢失情况发生,为了避免上述情况出现,在设置一级队列通道的基础上,本实施例还设置有二级队列通道,二级队列通道中包括至少一个队列通道,同样用于传输数据。在使用一级队列通道传输数据的过程中,实时检测一级队列通道中的所有队列通道的容量使用率,在一级队列通道中的每个队列通道的容量使用率均超过对应阈值的情况下,则在二级队列通道中基于待传输数据的特征值确定对应于该待传输数据的队列通道,并使用该二级队列通道中的队列通道进行待传输数据传输,以实现突发大量待传输数据涌入时,通过应急的二级队列通道分流待传输数据,避免丢失情况发生,并且保证了待传输数据传输的时效性。
图3示出了本实施例中二级队列通道及其子队列通道的设置示意图,其中,二级队列通道中共包括两条队列通道,分别为通道6和通道7,在使用一级队列通道传输订单数据时若检测到一级队列通道中的所有队列通道的容量使用率均超过对应阈值的情况下,停止向一级队列通道传输新的订单数据,转而使用二级通道队列进行应急处理。二级队列通道中通道6对应用于传输特征值为0至4的订单数据,通道7则对应传输特征值为5至9的订单数据,若在传输支付订单A之前发现一级队列通道中通道1至5的容量使用率均超过阈值(例如90%),则使用二级队列通道中的通道7传输支付订单A;在一级队列通道中通道1至5的容量使用率恢复正常时,可重新使用一级队列通道进行数据传输。本实施例中所设置的二级队列通道的子队列通道的数量仅为一种实施方式,其具体设置的数量以及每个子队列通道的容量等通道参数同样可基于实际情况进行调整。
进一步地,本实施例还可以设置监控机制,用以监控一级队列通道和二级队列通道,当一级队列通道和二级队列通道均出现异常或者队列通道内数据出现阻塞传递的情况下,监控机制可以实现向管理人员的实时告警,提醒相关人员处理,避免因传输通道故障或数据阻塞造成订单丢失,或影响后续处理流程。例如,可通过监控系统实时监控一级队列通道和二级队列通道中各个队列通道的容量使用率以及数据传输情况,若监控发现一级队列通道或二级队列通道中存在数据传输失败或丢包情况,则可以上报至管理人员进行故障排查,或者,在其发现一级队列通道和二级队列通道中所有队列通道的容量使用率均超过限定的阈值,则说明短时间内到达的数据量过大,通道无法容纳,此时需及时上报至管理人员,以尽快实现人为干预调整,防止因数据量过大无法传输导致大量数据丢失的情况发生。
本公开的第二实施例提供了一种数据的传输装置,该传输装置可以作为待传输数据在通过通道传输之前的派发装置,用以确定每个待传输数据具体使用哪个队列通道传输,并且,传输装置还可以同时具备对传输通道进行检测和调整的功能。图4示出了本实施例中传输装置的结构示意图,其主要包括接收模块10用于接收待传输数据,确定待传输数据的特征值;确定模块20用于基于特征值,在多个队列通道中确定对应于待传输数据的第一队列通道,其中,具有相同的特征值的待传输数据为关联数据,关联数据通过相同的队列通道传输;传输模块30用于基于第一队列通道传输待传输数据。应当了解的是,本实施例中所提供的传输装置所实现的功能以及在其实现功能中所使用的具体手段或原理已在本公开第一实施例中进行了详细说明,本实施例在此不再重复赘述。
在一些实施例中,确定所述待传输数据的特征值包括:计算所述待传输数据中的指定参数的哈希值,将所述哈希值确定为所述待传输数据的特征值;其中,所述关联数据中的指定参数相同。哈希值的具体确定方式已在第一实施例中进行说明,在此不再重复赘述。具体地,在待传输数据为订单数据的情况下,接收待传输的订单数据之后,计算订单数据中的订单标识的哈希值,将订单标识的哈希值作为订单数据的特征值。例如,将订单标识除以预设数值所得到的余数作为订单标识的哈希值。
在一些实施例中,队列通道可以分为具有不同优先级的队列通道,例如优先设置一级队列通道,一级队列通道为至少一个队列通道的集合,在一般的传输情况下,主要通过一级队列通道中所包含的队通道进行数据的传输。例如,在确定订单数据的特征值之后,根据预先设定的对应关系,在一级队列通道中确定对应于该订单数据的第一队列通道,即可将该订单数据通过该第一队列通道进行传输。进一步地,对于具有关联性的两个或多个订单数据,由于其在计算特征值时均使用的是支付订单数据的订单标识,因此,其对应得到的特征值相同,在传输时也会基于相同的队列通道进行传输。
在一些实施例中,如图5所示,传输装置还可以包括第一检测模块40,其中,第一检测模块40用于检测第一队列通道的第一容量使用率,在第一容量使用率超过第一阈值的情况下,停止通过第一队列通道传输待传输数据,由确定模块20在多个队列通道中基于特征值确定第二队列通道,其中,第二队列通道的第二容量使用率未超过第二阈值;随后传输模块30控制订单数据通过第二队列通道传输待传输数据。
在一些实施例中,若当前待传输的数据原本应当使用的第一队列通道在拥堵需要切换至第二队列通道进行传输之前,由确定模块20先判断该待传输数据是否存在已经通过第一队列通道传输的关联数据,若存在已经通过第一队列通道传输的关联数据,则当前的待传输数据也需要通过第一队列通道进行传输,以保证待传输数据与其关联数据通过同一个通道传输;若不存在已经传输的关联数据,则可通过重新确定的第二队列通道进行传输待传输数据。
传输装置还可以包括调整模块50,在满足预设条件下,调整模块50可以基于待传输数据调整多个队列通道的通道参数。其中,多个队列通道的通道参数至少包括以下之一:多个队列通道中队列通道的数量、多个队列通道中队列通道的容量、特征值与多个队列通道中队列通道之间的对应关系,调整模块50可基于当前多个队列通道以及待传输数据的实际情况调整多个队列通道的通道参数,具体可能存在的调整方式已在第一实施例中进行说明,在此不再重复赘述。
在一些实施例中,在设置一级队列通道的基础上,传输装置还可以包括第二检测模块60,用于检测一级队列通道中的所有队列通道的容量使用率,在一级队列通道中每个队列通道的容量使用率均超过对应阈值的情况下,确定模块20在二级队列通道中基于特征值确定对应于待传输数据的队列通道,二级队列通道包括至少一个队列通道,随后传输模块30控制待传输数据通过二级队列通道中确定的队列通道传输待传输数据。
在一些实施例中,传输装置还可以包括监控模块(图中未示出),用以监控一级队列通道和二级队列通道,当一级队列通道和二级队列通道均出现异常或者队列通道内数据出现阻塞传递的情况下,监控机制可以实现向管理人员的实时告警,提醒相关人员处理,避免因传输通道故障或数据阻塞造成数据丢失,或影响后续处理流程。
本公开第三实施例提供了一种存储介质,该存储介质可安装于任意一种电子设备中,该电子设备与待传输数据输出方以及传输通道连接,该存储介质具体为计算机可读介质,存储有计算机程序,该计算机程序被处理器执行时实现本公开任意实施例提供的方法,包括如下步骤S21至S23:
S21,接收待传输数据,确定待传输数据的特征值;
S22,基于特征值,在多个队列通道中确定对应于待传输数据的第一队列通道;其中,具有相同的特征值的待传输数据为关联数据,关联数据通过相同的队列通道传输;
S23,基于第一队列通道传输待传输数据。
计算机程序被处理器执行确定待传输数据的特征值时,具体执行如下步骤:计算待传输数据中的指定参数的哈希值,将哈希值确定为待传输数据的特征值;其中,关联数据中的指定参数相同。
具体地,在待传输数据为订单数据的情况下,计算机程序被处理器执行接收待传输数据,确定待传输数据的特征值时,具体执行如下步骤:接收待传输的订单数据,计算订单数据中的订单标识的哈希值,将订单标识的哈希值作为订单数据的特征值。
计算机程序被处理器执行如下步骤以确定订单标识的哈希值:将订单标识除以预设数值所得到的余数作为订单标识的哈希值。
计算机程序被处理器执行基于第一队列通道传输待传输数据之前,还被处理器执行如下步骤:检测第一队列通道的第一容量使用率;在第一容量使用率超过第一阈值的情况下,在多个队列通道中基于特征值确定第二队列通道,其中,第二队列通道的第二容量使用率未超过第二阈值;基于第二队列通道传输待传输数据。
计算机程序被处理器执行基于第二队列通道传输待传输数据之前,还被处理器执行如下步骤:判断待传输数据是否存在已经通过第一队列通道传输的关联数据;在待传输数据存在已经通过第一队列通道传输的关联数据的情况下,基于第一队列通道传输待传输数据;在待传输数据不存在已经通过第一队列通道传输的关联数据的情况下,基于第二队列通道传输待传输数据。
计算机程序还被处理器执行如下步骤:在满足预设条件下,基于待传输数据调整多个队列通道的通道参数。具体地,多个队列通道的通道参数至少包括以下之一:多个队列通道中队列通道的数量;多个队列通道中队列通道的容量;特征值与一级队列通道中队列通道之间的对应关系。
计算机程序被处理器执行多个队列为一级队列,在基于第一队列通道传输待传输数据之前,还被处理器执行如下步骤:检测一级队列通道中的所有队列通道的容量使用率;
在一级队列通道中每个队列通道的容量使用率均超过对应阈值的情况下,在二级队列通道中基于特征值确定对应于待传输数据的队列通道,基于二级队列通道中对应队列通道传输待传输数据,二级队列通道包括至少一个队列通道。
本实施例通过对待传输的数据的特征值进行确定,即便待传输数据的类型存在差异,也可以使具有相同特征值的待传输数据从同一个通道进行传输,不需要依赖业务逻辑即可以保证数据传输的有序性,提升了数据传输的效率;同时,传输通道与业务逻辑解绑,方便进行传输通道的调整和扩展,进一步提升了传输效率。
本公开的第四实施例提供了一种电子设备,该电子设备与待传输数据输出方以及传输通道连接,其结构示意图如图6所示,至少包括存储器100和处理器200,存储器100上存储有计算机程序,处理器200在执行存储器100上的计算机程序时实现本公开任意实施例提供的方法。示例性的,电子设备计算机程序步骤如下S31至S33:
S31,接收待传输数据,确定待传输数据的特征值;
S32,基于特征值,在多个队列通道中确定对应于待传输数据的第一队列通道;其中,具有相同的特征值的待传输数据为关联数据,关联数据通过相同的队列通道传输;
S33,基于第一队列通道传输待传输数据。
处理器在执行存储器上存储的确定待传输数据的特征值时,具体执行如下计算机程序:计算待传输数据中的指定参数的哈希值,将哈希值确定为待传输数据的特征值;其中,关联数据中的指定参数相同。
具体地,在待传输数据为订单数据的情况下,处理器在执行存储器上存储的接收待传输数据,确定待传输数据的特征值时,具体执行如下计算机程序:接收待传输的订单数据,计算订单数据中的订单标识的哈希值,将订单标识的哈希值作为订单数据的特征值。
处理器在执行存储器上存储的确定订单标识的哈希值时,具体执行如下计算机程序:将订单标识除以预设数值所得到的余数作为订单标识的哈希值。
处理器在执行存储器上存储的在基于第一队列通道传输待传输数据之前,还执行如下计算机程序:检测第一队列通道的第一容量使用率;在第一容量使用率超过第一阈值的情况下,在多个队列通道中基于特征值确定第二队列通道,其中,第二队列通道的第二容量使用率未超过第二阈值;基于第二队列通道传输待传输数据。
处理器在执行存储器上存储的基于第二队列通道传输待传输数据之前,还执行如下计算机程序:判断待传输数据是否存在已经通过第一队列通道传输的关联数据;在待传输数据存在已经通过第一队列通道传输的关联数据的情况下,基于第一队列通道传输待传输数据;在待传输数据不存在已经通过第一队列通道传输的关联数据的情况下,基于第二队列通道传输待传输数据。
处理器还执行在执行存储器上存储的如下计算机程序:在满足预设条件下,基于待传输数据调整多个队列通道的通道参数。具体地,多个队列通道的通道参数至少包括以下之一:多个队列通道中队列通道的数量;多个队列通道中队列通道的容量;特征值与一级队列通道中队列通道之间的对应关系。
处理器在执行存储器上存储的多个队列为一级队列,在基于第一队列通道传输待传输数据之前,还执行如下计算机程序:检测一级队列通道中的所有队列通道的容量使用率;在一级队列通道中每个队列通道的容量使用率均超过对应阈值的情况下,在二级队列通道中基于特征值确定对应于待传输数据的队列通道,基于二级队列通道中对应队列通道传输待传输数据,二级队列通道包括至少一个队列通道。
本实施例通过对待传输的数据的特征值进行确定,即便待传输数据的类型存在差异,也可以使具有相同特征值的待传输数据从同一个通道进行传输,不需要依赖业务逻辑即可以保证数据传输的有序性,提升了数据传输的效率;同时,传输通道与业务逻辑解绑,方便进行传输通道的调整和扩展,进一步提升了传输效率。
以上对本公开多个实施例进行了详细说明,但本公开不限于这些具体的实施例,本领域技术人员在本公开构思的基础上,能够做出多种变型和修改实施例,这些变型和修改都应落入本公开所要求保护的范围之内。
Claims (12)
1.一种数据的传输方法,其特征在于,包括:
接收待传输数据,确定所述待传输数据的特征值;
基于所述特征值,在多个队列通道中确定对应于所述待传输数据的第一队列通道;其中,具有相同的特征值的多个待传输数据为关联数据,所述关联数据通过相同的队列通道传输;
基于所述第一队列通道传输所述待传输数据。
2.根据权利要求1所述的传输方法,其特征在于,所述确定所述待传输数据的特征值包括:
计算所述待传输数据中的指定参数的哈希值,将所述哈希值确定为所述待传输数据的特征值;其中,所述关联数据中的指定参数相同。
3.根据权利要求2所述的传输方法,其特征在于,在所述待传输数据为订单数据的情况下,所述接收待传输数据,确定所述待传输数据的特征值,包括:
接收待传输的订单数据,计算所述订单数据中的订单标识的哈希值,将所述订单标识的哈希值作为所述订单数据的特征值。
4.根据权利要求3所述的传输方法,其特征在于,所述订单标识的哈希值通过以下方式确定:
将所述订单标识除以预设数值所得到的余数作为所述订单标识的哈希值。
5.根据权利要求1所述的传输方法,其特征在于,在基于所述第一队列通道传输所述待传输数据之前,所述传输方法还包括:
检测所述第一队列通道的第一容量使用率;
在所述第一容量使用率超过第一阈值的情况下,在所述多个队列通道中基于所述特征值确定第二队列通道,其中,所述第二队列通道的第二容量使用率未超过第二阈值;
基于所述第二队列通道传输所述待传输数据。
6.根据权利要求5所述的传输方法,其特征在于,所述基于所述第二队列通道传输所述待传输数据之前,还包括:
判断所述待传输数据是否存在已经通过所述第一队列通道传输的关联数据;
在所述待传输数据存在已经通过所述第一队列通道传输的关联数据的情况下,基于所述第一队列通道传输所述待传输数据;
在所述待传输数据不存在已经通过所述第一队列通道传输的关联数据的情况下,基于所述第二队列通道传输所述待传输数据。
7.根据权利要求1所述的传输方法,其特征在于,在满足预设条件下,基于所述待传输数据调整所述多个队列通道的通道参数。
8.根据权利要求7所述的传输方法,其特征在于,所述多个队列通道的通道参数至少包括以下之一:
所述多个队列通道中队列通道的数量;
所述多个队列通道中队列通道的容量;
所述特征值与所述一级队列通道中所述队列通道之间的对应关系。
9.根据权利要求1至8中任一项所述的传输方法,其特征在于,所述多个队列通道为一级队列通道,在基于所述第一队列通道传输所述待传输数据之前,该方法还包括:
检测所述一级队列通道中的所有队列通道的容量使用率;
在所述一级队列通道中每个队列通道的容量使用率均超过对应阈值的情况下,在二级队列通道中基于所述特征值确定对应于所述待传输数据的队列通道,基于所述二级队列通道中对应队列通道传输所述待传输数据,所述二级队列通道包括至少一个队列通道。
10.一种数据的传输装置,其特征在于,包括:
接收模块,用于接收待传输数据,确定所述待传输数据的特征值;
确定模块,用于基于所述特征值,在多个队列通道中确定对应于所述待传输数据的第一队列通道;其中,具有相同的特征值的多个待传输数据为关联数据,所述关联数据通过相同的队列通道传输;
传输模块,用于基于所述第一队列通道传输所述待传输数据。
11.一种存储介质,存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至9中任一项所述的数据的传输方法的步骤。
12.一种电子设备,至少包括存储器、处理器,所述存储器上存储有计算机程序,其特征在于,所述处理器在执行所述存储器上的计算机程序时实现权利要求1至9中任一项所述的数据的传输方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110552146.7A CN113300976B (zh) | 2021-05-20 | 2021-05-20 | 一种数据的传输方法、装置、存储介质及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110552146.7A CN113300976B (zh) | 2021-05-20 | 2021-05-20 | 一种数据的传输方法、装置、存储介质及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113300976A true CN113300976A (zh) | 2021-08-24 |
CN113300976B CN113300976B (zh) | 2022-12-27 |
Family
ID=77323148
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110552146.7A Active CN113300976B (zh) | 2021-05-20 | 2021-05-20 | 一种数据的传输方法、装置、存储介质及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113300976B (zh) |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140281043A1 (en) * | 2013-03-15 | 2014-09-18 | Tommi M. Jokinen | System and method for transferring data between components of a data processor |
CN106599262A (zh) * | 2016-12-21 | 2017-04-26 | 深圳市易特科信息技术有限公司 | 医疗信息化医疗文件冗余清除系统及方法 |
US9892371B1 (en) * | 2014-07-28 | 2018-02-13 | ProSports Technologies, LLC | Queue information transmission |
CN107819828A (zh) * | 2017-10-16 | 2018-03-20 | 平安科技(深圳)有限公司 | 数据传输方法、装置、计算机设备和存储介质 |
US20180184453A1 (en) * | 2015-06-12 | 2018-06-28 | Canon Kabushiki Kaisha | Backoff based selection method of channels for data transmission |
CN108540380A (zh) * | 2017-03-02 | 2018-09-14 | 华为技术有限公司 | 多子流网络传输方法及装置 |
CN108683941A (zh) * | 2018-05-03 | 2018-10-19 | 浙江纷视网络信息技术有限公司 | 一种基于移动终端的iptv点播系统及点播方法 |
CN109600315A (zh) * | 2017-09-30 | 2019-04-09 | 阿里巴巴集团控股有限公司 | 数据通道的流控方法和调整方法 |
CN111817955A (zh) * | 2019-04-12 | 2020-10-23 | 阿里巴巴集团控股有限公司 | 数据传输系统、方法、装置和设备 |
-
2021
- 2021-05-20 CN CN202110552146.7A patent/CN113300976B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140281043A1 (en) * | 2013-03-15 | 2014-09-18 | Tommi M. Jokinen | System and method for transferring data between components of a data processor |
US9892371B1 (en) * | 2014-07-28 | 2018-02-13 | ProSports Technologies, LLC | Queue information transmission |
US20180184453A1 (en) * | 2015-06-12 | 2018-06-28 | Canon Kabushiki Kaisha | Backoff based selection method of channels for data transmission |
CN106599262A (zh) * | 2016-12-21 | 2017-04-26 | 深圳市易特科信息技术有限公司 | 医疗信息化医疗文件冗余清除系统及方法 |
CN108540380A (zh) * | 2017-03-02 | 2018-09-14 | 华为技术有限公司 | 多子流网络传输方法及装置 |
CN109600315A (zh) * | 2017-09-30 | 2019-04-09 | 阿里巴巴集团控股有限公司 | 数据通道的流控方法和调整方法 |
CN107819828A (zh) * | 2017-10-16 | 2018-03-20 | 平安科技(深圳)有限公司 | 数据传输方法、装置、计算机设备和存储介质 |
CN108683941A (zh) * | 2018-05-03 | 2018-10-19 | 浙江纷视网络信息技术有限公司 | 一种基于移动终端的iptv点播系统及点播方法 |
CN111817955A (zh) * | 2019-04-12 | 2020-10-23 | 阿里巴巴集团控股有限公司 | 数据传输系统、方法、装置和设备 |
Also Published As
Publication number | Publication date |
---|---|
CN113300976B (zh) | 2022-12-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8331237B2 (en) | Supervisory control method and supervisory control device | |
CN109245867B (zh) | 一种消息发送方法、计算机可读存储介质及终端设备 | |
US7636310B2 (en) | Communication control system and communication control method | |
CN109861920A (zh) | 一种弹性限流的方法及装置 | |
EP3264723B1 (en) | Method, related apparatus and system for processing service request | |
CN112671495B (zh) | 一种调整确定性时延的方法和系统 | |
CN110247816B (zh) | 指标监控方法及装置 | |
US11546215B2 (en) | Method, system, and device for data flow metric adjustment based on communication link state | |
US20180102951A1 (en) | BFD Method and Apparatus | |
KR950023101A (ko) | 계층 구조를 갖는 분산 교환 시스템의 상위 프로세서 과부하 제어 방법 | |
US7139830B2 (en) | Communication apparatus and congestion regulation control method | |
US20220053373A1 (en) | Communication apparatus, communication method, and program | |
CN113300976B (zh) | 一种数据的传输方法、装置、存储介质及电子设备 | |
US9462540B2 (en) | User equipment for mobile telecommunications and method for accessing a telecommunications network | |
US11991085B2 (en) | Data packet marking method and device, and data transmission system | |
CN115474264A (zh) | 发射功率调节方法、装置、终端及存储介质 | |
CN113938852A (zh) | 一种数据流量监控方法、smf网元、psa网元和可读存储介质 | |
CN111031564B (zh) | 一种f1接口性能监测方法、装置和计算机可读存储介质 | |
CN112039685B (zh) | 网络管理方法、装置、计算网络和物联网 | |
JPWO2006006208A1 (ja) | 無線基地局 | |
US20080282134A1 (en) | Methods and Apparatus for Detection of Performance Conditions in Processing System | |
JP2870469B2 (ja) | ネットワーク監視システム及び輻輳回避方法 | |
WO2024066623A1 (zh) | 调度策略的确定方法及相关装置 | |
JPH10190730A (ja) | トラフィック制御方法および装置 | |
CN112953605B (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 |