现在的场景如下:
算法 C ++写数据到一个二进制文件中,在写完数据后也进行了 flush()操作,随后写一份 json 文件,后续算法会持续追加数据到这个二进制文件中,每次追加操作都会产生一份 json 文件用来说明本次操作已经完成。
后端读取到这个 json 文件后才会去读取这个二进制文件,在第一次拿到 json 文件后,发现此时读取的文件大小为 0 ,仅有一份空的二进制文件,于是猜测是挂载服务器未及时同步
挂载服务器 NFS 分别对算法输出的目录和后端识别的目录进行了挂载,推测是算法输出的文件由于一直在被追加所以未能及时同步。
但是算法现在在写 json 之前通过操作系统获取了一下文件大小(之前是后端获取),结果发现目前又是可以及时同步的,所以想问问各位大佬,这可能是什么原因造成的?和操作系统获取文件大小有关吗?
算法 C ++写数据到一个二进制文件中,在写完数据后也进行了 flush()操作,随后写一份 json 文件,后续算法会持续追加数据到这个二进制文件中,每次追加操作都会产生一份 json 文件用来说明本次操作已经完成。
后端读取到这个 json 文件后才会去读取这个二进制文件,在第一次拿到 json 文件后,发现此时读取的文件大小为 0 ,仅有一份空的二进制文件,于是猜测是挂载服务器未及时同步
挂载服务器 NFS 分别对算法输出的目录和后端识别的目录进行了挂载,推测是算法输出的文件由于一直在被追加所以未能及时同步。
但是算法现在在写 json 之前通过操作系统获取了一下文件大小(之前是后端获取),结果发现目前又是可以及时同步的,所以想问问各位大佬,这可能是什么原因造成的?和操作系统获取文件大小有关吗?