一种数据读取方法及组装装置的制造方法_4

文档序号:8257837阅读:来源:国知局
由于缓存装置进行数据收发的效率较高,能有效提高数据收发效率,因而,本实施例中,第二发送单元305优选先将组装单元304组装后的读取反馈发送至缓存装置,再通过缓存装置发送至请求装置,从而在将一个线程的工作分为了多个子线程的工作提高了数据读取效率的基础上,进一步提高了读取反馈的发送效率,从而从整体上显著提高了请求装置获得读取反馈的效率。
[0096]为了避免传输拥堵,本实施例中,优选第一发送单元302用于,采用滑动窗口将每个所述子请求发送至该子请求对应的子数据所在的存储节点;第二获得单元303用于,采用滑动窗口获得所述存储节点反馈的每个子请求的子请求反馈;第二发送单元305用于,采用滑动窗口将所述读取反馈发送至所述缓存装置,采用滑动窗口通过所述缓存装置将所述读取反馈发送至所述请求装置。
[0097]在上述基础上,若请求装置与存储装置相互“不识别”,例如:请求装置发送的数据读取请求无法被数据存储装置中的各存储节点识别,各存储节点返回的数据请求装置亦无法识别,则组装装置还需进行“格式转换”,例如:数据存储装置的各存储节点能够识别的是逻辑页,请求装置发送的数据读取请求要求的是读取物理数据页信息,那么,如图5所示,组装装置还需包括转换单元306,用于在所述第一获得单元300获得所述请求装置发送的数据读取请求之后,将所述数据读取请求转换成逻辑页序列。相应地,拆分单元301用于,将所述逻辑页序列拆分为多个子请求,所述多个子请求与所述多个子数据一一对应,所述多个子请求分别用于请求读取对应的子数据。各存储节点接收到各子请求后,返回的是读取的物理数据页信息,因而,第二发送单元305接收到存储节点反馈回的物理数据页信息后,需将物理数据页信息转换成逻辑页数据,转换的目的是因为,用户看到的云存储数据都是逻辑页数据,例如:逻辑(Logical Block Address,LBA)地址信息,因而,所述第二发送单元305用于,将获得的所述读取反馈转换成逻辑页,将所述逻辑页发送至所述缓存装置,通过所述缓存装置将所述逻辑页发送至所述请求装置。
[0098]为了确保所有的子请求均发送至对应的存储节点,并且都被存储节点所接受,避免因某个子请求请求失败造成数据读取失败,本实施例中,组装装置优选包括第三获得单元,用于在所述第一发送单元302将每个所述子请求发送至该子请求对应的子数据所在的存储节点之后,针对每个子请求,获得所述存储节点的应答反馈,当获得所有所述子请求的应答反馈之后,向所述请求装置发送所述数据读取请求发送成功的信息;当超过预设时限,未获得针对某一个子请求,所述存储节点的应答反馈时,重新将所述子请求发送至所述子请求用于读取的所述子数据对应的存储节点。
[0099]本发明实施例中,巧妙地将一个“大”的数据读取请求拆分为多个“小”的子请求,将原本的一个读取线程拆分为了多个子读取线程,由多个子读取线程进行读取,且获得的读取反馈会先发送至Cache,通过Cache发送至请求装置,这种“多并发”的工作模式显著提高了数据读取效率,有效缩短了读取时间。本发明实施例实现了“流水线”读取,即缓存装置、数据存储装置、请求装置、组装装置均只负责本单元的工作,完成一个数据处理后立刻进行下一个数据处理,各自的动作不会受到其他装置的影响,这种“流水线”读取方式,整体工作效率远远高于现有的读取方式,优势十分明显。
[0100]需要说明的是,在本申请所提供的几个实施例中,应该理解到,所揭露装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
[0101]参见图6,本发明实施例还提供的另一种组装装置,包括:处理器400,存储器404,总线402和通信接口 403,所述处理器400、通信接口 403和存储器404通过总线402连接;。
[0102]其中,存储器404可能包含高速随机存取存储器(RAM:Random Access Memory),也可能还包括非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。通过至少一个通信接口 403 (可以是有线或者无线)实现该系统网元与至少一个其他网元之间的通信连接,可以使用互联网,广域网,本地网,城域网等。
[0103]处理器400用于执行存储器404中的可执行模块,例如计算机程序401 ;处理器400通过通信接口 403接收数据流;
[0104]总线402可以是ISA总线、PCI总线或EISA总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图6中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
[0105]其中,存储器404用于存储程序401,所述处理器400在接收到执行指令后,执行所述程序401,前述本发明实施例任一实施例揭示的过程定义的装置所执行的方法可以应用于处理器400中,或者由处理器400实现。
[0106]在具体实现中,程序401可以包括程序代码,所述程序代码包括计算机操作指令和算法等;
[0107]处理器400可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器400中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器400可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器404,处理器400读取存储器404中的信息,结合其硬件完成上述方法的步骤。
[0108]本发明实施例所提供的进行装置中的计算机程序产品,包括存储了程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行前面方法实施例中所述的方法,具体实现可参见方法实施例,在此不再赘述。
[0109]所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0110]在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本发明的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
[0111]所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0112]另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
[011
当前第4页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1