一种处理数据的方法和装置的制造方法_3

文档序号:8380952阅读:来源:国知局
收单元,用于接收客户端发送的第一指示消息,所述第一指示消息用于指示所 述服务端将所述第二指令记录在第二纵向块中;
[0102] 建立单元,用于根据所述第一指示消息建立所述第二纵向块和与所述第二纵向块 对应的哈希表;
[0103] 记录单元,用于将所述第二指令的索引指针记录在所述第二纵向块中;
[0104] 所述第一指示消息还包括所述第二指令的指令参数所占的存储空间的大小;所述 接收单元还用于,接收所述客户端发送的第二指示消息,所述第二指示消息用于指示所述 服务端根据所述第一指示消息缓存所述第二指令的指令参数;
[0105] 所述服务端还包括:
[0106] 缓存单元,用于根据与所述第二纵向块对应的哈希表、所述第二指令的指令参数 所占的存储空间的大小和所述第二指令的索引指针缓存所述第二指令的指令参数。
[0107] 结合第四方面,在第一种可能的实现方式中,
[0108] 所述接收单元还用于,接收所述客户端发送的第三指示消息,所述第三指示消息 用于指示所述服务端将所述第二指令的索引指针记录在所述第一纵向块;
[0109] 所述记录单元还用于,根据所述第三指示消息将所述第二指令的索引指针记录在 所述第一纵向块中;
[0110] 所述服务端还包括:
[0111] 更新单元,用于根据所述第二指令的索引指针更新与所述第一纵向块对应的哈希 表。
[0112] 结合第四方面,在第二种可能的实现方式中,
[0113] 所述接收单元还用于,接收所述客户端发送的第四指示消息,所述第四指示消息 用于指示所述服务端建立所述第一纵向块和所述第二纵向块之间的连接关系;
[0114] 所述服务端还包括:
[0115] 连接单元,用于根据所述第四指示消息将所述第一纵向块和所述第二纵向块通过 链表结构连接。
[0116] 结合第四方面的第二种可能的实现方式,在第三种可能的实现方式中,所述服务 端已建立纵向块之间的连接关系;
[0117] 所述接收单元还用于,接收所述客户端发送的第五指示消息,所述第五指示消息 包含记录所述第二指令的索引指针的纵向块的信息,所述第五指示消息用于指示所述服务 端获取缓存的所述第二指令的指令参数;
[0118] 所述服务端还包括:
[0119] 获取单元,用于根据纵向块之间的连接关系、记录所述第二指令的索引指针的纵 向块的信息获取与记录所述第二指令的索引指针的纵向块对应的哈希表;根据与记录所述 第二指令的索引指针的纵向块对应的哈希表和所述第二指令的索引指针获取缓存的所述 第二指令的指令参数。
[0120] 结合第四方面,在第四种可能的实现方式中,所述第一指令为所述第一独立指令 流中的首个指令;
[0121] 所述接收单元还用于,接收所述客户端发送的第六指示消息,所述第六指示消息 用于指示所述服务端为所述第二独立指令流建立所述第二横向块;
[0122] 所述建立单元还用于,根据所述第六指示消息建立所述第二横向块;
[0123] 所述记录单元还用于,在所述第二横向块中记录所述第二独立指令流中的首个指 令的索引指针;
[0124] 所述连接单元还用于,将所述第二横向块和所述第一横向块通过链表结构连接; 将所述第二横向块与纵向块组中的首个纵向块通过链表结构连接,所述纵向块组由记录所 述第二独立指令流中的指令的索引指针的纵向块构成。
[0125] 本发明实施例提供的处理数据的方法和装置,客户端的缓存空间中包含记录了第 一指令的索引指针第一纵向块,当第二指令的索引指针与第一指令的索引指针不连续时, 建立第二纵向块以及与第二纵向块对应的哈希表,并将第二指令的索引指针记录在第二纵 向块中;其中,第二指令与第一指令为同一独立指令流中的两个指令,且第二指令为与第一 指令相邻的后一个指令;至少根据与第二纵向块对应的哈希表缓存第二指令的指令参数。 本方案将同一独立指令流中两个不连续的索引指针分别记录在不同的纵向块中,为每个纵 向块建立独立的哈希表,这样,在缓存指令的指令参数时,不需要对这两个不连续的索引指 针之间的索引指针进行缓存,因此,在待缓存的指令流中的指令的索引指针比较分散时,可 以节省缓存索引指针的缓存空间。
【附图说明】
[0126] 为了更清楚地说明本发明实施例的技术方案,下面将对实施例或现有技术描述中 所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实 施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图 获得其他的附图。
[0127] 图1为本发明实施例提供的一种处理数据的方法的流程示意图;
[0128] 图2为本发明实施例提供的另一种处理数据的方法的流程示意图;
[0129] 图3为本发明实施例提供的另一种处理数据的方法的流程示意图;
[0130] 图4为本发明实施例提供的另一种处理数据的方法的流程示意图;
[0131] 图5为本发明实施例提供的一种缓存指令的指令参数的结构示意图;
[0132] 图6为本发明实施例提供的一种客户端的结构示意图;
[0133] 图7为本发明实施例提供的另一种客户端的结构示意图;
[0134] 图8为本发明实施例提供的另一种客户端的结构示意图;
[0135] 图9为本发明实施例提供的一种服务端的结构示意图;
[0136] 图10为本发明实施例提供的另一种服务端的结构示意图;
[0137] 图11为本发明实施例提供的另一种服务端的结构示意图。
【具体实施方式】
[0138] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完 整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于 本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他 实施例,都属于本发明保护的范围。
[0139] 为了方便理解本发明实施例,首先介绍本发明实施例中引入的几个要素:
[0140] (1)第一独立指令流:可以为任一独立指令流。
[0141] ( 2 )第二独立指令流:当同时讨论第一独立指令流和第二独立指令流时,第二独立 指令流为与第一独立指令流相邻的后一个独立指令流;当单独讨论第二独立指令流时,第 二独立指令流可以为任一独立指令流。
[0142] (3)第一指令:可以为第一独立指令流中的任一指令。
[0143] (4)第二指令:当同时讨论第一指令和第二指令时,第二指令为第一独立指令流中 的、与第一指令相邻的后一个指令;当单独讨论第二指令时,第二指令可以为第一独立指令 流中的、除首个指令之外的任一指令。
[0144] (5)纵向块:纵向块为一部分缓存空间。
[0145] 每个纵向块中可以记录同一独立指令流中的一个或者多个指令的索引指针;一般 地,客户端/服务端可以通过在纵向块中记录索引指针区间来记录一个或者多个指令的索 弓丨指针,其中,索引指针区间是指该纵向块中所需记录的最大索引指针和最小索引指针构 成的区间。本发明实施例中均以该记录方式为例进行说明。
[0146] 每个纵向块可以对应一个独立的哈希表,一般地,纵向块中记录的索引指针区间 中的索引指针的个数与该纵向块对应的哈希表的关键字(key)的个数一致。当纵向块中记 录的索引指针区间更新时,与该纵向块对应的哈希表需要随之更新。
[0147] (6)纵向块组:由一个或者多个纵向块构成的集合。
[0148] 同一纵向块组中的各纵向块中所记录的索引指针为同一独立指令流中的指令的 索引指针。
[0149] (7)横向块:横向块为一部分缓存空间。
[0150] 每个横向块中可以记录一个独立指令流的首个指令的索引指针;每个横向块对应 一个纵向块组。
[0151] 需要说明的是,本发明实施例中根据缓存空间中所记录的内容不同,将其分为"横 向块"和"纵向块"以及缓存指令数据的缓存空间。也就是说,"横向块"和"纵向块"仅代表 用途不同的缓存空间,这些缓存空间并没有方向的概念。
[0152] 下面示例性的介绍本发明实施例中客户端接收的独立指令流的特点:
[0153] -般地,客户端在一定的触发条件下,多次获得多个不同的独立指令流,或者多次 获得一个相同的独立指令流;其中,多次获得多个不同的独立指令流可以描述为:多次获 得一个相同的独立指令流组,每个指令流组中包含多个不同的独立指令流。本发明实施例 对触发条件的具体内容不进行限定。
[0154] 多次获得多个不同的独立指令流的场景中,获得的指令流的顺序可以描述为:独 立指令流1、独立指令流2、独立指令流3、独立指令流1、独立指令流2、独立指令流3、独立 指令流1、独立指令流2、独立指令流3···。另外,也可以描述为:独立指令流组1、独立指令 流组1、独立指令流组1···,其中,独立指令流组1由独立指令流1、独立指令流2、独立指令 流3构成。
[0155] 多次获得一个相同的独立指令流可以描述为:依次获得独立指令流1、独立指令 流1、独立指令流1···。
[0156] 需要说明的是,本发明实施例可以应用于上述列举的两种场景中,尤其适用于上 述两种场景中,独立指令流中各指令的索引指针具有"全局分散、局部聚合"特点的情况下。 当然还可以应用与其他场景中,此处不一一列举。本发明实施例均以应用于上述两种场景 为例进行说明。
[0157] 实施例一
[0158] 参见图1,为本发明实施例提供的一种处理数据的方法,应用于客户端,所述客户 端的缓存空间包含第一纵向块,所述第一纵向块中记录了第一独立指令流中的第一指令的 索引指针;所述方法包括:
[0159] 101 :获取第二指令的指令参数所占的存储空间的大小和所述第二指令的索引指 针;所述第二指令为所述第一独立指令流中的、与所述第一指令相邻的后一个指令。
[0160] 示例性的,本发明实施例提供的方法可以应用于利用GPU (Graphic Processing Unit,图像处理器单元)虚拟化技术实现远程渲
当前第3页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1