缓存处理方法、装置及系统的制作方法_4

文档序号:9757259阅读:来源:国知局
录的接口转发给请求者。 阳287] 进一步的,对于上述各实施例中数据包传输阶段的处理,图6为本发明实施例六 提供的缓存处理方法的流程示意图,下面根据图6所示对数据包传输阶段的处理进行详细 说明,内容如下: 阳28引步骤500、查看本节点的PIT是否存在与数据内容k匹配的数据内容条目。 阳289] 具体的,若PIT中存在与数据内容k匹配的数据内容条目,则执行步骤502 ;若PIT 中不存在与数据内容k匹配的数据内容条目,则执行步骤501。 阳290] 步骤501、丢弃第一数据包。 阳291] 步骤502、本节点将数据内容对应的本节点的逗留时间与数据内容k对应的其他 节点的逗留时间进行比较。 阳292] 具体的,参照上文实施例=至实施例五可知,本节点的逗留时间与数据内容k对 应的其他节点的逗留时间进行比较,可W用过=种可能的实现方式实现,即,本节点的逗留 时间与上一跳节点的逗留时间、下一跳节点的逗留时间进行比较;本节点的逗留时间与上 一跳节点的逗留时间进行比较;本节点的逗留时间与下一跳节点的逗留时间进行比较。上 文已进行了详细说明,此处不再寶述。 阳293] 步骤503、判断本节点的逗留时间是否为最长。 阳294] 具体的,若本节点的逗留时间为最长,则执行步骤505 ;本节点的逗留时间并不是 最长,则执行步骤504。 阳2巧]步骤504、判断本节点的缓存区是否已满。 阳296] 具体的,本节点的缓存区已满,则执行步骤506 ;若本节点的缓存区未满,则执行 步骤505。 阳巧7] 步骤505、本节点根据LRU(最近最少使用算法Least Recently Used)策略将数据 内容k存储在本节点的缓存区中。 阳29引步骤506、本节点向上一条节点转发包含数据内容k在本节点的逗留时间的第一 数据包。 阳299] 进一步的,对于上述各实施例提供的缓存处理方法,其中,各个节点的逗留时间通 过W下公式(I)W及公式(2)获得。公式(1):
阳30U 其中,f(STk(i))为数据内容k在本节点i的逗留时间,xa)为本节点i的缓存容 量,入kW为数据内容k在本节点i的到达率,i^a)为其他数据内容到达率,通过本节点 i的总到达率^ (i)减去^k(i)获得 阳302] 或者,公式(2):
[0304] 其中,f (STk(i))为数据内容k在本节点i的逗留时间,故俏为数据内容k第j 次缓存至本节点i的时刻,公巧为数据内容k第j次从本节点i被替换的时刻,N为统计 总次数。 阳305] 图7为本发明实施例屯提供的缓存处理装置的结构示意图,该缓存处理装置可W 安装在任何需要进行缓存处理的网元节点上,此处对该网元节点不做限定,如图7所示,缓 存处理装置包括:接收模块10、比较模块11、发送模块12。 阳306] 接收模块10,用于接收下一跳节点发送给请求方的包含数据内容的第一数据包。 阳307] 比较模块11,用于将数据内容对应的本节点的逗留时间与数据内容对应的其他节 点的逗留时间进行比较,若本节点的逗留时间为最长,则将数据内容缓存至缓存区。 阳30引具体的,其他节点可W为下一跳节点和上一条节点;或者,上一条节点;或者,下 一跳节点,下文各实施例会对运=种不同的比较方式进行详细说明,此处不再寶述。 阳309] 发送模块12,用于将第一数据包发送给请求方。
[0310] 具体的,请求方可W通过上一跳节点接收该第一数据包。 阳311] 本实施例提供的缓存处理方法,通过接收模块接收下一跳节点发送给请求方的包 含数据内容的第一数据包。再由比较模块将数据内容对应的本节点的逗留时间与数据内容 对应的其他节点的逗留时间进行比较,若本节点的逗留时间为最长,则将数据内容缓存至 缓存区,并由发送模块将第一数据包发送给请求方。通过加入对本节点的逗留时间与其他 节点的逗留时间的比较,将同一数据内容在不同节点的流行程度、使用程度体现出来,从而 依据数据内容在不同节点的逗留时间的不同长短,对数据内容进行缓存,避免了每个节点 对于同样的数据内容重复储存造成的缓存空间资源的浪费,从而在提高缓存空间资源利用 率的同时,丰富了缓存数据内容的多样性,并且当该数据包的数据内容在本节点的逗留时 间最长时,将该数据内容缓存至本节点的缓存区,将提高请求者通过本节点获取到该数据 内容的命中率,减少总时延。
[0312] 在图7 W及上述可行的实现方式的基础上,图8为本发明实施例八提供的缓存处 理装置的结构示意图,如图8所示,该缓存处理装置还包括:查询模块13、更新模块14、逗留 时间覆盖模块15。 阳313] 在接收模块10接收下一跳节点发送给请求方的包含数据内容的第一数据包之 前,接收模块10,还用于接收请求方发送的兴趣包,兴趣包包含数据内容前缀信息。
[0314] 具体的,当请求方需要某一个数据内容时,会通过网元节点向上游节点发送兴趣 包,在本实施例中,该兴趣包中包含所需的数据内容对应的数据内容前缀信息。
[0315] 查询模块13,用于根据数据内容前缀信息查询缓存区是否已存储与数据内容前缀 信息对应的数据内容。
[0316] 具体的,若缓存区存储与数据内容前缀信息对应的数据内容,则发送模块12将包 含数据内容和本节点的逗留时间的第二数据包发送给请求方。
[0317] 若缓存区没有存储与数据内容前缀信息对应的数据内容,更新模块14,用于更新 本节点的待定兴趣表(Pending Interest T油Ie,简称:P口),并由发送模块12将兴趣包转 发给下一跳节点。
[0318] 对于本发明提供的缓存处理装置,具体的,可W有=种可能的实现方式,下面通过 实施例九至实施例十一,对运=种实现方式进行说明。
[0319] 参照上文实施例=,需要说明的是,在本实施例九中,缓存处理方法通过比较某一 数据内容在本节点上的逗留时间、该数据内容在下一跳节点上的逗留时间W及该数据内容 的数据内容前缀对应的上一跳节点的逗留时间来判断该数据内容是否能够缓存到本节点 的缓存区中。下面对本实施九中的缓存处理装置进行说明。
[0320] 参照图8,进一步的,接收模块10接受的兴趣包还包括:上一跳节点的逗留时间。 阳321] 参照图8,其中,更新模块14,具体用于查询P口中是否存在与数据内容前缀信息 对应的条目,若是,则将数据内容前缀信息对应的发送接口标识,化及数据内容前缀信息对 应的上一跳节点的逗留时间添加至条目下。 阳322] 若否,更新模块14创建新的条目,将数据内容前缀信息对应的发送接口标识,W 及数据内容前缀信息对应的上一跳节点的逗留时间添加至新的条目下。 阳323] 之后,逗留时间覆盖模块15,还用于将本节点的逗留时间覆盖兴趣包中的上一跳 节点的逗留时间;
[0324] 发送模块12,还用于查询转发信息库FIB,将兴趣包发给下一跳节点。
[03巧]进一步的,当发送模块12查询转发信息库FIB,将兴趣包转发给下一跳节点之后, 下一跳节点接收到该兴趣包后,若该下一跳节点的缓存区存储与数据内容前缀信息对应的 数据内容时,该下一跳节点向本节点发送包含数据内容的第一数据包,进一步的,接收模块 10接收到的第一数据包还包括:下一跳节点的逗留时间。 阳326] 此时,比较模块11,具体用于对PIT中数据内容前缀对应的上一跳节点的逗留时 间、本节点的逗留时间W及第一数据包中数据内容对应的下一跳节点的逗留时间进行比 较,若本节点的逗留时间为最长,则将数据内容缓存至缓存区。 阳327] 逗留时间覆盖模块15,用于将本节点的逗留时间覆盖第一数据包中的下一跳节点 的逗留时间。
[0328] 发送模块12,具体用于根据PIT中数据内容前缀信息对应的发送接口标识,将第 一数据包发送给请求方。
[0329] 具体的,第一数据包包含所述数据内容和本节点的逗留时间。
[0330] 另外,优选的,还存在另一种可能的场景:比较模块11,还用于若本节点的逗留时 间小于或等于PIT中数据内容前缀对应的上一跳节点的逗留时间W及第一数据包中数据 内容对应的下一跳节点的逗留时间,则判断缓存区是否已满,若否,则将数据内容缓存至缓 存区。 阳331] 逗留时间覆盖模块15,用于若缓存区已满,将本节点的逗留时间覆盖第一数据包 中的下一跳节点的逗留时间,并将第一数据包转发给请求方。 阳332] 具体的,本实施例中的缓存处理装置其执行的方法具体参照上文实施例=中图3 所提供的信令交互方案,此处不再寶述。 阳333] 参照上文实施例四,需要说明的是,在本实施例十中,缓存处理装置通过比较某一 数据内容在本节点上的逗留时间与该数据内容在下一跳节点上的逗留时间,来判断该数据 内容是否能够缓存到本节点的缓存区中。下面对采用本实施四的实现方式的缓存处理装置 进行说明。 阳334] 参照图8,其中,更新模块14,具体用于查询P口中是否存在与数据内容前缀信息 对应的条目,若是,则将数据内容前缀信息对应的发送接口标识添加至条目下。
[0335] 若否,则创建新的条目,将数据内容前缀信息对应的发送接口标识添加至新的条 目下。 阳336] 发送模块12,具体用于查询转发信息库FIB,将兴趣包转发给下一跳节点。 阳337] 具体的,参照上文中表二所示,本节点更新模块14查询该PIT,若该PIT中有数据 内容前缀信息j的条目,则将兴趣包的发送接口标识添加至该条目中,例如上文表二中将 数据内容前缀信息j对应的发送接口标识2添加到条目中,然后丢弃该兴趣包。若该PIT 中没有数据内容前缀信息k的条目,更新模块14则创建新的条目,并将该数据内容前缀信 息k对应的发送接口标识3添加至上文表二中的数据内容前缀信息k的新条目中。
[0338] 进一步的,当本节点发送模块12查询转发信息库FIB,将兴趣包转发给下一跳节 点之后,下一跳节点接收到该兴趣包后,若该下一跳节点的缓存区存储与数据内容前缀信 息对应的数据内容时,该下一跳节点向本节点发送包含数据内容的第一数据包,进一步的, 本实施例中,本节点接收模块10接收的第一数据包还包括:下一跳节点的逗留时间。
[0339] 此时,比较模块11,具体用于对本节点的逗留时间W及第一数据包中数据内容对 应的下一跳节点的逗留时间进行比较,若本节点的逗留时间为最长,则将数据内容缓存至 缓存区。
[0340] 进一步的,逗留时间覆盖模块15,用于将本节点的逗留时间覆盖第一数据包中的 下一跳节点的逗留时间。 阳341] 之后,发送模块12,具体用于根据PIT中数据内容前缀信息对应的发送接口标识, 将第一数据包发送给请求方。 阳342] 具体的,该第一数据包包含数据内容和本节点的逗留时间。 阳343] 另外,优选的,还存在另一种可能的场景:
[0344] 比较模块11,还用于若本节点的逗留时间小于或等于第一数据包中数据内容对应 的下一跳节点的逗留时间,则判断缓存区是否已满,若否,则将数据内容缓存至缓存区。 阳345] 逗留时间覆盖模块15,还用于若缓存区已满,则将本节点的逗留时间覆盖第一数 据包中的下一跳节点的逗留时间,并由发送模块12将第一数据包转发给请求方,该第一数 据包包含数据内容和本节点的逗留时间。 阳346] 具体的,本实施例中的缓存处理装置其执行的方法具体参照上文实施例四中图4 所提供的信令交互方案,此处不再寶述。 阳347] 参照上文实施例五,需要说明的是,在本实施例十一中,缓存处理装置通过比较某 一数据内容在本节点上的逗留时间与该数据内容的数据内容前缀对应的上一跳节点的逗 留时间来判断该数据内容是否能够缓存到本节点的缓存区中。下面对本实施十一进行说 明。
[0348] 参照图8,进一步的,在接收模块10接收的兴趣包还包括:上一跳节点的逗留时 间。
[0349] 参照图8,其中,更新模块14,具体用于查询PIT中是否存在与数据内容前缀信息 对应的条目,若是,则将数据内容前缀信息对应的发送接口标识,化及数据内容前缀信息对 应的上一跳节点的逗留时间添加至条目下。
[0350] 若否,则更新模块14创建新的条目,将数据内容前缀信息对应的发送接口标识, W及数据内容前缀信息对应的上一跳节点的逗留时间添加至所述新的条目下。 阳351] 逗留时间覆盖模块15,用于将本节点的逗留时间覆盖兴趣包中的上一跳节点的逗 留时间。 阳352] 发送模块12,具体用于查询转发信息库FIB,将兴趣包发给下一跳节点。 阳353] 进一步的,当发送模块12查询转发信息库FIB,将兴趣包转发给下一跳节点之后, 下一跳节点接收到该兴趣包后,若该下一跳节点的缓存区存储与数据内容前缀信息对应的 数据内容时,该下一跳节点向本节点发送包含数据内容的第一数据包,进一步的,接收模块 10接收的第一数据包还包括:下一跳节点的逗留时间。 阳354] 此时,比较模块11,具体用于对PIT中数据内容前缀对应的上一跳节点的逗留时 间、本节点的逗留时间进行比较,若本节点的逗留时间为最长,则将数据内容缓存至缓存 区。 阳355] 逗留时间覆盖模块15,用于将本节点的逗留时间添加至第一数据包中。 阳356] 之后,发送模块12,具体用于根据PIT中数据内容前缀信息对应的发送接口标识, 将第一数据包发送给请求方。
[0357] 具体的,该第一数据包包含数据内容和本节点的逗留时间。
[035引另外,优选的,还存在另一种可能的场景:比较模块11,还用于若本节点的逗留时 间小于或等于PIT中数据内容前缀对应的上一跳节点的逗留时间W及第一数据包中数据 内容对应的下一跳节点的逗留时间,则判断缓存区是否已满,若否,则将数据内容缓存至缓 存区; 阳359] 逗留时间覆盖模块15,还用于若缓存区已满,将本节点的逗留时间覆盖第一数据 包中的下一跳节点的逗留时间,并将第一数据包转发给请求方。
[0360] 具体的,本实施例中的缓存处理装置其执行的方法具体参照上文实施例四中图5 所提供的信令交互方案,此处不再寶述。 阳361] 进一步的,对于上述各实施例提供的缓存处理装置,其中,各个节点的逗留时间通 过W下公式(I)W及公式(2)获得。公式(1):
[036引其中,f(STk(i))为数据内容k在本节点i的逗留时间,xa)为本节点i的缓存容 量,入kW为数据内容k在本节点i的到达率,i^a)为其他数据内容到达率,通过本节点 i的总到达率^ (i)减去^k(i)获得 阳364] 或者,公式(2):
阳366] 其中,f (STk(i))为数据内容k在本节点i的逗留时间,诗,。,;〇')为数据内容k第j 次缓存至本节点i的时刻,唉&,; 0')为数据内容k第j次从本节点i被替换的时刻,N为统计 总次数。 阳367] 本发明实施例提供一种缓存处理系统,该系统包括至少一个网元节点,例如上文 中所述上一跳节点、本节点W及下一条节点,其中每一个节点都设置有上文各实施例中的 缓存处理方法装置,该缓存处理方法装置采用图7 W及图8所示的结构,能够执行图1~图 6所提供的缓存处理方法,其技术效果已在上文中进行了详细说明此处不再寶述。
[0368] 图9为本发明实施例十二提供的缓存处理装置的结构示意图,该缓存处理装置可 W安装在任何需要进行缓存处理的网元节点上,此处对该网元节点不做限定,如图9所示, 缓存处理装置包括:接收器20、处理器21、发射器22。
[0369] 接收器20,用于接收下一跳节点发送给请求方的包含数据内容的第一数据包。
[0370] 处理器21,用于将数据内容对应的本节点的逗留时间与数据内容对应的其他节点 的逗留时间进行比较,若本节点的逗留时间为最长,则将数据内容缓存至缓存区。 阳371] 具体的,其他节点可W为下一跳节点和上一条节点;或者,上一条节点;或者,下 一跳节点,下文各实施例会对运=种不同的比较方式进行详细说明,此处不再寶述。 阳372] 发射器22,用于将第一数据包发送给请求方。 阳373] 具体的,请求方可W通过上一跳节点接收该第一数据包。 阳374] 本实施例提供的缓存处理方法,通过接收器接收下一跳节点发送给请求方的包含 数据内容的第一数据包。再由处理器将数据内容对应的本节点的逗留时间与数据内容对应 的其他
当前第4页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1