数据传输方法及装置的制造方法

文档序号:8365540阅读:206来源:国知局
数据传输方法及装置的制造方法
【技术领域】
[0001] 本发明涉及计算机通信技术,尤其涉及一种数据传输方法及装置。
【背景技术】
[0002] 传统的无中心分布式存储系统在分配存储控件和查找数据时较为常用的是一致 性哈希算法。
[0003] -致性哈希算法对数据的键值(KEY)进行一致性哈希后输出的值域在一个固定 的环空间中(即最大哈希值紧邻最小哈希值)。对于数据节点而言,通过对各个节点随机赋 予一定值,标定它在环空间中的位置,来划分各节点负责存储的哈希值范围,通常每个节点 负责该节点与该节点之间的节点区编号区域之间的存储。在分配存储空间和查询数据时, 直接对数据键值进行一致性哈希,通过哈希值来分配或者定位存储数据的节点。
[0004] 这种方法可以实现通过数据键值存储路由,快速的查询和分配空间,但是由于存 储空间的分配直接与数据键值相关,必须依赖数据键值进行一致性哈希算法来随机挑选存 储节点,导致数据节点的负载和存储分配不均衡。

【发明内容】

[0005] 有鉴于此,本发明提供一种数据传输方法及装置,可以避免依赖数据键值进行随 机分配存储节点可能带来的负载不均的情况。
[0006] 本发明实施例提供一种数据传输方法,包括:分布式存储系统接收客户端发送的 数据以及所述数据的键值;根据各节点的负载情况为所述数据分配对应的节点、将所述数 据存储在对应的节点中;生成与所述数据对应的构造键值,所述构造键值中包括所述数据 的键值以及与所述数据对应的节点路由信息;以及将所述数据对应的构造键值返回所述客 户端。
[0007] 本发明实施例提供另一种数据传输方法,包括:客户端获取待传输的数据以及所 述数据的键值;将所述数据以及所述数据的键值发送给分布式存储系统,以使所述分布式 存储系统根据各节点的负载情况为所述数据分配对应的节点、将所述数据存储在对应的节 点中、并生成与所述数据对应的构造键值,所述构造键值中包括所述数据的键值以及与所 述数据对应的节点路由信息;以及接收所述分布式存储系统所返回的、与所述数据对应的 构造键值。
[0008] 本发明实施例提供一种数据传输装置,运行于分布式存储系统,包括:数据接收模 块,用于接收客户端发送的数据以及所述数据的键值;节点管理模块,用于根据各节点的负 载情况为所述数据分配对应的节点、将所述数据存储在对应的节点中;构造键值生成模块, 用于生成与所述数据对应的构造键值,所述构造键值中包括所述数据的键值以及与所述数 据对应的节点路由信息;以及数据返回模块,用于将所述数据对应的构造键值返回所述客 户端。
[0009] 本发明实施例提供另一种数据传输装置,应用于客户端,包括:数据获取模块,用 于获取待传输的数据以及所述数据的键值;数据发送模块,用于将所述数据以及所述数据 的键值发送给分布式存储系统,以使所述分布式存储系统根据各节点的负载情况为所述数 据分配对应的节点、将所述数据存储在对应的节点中、并生成与所述数据对应的构造键值, 所述构造键值中包括所述数据的键值以及与所述数据对应的节点路由信息;以及数据接收 模块,用于接收所述分布式存储系统所返回的、与所述数据对应的构造键值。
[0010] 本发明实施例提供的数据传输方法及装置,根据各节点的负载情况为客户端发送 的数据分配对应的节点,规避了现有技术中依赖数据键值进行存储分配的方式,从而避免 了因此导致的负载不均的问题;将实际存储所述数据的节点路由信息以及所述数据的键 值,主动构造在一个新的全局唯一的构造键值中,规避了现有技术中查询数据需要依赖数 据键值的问题,可以允许重复的数据键值存在,不用担心数据冲突,此外,由于构造键值为 结构化数据,因此可以向其中写入更多的数据信息,使客户端在不与分布式存储系统进行 通信的情况下就可以取得对应数据的一些属性;同时该构造键值也可以作为客户端后续读 取数据的凭证,构造键值中包含的节点路由信息可以保证存储系统可以快速定位数据的存 储位置,无需进行过多的查询。因此,本发明实施例提供的数据传输方法可以避免现有技术 中负载不均的问题,实现负载均衡的分配存储空间,同时又不会影响数据的快速访问。
[0011] 为让本发明的上述和其他目的、特征和优点能更明显易懂,下文特举较佳实施例, 并配合所附图式,作详细说明如下。
【附图说明】
[0012] 图1为本发明实施例提供的数据传输方法的具体应用环境。
[0013] 图2为一种可应用于本发明实施例的用户终端的结构框图。
[0014] 图3是一种可应用于本发明实施例的服务器的结构框图。
[0015] 图4为本发明实施例提供的一种数据传输方法的流程图。
[0016] 图5为本发明实施例提供的另一种数据传输方法的流程图。
[0017] 图6为图5中根据所述构造键值中的节点路由信息、由对应节点中读取数据的具 体流程图。
[0018] 图7为本发明实施例提供的再一种数据传输方法的流程图。
[0019] 图8为本发明实施例提供的又一种数据传输方法的流程图。
[0020] 图9为客户端向分布式存储系统上传数据时的流程示意图。
[0021] 图10为客户端由分布式存储系统下载数据时的流程示意图。
[0022] 图11为本发明实施例提供的一种数据传输装置的结构示意图。
[0023] 图12为本发明实施例提供的另一种数据传输装置的结构示意图。
[0024] 图13为本发明实施例提供的再一种数据传输装置的结构示意图。
[0025] 图14为本发明实施例提供的一种数据传输系统的结构示意图。
【具体实施方式】
[0026] 为更进一步阐述本发明为实现预定发明目的所采取的技术手段及功效,以下结合 附图及较佳实施例,对依据本发明的【具体实施方式】、结构、特征及其功效,详细说明如后。
[0027]本发明实施例所提供的数据传输方法可应用于实现客户端与分布式存储系统之 间的数据传输。请参照图1,图1为本发明实施例提供的数据传输方法的具体应用环境,包 括客户端10以及分布式存储系统20。客户端10与分布式存储系统20之间通过网络进行 数据传输,例如通过互联网、企业内部网、无线网络进行数据传输。
[0028] 其中,客户端10可以包括用户终端或服务器,分布式存储系统20可以包括多个进 行具体数据存储和/或处理的节点,其中节点是虚拟概念而非局限于实体,例如用户终端 或服务器等设备都可以作为一个节点。上述客户端以及分布式存储系统中的节点都具有存 储器和处理器,存储器可用于存储软件程序以及模块,如本发明实施例中的数据传输方法 及装置对应的程序指令/模块,处理器通过运行存储在存储器内的软件程序以及模块,从 而执行各种功能应用以及数据处理,即在上述的客户端或分布式存储系统的几点内实现数 据传输。
[0029] 用户终端具体可以包括智能手机、平板电脑、电子书阅读器、MP3播放器(Moving PictureExpertsGroupAudioLayerIII,动态影像专家压缩标准音频层面3)、 MP4(MovingPictureExpertsGroupAudioLayerIV,动态影像专家压缩标准音频层面 4) 播放器、膝上型便携计算机、车载终端等等。
[0030] 图2示出了一种可应用于本发明实施例中的用户终端的结构框图。如图2所示,用 户终端100包括存储器102、存储控制器104, 一个或多个(图中仅示出一个)处理器106、 外设接口 108、射频模块110、定位模块112、图像采集模块114、音频模块116、触控屏幕118 以及按键模块120。这些组件通过一条或多条通讯总线/信号线122相互通讯。
[0031] 可以理解,图2所示的结构仅为示意,用户终端100还可包括比图2中所示更多或 者更少的组件,或者具有与图2所示不同的配置。图2中所示的各组件可以采用硬件、软件 或其组合实现。
[0032] 存储器102可用于存储软件程序以及模块,如本发明实施例中的数据传输方法及 装置对应的程序指令/模块,处理器102通过运行存储在存储器104内的软件程序以及模 块,从而执行各种功能应用以及数据处理,如本发明实施例提供的数据传输方法。
[0033] 存储器102可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个 磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器102可进一步 包括相对于处理器106远程设置的存储器,这些远程存储器可以通过网络连接至用户终端 100。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。处 理器106以及其他可能的组件对存储器102的访问可在存储控制器104的控制下进行。
[0034] 外设接口 108将各种输入/输入装置耦合至CPU以及存储器102。处理器106运 行存储器102内的各种软件、指令以执行用户终端100的各种功能以及进行数据处理。
[0035] 在一些实施例中,外设接口 108,处理器106以及存储控制器104可以在单个芯片 中实现。在其他一些实例中,他们可以分别由独立的芯片实现。
[0036] 射频模块110用于接收以及发送电磁波,实现电磁波与电信号的相互转换,从而 与通讯网络或者其他设备进行通讯。射频模块110可包括各种现有的用于执行这些功能的 电路元件,例如,天线、射频收发器、数字信号处理器、加密/解密芯片、用户身份模块(SM) 卡、存储器等等。射频模块11
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1