CN117950850A - 一种数据传输方法、装置、电子设备及计算机可读介质 - Google Patents

一种数据传输方法、装置、电子设备及计算机可读介质 Download PDF

Info

Publication number
CN117950850A
CN117950850A CN202311598923.7A CN202311598923A CN117950850A CN 117950850 A CN117950850 A CN 117950850A CN 202311598923 A CN202311598923 A CN 202311598923A CN 117950850 A CN117950850 A CN 117950850A
Authority
CN
China
Prior art keywords
data
service server
result data
real
message
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
CN202311598923.7A
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 Construction Bank Corp
CCB Finetech Co Ltd
Original Assignee
China Construction Bank Corp
CCB Finetech 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 China Construction Bank Corp, CCB Finetech Co Ltd filed Critical China Construction Bank Corp
Priority to CN202311598923.7A priority Critical patent/CN117950850A/zh
Publication of CN117950850A publication Critical patent/CN117950850A/zh
Pending legal-status Critical Current

Links

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请公开了一种数据传输方法、装置、电子设备及计算机可读介质,涉及人工智能、人机交互技术领域,一具体实施方式包括接收数据传输请求,获取对应的待传输数据,确定待传输数据的类型;响应于类型为非实时数据,基于非实时数据生成异步任务,并将异步任务放入消息队列中;调用第一业务服务器以调用线程消费消息队列中的异步任务,得到消费结果数据,推送消费结果数据至第二业务服务器;响应于次日归档结束,生成对应的日终文件,发送日终文件至第二业务服务器,以调用第二业务服务器将消费结果数据与日终文件进行对比,得到对比结果数据;根据对比结果数据,执行对应的数据处理策略。提高业务处理的效率和异步传输的数据传输的准确性。

Description

一种数据传输方法、装置、电子设备及计算机可读介质
技术领域
本申请涉及人工智能、人机交互技术领域,尤其涉及一种数据传输方法、装置、电子设备及计算机可读介质。
背景技术
目前,随着互联网的发展,计算机系统处理的数据日益增多,所有数据处理都使用同步方式进行处理虽然可以保证数据准确无误,但是缺点是传输效率较低,传输速度受到接收方处理速度和网络延迟等因素的影响。而异步传输是指数据传输时发送方和接收方可以异步操作,即在发送数据后不需要等待接收方的应答,可以继续发送下一段数据。异步传输的数据传输过程中可能会出现丢包或者数据错误等问题。
发明内容
有鉴于此,本申请实施例提供一种数据传输方法、装置、电子设备及计算机可读介质,能够解决现有的异步传输的数据传输过程中可能会出现丢包或者数据错误等的技术问题。
为实现上述目的,根据本申请实施例的一个方面,提供了一种数据传输方法,包括:
接收数据传输请求,获取对应的待传输数据,进而确定待传输数据的类型;
响应于类型为非实时数据,基于非实时数据生成异步任务,并将异步任务放入消息队列中;
调用第一业务服务器以调用线程消费消息队列中的异步任务,得到消费结果数据,进而推送消费结果数据至第二业务服务器;
响应于次日归档结束,生成对应的日终文件,发送日终文件至第二业务服务器,以调用第二业务服务器将消费结果数据与日终文件进行对比,得到对比结果数据;
根据对比结果数据,执行对应的数据处理策略。
可选地,推送消费结果数据至第二业务服务器,包括:
基于消费结果数据生成事件驱动架构消息,进而确定消费结果数据对应的事件驱动架构消息标识、消息发送系统标识和消息接收系统标识;
根据事件驱动架构消息标识、消息发送系统标识和消息接收系统标识,确定消息队列标识;
将事件驱动架构消息加入至消息队列标识对应的目标消息队列;
推送目标消息队列中的消息至第二业务服务器。
可选地,确定待传输数据的类型,包括:
获取待传输数据对应的数据延迟值;
响应于数据延迟值小于预设阈值,则确定对应的待传输数据为实时数据,响应于数据延迟值大于预设阈值,则确定对应的待传输数据为非实时数据。
可选地,基于非实时数据生成异步任务,包括:
调用业务流程节点,以根据对应的事务分割点对非实时数据进行事务分割,进而创建异步任务。
可选地,异步任务包含事务分割点对应的实时数据事务之后的待调度任务。
可选地,根据对比结果数据,执行对应的数据处理策略,包括:
响应于对比结果数据对应于数据一致,记录成功日志,并调用接口以向第一业务服务器发送处理完成的通知。
可选地,根据对比结果数据,执行对应的数据处理策略,包括:
响应于对比结果数据对应于文件条数不一致,确定缺失的数据;
基于缺失的数据,确定需要处理的数据并发送需要处理的数据至第一业务服务器;
接收第一业务服务器返回的处理结果数据,并基于处理结果数据更新日终文件。
可选地,根据对比结果数据,执行对应的数据处理策略,包括:
响应于对比结果对应于文件条数一致但处理结果不一致,使用日终文件的处理结果更新第二业务服务器的消费结果数据。
另外,本申请还提供了一种数据传输装置,包括:
接收单元,被配置成接收数据传输请求,获取对应的待传输数据,进而确定待传输数据的类型;
异步任务生成单元,被配置成响应于类型为非实时数据,基于非实时数据生成异步任务,并将异步任务放入消息队列中;
异步任务消费单元,被配置成调用第一业务服务器以调用线程消费消息队列中的异步任务,得到消费结果数据,进而推送消费结果数据至第二业务服务器;
对比单元,被配置成响应于次日归档结束,生成对应的日终文件,发送日终文件至第二业务服务器,以调用第二业务服务器将消费结果数据与日终文件进行对比,得到对比结果数据;
执行单元,被配置成根据对比结果数据,执行对应的数据处理策略。
可选地,异步任务消费单元进一步被配置成:
基于消费结果数据生成事件驱动架构消息,进而确定消费结果数据对应的事件驱动架构消息标识、消息发送系统标识和消息接收系统标识;
根据事件驱动架构消息标识、消息发送系统标识和消息接收系统标识,确定消息队列标识;
将事件驱动架构消息加入至消息队列标识对应的目标消息队列;
推送目标消息队列中的消息至第二业务服务器。
可选地,接收单元进一步被配置成:
获取待传输数据对应的数据延迟值;
响应于数据延迟值小于预设阈值,则确定对应的待传输数据为实时数据,响应于数据延迟值大于预设阈值,则确定对应的待传输数据为非实时数据。
可选地,异步任务生成单元进一步被配置成:
调用业务流程节点,以根据对应的事务分割点对非实时数据进行事务分割,进而创建异步任务。
可选地,异步任务包含事务分割点对应的实时数据事务之后的待调度任务。
可选地,执行单元进一步被配置成:
响应于对比结果数据对应于数据一致,记录成功日志,并调用接口以向第一业务服务器发送处理完成的通知。
可选地,执行单元进一步被配置成:
响应于对比结果数据对应于文件条数不一致,确定缺失的数据;
基于缺失的数据,确定需要处理的数据并发送需要处理的数据至第一业务服务器;
接收第一业务服务器返回的处理结果数据,并基于处理结果数据更新日终文件。
可选地,执行单元进一步被配置成:
响应于对比结果对应于文件条数一致但处理结果不一致,使用日终文件的处理结果更新第二业务服务器的消费结果数据。
另外,本申请还提供了一种数据传输电子设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当一个或多个程序被一个或多个处理器执行,使得一个或多个处理器实现如上述的数据传输方法。
另外,本申请还提供了一种计算机可读介质,其上存储有计算机程序,程序被处理器执行时实现如上述的数据传输方法。
为实现上述目的,根据本申请实施例的又一个方面,提供了一种计算机程序产品。
本申请实施例的一种计算机程序产品,包括计算机程序,程序被处理器执行时实现本申请实施例提供的数据传输方法。
上述发明中的一个实施例具有如下优点或有益效果:本申请通过接收数据传输请求,获取对应的待传输数据,进而确定待传输数据的类型;响应于类型为非实时数据,基于非实时数据生成异步任务,并将异步任务放入消息队列中;调用第一业务服务器以调用线程消费消息队列中的异步任务,得到消费结果数据,进而推送消费结果数据至第二业务服务器;响应于次日归档结束,生成对应的日终文件,发送日终文件至第二业务服务器,以调用第二业务服务器将消费结果数据与日终文件进行对比,得到对比结果数据;根据对比结果数据,执行对应的数据处理策略。既提高业务处理的效率,又可以保证异步数据的一致性,提高异步传输的数据传输的准确性。结合了消息队列、消息处理、日终文件同步的技术方案,保证了多消费者及时处理数据,并且异步发送消息,主服务器(即第二业务服务器)也异步处理数据,减少了服务器的压力。而日终文件则进行兜底,确保数据一致性。
上述的非惯用的可选方式所具有的进一步效果将在下文中结合具体实施方式加以说明。
附图说明
附图用于更好地理解本申请,不构成对本申请的不当限定。其中:
图1是根据本申请一个实施例的数据传输方法的主要流程的示意图;
图2是根据本申请一个实施例的数据传输方法的主要流程的示意图;
图3是根据本申请一个实施例的数据传输方法的主要流程示意图;
图4是根据本申请实施例的数据传输装置的主要单元的示意图;
图5是本申请实施例可以应用于其中的示例性系统架构图;
图6是适于用来实现本申请实施例的终端设备或服务器的计算机系统的结构示意图。
具体实施方式
以下结合附图对本申请的示范性实施例做出说明,其中包括本申请实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本申请的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。需要说明的是,本申请的技术方案中,所涉及的用户个人信息的采集、分析、使用、传输、存储等方面,均符合相关法律法规的规定,被用于合法且合理的用途,不在这些合法使用等方面之外共享、泄露或出售,并且接受监管部门的监督管理。应当对用户个人信息采取必要措施,以防止对此类个人信息数据的非法访问,确保有权访问个人信息数据的人员遵守相关法律法规的规定,确保用户个人信息安全。一旦不再需要这些用户个人信息数据,应当通过限制甚至禁止数据收集和/或删除数据的方式将风险降至最低。
当使用时,包括在某些相关应用程序中,通过对数据去标识来保护用户隐私,例如在使用时通过移除特定标识符、控制所存储数据的量或特异性、控制数据如何被存储、和/或其他方法去标识。
图1是根据本申请一个实施例的数据传输方法的主要流程的示意图,如图1所示,数据传输方法包括:
步骤S101,接收数据传输请求,获取对应的待传输数据,进而确定待传输数据的类型。
本实施例中,数据传输方法的执行主体(例如,可以是服务器)可以通过有线连接或无线连接的方式,接收数据传输请求。具体地,数据传输请求可以是跨系统对数据进行异步传输的请求。执行主体在接收到数据传输请求后,可以获取该请求对应的待传输数据。并可以根据待传输数据携带的标识或者待传输数据的来源等信息确定待传输数据的类型。
具体地,确定待传输数据的类型,包括:获取待传输数据对应的数据延迟值;响应于数据延迟值小于预设阈值,则确定对应的待传输数据为实时数据,响应于数据延迟值大于预设阈值,则确定对应的待传输数据为非实时数据。
示例的,实时数据低延迟(秒级、毫秒级),非实时数据高延迟(T+1),这里的T的单位可以为天或小时。预设阈值可以是N秒,本申请实施例对预设阈值不做具体限定。数据延迟值小于预设阈值的待传输数据为实时数据,数据延迟值大于预设阈值的待传输数据为非实时数据。
步骤S102,响应于类型为非实时数据,基于非实时数据生成异步任务,并将异步任务放入消息队列中。
对于非实时数据,可以基于非实时数据生成异步任务并使用区别于主线程的第二线程执行该异步任务。异步任务通过消息队列发送到第一业务服务器(例如图3中的服务器B)进行处理。
步骤S103,调用第一业务服务器以调用线程消费消息队列中的异步任务,得到消费结果数据,进而推送消费结果数据至第二业务服务器。
执行主体可以调用第一业务服务器(例如图3中的服务器B)调用区别于主线程的第二线程消费消息队列中的异步任务,即执行消息队列中的异步任务,以得到异步任务的消费结果数据。示例的,异步任务的消费结果数据可以是对异步任务对应的待传输数据进行传输的结果数据,例如传输成功或者传输失败。
具体地,推送消费结果数据至第二业务服务器,包括:基于消费结果数据生成事件驱动架构消息,进而确定消费结果数据对应的事件驱动架构消息标识、消息发送系统标识和消息接收系统标识;根据事件驱动架构消息标识、消息发送系统标识和消息接收系统标识,确定消息队列标识;将事件驱动架构消息加入至消息队列标识对应的目标消息队列;推送目标消息队列中的消息至第二业务服务器。
示例的,第二业务服务器,例如可以是图3中的主业务服务器A。
事件驱动架构消息,即为(Event Driven Architecture,EDA)消息。执行主体可以调用第一业务服务器(例如图3中的服务器B)基于对异步任务的消费结果数据生成EDA消息并同时生成对应的EDA消息标识(即事件驱动架构消息标识)。
执行主体可以进一步确定出待传输数据对应的消息发送系统标识(例如消息发送系统的编码或者名称)和消息接收系统标识(例如消息接收系统的编码或者名称),并结合EDA消息标识共同确定对应的目标消息队列标识,进而根据目标消息队列标识确定对应的目标消息队列。
在确定出目标消息队列后,执行主体可以将EDA消息数据(即事件驱动架构消息)加入至消息队列标识对应的目标消息队列。进而推送加入了EDA消息数据的目标消息队列至第二业务服务器(例如图3中的主业务服务器A)。这可以使在第一业务服务器(例如图3中的服务器B)产生EDA消息数据时及时将EDA消息数据加入目标消息队列,并推送至消息接收系统,例如图3中的主业务服务器A,提高跨系统之间数据同步的效率以及及时性。
步骤S104,响应于次日归档结束,生成对应的日终文件,发送日终文件至第二业务服务器,以调用第二业务服务器将消费结果数据与日终文件进行对比,得到对比结果数据。
第一业务服务器(例如图3中的服务器B)次日归档后返回日终文件到第二业务服务器(例如图3中的主业务服务器A):由于EDA消息具有发送方不清楚接收方是否已经处理的特点,因此需要以日终批量文件同步的形式,将第一业务服务器(例如图3中的服务器B)前一日处理的所有异步消息返回到第二业务服务器(例如图3中的主业务服务器A)进行对比,以得到对比结果数据。
步骤S105,根据对比结果数据,执行对应的数据处理策略。
具体地,根据对比结果数据,执行对应的数据处理策略,包括:响应于对比结果数据对应于数据一致,记录成功日志,并调用接口以向第一业务服务器发送处理完成的通知。
示例的,当对比结果数据为数据一致时,记录成功日志,调用接口通知第一业务服务器(例如图3中的服务器B)处理完成。
具体地,根据对比结果数据,执行对应的数据处理策略,包括:响应于对比结果对应于文件条数一致但处理结果不一致,使用日终文件的处理结果更新第二业务服务器的消费结果数据。
示例的,当对比结果对应于文件条数一致但处理结果不一致,即日终文件条数一致,但是处理结果数据与第二业务服务器(例如图3中的主业务服务器A)的数据不一致,原因可以是第二业务服务器(例如图3中的主业务服务器A)处理的某些EDA消息更新数据库异常,这时候需要使用日终文件的处理结果更新第二业务服务器(例如图3中的主业务服务器A)的数据,保证第二业务服务器(例如图3中的主业务服务器A)的数据与第一业务服务器(例如图3中的服务器B)的一致。
本实施例通过接收数据传输请求,获取对应的待传输数据,进而确定待传输数据的类型;响应于类型为非实时数据,基于非实时数据生成异步任务,并将异步任务放入消息队列中;调用第一业务服务器以调用线程消费消息队列中的异步任务,得到消费结果数据,进而推送消费结果数据至第二业务服务器;响应于次日归档结束,生成对应的日终文件,发送日终文件至第二业务服务器,以调用第二业务服务器将消费结果数据与日终文件进行对比,得到对比结果数据;根据对比结果数据,执行对应的数据处理策略。既提高业务处理的效率,又可以保证异步数据的一致性,提高异步传输的数据传输的准确性。结合了消息队列、消息处理、日终文件同步的技术方案,保证了多消费者及时处理数据,并且异步发送消息,主服务器(即第二业务服务器)也异步处理数据,减少了服务器的压力。而日终文件则进行兜底,确保数据一致性。
图2是根据本申请一个实施例的数据传输方法的主要流程示意图,如图2所示,数据传输方法包括:
步骤S201,接收数据传输请求,获取对应的待传输数据,进而确定待传输数据的类型。
步骤S202,响应于类型为非实时数据,调用业务流程节点,以根据对应的事务分割点对非实时数据进行事务分割,进而创建异步任务,并将异步任务放入消息队列中。
当待传输数据为非实时数据时,业务流程的节点配置有事务分割点,根据事务分割点,对非实时数据进行事务分割,以创建异步任务。将创建的异步任务放入消息队列中。
具体地,异步任务包含事务分割点对应的实时数据事务之后的待调度任务。
示例的,事务分割点可以为业务流程中多个数据操作的节点。事务分割点具体可以以时间为分割点,也可以以处理的事务的类型为分割点,其中,处理的事务的类型可以包括销售事务、供货事务、本地事务、共享事务等,本申请实施例对事务分割点的事务类型不做具体限定。
步骤S203,调用第一业务服务器以调用线程消费消息队列中的异步任务,得到消费结果数据,进而推送消费结果数据至第二业务服务器。
第一业务服务器,例如图3中的服务器B。第二业务服务器,例如可以是图3中的主业务服务器A。
步骤S204,响应于次日归档结束,生成对应的日终文件,发送日终文件至第二业务服务器,以调用第二业务服务器将消费结果数据与日终文件进行对比,得到对比结果数据。
步骤S205,响应于对比结果数据对应于文件条数不一致,确定缺失的数据。
示例的,当日终文件条数比第一业务服务器(例如图3中的服务器B)异步处理发送到第二业务服务器(例如图3中的主业务服务器A)的异步数据少,检查缺失的数据。
步骤S206,基于缺失的数据,确定需要处理的数据并发送需要处理的数据至第一业务服务器。
对于缺失的数据,第二业务服务器(例如图3中的主业务服务器A)通过接口实时发送需要处理的数据到第一业务服务器(例如图3中的服务器B)。
步骤S207,接收第一业务服务器返回的处理结果数据,并基于处理结果数据更新日终文件。
第二业务服务器(例如图3中的主业务服务器A)实时接收第一业务服务器(例如图3中的服务器B)返回的处理结果数据。并基于处理结果数据更新日终文件。
本申请实施例既提高业务处理的效率,又可以保证异步数据的一致性,提高异步传输的数据传输的准确性。结合了消息队列、消息处理、日终文件同步的技术方案,保证了多消费者及时处理数据,并且异步发送消息,主服务器(即第二业务服务器)也异步处理数据,减少了服务器的压力。而日终文件则进行兜底,确保数据一致性。.
图3是根据本申请一个实施例的数据传输方法的主要流程示意图。本申请实施例的数据传输方法,应用于跨系统对数据进行异步传输的场景。在本申请实施例中,客户端:客户端(Client)或称为用户端,是指与服务器相对应,为客户提供本地服务的程序。除了一些只在本地运行的应用程序之外,可以安装在普通的客户机上,需要与服务端互相配合运行。因特网发展以后,较常用的用户端包括了如万维网使用的网页浏览器,收寄电子邮件时的电子邮件客户端,以及即时通讯的客户端软件等。对于这一类应用程序,需要网络中有相应的服务器和服务程序来提供相应的服务,如数据库服务,电子邮件服务等等,这样在客户机和服务器端,需要建立特定的通信连接,来保证应用程序的正常运行。异步:与同步相对应,异步指的是让CPU暂时搁置当前请求的响应,处理下一个请求,当通过轮询或其他方式得到回调通知后,开始运行。多线程将异步操作放入另一线程中运行,通过轮询或回调方法得到完成通知,但是完成端口,由操作系统接管异步操作的调度,通过硬件中断,在完成时触发回调方法,此方式不需要占用额外线程。数据一致性:数据一致性通常指关联数据之间的逻辑关系是否正确和完整,而数据存储的一致性模型则可以认为是存储系统和数据使用者之间的一种约定,如果使用者遵循这种约定,则可以得到系统所承诺的访问结果。
在本申请实施例中,图3中的服务器B即第一业务服务器,图3中的主业务服务器A即第二业务服务器。如图3所示,首先对业务流程进行分割。对于一个业务流程,有多个数据操作的节点,可以使用BPM系统即业务流程管理系统,是指对端到端业务流程进行建模、分析和优化,对于业务流程进行建模,识别出实时数据与非实时数据。
实时数据需要实时发送到主业务服务器A进行处理,主业务服务器A处理后返回给客户端完成对应的业务。
对于非实时数据,可以使用第二线程执行异步任务,异步任务通过消息队列发送到服务器B进行处理,服务器B处理后使用EDA消息(Event Driven Architecture,EDA,事件驱动架构)返回给主业务服务器A,再按需返回到客户端或者由客户端向主业务服务器A发起查询。同时,服务器B日终检索当天处理的异步任务,次日凌晨归档后以文件形式传输到主业务服务器A。主业务服务器A对比前一日发送的异步数据与服务器B日终处理的数据,对比两个服务器之间处理的数据量是否一致,数据内容是否一致。
识别业务流程实时数据与非实时数据的方式:使用BPM系统即业务流程管理系统,是指对端到端业务流程进行建模、分析和优化,对于业务流程进行建模,识别出实时数据与非实时数据。确定业务流程的节点配置有事务分割点,根据事务分割点,创建异步任务,异步任务包含事务分割点实时数据事务之后的待调度任务。
主业务服务器A处理实时数据,并实时返回给客户端,确保了这一部分数据传输准确性和可靠性。
将非实时数据发送到服务器B:将异步任务放入Kafka消息队列中。Kafka是一个基于分布式的发布订阅模式的消息队列,Kafka是分布式部署在集群上。发布\订阅模式有一个主题的概念,生产者定义主题,将消息存放在相应的主题中,消费者订阅主题,从该主题中获取数据进行消费,如图该模式下,允许多个消费者订阅同一主题,主题中的每个消息可由多个消费者进行消费,即:消息与消费者之间是一对多的。发布\订阅模式中,Topic:主题,就是一个消息队列,一个Kafka集群上运行着多个主题,也就是多个消息队列。Partition:分区,为了增强可扩展性,提高吞吐量,引入了分区,一个主题可以被分成多个分区,每个分区运行在集群的一个节点上。leader:每个节点可能同时存在多个主题的分区,为了增强集群的高可用,为每个主题的分区都提供了副本,一个分区可以有多个副本,但只有一个能被选为leader,被选为leader的分区对外提供服务,即生产者只将数据存放在leader中,消费者只从leader中获取数据。follew:leader的副本,一般情况下只将leader中的数据进行同步,当leader挂掉了,有重新选择一个副本作为leader,对外服务,目的提高系统的可用性。CG:消费者组,逻辑意义上的消费者,一个消费者组中有多个消费者,这些消费者订阅了同一个主题,也可能订阅不同的主题,每个消费者消费不同分区的数据,一个分区只能被一个消费者消费,消费者组之间互不影响。采用Kafka的优点是①解耦:允许独立的扩展或修改两边的处理过程,只要确保它们遵守同样的接口约束。②可恢复性:系统的一部分组件失效时,不会影响到整个系统。消息队列降低了进程间的耦合度,所以即使一个处理消息的进程挂掉,加入队列中的消息仍然可以在系统恢复后被处理。③缓冲:有助于控制和优化数据流经过系统的速度,解决生产消息和消费消息的处理速度不一致的情况。④灵活性&峰值处理能力:在访问量剧增的情况下,应用仍然需要继续发挥作用,但是这样的突发流量并不常见。如果为以能处理这类峰值访问为标准来投入资源随时待命无疑是巨大的浪费。使用消息队列能够使关键组件顶住突发的访问压力,而不会因为突发的超负荷的请求而完全崩溃。⑤异步通信:很多时候,用户不想也不需要立即处理消息。消息队列提供了异步处理机制,允许用户把一个消息放入队列,但并不立即处理它。想向队列中放入多少消息就放多少,然后在需要的时候再去处理它们。
服务器B处理异步数据,服务器B处理异步数据后通过EDA消息返回给主服务器A。服务器B基于处理异步数据的结果,根据EDA消息标识、消息发送系统标识、以及消息接收系统标识,确定消息队列标识,并将EDA消息数据加入至消息队列标识对应的消息队列,推送消息队列中的EDA消息数据至主业务服务器A。这可以使服务器B产生EDA消息数据时及时将EDA消息数据加入消息队列,并推送至消息接收系统(例如主业务服务器A),提高跨系统之间数据同步的效率以及及时性。
服务器B次日归档后返回日终文件到主业务服务器A。系统间(例如服务器B与主业务服务器A)定义日终文件的名称、格式,根据文件名称、格式需求,通过文件生成器,对异步任务处理结果进行归档生成符合要求的日终文件,服务器B将日终文件放入指定路径,主业务服务器A在对应目录找到日终文件,主业务服务器A完成日终文件处理并通过接口通知B处理结果。
通过应用以上技术方案,可以既提高业务处理的效率,又可以保证异步数据的一致性。结合同步数据传输和异步数据传输的方式,使用多种方式实现异步数据准实时传输并确保数据的一致性。本申请实施例的数据传输方法结合了Kafka消息队列、EDA消息处理、日终文件同步的技术方案,保证了多消费者及时处理数据,并且异步发送EDA消息,主服务器也异步处理数据,减少了服务器的压力。而日终文件则进行兜底,确保数据一致性。
由于EDA消息具有发送方不清楚接收方是否已经处理的特点,因此需要以日终批量文件同步的形式,将服务器B前一日处理的所有异步消息返回到主业务服务器A进行对比。其中,对比会出现以下三种结果:(1)数据一致:记录成功日志,调用接口通知系统B处理完成。(2)数据不一致(部分缺失):日终文件条数比服务器B异步处理发送到主业务服务器A的异步数据少,检查缺失的数据,对于缺失的数据,主业务服务器A通过接口实时发送需要处理的数据到服务器B,服务器B实时返回处理结果到主业务服务器A。(3)数据不一致:日终文件条数一致,但是处理结果与主业务服务器A的数据不一致,原因可以是主业务服务器A处理的某些EDA消息更新数据库异常,这时候需要使用日终文件的处理结果更新主业务服务器A的数据,保证主业务服务器A的数据与服务器B的一致。
图4是根据本申请实施例的数据传输装置的主要单元的示意图。如图4所示,数据传输装置400包括接收单元401、异步任务生成单元402、异步任务消费单元403、对比单元404和执行单元405。
接收单元401,被配置成接收数据传输请求,获取对应的待传输数据,进而确定待传输数据的类型。
异步任务生成单元402,被配置成响应于类型为非实时数据,基于非实时数据生成异步任务,并将异步任务放入消息队列中。
异步任务消费单元403,被配置成调用第一业务服务器以调用线程消费消息队列中的异步任务,得到消费结果数据,进而推送消费结果数据至第二业务服务器。
对比单元404,被配置成响应于次日归档结束,生成对应的日终文件,发送日终文件至第二业务服务器,以调用第二业务服务器将消费结果数据与日终文件进行对比,得到对比结果数据。
执行单元405,被配置成根据对比结果数据,执行对应的数据处理策略。
在一些实施例中,异步任务消费单元403进一步被配置成:基于消费结果数据生成事件驱动架构消息,进而确定消费结果数据对应的事件驱动架构消息标识、消息发送系统标识和消息接收系统标识;根据事件驱动架构消息标识、消息发送系统标识和消息接收系统标识,确定消息队列标识;将事件驱动架构消息加入至消息队列标识对应的目标消息队列;推送目标消息队列中的消息至第二业务服务器。
在一些实施例中,接收单元401进一步被配置成:获取待传输数据对应的数据延迟值;响应于数据延迟值小于预设阈值,则确定对应的待传输数据为实时数据,响应于数据延迟值大于预设阈值,则确定对应的待传输数据为非实时数据。
在一些实施例中,异步任务生成单元402进一步被配置成:调用业务流程节点,以根据对应的事务分割点对非实时数据进行事务分割,进而创建异步任务。
在一些实施例中,异步任务包含事务分割点对应的实时数据事务之后的待调度任务。
在一些实施例中,执行单元405进一步被配置成:响应于对比结果数据对应于数据一致,记录成功日志,并调用接口以向第一业务服务器发送处理完成的通知。
在一些实施例中,执行单元405进一步被配置成:响应于对比结果数据对应于文件条数不一致,确定缺失的数据;基于缺失的数据,确定需要处理的数据并发送需要处理的数据至第一业务服务器;接收第一业务服务器返回的处理结果数据,并基于处理结果数据更新日终文件。
在一些实施例中,执行单元405进一步被配置成:响应于对比结果对应于文件条数一致但处理结果不一致,使用日终文件的处理结果更新第二业务服务器的消费结果数据。
需要说明的是,本申请的数据传输方法和数据传输装置在具体实施内容上具有相应关系,故重复内容不再说明。
图5示出了可以应用本申请实施例的数据传输方法或数据传输装置的示例性系统架构500。
如图5所示,系统架构500可以包括终端设备501、502、503,网络504和服务器505。网络504用以在终端设备501、502、503和服务器505之间提供通信链路的介质。网络504可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用终端设备501、502、503通过网络504与服务器505交互,以接收或发送消息等。终端设备501、502、503上可以安装有各种通讯客户端应用,例如购物类应用、网页浏览器应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等(仅为示例)。
终端设备501、502、503可以是具有数据传输处理屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。
服务器505可以是提供各种服务的服务器,例如对用户利用终端设备501、502、503所提交的数据传输请求提供支持的后台管理服务器(仅为示例)。后台管理服务器可以接收数据传输请求,获取对应的待传输数据,进而确定待传输数据的类型;响应于类型为非实时数据,基于非实时数据生成异步任务,并将异步任务放入消息队列中;调用第一业务服务器以调用线程消费消息队列中的异步任务,得到消费结果数据,进而推送消费结果数据至第二业务服务器;响应于次日归档结束,生成对应的日终文件,发送日终文件至第二业务服务器,以调用第二业务服务器将消费结果数据与日终文件进行对比,得到对比结果数据;根据对比结果数据,执行对应的数据处理策略。既提高业务处理的效率,又可以保证异步数据的一致性,提高异步传输的数据传输的准确性。结合了消息队列、消息处理、日终文件同步的技术方案,保证了多消费者及时处理数据,并且异步发送消息,主服务器(即第二业务服务器)也异步处理数据,减少了服务器的压力。而日终文件则进行兜底,确保数据一致性。
需要说明的是,本申请实施例所提供的数据传输方法一般由服务器505执行,相应地,数据传输装置一般设置于服务器505中。
应该理解,图5中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
下面参考图6,其示出了适于用来实现本申请实施例的终端设备的计算机系统600的结构示意图。图6示出的终端设备仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
如图6所示,计算机系统600包括中央处理单元(CPU)601,其可以根据存储在只读存储器(ROM)602中的程序或者从存储部分608加载到随机访问存储器(RAM)603中的程序而执行各种适当的动作和处理。在RAM603中,还存储有计算机系统600操作所需的各种程序和数据。CPU601、ROM602以及RAM603通过总线604彼此相连。输入/输出(I/O)接口605也连接至总线604。
以下部件连接至I/O接口605:包括键盘、鼠标等的输入部分606;包括诸如阴极射线管(CRT)、液晶征信授权查询处理器(LCD)等以及扬声器等的输出部分607;包括硬盘等的存储部分608;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分609。通信部分609经由诸如因特网的网络执行通信处理。驱动器610也根据需要连接至I/O接口605。可拆卸介质611,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器610上,以便于从其上读出的计算机程序根据需要被安装入存储部分608。
特别地,根据本申请公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本申请公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分609从网络上被下载和安装,和/或从可拆卸介质611被安装。在该计算机程序被中央处理单元(CPU)601执行时,执行本申请的系统中限定的上述功能。
需要说明的是,本申请所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以包括但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本申请中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本申请中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本申请各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本申请实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元也可以设置在处理器中,例如,可以描述为:一种处理器包括接收单元、异步任务生成单元、异步任务消费单元、对比单元和执行单元。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定。
作为另一方面,本申请还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的设备中所包含的;也可以是单独存在,而未装配入该设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该设备执行时,使得该设备接收数据传输请求,获取对应的待传输数据,进而确定待传输数据的类型;响应于类型为非实时数据,基于非实时数据生成异步任务,并将异步任务放入消息队列中;调用第一业务服务器以调用线程消费消息队列中的异步任务,得到消费结果数据,进而推送消费结果数据至第二业务服务器;响应于次日归档结束,生成对应的日终文件,发送日终文件至第二业务服务器,以调用第二业务服务器将消费结果数据与日终文件进行对比,得到对比结果数据;根据对比结果数据,执行对应的数据处理策略。
本申请的计算机程序产品,包括计算机程序,计算机程序在被处理器执行时实现本申请实施例中的数据传输方法。
根据本申请实施例的技术方案,既可以提高业务处理的效率,又可以保证异步数据的一致性,可以提高异步传输的数据传输的准确性。结合了消息队列、消息处理、日终文件同步的技术方案,保证了多消费者及时处理数据,并且异步发送消息,主服务器(即第二业务服务器)也异步处理数据,减少了服务器的压力。而日终文件则进行兜底,确保数据一致性。
上述具体实施方式,并不构成对本申请保护范围的限制。本领域技术人员应该明白的是,取决于设计要求和其他因素,可以发生各种各样的修改、组合、子组合和替代。任何在本申请的精神和原则之内所作的修改、等同替换和改进等,均应包含在本申请保护范围之内。

Claims (16)

1.一种数据传输方法,其特征在于,包括:
接收数据传输请求,获取对应的待传输数据,进而确定所述待传输数据的类型;
响应于所述类型为非实时数据,基于所述非实时数据生成异步任务,并将所述异步任务放入消息队列中;
调用第一业务服务器以调用线程消费所述消息队列中的异步任务,得到消费结果数据,进而推送所述消费结果数据至第二业务服务器;
响应于次日归档结束,生成对应的日终文件,发送所述日终文件至第二业务服务器,以调用所述第二业务服务器将所述消费结果数据与所述日终文件进行对比,得到对比结果数据;
根据所述对比结果数据,执行对应的数据处理策略。
2.根据权利要求1所述的方法,其特征在于,所述推送所述消费结果数据至第二业务服务器,包括:
基于所述消费结果数据生成事件驱动架构消息,进而确定所述消费结果数据对应的事件驱动架构消息标识、消息发送系统标识和消息接收系统标识;
根据所述事件驱动架构消息标识、所述消息发送系统标识和所述消息接收系统标识,确定消息队列标识;
将所述事件驱动架构消息加入至所述消息队列标识对应的目标消息队列;
推送所述目标消息队列中的消息至第二业务服务器。
3.根据权利要求1所述的方法,其特征在于,所述确定所述待传输数据的类型,包括:
获取所述待传输数据对应的数据延迟值;
响应于所述数据延迟值小于预设阈值,则确定对应的待传输数据为实时数据,响应于所述数据延迟值大于预设阈值,则确定对应的待传输数据为非实时数据。
4.根据权利要求1所述的方法,其特征在于,所述基于所述非实时数据生成异步任务,包括:
调用业务流程节点,以根据对应的事务分割点对所述非实时数据进行事务分割,进而创建异步任务。
5.根据权利要求4所述的方法,其特征在于,所述异步任务包含所述事务分割点对应的实时数据事务之后的待调度任务。
6.根据权利要求1所述的方法,其特征在于,所述根据所述对比结果数据,执行对应的数据处理策略,包括:
响应于所述对比结果数据对应于数据一致,记录成功日志,并调用接口以向所述第一业务服务器发送处理完成的通知。
7.根据权利要求1所述的方法,其特征在于,所述根据所述对比结果数据,执行对应的数据处理策略,包括:
响应于所述对比结果数据对应于文件条数不一致,确定缺失的数据;
基于所述缺失的数据,确定需要处理的数据并发送所述需要处理的数据至所述第一业务服务器;
接收所述第一业务服务器返回的处理结果数据,并基于所述处理结果数据更新所述日终文件。
8.根据权利要求1所述的方法,其特征在于,所述根据所述对比结果数据,执行对应的数据处理策略,包括:
响应于所述对比结果对应于文件条数一致但处理结果不一致,使用所述日终文件的处理结果更新所述第二业务服务器的所述消费结果数据。
9.一种数据传输装置,其特征在于,包括:
接收单元,被配置成接收数据传输请求,获取对应的待传输数据,进而确定所述待传输数据的类型;
异步任务生成单元,被配置成响应于所述类型为非实时数据,基于所述非实时数据生成异步任务,并将所述异步任务放入消息队列中;
异步任务消费单元,被配置成调用第一业务服务器以调用线程消费所述消息队列中的异步任务,得到消费结果数据,进而推送所述消费结果数据至第二业务服务器;
对比单元,被配置成响应于次日归档结束,生成对应的日终文件,发送所述日终文件至第二业务服务器,以调用所述第二业务服务器将所述消费结果数据与所述日终文件进行对比,得到对比结果数据;
执行单元,被配置成根据所述对比结果数据,执行对应的数据处理策略。
10.根据权利要求9所述的装置,其特征在于,所述异步任务消费单元进一步被配置成:
基于所述消费结果数据生成事件驱动架构消息,进而确定所述消费结果数据对应的事件驱动架构消息标识、消息发送系统标识和消息接收系统标识;
根据所述事件驱动架构消息标识、所述消息发送系统标识和所述消息接收系统标识,确定消息队列标识;
将所述事件驱动架构消息加入至所述消息队列标识对应的目标消息队列;
推送所述目标消息队列中的消息至第二业务服务器。
11.根据权利要求9所述的装置,其特征在于,所述接收单元进一步被配置成:
获取所述待传输数据对应的数据延迟值;
响应于所述数据延迟值小于预设阈值,则确定对应的待传输数据为实时数据,响应于所述数据延迟值大于预设阈值,则确定对应的待传输数据为非实时数据。
12.根据权利要求9所述的装置,其特征在于,所述异步任务生成单元进一步被配置成:
调用业务流程节点,以根据对应的事务分割点对所述非实时数据进行事务分割,进而创建异步任务。
13.根据权利要求12所述的装置,其特征在于,所述异步任务包含所述事务分割点对应的实时数据事务之后的待调度任务。
14.一种数据传输电子设备,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-8中任一项所述的方法。
15.一种计算机可读介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求1-8中任一项所述的方法。
16.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-8中任一项所述的方法。
CN202311598923.7A 2023-11-28 2023-11-28 一种数据传输方法、装置、电子设备及计算机可读介质 Pending CN117950850A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311598923.7A CN117950850A (zh) 2023-11-28 2023-11-28 一种数据传输方法、装置、电子设备及计算机可读介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311598923.7A CN117950850A (zh) 2023-11-28 2023-11-28 一种数据传输方法、装置、电子设备及计算机可读介质

Publications (1)

Publication Number Publication Date
CN117950850A true CN117950850A (zh) 2024-04-30

Family

ID=90802577

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311598923.7A Pending CN117950850A (zh) 2023-11-28 2023-11-28 一种数据传输方法、装置、电子设备及计算机可读介质

Country Status (1)

Country Link
CN (1) CN117950850A (zh)

Similar Documents

Publication Publication Date Title
CN108629029B (zh) 一种应用于数据仓库的数据处理方法和装置
CN109245908B (zh) 一种主从集群切换的方法和装置
CN110858194A (zh) 一种数据库扩容的方法和装置
CN113127564B (zh) 一种参数同步方法和装置
CN112685499A (zh) 一种工作业务流的流程数据同步方法、装置及设备
CN113282611A (zh) 一种流数据同步的方法、装置、计算机设备及存储介质
WO2022257604A1 (zh) 一种用户标签的确定方法和装置
CN116303608A (zh) 一种应用服务的数据处理方法和装置
CN110321252B (zh) 一种技能服务资源调度的方法和装置
CN113127225A (zh) 一种数据处理任务的调度方法、装置和系统
WO2024103898A1 (zh) 数据库集群管理的方法和装置
CN113760924B (zh) 一种分布式事务的处理方法和装置
CN113760498A (zh) 消息消费方法、装置、电子设备和计算机可读介质
CN113672671A (zh) 一种实现数据加工的方法和装置
CN116383207A (zh) 一种数据标签管理方法、装置、电子设备和存储介质
CN111984686A (zh) 一种数据处理的方法和装置
CN115454666A (zh) 消息队列集群间的数据同步方法和装置
CN115525717A (zh) 一种数据同步处理方法及装置
CN115629909A (zh) 业务数据处理的方法、装置、电子设备和存储介质
CN117950850A (zh) 一种数据传输方法、装置、电子设备及计算机可读介质
CN114756301A (zh) 日志处理方法、装置和系统
CN113760487A (zh) 一种业务处理方法和装置
CN112749204A (zh) 一种读取数据的方法和装置
CN112732728A (zh) 一种数据同步方法和系统
CN111459981A (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