首页 / 专利库 / 银行与财务事项 / 区块链处理实体 / 碎片数据读取方法、电子设备、系统及介质

碎片数据读取方法、电子设备、系统及介质

阅读:734发布:2020-05-23

专利汇可以提供碎片数据读取方法、电子设备、系统及介质专利检索,专利查询,专利分析的服务。并且本 发明 提供了一种碎片数据读取方法、 电子 设备、系统及介质,所述方法包括:当接收到读取 请求 时,从所述读取请求中提取第一身份识别码及第二身份识别码;根据所述第一身份识别码确定目标磁盘;根据所述第二身份识别码,从所述目标磁盘对应的 数据库 中提取待读取碎片数据的写入 位置 ;解析所述写入位置,得到第三身份识别码及所述待读取碎片数据在所述第三身份识别码对应的目标实体文件中的偏移量;根据所述第三身份识别码,从所述数据库中确定所述目标实体文件的文件路径;根据所述文件路径及所述偏移量,确定所述待读取碎片数据在所述目标磁盘中的存储位置;从所述存储位置读取所述待读取碎片数据。本发明能够解决碎片数据无法被读取的问题。,下面是碎片数据读取方法、电子设备、系统及介质专利的具体信息内容。

1.一种碎片数据读取方法,其特征在于,所述方法包括:
当接收到读取请求时,从所述读取请求中提取第一身份识别码及第二身份识别码;
根据所述第一身份识别码确定目标磁盘;
根据所述第二身份识别码,从所述目标磁盘对应的数据库中提取待读取碎片数据的写入位置
解析所述写入位置,得到第三身份识别码及所述待读取碎片数据在所述第三身份识别码对应的目标实体文件中的偏移量;
根据所述第三身份识别码,从所述数据库中确定所述目标实体文件的文件路径;
根据所述文件路径及所述偏移量,确定所述待读取碎片数据在所述目标磁盘中的存储位置;
从所述存储位置读取所述待读取碎片数据。
2.如权利要求1所述的碎片数据读取方法,其特征在于,所述方法还包括:
当接收到存储指令时,从所有磁盘中选取与每个碎片数据对应的磁盘,作为第一磁盘;
判断所述第一磁盘中当前实体文件所在的存储空间是否被写满;
当确定所述存储空间未被写满时,将所述碎片数据写入所述存储空间,得到所述碎片数据的写入位置;
获取所述碎片数据的身份识别码;
将所述碎片数据的身份识别码与所述写入位置的对应关系存储至所述数据库中。
3.如权利要求1所述的碎片数据读取方法,其特征在于,所述数据库中的信息包括以下一种或者多种的组合:
实体文件的身份识别码与文件路径的对应关系,碎片数据的身份识别码与所述碎片数据的写入位置的对应关系。
4.如权利要求1所述的碎片数据读取方法,其特征在于,所述待读取碎片数据的写入位置包括以下一种或者多种的组合:
目标实体文件的第三身份识别码、及所述待读取碎片数据在所述目标实体文件中的偏移量。
5.如权利要求1所述的碎片数据读取方法,其特征在于,所述目标磁盘中存储多个实体文件。
6.如权利要求1所述的碎片数据读取方法,其特征在于,在从所述存储位置读取所述待读取碎片数据之后,所述方法还包括:
加密所述待读取碎片数据,得到目标密文;
以所述目标密文响应所述读取请求。
7.一种电子设备,其特征在于,所述电子设备包括:
存储器,存储至少一个指令;及
处理器,执行所述存储器中存储的指令以实现如权利要求1至6中任意一项所述的碎片数据读取方法。
8.根据权利要求7所述的电子设备,其特征在于,所述电子设备为组成内容分发网络或者链网络的节点
9.一种碎片数据读取系统,其特征在于,所述系统包括:
提取单元,用于当接收到读取请求时,从所述读取请求中提取第一身份识别码及第二身份识别码;
确定单元,用于根据所述第一身份识别码确定目标磁盘;
所述提取单元,还用于根据所述第二身份识别码,从所述目标磁盘对应的数据库中提取待读取碎片数据的写入位置;
解析单元,用于解析所述写入位置,得到第三身份识别码及所述待读取碎片数据在所述第三身份识别码对应的目标实体文件中的偏移量;
所述确定单元,还用于根据所述第三身份识别码,从所述数据库中确定所述目标实体文件的文件路径;
所述确定单元,还用于根据所述文件路径及所述偏移量,确定所述待读取碎片数据在所述目标磁盘中的存储位置;
读取单元,用于从所述存储位置读取所述待读取碎片数据。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有碎片数据读取程序,所述碎片数据读取程序可被一个或者多个处理器执行,以实现如权利要求1至
6中任一项所述的碎片数据读取方法。

说明书全文

碎片数据读取方法、电子设备、系统及介质

技术领域

[0001] 本发明涉及数据处理技术领域,尤其涉及碎片数据读取方法、电子设备、系统及介质。

背景技术

[0002] 目前,将文件数据切割成若干个碎片数据后进行存储,能够使磁盘的存储空间得到合理的利用,为此,以碎片数据进行存储的方式成了趋势。然而,由于碎片数据并非以单个文件的形式进行存储,因此,无法通过打开文件名的方式直接读取到碎片数据,进而造成碎片数据无法被读取。

发明内容

[0003] 本发明的主要目的在于提供碎片数据读取方法、电子设备、系统及介质,旨在解决碎片数据无法被读取的问题。
[0004] 为实现上述目的,本发明提供一种碎片数据读取方法,所述方法包括:
[0005] 当接收到读取请求时,从所述读取请求中提取第一身份识别码及第二身份识别码;
[0006] 根据所述第一身份识别码确定目标磁盘;
[0007] 根据所述第二身份识别码,从所述目标磁盘对应的数据库中提取待读取碎片数据的写入位置
[0008] 解析所述写入位置,得到第三身份识别码及所述待读取碎片数据在所述第三身份识别码对应的目标实体文件中的偏移量;
[0009] 根据所述第三身份识别码,从所述数据库中确定所述目标实体文件的文件路径;
[0010] 根据所述文件路径及所述偏移量,确定所述待读取碎片数据在所述目标磁盘中的存储位置;
[0011] 从所述存储位置读取所述待读取碎片数据。
[0012] 优选地,所述方法还包括:
[0013] 当接收到存储指令时,从所有磁盘中选取与每个碎片数据对应的磁盘,作为第一磁盘;
[0014] 判断所述第一磁盘中当前实体文件所在的存储空间是否被写满;
[0015] 当确定所述存储空间未被写满时,将所述碎片数据写入所述存储空间,得到所述碎片数据的写入位置;
[0016] 获取所述碎片数据的身份识别码;
[0017] 将所述碎片数据的身份识别码与所述写入位置的对应关系存储至所述数据库中。
[0018] 优选地,所述数据库中的信息包括以下一种或者多种的组合:
[0019] 实体文件的身份识别码与文件路径的对应关系,碎片数据的身份识别码与所述碎片数据的写入位置的对应关系。
[0020] 优选地,所述待读取碎片数据的写入位置包括以下一种或者多种的组合:
[0021] 目标实体文件的第三身份识别码、及所述待读取碎片数据在所述目标实体文件中的偏移量。
[0022] 优选地,所述目标磁盘中存储多个实体文件。
[0023] 优选地,在从所述存储位置读取所述待读取碎片数据之后,所述方法还包括:
[0024] 加密所述待读取碎片数据,得到目标密文;
[0025] 以所述目标密文响应所述读取请求。
[0026] 为实现上述目的,本发明进一步提供一种电子设备,所述电子设备包括:
[0027] 存储器,存储至少一个指令;及
[0028] 处理器,执行所述存储器中存储的指令以实现所述碎片数据读取方法。
[0029] 优选地,所述电子设备为组成内容分发网络或者链网络的节点
[0030] 为实现上述目的,本发明进一步提供一种碎片数据读取系统,所述系统包括:
[0031] 提取单元,用于当接收到读取请求时,从所述读取请求中提取第一身份识别码及第二身份识别码;
[0032] 确定单元,用于根据所述第一身份识别码确定目标磁盘;
[0033] 所述提取单元,还用于根据所述第二身份识别码,从所述目标磁盘对应的数据库中提取待读取碎片数据的写入位置;
[0034] 解析单元,用于解析所述写入位置,得到第三身份识别码及所述待读取碎片数据在所述第三身份识别码对应的目标实体文件中的偏移量;
[0035] 所述确定单元,还用于根据所述第三身份识别码,从所述数据库中确定所述目标实体文件的文件路径;
[0036] 所述确定单元,还用于根据所述文件路径及所述偏移量,确定所述待读取碎片数据在所述目标磁盘中的存储位置;
[0037] 读取单元,用于从所述存储位置读取所述待读取碎片数据。
[0038] 优选地,所述系统还包括:
[0039] 选取单元,用于当接收到存储指令时,从所有磁盘中选取与每个碎片数据对应的磁盘,作为第一磁盘;
[0040] 判断单元,用于判断所述第一磁盘中当前实体文件所在的存储空间是否被写满;
[0041] 写入单元,用于当确定所述存储空间未被写满时,将所述碎片数据写入所述存储空间,得到所述碎片数据的写入位置;
[0042] 获取单元,用于获取所述碎片数据的身份识别码;
[0043] 存储单元,用于将所述碎片数据的身份识别码与所述写入位置的对应关系存储至所述数据库中。
[0044] 优选地,所述数据库中的信息包括以下一种或者多种的组合:
[0045] 实体文件的身份识别码与文件路径的对应关系,碎片数据的身份识别码与所述碎片数据的写入位置的对应关系。
[0046] 优选地,所述待读取碎片数据的写入位置包括以下一种或者多种的组合:
[0047] 目标实体文件的第三身份识别码、及所述待读取碎片数据在所述目标实体文件中的偏移量。
[0048] 优选地,所述目标磁盘中存储多个实体文件。
[0049] 优选地,所述系统还包括:
[0050] 加密单元,用于在从所述存储位置读取所述待读取碎片数据之后,加密所述待读取碎片数据,得到目标密文;
[0051] 响应单元,用于以所述目标密文响应所述读取请求。
[0052] 为实现上述目的,本发明进一步提供一种计算机可读存储介质,所述计算机可读存储介质上存储有碎片数据读取程序,所述碎片数据读取程序可被一个或者多个处理器执行,以实现所述的碎片数据读取方法。
[0053] 综上所述,本发明当接收到读取请求时,从所述读取请求中提取第一身份识别码及第二身份识别码,根据所述第一身份识别码确定目标磁盘,根据所述第二身份识别码,从所述目标磁盘对应的数据库中提取待读取碎片数据的写入位置,解析所述写入位置,得到第三身份识别码及所述待读取碎片数据在所述第三身份识别码对应的目标实体文件中的偏移量,根据所述第三身份识别码,从所述数据库中确定所述目标实体文件的文件路径,根据所述文件路径及所述偏移量,确定所述待读取碎片数据在所述目标磁盘中的存储位置,从所述存储位置读取所述待读取碎片数据,从而解决了碎片数据无法被读取的问题。附图说明
[0054] 图1为本发明一实施例的流程示意图;
[0055] 图2为本发明一实施例揭露的电子设备的内部结构示意图;
[0056] 图3为本发明碎片数据读取系统的功能模块示意图;
[0057] 主要元件符号说明
[0058] 电子设备 1存储器 12
处理器 13
碎片数据读取系统 11
提取单元 110
确定单元 111
解析单元 112
读取单元 113
选取单元 114
判断单元 115
写入单元 116
获取单元 117
存储单元 118
加密单元 119
响应单元 120
创建单元 121

具体实施方式

[0059] 为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0060] 本申请说明书权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
[0061] 需要说明的是,在本发明中涉及“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本发明要求的保护范围之内。
[0062] 本发明提供一种碎片数据读取方法。
[0063] 参照图1,图1为本发明一实施例的流程示意图。根据不同的需求,该流程示意图中步骤的顺序可以改变,某些步骤可以省略。
[0064] 所述碎片数据读取方法应用于一个或者多个电子设备中,所述电子设备是一种能够依据事先设定或存储的指令,自动进行数值计算和/或信息处理的设备,所述电子设备的硬件包括但不限于微处理器、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程阵列(Field-Programmable Gate Array,FPGA)、数字处理器(Digital Signal Processor,DSP)、嵌入式设备等。
[0065] 所述电子设备可以是任何一种可与用户进行人机交互的电子产品,例如,个人计算机、平板电脑、智能手机、个人数字助理(Personal Digital Assistant,PDA)、游戏机、交互式网络电视(Internet Protocol Television,IPTV)、智能式穿戴式设备等。
[0066] 所述电子设备还可以包括网络设备和/或用户设备。其中,所述网络设备包括,但不限于单个网络服务器、多个网络服务器组成的服务器组或基于计算(Cloud Computing)的由大量主机或网络服务器构成的云。
[0067] 所述电子设备所处的网络包括但不限于互联网、广域网、城域网、局域网、虚拟专用网络(Virtual Private Network,VPN)等。
[0068] 在一实施例中,该方法包括:
[0069] S10,当接收到读取请求时,从所述读取请求中提取第一身份识别码及第二身份识别码。
[0070] 在本发明的至少一个实施例中,所述读取请求的内容包括,但不限于:所述第一身份识别码、所述第二身份识别码等,其中,所述第一身份识别码的位数可以与所述第二身份识别码的位数不一致。
[0071] 在本发明的至少一个实施例中,所述电子设备从所述目标磁盘的链表中提取最后一个文件信息,并将所述最后一个文件信息对应的文件确定为所述当前实体文件。
[0072] 进一步地,所述链表中存储着至少一个实体文件的文件信息。
[0073] 其中,所述文件信息的内容包括,但不限于:文件的创建时间、文件名称等。
[0074] 通过上述实施方式,能够从所述链表中快速确定所述当前实体文件。
[0075] 在本发明的至少一个实施例中,所述方法还包括:
[0076] 当接收到存储指令时,所述电子设备从所有磁盘中选取与每个碎片数据对应的磁盘,作为第一磁盘,进一步地,所述电子设备判断所述第一磁盘中当前实体文件所在的存储空间是否被写满,当确定所述存储空间未被写满时,所述电子设备将所述碎片数据写入所述存储空间,得到所述碎片数据的写入位置,进一步地,所述电子设备获取所述碎片数据的身份识别码,所述电子设备将所述碎片数据的身份识别码与所述写入位置的对应关系存储至所述数据库中。
[0077] 在存储碎片数据的同时,对碎片数据的身份识别码与写入位置的对应关系进行存储,有利于在读取碎片数据时,能够直接通过数据库中存储的信息读取到所述碎片数据,进而能够解决无法读取碎片数据的问题。
[0078] 在本发明的至少一个实施例中,所述电子设备从所有磁盘中选取与每个碎片数据对应的磁盘,作为第一磁盘包括:
[0079] 所述电子设备获取所述所有磁盘中每个磁盘的输入/输出队列,根据所述输入/输出队列的列长,确定所述输入/输出队列中列长最短的目标输入/输出队列,将所述目标输入/输出队列对应的磁盘确定为所述第一磁盘,若存在磁盘的输入/输出队列的列长相等,所述电子设备获取该磁盘中的剩余空间,根据所述剩余空间,确定所述剩余空间中空间最大的目标剩余空间,将所述目标剩余空间对应的磁盘确定为所述第一磁盘。
[0080] 例如:所有磁盘分别为磁盘A、磁盘B、磁盘C,所述磁盘A的输入/输出队列中有5个输入/输出、所述磁盘B的输入/输出队列中有8个输入/输出、所述磁盘C的输入/输出队列中有5个输入/输出,所述电子设备确定所述磁盘A及所述磁盘C的输入/输出队列的列长最短且相等,进一步地,所述电子设备获取到所述磁盘A的剩余空间为200M及所述磁盘C的剩余空间为400M,更进一步地,所述电子设备确定所述磁盘C为所述第一磁盘。
[0081] 在本发明的至少一个实施例中,所述电子设备判断所述第一磁盘中当前实体文件所在的存储空间是否被写满包括:
[0082] 所述电子设备获取所述当前实体文件所在的存储空间中的所有存储块,进一步地,所述电子设备判断每块存储块中的位图标志位是否被置位,当每块存储块中的位图标志位均被置位时,所述电子设备确定所述当前实体文件所在的存储空间被写满,或者当存在存储块中的位图标志位未被置位时,所述电子设备确定所述当前实体文件所在的存储空间未被写满。
[0083] 例如:所述电子设备获取到当前实体文件甲所在的存储空间中的所有存储块共8块,进一步地,所述电子设备判断8块存储块中每块存储块的位图标志位是否被置位,当存在存储块的位图标志位不为1时,所述电子设备确定所述当前实体文件甲所在的存储空间未被写满。
[0084] 通过上述实施方式,能够快速确定出所述当前实体文件所在的存储空间的存储状态,以便确定所述碎片数据的写入位置。
[0085] 在本发明的至少一个实施例中,当确定所述存储空间被写满时,所述方法还包括:
[0086] 所述电子设备在所述第一磁盘中创建新的实体文件,得到第一信息,进一步地,所述电子设备将所述第一信息存储至所述第一磁盘对应的数据库中。
[0087] 其中,所述第一信息包括:所述新的实体文件的身份识别码与所述新的实体文件的文件路径的对应关系、所述新的实体文件的创建时间等。
[0088] 进一步地,所述数据库中存储多个实体文件的第一信息。
[0089] 通过将所述第一信息存储至所述数据库中,为后续响应所述读取请求提供了基础信息,进而有利于碎片数据的读取。
[0090] 具体地,所述电子设备在所述第一磁盘中创建新的实体文件包括:
[0091] 所述电子设备获取分配的身份识别码及获取文件名,进一步地,所述电子设备根据所述身份识别码及所述文件名,在所述第一磁盘中占据预设大小的存储空间,得到所述新的实体文件及所述新的实体文件对应的第一信息。
[0092] S11,根据所述第一身份识别码确定目标磁盘。
[0093] 在本发明的至少一个实施例中,所述目标磁盘中存储多个实体文件。
[0094] 在本发明的至少一个实施例中,每个磁盘的身份识别码是唯一的,因此,所述电子设备能够通过所述第一身份识别码确定所述目标磁盘。
[0095] S12,根据所述第二身份识别码,从所述目标磁盘对应的数据库中提取待读取碎片数据的写入位置。
[0096] 在本发明的至少一个实施例中,所述数据库中的信息包括,但不限于以下一种或者多种的组合:
[0097] 实体文件的身份识别码与文件路径的对应关系,碎片数据的身份识别码与碎片数据的写入位置的对应关系等。
[0098] 其中,所述数据库可以是键值对数据库,例如:LevelDB数据库,本发明不作限制。
[0099] 在本发明的至少一个实施例中,所述待读取碎片数据的写入位置包括,但不限于以下一种或者多种的组合:
[0100] 目标实体文件的第三身份识别码、及所述待读取碎片数据在所述目标实体文件中的偏移量等。
[0101] 在本发明的至少一个实施例中,所述电子设备根据所述第二身份识别码,从所述目标磁盘对应的数据库中提取待读取碎片数据的写入位置包括:
[0102] 所述电子设备根据所述第二身份识别码,遍历所述数据库中的信息,得到所述待读取碎片数据的第二信息,进一步地,所述电子设备采用机器学习方法从所述第二信息中提取所述待读取碎片数据的写入位置。
[0103] 其中,所述第二信息包括:所述待读取碎片数据的第二身份识别码、所述待读取碎片数据的写入位置及所述待读取碎片数据的元数据信息等。
[0104] 通过上述实施方式,能够通过所述第二身份识别码提取出所述写入位置,为后续读取所述待读取碎片数据提供基础。
[0105] S13,解析所述写入位置,得到第三身份识别码及所述待读取碎片数据在所述第三身份识别码对应的目标实体文件中的偏移量。
[0106] 在本发明的至少一个实施例中,由于存储在所述数据库中的信息是经过序列化后的信息,因此,通过对所述写入位置进行解析,才能得到所述第三身份识别码及所述偏移量。
[0107] 在本发明的至少一个实施例中,所述电子设备采用反序列化方法解析所述写入位置,得到第三身份识别码及所述待读取碎片数据在所述第三身份识别码对应的目标实体文件中的偏移量。
[0108] S14,根据所述第三身份识别码,从所述数据库中确定所述目标实体文件的文件路径。
[0109] 在本发明的至少一个实施例中,由于所述数据库存储着实体文件的身份识别码与文件路径的对应关系,因此,所述电子设备能够根据实体文件的身份识别码,确定出所述实体文件对应的文件路径。
[0110] 在本发明的至少一个实施例中,所述根据所述第三身份识别码,从所述数据库中确定所述目标实体文件的文件路径包括:
[0111] 所述电子设备根据所述第三身份识别码,从所述数据库中确定出所述第三身份识别码的对应关系,进一步地,所述电子设备将与所述第三身份识别码对应的内容确定为所述目标实体文件的文件路径。
[0112] S15,根据所述文件路径及所述偏移量,确定所述待读取碎片数据在所述目标磁盘中的存储位置。
[0113] 在本发明的至少一个实施例中,所述存储位置指所述待读取碎片数据在所述目标磁盘中单独占据的空间。
[0114] S16,从所述存储位置读取所述待读取碎片数据。
[0115] 在本发明的至少一个实施例中,所述从所述存储位置读取所述待读取碎片数据包括:
[0116] 所述电子设备遍历所述目标磁盘中的存储位置,进一步地,所述电子设备提取所述存储位置中存储的数据,得到所述待读取碎片数据。
[0117] 通过上述实施方式,能够索引到碎片数据单独占据的空间,进而使碎片数据能够准确被读取,解决了碎片数据无法被读取的问题。
[0118] 在本发明的至少一个实施例中,在从所述存储位置读取所述待读取碎片数据之后,所述方法还包括:
[0119] 所述电子设备加密所述待读取碎片数据,得到目标密文,进一步地,所述电子设备以所述目标密文响应所述读取请求。
[0120] 通过上述实施方式,能够避免所述待读取碎片数据被篡改以及所述待读取碎片数据被泄露,提高所述待读取碎片数据的安全性。
[0121] 综上所述,本发明当接收到读取请求时,从所述读取请求中提取第一身份识别码及第二身份识别码,根据所述第一身份识别码确定目标磁盘,根据所述第二身份识别码,从所述目标磁盘对应的数据库中提取待读取碎片数据的写入位置,解析所述写入位置,得到第三身份识别码及所述待读取碎片数据在所述第三身份识别码对应的目标实体文件中的偏移量,根据所述第三身份识别码,从所述数据库中确定所述目标实体文件的文件路径,根据所述文件路径及所述偏移量,确定所述待读取碎片数据在所述目标磁盘中的存储位置,从所述存储位置读取所述待读取碎片数据,从而解决了碎片数据无法被读取的问题。
[0122] 参见图2,图2为本发明一实施例揭露的电子设备的内部结构示意图。
[0123] 所述电子设备1可以是组成内容分发网络或者区块链网络的节点。
[0124] 所述电子设备1可以包括存储器12、处理器13和总线,还可以包括存储在所述存储器12中并可在所述处理器13上运行的计算机程序,例如碎片数据读取程序。
[0125] 本领域技术人员可以理解,所述示意图仅仅是电子设备1的示例,并不构成对电子设备1的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述电子设备1还可以包括输入输出设备、网络接入设备等。
[0126] 其中,存储器12至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、移动硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、磁性存储器、磁盘、光盘等。存储器12在一些实施例中可以是电子设备1的内部存储单元,例如该电子设备1的移动硬盘。存储器12在另一些实施例中也可以是电子设备1的外部存储设备,例如电子设备1上配备的插接式移动硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,存储器12还可以既包括电子设备1的内部存储单元也包括外部存储设备。存储器12不仅可以用于存储安装于电子设备1的应用软件及各类数据,例如碎片数据读取程序的代码等,还可以用于暂时地存储已经输出或者将要输出的数据。
[0127] 处理器13在一些实施例中可以是一中央处理器(Central Processing Unit,CPU)、控制器微控制器、微处理器或其他数据处理芯片,用于运行存储器12中存储的程序代码或处理数据,例如执行碎片数据读取程序等。
[0128] 该总线可以是外设部件互连标准(peripheral component interconnect,简称PCI)总线或扩展工业标准结构(extended industry standard architecture,简称EISA)总线等。该总线可以分为地址总线数据总线、控制总线等。为便于表示,图2中仅用一根箭头表示,但并不表示仅有一根总线或一种类型的总线。
[0129] 示例性的,所述计算机程序可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器12中,并由所述处理器13执行,以完成本发明。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序在所述电子设备1中的执行过程。例如,所述计算机程序可以被分割成提取单元110、确定单元111、解析单元112、读取单元113、选取单元114、判断单元115、写入单元116、获取单元117、存储单元118、加密单元119、响应单元120及创建单元121。
[0130] 进一步地,电子设备还可以包括网络接口,网络接口可选的可以包括有线接口和/或无线接口(如WI-FI接口、蓝牙接口等),通常用于在该电子设备1与其他电子设备之间建立通信连接。
[0131] 可选地,该电子设备1还可以包括用户接口,用户接口可以包括显示器(Display)、输入单元比如键盘(Keyboard),可选的用户接口还可以包括标准的有线接口、无线接口。可选地,在一些实施例中,显示器可以是LED显示器、液晶显示器、触控式液晶显示器以及OLED(Organic Light-Emitting Diode,有机发光二极管)触摸器等。其中,显示器也可以适当的称为显示屏或显示单元,用于显示在电子设备1中处理的信息以及用于显示可视化用户界面
[0132] 所述电子设备1集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。
[0133] 其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)。
[0134] 图2仅示出了具有组件12-13,以及碎片数据读取程序的电子设备1,本领域技术人员可以理解的是,图2示出的结构并不构成对所述电子设备1的限定,可以包括比图示更少或者更多的部件,或者组合某些部件,或者不同的部件布置。
[0135] 结合图1,所述电子设备1中的所述存储器12存储多个指令以实现一种碎片数据读取方法,所述处理器13可执行所述多个指令从而实现:当接收到读取请求时,从所述读取请求中提取第一身份识别码及第二身份识别码;根据所述第一身份识别码确定目标磁盘;根据所述第二身份识别码,从所述目标磁盘对应的数据库中提取待读取碎片数据的写入位置;解析所述写入位置,得到第三身份识别码及所述待读取碎片数据在所述第三身份识别码对应的目标实体文件中的偏移量;根据所述第三身份识别码,从所述数据库中确定所述目标实体文件的文件路径;根据所述文件路径及所述偏移量,确定所述待读取碎片数据在所述目标磁盘中的存储位置;从所述存储位置读取所述待读取碎片数据。
[0136] 参照图3,为本发明碎片数据读取系统的功能模块示意图。所述碎片数据读取系统11包括提取单元110、确定单元111、解析单元112、读取单元113、选取单元114、判断单元
115、写入单元116、获取单元117、存储单元118、加密单元119、响应单元120及创建单元121。
本发明所称的模块/单元是指一种能够被处理器13所执行,并且能够完成固定功能的一系列计算机程序段,其存储在存储器12中。在本实施例中,关于各模块/单元的功能将在后续的实施例中详述。
[0137] 当接收到读取请求时,提取单元110从所述读取请求中提取第一身份识别码及第二身份识别码。
[0138] 在本发明的至少一个实施例中,所述读取请求的内容包括,但不限于:所述第一身份识别码、所述第二身份识别码等,其中,所述第一身份识别码的位数可以与所述第二身份识别码的位数不一致。
[0139] 在本发明的至少一个实施例中,所述提取单元110从所述目标磁盘的链表中提取最后一个文件信息,并将所述最后一个文件信息对应的文件确定为所述当前实体文件。
[0140] 进一步地,所述链表中存储着至少一个实体文件的文件信息。
[0141] 其中,所述文件信息的内容包括,但不限于:文件的创建时间、文件名称等。
[0142] 通过上述实施方式,能够从所述链表中快速确定所述当前实体文件。
[0143] 在本发明的至少一个实施例中,所述方法还包括:
[0144] 当接收到存储指令时,选取单元114从所有磁盘中选取与每个碎片数据对应的磁盘,作为第一磁盘,进一步地,判断单元115判断所述第一磁盘中当前实体文件所在的存储空间是否被写满,当确定所述存储空间未被写满时,写入单元116将所述碎片数据写入所述存储空间,得到所述碎片数据的写入位置,进一步地,获取单元117获取所述碎片数据的身份识别码,存储单元118将所述碎片数据的身份识别码与所述写入位置的对应关系存储至所述数据库中。
[0145] 在存储碎片数据的同时,对碎片数据的身份识别码与写入位置的对应关系进行存储,有利于在读取碎片数据时,能够直接通过数据库中存储的信息读取到所述碎片数据,进而能够解决无法读取碎片数据的问题。
[0146] 在本发明的至少一个实施例中,所述选取单元114从所有磁盘中选取与每个碎片数据对应的磁盘,作为第一磁盘包括:
[0147] 所述选取单元114获取所述所有磁盘中每个磁盘的输入/输出队列,根据所述输入/输出队列的列长,确定所述输入/输出队列中列长最短的目标输入/输出队列,将所述目标输入/输出队列对应的磁盘确定为所述第一磁盘,若存在磁盘的输入/输出队列的列长相等,所述选取单元114获取该磁盘中的剩余空间,根据所述剩余空间,确定所述剩余空间中空间最大的目标剩余空间,将所述目标剩余空间对应的磁盘确定为所述第一磁盘。
[0148] 例如:所有磁盘分别为磁盘A、磁盘B、磁盘C,所述磁盘A的输入/输出队列中有5个输入/输出、所述磁盘B的输入/输出队列中有8个输入/输出、所述磁盘C的输入/输出队列中有5个输入/输出,所述选取单元114确定所述磁盘A及所述磁盘C的输入/输出队列的列长最短且相等,进一步地,所述电子设备获取到所述磁盘A的剩余空间为200M及所述磁盘C的剩余空间为400M,更进一步地,所述选取单元114确定所述磁盘C为所述第一磁盘。
[0149] 在本发明的至少一个实施例中,所述判断单元115判断所述第一磁盘中当前实体文件所在的存储空间是否被写满包括:
[0150] 所述判断单元115获取所述当前实体文件所在的存储空间中的所有存储块,进一步地,所述判断单元115判断每块存储块中的位图标志位是否被置位,当每块存储块中的位图标志位均被置位时,所述判断单元115确定所述当前实体文件所在的存储空间被写满,或者当存在存储块中的位图标志位未被置位时,所述判断单元115确定所述当前实体文件所在的存储空间未被写满。
[0151] 例如:所述判断单元115获取到当前实体文件甲所在的存储空间中的所有存储块共8块,进一步地,所述判断单元115判断8块存储块中每块存储块的位图标志位是否被置位,当存在存储块的位图标志位不为1时,所述判断单元115确定所述当前实体文件甲所在的存储空间未被写满。
[0152] 通过上述实施方式,能够快速确定出所述当前实体文件所在的存储空间的存储状态,以便确定所述碎片数据的写入位置。
[0153] 在本发明的至少一个实施例中,当确定所述存储空间被写满时,所述方法还包括:
[0154] 创建单元121在所述第一磁盘中创建新的实体文件,得到第一信息,进一步地,所述存储单元118将所述第一信息存储至所述第一磁盘对应的数据库中。
[0155] 其中,所述第一信息包括:所述新的实体文件的身份识别码与所述新的实体文件的文件路径的对应关系、所述新的实体文件的创建时间等。
[0156] 进一步地,所述数据库中存储多个实体文件的第一信息。
[0157] 通过将所述第一信息存储至所述数据库中,为后续响应所述读取请求提供了基础信息,进而有利于碎片数据的读取。
[0158] 具体地,所述创建单元121在所述第一磁盘中创建新的实体文件包括:
[0159] 所述创建单元121获取分配的身份识别码及获取文件名,进一步地,所述创建单元121根据所述身份识别码及所述文件名,在所述第一磁盘中占据预设大小的存储空间,得到所述新的实体文件及所述新的实体文件对应的第一信息。
[0160] 确定单元111根据所述第一身份识别码确定目标磁盘。
[0161] 在本发明的至少一个实施例中,所述目标磁盘中存储多个实体文件。
[0162] 在本发明的至少一个实施例中,每个磁盘的身份识别码是唯一的,因此,所述确定单元111能够通过所述第一身份识别码确定所述目标磁盘。
[0163] 所述提取单元110根据所述第二身份识别码,从所述目标磁盘对应的数据库中提取待读取碎片数据的写入位置。
[0164] 在本发明的至少一个实施例中,所述数据库中的信息包括,但不限于以下一种或者多种的组合:
[0165] 实体文件的身份识别码与文件路径的对应关系,碎片数据的身份识别码与所述碎片数据的写入位置的对应关系等。
[0166] 其中,所述数据库可以是键值对数据库,例如:LevelDB数据库,本发明不作限制。
[0167] 在本发明的至少一个实施例中,所述待读取碎片数据的写入位置包括,但不限于以下一种或者多种的组合:
[0168] 目标实体文件的第三身份识别码、及所述待读取碎片数据在所述目标实体文件中的偏移量等。
[0169] 在本发明的至少一个实施例中,所述提取单元110根据所述第二身份识别码,从所述目标磁盘对应的数据库中提取待读取碎片数据的写入位置包括:
[0170] 所述提取单元110根据所述第二身份识别码,遍历所述数据库中的信息,得到所述待读取碎片数据的第二信息,进一步地,所述提取单元110采用机器学习方法从所述第二信息中提取所述待读取碎片数据的写入位置。
[0171] 其中,所述第二信息包括:所述待读取碎片数据的第二身份识别码、所述待读取碎片数据的写入位置及所述待读取碎片数据的元数据信息等。
[0172] 通过上述实施方式,能够通过所述第二身份识别码提取出所述写入位置,为后续读取所述待读取碎片数据提供基础。
[0173] 解析单元112解析所述写入位置,得到第三身份识别码及所述待读取碎片数据在所述第三身份识别码对应的目标实体文件中的偏移量。
[0174] 在本发明的至少一个实施例中,由于存储在所述数据库中的信息是经过序列化后的信息,因此,通过对所述写入位置进行解析,才能得到所述第三身份识别码及所述偏移量。
[0175] 在本发明的至少一个实施例中,所述解析单元112采用反序列化方法解析所述写入位置,得到第三身份识别码及所述待读取碎片数据在所述第三身份识别码对应的目标实体文件中的偏移量。
[0176] 所述确定单元111根据所述第三身份识别码,从所述数据库中确定所述目标实体文件的文件路径。
[0177] 在本发明的至少一个实施例中,由于所述数据库存储着实体文件的身份识别码与文件路径的对应关系,因此,所述确定单元111能够根据实体文件的身份识别码,确定出所述实体文件对应的文件路径。
[0178] 在本发明的至少一个实施例中,所述根据所述第三身份识别码,从所述数据库中确定所述目标实体文件的文件路径包括:
[0179] 所述确定单元111根据所述第三身份识别码,从所述数据库中确定出所述第三身份识别码的对应关系,进一步地,所述确定单元111将与所述第三身份识别码对应的内容确定为所述目标实体文件的文件路径。
[0180] 所述确定单元111根据所述文件路径及所述偏移量,确定所述待读取碎片数据在所述目标磁盘中的存储位置。
[0181] 在本发明的至少一个实施例中,所述存储位置指所述待读取碎片数据在所述目标磁盘中单独占据的空间。
[0182] 读取单元113从所述存储位置读取所述待读取碎片数据。
[0183] 在本发明的至少一个实施例中,所述从所述存储位置读取所述待读取碎片数据包括:
[0184] 所述读取单元113遍历所述目标磁盘中的存储位置,进一步地,所述读取单元113提取所述存储位置中存储的数据,得到所述待读取碎片数据。
[0185] 通过上述实施方式,能够索引到碎片数据单独占据的空间,进而使碎片数据能够准确被读取,解决了碎片数据无法被读取的问题。
[0186] 在本发明的至少一个实施例中,在从所述存储位置读取所述待读取碎片数据之后,所述方法还包括:
[0187] 加密单元119加密所述待读取碎片数据,得到目标密文,进一步地,响应单元120以所述目标密文响应所述读取请求。
[0188] 通过上述实施方式,能够避免所述待读取碎片数据被篡改以及所述待读取碎片数据被泄露,提高所述待读取碎片数据的安全性。
[0189] 综上所述,本发明当接收到读取请求时,从所述读取请求中提取第一身份识别码及第二身份识别码,根据所述第一身份识别码确定目标磁盘,根据所述第二身份识别码,从所述目标磁盘对应的数据库中提取待读取碎片数据的写入位置,解析所述写入位置,得到第三身份识别码及所述待读取碎片数据在所述第三身份识别码对应的目标实体文件中的偏移量,根据所述第三身份识别码,从所述数据库中确定所述目标实体文件的文件路径,根据所述文件路径及所述偏移量,确定所述待读取碎片数据在所述目标磁盘中的存储位置,从所述存储位置读取所述待读取碎片数据,从而解决了碎片数据无法被读取的问题。
[0190] 在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。
[0191] 所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生依据本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存储的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、移动硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态移动硬盘Solid State Disk(SSD))等。
[0192] 所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0193] 在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
[0194] 所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0195] 另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
[0196] 所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动移动硬盘、只读存储器(ROM,Read-Only Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
[0197] 需要说明的是,上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。并且本文中的术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、装置、物品或者方法不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、装置、物品或者方法所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、装置、物品或者方法中还存在另外的相同要素。
[0198] 以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈