CN112860443A - 文件数据分发方法、系统 - Google Patents

文件数据分发方法、系统 Download PDF

Info

Publication number
CN112860443A
CN112860443A CN202110440682.8A CN202110440682A CN112860443A CN 112860443 A CN112860443 A CN 112860443A CN 202110440682 A CN202110440682 A CN 202110440682A CN 112860443 A CN112860443 A CN 112860443A
Authority
CN
China
Prior art keywords
receiving
receiving end
sending
file data
data block
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.)
Granted
Application number
CN202110440682.8A
Other languages
English (en)
Other versions
CN112860443B (zh
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.)
Huarui distributed technology (Changsha) Co., Ltd
Shenzhen Huarui Distributed Technology Co.,Ltd.
Original Assignee
Huarui Distributed Technology Changsha Co ltd
Shenzhen Archforce Financial 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 Huarui Distributed Technology Changsha Co ltd, Shenzhen Archforce Financial Technology Co Ltd filed Critical Huarui Distributed Technology Changsha Co ltd
Priority to CN202110440682.8A priority Critical patent/CN112860443B/zh
Publication of CN112860443A publication Critical patent/CN112860443A/zh
Application granted granted Critical
Publication of CN112860443B publication Critical patent/CN112860443B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/546Message passing systems or structures, e.g. queues
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/0654Management of faults, events, alarms or notifications using network fault recovery
    • H04L41/0668Management of faults, events, alarms or notifications using network fault recovery by dynamic selection of recovery network elements, e.g. replacement by the most appropriate element after failure
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)
  • Computer And Data Communications (AREA)

Abstract

本申请涉及一种文件数据分发方法、系统。方法包括:发送端获取接收端列表,并确定接收端列表中与发送端距离最近的目标接收端;接收端列表中的接收端是按照与发送端之间的距离排列的;发送端将待发送的文件数据块从发送端内核缓冲区复制到发送端网络层缓冲区,将发送端网络层缓冲区中的文件数据块发送至目标接收端,并存储于接收端内核缓冲区;目标接收端将文件数据块从接收端内核缓冲区复制到接收端网络层缓冲区,将接收端网络层缓冲区中的文件数据块发送至接收端列表中与发送端距离次近的接收端,直至各接收端均收到文件数据块。采用本方法能够提高文件数据分发的效率。

Description

文件数据分发方法、系统
技术领域
本申请涉及计算机技术领域,特别是涉及一种文件数据分发方法、系统。
背景技术
随着计算机技术的发展,为了提高数据中心的安全性,通常在两个地域部署三个数据中心,例如,在地域A部署主数据中心和备数据中心,以实现数据中心级的故障切换;在地域B部署灾备数据中心,以实现异地容灾切换。
当需要从部署在主数据中心的发送端向多个部署在主数据中心或其他数据中心的接收端发送文件数据时,传统方法中,发送端使用linux脚本scp命令逐个向接收端分发文件数据或并行的同时向多个接收端分发文件数据,分发文件数据的速度受限于发送端的网络带宽,效率较低。并且发送端通过scp命令向接收端发送文件数据时,需要多次将文件数据在用户空间和内核空间中来回复制,复制过程占用了较多的CPU资源,发送效率较低。
发明内容
基于此,有必要针对上述技术问题,提供一种能够提高数据分发效率的文件数据分发方法、系统。
一种文件数据分发方法,所述方法包括:
发送端获取接收端列表,并确定所述接收端列表中与所述发送端距离最近的目标接收端;所述接收端列表中的接收端是按照与所述发送端之间的距离排列的;
所述发送端将待发送的文件数据块从发送端内核缓冲区复制到发送端网络层缓冲区,将所述发送端网络层缓冲区中的文件数据块发送至所述目标接收端,并存储于接收端内核缓冲区;
所述目标接收端将所述文件数据块从所述接收端内核缓冲区复制到接收端网络层缓冲区,将所述接收端网络层缓冲区中的文件数据块发送至所述接收端列表中与所述发送端距离次近的接收端,直至各接收端均收到所述文件数据块。
在一个实施例中,所述发送端获取接收端列表包括:
当接收到数据分发请求时,从所述数据分发请求中提取排序前接收端列表;
分别向所述排序前接收端列表中各接收端发送网络探测命令;
当接收到各接收端响应于所述网络探测命令返回的响应命令时,分别获取各所述接收端返回所述响应命令的响应时间;
根据所述响应时间对各所述接收端进行排序,得到所述接收端列表。
在一个实施例中,所述发送端与所述接收端列表中各接收端上均部署了对应的代理程序;
所述将所述发送端网络层缓冲区中的文件数据块发送至所述目标接收端包括:
通过部署在所述发送端上的代理程序将所述发送端网络层缓冲区中的文件数据块发送至部署在所述目标接收端上的代理程序;
所述将所述接收端网络层缓冲区中的文件数据块发送至所述接收端列表中与所述发送端距离次近的接收端包括:
通过部署在所述目标接收端上的代理程序将所述接收端网络层缓冲区中的文件数据块发送至与所述发送端距离次近的接收端上部署的代理程序。
在一个实施例中,所述接收端列表中接收端部署于主数据中心;所述发送端获取接收端列表之后,所述方法还包括:
当所述主数据中心发生故障时,所述发送端将所述接收端列表中接收端替换为部署于备数据中心的接收端,并与替换后的接收端列表中各接收端建立网络连接;
当所述主数据中心与所述备数据中心均发生故障时,所述发送端将所述接收端列表中接收端替换为部署于灾备数据中心的接收端,并与替换后的接收端列表中各接收端建立网络连接;
在一个实施例中,所述方法还包括:
当所述接收端列表中的末尾接收端接收到全部文件数据块时,向前一接收端反馈接收成功信息;
对于所述接收端列表中除所述末尾接收端及所述目标接收端之外的接收端,当接收到所述接收端列表中的所有后继接收端反馈的接收成功信息时,将所有后继接收端反馈的接收成功信息与自身产生的接收成功信息一起发送至前一接收端;
当所述目标接收端接收到所有后继接收端反馈的接收成功信息时,将所有后继接收端反馈的接收成功信息与自身产生的接收成功信息一起发送至所述发送端。
在一个实施例中,所述待发送的文件数据块为在存入所述内核缓冲区之前,对原始数据块进行压缩所得;所述对原始数据块进行压缩包括:
针对每个所述原始数据块,发送端创建对应的数据块压缩任务,并将所述数据块压缩任务添加至任务处理队列;
所述发送端通过多个线程并发执行所述任务处理队列中的数据块压缩任务,以对所述原始数据块进行压缩。
一种文件数据分发系统,所述系统包括:
发送端,用于获取接收端列表,并确定所述接收端列表中与所述发送端距离最近的目标接收端;所述接收端列表中的接收端是按照与所述发送端之间的距离排列的;
所述发送端,还用于将待发送的文件数据块从发送端内核缓冲区复制到发送端网络层缓冲区,将所述发送端网络层缓冲区中的文件数据块发送至所述目标接收端,并存储于接收端内核缓冲区;
所述目标接收端,用于将所述文件数据块从所述接收端内核缓冲区复制到接收端网络层缓冲区,将所述接收端网络层缓冲区中的文件数据块发送至所述接收端列表中与所述发送端距离次近的接收端,直至各接收端均收到所述文件数据块。
在一个实施例中,所述发送端还用于:
当接收到数据分发请求时,从所述数据分发请求中提取排序前接收端列表;
分别向所述排序前接收端列表中各接收端发送网络探测命令;
当接收到各接收端响应于所述网络探测命令返回的响应命令时,分别获取各所述接收端返回所述响应命令的响应时间;
根据所述响应时间对各所述接收端进行排序,得到所述接收端列表。
在一个实施例中,所述发送端与所述接收端列表中各接收端上均部署了对应的代理程序;
所述发送端,还用于:
通过部署在所述发送端上的代理程序将所述发送端网络层缓冲区中的文件数据块发送至部署在所述目标接收端上的代理程序;
所述将所述接收端网络层缓冲区中的文件数据块发送至所述接收端列表中与所述发送端距离次近的接收端包括:
通过部署在所述目标接收端上的代理程序将所述接收端网络层缓冲区中的文件数据块发送至与所述发送端距离次近的接收端上部署的代理程序。
在一个实施例中,所述系统还包括:
所述发送端,当所述主数据中心发生故障时,还用于将所述接收端列表中接收端替换为部署于备数据中心的接收端,并与替换后的接收端列表中各接收端建立网络连接;
当所述主数据中心与所述备数据中心均发生故障时,还用于将所述接收端列表中接收端替换为部署于灾备数据中心的接收端,并与替换后的接收端列表中各接收端建立网络连接;
在一个实施例中,所述系统还包括:与所述发送端距离最远的末尾接收端以及除所述末尾接收端和所述目标接收端之外的中间接收端;
所述末尾接收端,当接收到全部文件数据块时,用于向前一接收端反馈接收成功信息;
所述中间接收端,当接收到所述接收端列表中的所有后继接收端反馈的接收成功信息时,用于将所有后继接收端反馈的接收成功信息与自身产生的接收成功信息一起发送至前一接收端;
所述目标接收端,当接收到所有后继接收端反馈的接收成功信息时,用于将所有后继接收端反馈的接收成功信息与自身产生的接收成功信息一起发送至所述发送端。
在一个实施例中,所述待发送的文件数据块为在存入所述内核缓冲区之前,对原始数据块进行压缩所得;所述发送端,还用于:
针对每个所述原始数据块,发送端创建对应的数据块压缩任务,并将所述数据块压缩任务添加至任务处理队列;
所述发送端通过多个线程并发执行所述任务处理队列中的数据块压缩任务,以对所述原始数据块进行压缩。
上述实施例中,发送端将待发送的文件数据块从发送端内核缓冲区复制到发送端网络层缓冲区,并将发送端网络层缓冲区中的文件数据块发送至距离发送端最近的目标接收端,并存储于目标接收端中的接收端内核缓冲区。目标接收端将文件数据块从接收端内核缓冲区复制到接收端网络层缓冲区,并将接收端网络层缓冲区中的文件数据块发送至接收端列表中与发送端距离次近的接收端,直至各接收端均收到文件数据块。基于网络连接的全双工特性,各个接收端在接收文件数据块时,可以同时向相邻的后一接收端发送已经收到的文件数据块,不需要依赖于发送端逐个向所有的接收端分发文件数据块,节省了文件分发的时间。并且由于发送端内核缓冲区、发送端网络层缓冲区、接收端内核缓冲区、接收端网络层缓冲区均存在于内核空间,发送端和各接收端在发送文件数据块时,不需要将文件数据块在内核空间和用户空间之间来回复制,降低了CPU的资源使用率,进一步提升了文件数据的分发效率。
附图说明
图1为一个实施例中文件数据分发方法的应用环境图;
图2为一个实施例中文件数据分发方法的流程示意图;
图3为一个实施例中文件数据分发方法的原理示意图;
图4为一个实施例中发送端获取接收端列表方法的流程示意图;
图5为一个实施例中分布式系统中文件数据分发方法的示意图;
图6为一个实施例中代理程序向发送端反馈接收成功信息的示意图;
图7为一个实施例中文件数据分发系统的结构框图;
图8为另一个实施例中文件数据分发系统的结构框图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请提供的文件数据分发方法,可以应用于如图1所示的应用环境中。其中,发送端102通过网络与距离最近的目标接收端104进行通信,目标接收端104可以和与发送端距离次近的接收端106进行通信。发送端102获取接收端列表,并确定接收端列表中与发送端102距离最近的目标接收端104;接收端列表中的接收端是按照与发送端之间的距离排列的;发送端102将待发送的文件数据块从发送端内核缓冲区复制到发送端网络层缓冲区,将发送端网络层缓冲区中的文件数据块发送至目标接收端104,并存储于接收端内核缓冲区;目标接收端104将文件数据块从接收端内核缓冲区复制到接收端网络层缓冲区,将接收端网络层缓冲区中的文件数据块发送至接收端列表中与发送端距离次近的接收端106,发送端与各接收端按照链式传递的方式依次转发各文件数据块,直至各接收端均收到全部文件数据块。其中,发送端102以及目标接收端104、与发送端距离次近的接收端106为计算机设备,计算机设备可以是终端,也可以是服务器,终端可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备,服务器可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
在一个实施例中,如图2所示,提供了一种文件数据分发方法,以该方法应用于图1中的发送端和各接收端为例进行说明,包括以下步骤:
S202,发送端获取接收端列表,并确定接收端列表中与发送端距离最近的目标接收端;接收端列表中的接收端是按照与发送端之间的距离排列的。
其中,接收端列表中包括多个接收端以及各接收端对应的网络地址,网络地址可以是IP地址。接收端列表中的接收端是按照与发送端之间的距离排列的。其中,目标接收端可以与发送端处于同一地域,也可以与发送端处于不同的地域。
在一个实施例中,发送端向各个接收端发送网络探测命令,根据各个接收端对网络探测命令的响应时间确定发送端与各个接收端之间的距离。在另一个实施例中,发送端根据部署发送端和接收端时记录的信息确定发送端与各个接收端之间的距离。记录的信息包括发送端与接收端所连接的交换机,所处的机房以及所处的地域。与发送端距离最近的接收端是与发送端连接在同一交换机上的接收端,距离发送端次近的接收端与发送端处于同一机房,但未与发送端连接在同一交换机上,再次是与发送端处于同一地域,但未与发送端处于同一机房的接收端,距离发送端最远的接收端是与发送端处于不同地域的接收端。
在一个实施例中,客户端向发送端发送数据分发请求,数据分发请求中包括各个接收端的网络地址,发送端根据各个接收端的网络地址生成接收端列表,接收端列表中包括各个接收端的编号及网络地址。
S204,发送端将待发送的文件数据块从发送端内核缓冲区复制到发送端网络层缓冲区,将发送端网络层缓冲区中的文件数据块发送至目标接收端,并存储于接收端内核缓冲区。
其中,待发送的文件数据块是对文件数据进行分块后得到的多个数据块。文件数据例如可以是应用程序的安装文件或者是多媒体数据等需分发至各个接收端的文件。在一个实施例中,发送端的应用程序生成文件数据块后,将文件数据块存入用户空间,操作系统从用户空间读取文件数据块并存入发送端内核缓冲区。用户空间是用户的应用程序运行的虚拟地址空间。
其中,发送端内核缓冲区是位于发送端的内核空间中的缓冲区。接收端内核缓冲区是位于接收端的内核空间中的缓冲区。内核空间是操作系统内核运行的虚拟地址空间。当进程运行在内核空间时处于内核态,当进程运行于用户空间时则处于用户态。操作系统的核心是内核,可以访问受保护的内存空间,也可以访问底层硬件设备。为了保证内核的安全,操作系统一般都强制用户进程不能直接操作内核,所以操作系统将虚拟地址空间划分内核空间与用户空间。例如,对于32 位操作系统,寻址空间(虚拟地址空间)为 4G,也就是说运行在该操作系统上的进程的最大地址空间为 4G。最高的 1G 字节(从虚拟地址0xC0000000 到 0xFFFFFFF)由内核使用,称为内核空间,而较低的 3G 字节(从虚拟地址0x00000000 到 0xBFFFFFFF)由各个用户进程使用,称为用户空间。在一个实施例中,目标接收端在收到文件数据块时,将文件数据块存入内核缓冲区中的内核映射文件中。
其中,发送端网络层缓冲区是发送端内核空间中的数据缓存区,发送端将文件数据块存入网络层缓冲区,并按照网络协议对存入的文件数据块进行封装,在封装后发送至接收端,网络协议例如可以是TCP协议、UDP协议或者自定义协议。
S206,目标接收端将文件数据块从接收端内核缓冲区复制到接收端网络层缓冲区,将接收端网络层缓冲区中的文件数据块发送至接收端列表中与发送端距离次近的接收端,直至各接收端均收到文件数据块。
其中,接收端网络层缓冲区是目标接收端内核空间中的数据缓存区,目标接收端将文件数据块存入网络层缓冲区,并按照网络协议对存入的文件数据块进行封装,在封装后发送至其他接收端,网络协议例如可以是TCP协议、UDP协议或者自定义协议。基于网络的全双工特性,目标接收端在接收文件数据块时,可以同时向其他接收端发送已经收到的文件数据块。目标接收端将文件数据块从接收端内核缓冲区复制到接收端网络层缓冲区,然后将接收端网络层缓冲区中的文件数据块发送至与发送端距离次近的接收端。所以,发送端与各接收端组成了链式的数据传输通路,按照链式的方式将文件数据块从发送端传送至各个接收端。
在一个实施例中,如图3所示,发送端将文件数据分为多个文件数据块,然后依次向接收端1发送各个文件数据块。发送端首先将文件数据块1从内核缓冲区复制到网络层缓冲区,在网络层缓冲区中按照对应的网络协议对文件数据块进行封装,然后将封装后的文件数据块1发送至接收端1,并存入接收端1的网络层缓冲区。然后接收端1将网络层缓冲区中的文件数据块复制到内核缓冲区中的内存映射文件。发送端在向接收端1发送文件数据块1之后,继续向接收端1发送文件数据块2,接收端1在接收文件数据块2的同时,基于网络的全双工特性,向接收端2发送文件数据块1。接收端1先将文件数据块1从内存映射文件复制到网络层缓冲区,然后将网络层缓冲区中的文件数据块1发送至接收端2并存入接收端2的网络层缓冲区。然后,接收端1再向接收端2发送文件数据块2,接收端2在接受文件数据块2的同时,向接收端3发送文件数据块1,直至所有的接收端都收到所有的文件数据块。
如图3所示的文件数据分发方法,充分利用了网络连接的全双工特性,发送端到接收端1间的数据传输与接收端1和接收端2间的数据传输占用的网络带宽是独立的。所以,发送端将文件数据块分发至所有的接收端所用的时间为发送端将文件数据块发送给接收端1所用的时间+最后一个文件数据块从接收端1传输至最后一个接收端的时间。因此分发时间为:(文件大小/发送端带宽)+(接收端数量-1)*(文件数据块的大小/接收端带宽)。由于传输一个文件数据块的时间远远小于传输整个文件的时间,并且,发送端只需要将文件数据块发送至接收端1,而不需要通过发送端将文件数据块分发至所有的接收端,文件分发速度受发送端带宽的影响较小,极大的降低了文件数据分发所用的时间。
上述实施例中,发送端将待发送的文件数据块从发送端内核缓冲区复制到发送端网络层缓冲区,并将发送端网络层缓冲区中的文件数据块发送至距离发送端最近的目标接收端,并存储于目标接收端中的接收端内核缓冲区。目标接收端将文件数据块从接收端内核缓冲区复制到接收端网络层缓冲区,并将接收端网络层缓冲区中的文件数据块发送至接收端列表中与发送端距离次近的接收端,直至各接收端均收到文件数据块。基于网络连接的全双工特性,各个接收端在接收文件数据块时,可以同时向相邻的后一接收端发送已经收到的文件数据块,不需要依赖于发送端逐个向所有的接收端分发文件数据块,节省了文件分发的时间。并且由于发送端内核缓冲区、发送端网络层缓冲区、接收端内核缓冲区、接收端网络层缓冲区均存在于内核空间,发送端和各接收端在发送文件数据块时,不需要将文件数据块在内核空间和用户空间之间来回复制,降低了CPU的资源使用率,进一步提升了文件数据的分发效率。
在一个实施例中,发送端通过DMA(Direct Memory Access,直接存储器访问)对文件数据块进行读写操作,将文件数据块在发送端内核缓冲区和发送端网络层缓冲区间进行复制,以节省CPU资源。各接收端同样通过DMA对文件数据进行读写操作,通过DMA将文件数据块在接收端内核缓冲区和接收端网络层缓冲区间进行复制。
在一个实施例中,如图4所示,发送端获取接收端列表包括如下步骤:
S402,当接收到数据分发请求时,从数据分发请求中提取排序前接收端列表;
S404,分别向排序前接收端列表中各接收端发送网络探测命令;
S406,当接收到各接收端响应于网络探测命令返回的响应命令时,分别获取各接收端返回响应命令的响应时间;
S408,根据响应时间对各接收端进行排序,得到接收端列表。
其中,数据分发请求是请求发送端向多个接收端分发文件数据的请求指令。数据分发请求中可以包括源文件路径、目标文件路径和排序前接收端列表。排序前接收端列表中可以包括各个接收端的编号和网络地址。在一个实施例中,客户端向发送端发送数据分发请求,发送端在接收到数据分发请求时,从数据分发请求中提取源文件路径,并根据源文件路径获取待发送的文件数据。
其中,网络探测命令是 TCP/IP网络体系结构中应用层的服务命令,用于向目的主机发送 ICMP(Internet Control Message Protocol ,因特网报文控制协议) 请求报文,以测试目的主机是否可达并了解其有关状态。例如,网络探测命令可以是PING命令。
当接收端返回响应命令的响应时间距离发送端发送网络探测命令的时间间隔越长时,说明接收端与发送端间的距离越远。发送端根据响应时间对各接收端进行排序,也就是按照接收端与发送端间的距离对接收端进行排序。在一个实施例中,发送端按照与其距离的远近,从近到远对接收端进行排序, 得到接收端列表。
上述实施例中,发送端对接收端进行排序,可以根据接收端列表先将文件数据块发送至距离最近的接收端,并且可以使各接收端根据接收端列表中接收端的排列顺序向相邻的下一接收端转发文件数据块。由于各接收端是按照与发送端间的距离依次转发文件数据块,节省了网络资源,提高了数据分发效率。
在一个实施例中,接收端列表中的接收端处于多个不同的地域,发送端按照各个接收端所处的地域对接收端进行分组,将处于同一地域的接收端划分为一组,然后并行的向各组中的接收端发送文件数据块。
在一个实施例中,发送端与接收端列表中各接收端上均部署了对应的代理程序;将发送端网络层缓冲区中的文件数据块发送至目标接收端包括:通过部署在发送端上的代理程序将发送端网络层缓冲区中的文件数据块发送至部署在目标接收端上的代理程序;将接收端网络层缓冲区中的文件数据块发送至接收端列表中与发送端距离次近的接收端包括:通过部署在目标接收端上的代理程序将接收端网络层缓冲区中的文件数据块发送至与发送端距离次近的接收端上部署的代理程序。
其中,代理程序是安装在发送端或者接收端上的软件程序,用于接收数据、发送数据等。发送端或者各接收端上部署的代理程序可以与交换机建立网络连接,当监听到其他代理程序的连接请求时,与发送连接请求的代理程序建立网络连接。
在一个实施例中,如图5所示文件数据分发方法,对于分布式系统,分别部署了主数据中心、备数据中心和灾备数据中心,每个数据中心部署至少一个交换机,发送端与接收端连接在交换机上。发送端和客户端部署于主数据中心,接收端分别部署在各数据中心,且各接收端上部署了对应的代理程序。代理程序1-4是安装在主数据中心的接收端1-4上的应用程序,代理程序5-6是安装在备数据中心的接收端5-6上的应用程序,代理程序7-9是安装在备数据中心的接收端7-9上的应用程序。各代理程序监听其他代理程序的连接请求。当发送端接收到客户端的数据分发请求时,从数据分发请求中提取接收端列表,接收端列表中具有接收端1-9的IP地址。然后发送端按照与接收端列表中各接收端的距离,按照从近到远的顺序对接收端列表中的接收端进行排序,得到排序后接收端列表。发送端对应的代理程序首先根据排序后接收端列表中排在首位的接收端1的IP地址向代理程序1发送连接请求,代理程序1响应于发送端对应的代理程序的连接请求,与发送端对应的代理程序建立TCP网络连接,然后发送端将排序后的接收端列表发送至代理程序1。代理程序1接收到排序后的接收端列表时,查找排在其后的接收端2的IP地址,根据接收端2的IP地址,向代理程序2发送连接请求,并在与代理程序2建立TCP网络连接后,将排序后的接收端列表发送至代理程序2,依次类推,直至在排序后的接收端列表中相邻接收端对应的代理程序间均建立网络连接,并且所有的代理程序均收到排序后的接收端列表。
发送端通过部署在其上的代理程序将发送端网络层缓冲区中的文件数据块发送至部署在目标接收端上的代理程序。在一个实施例中,发送端通过调用sendfile函数将文件数据块发送至代理程序1。目标接收端上的代理程序在接收到文件数据块时,通过调用sendfile函数将文件数据块转发至相邻的下一接收端,直至所有接收端均收到文件数据块。
上述实施例中,发送端和各接收端,通过对应的代理程序向接收端发送文件数据块,不需要将文件数据块在用户空间和内核空间来回复制即可实现文件数据块的发送,提高了文件数据分发的效率。
在一个实施例中,接收端列表中接收端部署于主数据中心;发送端获取接收端列表之后,方法还包括:当主数据中心发生故障时,发送端将接收端列表中接收端替换为部署于备数据中心的接收端,并与替换后的接收端列表中各接收端建立网络连接;当主数据中心与备数据中心均发生故障时,发送端将接收端列表中接收端替换为部署于灾备数据中心的接收端,并与替换后的接收端列表中各接收端建立网络连接。
其中,主数据中心和备数据中心处于同一地域,和灾备数据中心处于不同的地域。当主数据中心发生故障时,启用备数据中心中的接收端,发送端将接收端列表中部署于主数据中心的接收端替换为部署于备数据中心的接收端。当备数据中心也发生故障时,启用灾备数据中心,发送端将接收端列表中部署于主数据中心和备数据中心的接收端替换为部署于灾备数据中心的接收端。
上述实施例中,对于分布式系统,通过在两个地域部署三个数据中心,可以在主数据中心发生故障时,启用备数据中心或者在主数据中心和备数据中心都发生故障时启用灾备数据中心,对发生故障的接收端进行替换,充分保证了分布式系统的正常运行。
在一个实施例中,当接收端列表中的末尾接收端接收到全部文件数据块时,向前一接收端反馈接收成功信息;对于接收端列表中除末尾接收端及目标接收端之外的接收端,当接收到接收端列表中的所有后继接收端反馈的接收成功信息时,将所有后继接收端反馈的接收成功信息与自身产生的接收成功信息一起发送至前一接收端;当目标接收端接收到所有后继接收端反馈的接收成功信息时,将所有后继接收端反馈的接收成功信息与自身产生的接收成功信息一起发送至发送端。
如图6所示,接收端列表中包括接收端1-5,代理程序1-5分别部署在接收端1-5上,当接收端5收到全部的文件数据块时,代理程序5向代理程序4反馈接收成功信息。当接收端4收到全部的文件数据块时,将自身生成的接收成功信息与代理程序5反馈的接收成功信息进行合并,合并后发送至代理程序3,依此类推,直至将代理程序1-5反馈的接收成功信息均发送至发送端。
上述实施例中,各个代理程序在接收到全部的文件数据块时,向前一相连的代理程序反馈接收成功信息,并最终将所有代理程序产生的接收成功信息反馈至发送端,以使发送端获知各接收端是否接收到完整的文件数据块,并在接收端未接收到完整的文件数据块时,向该接收端重新发送文件数据块,保证了文件数据块的可靠传输。
在一个实施例中,待发送的文件数据块为在存入内核缓冲区之前,对原始数据块进行压缩所得;对原始数据块进行压缩包括:针对每个原始数据块,发送端创建对应的数据块压缩任务,并将数据块压缩任务添加至任务处理队列;发送端通过多个线程并发执行任务处理队列中的数据块压缩任务,以对原始数据块进行压缩。
其中,数据块压缩任务是封装了数据和压缩方法的数据对象。任务处理队列是存储数据块压缩任务的多线程任务队列。发送端的应用程序获取原始数据块后,将原始数据块存入用户空间,然后,针对每个原始数据块,创建对应的数据块压缩任务。发送端通过多个线程从任务处理队列中提取数据块压缩任务并执行,以对数据块压缩任务对应的原始数据块进行压缩,得到压缩后的文件数据块。
上述实施例中,发送端的应用程序在获取原始数据块后,对原始数据块进行压缩,并在压缩后存入内核缓冲区,然后再进行发送。原始数据块经过压缩,降低了数据量,提高了发送效率。
在一个实施例中,文件数据分发方法包括:客户端向发送端发送数据分发请求,发送端接收到数据分发请求时,从数据分发请求中提取源文件路径、目标文件路径和接收端列表。发送端根据与接收端列表中各接收端间的距离,按照从近到远的顺序对接收端列表中各接收端对应的IP地址进行排序,得到目标IP列表。部署在发送端上的代理程序根据目标IP列表中首个接收端的IP地址与其对应的代理程序建立网络连接,并将目标IP列表发送至首个接收端。首个接收端对应的代理程序根据目标IP列表中第二个接收端的IP地址与第二个接收端对应的代理程序建立网络连接,并将目标IP列表发送至第二个接收端对应的代理程序,依次类推,直至目标IP列表中所有相邻接收端对应的代理程序间均建立网络连接。
发送端根据源文件路径获取待发送的文件数据块,并将文件数据块存入内核缓冲区,然后通过对应的代理程序将内核缓冲区中的文件数据块复制到网络层缓冲区,再通过对应的代理程序将网络层缓冲区中的文件数据块发送至首个接收端。首个接收端通过对应的代理程序接收文件数据块,并将接收的文件数据块存入网络层缓冲区,然后将网络层缓冲区中的文件数据块复制到内存映射文件中。首个接收端继续从发送端接收文件数据块,并同时向第二个接收端发送已经收到的文件数据块。按照与发送端同样的方法,首个接收端通过对应的代理程序将文件数据块发送至第二个接收端对应的代理程序,依次类推,直至所有接收端均受到文件数据块。
应该理解的是,虽然图2、4的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2、4中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图7所示,提供了一种文件数据分发系统,包括:发送端702和目标接收端704,其中:
发送端702,用于获取接收端列表,并确定接收端列表中与发送端距离最近的目标接收端;接收端列表中的接收端是按照与发送端之间的距离排列的;
发送端702,还用于将待发送的文件数据块从发送端内核缓冲区复制到发送端网络层缓冲区,将发送端网络层缓冲区中的文件数据块发送至目标接收端,并存储于接收端内核缓冲区;
目标接收端704,用于将文件数据块从接收端内核缓冲区复制到接收端网络层缓冲区,将接收端网络层缓冲区中的文件数据块发送至接收端列表中与发送端距离次近的接收端,直至各接收端均收到文件数据块。
上述实施例中,发送端将待发送的文件数据块从发送端内核缓冲区复制到发送端网络层缓冲区,并将发送端网络层缓冲区中的文件数据块发送至距离发送端最近的目标接收端,并存储于目标接收端中的接收端内核缓冲区。目标接收端将文件数据块从接收端内核缓冲区复制到接收端网络层缓冲区,并将接收端网络层缓冲区中的文件数据块发送至接收端列表中与发送端距离次近的接收端,直至各接收端均收到文件数据块。基于网络连接的全双工特性,各个接收端在接收文件数据块时,可以同时向相邻的后一接收端发送已经收到的文件数据块,不需要依赖于发送端逐个向所有的接收端分发文件数据块,节省了文件分发的时间。并且由于发送端内核缓冲区、发送端网络层缓冲区、接收端内核缓冲区、接收端网络层缓冲区均存在于内核空间,发送端和各接收端在发送文件数据块时,不需要将文件数据块在内核空间和用户空间之间来回复制,降低了CPU的资源使用率,进一步提升了文件数据的分发效率。
在一个实施例中,发送端702还用于:
当接收到数据分发请求时,从数据分发请求中提取排序前接收端列表;
分别向排序前接收端列表中各接收端发送网络探测命令;
当接收到各接收端响应于网络探测命令返回的响应命令时,分别获取各接收端返回响应命令的响应时间;
根据响应时间对各接收端进行排序,得到接收端列表。
在一个实施例中,发送端与接收端列表中各接收端上均部署了对应的代理程序;发送端702,还用于:
通过部署在发送端上的代理程序将发送端网络层缓冲区中的文件数据块发送至部署在目标接收端上的代理程序;
将接收端网络层缓冲区中的文件数据块发送至接收端列表中与发送端距离次近的接收端包括:
通过部署在目标接收端上的代理程序将接收端网络层缓冲区中的文件数据块发送至与发送端距离次近的接收端上部署的代理程序。
在一个实施例中,系统还包括:
发送端702,当主数据中心发生故障时,还用于将接收端列表中接收端替换为部署于备数据中心的接收端,并与替换后的接收端列表中各接收端建立网络连接;
当主数据中心与备数据中心均发生故障时,还用于将接收端列表中接收端替换为部署于灾备数据中心的接收端,并与替换后的接收端列表中各接收端建立网络连接;
在一个实施例中,如图8所示,系统还包括:与发送端距离最远的末尾接收端706以及除末尾接收端和目标接收端之外的中间接收端708;
末尾接收端706,当接收到全部文件数据块时,用于向前一接收端反馈接收成功信息;
中间接收端708,当接收到接收端列表中的所有后继接收端反馈的接收成功信息时,用于将所有后继接收端反馈的接收成功信息与自身产生的接收成功信息一起发送至前一接收端;
目标接收端704,当接收到所有后继接收端反馈的接收成功信息时,用于将所有后继接收端反馈的接收成功信息与自身产生的接收成功信息一起发送至发送端。
在一个实施例中,待发送的文件数据块为在存入内核缓冲区之前,对原始数据块进行压缩所得;发送端702,还用于:
针对每个原始数据块,发送端创建对应的数据块压缩任务,并将数据块压缩任务添加至任务处理队列;
发送端通过多个线程并发执行任务处理队列中的数据块压缩任务,以对原始数据块进行压缩。
关于文件数据分发系统的具体限定可以参见上文中对于文件数据分发方法的限定,在此不再赘述。上述文件数据分发系统中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(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.根据权利要求1所述的方法,其特征在于,所述发送端与所述接收端列表中各接收端上均部署了对应的代理程序;
所述将所述发送端网络层缓冲区中的文件数据块发送至所述目标接收端包括:
通过部署在所述发送端上的代理程序将所述发送端网络层缓冲区中的文件数据块发送至部署在所述目标接收端上的代理程序;
所述将所述接收端网络层缓冲区中的文件数据块发送至所述接收端列表中与所述发送端距离次近的接收端包括:
通过部署在所述目标接收端上的代理程序将所述接收端网络层缓冲区中的文件数据块发送至与所述发送端距离次近的接收端上部署的代理程序。
4.根据权利要求1所述的方法,其特征在于,所述接收端列表中接收端部署于主数据中心;所述发送端获取接收端列表之后,所述方法还包括:
当所述主数据中心发生故障时,所述发送端将所述接收端列表中接收端替换为部署于备数据中心的接收端,并与替换后的接收端列表中各接收端建立网络连接;
当所述主数据中心与所述备数据中心均发生故障时,所述发送端将所述接收端列表中接收端替换为部署于灾备数据中心的接收端,并与替换后的接收端列表中各接收端建立网络连接。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
当所述接收端列表中的末尾接收端接收到全部文件数据块时,向前一接收端反馈接收成功信息;
对于所述接收端列表中除所述末尾接收端及所述目标接收端之外的接收端,当接收到所述接收端列表中的所有后继接收端反馈的接收成功信息时,将所有后继接收端反馈的接收成功信息与自身产生的接收成功信息一起发送至前一接收端;
当所述目标接收端接收到所有后继接收端反馈的接收成功信息时,将所有后继接收端反馈的接收成功信息与自身产生的接收成功信息一起发送至所述发送端。
6.根据权利要求1所述的方法,其特征在于,所述待发送的文件数据块为在存入所述内核缓冲区之前,对原始数据块进行压缩所得;所述对原始数据块进行压缩包括:
针对每个所述原始数据块,发送端创建对应的数据块压缩任务,并将所述数据块压缩任务添加至任务处理队列;
所述发送端通过多个线程并发执行所述任务处理队列中的数据块压缩任务,以对所述原始数据块进行压缩。
7.一种文件数据分发系统,其特征在于,所述系统包括:
发送端,用于获取接收端列表,并确定所述接收端列表中与所述发送端距离最近的目标接收端;所述接收端列表中的接收端是按照与所述发送端之间的距离排列的;
所述发送端,还用于将待发送的文件数据块从发送端内核缓冲区复制到发送端网络层缓冲区,将所述发送端网络层缓冲区中的文件数据块发送至所述目标接收端,并存储于接收端内核缓冲区;
所述目标接收端,用于将所述文件数据块从所述接收端内核缓冲区复制到接收端网络层缓冲区,将所述接收端网络层缓冲区中的文件数据块发送至所述接收端列表中与所述发送端距离次近的接收端,直至各接收端均收到所述文件数据块。
8.根据权利要求7所述的系统,其特征在于,所述发送端还用于:
当接收到数据分发请求时,从所述数据分发请求中提取排序前接收端列表;
分别向所述排序前接收端列表中各接收端发送网络探测命令;
当接收到各接收端响应于所述网络探测命令返回的响应命令时,分别获取各所述接收端返回所述响应命令的响应时间;
根据所述响应时间对各所述接收端进行排序,得到所述接收端列表。
9.根据权利要求7所述的系统,其特征在于,所述发送端与所述接收端列表中各接收端上均部署了对应的代理程序;所述发送端还用于:
通过部署在所述发送端上的代理程序将所述发送端网络层缓冲区中的文件数据块发送至部署在所述目标接收端上的代理程序;
所述将所述接收端网络层缓冲区中的文件数据块发送至所述接收端列表中与所述发送端距离次近的接收端包括:
通过部署在所述目标接收端上的代理程序将所述接收端网络层缓冲区中的文件数据块发送至与所述发送端距离次近的接收端上部署的代理程序。
10.根据权利要求7所述的系统,其特征在于,所述接收端列表中接收端部署于主数据中心;所述系统还包括:
所述发送端,当所述主数据中心发生故障时,还用于将所述接收端列表中接收端替换为部署于备数据中心的接收端,并与替换后的接收端列表中各接收端建立网络连接;
当所述主数据中心与所述备数据中心均发生故障时,还用于将所述接收端列表中接收端替换为部署于灾备数据中心的接收端,并与替换后的接收端列表中各接收端建立网络连接。
CN202110440682.8A 2021-04-23 2021-04-23 文件数据分发方法、系统 Active CN112860443B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110440682.8A CN112860443B (zh) 2021-04-23 2021-04-23 文件数据分发方法、系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110440682.8A CN112860443B (zh) 2021-04-23 2021-04-23 文件数据分发方法、系统

Publications (2)

Publication Number Publication Date
CN112860443A true CN112860443A (zh) 2021-05-28
CN112860443B CN112860443B (zh) 2021-08-06

Family

ID=75992824

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110440682.8A Active CN112860443B (zh) 2021-04-23 2021-04-23 文件数据分发方法、系统

Country Status (1)

Country Link
CN (1) CN112860443B (zh)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101252585A (zh) * 2007-05-08 2008-08-27 飞塔信息科技(北京)有限公司 对使用远程文件系统访问协议的数据进行内容过滤的方法与系统
CN101378334A (zh) * 2008-09-25 2009-03-04 卡斯柯信号有限公司 基于双网冗余通用网络模型的通讯方法
CN105940639A (zh) * 2013-11-29 2016-09-14 桥联有限公司 在第一网络节点和第二网络节点之间传输数据
CN107911254A (zh) * 2017-12-26 2018-04-13 中国移动通信集团江苏有限公司 日志传输方法、装置、计算设备及存储介质
CN111371759A (zh) * 2020-02-25 2020-07-03 深信服科技股份有限公司 网络数据包读取方法、装置、设备及可读存储介质
CN112118222A (zh) * 2020-08-11 2020-12-22 深圳市欣博跃电子有限公司 一种数据转发的方法、装置、电子设备和存储介质
US20200403901A1 (en) * 2018-02-22 2020-12-24 Nippon Telegraph And Telephone Corporation Time Path Selection Device and Time Path Selection Method

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101252585A (zh) * 2007-05-08 2008-08-27 飞塔信息科技(北京)有限公司 对使用远程文件系统访问协议的数据进行内容过滤的方法与系统
CN101378334A (zh) * 2008-09-25 2009-03-04 卡斯柯信号有限公司 基于双网冗余通用网络模型的通讯方法
CN105940639A (zh) * 2013-11-29 2016-09-14 桥联有限公司 在第一网络节点和第二网络节点之间传输数据
CN107911254A (zh) * 2017-12-26 2018-04-13 中国移动通信集团江苏有限公司 日志传输方法、装置、计算设备及存储介质
US20200403901A1 (en) * 2018-02-22 2020-12-24 Nippon Telegraph And Telephone Corporation Time Path Selection Device and Time Path Selection Method
CN111371759A (zh) * 2020-02-25 2020-07-03 深信服科技股份有限公司 网络数据包读取方法、装置、设备及可读存储介质
CN112118222A (zh) * 2020-08-11 2020-12-22 深圳市欣博跃电子有限公司 一种数据转发的方法、装置、电子设备和存储介质

Also Published As

Publication number Publication date
CN112860443B (zh) 2021-08-06

Similar Documents

Publication Publication Date Title
CN107819828B (zh) 数据传输方法、装置、计算机设备和存储介质
CN110995513B (zh) 物联网系统中的数据发送、接收方法、物联网设备及平台
CN1881944B (zh) 改进型分布式核心操作系统
US11303737B2 (en) Method and device for data transmission
CN108256118B (zh) 数据处理方法、装置、系统、计算设备以及存储介质
CN110602169B (zh) 服务调用方法、装置、计算机设备和存储介质
CN106959820B (zh) 一种数据提取方法和系统
CN113326155A (zh) 一种信息处理方法、装置、系统和存储介质
CN111541555A (zh) 群聊优化方法及相关产品
CN111541762B (zh) 数据处理的方法、管理服务器、设备及存储介质
CN113965576B (zh) 基于容器的大数据采集方法、装置、存储介质和设备
CN107688512A (zh) 一种优化虚拟机数据备份方法和系统
CN112995217B (zh) 数据发送方法、系统
CN116805946A (zh) 一种消息请求处理方法、装置、电子设备及存储介质
CN112860443B (zh) 文件数据分发方法、系统
CN112492030B (zh) 数据存储方法、装置、计算机设备和存储介质
US20090157896A1 (en) Tcp offload engine apparatus and method for system call processing for static file transmission
WO2018032499A1 (zh) 一种负载均衡的方法及相关装置
CN110661836B (zh) 消息路由方法、装置及系统、存储介质
CN108173892B (zh) 云端镜像操作方法和装置
CN109831467B (zh) 数据传输方法、设备及系统
CN109766347B (zh) 一种数据更新方法、装置、系统、计算机设备及存储介质
CN109450810A (zh) 识别冗余消息的方法及装置
CN107872479B (zh) 云管理平台与控制器集成方法和系统以及相关模块
CN108781215B (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
CP01 Change in the name or title of a patent holder
CP01 Change in the name or title of a patent holder

Address after: Room 2301, building 5, Shenzhen new generation industrial park, 136 Zhongkang Road, Meidu community, Meilin street, Futian District, Shenzhen City, Guangdong Province

Patentee after: Shenzhen Huarui Distributed Technology Co.,Ltd.

Patentee after: Huarui distributed technology (Changsha) Co., Ltd

Address before: Room 2301, building 5, Shenzhen new generation industrial park, 136 Zhongkang Road, Meidu community, Meilin street, Futian District, Shenzhen City, Guangdong Province

Patentee before: SHENZHEN ARCHFORCE FINANCIAL TECHNOLOGY Co.,Ltd.

Patentee before: Huarui distributed technology (Changsha) Co., Ltd