WO2019201091A1 - 一种数据处理方法、设备和计算机可读存储介质 - Google Patents
一种数据处理方法、设备和计算机可读存储介质 Download PDFInfo
- Publication number
- WO2019201091A1 WO2019201091A1 PCT/CN2019/081204 CN2019081204W WO2019201091A1 WO 2019201091 A1 WO2019201091 A1 WO 2019201091A1 CN 2019081204 W CN2019081204 W CN 2019081204W WO 2019201091 A1 WO2019201091 A1 WO 2019201091A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- packet
- icn
- icn packet
- offset address
- flag bit
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/302—Route determination based on requested QoS
- H04L45/306—Route determination based on the nature of the carried application
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/903—Querying
- G06F16/9032—Query formulation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/74—Address processing for routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/568—Storing data temporarily at an intermediate stage, e.g. caching
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/60—Scheduling 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/63—Routing a service request depending on the request content or context
Definitions
- the present invention relates to the field of communications technologies, and in particular, to a data processing method, device, and computer readable storage medium.
- ICN Information-Centric Networking
- the architecture establishes the communication model based on the identification data.
- the encapsulation structure and addressing mode of the IP packet are fundamentally changed, which is beneficial to the handover of the mobile communication device and reduces
- the communication delay solves the problems that the traditional Internet architecture cannot cope with high-speed mobile communication, the exhaustion of IP address space, low network transmission efficiency, and poor security.
- the ICN's forwarding plane processes a variety of data including the Interest packet and the Data packet.
- the ICN forwarding plane needs to retrieve whether there is a Data packet requested by the Interest packet, or whether there is a request for retrieval.
- the Interest of the Data package is a variety of data including the Interest packet and the Data packet.
- an embodiment of the present invention is to provide a data processing method, device, and computer readable storage medium, which solves the problem of low query efficiency of an ICN packet in an ICN network in the prior art.
- the present invention provides a data processing method for a node in an information center network ICN, the method comprising:
- the record pointed by the first offset address is used to store the storage address of the second ICN packet or the forwarding of the second ICN packet when the second ICN packet corresponding to the first ICN packet is locally stored. information.
- the present invention provides a data processing method, which is applied to a node in an information center network ICN, and the method includes:
- first ICN packet is an interest Interest packet or a data data packet
- the value of the flag bit in the index unit is used to indicate whether the Interest packet and/or the Data packet corresponding to the flag bit are stored locally.
- the present invention provides a data processing apparatus, the apparatus comprising a processor and a memory for storing a computer program executable on the processor,
- processor is configured to perform the steps of the data processing method of any one of the first aspects, or to perform the steps of the data processing method of any of the second aspects, when the computer program is executed.
- the present invention provides a computer readable storage medium having stored thereon a data processing program, wherein when the data processing program is executed by a processor, the data processing method of any of the first aspects is implemented And the step of implementing the data processing method of any of the second aspects when the data processing program is executed by the processor.
- the data processing method provided by the embodiment of the present invention obtains the first offset address corresponding to the first ICN packet, queries the record pointed to by the first offset address, and performs data processing according to the query result;
- the record pointed to by the first offset address is used to store the storage address of the second ICN packet or the forwarding information of the second ICN packet when the second ICN packet corresponding to the first ICN packet is stored locally, which can improve the ICN packet in the ICN network. Query efficiency.
- FIG. 1A is a schematic diagram of a working mechanism of an ICN forwarding plane when receiving an Interest packet
- FIG. 1B is a schematic diagram of a search sequence of an ICN forwarding plane when an Interest packet is received;
- 2A is a schematic diagram of a working mechanism of an ICN forwarding plane when receiving a data packet
- 2B is a schematic diagram of a search sequence of an ICN forwarding plane when a Data packet is received
- FIG. 3 is a schematic flowchart 1 of a data processing method according to an embodiment of the present invention.
- FIG. 4A is a schematic structural diagram 1 of a node according to an embodiment of the present invention. ;
- FIG. 4B is a schematic structural diagram 2 of a node according to an embodiment of the present invention.
- FIG. 5 is a schematic diagram 1 of an interaction process of a data processing method according to an embodiment of the present invention.
- FIG. 6 is a second schematic diagram of an interaction process of a data processing method according to an embodiment of the present invention.
- FIG. 7A is a third schematic diagram of an interaction process of a data processing method according to an embodiment of the present invention.
- FIG. 7B is a fourth schematic diagram of an interaction process of a data processing method according to an embodiment of the present invention.
- FIG. 7C is a schematic diagram 5 of an interaction process of a data processing method according to an embodiment of the present invention.
- FIG. 8 is a second schematic flowchart of a data processing method according to an embodiment of the present invention.
- FIG. 9 is a schematic flowchart 3 of a data processing method according to an embodiment of the present invention.
- FIG. 10 is a schematic structural diagram of a data processing device according to an embodiment of the present invention.
- the technical solution provided by the embodiment of the present invention can be applied to the structural design field of the router in the forwarding plane of the ISN.
- the application scenario of the data processing method provided by the embodiment of the present invention is first introduced. Give a general description.
- three data structures can be deployed on the forwarding plane of the information center network ICN: Content Store (CS), Request Status Table (Pending Interest Table) a PIT, and a Forwarding Information Base (FIB), wherein the PIT is used to store forwarding information of the Interest packet, and the forwarding information may include, for example, an identifier of the Data packet requested by the Interest packet, and a requesting node that requests the Data packet. Information, etc. CS is used to store data packets. ICN uses these three data structures to achieve content sharing and intelligent forwarding, reducing network load and increasing the transmission rate of data in the ICN network.
- FIG. 1A is a schematic diagram of the working mechanism of the ICN forwarding plane when receiving the Interest packet
- FIG. 1B is a schematic diagram of the retrieval sequence of the ICN forwarding plane when receiving the Interest packet
- FIG. 2B is a schematic diagram of the retrieval sequence of the ICN forwarding plane when the Data packet is received.
- the processing steps of the forwarding plane after the interface reaches the port of the forwarding plane may include:
- Step S101 receiving an Interest packet.
- step S102 the CS is searched to determine whether the Data packet requested by the Interest packet is stored in the CS. If yes, execute S103, and if no, execute S104.
- Step S103 Send the data packet corresponding to the Interest packet to the requesting node according to the forwarding information of the Interest packet.
- step S104 the PIT is retrieved to determine whether the Interest packet is stored in the PIT.
- Step S105 adding the forwarding information of the Interest packet to the PIT.
- Step S106 updating the forwarding information of the Interest packet in the PIT.
- the forwarding plane in the working mechanism involving CS and PIT in the forwarding plane, after the Interest packet reaches a certain port of the forwarding plane, the forwarding plane first retrieves the CS memory, see S102a, and then retrieves the PIT table, see S104a.
- the processing steps of the forwarding plane after the data packet reaches the port of the forwarding plane may include:
- Step S201 receiving a data packet.
- step S202 the PIT is retrieved, and it is determined whether or not the Interest packet requesting the Data is stored in the PIT. If yes, the process proceeds to S203, and if not, the process proceeds to S205.
- Step S203 Send the data packet to the requesting node according to the forwarding information of the Interest packet according to the forwarding information of the Interest packet.
- Step S204 in the CS, buffering the data packet.
- step S205 the data packet is discarded.
- the forwarding plane in the working mechanism involving CS and PIT in the forwarding plane, after the Data packet arrives at the forwarding plane, the forwarding plane first retrieves the PIT table, and then caches the Data packet in the CS memory.
- This process of repeated retrieval ensures the accuracy of the retrieval, but the repeated retrieval process affects the performance of the forwarding plane.
- the technical solution provided by the embodiment of the present invention can solve the problem that the forwarding plane of the ICN needs to repeatedly retrieve data in multiple entries during the working process.
- the data processing method provided by the embodiment of the present invention is described in detail below.
- the both the Interest packet and the Data packet may be referred to as an ICN packet.
- the technical solution provided by the embodiment of the present invention may be applied to the node to receive the corresponding data processing after receiving the ICN packet in the Interest packet or the Data packet. Scenes.
- the embodiment of the present invention provides a data processing method, and the execution body of the embodiment of the present invention may be a node in the ICN.
- the node can be a router.
- the embodiment of the present invention is applicable to a scenario in which a node acquires related information of a second ICN packet corresponding to a first ICN packet after receiving a first ICN packet.
- FIG. 3 is a schematic flowchart 1 of a data processing method according to an embodiment of the present invention. As shown in FIG. 3, the steps of the embodiment of the present invention may include:
- Step S301 Acquire a first offset address corresponding to the first ICN packet.
- Step S302 Query the record pointed by the first offset address corresponding to the first ICN packet, and perform data processing according to the query result, where the record pointed to by the first offset address may be used to locally store the first corresponding to the ICN packet.
- the second ICN packet stores the storage address of the second ICN packet or the forwarding information of the second ICN packet.
- the first offset address corresponding to the first ICN packet is first obtained, and then the record pointed to by the first offset address corresponding to the first ICN packet is queried, and data processing is performed according to the query result, where the first The record pointed to by the offset address may be used to store the storage address of the second ICN packet or the forwarding information of the second ICN packet when the second ICN packet corresponding to the first ICN packet is stored locally; thus, it can be seen that the offset address There is a mapping relationship with the ICN packet, and the record pointed to by the offset address is a forwarding information or a storage address, so that when the first ICN packet is an Interest packet or a Data packet, and the second ICN packet is a Data packet or an Interest packet, only The first offset address needs to be found according to the first ICN packet, which can avoid the problem caused by the repeated retrieval of the nodes in the ICN when the Interest packet or the Data packet is received, thereby improving the retrieval efficiency of the node.
- the method may include: receiving the first ICN packet.
- the first ICN packet may be an Interest packet or a Data packet. If the first ICN packet is an Interest packet, the second ICN packet corresponding to the first ICN packet may be the Data requested by the first ICN packet. package. If the first ICN packet is a Data packet, the second ICN packet corresponding to the first ICN packet may be an Interest packet requesting the first ICN packet.
- the querying the record pointed by the first offset address and performing data processing according to the query result may include:
- the first ICN packet is an Interest packet, query whether the record pointed by the first offset address stores the second ICN packet storage address, where the second ICN packet is requested by the first ICN packet. a data packet; if the storage address pointed to by the first offset address stores the storage address of the second ICN packet, reading the second ICN from a storage space pointed by the storage address of the second ICN packet Packet, and returning the second ICN packet according to the forwarding information of the first ICN packet; and/or,
- the first ICN packet is a data packet, querying whether the record pointed by the first offset address stores forwarding information of the second ICN packet, and the second ICN packet is requesting the first ICN packet request If the first offset address stores the forwarding information of the second ICN packet, the first ICN packet is returned according to the forwarding information of the second ICN packet.
- the first offset address corresponding to the first ICN packet is obtained, and the following implementation manner may be adopted.
- the obtaining the first offset address if the first ICN packet is the Interest packet, the obtaining the first offset address corresponding to the first ICN packet may include: acquiring the data packet requested by the first ICN packet. Identifying; obtaining the first offset address according to the identifier of the Data packet requested by the first ICN packet.
- the obtaining the first offset address corresponding to the first ICN packet may include: acquiring an identifier of the first ICN packet; The identifier of the first ICN packet acquires the first offset address.
- the forwarding information of the Interest packet may include the identifier of the requested Data packet, and the identifier of the Data packet may be the name of the Data packet.
- the name of the Data package can be "/ndn/UA/maps" and the like.
- the record pointed to by the first offset address may be a record in the record table.
- the first offset address may be an address identifier of a storage space of each record in the record table.
- the record corresponding to the first offset address corresponding to the first ICN packet may be A storage address for storing the second ICN packet when the second ICN packet is stored locally.
- the first offset address corresponding to the Interest1 may be the offset address 11
- the first offset address corresponding to the Interest2 may be the offset address 12
- the first offset address corresponding to the Interest3 may be the offset address 13
- the Interest1 The requested Data packet is Data1, the Data packet requested by Interest2 is Data2, and the Data packet requested by Interest3 is Data3.
- Table 1 is an example 1 of the record table.
- the record pointed to by the offset address 11 may store the storage address of Data1
- the record pointed to by the offset address 12 may store the storage address of Data2. Since the node does not currently store the Data3 corresponding to the Interest3, the offset address is In the other embodiment of the present invention, when the node receives the Data3 and caches the Data3 in the CS, the storage address of the Data3 in the CS may be stored in the record table. The offset is located in the record pointed to by address 13. With this implementation manner, when the Interest packet is received, the problem caused by repeated retrieval can be avoided, and the retrieval efficiency of the node can be improved.
- the record pointed to by the first offset address may be used locally.
- the forwarding information of the second ICN packet is stored when the second ICN packet is stored.
- the first offset address corresponding to Data1 may be the offset address 21
- the first offset address corresponding to Data2 may be the offset address 22
- the first offset address corresponding to Data3 may be the offset address 23, requesting The Interest package of Data1 is Interest1, and the Interest package of Data2 is requested as Interest2, and the Interest package of Data3 is requested as Interest3.
- Table 2 is an example 2 of the record table.
- the record pointed to by the offset address 21 stores the forwarding information of the Interest1
- the record pointed to by the offset address 22 stores the forwarding information of the Interest2. Therefore, the forwarding of the Interest3 is not stored in the record pointed to by the offset address 23.
- the forwarding information of the Interest3 may be stored in the record pointed to by the offset address 13 in the record table.
- the first offset address corresponding to the first ICN packet may be the same as the second offset address corresponding to the second ICN packet.
- the record pointed by the first offset address corresponding to the first ICN packet may actually be used for local storage. And storing, by the first ICN packet, a storage address of the first ICN packet or forwarding information of the first ICN packet.
- the recording table can also adopt the following embodiments.
- the record pointed to by the first offset address may be used to store the storage address of the second ICN packet when the second ICN packet is stored locally, and The forwarding information of the first ICN packet is stored when the first ICN packet is stored locally.
- the record pointed to by the first offset address may be used to store the forwarding information of the second ICN packet when the second ICN packet is stored locally, and The storage address of the first ICN packet is stored when the first ICN packet is stored locally.
- Interest1 and Data1 may correspond to the same first offset address, that is, offset address 11
- Interest2 and Data2 may correspond to the same first offset address, that is, offset address 12
- Interest3 and Data3 may correspond to the same number.
- An offset address that is, an offset address of 13.
- Table 3 is an example 3 of the record table. When Data2 is not currently stored, and the forwarding information of the Interest3 is not stored, the content recorded in the record table may be as shown in Table 3.
- Offset address Interest packet forwarding information Storage address of the Data packet in the CS Offset address 11 Interest1 forwarding information Data1 storage address Offset address 12 Interest2 forwarding information - Offset address 13 - Data3 storage address
- the related information of the Data packet corresponding to the Interest packet is stored in the record pointed to by the offset address corresponding to the Interest packet, and at the same time, the Interest packet corresponding to the Data packet is related.
- the information is also stored in the record pointed to by the offset address corresponding to the Data packet. Therefore, when receiving the first ICN packet of the Interest packet or the Data packet, the node may obtain related information of the second ICN packet by retrieving the same record table, such as forwarding information, storage address, or whether to store the second ICN packet. Wait.
- the Interest packet and the Data packet are received, the problems caused by repeated retrieval can be avoided, and the retrieval efficiency of the node is improved.
- the step of the embodiment of the present invention may further include: writing the forwarding information or the storage address of the first ICN packet to the first offset address record of.
- the foregoing querying the record pointed to by the first offset address and performing data processing according to the query result may further include:
- the storage address of the second ICN packet is not stored in the record pointed to by the first offset address, updating the record pointed by the first offset address Stored forwarding information of the first ICN packet; and/or,
- the first ICN packet is a data packet
- the forwarding information of the second ICN packet is stored in the record pointed by the first offset address
- the first ICN packet is cached, and the first The storage address of an ICN packet is written to the record pointed to by the first offset address.
- a combination of the foregoing two methods for acquiring the first offset address may be used as another implementation manner of acquiring the first offset address corresponding to the first ICN packet.
- Obtaining the first offset address corresponding to the first ICN packet by using the foregoing implementation of the combination of the foregoing embodiments for obtaining the first offset address may ensure that the first ICN packet and the second ICN packet correspond to the same offset address. That is, the offset address corresponding to the first ICN packet determined according to the foregoing combination manner is the second offset address corresponding to the second ICN packet corresponding to the first ICN packet.
- the first offset address is determined by using the combination of the foregoing examples. Since the first ICN packet and the second ICN packet corresponding to the first ICN packet correspond to the same first offset address, the node is receiving. When the first ICN packet is received into the Interest packet or the Data packet, the corresponding second ICN packet can be obtained by retrieving the same record table.
- the method further The steps can be included:
- the querying the record pointed by the third offset address, and performing data processing according to the query result may include:
- the third ICN packet is a Data packet requested by the first ICN, and the forwarding of the first ICN packet is stored in the record pointed to by the third offset address. And returning the third ICN packet according to the forwarded information of the first ICN packet that is queried;
- the third ICN packet is an Interest packet requesting the first ICN request, and the first ICN packet is stored in the record pointed to by the first offset address. Storing an address, reading the first ICN packet from a storage space pointed to by the queried storage address of the first ICN packet, and returning the read the first packet according to the forwarding information of the third ICN packet.
- step S301 to step S302 may be performed by an off-chip memory in a node.
- an off-chip memory in a node For details of related technical solutions, refer to descriptions in other embodiments.
- the record pointed to by the first offset address is used to store the storage address of the second ICN packet or the second ICN when the second ICN packet corresponding to the first ICN packet is locally stored.
- the forwarding information of the packet is used to store the storage address of the first ICN packet or the forwarding information of the first ICN packet after storing the first ICN packet locally, so that the ICN can be avoided when receiving the Interest packet and the Data packet.
- the nodes repeatedly retrieve the problems brought by the retrieval, thereby improving the retrieval efficiency of the nodes.
- an embodiment of the present invention further provides an implementation manner of acquiring a first offset address corresponding to the first ICN packet.
- the preset offset function may also be used to obtain the first offset address corresponding to the first ICN packet.
- the positioning function can be used to determine the position of the corresponding flag bit of the input ICN packet in the index unit.
- the step of obtaining the first offset address corresponding to the first ICN packet may include:
- the positioning function may be K hash functions, and the index unit may include M flag bits.
- the node After receiving the first ICN packet, the node inputs the identifiers of the first ICN packet into K positioning functions respectively, to obtain K. Location.
- the first offset address may be an M-bit address, wherein the value of the flag bits of the K positions obtained according to the identifier of the first ICN packet is set to 1, and the value of the flag bit other than the K positions is set. Is 0.
- the flag corresponding to the first ICN packet may be 2, 4, or 5.
- the first offset address may be 010110, where the 2nd, 4th, and 5th bits are 1, and the 1st, 3rd, and 6th bits are 0.
- the value of the flag bit in the index unit may be used to indicate whether the Interest packet and/or the Data packet corresponding to the flag bit are stored locally.
- FIG. 4A is a schematic structural diagram 1 of a node according to an embodiment of the present invention.
- the Pending Interest Table and Content Store via Compressed Mapping Bloom Filter may be set in the node, and the CMaPIT&CS may be a memory with processing capability, and the CMaPIT&CS may also be referred to as a joint storage structure, including on-chip.
- the storage unit 41 On-chip memory
- the off-chip memory 42 In other embodiments of the invention, the on-chip memory unit 41 may use a high speed memory and the off-chip memory unit may use a low speed memory.
- a Compressed Mapping Bloom filter (CoMBF) 411 can be deployed on the on-chip storage unit 41 to implement data retrieval and indexing, and the compressed type can be positioned in the Bloom filter.
- the data can also be called an index unit.
- CoMBF 411 can be composed of two parts: a Compressed Bloom filter 4111 containing m bits, and a Mapping Array (MA) 4112 containing j bits, wherein MA 4112 and Compressed Bloom filter
- the structure of 4111 can be the same, and can all take the form of a bit array.
- the CoMBF may also be composed of a Bloom filter 4113, a Compresses Unit, and an MA 4112.
- FIG. 4B is a schematic structural diagram 2 of a node according to an embodiment of the present invention. Wherein, the compression unit can be used to implement the perceptual compression of the flag bit.
- a counting bloom filter (CBF) 421 data structure corresponding to the CoMBF 4111 may be deployed on the off-chip storage unit 42 to implement data update and deletion.
- a packet store 422 may be deployed on the off-chip storage unit 42 to store the forwarding information of the PIT and the storage location of the data packet in the CS memory to implement integration of the PIT table index structure and the CS memory index structure.
- the Packet Store can be a static memory.
- the Packet Store 222 can store PIT 4221 and CS 4222.
- the Packet Store may be used to store data in the PIT and the CS, and the record pointed to by the first offset address may be a record in the PIT.
- the CoMBF 411 may represent a set containing elements, wherein the basic function for implementing the element retrieval is to determine whether a data element is in the data set represented by the CoMBF.
- the data compression function of Compressed Bloom filter 4111 can effectively reduce the amount of data transmission in the network.
- the CoMBF 411 can be equipped with network data transmission and data sharing functions.
- the name of the Interest packet may first be input into CMaPIT&CS. Then perform an exact string match on the name of the Interest package in CoMBF. If there is a matching entry in CoMBF, the Packet Store is accessed based on the offset address of the CoMBF output. Subsequently, it is checked whether the corresponding record in the Packet Store records a pointer to the CS memory. If there is a pointer to the CS memory, it means that the Data packet corresponding to the Interest packet is included in the CS, and the Data packet can be read. If there is no pointer to the CS memory, the Interest packet forwarding information of the record in the Packet Store is updated, waiting for the arrival of the Data packet.
- the Data packet arrives at the forwarding plane, first enter the name of the Data packet into CMaPIT&CS. Subsequently, the exact string matching operation is performed on the name of the Data packet in CoMBF. If there is a matching entry in the CoMBF, the Packet Store is accessed according to the offset address output by the CoMBF, the forwarding information of the corresponding Interest packet is read, and the Data packet is returned. At the same time, the storage location of the Data packet in the CS memory is recorded in the Packet Store. If there is no matching entry in CoMBF, the data packet is directly discarded.
- FIG. 5 is a schematic diagram 1 of the interaction process of the data processing method according to the embodiment of the present invention.
- the executor of the embodiment of the present invention may be an on-chip storage unit and an off-chip storage unit.
- the steps of the embodiment of the present invention may include:
- Step S501 the on-chip storage unit receives the first ICN packet.
- the first ICN packet may be an Interest packet or a Data packet.
- Step S502 the on-chip storage unit acquires a first offset address corresponding to the first ICN packet.
- the acquiring the first offset address may be performed by using any of the foregoing manners.
- Step S503 the on-chip storage unit sends the first offset address corresponding to the first ICN packet to the off-chip storage unit.
- Step S504 the off-chip storage unit queries the record pointed to by the first offset address.
- Step S505 the off-chip storage unit determines whether there is information about the second ICN packet corresponding to the first ICN packet in the record pointed to by the first offset address, and if yes, executing S506.
- Step S506 the off-chip storage unit sends related information of the second ICN packet.
- Step S507 the on-chip storage unit performs data processing according to the related information of the first ICN packet and the second ICN packet.
- the method may further include: determining, by the on-chip storage unit, whether there is a matching index entry, and if yes, performing the step of acquiring the first offset address corresponding to the first ICN packet.
- FIG. 6 is a second schematic diagram of an interaction process of a data processing method according to an embodiment of the present invention. As shown in FIG. 6, the steps of the embodiment of the present invention may include:
- Step S601 the on-chip storage unit receives the first ICN packet.
- Step S602 the on-chip storage unit determines whether there is a matching index entry, and if yes, executes S603.
- the embodiment of the present invention provides two implementation manners for determining whether there is a matching index entry.
- the determining whether the The index entry that matches the identifier of the first ICN packet may include: determining, according to the positioning function, a location of a corresponding flag bit in the index unit, where the flag bit in the index unit The value is used to indicate whether the data packet corresponding to the flag bit is stored locally; the value of the flag bit corresponding to the first ICN packet is queried; if the value of the flag bit corresponding to the first ICN packet is valid, the presence and the The index of the first ICN packet matches the index entry.
- the second ICN packet is the Data requested by the first ICN packet. And determining, according to the positioning function, the second ICN packet corresponding to the first ICN packet in the index unit, according to the positioning function, a location of the flag bit; querying a value of the flag bit corresponding to the second ICN packet; if the value of the flag bit corresponding to the second ICN packet is valid, determining that there is an index matching the identifier of the first ICN packet entry.
- an index entry table may be used to determine whether an index entry corresponding to the ICN packet exists.
- Table 4 is an example of an index entry table provided by an embodiment of the present invention.
- Each index entry may include multiple attributes, such as an identifier of an index entry, an Interest packet corresponding to an index entry, whether an Local packet corresponding to an index entry is stored locally, a Data packet corresponding to an index entry, and whether an index entry corresponding to the local storage is stored. Properties such as the Data package.
- the identifier of the index entry may be the number of the index entry, or may be a combination of the Data packet and the Interest packet corresponding to the index entry. It should be noted that, in the index entry table, the first ICN packet and the second ICN packet corresponding to the first ICN packet may correspond to the same identified index entry. That is to say, the Data packet and the Interest packet requesting the Data packet can correspond to the same identified index entry.
- Data1 and Request1 of Request1 can correspond to index entry 1
- Content2 and Request2 of Request Data2 can correspond to index entry 2.
- Data3 and Interest3 of request Data3 can correspond to index entry 3.
- the Interest packet stored by node has Interest1.
- Interest2, the Data package stored by the node has Data2 and Data3.
- the foregoing determining whether there is an index entry that matches the identifier of the first ICN packet may include:
- the first ICN packet is a Data packet
- the second ICN packet is an Interest packet
- determining whether the index entry corresponding to the first ICN packet indicates that the second ICN packet is locally stored, that is, determining whether the local index storage entry is corresponding.
- Whether the "Interest packet" attribute is YES, and if so, it is determined that there is an index entry that matches the identifier of the first ICN packet.
- the first ICN packet is an Interest packet
- the second ICN packet is a Data packet requested by the first ICN packet
- determining whether the index entry corresponding to the first ICN packet indicates that the second ICN packet is locally stored that is, It is judged whether the "Local whether the Data packet corresponding to the index entry is stored" attribute is YES, and if so, it is determined that there is an index entry that matches the identifier of the first ICN packet.
- the attribute value of the “Data packet corresponding to the index entry stored locally” attribute and the “Interest packet corresponding to the index entry stored locally” attribute may be expressed in the form of a numerical value or the like, for example, may be adopted.
- “1” or “valid” means “yes", “0” or “invalid” means “no”. The embodiment of the invention does not limit this.
- Step S603 the on-chip storage unit acquires a first offset address corresponding to the first ICN packet.
- Step S604 the on-chip storage unit sends the first offset address corresponding to the first ICN packet to the off-chip storage unit.
- Step S605 the off-chip storage unit queries the record pointed to by the first offset address.
- Step S606 the off-chip storage unit determines whether there is information about the second ICN packet corresponding to the first ICN packet in the record pointed to by the first offset address, and if yes, executes S607.
- Step S607 the off-chip storage unit sends the related information of the second ICN packet to the on-chip storage unit.
- Step S608 the on-chip storage unit performs data processing according to the related information of the first ICN packet and the second ICN packet.
- step S602 is equivalent to a trigger condition for acquiring the first offset address corresponding to the first ICN packet in step S603. That is, the step of acquiring the first offset address corresponding to the first ICN packet may be performed when there is an index entry that matches the identifier of the first ICN packet.
- the index entry may be such a data: (1) if the first ICN packet is stored locally, the index entry corresponding to the first ICN packet records "local ICN1", and (2) if the second ICN packet is stored locally, The index entry corresponding to the second ICN packet records "locally has ICN2", and (3) the index entries corresponding to the first ICN packet and the second ICN packet are the same index entry.
- the index entry corresponding to the ICN packet may be determined according to the identifier of the ICN packet, for example, the location of the flag bit determined according to the identifier of the ICN packet as the identifier of the index entry in the index entry table.
- the structure of the index entry table may be similar to the structure of the record table pointed to by the offset address.
- steps S601, S603 to S608 are similar to steps S501 to S507.
- the embodiment of the present invention further provides a data processing method, wherein the first ICN packet may be an Interest1 packet, and the second ICN packet corresponding to the first ICN packet may be Data1, and FIG. 7A is an interaction process of the data processing method according to the embodiment of the present invention. Schematic three. As shown in FIG. 7A, the steps of the data processing method provided by the embodiment of the present invention may include:
- step S7101 the on-chip storage unit receives the Interest1.
- step S7102 the on-chip storage unit determines whether there is a matching index entry, and if yes, executes S7103.
- step S7103 the on-chip storage unit acquires the offset address 11 corresponding to the Interest1.
- step S7104 the on-chip storage unit sends the offset address 11 corresponding to the Interest1 to the off-chip storage unit.
- step S7105 the off-chip storage unit queries the record pointed to by the offset address 11.
- step S7106 the off-chip storage unit determines whether the storage address of the Data1 requested by the Interest1 exists in the record pointed to by the offset address 11, and if so, reads Data1, executes S7107, and if not, executes S7109.
- step S7107 the off-chip storage unit transmits Data1.
- step S7108 the on-chip storage unit returns Data1 according to the forwarding information of Interest1.
- step S7109 the off-chip storage unit writes the forwarding information of Interest1 into the record pointed to by the offset address 11.
- the embodiment of the present invention further provides a data processing method, where the first ICN packet may be a Data1 packet, and the second ICN packet corresponding to the first ICN packet may be the Interest1, and FIG. 7B is an interaction process of the data processing method according to the embodiment of the present invention.
- FIG. 7B is an interaction process of the data processing method according to the embodiment of the present invention.
- Figure IV the steps of the data processing method provided by the embodiment of the present invention may include:
- step S7201 the on-chip storage unit receives Data1.
- step S7202 the on-chip storage unit determines whether there is a matching index entry. If yes, execute S7203. If not, execute S7210.
- step S7203 the on-chip storage unit acquires the offset address 21 corresponding to Data1.
- step S7204 the on-chip storage unit transmits the offset address 21 corresponding to Data1 to the off-chip storage unit.
- step S7205 the off-chip storage unit queries the record pointed to by the offset address 21.
- step S7206 the off-chip storage unit determines whether there is forwarding information of the Interest1 requesting Data1 in the record pointed to by the offset address 21, and if so, reads the forwarding information of the Interest1, executes S7207 and S7209, and if not, executes S7210.
- step S7207 the off-chip storage unit transmits the forwarding information of the Interest1 to the on-chip storage unit.
- step S7208 the on-chip storage unit returns Data1 according to the forwarding information of Interes1.
- Step S7209 the off-chip storage unit caches Data1, and writes the storage address of Data1 into the record pointed to by the offset address 21.
- Step S7209 The off-chip storage unit sends indication information indicating that the forwarding information of the Interest1 does not exist.
- step S7210 the on-chip storage unit discards Data1.
- FIG. 7C is a schematic diagram 5 of the interaction process of the data processing method according to the embodiment of the present invention.
- the steps of the embodiment of the present invention may include:
- step S7301 the on-chip storage unit receives Data1.
- this step may be performed after S7109.
- step S7302 the on-chip storage unit determines whether there is a matching index entry, if yes, executes S7303, and if not, executes S7310.
- step S7303 the on-chip storage unit acquires the offset address 11 corresponding to Data1.
- step S7304 the on-chip storage unit transmits the offset address 11 corresponding to Data1.
- step S7305 the off-chip storage unit queries the record pointed to by the offset address 11.
- step S7306 the off-chip storage unit determines whether there is forwarding information of the Interest1 requesting Data1 in the record pointed to by the offset address 11, reads the forwarding information of the Interest1, and executes S7307 and S7309.
- step S7307 the off-chip storage unit sends the forwarding information of the Interest1.
- step S7308 the on-chip storage unit returns Data1 according to the forwarding information of Interes1.
- step S7309 the off-chip storage unit caches Data1, and writes the storage address of Data1 into the record pointed to by the offset address 21.
- step S7310 the on-chip storage unit discards Data1.
- the embodiment of the present invention further provides a data processing method, which can be used to quickly determine which Data packets or Interest packets are stored locally, so that the node can quickly learn the locally stored Data packets or Interest packets, thereby improving the retrieval efficiency of the nodes.
- This embodiment can also be used to share data stored on the own node in an ICN network.
- FIG. 8 is a second schematic flowchart of a data processing method according to an embodiment of the present invention. As shown in FIG. 8, the steps of the embodiment of the present invention may include:
- Step S801 acquiring a first ICN packet.
- the first ICN packet is an interest Interest packet or a data data packet.
- Step S802 determining, according to the positioning function, a location of a corresponding flag bit of the first ICN packet in the index unit.
- Step S803 querying or setting the value of the flag bit corresponding to the first ICN packet according to the location of the flag bit corresponding to the first ICN packet.
- the value of the flag bit in the index unit is used to indicate whether the Interest packet and/or the Data packet corresponding to the flag bit are stored locally.
- the node may set the flag bit corresponding to the ICN packet in the index unit to be valid.
- the querying or setting the value of the flag bit corresponding to the first ICN packet according to the location of the flag bit corresponding to the first ICN packet may include: when the first ICN packet is stored locally, the first ICN packet is correspondingly The value of the flag bit is set to be valid.
- the value of the flag bit corresponding to the ICN packet may be set to be valid after S7109, S7209 or S7309.
- the flag corresponding to the data packets may be set to be valid when the node is enabled.
- the positioning function can be used to determine the location of a corresponding flag bit in any of the ICN packets in the index unit.
- the location of the corresponding flag bit of the ICN packet in the index unit may be determined according to the identifier of the ICN packet.
- the location of the corresponding flag bit of the Interest packet in the index unit may be determined according to the name of the Data packet requested by the Interest packet.
- the location of the corresponding flag bit of the Data packet in the index unit may be determined according to the name of the Data packet.
- the positioning function may be K hash functions, and the identifiers of the ICN packets are respectively input into K hash functions, and K results may be obtained.
- the K results may be K "1"s, and The K results may be 1 "0" and K-1 "1".
- the K results may be 1 "10", 1 "11", and K-2 "00".
- the K results may be arranged in the order of the corresponding K positioning functions as M-bit binary numbers, and the M-bit binary numbers may be used as offset addresses in the record table.
- the index unit may be, for example, a bit array, where one ICN packet may correspond to one bit or multiple bits in the index unit, and the corresponding flag bit of the ICN packet in the index unit is one or more. Bits. For example, when the value of the bit corresponding to the ICN packet is 1, the flag corresponding to the ICN is determined to be valid, and when the value of the bit corresponding to the ICN packet is not all 0, the flag corresponding to the ICN packet is determined to be invalid.
- a compression flag bit may also be adopted as the corresponding one of the ICN packets. The implementation of the flag.
- the determining, according to the positioning function, the location of the corresponding flag bit of the first ICN packet in the index unit may also be implemented by: first determining, according to the positioning function, that the first ICN packet is located Determining the location of the uncompressed flag bit mapped in the index unit; then performing compressed sensing on the location of the uncompressed flag bit corresponding to the first ICN packet to obtain the location of the compressed flag bit corresponding to the first ICN packet; The location of the compressed flag bit corresponding to the first ICN packet is used as the location of the flag bit corresponding to the first ICN; wherein the total number of non-compressed flag bits in the index unit is greater than the total number of compressed flag bits in the index unit.
- the total number of uncompressed flag bits may be M bits, such as 32 bits, and the total number of compressed flag bits may be N bits, such as 18 bits.
- the method may further include:
- the flag bit may be stored in the on-chip storage unit.
- each bit of the bit array in the Compressed Bloom filter of the on-chip storage unit may be used as the ICN packet stored by the node.
- sending the index unit to other nodes may include: sending an array of bits in the Compressed Bloom filter to other nodes. That is to say, when the forwarding plane needs to share the cache information in the CS, the bit array of the Compressed Bloom filter in the on-chip storage unit can be transmitted to the network to complete the information sharing.
- determining the location of the corresponding flag bit of the first ICN packet in the index unit according to the positioning function may be implemented by the following steps:
- the first ICN packet is the first data packet, determining the location of the flag bit corresponding to the first ICN packet according to the identifier and the positioning function of the first data packet;
- the data packet requested by the second Interest packet is the second data packet, and the location of the flag bit corresponding to the first ICN packet is determined according to the identifier of the second data packet and the positioning function. .
- the method may further include:
- the method may further include:
- the flag bit of the second ICN packet corresponding to the first ICN packet is valid, performing the step of determining the first offset address corresponding to the first ICN packet according to the location of the flag bit corresponding to the first ICN packet.
- the node may first check whether the node may store the second ICN packet by querying the value of the flag bit corresponding to the second ICN packet in the index unit, if possible, the second The ICN packet determines the offset address according to the value of the flag bit corresponding to the second ICN packet, and the record table pointed to by the offset address is stored in the off-chip storage unit, and the record pointed to by the offset address is queried, and then the data is processed according to the query result. .
- CMaPIT&CS the use of the CMaPIT&CS storage structure can effectively simplify the retrieval process of the name data, reduce the retrieval frequency of the index structure in the on-chip storage unit, and the number of accesses of the slow memory in the off-chip storage unit.
- the retrieval time complexity is determined by CoMBF, and the time complexity is.
- FIG. 9 is a schematic flowchart 3 of a data processing method according to an embodiment of the present invention.
- the method in the embodiment of the present invention may further include the following steps:
- Step S901 acquiring a first ICN packet.
- this step is similar to S801.
- Step S902 determining, according to the positioning function, a position of a corresponding flag bit of the first ICN packet in the index unit.
- this step is similar to S802.
- Step S903 setting a value of a flag bit corresponding to the first ICN packet according to a position of the flag bit corresponding to the first ICN packet.
- this step is similar to S803.
- Step S904 acquiring a third ICN package.
- the third ICN packet may be an Interest packet or a Data packet.
- Step S905 determining, according to the positioning function, a location of a corresponding flag bit of the third ICN packet in the index unit.
- the positioning function may be K hash functions, and the foregoing implementation manner may be adopted by determining the position of the corresponding flag bit in the index unit in the third ICN packet.
- the identifier of the ICN packet may be input into K hash functions, and the calculation results of the K hash functions are arranged into a binary number in the order of K hash functions, and the value of the bit in the binary number is 1.
- the position of the bit is taken as the position of the corresponding flag bit of the ICN packet in the index unit.
- Step S906 querying the value of the flag bit corresponding to the third ICN packet.
- the method of the embodiment of the present invention may further include:
- Step S907 determining a second offset address corresponding to the third ICN packet according to the location of the flag bit corresponding to the third ICN packet.
- Step S908 querying the record pointed to by the second offset address corresponding to the third ICN packet, and performing data processing according to the query result.
- the record pointed to by the second offset address may be used to store forwarding information or a storage address of the fourth ICN packet corresponding to the third ICN packet.
- determining the corresponding flag bit of the third ICN packet in the index unit according to the positioning function may include: determining, according to the positioning function and the identifier of the third ICN packet, Correspondingly, the value of the flag bit corresponding to the third ICN packet in the query index unit may be: whether the value of the location of the flag bit corresponding to the third ICN packet in the index unit is valid; Valid, according to the identifier of the third ICN packet, acquiring a second offset address corresponding to the third ICN packet; further, if the record pointed to by the second offset address is stored with the Interest packet requesting the third ICN packet And forwarding the information, and returning the third ICN packet according to the forwarding information of the Interest packet of the third ICN packet.
- the obtaining the second offset address may include: determining, according to the positioning function and the identifier of the Data packet requested by the third ICN packet, the identifier corresponding to the third ICN packet.
- the querying the value of the flag bit corresponding to the third ICN packet may include: querying whether the value of the location of the flag bit corresponding to the third ICN packet in the index unit is valid; if valid, according to the third ICN packet And the second offset address corresponding to the third ICN packet is obtained; further, if the storage address of the data packet requested by the third ICN packet is stored in the record pointed to by the second offset address, requesting from the third ICN packet The Data packet requested by the third ICN packet is read in the storage address of the Data packet, and the Data packet requested by the third ICN packet is returned according to the forwarding information of the third ICN packet.
- the process of retrieving the Interest packet in the CCamPIT&CS storage structure can be as follows:
- the corresponding positioning array MA is set to 6 bits, that is, the storage structure can store 26 elements in the Packet Store. It should be noted that the score of the compression unit equalization needs to be the same as the bit number of the positioning array.
- two Interest packets named /ndn/UA/videos and /ndn/UA/maps are sequentially input into the storage structure.
- the positioning array MA will be initialized to the all-zero state before each Interest packet is input.
- the two Interest packets named /ndn/UA/videos and /ndn/UA/maps mean that the names of the Data packets requested by the two Interest packets are /ndn/UA/videos and / respectively. Ndn/UA/maps.
- the name of the Interest packet /ndn/UA/videos is first input into the CMaPIT&CS storage structure, and the 6th, 14th, and 20th bits in the Bloom filter are hash-mapped, and the three bits are mapped. Both are 1, indicating that the Interest package exists in the structure.
- the values of bits 2, 4, and 5 of the positioning array MA are set to 1, and the values of other positions are 0.
- the value of the positioning array MA is 010110, that is, the offset address of the Interest packet in the Packet Store is 010110.
- the corresponding record of the Packet Store is recorded with a pointer to the CS memory, that is, the Data packet corresponding to the first Interest packet exists, and finally the Data packet is read.
- the corresponding record of the Packet Store refers to the record in the record table pointed to by the offset address.
- the Interest package named /ndn/UA/maps also exists in the storage structure, and its offset address in the Packet Store is 110100. Then check the corresponding record of the Packet Store does not record the pointer to the CS memory, that is, there is no Data packet corresponding to the second Interest packet, and finally update the forwarding information of the Interest packet of the record, and wait for the arrival of the Data packet.
- the process of retrieving a Data packet in the CCamPIT&CS storage structure can be as follows:
- the corresponding positioning array MA is set to 6 bits, so the storage structure can store 26 elements in the Packet Store.
- two data packets named /ndn/UA/maps and /TJU/videos are input in order.
- the positioning array MA is initialized to the all-zero state before each Data packet is input. It should be noted that the two Data packets named /ndn/UA/maps and /TJU/videos mean that the names of the two Data packets are /ndn/UA/maps and /TJU/videos.
- the name of the data packet /ndn/UA/maps is first input into the CMaPIT&CS storage structure, and the 2nd, 5th, and 16th bits in the Bloom filter are hash-mapped, and the three bits are mapped. Both are 1, indicating that the Data packet exists in the structure.
- the value of the positioning array MA is 110100, that is, the offset address of the Data packet in the Packet Store is 110100.
- the corresponding record of the Packet Store is checked to record the forwarding information of the corresponding Interest packet, and the Data packet is returned according to the forwarding information.
- the storage location of the Data packet in the CS memory is recorded in the Packet Store.
- the Data packet named /TJU/videos is hash-mapped in bits 1, 7, and 21 of the Bloom filter, but these three bits are not all 1, that is, there is no matching record in CoMBF, so directly Discard the data packet.
- the corresponding record of the Packet Store refers to the record in the record table pointed to by the offset address.
- the embodiment of the present invention integrates the PIT table and the CS memory index, that is, constructs a unified joint storage structure CMaPIT&CS by using CoMBF, which may also be referred to as an index result.
- CoMBF which may also be referred to as an index result.
- CMaPIT&CS can reduce the number of retrievals of the forwarding plane when processing packets, and improve retrieval performance.
- the storage consumption of the forwarding plane is further reduced, the retrieval speed of the name data is improved, and the retrieval performance is improved.
- FIG. 10 is a schematic structural diagram of a data processing device according to an embodiment of the present invention.
- the apparatus includes a processor 1001 and a memory 1002 for storing a computer program executable on the processor.
- the processor 1001 is configured to perform the steps of the data processing method shown in any one of FIG. 3 to FIG. 7C and/or the steps of the data processing method shown in any of FIG. 8 to FIG. 9 when the computer program is executed.
- the data processing device 1000 may further include an interface 1003 and a bus 1004, etc., wherein the interface 1003 may be used to receive or send an ICN packet or an index unit, and the bus 1004 is used for the processor 1001, the memory 1002, and the interface. Data interaction between 1003.
- the data processing device may be located on a node in the ICN network.
- the data processing device may be located at an intermediate node or at a terminal node.
- the data processing device may be a router or a terminal.
- the embodiment of the present invention further provides a computer readable storage medium, where the computer readable storage medium stores a data processing program, and when the data processing program is executed by the processor, the steps of the data processing method shown in the foregoing embodiment are implemented.
- the receiving unit, the obtaining unit, the processing unit, and the sending unit involved in the foregoing embodiments may all be configured by a central processing unit (CPU) and a microprocessor (Micro Processor Unit) located in the wireless data transmitting device.
- CPU central processing unit
- MPU microprocessor
- DSP digital signal processor
- FPGA Field Programmable Gate Array
- embodiments of the present invention can be provided as a method, system, or computer program product. Accordingly, the present invention can take the form of a hardware embodiment, a software embodiment, or a combination of software and hardware. Moreover, the invention can take the form of a computer program product embodied on one or more computer-usable storage media (including but not limited to disk storage and optical storage, etc.) including computer usable program code.
- the computer program instructions can also be stored in a computer readable memory that can direct a computer or other programmable data processing device to operate in a particular manner, such that the instructions stored in the computer readable memory produce an article of manufacture comprising the instruction device.
- the apparatus implements the functions specified in one or more blocks of a flow or a flow and/or block diagram of the flowchart.
- These computer program instructions can also be loaded onto a computer or other programmable data processing device such that a series of operational steps are performed on a computer or other programmable device to produce computer-implemented processing for execution on a computer or other programmable device.
- the instructions provide steps for implementing the functions specified in one or more of the flow or in a block or blocks of a flow diagram.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Physics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
Description
偏移地址 | Interest包的转发信息 |
偏移地址21 | Interest1的转发信息 |
偏移地址22 | Interest2的转发信息 |
偏移地址23 | - |
偏移地址 | Interest包的转发信息 | Data包在CS中的存储地址 |
偏移地址11 | Interest1的转发信息 | Data1的存储地址 |
偏移地址12 | Interest2的转发信息 | - |
偏移地址13 | - | Data3的存储地址 |
Claims (24)
- 一种数据处理方法,其中,应用于信息中心网络ICN中的节点,所述方法包括:获取第一ICN包对应的第一偏移地址;查询所述第一偏移地址指向的记录,根据查询结果进行数据处理;其中,所述第一偏移地址指向的记录用于在本地存储有所述第一ICN包对应的第二ICN包时存储所述第二ICN包的存储地址或所述第二ICN包的转发信息。
- 根据权利要求1所述的方法,其中,若所述第一ICN包为兴趣Interest包,所述第一ICN对应的第二ICN包为所述第一ICN包请求的数据Data包,则所述第一偏移地址指向的记录用于在本地存储有所述第二ICN包时存储所述第二ICN包的存储地址;若所述第一ICN包为Data包,所述第一ICN对应的第二ICN包为请求所述第一ICN包的Interest包,则所述第一偏移地址指向的记录用于在本地存储有所述第二ICN包时存储所述第二ICN包的转发信息。
- 根据权利要求1所述的方法,其中,所述第一偏移地址指向的记录还用于在本地存储所述第一ICN包后存储所述第一ICN包的存储地址或所述第一ICN包的转发信息;所述方法还包括:将所述第一ICN包的转发信息或者存储地址写入所述第一偏移地址指向的记录。
- 根据权利要求1所述的方法,其中,所述查询所述第一偏移地址指向的记录,根据查询结果进行数据处理,包括:若所述第一ICN包为Interest包,查询所述第一偏移地址指向的记录是否存储有所述第二ICN包存储地址,所述第二ICN包为所述第一ICN包请求的所述Data包;若所述第一偏移地址指向的记录中存储有所述第二ICN包的存储地址,从所述第二ICN包的存储地址指向的存储空间中读取所述第二ICN包,并根据所述第一ICN包的转发信息回传所述第二ICN包;若所述第一ICN包为Data包,查询所述第一偏移地址指向的记录是否存储有所述第二ICN包的转发信息,所述第二ICN包为请求所述第一ICN包请求的Interest包;若所述第一偏移地址指向的记录中存储有所述第二ICN包的转发信息,根据所述第二ICN包的转发信息,回传所述第一ICN包。
- 根据权利要求4所述的方法,其中,所述第二ICN包对应的第二偏移地址与所述 第一偏移地址相同,所述第一偏移地址指向的记录还用于在本地存储所述第一ICN包后存储所述第一ICN包的存储地址或所述第一ICN包的转发信息;则所述查询所述第一偏移地址指向的记录,根据查询结果进行数据处理,还包括:在所述第一ICN包为Interest包时,若所述第一偏移地址指向的记录中未存储有所述第二ICN包的存储地址,则更新所述第一偏移地址指向的记录中存储的所述第一ICN包的转发信息;在所述第一ICN包为Data包时,若所述第一偏移地址指向的记录中存储有所述第二ICN包的转发信息,则缓存所述第一ICN包,并将所述第一ICN包的存储地址写入所述第一偏移地址指向的记录。
- 根据权利要求3或5所述的方法,其中,获取第三ICN包对应的第三偏移地址;查询所述第三偏移地址指向的记录,根据查询结果进行数据处理;其中,在所述第三偏移地址与所述第一偏移地址相同时,所述查询所述第三偏移地址指向的记录,根据查询结果进行数据处理,包括:若所述第一ICN为Interest包,所述第三ICN包为所述第一ICN请求的Data包,查询到所述第三偏移地址指向的记录中存储有所述第一ICN包的转发信息,并根据查询到的所述第一ICN包的转发信息,回传所述第三ICN包;若所述第一ICN为Data包,所述第三ICN包为请求所述第一ICN请求的Interest包,查询到所述第一偏移地址指向的记录中存储有所述第一ICN包的存储地址,从查询到的所述第一ICN包的存储地址所指向的存储空间中读取所述第一ICN包,并根据第三ICN包的转发信息,回传读取到的所述第一ICN包。
- 根据权利要求1所述的方法,其中,所述获取所述第一ICN包对应的第一偏移地址,包括:若所述第一ICN包为Interest包,获取所述第一ICN包请求的第二ICN包的标识,根据所述第一ICN包请求的第二ICN包的标识获取所述第一偏移地址;若所述第一ICN包为Data包,获取所述第一ICN包的标识,根据所述第一ICN包的标识获取所述第一偏移地址。
- 根据权利要求1-5,7任一所述的方法,其中,所述获取第一ICN包对应的第一偏移地址,包括:根据定位函数,确定所述第一ICN包在索引单元中对应的标志位的位置;根据所述第一ICN包对应的标志位的位置,确定所述第一偏移地址;其中,所述索引单元中的标志位的值用于表示本地是否存储有标志位对应的Interest包和/或Data包。
- 根据权利要求1-5,7任一所述的方法,其中,在所述获取第一ICN包对应的第一偏移地址之前,包括:获取所述第一ICN包;判断是否存在与所述第一ICN包的标识相匹配的索引条目,所述索引条目用于记录本地是否存储有所述第一ICN包和/或所述第一ICN包对应的所述第二ICN包;若存在与所述第一ICN包的标识相匹配的索引条目,执行所述获取第一ICN包对应的第一偏移地址的步骤。
- 根据权利要求9所述的方法,其中,若所述第一ICN包为Data包,所述第二ICN包为Interest包,所述方法还包括:若不存在与所述第一ICN包的标识相匹配的索引条目,则丢弃所述第一ICN包。
- 根据权利要求9所述的方法,其中,若所述第一ICN包为Data包,所述第二ICN包为Interest包,则所述判断是否存在与所述第一ICN包的标识相匹配的索引条目,包括:根据定位函数,确定所述第一ICN包在索引单元中对应的标志位的位置,其中,所述索引单元中的标志位的值用于表示本地是否存储有标志位对应的Data包;查询所述第一ICN包对应的标志位的值;若所述第一ICN包对应的标志位的值为有效,确定存在与所述第一ICN包的标识相匹配的索引条目。
- 根据权利要求9所述的方法,其中,若所述第一ICN包为Interest包,所述第二ICN包为所述第一ICN包所请求的Data包,则所述判断是否存在与所述第一ICN包的标识相匹配的索引条目,包括:根据定位函数,确定所述第一ICN包对应的所述第二ICN包在索引单元中对应的标志位的位置;查询所述第二ICN包对应的标志位的值;若所述第二ICN包对应的标志位的值为有效,确定存在与所述第一ICN包的标识相 匹配的索引条目。
- 一种数据处理方法,其中,应用于信息中心网络ICN中的节点,所述方法包括:获取第一ICN包,所述第一ICN包为兴趣Interest包或数据Data包;根据定位函数,确定所述第一ICN包在索引单元中对应的标志位的位置;根据所述第一ICN包对应的标志位的位置,查询或者设置所述第一ICN包对应的标志位的值;其中,所述索引单元中的标志位的值用于表示本地是否存储有标志位对应的Interest包和/或Data包。
- 根据权利要求13所述的方法,其中,所述根据定位函数,确定所述第一ICN包在索引单元中对应的标志位的位置,包括:根据所述定位函数,确定所述第一ICN包在所述索引单元中映射的非压缩标志位的位置;对所述第一ICN包对应的非压缩标志位的位置进行压缩感知,得到所述第一ICN包对应的压缩标志位的位置;将所述第一ICN包对应的压缩标志位的位置作为所述第一ICN对应的标志位的位置;其中,所述索引单元中的非压缩标志位的总数大于所述索引单元中压缩标志位的总数。
- 根据权利要求13或14所述的方法,其中,所述根据所述第一ICN包对应的标志位的位置,设置所述第一ICN包对应的标志位的值,包括:在本地存储有所述第一ICN包时,将所述第一ICN包对应的标志位的值设置为有效;在将所述第一ICN包对应的标志位的值设置为有效之后,所述方法还包括:向其他节点发送所述索引单元。
- 根据权利要求13或14所述的方法,其中,所述根据定位函数,确定所述第一ICN包在索引单元中对应的标志位的位置,包括:若所述第一ICN包为第一Data包,根据所述第一Data包的标识和所述定位函数,确定所述第一ICN包对应的标志位的位置;若所述第一ICN包为第二Interest包,所述第二Interest包所请求的Data包为第二Data包,根据所述第二Data包的标识和所述定位函数,确定所述第一ICN包对应的标志位的位置。
- 根据权利要求13所述的方法,其中,在所述根据所述第一ICN包对应的标志位的位置,查询或者设置所述第一ICN包对应的标志位的值之后,所述方法还包括:根据所述第一ICN包对应的标志位的位置,确定所述第一ICN包对应的第一偏移地址,其中,所述第一偏移地址指向的记录用于存储所述第一ICN包对应的第二ICN包的转发信息或者存储地址;查询所述第一ICN包对应的第一偏移地址指向的记录,根据查询结果进行数据处理。
- 根据权利要求17所述的方法,其中,在所述根据所述第一ICN包对应的标志位的位置,确定所述第一ICN包对应的第一偏移地址之前,所述方法还包括:确定所述第一ICN包对应的第二ICN包的标志位是否为有效;若所述第一ICN包对应的第二ICN包的标志位为有效,执行根据所述第一ICN包对应的标志位的位置,确定所述第一ICN包对应的第一偏移地址的步骤。
- 根据权利要求17所述的方法,其中,在所述根据定位函数,确定所述第一ICN包在索引单元中对应的标志位的位置之后,所述方法还包括:获取第三ICN包;根据所述定位函数,确定所述第三ICN包在所述索引单元中对应的标志位的位置;查询所述第三ICN包对应的标志位的值。
- 根据权利要求19所述的方法,其中,在所述根据所述定位函数,确定所述第三ICN包在所述索引单元中对应的标志位的位置之后,所述方法还包括:根据所述第三ICN包对应的标志位的位置,确定所述第三ICN包对应的第二偏移地址,所述第二偏移地址指向的记录用于存储所述第三ICN包对应的第四ICN包的转发信息或者存储地址;查询所述第三ICN包对应的第二偏移地址指向的记录,根据查询结果进行数据处理。
- 根据权利要求13或14所述的方法,其中,所述定位函数为K个哈希函数,所述索引单元包括M个标志位,其中,M和K为大于或者等于1的整数,且M大于或者等于K;对于任一ICN包,所述根据定位函数,确定ICN包在索引单元中对应的标志位的值,包括:根据所述ICN包和所述定位函数,在所述索引单元的M个标志位中确定所述ICN包 对应的K个标志位的值。
- 根据权利要求21所述的方法,其中,在所述根据定位函数,确定所述第一ICN包在索引单元中对应的标志位的值之后,所述方法还包括:根据所述K个标志位的位置和值确定所述第一ICN包对应的K位偏移地址。
- 一种应用于信息中心网络ICN的数据处理设备,其中,所述设备包括处理器和用于存储能够在处理器上运行的计算机程序的存储器;其中,所述处理器用于运行所述计算机程序时,执行权利要求1至12中任一项所述的数据处理方法的步骤,和/或,执行权利要求13至22中任一项所述的数据处理方法的步骤。
- 一种计算机可读存储介质,其中,所述计算机可读存储介质上存储有报文转发程序,所述报文转发程序被处理器执行时实现如权利要求1至12中任一项所述的数据处理方法的步骤,和/或,如权利要求13至22中任一项所述的数据处理方法的步骤。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP19788847.2A EP3770767B1 (en) | 2018-04-19 | 2019-04-03 | Data processing method and device, and computer readable storage medium |
US17/048,809 US11489765B2 (en) | 2018-04-19 | 2019-04-03 | Data processing method and device, and computer readable storage medium |
JP2020558055A JP7109583B2 (ja) | 2018-04-19 | 2019-04-03 | データ処理方法、機器及びコンピュータ読み取り可能な記憶媒体 |
KR1020207030227A KR102428429B1 (ko) | 2018-04-19 | 2019-04-03 | 데이터 처리 방법, 데이터 처리 장치 및 컴퓨터 판독 가능한 저장 매체 |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810356463.XA CN110399539A (zh) | 2018-04-19 | 2018-04-19 | 一种数据处理方法、设备和计算机可读存储介质 |
CN201810356463.X | 2018-04-19 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2019201091A1 true WO2019201091A1 (zh) | 2019-10-24 |
Family
ID=68239381
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/CN2019/081204 WO2019201091A1 (zh) | 2018-04-19 | 2019-04-03 | 一种数据处理方法、设备和计算机可读存储介质 |
Country Status (6)
Country | Link |
---|---|
US (1) | US11489765B2 (zh) |
EP (1) | EP3770767B1 (zh) |
JP (1) | JP7109583B2 (zh) |
KR (1) | KR102428429B1 (zh) |
CN (1) | CN110399539A (zh) |
WO (1) | WO2019201091A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3963843A4 (en) * | 2019-05-02 | 2023-01-25 | INTEL Corporation | QUALITY OF SERVICE (QOS) IN INFORMATION CENTERED NETWORKING (ICN) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105072030A (zh) * | 2015-07-02 | 2015-11-18 | 哈尔滨工程大学 | 一种基于内容聚类的命名数据网络路由系统及其聚类查询方法 |
CN105704032A (zh) * | 2016-04-13 | 2016-06-22 | 北京邮电大学 | 一种兴趣包转发方法及装置 |
CN106506719A (zh) * | 2016-11-07 | 2017-03-15 | 北京邮电大学 | 命名数据网络中分发策略的配置方法及配置系统 |
WO2017165246A1 (en) * | 2016-03-25 | 2017-09-28 | Cisco Technology, Inc. | System and method for routing packets in a content centric network using anonymous datagrams |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4732972B2 (ja) | 2006-06-30 | 2011-07-27 | 株式会社エヌ・ティ・ティ・ドコモ | アドホックネットワーク、ノード、経路制御方法、及び経路制御プログラム |
KR101688857B1 (ko) * | 2010-05-13 | 2016-12-23 | 삼성전자주식회사 | 컨텐츠 중심 네트워크(ccn)에서 단말 및 허브의 통신 방법 및 컨텐츠 중심 네트워크를 위한 단말 |
EP2562978B1 (en) | 2011-08-12 | 2014-10-08 | Alcatel Lucent | Content router of a content centric network |
CN103885887B (zh) * | 2012-12-21 | 2018-07-27 | 腾讯科技(北京)有限公司 | 用户数据存储方法、读取方法及系统 |
CN103581019B (zh) * | 2013-10-10 | 2016-05-18 | 北京交通大学 | 一种基于内容流行度的信息中心网络移动性管理方法 |
JP6190288B2 (ja) | 2014-02-25 | 2017-08-30 | 日本電信電話株式会社 | キャッシュ制御装置及び方法及びプログラム |
US9386118B2 (en) * | 2014-10-09 | 2016-07-05 | Fujitsu Limited | Online progressive content placement in a content centric network |
CN107248956B (zh) * | 2017-06-05 | 2019-10-15 | 北京邮电大学 | 一种信息中心网络的路由方法及装置 |
CN107454142B (zh) * | 2017-06-29 | 2019-06-07 | 北京邮电大学 | 一种内容路由器的非阻塞内容缓存方法及装置 |
CN107704202B (zh) * | 2017-09-18 | 2021-09-07 | 北京京东尚科信息技术有限公司 | 一种数据快速读写的方法和装置 |
CN107832343B (zh) * | 2017-10-13 | 2020-02-21 | 天津大学 | 一种基于位图的mbf数据索引结构对数据快速检索的方法 |
CN107908357B (zh) * | 2017-10-13 | 2020-08-21 | 天津大学 | 命名数据网转发平面pit存储结构及其数据检索方法 |
-
2018
- 2018-04-19 CN CN201810356463.XA patent/CN110399539A/zh active Pending
-
2019
- 2019-04-03 JP JP2020558055A patent/JP7109583B2/ja active Active
- 2019-04-03 KR KR1020207030227A patent/KR102428429B1/ko active IP Right Grant
- 2019-04-03 WO PCT/CN2019/081204 patent/WO2019201091A1/zh unknown
- 2019-04-03 US US17/048,809 patent/US11489765B2/en active Active
- 2019-04-03 EP EP19788847.2A patent/EP3770767B1/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105072030A (zh) * | 2015-07-02 | 2015-11-18 | 哈尔滨工程大学 | 一种基于内容聚类的命名数据网络路由系统及其聚类查询方法 |
WO2017165246A1 (en) * | 2016-03-25 | 2017-09-28 | Cisco Technology, Inc. | System and method for routing packets in a content centric network using anonymous datagrams |
CN105704032A (zh) * | 2016-04-13 | 2016-06-22 | 北京邮电大学 | 一种兴趣包转发方法及装置 |
CN106506719A (zh) * | 2016-11-07 | 2017-03-15 | 北京邮电大学 | 命名数据网络中分发策略的配置方法及配置系统 |
Non-Patent Citations (1)
Title |
---|
See also references of EP3770767A4 |
Also Published As
Publication number | Publication date |
---|---|
EP3770767A1 (en) | 2021-01-27 |
US20210168069A1 (en) | 2021-06-03 |
JP7109583B2 (ja) | 2022-07-29 |
EP3770767B1 (en) | 2023-07-12 |
US11489765B2 (en) | 2022-11-01 |
KR20200135451A (ko) | 2020-12-02 |
KR102428429B1 (ko) | 2022-08-02 |
EP3770767A4 (en) | 2021-04-21 |
CN110399539A (zh) | 2019-11-01 |
JP2021519038A (ja) | 2021-08-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102290835B1 (ko) | 유지관리 동작들을 위한 병합 트리 수정들 | |
TWI702506B (zh) | 用於合併樹廢棄項目指標之系統、機器可讀媒體及機器實施之方法 | |
US10198363B2 (en) | Reducing data I/O using in-memory data structures | |
WO2018099107A1 (zh) | 一种哈希表管理的方法和装置、计算机存储介质 | |
US11003719B2 (en) | Method and apparatus for accessing a storage disk | |
WO2020199760A1 (zh) | 数据存储方法、存储器和服务器 | |
US9304939B2 (en) | Method and multi-core communication processor for replacing data in system cache | |
US10057368B1 (en) | Method and system for incremental cache lookup and insertion | |
JP2004172917A (ja) | パケット検索装置及びそれに用いるパケット処理検索方法並びにそのプログラム | |
WO2019127018A1 (zh) | 存储系统访问方法及装置 | |
CN103428093A (zh) | 一种基于名字路由前缀存储、匹配及更新方法与装置 | |
WO2020034729A1 (zh) | 数据处理方法、相关设备及计算机存储介质 | |
WO2019127021A1 (zh) | 存储系统中存储设备的管理方法及装置 | |
WO2018032510A1 (zh) | 应用于存储设备中的访问请求的处理方法和装置 | |
WO2013075306A1 (zh) | 数据访问方法和装置 | |
WO2019019382A1 (zh) | 缓存处理方法、装置、计算机设备和存储介质 | |
JP2016515256A (ja) | メモリノードを含む分散型メモリシステム用装置および方法 | |
WO2019127017A1 (zh) | 存储系统中存储设备的管理方法及装置 | |
WO2019201091A1 (zh) | 一种数据处理方法、设备和计算机可读存储介质 | |
JP6088853B2 (ja) | 通信装置、通信方法および通信プログラム | |
CN107544916B (zh) | 一种缓存方法及存储设备 | |
JP6378044B2 (ja) | データ処理装置、データ処理方法およびプログラム | |
US11038797B2 (en) | Forwarding table entry access | |
US20140359062A1 (en) | Data transferring apparatus, data transferring system and non-transitory computer readable medium | |
CN111131197B (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: 19788847 Country of ref document: EP Kind code of ref document: A1 |
|
ENP | Entry into the national phase |
Ref document number: 2020558055 Country of ref document: JP Kind code of ref document: A |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
ENP | Entry into the national phase |
Ref document number: 20207030227 Country of ref document: KR Kind code of ref document: A |
|
ENP | Entry into the national phase |
Ref document number: 2019788847 Country of ref document: EP Effective date: 20201023 |