[发明专利]文件处理方法及装置有效
| 申请号: | 201611041059.0 | 申请日: | 2016-11-23 |
| 公开(公告)号: | CN108090087B | 公开(公告)日: | 2020-08-21 |
| 发明(设计)人: | 米维聪;席强辉;徐超 | 申请(专利权)人: | 上海泓智信息科技有限公司 |
| 主分类号: | G06F16/172 | 分类号: | G06F16/172 |
| 代理公司: | 北京康信知识产权代理有限责任公司 11240 | 代理人: | 韩建伟;张永明 |
| 地址: | 200336 上*** | 国省代码: | 上海;31 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 文件 处理 方法 装置 | ||
1.一种文件处理方法,其特征在于,包括:
从待读取的文件中读取预定长度的内容;
将读取到的所述内容放在缓存区进行缓存,其中,所述缓存区包括多个缓存块,所述多个缓存块分布在多个节点上,所述节点用于对与该节点对应的缓存块中的内容进行处理;
在所述多个缓存块中的内容被处理之后,再次从所述待读取的文件中读取所述预定长度的内容放置在所述多个缓存块中,直到所述待读取的文件被处理完成;
其中,所述方法还包括:
通过一个读取节点对待读取的文件进行拆分;
通过所述读取节点将拆分之后的文件分发到所述多个节点中的至少一个节点对应的缓存块中以进行处理;
其中,对所述待读取的文件进行拆分包括:
确定对所述待读取文件进行拆分的拆分点;
判断根据所述拆分点拆分得到的部分在结束处或者开始处是否包括不完整的内容;
在包括不完整的内容的情况下,移动所述拆分点,使拆分得到的部分包括的内容完整。
2.根据权利要求1所述的方法,其特征在于,所述多个节点中的每个节点对应至少两个缓存块,其中,
在所述两个缓存块中的第一缓存块中的内容在被处理的过程中,从所述文件中根据所述至少两个块缓存块中的第二缓存块的大小读取内容,并将读取到的内容放置在所述第二缓存块中;在所述第二缓存块中的内容在处理的过程中,从所述文件中根据所述至少两块缓存中的第一缓存块的大小读取内容,并将读取到的内容放置在所述第一缓存块中,其中,所述第一缓存块和所述第二缓存块的大小相同或者不同。
3.根据权利要求2所述的方法,其特征在于,所述每个节点对应至少三个缓存块,其中,所述三个缓存块中的一块缓存块中的内容在被处理的过程中,向所述三个缓存块中的另外两块缓存块中放置读取到的内容。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
所述缓存区中的缓存块的大小和/或缓存块的数量根据所述缓存块所在节点的资源情况进行分配,其中,所述分配为周期性分配,或者,所述分配为在满足预定条件下的分配。
5.根据权利要求1所述的方法,其特征在于,
在所述待读取的文件的大小超过阈值的情况下,通过一个读取节点对所述待读取的文件进行拆分;
通过所述读取节点根据所述多个节点中的每个节点的资源情况将拆分之后的文件进行分发。
6.根据权利要求1所述的方法,其特征在于,判断根据所述拆分点拆分得到的部分在结束处或者开始处是否包括不完整的内容包括:
判断所述拆分点处的内容是否为结构化数据或者非结构化数据;
如果为结构化数据则判断根据所述拆分点拆分得到的部分在所述结束处或者所述开始处是否为完整的记录;
如果为非结构化数据则判断根据所述拆分点拆分得到的部分在所述结束处或所述开始处是否为完整的文件。
7.根据权利要求1所述的方法,其特征在于,通过所述读取节点将拆分之后的文件分发到所述多个节点中的至少一个节点对应的缓存块中以进行处理包括:
通过所述读取节点将拆分之后的文件的每个部分分别分发给一个节点组,其中,所述每个节点组包括至少一个节点,所述节点组作为一个整体将接收到的部分放置在缓存块中进行处理。
8.根据权利要求1所述的方法,其特征在于,所述缓存区或每个所述节点对应的缓存块为环状队列,所述环状队列通过写入指针和读取指针访问,在所述环状队列中的缓存被写入之后未被读取之前禁止再次写入。
9.根据权利要求8所述的方法,其特征在于,所述环状队列的大小根据节点对应的资源进行调整。
10.一种文件处理装置,其特征在于,包括:
第一读取单元,用于从待读取的文件中读取预定长度的内容;
缓存单元,用于将读取到的所述内容放在缓存区进行缓存,其中,所述缓存区包括多个缓存块,所述多个缓存块分布在多个节点上,所述节点用于对与该节点对应的缓存块中的内容进行处理;
第二读取单元,用于在所述多个缓存块中的内容被处理之后,再次从所述待读取的文件中读取所述预定长度的内容放置在所述多个缓存块中,直到所述待读取的文件被处理完成;
其中,所述装置还包括:
第一拆分模块,用于通过一个读取节点对待读取的文件进行拆分;
第一分发模块,用于通过所述读取节点将拆分之后的文件分发到所述多个节点中的至少一个节点对应的缓存块中以进行处理;
其中,所述第一拆分模块包括:
确定模块,用于确定对所述待读取文件进行拆分的拆分点;
判断模块,用于判断根据所述拆分点拆分得到的部分在结束处或者开始处是否包括不完整的内容;
移动模块,用于在包括不完整的内容的情况下,移动所述拆分点,使拆分得到的部分包括的内容完整。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海泓智信息科技有限公司,未经上海泓智信息科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201611041059.0/1.html,转载请声明来源钻瓜专利网。





