CN111800491A - 一种数据传输方法、系统、计算设备及存储介质 - Google Patents

一种数据传输方法、系统、计算设备及存储介质 Download PDF

Info

Publication number
CN111800491A
CN111800491A CN202010583073.3A CN202010583073A CN111800491A CN 111800491 A CN111800491 A CN 111800491A CN 202010583073 A CN202010583073 A CN 202010583073A CN 111800491 A CN111800491 A CN 111800491A
Authority
CN
China
Prior art keywords
data
response time
time
transfer
data response
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
CN202010583073.3A
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.)
Chengdu Perfect World Network Technology Co Ltd
Original Assignee
Chengdu Perfect World Network 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 Chengdu Perfect World Network Technology Co Ltd filed Critical Chengdu Perfect World Network Technology Co Ltd
Priority to CN202010583073.3A priority Critical patent/CN111800491A/zh
Publication of CN111800491A publication Critical patent/CN111800491A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • 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/562Brokering proxy services
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/30Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
    • A63F13/33Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers using wide area network [WAN] connections
    • A63F13/335Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers using wide area network [WAN] connections using Internet
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/30Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
    • A63F13/35Details of game servers
    • A63F13/352Details of game servers involving special game server arrangements, e.g. regional servers connected to a national server or a plurality of servers managing partitions of the game world
    • 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/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/63Routing a service request depending on the request content or context
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/40Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterised by details of platform network
    • A63F2300/407Data transfer via internet
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/50Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers
    • A63F2300/51Server architecture
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/50Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers
    • A63F2300/53Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers details of basic data processing
    • A63F2300/531Server assignment

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本申请实施例提供一种数据传输方法、系统、计算设备及存储介质。在本申请实施例,所述方法用于在第一设备与第二设备之间进行数据传输,包括:获取第一设备与至少一个中转设备之间的至少一个第一数据响应时间;获取至少一个中转设备与第二设备之间的至少一个第二数据响应时间;针对每个中转设备,确定对应的第一数据响应时间与对应的第二数据响应时间的时间和,并从至少一个中转设备中选择目标中转设备以及对应的传输路径,以满足数据传输需求并进行数据传输。基于时间和来选择符合数据传输需求的中转设备可提高数据传输时间,同时由于通过中转设备进行数据传输,则节省了第一设备以及第二设备的资源以提高设备的处理能力。

Description

一种数据传输方法、系统、计算设备及存储介质
技术领域
本申请涉及计算机技术领域,尤其涉及一种数据传输方法、系统、计算设备及存储介质。
背景技术
伴随着互联网络的快速发展,用户可以通过互联网被提供很多服务,如,线上即时通信、线上娱乐、线上购物等。但随着用户的增多,以及业务量的增加,需要多个服务设备来提供服务。
然而,由于存在多个服务设备,每个服务设备可以存储不同的数据,为了业务需求,会需要各个服务设备之间进行通信,传输各自需要的数据。然而,由于各个服务设备之间都需要维持着通信连接来进行通信,使得各个服务设备需要管理这多个通信连接,且容易导致通信时间较长,同时过多消耗各个服务设备的资源。
发明内容
本申请的多个方面提供一种数据传输方法、系统、计算设备及存储介质,用以能够较为快速地进行数据传输,且提高资源利用率。
本申请实施例提供一种数据传输方法,用于在第一设备与第二设备之间进行数据传输,所述方法包括:获取所述第一设备与至少一个中转设备之间的至少一个第一数据响应时间;获取所述至少一个中转设备与所述第二设备之间的至少一个第二数据响应时间;针对每个中转设备,确定对应的所述第一数据响应时间与对应的所述第二数据响应时间的时间和;根据所述时间和,从所述至少一个中转设备中选择目标中转设备以及对应的传输路径,以满足数据传输需求并进行数据传输。
本申请实施例还提供一种数据传输系统,用于在第一设备与第二设备之间进行数据传输,所述系统包括:第一设备以及至少一个中转设备;所述第一设备,获取所述第一设备与至少一个中转设备之间的至少一个第一数据响应时间;获取所述至少一个中转设备与所述第二设备之间的至少一个第二数据响应时间;针对每个中转设备,确定对应的所述第一数据响应时间与对应的所述第二数据响应时间的时间和;根据所述时间和,从所述至少一个中转设备中选择目标中转设备以及对应的传输路径,以满足数据传输需求并进行数据传输;所述中转设备,用于接收所述第一设备发送的获取请求,响应所述获取请求返回所述第二响应时间。
本申请实施例还提供一种计算设备,用于在第一设备与第二设备之间进行数据传输,所述设备包括:存储器以及处理器;所述存储器,用于存储计算机程序;所述处理器,用于执行所述计算机程序,以用于:获取所述第一设备与至少一个中转设备之间的至少一个第一数据响应时间;获取所述至少一个中转设备与所述第二设备之间的至少一个第二数据响应时间;针对每个中转设备,确定对应的所述第一数据响应时间与对应的所述第二数据响应时间的时间和;根据所述时间和,从所述至少一个中转设备中选择目标中转设备以及对应的传输路径,以满足数据传输需求并进行数据传输。
本申请实施例还提供一种存储有计算机程序的计算机可读存储介质,计算机程序被一个或多个处理器执行时,致使所述一个或多个处理器实现上述方法中的步骤。
在本申请实施例中,用于在第一设备与第二设备之间进行数据传输,获取第一设备与至少一个中转设备之间的至少一个第一数据响应时间;获取至少一个中转设备与第二设备之间的至少一个第二数据响应时间;针对每个中转设备,确定对应的第一数据响应时间与对应的第二数据响应时间的时间和,并从至少一个中转设备中选择目标中转设备以及对应的传输路径,以满足数据传输需求并进行数据传输。由于可以基于时间和,来选择符合数据传输需求的中转设备,从而可提高数据传输时间。同时由于通过中转设备进行数据传输,则节省了第一设备以及第二设备的资源,可将这些节省出来的资源用于业务的其它处理,以提高设备的处理能力。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1为本申请一示例性实施例的数据传输方法的流程示意图;
图2为本申请一示例性实施例的数据传输的示意图;
图3为本申请一示例性实施例的数据传输系统的示意图;
图4为本申请又一示例性实施例提供的数据传输装置的结构示意图;
图5为本申请一示例性实施例提供的计算设备的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
基于前文所述可知,由于多个服务设备需要各自进行通信,使得通信速度降低,且过多浪费各个服务设备的资源。由此,本申请实施例提供一种数据传输方法,可较为快速地进行设备之间的数据传输,且提高设备资源的利用率。
以下结合附图,详细说明本申请各实施例提供的技术方案。
图1为本申请一示例性实施例的一种数据传输方法的流程示意图。本申请实施例提供的该方法100可以由服务设备执行,如,服务器等,应用于第一设备与第二设备进行数据传输的场景下。该方法100包括以下步骤:
101:获取第一设备与至少一个中转设备之间的第一数据响应时间。
102:获取至少一个中转设备与第二设备之间的第二数据响应时间。
103:针对每个中转设备对应的转发路径,确定第一数据响应时间与第二数据响应时间的时间和。
104:根据时间和,从至少一个中转设备中选择目标中转设备,以满足数据传输需求并进行数据传输。
以下针对上述步骤进行详细阐述:
101:获取第一设备与至少一个中转设备之间的至少一个第一数据响应时间。
其中,第一设备和第二设备是指需要进行数据传输的设备。若第一设备作为发送设备,那么第二设备可以作为接收设备。若第二设备作为发送设备,那么第一设备可以作为接收设备。第一设备和第二设备可以为服务设备,如服务器,也可以为终端设备,如电脑。或者,第一设备和第二设备中有一个设备为终端,如电脑,另一个设备为服务设备,如服务器等。总之,需要进行数据传输的设备都可以在本申请实施例的保护范畴内。
需要说明的是,对应本申请实施例而言,当第二设备为发送设备时,那么步骤101也可以是获取第二设备与至少一个中转设备之间的第一数据响应时间。
中转设备是指用于进行数据转发的设备,其具体的实现形式可以是物理设备,如Hub服务器(中转服务器),也可以是部署在物理设备中的中转进程,如Hub中转进程。对于中转服务器而言,一个中转服务器可以对至少一个传输路径,一个传输路径可以是指,如中转服务器通信连接服务器A的路径path1以及中转服务器通信连接服务器B的path2,path1与path2组成一个完整传输路径。比较简单的方式是一个中转服务器对应一个传输路径。对于中转进程而言,其所属的物理设备(该物理设备可以是服务器等)中可以具有多个中转进程,每个中转进程(作为中转设备)对应一个传输路径。
基于此,应理解,每个中转服务器(作为中转设备)或者每个中转进程(作为中转设备)可以对应通信连接一个或者多个设备,那么自然其与具有通信连接的设备之间可以对应一个或多个数据响应时间。
数据响应时间是指第一设备发送数据至中转设备,并得到中转设备响应数据的时间。如,可以通过Ping(Packet Internet Groper,因特网包探索器)值来表示。应理解的是,该Ping值可以表示数据响应时间,也可以表示响应速度,即该值越大,说明数据传输速度越慢,传输路径越长;该值越小,说明数据传输速度越快,传输路径越短。
获取第一数据响应时间的方式可以包括:从第一设备本地存储区域中获取已存储的第一数据响应时间。则第一设备中可以存储有各个与其具有通信连接的中转设备的第一数据响应时间。第一设备可以直接查找并获取得到。
而确定该第一数据响应时间的方式可以包括:第一设备向至少一个中转设备发送测试数据,并接收对应的响应数据;根据接收到的响应数据的时间,确定第一数据响应时间;存储第一数据响应时间以及对应的中转设备。
例如,根据前文所述,对于游戏业务而言,有多个用户进行线上游戏。用户可以通过自己的终端,如电脑或者手机进行账号登录,通过服务器进行账号的验证,当验证通过后,即可以账号登录。于是,用户可以进行线上游戏。为了增加游戏的趣味性,通常线上游戏会有线上组团游戏,或者线上多人游戏。即多个用户在一起进行线上游戏。为了支持这种游戏方式,需得支持不同地理区域的用户能够在一起进行游戏。然而,通常每个地理区域,如,可以以城市为地理区域单位,将一起进行游戏的多个用户进行划分。每个地理区域的用户的终端通常会和与自己同一地理区域的服务器进行连接,以提高数据的传输。由于不同用户的终端与不同的服务器进行连接,为了在一起游戏,那么就会存在至少两个服务器,乃至多个服务器进行数据传输的情况,以实现多个用户一起进行线上游戏。基于此,当多个用户一起进行线上游戏的时候,如。两个团组用户进行线上游戏PK(对决)。需要服务器与服务器之间进行数据传输。
如,第一设备,即服务器,向与其具有通信连接(如,TCP/IP(TransmissionControl Protocol/Internet Protocol,传输控制协议/网际协议)连接)的中转服务器发送测试数据包,该测试数据包可以携带测试数据。中转服务器接收到该测试数据包后,响应于该测试数据包,向第一设备发送响应数据。第一设备可以从发送测试数据包时进行计时,直至接收到中转服务器返回的响应数据,确定接收到该响应数据时对应的时间,作为第一数据响应时间,即Ping值。由此,第一设备可以将中转服务器的标识,如ID以及对应的第一数据响应时间进行存储至本地存储区域中。
应理解,中转进程作为中转设备也可以适用上述举例。下文中的中转服务器的举例均可以适用于中转进程,后续就不再赘述。
由于中转设备的网络情况,或者与其它设备的连接情况,可能经常会变换,为了更加精准地确定第一数据响应时间,可以定时向至少一个中转设备发送测试数据。以使得能够对该第一数据响应时间进行更新,从而确定当前第一数据响应时间。其中,该定时时间可以根据业务需求(如,游戏业务)进行确定,如12s秒。具体的数据响应时间的确定过程前文已经阐述过了,此处就不再赘述。
此外,为了方便其它设备,如服务器或其它终端也能够方便获取到中转设备与其它设备之间的数据响应时间,第一设备可以在确定出第一数据响应时间后,可以将该第一数据响应时间返回至中转设备。
具体的,该方法100还可以包括:将第一数据响应时间返回至至少一个中转设备,以使得至少一个中转设备进行存储。
例如,根据前文所述,第一设备在确定完各个中转设备对应的第一数据响应时间后,将各个第一数据响应时间返回至对应的中转设备,以使得中转设备进行存储,以便后续其它设备从该中转设备中获取到对应的第一数据响应时间,进行中转设备的选择。
需要说明的是,对于中转设备而言,其存储的形式可以是服务设备的ID与对应的数据响应时间。
为了节省存储空间以及高效地选择目标中转设备,可以对大于一定时间数值的第一数据响应时间进行删除,即不存储这类时间对应的中转设备。
具体的,该方法100还可以包括:当第一数据响应时间大于响应时间阈值,则删除大于响应时间阈值的第一数据响应时间对应的中转设备。
需要说明的是,时间阈值可以根据业务需求(如,游戏业务)进行设定。
102:获取至少一个中转设备与第二设备之间的至少一个第二数据响应时间。
其中,获取至少一个中转设备与第二设备之间的至少一个第二数据响应时间,包括:获取存储在至少一个中转设备中的至少一个第二数据响应时间。
由于根据前文可知,第一设备在确定出第一数据响应时间后,会将第一数据响应时间返回至对应中转设备,以进行存储。那么对于任一中转设备而言,其都可以接收到与其通信连接的其它设备发送来的其它数据响应时间,并进行存储。以使其它设备可以获取到各自需要的数据响应时间。
例如,根据前文所述,第一设备可以从多个中转服务器中获取到各自中转服务器与第二设备通信连接对应的Ping值。
需要说明的是,当第一设备与第二设备之前存在至少两个中转服务器或中转进程的时候。如,服务器A与Hub服务器A通信连接,Hub服务器A与Hub服务器B通信连接,Hub服务器B与服务器B通信连接。
在这种场景下,对于前述步骤101中的第一数据响应时间,可以是指第一设备和与其直接通信连接的中转服务器之间的数据响应时间,如服务器A与Hub服务器A之间的数据响应时间。也可以是第一设备和与其非直接通信连接的中转服务器之间的数据响应时间,如,服务器A与Hub服务器B之间的数据响应时间。即第一数据响应时间是指第一设备与至少两个中转服务器中任一中转服务器之间的数据响应时间。
为了能够便于说明,本申请实施例可以以第一设备和与其直接通信连接的中转服务器之间的数据响应时间,作为第一数据响应时间,以此为例进行说明:第一数据响应时间的其它确定形式与此相似,就不再赘述。
那么,基于此,第二数据响应时间也与第一数据响应时间相似,该第二数据响应可以是中转服务器和与其直接通信连接的第二设备之间的数据响应时间。如,服务器A与Hub服务器A通信连接,Hub服务器A与服务器B通信连接,那么第二数据响应时间是指Hub服务器A与服务器B之间的数据响应时间。第二数据响应时间也可以是中转服务器和与其非直接通信连接的第二设备之间的数据响应时间。如,服务器A与Hub服务器A通信连接,Hub服务器A与Hub服务器B通信连接,Hub服务器B与服务器B通信连接。那么第二数据响应时间则是从Hub服务器A到Hub服务器B再到服务器B的数据响应时间。
由此,无论哪种情况,都可以获取第一数据响应时间以及第二数据响应时间即可。对于中转服务器与设备直接通信连接所对应的数据响应时间,可以通过从直接连接的中转服务器处获取到。对于中转服务器与设备非直接连接的而言,需要获取到设备与直连中转服务器之间的数据响应时间以及中转服务器与中转服务器之间的数据响应时间。例如服务器A与Hub服务器A通信连接,Hub服务器A与Hub服务器B通信连接,Hub服务器B与服务器B通信连接。以第二数据响应时间为例,对于Hub服务器A与服务器B之间的第二数据响应时间包括Hub服务器A与Hub服务器B之间的数据响应时间以及Hub服务器B与服务器B之间的数据响应时间。从而获取这两段时间即可。
还需要说明的是,对于中转服务器之间的数据响应时间的获取和确定,与服务器和中转服务器之间的数据响应时间的获取和确定是相似的,此处就不再赘述。仅说明,在中转服务器之间的数据响应时间可以由其中一个中转服务器发起测试数据的发送,并将最终的数据响应时间存储至对应的中转服务器中。即对于每个中转服务器而言,只要与其进行通信连接的设备,都需要确定对应的数据响应时间。可选地,中转服务器还可以将这些时间发送至与其连接的其它中转服务器,以使中转服务器无论是直接连接设备,如服务器A,还是间接连接设备,都可以确定出与设备之间的数据响应时间。
具体的,获取至少一个中转设备与第二设备之间的至少一个第二数据响应时间的方式,具体可以包括:从至少一个中转设备获取存储在中转设备中的至少一个数据响应时间,每个数据响应时间对应为中转设备与其它设备之间的数据响应时间;从至少一个数据响应时间中选择与第二设备对应的至少一个第二数据响应时间。
例如,根据前文所述,第一设备还可以从多个中转服务器中获取到所有的数据响应时间,从其中选择出第二设备对应的数据响应时间作为第二数据响应时间。
此外,对于第一设备和第二设备经过两个以上中转服务器进行通信连接的情况,可以根据前文所述的方式,来确定第二数据响应时间,此处就不再赘述。仅说明:当一个中转设备可以直连设备,也可以非直连设备的时候,其可以存在多个数据响应时间。如,服务器A与Hub服务器A通信连接,Hub服务器A可以与服务器B直接通信连接。或者,服务器A与Hub服务器A通信连接,Hub服务器A与Hub服务器B通信连接,Hub服务器B与服务器B通信连接。对于Hub服务器A而言则可以存在两个数据响应时间。
103:针对每个中转设备,确定对应的第一数据响应时间与对应的第二数据响应时间的时间和。
其中,每个中转设备可以对应至少一个传输路径,前文已经阐述了传输路径。对于多个中转设备而言,每个中转设备都可以对应至少一个传输路径。也可以存在只有一个中转设备的情况下,且该中转设备仅对应一个传输路径。
根据前文可知,对于一个用于中转的Hub服务器而言,还可以将其设置为具有多个中转进程的Hub服务器,每个中转进程都执行上述每个Hub服务器的动作,每个中转进程都会对应一个传输路径,都会与服务设备具有通信连接,具有对应的数据响应时间。如,中转进程“001”对应的传输路径为服务器1、中转进程“001”与服务器2依次连接对应的中转路径或传输路径,对应着服务器1到中转进程“001”的数据响应时间和中转进程“001”到服务器2的数据响应时间。对于该一个Hub服务器而言,其可以存储有这些多个中转进程对应的数据响应时间,如上述服务器1到中转进程“001”的数据响应时间和中转进程“001”到服务器2的数据响应时间。
更优化的还可以部署少数中转设备,如,Hub服务器,每个中转设备中设置多个中转进程。当第一设备与第二设备之间通过多个Hub服务器进行连接的时候,就可以实现第一设备与第二设备之间存在多个中转进程进行连接,以进行数据传输。多中转进程的连接方式的时间和的确定方式,与前文所述的多个Hub服务器连接的方式相似,此处就不再赘述。由此,既能够提升传输速度,还可以相对较低设备成本。具体的实现方式,前文已经阐述过了,就不再赘述。
例如,根据前文所述,第一设备在获取到数据响应时间后,进行求和,得到时间和。
104:根据时间和,从至少一个中转设备中选择目标中转设备以及对应的传输路径,以满足数据传输需求并进行数据传输。
其中,目标中转设备是指最终为第一设备和第二设备进行数据中转的设备,如目标中转服务器。该目标中转设备最终可以有多个或者一个。
选择的方式可以根据时间和的对应的时间阈值进行选择:
具体的,根据时间和,从至少一个中转设备中选择目标中转设备以及对应的传输路径,包括:根据至少一个中转设备对应的时间和,选择时间和符合时间阈值对应的中转设备,作为目标中转设备;根据目标中转设备以及对应的时间和,来确定对应的传输路径。
例如,根据前文所述,第一设备在确定出多个中转服务器对应的时间和后,将每个时间和与时间阈值相比较,如,中转服务器ID“01”对应的时间和为0.01s,时间阈值为小于等于0.01s,则该时间和符合时间阈值的范围。则第一设备可以将该中转服务器ID“01”作为目标中转设备。由此,第一设备将传输数据发送至中转服务器ID“01”,再由中转服务器ID“01”发送至第二设备。
对于通过多个中转服务器或中转进程进行数据传输的情况,根据时间和,来确定出至少一条符合传输需求的传输路径,并可以根据该传输路径上存在的中转服务器或中转进程,来最终确定出对应的中转设备。
需要说明的是,该时间阈值可以根据业务需求进行确定,如根据游戏业务需求进行确定。
对于游戏业务而言,以通过一个中转设备连接第一设备和第二设备的情况为例,进行场景说明:可以团队1中的用户可以都在服务器1中进行线上游戏,即进行游戏中是数据传输,如选装备、游戏人物的前进、后退、隐藏等等。团队2中的用户可以都在服务器2中进行线上游戏。团队1和团队2进行PK时,可以在服务器1或服务器2中进行PK,或者在一个统一进行PK管理的服务器,如中央服务器中进行。最终选定为进行PK的服务器,需要将最终的PK结果返回值至对应服务器进行数据存储,然后返回至对应用户。如,团队1和团队2在服务器1中进行PK,然后通过上述方式确定出承载服务器1与服务器2数据传输的中转服务器。在PK结束后,服务器1将PK结果对应的数据返回至服务器2,如团队1和团队2中各个用户最终的等级、血量、任务等。
需要说明的是,在进行数据传输的过程中,还可以通过xdelta3差分算法,来比较用户PK前后变化的数据,并对待传输数据进行压缩,还可以利用md5(Message DigestAlgorithm MD5,消息摘要算法)进行加密,发送至对应服务器,以使对应服务器根据md5检验内容是否准确。
例如,服务器1把差异数据(如用户对应的游戏人物的血量变了)进行压缩,通过md5进行加密,生成压缩数据,并将压缩数据以及对应的md5发送至服务器2。服务器2收到之后数据后,根据md5检查内容是否正确,如正确,则进行数据解压,将解压后的数据进行存储。
上述选择中转设备的方式可以根据时间和的最小值进行选择:
具体的,根据时间和,从至少一个中转设备中选择目标中转设备以及对应的传输路径,包括:根据至少一个中转设备对应的时间和,选择时间和最小值对应的中转设备,作为目标中转设备;根据目标中转设备以及对应的时间和最小值,来确定对应的传输路径。
例如,根据前文所述,第一设备在确定出多个中转服务器对应的时间和后,从多个时间和中选择出最小值,从而确定出该最小时间和对应的中转服务器,并将其作为目标中转服务器,从而进行数据传输。
图2示出了数据传输的过程。其中,服务器可以具有Server1、Server2、……ServerN-1以及ServerN。不同的服务器处于不同的地理区域中,如物理机房Area中。如,处于Area1中的Server1以及Server2,以及处于Area2中的ServerN-1以及ServerN。且不同的Area中还会存在有不同的中转服务器Hub,如,处于Area1中的Hub1以及Hub2;处于Area2中的HubN。当Server1与ServerN进行数据传输的时候,Server1可以先从自己的本地获取到各个Hub对应的数据响应时间,然后再向不同的中转服务器Hub获取与ServerN对应的数据响应时间,即各个Hub与ServerN通信连接时对应的数据响应时间。每个数据响应时间可以视为对应一个传输路径,如Server1与Hub1之间的数据响应时间可以对应路径Path11,Server1与Hub2之间的数据响应时间可以对应路径Path12等。相似的,每个中转服务器与ServerN之间的数据响应时间可以视为对应一个传输路径。如,HubN与ServerN之间的数据响应时间可以对应路径PathNN等。
根据前文所述的具体实现方式,可以确定出时间和最小值对应的中转服务器,如HubN,则Server1与ServerN之间通过HubN进行数据传输,其传输路径可以为Path1N与PathNN。
为了更加快速的进行数据传输,还可以将处于同一地理区域的服务设备进行划分,从而选择同属于同一地理区域的中转设备进行数据中转。其中,地理区域可以以城市为单位,或者可以以同一物理机房为单位进行划分。
具体的,当满足数据传输需求的目标中转设备为至少两个的情况下,该方法100还包括:当第一设备与第二设备存在同一地理区域中,则从至少两个目标中转设备中选择在同一地理区域中的目标中转设备,作为最终的目标中转设备。
更具体的,当满足数据传输需求的目标中转设备为至少两个的情况下,该方法100还包括:当第一设备与第二设备存在同一物理机房中,则从至少两个目标中转设备中选择在同一物理机房中的目标中转设备,作为最终的目标中转设备。
例如,根据前文所述,如图2所示,位于同一物理机房Area1中的服务器Server1与Server2,在进行数据传输的时候,可以选择同属于同一物理机房Area1中的中转服务器Hub1或者Hub2。此时,可以先确定出符合数据传输要求的中转服务器Hub1和HubN,此时,选择同一个物理机房中转服务器Hub1最为最终的目标中转设备。
此外,也可以先将同一物理机房的中转服务器选择出来,基于此,来根据时间和从同一物理机房中的中转设备中选择。此时,根据前述例子,对于这两个中转服务器Hub1和Hub2来说,哪个中转服务器能够使得上述时间和最小,就选择哪个中转服务器。
除了之外,还可以预先确定第一设备与第二设备是否对于同一地理区域,如城市A。若是,则可以基于该同一地理区域中的中转设备,进行目标中转设备的选择。
此外,为了更加快速且便捷地选择目标中转设备,还可以在获取数据响应时间之前就先确定第一设备与第二设备是否在同一物理机房,或者同一地理区域。
具体的,该方法100还包括:当第一设备与第二设备存在同一地理区域中,确定在同一地理区域中的至少一个中转设备;针对在同一地理区域中的至少一个中转设备,执行获取第一设备与至少一个中转设备之间的第一数据响应时间的步骤。
更具体的,该方法100还包括:当第一设备与第二设备存在同一物理机房中,确定在同一物理机房中的至少一个中转设备;针对在同一物理机房中的至少一个中转设备,执行获取第一设备与至少一个中转设备之间的第一数据响应时间的步骤。
例如,根据前文所述,如图2所示,第一设备可以先确定第二设备是否与自己属于同一地理区域(如,同一城市),如同一物理机房等。若是,如在同一物理机房,则第一设备可以优先筛选出在该物理机房,如Area1中的所有中转服务器,如Hub1、Hub2。或两个中转进程。那么基于这两个中转服务器或两个中转进程执行步骤101-104,最终选择出目标中转服务器。由于具体的实现过程,前文已经阐述过了,此处就不再赘述。在同一地理区域与在同一物理机房相似,此处就不再赘述了。
此外,还可以直接从同一地理区域或同一物理机房中随机选择一个中转设备或中转进程进行数据传输。
除了上述根据地理区域来选择目标中转设备外,还可以针对业务的其它需求来选择,如游戏业务的战区。即线上游戏中PK区域等。
例如,服务器1和服务器2同属于一个战区,战区也有对应的ID,这两个服务器上可以分别有两个团队进行PK。如团队1在服务器1上进行线上游戏,即服务器1提供线上游戏服务。团队2在服务器2上进行线上游戏。由此可以通过上述步骤101-104进行目标中转设备的选择,以进行数据传输。或者,通过预置的人工方式配置好的一个中转设备进行数据传输。例如,团队1和团队2可以在服务器1或服务器2上进行PK。并将PK结果通过该中转设备同步给另一个服务器。
为了满足更多业务需求,可以静态设置中转服务器,即根据业务需求,如,对于业务量加大的城市,可以设置更多的中转服务器。中转服务器设置好后,就可以主动和服务器进行通信连接,实现数据响应时间的确定和获取,从而实现数据传输。也可以通过动态设置中转服务器。
具体的,该方法100还包括:在可用于第一设备与第二设备之间进行数据传输的中转设备无法满足数据传输需求的情况下,根据第一设备或第二设备所在地理区域,新增中转设备;通过新增的中转设备,进行第一设备与第二设备之间的数据传输。
更具体的,该方法100还包括:在可用于第一设备与第二设备之间进行数据传输的中转设备无法满足数据传输需求的情况下,根据第一设备或第二设备所在物理机房,新增中转设备;通过新增的中转设备,进行第一设备与第二设备之间的数据传输。
例如,根据前文所述,第一设备在确定时间和后,如果没有时间和满足时间阈值,则可以先通过时间和最小值来确定目标中转服务器。并向管理服务器发送消息,表明该情况。通过管理服务器向运维人员的终端发送该消息,由此运维人员可以在第一设备或第二设备所在物理机房中或者在同一地理区域中(如,同一城市)新部署一个中转设备,以实现第一设备和第二设备之间的数据传输。新增的中转设备部署好后,可以向第一设备和第二设备进行通信连接,并确定以及获取对应的数据响应时间。
需要说明的是,除了部署一个新增的中转设备外,还可以在现成的同一物理机房中转设备中创建一个对应的中转进程,或者,在现成的同一地理区域中转设备中创建一个对应的中转进程,以进行第一设备和第二设备之间的数据传输。
基于上述相似的发明构思,图3示出了本申请另一示例性实施例提供的一种数据传输系统的示意图。本申请实施例提供的该系统300用于在第一设备与第二设备之间进行数据传输,该系统300可以包括:第一设备301以及至少一个中转设备302。
第一设备301,获取第一设备与至少一个中转设备之间的至少一个第一数据响应时间;获取至少一个中转设备与第二设备之间的至少一个第二数据响应时间;针对每个中转设备,确定对应的第一数据响应时间与对应的第二数据响应时间的时间和;根据时间和,从至少一个中转设备中选择目标中转设备以及对应的传输路径,以满足数据传输需求并进行数据传输。
中转设备302,用于接收第一设备发送的获取请求,响应获取请求返回第二响应时间。
此外,该系统100还包括:第二设备303。
其中,第二设备303,用于确定与至少一个中转设备之间的至少一个第二数据响应时间,并将对应的第二数据响应时间发送至对应的中转设备,以进行存储。
由于前文已经详细阐述过该系统300的具体实施方式,此处就不再赘述。
另,本系统300未能详细描述的内容,还可以参照上述方法200中的各个步骤。
图4为本申请一示例性实施例提供的一种数据传输装置的结构框架示意图。该装置400可以应用于服务设备,如服务器。该装置400用于在第一设备与第二设备之间进行数据传输,该装置400包括获取模块401、确定模块402以及选择模块403;以下针对各个模块的功能进行详细的阐述:
获取模块401,获取第一设备与至少一个中转设备之间的至少一个第一数据响应时间。
获取模块401,用于获取至少一个中转设备与第二设备之间的至少一个第二数据响应时间。
确定模块402,用于针对每个中转设备,确定对应的第一数据响应时间与对应的第二数据响应时间的时间和。
选择模块403,用于根据时间和,从至少一个中转设备中选择目标中转设备以及对应的传输路径,以满足数据传输需求并进行数据传输。
此外,该装置400还包括:发送模块,用于向至少一个中转设备发送测试数据,并接收对应的响应数据;确定模块402,还用于根据接收到的响应数据的时间,确定第一数据响应时间;存储模块,用于存储第一数据响应时间以及对应的中转设备。
具体的,发送模块,用于定时向至少一个中转设备发送测试数据。
此外,发送模块,还用于将第一数据响应时间返回至至少一个中转设备,以使得至少一个中转设备进行存储。
具体的,获取模块401,用于获取存储在至少一个中转设备中的至少一个第二数据响应时间。
具体的,选择模块403,用于根据至少一个中转设备对应的时间和,选择时间和符合时间阈值对应的中转设备,作为目标中转设备;根据目标中转设备以及对应的时间和,来确定对应的传输路径。
具体的,选择模块403,用于根据至少一个中转设备对应的时间和,选择时间和最小值对应的中转设备,作为目标中转设备;根据目标中转设备以及对应的时间和最小值,来确定对应的传输路径。
此外,当满足数据传输需求的目标中转设备为至少两个的情况下,选择模块403,还用于当第一设备与第二设备存在同一地理区域中,则从至少两个目标中转设备中选择在同一地理区域中的目标中转设备,作为最终的目标中转设备。
此外,当满足数据传输需求的目标中转设备为至少两个的情况下,选择模块403,还用于当第一设备与第二设备存在同一物理机房中,则从至少两个目标中转设备中选择在同一物理机房中的目标中转设备,作为最终的目标中转设备。
此外,该装置400还包括:删除模块,用于当第一数据响应时间大于响应时间阈值,则删除大于响应时间阈值的第一数据响应时间对应的中转设备。
具体的,获取模块401,包括:获取单元,用于从至少一个中转设备获取存储在中转设备中的至少一个数据响应时间,每个数据响应时间对应为中转设备与其它设备之间的数据响应时间;选择单元,用于从至少一个数据响应时间中选择与第二设备对应的至少一个第二数据响应时间。
此外,该装置400还包括:增加模块,用于:在可用于第一设备与第二设备之间进行数据传输的中转设备无法满足数据传输需求的情况下,根据第一设备或第二设备所在地理区域,新增中转设备;传输模块,用于通过新增的中转设备,进行第一设备与所述第二设备之间的数据传输。
以上描述了图4所示的装置400的内部功能和结构,在一个可能的设计中,图4所示的装置400的结构可实现为计算设备,如,服务器。如图5所示,该设备500用于在第一设备与第二设备之间进行数据传输,设备500可以包括:存储器501以及处理器502;
存储器501,用于存储计算机程序。
处理器502,用于执行计算机程序,以用于:获取第一设备与至少一个中转设备之间的至少一个第一数据响应时间;获取至少一个中转设备与第二设备之间的至少一个第二数据响应时间;针对每个中转设备,确定对应的第一数据响应时间与对应的第二数据响应时间的时间和;根据时间和,从至少一个中转设备中选择目标中转设备以及对应的传输路径,以满足数据传输需求并进行数据传输。
此外,处理器502,还用于:向至少一个中转设备发送测试数据,并接收对应的响应数据;根据接收到的响应数据的时间,确定第一数据响应时间;存储第一数据响应时间以及对应的中转设备。
具体的,处理器502,具体用于:定时向至少一个中转设备发送测试数据。
此外,处理器502,还用于:将第一数据响应时间返回至至少一个中转设备,以使得至少一个中转设备进行存储。
具体的,处理器502,具体用于:获取存储在至少一个中转设备中的至少一个第二数据响应时间。
具体的,处理器502,具体用于:根据至少一个中转设备对应的时间和,选择时间和符合时间阈值对应的中转设备,作为目标中转设备;根据目标中转设备以及对应的时间和,来确定对应的传输路径。
具体的,处理器502,具体用于:根据至少一个中转设备对应的时间和,选择时间和最小值对应的中转设备,作为目标中转设备;根据目标中转设备以及对应的时间和最小值,来确定对应的传输路径。
此外,当满足数据传输需求的目标中转设备为至少两个的情况下,处理器502,还用于:当第一设备与所述第二设备存在同一地理区域中,则从至少两个目标中转设备中选择在同一地理区域中的目标中转设备,作为最终的目标中转设备。
此外,当满足数据传输需求的目标中转设备为至少两个的情况下,处理器502,还用于:当第一设备与第二设备存在同一物理机房中,则从至少两个目标中转设备中选择在同一物理机房中的目标中转设备,作为最终的目标中转设备。
此外,处理器502,还用于:当第一数据响应时间大于响应时间阈值,则删除大于响应时间阈值的第一数据响应时间对应的中转设备。
具体的,处理器502,具体用于:从至少一个中转设备获取存储在中转设备中的至少一个数据响应时间,每个数据响应时间对应为中转设备与其它设备之间的数据响应时间;从至少一个数据响应时间中选择与第二设备对应的至少一个第二数据响应时间。
此外,处理器502,还用于:在可用于第一设备与第二设备之间进行数据传输的中转设备无法满足数据传输需求的情况下,根据第一设备或第二设备所在地理区域,新增中转设备;通过新增的中转设备,进行第一设备与所述第二设备之间的数据传输。
另外,本发明实施例提供了一种计算机存储介质,计算机程序被一个或多个处理器执行时,致使一个或多个处理器实现图1方法实施例中一种数据传输方法的步骤。
另外,在上述实施例及附图中的描述的一些流程中,包含了按照特定顺序出现的多个操作,但是应该清楚了解,这些操作可以不按照其在本文中出现的顺序来执行或并行执行,操作的序号如201、202、203等,仅仅是用于区分开各个不同的操作,序号本身不代表任何的执行顺序。另外,这些流程可以包括更多或更少的操作,并且这些操作可以按顺序执行或并行执行。需要说明的是,本文中的“第一”、“第二”等描述,是用于区分不同的消息、设备、模块等,不代表先后顺序,也不限定“第一”和“第二”是不同的类型。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助加必需的通用硬件平台的方式来实现,当然也可以通过硬件和软件结合的方式来实现。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以计算机产品的形式体现出来,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程多媒体数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程多媒体数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程多媒体数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程多媒体数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
本发明实施例还包括在下列编号条款中规定的这些和其它方面:
1、一种数据传输方法,用于在第一设备与第二设备之间进行数据传输,所述方法包括:
获取所述第一设备与至少一个中转设备之间的至少一个第一数据响应时间;
获取所述至少一个中转设备与所述第二设备之间的至少一个第二数据响应时间;
针对每个中转设备,确定对应的所述第一数据响应时间与对应的所述第二数据响应时间的时间和;
根据所述时间和,从所述至少一个中转设备中选择目标中转设备以及对应的传输路径,以满足数据传输需求并进行数据传输。
2、根据条款1所述的方法,其特征在于,所述方法还包括:
向所述至少一个中转设备发送测试数据,并接收对应的响应数据;
根据接收到的所述响应数据的时间,确定所述第一数据响应时间;
存储所述第一数据响应时间以及对应的中转设备。
3、根据条款2所述的方法,其特征在于,所述向所述至少一个中转设备发送测试数据,包括:
定时向所述至少一个中转设备发送测试数据。
4、根据条款2所述的方法,其特征在于,所述方法还包括:
将所述第一数据响应时间返回至所述至少一个中转设备,以使得所述至少一个中转设备进行存储。
5、根据条款1所述的方法,其特征在于,所述获取所述至少一个中转设备与所述第二设备之间的至少一个第二数据响应时间,包括:
获取存储在所述至少一个中转设备中的至少一个所述第二数据响应时间。
6、根据条款1所述的方法,其特征在于,所述根据所述时间和,从所述至少一个中转设备中选择目标中转设备以及对应的传输路径,包括:
根据至少一个中转设备对应的时间和,选择时间和符合时间阈值对应的中转设备,作为所述目标中转设备;
根据所述目标中转设备以及对应的时间和,来确定所述对应的传输路径。
7、根据条款1所述的方法,其特征在于,所述根据所述时间和,从所述至少一个中转设备中选择目标中转设备以及对应的传输路径,包括:
根据至少一个中转设备对应的时间和,选择时间和最小值对应的中转设备,作为所述目标中转设备;
根据所述目标中转设备以及对应的时间和最小值,来确定所述对应的传输路径。
8、根据条款1所述的方法,其特征在于,当满足数据传输需求的所述目标中转设备为至少两个的情况下,所述方法还包括:
当所述第一设备与所述第二设备存在同一地理区域中,则从至少两个目标中转设备中选择在所述同一地理区域中的目标中转设备,作为最终的所述目标中转设备。
9、根据条款1所述的方法,其特征在于,当满足数据传输需求的所述目标中转设备为至少两个的情况下,所述方法还包括:
当所述第一设备与所述第二设备存在同一物理机房中,则从至少两个目标中转设备中选择在所述同一物理机房中的目标中转设备,作为最终的所述目标中转设备。
10、根据条款1所述的方法,其特征在于,所述方法还包括:
当所述第一数据响应时间大于响应时间阈值,则删除大于响应时间阈值的所述第一数据响应时间对应的中转设备。
11、根据条款1所述的方法,其特征在于,所述获取所述至少一个中转设备与所述第二设备之间的至少一个第二数据响应时间,包括:
从所述至少一个中转设备获取存储在中转设备中的至少一个数据响应时间,每个数据响应时间对应为所述中转设备与其它设备之间的数据响应时间;
从至少一个数据响应时间中选择与所述第二设备对应的至少一个第二数据响应时间。
12、根据条款1所述的方法,其特征在于,所述方法还包括:
在可用于第一设备与第二设备之间进行数据传输的中转设备无法满足数据传输需求的情况下,根据第一设备或第二设备所在地理区域,新增中转设备;
通过新增的中转设备,进行所述第一设备与所述第二设备之间的数据传输。
13、一种数据传输系统,用于在第一设备与第二设备之间进行数据传输,所述系统包括:第一设备以及至少一个中转设备;
所述第一设备,获取所述第一设备与至少一个中转设备之间的至少一个第一数据响应时间;
获取所述至少一个中转设备与所述第二设备之间的至少一个第二数据响应时间;
针对每个中转设备,确定对应的所述第一数据响应时间与对应的所述第二数据响应时间的时间和;
根据所述时间和,从所述至少一个中转设备中选择目标中转设备以及对应的传输路径,以满足数据传输需求并进行数据传输;
所述中转设备,用于接收所述第一设备发送的获取请求,响应所述获取请求返回所述第二响应时间。
14、根据条款13所述的系统,其特征在于,所述系统还包括:第二设备;
所述第二设备,用于确定与所述至少一个中转设备之间的至少一个第二数据响应时间,并将对应的所述第二数据响应时间发送至对应的中转设备,以进行存储。
15、一种计算设备,用于在第一设备与第二设备之间进行数据传输,所述设备包括:存储器以及处理器;
所述存储器,用于存储计算机程序;
所述处理器,用于执行所述计算机程序,以用于:
获取所述第一设备与至少一个中转设备之间的至少一个第一数据响应时间;
获取所述至少一个中转设备与所述第二设备之间的至少一个第二数据响应时间;
针对每个中转设备,确定对应的所述第一数据响应时间与对应的所述第二数据响应时间的时间和;
根据所述时间和,从所述至少一个中转设备中选择目标中转设备以及对应的传输路径,以满足数据传输需求并进行数据传输。
16、一种存储有计算机程序的计算机可读存储介质,其特征在于,计算机程序被一个或多个处理器执行时,致使所述一个或多个处理器实现条款1-12任一项所述方法中的步骤。
17、一种数据传输装置,用于在第一设备与第二设备之间进行数据传输,其特征在于,包括:获取模块、确定模块以及选择模块;
获取模块,获取第一设备与至少一个中转设备之间的至少一个第一数据响应时间;
获取模块,用于获取至少一个中转设备与第二设备之间的至少一个第二数据响应时间;
确定模块,用于针对每个中转设备,确定对应的第一数据响应时间与对应的第二数据响应时间的时间和;
选择模块,用于根据时间和,从至少一个中转设备中选择目标中转设备以及对应的传输路径,以满足数据传输需求并进行数据传输。
18、根据条款17所述的装置,其特征在于,所述装置还包括:
发送模块,用于向至少一个中转设备发送测试数据,并接收对应的响应数据;
所述确定模块,还用于根据接收到的响应数据的时间,确定第一数据响应时间;
存储模块,用于存储第一数据响应时间以及对应的中转设备。
19、根据条款17所述的装置,其特征在于,
所述获取模块,用于获取存储在至少一个中转设备中的至少一个第二数据响应时间。
20、根据条款18所述的装置,其特征在于,
所述发送模块,用于定时向至少一个中转设备发送测试数据。
21、根据条款18所述的装置,其特征在于,
所述发送模块,还用于将第一数据响应时间返回至至少一个中转设备,以使得至少一个中转设备进行存储。
22、根据条款17所述的装置,其特征在于,
所述选择模块,用于根据至少一个中转设备对应的时间和,选择时间和符合时间阈值对应的中转设备,作为目标中转设备;根据目标中转设备以及对应的时间和,来确定对应的传输路径。
23、根据条款17所述的装置,其特征在于,
所述选择模块,用于根据至少一个中转设备对应的时间和,选择时间和最小值对应的中转设备,作为目标中转设备;根据目标中转设备以及对应的时间和最小值,来确定对应的传输路径。
24、根据条款17所述的装置,其特征在于,当满足数据传输需求的目标中转设备为至少两个的情况下,所述选择模块,还用于当第一设备与第二设备存在同一地理区域中,则从至少两个目标中转设备中选择在同一地理区域中的目标中转设备,作为最终的目标中转设备。
25、根据条款17所述的装置,其特征在于,当满足数据传输需求的目标中转设备为至少两个的情况下,所述选择模块,还用于当第一设备与第二设备存在同一物理机房中,则从至少两个目标中转设备中选择在同一物理机房中的目标中转设备,作为最终的目标中转设备。
27、根据条款17所述的装置,其特征在于,所述装置还包括:
删除模块,用于当第一数据响应时间大于响应时间阈值,则删除大于响应时间阈值的第一数据响应时间对应的中转设备。
28、根据条款17所述的装置,其特征在于,
所述获取模块,包括:获取单元,用于从至少一个中转设备获取存储在中转设备中的至少一个数据响应时间,每个数据响应时间对应为中转设备与其它设备之间的数据响应时间;选择单元,用于从至少一个数据响应时间中选择与第二设备对应的至少一个第二数据响应时间。
29、根据条款17所述的装置,其特征在于,所述装置还包括:增加模块,用于:在可用于第一设备与第二设备之间进行数据传输的中转设备无法满足数据传输需求的情况下,根据第一设备或第二设备所在地理区域,新增中转设备;传输模块,用于通过新增的中转设备,进行第一设备与所述第二设备之间的数据传输。

Claims (10)

1.一种数据传输方法,用于在第一设备与第二设备之间进行数据传输,其特征在于,所述方法包括:
获取所述第一设备与至少一个中转设备之间的至少一个第一数据响应时间;
获取所述至少一个中转设备与所述第二设备之间的至少一个第二数据响应时间;
针对每个中转设备,确定对应的所述第一数据响应时间与对应的所述第二数据响应时间的时间和;
根据所述时间和,从所述至少一个中转设备中选择目标中转设备以及对应的传输路径,以满足数据传输需求并进行数据传输。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
向所述至少一个中转设备发送测试数据,并接收对应的响应数据;
根据接收到的所述响应数据的时间,确定所述第一数据响应时间;
存储所述第一数据响应时间以及对应的中转设备。
3.根据权利要求1所述的方法,其特征在于,所述获取所述至少一个中转设备与所述第二设备之间的至少一个第二数据响应时间,包括:
获取存储在所述至少一个中转设备中的至少一个所述第二数据响应时间。
4.根据权利要求1所述的方法,其特征在于,所述根据所述时间和,从所述至少一个中转设备中选择目标中转设备以及对应的传输路径,包括:
根据至少一个中转设备对应的时间和,选择时间和符合时间阈值对应的中转设备,作为所述目标中转设备;
根据所述目标中转设备以及对应的时间和,来确定所述对应的传输路径。
5.一种数据传输装置,用于在第一设备与第二设备之间进行数据传输,其特征在于,包括:获取模块、确定模块以及选择模块;
获取模块,获取第一设备与至少一个中转设备之间的至少一个第一数据响应时间;
获取模块,用于获取至少一个中转设备与第二设备之间的至少一个第二数据响应时间;
确定模块,用于针对每个中转设备,确定对应的第一数据响应时间与对应的第二数据响应时间的时间和;
选择模块,用于根据时间和,从至少一个中转设备中选择目标中转设备以及对应的传输路径,以满足数据传输需求并进行数据传输。
6.根据权利要求5所述的装置,其特征在于,所述装置还包括:
发送模块,用于向至少一个中转设备发送测试数据,并接收对应的响应数据;
所述确定模块,还用于根据接收到的响应数据的时间,确定第一数据响应时间;
存储模块,用于存储第一数据响应时间以及对应的中转设备。
7.根据权利要求5所述的装置,其特征在于,
所述获取模块,用于获取存储在至少一个中转设备中的至少一个第二数据响应时间。
8.一种数据传输系统,用于在第一设备与第二设备之间进行数据传输,其特征在于,所述系统包括:第一设备以及至少一个中转设备;
所述第一设备,获取所述第一设备与至少一个中转设备之间的至少一个第一数据响应时间;
获取所述至少一个中转设备与所述第二设备之间的至少一个第二数据响应时间;
针对每个中转设备,确定对应的所述第一数据响应时间与对应的所述第二数据响应时间的时间和;
根据所述时间和,从所述至少一个中转设备中选择目标中转设备以及对应的传输路径,以满足数据传输需求并进行数据传输;
所述中转设备,用于接收所述第一设备发送的获取请求,响应所述获取请求返回所述第二响应时间。
9.一种计算设备,用于在第一设备与第二设备之间进行数据传输,其特征在于,所述设备包括:存储器以及处理器;
所述存储器,用于存储计算机程序;
所述处理器,用于执行所述计算机程序,以用于:
获取所述第一设备与至少一个中转设备之间的至少一个第一数据响应时间;
获取所述至少一个中转设备与所述第二设备之间的至少一个第二数据响应时间;
针对每个中转设备,确定对应的所述第一数据响应时间与对应的所述第二数据响应时间的时间和;
根据所述时间和,从所述至少一个中转设备中选择目标中转设备以及对应的传输路径,以满足数据传输需求并进行数据传输。
10.一种存储有计算机程序的计算机可读存储介质,其特征在于,计算机程序被一个或多个处理器执行时,致使所述一个或多个处理器实现权利要求1-4任一项所述方法中的步骤。
CN202010583073.3A 2020-06-23 2020-06-23 一种数据传输方法、系统、计算设备及存储介质 Pending CN111800491A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010583073.3A CN111800491A (zh) 2020-06-23 2020-06-23 一种数据传输方法、系统、计算设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010583073.3A CN111800491A (zh) 2020-06-23 2020-06-23 一种数据传输方法、系统、计算设备及存储介质

Publications (1)

Publication Number Publication Date
CN111800491A true CN111800491A (zh) 2020-10-20

Family

ID=72803743

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010583073.3A Pending CN111800491A (zh) 2020-06-23 2020-06-23 一种数据传输方法、系统、计算设备及存储介质

Country Status (1)

Country Link
CN (1) CN111800491A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112910901A (zh) * 2021-02-04 2021-06-04 百果园技术(新加坡)有限公司 设备选择方法、装置、设备及存储介质
CN113259225A (zh) * 2021-05-13 2021-08-13 杭州米络星科技(集团)有限公司 即时通信方法、服务器及即时通信系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140072025A1 (en) * 2012-09-07 2014-03-13 Renesas Electronics Corporation Transmission apparatus and communication system
US20140098811A1 (en) * 2012-10-10 2014-04-10 Samsung Electronics Co., Ltd Method and apparatus for media data delivery control
CN110392409A (zh) * 2019-08-30 2019-10-29 深圳供电局有限公司 基于配电通信网的WMSNs多路径QoS路由方法、系统及存储介质
CN110661860A (zh) * 2019-09-18 2020-01-07 华为技术有限公司 一种建立通话的方法及通话设备
CN110868459A (zh) * 2019-11-01 2020-03-06 腾讯科技(深圳)有限公司 数据传输方法、装置、终端及存储介质

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140072025A1 (en) * 2012-09-07 2014-03-13 Renesas Electronics Corporation Transmission apparatus and communication system
US20140098811A1 (en) * 2012-10-10 2014-04-10 Samsung Electronics Co., Ltd Method and apparatus for media data delivery control
CN110392409A (zh) * 2019-08-30 2019-10-29 深圳供电局有限公司 基于配电通信网的WMSNs多路径QoS路由方法、系统及存储介质
CN110661860A (zh) * 2019-09-18 2020-01-07 华为技术有限公司 一种建立通话的方法及通话设备
CN110868459A (zh) * 2019-11-01 2020-03-06 腾讯科技(深圳)有限公司 数据传输方法、装置、终端及存储介质

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112910901A (zh) * 2021-02-04 2021-06-04 百果园技术(新加坡)有限公司 设备选择方法、装置、设备及存储介质
CN112910901B (zh) * 2021-02-04 2023-09-12 百果园技术(新加坡)有限公司 设备选择方法、装置、设备及存储介质
CN113259225A (zh) * 2021-05-13 2021-08-13 杭州米络星科技(集团)有限公司 即时通信方法、服务器及即时通信系统
CN113259225B (zh) * 2021-05-13 2022-06-28 杭州米络星科技(集团)有限公司 即时通信方法、服务器及即时通信系统

Similar Documents

Publication Publication Date Title
CN106549878B (zh) 一种业务分流方法和装置
CN108881354B (zh) 一种推送信息存储方法、装置、服务器和计算机存储介质
CN111163130B (zh) 一种网络服务系统及其数据传输方法
CN107979525A (zh) 一种红包发放方法、设备以及介质
CN112256495A (zh) 数据传输方法、装置、计算机设备及存储介质
CN112121413B (zh) 功能服务的响应方法、系统、装置、终端及介质
CN111282262B (zh) 游戏服务器通信的方法及装置
CN110113414B (zh) 一种管理副本的方法、装置、服务器及存储介质
CN103281346A (zh) 断线重连方法、网络系统和代理服务器
CN105553831A (zh) 消息投放方法和系统
CN111800491A (zh) 一种数据传输方法、系统、计算设备及存储介质
CN109413202B (zh) 区块链交易信息的排序系统及方法
CN111290965B (zh) 一种测试方法、装置、计算机设备和存储介质
CN111431730A (zh) 一种业务处理方法、系统、计算机设备及可读介质
CN112295234B (zh) 获取游戏道具的方法和装置
CN111586438B (zh) 一种业务数据的处理方法、装置及系统
CN113413586B (zh) 一种虚拟对象传送方法、装置、设备及存储介质
CN116996421A (zh) 一种网络质量检测方法及相关设备
CN105429981A (zh) 游戏语音传输方法、终端、语音服务模块及游戏系统
US10798147B2 (en) Constraint based controlled seeding
CN114452642A (zh) 游戏画面的显示方法、存储介质和电子设备
CN116244164A (zh) 测试数据包生成方法、装置、电子设备及存储介质
CN113468200A (zh) 对区块链系统中的分片进行扩容的方法及装置
KR20080086142A (ko) 모바일 애플리케이션 제공 방법 및 이를 실현시키기 위한프로그램을 기록한 컴퓨터로 판독 가능한 기록 매체
CN113209635B (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

Application publication date: 20201020

RJ01 Rejection of invention patent application after publication