CN103067519A - 一种异构平台下数据分布存储的方法及装置 - Google Patents

一种异构平台下数据分布存储的方法及装置 Download PDF

Info

Publication number
CN103067519A
CN103067519A CN2013100012682A CN201310001268A CN103067519A CN 103067519 A CN103067519 A CN 103067519A CN 2013100012682 A CN2013100012682 A CN 2013100012682A CN 201310001268 A CN201310001268 A CN 201310001268A CN 103067519 A CN103067519 A CN 103067519A
Authority
CN
China
Prior art keywords
data
byte
split
blocks
server
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
Application number
CN2013100012682A
Other languages
English (en)
Other versions
CN103067519B (zh
Inventor
张伟
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen Guangdao Digital Technology Co.,Ltd.
Original Assignee
Shenzhen Guangdao High Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shenzhen Guangdao High Technology Co Ltd filed Critical Shenzhen Guangdao High Technology Co Ltd
Priority to CN201310001268.2A priority Critical patent/CN103067519B/zh
Publication of CN103067519A publication Critical patent/CN103067519A/zh
Application granted granted Critical
Publication of CN103067519B publication Critical patent/CN103067519B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明涉及一种异构平台下数据分布存储的方法及装置,其方法包括如下步骤:客户端向服务器端发送请求,并通过服务器端验证后将元数据传送给第一服务器;第一服务器创建或更新本地数据库中的元信息;客户端上传第一数据,第一服务器接收第一数据并将其拆分成多个块数据后分别保存到本地多个服务器中;读取多个块数据,并将每一个块数据按设定字节数拆分成多个第二数据;分别将第二数据的每一个字节按设定位数拆分成多个第三数据,将每一个字节对应位置的第三数据依次连接得到多个第四数据,并将多个第四数据分别存储到多个存储设备中。实施本发明的异构平台下数据分布存储的方法及装置,具有以下有益效果:数据较安全、运算简单、处理速度较快。

Description

一种异构平台下数据分布存储的方法及装置
技术领域
本发明涉及数据存储领域,更具体地说,涉及一种异构平台下数据分布存储的方法及装置。
背景技术
随着计算机技术的飞速发展和信息化的逐步深入,数据急剧增长并推动存储行业快速发展,越来越多不同架构的存储设备需要协同工作,越来越多不同部门的存储设备需要共享数据,但如何实现跨部门间的数据分布式存储和管理成为难点。所谓数据保护就是在多部门异构存储平台上保存数据,但目前无论是否有权限,各部门都可以看到保存在本地的数据,这样可能会导致数据被篡改或泄露,造成不安全。
为了满足迅速增长的数据处理需求,Google提出了Google文件***(Google File System ,简写GFS),GFS架构如图1所示。GFS与传统的分布式文件***有着很多相同的设计目标,比如:性能、可伸缩性、可靠性以及可用性。另外,GFS将组件失效认为是常态事件,而不是意外事件。GFS包括几百甚至几千台普通的廉价设备组装的存储机器,同时被相当数量的客户机访问。GFS组件的数量和质量导致在任何给定时间内都有可能发生某些组件无法工作,且无法从它们目前的失效状态中恢复。例如:应用程序bug、操作***的bug、人为失误,甚至还有硬盘、内存、连接器、网络以及电源失效等问题。所以,持续监控、错误侦测、灾难冗余以及自动恢复的机制必须集成在GFS中。 
以通常的标准衡量,Google文件非常巨大,数GB的文件非常普遍。每个文件通常都包含许多应用程序对象,比如web文档。当需要处理快速增长的、并且由数亿个对象构成的数TB的数据集时,采用管理数亿个KB大小的小文件的方式是非常不明智的,尽管有些文件***支持这样的管理方式。因此,设计的假设条件和参数,比如I/O操作和Block(块)的尺寸都需要重新考虑。
GFS中绝大部分文件的修改是采用在文件尾部追加数据,而不是覆盖原有数据的方式,对文件的随机写入操作几乎不存在,一旦写完之后,对文件的操作就只有读,而且通常是按顺序读。大量的数据符合上述特性,例如:数据分析程序扫描的超大的数据集;正在运行的应用程序生成的连续的数据流;存档的数据;由一台机器生成、另外一台机器处理的中间数据,这些中间数据的处理可能是同时进行的、也可能是后续才处理的。对于这种针对海量文件的访问模式,客户端对数据块缓存是没有意义的,数据的追加操作是性能优化和原子性保证的主要考虑因素。 
应用程序和文件***API(Application Programming Interface,应用程序编程接口)的协同设计提高了整个***的灵活性。比如,放松了对GFS一致性模型的要求,这样就减轻了文件***对应用程序的苛刻要求,大大简化了GFS的设计。GFS引入了原子性的记录追加操作,从而保证多个客户端能够同时进行追加操作,不需要额外的同步操作来保证数据的一致性。
GFS实现数据在大量廉价机器进行分布式存储,但是在GFS架构下,数据对全部机器都是可见的,不区分权限,其造成不安全,因此,该方案无法满足不同部门之间的数据共享要求。
Bluesky(蓝天)主要探讨一种方法桥接云和本地应用作为一个网络文件服务,它所关注的是用云服务替代传统网络文件服务,基于代理的解决方案,将请求转换成在互联网上相应的云存储API调用。基于云的存储服务可以提供本地文件***功能,同时累积了由第三方服务所带来可扩展性和成本方面的好处,Bluesky的架构如图2所示。由图2可见,其架构思想是:在前端向客户端提供NFS(Network File System,网络文件***)和CIFS(Common Internet File System,通用Internet文件***)标准接口,客户端可以通过这两种标准接口上传下载文件。本地磁盘作为一个缓存,只缓存一部分数据,根据某一策略对数据进行换进换出。接着通过调用公有云存储平台接口进行数据存储,但在上传数据之前需要对数据加密,以确保数据的安全。Bluesky***中有一个Clearner,它的主要作用是垃圾回收,可作用于作为缓存的本地磁盘上,也可以作用于云存储平台中,但由于云平台中的数据是加密的,无法识别数据是否需要让Clearner进行清除,所以只能对部分数据进行加密或Clearner需要带着密钥进行工作,影响数据的安全。
Bluesky解决了直接使用公有云存储平台因带宽限制而产生的长时间延迟问题,一定程度上弥补了公有云存储平台的安全问题。其缺点主要是:首先,Bluesky因为本地只缓存部分数据而无法进行重复数据删除,上传到公有云存储平台中的数据量较大,增加上传时间;其次,由于本地采用了日志结构的文件***管理和存储数据,数据管理不方便,数据量较大;最后,采用加密的方式保护数据会大大增加计算复杂度和预处理时间。
发明内容
本发明要解决的技术问题在于,针对现有技术的上述数据不安全、运算复杂、处理速度慢的缺陷,提供一种数据较安全、运算简单、处理速度较快的异构平台下数据分布存储的方法及装置。
本发明解决其技术问题所采用的技术方案是:构造一种异构平台下数据分布存储的方法,包括如下步骤:
A)客户端向服务器端发送请求,并通过所述服务器端验证后将元数据传送给第一服务器;
B)所述第一服务器依据所述元数据创建或更新本地数据库中的元信息;
C)所述客户端上传第一数据,所述第一服务器接收所述第一数据并将其拆分成多个块数据后分别保存到本地多个服务器中;
D)读取所述多个块数据,并将所述每一个块数据按设定字节数拆分成多个第二数据;
E)分别将所述第二数据的每一个字节的数据按设定位数拆分成多个第三数据,将所述每一个字节对应位置的第三数据依次连接得到多个第四数据,并将所述多个第四数据分别存储到多个存储设备中。 
在本发明所述的异构平台下数据分布存储的方法中,所述步骤D)进一步包括:
D1)获取所述块数据的首地址,并判断所述块数据是否可读,如是,执行步骤D2);否则,退出本次操作;
D2)从所述首地址开始依次读取所述块数据,并将所述每一个块数据按所述设定字节数拆分成多个第二数据。 
在本发明所述的异构平台下数据分布存储的方法中,所述设定字节数为四个字节。
在本发明所述的异构平台下数据分布存储的方法中,所述步骤E)进一步包括:
E1)分别将所述第二数据的每一个字节的数据按设定位数拆分成多个第三数据;
E2)分别依次将所述每一个字节中对应位置的第三数据保持不变,将其余位置的第三数据清零;
E3)分别将所述对应位置的第三数据所在的字节数据进行相应位数的左移或右移后并进行叠加得到多个第四数据;
E4)将所述多个第四数据分别存储到预先设定的多个存储设备中。
在本发明所述的异构平台下数据分布存储的方法中,所述设定位数为一位或两位或四位。
本发明还涉及一种实现上述异构平台下数据分布存储的方法的装置,包括:
请求及数据传送模块:用于使客户端向服务器端发送请求,并通过所述服务器端验证后将元数据传送给第一服务器;
信息创建更新模块:用于使所述第一服务器依据所述元数据创建或更新本地数据库中的元信息;
数据上传及保存模块:用于使所述客户端上传第一数据,所述第一服务器接收所述第一数据并将其拆分成多个块数据后分别保存到本地多个服务器中;
数据读取及拆分模块:用于读取所述多个块数据,并将所述每一个块数据按字节拆分成多个第二数据;
数据拆分及存储模块:用于分别将所述第二数据的每一个字节的数据按设定位数拆分成多个第三数据,将所述每一个字节对应位置的第三数据依次连接得到多个第四数据,并将所述多个第四数据分别存储到多个存储设备中。
在本发明所述的实现上述异构平台下数据分布存储的方法的装置,所述数据读取及拆分模块进一步包括:
地址获取及判断单元:用于获取所述块数据的首地址,并判断所述块数据是否可读,并在不可读时退出本次操作;
块数据读取及拆分单元:用于从所述首地址开始依次读取所述块数据,并将所述每一个块数据按所述设定字节数拆分成多个第二数据。
在本发明所述的实现上述异构平台下数据分布存储的方法的装置,所述设定字节数为四个字节。
在本发明所述的实现上述异构平台下数据分布存储的方法的装置,所述数据拆分及存储模块进一步包括:
位拆分单元:用于分别将所述第二数据的每一个字节的数据按设定位数拆分成多个第三数据;
数据清零单元:用于分别依次将所述每一个字节中对应位置的第三数据保持不变,将其余位置的第三数据清零;
数据移位叠加单元:用于分别将所述对应位置的第三数据所在的字节数据进行相应位数的左移或右移后并进行叠加得到多个第四数据;
分布存储单元:用于将所述多个第四数据分别存储到预先设定的多个存储设备中。
在本发明所述的实现上述异构平台下数据分布存储的方法的装置,所述设定位数为一位或两位或四位。
实施本发明的异构平台下数据分布存储的方法及装置,具有以下有益效果: 由于第一服务器接收第一数据后将其拆分成多个块数据,并将多个块数据分别保存到本地多个服务器中;然后读取多个块数据,并将每一个块数据按设定字节数拆分成多个第二数据;再分别将第二数据的每一个字节的数据按设定位数拆分成多个第三数据,将每一个字节对应位置的第三数据依次连接得到多个第四数据,不需要运算复杂的加密和解密,所以运算简单、处理速度较快;由于将多个第四数据分别存储到多个存储设备(多个异构平台下的存储设备)中,即每个存储设备只保存一部分数据信息(经过位拆分并重组的数据),无法还原出正常数据,所以数据较安全。
附图说明
图1是背景技术中GFS的架构图; 
图2是背景技术中Bluesky的架构图;
图3是本发明异构平台下数据分布存储的方法及装置实施例中方法的流程图;
图4是所述实施例中块数据拆分成第二数据的具体流程图;
图5是所述实施例中将第二数据进行拆分并重组后分别进行存储的具体流程图;
图6是所述实施例中第二数据按四位进行拆分的示意图;
图7是所述实施例中第二数据按两位进行拆分的示意图;
图8是所述实施例中装置的结构示意图;
图9是所述实施例中异构平台下数据分布存储的***整体架构图;
图10是不同大小文件的加密时间和本发明中位拆分时间的测试结果对比图。
具体实施方式
为了便于本领域的普通技术人员能够理解并实施本发明,下面将结合附图对本发明实施例作进一步说明。
在本发明异构平台下数据分布存储的方法及装置实施例中,其方法的流程图如图3所示。图3中,该方法包括:
步骤S01 客户端向服务器端发送请求,并通过所述服务器端验证后将元数据传送给第一服务器:本步骤中,客户端向服务器端发送请求(上传数据或下载数据的请求)后,并通过服务器端验证身份后,将将元数据传送给第一服务器,本实施例中,第一服务器为元数据服务器。值得一提的是,本实施例中,元数据为是描述数据及其环境的数据,换句话说,元数据就是数据的属性信息即数据的配置信息,例如:数据分成几块、数据的大小和数据存储的位置等信息。值得一提的是,上述服务器端(本地服务器端)包括第一服务器。
步骤S02 第一服务器依据元数据创建或更新本地数据库中的元信息:本步骤中,第一服务器依据上述元数据创建或更新本地数据库中的元信息,也即更新数据的属性信息,例如:待处理文件的大小或文件名等信息。
步骤S03客户端上传第一数据,第一服务器接收第一数据并将其拆分成多个块数据后分别保存到本地多个服务器中:本步骤中,客户端上传第一数据,第一服务器接收第一数据并对其进行处理,具体就是将第一数据进行拆分成多个块数据,再将上述多个块数据分别保存到本地多个服务器中(具体是本地服务器集群的存储单元中)。值得一提的是,本实施例中的第一数据的数据量较大,如果只用一个服务器来存储的话,负担较大,有时甚至一个服务器的存储空间可不足以存储数据,不能满足对大存储空间的需要,为了减小***负担,本实施例中,将第一数据分散保存到多个服务器中(即本地服务器集群中)。
步骤S04 读取多个块数据,并将每一个块数据按设定字节数拆分成多个第二数据:由于块数据的数据量较大,为了后续进行数据拆分的方便,本步骤中,从上述存储单元中读取上述多个块数据,并将每一个块数据按设定字节数拆分成多个第二数据,将数据量较大的块数据拆分成数据量较小的多个第二数据,这样可使运算简单,减少处理时间。值得一提的是,本实施例中,上述设定字节数为四个字节,这时计算较方便,处理时间也较短。当然,在本实施例的另外一些情况下,设定字节数可进行相应调整,例如:设定字节数为两个字节或其他字节数。
步骤S05分别将第二数据的每一个字节的数据按设定位数拆分成多个第三数据,将每一个字节对应位置的第三数据依次连接得到多个第四数据,并将多个第四数据分别存储到多个存储设备中:本步骤中,具体来讲,就是将第二数据四个字节中每一个字节的数据按设定位数拆分成多个第三数据,上述设定位数为一位或两位或四位,例如:当设定位数为一位时,每一个字节的数据可拆分成八个第三数据;当设定位数为两位时,每一个字节的数据可拆分成四个第三数据;当设定位数为四位时,每一个字节的数据可拆分成两个第三数据。然后将每一个字节(即第二数据的每一个字节)中对应位置的第三数据按所在字节的先后顺序依次连接得到多个第四数据,并将多个第四数据分别存储到多个异构平台下的存储设备中,每个存储设备中存储的是局部数据,且是原始数据经过拆分后的,不经授权无法看到真实数据,这样可保证数据的安全性。此外,该方法不需要加密和解密,消除了加密和解密的复杂性,使运算较为简单,减少了处理的时间,处理速度较快。
对于本实施例而言,上述步骤S04可进一步细化,其具体流程图如图4所示,图4中,步骤S04进一步包括:
步骤S401获取块数据的首地址,并判断块数据是否可读:本步骤中,具体就是获取上述多个块数据的首地址,也即存储上述多个块数据的存储单元的首地址,并判断块数据是否可读,也就是块数据是否已准备好可供读取;换句话说,其表现形式就是获取将要进行位拆分的数据句柄(一个数据句柄是一个四字节长的数值),并判断数据句柄是否正确,如果判断的结果为是,则执行步骤S403;如果判断的结果为否,则执行步骤S402。
步骤S402退出本次操作:如果上述步骤S401的判断结果为否,则执行本步骤。本步骤中,退出本次操作。
步骤S403从首地址开始依次读取块数据,并将每一个块数据按设定字节数拆分成多个第二数据:如果上述步骤S401的判断结果为是,则执行本步骤。本步骤中,从首地址开始依次读取块数据,也就是从存储块数据的第一个存储单元开始依次读取块数据(也可以是从数据句柄开始读取字符),并将块数据按设定字节数拆分成多个第二数据,本步骤中,在读取块数据时,当然有判断的过程,具体就是判断块数据是否读取完毕,也就是判断存储块数据的所有存储单元中的数据是否全部被读取,或者说不停地判断是否读取到最后一个存储单元。本实施例中,将块数据按四个字节拆分成多个第二数据,也就是每一个第二数据的长度都是四个字节。当块数据按四个字节进行拆分时,可使后续的位拆分及重组(合并)操作处理速度较快,运算简单。当然,在本实施例的另外一些情况下,每一个块数据也可按其他字节数进行拆分。
对于本实施例而言,上述步骤S05可进一步细化,其具体流程图如图5所示,图5中,步骤S05进一步包括:
步骤S501分别将第二数据的每一个字节的数据按设定位数拆分成多个第三数据:本步骤中,具体来讲,就是将第二数据四个字节中每一个字节的数据按设定位数拆分成多个第三数据,上述设定位数为一位或两位或四位,例如:当设定位数为一位时,每一个字节的数据可拆分成八个第三数据;当设定位数为两位时,每一个字节的数据可拆分成四个第三数据;当设定位数为四位时,每一个字节的数据可拆分成两个第三数据。当然,在本实施例的另外一些情况下,设定位数根据实际需要可进行相应调整。
步骤S502分别依次将每一个字节中对应位置的第三数据保持不变,将其余位置的第三数据清零:本实施例中,因为要将每一个字节中对应位置的第三数据进行拼接,具体来讲,就是分别将第二数据四个字节中每一个字节拆分后的对应位置的第三数据进行拼接,当第二数据的每一个字节的数据按四位进行拆分时,每一个字节的数据可拆分成第一个第三数据和第二个第三数据,也就是将第二数据的第一个字节、第二个字节、第三个字节和第四个字节中的第一个第三数据按原顺序依次连接,并将第二数据的第一个字节、第二个字节、第三个字节和第四个字节中的第二个第三数据按原顺序依次连接,上述拼接或连接的操作也可叫合并操作,经过合并后,可得到两组16位的数据。在本实施例中,上述合并操作是通过移位及叠加得到的。本步骤中,分别依次将每一个字节中对应位置的第三数据保持不变,将其余位置的第三数据清零,例如:当要将第二数据的第一个字节、第二个字节、第三个字节和第四个字节中的第一个第三数据按原顺序依次连接时,首先使第二数据的第一个字节、第二个字节、第三个字节和第四个字节中的第一个第三数据保持不变,将第二数据的第一个字节、第二个字节、第三个字节和第四个字节中的第二个第三数据所在的位清零;当要将第二数据的第一个字节、第二个字节、第三个字节和第四个字节中的第二个第三数据按原顺序依次连接时,首先使第二数据的第一个字节、第二个字节、第三个字节和第四个字节中的第二个第三数据保持不变,将第二数据的第一个字节、第二个字节、第三个字节和第四个字节中的第一个第三数据所在的位清零。
步骤S503分别将对应位置的第三数据所在的字节数据进行相应位数的左移或右移后并进行叠加得到多个第四数据:为了方便理解,以上述按四位拆分为例来描述此步骤,将第二个字节的数据(本字节内第一个第三数据不变,其他位清零后的数据)右移四位后与第一个字节的数据进行叠加得到第一部分数据;将第四个字节的数据(本字节内第一个第三数据不变,其他位清零后的数据)右移四位后与第三个字节的数据进行叠加得到第二部分数据。第一部分数据和第二部分数据构成第一个第四数据,这里的第四数据为16位数据。将第一个字节的数据(本字节内第二个第三数据不变,其他位清零后的数据)左移四位后与第二个字节的数据进行叠加得到第三部分数据;将第三个字节的数据(本字节内第二个第三数据不变,其他位清零)左移四位后与第四个字节的数据进行叠加得到第四部分数据,第三部分数据与第四部分数据构成第二个第四数据。图6是本实施例中将第二数据的每一个字节按四位进行拆分并拼接(合并或重组)的示意图。
步骤S504将多个第四数据分别存储到预先设定的多个存储设备中:本步骤中,将多个第四数据分别存储到预先设定的多个存储设备中,例如:将上述第一个第四数据存储到一个存储设备中,将第二个第四数据存储到另一个存储设备中,也就是每个字节的数据按四位进行拆分,即把全部数据中每个字节的前四位合成第一个第四数据保存在一个存储平台上,后四位合成第二个第四数据保存在另外一个存储平台上。值得一提的是,本实施例中的多个存储设备是异构平台下的存储设备。用户只能看到部分数据,而且看到的是真实数据经过拆分后的数据,没有经过授权,是不能看到真实数据的,这样可保证数据的安全性。
图7是本实施例中将第二数据的每一个字节按两位进行拆分并拼接(合并或重组)的示意图,以第二数据的第一个字节(0字节)、第二个字节(1字节)、第三个字节(2字节)和第四个字节(3字节)的第一个第三数据进行拼接为例,分别将第二数据的第一个字节(0字节)、第二个字节(1字节)、第三个字节(2字节)和第四个字节(3字节)的第一个第三数据“01”、“00”、“00”和“10”保持不变,将本字节内其余位清零,也即第二数据的第一个字节(0字节)、第二个字节(1字节)、第三个字节(2字节)和第四个字节(3字节)的数据分别变成“0100 0000”、“0000 0000”、“0000 0000”和“1000 0000”,然后分别将“0000 0000”、“0000 0000”和“1000 0000”依次右移两位、四位和六位后与第一个字节的数据进行累加,得到第一个第四数据“01 00 00 10”;其他依照相似原理分别进行移位累计,并得到第二个第四数据“01 11 10 01”、第三个第四数据“11 11 11 10”和第四个第四数据“00 01 10 11”,然后将第一个第四数据“01 00 00 10”、第二个第四数据“01 11 10 01”、第三个第四数据“11 11 11 10”和第四个第四数据“00 01 10 11”分别存储到不同的存储设备中。也就是说,将每个字节数据按两位进行拆分,即把全部数据中每个字节的前两位合成第一个第四数据保存一个存储平台上,接着的两位、又两位、最后两位各合成一个第四数据分别保存在不同的存储平台上。当然,根据实际情况,可选择相应位数的位拆分。这样既实现数据的分布式存储,又保证每个部门看到的数据都不是真实数据,实现了用户数据的隐私保护。
本实施例还涉及一种实现上述方法的装置,其结构示意图如图8所示。图8中,该装置包括请求及数据传送模块1、信息创建更新模块2、数据上传及保存模块3、数据读取及拆分模块4和数据拆分及存储模块5;其中,请求及数据传送模块1用于使客户端向服务器端发送请求,并通过服务器端验证后将元数据传送给第一服务器;信息创建更新模块2用于使第一服务器依据元数据创建或更新本地数据库中的元信息;数据上传及保存模块3用于使客户端上传第一数据,第一服务器接收第一数据并将其拆分成多个块数据后分别保存到本地多个服务器中;数据读取及拆分模块4用于读取多个块数据,并将每一个块数据按字节拆分成多个第二数据;数据拆分及存储模块5用于分别将第二数据的每一个字节的数据按设定位数拆分成多个第三数据,将每一个字节对应位置的第三数据依次连接得到多个第四数据,并将多个第四数据分别存储到多个存储设备中。上述数据读取及拆分模块4进一步包括地址获取及判断单元41和块数据读取及拆分单元42;其中,地址获取及判断单元41用于获取块数据的首地址,并判断块数据是否可读,并在不可读时退出本次操作;块数据读取及拆分单元42用于从首地址开始依次读取块数据,并将每一个块数据按设定字节数拆分成多个第二数据。本实施例中,上述设定字节数为四个字节。
本实施例中,上述数据拆分及存储模块5进一步包括位拆分单元51、数据清零单元52、数据移位叠加单元53和分布存储单元用54;其中,位拆分单元51用于分别将第二数据的每一个字节的数据按设定位数拆分成多个第三数据;数据清零单元52用于分别依次将每一个字节中对应位置的第三数据保持不变,将其余位置的第三数据清零;数据移位叠加单元53用于分别将对应位置的第三数据所在的字节数据进行相应位数的左移或右移后并进行叠加得到多个第四数据;分布存储单元用54于将多个第四数据分别存储到预先设定的多个存储设备中。本实施例中,上述设定位数为一位或两位或四位。
图9是本实施例中异构平台下数据分布存储的***整体架构图,客户端可与服务器端进行交互,即上传或下载数据。图10是不同大小文件的加密时间和本发明中位拆分时间的测试结果对比图,分别测试不同大小文件的加密时间和位拆分时间,其中时间是每一份实验数据处理十次的平均时间,实验数据源的大小分别为1MB、9.89MB、99.75MB、300MB、511MB、794MB和1035MB的七份数据。从图10中看到,位拆分机制的性能大约是加密的10倍。
总之,在本实施例中,为了解决数据在异构平台上的隐私保护问题,即不希望各个部门看到真实的数据,针对多部门的异构数据分布式存储架构为企业提供一个数据管理和数据存储平台,可以将企业存储在***中的数据分布存放在不同部门的存储设备中,每个部门没有授权都无法看到真实数据,由于数据存放在本部门内部,这样企业就可以充分利用现有各部门存储资源完成数据存储,同时达到了节省数据存储和管理的成本。具体是,当客户端和服务器端完成交互(客户端上传数据,由服务器接收处理数据并保存到本地集群中,或客户端下载数据,服务器从本地获取数据并传送给客户端)后,服务器还需要监测本地更新的数据,首先对其进行位拆分,就是对服务器中需要分布式存储到不同部门异构平台的数据,先对其按位进行拆分,拆分后放置在不同部门的存储设备上,这样数据在不同部门异构平台上分布式存储,由于每个部门中存储的都是局部的不完整数据,即使是部门管理员也无法看到真实的数据,这样就有效的解决了数据隐私保护问题。位拆分机制直观简单,容易获得高性能。采用位拆分的方法进行预处理,性能优于加密算法,将数据上传到不同部门的存储设备上,即利用不同部门的异构存储平台,并行访问多存储,又实现对用户数据隐私的保护。
现有技术中将对传输到不同部门的存储设备前做预处理(如加密等),那么每个部门也看不到保存在本地的原始数据,也可以实现对用户数据隐私的保护,但加密和解密计算复杂,性能较低,采用本发明的位拆分方法既可以保护用户数据隐私,也可以获得较高性能,同时可以利用多个不同的异构平台下的存储资源。
值得一提的是,当客户端要下载数据时,要将不同存储平台上的数据进行相应拆分并合并后得到真实数据,即按照原来位拆分的逆过程得到真实数据,然后用户将真实数据进行下载。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。

Claims (10)

1.一种异构平台下数据分布存储的方法,其特征在于, 包括如下步骤:
A)客户端向服务器端发送请求,并通过所述服务器端验证后将元数据传送给第一服务器;
B)所述第一服务器依据所述元数据创建或更新本地数据库中的元信息;
C)所述客户端上传第一数据,所述第一服务器接收所述第一数据并将其拆分成多个块数据后分别保存到本地多个服务器中;
D)读取所述多个块数据,并将所述每一个块数据按设定字节数拆分成多个第二数据;
E)分别将所述第二数据的每一个字节的数据按设定位数拆分成多个第三数据,将所述每一个字节对应位置的第三数据依次连接得到多个第四数据,并将所述多个第四数据分别存储到多个存储设备中。
2.根据权利要求1所述的异构平台下数据分布存储的方法,其特征在于,所述步骤D)进一步包括:
D1)获取所述块数据的首地址,并判断所述块数据是否可读,如是,执行步骤D2);否则,退出本次操作;
D2)从所述首地址开始依次读取所述块数据,并将所述每一个块数据按所述设定字节数拆分成多个第二数据。
3.根据权利要求2所述的异构平台下数据分布存储的方法,其特征在于,所述设定字节数为四个字节。
4.根据权利要求1至3任意一项所述的异构平台下数据分布存储的方法,其特征在于,所述步骤E)进一步包括:
E1)分别将所述第二数据的每一个字节的数据按设定位数拆分成多个第三数据;
E2)分别依次将所述每一个字节中对应位置的第三数据保持不变,将其余位置的第三数据清零;
E3)分别将所述对应位置的第三数据所在的字节数据进行相应位数的左移或右移后并进行叠加得到多个第四数据;
E4)将所述多个第四数据分别存储到预先设定的多个存储设备中。
5.根据权利要求4所述的异构平台下数据分布存储的方法,其特征在于,所述设定位数为一位或两位或四位。
6.一种实现如权利要求1所述的异构平台下数据分布存储的方法的装置,其特征在于,包括:
请求及数据传送模块:用于使客户端向服务器端发送请求,并通过所述服务器端验证后将元数据传送给第一服务器;
信息创建更新模块:用于使所述第一服务器依据所述元数据创建或更新本地数据库中的元信息;
数据上传及保存模块:用于使所述客户端上传第一数据,所述第一服务器接收所述第一数据并将其拆分成多个块数据后分别保存到本地多个服务器中;
数据读取及拆分模块:用于读取所述多个块数据,并将所述每一个块数据按字节拆分成多个第二数据;
数据拆分及存储模块:用于分别将所述第二数据的每一个字节的数据按设定位数拆分成多个第三数据,将所述每一个字节对应位置的第三数据依次连接得到多个第四数据,并将所述多个第四数据分别存储到多个存储设备中。
7.根据权利要求6所述的实现上述异构平台下数据分布存储的方法的装置,其特征在于,所述数据读取及拆分模块进一步包括:
地址获取及判断单元:用于获取所述块数据的首地址,并判断所述块数据是否可读,并在不可读时退出本次操作;
块数据读取及拆分单元:用于从所述首地址开始依次读取所述块数据,并将所述每一个块数据按所述设定字节数拆分成多个第二数据。
8.根据权利要求7所述的实现上述异构平台下数据分布存储的方法的装置,其特征在于,所述设定字节数为四个字节。
9.根据权利要求6至8任意一项所述的实现上述异构平台下数据分布存储的方法的装置,其特征在于,所述数据拆分及存储模块进一步包括:
位拆分单元:用于分别将所述第二数据的每一个字节的数据按设定位数拆分成多个第三数据;
数据清零单元:用于分别依次将所述每一个字节中对应位置的第三数据保持不变,将其余位置的第三数据清零;
数据移位叠加单元:用于分别将所述对应位置的第三数据所在的字节数据进行相应位数的左移或右移后并进行叠加得到多个第四数据;
分布存储单元:用于将所述多个第四数据分别存储到预先设定的多个存储设备中。
10.根据权利要求9所述的实现上述异构平台下数据分布存储的方法的装置,其特征在于,所述设定位数为一位或两位或四位。
CN201310001268.2A 2013-01-04 2013-01-04 一种异构平台下数据分布存储的方法及装置 Active CN103067519B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310001268.2A CN103067519B (zh) 2013-01-04 2013-01-04 一种异构平台下数据分布存储的方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310001268.2A CN103067519B (zh) 2013-01-04 2013-01-04 一种异构平台下数据分布存储的方法及装置

Publications (2)

Publication Number Publication Date
CN103067519A true CN103067519A (zh) 2013-04-24
CN103067519B CN103067519B (zh) 2016-08-24

Family

ID=48109973

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310001268.2A Active CN103067519B (zh) 2013-01-04 2013-01-04 一种异构平台下数据分布存储的方法及装置

Country Status (1)

Country Link
CN (1) CN103067519B (zh)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106933830A (zh) * 2015-12-29 2017-07-07 阿里巴巴集团控股有限公司 一种更新数据表时的业务执行方法及装置
CN107577429A (zh) * 2017-08-31 2018-01-12 郑州云海信息技术有限公司 一种数据存储与恢复方法和装置
CN107579989A (zh) * 2017-09-25 2018-01-12 郑州云海信息技术有限公司 一种数据保护方法、装置及其使用的终端设备
WO2018086120A1 (zh) * 2016-11-14 2018-05-17 北京大学深圳研究生院 一种文件安全存取方法、终端设备及专用存储装置
CN109144963A (zh) * 2017-06-26 2019-01-04 阿里巴巴集团控股有限公司 一种重做日志持久化方法及设备
CN109213796A (zh) * 2018-09-20 2019-01-15 京信通信***(中国)有限公司 射频数据表生成方法及装置、射频值查询方法及装置
CN111159075A (zh) * 2019-12-31 2020-05-15 成都海光微电子技术有限公司 数据传输方法和数据传输装置
CN112216310A (zh) * 2019-07-09 2021-01-12 海信视像科技股份有限公司 音频处理方法与装置、以及多声道***
CN112367410A (zh) * 2021-01-14 2021-02-12 广州技象科技有限公司 一种运行参数管理方法及装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101008922A (zh) * 2007-01-26 2007-08-01 浙江大学 面向异构多核体系的段页式存储空间管理方法
US20080046400A1 (en) * 2006-08-04 2008-02-21 Shi Justin Y Apparatus and method of optimizing database clustering with zero transaction loss
CN101887753A (zh) * 2010-07-09 2010-11-17 中国科学技术大学苏州研究院 异构存储***及其使用的高速缓存优化方法
CN102395962A (zh) * 2009-03-11 2012-03-28 甲骨文国际公司 对数据库表的哈希和列表组合划分

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080046400A1 (en) * 2006-08-04 2008-02-21 Shi Justin Y Apparatus and method of optimizing database clustering with zero transaction loss
CN101008922A (zh) * 2007-01-26 2007-08-01 浙江大学 面向异构多核体系的段页式存储空间管理方法
CN102395962A (zh) * 2009-03-11 2012-03-28 甲骨文国际公司 对数据库表的哈希和列表组合划分
CN101887753A (zh) * 2010-07-09 2010-11-17 中国科学技术大学苏州研究院 异构存储***及其使用的高速缓存优化方法

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106933830A (zh) * 2015-12-29 2017-07-07 阿里巴巴集团控股有限公司 一种更新数据表时的业务执行方法及装置
CN106933830B (zh) * 2015-12-29 2020-06-02 阿里巴巴集团控股有限公司 一种更新数据表时的业务执行方法及装置
WO2018086120A1 (zh) * 2016-11-14 2018-05-17 北京大学深圳研究生院 一种文件安全存取方法、终端设备及专用存储装置
CN109144963A (zh) * 2017-06-26 2019-01-04 阿里巴巴集团控股有限公司 一种重做日志持久化方法及设备
CN107577429A (zh) * 2017-08-31 2018-01-12 郑州云海信息技术有限公司 一种数据存储与恢复方法和装置
CN107579989A (zh) * 2017-09-25 2018-01-12 郑州云海信息技术有限公司 一种数据保护方法、装置及其使用的终端设备
CN109213796A (zh) * 2018-09-20 2019-01-15 京信通信***(中国)有限公司 射频数据表生成方法及装置、射频值查询方法及装置
CN109213796B (zh) * 2018-09-20 2020-11-10 京信通信***(中国)有限公司 射频数据表生成方法及装置、射频值查询方法及装置
CN112216310A (zh) * 2019-07-09 2021-01-12 海信视像科技股份有限公司 音频处理方法与装置、以及多声道***
CN111159075A (zh) * 2019-12-31 2020-05-15 成都海光微电子技术有限公司 数据传输方法和数据传输装置
CN111159075B (zh) * 2019-12-31 2021-11-05 成都海光微电子技术有限公司 数据传输方法和数据传输装置
CN112367410A (zh) * 2021-01-14 2021-02-12 广州技象科技有限公司 一种运行参数管理方法及装置

Also Published As

Publication number Publication date
CN103067519B (zh) 2016-08-24

Similar Documents

Publication Publication Date Title
JP6778795B2 (ja) データを記憶するための方法、装置及びシステム
CN103067519A (zh) 一种异构平台下数据分布存储的方法及装置
US10664493B2 (en) Replication of data objects from a source server to a target server
US10013185B2 (en) Mapping systems and methods of an accelerated application-oriented middleware layer
US8769310B2 (en) Encrypting data objects to back-up
CA2923068C (en) Method and system for metadata synchronization
US11074132B2 (en) Post backup catalogs
US8548957B2 (en) Method and system for recovering missing information at a computing device using a distributed virtual file system
EP3258369B1 (en) Systems and methods for distributed storage
US11144502B2 (en) Object store file system format for representing, storing, and retrieving data in an object store according to a structured format
US20170090786A1 (en) Distributed and Deduplicating Data Storage System and Methods of Use
CN106506587A (zh) 一种基于分布式存储的Docker镜像下载方法
US20150293817A1 (en) Secure Relational File System With Version Control, Deduplication, And Error Correction
US20160350326A1 (en) Concurrency control in virtual file system
US11016943B2 (en) Garbage collection for objects within object store
US11061867B2 (en) Application aware deduplication allowing random access to compressed files
US10467424B2 (en) File system content based security
US9075722B2 (en) Clustered and highly-available wide-area write-through file system cache
US9946609B2 (en) Managing multi-level backups into the cloud
US20180107404A1 (en) Garbage collection system and process
JP5236129B2 (ja) ストレージサービス提供装置、システム、サービス提供方法、及びサービス提供プログラム
CN116848517A (zh) 使用基于数据指纹的数据地址的高速缓存编索引
US7685186B2 (en) Optimized and robust in-place data transformation
CN104281486B (zh) 一种虚拟机处理方法和装置
US10185759B2 (en) Distinguishing event type

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CP03 Change of name, title or address
CP03 Change of name, title or address

Address after: 518000 Guangdong city of Shenzhen province Nanshan District Science Park Song Ping Road No. 5 Building 4 floor building jarta

Patentee after: Shenzhen Guang Dao hi tech Limited by Share Ltd.

Address before: 518057 Guangdong city of Shenzhen province Nanshan District Science Park Song Ping Road No. 5 Building 4 floor building jarta

Patentee before: Shenzhen SunTang High-Tech Co.,Ltd.

PE01 Entry into force of the registration of the contract for pledge of patent right

Denomination of invention: A method and device for distributed data storage under heterogeneous platform

Effective date of registration: 20220608

Granted publication date: 20160824

Pledgee: Shenzhen hi tech investment small loan Co.,Ltd.

Pledgor: Shenzhen Guang Dao hi tech Limited by Share Ltd.

Registration number: Y2022980007344

PE01 Entry into force of the registration of the contract for pledge of patent right
CP03 Change of name, title or address
CP03 Change of name, title or address

Address after: 518000 Floor 4, North Block, Yuanxing Science and Technology Building, No. 1, Songpingshan Road, Songpingshan Community, Xili Street, Nanshan District, Shenzhen, Guangdong Province

Patentee after: Shenzhen Guangdao Digital Technology Co.,Ltd.

Address before: 4 / F, main building, Jiada R & D building, No.5, songpingshan Road, Science Park, Nanshan District, Shenzhen, Guangdong 518000

Patentee before: Shenzhen Guang Dao hi tech Limited by Share Ltd.

PC01 Cancellation of the registration of the contract for pledge of patent right
PC01 Cancellation of the registration of the contract for pledge of patent right

Date of cancellation: 20230711

Granted publication date: 20160824

Pledgee: Shenzhen hi tech investment small loan Co.,Ltd.

Pledgor: Shenzhen Guang Dao hi tech Limited by Share Ltd.

Registration number: Y2022980007344

PE01 Entry into force of the registration of the contract for pledge of patent right

Denomination of invention: A method and device for distributed data storage on heterogeneous platforms

Granted publication date: 20160824

Pledgee: Shenzhen small and medium sized small loan Co.,Ltd.

Pledgor: Shenzhen Guangdao Digital Technology Co.,Ltd.

Registration number: Y2024980021234