BFSPMiner: an effective and efficient batch-free algorithm for mining sequential patterns over data streams