private void processData() {
        Map<String, InstanceInfo> instanceInfoMap = InstanceCache.INSTANCE_MAP;
        if (instanceInfoMap.isEmpty()) {
            LOGGER.log(Level.FINE,"Instance information is empty");
            return;
        }
        for (Iterator<Map.Entry<String, InstanceInfo>> iterator = instanceInfoMap.entrySet().iterator();
                iterator.hasNext(); ) {
            InstanceInfo info = iterator.next().getValue();
            if (System.currentTimeMillis() - info.getLastInvokeTime() >= removalConfig.getExpireTime()) {
                iterator.remove();
                if (info.getRemovalStatus().get()) {
                    removalEventService.reportRemovalEvent(info);
                }
                LOGGER.info("Instance information expires, remove instance information");
                continue;
            }
            saveRequestCountData(info);
            LOGGER.log(Level.FINE, "The Instance information is {0}", info);
        }
    }
@Test
    public void testProcessData() throws InterruptedException {
        requestDataCountTask = new RequestDataCountTask();
        requestDataCountTask.start();
        Thread.sleep(15000);
        InstanceInfo info = InstanceCache.INSTANCE_MAP.get(KEY);
        Assert.assertTrue(info != null && info.getCountDataList().size() > 0);
        Iterator<RequestCountData> requestCountDataIterator = info.getCountDataList().iterator();
        while (requestCountDataIterator.hasNext()) {
            RequestCountData requestCountData = requestCountDataIterator.next();
            Assert.assertEquals(REQ_NUM, requestCountData.getRequestNum());
            Assert.assertEquals(REQ_FAIL_NUM, requestCountData.getRequestFailNum());
        }
    }