CN106533720B - Compiling method and device for network service request and controller - Google Patents

Compiling method and device for network service request and controller Download PDF

Info

Publication number
CN106533720B
CN106533720B CN201510577739.3A CN201510577739A CN106533720B CN 106533720 B CN106533720 B CN 106533720B CN 201510577739 A CN201510577739 A CN 201510577739A CN 106533720 B CN106533720 B CN 106533720B
Authority
CN
China
Prior art keywords
network
domain
basic
basic service
connection
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
CN201510577739.3A
Other languages
Chinese (zh)
Other versions
CN106533720A (en
Inventor
董雯霞
林程勇
崔波
李勇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tsinghua University
Huawei Technologies Co Ltd
Original Assignee
Tsinghua University
Huawei Technologies 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 Tsinghua University, Huawei Technologies Co Ltd filed Critical Tsinghua University
Priority to CN201510577739.3A priority Critical patent/CN106533720B/en
Publication of CN106533720A publication Critical patent/CN106533720A/en
Application granted granted Critical
Publication of CN106533720B publication Critical patent/CN106533720B/en
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
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • H04L41/5041Network service management, e.g. ensuring proper service fulfilment according to agreements characterised by the time relationship between creation and deployment of a service
    • H04L41/5054Automatic deployment of services triggered by the service manager, e.g. service implementation by automatic configuration of network components
    • 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/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • H04L41/5041Network service management, e.g. ensuring proper service fulfilment according to agreements characterised by the time relationship between creation and deployment of a service
    • H04L41/5051Service on demand, e.g. definition and deployment of services in real time

Landscapes

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

Abstract

The embodiment of the invention discloses a compiling method, a compiling device and a controller of a network service request, which are used for realizing the automatic compiling of a user network request in NaaS so as to provide a basis for the automatic network deployment. The method provided by the embodiment of the invention comprises the following steps: receiving a network service request submitted by a user, decomposing the network service request into a basic service tuple according to a preset decomposition rule, compiling the basic service element in the basic service tuple to obtain a basic network element, and processing a result of compiling the basic service element in the basic service tuple to obtain a basic network element.

Description

Compiling method and device for network service request and controller
Technical Field
The present invention relates to the field of communications, and in particular, to a method, an apparatus, and a controller for compiling a network service request.
Background
Cloud computing technology relying on computing resource integration and service sharing has gained a great deal of development in recent years. Cloud computing provides flexible on-demand computing resource services on an integrated pool of computing resources. The dynamically allocable cloud computing resources relieve users from high hardware cost and tedious hardware maintenance work, users can rent cheap computing resources (CPU, storage and the like) from a cloud computing service provider, and more resources are concentrated in the development of core business (rather than investment and maintenance of underlying equipment). And the cloud computing provider greatly improves the resource utilization rate through the scalable service. In recent years, with the development of technologies such as cloud computing Infrastructure as a Service (IaaS), Platform as a Service (PaaS), Software as a Service (SaaS), more and more enterprises have begun to cloud their own hardware resources. The business of many small and medium-sized internet enterprises is completely carried by the platform of a cloud computing service provider. When cloud computing integrates more and more services, interconnection (network connection) between services and logic resources (virtual machines, computing nodes and the like) in the cloud computing is inevitably more and more complex. In the current cloud computing platform, the network configuration between the computing nodes mainly depends on manual configuration of a user or a network manager. This undoubtedly increases the cost of use for the user and as the business increases exponentially (over a million computing nodes), it is almost impossible to configure complex networks by hand.
In a wide area network, an Internet Service Provider (ISP) provides network connectivity services to its subscribers. In the current service mode, when a user wishes to apply for a new network service or change an existing service, an application form needs to be filled in and submitted to the ISP in some way, and the ISP receives the request and then performs network configuration modification manually by its network manager to satisfy the user's request. The whole process usually consumes hours or even days, and meanwhile, due to the participation of personnel in multiple links, the probability of various errors is correspondingly increased. Today, the demand for users to create or modify their network connections is increasing. The operation flow of relative solidification becomes one of the bottlenecks for limiting the change, and the problems of low network utilization rate, high use cost, inflexibility and the like are caused. On the other hand, with the development of network technologies, technologies such as VPN, firewalls at various levels, traffic balancing, network address translation, network detection technology, and network disaster recovery technology, etc. are emerging to meet different requirements. The new technology provides a solution and increases the use threshold of technical users (requiring corresponding software and hardware learning, cost investment, training and the like), so that enterprises need to invest a large amount of manpower and material resources in the aspect of network configuration management, and the investment of the enterprises on the core business is limited to a certain extent.
Disclosure of Invention
The embodiment of the invention provides a compiling method, a compiling device and a controller of a Network Service request, which are used for realizing the automatic compiling of the Network Service request in a Network as a Service (NaaS) application, thereby providing a basis for the automatic Network deployment.
A first aspect of an embodiment of the present invention provides a method for compiling a network service request, which is applied in a network-as-a-service environment, and includes:
the method comprises the steps that a compiling device receives a network service request submitted by a user, wherein the network service request comprises at least one connection requirement, and the network service request is used for representing the network service requirement of the user;
the compiling device decomposes the network service request into basic service tuples according to preset decomposition rules, wherein the basic service tuples comprise at least one basic service element, and the type of the basic service element comprises point-to-point connection, shared connection or branch connection;
the compiling device compiles the basic service elements in the basic service element group to obtain basic network elements, wherein the basic network elements are a universal network element model;
and the compiling device processes the compiling result of the basic service element in the basic service element group to obtain a basic element group, wherein the basic element group comprises at least one basic element.
With reference to the first aspect of the embodiment of the present invention, in a first implementation manner of the first aspect of the embodiment of the present invention, the connection requirement includes a source list and a destination list, the connection requirement represents a requirement for establishing a communication connection from any network node in the source list to any network node in the destination list, and the source list and the destination list both include at least one network node.
With reference to the first implementation manner of the first aspect of the embodiment of the present invention, in a second implementation manner of the first aspect of the embodiment of the present invention, the connection requirement further includes a connection type, and the connection type is one of predefined network requirement types.
With reference to the first implementation manner of the first aspect of the embodiment of the present invention, in a third implementation manner of the first aspect of the embodiment of the present invention, the preset decomposition rule includes:
for each of the connection requirements:
classifying the source list and the destination list as the point-to-point connection, wherein the source list and the destination list only contain one connection of different network nodes;
classifying the connections of the same group of network nodes in the source list and the destination list into the shared connections, wherein the same group of network nodes comprises at least two network nodes;
in the source list and the destination list, one list only comprises one network node, and the other list comprises the connection of at least two network nodes and is classified into the branch connection;
for the connection that the source list and the destination list both contain at least two network nodes, the decomposition mode is as follows according to whether the network nodes in the source list and the network nodes in the destination list have the same network nodes:
if no same network node exists, introducing an internal node, and decomposing the connection into two branch connections, namely a branch connection from the network node in the source list to the internal node and a branch connection from the internal node to the network node in the destination list;
if the same network node exists, the connection is decomposed into three connections, and then the three connections are classified respectively, wherein the three connections are respectively as follows: a connection from a network node in a source list to a network node in a second network node group, a connection from a network node in the same network node group to a network node in the same network node group, and a connection from a network node in a first network node group to a network node in the same network node group, wherein the same network node group includes all the same network nodes in the source list and the destination list, the first network node group includes network nodes from which the same network node is removed in the source list, and the second network node group includes network nodes from which the same network node is removed in the destination list.
With reference to the third implementation manner of the first aspect of the present embodiment, in a fourth implementation manner of the first aspect of the present embodiment, the compiling device compiles the basic service element in the basic service element group to obtain the basic network element, and specifically includes:
when the network nodes involved in the basic service element are all distributed in a first network domain, the compiling device maps the basic service element to a basic network element in the first network domain according to a preset mapping rule, and the first network domain is a network domain.
With reference to the fourth implementation manner of the first aspect of the present embodiment, in a fifth implementation manner of the first aspect of the present embodiment, the compiling device compiles the basic service element in the basic service element group to obtain a basic network element, and further includes:
when the network nodes involved in the first basic service element are distributed in a second network domain and a third network domain, the compiling device selects at least one path for connecting the second network domain and the third network domain according to the connection condition between the second network domain and the third network domain to obtain the connection nodes of the second network domain and the third network domain, wherein the second network domain is a network domain different from the third network domain, and the different network domains represent different underlying network service providers;
the compiling device generates a second basic service element and a third basic service element by combining the connection node and the first basic service element, wherein the network nodes related to the second basic service element are all located in the second network domain, the network nodes related to the third basic service element are all located in the third network domain, the first basic service element, the second basic service element and the third basic service element are respectively one basic service element, and the sum of the services of the second basic service element and the third basic service element is equal to the service of the first basic service element;
and the compiling device maps the second basic service element to a basic network element in the second network domain and maps the third basic service element to a basic network element in the third network domain according to a preset mapping rule.
With reference to the fourth implementation manner or the fifth implementation manner of the first aspect of the embodiment of the present invention, in a sixth implementation manner of the first aspect of the embodiment of the present invention, the preset mapping rule is:
mapping the basic service element with the type of point-to-point connection into a basic link in a network domain;
mapping a basic service element with the type of shared connection into a virtual network in a network domain, wherein the virtual network is a switch or a router;
and mapping the basic service elements with the types of branch connections into distribution equipment with rule limitation in a network domain, wherein the basic link, the virtual network and the distribution equipment are basic network elements.
With reference to the sixth implementation manner of the first aspect of the present embodiment, in a seventh implementation manner of the first aspect of the present embodiment, the processing a result of compiling a basic service element in the basic service element group to obtain the basic service element group specifically includes:
combining basic service elements obtained by compiling the basic service elements of the fourth network domain to which the connected network nodes in the basic service element groups belong into a first network element set;
acquiring a corresponding pricing strategy according to the strategy and the user attribute of the domain controller in the fourth network domain;
and according to the obtained pricing strategy, performing minimum cost calculation on the first network element set, and merging or splitting the first network element set to obtain an optimized second network element set serving as a basic network element group with the fourth network domain as a target domain.
With reference to any implementation manner of the first aspect to any implementation manner of the seventh implementation manner of the first aspect of the embodiment of the present invention, in an eighth implementation manner of the first aspect of the embodiment of the present invention, the description feature of the basic network element includes an id, a port _ list, a rule _ list, and an extension _ list, where the id is a unique number of the basic network element device, the port _ list is an endpoint list owned by the basic network element device, the rule _ list is a rule list in the basic network element device, and the extension _ list represents other attributes that cannot be represented by the rule list in the network element device.
With reference to any one implementation manner of the first aspect of the embodiment of the present invention to the eighth implementation manner of the first aspect, in a ninth implementation manner of the first aspect of the embodiment of the present invention, the step of processing, by the compiling device, the compiling results of all basic service elements in the basic service element group to obtain the basic service element group further includes:
the compiling device compiles the basic network element group into a domain network element group according to a domain technology adopted by a domain controller of a target domain, wherein the domain network element group comprises at least one domain network element, and the domain network element is a network element model recognizable by the domain controller of the target domain.
With reference to the ninth implementation manner of the first aspect of the embodiment of the present invention, in a tenth implementation manner of the first aspect of the embodiment of the present invention, the method further includes:
the compiling device stores the corresponding relation between each type of basic network element and the network element model which can be identified by the domain controller in each network domain into a database;
the compiling device compiles the basic network element group into a domain network element group according to a domain technology adopted by a domain controller of a target domain, and specifically comprises the following steps:
the compiling device searches the database according to a domain technology adopted by a domain controller of a target domain to obtain a network element model which can be identified by the domain controller of the target domain and corresponds to a basic network element in the basic network element group;
and the compiling device combines the searched network element models which can be identified by the domain controller of the target domain to obtain the domain network element group.
With reference to any one implementation manner of the first aspect of the embodiment of the present invention to the eighth implementation manner of the first aspect, in an eleventh implementation manner of the first aspect of the embodiment of the present invention, the step of processing, by the compiling device, the compiling results of all basic service elements in the basic service element group to obtain the basic service element group further includes:
and the compiling device sends the basic network element group to a domain controller of a target domain, so that the domain controller of the target domain compiles the basic network element group into a network element model which can be identified by the domain controller of the target domain.
A second aspect of the embodiments of the present invention provides a method for compiling a network service request, including:
the domain controller receives a basic network element group sent by the compiling device, wherein the basic network element group comprises at least one basic network element, and the basic network element is a general network element model;
and the domain controller compiles the basic network element group into a domain network element group according to the stored corresponding relation between the basic network element and the domain network element, wherein the domain network element group comprises at least one domain network element, and the domain network element is a network element model which can be identified by the domain controller.
A third aspect of an embodiment of the present invention provides a compiling apparatus, applied in a network as a service environment, including:
the system comprises a first receiving module, a second receiving module and a first sending module, wherein the first receiving module is used for receiving a network service request submitted by a user, the network service request comprises at least one connection requirement, and the network service request is used for representing the network service requirement of the user;
the decomposition module is used for decomposing the network service request into a basic service tuple according to a preset decomposition rule, wherein the basic service tuple comprises at least one basic service element, and the type of the basic service element comprises point-to-point connection, shared connection or branch connection;
the first compiling module is used for compiling the basic service elements in the basic service element group to obtain a basic network element, and the basic network element is a general network element model;
and the processing module is used for processing the result of the basic service element compilation in the basic service element group to obtain a basic element group, wherein the basic element group comprises at least one basic element.
With reference to the third aspect of the embodiment of the present invention, in a first implementation manner of the third aspect of the embodiment of the present invention, the connection requirement includes a source list and a destination list, the connection requirement represents a requirement for establishing a communication connection from any network node in the source list to any network node in the destination list, and the source list and the destination list both include at least one network node.
With reference to the first implementation manner of the third aspect of the embodiment of the present invention, in a second implementation manner of the third aspect of the embodiment of the present invention, the connection requirement further includes a connection type, and the connection type is one of predefined network requirement types.
With reference to the first implementation manner of the third aspect of the embodiment of the present invention, in a third implementation manner of the third aspect of the embodiment of the present invention, the preset parsing rule includes:
for each of the connection requirements:
classifying the source list and the destination list as the point-to-point connection, wherein the source list and the destination list only contain one connection of different network nodes;
classifying the connections of the same group of network nodes in the source list and the destination list into the shared connections, wherein the same group of network nodes comprises at least two network nodes;
in the source list and the destination list, one list only comprises one network node, and the other list comprises the connection of at least two network nodes and is classified into the branch connection;
for the connection that the source list and the destination list both contain at least two network nodes, the decomposition mode is as follows according to whether the network nodes in the source list and the network nodes in the destination list have the same network nodes:
if no same network node exists, introducing an internal node, and decomposing the connection into two branch connections, namely a branch connection from the network node in the source list to the internal node and a branch connection from the internal node to the network node in the destination list;
if the same network node exists, the connection is decomposed into three connections, and then the three connections are classified respectively, wherein the three connections are respectively as follows: a connection from a network node in a source list to a network node in a second network node group, a connection from a network node in the same network node group to a network node in the same network node group, and a connection from a network node in a first network node group to a network node in the same network node group, wherein the same network node group includes all the same network nodes in the source list and the destination list, the first network node group includes network nodes from which the same network node is removed in the source list, and the second network node group includes network nodes from which the same network node is removed in the destination list.
With reference to the third implementation manner of the third aspect of the embodiment of the present invention, in a fourth implementation manner of the third aspect of the embodiment of the present invention, the first compiling module specifically includes:
and an intra-domain mapping unit, configured to map, according to a preset mapping rule, the basic service element to a basic network element in a first network domain when all network nodes involved in the basic service element are distributed in the first network domain, where the first network domain is a network domain.
With reference to the fourth implementation manner of the third aspect of the embodiment of the present invention, in a fifth implementation manner of the third aspect of the embodiment of the present invention, the first compiling module further includes:
a path selecting unit, configured to select at least one path connecting a second network domain and a third network domain according to a connection condition between the second network domain and the third network domain when network nodes related in a first basic service element are distributed in the second network domain and the third network domain, so as to obtain connection nodes of the second network domain and the third network domain, where the second network domain is a network domain different from the third network domain, and the different network domains represent different underlying network service providers;
a generating unit, configured to generate a second basic service element and a third basic service element in combination with the connection node and the first basic service element, where network nodes related to the second basic service element are all located in the second network domain, and network nodes related to the third basic service element are all located in the third network domain, where the first basic service element, the second basic service element, and the third basic service element are respectively one basic service element, and a sum of services of the second basic service element and the third basic service element is equal to a service of the first basic service element;
and a triggering unit, configured to trigger the intra-domain mapping unit to map the second basic service element to a basic network element in the second network domain according to a preset mapping rule, and map the third basic service element to a basic network element in the third network domain.
With reference to the fourth implementation manner or the fifth implementation manner of the third aspect of the present invention, in a sixth implementation manner of the third aspect of the present invention, the preset mapping rule is:
mapping the basic service element with the type of point-to-point connection into a basic link in a network domain;
mapping a basic service element with the type of shared connection into a virtual network in a network domain, wherein the virtual network is a switch or a router;
and mapping the basic service elements with the types of branch connections into distribution equipment with rule limitation in a network domain, wherein the basic link, the virtual network and the distribution equipment are basic network elements.
With reference to the sixth implementation manner of the third aspect of the present embodiment, in a seventh implementation manner of the third aspect of the present embodiment, the processing module specifically includes:
the combination unit is used for combining basic service elements, which are obtained by compiling the basic service elements of the fourth network domain to which the connected network nodes in the basic service elements belong, into a first network element set;
the acquiring unit is used for acquiring a corresponding pricing strategy according to the strategy and the user attribute of the domain controller in the fourth network domain;
and the optimization unit is used for performing minimum cost calculation on the first network element set according to the obtained pricing strategy, merging or splitting the first network element set to obtain an optimized second network element set which is used as a basic network element set taking the fourth network domain as a target domain.
With reference to the third aspect to the seventh implementation manner of the third aspect of the present invention, in an eighth implementation manner of the third aspect of the present invention, the description feature of the basic network element includes an id, a port _ list, a rule _ list, and an extension _ list, where the id is a unique number of the basic network element device, the port _ list is an endpoint list owned by the basic network element device, the rule _ list is a rule list in the basic network element device, and the extension _ list represents other attributes that cannot be represented by the rule list in the network element device.
With reference to the third aspect to the eighth implementation manner of the third aspect of the embodiment of the present invention, in a ninth implementation manner of the third aspect of the embodiment of the present invention, the compiling apparatus further includes:
and the second compiling module is used for compiling the basic network element group into a domain network element group according to a domain technology adopted by a domain controller of the target domain, wherein the domain network element group comprises at least one domain network element, and the domain network element is a network element model which can be identified by the domain controller of the target domain.
With reference to the ninth implementation manner of the third aspect of the embodiment of the present invention, in a tenth implementation manner of the third aspect of the embodiment of the present invention, the compiling apparatus further includes:
the storage module is used for storing the corresponding relation between each type of basic network element and the network element model which can be identified by the domain controller in each network domain into a database;
the second compiling module specifically includes:
the searching unit is used for searching the database according to a domain technology adopted by a domain controller of a target domain to obtain a network element model which can be identified by the domain controller of the target domain and corresponds to a basic network element in the basic network element group;
and the combination unit is used for combining the searched network element models which can be identified by the domain controller of the target domain to obtain the domain network element group.
With reference to the third aspect to the eighth implementation manner of the third aspect of the embodiment of the present invention, in an eleventh implementation manner of the third aspect of the embodiment of the present invention, the compiling apparatus further includes:
and the sending module is used for sending the basic network element group to a domain controller of a target domain, so that the domain controller of the target domain compiles the basic network element group into a network element model which can be identified by the domain controller of the target domain.
A fourth aspect of an embodiment of the present invention provides a controller, including:
the second receiving module is used for receiving a basic network element group sent by the compiling device, wherein the basic network element group comprises at least one basic network element, and the basic network element is a general network element model;
and the third compiling module is used for compiling the basic network element group into a domain network element group according to the stored corresponding relation between the basic network element and the domain network element, wherein the domain network element group comprises at least one domain network element, and the domain network element is a network element model which can be identified by the domain controller.
According to the technical scheme, the embodiment of the invention has the following advantages: in the embodiment of the invention, the received user service request is automatically decomposed into the basic service tuple which can be processed by the lower layer technology, and then the basic service tuple is compiled into the basic network tuple, so that the conversion from network service abstraction to network resource abstraction is realized, the automatic compilation of the network service request in NaaS application is realized, and a foundation is provided for the automatic deployment of the network.
Drawings
FIG. 1 is a schematic structural diagram of Openstack Neutron according to an embodiment of the present invention;
FIG. 2 is a flow chart illustrating automated compilation of network service requests in accordance with an embodiment of the present invention;
FIG. 3 is a flowchart illustrating a method for compiling a web service request according to an embodiment of the present invention;
FIG. 4 is a logic flow diagram illustrating a decomposition of a network service request into basic service tuples in accordance with an embodiment of the present invention;
FIG. 5 is a diagram illustrating an example of decomposition of a connection of a non-overlapping type according to an embodiment of the present invention;
FIG. 6 is a diagram illustrating an example of handling a special connection according to an embodiment of the present invention;
FIG. 7 is a diagram illustrating an example of a basic service tuple obtained for decomposition according to an embodiment of the present invention;
FIG. 8 is a diagram illustrating an example of handling special connections in a basic service tuple according to an embodiment of the present invention;
FIG. 9 is a diagram illustrating another example of handling special connections in a basic service tuple according to an embodiment of the present invention;
FIG. 10 is a diagram illustrating an example of a basic service tuple finally generated according to an embodiment of the present invention;
FIG. 11 is a flowchart illustrating the compiling of a basic service tuple into a basic tuple according to an embodiment of the invention;
FIG. 12 is a diagram illustrating an example of cross-domain service meta-decomposition according to an embodiment of the present invention;
FIG. 13 is a diagram illustrating an example of intra-domain service meta-mapping in an embodiment of the invention;
FIG. 14 is a diagram illustrating an example of a basic service element merge process according to an embodiment of the invention;
FIG. 15 is a flowchart illustrating a method for compiling a web service request according to an embodiment of the present invention;
FIG. 16 is a flowchart illustrating a method for compiling a web service request according to an embodiment of the present invention;
FIG. 17 is a flowchart illustrating a method for compiling a web service request according to an embodiment of the present invention;
FIG. 18 is a diagram illustrating an exemplary compiling apparatus according to an embodiment of the present invention;
FIG. 19 is a diagram illustrating another structure of a compiler apparatus according to an embodiment of the present invention;
FIG. 20 is a diagram illustrating another structure of a compiler apparatus according to an embodiment of the present invention;
FIG. 21 is a diagram illustrating another structure of a compiler apparatus according to an embodiment of the present invention;
FIG. 22 is a schematic diagram of a controller according to an embodiment of the present invention;
fig. 23 is a schematic structural diagram of a network device in the embodiment of the present invention.
Detailed Description
The technical solutions in the embodiments of the present invention will be clearly and completely described below with reference to the drawings in the embodiments of the present invention, and it is obvious that the described embodiments are only a part of the embodiments of the present invention, and not all of the embodiments. All other embodiments, which can be derived by a person skilled in the art from the embodiments given herein without making any creative effort, shall fall within the protection scope of the present invention.
The data center mainly based on cloud computing, the wide area network and other scenes face the problem of inflexible network configuration, and the problem is gradually becoming the main bottleneck of technical development. The concept of Network as a Service (NaaS) proposed in recent years is mainly to solve such a problem. The NaaS aims to flexibly provide network resources according to the service requirements of users and realize network automatic deployment. Users using NaaS services only need to make related network requests without concern about network configuration modes and implementation details, and therefore can be liberated from tedious network configuration and management tasks, and more of the network configuration and management tasks are put into core services of the users. From the perspective of a network service provider, NaaS will also enable an operator to have more control over a network, and also enable the operator to perform more reasonable optimization on network services. And the dynamic network resource allocation can also improve the network resource utilization rate.
Openstack Neutron is currently a relatively mature NaaS case. The network control method is originally used as a network module in an Openstack cloud platform, and provides flexible network control support for the cloud platform. Basic principle as shown in fig. 1, Neutron defines a basic "network resource abstraction" model and defines a corresponding call interface (API) to express network resources in units of network elements. A user can apply for virtual network equipment from Neutron through a corresponding interface, and then the virtual network equipment is connected and networked according to self requirements.
However, although Neutron provides abstraction at the network device level, the configuration of networking process and related network resources still needs the participation of users to complete, and thus abstraction at the network service level is not achieved. In order to meet the required network service, a user still needs to manually decompose and analyze the more complex network requirements so as to generate a series of virtual network resource requirements, and then a related interface is called according to the new requirements for configuration and connection, so that the participation of the user and network management personnel cannot be avoided in the whole process.
The embodiment of the invention provides a compiling method, a compiling device and a controller of a network service request, which are used for realizing the automatic compiling of the network service request in NaaS application, thereby providing a basis for the automatic network deployment.
It is understood that, in the embodiment of the present invention, the compiling apparatus may be a standalone coordinator, a server, or an apparatus integrally deployed on the domain controller, which is not limited herein.
Fig. 2 is a flow chart illustrating automated compiling of network service requests according to an embodiment of the present invention. The main process is as follows: the method comprises the steps of decomposing connection requirements in a network service request to obtain a basic service tuple consisting of basic service elements, compiling the basic service tuple to obtain a basic network tuple consisting of basic network elements, and compiling the basic network element group into a domain network tuple consisting of network element models which can be identified by a domain controller in a target domain requested by a specific network service according to different domain technologies adopted by the domain controller of the target domain. After the domain network element group is obtained, the compiling device or the domain controller may perform intra-domain network element deployment according to the network service request.
In the embodiment of the invention, the network requirements of the complex and changeable users which cannot be directly supported by the lower-layer NaaS technology are automatically decomposed into the combination (basic service tuple) of the basic network services which can be processed by the lower-layer technology, and then the basic network services are compiled into the virtual network resource set (basic network tuple), so that the automatic conversion from the network service abstraction to the network resource abstraction is realized, and the automatic compilation of the network requests of the users is gradually realized. The basic service tuple representing the combination of the basic network services consists of basic service elements, the basic service elements are in point-to-point connection, and are in shared connection or branch connection, and the three basic service types can be processed by lower-layer technology; the basic network element group representing the virtual network resource set consists of basic network elements, the basic network elements are general network element models, such as virtual links, virtual networks, distribution equipment with rule limitation and the like, and the method provided by the embodiment of the invention can be ensured to be suitable for different technologies.
Optionally, after obtaining the abstract network resource, the abstract network resource may be compiled into an entity resource (domain network element group) recognizable in a specific domain, and a network element model recognizable by the domain controller is included in the domain network element group representing the entity resource, so that the domain controller may deploy the actual network resource according to the domain network element group.
Referring to fig. 3, a method for compiling a network service request according to an embodiment of the present invention is described below, where an embodiment of the method for compiling a network service request according to an embodiment of the present invention includes:
301. receiving a network service request submitted by a user, wherein the network service request comprises at least one connection requirement, and the network service request is used for representing the network service requirement of the user;
the user can submit a network service request through a specific interface, the network service request is used for representing the network service requirement of the user, the network service request comprises at least one connection requirement and network connection representing the requirement of the user, and the compiling device receives the network service request submitted by the user.
It is to be understood that the compiling apparatus may directly receive the network service request submitted by the user, or may receive the network service request submitted by the user and forwarded by another device, which is not limited herein.
302. Decomposing the network service request into basic service tuples according to a preset decomposition rule;
the basic service tuple comprises at least one basic service element, and the type of the basic service element is point-to-point connection, shared connection or branched connection.
It will be appreciated that each basic service element that is resolved not only represents a connection, but also includes information about the network node to which the connection is connected as requested by the network service request.
The network service request obtained by the compiling device is the network requirement of the user, can not be directly processed by the lower layer technology, and needs to be firstly analyzed into a uniform and standard basic service element which can be processed by the lower layer technology. In this step, the compiling device decomposes the network service request into a basic service tuple according to a preset decomposition rule, where the basic service tuple includes at least one basic service element, and the type of the basic service element is point-to-point connection, shared connection or branched connection.
303. Compiling the basic service elements in the basic service element group to obtain basic network elements;
wherein, the basic network element is a general network element model;
after the network service request is decomposed into basic service element groups containing basic service elements, the compiling device respectively compiles each basic service element to obtain a basic network element, and the basic network element is a universal network element model.
It is to be understood that compiling each basic service element into a corresponding basic network element is compiled according to preset compiling rules.
304. And processing the result compiled by the basic service element in the basic service element group to obtain the basic service element group.
Wherein, the basic network element group comprises at least one basic network element;
it is to be understood that the basic network element also comprises information of the network node to which the basic network element is connected.
After all the basic service elements in the basic service element group are compiled respectively, the compiling device processes the compiling result to obtain at least one basic element group, and each basic element group comprises at least one basic element.
And the network nodes connected with the basic network elements in each basic network element group are all positioned in the same network domain. If the network node connected with the basic service element in the basic service element group relates to a plurality of network domains, a plurality of basic service element groups with each network domain as a target domain can be obtained.
It can be understood that the processing of the compiled result is mainly based on the consideration of economic efficiency, and the cost can be reduced while achieving the same effect by using equivalent fewer basic network elements to replace a plurality of basic network elements.
In the embodiment of the invention, the received user service request is automatically decomposed into the basic service tuple which can be processed by the lower layer technology, and then the basic service tuple is compiled into the basic network tuple, so that the conversion from network service abstraction to network resource abstraction is realized, the automatic compilation of the network service request in NaaS application is realized, and a foundation is provided for the automatic deployment of the network.
The following describes each step of the above embodiment:
in step 301 of the foregoing embodiment, a network service request submitted by a user is received, where the network service request includes at least one connection requirement, and in practical applications, the connection requirement may include a source list and a destination list, where the connection requirement indicates a requirement for establishing a communication connection from any network node in the source list to any network node in the destination list, and both the source list and the destination list include at least one network node.
Optionally, in practical applications, the connection requirement may further include more other attributes, such as a connection type, additional attributes, and the like, which are not limited herein. The connection type is one of predefined network demand types.
For example, the model format of a web service request may be as follows:
[ connection 1: (source list, destination list, connection type, [ additional attribute 1, additional attribute 2, … ]),
and (3) connection 2: (source list, destination list, connection type, [ additional attribute 1, additional attribute 2, … ]),
connection 3: (source list, destination list, connection type, [ additional attribute 1, additional attribute 2, … ]),
connecting n: (Source List, destination List, connection type, [ additional Attribute 1, additional Attribute 2, … ]) ]
The model is generally a list of multiple connections, and for each connection, the source/destination lists respectively include the source node and the destination node of the group of connections, and each list includes one or more network nodes. Any node in the source list can communicate with any node in the destination list, but no connection relation is defined between the nodes in each list, so that the nodes in each list cannot communicate with each other by default. The connection type is one of predefined network requirement types, such as a regular work connection, a video connection, a voice connection, a database communication connection, and the like, and is not limited herein. Different connections correspond to different network requirements (bandwidth, latency, etc.). The additional attribute list provides the user with some functionality to customize the connection characteristics.
The following describes the network service request with reference to a practical application scenario:
for example, a company includes research and development teams (research and development node 1, research and development node 2, research and development node 3), sales teams (sales node 1, sales node 2), product teams (product node 1, product node 2), database nodes, and an internet node. Conventional work connection needs to be established among the three teams, a research and development team needs to establish database connection with a database, a sales team and a product team need to be connected with the internet to work (firewall connection), and meanwhile work connection interconnection is arranged inside each team. This network connection service request may be expressed as:
[ connection 1: ([ R & D node 1, R & D node 2, sale node 1, sale node 2, product node 1, product node 2], conventional work connection, [ ]),
and (3) connection 2: ([ R & D node 1, R & D node 2, R & D node 3], [ database node ], database connection, [ Bandwidth 100M ]),
connection 3: ([ sales node 1, sales node 2, product node 1, product node 2], [ Internet node ], firewall connection, [ ]),
and connection 4: ([ development node 1, development node 2, development node 3], work connection, [ ]),
and connection 5: ([ sales node 1, sales node 2], job connection, [ ]),
and (6) connection: ([ product node 1, product node 2], work connection, [ ]) ].
It is understood that, in addition to the model format of the network service request, other model formats of the network service request may be adopted as long as the model format can represent the connection requirement from the network node in the source list to the network node in the destination list, and the present invention is not limited thereto.
In step 302, the network service request is decomposed into basic service tuples according to a preset decomposition rule. The following first describes the basic service element in the embodiment of the present invention:
in the embodiment of the invention, a basic service meta-model is used for describing basic units of the network service. All complex web services can be expressed as a combination of basic service elements. The basic service element is also the basic unit of the network service compilation. The advantage of introducing service elements is that the compilation does not require consideration of overly complex network requirements, nor does the user need to consider the details of the underlying network implementation when addressing network requirements. Specifically, three types of basic service elements are cited in the present invention:
Point-to-Point Connection (PC): the method comprises the steps that a source list and a target list are expressed, wherein the source list and the target list only comprise a connection scheme of one node and can be expressed as a PC service element;
shared Connection (SC): the method comprises the following steps of (1) expressing a connection scheme that a source list and a destination list contain the same group of nodes (namely, the nodes can be interconnected and intercommunicated), and expressing as an SC service element;
branch Connection (BC): the source list may contain only one node and the destination list may contain a plurality of nodes, or the source list may contain a plurality of nodes and the destination list may contain a connection scheme of one node (i.e., a scheme in which a plurality of nodes communicate with a single node), which may be represented as a BC service element.
The preset decomposition rule in step 302 is described in detail below:
the preset decomposition rule may be:
for each of the connection requirements:
classifying the source list and the destination list as the point-to-point connection, wherein the source list and the destination list only contain one connection of different network nodes;
classifying the connections of the same group of network nodes in the source list and the destination list into the shared connections, wherein the same group of network nodes comprises at least two network nodes;
in the source list and the destination list, one list only comprises one network node, and the other list comprises the connection of at least two network nodes and is classified into the branch connection;
for the connection that the source list and the destination list both contain at least two network nodes, the decomposition mode is as follows according to whether the network nodes in the source list and the network nodes in the destination list have the same network nodes:
if no same network node exists, introducing an internal node, and decomposing the connection into two branch connections, namely a branch connection from the network node in the source list to the internal node and a branch connection from the internal node to the network node in the destination list;
if the same network node exists, the connection is decomposed into three connections, and then the three connections are classified respectively, wherein the three connections are respectively as follows: a connection from a network node in a source list to a network node in a second network node group, a connection from a network node in the same network node group to a network node in the same network node group, and a connection from a network node in a first network node group to a network node in the same network node group, wherein the same network node group includes all the same network nodes in the source list and the destination list, the first network node group includes network nodes from which the same network node is removed in the source list, and the second network node group includes network nodes from which the same network node is removed in the destination list.
The following describes the process of decomposing the network service request into basic service tuples according to the preset decomposition rule:
each connection in the network service request model is classified according to different characteristics of the source list and the destination list. And representing the service request of the user in an S → D form, wherein S represents a source node set, and D represents a destination node set. According to the difference of nodes contained in S and D, the connection can be decomposed into the following classes:
empty type: one of S or D is empty, and the connection is equivalent to no connection, so that the processing is not continued;
type 1 → 1: both S and D only contain one node, (S ═ D indicates that the node itself is communicating, and no processing is done);
1 → N type: s only comprises one node;
type N → 1: d only comprises one node;
m → N type: s and D both contain more than one node, and at the moment, the method can be divided into the following steps:
n → N type, i.e., S ═ N, indicates that all nodes can communicate with each other;
there is no identical network node, i.e., S ∩ D is an empty set;
there are the same network nodes, i.e., S ∩ D ≠ empty set.
In which type 1 → 1 is the PC service element described above, types 1 → N and N → 1 are the BC service element described above, and type N → N is the SC service element described above.
Other types of links may be decomposed according to the logical block diagram of fig. 4, where for an M → N non-overlapping type (indicating a type without the same network node), the input and output are processed separately, with the input decomposed into M → I sub-links and the output decomposed into I → N sub-links, where I is a list of nodes that contain an internal node, and the decomposition process is shown in fig. 5.
For M → N with overlapping type (type indicating the same network node), let:
the network node group comprises a source list, a destination list, a first network node group and a second network node group, wherein the source list and the destination list are all identical, B is S ∩ D, A is S-B, C is D-B, B is the same network node group and comprises all identical network nodes in the source list and the destination list, A is the first network node group and comprises network nodes which are obtained by removing the network nodes in the same network node group from the source list, and C is the second network node group and comprises network nodes which are obtained by removing the network nodes in the same network node group from the destination list.
The M → N overlapping type junction can be decomposed into three sub-junctions by:
S→D=(A+B)→(B+C)
=(A+B)→C+B→B+A→B
=(S→C)+(B→B)+(A→B)
the three new connections obtained after the decomposition are processed according to the decomposition logic diagram shown in fig. 4.
Applying the above decomposition to all connections in the network service request input by the user, a series of combinations of basic service elements can be obtained. Then two special cases need to be handled: as shown in fig. 6, for nodes with single node and multiple connections, considering that only one connection can be available for one node in the actual physical connection, a new BC-type service element needs to be added at the node, and BC-type service elements cascaded through internal nodes can be merged.
The following describes a decomposition process of a web service request with reference to a specific application scenario:
scene: when a company starts a video conference, a manager A and a supervisor B participate in the conference and need to make remote reports, employees C, D and E participate in the conference but do not need to make reports, meanwhile, a guest F reports the conference, but F does not need to participate in the conference. Each person is required to go down by 100M and go up by 10M in bandwidth, and the required bandwidth is reported to go up by 50M and go down by 10M.
Based on the business requirements of this scenario, a network service request may be generated:
[ connection 1: ((A, B, F), (A, B, C, D, E), video conference) ]
Video conference connection characterization: (source: upstream 50M, downstream 10M; destination: upstream 10M, downstream 100M);
firstly, according to a preset decomposition rule, the decomposition logic shown in fig. 4 decomposes the network server:
1. the request type (A, B, F) → (A, B, C, D, E) have the same network node, broken down into
(A,B)→(A,B);(A,B,F)→(C,D,E);(F)→(A,B)。
2. (A, B) → (A, B) mapping to SC _ 1;
3. (a, B, F) → (C, D, E) are decomposed into (a, B, F) → (H) and (H) → (C, D, E), wherein H is an internal node;
4. (F) → (A, B) are mapped to BC _ 2;
5. (A, B, F) → (H) is mapped to BC _ 3;
6. (H) → (C, D, E) is mapped to BC _ 4.
Namely, the network service request is decomposed into a basic service tuple consisting of four basic service elements, namely, SC _1, BC _2, BC _3 and BC _ 4.
As shown in fig. 7, the basic service element in the basic service tuple and the connection relationship of each basic service element are shown.
Secondly, processing the special nodes:
as is clear from fig. 7, A, B, F is in the single-point multi-connection state in the obtained basic service tuple, so BC type service elements BC _5, BC _6, and BC _7 are generated, respectively, and the result is shown in fig. 8. And BC _2 and BC _7 form a BC-type cascade relationship, and therefore can be combined, so that the result shown in fig. 9 is obtained by combination.
Finally, adding bandwidth constraints to all nodes' access egress generates the final basic service tuple (including basic service elements and their interconnections) as shown in FIG. 10 below.
In step 303 of the above embodiment, the basic service elements in the basic service element group are compiled to obtain the basic network element, and in practical application, according to different network domains distributed by network nodes related to the basic service elements, specific compiling manners are also different:
optionally, when all the network nodes involved in the basic service element are distributed in a first network domain, the basic service element is mapped to a basic network element in the first network domain, and the first network domain is a network domain.
Optionally, when the network nodes involved in the first basic service element are distributed in a second network domain and a third network domain, according to a connection condition between the second network domain and the third network domain, selecting at least one path connecting the second network domain and the third network domain to obtain connection nodes of the second network domain and the third network domain, where the second network domain is a network domain different from the third network domain, and the different network domains represent different underlying network service providers;
generating a second basic service element and a third basic service element by combining the connection node and the first basic service element, wherein the network nodes related to the second basic service element are all located in the second network domain, the network nodes related to the third basic service element are all located in the third network domain, the first basic service element, the second basic service element and the third basic service element are respectively one basic service element, and the sum of the services of the second basic service element and the third basic service element is equal to the service of the first basic service element;
and mapping the second basic service element to a basic network element in the second network domain and mapping the third basic service element to a basic network element in the third network domain according to a preset mapping rule.
The preset mapping rule may be:
mapping the basic service element with the type of point-to-point connection into a basic link in a network domain;
mapping a basic service element with the type of shared connection into a virtual network in a network domain, wherein the virtual network is a switch or a router;
and mapping the basic service elements with the types of branch connections into distribution equipment with rule limitation in a network domain, wherein the basic link, the virtual network and the distribution equipment are basic network elements.
After the step 303 converts the basic service element into the basic network element, the step 304 processes all the obtained basic network elements to obtain a basic network element group, and in practical application, in order to reduce the cost, the following method may be adopted:
combining basic service elements obtained by compiling the basic service elements of the fourth network domain to which the connected network nodes in the basic service element groups belong into a first network element set; the fourth network domain may be the same network domain as any one of the first network domain, the second network domain, or the third network domain, or may be a network domain different from the first network domain, the second network domain, and the third network domain, which is not limited herein.
It can be understood that, according to the difference of the network domains where the network nodes connected by the basic service elements are located, that is, the difference of the network domains where the network nodes connected by the compiled basic network elements are located, the basic network elements can be combined into different network element sets, and finally, the basic network elements corresponding to different target domains are generated.
Acquiring a corresponding pricing strategy according to the strategy and the user attribute of the domain controller in the fourth network domain;
and according to the obtained pricing strategy, performing minimum cost calculation on the first network element set, and merging or splitting the first network element set to obtain an optimized second network element set serving as a basic network element group with the fourth network domain as a target domain.
The compiling process is described in detail below:
first, a basic network element in an embodiment of the present invention is described:
in the embodiment of the invention, the virtual network equipment is uniformly described by adopting the basic network element, and the basic network element is a uniform network element model. Because the method of the present invention may be applied to different lower-layer NaaS technologies (different network virtualization or network control technologies), and the abstraction ways of control/configuration interfaces of different technologies to virtualization devices are different, in order to ensure that the method of the present invention is suitable for different technologies, the basic service elements are compiled into a uniform network element model (i.e., a basic network element), which facilitates mapping the basic network element into configuration information corresponding to the lower-layer technology.
A model of a basic network element can be described as follows:
{id,port_list,type,rule_list,extention_list};
wherein id is the unique number of the basic network element device, the port _ list is an endpoint list owned by the basic network element device, the rule _ list is a rule list in the basic network element device, and the extension _ list represents other attributes which cannot be represented by the rule list in the network element device.
It can be understood that steps 303 and 304 mainly convert the basic service elements into basic network elements, decompose the cross-domain network elements, map the intra-domain network elements, and finally process the result of compiling the basic service elements to obtain basic network elements.
A domain is herein a network domain and refers to different underlying network service providers. In the NaaS application scenario, nodes of a user may be distributed in networks of different network service providers. And the networks of different service providers are interconnected in a certain way to form a multi-domain network environment (which can be similar to the interconnection between traditional network operators to form the whole internet).
As shown in fig. 11, a schematic flow chart of compiling a basic service tuple into a basic network tuple is shown:
1101. inter-domain routing:
if the nodes involved in the basic service element are distributed in different network domains, routing is firstly carried out according to the connection condition between the domains, and a path which can be communicated with each node is selected (or a plurality of paths are selected according to the requirement for redundancy). And the original node combines the connecting nodes between the domains obtained by the route selection to generate a new basic service element in each domain.
FIG. 12 is a diagram illustrating an example of cross-domain service element decomposition. The first domain is connected with the second domain through nodes C and D. If the request is a point-to-point connection (PC service element) between user node A and user node B, the C → D connection is selected by the routing link. A new service element PC _1 is then generated in domain one for connection A, C and a new service element PC _2 is generated in domain two for connection D, B. The basic service element PC _3 is generated directly without routing between the point-to-point connections E, F in domain one.
1102. Mapping in a domain;
and mapping the network service element into the network resource in the domain. According to the difference of the basic service elements, mapping into different basic network elements:
mapping the basic service element with the type of point-to-point connection into a basic link in a network domain;
mapping a basic service element with the type of shared connection into a virtual network (such as a Router) in a network domain, wherein the virtual network is a switch or a Router;
mapping the basic service element with the type of branch connection to a distribution device (such as a HUB) with rule limitation in a network domain, wherein the basic link, the virtual network and the distribution device are both basic network elements.
For example, as shown in fig. 13, an example diagram of the intra-domain service element mapping is shown, that is, the result obtained after mapping the basic service element shown in fig. 12.
1103. Optimizing results based on cost control;
after mapping all the basic service elements to the basic network elements in step 1102, in this step, the obtained basic network elements may be processed.
Since the network devices are all virtual, different network devices can be combined into one network device to achieve the same service. The new set of virtual network devices generated by the network request can be selected to be combined with the existing devices for use, or new devices can be used, and different schemes can generate different costs. This step is optimized for this problem. The method comprises the following specific steps:
1. synthesizing the basic network elements generated in the compiling process into an initial basic network element set (a first network element set);
2. acquiring a corresponding pricing strategy according to the strategy and the user attribute of the domain controller of the target domain (different pricing strategies can be realized for different domains);
3. and performing minimum cost calculation according to the obtained pricing strategy, and merging or splitting the initial basic network element set (the first network element set) to obtain an optimized basic network element set (the second network element set).
In connection with the mapped basic set of network elements shown in fig. 13, assume that the domain one pricing policy charges X elements/day for each Router (Router), regardless of the function implemented by the Router. It can be known from this policy that virtual network devices should be merged as much as possible. In the above example, Router _1 and Router _3 can be combined into one Router to reduce the cost, and the combined result is shown in fig. 14.
It can be understood that the network nodes connected to the basic network elements included in each basic network element group are all located in the same network domain, and after processing the result compiled from one basic service element group, at least one basic network element group can be obtained according to the difference of the obtained domains where the network nodes connected to the basic network elements are located, and the target domain of the basic network element group is the network domain where the network nodes connected to the basic network elements in the basic network element group are located.
In the above embodiment, the compiling device automatically compiles the network service request into a basic network element group, where the basic network element group includes at least one basic network element representing a general network element model, and in practical application, the basic network element may be further mapped to a domain network element that can be identified by the domain controller, and the specific processing manners include a plurality of types:
optionally, referring to fig. 15, as another embodiment of the compiling method of the network service request in the embodiment of the present invention, after the step 304, the compiling method of the network service request may further include the following steps:
1505. and compiling the basic network element group into a domain network element group according to a domain technology adopted by a domain controller of the target domain.
The domain network element group is used for network deployment of the domain controller, and includes at least one domain network element, and the domain network element is a network element model recognizable by the domain controller of the target domain.
Since the domain technologies adopted by the domain controllers of different network domains are different, the network element models that can be recognized by each domain controller are also different. The domain technology adopted by the domain controller may be an Openflow protocol and a related virtualization technology adopted by a Software Defined Network (SDN) Network controller, may also be a Network virtualization and Network control technology provided by a Neutron controller in an Openstack cluster, may also be a Network management and control technology in a virtual machine Software VMWare cluster, and the like, and may also be other domain technologies, which is not limited herein. In this step, the translation apparatus converts the general network element model in the basic network element group into a network element model that can be recognized by the domain controller of the target domain according to the domain technology adopted by the domain controller of the target domain. It can be understood that the target domain is a domain where a network node connected to the basic network element in the basic network element group is located, that is, a domain to which the basic network element needs to be mapped.
In the embodiment of the invention, the received user service request is automatically decomposed into the basic service tuple which can be processed by the lower layer technology, then the basic service tuple is compiled into the basic network tuple, the conversion from network service abstraction to network resource abstraction is realized, then the basic network tuple is translated into the domain network element group which can be identified in the specific domain, the automatic compilation of the user network request in NaaS application is gradually realized, and a foundation is provided for the automatic deployment of the network.
In step 1505, the basic network element group is compiled into a domain network element group according to the domain technology adopted by the domain controller of the target domain, and in practical application, before the compiling step is performed, a corresponding relationship can be stored in a database, wherein the corresponding relationship is the corresponding relationship between each type of basic network element and the network element model recognizable by the domain controller in each network domain.
Specifically, the compiling step may be:
searching the database according to a domain technology adopted by a domain controller of a target domain to obtain a network element model which can be identified by the domain controller of the target domain and corresponds to a basic network element in the basic network element group;
and combining the network element models which can be identified by the domain controller of the target domain to obtain the domain network element group.
It can be understood that the basic network element is compiled into a network element model which can be identified by the domain controller of the target domain, so that the purpose of converting virtual network resources into entity resources in the domain is achieved, and the obtained domain network element group is deployed, so that the network service request provided by the user can be met.
In practical applications, one compiling apparatus may correspond to all network domains, or each compiling apparatus may correspond to one network domain, which is not limited herein.
Optionally, the basic network element group may be translated into a domain network element group, and then network deployment may be performed by a specific device, or a domain controller, or a compiling device according to the domain network element group;
optionally, corresponding triggers (such as time trigger, and the like) may be set according to the network service request, and when a trigger condition is reached, the domain network element and the corresponding configuration file corresponding to the basic network element group are read from the database, the basic network element group is compiled, and a corresponding interface on the bottom layer is called to perform actual deployment.
Other compiling and deploying modes can be provided, and the compiling and deploying modes can be selected according to actual situations, and are not limited herein.
Optionally, referring to fig. 16, as another embodiment of the compiling method of the network service request in the embodiment of the present invention, after the step 304, the compiling method of the network service request may further include the following steps:
1605. and sending the basic network element group to a domain controller of a target domain, so that the domain controller of the target domain compiles the basic network element group into a network element model which can be identified by the domain controller of the target domain.
In this step, the compiling device sends the obtained basic network element group to the domain controller of the target domain, and the domain controller completes the compiling work from the basic network element group to the domain network element group.
In the embodiment of the invention, the domain controller completes the compiling work from the basic network element group to the domain network element group, so that the workload of the compiling device is reduced, and the domain controller completes the compiling work, so that the compiling result is more accurate.
Referring to fig. 17, another embodiment of the compiling method of the web service request according to the embodiment of the present invention includes:
1701. the domain controller receives a basic network element group sent by the compiling device, wherein the basic network element group comprises at least one basic network element, and the basic network element is a general network element model;
1702. and the domain controller compiles the basic network element group into a domain network element group according to the stored corresponding relation between the basic network element and the domain network element, wherein the domain network element group comprises at least one domain network element, and the domain network element is a network element model which can be identified by the domain controller.
In the embodiment of the invention, the domain controller completes the compiling work from the basic network element group to the domain network element group, so that the workload of the compiling device is reduced, and the domain controller completes the compiling work, so that the compiling result is more accurate.
The following describes a compiling apparatus in an embodiment of the present invention:
referring to fig. 18, an embodiment of a compiling apparatus according to an embodiment of the present invention includes:
a first receiving module 1801, configured to receive a network service request submitted by a user, where the network service request includes at least one connection requirement, and the network service request is used to indicate a network service requirement of the user;
a decomposition module 1802, configured to decompose the network service request into a basic service tuple according to a preset decomposition rule, where the basic service tuple includes at least one basic service element, and the type of the basic service element includes a point-to-point connection, a shared connection, or a branch connection;
a first compiling module 1803, configured to compile a basic service element in the basic service element group to obtain a basic network element, where the basic network element is a general network element model;
a processing module 1804, configured to process a result of compiling the basic service element in the basic service element group to obtain a basic element group, where the basic element group includes at least one basic element.
In the embodiment of the present invention, the decomposition module 1802 automatically decomposes a received user service request into a basic service tuple that can be processed by a lower layer technology, and the first compiling module 1803 compiles the basic service tuple into a basic network tuple, thereby implementing the conversion from network service abstraction to network resource abstraction, implementing the automated compiling of a network service request in NaaS application, and providing a basis for network automated deployment.
Optionally, as another embodiment of the compiling apparatus in the embodiment of the present invention, in the foregoing embodiment, the connection requirement includes a source list and a destination list, where the connection requirement indicates a requirement for establishing a communication connection from any network node in the source list to any network node in the destination list, and both the source list and the destination list include at least one network node.
Optionally, as another embodiment of the compiling apparatus in the embodiment of the present invention, the connection requirement further includes a connection type, where the connection type is one of predefined network requirement types.
Optionally, as another embodiment of the compiling apparatus in the embodiment of the present invention, the preset decomposition rule includes:
for each of the connection requirements:
classifying the source list and the destination list as the point-to-point connection, wherein the source list and the destination list only contain one connection of different network nodes;
classifying the connections of the same group of network nodes in the source list and the destination list into the shared connections, wherein the same group of network nodes comprises at least two network nodes;
in the source list and the destination list, one list only comprises one network node, and the other list comprises the connection of at least two network nodes and is classified into the branch connection;
for the connection that the source list and the destination list both contain at least two network nodes, the decomposition mode is as follows according to whether the network nodes in the source list and the network nodes in the destination list have the same network nodes:
if no same network node exists, introducing an internal node, and decomposing the connection into two branch connections, namely a branch connection from the network node in the source list to the internal node and a branch connection from the internal node to the network node in the destination list;
if the same network node exists, the connection is decomposed into three connections, and then the three connections are classified respectively, wherein the three connections are respectively as follows: a connection from a network node in a source list to a network node in a second network node group, a connection from a network node in the same network node group to a network node in the same network node group, and a connection from a network node in a first network node group to a network node in the same network node group, wherein the same network node group includes all the same network nodes in the source list and the destination list, the first network node group includes network nodes from which the same network node is removed in the source list, and the second network node group includes network nodes from which the same network node is removed in the destination list.
Optionally, referring to fig. 19, as another embodiment of the compiling apparatus in the embodiment of the present invention, a first compiling module 1803 in the compiling apparatus specifically includes:
an intra-domain mapping unit 1901, configured to map, according to a preset mapping rule, the basic service element as a basic network element in a first network domain when all network nodes involved in the basic service element are distributed in the first network domain, where the first network domain is a network domain;
optionally, the first compiling module 1803 may further include:
a path selecting unit 1902, configured to select, when network nodes involved in a first basic service element are distributed in a second network domain and a third network domain, at least one path connecting the second network domain and the third network domain according to a connection condition between the second network domain and the third network domain, so as to obtain connection nodes of the second network domain and the third network domain, where the second network domain is a network domain different from the third network domain, and the different network domains represent different underlying network service providers;
a generating unit 1903, configured to generate, in combination with the connection node and the first basic service element, a second basic service element and a third basic service element, where network nodes related to the second basic service element are all located in the second network domain, and network nodes related to the third basic service element are all located in the third network domain, where the first basic service element, the second basic service element, and the third basic service element are respectively one basic service element, and a sum of services of the second basic service element and the third basic service element is equal to a service of the first basic service element;
a triggering unit 1904, configured to trigger the intra-domain mapping unit to map the second basic service element to a basic network element in the second network domain according to a preset mapping rule, and map the third basic service element to a basic network element in the third network domain.
Optionally, the preset mapping rule may be:
mapping the basic service element with the type of point-to-point connection into a basic link in a network domain;
mapping a basic service element with the type of shared connection into a virtual network in a network domain, wherein the virtual network is a switch or a router;
mapping a basic service element with the type of branch connection into distribution equipment with rule limitation in a network domain, wherein the basic link, the virtual network and the distribution equipment are basic network elements;
optionally, the processing module 1804 specifically may include:
a combining unit 1905, configured to combine basic service elements obtained by encoding basic service elements, of which the network nodes connected in the basic service element group belong to a fourth network domain, into a first network element set; wherein the fourth network domain may represent any one of the network domains.
An obtaining unit 1906, configured to obtain a corresponding pricing policy according to the policy and the user attribute of the domain controller in the fourth network domain;
an optimizing unit 1907, configured to perform minimum cost calculation on the first network element set according to the obtained pricing policy, merge or split the first network element set, so as to obtain an optimized second network element set, where the optimized second network element set is used as a basic network element set with the fourth network domain as a target domain;
optionally, the description feature of the basic network element may include an id, a port _ list, a rule _ list, and an extension _ list, where the id is a unique number of the basic network element device, the port _ list is an endpoint list owned by the basic network element device, the rule _ list is a rule list in the basic network element device, and the extension _ list represents other attributes that cannot be represented by the rule list in the network element device;
in the embodiment of the present invention, the decomposition module 1802 automatically decomposes a received user service request into a basic service tuple that can be processed by a lower layer technology, and the first compiling module 1803 and the processing module 1804 compile the basic service tuple into a basic tuple, thereby implementing conversion from network service abstraction to network resource abstraction, implementing automatic compiling of a network service request in NaaS application, and providing a basis for network automatic deployment. The processing module 1804 performs equivalent superposition and merging processing on the basic network elements, so that the network deployment cost is saved.
In practical applications, after the processing module 1804 obtains the basic network element group, the compiling device may further continue to map the basic network element to the domain network element that can be identified by the domain controller, and the specific processing modes include a plurality of:
optionally, referring to fig. 20, as another embodiment of the compiling apparatus according to the embodiment of the present invention, the compiling apparatus further includes:
a second compiling module 2001, configured to compile the basic network element group into a domain network element group according to a domain technology adopted by a domain controller of a target domain, where the domain network element group includes at least one domain network element, and the domain network element is a network element model recognizable by the domain controller of the target domain;
optionally, the compiling apparatus may further include:
a storage module 2002, configured to store, in a database, correspondence between each type of basic network element and a network element model that can be recognized by a domain controller in each network domain;
the second compiling module 2001 may specifically include:
the searching unit is used for searching the database according to a domain technology adopted by a domain controller of a target domain to obtain a network element model which can be identified by the domain controller of the target domain and corresponds to a basic network element in the basic network element group;
and the combination unit is used for combining the searched network element models which can be identified by the domain controller of the target domain to obtain the domain network element group.
In the embodiment of the present invention, the decomposition module 1802 automatically decomposes a received user service request into a basic service tuple that can be processed by a lower layer technology, the first compiling module 1803 and the processing module 1804 compile the basic service tuple into a basic network tuple to realize conversion from network service abstraction to network resource abstraction, and the second compiling module 2001 translates the basic network tuple into a domain network element group that can be recognized in a specific domain, thereby gradually realizing automatic compiling of the user network request in NaaS application and providing a basis for network automatic deployment.
Optionally, referring to fig. 21, as another embodiment of the compiling apparatus in the embodiment of the present invention, the compiling apparatus corresponding to fig. 18 or fig. 19 further includes:
a sending module 2101, configured to send the basic network element group to a domain controller of a target domain, so that the domain controller of the target domain compiles the basic network element group into a network element model that can be identified by the domain controller of the target domain.
In this step, the sending module 2101 sends the obtained basic tuple to the domain controller of the target domain, and the domain controller completes the compiling work from the basic tuple to the domain tuple.
Referring to fig. 22, a controller in an embodiment of the present invention is described below, where the controller may be used as a domain controller in an embodiment of the present invention, and an embodiment of the controller in an embodiment of the present invention includes:
a second receiving module 2201, configured to receive a basic network element group sent by the compiling apparatus, where the basic network element group includes at least one basic network element, and the basic network element is a general network element model;
a third compiling module 2202, configured to compile the basic network element group into a domain network element group according to a stored corresponding relationship between a basic network element and a domain network element, where the domain network element group includes at least one domain network element, and the domain network element is a network element model that can be recognized by the domain controller.
In the embodiment of the present invention, the second receiving module 2201 receives the basic network element group sent by the compiling apparatus, the third compiling module 2202 in the domain controller completes the compiling operation from the basic network element group to the domain network element group, so that the workload of the compiling apparatus is reduced, and the third compiling module 2202 in the domain controller completes the compiling operation, so that the compiling result is more accurate.
Referring to fig. 23, a schematic structural diagram of a network device 2300 in the embodiment of the present invention is shown, where the network device may represent a compiling apparatus in the embodiment of the present invention, and may also represent a domain controller in the embodiment of the present invention, and the network device 2300 includes:
an input device 2301, an output device 2302, a processor 2303 and a memory 2304 (wherein the number of processors 2303 in the first switch 2300 may be one or more, one processor 2303 is taken as an example in fig. 23). In some embodiments of the invention, the input device 2301, the output device 2302, the processor 2303 and the memory 2304 may be connected by a bus or other means, wherein the connection by the bus is exemplified in fig. 23.
Wherein, when the network device represents a compiling apparatus in the embodiment of the invention, the processor 2303 is configured to execute the following steps by calling the operation instructions stored in the memory 2304:
instructing the input device 2301 to receive a network service request submitted by a user, wherein the network service request includes at least one connection requirement, and the network service request is used for representing the network service requirement of the user;
decomposing the network service request into a basic service tuple according to a preset decomposition rule, wherein the basic service tuple comprises at least one basic service element, and the type of the basic service element comprises point-to-point connection, shared connection or branch connection;
compiling basic service elements in the basic service element groups to obtain basic network elements, wherein the basic network elements are a universal network element model;
and processing the result of compiling the basic service elements in the basic service element group to obtain a basic element group, wherein the basic element group comprises at least one basic element.
In some embodiments of the present invention, the connection requirement includes a source list and a destination list, the connection requirement indicates a requirement for establishing a communication connection from any network node in the source list to any network node in the destination list, and the source list and the destination list both include at least one network node.
In some embodiments of the present invention, the connection requirement further includes a connection type, and the connection type is one of predefined network requirement types.
In some embodiments of the present invention, the preset decomposition rule includes:
for each of the connection requirements:
classifying the source list and the destination list as the point-to-point connection, wherein the source list and the destination list only contain one connection of different network nodes;
classifying the connections of the same group of network nodes in the source list and the destination list into the shared connections, wherein the same group of network nodes comprises at least two network nodes;
in the source list and the destination list, one list only comprises one network node, and the other list comprises the connection of at least two network nodes and is classified into the branch connection;
for the connection that the source list and the destination list both contain at least two network nodes, the decomposition mode is as follows according to whether the network nodes in the source list and the network nodes in the destination list have the same network nodes:
if no same network node exists, introducing an internal node, and decomposing the connection into two branch connections, namely a branch connection from the network node in the source list to the internal node and a branch connection from the internal node to the network node in the destination list;
if the same network node exists, the connection is decomposed into three connections, and then the three connections are classified respectively, wherein the three connections are respectively as follows: a connection from a network node in a source list to a network node in a second network node group, a connection from a network node in the same network node group to a network node in the same network node group, and a connection from a network node in a first network node group to a network node in the same network node group, wherein the same network node group includes all the same network nodes in the source list and the destination list, the first network node group includes network nodes from which the same network node is removed in the source list, and the second network node group includes network nodes from which the same network node is removed in the destination list.
In some embodiments of the present invention, when the processor 2303 executes the step of compiling the basic service element in the basic service tuple to obtain the basic network element, the following steps are specifically executed:
when the network nodes involved in the basic service element are all distributed in a first network domain, mapping the basic service element to a basic network element in the first network domain according to a preset mapping rule, wherein the first network domain is a network domain.
In some embodiments of the present invention, when the processor 2303 performs the step of compiling the basic service element in the basic service tuple to obtain the basic network element, the following steps are further performed:
when the network nodes involved in the first basic service element are distributed in a second network domain and a third network domain, selecting at least one path for connecting the second network domain and the third network domain according to the connection condition between the second network domain and the third network domain to obtain the connection nodes of the second network domain and the third network domain, wherein the second network domain is a network domain different from the third network domain, and the different network domains represent different underlying network service providers;
generating a second basic service element and a third basic service element by combining the connection node and the first basic service element, wherein the network nodes related to the second basic service element are all located in the second network domain, the network nodes related to the third basic service element are all located in the third network domain, the first basic service element, the second basic service element and the third basic service element are respectively one basic service element, and the sum of the services of the second basic service element and the third basic service element is equal to the service of the first basic service element;
and mapping the second basic service element to a basic network element in the second network domain and mapping the third basic service element to a basic network element in the third network domain according to a preset mapping rule.
In some embodiments of the present invention, the preset mapping rule is:
mapping the basic service element with the type of point-to-point connection into a basic link in a network domain;
mapping a basic service element with the type of shared connection into a virtual network in a network domain, wherein the virtual network is a switch or a router;
and mapping the basic service elements with the types of branch connections into distribution equipment with rule limitation in a network domain, wherein the basic link, the virtual network and the distribution equipment are basic network elements.
In some embodiments of the present invention, when the processor 2303 executes the step of processing the result of compiling the basic service element in the basic service element group to obtain the basic service element group, the following steps are specifically executed:
combining basic service elements obtained by compiling the basic service elements of the fourth network domain to which the connected network nodes in the basic service element groups belong into a first network element set;
acquiring a corresponding pricing strategy according to the strategy and the user attribute of the domain controller in the fourth network domain;
and according to the obtained pricing strategy, performing minimum cost calculation on the first network element set, and merging or splitting the first network element set to obtain an optimized second network element set serving as a basic network element group with the fourth network domain as a target domain.
In some embodiments of the present invention, the description feature of the basic network element includes id, port _ list, rule _ list, and extension _ list, where the id is a unique number of the basic network element device, the port _ list is an endpoint list owned by the basic network element device, the rule _ list is a rule list in the basic network element device, and the extension _ list represents other attributes that cannot be represented by the rule list in the network element device.
In some embodiments of the invention, the processor 2303 is further configured to perform the following steps:
and compiling the basic network element group into a domain network element group according to a domain technology adopted by a domain controller of a target domain, wherein the domain network element group comprises at least one domain network element, and the domain network element is a network element model which can be identified by the domain controller of the target domain.
In some embodiments of the invention, the processor 2303 is further configured to perform the following steps:
instructing the memory 2304 to store the correspondence between the basic network elements of each type and the network element model recognizable by the domain controller in each network domain in a database;
when the step of compiling the basic network element group into the domain network element group according to the domain technology adopted by the domain controller of the target domain is executed, the processor 2303 is specifically configured to execute the following steps:
searching the database according to a domain technology adopted by a domain controller of a target domain to obtain a network element model which can be identified by the domain controller of the target domain and corresponds to a basic network element in the basic network element group;
and combining the network element models which can be identified by the domain controller of the target domain to obtain the domain network element group.
In some embodiments of the invention, the processor 2303 is further configured to perform the following steps:
and instructing the output device 2302 to send the basic network element group to a domain controller of a target domain, so that the domain controller of the target domain compiles the basic network element group into a network element model which can be identified by the domain controller of the target domain.
When the network device 2300 represents a controller in an embodiment of the invention, the processor 2303, by invoking the operating instructions stored in the memory 2304, is configured to perform the steps of:
instructing the input device 2301 to receive a basic network element group sent by a compiling device, where the basic network element group includes at least one basic network element, and the basic network element is a general network element model;
and compiling the basic network element group into a domain network element group according to the corresponding relationship between the basic network element and the domain network element stored in the memory 2304, wherein the domain network element group comprises at least one domain network element, and the domain network element is a network element model recognizable by the domain controller.
It is clear to those skilled in the art that, for convenience and brevity of description, the specific working processes of the above-described systems, apparatuses and units may refer to the corresponding processes in the foregoing method embodiments, and are not described herein again.
In the several embodiments provided in the present application, it should be understood that the disclosed system, apparatus and method may be implemented in other manners. For example, the above-described apparatus embodiments are merely illustrative, and for example, the division of the units is only one logical division, and other divisions may be realized in practice, for example, a plurality of units or components may be combined or integrated into another system, or some features may be omitted, or not executed. In addition, the shown or discussed mutual coupling or direct coupling or communication connection may be an indirect coupling or communication connection through some interfaces, devices or units, and may be in an electrical, mechanical or other form.
The units described as separate parts may or may not be physically separate, and parts displayed as units may or may not be physical units, may be located in one place, or may be distributed on a plurality of network units. Some or all of the units can be selected according to actual needs to achieve the purpose of the solution of the embodiment.
In addition, functional units in the embodiments of the present invention may be integrated into one processing unit, or each unit may exist alone physically, or two or more units are integrated into one unit. The integrated unit can be realized in a form of hardware, and can also be realized in a form of a software functional unit.
The integrated unit, if implemented in the form of a software functional unit and sold or used as a stand-alone product, may be stored in a computer readable storage medium. Based on such understanding, the technical solution of the present invention may be embodied in the form of a software product, which is stored in a storage medium and includes instructions for causing a computer device (which may be a personal computer, a server, or a network device) to execute all or part of the steps of the method according to the embodiments of the present invention. And the aforementioned storage medium includes: a U-disk, a removable hard disk, a Read-only Memory (ROM), a Random Access Memory (RAM), a magnetic disk or an optical disk, and other various media capable of storing program codes.
The above-mentioned embodiments are only used for illustrating the technical solutions of the present invention, and not for limiting the same; although the present invention has been described in detail with reference to the foregoing embodiments, it will be understood by those of ordinary skill in the art that: the technical solutions described in the foregoing embodiments may still be modified, or some technical features may be equivalently replaced; and such modifications or substitutions do not depart from the spirit and scope of the corresponding technical solutions of the embodiments of the present invention.

Claims (26)

1. A compiling method of network service request is applied to a network service environment, and is characterized by comprising the following steps:
the method comprises the steps that a compiling device receives a network service request submitted by a user, wherein the network service request comprises at least one connection requirement, and the network service request is used for representing the network service requirement of the user;
the compiling device decomposes the network service request into basic service tuples according to preset decomposition rules, wherein the basic service tuples comprise at least one basic service element, and the type of the basic service element comprises point-to-point connection, shared connection or branch connection;
the compiling device compiles the basic service elements in the basic service element group to obtain basic network elements, wherein the basic network elements are a universal network element model;
and the compiling device processes the compiling result of the basic service element in the basic service element group to obtain a basic element group, wherein the basic element group comprises at least one basic element.
2. The method of claim 1, wherein the connection requirement comprises a source list and a destination list, wherein the connection requirement indicates a requirement for establishing a communication connection from any network node in the source list to any network node in the destination list, and wherein at least one network node is included in both the source list and the destination list.
3. The method of claim 2, wherein the connection requirement further comprises a connection type, and wherein the connection type is one of predefined network requirement types.
4. The method of claim 2, wherein the preset decomposition rule comprises:
for each of the connection requirements:
classifying the source list and the destination list as the point-to-point connection, wherein the source list and the destination list only contain one connection of different network nodes;
classifying the connections of the same group of network nodes in the source list and the destination list into the shared connections, wherein the same group of network nodes comprises at least two network nodes;
in the source list and the destination list, one list only comprises one network node, and the other list comprises the connection of at least two network nodes and is classified into the branch connection;
for the connection that the source list and the destination list both contain at least two network nodes, the decomposition mode is as follows according to whether the network nodes in the source list and the network nodes in the destination list have the same network nodes:
if no same network node exists, introducing an internal node, and decomposing the connection into two branch connections, namely a branch connection from the network node in the source list to the internal node and a branch connection from the internal node to the network node in the destination list;
if the same network node exists, the connection is decomposed into three connections, and then the three connections are classified respectively, wherein the three connections are respectively as follows: a connection from a network node in a source list to a network node in a second network node group, a connection from a network node in the same network node group to a network node in the same network node group, and a connection from a network node in a first network node group to a network node in the same network node group, wherein the same network node group includes all the same network nodes in the source list and the destination list, the first network node group includes network nodes from which the same network node is removed in the source list, and the second network node group includes network nodes from which the same network node is removed in the destination list.
5. The method according to claim 4, wherein the compiling device compiles the basic service elements in the basic service element group to obtain a basic network element, and specifically includes:
when the network nodes involved in the basic service element are all distributed in a first network domain, the compiling device maps the basic service element to a basic network element in the first network domain according to a preset mapping rule, and the first network domain is a network domain.
6. The method of claim 5, wherein the compiling device compiles the basic service elements in the basic service tuple to obtain a basic network element, further comprising:
when the network nodes involved in the first basic service element are distributed in a second network domain and a third network domain, the compiling device selects at least one path for connecting the second network domain and the third network domain according to the connection condition between the second network domain and the third network domain to obtain the connection nodes of the second network domain and the third network domain, wherein the second network domain is a network domain different from the third network domain, and the different network domains represent different underlying network service providers;
the compiling device generates a second basic service element and a third basic service element by combining the connection node and the first basic service element, wherein the network nodes related to the second basic service element are all located in the second network domain, the network nodes related to the third basic service element are all located in the third network domain, the first basic service element, the second basic service element and the third basic service element are respectively one basic service element, and the sum of the services of the second basic service element and the third basic service element is equal to the service of the first basic service element;
and the compiling device maps the second basic service element to a basic network element in the second network domain and maps the third basic service element to a basic network element in the third network domain according to a preset mapping rule.
7. The method according to claim 5 or 6, wherein the preset mapping rule is:
mapping the basic service element with the type of point-to-point connection into a basic link in a network domain;
mapping a basic service element with the type of shared connection into a virtual network in a network domain, wherein the virtual network is a switch or a router;
and mapping the basic service elements with the types of branch connections into distribution equipment with rule limitation in a network domain, wherein the basic link, the virtual network and the distribution equipment are basic network elements.
8. The method according to claim 6, wherein the processing the result of compiling the basic service elements in the basic service element group to obtain the basic service element group specifically comprises:
combining basic service elements obtained by compiling the basic service elements of the fourth network domain to which the connected network nodes in the basic service element groups belong into a first network element set; the fourth network domain is the same network domain as any one of the first network domain, the second network domain, or the third network domain, or the fourth network domain is a different network domain from the first network domain, the second network domain, and the third network domain;
acquiring a corresponding pricing strategy according to the strategy and the user attribute of the domain controller in the fourth network domain;
and according to the obtained pricing strategy, performing minimum cost calculation on the first network element set, and merging or splitting the first network element set to obtain an optimized second network element set serving as a basic network element group with the fourth network domain as a target domain.
9. The method according to any one of claims 1 to 6, wherein the description features of the basic network element include id, port _ list, rule _ list and extension _ list, wherein the id is a unique number of the basic network element device, the port _ list is an endpoint list owned by the basic network element device, the rule _ list is a rule list in the basic network element device, and the extension _ list represents other attributes of the network element device that cannot be represented by the rule list.
10. The method according to any one of claims 1 to 6, wherein the compiling device processes the compiling results of all the basic service elements in the basic service element group, and the step of obtaining the basic service element group further includes:
the compiling device compiles the basic network element group into a domain network element group according to a domain technology adopted by a domain controller of a target domain, wherein the domain network element group comprises at least one domain network element, and the domain network element is a network element model recognizable by the domain controller of the target domain.
11. The method of claim 10, further comprising:
the compiling device stores the corresponding relation between each type of basic network element and the network element model which can be identified by the domain controller in each network domain into a database;
the compiling device compiles the basic network element group into a domain network element group according to a domain technology adopted by a domain controller of a target domain, and specifically comprises the following steps:
the compiling device searches the database according to a domain technology adopted by a domain controller of a target domain to obtain a network element model which can be identified by the domain controller of the target domain and corresponds to a basic network element in the basic network element group;
and the compiling device combines the searched network element models which can be identified by the domain controller of the target domain to obtain the domain network element group.
12. The method according to any one of claims 1 to 6, wherein the compiling device processes the compiling results of all the basic service elements in the basic service element group, and the step of obtaining the basic service element group further includes:
and the compiling device sends the basic network element group to a domain controller of a target domain, so that the domain controller of the target domain compiles the basic network element group into a network element model which can be identified by the domain controller of the target domain.
13. A method for compiling a network service request, comprising:
the domain controller receives a basic network element group sent by the compiling device, wherein the basic network element group comprises at least one basic network element, and the basic network element is a general network element model; the basic service tuple is obtained by decomposing the network service request of the user by the compiling device according to a preset decomposition rule and compiling the basic service tuple;
and the domain controller compiles the basic network element group into a domain network element group according to the stored corresponding relation between the basic network element and the domain network element, wherein the domain network element group comprises at least one domain network element, and the domain network element is a network element model which can be identified by the domain controller.
14. A compiling apparatus applied to a network as a service environment, comprising:
the system comprises a first receiving module, a second receiving module and a first sending module, wherein the first receiving module is used for receiving a network service request submitted by a user, the network service request comprises at least one connection requirement, and the network service request is used for representing the network service requirement of the user;
the decomposition module is used for decomposing the network service request into a basic service tuple according to a preset decomposition rule, wherein the basic service tuple comprises at least one basic service element, and the type of the basic service element comprises point-to-point connection, shared connection or branch connection;
the first compiling module is used for compiling the basic service elements in the basic service element group to obtain a basic network element, and the basic network element is a general network element model;
and the processing module is used for processing the result of the basic service element compilation in the basic service element group to obtain a basic element group, wherein the basic element group comprises at least one basic element.
15. The compiling device of claim 14 wherein the connection requirements comprise a source list and a destination list, the connection requirements representing requirements for establishing a communication connection from any network node in the source list to any network node in the destination list, and wherein the source list and the destination list each comprise at least one network node.
16. The compiling device of claim 15 wherein the connection requirements further comprise a connection type, the connection type being one of predefined network requirement types.
17. The compiling device of claim 15 wherein the preset decomposition rule comprises:
for each of the connection requirements:
classifying the source list and the destination list as the point-to-point connection, wherein the source list and the destination list only contain one connection of different network nodes;
classifying the connections of the same group of network nodes in the source list and the destination list into the shared connections, wherein the same group of network nodes comprises at least two network nodes;
in the source list and the destination list, one list only comprises one network node, and the other list comprises the connection of at least two network nodes and is classified into the branch connection;
for the connection that the source list and the destination list both contain at least two network nodes, the decomposition mode is as follows according to whether the network nodes in the source list and the network nodes in the destination list have the same network nodes:
if no same network node exists, introducing an internal node, and decomposing the connection into two branch connections, namely a branch connection from the network node in the source list to the internal node and a branch connection from the internal node to the network node in the destination list;
if the same network node exists, the connection is decomposed into three connections, and then the three connections are classified respectively, wherein the three connections are respectively as follows: a connection from a network node in a source list to a network node in a second network node group, a connection from a network node in the same network node group to a network node in the same network node group, and a connection from a network node in a first network node group to a network node in the same network node group, wherein the same network node group includes all the same network nodes in the source list and the destination list, the first network node group includes network nodes from which the same network node is removed in the source list, and the second network node group includes network nodes from which the same network node is removed in the destination list.
18. The compiling device of claim 17, wherein the first compiling module specifically comprises:
and an intra-domain mapping unit, configured to map, according to a preset mapping rule, the basic service element to a basic network element in a first network domain when all network nodes involved in the basic service element are distributed in the first network domain, where the first network domain is a network domain.
19. The compiling device of claim 18 wherein the first compiling module further comprises:
a path selecting unit, configured to select at least one path connecting a second network domain and a third network domain according to a connection condition between the second network domain and the third network domain when network nodes related in a first basic service element are distributed in the second network domain and the third network domain, so as to obtain connection nodes of the second network domain and the third network domain, where the second network domain is a network domain different from the third network domain, and the different network domains represent different underlying network service providers;
a generating unit, configured to generate a second basic service element and a third basic service element in combination with the connection node and the first basic service element, where network nodes related to the second basic service element are all located in the second network domain, and network nodes related to the third basic service element are all located in the third network domain, where the first basic service element, the second basic service element, and the third basic service element are respectively one basic service element, and a sum of services of the second basic service element and the third basic service element is equal to a service of the first basic service element;
and a triggering unit, configured to trigger the intra-domain mapping unit to map the second basic service element to a basic network element in the second network domain according to a preset mapping rule, and map the third basic service element to a basic network element in the third network domain.
20. The compiling device of claim 18 or 19 wherein the preset mapping rule is:
mapping the basic service element with the type of point-to-point connection into a basic link in a network domain;
mapping a basic service element with the type of shared connection into a virtual network in a network domain, wherein the virtual network is a switch or a router;
and mapping the basic service elements with the types of branch connections into distribution equipment with rule limitation in a network domain, wherein the basic link, the virtual network and the distribution equipment are basic network elements.
21. The compiling device of claim 19 wherein the processing module specifically comprises:
the combination unit is used for combining basic service elements, which are obtained by compiling the basic service elements of the fourth network domain to which the connected network nodes in the basic service elements belong, into a first network element set; the fourth network domain is the same network domain as any one of the first network domain, the second network domain, or the third network domain, or the fourth network domain is a different network domain from the first network domain, the second network domain, and the third network domain;
the acquiring unit is used for acquiring a corresponding pricing strategy according to the strategy and the user attribute of the domain controller in the fourth network domain;
and the optimization unit is used for performing minimum cost calculation on the first network element set according to the obtained pricing strategy, merging or splitting the first network element set to obtain an optimized second network element set which is used as a basic network element set taking the fourth network domain as a target domain.
22. The compiling device according to any one of claims 14 to 19, wherein the description features of the basic network element include id, port _ list, rule _ list and extension _ list, wherein the id is a unique number of the basic network element device, the port _ list is an endpoint list owned by the basic network element device, the rule _ list is a rule list in the basic network element device, and the extension _ list represents other attributes of the network element device that cannot be represented by the rule list.
23. The compiling device of any of claims 14 to 19 wherein the compiling device further comprises:
and the second compiling module is used for compiling the basic network element group into a domain network element group according to a domain technology adopted by a domain controller of the target domain, wherein the domain network element group comprises at least one domain network element, and the domain network element is a network element model which can be identified by the domain controller of the target domain.
24. The compiling device of claim 23 wherein the compiling device further comprises:
the storage module is used for storing the corresponding relation between each type of basic network element and the network element model which can be identified by the domain controller in each network domain into a database;
the second compiling module specifically includes:
the searching unit is used for searching the database according to a domain technology adopted by a domain controller of a target domain to obtain a network element model which can be identified by the domain controller of the target domain and corresponds to a basic network element in the basic network element group;
and the combination unit is used for combining the searched network element models which can be identified by the domain controller of the target domain to obtain the domain network element group.
25. The compiling device of any of claims 14 to 19 wherein the compiling device further comprises:
and the sending module is used for sending the basic network element group to a domain controller of a target domain, so that the domain controller of the target domain compiles the basic network element group into a network element model which can be identified by the domain controller of the target domain.
26. A controller, comprising:
the second receiving module is used for receiving a basic network element group sent by the compiling device, wherein the basic network element group comprises at least one basic network element, and the basic network element is a general network element model; the basic service tuple is obtained by decomposing the network service request of the user by the compiling device according to a preset decomposition rule and compiling the basic service tuple;
and the third compiling module is used for compiling the basic network element group into a domain network element group according to the stored corresponding relation between the basic network element and the domain network element, wherein the domain network element group comprises at least one domain network element, and the domain network element is a network element model which can be identified by the controller.
CN201510577739.3A 2015-09-11 2015-09-11 Compiling method and device for network service request and controller Active CN106533720B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510577739.3A CN106533720B (en) 2015-09-11 2015-09-11 Compiling method and device for network service request and controller

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510577739.3A CN106533720B (en) 2015-09-11 2015-09-11 Compiling method and device for network service request and controller

Publications (2)

Publication Number Publication Date
CN106533720A CN106533720A (en) 2017-03-22
CN106533720B true CN106533720B (en) 2020-02-14

Family

ID=58346743

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510577739.3A Active CN106533720B (en) 2015-09-11 2015-09-11 Compiling method and device for network service request and controller

Country Status (1)

Country Link
CN (1) CN106533720B (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112528132A (en) * 2019-09-18 2021-03-19 华为技术有限公司 Method for managing network and network management system
CN113704072B (en) * 2021-08-23 2023-08-15 中国联合网络通信集团有限公司 Method and equipment for calculating load coefficient of data center

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1859243A (en) * 2005-09-30 2006-11-08 华为技术有限公司 Method for realizing connection service
CN102103518A (en) * 2011-02-23 2011-06-22 运软网络科技(上海)有限公司 System for managing resources in virtual environment and implementation method thereof
CN103430166A (en) * 2010-10-04 2013-12-04 海德沃特合作I有限公司 System and method for providing user notifications
CN104685838A (en) * 2012-10-05 2015-06-03 华为技术有限公司 Software defined network virtualization utilizing service specific topology abstraction and interface

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012014220A1 (en) * 2010-07-27 2012-02-02 Hewlett-Packard Development Company L.P. Method and system for deploying saas(software as a service) service bundles

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1859243A (en) * 2005-09-30 2006-11-08 华为技术有限公司 Method for realizing connection service
CN103430166A (en) * 2010-10-04 2013-12-04 海德沃特合作I有限公司 System and method for providing user notifications
CN102103518A (en) * 2011-02-23 2011-06-22 运软网络科技(上海)有限公司 System for managing resources in virtual environment and implementation method thereof
CN104685838A (en) * 2012-10-05 2015-06-03 华为技术有限公司 Software defined network virtualization utilizing service specific topology abstraction and interface

Also Published As

Publication number Publication date
CN106533720A (en) 2017-03-22

Similar Documents

Publication Publication Date Title
KR101615691B1 (en) Chassis controllers for converting universal flows
CN108293022B (en) Method, device and system for transmitting message
US10708342B2 (en) Dynamic troubleshooting workspaces for cloud and network management systems
CN104104620B (en) Method and system for according to priority carrying out business stream process
US9692707B2 (en) Virtual resource object component
CN105191214B (en) The network bandwidth allocations rented in system for cloud computing more
CN108989066B (en) Equipment management method and device
US10341201B2 (en) Cross-domain orchestration of switch and service functions
Goyal Enterprise usability of cloud computing environments: issues and challenges
US20150063102A1 (en) Flow Based Network Service Insertion
CN103763367A (en) Method and system for designing distributed virtual network in cloud calculating data center
CN109547349A (en) Flow managing method, device, terminal and storage medium based on virtual flow-line
US20060031444A1 (en) Method for assigning network resources to applications for optimizing performance goals
Kong et al. Demonstration of application-driven network slicing and orchestration in optical/packet domains: On-demand vDC expansion for Hadoop MapReduce optimization
US10516729B2 (en) Dynamic graph adaptation for stream processing over hybrid, physically disparate analytics platforms
US20220239583A1 (en) Systems and methods for implementing multi-part virtual network functions
Chang et al. Architecture design of datacenter for cloud english education platform
Elahi et al. Toward scalable cloud data center simulation using high‐level architecture
CN113612688B (en) Distributed software defined network control system and construction method thereof
CN106533720B (en) Compiling method and device for network service request and controller
Gupta et al. Service chain (SC) mapping with multiple SC instances in a wide area network
Gadre et al. Centralized approaches for virtual network function placement in SDN-enabled networks
CN112714146A (en) Resource scheduling method, device, equipment and computer readable storage medium
Sun et al. AI-based survivable design for hybrid virtual networks for single regional failures in cloud data centers
Herlicq et al. Nextgenemo: an efficient provisioning of edge-native applications

Legal Events

Date Code Title Description
C06 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