CN113422739A - 数据传输方法、发送端及数据传输*** - Google Patents
数据传输方法、发送端及数据传输*** Download PDFInfo
- Publication number
- CN113422739A CN113422739A CN202110688538.6A CN202110688538A CN113422739A CN 113422739 A CN113422739 A CN 113422739A CN 202110688538 A CN202110688538 A CN 202110688538A CN 113422739 A CN113422739 A CN 113422739A
- Authority
- CN
- China
- Prior art keywords
- data
- transmitted
- message queue
- partition
- application node
- 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
- 230000005540 biological transmission Effects 0.000 title claims abstract description 216
- 238000000034 method Methods 0.000 title claims abstract description 57
- 238000005192 partition Methods 0.000 claims abstract description 224
- 238000012546 transfer Methods 0.000 claims abstract description 37
- 230000002159 abnormal effect Effects 0.000 claims description 15
- 230000004044 response Effects 0.000 claims description 8
- 238000011084 recovery Methods 0.000 claims description 6
- 238000012544 monitoring process Methods 0.000 claims description 2
- 238000010586 diagram Methods 0.000 description 8
- 238000012545 processing Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 230000005856 abnormality Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000008676 import Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000004984 smart glass Substances 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/90—Buffering arrangements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/54—Organization of routing tables
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Computer And Data Communications (AREA)
Abstract
本申请提供数据传输方法、发送端及数据传输***,其中所述数据传输方法包括:将获取到的待传输数据发送至消息队列***;在待传输数据传输失败的情况下,从预设数据库中获取消息队列***上报的分区路由关系表;根据分区路由关系表,通过超文本传输协议将待传输数据传输至对应的第一应用节点。如此,在待传输数据传输失败时,发送端可以从预设数据库中获取分区路由关系表,根据分区路由关系表,即可确定出待传输数据应该传输至哪个应用节点,直接通过超文本传输协议将待传输数据传输至对应的应用节点,在待传输数据传输失败时,可以保证用户操作不受影响,避免了数据丢失,提高了数据传输的成功率,保证了用户体验。
Description
技术领域
本申请涉及互联网技术领域,特别涉及一种数据传输方法。本申请同时涉及一种数据发送端,一种数据传输***,一种计算设备,以及一种计算机可读存储介质。
背景技术
随着互联网技术和计算机技术的快速发展,以及PC端和智能手机的大量普及,信息时代产生的信息量快速增长,需要存储、处理、传输的数据也呈倍数增长。
现有技术中,在进行数据传输时,发送端可以将需要传输的数据发送至消息队列中,通过消息队列将该数据传输给各个需要获取数据的终端,在上述数据传输的过程中,如果消息队列出现了故障,则是直接向发送端返回操作失败,如此,可能会造成数据丢失,无法进行数据传输,导致数据传输的成功率较低,进而影响用户体验,引起用户的负面反馈。
发明内容
有鉴于此,本申请实施例提供了一种数据传输方法。本申请同时涉及一种数据发送端,一种数据传输***,一种计算设备,以及一种计算机可读存储介质,以解决现有技术中存在的数据传输的成功率较低,影响用户体验的问题。
根据本申请实施例的第一方面,提供了一种数据传输方法,应用于发送端,包括:
将获取到的待传输数据发送至消息队列***,所述消息队列***用于将所述待传输数据传输至应用节点;
在所述待传输数据传输失败的情况下,从预设数据库中获取所述消息队列***上报的分区路由关系表,所述分区路由关系表为所述消息队列***根据数据属性标识、分区队列和应用节点之间的对应关系生成;
根据所述分区路由关系表,通过超文本传输协议将所述待传输数据传输至对应的第一应用节点。
根据本申请实施例的第二方面,提供了一种数据发送端,包括:
发送模块,被配置为将获取到的待传输数据发送至消息队列***,所述消息队列***用于将所述待传输数据传输至应用节点;
获取模块,被配置为在所述待传输数据传输失败的情况下,从预设数据库中获取所述消息队列***上报的分区路由关系表,所述分区路由关系表为所述消息队列***根据数据属性标识、分区队列和应用节点之间的对应关系生成;
传输模块,被配置为根据所述分区路由关系表,通过超文本传输协议将所述待传输数据传输至对应的第一应用节点。
根据本申请实施例的第三方面,提供了一种数据传输***,包括发送端、消息队列***、预设数据库和应用节点;
所述发送端,被配置为将获取到的待传输数据发送至消息队列***;
所述消息队列***,被配置为根据所述待传输数据的数据属性标识,将所述待传输数据存储至对应的第一分区队列中,所述第一分区队列用于将所述待传输数据传输至第一应用节点,所述第一应用节点为所述数据传输***中包括的任一应用节点;根据数据属性标识、分区队列和应用节点之间的对应关系,生成分区路由关系表,并上报给所述预设数据库;
所述发送端,还被配置为在所述待传输数据传输失败的情况下,从所述预设数据库中获取所述消息队列***上报的分区路由关系表,并根据所述分区路由关系表,通过超文本传输协议将所述待传输数据传输至所述第一应用节点。
根据本申请实施例的第四方面,提供了一种计算设备,包括:
存储器和处理器;
所述存储器用于存储计算机可执行指令,所述处理器用于执行所述计算机可执行指令,以实现下述方法:
将获取到的待传输数据发送至消息队列***,所述消息队列***用于将所述待传输数据传输至应用节点;
在所述待传输数据传输失败的情况下,从预设数据库中获取所述消息队列***上报的分区路由关系表,所述分区路由关系表为所述消息队列***根据数据属性标识、分区队列和应用节点之间的对应关系生成;
根据所述分区路由关系表,通过超文本传输协议将所述待传输数据传输至对应的第一应用节点。
根据本申请实施例的第五方面,提供了一种计算机可读存储介质,其存储有计算机可执行指令,该计算机可执行指令被处理器执行时实现任意所述数据传输方法的步骤。
本申请提供的数据传输方法,可以将获取到的待传输数据发送至消息队列***,所述消息队列***用于将所述待传输数据传输至应用节点;在所述待传输数据传输失败的情况下,从预设数据库中获取所述消息队列***上报的分区路由关系表,所述分区路由关系表为所述消息队列***根据数据属性标识、分区队列和应用节点之间的对应关系生成;然后根据所述分区路由关系表,通过超文本传输协议将所述待传输数据传输至对应的第一应用节点。
这种情况下,在将待传输数据发送至消息队列***后,消息队列***可以实时将分区路由关系表上报给预设数据库,如此在待传输数据传输失败时,发送端可以从预设数据库中获取该分区路由关系表,根据该分区路由关系表,发送端即可确定出该待传输数据应该传输至哪个应用节点,直接通过超文本传输协议将该待传输数据传输至对应的应用节点,在待传输数据传输失败时,保证用户操作不受影响,避免了数据丢失,提高了数据传输的成功率,保证了用户体验;另外,通过路由关系表,可以按照原有的数据传输路径,将待传输数据传输至对应的第一应用节点,保证了数据链路的一致性,减少了数据冲突的可能。
附图说明
图1是本申请一实施例提供的一种数据传输方法的流程图;
图2是本申请一实施例提供的一种应用于点赞场景的数据传输方法的处理流程图;
图3是本申请一实施例提供的一种数据发送端的结构示意图;
图4是本申请一实施例提供的一种数据传输***的结构示意图;
图5是本申请一实施例提供的一种计算设备的结构框图。
具体实施方式
在下面的描述中阐述了很多具体细节以便于充分理解本申请。但是本申请能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本申请内涵的情况下做类似推广,因此本申请不受下面公开的具体实施的限制。
在本申请一个或多个实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请一个或多个实施例。在本申请一个或多个实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本申请一个或多个实施例中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本申请一个或多个实施例中可能采用术语第一、第二等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请一个或多个实施例范围的情况下,第一也可以被称为第二,类似地,第二也可以被称为第一。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
首先,对本申请一个或多个实施例涉及的名词术语进行解释。
消息队列:在大型网站有着广泛和深入的应用,消息队列可以消除高并发的高峰,提高网站的响应速度。
Kafka:是一个分布式、分区式、多副本、多订阅者的当下最流行的消息队列***,广泛应用于各大互联网公司和企业。
Etcd:一个开源项目,是一个高可用的分布式键值数据库。
HTTP:超文本传输协议,业务可以用此协议获取数据。
路由(英语:Routing):是通过互联的网络把信息从源地址传输到目的地址的活动。
在本申请中,提供了一种数据传输方法,本申请同时涉及一种数据发送端,一种数据传输***,一种计算设备,以及一种计算机可读存储介质,在下面的实施例中逐一进行详细说明。
图1示出了根据本申请一实施例提供的一种数据传输方法的流程图,应用于发送端,具体包括以下步骤:
步骤102:将获取到的待传输数据发送至消息队列***,所述消息队列***用于将所述待传输数据传输至应用节点。
实际应用中,在进行数据传输时,发送端可以将待传输数据发送至消息队列***中,通过消息队列***将该待数据传输给各个应用节点,在上述数据传输的过程中,如果消息队列***出现了故障,目前主流的处理方式是直接向发送端返回操作失败,如此,可能会造成数据丢失,无法进行数据传输,导致数据传输的成功率较低,进而影响用户体验,引起用户的负面反馈。
因而本申请实施例提供了一种数据传输方法,可以在待传输数据传输失败时,保证用户操作不受影响,避免了数据丢失,提高了数据传输的成功率,保证了用户体验,同时还可以保证数据链路的一致性,减少了数据冲突的可能。
具体的,待传输数据可以是指用户执行预设操作产生的、需要传输至应用节点的数据,如待传输数据可以为用户的点赞数据。另外,消息队列***可以是指接收、存储发送端发送的待传输数据,并传输给对应的应用节点的多个分区队列构成的***,该消息队列***中包括至少两个分区队列,每个分区队列均用于存储相应的待传输数据,并将待传输数据推送给对应的应用节点。实际实现时,该消息队列***可以为Kafka。
实际应用中,用户可以对自己持有的用户终端执行预设操作,从而产生相应的待传输数据,发送端可以从各个用户终端中获取待传输数据,然后将获取到的待传输数据发送至消息队列***。由于发送端可以从多个用户终端中获取待传输数据,因而获取到的待传输数据的个数可以为至少一个。
示例的,用户A在自己持有的用户终端1上执行点赞操作,此时用户终端1会产生点赞数据1;用户B在自己持有的用户终端2上执行点赞操作,此时用户终端2会产生点赞数据2;用户C在自己持有的用户终端3上执行点赞操作,此时用户终端3会产生点赞数据3。发送端可以分别从用户终端1、用户终端2和用户终端3获取点赞数据1、点赞数据2和点赞数据3,然后将点赞数据1、点赞数据2和点赞数据3发送至消息队列***。
需要说明的是,发送端将获取到的各个待传输数据发送至消息队列***后,消息队列***可以根据待传输数据的数据属性标识,将各个待传输数据存储至对应的分区队列中,从而使得可以通过消息队列***中的分区队列将获取到的各个待传输数据分别传输给各个对应的应用节点。
具体实现时,发送端从不同的用户终端获取到的待传输数据的数据属性标识并不相同,因而消息队列***可以确定待传输数据的数据属性标识,然后根据数据属性标识和预设存储规则,将待传输数据存储至对应的第一分区队列中。其中,预设存储规则是预先设置的数据属性标识与分区队列的存储关系的规则,即各个数据属性标识的数据应该对应存储至哪个分区队列的规则。也就是说,消息队列***可以根据待传输数据的数据属性标识,以及预先设置对应的存储规则,对待传输数据进行存储。
示例的,以待传输数据为点赞数据为例,可以将用户尾号为1的点赞数据存储至消息队列***中的第1个分区队列中,将用户尾号为2的点赞数据存储至消息队列***中的第2个分区队列中,以此类推。
另外,将各个待传输数据存储至对应的分区队列中之后,还可以确定消息队列***包括的分区队列的队列个数,以及数据传输***中包括的应用节点的节点个数,然后根据队列个数、节点个数和预设分配规则,为第一分区队列分配对应的第一应用节点,第一应用节点为数据传输***中包括的任一应用节点。具体的,预设分配规则可以是指预先设置的规则,用于指示哪个分区队列中的数据应该传输至哪个或哪些应用节点,例如,在为每个分区队列分配对应的应用节点时,可以基于负载原则进行分配,即预设分配规则可以为负载均衡规则。
示例的,假设消息队列***包括5个分区队列,且数据传输***中共有5个应用节点,则根据负载均衡规则,每个应用节点可以分配1个分区队列,即分区队列1分配给应用节点1,分区队列2分配给应用节点2,以此类推。假设数据传输***中只有2个应用节点,则根据负载均衡规则,可能将分区队列1和分区队列3分配给应用节点1,分区队列2、分区队列4和分区队列5分配给应用节点2。
本申请实施例中发送端将获取到的各个待传输数据发送至消息队列***后,消息队列***可以将接收到的各个待传输数据存储至对应的分区队列中,每个分区队列分配有对应的应用节点,如此后续每个应用节点可以从对应的分区队列中获取数据,从而进行后续的数据处理。
步骤104:在所述待传输数据传输失败的情况下,从预设数据库中获取所述消息队列***上报的分区路由关系表,所述分区路由关系表为所述消息队列***根据数据属性标识、分区队列和应用节点之间的对应关系生成。
具体的,待传输数据传输失败是指无法通过消息队列***将待传输数据传输至对应的应用节点。实际应用中,待传输数据传输失败可能是由发送端和消息队列***之间的链路故障导致,或者还可能是由消息队列***发生故障导致。其中,所述消息队列***故障包括消息队列***中包括的分区队列故障,以及所述分区队列和应用节点之间的链路故障。
另外,预设数据库可以是指预先设置的数据库,该预设数据库可以接收并存储消息队列***上报的分区路由关系表,且向发送端提供查询获取接口,以供发送端从该预设数据库中获取消息队列***上报的分区路由关系表,如该预设数据库可以为Etcd。
实际实现时,消息队列***可以根据接收到的待传输数据的数据属性标识、分区队列和应用节点之间的对应关系,创建分区路由关系表,并上报给预设数据库。具体的,消息队列***接收到待传输数据后,可以根据待传输数据的数据属性标识,将其存储至对应的分区队列,并为每个分区队列分配对应的应用节点,此时消息队列***可以根据数据属性标识、分区队列和应用节点之间的对应关系,创建分区路由关系表,并上报给预设数据库。也即,分区路由关系表可以用于表示待传输数据对应到消息队列中的哪个分区队列,该分区队列又具体被分配到哪个应用节点之间的对应关系。
当然,实际应用中,消息队列***除了可以基于接收到的待传输数据创建分区路由关系表之外,还可以预先在消息队列***中设置分区路由关系表,并上报给预设数据库,也即,可以预先确定常用的数据属性标识,并确定对应的分区队列和应用节点,然后生成相应的分区路由关系表,上报给预设数据库。如此,消息队列***接收到发送端发送的待传输数据后,可以直接根据该待传输数据的数据属性标识,将其存储至分区路由关系表中对应的分区队列中,后续将待传输数据提供给对应的应用节点。
另外,消息队列***生成并上报分区路由关系表后,如果接收到新数据属性标识的待传输数据时,或者增减应用节点时,还可以更新该分区路由关系表,并实时上报给预设数据库。
示例的,消息队列***包括3个分区队列,且共有3个应用节点,假设分区队列1中存储数据属性标识为1的点赞数据1,且分区队列1分配给应用节点1;假设分区队列2中存储数据属性标识为2的点赞数据2,且分区队列2分配给应用节点2;假设分区队列3中存储数据属性标识为3的点赞数据3,且分区队列3分配给应用节点3。同时,该消息队列***向预设数据库上报如下表1所示的分区路由关系表。假设一段时间后,新增加了应用节点4和应用节点5,且将分区队列1分配给应用节点4,将分区队列2分配给应用节点5,此时可以得到如下述表2所示的更新后的分区路由关系表。
表1分区路由关系表
数据属性标识 | 分区队列 | 应用节点 |
1 | 1 | 1 |
2 | 2 | 2 |
3 | 3 | 3 |
表2更新后的分区路由关系表
数据属性标识 | 分区队列 | 应用节点 |
1 | 1 | 1、4 |
2 | 2 | 2、5 |
3 | 3 | 3 |
本申请实施例中,在所述待传输数据传输失败的情况下,说明待传输数据没有成功传输至消息队列***,即无法实现通过消息队列***中包括的各个分区队列将待传输数据传输至对应的应用节点,此时发送端可以从预设数据库中获取消息队列***上报的分区路由关系表,从而确定哪个待传输数据应该传输至哪个应用节点,便于后续采用其他方式进行数据传输,保证数据传输的成功率和数据路径的一致性。
本实施例一个可选的实施方式中,可以通过不同方式判断传输过程是否出现异常,从而确定待传输数据是否传输失败,也即在所述待传输数据传输失败的情况下,从预设数据库中获取所述消息队列***上报的分区路由关系表之前,还包括:
在接收到所述消息队列***返回的异常消息的情况下,确定所述待传输数据传输失败;或者,
在第一预设时长内未接收到所述消息队列***返回的传输成功消息的情况下,确定所述待传输数据传输失败。
具体的,第一预设时长是预先设置的时间段,如5分钟、10分钟、20分钟等。
实际实现时,一种可能的实现方式中,在消息队列***异常的情况下,消息队列***可以向发送端返回异常消息,若发送端接收到该异常消息,则说明消息队列***异常,消息队列***无法成功实现数据传输,此时可以确定所述待传输数据传输失败。
另一种可能的实现方式中,消息队列***成功将待传输数据传输至应用节点后,还可以向发送端返回传输成功消息,若发送端和消息队列***之间的链路异常,或者消息队列***异常,则发送端无法接收到消息队列***返回的传输成功消息。也即是,若发送端在第一预设时长内未接收到消息队列***返回的传输成功消息,则说明发送端和消息队列***之间的链路异常,或者消息队列***异常,无法成功实现数据传输,此时可以确定所述待传输数据传输失败。
需要说明的是,在发送端未确定出待传输数据传输失败的情况下,说明消息队列***中包括的分区队列可以实现将待传输数据传输至对应的应用节点,此时正常通过消息队列***中包括的分区队列进行数据传输即可;而若在发送端确定出待传输数据传输失败的情况下,说明数据传输过程出现异常,无法通过消息队列***中包括的分区队列将待传输数据传输至对应的应用节点,此时发送端可以从预设数据库中获取消息队列***上报的分区路由关系表,便于后续采用其他方式,将待传输数据传输至对应的应用节点。
具体实现时,发送端在从预设数据库中获取消息队列***上报的分区路由关系表时,可以获取当前时间消息队列***最新上报的分区路由关系表。
沿用上例,若发送端未确定出待传输数据传输失败,则说明可以通过消息队列***实现数据传输,此时分区队列1可以将存储的点赞数据1传输至应用节点1和应用节点4,分区队列2可以将存储的点赞数据2传输至应用节点2和应用节点5,分区队列3可以将存储的点赞数据3传输至应用节点3。若发送端确定出待传输数据传输失败,则说明无法通过消息队列***实现数据传输,此时发送端可以从预设数据库中获取上述表2所示的分区路由关系表。
本申请实施例中,在待传输数据传输失败时,发送端可以及时获知数据传输过程出现异常,无法实现数据传输,使得发送端可以及时采取其他传输手段,保证数据传输的成功率。
步骤106:根据所述分区路由关系表,通过超文本传输协议将所述待传输数据传输至对应的第一应用节点。
需要说明的是,分区路由关系表可以表示待传输数据对应到消息队列中的哪个分区队列,该分区队列又具体被分配到哪个应用节点之间的对应关系,根据该分区路由关系表,发送端可以知道待传输数据原本应该传输至哪个应用节点,从而实际通过超文本传输协议(HTTP)推送待传输数据。
本实施例一个可选的实施方式中,所述根据所述分区路由关系表,通过超文本传输协议将所述待传输数据传输至对应的第一应用节点,具体实现过程可以如下:
确定所述待传输数据的数据属性标识;
根据所述分区路由关系表,确定所述待传输数据的数据属性标识对应的第一应用节点;
通过超文本传输协议,将所述待传输数据传输至所述第一应用节点。
需要说明的是,根据分区路由关系表,可以确定哪个属性的待传输数据,应该被存储至消息队列***中的哪个分区队列中,且应该被传输至哪个应用节点,因而在发送端获取到分区路由关系表后,可以先确定当前待传输数据的数据属性标识,然后在该分区路由关系表查找,确定该数据属性标识对应的第一应用节点,第一应用节点就是该待传输数据通过消息队列***原本应该传输到的应用节点,此时可以通过超文本传输协议,将该待传输数据传输至第一应用节点。
沿用上例,待传输数据为点赞数据1、点赞数据2和点赞数据3,发送端获取到的分区路由关系表如上述表2所示,发送端可以确定点赞数据1的数据属性标识为1,根据上述表2所示的分区路由关系表,确定数据属性标识为1对应的第一应用节点为应用节点1和应用节点4;确定点赞数据2的数据属性标识为2,根据上述表2所示的分区路由关系表,确定数据属性标识为2对应的第一应用节点为应用节点2和应用节点5;确定点赞数据3的数据属性标识为3,根据上述表2所示的分区路由关系表,确定数据属性标识为3对应的第一应用节点为应用节点3。此时,发送端可以通过HTTP将点赞数据1推送给应用节点1和应用节点4,通过HTTP将点赞数据2推送给应用节点2和应用节点5,通过HTTP将点赞数据3推送给应用节点3。
本实施例一个可选的实施方式中,应用节点在正常从消息队列***中的分区队列中获取相应的待传输数据时,应用节点还可以对外暴露HTTP接口,并监听数据,因而通过超文本传输协议,将所述待传输数据传输至所述第一应用节点,具体实现过程可以如下:
向所述第一应用节点的超文本传输协议接口发送所述待传输数据,所述超文本传输协议接口为所述第一应用节点对外暴露并监听的接口。
需要说明的是,每个第一应用节点都对外暴露了自身的HTTP接口,因而发送端在确定要将待传输数据推送给哪个第一应用节点后,可以获取该第一应用节点对外暴露的HTTP接口,由于该第一应用节点监听其暴露的HTTP接口,因而发送端向该HTTP接口推送该待传输数据,该第一应用节点即可获取到该待传输数据。
本申请中发送端根据分区路由关系表,可以确定哪个属性的待传输数据,应该被存储至消息队列***中的哪个分区队列中,且应该被传输至哪个应用节点,因而在发送端获取到分区路由关系表后,可以直接通过超文本传输协议将该待传输数据传输至对应的应用节点,在待传输数据传输失败时,保证用户操作不受影响,避免了数据丢失,提高了数据传输的成功率,保证了用户体验;另外,通过路由关系表,按照原有的数据传输路径,将待传输数据传输至对应的第一应用节点,保证了数据链路的一致性,减少了数据冲突的可能。
本实施例一个可选的实施方式中,在待传输数据传输失败的情况下,可以通过超文本传输协议将所述待传输数据传输至对应的第一应用节点,但是数据传输过程中的异常修复后,可以继续通过消息队列***实现数据传输,因而发送端还可以确定并记录数据传输过程中的异常是否被修复,也即根据所述分区路由关系表,通过超文本传输协议将所述待传输数据传输至对应的第一应用节点之后,还包括:
在接收到所述消息队列***返回的恢复消息的情况下,记录所述消息队列***的数据传输状态为正常传输;或者,
每隔第二预设时长向所述消息队列***发送建立连接请求,在接收到所述消息队列***返回的响应消息的情况下,与所述消息队列***建立连接,并记录所述消息队列***的数据传输状态为正常传输。
具体的,第二预设时长是预先设置的时间段,如5分钟、10分钟、15分钟等。第二预设时长和第一预设时长可以相同,也可以不相同。
需要说明的是,一种可能的实现方式中,若待传输数据传输失败是由消息队列***异常导致的,那么消息队列***恢复正常后,可以向发送端返回恢复消息,发送端在接收到该恢复消息的情况下,记录所述消息队列***的数据传输状态为正常传输。其中,所述消息队列***的数据传输状态为正常传输表示后续可以通过消息队列***实现将待传输数据传输至对应的应用节点。
另一种可能的实现方式中,若待传输数据传输失败是由发送端和消息队列***之间的链路异常导致的,发送端可以每隔第二预设时长向所述消息队列***发送建立连接请求,若发送端和消息队列***之间的链路恢复正常,则发送端可以接收到消息队列***返回的响应消息。也即,若发送端接收到消息队列***返回的响应消息,则说明发送端和消息队列***之间的链路恢复正常,此时可以记录所述消息队列***的数据传输状态为正常传输。
本实施例一个可选的实施方式中,在待传输数据传输失败的情况下,可以根据获取到的分区路由关系表,将未传输成功的待传输数据,按照原定的传输路径,通过HTTP推送至对应的第一应用节点。之后,发送端还可能会获取到新待传输数据,此时可以查询该消息队列***的数据传输状态是否为正常传输,从而确定该新待传输数据的传输方式,也即根据所述分区路由关系表,通过超文本传输协议将所述待传输数据传输至对应的第一应用节点之后,还包括:
在获取到新待传输数据的情况下,查询所述消息队列***的数据传输状态;
若所述数据传输状态为正常传输,则将所述新待传输数据发送至所述消息队列***,通过所述消息队列***将所述新待传输数据传输至对应的第二应用节点;
若所述数据传输状态不为正常传输,则根据所述分区路由关系表,确定所述新待传输数据是否存在对应的第二应用节点,若是,则通过超文本传输协议,将所述新待传输数据传输至所述第二应用节点。
具体的,该新待传输数据为发送端新获取到的待传输数据。实际应用中,在发送端获取到新待传输数据的情况下,说明该新待传输数据需要传输至对应的应用节点,此时可以查询所述消息队列***的数据传输状态,若数据传输状态为正常传输,则说明可以通过消息队列***实现将该新待传输数据传输至对应的应用节点,若数据传输状态不为正常传输,则说明无法通过消息队列***实现将该新待传输数据传输至对应的应用节点。
一种可能的实现方式中,若所述数据传输状态为正常传输,则说明可以通过该消息队列***,将该新待传输数据传输至对应的应用节点,此时可以将新待传输数据发送至该消息队列***,该消息队列***可以将该新待传输数据存储至对应的第二分区队列中,并为该第二分区队列分配对应的第二应用节点,从而通过第二分区队列将该新待传输数据传输至第二应用节点。
沿用上例,新待传输数据为点赞数据4(数据属性标识为1)和点赞数据5(数据属性标识为3),假设该消息队列***恢复正常,则此时可以将该点赞数据4和点赞数据5发送至该消息队列***,该消息队列***根据预设存储规则,将点赞数据4存储至分区队列1中,将点赞数据5存储至分区队列3中。后续,可以通过分区队列1将点赞数据4传输至应用节点1和应用节点4,通过分区队列3将点赞数据5传输至应用节点3。
另一种可能的实现方式中,若所述数据传输状态不为正常传输,则说明无法通过该消息队列***,将该新待传输数据传输至对应的应用节点,因而此时可以不将该新待传输数据发送至该消息队列***,继续根据获取到的分区路由关系表,将该新待传输数据传输至对应的应用节点。
需要说明的是,若新待传输数据的数据属性标识与分区路由关系表的任一数据属性标识相同,则获取到的分区路由关系表中存在该新待传输数据的数据属性标识对应的第二应用节点,此时可以直接通过超文本传输协议,将新待传输数据传输至第二应用节点;若新待传输数据的数据属性标识与分区路由关系表的任一数据属性标识均不相同,则获取到的分区路由关系表中不存在该新待传输数据的数据属性标识对应的第二应用节点,此时可以返回数据传输失败,也可以将该新待传输数据通过HTTP传输至任一应用节点。
沿用上例,新待传输数据为点赞数据4(数据属性标识为1)和点赞数据5(数据属性标识为3),假设消息队列***的数据传输状态不为正常传输,则此时可以根据上述表2所示的分区路由关系表,确定点赞数据4对应的第二应用节点为应用节点1和应用节点4,点赞数据5对应的第二应用节点为应用节点3。发送端可以通过HTTP将点赞数据4推送给应用节点1和应用节点4,通过HTTP将点赞数据5推送给应用节点3。
本申请提供的数据传输方法,在将待传输数据发送至消息队列***后,消息队列***可以实时将分区路由关系表上报给预设数据库,如此在该待传输数据传输失败时,发送端可以从预设数据库中获取该分区路由关系表,根据该分区路由关系表,发送端即可确定出该待传输数据应该传输至哪个应用节点,直接通过超文本传输协议将该待传输数据传输至对应的应用节点,在待传输数据传输失败时,保证用户操作不受影响,避免了数据丢失,提高了数据传输的成功率,保证了用户体验;另外,通过路由关系表,按照原有的数据传输路径,将待传输数据传输至对应的第一应用节点,保证了数据链路的一致性,减少了数据冲突的可能。
下述结合附图2,以本申请提供的数据传输方法在点赞场景下的应用为例,对所述数据传输方法进行进一步说明。其中,图2示出了本申请一实施例提供的一种应用于点赞场景的数据传输方法的处理流程图,具体包括以下步骤:
步骤202:发送端从各个用户终端中获取点赞数据,并将获取到的各个点赞数据发送至kafka中。
示例的,发送端获取到尾号为1发送的点赞数据1、尾号为2发送的点赞数据2、尾号为3发送的点赞数据3,将点赞数据1、点赞数据2和点赞数据3发送至kafka中。
步骤204:kafka根据点赞数据的数据属性标识和预设存储规则,将各个点赞数据存储至对应的分区队列中,并确定消息队列***包括的分区队列的队列个数,以及数据传输***中包括的应用节点的节点个数,根据队列个数、节点个数和预设分配规则,为各个分区队列分配对应的应用节点。
示例的,将尾号为1发送的点赞数据1存储至kafka中的第1个分区队列中,将尾号为2发送的点赞数据2存储至kafka中的第2个分区队列中,将尾号为3发送的点赞数据3存储至kafka中的第3个分区队列中。由于消息队列***包括的分区队列的队列个数为3个,数据传输***中包括的应用节点的节点个数也为3个,假设预设分配规则为负载均衡规则,即一个分区队列分配给一个应用节点,因而此时可以将第1个分区队列分配给应用节点1,将第2个分区队列分配给应用节点2,将第3个分区队列分配给应用节点3。
步骤206:kafka根据数据属性标识、分区队列和应用节点之间的对应关系表,创建分区路由关系表,并上报给Etcd。
步骤208:发送端在点赞数据传输失败的情况下,从Etcd中获取kafka上报的分区路由关系表。
步骤210:发送端根据所述分区路由关系表,确定每个点赞数据对应的应用节点,通过HTTP将该点赞数据传输至对应的应用节点。
示例的,根据所述分区路由关系表,确定点赞数据1对应的应用节点为应用节点1,点赞数据2对应的应用节点为应用节点2,点赞数据3对应的应用节点为应用节点3。发送端通过HTTP将点赞数据1推送至应用节点1,将点赞数据2推送至应用节点2,将点赞数据3推送至应用节点3。
本申请提供的数据传输方法,在将待传输数据发送至消息队列***后,消息队列***可以实时将分区路由关系表上报给预设数据库,如此在该待传输数据传输失败时,发送端可以从预设数据库中获取该分区路由关系表,根据该分区路由关系表,发送端即可确定出该待传输数据应该传输至哪个应用节点,直接通过超文本传输协议将该待传输数据传输至对应的应用节点,在待传输数据传输失败时,保证用户操作不受影响,避免了数据丢失,提高了数据传输的成功率,保证了用户体验;另外,通过路由关系表,按照原有的数据传输路径,将待传输数据传输至对应的第一应用节点,保证了数据链路的一致性,减少了数据冲突的可能。
上述为本实施例的一种数据传输应用于点赞场景下的示意性方案。需要说明的是,该数据传输方法应用于点赞场景下的技术方案与上述图1所示的数据传输方法的技术方案属于同一构思,该数据传输方法应用于点赞场景下的技术方案未详细描述的细节内容,均可以参见上述图1所示的数据传输方法的技术方案的描述。
与上述方法实施例相对应,本申请还提供了一种数据发送端实施例,图3示出了本申请一实施例提供的一种数据发送端的结构示意图。如图3所示,该数据发送端包括:
发送模块302,被配置为将获取到的待传输数据发送至消息队列***,所述消息队列***用于将所述待传输数据传输至应用节点;
获取模块304,被配置为在所述待传输数据传输失败的情况下,从预设数据库中获取所述消息队列***上报的分区路由关系表,所述分区路由关系表为所述消息队列***根据数据属性标识、分区队列和应用节点之间的对应关系生成;
传输模块306,被配置为根据所述分区路由关系表,通过超文本传输协议将所述待传输数据传输至对应的第一应用节点。
可选地,传输模块306进一步被配置为:
确定所述待传输数据的数据属性标识;
根据所述分区路由关系表,确定所述待传输数据的数据属性标识对应的第一应用节点;
通过超文本传输协议,将所述待传输数据传输至所述第一应用节点。
可选地,传输模块306进一步被配置为:
向所述第一应用节点的超文本传输协议接口发送所述待传输数据,所述超文本传输协议接口为所述第一应用节点对外暴露并监听的接口。
可选地,获取模块304进一步被配置为:
在接收到所述消息队列***返回的异常消息的情况下,确定所述待传输数据传输失败;或者,
在第一预设时长内未接收到所述消息队列***返回的传输成功消息的情况下,确定所述待传输数据传输失败。
可选地,所述数据发送端还包括记录模块,被配置为:
在接收到所述消息队列***返回的恢复消息的情况下,记录所述消息队列***的数据传输状态为正常传输;或者,
每隔第二预设时长向所述消息队列***发送建立连接请求,在接收到所述消息队列***返回的响应消息的情况下,与所述消息队列***建立连接,并记录所述消息队列***的数据传输状态为正常传输。
可选地,所述数据发送端还包括查询模块,被配置为:
在获取到新待传输数据的情况下,查询所述消息队列***的数据传输状态;
若所述数据传输状态为正常传输,则将所述新待传输数据发送至所述消息队列***,通过所述消息队列***将所述新待传输数据传输至对应的第二应用节点;
若所述数据传输状态不为正常传输,则根据所述分区路由关系表,确定所述新待传输数据是否存在对应的第二应用节点,若是,则通过超文本传输协议,将所述新待传输数据传输至所述第二应用节点。
本申请中在将待传输数据发送至消息队列***后,消息队列***可以实时将分区路由关系表上报给预设数据库,如此在该待传输数据传输失败时,发送端可以从预设数据库中获取该分区路由关系表,根据该分区路由关系表,发送端即可确定出该待传输数据应该传输至哪个应用节点,直接通过超文本传输协议将该待传输数据传输至对应的应用节点,在待传输数据传输失败时,保证用户操作不受影响,避免了数据丢失,提高了数据传输的成功率,保证了用户体验;另外,通过路由关系表,按照原有的数据传输路径,将待传输数据传输至对应的第一应用节点,保证了数据链路的一致性,减少了数据冲突的可能。
上述为本实施例的一种数据发送端的示意性方案。需要说明的是,该数据发送端的技术方案与上述的数据传输方法的技术方案属于同一构思,该数据发送端的技术方案未详细描述的细节内容,均可以参见上述数据传输方法的技术方案的描述。
与上述方法实施例相对应,本申请还提供了一种数据传输***实施例,图4示出了本申请一实施例提供的一种数据传输***的结构示意图。如图4所示,该数据传输***包括发送端402、消息队列***404、预设数据库406和应用节点408;
所述发送端402,被配置为将获取到的待传输数据发送至所述消息队列***404;
所述消息队列***404,被配置为根据所述待传输数据的数据属性标识,将所述待传输数据存储至对应的第一分区队列中,所述第一分区队列用于将所述待传输数据传输至第一应用节点408,所述第一应用节点408为所述数据传输***中包括的任一应用节点;根据数据属性标识、分区队列和应用节点之间的对应关系,生成分区路由关系表,并上报给所述预设数据库406;
所述发送端402,还被配置为在所述待传输数据传输失败的情况下,从所述预设数据库406中获取所述消息队列***404上报的分区路由关系表,并根据所述分区路由关系表,通过超文本传输协议将所述待传输数据传输至所述第一应用节点408。
可选地,所述消息队列***404还被配置为:
确定所述待传输数据的数据属性标识;
根据所述数据属性标识和预设存储规则,将所述待传输数据存储至对应的第一分区队列中。
可选地,所述消息队列***404还被配置为:
确定所述消息队列***包括的分区队列的队列个数,以及所述数据传输***中包括的应用节点的节点个数;
根据所述队列个数、所述节点个数和预设分配规则,为所述第一分区队列分配对应的第一应用节点。
可选地,所述第一应用节点408被配置为:
从所述第一分区队列中获取所述待传输数据;
对外暴露并监听超文本传输协议接口。
可选地,所述发送端402进一步被配置为:
确定所述待传输数据的数据属性标识;
根据所述分区路由关系表,确定所述待传输数据的数据属性标识对应的第一应用节点408;
通过超文本传输协议,将所述待传输数据传输至所述第一应用节点408。
可选地,所述发送端402进一步被配置为:
向所述第一应用节点408的超文本传输协议接口发送所述待传输数据,所述超文本传输协议接口为所述第一应用节点408对外暴露并监听的接口。
可选地,所述发送端402进一步被配置为:
在接收到所述消息队列***404返回的异常消息的情况下,确定所述待传输数据传输失败;或者,
在第一预设时长内未接收到所述消息队列***404返回的传输成功消息的情况下,确定所述待传输数据传输失败。
可选地,所述发送端402进一步被配置为:
在接收到所述消息队列***404返回的恢复消息的情况下,记录所述消息队列***404的数据传输状态为正常传输;或者,
每隔第二预设时长向所述消息队列***404发送建立连接请求,在接收到所述消息队列***404返回的响应消息的情况下,与所述消息队列***404建立连接,并记录所述消息队列***404的数据传输状态为正常传输。
本申请中在将待传输数据发送至消息队列***后,消息队列***可以实时将分区路由关系表上报给预设数据库,如此在该待传输数据传输失败时,发送端可以从预设数据库中获取该分区路由关系表,根据该分区路由关系表,发送端即可确定出该待传输数据应该传输至哪个应用节点,直接通过超文本传输协议将该待传输数据传输至对应的应用节点,在待传输数据传输失败时,保证用户操作不受影响,避免了数据丢失,提高了数据传输的成功率,保证了用户体验;另外,通过路由关系表,按照原有的数据传输路径,将待传输数据传输至对应的第一应用节点,保证了数据链路的一致性,减少了数据冲突的可能。
上述为本实施例的一种数据传输***的示意性方案。需要说明的是,该数据传输***的技术方案与上述的数据传输方法的技术方案属于同一构思,该数据传输***的技术方案未详细描述的细节内容,均可以参见上述数据传输方法的技术方案的描述。
图5示出了根据本申请一实施例提供的一种计算设备500的结构框图。该计算设备500的部件包括但不限于存储器510和处理器520。处理器520与存储器510通过总线530相连接,数据库550用于保存数据。
计算设备500还包括接入设备540,接入设备540使得计算设备500能够经由一个或多个网络560通信。这些网络的示例包括公用交换电话网(PSTN)、局域网(LAN)、广域网(WAN)、个域网(PAN)或诸如因特网的通信网络的组合。接入设备540可以包括有线或无线的任何类型的网络接口(例如,网络接口卡(NIC))中的一个或多个,诸如IEEE802.11无线局域网(WLAN)无线接口、全球微波互联接入(Wi-MAX)接口、以太网接口、通用串行总线(USB)接口、蜂窝网络接口、蓝牙接口、近场通信(NFC)接口,等等。
在本申请的一个实施例中,计算设备500的上述部件以及图5中未示出的其他部件也可以彼此相连接,例如通过总线。应当理解,图5所示的计算设备结构框图仅仅是出于示例的目的,而不是对本申请范围的限制。本领域技术人员可以根据需要,增添或替换其他部件。
计算设备500可以是任何类型的静止或移动计算设备,包括移动计算机或移动计算设备(例如,平板计算机、个人数字助理、膝上型计算机、笔记本计算机、上网本等)、移动电话(例如,智能手机)、可佩戴的计算设备(例如,智能手表、智能眼镜等)或其他类型的移动设备,或者诸如台式计算机或PC的静止计算设备。计算设备500还可以是移动式或静止式的服务器。
其中,处理器520用于执行如下计算机可执行指令:
将获取到的待传输数据发送至消息队列***,所述消息队列***用于将所述待传输数据传输至应用节点;
在所述待传输数据传输失败的情况下,从预设数据库中获取所述消息队列***上报的分区路由关系表,所述分区路由关系表为所述消息队列***根据数据属性标识、分区队列和应用节点之间的对应关系生成;
根据所述分区路由关系表,通过超文本传输协议将所述待传输数据传输至对应的第一应用节点。
上述为本实施例的一种计算设备的示意性方案。需要说明的是,该计算设备的技术方案与上述的数据传输方法的技术方案属于同一构思,计算设备的技术方案未详细描述的细节内容,均可以参见上述数据传输方法的技术方案的描述。
本申请一实施例还提供一种计算机可读存储介质,其存储有计算机可执行指令,该计算机可执行指令被处理器执行时以用于实现上述任意一项所述数据传输方法的步骤。
上述为本实施例的一种计算机可读存储介质的示意性方案。需要说明的是,该存储介质的技术方案与上述的数据传输方法的技术方案属于同一构思,存储介质的技术方案未详细描述的细节内容,均可以参见上述数据传输方法的技术方案的描述。
上述对本申请特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
所述计算机指令包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
需要说明的是,对于前述的各方法实施例,为了简便描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定都是本申请所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。
以上公开的本申请优选实施例只是用于帮助阐述本申请。可选实施例并没有详尽叙述所有的细节,也不限制该发明仅为所述的具体实施方式。显然,根据本申请的内容,可作很多的修改和变化。本申请选取并具体描述这些实施例,是为了更好地解释本申请的原理和实际应用,从而使所属技术领域技术人员能很好地理解和利用本申请。本申请仅受权利要求书及其全部范围和等效物的限制。
Claims (13)
1.一种数据传输方法,其特征在于,应用于发送端,包括:
将获取到的待传输数据发送至消息队列***,所述消息队列***用于将所述待传输数据传输至应用节点;
在所述待传输数据传输失败的情况下,从预设数据库中获取所述消息队列***上报的分区路由关系表,所述分区路由关系表为所述消息队列***根据数据属性标识、分区队列和应用节点之间的对应关系生成;
根据所述分区路由关系表,通过超文本传输协议将所述待传输数据传输至对应的第一应用节点。
2.根据权利要求1所述的数据传输方法,其特征在于,所述根据所述分区路由关系表,通过超文本传输协议将所述待传输数据传输至对应的第一应用节点,包括:
确定所述待传输数据的数据属性标识;
根据所述分区路由关系表,确定所述待传输数据的数据属性标识对应的第一应用节点;
通过超文本传输协议,将所述待传输数据传输至所述第一应用节点。
3.根据权利要求2所述的数据传输方法,其特征在于,所述通过超文本传输协议,将所述待传输数据传输至所述第一应用节点,包括:
向所述第一应用节点的超文本传输协议接口发送所述待传输数据,所述超文本传输协议接口为所述第一应用节点对外暴露并监听的接口。
4.根据权利要求1-3任一项所述的数据传输方法,其特征在于,所述在所述待传输数据传输失败的情况下,从预设数据库中获取所述消息队列***上报的分区路由关系表之前,还包括:
在接收到所述消息队列***返回的异常消息的情况下,确定所述待传输数据传输失败;或者,
在第一预设时长内未接收到所述消息队列***返回的传输成功消息的情况下,确定所述待传输数据传输失败。
5.根据权利要求1-3任一项所述的数据传输方法,其特征在于,所述根据所述分区路由关系表,通过超文本传输协议将所述待传输数据传输至对应的第一应用节点之后,还包括:
在接收到所述消息队列***返回的恢复消息的情况下,记录所述消息队列***的数据传输状态为正常传输;或者,
每隔第二预设时长向所述消息队列***发送建立连接请求,在接收到所述消息队列***返回的响应消息的情况下,与所述消息队列***建立连接,并记录所述消息队列***的数据传输状态为正常传输。
6.根据权利要求5所述的数据传输方法,其特征在于,所述根据所述分区路由关系表,通过超文本传输协议将所述待传输数据传输至对应的第一应用节点之后,还包括:
在获取到新待传输数据的情况下,查询所述消息队列***的数据传输状态;
若所述数据传输状态为正常传输,则将所述新待传输数据发送至所述消息队列***,通过所述消息队列***将所述新待传输数据传输至对应的第二应用节点;
若所述数据传输状态不为正常传输,则根据所述分区路由关系表,确定所述新待传输数据是否存在对应的第二应用节点,若是,则通过超文本传输协议,将所述新待传输数据传输至所述第二应用节点。
7.一种数据发送端,其特征在于,包括:
发送模块,被配置为将获取到的待传输数据发送至消息队列***,所述消息队列***用于将所述待传输数据传输至应用节点;
获取模块,被配置为在所述待传输数据传输失败的情况下,从预设数据库中获取所述消息队列***上报的分区路由关系表,所述分区路由关系表为所述消息队列***根据数据属性标识、分区队列和应用节点之间的对应关系生成;
传输模块,被配置为根据所述分区路由关系表,通过超文本传输协议将所述待传输数据传输至对应的第一应用节点。
8.一种数据传输***,其特征在于,包括发送端、消息队列***、预设数据库和应用节点;
所述发送端,被配置为将获取到的待传输数据发送至所述消息队列***;
所述消息队列***,被配置为根据所述待传输数据的数据属性标识,将所述待传输数据存储至对应的第一分区队列中,所述第一分区队列用于将所述待传输数据传输至第一应用节点,所述第一应用节点为所述数据传输***中包括的任一应用节点;根据数据属性标识、分区队列和应用节点之间的对应关系,生成分区路由关系表,并上报给所述预设数据库;
所述发送端,还被配置为在所述待传输数据传输失败的情况下,从所述预设数据库中获取所述消息队列***上报的分区路由关系表,并根据所述分区路由关系表,通过超文本传输协议将所述待传输数据传输至所述第一应用节点。
9.根据权利要求8所述的数据传输***,其特征在于,所述消息队列***还被配置为:
确定所述待传输数据的数据属性标识;
根据所述数据属性标识和预设存储规则,将所述待传输数据存储至对应的第一分区队列中。
10.根据权利要求9所述的数据传输***,其特征在于,所述消息队列***还被配置为:
确定所述消息队列***包括的分区队列的队列个数,以及所述数据传输***中包括的应用节点的节点个数;
根据所述队列个数、所述节点个数和预设分配规则,为所述第一分区队列分配对应的第一应用节点。
11.根据权利要求8-10任一项所述的数据传输***,其特征在于,所述第一应用节点被配置为:
从所述第一分区队列中获取所述待传输数据;
对外暴露并监听超文本传输协议接口。
12.一种计算设备,其特征在于,包括:
存储器和处理器;
所述存储器用于存储计算机可执行指令,所述处理器用于执行所述计算机可执行指令,以实现下述方法:
将获取到的待传输数据发送至消息队列***,所述消息队列***用于将所述待传输数据传输至应用节点;
在所述待传输数据传输失败的情况下,从预设数据库中获取所述消息队列***上报的分区路由关系表,所述分区路由关系表为所述消息队列***根据数据属性标识、分区队列和应用节点之间的对应关系生成;
根据所述分区路由关系表,通过超文本传输协议将所述待传输数据传输至对应的第一应用节点。
13.一种计算机可读存储介质,其特征在于,其存储有计算机可执行指令,该计算机可执行指令被处理器执行时实现权利要求1至6任意一项所述数据传输方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110688538.6A CN113422739B (zh) | 2021-06-21 | 2021-06-21 | 数据传输方法、发送端及数据传输*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110688538.6A CN113422739B (zh) | 2021-06-21 | 2021-06-21 | 数据传输方法、发送端及数据传输*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113422739A true CN113422739A (zh) | 2021-09-21 |
CN113422739B CN113422739B (zh) | 2022-09-06 |
Family
ID=77789703
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110688538.6A Active CN113422739B (zh) | 2021-06-21 | 2021-06-21 | 数据传输方法、发送端及数据传输*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113422739B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114900868A (zh) * | 2022-05-12 | 2022-08-12 | 哈尔滨工业大学 | 基于能量优化的无人机自组网路由协议的数据传输方法 |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130151649A1 (en) * | 2011-12-07 | 2013-06-13 | Seven Networks, Inc. | Mobile device having content caching mechanisms integrated with a network operator for traffic alleviation in a wireless network and methods therefor |
CN103856392A (zh) * | 2013-06-26 | 2014-06-11 | 携程计算机技术(上海)有限公司 | 消息推送方法及其外发服务器和外发服务器*** |
CN108228363A (zh) * | 2017-12-22 | 2018-06-29 | ***股份有限公司 | 一种消息发送方法及装置 |
CN109120713A (zh) * | 2018-09-21 | 2019-01-01 | 中国建设银行股份有限公司 | 消息发送失败的处理方法及***、装置和存储介质 |
US20190013992A1 (en) * | 2017-07-06 | 2019-01-10 | Sap Se | Systems and methods for stream-based, protocol-agnostic messaging |
CN109274466A (zh) * | 2018-08-07 | 2019-01-25 | 中国人民银行清算总中心 | 一种中间件报文传输方法及*** |
CN109271265A (zh) * | 2018-09-29 | 2019-01-25 | 平安科技(深圳)有限公司 | 基于消息队列的请求处理方法、装置、设备及存储介质 |
CN109660607A (zh) * | 2018-12-05 | 2019-04-19 | 北京金山云网络技术有限公司 | 一种业务请求分发方法、接收方法、装置及服务器集群 |
CN110740103A (zh) * | 2019-09-02 | 2020-01-31 | 深圳壹账通智能科技有限公司 | 业务请求处理方法、装置、计算机设备和存储介质 |
CN110830366A (zh) * | 2019-11-14 | 2020-02-21 | 北京京航计算通讯研究所 | 军工领域消息推送*** |
CN112532528A (zh) * | 2020-11-30 | 2021-03-19 | 北京百度网讯科技有限公司 | 用于规则引擎的消息路由方法和装置 |
-
2021
- 2021-06-21 CN CN202110688538.6A patent/CN113422739B/zh active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130151649A1 (en) * | 2011-12-07 | 2013-06-13 | Seven Networks, Inc. | Mobile device having content caching mechanisms integrated with a network operator for traffic alleviation in a wireless network and methods therefor |
CN103856392A (zh) * | 2013-06-26 | 2014-06-11 | 携程计算机技术(上海)有限公司 | 消息推送方法及其外发服务器和外发服务器*** |
US20190013992A1 (en) * | 2017-07-06 | 2019-01-10 | Sap Se | Systems and methods for stream-based, protocol-agnostic messaging |
CN108228363A (zh) * | 2017-12-22 | 2018-06-29 | ***股份有限公司 | 一种消息发送方法及装置 |
CN109274466A (zh) * | 2018-08-07 | 2019-01-25 | 中国人民银行清算总中心 | 一种中间件报文传输方法及*** |
CN109120713A (zh) * | 2018-09-21 | 2019-01-01 | 中国建设银行股份有限公司 | 消息发送失败的处理方法及***、装置和存储介质 |
CN109271265A (zh) * | 2018-09-29 | 2019-01-25 | 平安科技(深圳)有限公司 | 基于消息队列的请求处理方法、装置、设备及存储介质 |
CN109660607A (zh) * | 2018-12-05 | 2019-04-19 | 北京金山云网络技术有限公司 | 一种业务请求分发方法、接收方法、装置及服务器集群 |
CN110740103A (zh) * | 2019-09-02 | 2020-01-31 | 深圳壹账通智能科技有限公司 | 业务请求处理方法、装置、计算机设备和存储介质 |
CN110830366A (zh) * | 2019-11-14 | 2020-02-21 | 北京京航计算通讯研究所 | 军工领域消息推送*** |
CN112532528A (zh) * | 2020-11-30 | 2021-03-19 | 北京百度网讯科技有限公司 | 用于规则引擎的消息路由方法和装置 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114900868A (zh) * | 2022-05-12 | 2022-08-12 | 哈尔滨工业大学 | 基于能量优化的无人机自组网路由协议的数据传输方法 |
Also Published As
Publication number | Publication date |
---|---|
CN113422739B (zh) | 2022-09-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111935315B (zh) | 区块同步方法及装置 | |
CN110300050A (zh) | 消息推送方法、装置、计算机设备及存储介质 | |
CN111966289B (zh) | 基于Kafka集群的分区优化方法和*** | |
CN111538605B (zh) | 一种分布式数据访问层中间件及命令执行方法和装置 | |
CN110505618B (zh) | 一种业务处理方法和服务器 | |
CN107181821A (zh) | 一种基于sse规范的消息推送方法及装置 | |
CN111865622A (zh) | 基于规则引擎集群的云服务计量计费方法及*** | |
CN113422739B (zh) | 数据传输方法、发送端及数据传输*** | |
CN112214465A (zh) | 日志存储***及方法 | |
CN110581784A (zh) | 一种节点健康检查方法、装置及设备 | |
CN114579532A (zh) | 处理预写日志的方法、装置及*** | |
CN115412592B (zh) | 业务处理***以及方法 | |
CN109962834B (zh) | 信息处理方法、***、终端和计算机存储介质 | |
CN110581826B (zh) | 一种核心网通信方法、装置及*** | |
CN105912477B (zh) | 一种目录读取的方法、装置及*** | |
CN114885020A (zh) | 数据传输***以及方法 | |
CN110661895A (zh) | 一种服务器的网络地址映射方法及网络地址映射设备 | |
CN113407491A (zh) | 数据处理方法及装置 | |
CN112835766A (zh) | 应用监控方法及装置 | |
CN112612848A (zh) | 数据实时同步的方法及装置、***、电子设备、存储介质 | |
US20210250243A1 (en) | Node Switching Method, Network Node, Network System and Storage Medium | |
CN105991450A (zh) | Mac地址表更新方法及装置 | |
CN114125818B (zh) | 业务参数传输方法、装置、***、电子设备和存储介质 | |
CN112311833B (zh) | 数据更新方法和装置 | |
CN116055450B (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 |