CN110891033B - 网络资源处理方法、装置、网关、控制器及存储介质 - Google Patents

网络资源处理方法、装置、网关、控制器及存储介质 Download PDF

Info

Publication number
CN110891033B
CN110891033B CN201811046299.9A CN201811046299A CN110891033B CN 110891033 B CN110891033 B CN 110891033B CN 201811046299 A CN201811046299 A CN 201811046299A CN 110891033 B CN110891033 B CN 110891033B
Authority
CN
China
Prior art keywords
resource
network
preset
gateway
network resource
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
Application number
CN201811046299.9A
Other languages
English (en)
Other versions
CN110891033A (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.)
Alibaba Group Holding Ltd
Original Assignee
Alibaba Group Holding 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 Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN201811046299.9A priority Critical patent/CN110891033B/zh
Publication of CN110891033A publication Critical patent/CN110891033A/zh
Application granted granted Critical
Publication of CN110891033B publication Critical patent/CN110891033B/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
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本申请实施例提供了一种网络资源处理方法、装置、网关、控制器及存储介质。通过本申请,在本地存储网络资源之外,只需额外将当前已被占用的网络资源存储在预设资源列表中,无需为每一个当前已建立了通信连接的网络服务器创建网络资源与网络资源是否被网络服务器占用的占用标识之间的对应关系,从而可以节省网关的存储空间。其次,网关从至少一个网络资源中选择第一网络资源之后,需要判断第一网络资源当前是否已被占用,本申请可以在预设资源列表中查找是否存在第一网络资源,预设资源列表中通常仅存储了第一预设资源集合中的部分网络资源,也即,预设资源列表中存储的网络资源较少,从而可以提高确定第一网络资源当前是否已被占用的确定效率。

Description

网络资源处理方法、装置、网关、控制器及存储介质
技术领域
本申请涉及计算机技术领域,特别是涉及一种网络资源处理方法、装置、网关、控制器及存储介质。
背景技术
网络地址转换(NAT,Network Address Translation)技术是一种将私有IP(Internet Protocol,网络互联协议)地址转换为公有IP地址,或将公有IP地址转换为私有IP地址的转换技术,且被广泛应用于各个局域网接入互联网的场景中,不仅解决了公有IP地址不足的问题,而且还使得局域网能够有效地避免来自外部的攻击,隐藏并保护位于局域网内的终端。
其中,位于局域网内的终端可以通过网关来接入互联网。网关预留有IP和多个端口,将IP和每一个端口任意组合为一组网络资源,得到多组网络资源。
在相关技术中,如果位于局域网内的一个终端请求建立与位于互联网内的一个网络服务器之间的通信连接,网关需要从预留的多组网络资源中选择一组网络资源用来建立与位于互联网内的网络服务器之间的通信连接。其次,对于任意一个网络资源,网关需要创建该网络资源与该网络资源是否被该网络服务器占用的占用标识之间的对应关系,对于其他每一个网络资源,同样如此,因此,创建的对应关系的数量就等于网关预留的网络资源的总数量。
如果位于局域网内的另一终端也请求建立与位于互联网内的另一个网络服务器之间的通信连接,对于任意一个网络资源,网关也需要创建该网络资源与该网络资源是否被该另一网络服务器占用的占用标识之间的对应关系,对于其他每一个网络资源同样如此,因此,创建的对应关系的数量就等于网关预留的网络资源的总数量。
可见,在相关技术中,网关需要维护的对应关系的数量等于预留的网络资源的总数量与已建立了通信连接的网络服务器的数量之间的乘积,导致需要维护的对应关系的数量非常大,会占用网关非常多的存储空间。
其次,如果位于局域网内的又一终端也请求建立与位于互联网内的又一个网络服务器之间的通信连接,网关从多组网络资源中选择一组网络资源之后,需要判断选择的该组网络资源当前是否被占用,需要在为每一个当前已建立了通信连接的网络服务器而创建的对应关系中查找该组网络资源对应的占用标识,进而确定选择的该组网络资源当前是否被占用,由于对应关系数量非常多,从而导致确定选择的该组网络资源当前是否被占用的确定效率较低。
发明内容
为解决上述技术问题,本申请实施例示出了一种网络资源处理方法、装置、网关、控制器及存储介质。
第一方面,本申请实施例示出了一种网络资源处理方法,应用于网关,所述方法包括:
当需要使用网络资源时,从第一预设资源集合中选择第一网络资源,所述第一预设资源集合中包括至少一个网络资源;
在预设资源列表中查找是否存在所述第一网络资源,所述预设资源列表中包括当前已被占用的网络资源;
如果所述预设资源列表中不存在所述第一网络资源,则使用所述第一网络资源。
在一个可选的实现方式中,如果使用了所述第一网络资源,则将所述第一网络资源存储在所述预设资源列表中;
如果所述预设资源列表中存在所述第一网络资源,则重新执行所述从第一预设资源集合中选择第一网络资源的步骤。
在一个可选的实现方式中,所述从第一预设资源集合中选择第一网络资源之后,还包括:
更新从所述第一预设资源集合中选择第一网络资源的累计选择次数。
在一个可选的实现方式中,所述方法还包括:
如果所述预设资源列表中存在所述第一网络资源,则确定所述累计选择次数是否小于或等于第一预设次数;
如果所述累计选择次数小于所述第一预设次数,则重新执行所述从第一预设资源集合中选择第一网络资源的步骤;
如果所述累计选择次数等于所述第一预设次数,则从第二预设资源集合中选择第二网络资源,所述第二预设资源集合包括至少一个网络资源,所述第二预设资源集合中的网络资源与所述第一预设资源集合中的网络资源不同,在所述预设资源列表中查找是否存在所述第二网络资源,如果所述预设资源列表中不存在所述第二网络资源,则使用所述第二网络资源。
在一个可选的实现方式中,所述方法还包括:
确定所述累计选择次数是否大于第二预设次数;
如果所述累计选择次数大于所述第二预设次数,则向控制器发送所述累计选择次数;
接收所述控制器根据所述累计选择次数分配的新网络资源;
将所述新网络资源存储在所述第一预设资源集合中。
在一个可选的实现方式中,所述方法还包括:
获取在第一预设时长内每一次为使用网络资源时从所述第一预设资源集合中选择网络资源的累计选择次数;
向控制器发送所述累计选择次数;
接收所述控制器根据所述累计选择次数分配的新网络资源;
将所述新网络资源存储在所述第一预设资源集合中。
在一个可选的实现方式中,所述方法还包括:
获取在第一预设时长内每一次为使用网络资源时从所述第一预设资源集合中选择网络资源的平均累计选择次数;
确定所述平均累计选择次数是否小于或等于第三预设次数;
如果所述平均累计选择次数小于或等于第三预设次数,则将第一预设资源集合中的未被占用的第三网络资源从所述第一预设资源集合中移动至所述第二预设资源集合中;
向所述控制器发送资源回收请求,所述资源回收请求用于请求从网关中回收所述第三网络资源;
接收所述控制器根据所述资源回收请求发送的资源回收指令,所述资源回收指令用于指示从所述网关中删除所述第三网络资源;
根据所述资源回收指令从所述第二预设资源集合中删除所述第三网络资源。
在一个可选的实现方式中,所述第一网络资源包括弹性网络协议EIP地址和端口PORT;第二网络资源包括弹性网络协议EIP地址和端口PORT;第三网络资源包括弹性网络协议EIP地址和端口PORT。
在一个可选的实现方式中,所述控制器包括软件定义网络SDN控制器,所述网关包括网络地址转换NAT网关。
第二方面,本申请实施例示出了一种网络资源处理方法,应用于控制器,所述方法包括:
接收累计选择次数,所述累计选择次数包括从网关的第一预设资源集合中选择网络资源的累计选择次数,所述第一预设资源集合中包括至少一个网络资源;
判断所述累计选择次数是否大于或等于第四预设次数;
如果所述累计选择次数大于或等于第四预设次数,则向所述网关分配新网络资源。
在一个可选的实现方式中,所述向所述网关分配新网络资源之前,还包括:
记录所述网关对所述新网络资源的使用权限。
在一个可选的实现方式中,所述创建所述网关对所述新网络资源的使用权限,包括:
建立所述网关与所述新网络资源之间的对应关系。
在一个可选的实现方式中,所述向所述网关分配新网络资源,包括:
在累计选择次数与资源数量之间的对应关系中,查找与所述累计选择次数相对应的资源数量;
为所述网关分配所述资源数量的新网络资源。
第三方面,本申请实施例示出了一种网络资源处理方法,应用于控制器,所述方法包括:
接收资源回收请求,所述资源回收请求用于请求从网关中回收未被占用的第三网络资源;所述资源回收请求是所述网关在第一预设时长内每一次为使用网络资源时从第一预设资源集合中选择网络资源的平均累计选择次数小于或等于第三预设次数时发送的;所述第一预设资源集合中包括至少一个网络资源;
根据所述资源回收请求向所述网关发送资源回收指令,所述资源回收指令用于指示从所述网关中删除所述第三网络资源。
在一个可选的实现方式中,所述根据所述资源回收请求向所述网关发送资源回收指令之后,还包括:
解除所述网关对所述第三网络资源的使用权限。
在一个可选的实现方式中,所述解除所述网关对所述第三网络资源的使用权限,包括:
删除所述第三网络资源与所述网关之间的对应关系。
第四方面,本申请实施例示出了一种网络资源处理装置,应用于网关,所述装置包括:
第一选择模块,用于当需要使用网络资源时,从第一预设资源集合中选择第一网络资源,所述第一预设资源集合中包括至少一个网络资源;
第一查找模块,用于在预设资源列表中查找是否存在所述第一网络资源,所述预设资源列表中包括当前已被占用的网络资源;
第一使用模块,用于如果所述预设资源列表中不存在所述第一网络资源,则使用所述第一网络资源。
在一个可选的实现方式中,所述装置还包括:
第一存储模块,用于如果使用了所述第一网络资源,则将所述第一网络资源存储在所述预设资源列表中;
所述第一选择模块还用于:如果所述预设资源列表中存在所述第一网络资源,则重新从第一预设资源集合中选择第一网络资源。
在一个可选的实现方式中,所述装置还包括:
更新模块,用于更新从所述第一预设资源集合中选择第一网络资源的累计选择次数。
在一个可选的实现方式中,所述装置还包括:
第一确定模块,用于如果所述预设资源列表中存在所述第一网络资源,则确定所述累计选择次数是否小于或等于第一预设次数;
所述第一选择模块还用于:如果所述累计选择次数小于所述第一预设次数,则重新从第一预设资源集合中选择第一网络资源;
第二选择模块,用于如果所述累计选择次数等于所述第一预设次数,则从第二预设资源集合中选择第二网络资源,所述第二预设资源集合包括至少一个网络资源,所述第二预设资源集合中的网络资源与所述第一预设资源集合中的网络资源不同,第二查找模块,用于在所述预设资源列表中查找是否存在所述第二网络资源,第二使用模块,用于如果所述预设资源列表中不存在所述第二网络资源,则使用所述第二网络资源。
在一个可选的实现方式中,所述装置还包括:
第二确定模块,用于确定所述累计选择次数是否大于第二预设次数;
第一发送模块,用于如果所述累计选择次数大于所述第二预设次数,则向控制器发送所述累计选择次数;
第一接收模块,用于接收所述控制器根据所述累计选择次数分配的新网络资源;
第二存储模块,用于将所述新网络资源存储在所述第一预设资源集合中。
在一个可选的实现方式中,所述装置还包括:
第一获取模块,用于获取在第一预设时长内每一次为使用网络资源时从所述第一预设资源集合中选择网络资源的累计选择次数;
第二发送模块,用于向控制器发送所述累计选择次数;
第二接收模块,用于接收所述控制器根据所述累计选择次数分配的新网络资源;
第三存储模块,用于将所述新网络资源存储在所述第一预设资源集合中。
在一个可选的实现方式中,所述装置还包括:
第二获取模块,用于获取在第一预设时长内每一次为使用网络资源时从所述第一预设资源集合中选择网络资源的平均累计选择次数;
第三确定模块,用于确定所述平均累计选择次数是否小于或等于第三预设次数;
移动模块,用于如果所述平均累计选择次数小于或等于第三预设次数,则将第一预设资源集合中的未被占用的第三网络资源从所述第一预设资源集合中移动至所述第二预设资源集合中;
第三发送模块,用于向所述控制器发送资源回收请求,所述资源回收请求用于请求从网关中回收所述第三网络资源;
第三接收模块,用于接收所述控制器根据所述资源回收请求发送的资源回收指令,所述资源回收指令用于指示从所述网关中删除所述第三网络资源;
删除模块,用于根据所述资源回收指令从所述第二预设资源集合中删除所述第三网络资源。
在一个可选的实现方式中,所述第一网络资源包括弹性网络协议EIP地址和端口PORT;第二网络资源包括弹性网络协议EIP地址和端口PORT;第三网络资源包括弹性网络协议EIP地址和端口PORT。
在一个可选的实现方式中,所述控制器包括软件定义网络SDN控制器,所述网关包括网络地址转换NAT网关。
第五方面,本申请实施例示出了一种网络资源处理装置,应用于控制器,所述装置包括:
第四接收模块,用于接收累计选择次数,所述累计选择次数包括从网关的第一预设资源集合中选择网络资源的累计选择次数,所述第一预设资源集合中包括至少一个网络资源;
判断模块,用于判断所述累计选择次数是否大于或等于第四预设次数;
分配模块,用于如果所述累计选择次数大于或等于第四预设次数,则向所述网关分配新网络资源。
在一个可选的实现方式中,所述装置还包括:
记录模块,用于记录所述网关对所述新网络资源的使用权限。
在一个可选的实现方式中,所述记录模块具体用于:建立所述网关与所述新网络资源之间的对应关系。
在一个可选的实现方式中,所述分配模块包括:
查找单元,用于在累计选择次数与资源数量之间的对应关系中,查找与所述累计选择次数相对应的资源数量;
分配单元,用于为所述网关分配所述资源数量的新网络资源。
第六方面,本申请实施例示出了一种网络资源处理装置,应用于控制器,所述装置包括:
第五接收模块,用于接收资源回收请求,所述资源回收请求用于请求从网关中回收未被占用的第三网络资源;所述资源回收请求是所述网关在第一预设时长内每一次为使用网络资源时从第一预设资源集合中选择网络资源的平均累计选择次数小于或等于第三预设次数时发送的;所述第一预设资源集合中包括至少一个网络资源;
第五发送模块,用于根据所述资源回收请求向所述网关发送资源回收指令,所述资源回收指令用于指示从所述网关中删除所述第三网络资源。
在一个可选的实现方式中,所述装置还包括:
解除模块,用于解除所述网关对所述第三网络资源的使用权限。
在一个可选的实现方式中,所述解除模块具体用于:删除所述第三网络资源与所述网关之间的对应关系。
第七方面,本申请实施例示出了一种网关,所述网关包括:
处理器;和
存储器,其上存储有可执行代码,当所述可执行代码被执行时,使得所述处理器执行如第一方面所述的网络资源处理方法。
第八方面,本申请实施例示出了一种控制器,所述控制器包括:
处理器;和
存储器,其上存储有可执行代码,当所述可执行代码被执行时,使得所述处理器执行如第二方面所述的网络资源处理方法。
第九方面,本申请实施例示出了一种控制器,所述控制器包括:
处理器;和
存储器,其上存储有可执行代码,当所述可执行代码被执行时,使得所述处理器执行如第三方面所述的网络资源处理方法。
第十方面,本申请实施例示出了一个或多个机器可读介质,其上存储有可执行代码,当所述可执行代码被执行时,使得处理器执行如第一方面所述的网络资源处理方法。
第十一方面,本申请实施例示出了一个或多个机器可读介质,其上存储有可执行代码,当所述可执行代码被执行时,使得处理器执行如第二方面所述的网络资源处理方法。
第十二方面,本申请实施例示出了一个或多个机器可读介质,其上存储有可执行代码,当所述可执行代码被执行时,使得处理器执行如第三方面所述的网络资源处理方法。
与现有技术相比,本申请实施例包括以下优点:
在本申请实施例中,当需要使用网络资源时,可以从第一预设资源集合中选择第一网络资源,第一预设资源集合中包括至少一个网络资源;在预设资源列表中查找是否存在第一网络资源,预设资源列表中包括当前已被占用的网络资源;如果预设资源列表中不存在第一网络资源,使用第一网络资源。
通过本申请实施例,在本地存储网络资源之外,只需额外将当前已被占用的网络资源存储在预设资源列表中,无需为每一个当前已建立了通信连接的网络服务器创建网络资源与网络资源是否被网络服务器占用的占用标识之间的对应关系,从而可以节省网关的存储空间。
其次,网关从至少一个网络资源中选择第一网络资源之后,需要判断第一网络资源当前是否已被占用,本申请实施例无需在为每一个当前已建立了通信连接的网络服务器而创建的对应关系中查找第一网络资源对应的占用标识,并根据查找到的占用标识确定第一网络资源当前是否已被占用,而可以在预设资源列表中查找是否存在第一网络资源,预设资源列表中通常仅存储了第一预设资源集合中的部分网络资源,也即,预设资源列表中存储的网络资源较少,从而可以提高确定第一网络资源当前是否已被占用的确定效率。
附图说明
图1是根据一示例性实施例示出的一种网络资源处理系统的框图。
图2是根据一示例性实施例示出的一种网络资源处理方法的流程图。
图3是根据一示例性实施例示出的一种网络资源处理方法的流程图。
图4是根据一示例性实施例示出的一种网络资源处理方法的流程图。
图5是根据一示例性实施例示出的一种网络资源处理装置的框图。
图6是根据一示例性实施例示出的一种网络资源处理装置的框图。
图7是根据一示例性实施例示出的一种网络资源处理装置的框图。
图8是根据一示例性实施例示出的一种网络资源处理装置的框图。
具体实施方式
为使本申请的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本申请作进一步详细的说明。
图1是根据一示例性实施例示出的一种网络资源处理系统的框图,如图1所示,该系统包括控制器01和多个网关02,控制器01分别与每一个网关02之间通信连接。本申请实施例中的网关02可以为网关等。
控制器01用于统一管理并调度各个网关02的网络资源,例如,向网关02分配网络资源以供网关02使用,以及,从网关02回收网络资源。
本本申请中的控制器01包括SDN(Software Defined Network,软件定义网络)控制器等。网关02包括NAT(Network Address Translation,网络地址转换)网关。
在本申请实施例中,位于局域网内的终端较多,每一个网关02可以分别与不同的终端绑定,网关02与其绑定的终端之间通信连接。
当网关02绑定的终端需要与位于互联网内的网络服务器之间的进行数据交互时,首先需要建立网关02绑定的终端与网络服务器之间的通信连接,此时网关02可以使用控制器01事先分配给网关02的网络资源建立网关02与网络服务器之间的通信连接,由于该终端与网关02之间通信连接,如此使得该终端与网络服务器之间通信连接,进而该终端与网络服务器之后就可以进行数据交互。
图2是根据一示例性实施例示出的一种网络资源处理方法的流程图,如图2所示,该方法用于图1所示的网关02中,该方法包括以下步骤。
在步骤S101中,当需要使用网络资源时,从第一预设资源集合中选择第一网络资源;
第一预设资源集合中包括至少一网络资源;
第一网络资源包括EIP(Elastic Internet Protocol,弹性网络协议)地址和PORT(端口)。
在本申请实施例中,当网关绑定的终端需要建立与位于互联网之间的网络服务器之间的通信连接时,该终端可以向网关发送用于建立与该网络服务器之间的通信连接的建立请求,网关接收该建立请求。
由于该终端与网关之间已经通信连接,因此,只需建立网关与网络服务器之间的通信连接即可实现该终端与网络服务器之间通信连接,由于在建立网关与网络服务器之间的通信连接时需要使用网络资源,例如,需要使用网络端口和公有IP地址,因此,在网关接收到该建立请求之后,即可确定此时需要使用网络资源,然后可以从第一预设资源集合中选择第一网络资源。
在本申请实施例中,控制器事先需要为网关分配网络资源,网关可以将控制器分配的网络资源存储在第一预设资源集合中,因此,当每次需要使用网络资源时,网关可以直接从第一预设资源集合中选择网络资源并使用。
然而,在本申请实施例中,在本次使用网络资源之前,网关可能已经使用了第一预设资源集合中的部分网络资源,也即,第一预设资源集合中的部分网络资源为已被占用的网络资源。
由于在本步骤中是从第一预设资源集合中随机选择网络资源并作为第一网络资源,因此,第一网络资源可能是已经被占用的网络资源。在本次使用网络资源时需要使用未被占用的网络资源,而无法使用已被占用的网络资源,例如,需要使用未被占用的网络资源建立通信连接,而无法使用已被占用的网络资源建立通信连接。因此,需要执行步骤S102,以检测第一网络资源是否为未被占用的网络资源。
在步骤S102中,在预设资源列表中查找是否存在第一网络资源,预设资源列表中包括当前已被占用的网络资源;
在历史过程中,每当网关使用一个网络资源之后,该网络资源就被占用,然后网关可以将该网络资源存储在预设资源列表中。
因此,网关可以在预设资源列表中查找是否存在第一网络资源,如果预设资源列表中存在第一网络资源,则说明第一网络资源当前已经被占用,如果预设资源列表中不存在第一网络资源,则说明第一网络资源当前未被占用。
如果预设资源列表中不存在第一网络资源,在步骤S103中,使用第一网络资源。
其中,如果预设资源列表中不存在第一网络资源,则可以使用第一网络资源,例如,使用第一网络资源建立通信连接。
在本申请实施例中,当需要使用网络资源时,可以从第一预设资源集合中选择第一网络资源,第一预设资源集合中包括至少一个网络资源;在预设资源列表中查找是否存在第一网络资源,预设资源列表中包括当前已被占用的网络资源;如果预设资源列表中不存在第一网络资源,使用第一网络资源。
通过本申请实施例,在本地存储网络资源之外,只需额外将当前已被占用的网络资源存储在预设资源列表中,无需为每一个当前已建立了通信连接的网络服务器创建网络资源与网络资源是否被网络服务器占用的占用标识之间的对应关系,从而可以节省网关的存储空间。
其次,网关从至少一个网络资源中选择第一网络资源之后,需要判断第一网络资源当前是否已被占用,本申请实施例无需在为每一个当前已建立了通信连接的网络服务器而创建的对应关系中查找第一网络资源对应的占用标识,并根据查找到的占用标识确定第一网络资源当前是否已被占用,而可以在预设资源列表中查找是否存在第一网络资源,预设资源列表中通常仅存储了第一预设资源集合中的部分网络资源,也即,预设资源列表中存储的网络资源较少,从而可以提高确定第一网络资源当前是否已被占用的确定效率。
进一步地,下一次需要使用网络资源时,仍旧需要从第一预设集合中选择网络资源,为了能够准确地确定出下一次从第一预设集合中选择出网络资源是否被占用,在步骤S103之后,还可以将第一网络资源存储在预设资源列表中。
进一步地,在使用完毕第一网络资源之后,网关就会释放第一网络资源,此时第一网络资源就会由被占用的网络资源变更为未被占用的网络资源,因此可以从预设资源列表中删除第一网络资源。
在另一实施例中,如果预设资源列表中存在第一网络资源,则说明第一网络资源当前已被占用,此时就无法使用第一网络资源,例如,无法使用第一网络资源建立通信连接。
而为了使得网关能够使用网络资源,如果预设资源列表中存在第一网络资源,则可以重新执行步骤S101:从第一预设资源集合中选择第一网络资源,直至从第一预设资源集合中选择出未被占用的网络资源时,就可以使用选择出的未被占用的网络资源。
然而,每次从第一预设资源集合中选择网络资源时是随机选择的,因此,如果第一预设资源集合中的大部分网络资源为已被占用的网络资源,则每次从第一预设资源集合中选择的第一网络资源为已被占用的网络资源的概率较大,很可能导致每一次从第一预设资源集合中选择的网络资源均是已被占用的网络资源,从而导致网关一直都无法从第一预设资源集合中选择出未被占用的网络资源,进而一直都无法使用网络资源,例如一直都无法使用网络资源建立通信连接。
为了使得网关能够尽快使用网络资源,在本申请另一实施例中,控制器事先在为网关分配网络资源时,网关可以将控制器分配的网络资源划分为两部分,然后将其中一部分网络资源组成第一预设资源集合,以及将另一部分网络资源组成第二预设资源集合。
其中,第一预设资源集合中的网络资源的数量可以多于第二预设资源集合中的网络资源的数量,或者,等于第二预设资源集合中的网络资源的数量。
每当需要使用网络资源时,网关可以首先从第一预设资源集合中选择第一网络资源,每当网关从第一预设资源集合中选择一次第一网络资源之后,网关就可以更新从第一预设资源集合中选择第一网络资源的累计选择次数,该累计选择次数包括为本次使用网络资源而从第一预设资源集合中选择网络资源的累计选择次数。
因此,在另一实施例中,如果预设资源列表中存在第一网络资源,则可以确定该累计选择次数是否小于或等于第一预设次数;如果该累计选择次数小于第一预设次数,则可以重新执行步骤S101:从第一预设资源集合中选择第一网络资源。
其中,第一预设次数为一次使用网络资源而可以从第一预设资源集合选择网络资源的最大选择次数。例如,第一预设次数可以为5、8或10等,本申请实施例对此不加以限定。
然而,如果累计选择次数等于第一预设次数,则说明为本次使用网络资源而从第一预设资源集合中选择网络资源的累计选择次数已经较多,且通常是由于第一预设资源集合中的大部分网络资源当前已被占用,也即,第一预设资源集合中的未被占用的网络资源较少,每一次从第一预设资源集合中选出的未被占用的网络资源的概率较低。
因此,此时可以不再从第一预设资源集合中选择第一网络资源,而可以从第二预设资源集合中选择第二网络资源,第二预设资源集合包括至少一个网络资源,第二预设资源集合中的网络资源与第一预设资源集合中的网络资源不同,然后在预设资源列表中查找是否存在第二网络资源,如果预设资源列表中不存在第二网络资源,则使用第二网络资源。
其中,第一网络资源包括EIP(Elastic Internet Protocol,弹性网络协议)地址和PORT(端口)。
在本申请实施例中,在历史过程中,每当需要使用网络资源时,网关首先是从第一预设资源集合中选择网络资源,且通常是能够从第一预设资源集合中选择出未被占用的网络资源,很少需要从第二预设资源集合中选择网络资源,因此,第二预设资源集合中的大部分网络资源往往为是未被占用的网络资源,则从第二预设资源集合中选择的第二网络资源为未被占用的网络资源的概率较大,从而可以尽快得到未被占用的网络资源,进而可以尽快使用网络资源,例如,尽快使用网络资源建立通信连接。
因此,如果从第一预设资源集合中选择网络资源的累计选择次数等于第一预设次数,则说明已经从第一预设资源集合中选择了多次网络资源,但却一直没有得到未被占用的网络资源,多次选择的过程耗费的较长时间,为了避免继续耗费较长时间,以使得网关能够尽快使用网络资源,可以从第二预设资源集合中选择第二网络资源。
在前述实施例中,每次从第一预设资源集合中选择网络资源时是随机选择的,因此,如果第一预设资源集合中的大部分网络资源为已被占用的网络资源,则每次从第一预设资源集合中选择的第一网络资源为已被占用的网络资源的概率较大,很可能导致每一次从第一预设资源集合中选择的网络资源均是已被占用的网络资源,从而导致网关一直都无法从第一预设资源集合中选择出未被占用的网络资源,进而一直无法使用网络资源,例如一直无法使用网络资源建立通信连接。
为了使得网关能够尽快使用网络资源,在本申请另一实施例中,在更新从第一预设资源集合中第一选择网络资源的累计选择次数之后,可以确定该累计选择次数是否大于第二预设次数;其中,第二预设次数可以小于第一预设次数。如果累计选择次数大于第二预设次数,则网关可以向控制器发送该累计选择次数;控制器接收该累计选择次数,并根据该累计选择次数向网关分配新网络资源;网关接收控制器根据该累计选择次数分配的新网络资源,并将新网络资源存储在第一预设资源集合中。
其中,控制器向网关分配的新网络资源为未被占用的网络资源,如此可以增加第一预设资源集合中的未被占用的网络资源的数量,从而提高网关下一次从第一预设资源集合中选择的第一网络资源为未被占用的网络资源的概率,以使网关能够尽快选择出未被占用的网络资源,进而尽快使用网络资源。
在本申请另一实施例中,网关还可以定期统计每一次为使用网络资源而分别从第一预设资源集合中选择网络资源的累计选择次数,例如,每间隔第一预设时长就获取在第一预设时长内每一次为使用网络资源时分别从第一预设资源集合中选择网络资源的累计选择次数,该累计选择次数也可以为在第一预设时长内每一次为使用网络资源时分别从第一预设资源集合中选择网络资源的平均累计选择次数。然后向控制器发送获取的累计选择次数;控制器在接收到网关发送的累计选择次数之后,决定是否需要向网关分配新网络资源。
如果接收的累计选择次数较小,例如接收的累计选择次数小于第五预设次数,则往往是由于第一预设资源集合中的大部分网络资源为未被占用的网络资源,而使得从第一预设资源集合中选择的第一网络资源为未被占用的网络资源的概率较大,进而使得从第一预设资源集合中选择第一网络资源的累计选择次数较小,之后当网关需要使用网络资源时,能够从第一预设资源集合中尽快选择出未被占用的网络资源,进而能够尽快使用网络资源,因此此时无需向网关分配新网络资源。
如果接收的累计选择次数较大,例如接收的累计选择次数大于或等于第五预设次数,则往往是由于第一预设资源集合中的大部分网络资源为已被占用的网络资源,而使得从第一预设资源集合中选择的第一网络资源为已被占用的网络资源的概率较大,进而导致从第一预设资源集合中选择第一网络资源的累计选择次数较大。
因此可以向网关分配新网络资源,然后网关接收控制器根据每一个累计选择次数分配的新网络资源,然后将新网络资源存储在第一预设资源集合中,以提高从第一预设资源集合中选择的第一网络资源为未占用的网络资源的概率,以使之后当网关需要使用网络资源时,能够从第一预设资源集合中尽快选择出未被占用的网络资源,进而尽快使用网络资源。
在本申请实施例中,在一些时间段,网关使用网络资源的需求量比较低,也即,网关仅仅使用了第一预设资源集合中的部分网络资源,第一预设资源集合中的大部分网络资源为未被占用的网络资源。
此时,如果网关需要使用网络资源,则网关从第一预设资源集合中选择网络资源时很容易就能够尽快选择出未被占用的网络资源。因此,不影响网关尽快使用网络资源。
但是,第一预设资源集合中大部分网络资源不会被使用则会导致网络资源浪费,也即网络资源的利用率不高。
如果此时其他网关使用网络资源的需求量比较高,则可以将第一预设资源集合中的部分网络资源暂时分配给其他网关使用。
具体地,网关可以定期统计每一次为使用网络资源而分别从第一预设资源集合中选择网络资源的平均累计选择次数,例如,每间隔第一预设时长就获取在第一预设时长内每一次为使用网络资源时分别从第一预设资源集合中选择网络资源的平均累计选择次数,然后确定平均累计选择次数是否小于或等于第三预设次数;
如果小于或等于第三预设次数,则说明在第一预设时长内每一次从第一预设资源集合中选择网络资源时很容易就能选择出未被占用的网络资源,进而可以推断出第一预设资源集合中的未被占用的网络资源较多,因此,为了提高网络资源的利用率,可以使控制器回收第一预设资源集合中的部分网络资源,例如,可以将第一预设资源集合中的未被占用的第三网络资源从第一预设资源集合中移动至第二预设资源集合中,第三网络资源为第一预设资源集合中的部分网络资源,然后向控制器发送资源回收请求,该资源回收请求用于请求从网关中回收第三网络资源;控制器接收到该资源回收请求之后,决定是否需要从网关中回收第三网络资源,如果决定需要从网关中回收第三网络资源,则可以向网关发送资源回收指令,该资源回收指令用于指示从网关中删除第三网络资源;网关接收该资源回收指令,然后根据该资源回收指令从第二预设资源集合中删除第三网络资源。之后,控制器就可以将第三网络资源分配给其他网关使用。
其中,第一网络资源包括EIP(Elastic Internet Protocol,弹性网络协议)地址和PORT(端口)。
图3是根据一示例性实施例示出的一种网络资源处理方法的流程图,如图3所示,该方法用于图1所示的控制器01中,该方法包括以下步骤。
在步骤S201中,接收累计选择次数,该累计选择次数包括从网关的第一预设资源集合中选择网络资源的累计选择次数;
第一预设资源集合中包括至少一个网络资源;
在一个实施例中,该累计选择次数包括:网关为一次使用网络资源而从第一预设资源集合中选择网络资源的累计选择次数。
在另一个实施例中,该累计选择次数包括:网关定期统计的每一次为使用网络资源而分别从第一预设资源集合中选择网络资源的累计选择次数,例如,在第一预设时长内每一次为使用网络资源时分别从第一预设资源集合中选择网络资源的累计选择次数,该累计选择次数也可以为在第一预设时长内每一次为使用网络资源时分别从第一预设资源集合中选择网络资源的平均累计选择次数。
在步骤S202中,判断该累计选择次数是否大于或等于第四预设次数;
在一个实施例中,当该累计选择次数包括网关为一次使用网络资源而从第一预设资源集合中选择网络资源的累计选择次数时,则第四预设次数可以为前述实施例中的第二预设次数。
在本步骤中,可以确定该累计选择次数是否大于或等于第二预设次数;其中,第二预设次数可以小于第一预设次数。第一预设次数为一次使用网络资源而可以从第一预设资源集合选择网络资源的最大选择次数。例如,第一预设次数可以为5、8或10等,本申请实施例对此不加以限定。
如果该累计选择次数大于或等于二预设次数,控制器可以根据该累计选择次数向网关分配新网络资源;以使网关接收控制器分配的新网络资源,并将新网络资源存储在第一预设资源集合中。
其中,控制器向网关分配的新网络资源为未被占用的网络资源,如此可以增加第一预设资源集合中的未被占用的网络资源的数量,从而提高网关下一次从第一预设资源集合中选择的第一网络资源为未被占用的网络资源的概率,以使网关能够尽快选择出未被占用的网络资源,进而尽快使用网络资源。
其次,在另一个实施例中,当该累计选择次数包括网关定期统计的每一次为使用网络资源而分别从第一预设资源集合中选择网络资源的累计选择次数时,则第四预设次数可以为前述实施例中的第五预设次数。
在本步骤中,可以确定该累计选择次数是否大于或等于第五预设次数。
如果该累计选择次数大于或等于五预设次数,则控制器可以根据该累计选择次数向网关分配新网络资源;以使网关接收控制器分配的新网络资源,并将新网络资源存储在第一预设资源集合中。
其中,控制器向网关分配的新网络资源为未被占用的网络资源,如此可以增加第一预设资源集合中的未被占用的网络资源的数量,从而提高网关下一次从第一预设资源集合中选择的第一网络资源为未被占用的网络资源的概率,以使网关能够尽快选择出未被占用的网络资源,进而尽快使用网络资源。
如果该累计选择次数大于或等于第四预设次数,在步骤S203中,向该网关分配新网络资源。
如果该累计选择次数小于第四预设次数,则结束流程。
通过本申请实施例,当累计选择次数较大时,往往是由于网关中的第一预设资源集合中的大部分网络资源为已被占用的网络资源,而使得网关从第一预设资源集合中选择的第一网络资源为已被占用的网络资源的概率较大,进而使得网关从第一预设资源集合中选择第一网络资源的累计选择次数较大;向网关分配新网络资源可以使得网关能够从第一预设资源集合中尽快选择出未被占用的网络资源,进而能够尽快使用网络资源。
在本申请实施例中,对于任意一个网络资源,当控制器将该网络资源分配给某一网关之后,该网关对该网络资源具备使用权限,其他网关对该网络资源不具备使用权限。
如果控制器将同一网络资源先后分配给不同的网关,则会造成同一网络资源被不同的网关混用,进而可能影响网关正常使用网络资源。
为了避免上述情况发生,在控制器向该网关分配新网络资源之前,控制器还需要记录该网关对新网络资源的使用权限。例如,建立该网关与新网络资源之间的对应关系。
以使之后控制器在向另一网关分配网络资源时,可以根据上述对应关系确定需要分配的网络资源是否已经分配给其他网关,如果已经分配给其他网关,则就不能向另一网关分配需要分配的网络资源,如果未分配给其他网关,则就可以向另一网关分配需要分配的网络资源。
在本申请实施例中,在该累计选择次数大于或等于第四预设次数的情况下,如果累计选择次数越大,往往是由于网关中的第一预设资源集合中的大部分网络资源为已被占用的网络资源,而使得网关从第一预设资源集合中选择的第一网络资源为已被占用的网络资源的概率较大,进而使得网关从第一预设资源集合中选择第一网络资源的累计选择次数较大,为了使得网关能够从第一预设资源集合中尽快选择出未被占用的网络资源,进而能够尽快使用网络资源,因此此时可以向网关分配更多的新网络资源。相应地,如果累计选择次数越小,此时可以向网关分配更少的新网络资源。
因此,在向该网关分配新网络资源时,可以根据该累计选择次数的大小来确定向该网关分配新网络资源的数量。例如,当该累计选择次数越大时,向该网关分配新网络资源的数量越大,当该累计选择次数越小时,向该网关分配新网络资源的数量越小。
例如,在向该网关分配新网络资源时,可以在累计选择次数与资源数量之间的对应关系中,查找与该累计选择次数相对应的资源数量,然后为该网关分配该资源数量的新网络资源。
上述对应关系中,越大的累计选择次数对应的资源数量越大,越小的累计选择次数对应的资源数量越小。
通过本申请实施例,使得控制器可以根据网关的实际需求来合理地向网关分配新网络资源。避免在该网关只需要少量的新网络资源的情况下而向该网关分配了较多的网络资源,进而避免造成资源浪费,以及,避免在该网关需要大量的新网络资源的情况下而向该网关分配了较小的网络资源,进而避免该网关一直无法尽快选择出未被占用的网络资源。
图4是根据一示例性实施例示出的一种网络资源处理方法的流程图,如图4所示,该方法用于图1所示的控制器01中,该方法包括以下步骤。
在步骤S301中,接收资源回收请求,该资源回收请求用于请求从网关中回收未被占用的第三网络资源;
该资源回收请求是网关在第一预设时长内每一次为使用网络资源时从第一预设资源集合中选择网络资源的平均累计选择次数小于或等于第三预设次数时发送的;第一预设资源集合中包括至少一个网络资源;
在本申请实施例中,在一些时间段,网关使用网络资源的需求量比较低,也即,网关仅仅使用了第一预设资源集合中的部分网络资源,第一预设资源集合中的大部分网络资源为未被占用的网络资源。
此时,如果网关需要使用网络资源,则网关从第一预设资源集合中选择网络资源时很容易就能够尽快选择出未被占用的网络资源。因此,不影响网关尽快使用网络资源。
但是,第一预设资源集合中大部分网络资源不会被使用则会导致网络资源浪费,也即网络资源的利用率不高。
如果此时其他网关使用网络资源的需求量比较高,则可以将第一预设资源集合中的部分网络资源暂时分配给其他网关使用。
其中,网关可以定期统计每一次为使用网络资源而分别从第一预设资源集合中选择网络资源的平均累计选择次数,例如,每间隔第一预设时长就获取在第一预设时长内每一次为使用网络资源时分别从第一预设资源集合中选择网络资源的平均累计选择次数,然后确定平均累计选择次数是否小于或等于第三预设次数;
如果小于或等于第三预设次数,则说明在第一预设时长内每一次从第一预设资源集合中选择网络资源时很容易就能选择出未被占用的网络资源,进而可以推断出第一预设资源集合中的未被占用的网络资源较多,因此,为了提高网络资源的利用率,可以使控制器回收第一预设资源集合中的部分网络资源。
例如,可以将第一预设资源集合中的未被占用的第三网络资源从第一预设资源集合中移动至第二预设资源集合中,第三网络资源为第一预设资源集合中的部分网络资源,然后向控制器发送资源回收请求,该资源回收请求用于请求从网关中回收第三网络资源。控制器接收该资源回收请求。
在步骤S302中,根据该资源回收请求向网关发送资源回收指令,该资源回收指令用于指示从网关中删除第三网络资源。
控制器接收到该资源回收请求之后,决定是否需要从网关中回收第三网络资源,如果决定需要从网关中回收第三网络资源,则可以向网关发送资源回收指令,该资源回收指令用于指示从网关中删除第三网络资源;网关接收该资源回收指令,然后根据该资源回收指令从第二预设资源集合中删除第三网络资源。之后,控制器就可以将第三网络资源分配给其他网关使用。
进一步地,在根据该资源回收请求向网关发送资源回收指令之后,还可以解除网关对第三网络资源的使用权限。例如,删除第三网络资源与网关之间的对应关系。
图5是根据一示例性实施例示出的一种网络资源处理装置的框图,如图5所示,该装置包括:
第一选择模块11,用于当需要使用网络资源时,从第一预设资源集合中选择第一网络资源,所述第一预设资源集合中包括至少一个网络资源;
第一查找模块12,用于在预设资源列表中查找是否存在所述第一网络资源,所述预设资源列表中包括当前已被占用的网络资源;
第一使用模块13,用于如果所述预设资源列表中不存在所述第一网络资源,则使用所述第一网络资源。
在一个可选的实现方式中,所述装置还包括:
第一存储模块,用于将所述第一网络资源存储在所述预设资源列表中。
在一个可选的实现方式中,所述装置还包括:
所述第一选择模块11还用于:如果所述预设资源列表中存在所述第一网络资源,则重新从第一预设资源集合中选择第一网络资源。
在一个可选的实现方式中,所述装置还包括:
第一模块,用于更新从所述第一预设资源集合中选择网络资源的累计选择次数。
在一个可选的实现方式中,所述装置还包括:
第一确定模块,用于如果所述预设资源列表中存在所述第一网络资源,则确定所述累计选择次数是否小于或等于第一预设次数;
所述第一选择模块11还用于:如果所述累计选择次数小于所述第一预设次数,则重新从第一预设资源集合中选择第一网络资源;
第二选择模块,用于如果所述累计选择次数等于所述第一预设次数,则从第二预设资源集合中选择第二网络资源,所述第二预设资源集合包括至少一个网络资源,所述第二预设资源集合中的网络资源与所述第一预设资源集合中的网络资源不同,第二查找模块,用于在所述预设资源列表中查找是否存在所述第二网络资源,第二使用模块,用于如果所述预设资源列表中不存在所述第二网络资源,则使用所述第二网络资源。
在一个可选的实现方式中,所述装置还包括:
第二确定模块,用于确定所述累计选择次数是否大于第二预设次数;
第一发送模块,用于如果所述累计选择次数大于所述第二预设次数,则向控制器发送所述累计选择次数;
第一接收模块,用于接收所述控制器根据所述累计选择次数分配的新网络资源;
第二存储模块,用于将所述新网络资源存储在所述第一预设资源集合中。
在一个可选的实现方式中,所述装置还包括:
第一获取模块,用于获取在第一预设时长内每一次为使用网络资源时从所述第一预设资源集合中选择网络资源的累计选择次数;
第二发送模块,用于向控制器发送所述累计选择次数;
第二接收模块,用于接收所述控制器根据所述累计选择次数分配的新网络资源;
第三存储模块,用于将所述新网络资源存储在所述第一预设资源集合中。
在一个可选的实现方式中,所述装置还包括:
第二获取模块,用于获取在第一预设时长内每一次为使用网络资源时从所述第一预设资源集合中选择网络资源的平均累计选择次数;
第三确定模块,用于确定所述平均累计选择次数是否小于或等于第三预设次数;
移动模块,用于如果所述平均累计选择次数小于或等于第三预设次数,则将第一预设资源集合中的未被占用的第三网络资源从所述第一预设资源集合中移动至所述第二预设资源集合中;
第三发送模块,用于向所述控制器发送资源回收请求,所述资源回收请求用于请求从网关中回收所述第三网络资源;
第三接收模块,用于接收所述控制器根据所述资源回收请求发送的资源回收指令,所述资源回收指令用于指示从所述网关中删除所述第三网络资源;
删除模块,用于根据所述资源回收指令从所述第二预设资源集合中删除所述第三网络资源。
在本申请实施例中,当需要使用网络资源时,可以从第一预设资源集合中选择第一网络资源,第一预设资源集合中包括至少一个网络资源;在预设资源列表中查找是否存在第一网络资源,预设资源列表中包括当前已被占用的网络资源;如果预设资源列表中不存在第一网络资源,使用第一网络资源。
通过本申请实施例,在本地存储网络资源之外,只需额外将当前已被占用的网络资源存储在预设资源列表中,无需为每一个当前已建立了通信连接的网络服务器创建网络资源与网络资源是否被网络服务器占用的占用标识之间的对应关系,从而可以节省网关的存储空间。
其次,网关从至少一个网络资源中选择第一网络资源之后,需要判断第一网络资源当前是否已被占用,本申请实施例无需在为每一个当前已建立了通信连接的网络服务器而创建的对应关系中查找第一网络资源对应的占用标识,并根据查找到的占用标识确定第一网络资源当前是否已被占用,而可以在预设资源列表中查找是否存在第一网络资源,预设资源列表中通常仅存储了第一预设资源集合中的部分网络资源,也即,预设资源列表中存储的网络资源较少,从而可以提高确定第一网络资源当前是否已被占用的确定效率。
图6是根据一示例性实施例示出的一种网络资源处理装置的框图,如图6所示,该装置包括:
第四接收模块21,用于接收累计选择次数,所述累计选择次数包括从网关的第一预设资源集合中选择网络资源的累计选择次数,所述第一预设资源集合中包括至少一个网络资源;
判断模块22,用于判断所述累计选择次数是否大于或等于第四预设次数;
分配模块23,用于如果所述累计选择次数大于或等于第四预设次数,则向所述网关分配新网络资源。
在一个可选的实现方式中,所述装置还包括:
记录模块,用于记录所述网关对所述新网络资源的使用权限。
在一个可选的实现方式中,所述记录模块具体用于:建立所述网关与所述新网络资源之间的对应关系。
在一个可选的实现方式中,所述分配模块23包括:
查找单元,用于在累计选择次数与资源数量之间的对应关系中,查找与所述累计选择次数相对应的资源数量;
分配单元,用于为所述网关分配所述资源数量的新网络资源。
控制器向网关分配的新网络资源为未被占用的网络资源,如此可以增加第一预设资源集合中的未被占用的网络资源的数量,从而提高网关下一次从第一预设资源集合中选择的第一网络资源为未被占用的网络资源的概率,以使网关能够尽快选择出未被占用的网络资源,进而尽快使用网络资源。
图7是根据一示例性实施例示出的一种网络资源处理装置的框图,如图7所示,该装置包括:
第五接收模块31,用于接收资源回收请求,所述资源回收请求用于请求从网关中回收未被占用的第三网络资源;所述资源回收请求是所述网关在第一预设时长内每一次为使用网络资源时从第一预设资源集合中选择网络资源的平均累计选择次数小于或等于第三预设次数时发送的;所述第一预设资源集合中包括至少一个网络资源;
第五发送模块32,用于根据所述资源回收请求向所述网关发送资源回收指令,所述资源回收指令用于指示从所述网关中删除所述第三网络资源。
在一个可选的实现方式中,所述装置还包括:
解除模块,用于解除所述网关对所述第三网络资源的使用权限。
在一个可选的实现方式中,所述解除模块具体用于:删除所述第三网络资源与所述网关之间的对应关系。
在本申请实施例中,接收资源回收请求,所述资源回收请求用于请求从网关中回收未被占用的第三网络资源;所述资源回收请求是所述网关在第一预设时长内每一次为使用网络资源时从第一预设资源集合中选择网络资源的平均累计选择次数小于或等于第三预设次数时发送的;所述第一预设资源集合中包括至少一个网络资源;根据所述资源回收请求向所述网关发送资源回收指令,所述资源回收指令用于指示从所述网关中删除所述第三网络资源。通过本申请实施例可以提高网络资源的利用率。
本申请实施例还提供了一种非易失性可读存储介质,该存储介质中存储有一个或多个模块(programs),该一个或多个模块被应用在设备时,可以使得该设备执行本申请实施例中各方法步骤的指令(instructions)。
本申请实施例提供了一个或多个机器可读介质,其上存储有指令,当由一个或多个处理器执行时,使得电子设备执行如上述实施例中一个或多个所述的网络资源处理方法。本申请实施例中,所述电子设备包括服务器、网关、子设备等,子设备为物联网设备等设备。
本公开的实施例可被实现为使用任意适当的硬件,固件,软件,或及其任意组合进行想要的配置的装置,该装置可包括服务器(集群)、终端设备如IoT设备等电子设备。
图8示意性地示出了可被用于实现本申请中所述的各个实施例的示例性装置1300。
对于一个实施例,图8示出了示例性装置1300,该装置具有一个或多个处理器1302、被耦合到(一个或多个)处理器1302中的至少一个的控制模块(芯片组)1304、被耦合到控制模块1304的存储器1306、被耦合到控制模块1304的非易失性存储器(NVM)/存储设备1308、被耦合到控制模块1304的一个或多个输入/输出设备1310,以及被耦合到控制模块1304的网络接口1312。
处理器1302可包括一个或多个单核或多核处理器,处理器1302可包括通用处理器或专用处理器(例如图形处理器、应用处理器、基频处理器等)的任意组合。在一些实施例中,装置1300能够作为本申请实施例中所述网关或控制器等服务器设备。
在一些实施例中,装置1300可包括具有指令1314的一个或多个计算机可读介质(例如,存储器1306或NVM/存储设备1308)以及与该一个或多个计算机可读介质相合并被配置为执行指令1314以实现模块从而执行本公开中所述的动作的一个或多个处理器1302。
对于一个实施例,控制模块1304可包括任意适当的接口控制器,以向(一个或多个)处理器1302中的至少一个和/或与控制模块1304通信的任意适当的设备或组件提供任意适当的接口。
控制模块1304可包括存储器控制器模块,以向存储器1306提供接口。存储器控制器模块可以是硬件模块、软件模块和/或固件模块。
存储器1306可被用于例如为装置1300加载和存储数据和/或指令1314。对于一个实施例,存储器1306可包括任意适当的易失性存储器,例如,适当的DRAM。在一些实施例中,存储器1306可包括双倍数据速率类型四同步动态随机存取存储器(DDR4SDRAM)。
对于一个实施例,控制模块1304可包括一个或多个输入/输出控制器,以向NVM/存储设备1308及(一个或多个)输入/输出设备1310提供接口。
例如,NVM/存储设备1308可被用于存储数据和/或指令1314。NVM/存储设备1308可包括任意适当的非易失性存储器(例如,闪存)和/或可包括任意适当的(一个或多个)非易失性存储设备(例如,一个或多个硬盘驱动器(HDD)、一个或多个光盘(CD)驱动器和/或一个或多个数字通用光盘(DVD)驱动器)。
NVM/存储设备1308可包括在物理上作为装置1300被安装在其上的设备的一部分的存储资源,或者其可被该设备访问可不必作为该设备的一部分。例如,NVM/存储设备1308可通过网络经由(一个或多个)输入/输出设备1310进行访问。
(一个或多个)输入/输出设备1310可为装置1300提供接口以与任意其他适当的设备通信,输入/输出设备1310可以包括通信组件、音频组件、传感器组件等。网络接口1312可为装置1300提供接口以通过一个或多个网络通信,装置1300可根据一个或多个无线网络标准和/或协议中的任意标准和/或协议来与无线网络的一个或多个组件进行无线通信,例如接入基于通信标准的无线网络,如WiFi、2G、3G、4G、5G等,或它们的组合进行无线通信。
对于一个实施例,(一个或多个)处理器1302中的至少一个可与控制模块1304的一个或多个控制器(例如,存储器控制器模块)的逻辑封装在一起。对于一个实施例,(一个或多个)处理器1302中的至少一个可与控制模块1304的一个或多个控制器的逻辑封装在一起以形成系统级封装(SiP)。对于一个实施例,(一个或多个)处理器1302中的至少一个可与控制模块1304的一个或多个控制器的逻辑集成在同一模具上。对于一个实施例,(一个或多个)处理器1302中的至少一个可与控制模块1304的一个或多个控制器的逻辑集成在同一模具上以形成片上系统(SoC)。
在各个实施例中,装置1300可以但不限于是:服务器、台式计算设备或移动计算设备(例如,膝上型计算设备、手持计算设备、平板电脑、上网本等)等终端设备。在各个实施例中,装置1300可具有更多或更少的组件和/或不同的架构。例如,在一些实施例中,装置1300包括一个或多个摄像机、键盘、液晶显示器(LCD)屏幕(包括触屏显示器)、非易失性存储器端口、多个天线、图形芯片、专用集成电路(ASIC)和扬声器。
本申请实施例提供了一种网关,包括:一个或多个处理器;和,其上存储有指令的一个或多个机器可读介质,当由所述一个或多个处理器执行时,使得所述处理器执行如本申请实施例中一个或多个所述的网络资源处理方法。
本申请实施例提供了一种控制器,包括:一个或多个处理器;和,其上存储有指令的一个或多个机器可读介质,当由所述一个或多个处理器执行时,使得所述处理器执行如本申请实施例中一个或多个所述的网络资源处理方法。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本申请实施例是参照根据本申请实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
以上对本申请所提供的一种网络资源处理方法、装置、网关、控制器及存储介质,进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。

Claims (27)

1.一种网络资源处理方法,包括:
当需要使用网络资源时,从第一预设资源集合中选择第一网络资源,所述第一预设资源集合中包括至少一个网络资源;
在预设资源列表中查找是否存在所述第一网络资源,所述预设资源列表中包括当前已被占用的网络资源;
如果所述预设资源列表中不存在所述第一网络资源,则使用所述第一网络资源;
还包括:
接收累计选择次数,所述累计选择次数包括从网关的第一预设资源集合中选择网络资源的累计选择次数,所述第一预设资源集合中包括至少一个网络资源;
判断所述累计选择次数是否大于或等于第四预设次数;
如果所述累计选择次数大于或等于第四预设次数,则向网关分配新网络资源,以使新网络资源存储在第一预设资源集合中。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
如果使用了所述第一网络资源,则将所述第一网络资源存储在所述预设资源列表中;
如果所述预设资源列表中存在所述第一网络资源,则重新执行所述从第一预设资源集合中选择第一网络资源的步骤。
3.根据权利要求2所述的方法,其特征在于,所述从第一预设资源集合中选择第一网络资源之后,还包括:
更新从所述第一预设资源集合中选择第一网络资源的累计选择次数。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
如果所述预设资源列表中存在所述第一网络资源,则确定所述累计选择次数是否小于或等于第一预设次数;
如果所述累计选择次数小于所述第一预设次数,则重新执行所述从第一预设资源集合中选择第一网络资源的步骤;
如果所述累计选择次数等于所述第一预设次数,则从第二预设资源集合中选择第二网络资源,所述第二预设资源集合包括至少一个网络资源,所述第二预设资源集合中的网络资源与所述第一预设资源集合中的网络资源不同,在所述预设资源列表中查找是否存在所述第二网络资源,如果所述预设资源列表中不存在所述第二网络资源,则使用所述第二网络资源。
5.根据权利要求3所述的方法,其特征在于,所述方法还包括:
确定所述累计选择次数是否大于第二预设次数;
如果所述累计选择次数大于所述第二预设次数,则向控制器发送所述累计选择次数;
接收所述控制器根据所述累计选择次数分配的新网络资源;
将所述新网络资源存储在所述第一预设资源集合中。
6.根据权利要求3所述的方法,其特征在于,所述方法还包括:
获取在第一预设时长内每一次为使用网络资源时从所述第一预设资源集合中选择网络资源的累计选择次数;
向控制器发送所述累计选择次数;
接收所述控制器根据所述累计选择次数分配的新网络资源;
将所述新网络资源存储在所述第一预设资源集合中。
7.根据权利要求4所述的方法,其特征在于,所述方法还包括:
获取在第一预设时长内每一次为使用网络资源时从所述第一预设资源集合中选择网络资源的平均累计选择次数;
确定所述平均累计选择次数是否小于或等于第三预设次数;
如果所述平均累计选择次数小于或等于第三预设次数,则将第一预设资源集合中的未被占用的第三网络资源从所述第一预设资源集合中移动至所述第二预设资源集合中;
向控制器发送资源回收请求,所述资源回收请求用于请求从网关中回收所述第三网络资源;
接收所述控制器根据所述资源回收请求发送的资源回收指令,所述资源回收指令用于指示从所述网关中删除所述第三网络资源;
根据所述资源回收指令从所述第二预设资源集合中删除所述第三网络资源。
8.根据权利要求7所述的方法,其特征在于,所述第一网络资源包括弹性网络协议EIP地址和端口PORT;第二网络资源包括弹性网络协议EIP地址和端口PORT;第三网络资源包括弹性网络协议EIP地址和端口PORT。
9.根据权利要求8所述的方法,其特征在于,所述控制器包括软件定义网络SDN控制器,所述网关包括网络地址转换NAT网关。
10.根据权利要求1所述的方法,其特征在于,所述向网关分配新网络资源之前,还包括:
记录所述网关对所述新网络资源的使用权限。
11.根据权利要求10所述的方法,其特征在于,所述记录所述网关对所述新网络资源的使用权限,包括:
建立所述网关与所述新网络资源之间的对应关系。
12.根据权利要求1所述的方法,其特征在于,所述向所述网关分配新网络资源,包括:
在累计选择次数与资源数量之间的对应关系中,查找与所述累计选择次数相对应的资源数量;
为所述网关分配所述资源数量的新网络资源。
13.一种网络资源处理方法,包括:
当需要使用网络资源时,从第一预设资源集合中选择第一网络资源,所述第一预设资源集合中包括至少一个网络资源;
在预设资源列表中查找是否存在所述第一网络资源,所述预设资源列表中包括当前已被占用的网络资源;
如果所述预设资源列表中不存在所述第一网络资源,则使用所述第一网络资源;
还包括:
接收资源回收请求,所述资源回收请求用于请求从网关中回收未被占用的第三网络资源;所述资源回收请求是所述网关在第一预设时长内每一次为使用网络资源时从第一预设资源集合中选择网络资源的平均累计选择次数小于或等于第三预设次数时发送的;所述第一预设资源集合中包括至少一个网络资源;
根据所述资源回收请求向所述网关发送资源回收指令,所述资源回收指令用于指示从所述网关中删除所述第三网络资源。
14.根据权利要求13所述的方法,其特征在于,所述方法还包括:
如果使用了所述第一网络资源,则将所述第一网络资源存储在所述预设资源列表中;
如果所述预设资源列表中存在所述第一网络资源,则重新执行所述从第一预设资源集合中选择第一网络资源的步骤。
15.根据权利要求14所述的方法,其特征在于,所述从第一预设资源集合中选择第一网络资源之后,还包括:
更新从所述第一预设资源集合中选择第一网络资源的累计选择次数。
16.根据权利要求15所述的方法,其特征在于,所述方法还包括:
如果所述预设资源列表中存在所述第一网络资源,则确定所述累计选择次数是否小于或等于第一预设次数;
如果所述累计选择次数小于所述第一预设次数,则重新执行所述从第一预设资源集合中选择第一网络资源的步骤;
如果所述累计选择次数等于所述第一预设次数,则从第二预设资源集合中选择第二网络资源,所述第二预设资源集合包括至少一个网络资源,所述第二预设资源集合中的网络资源与所述第一预设资源集合中的网络资源不同,在所述预设资源列表中查找是否存在所述第二网络资源,如果所述预设资源列表中不存在所述第二网络资源,则使用所述第二网络资源。
17.根据权利要求15所述的方法,其特征在于,所述方法还包括:
确定所述累计选择次数是否大于第二预设次数;
如果所述累计选择次数大于所述第二预设次数,则向控制器发送所述累计选择次数;
接收所述控制器根据所述累计选择次数分配的新网络资源;
将所述新网络资源存储在所述第一预设资源集合中。
18.根据权利要求15所述的方法,其特征在于,所述方法还包括:
获取在第一预设时长内每一次为使用网络资源时从所述第一预设资源集合中选择网络资源的累计选择次数;
向控制器发送所述累计选择次数;
接收所述控制器根据所述累计选择次数分配的新网络资源;
将所述新网络资源存储在所述第一预设资源集合中。
19.根据权利要求18所述的方法,其特征在于,所述方法还包括:
获取在第一预设时长内每一次为使用网络资源时从所述第一预设资源集合中选择网络资源的平均累计选择次数;
确定所述平均累计选择次数是否小于或等于第三预设次数;
如果所述平均累计选择次数小于或等于第三预设次数,则将第一预设资源集合中的未被占用的第三网络资源从所述第一预设资源集合中移动至第二预设资源集合中;
向控制器发送资源回收请求,所述资源回收请求用于请求从网关中回收所述第三网络资源;
接收所述控制器根据所述资源回收请求发送的资源回收指令,所述资源回收指令用于指示从所述网关中删除所述第三网络资源;
根据所述资源回收指令从所述第二预设资源集合中删除所述第三网络资源。
20.根据权利要求19所述的方法,其特征在于,所述第一网络资源包括弹性网络协议EIP地址和端口PORT;第二网络资源包括弹性网络协议EIP地址和端口PORT;第三网络资源包括弹性网络协议EIP地址和端口PORT。
21.根据权利要求20所述的方法,其特征在于,所述控制器包括软件定义网络SDN控制器,所述网关包括网络地址转换NAT网关。
22.根据权利要求13所述的方法,其特征在于,所述根据所述资源回收请求向所述网关发送资源回收指令之后,还包括:
解除所述网关对所述第三网络资源的使用权限。
23.根据权利要求22所述的方法,其特征在于,所述解除所述网关对所述第三网络资源的使用权限,包括:
删除所述第三网络资源与所述网关之间的对应关系。
24.一种网络资源处理装置,包括:
第一选择模块,用于当需要使用网络资源时,从第一预设资源集合中选择第一网络资源,所述第一预设资源集合中包括至少一个网络资源;
第一查找模块,用于在预设资源列表中查找是否存在所述第一网络资源,所述预设资源列表中包括当前已被占用的网络资源;
第一使用模块,用于如果所述预设资源列表中不存在所述第一网络资源,则使用所述第一网络资源;
还包括:
第四接收模块,用于接收累计选择次数,所述累计选择次数包括从网关的第一预设资源集合中选择网络资源的累计选择次数,所述第一预设资源集合中包括至少一个网络资源;
判断模块,用于判断所述累计选择次数是否大于或等于第四预设次数;
分配模块,用于如果所述累计选择次数大于或等于第四预设次数,则向网关分配新网络资源,以使新网络资源存储在第一预设资源集合中。
25.一种网络资源处理装置,包括:
第一选择模块,用于当需要使用网络资源时,从第一预设资源集合中选择第一网络资源,所述第一预设资源集合中包括至少一个网络资源;
第一查找模块,用于在预设资源列表中查找是否存在所述第一网络资源,所述预设资源列表中包括当前已被占用的网络资源;
第一使用模块,用于如果所述预设资源列表中不存在所述第一网络资源,则使用所述第一网络资源;
还包括:
第五接收模块,用于接收资源回收请求,所述资源回收请求用于请求从网关中回收未被占用的第三网络资源;所述资源回收请求是所述网关在第一预设时长内每一次为使用网络资源时从第一预设资源集合中选择网络资源的平均累计选择次数小于或等于第三预设次数时发送的;所述第一预设资源集合中包括至少一个网络资源;
第五发送模块,用于根据所述资源回收请求向所述网关发送资源回收指令,所述资源回收指令用于指示从所述网关中删除所述第三网络资源。
26.一种网关,其特征在于,所述网关包括:
处理器;和
存储器,其上存储有可执行代码,当所述可执行代码被执行时,使得所述处理器执行如权利要求1-12中任一项所述的网络资源处理方法。
27.一种网关,其特征在于,所述网关包括:
处理器;和
存储器,其上存储有可执行代码,当所述可执行代码被执行时,使得所述处理器执行如权利要求13-23中任一项所述的网络资源处理方法。
CN201811046299.9A 2018-09-07 2018-09-07 网络资源处理方法、装置、网关、控制器及存储介质 Active CN110891033B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811046299.9A CN110891033B (zh) 2018-09-07 2018-09-07 网络资源处理方法、装置、网关、控制器及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811046299.9A CN110891033B (zh) 2018-09-07 2018-09-07 网络资源处理方法、装置、网关、控制器及存储介质

Publications (2)

Publication Number Publication Date
CN110891033A CN110891033A (zh) 2020-03-17
CN110891033B true CN110891033B (zh) 2023-05-05

Family

ID=69744735

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811046299.9A Active CN110891033B (zh) 2018-09-07 2018-09-07 网络资源处理方法、装置、网关、控制器及存储介质

Country Status (1)

Country Link
CN (1) CN110891033B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111510517B (zh) * 2020-06-30 2020-09-15 上海有孚智数云创数字科技有限公司 一种网络动态优化分配方法、分配系统及可读存储介质
CN112054957B (zh) * 2020-08-11 2022-04-29 烽火通信科技股份有限公司 资源调度方法、装置、设备及存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101404607A (zh) * 2008-11-19 2009-04-08 腾讯科技(深圳)有限公司 更新数据的方法、装置和系统
CN102404236A (zh) * 2011-12-30 2012-04-04 苏州山石网络有限公司 一种分布式系统中nat端口资源的分配方法
CN102932498A (zh) * 2012-10-24 2013-02-13 广州杰赛科技股份有限公司 一种云计算平台的虚拟机ip资源管理方法
WO2017059742A1 (zh) * 2015-10-10 2017-04-13 中兴通讯股份有限公司 用户侧设备、服务器、端口资源管理方法及系统
CN108024230A (zh) * 2016-11-04 2018-05-11 北京三星通信技术研究有限公司 一种v2x通信中的资源选择方法和设备
CN108271252A (zh) * 2016-12-30 2018-07-10 电信科学技术研究院 一种资源排除的方法及网络节点

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101404607A (zh) * 2008-11-19 2009-04-08 腾讯科技(深圳)有限公司 更新数据的方法、装置和系统
CN102404236A (zh) * 2011-12-30 2012-04-04 苏州山石网络有限公司 一种分布式系统中nat端口资源的分配方法
CN102932498A (zh) * 2012-10-24 2013-02-13 广州杰赛科技股份有限公司 一种云计算平台的虚拟机ip资源管理方法
WO2017059742A1 (zh) * 2015-10-10 2017-04-13 中兴通讯股份有限公司 用户侧设备、服务器、端口资源管理方法及系统
CN108024230A (zh) * 2016-11-04 2018-05-11 北京三星通信技术研究有限公司 一种v2x通信中的资源选择方法和设备
CN108271252A (zh) * 2016-12-30 2018-07-10 电信科学技术研究院 一种资源排除的方法及网络节点

Also Published As

Publication number Publication date
CN110891033A (zh) 2020-03-17

Similar Documents

Publication Publication Date Title
US11146502B2 (en) Method and apparatus for allocating resource
US10637916B2 (en) Method and device for storage resource allocation for video cloud storage
KR101994021B1 (ko) 파일 조작 방법 및 장치
CN107241281B (zh) 一种数据处理方法及其装置
CN113709200B (zh) 一种建立通信连接的方法及装置
CN108845877B (zh) 管理内存的方法、装置和系统
CN106712981B (zh) 一种节点变更通知方法及装置
CN110290399B (zh) 一种数据分发方法、系统、装置及计算机可读存储介质
CN108845876B (zh) 一种业务分配的方法及装置
CN110891033B (zh) 网络资源处理方法、装置、网关、控制器及存储介质
CN114553762B (zh) 一种对流表中的流表项处理的方法及装置
CN108616896B (zh) 运营商识别方法、装置及互联网访问系统
CN113849260A (zh) 一种实例的处理核分配方法及装置
CN110545336B (zh) Ip地址替换方法、装置、计算机设备和存储介质
CN104281587A (zh) 一种建立连接的方法及装置
CN112600765B (zh) 一种配置资源调度方法及装置
CN108023920B (zh) 一种数据包传输方法、设备及应用接口
CN113296977B (zh) 一种消息处理方法及装置
CN114253730A (zh) 管理数据库内存的方法、装置、设备及存储介质
CN114816789A (zh) 基于云应用的文件处理方法、电子设备和存储介质
CN110333823B (zh) 基于nbd设备的数据迁移方法、装置、设备及存储介质
CN108255820B (zh) 分布式系统中数据入库的方法、装置以及电子设备
CN108319536B (zh) 一种日志设置方法、装置、设备及计算机可读存储介质
CN111126604A (zh) 模型训练方法、装置、服务器及存储介质
CN105245569A (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
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40025593

Country of ref document: HK

GR01 Patent grant
GR01 Patent grant