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

文档序号:8942768
一种用于读写p2p数据的方法及装置的制造方法
【技术领域】
[0001]本发明涉及数据读写领域,特别涉及一种用于读写P2P数据的方法及装置。
【背景技术】
[0002]当前视频点播中的P2P网络数据通常以P2P数据块的形式进行存储,一个P2P数据块包含的数据量为2MB。
[0003]P2P数据块通常被存储在sqlite3数据库中,同时被存储的还有该P2P数据块的各种描述信息。而sqlite3数据库本身被划分为多个存储页,每个存储页的存储空间被配置为lkB、2kB或者1kB左右等小于2MB的存储量,这样将会出现一个2MB的P2P数据块被存储进至少两个存储页之中的情况。因为考虑到被存储进sqlite3数据库中的数据的安全性,需要对该数据库的每个存储页存储的数据进行加密。这样,对sqlite3数据库中存储的每一个2MB的P2P数据块进行读写操作时,需要对一个P2P数据块进行至少两次加解密操作,从而降低了 P2P数据块的读写效率。同时,当在多线程环境下对基于sqlite3数据库存储方式存储的数据进行读写操作时,无论该多线程工作方式是并行工作方式还是串行工作方式,其读写效率都不理想,甚至一些情况下会出现单次写操作耗时达到I至2秒的情况,严重影响了用户体验。另外,以P2P数据块的结构存储P2P数据的电子设备中,当该P2P数据块存储的空间小于P2P数据块包含的数据量时,也可能出现上述问题。

【发明内容】

[0004]本发明实施例的目的在于提供一种用于读写P2P数据的方法及装置,应用于以P2P数据块的格式存储P2P数据的电子设备中,用于解决数据库中存储P2P数据块的存储块的存储空间小于P2P数据块的大小,从而引发的在读写P2P数据块时,由于需对至少两个存储块中的数据进行加解密而产生的读写效率低下问题。
[0005]为达到上述目的,本发明实施例公开了一种用于写P2P数据的方法,应用于以P2P数据块的格式将P2P数据存入到存储文件的电子设备中,所述方法包括步骤:
[0006]接收P2P数据块的写入请求,其中所述写入请求中携带待写入的P2P数据块,该P2P数据块所属文件的标识信息,以及该P2P数据块的块标识信息;
[0007]根据所述存储文件中头文件信息中记录的块信息区的位置信息,查找块信息区;
[0008]根据块信息区中每个块信息条目是否被占用的信息,确定未被占用的一个块信息条目;
[0009]根据该块信息条目中记录的该块信息条目对应的块数据存储条目的位置的信息,将加密后的P2P数据块写入到该位置的块数据存储条目中,并将该P2P数据块所属文件的标识信息及该P2P数据块的块标识信息写入所述块信息条目中,将所述块信息条目的占用信息修改为被占用,其中每个块数据存储条目中存储一个P2P数据块。
[0010]较佳的,所述块信息区的位置信息,包括:
[0011]块信息区的起始位置信息和终点位置信息;或块信息区的起始位置信息和偏移长度信息。
[0012]较佳的,所述将加密后的P2P数据块写入到该位置的块数据存储条目中之前,还包括:
[0013]获取当前待写入的P2P数据块的块校验信息;
[0014]将该P2P数据块的块校验信息写入所述块信息条目中。
[0015]较佳的,所述将加密后的P2P数据块写入到该位置的块数据存储条目中之前,还包括:
[0016]根据预设的每个数据片包含的数据量,将所述P2P数据块划分为多个数据片;
[0017]并获取每个数据片的片校验信息;
[0018]根据存储文件中头文件信息中记录的片信息区的位置信息,在对应位置的片信息区中查找未被占用的一个片信息条目;
[0019]将该P2P数据块所属文件的标识信息、该P2P数据块的块标识信息及获取的每个片校验信息写入所述片信息条目中,并将所述片信息条目的占用信息修改为被占用。
[0020]较佳的,所述片信息区的位置信息包括:
[0021]片信息区的起始位置信息和终点位置信息;或片信息区的起始位置信息和偏移长度信息。
[0022]较佳的,所述方法还包括:
[0023]针对每个数据存储条目中存储的每个P2P数据块,判断全网中存储该P2P数据块的电子设备的数量是否达到设定数量阈值,如果是,将该数据存储条目对应的块信息条目的占用信息修改为未占用;或
[0024]判断每个数据存储条目中存储的每个P2P数据块被读取的次数是否达到设定次数阈值,如果是,将该数据存储条目对应的块信息条目的占用信息修改为未占用。
[0025]本发明实施例还公开了一种用于读取按照上述写入方法写入的P2P数据块的方法,该方法应用于电子设备中,用于读取以P2P数据块的格式存储在存储文件中的P2P数据,包括步骤:
[0026]接收P2P数据块的读取请求,所述数据读取请求中携带待读取的P2P数据块所属文件的标识信息,以及该P2P数据块的块标识信息;
[0027]根据存储文件中头文件信息中记录的块信息区的位置信息,查找块信息区;
[0028]根据待读取的P2P数据块所属文件的标识信息和该P2P数据块的块标识信息,在块信息区中查找存储有该P2P数据块所属文件的标识信息及块标识信息的块信息条目;
[0029]根据该块信息条目中所记录的该块信息条目对应的块数据存储条目的位置的信息,读取并解密该位置的块数据存储条目中存储的P2P数据块。
[0030]较佳的,所述块信息区的位置信息包括:
[0031]块信息区的起始位置信息和终点位置信息;或块信息区的起始位置信息和偏移长度信息。
[0032]较佳的,所述方法还包括:
[0033]根据所述块信息条目中存储的块校验信息,对解密后的所述P2P数据块进行校验;
[0034]当校验通过时,确定所述P2P数据块读取成功;
[0035]否则,确定所述P2P数据块读取失败,并将所述块信息条目的占用信息修改为未占用。
[0036]较佳的,所述方法还包括:
[0037]根据预设的每个数据片包含的数据量,将所述P2P数据块划分为多个数据片;
[0038]根据所述存储文件中头文件信息中记录的片信息区的位置信息,在对应位置的片信息区中查找存储有所述P2P数据块所属文件的标识信息及块标识信息的片信息条目;
[0039]根据所述片信息条目中存储的每个数据片的片校验信息,对对应的每个数据片进行校验,并在校验通过时,将对应的数据片进行上传。
[0040]较佳的,所述片信息区的位置信息包括:
[0041]片信息区的起始位置信息和终点位置信息;或片信息区的起始位置信息和偏移长度信息。
[0042]本发明实施例还公开了一种用于写P2P数据的装置,应用于以P2P数据块的格式将P2P数据存入到存储文件的电子设备中,所述装置包括:
[0043]接收写入请求模块,用于接收P2P数据块的写入请求,其中所述写入请求中携带有待写入的P2P数据块、该P2P数据块所属文件的标识信息以及该P2P数据块的块标识信息;
[0044]查找模块,用于根据所述存储文件中头文件信息中记录的块信息区位置信息,查找块信息区;根据块信息区中每个块信息条目是否被占用的信息,确定未被占用的一个块信息条目;
[0045]写入模块,用于根据该块信息条目中记录的该块信息条目对应的块数据存储条目的位置的信息,将加密后的P2P数据块写入到该位置的块数据存储条目中,并将该P2P数据块所属文件的标识信息及该P2P数据块的块标识信息写入所述块信息条目中,将所述块信息条目的占用信息修改为被占用,其中每个块数据存储条目中存储一个P2P数据块。
[0046]较佳的,所述写入模块,还用于获取当前待写入的P2P数据块的块校验信息;将该P2P数据块的块校验信息写入所述块信息条目中。
[0047]较佳的,所述写入模块,还用于根据预设的每个数据片包含的数据量,将所述P2P数据块划分为多个数据片;并获取每个数据片的片校验信息;根据存储文件中头文件信息中记录的片信息区的位置信息,在对应位置的片信息区中查找未被占用的一个片信息条目;将该P2P数据块所属文件的标识信息、该P2P数据块的块标识信息及获取的每个片校验值写入所述片信息条目中,并将所述片信息条目的占用信息修改为被占用。
[0048]较佳的,所述装置还包括:
[0049]老化模块,用于针对每个数据存储条目中存储的每个P2P数据块,判断全网中存储该P2P数据块的电子设备的数量是否达到设定数量阈值,如果是,将该数据存储条目对应的块信息条目的占用信息修改为未占用;或
[0050]判断每个数据存储条目中存储的每个P2P数据块被读取的次数是否达到设定次数阈值,如果是,将该数据存储条目对应的块信息条目的占用信息修改为未占用。
[0051]本发明实施例还公开了一种用于读取通过上述写入装置写入的P2P数据块的装置,应用于电子设备中,用于读取以P2P数据块的格式存储在存储文件中的P2P数据,所述装置包括:
[0052]接收读取请求模块,用于接收P2P数据块的读取请求,所述数据读取请求中携带待读取的P2P数据块所属文件的标识信息,以及该P2P数据块的块标识信息;
[0053]查找模块,用于根据存储文件中头文件信息中记录的块信息区位置信息,查找块信息区;根据待读取的P2P数据块所属文件的标识信息和该P2P数据块的块标识信息,在块信息区中查找存放存储有该P2P数据块所属文件的标识信息及块标识信息的块信息条目;
[0054]读取模块,用于根据该块信息条目中所记录的该块信息条目对应的块数据存储条目的位置的信息,读取并解密该位置的块数据存储条目中存储的P2P数据块。
[0055]较佳的,所述装置还包括:
[0056]校验处理模块,用于
再多了解一些
当前第1页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1