CN111953621A - 数据传输方法、装置、计算机设备和存储介质 - Google Patents

数据传输方法、装置、计算机设备和存储介质 Download PDF

Info

Publication number
CN111953621A
CN111953621A CN202010830632.6A CN202010830632A CN111953621A CN 111953621 A CN111953621 A CN 111953621A CN 202010830632 A CN202010830632 A CN 202010830632A CN 111953621 A CN111953621 A CN 111953621A
Authority
CN
China
Prior art keywords
target message
message
target
messages
state information
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
CN202010830632.6A
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.)
Beijing Aibee Technology Co Ltd
Original Assignee
Beijing Aibee Technology Co 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 Beijing Aibee Technology Co Ltd filed Critical Beijing Aibee Technology Co Ltd
Priority to CN202010830632.6A priority Critical patent/CN111953621A/zh
Publication of CN111953621A publication Critical patent/CN111953621A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请涉及一种数据传输方法、装置、计算机设备和存储介质。该方法包括:接收第一消息队列中的目标消息;第一消息队列包括至少一个目标消息;对于每一目标消息,按照目标消息对应的目标消息类别,获取目标消息类别对应的状态信息;检测所述状态信息中的消息总数是否等于所述状态信息中的已处理消息数,若等于,则落盘预先缓存的目标消息。其中,在状态信息中的消息总数中的消息总数等于状态信息中的已处理消息数时,落盘预先缓存的目标消息,能够保证消息数据的完整性与一致性,同时,这种按照条件进行判断并落盘数据的方式,能够避免因带宽限制而导致的数据传输慢的现象,大大提高数据传输的并发性和吞吐量。

Description

数据传输方法、装置、计算机设备和存储介质
技术领域
本申请涉及数据传输技术领域,特别是涉及一种数据传输方法、装置、计算机设备和存储介质。
背景技术
随着互联网技术的发展,日常生活中出现了各种各样的“大数据”,例如,在购物中心部署大量的摄像头用于监控购物中心的环境和人员流动情况,摄像头一旦开始运行,则会源源不断地产生海量的数据,这些数据经过摄像头边缘计算系统的初期预处理,再发送至每个购物中心的数据处理中心。由购物中心的数据处理中心统一将上述海量的数据发送给外界的数据处理中心进行后续的处理。传统技术中,将海量的数据从一个数据处理中心传输至另一个数据处理中心的常用做法是,在前一个数据处理中心处,将海量的数据进行打包上传至云存储,后一个数据处理中心定期轮询云存储,从云存储中下载数据。
然而,传统技术中,打包海量数据并上传云存储的过程,是将大量数据作为一个整体的过程,使得数据与数据之间的依赖性变大,外加同时上传或下载云存储时的带宽限制,会导致数据传输的并发性差、吞吐量低。
发明内容
基于此,有必要针对上述技术问题,提供一种能够解决数据传输过程中的并发性差、吞吐量低的数据传输方法、装置、计算机设备和存储介质。
一种数据传输方法,所述方法包括:
接收第一消息队列中的目标消息;所述第一消息队列包括至少一个目标消息;
对于每一所述目标消息,按照所述目标消息对应的目标消息类别,获取所述目标消息类别对应的状态信息;
检测所述状态信息中的消息总数是否等于所述状态信息中的已处理消息数,若等于,则落盘预先缓存的目标消息。
在其中一个实施例中,每一所述目标消息对应一个目标消息标识;
所述检测所述状态信息中的消息总数是否等于所述状态信息中的已处理消息数,若等于,则落盘预先缓存的目标消息,之前包括:
检测所述状态信息中的已处理消息标识集中是否存在所述目标消息标识;
若存在,则返回执行所述接收第一消息队列中的目标消息的步骤,得到新的目标消息;
若不存在,则更新所述状态信息,并对所述目标消息进行缓存。
在其中一个实施例中,所述更新所述状态信息,包括:
累加所述已处理消息数,并将所述目标消息标识添加至所述已处理消息标识集。
在其中一个实施例中,所述接收第一消息队列中的目标消息,之前包括:
获取有界数据;
按照预设的消息格式,对所述有界数据进行封装,得到目标消息;所述消息格式包括所述有界数据对应的消息总数、所述目标消息的排列位数和所述目标消息对应的目标消息标识;
发送所述目标消息至所述第一消息队列。
在其中一个实施例中,所述对于每一所述目标消息,按照所述目标消息对应的目标消息类别,获取所述目标消息类别对应的状态信息,包括:
对于每一所述目标消息,按照所述目标消息对应的目标消息类别,为所述目标消息分配对应的处理单元;每一所述处理单元对应一个状态存储器;
从所述状态存储器中获取所述目标消息类别对应的状态信息。
在其中一个实施例中,所述对于每一所述目标消息,按照所述目标消息对应的目标消息类别,为所述目标消息分配对应的处理单元,包括:
检测是否存在与所述目标消息类别对应的处理单元;
若存在,则按照所述目标消息类别,为所述目标消息分配与所述标消息类别对应的处理单元;
若不存在,则为所述目标消息类别创建对应的处理单元,并为所述目标消息分配与所述标消息类别对应的处理单元。
在其中一个实施例中,所述落盘预先缓存的目标消息,之后包括:
回收所述处理单元,将所述目标消息发送至预设的第二消息队列,并通知下游处理单元进行处理。
在其中一个实施例中,每一所述目标消息类别对应一个处理单元,所述状态信息还包括处理时间列表,所述处理时间列表包括每一所述目标消息对应的处理时间;
所述方法还包括:
获取目标时间戳与上一目标消息对应的处理时间之间的时间差;
检测所述时间差是否大于预设时限,若大于,则将所述目标消息发送至预设的报警系统,回收所述处理单元,并重新接收所述第一消息队列中的目标消息。
一种数据传输装置,所述装置包括:
数据接收模块,用于接收第一消息队列中的目标消息;所述第一消息队列包括至少一个目标消息;
状态信息获取模块,用于对于每一所述目标消息,按照所述目标消息对应的目标消息类别,获取所述目标消息类别对应的状态信息;
数据传输模块,用于检测所述状态信息中的消息总数是否等于所述状态信息中的已处理消息数,若等于,则落盘预先缓存的目标消息。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述任一项所述的方法的步骤。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一项所述的方法的步骤。
上述数据传输方法、装置、计算机设备和存储介质,通过接收第一消息队列中的目标消息,对第一消息队列中的每一目标消息,按照目标消息对应的目标消息类别,获取目标消息类别对应的状态信息,并检测状态信息中的消息总数中的消息总数是否等于状态信息中的已处理消息数,若等于,则落盘预先缓存的目标消息。其中,在状态信息中的消息总数中的消息总数等于状态信息中的已处理消息数时,落盘预先缓存的目标消息,能够保证消息数据的完整性与一致性,同时,这种按照条件进行判断并落盘数据的方式,能够避免因带宽限制而导致的数据传输慢的现象,大大提高数据传输的并发性和吞吐量。
附图说明
图1为一个实施例中数据传输方法的应用环境图;
图2为一个实施例中数据传输方法的流程示意图;
图3为一个实施例中步骤S300之前的一种可实施方式的流程示意图;
图4为一个实施例中步骤S100之前的一种可实施方式的流程示意图;
图5为另一个实施例中步骤S200的一种可实施方式的流程示意图;
图6为一个实施例中数据传输异常报警的一种可实施方式的流程示意图;
图7为一个实施例中数据传输装置的结构框图;
图8为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请提供的数据传输方法,可以应用于如图1所示的应用环境中。其中,终端102通过网络与服务器104进行通信。终端102作为数据生成方生成第一消息队列中的目标消息,并将第一消息队列中的目标消息发送至服务器104,服务器104接收第一消息队列中的目标消息,对第一消息队列中的每一目标消息,获取目标消息对应的状态信息,并检测状态信息中的消息总数中的消息总数是否等于状态信息中的已处理消息数,若等于,则落盘预先缓存的目标消息。其中,终端102可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和图像采集设备,服务器104可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
在一个实施例中,如图2所示,提供了一种数据传输方法,以该方法应用于图1中的服务器为例进行说明,包括以下步骤:
步骤S100,接收第一消息队列中的目标消息;第一消息队列包括至少一个目标消息。
步骤S200,对于每一目标消息,按照目标消息对应的目标消息类别,获取目标消息类别对应的状态信息。
步骤S300,检测状态信息中的消息总数是否等于状态信息中的已处理消息数,若等于,则落盘预先缓存的目标消息。
其中,消息是指按照一定的格式对数据进行封装后的数据存在形式。目标消息类别是指按照一定的时间或空间对目标消息进行划分得到的类别,此处的时间和空间仅为示例性说明,并不对目标消息类别进行限定,具体实施过程中以能够区分不同的目标消息为准。状态信息是指对消息的处理状态,包括消息总数、已处理消息数、已处理消息标识和消息处理时间列表。已处理消息数是指被处理过的目标消息的数量。
具体地,接收第一消息队列中的目标消息,第一消息队列包括至少一个目标消息。逐一获取目标消息对应的状态信息,并检测状态信息中的消息总数是否等于状态信息中的已处理消息数,若等于,说明所有消息已被处理过,预先缓存的目标消息包含有该目标消息类别的完整目标消息数据,则落盘预先缓存的目标消息,完成数据传输。可选地,预先缓存的目标消息可存储于消息存储器中,消息存储器是指一个预设的存储单元,可以通过预设路径将目标消息存储至消息存储器中。
上述数据传输方法中,通过接收第一消息队列中的目标消息,对第一消息队列中的每一目标消息,按照目标消息对应的目标消息类别,获取目标消息类别对应的状态信息,并检测状态信息中的消息总数中的消息总数是否等于状态信息中的已处理消息数,若等于,则落盘预先缓存的目标消息。其中,在状态信息中的消息总数中的消息总数等于状态信息中的已处理消息数时,落盘预先缓存的目标消息,能够保证消息数据的完整性与一致性,同时,这种按照条件进行判断并落盘数据的方式,能够避免因带宽限制而导致的数据传输慢的现象,大大提高数据传输的并发性和吞吐量。
在一个实施例中,如图3所示,为步骤S300之前的一种可实施方式的流程示意图,包括以下步骤:
步骤S310,检测状态信息中的已处理消息标识集中是否存在目标消息标识。
步骤S321,若存在,则返回执行接收第一消息队列中的目标消息的步骤,得到新的目标消息。
步骤S322,若不存在,则更新状态信息,并对目标消息进行缓存。
其中,每一目标消息对应一个目标消息标识。消息标识是指用于识别一个消息的名字。
具体地,检测状态信息中的已处理消息标识集中是否存在目标消息标识,若存在,说明该目标消息已经被处理过,则丢弃该目标消息,不再对该目标消息进行处理。若不存在,说明该目标消息未被处理过,则对该目标消息进行处理,更新状态信息,同时对目标消息进行缓存。可选地,可以将目标消息缓存至预设的消息存储器中。
可选地,更新状态信息包括:累加已处理消息数,并将目标消息标识添加至已处理消息标识集。
具体地,在已处理消息标识集中不存在目标消息标识时,则对处理消息数进行累加,并将目标消息标识添加至已处理消息标识集中。示例性地,消息总数为1000条,已处理消息数为120,当前目标消息对应的目标消息标识不在已处理消息标识中,则累加已处理消息数为121,以此类推,直到已处理消息数为1000时,落盘消息存储器中的数据,完成数据传输。
上述实施例中,检测状态信息中的已处理消息标识集中是否存在目标消息标识,若存在,则返回执行接收第一消息队列中的目标消息的步骤,得到新的目标消息,若不存在,则更新状态信息,并对目标消息进行缓存。该实施例可以保证每一目标消息类别对应的目标消息均被处理过且不会重复处理,能够保证消息数据的完整性与一致性。且逐一对目标消息进行处理,能够消除消息与消息之间的依赖性,提高数据传输的并发性。
在一个实施例中,如图4所示,为步骤S100之前的一种可实施方式的流程示意图,包括以下步骤:
步骤S101,获取有界数据。
步骤S102,按照预设的消息格式,对有界数据进行封装,得到目标消息;消息格式包括有界数据对应的消息总数、目标消息的排列位数和目标消息对应的目标消息标识。
步骤S103,发送目标消息至第一消息队列。
其中,有界数据是指按照一定的时间或空间对数据进行划分得到的数据,此处的时间和空间仅为示例性说明,并不对有界数据进行限定,具体实施过程中以能够对源源不断的数据进行划分为准。例如,将一定时间内不同的购物中心产生的数据确定为一条有界数据。可以通过消息中的空间标识mall_id,业务日期标识biz_date等标识来区分有界数据。
具体地,获取圆圆不断的数据,并按照一定的时间、空间等边界,将数据或分为不同的有界数据,并按照预设的消息格式,对有界数据进行封装为包括有界数据对应的消息总数、目标消息的排列位数和目标消息对应的目标消息标识的目标消息,并发送目标消息至第一消息队列,用于后续的消息数据传输。
上述实施例中,获取有明显的时间或者空间边界有界数据,按照预设的消息格式,对有界数据进行封装,得到目标消息,并发送目标消息至第一消息队列。能够消除消息与消息之间的依赖性,提高数据传输的并发性,并在为每一目标消息设置对应的消息总数、目标消息的排列位数和目标消息对应的目标消息标识,为后续根据对应的消息总数、目标消息的排列位数和目标消息对应的目标消息标识保证消息数据传输的完整性和一致性提供基础。
在一个实施例中,如图5所示,为步骤S200的一种可实施方式的流程示意图,包括以下步骤:
步骤S210,对于每一目标消息,按照目标消息对应的目标消息类别,为目标消息分配对应的处理单元;每一处理单元对应一个状态存储器。
步骤S220,从状态存储器中获取目标消息类别对应的状态信息。
其中,处理单元是指能够对目标消息进行一定逻辑处理的单元或模块。可选地,一个处理单元可以是一个处理程序。状态存储器是指能够存储目标消息或消息处理对应的状态信息的存储单元。
具体地,对于每一目标消息,按照目标消息对应的目标消息类别,为目标消息分配对应的处理单元,同一类别的目标消息由一个处理单元处理,每一处理单元对应一个状态存储器,相应地,每一目标消息对应一个状态存储器,从状态存储器中可以获取目标消息类别对应的状态信息。
可选地,检测是否存在与目标消息类别对应的处理单元;若存在,则按照目标消息类别,为目标消息分配与标消息类别对应的处理单元;若不存在,则为目标消息类别创建对应的处理单元,并为目标消息分配与标消息类别对应的处理单元。
具体地,当接收到某个类别的目标消息后,检测是否存在与目标消息类别对应的处理单元,若存在,说明有对目标消息进行出路的处理单元,则按照目标消息类别,为目标消息分配对应的处理单元。当接收到某个类别的目标消息对应的第一条消息时,由于之前没有该类别的目标消息对应的处理单元,不存在与目标消息类别对应的处理单元,则需要为目标消息类别创建对应的处理单元,并为目标消息分配与标消息类别对应的处理单元。
可选地,落盘预先缓存的目标消息,之后包括:回收处理单元,将目标消息发送至预设的第二消息队列,并通知下游处理单元进行处理。
具体地,当落盘预先缓存的目标消息之后,说明已完成一个类别的消息数据的处理,则释放处理单元并回收处理单元,用于其他类别的消息处理的调用,降低系统的负荷,提高数据的传输性能。
上述实施例中,对于每一目标消息,按照目标消息对应的目标消息类别,为目标消息分配对应的处理单元;每一处理单元对应一个状态存储器;从状态存储器中获取状态信息。从而使得每一类别的目标消息由不同的处理单元处理,使得不同类别的目标消息的处理互不干扰,能够消除消息与消息之间的依赖性,提高数据传输的并发性。同时,还可以动态创建或回收相应的处理单元,动态扩展消息处理的能力,降低系统的负荷,提高数据的传输性能。并在消息处理完成后,及时通知下游处理单元进行处理,提高数据处理的效率。
在一个实施例中,如图6所示,为数据传输异常报警的一种可实施方式的流程示意图,包括以下步骤:
步骤S410,获取目标时间戳与上一目标消息对应的处理时间之间的时间差。
步骤S420,检测时间差是否大于预设时限,若大于,则将目标消息发送至预设的报警系统,回收处理单元,并重新接收第一消息队列中的目标消息。
其中,目标时间戳是指根据实际需求确定出的时间戳。可选地,当目标时间戳为当前时间戳时,可以用于检测当前时间与上一目标消息对应的处理时间之间的时间差;当目标时间戳为预设时间戳时,可以用于检测预设时间与该预设时间对应的上一目标消息的处理时间之间的时间差。预设时限是指按照消息处理的时长统计规律设定的时长限制,一般可以认为当消息处理的时长大于预设时限时,消息处理发生异常。每一目标消息类别对应一个处理单元,状态信息还包括处理时间列表,处理时间列表包括每一目标消息对应的处理时间。
具体地,获取目标时间戳与上一目标消息对应的处理时间,并确定出一个时间差。检测该时间差是否大于预设时限,若大于,说明消息处理发生异常,则将目标消息发送至预设的报警系统,用以提示消息处理发生异常,释放处理单元并回收处理单元,用于其他消息处理的调用,降低系统的负荷,提高数据的传输性能。同时通知上游处理单元重新发送第一消息队列中的目标消息,重新接收第一消息队列中的目标消息,进行消息的处理,确保每一消息都会被处理。
上述实施例中,获取目标时间戳与上一目标消息对应的处理时间之间的时间差;检测时间差是否大于预设时限,若大于,则将目标消息发送至预设的报警系统,回收处理单元,并重新接收第一消息队列中的目标消息。能够在消息处理发生异常的情况下,重新接收第一消息队列,进行目标消息的处理,保证消息数据传输的完整性和一致性。
在一个具体实施例中,以将购物中心的数据处理中心中的数据传输至另一数据处理中心为例进行说明,具体包括:
(1)制定有界数据的消息规范,包含消息的分类信息和元数据信息,并且每条消息都有唯一标识。具体地,无界数据指无边界数据,数据被源源不断产出和处理,没有明显的边界。典型的无界数据指传感器、摄像头等产生的数据。有界数据,是相对于无界数据而言,一般指系统为某些目标而生成的数据。例如每天的交易数据,每天的购物中心客流数据等,这些数据有明显的时间或者空间边界,同时对数据的完整性和一致性有严格要求。有界数据,通过分布式消息系统发送,需要在消息上额外的一些字段定义来保证有界数据的完整性。消息具有以下特征:消息中包含唯一性标识,例如用request_id或uuid来保证消息的唯一性;消息中包含有界数据的元数据信息,包括但不限于:有界数据的消息总数,此条消息是第几条消息等,例如,总消息条数1000条,此消息是120条;消息中包含有界数据的分类信息,包括但不限于:哪家购物中心的数据,哪天的业务数据,例如通过消息中的购物中心标识mall_id,业务日期标识biz_date等标识;可选地,每条消息中可包含多条数据,也就是分页,以提高消息的有效信息占比,例如每条消息中包含100条数据。
(2)发送方按照消息规范封装和发送有界数据。每个购物中心,将有界数据按照上述步骤(1)中的消息格式封装,得到目标消息,并发送至分布式消息队列(第一消息队列)。例如,利用Kafka的多分区特性,可多个线程并行发送,提高了消息发送效率。
(3)流式处理系统,按照消息的分类信息作为主键,唯一分配一个处理单元。利用基于Flink的流处理系统,Flink的优点在于可并行接收和处理数据,并且保证分布式环境下每天消息仅处理一次。系统接收一条消息,按照消息体中分类信息(mall_id,biz_date)作为主键(目标消息类别),分配给一个处理单元。这样不同购物中心标识、不同业务日期标识的消息,被不同的处理单元处理。处理单元如果不存在则动态创建或从连接池中创建。
(4)每个处理单元有独立的状态存储器,处理每条消息时,可更新状态存储器的状态。每个处理单元,都配置有单独的状态存储器。处理单元处理每条消息时,首先从状态存储器中取得状态信息,包含消息总数、已处理消息数、已处理消息标识、处理时间列表等,然后处理这条消息,处理逻辑是首先验证消息的标识是否已存在,如果存在则丢弃消息;如果不存在,则累加已处理的消息条数,并添加至已处理消息标识列表。最后将最新状态信息存入状态存储器,同时消息缓存至消息存储器。
(5)系统能够识别整体有界数据是否全部接收完成。若完成后可通知消息存储器落盘并发送完成消息。每个处理单元,在处理完每条消息后,检查最新状态是否已满足完成状态。例如消息总条数等于已处理的消息数,若满足,则触发消息存储器,将缓存的数据全部落盘;然后触发完成信号,将有界数据分类标识,例如购物中心标识mall_id,业务日期标识biz_date,存储路径标识path_root,信号时间戳timestamp等发送至消息队列,通知下游进行下一步处理。最后,此处理单元被回收。
(6)系统能够识别消息处理是否超过时限。若超过时限后,通知报警系统进行报警,通知上游重发数据等。系统会以定时轮询的方式询问每个处理单元,处理消息的时限是否超时,此时每个处理单元会检查自己的状态存储器,当发现自己处理最后一条消息的处理时间,与当前时间戳之差大于超时时限,则会停止处理此批有界数据。并将有界数据分类标识,例如购物中心标识mall_id,业务日期标识biz_date,存储路径标识path_root,信号时间戳timestamp等发送至报警系统,通知上游进行重发。最后,此处理单元被回收。
上述实施例中,基于流处理系统与分布式消息队列处理有界数据,严格保证了有界数据的完整性与一致性。提高了数据的并发性与吞吐量。理论上可以做到横向无限扩展,数据量增大时,仅需增加分布式消息队列的配置及流处理系统的配置即可。通用性大大提高。定义了有界数据的消息规范,符合该消息规范的有界数据均适用本系统。
应该理解的是,虽然图2-6的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2-6中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图7所示,提供了一种数据传输装置,包括:数据接收模块701、状态信息获取模块702和数据传输模块703,其中:
数据接收模块701,用于接收第一消息队列中的目标消息;第一消息队列包括至少一个目标消息;
状态信息获取模块702,用于对于每一目标消息,按照目标消息对应的目标消息类别,获取目标消息类别对应的状态信息;
数据传输模块703,用于检测状态信息中的消息总数是否等于状态信息中的已处理消息数,若等于,则落盘预先缓存的目标消息。
在其中一个实施例中,数据传输装置还包括状态信息更新模块,用于检测状态信息中的已处理消息标识集中是否存在目标消息标识;若存在,则返回执行接收第一消息队列中的目标消息的步骤,得到新的目标消息;若不存在,则更新状态信息,并对目标消息进行缓存。
在其中一个实施例中,状态信息更新模块还用于累加已处理消息数,并将目标消息标识添加至已处理消息标识集。
在其中一个实施例中,数据传输装置还包括数据发送模块,用于获取有界数据;按照预设的消息格式,对有界数据进行封装,得到目标消息;消息格式包括有界数据对应的消息总数、目标消息的排列位数和目标消息对应的目标消息标识;发送目标消息至第一消息队列。
在其中一个实施例中,状态信息获取模块702还用于对于每一目标消息,按照目标消息对应的目标消息类别,为目标消息分配对应的处理单元;每一处理单元对应一个状态存储器;从状态存储器中获取目标消息类别对应的状态信息。
在其中一个实施例中,状态信息获取模块702还用于检测是否存在与目标消息类别对应的处理单元;若存在,则按照目标消息类别,为目标消息分配与标消息类别对应的处理单元;若不存在,则为目标消息类别创建对应的处理单元,并为目标消息分配与标消息类别对应的处理单元。
在其中一个实施例中,数据传输模块603还用于回收处理单元,将目标消息发送至预设的第二消息队列,并通知下游处理单元进行处理。
在其中一个实施例中,数据传输装置还包括报警模块,用于获取目标时间戳与上一目标消息对应的处理时间之间的时间差;检测时间差是否大于预设时限,若大于,则将目标消息发送至预设的报警系统,回收处理单元,并重新接收第一消息队列中的目标消息。
关于数据传输装置的具体限定可以参见上文中对于数据传输方法的限定,在此不再赘述。上述数据传输装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图8所示。该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储数据传输数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种数据传输方法。
本领域技术人员可以理解,图8中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:
接收第一消息队列中的目标消息;第一消息队列包括至少一个目标消息;
对于每一目标消息,按照目标消息对应的目标消息类别,获取目标消息类别对应的状态信息;
检测状态信息中的消息总数是否等于状态信息中的已处理消息数,若等于,则落盘预先缓存的目标消息。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:检测状态信息中的已处理消息标识集中是否存在目标消息标识;若存在,则返回执行接收第一消息队列中的目标消息的步骤,得到新的目标消息;若不存在,则更新状态信息,并对目标消息进行缓存。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:累加已处理消息数,并将目标消息标识添加至已处理消息标识集。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:获取有界数据;按照预设的消息格式,对有界数据进行封装,得到目标消息;消息格式包括有界数据对应的消息总数、目标消息的排列位数和目标消息对应的目标消息标识;发送目标消息至第一消息队列。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:对于每一目标消息,按照目标消息对应的目标消息类别,为目标消息分配对应的处理单元;每一处理单元对应一个状态存储器;从状态存储器中获取目标消息类别对应的状态信息。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:检测是否存在与目标消息类别对应的处理单元;若存在,则按照目标消息类别,为目标消息分配与标消息类别对应的处理单元;若不存在,则为目标消息类别创建对应的处理单元,并为目标消息分配与标消息类别对应的处理单元。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:回收处理单元,将目标消息发送至预设的第二消息队列,并通知下游处理单元进行处理。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:获取目标时间戳与上一目标消息对应的处理时间之间的时间差;检测时间差是否大于预设时限,若大于,则将目标消息发送至预设的报警系统,回收处理单元,并重新接收第一消息队列中的目标消息。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
接收第一消息队列中的目标消息;第一消息队列包括至少一个目标消息;
对于每一目标消息,按照目标消息对应的目标消息类别,获取目标消息类别对应的状态信息;
检测状态信息中的消息总数是否等于状态信息中的已处理消息数,若等于,则落盘预先缓存的目标消息。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:检测状态信息中的已处理消息标识集中是否存在目标消息标识;若存在,则返回执行接收第一消息队列中的目标消息的步骤,得到新的目标消息;若不存在,则更新状态信息,并对目标消息进行缓存。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:累加已处理消息数,并将目标消息标识添加至已处理消息标识集。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:获取有界数据;按照预设的消息格式,对有界数据进行封装,得到目标消息;消息格式包括有界数据对应的消息总数、目标消息的排列位数和目标消息对应的目标消息标识;发送目标消息至第一消息队列。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:对于每一目标消息,按照目标消息对应的目标消息类别,为目标消息分配对应的处理单元;每一处理单元对应一个状态存储器;从状态存储器中获取目标消息类别对应的状态信息。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:检测是否存在与目标消息类别对应的处理单元;若存在,则按照目标消息类别,为目标消息分配与标消息类别对应的处理单元;若不存在,则为目标消息类别创建对应的处理单元,并为目标消息分配与标消息类别对应的处理单元。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:回收处理单元,将目标消息发送至预设的第二消息队列,并通知下游处理单元进行处理。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:获取目标时间戳与上一目标消息对应的处理时间之间的时间差;检测时间差是否大于预设时限,若大于,则将目标消息发送至预设的报警系统,回收处理单元,并重新接收第一消息队列中的目标消息。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-Only Memory,ROM)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic Random Access Memory,DRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

Claims (10)

1.一种数据传输方法,其特征在于,所述方法包括:
接收第一消息队列中的目标消息;所述第一消息队列包括至少一个目标消息;
对于每一所述目标消息,按照所述目标消息对应的目标消息类别,获取所述目标消息类别对应的状态信息;
检测所述状态信息中的消息总数是否等于所述状态信息中的已处理消息数,若等于,则落盘预先缓存的目标消息。
2.根据权利要求1所述的方法,其特征在于,每一所述目标消息对应一个目标消息标识;
所述检测所述状态信息中的消息总数是否等于所述状态信息中的已处理消息数,若等于,则落盘预先缓存的目标消息,之前包括:
检测所述状态信息中的已处理消息标识集中是否存在所述目标消息标识;
若存在,则返回执行所述接收第一消息队列中的目标消息的步骤,得到新的目标消息;
若不存在,则更新所述状态信息,并对所述目标消息进行缓存。
3.根据权利要求2所述的方法,其特征在于,所述更新所述状态信息,包括:
累加所述已处理消息数,并将所述目标消息标识添加至所述已处理消息标识集。
4.根据权利要求1所述的方法,其特征在于,所述接收第一消息队列中的目标消息,之前包括:
获取有界数据;
按照预设的消息格式,对所述有界数据进行封装,得到目标消息;所述消息格式包括所述有界数据对应的消息总数、所述目标消息的排列位数和所述目标消息对应的目标消息标识;
发送所述目标消息至所述第一消息队列。
5.根据权利要求1所述的方法,其特征在于,所述对于每一所述目标消息,按照所述目标消息对应的目标消息类别,获取所述目标消息类别对应的状态信息,包括:
对于每一所述目标消息,按照所述目标消息对应的目标消息类别,为所述目标消息分配对应的处理单元;每一所述处理单元对应一个状态存储器;
从所述状态存储器中获取所述目标消息类别对应的状态信息。
6.根据权利要求5所述的方法,其特征在于,所述对于每一所述目标消息,按照所述目标消息对应的目标消息类别,为所述目标消息分配对应的处理单元,包括:
检测是否存在与所述目标消息类别对应的处理单元;
若存在,则按照所述目标消息类别,为所述目标消息分配与所述标消息类别对应的处理单元;
若不存在,则为所述目标消息类别创建对应的处理单元,并为所述目标消息分配与所述标消息类别对应的处理单元;
所述落盘预先缓存的目标消息,之后包括:
回收所述处理单元,将所述目标消息发送至预设的第二消息队列,并通知下游处理单元进行处理。
7.根据权利要求1所述的方法,其特征在于,每一所述目标消息类别对应一个处理单元,所述状态信息还包括处理时间列表,所述处理时间列表包括每一所述目标消息对应的处理时间;
所述方法还包括:
获取目标时间戳与上一目标消息对应的处理时间之间的时间差;
检测所述时间差是否大于预设时限,若大于,则将所述目标消息发送至预设的报警系统,回收所述处理单元,并重新接收所述第一消息队列中的目标消息。
8.一种数据传输装置,其特征在于,所述装置包括:
数据接收模块,用于接收第一消息队列中的目标消息;所述第一消息队列包括至少一个目标消息;
状态信息获取模块,用于对于每一所述目标消息,按照所述目标消息对应的目标消息类别,获取所述目标消息类别对应的状态信息;
数据传输模块,用于检测所述状态信息中的消息总数是否等于所述状态信息中的已处理消息数,若等于,则落盘预先缓存的目标消息。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述的方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。
CN202010830632.6A 2020-08-18 2020-08-18 数据传输方法、装置、计算机设备和存储介质 Pending CN111953621A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010830632.6A CN111953621A (zh) 2020-08-18 2020-08-18 数据传输方法、装置、计算机设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010830632.6A CN111953621A (zh) 2020-08-18 2020-08-18 数据传输方法、装置、计算机设备和存储介质

Publications (1)

Publication Number Publication Date
CN111953621A true CN111953621A (zh) 2020-11-17

Family

ID=73342046

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010830632.6A Pending CN111953621A (zh) 2020-08-18 2020-08-18 数据传输方法、装置、计算机设备和存储介质

Country Status (1)

Country Link
CN (1) CN111953621A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112468407A (zh) * 2020-12-15 2021-03-09 东莞中国科学院云计算产业技术创新与育成中心 数据分包传输方法、装置、计算机设备和存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060206538A1 (en) * 2005-03-09 2006-09-14 Veazey Judson E System for performing log writes in a database management system
CN108932158A (zh) * 2018-06-28 2018-12-04 郑州云海信息技术有限公司 一种元数据服务器事务处理的方法、装置及mds服务器
CN110032558A (zh) * 2019-04-12 2019-07-19 重庆天蓬网络有限公司 一种数据同步方法、装置、系统及存储介质
CN111416823A (zh) * 2020-03-23 2020-07-14 北京明略软件系统有限公司 一种数据传输方法和装置
CN111427859A (zh) * 2020-03-25 2020-07-17 京东数字科技控股有限公司 一种消息处理方法、装置、电子设备及存储介质

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060206538A1 (en) * 2005-03-09 2006-09-14 Veazey Judson E System for performing log writes in a database management system
CN108932158A (zh) * 2018-06-28 2018-12-04 郑州云海信息技术有限公司 一种元数据服务器事务处理的方法、装置及mds服务器
CN110032558A (zh) * 2019-04-12 2019-07-19 重庆天蓬网络有限公司 一种数据同步方法、装置、系统及存储介质
CN111416823A (zh) * 2020-03-23 2020-07-14 北京明略软件系统有限公司 一种数据传输方法和装置
CN111427859A (zh) * 2020-03-25 2020-07-17 京东数字科技控股有限公司 一种消息处理方法、装置、电子设备及存储介质

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112468407A (zh) * 2020-12-15 2021-03-09 东莞中国科学院云计算产业技术创新与育成中心 数据分包传输方法、装置、计算机设备和存储介质

Similar Documents

Publication Publication Date Title
CN110389815A (zh) 任务处理方法、装置及系统
CN111163159B (zh) 消息订阅方法、装置、服务器及计算机可读存储介质
CN111614761B (zh) 区块链消息传输方法、装置、计算机以及可读存储介质
CN109167819B (zh) 数据同步系统、方法、装置及存储介质
CN112506870B (zh) 数据仓库增量更新方法、装置及计算机设备
CN111159233A (zh) 分布式缓存方法、系统、计算机设备以及存储介质
CN111026606A (zh) 基于hystrix熔断器监控的报警方法、装置及计算机设备
CN111382976B (zh) 预警数据处理方法、装置、计算机设备和存储介质
CN114629883B (zh) 服务请求的处理方法、装置、电子设备及存储介质
CN115499447A (zh) 一种集群主节点确认方法、装置、电子设备及存储介质
CN117492944A (zh) 任务调度方法、装置、电子设备及可读存储介质
CN111953621A (zh) 数据传输方法、装置、计算机设备和存储介质
CN114391250B (zh) 带宽管理方法及装置、计算机存储介质及芯片
CN117354312A (zh) 访问请求处理方法、装置、系统、计算机设备和存储介质
CN109005465B (zh) 弹幕消息分发方法、装置、设备及存储介质
CN113965538B (zh) 设备状态消息处理方法、装置及存储介质
CN115220993A (zh) 进程监控方法、装置、车辆及存储介质
CN113886082A (zh) 请求处理方法、装置、计算设备及介质
CN109361953B (zh) 弹幕消息的动态分发方法、装置、设备和存储介质
CN111163117B (zh) 一种基于Zookeeper的对等式调度方法和装置
CN108810644B (zh) 弹幕消息分发方法、装置、设备及存储介质
CN113032153A (zh) 容器服务资源动态扩容方法、系统、装置及存储介质
CN116185642B (zh) 容器内存的优化方法及装置、存储介质、电子装置
CN107168685B (zh) 更新脚本的方法及装置、计算机终端
CN111611193B (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
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20201117