[发明专利]对账系统中的大文件分布式处理方法及装置在审
| 申请号: | 202111102977.0 | 申请日: | 2021-09-18 |
| 公开(公告)号: | CN114020716A | 公开(公告)日: | 2022-02-08 |
| 发明(设计)人: | 轩焕焕;吴龙伟 | 申请(专利权)人: | 宝付网络科技(上海)有限公司 |
| 主分类号: | G06F16/182 | 分类号: | G06F16/182;G06F16/172;G06Q20/02;G06Q20/08 |
| 代理公司: | 上海海钧知识产权代理事务所(特殊普通合伙) 31330 | 代理人: | 许兰 |
| 地址: | 200231 上海市*** | 国省代码: | 上海;31 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 系统 中的 文件 分布式 处理 方法 装置 | ||
1.对账系统中的大文件分布式处理方法,所述方法适用于包括文件服务器和N个节点的集群中,每个节点对应一个应用服务器,所述文件服务器为所述N个节点中的至少一个提供对账文件,所述N为大于等于1的正整数;其特征在于,所述方法包括:
将集群中各应用服务器所在的节点按照预设的编号规则进行编号;
所述文件服务器将至少一个对账文件按预设的分片策略进行逻辑分片,将逻辑分片后的文件按序分配至相应节点的缓存中;
每个节点从所述文件服务器中下载完整的对账文件,并将对账文件存储在本地,各节点根据当前节点的编号确定读取的相应的文件片,通过字节流的方式读取文件片,获取相应的文件片数据,直至完整的对账文件被节点全部读取成功;其中,读取的每一个文件片数据存储于一块连续内存中,包括一个起始位置的首字符、一个结束位置的结束符和位于首字符和结束符之间的至少一个换行符,所述换行符用于触发数据换行操作;
获取所述文件片数据,对所述文件片数据进行数据处理,包括:
A,计算所述文件片数据对应的尾换行符的索引位置,所述尾换行符为一个文件片数据中包含的最后一个换行符;判断该文件片数据的结束符是否为尾换行符,若是,则剔除尾换行符后面的字节流数据;若否,则再次读取对账文件,从该尾换行符的索引位置往后读,读到下一个换行符后结束,再将此次重新读取的字节流数据合并到先前分片读取的字节流数据中;
B,计算所述文件片数据对应的首换行符的索引位置,所述首换行符为一个文件片数据中包含的第一个换行符;判断该文件片数据的首字符是否为首换行符,若否,则直接剔除首换行符之前的字节流数据。
2.根据权利要求1所述的对账系统中的大文件分布式处理方法,其特征在于,所述预设的编号规则包括:应用服务器所在节点IP的hash值对节点的数量取余,作为该节点的编号Qn,即Qn=IPn%N;其中,Qn为集群中第n个节点的编号,IPn为集群中第n个节点的节点IP值,N为集群中的节点数量。
3.根据权利要求1所述的对账系统中的大文件分布式处理方法,其特征在于,所述预设的分片策略包括:
获取节点的内存大小,取内存大小的预设比例作为文件片的大小;
将对账文件的大小除以文件片的大小,得到对账文件对应的分片数量,分片数量对应需要处理对账文件的节点数量;
其中,当需要的节点数量小于或等于真实部署的节点数量时,所述文件服务器对各节点进行直接分配,当需要的节点数量大于真实部署的节点数量时,所述文件服务器对各节点进行循环分配。
4.根据权利要求1所述的对账系统中的大文件分布式处理方法,其特征在于,所述方法还包括:设置监控模块,监控模块包括守护线程,用于监控集群中各节点的文件处理过程,其中,
启动守护线程定时扫描各节点的文件处理过程,若所有分片任务均正常处理结束,则当前对账文件处理结束;若存在某个分片任务处理失败、或者当前节点的处理时间超过预设时间,则判定该分片任务处理失败,对于处理失败的任务由定时任务发起重新处理。
5.根据权利要求4所述的对账系统中的大文件分布式处理方法,其特征在于,所述方法还包括:若某个节点处理失败,则人工或守护线程修改该节点对应的编号,当守护线程扫描到符合该编号的当前节点的任务未成功时,发起重新解析;处理成功后,更新相应节点的状态信息。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于宝付网络科技(上海)有限公司,未经宝付网络科技(上海)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111102977.0/1.html,转载请声明来源钻瓜专利网。





