CN112398885B - 数据传输方法和装置 - Google Patents
数据传输方法和装置 Download PDFInfo
- Publication number
- CN112398885B CN112398885B CN201910750210.5A CN201910750210A CN112398885B CN 112398885 B CN112398885 B CN 112398885B CN 201910750210 A CN201910750210 A CN 201910750210A CN 112398885 B CN112398885 B CN 112398885B
- Authority
- CN
- China
- Prior art keywords
- data
- provider
- pulled
- requested
- 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.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/566—Grouping or aggregating service requests, e.g. for unified processing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/55—Push-based network services
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本申请的实施例提供了一种数据传输方法和装置,其中,数据传输方法包括:向数据提供方发送数据拉取请求,所述数据拉取请求中包含有请求拉取的数据资源;接收所述数据提供方对所述数据拉取请求校验通过后反馈的第一应答信息,其中,所述第一应答信息中包含有针对所述数据拉取请求确定的需要反馈的第一数据信息,以及针对所述数据拉取请求的响应数据;根据从所述数据提供方接收到的响应数据,确定所述响应数据的第二数据信息。本申请实施例的技术方案有效解决了数据提供方由于性能瓶颈的限制无法实现同时针对较多数据请求方而推送数据资源的问题,不需要部署大量的数据提供方以满足数据分发的需求,降低了成本。
Description
技术领域
本申请涉及计算机及通信技术领域,具体而言,涉及一种数据传输方法和装置。
背景技术
目前,在数据分发网络的数据分发过程中,一般通过用于分发数据的数据提供方向用于接收数据的数据请求方推送数据的数据传输方式来实现数据分发。在进行数据分发的过程中,数据提供方对于所发送的每个数据都需要先制作种子,并分发种子给数据请求方后才能实现数据的分发,数据提供方需要进行种子的维护,导致数据分发的速度较慢,此外,数据提供方还需要对多个数据请求方进行数据分发的管理,由于数据提供方自身性能的限制而使得所能管理的数据请求方有限,进而导致需要部署大量的数据提供方以满足数据分发的需求,成本较高。
发明内容
本申请的实施例提供了一种数据传输方法和装置,在一定程度上解决在数据分发网络的数据分发过程中,由于数据提供方自身性能的限制而使得所能管理的数据请求方有限,进而导致需要部署大量的数据提供方以满足数据分发的需求的技术问题。
本申请的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本申请的实践而习得。
根据本申请实施例的一个方面,提供了一种数据传输方法,包括:向数据提供方发送数据拉取请求,所述数据拉取请求中包含有请求拉取的数据资源;接收所述数据提供方对所述数据拉取请求校验通过后反馈的第一应答信息,其中,所述第一应答信息中包含有针对所述数据拉取请求确定的需要反馈的第一数据信息,以及针对所述数据拉取请求的响应数据;根据从所述数据提供方接收到的响应数据,确定所述响应数据的第二数据信息;若所述第一数据信息与所述第二数据信息相匹配,则确定从所述数据提供方拉取数据成功。
根据本申请实施例的一个方面,还提供了一种数据传输方法,包括:接收来自数据请求方发送的数据拉取请求,其中,所述数据拉取请求中包含有请求拉取的数据资源;基于存储的数据对所述数据拉取请求进行校验;若校验通过,发送第一应答信息至所述数据请求方,其中,所述第一应答信息中包含有针对所述数据拉取请求确定的需要反馈的第一数据信息,以及针对所述数据拉取请求的响应数据,以使得所述数据请求方根据从所述数据提供方接收到的响应数据,确定所述响应数据的第二数据信息,并根据所述第一数据信息与所述第二数据信息确定从所述数据提供方拉取数据是否成功。
根据本申请实施例的一个方面,提供了一种数据传输装置,包括:第一发送单元,用于向数据提供方发送数据拉取请求,所述数据拉取请求中包含有请求拉取的数据资源;第一接收单元,用于接收所述数据提供方对所述数据拉取请求校验通过后反馈的第一应答信息,其中,所述第一应答信息中包含有针对所述数据拉取请求确定的需要反馈的第一数据信息,以及针对所述数据拉取请求的响应数据;第一执行单元,用于根据从所述数据提供方接收到的响应数据,确定所述响应数据的第二数据信息;第二执行单元,用于若所述第一数据信息与所述第二数据信息相匹配,则确定从所述数据提供方拉取数据成功。
在本申请的一些实施例中,基于前述方案,所述数据传输装置还包括:更新单元,用于若接收到所述数据提供方对所述数据拉取请求校验未通过后反馈的第二应答信息,则根据所述第二应答信息对所述数据拉取请求进行更新,得到更新后的数据拉取请求,其中,所述第二应答信息包含有所述数据提供方能够提供的数据信息;第二发送单元,用于发送所述更新后的数据拉取请求至所述数据提供方。
在本申请的一些实施例中,基于前述方案,所述第一数据信息包括请求拉取的数据块总个数以及请求拉取的总数据大小,所述响应数据包括数据块、数据块的序列号以及单个数据块的大小,第一执行单元用于按照所述响应数据中所包含的数据块的序列号对所述数据块进行组装,并根据所述单个数据块的大小,确定从所述数据提供方接收的总数据大小和从所述数据提供方接收的数据块的总个数;第二执行单元,用于若请求拉取的数据块总个数与从所述数据提供方接收的数据块的总个数一致,且请求拉取的总数据大小与从所述数据提供方接收的总数据大小一致,则确定从所述数据提供方拉取数据成功。
在本申请的一些实施例中,基于前述方案,所述请求拉取的数据资源还包括请求拉取的数据块的序列号,所述数据传输装置还包括:所述第三执行单元,用于若请求拉取的数据块总个数与从所述数据提供方接收的数据块的总个数不一致或请求拉取的总数据大小与从所述数据提供方接收的总数据大小不一致,则确定未接收到的数据块的序列号;第一生成单元,用于根据所述未接收到的数据块的序列号,生成新的数据拉取请求;第三发送单元,用于发送所述新的数据拉取请求至所述数据提供方。
在本申请的一些实施例中,基于前述方案,所述数据传输装置还包括:第四发送单元,用于若在发送所述数据拉取请求后的预设时间段内未监测到所述数据提供方反馈的针对所述数据拉取请求的应答信息,则再次向所述数据提供方发送数据拉取请求。
在本申请的一些实施例中,基于前述方案,所述请求拉取的数据资源包括:单次向所述数据提供方请求拉取的数据块的个数;所述响应数据包括:与单次向所述数据提供方请求拉取的数据块的个数相同的数据块。
在本申请的一些实施例中,基于前述方案,所述数据传输装置还包括:第四执行单元,用于确定数据传输通道的网络延迟,获取单元,用于获取预设的数据传输速度以及预设的单个数据块大小;第五执行单元,用于基于所述数据传输通道的网络延迟、所述预设的数据传输速度以及所述预设的单个数据块大小确定单次向所述数据提供方请求拉取的数据块的个数。
在本申请的一些实施例中,基于前述方案,若数据提供方为多个,所述第一发送单元,用于从预设的配置信息中获取可用的多个数据提供方的设备标识信息;确定所述多个数据提供方的优先级;选择优先级最高的数据提供方,向该优先级最高的数据提供方发送所述数据拉取请求。
在本申请的一些实施例中,基于前述方案,所述数据传输装置还包括:第二生成单元,用于基于从所述数据提供方拉取的数据对本地存储的数据进行更新,并生成更新日志;第五发送单元,用于发送所述更新日志至日志服务器。
根据本申请实施例的一个方面,还提供了一种数据传输装置,包括:第二接收单元,用于接收来自数据请求方发送的数据拉取请求,其中,所述数据拉取请求中包含有请求拉取的数据资源;校验单元,用于基于存储的数据对所述数据拉取请求进行校验;第六发送单元,用于若校验通过,发送第一应答信息至所述数据请求方,其中,所述第一应答信息中包含有针对所述数据拉取请求确定的需要反馈的第一数据信息,以及针对所述数据拉取请求的响应数据,以使得所述数据请求方根据从所述数据提供方接收到的响应数据,确定所述响应数据的第二数据信息,并根据所述第一数据信息与所述第二数据信息确定从所述数据提供方拉取数据是否成功。
在本申请的一些实施例中,基于前述方案,所述数据传输装置还包括:第七发送单元,用于若校验未通过,发送第二应答信息至所述数据请求方,其中,所述第二应答信息包含有所述数据提供方能够提供的数据信息,以使得所述数据请求方根据所述第二应答信息对所述数据拉取请求进行更新。
在本申请的一些实施例中,基于前述方案,校验单元,用于确定是否存储有所述种类数据;若存储有所述种类数据,则确定存储的所述种类数据的数据版本号是否与所述请求拉取的数据版本号一致,且所述用于标识所述数据提供方存储的所述种类数据为增量数据或全量数据的标识信息是否与用于标识请求拉取的数据为增量数据或全量数据的标识信息一致;若所述存储的所述种类数据的数据版本号与所述请求拉取的数据版本号一致,且所述用于标识所述数据提供方存储的所述种类数据为增量数据或全量数据的标识信息与用于标识请求拉取的数据为增量数据或全量数据的标识信息一致;若所述存储的所述种类数据的数据版本号与所述请求拉取的数据版本号不一致,和/或所述用于标识所述数据提供方存储的所述种类数据为增量数据或全量数据的标识信息与用于标识请求拉取的数据为增量数据或全量数据的标识信息不一致,则确定校验未通过。
根据本申请实施例的一个方面,提供了一种计算机可读介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上述实施例中所述的数据传输方法。
根据本申请实施例的一个方面,提供了一种电子设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如上述实施例中所述的数据传输方法。
在本申请的一些实施例所提供的技术方案中,与现有的数据传输方式相比,本申请实施例的技术方案通过由数据请求方主动向数据提供方发送数据拉取请求,以请求拉取所需要的数据资源,并同时从数据提供方接收数据提供方针对数据拉取请求确定的需要反馈的第一数据信息,以及从数据提供方获取的响应数据,进而由数据请求方根据第一数据信息来确定从数据提供方获取的数据资源是否完整,即在数据流通过程中,由数据请求方对从数据提供方获取的数据资源进行校验管理,进而有效解决了数据提供方由于性能瓶颈的限制无法实现同时针对较多数据请求方而推送数据资源的问题,不需要部署大量的数据提供方以满足数据分发的需求,降低了成本;数据提供方在发送数据至根据数据请求方时,不需要进行种子的制作和种子的分发,数据提供方根据数据请求方的数据获取请求直接向数据提供方推送数据资源,由此提高了数据传输的效率。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
图1示出了可以应用本申请实施例的技术方案的示例性系统架构的示意图;
图2示意性示出了一种现有的示例性服务器群之间的连接关系的示意图;
图3示意性示出了一种根据本申请的技术方案的示例性服务器群之间的连接关系的示意图;
图4示出了可以应用本申请实施例的技术方案的示例性系统架构的示意图;
图5示意性示出了根据本申请的一个实施例的数据传输方法的流程图;
图6示意性示出了根据本申请的一个实施例的数据传输方法的流程图;
图7示意性示出了根据本申请的一个实施例的数据传输方法的流程图;
图8示意性示出了根据本申请的一个实施例的数据传输方法的流程图;
图9示意性示出了根据本申请的一个实施例的数据传输方法的流程图;
图10示意性示出了根据本申请的一个实施例的数据传输方法的流程图;
图11示意性示出了根据本申请的一个实施例的数据传输方法的流程图;
图12示意性示出了根据本申请的一个实施例的数据传输方法的流程图;
图13示意性示出了根据本申请的一个实施例的数据传输方法的流程图;
图14示意性示出了根据本申请的一个实施例的数据传输方法的流程图;
图15示意性示出了根据本申请的一个实施例的数据请求方侧的数据传输装置的模块图;
图16示意性示出了根据本申请的一个实施例的数据提供方侧的数据传输装置的模块图;
图17示出了适于用来实现本申请实施例的电子设备的计算机系统的结构示意图。
具体实施方式
现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本申请将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。
此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施例中。在下面的描述中,提供许多具体细节从而给出对本申请的实施例的充分理解。然而,本领域技术人员将意识到,可以实践本申请的技术方案而没有特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知方法、装置、实现或者操作以避免模糊本申请的各方面。
附图中所示的方框图仅仅是功能实体,不一定必须与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
附图中所示的流程图仅是示例性说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解,而有的操作/步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。
图1示出了可以应用本申请实施例的技术方案的示例性系统架构的示意图。
如图1所示,系统架构可以包括数据请求方101以及数据提供方102。数据请求方101或数据提供方102具体指的是服务器群中的某个服务器,该服务器群可以为云端服务器群等服务器群,服务器群中的每个服务器之间可以形成多种连接关系。
当有新的数据资源需要发送到服务器群或需要对服务器群中的某种已有的数据资源进行更新时,则服务器群需要基于服务器之间的连接关系使得每个服务器能及时获取新的数据资源或对某种已有的数据资源进行更新。
参考图2,图2示意性示出了一种现有的示例性服务器群之间的连接关系的示意图,如图2所示,数据请求方101作为请求拉取数据资源的服务器,数据提供方102作为提供数据资源的服务器,数据提供方102采用将数据推送至数据请求方101的方式来实现数据的流通。数据提供方102由于需要向数据请求方101推送数据,因此数据提供方102需要对与多个数据请求方101对应的数据推送进程进行管理;随着数据资源的类型增多以及数据更新的频率增加,由此会使得数据请求方102由于性能瓶颈的限制,无法实现同时针对较多数据请求方101推送数据资源。
参考图3,图3示意性示出了一种根据本申请的技术方案的示例性服务器群之间的连接关系的示意图,如图3所示,每个服务器之间的连接关系可以预先配置,需要指出的是,当某个服务器需要拉取数据资源时,则该服务器可以为数据请求方101,当该服务器作为另外一个服务器请求拉取数据资源的目标服务器时,则该服务器则可以为数据提供方102,即数据请求方101和数据提供方102可以根据需求进行转换。当有新的数据资源需要发送到服务器群或需要对服务器群中的某种已有的数据资源进行更新时,不采用数据提供方102将数据推送至数据请求方101的方式来实现数据的流通。具体的,实现数据的流通为在数据请求方101需要拉取某种数据资源时,主动向具有连接关系的数据提供方102发送数据拉取请求,该数据拉取请求中包含有请求拉取的数据资源;数据提供方102在接收数据拉取请求后,仅需要对该数据拉取请求进行校验,以确定所存储的数据中是否存在数据请求方101所请求拉取的数据资源,若存在,则数据提供方102将在校验通过后反馈第一应答信息给数据请求方101,其中,所反馈的第一应答信息中包含有针对数据拉取请求确定的需要反馈的第一数据信息,以及针对数据拉取请求的响应数据,其中,第一数据信息用于使得数据请求方101确定所请求拉取的数据资源的具体数据信息,以便于根据所请求拉取的数据资源的具体数据信息对数据提供方102接收的响应数据进行校验,以确定所获取的数据资源是否完整;数据请求方101根据从数据提供方102接收到的响应数据,确定该响应数据的第二数据信息;当数据请求方101确定第一数据信息与第二数据信息相匹配,则数据请求方101确定从数据提供方102拉取的数据资源是完整的,则可以确定从数据提供方102拉取数据成功。
本申请实施例的技术方案与现有的数据传输方式相比,通过由数据请求方101主动向数据提供方102发送数据拉取请求,以请求拉取所需要的数据资源,并同时从数据提供方102接收数据提供方102针对数据拉取请求确定的需要反馈的第一数据信息,以及获取的响应数据,进而由数据请求方101根据第一数据信息来确定从数据提供方102获取的数据资源是否完整,即在数据流通过程中,由数据请求方101对从数据提供方102获取的数据资源进行校验管理,进而有效解决了数据提供方102由于性能瓶颈的限制无法实现同时针对较多数据请求方101而推送数据资源的问题,不需要部署大量的数据提供方以满足数据分发的需求,降低了成本。
参考图4,图4示出了可以应用本申请实施例的技术方案的示例性系统架构的示意图。
如图4所示,系统架构可以包括数据产生平台103、云服务器群104以及消费者机群105。其中,数据产生平台103作为数据发布者,用于产生数据资源,数据产生平台103可以为一个或多个。云服务器群104可以为不同地域的云服务器群组,例如深圳、上海或北京等不同城市的云服务器群组,每个地域的云服务器群组包括至少两个服务器,服务器群104中的服务器可以通过定期向数据产生平台103发送数据拉取请求,向数据产生平台103拉取对应的数据资源。消费者机群105为不同地域的至少两个消费者服务器所构成的消费者机群,服务器群104在从数据产生平台103拉取数据资源成功后,消费者机群105中的消费者服务器可以向服务器群104拉取对应的数据资源。
为了使得消费者机群105中的各个消费者服务器都能快速地获取数据资源,消费者机群105中的各个消费者服务器除了可以向服务器群104中的服务器请求数据资源,消费者机群105中的各个消费者服务器之间也可以互相请求数据资源。当消费者机群105中的各个消费者服务器之间互相请求数据资源时,则请求数据资源的消费者服务器为数据请求方101,分发数据的消费者服务器为数据提供方102。
通过由数据请求方101主动向数据提供方102发送数据拉取请求,以请求拉取所需要的数据资源,并同时从数据提供方102接收数据提供方102针对数据拉取请求确定的需要反馈的第一数据信息,以及获取的响应数据,进而由数据请求方101根据第一数据信息来确定从数据提供方102获取的数据资源是否完整。由此使得数据资源在消费者机群105中的各个消费者服务器之间进行流通的过程,消费者机群105中的各个消费者服务器之间可以互相请求数据资源,以使得数据资源在消费者机群105中的所有消费者服务器之间进行流通时构成有向无环图,数据资源在消费者机群105中的所有消费者服务器之间遵循数据流速最快地原则自动流通,进而使得消费者机群105中的各个消费者服务器能及时获取对应的数据资源。
应该理解,图1、图2、图3以及图4中服务器的数目仅仅是示意性的,根据实现需要,可以具有任意数目的服务器。
以下对本申请实施例的技术方案的实现细节进行详细阐述:
参考图5,图5示意性示出了根据本申请的一个实施例的数据传输方法的流程图,该数据传输方法的执行主体为图1或图4所述的数据请求方101。如图5所示,该数据传输方法至少包括步骤S210至步骤S240,详细介绍如下:
在步骤S210中,向数据提供方发送数据拉取请求,所述数据拉取请求中包含有请求拉取的数据资源。
在本申请的一个实施例中,上述请求拉取的数据资源可以为某个种类的业务数据资源,例如广告业务数据资源或新闻业务数据资源等不同种类的数据资源。上述数据拉取请求作为数据请求方向数据提供方请求拉取所需要的一种数据资源的请求,该数据拉取请求可以由数据请求方基于数据资源的获取需求所生成。在服务器群的连接关系中,对于某个数据请求方对应的服务器来说,用于拉取数据资源的数据提供方可以为一个也可以为多个,数据请求方可以从预先配置好的连接关系中选择一个数据提供方作为发起数据拉取请求的目标数据提供方。需要指出的是,当数据请求方需要向数据提供方获取多种类型的数据资源时,可以向数据提供方发送获取不同类型的数据资源的数据拉取请求,每个不同类型的数据资源获取过程是独立的,可以同步进行,也可以异步进行,在此不作限定。
参考图6,图6示意性示出了根据本申请的一个实施例的数据传输方法的流程图,该数据传输方法的执行主体为数据请求方。如图6所示,若数据提供方为多个,则所述向数据提供方发送数据拉取请求的步骤S210,包括如下步骤:
在步骤S2101中,从预设的配置信息中获取可用的多个数据提供方的设备标识信息。
在本申请一个实施例中,如前述所知,对于每个数据请求方,可以预先配置其可以发送数据拉取请求的数据提供方,该数据提供方可以为多个,当数据请求方需要拉取某种数据资源,可以从预设的配置信息中获取可用的多个数据提供方的设备标识信息,数据提供方的设备标识信息可以为数据提供方的MAC(Media Access Control,介质访问控制)地址信息或各个数据提供方的设备节点号信息等唯一标识信息。
在步骤S2102中,确定所述多个数据提供方的优先级。
在本申请的一个实施例中,数据请求方在获取多个数据提供方的设备标识信息后,在选择发送数据拉取请求的数据提供方时,可以选择优先级最高的数据提供方来发送数据拉取请求,基于此,数据请求方需要确定多个数据提供方的优先级。
可选地,数据请求方可以依据多个数据提供方和数据请求方之间的地理位置距离来确定数据提供方的优先级,地理位置距离越近的,优先级越高,反之,则优先级越低。由于地理位置距离越近的数据提供方,对应的优选级越高,进而可以使得数据请求方优选选择距离较近的数据提供方来拉取数据资源,进而可以提高拉取数据的效率。
在步骤S2103中,选择优先级最高的数据提供方,向该优先级最高的数据提供方发送所述数据拉取请求。
在本申请的一个实施例中,数据请求方确定优先级最高的数据提供方,向所确定的优先级最高的数据提供方发送数据拉取请求,以便于拉取所需要的数据资源。
参考图7,图7示意性示出了根据本申请的一个实施例的数据传输方法的流程图,在本实施例中,在向数据提供方发送数据拉取请求S210之后,所述数据传输方法还包括:
步骤S211,若在发送所述数据拉取请求后的预设时间段内未监测到所述数据提供方反馈的针对所述数据拉取请求的应答信息,则再次向所述数据提供方发送数据拉取请求。
在步骤S211中,当数据请求方向数据提供方发送数据拉取请求后,由于数据传输通道所传输的数据块会出现丢包的情况,由此会导致数据提供方未能接收到数据请求方发送的数据拉取请求。为了避免由于丢包而导致数据提供方未能接收到数据拉取请求的情况,数据请求方可以在发送数据拉取请求后的预设时间段内确定是否监测到由数据提供方反馈的针对数据拉取请求的应答信息,例如在发送数据拉取请求后的三秒内确定是否监测到由数据提供方反馈的针对数据拉取请求的应答信息。当数据请求方未监测到由数据提供方反馈的针对数据拉取请求的应答信息,则可以再次向数据提供方发送数据拉取请求,以确保数据提供方能接收数据拉取请求,以提高数据请求方和数据提供方之间的进行数据传输的成功率。需要说明的是,由于当数据提供方出现故障或当所存储的数据中不存在数据请求方所请求拉取的数据资源时,数据提供方不会反馈应答信息至数据请求方,由此,数据请求方还可以在发送指定次数的数据拉取请求后且均未接收到该数据提供方反馈的应答信息时,停止向该数据提供方发送数据拉取请求,转而向其它数据提供方发起数据拉取请求,以便于及时从其它数据提供方获取所需要的数据资源。
还请继续参考图5,在步骤S220中,接收所述数据提供方对所述数据拉取请求校验通过后反馈的第一应答信息,其中,所述第一应答信息中包含有针对所述数据拉取请求确定的需要反馈的第一数据信息,以及针对所述数据拉取请求的响应数据。
在本申请的一个实施例中,数据提供方在接收到数据请求方的数据拉取请求后,将对该数据拉取请求进行校验,具体的,数据提供方确定所存储的数据库中是否存在与数据拉取请求中所请求拉取的数据资源完全匹配的数据资源。当所存储的数据库中存在与所请求拉取的数据资源完全匹配的数据资源时,则校验通过,当所存储的数据库中不存在与所请求拉取的数据资源完全匹配的数据资源时,则校验未通过。
数据提供方在校验通过后,将反馈第一应答信息至数据请求方,数据请求方接收数据提供方对数据拉取请求校验通过后所反馈的第一应答信息。需要指出的是,第一应答信息包含有针对数据拉取请求确定的需要反馈的第一数据信息以及针对数据拉取请求的响应数据,第一数据信息为包含数据提供方所需要发送给数据请求方的数据资源的具体数据信息,该第一数据信息用于使得数据请求方获知所请求拉取的数据资源的具体数据信息,上述响应数据则为请求拉取的数据资源的数据包信息。对于发送至数据请求方的响应数据大于数据提供方当前内存大小的一半时,数据提供方会先对响应数据进行压缩处理,以便于将响应数据成功发送至数据请求方,避免由于内存大小的限制导致数据发送失败,提高数据传输的成功率。
在本申请的一个实施例中,请求拉取的数据资源包括请求拉取的数据种类、请求拉取的数据版本号以及用于标识请求拉取的数据为增量数据或全量数据的标识信息。其中,上述请求拉取的数据种类为请求拉取的数据资源的种类,用于作为数据请求方和数据提供方针对不同种类的数据资源的标识信息;上述请求拉取的数据版本号则为某种数据资源在每次更新时进行记录的数据版本号;增量数据指的是某种数据资源在每次进行更新时,从某一数据版本号的数据资源更新为另一数据版本号的数据资源时,所增加的数据资源,全量数据则为每个数据版本号的数据资源所包含的所有数据。
数据请求方当需要对某种数据资源进行更新时,可以依据当前的资源情况,来确定所请求拉取的数据资源的数据种类、数据版本号以及用于标识请求拉取的数据为增量数据或全量数据的标识信息生成数据拉取请求。数据请求方发送所生成的数据拉取请求至数据提供方,以使得数据提供方获取数据请求方的数据拉取请求,并基于所存储的数据对该数据拉取请求进行校验,以确定所存储的数据是否存在与数据拉取请求所请求拉取的数据资源完全匹配的数据资源。
若存在请求拉取的数据种类的数据资源,则还需要对数据拉取请求中的请求拉取的数据版本号以及用于标识请求拉取的数据为增量数据或全量数据的标识信息进行校验,以确定所存储的数据是否存在与数据拉取请求所请求拉取的数据资源完全匹配的数据资源。具体的,可以确定存储的种类数据的数据版本号是否与请求拉取的数据版本号一致,且用于标识数据提供方存储的种类数据为增量数据或全量数据的标识信息是否与用于标识请求拉取的数据为增量数据或全量数据的标识信息一致,进而确定所存储的数据是否存在与数据拉取请求所请求拉取的数据资源完全匹配的数据资源。
若存储的种类数据的数据版本号与请求拉取的数据版本号一致,且用于标识所述数据提供方存储的种类数据为增量数据或全量数据的标识信息与用于标识请求拉取的数据为增量数据或全量数据的标识信息一致时,则数据提供方确定校验通过。
在步骤S230中,根据从所述数据提供方接收到的响应数据,确定所述响应数据的第二数据信息。
在本申请的一个实施例中,第二数据信息为数据请求方根据从数据提供方接收到的响应数据确定所接收的响应数据的具体数据信息,数据请求方将第一数据信息中包含的多种具体数据信息与第二数据信息中包含的所接收的响应数据的多个具体数据信息进行匹配,以确定从数据提供方所拉取的数据资源是否完整。
在步骤S240中,若所述第一数据信息与所述第二数据信息相匹配,则确定从所述数据提供方拉取数据成功。
在本申请的一个实施例中,数据请求方将第一数据信息中包含的具体数据信息与第二数据信息中包含的所接收的响应数据的具体数据信息进行匹配,以确定从数据提供方所拉取的数据资源是否完整。若第一数据信息中包含的所接收的响应数据的具体数据信息与第二数据信息包含的所接收的响应数据的具体数据信息一致,则确定第一数据信息与第二数据信息相匹配;若第一数据信息中包含的所接收的响应数据的具体数据信息与第二数据信息包含的所接收的响应数据的具体数据信息不一致,则确定第一数据信息与第二数据信息不匹配。当第一数据信息与所述第二数据信息相匹配,则数据请求方确定从数据提供方所拉取的数据资源是完整的,并且可以确定从数据提供方拉取数据成功。数据请求方从数据提供方拉取数据成功后,会通过本地的写内存工具进行数据落地。具体的,数据请求方根据所拉取的数据确定存储地址,并根据存储地址将所拉取的数据进行压缩后存储,对于所拉取的数据,还可以添加文件锁,以保证存储数据的安全性。在读取所拉取的数据时,需要对所存储的数据进行解压和校验,具体可以采用MD5消息摘要算法(MD5,Message-DigestAlgorithm)进行校验。在校验完成后,对所拉取的数据进行解锁处理,以便于读取数据
本申请实施例的技术方案与现有的数据传输方式相比,通过由数据请求方主动向数据提供方发送数据拉取请求,以请求拉取所需要的数据资源,并同时从数据提供方接收数据提供方针对数据拉取请求确定的需要反馈的第一数据信息,以及从数据提供方获取的响应数据,进而由数据请求方根据第一数据信息来确定从数据提供方获取的数据资源是否完整,即在数据流通过程中,由数据请求方对从数据提供方获取的数据资源进行校验管理,进而有效解决了数据提供方由于性能瓶颈的限制无法实现同时针对较多数据请求方而推送数据资源的问题,不需要部署大量的数据提供方以满足数据分发的需求,降低了成本。数据提供方在发送数据至根据数据请求方时,不需要进行种子的制作和种子的分发,数据提供方根据数据请求方的数据获取请求直接向数据提供方推送数据资源,由此提高了数据传输的效率。
参考图8,图8示意性示出了根据本申请的一个实施例的数据传输方法的流程图,如图8所示,在向数据提供方发送数据拉取请求S210之后,所述数据传输方法还包括步骤S212和步骤S213:
在步骤S212中,若接收到所述数据提供方对所述数据拉取请求校验未通过后反馈的第二应答信息,则根据所述第二应答信息对所述数据拉取请求进行更新,得到更新后的数据拉取请求,其中,所述第二应答信息包含有所述数据提供方能够提供的数据信息。
在本申请的一个实施例中,当数据提供方在接收到数据请求方的数据拉取请求后,将对该数据拉取请求进行校验,具体的,数据提供方确定所存储的数据库中是否存在与数据拉取请求所请求拉取的数据资源完全匹配的数据资源。当所存储的数据库中是不存在与数据拉取请求所请求拉取的数据资源完全匹配的数据资源时,则校验未通过。
由前述可知,具体的,需要先确定是否存在请求拉取的数据种类的数据资源,若存在,则进一步确定存储的种类数据的数据版本号是否与请求拉取的数据版本号一致,且用于标识数据提供方存储的种类数据为增量数据或全量数据的标识信息是否与用于标识请求拉取的数据为增量数据或全量数据的标识信息一致。对于若存储的种类数据的数据版本号与请求拉取的数据版本号不一致,且用于标识数据提供方存储的种类数据为增量数据或全量数据的标识信息与用于标识请求拉取的数据为增量数据或全量数据的标识信息不一致的情况;或者若存储的种类数据的数据版本号与请求拉取的数据版本号一致,但用于标识数据提供方存储的种类数据为增量数据或全量数据的标识信息与用于标识请求拉取的数据为增量数据或全量数据的标识信息不一致的情况;或者若存储的种类数据的数据版本号与请求拉取的数据版本号不一致,且用于标识数据提供方存储的种类数据为增量数据或全量数据的标识信息与用于标识请求拉取的数据为增量数据或全量数据的标识信息一致的情况,数据提供方都确定校验未通过。
数据提供方在校验未通过时,会反馈第二应答信息至数据请求方,数据请求方接收数据提供方反馈的第二应答信息,第二应答信息作为包括数据提供方针对该数据资源所能提供的数据信息,用于使得数据提供方能够根据数据提供方提供的数据信息发起更新后的数据请求。具体的,针对该数据资源所能提供的数据信息包括数据提供方存储的种类数据的数据版本号以及用于标识数据提供方存储的种类数据为增量数据或全量数据的标识信息,通过数据提供方存储的种类数据的数据版本号以及用于标识数据提供方存储的种类数据为增量数据或全量数据的标识信息可以使得数据提供方获取针对该数据资源所能够提供的数据信息对数据拉取请求进行更新,进而实现基于数据提供方能够提供的数据信息发起更新后的数据请求。
在步骤S213中,发送所述更新后的数据拉取请求至所述数据提供方。
在本申请的一个实施例中,数据请求方发送更新后的数据拉取请求至数据提供方,进而便于基于数据提供方针对该数据资源所能够提供的数据信息向数据提供方继续请求拉取对应的数据资源。
在本申请的一个实施例中,所述第一数据信息包括请求拉取的数据块总个数以及请求拉取的总数据大小,所述响应数据包括数据块、数据块的序列号以及单个数据块的大小。所述根据从所述数据提供方接收到的响应数据,确定所述响应数据的第二数据信息的步骤S230,包括:
按照所述响应数据中所包含的数据块的序列号对所述数据块进行组装,并根据所述单个数据块的大小,确定从所述数据提供方接收的总数据大小和从所述数据提供方接收的数据块的总个数。
本申请的一个实施例中,对于每种数据资源,数据提供方在对数据资源进行存储时,一般以数据块的形式来进行存储。具体的,数据提供方先获取需要存储的数据资源,根据需要存储的数据资源的总字节数来确定数据资源的总数据大小;并根据数据资源的总数据大小按照预设数据块的大小来实现将数据资源拆分成多个数据块,为了便于数据请求对多个数据块进行组装得到数据资源,还按照拆分的顺序对数据块进行编号,得到每个数据块的序列号,此外,还记录得到的数据块总个数。数据提供方将得到的数据块总个数、总数据大小、单个数据块的大小、每个数据块以及每个数据块的序列号进行存储,进而实现对数据资源进行存储。
数据提供方在对数据拉取请求校验通过后反馈第一应答信息时,第一应答信息中包含数据提供方发送给数据请求方的响应数据,具体的,该响应数据会按照数据块的序列号向数据请求方发送数据块,并将单个数据块的大小发送至数据请求方。数据请求方根据从数据提供方接收到的响应数据,确定响应数据的第二数据信息,进而确定从数据提供方接收到的资源数据的具体数据信息。具体而言,数据请求方对接收到的数据块进行计数,确定从数据提供方接收的数据块的总个数,并根据数据块的序列号对从数据提供方接收到的数据块进行组装,并根据单个数据块的大小确定从数据提供方接收的所有数据块的总数据大小,确定得到从数据提供方接收到的资源数据的具体数据信息,即从数据提供方接收的所有数据块的总数据大小以及从数据提供方接收的数据块的总个数。
在本申请的一个实施例中,所述若所述第一数据信息与所述第二数据信息相匹配,则确定从所述数据提供方拉取数据成功的步骤S240,包括:
若请求拉取的数据块总个数与从所述数据提供方接收的数据块的总个数一致、且请求拉取的总数据大小与从所述数据提供方接收的总数据大小一致,则确定从所述数据提供方拉取数据成功。
在本申请的一个实施例中,数据提供方在对数据拉取请求校验通过后反馈第一应答信息时,第一应答信息中包含有针对数据拉取请求确定的需要反馈的第一数据信息,其中,第一数据信息为请求拉取的数据资源对应的数据块总个数以及请求拉取的数据资源对应的总数据大小。数据请求方根据从数据提供方接收的第一数据信息与从数据提供方接收的响应数据进行匹配,以确定从数据提供方获取的数据资源是否完整,具体的,通过将请求拉取的数据块总个数与从数据提供方接收的数据块的总个数进行比较,并将请求拉取的总数据大小与从数据提供方接收的总数据大小进行比较,从而确定第一数据信息与第二数据信息是否相匹配。当请求拉取的数据块总个数与从数据提供方接收的数据块的总个数一致且请求拉取的总数据大小与从数据提供方接收的总数据大小一致,则确定第一数据信息与第二数据信息相匹配,则确定从数据提供方拉取数据成功;当请求拉取的数据块总个数与从数据提供方接收的数据块的总个数不一致或请求拉取的总数据大小与从数据提供方接收的总数据大小不一致,则确定第一数据信息与第二数据信息不匹配,则数据请求方确定从数据提供方拉取数据未成功。
在本申请的一个实施例中,所述数据拉取请求包括:单次向所述数据提供方请求拉取的数据块的个数;所述响应数据包括:与单次向所述数据提供方请求拉取的数据块的个数相同的数据块。
数据请求方在向数据提供方请求拉取资源数据时,由于会受到网络状况的影响,使得数据传输速度受到限制,为了最大限度的提高数据传输的效率,可以依据当前的网络状况确定数据请求方单次可以从数据提供方拉取的数据块的个数。具体的,可以通过在数据拉取请求中添加单次向数据提供方请求拉取的数据块的个数信息,以使得数据提供基于请求拉取的数据块的个数来反馈与单次向数据提供方请求拉取的数据块的个数相同的数据块,进而实现基于确定数据请求方的网络状况来选择最优的数据传输速度,以提高数据请求方和数据提供方之间的数据传输效率。
参考图9,图9示意性示出了根据本申请的一个实施例的数据传输方法的流程图,如图9所示,在向数据提供方发送数据拉取请求S210之前,所述数据传输方法还包括如下步骤,
步骤S207,确定数据传输通道的网络延迟。
步骤S208,获取预设的数据传输速度以及预设的单个数据块大小。
步骤S209,基于所述数据传输通道的网络延迟、所述预设的数据传输速度以及所述预设的单个数据块大小确定单次向所述数据提供方请求拉取的数据块的个数。
以下针对这几个步骤来进行具体描述。
在步骤S207中,数据请求方在根据网络状况确定数据请求方单次可以从数据提供方拉取的数据块的个数时,需要确定数据传输通道的网络延迟。具体的,数据请求方可以向数据提供方发送用于测试数据传输通道的网络延迟的数据包,数据提供方根据数据包来确定得到数据请求方的数据传输通道的网络延迟,并将确定的数据传输通道的网络延迟信息发送给数据请求方,以使得数据请求方获取数据传输通道的网络延迟。
在步骤S208中,数据请求方在根据网络状况确定数据请求方单次可以从数据提供方拉取的数据块的个数时,还需要获取预设的数据传输速度以及预设的单个数据块大小,其中,预设的数据传输速度以及预设的单个数据块大小可以根据数据请求方的历史数据传输记录来确定,具体的,从每次历史数据传输记录获取每次进行数据传输时的数据传输速度以及每次进行数据传输时的单个数据块大小,根据每次进行数据传输时的数据传输速度进行平均求和得到预设的数据传输速度以及根据每次进行数据传输时的数据传输速度进行平均求和得到预设的单个数据块大小。
在步骤S209中,数据请求方基于数据传输通道的网络延迟、预设的数据传输速度以及预设的单个数据块大小确定单次向数据提供方请求拉取的数据块的个数,具体的,单次向数据提供方请求拉取的数据块的个数等于预设的数据传输速度除以预设的数据传输速度、以及除以数据传输通道的网络延迟的值来确定,需要说明的是,当该值不是正整数时,需要对该值进行取整,以得到单次向数据提供方请求拉取的数据块的个数。
参考图10,图10示意性示出了根据本申请的一个实施例的数据传输方法的流程图,如图10所示,在本实施例中,在确定从所述数据提供方拉取数据成功的步骤之后,所述数据传输方法还包括:
步骤S250,基于从所述数据提供方拉取的数据对本地存储的数据进行更新,并生成更新日志;
步骤S260,发送所述更新日志至日志服务器。
在步骤S250中,数据请求方在从数据提供方拉取数据成功后,将根据数据提供方拉取的数据对本地存储的数据进行更新,具体,可以对本地存储的数据的版本号和用于标识数据为增量数据或者全量数据的标识信息进行更新,并针对更新的结果生成更新日志。
在步骤S260中,数据请求方发送更新日志至日志服务器,以使得日志服务器获取数据传输网络中的每个数据请求方每次进行数据资源更新的更新记录。
在本申请的一个实施例中,日志服务器根据从数据请求方接收到的更新日志确定每个数据请求方当前存储的数据的版本号,进而确定每个数据请求方的数据资源更新的更新情况。为了便于直观的查看每个数据请求方的数据资源更新的更新情况,可以将每个数据请求方的数据资源更新的更新情况在显示界面进行展示。
在本申请的一个实施例中,日志服务器还可以根据所确定的每个数据请求方的数据资源更新的更新情况,确定某个数据请求方是否产生故障。当某个数据请求方对应的服务器的数据资源的版本号低于其它服务器的数据资源的版本号,且数据资源的版本号差值达到预定阈值时,则说明该数据请求方对应的服务器产生故障。为了便于直观地查看每个数据请求方对应的服务器是否产生故障,可以将数据请求方对应的服务器产生故障的情况进行展示。具体的,可以采用信号灯来对数据请求方对应的服务器产生故障情况进行标识,例如通过采用红色信号灯来标识数据请求方对应的服务器产生故障,并采用绿色信号灯来标识数据请求方对应的服务器未产生故障。
参考图11,图11示意性示出了根据本申请的一个实施例的数据传输方法的流程图,如图11所示,在一个实施例中,所述请求拉取的数据资源还包括请求拉取的数据块的序列号,所述数据传输方法还包括:
步骤S251,若请求拉取的数据块总个数与从所述数据提供方接收的数据块的总个数不一致或请求拉取的总数据大小与从所述数据提供方接收的总数据大小不一致,则确定未接收到的数据块的序列号;
步骤S252,根据所述未接收到的数据块的序列号,生成新的数据拉取请求;
步骤S253,发送所述新的数据拉取请求至所述数据提供方。
在步骤S251中,数据请求方在向数据提供方发送数据拉取请求时,在数据拉取请求中,请求拉取的数据资源还包括请求拉取的数据块的序列号,通过在请求拉取的数据资源添加数据块的序列号,用于使得数据请求方能有序的向数据提供方请求所需要的数据资源。此外,当数据请求方在从数据提供方拉取数据后,数据请求方可以将请求拉取的数据块总个数与从数据提供方接收的数据块的总个数进行比较以及将请求拉取的总数据大小与从数据提供方接收的总数据大小进行比较,以确定从数据提供方接收数据资源是否完整;若请求拉取的数据块总个数与从数据提供方接收的数据块的总个数不一致或请求拉取的总数据大小与从数据提供方接收的总数据大小不一致,则说明从数据提供方接收的数据资源不完整,数据请求方可以根据已经接收到的数据包、每个数据包的序列号以及请求拉取的数据块总个数确定未接收到的数据块的序列号。
在步骤S252中,数据请求方将未接收到的数据块的序列号添加到请求获取的数据资源信息中,以生成新的数据拉取请求。
在步骤S253中,数据请求方发送新的数据拉取请求至数据提供方,以便于向数据提供方拉取未接收到的数据块,即使在数据块的传输过程中出现掉包而导致数据请求方未能接收到某些数据块时,依然可以根据未接收到的数据块的序列号及时向数据提供方拉取这些数据块,以保证数据传输的完整性。
图12示意性示出了根据本申请的一个实施例的数据传输方法的流程图,该数据传输方法的执行主体为数据提供方。如图12所示,该数据传输方法至少包括步骤S310至步骤S330,详细介绍如下:
在步骤S310中,接收来自数据请求方发送的数据拉取请求,其中,所述数据拉取请求中包含有请求拉取的数据资源。
在本申请的一个实施例中,上述请求拉取的数据资源可以为某个种类的业务数据资源,例如广告业务数据资源或新闻业务数据资源等不同种类的数据资源。上述数据拉取请求作为数据请求方向数据提供方请求拉取所需要的数据资源的请求,该数据拉取请求可以由数据请求方基于数据资源的获取需求所生成,数据提供方可以基于数据请求方所发送的数据拉取请求,向数据请求方推送请求拉取的数据资源。
在步骤S320中,基于存储的数据对所述数据拉取请求进行校验。
在本申请的一个实施例中,数据提供方在接收到数据请求方的数据拉取请求后,将对该数据拉取请求进行校验,具体的,数据提供方确定所存储的数据库中是否存在与数据拉取请求中所请求拉取的数据资源完全匹配的数据资源,当所存储的数据库中存在与所请求拉取的数据资源完全匹配的数据资源时,则校验通过,当所存储的数据库中不存在与所请求拉取的数据资源完全匹配的数据资源时,则校验未通过。
图14示意性示出了根据本申请的一个实施例的数据传输方法的流程图,如图14所示,在本申请的一个实施例中,所述请求拉取的数据资源包括请求拉取的数据种类、请求拉取的数据版本号以及用于标识请求拉取的数据为增量数据或全量数据的标识信息,所述基于存储的数据对所述数据拉取请求进行校验的步骤S320,包括:
步骤S3201,确定是否存储有所述种类数据。
步骤S3202,若存储有所述种类数据,则确定存储的所述种类数据的数据版本号是否与所述请求拉取的数据版本号一致,且所述用于标识所述数据提供方存储的所述种类数据为增量数据或全量数据的标识信息是否与用于标识请求拉取的数据为增量数据或全量数据的标识信息一致。
步骤S3203,若所述存储的所述种类数据的数据版本号与所述请求拉取的数据版本号一致,且所述用于标识所述数据提供方存储的所述种类数据为增量数据或全量数据的标识信息与用于标识请求拉取的数据为增量数据或全量数据的标识信息一致,则确定校验通过。
步骤S3204,若所述存储的所述种类数据的数据版本号与所述请求拉取的数据版本号不一致,和/或所述用于标识所述数据提供方存储的所述种类数据为增量数据或全量数据的标识信息与用于标识请求拉取的数据为增量数据或全量数据的标识信息不一致,则确定校验未通过。
以下针对上述步骤进行详细描述。
在步骤S3101中,请求拉取的数据资源包括请求拉取的数据种类、请求拉取的数据版本号以及用于标识请求拉取的数据为增量数据或全量数据的标识信息。其中,上述请求拉取的数据种类为请求拉取的数据资源的种类,用于作为数据请求方和数据提供方针对不同种类的数据资源的标识信息;上述请求拉取的数据版本号则为某种数据资源在每次更新时进行记录的数据版本号;增量数据指的是某种数据资源在每次进行更新时,从某一数据版本号的数据资源更新为另一数据版本号的数据资源时,所增加的数据资源,全量数据则为每个数据版本号的数据资源所包含的所有数据。
数据请求方当需要对某种数据资源进行更新时,可以依据当前的资源情况,来确定所请求拉取的数据资源的数据种类、数据版本号以及用于标识请求拉取的数据为增量数据或全量数据的标识信息生成数据拉取请求。数据提供方接收数据请求方发送的数据拉取请求,并基于所存储的数据对该数据拉取请求进行校验,以确定所存储的数据是否存在与数据拉取请求所请求拉取的数据资源完全匹配的数据资源。
数据提供方在确定所存储的数据是否存在与数据拉取请求所请求拉取的数据资源完全匹配的数据资源时,需要先确定所存储的数据中是否存在请求拉取的数据种类的数据资源,若不存在请求拉取的数据种类的数据资源,则针对该数据拉取请求,不用作任何应答。若存在请求拉取的数据种类的数据资源,则针对该数据拉取请求,还需要对数据拉取请求中的请求拉取的数据版本号以及用于标识请求拉取的数据为增量数据或全量数据的标识信息进行校验,以确定所存储的数据是否存在与数据拉取请求所请求拉取的数据资源完全匹配的数据资源。
在步骤S3102中,数据提供方在确定所存储的数据中存在请求拉取的数据种类的数据资源后,则对数据拉取请求中的请求拉取的数据版本号以及用于标识请求拉取的数据为增量数据或全量数据的标识信息进行校验。具体的,可以确定存储的种类数据的数据版本号是否与请求拉取的数据版本号一致,且用于标识数据提供方存储的种类数据为增量数据或全量数据的标识信息是否与用于标识请求拉取的数据为增量数据或全量数据的标识信息一致,进而确定所存储的数据是否存在与数据拉取请求所请求拉取的数据资源完全匹配的数据资源。
在步骤S3103中,若存储的种类数据的数据版本号与请求拉取的数据版本号一致,且用于标识所述数据提供方存储的种类数据为增量数据或全量数据的标识信息与用于标识请求拉取的数据为增量数据或全量数据的标识信息一致时,则数据提供方确定校验通过。
在步骤S3104中,若存储的种类数据的数据版本号与请求拉取的数据版本号不一致,且用于标识数据提供方存储的种类数据为增量数据或全量数据的标识信息与用于标识请求拉取的数据为增量数据或全量数据的标识信息不一致;或存储的种类数据的数据版本号与请求拉取的数据版本号一致,但用于标识数据提供方存储的种类数据为增量数据或全量数据的标识信息与用于标识请求拉取的数据为增量数据或全量数据的标识信息不一致;或存储的种类数据的数据版本号与请求拉取的数据版本号不一致,且用于标识数据提供方存储的种类数据为增量数据或全量数据的标识信息与用于标识请求拉取的数据为增量数据或全量数据的标识信息一致,则确定校验未通过。
还请继续参考图12,在步骤S330中,若校验通过,发送第一应答信息至所述数据请求方,其中,所述第一应答信息中包含有针对所述数据拉取请求确定的需要反馈的第一数据信息,以及针对所述数据拉取请求的响应数据,以使得所述数据请求方根据从所述数据提供方接收到的响应数据,确定所述响应数据的第二数据信息,并根据所述第一数据信息与所述第二数据信息确定从所述数据提供方拉取数据是否成功。
在本申请的一个实施例中,数据提供方在校验通过后,将反馈第一应答信息至数据请求方,数据请求方接收数据提供方针对数据拉取请求校验通过后所反馈的第一应答信息。需要指出的是,第一应答信息包含有针对数据拉取请求确定的需要反馈的第一数据信息以及针对数据拉取请求的响应数据,第一数据信息为包含数据提供方所需要发送给数据请求方的数据资源的具体数据信息,该第一数据信息用于使得数据请求方获知所请求拉取的数据资源的具体数据信息,上述响应数据则为请求拉取的数据资源的数据包信息。
第二数据信息为数据请求方根据从数据提供方接收到的响应数据确定所接收的响应数据的具体数据信息,数据请求方将第一数据信息中包含的多种具体数据信息与第二数据信息中包含的所接收的响应数据的多个具体数据信息进行匹配,以确定从数据提供方所拉取的数据资源是否完整。若第一数据信息中包含的所接收的响应数据的具体数据信息与第二数据信息包含的所接收的响应数据的具体数据信息一致,则确定第一数据信息与第二数据信息相匹配;若第一数据信息中包含的所接收的响应数据的具体数据信息与第二数据信息包含的所接收的响应数据的具体数据信息不一致,则确定第一数据信息与第二数据信息不匹配。当第一数据信息与所述第二数据信息相匹配,则数据请求方确定从数据提供方所拉取的数据资源是完整的,并且可以确定从数据提供方拉取数据成功。
图13示意性示出了根据本申请的一个实施例的数据传输方法的流程图,如图13所示,在本申请一个实施例中,在基于存储的数据对所述数据拉取请求进行校验的步骤S320之后,所述数据传输方法还包括:
步骤S340,若校验未通过,发送第二应答信息至所述数据请求方,其中,所述第二应答信息包含有所述数据提供方能够提供的数据信息,以使得所述数据请求方根据所述第二应答信息对所述数据拉取请求进行更新。
在步骤S340中,当数据提供方在接收到数据请求方的数据拉取请求后,将对该数据拉取请求进行校验,具体的,数据提供方确定所存储的数据库中是否存在与数据拉取请求所请求拉取的数据资源完全匹配的数据资源。当所存储的数据库中是不存在与数据拉取请求所请求拉取的数据资源完全匹配的数据资源时,则校验未通过,数据提供方反馈的第二应答信息至数据请求方,数据请求方接收数据提供方反馈的第二应答信息。其中,第二应答信息为包括数据提供方针对该数据资源所能提供的数据信息,并将针对该数据资源所能提供的数据信息发送给数据请求方,以使得数据提供方获取针对该数据资源所能够提供的数据信息,以便于对数据拉取请求进行更新,进而实现基于数据提供方能够提供的数据信息发起更新后的数据请求。
本申请实施例的技术方案与现有的数据传输方式相比,通过由数据请求方主动向数据提供方发送数据拉取请求,以请求拉取所需要的数据资源,并同时从数据提供方接收数据提供方针对数据拉取请求确定的需要反馈的第一数据信息,以及从数据提供方获取的响应数据,进而由数据请求方根据第一数据信息来确定从数据提供方获取的数据资源是否完整,即在数据流通过程中,由数据请求方对从数据提供方获取的数据资源进行校验管理,进而有效解决了数据提供方由于性能瓶颈的限制无法实现同时针对较多数据请求方而推送数据资源的问题,不需要部署大量的数据提供方以满足数据分发的需求,降低了成本。
以下介绍本申请的装置实施例,可以用于执行本申请上述实施例中的数据传输方法。对于本申请装置实施例中未披露的细节,请参照本申请上述的数据传输方法的实施例。
图15示意性示出了根据本申请的一个实施例的数据请求方侧的数据传输装置的框图。
参照图15所示,根据本申请的一个实施例的数据传输装置400,包括:第一发送单元410、第一接收单元420、第一执行单元430和第二执行单元440。
其中,接收单元1402用于向数据提供方发送数据拉取请求,所述数据拉取请求中包含有请求拉取的数据资源;第一接收单元420用于接收所述数据提供方对所述数据拉取请求校验通过后反馈的第一应答信息,其中,所述第一应答信息中包含有针对所述数据拉取请求确定的需要反馈的第一数据信息,以及针对所述数据拉取请求的响应数据;第一执行单元430用于根据从所述数据提供方接收到的响应数据,确定所述响应数据的第二数据信息;第二执行单元440用于若所述第一数据信息与所述第二数据信息相匹配,则确定从所述数据提供方拉取数据成功。
在本申请的一个实施例中,所述数据传输装置400还包括:更新单元,用于若接收到所述数据提供方对所述数据拉取请求校验未通过后反馈的第二应答信息,则根据所述第二应答信息对所述数据拉取请求进行更新,得到更新后的数据拉取请求,其中,所述第二应答信息包含有所述数据提供方能够提供的数据信息;第二发送单元,用于发送所述更新后的数据拉取请求至所述数据提供方。
在本申请的一个实施例中,所述第一数据信息包括请求拉取的数据块总个数以及请求拉取的总数据大小,所述响应数据包括数据块、数据块的序列号以及单个数据块的大小,所述数据传输装置还包括:第一执行单元430用于按照所述响应数据中所包含的数据块的序列号对所述数据块进行组装,并根据所述单个数据块的大小,确定从所述数据提供方接收的总数据大小和从所述数据提供方接收的数据块的总个数;第二执行单元440用于若请求拉取的数据块总个数与从所述数据提供方接收的数据块的总个数一致,且请求拉取的总数据大小与从所述数据提供方接收的总数据大小一致,则确定从所述数据提供方拉取数据成功。
在本申请的一个实施例中,所述数据传输装置400还包括:所述第三执行单元用于若请求拉取的数据块总个数与从所述数据提供方接收的数据块的总个数不一致或请求拉取的总数据大小与从所述数据提供方接收的总数据大小不一致,则确定未接收到的数据块的序列号;第一生成单元用于根据所述未接收到的数据块的序列号,生成新的数据拉取请求;第三发送单元用于发送所述新的数据拉取请求至所述数据提供方。
在本申请的一个实施例中,所述数据传输装置400还包括:第四发送单元,用于若在发送所述数据拉取请求后的预设时间段内未监测到所述数据提供方反馈的针对所述数据拉取请求的应答信息,则再次向所述数据提供方发送数据拉取请求。
在本申请的一个实施例中,所述请求拉取的数据资源包括:单次向所述数据提供方请求拉取的数据块的个数;所述响应数据包括:与单次向所述数据提供方请求拉取的数据块的个数相同的数据块。
在本申请的一个实施例中,所述数据传输装置400还包括:第四执行单元,用于确定数据传输通道的网络延迟,获取单元,用于获取预设的数据传输速度以及预设的单个数据块大小;第五执行单元,用于基于所述数据传输通道的网络延迟、所述预设的数据传输速度以及所述预设的单个数据块大小确定单次向所述数据提供方请求拉取的数据块的个数。
在本申请的一个实施例中,若数据提供方为多个,所述第一发送单元410用于从预设的配置信息中获取可用的多个数据提供方的设备标识信息;确定所述多个数据提供方的优先级;选择优先级最高的数据提供方,向该优先级最高的数据提供方发送所述数据拉取请求。
在本申请的一个实施例中,所述数据传输装置还包括:第二生成单元用于基于从所述数据提供方拉取的数据对本地存储的数据进行更新,并生成更新日志;第五发送单元,用于发送所述更新日志至日志服务器。
图16示意性示出了根据本申请的一个实施例的数据提供方侧的数据传输装置的框图。
参照图16所示,根据本申请的一个实施例的数据传输装置500,包括:第二接收单元510、校验单元520和第六发送单元530。
其中,第二接收单元510用于接收来自数据请求方发送的数据拉取请求,其中,所述数据拉取请求中包含有请求拉取的数据资源;校验单元520用于基于存储的数据对所述数据拉取请求进行校验;第六发送单元530用于若校验通过,发送第一应答信息至所述数据请求方,其中,所述第一应答信息中包含有针对所述数据拉取请求确定的需要反馈的第一数据信息,以及针对所述数据拉取请求的响应数据,以使得所述数据请求方根据从所述数据提供方接收到的响应数据,确定所述响应数据的第二数据信息,并根据所述第一数据信息与所述第二数据信息确定从所述数据提供方拉取数据是否成功。
在本申请的一个实施例中,所述数据传输装置500还包括:第七发送单元,用于若校验未通过,发送第二应答信息至所述数据请求方,其中,所述第二应答信息包含有所述数据提供方能够提供的数据信息,以使得所述数据请求方根据所述第二应答信息对所述数据拉取请求进行更新。
在本申请的一个实施例中,校验单元520用于确定是否存储有所述种类数据;若存储有所述种类数据,则确定存储的所述种类数据的数据版本号是否与所述请求拉取的数据版本号一致,且所述用于标识所述数据提供方存储的所述种类数据为增量数据或全量数据的标识信息是否与用于标识请求拉取的数据为增量数据或全量数据的标识信息一致;若所述存储的所述种类数据的数据版本号与所述请求拉取的数据版本号一致,且所述用于标识所述数据提供方存储的所述种类数据为增量数据或全量数据的标识信息与用于标识请求拉取的数据为增量数据或全量数据的标识信息一致;若所述存储的所述种类数据的数据版本号与所述请求拉取的数据版本号不一致,和/或所述用于标识所述数据提供方存储的所述种类数据为增量数据或全量数据的标识信息与用于标识请求拉取的数据为增量数据或全量数据的标识信息不一致,则确定校验未通过。
图17示出了适于用来实现本申请实施例的电子设备的计算机系统的结构示意图,其中,该电子设备例如图1的数据请求方101或数据提供方102等电子设备来实现。
需要说明的是,图17示出的电子设备的计算机系统1500仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
如图17所示,计算机系统1500包括中央处理单元(Central Processing Unit,CPU)1501,其可以根据存储在只读存储器(Read-Only Memory,ROM)1502中的程序或者从存储部分1508加载到随机访问存储器(Random Access Memory,RAM)1503中的程序而执行各种适当的动作和处理,例如执行上述实施例中所述的方法。在RAM 1503中,还存储有系统操作所需的各种程序和数据。CPU 1501、ROM 1502以及RAM 1503通过总线1504彼此相连。输入/输出(Input/Output,I/O)接口1505也连接至总线1504。
以下部件连接至I/O接口1505:包括键盘、鼠标等的输入部分1506;包括诸如阴极射线管(Cathode Ray Tube,CRT)、液晶显示器(Liquid Crystal Display,LCD)等以及扬声器等的输出部分1507;包括硬盘等的存储部分1508;以及包括诸如LAN(Local AreaNetwork,局域网)卡、调制解调器等的网络接口卡的通信部分1509。通信部分1509经由诸如因特网的网络执行通信处理。驱动器1510也根据需要连接至I/O接口1505。可拆卸介质1511,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器1510上,以便于从其上读出的计算机程序根据需要被安装入存储部分1508。
特别地,根据本申请的实施例,下文参考流程图描述的过程可以被实现为计算机软件程序。例如,本申请的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分1509从网络上被下载和安装,和/或从可拆卸介质1511被安装。在该计算机程序被中央处理单元(CPU)1501执行时,执行本申请的系统中限定的各种功能。
需要说明的是,本申请实施例所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(Erasable Programmable Read Only Memory,EPROM)、闪存、光纤、便携式紧凑磁盘只读存储器(Compact Disc Read-Only Memory,CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本申请中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本申请中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、有线等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本申请各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本申请实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现,所描述的单元也可以设置在处理器中。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定。
作为另一方面,本申请还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该电子设备执行时,使得该电子设备实现上述实施例中所述的方法。
应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本申请的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本申请实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、触控终端、或者网络设备等)执行根据本申请实施方式的方法。
本领域技术人员在考虑说明书及实践这里公开的申请后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。
应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求来限制。
Claims (20)
1.一种数据传输方法,其特征在于,应用于数据请求方,包括:
向数据提供方发送用于测试数据传输通道的网络延迟的数据包,并接收所述数据提供方发送的数据传输通道的网络延迟;
从每次历史数据传输记录获取每次进行数据传输时的数据传输速度以及每次进行数据传输时的单个数据块大小,并根据每次进行数据传输时的数据传输速度进行平均求和运算得到预设的数据传输速度,以及根据每次进行数据传输时的数据传输速度进行平均求和运算得到预设的单个数据块大小;
根据所述数据传输通道的网络延迟、所述预设的数据传输速度以及所述预设的单个数据块大小,确定单次向所述数据提供方请求拉取的数据块的个数;
向所述数据提供方发送数据拉取请求,所述数据拉取请求中包含有请求拉取的数据资源,所述请求拉取的数据资源包括单次向所述数据提供方请求拉取的数据块的个数;其中,所述数据请求方和所述数据提供方是云端服务器群中的服务器,所述云端服务器群中的每个服务器之间存在有多种连接关系;
接收所述数据提供方对所述数据拉取请求校验通过后反馈的第一应答信息,其中,所述第一应答信息中包含有针对所述数据拉取请求确定的需要反馈的第一数据信息,以及针对所述数据拉取请求的响应数据,所述响应数据包括与单次向所述数据提供方请求拉取的数据块的个数相同的数据块;
根据从所述数据提供方接收到的响应数据,确定所述响应数据的第二数据信息;
若所述第一数据信息与所述第二数据信息相匹配,则确定从所述数据提供方拉取数据成功。
2.根据权利要求1所述的数据传输方法,其特征在于,在向数据提供方发送数据拉取请求之后,所述数据传输方法还包括:
若接收到所述数据提供方对所述数据拉取请求校验未通过后反馈的第二应答信息,则根据所述第二应答信息对所述数据拉取请求进行更新,得到更新后的数据拉取请求,其中,所述第二应答信息包含有所述数据提供方能够提供的数据信息;
发送所述更新后的数据拉取请求至所述数据提供方。
3.根据权利要求1所述的数据传输方法,其特征在于,所述第一数据信息包括请求拉取的数据块总个数以及请求拉取的总数据大小,所述响应数据包括数据块、数据块的序列号以及单个数据块的大小;
所述根据从所述数据提供方接收到的响应数据,确定所述响应数据的第二数据信息,包括:
按照所述响应数据中所包含的数据块的序列号对所述数据块进行组装,并根据所述单个数据块的大小,确定从所述数据提供方接收的总数据大小和从所述数据提供方接收的数据块的总个数;
所述若所述第一数据信息与所述第二数据信息相匹配,则确定从所述数据提供方拉取数据成功,包括:若请求拉取的数据块总个数与从所述数据提供方接收的数据块的总个数一致,且请求拉取的总数据大小与从所述数据提供方接收的总数据大小一致,则确定从所述数据提供方拉取数据成功。
4.根据权利要求3所述的数据传输方法,其特征在于,所述请求拉取的数据资源还包括请求拉取的数据块的序列号,所述数据传输方法还包括:
若请求拉取的数据块总个数与从所述数据提供方接收的数据块的总个数不一致或请求拉取的总数据大小与从所述数据提供方接收的总数据大小不一致,则确定未接收到的数据块的序列号;
根据所述未接收到的数据块的序列号,生成新的数据拉取请求;
发送所述新的数据拉取请求至所述数据提供方。
5.根据权利要求1所述的数据传输方法,其特征在于,在向数据提供方发送数据拉取请求之后,所述数据传输方法还包括:
若在发送所述数据拉取请求后的预设时间段内未监测到所述数据提供方反馈的针对所述数据拉取请求的应答信息,则再次向所述数据提供方发送数据拉取请求。
6.根据权利要求1至5中任一项所述的数据传输方法,其特征在于,若数据提供方为多个,则所述向数据提供方发送数据拉取请求,包括:
从预设的配置信息中获取可用的多个数据提供方的设备标识信息;
确定所述多个数据提供方的优先级;
选择优先级最高的数据提供方,向该优先级最高的数据提供方发送所述数据拉取请求。
7.根据权利要求1至5中任一项所述的数据传输方法,其特征在于,在确定从所述数据提供方拉取数据成功之后,所述数据传输方法还包括:
基于从所述数据提供方拉取的数据对本地存储的数据进行更新,并生成更新日志;
发送所述更新日志至日志服务器。
8.一种数据传输方法,其特征在于,应用于数据提供方,包括:
接收来自数据请求方发送的用于测试数据传输通道的网络延迟的数据包;
根据所述数据包确定所述数据传输通道的网络延迟,并发送所述数据传输通道的网络延迟至所述数据请求方,以使所述数据请求方根据所述数据传输通道的网络延迟、预设的数据传输速度以及预设的单个数据块大小,确定单次向所述数据提供方请求拉取的数据块的个数;
接收来自数据请求方发送的数据拉取请求,其中,所述数据拉取请求中包含有请求拉取的数据资源,所述请求拉取的数据资源包括单次向所述数据提供方请求拉取的数据块的个数,所述数据请求方和所述数据提供方是云端服务器群中的服务器,所述云端服务器群中的每个服务器之间存在有多种连接关系;
基于存储的数据对所述数据拉取请求进行校验;
若校验通过,发送第一应答信息至所述数据请求方,其中,所述第一应答信息中包含有针对所述数据拉取请求确定的需要反馈的第一数据信息,以及针对所述数据拉取请求的响应数据,所述响应数据包括与单次向所述数据提供方请求拉取的数据块的个数相同的数据块,以使得所述数据请求方根据从所述数据提供方接收到的响应数据,确定所述响应数据的第二数据信息,并根据所述第一数据信息与所述第二数据信息确定从所述数据提供方拉取数据是否成功。
9.根据权利要求8所述的数据传输方法,其特征在于,在基于存储的数据对所述数据拉取请求进行校验之后,所述数据传输方法还包括:
若校验未通过,发送第二应答信息至所述数据请求方,其中,所述第二应答信息包含有所述数据提供方能够提供的数据信息,以使得所述数据请求方根据所述第二应答信息对所述数据拉取请求进行更新。
10.根据权利要求8所述的数据传输方法,其特征在于,所述请求拉取的数据资源包括请求拉取的数据种类、请求拉取的数据版本号以及用于标识请求拉取的数据为增量数据或全量数据的标识信息,所述基于存储的数据对所述数据拉取请求进行校验,包括:
确定是否存储有所述种类数据;
若存储有所述种类数据,则确定存储的所述种类数据的数据版本号是否与所述请求拉取的数据版本号一致,且所述用于标识所述数据提供方存储的所述种类数据为增量数据或全量数据的标识信息是否与用于标识请求拉取的数据为增量数据或全量数据的标识信息一致;
若所述存储的所述种类数据的数据版本号与所述请求拉取的数据版本号一致,且所述用于标识所述数据提供方存储的所述种类数据为增量数据或全量数据的标识信息与用于标识请求拉取的数据为增量数据或全量数据的标识信息一致,则确定校验通过;
若所述存储的所述种类数据的数据版本号与所述请求拉取的数据版本号不一致,和/或所述用于标识所述数据提供方存储的所述种类数据为增量数据或全量数据的标识信息与用于标识请求拉取的数据为增量数据或全量数据的标识信息不一致,则确定校验未通过。
11.一种数据传输装置,其特征在于,配置于数据请求方,包括:
第四执行单元,用于向数据提供方发送用于测试数据传输通道的网络延迟的数据包,并接收所述数据提供方发送的数据传输通道的网络延迟;
获取单元,用于从每次历史数据传输记录获取每次进行数据传输时的数据传输速度以及每次进行数据传输时的单个数据块大小,并根据每次进行数据传输时的数据传输速度进行平均求和运算得到预设的数据传输速度,以及根据每次进行数据传输时的数据传输速度进行平均求和运算得到预设的单个数据块大小;
第五执行单元,用于根据所述数据传输通道的网络延迟、所述预设的数据传输速度以及所述预设的单个数据块大小,确定单次向所述数据提供方请求拉取的数据块的个数;
第一发送单元,用于向所述数据提供方发送数据拉取请求,所述数据拉取请求中包含有请求拉取的数据资源,所述请求拉取的数据资源包括单次向所述数据提供方请求拉取的数据块的个数;其中,所述数据请求方和所述数据提供方是云端服务器群中的服务器,所述云端服务器群中的每个服务器之间存在有多种连接关系;
第一接收单元,用于接收所述数据提供方对所述数据拉取请求校验通过后反馈的第一应答信息,其中,所述第一应答信息中包含有针对所述数据拉取请求确定的需要反馈的第一数据信息,以及针对所述数据拉取请求的响应数据,所述响应数据包括与单次向所述数据提供方请求拉取的数据块的个数相同的数据块;
第一执行单元,用于根据从所述数据提供方接收到的响应数据,确定所述响应数据的第二数据信息;
第二执行单元,用于若所述第一数据信息与所述第二数据信息相匹配,则确定从所述数据提供方拉取数据成功。
12.根据权利要求11所述的数据传输装置,其特征在于,所述数据传输装置还包括:
更新单元,用于若接收到所述数据提供方对所述数据拉取请求校验未通过后反馈的第二应答信息,则根据所述第二应答信息对所述数据拉取请求进行更新,得到更新后的数据拉取请求,其中,所述第二应答信息包含有所述数据提供方能够提供的数据信息;
第二发送单元,用于发送所述更新后的数据拉取请求至所述数据提供方。
13.根据权利要求11所述的数据传输装置,其特征在于,所述第一数据信息包括请求拉取的数据块总个数以及请求拉取的总数据大小,所述响应数据包括数据块、数据块的序列号以及单个数据块的大小;
第一执行单元,具体用于按照所述响应数据中所包含的数据块的序列号对所述数据块进行组装,并根据所述单个数据块的大小,确定从所述数据提供方接收的总数据大小和从所述数据提供方接收的数据块的总个数;
第二执行单元,具体用于若请求拉取的数据块总个数与从所述数据提供方接收的数据块的总个数一致,且请求拉取的总数据大小与从所述数据提供方接收的总数据大小一致,则确定从所述数据提供方拉取数据成功。
14.根据权利要求13所述的数据传输装置,其特征在于,所述请求拉取的数据资源还包括请求拉取的数据块的序列号,所述数据传输装置还包括:
第三执行单元,用于若请求拉取的数据块总个数与从所述数据提供方接收的数据块的总个数不一致或请求拉取的总数据大小与从所述数据提供方接收的总数据大小不一致,则确定未接收到的数据块的序列号;第一生成单元,用于根据所述未接收到的数据块的序列号,生成新的数据拉取请求;
第三发送单元,用于发送所述新的数据拉取请求至所述数据提供方。
15.根据权利要求11所述的数据传输装置,其特征在于,所述数据传输装置还包括:
第四发送单元,用于若在发送所述数据拉取请求后的预设时间段内未监测到所述数据提供方反馈的针对所述数据拉取请求的应答信息,则再次向所述数据提供方发送数据拉取请求。
16.根据权利要求11至15中任一项所述的数据传输装置,其特征在于,若数据提供方为多个;
所述第一发送单元,用于从预设的配置信息中获取可用的多个数据提供方的设备标识信息;确定所述多个数据提供方的优先级;选择优先级最高的数据提供方,向该优先级最高的数据提供方发送所述数据拉取请求。
17.根据权利要求11至15中任一项所述的数据传输装置,其特征在于,所述数据传输装置还包括:
第二生成单元,用于基于从所述数据提供方拉取的数据对本地存储的数据进行更新,并生成更新日志;
第五发送单元,用于发送所述更新日志至日志服务器。
18.一种数据传输装置,其特征在于,配置于数据提供方,包括:
第三接收单元,用于接收来自数据请求方发送的用于测试数据传输通道的网络延迟的数据包;
第八发送单元,用于根据所述数据包确定所述数据传输通道的网络延迟,并发送所述数据传输通道的网络延迟至所述数据请求方,以使所述数据请求方根据所述数据传输通道的网络延迟、预设的数据传输速度以及预设的单个数据块大小,确定单次向所述数据提供方请求拉取的数据块的个数;
第二接收单元,用于接收来自数据请求方发送的数据拉取请求,其中,所述数据拉取请求中包含有请求拉取的数据资源,所述请求拉取的数据资源包括单次向所述数据提供方请求拉取的数据块的个数,所述数据请求方和所述数据提供方是云端服务器群中的服务器,所述云端服务器群中的每个服务器之间存在有多种连接关系;
校验单元,用于基于存储的数据对所述数据拉取请求进行校验;
第六发送单元,用于若校验通过,发送第一应答信息至所述数据请求方,其中,所述第一应答信息中包含有针对所述数据拉取请求确定的需要反馈的第一数据信息,以及针对所述数据拉取请求的响应数据,所述响应数据包括与单次向所述数据提供方请求拉取的数据块的个数相同的数据块,以使得所述数据请求方根据从所述数据提供方接收到的响应数据,确定所述响应数据的第二数据信息,并根据所述第一数据信息与所述第二数据信息确定从所述数据提供方拉取数据是否成功。
19.根据权利要求18所述的数据传输装置,其特征在于,所述数据传输装置还包括:
第七发送单元,用于若校验未通过,发送第二应答信息至所述数据请求方,其中,所述第二应答信息包含有所述数据提供方能够提供的数据信息,以使得所述数据请求方根据所述第二应答信息对所述数据拉取请求进行更新。
20.根据权利要求18所述的数据传输装置,其特征在于,所述请求拉取的数据资源包括请求拉取的数据种类、请求拉取的数据版本号以及用于标识请求拉取的数据为增量数据或全量数据的标识信息;
校验单元,用于确定是否存储有所述种类数据;
若存储有所述种类数据,则确定存储的所述种类数据的数据版本号是否与所述请求拉取的数据版本号一致,且所述用于标识所述数据提供方存储的所述种类数据为增量数据或全量数据的标识信息是否与用于标识请求拉取的数据为增量数据或全量数据的标识信息一致;
若所述存储的所述种类数据的数据版本号与所述请求拉取的数据版本号一致,且所述用于标识所述数据提供方存储的所述种类数据为增量数据或全量数据的标识信息与用于标识请求拉取的数据为增量数据或全量数据的标识信息一致;
若所述存储的所述种类数据的数据版本号与所述请求拉取的数据版本号不一致,和/或所述用于标识所述数据提供方存储的所述种类数据为增量数据或全量数据的标识信息与用于标识请求拉取的数据为增量数据或全量数据的标识信息不一致,则确定校验未通过。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910750210.5A CN112398885B (zh) | 2019-08-14 | 2019-08-14 | 数据传输方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910750210.5A CN112398885B (zh) | 2019-08-14 | 2019-08-14 | 数据传输方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112398885A CN112398885A (zh) | 2021-02-23 |
CN112398885B true CN112398885B (zh) | 2023-03-24 |
Family
ID=74601414
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910750210.5A Active CN112398885B (zh) | 2019-08-14 | 2019-08-14 | 数据传输方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112398885B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108920309A (zh) * | 2018-07-19 | 2018-11-30 | 百度在线网络技术(北京)有限公司 | 用于处理信息的方法和装置 |
CN109756536A (zh) * | 2017-11-03 | 2019-05-14 | 株洲中车时代电气股份有限公司 | 一种数据传输的方法、装置及系统 |
CN110120959A (zh) * | 2018-02-05 | 2019-08-13 | 北京京东尚科信息技术有限公司 | 大数据推送方法、装置、系统、设备及可读存储介质 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9460180B2 (en) * | 2014-01-31 | 2016-10-04 | Sap Se | Data pulls |
JP6398674B2 (ja) * | 2014-12-08 | 2018-10-03 | 富士通株式会社 | データ送信方法、データ送信プログラム、及び情報処理装置 |
CN106657213B (zh) * | 2016-09-14 | 2020-04-07 | 深圳峰创智诚科技有限公司 | 文件传输方法和装置 |
CN106657383B (zh) * | 2017-01-12 | 2021-03-19 | 腾讯科技(深圳)有限公司 | 数据下载方法及相关设备 |
CN109862065B (zh) * | 2018-12-06 | 2021-09-14 | 北京字节跳动网络技术有限公司 | 文件下载方法、装置和电子设备 |
CN109639745A (zh) * | 2019-02-27 | 2019-04-16 | 同济汽车设计研究院有限公司 | 一种断点续传的无人车航线数据传输系统及其方法 |
-
2019
- 2019-08-14 CN CN201910750210.5A patent/CN112398885B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109756536A (zh) * | 2017-11-03 | 2019-05-14 | 株洲中车时代电气股份有限公司 | 一种数据传输的方法、装置及系统 |
CN110120959A (zh) * | 2018-02-05 | 2019-08-13 | 北京京东尚科信息技术有限公司 | 大数据推送方法、装置、系统、设备及可读存储介质 |
CN108920309A (zh) * | 2018-07-19 | 2018-11-30 | 百度在线网络技术(北京)有限公司 | 用于处理信息的方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN112398885A (zh) | 2021-02-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108683539B (zh) | 区块链网络的管理方法、装置、介质及电子设备 | |
CN107276765B (zh) | 区块链中共识的处理方法及装置 | |
JP2020144838A (ja) | ビジネスプロセスシステム、ビジネスデータ処理方法及び装置 | |
CN110852882B (zh) | 用于区块链网络的分组共识方法、装置、设备和介质 | |
CN109032796B (zh) | 一种数据处理方法和装置 | |
CN111275438B (zh) | 区块链网络的共识方法、装置、设备和存储介质 | |
CN112714192A (zh) | 数据同步方法、装置、计算机可读介质及电子设备 | |
CN109391673A (zh) | 一种管理更新文件的方法、系统及终端设备 | |
CN109388626B (zh) | 用于向业务分配编号的方法和装置 | |
CN112118315A (zh) | 数据处理系统、方法、装置、电子设备和存储介质 | |
CN110601978B (zh) | 流量分发控制方法和装置 | |
CN110019158A (zh) | 一种监控数据质量的方法和装置 | |
CN111008249B (zh) | 平行链区块同步方法、设备和存储介质 | |
CN113111043A (zh) | 一种中台源数据文件的处理方法、装置、系统及存储介质 | |
CN111161072A (zh) | 基于区块链的随机数生成方法、设备及存储介质 | |
CN109936609B (zh) | 终端链式升级方法、装置及升级管理服务器 | |
CN110839077A (zh) | 文件请求处理方法、请求反馈信息处理方法及相关组件 | |
CN111343220A (zh) | 转发器、分布式文件传输方法、系统、介质及电子设备 | |
CN112398885B (zh) | 数据传输方法和装置 | |
CN109542981B (zh) | 一种数据同步的系统及方法、电子设备、存储介质 | |
CN108156086B (zh) | 一种策略规则下发方法及装置 | |
CN116009768A (zh) | 数据采集方法和装置 | |
CN115511486A (zh) | 交易处理方法、装置、介质及电子设备 | |
CN112463310A (zh) | 基于节点分片的事务数据处理方法、系统、设备和介质 | |
CN110935168A (zh) | 用于全球同服架构的分布式id生成方法、装置及设备 |
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 |