WO2014000697A1 - 内容处理方法、装置及系统 - Google Patents

内容处理方法、装置及系统 Download PDF

Info

Publication number
WO2014000697A1
WO2014000697A1 PCT/CN2013/078434 CN2013078434W WO2014000697A1 WO 2014000697 A1 WO2014000697 A1 WO 2014000697A1 CN 2013078434 W CN2013078434 W CN 2013078434W WO 2014000697 A1 WO2014000697 A1 WO 2014000697A1
Authority
WO
WIPO (PCT)
Prior art keywords
content
coding block
feature
block
request
Prior art date
Application number
PCT/CN2013/078434
Other languages
English (en)
French (fr)
Inventor
严哲峰
Original Assignee
华为技术有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 华为技术有限公司 filed Critical 华为技术有限公司
Priority to EP13810290.0A priority Critical patent/EP2747336B1/en
Publication of WO2014000697A1 publication Critical patent/WO2014000697A1/zh
Priority to US14/311,075 priority patent/US9848059B2/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • H04L12/1886Arrangements for providing special services to substations for broadcast or conference, e.g. multicast with traffic restrictions for efficiency improvement, e.g. involving subnets or subdomains
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/63Routing a service request depending on the request content or context
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]

Definitions

  • the present invention relates to communication technologies, and in particular, to a content processing method, apparatus, and system. Background technique
  • a Content-Centric Network is a content-based network architecture.
  • CCN Content-Centric Network
  • the content of the information itself is in network transmission.
  • the "primary entity" in place of the IP address with the name of the content, requests and delivers the message in the form of an Request-Data message pair.
  • a content corresponds to a unique name, and the content is divided into two or more content blocks, different content blocks are stored in different CCN nodes, and routing and forwarding are performed based on the name of the content block. .
  • the terminal When the terminal needs to obtain a message of a certain content, it may sequentially send a plurality of Interests for each content block of the content to the intermediate router, and if the node in the network stores the content block corresponding to the Interest, the data is fed back to the data.
  • the content router is forwarded to the terminal by the content, and after the terminal obtains all the content blocks corresponding to the content, the message corresponding to the content can be recovered.
  • each CCN node In the prior art, different content blocks of a plurality of different contents are stored on each CCN node, but the same content blocks of the same content may be simultaneously stored on a plurality of different CCN nodes. Since each node of the CCN forwards the Interest, it generally performs multi-port forwarding in a broadcast-like manner. Therefore, multiple CCN nodes that receive the Interest and store the content block requested by the Interest return the content requested by the Interest. Block, but in fact only need one piece of content. It can be seen that multiple CCN nodes return the same content block, which causes waste of bandwidth resources.
  • the embodiments of the present invention provide a content distribution method, a content request method, a device, and a system, which are used to solve the problem of serious bandwidth waste caused by multiple CCN nodes returning the same content block in the prior art.
  • a first aspect of the embodiments of the present invention provides a content request method, including: generating a content request message, where the content request message includes: a request content name, a request Identifying and excluding information, the request identifier is used to identify at least one coded block of the request, and the exclusion information includes a feature field of the acquired coded block;
  • the coded block is generated by linearly encoding at least two equal-sized content blocks divided by the requested content, each The coded blocks uniquely correspond to a feature identifier, and the feature identifier includes a name and a feature field of the requested content.
  • Another aspect of the present invention provides a message processing method, including: receiving a content request message sent by a terminal, where the content request message includes: a name of the requested content, a request identifier, and exclusion information, where the request identifier is used for Identifying at least one encoded block of the request, the exclusion information including a feature field of the acquired encoded block;
  • the coding block information corresponding to the requested content, where the coding block information includes a coding block and a feature identifier corresponding to the coding block, the coding The block is generated by linearly encoding at least two equal-sized content blocks divided by a content, where the feature identifier includes a name and a feature field of the content;
  • the terminal Sending a first content reply message to the terminal, where the first content reply message includes a feature field corresponding to the first target coding block and the first target coding block.
  • a still further aspect of the embodiments of the present invention provides a content publishing method, including: dividing a content into at least two content blocks of equal size;
  • each coding block uniquely corresponding to a feature identifier, where the feature identifier includes a name and a feature field of the content, where The feature field is a coefficient formed in the linear encoding process to store the plurality of coded blocks and corresponding feature identifiers in each node of the content-centric network CCN.
  • a further aspect of the embodiments of the present invention provides a terminal device, including:
  • a request generating module configured to generate a content request message, where the content request message includes: Determining a name of the content, a request identifier, and an exclusion information, where the request identifier is used to identify at least one coded block of the request, and the exclusion information includes a feature field of the acquired coded block;
  • a request sending module configured to send the content request message to a node of the CCN, to obtain the requested content
  • the coding block is generated by linearly encoding at least two equal-sized content blocks divided by the requested content, each coding block uniquely corresponding to one feature identifier, and the feature identifier includes the requested content. Name and feature fields.
  • a still further aspect of the embodiments of the present invention provides a CCN node, including:
  • a request receiving module configured to receive a content request message sent by the terminal, where the content request message includes: a name of the requested content, a request identifier, and the exclusion information, where the request identifier is used to identify the at least one encoded block, the exclusion information Include a feature field of the acquired coded block;
  • a searching module configured to determine, according to the name of the requested content and the pre-stored coding block information, coding block information corresponding to the requested content, where the coding block information includes a coding block and a feature corresponding to the coding block And the coding block is generated by linearly encoding at least two equal-sized content blocks divided by a content, where the feature identifier includes a name and a feature field of the content;
  • an obtaining module configured to perform an AND operation on the feature field in the coded block information corresponding to the request content, and obtain a code corresponding to the feature field that is not 0 in the operation result and does not belong to the exclusion information.
  • the first sending module is configured to send a first content reply message to the terminal, where the first content reply message includes a feature field corresponding to the first target coding block and the first target coding block.
  • a further aspect of the present invention provides a content distribution apparatus, including: a segmentation module, configured to divide a content into at least two equal-sized content blocks; and a linear coding module, configured to The content blocks are linearly encoded, and a plurality of coding blocks are generated, which are more than the number of content blocks.
  • Each coding block uniquely corresponds to one feature identifier, and the feature identifier includes a name and a feature field of the content, where the feature field is a coefficient vector formed during linear coding;
  • a storage module configured to store the multiple coded blocks and corresponding feature identifiers into the content The nodes of the heart of the network CCN.
  • Yet another aspect of an embodiment of the present invention is to provide a CCN system including a plurality of CCN nodes, each CCN node being a CCN node as described above.
  • the content distribution method, the content request method, the device and the system provided by the present invention can linearly encode two or more content blocks of the same content into coding blocks, and distribute the coding blocks to each node of the CCN. So that the terminal obtains the required coding blocks by requesting the coding block and separately performing the correlation between the identifiers in the content request messages and the feature fields of the coding blocks, so that each node returns the same coding according to the request. The probability of blocking is reduced, which helps to improve bandwidth utilization.
  • BRIEF DESCRIPTION OF THE DRAWINGS In order to more clearly illustrate the technical solutions in the embodiments of the present invention, a brief description of the drawings to be used in the description of the embodiments will be briefly made. It is obvious that the drawings in the following description make some of the present invention. For the embodiments, those skilled in the art can obtain other drawings according to the drawings without any creative work.
  • FIG. 1 is a flowchart of an embodiment of a content request method according to the present invention.
  • FIG. 2 is a flowchart of an embodiment of a message processing method according to the present invention.
  • FIG. 3 is a flowchart of an embodiment of a content distribution method according to the present invention.
  • FIG. 4 is a flowchart of another embodiment of a message processing method according to the present invention.
  • FIG. 5 is a schematic diagram of interaction process of each node after the terminal sends a content request message to the CCN;
  • FIG. 6 is a schematic diagram of an interaction process after the node continues to send the content request message after the processing shown in FIG. 5;
  • FIG. 7 is a schematic diagram of an interaction process after the node continues to send a content request message after the processing shown in FIG. 6;
  • FIG. 8 is a schematic structural diagram of an embodiment of a terminal device according to the present invention.
  • 9a is a schematic structural diagram of another embodiment of a terminal device according to the present invention.
  • 9b is a schematic structural diagram of still another embodiment of a terminal device according to the present invention.
  • FIG. 10 is a schematic structural diagram of an embodiment of a CCN node according to the present invention.
  • FIG. 11 is a schematic structural diagram of another embodiment of a CCN node according to the present invention.
  • FIG. 12 is a schematic structural diagram of still another embodiment of a CCN node according to the present invention
  • FIG. 13 is a schematic structural diagram of an embodiment of a content distribution apparatus according to the present invention
  • FIG. 14 is a schematic structural view of an embodiment of a CCN system according to the present invention. detailed description
  • FIG. 1 is a flowchart of an embodiment of a content requesting method according to the present invention. As shown in FIG. 1 , the embodiment provides a content requesting method, including:
  • Step 101 Generate a content request message, where the content request message includes: a name of the requested content, a request identifier, and the exclusion information, where the request identifier is used to identify the at least one encoded block, and the exclusion information includes the acquired information.
  • the feature field of the coded block that is, the content request message is for requesting a coded block that is not yet acquired, which is required to constitute the requested content.
  • Step 102 Send the content request message to a node of the CCN to obtain the request content.
  • the coded block is generated by linearly encoding the content block that is divided into at least two equal-sized content blocks, and each coded block uniquely corresponds to one feature identifier, where the feature identifier includes the requested content. Name and feature fields.
  • the request identifier may also be linearly independent of the feature field of the acquired coded block.
  • the execution body of this embodiment may be a terminal.
  • the content request method provided in this embodiment may request a required coding block from each node in which the coding block is stored in the CCN to obtain the requested content. Since the number of coding blocks is greater than the number of content blocks of the content, each node may be lowered. The probability of returning the same coded block is conducive to saving bandwidth resources.
  • the request identifier may be a binary sequence, and the total number of bits of the binary sequence is equal to the number of the content blocks, wherein if the ith content block of the requested content is to be obtained, the binary is The ith bit position of the sequence is 1, and the other bits are set to zero.
  • the request identifier may be a 4-bit binary sequence, such that "1000”, “0100”, "0010", and "0001" respectively indicate that the request is to be obtained.
  • the first content block, the second content block, the third content block, and the fourth content block of the content are examples of the request identifier.
  • the batch request can also be implemented by the request identifier.
  • the request identifier in the content request message is “0111”
  • the second content block and the third block of content that the current request is to obtain the requested content can be expressed.
  • the fourth block of content; that is, the plurality of blocks of the requested content are simultaneously requested by one content request message, the number of times the content request message is sent can be reduced, thereby further improving the transmission efficiency.
  • the method may further include:
  • the content reply message includes a feature identifier corresponding to the target code block and the target code block, and the target code block is a feature field and the request identifier is not 0. And the feature field does not belong to the coded block of the exclusion information.
  • the request identifier of the content request message is separately made from the feature field of each corresponding code block stored in the node and corresponding to the requested content. And an operation, obtaining a coding block whose AND operation result is non-zero, and the corresponding feature field does not belong to the exclusion information in the content request message as the first target coding block.
  • the node in the CCN receives the target code block and the feature field of the target code block returned by the downstream node, and forwards the target code block and the feature field of the target code block to the terminal.
  • the CCN node When the target coding block does not exist on the CCN node, the CCN node sends a content request message sent by the terminal to its downstream node to request the target coding block from its downstream node.
  • the manner in which the downstream node of the CCN node acquires the target coding block according to the content request message is the same as that of the CCN node, and will not be described again. It is explained here that the target coding block locally acquired by the CCN node may be different from the target coding block returned by the downstream node of the CCN node.
  • the content request method may further include:
  • gp Normalizing all the coded blocks that have been acquired to determine the request identifier and the exclusion information required for the next content request message; gp, which may be composed of the feature fields respectively included in all the coded blocks that have been acquired
  • the feature matrix is normalized to determine the next round Sending a request identifier of the content request message to be sent, and writing the feature field corresponding to all the obtained code blocks to the exclusion information.
  • the content request message may further include: the linearly encoded type identifier, and the type identifier may correspond to a linear coding manner adopted by the coding block.
  • the type identifier can be used to learn that the terminal requests a linear coding block to simultaneously store linear coding blocks of different linear coding types in the CCN node, or simultaneously store linear coding.
  • FIG. 2 is a flowchart of an embodiment of a message processing method according to the present invention. As shown in FIG. 2, this embodiment provides a message processing method, including:
  • Step 201 Receive a content request message sent by the terminal, where the content request message includes: a name of the requested content, a request identifier, and the exclusion information, where the request identifier is used to identify the requested at least one coding block, and the exclusion information includes the The feature field of the encoded block that has been acquired.
  • Step 202 Determine coding block information corresponding to the requested content, according to the name of the requested content and the pre-stored coding block information, where the coding block information includes a coding block and a feature identifier corresponding to the coding block,
  • the encoding block is generated by linearly encoding at least two equal-sized content blocks divided by a content, the feature identifier includes a name of the content, and the encoded block information may be stored in a content (Content Store, CS
  • Content Store Content Store
  • the form of the table is stored in the node, and the specific content thereof may be a mapping relationship between the coded block and the feature identifier of the coded block; after the node receives the content request message, the node may be in the CS table according to the name of the requested content. Find in to get all the coded block information for the name of the content that should be requested.
  • Step 203 Perform an AND operation on the feature field in the coded block information corresponding to the request content, and obtain a code block corresponding to the feature field that is not 0 in the operation result and does not belong to the exclusion information.
  • a first target coding block specifically, the request identifier is separately and paired
  • the feature field of the coded block of the name of the content should be requested to perform an AND operation. If the result is non-zero, it indicates that the feature field of the coded block is linearly independent of the request identifier and does not belong to the coded block that the terminal has acquired.
  • the coded block is the first target coded block corresponding to the content request message.
  • Step 204 Send a first content reply message to the terminal, where the first content reply message includes a feature field corresponding to the first target coded block and the first coded block; of course, the first content reply message is further Other information such as the name of the requested content may be included; wherein, if the feature field that is obtained by the AND operation result is non-zero and does not belong to the exclusion information is one, the coding block corresponding to the feature field is included in the foregoing A content reply message is sent to the terminal. If the number of feature fields that are not 0 and the non-exclusive information is obtained, the one of the feature fields is randomly selected, and the selected feature field is correspondingly selected.
  • the coded block is used as the first target coded block, or a coded block corresponding to the feature field having the smallest result of the operation may be used as the first target coded block.
  • the execution body of this embodiment may be a node in the CCN.
  • the message processing method provided in this embodiment performs an operation by associating a request identifier of a content request message with a feature field in the coded block information corresponding to the name of the requested content, and targeting the coded block whose operation result is non-zero
  • the coded block is replied to the corresponding terminal, so that the terminal can obtain a plurality of code blocks that are linearly independent of the requested content, and recover the content of the requested content by linearly decoding the coded blocks by using the feature field.
  • Contents wherein, since the number of coding blocks formed after linear coding is larger than the number of content blocks, the probability that each node in the CCN returns the same target coding block is reduced, which is beneficial to improving bandwidth utilization and improving transmission efficiency.
  • the content request message is forwarded, for example,
  • the content request message may be forwarded to the corresponding other node according to a Forward Information Base (FIB), and the sending and receiving information corresponding to the content request message is added to the Pending Interest Table (PIT).
  • FIB can record the correspondence between the name of the request content and the next destination port;
  • PIT can record the correspondence between the content request message and the sending and receiving information, and the sending and receiving information refers to the source port and the content of the content request message.
  • the next destination port to send to.
  • a second content reply message corresponding to the content request message where the second content reply message includes a second target code block and a feature field corresponding to the second target code block; wherein, the second target code
  • the feature field corresponding to the block and the second target coding block is obtained by the other nodes in the CCN according to the content request message, and is also the code corresponding to the feature field of the request identifier whose operation result is non-zero and does not belong to the exclusion information.
  • the second content reply message is sent to the terminal.
  • the method may further include: deleting the sending and receiving information corresponding to the content request message from the PIT.
  • the foregoing method may further include:
  • the sending and receiving information corresponding to the content request message does not exist in the request message record table, when the second content reply message is received, respectively, the feature field corresponding to the second target code block and the code respectively The feature field in the block information is ANDed. When all the results of the AND operation are non-zero, the feature fields corresponding to the second target coding block and the second target coding block are added to the coding block information.
  • the node if the node has received the second content reply message sent by other nodes at this time, and has forwarded it and deleted the corresponding content request message in the PIT, or the PIT table in the node
  • the receiving and receiving information corresponding to the content request message of the second content reply message should be cleared because the valid time of the storage is exceeded, so that the node does not currently have the content request message requesting the second content reply message, and the second request can be obtained.
  • the second target coding block in the reply message and its corresponding feature field are added to the coded block information stored in the CS, so that Continued node receives the contents of the second encoding block to match the target request message, the reply directly encoding target block to the corresponding second terminal.
  • FIG. 3 is a flowchart of an embodiment of a content distribution method according to the present invention. As shown in FIG. 3, the content distribution method of the embodiment includes:
  • Step 301 Divide a content into at least two content blocks of equal size.
  • Step 302 Perform linear coding on the at least two content blocks to generate a plurality of coding blocks that are more than the number of content blocks, and each coding block uniquely corresponds to one feature identifier, where the feature identifier includes a name and a feature of the content. a field, the feature field being a coefficient vector formed in the linear encoding process.
  • Step 303 Store the multiple coding blocks and corresponding feature identifiers to each node of the CCN Medium.
  • a plurality of coding blocks may be stored in different nodes, and a plurality of coding block combinations may be stored in the same node, which is not limited in the present invention.
  • the feature identifier may further include:
  • the linearly encoded type identifier is such that the terminal recovers the corresponding content block according to the type of the linear encoding and the encoded block.
  • the execution body of this embodiment may be a terminal or a node in the CCN.
  • two or more content blocks of the same content size may be linearly encoded into coding blocks, and the coding blocks are distributed to each node of the CCN, so that the terminal can pass the request.
  • the probability that each node returns the same coding block according to the request is reduced, thereby improving bandwidth utilization. rate.
  • FIG. 4 is a flowchart of another embodiment of a message processing method according to the present invention.
  • a content request message for requesting a linear coding block is received by a node when a coding block is stored on a node of the CCN, and CCN is further described in detail.
  • the coding block is generated by linearly encoding at least two content blocks divided by the average of the requested content, and each coding block uniquely corresponds to a feature identifier, where the feature identifier includes a name and a feature field of the requested content;
  • the content request message includes a name of the requested content, a request identifier, and exclusion information, where the request identifier is used to identify the requested coding block, and the exclusion information
  • a feature field of the acquired coded block is included.
  • the method in this embodiment may include:
  • Step 401 The node receives a data packet sent by another node or a terminal.
  • Step 402 Determine, according to the information carried in the data packet, whether the data packet is a content request message or a second content reply message. If the data packet is determined to be a content request message, step 4031 is performed, and if the data packet is determined to be the second The content reply message is executed, and step 4032 is performed.
  • Step 4031 When the data packet is a content request message, determine, according to the coded block information in the CS, whether there is a coded block that can reply to the content request message. Specifically, the name of the requested content may be found in the CS according to the name of the requested content. Encoding block information corresponding to the request content, where the encoding block information includes a coding block and a feature identifier corresponding to the coding block, where the coding block is generated by linearly coding at least two content blocks divided by a content.
  • the feature identifier includes the inner The name and the feature field of the content; and then the request identifier of the content request message is respectively associated with the feature field in the coded block information corresponding to the requested content, and when there is a coded block whose operation result is non-zero, it is considered to exist.
  • the first target code block of the content request message may be replied to.
  • Step 404 When there is a coding block that can reply to the content request message in the CS table, send a first content reply message to the terminal that sends the content request message or the upper-level node, where the first content reply message includes the foregoing steps.
  • the first target coding block determined by 4031.
  • Step 405 When there is no coded block in the CS table that can reply to the content request message, look in the PIT table for whether there is a content request message that is the same as the content requested by the content request message, and if yes, execute step 406. Otherwise, step 407 is performed.
  • Step 406 Update the PIT, gp, and store the received and received information corresponding to the content request message in the PIT, so that the PIT includes all the content request messages that do not obtain the target coding block in the CS table of the local node respectively. Send and receive information.
  • Step 407 Search, in the FIB, whether there is a forwarding port corresponding to the content requested by the content request message, if yes, go to step 408, if otherwise, go to step 409.
  • Step 408 Forward the content request message from the forwarding port determined in step 407.
  • Step 409 Forward or discard the content request message from the system default port.
  • Step 4032 When it is determined that the data packet is a second content reply message, the PIT may be configured to check whether there is a content request message requesting the second content reply message, if step 410 is performed, if otherwise, step 413 is performed;
  • the content request message for determining whether the second content reply message is requested may be: the feature field corresponding to the second target code block in the second content reply message and the request identifier of each content request message stored in the PIT respectively When the operation result is non-zero, the content request message corresponding to the request identifier requests the second content reply message.
  • Step 410 Send the second content reply message to the corresponding port according to the sending and receiving information corresponding to the content request message of the second content reply message, and send the message to the upper-level node or terminal that sends the content request message.
  • Step 411 Store the second target coding block and the corresponding feature identifier in the second content reply message in the CS table to enrich the coded block information in the CS table.
  • Step 412 Delete a content request message requesting the second content reply message in the PIT and Corresponding transmission and reception information.
  • Step 413 Determine, according to the coded block information pre-stored in the CS table, whether there is code block information that is duplicated with the second target code block in the second content reply message, and if yes, discard the second content reply. Message, if otherwise, perform step 414.
  • Step 414 Store the second target coding block and the corresponding feature identifier in the second content reply message in the CS table to enrich the coding block information in the CS table, and end the operation.
  • the determining, by the CS table, the coding block information that is the same as the second target coding block in the second content reply message may be: the feature field corresponding to the second target coding block and the coding in the CS table respectively
  • the feature field in the block information is ANDed. When all the AND operations are non-zero, it means that there is no coded block information in the CS table that overlaps with the second target coded block.
  • the message processing method provided in this embodiment separately performs the AND operation on the feature identifiers in the content request message and the feature fields in the pre-stored coded block information, and uses the coded block whose operation result is non-zero as the first target.
  • Encoding block ensuring linear independence between the first target coding blocks of the sender of the content request message, reducing the possibility of obtaining coded blocks corresponding to the same content block, and improving bandwidth utilization;
  • the implementation is further performed by performing an AND operation on the feature field corresponding to the second target coding block in the second content reply message and the feature field of the pre-stored coded block information, and storing the second content response when the AND operation result is non-zero.
  • the node directly receives the content request message of the second target coding block when it receives the next content reply message, and sends it back to the first content reply message.
  • the node or terminal of the content request message which is omitted from being forwarded by the node to other nodes to obtain the second target Process code block, improving the transmission efficiency.
  • a further embodiment of the present invention further exemplifies a content request method and a message processing method of the present invention by using a terminal to issue four code blocks for requesting a content.
  • each node has It has the ability to process messages, but for ease of understanding, the node that directly receives the content request message of the terminal can be used as the destination node, and the node that stores the coded block requested by the content request message is used as the target node.
  • the node stored in the CCN is a coded block formed by linearly coding four content blocks more than the original content block, and each code block uniquely corresponding to one feature identifier may be: Content Name-NC/Feature a field or content name/NC/feature field, where NC is the linearly encoded type identifier, and the feature field is a pair
  • the content block is linearly encoded, which is the coefficient vector used. Since the number of content blocks is four, the coefficient vector is a binary sequence having four bits; more specifically, in this embodiment, the terminal has acquired the corresponding number.
  • a coding block of a content block and need to continue to acquire coding blocks corresponding to the second to fourth content blocks respectively, and currently only the coding blocks of the same content name are stored on the node X, the node Y, and the node z, respectively, and the X node
  • the feature fields corresponding to the two coding blocks are "1001" and "0111” respectively, and the two coding blocks in the Y node respectively correspond to the feature fields "1100” and "0100", and one coding block in the Z node respectively
  • the corresponding feature field is "0011", as shown in FIG. 5, wherein the content in parentheses after the coding block indicates the feature field corresponding to the coding block.
  • Step 601 The terminal sends a content request message to the content router, where the content request message includes: a name of the requested content, a request identifier, and an exclusion information.
  • the request identifier may be a binary sequence “0111”, and the batch request corresponds to the second.
  • a separate request may also be employed, for example, using "0100" as the request identifier to request a coded block corresponding to the second content block.
  • Step 602 The content router forwards the content request message to other nodes X, Y, and Z in a broadcast manner.
  • the same content name is not stored on the node as the content router.
  • the coded block therefore, is forwarded directly to the next field node.
  • Step 603 After receiving the content request message, the node X, the node Y, and the node Z respectively determine, according to the content name in the content request message, the encoded block information corresponding to the content name in the CS table, and respectively respectively, the request The identifier and the feature fields in the coded block information are operated one by one.
  • the coded block whose feature field is "1001" can be used as the second target code block; , the coding block whose feature field is "0100” can be used as the second target coding block; the corresponding node Z, wherein the coding block whose feature field is "0011” can be used as the second target coding block; then, the above three second targets are
  • the coded block and its corresponding corresponding feature fields are respectively sent to the content router by using the second content reply message, and the process is as shown in FIG. 5. Specifically, in FIG. 5, the dotted line indicates the requested process, and the solid line indicates the reply to the request. process.
  • Step 604 The content router receives the second content reply message, and at this time, the foregoing If the corresponding transmission and reception information of the request message still exists in the PIT, one of the three second target coding blocks (for example, "0100") is used as the first target coding block, and the first target coding block and the corresponding The feature field is included in the first content reply message and returned to the terminal.
  • the content router first receives the second target coding block (for example, "0100") as the first target coding block.
  • Step 605 After receiving the first content reply message, and acquiring the first target coding block therefrom, the terminal normalizes the received two coding blocks ("1000" and "0100"), and then sends the request for the third.
  • the content request message of the coding block corresponding to the fourth content block may have a request identifier of "0011" and an exclusion information of "1000" and "0100".
  • Step 606 After receiving the content request message requesting the coding block corresponding to the third and fourth content blocks, the content router respectively performs the feature field of the coded block information in which the request identifier is the same as the content name stored in the CS table. And the operation, and the result of the operation is non-zero as the target coding block. At this time, the above two "0011” and “1001" are both in compliance with the requirement, so the code corresponding to "0011” which has a smaller operation result is selected.
  • the block is used as the first target coding block, and is returned to the terminal through the first content reply message.
  • the process is as shown in FIG. 6. Specifically, in FIG. 6, the dotted line indicates the process of the request, and the solid line indicates the reply process to the request. Moreover, the absence of a connection between the content router and the node X, the node Y, and the node z in the figure does not mean that there is no connection between the content router and the nodes, but there is no data transmission in
  • Step 607 After receiving the first content reply message, and acquiring the first target coding block, the terminal may further send a content request message requesting the coding block corresponding to the third and fourth content blocks, where the request identifier may be "0011", the exclusion information can be "1000", "0100” and "0011".
  • Step 608 After receiving the content request message requesting the fourth content block, the content router performs an AND operation on the feature fields of the coded block information in which the request identifier is the same as the content name stored in the CS table, and performs an AND operation The result is non-zero as the target coding block. At this time, only "1001" meets the requirements, so the coding block corresponding to "1001" is returned to the terminal as the first target coding block. The process is as shown in FIG.
  • the figure In 7 specifically, the figure In 7, the dotted line indicates the process of the request, the solid line indicates the reply process to the request, and the connection between the content router and the node X, the node Y and the node Z in the figure does not mean that there is no content router between the nodes and the nodes. Connection, but there is no data transfer in this process.
  • the feature fields of the coding blocks returned by each node to the content router are The probability of linear independence is high, and different code blocks requested by the batch can be stored in the content router, so that the next content request message of the terminal requesting the above coding block can obtain the corresponding content in the content router.
  • a content reply message does not need to be forwarded to the next layer of nodes, thereby improving bandwidth utilization while also improving transmission efficiency.
  • FIG. 8 is a schematic structural diagram of an embodiment of a terminal device according to the present invention. As shown in FIG. 8, the terminal device provided in this embodiment includes:
  • the request generating module 81 is configured to generate a content request message, where the content request message includes: a name of the requested content, a request identifier, and the exclusion information, where the request identifier is used to identify the at least one encoded block, and the exclusion information includes Describe the feature field of the obtained coded block;
  • the request sending module 82 is configured to send the content request message to a node of the CCN to obtain the requested content
  • the coding block is generated by linearly encoding at least two equal-sized content blocks divided by the requested content, each coding block uniquely corresponding to one feature identifier, and the feature identifier includes the requested content. Name and feature fields.
  • FIG. 9 is a schematic structural diagram of another embodiment of a terminal device according to the present invention. As shown in FIG. 9a, the terminal device of the embodiment further includes:
  • the first receiving module 91 is configured to receive a content reply message sent by the node of the CCN, where the content reply message includes a feature identifier corresponding to the target coding block and the target coding block, where the target coding block is a feature field and the request The coded block whose operation result is non-zero and the feature field does not belong to the exclusion information.
  • FIG. 9b is a schematic structural diagram of still another embodiment of the terminal device according to the present invention. As shown in FIG. 1 , the terminal device in this embodiment further includes:
  • the normalization processing module 92 is configured to perform normalization processing on all the acquired code blocks to determine request identifiers and exclusion information required for the next content request message.
  • the terminal device provided by the foregoing embodiment may be used to perform the content requesting method of the foregoing embodiment, and the implementation principle and the technical effect are similar, and details are not described herein again.
  • the terminal device provided in this embodiment may request a required coding block from each node in which the coding block is stored in the CCN by sending a content request message, to obtain the requested content, because the number of coding blocks is greater than the number of content blocks of the content, , can reduce the probability that each node returns the same coded block, thereby improving bandwidth utilization.
  • FIG. 10 is a schematic structural diagram of an embodiment of a CCN node according to the present invention; as shown in FIG. 10, the CCN node provided in this embodiment includes:
  • the request receiving module 10a is configured to receive a content request message sent by the terminal, where the content request message includes: a name of the requested content, a request identifier, and the exclusion information, where the request identifier is used to identify the at least one coded block that is requested, and the The information includes a feature field of the acquired coded block;
  • the searching module 10b is configured to determine, according to the name of the requested content and the pre-stored encoding block information, the encoding block information corresponding to the requested content, where the encoding block information includes a coding block and the coding block corresponding to a feature identifier, where the coding block is generated by linearly encoding at least two equal-sized content blocks divided by a content, where the feature identifier includes a name and a feature field of the content;
  • the obtaining module 10c is configured to perform an operation on the feature field in the coded block information corresponding to the request content, and obtain a feature field corresponding to the feature field that is not 0 and does not belong to the exclusion information.
  • the first sending module 10d is configured to send a first content reply message to the terminal, where the first content reply message includes a feature field corresponding to the first target coded block and the first target coded block.
  • FIG. 11 is a schematic structural diagram of another embodiment of a CCN node according to the present invention. As shown in FIG. 11, the CCN node provided in this embodiment is based on the structure shown in FIG.
  • the request forwarding module 10e is configured to forward the content request message when the feature field whose operation result is non-zero is obtained, or the acquired feature field whose operation result is non-zero belongs to the exclusion information. Going out, and adding the sending and receiving information corresponding to the content request message to the pending request message record table PIT;
  • the second receiving module 10f is configured to receive a second content reply message corresponding to the content request message, where the second content reply message includes a feature field corresponding to the second target coded block and the second target coded block;
  • the second sending module 10g is configured to: when the second content reply message is received, the sending and receiving information corresponding to the content request message still exists in the pending request message record table, and send the second content reply message to The terminal.
  • FIG. 12 is a schematic structural diagram of still another embodiment of a CCN node according to the present invention; as shown in FIG.
  • an encoding block processing module 12a configured to: when receiving the second content reply message, the corresponding sending and receiving information of the content request message is no longer In the pending request message record table, the feature fields corresponding to the second target code block are respectively compared with the feature fields in the coded block information, and when all the results of the AND operation are non-zer
  • the deleting module 12b is configured to delete the sending and receiving information corresponding to the content request message from the pending request message record table.
  • the CCN node provided by the foregoing embodiment may be used to perform the message processing method in the foregoing embodiment, and the implementation principle and the technical effect are similar, and details are not described herein again.
  • the CCN node provided by the foregoing embodiment may receive the content request message sent by the terminal device provided by the foregoing embodiment, and associate the feature identifier in the coded block information corresponding to the name of the requested content in the content request message with the feature field in the coded block information corresponding to the name of the requested content.
  • the operation is performed, and the coded block whose operation result is non-zero is returned as the target code block to the corresponding terminal, so that the terminal can acquire a plurality of code blocks that are linearly independent of the requested content, thereby restoring the name of the requested content.
  • Corresponding content; and, the number of coding blocks formed after linear coding is greater than the number of content blocks, and the probability that each node of the CCN returns the same target coding block is reduced, which is beneficial to improving bandwidth utilization.
  • the content distribution apparatus of this embodiment may include:
  • a segmentation module 13a configured to divide a content into at least two equal-sized content blocks
  • a linear encoding module 13b configured to linearly encode the at least two content blocks, and generate more than the number of content blocks a coding block, each coding block uniquely corresponding to a feature identifier, the feature identifier includes a name and a feature field of the content, and the feature field is a coefficient vector formed in the linear coding process;
  • the storage module 13c is configured to store the plurality of coding blocks and corresponding feature identifiers in each node of the content-centric network CCN.
  • the CCN node provided in this embodiment may be used to perform the message processing method in the foregoing embodiment, and the implementation principle and the technical effect are similar, and details are not described herein again.
  • the content distribution apparatus provided in this embodiment may be set together with the terminal device or the CCN node provided in the foregoing embodiment.
  • the CCN system provided by the example includes:
  • a plurality of CCN nodes 14a are used in the CCN node according to any of the foregoing embodiments, and the specific implementation principles and technical effects thereof are similar to the foregoing embodiments, and details are not described herein again.
  • the CCN system provided by the present embodiment can implement two or more content blocks of the same content and are linearly encoded into coding blocks, and the coding blocks are distributed to CCN nodes of the CCN, so that when the terminal requests the coding block,
  • the CCN node may obtain a target coding block that can be used to reply to the content request by performing an AND operation on the feature identifier of the stored coding block to reduce the probability that different nodes return the same coding block according to the request, thereby improving bandwidth utilization. .
  • the aforementioned program can be stored in a computer readable storage medium.
  • the program when executed, performs the steps including the above method embodiments; and the foregoing storage medium includes: a medium that can store program codes, such as a ROM, a RAM, a magnetic disk, or an optical disk.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本发明实施例提供一种内容处理方法、装置及系统。其中,一种方法包括:接收终端发送的内容请求消息,根据请求内容的名称和预先存储的编码块信息,确定与请求内容对应的编码块信息,编码块信息包括编码块和编码块对应的特征标识,特征标识包括内容的名称和特征字段;将请求标识分别与请求内容对应的编码块信息中的特征字段作与运算,获取与运算结果为非0、且不属于排除信息的特征字段对应的编码块作为第一目标编码块;向终端发送包括第一目标编码块和其对应的特征字段的第一内容回复消息。本发明的方法可使每个节点根据请求返回相同编码块的几率降低,从而有利于提升带宽利用率。

Description

内容处理方法、 装置及系统
技术领域
本发明涉及通信技术, 尤其涉及一种内容处理方法、 装置及系统。 背景技术
不同于基于主机(host-based)的网络架构, 内容为中心的网络 (Content-Centric Network, CCN)是基于内容 (content-based)的网络架构, 在 CCN中, 信息的内容本身为网络传输中的"头等实体", 以内容的名称代替 IP 地址, 采用请求 (Interest)-数据 (Data) 消息对的方式来请求和传递消息。 具 体地, 一个内容对应一个唯一的名称, 并将该内容分切为两个以上的内容块, 将不同的内容块存储在不同的 CCN节点中,并基于该内容块的名称来进行路 由和转发。 当终端需要获取某一内容的消息时, 可依次向中间路由器发送请 求该内容的各内容块的多个 Interest, 网络中的节点如果存储有与该 Interest 对应的内容块时, 则以 Data反馈给内容路由器, 再由内容转发给所述终端, 待终端获取到该内容对应的所有内容块后, 即可恢复出该内容对应的消息。
在现有技术中, 每个 CCN各节点上存储着多个不同内容的不同内容块, 但是, 同一内容的相同内容块可能同时存储在多个不同的 CCN节点上。 由于 CCN各节点在转发 Interest的时候, 一般是以类似广播的方式进行多端口转 发, 因此, 接收到 Interest并且存储有该 Interest所请求的内容块的多个 CCN 节点都会返回该 Interest所请求的内容块, 而实际上只需要一个该内容块即 可。 由此可见, 多个 CCN节点返回相同内容块, 造成了带宽资源的浪费。 发明内容 本发明实施例提供一种内容发布方法、 内容请求方法、 装置及系统, 用于解决现有技术中多个 CCN节点返回同一内容块造成的带宽浪费严重 的问题。
本发明实施例的第一个方面是提供一种内容请求方法, 包括: 生成内容请求消息, 所述内容请求消息包括: 请求内容的名称、 请求 标识和排除信息, 所述请求标识用于标识请求的至少一个编码块, 所述排 除信息包括所述已获取的编码块的特征字段;
向 CCN的节点发送所述内容请求消息, 以获取所述请求内容; 其中, 所述编码块为对由所述请求内容的切分成的至少两个大小相等 的内容块进行线性编码生成的, 每个编码块唯一对应一个特征标识, 所述 特征标识包括所述请求内容的名称和特征字段。
本发明实施例的另一个方面是提供一种消息处理方法, 包括: 接收终端发送的内容请求消息, 所述内容请求消息包括: 请求内容的 名称、 请求标识和排除信息, 所述请求标识用于标识请求的至少一个编码 块, 所述排除信息包括所述已获取的编码块的特征字段;
根据所述请求内容的名称和预先存储的编码块信息, 确定与所述请求 内容对应的编码块信息, 其中, 所述编码块信息包括编码块和所述编码块 对应的特征标识, 所述编码块为对由一内容切分成的至少两个大小相等的 内容块进行线性编码生成的, 所述特征标识包括所述内容的名称和特征字 段;
将所述请求标识分别与所述请求内容对应的编码块信息中的特征字 段作与运算, 获取与运算结果为非 0、 且不属于所述排除信息的特征字段 对应的编码块作为第一目标编码块;
向所述终端发送第一内容回复消息, 所述第一内容回复消息包括所述 第一目标编码块和所述第一目标编码块对应的特征字段。
本发明实施例的又一个方面是提供一种内容发布方法, 包括: 将一内容切分为至少两个大小相等的内容块;
对所述至少两个内容块进行线性编码, 生成数量多于内容块数量的多 个编码块, 每个编码块唯一对应一个特征标识, 所述特征标识包括所述内 容的名称和特征字段, 所述特征字段为所述线性编码过程中形成的系数向 将所述多个编码块和对应的特征标识存储到内容为中心的网络 CCN 的各节点中。
本发明实施例的又一个方面是提供一种终端设备, 包括:
请求生成模块, 用于生成内容请求消息, 所述内容请求消息包括: 请 求内容的名称、 请求标识和排除信息, 所述请求标识用于标识请求的至少 一个编码块, 所述排除信息包括所述已获取的编码块的特征字段;
请求发送模块, 用于向 CCN的节点发送所述内容请求消息, 以获取 所述请求内容;
其中, 所述编码块为对由所述请求内容的切分成的至少两个大小相等 的内容块进行线性编码生成的, 每个编码块唯一对应一个特征标识, 所述 特征标识包括所述请求内容的名称和特征字段。
本发明实施例的又一个方面是提供一种 CCN节点, 包括:
请求接收模块, 用于接收终端发送的内容请求消息, 所述内容请求消 息包括: 请求内容的名称、 请求标识和排除信息, 所述请求标识用于标识 请求的至少一个编码块, 所述排除信息包括所述已获取的编码块的特征字 段;
查找模块, 用于根据所述请求内容的名称和预先存储的编码块信息, 确定与所述请求内容对应的编码块信息, 其中, 所述编码块信息包括编码 块和所述编码块对应的特征标识, 所述编码块为对由一内容切分成的至少 两个大小相等的内容块进行线性编码生成的, 所述特征标识包括所述内容 的名称和特征字段;
获取模块, 用于将所述请求标识分别与所述请求内容对应的编码块信 息中的特征字段作与运算, 获取与运算结果为非 0、 且不属于所述排除信 息的特征字段对应的编码块作为第一目标编码块;
第一发送模块, 用于向所述终端发送第一内容回复消息, 所述第一内 容回复消息包括所述第一目标编码块和所述第一目标编码块对应的特征 字段。
本发明实施例的又一个方面是提供一种内容发布装置, 包括: 切分模块, 用于将一内容切分为至少两个大小相等的内容块; 线性编码模块, 用于对所述至少两个内容块进行线性编码, 生成数量 多于内容块数量的多个编码块, 每个编码块唯一对应一个特征标识, 所述 特征标识包括所述内容的名称和特征字段, 所述特征字段为所述线性编码 过程中形成的系数向量;
存储模块, 用于将所述多个编码块和对应的特征标识存储到内容为中 心的网络 CCN的各节点中。
本发明实施例的又一个方面是提供一种 CCN系统, 包括多个 CCN节 点, 每个 CCN节点为如上任一所述的 CCN节点。
本发明提供的内容发布方法、 内容请求方法、 装置及系统, 可将同一 内容的大小相等的两个以上内容块, 经线性编码转换成编码块, 并将这些 编码块发布到 CCN 的各节点中, 以使终端通过请求编码块、 并分别将内 容请求消息中的标识与各编码块的特征字段分别作与运算的方式来获取 到所需的各编码块, 使得每个节点根据请求返回相同编码块的几率降低, 从而有利于提升带宽利用率。 附图说明 为了更清楚地说明本发明实施例中的技术方案, 下面将对实施例描述 中所需要使用的附图作一简单地介绍, 显而易见地, 下面描述中的附图使 本发明的一些实施例, 对于本领域普通技术人员来讲, 在不付出创造性劳 动的前提下, 还可以根据这些附图获得其他的附图。
图 1为本发明内容请求方法实施例的流程图;
图 2为本发明消息处理方法一实施例的流程图;
图 3为本发明内容发布方法实施例的流程图;
图 4为本发明消息处理方法另一实施例的流程图;
图 5为终端向 CCN发送内容请求消息后各节点交互过程的示意图; 图 6为图 5所示处理后节点继续发送内容请求消息后交互过程示意 图;
图 7为图 6所示处理后节点继续发送内容请求消息后交互过程示意 图;
图 8为本发明终端设备一实施例的结构示意图;
图 9a为本发明终端设备另一实施例的结构示意图;
图 9b为本发明终端设备又一实施例的结构示意图;
图 10为本发明 CCN节点一实施例的结构示意图;
图 11为本发明 CCN节点另一实施例的结构示意图;
图 12为本发明 CCN节点又一实施例的结构示意图; 图 13为本发明内容发布装置一实施例的结构示意图;
图 14为本发明 CCN系统一实施例的结构示意图。 具体实施方式
为使本申请实施例的目的、 技术方案和优点更加清楚, 下面将结合本 申请实施例中的附图, 对本申请实施例中的技术方案进行清楚、 完整地描 述, 显然,所描述的实施例是本申请一部分实施例, 而不是全部的实施例。 基于本申请中的实施例, 本领域普通技术人员在没有作出创造性劳动前提 下所获得的所有其他实施例, 都属于本申请保护的范围。
图 1为本发明内容请求方法实施例的流程图; 如图 1所示, 本实施例 提供一种内容请求方法, 包括:
步骤 101、 生成内容请求消息, 所述内容请求消息包括: 请求内容的 名称、 请求标识和排除信息, 所述请求标识用于标识请求的至少一个编码 块, 所述排除信息包括所述已获取的编码块的特征字段; 即该内容请求消 息是为了请求一个构成所述请求内容所需的、 还未获取到的编码块。
步骤 102、 向所述 CCN的节点发送所述内容请求消息, 以获取所述请 求内容;
其中, 所述编码块为对由所述请求内容的切分成至少两个大小相等的 内容块进行线性编码生成的, 每个编码块唯一对应一个特征标识, 所述特 征标识包括所述请求内容的名称和特征字段。
进一步地, 所述请求标识还可以与已获取的编码块的特征字段线性无 关。
本实施例的执行主体可以为终端。
本实施例提供的内容请求方法, 可以向 CCN中存储有编码块的各节 点请求需要的编码块, 以获取请求内容, 由于编码块的数量大于内容的内 容块的数量, 因此, 可以降低各节点返回相同编码块的概率, 有利于节约 带宽资源。
进一步地, 所述请求标识可以为二进制序列, 所述二进制序列的比特 位总数与所述内容块的数量相等, 其中, 如果要获取所述请求内容的第 i 个内容块, 则将所述二进制序列的第 i个比特位置为 1, 其他比特置为 0。 具体地, 如果所请求内容包括四个内容块, 则该请求标识可以为 4位 的二进制序列, 从而" 1000"、 "0100"、 "0010"及" 0001"便可分别表示要获 取所示请求内容的第一个内容块、 第二个内容块、 第三个内容块和第四个 内容块。
另外, 还可以通过该请求标识实现批量请求, 例如, 当内容请求消息 中的请求标识为" 0111 "时, 便可表达当前请求目的是获取请求内容的第二 块内容块、 第三块内容块和第四块内容块; 也就是通过一个内容请求消息 同时请求了该请求内容的多个块, 可以减少发送内容请求消息的次数, 从 而, 进一步提高传输效率。
更进一步地, 所述向所述 CCN的节点发送所述内容请求消息之后, 还可以包括:
接收所述 CCN的节点发送的内容回复消息, 所述内容回复消息包括 目标编码块和目标编码块对应的特征标识, 所述目标编码块为特征字段与 所述请求标识作与运算结果为非 0、 且所述特征字段不属于所述排除信息 的编码块。
具体地, 当 CCN中的节点接收到终端发送的内容请求消息后, 将该 内容请求消息的所述请求标识与该节点内存储的、 与被请求内容对应的各 相应编码块的特征字段分别作与运算, 获得与运算结果为非 0、 且对应的 特征字段不属于该内容请求消息中的所述排除信息的编码块作为第一目 标编码块。或者, CCN中的节点接收其下游节点返回的目标编码块及目标 编码块的特征字段, 并将目标编码块及目标编码块的特征字段转发给终 端。 其中, 当 CCN节点上不存在目标编码块时, CCN节点会将终端发送 的内容请求消息发送给其下游节点, 以向其下游节点请求目标编码块。 其 中, CCN节点的下游节点根据内容请求消息获取目标编码块的方式, 与 CCN节点相同, 不再赘述。 在此说明, 上述 CCN节点在本地获取的目标 编码块与上述 CCN节点的下游节点返回的目标编码块可能不同。
可选地, 上述内容请求方法, 还可以包括:
对已获取到的全部编码块进行归一化处理, 以确定下一个内容请求消 息所需的请求标识和排除信息; gp, 可以通过对已获取到的所有编码块分 别包括的特征字段所组成的特征矩阵进行归一化处理, 从而确定下一次发 送需发送的内容请求消息的请求标识, 并将以获取的所有编码块分别对应 的特征字段都写入排除信息。
其中, 所述内容请求消息还可以包括: 所述线性编码的类型标识, 且 该类型标识可以与编码块所采用的线性编码方式相对应。 这样, 当 CCN 中的节点接收到该内容请求消息时, 可以通过该类型标识获知终端请求的 是线性编码块, 以在 CCN节点中同时存储不同线性编码类型的线性编码 块、 或同时存储线性编码块和未经线性编码的内容块时, 执行针对线性编 码块的处理流程(即将请求标识与所存储的编码块的特征字段分别作与运 算, 将结果为非 0的作为目标编码块) , 以获取所请求的线性编码方式的 目标编码块; 而当内容请求消息请求的是未经线性编码的内容块时, 则无 需按照针对线性编码的处理流程进行处理, 直接采用现有技术中的通过请 求内容名称和内容序号判断的方式进行处理即可; 进一步提高了本内容请 求方法适应现有技术的 CCN架构的能力。
图 2为本发明消息处理方法一实施例的流程图; 如图 2所示, 本实施 例提供一种消息处理方法, 包括:
步骤 201、 接收终端发送的内容请求消息, 所述内容请求消息包括: 请求内容的名称、 请求标识和排除信息, 所述请求标识用于标识请求的至 少一个编码块, 所述排除信息包括所述已获取的编码块的特征字段。
步骤 202、 根据所述请求内容的名称和预先存储的编码块信息, 确定 与所述请求内容对应的编码块信息, 其中, 所述编码块信息包括编码块和 所述编码块对应的特征标识, 所述编码块为对由一内容切分成的至少两个 大小相等的内容块进行线性编码生成的, 所述特征标识包括所述内容的名 其中, 编码块信息可以以内容存储 (Content Store, CS ) 表的形式存 储在节点中, 其具体内容可以为编码块与编码块的特征标识之间的映射关 系; 当节点接收到所述内容请求消息后, 可根据其中的请求内容的名称在 CS表中查找, 以获取所有对应该请求内容的名称的编码块信息。
步骤 203、将所述请求标识分别与所述请求内容对应的编码块信息中的 特征字段作与运算, 获取与运算结果为非 0、 且不属于所述排除信息的特 征字段对应的编码块作为第一目标编码块; 具体地, 将请求标识分别与对 应该请求内容的名称的编码块的特征字段作与运算, 其结果为非 0时, 则 说明该编码块的特征字段与上述请求标识线性无关, 同时又不属于终端已 经获取到的编码块时, 该编码块即为与内容请求消息相对应的第一目标编 码块。
步骤 204、 向所述终端发送第一内容回复消息, 所述第一内容回复消 息包括所述第一目标编码块和所述第一编码块对应的特征字段; 当然, 该 第一内容回复消息还可以包括所述请求内容的名称等其他信息; 其中, 如 果获取到与运算结果为非 0、 且不属于所述排除信息的特征字段为一个, 则将该特征字段对应的编码块包含到上述第一内容回复消息中发送给终 端, 若获取到与运算结果为非 0、 且不属于所述排除信息的特征字段为多 个, 则从这些特征字段中随机选择一个, 并将选择的特征字段对应的编码 块作为所述第一目标编码块, 或者, 也可将对应于与运算结果最小的特征 字段的编码块作为所述第一目标编码块。
本实施例的执行主体可以为 CCN中的节点。
本实施例提供的消息处理方法, 通过将内容请求消息的请求标识与请 求内容的名称对应的编码块信息中的特征字段作与运算, 并将所述与运算 结果为非 0的编码块作为目标编码块回复给对应的终端, 使得终端可以获 取到其请求内容对应的线性无关的多个编码块, 并通过对该些编码块、 利 用特征字段线性解码后, 恢复出其请求内容的名称对应的内容; 其中, 由 于线性编码后形成的编码块的数量大于内容块的数量, 因此, CCN中的各 节点回复相同目标编码块的概率降低, 有利于提升带宽利用率, 也有利于 提高传输效率。
进一步地, 当未获取到与运算结果为非 0的特征字段时, 或者获取到 的与运算结果为非 0的特征字段均属于所述排除信息时, 将所述内容请求 消息转发出去,例如,可根据转发信息库(Forward Information Base, FIB ), 将该内容请求消息转发到对应的其它节点, 并将所述内容请求消息对应的 收发信息添加到待定请求消息记录表 (Pending Interest Table, PIT) 中; 其中, FIB中可以记载请求内容的名称与下一个目的端口之间的对应 关系; PIT中可以记载内容请求消息与收发信息的对应关系, 该收发信息 指该内容请求消息的来源端口和已发送到的下一目的端口。 之后, 还可接收所述内容请求消息对应的第二内容回复消息, 所述第 二内容回复消息包括第二目标编码块和所述第二目标编码块对应的特征 字段; 其中, 第二目标编码块和第二目标编码块对应的特征字段是 CCN 中的其他节点根据内容请求消息获取的, 同样是与请求标识的与运算结果 为非 0、 且不属于所述排除信息的特征字段对应的编码块。
如果接收到所述第二内容回复消息时所述内容请求消息对应的收发信息仍 存在于所述 PIT中, 将所述第二内容回复消息发送给所述终端。
基于上述, 该方法还可以包括: 将所述内容请求消息对应的收发信息从所 述 PIT中删除。
可选地, 上述方法还可以包括:
如果接收到所述第二内容回复消息时所述内容请求消息对应的收发 信息已经不存在于所述请求消息记录表中, 则将所述第二目标编码块对应 的特征字段分别与所述编码块信息中的特征字段作与运算, 当所有与运算 的结果均为非 0时, 将所述第二目标编码块和所述第二目标编码块对应的 特征字段添加到所述编码块信息中; gP, 如果此时该节点已经接收到其它 节点发送的第二内容回复消息, 且已将其转发并在 PIT中删除对应的内容 请求消息的收发信息, 或者, 该节点中的 PIT表中对应该第二内容回复消 息的内容请求消息对应的收发信息因超过其存储的有效时间而被清除, 从 而该节点当前不存在请求第二内容回复消息的内容请求消息, 则可将获取 的第二请求回复消息中的第二目标编码块和其对应的特征字段添加至 CS 中存储的编码块信息, 以使后续该节点接收到与该第二目标编码块相匹配 的内容请求消息时, 直接将该第二目标编码块回复给相应的终端。
图 3为本发明一种内容发布方法实施例的流程图; 如图 3所示, 本实 施例的内容发布方法, 包括:
步骤 301、 将一内容切分为至少两个大小相等的内容块。
步骤 302、 对所述至少两个内容块进行线性编码, 生成数量多于内容 块数量的多个编码块, 每个编码块唯一对应一个特征标识, 所述特征标识 包括所述内容的名称和特征字段, 所述特征字段为所述线性编码过程中形 成的系数向量。
步骤 303、将所述多个编码块和对应的特征标识存储到 CCN的各节点 中。
可选地, 多个编码块可以分别存储在不同的节点中, 也可以将几个编 码块组合存储在同一节点中, 具体本发明不作限定。
可选地, 所述特征标识还可以包括:
所述线性编码的类型标识, 以使终端根据该线性编码的类型及所述编 码块恢复出对应的所述内容块。
本实施例的执行主体可以为终端或 CCN中的节点。
本实施例提供的内容发布方法, 可将同一内容的大小相等的两个以上 内容块, 经线性编码转换成编码块, 并将这些编码块发布到 CCN的各节 点中, 以使终端可通过请求编码块的方式来获取到所需的各编码块, 由于 经线性编码得到的编码块的数量多于内容块的数量, 使得每个节点根据请 求返回相同编码块的几率降低了, 从而提升带宽利用率。
图 4为本发明消息处理方法另一实施例的流程图; 本实施例是以当 CCN的节点上存储编码块时某一节点接收到请求线性编码块的内容请求 消息为例, 进一步详细说明 CCN中的节点对接收到的消息的详细处理流 程; 在本实施例中, 编码块为对由所述请求内容的平均切分成的至少两个 内容块进行线性编码生成的, 每个编码块唯一对应一个特征标识, 所述特 征标识包括所述请求内容的名称和特征字段; 内容请求消息包括请求内容 的名称、 请求标识和排除信息, 所述请求标识用于标识请求的编码块, 所 述排除信息包括所述已获取的编码块的特征字段。 如图 4所示, 本实施例 的方法可以包括:
步骤 401、 节点接收到由其它节点或终端发送的数据包。
步骤 402、 根据该数据包携带的信息判断该数据包是内容请求消息还 是第二内容回复消息, 如果判断出该数据包为内容请求消息, 则执行步骤 4031, 如果判断出该数据包为第二内容回复消息, 则执行步骤 4032。
步骤 4031、 当该数据包为内容请求消息时, 根据 CS中的编码块信息 判断是否存在可回复该内容请求消息的编码块; 具体地, 可根据所述请求 内容的名称在 CS中查找到与所述请求内容对应的编码块信息, 其中编码 块信息包括编码块和该编码块对应的特征标识, 所述编码块为对由一内容 切分成的至少两个内容块进行线性编码生成的, 所述特征标识包括所述内 容的名称和特征字段; 然后将所述内容请求消息的请求标识分别与请求内 容对应的编码块信息中的特征字段作与运算, 当存在与运算结果为非 0的 编码块时, 则认为存在可回复上述内容请求消息的第一目标编码块。
步骤 404、 当 CS表中存在可回复上述内容请求消息的编码块时, 向 发出该内容请求消息的终端或上一级节点发送第一内容回复消息, 其中, 该第一内容回复消息包括上述步骤 4031所确定的第一目标编码块。
步骤 405、 当 CS表中不存在可回复上述内容请求消息的编码块时, 在 PIT表中查找是否存在与该内容请求消息所请求的内容相同的内容请求 消息, 如果是则执行步骤 406, 如果否则执行步骤 407。
步骤 406、 更新 PIT, gp, 将接受到的该内容请求消息对应的收发信 息存储在 PIT中, 以使 PIT中涵盖所有未在本节点 CS表中获取到目标编 码块的内容请求消息分别对应的收发信息。
步骤 407、 在 FIB中查找是否存在与该内容请求消息所请求的内容对 应的转发端口, 如果是则执行步骤 408, 如果否则执行步骤 409。
步骤 408、 将该内容请求消息从步骤 407中确定的所述转发端口转发 出去。
步骤 409、 将该内容请求消息从系统默认端口转发出去或丢弃。
步骤 4032、 当判断出该数据包为第二内容回复消息时, 可在 PIT中查 找是否存在请求所述第二内容回复消息的内容请求消息, 如果是执行步骤 410, 如果否则执行步骤 413 ; 具体地, 判断是否存在请求该第二内容回复 消息的内容请求消息可以为: 将第二内容回复消息中的第二目标编码块对 应的特征字段分别与 PIT中存储的各内容请求消息的请求标识作与运算, 运算结果为非 0时, 该请求标识对应的内容请求消息则请求的是该第二内 容回复消息。
步骤 410、 根据请求所述第二内容回复消息的内容请求消息对应的收 发信息, 将该第二内容回复消息发送至相应的端口, 进而发送给发出该内 容请求消息的上一级节点或终端。
步骤 411、 将该第二内容回复消息中的第二目标编码块和对应的特征 标识存储在 CS表中, 以丰富 CS表内的编码块信息。
步骤 412、 在 PIT中删除请求该第二内容回复消息的内容请求消息及 对应的收发信息。
步骤 413、根据 CS表中预存储的编码块信息, 判断 CS表中是否存在 与该第二内容回复消息中的第二目标编码块相重复的编码块信息, 如果是 则丢弃该第二内容回复消息, 如果否则执行步骤 414。
步骤 414、 将第二内容回复消息中的第二目标编码块和对应的特征标 识存储在 CS表中, 以丰富 CS表内的编码块信息, 并结束此次操作。
其中, 判断 CS表中是否存在与该第二内容回复消息中的第二目标编 码块相重复的编码块信息, 具体可以为: 将第二目标编码块对应的特征字 段分别与 CS表中的编码块信息中的特征字段作与运算, 当所有与运算机 构均为非 0时, 则说明 CS表中不存在与第二目标编码块相重复的编码块 信息。
本实施例提供的消息处理方法, 通过将内容请求消息中的请求标识分 别与预存储的编码块信息中的特征字段分别作与运算, 并将与运算结果为 非 0的编码块作为第一目标编码块, 保证了回复给该内容请求消息的发送 者的第一目标编码块之间的线性无关性, 减少了获得对应同一内容块的编 码块的可能性, 提高了带宽利用率; 并且, 本实施还通过将第二内容回复 消息中的第二目标编码块对应的特征字段分别与预存储的编码块信息的 特征字段作与运算, 当与运算结果为非 0时, 存储该第二内容回复消息中 的第二目标编码块及对应的特征字段, 从而, 使得本节点在收到下一个请 求该第二目标编码块的内容请求消息时, 直接将其包含在第一内容回复消 息返回发出给内容请求消息的节点或终端, 省去了由本节点转发至其它节 点以获取该第二目标编码块的过程, 提高传输效率。
本发明又一实施例将以一终端发出请求一内容的四个编码块为例, 进 一步说明本发明的内容请求方法和消息处理方法; 需要说明的是, 在 CCN 架构中, 每个节点的都具有处理消息的能力, 但为了便于理解, 可将直接 接收终端的内容请求消息的节点作为以内容路由器, 将存储有该内容请求 消息所请求的编码块的节点作为目标节点。在本实施例中, CCN中节点存 储的是对四个内容块进行线性编码形成的数量多于原内容块的编码块, 每 个编码块唯一对应一个特征标识可以为: 内容名称 -NC/特征字段或内容名 称 /NC/特征字段, 其中, NC为所述线性编码的类型标识, 特征字段为对 内容块进行线性编码是所采用的系数向量, 由于内容块的数量为四个, 因 而系数向量为具有四个比特位的二进制序列; 更具体地, 在本实施例中, 终端已获取到对应第一个内容块的编码块, 而需要继续获取分别对应第二 至四个内容块的编码块, 而当前只有节点 X、节点 Y及节点 z上分别存储 了同样内容名称的编码块, 且 X节点中的两个编码块对应的特征字段分别 为" 1001"和" 0111", Y节点中的两个编码块分别对应的特征字段为" 1100" 和" 0100", Z节点中的一个编码块分别对应的特征字段为" 0011", 如图 5 所示, 其中, 编码块后括号内的内容表示该编码块对应的特征字段。
步骤 601、 终端向内容路由器发送内容请求消息, 所述内容请求消息 包括: 请求内容的名称、 请求标识和排除信息, 在这里, 请求标识可以为 二进制序列" 0111",用以批量请求对应第二、第三和第四内容块的编码块; 所述排除信息包括所述已获取的编码块的特征字段, 以排除掉已获取的对 应第一个内容块的编码块。
可选地, 也可采用单独请求的方式, 例如采用" 0100"作为请求标识, 以请求与第二个内容块对应的编码块。
步骤 602、 内容路由器将该内容请求消息以广播的方式转发给其它的 节点 X、 节点 Y及节点 Z; 在本实施例的具体场景中, 由于作为内容路由 器的节点上未存储有相同内容名称的编码块, 因此, 直接转发给下一场节 点。
步骤 603、 节点 X、 节点 Y及节点 Z接收到该内容请求消息后, 分别 根据该内容请求消息中的内容名称在 CS表中确定与内容名称相对应的编 码块信息, 再分别将所述请求标识与所述编码块信息中的各特征字段一一 作与运算, 根据与运算结果可获知, 对于节点 X, 其中特征字段为" 1001" 的编码块可以作为第二目标编码块; 对于节点 Y , 其中特征字段为" 0100" 的编码块可以作为第二目标编码块; 对应节点 Z , 其中特征字段为" 0011" 的编码块可以作为第二目标编码块; 然后, 将上述三个第二目标编码块及 其分别对应的特征字段通过第二内容回复消息分别发送给内容路由器, 该 过程如图 5所示, 具体地, 图 5中, 虚线表示请求的过程、 实线表示对该 请求的回复过程。
步骤 604、 内容路由器接收到该第二内容回复消息, 且此时, 上述内 容请求消息对应的收发信息仍存在与 PIT中, 则将上述三个第二目标编码 块中的一个 (例如 "0100" ) 作为第一目标编码块, 并将该第一目标编码块 及对应的特征字段包含在第一内容回复消息中返回给终端。 优选的, 内容 路由器将最先接收到的第二目标编码块 (例如 "0100" ) 作为第一目标编码 块。
步骤 605、 终端接收到第一内容回复消息、 并从中获取第一目标编码 块后, 对接收到的两个编码块 ("1000"和" 0100" ) 进行归一化处理, 然后 发送请求第三和第四个内容块对应的编码块的内容请求消息, 其请求标识 可以为 "0011", 排除信息可以为" 1000"和" 0100"。
步骤 606、 内容路由器在接收到请求第三和第四个内容块对应的编码 块的内容请求消息后, 将其中的请求标识与 CS表中存储的内容名称相同 的编码块信息的特征字段分别作与运算, 并将与运算结果为非 0的作为目 标编码块, 此时, 前述的两个" 0011 "和" 1001"均符合要求, 因此选择与运 算结果较小的即" 0011 "对应的编码块作为第一目标编码块, 并通过第一内 容回复消息返回给终端, 该过程如图 6所示, 具体地, 图 6中, 虚线表示 请求的过程、 实线表示对该请求的回复过程, 且, 图中内容路由器与节点 X、节点 Y和节点 z之间没有连线并不表示内容路由器与这些节点之间无 连接, 而是在本过程中没有数据传输。
步骤 607、 终端接收到第一内容回复消息、 并从中获取所述第一目标 编码块后, 可再发送请求第三和第四个内容块对应的编码块的内容请求消 息, 其请求标识可以为" 0011", 排除信息可以为" 1000"、 "0100"和" 0011"。
步骤 608、内容路由器在接收到请求第四个内容块的内容请求消息后, 将其中的请求标识与 CS表中存储的内容名称相同的编码块信息的特征字 段分别作与运算, 并将与运算结果为非 0的作为目标编码块, 此时只有 "1001"符合要求, 因此将 "1001"对应的编码块作为第一目标编码块返回给 终端, 该过程如图 7所示, 具体地, 图 7中, 虚线表示请求的过程、 实线 表示对该请求的回复过程, 且, 图中内容路由器与节点 X、 节点 Y和节点 Z之间没有连线并不表示内容路由器与这些节点之间无连接, 而是在本过 程中没有数据传输。
由本实施例可以看出, 各节点返回给内容路由器的编码块的特征字段 之间的线性无关性的概率较高, 且, 可将批量请求到的不同编码块存储在 内容路由器中, 使得终端的下一个请求上述编码块的内容请求消息可以在 内容路由器中获得相应的第一内容回复消息, 无需在转发至下一层节点, 从而在提高提高了带宽利用率的同时, 也有助于提高传输效率。
图 8为本发明终端设备一实施例的结构示意图; 如图 8所示, 本实施 例提供的终端设备, 包括:
请求生成模块 81, 用于生成内容请求消息, 所述内容请求消息包括: 请求内容的名称、 请求标识和排除信息, 所述请求标识用于标识请求的至 少一个编码块, 所述排除信息包括所述已获取的编码块的特征字段;
请求发送模块 82, 用于向 CCN的节点发送所述内容请求消息, 以获 取所述请求内容;
其中, 所述编码块为对由所述请求内容的切分成的至少两个大小相等 的内容块进行线性编码生成的, 每个编码块唯一对应一个特征标识, 所述 特征标识包括所述请求内容的名称和特征字段。
图 9a为本发明终端设备另一实施例的结构示意图; 如图 9a所示, 本 实施例的终端设备在图 8所示结构的基础上, 还包括:
第一接收模块 91, 用于接收所述 CCN的节点发送的内容回复消息, 所述内容回复消息包括目标编码块和目标编码块对应的特征标识, 所述目 标编码块为特征字段与所述请求标识作与运算结果为非 0、 且所述特征字 段不属于所述排除信息的编码块。
图 9b为本发明终端设备又一实施例的结构示意图; 如图%所示, 本 实施例的终端设备在图 9a所示结构的基础上, 还包括:
归一化处理模块 92, 用于对已获取到的全部编码块进行归一化处理, 以确定下一个内容请求消息所需的请求标识和排除信息。
上述实施例提供的终端设备可以用于执行前述实施例的内容请求方 法, 其实现原理和技术效果类似, 此处不再赘述。
本实施例提供的终端设备, 可以通过发送内容请求消息向 CCN中存 储有编码块的各节点请求需要的编码块, 以获取请求的内容, 由于编码块 的数量大于内容的内容块的数量, 因此, 可以降低各节点返回相同编码块 的概率, 从而提高带宽利用率。 图 10为本发明 CCN节点一实施例的结构示意图; 如图 10所示, 本 实施例提供的 CCN节点, 包括:
请求接收模块 10a, 用于接收终端发送的内容请求消息, 所述内容请 求消息包括: 请求内容的名称、 请求标识和排除信息, 所述请求标识用于 标识请求的至少一个编码块, 所述排除信息包括所述已获取的编码块的特 征字段;
查找模块 10b, 用于根据所述请求内容的名称和预先存储的编码块信 息, 确定与所述请求内容对应的编码块信息, 其中, 所述编码块信息包括 编码块和所述编码块对应的特征标识, 所述编码块为对由一内容切分成的 至少两个大小相等的内容块进行线性编码生成的, 所述特征标识包括所述 内容的名称和特征字段;
获取模块 10c, 用于将所述请求标识分别与所述请求内容对应的编码 块信息中的特征字段作与运算, 获取与运算结果为非 0、 且不属于所述排 除信息的特征字段对应的编码块作为第一目标编码块;
第一发送模块 10d, 用于向所述终端发送第一内容回复消息, 所述第 一内容回复消息包括所述第一目标编码块和所述第一目标编码块对应的 特征字段。
图 11为本发明 CCN节点另一实施例的结构示意图; 如图 11所示, 本实施例提供的 CCN节点在图 10所示结构的基础上, 还包括:
请求转发模块 10e,用于当未获取到与运算结果为非 0的特征字段时, 或者获取到的与运算结果为非 0的特征字段均属于所述排除信息时, 将所 述内容请求消息转发出去, 并将所述内容请求消息对应的收发信息添加到 待定请求消息记录表 PIT中;
第二接收模块 10f, 用于接收所述内容请求消息对应的第二内容回复 消息, 所述第二内容回复消息包括第二目标编码块和所述第二目标编码块 对应的特征字段;
第二发送模块 10g, 用于如果接收到所述第二内容回复消息时所述内 容请求消息对应的收发信息仍存在于所述待定请求消息记录表中, 将所述 第二内容回复消息发送给所述终端。
图 12为本发明 CCN节点又一实施例的结构示意图; 如图 12所示, 本实施例提供的 CCN节点在图 11所示结构的基础上, 还包括: 编码块处理模块 12a, 用于如果接收到所述第二内容回复消息时所述 内容请求消息对应的收发信息已经不存在于所述待定请求消息记录表中, 则将所述第二目标编码块对应的特征字段分别与所述编码块信息中的特 征字段作与运算, 当所有与运算的结果均为非 0时, 将所述第二目标编码 块和所述第二目标编码块对应的特征字段添加到所述编码块信息中。
以及删除模块 12b, 用于将所述内容请求消息对应的收发信息从所述待定 请求消息记录表中删除。
上述实施例提供的 CCN节点可以用于执行前述实施例的消息处理方 法, 其实现原理和技术效果类似, 此处不再赘述。
上述实施例提供的 CCN节点, 可通过接受前述实施例提供的终端设 备发送的内容请求消息, 并将该内容请求消息中的请求标识与请求内容的 名称对应的编码块信息中的特征字段作与运算、 将所述与运算结果为非 0 的编码块作为目标编码块回复给对应的终端, 使得终端可以获取到其请求 内容对应的线性无关的多个编码块, 从而恢复出其请求内容的名称对应的 内容; 并且, 线性编码后形成的编码块的数量大于内容块的数量, CCN的 各节点回复相同目标编码块的概率降低, 有利于提升带宽利用率。
图 13为本发明内容发布装置一实施例的结构示意图; 请参照图 13, 本实施例的内容发布装置可以包括:
切分模块 13a, 用于将一内容切分为至少两个大小相等的内容块; 线性编码模块 13b, 用于对所述至少两个内容块进行线性编码, 生成 数量多于内容块数量的多个编码块, 每个编码块唯一对应一个特征标识, 所述特征标识包括所述内容的名称和特征字段, 所述特征字段为所述线性 编码过程中形成的系数向量;
存储模块 13c, 用于将所述多个编码块和对应的特征标识存储到内容 为中心的网络 CCN的各节点中。
本实施例提供的 CCN节点可以用于执行前述实施例的消息处理方法, 其实现原理和技术效果类似, 此处不再赘述。 具体地, 本实施例提供的内 容发布装置可以与前述实施例提供的终端设备或 CCN节点设置在一起。
图 14为本发明 CCN系统一实施例的结构示意图; 请参照图 14, 本实 施例提供的 CCN系统包括:
多个 CCN节点 14a, 采用上述任一实施例所述的 CCN节点, 其具体 实现原理和技术效果与前述实施例类似, 在此不再赘述。
本实施提供的 CCN系统, 可实现将同一内容的大小相等的两个以上 内容块、 经线性编码转换成编码块, 将这些编码块发布到 CCN各 CCN节 点中, 使得, 当终端请求编码块时, CCN节点可通过将请求标识与存储的 编码块的特征字段作与运算来获取可用于答复该内容请求的目标编码块, 以降低不同节点根据请求返回相同编码块的几率, 从而提升带宽利用率。
本领域普通技术人员可以理解: 实现上述各方法实施例的全部或部分 步骤可以通过程序指令相关的硬件来完成。 前述的程序可以存储于一计算 机可读取存储介质中。 该程序在执行时, 执行包括上述各方法实施例的步 骤; 而前述的存储介质包括: ROM、 RAM, 磁碟或者光盘等各种可以存 储程序代码的介质。
最后应说明的是: 以上各实施例仅用以说明本发明的技术方案, 而非 对其限制; 尽管参照前述各实施例对本发明进行了详细的说明, 本领域的 普通技术人员应当理解: 其依然可以对前述各实施例所记载的技术方案进 行修改, 或者对其中部分或者全部技术特征进行等同替换; 而这些修改或 者替换, 并不使相应技术方案的本质脱离本发明各实施例技术方案的范 围。

Claims

权 利 要 求 书
1、 一种内容请求方法, 其特征在于, 包括:
生成内容请求消息, 所述内容请求消息包括: 请求内容的名称、 请求 标识和排除信息, 所述请求标识用于标识请求的至少一个编码块, 所述排 除信息包括所述已获取的编码块的特征字段;
向以内容为中心的网络 CCN的节点发送所述内容请求消息, 以获取 所述请求内容;
其中, 所述编码块为对由所述请求内容的切分成的至少两个大小相等 的内容块进行线性编码生成的, 每个编码块唯一对应一个特征标识, 所述 特征标识包括所述请求内容的名称和特征字段。
2、 根据权利要求 1所述的内容请求方法, 其特征在于, 所述请求标 识与所述已获取的编码块的特征字段线性无关。
3、 根据权利要求 1或 2所述的内容请求方法, 其特征在于, 所述请 求标识为二进制序列, 所述二进制序列的比特位总数与所述内容块的数量 相等, 其中, 如果要获取所述请求内容的第 i个内容块, 则将所述二进制 序列的第 i个比特位置为 1, 其他比特置为 0。
4、 根据权利要求 1或 2或 3所述的内容请求方法, 其特征在于, 所 述向所述 CCN的节点发送所述内容请求消息之后, 还包括:
接收所述 CCN的节点发送的内容回复消息, 所述内容回复消息包括 目标编码块和目标编码块对应的特征标识, 所述目标编码块为特征字段与 所述请求标识作与运算结果为非 0、 且所述特征字段不属于所述排除信息 的编码块。
5、 根据权利要求 4所述的内容请求方法, 其特征在于, 还包括:
对已获取到的全部编码块进行归一化处理, 以确定下一个内容请求消 息所需的请求标识和排除信息。
6、 根据权利要求 1或 2或 3所述的内容请求方法, 其特征在于, 所 述内容请求消息还包括:
所述线'性编码的类型标识。
7、 一种消息处理方法, 其特征在于, 包括:
接收终端发送的内容请求消息, 所述内容请求消息包括: 请求内容的 名称、 请求标识和排除信息, 所述请求标识用于标识请求的至少一个编码 块, 所述排除信息包括所述已获取的编码块的特征字段;
根据所述请求内容的名称和预先存储的编码块信息, 确定与所述请求 内容对应的编码块信息, 其中, 所述编码块信息包括编码块和所述编码块 对应的特征标识, 所述编码块为对由一内容切分成的至少两个大小相等的 内容块进行线性编码生成的, 所述特征标识包括所述内容的名称和特征字 段;
将所述请求标识分别与所述请求内容对应的编码块信息中的特征字 段作与运算, 获取与运算结果为非 0、 且不属于所述排除信息的特征字段 对应的编码块作为第一目标编码块;
向所述终端发送第一内容回复消息, 所述第一内容回复消息包括所述 第一目标编码块和所述第一目标编码块对应的特征字段。
8、 根据权利要求 7所述的消息处理方法, 其特征在于, 获取与运算 结果为非 0、 且不属于所述排除信息的特征字段对应的编码块作为第一目 标编码块, 包括:
若获取到与运算结果为非 0、 且不属于所述排除信息的特征字段对应 的多个特征字段, 则从所述多个特征字段中随机选择一个特征字段, 将选 择的特征字段对应的编码块作为所述第一目标编码块;
或者从获取到的与运算结果为非 0、 且不属于所述排除信息的特征字 段对应的多个特征字段中, 选择与运算结果最小的特征字段, 将选择的特 征字段对应的编码块作为所述第一目标编码块。
9、 根据权利要求 7或 8所述的消息处理方法, 其特征在于, 还包括: 当未获取到与运算结果为非 0的特征字段时, 或者获取到的与运算结 果为非 0的特征字段均属于所述排除信息时, 将所述内容请求消息转发出 去, 并将所述内容请求消息对应的收发信息添加到待定请求消息记录表 PIT中;
接收所述内容请求消息对应的第二内容回复消息, 所述第二内容回复 消息包括第二目标编码块和所述第二目标编码块对应的特征字段;
如果接收到所述第二内容回复消息时所述内容请求消息对应的收发 信息仍存在于所述待定请求消息记录表中, 将所述第二内容回复消息发送 给所述终端。
10、 根据权利要求 9所述的消息处理方法, 其特征在于, 还包括: 如果接收到所述第二内容回复消息时所述内容请求消息对应的收发 信息已经不存在于所述待定请求消息记录表中, 则将所述第二目标编码块 对应的特征字段分别与所述编码块信息中的特征字段作与运算, 当所有与 运算的结果均为非 0时, 将所述第二目标编码块和所述第二目标编码块对 应的特征字段添加到所述编码块信息中。
11、 根据权利要求 9所述的消息处理方法, 其特征在于, 还包括:
将所述内容请求消息对应的收发信息从所述待定请求消息记录表中删 除。
12、 一种内容发布方法, 其特征在于, 包括:
将一内容切分为至少两个大小相等的内容块;
对所述至少两个内容块进行线性编码, 生成数量多于内容块数量的多 个编码块, 每个编码块唯一对应一个特征标识, 所述特征标识包括所述内 容的名称和特征字段, 所述特征字段为所述线性编码过程中形成的系数向 将所述多个编码块和对应的特征标识存储到内容为中心的网络 CCN 的各节点中。
13、 一种终端设备, 其特征在于, 包括:
请求生成模块, 用于生成内容请求消息, 所述内容请求消息包括: 请 求内容的名称、 请求标识和排除信息, 所述请求标识用于标识请求的至少 一个编码块, 所述排除信息包括所述已获取的编码块的特征字段;
请求发送模块, 用于向以内容为中心的网络 CCN的节点发送所述内 容请求消息, 以获取所述请求内容;
其中, 所述编码块为对由所述请求内容的切分成的至少两个大小相等 的内容块进行线性编码生成的, 每个编码块唯一对应一个特征标识, 所述 特征标识包括所述请求内容的名称和特征字段。
14、 根据权利要求 13所述的终端设备, 其特征在于, 还包括: 第一接收模块, 用于接收所述 CCN的节点发送的内容回复消息, 所 述内容回复消息包括目标编码块和目标编码块对应的特征标识, 所述目标 编码块为特征字段与所述请求标识作与运算结果为非 0、 且所述特征字段 不属于所述排除信息的编码块。
15、 根据权利要求 14所述的终端设备, 其特征在于, 还包括: 归一化处理模块, 用于对已获取到的全部编码块进行归一化处理, 以 确定下一个内容请求消息所需的请求标识和排除信息。
16、 一种以内容为中心的网络 CCN节点, 其特征在于, 包括: 请求接收模块, 用于接收终端发送的内容请求消息, 所述内容请求消 息包括: 请求内容的名称、 请求标识和排除信息, 所述请求标识用于标识 请求的至少一个编码块, 所述排除信息包括所述已获取的编码块的特征字 段;
查找模块, 用于根据所述请求内容的名称和预先存储的编码块信息, 确定与所述请求内容对应的编码块信息, 其中, 所述编码块信息包括编码 块和所述编码块对应的特征标识, 所述编码块为对由一内容切分成的至少 两个大小相等的内容块进行线性编码生成的, 所述特征标识包括所述内容 的名称和特征字段;
获取模块, 用于将所述请求标识分别与所述请求内容对应的编码块信 息中的特征字段作与运算, 获取与运算结果为非 0、 且不属于所述排除信 息的特征字段对应的编码块作为第一目标编码块;
第一发送模块, 用于向所述终端发送第一内容回复消息, 所述第一内 容回复消息包括所述第一目标编码块和所述第一目标编码块对应的特征 字段。
17、 根据权利要求 16所述的 CCN节点, 其特征在于, 还包括: 请求转发模块, 用于当未获取到与运算结果为非 0的特征字段时, 或 者获取到的与运算结果为非 0的特征字段均属于所述排除信息时, 将所述 内容请求消息转发出去, 并将所述内容请求消息对应的收发信息添加到待 定请求消息记录表 PIT中;
第二接收模块, 用于接收所述内容请求消息对应的第二内容回复消 息, 所述第二内容回复消息包括第二目标编码块和所述第二目标编码块对 应的特征字段;
第二发送模块, 用于如果接收到所述第二内容回复消息时所述内容请 求消息对应的收发信息仍存在于所述待定请求消息记录表中, 将所述第二 内容回复消息发送给所述终端。
18、 根据权利要求 17所述的 CCN节点, 其特征在于, 还包括: 编码块处理模块, 用于如果接收到所述第二内容回复消息时所述内容 请求消息对应的收发信息已经不存在于所述待定请求消息记录表中, 则将 所述第二目标编码块对应的特征字段分别与所述编码块信息中的特征字 段作与运算, 当所有与运算的结果均为非 0时, 将所述第二目标编码块和 所述第二目标编码块对应的特征字段添加到所述编码块信息中。
19、 根据权利要求 17所述的 CCN节点, 其特征在于, 还包括:
删除模块, 用于将所述内容请求消息对应的收发信息从所述待定请求消 息记录表中删除。
20、 一种内容发布装置, 其特征在于, 包括:
切分模块, 用于将一内容切分为至少两个大小相等的内容块; 线性编码模块, 用于对所述至少两个内容块进行线性编码, 生成数量 多于内容块数量的多个编码块, 每个编码块唯一对应一个特征标识, 所述 特征标识包括所述内容的名称和特征字段, 所述特征字段为所述线性编码 过程中形成的系数向量;
存储模块, 用于将所述多个编码块和对应的特征标识存储到内容为中 心的网络 CCN的各节点中。
21、一种以内容为中心的网络 CCN系统,其特征在于,包括多个 CCN 节点, 每个 CCN节点为权利要求 16至 19任一所述的 CCN节点。
PCT/CN2013/078434 2012-06-28 2013-06-28 内容处理方法、装置及系统 WO2014000697A1 (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
EP13810290.0A EP2747336B1 (en) 2012-06-28 2013-06-28 Content processing method, device and system
US14/311,075 US9848059B2 (en) 2012-06-28 2014-06-20 Content handling method, apparatus, and system

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201210218512.6 2012-06-28
CN201210218512.6A CN103516757B (zh) 2012-06-28 2012-06-28 内容处理方法、装置及系统

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US14/311,075 Continuation US9848059B2 (en) 2012-06-28 2014-06-20 Content handling method, apparatus, and system

Publications (1)

Publication Number Publication Date
WO2014000697A1 true WO2014000697A1 (zh) 2014-01-03

Family

ID=49782278

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2013/078434 WO2014000697A1 (zh) 2012-06-28 2013-06-28 内容处理方法、装置及系统

Country Status (4)

Country Link
US (1) US9848059B2 (zh)
EP (1) EP2747336B1 (zh)
CN (1) CN103516757B (zh)
WO (1) WO2014000697A1 (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6410563B2 (ja) * 2014-10-27 2018-10-24 Kddi株式会社 コンテンツ配信ネットワークの配信装置、転送装置、クライアント装置及びプログラム
CN105141470B (zh) * 2015-06-25 2018-12-11 南京师范大学 基于网络编码的内容分发系统线性相关性判断方法和装置
JP6483044B2 (ja) * 2016-03-17 2019-03-13 Kddi株式会社 保持しているオブジェクトの変換を行う転送装置及びプログラム
US10129360B2 (en) * 2016-03-28 2018-11-13 The Boeing Company Unified data networking across heterogeneous networks
CN108282256B (zh) * 2017-01-06 2022-05-13 中兴通讯股份有限公司 一种信息处理方法及终端
CN112506847B (zh) * 2021-02-04 2021-04-30 上海励驰半导体有限公司 多处理器通信方法及系统
CN114979308B (zh) * 2022-05-11 2024-04-16 北京沃东天骏信息技术有限公司 一种消息处理的方法和装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1854757A (zh) * 2005-04-28 2006-11-01 中国科学院遥感应用研究所 遥感影像群判读系统方法
CN101163258A (zh) * 2006-10-09 2008-04-16 华为技术有限公司 对大容量小区广播业务进行处理的方法和系统
CN101174955A (zh) * 2006-10-30 2008-05-07 华为技术有限公司 共享内容传输方法和系统以及内容源端、内容接收端
WO2009007345A2 (en) * 2007-07-11 2009-01-15 Technische Universität Braunschweig Catalyst for alkyne metathesis
CN101945129A (zh) * 2010-09-10 2011-01-12 北京易视腾科技有限公司 P2p流媒体直播的低延时传输方法及系统

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6529508B1 (en) * 1999-02-01 2003-03-04 Redback Networks Inc. Methods and apparatus for packet classification with multiple answer sets
JP3668673B2 (ja) * 2000-06-09 2005-07-06 株式会社日立コミュニケーションテクノロジー エラー訂正符号の構成方法、復号方法、伝送装置、ネットワーク
ATE482562T1 (de) * 2006-05-19 2010-10-15 Microsoft Corp Inhaltsverwaltung in peer-to-peer datenverteilungswolken
US7886080B2 (en) 2007-11-30 2011-02-08 Cisco Technology, Inc. Management of topology changes in layer two networks
US9456054B2 (en) * 2008-05-16 2016-09-27 Palo Alto Research Center Incorporated Controlling the spread of interests and content in a content centric network
CN101621353B (zh) * 2008-07-03 2013-08-07 华为技术有限公司 一种随机线性网络编码的方法、装置和系统
US8204060B2 (en) * 2009-01-30 2012-06-19 Palo Alto Research Center Incorporated Method and system for facilitating forwarding a packet in a content-centric network
US9264342B2 (en) * 2009-12-24 2016-02-16 Samsung Electronics Co., Ltd. Terminal device based on content name, and method for routing based on content name
CN102308533B (zh) * 2010-06-28 2013-10-09 华为技术有限公司 对报文进行分类的方法及装置
US8706468B2 (en) * 2011-09-20 2014-04-22 General Electric Company Method and program product for validation of circuit models for phase connectivity
KR101907932B1 (ko) * 2011-12-27 2018-10-17 한국전자통신연구원 묶음 콘텐츠를 위한 네트워크 기반 콘텐츠 캐싱 지원하는 패킷 포워딩 구조 및 방법
US20130275618A1 (en) * 2012-04-17 2013-10-17 Alcatel-Lucent Bell Labs France Method and apparatus for reducing content redundancy in content-centric networking

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1854757A (zh) * 2005-04-28 2006-11-01 中国科学院遥感应用研究所 遥感影像群判读系统方法
CN101163258A (zh) * 2006-10-09 2008-04-16 华为技术有限公司 对大容量小区广播业务进行处理的方法和系统
CN101174955A (zh) * 2006-10-30 2008-05-07 华为技术有限公司 共享内容传输方法和系统以及内容源端、内容接收端
WO2009007345A2 (en) * 2007-07-11 2009-01-15 Technische Universität Braunschweig Catalyst for alkyne metathesis
CN101945129A (zh) * 2010-09-10 2011-01-12 北京易视腾科技有限公司 P2p流媒体直播的低延时传输方法及系统

Also Published As

Publication number Publication date
EP2747336A4 (en) 2015-06-24
EP2747336A1 (en) 2014-06-25
US9848059B2 (en) 2017-12-19
US20140304369A1 (en) 2014-10-09
CN103516757B (zh) 2016-12-21
EP2747336B1 (en) 2018-11-07
CN103516757A (zh) 2014-01-15

Similar Documents

Publication Publication Date Title
WO2014000697A1 (zh) 内容处理方法、装置及系统
US11601296B2 (en) Bit indexed explicit replication for layer 2 networking
Zhang et al. Scalable name-based data synchronization for named data networking
US11646906B2 (en) Bit indexed explicit forwarding optimization
US10708075B2 (en) Bit indexed explicit replication using internet protocol version 6
US9497282B2 (en) Network coding for content-centric network
CN105704030B (zh) 用于基于距离的兴趣转发的系统和方法
WO2014139481A1 (zh) 报文处理方法及设备
TW201903623A (zh) 用以選擇性使用網路編碼以在區塊鏈網路中傳播交易之方法及系統
CN103747083B (zh) 一种基于ccn的内容推送方法
CN104509073A (zh) 在软件定义的网络中发现ip多播组成员
CN102647312B (zh) 一种整网组播拓扑的探测方法及装置
WO2016029345A1 (zh) 网络流的信息统计方法和装置
JP2018519684A5 (zh)
US20180227230A1 (en) Stateless information centric forwarding using dynamic filters
CN104767678B (zh) 在内容中心网络中基于命名中内容属性实现的路由方法
CN101729351B (zh) 拓扑信息的发现方法及系统、查询请求设备、待查询设备
CN111611348A (zh) 一种基于学习布隆过滤器的icn网络信息名字查找方法
CN105100008B (zh) 内容中心网络中内容分发的方法及相关设备
CN104040967B (zh) 一种报文的流转发方法及报文转发设备
CN114338127B (zh) 匿名通信的数据传输方法及装置、电子设备、存储介质
KR100687745B1 (ko) IPv6 송신자 기반 멀티캐스트 패킷 포워딩을 위한네트워크 프로세서 및 그 방법
US8243655B2 (en) Exchange of information in a communication network
WO2023045394A1 (zh) 一种组播报文的处理方法、相关装置及设备
TWI752747B (zh) 多媒體與完整檔案並行傳輸方法

Legal Events

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

Ref document number: 13810290

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE