CN112398694B - Flow detection system, method and storage medium - Google Patents

Flow detection system, method and storage medium Download PDF

Info

Publication number
CN112398694B
CN112398694B CN202011293214.4A CN202011293214A CN112398694B CN 112398694 B CN112398694 B CN 112398694B CN 202011293214 A CN202011293214 A CN 202011293214A CN 112398694 B CN112398694 B CN 112398694B
Authority
CN
China
Prior art keywords
flow
simulation
server
simulator
cluster
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202011293214.4A
Other languages
Chinese (zh)
Other versions
CN112398694A (en
Inventor
郭汉磊
高雷
邢志杰
毛伟
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
INTERNET DOMAIN NAME SYSTEM BEIJING ENGINEERING RESEARCH CENTER
Original Assignee
INTERNET DOMAIN NAME SYSTEM BEIJING ENGINEERING RESEARCH CENTER
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by INTERNET DOMAIN NAME SYSTEM BEIJING ENGINEERING RESEARCH CENTER filed Critical INTERNET DOMAIN NAME SYSTEM BEIJING ENGINEERING RESEARCH CENTER
Priority to CN202011293214.4A priority Critical patent/CN112398694B/en
Publication of CN112398694A publication Critical patent/CN112398694A/en
Application granted granted Critical
Publication of CN112398694B publication Critical patent/CN112398694B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/14Network analysis or design
    • H04L41/145Network analysis or design involving simulating, designing, planning or modelling of a network
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/903Querying
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Linguistics (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Environmental & Geological Engineering (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Debugging And Monitoring (AREA)

Abstract

The application provides a flow detection system, a flow detection method and a storage medium, wherein the system comprises a control subsystem, middleware and simulator clusters which are connected with each other, each simulator cluster comprises at least two simulation servers and is used for sending respective state information to the control subsystem, the control subsystem sends a flow query request to at least one available simulation server in the simulator cluster through the middleware according to the state information, and the available simulation server is communicated with a target domain name system server according to the received flow query request to detect the performance of the flow detection system. The control subsystem and the simulator cluster work cooperatively, so that the flexible distribution of the large-capacity flow query request and the detection of the performance of the detection system are realized.

Description

Flow detection system, method and storage medium
Technical Field
The present disclosure relates to the field of internet technologies, and in particular, to a flow detection system, a flow detection method, and a storage medium.
Background
In the field of internet technology, how much a domain name system (Domain Name System, DNS) server provides DNS resolution Query services to internet users at the same time is called Query Per Second (QPS), which is also used to measure the performance of a simulation server that sends DNS Query requests to the DNS server.
In order to realize flexible query of the QPS DNS, in the prior art, after receiving a flow simulation task, a simulation server calculates a period value according to the QPS which is simulated as required, and then starts a thread pool to periodically initiate a DNS query request to a target DNS server.
However, this domain name query method generally cannot exceed the capacity limit of the analog server, and when the capacity limit of the analog server is exceeded, the performance of the analog server that sends the DNS query request to the DNS server cannot be effectively measured.
Disclosure of Invention
The embodiment of the application provides a flow detection system, a flow detection method and a storage medium, which are used for solving the problem that a single simulation server cannot meet the requirement of Query simulation when a high-capacity Per Second Query rate (QPS) exists.
In a first aspect, an embodiment of the present application provides a flow detection system, including: a control subsystem, middleware and simulator cluster interconnected;
the simulator cluster comprises: each simulation server is also connected with the control subsystem and used for sending respective state information to the control subsystem;
the control subsystem is used for sending a flow query request to at least one available simulation server in the simulator cluster through the middleware according to the state information of each simulation server;
the at least one available simulation server is further configured to detect performance of the traffic detection system by communicating with a target domain name system server based on the received traffic query request.
In one possible design of the first aspect, the control subsystem comprises: the system comprises a user interaction interface, a detection module and an allocation module;
the user interaction interface is used for acquiring an externally initiated flow simulation task;
the detection module is used for detecting the state information of each simulation server in the simulator cluster and determining at least one available simulation server in the simulator cluster;
and the distribution module is used for distributing flow inquiry requests to each available simulation server through the middleware according to the flow simulation task.
In another possible design of the first aspect, each available analog server is specifically configured to monitor a traffic query request queue, determine a query period according to a traffic value in each received traffic query request, and send the traffic query request to the target domain name system server according to the query period.
In a second aspect, an embodiment of the present application provides a flow detection method, including:
receiving a flow simulation task sent by the outside, wherein the flow simulation task comprises the following steps: a target flow value;
determining at least one available simulation server in a simulator cluster according to state information of each simulation server in the simulator cluster;
dividing the target flow value according to the number of the available simulation servers to obtain at least one flow value, wherein the number of the flow values is consistent with the number of the available simulation servers;
and respectively sending flow inquiry requests to at least one available simulation server, wherein each available simulation server is used for detecting the performance of the flow detection system by communicating with the target domain name system server according to the received flow inquiry requests.
In one possible design of the second aspect, the state information of each simulation server is periodic synchronization information of each simulation server in the simulator cluster, where the periodic synchronization information includes: load information and resource usage information of the simulation server.
As an example, the determining at least one available simulation server in the simulator cluster according to the status information of each simulation server in the simulator cluster includes:
determining at least one candidate simulation server which sends out periodic synchronization information in the simulator cluster;
and determining at least one available simulation server in the simulator cluster according to the load information and the resource use information of the at least one candidate simulation server.
As another example, the dividing the target flow value according to the number of the available simulation servers to obtain at least one flow value includes:
and according to the number of the available simulation servers in the simulator cluster, equally dividing the target flow values to obtain at least one flow value with equal flow values.
In another possible design of the second aspect, the sending the traffic query requests to the at least one available analog server includes:
the traffic query requests are distributed to each available simulation server through middleware.
In yet another possible design of the second aspect, the method further comprises:
receiving a traffic query response sent by the at least one available analog server, the traffic query response comprising: the number of queries per second for the target domain name system server;
and determining the performance of the flow detection system according to the flow inquiry responses sent by all the available simulation servers.
In a third aspect, embodiments of the present application also provide a computer-readable storage medium having stored therein computer instructions which, when run on a computer, cause the computer to perform the method of the second aspect and each possible design.
The embodiment of the application provides a flow detection system, a flow detection method and a storage medium, wherein the system comprises a control subsystem, middleware and simulator clusters which are connected with each other, each simulator cluster comprises at least two simulation servers and is used for sending respective state information to the control subsystem, the control subsystem sends a flow query request to at least one available simulation server in the simulator cluster through the middleware according to the state information, and the available simulation server is communicated with a target domain name system server according to the received flow query request to detect the performance of the flow detection system. The control subsystem and the simulator cluster work cooperatively, so that the flexible distribution of the large-capacity flow query request and the detection of the performance of the detection system are realized.
Drawings
The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate embodiments disclosed herein and together with the description, serve to explain the principles disclosed herein.
Fig. 1 is a schematic structural diagram of a flow detection system according to an embodiment of the present disclosure;
fig. 2 is a schematic structural diagram of a control subsystem according to an embodiment of the present application;
FIG. 3 is a flow chart of a flow detection method according to an embodiment of the present disclosure;
fig. 4 is a flow chart of a flow detection method provided in the second embodiment of the present application;
fig. 5 is a flow chart of a flow detection method according to a third embodiment of the present application.
Specific embodiments thereof have been shown by way of example in the drawings and will herein be described in more detail. These drawings and the written description are not intended to limit the scope of the disclosed concepts of the application in any way, but rather to illustrate the disclosed concepts of the application to those skilled in the art by reference to specific embodiments.
Detailed Description
For the purposes of making the objects, technical solutions and advantages of the embodiments of the present application more clear, the technical solutions of the embodiments of the present application will be clearly and completely described below with reference to the drawings in the embodiments of the present application, and it is apparent that the described embodiments are some embodiments of the present application, but not all embodiments. All other embodiments, which can be made by one of ordinary skill in the art without undue burden from the present disclosure, are within the scope of the present disclosure.
First, terms related to the embodiments of the present application will be explained:
domain name system (Domain Name System, DNS): a service of the internet, which is a distributed database that maps domain names and IP addresses to each other, can make it easier for people to access the internet.
Java is an object-oriented programming language, not only absorbs various advantages of the C++ language, but also abandons concepts such as multiple inheritance and pointers which are difficult to understand in the C++, so that the Java language has two characteristics of powerful functions, simplicity and easiness in use. The Java language is a representation of the static object-oriented programming language, which best implements object-oriented theory.
Active MQ: an implementation of an open source Java message service JMS (Java Message Service) specification based message middleware, the design goal of which is to provide standard, message oriented, application integration messaging middleware that can span multiple languages and systems.
Query Per Second (QPS): a measure of how much traffic a particular query server handles in a specified time is often measured as a query rate per second over the internet as the performance of the machine of the domain name system server.
The dns protocol client tool class library (DnsJava) of Java version: for implementing the query function (e.g., ns a dnssec, etc.) of various DNS resource records by communicating with the DNS server in a linux-like dig command.
Thread pool (thread pool): in a form of multithreaded processing, tasks are added to a queue during processing, and then automatically initiated after a thread is created. The thread pool threads are background threads. Each thread runs with default priority using default stack size and is in a multithreaded unit.
Before describing embodiments of the present application, the background of the present application is first explained as follows:
with the continuous popularization and perfection of the internet, more and more users work, learn and entertain through the internet. DNS servers play an important role in enabling users to access the internet more conveniently, while QPS is often used to measure the performance of DNS servers that provide DNS resolution query services to internet users, as well as the performance of analog servers that send DNS query requests to DNS servers.
When a user initiates a DNS flow simulation demand through a user interaction interface, a background system sends QPS to be simulated to a simulation server through an application integration message communication middleware Active MQ, the simulation server starts an execution thread pool, and a DNS query request meeting the demand is sent to a target DNS server by using dnsJava at a fixed rate according to a calculated period value. The server is communicated with the DNS server through the DNS server, so that the inquiring function of various DNS resource records is realized, and the user can access the Internet more conveniently.
However, when a user initiates that a target QPS in the DNS traffic simulation demand is a large-capacity QPS through the user interaction interface, the large-capacity QPS has exceeded the capacity limit of the simulation server, and the simulation server cannot effectively process the large-capacity QPS.
In view of the above, the present application provides a flow detection system, a method, and a storage medium. The system comprises a control subsystem, a simulator cluster connection and middleware, wherein at least two simulation servers in the simulator cluster are connected with the control subsystem and used for sending respective state information to the control subsystem, the control subsystem is used for sending a flow query request to at least one available simulation server in the simulator cluster through the middleware according to the state information of each simulation server, and the at least one available simulation server detects the performance of a flow detection system through communication with a target domain name system server according to the received flow query request. According to the technical scheme, the control subsystem flexibly distributes the large-capacity QPS to the available simulation servers in the simulator cluster through the middleware, and the performance of the detection system is also detected.
The following describes the technical scheme of the present application in detail through specific embodiments. It should be noted that the following embodiments may be combined with each other, and the same or similar concepts or processes may not be described in detail in some embodiments.
Fig. 1 is a schematic structural diagram of a flow detection system according to an embodiment of the present application. Referring to fig. 1, the flow rate detection system may include: the interconnected control subsystem 10, middleware 11, simulator cluster 12, and target domain name system server 13.
Illustratively, the simulator cluster 12 includes: at least two simulation servers, each of which is further connected to the control subsystem 10 for transmitting respective status information to the control subsystem 10.
Alternatively, simulator cluster 12 may include five simulation servers, simulation server 121, simulation server 122, simulation server 123, simulation server 124, and simulation server 125, each of which may be connected to control subsystem 10 by wireless communication and configured to send respective status information to control subsystem 10.
Alternatively, five simulation servers in the simulator cluster 12 are merely illustrated herein, and the embodiment of the present application does not limit the number of simulation servers, which may be determined according to the actual scenario.
Illustratively, the control subsystem 10 is configured to send, via the middleware 11, a traffic query request to at least one available simulation server in the simulator cluster 12 according to the status information of each simulation server.
Alternatively, the middleware 11 may be an open source message middleware Active MQ, and the function of QPS coordination across nodes is implemented by using the Java program Active MQ.
In general, the middleware 11 may include a primary ActiveMQ (ActiveMQ Master), a backup ActiveMQ (ActiveMQ Slave), and a database. The ActiveMQ Master is connected with the database through jdbc, and when an error occurs in the ActiveMQ Master, the ActiveMQ Slave is started to replace the ActiveMQ Master to work.
Alternatively, all five simulation servers in the simulator cluster 12 may send respective status information to the control subsystem 10, and the control subsystem 10 may receive the respective status information of the five simulation servers, and determine, according to the acquired status information, the number of simulation servers available at the current moment, for example, three available simulation servers, namely, the simulation server 121, the simulation server 122 and the simulation server 123, and at this time, the control subsystem 10 sends flow query requests to the three simulation servers.
Illustratively, at least one available analog server is also used to detect the performance of the traffic detection system by communicating with the target domain name system server 13 based on the received traffic query request.
Optionally, each available analog server is specifically configured to monitor a traffic query request queue, determine a query period according to a traffic value in each received traffic query request, and send the traffic query request to the target domain name system server 13 according to the query period.
Optionally, the simulation server 121, the simulation server 122 and the simulation server 123 respectively receive the flow query requests from the control subsystem 10, monitor the respective corresponding flow query request queues, calculate respective query period values according to the received flow values in each flow query request by using a scheduleAtFixedRate () method, and send the flow query requests meeting the requirements to the target domain name system server 13 at a fixed rate.
Specifically, the scheduleAtFixedRate () method defines: creating and executing a periodic operation which is enabled for the first time after a given initial delay, the subsequent operation having a given period, schedule future? > scheduleAtFixedRate (Runneable command, long initialDelay, long period, timeUnit Unit).
Using a given QPS target, a certain period value (period) is calculated (calculation method: 1s/QPS, then turning to microseconds):
“long period=(long)Math.floor(((double)1000/tldQps)*1000);
return period。”
optionally, three simulation servers in the simulator cluster 12 are used for illustration, and the number of the available simulation servers in the practical application may be determined according to the practical scenario, which is not described herein.
The flow detection system provided by the embodiment comprises a control subsystem, middleware and simulator clusters which are connected with each other, wherein each simulator cluster comprises at least two simulation servers and is used for sending respective state information to the control subsystem, the control subsystem sends a flow query request to at least one available simulation server in the simulator cluster through the middleware according to the state information, and the available simulation server is communicated with a target domain name system server according to the received flow query request to detect the performance of the flow detection system. The control subsystem and the simulator cluster work cooperatively, so that the flexible distribution of the large-capacity flow query request and the detection of the performance of the detection system are realized.
Fig. 2 is a schematic structural diagram of a control subsystem according to an embodiment of the present application. Referring to fig. 2, the subsystem 20 may include: a user interaction interface 201, a detection module 202 and an allocation module 203.
Illustratively, the user interaction interface 201 is used to obtain an externally initiated traffic simulation task.
Optionally, when the user accesses the internet, the user interaction interface 201 obtains a traffic simulation task that accesses the internet at the current moment. Here, the flow simulation task QPS acquired by the user interface 201 is described as 50 ten thousand, and it should be noted that 50 ten thousand are taken as examples herein, and the numerical value of QPS is not limited.
Illustratively, the detecting module 202 is configured to detect status information of each simulation server in the simulator cluster, and determine at least one available simulation server in the simulator cluster.
Optionally, the detection module 202 detects status information of five simulation servers in the simulator cluster, where the status information indicates whether the five simulation servers are available at the current moment, and the detection module 202 determines that only three simulation servers are available in the simulator cluster. The limitation of the number of servers is described above, and is not described here again.
Specifically, the term "available" refers to that the simulation server can be used to process the flow simulation task allocated by the control subsystem at the current moment.
Illustratively, the distribution module 203 is configured to distribute, through middleware, a traffic query request to each available simulation server according to a traffic simulation task.
Optionally, the distribution module 203 issues 50w QPS to three available simulation servers according to the required traffic simulation tasks and the available simulation servers, and the issued process is implemented by communicating with the distribution module 203 and the simulation servers through middleware.
In the control subsystem provided by the embodiment, the user interaction interface acquires the flow simulation tasks initiated from the outside, the detection module detects the state information of each simulation server in the simulator cluster, and determines the available simulation servers, and the distribution module distributes the flow simulation tasks to the available simulation servers through the middleware. In the scheme, the control subsystem is used for coordinating the simulation server and the flow simulation task in the simulator cluster, and provides a basis for realizing communication between the simulation server and the target domain name system server and detecting the performance of the flow detection system.
Fig. 3 is a flowchart of a flow detection method according to an embodiment of the present application. The method can be applied to the flow detection system shown in fig. 1 to 2, and as shown in fig. 3, the flow detection method in the embodiment of the application can be implemented according to the following steps:
s301, receiving a flow simulation task sent by the outside, wherein the flow simulation task comprises the following steps: a target flow value.
For example, when the user wants to know the performance of the flow detection system, the control subsystem may obtain a flow simulation task initiated by the user based on an event that the user accesses the internet, where the flow simulation task needs to finally implement a DNS server to provide DNS resolution query service for the user, so that the user can access the internet more conveniently. The flow simulation task includes: the target flow value, here exemplified by QPS of 50 ten thousand.
S302, determining at least one available simulation server in the simulator cluster according to the state information of each simulation server in the simulator cluster.
Illustratively, the state information of each simulation server is periodic synchronization information of each simulation server in the simulator cluster, where the periodic synchronization information includes: load information and resource usage information of the simulation server.
Optionally, when the control subsystem receives the target flow value of 50 ten thousand, the control subsystem acquires state information of each simulation server in the simulator cluster, where the state information may be load information and resource usage information of each simulation server.
The load information is the total capacity of the simulation server in full load, and the resource use information is the ratio of the capacity used by the simulation server under the capacity to the total capacity. The control subsystem obtains a number of analog servers that corresponds to 50 thousands of values capable of assigning the target flow.
Specifically, the status information of each analog server is periodically sent to the control subsystem through each analog server, where the period may be 1 minute or 5 minutes, which is not limited herein.
S303, dividing the target flow value according to the number of the available simulation servers to obtain at least one flow value, wherein the number of the flow values is consistent with the number of the available simulation servers.
The control subsystem obtains the number of available simulation servers meeting the allocation standard, divides the target flow value of 50 ten thousand according to the number, obtains the number of copies consistent with the number of the available simulation servers, and if the number of the available simulation servers is N, the number of the divided copies is N.
The number of available simulation servers here should be less than or equal to the total number of simulation servers in the simulator cluster.
Optionally, the target flow values are equally divided according to the number of available simulation servers in the simulator cluster, so as to obtain at least one flow value with equal flow values.
By way of example, if the number of available simulation servers is 3 and the target flow value QPS for the flow simulation task is 50 ten thousand, the 50 ten thousand is divided into 3 copies, i.e., each copy of QPS is about 16.67 ten thousand of the flow simulation task. After the target flow value QPS 50 of the flow simulation task is equally divided according to the number of 3 available simulation servers, the control subsystem sends 16.67 ten thousand flow simulation tasks of QPS to each available simulation server.
S304, respectively sending flow inquiry requests to at least one available simulation server, wherein each available simulation server is used for detecting the performance of the flow detection system by communicating with the target domain name system server according to the received flow inquiry requests.
The control subsystem sends the divided N flow query requests to N available simulation servers respectively, and specifically, the control subsystem distributes the flow query requests to the N available simulation servers through middleware, wherein the simulation servers communicate with the target domain name system server after receiving the flow query requests, and perform DNS query service. The function of the middleware to implement the transfer is described above, and is not described herein.
According to the flow detection method provided by the embodiment, the control subsystem receives flow simulation tasks sent by the outside, determines at least one available simulation server according to the state information of each simulation server in the simulator cluster, divides a target flow value into values corresponding to the number according to the number of the available simulation servers, respectively sends flow inquiry requests to the available simulation servers through middleware, and the available simulation servers are communicated with the target domain name system server to realize detection of the performance of the flow detection system.
Fig. 4 is a flow chart of a flow detection method according to a second embodiment of the present application. As shown in fig. 4, the step S302 may include the following steps:
s401, determining at least one candidate simulation server which sends out periodic synchronization information in a simulator cluster.
In the simulator cluster, each simulation server periodically sends respective state information to the control subsystem, and the control subsystem receives the state information of each simulation server and determines candidate simulation servers to which the flow simulation task can be allocated.
By way of example, the period may be 1 minute, 5 minutes, without limitation.
S402, determining at least one available simulation server in the simulator cluster according to the load information and the resource use information of at least one candidate simulation server.
Illustratively, the control subsystem allocates based on the received load information, resource usage information, and target flow values for the flow simulation tasks for the candidate simulation servers, and determines available simulation servers.
Specifically, if the target flow value QPS is 50 ten thousand, the 1# simulation server load information is 20 ten thousand, the resource usage information is 10%, the 2# simulation server load information is 20 ten thousand, the resource usage information is 10%, the 3# simulation server load information is 20 ten thousand, the resource usage information is 0%, the 4# simulation server load information is 20 ten thousand, the resource usage information is 80%, the 5# simulation server load information is 20 ten thousand, and the resource usage information is 95%.
Further, the 5# simulation server is basically in a full load state, the control subsystem determines that the other 4 simulation servers are candidate simulation servers, the 1# simulation server can load 18 ten thousand, the 2# simulation server can load 18 ten thousand, the 3# simulation server can load 20 ten thousand, the 4# simulation server can load 4 ten thousand, and according to the target flow value QPS of 50 ten thousand, the control subsystem determines that under the condition that the flow simulation tasks are not distributed to the 4# simulation server, the rest 3 simulation servers can also jointly bear 50 ten thousand flow simulation tasks and are in a normal working state.
Still further, the # 1 simulation server, the # 2 simulation server and the # 3 simulation server are available simulation servers, and the control subsystem distributes 16 ten thousand, 16 ten thousand and 18 ten thousand flow simulation tasks to the available simulation servers, respectively.
Optionally, the number of candidate simulation servers is less than or equal to the total number of simulation servers in the simulator cluster and greater than or equal to the number of available simulation servers, and the control subsystem assigns the number of traffic simulation tasks to the available simulation servers, respectively, by way of example only and not limitation.
According to the flow detection method provided by the embodiment, the control subsystem determines candidate simulation servers sending periodic synchronization information, and determines available simulation servers in the simulator cluster according to load information and resource use information of each candidate simulation server. According to the technical scheme, the control subsystem is used for completing the flow simulation task to the greatest extent by utilizing the simulation servers in the simulator cluster by acquiring the load information and the resource use information of each candidate simulation server.
Fig. 5 is a flow chart of a flow detection method according to a third embodiment of the present application. As shown in fig. 5, in this embodiment, the method may further include the following steps:
s501, receiving a flow inquiry response sent by at least one available simulation server, wherein the flow inquiry response comprises the following steps: number of queries per second for the target domain name system server.
Illustratively, each available simulation server starts an execution thread pool according to the received flow query request, creates a periodically running flow query request, and sends a DNS query request meeting the requirements to the target DNS server at a fixed flow query request rate, i.e. through DnsJava, according to the calculated period value.
Illustratively, the target domain name system server receives traffic query responses sent by each of the available analog servers, the responses being queries per second for the target domain name system server.
Alternatively, DNS-related query operations are typically implemented using a Java version of the DNS protocol client tool class library, thereby implementing DNS query simulation requirements.
Alternatively, the period value is determined by the scheduleAtFixedRate () method in the Java delay/period execution thread pool.
S502, determining the performance of the flow detection system according to the flow inquiry responses sent by all the available simulation servers.
The target domain name system server receives the traffic query responses sent by all the available simulation servers, and determines whether the number of queries per second of the traffic query responses sent by all the available simulation servers is 50 ten thousand so as to detect the performance of the traffic detection system.
In the flow detection method provided in this embodiment, the target domain name server receives a flow query response sent by at least one available analog server, where the flow query response includes: the query number per second of the target domain name system server is determined according to the flow query responses sent by all the available simulation servers, so that the performance of the flow detection system is detected.
Embodiments of the present application also provide a computer-readable storage medium having stored therein computer instructions that, when executed on a computer, cause the computer to perform the method of the embodiments shown in fig. 3 to 5 described above.
Optionally, an embodiment of the present application further provides a chip for executing instructions, where the chip is configured to perform the method of the embodiment shown in fig. 3 to fig. 5.
The present application further provides a program product, which includes a computer program stored in a computer readable storage medium, from which at least one processor can read the computer program, and when the at least one processor executes the computer program, the method of the embodiments shown in fig. 3 to 5 can be implemented.
It will be appreciated that the various numerical numbers referred to in the embodiments of the present application are merely for ease of description and are not intended to limit the scope of the embodiments of the present application. In the embodiments of the present application, the sequence number of each process does not mean the sequence of execution sequence, and the execution sequence of each process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the embodiments of the present application.
Finally, it should be noted that: the above embodiments are only for illustrating the technical solution of the present application, and not for limiting the same; although the present application has been described in detail with reference to the foregoing embodiments, it should be understood by those of ordinary skill in the art that: the technical scheme described in the foregoing embodiments can be modified or some or all of the technical features thereof can be replaced by equivalents; such modifications and substitutions do not depart from the spirit of the corresponding technical solutions from the scope of the technical solutions of the embodiments of the present application.

Claims (7)

1. A flow sensing system, comprising: a control subsystem, middleware and simulator cluster interconnected;
the simulator cluster comprises: each simulation server is also connected with the control subsystem and used for sending respective state information to the control subsystem;
the control subsystem is used for sending a flow query request to at least one available simulation server in the simulator cluster through the middleware according to the state information of each simulation server;
the at least one available simulation server is further configured to detect, according to the received traffic query request, performance of the traffic detection system by communicating with a target domain name system server;
the control subsystem includes: the system comprises a user interaction interface, a detection module and an allocation module;
the user interaction interface is used for acquiring an externally initiated flow simulation task;
the detection module is used for detecting the state information of each simulation server in the simulator cluster and determining at least one available simulation server in the simulator cluster;
the distribution module is used for distributing flow inquiry requests to each available simulation server through the middleware according to the flow simulation tasks;
each available simulation server is specifically used for monitoring a flow query request queue, determining a query period according to a flow value in each received flow query request, and sending the flow query request to a target domain name system server according to the query period.
2. A flow rate detection method, comprising:
receiving a flow simulation task sent by the outside, wherein the flow simulation task comprises the following steps: a target flow value;
determining at least one available simulation server in a simulator cluster according to state information of each simulation server in the simulator cluster;
dividing the target flow value according to the number of the available simulation servers to obtain at least one flow value, wherein the number of the flow values is consistent with the number of the available simulation servers;
respectively sending flow inquiry requests to at least one available simulation server, wherein each available simulation server is used for monitoring a flow inquiry request queue, determining an inquiry period according to a flow value in the received flow inquiry requests, sending the flow inquiry requests to a target domain name system server according to the inquiry period, and detecting the performance of a flow detection system by communicating with the target domain name system server;
the sending the flow inquiry request to at least one available simulation server respectively comprises the following steps:
the traffic query requests are distributed to each available simulation server through middleware.
3. The method of claim 2, wherein the status information of each simulation server is periodic synchronization information of each simulation server in the simulator cluster, the periodic synchronization information comprising: load information and resource usage information of the simulation server.
4. A method according to claim 3, wherein said determining at least one available simulation server in a simulator cluster based on status information of each simulation server in the simulator cluster comprises:
determining at least one candidate simulation server which sends out periodic synchronization information in the simulator cluster;
and determining at least one available simulation server in the simulator cluster according to the load information and the resource use information of the at least one candidate simulation server.
5. The method of claim 2, wherein dividing the target flow value according to the number of available analog servers to obtain at least one flow value comprises:
and according to the number of the available simulation servers in the simulator cluster, equally dividing the target flow values to obtain at least one flow value with equal flow values.
6. The method according to any one of claims 2-5, further comprising:
receiving a traffic query response sent by the at least one available analog server, the traffic query response comprising: the number of queries per second for the target domain name system server;
and determining the performance of the flow detection system according to the flow inquiry responses sent by all the available simulation servers.
7. A computer readable storage medium having stored therein computer executable instructions which when executed by a processor are adapted to carry out the method of any of the preceding claims 2-6.
CN202011293214.4A 2020-11-18 2020-11-18 Flow detection system, method and storage medium Active CN112398694B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011293214.4A CN112398694B (en) 2020-11-18 2020-11-18 Flow detection system, method and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011293214.4A CN112398694B (en) 2020-11-18 2020-11-18 Flow detection system, method and storage medium

Publications (2)

Publication Number Publication Date
CN112398694A CN112398694A (en) 2021-02-23
CN112398694B true CN112398694B (en) 2024-02-20

Family

ID=74607356

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011293214.4A Active CN112398694B (en) 2020-11-18 2020-11-18 Flow detection system, method and storage medium

Country Status (1)

Country Link
CN (1) CN112398694B (en)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106453564A (en) * 2016-10-18 2017-02-22 北京京东尚科信息技术有限公司 Elastic cloud distributed massive request processing method, device and system
CN106789360A (en) * 2017-02-15 2017-05-31 中国互联网络信息中心 A kind of DNS flow simulations system
US9686158B1 (en) * 2013-03-13 2017-06-20 United Services Automobile Association (Usaa) Point to node in a multi-tiered middleware environment
CN108011994A (en) * 2017-12-15 2018-05-08 网宿科技股份有限公司 A kind of method and system of inquiry DNS records
CN109067938A (en) * 2018-10-15 2018-12-21 网宿科技股份有限公司 A kind of method and device for testing dns server
WO2019237288A1 (en) * 2018-06-13 2019-12-19 深圳前海达闼云端智能科技有限公司 Domain name resolution method and apparatus, and computer-readable storage medium
CN111030888A (en) * 2019-12-23 2020-04-17 中国移动通信集团内蒙古有限公司 Domain name system DNS capacity measuring method, device, equipment and medium

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10880370B2 (en) * 2018-11-27 2020-12-29 At&T Intellectual Property I, L.P. Virtual network manager system

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9686158B1 (en) * 2013-03-13 2017-06-20 United Services Automobile Association (Usaa) Point to node in a multi-tiered middleware environment
CN106453564A (en) * 2016-10-18 2017-02-22 北京京东尚科信息技术有限公司 Elastic cloud distributed massive request processing method, device and system
CN106789360A (en) * 2017-02-15 2017-05-31 中国互联网络信息中心 A kind of DNS flow simulations system
CN108011994A (en) * 2017-12-15 2018-05-08 网宿科技股份有限公司 A kind of method and system of inquiry DNS records
WO2019237288A1 (en) * 2018-06-13 2019-12-19 深圳前海达闼云端智能科技有限公司 Domain name resolution method and apparatus, and computer-readable storage medium
CN109067938A (en) * 2018-10-15 2018-12-21 网宿科技股份有限公司 A kind of method and device for testing dns server
CN111030888A (en) * 2019-12-23 2020-04-17 中国移动通信集团内蒙古有限公司 Domain name system DNS capacity measuring method, device, equipment and medium

Also Published As

Publication number Publication date
CN112398694A (en) 2021-02-23

Similar Documents

Publication Publication Date Title
US7185096B2 (en) System and method for cluster-sensitive sticky load balancing
US8874811B2 (en) System and method for providing a flexible buffer management interface in a distributed data grid
US7757236B1 (en) Load-balancing framework for a cluster
US7827217B2 (en) Method and system for a grid-enabled virtual machine with movable objects
US8769132B2 (en) Flexible failover policies in high availability computing systems
EP1577770A2 (en) Method and system for grid-enabled virtual machines with distributed management of applications
US7434087B1 (en) Graceful failover using augmented stubs
US20050188087A1 (en) Parallel processing system
US20040078782A1 (en) Workload management of stateful program entities
US6968359B1 (en) Merge protocol for clustered computer system
US8301599B2 (en) Cluster arrangement
JP2001331333A (en) Computer system and method for controlling computer system
US20110208796A1 (en) Using distributed queues in an overlay network
US9104501B2 (en) Preparing parallel tasks to use a synchronization register
CN103067293A (en) Method and system for multiplex and connection management of a load balancer
US10367676B1 (en) Stable leader selection for distributed services
US8601101B1 (en) Cluster communications framework using peer-to-peer connections
US20040068729A1 (en) Non-hierarchical collaborative computing platform
KR20200080458A (en) Cloud multi-cluster apparatus
US20080192643A1 (en) Method for managing shared resources
CN112398694B (en) Flow detection system, method and storage medium
van Albada et al. Dynamite-blasting obstacles to parallel cluster computing
US7299265B2 (en) Distributed computing system selecting a service master for each service by an elected global master for managing requests for that service
US7769844B2 (en) Peer protocol status query in clustered computer system
CN114064317A (en) Node calling method in distributed system and related device

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant