1. A computer-implemented method, comprising: at a computing device: receiving a request to convert a revision of a virtual file system at the computing device into a plurality of blocks within at least one storage device; identifying a hierarchical tree structure associated with the revision of the virtual file system, wherein the hierarchical tree structure includes a plurality of tree nodes, each tree node having associated metadata and corresponding to a respective component of the revision of the virtual file system; converting the hierarchical tree structure and associated metadata into the plurality of blocks within the one storage device in a top-down manner, further including: for each tree node: serializing the tree node's associated metadata into an object; generating an object ID from the serialized object by applying a hash algorithm to data in the serialized object, wherein the object ID is uniquely defined by the tree node's associated metadata such that two different serialized objects do not share the same object ID, and the object is comprised of an object header and an object body, the object header including the object ID and the object body including the serialized metadata, and the object header further includes a tag for determining how the object was serialized and choosing a corresponding application program interface module for deserializing the object in connection with rebuilding the virtual file system; storing the object in a respective one of the plurality of blocks within the storage device if the object ID is not found in an object-storage mapping table associated with the virtual file system and discarding the object if the object ID is found in the object-storage mapping table associated with the virtual file system; and inserting the object ID into the object-storage mapping table; and storing the object-storage mapping table in a respective one of the plurality of blocks within the storage device.