Network community division method, content transmission method and related equipment

By using the joint dimension in the information center network to divide the community, the problem of nodes cache useless content is solved, and efficient utilization and conservation of network resources is achieved.

CN120281659APending Publication Date: 2025-07-08BEIJING INFORMATION SCI & TECH UNIV
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202311279306.0
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2023-09-28
Publication Date
2025-07-08

AI Technical Summary

Technical Problem

In the prior art, the method of using nodes to divide the community causes more useless content to be cached in the nodes, resulting in excessive waste of network resources.

Method used

The edge-connection dimension is used to divide the community. By obtaining the edge-connection weight, triangle and triplet number in the content node connection diagram, the edge-connection division coefficient is determined, and network community division is performed to reduce the overlap of the same content node being repeatedly divided into different network communities.

Benefits of technology

It effectively avoids content nodes over-cache useless content, saves network resources, reduces the overlap of network resources, and improves resource utilization.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120281659A_ABST
    Figure CN120281659A_ABST
Patent Text Reader

Abstract

The invention relates to a network community division method, a content transmission method and related equipment. The method comprises the following steps: acquiring a content node connection graph; obtaining the number of triangles and the number of triples corresponding to each connecting edge in a plurality of connecting edges contained in the content node connection graph; determining a connected edge division coefficient based on the number of triangles and the number of triples corresponding to each connected edge in the plurality of connected edges, or based on the number of triangles and the number of triples corresponding to each connected edge in the plurality of connected edges and the weight corresponding to each connected edge, or based on the weight corresponding to each connected edge; and performing community division on the content node connection graph based on the edge connection division coefficient. Thus, the content node connection graph can be divided into a plurality of network communities based on the connection edge division coefficient, the overlapping situation that the same content node is repeatedly divided into different network communities for multiple times can be effectively reduced, excessive waste of content node storage resources is avoided, and network resources are greatly saved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure relates to the field of computer technologies, and more particularly, to a method for partitioning a network community, a method for content transmission, and related devices. Background Art

[0002] Information Centric Networking (ICN) is a new type of network architecture. With content as the center, ICN decouples data content from data location, and through the distributed storage of small-scale devices within the network, it avoids the huge energy consumption brought about by the management and maintenance of cache facilities.

[0003] Research and analysis show that potential community structures generally exist in real networks, that is, the entire network can be divided into several communities according to a certain rule. Individuals within the same community are relatively closely connected, while individuals between different communities are relatively loosely connected. The community structure reflects the local relationship between individual behaviors in a complex network, and has important value and significance for in-depth research on the structural and functional characteristics of complex networks, and helps to discover the associated information hidden behind network data.

[0004] In related technologies, nodes are mainly used to partition the community structure of ICN, that is, the relationship between nodes and content is mainly used to divide multiple nodes included in ICN into different network communities. However, in this partitioning method, as time goes by, nodes may continuously change the communities they belong to, that is, they may frequently cache content in different network communities. For the network community where a node is currently located, the content cached by the node in other network communities before is very likely to be of no use value. It can be seen that the method of using nodes for community partitioning may lead to a large amount of useless content cached in nodes, resulting in excessive waste of network resources. Summary of the Invention

[0005] The present disclosure provides a method for partitioning a network community, a method for content transmission, and related devices, so as to at least solve the problem in the above-mentioned related technologies that the method of using nodes for community partitioning may lead to a large amount of useless content cached in nodes, resulting in excessive waste of network resources.

[0006] According to a first aspect of an embodiment of the present disclosure, there is provided a method for partitioning a network community, including: obtaining a content node connection graph, where the content node connection graph includes a plurality of content nodes, and there are edges established between some of the plurality of content nodes, and the edges have corresponding weights, and the weights are used to measure the correlation degree between the two content nodes connected by the edges, and the content nodes are device nodes in an information network for storing content; obtaining the number of triangles and the number of triples corresponding to each edge among the plurality of edges included in the content node connection graph, where the triangle is a triangle in the content node connection graph at a preset time that does not include the edge, and the triple represents a triangle in the content node connection graph at the preset time that does not include the edge, three isolated content nodes that do not include the edge and have no edges between them, three content nodes that do not include the edge but have two edges between them, and three content nodes that do not include the edge but have one edge between them; determining an edge partitioning coefficient for network community partitioning based on the number of triangles and the number of triples corresponding to each edge among the plurality of edges, or based on the number of triangles, the number of triples corresponding to each edge among the plurality of edges, and the weight corresponding to each edge, or based on the weight corresponding to each edge; performing community partitioning on the content node connection graph based on the edge partitioning coefficient to obtain a plurality of network communities, where each network community includes some of the plurality of edges included in the content node connection graph.

[0007] According to a second aspect of an embodiment of the present disclosure, there is provided a content transmission method, and the content transmission method is applied to a plurality of network communities, and the plurality of network communities are partitioned by the network community partitioning method according to the present disclosure, and each network community is connected to a controller, and the method includes: receiving, by a target controller, a content request sent by a user terminal; in a case where the target controller finds a historical segment list matching the content request in a target database corresponding to the target controller, sending, by the target controller, the historical segment list to a target content node, where the target content node is used to receive the content request and forward the content request to the target controller, the historical segment list includes relevant information of each content node among a plurality of content nodes sequentially accessed in a historical process of requesting a target data packet, and the target data packet is a data packet successfully requested by the network community in a historical process in response to a historical content request; obtaining, by the target content node, the target data packet from the content node that is last in the historical access order among the plurality of content nodes based on the historical segment list; and sending, by the target content node, the target data packet to the user terminal.

[0008] According to a third aspect of the embodiments of the present disclosure, a network community division device is provided, including: a connection graph acquisition module configured to acquire a content node connection graph, where the content node connection graph includes a plurality of content nodes, and some of the plurality of content nodes are connected by edges, and the edges have corresponding weights, and the weights are used to measure the correlation degree between the two content nodes connected by the edges, and the content nodes are device nodes for storing content in an information network; a triangle and triple number acquisition module configured to acquire the number of triangles and the number of triples corresponding to each edge among the plurality of edges included in the content node connection graph, where the triangle is a triangle in the content node connection graph that does not include the edge at a preset time, and the triple represents a triangle in the content node connection graph that does not include the edge at the preset time, three isolated content nodes that do not include the edge and have no edges between them, three content nodes that do not include the edge but have two edges between them, and three content nodes that do not include the edge but have one edge between them; an edge division coefficient determination module configured to determine an edge division coefficient for network community division based on the number of triangles and the number of triples corresponding to each edge among the plurality of edges, or based on the number of triangles, the number of triples, and the weight corresponding to each edge among the plurality of edges, or based on the weight corresponding to each edge; a community division module configured to perform community division on the content node connection graph based on the edge division coefficient to obtain a plurality of network communities, where each network community includes some of the plurality of edges included in the content node connection graph.

[0009] According to a fourth aspect of the embodiments of the present disclosure, an electronic device is provided, including: a processor; a memory for storing executable instructions of the processor; wherein, the processor is configured to execute the instructions to implement the network community division method or the content transmission method according to the present disclosure.

[0010] According to a fifth aspect of the embodiments of the present disclosure, a computer-readable storage medium is provided, and when the instructions in the computer-readable storage medium are executed by a processor of an electronic device, the electronic device can execute the network community division method or the content transmission method according to the present disclosure.

[0011] The technical solutions provided by the embodiments of the present disclosure at least bring the following beneficial effects:

[0012] It should be noted that when there is an overlap between two different network communities, the number of overlapping edges in the two network communities is less than the number of overlapping content nodes. That is, compared with the method of dividing communities using content nodes, the method of dividing communities using edges can effectively reduce the overlap degree of different network communities. Therefore, in the present disclosure, the content node connection graph can be divided into multiple network communities based on the edge division coefficient, that is, the present disclosure mainly uses the dimension of edges for community division. Compared with the method of dividing communities using the content node dimension, the method of dividing communities using the edge dimension in the present disclosure can effectively avoid the same content node from being reused too many times, that is, it can effectively reduce the overlap situation where the same content node is repeatedly assigned to different network communities too many times. That is to say, it can effectively avoid the same content node from caching useless content in different network communities excessively, avoiding excessive waste of the storage resources of the content node and greatly saving network resources.

[0013] It should be understood that the above general description and the following detailed description are only exemplary and explanatory, and cannot limit the present disclosure. BRIEF DESCRIPTION OF THE DRAWINGS

[0014] The drawings herein are incorporated into the specification and form a part of the specification, showing embodiments consistent with the present disclosure, and are used together with the specification to explain the principles of the present disclosure, and do not constitute an improper limitation to the present disclosure.

[0015] Figure 1 is a flowchart showing a method for dividing network communities according to an exemplary embodiment of the present disclosure;

[0016] Figure 2 is a schematic diagram showing a triple according to an exemplary embodiment of the present disclosure;

[0017] Figure 3 is a schematic diagram showing the overlap of two network communities according to an exemplary embodiment of the present disclosure;

[0018] Figure 4 is a schematic diagram showing an SD-ICN architecture according to an exemplary embodiment of the present disclosure;

[0019] Figure 5 is a flowchart showing a content transmission method according to an exemplary embodiment of the present disclosure;

[0020] Figure 6 is a schematic diagram showing a historical segment list according to an exemplary embodiment of the present disclosure;

[0021] Figure 7 is a schematic diagram showing a content transmission process according to an exemplary embodiment of the present disclosure;

[0022] Figure 8 is a specific implementation flowchart showing a content transmission method according to an exemplary embodiment of the present disclosure;

[0023] Figure 9 is a block diagram showing a network community division device according to an exemplary embodiment of the present disclosure;

[0024] Figure 10 is a block diagram showing an electronic device according to an exemplary embodiment of the present disclosure. Detailed implementation manners

[0025] To enable those of ordinary skill in the art to better understand the technical solutions of the present disclosure, the technical solutions in the embodiments of the present disclosure will be clearly and completely described below with reference to the accompanying drawings.

[0026] It should be noted that the terms "first", "second", etc. in the description and claims of the present disclosure and the above-mentioned drawings are used to distinguish similar objects, and do not necessarily need to be used to describe a specific order or sequence. It should be understood that such data can be interchanged under appropriate circumstances so that the embodiments of the present disclosure described herein can be implemented in an order other than those illustrated or described herein. The embodiments described in the following examples do not represent all embodiments consistent with the present disclosure. On the contrary, they are merely examples of devices and methods consistent with some aspects of the present disclosure as detailed in the appended claims.

[0027] Information Centric Networking (ICN) is a new network architecture. ICN is content-centric, decouples data content from data location, and through the distributed storage of small-scale devices within the network, avoids the huge energy consumption brought by the management and maintenance of cache facilities. In addition, the intermittent connection between nodes avoids the defect of excessive resource occupation brought by the permanent connection and the end-to-end host-centric network paradigm, can improve resource utilization rate and reduce network energy consumption. ICN has better flexibility in information and bandwidth requirements and also has better robustness in communication scenarios.

[0028] As a research hotspot in the next-generation network architecture, ICN fundamentally reflects that users focus on the content itself rather than its location. By routing to obtain the target content itself and caching the content in the network, ICN not only decouples the content from its location but also solves the energy consumption and cost problems brought by expensive caches. Therefore, in order to improve the huge energy consumption problem existing in the current Internet industry, network operators and service providers urgently need a network that can save energy, reduce consumption, cut costs, and achieve green and sustainable development. For this reason, in recent years, domestic and foreign scholars have conducted relevant research on issues such as ICN architecture, data transmission, topology, and Quality of Service (QoS), striving to make breakthroughs in the field of green ICN.

[0029] ICN designs the network architecture from the perspective of content sharing. It deploys content objects in the communication subnet, and the routers for data transmission not only perform content routing but also have the function of efficient caching. Users access content mainly through web page links, and the web page link structure of ICN can be abstracted as a huge complex network. By abstracting content objects as nodes and the links between corresponding nodes as edges, the content in the network follows a power-law distribution. Based on the above characteristics of ICN, by dynamically partitioning the communities of the content in the network and pre-caching similar content with high popularity, the utilization rate of network resources can be improved, and the network transmission energy consumption can be reduced.

[0030] The current ICN model design is mainly to meet the direct acquisition needs of users for multimedia service content such as videos and pictures. It lacks a mature and complete energy efficiency processing mechanism and a reasonably divided network architecture. The redundancy of cached content is likely to cause waste of network resources and is difficult to adapt to the future trend of energy conservation, consumption reduction, and green and sustainable development. In the research of software-defined green information-centric networks, as a theoretical tool, complex networks combine random graph theory and statistical physics. The research content mainly includes: the geometric properties of the network, the formation mechanism of the network, the statistical laws of network evolution, the model properties on the network, the structural stability of the network, the functions of the network, and the evolutionary dynamics mechanism, etc. Complex networks can be applied to mathematical modeling and system optimization in actual networks, and the game and its evolutionary dynamics therein can be used to explain the changes of nodes in the network, the evolution of the topology, and how to reach the equilibrium state.

[0031] Software Defined Networking (SDN) technology is a network management method that supports dynamic programmable network configuration, improves network performance and management efficiency, and enables network services to provide flexible customization capabilities like cloud computing. SDN decouples the forwarding plane and control plane of network devices. The controller is responsible for the management of network devices, the orchestration of network services, and the scheduling of service traffic, with advantages such as low cost, centralized management, and flexible scheduling. Segment Routing IPv6 (SRv6) based on the Internet Protocol Version 6 (IPv6) forwarding plane is a new generation of IP bearer protocol. Based on the SDN architecture, it uses existing IPv6 forwarding technology and realizes network programmability through flexible IPv6 extension headers. SRv6 simplifies the types of network protocols, has good scalability and programmability, can meet the diverse needs of more new services, and provides high reliability. Establishing a new type of network architecture by leveraging the network management capabilities of SDN technology and the flexible forwarding advantages of SRv6 technology has become an important research direction in the industry.

[0032] Numerous research and analyses have shown that potential community structures generally exist in real networks, that is, the entire network can be divided into several communities according to a certain rule. Individuals within the same community are relatively closely connected, while individuals between different communities are relatively loosely connected. The community structure reflects the local relationships among individual behaviors in complex networks, has important value and significance for in-depth research on the structural and functional characteristics of complex networks, and helps to discover the correlation information hidden behind network data.

[0033] In related technologies, nodes are mainly used to divide the community structure of ICN, that is, nodes are mainly used to divide the multiple nodes contained in ICN into different network communities respectively. However, in this division method, over time, nodes may continuously change the communities they belong to, that is, they may frequently cache the content in different network communities. For the network community where the node is currently located, the content in other network communities cached by the node before is very likely to be of no use value. It can be seen that the method of using nodes for community division may lead to a large amount of useless content cached in nodes, resulting in excessive waste of network resources.

[0034] Furthermore, when there is an overlap between two different network communities, the number of overlapping edges in the two network communities is less than the number of overlapping content nodes. That is, compared with the method of dividing communities using content nodes, the method of dividing communities using edges can effectively reduce the overlap degree of different network communities. Therefore, to solve the above problems existing in the related art, the network community division method, content transmission method, and related devices provided by the present disclosure can divide the content node connection graph into multiple network communities based on the edge division coefficient, that is, the present disclosure mainly uses the dimension of edges for community division. Compared with the method of dividing communities using the content node dimension, the method of dividing communities using the edge dimension in the present disclosure can effectively avoid the same content node being reused too many times, that is, it can effectively reduce the overlap situation where the same content node is repeatedly assigned to different network communities too many times, and it can also effectively avoid the same content node caching useless content in different network communities excessively, avoiding excessive waste of the storage resources of the content node and greatly saving network resources.

[0035] It should be noted that ICN communication mainly includes two types of packets: interest packets and data packets. "Interest packets" are mainly used to record the path of user requests to facilitate the content publisher to return response data; "Data packets" are mainly the specific content responded by the publisher according to the user's request. Both types of packets can contain information such as content object names and routing to enable communication between users and content publishers or content caching routers. In the present disclosure, a management model of content objects can be established, combined with the prior knowledge of user access situations, and complex network theory can be used to perform community mining on highly relevant content objects. While studying the characteristics of the evolving community structure, the dynamic content in the network can be reasonably managed to create a new generation of network architecture that meets the requirements of resource conservation and environmental friendliness. That is, in the present disclosure, the architecture of ICN and the content discovery mechanism match the characteristics of complex networks, and a green ICN architecture can be realized through SDN technology, SRv6 technology, and complex network theory. This green ICN architecture adapts to the future demand trend for resource-conserving and environment-friendly networks.

[0036] Next, the green ICN architecture provided by the present disclosure and a more reasonable and flexible network community division method for cache decision will be specifically described with reference to the accompanying drawings.

[0037] Figure 1 is a flowchart showing a method for dividing network communities according to an exemplary embodiment of the present disclosure.

[0038] Refer to Figure 1, in step 101, a content node connection graph can be obtained. The content node connection graph can include multiple content nodes. There can be edges established between some of the multiple content nodes, and the edges can have corresponding weights, where the weights are used to measure the degree of relevance between the two content nodes connected by the edges. The above-mentioned content nodes can be device nodes in the information network for storing content. Exemplarily, the device nodes for storing content can include, but are not limited to, router nodes.

[0039] It should be noted that ICN uses an information-centric communication method to replace the existing end-centric communication method, abandons the traditional Internet Protocol (IP) addressing scheme, and adopts a new network protocol stack with the information name as the core, using the information name as the network transmission identifier. Therefore, ICN can take content as the direct processing object.

[0040] Furthermore, the content in the network is generated by content publishers and corresponds to user activities. Therefore, there is a correlation between the content in the network, and the intricate degree of correlation between the content has the characteristics of the community structure in a complex network. The correlation factor of content objects can be name similarity, keyword similarity, etc. Accordingly, content objects can be abstracted as content nodes, and the degree of correlation between content objects can be abstracted as the edges between content nodes. The constructed content node connection graph, that is, the content object connection graph, can be G=(V, E, W), where V={v1, v2, …, v n}, E={e1, e2, …, e m}, W={ω1, ω2, …, ω m}, n and m are the total numbers of content nodes and edges respectively, and ω i can be the weight corresponding to edge i, which is used to represent the degree of relevance between content nodes.

[0041] In an actual scenario, content publishers are constantly generating new content, while content with a near-zero user request frequency may tend to disappear due to the limitation of the survival time. Therefore, the network structure composed of content objects may have different forms at different time steps, and the community structure of content objects generated according to the degree of relevance also has dynamic characteristics.

[0042] From the perspective of an abstract mathematical model, a dynamic network is actually an ordered sequence of graphs, representing snapshots of a complex system at different times. Analyzing the evolution of the network at each moment is the focus of dynamic network research. However, due to the temporal characteristics of dynamic networks, dynamic pattern mining is not a simple superposition of snapshots at each moment. A dynamic network model is an ordered set of graphs in time and can be represented as G=(G1, G2, …, G T ), where G t =(Vt , E t , W t ) is the network topology graph at time t, V t , E t , W t respectively represent the content node set (fixed point set), edge set, and edge weight set at time t. Therefore, the content object model can be represented as a dynamic weighted network.

[0043] According to an exemplary embodiment of the present disclosure, the name or keyword of the content stored in each of the multiple content nodes can be obtained. There may be multiple types of content stored in the content nodes. Exemplarily, it may include but is not limited to: articles, news, comments, static pictures, dynamic pictures, audio and video, etc. The "name of the content" can be but is not limited to the title of the article, the headline of the news, etc.; the "keyword of the content" can be the summary type information obtained by summarizing and refining the content. Exemplarily, it can be but is not limited to the keywords in the paper abstract, the keywords in the news summary, etc.

[0044] Next, based on the name or keyword of the content stored in each pair of the multiple content nodes, the correlation degree between each pair of content nodes can be determined. Exemplarily, based on the name similarity or keyword similarity of the content stored in each pair of content nodes, the correlation degree between each pair of content nodes can be determined. Then, an edge can be established between two content nodes whose correlation degree is higher than the preset degree threshold, and an edge establishment between two content nodes whose correlation degree is lower than the preset degree threshold can be prohibited. Finally, a content node connection graph can be obtained.

[0045] In this way, since the name or keyword of the content is generally the information obtained by summarizing, generalizing, and refining the content, the name or keyword of the content can usually reflect the meaning expressed by the corresponding content more completely and accurately. That is, if the name or keyword is relatively similar, the corresponding content should usually be similar. Therefore, based on the name or keyword of the content to determine the correlation degree between content nodes and then construct the corresponding content node connection graph can ensure the correctness and objectivity of the obtained content node connection graph.

[0046] According to an exemplary embodiment of the present disclosure, the number of identical characters included in the name of the content stored in each pair of content nodes can also be used as the correlation degree. The more the number of identical characters, the higher the correlation degree between the two content nodes can be considered.

[0047] It should be noted that the more identical characters the names of the contents contain, the more similar the two content names are. In the extreme case, if the names of the two contents contain exactly the same characters, it means that the two content names are identical. Since the content name is a specific refinement and generalization of the content, when the content names are relatively similar, the specific contents they indicate should also be relatively similar. Therefore, the number of identical characters contained in the content name can be used as the basis for judging whether the association between content nodes is tight, which can ensure the accuracy of the correlation degree between the determined content nodes.

[0048] According to an exemplary embodiment of the present disclosure, the number of identical keywords contained in the contents stored in each pair of content nodes can also be used as the degree of correlation. The more the number of identical keywords, the higher the degree of correlation between the two content nodes can be considered. Exemplarily, if each of the two content nodes stores an academic paper, and the number of identical keywords in the abstracts contained in the two academic papers is large, it can be considered that the contents of the two academic papers are relatively similar, and further, it can be considered that the association between the content nodes storing the two academic papers is relatively tight, that is, it can be considered that the degree of correlation between the two content nodes is relatively high.

[0049] It should be noted that since keywords are a refined extraction and specific generalization of the corresponding content, to a certain extent, keywords can reflect the core idea and meaning of the corresponding content. If two contents contain more identical keywords, it means that the core ideas and meanings of the two contents are also relatively close. Therefore, the number of identical keywords contained in the content can be used as the basis for judging whether the association between content nodes is tight, which can ensure the accuracy of the correlation degree between the determined content nodes.

[0050] In step 102, the number of triangles and the number of triples corresponding to each edge in the plurality of edges included in the content node connection graph can be obtained. The aforementioned triangle can be a triangle in the content node connection graph at the preset time t that does not include this edge. The aforementioned triple can represent a triangle in the content node connection graph at the preset time t that does not include this edge, three isolated content nodes that do not include this edge and have no edges between them, three content nodes that do not include this edge but have two edges between them, and three content nodes that do not include this edge but have one edge between them.

[0051] Further, for the case of "three isolated content nodes that do not include this edge and have no edges between them", it is also required that the distance between any two of the three isolated content nodes does not exceed a preset distance threshold; for the case of "three content nodes that do not include this edge but have an edge between them", it is also required that the distances between the two content nodes connected by the existing edge and the isolated content nodes other than the two content nodes among the three content nodes are both less than the preset distance threshold. The "preset distance threshold" can be set according to actual needs, and the present disclosure does not limit the specific value of the preset distance threshold.

[0052] Figure 2 is a schematic diagram showing a kind of triple according to an exemplary embodiment of the present disclosure. Refer to Figure 2 , a total of 4 cases included in the triple are shown, which are case (1), case (2), case (3), and case (4).

[0053] Case (1) specifically refers to the case of "three content nodes that do not include this edge but have an edge between them". In case (1), a total of 3 content nodes are shown, which are content node A1, content node B1, and content node C1. Moreover, there is an edge between content node A1 and content node B1, and there is no edge between content node C1 and content node A1 and content node B1. Further, the distance between content node C1 and content node A1 and the distance between content node C1 and content node B1 both need to be less than the preset distance threshold.

[0054] Case (2) specifically refers to the case of "three content nodes that do not include this edge but have 2 edges between them". In case (2), a total of 3 content nodes are shown, which are content node A2, content node B2, and content node C2. Moreover, there is an edge between content node A2 and content node B2, and there is also an edge between content node B2 and content node C2, and there is no edge between content node A2 and content node C2.

[0055] Case (3) specifically refers to the case of "a triangle that does not include this edge in the content node connection graph at the preset moment t". In case (3), a total of 3 content nodes are shown, which are content node A3, content node B3, and content node C3. Moreover, there is an edge between any two of content node A3, content node B3, and content node C3.

[0056] Case (4) specifically refers to the case of "3 isolated content nodes that do not include this connecting edge and have no connecting edges between them". In case (4), a total of 3 content nodes are shown, namely content node A4, content node B4, and content node C4. Moreover, there are no connecting edges between any two of the content nodes A4, B4, and C4.

[0057] In step 103, the edge division coefficient for network community division can be determined based on the number of triangles and the number of triples corresponding to each connecting edge among multiple connecting edges; or, based on the number of triangles, the number of triples, and the weight corresponding to each connecting edge among multiple connecting edges; or, based on the weight corresponding to each connecting edge.

[0058] In step 104, the content node connection graph can be divided into communities based on the edge division coefficient to obtain multiple network communities. Each network community can include some of the multiple connecting edges included in the content node connection graph.

[0059] According to an exemplary embodiment of the present disclosure, the edge clustering coefficient can be determined by the following formula as the edge division coefficient:

[0060]

[0061] where t represents the time, represents the number of triangles in the content node connection graph at time t that do not include the connecting edge ; represents the number of triples in the content node connection graph at time t that do not include the connecting edge ; represents the connecting edge between content node i and content node j in the content node connection graph at time t, 1 ≤ i ≤ n, 1 ≤ j ≤ n, i ≠ j, n is the number of content nodes included in the content node connection graph, and n is a positive integer.

[0062] Next, the preset threshold interval to which the edge clustering coefficient belongs can be determined. Then, the connecting edge can be included in the target network community corresponding to the preset threshold interval. It should be noted that the preset threshold interval can be set according to actual needs. Exemplarily, the preset threshold interval can be set to 0 - 1, 1 - 2, 2 - 3, etc. The present disclosure does not limit the specific value range of the preset threshold interval.

[0063] According to an exemplary embodiment of the present disclosure, the weighted edge clustering coefficient can be determined by the following formula as the edge division coefficient:

[0064]

[0065] Among them, t represents the moment, represents the number of triangles in the content node connection graph at moment t that do not contain connecting edges of the triangle, represents the number of triples in the content node connection graph at moment t that do not contain connecting edges of the triple, is the weight of the connecting edge at moment t, represents the connecting edge between content node i and content node j in the content node connection graph at moment t, where 1 ≤ i ≤ n, 1 ≤ j ≤ n, i ≠ j, and n is the number of content nodes included in the content node connection graph, and n is a positive integer.

[0066] Next, the preset threshold interval to which the weighted edge clustering coefficient belongs can be determined. Then, the connecting edge can be classified into the target network community corresponding to the preset threshold interval. As mentioned above, the preset threshold interval can be set according to actual needs. Exemplarily, the preset threshold interval can be set to 0 - 1, 1 - 2, 2 - 3, etc. The present disclosure does not limit the specific value range of the preset threshold interval.

[0067] According to the exemplary embodiment of the present disclosure, for the connecting edge and any one target connecting edge currently included in the target network community, the node clustering coefficient C corresponding to each content node in the content nodes included in the connecting edge and any one target connecting edge can also be obtained i .

[0068] The node clustering coefficient C i can be calculated by the following formula:

[0069]

[0070] Z i is the number of triangles in the content node connection graph that contain content node V i , S i is the number of triples in the content node connection graph that contain content node V i , and the content node V i is each content node in the content nodes included in the connecting edge and any one target connecting edge, that is, the content node V i can be each content node among the two content nodes included in the connecting edge and the two content nodes included in any one target connecting edge.

[0071] When the number of content nodes whose corresponding node clustering coefficient C i falls within the same preset threshold interval is greater than or equal to 2, the connection edge can be included in the target network community. That is, when there are 2, 3, or 4 content nodes among the two content nodes included in the connection edge and the two content nodes included in any target connection edge that fall into the same node community, the connection edge can be included in the target network community.

[0072] According to an exemplary embodiment of the present disclosure, the weighted edge fitness value function WEF can also be determined by the following formula:

[0073]

[0074]

[0075] Wherein, is the above-mentioned connection edge division coefficient, t represents the time, represents the set of connection edges in community p in the content node connection graph at time t, represents the weighted edge community fitness function of community p at time t, represents the sum of the weights of the connection edges included in community p at time t, represents the sum of the weights of all connection edges connected to community p in the content node connection graph at time t, represents the weighted edge community fitness function when the connection edge is included in community p at time t, represents the weighted edge community fitness function when the connection edge is not included in community p at time t, is the weight of the connection edge at time t, is a preset positive real number, represents the connection edge between content node i and content node j in the content node connection graph at time t, represents the connection edge between content node j and content node k in the content node connection graph at time t, 1 ≤ i ≤ n, 1 ≤ j ≤ n, 1 ≤ k ≤ n, i ≠ j, j ≠ k, and n is the number of content nodes included in the content node connection graph, and n is a positive integer.

[0076] Next, in the case of , the connection edge can be included in community p; otherwise, including the connection edge in community p can be prohibited.

[0077] It should be noted that the "edges included in community p at time t" mentioned above specifically refers to the edges on the boundary of the closed figure surrounded by multiple edges connected by content nodes in the connection graph and all the edges included inside the closed figure; the "all edges connected to community p in the content node connection graph at time t" specifically refers to all the edges in the content node connection graph where one end point is connected to the edge on the boundary of the closed figure corresponding to community p or an edge inside the closed figure, and the other end point has no connection relationship with any edge on the boundary of the closed figure and any edge included inside the closed figure.

[0078] It should be noted that in the related art, mainly nodes are used to perform community structure division on ICN, that is, mainly nodes are used to divide the multiple nodes included in ICN into different network communities respectively. Figure 3 is a schematic diagram showing an overlap of two network communities according to an exemplary embodiment of the present disclosure. Refer to Figure 3 , a total of 2 network communities are shown, namely network community 1 and network community 2. And there is an overlapping part between these two network communities: content node M, content node N, and the edges between the two content nodes.

[0079] If the community structure is divided according to the content node dimension, the number of overlapping content nodes in the two network communities is 2; if the community structure is divided according to the edge dimension, the number of overlapping edges in the two network communities is only 1, that is, compared with the method of dividing communities using the content node dimension, the number of overlapping objects is reduced by 1. Therefore, compared with the method of dividing communities using the content node dimension, the method of dividing communities using the edge dimension can reduce the overlapping degree between different network communities.

[0080] Therefore, in the present disclosure, the content node connection graph can be divided into multiple network communities based on the edge division coefficient, that is, the present disclosure mainly uses the edge dimension for community division. Compared with the method of dividing communities using the content node dimension, the method of dividing communities using the edge dimension in the present disclosure can effectively avoid the same content node being reused too many times, that is, it can effectively reduce the overlapping situation where the same content node is repeatedly divided into different network communities too many times, that is, it can effectively avoid the same content node caching useless content in different network communities excessively, avoiding excessive waste of the storage resources of the content node and greatly saving network resources.

[0081] It should be noted that in the related art, after receiving a request sent by a user terminal each time, it is necessary to calculate the acquisition path of the response data packet in real time. During the process of calculating the acquisition path, the current router node needs to calculate the router node closest to it in real time based on the information of other router nodes stored in its internal storage, and then route the request to the closest router node. Next, each subsequent router node that receives the request needs to repeat the operation of calculating the subsequent router node until the response data packet is successfully acquired. It can be seen that in the related art, since the operation of calculating the subsequent router node needs to be repeatedly executed at each router node, the entire routing and forwarding process is relatively cumbersome, and the computing load of the router node is also relatively high.

[0082] To solve the above problems existing in the related art, the network community division method, content transmission method and related devices provided by the present disclosure can store the correspondence between historical content requests and historical segment lists, that is, historical request paths, in the database corresponding to the controller. Each time a new content request is received, if a historical request path matching the content request received this time is found in the database corresponding to the controller, the data packet corresponding to this content request can be directly acquired based on this historical request path, without the need to calculate the acquisition path of the response data packet in real time, that is, without repeatedly executing the cumbersome operation of calculating the subsequent router node at each router node, reducing the cumbersome degree of the entire routing and forwarding process, and reducing the computing load of the router node, and improving the efficiency of acquiring the response data packet.

[0083] It should be noted that SRv6 incorporates programming ideas, which allows nodes to perform routing and forwarding through a Segment List and perform related operations described in the Function field. The segment list can be stored in the IPv6 extension header, and its meaning is the number of intermediate nodes that still need to be visited before reaching the destination node. The "destination node" refers to the node storing the response data packet. Since the physical nodes to pass through are sequentially stored in the segment list, different forwarding paths can be planned by editing different segment lists. As mentioned above, in the traditional ICN forwarding process, caching policies and forwarding need to be executed on each node, which makes the routing and forwarding process relatively cumbersome. In the present disclosure, the node only needs to forward the request received this time according to the previously formulated segment list, greatly improving the programmability of the network and reducing the computing load of the node.

[0084] Furthermore, in the present disclosure, SDN can be introduced, and the global management capability of the SDN controller can be fully utilized to combine SDN with SRv6, and a Software Defined-Information Centric Networking (SD-ICN) architecture is proposed. As described in the previous embodiment, in the present disclosure, ICN can be divided into multiple network communities, that is, multiple sub-regions, according to the community structure division theory. Each sub-region can be managed by SRv6 technology and the SDN controller, and each sub-region can also be called an SR domain. Figure 4 is a schematic diagram showing an SD-ICN architecture according to an exemplary embodiment of the present disclosure. Refer to Figure 4 , which shows an SDN root controller, an SDN two-layer controller, and 3 network communities, that is, 3 SR domains: SR domain 1, SR domain 2, and SR domain 3. And each network community, that is, each SR domain, is respectively connected to an SDN two-layer controller, that is, each network community can be managed through a corresponding SDN two-layer controller. Further, each network community can contain multiple content nodes. In Figure 4 , each of the 3 network communities contains 3 content nodes.

[0085] In the present disclosure, the SDN controller has both global management and segment list distribution functions. The controller can perform related operations of ICN by distributing segment lists to nodes. The SDN two-layer controller will generate an Information-Centric Networking-Link State Data Base (ICN-LSDB), which can store all SRv6 Segment information in the corresponding SR domain, and the correspondence between the historical content requests received by all content nodes in this SR domain and the historical segment lists during the historical process. The SDN root controller will generate a global database, which can store the location information of all content publishers. Exemplarily, the location information of the content publisher can be the IP address information of the device used by the content publisher.

[0086] Next, the specific implementation process of the content transmission method provided by the present disclosure will be described with reference to the accompanying drawings.

[0087] Figure 5 is a flowchart showing a content transmission method according to an exemplary embodiment of the present disclosure. The content transmission method can be applied to multiple network communities, and the multiple network communities can be divided by the foregoing network community division method. Each network community can be connected to a controller. Exemplarily, the controller can be an SDN two-layer controller.

[0088] Refer toFigure 5 In step 501, the content request sent by the user terminal can be received by the target controller. As mentioned above, the target controller can be an SDN layer-2 controller.

[0089] According to an exemplary embodiment of the present disclosure, the content request can be first received by the target content node. The target content node can be a router node, and the router node is used to process content requests initiated by multiple user terminals within its jurisdiction. When a target data packet matching the content request is found within the target content node, the target content node can send the target data packet to the user terminal. Otherwise, that is, when no target data packet matching the content request is found within the target content node, the content request can be sent by the target content node to the target controller, that is, the current content request can be forwarded by the target content node to the SDN layer-2 controller for managing the network community where the target content node is located.

[0090] Exemplarily, multiple contents and a content summary corresponding to each content among the multiple contents can be stored within the target content node. The content summary can be information obtained by refining and generalizing the corresponding content. After receiving the current content request, the target content node can search within itself to check if there is a content summary matching the current content request. When a content summary matching the current content request is found, the specific content corresponding to the matched content summary can be used as the content matching the current content request. Otherwise, that is, when no content summary matching the current content request is found within the target content node, the current content request can be forwarded by the target content node to the SDN layer-2 controller for managing the sub-region where the target content node is located.

[0091] In this way, when receiving the current content request, it can first be checked in the target content node for managing the user terminal, that is, within the target router node, if there is a data packet matching the current content request. When a data packet matching the current content request is found within the target content node, the target data packet can be directly returned to the user terminal, which can ensure the response efficiency for the content request.

[0092] In step 502, when the target controller finds a historical segment list matching the content request from the target database corresponding to the target controller, the target controller can send the historical segment list to the target content node. As mentioned above, the target content node is used to receive the content request and forward the content request to the target controller. The historical segment list can include information about each content node successively accessed during the historical process of requesting the target data packet. The target data packet can be a data packet successfully requested for a historical content request received by the network community during the historical process.

[0093] It should be noted that the aforementioned "historical segment list" is the historical request path of the requested target data packet, and this historical request path may include the relevant information of each content node among multiple content nodes sequentially accessed during the historical process of the requested target data packet. The "relevant information of each content node" is an SID information, which may specifically include 3 parts, namely: location identifier (locator), function definition (function), and optional variable (arguments). The "location identifier" field is used to identify the content node in the network, provide routing function, and be used for routing addressing; the "function definition" field can define any function or service, and guide how the message is forwarded; the "optional variable" field can be used as a supplement to the function field and store the relevant parameters of the service.

[0094] Exemplarily, a certain "historical segment list", that is, the historical request path may include the relevant information of 4 content nodes, and these 4 content nodes may be content node N2, content node N3, content node N4, and content node N5 arranged in sequence. Moreover, each content node may correspond to an SID information. Figure 6 It is a schematic diagram showing a historical segment list according to an exemplary embodiment of the present disclosure. Refer to Figure 6 , the historical segment list altogether includes 4 SID information, and moreover, the function field and the arguments field of content node N2, content node N3, and content node N4 may both be empty, that is, both may be "--"; the function field of content node N5 may be "acquire", indicating that the "acquire" operation needs to be performed at content node N5; the arguments field of content node N5 may be empty, that is, it may be "--".

[0095] According to an exemplary embodiment of the present disclosure, the target database may store the correspondence between the historical content request and the historical segment list, that is, the target database may store the correspondence between the historical content request and the historical request path, that is, the target database may store the correspondence between multiple historical content requests initiated by multiple user terminals during the historical process and multiple historical request paths. The "historical content request" may be a request for which the user terminal successfully requests the target data packet during the historical process. In the case where the target controller finds the target historical content request matching the current content request from the target database, the target controller may use the target historical segment list corresponding to the target historical content request as the historical segment list matching the current content request, that is, may use the target historical request path corresponding to the target historical content request as the historical request path matching the current content request.

[0096] It should be noted that when determining whether the current content request matches the historical content request, it can be determined whether the two content requests match based on whether the essential meanings of the two content requests are the same or similar. If the essential meanings of the two content requests are the same or similar, it can be considered that the two content requests match. That is, when determining whether two content requests match, it is not necessarily required that the literal descriptions included in the two content requests are exactly the same content.

[0097] In this way, the corresponding relationship between multiple historical content requests initiated by different user terminals and multiple historical request paths in the historical process can be stored in the database corresponding to the SDN layer 2 controller. As long as the currently received content request matches a certain historical content request stored in the database, the data packet corresponding to the current content request can be directly obtained based on the historical request path corresponding to the historical content request, without the need to calculate the acquisition path of the response data packet in real time, that is, without repeating the cumbersome operation of calculating the subsequent router nodes at each router node, reducing the cumbersome degree of the entire routing and forwarding process, and reducing the computing load of the router nodes, improving the efficiency of obtaining the response data packet.

[0098] According to an exemplary embodiment of the present disclosure, when the target controller fails to find a historical segment list that matches the content request in the target database and finds a historical segment list in the neighborhood database corresponding to the neighborhood controller adjacent to the target controller, the target controller may send the historical segment list to the target content node. The "neighborhood controller adjacent to the target controller" may refer to a controller whose actual physical location is relatively close to the target controller. Next, the target content node may obtain the target data packet from the content node that is last in the historical access order among multiple content nodes based on the historical segment list, and send the target data packet to the user terminal.

[0099] Exemplarily, the target content node may route the current content request to each of the multiple content nodes in sequence according to the historical access order of each content node included in the historical segment list, and then obtain the data packet corresponding to the current content request from the tail content node that is last in the historical access order. Then, the obtained data packet may be returned to the target content node that manages the user terminal that initiated the current content request along the original path. Next, the target content node may forward the obtained data packet to the user terminal that initiated the current content request.

[0100] In this way, when no list of historical segments matching the content request is found in the target database, it is still possible to check the neighboring database to see if there is a historical request path matching the current content request. By means of this attempt to search, the probability of successfully obtaining a response data packet can be increased. Moreover, once a historical request path matching the current content request is found in the neighboring database, the data packet corresponding to the current content request can be directly obtained based on this historical request path, without the need to calculate the acquisition path of the response data packet in real time, that is, without repeating the cumbersome operation of calculating subsequent router nodes at each router node, reducing the cumbersome degree of the entire routing and forwarding process, and reducing the computing load of the router nodes, thus improving the efficiency of obtaining the response data packet.

[0101] According to an exemplary embodiment of the present disclosure, the controllers connected to each network community may all be connected to the root controller. Exemplarily, referring back to Figure 4 , a total of 3 network communities are shown, that is, 3 SR domains, and each network community, that is, each SR domain, is connected to an SDN layer-2 controller. Further, Figure 4 the 3 SDN layer-2 controllers in

[0102] are also all connected to the root controller. When the target controller does not find a list of historical segments in the neighboring database and finds a publisher address matching the content request in the root database corresponding to the root controller, the target controller may send the publisher address to the target content node.

[0103] Next, the target content node may obtain the target data packet from the publisher terminal indicated by the publisher address, and may send the target data packet to the user terminal. Exemplarily, the target content node may directly send the current content request to the publisher terminal indicated by the publisher address and may obtain a response data packet from the publisher terminal. Next, the obtained response data packet may be returned along the original path to the target content node for managing the user terminal that initiated the current content request. Then, the target content node may forward the response data packet to the user terminal that initiated the current content request.

[0104] In this way, when no historical request path matching the current content request is found in either the target database or the neighborhood database, it is also possible to check in the root database whether there is a publisher address matching the current content request. By means of such multiple attempts at searching, the probability of successfully obtaining a response data packet can be further increased. Moreover, once a publisher address matching the current content request is found in the root database, the data packet corresponding to the current content request can be directly obtained based on this publisher address, without the need to calculate in real time the acquisition path of the response data packet, that is, without having to repeatedly perform the cumbersome operation of calculating subsequent router nodes at each router node, reducing the cumbersome degree of the entire routing and forwarding process, and reducing the computing load of the router nodes, thus improving the efficiency of obtaining the response data packet.

[0105] According to an exemplary embodiment of the present disclosure, the root database may store the correspondence between historical content requests and historical publisher addresses, that is, the root database may store the correspondence between multiple historical content requests initiated by multiple user terminals during the historical process and multiple historical publisher addresses. The historical content request may be a request for which a user terminal successfully requests a target data packet during the historical process, and the "historical publisher address" may be the device address of the publisher that publishes the target data packet.

[0106] When the target controller finds a target historical content request matching the current content request in the root database, the target controller may use the target historical publisher address corresponding to the target historical content request as the publisher address matching the current content request.

[0107] It should be noted that, as mentioned above, when determining whether the current content request matches a historical content request, it can be determined whether the two content requests match based on whether the essential meanings of the two content requests are the same or similar. If the essential meanings of the two content requests are the same or similar, it can be considered that the two content requests match. That is, when determining whether two content requests match, it is not necessarily required that the literal descriptions included in the two content requests are exactly the same.

[0108] In this way, the correspondence between multiple historical content requests initiated by different user terminals and multiple historical publisher addresses during the historical process can be stored in the root database corresponding to the root controller. As long as the content request received this time matches a certain historical content request stored in the root database, the data packet corresponding to this content request can be directly obtained based on the historical publisher address corresponding to the historical content request, without the need to calculate the acquisition path of the response data packet in real time, that is, without repeating the cumbersome operation of calculating the subsequent router nodes at each router node, reducing the cumbersome degree of the entire routing and forwarding process, and reducing the computing load of the router node, thereby improving the efficiency of obtaining the response data packet.

[0109] In step 503, the target content node may obtain the target data packet from the content node that is last in the historical access order among the multiple content nodes based on the historical segment list. Figure 7 It is a schematic diagram showing a content transmission process according to an exemplary embodiment of the present disclosure. Refer to Figure 7 , which shows an SDN root controller, an SDN layer 2 controller, multiple network communities (multiple SR domains), and multiple content nodes N1 to N6. The above target content node may be content node N2.

[0110] As mentioned above, the "historical segment list", that is, the historical request path, may include information about 4 content nodes, and these 4 content nodes may be content node N2, content node N3, content node N4, and content node N5 arranged in sequence.

[0111] First, after the target content node, that is, content node N2, receives the historical segment list sent by the target controller, it may determine its next destination content node as content node N3 based on the historical segment list, that is, IPv6 DA = N3. And since the historical segment list has reached content node N2 at this time, the SID information corresponding to content node N2 has lost its value at this time. And to avoid confusion, the SID information corresponding to content node N2 may be directly deleted. At this time, there are only 3 SID information left in the historical segment list, that is, only the 3 SID information respectively corresponding to content node N3, content node N4, and content node N5. That is, the number of intermediate content nodes at this time is 3, that is, SRH (SL = 3) at this time.

[0112] Next, the content node N2 can send the historical segment list and the current content request to its next destination content node, i.e., the content node N3. At this time, after receiving the historical segment list sent by the content node N2, the content node N3 can determine its next destination content node as the content node N4 based on this historical segment list, i.e., IPv6 DA = N4. And since the historical segment list has reached the content node N3 at this time, the SID information corresponding to the content node N3 has lost its value. Also, to avoid confusion, the SID information corresponding to the content node N3 can be directly deleted. At this time, there are only 2 SID information left in the historical segment list, i.e., only the 2 SID information respectively corresponding to the content node N4 and the content node N5. That is, the number of intermediate content nodes at this time is 2, which means SRH (SL = 2) at this time.

[0113] Then, the content node N3 can send the historical segment list and the current content request to its next destination content node, i.e., the content node N4. At this time, after receiving the historical segment list sent by the content node N3, the content node N4 can determine its next destination content node as the content node N5 based on this historical segment list, i.e., IPv6 DA = N5. And since the historical segment list has reached the content node N4 at this time, the SID information corresponding to the content node N4 has lost its value. Also, to avoid confusion, the SID information corresponding to the content node N4 can be directly deleted. At this time, there is only 1 SID information left in the historical segment list, i.e., only the 1 SID information corresponding to the content node N5. That is, the number of intermediate content nodes at this time is 1, which means SRH (SL = 1) at this time.

[0114] Next, the content node N4 can send the historical segment list and the current content request to its next destination content node, i.e., the content node N5. At this time, after the content node N5 receives the historical segment list sent by the content node N4, since the historical segment list has reached the content node N5 at this time, therefore, the SID information corresponding to the content node N5 has lost its utilization value at this time. And, to avoid confusion, the SID information corresponding to the content node N5 can be directly deleted. At this time, there is no SID information of any content node in the historical segment list, that is, the number of intermediate content nodes at this time is 0, that is, SRH(SL = 0) at this time. At this time, when the content node N5 finds that SL = 0, it can determine that it is the tail content node of the historical request path. And, as mentioned above, since the function field in the SID information corresponding to the content node N5 is "acquire", which means that the "acquire" operation needs to be performed at the content node N5. Therefore, the target data packet corresponding to the current content request can be acquired from the tail content node N5, and the target data packet can be returned along the original path to the target content node for managing the user terminal that initiated the current content request, that is, the content node N2.

[0115] In step 504, the target content node can send the target data packet to the user terminal, that is, the target content node can send the target data packet to the user terminal that initiated the current content request.

[0116] According to an exemplary embodiment of the present disclosure, after the target content node acquires the target data packet based on the historical request path found in the neighborhood database, the target content node can also cache the target data packet. Further, when the target controller issues the historical segment list to the target content node, the current content request, the historical segment list, and the operation instruction to be executed at the target content node can be directly pushed into the IPv6 packet, and the IPv6 packet is issued to the target content node. Exemplarily, the operation instruction to be executed at the target content node can also be set in the form of "location identifier (locator)-function definition (function)-optional variable (arguments)". For example, the operation instruction can be set to: "target content node-cache-optional variable", indicating that a cache operation needs to be performed at the target content node.

[0117] In this way, after the target content node acquires the data packet corresponding to the current content request from the content node with the last historical access order in the multiple content nodes included in the historical segment list based on the historical segment list in the IPv6 packet, the acquired data packet can also be cached in itself based on the operation instruction in the IPv6 packet: "target content node-cache-optional variable".

[0118] Moreover, the target controller can also associate the current content request with the historical segment list and store the obtained association relationship in the target database, that is, the target controller can also store the current content request and the historical request path found in the neighborhood database in the target database in a corresponding manner.

[0119] In this way, by caching the target data packet at the target content node, when a content request similar to the current content request is received again later, the response data packet can be directly obtained from the target content node, without having to go to the SDN layer 2 controller of the network community to which the target content node belongs to find the historical request path, which can improve the response efficiency of obtaining the response data packet and save query resources. Further, the current content request and the historical request path found in the neighborhood database can be stored in the target database in a corresponding manner. When a content request similar to the current content request is received again later, the matching historical request path can be directly found in the target database, without having to search in the neighborhood database, which can save query resources and improve the response efficiency of obtaining the response data packet.

[0120] According to an exemplary embodiment of the present disclosure, after the target content node obtains the target data packet based on the historical publisher address found in the root database, the target data packet can also be cached by the target content node. The process of caching the target data packet at the target content node has been elaborated in detail above and will not be repeated here. Moreover, the root controller can also associate the current content request and the publisher address and store the obtained association relationship in the root database, that is, the root controller can also store the current content request and the historical publisher address found in the root database that matches the current content request in the root database in a corresponding manner.

[0121] In this way, by caching the target data packet at the target content node, when a content request similar to the current content request is received again later, the response data packet can be directly obtained from the target content node, without having to go to the SDN layer 2 controller of the network community to which the target content node belongs to find the historical request path, and without having to search in the root database for the historical publisher address, which can improve the response efficiency of obtaining the response data packet and save query resources. Further, the current content request and the historical publisher address found in the root database can be stored in the root database in a corresponding manner, realizing the timely update, expansion, and improvement of the corresponding relationship between the historical content request and the historical publisher address in the root database. When a content request is received again later, the probability of finding the historical publisher address that matches the subsequent content request in the root database can be guaranteed to be increased, and thus the response efficiency of obtaining the response data packet can be guaranteed to be increased.

[0122] Figure 8 It is a specific implementation flowchart showing a content transmission method according to an exemplary embodiment of the present disclosure. The specific implementation process of this content transmission method can be applied to multiple network communities, which can be divided by the aforementioned network community division method, and each network community can be connected to a controller. Exemplarily, the controller can be an SDN layer-2 controller. Moreover, the SDN layer-2 controllers to which each network community is connected can also be connected to the root controller.

[0123] Refer to Figure 8 , in step 801, the user terminal initiates a content request. Exemplarily, the user terminal can send a content request to the target content node that manages the user terminal. The target content node can be a router node in the network community, and this router node can have both content routing and efficient caching functions. Also, a single router node in the network community can be responsible for managing the content requests initiated by multiple user terminals within its jurisdiction.

[0124] In step 802, the target content node receives the content request initiated by a certain user terminal within its jurisdiction.

[0125] In step 803, check whether there is a data packet in the target content node that matches the content request received this time. If a data packet that matches the content request received this time is found in the target content node, execute step 804; otherwise, execute step 805.

[0126] In step 804, the target content node sends the data packet to the user terminal that initiated this content request.

[0127] In step 805, when no data packet that matches the content request received this time is found in the target content node, the target content node sends this content request to the target controller, that is, sends this content request to the target SDN layer-2 controller that manages the network community to which the target content node belongs.

[0128] In step 806, the target controller checks whether there is a historical segment list, that is, a historical request path, in its corresponding target database, namely the target Information-Centric Networking Link State Database (ICN-LSDB), that matches the content request this time. If the target controller finds a historical request path that matches the content request this time in its corresponding target database, execute step 807; otherwise, execute step 809.

[0129] The "historical segment list" may contain relevant information of each content node among multiple content nodes sequentially accessed during the history of the request response data packet, and the "response data packet" may be a data packet successfully requested for a historical content request received by the network community during the history. Further, as described in the previous embodiment, the "relevant information of each content node" is an SID information, which may specifically include three parts: locator, function definition, and optional arguments.

[0130] In step 807, when the target controller finds a historical request path matching the current content request in its corresponding target database, the target controller sends the matching historical request path to the target content node.

[0131] In step 808, the target content node can route the current content request to each of the multiple content nodes in sequence according to the historical access order of each content node included in the historical segment list sent by the target controller, and then can obtain the data packet corresponding to the current content request from the tail content node with the last historical access order.

[0132] In step 809, when the target controller does not find a historical request path matching the current content request in its corresponding target database, it can check whether there is a historical segment list matching the current content request in the neighborhood database corresponding to the neighborhood controller adjacent to the target controller. When the target controller finds a historical segment list matching the current content request in the neighborhood database, step 8010 is executed; otherwise, step 8013 is executed.

[0133] In step 8010, when the target controller finds a historical segment list matching the current content request in the neighborhood database, the target controller sends the historical segment list found in the neighborhood database to the target content node.

[0134] In step 8011, the target content node can obtain the data packet corresponding to the current content request based on the historical segment list found in the neighborhood database.

[0135] In step 8012, the target content node caches the obtained data packet, and the target controller stores the current content request and the historical segment list found in the neighborhood database in the target database corresponding to the target controller.

[0136] In step 8013, when the target controller fails to find a historical segment list that matches the current content request in the neighborhood database, the target controller searches the root database to determine whether there is a publisher address that matches the current content request. If the target controller finds a publisher address that matches the current content request in the root database, step 8014 is executed; otherwise, step 8017 is executed.

[0137] In step 8014, when the target controller finds a publisher address that matches the current content request in the root database, the target controller may send the publisher address to the target content node.

[0138] In step 8015, the target content node obtains a data packet from the publisher terminal indicated by the publisher address.

[0139] In step 8016, the target content node caches the obtained data packet, and the root controller stores the current content request and the historical publisher address found in the root database in the root database in association with each other.

[0140] In step 8017, when the target controller fails to find a publisher address that matches the current content request in the root database, it is determined that the current content request fails.

[0141] Figure 9 FIG. is a block diagram showing a network community division device according to an exemplary embodiment of the present disclosure.

[0142] Refer to Figure 9 , the device 900 may include a connection graph acquisition module 901, a triangle and triple number acquisition module 902, an edge connection division coefficient determination module 903, and a community division module 904.

[0143] The connection graph acquisition module 901 is configured to acquire a content node connection graph, where the content node connection graph includes a plurality of content nodes, and connections are established between some of the plurality of content nodes. Each connection has a corresponding weight, and the weight is used to measure the correlation degree between the two content nodes connected by the connection. The content node is a device node in the information network for storing content.

[0144] A triangle and triple number acquisition module 902, configured to acquire the number of triangles and the number of triples corresponding to each of the multiple edges included in the content node connection graph, where the triangle is a triangle in the content node connection graph at a preset time that does not include the edge, and the triple represents a triangle in the content node connection graph at the preset time that does not include the edge, three isolated content nodes that do not include the edge and have no edges between them, three content nodes that do not include the edge but have two edges between them, and three content nodes that do not include the edge but have one edge between them;

[0145] An edge division coefficient determination module 903, configured to determine an edge division coefficient for network community division based on the number of triangles and the number of triples corresponding to each of the multiple edges, or based on the number of triangles, the number of triples, and the weight corresponding to each of the multiple edges, or based on the weight corresponding to each edge;

[0146] A community division module 904, configured to perform community division on the content node connection graph based on the edge division coefficient to obtain multiple network communities, where each network community includes some of the multiple edges included in the content node connection graph.

[0147] According to an exemplary embodiment of the present disclosure, the edge division coefficient determination module 903 is configured to:

[0148] Determine the edge clustering coefficient through the following formula As the edge division coefficient:

[0149]

[0150] where t represents the time, represents the number of triangles in the content node connection graph at time t that do not include the edge and represents the number of triples in the content node connection graph at time t that do not include the edge , represents the edge between content node i and content node j in the content node connection graph at time t, 1 ≤ i ≤ n, 1 ≤ j ≤ n, i ≠ j, n is the number of content nodes included in the content node connection graph, and n is a positive integer;

[0151] The community division module 904 is configured to:

[0152] Determine the preset threshold interval to which the edge clustering coefficient belongs;

[0153] Incorporate the connecting edge into the target network community corresponding to the preset threshold interval.

[0154] According to an exemplary embodiment of the present disclosure, the connecting edge division coefficient determination module 903 is configured to:

[0155] Determine the weighted edge clustering coefficient through the following formula as the connecting edge division coefficient:

[0156]

[0157] where t represents the time, represents the number of triangles in the content node connection graph at time t that do not include the connecting edge , represents the number of triples in the content node connection graph at time t that do not include the connecting edge , is the weight of the connecting edge at time t, represents the connecting edge between content node i and content node j in the content node connection graph at time t, 1 ≤ i ≤ n, 1 ≤ j ≤ n, i ≠ j, and n is the number of content nodes included in the content node connection graph, and n is a positive integer;

[0158] The community division module 904 is configured to:

[0159] Determine the preset threshold interval to which the weighted edge clustering coefficient belongs;

[0160] Incorporate the connecting edge into the target network community corresponding to the preset threshold interval.

[0161] According to an exemplary embodiment of the present disclosure, the community division module 904 is configured to:

[0162] For the connecting edge and any one of the target connecting edges currently included in the target network community, obtain the node clustering coefficient C corresponding to each content node in the content nodes included in the connecting edge and the content nodes included in any one of the target connecting edges; i ;

[0163] In the case where the number of content nodes whose corresponding node clustering coefficient C i falls within the same preset threshold interval is greater than or equal to 2, incorporate the connecting edge into the target network community;

[0164] where the node clustering coefficient Ci Calculated by the following formula:

[0165]

[0166] Z i is the number of triangles containing content node V in the content node connection graph, S i is the number of triples containing content node V in the content node connection graph, and the content node V i is the content node included in the said connecting edge i and each content node in the content nodes included in any one of the target connecting edges. i For the connecting edge and the content nodes included in the content nodes included in any one of the target connecting edges.

[0167] According to an exemplary embodiment of the present disclosure, the connecting edge partitioning coefficient determination module 903 is configured to:

[0168] Determine the weighted edge fitness value function WEF by the following formula:

[0169]

[0170]

[0171] wherein, is the connecting edge partitioning coefficient, t represents the time, represents the set of connecting edges in community p in the content node connection graph at time t, represents the weighted edge community fitness function of community p at time t, represents the sum of the weights of the connecting edges included in community p at time t, represents the sum of the weights of all connecting edges connected to community p in the content node connection graph at time t, represents the weighted edge community fitness function when the connecting edge is included in community p at time t, represents the weighted edge community fitness function when the connecting edge is not included in community p at time t, is the weight of the connecting edge at time t, is a preset positive real number, represents the connecting edge between content node i and content node j in the content node connection graph at time t, represents the connecting edge between content node j and content node k in the content node connection graph at time t, 1≤i≤n, 1≤j≤n, 1≤k≤n, i≠j, j≠k, n is the number of content nodes included in the content node connection graph, and n is a positive integer;

[0172] The community division module 904 is configured to:

[0173] In the case of connect the edge to the community p;

[0174] Otherwise, prohibit connecting the edge to the community p.

[0175] According to an exemplary embodiment of the present disclosure, the connection graph acquisition module 901 is configured to: obtain the name or keyword of the content stored in each of the multiple content nodes; determine the degree of relevance between every two content nodes based on the name or keyword of the content stored in every two content nodes among the multiple content nodes; establish an edge between two content nodes with a relevance degree higher than a preset degree threshold to obtain the content node connection graph.

[0176] According to an exemplary embodiment of the present disclosure, the connection graph acquisition module 901 is configured to: use the number of identical characters included in the names of the content stored in every two content nodes as the degree of relevance, where the more the number of identical characters, the higher the degree of relevance.

[0177] According to an exemplary embodiment of the present disclosure, the connection graph acquisition module 901 is configured to: use the number of identical keywords included in the content stored in every two content nodes as the degree of relevance, where the more the number of identical keywords, the higher the degree of relevance.

[0178] Figure 10 FIG. is a block diagram showing an electronic device 1000 according to an exemplary embodiment of the present disclosure.

[0179] Referring to Figure 10 , the electronic device 1000 includes at least one memory 1001 and at least one processor 1002. Instructions are stored in the at least one memory 1001, and when the instructions are executed by the at least one processor 1002, a network community division method or a content transmission method according to an exemplary embodiment of the present disclosure is executed.

[0180] As an example, the electronic device 1000 may be a PC computer, a tablet device, a personal digital assistant, a smart phone, or other devices capable of executing the above instructions. Here, the electronic device 1000 does not have to be a single electronic device, and may also be any assembly of devices or circuits that can execute the above instructions (or instruction sets) alone or jointly. The electronic device 1000 may also be a part of an integrated control system or a system manager, or may be configured as a portable electronic device that can be interconnected with a local or remote device (e.g., via wireless transmission).

[0181] In the electronic device 1000, the processor 1002 may include a central processing unit (CPU), a graphics processing unit (GPU), a programmable logic device, a dedicated processor system, a microcontroller, or a microprocessor. By way of example and not limitation, the processor may also include an analog processor, a digital processor, a microprocessor, a multi-core processor, a processor array, a network processor, and the like.

[0182] The processor 1002 may execute instructions or code stored in the memory 1001, where the memory 1001 may also store data. The instructions and data may also be sent and received via the network interface device over a network, where the network interface device may employ any known transmission protocol.

[0183] The memory 1001 may be integrated with the processor 1002. For example, RAM or flash memory may be disposed within an integrated circuit microprocessor or the like. Additionally, the memory 1001 may include separate devices such as an external disk drive, a storage array, or other storage devices usable by any database system. The memory 1001 and the processor 1002 may be operatively coupled or may communicate with each other, for example, via an I / O port, a network connection, etc., such that the processor 1002 can read files stored in the memory.

[0184] In addition, the electronic device 1000 may further include a video display (such as a liquid crystal display) and a user interaction interface (such as a keyboard, a mouse, a touch input device, etc.). All components of the electronic device 1000 may be connected to each other via a bus and / or a network.

[0185] According to an exemplary embodiment of the present disclosure, a computer-readable storage medium may also be provided. When instructions in the computer-readable storage medium are executed by a processor of an electronic device, the electronic device is enabled to execute the above-mentioned network community division method or content transmission method. Examples of such computer-readable storage media include: read-only memory (ROM), programmable read-only memory (PROM), electrically erasable programmable read-only memory (EEPROM), random access memory (RAM), dynamic random access memory (DRAM), static random access memory (SRAM), flash memory, non-volatile memory, CD-ROM, CD-R, CD+R, CD-RW, CD+RW, DVD-ROM, DVD-R, DVD+R, DVD-RW, DVD+RW, DVD-RAM, BD-ROM, BD-R, BD-R LTH, BD-RE, Blu-ray or optical disc storage, hard disk drive (HDD), solid state drive (SSD), cartridge memory (such as, multimedia card, secure digital (SD) card or extreme digital (XD) card), magnetic tape, floppy disk, magneto-optical data storage device, optical data storage device, hard disk, solid state disk, and any other device configured to store a computer program and any associated data, data files, and data structures in a non-transitory manner and to provide the computer program and any associated data, data files, and data structures to a processor or computer such that the processor or computer can execute the computer program. The computer program in the above-mentioned computer-readable storage medium may run in an environment deployed in computer devices such as clients, hosts, proxy devices, servers, etc. In addition, in one example, the computer program and any associated data, data files, and data structures are distributed on a networked computer system such that the computer program and any associated data, data files, and data structures are stored, accessed, and executed in a distributed manner by one or more processors or computers.

[0186] Those skilled in the art will readily conceive of other embodiments of the present disclosure after considering the specification and practicing the invention disclosed herein. The present disclosure is intended to cover any variations, uses, or adaptations of the present disclosure that follow the general principles of the present disclosure and include known common knowledge or conventional technical means in the technical field not disclosed by the present disclosure. The specification and embodiments are only to be considered as exemplary, and the true scope and spirit of the present disclosure are pointed out by the following claims.

[0187] It should be understood that the present disclosure is not limited to the exact structures described above and shown in the drawings, and various modifications and changes can be made without departing from its scope. The scope of the present disclosure is only limited by the appended claims.

Claims

1. A method for network community division, characterized in that, Including: Obtain a content node connection graph, where the content node connection graph includes a plurality of content nodes, some of the plurality of content nodes are connected by edges, and the edges have corresponding weights, and the weights are used to measure the correlation degree between the two content nodes connected by the edge, and the content node is a device node for storing content in the information network; Obtain the number of triangles and the number of triples corresponding to each edge among the plurality of edges included in the content node connection graph, where the triangle is a triangle in the content node connection graph that does not include the edge at a preset time, and the triple represents a triangle in the content node connection graph that does not include the edge at the preset time, three isolated content nodes that do not include the edge and have no edges between them, three content nodes that do not include the edge but have two edges between them, and three content nodes that do not include the edge but have one edge between them; Based on the number of triangles and the number of triples corresponding to each edge among the plurality of edges, or based on the number of triangles, the number of triples corresponding to each edge among the plurality of edges, and the weight corresponding to each edge, or based on the weight corresponding to each edge, determine an edge partition coefficient for network community partition; Based on the edge partition coefficient, perform community partition on the content node connection graph to obtain a plurality of network communities, where each network community includes some of the plurality of edges included in the content node connection graph.

2. The network community division method according to claim 1, wherein The determining an edge partition coefficient for network community partition based on the number of triangles and the number of triples corresponding to each edge among the plurality of edges includes: Determine the edge clustering coefficient through the following formula As the edge division coefficient described above: where t represents the moment, represents the number of triangles in the content node connection graph at moment t that do not contain connecting edges ; represents the number of triples in the content node connection graph at moment t that do not contain connecting edges ; represents the connecting edge between content node i and content node j in the content node connection graph at moment t, where 1 ≤ i ≤ n, 1 ≤ j ≤ n, i ≠ j, n is the number of content nodes included in the content node connection graph, and n is a positive integer; The performing community partition on the content node connection graph based on the edge partition coefficient includes: Determine the edge clustering coefficient Belonging to the preset threshold interval; Assign the edge to the target network community corresponding to the preset threshold range.

3. The network community division method according to claim 1, characterized in that The determining an edge partition coefficient for network community partition based on the number of triangles, the number of triples corresponding to each edge among the plurality of edges, and the weight corresponding to each edge includes: Determine the weighted edge clustering coefficient through the following formula is the edge division coefficient for the said connected edges: where t represents the moment, represents the number of triangles in the content node connection graph at moment t that do not contain connecting edges ; represents the number of triples in the content node connection graph at moment t that do not contain connecting edges ; is the weight of the connecting edge at moment t; represents the connecting edge between content node i and content node j in the content node connection graph at moment t, where 1 ≤ i ≤ n, 1 ≤ j ≤ n, i ≠ j, n is the number of content nodes included in the content node connection graph, and n is a positive integer. The performing community partition on the content node connection graph based on the edge partition coefficient includes: Determine the weighted edge clustering coefficient The preset threshold interval to which it belongs; Incorporate the connecting edge into the target network community corresponding to the preset threshold interval.

4. The method for partitioning network communities according to claim 2 or 3, characterized in that, The above-mentioned connecting edge is included in the target network community corresponding to the preset threshold interval, including: For an edge and any one target edge currently included in the target network community, obtain the content nodes included in the edge and the node clustering coefficient C corresponding to each content node among the content nodes included in the any one target edge i ; When the number of content nodes whose corresponding node clustering coefficient C i falls within the same preset threshold interval is greater than or equal to 2, the edge is included in the target network community; wherein, the node clustering coefficient C i is calculated by the following formula: Z i The number of triangles containing content node V in the content node connection graph i is S i The number of triples containing content node V in the content node connection graph i where the content node V i is each content node among the content nodes included in the said connecting edge and the content nodes included in any one of the target connecting edges.

5. The network community division method according to claim 1, characterized in that The determining an edge partition coefficient for network community partition based on the weight corresponding to each edge includes: Determine a weighted edge fitness value function WEF through the following formula: Among them, is the edge division coefficient, t represents the moment, represents the set of edges in community p in the content node connection graph at time t, represents the weighted-edge community fitness function of community p at time t, represents the sum of the weights of the edges included in community p at time t, represents the sum of the weights of all the edges connected to community p in the content node connection graph at time t, represents that at time t, the edge is included in community p, and the weighted-edge community fitness function at this time, represents that at time t, the edge is not included in community p, and the weighted-edge community fitness function at this time, is the weight of the edge at time t, is a preset positive real number, represents the edge between content node i and content node j in the content node connection graph at time t, represents the edge between content node j and content node k in the content node connection graph at time t, 1 ≤ i ≤ n, 1 ≤ j ≤ n, 1 ≤ k ≤ n, i ≠ j, j ≠ k, n is the number of content nodes included in the content node connection graph, and n is a positive integer; The performing community partition on the content node connection graph based on the edge partition coefficient includes: In the case of , the connecting edge is included in the said community p; Otherwise, it is prohibited to include the connecting edge in the said community p.

6. The method for partitioning a network community according to claim 1, wherein The obtaining a content node connection graph includes: Obtain the name or keyword of the content stored in each content node among the plurality of content nodes; Based on the name or keyword of the content stored in every two content nodes among the plurality of content nodes, determine the correlation degree between every two content nodes; Establish an edge between two content nodes with a correlation degree higher than a preset degree threshold to obtain the content node connection graph.

7. A content transmission method, characterized in that The content transmission method is applied to a plurality of network communities, and the plurality of network communities are partitioned by the network community partition method according to any one of claims 1 to 6, and each network community is connected to a controller, and the method includes: Receiving a content request sent by a user terminal by a target controller; In the case that the target controller finds a historical segment list matching the content request from a target database corresponding to the target controller, sending, by the target controller, the historical segment list to a target content node, where the target content node is configured to receive the content request and forward the content request to the target controller, the historical segment list includes relevant information of each content node among a plurality of content nodes sequentially accessed in a historical process of requesting a target data packet, and the target data packet is a data packet successfully requested for a historical content request received by the network community in a historical process; Obtaining, by the target content node, the target data packet from the content node that is last in the historical access order among the plurality of content nodes based on the historical segment list; Sending, by the target content node, the target data packet to the user terminal.

8. The content transmission method according to claim 7, characterized in that The method further includes: In the case that the target controller does not find a historical segment list matching the content request from the target database and finds the historical segment list in a neighborhood database corresponding to a neighborhood controller adjacent to the target controller, sending, by the target controller, the historical segment list to the target content node; Obtaining, by the target content node, the target data packet from the content node that is last in the historical access order among the plurality of content nodes based on the historical segment list, and sending the target data packet to the user terminal.

9. The content transmission method according to claim 8, wherein Each controller connected to the network community is connected to a root controller, and the method further includes: In the case that the target controller does not find the historical segment list from the neighborhood database and finds a publisher address matching the content request in a root database corresponding to the root controller, sending, by the target controller, the publisher address to the target content node; Obtaining, by the target content node, the target data packet from a publisher terminal indicated by the publisher address, and sending the target data packet to the user terminal.

10. A network community division device, characterized in that Including: A connection graph obtaining module, configured to obtain a content node connection graph, where the content node connection graph includes a plurality of content nodes, connections are established between some of the plurality of content nodes, the connections have corresponding weights, and the weights are used to measure the correlation degree between two content nodes connected by the connections, and the content nodes are device nodes in an information network for storing content; A triangle and triple number acquisition module, configured to acquire the number of triangles and the number of triples corresponding to each of the multiple edges included in the content node connection graph, where the triangle is a triangle in the content node connection graph at a preset moment that does not include the edge, and the triple represents a triangle in the content node connection graph at the preset moment that does not include the edge, three isolated content nodes that do not include the edge and have no edges between them, three content nodes that do not include the edge but have two edges between them, and three content nodes that do not include the edge but have one edge between them; An edge division coefficient determination module, configured to determine an edge division coefficient for network community division based on the number of triangles and the number of triples corresponding to each of the multiple edges, or based on the number of triangles, the number of triples, and the weight corresponding to each of the multiple edges, or based on the weight corresponding to each edge; A community division module, configured to perform community division on the content node connection graph based on the edge division coefficient to obtain multiple network communities, where each network community includes some of the multiple edges included in the content node connection graph.