一种用于读写p2p数据的方法及装置的制造方法_3

文档序号:8942768阅读:来源:国知局
标识信息及该P2P数据块的块标识信息写入所述块信息条目中,将所述块信息条目的占用信息修改为被占用,其中每个块数据存储条目中存储一个P2P数据块。
[0097]由于本发明实施例中针对每一个待存储的P2P数据块都获取了其校验信息,并将该校验信息存储在了对应的块信息条目中,以便在需要对读取出的P2P数据块进行校验时使用,可保证后续读取的P2P数据块的准确性。
[0098]在对以实施例一方式存储的P2P数据块进行读取时,数据块有可能在整体的存储和读取过程中出现内部部分数据的差异,这时可通过对数据块分部分校验来判断数据块的特定部分是否出现数据异常,这就需要在对P2P数据写入的过程中,预先保留P2P数据块每个特定部分的校验信息,所以在将加密后的P2P数据块写入到该位置的块数据存储条目中之前,还包括:
[0099]根据预设的每个数据片包含的数据量,将所述P2P数据块划分为多个数据片;
[0100]并获取每个数据片的片校验信息;
[0101]根据存储文件中头文件信息中记录的片信息区的位置信息,在对应位置的片信息区中查找未被占用的一个片信息条目;
[0102]将该P2P数据块所属文件的标识信息、该P2P数据块的块标识信息及获取的每个片校验信息写入所述片信息条目中,并将所述片信息条目的占用信息修改为被占用。
[0103]该片校验信息可以为CRC校验信息。
[0104]图3为本发明实施例三提供的一种用于写P2P数据的方法的流程示意图,包括如下步骤:
[0105]S301:接收P2P数据块的写入请求。
[0106]S302:根据预设的每个数据片包含的数据量,将所述P2P数据块划分为多个数据片;并获取每个数据片的片校验信息。
[0107]S303:根据存储文件中头文件信息中记录的片信息区的位置信息,在对应位置的片信息区中查找未被占用的一个片信息条目。
[0108]S304:将该P2P数据块所属文件的标识信息、该P2P数据块的块标识信息及获取的每个片校验信息写入所述片信息条目中,并将所述片信息条目的占用信息修改为被占用。
[0109]S305:根据存储文件中头文件信息中记录的块信息区的位置信息,查找块信息区;根据块信息区中每个块信息条目是否被占用的信息,确定未被占用的一个块信息条目。
[0110]S306:根据该块信息条目中记录的该块信息条目对应的块数据存储条目的位置的信息,将加密后的P2P数据块写入到该位置的块数据存储条目中,并将该P2P数据块所属文件的标识信息及该P2P数据块的块标识信息写入所述块信息条目中,将所述块信息条目的占用信息修改为被占用,其中每个块数据存储条目中存储一个P2P数据块。
[0111]上述实施例中S302?S304可以在S306之前的任意步骤执行,不限于本发明实施例中所限定的顺序。
[0112]当然在上述实施方式中,也可以在步骤S305和S306之间,执行S203和S204。
[0113]由于本发明实施例中针对每一个待存储的P2P数据块都进行了更细一级的数据片的划分,并获取了每个数据片的片校验信息,并将该片校验信息存储在了对应的片信息条目中,以便在需要时可通过对数据块分部分片校验来判断数据块的每个特定片部分是否出现数据异常,可保证后续提高读取出的P2P数据块的准确性。
[0114]在本发明实施例中还包括:按照设定的时间间隔针对每个数据存储条目中存储的每个P2P数据块,判断全网中存储该P2P数据块的电子设备的数量是否达到设定数量阈值,如果是,将该数据存储条目对应的块信息条目的占用信息修改为未占用;或
[0115]按照设定的时间间隔判断每个数据存储条目中存储的每个P2P数据块被读取的次数是否达到设定次数阈值,如果是,将该数据存储条目对应的块信息条目的占用信息修改为未占用。
[0116]在本发明实施例中可以按照设定的时间间隔判断每个数据存储条目中P2P数据块是否满足相应的条件,从而实现对对应的块信息条目的占用信息的修改,或者,在本发明实施例中为了提高数据读写效率,也可以在存储文件存储已满时,进行判断,根据存储文件的头文件信息中记录的最大缓存量,当当前的缓存量达到最大缓存量时,针对每个数据存储条目中存储的每个P2P数据块,判断全网中存储该P2P数据块的电子设备的数量是否达到设定数量阈值,如果是,将该数据存储条目对应的块信息条目的占用信息修改为未占用。其中在P2P网络中,每个电子设备将其本地保存的每个P2P数据块的信息上报服务器,因此在服务器中针对每个电子设备保存有该电子设备中存储的P2P数据块的信息。因此在上述判断时,电子设备可以从服务器针对其本地存储的每个P2P数据块,获取在全网中存储该P2P数据块的电子设备的数量的信息,从而判断是否将存储该P2P数据块的数据存储条目对应的块信息条目的占用信息修改为未占用。
[0117]或,判断每个数据存储条目中存储的每个P2P数据块被读取的次数是否达到设定次数阈值,如果是,将该数据存储条目对应的块信息条目的占用信息修改为未占用。
[0118]基于上述实施例,图4为本发明实施例四提供的一种用于读取P2P数据的方法的流程示意图,包括如下步骤:
[0119]S401:接收P2P数据块的读取请求。
[0120]数据读取请求中携带待读取的P2P数据块所属文件的标识信息以及该P2P数据块的块标识信息。
[0121]P2P数据块所属文件的标识信息代表了此数据块隶属于哪个文件。例如,若将名称为“视频I”的视频文件被分解为若干个2MB大小的P2P数据块,则这些数据块都可以使用“视频I”作为它们的所属文件标识信息,说明它们的共同来源。该P2P数据块所属文件的标识信息可以为文件的名称,也可以是文件的序号等唯一标示该文件的信息。
[0122]P2P数据块的块标识信息是此P2P数据块在其所属文件中的唯一身份信息。例如按照预设的分解方法,将名称为“视频I”的视频文件分解为“块1”、“块2”、“块3”三个P2P数据块,则“块X”就可以作为该数据块的块标识信息。
[0123]S402:根据存储文件中头文件信息中记录的块信息区的位置信息,查找块信息区。
[0124]块信息区的位置信息包括:块信息区的起始位置和终点位置;或块信息区的起始位置和偏移长度位置。例如,存储文件中头文件信息可以给出块信息区的起始位置为1000,终点位置为Ifff;或者存储文件中头文件信息可以给出块信息区的起始位置为1000,偏移长度为Offf ;两种表示方法表示的含义一样,都能唯一确定块信息区在存储空间中的区域位置。
[0125]在本发明实施例中为了标识每个块信息条目是否被占用,可以针对每个块信息条目设置对应的标志位,根据标志位的数值确定每个块信息条目是否被占用,例如当标志位为I时认为该块信息条目被占用,当该标志位为O时认为该块信息条目未被占用。当然还可以采用其他形式来表示块信息条目是否被占用的信息,在本发明实施例中对相应实现方式不做赘述。
[0126]S403:根据待读取的P2P数据块的所属文件的标识信息和该P2P数据块的块标识信息,在块信息区中查找存放存储有该P2P数据块的所属文件的标识信息及块标识信息的块信息条目。
[0127]块信息条目是块信息区中的信息存储单元,可在其中写入其所对应的P2P数据块的相关信息,包括该P2P数据块的所属文件的标识信息、和该P2P数据块的块标识信息等,该块信息条目中还可以记录有、该P2P数据块包含的数据量大小、该数据块的校验信息。同时,块信息条目中还预先记录了其所对应的块存储条目的位置信息。
[0128]S404:根据该块信息条目中所记录的该块信息条目对应的块数据存储条目的位置的信息,读取并解密在该位置的块数据存储条目中存储的P2P数据块。
[0129]块数据存储条目的位置信息是始终记录在对应的块信息条目中的,具体可以是一个相对于块数据存储区起始位置的偏移量数值,可以根据存储也可以是文件中头文件信息中记录的块数据存储区的起始位置和该偏移量数值,唯一确定某一特定块数据存储条目的位置起始位置信息和终点位置信息。例如,存储文件中头文件信息中记录的块数据存储区的起始位置为3000,某块信息条目中记录的块存储条目相对于该起始位置的偏移量为OfTf,则可知该块信息条目对应的块数据存储条目的起始位置为3fff。
[0130]加密后的P2P数据块具有原始P2P数据块的全部信息,且加密后的P2P数据块可被完整地写入与其对应的块数据存储条目中,且一个块数据存储条目中只写入一个加密后的P2P数据块。
[0131]由于本发明实施例中针对一个待读取的P2P数据块,有一个专门的块数据存储条目与它对应,当对P2P数据块进行一次读取操作时,只需将一个加密存储的P2P数据块从与其对应的一个块数据存储条目中读取出并解密即可,即对该数据块进行一次解密操作就可得到原始的P2P数据块,提高了 P2P数据块读取操作的效率。
[0132]在进行读取操作时,采用的解密算法是与将该P2P数据块写入是采用的加密算法相对应的。在对以实施例四读取的P2P数据块进行解密操作时,由于解密算法可能出现的固有缺陷、误差或其他原因,使得读取解密后的P2P数据块可能相较原始的P2P数据块出现较大差异,这时就需要将读取解密后的P2P数据块进行校验,只有通过校验的数据块才被认为是准确的数据块。在P2P数据块读取方法中,还包括:
[0133]根据所述块信息条目中存储的块校验信息,对解密后的所述P2P数据块进行校验;
[0134]当校验通过时,确定所述P2P数据块读取成功;
[0135]否则,确定所述P2P数据块读取失败,并将所述块信息条目的占用信息修改为未占用。
[0136]图5为本发明实施例五提供的一种用于读取P2P数据的方法的流程示意图,包括如下步骤:
[0137]S501:接收P2P数据块的读取请求。
当前第3页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1