CN111698337A - 建立通信连接的方法、装置及设备 - Google Patents

建立通信连接的方法、装置及设备 Download PDF

Info

Publication number
CN111698337A
CN111698337A CN202010706529.0A CN202010706529A CN111698337A CN 111698337 A CN111698337 A CN 111698337A CN 202010706529 A CN202010706529 A CN 202010706529A CN 111698337 A CN111698337 A CN 111698337A
Authority
CN
China
Prior art keywords
port
server
configuration data
client
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.)
Granted
Application number
CN202010706529.0A
Other languages
English (en)
Other versions
CN111698337B (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.)
Hangzhou Hikvision Digital Technology Co Ltd
Original Assignee
Hangzhou Hikvision Digital 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 Hangzhou Hikvision Digital Technology Co Ltd filed Critical Hangzhou Hikvision Digital Technology Co Ltd
Priority to CN202010706529.0A priority Critical patent/CN111698337B/zh
Publication of CN111698337A publication Critical patent/CN111698337A/zh
Priority to PCT/CN2021/107451 priority patent/WO2022017398A1/zh
Priority to EP21845873.5A priority patent/EP4187877A4/en
Application granted granted Critical
Publication of CN111698337B publication Critical patent/CN111698337B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/40Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass for recovering from a failure of a protocol instance or entity, e.g. service redundancy protocols, protocol state redundancy or protocol service redirection
    • 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/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0813Configuration setting characterised by the conditions triggering a change of settings
    • H04L41/0816Configuration setting characterised by the conditions triggering a change of settings the condition being an adaptation, e.g. in response to network events
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/141Setup of application sessions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/30Profiles
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/30Profiles
    • H04L67/303Terminal profiles
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2101/00Indexing scheme associated with group H04L61/00
    • H04L2101/60Types of network addresses
    • H04L2101/618Details of network addresses
    • H04L2101/663Transport layer addresses, e.g. aspects of transmission control protocol [TCP] or user datagram protocol [UDP] ports
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/70Reducing energy consumption in communication networks in wireless communication networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Telephonic Communication Services (AREA)
  • Computer And Data Communications (AREA)
  • Small-Scale Networks (AREA)

Abstract

本申请公开了一种建立通信连接的方法、装置及设备,属于通信技术领域。所述方法包括:基于第一端口与服务端建立通信连接,第一端口为客户端与服务端协商的端口,或者,第一端口为客户端上一次与服务端通信所使用的端口;在基于第一端口与服务端建立通信连接失败的情况下,读取目标配置数据中的端口信息,目标配置数据中的端口信息指示的第二端口能够用于客户端与服务端建立通信连接;基于第二端口与服务端建立通信连接。由于客户端不需要遍历多个端口,而是可以直接通过读取目标配置数据确定能够用于与该服务端建立通信连接的第二端口,因此可以缩短客户端与服务端建立通信连接所需要的时间,提高了通信效率。

Description

建立通信连接的方法、装置及设备
技术领域
本申请涉及通信技术领域,特别涉及一种建立通信连接的方法、装置及设备。
背景技术
目前,服务端与客户端可以基于端口建立通信连接,譬如,服务端与某端口绑定,如此,客户端即可基于该端口与该服务端建立通信连接。
在相关技术中,当端口被其他服务端占用时,该服务端无法绑定该端口,因此该服务端需要在未被其他服务端占用的端口中重新确定一个端口来绑定。
然而,在该种情况下,客户端需要遍历多个端口,以尝试重新与该服务端建立通信连接,直到成功为止,如此,导致客户端与该服务端重新建立通信连接所需要的时间可能会较长,从而降低了通信效率。
发明内容
本申请提供了一种建立通信连接的方法、装置及设备,可以解决相关技术中建立通信连接可能需要较长时间的问题。所述技术方案如下:
一方面,提供了一种建立通信连接的方法,应用于客户端,所述方法包括:
基于第一端口与服务端建立通信连接,所述第一端口为所述客户端与所述服务端协商的端口,或者,所述第一端口为所述客户端上一次与所述服务端通信所使用的端口;
在基于所述第一端口与所述服务端建立通信连接失败的情况下,读取目标配置数据中的端口信息,所述目标配置数据中的端口信息指示的第二端口能够用于所述客户端与所述服务端建立通信连接;
基于所述第二端口与所述服务端建立通信连接。
在本申请一种可能的实现方式中,所述基于第一端口与服务端建立通信连接,包括:
通过所述第一端口向所述服务端发送连接请求消息;
若未接收到所述服务端的连接响应消息,统计连接失败次数,所述连接失败次数是指通过所述第一端口发送所述连接请求消息且未接收到所述连接响应消息的次数;
若所述连接失败次数小于或等于连接失败次数阈值,则重新返回所述通过所述第一端口向所述服务端发送连接请求消息的操作,直至所述连接失败次数大于所述连接失败次数阈值时,确定基于所述第一端口与所述服务端建立通信连接失败。
在本申请一种可能的实现方式中,所述第二端口是由所述服务端在与所述第一端口绑定失败的情况下确定的;或者,所述第二端口是由端口管理端在所述服务端与所述第一端口绑定失败的情况下确定的。
在本申请一种可能的实现方式中,所述目标配置数据为客户端配置数据,所述客户端配置数据由所述端口管理端基于服务端配置数据管理。
另一方面,提供了一种建立通信连接的方法,应用于端口管理端,所述方法包括:
读取客户端配置数据中的端口信息,以及读取服务端配置数据中的端口信息,所述客户端配置数据中的端口信息指示的端口为客户端与服务端协商的端口,或者,为所述客户端上一次与所述服务端通信所使用的端口,所述服务端配置数据中的端口信息为所述服务端当前绑定的端口的信息;
在所述客户端配置数据中的端口信息与服务端配置数据中的端口信息不相同的情况下,将所述服务端配置数据中的端口信息更新至所述客户端配置数据中,更新后的所述客户端配置数据中的端口信息指示的端口能够用于所述客户端与所述服务端建立通信连接。
在本申请一种可能的实现方式中,所述方法还包括:
检测所述服务端配置数据中的端口信息指示的端口的绑定情况;
若所述服务端配置数据中的端口信息指示的端口被其他服务端绑定,则在未被所述其他服务端绑定的端口中重新确定一个端口;
将所述重新确定的端口的端口信息更新至所述服务端配置数据中。
在本申请一种可能的实现方式中,所述读取客户端配置数据中的端口信息、以及读取服务端配置数据中的端口信息,包括:
基于所述端口管理端的管理配置数据,读取所述客户端配置数据中的端口信息、以及读取所述服务端配置数据中的端口信息,所述管理配置数据中包括配置数据管理信息,所述配置数据管理信息用于确定至少一对待同步的客户端与服务端的端口信息。
另一方面,提供了一种建立通信连接的方法,所述方法包括:
在服务端与第一端口绑定失败的情况下,确定能够用于绑定的第二端口;
将所述第二端口的端口信息更新至目标配置数据中,所述目标配置数据用于客户端获取能够与所述服务端建立通信连接的端口的端口信息。
另一方面,提供了一种建立通信连接的装置,应用于客户端,所述装置包括:
第一连接模块,用于基于第一端口与服务端建立通信连接,所述第一端口为所述客户端与所述服务端协商的端口,或者,所述第一端口为所述客户端上一次与所述服务端通信所使用的端口;
第一读取模块,用于在基于所述第一端口与所述服务端建立通信连接失败的情况下,读取目标配置数据中的端口信息,所述目标配置数据中的端口信息指示的第二端口能够用于所述客户端与所述服务端建立通信连接;
第二连接模块,用于基于所述第二端口与所述服务端建立通信连接。
在本申请一种可能的实现方式中,所述第一连接模块用于:
通过所述第一端口向所述服务端发送连接请求消息;
若未接收到所述服务端的连接响应消息,统计连接失败次数,所述连接失败次数是指通过所述第一端口发送所述连接请求消息且未接收到所述连接响应消息的次数;
若所述连接失败次数小于或等于连接失败次数阈值,则重新返回所述通过所述第一端口向所述服务端发送连接请求消息的操作,直至所述连接失败次数大于所述连接失败次数阈值时,确定基于所述第一端口与所述服务端建立通信连接失败。
在本申请一种可能的实现方式中,所述第二端口是由所述服务端在与所述第一端口绑定失败的情况下确定的;或者,所述第二端口是由端口管理端在所述服务端与所述第一端口绑定失败的情况下确定的。
在本申请一种可能的实现方式中,所述目标配置数据为客户端配置数据,所述客户端配置数据由所述端口管理端基于服务端配置数据管理。
另一方面,提供了一种建立通信连接的装置,应用于端口管理端,所述装置包括:
第二读取模块,用于读取客户端配置数据中的端口信息、以及读取服务端配置数据中的端口信息,所述客户端配置数据中的端口信息指示的端口为客户端与服务端协商的端口,或者,为所述客户端上一次与所述服务端通信所使用的端口,所述服务端配置数据中的端口信息为所述服务端当前绑定的端口的信息;
第一更新模块,用于在所述客户端配置数据中的端口信息与服务端配置数据中的端口信息不相同的情况下,将所述服务端配置数据中的端口信息更新至所述客户端配置数据中,更新后的所述客户端配置数据中的端口信息指示的端口能够用于所述客户端与所述服务端建立通信连接。
在本申请一种可能的实现方式中,所述装置还包括:
检测模块,用于检测所述服务端配置数据中的端口信息指示的端口的绑定情况;
第一确定模块,用于若所述服务端配置数据中的端口信息指示的端口被其他服务端绑定,则在未被所述其他服务端绑定的端口中重新确定一个端口;
所述第一更新模块,用于将所述重新确定的端口的端口信息更新至所述服务端配置数据中。
在本申请一种可能的实现方式中,所述第二读取模块用于:
基于所述端口管理端的管理配置数据,读取所述客户端配置数据中的端口信息、以及读取所述服务端配置数据中的端口信息,所述管理配置数据中包括配置数据管理信息,所述配置数据管理信息用于确定至少一对待同步的客户端与服务端的端口信息。
另一方面,提供了一种建立通信连接的装置,所述装置包括:
第二确定模块,用于在服务端与第一端口绑定失败的情况下,确定能够用于绑定的第二端口;
第二更新模块,用于将所述第二端口的端口信息更新至目标配置数据中,所述目标配置数据用于客户端获取能够与所述服务端建立通信连接的端口的端口信息。
另一方面,提供了一种电子设备,所述电子设备包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为实现上述各个方面所述的建立通信连接的方法。
另一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有指令,所述指令被处理器执行时实现上述各个方面所述的建立通信连接的方法。
另一方面,提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述各个方面所述的建立通信连接的方法。
本申请提供的技术方案至少可以带来以下有益效果:
客户端可以基于第一端口与服务端建立通信连接,该第一端口可能为客户端与服务端协商的端口,也可能为该客户端上一次与服务端通信所使用的端口。若客户端基于第一端口与服务端建立通信连接失败,说明服务端当前绑定的端口不是该第一端口,在该种情况下,客户端可以读取目标配置数据中的端口信息,从而根据该目标配置数据中的端口信息确定第二端口,如此,客户端基于该第二端口与服务端建立通信连接。由于客户端不需要遍历多个端口,而是可以直接通过读取目标配置数据确定能够用于与该服务端建立通信连接的第二端口,因此可以缩短客户端与服务端建立通信连接所需要的时间,提高了通信效率。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种实施环境的示意图;
图2是本申请实施例提供的一种建立通信连接的方法的流程图;
图3是本申请实施例提供的一种建立通信连接的方法的示意图;
图4是本申请实施例提供的另一种建立通信连接的方法的示意图;
图5是本申请实施例提供的另一种建立通信连接的方法的示意图;
图6是本申请实施例提供的一种建立通信连接的方法的流程图;
图7是本申请实施例提供的另一种建立通信连接的方法的流程图;
图8是本申请实施例提供的一种建立通信连接的方法的示意图;
图9是本申请实施例提供的另一种建立通信连接的方法的示意图;
图10是本申请实施例提供的另一种建立通信连接的方法的示意图;
图11是本申请实施例提供的另一种建立通信连接的方法的示意图;
图12是本申请实施例提供的一种建立通信连接的装置的结构示意图;
图13是本申请实施例提供的另一种建立通信连接的装置的结构示意图;
图14是本申请实施例提供的另一种建立通信连接的装置的结构示意图;
图15是本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
在对本申请实施例提供的建立通信连接的方法进行详细的解释说明之前,先对本申请实施例涉及的相关术语和实施环境进行介绍。
首先,对本申请实施例涉及的相关术语进行简单介绍。
端口冲突:当服务端要绑定某端口时,若该端口被其他服务端绑定,则该服务端无法绑定该端口,在该种情况下,可以确定该服务端发生了端口冲突。
端口同步:指的是在服务端绑定的端口发生变化的情况下,客户端确定端口发生变化后服务端绑定的端口,基于该服务端绑定的端口与该服务端建立通信连接的过程。
端口自适应:指的是服务端在确定某端口被其他服务端占用的情况下,该服务端在未被其他服务端绑定的端口中重新选择一个端口,进而与重新选择的端口绑定的过程。
接下来,对本申请实施例涉及的实施环境进行简单介绍。
图1是本申请实施例涉及的一种实施环境的示意图,如图1所示,该实施环境包括客户端110和服务端120。该客户端110和该服务端120可以位于同一电子设备中(例如客户端和服务端可以分别是位于同一电子设备的客户端应用程序和服务端应用程序),也可以位于不同电子设备中,本实施例对此不做限定。示例性的,该电子设备可以为PC(PersonalComputer,个人计算机)、手机、智能手机、PDA(Personal Digital Assistant,个人数字助手)、可穿戴设备、PPC(Pocket PC,掌上电脑)、平板电脑、智能车机、智能电视、智能音箱等,本申请实施例对此不做限定。
示例性的,客户端110的数量可以为一个,也可以为多个,服务端120的数量可以为一个,也可以为多个,本实施例对此不做限定。
示例性的,服务端120与某端口绑定,如此,客户端110可以基于该端口与服务端120建立通信连接,在客户端110与服务端120建立通信连接的情况下,该客户端110可以基于该端口与服务端120进行通信。
进一步地,客户端110和服务端120可能均不具有端口管理的能力,在该种情况下,本申请实施例提供的建立通信连接的方法涉及的实施环境还可以包括端口管理端130,该端口管理端130可以为服务端120选择能够绑定的端口,并且该端口管理端130可以为客户端110确定能够用于与服务端120建立通信连接的端口。在一些实施例中,该端口管理端130可以为“看门狗”程序。
需要说明的是,在客户端110和服务端120位于某一电子设备中的情况下,该端口管理端130可以位于该电子设备中,也可以不位于该电子设备中,本实施例对此不做限定。
在介绍完本申请实施例涉及的实施环境后,接下来将结合附图对本申请实施例提供的建立通信连接的方法进行详细介绍。
图2是本申请实施例提供的一种建立通信连接的方法的流程图,该方法可以应用于上述实施环境中。请参考图2,该方法包括如下步骤。
步骤201:基于第一端口与服务端建立通信连接,第一端口为客户端与服务端协商的端口,或者,第一端口为客户端上一次与服务端通信所使用的端口。
作为一种示例,该协商的端口可以是默认端口,或者,该协商的端口可以是用户设置的端口,再或者,该协商的端口还可以是客户端与服务端共同确定的端口。
示例性的,若客户端第一次与服务端建立通信连接,则该客户端可以基于客户端与服务端协商的端口尝试与服务端建立通信连接。若客户端不是第一次与服务端建立通信连接时,则该客户端可以基于上一次与服务端通信所使用的端口尝试与服务端建立通信连接。
作为一种示例,基于第一端口与服务端建立通信连接的实现方式可以包括:通过第一端口向服务端发送连接请求消息。若未接收到服务端的连接响应消息,统计连接失败次数,连接失败次数是指通过第一端口发送连接请求消息且未接收到连接响应消息的次数。若连接失败次数小于或等于连接失败次数阈值,则重新返回通过第一端口向服务端发送连接请求消息的操作,直至连接失败次数大于连接失败次数阈值时,确定基于第一端口与服务端建立通信连接失败。
其中,连接请求消息为客户端向服务端发送的消息,该连接请求消息可以用于请求服务端与客户端建立通信连接。连接响应消息为服务端向客户端发送的消息,该连接响应消息可以用于指示服务端同意与客户端建立连接。
其中,连接失败次数阈值可以根据实际情况进行设置,本实施例对此不做限定。譬如,可以设置连接失败次数阈值为2次。可选的,也可以设置确定连接失败的参考数值,则连接失败次数阈值为小于该确定连接失败的参考数值的最大整数,在连接失败次数等于该确定连接失败的参考数值时,相当于就是连接失败次数首次大于连接失败次数阈值时,确定基于第一端口与服务端建立通信连接失败。
示例性的,若客户端通过第一端口向服务端发送连接请求消息,且未接收到服务端的连接响应消息,可能是该服务端未绑定该第一端口,也可能是该服务端绑定该第一端口但当前网络质量不佳。为了进一步确定该服务端是否绑定该第一端口,客户端可以统计连接失败次数,也就是,客户端可以统计通过第一端口向服务端发送连接请求消息,且未接收到服务端的连接响应消息的次数。若连接失败次数小于或等于连接失败次数阈值,则客户端可以重新通过第一端口向服务端发送连接请求消息。若连接失败次数大于连接失败次数阈值,则客户端可以确定服务端未绑定该第一端口,即该第一端口无法用于客户端与服务端建立通信连接。
譬如,可以设置连接失败次数阈值为2次,若客户端通过第一端口向服务端发送连接请求消息,且未接收到服务端的连接响应消息的次数为3次,由于连接失败次数大于连接失败次数阈值,客户端可以确定该服务端未绑定第一端口,即该第一端口无法用于客户端与服务端建立通信连接。
示例性的,若客户端通过第一端口向服务端发送连接请求消息,且接收到服务端的连接响应消息,说明该服务端与该第一端口绑定,且该服务端同意与该客户端建立通信连接,即该第一端口能够用于客户端与服务端建立通信连接。
步骤202:在基于第一端口与服务端建立通信连接失败的情况下,读取目标配置数据中的端口信息,目标配置数据中的端口信息指示的第二端口能够用于客户端与服务端建立通信连接。
其中,该目标配置数据可以为文件,或者,也可以为数据库中的数据表。
其中,目标配置数据中的端口信息可以包括第二端口的端口类型、第二端口的端口号等等中的至少一个,本实施例对此不做限定。
若客户端基于第一端口与服务端建立通信连接失败,说明服务端当前绑定的端口不是该第一端口,即该第一端口无法用于客户端与服务端建立通信连接。在该种情况下,如图3所示,客户端可以读取目标配置数据(可以为服务端配置文件)中的端口信息,基于该目标配置数据中的端口信息确定能够用于客户端与服务端建立通信连接的第二端口。
作为一种示例,该第二端口是由该服务端在与该第一端口绑定失败的情况下确定的。
也就是说,该第二端口可以是由服务端确定的,具体来说,若第一端口被其他服务端占用,则该服务端与该第一端口绑定失败。在该服务端与第一端口绑定失败的情况下,服务端可以确定能够用于绑定的第二端口,将该第二端口的端口信息更新至目标配置数据中,另外,该服务端与该第二端口绑定。在将该第二端口的端口信息更新至目标配置数据中之后,服务端可以监听第二端口。
进一步地,此时该目标配置数据可以为服务端配置数据,示例性的,该服务端配置数据为服务端配置文件。
示例性的,服务端更新第二端口的端口信息至服务端配置数据中的流程如图4所示,在服务端启动的情况下,该服务端可以读取该服务端配置数据(譬如服务端配置文件)中的端口信息,基于该服务端配置数据中的端口信息确定第一端口,并尝试绑定该第一端口。若该第一端口被其他服务端绑定,则该服务端无法与该第一端口绑定,也就是该服务端发生了端口冲突。在该种情况下,服务端可以在未被其他服务端绑定的端口中选择第二端口。如此,服务端可以与该第二端口进行绑定,将该第二端口的端口信息存储至服务端配置数据中。
作为另一种示例,该第二端口是由端口管理端在该服务端与该第一端口绑定失败的情况下确定的。
其中,端口管理端指的是可以解决服务端的端口冲突、协助客户端进行端口同步的管理端。示例性的,端口管理端可以通过管理服务端配置数据解决服务端的端口冲突,也可以通过管理客户端配置数据协助客户端进行端口同步。
也即是,该第二端口可以是由端口管理端确定的,具体来说,若第一端口被其他服务端占用,则该端口管理端可以确定能够用于绑定的第二端口,将该第二端口的端口信息更新至服务端配置数据中。在将该第二端口的端口信息更新至服务端配置数据中之后,服务端可以重启以监听第二端口。
示例性的,在端口冲突管理中,端口管理端可以对第一端口的绑定情况进行检测,若端口管理端检测到第一端口被其他服务端绑定,该端口管理端可以确定该服务端发生了端口冲突,在该种情况下,端口管理端可以在未被其他服务端绑定的端口中选择第二端口,并将该第二端口的端口信息更新至服务端配置数据中,该第二端口能够用于客户端与服务端建立通信连接。
进一步地,上述目标配置数据为客户端配置数据,示例性的,可以为客户端配置文件,该客户端配置数据由该端口管理端基于服务端配置数据管理。
示例性的,端口管理端可以对客户端配置数据进行管理,检查客户端配置数据中的端口信息与服务端配置数据中的端口信息是否一致,如果不一致,则将服务端配置数据中的端口信息更新至客户端配置数据中,从而协助客户端进行端口同步,也就是可以为客户端确定能够用于客户端与服务端建立通信连接的端口。
在一种可能的实现方式中,客户端与服务端可以位于不同的电子设备中,在客户端与服务端没有建立通信连接的情况下,服务端可以与某电子设备建立通信连接,将目标配置数据发送至该电子设备。客户端可以与该电子设备建立通信连接,如此,客户端可以从电子设备读取该目标配置数据中的端口信息。
步骤203:基于第二端口与服务端建立通信连接。
也就是,客户端可以基于第二端口向服务端发送连接请求消息,若客户端接收到服务端的连接响应消息,说明服务端绑定该第二端口,且该服务端同意与客户端建立通信连接,如此,客户端可以基于该第二端口与服务端进行通信。
若客户端未接收到服务端的连接响应消息,可能是该服务端未绑定该第二端口,也可能是该服务端绑定该第二端口但当前网络质量不佳。为了进一步确定该服务端是否绑定该第二端口,客户端可以统计连接失败次数。若连接失败次数小于或等于连接失败次数阈值,则客户端可以重新通过第二端口向服务端发送连接请求消息。若连接失败次数大于连接失败次数阈值,则客户端可以确定服务端未绑定该第二端口,即该第二端口无法用于客户端与服务端建立通信连接。在该种情况下,客户端可以重新读取该目标配置数据中的端口信息,基于重新读取的端口信息指示的端口与服务端建立通信连接。
作为一种示例,如图5所示,在客户端基于该第二端口与服务端建立通信连接之后,若客户端与服务端之间的通信连接断开,则客户端可以尝试再次基于该第二端口向该服务端发送连接请求消息,若接收到服务端的连接响应消息,则说明该服务端绑定的端口未改变,且服务端同意与该客户端建立通信连接,如此,客户端可以基于该第二端口与该服务端进行通信。
若客户端未接收到服务端的连接响应消息,可能是服务端绑定的端口已改变,也可能是该服务端绑定的端口未改变但当前网络质量不佳。为了进一步确定该服务端绑定的端口是否改变,客户端可以统计连接失败次数。若连接失败次数小于或等于连接失败次数阈值,则客户端可以重新通过第二端口向服务端发送连接请求消息,若连接失败次数大于连接失败次数阈值,则确定该服务端绑定的端口已改变,如此,客户端无法基于该第二端口与服务端建立通信连接。在该种情况下,客户端可以重新读取该目标配置数据(譬如服务端配置文件)中的端口信息,基于重新读取的端口信息指示的端口与服务端建立通信连接。
在本申请实施例中,客户端可以基于第一端口与服务端建立通信连接,该第一端口可能为客户端与服务端协商的端口与服务端建立通信连接,也可能为该客户端上一次与服务端通信所使用的端口与服务端建立通信连接。若客户端基于第一端口与服务端建立通信连接失败,说明服务端当前绑定的端口不是第一端口,在该种情况下,客户端可以读取目标配置数据中的端口信息,从而根据该目标配置数据中的端口信息确定第二端口,如此,客户端基于该第二端口与服务端建立通信连接。由于客户端不需要遍历多个端口,而是可以直接通过读取目标配置数据确定能够用于与该服务端建立通信连接的第二端口,因此可以缩短客户端与服务端建立通信连接所需要的时间,提高了通信效率。
图6是本申请实施例提供的一种建立通信连接的方法的流程图,该方法可以应用于上述实施环境中,这里以实施环境包括端口管理端为例进行说明,该方法主要由该端口管理端来实现。请参考图6,该方法包括如下步骤。
步骤601:读取客户端配置数据中的端口信息,以及读取服务端配置数据中的端口信息,该客户端配置数据中的端口信息指示的端口为客户端与服务端协商的端口,或者,为该客户端上一次与该服务端通信所使用的端口,该服务端配置数据中的端口信息为该服务端当前绑定的端口的信息。
其中,客户端配置数据中的端口信息指示的端口为服务端端口,而不是客户端端口,该端口可能是服务端当前绑定的端口,或者,也可能是服务端之前绑定的端口,或者,也可能是服务端默认的端口,具体地,该端口信息可以包括其所指示的端口的端口号,还可以包括该端口信息指示的端口的端口类型等等,本实施例对此不做限定。客户端配置数据可以是客户端配置文件,也可以是数据库中的数据表。
其中,该服务端配置数据中的端口信息指示的端口为服务端端口,可以为该服务端当前绑定的端口的信息。服务端配置数据中的端口信息可以包括服务端配置数据中的端口信息指示的端口的端口号,还可以包括服务端配置数据中的端口信息指示的端口的端口类型等等,本实施例对此不做限定。另外不难理解,该服务端配置数据中的端口信息与客户端配置数据中的端口信息可能相同,也可能不同。服务端配置数据可以是服务端配置文件,也可以是数据库中的数据表。
在这里,端口管理端可以通过管理服务端配置数据解决服务端的端口冲突,也可以通过管理客户端配置数据协助客户端进行端口同步。
示例性的,端口管理端可以分别读取客户端配置数据中的端口信息以及服务端配置数据中的端口信息,对客户端配置数据中的端口信息进行分析,从而基于服务端配置数据中的端口信息确定是否需要对该客户端配置数据进行更新,进而协助客户端进行端口同步,也就是可以为客户端确定能够用于客户端与服务端建立通信连接的端口。如此客户端可以直接读取管理后的客户端配置数据中的端口信息,基于管理后的客户端配置数据中的端口信息指示的端口与服务端建立通信连接。
作为一种示例,端口管理端可以配有管理配置数据,此时,该步骤601的实现可以包括:基于该端口管理端的管理配置数据,读取该客户端配置数据中的端口信息、以及读取该服务端配置数据中的端口信息,该管理配置数据中包括配置数据管理信息,该配置数据管理信息用于确定至少一对待同步的客户端与服务端的端口信息。
示例性的,该配置数据管理信息可以包括端口类型、配置数据的存储路径、端口信息在配置数据中的存储位置等等中的至少一个或多个,本实施例对此不做限定。
示例性的,在端口管理端需要对客户端配置数据进行管理的情况下,端口管理端可以基于管理配置数据,读取端口类型为客户端类型的配置数据管理信息,确定配置数据的存储路径和端口信息在配置数据中的存储位置,进而基于配置数据的存储路径读取客户端配置数据,基于端口信息在配置数据中的存储位置读取客户端配置数据中的端口信息。
需要说明的是,管理配置数据中的配置数据管理信息可以分为多组,每组配置数据管理信息可以包括一条服务端配置数据管理信息和多条客户端配置数据管理信息,其中,客户端配置数据管理信息对应的客户端为需要与服务端配置数据管理信息对应的服务端建立通信连接的客户端。
步骤602:在客户端配置数据中的端口信息与服务端配置数据中的端口信息不相同的情况下,将服务端配置数据中的端口信息更新至客户端配置数据中,更新后的客户端配置数据中的端口信息指示的端口能够用于客户端与服务端建立通信连接。
示例性的,如图7所示,在客户端配置数据(如客户端配置文件)中的端口信息与服务端配置数据(如服务端配置文件)中的端口信息不相同,即客户端配置数据中的端口信息指示的端口与服务端配置数据中的端口信息指示的端口不相同的情况下,端口管理端可以确定服务端未绑定该客户端配置数据中的端口信息指示的端口,即该客户端配置数据中的端口信息指示的端口无法用于客户端与服务端建立通信连接。
在该种情况下,端口管理端可以对客户端配置数据进行管理,即该端口管理端可以对该客户端配置数据中的端口信息进行更新,从而使得客户端配置数据中的端口信息指示的端口与服务端配置数据中的端口信息指示的端口相同。示例性的,端口管理端可以直接将服务端配置数据中的端口信息更新至该客户端配置数据中。在更新后,可以重启客户端。如此,在客户端配置数据中的端口信息指示的端口与服务端配置数据中的端口信息指示的端口相同的情况下,如图8所示,客户端可以直接读取该客户端配置数据(如客户端配置文件)中的端口信息,基于该客户端配置数据中的端口信息指示的端口与服务端建立通信连接。
需要说明的是,这里所述的更新可以是指利用重新确定的端口信息覆盖掉原来的端口信息,即更新后的客户端配置数据中不包括上一次绑定的端口信息。或者,该更新可以是指将重新确定的端口信息存储至该客户端配置数据中,并记录为最新的端口信息,示例性的,可以通过更新时间来将重新确定的该端口信息记录为最新的端口信息,如此以便于客户端读取端口信息时,可以根据时间读取到最新的,即此时该客户端配置文件中还包括上一次绑定的端口信息,只是该上一次绑定的端口信息不再是最新的端口信息。
作为一种示例,在端口管理端将服务端配置数据中的端口信息更新至客户端配置数据中之后,端口管理端还可以重启该客户端,如此,客户端在重启之后,可以立即读取该客户端配置数据中的端口信息,基于该客户端配置数据中的端口信息指示的端口与服务端建立通信连接。
作为一种示例,端口管理端还可以进行如下操作:检测该服务端配置数据中的端口信息指示的端口的绑定情况,若该服务端配置数据中的端口信息指示的端口被其他服务端绑定,则在未被该其他服务端绑定的端口中重新确定一个端口,将该重新确定的端口的端口信息更新至该服务端配置数据中。
示例性的,端口管理端可以对服务端配置数据进行管理,从而解决服务端的端口冲突,也就是可以为服务端选择该服务端能够绑定的端口。如此服务端可以直接读取管理后的服务端配置数据中的端口信息,与该管理后的服务端配置数据中的端口信息指示的端口进行绑定。
示例性的,如图9所示,端口管理端可以读取服务端配置数据(如服务端配置文件)中的端口信息,并检测该服务端配置数据中的端口信息指示的端口的绑定情况,从而根据该服务端配置数据中的端口信息指示的端口的绑定情况,确定是否需要对该服务端配置数据进行更新。
若端口管理端检测到服务端配置数据中的端口信息指示的端口被服务端绑定,则可以确定该服务端未发生端口冲突,如此,端口管理端不需要为该服务端重新选择端口,即不需要对该服务端配置数据进行更新。
若端口管理端检测到服务端配置数据中的端口信息指示的端口被其他服务端绑定,则可以确定该服务端无法绑定该服务端配置数据中的端口信息指示的端口,即该服务端发生端口冲突,如此,端口管理端可以为该服务端重新选择端口,即可以对该服务端配置数据进行更新。
示例性的,端口管理端可以在未被其他服务端绑定的端口中重新选择端口,将该重新选择的端口的端口信息更新至服务端配置数据中。如此,如图10所示,该服务端可以直接通过读取该服务端配置数据(如服务端配置文件)中的端口信息确定该重新选择的端口,并绑定该重新选择的端口。
作为一种示例,在端口管理端将重新选择的端口的端口信息更新至服务端配置数据中之后,端口管理端还可以重启该服务端,如此,服务端在重启之后,可以立即读取该服务端配置数据中的端口信息,从而服务端可以绑定该服务端配置数据中的端口信息指示的端口。
在一种可能的实现方式中,该端口管理端可以把所有未被绑定的都重新确定后,更新服务端配置数据中的端口信息,然后重启服务端开启监听。
在另一种可能的实现方式中,该端口管理端还可以是每重新确定一个未绑定的端口后,基于当前确定的端口的端口信息,更新服务端配置数据中的端口信息,并重启服务端开启当前这个端口的监听。之后,端口管理端继续确定下一个未绑定的端口,并按照上述方式进行循环。
示例性的,在端口管理端需要对服务端配置数据进行管理的情况下,端口管理端可以基于管理配置数据,读取端口类型为服务端类型的配置数据管理信息,确定配置数据的存储路径和端口信息在配置数据中的存储位置,进而基于配置数据的存储路径读取服务端配置数据,基于端口信息在配置数据中的存储位置读取服务端配置数据中的端口信息,进而端口管理端可以检测该服务端配置数据中的端口信息指示的端口的绑定情况,并基于该服务端配置数据中的端口信息指示的端口的绑定情况,确定是否需要对该服务端配置数据进行更新。
需要说明的是,该端口管理端可以管理多条服务端配置数据,而且该端口管理端可以定时对该多条服务端配置数据进行管理,示例性的,端口管理端可以每隔一分钟对该多条服务端配置数据进行管理,也可以实时地对该多条服务端配置数据进行管理,本实施例对此不做限定。
在本申请实施例中,端口管理端可以读取客户端配置数据中的端口信息,若客户端配置数据中的端口信息与服务端配置数据中的端口信息不相同,则说明服务端当前绑定的端口不是客户端配置数据中的端口信息指示的端口,即客户端无法基于客户端配置数据中的端口信息指示的端口与服务端建立通信连接。在该种情况下,端口管理端可以将服务端配置数据中的端口信息存储至客户端配置数据中,即将客户端配置数据中的端口信息指示的端口更新为服务端配置数据中的端口信息指示的端口。如此,客户端不需要遍历多个端口,而是可以直接通过读取客户端配置数据确定能够用于与服务端建立通信连接的端口,因此可以缩短客户端与服务端建立通信连接所需要的时间,提高了通信效率。此外,在端口管理端通过管理配置数据管理至少一对待同步的客户端与服务端的端口信息的情况下,通过本申请实施例提供的方法,可以批量解决服务端端口冲突问题,实现客户端与服务器建立通信连接。
请参考图11,该图11是根据一示例性实施例示出的一种建立通信连接的方法流程图,该方法可以应用于上述实施环境中,具体地,当实施环境中不包括端口管理端时,该方法可以由服务端来执行,当实施环境中包括端口管理端时,该方法可以由端口管理端来执行。该方法具体可以包括如下实现步骤:
步骤1101:在服务端与第一端口绑定失败的情况下,确定能够用于绑定的第二端口。
在服务端与第一端口绑定失败的情况下,说明该第一端口被其他服务端占用,在该种情况下,可以从未被占用的端口中重新确定一个端口,即确定能够用于服务端绑定的第二端口。
步骤1102:将该第二端口的端口信息更新至目标配置数据中,该目标配置数据用于客户端获取能够与该服务端建立通信连接的端口的端口信息。
示例性的,该目标配置数据可以为服务端配置数据。或者,该目标配置数据也可以为客户端配置数据。该目标配置数据可以为文件,或者,也可以为数据库中的数据表。在将该第二端口的端口信息更新至目标配置数据中之后,服务端可以重启以监听第二端口。
需要说明的是,本申请实施例的实现原理与上述实施例类似,具体可以参见上述各个实施例。
在本申请实施例中,若服务端与第一端口绑定失败,说明该第一端口无法再用于客户端与服务端建立通信连接,此时,可以重新确定一个能够用于服务端绑定的第二端口,并将该第二端口的端口信息更新至目标配置数据中,如此,客户端不需要遍历多个端口,而是可以直接通过读取目标配置数据确定能够用于与服务端建立通信连接的端口,因此可以缩短客户端与服务端建立通信连接所需要的时间,提高了通信效率。
图12是根据一示例性实施例示出的一种建立通信连接的装置的结构示意图,该建立通信连接的装置可以由软件、硬件或者两者的结合实现。该建立通信连接的装置可以包括:
第一连接模块1210,用于基于第一端口与服务端建立通信连接,该第一端口为该客户端与该服务端协商的端口,或者,该第一端口为该客户端上一次与该服务端通信所使用的端口;
第一读取模块1220,用于在基于该第一端口与该服务端建立通信连接失败的情况下,读取目标配置数据中的端口信息,该目标配置数据中的端口信息指示的第二端口能够用于该客户端与该服务端建立通信连接;
第二连接模块1230,用于基于该第二端口与该服务端建立通信连接。
在本申请一种可能的实现方式中,该第一连接模块1210用于:
通过该第一端口向该服务端发送连接请求消息;
若未接收到该服务端的连接响应消息,统计连接失败次数,该连接失败次数是指通过该第一端口发送该连接请求消息且未接收到该连接响应消息的次数;
若该连接失败次数小于或等于连接失败次数阈值,则重新返回该通过该第一端口向该服务端发送连接请求消息的操作,直至该连接失败次数大于该连接失败次数阈值时,确定基于该第一端口与该服务端建立通信连接失败。
在本申请一种可能的实现方式中,所述第二端口是由所述服务端在与所述第一端口绑定失败的情况下确定的;或者,所述第二端口是由端口管理端在所述服务端与所述第一端口绑定失败的情况下确定的。
在本申请一种可能的实现方式中,所述目标配置数据为客户端配置数据,所述客户端配置数据由所述端口管理端基于服务端配置数据管理。
在本申请实施例中,客户端可以基于第一端口与服务端建立通信连接,该第一端口可能为客户端与服务端协商的端口与服务端建立通信连接,也可能为该客户端上一次与服务端通信所使用的端口与服务端建立通信连接。若客户端基于第一端口与服务端建立通信连接失败,说明服务端当前绑定的端口不是第一端口,在该种情况下,客户端可以读取目标配置数据中的端口信息,从而根据该目标配置数据中的端口信息确定第二端口,如此,客户端基于该第二端口与服务端建立通信连接。由于客户端不需要遍历多个端口,而是可以直接通过读取目标配置数据确定能够用于与该服务端建立通信连接的第二端口,因此可以缩短客户端与服务端建立通信连接所需要的时间,提高了通信效率。
图13是根据一示例性实施例示出的一种建立通信连接的装置的结构示意图,该建立通信连接的装置可以由软件、硬件或者两者的结合实现。该建立通信连接的装置可以包括:
第二读取模块1310,用于读取客户端配置数据中的端口信息、以及读取服务端配置数据中的端口信息,所述客户端配置数据中的端口信息指示的端口为客户端与服务端协商的端口,或者,为所述客户端上一次与所述服务端通信所使用的端口,所述服务端配置数据中的端口信息为所述服务端当前绑定的端口的信息;
第一更新模块1320,用于在所述客户端配置数据中的端口信息与服务端配置数据中的端口信息不相同的情况下,将所述服务端配置数据中的端口信息更新至所述客户端配置数据中,更新后的所述客户端配置数据中的端口信息指示的端口能够用于所述客户端与所述服务端建立通信连接。
在本申请一种可能的实现方式中,该装置还包括:
检测模块,用于检测该服务端配置数据中的端口信息指示的端口的绑定情况;
第一确定模块,用于若所述服务端配置数据中的端口信息指示的端口被其他服务端绑定,则在未被所述其他服务端绑定的端口中重新确定一个端口;
第一更新模块,用于将所述重新确定的端口的端口信息更新至所述服务端配置数据中。
在本申请一种可能的实现方式中,所述第二读取模块1310用于:基于所述端口管理端的管理配置数据,读取所述客户端配置数据中的端口信息、以及读取所述服务端配置数据中的端口信息,所述管理配置数据中包括配置数据管理信息,所述配置数据管理信息用于确定至少一对待同步的客户端与服务端的端口信息。
在本申请实施例中,端口管理端可以读取客户端配置数据中的端口信息,若客户端配置数据中的端口信息与服务端配置数据中的端口信息不相同,则说明服务端当前绑定的端口不是客户端配置数据中的端口信息指示的端口,即客户端无法基于客户端配置数据中的端口信息指示的端口与服务端建立通信连接。在该种情况下,端口管理端可以将服务端配置数据中的端口信息存储至客户端配置数据中,即将客户端配置数据中的端口信息指示的端口更新为服务端配置数据中的端口信息指示的端口。如此,客户端不需要遍历多个端口,而是可以直接通过读取客户端配置数据确定能够用于与服务端建立通信连接的端口,因此可以缩短客户端与服务端建立通信连接所需要的时间,提高了通信效率。
图14是根据一示例性实施例示出的一种建立通信连接的装置的结构示意图,该建立通信连接的装置可以由软件、硬件或者两者的结合实现。该建立通信连接的装置可以包括:
第二确定模块1410,用于在服务端与第一端口绑定失败的情况下,确定能够用于绑定的第二端口;
第二更新模块1420,用于将所述第二端口的端口信息更新至目标配置数据中,所述目标配置数据用于客户端获取能够与所述服务端建立通信连接的端口的端口信息。
在本申请实施例中,若服务端与第一端口绑定失败,说明该第一端口无法再用于客户端与服务端建立通信连接,此时,可以重新确定一个能够用于服务端绑定的第二端口,并将该第二端口的端口信息更新至目标配置数据中,如此,客户端不需要遍历多个端口,而是可以直接通过读取目标配置数据确定能够用于与服务端建立通信连接的端口,因此可以缩短客户端与服务端建立通信连接所需要的时间,提高了通信效率。
需要说明的是:上述实施例提供的建立通信连接的装置在建立通信连接的时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的建立通信连接的装置与建立通信连接的方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
图15是本申请实施例提供的一种电子设备1500的结构框图。该电子设备1500可以是便携式移动终端,比如:智能手机、平板电脑、MP3播放器(Moving Picture ExpertsGroup Audio Layer III,动态影像专家压缩标准音频层面3)、MP4(Moving PictureExperts Group Audio Layer IV,动态影像专家压缩标准音频层面4)播放器、笔记本电脑或台式电脑。电子设备1500还可能被称为用户设备、便携式终端、膝上型终端、台式终端等其他名称。
通常,电子设备1500包括有:处理器1501和存储器1502。
处理器1501可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器1501可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器1501也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(Central ProcessingUnit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器1501可以在集成有GPU(Graphics Processing Unit,图像处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器1501还可以包括AI(Artificial Intelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器1502可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器1502还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器1502中的非暂态的计算机可读存储介质用于存储至少一个指令,该至少一个指令用于被处理器1501所执行以实现本申请中方法实施例提供的建立通信连接的方法。
本领域技术人员可以理解,图15中示出的结构并不构成对电子设备1500的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。
在一些实施例中,还提供了一种计算机可读存储介质,该存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述实施例中建立通信连接的方法的步骤。例如,所述计算机可读存储介质可以是磁盘或光盘,EEPROM(Electrically ErasableProgrammable read only memory,电可擦除可编程只读存储器),EPROM(ErasableProgrammable Read-Only Memory,可擦除可编程只读存储器),SRAM(Static RandomAccess Memory,静态随时存取存储器),ROM(Read Only Memory,只读存储器),磁存储器,快闪存储器,PROM(Programmable Read-Only Memory,可编程只读存储器)等。
值得注意的是,本申请提到的计算机可读存储介质可以为非易失性存储介质,换句话说,可以是非瞬时性存储介质。
应当理解的是,实现上述实施例的全部或部分步骤可以通过软件、硬件、固件或者其任意结合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。所述计算机指令可以存储在上述计算机可读存储介质中。
也即是,在一些实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述所述的建立通信连接的方法的步骤。
以上所述为本申请提供的实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

Claims (14)

1.一种建立通信连接的方法,其特征在于,应用于客户端,所述方法包括:
基于第一端口与服务端建立通信连接,所述第一端口为所述客户端与所述服务端协商的端口,或者,所述第一端口为所述客户端上一次与所述服务端通信所使用的端口;
在基于所述第一端口与所述服务端建立通信连接失败的情况下,读取目标配置数据中的端口信息,所述目标配置数据中的端口信息指示的第二端口能够用于所述客户端与所述服务端建立通信连接;
基于所述第二端口与所述服务端建立通信连接。
2.如权利要求1所述的方法,其特征在于,所述基于第一端口与服务端建立通信连接,包括:
通过所述第一端口向所述服务端发送连接请求消息;
若未接收到所述服务端的连接响应消息,统计连接失败次数,所述连接失败次数是指通过所述第一端口发送所述连接请求消息且未接收到所述连接响应消息的次数;
若所述连接失败次数小于或等于连接失败次数阈值,则重新返回所述通过所述第一端口向所述服务端发送连接请求消息的操作,直至所述连接失败次数大于所述连接失败次数阈值时,确定基于所述第一端口与所述服务端建立通信连接失败。
3.如权利要求1所述的方法,其特征在于,
所述第二端口是由所述服务端在与所述第一端口绑定失败的情况下确定的;或者,
所述第二端口是由端口管理端在所述服务端与所述第一端口绑定失败的情况下确定的。
4.如权利要求1所述的方法,其特征在于,所述目标配置数据为客户端配置数据,所述客户端配置数据由所述端口管理端基于服务端配置数据管理。
5.一种建立通信连接的方法,其特征在于,应用于端口管理端,所述方法包括:
读取客户端配置数据中的端口信息、以及读取服务端配置数据中的端口信息,所述客户端配置数据中的端口信息指示的端口为客户端与服务端协商的端口,或者,为所述客户端上一次与所述服务端通信所使用的端口,所述服务端配置数据中的端口信息为所述服务端当前绑定的端口的信息;
在所述客户端配置数据中的端口信息与服务端配置数据中的端口信息不相同的情况下,将所述服务端配置数据中的端口信息更新至所述客户端配置数据中,更新后的所述客户端配置数据中的端口信息指示的端口能够用于所述客户端与所述服务端建立通信连接。
6.如权利要求5所述的方法,其特征在于,所述方法还包括:
检测所述服务端配置数据中的端口信息指示的端口的绑定情况;
若所述服务端配置数据中的端口信息指示的端口被其他服务端绑定,则在未被所述其他服务端绑定的端口中重新确定一个端口;
将所述重新确定的端口的端口信息更新至所述服务端配置数据中。
7.如权利要求5所述的方法,其特征在于,所述读取客户端配置数据中的端口信息、以及读取服务端配置数据中的端口信息,包括:
基于所述端口管理端的管理配置数据,读取所述客户端配置数据中的端口信息、以及读取所述服务端配置数据中的端口信息,所述管理配置数据中包括配置数据管理信息,所述配置数据管理信息用于确定至少一对待同步的客户端与服务端的端口信息。
8.一种建立通信连接的方法,其特征在于,所述方法包括:
在服务端与第一端口绑定失败的情况下,确定能够用于绑定的第二端口;
将所述第二端口的端口信息更新至目标配置数据中,所述目标配置数据用于客户端获取能够与所述服务端建立通信连接的端口的端口信息。
9.一种建立通信连接的装置,其特征在于,应用于客户端,所述装置包括:
第一连接模块,用于基于第一端口与服务端建立通信连接,所述第一端口为所述客户端与所述服务端协商的端口,或者,所述第一端口为所述客户端上一次与所述服务端通信所使用的端口;
第一读取模块,用于在基于所述第一端口与所述服务端建立通信连接失败的情况下,读取目标配置数据中的端口信息,所述目标配置数据中的端口信息指示的第二端口能够用于所述客户端与所述服务端建立通信连接;
第二连接模块,用于基于所述第二端口与所述服务端建立通信连接。
10.如权利要求9所述的装置,其特征在于,所述第一连接模块用于:
通过所述第一端口向所述服务端发送连接请求消息;
若未接收到所述服务端的连接响应消息,统计连接失败次数,所述连接失败次数是指通过所述第一端口发送所述连接请求消息且未接收到所述连接响应消息的次数;
若所述连接失败次数小于或等于连接失败次数阈值,则重新返回所述通过所述第一端口向所述服务端发送连接请求消息的操作,直至所述连接失败次数大于所述连接失败次数阈值时,确定基于所述第一端口与所述服务端建立通信连接失败;
所述第二端口是由所述服务端在与所述第一端口绑定失败的情况下确定的;或者,所述第二端口是由端口管理端在所述服务端与所述第一端口绑定失败的情况下确定的,所述目标配置数据为客户端配置数据,所述客户端配置数据由所述端口管理端基于服务端配置数据管理。
11.一种建立通信连接的装置,其特征在于,应用于端口管理端,所述装置包括:
第二读取模块,用于读取客户端配置数据中的端口信息、以及读取服务端配置数据中的端口信息,所述客户端配置数据中的端口信息指示的端口为客户端与服务端协商的端口,或者,为所述客户端上一次与所述服务端通信所使用的端口,所述服务端配置数据中的端口信息为所述服务端当前绑定的端口的信息;
第一更新模块,用于在所述客户端配置数据中的端口信息与服务端配置数据中的端口信息不相同的情况下,将所述服务端配置数据中的端口信息更新至所述客户端配置数据中,更新后的所述客户端配置数据中的端口信息指示的端口能够用于所述客户端与所述服务端建立通信连接。
12.如权利要求11所述的装置,其特征在于,所述装置还包括:
检测模块,用于检测所述服务端配置数据中的端口信息指示的端口的绑定情况;
第一确定模块,用于若所述服务端配置数据中的端口信息指示的端口被其他服务端绑定,则在未被所述其他服务端绑定的端口中重新确定一个端口;
所述第一更新模块,用于将所述重新确定的端口的端口信息更新至所述服务端配置数据中;
所述第二读取模块用于:基于所述端口管理端的管理配置数据,读取所述客户端配置数据中的端口信息、以及读取所述服务端配置数据中的端口信息,所述管理配置数据中包括配置数据管理信息,所述配置数据管理信息用于确定至少一对待同步的客户端与服务端的端口信息。
13.一种建立通信连接的装置,其特征在于,所述装置包括:
第二确定模块,用于在服务端与第一端口绑定失败的情况下,确定能够用于绑定的第二端口;
第二更新模块,用于将所述第二端口的端口信息更新至目标配置数据中,所述目标配置数据用于客户端获取能够与所述服务端建立通信连接的端口的端口信息。
14.一种电子设备,其特征在于,包括:
处理器;
存储器,所述存储器存储有所述处理器可执行的指令;
其中,所述处理器被配置为执行所述指令并实现权利要求1-4所述的任一项方法的步骤,或者,所述处理器被配置为执行所述指令并实现权利要求5-7所述的任一项方法的步骤,或者,所述处理器被配置为执行所述指令并实现权利要求8所述的方法的步骤。
CN202010706529.0A 2020-07-21 2020-07-21 建立通信连接的方法、装置及设备 Active CN111698337B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN202010706529.0A CN111698337B (zh) 2020-07-21 2020-07-21 建立通信连接的方法、装置及设备
PCT/CN2021/107451 WO2022017398A1 (zh) 2020-07-21 2021-07-20 建立通信连接的方法、装置、设备及计算机可读存储介质
EP21845873.5A EP4187877A4 (en) 2020-07-21 2021-07-20 METHOD AND APPARATUS FOR ESTABLISHING A COMMUNICATION CONNECTION, DEVICE, AND COMPUTER-READABLE STORAGE MEDIUM

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010706529.0A CN111698337B (zh) 2020-07-21 2020-07-21 建立通信连接的方法、装置及设备

Publications (2)

Publication Number Publication Date
CN111698337A true CN111698337A (zh) 2020-09-22
CN111698337B CN111698337B (zh) 2022-08-09

Family

ID=72486479

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010706529.0A Active CN111698337B (zh) 2020-07-21 2020-07-21 建立通信连接的方法、装置及设备

Country Status (3)

Country Link
EP (1) EP4187877A4 (zh)
CN (1) CN111698337B (zh)
WO (1) WO2022017398A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022017398A1 (zh) * 2020-07-21 2022-01-27 杭州海康威视数字技术股份有限公司 建立通信连接的方法、装置、设备及计算机可读存储介质

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104660453A (zh) * 2015-03-20 2015-05-27 上海斐讯数据通信技术有限公司 服务端端口号协商方法及系统
CN104915252A (zh) * 2015-06-15 2015-09-16 上海斐讯数据通信技术有限公司 一种进程端口管理装置及方法
CN104994093A (zh) * 2015-07-01 2015-10-21 网宿科技股份有限公司 一种服务负载均衡方法及系统
WO2016003454A1 (en) * 2014-07-02 2016-01-07 Hewlett-Packard Development Company, L.P. Managing port connections
CN105635248A (zh) * 2015-12-18 2016-06-01 Tcl集团股份有限公司 一种tcp连接资源的释放方法及系统
CN107454141A (zh) * 2017-06-29 2017-12-08 福建天泉教育科技有限公司 解决端口冲突的方法及计算机可读存储介质
CN107547690A (zh) * 2017-09-25 2018-01-05 新华三信息安全技术有限公司 Nat中的端口分配方法、装置、nat设备及存储介质
CN109151075A (zh) * 2018-10-30 2019-01-04 迈普通信技术股份有限公司 日志处理方法、装置及电子设备
CN109815110A (zh) * 2018-12-11 2019-05-28 北京城市网邻信息技术有限公司 一种网络端口管理方法、装置、终端设备及存储介质
CN110365560A (zh) * 2019-07-15 2019-10-22 上海市共进通信技术有限公司 家庭网关中实现服务端口自适应的控制方法

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8631155B2 (en) * 2007-06-29 2014-01-14 Microsoft Corporation Network address translation traversals for peer-to-peer networks
CN101714925B (zh) * 2009-11-09 2012-04-18 华为终端有限公司 通信设备端口管理方法和系统、管理设备和通信设备
CN103095683A (zh) * 2012-12-13 2013-05-08 北京奇虎科技有限公司 一种Linux虚拟服务器调度系统和方法
CN103002039A (zh) * 2012-12-13 2013-03-27 北京奇虎科技有限公司 服务器调度系统和方法
CN103986762B (zh) * 2014-05-15 2018-03-27 京信通信系统(中国)有限公司 一种进行进程状态检测的方法及装置
US10505982B2 (en) * 2015-10-23 2019-12-10 Oracle International Corporation Managing security agents in a distributed environment
US10542097B2 (en) * 2016-11-30 2020-01-21 International Business Machines Corporation Integrating applications with endpoints using dynamic port negotiation
CN109302460A (zh) * 2018-09-14 2019-02-01 中通国脉物联科技南京有限公司 一种动态扩展通信连接数的管理方法
CN109600267A (zh) * 2019-01-09 2019-04-09 郑州云海信息技术有限公司 一种网络链路的物理端口切换方法与装置
CN111182479B (zh) * 2019-08-12 2021-09-17 腾讯科技(深圳)有限公司 信息发送的控制方法及装置
CN111698337B (zh) * 2020-07-21 2022-08-09 杭州海康威视数字技术股份有限公司 建立通信连接的方法、装置及设备

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016003454A1 (en) * 2014-07-02 2016-01-07 Hewlett-Packard Development Company, L.P. Managing port connections
CN104660453A (zh) * 2015-03-20 2015-05-27 上海斐讯数据通信技术有限公司 服务端端口号协商方法及系统
CN104915252A (zh) * 2015-06-15 2015-09-16 上海斐讯数据通信技术有限公司 一种进程端口管理装置及方法
CN104994093A (zh) * 2015-07-01 2015-10-21 网宿科技股份有限公司 一种服务负载均衡方法及系统
CN105635248A (zh) * 2015-12-18 2016-06-01 Tcl集团股份有限公司 一种tcp连接资源的释放方法及系统
CN107454141A (zh) * 2017-06-29 2017-12-08 福建天泉教育科技有限公司 解决端口冲突的方法及计算机可读存储介质
CN107547690A (zh) * 2017-09-25 2018-01-05 新华三信息安全技术有限公司 Nat中的端口分配方法、装置、nat设备及存储介质
CN109151075A (zh) * 2018-10-30 2019-01-04 迈普通信技术股份有限公司 日志处理方法、装置及电子设备
CN109815110A (zh) * 2018-12-11 2019-05-28 北京城市网邻信息技术有限公司 一种网络端口管理方法、装置、终端设备及存储介质
CN110365560A (zh) * 2019-07-15 2019-10-22 上海市共进通信技术有限公司 家庭网关中实现服务端口自适应的控制方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022017398A1 (zh) * 2020-07-21 2022-01-27 杭州海康威视数字技术股份有限公司 建立通信连接的方法、装置、设备及计算机可读存储介质

Also Published As

Publication number Publication date
EP4187877A1 (en) 2023-05-31
CN111698337B (zh) 2022-08-09
WO2022017398A1 (zh) 2022-01-27
EP4187877A4 (en) 2023-10-18

Similar Documents

Publication Publication Date Title
WO2018049888A1 (zh) 应用数据的迁移方法及装置
CN106874328A (zh) 一种数据处理方法和设备
CN104283926A (zh) 一种数据同步方法、装置及服务器
US20130310014A1 (en) Method and Mobile Terminal for Storing Memo During Call
CN112965660A (zh) 一种双存储池信息反馈的方法、系统、设备及介质
CN114257532B (zh) 服务端状态探测方法及装置
CN111698337B (zh) 建立通信连接的方法、装置及设备
CN111427918A (zh) 交易明细数据比对方法及装置
CN111694703A (zh) 缓存区管理方法、装置和计算机设备
CN112363980A (zh) 一种分布式系统的数据处理方法及装置
WO2023221495A1 (zh) 一种网页同步方法、装置、存储介质及电子设备
CN112000850A (zh) 进行数据处理的方法、装置、系统及设备
CN111352959A (zh) 数据同步补救、存储方法及集群装置
CN105144073A (zh) 可移除存储设备身份和配置信息
CN113032021B (zh) 系统切换及其数据处理方法、装置、设备及存储介质
EP4136809B1 (en) Distributed flow processing and flow cache
CN114697339A (zh) 集中式架构下的负载均衡方法及装置
CN114416212A (zh) 移动端应用程序数据资源处理方法及装置
CN111930624A (zh) 测试链路报文数据处理方法及装置
CN111858765A (zh) 应用于数据库扩容场景的数据处理方法、装置及系统
CN113050974B (zh) 云计算基础设施在线升级方法及装置
CN110287060B (zh) 一种数据的处理方法、装置
CN115348352A (zh) 一种页面访问方法及系统
CN115454962A (zh) 集群平滑迁移方法及装置
CN115129685A (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