CN110809045B - 一种数据通信方法及其相关设备 - Google Patents
一种数据通信方法及其相关设备 Download PDFInfo
- Publication number
- CN110809045B CN110809045B CN201911070836.8A CN201911070836A CN110809045B CN 110809045 B CN110809045 B CN 110809045B CN 201911070836 A CN201911070836 A CN 201911070836A CN 110809045 B CN110809045 B CN 110809045B
- Authority
- CN
- China
- Prior art keywords
- server
- terminal
- data communication
- punching
- service request
- 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/14—Session management
- H04L67/141—Setup of application sessions
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Transfer Between Computers (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明公开了一种数据通信方法,包括主服务器接收第一终端发起的打洞服务请求;获取预设请求分发策略,并确定所述预设请求分发策略指定的服务器类型;将所述打洞服务请求发送至所述服务器类型对应的目标从属服务器;通过所述目标从属服务器将所述第一终端与所述打洞服务请求指定的第二终端建立连接,以实现数据通信。本发明还公开了另一种数据通信方法、一种数据通信装置、系统、计算机可读存储介质及计算机程序产品。本发明所实现的技术方案可以在降低打洞服务器部署成本的同时,有效避免资源浪费。
Description
技术领域
本发明涉及通信技术领域,尤其涉及一种数据通信方法,还涉及另一种数据通信方法、一种数据通信装置、系统、计算机可读存储介质以及计算机程序产品。
背景技术
目前,当内网设备需要与外网设备建立连接进行数据通信时,一般通过打洞技术实现,具体而言,内网设备通过其对应的网关与打洞服务器建立连接,以利用打洞服务器在内网设备与外网设备之间进行打洞,进而使二者建立连接,完成数据通信。
然而,现有的打洞服务器均是基于x86平台开发的,对服务器的性能要求较高,由此导致较高的打洞服务器的部署成本,同时,x86平台的打洞服务器一般都部署于运营商机房内,不方便进行广泛部署,但是,当打洞服务需求较多时,却又需要部署更多的打洞服务器,导致服务器部署成本的进一步增加。此外,仅基于x86平台的打洞服务器不利于高效利用其它平台的数据通信设备,造成了较大的资源浪费。
因此,如何提供一种数据通信方法,在降低打洞服务器部署成本的同时,有效避免资源浪费是本领域技术人员亟待解决的问题。
发明内容
本发明的主要目的在于提供一种数据通信方法、装置、系统、计算机可读存储介质、计算机程序产品以及另一种数据通信方法,旨在解决已有技术中仅基于x86平台开发的打洞服务器解决通信设备的打洞需求,造成严重的成本浪费以及资源浪费的问题。
为实现上述目的,本发明提供了一种数据通信方法,所述方法包括:
主服务器接收第一终端发起的打洞服务请求;
获取预设请求分发策略,并确定所述预设请求分发策略指定的服务器类型;
将所述打洞服务请求发送至所述服务器类型对应的目标从属服务器;
通过所述目标从属服务器将所述第一终端与所述打洞服务请求指定的第二终端建立连接,以实现数据通信。
优选的,所述将所述打洞服务请求发送至所述服务器类型对应的目标从属服务器,包括:
在所述服务器类型对应的服务器资源池中选取可用从属服务器作为所述目标从属服务器;
将所述打洞服务请求发送至所述目标从属服务器。
优选的,所述在所述服务器类型对应的服务器资源池中选取可用从属服务器作为所述目标从属服务器,包括:
根据所述服务器资源池中各从属服务器的服务能力阈值选取所述可用从属服务器作为所述目标从属服务器。
优选的,所述在所述服务器类型对应的服务器资源池中选取可用从属服务器作为所述目标从属服务器,包括:
对所述打洞服务请求进行解析,获得第一终端信息;
判断所述第一终端信息中是否包括所述第一终端的所属区域信息和所属运营商信息;
若是,则在所述服务器类型对应的服务器资源池中,选取与所述第一终端具有相同所属区域信息和所属运营商信息的可用从属服务器,作为所述目标从属服务器。
优选的,所述目标从属服务器为部署于x86平台的打洞服务器,和/或部署于ARM平台的打洞服务器。
为实现上述目的,本发明提供了另一种数据通信方法,所述方法包括:
目标从属服务器接收主服务器转发的由第一终端发起的打洞服务请求;其中,所述目标从属服务器是由所述主服务器根据预设请求分发策略在多个从属服务器中选择确定的;
根据所述打洞服务请求获取所述第一终端的第一地址信息;
根据所述打洞服务请求确定第二终端,并将所述第一地址信息发送至所述第二终端;
接收所述第二终端根据所述第一地址信息反馈的所述第二终端的第二地址信息;
将所述第二地址信息发送至所述第一终端,以使所述第一终端和所述第二终端分别通过所述第二地址信息和所述第一地址信息建立连接,实现数据通信。
为实现上述目的,本发明提供了一种数据通信装置,所述装置包括存储器和处理器,所述存储器上存储有可在所述处理器上运行的数据通信程序,所述数据通信程序被所述处理器执行时实现如上述任意一种所述的数据通信方法的步骤。
为实现上述目的,本发明提供了一种数据通信系统,所述系统包括:
打洞服务请求接收单元,用于主服务器接收第一终端发起的打洞服务请求;
服务器类型确定单元,用于获取预设请求分发策略,并确定所述预设请求分发策略指定的服务器类型;
打洞服务请求分发单元,用于将所述打洞服务请求发送至所述服务器类型对应的目标从属服务器;
数据通信单元,用于通过所述目标从属服务器将所述第一终端与所述打洞服务请求指定的第二终端建立连接,以实现数据通信。
为实现上述目的,本发明提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有数据通信程序,所述数据通信程序可被一个或多个处理器执行,以实现如上任一种所述的数据通信方法的步骤。
为实现上述目的,本发明提供了一种计算机程序产品,所述计算机程序产品包括计算机指令,当其在计算机上运行时,使得计算机可以执行上述任一种所述的数据通信方法的步骤。
本发明所提供的一种数据通信方法,包括主服务器接收第一终端发起的打洞服务请求;获取预设请求分发策略,并确定所述预设请求分发策略指定的服务器类型;将所述打洞服务请求发送至所述服务器类型对应的目标从属服务器;通过所述目标从属服务器将所述第一终端与所述打洞服务请求指定的第二终端建立连接,以实现数据通信。可见,本发明所提供的技术方案,通过部署主从分布模式的打洞服务器,实现内网设备与外网设备之间的打洞服务,当主服务器接收到内网设备发起的打洞服务请求时,先根据预先设定的请求分发策略将其转发至指定类型的从属服务器,即上述目标从属服务器,以便通过该目标从属服务器在内网设备与外网设备之间进行打洞,进而使二者建立连接,实现数据传输,相较于现有技术,根据实际需求部署多种类型的打洞服务器解决通信设备的打洞服务需求,不再仅依靠基于x86平台的打洞服务器,还可根据实际情况将其部署于更为合适的场合,有效避免了仅基于x86平台开发打洞服务器以及部署场地的限制带来的巨大成本问题;此外,还可根据数据通信设备所处的平台选择对应类型的打洞服务器,有效避免了资源浪费。
本发明所提供的另一种数据通信方法、一种数据通信装置、系统、计算机可读存储介质以及计算机程序产品,均具有上述有益效果,在此不再赘述。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明第一实施例的流程示意图;
图2为本发明第二实施例的结构框图;
图3为本发明第三实施例的流程示意图;
图4本发明第一实施例揭露的数据通信装置的内部结构示意图;
图5为本发明第四实施例的结构示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
需要说明的是,在本发明中涉及“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本发明要求的保护范围之内。
本发明提供的一种数据通信方法。
参照图1,图1为本发明第一实施例的流程示意图。
在第一实施例中,该方法可以包括:
S10:主服务器接收第一终端发起的打洞服务请求;
一般的,内网设备与外网设备之间通过打洞技术进行数据通信,具体依靠内网设备或外网设备向打洞服务器发起打洞服务请求实现。可以理解的是,上述内网与外网都是相对的,具体来说是上述第一终端与后述第二终端处于不同的NAT(Network AddressTranslation,网络地址转换)网关之后,互为彼此的外网设备,即第一终端相对于第二终端为外网设备,第二终端相对于第一终端同样也为外网设备,因此,第一终端可以作为内网设备,同样也可以作为外网设备。
在本步骤中,实现了主服务器对打洞服务请求的获取,具体的,当第一终端需要与第二终端建立连接进行数据通信时,可以向主服务器发起打洞连接请求,需要说明的是,该主服务器并不作为打洞服务器为第一终端和第二终端提供打洞服务,而是作为master服务器用于实现打洞服务请求的转发,当然,该主服务器具体选用的种类、型号及其部署位置,并不影响本技术方案的实施,本申请对其不做限定,例如,在本申请中,选用部署于x86平台的服务器作为主服务器。
S11:获取预设请求分发策略,并确定预设请求分发策略指定的服务器类型;
本步骤旨在实现服务器类型的确定,具体基于预设请求分发策略实现,其中,预设请求分发策略为技术人员根据实际需求预先设定的请求分发策略,其中指定了选取何种类型的打洞服务器为第一终端与第二终端之间提供打洞服务,因此,在本步骤中,主服务器响应于接收到的打洞服务请求,调取技术人员预先设定的请求分发策略,并从中确定其指定的服务器类型。
S12:将打洞服务请求发送至服务器类型对应的目标从属服务器;
本步骤旨在实现打洞服务请求的分发,在确定预设请求分发策略指定的服务器类型后,即可选择该服务器类型对应的打洞服务器作为上述目标从属服务器,以便为第一终端与第二终端提供打洞服务。
可以理解的是,上述目标从属服务器是由主服务器根据预设请求分发策略从众多从属服务器中选定的,各个从属服务器与主服务器均存在连接关系,形成主从式部署结构,因此,当主服务器确定目标从属服务器后,直接向其下发打洞服务请求即可。
需要说明的是,由于主服务器仅用于实现打洞服务请求的分发,其接收到的打洞服务请求的数量可以为批量的,因此,主服务器可以同时选定多个对应的目标从属服务器,并下发对应的打洞服务请求。
作为一种优选实施例,上述将打洞服务请求发送至服务器类型对应的目标从属服务器可以包括:在服务器类型对应的服务器资源池中选取可用从属服务器作为目标从属服务器;将打洞服务请求发送至目标从属服务器。
可以理解的是,用于提供打洞技术的从属服务器的类型众多、数量众多且部署场合不唯一,因此,为方便管理,可将同种类型的从属服务器设置于同一个服务器资源池中,也就是说,不同类型的从属服务器设置于不同的服务器资源池,不同的服务器资源池中的从属服务器属于同一类型。由此,当确定用于为第一终端和第二终端提供打洞服务的打洞服务器的服务器类型后,即可在其对应的服务器资源池中选取可用的从属服务器作为上述目标从属服务器,进而将打洞服务请求发送至该目标从属服务器即可。其中,可用从属服务器即为处于空闲状态或半空闲状态的、可以提供打洞服务的从属服务器。
优选的,上述在服务器类型对应的服务器资源池中选取可用从属服务器作为目标从属服务器可以包括:根据服务器资源池中各从属服务器的服务能力阈值选取可用从属服务器作为目标从属服务器。
本实施例提供了一种较为具体的目标从属服务器的选取方法,具体的,可根据各个从属服务器当前的服务能力阈值进行选取,该服务能力即为从属服务器可以提供打洞服务的能力。其中,服务能力阈值可以为技术人员根据实际需求预先设定的阈值,对于其具体类型及对应的具体取值,本申请不做唯一限定,例如,在本申请中,设置可连接数阈值、内存使用阈值以及cpu使用阈值作为从属服务器的服务能力阈值,其中,可连接数阈值为从属服务器可提供打洞服务的数量上限。
优选的,上述在服务器类型对应的服务器资源池中选取可用从属服务器作为目标从属服务器,可以包括:对打洞服务请求进行解析,获得第一终端信息;判断第一终端信息中是否包括第一终端的所属区域信息和所属运营商信息;若是,则在服务器类型对应的服务器资源池中,选取与第一终端具有相同所属区域信息和所属运营商信息的可用从属服务器,作为目标从属服务器。
本实施例提供了另一种目标从属服务器的选取方法,由于第一终端可以为各种类型的终端设备,而不同类型的终端设备也可能分布于不同的区域,以及属于不同的运营商,因此,在目标从属服务器的选取过程中,可以选取与第一终端设备具有相同所属区域信息以及相同所属运营商信息的可用从属服务器,以便为终端设备之间的数据通信提供更好的服务。具体的,可以对获取到的打洞服务请求进行解析,获得第一终端的相关信息,即上述第一终端信息;进一步,判断该第一终端信息中是否存在第一终端的所属区域信息和所属运营商信息,若不包括,则直接在已经确定的服务器类型对应的服务器资源池中任意选取可用从属服务器作为目标从属服务器,进而为第一终端提供打洞服务即可,若第一终端信息中包括第一终端的所属区域信息和所属运营商信息,则在服务器资源池中选取与第一终端具有相同所属区域信息和所属运营商信息的可用从属服务器作为目标从属服务器,进而为第一终端提供打洞服务。
可以理解的是,基于服务能力阈值的目标从属服务器选择方式和基于所属区域信息、所属运营商信息的目标从属服务器选取方式并不冲突,二者可同时存在,也可任选其一,具体由技术人员根据实际情况设定即可。
S13:通过目标从属服务器将第一终端与打洞服务请求指定的第二终端建立连接,以实现数据通信。
本步骤旨在实现第一终端与第二终端的数据通信,具体的,该目标从属服务器即为选定的打洞服务器,由此,即可通过该选定的打洞服务器为第一终端和第二终端提供打洞服务,进而使二者建立连接通道,由此,实现了第一终端与第二终端之间的数据通信。
本实施例所提供的数据通信方法,通过部署主从分布模式的打洞服务器,实现内网设备与外网设备之间的打洞服务,当主服务器接收到内网设备发起的打洞服务请求时,先根据预先设定的请求分发策略将其转发至指定类型的从属服务器,即上述目标从属服务器,以便通过该目标从属服务器在内网设备与外网设备之间进行打洞,进而使二者建立连接,实现数据传输,相较于现有技术,根据实际需求部署多种类型的打洞服务器解决通信设备的打洞服务需求,不再仅依靠基于x86平台的打洞服务器,还可根据实际情况将其部署于更为合适的场合,有效避免了仅基于x86平台开发打洞服务器以及部署场地的限制带来的巨大成本问题;此外,还可根据数据通信设备所处的平台选择对应类型的打洞服务器,有效避免了资源浪费。
本发明提供的另一种数据通信方法。
参考图2,图2为本发明第二实施例的结构框图。
优选的,上述目标从属服务器可以为部署于x86平台的打洞服务器,和/或部署于ARM平台的打洞服务器。所述基于x86平台的打洞服务器可以包括自有x86平台的打洞服务器和合作x86平台的打洞服务器。所述自有x86平台的打洞服务器为服务厂商自行在机房租借或者托管的服务器,具有服务性能稳定,便于维护的特性。所述合作的x86平台的打洞服务器为与服务厂商进行合作的服务器,可以使用所述服务器的部分服务。
其中,ARM架构为进阶精简指令集机器,是一个32位精简指令集处理器架构,X86架构则是微处理器执行的计算机语言指令集,相较于ARM架构,其包括有更多的指令,但执行效率相对较低。
如图2所示,本申请提供了几种具体类型的打洞服务器,即基于x86平台的xcdn服务器,基于x86平台的大矿机服务器以及基于ARM平台的小矿机服务器,均可进行打洞服务。所述xcdn服务器为自有x86平台的打洞服务器,为性能稳定的打洞服务器,由服务厂商自己进行维护的服务器。所述大矿机服务器为合作x86平台的打洞服务器,可以提供打洞服务的服务器,各不同的大矿机服务器的服务能力和稳定性存在差别。基于ARM平台的小矿机服务器一般为玩客云等智能硬件,部署于用户家庭,其服务能力和稳定性相对较弱。但是,基于ARM平台的小矿机服务器数量众多,分布广泛,与用户距离更近。
进一步,由于需要进行数据通信的设备多位于多级网关之下,即数据传输设备与打洞服务器之间部署有多级网关,很容易造成内网设备与外网设备之间建立连接失败,为解决该问题,可将各个不同类型的从属服务器部署于不同的位置,如基于ARM平台的小矿机服务器部署于用户家庭,距离用户终端距离更近,基于x86平台的xcdn服务器部署于机房中,基于x86平台的大矿机服务器可部署于机房。
以下以选定基于ARM平台的小矿机服务器作为目标从属服务器对本申请所提供的数据通信方法进行介绍,该数据通信方法可包括:
步骤1、第一终端向总服务器发起针对第二终端的打洞服务请求;
步骤2、总服务器根据预设请求分发策略选定小矿机服务器作为目标从属服务器,用以为第一终端和第二终端提供打洞服务;
步骤3、小矿机服务器根据打洞服务请求获得第一终端的地址信息,由此:
步骤3-1:通过NAT A网关将第一网关的地址信息转发至第二终端;
步骤3-2:保存第一终端的地址信息,并根据该地址信息通过NAT B网关与第一终端建立长连接;
步骤4、小矿机服务器通过NAT A网关接收第二终端反馈的地址信息;
步骤5、小矿机服务器通过NAT B网关将第二终端的地址信息发送至第一终端;
步骤6、第一终端与第二终端建立连接,进行数据通信。
进一步,本申请实施例提供了一种较为具体的目标从属服务器的选择方法。
具体的,本实施例提供了四种请求分发策略,分别为:指定xcdn服务器提供打洞服务;指定大矿机服务器提供打洞服务;指定小矿机服务器提供打洞服务;指定xcdn服务器:大矿机服务器:小矿机服务器=1:1:1提供打洞服务。
首先,主服务器接收小矿机终端skj发起的携带有自身地址信息skj_ip的打洞服务请求,主程序Client启动;
进一步,根据预设请求分发策略sche_strategy确定其指定的服务器类型,进而确定对应的服务器资源池;
当确定为xcdn服务器时,则从xcdn服务器资源池进行选择,判断当前xcdn服务器资源池中是否存在可用的xcdn服务器,若否,则遍历下一个xcdn服务器资源池;若是,则通过判断skj_isp!=-1(其中,skj_isp根据skj_ip获得)是否成立判断是否选择与小矿机终端skj处于同区域同运营商的从属服务器,若是,则在xcdn服务器资源池中选择同区域同运营商的可用从属服务器作为目标从属服务器为skj提供打洞服务;若否,则在xcdn服务器资源池中选择任意可用从属服务器作为目标从属服务器为skj提供打洞服务;
当确定为矿机服务器时,则从矿机服务器资源池进行选择,通过判断skj_zone>0(其中,skj_zone根据skj_ip获得)是否成立判断是否选择同区域的从属服务器,若否,则在大矿机服务器资源池或小矿机服务器资源池中选择任意可用从属服务器作为目标从属服务器为skj提供打洞服务;若是,则判断skj_zone是否等于大矿机服务器资源池的zone或是否等于小矿机服务器资源池的zone,若等于大矿机服务器资源池的zone,则在大矿机服务器资源池中进行目标从属服务器的选择,若等于小矿机服务器资源池的zone,则在小矿机资源池进行目标从属服务器的选择;进一步,针对选定的矿机服务器资源池,判断是否选择同运营商的从属服务器,若是,则从对应的矿机服务器资源池中选择同运营商的可用从属服务器作为目标从属服务器为skj提供打洞服务,若否,则从对应的矿机服务器资源池中任意选择可用的从属服务器作为目标从属服务器为skj提供打洞服务。
由此,即实现了目标从属服务器的选择,进而通过选定的目标从属服务器为小矿机终端skj提供打洞服务,完成其与外网设备的数据通信即可,
本实施例所提供的技术方案,通过部署主从分布模式的打洞服务器,实现内网设备与外网设备之间的打洞服务,当主服务器接收到内网设备发起的打洞服务请求时,先根据预先设定的请求分发策略将其转发至指定类型的从属服务器,即上述目标从属服务器,以便通过该目标从属服务器在内网设备与外网设备之间进行打洞,进而使二者建立连接,实现数据传输,相较于现有技术,根据实际需求部署多种类型的打洞服务器解决通信设备的打洞服务需求,不再仅依靠基于x86平台的打洞服务器,还可根据实际情况将其部署于更为合适的场合,有效避免了仅基于x86平台开发打洞服务器以及部署场地的限制带来的巨大成本问题;此外,还可根据数据通信设备所处的平台选择对应类型的打洞服务器,有效避免了资源浪费。
本发明提供的另一种数据通信方法。
参考图3,图3为本发明第三实施例的结构框图。
在第三实施例中,该方法可以包括:
S20:目标从属服务器接收主服务器转发的由第一终端发起的打洞服务请求;其中,目标从属服务器是由主服务器根据预设请求分发策略在多个从属服务器中选择确定的;
S21:根据打洞服务请求获取第一终端的第一地址信息;
S22:根据打洞服务请求确定第二终端,并将第一地址信息发送至第二终端;
S23:接收第二终端根据第一地址信息反馈的第二终端的第二地址信息;
S24:将第二地址信息发送至第一终端,以使第一终端和第二终端分别通过第二地址信息和第一地址信息建立连接,实现数据通信。
本实施例从目标从属设备角度对数据通信方法进行了介绍,具体描述了数据通信设备之间建立连接的过程。
首先,目标从属服务器接收由主服务器下发的打洞服务请求;其中,该打洞服务请求由第一终端向主服务器发起,该目标从属服务器则是为第一终端提供打洞服务的服务器,具体是由主服务器根据自身的预设请求分发策略从众多从属服务器中选择确定的。进一步,目标从属服务器从打洞服务请求中解析获得第一终端的地址信息并进行保存;其中,该第一地址信息即为第一终端的地址信息。进一步,由于打洞服务请求中指定了需要进行数据通信的第二终端,因此可以将第一地址信息发送给第二终端,以告知第二终端现在有第一终端需要与其进行数据通信。进一步,第二终端在获取到第一地址信息后会向目标从属服务器反馈自身的地址信息,即上述第二地址信息,并由目标从属服务器转发至第一终端,至此,第一终端获得了第二终端的地址信息,第二终端获得了第一终端的地址信息,二者即可基于彼此的地址信息建立连接,进而完成数据通信。
本发明提供的一种数据通信装置。
参照图4,图4为本发明第一实施例揭露的数据通信装置的内部结构示意图。
在本实施例中,数据通信装置1可以是PC(Personal Computer,个人电脑),也可以是智能手机、平板电脑、掌上电脑、便携计算机、智能路由器、矿机、网络存储设备、终端设备。
该数据通信装置1可以包括存储器11、处理器12和总线13。
其中,存储器11至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、磁性存储器、磁盘、光盘等。存储器11在一些实施例中可以是数据通信装置1的内部存储单元,例如该数据通信装置1的硬盘。存储器11在另一些实施例中也可以是数据通信装置1的外部存储设备,例如数据通信装置1上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,存储器11还可以既包括数据通信装置1的内部存储单元也包括外部存储设备。存储器11不仅可以用于存储安装于数据通信装置1的应用软件及各类数据,例如数据通信程序的代码等,还可以用于暂时地存储已经输出或者将要输出的数据。
处理器12在一些实施例中可以是一中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器或其他数据处理芯片,用于运行存储器11中存储的程序代码或处理数据,例如执行数据通信程序等。
该总线13可以是外设部件互连标准(peripheral component interconnect,简称PCI)总线或扩展工业标准结构(extended industry standard architecture,简称EISA)总线等。该总线可以分为地址总线、数据总线、控制总线等。为便于表示,图4中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
可选的,该数据通信装置1可以是组成CDN网络(Content Delivery Network,内容分发网络)或者区块链网络的节点。
进一步地,数据通信装置1还可以包括网络接口,网络接口可选的可以包括有线接口和/或无线接口(如WI-FI接口、蓝牙接口等),通常用于在该数据通信装置1与其他电子设备之间建立通信连接。
可选地,该数据通信装置1还可以包括用户接口,用户接口可以包括显示器(Display)、输入单元比如键盘(Keyboard),可选的用户接口还可以包括标准的有线接口、无线接口。可选地,在一些实施例中,显示器可以是LED显示器、液晶显示器、触控式液晶显示器以及OLED(Organic Light-Emitting Diode,有机发光二极管)触摸器等。其中,显示器也可以适当的称为显示屏或显示单元,用于显示在数据通信装置1中处理的信息以及用于显示可视化的用户界面。
图4仅示出了具有组件11-13以及数据通信程序的数据通信装置1,本领域技术人员可以理解的是,图4示出的结构并不构成对数据通信装置1的限定,可以包括比图示更少或者更多的部件,或者组合某些部件,或者不同的部件布置。
本发明提供的一种数据通信系统。
参照图5,图5为本发明所提供的第四实施例的结构框图。
在第三实施例中,该数据通信系统可以包括:
打洞服务请求接收单元10,用于主服务器接收第一终端发起的打洞服务请求;
服务器类型确定单元20,用于获取预设请求分发策略,并确定预设请求分发策略指定的服务器类型;
打洞服务请求分发单元30,用于将打洞服务请求发送至服务器类型对应的目标从属服务器;
数据通信单元40,用于通过目标从属服务器将第一终端与打洞服务请求指定的第二终端建立连接,以实现数据通信。
对于本申请提供的系统的介绍请参照上述方法实施例,本申请在此不做赘述。
本发明实施例还提供一种计算机可读存储介质,该计算机可读存储介质上数据通信程序,该数据通信程序可被一个或者多个处理器执行,以实现如以上任一实施例所述的数据通信方法的步骤。
本发明实施例还提供一种计算机程序产品,该计算机程序产品包括计算机指令,当其在计算机上运行时,使得计算机可以执行上述任一实施例所述的数据通信方法的步骤。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。
所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存储的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的设备和系统的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的设备,系统和方法,可以通过其它的方式实现。例如,以上所描述的系统实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
需要说明的是,上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。并且本文中的术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、装置、物品或者方法不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、装置、物品或者方法所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、装置、物品或者方法中还存在另外的相同要素。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (5)
1.一种数据通信方法,其特征在于,所述方法包括:
主服务器接收第一终端发起的打洞服务请求;
获取预设请求分发策略,并确定所述预设请求分发策略指定的服务器类型;所述服务器类型包括xcdn服务器、大矿机服务器、小矿机服务器;
对所述打洞服务请求进行解析,获得第一终端信息;
判断所述第一终端信息中是否包括所述第一终端的所属区域信息和所属运营商信息;
若是,则在所述服务器类型对应的服务器资源池中,选取与所述第一终端具有相同所属区域信息和所属运营商信息的可用从属服务器,作为目标从属服务器;
将所述打洞服务请求发送至所述目标从属服务器;
通过所述目标从属服务器将所述第一终端与所述打洞服务请求指定的第二终端建立连接,以实现数据通信。
2.如权利要求1所述的方法,其特征在于,所述目标从属服务器为部署于x86平台的打洞服务器,和/或部署于ARM平台的打洞服务器。
3.一种数据通信装置,其特征在于,所述装置包括存储器和处理器,所述存储器上存储有可在所述处理器上运行的数据通信程序,所述数据通信程序被所述处理器执行时实现如权利要求1或2所述的数据通信方法的步骤。
4.一种数据通信系统,其特征在于,所述系统包括:
打洞服务请求接收单元,用于主服务器接收第一终端发起的打洞服务请求;
服务器类型确定单元,用于获取预设请求分发策略,并确定所述预设请求分发策略指定的服务器类型;所述服务器类型包括xcdn服务器、大矿机服务器、小矿机服务器;
打洞服务请求分发单元,用于对所述打洞服务请求进行解析,获得第一终端信息;判断所述第一终端信息中是否包括所述第一终端的所属区域信息和所属运营商信息;若是,则在所述服务器类型对应的服务器资源池中,选取与所述第一终端具有相同所属区域信息和所属运营商信息的可用从属服务器,作为目标从属服务器;将所述打洞服务请求发送至所述目标从属服务器;
数据通信单元,用于通过所述目标从属服务器将所述第一终端与所述打洞服务请求指定的第二终端建立连接,以实现数据通信。
5.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有数据通信程序,所述数据通信程序可被一个或多个处理器执行,以实现如权利要求1或2所述的数据通信方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911070836.8A CN110809045B (zh) | 2019-11-05 | 2019-11-05 | 一种数据通信方法及其相关设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911070836.8A CN110809045B (zh) | 2019-11-05 | 2019-11-05 | 一种数据通信方法及其相关设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110809045A CN110809045A (zh) | 2020-02-18 |
CN110809045B true CN110809045B (zh) | 2022-12-13 |
Family
ID=69501116
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911070836.8A Active CN110809045B (zh) | 2019-11-05 | 2019-11-05 | 一种数据通信方法及其相关设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110809045B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112804298B (zh) * | 2020-12-29 | 2023-05-02 | 杭州涂鸦信息技术有限公司 | 减少跨区流量的方法、装置、计算机设备和可读存储介质 |
CN114598532B (zh) | 2022-03-11 | 2023-07-28 | 北京百度网讯科技有限公司 | 连接建立方法、装置、电子设备和存储介质 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103701885A (zh) * | 2013-12-18 | 2014-04-02 | 北京奇艺世纪科技有限公司 | P2p系统中查询索引的方法、p2p服务器以及p2p服务器系统 |
CN109922156A (zh) * | 2019-03-20 | 2019-06-21 | 深圳市网心科技有限公司 | 一种数据通信方法及其相关设备 |
CN109951562B (zh) * | 2019-03-29 | 2020-12-25 | 深圳市网心科技有限公司 | Nat穿透方法和系统、电子设备和存储介质 |
-
2019
- 2019-11-05 CN CN201911070836.8A patent/CN110809045B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN110809045A (zh) | 2020-02-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107809383B (zh) | 一种基于mvc的路径映射方法及装置 | |
EP3197122B1 (en) | Method of forwarding in-application traffic on smart mobile terminal | |
CN109951562B (zh) | Nat穿透方法和系统、电子设备和存储介质 | |
CN110809045B (zh) | 一种数据通信方法及其相关设备 | |
CN111416723B (zh) | 一种设备管理方法及相关设备 | |
US11638138B2 (en) | Device-to-device content providing method | |
CN110278278A (zh) | 一种数据传输方法、系统、装置及计算机介质 | |
CN112491630B (zh) | 一种裸机自动部署方法、装置及云环境平台 | |
CN110708366A (zh) | 一种插件进程的管理方法及相关方法和相关装置 | |
CN111147314A (zh) | 交换机升级方法、装置及存储介质 | |
CN110347648B (zh) | 文件部署方法及装置、计算机装置及存储介质 | |
CN110417789B (zh) | 服务器连接方法、电子设备、系统及介质 | |
CN110730244A (zh) | Dht系统的组网方法、系统及网络设备和存储介质 | |
CN108965403A (zh) | 运维监控连接的建立方法及终端设备 | |
CN112333295A (zh) | 一种多路径连接方法、装置及电子设备和存储介质 | |
CN109525417B (zh) | 基于网口的家电设备接入方法、家电控制器及存储介质 | |
CN111464523A (zh) | 网络监控方法、终端设备及计算机可读存储介质 | |
CN112148320A (zh) | 一种应用程序升级方法、装置、设备及存储介质 | |
CN111106971B (zh) | 设备注册管理方法、装置、设备及计算机可读存储介质 | |
CN107766232B (zh) | 一种插件管理方法及装置 | |
CN105392179A (zh) | 一种基于web应用的局域网设备互发现的方法及装置 | |
CN113746909A (zh) | 网络连接方法、装置、电子设备和计算机可读存储介质 | |
CN113535402A (zh) | 基于5g mec的负载均衡处理方法、装置及电子设备 | |
CN105516121A (zh) | 无线局域网中ac与ap通信的方法及系统 | |
CN111193794A (zh) | 文件传输方法、装置、计算机设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |