本发明实施例提供了一种数据同步的方法、客户端、服务端及系统,用于基于内容可变长度分块对客户端和服务端中需要同步的第一数据和第二数据进行分块,从而使得对第一数据和第二数据的分块只有在插入数据块的少量数据块处发生变动,而其他数据块则不受影响。本发明实施例方法包括:确定预设长度为M的滑动窗口;利用滑动窗口依次遍历客户端中需要同步的第一数据,并在执行遍历时,计算每个滑动窗口中字符的哈希值F;当被遍历的第一数据满足第一条件时,将所述滑动窗口所处的位置定义为数据分块点,以将所述第一数据划分为多个数据块,其中,所述第一条件为:所述F mod D=r,所述D表示所述数据块的预期长度,所述r为小于D的任意自然数。