CN112887413A - 数据传输方法和装置、电子设备和存储介质 - Google Patents
数据传输方法和装置、电子设备和存储介质 Download PDFInfo
- Publication number
- CN112887413A CN112887413A CN202110139353.XA CN202110139353A CN112887413A CN 112887413 A CN112887413 A CN 112887413A CN 202110139353 A CN202110139353 A CN 202110139353A CN 112887413 A CN112887413 A CN 112887413A
- Authority
- CN
- China
- Prior art keywords
- data
- service
- target
- data processing
- stream
- 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.)
- Pending
Links
- 230000005540 biological transmission Effects 0.000 title claims abstract description 78
- 238000000034 method Methods 0.000 title claims abstract description 76
- 238000012545 processing Methods 0.000 claims abstract description 171
- 238000004891 communication Methods 0.000 claims description 19
- 238000004590 computer program Methods 0.000 claims description 15
- 230000002159 abnormal effect Effects 0.000 claims description 13
- 230000006835 compression Effects 0.000 claims description 13
- 238000007906 compression Methods 0.000 claims description 13
- 238000005516 engineering process Methods 0.000 abstract description 6
- 238000013480 data collection Methods 0.000 description 16
- 238000010586 diagram Methods 0.000 description 14
- 230000002457 bidirectional effect Effects 0.000 description 13
- 230000008569 process Effects 0.000 description 11
- 230000005856 abnormality Effects 0.000 description 6
- 238000012544 monitoring process Methods 0.000 description 5
- 238000012546 transfer Methods 0.000 description 5
- 230000008859 change Effects 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000013500 data storage Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 230000011664 signaling Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000007493 shaping process Methods 0.000 description 2
- 238000009825 accumulation Methods 0.000 description 1
- 239000000872 buffer Substances 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005538 encapsulation Methods 0.000 description 1
- 238000009432 framing Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 230000004083 survival effect Effects 0.000 description 1
Images
Classifications
-
- 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/14—Session management
- H04L67/142—Managing session states for stateless protocols; Signalling session states; State transitions; Keeping-state mechanisms
-
- 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]
-
- 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/133—Protocols for remote procedure calls [RPC]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本申请提供了一种数据传输方法和装置、电子设备和存储介质,其中,该方法包括:获取待传输的第一业务数据,其中,所述第一业务数据为第一数据采集设备所采集到的第一业务对象的业务数据;确定与所述第一业务对象对应的第一数据流,其中,所述第一数据流为在所述第一数据采集设备与数据处理设备之间的目标长连接上建立的一个数据流,所述第一数据流用于实时上报所述第一数据采集设备采集到的、所述第一业务对象的业务数据;通过所述第一数据流将所述第一业务数据传输给所述数据处理设备。通过本申请,解决了相关技术中的业务数据的传输方式存在由于数据传输效率低导致的数据上报实时性差的问题。
Description
技术领域
本申请涉及互联网领域,尤其涉及一种数据传输方法和装置、电子设备和存储介质。
背景技术
在互联网后台架构中,经常需要收集业务后台运行的数据(接口调用的统计或者更详细的业务数据)。相关技术中,一般是通过HTTP接口进行采集到的业务数据的传输,例如,由数据采集端通过HTTP接口向数据处理端上报该数据采集端采集到的业务数据,又例如,由数据处理端通过HTTP接口主动从数据采集端拉取该数据采集端采集到的业务数据。
然而,上述通过HTTP接口进行业务数据传输的方式,数据传输的效率不高,在需要传输的数据量较大时,数据上报的实时性较差。
因此,相关技术中的业务数据的传输方式,存在由于数据传输效率低导致的数据上报实时性差的问题。
发明内容
本申请提供了一种数据传输方法和装置、电子设备和存储介质,以至少解决相关技术中的业务数据的传输方式存在由于数据传输效率低导致的数据上报实时性差的问题。
根据本申请实施例的一个方面,提供了一种数据传输方法,包括:获取待传输的第一业务数据,其中,所述第一业务数据为第一数据采集设备所采集到的第一业务对象的业务数据;确定与所述第一业务对象对应的第一数据流,其中,所述第一数据流为在所述第一数据采集设备与数据处理设备之间的目标长连接上建立的一个数据流,所述第一数据流用于实时上报所述第一数据采集设备采集到的、所述第一业务对象的业务数据;通过所述第一数据流将所述第一业务数据传输给所述数据处理设备。
根据本申请实施例的另一个方面,提供了一种数据传输装置,包括:第一获取单元,用于获取待传输的第一业务数据,其中,所述第一业务数据为第一数据采集设备所采集到的第一业务对象的业务数据;第一确定单元,用于确定与所述第一业务对象对应的第一数据流,其中,所述第一数据流为在所述第一数据采集设备与数据处理设备之间的目标长连接上建立的一个数据流,所述第一数据流用于实时上报所述第一数据采集设备采集到的、所述第一业务对象的业务数据;第一传输单元,用于通过所述第一数据流将所述第一业务数据传输给所述数据处理设备。
根据本申请实施例的又一个方面,还提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器、通信接口和存储器通过通信总线完成相互间的通信;其中,存储器,用于存储计算机程序;处理器,用于通过运行所述存储器上所存储的所述计算机程序来执行上述任一实施例中的方法步骤。
根据本申请实施例的又一个方面,还提供了一种计算机可读的存储介质,该存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一实施例中的方法步骤。
根据本申请实施例的又一个方面,还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中;计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述任一实施例中的方法步骤。
在本申请实施例中,采用通过长连接上的数据流传输采集到的业务数据的方式,获取待传输的第一业务数据,其中,第一业务数据为第一数据采集设备所采集到的第一业务对象的业务数据;确定与第一业务对象对应的第一数据流,其中,第一数据流为在第一数据采集设备与数据处理设备之间的目标长连接上建立的一个数据流,第一数据流用于实时上报第一数据采集设备采集到的、第一业务对象的业务数据;通过第一数据流将第一业务数据传输给数据处理设备,由于通过长连接上的数据流实时上报采集到的业务数据,可以通过流的方式源源不断的向数据处理端推送数据,而无需等待数据处理端的响应才进行采集到的业务数据的下一次传输,可以实现快速上报采集到的业务数据的目的,达到了减少服务器端的资源消耗、提升数据的传输效率的技术效果,进而解决了相关技术中的业务数据的传输方式存在由于数据传输效率低导致的数据上报实时性差的问题。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是根据本申请实施例的一种可选的数据传输方法的硬件环境的示意图;
图2是根据本申请实施例的一种可选的数据传输方法的流程示意图;
图3是根据本申请实施例的一种可选的后台架构的示意图;
图4是根据本申请实施例的另一种可选的后台架构的示意图;
图5是根据本申请实施例的又一种可选的后台架构的示意图;
图6是根据本申请实施例的一种可选的上报数据的示意图;
图7是根据本申请实施例的一种可选的数据采集端的数据上报方法的流程示意图;
图8是根据本申请实施例的一种可选的通过实时流进行数据交互的示意图;
图9是根据本申请实施例的一种可选的数据处理端的数据处理方法的流程示意图;
图10是根据本申请实施例的又一种可选的后台架构的示意图;
图11是根据本申请实施例的另一种可选的数据传输方法的流程示意图;
图12是根据本申请实施例的又一种可选的数据传输方法的流程示意图;
图13是根据本申请实施例的一种可选的数据传输装置的结构框图;
图14是根据本申请实施例的一种可选的电子设备的结构框图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
首先,在对本申请实施例进行描述的过程中出现的部分名词或者术语适用于如下解释:
1、RPC:Remote Procedure Calls,远程过程调用;
2、gRPC:一种开源的RPC网络服务框架;
3、Protobuf:一种跨平台、跨语言、可扩展的二进制序列化数据结构的协议;
4、HTTP:HyperText Transfer Protocol,超文本传输协议;
5、HTTP/2:超文本传输协议2.0,简称H2;
6、UnaryRPC:Request-Response模式,适用于大部分请求-响应的业务场景;
7、StreamingRPC:是指流式调用,适用于从对端持续读取、或向对端持续发送数据的场景;
8、TCP:Transmission Control Protocol,传输控制协议。
根据本申请实施例的一个方面,提供了一种数据传输方法。可选地,在本实施例中,上述数据传输方法可以应用于如图1所示的由第一服务器102和第二服务器104所构成的硬件环境中。如图1所示,第二服务器104(例如,数据处理端,数据处理设备)通过网络与第一服务器102(例如,数据采集端,数据采集设备)进行连接,可用于为第一服务器上运行的客户端提供服务(如数据操作、应用服务等),可在第二服务器104上或独立于服务器设置数据库,用于为第二服务器104提供数据存储服务,还可以用于存储采集的业务数据。
上述网络可以包括但不限于以下至少之一:有线网络,无线网络,有线网络可以包括但不限于以下至少之一:广域网,城域网,局域网,无线网络可以包括但不限于以下至少之一:WIFI(Wireless Fidelity,无线保真),蓝牙。第一服务器102可以但不限定是部署有收集原始数据的节点的业务服务器等。
本申请实施例的数据传输方法可以由第一服务器102来执行,也可以由第二服务器104来执行,还可以是由第一服务器102和第二服务器104共同执行。其中,第一服务器102执行本申请实施例的数据传输方法可以是由运行在其上的客户端来执行,第二服务器104执行本申请实施例的数据传输方法可以是由运行在其上的服务端来执行。
以运行在第一服务器102(数据采集端,例如,数据采集设备)为例,图2是根据本申请实施例的一种可选的数据传输方法的流程示意图,如图2所示,该方法的流程可以包括以下步骤:
步骤S202,获取待传输的第一业务数据,其中,第一业务数据为第一数据采集设备所采集到的第一业务对象的业务数据。
本实施例中的数据传输方法可以应用于由数据采集端进行业务数据采集、并将采集到的业务数据传输给数据处理端进行处理的场景,上述业务数据可以是在互联网后台架构中业务后台运行的数据。对于其他具有业务数据或者类似数据上传的场景,本实施例中的数据传输方法同样适用。
第一数据采集设备(部署有数据采集端)可以是目标应用的后台服务器,用于提供至少一种业务服务。第一数据采集设备上还可以运行有用于进行业务数据采集的客户端(例如,gRPC客户端),通过该客户端可以进行业务数据的采集和传输。数据采集端可以收集至少一种业务服务的业务后台运行的数据(例如,接口调用的统计或者更详细的业务数据),从而获取待传输的第一业务数据。
第一业务数据可以是第一数据采集设备所采集到的第一业务对象的业务数据。上述业务数据可以与业务对象对应,业务对象的业务类型可以根据需要进行配置,例如,一个业务对象可以对应于一个业务产品(例如,产品A,产品B),又例如,一个业务对象可以对应于一个业务后台(业务服务的业务后台,例如,保险业务,咨询业务等),业务后台可以采集本业务服务的多个业务指标的业务数据,又例如,一个业务对象可以对应于一种业务指标(某个业务后台的业务指标)或者一类业务指标(例如,成功率,耗时,计数类,统计值类),再例如,一个业务对象可以对应于不同的数据源(例如,内部数据源,外部数据源),还可以是其他类型的业务对象划分方式,本实施例中对于业务对象的业务类型的划分方式不作限定。
例如,第一数据采集设备可以获取第一业务后台的业务数据,得到待传输的第一业务数据,该第一业务后台是第一业务服务的业务后台。
步骤S204,确定与第一业务对象对应的第一数据流,其中,第一数据流为在第一数据采集设备与数据处理设备之间的目标长连接上建立的一个数据流,第一数据流用于实时上报第一数据采集设备采集到的、第一业务对象的业务数据。
为了向数据处理设备传输采集到的业务数据,数据采集设备可以基于HTTP协议建立数据采集设备和数据处理设备之间的连接,并通过建立的连接向数据处理设备传输采集到的业务数据。
例如,如图3所示,可以以数据处理端作为HTTP服务器,以数据采集端作为HTTP客户端,通过HTTP的POST方法来上报采集到的数据,并按照约定的报文格式进行解析。经过一定的数据处理后,存储到数据库,例如,MySQL。
又例如,如图4所示,可以以数据处理端作为HTTP客户端,以数据采集端作为HTTP服务端,通过注册中心,获取业务服务的地址。使用HTTP的GET方法来主动请求一定时间段内的数据,并按照约定的报文格式进行解析。经过一定的数据处理后,存储到数据库,例如,MySQL。
然而,由于HTTP协议的一个TCP连接上只能同时处理一个请求,在数据处理端的处理速度较慢,或者需要同时上报多种数据时,实时性会有一定影响,因此,存在数据上报实时性较差的问题。
在上报数据种类较多并且数据较大时,虽然也可以通过创建多个连接来加速数据传输,以提升实时性,但是会造成数据处理端的压力,浪费数据处理端资源。
可选地,在本实施例中,可以基于数据流构建数据处理端和数据采集端,数据采集端可以通过数据流向数据处理端实时上报采集到的业务数据。数据采集端(数据采集设备)是指:收集原始数据的节点,可以部署在各个业务服务器上;数据处理端(数据处理设备)是指:接收数据采集端所采集的数据的服务器,可以集中处理和存储数据。
第一数据采集设备(数据采集端)可以建立第一数据采集设备与数据处理设备之间的目标长连接,并根据待采集的至少一个业务对象,开启至少一个数据流,开启的数据流是存在于目标长连接中的一个虚拟通道,而至少一个数据流中的一个数据流用于传输(实时上报)至少一个业务对象的业务数据,不同数据流可以用于传输不同业务对象的业务数据。待采集的至少一个业务对象可以是通过配置信息来指示。
可选地,在本实施例中,为了保证业务对象的业务数据实时上报且互不干扰,每个数据流可以用于、且仅用于传输一个业务对象的业务数据,数据流的数量和待采集的业务对象的数量相同。
本实施例中的数据传输方法可以使用支持流式调用的网络框架,例如,可以是gRPC框架,并使用PB(Protocol Buffers,Protobuf)作为数据交换格式。对应地,创建的数据流可以为gRPC双向流。对于其他支持流式调用的网络框架,本实施例中的数据传输方法同样适用,本实施例中对此不作限定。
对应地,目标长连接可以是gRPC链接。例如,第一数据采集设备在启动时,可以通过创建gRPC链接连接到数据处理设备。在创建gRPC链接之后,可根据配置初始化多个gRPC双向流,配置可以指示多个数据采集指标。
gRPC是基于HTTP/2协议构建的,默认使用PB进行数据交换。gRPC底层使用的是HTTP/2协议。HTTP/2是超文本传输协议2.0,相比于HTTP/1.0,协议设计更加高效;通过分帧实现多路复用,大幅度提升HTTP连接的传输效率,具有更加优异的性能。gRPC可以支持两种形式的RPC调用:UnaryRPC和StreamingRPC,本实施例中使用StreamingRPC实现数据的实时上报。
例如,如图5所示,在数据处理端和数据采集端,可以使用Protobuf协议文件,编译成目标语言的源码。在数据处理端可以引入服务端源码,并编译为包含gRPC服务端的程序;在数据采集端可以引入客户端源码,并编译成包含gRPC客户端的程序。
在需要传输第一业务数据时,第一数据采集设备可以确定与第一业务对象对应的第一数据流。对于支持流式调用的网络框架,第一数据采集设备可以确定与第一数据流(实时流)对应的第一流式接口,第一数据流为在第一数据采集设备与数据处理设备之间的目标长连接上建立的一个数据流,第一数据流用于实时上报第一数据采集设备采集到的、第一业务对象的业务数据。
需要说明的是,本实施例中的数据流可以是指:在目标长连接上允许通信的一方(例如,第一数据采集设备)连续向另一方(例如,数据处理设备)发送消息的虚拟通道,可以是客户端流式调用的数据流(例如,Client-side streaming RPC)、服务端流式调用的数据流(例如,Server-side streaming RPC)等、双向调用的数据流(Bidirectional streamingRPC)。本实施例中对于数据流不作限定,只要能够支持第一数据采集设备将采集到的业务数据实时上报给数据处理设备、而无需每次消息传输均等待数据处理端的响应即可。
步骤S206,通过第一数据流将第一业务数据传输给数据处理设备。
在确定出第一数据流之后,第一数据采集设备可以通过该第一数据流将第一业务数据传输给数据处理设备,例如,可以对第一业务数据进行一定的封装,封装为一个或多个帧,并将封装得到的帧通过第一数据流传输给数据处理设备。
第一业务数据可以是第一数据采集设备向数据处理设备主动上报的,也可以是数据处理设备从第一数据采集设备处主动拉取的,本实施例中对此不作限定。
可选地,在本实施例中,对于支持流式调用的网络框架,第一数据采集设备可以调用第一流式接口,通过第一数据流将第一业务数据传输给数据处理设备。
数据处理设备在接收到第一业务数据(例如,收到上报数据)之后,可以对第一业务数据进行处理,例如,对数据进行解析、提取、处理,并将处理后的数据进行存储,存储的位置可以是数据处理设备本地、与数据处理设备相连的数据库或者其他存储设备中。数据展示系统可以在用户查看时(也可以在用户查看之前),获取处理后所存储的数据,并进行相应的展示。
通过上述步骤S202至步骤S206,获取待传输的第一业务数据,其中,第一业务数据为第一数据采集设备所采集到的第一业务对象的业务数据;确定与第一业务对象对应的第一数据流,其中,第一数据流为在第一数据采集设备与数据处理设备之间的目标长连接上建立的一个数据流,第一数据流用于实时上报第一数据采集设备采集到的、第一业务对象的业务数据;通过第一数据流将第一业务数据传输给数据处理设备,解决了相关技术中的业务数据的传输方式存在由于数据传输效率低导致的数据上报实时性差的问题,减少了服务器端的资源消耗,提升了数据的传输效率。
作为一种可选的实施例,确定与第一业务对象对应的第一数据流包括:
S11,确定第一数据采集设备的至少两个业务对象中与第一业务数据对应的第一业务对象;
S12,从目标长连接上建立的至少两个数据流中,选取出与第一业务对象匹配的第一数据流,其中,至少两个数据流中的一个数据流用于传输至少一个业务对象的业务数据。
第一数据采集设备可以采集至少两个业务对象(例如,业务服务,业务后台)的业务数据,对应地,在目标长连接上可以建立至少两个数据流。对于至少两个数据流,每个数据流可以用于传输至少一个业务对象的业务数据,每个业务对象的业务数据可以通过至少一个数据流进行传输。在同一数据流中传输不同业务对象的业务数据时,可以通过数据流的数据流标识和业务对象的对象标识一起标识本业务数据是哪个业务对象的业务数据。
例如,业务对象包括:业务对象1和业务对象2,数据流包括:数据流1和数据流2,其中,业务对象1的业务数据可以通过数据流1传输,业务对象2的业务数据可以通过数据流2传输,或者,业务对象1的业务数据可以通过数据流1和数据流2传输,业务对象2的业务数据也可以通过数据流1和数据流2传输。
第一数据采集设备可以从至少两个数据流中选取出与第一业务对象匹配的第一数据流,选取的方式可以是:按照业务对象和数据流之间的对应关系选取,随机选取,按照业务对象的类型选取。
例如,可以从允许传输第一业务对象的业务数据的至少一个数据流中随机或者按照顺序选取出第一数据流。
通过本实施例,按照业务数据对应的业务对象进行数据流的选取,可以保证业务数据传输的有序性,进而保证业务数据传输的准确性。
作为一种可选的实施例,在通过第一数据流将第一业务数据传输给数据处理设备之后,上述方法还包括:
S21,获取待传输的第二业务数据,其中,第二业务数据为第一数据采集设备所采集到的第二业务对象的业务数据,至少两个业务对象包括第二业务对象;
S22,从至少两个数据流中确定出与第二业务对象匹配的第二数据流,其中,第二数据流用于实时上报第一数据采集设备采集到的、第二业务对象的业务数据;
S23,通过第二数据流将第二业务数据传输给数据处理设备。
除了第一业务数据,第一数据采集设备还可以采集其他业务对象的业务数据,得到其他业务数据,例如,第一数据采集设备可以采集第二业务对象的业务数据,得到第二业务数据。
对于第二业务数据,第一数据采集设备可以从至少两个数据流中确定出与第二业务对象匹配的第二数据流,该第二数据流可以用于实时上报第一数据采集设备采集到的、第二业务对象的业务数据。例如,可以根据业务对象与数据流之间的对应关系,从至少两个数据流中匹配出第二数据流。如果第一业务对象和第二业务对象为不同的业务对象,第一数据流和第二数据流可以是相同的数据流,也可以是不同的数据流。
在匹配出第二数据流之后,第一数据采集设备可以通过第二数据流将第二业务数据传输给数据处理设备,由数据处理设备执行后续的操作,在此不做赘述。
通过本实施例,对于不同的业务数据按照业务对象匹配对应的数据流,可以减少不同业务对象的业务数据之间的干扰,从而保证业务数据传输的有序性和准确性。
作为一种可选的实施例,获取待传输的第一业务数据包括以下至少之一:
S31,以目标频率读取第一数据采集设备的本地文件,得到第一业务数据;
S32,接收第一业务对象的业务程序发送到采集线程的数据,得到第一业务数据,其中,采集线程用于采集第一业务对象的业务数据。
根据不同的业务场景,数据采集可以采用不同的实现方式,可以是定时读取文件,也可以是程序将数据直接传递给采集线程(协程)。
作为一种可选的实施方式,第一数据采集设备可以采用目标频率定时读取第一数据采集设备的本地文件,从而得到不同业务对象的业务数据,例如,第一业务对象的第一业务数据。
不同业务对象的业务数据可以保存在不同的本地文件中,可以通过本地文件的文件名来区分不同业务对象的业务数据。不同业务对象的业务数据也可以保存在相同的本地文件中,可以通过文件中的业务对象标识或者其他标识来区分不同业务对象的业务数据,本实施例中对此不作限定。
作为另一种可选的实施方式,第一数据采集设备中与第一业务对象对应的业务程序可以将业务数据直接传递给采集线程(或者,协程),该采集线程是用于采集第一业务对象的业务数据的线程。
不同业务对象的业务数据可以通过不同的采集线程来采集,也可以通过同一采集线程来采集的。如果采用同一采集线程采集不同业务对象的业务数据,不同业务对象的业务数据可以通过业务对象标识或者其他标识进行表示,以便采集线程确定传递来的业务数据是哪个业务对象的业务数据。对于不同业务对象的业务数据,采集线程可以直接通过对应的数据流将其传输给数据处理端,也可以保存到本地相同或者不同的本地文件中,本实施例中对此不作限定。
通过本实施例,根据业务场景采用对应的采集方式进行数据采集,可以提高数据采集的合理性,提升数据采集的效率。
作为一种可选的实施例,在通过第一数据流将第一业务数据传输给数据处理设备包括:
S41,生成与第一业务数据对应的初始报文,其中,初始报文包括报文头部和第一业务数据,报文头部中包含目标元信息,目标元信息为待上报给数据处理设备的、用于描述第一数据采集设备采集第一业务数据的信息;
S42,对初始报文执行头部压缩,得到目标报文,其中,目标元信息被压缩为与目标元信息对应的目标字符;
S43,通过第一数据流将目标报文传输给数据处理设备。
传输业务数据的报文可以包括:报文头部和报文正文(数据)。报文正文可以包括上报数据,上报数据可以是采集端需要上报的信息,即,采集到的业务数据。报文正文还可以包括与上报数据对应的时间戳,即,与采集到的业务数据对应的时间戳,可以是业务数据采集的时间戳,还可以是业务数据上报的时间戳,还可以是其他与业务数据关联的时间戳,本实施例中对此不作限定。
上报数据可以定义为PB协议中的字符串,采集端可以不关注上报数据的具体内容如何定义,以此保证上报协议的通用性。时间戳可以单独定义一个整形字段,同上报数据整体构成时序数据,便于后续上报数据的处理。
对于第一业务数据,第一业务数据可以是通过目标报文传输的,为了得到目标报文,第一数据采集设备可以首先生成与第一业务数据对应的初始报文,目标报文可以是基于初始报文得到的。该初始报文包含包括报文头部和报文正文,报文正文中包含有第一业务数据。可选地,报文正文中还可以包含与第一业务数据对应的时间戳。
在向数据处理设备传输第一业务数据时,第一数据采集设备可以同时向数据处理设备传输目标元信息。该目标元信息可以是待上报给数据处理设备的元信息,例如,按照第一数据采集设备和数据处理设备之间的约定所需传输的元信息,这里的元信息是指:用于描述第一数据采集设备采集第一业务数据的信息,可以包括但不限于以下至少之一:协议版本号,IP地址,进程ID等。
相关技术中,元信息一般是直接使用报文上报的,即,将元信息放入到报文本身(报文正文)进行上报。然而,上述元信息的上报方式,存在元信息传输需要消耗较多的传输资源的问题。
可选地,在本实施例中,考虑到元信息本身变化较小,但又是需要上报的内容,可以将元信息承载在报文头部,以便于通过头部压缩将元信息压缩为对应的字符。对于目标元信息,目标元信息可以承载在初始报文的报文头部,即,初始报文包括报文头部中包含有目标元信息。这里,头部压缩可以是指:查询对应的字典,将允许压缩的头部信息(例如,目标元信息)压缩为对应的标识信息(例如,字符)。
例如,可以使用gRPC的Header来承载元信息,gRPC底层使用HTTP/2协议,HTTP/2协议的两个的特性是:多路复用,头部压缩。前者可以减少服务器端的资源消耗,一个客户端对应一个长连接,而不是多个连接;后者可以减少数据的冗余,提升传输效率。将元信息承载在gRPC的Header,可以充分利用HTTP2协议头部压缩的特性,减少冗余数据的传输。
在得到初始报文之后,第一数据采集设备可以对初始报文进行头部压缩,得到目标报文,在目标报文中,目标元信息被压缩为与其对应的目标字符。例如,第一数据采集设备可以查询目标词典,得到与目标元信息对应的目标字符,目标词典中用于通过键值保存元信息与压缩成的字符之间的对应关系;将目标元信息压缩为目标字符。对于报文头部中未进行压缩的头部信息,则可以按照已有的方式进行处理,本实施例中对此不作限定。
在第一数据采集设备和数据处理设备处可以分别维护与元信息对应的目标字典。目标字典中可以通过键值对的方式保存数据采集设备的元信息,键值对可以有多种形式:可以将元信息作为一个整体保存对应的值,例如,可以将协议版本号、IP地址、进程ID等内容作为一个整体保存为字典中的一个值(Value),对应于一个键(Key);也可以分别保存元信息中的部分信息对应的值,例如,可以协议版本号、IP地址、进程ID等内容分别保存为字典中的一个(Value),对应于一个键(Key),本实施例中对此不作限定。
例如,如图6所示,数据采集端上报的数据结构可以分为元信息、上报内容、时间戳(数据产生的时间点),其中,通过gRPC的Header承载元信息,通过PB承载上报内容和时间戳。
在生成目标报文之后,第一数据采集设备可以通过第一数据流将目标报文传输给数据处理设备。报文可以是以帧的形式传输的,例如,可以首先将报文拆分成多个帧,拆分成的多个帧可以共享一个8字节的首部,其中包含帧的长度、类型、标志、还有一个保留位,并且至少有标识出当前帧所属的流的标识符;然后将拆分成的多个帧发送给数据处理设备。拆分成的帧的类型可以包括但不限于以下至少之一:HEADERS帧,DATA帧,CONTINUATION帧,PING帧,PRIORITY帧,RST_STREAM帧,SETTINGS帧,PUSH_PROMISE帧,GOAWAY帧,WINDOW_UPDATE帧。
对于目标报文,第一数据采集设备可以将目标报文拆分成多个帧,比如,第一数据采集设备可以在二进制分帧层上将目标报文的报文头部封装到Headers帧,将报文正文封装到Data帧,并对它们采用二进制格式的编码,并在第一数据流上将编码后的帧进行乱序发送,然后再由数据处理设备根据接收到的每个帧首部的流标识符重新组装,具体过程可以参考相关技术,在此不做赘述。
通过本实施例,将元信息通过报文头部来承载,可以充分利用头部压缩的特性,减少冗余数据的传输,提高数据的传输效率。
作为一种可选示例,数据采集端的数据传输流程可以如图7所示,该流程可以包括以下步骤:
步骤S702,连接数据处理端。
当一个数据采集端被启动时,数据采集端可以连接到数据处理端。
步骤S704,创建gRPC连接并初始化双向流。
数据采集端可以创建与数据处理端的gRPC链接,并根据配置初始化多个gRPC双向流。
步骤S706,采集数据。
数据采集设备可以采集业务数据,根据业务场景数据采集可以有不同的实现方式,例如,定时读取文件,或者,程序将数据直接传递给采集线程(协程)。
步骤S708,根据指标选择对应的流。
在采集到业务数据后,数据采集设备可以根据业务数据对应的数据采集指标(上传指标,业务对象)选择对应的双向流。
步骤S710,上报数据。
数据采集设备可以通过选择的双向流将采集到的业务数据上报给数据处理设备。
通过本示例,使用gRPC框架,基于双向流构建数据处理端和采集端,一个采集端(客户端)对应一个长连接,采集端可以同时开启多个流,实时向数据处理端进行业务数据推送,通过多路复用,可以减少服务器端的资源消耗,提高数据上报的实时性。
对于数据处理设备,数据处理设备可以建立与第一数据采集设备之间的目标长连接;接收第一数据采集设备通过目标长连接上建立的第一数据流传输的第一业务数据。第一业务数据可以是通过目标报文传输的。
作为一种可选的实施例,在通过第一数据流将目标报文传输给数据处理设备之后,上述方法还包括:
S51,通过数据处理设备接收第一数据采集设备通过第一数据流传输的、与第一业务对象对应的多个报文,其中,多个报文中的每个报文中都携带有第一业务对象的业务数据、以及与每个报文携带的业务数据所对应的时间戳;
S52,分别获取每个报文中携带的业务数据、以及与每个报文中携带的业务数据所对应的时间戳;
S53,将每个报文中携带的业务数据、以及与每个报文中携带的业务数据所对应的时间戳存储到数据处理设备中。
在数据处理设备侧,数据处理设备可以接收第一数据采集设备通过第一数据流传输的、与第一业务对象对应的多个报文。多个报文可以包含前述实施例中的目标报文。多个报文中的每个报文中均
一个业务数据以及对应的时间戳可以是通过一个报文传输的,对应地,数据处理设备可以接收第一数据采集设备通过第一数据流传输的多个报文,多个报文中的每个报文中可以都携带有时序数据,时序数据包括:第一业务对象的业务数据、以及与每个报文携带的业务数据所对应的时间戳。
数据处理设备可以分别提取每个报文中的时序数据,即,每个报文中携带的业务数据以及与每个报文携带的业务数据所对应的时间戳,并将每个报文中携带的业务数据、以及与每个报文中携带的业务数据所对应的时间戳存储到数据处理设备中,或者,与数据处理设备相连的存储设备(例如,数据库),以便于数据处理设备基于保存的数据进行一些数据处理操作,例如,绘制监控曲线,针对数据前后变化告警等,本实施例中对此不作限定。
通过本实施例,数据处理端基于接收到的时序数据进行数据存储,以便进行后续的数据处理操作,可以提高数据存储和数据处理的便捷性。
可选地,在本实施例中,数据处理设备还可以基于上报内容的元信息及当前链接状态,在管控平台上展示采集端的运行情况。数据处理设备可以创建数据处理设备至第一数据采集设备的数据流,即,第三数据流,通过第三数据流向第一数据采集设备发送控制信令,控制指令用于控制第一数据采集设备执行预设操作,例如,调整协议版本、获取运行数据、限速等。
例如,如图8所示,客户端与服务器之间可以创建两个方向的实时流。在采集端-数据处理端方向,采集端可以实时上报的业务数据(例如,D1,D2,...,Dn),不同的业务数据可以是相同的数据流传输的,也可以是通过不同的数据流传输的。数据处理端可以接收采集端实时上报的业务数据(例如,D1,D2,...,Dn),并基于业务数据的时序,对业务数据进行存储,还可以执行绘制监控曲线、针对数据前后变化告警等操作。在数据处理端-采集端方向,数据处理端可以发送一些控制信令(例如,C1,C2),用于控制执行采集端的预设的功能,例如,调整协议版本、获取运行数据、限速等。
作为一种可选的实施例,在通过第一数据流将第一业务数据传输给数据处理设备之后,上述方法还包括:
S61,通过数据处理设备确定目标连接表中的每个数据采集设备的连接状态,其中,每个数据采集设备均通过长连接与数据处理设备进行连接,目标连接表用于记录每个数据采集设备的连接状态;
S62,在确定出第二数据采集设备的连接状态异常的情况下,通过数据处理设备向告警设备发送告警信息,其中,告警信息用于指示第二数据采集设备存在异常。
相关技术中,在数据采集端异常时,无法实时感知数据上报异常,只能通过一段时间的数据积累后,通过数据异常来发现,因此,存在无法实时感知数据上报异常导致的异常处理不及时的问题。
可选地,在本实施例中,在数据处理端,数据处理设备可以维护有目标连接表,目标连接表用于记录连接到数据处理设备上的每个数据采集设备的连接状态,每个数据采集设备均通过长连接与数据处理设备进行连接,即,目标连接表用于记录通过长连接与数据处理设备进行连接的每个数据采集设备的连接状态。数据采集端可以作为gRPC客户端,对应地,目标连接表可以是客户端连接表。
数据处理设备可以确定目标连接表中的每个数据采集设备的连接状态,上述连接状态可以包括但不限于以下至少之一:连接正常,连接异常,连接时长,通过长连接未收到上报数据的时长等等。根据各个数据采集设备的连接状态,数据处理设备可以确定各个数据采集设备的连接状态是否正常。
如果根据目标连接表确定出第二数据采集设备存在异常,例如,在目标时长内未接收到第二数据采集设备所上报的业务数据,或者,目标时长内未接受到第二数据采集设备所发送的心跳包,数据采集设备可以向告警设备发送告警信息,以指示第二数据采集设备存在异常。上述告警设备可以按照配置信息所确定的设备,例如,可以是相关人员的终端设备等,发送告警信息的方式可以是:短信,即时通信应用的会话消息等等,本实施例中对此不作具体限定。
例如,数据处理端可以检查客户端连接表的状态,对于连接异常的数据采集端,可以按照相应的策略进行告警。
可选地,在本实施例中,数据展示系统可以获取数据处理设备的当前连接信息(连接到数据处理设备的各个数据采集设备的连接状态),并可视化展示当前连接的采集端。
通过本实施例,根据连接表记录的各个数据采集设备的连接状态进行异常告警,可以及时感知数据采集端的异常,提高异常处理的及时性,进而保证业务数据采集的准确性。
作为一种可选示例,数据处理端的数据处理流程可以如图9所示,该流程可以包括以下步骤:
步骤S902,接受采集端连接。
数据处理端可以接受数据采集端的连接。
步骤S904-步骤S906,更新客户端连接表,等待数据上报。
新的数据采集端连接后,数据处理设备可以更新客户端连接信息(客户端连接表),在双向流上等待数据的上报。
步骤S908-步骤S910,接收上报数据,处理上报数据。
收到上报数据后,数据处理设备可以对数据进行解析、提取、处理,并将处理后的数据进行存储。
同时,数据处理端也可以检查客户端连接表的状态,对于连接异常的数据采集端,可以按照相应的策略进行告警。
通过本示例,在数据采集端和数据处理端之间根据不同指标引入多个双向流,每个数据指标之间并行上报,实时上报且互不干扰;同时引入了连接状态的监控,可以及时发现数据采集端的异常,提高数据传输的效率,以及异常处理的及时性。
下面结合可选示例对本申请实施例中的数据传输方法进行解释说明。
本示例中的数据传输方法是一种基于gRPC双向流的实时数据上报方案,可以应用于互联网后台中的数据上报,使数据上报更加及时,还可以兼备监控上报节点存活状态的功能。
如图10所示,在本可选示例中,采集端(数据采集设备)和处理端(数据处理设备)使用gRPC框架,gRPC框架基于HTTP/2协议构建,默认使用PB进行数据交换。gRPC使用StreamingRPC(Bi-Stream RPC)实现数据的实时上报。
对于HTTP/2协议,HTTP/2使用二进制替代文本编码,编码效率更高,其具有以下两个突出的特性:多路复用、头部压缩。前者可以减少服务器端的资源消耗,一个客户端对应一个长连接;后者可以减少数据的冗余,提升传输效率。
在进行网络搭建时,相关人员可以按照业务场景定义上报指标需要的Protobuf协议文件,编译成目标语言的源码。数据处理端引入服务端源码,替换原有的HTTP服务器。数据采集端使用客户端源码,替换原有的HTTP客户端。客户端与服务器之间创建多个双向流,用于不同类型数据的上报。同时,也可以由服务器下发控制指令给客户端。
结合图11和图12,本可选示例中的数据传输方法的流程可以包括以下步骤:
步骤S1202,数据采集端在启动时,连接数据处理端,并根据数据采集指标创建多个双向流。
步骤S1204,数据采集成功后,通过对应的双向流将数据推送到数据处理端。
步骤S1206,数据处理端对数据进行处理后存储,在用户查看时进行响应的展示。
步骤S1208,数据处理端检查客户端连接表的状态,对于连接异常的数据采集端,按照相应的策略进行告警。
通过本可选实施例,通过使用gRPC双向流,首先,由于HTTP/2使用二进制替代文本编码,并可以进行头部压缩,可以提升传输编码的效率;其次,由于数据采集端和数据处理端之间,根据不同指标引入多个双向流,每个数据指标之间并行上报,实时上报且互不干扰,可以提高数据上报的实时性;并且,由于引入了连接状态的监控,可以及时发现数据采集端的异常,提高异常处理的效率。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM(Read-Only Memory,只读存储器)/RAM(Random Access Memory,随机存取存储器)、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本申请各个实施例所述的方法。
根据本申请实施例的另一个方面,还提供了一种用于实施上述数据传输方法的数据传输装置。图13是根据本申请实施例的一种可选的数据传输装置的示意图,如图13所示,该装置可以包括:
(1)第一获取单元1302,用于获取待传输的第一业务数据,其中,所述第一业务数据为第一数据采集设备所采集到的第一业务对象的业务数据;
(2)第一确定单元1304,与第一获取单元1302相连,用于确定与所述第一业务对象对应的第一数据流,其中,所述第一数据流为在所述第一数据采集设备与数据处理设备之间的目标长连接上建立的一个数据流,所述第一数据流用于实时上报所述第一数据采集设备采集到的、所述第一业务对象的业务数据;
(3)第一传输单元1306,与第一确定单元1304相连,用于通过第一数据流将第一业务数据传输给数据处理设备。
需要说明的是,该实施例中的第一获取单元1302可以用于执行上述步骤S202,该实施例中的第一确定单元1304可以用于执行上述步骤S204,该实施例中的第一传输单元1306可以用于执行上述步骤S206。
通过上述模块,获取待传输的第一业务数据,其中,第一业务数据为第一数据采集设备所采集到的第一业务对象的业务数据;确定与第一业务对象对应的第一数据流,其中,第一数据流为在第一数据采集设备与数据处理设备之间的目标长连接上建立的一个数据流,第一数据流用于实时上报第一数据采集设备采集到的、第一业务对象的业务数据;通过第一数据流将第一业务数据传输给数据处理设备,解决了相关技术中的业务数据的传输方式存在由于数据传输效率低导致的数据上报实时性差的问题,解决了相关技术中的业务数据的传输方式存在由于数据传输效率低导致的数据上报实时性差的问题,减少了服务器端的资源消耗,提升了数据的传输效率。
作为一种可选的实施例,第一确定单元1304包括:
第一确定模块,用于确定第一数据采集设备的至少两个业务对象中与第一业务数据对应的第一业务对象;
选取模块,用于从目标长连接上建立的至少两个数据流中,选取出与第一业务对象匹配的第一数据流,其中,至少两个数据流中的一个数据流用于传输至少一个业务对象的业务数据。
作为一种可选的实施例,上述装置还包括:
第二获取单元,用于在通过第一数据流将第一业务数据传输给数据处理设备之后,获取待传输的第二业务数据,其中,第二业务数据为第一数据采集设备所采集到的第二业务对象的业务数据,至少两个业务对象包括第二业务对象;
第二确定单元,用于从至少两个数据流中确定出与第二业务对象匹配的第二数据流,其中,第二数据流用于实时上报第一数据采集设备采集到的、第二业务对象的业务数据;
第二传输单元,用于通过第二数据流将第二业务数据传输给数据处理设备。
作为一种可选的实施例,第一获取单元1302包括以下至少之一:
读取模块,用于以目标频率读取第一数据采集设备的本地文件,得到第一业务数据;
接收模块,用于接收第一业务对象的业务程序发送到采集线程的数据,得到第一业务数据,其中,采集线程用于采集第一业务对象的业务数据。
作为一种可选的实施例,第一传输单元1306包括:
生成模块,用于生成与第一业务数据对应的初始报文,其中,初始报文包括报文头部和第一业务数据,报文头部中包含目标元信息,目标元信息为待上报给数据处理设备的、用于描述第一数据采集设备采集第一业务数据的信息;
压缩模块,用于对初始报文执行头部压缩,得到目标报文,其中,目标元信息被压缩为与目标元信息对应的目标字符;
传输模块,用于通过第一数据流将目标报文传输给数据处理设备。
作为一种可选的实施例,上述装置还包括:
接收单元,用于在通过第一数据流将第一业务数据传输给数据处理设备之后,通过数据处理设备接收第一数据采集设备通过第一数据流传输的、与第一业务对象对应的多个报文,其中,多个报文中的每个报文中都携带有第一业务对象的业务数据、以及与每个报文携带的业务数据所对应的时间戳;
第三获取单元,用于分别获取每个报文中携带的业务数据、以及与每个报文中携带的业务数据所对应的时间戳;
存储单元,用于将每个报文中携带的业务数据、以及与每个报文中携带的业务数据所对应的时间戳存储到数据处理设备中。
作为一种可选的实施例,上述装置还包括:
第三确定单元,用于在通过第一数据流将第一业务数据传输给数据处理设备之后,通过数据处理设备确定目标连接表中的每个数据采集设备的连接状态,其中,每个数据采集设备均通过长连接与数据处理设备进行连接,目标连接表用于记录每个数据采集设备的连接状态;
发送单元,用于在确定出第二数据采集设备的连接状态异常的情况下,通过数据处理设备向告警设备发送告警信息,其中,告警信息用于指示第二数据采集设备存在异常。
此处需要说明的是,上述模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在如图1所示的硬件环境中,可以通过软件实现,也可以通过硬件实现,其中,硬件环境包括网络环境。
根据本申请实施例的又一个方面,还提供了一种用于实施上述数据传输方法的电子设备,该电子设备可以是服务器、终端、或其组合。
图14是根据本申请实施例的一种可选的电子设备的结构框图,如图14所示,包括处理器1402、通信接口1404、存储器1406和通信总线1408,其中,处理器1402、通信接口1404和存储器1406通过通信总线1408完成相互间的通信,其中,
存储器1406,用于存储计算机程序;
处理器1402,用于执行存储器1406上所存放的计算机程序时,实现如下步骤:
S1,获取待传输的第一业务数据,其中,第一业务数据为第一数据采集设备所采集到的第一业务对象的业务数据;
S2,确定与第一业务对象对应的第一数据流,其中,第一数据流为在第一数据采集设备与数据处理设备之间的目标长连接上建立的一个数据流,第一数据流用于实时上报第一数据采集设备采集到的、第一业务对象的业务数据;
S3,通过第一数据流将第一业务数据传输给数据处理设备。
可选地,在本实施例中,上述的通信总线可以是PCI(Peripheral ComponentInterconnect,外设部件互连标准)总线、或EISA(Extended Industry StandardArchitecture,扩展工业标准结构)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图14中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述电子设备与其他设备之间的通信。
存储器可以包括RAM,也可以包括非易失性存储器(non-volatile memory),例如,至少一个磁盘存储器。可选地,存储器还可以是至少一个位于远离前述处理器的存储装置。
作为一种示例,上述存储器1406中可以但不限于包括上述数据传输装置中的第一获取单元1302、第一确定单元1304、以及第一传输单元1306。此外,还可以包括但不限于上述数据传输装置中的其他模块单元,本示例中不再赘述。
上述处理器可以是通用处理器,可以包含但不限于:CPU(Central ProcessingUnit,中央处理器)、NP(Network Processor,网络处理器)等;还可以是DSP(DigitalSignal Processing,数字信号处理器)、ASIC(Application Specific IntegratedCircuit,专用集成电路)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
此外,上述电子设备还包括:显示器,用于显示以下至少之一:不同数据采集端的连接状态,数据采集端连接异常的告警信息。
可选地,本实施例中的具体示例可以参考上述实施例中所描述的示例,本实施例在此不再赘述。
本领域普通技术人员可以理解,图14所示的结构仅为示意,实施上述数据传输方法的设备可以是终端设备,该终端设备可以是智能手机(如Android手机、iOS手机等)、平板电脑、掌上电脑以及移动互联网设备(Mobile Internet Devices,MID)、PAD等终端设备。图14其并不对上述电子设备的结构造成限定。例如,终端设备还可包括比图14中所示更多或者更少的组件(如网络接口、显示装置等),或者具有与图14所示的不同的配置。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令终端设备相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、ROM、RAM、磁盘或光盘等。
根据本申请实施例的又一个方面,还提供了一种存储介质。可选地,在本实施例中,上述存储介质可以用于执行设备投屏的方法的程序代码。
可选地,在本实施例中,上述存储介质可以位于上述实施例所示的网络中的多个网络设备中的至少一个网络设备上。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:
S1,获取待传输的第一业务数据,其中,第一业务数据为第一数据采集设备所采集到的第一业务对象的业务数据;
S2,确定与第一业务对象对应的第一数据流,其中,第一数据流为在第一数据采集设备与数据处理设备之间的目标长连接上建立的一个数据流,第一数据流用于实时上报第一数据采集设备采集到的、第一业务对象的业务数据;
S3,通过第一数据流将第一业务数据传输给数据处理设备。
可选地,本实施例中的具体示例可以参考上述实施例中所描述的示例,本实施例中对此不再赘述。
可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、ROM、RAM、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
根据本申请实施例的又一个方面,还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中;计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述任一个实施例中的方法步骤。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
上述实施例中的集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在上述计算机可读取的存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在存储介质中,包括若干指令用以使得一台或多台计算机设备(可为个人计算机、服务器或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。
在本申请的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的客户端,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例中所提供的方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
以上所述仅是本申请的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。
Claims (10)
1.一种数据传输方法,其特征在于,包括:
获取待传输的第一业务数据,其中,所述第一业务数据为第一数据采集设备所采集到的第一业务对象的业务数据;
确定与所述第一业务对象对应的第一数据流,其中,所述第一数据流为在所述第一数据采集设备与数据处理设备之间的目标长连接上建立的一个数据流,所述第一数据流用于实时上报所述第一数据采集设备采集到的、所述第一业务对象的业务数据;
通过所述第一数据流将所述第一业务数据传输给所述数据处理设备。
2.根据权利要求1所述的方法,其特征在于,所述确定与所述第一业务对象对应的第一数据流包括:
确定所述第一数据采集设备的至少两个业务对象中与所述第一业务数据对应的所述第一业务对象;
从所述目标长连接上建立的至少两个数据流中,选取出与所述第一业务对象匹配的所述第一数据流,其中,所述至少两个数据流中的一个数据流用于传输至少一个业务对象的业务数据。
3.根据权利要求2所述的方法,其特征在于,在所述通过所述第一数据流将所述第一业务数据传输给所述数据处理设备之后,所述方法还包括:
获取待传输的第二业务数据,其中,所述第二业务数据为所述第一数据采集设备所采集到的第二业务对象的业务数据,所述至少两个业务对象包括所述第二业务对象;
从所述至少两个数据流中确定出与所述第二业务对象匹配的第二数据流,其中,所述第二数据流用于实时上报所述第一数据采集设备采集到的、所述第二业务对象的业务数据;
通过所述第二数据流将所述第二业务数据传输给所述数据处理设备。
4.根据权利要求1所述的方法,其特征在于,所述获取待传输的第一业务数据包括以下至少之一:
以目标频率读取所述第一数据采集设备的本地文件,得到所述第一业务数据;
接收所述第一业务对象的业务程序发送到采集线程的数据,得到所述第一业务数据,其中,所述采集线程用于采集所述第一业务对象的业务数据。
5.根据权利要求1所述的方法,其特征在于,所述通过所述第一数据流将所述第一业务数据传输给所述数据处理设备包括:
生成与所述第一业务数据对应的初始报文,其中,所述初始报文包括报文头部和所述第一业务数据,所述报文头部中包含目标元信息,所述目标元信息为待上报给所述数据处理设备的、用于描述所述第一数据采集设备采集所述第一业务数据的信息;
对所述初始报文执行头部压缩,得到目标报文,其中,所述目标元信息被压缩为与所述目标元信息对应的目标字符;
通过所述第一数据流将所述目标报文传输给所述数据处理设备。
6.根据权利要求1所述的方法,其特征在于,在所述通过所述第一数据流将所述第一业务数据传输给所述数据处理设备之后,所述方法还包括:
通过所述数据处理设备接收所述第一数据采集设备通过所述第一数据流传输的、与所述第一业务对象对应的多个报文,其中,所述多个报文中的每个报文中都携带有所述第一业务对象的业务数据、以及与所述每个报文携带的业务数据所对应的时间戳;
分别获取所述每个报文中携带的业务数据、以及与所述每个报文中携带的业务数据所对应的时间戳;
将所述每个报文中携带的业务数据、以及与所述每个报文中携带的业务数据所对应的时间戳存储到所述数据处理设备中。
7.根据权利要求1至6中任一项所述的方法,其特征在于,在所述通过所述第一数据流将所述第一业务数据传输给所述数据处理设备之后,所述方法还包括:
通过所述数据处理设备确定目标连接表中的每个数据采集设备的连接状态,其中,所述每个数据采集设备均通过长连接与所述数据处理设备进行连接,所述目标连接表用于记录所述每个数据采集设备的连接状态;
在确定出第二数据采集设备的连接状态异常的情况下,通过所述数据处理设备向告警设备发送告警信息,其中,所述告警信息用于指示所述第二数据采集设备存在异常。
8.一种数据传输装置,其特征在于,包括:
第一获取单元,用于获取待传输的第一业务数据,其中,所述第一业务数据为第一数据采集设备所采集到的第一业务对象的业务数据;
第一确定单元,用于确定与所述第一业务对象对应的第一数据流,其中,所述第一数据流为在所述第一数据采集设备与数据处理设备之间的目标长连接上建立的一个数据流,所述第一数据流用于实时上报所述第一数据采集设备采集到的、所述第一业务对象的业务数据;
第一传输单元,用于通过所述第一数据流将所述第一业务数据传输给所述数据处理设备。
9.一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,所述处理器、所述通信接口和所述存储器通过所述通信总线完成相互间的通信,其特征在于,
所述存储器,用于存储计算机程序;
所述处理器,用于通过运行所述存储器上所存储的所述计算机程序来执行权利要求1至7中任一项所述的方法步骤。
10.一种计算机可读的存储介质,其特征在于,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行权利要求1至7中任一项中所述的方法步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110139353.XA CN112887413A (zh) | 2021-02-01 | 2021-02-01 | 数据传输方法和装置、电子设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110139353.XA CN112887413A (zh) | 2021-02-01 | 2021-02-01 | 数据传输方法和装置、电子设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112887413A true CN112887413A (zh) | 2021-06-01 |
Family
ID=76052367
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110139353.XA Pending CN112887413A (zh) | 2021-02-01 | 2021-02-01 | 数据传输方法和装置、电子设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112887413A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114710430A (zh) * | 2022-04-06 | 2022-07-05 | 深圳依时货拉拉科技有限公司 | 双向通信的管控方法、计算机可读存储介质和计算机设备 |
-
2021
- 2021-02-01 CN CN202110139353.XA patent/CN112887413A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114710430A (zh) * | 2022-04-06 | 2022-07-05 | 深圳依时货拉拉科技有限公司 | 双向通信的管控方法、计算机可读存储介质和计算机设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107634848B (zh) | 一种采集分析网络设备信息的系统和方法 | |
US9717011B2 (en) | Event management in telecommunications networks | |
CN113220715B (zh) | 一种数据处理方法、系统、计算机及可读存储介质 | |
CN110858192A (zh) | 一种日志查询方法和系统、日志排查系统和查询终端 | |
CN108881817A (zh) | 一种数据同步的方法、装置和系统 | |
CN105450479A (zh) | 一种监控模块的方法及装置 | |
US20140013007A1 (en) | Access log management method | |
CN117615043B (zh) | 一种边缘网关上服务间通信方法及系统 | |
CN112335203B (zh) | 处理局域网诊断数据 | |
CN112887413A (zh) | 数据传输方法和装置、电子设备和存储介质 | |
CN108460044B (zh) | 数据的处理方法和装置 | |
WO2021147319A1 (zh) | 一种数据处理方法、装置、设备及介质 | |
CN117424910A (zh) | 一种增量数据的自动同步方法、系统、设备和介质 | |
KR20220001606A (ko) | 대용량 네트워크 모니터링을 위한 실시간 패킷 데이터 저장 방법 및 장치 | |
CN112019604A (zh) | 边缘数据传输方法和系统 | |
CN111367686A (zh) | 业务接口的调用方法及装置、计算机设备、存储介质 | |
CN110365690A (zh) | 流量采集方法、装置及存储介质 | |
EP3002910B1 (en) | Connecting computer management systems via cellular digital telecommunication networks | |
KR20210011243A (ko) | Http/2 헤더 압축 패킷 모니터링 방법 및 장치 | |
CN114697205B (zh) | 日志处理方法及装置 | |
KR102423038B1 (ko) | 대용량 네트워크 모니터링을 위한 실시간 패킷 데이터 수집 방법 및 장치 | |
CN114064428A (zh) | 日志的处理方法、装置以及系统 | |
KR20210147575A (ko) | 대용량 네트워크 모니터링을 위한 실시간 패킷 분석 방법 및 장치 | |
CN109831513A (zh) | 数据处理方法、系统和装置 | |
CN114189565B (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 |