In the context of load balancing [1], Lu et al. proposed a novel class of algorithms called Join-Idle-Queue (JIQ) for distributed load balancing in large systems, where a group of dispatchers distribute jobs to a cluster of parallel servers. Each dispatcher maintains a queue called Idle-Queue for idle servers. When a job arrives to a dispatcher at random, the dispatcher sends it to a server which in the head of the Idle-Queue, or to a random server if the Idle-Queue is empty. Meanwhile conversely, when a server has no jobs, it actively requests to be placed on an Idle-Queue. Although this algorithm was shown to be quite effective [2,3], it is defective in some respects. This paper presents several new improvements, which makes the algorithm more effective, especially in Cloud-based Flow Security System (CFS). These improvements focus primarily on these aspects, such as the definition of idle server, data concurrency while choosing an Idle-Queue, etc. The experimental results show that the improved load balancing algorithm can improve the utilization of resources in a certain extent.