WO2022262145A1 - 一种分布式分级时延提供的名字解析系统构建方法 - Google Patents

一种分布式分级时延提供的名字解析系统构建方法 Download PDF

Info

Publication number
WO2022262145A1
WO2022262145A1 PCT/CN2021/121622 CN2021121622W WO2022262145A1 WO 2022262145 A1 WO2022262145 A1 WO 2022262145A1 CN 2021121622 W CN2021121622 W CN 2021121622W WO 2022262145 A1 WO2022262145 A1 WO 2022262145A1
Authority
WO
WIPO (PCT)
Prior art keywords
node
nodes
virtual
added
service provider
Prior art date
Application number
PCT/CN2021/121622
Other languages
English (en)
French (fr)
Inventor
尤佳莉
李佳岂
王劲林
李杨
Original Assignee
中国科学院声学研究所
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 中国科学院声学研究所 filed Critical 中国科学院声学研究所
Publication of WO2022262145A1 publication Critical patent/WO2022262145A1/zh

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/44Star or tree networks
    • 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/04Network management architectures or arrangements
    • H04L41/042Network management architectures or arrangements comprising distributed management centres cooperatively managing the network
    • 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/04Network management architectures or arrangements
    • H04L41/044Network management architectures or arrangements comprising hierarchical management structures
    • 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/0823Configuration setting characterised by the purposes of a change of settings, e.g. optimising configuration for enhancing reliability
    • 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/12Discovery or management of network topologies
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • 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/61Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources taking into account QoS or priority requirements

Definitions

  • the invention relates to the field of computer network technology and distributed systems, in particular to a method for constructing a name resolution system provided by distributed hierarchical delays.
  • each distributed node is required to provide services within a certain delay upper limit to the service requests of users in the service area.
  • the latency that needs to be guaranteed is also divided into multiple levels, and the organizational structure of the distributed system is also hierarchically organized accordingly.
  • the distributed system will face the problems of difficult deployment management and structure generation.
  • the structure of distributed nodes in the existing cluster technology is completely managed by a central root node management system. This method is simple and direct, but the corresponding scalability support is poor; decentralized peer-to-peer distributed systems do not exist Single-point bottleneck, better support for scalability, but more complex and difficult in structure organization and management.
  • existing structure generation methods are difficult to adapt to the specific structural constraints of distributed systems with hierarchical delay guarantees.
  • the purpose of the present invention is to overcome the defects of the prior art, and proposes a method for constructing a name resolution system provided by a distributed hierarchical time delay.
  • the present invention proposes a method for constructing a name resolution system provided by a distributed hierarchical delay, wherein the name resolution system provided by a distributed hierarchical delay includes a management system and a plurality of service providing nodes; the method includes :
  • the position of each service provider node in the forest structure and the connection relationship with other service provider nodes are determined through the nested relationship judgment conditions; through the process of finding ancestor nodes Determine all the branch nodes between the root node and the parent node of the node to be added to the service provider; add nodes with lower service delay levels to the node to be added to the service provider through the process of finding child nodes, and adjust the tree accordingly structure; among them,
  • the forest structure specifically includes: each tree in the forest represents a service area, and the number of node layers included in a tree corresponds to the service delay level.
  • the root node is the node with the maximum service delay level.
  • nodes, nodes at the same level in the forest have the same service delay level, and the service delay level of higher-level nodes is higher than that of lower-level nodes; the nodes include real nodes and virtual nodes, and virtual nodes are used during tree construction. Replace undeployed real nodes to form a complete tree structure.
  • the real node corresponds to the actually deployed service providing node, and provides users with analysis services and system structure management functions;
  • the virtual node plays a role in occupying the service delay level of the missing deployment, and provides the system structure management function; the virtual node that does not have a parent node in the system structure is the virtual root node; the virtual node is generated by a real node during the joining process , and hosted by the server deployed by the real node generating the virtual node;
  • the node distance between a virtual node and a real node is represented by the average of the node distances between a real node and all real nodes at the highest level in the subtree rooted at the virtual node.
  • the service delay level corresponds to a specific service delay, and is used to indicate the upper limit of the delay required for users within the service coverage of the service providing node to obtain the service.
  • the service coverage of the service provider node is all user nodes whose distance from the service provider node meets the service delay requirement, the node's subtree nodes and all user nodes of each subtree node,
  • the coverage of tree nodes at different levels is nested, and the coverage of higher-level nodes includes the coverage of lower-level nodes.
  • the conditions for determining the nested relationship include:
  • the respective service delay levels are L p and L r respectively, the measurement delay of the distance between the two nodes is D(p, r), node q is in the subtree rooted at r the highest-level real node that exists;
  • the process of finding ancestor nodes determines all branch nodes between the root node and the parent node of the joining position of the service providing node to be added; specifically includes:
  • Step 602 According to the service provider node s to be added, all virtual roots are queried from the management system to form a set VR, and each virtual node in the service provider node s to be added and each virtual node in the set VR is respectively subjected to a virtual node deterministic substitution judgment, and the satisfied
  • the virtual node joins the deterministic replacement set GR, if GR is not empty, replaces all the nodes in the deterministic replacement set GR with the service provider node s to be added, and goes to step 609);
  • Step 603 According to the known serviceable user set U of the service providing node s to be added, query the root nodes to which all users in the known serviceable user set U currently belong to form a set UR, and combine the set UR with the service providing node to be added If s does not meet the criteria for determining the real node level, delete the node, select the root node ur with the highest priority corresponding to the user, delete the user whose root node is not ur, and use ur as the root of the node s to be added to the service, and go to step 606) ; If the satisfying root node ur cannot be selected, go to step 604);
  • Step 604 According to the service provider node s to be added, query all real roots from the management system to form a set R, and determine the same tree of real nodes between the service provider node s to be added and each real node in the set R, if there is real node r, then the service provider node s to be added takes the real node r as the root, and then proceeds to step 606); if there is no real node r that satisfies the determination condition, each node in the service provider node s to be added and R is respectively To determine the level of real nodes, delete the nodes that do not meet the judgment conditions from the set R, and sort the set R in the order of the time delay between the node s and the service provider s to be added, from small to large, and traverse the set R in order to take out the real node r , if the load of the real node r does not exceed the preset load threshold, then take the real node r as the root of the node s to
  • Step 605 According to the service provider node s to be added, query all virtual roots from the management system to form a set VR, and perform virtual node same-tree judgment on each virtual node in the service provider node s to be added and the set VR, if there is a satisfying judgment Conditional virtual node vr, then take the virtual node vr as the root of the service providing node s to be added, and go to step 606); if there is no virtual node vr that satisfies the determination condition, each of the service providing node s to be added and the set VR
  • the virtual nodes respectively judge the virtual node level, delete the unsatisfactory virtual nodes, select the virtual node vr with the smallest delay between the service provider node s to be added from the set VR as the root of the service provider node s to be added, and record the current node Vcur is vr, go to step 606); if there is no virtual node vr that satisfies the determination condition
  • Step 606 The service provider node s to be added records the current node Vcur as the ancestor node of this layer, and the service provider node s to be added queries all its real child nodes from Vcur to form a set RC.
  • real nodes to determine the same tree of real nodes if there is a real node rc that satisfies the judgment condition, then make Vcur equal to rc, and go to step 608);
  • Each node of each node is judged by the real node level, and the nodes that do not meet the judgment conditions are deleted from the set RC, and the set RC is sorted according to the order of the time delay between the service provider node s and the node s to be added, from small to large, and traversed in order Set RC to take out the real node rc, if the load of the real node rc does not exceed the preset load threshold, then make Vcur equal to rc, and go to step 606); if the real node
  • Step 607) The service provider node s to be added queries all its virtual child nodes from Vcur to form a set VC, and each virtual node in the service provider node s to be added and the set VC is respectively judged that the virtual node is the same as the tree.
  • step 608 if there is no virtual node that meets the judgment condition, then the virtual node level judgment is performed on each virtual node in the service provider node s to be added and the set VC, and the unidentified virtual nodes are deleted Satisfied virtual nodes, select the vc with the smallest delay between the service provider node s to be added from the set VC, make Vcur equal to vc, and turn to step 608); if there is no virtual node satisfying the judgment condition, then the service provider node s to be added Generate a new virtual node, and generate all virtual nodes corresponding to the intermediate service delay level, and make these virtual nodes establish corresponding parent-child relationships according to the level, go to step 609);
  • Step 608) If the service delay level of the service providing node s to be added is one level lower than the service delay level of Vcur, then go to step 609); otherwise go to step 606);
  • Step 609) The service provider node s to be added completes the process of finding an ancestor node.
  • the node with a lower service delay level is added to the service provider node to be added through the process of finding a child node, and the tree structure is adjusted accordingly; specifically includes:
  • Step 701) If the parent node f is a real node, and the parent node f has no child nodes, then the child node to be added to the service providing node s is empty, and s is a leaf node, and then go to step 706); otherwise go to step 702);
  • Step 702 If the parent node f is a virtual node, and the parent node f has no child nodes, then the child node to be added to the service provider node s is empty, s is a leaf node, go to step 706); otherwise go to step 703);
  • Step 703 According to the service provider node s to be added, query all the virtual child nodes of the parent node f to form a virtual sibling node set SV, if the SV is empty, then the child nodes of the service provider node s to be added are empty, go to step 706 ); Otherwise, go to step 704);
  • Step 704 According to the service provider node s to be added, query the child nodes of each virtual sibling node in the virtual sibling node set SV to form the child node set CS to be selected, and the service provider node s to be added and the child node set CS to be selected Each node performs virtual node same-tree determination, and joins the virtual node that satisfies the determination condition into the deterministic sub-node set GCS, and the service provider node s to be added initiates an adoption invitation request to all nodes in the deterministic sub-node set GSS, and the node that replies rejects , delete from the deterministic sub-node set GSS, if GSS is not empty, then the service provider node s to be added adopts all the nodes of the deterministic sub-node set GSS to itself, and then goes to step 705);
  • Step 705 The service provider node s to be added detects the original parent node of each adopted child node. If its factor node is adopted and becomes a virtual leaf node, it deletes the virtual leaf node in an upward cycle until there is no virtual leaf node in the branch node, go to step 706);
  • Step 706 The process of finding a child node ends.
  • the service provider node s to be added adopts all nodes of the deterministic sub-node set GSS to itself; specifically includes:
  • the management system adopts a weakly centralized deployment and accepts information reported by limited nodes.
  • the information reported by the service provider node as the root node includes but is not limited to node identification, network address, geographic location, etc. Location, node virtual and real type, and node status; provide root node query services, but do not perform complex topology calculations and analysis.
  • the present invention has the advantages of:
  • the present invention discloses a method for constructing a name resolution system provided by a distributed hierarchical delay, which adopts a decentralized structure, and the self-organized structure generation of distributed service nodes avoids the single-point bottleneck of structure management , has better scalability; node joining based on the actual distance measurement between nodes can more accurately realize the constraints of system delay guarantee, and the flexible determination method of the relationship between nodes in the process of node joining also makes the system structure have better balance And higher coverage for users, the introduction of virtual nodes improves the integrity and connectivity of the system structure.
  • Fig. 1 is the flow chart of the construction method of the name resolution system provided by the distributed hierarchical time delay of the present invention
  • Fig. 2 is the flow chart of selecting root node of the present invention.
  • Fig. 3 is a flow chart of finding an ancestor node of the present invention.
  • Fig. 4 is a flow chart of finding child nodes in the present invention.
  • the method of the present invention adopts decentralized management, nodes distribute and self-organize to generate local structures, support general incremental deployment scenarios starting from the first point, divide based on inter-node delay measurement, and ensure generation
  • the system structure meets the delay guarantee of different levels of services, and better meets the needs of delay-sensitive applications for using services.
  • the name resolution system provided by Hierarchical Delay is composed of a management system and multiple service providing nodes. All service providing nodes form a forest structure. Each tree in the forest represents a service area, and each node in the tree corresponds to a service Provide users with the coverage of analysis services under the delay level; in the same tree, nodes at the same layer have the same service delay level, and the user set served by the service node at the upper level includes the next The full set of users served by service nodes at the service level; the name resolution system provided by the distributed hierarchical delay has the characteristics of supporting gradual deployment and construction.
  • the construction process includes two processes of finding an ancestor node and finding a child node for a node to join.
  • the on-site name resolution system is deployed in the network as the main scenario for description.
  • the on-site name resolution system is a name resolution system provided by distributed hierarchical delays, which can provide users with multiple delay levels.
  • a distributed query service system for services the system is composed of multiple distributed analysis service nodes, each analysis service node provides analysis services for users in its coverage area, and the communication delay is less than the predetermined upper limit of delay.
  • the coverage area is composed of all users served by the service node.
  • a service node covers a certain user, which means that the service node can provide the query service for the user with the communication delay limit corresponding to the service delay level; conversely, a
  • the serviceable nodes of a user at a certain service delay level refer to all nodes that can provide query services for the user at this service delay level.
  • the distributed analysis service nodes in the system form a forest structure.
  • the tree level of the analysis service nodes in the forest corresponds to the service delay level of the node.
  • the nodes in the forest structure are divided into real nodes and virtual nodes.
  • the functions performed by the real nodes are Including structure management and provision of user services, while virtual nodes only perform structure management functions; the structure information of each node includes but not limited to parent node pointer and child node list.
  • Nodes at the same level in the forest have the same service delay level, nodes at different levels have different service delay levels, and the service delay level with a higher upper limit of service delay corresponds to the level closer to the root node in the forest structure .
  • a user can have one or more resolvable service nodes at the same service delay level, but there is one and only one node as the master node, which is the name of each level in the node joining process.
  • the present invention provides a method for generating the structure of a hierarchical delay guarantee service system.
  • the structure of the system is collaboratively generated by each service node through self-organization.
  • the method includes: first The node to be added is configured with a service delay level, and the root node list of the current forest structure is obtained through the entry query node, and the virtual root node in it is replaced; then starting from the root node list, the node to be added passes through the direction from root to leaf in Select an ancestor node at each level, iteratively select the ancestor node of the next level among the child nodes of the ancestor node of the current level, and end the iteration until the parent node is found; finally, the node to be added obtains its parent node from the parent node Virtual child node list, try to adopt the child nodes of the nodes in the list, and complete the addition of new nodes; where, the selection of ancestor nodes and the adoption of child nodes are determined by
  • the virtual node is a logical node that provides a placeholder function for integrity and connectivity requirements during structure generation.
  • the virtual node is generated during the joining process of the real node and is located at the same server.
  • the structure management function refers to a functional module located on each distributed node in the system, which acquires, stores and updates system structure information during the process of joining a distributed node, as well as the functions of a distributed node when building a system structure. Inter-node communication and collaborative decision-making.
  • the system structure information includes but not limited to: parent node pointer, child node list;
  • the root node management system refers to a node that is located outside the hierarchical delay guarantee service system and can provide the node to be added with the function of querying the root node entry of the existing system structure.
  • the system only provides the root node Query services without performing complex topology calculations and node joining location instructions; the root node information provided includes but is not limited to node identification, network address, geographic location, and node virtual and real type; the root node information is deployed as the root service node Registration is performed through a notification message.
  • the time delay measurement technology is used in the structure generation process of the field name resolution system, and the real round-trip communication time delay between two nodes is measured during the joining process of the nodes to be tested.
  • the inter-node delay is defined as follows: if two nodes are real nodes, the inter-node delay is the communication delay between the two nodes; if one of the nodes is a virtual node, the inter-node delay is the real node to The average communication delay of all real nodes with the highest level under this virtual node.
  • Ancestor nodes refer to all service nodes that are located on the connection path between the current service node and its root node and have a higher service level than the current node.
  • the node with deterministic nesting is selected first, and the node with the smallest delay between nodes is selected among the nodes with possible nesting node as an ancestor node; if no node satisfies the inter-node relationship determination constraints, the newly added node generates a virtual node at this level and takes this virtual node as the ancestor node of this level.
  • the selection process for the root node includes the following steps:
  • Step 102) s queries the set VR composed of all virtual roots from the root node management system, s makes a deterministic alternative judgment for each node in VR, and adds the nodes that meet the determination into the deterministic alternative set GR: if GR is not If it is empty, replace all nodes in GR with s, and node s is added; if GR is empty, s is added as a new root node;
  • Step 103 The set of users subordinate to s is U, query the root node UR that all users in U currently belong to, and select ur with the shortest time delay from s in UR, if the time delay between ur and s is less than Tur+Ts, select ur is the root node, filter users who do not use ur as the root node, and complete the root node selection process. If a satisfactory ur cannot be selected, go to step 104);
  • Step 104) s queries the set R composed of all real root nodes from the root node management system. For each node r in R, sort from small to large according to the time delay between it and s, and traverse R sequentially. If there is a If the time delay between r and s is less than Tr-Ts, r is selected as the root, and the root node selection process is completed. If the satisfying r cannot be selected, R is traversed sequentially. If there is a time delay between r and s that is less than Tr+Ts, r is selected as the root, and the root node selection process is completed. If satisfying r cannot be selected, go to step 105);
  • Step 105) s queries the set VR composed of all virtual roots from the root node management system. For each node vr in VR, sort from small to large according to the time delay between it and s, and traverse VR sequentially. If there is a vr The time delay between s and s is less than Tvr-Ts, then vr is selected as the root, and the root node selection process is completed. If a satisfying vr cannot be selected, traverse VR in order, and for any node q in the subtree of vr, if the distance between q and s is less than 2*L r +L p -L q , then select vr For the root, complete the root node selection process. If no satisfactory vr can be selected, s generates a new virtual root.
  • the process of finding an ancestor node includes the following steps:
  • Step 201) uses the selected root node r as the entry of the current search branch
  • Step 202) If the delay level of s is one level lower than the current search branch delay level, go to step 205), otherwise go to step 203);
  • Step 203) queries the search branch entry node for all real child nodes under it and joins the set P to be searched. For each node p in P, sort from small to large according to its time delay to s, and traverse P in order, If there is a time delay between p and s smaller than Tp-Ts, then select p as the entry of the subsequent search branch. If no satisfying p can be selected, P is traversed sequentially, and if there is a time delay between p and s that is less than Tp+Ts, then p is selected as the entry of the subsequent search branch, and the procedure goes to step 202). If satisfying p cannot be selected, then go to step 204);
  • Step 204) s queries the search branch entry node for all the virtual sub-nodes under it and joins the set PV to be searched. For each node pv in the PV, sort from small to large according to its time delay to s, and traverse the PV in order, If there is a time delay between pv and s that is less than Tpv-Ts, pv is selected as the entry of the subsequent search branch. If no satisfying pv can be selected, the PVs are traversed sequentially, and if there is a time delay between pv and s that is less than Tpv+Ts, the pv is selected as the entry of the subsequent search branch, and the procedure goes to step 202). If a satisfying pv cannot be selected, then s generates a new virtual node and adds it to the current search branch entry.
  • Step 205) Complete the process of finding the ancestor node.
  • Step 301) s queries the selected parent node rf for all virtual child nodes of rf to join the virtual sibling node set SV, if SV is empty, go to 304). Otherwise go to 302);
  • Step 302 s queries the child nodes of sv from each node sv in SV, and adds them to the set of child nodes CS to be selected. For each node cs in CS, sort them from small to large according to their time delay to s, in order Traverse the CS, find all CSs whose time delay from s to s is less than Ts-Tcs, and add them to the deterministic child node set GCS. If the GCS is not empty, then s will adopt all the nodes in the GCS from their original parent nodes; if the GCS is empty, go to 304);
  • Step 303) s detects the original parent node pp of each adopted child node. If the pp factor node is adopted and becomes a virtual leaf node, delete the virtual leaf node in an upward cycle until there is no virtual leaf node.
  • Step 304) s completes the child node selection process and completes the deployment.

Landscapes

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

Abstract

本发明公开了一种分布式分级时延提供的名字解析系统构建方法,分布式分级时延提供的名字解析系统包括管理系统和多个服务提供节点;该方法包括:以服务提供节点间实际往返时延测量获得的节点距离作为依据,通过嵌套关系判定条件确定每个服务提供节点在森林结构中的位置及与其他服务提供节点的连接关系;通过找祖先节点过程确定待加入服务提供节点从根节点到加入位置的父节点之间的所有分支节点;通过找子节点过程将较低服务时延等级的节点加入到待加入服务提供节点下,并随之调整树结构;每一棵树代表一个服务区域,一棵树包括的节点层数与服务时延等级对应,根节点为具有最大服务时延等级的节点,相同层级的节点具有相同的服务时延等级。

Description

一种分布式分级时延提供的名字解析系统构建方法
相关申请
本申请要求名称为“一种分布式分级时延提供的名字解析系统构建方法”、于2021年6月18日提交的中国专利申请号为202110677688.7以及2021年9月27日提交的中国专利申请号为202111137585.8的优先权,在此通过引用包括上述申请。
技术领域
本发明涉及计算机网络技术和分布式系统领域,尤其涉及一种分布式分级时延提供的名字解析系统构建方法。
背景技术
近年来,随着互联网技术的飞速发展,网络设备和网络规模急剧地增长,加剧了网络各方面的复杂性,推动着各个组成部分如通信技术、网络设备技术的进步与革新。反之,随着第五代移动通信技术、信息中心网络等新兴网络技术的出现,网络设备处理器能力的不断提升,网络提供的功能更加丰富和强大。一些对网络性能有严格要求的应用和场景也开始出现,如对时延敏感的工业物联网、车联网和远程医疗等,给相应提供服务的分布式系统提出了所提供服务要有时延保障的新需求。与传统的分布式系统就近、尽力而为的服务不同,在时延保障的分布式系统中,要求每个分布式节点对服务区域内用户的服务请求在一个确定的时延上限内将服务提供,由于不同的应用场景有不同的时延敏感性,需要保障的时延也分为多个等级,分布式系统的组织结构相应地也进行层次型地组织。
在节点规模较大的时候,分布式系统会面临难以部署管理和结构生成的问题。现有的集群技术中分布式节点的结构由一个中心的根节点管理系统进行完整的管理,这样的方式简单直接,但相应地扩展性支持较差;去中心化的对等分布式系统不存在单点瓶颈,对扩展性支持较好,但在结构组织和管理上更加复杂和困难。此外,现有的结构生成方法难以适应分等级时延保障分布式系统特定结构约束的需求。
发明内容
本发明的目的在于克服现有技术缺陷,提出了一种分布式分级时延提供的 名字解析系统构建方法。
为了实现上述目的,本发明提出了一种分布式分级时延提供的名字解析系统构建方法,所述分布式分级时延提供的名字解析系统包括管理系统和多个服务提供节点;所述方法包括:
以服务提供节点间实际往返时延测量获得的节点距离作为依据,通过嵌套关系判定条件确定每个服务提供节点在森林结构中的位置及与其他服务提供节点的连接关系;通过找祖先节点过程确定待加入服务提供节点从根节点到加入位置的父节点之间的所有分支节点;通过找子节点过程将较低服务时延等级的节点加入到待加入服务提供节点下,并随之调整树结构;其中,
森林结构具体包括:森林中的每一棵树代表一个服务区域,一棵树包括的节点层数与具有的服务时延等级对应,在同一棵树中,根节点为具有最大服务时延等级的节点,位于森林中相同层级的节点具有相同的服务时延等级,较高层节点比较低层节点的服务时延等级高;所述节点包括实节点和虚拟节点,在树的构建过程中,采用虚拟节点代替未部署的实节点从而构成完整的树结构。
作为上述方法的一种改进,所述实节点对应实际部署的服务提供节点,为用户提供解析服务和系统结构管理功能;
所述虚拟节点对缺失部署的服务时延等级起占位作用,提供系统结构管理功能;在系统结构中不存在父节点的虚拟节点为虚拟根节点;虚拟节点由一个实节点在加入过程中生成,并由生成该虚拟节点的实节点所部署的服务器进行承载;
虚拟节点与实节点之间的节点距离,用实节点与以该虚拟节点为根的子树中最高层的所有实节点间节点距离的平均值表示。
作为上述方法的一种改进,所述服务时延等级对应一个具体的服务时延,用于表示位于该服务提供节点服务覆盖范围内的用户获取该服务所需时延的上限。
作为上述方法的一种改进,所述服务提供节点服务覆盖范围为与该服务提供节点的距离符合服务时延要求的所有用户节点、该节点的子树节点以及每个子树节点的所有用户节点,位于不同层级树节点的覆盖范围为嵌套关系,较高层节点的覆盖范围包含较低层节点的覆盖范围。
作为上述方法的一种改进,所述嵌套关系判定条件包括:
对于两个节点p和r,各自的服务时延等级分别为L p和L r,两个节点间距离 的测量时延为D(p,r),节点q为以r为根的子树中存在的最高层的实节点;
当节点p和r均为实节点时,如果D(p,r)<L p+L r,则满足实节点等级判定条件;
当节点p和r均为实节点时,如果L p>L r,且D(p,r)<L p-L r,则满足实节点同树判定条件;
当节点p为实节点,r为虚拟节点,如果L p=L r,且对于所有节点q,都有D(p,q)<L p-L q,则满足虚拟节点确定性替代判定条件;
当节点p为实节点,r为虚拟节点,如果L p<L r,且对于所有节点q,都有D(p,q)<2*L r+L p-L q,则满足虚拟节点同树判定条件;或者如果L p>L r,且对于所有节点q,都有D(p,q)<L p+L q,则满足虚拟节点等级判定条件;
当节点p为实节点,r为虚拟节点,如果L p<L r,且存在一个节点q,使得D(p,q)<|L q-L p|,则满足虚拟节点同树判定条件;或者如果L p>L r,且对于所有节点q,都有D(p,q)<L p-L q,则满足虚拟节点同树判定条件。
作为上述方法的一种改进,所述通过找祖先节点过程确定待加入服务提供节点从根节点到加入位置的父节点之间的所有分支节点;具体包括:
步骤601)比较待加入服务提供节点s的服务时延等级L s与系统最高服务时延等级L max:如果L s=L max,转步骤602);如果L s<L max,转步骤603);
步骤602)根据待加入服务提供节点s,从管理系统查询所有虚拟根,组成集合VR,对待加入服务提供节点s和集合VR中的每个虚拟节点分别进行虚拟节点确定性替代判定,将满足的虚拟节点加入确定性替代集合GR,如果GR不为空,则用待加入服务提供节点s替代确定性替代集合GR中的所有节点,转步骤609);
步骤603)根据待加入服务提供节点s的已知可服务用户集合U,查询已知可服务用户集合U中所有用户当前所属的根节点,组成集合UR,将集合UR中与待加入服务提供节点s不满足实节点等级判定条件的节点删除,选定其中对应用户的优先级最高的根节点ur,删除根节点不是ur的用户,以ur为待加入服务提供节点s的根,转步骤606);如果无法选出满足的根节点ur,转步骤604);
步骤604)根据待加入服务提供节点s,从管理系统查询所有实根,组成集合R,对待加入服务提供节点s和集合R中的每个实节点进行实节点同树判定,如果存在满足判定条件的实节点r,则待加入服务提供节点s以实节点r作为根, 转步骤606);如果无满足判定条件的实节点r,则对待加入服务提供节点s与R中的每个节点分别进行实节点等级判定,将不满足判定条件的节点从集合R中删除,并按与待加入服务提供节点s间时延从小到大的顺序对集合R进行排序,依序遍历集合R取出实节点r,如果实节点r的负载未超过预设的负载阈值,则以该实节点r为待加入服务提供节点s的根,记当前节点Vcur为r,转步骤606);如果无法选出满足判断条件的实节点r,转步骤605);
步骤605)根据待加入服务提供节点s,从管理系统查询所有虚拟根,组成集合VR,对待加入服务提供节点s和集合VR中的每个虚拟节点分别进行虚拟节点同树判定,如果存在满足判定条件的虚拟节点vr,则以虚拟节点vr为待加入服务提供节点s的根,转步骤606);如果无满足判定条件的虚拟节点vr,则对待加入服务提供节点s与集合VR中的每个虚拟节点分别进行虚拟节点等级判定,删除不满足的虚拟节点,从集合VR中选取与对待加入服务提供节点s间时延最小的虚拟节点vr作为待加入服务提供节点s的根,记当前节点Vcur为vr,转步骤606);如果无满足判定条件的虚拟节点vr,则待加入服务提供节点s生成一个新的虚拟根节点,并生成中间服务时延等级对应的所有虚拟节点,并令这些虚拟节点按等级建立对应的父子关系,转步骤609);
步骤606)待加入服务提供节点s记录当前节点Vcur为该层的祖先节点,待加入服务提供节点s从Vcur查询其所有实子节点,组成集合RC,对待加入服务提供节点s和RC中的每个实节点进行实节点同树判定,如果存在满足判定条件的实节点rc,则令Vcur等于rc,转步骤608);如果无满足判定条件的实节点,则对待加入服务提供节点s与RC中的每个节点分别进行实节点等级判定,将不满足判定条件的节点从集合RC中删除,并按与待加入服务提供节点s间时延从小到大的顺序对集合RC进行排序,依序遍历集合RC取出实节点rc,如果实节点rc的负载未超过预设的负载阈值,则令Vcur等于rc,转步骤606);如果无法选出满足判断条件的实节点rc,转步骤607);
步骤607)待加入服务提供节点s从Vcur查询其所有虚拟子节点,组成集合VC,对待加入服务提供节点s和集合VC中的每个虚拟节点分别进行虚拟节点同树判定,如果存在满足判定条件的虚拟节点vc,则令Vcur等于vc,转步骤608);如果无满足判定条件的虚拟节点,则对待加入服务提供节点s与集合VC中的每个虚拟节点分别进行虚拟节点等级判定,删除不满足的虚拟节点,从集合VC中选取与待加入服务提供节点s间时延最小的vc,令Vcur等于vc, 转步骤608);如果无满足判定条件的虚拟节点,则待加入服务提供节点s生成一个新的虚拟节点,并生成中间服务时延等级对应的所有虚拟节点,并令这些虚拟节点按等级建立对应的父子关系,转步骤609);
步骤608)如果待加入服务提供节点s的服务时延等级比Vcur的服务时延等级低一级,则转步骤609);否则转步骤606);
步骤609)待加入服务提供节点s完成找祖先节点的过程。
作为上述方法的一种改进,所述通过找子节点过程将较低服务时延等级的节点加入到待加入服务提供节点下,并随之调整树结构;具体包括:
步骤701)如果父节点f为实节点,且父节点f无子节点,则待加入服务提供节点s的子节点为空,s为叶子节点,转步骤706);否则转步骤702);
步骤702)如果父节点f为虚拟节点,且父节点f无子节点,则待加入服务提供节点s的子节点为空,s为叶子节点,转步骤706);否则转步骤703);
步骤703)根据待加入服务提供节点s,查询得到父节点f的所有虚拟子节点,组成虚拟兄弟节点集合SV,如果SV为空,则待加入服务提供节点s的子节点为空,转步骤706);否则,转步骤704);
步骤704)根据待加入服务提供节点s,查询虚拟兄弟节点集合SV中每个虚拟兄弟节点的子节点,组成待选子节点集合CS,对待加入服务提供节点s与待选子节点集合CS中的每个节点进行虚拟节点同树判定,将满足判定条件的虚拟节点加入确定性子节点集合GCS,待加入服务提供节点s向确定性子节点集合GSS中的所有节点发起过继邀请请求,对于回复拒绝的节点,从确定性子节点集合GSS中删除,如果GSS不为空,则待加入服务提供节点s将确定性子节点集合GSS的所有节点过继到自身下,转步骤705);
步骤705)待加入服务提供节点s检测每个被过继子节点的原父节点,如果其因子节点被过继而成为一个虚拟叶子节点,则其向上循环删除虚拟叶子节点,直至该分支不存在虚拟叶子节点,转步骤706);
步骤706)找子节点过程结束。
作为上述方法的一种改进,所述待加入服务提供节点s将确定性子节点集合GSS的所有节点过继到自身下;具体包括:
将确定性子节点集合GSS中选定的子节点的父节点改为待加入服务提供节点s,并通知选定子节点的原父节点,从其子节点列表中删除该子节点。
作为上述方法的一种改进,所述管理系统采用弱中心化的部署,接受有限 节点上报信息,其中,作为根节点的服务提供节点上报的信息,包括但不限于节点的标识、网络地址、地理位置、节点虚实类型和节点状态;提供根节点查询服务,但不执行复杂的拓扑结构的计算和分析。
与现有技术相比,本发明的优势在于:
与现有技术相比,本发明公开的一种分布式分级时延提供的名字解析系统构建方法,采用去中心化的结构,分布式服务节点自组织地结构生成避免了结构管理的单点瓶颈,具备更好的扩展性;基于节点间实际测距的节点加入能够更加准确地实现系统时延保障的约束,节点加入过程中灵活的节点间关系判定方法也使系统结构具有更好的均衡性和对用户更高的覆盖率,引入虚拟节点提升了系统结构的完整性和连通性。
附图说明
图1是本发明的分布式分级时延提供的名字解析系统构建方法流程图;
图2是本发明的选择根节点流程图;
图3是本发明的找祖先节点流程图;
图4是本发明的找子节点流程图。
具体实施方式
本发明的方法是采用去中心化的管理,节点分布式自组织地进行局部结构生成,支持从第一个点开始的、通用的增量部署场景,基于节点间时延测量进行划分,保障生成的系统结构满足提供服务不同等级的时延保障,更好地满足时延敏感应用对使用服务的需求。
分级时延提供的名字解析系统由一个管理系统和多个服务提供节点组成,所有服务提供节点构成一个森林结构,森林中的每一棵树代表一个服务区域,树中的每一个节点对应一个服务时延等级下为用户提供解析服务的覆盖范围;在同一颗树中,同一层的节点具有相同的服务时延等级,上一级服务节点所服务的用户集合包含与其具有嵌套关系的下一级服务节点所服务用户的全集;分布式分级时延提供的名字解析系统具有支持逐步部署和构建的特点,对于某一个服务时延等级的服务提供节点尚未实际部署,而其覆盖范围内包含的较低服务时延等级的服务提供节点已部署的情况,采用虚拟节点代替该未部署节点从而构成完整的树结构;在构建过程中,以服务提供节点间实际往返时延测量获 得的节点距离作为依据,通过嵌套关系判定条件来确定每个节点在森林中的位置及与其他节点的连接关系。具体地,构建过程包括节点加入的找祖先节点和找子节点两个过程。其中,找祖先节点指确定新加入节点从根到该节点加入位置父节点之间的所有分支节点的过程;找子节点指将系统中可能的较低服务时延等级的节点加入到新加入节点下并随之调整树结构的过程。
下面结合附图和实施例对本发明的技术方案进行详细的说明。
实施例1
在本实施例中,以在网络中部署现场名字解析系统作为主要场景进行描述,现场名字解析系统是一种分布式分级时延提供的名字解析系统,能够在多个时延等级上给用户提供服务的分布式查询服务系统,系统由多个分布式部署的解析服务节点组成,每个解析服务节点为其覆盖区域内的用户所提供解析服务的通信时延小于预定的时延上限。
覆盖区域是由该服务节点所服务的所有用户组成,一个服务节点覆盖某个用户,表示该服务节点可以为这个用户提供其服务时延等级所对应的通信时延上限的查询服务;反之,一个用户在某个服务时延等级上的可服务节点,表示可以为该用户在该服务时延等级提供查询服务的所有节点。
系统中的分布式解析服务节点构成一个森林结构,解析服务节点在森林中树的层级与该节点服务时延等级相对应,森林结构中的节点分为实节点和虚拟节点,实节点执行的功能包括结构管理和用户服务的提供,而虚拟节点只执行结构管理功能;每个节点的结构信息包括但不限于父节点指针和子节点列表。
位于森林中相同层级的节点具有相同的服务时延等级,不同层级的节点具有不同的服务时延等级,且具有较高服务时延上限的服务时延等级对应森林结构中较靠近根节点的层级。
在现场名字解析系统中,一个用户在相同服务时延等级上可以有一个或多个可解析服务节点,但其中有且只有一个节点为主节点,主节点即为节点加入过程中每个层级所选择的祖先节点;覆盖某个用户的各个服务时延等级的所有主节点需要满足嵌套关系,即一个解析服务节点所覆盖用户的集合必须是其所有祖先节点所覆盖用户的子集。
如图1所示,基于该场景,本发明提供了一种分等级时延保障服务系统的结构生成方法,系统的结构是由每个服务节点通过自组织的方式协同生成的,方法包括:首先待加入节点配置有服务时延等级,通过入口查询节点获取当前 森林结构的根节点列表,对其中的虚拟根节点进行替代;然后从根节点列表开始,待加入节点通过由根到叶的方向在每个层级选择一个祖先节点,逐层迭代地,在当前层级祖先节点的子节点中进行下一层级祖先节点的选择,直到找到父节点后结束迭代;最后,待加入节点从父节点处获取其虚拟子节点列表,分别将该列表中节点的子节点尝试进行过继,至此完成新节点的加入;其中,祖先节点的选择和子节点的过继通过时延测量技术和节点关系判定约束进行确定。
在上述技术方案中,所述的虚拟节点是一种在结构生成中出于完整性和连通性需求提供占位功能的逻辑节点,虚拟节点在实节点加入过程中生成,与该实节点位于同一台服务器。
所述的结构管理功能,指位于系统中每个分布式节点上的功能模块,在分布式节点的加入过程中进行系统结构信息的获取、存储和更新,以及分布式节点在构建系统结构时的节点间通信和协同决策。其中,系统结构信息包括但不限于:父节点指针、子节点列表;
在上述技术方案中,所述的根节点管理系统,指位于分等级时延保障服务系统外、可以为待加入节点提供现有系统结构根节点入口查询功能的节点,该系统仅提供根节点的查询服务,而不执行复杂的拓扑结构计算和节点加入位置指示;提供的根节点信息包括但不限于节点标识、网络地址、地理位置和节点虚实类型;根节点信息通过部署后作为根的服务节点通过通知报文进行注册。
在现场名字解析系统的结构生成过程中采用时延测量技术,节点在加入过程中对待测节点进行两个节点真实往返通信时延的测量。节点间时延使用如下定义:如果两个节点均为实节点,则节点间时延为这两个节点间的通信时延;如果其中一个节点为虚拟节点,则节点间时延为实节点到该虚拟节点下等级最高的所有实节点通信时延的平均值。
祖先节点,指位于当前服务节点与其根节点连接路径上,所有的比当前节点服务等级更高的所有服务节点。所述的找祖先节点过程中,如果在一个层级有多个节点满足节点间关系判定约束,则优先选择确定性嵌套的节点,其次在可能性嵌套的节点中选择节点间时延最小的节点作为祖先节点;如果没有任何节点满足节点间关系判定约束,则新加入节点在该节点在该层级生成一个虚拟节点并将这个虚拟节点作为该层级的祖先节点。
如图2所示,对于根节点的选择过程,包括下述步骤:
步骤101)比较新加入节点s预设的时延等级L s与系统最高时延等级L r,s的时延等级对应时延值为Ts:如果L s=L r,转步骤102);如果L s<L r,转步骤103);
步骤102)s从根节点管理系统处查询所有虚拟根组成的集合VR,s对VR中每个节点进行确定性可替代判定,将满足判定的节点加入确定性可替代集合GR:如果GR不为空,则用s替代GR中的所有节点,节点s完成加入;如果GR为空,则s作为一个新的根节点加入;
步骤103)s下属用户集合为U,查询U中所有用户当前所属的根节点UR,选取UR中距离s时延最短的ur,如果该ur与s间时延小于Tur+Ts,则选定ur为根节点,将不以ur为根节点的用户过滤,完成根节点选择过程。如果无法选出满足的ur,转步骤104);
步骤104)s从根节点管理系统处查询所有实根节点组成的集合R,对于R中的每个节点r,根据其到s间的时延从小到大排序,依序遍历R,如果存在一个r与s间的时延小于Tr-Ts,则选定r为根,完成根节点选择过程。如果无法选出满足的r,则依序遍历R,如果存在一个r与s间的时延小于Tr+Ts,则选定r为根,完成根节点选择过程。如果无法选出满足的r,则转步骤105);
步骤105)s从根节点管理系统处查询所有虚拟根组成的集合VR,对于VR中的每个节点vr,根据其到s间的时延从小到大排序,依序遍历VR,如果存在一个vr与s间的时延小于Tvr-Ts,则选定vr为根,完成根节点选择过程。如果无法选出满足的vr,则依序遍历VR,对于vr的子树中的任一节点q,都满足q与s间的距离小于2*L r+L p-L q,则选定vr为根,完成根节点选择过程。如果无法选出满足的vr,则s生成一个新的虚拟根。
如图3所示,对于找祖先节点过程,包括下述步骤:
步骤201)s将选定的根节点r作为当前搜索分支的入口;
步骤202)如果s的时延等级比当前搜索分支时延等级低一级,转步骤205),否则转步骤203);
步骤203)s向搜索分支入口节点查询其下所属的所有实子节点加入待搜索集合P,对于P中的每个节点p,根据其到s的时延从小到大排序,依序遍历P,如果存在一个p与s间的时延小于Tp-Ts,则选定p作为后续搜索分支的入口。如果无法选出满足的p,则依序遍历P,如果存在一个p与s间的时延小于Tp+Ts,则选定p作为后续搜索分支的入口,转步骤202)。如果无法选出满足的p,则 转步骤204);
步骤204)s向搜索分支入口节点查询其下所属的所有虚拟子节点加入待搜索集合PV,对于PV中的每个节点pv,根据其到s的时延从小到大排序,依序遍历PV,如果存在一个pv与s间的时延小于Tpv-Ts,则选定pv作为后续搜索分支的入口。如果无法选出满足的pv,则依序遍历PV,如果存在一个pv与s间的时延小于Tpv+Ts,则选定pv作为后续搜索分支的入口,转步骤202)。如果无法选出满足的pv,则s生成一个新的虚拟节点并加入当前搜索分支入口下。
步骤205)完成找祖先节点过程。
如图4所示,对于找子节点过程,包括下述步骤:
步骤301)s向选定的父节点rf查询rf的所有虚拟子节点加入虚拟兄弟节点集合SV,如果SV为空,转304)。否则转302);
步骤302)s向SV中每个节点sv查询sv的子节点,并加入待选子节点集合CS中,对于CS中的每个节点cs,根据其到s的时延从小到大排序,依序遍历CS,找到所有满足到s时延小于Ts-Tcs的cs,将其加入确定性子节点集合GCS中。如果GCS不为空,则s将GCS中的所有节点由其原父节点处过继;如果GCS为空,则转304);
步骤303)s检测每个被过继的子节点的原父节点pp,如果pp因子节点被过继走而成为虚拟叶子节点,则向上循环删除虚拟叶子节点,直至不存在虚拟叶子节点。
步骤304)s完成子节点选择过程,完成部署。
最后所应说明的是,以上实施例仅用以说明本发明的技术方案而非限制。尽管参照实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,对本发明的技术方案进行修改或者等同替换,都不脱离本发明技术方案的精神和范围,其均应涵盖在本发明的权利要求范围当中。

Claims (9)

  1. 一种分布式分级时延提供的名字解析系统构建方法,所述分布式分级时延提供的名字解析系统包括管理系统和多个服务提供节点;所述方法包括:
    以服务提供节点间实际往返时延测量获得的节点距离作为依据,通过嵌套关系判定条件确定每个服务提供节点在森林结构中的位置及与其他服务提供节点的连接关系;通过找祖先节点过程确定待加入服务提供节点从根节点到加入位置的父节点之间的所有分支节点;通过找子节点过程将较低服务时延等级的节点加入到待加入服务提供节点下,并随之调整树结构;其中,
    森林结构具体包括:森林中的每一棵树代表一个服务区域,一棵树包括的节点层数与具有的服务时延等级对应,在同一棵树中,根节点为具有最大服务时延等级的节点,位于森林中相同层级的节点具有相同的服务时延等级,较高层节点比较低层节点的服务时延等级高;所述节点包括实节点和虚拟节点,在树的构建过程中,采用虚拟节点代替未部署的实节点从而构成完整的树结构。
  2. 根据权利要求1所述的分布式分级时延提供的名字解析系统构建方法,其特征在于,
    所述实节点对应实际部署的服务提供节点,为用户提供解析服务和系统结构管理功能;
    所述虚拟节点对缺失部署的服务时延等级起占位作用,提供系统结构管理功能;在系统结构中不存在父节点的虚拟节点为虚拟根节点;虚拟节点由一个实节点在加入过程中生成,并由生成该虚拟节点的实节点所部署的服务器进行承载;
    虚拟节点与实节点之间的节点距离,用实节点与以该虚拟节点为根的子树中最高层的所有实节点间节点距离的平均值表示。
  3. 根据权利要求1或2所述的分布式分级时延提供的名字解析系统构建方法,其特征在于,所述服务时延等级对应一个具体的服务时延,用于表示位于该服务提供节点服务覆盖范围内的用户获取该服务所需时延的上限。
  4. 根据权利要求3所述的分布式分级时延提供的名字解析系统构建方法,其特征在于,所述服务提供节点服务覆盖范围为与该服务提供节点的距离符合服务时延要求的所有用户节点、该节点的子树节点以及每个子树节点的所有用户节点,位于不同层级树节点的覆盖范围为嵌套关系,较高层节点的覆盖范围 包含较低层节点的覆盖范围。
  5. 根据权利要求4所述的分布式分级时延提供的名字解析系统构建方法,其特征在于,所述嵌套关系判定条件包括:
    对于两个节点p和r,各自的服务时延等级分别为L p和L r,两个节点间距离的测量时延为D(p,r),节点q为以r为根的子树中存在的最高层的实节点;
    当节点p和r均为实节点时,如果D(p,r)<L p+L r,则满足实节点等级判定条件;
    当节点p和r均为实节点时,如果L p>L r,且D(p,r)<L p-L r,则满足实节点同树判定条件;
    当节点p为实节点,r为虚拟节点,如果L p=L r,且对于所有节点q,都有D(p,q)<L p-L q,则满足虚拟节点确定性替代判定条件;
    当节点p为实节点,r为虚拟节点,如果L p<L r,且对于所有节点q,都有D(p,q)<2*L r+L p-L q,则满足虚拟节点同树判定条件;或者如果L p>L r,且对于所有节点q,都有D(p,q)<L p+L q,则满足虚拟节点等级判定条件;
    当节点p为实节点,r为虚拟节点,如果L p<L r,且存在一个节点q,使得D(p,q)<|L q-L p|,则满足虚拟节点同树判定条件;或者如果L p>L r,且对于所有节点q,都有D(p,q)<L p-L q,则满足虚拟节点同树判定条件。
  6. 根据权利要求5所述的分布式分级时延提供的名字解析系统构建方法,其特征在于,所述通过找祖先节点过程确定待加入服务提供节点从根节点到加入位置的父节点之间的所有分支节点;具体包括:
    步骤601)比较待加入服务提供节点s的服务时延等级L s与系统最高服务时延等级L max:如果L s=L max,转步骤602);如果L s<L max,转步骤603);
    步骤602)根据待加入服务提供节点s,从管理系统查询所有虚拟根,组成集合VR,对待加入服务提供节点s和集合VR中的每个虚拟节点分别进行虚拟节点确定性替代判定,将满足的虚拟节点加入确定性替代集合GR,如果GR不为空,则用待加入服务提供节点s替代确定性替代集合GR中的所有节点,转步骤609);
    步骤603)根据待加入服务提供节点s的已知可服务用户集合U,查询已知可服务用户集合U中所有用户当前所属的根节点,组成集合UR,将集合UR中与待加入服务提供节点s不满足实节点等级判定条件的节点删除,选定其中对应用户的优先级最高的根节点ur,删除根节点不是ur的用户,以ur为待加 入服务提供节点s的根,转步骤606);如果无法选出满足的根节点ur,转步骤604);
    步骤604)根据待加入服务提供节点s,从管理系统查询所有实根,组成集合R,对待加入服务提供节点s和集合R中的每个实节点进行实节点同树判定,如果存在满足判定条件的实节点r,则待加入服务提供节点s以实节点r作为根,转步骤606);如果无满足判定条件的实节点r,则对待加入服务提供节点s与R中的每个节点分别进行实节点等级判定,将不满足判定条件的节点从集合R中删除,并按与待加入服务提供节点s间时延从小到大的顺序对集合R进行排序,依序遍历集合R取出实节点r,如果实节点r的负载未超过预设的负载阈值,则以该实节点r为待加入服务提供节点s的根,记当前节点Vcur为r,转步骤606);如果无法选出满足判断条件的实节点r,转步骤605);
    步骤605)根据待加入服务提供节点s,从管理系统查询所有虚拟根,组成集合VR,对待加入服务提供节点s和集合VR中的每个虚拟节点分别进行虚拟节点同树判定,如果存在满足判定条件的虚拟节点vr,则以虚拟节点vr为待加入服务提供节点s的根,转步骤606);如果无满足判定条件的虚拟节点vr,则对待加入服务提供节点s与集合VR中的每个虚拟节点分别进行虚拟节点等级判定,删除不满足的虚拟节点,从集合VR中选取与对待加入服务提供节点s间时延最小的虚拟节点vr作为待加入服务提供节点s的根,记当前节点Vcur为vr,转步骤606);如果无满足判定条件的虚拟节点vr,则待加入服务提供节点s生成一个新的虚拟根节点,并生成中间服务时延等级对应的所有虚拟节点,并令这些虚拟节点按等级建立对应的父子关系,转步骤609);
    步骤606)待加入服务提供节点s记录当前节点Vcur为该层的祖先节点,待加入服务提供节点s从Vcur查询其所有实子节点,组成集合RC,对待加入服务提供节点s和RC中的每个实节点进行实节点同树判定,如果存在满足判定条件的实节点rc,则令Vcur等于rc,转步骤608);如果无满足判定条件的实节点,则对待加入服务提供节点s与RC中的每个节点分别进行实节点等级判定,将不满足判定条件的节点从集合RC中删除,并按与待加入服务提供节点s间时延从小到大的顺序对集合RC进行排序,依序遍历集合RC取出实节点rc,如果实节点rc的负载未超过预设的负载阈值,则令Vcur等于rc,转步骤606);如果无法选出满足判断条件的实节点rc,转步骤607);
    步骤607)待加入服务提供节点s从Vcur查询其所有虚拟子节点,组成集 合VC,对待加入服务提供节点s和集合VC中的每个虚拟节点分别进行虚拟节点同树判定,如果存在满足判定条件的虚拟节点vc,则令Vcur等于vc,转步骤608);如果无满足判定条件的虚拟节点,则对待加入服务提供节点s与集合VC中的每个虚拟节点分别进行虚拟节点等级判定,删除不满足的虚拟节点,从集合VC中选取与待加入服务提供节点s间时延最小的vc,令Vcur等于vc,转步骤608);如果无满足判定条件的虚拟节点,则待加入服务提供节点s生成一个新的虚拟节点,并生成中间服务时延等级对应的所有虚拟节点,并令这些虚拟节点按等级建立对应的父子关系,转步骤609);
    步骤608)如果待加入服务提供节点s的服务时延等级比Vcur的服务时延等级低一级,则转步骤609);否则转步骤606);
    步骤609)待加入服务提供节点s完成找祖先节点的过程。
  7. 根据权利要求6所述的分布式分级时延提供的名字解析系统构建方法,其特征在于,所述通过找子节点过程将较低服务时延等级的节点加入到待加入服务提供节点下,并随之调整树结构;具体包括:
    步骤701)如果父节点f为实节点,且父节点f无子节点,则待加入服务提供节点s的子节点为空,s为叶子节点,转步骤706);否则转步骤702);
    步骤702)如果父节点f为虚拟节点,且父节点f无子节点,则待加入服务提供节点s的子节点为空,s为叶子节点,转步骤706);否则转步骤703);
    步骤703)根据待加入服务提供节点s,查询得到父节点f的所有虚拟子节点,组成虚拟兄弟节点集合SV,如果SV为空,则待加入服务提供节点s的子节点为空,转步骤706);否则,转步骤704);
    步骤704)根据待加入服务提供节点s,查询虚拟兄弟节点集合SV中每个虚拟兄弟节点的子节点,组成待选子节点集合CS,对待加入服务提供节点s与待选子节点集合CS中的每个节点进行虚拟节点同树判定,将满足判定条件的虚拟节点加入确定性子节点集合GCS,待加入服务提供节点s向确定性子节点集合GSS中的所有节点发起过继邀请请求,对于回复拒绝的节点,从确定性子节点集合GSS中删除,如果GSS不为空,则待加入服务提供节点s将确定性子节点集合GSS的所有节点过继到自身下,转步骤705);
    步骤705)待加入服务提供节点s检测每个被过继子节点的原父节点,如果其因子节点被过继而成为一个虚拟叶子节点,则其向上循环删除虚拟叶子节点,直至该分支不存在虚拟叶子节点,转步骤706);
    步骤706)找子节点过程结束。
  8. 根据权利要求7所述的分布式分级时延提供的名字解析系统构建方法,其特征在于,所述待加入服务提供节点s将确定性子节点集合GSS的所有节点过继到自身下;具体包括:
    将确定性子节点集合GSS中选定的子节点的父节点改为待加入服务提供节点s,并通知选定子节点的原父节点,从其子节点列表中删除该子节点。
  9. 根据权利要求8所述的分布式分级时延提供的名字解析系统构建方法,其特征在于,所述管理系统采用弱中心化的部署,接受有限节点上报信息,其中,作为根节点的服务提供节点上报的信息,包括节点的标识、网络地址、地理位置、节点虚实类型和节点状态;提供根节点查询服务,但不执行复杂的拓扑结构的计算和分析。
PCT/CN2021/121622 2021-06-18 2021-09-29 一种分布式分级时延提供的名字解析系统构建方法 WO2022262145A1 (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
CN202110677688.7 2021-06-18
CN202110677688 2021-06-18
CN202111137585.8A CN115499285B (zh) 2021-06-18 2021-09-27 一种分布式分级时延提供的名字解析系统构建方法
CN202111137585.8 2021-09-27

Publications (1)

Publication Number Publication Date
WO2022262145A1 true WO2022262145A1 (zh) 2022-12-22

Family

ID=84464217

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2021/121622 WO2022262145A1 (zh) 2021-06-18 2021-09-29 一种分布式分级时延提供的名字解析系统构建方法

Country Status (2)

Country Link
CN (1) CN115499285B (zh)
WO (1) WO2022262145A1 (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1914817A (zh) * 2003-12-15 2007-02-14 艾利森电话股份有限公司 路径搜索和验证的方法
US20080304421A1 (en) * 2007-06-07 2008-12-11 Microsoft Corporation Internet Latencies Through Prediction Trees
US20120155329A1 (en) * 2010-12-17 2012-06-21 Cisco Technology Inc. Dynamic Reroute Scheduling in a Directed Acyclic Graph (DAG)
CN109947764A (zh) * 2017-09-18 2019-06-28 中国科学院声学研究所 一种基于时延构建弹性现场的查询增强系统及方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7058636B2 (en) * 2000-01-03 2006-06-06 Dirk Coldewey Method for prefetching recursive data structure traversals
CN1835451A (zh) * 2005-03-15 2006-09-20 北京航空航天大学 基于森林结构的网格信息管理系统
CN103631870B (zh) * 2013-11-06 2017-02-01 广东电子工业研究院有限公司 一种用于大规模分布式数据处理的系统及其方法
CN110633667B (zh) * 2019-09-11 2021-11-26 沈阳航空航天大学 一种基于多任务随机森林的动作预测方法
CN112699091A (zh) * 2021-01-04 2021-04-23 国网电子商务有限公司 一种分布式文件共享系统及方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1914817A (zh) * 2003-12-15 2007-02-14 艾利森电话股份有限公司 路径搜索和验证的方法
US20080304421A1 (en) * 2007-06-07 2008-12-11 Microsoft Corporation Internet Latencies Through Prediction Trees
US20120155329A1 (en) * 2010-12-17 2012-06-21 Cisco Technology Inc. Dynamic Reroute Scheduling in a Directed Acyclic Graph (DAG)
CN109947764A (zh) * 2017-09-18 2019-06-28 中国科学院声学研究所 一种基于时延构建弹性现场的查询增强系统及方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
LIAO YI , SHENG YI-QIANG , WANG JIN-LIN: "A Topology Construction Method for Incompletely Measurable Networks", COMPUTER AND MODERNIZATION, no. 1, 31 January 2020 (2020-01-31), CN , pages 41 - 48, 126, XP009542019, ISSN: 1006-2475, DOI: 10.3969/j.issn.1006-2475.2020.01.008 *
WEIZHAN ZHANG ; QINGHUA ZHENG ; YANG LI ; YI CHE: "LDCOM: a Layered degree-constrained overlay multicast for interactive media", COMPUTERS AND COMMUNICATIONS, 2008. ISCC 2008. IEEE SYMPOSIUM ON, 6 July 2008 (2008-07-06), Piscataway, NJ, USA , pages 1147 - 1152, XP031321495, ISBN: 978-1-4244-2702-4 *

Also Published As

Publication number Publication date
CN115499285B (zh) 2023-11-24
CN115499285A (zh) 2022-12-20

Similar Documents

Publication Publication Date Title
CN109150627A (zh) 基于动态资源需求及拓扑感知的虚拟网络映射的构建方法
CN101321134B (zh) 动态网络条件下的服务质量路由选择方法
CN100534059C (zh) 优化树形拓扑覆盖网络路由的方法
CN104935476B (zh) 一种基于sdn的网络流量矩阵测量方法
CN103873364A (zh) 域间多路径路由的实现方法
Houidi et al. Virtual resource description and clustering for virtual network discovery
CN111770020B (zh) 一种基于最优路径选择的网络感知服务组合算法的方法
Khodaparas et al. A software-defined caching scheme for the Internet of Things
CN101404664A (zh) 一种基于节点聚类的网络定位优化算法
WO2022262145A1 (zh) 一种分布式分级时延提供的名字解析系统构建方法
Fernández et al. Distributed slicing in dynamic systems
Lloret et al. An IoT group-based protocol for smart city interconnection
Tato et al. Designing overlay networks for decentralized clouds
Chemouil et al. Guest editorial special issue on advances in artificial intelligence and machine learning for networking
Zhang et al. An intelligent SDN‐enabled CCN routing mechanism with community division
CN112910689B (zh) 一种时钟网络拓扑构建方法及系统
Mahalakshmi et al. Prediction of Link Failure in MANET-IoT Using Fuzzy Linear Regression.
CN110213149B (zh) 一种基于节点熵的虚拟网络映射方法
Hu et al. Geotopo: A pop-level topology generator for evaluation of future internet architectures
CN105007190A (zh) 一种p2p组网质量优化方法
Wang et al. Tide: An effective and practical design for hierarchical-structured P2P model
CN115226044B (zh) 一种nfv网络中的多播路由方法及系统
KR100327110B1 (ko) 개방형 통신망에서 멀티미디어 서비스 연결 설정을 위한라우팅 방법
Waters et al. Optimising multicast structures for grid computing
CN109560944B (zh) 一种支持动态根节点双向切换的网络节点组织方法

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 21945725

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE