[发明专利]一种处理数据的方法和装置有效
申请号: | 201310652055.6 | 申请日: | 2013-12-04 |
公开(公告)号: | CN104699692B | 公开(公告)日: | 2018-06-15 |
发明(设计)人: | 徐利成;熊伟 | 申请(专利权)人: | 华为技术有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 北京中博世达专利商标代理有限公司 11274 | 代理人: | 申健 |
地址: | 518129 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明公开了一种处理数据的方法和装置,涉及计算机技术领域,用以节省缓存空间。本发明提供的方法包括:获取第二指令的指令参数所占的存储空间的大小和第二指令的索引指针;第二指令为与第一指令相邻的后一个指令,第一指令的索引指针记录在第一纵向块中;根据第二指令的索引指针与第一指令的索引指针判断第二指令是否满足分块策略;当第二指令满足分块策略时,建立第二纵向块和与第二纵向块对应的哈希表;将第二指令的索引指针记录在第二纵向块中;根据与第二纵向块对应的哈希表、第二指令的指令参数所占的存储空间的大小和第二指令的索引指针缓存第二指令的指令参数。 1 | ||
搜索关键词: | 指令 索引指针 指令参数 方法和装置 处理数据 存储空间 哈希表 分块 计算机技术领域 缓存 缓存空间 记录 | ||
所述客户端获取第二指令的指令参数所占的存储空间的大小和所述第二指令的索引指针;所述第二指令为所述第一独立指令流中的、与所述第一指令相邻的后一个指令;
所述客户端根据所述第二指令的索引指针与所述第一指令的索引指针判断所述第二指令是否满足分块策略;所述分块策略包括:同一独立指令流中相邻的两个指令的索引指针不连续;
当所述第二指令满足所述分块策略时,所述客户端建立客户端的第二纵向块和与所述客户端的第二纵向块对应的哈希表,所述客户端的第二纵向块是所述客户端上区别于所述客户端的第一纵向块的另一部分缓存空间;
所述客户端将所述第二指令的索引指针记录在所述客户端的第二纵向块中;
所述客户端根据与所述客户端的第二纵向块对应的哈希表、所述第二指令的指令参数所占的存储空间的大小和所述第二指令的索引指针缓存所述第二指令的指令参数。
2.根据权利要求1所述的方法,其特征在于,所述分块策略具体包括:同一独立指令流中相邻的两个指令的索引指针的变化幅度大于或者等于第一阈值;所述根据所述第二指令的索引指针与所述第一指令的索引指针判断所述第二指令是否满足分块策略,具体包括:
判断所述第二指令的索引指针相对于所述第一指令的索引指针的变化幅度是否大于或者等于第一阈值;
或者,所述分块策略具体包括:同一独立指令流中相邻的两个指令的索引指针的变化率大于或者等于第二阈值;所述根据所述第二指令的索引指针与所述第一指令的索引指针判断所述第二指令是否满足分块策略,具体包括:
判断所述第二指令的索引指针相对于所述第一指令的索引指针的变化率是否大于或者等于第二阈值。
3.根据权利要求1所述的方法,其特征在于,在所述建立客户端的第二纵向块和与所述客户端的第二纵向块对应的哈希表之后,所述方法还包括:向服务端发送第一指示消息,所述第一指示消息用于指示所述服务端将所述第二指令记录在服务端的第二纵向块中;使得所述服务端根据所述第一指示消息建立所述服务端的第二纵向块和与所述服务端的第二纵向块对应的哈希表,并将所述第二指令的索引指针记录在所述服务端的第二纵向块中;所述服务端的第二纵向块是所述服务端中的一部分缓存空间;
所述第一指示消息还包括所述第二指令的指令参数所占的存储空间的大小,在所述根据与所述服务端的第二纵向块对应的哈希表、所述第二指令的指令参数所占的存储空间的大小和所述第二指令的索引指针缓存所述第二指令的指令参数之后,所述方法还包括:
向所述服务端发送第二指示消息,所述第二指示消息用于指示所述服务端根据所述第一指示消息缓存所述第二指令的指令参数;使得所述服务端根据与所述服务端的第二纵向块对应的哈希表、所述第二指令的指令参数所占的存储空间的大小和所述第二指令的索引指针缓存所述第二指令的指令参数。
4.根据权利要求1所述的方法,其特征在于,所述客户端的第一纵向块对应一哈希表,所述方法还包括:当所述第二指令不满足所述分块策略时,所述客户端将所述第二指令的索引指针记录在所述客户端的第一纵向块中;
所述客户端根据所述第二指令的索引指针更新与所述客户端的第一纵向块对应的哈希表。
5.根据权利要求4所述的方法,其特征在于,在所述客户端根据所述第二指令的索引指针更新与所述第一纵向块对应的哈希表之后,所述方法还包括:向服务端发送第三指示消息,所述第三指示消息用于指示所述服务端将所述第二指令的索引指针记录在服务端的第一纵向块;使得所述服务端根据所述第三指示消息将所述第二指令的索引指针记录在所述服务端的第一纵向块中,并根据所述第二指令的索引指针更新与所述服务端的第一纵向块对应的哈希表;所述服务端的第一纵向块是所述服务端中的一部分缓存空间。
6.根据权利要求5所述的方法,其特征在于,在所述客户端建立客户端的第二纵向块和与所述客户端的第二纵向块对应的哈希表之后,所述方法还包括:所述客户端将所述客户端的第一纵向块和所述客户端的第二纵向块通过链表结构连接。
7.根据权利要求6所述的方法,其特征在于,所述方法还包括:向所述服务端发送第四指示消息,所述第四指示消息用于指示所述服务端建立服务端的第一纵向块和服务端的第二纵向块之间的连接关系;使得所述服务端根据所述第四指示消息将所述服务端的第一纵向块和所述服务端的第二纵向块通过链表结构连接。
8.根据权利要求6所述的方法,其特征在于,在所述客户端已建立客户端的纵向块之间的连接关系的情况下,在所述根据与所述客户端的第二纵向块对应的哈希表、所述第二指令的指令参数所占的存储空间的大小和所述第二指令的索引指针缓存所述第二指令的指令参数之后,所述方法还包括:再次获得所述第二指令时,从记录所述第二指令的前一个指令的索引指针的纵向块开始,按照客户端的纵向块之间的连接关系,依次在客户端的第一纵向块组中查找记录所述第二指令的索引指针的纵向块,所述客户端的第一纵向块组由记录所述第一独立指令流中的指令的索引指针的纵向块构成。
9.根据权利要求8所述的方法,其特征在于,所述服务端已建立服务端的纵向块之间的连接关系;所述方法还包括:向所述服务端发送第五指示消息,所述第五指示消息包含记录所述第二指令的索引指针的纵向块的信息,所述第五指示消息用于指示所述服务端获取缓存的所述第二指令的指令参数;使得所述服务端根据服务端的纵向块之间的连接关系、记录所述第二指令的索引指针的纵向块的信息获取与记录所述第二指令的索引指针的纵向块对应的哈希表,根据与记录所述第二指令的索引指针的纵向块对应的哈希表和所述第二指令的索引指针获取缓存的所述第二指令的指令参数。
10.根据权利要求6所述的方法,所述第一指令为所述第一独立指令流中的首个指令,所述第一指令的索引指针记录在客户端的第一横向块中,所述客户端的第一横向块是所述客户端中的一部分缓存空间,所述方法还包括:所述客户端获取第二独立指令流中的首个指令的索引指针,所述第二独立指令流为与所述第一独立指令流相邻的后一个独立指令流;
所述客户端建立客户端的第二横向块,所述客户端的第二横向块是所述客户端上区别于所述客户端的第一横向块的另一部分缓存空间;
所述客户端在所述第二横向块中记录所述第二独立指令流中的首个指令的索引指针;
所述客户端将所述客户端的第二横向块和所述客户端的第一横向块通过链表结构连接;
所述客户端将所述客户端的第二横向块与客户端的第二纵向块组中的一纵向块通过链表结构连接,所述客户端的第二纵向块组由记录所述第二独立指令流中的指令的索引指
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司,未经华为技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201310652055.6/,转载请声明来源钻瓜专利网。
- 上一篇:一种信息处理方法及装置
- 下一篇:一种带语音功能的名片通