func Execute(req *servlet.Servlet) {
	request := req.Command
	if request.Type.String() == "Get" {
		value := []string{kv[*request.Key]}
		response := protos.Response{
			Status: proto.Bool(true),
			Value:  value,
		}
		req.Response = &response
		responseChannel <- req
	}
	if request.Type.String() == "Set" {
		partitionKey := req.PartitionKey
		keys[partitionKey] = 1
		kv[*request.Key] = *request.Value
		response := protos.Response{
			Status: proto.Bool(true),
		}
		req.Response = &response
		responseChannel <- req
	}
	if request.Type.String() == "Add" {
		partitionKey := req.PartitionKey
		keys[partitionKey] = 1
		if kv[*request.Key] != "" && kv[*request.Key] != "0" {
			oper1, _ := strconv.ParseFloat(kv[*request.Key], 32)
			oper2, _ := strconv.ParseFloat(*request.Value, 32)
			sum := oper1 + oper2
			kv[*request.Key] = strconv.FormatFloat(sum, 'f', -1, 32)
		} else {
			kv[*request.Key] = *request.Value
		}
		response := protos.Response{
			Status: proto.Bool(true),
		}
		req.Response = &response
		responseChannel <- req
	}
	if request.Type.String() == "Iterate" {
		//一次取出所有的key吗?只取partitionKey
		response := protos.Response{
			Status: proto.Bool(true),
		}
		var iterate []string
		for k, _ := range keys {
			//			fmt.Println("key: "+k)
			iterate = append(iterate, k)
		}
		response.Value = iterate
		//fmt.Println("result:"+result)
		req.Response = &response
		responseChannel <- req
	}
	if request.Type.String() == "Flush" {
		if kv["Flush"] != "" && kv["Flush"] != "0" {
			sum, _ := strconv.Atoi(kv["Flush"])
			kv["Flush"] = strconv.Itoa(sum + 1)
		} else {
			kv["Flush"] = "1"
		}
		if kv["Flush"] == strconv.Itoa(len(servers)) {
			Accumulator()
			kv["Flush"] = "0"
		}
		response := protos.Response{
			Status: proto.Bool(true),
		}
		req.Response = &response
		responseChannel <- req
	}
}