CN106406757A - 数据存储方法及装置 - Google Patents
数据存储方法及装置 Download PDFInfo
- Publication number
- CN106406757A CN106406757A CN201610804848.9A CN201610804848A CN106406757A CN 106406757 A CN106406757 A CN 106406757A CN 201610804848 A CN201610804848 A CN 201610804848A CN 106406757 A CN106406757 A CN 106406757A
- Authority
- CN
- China
- Prior art keywords
- token
- data block
- data
- docker container
- stored
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/067—Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明实施例提供一种数据存储方法及装置。该方法包括:接收第一Docker容器发送的第一待存储数据;对第一待存储数据进行分块处理,获得多个第一目标数据块;给每个第一目标数据块分配一个令牌;接收第二Docker容器发送的第二待存储数据;对第二待存储数据进行分块处理,获得多个第二目标数据块;确定多个第二目标数据块与多个第一目标数据块的重复数据块;给多个第二目标数据块中除重复数据块之外的每个第二目标数据块分配一个令牌。本发明实施例各个Docker容器可将分配有令牌的分块数据同时发送给存储器,存储器根据不同的令牌,存储不同的分块数据,各个Docker容器无需排队等待存储器存储数据,提高了数据存储效率。
Description
技术领域
本发明实施例涉及通信技术领域,尤其涉及一种数据存储方法及装置。
背景技术
Docker是一个开源的应用容器引擎,在物理主机上安装Docker后,可在Docker的基础上承载多个容器,多个容器之间相互隔离,多个容器共享物理主机的操作系统,各容器可放置并执行不同的应用程序。
现有技术中,Docker引擎承载的每个Docker容器可能有数据产生,同时,Docker容器需要将其产生的数据存储到存储器,多个Docker容器可能会将各自的数据存储到同一个存储器中,此时,存储器一次只能允许一个Docker容器写数据,该Docker容器往存储器中写数据的时候,其他Docker容器等能排队等待。
可见,当需要往存储器中同时写数据的Docker容器较多时,势必造成Docker容器排队等待时间较长,导致数据存储效率低。
发明内容
本发明实施例提供一种数据存储方法及装置,以提高数据存储效率。
本发明实施例的一个方面是提供一种数据存储方法,包括:
接收第一Docker容器发送的第一待存储数据;
对所述第一待存储数据进行分块处理,获得多个第一目标数据块;
给每个第一目标数据块分配一个令牌,并将每个第一目标数据块对应的令牌发送给所述第一Docker容器,以使所述第一Docker容器根据所述令牌存储所述多个第一目标数据块;
接收第二Docker容器发送的第二待存储数据;
对所述第二待存储数据进行分块处理,获得多个第二目标数据块;
确定所述多个第二目标数据块与所述多个第一目标数据块的重复数据块;
给所述多个第二目标数据块中除所述重复数据块之外的每个第二目标数据块分配一个令牌,并将分配有令牌的第二目标数据块对应的令牌发送给所述第二Docker容器,以使所述第二Docker容器存储所述分配有令牌的第二目标数据块。
本发明实施例的另一个方面是提供一种数据存储装置,包括:
接收模块,用于接收第一Docker容器发送的第一待存储数据;接收第二Docker容器发送的第二待存储数据;
处理模块,用于对所述第一待存储数据进行分块处理,获得多个第一目标数据块;给每个第一目标数据块分配一个令牌;对所述第二待存储数据进行分块处理,获得多个第二目标数据块;确定所述多个第二目标数据块与所述多个第一目标数据块的重复数据块;给所述多个第二目标数据块中除所述重复数据块之外的每个第二目标数据块分配一个令牌;
发送模块,用于将每个第一目标数据块对应的令牌发送给所述第一Docker容器,以使所述第一Docker容器根据所述令牌存储所述多个第一目标数据块;将分配有令牌的第二目标数据块对应的令牌发送给所述第二Docker容器,以使所述第二Docker容器存储所述分配有令牌的第二目标数据块。
本发明实施例提供的数据存储方法及装置,当各个Docker容器同时有待存储的数据时,通过对各个Docker容器产生的待存储数据进行分块处理,给每个分块后的数据分配一个令牌,该令牌起到标识数据的作用,不同的分块数据对应不同的令牌,各个Docker容器可将分配有令牌的分块数据同时发送给存储器,存储器根据不同的令牌,存储不同的分块数据,各个Docker容器无需排队等待存储器存储数据,提高了数据存储效率。
附图说明
图1为本发明实施例提供的数据存储方法流程图;
图2为本发明实施例提供的数据存储方法适用的网络架构图;
图3为本发明另一实施例提供的数据存储方法流程图;
图4为本发明另一实施例提供的数据存储方法流程图;
图5为本发明实施例提供的数据存储装置的结构图;
图6为本发明另一实施例提供的数据存储装置的结构图。
具体实施方式
图1为本发明实施例提供的数据存储方法流程图;图2为本发明实施例提供的数据存储方法适用的网络架构图。本发明实施例针对现有技术中,当需要往存储器中同时写数据的Docker容器较多时,势必造成Docker容器排队等待时间较长,导致数据存储效率低,提供了数据存储方法,该方法具体步骤如下:
步骤S101、接收第一Docker容器发送的第一待存储数据。
如图2所示,Docker服务器11包括Docker容器1、Docker容器2、以及Docker引擎1,Docker服务器12包括Docker容器3、Docker容器4、以及Docker引擎2。Docker容器1、Docker容器2产生的数据可以通过Docker引擎1存储到主存储器14或备存储器15,Docker容器3、Docker容器4产生的数据可以通过Docker引擎2存储到主存储器14或备存储器15。
本实施例的执行主体是图2所示的服务器13,服务器13包括目标区块识别模块,当Docker容器1、Docker容器2、Docker容器3、Docker容器4产生待存储的数据时,将该待存储的数据发送给服务器13。假设服务器13接收到了Docker容器1发送的第一待存储数据。
步骤S102、对所述第一待存储数据进行分块处理,获得多个第一目标数据块。
服务器13中的目标区块识别模块对该第一待存储数据进行分块处理,具体可以按照预先设定的分块大小对该第一待存储数据进行分块处理,得到多个小的分块,每个小的分块记为第一目标数据块。
步骤S103、给每个第一目标数据块分配一个令牌,并将每个第一目标数据块对应的令牌发送给所述第一Docker容器,以使所述第一Docker容器根据所述令牌存储所述多个第一目标数据块。
服务器13中的目标区块识别模块给每个第一目标数据块分配一个令牌,服务器13将每个第一目标数据块对应的令牌发送给Docker容器1,Docker容器1可将令牌作为每个第一目标数据块的标识,并将每个第一目标数据块,以及每个第一目标数据块对应的令牌发送给主存储器14,主存储器14对每个令牌标识的第一目标数据块进行存储。
步骤S104、接收第二Docker容器发送的第二待存储数据。
另外,当Docker容器2、Docker容器3或Docker容器4产生待发送的数据时,服务器13还可以接收Docker容器2、Docker容器3或Docker容器4发送的第二待存储数据,服务器13可以同时接收Docker容器1、Docker容器2、Docker容器3或Docker容器4发送的数据,也可以分时接收。
假设服务器13在接收到Docker容器1发送的数据之后,接收到了Docker容器2发送的第二待存储数据。
步骤S105、对所述第二待存储数据进行分块处理,获得多个第二目标数据块。
服务器13中的目标区块识别模块对该第二待存储数据进行分块处理,具体可以按照预先设定的分块大小对该第二待存储数据进行分块处理,得到多个小的分块,每个小的分块记为第二目标数据块。
步骤S106、确定所述多个第二目标数据块与所述多个第一目标数据块的重复数据块。
由于Docker容器1和Docker容器2是同一个Docker服务器的Docker容器,Docker容器1和Docker容器2产生的数据可能相同,导致所述多个第二目标数据块与所述多个第一目标数据块有重复数据块,目标区块识别模块可以比对出所述多个第二目标数据块与所述多个第一目标数据块的重复数据块。
另外,目标区块识别模块还可以将重复数据块放入排队队列,Docker容器1中与排队队列重复的数据块存储到主存储器14之后,Docker容器1中的数据的令牌被释放,释放的令牌可以分配给排队队列中相应的数据块。
步骤S107、给所述多个第二目标数据块中除所述重复数据块之外的每个第二目标数据块分配一个令牌,并将分配有令牌的第二目标数据块对应的令牌发送给所述第二Docker容器,以使所述第二Docker容器存储所述分配有令牌的第二目标数据块。
目标区块识别模块给所述多个第二目标数据块中除所述重复数据块之外的每个第二目标数据块分配一个令牌,并将分配有令牌的第二目标数据块对应的令牌发送给Docker容器2,Docker容器2可将令牌作为第二目标数据块的标识,将分配有令牌的第二目标数据块,以及第二目标数据块的令牌发送给主存储器14,主存储器14对每个令牌标识的第二目标数据块进行存储。
本实施例中,当各个Docker容器同时有待存储的数据时,通过对各个Docker容器产生的待存储数据进行分块处理,给每个分块后的数据分配一个令牌,该令牌起到标识数据的作用,不同的分块数据对应不同的令牌,各个Docker容器可将分配有令牌的分块数据同时发送给存储器,存储器根据不同的令牌,存储不同的分块数据,各个Docker容器无需排队等待存储器存储数据,提高了数据存储效率。
图3为本发明另一实施例提供的数据存储方法流程图。在图1所示实施例的基础上,给所述多个第二目标数据块中除所述重复数据块之外的每个第二目标数据块分配一个令牌之后,还包括如下方法步骤:
步骤S301、接收存储器发送的已用令牌。
当主存储器14存储了第一目标数据块或第二目标数据块后,第一目标数据块或第二目标数据块对应的令牌可以释放,具体的,主存储器14将已用令牌发送给服务器13,服务器13将已用令牌转发给目标区块识别模块。
步骤S302、根据所述已用令牌对应的目标数据块,确定所述重复数据块中是否有与所述目标数据块相同的数据块。
目标区块识别模块接收到已用令牌后,确定出已用令牌对应的目标数据块,例如第一目标数据块或第二目标数据块,进一步确定步骤S106中重复数据块是否包括有与所述目标数据块相同的数据块。
步骤S303、若所述重复数据块中有与所述目标数据块相同的数据块,则将所述已用令牌分配给所述数据块。
若所述重复数据块中有与所述目标数据块相同的数据块,则目标区块识别模块将该已用令牌分配给所述数据块。
步骤S304、将所述已用令牌发送给所述数据块对应的Docker容器。
由于所述重复数据块是Docker容器2对应的第二目标数据块,目标区块识别模块将已用令牌发送给Docker容器2,Docker容器2根据该已用令牌将所述数据块发送给主存储器14。
本实施例中,当存储器存储数据后,将数据对应的令牌返回给目标区块识别模块,目标区块识别模块用存储器返回的令牌标记重复数据块中的数据,提高了令牌利用率。
图4为本发明另一实施例提供的数据存储方法流程图。在上述任一实施例的基础上,如图4所示,本实施例提供的数据存储方法还包括如下方法步骤:
步骤S401、在预设时间内检测所述存储器是否返回所述令牌。
另外,目标区块识别模块还可以记录发放出去的令牌是否在预设时间内被收回,即发放出去的令牌是否在预设时间内由主存储器14返回给了目标区块识别模块。
步骤S402、若在预设时间内所述存储器没有返回所述令牌,则将所述令牌分配给其他Docker容器。
假设某一令牌,从目标区块识别模块发放时刻开始,在预设时间内,主存储器14没有返回给目标区块识别模块,则目标区块识别模块将该令牌分配给其他Docker容器例如Docker容器3。
步骤S403、检测所述令牌的进程健康状态。
为了保证分配给Docker容器3的令牌正常执行数据存储过程,目标区块识别模块还可进一步检测该令牌的进程健康状态。
步骤S404、若所述进程健康状态表示所述令牌处于非正常状态,则给其他Docker容器分配一个新的令牌。
若所述进程健康状态表示所述令牌处于非正常状态,则目标区块识别模块给Docker容器3重新分配一个令牌。
步骤S405、调整所述预设分块大小。
进一步的,目标区块识别模块还可以调整预设分块大小,即调整对各个Docker容器发送的待存储数据的分块粒度。
本实施例中,通过检测每个令牌是否在预设时间内被收回,可将没有在预设时间内收回的令牌分配给其他Docker容器,并检测该令牌的进程健康状态,当该进程健康状态标识分配给其他Docker容器的令牌非正常状态时,给其他Docker容器分配一个新的令牌,保证了数据存储的正常执行,同时还可以调整预设分块大小,即可根据丢失的令牌数量,调整对各个Docker容器发送的待存储数据的分块粒度,提高了分块粒度的灵活性。
图5为本发明实施例提供的数据存储装置的结构图。本发明实施例提供的数据存储装置可以执行数据存储方法实施例提供的处理流程,如图5所示,数据存储装置包括接收模块51、处理模块52和发送模块53,其中,接收模块51用于接收第一Docker容器发送的第一待存储数据;接收第二Docker容器发送的第二待存储数据;处理模块52用于对所述第一待存储数据进行分块处理,获得多个第一目标数据块;给每个第一目标数据块分配一个令牌;对所述第二待存储数据进行分块处理,获得多个第二目标数据块;确定所述多个第二目标数据块与所述多个第一目标数据块的重复数据块;给所述多个第二目标数据块中除所述重复数据块之外的每个第二目标数据块分配一个令牌;发送模块53用于将每个第一目标数据块对应的令牌发送给所述第一Docker容器,以使所述第一Docker容器根据所述令牌存储所述多个第一目标数据块;将分配有令牌的第二目标数据块对应的令牌发送给所述第二Docker容器,以使所述第二Docker容器存储所述分配有令牌的第二目标数据块。
本实施例中,当各个Docker容器同时有待存储的数据时,通过对各个Docker容器产生的待存储数据进行分块处理,给每个分块后的数据分配一个令牌,该令牌起到标识数据的作用,不同的分块数据对应不同的令牌,各个Docker容器可将分配有令牌的分块数据同时发送给存储器,存储器根据不同的令牌,存储不同的分块数据,各个Docker容器无需排队等待存储器存储数据,提高了数据存储效率。
图6为本发明另一实施例提供的数据存储装置的结构图。如图6所示,在图5的基础上,接收模块51还用于接收存储器发送的已用令牌;处理模块52还用于根据所述已用令牌对应的目标数据块,确定所述重复数据块中是否有与所述目标数据块相同的数据块;若所述重复数据块中有与所述目标数据块相同的数据块,则将所述已用令牌分配给所述数据块;发送模块53还用于将所述已用令牌发送给所述数据块对应的Docker容器。
处理模块52具体用于根据预设分块大小,对所述第一待存储数据进行分块处理;根据预设分块大小,对所述第二待存储数据进行分块处理。
数据存储装置还包括检测模块54,检测模块54用于在预设时间内检测所述存储器是否返回所述令牌;处理模块52还用于若在预设时间内所述存储器没有返回所述令牌,则将所述令牌分配给其他Docker容器。
进一步的,检测模块54还用于检测所述令牌的进程健康状态;处理模块52还用于若所述进程健康状态表示所述令牌处于非正常状态,则给其他Docker容器分配一个新的令牌;调整所述预设分块大小。
本发明实施例提供的数据存储装置可以具体用于执行上述图3或图4所提供的方法实施例,具体功能此处不再赘述。
本实施例中,当存储器存储数据后,将数据对应的令牌返回给目标区块识别模块,目标区块识别模块用存储器返回的令牌标记重复数据块中的数据,提高了令牌利用率;通过检测每个令牌是否在预设时间内被收回,可将没有在预设时间内收回的令牌分配给其他Docker容器,并检测该令牌的进程健康状态,当该进程健康状态标识分配给其他Docker容器的令牌非正常状态时,给其他Docker容器分配一个新的令牌,保证了数据存储的正常执行,同时还可以调整预设分块大小,即可根据丢失的令牌数量,调整对各个Docker容器发送的待存储数据的分块粒度,提高了分块粒度的灵活性。
综上所述,本发明实施例当各个Docker容器同时有待存储的数据时,通过对各个Docker容器产生的待存储数据进行分块处理,给每个分块后的数据分配一个令牌,该令牌起到标识数据的作用,不同的分块数据对应不同的令牌,各个Docker容器可将分配有令牌的分块数据同时发送给存储器,存储器根据不同的令牌,存储不同的分块数据,各个Docker容器无需排队等待存储器存储数据,提高了数据存储效率;当存储器存储数据后,将数据对应的令牌返回给目标区块识别模块,目标区块识别模块用存储器返回的令牌标记重复数据块中的数据,提高了令牌利用率;通过检测每个令牌是否在预设时间内被收回,可将没有在预设时间内收回的令牌分配给其他Docker容器,并检测该令牌的进程健康状态,当该进程健康状态标识分配给其他Docker容器的令牌非正常状态时,给其他Docker容器分配一个新的令牌,保证了数据存储的正常执行,同时还可以调整预设分块大小,即可根据丢失的令牌数量,调整对各个Docker容器发送的待存储数据的分块粒度,提高了分块粒度的灵活性。
在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
本领域技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。上述描述的装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (10)
1.一种数据存储方法,其特征在于,包括:
接收第一Docker容器发送的第一待存储数据;
对所述第一待存储数据进行分块处理,获得多个第一目标数据块;
给每个第一目标数据块分配一个令牌,并将每个第一目标数据块对应的令牌发送给所述第一Docker容器,以使所述第一Docker容器根据所述令牌存储所述多个第一目标数据块;
接收第二Docker容器发送的第二待存储数据;
对所述第二待存储数据进行分块处理,获得多个第二目标数据块;
确定所述多个第二目标数据块与所述多个第一目标数据块的重复数据块;
给所述多个第二目标数据块中除所述重复数据块之外的每个第二目标数据块分配一个令牌,并将分配有令牌的第二目标数据块对应的令牌发送给所述第二Docker容器,以使所述第二Docker容器存储所述分配有令牌的第二目标数据块。
2.根据权利要求1所述的方法,其特征在于,所述给所述多个第二目标数据块中除所述重复数据块之外的每个第二目标数据块分配一个令牌之后,还包括:
接收存储器发送的已用令牌;
根据所述已用令牌对应的目标数据块,确定所述重复数据块中是否有与所述目标数据块相同的数据块;
若所述重复数据块中有与所述目标数据块相同的数据块,则将所述已用令牌分配给所述数据块;
将所述已用令牌发送给所述数据块对应的Docker容器。
3.根据权利要求2所述的方法,其特征在于,所述对所述第一待存储数据进行分块处理,包括:
根据预设分块大小,对所述第一待存储数据进行分块处理;
相应的,所述对所述第二待存储数据进行分块处理,包括:
根据预设分块大小,对所述第二待存储数据进行分块处理。
4.根据权利要求3所述的方法,其特征在于,还包括:
在预设时间内检测所述存储器是否返回所述令牌;
若在预设时间内所述存储器没有返回所述令牌,则将所述令牌分配给其他Docker容器。
5.根据权利要求4所述的方法,其特征在于,所述将所述令牌分配给其他Docker容器之后,还包括:
检测所述令牌的进程健康状态;
若所述进程健康状态表示所述令牌处于非正常状态,则给其他Docker容器分配一个新的令牌;
调整所述预设分块大小。
6.一种数据存储装置,其特征在于,包括:
接收模块,用于接收第一Docker容器发送的第一待存储数据;接收第二Docker容器发送的第二待存储数据;
处理模块,用于对所述第一待存储数据进行分块处理,获得多个第一目标数据块;给每个第一目标数据块分配一个令牌;对所述第二待存储数据进行分块处理,获得多个第二目标数据块;确定所述多个第二目标数据块与所述多个第一目标数据块的重复数据块;给所述多个第二目标数据块中除所述重复数据块之外的每个第二目标数据块分配一个令牌;
发送模块,用于将每个第一目标数据块对应的令牌发送给所述第一Docker容器,以使所述第一Docker容器根据所述令牌存储所述多个第一目标数据块;将分配有令牌的第二目标数据块对应的令牌发送给所述第二Docker容器,以使所述第二Docker容器存储所述分配有令牌的第二目标数据块。
7.根据权利要求6所述的数据存储装置,其特征在于,所述接收模块还用于接收存储器发送的已用令牌;
所述处理模块还用于根据所述已用令牌对应的目标数据块,确定所述重复数据块中是否有与所述目标数据块相同的数据块;若所述重复数据块中有与所述目标数据块相同的数据块,则将所述已用令牌分配给所述数据块;
所述发送模块还用于将所述已用令牌发送给所述数据块对应的Docker容器。
8.根据权利要求7所述的数据存储装置,其特征在于,所述处理模块具体用于根据预设分块大小,对所述第一待存储数据进行分块处理;根据预设分块大小,对所述第二待存储数据进行分块处理。
9.根据权利要求8所述的数据存储装置,其特征在于,还包括:
检测模块,用于在预设时间内检测所述存储器是否返回所述令牌;
所述处理模块还用于若在预设时间内所述存储器没有返回所述令牌,则将所述令牌分配给其他Docker容器。
10.根据权利要求9所述的数据存储装置,其特征在于,所述检测模块还用于检测所述令牌的进程健康状态;
所述处理模块还用于若所述进程健康状态表示所述令牌处于非正常状态,则给其他Docker容器分配一个新的令牌;调整所述预设分块大小。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610804848.9A CN106406757B (zh) | 2016-09-05 | 数据存储方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610804848.9A CN106406757B (zh) | 2016-09-05 | 数据存储方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106406757A true CN106406757A (zh) | 2017-02-15 |
CN106406757B CN106406757B (zh) | 2019-07-16 |
Family
ID=
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020169934A1 (en) * | 2001-03-23 | 2002-11-14 | Oliver Krapp | Methods and systems for eliminating data redundancies |
CN101216791A (zh) * | 2008-01-04 | 2008-07-09 | 华中科技大学 | 基于指纹的文件备份方法 |
CN101916171A (zh) * | 2010-07-16 | 2010-12-15 | 中国科学院计算技术研究所 | 一种并发层次式的重复数据消除方法和系统 |
CN102073560A (zh) * | 2011-01-17 | 2011-05-25 | 北京深思洛克软件技术股份有限公司 | 一种数据备份方法和装置 |
CN103959259A (zh) * | 2012-11-20 | 2014-07-30 | 华为技术有限公司 | 数据存储方法、数据存储装置及数据存储系统 |
CN104636286A (zh) * | 2015-02-06 | 2015-05-20 | 华为技术有限公司 | 用于数据访问的方法和设备 |
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020169934A1 (en) * | 2001-03-23 | 2002-11-14 | Oliver Krapp | Methods and systems for eliminating data redundancies |
CN101216791A (zh) * | 2008-01-04 | 2008-07-09 | 华中科技大学 | 基于指纹的文件备份方法 |
CN101916171A (zh) * | 2010-07-16 | 2010-12-15 | 中国科学院计算技术研究所 | 一种并发层次式的重复数据消除方法和系统 |
CN102073560A (zh) * | 2011-01-17 | 2011-05-25 | 北京深思洛克软件技术股份有限公司 | 一种数据备份方法和装置 |
CN103959259A (zh) * | 2012-11-20 | 2014-07-30 | 华为技术有限公司 | 数据存储方法、数据存储装置及数据存储系统 |
CN104636286A (zh) * | 2015-02-06 | 2015-05-20 | 华为技术有限公司 | 用于数据访问的方法和设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8316373B2 (en) | Concurrent data processing and electronic bookkeeping | |
CN105072182A (zh) | 一种负载均衡方法、负载均衡器和用户终端 | |
CN104461768B (zh) | 副本存储装置及副本存储方法 | |
CN105260128B (zh) | 一种将数据写入存储设备的方法及存储设备 | |
CN103392165B (zh) | 存储系统 | |
CN103377092A (zh) | 用于动态资源管理的两级动态资源管理方法和装置 | |
WO2006138178A3 (en) | Secure storage management system and method | |
CN107766153A (zh) | 一种内存管理方法及装置 | |
CN110389843A (zh) | 一种业务调度方法、装置、设备及可读存储介质 | |
CN107577534A (zh) | 一种资源调度方法及装置 | |
CN105447296A (zh) | 扑克牌牌型序列和牌序序列的数据处理系统、装置和方法 | |
CN108874683A (zh) | 固态存储设备的垃圾回收的方法以及计算机设备 | |
CN109784804A (zh) | 一种煤矿发运管理方法、装置和存储介质 | |
CN103309812A (zh) | 一种智能卡内存空间的分配方法及装置 | |
CN106169994A (zh) | 容器间通信的安全控制方法及装置 | |
CN104683486B (zh) | 分布式系统中处理同步消息的方法、装置、分布式系统 | |
CN106873903A (zh) | 数据存储方法及装置 | |
CN107295117B (zh) | 一种地址池的分配方法及装置 | |
CN104881241A (zh) | 交换操作的实现方法和装置 | |
CN107277022A (zh) | 进程标记方法及装置 | |
CN107704322A (zh) | 请求分配方法及装置 | |
CN104572483B (zh) | 动态内存管理装置及方法 | |
CN105808345B (zh) | 数据处理方法、加速引擎、控制板和系统 | |
CN106406757A (zh) | 数据存储方法及装置 | |
CN104750425B (zh) | 一种存储系统及其非易失性存储器的控制方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |