CN112751772B - 数据传输方法和系统 - Google Patents
数据传输方法和系统 Download PDFInfo
- Publication number
- CN112751772B CN112751772B CN201911056295.3A CN201911056295A CN112751772B CN 112751772 B CN112751772 B CN 112751772B CN 201911056295 A CN201911056295 A CN 201911056295A CN 112751772 B CN112751772 B CN 112751772B
- Authority
- CN
- China
- Prior art keywords
- data
- target
- channel
- packet
- lane
- 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
-
- 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
- H04L47/2425—Traffic characterised by specific attributes, e.g. priority or QoS for supporting services specification, e.g. SLA
- H04L47/2433—Allocation of priorities to traffic types
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/66—Arrangements for connecting between networks having differing types of switching systems, e.g. gateways
-
- 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
- H04L47/2441—Traffic characterised by specific attributes, e.g. priority or QoS relying on flow classification, e.g. using integrated services [IntServ]
-
- 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/29—Flow control; Congestion control using a combination of thresholds
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/70—Admission control; Resource allocation
- H04L47/72—Admission control; Resource allocation using reservation actions during connection setup
- H04L47/726—Reserving resources in multiple paths to be used simultaneously
- H04L47/728—Reserving resources in multiple paths to be used simultaneously for backup paths
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请实施例提供了一种数据传输方法,所述方法包括:接收数据源提供的数据;为所述数据从多个通道分组中选择目标通道分组;将所述数据写入到所述目标通道分组中的至少一个目标通道中;通过所述至少一个目标通道将所述数据传输到与所述目标通道分组关联的设备中。本申请实施例所述的方案是通过对数据进行分组,将不同类别的数据写入到不同的通道分组中以进行数据隔离,以提高数据的管理和处理效率。例如,将重要数据和其他数据隔离,即将重要数据写入到相应的通道分组中,从而提供转发效率。
Description
技术领域
本申请实施例涉及计算机技术领域,尤其涉及一种数据传输方法、系统、计算机设备及计算机可读存储介质。
背景技术
网关(Gateway)又称网间连接器、协议转换器,是多个网络间提供数据转换服务的计算机系统或设备。随着网络的快速普及和应用的日益深入,时刻都会产生大量数据需要通过网关进行转发操作。以发明人了解的流式数据传输系统为例,网关作为统一的数据收集入口,需要将各个数据源的不同种类的大量数据进行解析并转发到后续的网络设备中。然而,现有网关的数据转发效率低下,例如,有些重要数据有时无法被及时转发。
发明内容
本申请实施例的目的是提供一种数据传输方法、系统、计算机设备及计算机可读存储介质,可以用于解决数据转发效率低下的技术问题,比如,有些重要数据有时无法被及时转发的技术问题。
本申请实施例的一个方面提供了一种数据传输方法,所述方法包括:接收数据源提供的数据;为所述数据从多个通道分组中选择目标通道分组;将所述数据写入到所述目标通道分组中的至少一个目标通道中;及通过所述至少一个目标通道将所述数据传输到与所述目标通道分组关联的设备中。
可选的,所述多个通道分组被配置与多个流量分组具有映射关系;为所述数据从多个通道分组中选择目标通道分组,包括:根据所述数据的元数据信息,确定所述数据对应的目标流量分组;及根据所述映射关系和所述目标流量分组,选择与所述目标流量分组对应的所述目标通道分组;其中,所述元数据信息包括数据业务场景信息、数据优先级信息、数据时效信息或数据存储地址信息。
可选的,所述多个通道分组关联有主设备和备用设备,且所述多个通道分组用于在正常模式下向所述主设备传输数据并闲置所述备用设备,其中一个通道分组用于服务高优先级数据且在异常模式下可以向所述备用设备传输数据;通过所述至少一个目标通道将所述数据传输到与所述目标通道分组关联的设备中,包括:监测主设备的设备负载大小;判断所述主设备负载大小是否大于预设负载阈值;如果所述设备负载大小大于所述预设负载阈值,则且所述目标通道分组是用于服务高优先级数据的通道分组,则通过所述目标通道将所述数据推送到所述备用设备中。
可选的,每个通道分组分别关联一个或多个数据输出接口,每个数据输出接口定义有主生产者通道和备用生产者通道,其中,所述主生产者通道关联于主设备,所述备用生产者通道关联于备用设备。
可选的,通过所述至少一个目标通道将所述数据传输到与所述目标通道分组关联的设备中,包括:通过所述至少一个目标通道将所述数据传输到与所述至少一个目标通道分组关联的目标数据输出接口中;获取所述目标数据输出接口中的主生产者通道的传输异常信息;及根据所述传输异常信息,选择通过所述目标数据输出接口中的主生产者通道将所述数据推送至所述主设备中或通过所述目标数据输出接口中的备用生产者通道将所述数据推送至所述备用设备中。
可选的,所述传输异常信息包括在预定时间内产生的异常事件的事件次数,所述异常事件包括数据传输延迟事件;根据所述传输异常信息,选择通过所述目标数据输出接口中的主生产者通道将所述数据推送至所述主设备中或通过所述目标数据输出接口中的备用生产者通道将所述数据推送至所述备用设备中,包括:判断所述预定时间内的所述事件次数是否小于第一预设阈值;如果所述预定时间内的所述事件次数小于所述第一预设阈值时,则选择通过所述目标数据输出接口中的主生产者通道将所述数据推送至所述主设备中;及如果所述事件次数不小于所述第一预设阈值时,则通过所述目标数据输出接口中的备用生产者通道将所述数据推送至所述备用设备中。
可选的,如果通过所述目标数据输出接口中的备用生产者通道将所述数据推送至所述备用设备中:统计在一个窗口时间内通过主生产者通道进行数据推送导致的异常事件;判断在所述窗口时间内的异常事件的事件次数是否小于第二预设阈值;如果所述窗口时间内的所述事件次数小于第二预设阈值,则将剩余的数据通过主生产者通道推送到主设备中。
本申请实施例的再一个方面提供了一种数据传输系统,所述系统包括:接收模块,用于接收数据源提供的数据;选择模块,用于为所述数据从多个通道分组中选择目标通道分组;写入模块,用于将所述数据写入到所述目标通道分组中的至少一个目标通道中;传输模块,用于通过所述至少一个目标通道将所述数据传输到与所述目标通道分组关联的设备中。
本申请实施例的再一个方面提供了一种计算机设备,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,上述处理器执行上述计算机程序时用于实现如上任一项所述的数据传输方法的步骤。
本申请实施例的又一个方面提供了一种计算机可读存储介质,其上存储有计算机程序,上述计算机程序被处理器执行时用于实现如上任一项所述的数据传输方法的步骤。
本申请实施例提供的数据传输方法、系统、计算机设备及计算机可读存储介质,通过对数据进行分组,将不同类别的数据写入到不同的通道分组中以进行数据隔离,以提高数据的管理和处理效率。例如,重要数据和其他数据隔离,可以写入到相应的通道分组中,从而提供转发效率。
附图说明
图1示意性示出了流式数据传输系统的系统架构图;
图2示意性示出了根据本申请实施例一的数据传输方法的流程图;
图3为图2中步骤S202的子流程图;
图4示意性示出了根据本申请实施例二的数据传输方法的流程图;
图5示意性示出了根据本申请实施例三的逻辑架构图;
图6示意性示出了根据本申请实施例三的数据传输方法的流程图;
图7为图6中步骤S610的子流程图;
图8为图6中步骤S610的另一子流程图;
图9示意性示出了根据本申请实施例四的数据传输系统的框图;以及
图10示意性示出了根据本申请实施例五的适于实现数据传输方法的计算机设备的硬件架构示意图。
具体实施方式
为了使本申请实施例的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本申请,并不用于限定本申请。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
需要说明的是,在本发明中涉及“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本发明要求的保护范围之内。
图1示意性示出了根据本申请实施例的流式数据传输系统,所述流式数据传输系统在于提供流式的数据传输服务,如用于实时流和离线流两大场景的数据收集和分发。实时流场景,对应于秒级别的数据时效性,主要用于将数据写入到kafka、hbase等数据库中。离线流场景,对应于小时级别或天级别的数据时效性,主要用于将数据写入到hdfs、hive等数据库中。所述流式数据传输系统可以由下几部分组成:数据源1、网络路由层2、数据缓冲层3、数据分发层4、数据存储层5和监控模块6等。
所述数据源1,可以是内部数据源,也可以连接外部数据源的数据接口。所述数据源1中可以有多种格式的数据,例如,APP和Web的上报数据是HTTP(HyperText TransferProtocol,超文本传输协议)格式的数据,服务端的内部通信数据是RPC(Remote ProcedureCall,远程过程调用)格式的数据。
所述网络路由层2,可以通过一个或多个网关节点实现,用于协议解析、打包和压缩等,以保障数据在不丢失的前提下写入到数据缓冲层3。具体的,所述网络路由层2被配置连接于数据源1,并可以适应各种不同的业务场景和数据协议,例如,被配置用于兼容解析多种协议的数据,诸如基于HTTP(HyperText Transfer Protocol,超文本传输协议)协议的APP和Web数据,和基于RPC协议的服务端的内部通信数据。解析得到的数据可以被转换为标准格式数据库文件并被存储到数据缓冲层3。
所述数据缓冲层3,可以通过消息分发订阅系统或上述系统集群实现。在一些实施例中,数据缓冲层3可以由多套kafka cluster(kafka集群)组成,起到数据削峰填谷的作用。不同重要性、优先级、数据吞吐量的数据,可以被分流到不同的kafka cluster中,以保障不同类型数据的价值,避免系统故障影响整体数据。
数据分发层4,可以由流量分发系统(Collector)实现,用于内容转换和分发存储,即保障数据从数据缓冲层3获取并写入到数据存储层5中对应的存储终端。具体的,所述数据分发层4用于数据的分发落地,支持的分发场景包括HDFS(Hadoop Distributed FileSystem,Hadoop分布式文件系统)、Kafka、Hbase、ES(Elasticsearch)等,而在分发的过程中,由于不同存储终端的数据落地时效性要求可能不同,例如,HDFS的数据写入是按天进行任务的计算和应用,Kafka的数据写入一般是按秒进行任务的计算和应用,通常用于诸如实时推荐、实时计算等场景中。针对数据不同场景的分发要求,数据分发层4可以根据存储终端进行服务分组管理。例如,线上会划分为Kafka Collector组、HDFS Collector组等。不同Collector组会从数据缓冲层3获取相应标签(topic)的数据并分发至下游。
所述数据存储层5,用于存储数据,可以由不同形式的数据库构成,所述数据库可以ES、Hive、Kafka、Hadoop和Hbase等。
所述监控模块6,用于监控整条传输链路中所体现的数据质量,以为所述流式数据传输系统对外传输质量提供监控告警。如何衡量数据的传输质量是衡量所述流式数据传输系统的重要指标之一,例如,所述流式数据传输系统数据丢失率、延迟率、接收数据量、分发数据量等。
为了帮助理解所述数据传输系统的工作原理,下面对其提供的数据传输服务进行介绍:数据源1可以是每条记录为单位形成一条一条的数据,也可以以logId为单位形成一批一批的数据(即,每批数据分别标识有一个logId),通过HTTP、RPC等协议将这些数据上报给网关路由层2,并依次经过网关路由层2、数据缓冲层3进入到数据分发层4,通过数据分发层4将这些数据发到数据存储层5中的存储终端中。
实施例一
图2示意性示出了根据本申请实施例一的数据传输方法的流程图。可以理解,本方法实施例中的流程图不用于对执行步骤的顺序进行限定。下面以计算机设备20为执行主体进行示例性描述。其中,计算机设备20可以作为流式数据传输系统中网关路由层2的网关节点。
如图2所示,该数据传输方法可以包括步骤S200~步骤S208,其中:
步骤S200,接收数据源提供的数据。
如图1所示,所述数据可以是基于HTTP(S)、RPC等各类协议的数据。
在示例性的实施例中,所述数据可以是符合预设规范的标准数据。所述预设规范具体如下:(1)所述数据的数据标识(logId)可以通过三段式语义(如,部门+项目+业务)进行定义,以便可以快速锁定数据所属的范畴,同时,所述数据标识还可以定义有其他附属信息,如,创建者信息等;(2)所述数据可以定义有schema(数据库的组织与结构),如字段、类型、必填与否等信息,schema可以用于所述数据的分析和评估操作;(3)根据定义的schema,所述数据的元数据信息中可以被写入相应的字段值,如数据优先级、数据重要性、数据价值、业务场景、数据存储地址等等,不同等级或不同业务场景可以配置不同的SLA(Service-Level Agreement,服务等级协议)质量保障。这些字段值可以被用户或管理写入和修改的。
步骤S202,为所述数据从多个通道分组中选择目标通道分组。
每个通道分组包括一个或多个通道(channel),用于存放多个数据。每个通道可以对应一个数据输出接口(Sink)。从通道到数据输出接口,相当于一个IO线程。因此,每个通道分组可以有多个数据输出接口进行数据的消费,以将数据写入到数据缓冲层3中。
计算机设备20可以基于多种策略选择所述目标通道分组,例如基于所述数据的元数据信息(业务场景、重要性、优先级、存储地址等)、基于不同通道通道分组的数据传输状况和/或基于下一跳节点(如,数据缓冲层3中的设备)等选择所述目标通道分组。
在示例性的实施例中,所述计算机设备可20以对各类数据进行流量分组,基于该流量分组实现对各类数据的有效管控。所谓流量分组,包括对各类数据的分组,例如,根据业务领域做分组,直播业务的关联数据会被分配给相应的通道分组;根据数据优先级分组,分为高优先级(S)、中优先级(A)和低优先级(B),不同优先级对应不同的通道分组;根据数据时效性分组,分为天级别、小时级别、分级别、秒级别等,不同时间级别对应不同的通道分组。
在示例性的实施例中,所述多个通道分组被配置与多个流量分组具有映射关系。如图3所示,所述步骤S202包括步骤S300~S302,其中:步骤S300,根据所述数据的元数据信息,确定所述数据对应的目标流量分组;步骤S300,根据所述映射关系和所述目标流量分组,选择与所述目标流量分组对应的所述目标通道分组。
元数据(Metadata)信息,为描述数据的数据(data about data),其作用包括:描述数据属性(property)的信息,用来支持如指示存储位置、历史数据、资源查找、文件记录、数据优先级信息、数据重要性信息、数据时效信息、业务场景信息、数据存储地址等。所述计算机设备20接收到所述数据时,可以通过相应的协议(如,HTTP、RPC等)解析所述数据以得到所述数据的元数据信息。
步骤S204,将所述数据写入到所述目标通道分组中的至少一个目标通道中。
具体的,所述计算机设备20接收上游设备(数据源1)提供的各类数据,获取各类数据的元数据信息,基于元数据信息中的至少部分信息进行流量分组,基于各个数据对应的流量分组,将所述各类数据写入到各自对应的通道分组中。
步骤S206,通过所述至少一个目标通道将所述数据传输到与所述目标通道分组关联的设备中。
数据缓冲层3可以包括多个设备,如多个Kafka集群。其中,每个Kafka集群可以负责多个Topic(主题),每个Topic可以分为多个partition(消息分区)。各个通道分组可以关联一个或多个Kafka集群或者关联一个或多个Topic。不同流量分组的数据对应不同的Topic或者Kafka集群,不同流量分组的数据被写入到不同的通道分组中,并被写入到不同的Kafka Topic中。
不难理解,通过对数据进行分组,将不同类别的数据写入到不同的通道分组中以进行数据隔离,以提高数据的管理和处理效率。例如,将S级数据和其他数据隔离,将S级数据写入到相应的通道分组中,避免S级数据的转发被系统其他数据所影响,从而提供转发效率。
实施例二
计算机设备20配置有多个通道分组,所述多个通道分组关联有主设备和备用设备,且所述多个通道分组用于在正常模式下向所述主设备传输数据并闲置所述备用设备,其中一个通道分组用于服务高优先级数据且在异常模式下可以向所述备用设备传输数据。即可通过数据分级的方式,实现对不同数据优先级的隔离管理。特别是在应急场景下,比如主设备(流式数据传输系统中数据缓冲层3的主Kafka集群)负载压力过大的情况下,则可以将高优先级的数据转发到备用设备(如,备用Kafka集群)中,从而达到快速止损的目的。
图4示意性示出了根据本申请实施例二的数据传输方法的流程图。该数据传输方法可以包括步骤S400~步骤S410,其中:
步骤S400,接收数据源提供的数据。
步骤S402,根据所述数据的数据优先级,为所述数据从多个通道分组中选择目标通道分组。
不难理解,如果数据的数据优先级为低,则为所述数据选择用于服务低优先级数据的通道分组;如果数据的数据优先级为中,则为所述数据选择用于服务中优先级数据的通道分组;如果数据的数据优先级为高,则为所述数据选择用于服务高优先级数据的通道分组。
所述优先级是可以根据规则制定的,如根据数据不同时效性、所属的不同部门等。
在正常模式下,计算机设备20中的各个通道分组是将各类数据转发到主设备中,如主Kafka集群。
但,当主设备的设备负载过大时,如果继续向所述主设备中传输数据,可能验证影响传输服务质量,因此,有必要监测对所述主设备的设备负载压力,以根据监测结果执行后续操作。
步骤S404,监测主设备的设备负载大小。
步骤S406,判断所述主设备负载大小是否大于预设负载阈值。如果是,进入步骤S408,否则进入步骤S410。
步骤S408,如果所述设备负载大小大于所述预设负载阈值,则且所述目标通道分组是用于服务高优先级数据的通道分组,则通过所述目标通道将所述数据推送到所述备用设备中。
如果所述设备负载大小大于所述预设负载阈值,但所述目标通道分组是用于服务中/低优先级数据的通道分组的情况下,所述数据将被继续推送到主设备中。
如果所述设备负载大小不大于所述预设负载阈值,所述数据将被继续推送到主设备中。
实施例三
如图5所示,计算机设备20配置有多个通道分组,所述多个通道分组关联有主设备和备用设备,且所述多个通道分组用于在正常模式下向所述主设备传输数据并闲置所述备用设备。每个通道分组分别关联一个或多个数据输出接口,每个数据输出接口定义有主生产者通道(producer)和备用生产者通道(failover-producer),其中,所述主生产者通道关联于主设备(如,主Kafka集群),所述备用生产者通道关联于备用设备(如,备用Kafka集群)。
计算机设备20在数据转发给主设备的过程中,可能存在一些极端情况,比如主设备发生故障导致不可用或者稳定性有明显下降时,将会出现数据无法在规定时间内发送到数据缓冲层3,从而产生数据延迟的问题。本实施例的目的在于,通过故障切换来减少主设备故障导致数据延迟的问题,具体如下。
图6示意性示出了根据本申请实施例三的数据传输方法的流程图。该数据传输方法可以包括步骤S600~步骤S616,其中:
步骤S600,接收数据源提供的数据。
步骤S602,为所述数据从多个通道分组中选择目标通道分组。
步骤S604,将所述数据写入到所述目标通道分组中的至少一个目标通道中。
步骤S606,通过所述至少一个目标通道将所述数据传输到与所述至少一个目标通道分组关联的目标数据输出接口中。
所述目标数据输出接口会判断是否需要切换到备用生产者通道,当需要切换到备用生产者通道时将通过备用生产者通道将所述数据发送至备用设备中,否则走默认通过主生产者通道将所述数据发送至主设备中。而是否需要切换到备用生产者通道,是通过与主设备之间传输信息异常决定的。如下。
步骤S608,获取所述目标数据输出接口中的主生产者通道的传输异常信息。
所述传输异常信息可以是多种信息,在示例性的实施例中,所述传输异常信息包括在预定时间内产生的异常事件的事件次数,所述异常事件包括数据传输延迟事件,即所述主生成者通道没有在规定时间内将先前数据推送到所述主设备中。
步骤S610,根据所述传输异常信息,选择通过所述目标数据输出接口中的主生产者通道或备用生产者通道将所述数据推送至相应的设备中。
如果所述传输异常信息触发了切换机制,则通过备用生产者通道将所述数据推送至备用设备中。如果所述传输异常信息没有触发切换机制,则默认通过备用生产者通道将所述数据推送至主设备中。
在示例性的实施例中,如图7所示,所述步骤S610包括步骤S700~S704,其中:步骤S700,判断所述预定时间内的所述事件次数是否小于第一预设阈值;如果小于进入步骤S702,否则进入步骤S704;步骤S702,选择通过所述目标数据输出接口中的主生产者通道将所述数据推送至所述主设备中;步骤S704,通过所述目标数据输出接口中的备用生产者通道将所述数据推送至所述备用设备中。
在示例性的实施例中,在通过备用生产者通道将所述数据推送至所述备用设备中的过程中,还可以引入退避机制,即在主设备恢复状态之后,将剩余的数据通过主生产者通道推送到主设备中。如图8所示,所述数据传输方法还包括步骤S800~S804,其中:步骤S800,统计在一个窗口时间内通过主生产者通道进行数据推送导致的异常事件;步骤S800,判断在所述窗口时间内的异常事件的事件次数是否小于第二预设阈值;如果是,进入步骤S804,否则进入步骤S704;步骤S804,将剩余的数据通过主生产者通道推送到主设备中。
所述退避机制,相当于在出于故障切换模式下,会统计一个窗口时间内,默认主生产者通道的通信质量,当主生产者通道通信质量达标,则会将故障切换模式关闭。该退避机制可以减少对备用设备的使用,以确保所述备用设备可以高效地被使用在紧急情形下。
实施例四
图9示出了根据本申请实施例四的数据传输系统的框图,该数据传输系统可以被分割成一个或多个程序模块,一个或者多个程序模块被存储于存储介质中,并由一个或多个处理器所执行,以完成本申请实施例。本申请实施例所称的程序模块是指能够完成特定功能的一系列计算机程序指令段,以下描述将具体介绍本实施例中各程序模块的功能。
如图9所示,所述数据传输系统900可以包括以下组成部分:
接收模块910,用于接收数据源提供的数据。
选择模块920,用于为所述数据从多个通道分组中选择目标通道分组。
写入模块930,用于将所述数据写入到所述目标通道分组中的至少一个目标通道中。
传输模块940,用于通过所述至少一个目标通道将所述数据传输到与所述目标通道分组关联的设备中。
在示例性的实施例中,所述多个通道分组被配置与多个流量分组具有映射关系;所述选择模块920,还用于:根据所述数据的元数据信息,确定所述数据对应的目标流量分组;及根据所述映射关系和所述目标流量分组,选择与所述目标流量分组对应的所述目标通道分组;其中,所述元数据信息包括数据业务场景信息、数据优先级信息、数据时效信息或数据存储地址信息。
在示例性的实施例中,所述多个通道分组关联有主设备和备用设备,且所述多个通道分组用于在正常模式下向所述主设备传输数据并闲置所述备用设备,其中一个通道分组用于服务高优先级数据且在异常模式下可以向所述备用设备传输数据。所述传输模块940,还用于:监测主设备的设备负载大小;判断所述主设备负载大小是否大于预设负载阈值;如果所述设备负载大小大于所述预设负载阈值,则且所述目标通道分组是用于服务高优先级数据的通道分组,则通过所述目标通道将所述数据推送到所述备用设备中。
在示例性的实施例中,每个通道分组分别关联一个或多个数据输出接口,每个数据输出接口定义有主生产者通道和备用生产者通道,其中,所述主生产者通道关联于主设备,所述备用生产者通道关联于备用设备。
在示例性的实施例中,所述传输模块940,还用于:通过所述至少一个目标通道将所述数据传输到与所述至少一个目标通道分组关联的目标数据输出接口中;获取所述目标数据输出接口中的主生产者通道的传输异常信息;及根据所述传输异常信息,选择通过所述目标数据输出接口中的主生产者通道将所述数据推送至所述主设备中或通过所述目标数据输出接口中的备用生产者通道将所述数据推送至所述备用设备中。
在示例性的实施例中,所述传输异常信息包括在预定时间内产生的异常事件的事件次数,所述异常事件包括数据传输延迟事件。所述传输模块940,还用于:判断所述预定时间内的所述事件次数是否小于第一预设阈值;如果所述预定时间内的所述事件次数小于所述第一预设阈值时,则选择通过所述目标数据输出接口中的主生产者通道将所述数据推送至所述主设备中;及如果所述事件次数不小于所述第一预设阈值时,则通过所述目标数据输出接口中的备用生产者通道将所述数据推送至所述备用设备中。
在示例性的实施例中,如果通过所述目标数据输出接口中的备用生产者通道将所述数据推送至所述备用设备中,所述传输模块940,还用于:统计在一个窗口时间内通过主生产者通道进行数据推送导致的异常事件;判断在所述窗口时间内的异常事件的事件次数是否小于第二预设阈值;如果所述窗口时间内的所述事件次数小于第二预设阈值,则将剩余的数据通过主生产者通道推送到主设备中。
实施例五
图10示意性示出了根据本申请实施例五的适于实现数据传输方法的计算机设备的硬件架构示意图。本实施例中,计算机设备20是一种能够按照事先设定或者存储的指令,自动进行数值计算和/或信息处理的设备。例如,可以是网关等数据转发设备。如图10所示,计算机设备20至少包括但不限于:可通过系统总线相互通信连接存储器21、处理器22、网络接口23。其中:
存储器21至少包括一种类型的计算机可读存储介质,可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,存储器21可以是计算机设备20的内部存储模块,例如该计算机设备20的硬盘或内存。在另一些实施例中,存储器21也可以是计算机设备20的外部存储设备,例如该计算机设备20上配备的插接式硬盘,智能存储卡(Smart Media Card,简称为SMC),安全数字(Secure Digital,简称为SD)卡,闪存卡(FlashCard)等。当然,存储器21还可以既包括计算机设备20的内部存储模块也包括其外部存储设备。本实施例中,存储器21通常用于存储安装于计算机设备20的操作系统和各类应用软件,例如数据传输方法的程序代码等。此外,存储器21还可以用于暂时地存储已经输出或者将要输出的各类数据。
处理器22在一些实施例中可以是中央处理器(Central Processing Unit,简称为CPU)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器22通常用于控制计算机设备20的总体操作,例如执行与计算机设备20进行数据交互或者通信相关的控制和处理等。本实施例中,处理器22用于运行存储器21中存储的程序代码或者处理数据。
网络接口23可包括无线网络接口或有线网络接口,该网络接口23通常用于在计算机设备20与其他计算机设备之间建立通信连接。例如,网络接口23用于通过网络将计算机设备20与外部终端相连,在计算机设备20与外部终端之间的建立数据传输通道和通信连接等。网络可以是企业内部网(Intranet)、互联网(Internet)、全球移动通讯系统(GlobalSystem of Mobile communication,简称为GSM)、宽带码分多址(Wideband Code DivisionMultiple Access,简称为WCDMA)、4G网络、5G网络、蓝牙(Bluetooth)、Wi-Fi等无线或有线网络。
需要指出的是,图10仅示出了具有部件21-23的计算机设备,但是应理解的是,并不要求实施所有示出的部件,可以替代的实施更多或者更少的部件。
在本实施例中,存储于存储器21中的数据传输方法还可以被分割为一个或者多个程序模块,并由一个或多个处理器(本实施例为处理器22)所执行,以完成本发明。
实施例六
本实施例还提供一种计算机可读存储介质,计算机可读存储介质其上存储有计算机程序,计算机程序被处理器执行时实现实施例中的数据传输方法的步骤。
本实施例中,计算机可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,计算机可读存储介质可以是计算机设备的内部存储单元,例如该计算机设备的硬盘或内存。在另一些实施例中,计算机可读存储介质也可以是计算机设备的外部存储设备,例如该计算机设备上配备的插接式硬盘,智能存储卡(Smart Media Card,简称为SMC),安全数字(Secure Digital,简称为SD)卡,闪存卡(Flash Card)等。当然,计算机可读存储介质还可以既包括计算机设备的内部存储单元也包括其外部存储设备。本实施例中,计算机可读存储介质通常用于存储安装于计算机设备的操作系统和各类应用软件,例如实施例中的数据传输方法的程序代码等。此外,计算机可读存储介质还可以用于暂时地存储已经输出或者将要输出的各类数据。
显然,本领域的技术人员应该明白,上述的本发明实施例的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明实施例不限制于任何特定的硬件和软件结合。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (10)
1.一种数据传输方法,其特征在于,所述方法包括:
接收数据源提供的数据;
为所述数据从多个通道分组中选择目标通道分组;
将所述数据写入到所述目标通道分组中的至少一个目标通道中;
通过所述至少一个目标通道将所述数据传输到与所述目标通道分组关联的设备中;其中,为所述数据从多个通道分组中选择目标通道分组,包括:
根据所述数据的元数据信息,确定所述数据对应的目标流量分组;及
根据所述目标流量分组,选择与所述目标流量分组对应的所述目标通道分组;
其中,所述多个通道分组关联有主设备和备用设备,通过所述至少一个目标通道将所述数据传输到与所述目标通道分组关联的设备中,包括:
如果所述主设备负载大小大于预设负载阈值,且所述目标通道分组是用于服务高优先级数据的通道分组,则通过所述目标通道将所述数据推送到所述备用设备中;
如果所述设备负载大小大于所述预设负载阈值,但所述目标通道分组是用于服务中/低优先级数据的通道分组的情况下,所述数据将被继续推送到主设备中。
2.根据权利要求1所述的数据传输方法,其特征在于,所述多个通道分组被配置与多个流量分组具有映射关系;为所述数据从多个通道分组中选择目标通道分组,包括:
根据所述映射关系和所述目标流量分组,选择与所述目标流量分组对应的所述目标通道分组;
其中,所述元数据信息包括数据业务场景信息、数据优先级信息、数据时效信息或数据存储地址信息。
3.根据权利要求1所述的数据传输方法,其特征在于,所述多个通道分组用于在正常模式下向所述主设备传输数据并闲置所述备用设备,其中一个通道分组用于服务高优先级数据且在异常模式下可以向所述备用设备传输数据;
通过所述至少一个目标通道将所述数据传输到与所述目标通道分组关联的设备中,还包括:
监测主设备的设备负载大小;
判断所述主设备负载大小是否大于预设负载阈值。
4.根据权利要求1所述的数据传输方法,其特征在于,每个通道分组分别关联一个或多个数据输出接口,每个数据输出接口定义有主生产者通道和备用生产者通道,其中,所述主生产者通道关联于主设备,所述备用生产者通道关联于备用设备。
5.根据权利要求4所述的数据传输方法,其特征在于,通过所述至少一个目标通道将所述数据传输到与所述目标通道分组关联的设备中,包括:
通过所述至少一个目标通道将所述数据传输到与所述至少一个目标通道分组关联的目标数据输出接口中;
获取所述目标数据输出接口中的主生产者通道的传输异常信息;及
根据所述传输异常信息,选择通过所述目标数据输出接口中的主生产者通道将所述数据推送至所述主设备中或通过所述目标数据输出接口中的备用生产者通道将所述数据推送至所述备用设备中。
6.根据权利要求5所述的数据传输方法,其特征在于,所述传输异常信息包括在预定时间内产生的异常事件的事件次数,所述异常事件包括数据传输延迟事件;
根据所述传输异常信息,选择通过所述目标数据输出接口中的主生产者通道将所述数据推送至所述主设备中或通过所述目标数据输出接口中的备用生产者通道将所述数据推送至所述备用设备中,包括:
判断所述预定时间内的所述事件次数是否小于第一预设阈值;
如果所述预定时间内的所述事件次数小于所述第一预设阈值时,则选择通过所述目标数据输出接口中的主生产者通道将所述数据推送至所述主设备中;及
如果所述事件次数不小于所述第一预设阈值时,则通过所述目标数据输出接口中的备用生产者通道将所述数据推送至所述备用设备中。
7.根据权利要求5所述的数据传输方法,其特征在于,如果通过所述目标数据输出接口中的备用生产者通道将所述数据推送至所述备用设备中:
统计在一个窗口时间内通过主生产者通道进行数据推送导致的异常事件;
判断在所述窗口时间内的异常事件的事件次数是否小于第二预设阈值;
如果所述窗口时间内的所述事件次数小于第二预设阈值,则将剩余的数据通过主生产者通道推送到主设备中。
8.一种数据传输系统,其特征在于,所述系统包括:
接收模块,用于接收数据源提供的数据;
选择模块,用于为所述数据从多个通道分组中选择目标通道分组;
写入模块,用于将所述数据写入到所述目标通道分组中的至少一个目标通道中;及
传输模块,用于通过所述至少一个目标通道将所述数据传输到与所述目标通道分组关联的设备中;其中,所述选择模块还用于根据所述数据的元数据信息,确定所述数据对应的目标流量分组;根据所述目标流量分组,选择与所述目标流量分组对应的所述目标通道分组;其中,所述多个通道分组关联有主设备和备用设备,所述传输模块还用于如果所述主设备负载大小大于预设负载阈值,且所述目标通道分组是用于服务高优先级数据的通道分组,则通过所述目标通道将所述数据推送到所述备用设备中;如果所述设备负载大小大于所述预设负载阈值,但所述目标通道分组是用于服务中/低优先级数据的通道分组的情况下,所述数据将被继续推送到主设备中。
9.一种计算机设备,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时用于实现权利要求1至7任一项所述数据传输方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时用于实现权利要求1至7任一项所述数据传输方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911056295.3A CN112751772B (zh) | 2019-10-31 | 2019-10-31 | 数据传输方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911056295.3A CN112751772B (zh) | 2019-10-31 | 2019-10-31 | 数据传输方法和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112751772A CN112751772A (zh) | 2021-05-04 |
CN112751772B true CN112751772B (zh) | 2023-01-24 |
Family
ID=75644850
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911056295.3A Active CN112751772B (zh) | 2019-10-31 | 2019-10-31 | 数据传输方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112751772B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113992339B (zh) * | 2021-09-09 | 2024-04-05 | 奇安信科技集团股份有限公司 | 数据共享方法及装置,电子设备,存储介质 |
WO2023041964A1 (en) * | 2021-09-14 | 2023-03-23 | Sensetime International Pte. Ltd. | Message processing method, apparatus, device and storage medium |
WO2023041968A1 (en) * | 2021-09-16 | 2023-03-23 | Sensetime International Pte. Ltd. | Message processing method, apparatus and device, and storage medium |
CN113890712A (zh) * | 2021-10-14 | 2022-01-04 | 微位(深圳)网络科技有限公司 | 数据传输方法、装置、电子设备及可读存储介质 |
CN114079672B (zh) * | 2022-01-07 | 2022-04-15 | 广州市成格信息技术有限公司 | 一种多功能网关多通道数据智能分配方法及系统 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9203707B1 (en) * | 2015-02-26 | 2015-12-01 | Azuqua, Inc. | Integration of cloud-based services to create custom business processes |
CN105610926A (zh) * | 2015-12-22 | 2016-05-25 | 广州唯品会信息科技有限公司 | 消息传递方法、系统和消息中间件系统 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10367878B2 (en) * | 2012-03-31 | 2019-07-30 | Bmc Software, Inc. | Optimization of path selection for transfers of files |
CN108009018B (zh) * | 2016-10-28 | 2020-08-25 | 华为技术有限公司 | 一种负载调整方法、装置及系统 |
CN107480014B (zh) * | 2017-07-24 | 2021-01-01 | 奇安信科技集团股份有限公司 | 一种高可用设备切换方法及装置 |
US10831619B2 (en) * | 2017-09-29 | 2020-11-10 | Oracle International Corporation | Fault-tolerant stream processing |
CN107819828B (zh) * | 2017-10-16 | 2020-03-10 | 平安科技(深圳)有限公司 | 数据传输方法、装置、计算机设备和存储介质 |
CN107949069A (zh) * | 2017-12-30 | 2018-04-20 | 广东欧珀移动通信有限公司 | 终端无线数据传输方法、装置、终端及存储介质 |
CN109165723B (zh) * | 2018-08-03 | 2021-03-19 | 北京字节跳动网络技术有限公司 | 用于处理数据的方法和装置 |
CN108984426B (zh) * | 2018-08-03 | 2021-01-26 | 北京字节跳动网络技术有限公司 | 用于处理数据的方法和装置 |
CN110167084B (zh) * | 2018-08-15 | 2021-07-27 | 腾讯科技(深圳)有限公司 | 多通道数据传输方法及装置 |
CN109152061B (zh) * | 2018-09-28 | 2023-05-02 | 彩讯科技股份有限公司 | 通道调配方法、装置、服务器及存储介质 |
CN110290009B (zh) * | 2019-07-02 | 2023-02-28 | 深圳市网心科技有限公司 | 一种数据调度方法、装置及计算机可读存储介质 |
-
2019
- 2019-10-31 CN CN201911056295.3A patent/CN112751772B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9203707B1 (en) * | 2015-02-26 | 2015-12-01 | Azuqua, Inc. | Integration of cloud-based services to create custom business processes |
CN105610926A (zh) * | 2015-12-22 | 2016-05-25 | 广州唯品会信息科技有限公司 | 消息传递方法、系统和消息中间件系统 |
Also Published As
Publication number | Publication date |
---|---|
CN112751772A (zh) | 2021-05-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112751772B (zh) | 数据传输方法和系统 | |
US7099879B2 (en) | Real-time monitoring of service performance through the use of relational database calculation clusters | |
CN111970195B (zh) | 数据传输方法和流式数据传输系统 | |
CN112507029B (zh) | 数据处理系统及数据实时处理方法 | |
EP1361761A1 (en) | Telecommunications network management system and method for service monitoring | |
CN111966289B (zh) | 基于Kafka集群的分区优化方法和系统 | |
CN106502874A (zh) | 一种调用链跟踪方法 | |
CN112019605B (zh) | 数据流的数据分发方法和系统 | |
CN112486915A (zh) | 数据存储方法及装置 | |
CN112019604B (zh) | 边缘数据传输方法和系统 | |
CN112751722B (zh) | 数据传输质量监控方法和系统 | |
CN113489149B (zh) | 基于实时状态感知的电网监控系统业务主节点选取方法 | |
CN114301988A (zh) | 分布式调用方法、装置、存储介质及电子设备 | |
CN109510730A (zh) | 分布式系统及其监控方法、装置、电子设备及存储介质 | |
CN115473858B (zh) | 数据传输方法、流式数据传输系统、计算机设备及存储介质 | |
CN112256454B (zh) | 消息延时处理方法和系统 | |
CN112749142B (zh) | 句柄管理方法和系统 | |
CN116471194A (zh) | 流统计方法、装置及系统 | |
CN115114316A (zh) | 一种高并发数据的处理方法、装置、集群和存储介质 | |
US20210014145A1 (en) | Method and first node for managing transmission of probe messages | |
CN112749398B (zh) | 数据传输通道控制方法和系统 | |
CN112019442B (zh) | 基于有界一致性Hash算法的数据分发方法、系统、设备及介质 | |
CN115276779B (zh) | 光传送网电路信息获取方法、设备、系统及存储介质 | |
CN113098914B (zh) | 消息总线系统及消息传输方法、装置、电子设备 | |
CN115567365A (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 |