private void acquireData() {
		logger.info("Acquiring data from primary!");
		try {
			String currentPrimaryIpAddrs = currentPrimary.get("ipAddrs")
					.toString();
			int currentPrimaryPortNum = Integer.valueOf(currentPrimary.get(
					"portNum").toString());

			Socket registerSocket = new Socket(currentPrimaryIpAddrs,
					currentPrimaryPortNum);

			BufferedWriter wr = new BufferedWriter(new OutputStreamWriter(
					registerSocket.getOutputStream()));

			String path = "/acquireData";
			wr.write("GET " + path + " HTTP/1.1\r\n");
			wr.write("\r\n");
			wr.flush();

			BufferedReader recerive_br = new BufferedReader(
					new InputStreamReader(registerSocket.getInputStream()));

			String receive_line = null;
			ArrayList<String> receive_Hearder = new ArrayList<String>();

			while (!(receive_line = recerive_br.readLine().trim()).equals("")) {
				receive_Hearder.add(receive_line);
			}

			String[] responseHeader = null;
			responseHeader = receive_Hearder.get(0).trim().split(" ");

			String responseType = null;
			responseType = responseHeader[1];

			if (responseType.equals("200")) {
				char[] bodyChars = new char[1000];
				recerive_br.read(bodyChars);
				StringBuffer sb = new StringBuffer();
				sb.append(bodyChars);
				String receive_body = sb.toString().trim();

				JSONParser jp = new JSONParser();
				JSONObject responseBody = null;
				try {
					responseBody = (JSONObject) jp.parse(receive_body);
				} catch (ParseException e) {
					logger.debug(e.getMessage(), e);
				}

				int dataServerVersion = Integer.valueOf(responseBody.get(
						"dataServerVersion").toString());
				ds_tweetsMap.setDataServerVersion(dataServerVersion);
				JSONArray entireData = (JSONArray) responseBody
						.get("entireData");

				for (int i = 0; i < entireData.size(); i++) {
					JSONObject eachObject = (JSONObject) entireData.get(i);
					String key = eachObject.get("key").toString();
					int eachVersionNum = Integer.valueOf(eachObject.get(
							"versionNum").toString());
					JSONArray eachDataArray = (JSONArray) eachObject
							.get("dataArray");

					TweetsData tweetsData = new TweetsData();
					tweetsData.setVersionNum(eachVersionNum);
					tweetsData.setTweetsArray(eachDataArray);

					ds_tweetsMap.setTweetsHashMap(key, tweetsData);
				}

				logger.info("Acquire data from primary server successfully! My current dataServer version is: "
						+ ds_tweetsMap.getDataServerVersion());
				logger.info("My current database is: " + entireData);

			} else {
				logger.info("Fail to acquire data from primary server!");
			}

			registerSocket.close();
		} catch (IOException e) {
			logger.debug(e.getMessage(), e);
		}
	}