CN114401127A - 一种基于ZeroMQ的数据包传输方法、装置及设备 - Google Patents

一种基于ZeroMQ的数据包传输方法、装置及设备 Download PDF

Info

Publication number
CN114401127A
CN114401127A CN202111656898.4A CN202111656898A CN114401127A CN 114401127 A CN114401127 A CN 114401127A CN 202111656898 A CN202111656898 A CN 202111656898A CN 114401127 A CN114401127 A CN 114401127A
Authority
CN
China
Prior art keywords
data
packet
receiving module
channel receiving
data packet
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
Application number
CN202111656898.4A
Other languages
English (en)
Inventor
黄梓鹏
段俊
叶亿
罗思扬
黄佳祺
刘泳安
邵壮丰
曾绍汉
邱贤奕
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
China Telecom Corp Ltd
Original Assignee
China Telecom Corp Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by China Telecom Corp Ltd filed Critical China Telecom Corp Ltd
Priority to CN202111656898.4A priority Critical patent/CN114401127A/zh
Publication of CN114401127A publication Critical patent/CN114401127A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • H04L63/123Applying verification of the received information received data contents, e.g. message integrity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/50Routing or path finding of packets in data switching networks using label swapping, e.g. multi-protocol label switch [MPLS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明实施例提供了一种基于ZeroMQ的数据包传输方法、装置及设备,基于ZeroMQ,通过抓包模块将其采集到的数据包的头部封装队列标签,并发送至通道接收模块;基于ZeroMQ,通过通道接收模块对接收到的数据包进行解封装,得到每个数据包的队列标签;通过通道接收模块根据每个数据包的队列标签对数据完整性进行校验。由于抓包模块和通道接收模块都是基于ZeroMQ实现数据传输的,从而通道接收模块可以根据传输的每个数据包的队列标签的数据完整性进行校验,因此可以提高数据传输的可靠性。

Description

一种基于ZeroMQ的数据包传输方法、装置及设备
技术领域
本发明涉及通信技术领域,特别涉及一种基于ZeroMQ的数据包传输方法、装置及设备。
背景技术
与传统网络环境一样,云上网络的运维需要对虚拟化和云网络环境的流量进行有效的监控,并打破虚拟化和云环境黑盒子的状况。在当前混合云趋势愈发普及的情况,数据采集的可靠性传输技术的重要性逐步提升。
发明内容
本发明提供一种基于ZeroMQ的数据包传输方法、装置及设备,用以提高云上网络的数据传输的可靠性。
第一方面,本发明提供一种基于ZeroMQ的数据包传输方法,应用于服务器,该方法包括:
基于ZeroMQ,通过抓包模块将其采集到的数据包的头部封装队列标签,并发送至通道接收模块;
基于ZeroMQ,通过所述通道接收模块对接收到的数据包进行解封装,得到每个数据包的队列标签;
通过所述通道接收模块根据每个数据包的队列标签对数据完整性进行校验。
在一种可能的实现方式中,所述通过所述通道接收模块根据每个数据包的队列标签对数据完整性进行校验,包括:
若多个数据包的队列标签符合预设顺序,则通过所述通道接收模块确定数据完整,否则确定数据不完整。
在一种可能的实现方式中,若确定数据不完整,则:
通过所述通道接收模块等待接收所述抓包模块发送的封装后的数据包。
在一种可能的实现方式中,该方法还包括:
针对所述通道接收模块中的每个消息队列,确定所述消息队列中存储的数据包的数量大于等于预设值,通过所述通道接收模块向所述抓包模块发送控制指令,以控制所述抓包模块停止发送数据包。
在一种可能的实现方式中,所述基于ZeroMQ,通过抓包模块将其采集到的数据包的头部封装队列标签,并发送至通道接收模块之后,还包括:
通过所述抓包模块为采集到的数据包注入时间戳。
在一种可能的实现方式中,该方法还包括:
根据多协议标签交换技术,通过所述通道接收模块将接收到的具有相同转发处理方式的数据包设置业务标签,并将设置有相同的业务标签的数据包发送至终端。
第二方面,本发明提供一种基于ZeroMQ的数据包传输装置,应用于服务器,包括抓包模块和通道接收模块;
所述抓包模块,用于基于ZeroMQ,将其采集到的数据包的头部封装队列标签,并发送至通道接收模块;
所述通道接收模块,用于基于ZeroMQ,对接收到的数据包进行解封装,得到每个数据包的队列标签;根据每个数据包的队列标签对数据完整性进行校验。
在一种可能的实现方式中,所述通道接收模块具体用于:
若多个数据包的队列标签符合预设顺序,则确定数据完整,否则确定数据不完整。
在一种可能的实现方式中,若确定数据不完整,则:所述通道接收模块具体用于:
等待接收所述抓包模块发送的封装后的数据包。
在一种可能的实现方式中,所述通道接收模块还用于:
针对所述通道接收模块中的每个消息队列,确定所述消息队列中存储的数据包的数量大于等于预设值,向所述抓包模块发送控制指令,以控制所述抓包模块停止发送数据包。
在一种可能的实现方式中,所述抓包模块基于ZeroMQ,将其采集到的数据包的头部封装队列标签,并发送至通道接收模块之后,还用于:
为采集到的数据包注入时间戳。
在一种可能的实现方式中,所述通道接收模块还用于:
根据多协议标签交换技术,将接收到的具有相同转发处理方式的数据包设置业务标签,并将设置有相同的业务标签的数据包发送至终端。
第三方面,本发明提供一种基于ZeroMQ的数据包传输设备,包括至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行第一方面中任何一项所述的方法。
第四方面,本发明提供一种计算机存储介质,所述计算机存储介质存储有计算机程序,所述计算机程序用于使计算机执行第一方面中任何一项所述的方法。
第五方面,本发明提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现第一方面中任一项所述的方法。
本发明有益效果如下:
本发明实施例中,基于ZeroMQ,通过抓包模块将其采集到的数据包的头部封装队列标签,并发送至通道接收模块;基于ZeroMQ,通过通道接收模块对接收到的数据包进行解封装,得到每个数据包的队列标签;通过通道接收模块根据每个数据包的队列标签对数据完整性进行校验。由于抓包模块和通道接收模块都是基于ZeroMQ实现数据传输的,从而通道接收模块可以根据传输的每个数据包的队列标签的数据完整性进行校验,因此可以提高数据传输的可靠性。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种基于ZeroMQ的数据包传输装置的结构示意图;
图2为本发明实施例提供的一种基于ZeroMQ的数据包传输设备的结构示意图;
图3为本发明实施例提供的一种基于ZeroMQ的数据包传输方法的流程示意图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部份实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
目前不管是公有云还是专有云或者是混合云,云内数据的采集存在不完整性,主要体现在数据传输时的丢包现象,从而无法全量地获取到云内数据,导致数据分析不准确,无法充分利用实时数据进行分析和展示,同时也无法有效地将采集到的云数据提供给后端运维。
本发明实施例提供了一种基于ZeroMQ的数据包传输方法、装置及设备,可提高各种虚拟化云环境中采集到的云数据的可靠性,实现云内数据的数字化运营和运维提供实时的数据支撑。
其中,可靠性主要包括数据传输的完整性、安全性、稳定性等特性。
下面对本发明实施例进行详细说明。
如图1所示,为本发明实施例提供的一种基于ZeroMQ的数据包传输装置,该装置应用于服务器。
如图1所示,该装置包括抓包模块101和通道接收模块102,其中,抓包模块101又可以称为抓包器或数据采集器,通道接收模块102又可以称为通道接收器;
抓包模块101,用于基于ZeroMQ,将其采集到的数据包的头部封装队列标签,并发送至通道接收模块102;
通道接收模块102,用于基于ZeroMQ,对接收到的数据包进行解封装,得到每个数据包的队列标签;根据每个数据包的队列标签对数据完整性进行校验。
本发明实施例中,基于ZeroMQ的数据包传输装置包括抓包模块101和通道接收模块102,其中,抓包模块101,用于基于ZeroMQ,将其采集到的数据包的头部封装队列标签,并发送至通道接收模块102;通道接收模块102,用于基于ZeroMQ,对接收到的数据包进行解封装,得到每个数据包的队列标签;根据每个数据包的队列标签对数据完整性进行校验。由于抓包模块101和通道接收模块102都是基于ZeroMQ实现数据传输的,从而通道接收模块102可以根据传输的每个数据包的队列标签的数据完整性进行校验,因此可以提高数据传输的可靠性。
其中,数据包的传输是具有一定顺序的,例如有5个数据包,对应的队列标签可以分别为1、2、3、4、5,按该顺序(1、2、3、4、5)接收到5个数据包代表数据是完整的,若由于传输过程中出现丢包现象,只接收到其中4个数据包(例如为1、2、3、5),表示队列标签为4的数据包丢失,本发明基于ZeroMQ技术,抓包模块101和通道接收模块102都安装有ZeroMQ组件,因此通道接收模块102可以基于ZeroMQ,根据每个数据包的队列标签对数据完整性进行校验,从而提高数据传输的可靠性。
在具体实施中,如图1所示,该服务器可以包括网络数据包捕获函数库103和管理模块104;
管理模块104为抓包模块101配置采集和转发策略,抓包模块101在管理模块104的控制下,从网络数据包捕获函数库103中采集数据包。
其中,抓包模块101可以为Agent,通道接收模块102可以为Tunnel Receiver,网络数据包捕获函数库103可以为Libpcap,管理模块104可以为Manager;
Manager为Agent的管理平台,为所有的Agent配置采集和转发策略,包括抓包策略、转发的隧道封装、隧道端口、数据包接收端等;
Agent为安装在云环境/容器环境中的抓包组件,执行Manager配置的采集和转发策略;
Libpcap:在Agent启用采集和转发策略时,从中采集数据包;
Tunnel Receiver:接收Agent转发的数据包、剥离隧道头并为数据包增加请求/响应、服务标识后转发给数据消费端。
ZeroMQ(简称ZMQ)是一个基于消息队列的多线程库,其对套接字、连接处理、以及路由进行抽象处理,可提供跨越多种传输协议的套接字。本发明实施例包含传输控制协议(Transmission Control Protocol,TCP)协议重传机制和ZMQ重传机制。
在具体实施中,可以首先通过抓包模块101调用Linux系统本地的网络数据包捕获函数库103底层依赖,进行数据包的捕获,捕获之后通过抓包模块101内置的ZeroMQ插件进行传输,期间会在数据包的头部封装队列标签,通道接收模块102也安装了相应的ZeroMQ插件,进行数据包的队列标签解封装。
通道接收模块102进一步将原始数据包经过多协议标签交换(Multi-ProtocolLabel Switching,MPLS)技术注入分组标签,数据包消费平台接收指定分组标签的数据包,进一步处理和消费,其中,数据包消费平台可以为性能管理系统、大数据分析平台、风险控制平台等消费终端。
本发明实施例提到的TCP协议重传机制,实际上是由网络层的头部TCP来进行网络层面的保障的,ZMQ重传机制是消息层面的数据传输保障机制,本发明实施例中的ZMQ可以基于TCP,所以有双层保障机制。
具体的,TCP协议提供可靠数据传输服务,为保证数据传输的正确性,TCP会重传其认为已丢失(包括报文中的比特错误)的包,对收到的TCP报文段进行排序以及检测重复的数据;使用校验和来检测报文段的错误;使用确认和计时器来检测和纠正丢包;TCP重传保证了网络层面的数据完整性。ZeroMQ可以处理套接字异常,能够智能地处理错误,并对其进行重试。ZeroMQ通过消息层面的重传,保证了消息的完整送达。
在一种实施例中,通道接收模块102具体用于:
若多个数据包的队列标签符合预设顺序,则确定数据完整,否则确定数据不完整。
具体的,预设顺序可以任意设定,以5个数据包为例,对应的队列标签的预设顺序可以为1、2、3、4、5,当然也可以为A、B、C、D、E,可以任意设定,比如预设顺序为1、2、3、4、5,按该顺序(1、2、3、4、5)接收到5个数据包代表数据是完整的,若由于传输过程中出现丢包现象,只接收到其中4个数据包(例如为1、2、3、5),表示队列标签为4的数据包丢失,按该顺序(1、2、3、5)只接收到4个数据包代表数据是不完整的,代表数据包丢失。
在一种可能的实现方式中,若确定数据不完整,则为了保证数据的完整性,通道接收模块102等待接收抓包模块101发送的封装后的数据包。
具体的,通道接收模块102接收到抓包模块101发送的数据包后,会按照数据包头部里封装好的队列信息进行校验,正常情况下,数据包的传输队列编号是按照顺序的,当发现有丢失的队列编号,或者乱了顺序的队列编号时,此时会执行队列保障机制,等待丢失的数据包重新发送过来。
比如,抓包模块101向通道接收模块102发送5个数据包(1、2、3、4、5),通道接收模块102接收到4个数据包(1、3、4、5),其中,队列标签为2的数据包发送失败,抓包模块101基于TCP协议,重新发送队列标签为2的数据包。相应的,通道接收模块确定数据不完整后,等待抓包模块发送队列标签为2的数据包。
本发明实施例中,由于通道接收模块可以验证数据是否完整,在不完整时,等待抓包模块发送丢失的数据包,相比于现有技术中通道接收模块不对数据进行完整性验证,可以提高数据传输的可靠性。
在实施中,通道接收模块102还可以针对通道接收模块102中的每个消息队列,确定消息队列中存储的数据包的数量大于等于预设值,向抓包模块101发送控制指令,以控制抓包模块停止发送数据包。
本发明实施例,使用异步读写模式,当消息通道中的消息队列在内存溢出的情况发生时,会自动通过阈值(预设值)机制来规避数据包溢出,当消息队列填满时,可自动阻塞发送者,即抓包模块101,从而保障数据包的稳定性。由于ZMQ有阈值(HWM)机制,可以避免消息溢出,其中,预设值可以为抓包模块101和通道接收模块102两端内部的ZeroMQ插件之间进行协商来确定的。
需要说明的是,ZeroMQ的读写属于异步模式,发送与接收数据包均会将数据包放入管道中,当响应器Reactor轮询到相应的读写事件的时候,适时的读写消息。
在一种实施例中,抓包模块101基于ZeroMQ,将其采集到的数据包的头部封装队列标签,并发送至通道接收模块之后,还用于:为采集到的数据包注入时间戳。
具体过程可以为:抓包模块101调用网络数据包捕获函数库103底层,获取捕获能力,抓包模块101捕获指定流量后,获取系统最新本地时间,转化成标准的Unix时间戳,例如2021-12-29 21:28:02可以转换为1640784482(Unix时间戳),抓包模块101将时间戳标记到数据包头部,并转发被标记时间戳的数据包。
这个过程可以称为主动时间戳注入机制,该机制是为了保证数据包的真实有效时间,假如在传输过程中发生丢包时,某个数据包实际到达时间是重传后的时间,如果按照重传时间来标记,可能会导致后端分析平台处理异常。所以如果我们在最初主动注入时间戳,即使丢包重传也不会对数据包内的时间戳有影响。
本发明实施例可以通过主动时间戳注入机制为数据包注入时间戳,为数据包注入时间戳不会造成数据采集出来后,数据混乱的情况,从而保障的数据包的稳定性,此外,通过主动时间戳注入机制为数据包注入时间戳,可以确保数据包的时间戳实时精准。
为了满足数据包消费平台的分类监控场景,呈现数据包采集后监控场景的多样性,通道接收模块102还可以根据多协议标签交换技术,将接收到的具有相同转发处理方式的数据包设置业务标签,并将设置有相同的业务标签的数据包发送至终端。
本发明实施例利用多协议标签交换技术,将具有相同转发处理方式的分组归为一类,相同转发等价类的分组在MPLS网络中将获得完全相同的处理。
在具体实施中,可以基于MPLS处理机制对数据包进行处理,下面对MPLS处理机制进行说明。
具体的,可以根据消费场景的不同,可以设置不同的分组标签,比如:
用不同的分组标签,区分不同的消费场景,比如设置401分组标签,用于安全监测,设置402标签,用于应用性能分析。对于单独的消费场景,用不同的分组标签区分不同的类型,比如在应用性能分析场景,可以设置4021为网银系统的流量,4022是手机银行系统的流量,以便于区分处理和解码。
ZMQ技术消息队列验证的数据包传输依赖MPLS多协议标签交换作为分类转发,将具有相同转发处理方式的分组归为一类,相同转发等价类的分组在MPLS网络中将获得完全相同的处理。
ZMQ验证数据包通过虚拟扩展局域网(Virtual Extensible Local AreaNetwork,VxLAN)大二层头部封装方式进行传输,当达到目的地址后,Tunnel Receiver快速对数据包进行VxLAN头部剥离;完成VxLAN头部剥离后,继续通过MPLS技术进行数据包染色,可以实现对采集的流量注入业务标签信息,以便适应数据包消费平台的业务分类场景。
值得说明的是,本发明实施例中,抓包模块101和通道接收模块102都具ZMQ组件,主动时间戳注入机制,MPLS处理机制以及异步读写模式,都是基于ZMQ插件实现的。
本发明实施例中的抓包模块可以为抓包器、数据采集器,通道接收模块可以为通道接收器。
基于同一发明构思,如图2所示,本发明实施例提供一种基于ZeroMQ的数据包传输设备,该数据包传输设备包括至少一个处理器200;以及与至少一个处理器200通信连接的存储器210;其中,存储器210存储有可被至少一个处理器200执行的指令,指令被至少一个处理器200执行,以使至少一个处理器200能够执行如下步骤:
基于ZeroMQ,通过抓包模块将其采集到的数据包的头部封装队列标签,并发送至通道接收模块;
基于ZeroMQ,通过通道接收模块对接收到的数据包进行解封装,得到每个数据包的队列标签;
通过通道接收模块根据每个数据包的队列标签对数据完整性进行校验。
可选的,至少一个处理器200具体用于:
若多个数据包的队列标签符合预设顺序,则通过通道接收模块确定数据完整,否则确定数据不完整。
可选的,至少一个处理器200具体用于:
若确定数据不完整,则通过通道接收模块等待接收抓包模块发送的封装后的数据包。
可选的,至少一个处理器200还用于:
针对通道接收模块中的每个消息队列,确定消息队列中存储的数据包的数量大于等于预设值,通过通道接收模块向抓包模块发送控制指令,以控制抓包模块停止发送数据包。
可选的,基于ZeroMQ,通过抓包模块将其采集到的数据包的头部封装队列标签,并发送至通道接收模块之后,至少一个处理器200还用于:
通过抓包模块为采集到的数据包注入时间戳。
可选的,至少一个处理器200还用于:
根据多协议标签交换技术,通过通道接收模块将接收到的具有相同转发处理方式的数据包设置业务标签,并将设置有相同的业务标签的数据包发送至终端。
基于相同的发明构思,本发明实施例还提供一种基于ZeroMQ的数据包传输方法,应用于服务器,该方法的实现与上述装置的实现相似,重复之处不再赘述。
如图3所示,本发明实施例还提供一种基于ZeroMQ的数据包传输方法包括:
S301、基于ZeroMQ,通过抓包模块将其采集到的数据包的头部封装队列标签,并发送至通道接收模块;
S302、基于ZeroMQ,通过通道接收模块对接收到的数据包进行解封装,得到每个数据包的队列标签;
S303、通过通道接收模块根据每个数据包的队列标签对数据完整性进行校验。
可选的,通过通道接收模块根据每个数据包的队列标签对数据完整性进行校验,包括:
若多个数据包的队列标签符合预设顺序,则通过通道接收模块确定数据完整,否则确定数据不完整。
可选的,若确定数据不完整,则:
通过通道接收模块等待接收抓包模块发送的封装后的数据包。
可选的,该方法还包括:
针对通道接收模块中的每个消息队列,确定消息队列中存储的数据包的数量大于等于预设值,通过通道接收模块向抓包模块发送控制指令,以控制抓包模块停止发送数据包。
可选的,基于ZeroMQ,通过抓包模块将其采集到的数据包的头部封装队列标签,并发送至通道接收模块之后,还包括:
通过抓包模块为采集到的数据包注入时间戳。
可选的,该方法还包括:
根据多协议标签交换技术,通过通道接收模块将接收到的具有相同转发处理方式的数据包设置业务标签,并将设置有相同的业务标签的数据包发送至终端。
基于同一发明构思,本申请实施例提供一种计算机可读存储介质。可选地,计算机可读存储介质有计算机程序,计算机程序包括程序指令,程序指令当被计算机执行时,使计算机执行上述基于ZeroMQ的数据包传输方法的步骤。由于本实施例中的计算机程序与前述图3所示的方法是基于同一构思下的发明,通过前述方法的详细描述,本领域技术人员可以清楚地了解本实施例中计算机程序的实施过程,所以为了说明书的简洁,在此不再赘述。
基于同一发明构思,本申请实施例提供一种计算机程序产品。可选地,计算机程序产品存储有计算机程序,计算机程序包括程序指令,程序指令当被计算机执行时,使计算机执行上述基于ZeroMQ的数据包传输方法的步骤。由于本实施例中的计算机程序与前述图3所示的方法是基于同一构思下的发明,通过前述方法的详细描述,本领域技术人员可以清楚地了解本实施例中计算机程序的实施过程,所以为了说明书的简洁,在此不再赘述。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。

Claims (15)

1.一种基于ZeroMQ的数据包传输方法,其特征在于,应用于服务器,该方法包括:
基于ZeroMQ,通过抓包模块将其采集到的数据包的头部封装队列标签,并发送至通道接收模块;
基于ZeroMQ,通过所述通道接收模块对接收到的数据包进行解封装,得到每个数据包的队列标签;
通过所述通道接收模块根据每个数据包的队列标签对数据完整性进行校验。
2.如权利要求1所述的方法,其特征在于,所述通过所述通道接收模块根据每个数据包的队列标签对数据完整性进行校验,包括:
若多个数据包的队列标签符合预设顺序,则通过所述通道接收模块确定数据完整,否则确定数据不完整。
3.如权利要求2所述的方法,其特征在于,若确定数据不完整,则:
通过所述通道接收模块等待接收所述抓包模块发送的封装后的数据包。
4.如权利要求1所述的方法,其特征在于,该方法还包括:
针对所述通道接收模块中的每个消息队列,确定所述消息队列中存储的数据包的数量大于等于预设值,通过所述通道接收模块向所述抓包模块发送控制指令,以控制所述抓包模块停止发送数据包。
5.如权利要求1所述的方法,其特征在于,所述基于ZeroMQ,通过抓包模块将其采集到的数据包的头部封装队列标签,并发送至通道接收模块之后,还包括:
通过所述抓包模块为采集到的数据包注入时间戳。
6.如权利要求1所述的方法,其特征在于,该方法还包括:
根据多协议标签交换技术,通过所述通道接收模块将接收到的具有相同转发处理方式的数据包设置业务标签,并将设置有相同的业务标签的数据包发送至终端。
7.一种基于ZeroMQ的数据包传输装置,其特征在于,应用于服务器,包括抓包模块和通道接收模块;
所述抓包模块,用于基于ZeroMQ,将其采集到的数据包的头部封装队列标签,并发送至通道接收模块;
所述通道接收模块,用于基于ZeroMQ,对接收到的数据包进行解封装,得到每个数据包的队列标签;根据每个数据包的队列标签对数据完整性进行校验。
8.如权利要求7所述的装置,其特征在于,所述通道接收模块具体用于:
若多个数据包的队列标签符合预设顺序,则确定数据完整,否则确定数据不完整。
9.如权利要求8所述的装置,其特征在于,若确定数据不完整,则:所述通道接收模块具体用于:
等待接收所述抓包模块发送的封装后的数据包。
10.如权利要求7所述的装置,其特征在于,所述通道接收模块还用于:
针对所述通道接收模块中的每个消息队列,确定所述消息队列中存储的数据包的数量大于等于预设值,向所述抓包模块发送控制指令,以控制所述抓包模块停止发送数据包。
11.如权利要求7所述的装置,其特征在于,所述抓包模块基于ZeroMQ,将其采集到的数据包的头部封装队列标签,并发送至通道接收模块之后,还用于:
为采集到的数据包注入时间戳。
12.如权利要求7所述的装置,其特征在于,所述通道接收模块还用于:
根据多协议标签交换技术,将接收到的具有相同转发处理方式的数据包设置业务标签,并将设置有相同的业务标签的数据包发送至终端。
13.一种基于ZeroMQ的数据包传输设备,其特征在于,包括至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-6中任何一项所述的方法。
14.一种计算机存储介质,其特征在于,所述计算机存储介质存储有计算机程序,所述计算机程序用于使计算机执行权利要求1-6任何一项所述的方法。
15.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1-6中任一项所述的方法。
CN202111656898.4A 2021-12-30 2021-12-30 一种基于ZeroMQ的数据包传输方法、装置及设备 Pending CN114401127A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111656898.4A CN114401127A (zh) 2021-12-30 2021-12-30 一种基于ZeroMQ的数据包传输方法、装置及设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111656898.4A CN114401127A (zh) 2021-12-30 2021-12-30 一种基于ZeroMQ的数据包传输方法、装置及设备

Publications (1)

Publication Number Publication Date
CN114401127A true CN114401127A (zh) 2022-04-26

Family

ID=81229595

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111656898.4A Pending CN114401127A (zh) 2021-12-30 2021-12-30 一种基于ZeroMQ的数据包传输方法、装置及设备

Country Status (1)

Country Link
CN (1) CN114401127A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117909055A (zh) * 2024-03-18 2024-04-19 北京壁仞科技开发有限公司 处理器的前端电路和抓包控制方法

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1925466A (zh) * 2006-10-10 2007-03-07 杭州华为三康技术有限公司 多协议标签交换转发方法及转发设备
US20070177621A1 (en) * 2006-02-01 2007-08-02 Via Technologies Inc. Control method and system for packet transmission
CN103532668A (zh) * 2013-10-12 2014-01-22 成都阜特科技股份有限公司 一种确保tcp通信数据完整及正确的方法
CN103944820A (zh) * 2014-05-15 2014-07-23 东莞市联臣电子科技有限公司 一种数据的通信方法、主机、从机及通信系统
US20170094033A1 (en) * 2015-09-24 2017-03-30 Amrita Vishwa Vidyapeetham Intelligent "IoT Gateway"
CN110750546A (zh) * 2019-10-21 2020-02-04 中国民航信息网络股份有限公司 一种数据库的更新方法及装置
CN112330946A (zh) * 2021-01-07 2021-02-05 航天宏图信息技术股份有限公司 电网平台数据通信方法、电网数据发送方法、装置和系统
CN112468407A (zh) * 2020-12-15 2021-03-09 东莞中国科学院云计算产业技术创新与育成中心 数据分包传输方法、装置、计算机设备和存储介质
CN112751776A (zh) * 2019-10-30 2021-05-04 华为技术有限公司 拥塞控制方法和相关装置
CN112865901A (zh) * 2019-11-28 2021-05-28 中国科学院声学研究所 一种基于fpga纳秒时间戳的高速数据包采集系统及方法

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070177621A1 (en) * 2006-02-01 2007-08-02 Via Technologies Inc. Control method and system for packet transmission
CN1925466A (zh) * 2006-10-10 2007-03-07 杭州华为三康技术有限公司 多协议标签交换转发方法及转发设备
CN103532668A (zh) * 2013-10-12 2014-01-22 成都阜特科技股份有限公司 一种确保tcp通信数据完整及正确的方法
CN103944820A (zh) * 2014-05-15 2014-07-23 东莞市联臣电子科技有限公司 一种数据的通信方法、主机、从机及通信系统
US20170094033A1 (en) * 2015-09-24 2017-03-30 Amrita Vishwa Vidyapeetham Intelligent "IoT Gateway"
CN110750546A (zh) * 2019-10-21 2020-02-04 中国民航信息网络股份有限公司 一种数据库的更新方法及装置
CN112751776A (zh) * 2019-10-30 2021-05-04 华为技术有限公司 拥塞控制方法和相关装置
CN112865901A (zh) * 2019-11-28 2021-05-28 中国科学院声学研究所 一种基于fpga纳秒时间戳的高速数据包采集系统及方法
CN112468407A (zh) * 2020-12-15 2021-03-09 东莞中国科学院云计算产业技术创新与育成中心 数据分包传输方法、装置、计算机设备和存储介质
CN112330946A (zh) * 2021-01-07 2021-02-05 航天宏图信息技术股份有限公司 电网平台数据通信方法、电网数据发送方法、装置和系统

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117909055A (zh) * 2024-03-18 2024-04-19 北京壁仞科技开发有限公司 处理器的前端电路和抓包控制方法
CN117909055B (zh) * 2024-03-18 2024-06-11 北京壁仞科技开发有限公司 处理器的前端电路和抓包控制方法

Similar Documents

Publication Publication Date Title
CN105991412B (zh) 消息推送方法及装置
CN111083161A (zh) 数据传输的处理方法及装置、物联网设备
US9015822B2 (en) Automatic invocation of DTN bundle protocol
CN107800663B (zh) 流量离线文件的检测方法及装置
CN107360177B (zh) 一种基于udp的报文传输方法及装置
US9218266B2 (en) Systems and methods for replication of test results in a network environment
CN111158933A (zh) 一种基于消息队列的分布式事务处理方法及系统
CN107547505B (zh) 一种报文处理方法及装置
CN112769939B (zh) 一种用于实时通讯的大数据可靠传输方法
CN105373891A (zh) 智能电网数据管理和传输系统
CN114285765A (zh) 链路故障检测方法、装置及计算机可读存储介质
CN114401127A (zh) 一种基于ZeroMQ的数据包传输方法、装置及设备
CN112436998A (zh) 一种数据传输方法及电子设备
WO2021134418A1 (zh) 一种数据校验方法及装置
CN111107182A (zh) 一种mac地址同步方法、装置、系统、设备及介质
CN117061072A (zh) 报文传输方法、装置、设备及存储介质
CN108076070B (zh) 一种fasp协议阻断方法、装置及分析系统
CN112929197A (zh) 一种网络通信方法、装置、设备和存储介质
CN115988110A (zh) 芯片间通信方法及存储介质
US11435999B2 (en) Method and apparatus for upgrading software
CN112667359B (zh) 数据透传方法、电子设备及存储介质
WO2017107083A1 (zh) 数据发送方法、接收方法、装置及系统
CN115348333A (zh) 基于udp双端通信交互的数据传输方法、系统及设备
CN116155826A (zh) 报文收发方法、网络设备、系统和存储介质
CN114070799B (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