manager.go
func NewDirtyManager(store DirtyStore, checkInterval ...time.Duration) *DirtyManager {
	interval := DefaultCheckInterval
	if len(checkInterval) > 0 {
		interval = checkInterval[0]
	}
	manage := &DirtyManager{
		store:    store,
		version:  store.Version(),
		filter:   NewNodeChanFilter(store.Read()),
		interval: interval,
	}
	go func() {
		manage.checkVersion()
	}()
	return manage
}
func NewDirtyManager(store DirtyStore, checkInterval ...time.Duration) *DirtyManager {
	interval := DefaultCheckInterval
	if len(checkInterval) > 0 {
		interval = checkInterval[0]
	}
	manage := &DirtyManager{
		store:    store,
		version:  store.Version(),
		filter:   NewNodeChanFilter(store.Read()),
		interval: interval,
	}
	go func() {
		manage.checkVersion()
	}()
	return manage
}
// NewDirtyManager 使用敏感词存储接口创建敏感词管理的实例